aboutsummaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/3proxy/APKBUILD15
-rw-r--r--testing/6cord/6cord.post-install4
-rw-r--r--testing/6cord/APKBUILD27
-rw-r--r--testing/9base/APKBUILD8
-rw-r--r--testing/a2jmidid/APKBUILD10
-rw-r--r--testing/abc/APKBUILD29
-rw-r--r--testing/ace-of-penguins/APKBUILD74
-rw-r--r--testing/ace-of-penguins/ace.patch76
-rw-r--r--testing/ace-of-penguins/canfield.desktop9
-rw-r--r--testing/ace-of-penguins/fix-font.patch24
-rw-r--r--testing/ace-of-penguins/freecell.desktop9
-rw-r--r--testing/ace-of-penguins/golf.desktop9
-rw-r--r--testing/ace-of-penguins/mastermind.desktop9
-rw-r--r--testing/ace-of-penguins/merlin.desktop9
-rw-r--r--testing/ace-of-penguins/minesweeper.desktop9
-rw-r--r--testing/ace-of-penguins/pegged.desktop9
-rw-r--r--testing/ace-of-penguins/penguins.desktop9
-rw-r--r--testing/ace-of-penguins/solitaire.desktop9
-rw-r--r--testing/ace-of-penguins/spider.desktop9
-rw-r--r--testing/ace-of-penguins/taipei-editor.desktop9
-rw-r--r--testing/ace-of-penguins/taipei.desktop9
-rw-r--r--testing/ace-of-penguins/thornq.desktop9
-rw-r--r--testing/acme-tiny/APKBUILD36
-rw-r--r--testing/acmetool/APKBUILD26
-rw-r--r--testing/acmetool/go.mod16
-rw-r--r--testing/acmetool/go.sum16
-rw-r--r--testing/actionlint/APKBUILD38
-rw-r--r--testing/admesh/APKBUILD11
-rw-r--r--testing/advancemame/APKBUILD56
-rw-r--r--testing/advancemame/formatsec.patch13
-rw-r--r--testing/advancescan/0001-cpp17-throw.patch276
-rw-r--r--testing/advancescan/APKBUILD24
-rw-r--r--testing/adwaita-qt6/APKBUILD35
-rw-r--r--testing/aercbook/APKBUILD30
-rw-r--r--testing/aero2solver/APKBUILD64
-rwxr-xr-xtesting/aero2solver/aero2solver.confd14
-rwxr-xr-xtesting/aero2solver/aero2solver.initd27
-rw-r--r--testing/aero2solver/aero2solver.logrotate5
-rwxr-xr-xtesting/aero2solver/aero2solver.pre-install6
-rw-r--r--testing/afetch/APKBUILD4
-rw-r--r--testing/agate/APKBUILD44
-rw-r--r--testing/agate/agate.confd8
-rw-r--r--testing/agate/agate.initd21
-rw-r--r--testing/agate/agate.pre-install6
-rw-r--r--testing/agg/APKBUILD4
-rw-r--r--testing/aide/APKBUILD42
-rw-r--r--testing/airsonic-advanced/APKBUILD13
-rw-r--r--testing/airsonic-advanced/maven.patch8
-rw-r--r--testing/alarmwakeup/APKBUILD43
-rw-r--r--testing/alda/APKBUILD47
-rw-r--r--testing/alda/alda-player3
-rw-r--r--testing/alex/APKBUILD42
-rw-r--r--testing/alex/fix-tests-ghc-9.0.patch22
-rw-r--r--testing/alpine-lift/APKBUILD21
-rw-r--r--testing/alps/APKBUILD45
-rw-r--r--testing/alps/alps.confd11
-rw-r--r--testing/alps/alps.initd23
-rw-r--r--testing/alps/alps.pre-install6
-rw-r--r--testing/alps/fix-statics-dir.patch26
-rw-r--r--testing/alsa-ucm-conf-asahi/APKBUILD20
-rw-r--r--testing/alttab/APKBUILD6
-rw-r--r--testing/amazon-ssm-agent/001_sanitize_makefile.patch74
-rw-r--r--testing/amazon-ssm-agent/APKBUILD58
-rw-r--r--testing/amazon-ssm-agent/amazon-ssm-agent.initd21
-rw-r--r--testing/amdgpu-fan/APKBUILD36
-rw-r--r--testing/ameba/APKBUILD27
-rw-r--r--testing/amiitool/APKBUILD10
-rw-r--r--testing/amiitool/zero-gitversion.patch15
-rw-r--r--testing/ampy/APKBUILD37
-rw-r--r--testing/amsynth/APKBUILD40
-rw-r--r--testing/amule/APKBUILD38
-rw-r--r--testing/amule/fix-gcc11-include.patch10
-rw-r--r--testing/anarch/APKBUILD28
-rw-r--r--testing/anari-sdk/APKBUILD64
-rw-r--r--testing/android-apkeep/APKBUILD50
-rw-r--r--testing/android-apktool/APKBUILD11
-rw-r--r--testing/android-file-transfer/APKBUILD46
-rw-r--r--testing/android-translation-layer/APKBUILD48
-rw-r--r--testing/angband/APKBUILD54
-rw-r--r--testing/anki/APKBUILD155
-rw-r--r--testing/anki/disable-git-checks.patch30
-rw-r--r--testing/anki/dprint-update-for-musl-aarch64.patch11
-rw-r--r--testing/anki/no-update.patch13
-rw-r--r--testing/anki/strip-formatter-deps.patch9
-rw-r--r--testing/anki/strip-type-checking-deps.patch23
-rw-r--r--testing/ansible-bender/APKBUILD48
-rw-r--r--testing/ansiweather/APKBUILD25
-rw-r--r--testing/antibody/APKBUILD23
-rw-r--r--testing/apache-mod-auth-gssapi/APKBUILD12
-rw-r--r--testing/apache-mod-auth-openidc/APKBUILD31
-rw-r--r--testing/apache-mod-md/APKBUILD36
-rw-r--r--testing/apache2-mod-perl/APKBUILD11
-rw-r--r--testing/apache2-mod-perl/mod_perl-2.0.11-fix_building_with_perl-5.33.7.patch22
-rw-r--r--testing/aparte/APKBUILD41
-rw-r--r--testing/apk-snap/APKBUILD32
-rwxr-xr-xtesting/apk-snap/apk-snap.post-deinstall36
-rwxr-xr-xtesting/apk-snap/apk-snap.post-install46
-rwxr-xr-xtesting/apk-snap/apk-snap.post-upgrade46
-rw-r--r--testing/apk-tools3/APKBUILD85
-rw-r--r--testing/apmpkg/APKBUILD32
-rw-r--r--testing/apollo/APKBUILD33
-rw-r--r--testing/apollo/apollo.initd26
-rw-r--r--testing/aports-glmr/APKBUILD6
-rw-r--r--testing/apostrophe/APKBUILD48
-rw-r--r--testing/apostrophe/dont-require-py-gettext.patch13
-rw-r--r--testing/apprise/APKBUILD40
-rw-r--r--testing/appstream-generator/APKBUILD33
-rw-r--r--testing/aprx/APKBUILD49
-rw-r--r--testing/aprx/aprx.confd5
-rw-r--r--testing/aprx/aprx.initd27
-rw-r--r--testing/aprx/aprx.post-install4
-rw-r--r--testing/aprx/aprx.pre-install8
-rw-r--r--testing/apt-dater/APKBUILD4
-rw-r--r--testing/apt-mirror/APKBUILD23
-rw-r--r--testing/aptdec/APKBUILD52
-rw-r--r--testing/aptdec/soname-dynlink.patch37
-rw-r--r--testing/apulse/APKBUILD2
-rw-r--r--testing/aqemu/APKBUILD36
-rw-r--r--testing/aqemu/appdata.patch13
-rw-r--r--testing/aqemu/fix-qt-segfault.patch121
-rw-r--r--testing/aravis/APKBUILD58
-rw-r--r--testing/aravis/aravis-0.8.22.patch40
-rw-r--r--testing/arc-theme/APKBUILD184
-rw-r--r--testing/archiso/APKBUILD35
-rw-r--r--testing/archlinux-keyring/APKBUILD19
-rw-r--r--testing/archlinux-keyring/archlinux-keyring.post-install7
l---------testing/archlinux-keyring/archlinux-keyring.post-upgrade1
-rw-r--r--testing/arcticons-icon-theme/APKBUILD35
-rw-r--r--testing/ardour/APKBUILD40
-rw-r--r--testing/ardour/always-link-execinfo.patch13
-rw-r--r--testing/ardour/disable-backtrace.patch13
-rw-r--r--testing/arj/APKBUILD52
-rw-r--r--testing/armagetronad/APKBUILD5
-rw-r--r--testing/arp-scan/APKBUILD37
-rw-r--r--testing/art_standalone/APKBUILD77
-rw-r--r--testing/artyfx/APKBUILD48
-rw-r--r--testing/artyfx/fix-sse.patch20
-rw-r--r--testing/asahi-audio/APKBUILD31
-rw-r--r--testing/asahi-fwextract/APKBUILD26
-rw-r--r--testing/asahi-scripts/APKBUILD28
-rw-r--r--testing/asciinema-rs/APKBUILD22
-rw-r--r--testing/asciinema-rs/openssl3.patch2546
-rw-r--r--testing/aspell-es/APKBUILD29
-rw-r--r--testing/asteroid-alarmclock/APKBUILD14
-rw-r--r--testing/asteroid-btsyncd/0001-batteryservice-use-systemsettings.patch94
-rw-r--r--testing/asteroid-btsyncd/APKBUILD17
-rw-r--r--testing/asteroid-calculator/APKBUILD14
-rw-r--r--testing/asteroid-calendar/APKBUILD14
-rw-r--r--testing/asteroid-camera/APKBUILD13
-rw-r--r--testing/asteroid-compass/APKBUILD16
-rw-r--r--testing/asteroid-diamonds/APKBUILD39
-rw-r--r--testing/asteroid-flashlight/APKBUILD14
-rw-r--r--testing/asteroid-hrm/APKBUILD14
-rw-r--r--testing/asteroid-icons-ion/APKBUILD13
-rw-r--r--testing/asteroid-languages/APKBUILD8
-rw-r--r--testing/asteroid-launcher/0001-use-mce-battery-api-and-fix-deprecation-issues.patch65
-rw-r--r--testing/asteroid-launcher/APKBUILD41
-rw-r--r--testing/asteroid-music/APKBUILD14
-rw-r--r--testing/asteroid-settings/APKBUILD14
-rw-r--r--testing/asteroid-stopwatch/APKBUILD14
-rw-r--r--testing/asteroid-timer/APKBUILD14
-rw-r--r--testing/asteroid-wallpapers/APKBUILD19
-rw-r--r--testing/asteroid-weather/APKBUILD14
-rw-r--r--testing/asuran-cli/APKBUILD41
-rw-r--r--testing/asymptote/APKBUILD17
-rw-r--r--testing/asymptote/fix-nullopt-not-declared.patch14
-rw-r--r--testing/async-profiler/APKBUILD39
-rw-r--r--testing/async-profiler/thread-smoke-test_should_do_some_real_work.patch32
-rw-r--r--testing/atari800/APKBUILD9
-rw-r--r--testing/atlantik/APKBUILD53
-rw-r--r--testing/atlas/APKBUILD53
-rw-r--r--testing/atomicparsley/APKBUILD26
-rw-r--r--testing/atool/APKBUILD2
-rw-r--r--testing/aubio/APKBUILD36
-rw-r--r--testing/aubio/unversioned-python.patch24
-rw-r--r--testing/aufs-util/APKBUILD6
-rw-r--r--testing/authenticator-rs/APKBUILD37
-rw-r--r--testing/autobrr/APKBUILD58
-rw-r--r--testing/autobrr/autobrr.confd9
-rw-r--r--testing/autobrr/autobrr.initd22
-rw-r--r--testing/autobrr/autobrr.pre-install6
-rw-r--r--testing/autorandr/APKBUILD51
-rw-r--r--testing/autorestic/APKBUILD31
-rw-r--r--testing/autoscan/APKBUILD50
-rw-r--r--testing/autoscan/autoscan.confd6
-rw-r--r--testing/autoscan/autoscan.initd29
-rw-r--r--testing/autoscan/autoscan.pre-install6
-rw-r--r--testing/autotiling/APKBUILD30
-rw-r--r--testing/autotrash/APKBUILD29
-rw-r--r--testing/avara/APKBUILD54
-rw-r--r--testing/avara/avara2
-rw-r--r--testing/avara/fix-includes.patch23
-rw-r--r--testing/avara/nullptr.patch17
-rw-r--r--testing/avarice/APKBUILD27
-rw-r--r--testing/avdl/APKBUILD19
-rw-r--r--testing/avida/APKBUILD19
-rw-r--r--testing/avida/musl123.patch13
-rw-r--r--testing/avr-libc-git/APKBUILD41
-rw-r--r--testing/avra/APKBUILD27
-rw-r--r--testing/aws-session-manager-plugin/001_correct_makefile.patch50
-rw-r--r--testing/aws-session-manager-plugin/APKBUILD55
-rw-r--r--testing/aws-session-manager-plugin/session-manager-plugin.initd20
-rw-r--r--testing/aws-session-manager-plugin/ssmcli.initd20
-rw-r--r--testing/awscli-plugin-endpoint/APKBUILD27
-rw-r--r--testing/awslogs/APKBUILD26
-rw-r--r--testing/azorius/APKBUILD74
-rw-r--r--testing/azorius/azorius.confd16
-rw-r--r--testing/azorius/azorius.initd94
-rw-r--r--testing/azorius/azorius.pre-install11
-rw-r--r--testing/azorius/upgradedb.patch11
-rw-r--r--testing/azote/APKBUILD32
-rw-r--r--testing/azpainter/APKBUILD37
-rw-r--r--testing/azure-iot-sdk-c-static/001-c-utility.patch13
-rw-r--r--testing/azure-iot-sdk-c-static/APKBUILD66
-rw-r--r--testing/b2sum/APKBUILD2
-rw-r--r--testing/b3sum/APKBUILD33
-rw-r--r--testing/b4/APKBUILD32
-rw-r--r--testing/babashka/APKBUILD76
-rw-r--r--testing/babeld/APKBUILD33
-rw-r--r--testing/babeld/babeld.confd5
-rw-r--r--testing/babeld/babeld.initd17
-rw-r--r--testing/backup-manager/APKBUILD2
-rw-r--r--testing/baikal/APKBUILD69
-rw-r--r--testing/baikal/baikal_sqlite.post-install10
-rw-r--r--testing/bake/01-no-backtrace-on-musl.patch11
-rw-r--r--testing/bake/APKBUILD29
-rw-r--r--testing/bakelite/APKBUILD23
-rw-r--r--testing/bananui-clock/APKBUILD34
-rw-r--r--testing/bananui-daemons/APKBUILD33
-rw-r--r--testing/bananui-shell/APKBUILD43
-rw-r--r--testing/bananui/APKBUILD60
-rw-r--r--testing/bankstown-lv2/APKBUILD28
-rw-r--r--testing/barcode/APKBUILD17
-rw-r--r--testing/barcode/common.patch25
-rw-r--r--testing/barman/APKBUILD18
-rw-r--r--testing/barnyard2/APKBUILD5
-rw-r--r--testing/barrier/0001-cstddef.patch24
-rw-r--r--testing/barrier/1-disable-test-include.patch14
-rw-r--r--testing/barrier/APKBUILD38
-rw-r--r--testing/barrier/fix-riscv64-build.patch48
-rw-r--r--testing/bartib/APKBUILD34
-rw-r--r--testing/base64c/APKBUILD47
-rw-r--r--testing/base64c/no-valgrind.patch26
-rw-r--r--testing/bazel2/APKBUILD90
-rw-r--r--testing/bazel3/APKBUILD99
-rw-r--r--testing/bazel3/backport-java11-support.patch600
-rw-r--r--testing/bazel3/patch_TEMP_FAILURE_RETRY.patch20
-rw-r--r--testing/bazel4/APKBUILD138
-rw-r--r--testing/bazel4/patch_default_system_java_toolchain.patch68
-rw-r--r--testing/bazel4/patch_do_not_use_glibc_prebuilt.patch64
-rw-r--r--testing/bazel4/patch_fix_jdk_13.patch32
-rw-r--r--testing/bazel4/patch_ftbfs_gcc11_1.patch24
-rw-r--r--testing/bazel4/patch_ftbfs_gcc11_2.patch31
-rw-r--r--testing/bazel4/patch_ftbfs_gcc11_3.patch38
-rw-r--r--testing/bazel4/patch_ftbfs_gcc11_4.patch43
-rw-r--r--testing/bazel4/patch_ftbfs_gcc11_5.patch34
-rw-r--r--testing/bazel4/patch_remove_illegal_reflective.patch33
-rw-r--r--testing/bazel4/patch_stop_hardcoding_verify_none_1.patch78
-rw-r--r--testing/bazel4/patch_stop_hardcoding_verify_none_2.patch53
-rw-r--r--testing/bazel5/0001-Do-not-use-prebuilt-binaries.patch35
-rw-r--r--testing/bazel5/0002-Prefer-local_jdk-instead-of-remote_jdk11.patch75
-rw-r--r--testing/bazel5/0003-Make-generate_bash_completion-compatible-with-busybo.patch28
-rw-r--r--testing/bazel5/0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch34
-rw-r--r--testing/bazel5/APKBUILD70
-rw-r--r--testing/bazel6/0001-Do-not-use-prebuilt-binaries.patch20
-rw-r--r--testing/bazel6/0002-Prefer-local_jdk-instead-of-remote_jdk11.patch61
-rw-r--r--testing/bazel6/0003-Make-generate_bash_completion-compatible-with-busybo.patch13
-rw-r--r--testing/bazel6/0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch22
-rw-r--r--testing/bazel6/APKBUILD68
-rw-r--r--testing/bchunk/APKBUILD2
-rw-r--r--testing/bcnm/APKBUILD8
-rw-r--r--testing/bdfr/APKBUILD45
-rw-r--r--testing/beancount-language-server/APKBUILD30
-rw-r--r--testing/beard/APKBUILD6
-rw-r--r--testing/bees/10-pthread_getname1.patch36
-rw-r--r--testing/bees/APKBUILD13
-rw-r--r--testing/bees/no-werror.patch11
-rw-r--r--testing/bees/ppc64le_fix_min_compare.patch11
-rw-r--r--testing/belcard/APKBUILD31
-rw-r--r--testing/belcard/fix-cmake-path.patch13
-rw-r--r--testing/belle-sip/APKBUILD30
-rw-r--r--testing/belr/APKBUILD19
-rw-r--r--testing/berry-lang/APKBUILD31
-rw-r--r--testing/bestline/APKBUILD31
-rw-r--r--testing/bettercap/APKBUILD18
-rw-r--r--testing/betula/APKBUILD52
-rw-r--r--testing/betula/betula.confd3
-rw-r--r--testing/betula/betula.initd18
-rw-r--r--testing/betula/betula.pre-install9
-rw-r--r--testing/bgpq4/APKBUILD34
-rw-r--r--testing/bgs/APKBUILD2
-rw-r--r--testing/biboumi/APKBUILD36
-rw-r--r--testing/bigbang/APKBUILD53
-rwxr-xr-xtesting/bigbang/cmakelists.patch39
-rw-r--r--testing/bindfs/APKBUILD40
-rw-r--r--testing/bindfs/musl-getmntent-issue.patch18
-rw-r--r--testing/binwalk/APKBUILD14
-rw-r--r--testing/biome/APKBUILD42
-rw-r--r--testing/biometryd/0001-Add-missing-headers-for-gcc-13.patch37
-rw-r--r--testing/biometryd/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch125
-rw-r--r--testing/biometryd/0004-disable_flaky_test.patch13
-rw-r--r--testing/biometryd/0005-add-missing-types-header.patch24
-rw-r--r--testing/biometryd/0006-direct-path-to-qmlplugindump.patch25
-rw-r--r--testing/biometryd/APKBUILD65
-rw-r--r--testing/bionic_translation/APKBUILD39
-rw-r--r--testing/birdtray/APKBUILD2
-rw-r--r--testing/bitlbee-facebook/APKBUILD11
-rw-r--r--testing/bitlbee-mastodon/APKBUILD6
-rw-r--r--testing/bitritter/APKBUILD53
-rw-r--r--testing/bitritter/bitritter.desktop12
-rw-r--r--testing/bitrot/APKBUILD36
-rw-r--r--testing/bitwarden_rs/APKBUILD46
-rw-r--r--testing/bitwarden_rs/bitwarden_rs.confd287
-rw-r--r--testing/bitwarden_rs/bitwarden_rs.initd16
-rw-r--r--testing/bitwarden_rs/bitwarden_rs.pre-install7
-rw-r--r--testing/blackbox/APKBUILD6
-rw-r--r--testing/blackbox_exporter/APKBUILD50
-rw-r--r--testing/blackbox_exporter/blackbox.yml33
-rw-r--r--testing/blackbox_exporter/blackbox_exporter.confd6
-rw-r--r--testing/blackbox_exporter/blackbox_exporter.initd16
-rw-r--r--testing/blanket/APKBUILD36
-rw-r--r--testing/blanket/try-set-locale.patch36
-rw-r--r--testing/blender/0001-musl-fixes.patch96
-rw-r--r--testing/blender/0002-fix-linking-issue.patch23
-rw-r--r--testing/blender/0003-increase-thread-stack-size-for-musl.patch48
-rw-r--r--testing/blender/0004-OpenEXR-3.patch50
-rw-r--r--testing/blender/APKBUILD151
-rw-r--r--testing/bliss/APKBUILD36
-rw-r--r--testing/blocky/APKBUILD33
-rw-r--r--testing/blosc/APKBUILD39
-rw-r--r--testing/bm818-tools/APKBUILD47
-rw-r--r--testing/bmkdep/APKBUILD32
-rw-r--r--testing/boa-cli/APKBUILD38
-rw-r--r--testing/bobcat/APKBUILD12
-rw-r--r--testing/boinc/APKBUILD69
-rw-r--r--testing/bombadillo/APKBUILD32
-rw-r--r--testing/bonzomatic/APKBUILD39
-rw-r--r--testing/bootinfo/APKBUILD29
-rw-r--r--testing/bootloose/APKBUILD31
-rw-r--r--testing/bootterm/APKBUILD2
-rw-r--r--testing/bordeaux/APKBUILD73
-rw-r--r--testing/bordeaux/bordeaux.confd9
-rw-r--r--testing/bordeaux/bordeaux.initd27
-rw-r--r--testing/bore/APKBUILD36
-rw-r--r--testing/boson/APKBUILD25
-rw-r--r--testing/boxed-cpp/APKBUILD35
-rw-r--r--testing/boxes/APKBUILD11
-rw-r--r--testing/boxes/fix-test.patch36
-rw-r--r--testing/brial/APKBUILD36
-rw-r--r--testing/brltty/269.patch49
-rw-r--r--testing/brltty/APKBUILD19
-rw-r--r--testing/btcd/APKBUILD19
-rw-r--r--testing/btfs/APKBUILD6
-rw-r--r--testing/btpd/APKBUILD6
-rw-r--r--testing/buf/APKBUILD73
-rw-r--r--testing/buffyboard/APKBUILD45
-rw-r--r--testing/bugsquish/APKBUILD33
-rw-r--r--testing/bugsquish/bugsquish-icon.xpm59
-rw-r--r--testing/bugsquish/bugsquish.desktop12
-rw-r--r--testing/buildcache/APKBUILD40
-rw-r--r--testing/buildcache/include-cstdint.patch20
-rw-r--r--testing/bump2version/APKBUILD8
-rw-r--r--testing/bumprace/APKBUILD56
-rw-r--r--testing/bumprace/bumprace-icon.xpm134
-rw-r--r--testing/bumprace/bumprace.desktop13
-rw-r--r--testing/burp/APKBUILD17
-rw-r--r--testing/butane/APKBUILD28
-rw-r--r--testing/bwrap-oci/APKBUILD2
-rw-r--r--testing/c2rust/0001-link-clang-dynamic.patch232
-rw-r--r--testing/c2rust/0002-use-system-tinycbor.patch64
-rw-r--r--testing/c2rust/APKBUILD80
-rw-r--r--testing/c2rust/df42b55eae9ecfd4380004a513a10526ef8776cf.patch183
-rw-r--r--testing/cachefilesd-inotify/APKBUILD33
-rw-r--r--testing/cachefilesd-inotify/cachefilesd.initd53
-rw-r--r--testing/cadence/APKBUILD15
-rw-r--r--testing/cadence/fix-QPainterPath.patch34
-rw-r--r--testing/caffeine-ng/APKBUILD52
-rw-r--r--testing/caffeine-ng/mandir.patch13
-rw-r--r--testing/calf/APKBUILD49
-rw-r--r--testing/calibre/0001-calibre-no-update.patch25
-rw-r--r--testing/calibre/APKBUILD115
-rw-r--r--testing/caps/APKBUILD24
-rw-r--r--testing/caps/patch-basics.h.patch36
-rw-r--r--testing/caps2esc/APKBUILD37
-rw-r--r--testing/carapace/APKBUILD40
-rw-r--r--testing/care/10-tests-musl-compat.patch26
-rw-r--r--testing/care/APKBUILD46
-rw-r--r--testing/cargo-c/APKBUILD42
-rw-r--r--testing/cargo-crev/APKBUILD39
-rw-r--r--testing/cargo-crev/use-index-guix-from-crates.io.patch38
-rw-r--r--testing/cargo-generate/APKBUILD47
-rw-r--r--testing/cargo-generate/remove-cargo-husky.patch53
-rw-r--r--testing/cargo-leptos/APKBUILD44
-rw-r--r--testing/cargo-machete/APKBUILD40
-rw-r--r--testing/cargo-run-bin/APKBUILD41
-rw-r--r--testing/cargo-shuttle/APKBUILD49
-rw-r--r--testing/cargo-update/APKBUILD51
-rw-r--r--testing/cargo-vendor-filterer/APKBUILD37
-rw-r--r--testing/castero/APKBUILD45
-rw-r--r--testing/castor/APKBUILD11
-rw-r--r--testing/catcodec/APKBUILD30
-rw-r--r--testing/catdoc/APKBUILD2
-rw-r--r--testing/catfish/APKBUILD50
-rw-r--r--testing/catgirl/APKBUILD28
-rw-r--r--testing/cava/APKBUILD11
-rw-r--r--testing/cbatticon/APKBUILD25
-rw-r--r--testing/ccrtp/APKBUILD32
-rw-r--r--testing/ccze/APKBUILD14
-rw-r--r--testing/cdba/APKBUILD50
-rw-r--r--testing/cddlib/APKBUILD45
-rw-r--r--testing/cdist/APKBUILD33
-rw-r--r--testing/cdist/python3.10-support.patch47
-rw-r--r--testing/cdogs-sdl/APKBUILD42
-rw-r--r--testing/cdogs-sdl/no-werror.patch13
-rw-r--r--testing/celery/APKBUILD46
-rw-r--r--testing/celery/celery.confd4
-rw-r--r--testing/celery/celery.initd16
-rw-r--r--testing/celery/celery.pre-install7
-rw-r--r--testing/cemu/APKBUILD107
-rw-r--r--testing/cemu/cmake-fixes.patch21
-rw-r--r--testing/cemu/execinfo.patch42
-rw-r--r--testing/certbot-dns-njalla/APKBUILD38
-rw-r--r--testing/certigo/APKBUILD32
-rw-r--r--testing/certstrap/APKBUILD37
-rw-r--r--testing/cfssl/APKBUILD18
-rw-r--r--testing/cgal/APKBUILD29
-rw-r--r--testing/cgiirc/APKBUILD2
-rw-r--r--testing/cgiirc/cgiirc.post-install43
-rw-r--r--testing/cglm/APKBUILD41
-rw-r--r--testing/cgo/APKBUILD4
-rw-r--r--testing/chamo/APKBUILD70
-rw-r--r--testing/charls/APKBUILD34
-rw-r--r--testing/checkpolicy/APKBUILD9
-rw-r--r--testing/chelf/APKBUILD24
-rw-r--r--testing/cherrytree/APKBUILD63
-rw-r--r--testing/cherrytree/fmt8.patch13
-rw-r--r--testing/chez-scheme/64bit-ti3le-constant.patch12
-rw-r--r--testing/chez-scheme/64bit-ti3le-equates.patch12
-rw-r--r--testing/chez-scheme/APKBUILD55
-rw-r--r--testing/chiaki/APKBUILD32
-rw-r--r--testing/chicago95/APKBUILD38
-rw-r--r--testing/chim/APKBUILD42
-rw-r--r--testing/chocolate-doom/APKBUILD4
-rw-r--r--testing/cilium-cli/APKBUILD48
-rw-r--r--testing/cimg/APKBUILD21
-rw-r--r--testing/cinny-web/APKBUILD35
-rw-r--r--testing/cinny/0001-disable-tauri-updater.patch25
-rw-r--r--testing/cinny/APKBUILD83
-rw-r--r--testing/cinny/cinny.desktop13
-rw-r--r--testing/cinny/in.cinny.Cinny.appdata.xml.in59
-rw-r--r--testing/cjose/APKBUILD49
-rw-r--r--testing/ck/APKBUILD57
-rw-r--r--testing/ckb-next/983.patch19
-rw-r--r--testing/ckb-next/APKBUILD63
-rw-r--r--testing/clapper/APKBUILD36
-rw-r--r--testing/clatd/APKBUILD27
-rw-r--r--testing/clementine/APKBUILD28
-rw-r--r--testing/clementine/cxx17.patch73
-rw-r--r--testing/clevis-extra-pins/APKBUILD26
-rw-r--r--testing/clevis/APKBUILD46
-rw-r--r--testing/click/0001-configure.ac-fix-building-against-BusyBox-sed.patch34
-rw-r--r--testing/click/APKBUILD64
-rw-r--r--testing/clifm/APKBUILD25
-rw-r--r--testing/clinfo/APKBUILD4
-rw-r--r--testing/cliphist/APKBUILD28
-rw-r--r--testing/clipit/APKBUILD7
-rw-r--r--testing/clipman/APKBUILD26
-rw-r--r--testing/cliquer/APKBUILD44
-rw-r--r--[-rwxr-xr-x]testing/cln/APKBUILD54
-rw-r--r--testing/closure-compiler/APKBUILD32
-rw-r--r--testing/closure-compiler/closure-compiler4
-rw-r--r--testing/cloud-hypervisor/APKBUILD37
-rw-r--r--testing/cloudflared/APKBUILD64
-rw-r--r--testing/cloudflared/cloudflared.confd1
-rw-r--r--testing/cloudflared/cloudflared.initd12
-rw-r--r--testing/cloudflared/cloudflared.pre-install6
-rw-r--r--testing/cloudflared/config.yml3
-rw-r--r--testing/cloudflared/goflags.patch13
-rw-r--r--testing/cloudfoundry-cli/APKBUILD17
-rw-r--r--testing/cloudfoundry-cli/fix-cgo.patch30
-rw-r--r--testing/cluster-glue/APKBUILD3
-rw-r--r--testing/cm256cc/APKBUILD46
-rw-r--r--testing/cmusfm/APKBUILD11
-rw-r--r--testing/coccinelle/APKBUILD61
-rw-r--r--testing/coccinelle/unit-test-score.binbin0 -> 18964 bytes
-rw-r--r--testing/cocogitto/APKBUILD64
-rw-r--r--testing/code-oss/APKBUILD160
-rwxr-xr-xtesting/code-oss/code-oss.post-install10
-rw-r--r--testing/code-oss/electron21.patch125
-rw-r--r--testing/code-oss/enable-extensions.patch15
-rw-r--r--testing/code-oss/launcher7
-rw-r--r--testing/code-oss/no-git.patch11
-rw-r--r--testing/code-oss/no-res.patch.noauto15
-rw-r--r--testing/code-oss/no-source-maps.patch23
-rw-r--r--testing/code-oss/system-electron.patch.noauto16
-rw-r--r--testing/code-oss/webpack-hash.patch.noauto11
-rw-r--r--testing/codeberg-cli/APKBUILD47
-rw-r--r--testing/codeblocks/0001-v20.03-r12008.patch22
-rw-r--r--testing/codeblocks/0002-v20.03-r12012.patch140
-rw-r--r--testing/codeblocks/0003-fix-missing-sentinel.patch37
-rw-r--r--testing/codeblocks/0004-delete-wxpropgrid.patch188
-rw-r--r--testing/codeblocks/0005-fix-pkgconfig-codeblocks-version.patch11
-rw-r--r--testing/codeblocks/0006-fix-openfileslistplugin-gcc11.patch25
-rw-r--r--testing/codeblocks/APKBUILD234
-rw-r--r--testing/cog/APKBUILD48
-rw-r--r--testing/coin/APKBUILD10
-rw-r--r--testing/colorpicker/APKBUILD2
-rw-r--r--testing/comics-downloader/APKBUILD21
-rw-r--r--testing/comics-downloader/fixtests.patch67
-rw-r--r--testing/commoncpp/APKBUILD47
-rw-r--r--testing/compiz/APKBUILD107
-rw-r--r--testing/compiz/basename.patch25
-rw-r--r--testing/compiz/boost.patch27
-rw-r--r--testing/compiz/gtest.patch101
-rw-r--r--testing/compiz/libgen.patch12
-rw-r--r--testing/compiz/opengl.patch60
-rw-r--r--testing/compiz/protobuf.patch12
-rw-r--r--testing/compiz/startup-notification-long.patch19
-rw-r--r--testing/compton-conf/APKBUILD6
-rw-r--r--testing/conduit/APKBUILD66
-rw-r--r--testing/conduit/conduit.confd5
-rw-r--r--testing/conduit/conduit.initd18
-rw-r--r--testing/conduit/conduit.pre-install6
-rw-r--r--testing/conduit/conduit.toml50
-rw-r--r--testing/conduit/riscv64-ring.patch.noauto52
-rw-r--r--testing/conduit/system-sqlite.patch25
-rw-r--r--testing/confy/APKBUILD35
-rw-r--r--testing/conntracct/APKBUILD20
-rw-r--r--testing/conntracct/conntracct.initd1
-rw-r--r--testing/conntracct/fix-cgo.patch10
-rw-r--r--testing/consolation/APKBUILD31
-rw-r--r--testing/consolation/consolation.initd29
-rw-r--r--testing/console_bridge/APKBUILD6
-rw-r--r--testing/consul-replicate/APKBUILD23
-rw-r--r--testing/contour/APKBUILD82
-rw-r--r--testing/contour/libunicode-fix-catch-in-cmake.patch19
-rw-r--r--testing/convert2json/APKBUILD41
-rw-r--r--testing/copyq/APKBUILD41
-rw-r--r--testing/coq/APKBUILD72
-rw-r--r--testing/coreboot-ectool/APKBUILD26
-rw-r--r--testing/coreboot-ectool/fix-makefile.patch22
-rw-r--r--testing/coreboot-tools/APKBUILD74
-rw-r--r--testing/corectrl/APKBUILD46
-rw-r--r--testing/corerad/APKBUILD40
-rw-r--r--testing/corerad/corerad.initd13
-rw-r--r--testing/corerad/corerad.pre-install6
-rw-r--r--testing/corkscrew/APKBUILD54
-rw-r--r--testing/corkscrew/corkscrew-2.0-from-debian-readme.patch20
-rw-r--r--testing/corkscrew/corkscrew-2.0-typo.patch11
-rw-r--r--testing/corkscrew/corkscrew.197
-rw-r--r--testing/cosmopolitan/APKBUILD52
-rw-r--r--testing/cosmopolitan/no-clang-test.patch12
-rw-r--r--testing/coventry/APKBUILD49
-rw-r--r--testing/coventry/coventry.initd26
-rw-r--r--testing/cowsay/APKBUILD2
-rw-r--r--testing/coxeter/APKBUILD49
-rw-r--r--testing/coxeter/add-sagemath-interface.patch101
-rw-r--r--testing/coxeter/makefile12
-rw-r--r--testing/coxeter/test-input9
-rw-r--r--testing/coxeter/test-output13
-rw-r--r--testing/cozy/APKBUILD58
-rw-r--r--testing/cozy/fix-legacy-version.patch76
-rw-r--r--testing/cpplint/APKBUILD42
-rw-r--r--testing/cproc/APKBUILD35
-rw-r--r--testing/cpu-x/APKBUILD64
-rw-r--r--testing/cpu-x/no-bracktrace.patch41
-rw-r--r--testing/cpuburn/APKBUILD4
-rw-r--r--testing/cpufetch/APKBUILD6
-rw-r--r--testing/crazydiskinfo/APKBUILD2
-rw-r--r--testing/create-tauri-app/APKBUILD43
-rw-r--r--testing/createrepo_c/APKBUILD51
-rw-r--r--testing/createrepo_c/no-bash.patch10
-rw-r--r--testing/cri-o/APKBUILD68
-rw-r--r--testing/cri-o/crio.conf6
-rwxr-xr-xtesting/cri-o/crio.initd2
-rw-r--r--testing/cri-o/fix-test.patch94
-rw-r--r--testing/cri-o/makefile-fix-install.patch20
-rw-r--r--testing/cri-o/remove-systemd-files.patch4
-rw-r--r--testing/cri-tools/APKBUILD24
-rw-r--r--testing/crispy-doom/APKBUILD4
-rw-r--r--testing/criu/APKBUILD68
-rw-r--r--testing/criu/lfs64-test.patch20
-rw-r--r--testing/criu/lfs64.patch58
-rw-r--r--testing/crossplane/APKBUILD29
-rw-r--r--testing/crosstool-ng/0001-sunrpc.diff33
-rw-r--r--testing/crosstool-ng/APKBUILD39
-rw-r--r--testing/crowdsec/APKBUILD95
-rw-r--r--testing/crowdsec/crowdsec.initd18
-rw-r--r--testing/crowdsec/system-sqlite.patch11
-rw-r--r--testing/crust/APKBUILD42
-rw-r--r--testing/cryfs/0001-fix-for-python3.patch22
-rw-r--r--testing/cryfs/APKBUILD48
-rw-r--r--testing/crypto++/APKBUILD32
-rw-r--r--testing/cscope/APKBUILD4
-rw-r--r--testing/csfml/APKBUILD16
-rw-r--r--testing/csmith/APKBUILD2
-rw-r--r--testing/csol/10-fix-ncurses.patch13
-rw-r--r--testing/csol/APKBUILD31
-rw-r--r--testing/ctop/APKBUILD25
-rw-r--r--testing/ctorrent-dnh/APKBUILD4
-rw-r--r--testing/cue-cli/APKBUILD52
-rw-r--r--testing/cups-pdf/APKBUILD9
-rw-r--r--testing/cura/APKBUILD75
-rw-r--r--testing/cura/AppDesktopData.patch58
-rw-r--r--testing/cura/CuraVersion.patch16
-rw-r--r--testing/cura/cmake-helpers.patch95
-rw-r--r--testing/cura/cmake.patch85
-rw-r--r--testing/curlftpfs/APKBUILD4
-rw-r--r--testing/curlpp/APKBUILD2
-rw-r--r--testing/curtail/APKBUILD27
-rw-r--r--testing/curtail/fix-bindtextdomain.patch13
-rw-r--r--testing/cutechess/APKBUILD64
-rw-r--r--testing/cvise/APKBUILD71
-rw-r--r--testing/cvs-fast-export/01-compile-flags.patch35
-rw-r--r--testing/cvs-fast-export/APKBUILD29
-rw-r--r--testing/cvs-fast-export/disable-test-sporadic.patch23
-rw-r--r--testing/cvs-fast-export/python3.patch184
-rw-r--r--testing/cxxopts/APKBUILD35
-rw-r--r--testing/cyanrip/APKBUILD30
-rw-r--r--testing/cyanrip/libcdio-paranoia-version.patch11
-rw-r--r--testing/cyclone-stage0/APKBUILD38
-rw-r--r--testing/cyclone/APKBUILD49
-rw-r--r--testing/cyrus-sasl-xoauth2/APKBUILD2
-rw-r--r--testing/cz-viator-hourglass-black/APKBUILD32
-rw-r--r--testing/cz-viator-hourglass-black/py3.patch20
-rw-r--r--testing/daemontools/APKBUILD2
-rw-r--r--testing/daktilo/APKBUILD50
-rw-r--r--testing/dapr-cli/APKBUILD54
-rw-r--r--testing/darcs/APKBUILD62
-rw-r--r--testing/darcs/cabal.project.freeze217
-rw-r--r--testing/dart-sass/APKBUILD56
-rw-r--r--testing/dart-sass/lock.patch672
-rw-r--r--testing/dart-sass/sass3
-rw-r--r--testing/dart-stage0/APKBUILD62
-rw-r--r--testing/dart/APKBUILD237
-rw-r--r--testing/dart/build-config.patch20
-rw-r--r--testing/dart/gcc13.patch20
-rw-r--r--testing/dart/no-werror.patch13
-rw-r--r--testing/dart/unbundle.patch439
-rw-r--r--testing/dart/where-we-are-heading-prefixes-are-not-needed.patch29
-rw-r--r--testing/darts-clone/APKBUILD41
-rw-r--r--testing/dasht/APKBUILD30
-rw-r--r--testing/datamash/APKBUILD24
-rw-r--r--testing/dbus-broker/APKBUILD29
-rw-r--r--testing/dbus-waiter/APKBUILD35
-rw-r--r--testing/dcmtk/10-offile.patch70
-rw-r--r--testing/dcmtk/20-thai.patch35
-rw-r--r--testing/dcmtk/30-dont_export_all_executables.patch24
-rw-r--r--testing/dcmtk/40-dcmqrscp.patch81
-rw-r--r--testing/dcmtk/APKBUILD105
-rw-r--r--testing/dcmtk/dcmtk.initd21
-rwxr-xr-xtesting/dcmtk/dcmtk.pre-install6
-rw-r--r--testing/dcnnt/APKBUILD33
-rw-r--r--testing/ddcci-driver-linux-src/APKBUILD39
-rw-r--r--testing/ddclient/APKBUILD50
-rwxr-xr-xtesting/ddclient/ddclient.initd22
-rw-r--r--testing/ddclient/ddclient.pre-install4
-rw-r--r--testing/ddclient/pid-path.patch13
-rw-r--r--testing/ddcutil/APKBUILD33
-rw-r--r--testing/ddgr/APKBUILD11
-rw-r--r--testing/ddnrs/APKBUILD38
-rw-r--r--testing/ddnrs/ddnrs.pre-install6
-rw-r--r--testing/ddserver/APKBUILD2
-rw-r--r--testing/deadbeef-soxr/APKBUILD3
-rw-r--r--testing/debconf/APKBUILD8
-rw-r--r--testing/debconf/fix-makefile_destdir.patch4
-rw-r--r--testing/deblob/APKBUILD30
-rw-r--r--testing/dehydrated/APKBUILD6
-rw-r--r--testing/delfin/APKBUILD52
-rw-r--r--testing/delfin/cargo-auditable.patch24
-rw-r--r--testing/delve/APKBUILD37
-rw-r--r--testing/desed/APKBUILD42
-rw-r--r--testing/desed/Cargo.lock473
-rw-r--r--testing/desync/APKBUILD38
-rw-r--r--testing/detox/APKBUILD4
-rw-r--r--testing/deutex/APKBUILD4
-rw-r--r--testing/devil/APKBUILD45
-rw-r--r--testing/devil/fix_mismatching_signatures.patch21
-rw-r--r--testing/dex/APKBUILD26
-rw-r--r--testing/dfl-applications/APKBUILD27
-rw-r--r--testing/dfl-ipc/APKBUILD26
-rw-r--r--testing/dfl-login1/APKBUILD26
-rw-r--r--testing/dfl-sni/APKBUILD26
-rw-r--r--testing/dfu-programmer/APKBUILD44
-rw-r--r--testing/dfu-util/APKBUILD6
-rw-r--r--testing/dhewm3/APKBUILD12
-rw-r--r--testing/dhewm3/dhewm3.pngbin23573 -> 23572 bytes
-rwxr-xr-xtesting/dhex/APKBUILD40
-rw-r--r--testing/diceware/APKBUILD42
-rw-r--r--testing/diceware/no-pkg_resources.patch247
-rw-r--r--testing/diebahn/APKBUILD42
-rw-r--r--testing/diffoscope/APKBUILD33
-rw-r--r--testing/diffoscope/tests-uimage-fix-diff-output.patch10
-rw-r--r--testing/diffsitter/APKBUILD48
-rw-r--r--testing/diffsitter/diffsitter.post-install10
-rw-r--r--testing/ding-libs/APKBUILD18
-rw-r--r--testing/ding-libs/musl-fixes.patch24
-rw-r--r--testing/ding-libs/path_utils_ut-allow-single-as-well.patch36
-rw-r--r--testing/dinit-alpine/APKBUILD27
-rw-r--r--testing/dinit/APKBUILD38
-rw-r--r--testing/disfetch/APKBUILD6
-rw-r--r--testing/diskonaut/APKBUILD33
-rw-r--r--testing/diskus/APKBUILD11
-rw-r--r--testing/dislocker/APKBUILD31
-rw-r--r--testing/dislocker/fix-build.patch147
-rw-r--r--testing/dislocker/mbedtls-3.patch23
-rw-r--r--testing/dissent/APKBUILD41
-rw-r--r--testing/dissent/dissent.desktop8
-rw-r--r--testing/distrobuilder/APKBUILD22
-rw-r--r--testing/dive/APKBUILD28
-rw-r--r--testing/dk/APKBUILD33
-rw-r--r--testing/dk/dk.desktop5
-rw-r--r--testing/dk/dk.post-install14
-rw-r--r--testing/dk/fix-musl.patch15
-rw-r--r--testing/dlib/APKBUILD41
-rw-r--r--testing/dma/APKBUILD48
-rw-r--r--testing/dma/dma.cron5
-rw-r--r--testing/dma/musl-fixes.patch37
-rw-r--r--testing/dmarc-metrics-exporter/APKBUILD71
-rwxr-xr-xtesting/dmarc-metrics-exporter/dmarc-metrics-exporter.confd10
-rwxr-xr-xtesting/dmarc-metrics-exporter/dmarc-metrics-exporter.initd15
-rwxr-xr-xtesting/dmarc-metrics-exporter/dmarc-metrics-exporter.pre-install7
-rw-r--r--testing/dmg2img/APKBUILD28
-rw-r--r--testing/dmg2img/openssl-compatibility.patch219
-rw-r--r--testing/dnscontrol/APKBUILD35
-rw-r--r--testing/dnscontrol/dnsconfig.js9
-rw-r--r--testing/dnscrypt-wrapper/APKBUILD4
-rw-r--r--testing/dnsenum/APKBUILD28
-rw-r--r--testing/dnsfunnel/APKBUILD10
-rw-r--r--testing/dnsperf/APKBUILD23
-rw-r--r--testing/dnssec-tools/APKBUILD13
-rw-r--r--testing/dnstap-ldns/APKBUILD41
-rw-r--r--testing/doasedit/APKBUILD22
-rw-r--r--testing/docbook2mdoc/APKBUILD2
-rw-r--r--testing/docker-auth/APKBUILD43
-rw-r--r--testing/docker-auth/docker-auth.confd10
-rw-r--r--testing/docker-auth/docker-auth.initd20
-rw-r--r--testing/docker-auth/docker-auth.pre-install6
-rw-r--r--testing/docker-auth/reference-example.patch905
-rw-r--r--testing/docker-volume-local-persist/APKBUILD36
-rw-r--r--testing/docker-volume-local-persist/gomod.patch84
-rw-r--r--testing/dockerize/APKBUILD26
-rw-r--r--testing/dockerize/go.mod13
-rw-r--r--testing/dockerize/go.sum14
-rw-r--r--testing/docopt/APKBUILD37
-rw-r--r--testing/docopt/docopt.pc9
-rw-r--r--testing/dog/APKBUILD28
-rw-r--r--testing/dolt/APKBUILD34
-rw-r--r--testing/dooit/APKBUILD37
-rw-r--r--testing/dosbox-staging/APKBUILD28
-rw-r--r--testing/dosbox-staging/fix-execinfo.patch17
-rw-r--r--testing/dotenv-linter/APKBUILD34
-rw-r--r--testing/dovecot-ceph-plugin/1-fixes.patch21
-rw-r--r--testing/dovecot-ceph-plugin/2-fixes.patch21
-rw-r--r--testing/dovecot-ceph-plugin/3-fixes.patch34
-rw-r--r--testing/dovecot-ceph-plugin/6-32bit.patch38
-rw-r--r--testing/dovecot-ceph-plugin/7-sentinel.patch61
-rw-r--r--testing/dovecot-ceph-plugin/APKBUILD85
-rw-r--r--testing/dovi-tool/APKBUILD37
-rw-r--r--testing/downloader-cli/APKBUILD37
-rw-r--r--testing/dqlite/APKBUILD38
-rw-r--r--testing/draw/APKBUILD26
-rw-r--r--testing/drawing/APKBUILD7
-rw-r--r--testing/drawpile/APKBUILD116
-rw-r--r--testing/drawpile/drawpile-server.pre-install8
-rwxr-xr-xtesting/drawpile/drawpile.initd18
-rw-r--r--testing/droidcam/APKBUILD53
-rw-r--r--testing/droidcam/droidcam.post-install8
-rw-r--r--testing/droidcam/makefile.patch13
-rw-r--r--testing/droidcam/release-paths.patch29
-rw-r--r--testing/drone-cli/APKBUILD22
-rw-r--r--testing/drone/APKBUILD38
-rw-r--r--testing/dropwatch/APKBUILD8
-rw-r--r--testing/drumgizmo/APKBUILD45
-rw-r--r--testing/drumgizmo/gcc13.patch10
-rw-r--r--testing/dsnet/APKBUILD25
-rw-r--r--testing/dsp/APKBUILD28
-rw-r--r--testing/dstask/APKBUILD15
-rw-r--r--testing/dtrx/APKBUILD40
-rw-r--r--testing/dublin-traceroute/APKBUILD30
-rw-r--r--testing/duc/APKBUILD35
-rw-r--r--testing/duf/APKBUILD12
-rw-r--r--testing/dum/APKBUILD48
-rw-r--r--testing/dum/strip-env_logger-features.patch8
-rw-r--r--testing/dumb_runtime_dir/APKBUILD24
-rw-r--r--testing/dune-deps/APKBUILD71
-rw-r--r--testing/dustracing2d/APKBUILD2
-rw-r--r--testing/dvdbackup/APKBUILD4
-rw-r--r--testing/dwl/APKBUILD28
-rw-r--r--testing/dwl/xwayland.patch12
-rw-r--r--testing/dxvk/APKBUILD61
-rw-r--r--testing/e2fsimage/APKBUILD27
-rw-r--r--testing/easyeffects/APKBUILD50
-rw-r--r--testing/easyloggingpp-dev/APKBUILD50
-rw-r--r--testing/easyloggingpp-dev/musl-compat.patch38
-rw-r--r--testing/eatmemory/APKBUILD2
-rw-r--r--testing/eboard/APKBUILD34
-rw-r--r--testing/ecasound/0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch45
-rw-r--r--testing/ecasound/APKBUILD12
-rw-r--r--testing/eccodes/APKBUILD54
-rw-r--r--testing/eclib/APKBUILD38
-rw-r--r--testing/eclipse-ecj/10-jar-signature.patch4
-rw-r--r--testing/eclipse-ecj/20-javac-version.patch15
-rw-r--r--testing/eclipse-ecj/APKBUILD28
-rw-r--r--testing/ecm/APKBUILD50
-rw-r--r--testing/ecos/APKBUILD39
-rw-r--r--testing/editline/APKBUILD34
-rw-r--r--testing/edward/0001-editor-fix-current-address-when-moving-a-single-line.patch60
-rw-r--r--testing/edward/0002-editor-Fix-discarding-of-addrs-for-cmds-expecting-a-.patch65
-rw-r--r--testing/edward/APKBUILD33
-rw-r--r--testing/efl/APKBUILD40
-rw-r--r--testing/efm-langserver/APKBUILD30
-rw-r--r--testing/eiwd/0001-resolving-service-none.patch37
-rw-r--r--testing/eiwd/APKBUILD20
-rw-r--r--testing/eiwd/eiwd.confd24
-rw-r--r--testing/eiwd/eiwd.initd20
-rw-r--r--testing/eiwd/eiwd.post-upgrade6
-rw-r--r--testing/eiwd/main.conf3
-rw-r--r--testing/ejabberd/APKBUILD160
-rw-r--r--testing/ejabberd/ejabberd.confd5
-rw-r--r--testing/ejabberd/ejabberd.initd54
-rw-r--r--testing/ejabberd/ejabberd.logrotate12
-rw-r--r--testing/ejabberd/ejabberd.pre-install6
-rw-r--r--testing/ejson/APKBUILD45
-rw-r--r--testing/elastic-beats/APKBUILD152
-rw-r--r--testing/elastic-beats/filebeat.confd5
-rw-r--r--testing/elastic-beats/filebeat.initd31
-rw-r--r--testing/elastic-beats/metricbeat.confd5
-rw-r--r--testing/elastic-beats/metricbeat.initd31
-rw-r--r--testing/electron-tasje/APKBUILD35
-rw-r--r--testing/electron/0001-src-fix-HasOnly-capability-in-node-credentials.patch55
-rw-r--r--testing/electron/0002-http-add-maximum-chunk-extension-size.patch273
-rw-r--r--testing/electron/0004-lib-update-undici-to-v5.28.3.patch46
-rw-r--r--testing/electron/0005-zlib-pause-stream-if-outgoing-buffer-is-full.patch146
-rw-r--r--testing/electron/0006-deps-fix-GHSA-f74f-cvh7-c6q6-CVE-2024-24806.patch74
-rw-r--r--testing/electron/APKBUILD589
-rw-r--r--testing/electron/chromium-icu-74.patch20
-rw-r--r--testing/electron/chromium-revert-drop-of-system-java.patch17
-rw-r--r--testing/electron/compiler.patch123
-rw-r--r--testing/electron/default.conf9
-rw-r--r--testing/electron/disable-dns_config_service.patch15
-rw-r--r--testing/electron/disable-failing-tests.patch361
-rw-r--r--testing/electron/electron-launcher.sh20
-rw-r--r--testing/electron/electron.desktop8
-rw-r--r--testing/electron/fc-cache-version.patch13
-rw-r--r--testing/electron/fix-missing-cstdint-include-musl.patch13
-rw-r--r--testing/electron/fix-opus.patch12
-rw-r--r--testing/electron/fstatat-32bit.patch17
-rw-r--r--testing/electron/gdbinit.patch22
-rw-r--r--testing/electron/generic-sensor-include.patch11
-rw-r--r--testing/electron/icon.patch21
-rw-r--r--testing/electron/import-version.patch15
-rw-r--r--testing/electron/libstdc++13.patch279
-rw-r--r--testing/electron/mman.patch13
-rw-r--r--testing/electron/musl-auxv.patch11
-rw-r--r--testing/electron/musl-sandbox.patch124
-rw-r--r--testing/electron/musl-tid-caching.patch85
-rw-r--r--testing/electron/musl-v8-monotonic-pthread-cont_timedwait.patch23
-rw-r--r--testing/electron/no-execinfo.patch69
-rw-r--r--testing/electron/no-mallinfo.patch124
-rw-r--r--testing/electron/no-res-ninit-nclose.patch32
-rw-r--r--testing/electron/no-sandbox-settls.patch14
-rw-r--r--testing/electron/node-configure-distutils.patch52
-rw-r--r--testing/electron/node-gyp-distutils.patch11
-rw-r--r--testing/electron/partalloc-no-tagging-arm64.patch14
-rw-r--r--testing/electron/perfetto-libstdc++.patch20
-rw-r--r--testing/electron/pvalloc.patch33
-rw-r--r--testing/electron/python-jinja-3.10.patch22
-rw-r--r--testing/electron/quiche-array.patch12
-rw-r--r--testing/electron/random-fixes.patch94
-rw-r--r--testing/electron/system-zstd.patch46
-rw-r--r--testing/electron/temp-failure-retry.patch19
-rw-r--r--testing/electron/unbundle-node.patch56
-rw-r--r--testing/electron/webpack-hash.patch12
-rw-r--r--testing/electron/yes-musl.patch11
-rw-r--r--testing/electrs/APKBUILD26
-rw-r--r--testing/elektra/APKBUILD57
-rw-r--r--testing/elektra/benchmark-dupe.patch62
-rw-r--r--testing/elektra/gcc12.patch12
-rw-r--r--testing/elektra/musl-1.2.3.patch44
-rw-r--r--testing/element-desktop/APKBUILD170
-rw-r--r--testing/element-desktop/add-alpine-targets.patch52
-rwxr-xr-xtesting/element-desktop/element-desktop3
-rw-r--r--testing/element-desktop/tasje-no-fuses.patch58
-rw-r--r--testing/element-desktop/tasje-one-hak.patch20
-rw-r--r--testing/element-desktop/use-system-fonts.patch.reactsdk169
-rw-r--r--testing/element-desktop/use-system-fonts.patch.web11
-rw-r--r--testing/element-desktop/use-system-headers.patch15
-rw-r--r--testing/elementary-photos/APKBUILD61
-rw-r--r--testing/elf_diff/APKBUILD48
-rwxr-xr-xtesting/elf_diff/elf_diff5
-rw-r--r--testing/elfio/APKBUILD12
-rw-r--r--testing/elfio/fix-cmake-install-dir.patch26
-rw-r--r--testing/elfio/page_size.patch33
-rw-r--r--testing/eludris/APKBUILD34
-rw-r--r--testing/elvish/APKBUILD29
-rw-r--r--testing/emacs-ace-window/APKBUILD38
-rw-r--r--testing/emacs-async-await/APKBUILD40
-rw-r--r--testing/emacs-async/APKBUILD38
-rw-r--r--testing/emacs-avy/APKBUILD39
-rw-r--r--testing/emacs-buttercup/APKBUILD42
-rw-r--r--testing/emacs-cangjie/APKBUILD40
-rw-r--r--testing/emacs-centaur-tabs/APKBUILD38
-rw-r--r--testing/emacs-circe/APKBUILD42
-rw-r--r--testing/emacs-circe/fix-test-tracking.patch27
-rw-r--r--testing/emacs-compat/APKBUILD48
-rw-r--r--testing/emacs-consult/APKBUILD39
-rw-r--r--testing/emacs-dash/APKBUILD40
-rw-r--r--testing/emacs-deferred/APKBUILD33
-rw-r--r--testing/emacs-elfeed/APKBUILD41
-rw-r--r--testing/emacs-embark/APKBUILD63
-rw-r--r--testing/emacs-ement/APKBUILD47
-rw-r--r--testing/emacs-ert-async/APKBUILD36
-rw-r--r--testing/emacs-f/APKBUILD45
-rw-r--r--testing/emacs-fsm/APKBUILD36
-rw-r--r--testing/emacs-git-timemachine/APKBUILD38
-rw-r--r--testing/emacs-hackernews/APKBUILD35
-rw-r--r--testing/emacs-helm/APKBUILD43
-rw-r--r--testing/emacs-helm/remove-autoload-check.patch26
-rw-r--r--testing/emacs-hnreader/APKBUILD48
-rw-r--r--testing/emacs-howdoyou/APKBUILD53
-rw-r--r--testing/emacs-howdoyou/dont-test-against-google.patch23
-rw-r--r--testing/emacs-hydra/APKBUILD46
-rw-r--r--testing/emacs-iter2/APKBUILD39
-rw-r--r--testing/emacs-jabber/APKBUILD59
-rw-r--r--testing/emacs-lab/APKBUILD45
-rw-r--r--testing/emacs-liberime/APKBUILD43
-rw-r--r--testing/emacs-lingva/APKBUILD36
-rw-r--r--testing/emacs-magit/APKBUILD71
-rw-r--r--testing/emacs-memoize/APKBUILD40
-rw-r--r--testing/emacs-persist/APKBUILD40
-rw-r--r--testing/emacs-plz-see/APKBUILD39
-rw-r--r--testing/emacs-plz/APKBUILD47
-rw-r--r--testing/emacs-popup/APKBUILD39
-rw-r--r--testing/emacs-posframe/APKBUILD34
-rw-r--r--testing/emacs-powerline/APKBUILD35
-rw-r--r--testing/emacs-promise/APKBUILD41
-rw-r--r--testing/emacs-pyim-basedict/APKBUILD34
-rw-r--r--testing/emacs-pyim-cangjiedict/APKBUILD36
-rw-r--r--testing/emacs-pyim-smzmdict/APKBUILD36
-rw-r--r--testing/emacs-pyim-wbdict/APKBUILD35
-rw-r--r--testing/emacs-pyim/APKBUILD46
-rw-r--r--testing/emacs-repology/APKBUILD46
-rw-r--r--testing/emacs-request/APKBUILD57
-rw-r--r--testing/emacs-rime/APKBUILD47
-rw-r--r--testing/emacs-s/APKBUILD41
-rw-r--r--testing/emacs-srv/APKBUILD39
-rw-r--r--testing/emacs-srv/optional-dns.el.patch38
-rw-r--r--testing/emacs-svg-lib/APKBUILD35
-rw-r--r--testing/emacs-taxy-magit-section/APKBUILD38
-rw-r--r--testing/emacs-taxy/APKBUILD34
-rw-r--r--testing/emacs-vterm/APKBUILD54
-rw-r--r--testing/emacs-with-editor/APKBUILD38
-rw-r--r--testing/emacs-xr/APKBUILD40
-rw-r--r--testing/embree3/APKBUILD47
-rw-r--r--testing/embree3/fix-install-detection.patch14
-rw-r--r--testing/emby/APKBUILD86
-rw-r--r--testing/emby/emby-migrate56
-rw-r--r--testing/emby/emby-server6
-rw-r--r--testing/emby/emby.confd8
-rw-r--r--testing/emby/emby.initd14
-rw-r--r--testing/emby/emby.pre-install7
-rw-r--r--testing/empede/APKBUILD48
-rw-r--r--testing/empede/empede.confd4
-rw-r--r--testing/empede/empede.initd17
-rw-r--r--testing/empede/empede.pre-install6
-rw-r--r--testing/emulationstation/APKBUILD88
-rw-r--r--testing/emulationstation/emulationstation.pngbin4870 -> 4074 bytes
-rw-r--r--testing/emulationstation/pugixml.patch152
-rw-r--r--testing/endeavour/APKBUILD39
-rw-r--r--testing/endless-sky/APKBUILD48
-rw-r--r--testing/endless-sky/install-path.patch13
-rw-r--r--testing/endlessh/APKBUILD24
-rw-r--r--testing/enigma/APKBUILD39
-rw-r--r--testing/enjoy/0001-fix-printf-format-specifier.patch28
-rw-r--r--testing/enjoy/0002-fix-setting-timestamp-of-input-event.patch37
-rw-r--r--testing/enjoy/APKBUILD33
-rw-r--r--testing/enjoy/correct_udev_rules_path.patch14
-rw-r--r--testing/enlighten/APKBUILD2
-rw-r--r--testing/envconsul/APKBUILD12
-rw-r--r--testing/envsubst/APKBUILD6
-rw-r--r--testing/eolie/APKBUILD31
-rw-r--r--testing/eolie/dont-require-py3-gettext-support.patch20
-rw-r--r--testing/epoch/APKBUILD10
-rw-r--r--testing/epr/APKBUILD29
-rw-r--r--testing/epub2txt/APKBUILD23
-rw-r--r--testing/ergo-ldap/APKBUILD25
-rw-r--r--testing/esbuild/APKBUILD49
-rw-r--r--testing/espeak-ng/APKBUILD54
-rw-r--r--testing/espeak-ng/disable-failing-test-784.patch16
-rw-r--r--testing/espeak-ng/fix-grc-handling-690.patch45
-rw-r--r--testing/espeak-ng/fix-newline-expansion.patch22
-rw-r--r--testing/espeakup/APKBUILD6
-rw-r--r--testing/esptool/APKBUILD49
-rw-r--r--testing/esptool/remove-py-wheel-requirement.patch14
-rw-r--r--testing/etcd/APKBUILD37
-rw-r--r--testing/etcd/etcd.yaml-3.5.1140
-rw-r--r--testing/etcd/etcd.yaml-3.5.13143
-rw-r--r--testing/ettercap/APKBUILD40
-rw-r--r--testing/eva/APKBUILD36
-rw-r--r--testing/eva/deps.patch156
-rw-r--r--testing/evolution-etesync/APKBUILD32
-rw-r--r--testing/evolution-on/APKBUILD1
-rw-r--r--testing/eww/APKBUILD59
-rw-r--r--testing/eww/update-cargo-lock.patch11
-rw-r--r--testing/exabgp/APKBUILD49
-rw-r--r--testing/exabgp/exabgp.confd3
-rw-r--r--testing/exabgp/exabgp.initd61
-rw-r--r--testing/exabgp/exabgp.pre-install6
-rw-r--r--testing/exabgp/unvendor.patch414
-rw-r--r--testing/exercism/APKBUILD49
-rw-r--r--testing/extrace/APKBUILD25
-rw-r--r--testing/extremetuxracer/APKBUILD6
-rw-r--r--testing/extundelete/APKBUILD4
-rw-r--r--testing/f3/APKBUILD2
-rw-r--r--testing/f_scripts/APKBUILD99
-rw-r--r--testing/fabric/APKBUILD29
-rw-r--r--testing/fakeroot-tcp/APKBUILD30
-rw-r--r--testing/fakeroot-tcp/do-not-redefine-id_t.patch21
-rw-r--r--testing/fakeroot-tcp/fakeroot-skip-ipc-sanity-check.patch59
-rw-r--r--testing/fakeroot-tcp/fix-format.patch25
-rw-r--r--testing/fakeroot-tcp/xstatjunk.patch10
-rw-r--r--testing/fasd/APKBUILD25
-rw-r--r--testing/fast_float/APKBUILD47
-rw-r--r--testing/fastd/APKBUILD8
-rw-r--r--testing/fatback/APKBUILD2
-rw-r--r--testing/fathom/APKBUILD38
-rw-r--r--testing/fatrace/APKBUILD4
-rw-r--r--testing/fatresize/APKBUILD2
-rw-r--r--testing/faultstat/APKBUILD4
-rw-r--r--testing/faust/APKBUILD117
-rw-r--r--testing/faust/busybox.patch28
-rw-r--r--testing/faust/gcc13.patch24
-rw-r--r--testing/faust/no-execinfo.patch22
-rw-r--r--testing/faust/usage.patch866
-rw-r--r--testing/fava/APKBUILD72
-rw-r--r--testing/fbp/APKBUILD29
-rw-r--r--testing/fceux/01-rdtsc.patch76
-rw-r--r--testing/fceux/APKBUILD51
-rw-r--r--testing/fcitx5-anthy/APKBUILD38
-rw-r--r--testing/fcitx5-bamboo/APKBUILD47
-rw-r--r--testing/fcitx5-chewing/APKBUILD47
-rw-r--r--testing/fcitx5-chinese-addons/APKBUILD57
-rw-r--r--testing/fcitx5-configtool/APKBUILD61
-rw-r--r--testing/fcitx5-gtk/APKBUILD71
-rw-r--r--testing/fcitx5-hangul/APKBUILD37
-rw-r--r--testing/fcitx5-kkc/APKBUILD42
-rw-r--r--testing/fcitx5-kkc/cxx17.patch14
-rw-r--r--testing/fcitx5-lua/APKBUILD41
-rw-r--r--testing/fcitx5-m17n/APKBUILD39
-rw-r--r--testing/fcitx5-qt/APKBUILD80
-rw-r--r--testing/fcitx5-rime/APKBUILD38
-rw-r--r--testing/fcitx5-table-extra/APKBUILD34
-rw-r--r--testing/fcitx5-table-other/APKBUILD34
-rw-r--r--testing/fcitx5-unikey/APKBUILD49
-rw-r--r--testing/fcitx5/APKBUILD59
-rw-r--r--testing/fclones/APKBUILD28
-rw-r--r--testing/fdm-materials/APKBUILD27
-rw-r--r--testing/fdm/APKBUILD30
-rw-r--r--testing/fdm/fix-base64.patch52
-rw-r--r--testing/featherpad/APKBUILD22
-rw-r--r--testing/felix/APKBUILD59
-rw-r--r--testing/felix/use-system-libs.patch61
-rw-r--r--testing/fff/APKBUILD23
-rw-r--r--testing/fflas-ffpack/APKBUILD41
-rw-r--r--testing/ffms2/APKBUILD37
-rw-r--r--testing/ffms2/ffmpeg-fix-api.patch355
-rw-r--r--testing/ffsend/APKBUILD57
-rw-r--r--testing/ffsend/wl-clipboard.patch159
-rw-r--r--testing/fheroes2/APKBUILD46
-rw-r--r--testing/fheroes2/fheroes2.post-install14
-rw-r--r--testing/fiery/APKBUILD50
-rw-r--r--[-rwxr-xr-x]testing/fig2dev/APKBUILD13
-rw-r--r--testing/filebeat/APKBUILD45
-rw-r--r--testing/filebeat/filebeat.confd2
-rw-r--r--testing/filebeat/filebeat.initd42
-rw-r--r--testing/filebeat/filebeat.yml119
-rw-r--r--testing/filebrowser/APKBUILD53
-rw-r--r--testing/filebrowser/filebrowser.confd1
-rw-r--r--testing/filebrowser/filebrowser.initd13
-rw-r--r--testing/filebrowser/filebrowser.pre-install5
-rw-r--r--testing/fileshelter/APKBUILD20
-rw-r--r--testing/filite/APKBUILD25
-rw-r--r--testing/filite/fix-build.patch3110
-rw-r--r--testing/filite/system-sqlite.patch24
-rw-r--r--testing/findtow/APKBUILD25
-rw-r--r--testing/finger/APKBUILD32
-rw-r--r--testing/firecracker/10-dependencies-Included-vm-fdt-crate.patch59
-rw-r--r--testing/firecracker/20-vm-fdt-Replace-libfdt-with-vm-fdt.patch822
-rw-r--r--testing/firecracker/30-libfdt-bindings-Deleted-libfdt-bindings-crate.patch157
-rw-r--r--testing/firecracker/APKBUILD98
-rw-r--r--testing/firectl/APKBUILD29
-rw-r--r--testing/firefox-developer-edition/APKBUILD272
-rw-r--r--testing/firefox-developer-edition/disable-moz-stackwalk.patch (renamed from testing/thunderbird/disable-moz-stackwalk.patch)0
-rw-r--r--testing/firefox-developer-edition/distribution.ini8
-rw-r--r--testing/firefox-developer-edition/firefox-developer-edition.desktop340
-rw-r--r--testing/firefox-developer-edition/fix-fortify-system-wrappers.patch15
-rw-r--r--testing/firefox-developer-edition/fix-rust-target.patch (renamed from testing/thunderbird/fix-rust-target.patch)0
-rw-r--r--testing/firefox-developer-edition/fix-webrtc-glibcisms.patch20
-rw-r--r--testing/firefox-developer-edition/icu74.patch38
-rw-r--r--testing/firefox-developer-edition/install-dir.patch40
-rw-r--r--testing/firefox-developer-edition/lfs64.patch35
-rw-r--r--testing/firefox-developer-edition/no-ccache-stats.patch13
-rw-r--r--testing/firefox-developer-edition/python-deps.patch12
-rw-r--r--testing/firefox-developer-edition/rust-lto-thin.patch12
-rw-r--r--testing/firefox-developer-edition/sandbox-fork.patch (renamed from testing/thunderbird/sandbox-fork.patch)0
-rw-r--r--testing/firefox-developer-edition/sandbox-largefile.patch (renamed from testing/thunderbird/sandbox-largefile.patch)0
-rw-r--r--testing/firefox-developer-edition/sandbox-sched_setscheduler.patch24
-rw-r--r--testing/firefox-developer-edition/stab.h (renamed from testing/thunderbird/stab.h)0
-rw-r--r--testing/firefox-developer-edition/vendor-prefs.js19
-rw-r--r--testing/firehol/APKBUILD12
-rw-r--r--testing/firewalld/APKBUILD84
-rw-r--r--testing/firewalld/firewalld.initd12
-rw-r--r--testing/flamegraph/APKBUILD12
-rw-r--r--testing/flameshot/APKBUILD45
-rw-r--r--testing/flann/APKBUILD6
-rw-r--r--testing/flannel/APKBUILD31
-rw-r--r--testing/flannel/kube-flannel-bin-path.patch26
-rw-r--r--testing/flare-engine/APKBUILD32
-rw-r--r--testing/flare-game/APKBUILD21
-rwxr-xr-xtesting/flare-game/flare-game-data-downloader.sh13
-rwxr-xr-xtesting/flare-game/flare-game.post-install13
-rw-r--r--testing/flatpak-xdg-utils/APKBUILD32
-rw-r--r--testing/flauschige-uhr/APKBUILD2
-rw-r--r--testing/flightgear/APKBUILD55
-rwxr-xr-xtesting/flightgear/flightgear-data-downloader.sh9
-rwxr-xr-xtesting/flightgear/flightgear.post-install2
-rw-r--r--testing/flightgear/musl-fix_backtrace.patch11
-rw-r--r--testing/flightgear/no-execinfo.patch21
-rw-r--r--testing/flightgear/time64.patch13
-rw-r--r--[-rwxr-xr-x]testing/flint/APKBUILD33
-rw-r--r--testing/flint/fix-sdiv_qrnnd-test.patch22
-rw-r--r--testing/flintqs/APKBUILD41
-rw-r--r--testing/flowd/APKBUILD13
-rw-r--r--testing/flowd/format-security.patch13
-rw-r--r--testing/fluent-bit/10-def-core-stack-size.patch13
-rw-r--r--testing/fluent-bit/APKBUILD28
-rw-r--r--testing/fluent-bit/exclude-luajit.patch12
-rw-r--r--testing/fluent-bit/fluent-bit.confd1
-rw-r--r--testing/fluent-bit/fluent-bit.initd7
-rw-r--r--testing/fluent-bit/stream_suffix.patch189
-rw-r--r--testing/fluent-bit/xsi-strerror.patch15
-rw-r--r--testing/fluffychat/APKBUILD323
-rw-r--r--testing/fluffychat/fluffychat.desktop8
-rw-r--r--testing/fluffychat/gcc13.patch.webrtc10
-rw-r--r--testing/fluffychat/no-sqlcipher.patch.noauto49
-rw-r--r--testing/fluffychat/no-upgrade-debug-info.patch.webrtc11
-rw-r--r--testing/fluffychat/no-werror.patch11
-rw-r--r--testing/fluffychat/sqlite-soname.patch.noauto11
-rw-r--r--testing/fluffychat/still-hive.patch90
-rw-r--r--testing/fluffychat/system-flutter.patch15
-rw-r--r--testing/fluffychat/toolhack.patch.webrtc22
-rw-r--r--testing/fluffychat/use-alpine-target.patch.webrtc15
-rw-r--r--testing/fluffychat/wrapper.patch.webrtc14
-rw-r--r--testing/flutter/APKBUILD505
-rw-r--r--testing/flutter/alpine-target.patch14
-rw-r--r--testing/flutter/doctor.patch17
-rwxr-xr-xtesting/flutter/flutter23
-rw-r--r--testing/flutter/git-revision.patch.engine22
-rw-r--r--testing/flutter/libstdc++13.patch.engine103
-rw-r--r--testing/flutter/musl-no-execinfo.patch.engine11
-rw-r--r--testing/flutter/musl-no-mallinfo.patch.engine29
-rw-r--r--testing/flutter/no-lock.patch19
-rw-r--r--testing/flutter/no-runtime-download.patch38
-rw-r--r--testing/flutter/no-vpython.patch.engine11
-rw-r--r--testing/flutter/opt-in-analytics.patch22
-rw-r--r--testing/flutter/pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch18
-rw-r--r--testing/flutter/shared-libcxx.patch.engine33
-rw-r--r--testing/flutter/system-icu.patch.engine37
-rw-r--r--testing/flutter/target-musl.patch.engine345
-rw-r--r--testing/flutter/unbundle.patch21
-rw-r--r--testing/flutter/unbundle.patch.engine950
-rw-r--r--testing/flutter/version.patch288
-rw-r--r--testing/flux/APKBUILD58
-rw-r--r--testing/flwm/APKBUILD35
-rw-r--r--testing/fnf/APKBUILD28
-rw-r--r--testing/fnott/APKBUILD37
-rw-r--r--testing/foliate/APKBUILD27
-rw-r--r--testing/foma/APKBUILD35
-rw-r--r--testing/font-anonymous-pro/APKBUILD29
-rw-r--r--testing/font-babelstone-han/APKBUILD21
-rw-r--r--testing/font-chivo/APKBUILD28
-rw-r--r--testing/font-commit-mono/APKBUILD20
-rw-r--r--testing/font-cousine/APKBUILD22
-rw-r--r--testing/font-crosextra-carlito/APKBUILD19
-rw-r--r--testing/font-fira-code/APKBUILD47
-rw-r--r--testing/font-fira-code/fontconfig.conf16
-rw-r--r--testing/font-firamath/APKBUILD20
-rw-r--r--testing/font-fontawesome-4/APKBUILD26
-rw-r--r--testing/font-hanazono/APKBUILD22
-rw-r--r--testing/font-intel-one-mono/APKBUILD22
-rw-r--r--testing/font-juliamono/APKBUILD19
-rw-r--r--testing/font-katex/APKBUILD26
-rw-r--r--testing/font-material-icons/APKBUILD21
-rw-r--r--testing/font-merriweather/APKBUILD7
-rw-r--r--testing/font-monaspace/APKBUILD59
-rw-r--r--testing/font-monocraft/APKBUILD20
-rw-r--r--testing/font-roboto/90-roboto-regular.conf14
-rw-r--r--testing/font-roboto/APKBUILD25
-rw-r--r--testing/font-siji/APKBUILD4
-rw-r--r--testing/font-spleen/APKBUILD31
-rw-r--r--testing/font-stix-otf/APKBUILD29
-rw-r--r--testing/font-tamzen/APKBUILD4
-rw-r--r--testing/font-teluguvijayam/APKBUILD69
-rw-r--r--testing/font-tinos/APKBUILD22
-rw-r--r--testing/font-tiresias/APKBUILD32
-rw-r--r--testing/font-twemoji/APKBUILD21
-rw-r--r--testing/fontforge/APKBUILD77
-rw-r--r--testing/fontforge/fix-select.patch27
-rw-r--r--testing/foolsm/APKBUILD6
-rw-r--r--testing/forgejo-runner/APKBUILD47
-rw-r--r--testing/forgejo-runner/forgejo-runner.confd17
-rw-r--r--testing/forgejo-runner/forgejo-runner.initd38
-rw-r--r--testing/forgejo-runner/forgejo-runner.logrotate5
-rw-r--r--testing/forgejo-runner/forgejo-runner.pre-install14
l---------testing/forgejo-runner/forgejo-runner.pre-upgrade1
-rw-r--r--testing/forgejo/APKBUILD105
-rw-r--r--testing/forgejo/forgejo.ini26
-rw-r--r--testing/forgejo/forgejo.initd15
-rw-r--r--testing/forgejo/forgejo.pre-install7
-rw-r--r--testing/fox/APKBUILD73
-rw-r--r--testing/fpc/APKBUILD14
-rw-r--r--testing/fplll/APKBUILD56
-rw-r--r--testing/fpp/APKBUILD38
-rw-r--r--testing/fprintd/APKBUILD73
-rw-r--r--testing/fprintd/add-configure-option-for-libsystemd-provider.patch25
-rw-r--r--testing/fprintd/add-test-feature-and-make-tests-optional.patch71
-rw-r--r--testing/fprintd/fix-missing-libintl.patch23
-rw-r--r--testing/fprintd/pam-include-time.patch16
-rw-r--r--testing/fprintd/pam-use-basu-and-remove-sd-login.patch24
-rw-r--r--testing/fq/APKBUILD26
-rw-r--r--testing/fq/enable-cgo.patch17
-rw-r--r--testing/fragments/APKBUILD55
-rw-r--r--testing/fragments/no-cargo-home.patch13
-rw-r--r--testing/freealut/APKBUILD4
-rw-r--r--testing/freecad/APKBUILD138
-rw-r--r--testing/freecad/backtrace.patch32
-rw-r--r--testing/freecad/missing-include-cstdint.patch11
-rw-r--r--testing/freecad/no-execinfo.patch46
-rw-r--r--testing/freecad/no-workaround-spnav.patch69
-rw-r--r--testing/freecad/numpy-1.20.patch25
-rw-r--r--testing/freecad/opencascade-7.8.0.patch877
-rw-r--r--testing/freecad/opencascade.patch629
-rw-r--r--testing/freecad/resourceDirectory.patch4
-rw-r--r--testing/freecad/tbb.patch38
-rw-r--r--testing/freecad/tests.patch33
-rw-r--r--testing/freecad/vtk9.patch830
-rw-r--r--testing/freediameter/APKBUILD54
-rw-r--r--testing/freedoom/APKBUILD20
-rw-r--r--testing/freedoom/support-python-pil-10.patch40
-rw-r--r--testing/freeipmi/APKBUILD67
-rw-r--r--testing/freeipmi/bmc-watchdog.confd44
-rw-r--r--testing/freeipmi/bmc-watchdog.initd26
-rw-r--r--testing/freeipmi/ipmidetectd.confd5
-rw-r--r--testing/freeipmi/ipmidetectd.initd25
-rw-r--r--testing/freeipmi/ipmiseld.confd5
-rw-r--r--testing/freeipmi/ipmiseld.initd25
-rw-r--r--testing/freetube/APKBUILD56
-rw-r--r--testing/freetube/freetube.sh3
-rw-r--r--testing/freetube/tasje-dotdash.patch12
-rw-r--r--testing/frescobaldi/APKBUILD35
-rw-r--r--testing/freshrss/APKBUILD155
-rw-r--r--testing/freshrss/defaults.patch26
-rw-r--r--testing/freshrss/fpm-pool.conf56
-rwxr-xr-xtesting/freshrss/freshrss-openrc.post-install11
-rwxr-xr-xtesting/freshrss/freshrss.confd4
-rw-r--r--testing/freshrss/freshrss.crontab1
-rwxr-xr-xtesting/freshrss/freshrss.pre-install6
-rw-r--r--testing/fscryptctl/APKBUILD26
-rw-r--r--testing/fulcrum/APKBUILD36
-rw-r--r--testing/fusee-nano/APKBUILD40
-rw-r--r--testing/fusee-nano/broken-makefile.patch13
-rw-r--r--testing/fuzzylite/APKBUILD43
-rw-r--r--testing/fuzzylite/no-werror.patch13
-rw-r--r--testing/fwallet/APKBUILD99
-rw-r--r--testing/fwallet/flutter-3.19.patch128
-rw-r--r--testing/fwallet/no-werror.patch11
-rw-r--r--testing/fwallet/system-flutter.patch15
-rw-r--r--testing/fzy/APKBUILD2
-rw-r--r--testing/g4music/APKBUILD39
-rw-r--r--testing/galera/APKBUILD71
-rw-r--r--testing/galera/fix_gcomm-test-check_evs2.patch9
-rw-r--r--testing/galera/musl-page-size.patch16
-rw-r--r--testing/galera/musl-sched_param.patch12
-rw-r--r--testing/galera/musl-sys-poll-h.patch11
-rw-r--r--testing/galera/musl-wordsize.patch14
-rw-r--r--testing/gambit/APKBUILD42
-rw-r--r--testing/gambit/tests.patch14
-rw-r--r--testing/game-devices-udev/APKBUILD23
-rw-r--r--testing/gamescope/APKBUILD78
-rw-r--r--testing/gamescope/gcc13.patch41
-rw-r--r--testing/gamescope/null.patch47
-rw-r--r--testing/gamescope/system-wlroots-libliftoff.patch10
-rw-r--r--testing/gamja/APKBUILD6
-rw-r--r--testing/gammastep/APKBUILD27
-rw-r--r--testing/gatling/APKBUILD17
-rw-r--r--testing/gaupol/APKBUILD37
-rw-r--r--testing/gb/APKBUILD6
-rw-r--r--testing/gdb-esp/APKBUILD134
-rw-r--r--testing/gdcm/10-docbook4.patch175
-rw-r--r--testing/gdcm/30-off_t.patch211
-rw-r--r--testing/gdcm/40-java.patch18
-rw-r--r--testing/gdcm/50-use_copyright.patch29
-rw-r--r--testing/gdcm/60-fix_export_variables.patch34
-rw-r--r--testing/gdcm/APKBUILD181
-rw-r--r--testing/gdm-settings/APKBUILD44
-rw-r--r--testing/gearmand/APKBUILD46
-rw-r--r--testing/geckodriver/APKBUILD28
-rw-r--r--testing/gede/APKBUILD18
-rw-r--r--testing/gemget/APKBUILD25
-rw-r--r--testing/genact/APKBUILD34
-rw-r--r--testing/genext2fs/APKBUILD43
-rw-r--r--testing/genext2fs/version.patch26
-rw-r--r--testing/genimage/APKBUILD61
-rw-r--r--testing/geodns/APKBUILD14
-rw-r--r--testing/geomyidae/APKBUILD2
-rw-r--r--testing/geonames/APKBUILD40
-rw-r--r--testing/geotagging/APKBUILD39
-rw-r--r--testing/geotagging/fix-exiv2.patch11
-rw-r--r--testing/getdns/APKBUILD50
-rw-r--r--testing/getmail6/APKBUILD35
-rw-r--r--testing/getssl/APKBUILD9
-rw-r--r--testing/gettext-tiny/APKBUILD37
-rw-r--r--testing/getting-things-gnome/APKBUILD19
-rw-r--r--testing/getting-things-gnome/remove-unused-keyword.patch19
-rw-r--r--[-rwxr-xr-x]testing/gf2x/APKBUILD0
-rw-r--r--testing/gfan/APKBUILD31
-rw-r--r--testing/ghidra/APKBUILD116
-rw-r--r--testing/ghidra/ghidra.desktop9
-rw-r--r--testing/ghidra/ghidra.sh3
-rw-r--r--testing/ghidra/use-system-protoc.patch97
-rw-r--r--testing/ghq/APKBUILD46
-rw-r--r--[-rwxr-xr-x]testing/ginac/APKBUILD24
-rw-r--r--testing/ginger/APKBUILD6
-rw-r--r--testing/gingerbase/APKBUILD6
-rw-r--r--testing/git-bug/APKBUILD67
-rw-r--r--testing/git-bug/Makefile.patch14
-rw-r--r--testing/git-bug/fix-tests.patch40
-rw-r--r--testing/git-cola/APKBUILD27
-rw-r--r--testing/git-extras/APKBUILD6
-rw-r--r--testing/git-filter-repo/10-no-version-test.patch17
-rw-r--r--testing/git-filter-repo/20-git-filter-repo.patch17
-rw-r--r--testing/git-filter-repo/APKBUILD35
-rw-r--r--testing/git-revise/APKBUILD26
-rw-r--r--testing/git-secret/APKBUILD4
-rw-r--r--testing/git-warp-time/APKBUILD36
-rw-r--r--testing/git2json/APKBUILD21
-rw-r--r--testing/gitoxide/APKBUILD74
-rw-r--r--testing/gitoxide/skip-online-tests.patch20
-rw-r--r--testing/gitoxide/system-curl.patch27
-rw-r--r--testing/gitoxide/zlib-ng.patch52
-rw-r--r--testing/glacier-browser/APKBUILD40
-rw-r--r--testing/glfw-wayland/APKBUILD45
-rw-r--r--testing/glfw-wayland/request-order.patch49
-rw-r--r--testing/glfw-wayland/silence-gigaspam.patch28
-rw-r--r--testing/glmark2/APKBUILD12
-rw-r--r--testing/glmark2/py3-compat.patch22
-rw-r--r--testing/gloox/APKBUILD35
-rw-r--r--testing/glossaico/APKBUILD42
-rw-r--r--testing/glow/APKBUILD47
-rw-r--r--testing/glslviewer/APKBUILD54
-rw-r--r--testing/gmenuharness/APKBUILD46
-rw-r--r--testing/gmic/APKBUILD67
-rw-r--r--testing/gmic/notune.patch13
-rw-r--r--testing/gmic/rpath.patch26
-rw-r--r--testing/gmid/APKBUILD29
-rw-r--r--testing/gmid/gmid.conf4
-rw-r--r--testing/gmobile/APKBUILD33
-rw-r--r--testing/gmsh/APKBUILD59
-rw-r--r--testing/gn/APKBUILD32
-rw-r--r--testing/gn/python3.patch236
-rw-r--r--testing/gnome-common/APKBUILD32
-rw-r--r--testing/gnome-latex/APKBUILD61
-rw-r--r--testing/gnome-metronome/APKBUILD42
-rw-r--r--testing/gnomecast/APKBUILD50
-rw-r--r--testing/gnomecast/no-pandoc.patch23
-rw-r--r--testing/gnu-apl/APKBUILD40
-rw-r--r--testing/gnunet-gtk/APKBUILD39
-rw-r--r--testing/gnunet/APKBUILD89
-rw-r--r--testing/gnunet/gnunet-system-services.initd18
-rw-r--r--testing/gnunet/gnunet-system.conf3
-rw-r--r--testing/gnunet/gnunet-user-services.initd16
-rw-r--r--testing/gnunet/gnunet.post-install16
-rw-r--r--testing/gnunet/gnunet.pre-install11
-rw-r--r--testing/gnunet/setup-gnunet-user90
-rw-r--r--testing/gnuradio/APKBUILD92
-rw-r--r--testing/gnuradio/disable-test.patch10
-rw-r--r--testing/gnurl/APKBUILD86
-rw-r--r--testing/go-acceptlanguageparser/APKBUILD36
-rw-r--r--testing/go-conf/APKBUILD43
-rw-r--r--testing/go-context/APKBUILD37
-rw-r--r--testing/go-httputils/APKBUILD36
-rw-r--r--testing/go-jsonnet/APKBUILD40
-rw-r--r--testing/go-mtpfs/APKBUILD8
-rw-r--r--testing/go-mux/APKBUILD35
-rw-r--r--testing/go-nats/APKBUILD34
-rw-r--r--testing/go-nuid/APKBUILD36
-rw-r--r--testing/go-passbolt-cli/APKBUILD36
-rwxr-xr-xtesting/go-passbolt-cli/passbolt-cli-helper.sh16
-rw-r--r--testing/go-phoenix/APKBUILD37
-rw-r--r--testing/go-pkac/APKBUILD36
-rw-r--r--testing/go-securecookie/APKBUILD36
-rw-r--r--testing/go-sloth/APKBUILD36
-rw-r--r--testing/go-spreed-turnservicecli/APKBUILD36
-rw-r--r--testing/go-swag/APKBUILD46
-rw-r--r--testing/go-swag/enums-test-32bit.patch22
-rw-r--r--testing/go-uuid/APKBUILD36
-rw-r--r--testing/go-websocket/APKBUILD32
-rw-r--r--testing/gobang/APKBUILD36
-rw-r--r--testing/gobuster/APKBUILD21
-rw-r--r--testing/godot/APKBUILD153
-rw-r--r--testing/godot/crash_handler_x11.patch30
-rw-r--r--testing/godot/gcc13.patch10
-rw-r--r--testing/godot/no-execinfo.patch27
-rw-r--r--testing/gomp/APKBUILD26
-rw-r--r--testing/googler/APKBUILD33
-rw-r--r--testing/goomwwm/APKBUILD2
-rw-r--r--testing/gopls/APKBUILD32
-rw-r--r--testing/gops/APKBUILD30
-rw-r--r--testing/goreman/APKBUILD29
-rw-r--r--testing/gortr/APKBUILD24
-rw-r--r--testing/gosu/APKBUILD43
-rw-r--r--testing/got/APKBUILD31
-rw-r--r--testing/gotestsum/APKBUILD24
-rw-r--r--testing/govc/APKBUILD25
-rw-r--r--testing/goxel/APKBUILD21
-rw-r--r--testing/goxel/fix-musl.patch20
-rw-r--r--testing/gpa/APKBUILD2
-rw-r--r--testing/gperftools/APKBUILD108
-rw-r--r--testing/gperftools/failed-tests.patch29
-rw-r--r--testing/gperftools/pkgconfig.patch19
-rw-r--r--testing/gpg-remailer/APKBUILD6
-rw-r--r--testing/gpg-tui/APKBUILD42
-rw-r--r--testing/gping/APKBUILD28
-rw-r--r--testing/gpm/APKBUILD86
-rw-r--r--testing/gpm/constify-format-strings.patch85
-rw-r--r--testing/gpm/error-format.patch39
-rw-r--r--testing/gpm/fix-highly-illegal-return-of-in-as-char.patch44
-rw-r--r--testing/gpm/fix-signedness-issue.patch24
-rw-r--r--testing/gpm/gcc-10.patch12
-rw-r--r--testing/gpm/gpm-include-sysmacros.patch10
-rw-r--r--testing/gpm/gpm.confd8
-rw-r--r--testing/gpm/gpm.initd10
-rw-r--r--testing/gpm/install-shared-libs-with-+x-perms.patch25
-rw-r--r--testing/gpm/install-unversioned-solibrary.patch36
-rw-r--r--testing/gpm/musl-fixes.patch64
-rw-r--r--testing/gprbuild/APKBUILD29
-rw-r--r--testing/gpsbabel/APKBUILD63
-rw-r--r--testing/gpscorrelate/APKBUILD47
-rw-r--r--testing/gpscorrelate/exiv2-0.28.patch87
-rw-r--r--testing/gr-osmosdr/APKBUILD60
-rw-r--r--testing/gr-osmosdr/add-python-bindings.patch173
-rw-r--r--testing/gr-osmosdr/fix-docstrings.patch40
-rw-r--r--testing/gr-osmosdr/gnuradio-3.9-compat.patch2298
-rw-r--r--testing/gr-osmosdr/use-std-shared-ptr.patch548
-rw-r--r--testing/gr-satellites/APKBUILD39
-rw-r--r--testing/gr-satellites/no-zip-man.patch18
-rw-r--r--testing/gradio/APKBUILD28
-rw-r--r--testing/grafana-image-renderer/APKBUILD31
-rw-r--r--testing/grafana-image-renderer/grafana-image-renderer.json21
-rw-r--r--testing/granite7/APKBUILD49
-rw-r--r--testing/grass/APKBUILD35
-rw-r--r--testing/grcov/APKBUILD25
-rw-r--r--testing/greetd-gtkgreet/APKBUILD29
-rw-r--r--testing/greetd-gtkgreet/fix-for-musl-use-uint-ssize.patch40
-rw-r--r--testing/greetd-mini-wl-greeter/APKBUILD42
-rw-r--r--testing/greetd-regreet/APKBUILD39
-rw-r--r--testing/greetd-wlgreet/APKBUILD43
-rw-r--r--testing/greetd/APKBUILD60
-rw-r--r--testing/greetd/config.patch22
-rw-r--r--testing/greetd/greetd.confd7
-rw-r--r--testing/greetd/greetd.initd18
-rw-r--r--testing/greetd/greetd.pam5
-rw-r--r--testing/greetd/greetd.pre-install9
-rw-r--r--testing/grip/APKBUILD32
-rw-r--r--testing/gron/APKBUILD18
-rw-r--r--testing/grpc-health-check/APKBUILD22
-rw-r--r--testing/grpcui/APKBUILD31
-rw-r--r--testing/grpcurl/APKBUILD31
-rw-r--r--testing/gsettings-qt/APKBUILD32
-rw-r--r--testing/gsimplecal/APKBUILD28
-rw-r--r--testing/gst-plugins-rs/APKBUILD60
-rw-r--r--testing/gst-plugins-rs/dylib.patch13
-rw-r--r--testing/gst-rtsp-server/APKBUILD25
-rw-r--r--testing/gstreamer-vaapi/APKBUILD29
-rw-r--r--testing/gstreamermm/APKBUILD11
-rw-r--r--testing/gtk4-layer-shell/APKBUILD62
-rw-r--r--testing/gtk4-layer-shell/no-lua-test.patch13
-rw-r--r--testing/gtkgreet/APKBUILD41
-rw-r--r--testing/gtkhash/APKBUILD89
-rw-r--r--testing/gtklock/APKBUILD25
-rw-r--r--[-rwxr-xr-x]testing/gtksourceviewmm3/APKBUILD19
-rw-r--r--[-rwxr-xr-x]testing/gtksourceviewmm4/APKBUILD19
-rw-r--r--testing/gtkwave/APKBUILD46
-rw-r--r--testing/guacamole-server/APKBUILD63
-rw-r--r--testing/guake/APKBUILD50
-rw-r--r--testing/guake/fix-install.patch19
-rw-r--r--[-rwxr-xr-x]testing/guetzli/APKBUILD2
-rw-r--r--testing/gufw/APKBUILD46
-rw-r--r--testing/guile-reader/APKBUILD38
-rw-r--r--testing/guish/APKBUILD31
-rw-r--r--testing/gutenprint/APKBUILD44
-rw-r--r--testing/gutenprint/fix-build.patch60
-rw-r--r--testing/gx-go/APKBUILD51
-rw-r--r--testing/gx-go/glide.lock86
-rw-r--r--testing/gx-go/glide.yaml12
-rw-r--r--testing/gx-go/gomod.patch190
-rw-r--r--testing/gx/APKBUILD44
-rw-r--r--testing/gx/glide.lock84
-rw-r--r--testing/gx/glide.yaml16
-rw-r--r--testing/gyp/APKBUILD30
-rw-r--r--testing/h1-cli/APKBUILD36
-rw-r--r--testing/h26forge/APKBUILD30
-rw-r--r--testing/h4h5tools/APKBUILD39
-rw-r--r--testing/h4h5tools/h4h5tools-format-security-fix.patch46
-rw-r--r--testing/habitctl/APKBUILD30
-rw-r--r--testing/hackrf/APKBUILD41
-rw-r--r--testing/halp/APKBUILD52
-rw-r--r--testing/hamlib/APKBUILD62
-rw-r--r--testing/hamster-time-tracker/APKBUILD62
-rw-r--r--testing/hamster-time-tracker/no-version-check.patch24
-rw-r--r--testing/handbrake/APKBUILD115
-rw-r--r--testing/handbrake/fix-missing-x265-link-flag.patch25
-rw-r--r--testing/handbrake/handbrake-9999-remove-dvdnav-dup.patch20
-rw-r--r--testing/handlebars/APKBUILD44
-rw-r--r--testing/handlebars/test_lmdb_cache.patch15
-rw-r--r--testing/hangover-wine/APKBUILD133
-rw-r--r--testing/hangover-wine/rpath.patch57
-rw-r--r--testing/happy/APKBUILD38
-rw-r--r--testing/hardened-malloc/APKBUILD33
-rw-r--r--testing/hare-cairo/APKBUILD30
-rw-r--r--testing/hare-madeline/APKBUILD26
-rw-r--r--testing/hare-scfg/APKBUILD28
-rw-r--r--testing/hare-wayland/APKBUILD29
-rw-r--r--testing/hare-xkb/APKBUILD31
-rw-r--r--testing/haredo/APKBUILD31
-rw-r--r--testing/hari/APKBUILD24
-rw-r--r--testing/harminv/APKBUILD22
-rw-r--r--testing/hashcat/0001-fix-modules-path.patch33
-rw-r--r--testing/hashcat/APKBUILD30
-rw-r--r--testing/hatop/APKBUILD22
-rw-r--r--testing/havoc/APKBUILD25
-rw-r--r--testing/hctl/APKBUILD33
-rw-r--r--testing/hd-idle/APKBUILD46
-rw-r--r--testing/hd-idle/hd-idle.confd12
-rw-r--r--testing/hd-idle/hd-idle.initd13
-rw-r--r--testing/hd-idle/hd-idle.logrotate10
-rw-r--r--testing/hdf4/10-hdf-ppc.patch189
-rw-r--r--testing/hdf4/20-hdf-4.2.4-sparc.patch78
-rw-r--r--testing/hdf4/30-hdf-s390.patch317
-rw-r--r--testing/hdf4/40-hdf-arm.patch81
-rw-r--r--testing/hdf4/50-hdf-aarch64.patch289
-rw-r--r--testing/hdf4/60-hdf-ppc64le.patch83
-rw-r--r--testing/hdf4/APKBUILD117
-rw-r--r--testing/hdr10plus-tool/APKBUILD37
-rw-r--r--testing/headlines/APKBUILD33
-rw-r--r--testing/headscale/APKBUILD63
-rw-r--r--testing/headscale/headscale.initd25
-rw-r--r--testing/headscale/headscale.pre-install6
-rw-r--r--testing/heh/APKBUILD40
-rw-r--r--testing/helm-ls/APKBUILD35
-rw-r--r--testing/helm/APKBUILD64
-rw-r--r--testing/helmfile/APKBUILD62
-rw-r--r--testing/helvum/APKBUILD17
-rw-r--r--testing/helvum/pipewire-rs-0.7.2.patch17
-rw-r--r--testing/heplify-server/APKBUILD27
-rw-r--r--testing/heplify-server/fix-go-vet-errors.patch77
-rw-r--r--testing/heplify-server/heplify-server.initd4
-rw-r--r--testing/heplify/APKBUILD34
-rw-r--r--testing/heplify/heplify.initd2
-rw-r--r--testing/herbe/APKBUILD24
-rw-r--r--testing/hex/APKBUILD18
-rw-r--r--testing/hexdiff/APKBUILD2
-rw-r--r--testing/hexedit/APKBUILD41
-rw-r--r--testing/hexer/APKBUILD6
-rw-r--r--testing/hexinject/APKBUILD30
-rw-r--r--testing/hexinject/fix-build.patch15
-rw-r--r--testing/hfst/APKBUILD36
-rw-r--r--testing/hfst/missing_unistd_include.patch10
-rw-r--r--testing/hiawatha/APKBUILD17
-rw-r--r--testing/hiawatha/letsencrypt.helper2
-rw-r--r--testing/hidrd/APKBUILD2
-rw-r--r--testing/hikari/APKBUILD45
-rw-r--r--testing/hikari/flag-arg.patch17
-rw-r--r--testing/hilbish/APKBUILD58
-rw-r--r--testing/hilbish/hilbish.post-install3
l---------testing/hilbish/hilbish.post-upgrade1
-rw-r--r--testing/hilbish/hilbish.pre-deinstall3
-rw-r--r--testing/himalaya/APKBUILD36
-rw-r--r--testing/himitsu-firefox/APKBUILD26
-rwxr-xr-xtesting/himitsu-firefox/himitsu-firefox.post-install10
-rw-r--r--testing/himitsu-git/APKBUILD28
-rw-r--r--testing/himitsu-keyring/APKBUILD29
-rw-r--r--testing/hinsightd/APKBUILD62
-rw-r--r--testing/hiprompt-gtk-py/APKBUILD30
-rw-r--r--testing/hiredict/APKBUILD51
-rw-r--r--testing/hkdm/APKBUILD39
-rw-r--r--testing/hkdm/hkdm.conf1
-rw-r--r--testing/hkdm/hkdm.openrc6
-rw-r--r--testing/hledger-iadd/APKBUILD40
-rw-r--r--testing/hledger-iadd/cabal.project.freeze177
-rw-r--r--testing/hledger-ui/APKBUILD42
-rw-r--r--testing/hledger-ui/cabal.project.freeze191
-rw-r--r--testing/hledger-web/APKBUILD46
-rw-r--r--testing/hledger-web/cabal.project.freeze321
-rw-r--r--testing/hledger-web/hledger-web.initd22
-rw-r--r--testing/hledger-web/hledger-web.pre-install6
-rw-r--r--testing/hledger/APKBUILD44
-rw-r--r--testing/hledger/cabal.project.freeze156
-rw-r--r--testing/homebank/APKBUILD19
-rw-r--r--testing/homer-app/0001-change-web-and-config-paths.patch89
-rw-r--r--testing/homer-app/APKBUILD34
-rw-r--r--testing/homer-app/change-default-locations.patch49
-rw-r--r--testing/homer-app/homer-app.initd2
-rw-r--r--testing/hopalong/APKBUILD16
-rw-r--r--testing/horizon/APKBUILD18
-rw-r--r--testing/horizon/strerror.patch12
-rw-r--r--testing/horizon/werror.patch12
-rw-r--r--testing/horust/APKBUILD44
-rw-r--r--testing/hotspot/APKBUILD44
-rw-r--r--testing/howard-bc/APKBUILD8
-rw-r--r--testing/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch143
-rw-r--r--testing/hplip/APKBUILD60
-rw-r--r--testing/hplip/fix-includes.patch20
-rw-r--r--testing/hplip/more-imageprocessor-removes.patch67
-rw-r--r--testing/hplip/no-empty-glob.patch18
-rw-r--r--testing/hplip/python-3.8-compat.patch15
-rw-r--r--testing/hsetroot/APKBUILD2
-rw-r--r--testing/hstdb/APKBUILD52
-rw-r--r--testing/hstdb/default-histfile-path.patch33
-rw-r--r--testing/hstdb/fix-format_duration-panicing.patch332
-rw-r--r--testing/hstdb/rename-text_excluded.patch27
-rw-r--r--testing/hstdb/replace-pretty_env_logger.patch137
-rw-r--r--testing/hstdb/strip-features.patch12
-rw-r--r--testing/htmlcxx/APKBUILD11
-rw-r--r--testing/htmldoc/APKBUILD30
-rw-r--r--testing/htmlq/APKBUILD24
-rw-r--r--testing/htslib/APKBUILD49
-rw-r--r--testing/httpie-oauth/APKBUILD14
-rw-r--r--testing/httrack/APKBUILD4
-rw-r--r--testing/hub/APKBUILD8
-rw-r--r--testing/hubble-cli/APKBUILD57
-rw-r--r--testing/hubble-cli/byteorder-add-s390x-support.patch11
-rw-r--r--testing/hunspell-ca-es/APKBUILD22
-rw-r--r--testing/hunspell-es-ar/APKBUILD35
-rw-r--r--testing/hurl/APKBUILD30
-rw-r--r--testing/hut/APKBUILD43
-rw-r--r--testing/hw-probe/APKBUILD28
-rw-r--r--testing/hwatch/APKBUILD42
-rw-r--r--testing/hx/APKBUILD30
-rw-r--r--testing/hx/broken-makefile.patch40
-rw-r--r--testing/hx/hx.post-install7
-rw-r--r--testing/hy/APKBUILD38
-rw-r--r--testing/hyperlink/APKBUILD40
-rw-r--r--testing/hyperlink/bump-getrandom.patch42
-rw-r--r--testing/hypnotix/0001-fix-locale-has-no-attribute-bindtextdomain.patch11
-rw-r--r--testing/hypnotix/APKBUILD44
-rw-r--r--testing/hyprcursor/APKBUILD50
-rw-r--r--testing/hyprland/APKBUILD99
-rw-r--r--testing/hyprland/bump-soversion.patch.wlroots13
-rw-r--r--testing/hyprland/use-system-installed-udis86.patch15
-rw-r--r--testing/hyx/APKBUILD22
-rw-r--r--testing/i2util/APKBUILD2
-rw-r--r--testing/i3blocks/APKBUILD37
-rw-r--r--testing/i3blocks/fix-makefile.patch15
-rw-r--r--testing/i3status-rust/APKBUILD60
-rw-r--r--testing/i3wm-gaps/APKBUILD31
-rw-r--r--testing/ibus-anthy/APKBUILD32
-rw-r--r--testing/ibus-hangul/0001-Update-gettext-version.patch25
-rw-r--r--testing/ibus-hangul/0002-Use-gettext-module.patch25
-rw-r--r--testing/ibus-hangul/APKBUILD45
-rw-r--r--testing/ibus-libpinyin/APKBUILD42
-rw-r--r--testing/ibus-rime/APKBUILD33
-rw-r--r--testing/icdiff/APKBUILD40
-rw-r--r--testing/icdiff/fix-flake8-binary.patch24
-rw-r--r--testing/icestorm/0001-fix-format-specifiers.patch95
-rw-r--r--testing/icestorm/APKBUILD33
-rw-r--r--testing/icewm/APKBUILD59
-rw-r--r--testing/icingaweb2-module-businessprocess/APKBUILD9
-rw-r--r--testing/icingaweb2-module-fileshipper/APKBUILD12
-rw-r--r--testing/icingaweb2-module-generictts/APKBUILD12
-rw-r--r--testing/icingaweb2-module-pnp/APKBUILD8
-rw-r--r--testing/icmake/APKBUILD12
-rw-r--r--testing/icmake/disable-clear-screen.patch26
-rw-r--r--testing/idesk/APKBUILD19
-rw-r--r--testing/idesk/imlib2.patch27
-rw-r--r--testing/ideviceinstaller/APKBUILD6
-rw-r--r--testing/idevicerestore/APKBUILD6
-rw-r--r--testing/idris/APKBUILD160
-rw-r--r--testing/idris/cabal.config98
-rw-r--r--testing/idris2/APKBUILD55
-rw-r--r--testing/iec16022/APKBUILD36
-rw-r--r--testing/ifuse/APKBUILD9
-rw-r--r--testing/igrep/APKBUILD40
-rw-r--r--testing/igt-gpu-tools/APKBUILD51
-rw-r--r--testing/igt-gpu-tools/bash-sh.patch66
-rw-r--r--testing/igt-gpu-tools/fix-meson.patch36
-rw-r--r--testing/igt-gpu-tools/musl.patch203
-rw-r--r--testing/iipsrv/APKBUILD63
-rw-r--r--testing/iipsrv/RawTile.patch10
-rw-r--r--testing/iipsrv/apache.iipsrv.conf1
-rw-r--r--testing/iipsrv/iipsrv.confd5
-rw-r--r--testing/iipsrv/iipsrv.initd14
-rw-r--r--testing/iipsrv/iipsrv.pre-install8
-rw-r--r--testing/iipsrv/lighttpd.iipsrv.conf6
-rw-r--r--testing/iir1/APKBUILD41
-rw-r--r--testing/ijq/APKBUILD11
-rw-r--r--testing/ima-evm-utils/APKBUILD54
-rw-r--r--testing/imageflow/APKBUILD65
-rw-r--r--testing/imapfilter/APKBUILD8
-rw-r--r--testing/imath/APKBUILD65
-rw-r--r--testing/imediff/APKBUILD33
-rw-r--r--testing/imgdiff/APKBUILD30
-rw-r--r--testing/imhex/APKBUILD30
-rw-r--r--testing/imhex/force-release-flags.patch14
-rw-r--r--testing/imrsh/APKBUILD4
-rw-r--r--testing/indi-3rdparty/APKBUILD50
-rw-r--r--testing/initify/APKBUILD2
-rw-r--r--testing/innernet/APKBUILD69
-rw-r--r--testing/innernet/innernet-server.confd4
-rw-r--r--testing/innernet/innernet-server.initd19
-rw-r--r--testing/innernet/innernet.confd4
-rw-r--r--testing/innernet/innernet.initd19
-rw-r--r--testing/innernet/unbundle-sqlite.patch25
-rwxr-xr-xtesting/inspircd/APKBUILD58
-rw-r--r--testing/intel-compute-runtime/APKBUILD43
-rw-r--r--testing/intel-compute-runtime/link-execinfo.patch50
-rw-r--r--testing/intel-compute-runtime/pthread-yield.patch22
-rw-r--r--testing/intel-compute-runtime/remove-rtld-deepbind.patch19
-rw-r--r--testing/intel-compute-runtime/remove-select.patch14
-rw-r--r--testing/intel-graphics-compiler/APKBUILD52
-rw-r--r--testing/intel-graphics-compiler/remove-rtld-deepbind.patch12
-rw-r--r--testing/intel-graphics-compiler/xsi_strerror_r.patch25
-rw-r--r--testing/intel-media-sdk/APKBUILD74
-rw-r--r--testing/intel-media-sdk/musl-compat.patch14
-rw-r--r--testing/interception-tools/APKBUILD50
-rw-r--r--testing/interception-tools/modules-load.conf1
-rw-r--r--testing/interception-tools/udevmon.initd11
-rw-r--r--testing/intiface-central/APKBUILD85
-rw-r--r--testing/intiface-central/intiface-central7
-rw-r--r--testing/intiface-central/intiface-central.desktop8
-rw-r--r--testing/intiface-central/no-werror.patch11
-rw-r--r--testing/intiface-central/pmos-fit-screen.patch105
-rw-r--r--testing/intiface-central/system-corrosion.patch24
-rw-r--r--testing/intiface-central/system-flutter.patch15
-rw-r--r--testing/iodine/APKBUILD27
-rw-r--r--testing/iozone/APKBUILD49
-rw-r--r--testing/ip2location/APKBUILD40
-rw-r--r--testing/iprange/APKBUILD2
-rw-r--r--testing/irccd/APKBUILD36
-rw-r--r--[-rwxr-xr-x]testing/ircd-hybrid/APKBUILD6
-rw-r--r--testing/irclog2html/APKBUILD26
-rw-r--r--testing/isoinfo/APKBUILD2
-rw-r--r--testing/isomd5sum/APKBUILD2
-rw-r--r--testing/itd/APKBUILD33
-rw-r--r--testing/iverilog/APKBUILD46
-rw-r--r--testing/iverilog/autoconf-2.70.patch304
-rw-r--r--testing/j4-dmenu-desktop/APKBUILD31
-rw-r--r--testing/jack_capture/APKBUILD8
-rw-r--r--testing/jackal/APKBUILD60
-rw-r--r--testing/jackal/config.yml.tmpl138
-rw-r--r--testing/jackal/init.sql3
-rw-r--r--testing/jackal/jackal.initd18
-rw-r--r--testing/jackal/jackal.logrotate7
-rw-r--r--testing/jackal/jackal.post-install12
-rw-r--r--testing/jackal/jackal.pre-install11
-rw-r--r--testing/jackdaw/APKBUILD46
-rw-r--r--testing/jackett/APKBUILD70
-rw-r--r--testing/jackett/jackett.confd6
-rw-r--r--testing/jackett/jackett.initd26
-rw-r--r--testing/jackett/jackett.pre-install6
-rw-r--r--testing/jackline/APKBUILD108
-rw-r--r--testing/jackline/use-built-in-uchar-lib.patch10
-rw-r--r--testing/jalv/APKBUILD55
-rw-r--r--testing/jami-daemon/APKBUILD86
-rw-r--r--testing/jami-daemon/dhtnet-unpack-dir.patch11
-rw-r--r--testing/jami-qt/APKBUILD77
-rw-r--r--testing/jami-qt/drop-qt-version-check.patch19
-rw-r--r--testing/jami-qt/system.patch33
-rw-r--r--testing/janus-gateway/APKBUILD66
-rw-r--r--testing/janus-gateway/janus-gateway.confd3
-rw-r--r--testing/janus-gateway/janus-gateway.initd32
-rw-r--r--testing/janus-gateway/janus-gateway.pre-install5
-rw-r--r--testing/jaq/APKBUILD36
-rw-r--r--testing/jaq/fix-drop-test.patch13
-rw-r--r--testing/java-asmtools/APKBUILD25
-rw-r--r--testing/java-asmtools/java-version-check.patch17
-rw-r--r--testing/java-jtharness/APKBUILD24
-rw-r--r--testing/java-jtreg/APKBUILD73
-rw-r--r--testing/java-jtreg/fix-build-script.patch110
-rw-r--r--testing/java-jtreg/fix-build.patch11
-rw-r--r--testing/java-jtreg/fix-version-number.patch27
-rw-r--r--testing/java-jtreg/headless-tests.patch17
-rw-r--r--testing/jbigkit/APKBUILD4
-rw-r--r--testing/jdebp-redo/APKBUILD8
-rw-r--r--testing/jdupes/APKBUILD13
-rw-r--r--testing/jdupes/system-xxhash.patch48
-rw-r--r--testing/jedi-language-server/APKBUILD27
-rw-r--r--testing/jfrog-cli/APKBUILD14
-rw-r--r--testing/jhead/APKBUILD25
-rw-r--r--testing/jicofo/APKBUILD63
-rw-r--r--testing/jicofo/jicofo.conf10
-rw-r--r--testing/jicofo/jicofo.confd36
-rw-r--r--testing/jicofo/jicofo.initd28
-rw-r--r--testing/jicofo/jicofo.logrotate10
-rw-r--r--testing/jicofo/jicofo.pre-install6
-rw-r--r--testing/jicofo/sip-communicator.properties1
-rw-r--r--testing/jigasi/APKBUILD55
-rw-r--r--testing/jigasi/jigasi.confd27
-rw-r--r--testing/jigasi/jigasi.initd29
-rw-r--r--testing/jigasi/jigasi.logrotate10
-rw-r--r--testing/jigasi/jigasi.pre-install6
-rw-r--r--testing/jigasi/sip-communicator.properties160
-rw-r--r--testing/jinja2-cli/APKBUILD23
-rw-r--r--testing/jitsi-meet/APKBUILD86
-rw-r--r--testing/jitsi-meet/openssl3.patch13
-rw-r--r--testing/jitsi-videobridge/APKBUILD67
-rw-r--r--testing/jitsi-videobridge/jitsi-videobridge.confd34
-rw-r--r--testing/jitsi-videobridge/jitsi-videobridge.initd28
-rw-r--r--testing/jitsi-videobridge/jitsi-videobridge.logrotate12
-rw-r--r--testing/jitsi-videobridge/jitsi-videobridge.pre-install6
-rw-r--r--testing/jitsi-videobridge/jvb.conf13
-rw-r--r--testing/jitsi-videobridge/sip-communicator.properties20
-rw-r--r--testing/jreleaser/APKBUILD61
-rw-r--r--testing/jrsonnet-cli/APKBUILD36
-rw-r--r--testing/jshon/APKBUILD37
-rw-r--r--testing/jshon/disable-werror.patch10
-rw-r--r--testing/jshon/missing-typesh.patch10
-rw-r--r--testing/jsmn/APKBUILD22
-rw-r--r--testing/json-c0.12/APKBUILD45
-rw-r--r--testing/json2tsv/APKBUILD52
-rw-r--r--testing/jsonnet-bundler/APKBUILD30
-rw-r--r--testing/jsonnet-language-server/APKBUILD30
-rw-r--r--testing/judy/APKBUILD40
-rw-r--r--testing/junit2html/APKBUILD13
-rw-r--r--testing/jwt-cli/APKBUILD34
-rw-r--r--testing/k2/APKBUILD27
-rw-r--r--testing/k3sup/APKBUILD53
-rw-r--r--testing/kabmat/APKBUILD29
-rw-r--r--testing/kabmat/makefile.patch43
-rw-r--r--testing/kak-lsp/APKBUILD19
-rw-r--r--testing/kakoune/APKBUILD33
-rw-r--r--testing/kakoune/alpine-linux.kak4
-rw-r--r--testing/kanister-tools/APKBUILD62
-rw-r--r--testing/kannel/APKBUILD2
-rw-r--r--testing/kapow/APKBUILD18
-rw-r--r--testing/kapow/fix-cgo.patch11
-rw-r--r--testing/katana/APKBUILD35
-rw-r--r--testing/katarakt/APKBUILD32
-rw-r--r--testing/kbs2/APKBUILD31
-rw-r--r--testing/kbs2/cargo-update-libc-lfs64.patch16
-rw-r--r--testing/kcgi/APKBUILD38
-rw-r--r--testing/kdiff3/APKBUILD47
-rw-r--r--testing/kdiskmark/APKBUILD47
-rw-r--r--testing/keama/APKBUILD44
-rw-r--r--testing/keepassxc-browser/APKBUILD30
-rw-r--r--testing/keepassxc-proxy-static/APKBUILD60
-rw-r--r--testing/keepassxc-proxy-static/keepassxc-proxy-install.in100
-rw-r--r--testing/keepassxc-proxy-static/keepassxc-proxy-static.post-install7
-rw-r--r--testing/kerberoast/APKBUILD37
-rw-r--r--testing/kexec-tools/APKBUILD35
-rw-r--r--testing/kexec-tools/fix-build-on-Alpine-linux.patch28
-rw-r--r--testing/keybase-client/APKBUILD14
-rw-r--r--testing/keynav/APKBUILD30
-rw-r--r--testing/keystone/APKBUILD6
-rw-r--r--testing/kfc/APKBUILD26
-rw-r--r--testing/kgeotag/APKBUILD47
-rw-r--r--testing/khal/APKBUILD60
-rw-r--r--testing/khard/APKBUILD46
-rw-r--r--testing/khinsider/APKBUILD34
-rw-r--r--testing/khronos/APKBUILD38
-rw-r--r--testing/kicad-library/APKBUILD58
-rw-r--r--testing/kicad/APKBUILD110
-rw-r--r--testing/kimchi/APKBUILD19
-rw-r--r--testing/kind/APKBUILD47
-rw-r--r--testing/kind/skip-version-test.patch11
-rw-r--r--testing/kine/APKBUILD22
-rw-r--r--testing/kirc/APKBUILD29
-rw-r--r--testing/kismet/APKBUILD55
-rw-r--r--testing/kismet/sqlite3-longlong.patch21
-rw-r--r--testing/kiwix-desktop/APKBUILD32
-rw-r--r--testing/kiwix-lib/APKBUILD34
-rw-r--r--testing/kiwix-tools/APKBUILD27
-rw-r--r--testing/kjv/APKBUILD30
-rw-r--r--testing/klfc/APKBUILD37
-rw-r--r--testing/klfc/cabal.config78
-rw-r--r--testing/klfc/ghc9-001.patch22
-rw-r--r--testing/klfc/ghc9-002.patch41
-rw-r--r--testing/klibc/APKBUILD221
-rwxr-xr-xtesting/klibc/libklibc.post-deinstall17
-rwxr-xr-xtesting/klibc/libklibc.post-install18
-rw-r--r--testing/kmscon/APKBUILD47
-rw-r--r--testing/knative-client/APKBUILD49
-rw-r--r--testing/knxd/APKBUILD30
-rw-r--r--testing/ko/APKBUILD47
-rw-r--r--testing/ko/unset-CGO_ENABLED.patch20
-rw-r--r--testing/kodi-audioencoder-flac/APKBUILD23
-rw-r--r--testing/kodi-audioencoder-lame/APKBUILD23
-rw-r--r--testing/kodi-audioencoder-vorbis/APKBUILD23
-rw-r--r--testing/kodi-audioencoder-wav/APKBUILD23
-rw-r--r--testing/kodi-game-libretro-atari800/APKBUILD25
-rw-r--r--testing/kodi-game-libretro-beetle-bsnes/APKBUILD19
-rw-r--r--testing/kodi-game-libretro-beetle-lynx/APKBUILD18
-rw-r--r--testing/kodi-game-libretro-beetle-ngp/APKBUILD19
-rw-r--r--testing/kodi-game-libretro-beetle-pce-fast/APKBUILD19
-rw-r--r--testing/kodi-game-libretro-beetle-pcfx/APKBUILD19
-rw-r--r--testing/kodi-game-libretro-beetle-psx/APKBUILD21
-rw-r--r--testing/kodi-game-libretro-beetle-saturn/APKBUILD18
-rw-r--r--testing/kodi-game-libretro-beetle-supergrafx/APKBUILD18
-rw-r--r--testing/kodi-game-libretro-beetle-vb/APKBUILD19
-rw-r--r--testing/kodi-game-libretro-beetle-wswan/APKBUILD19
-rw-r--r--testing/kodi-game-libretro-desmume/APKBUILD21
-rw-r--r--testing/kodi-game-libretro-dosbox/APKBUILD20
-rw-r--r--testing/kodi-game-libretro-fbneo/APKBUILD14
-rw-r--r--testing/kodi-game-libretro-frodo/APKBUILD19
-rw-r--r--testing/kodi-game-libretro-mame2000/APKBUILD18
-rw-r--r--testing/kodi-game-libretro-mame2003/APKBUILD18
-rw-r--r--testing/kodi-game-libretro-mgba/APKBUILD18
-rw-r--r--testing/kodi-game-libretro-mupen64plus-nx/APKBUILD18
-rw-r--r--testing/kodi-game-libretro-nestopia/APKBUILD18
-rw-r--r--testing/kodi-game-libretro-snes9x/APKBUILD15
-rw-r--r--testing/kodi-game-libretro-theodore/APKBUILD18
-rw-r--r--testing/kodi-game-libretro/APKBUILD17
-rw-r--r--testing/kodi-inputstream-adaptive/APKBUILD31
-rw-r--r--testing/kodi-inputstream-ffmpegdirect/APKBUILD25
-rw-r--r--testing/kodi-inputstream-ffmpegdirect/ctime.patch12
-rw-r--r--testing/kodi-inputstream-ffmpegdirect/gcc13.patch24
-rw-r--r--testing/kodi-inputstream-rtmp/APKBUILD21
-rw-r--r--testing/kodi-peripheral-joystick/APKBUILD17
-rw-r--r--testing/kodi-pvr-hts/APKBUILD24
-rw-r--r--testing/kodi-pvr-hts/ctime.patch12
-rw-r--r--testing/kodi-pvr-iptvsimple/APKBUILD17
-rw-r--r--testing/kodi-vfs-libarchive/APKBUILD17
-rw-r--r--testing/kodi-vfs-rar/APKBUILD17
-rw-r--r--testing/kodi-vfs-sacd/APKBUILD22
-rw-r--r--testing/kodi-vfs-sacd/int-conversion.patch16
-rw-r--r--testing/kodi-vfs-sftp/APKBUILD17
-rw-r--r--testing/komikku/APKBUILD59
-rw-r--r--testing/kompose/APKBUILD43
-rw-r--r--testing/kompose/fix-cgo.patch11
-rw-r--r--testing/kondo/APKBUILD45
-rw-r--r--testing/kopano-core/0001-python-Use-libmdbx-instead-of-bsddb.patch228
-rw-r--r--testing/kopano-core/0002-provider.patch20
-rw-r--r--testing/kopano-core/0003-spamd-Correct-owner-and-group-of-spamd-ham_dir-spam_.patch28
-rw-r--r--testing/kopano-core/0004-configure.ac-depend-on-libldap-not-libldap_r-doesn-t.patch26
-rw-r--r--testing/kopano-core/APKBUILD366
-rw-r--r--testing/kopano-core/fix-icu-69-1.patch11
-rw-r--r--testing/kopano-core/kopano-core.pre-install15
-rw-r--r--testing/kopano-core/kopano-dagent.initd12
-rw-r--r--testing/kopano-core/kopano-gateway.initd8
-rw-r--r--testing/kopano-core/kopano-ical.initd8
-rw-r--r--testing/kopano-core/kopano-monitor.initd8
-rw-r--r--testing/kopano-core/kopano-search.initd12
-rw-r--r--testing/kopano-core/kopano-server.conf1
-rw-r--r--testing/kopano-core/kopano-server.initd12
-rw-r--r--testing/kopano-core/kopano-spamd.initd8
-rw-r--r--testing/kopano-core/kopano-spooler.initd8
-rw-r--r--testing/kopano-webapp-desktopnotifications/APKBUILD112
-rw-r--r--testing/kopano-webapp-fetchmail/APKBUILD109
-rw-r--r--testing/kopano-webapp-filepreviewer/APKBUILD109
-rw-r--r--testing/kopano-webapp-files-backend-owncloud/APKBUILD110
-rw-r--r--testing/kopano-webapp-files-backend-smb/APKBUILD110
-rw-r--r--testing/kopano-webapp-files/APKBUILD119
-rw-r--r--testing/kopano-webapp-files/kopano-webapp-files.ini2
-rw-r--r--testing/kopano-webapp-intranet/APKBUILD110
-rw-r--r--testing/kopano-webapp-mdm/APKBUILD114
-rw-r--r--testing/kopano-webapp-smime/APKBUILD112
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-de-at/APKBUILD109
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-de-ch/APKBUILD113
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-de-de/APKBUILD113
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-en-gb/APKBUILD113
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-en-us/APKBUILD109
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-es-es/APKBUILD109
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-fr-fr/APKBUILD109
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-it-it/APKBUILD113
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-nl-nl/APKBUILD113
-rw-r--r--testing/kopano-webapp-spellchecker-languagepack-pl-pl/APKBUILD113
-rw-r--r--testing/kopano-webapp-spellchecker/APKBUILD111
-rw-r--r--testing/kopano-webapp-spellchecker/kopano-webapp-spellchecker.ini1
-rw-r--r--testing/kopano-webapp/0001-Fix-fatal-errors-in-translation-files.patch42
-rw-r--r--testing/kopano-webapp/APKBUILD242
-rwxr-xr-xtesting/kopano-webapp/compress-static38
-rw-r--r--testing/kopano-webapp/kopano-webapp.conf32
-rw-r--r--testing/kopano-webapp/kopano-webapp.ini3
-rw-r--r--testing/kopano-webapp/kopano-webapp.pre-install7
-rw-r--r--testing/kopano-webapp/nginx-location.conf43
-rw-r--r--testing/kopano-webapp/php-fpm.example.conf6
-rw-r--r--testing/kopia/APKBUILD31
-rw-r--r--testing/kops/APKBUILD22
-rw-r--r--testing/kops/cilium-builder-skip-test-without-sysfs.patch26
-rw-r--r--testing/kotlin-language-server/APKBUILD31
-rw-r--r--testing/kpatch/02-argp.patch11
-rw-r--r--testing/kpatch/03-ppc64.patch15
-rw-r--r--testing/kpatch/APKBUILD41
-rw-r--r--testing/kristall/APKBUILD31
-rw-r--r--testing/kristall/set-kristall-version.patch11
-rw-r--r--testing/krita-plugin-gmic/APKBUILD53
-rw-r--r--testing/krita-plugin-gmic/gmic-sys.patch14
-rw-r--r--testing/krita-plugin-gmic/no-qt6.patch11
-rw-r--r--testing/kstars/APKBUILD76
-rw-r--r--testing/kstars/tests-disable-ngc4535-autofocus3.patch12
-rw-r--r--testing/kube-no-trouble/APKBUILD39
-rw-r--r--testing/kubectl-cert-manager/APKBUILD34
-rw-r--r--testing/kubectl-krew/APKBUILD42
-rw-r--r--testing/kubectl-krew/test-use-testing-tmpdir.patch15
-rw-r--r--testing/kubectl-oidc_login/APKBUILD32
-rw-r--r--testing/kubeone/APKBUILD61
-rw-r--r--testing/kubepug/APKBUILD52
-rw-r--r--testing/kubernetes/APKBUILD228
-rw-r--r--testing/kubernetes/ensure-cgo-usage.patch32
-rw-r--r--testing/kubernetes/kube-apiserver.confd7
-rwxr-xr-xtesting/kubernetes/kube-apiserver.initd21
-rw-r--r--testing/kubernetes/kube-apiserver.logrotated7
-rw-r--r--testing/kubernetes/kube-controller-manager.confd7
-rwxr-xr-xtesting/kubernetes/kube-controller-manager.initd19
-rw-r--r--testing/kubernetes/kube-controller-manager.logrotated7
-rw-r--r--testing/kubernetes/kube-proxy.confd4
-rwxr-xr-xtesting/kubernetes/kube-proxy.initd20
-rw-r--r--testing/kubernetes/kube-proxy.logrotated8
-rw-r--r--testing/kubernetes/kube-scheduler.confd7
-rwxr-xr-xtesting/kubernetes/kube-scheduler.initd19
-rw-r--r--testing/kubernetes/kube-scheduler.logrotated7
-rw-r--r--testing/kubernetes/kubelet.confd1
-rwxr-xr-xtesting/kubernetes/kubelet.initd21
-rw-r--r--testing/kubernetes/kubelet.logrotated7
-rw-r--r--testing/kubernetes/make-e2e_node-run-over-distro-bins.patch12
-rw-r--r--testing/kubernetes/make-test-cmd-run-over-hyperkube-based-kubectl.patch19
-rw-r--r--testing/kubesplit/APKBUILD29
-rw-r--r--testing/kubesplit/remove-hard-pytest-requirement.patch15
-rw-r--r--testing/kumactl/APKBUILD114
-rw-r--r--testing/kumactl/kuma-cp.confd16
-rw-r--r--testing/kumactl/kuma-cp.initd29
-rw-r--r--testing/kumactl/kuma-cp.pre-install6
-rw-r--r--testing/kumactl/kuma-dp.confd16
-rw-r--r--testing/kumactl/kuma-dp.initd28
l---------testing/kumactl/kuma-dp.pre-install1
-rw-r--r--testing/laminar/APKBUILD77
-rw-r--r--testing/laminar/laminar.initd23
-rw-r--r--testing/laminar/laminar.pre-install10
-rw-r--r--testing/laminar/laminard-location.patch13
-rw-r--r--testing/laminar/libstdc++13.patch12
-rw-r--r--testing/laminar/musl.patch12
-rw-r--r--testing/laminar/no-network.patch22
-rw-r--r--testing/laze/APKBUILD60
-rw-r--r--testing/lazydocker/APKBUILD27
-rw-r--r--testing/lazymc/APKBUILD45
-rw-r--r--testing/lazymc/lazymc.confd3
-rw-r--r--testing/lazymc/lazymc.initd27
-rw-r--r--testing/lazymc/lazymc.pre-install6
-rw-r--r--testing/lbreakout2/APKBUILD49
-rw-r--r--testing/lbreakouthd/APKBUILD57
-rw-r--r--testing/lbreakouthd/fix-undeclared-uint.patch10
-rw-r--r--testing/lcalc/APKBUILD39
-rw-r--r--testing/lcov/APKBUILD20
-rw-r--r--testing/ldapdomaindump/APKBUILD37
-rw-r--r--testing/ledmon/10-musl-build.patch218
-rw-r--r--testing/ledmon/APKBUILD42
-rw-r--r--testing/legume/APKBUILD34
-rw-r--r--testing/lemmy-ui/APKBUILD97
-rw-r--r--testing/lemmy-ui/lemmy-ui.confd13
-rw-r--r--testing/lemmy-ui/lemmy-ui.initd27
-rw-r--r--testing/lemmy-ui/lemmy-ui.pre-install11
-rw-r--r--testing/lemmy/APKBUILD76
-rw-r--r--testing/lemmy/fix-db-init-script.patch26
-rw-r--r--testing/lemmy/lemmy-localdb.post-install9
-rw-r--r--testing/lemmy/lemmy.initd26
-rw-r--r--testing/lemmy/lemmy.pre-install11
-rw-r--r--testing/lemonbar/APKBUILD4
-rw-r--r--testing/leocad/APKBUILD33
-rw-r--r--testing/leptosfmt/APKBUILD42
-rw-r--r--testing/level-zero/APKBUILD37
-rw-r--r--testing/levmar-dev/APKBUILD33
-rw-r--r--testing/lf/APKBUILD50
-rw-r--r--testing/lfm/APKBUILD27
-rw-r--r--testing/lfm/interp.patch10
-rw-r--r--testing/lgogdownloader/APKBUILD10
-rw-r--r--testing/lib3mf/APKBUILD38
-rw-r--r--testing/libabigail/APKBUILD96
-rw-r--r--testing/libabigail/apk.patch16
-rw-r--r--testing/libabigail/musl-fts.patch11
-rw-r--r--testing/libantic/APKBUILD40
-rw-r--r--testing/libantlr3c/APKBUILD6
-rw-r--r--testing/libarb/APKBUILD38
-rw-r--r--testing/libaudec/APKBUILD42
-rw-r--r--testing/libbamf/APKBUILD41
-rw-r--r--testing/libbaseencode/APKBUILD29
-rw-r--r--testing/libblastrampoline/APKBUILD37
-rw-r--r--testing/libbloom/APKBUILD10
-rw-r--r--testing/libbraiding/APKBUILD32
-rw-r--r--testing/libbs2b/APKBUILD42
-rw-r--r--testing/libcamera/0001-fix-unit-tests-build.patch31
-rw-r--r--testing/libcamera/APKBUILD97
-rw-r--r--testing/libcamera/qcam.desktop8
-rw-r--r--testing/libcec-rpi/APKBUILD14
-rw-r--r--testing/libcec-rpi/fix-null-return.patch20
-rw-r--r--testing/libcork/APKBUILD44
-rw-r--r--testing/libcork/fix-gcc-10.patch1182
-rw-r--r--testing/libcork/format-security.patch13
-rw-r--r--testing/libcork/no-git.patch33
-rw-r--r--testing/libcorkipset/APKBUILD40
-rw-r--r--testing/libcorkipset/fix-gcc-10.patch1548
-rw-r--r--testing/libcotp/APKBUILD8
-rw-r--r--testing/libctl/APKBUILD8
-rw-r--r--testing/libcyaml/APKBUILD32
-rw-r--r--testing/libcypher-parser/APKBUILD61
-rw-r--r--testing/libdatrie/APKBUILD37
-rw-r--r--testing/libdecor/APKBUILD35
-rw-r--r--testing/libdng/APKBUILD36
-rw-r--r--testing/libdotconf/APKBUILD35
-rw-r--r--testing/libeantic/APKBUILD73
-rw-r--r--testing/libeantic/t-init-test.patch20
-rw-r--r--testing/libeatmydata/18.patch26
-rw-r--r--testing/libeatmydata/APKBUILD46
-rw-r--r--testing/libeatmydata/autoconf-2.71.patch12
-rw-r--r--testing/libebur128/APKBUILD32
-rw-r--r--testing/libecap/APKBUILD8
-rw-r--r--testing/libemf2svg/APKBUILD2
-rw-r--r--testing/liberasurecode/APKBUILD8
-rw-r--r--testing/libetebase/APKBUILD36
-rw-r--r--testing/libexosip2/APKBUILD46
-rw-r--r--testing/libfaketime/APKBUILD27
-rw-r--r--testing/libfishsound/APKBUILD2
-rw-r--r--testing/libfm-qt/APKBUILD35
-rw-r--r--testing/libfossil/APKBUILD46
-rw-r--r--testing/libfyaml/APKBUILD17
-rw-r--r--testing/libgdiplus/APKBUILD35
-rw-r--r--testing/libgdiplus/pango.patch133
-rw-r--r--testing/libgivaro/APKBUILD41
-rw-r--r--testing/libgivaro/gcc13.patch12
-rw-r--r--testing/libgme/APKBUILD39
-rw-r--r--testing/libgme/ppc-musl.patch17
-rw-r--r--testing/libgnomecanvas/APKBUILD38
-rw-r--r--testing/libgpod/0001-323-Segmentation-fault-when-opening-ipod.patch43
-rw-r--r--testing/libgpod/0002-Fix-spelling-errors-in-comments-and-strings-using-co.patch293
-rw-r--r--testing/libgpod/0003-Fixed-PList-deprecation.patch44
-rw-r--r--testing/libgpod/APKBUILD48
-rw-r--r--testing/libgpod/libgpod-0.8.2-pkgconfig_overlinking.patch11
-rw-r--r--testing/libgrapheme/APKBUILD25
-rw-r--r--testing/libguestfs/APKBUILD198
-rw-r--r--testing/libguestfs/fix-missing-error-h.patch46
-rw-r--r--testing/libguestfs/fix-missing-int64_t.patch22
-rw-r--r--testing/libguestfs/ocaml-m4.patch25
-rw-r--r--testing/libhangul/APKBUILD40
-rw-r--r--testing/libhangul/fix-gettext-version.patch13
-rw-r--r--testing/libhomfly/APKBUILD37
-rw-r--r--testing/libhwpwm/APKBUILD26
-rw-r--r--testing/libhx/APKBUILD14
-rw-r--r--testing/libibmad/APKBUILD2
-rw-r--r--testing/libibumad/APKBUILD2
-rw-r--r--testing/libideviceactivation/APKBUILD6
-rw-r--r--testing/libigraph/APKBUILD46
-rw-r--r--testing/libiio/APKBUILD63
-rw-r--r--testing/libime/APKBUILD76
-rw-r--r--testing/libiml/APKBUILD44
-rw-r--r--testing/libimobiledevice-glue/APKBUILD35
-rw-r--r--testing/libindi/0001-explicitly-include-sockets.h.patch24
-rw-r--r--testing/libindi/APKBUILD57
-rw-r--r--testing/libirecovery/APKBUILD12
-rw-r--r--testing/libiscsi/APKBUILD2
-rw-r--r--testing/libite/APKBUILD42
-rw-r--r--testing/libjodycode/APKBUILD28
-rw-r--r--testing/libjwt/APKBUILD39
-rw-r--r--testing/libkkc/APKBUILD61
-rw-r--r--testing/liblastfm-qt/APKBUILD2
-rw-r--r--testing/libliftoff/APKBUILD29
-rw-r--r--testing/liblinbox/APKBUILD50
-rw-r--r--testing/liblo/APKBUILD32
-rw-r--r--testing/liblouis/APKBUILD43
-rw-r--r--testing/liblxqt/APKBUILD57
-rw-r--r--testing/libm4ri/APKBUILD48
-rw-r--r--testing/libm4rie/APKBUILD37
-rw-r--r--testing/libmdbx/APKBUILD24
-rw-r--r--testing/libmdf/APKBUILD20
-rw-r--r--testing/libmedc/APKBUILD31
-rw-r--r--testing/libmedc/cmake-config-dir.patch9
-rw-r--r--testing/libmedc/hdf-version.patch11
-rw-r--r--testing/libmedc/hdf5-1.12.patch92
-rw-r--r--testing/libmedc/hdf5.patch94
-rw-r--r--testing/libmesode/APKBUILD45
-rw-r--r--testing/libmhash/APKBUILD4
-rw-r--r--testing/libmpfi/APKBUILD44
-rw-r--r--testing/libmustache/APKBUILD2
-rw-r--r--testing/libmygpo-qt/APKBUILD2
-rw-r--r--testing/libmysofa/APKBUILD43
-rw-r--r--testing/libmysofa/install-header.patch25
-rw-r--r--testing/libnbd/APKBUILD43
-rw-r--r--testing/libneo4j-client/APKBUILD87
-rw-r--r--testing/libnest2d/APKBUILD40
-rw-r--r--testing/libnest2d/allow-disallowed-area.patch124
-rw-r--r--testing/libnfc/APKBUILD47
-rw-r--r--testing/libnova/0001-support-for-linux-musl.patch24
-rw-r--r--testing/libnova/APKBUILD45
-rw-r--r--testing/libntl/APKBUILD50
-rw-r--r--testing/libofx/APKBUILD51
-rw-r--r--testing/liboggz/APKBUILD4
-rw-r--r--testing/libopenraw/APKBUILD49
-rw-r--r--testing/libopensles-standalone/APKBUILD38
-rw-r--r--testing/libopensmtpd/APKBUILD25
-rw-r--r--testing/libosip2/APKBUILD37
-rw-r--r--testing/libqb/APKBUILD18
-rw-r--r--testing/libqd/APKBUILD37
-rw-r--r--testing/libqmycroft/APKBUILD37
-rw-r--r--testing/libqofono/APKBUILD55
-rw-r--r--testing/libqtdbusmock/APKBUILD45
-rw-r--r--testing/libqtdbustest/APKBUILD43
-rw-r--r--testing/libqtxdg/APKBUILD46
-rw-r--r--testing/libreoffice-voikko/APKBUILD27
-rw-r--r--testing/librespot/APKBUILD34
-rw-r--r--testing/librespot/cargo-bump-libc-lfs64.patch16
-rw-r--r--testing/librespot/librespot.confd3
-rw-r--r--testing/librespot/librespot.initd11
-rw-r--r--testing/librespot/librespot.pre-install4
-rw-r--r--testing/libretro-3dengine/APKBUILD28
-rw-r--r--testing/libretro-3dengine/patch-unbundle.patch47
-rw-r--r--testing/libretro-atari800/APKBUILD10
-rw-r--r--testing/libretro-beetle-pce-fast/APKBUILD10
-rw-r--r--testing/libretro-beetle-pcfx/APKBUILD12
-rw-r--r--testing/libretro-beetle-saturn/APKBUILD12
-rw-r--r--testing/libretro-beetle-supergrafx/APKBUILD10
-rw-r--r--testing/libretro-blastem/APKBUILD14
-rw-r--r--testing/libretro-bluemsx/APKBUILD12
-rw-r--r--testing/libretro-bluemsx/patch-unbundle.patch38
-rw-r--r--testing/libretro-cannonball/APKBUILD10
-rw-r--r--testing/libretro-cap32/APKBUILD17
-rw-r--r--testing/libretro-cap32/patch-unbundle.patch45
-rw-r--r--testing/libretro-dinothawr/APKBUILD12
-rw-r--r--testing/libretro-dinothawr/patch-unbundle.patch101
-rw-r--r--testing/libretro-dolphin/APKBUILD12
-rw-r--r--testing/libretro-fbneo/APKBUILD14
-rw-r--r--testing/libretro-flycast/APKBUILD10
-rw-r--r--testing/libretro-freeintv/APKBUILD8
-rw-r--r--testing/libretro-frodo/APKBUILD12
-rw-r--r--testing/libretro-frodo/patch-unbundle.patch48
-rw-r--r--testing/libretro-fuse/APKBUILD8
-rw-r--r--testing/libretro-genesis-plus-gx/APKBUILD8
-rw-r--r--testing/libretro-gme/APKBUILD10
-rw-r--r--testing/libretro-gong/APKBUILD8
-rw-r--r--testing/libretro-gw/APKBUILD8
-rw-r--r--testing/libretro-mame2000/APKBUILD10
-rw-r--r--testing/libretro-mame2003/APKBUILD8
-rw-r--r--testing/libretro-mu/APKBUILD9
-rw-r--r--testing/libretro-neocd/APKBUILD18
-rw-r--r--testing/libretro-neocd/patch-unbundle.patch42
-rw-r--r--testing/libretro-nxengine/APKBUILD8
-rw-r--r--testing/libretro-openlara/APKBUILD8
-rw-r--r--testing/libretro-opera/APKBUILD8
-rw-r--r--testing/libretro-parallel-n64/APKBUILD8
-rw-r--r--testing/libretro-pcem/APKBUILD2
-rw-r--r--testing/libretro-pcsx-rearmed/APKBUILD17
-rw-r--r--testing/libretro-picodrive/APKBUILD28
-rw-r--r--testing/libretro-pocketcdg/APKBUILD8
-rw-r--r--testing/libretro-ppsspp/APKBUILD18
-rw-r--r--testing/libretro-ppsspp/gcc12.patch12
-rw-r--r--testing/libretro-ppsspp/gcc13.patch71
-rw-r--r--testing/libretro-snes9x/APKBUILD9
-rw-r--r--testing/libretro-theodore/APKBUILD13
-rw-r--r--testing/libretro-tyrquake/APKBUILD8
-rw-r--r--testing/libretro-xrick/APKBUILD8
-rw-r--r--testing/librewolf/APKBUILD752
-rw-r--r--testing/librewolf/disable-moz-stackwalk.patch28
-rw-r--r--testing/librewolf/distribution.ini9
-rw-r--r--testing/librewolf/fix-fortify-system-wrappers.patch11
-rw-r--r--testing/librewolf/fix-rust-target.patch31
-rw-r--r--testing/librewolf/fix-webrtc-glibcisms.patch20
-rw-r--r--testing/librewolf/force-can-use-pack-relative-relocs.patch11
-rw-r--r--testing/librewolf/icu74.patch37
-rw-r--r--testing/librewolf/lfs64.patch35
-rw-r--r--testing/librewolf/librewolf.desktop386
-rw-r--r--testing/librewolf/no-ccache-stats.patch13
-rw-r--r--testing/librewolf/ppc-musttail.patch30
-rw-r--r--testing/librewolf/python-deps.patch10
-rw-r--r--testing/librewolf/res_nquery.patch17
-rw-r--r--testing/librewolf/riscv64-no-lto.patch16
-rw-r--r--testing/librewolf/rust-lto-thin.patch12
-rw-r--r--testing/librewolf/sandbox-fork.patch15
-rw-r--r--testing/librewolf/sandbox-largefile.patch17
-rw-r--r--testing/librewolf/sandbox-sched_setscheduler.patch24
-rw-r--r--testing/librewolf/sqlite-ppc.patch39
-rw-r--r--testing/librewolf/vendor-prefs.js9
-rw-r--r--testing/libsemanage/APKBUILD8
-rw-r--r--testing/libsemigroups/APKBUILD39
-rw-r--r--testing/libserialport/APKBUILD13
-rw-r--r--testing/libsigrok/APKBUILD9
-rw-r--r--testing/libsigrokdecode/APKBUILD8
-rw-r--r--testing/libsigrokdecode/python-3.10.patch25
-rw-r--r--testing/libsigrokdecode/python-3.12.patch25
-rw-r--r--testing/libsirocco/APKBUILD36
-rw-r--r--testing/libsixel/APKBUILD33
-rw-r--r--testing/libsmi/APKBUILD35
-rw-r--r--testing/libsoundio/APKBUILD35
-rw-r--r--[-rwxr-xr-x]testing/libspatialindex/APKBUILD4
-rw-r--r--testing/libspiro/APKBUILD38
-rw-r--r--testing/libspng/APKBUILD29
-rw-r--r--testing/libstatgrab/APKBUILD34
-rw-r--r--testing/libstirshaken/0001-eradicate-Werror.patch36
-rwxr-xr-xtesting/libstirshaken/APKBUILD46
-rw-r--r--testing/libstrophe/APKBUILD34
-rw-r--r--testing/libsv/APKBUILD38
-rw-r--r--testing/libsymmetrica/APKBUILD43
-rw-r--r--testing/libsysstat/APKBUILD33
-rw-r--r--testing/libtbox/APKBUILD50
-rw-r--r--testing/libtbox/libtbox.pc9
-rw-r--r--testing/libthai/APKBUILD32
-rw-r--r--testing/libtickit/APKBUILD46
-rw-r--r--testing/libtickit/missing-include.patch12
-rw-r--r--testing/libtins/APKBUILD10
-rw-r--r--testing/libtommath/APKBUILD31
-rw-r--r--testing/libtpms/APKBUILD40
-rw-r--r--testing/libtree/APKBUILD56
-rw-r--r--testing/libtree/alpine-skip-default.patch37
-rw-r--r--testing/libtree/fix-default-platform.patch33
-rw-r--r--testing/libtsm/APKBUILD33
-rw-r--r--testing/libubox/APKBUILD54
-rw-r--r--testing/libucl/APKBUILD42
-rw-r--r--testing/libuecc/APKBUILD4
-rw-r--r--testing/libui/APKBUILD4
-rw-r--r--testing/libunicode/APKBUILD58
-rw-r--r--testing/libunicode/rm-catch2-supression.patch17
-rw-r--r--testing/libuninameslist/APKBUILD24
-rw-r--r--testing/libupnpp/APKBUILD24
-rw-r--r--testing/libva-utils/APKBUILD36
-rw-r--r--testing/libva-vdpau-driver/APKBUILD47
-rw-r--r--testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch29
-rw-r--r--testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-glext-missing-definition.patch16
-rw-r--r--testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch11
-rw-r--r--testing/libva-vdpau-driver/musl-fixes.patch11
-rw-r--r--testing/libvisio2svg/APKBUILD2
-rw-r--r--testing/libvmaf/APKBUILD30
-rw-r--r--testing/libvmime/APKBUILD45
-rw-r--r--testing/libvmime/fix-icu-70-1.patch (renamed from testing/libvmime/fix-icu-69-1.patch)0
-rw-r--r--testing/libvoikko/APKBUILD40
-rw-r--r--testing/libvolk/APKBUILD47
-rw-r--r--testing/libwbxml/APKBUILD6
-rw-r--r--testing/libwhich/APKBUILD27
-rw-r--r--testing/libxisf/APKBUILD38
-rw-r--r--testing/libxml++/APKBUILD28
-rw-r--r--testing/libxmp/APKBUILD34
-rw-r--r--testing/libzim/APKBUILD43
-rw-r--r--testing/libzn_poly/APKBUILD45
-rw-r--r--testing/libzookeeper/APKBUILD32
-rw-r--r--testing/libzookeeper/fix-sprintf-overflow.patch11
-rw-r--r--testing/licenseheaders/APKBUILD13
-rw-r--r--testing/lidarr/0001-disable-restart.patch20
-rw-r--r--testing/lidarr/APKBUILD102
-rw-r--r--testing/lidarr/lidarr.confd10
-rw-r--r--testing/lidarr/lidarr.initd34
-rw-r--r--testing/lidarr/lidarr.pre-install6
-rw-r--r--testing/lidarr/package_info4
-rw-r--r--testing/liferea/APKBUILD55
-rw-r--r--testing/lightdm-settings/APKBUILD35
-rw-r--r--testing/lighthouse/APKBUILD38
-rw-r--r--testing/lilv/APKBUILD24
-rw-r--r--testing/limkd/APKBUILD35
-rw-r--r--testing/limnoria/APKBUILD34
-rw-r--r--testing/links-graphics/APKBUILD32
-rw-r--r--testing/linphone/APKBUILD78
-rw-r--r--testing/linphone/fix-cmake-path.patch31
-rw-r--r--testing/linux-amlogic/0001-ARM64-defconfig-enable-CEC-support.patch45
-rw-r--r--testing/linux-amlogic/0001-arm64-dts-meson-Fix-IRQ-trigger-type-for-macirq.patch62
-rw-r--r--testing/linux-amlogic/0001-drm-meson-fix-max-mode_config-height-width.patch33
-rw-r--r--testing/linux-amlogic/0002-ASoC-meson-add-meson-audio-core-driver.patch288
-rw-r--r--testing/linux-amlogic/0003-ASoC-meson-add-register-definitions.patch358
-rw-r--r--testing/linux-amlogic/0004-ASoC-meson-add-aiu-i2s-dma-support.patch422
-rw-r--r--testing/linux-amlogic/0005-ASoC-meson-add-initial-i2s-dai-support.patch516
-rw-r--r--testing/linux-amlogic/0006-ASoC-meson-add-aiu-spdif-dma-support.patch443
-rw-r--r--testing/linux-amlogic/0007-ASoC-meson-add-initial-spdif-dai-support.patch430
-rw-r--r--testing/linux-amlogic/0008-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch29
-rw-r--r--testing/linux-amlogic/0008-drm-meson-Add-HDMI-1.4-4k-modes.patch165
-rw-r--r--testing/linux-amlogic/0009-ARM64-dts-meson-gx-add-audio-controller-nodes.patch187
-rw-r--r--testing/linux-amlogic/0009-drm-meson-Use-drm_fbdev_generic_setup.patch100
-rw-r--r--testing/linux-amlogic/0010-fixup-drm-meson-Use-optional-canvas-provider.patch21
-rw-r--r--testing/linux-amlogic/0010-snd-meson-activate-HDMI-audio-path.patch53
-rw-r--r--testing/linux-amlogic/0011-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch20
-rw-r--r--testing/linux-amlogic/0012-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch36
-rw-r--r--testing/linux-amlogic/0012-drm-meson-add-support-for-1080p25-mode.patch21
-rw-r--r--testing/linux-amlogic/0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch861
-rw-r--r--testing/linux-amlogic/0014-drm-bridge-dw-hdmi-Add-SCDC-and-TMDS-Scrambling-supp.patch147
-rw-r--r--testing/linux-amlogic/0014-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch76
-rw-r--r--testing/linux-amlogic/0015-drm-meson-add-HDMI-div40-TMDS-mode.patch69
-rw-r--r--testing/linux-amlogic/0016-drm-meson-add-support-for-HDMI2.0-2160p-modes.patch28
-rw-r--r--testing/linux-amlogic/0017-drm-bridge-dw-hdmi-add-support-for-YUV420-output.patch198
-rw-r--r--testing/linux-amlogic/0017-soc-amlogic-add-meson-canvas-driver.patch314
-rw-r--r--testing/linux-amlogic/0018-ARM64-dts-meson-gx-add-dmcbus-and-canvas-nodes.patch39
-rw-r--r--testing/linux-amlogic/0018-drm-bridge-dw-hdmi-support-dynamically-get-input-out.patch102
-rw-r--r--testing/linux-amlogic/0019-drm-bridge-dw-hdmi-allow-ycbcr420-modes-for-0x200a.patch46
-rw-r--r--testing/linux-amlogic/0020-drm-meson-Add-YUV420-output-support.patch582
-rw-r--r--testing/linux-amlogic/0020-drm-meson-Use-optional-canvas-provider.patch172
-rw-r--r--testing/linux-amlogic/0021-arm64-dts-meson-gx-Add-canvas-provider-node-to-the-v.patch25
-rw-r--r--testing/linux-amlogic/0021-drm-meson-Output-in-YUV444-if-sink-supports-it.patch31
-rw-r--r--testing/linux-amlogic/0022-drm-meson-Support-Overlay-plane-for-video-rendering.patch1258
-rw-r--r--testing/linux-amlogic/0023-drm-meson-Fix-an-Alpha-Primary-Plane-bug-on-Meson-GX.patch124
-rw-r--r--testing/linux-amlogic/0023-drm-meson-move-OSD-scaler-management-into-plane-atom.patch198
-rw-r--r--testing/linux-amlogic/0024-drm-meson-Add-primary-plane-scaling.patch285
-rw-r--r--testing/linux-amlogic/0026-pinctrl-meson-gxl-remove-invalid-GPIOX-tsin_a-pins.patch55
-rw-r--r--testing/linux-amlogic/0027-arm64-dts-meson-gx-Add-hdmi_5v-regulator-as-hdmi-tx-.patch79
-rw-r--r--testing/linux-amlogic/0028-arm64-dts-meson-gxl-libretech-cc-fix-GPIO-lines-name.patch38
-rw-r--r--testing/linux-amlogic/0029-arm64-dts-meson-gxbb-nanopi-k2-fix-GPIO-lines-names.patch38
-rw-r--r--testing/linux-amlogic/0030-arm64-dts-meson-gxbb-odroidc2-fix-GPIO-lines-names.patch38
-rw-r--r--testing/linux-amlogic/0031-arm64-dts-meson-gxl-khadas-vim-fix-GPIO-lines-names.patch38
-rw-r--r--testing/linux-amlogic/0032-drm-meson-Add-support-for-VIC-alternate-timings.patch328
-rw-r--r--testing/linux-amlogic/0033-media-meson-add-v4l2-m2m-video-decoder-driver.patch2969
-rw-r--r--testing/linux-amlogic/0034-MAINTAINERS-Add-meson-video-decoder.patch32
-rw-r--r--testing/linux-amlogic/0035-arm64-dts-meson-gx-add-vdec-entry.patch38
-rw-r--r--testing/linux-amlogic/0036-arm64-dts-meson-add-vdec-entries.patch63
-rw-r--r--testing/linux-amlogic/0037-meson-vdec-introduce-controls-and-V4L2_CID_MIN_BUFFE.patch153
-rw-r--r--testing/linux-amlogic/0038-media-videodev2-add-V4L2_FMT_FLAG_NO_SOURCE_CHANGE.patch49
-rw-r--r--testing/linux-amlogic/0039-meson-vdec-allow-subscribing-to-V4L2_EVENT_SOURCE_CH.patch270
-rw-r--r--testing/linux-amlogic/0040-media-meson-vdec-add-H.264-decoding-support.patch591
-rw-r--r--testing/linux-amlogic/0041-media-meson-vdec-add-MPEG4-decoding-support.patch313
-rw-r--r--testing/linux-amlogic/0042-media-meson-vdec-add-MJPEG-decoding-support.patch253
-rw-r--r--testing/linux-amlogic/0043-clk-meson-gxbb-set-fclk_div3-as-CLK_IS_CRITICAL.patch42
-rw-r--r--testing/linux-amlogic/APKBUILD355
-rw-r--r--testing/linux-amlogic/add-phicomm-n1.patch60
-rw-r--r--testing/linux-amlogic/bt-btbcm.patch11
-rw-r--r--testing/linux-amlogic/config-changes-amlogic.aarch6413
-rw-r--r--testing/linux-amlogic/defconfig882
-rw-r--r--testing/linux-amlogic/text_offset.patch26
-rw-r--r--testing/linux-apfs-rw-src/APKBUILD25
-rw-r--r--testing/linux-apfs-rw-src/modules-load.conf1
-rw-r--r--testing/linux-asahi/385ea7b5023486aba7919cec8b6b3f6a843a1013.patch78
-rw-r--r--testing/linux-asahi/6a24102c06c95951ab992e2d41336cc6d4bfdf23.patch47
-rw-r--r--testing/linux-asahi/APKBUILD219
-rw-r--r--testing/linux-asahi/config-asahi.aarch646762
-rw-r--r--testing/linux-elm/APKBUILD75
-rw-r--r--testing/linux-elm/config6836
-rw-r--r--testing/linux-elm/config-elm.aarch646473
-rw-r--r--testing/linux-elm/fix-mmc1-speed.patch13
-rw-r--r--testing/linux-elm/fix-spi-nor-max-frequency.patch11
-rw-r--r--testing/linux-elm/mps-ter12x24-font-kernel.patch1659
-rw-r--r--testing/linux-gru/APKBUILD84
-rw-r--r--testing/linux-gru/PATCH-v4-00-11-media-rkvdec-Add-H.264-High-10-and-4-2-2-profile-support.patch2119
-rw-r--r--testing/linux-gru/config7386
-rw-r--r--testing/linux-gru/config-gru.aarch646923
-rw-r--r--testing/linux-openvfd/APKBUILD26
-rw-r--r--testing/linux-sophgo/APKBUILD150
-rw-r--r--testing/linux-sophgo/sophgo.riscv64.config5540
-rw-r--r--testing/linux-starfive/APKBUILD251
-rw-r--r--testing/linux-starfive/aurel32.6.7.y.patch5023
-rw-r--r--testing/linux-starfive/config-starfive.riscv645744
-rw-r--r--testing/linux-timemachine/APKBUILD20
-rw-r--r--testing/linuxkit/APKBUILD41
-rw-r--r--testing/linuxptp/APKBUILD48
-rw-r--r--testing/linuxwave/APKBUILD36
-rw-r--r--testing/lipstick-asteroidos/0001-Drop-Qt-extended-surface.patch229
-rw-r--r--testing/lipstick-asteroidos/0002-Disables-tests-and-doc.patch20
-rw-r--r--testing/lipstick-asteroidos/APKBUILD79
-rw-r--r--testing/liquibase/APKBUILD16
-rw-r--r--testing/liquid-dsp/APKBUILD41
-rw-r--r--testing/listenbrainz-mpd/APKBUILD48
-rw-r--r--testing/lite-xl/APKBUILD34
-rw-r--r--testing/litehtml/APKBUILD49
-rw-r--r--testing/litehtml/fix-gtest-check.patch20
-rw-r--r--testing/litespeed/APKBUILD142
-rw-r--r--testing/litespeed/admin.patch51
-rw-r--r--testing/litespeed/include.patch118
-rw-r--r--testing/litespeed/install.patch215
-rw-r--r--testing/litespeed/litespeed.initd33
-rw-r--r--testing/litespeed/litespeed.pre-install6
-rw-r--r--testing/litespeed/ls_lock.patch34
-rw-r--r--testing/litespeed/thread.patch37
-rw-r--r--testing/litterbox/APKBUILD4
-rw-r--r--testing/livestreamer/APKBUILD26
-rw-r--r--testing/lizardfs/APKBUILD160
-rw-r--r--testing/lizardfs/gcc13.patch12
-rw-r--r--testing/lizardfs/lizardfs-cgiserv.confd10
-rw-r--r--testing/lizardfs/lizardfs-cgiserv.initd22
-rw-r--r--testing/lizardfs/lizardfs-chunkserver.initd9
-rw-r--r--testing/lizardfs/lizardfs-cstdio-header.patch32
-rw-r--r--testing/lizardfs/lizardfs-iostat-header.patch13
-rw-r--r--testing/lizardfs/lizardfs-master.initd8
-rw-r--r--testing/lizardfs/lizardfs-metalogger.initd8
-rw-r--r--testing/lizardfs/lizardfs-uraft.patch94
-rw-r--r--testing/lizardfs/lizardfs.pre-install7
-rw-r--r--testing/lkrg/AKMBUILD3
-rw-r--r--testing/lkrg/APKBUILD39
-rw-r--r--testing/lkrg/lkrg.post-deinstall2
-rw-r--r--testing/llmnrd/APKBUILD2
-rw-r--r--testing/lmms/APKBUILD49
-rw-r--r--testing/lnav/APKBUILD50
-rw-r--r--testing/lockrun/APKBUILD2
-rw-r--r--testing/log4cpp/APKBUILD13
-rw-r--r--testing/log4cxx/APKBUILD51
-rw-r--r--testing/log4cxx/log4cxx-0.10.0-missing_includes.patch38
-rw-r--r--testing/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch117
-rw-r--r--testing/logc-libs/APKBUILD55
-rw-r--r--testing/logc/APKBUILD54
-rw-r--r--testing/logisim-evolution/APKBUILD45
-rw-r--r--testing/logisim-evolution/Desktop-file.patch13
-rwxr-xr-xtesting/logisim-evolution/logisim-evolution2
-rw-r--r--testing/logstash/APKBUILD85
-rw-r--r--testing/logstash/logstash.conf16
-rw-r--r--testing/logstash/logstash.confd20
-rw-r--r--testing/logstash/logstash.initd43
-rw-r--r--testing/logstash/logstash.pre-install6
-rw-r--r--testing/logstash/logstash.profile3
-rw-r--r--testing/logwatch/APKBUILD10
-rw-r--r--testing/loki/APKBUILD65
-rw-r--r--testing/loki/loki-promtail.confd5
-rw-r--r--testing/loki/loki-promtail.initd25
-rw-r--r--testing/loki/loki.confd5
-rw-r--r--testing/loki/loki.initd11
-rw-r--r--testing/lol-html/APKBUILD56
-rw-r--r--testing/lol-html/lockfile.patch1087
-rw-r--r--testing/lol-html/lol-html.pc.in12
-rw-r--r--testing/lolcat/APKBUILD13
-rw-r--r--testing/lolcat/makefile.patch17
-rw-r--r--testing/lomiri-action-api/0002-Use-qmltestrunner-qt5.patch53
-rw-r--r--testing/lomiri-action-api/APKBUILD43
-rw-r--r--testing/lomiri-api/0001-Add-missing-headers-for-GCC13.patch37
-rw-r--r--testing/lomiri-api/APKBUILD50
-rw-r--r--testing/lomiri-api/qmltestrunner.patch15
-rw-r--r--testing/lomiri-app-launch/0001-liblomiri-app-launch-jobs-posix.cpp-pass-more-enviro.patch27
-rw-r--r--testing/lomiri-app-launch/APKBUILD68
-rw-r--r--testing/lomiri-calculator-app/0001-point-qmlscene-to-qmlscene-qt5.patch35
-rw-r--r--testing/lomiri-calculator-app/APKBUILD53
-rw-r--r--testing/lomiri-clock-app/0001-point-qmlscene-to-qmlscene-qt5.patch37
-rw-r--r--testing/lomiri-clock-app/APKBUILD64
-rw-r--r--testing/lomiri-content-hub/APKBUILD76
-rw-r--r--testing/lomiri-content-hub/qdoc.patch17
-rw-r--r--testing/lomiri-content-hub/qmlplugindump.patch13
-rw-r--r--testing/lomiri-docviewer-app/0001-non-click-mode-install-icon-and-splash.patch85
-rw-r--r--testing/lomiri-docviewer-app/APKBUILD60
-rw-r--r--testing/lomiri-download-manager/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch218
-rw-r--r--testing/lomiri-download-manager/0001-docs-use-qdoc-qt5-directly-instead-of-qtswitcher.patch29
-rw-r--r--testing/lomiri-download-manager/APKBUILD58
-rw-r--r--testing/lomiri-filemanager-app/0001-include-paths.h.patch25
-rw-r--r--testing/lomiri-filemanager-app/0002-link-libintl.patch25
-rw-r--r--testing/lomiri-filemanager-app/APKBUILD62
-rw-r--r--testing/lomiri-gallery-app/0001-update-for-newer-Exiv2-version.patch66
-rw-r--r--testing/lomiri-gallery-app/0002-disable-werror.patch25
-rw-r--r--testing/lomiri-gallery-app/APKBUILD63
-rw-r--r--testing/lomiri-history-service/0001-CMakeLists.txt-Add-ENABLE_WERROR-CMake-option-defaul.patch38
-rw-r--r--testing/lomiri-history-service/0002-upgrade-to-C-17.patch25
-rw-r--r--testing/lomiri-history-service/0003-remove-systemd-dependency.patch24
-rw-r--r--testing/lomiri-history-service/0004-remove-daemon-directory.patch26
-rw-r--r--testing/lomiri-history-service/APKBUILD65
-rw-r--r--testing/lomiri-indicator-location/0001-manually-disable-tests.patch43
-rw-r--r--testing/lomiri-indicator-location/APKBUILD50
-rw-r--r--testing/lomiri-indicator-network/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch117
-rw-r--r--testing/lomiri-indicator-network/APKBUILD61
-rw-r--r--testing/lomiri-libusermetrics/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch135
-rw-r--r--testing/lomiri-libusermetrics/APKBUILD56
-rw-r--r--testing/lomiri-location-service/APKBUILD62
-rw-r--r--testing/lomiri-location-service/cstdint.patch24
-rw-r--r--testing/lomiri-notifications/APKBUILD41
-rw-r--r--testing/lomiri-schemas/0001-data-schemas-com.lomiri.Shell.gschema.xml.in-Add-log.patch31
-rw-r--r--testing/lomiri-schemas/APKBUILD38
-rw-r--r--testing/lomiri-settings-components/APKBUILD42
-rw-r--r--testing/lomiri-settings-components/qmltestrunner.patch29
-rw-r--r--testing/lomiri-sounds/APKBUILD30
-rw-r--r--testing/lomiri-system-settings/0001-Migrate-to-upstream-maliit-keyboard.patch81
-rw-r--r--testing/lomiri-system-settings/0002-Use-qmltestrunner-qt5.patch25
-rw-r--r--testing/lomiri-system-settings/APKBUILD80
-rw-r--r--testing/lomiri-telephony-service/APKBUILD61
-rw-r--r--testing/lomiri-terminal-app/APKBUILD54
-rw-r--r--testing/lomiri-thumbnailer/APKBUILD74
-rw-r--r--testing/lomiri-thumbnailer/disable-qml-and-dbus-tests.patch42
-rw-r--r--testing/lomiri-thumbnailer/fix-googletest.patch14
-rw-r--r--testing/lomiri-thumbnailer/manually-disable-tests.patch24
-rw-r--r--testing/lomiri-trust-store/APKBUILD56
-rw-r--r--testing/lomiri-ui-extras/0004-Disable-tst_printers-unittest.patch25
-rw-r--r--testing/lomiri-ui-extras/APKBUILD51
-rw-r--r--testing/lomiri-ui-toolkit/0001-Remove-debian-isms-from-test-runner.patch31
-rw-r--r--testing/lomiri-ui-toolkit/0002-Don-t-build-app-launch-profiler.patch25
-rw-r--r--testing/lomiri-ui-toolkit/APKBUILD63
-rw-r--r--testing/lomiri-url-dispatcher/0001-remove-systemd.patch64
-rw-r--r--testing/lomiri-url-dispatcher/APKBUILD56
-rw-r--r--testing/lomiri-weather-app/0001-rename-WEATHER_APP_DIR-to-LOMIRI_WEATHER_APP_DIR.patch21
-rw-r--r--testing/lomiri-weather-app/0002-point-qmlscene-to-qmlscene-qt5.patch21
-rw-r--r--testing/lomiri-weather-app/APKBUILD60
-rw-r--r--testing/lomiri/0001-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch40
-rw-r--r--testing/lomiri/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch59
-rw-r--r--testing/lomiri/0003-cursor-Always-follow-cursor-position-from-mir.patch32
-rw-r--r--testing/lomiri/0004-Disable-broken-tests-due-to-dropped-mocks-from-mir-2.patch26
-rw-r--r--testing/lomiri/0005-Add-qt5-suffix-to-search-for-Qt-tools.patch47
-rw-r--r--testing/lomiri/0006-No-systemd.patch22
-rw-r--r--testing/lomiri/0007-Disable-lightdm-integration.patch40
-rw-r--r--testing/lomiri/0008-Change-hard-coded-launcher-logo-to-one-set-by-a-reso.patch158
-rw-r--r--testing/lomiri/APKBUILD115
-rw-r--r--testing/lomiri/home.svg72
-rw-r--r--testing/looking-glass/APKBUILD71
-rw-r--r--testing/looking-glass/missing-includes.patch92
-rw-r--r--testing/looking-glass/obs-plugins-lib.patch12
-rw-r--r--testing/looking-glass/werror.patch24
-rw-r--r--testing/loolwsd/APKBUILD9
-rw-r--r--testing/lotide/APKBUILD89
-rw-r--r--testing/lotide/cargo-update-libc_patch14
-rw-r--r--testing/lotide/hitide.confd11
-rw-r--r--testing/lotide/hitide.initd23
-rw-r--r--testing/lotide/hitide.pre-install11
-rw-r--r--testing/lotide/lotide.confd33
-rw-r--r--testing/lotide/lotide.initd80
-rw-r--r--testing/lotide/lotide.post-install7
-rw-r--r--testing/lotide/lotide.pre-install11
-rw-r--r--testing/lottieconverter/APKBUILD49
-rw-r--r--testing/lout/APKBUILD10
-rw-r--r--testing/lout/makefile.patch39
-rw-r--r--testing/lowjs/APKBUILD42
-rw-r--r--testing/lowjs/musl.patch45
-rw-r--r--testing/lowjs/unbundle-duktape.patch36
-rw-r--r--testing/lpac/APKBUILD37
-rw-r--r--testing/lpairs2/APKBUILD50
-rw-r--r--testing/lpairs2/fix-undeclared-uint.patch10
-rw-r--r--testing/lrcalc/APKBUILD35
-rw-r--r--testing/lrdf/APKBUILD36
-rw-r--r--testing/lrzsz/APKBUILD2
-rw-r--r--testing/lsd/APKBUILD47
-rw-r--r--testing/lsdvd/APKBUILD29
-rw-r--r--testing/lshell/APKBUILD14
-rw-r--r--testing/lsip6/APKBUILD30
-rw-r--r--testing/lsix/APKBUILD20
-rw-r--r--testing/lsmash/APKBUILD2
-rw-r--r--testing/lsp-plugins/APKBUILD33
-rw-r--r--testing/lswt/APKBUILD29
-rw-r--r--testing/lswt/makefile.patch26
-rw-r--r--testing/ltunify/APKBUILD28
-rw-r--r--testing/lua-ansicolors/APKBUILD51
-rw-r--r--testing/lua-crypt/APKBUILD55
-rw-r--r--testing/lua-etlua/APKBUILD65
-rw-r--r--testing/lua-fn/APKBUILD24
-rw-r--r--testing/lua-inet/APKBUILD3
-rw-r--r--testing/lua-jsonschema/APKBUILD52
-rw-r--r--testing/lua-lanes/APKBUILD14
-rw-r--r--testing/lua-language-server/APKBUILD44
-rwxr-xr-xtesting/lua-language-server/wrapper11
-rw-r--r--testing/lua-lapis/APKBUILD80
-rw-r--r--testing/lua-lapis/lapis-5.13
-rw-r--r--testing/lua-linotify/APKBUILD51
-rw-r--r--testing/lua-linotify/makefile.patch25
-rw-r--r--testing/lua-luastatic/APKBUILD2
-rw-r--r--testing/lua-lupa/APKBUILD1
-rw-r--r--testing/lua-middleclass/APKBUILD33
-rw-r--r--testing/lua-mimetypes/APKBUILD77
-rw-r--r--testing/lua-net-url/APKBUILD55
-rw-r--r--testing/lua-pgmoon/APKBUILD52
-rw-r--r--testing/lua-pgsql/APKBUILD65
-rw-r--r--testing/lua-resty-openssl/APKBUILD36
-rw-r--r--testing/lua-resty-redis/APKBUILD12
-rw-r--r--testing/lua-resty-upload/APKBUILD10
-rw-r--r--testing/lua-xml/APKBUILD7
-rw-r--r--testing/lua5.2-penlight/APKBUILD6
-rw-r--r--testing/luacov-html/APKBUILD7
-rw-r--r--testing/luacov/APKBUILD17
-rw-r--r--testing/luacov/reporter_fix.lua.patch22
-rw-r--r--testing/luakit/APKBUILD36
-rw-r--r--testing/luau/APKBUILD35
-rw-r--r--testing/luksmeta/APKBUILD43
-rw-r--r--testing/luksmeta/force-creation-of-luks1-containers-in-tests.patch26
-rw-r--r--testing/luksmeta/musl.patch175
-rw-r--r--testing/luksmeta/relax-content-tests-in-test-suite.patch150
-rw-r--r--testing/lumina-desktop/APKBUILD23
-rw-r--r--testing/lumins/APKBUILD9
-rw-r--r--testing/lutgen/APKBUILD46
-rw-r--r--testing/lv2/APKBUILD27
-rw-r--r--testing/lwan/APKBUILD10
-rw-r--r--testing/lwan/gettid.patch76
-rw-r--r--testing/lxappearance/APKBUILD28
-rw-r--r--testing/lxd-feature/APKBUILD133
-rw-r--r--testing/lxd-feature/lxd-feature.confd (renamed from testing/lxd/lxd.confd)0
-rw-r--r--testing/lxd-feature/lxd-feature.initd (renamed from testing/lxd/lxd.initd)0
-rw-r--r--testing/lxd-feature/lxd-feature.pre-install (renamed from testing/lxd/lxd.pre-install)0
-rw-r--r--testing/lxd-lts/APKBUILD118
-rw-r--r--testing/lxd-lts/add-missing-includes.patch14
-rw-r--r--testing/lxd-lts/lxd-dont-go-get.patch56
-rw-r--r--testing/lxd-lts/lxd-lts.confd23
-rw-r--r--testing/lxd-lts/lxd-lts.initd12
-rw-r--r--testing/lxd-lts/lxd-lts.pre-install13
-rw-r--r--testing/lxd/0001-lxd-device-nic-routed-Enable-IP-forwarding-on-veth-h.patch35
-rw-r--r--testing/lxd/APKBUILD139
-rw-r--r--testing/lximage-qt/APKBUILD34
-rw-r--r--testing/lxmenu-data/APKBUILD25
-rw-r--r--testing/lxqt-about/APKBUILD35
-rw-r--r--testing/lxqt-admin/APKBUILD36
-rw-r--r--testing/lxqt-archiver/APKBUILD34
-rw-r--r--testing/lxqt-build-tools/APKBUILD34
-rw-r--r--testing/lxqt-config/APKBUILD37
-rw-r--r--testing/lxqt-core/APKBUILD22
-rw-r--r--testing/lxqt-desktop/APKBUILD17
-rw-r--r--testing/lxqt-globalkeys/APKBUILD35
-rw-r--r--testing/lxqt-notificationd/APKBUILD35
-rw-r--r--testing/lxqt-openssh-askpass/APKBUILD35
-rw-r--r--testing/lxqt-panel/APKBUILD39
-rw-r--r--testing/lxqt-policykit/APKBUILD36
-rw-r--r--testing/lxqt-powermanagement/APKBUILD37
-rw-r--r--testing/lxqt-qtplugin/APKBUILD35
-rw-r--r--testing/lxqt-runner/APKBUILD36
-rw-r--r--testing/lxqt-session/APKBUILD36
-rw-r--r--testing/lxqt-sudo/APKBUILD37
-rw-r--r--testing/lxqt-themes/APKBUILD31
-rw-r--r--testing/lychee/APKBUILD45
-rw-r--r--testing/lynis/APKBUILD5
-rw-r--r--testing/lyrebird/APKBUILD35
-rw-r--r--testing/lzbench/APKBUILD25
-rw-r--r--testing/lzfse/APKBUILD39
-rw-r--r--testing/lzlib/APKBUILD29
-rw-r--r--testing/lzop/APKBUILD35
-rw-r--r--testing/m17n-db/APKBUILD42
-rw-r--r--testing/m17n-lib/APKBUILD75
-rw-r--r--testing/m2r2/APKBUILD35
-rw-r--r--testing/m2r2/mistune1.patch82
-rw-r--r--testing/m2r2/no-circular-import.patch37
-rw-r--r--testing/ma1sd/APKBUILD4
-rw-r--r--testing/macchina/APKBUILD32
-rw-r--r--testing/madbomber/0001-makefile.patch10
-rw-r--r--testing/madbomber/APKBUILD31
-rw-r--r--testing/maddy/APKBUILD55
-rw-r--r--testing/maddy/maddy.confd3
-rw-r--r--testing/maddy/maddy.initd3
-rw-r--r--testing/maddy/use-syslog.patch2
-rw-r--r--testing/madonctl/APKBUILD25
-rw-r--r--testing/mage/APKBUILD25
-rw-r--r--testing/mage/fix-tests-for-go-1.16.patch46
-rw-r--r--testing/mailctl/APKBUILD65
-rw-r--r--testing/mailctl/cabal.project.freeze203
-rw-r--r--testing/maildir2rss/APKBUILD30
-rw-r--r--testing/mailmunge/APKBUILD63
-rw-r--r--testing/mailmunge/mailmunge.pre-install6
-rw-r--r--testing/mailsec-check/APKBUILD7
-rw-r--r--testing/mailtutan/APKBUILD34
-rw-r--r--testing/mailutils/APKBUILD53
-rw-r--r--testing/mailutils/disable-koi8-r-test.patch4
-rw-r--r--testing/mailutils/fix-build-with-gcc-10.patch26
-rw-r--r--testing/maim/APKBUILD39
-rw-r--r--testing/makeself/APKBUILD6
-rw-r--r--testing/mame/APKBUILD231
-rw-r--r--testing/mame/fix-musl.patch28
-rw-r--r--testing/mame/groovymame.patch7810
-rw-r--r--testing/mame/nonag.patch9
-rw-r--r--testing/mangal/APKBUILD44
-rw-r--r--testing/mangr0ve/APKBUILD25
-rw-r--r--testing/manifest-tool/APKBUILD37
-rw-r--r--testing/manticore/0001-use-shared-boost-lib.patch13
-rw-r--r--testing/manticore/APKBUILD102
-rw-r--r--testing/manticore/manticore.initd21
-rwxr-xr-xtesting/manticore/manticore.pre-install6
-rw-r--r--testing/mapnik/APKBUILD39
-rw-r--r--testing/mapnik/gcc13.patch12
-rw-r--r--testing/mapnik/scons4.patch11
-rw-r--r--testing/mapserver/10-musl.patch29
-rw-r--r--testing/mapserver/APKBUILD50
-rw-r--r--testing/mariadb-connector-odbc/APKBUILD39
-rw-r--r--testing/marknote/APKBUILD55
-rw-r--r--testing/marxan/APKBUILD2
-rw-r--r--testing/masky/APKBUILD40
-rw-r--r--testing/massivethreads/0001-musl-fixes.patch77
-rw-r--r--testing/massivethreads/APKBUILD48
-rw-r--r--testing/mat2/APKBUILD52
-rw-r--r--testing/mat2/manpage-dir.patch13
-rw-r--r--testing/materia-gtk-theme/APKBUILD14
-rw-r--r--testing/materia-kde/APKBUILD4
-rw-r--r--testing/matrix-synapse-rest-password-provider/APKBUILD23
-rw-r--r--testing/mattermost-desktop/APKBUILD80
-rwxr-xr-xtesting/mattermost-desktop/mattermost-desktop3
-rw-r--r--testing/mautrix-discord/APKBUILD56
-rw-r--r--testing/mautrix-discord/default-log-dir.patch17
-rw-r--r--testing/mautrix-discord/mautrix-discord.confd7
-rw-r--r--testing/mautrix-discord/mautrix-discord.initd20
-rw-r--r--testing/mautrix-discord/mautrix-discord.pre-install6
-rw-r--r--testing/mautrix-gmessages/APKBUILD55
-rw-r--r--testing/mautrix-gmessages/default-log-dir.patch17
-rw-r--r--testing/mautrix-gmessages/mautrix-gmessages.confd7
-rw-r--r--testing/mautrix-gmessages/mautrix-gmessages.initd20
-rw-r--r--testing/mautrix-gmessages/mautrix-gmessages.pre-install6
-rw-r--r--testing/mautrix-meta/APKBUILD51
-rw-r--r--testing/mautrix-meta/default-log-dir.patch17
-rw-r--r--testing/mautrix-meta/mautrix-meta.confd7
-rw-r--r--testing/mautrix-meta/mautrix-meta.initd20
-rw-r--r--testing/mautrix-meta/mautrix-meta.pre-install6
-rw-r--r--testing/mautrix-signal/APKBUILD80
-rw-r--r--testing/mautrix-signal/default-log-dir.patch17
-rw-r--r--testing/mautrix-signal/mautrix-signal.confd7
-rw-r--r--testing/mautrix-signal/mautrix-signal.initd20
-rw-r--r--testing/mautrix-signal/mautrix-signal.pre-install6
-rw-r--r--testing/mautrix-slack/APKBUILD56
-rw-r--r--testing/mautrix-slack/default-log-dir.patch17
-rw-r--r--testing/mautrix-slack/mautrix-slack.confd7
-rw-r--r--testing/mautrix-slack/mautrix-slack.initd20
-rw-r--r--testing/mautrix-slack/mautrix-slack.pre-install6
-rw-r--r--testing/mautrix-whatsapp/APKBUILD38
-rw-r--r--testing/mautrix-whatsapp/default-log-dir.patch16
-rw-r--r--testing/mautrix-whatsapp/mautrix-whatsapp.confd7
-rw-r--r--testing/mautrix-whatsapp/mautrix-whatsapp.initd21
-rw-r--r--testing/mautrix-whatsapp/mautrix-whatsapp.pre-install6
l---------testing/mautrix-whatsapp/mautrix-whatsapp.pre-upgrade1
-rw-r--r--testing/maxima/APKBUILD69
-rw-r--r--testing/mbpfan/APKBUILD5
-rw-r--r--testing/mbrola/APKBUILD27
-rw-r--r--testing/mbrola/terrible-makefile.patch22
-rw-r--r--testing/mcjoin/APKBUILD25
-rw-r--r--testing/mcman/APKBUILD37
-rw-r--r--testing/mcqd/APKBUILD29
-rw-r--r--testing/md2gemini/APKBUILD31
-rw-r--r--testing/md5ha1/APKBUILD2
-rw-r--r--testing/mda-lv2/APKBUILD25
-rw-r--r--testing/mdbook-katex/APKBUILD33
-rw-r--r--testing/mdbook/APKBUILD49
-rw-r--r--testing/mdbtools/10-Werror.patch14
-rw-r--r--testing/mdbtools/APKBUILD90
-rw-r--r--testing/mdcat/APKBUILD46
-rw-r--r--testing/mdevd/APKBUILD38
-rw-r--r--testing/mdevd/mdevd.initd38
-rw-r--r--testing/mdnsd/APKBUILD9
-rw-r--r--testing/mdnsd/mdnsd.confd13
-rw-r--r--testing/mdp/APKBUILD2
-rw-r--r--testing/mediaelch/APKBUILD53
-rw-r--r--testing/mediascanner2/0001-rename-msg-to-message.patch39
-rw-r--r--testing/mediascanner2/0002-point-qmlplugindump-to-qmlplugindump-qt5.patch25
-rw-r--r--testing/mediascanner2/0003-disable-coverage-report.patch58
-rw-r--r--testing/mediascanner2/APKBUILD53
-rw-r--r--testing/mediastreamer2-plugin-openh264/APKBUILD33
-rw-r--r--testing/mediastreamer2-plugin-x264/APKBUILD29
-rw-r--r--testing/mediastreamer2-plugin-x264/fix-cmakelists.patch18
-rw-r--r--testing/mediastreamer2-plugin-x264/no-werror.patch17
-rw-r--r--testing/mediastreamer2/APKBUILD71
-rw-r--r--testing/mediastreamer2/fix-cmake-path.patch14
-rw-r--r--testing/mediastreamer2/fix-soname.patch12
-rw-r--r--testing/mediastreamer2/missing-def-o-binary.patch16
-rw-r--r--testing/mednafen/APKBUILD41
-rw-r--r--testing/mednafen/ppc64.patch17
-rw-r--r--testing/mednaffe/APKBUILD27
-rw-r--r--testing/meep/APKBUILD13
-rw-r--r--testing/megatools/APKBUILD57
-rw-r--r--testing/megazeux/APKBUILD40
-rw-r--r--testing/melonds/0000-remove-failing-assertion-x86.patch9
-rw-r--r--testing/melonds/APKBUILD36
-rw-r--r--testing/memdump/APKBUILD2
-rw-r--r--testing/menumaker/APKBUILD33
-rw-r--r--testing/mepo/APKBUILD49
-rw-r--r--testing/mergerfs/APKBUILD9
-rw-r--r--testing/merlin/APKBUILD98
-rw-r--r--testing/mesa-asahi/APKBUILD339
-rw-r--r--testing/meson-tools/APKBUILD4
-rw-r--r--testing/metalang99/APKBUILD24
-rw-r--r--testing/metalog/APKBUILD48
-rw-r--r--testing/metalog/metalog.confd10
-rw-r--r--testing/metalog/metalog.initd28
-rw-r--r--testing/metricbeat/APKBUILD49
-rw-r--r--testing/metricbeat/metricbeat.confd2
-rw-r--r--testing/metricbeat/metricbeat.initd42
-rw-r--r--testing/metricbeat/metricbeat.yml105
-rw-r--r--testing/mgba/APKBUILD64
-rw-r--r--testing/micropython/APKBUILD47
-rw-r--r--testing/micropython/micropython-1.9.4-prevent-stripping.patch14
-rw-r--r--testing/micropython/no-werror.patch11
-rw-r--r--testing/micropython/no_ssl.patch18
-rw-r--r--testing/micropython/no_ussl.patch15
-rw-r--r--testing/milkytracker/APKBUILD36
-rw-r--r--testing/milkytracker/fix-crash.patch16
-rw-r--r--testing/mimalloc1/APKBUILD35
-rw-r--r--testing/mimalloc1/cmake-add-insecure-suffix.patch27
-rw-r--r--testing/mimalloc1/cmake-install-paths.patch40
-rw-r--r--testing/mimalloc2/APKBUILD94
-rw-r--r--testing/mimalloc2/cmake-add-insecure-suffix.patch35
-rw-r--r--testing/mimalloc2/cmake-install-paths.patch40
-rw-r--r--testing/mimedefang/APKBUILD63
-rw-r--r--testing/mimedefang/date-test.patch11
-rw-r--r--testing/mimedefang/mimedefang.pre-install6
-rw-r--r--testing/mimeo/APKBUILD9
-rw-r--r--testing/mimir/APKBUILD60
-rw-r--r--testing/mimir/mimir.confd5
-rw-r--r--testing/mimir/mimir.initd11
-rwxr-xr-xtesting/mimir/mimir.pre-install6
-rw-r--r--testing/mimir/mimir.yaml50
-rw-r--r--testing/mingw-w64-libusb/APKBUILD6
-rw-r--r--testing/minikube/APKBUILD30
-rw-r--r--testing/minimodem/APKBUILD2
-rw-r--r--testing/minio-client/APKBUILD48
-rw-r--r--testing/minio/APKBUILD80
-rw-r--r--testing/minio/minio.confd13
-rw-r--r--testing/minio/minio.initd25
-rw-r--r--testing/minio/minio.pre-install6
-rw-r--r--testing/minipeg/APKBUILD31
-rw-r--r--testing/minisatip/APKBUILD63
-rw-r--r--testing/minisatip/default_document_root.patch11
-rw-r--r--testing/minisatip/minisatip.confd2
-rw-r--r--testing/minisatip/minisatip.initd13
-rw-r--r--testing/minisatip/minisatip.pre-install7
-rw-r--r--testing/miniserve/APKBUILD37
-rw-r--r--testing/mint-themes/APKBUILD139
-rw-r--r--testing/mint-x-icons/APKBUILD25
-rw-r--r--testing/mint-y-icons/APKBUILD25
-rw-r--r--testing/mir/0001-Fix-the-signature-of-drmModeCrtcSetGamma.patch70
-rw-r--r--testing/mir/APKBUILD111
-rw-r--r--testing/miraclecast/APKBUILD47
-rw-r--r--testing/mitmproxy/APKBUILD55
-rw-r--r--testing/mitmproxy/fix-openssl-tests.patch20
-rw-r--r--testing/mitmproxy/skip-test-optmanager-x86.patch2
-rw-r--r--testing/mitra/APKBUILD100
-rw-r--r--testing/mitra/config.yaml121
-rw-r--r--testing/mitra/init.sql2
-rw-r--r--testing/mitra/mitra.initd27
-rw-r--r--testing/mitra/mitra.post-install7
-rw-r--r--testing/mitra/mitra.pre-install11
-rw-r--r--testing/mixxx/0001-Allow-None-buildtype.patch36
-rw-r--r--testing/mixxx/APKBUILD74
-rw-r--r--testing/mjpg-streamer/APKBUILD2
-rw-r--r--testing/mk-configure/APKBUILD27
-rw-r--r--testing/mkcert/APKBUILD10
-rw-r--r--testing/mkdocs-alabaster/APKBUILD25
-rw-r--r--testing/mkdocs-bootstrap/APKBUILD7
-rw-r--r--testing/mkdocs-bootstrap386/APKBUILD5
-rw-r--r--testing/mkdocs-bootstrap4/APKBUILD5
-rw-r--r--testing/mkdocs-bootswatch/APKBUILD5
-rw-r--r--testing/mkdocs-cinder/APKBUILD5
-rw-r--r--testing/mkdocs-cluster/APKBUILD5
-rw-r--r--testing/mkdocs-gitbook/APKBUILD5
-rw-r--r--testing/mkdocs-ivory/APKBUILD5
-rw-r--r--testing/mkdocs-material-extensions/APKBUILD25
-rw-r--r--testing/mkdocs-material/APKBUILD25
-rw-r--r--testing/mkdocs-rtd-dropdown/APKBUILD5
-rw-r--r--testing/mkdocs-windmill-dark/APKBUILD25
-rw-r--r--testing/mkdocs-windmill/APKBUILD15
-rw-r--r--testing/mkdocs/APKBUILD36
-rw-r--r--testing/mkg3a/APKBUILD4
-rw-r--r--testing/mkrundir/APKBUILD27
-rw-r--r--testing/mktorrent-borg/APKBUILD19
-rw-r--r--testing/mle/APKBUILD36
-rw-r--r--testing/mlxl/APKBUILD30
-rw-r--r--testing/mlxl/flags.patch11
-rw-r--r--[-rwxr-xr-x]testing/mm-common/APKBUILD30
-rw-r--r--testing/mm/APKBUILD1
-rw-r--r--testing/mmix/APKBUILD18
-rw-r--r--testing/mml/APKBUILD59
-rw-r--r--testing/mmtc/APKBUILD32
-rw-r--r--testing/mnamer/APKBUILD18
-rw-r--r--testing/mnemosyne/APKBUILD47
-rw-r--r--testing/mnemosyne/fix-loading-icons.patch76
-rw-r--r--testing/mobpass/APKBUILD7
-rw-r--r--testing/moderncli/APKBUILD34
-rw-r--r--testing/moe/APKBUILD10
-rw-r--r--testing/moka-icon-theme/APKBUILD3
-rw-r--r--testing/mokutil/APKBUILD34
-rw-r--r--testing/mold/APKBUILD52
-rw-r--r--testing/monetdb/APKBUILD6
-rw-r--r--testing/mongo-cxx-driver/01-dont-build-mongo-tests.patch10
-rw-r--r--testing/mongo-cxx-driver/APKBUILD45
-rw-r--r--testing/mongo-cxx-driver/no-mongo-tests.patch22
-rw-r--r--testing/mono/APKBUILD73
-rw-r--r--testing/moon-buggy/APKBUILD2
-rw-r--r--testing/moosefs/APKBUILD13
-rw-r--r--testing/morph-browser/APKBUILD61
-rw-r--r--testing/motion/APKBUILD19
-rw-r--r--testing/mp3gain/APKBUILD26
-rw-r--r--testing/mp3val/APKBUILD27
-rw-r--r--testing/mpdcron/APKBUILD2
-rw-r--r--testing/mpdris2-rs/APKBUILD36
-rw-r--r--testing/mpdris2/APKBUILD5
-rw-r--r--testing/mpir/APKBUILD51
-rw-r--r--testing/mpir/mpir.pc12
-rw-r--r--testing/mpir/mpirxx.pc12
-rw-r--r--testing/mpop/APKBUILD4
-rw-r--r--testing/mpv-mpris/APKBUILD25
-rw-r--r--testing/mpv-sponsorblock/APKBUILD39
-rw-r--r--testing/mpvpaper/APKBUILD33
-rw-r--r--testing/mqtt2prometheus/APKBUILD31
-rw-r--r--testing/mrsh/APKBUILD6
-rw-r--r--testing/msgsl/APKBUILD37
-rw-r--r--testing/msh/APKBUILD46
-rw-r--r--testing/msh/msh.confd3
-rw-r--r--testing/msh/msh.initd26
-rw-r--r--testing/msh/msh.pre-install6
-rw-r--r--testing/mspdebug/APKBUILD2
-rw-r--r--testing/msr-tools/APKBUILD2
-rw-r--r--testing/mstflint/0001-fix-musl.patch26
-rw-r--r--testing/mstflint/APKBUILD48
-rw-r--r--testing/mtg/APKBUILD15
-rw-r--r--testing/mtg/increase-test-timeout.patch11
-rw-r--r--testing/mtm/APKBUILD27
-rw-r--r--testing/multicast-relay/APKBUILD30
-rw-r--r--testing/multicast-relay/fix-python_version.patch8
-rw-r--r--testing/multicast-relay/multicast-relay.confd17
-rw-r--r--testing/multicast-relay/multicast-relay.initd15
-rw-r--r--testing/muon/APKBUILD78
-rw-r--r--testing/muon/fix-bootstrap.patch19
-rw-r--r--testing/muon/fix-tests.patch28
-rw-r--r--testing/muparser/APKBUILD47
-rw-r--r--testing/muse/APKBUILD51
-rw-r--r--testing/musikcube/APKBUILD108
-rw-r--r--testing/musikcube/locale.patch15
-rw-r--r--testing/musikcube/sys.patch37
-rw-r--r--testing/musikcube/tinfo.patch16
-rw-r--r--testing/mustach/APKBUILD28
-rw-r--r--testing/mustache/APKBUILD23
-rw-r--r--testing/mwoffliner/APKBUILD40
-rw-r--r--testing/mxclient/APKBUILD2
-rw-r--r--testing/mycli/APKBUILD39
-rw-r--r--testing/mycroft-embedded-shell/APKBUILD46
-rw-r--r--testing/mynewt-newt/APKBUILD30
-rw-r--r--testing/mypaint/APKBUILD63
-rw-r--r--testing/mypaint/fix-invalid-mode-ru.patch98
-rw-r--r--testing/n30f/APKBUILD2
-rw-r--r--testing/nano-hare/APKBUILD23
-rw-r--r--testing/nanomsg/APKBUILD31
-rw-r--r--testing/nauty/APKBUILD37
-rw-r--r--testing/navidrome/APKBUILD69
-rw-r--r--testing/navidrome/navidrome.confd3
-rw-r--r--testing/navidrome/navidrome.initd26
-rw-r--r--testing/navidrome/navidrome.pre-install6
-rw-r--r--testing/navidrome/navidrome.toml154
-rw-r--r--testing/nawk/APKBUILD29
-rw-r--r--testing/nb/APKBUILD45
-rw-r--r--testing/nbsdgames/APKBUILD36
-rw-r--r--testing/nbsdgames/fix-makefile-path.patch124
-rw-r--r--testing/nbtscan/APKBUILD34
-rw-r--r--testing/ncdu2/APKBUILD40
-rw-r--r--testing/ndpi/APKBUILD21
-rw-r--r--testing/neard/APKBUILD9
-rw-r--r--testing/neatvi/APKBUILD26
-rw-r--r--testing/neatvi/conf.patch14
-rw-r--r--testing/neomutt/APKBUILD65
-rw-r--r--testing/netcdf-cxx4/APKBUILD38
-rw-r--r--testing/netcdf-fortran/APKBUILD44
-rw-r--r--testing/netdata-go-plugins/APKBUILD36
-rw-r--r--testing/netdiscover/APKBUILD43
-rw-r--r--testing/netifrc/APKBUILD27
-rw-r--r--testing/netpbm/01-makefile.patch11
-rw-r--r--testing/netpbm/02-installnetpbm.patch51
-rw-r--r--testing/netpbm/APKBUILD41
-rw-r--r--testing/netpbm/config.mk14
-rw-r--r--testing/netsed/APKBUILD2
-rw-r--r--testing/netsurf/APKBUILD17
-rw-r--r--testing/netsurf/non-coreutils-install-compatibility.patch18
-rw-r--r--testing/newsyslog/10-compat.patch80
-rw-r--r--testing/newsyslog/20-html.patch23
-rw-r--r--testing/newsyslog/APKBUILD51
-rw-r--r--testing/nextpnr/APKBUILD69
-rw-r--r--testing/nginx-naxsi/APKBUILD193
-rw-r--r--testing/nginx-naxsi/anonymise.patch75
-rw-r--r--testing/nginx-naxsi/default.conf20
-rw-r--r--testing/nginx-naxsi/nginx-naxsi.pre-install9
l---------testing/nginx-naxsi/nginx-naxsi.pre-upgrade1
-rw-r--r--testing/nginx-naxsi/nginx.conf92
-rw-r--r--testing/nginx-naxsi/nginx.initd47
-rw-r--r--testing/nginx-naxsi/nginx.logrotate12
-rw-r--r--testing/nginx-naxsi/sysguard.conf25
-rw-r--r--testing/nginx-naxsi/sysguard.patch10
-rw-r--r--testing/nginx-ultimate-bad-bot-blocker/APKBUILD6
-rw-r--r--testing/ngs/APKBUILD44
-rw-r--r--testing/ngs/cmakelists.patch14
-rw-r--r--testing/ngspice/APKBUILD62
-rw-r--r--testing/ngspice/ngspice.pc12
-rw-r--r--testing/nicotine-plus/APKBUILD34
-rw-r--r--testing/nil/APKBUILD46
-rw-r--r--testing/nitro/APKBUILD34
-rw-r--r--testing/nitro/fix-path-max.patch10
-rw-r--r--testing/nitro/path-max.patch12
-rw-r--r--testing/nitrocli/APKBUILD9
-rw-r--r--testing/nix/APKBUILD99
-rw-r--r--testing/nix/nix-daemon.initd7
-rw-r--r--testing/nix/nix-profile.sh84
-rw-r--r--testing/nix/nix.pre-install10
-rw-r--r--testing/nixpacks/APKBUILD29
-rw-r--r--testing/nkk/APKBUILD37
-rw-r--r--testing/nkk/pc-opengl.patch14
-rw-r--r--testing/nlopt/APKBUILD38
-rw-r--r--testing/nm-tray/APKBUILD39
-rw-r--r--testing/nmail/APKBUILD57
-rw-r--r--testing/nmap-parse-output/APKBUILD33
-rw-r--r--testing/nmon/APKBUILD14
-rw-r--r--testing/noblenote/APKBUILD2
-rw-r--r--testing/node-closurecompiler-externs/APKBUILD29
-rw-r--r--testing/node-closurecompiler-externs/domain.js-fix-type-annotations.patch35
-rw-r--r--testing/node-libpg-query/APKBUILD21
-rw-r--r--testing/node-libpg-query/bump-gyp.patch57
-rw-r--r--testing/node-libpg-query/package.patch7
-rw-r--r--testing/nodejs18/APKBUILD222
-rw-r--r--testing/nodejs18/disable-running-gyp-on-shared-deps.patch22
-rw-r--r--testing/nodejs18/fix-build-with-system-c-ares.patch535
-rw-r--r--testing/noggin-model/APKBUILD26
-rw-r--r--testing/noggin/APKBUILD37
-rw-r--r--testing/noice/APKBUILD2
-rw-r--r--testing/nom/APKBUILD41
-rw-r--r--testing/nom/update-go-sqlite3.patch28
-rw-r--r--testing/normaliz/APKBUILD51
-rw-r--r--testing/noson-app/APKBUILD19
-rw-r--r--testing/noson/APKBUILD18
-rw-r--r--testing/noson/gcc12.patch13
-rw-r--r--testing/novnc/APKBUILD44
-rw-r--r--testing/novnc/alpine-specific-launch.js.patch17
-rw-r--r--testing/nsh/APKBUILD11
-rw-r--r--testing/nsjail/APKBUILD43
-rw-r--r--testing/nsjail/protobuf-23.patch24
-rw-r--r--testing/nsnake/APKBUILD11
-rw-r--r--testing/nsq/APKBUILD36
-rw-r--r--testing/nsq/glibc-test.patch13
-rw-r--r--testing/nsq/more-test-procs.patch11
-rw-r--r--testing/nsq/no-fmt.patch11
-rw-r--r--testing/nsss/APKBUILD37
-rw-r--r--testing/ntfy-alertmanager/APKBUILD38
-rw-r--r--testing/ntfy-alertmanager/ntfy-alertmanager.initd12
-rw-r--r--testing/ntfy-alertmanager/ntfy-alertmanager.pre-install6
-rw-r--r--testing/nuklear/APKBUILD24
-rw-r--r--testing/numbat/APKBUILD41
-rw-r--r--testing/numbat/use-system-openssl.patch368
-rw-r--r--testing/nushell/APKBUILD47
-rw-r--r--testing/nushell/nushell.post-install3
l---------testing/nushell/nushell.post-upgrade1
-rw-r--r--testing/nushell/nushell.pre-deinstall3
-rw-r--r--testing/nut/APKBUILD88
-rw-r--r--testing/nut/nut.pre-install7
-rw-r--r--testing/nut/openssl-1.1.patch70
-rw-r--r--testing/nut/upsd.initd41
-rw-r--r--testing/nut/upsmon.initd35
-rw-r--r--testing/nuzzle/APKBUILD36
-rw-r--r--testing/nvchecker/APKBUILD59
-rw-r--r--testing/nvidia-src/APKBUILD40
-rw-r--r--testing/nvim-cmp-buffer/APKBUILD25
-rw-r--r--testing/nvim-cmp-cmdline/APKBUILD25
-rw-r--r--testing/nvim-cmp-lsp/APKBUILD30
-rw-r--r--testing/nvim-cmp-luasnip/APKBUILD25
-rw-r--r--testing/nvim-cmp-path/APKBUILD25
-rw-r--r--testing/nvim-cmp/APKBUILD30
-rw-r--r--testing/nvim-gruvbox/APKBUILD24
-rw-r--r--testing/nvim-lualine/APKBUILD29
-rw-r--r--testing/nvim-packer/APKBUILD29
-rw-r--r--testing/nvim-treesitter/APKBUILD30
-rw-r--r--testing/nvimpager/APKBUILD26
-rw-r--r--testing/nvtop/APKBUILD49
-rw-r--r--testing/nwg-bar/APKBUILD30
-rw-r--r--testing/nwg-displays/APKBUILD36
-rw-r--r--testing/nwg-dock/APKBUILD31
-rw-r--r--testing/nymphcast-mediaserver/APKBUILD14
-rw-r--r--testing/nyx/APKBUILD27
-rw-r--r--testing/nyxt/APKBUILD42
-rw-r--r--testing/nzbget/APKBUILD7
-rw-r--r--testing/nzbget/openssl3.patch29
-rw-r--r--testing/oauth2-proxy/APKBUILD43
-rw-r--r--testing/oauth2-proxy/make-dont-disable-cgo.patch16
-rw-r--r--testing/oauth2-proxy/oauth2-proxy.confd5
-rw-r--r--testing/oauth2-proxy/oauth2-proxy.initd37
-rw-r--r--testing/oauth2-proxy/oauth2-proxy.pre-install6
-rw-r--r--testing/obconf-qt/APKBUILD36
-rw-r--r--testing/obfs4proxy/APKBUILD29
-rw-r--r--testing/objconv/APKBUILD4
-rw-r--r--testing/ocaml-alcotest/APKBUILD102
-rw-r--r--testing/ocaml-angstrom/APKBUILD82
-rw-r--r--testing/ocaml-arp/APKBUILD99
-rw-r--r--testing/ocaml-asn1-combinators/APKBUILD85
-rw-r--r--testing/ocaml-astring/APKBUILD82
-rw-r--r--testing/ocaml-base/APKBUILD77
-rw-r--r--testing/ocaml-base64/APKBUILD79
-rw-r--r--testing/ocaml-bigarray-compat/APKBUILD85
-rw-r--r--testing/ocaml-bigstringaf/APKBUILD79
-rw-r--r--testing/ocaml-biniou/APKBUILD80
-rw-r--r--testing/ocaml-bisect_ppx/APKBUILD82
-rw-r--r--testing/ocaml-bitstring/APKBUILD82
-rw-r--r--testing/ocaml-bos/APKBUILD91
-rw-r--r--testing/ocaml-ca-certs-nss/APKBUILD101
-rw-r--r--testing/ocaml-ca-certs/APKBUILD88
-rw-r--r--testing/ocaml-cairo2/APKBUILD88
-rw-r--r--testing/ocaml-calendar/APKBUILD52
-rw-r--r--testing/ocaml-camlzip/APKBUILD76
-rw-r--r--testing/ocaml-camomile/APKBUILD96
-rw-r--r--testing/ocaml-charinfo_width/APKBUILD78
-rw-r--r--testing/ocaml-cmdliner/APKBUILD72
-rw-r--r--testing/ocaml-compiler-libs-repackaged/APKBUILD77
-rw-r--r--testing/ocaml-containers/APKBUILD95
-rw-r--r--testing/ocaml-containers/use-built-in-libraries.patch10
-rw-r--r--testing/ocaml-cppo/APKBUILD65
-rw-r--r--testing/ocaml-cstruct/APKBUILD88
-rw-r--r--testing/ocaml-ctypes/APKBUILD79
-rw-r--r--testing/ocaml-curses/APKBUILD93
-rw-r--r--testing/ocaml-dns/APKBUILD114
-rw-r--r--testing/ocaml-domain-name/APKBUILD79
-rw-r--r--testing/ocaml-down/APKBUILD83
-rw-r--r--testing/ocaml-duration/APKBUILD79
-rw-r--r--testing/ocaml-easy-format/APKBUILD80
-rw-r--r--testing/ocaml-eqaf/APKBUILD79
-rw-r--r--testing/ocaml-erm_xml/APKBUILD85
-rw-r--r--testing/ocaml-erm_xmpp/APKBUILD94
-rw-r--r--testing/ocaml-ethernet/APKBUILD84
-rw-r--r--testing/ocaml-extlib/APKBUILD58
-rw-r--r--testing/ocaml-fileutils/APKBUILD93
-rw-r--r--testing/ocaml-fix/APKBUILD81
-rw-r--r--testing/ocaml-fmt/APKBUILD85
-rw-r--r--testing/ocaml-fpath/APKBUILD82
-rw-r--r--testing/ocaml-gen/APKBUILD79
-rw-r--r--testing/ocaml-gettext/0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch109
-rw-r--r--testing/ocaml-gettext/0002-pr_gettext-stop-printing-extracted-strings.patch26
-rw-r--r--testing/ocaml-gettext/0003-add-more-generated-files-to-.gitignore.patch44
-rw-r--r--testing/ocaml-gettext/APKBUILD122
-rw-r--r--testing/ocaml-gettext/ocaml-gettext-0.3.4-use-ocamlopt-g.patch33
-rw-r--r--testing/ocaml-gmap/APKBUILD79
-rw-r--r--testing/ocaml-happy-eyeballs-lwt/APKBUILD99
-rw-r--r--testing/ocaml-happy-eyeballs/APKBUILD89
-rw-r--r--testing/ocaml-hex/APKBUILD77
-rw-r--r--testing/ocaml-hkdf/APKBUILD83
-rw-r--r--testing/ocaml-integers/APKBUILD77
-rw-r--r--testing/ocaml-ipaddr/APKBUILD87
-rw-r--r--testing/ocaml-lablgtk3-extras/APKBUILD84
-rw-r--r--testing/ocaml-lablgtk3/APKBUILD84
-rw-r--r--testing/ocaml-labltk/APKBUILD82
-rw-r--r--testing/ocaml-lambda-term/APKBUILD82
-rw-r--r--testing/ocaml-lambdasoup/APKBUILD88
-rw-r--r--testing/ocaml-libvirt/0001-Add-a-binding-for-virDomainCreateXML.patch213
-rw-r--r--testing/ocaml-libvirt/0001-Remove-unused-not_supported-function.patch57
-rw-r--r--testing/ocaml-libvirt/0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch1864
-rw-r--r--testing/ocaml-libvirt/0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch35
-rw-r--r--testing/ocaml-libvirt/0001-Use-g-warn-error.patch78
-rw-r--r--testing/ocaml-libvirt/0002-Don-t-bother-checking-return-from-virInitialize.patch32
-rw-r--r--testing/ocaml-libvirt/0002-Update-dependencies.patch44
-rw-r--r--testing/ocaml-libvirt/0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch393
-rw-r--r--testing/ocaml-libvirt/0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch42
-rw-r--r--testing/ocaml-libvirt/0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch127
-rw-r--r--testing/ocaml-libvirt/APKBUILD102
-rw-r--r--testing/ocaml-logs/APKBUILD91
-rw-r--r--testing/ocaml-lru/APKBUILD79
-rw-r--r--testing/ocaml-lwd/APKBUILD100
-rw-r--r--testing/ocaml-lwt-dllist/APKBUILD79
-rw-r--r--testing/ocaml-lwt/APKBUILD110
-rw-r--r--testing/ocaml-lwt_log/APKBUILD74
-rw-r--r--testing/ocaml-markup/APKBUILD99
-rw-r--r--testing/ocaml-menhir/APKBUILD76
-rw-r--r--testing/ocaml-merlin-extend/APKBUILD86
-rw-r--r--testing/ocaml-metrics/APKBUILD87
-rw-r--r--testing/ocaml-mew/APKBUILD81
-rw-r--r--testing/ocaml-mew/use-built-in-result-lib.patch9
-rw-r--r--testing/ocaml-mew_vi/APKBUILD78
-rw-r--r--testing/ocaml-mikmatch/APKBUILD62
-rw-r--r--testing/ocaml-mirage-clock/APKBUILD77
-rw-r--r--testing/ocaml-mirage-crypto/APKBUILD91
-rw-r--r--testing/ocaml-mirage-flow/APKBUILD86
-rw-r--r--testing/ocaml-mirage-kv/APKBUILD79
-rw-r--r--testing/ocaml-mirage-net/APKBUILD82
-rw-r--r--testing/ocaml-mirage-profile/APKBUILD87
-rw-r--r--testing/ocaml-mirage-random/APKBUILD77
-rw-r--r--testing/ocaml-mirage-time/APKBUILD77
-rw-r--r--testing/ocaml-mmap/APKBUILD78
-rw-r--r--testing/ocaml-mtime/APKBUILD81
-rw-r--r--testing/ocaml-notty/APKBUILD82
-rw-r--r--testing/ocaml-num/APKBUILD54
-rw-r--r--testing/ocaml-obuild/APKBUILD45
-rw-r--r--testing/ocaml-ocf/APKBUILD81
-rw-r--r--testing/ocaml-ocplib-endian/APKBUILD78
-rw-r--r--testing/ocaml-omake/APKBUILD53
-rw-r--r--testing/ocaml-omod/APKBUILD94
-rw-r--r--testing/ocaml-omod/fix-cache-dir.patch13
-rw-r--r--testing/ocaml-otr/APKBUILD84
-rw-r--r--testing/ocaml-ounit/APKBUILD89
-rw-r--r--testing/ocaml-parsexp/APKBUILD79
-rw-r--r--testing/ocaml-pbkdf/APKBUILD81
-rw-r--r--testing/ocaml-pcre/APKBUILD77
-rw-r--r--testing/ocaml-ppx_derivers/APKBUILD81
-rw-r--r--testing/ocaml-ppx_deriving/APKBUILD79
-rw-r--r--testing/ocaml-ppx_sexp_conv/APKBUILD82
-rw-r--r--testing/ocaml-ppxlib/APKBUILD91
-rw-r--r--testing/ocaml-psq/APKBUILD79
-rw-r--r--testing/ocaml-ptime/APKBUILD81
-rw-r--r--testing/ocaml-ptmap/APKBUILD86
-rw-r--r--testing/ocaml-qcheck/APKBUILD71
-rw-r--r--testing/ocaml-qtest/APKBUILD72
-rw-r--r--testing/ocaml-randomconv/APKBUILD77
-rw-r--r--testing/ocaml-re/APKBUILD79
-rw-r--r--testing/ocaml-react/APKBUILD87
-rw-r--r--testing/ocaml-result/APKBUILD77
-rw-r--r--testing/ocaml-rresult/APKBUILD81
-rw-r--r--testing/ocaml-sedlex/APKBUILD79
-rw-r--r--testing/ocaml-seq/APKBUILD80
-rw-r--r--testing/ocaml-sexplib/APKBUILD82
-rw-r--r--testing/ocaml-sexplib0/APKBUILD79
-rw-r--r--testing/ocaml-sha/APKBUILD75
-rw-r--r--testing/ocaml-stdlib-shims/APKBUILD56
-rw-r--r--testing/ocaml-stringext/APKBUILD79
-rw-r--r--testing/ocaml-tcpip/APKBUILD101
-rw-r--r--testing/ocaml-tls/APKBUILD103
-rw-r--r--testing/ocaml-tophide/APKBUILD54
-rw-r--r--testing/ocaml-topkg/APKBUILD80
-rw-r--r--testing/ocaml-trie/APKBUILD79
-rw-r--r--testing/ocaml-uri/APKBUILD85
-rw-r--r--testing/ocaml-uucd/APKBUILD83
-rw-r--r--testing/ocaml-uucp/APKBUILD90
-rw-r--r--testing/ocaml-uuidm/APKBUILD90
-rw-r--r--testing/ocaml-uunf/APKBUILD89
-rw-r--r--testing/ocaml-uuseg/APKBUILD94
-rw-r--r--testing/ocaml-uutf/APKBUILD84
-rw-r--r--testing/ocaml-x509/APKBUILD92
-rw-r--r--testing/ocaml-xml-light/APKBUILD90
-rw-r--r--testing/ocaml-xml-light/Makefile-explicit-target-fix.patch11
-rw-r--r--testing/ocaml-xmlm/APKBUILD82
-rw-r--r--testing/ocaml-yojson/APKBUILD87
-rw-r--r--testing/ocaml-zarith/APKBUILD58
-rw-r--r--testing/ocaml-zarith/project.mak.patch11
-rw-r--r--testing/ocaml-zed/APKBUILD82
-rw-r--r--testing/ocaml-zed/use-built-in-result-lib.patch8
-rw-r--r--testing/ocaml5/APKBUILD114
-rw-r--r--testing/ocamlclean/APKBUILD31
-rw-r--r--testing/ocamlclean/bump-magic.patch15
-rw-r--r--testing/ocamlclean/deprecated-pervasives.patch15
-rw-r--r--testing/ocamlnet/APKBUILD104
-rw-r--r--testing/ocamlnet/fix-version-number.patch11
-rw-r--r--testing/ocfs2-tools/APKBUILD6
-rw-r--r--testing/ocfs2-tools/musl-sys-raw.h.patch37
-rw-r--r--testing/ocfs2-tools/new-linux.patch37
-rw-r--r--testing/ocp-indent/APKBUILD102
-rw-r--r--testing/ocp-index/APKBUILD109
-rw-r--r--testing/octoprint-creality2xfix/APKBUILD36
-rw-r--r--testing/octoprint-filecheck/APKBUILD36
-rw-r--r--testing/octoprint-firmwarecheck/APKBUILD36
-rw-r--r--testing/octoprint-pisupport/APKBUILD36
-rw-r--r--testing/octoprint/APKBUILD119
-rw-r--r--testing/octoprint/config.yaml153
-rw-r--r--testing/octoprint/fix-tests.patch9
-rw-r--r--testing/octoprint/netaddr-0.10.patch33
-rw-r--r--testing/octoprint/octoprint.initd24
-rw-r--r--testing/octoprint/octoprint.pre-install6
-rw-r--r--testing/octoprint/py3.12-typeparams.patch49
-rw-r--r--testing/octoprint/pydantic-2.0.patch28
-rw-r--r--testing/odyssey/APKBUILD31
-rw-r--r--testing/odyssey/argp.patch13
-rw-r--r--testing/odyssey/types.patch12
-rw-r--r--testing/oh-my-zsh/APKBUILD5
-rw-r--r--testing/oil/APKBUILD9
-rw-r--r--testing/oksh/APKBUILD29
-rw-r--r--testing/oksh/oksh.post-install3
-rw-r--r--testing/oksh/oksh.post-upgrade1
-rw-r--r--testing/oksh/oksh.pre-deinstall3
-rw-r--r--testing/ol/APKBUILD35
-rw-r--r--testing/ol/GNUmakefile.patch21
-rw-r--r--testing/ol/memfd_create.patch107
-rw-r--r--testing/ol/tests-Makefile.patch395
-rw-r--r--testing/olsrd/APKBUILD2
-rw-r--r--testing/ombi/APKBUILD89
-rw-r--r--testing/ombi/ombi.confd4
-rw-r--r--testing/ombi/ombi.initd24
-rw-r--r--testing/ombi/ombi.pre-install6
-rw-r--r--testing/one-dnn/APKBUILD30
-rw-r--r--testing/one-dnn/gcc13.patch12
-rw-r--r--testing/onefetch/APKBUILD25
-rw-r--r--testing/onevpl-intel-gpu/APKBUILD40
-rw-r--r--testing/onioncat/APKBUILD36
-rw-r--r--testing/onnxruntime/0001-Remove-MATH_NO_EXCEPT-macro.patch50
-rw-r--r--testing/onnxruntime/APKBUILD99
-rw-r--r--testing/onnxruntime/no-execinfo.patch22
-rw-r--r--testing/onnxruntime/system.patch66
-rw-r--r--testing/opa/APKBUILD77
-rw-r--r--testing/opa/tests-go1.22-compat.patch274
-rw-r--r--testing/opcr-policy/APKBUILD37
-rw-r--r--testing/opencascade/APKBUILD65
-rw-r--r--testing/opencascade/cmake_add_buildtype_none.patch13
-rw-r--r--testing/opencascade/cmake_fix_install_dir.patch30
-rw-r--r--testing/opencascade/no_backtrace.patch63
-rw-r--r--testing/opencascade/no_feenableexcept.patch41
-rw-r--r--testing/opencascade/no_mallinfo.patch61
-rw-r--r--testing/opencc/APKBUILD39
-rw-r--r--testing/opencl-clang/APKBUILD39
-rw-r--r--testing/opencl-clang/cl_headers-clang-include.patch13
-rw-r--r--testing/opencsg/APKBUILD34
-rw-r--r--testing/opendht/APKBUILD75
-rw-r--r--testing/openfire/APKBUILD85
-rw-r--r--testing/openfire/openfire.confd6
-rw-r--r--testing/openfire/openfire.initd24
-rw-r--r--testing/openfire/openfire.logrotate8
-rwxr-xr-xtesting/openfire/openfire.post-install18
l---------testing/openfire/openfire.post-upgrade1
-rwxr-xr-xtesting/openfire/openfire.pre-install6
-rw-r--r--testing/openfortivpn/APKBUILD11
-rw-r--r--testing/openfpgaloader/APKBUILD43
-rw-r--r--testing/openh264/APKBUILD30
-rw-r--r--testing/openimagedenoise/APKBUILD33
-rw-r--r--testing/openimageio/APKBUILD76
-rw-r--r--testing/openjfx/APKBUILD53
-rw-r--r--testing/openjfx/openjfx.profile3
-rw-r--r--testing/openjfx/remove-version-suffix-check.patch42
-rw-r--r--testing/openmg/APKBUILD28
-rw-r--r--testing/openmg/format-security.patch119
-rw-r--r--testing/openmp/APKBUILD37
-rw-r--r--testing/openocd-esp32/APKBUILD78
-rw-r--r--testing/openocd-esp32/fix-jimtcl-link.patch44
-rw-r--r--testing/openocd-git/APKBUILD62
-rw-r--r--testing/openocd-git/fix-dynamic-linking.patch25
-rw-r--r--testing/openocd-riscv/APKBUILD49
-rw-r--r--testing/openocd-riscv/fix-dynamic-linking.patch25
-rw-r--r--testing/openra/APKBUILD51
-rw-r--r--testing/openrazer/APKBUILD63
-rw-r--r--testing/openrc-exporter/APKBUILD42
-rw-r--r--testing/openrc-exporter/openrc-exporter.confd3
-rw-r--r--testing/openrc-exporter/openrc-exporter.initd14
-rw-r--r--testing/openrc-exporter/openrc-exporter.pre-install6
-rw-r--r--testing/openresty/APKBUILD155
-rw-r--r--testing/openscad/APKBUILD63
-rw-r--r--testing/openscap-daemon/APKBUILD8
-rw-r--r--testing/openscap/APKBUILD50
-rw-r--r--testing/openscap/fix-ppc64le-path_max.patch34
-rw-r--r--testing/openscap/path_mounted.patch12
-rw-r--r--testing/openslide/APKBUILD52
-rw-r--r--testing/opensm/APKBUILD2
-rw-r--r--testing/opensmtpd-filter-dkimsign/APKBUILD34
-rw-r--r--testing/opensmtpd-filter-dkimsign/dkimsign-genkey101
-rw-r--r--testing/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign.post-install7
-rw-r--r--testing/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign.pre-install6
-rw-r--r--testing/openspades/APKBUILD55
-rw-r--r--testing/openssh-askpass/APKBUILD33
-rw-r--r--testing/openssl1.1-compat/APKBUILD177
-rw-r--r--testing/openssl1.1-compat/man-section.patch54
-rw-r--r--testing/openssl1.1-compat/ppc64.patch96
-rw-r--r--testing/opensubdiv/0001-remove-rpath.patch36
-rw-r--r--testing/opensubdiv/APKBUILD67
-rw-r--r--testing/opensurge/APKBUILD38
-rw-r--r--testing/opensurge/patch-zip.patch21
-rw-r--r--testing/opentelemetry-cpp/APKBUILD108
-rw-r--r--testing/opentelemetry-cpp/gcc13.patch12
-rw-r--r--testing/openttd/APKBUILD18
-rw-r--r--testing/openttd/no-sse4.patch13
-rw-r--r--testing/openvino/APKBUILD143
-rw-r--r--testing/openvino/cmake-config.patch94
-rw-r--r--testing/openvino/cmake-dont-force-build-type.patch22
-rw-r--r--testing/openvino/deprecated-copy.patch14
-rw-r--r--testing/openvino/include-stdexcept.patch15
-rw-r--r--testing/openvino/pessimizing-move.patch46
-rw-r--r--testing/openvpn3/APKBUILD42
-rw-r--r--testing/openvpn3/unvendor.patch34
-rw-r--r--testing/openwsman/APKBUILD54
-rw-r--r--testing/opkg-utils/APKBUILD2
-rw-r--r--testing/opkg/APKBUILD15
-rw-r--r--testing/opmsg/APKBUILD16
-rw-r--r--testing/optee-client/APKBUILD38
-rw-r--r--testing/orage/APKBUILD45
-rw-r--r--testing/oras-cli/APKBUILD53
-rw-r--r--testing/osl/APKBUILD82
-rw-r--r--testing/osmctools/APKBUILD34
-rw-r--r--testing/ospd-acunetix/APKBUILD27
-rw-r--r--testing/ospd-ancor/APKBUILD32
-rw-r--r--testing/ospd-debsecan/APKBUILD27
-rw-r--r--testing/ospd-ikeprobe/APKBUILD31
-rw-r--r--testing/ospd-ikescan/APKBUILD27
-rw-r--r--testing/ospd-nmap/APKBUILD27
-rw-r--r--testing/ospd-ovaldi/APKBUILD32
-rw-r--r--testing/ospd-paloalto/APKBUILD27
-rw-r--r--testing/ospd-ssh-keyscan/APKBUILD32
-rw-r--r--testing/ospd-w3af/APKBUILD32
-rw-r--r--testing/ossp-uuid/APKBUILD37
-rw-r--r--testing/ossp-uuid/uuid.patch208
-rw-r--r--testing/ostinato/APKBUILD49
-rw-r--r--testing/ostinato/ModelTest.patch18
-rw-r--r--testing/otpclient/APKBUILD17
-rw-r--r--testing/otrs/APKBUILD44
-rw-r--r--testing/ouch/APKBUILD54
-rw-r--r--testing/ouch/use-system-libs.patch11
-rw-r--r--testing/ovn/APKBUILD152
-rw-r--r--testing/ovn/ovn-controller.initd22
-rw-r--r--testing/ovn/ovn-ctl.confd3
-rw-r--r--testing/ovn/ovn-northd.initd22
-rw-r--r--testing/ovn/ovn-ovsdb-server-nb.initd22
-rw-r--r--testing/ovn/ovn-ovsdb-server-sb.initd22
-rw-r--r--testing/ovn/ovn.post-install3
-rw-r--r--testing/ovn/ovs-ifupdown-alpine.patch17
-rw-r--r--testing/ovn/ovs-modules.initd20
-rw-r--r--testing/ovn/ovs-vswitchd.confd6
-rw-r--r--testing/ovn/ovs-vswitchd.initd25
-rw-r--r--testing/ovn/ovsdb-server.confd16
-rw-r--r--testing/ovn/ovsdb-server.initd50
-rw-r--r--testing/ovos-audio/APKBUILD53
-rw-r--r--testing/ovos-core/APKBUILD69
-rw-r--r--testing/ovos-core/ovos.conf1
-rw-r--r--testing/ovos-core/profile.sh2
-rw-r--r--testing/ovos-dinkum-listener/APKBUILD51
-rw-r--r--testing/ovos-gui/APKBUILD46
-rw-r--r--testing/ovos-messagebus/APKBUILD40
-rw-r--r--testing/ovos-phal/APKBUILD54
-rw-r--r--testing/ovos-shell/APKBUILD59
-rw-r--r--testing/ovos-skill-hello-world/APKBUILD39
-rw-r--r--testing/ovos-skill-manager/APKBUILD81
-rw-r--r--testing/ovos-skill-manager/appstore-use-last-compatible-archive.patch26
-rw-r--r--testing/ovos-skill-manager/fix-github-main-branch-detection.patch31
-rw-r--r--testing/ovos/APKBUILD28
-rw-r--r--testing/ovpncc/APKBUILD24
-rw-r--r--testing/owfs/APKBUILD35
-rw-r--r--testing/oxipng/APKBUILD28
-rw-r--r--testing/p0f/APKBUILD2
-rw-r--r--testing/p910nd/APKBUILD23
-rw-r--r--testing/p910nd/fix-paths.patch16
-rw-r--r--testing/p910nd/p910nd.confd2
-rw-r--r--testing/p910nd/p910nd.initd2
-rw-r--r--testing/pacparser/APKBUILD36
-rw-r--r--testing/pacparser/spidermonkey-make.patch16
-rw-r--r--testing/paho-mqtt-c/0002-make-make-all-dirs-required-in-install.patch31
-rw-r--r--testing/paho-mqtt-c/APKBUILD27
-rw-r--r--testing/pahole/APKBUILD32
-rw-r--r--testing/palp/APKBUILD47
-rw-r--r--testing/pam-krb5/APKBUILD8
-rw-r--r--testing/pam_mount/APKBUILD57
-rw-r--r--testing/pam_mount/rundir.patch13
-rw-r--r--testing/pam_sqlite3/APKBUILD23
-rw-r--r--testing/pam_sqlite3/broken-makefile.patch13
-rw-r--r--testing/pamtester/APKBUILD6
-rw-r--r--testing/pandoc/APKBUILD55
-rw-r--r--testing/pandoc/cabal.project.freeze219
-rw-r--r--testing/pantalaimon/APKBUILD70
-rw-r--r--testing/pantalaimon/fix-media.patch24
-rw-r--r--testing/pantalaimon/fix-presence.patch28
-rw-r--r--testing/pantalaimon/fix-tox.patch24
-rw-r--r--testing/pantalaimon/fix-typo.patch24
-rw-r--r--testing/paperde/APKBUILD50
-rw-r--r--testing/paperkey/APKBUILD4
-rw-r--r--testing/paprefs/APKBUILD23
-rw-r--r--testing/par/APKBUILD2
-rw-r--r--testing/par2cmdline-turbo/APKBUILD37
-rw-r--r--testing/paraexec/APKBUILD8
-rw-r--r--testing/parcellite/APKBUILD27
-rw-r--r--[-rwxr-xr-x]testing/pari/APKBUILD24
-rw-r--r--testing/partclone-utils/10-posix-close.patch24
-rw-r--r--testing/partclone-utils/20-u_int-to-uint.patch215
-rw-r--r--testing/partclone-utils/APKBUILD37
-rw-r--r--testing/pash/APKBUILD2
-rw-r--r--testing/pass2csv/APKBUILD18
-rw-r--r--testing/passt/APKBUILD29
-rw-r--r--testing/pastebinc/APKBUILD2
-rw-r--r--testing/pastel/APKBUILD16
-rw-r--r--testing/pathvector/APKBUILD32
-rw-r--r--testing/pathvector/pathvector.yml1
-rw-r--r--testing/pavucontrol-qt/APKBUILD34
-rw-r--r--testing/pcaudiolib/APKBUILD37
-rw-r--r--testing/pcem/APKBUILD8
-rw-r--r--testing/pcl/APKBUILD110
-rw-r--r--testing/pcl/fix-broken-flags.patch30
-rw-r--r--testing/pcl/gcc8.patch36
-rw-r--r--testing/pcmanfm-qt/APKBUILD35
-rw-r--r--testing/pcsc-perl/APKBUILD16
-rw-r--r--testing/pcsc-tools/APKBUILD10
-rw-r--r--testing/pcsx2/APKBUILD164
-rw-r--r--testing/pcsx2/PCSX2.desktop15
-rw-r--r--testing/pcsx2/fast-float.patch14
-rw-r--r--testing/pcsx2/fix-lfs64.patch118
-rw-r--r--testing/pcsx2/ryml.patch13
-rw-r--r--testing/pcsx2/unbundle-vulkan.patch25
-rw-r--r--testing/pcsx2/version.patch23
-rw-r--r--testing/pcsx2/zstd.patch10
-rw-r--r--testing/pcsxr/APKBUILD47
-rw-r--r--testing/pcsxr/fix-assert-64bit.patch13
-rw-r--r--testing/pcsxr/fix-musl.patch14
-rw-r--r--testing/pcsxr/fix-uncompress2.patch23
-rw-r--r--testing/pcsxr/fix-undefined-operations.patch194
-rw-r--r--testing/pdal-python-plugins/APKBUILD33
-rw-r--r--testing/pdf2svg/APKBUILD2
-rw-r--r--testing/pdfarranger/APKBUILD27
-rw-r--r--testing/pdfcpu/APKBUILD32
-rw-r--r--testing/pdfcrack/APKBUILD8
-rw-r--r--testing/pdfjs/APKBUILD21
-rw-r--r--testing/pdm/APKBUILD61
-rw-r--r--testing/pebble-le/APKBUILD54
-rw-r--r--testing/pebble-le/pebble-le.pre-install5
-rw-r--r--testing/pebble-le/simpleble.patch45
-rw-r--r--testing/peervpn/APKBUILD4
-rw-r--r--testing/peg/APKBUILD2
-rw-r--r--testing/pegasus-frontend/APKBUILD8
-rw-r--r--testing/pegtl/APKBUILD12
-rw-r--r--testing/pegtl/ignore-type-limits-error.patch19
-rw-r--r--testing/percona-toolkit/APKBUILD6
-rw-r--r--testing/perl-adapter-async/APKBUILD50
-rw-r--r--testing/perl-algorithm-backoff/APKBUILD39
-rw-r--r--testing/perl-algorithm-c3/APKBUILD2
-rw-r--r--testing/perl-algorithm-cron/APKBUILD2
-rw-r--r--testing/perl-aliased/APKBUILD2
-rw-r--r--testing/perl-anyevent-dns-etchosts/APKBUILD11
-rw-r--r--testing/perl-anyevent-future/APKBUILD37
-rw-r--r--testing/perl-anyevent-http/APKBUILD34
-rw-r--r--testing/perl-anyevent-mocktcpserver/APKBUILD38
-rw-r--r--testing/perl-anyevent-mqtt/APKBUILD47
-rw-r--r--testing/perl-anyevent-riperedis/APKBUILD42
-rw-r--r--testing/perl-anyevent-riperedis/test-redisrunner.patch18
-rw-r--r--testing/perl-anyevent-xmpp/APKBUILD46
-rw-r--r--testing/perl-anyevent-xmpp/delivery-receipt-1.patch45
-rw-r--r--testing/perl-anyevent-xmpp/delivery-receipt-2.patch24
-rw-r--r--testing/perl-anyevent-xmpp/doc-typo-fix.patch24
-rw-r--r--testing/perl-archive-cpio/APKBUILD37
-rw-r--r--testing/perl-archive-extract/APKBUILD2
-rw-r--r--testing/perl-autobox/APKBUILD2
-rw-r--r--testing/perl-barcode-zbar/APKBUILD38
-rw-r--r--testing/perl-bind-config-parser/APKBUILD2
-rw-r--r--testing/perl-bsd-resource/APKBUILD28
-rw-r--r--testing/perl-bytes-random-secure/APKBUILD38
-rw-r--r--testing/perl-cache-lru/APKBUILD38
-rw-r--r--testing/perl-cairo-gobject/APKBUILD5
-rw-r--r--testing/perl-cairo/APKBUILD2
-rw-r--r--testing/perl-cgi-expand/APKBUILD2
-rw-r--r--testing/perl-check-unitcheck/APKBUILD42
-rw-r--r--testing/perl-class-accessor-grouped/APKBUILD2
-rw-r--r--testing/perl-class-c3-componentised/APKBUILD2
-rw-r--r--testing/perl-class-c3/APKBUILD2
-rw-r--r--testing/perl-class-inner/APKBUILD29
-rw-r--r--testing/perl-class-xsaccessor/APKBUILD37
-rw-r--r--testing/perl-clone-choose/APKBUILD2
-rw-r--r--testing/perl-clone-pp/APKBUILD2
-rw-r--r--testing/perl-color-ansi-util/APKBUILD38
-rw-r--r--testing/perl-color-rgb-util/APKBUILD39
-rw-r--r--testing/perl-conf-libconfig/APKBUILD8
-rw-r--r--testing/perl-constant-defer/APKBUILD15
-rw-r--r--testing/perl-constant-generate/APKBUILD15
-rw-r--r--testing/perl-context-preserve/APKBUILD2
-rw-r--r--testing/perl-cpan-changes/APKBUILD41
-rw-r--r--testing/perl-crypt-random-seed/APKBUILD38
-rw-r--r--testing/perl-crypt-saltedhash/APKBUILD2
-rw-r--r--testing/perl-crypt-urandom/APKBUILD39
-rw-r--r--testing/perl-css-object/APKBUILD38
-rw-r--r--testing/perl-curry/APKBUILD38
-rw-r--r--testing/perl-daemon-control/APKBUILD2
-rw-r--r--testing/perl-dancer-plugin-auth-extensible/APKBUILD7
-rw-r--r--testing/perl-dancer-plugin-dbic/APKBUILD8
-rw-r--r--testing/perl-dancer-plugin-passphrase/APKBUILD8
-rw-r--r--testing/perl-dancer-session-cookie/APKBUILD4
-rw-r--r--testing/perl-data-dumper-concise/APKBUILD2
-rw-r--r--testing/perl-data-printer/APKBUILD34
-rw-r--r--testing/perl-data-validate-domain/APKBUILD39
-rw-r--r--testing/perl-data-validate-ip/APKBUILD8
-rw-r--r--testing/perl-database-async-engine-postgresql/APKBUILD57
-rw-r--r--testing/perl-database-async/APKBUILD53
-rw-r--r--testing/perl-datetime-format-atom/APKBUILD39
-rw-r--r--testing/perl-datetime-format-flexible/APKBUILD42
-rw-r--r--testing/perl-datetime-format-rfc3339/APKBUILD39
-rw-r--r--testing/perl-datetime-format-sqlite/APKBUILD39
-rw-r--r--testing/perl-datetime-timezone-alias/APKBUILD44
-rw-r--r--testing/perl-datetime-timezone-catalog-extend/APKBUILD39
-rw-r--r--testing/perl-dbicx-sugar/APKBUILD2
-rw-r--r--testing/perl-dbix-class-candy/APKBUILD2
-rw-r--r--testing/perl-dbix-class-helpers/APKBUILD2
-rw-r--r--testing/perl-dbix-class/APKBUILD60
-rw-r--r--testing/perl-dbix-datasource/APKBUILD2
-rw-r--r--testing/perl-dbix-introspector/APKBUILD2
-rw-r--r--testing/perl-devel-confess/APKBUILD39
-rw-r--r--testing/perl-devel-leak/APKBUILD2
-rw-r--r--testing/perl-devel-refcount/APKBUILD38
-rw-r--r--testing/perl-digest-bcrypt/APKBUILD10
-rw-r--r--testing/perl-digest-crc/APKBUILD39
-rw-r--r--testing/perl-dns-unbound/APKBUILD108
-rw-r--r--testing/perl-email-abstract/APKBUILD6
-rw-r--r--testing/perl-email-mime-attachment-stripper/APKBUILD16
-rw-r--r--testing/perl-email-reply/APKBUILD15
-rw-r--r--testing/perl-ev-hiredis/APKBUILD61
-rw-r--r--testing/perl-ev-hiredis/use-system-hiredis.patch21
-rw-r--r--testing/perl-extutils-makemaker/APKBUILD15
-rw-r--r--testing/perl-extutils-xsbuilder/APKBUILD14
-rw-r--r--testing/perl-feed-find/APKBUILD39
-rw-r--r--testing/perl-ffi-c/APKBUILD44
-rw-r--r--testing/perl-ffi-platypus-type-enum/APKBUILD39
-rw-r--r--testing/perl-ffi-platypus/APKBUILD48
-rw-r--r--testing/perl-file-homedir/APKBUILD34
-rw-r--r--testing/perl-file-mmagic-xs/APKBUILD40
-rw-r--r--testing/perl-file-mmagic-xs/format-security.patch13
-rw-r--r--testing/perl-file-rename/APKBUILD14
-rw-r--r--testing/perl-freezethaw/APKBUILD2
-rw-r--r--testing/perl-future-http/APKBUILD42
-rw-r--r--testing/perl-future-q/APKBUILD41
-rw-r--r--testing/perl-future-queue/APKBUILD38
-rw-r--r--testing/perl-gearman/APKBUILD45
-rw-r--r--testing/perl-getopt-long-descriptive/APKBUILD6
-rw-r--r--testing/perl-getopt-tabular/APKBUILD16
-rw-r--r--testing/perl-git-raw/APKBUILD56
-rw-r--r--testing/perl-git-raw/libgit2-1.7.1-tests.patch47
-rw-r--r--testing/perl-git-raw/libgit2-riscv64-tests.patch19
-rw-r--r--testing/perl-git-raw/libgit2-shared.mk.pl213
-rw-r--r--testing/perl-git-raw/libgit2-version-tests.patch64
-rw-r--r--testing/perl-git-repository/APKBUILD54
-rw-r--r--testing/perl-git-repository/git-2.38.1-tests.patch33
-rw-r--r--testing/perl-git-repository/git-2.40.0-tests.patch24
-rw-r--r--testing/perl-git-version-compare/APKBUILD39
-rw-r--r--testing/perl-glib-ex-objectbits/APKBUILD17
-rw-r--r--testing/perl-glib-object-introspection/APKBUILD10
-rw-r--r--testing/perl-graphql-client/APKBUILD53
-rw-r--r--testing/perl-gtk2-ex-listmodelconcat/APKBUILD24
-rw-r--r--testing/perl-gtk2-ex-widgetbits/APKBUILD24
-rw-r--r--testing/perl-gtk2/APKBUILD2
-rw-r--r--testing/perl-gtk3/APKBUILD4
-rw-r--r--testing/perl-guard/APKBUILD37
-rw-r--r--testing/perl-hash-merge/APKBUILD4
-rw-r--r--testing/perl-hash-ordered/APKBUILD46
-rw-r--r--testing/perl-hook-lexwrap/APKBUILD37
-rw-r--r--testing/perl-html-object/APKBUILD51
-rw-r--r--testing/perl-html-selector-xpath/APKBUILD39
-rw-r--r--testing/perl-html-tableextract/APKBUILD6
-rw-r--r--testing/perl-http-thin/APKBUILD41
-rw-r--r--testing/perl-http-xsheaders/APKBUILD42
-rw-r--r--testing/perl-i18n-langinfo-wide/APKBUILD24
-rw-r--r--testing/perl-indirect/APKBUILD39
-rw-r--r--testing/perl-io-async-resolver-dns/APKBUILD37
-rw-r--r--testing/perl-io-lambda/APKBUILD38
-rw-r--r--testing/perl-io-sessiondata/APKBUILD2
-rw-r--r--testing/perl-io-socket-timeout/APKBUILD34
-rw-r--r--testing/perl-json-any/APKBUILD47
-rw-r--r--testing/perl-json-maybeutf8/APKBUILD39
-rw-r--r--testing/perl-json-path/APKBUILD45
-rw-r--r--testing/perl-json-path/no-tie-ixhash.patch36
-rw-r--r--testing/perl-json-validator/APKBUILD51
-rw-r--r--testing/perl-libapreq2/APKBUILD8
-rw-r--r--testing/perl-libintl-perl/APKBUILD28
-rw-r--r--testing/perl-lingua-en-inflect/APKBUILD34
-rw-r--r--testing/perl-linux-pid/APKBUILD6
-rw-r--r--testing/perl-list-binarysearch-xs/APKBUILD39
-rw-r--r--testing/perl-list-binarysearch/APKBUILD42
-rw-r--r--testing/perl-list-binarysearch/documentation.patch24
-rw-r--r--testing/perl-lockfile-simple/APKBUILD39
-rw-r--r--testing/perl-log-fu/APKBUILD24
-rw-r--r--testing/perl-log-message-simple/APKBUILD2
-rw-r--r--testing/perl-log-message/APKBUILD2
-rw-r--r--testing/perl-lv/APKBUILD59
-rw-r--r--testing/perl-lwp-online/APKBUILD38
-rw-r--r--testing/perl-lwp-useragent-cached/APKBUILD2
-rw-r--r--testing/perl-mastodon-client/APKBUILD45
-rw-r--r--testing/perl-math-int64/APKBUILD37
-rw-r--r--testing/perl-math-libm/APKBUILD29
-rw-r--r--testing/perl-math-random-isaac-xs/APKBUILD2
-rw-r--r--testing/perl-mce/APKBUILD8
-rw-r--r--testing/perl-memory-process/APKBUILD36
-rw-r--r--testing/perl-memory-usage/APKBUILD35
-rw-r--r--testing/perl-minion-backend-redis/APKBUILD53
-rw-r--r--testing/perl-minion-backend-sqlite/APKBUILD37
-rw-r--r--testing/perl-minion/APKBUILD54
-rw-r--r--testing/perl-mixin-event-dispatch/APKBUILD47
-rw-r--r--testing/perl-module-build-prereqs-fromcpanfile/APKBUILD36
-rw-r--r--testing/perl-module-find/APKBUILD37
-rw-r--r--testing/perl-module-generic/APKBUILD56
-rw-r--r--testing/perl-module-generic/skip-broken-tests.patch40
-rw-r--r--testing/perl-mojo-pg/APKBUILD38
-rw-r--r--testing/perl-mojo-reactor-ioasync/APKBUILD37
-rw-r--r--testing/perl-mojo-redis/APKBUILD63
-rw-r--r--testing/perl-mojo-sqlite/APKBUILD40
-rw-r--r--testing/perl-mojolicious-plugin-openapi/APKBUILD46
-rw-r--r--testing/perl-musicbrainz-discid/APKBUILD30
-rw-r--r--testing/perl-net-address-ip-local/APKBUILD37
-rw-r--r--testing/perl-net-amqp-rabbitmq/APKBUILD37
-rw-r--r--testing/perl-net-async-redis-xs/APKBUILD64
-rw-r--r--testing/perl-net-async-redis/APKBUILD77
-rw-r--r--testing/perl-net-async-xmpp/APKBUILD50
-rw-r--r--testing/perl-net-curl-promiser/APKBUILD75
-rw-r--r--testing/perl-net-curl/APKBUILD23
-rw-r--r--testing/perl-net-idn-encode/APKBUILD48
-rw-r--r--testing/perl-net-idn-encode/perl-5.38-compat.patch38
-rw-r--r--testing/perl-net-irr/APKBUILD33
-rw-r--r--testing/perl-net-jabber-bot/APKBUILD42
-rw-r--r--testing/perl-net-jabber/APKBUILD50
-rw-r--r--testing/perl-net-jabber/builtin-digest-sha.patch42
-rw-r--r--testing/perl-net-jabber/hash-randomization.patch13
-rw-r--r--testing/perl-net-libresolv/APKBUILD36
-rw-r--r--testing/perl-net-mpd/APKBUILD37
-rw-r--r--testing/perl-net-mqtt-simple/APKBUILD46
-rw-r--r--testing/perl-net-mqtt/APKBUILD53
-rw-r--r--testing/perl-net-netmask/APKBUILD11
-rw-r--r--testing/perl-net-patricia/APKBUILD28
-rw-r--r--testing/perl-net-pcap/APKBUILD39
-rw-r--r--testing/perl-net-xmpp/APKBUILD43
-rw-r--r--testing/perl-net-xmpp/loop-var.patch26
-rw-r--r--testing/perl-net-xmpp/no-gtalk.patch11
-rw-r--r--testing/perl-netaddr-mac/APKBUILD36
-rw-r--r--testing/perl-nice-try/APKBUILD39
-rw-r--r--testing/perl-number-format/APKBUILD14
-rw-r--r--testing/perl-number-misc/APKBUILD32
-rw-r--r--testing/perl-number-tolerant/APKBUILD8
-rw-r--r--testing/perl-object-event/APKBUILD36
-rw-r--r--testing/perl-object-pad/APKBUILD37
-rw-r--r--testing/perl-openapi-client/APKBUILD38
-rw-r--r--testing/perl-opentracing/APKBUILD55
-rw-r--r--testing/perl-pango/APKBUILD29
-rw-r--r--testing/perl-path-iter/APKBUILD11
-rw-r--r--testing/perl-perlio-locale/APKBUILD29
-rw-r--r--testing/perl-perlio-via-timeout/APKBUILD33
-rw-r--r--testing/perl-plack-middleware-expires/APKBUILD2
-rw-r--r--testing/perl-plack-middleware-reverseproxy/APKBUILD4
-rw-r--r--testing/perl-pod-cpandoc/APKBUILD24
-rw-r--r--testing/perl-pod-tidy/APKBUILD37
-rw-r--r--testing/perl-ppi-xs/APKBUILD39
-rw-r--r--testing/perl-proc-guard/APKBUILD30
-rw-r--r--testing/perl-promise-es6/APKBUILD85
-rw-r--r--testing/perl-promise-me/APKBUILD42
-rw-r--r--testing/perl-promise-xs/APKBUILD43
-rw-r--r--testing/perl-protocol-database-postgresql/APKBUILD53
-rw-r--r--testing/perl-protocol-redis-faster/APKBUILD38
-rw-r--r--testing/perl-protocol-redis/APKBUILD42
-rw-r--r--testing/perl-protocol-xmpp/APKBUILD49
-rw-r--r--testing/perl-redis/APKBUILD35
-rw-r--r--testing/perl-ref-util-xs/APKBUILD4
-rw-r--r--testing/perl-regexp-grammars/APKBUILD38
-rw-r--r--testing/perl-role-eventemitter/APKBUILD39
-rw-r--r--testing/perl-rxperl-anyevent/APKBUILD45
-rw-r--r--testing/perl-rxperl-ioasync/APKBUILD45
-rw-r--r--testing/perl-rxperl-mojo/APKBUILD45
-rw-r--r--testing/perl-rxperl/APKBUILD45
-rw-r--r--testing/perl-ryu-async/APKBUILD54
-rw-r--r--testing/perl-ryu/APKBUILD58
-rw-r--r--testing/perl-scalar-readonly/APKBUILD39
-rw-r--r--testing/perl-sentinel/APKBUILD38
-rw-r--r--testing/perl-session-storage-secure/APKBUILD4
-rw-r--r--testing/perl-snmp-info/APKBUILD15
-rw-r--r--testing/perl-snmp/APKBUILD2
-rw-r--r--testing/perl-soap-lite/APKBUILD2
-rw-r--r--testing/perl-sort-naturally/APKBUILD2
-rw-r--r--testing/perl-sort-versions/APKBUILD38
-rw-r--r--testing/perl-sql-abstract-classic/APKBUILD2
-rw-r--r--testing/perl-sql-abstract-pg/APKBUILD38
-rw-r--r--testing/perl-sql-abstract/APKBUILD2
-rw-r--r--testing/perl-starman/APKBUILD8
-rw-r--r--testing/perl-statistics-descriptive/APKBUILD7
-rw-r--r--testing/perl-storable-improved/APKBUILD39
-rw-r--r--testing/perl-string-camelcase/APKBUILD2
-rw-r--r--testing/perl-string-compare-constanttime/APKBUILD2
-rw-r--r--testing/perl-string-crc32/APKBUILD3
-rw-r--r--testing/perl-string-random/APKBUILD25
-rw-r--r--testing/perl-string-util/APKBUILD33
-rw-r--r--testing/perl-syntax-keyword-match/APKBUILD37
-rw-r--r--testing/perl-sys-syscall/0001-restore-missing-changes-from-0.20.0.22.patch125
-rw-r--r--testing/perl-sys-syscall/APKBUILD43
-rw-r--r--testing/perl-sys-syscall/aarch64.patch72
-rw-r--r--testing/perl-sys-syscall/ppc64le.patch31
-rw-r--r--testing/perl-sys-syscall/ppc64le_epoll.patch11
-rw-r--r--testing/perl-sys-syscall/s390x.patch34
-rw-r--r--testing/perl-sys-virt/APKBUILD39
-rw-r--r--testing/perl-system-command/APKBUILD39
-rw-r--r--testing/perl-template-plugin-csv/APKBUILD2
-rw-r--r--testing/perl-template-plugin-number-format/APKBUILD30
-rw-r--r--testing/perl-term-readline-gnu/APKBUILD36
-rw-r--r--testing/perl-term-size/APKBUILD3
-rw-r--r--testing/perl-term-ui/APKBUILD2
-rw-r--r--testing/perl-test-api/APKBUILD2
-rw-r--r--testing/perl-test-checkdeps/APKBUILD36
-rw-r--r--testing/perl-test-class-most/APKBUILD36
-rw-r--r--testing/perl-test-class-tiny/APKBUILD39
-rw-r--r--testing/perl-test-describeme/APKBUILD38
-rw-r--r--testing/perl-test-distribution/APKBUILD2
-rw-r--r--testing/perl-test-expander/APKBUILD55
-rw-r--r--testing/perl-test-file/APKBUILD18
-rw-r--r--testing/perl-test-files/APKBUILD57
-rw-r--r--testing/perl-test-lwp-useragent/APKBUILD46
-rw-r--r--testing/perl-test-memorygrowth/APKBUILD37
-rw-r--r--testing/perl-test-modern/APKBUILD2
-rw-r--r--testing/perl-test-randomresult/APKBUILD38
-rw-r--r--testing/perl-test-redisserver/APKBUILD38
-rw-r--r--testing/perl-test-requires-git/APKBUILD38
-rw-r--r--testing/perl-test-roo/APKBUILD2
-rw-r--r--testing/perl-test-settings/APKBUILD38
-rw-r--r--testing/perl-test-timer/APKBUILD28
-rw-r--r--testing/perl-test-toolbox/APKBUILD24
-rw-r--r--testing/perl-test-trap/APKBUILD6
-rw-r--r--testing/perl-test-unit/20_fix-defined-array-warnings.patch20
-rw-r--r--testing/perl-test-unit/30_fix-xism-test-suite-failures.patch29
-rw-r--r--testing/perl-test-unit/40_make-deep-test-less-fragile.patch23
-rw-r--r--testing/perl-test-unit/APKBUILD41
-rw-r--r--testing/perl-test-unit/testcase.patch11
-rw-r--r--testing/perl-test-useallmodules/APKBUILD2
-rw-r--r--testing/perl-test-utf8/APKBUILD8
-rw-r--r--testing/perl-test2-tools-explain/APKBUILD38
-rw-r--r--testing/perl-text-brew/APKBUILD2
-rw-r--r--testing/perl-text-table-any/APKBUILD39
-rw-r--r--testing/perl-text-table-sprintf/APKBUILD38
-rw-r--r--testing/perl-throwable/APKBUILD6
-rw-r--r--testing/perl-tickit-widget-choice/APKBUILD37
-rw-r--r--testing/perl-tickit-widget-entry-plugin-completion/APKBUILD37
-rw-r--r--testing/perl-tickit-widget-floatbox/APKBUILD38
-rw-r--r--testing/perl-tickit-widget-menu/APKBUILD37
-rw-r--r--testing/perl-tickit-widget-scrollbox/APKBUILD38
-rw-r--r--testing/perl-tie-ixhash/APKBUILD37
-rw-r--r--testing/perl-time-timegm/APKBUILD2
-rw-r--r--testing/perl-types-path-tiny/APKBUILD39
-rw-r--r--testing/perl-uri-db/APKBUILD37
-rw-r--r--testing/perl-uri-encode-xs/APKBUILD37
-rw-r--r--testing/perl-uri-fetch/APKBUILD39
-rw-r--r--testing/perl-uri-nested/APKBUILD37
-rw-r--r--testing/perl-uri-redis/APKBUILD39
-rw-r--r--testing/perl-uri-tcp/APKBUILD37
-rw-r--r--testing/perl-url-encode/APKBUILD2
-rw-r--r--testing/perl-variable-disposition/APKBUILD46
-rw-r--r--testing/perl-x-tiny/APKBUILD39
-rw-r--r--testing/perl-xml-atom/APKBUILD42
-rw-r--r--testing/perl-xml-bare/APKBUILD31
-rw-r--r--testing/perl-xml-feed/APKBUILD45
-rw-r--r--testing/perl-xml-libxml-sax-chunkparser/APKBUILD40
-rw-r--r--testing/perl-xml-libxml-sax-chunkparser/fix-tests.patch52
-rw-r--r--testing/perl-xml-rpc/APKBUILD13
-rw-r--r--testing/perl-xml-stream/APKBUILD39
-rw-r--r--testing/perl-xml-stream/improvements.patch34
-rw-r--r--testing/perl-xs-parse-keyword/APKBUILD36
-rw-r--r--testing/perl-xs-parse-sublike/APKBUILD37
-rw-r--r--testing/persistent-cache-cpp/0001-src-core-Add-library-versioning.patch74
-rw-r--r--testing/persistent-cache-cpp/APKBUILD55
-rw-r--r--testing/persistent-cache-cpp/remove-docs-html-from-makefile.patch22
-rw-r--r--testing/pest-language-server/APKBUILD38
-rw-r--r--testing/pest-language-server/use-openssl.patch531
-rw-r--r--testing/pfetch/APKBUILD4
-rw-r--r--testing/pfqueue/APKBUILD4
-rw-r--r--testing/pg_activity/APKBUILD28
-rw-r--r--testing/pgcli/APKBUILD40
-rw-r--r--testing/phonon-backend-vlc/APKBUILD56
-rw-r--r--testing/phoronix-test-suite/APKBUILD26
-rw-r--r--testing/phoronix-test-suite/appdata.patch22
-rw-r--r--testing/phoronix-test-suite/php-discovery.patch14
-rw-r--r--testing/php7-diseval/APKBUILD32
-rw-r--r--testing/php7-gearman/APKBUILD38
-rw-r--r--testing/php7-libvirt-php/APKBUILD42
-rw-r--r--testing/php7-libvirt-php/musl-fixes.patch16
-rw-r--r--testing/php7-libvirt-php/musl-idn.patch11
-rw-r--r--testing/php7-libvirt-php/offline-tests.patch30
-rw-r--r--testing/php7-pdlib/APKBUILD40
-rw-r--r--testing/php7-pecl-decimal/APKBUILD47
-rw-r--r--testing/php7-pecl-decimal/fix-build.patch61
-rw-r--r--testing/php7-pecl-decimal/fix-test.patch49
-rw-r--r--testing/php7-pecl-decimal/fix-tests.patch138
-rw-r--r--testing/php7-pecl-grpc/APKBUILD35
-rw-r--r--testing/php7-pecl-inotify/APKBUILD35
-rw-r--r--testing/php7-pecl-jsmin/APKBUILD44
-rw-r--r--testing/php7-pecl-mustache/APKBUILD39
-rw-r--r--testing/php7-pecl-pcov/APKBUILD38
-rw-r--r--testing/php7-pecl-rrd/APKBUILD37
-rw-r--r--testing/php7-pecl-seaslog/APKBUILD39
-rw-r--r--testing/php7-pecl-simple-kafka-client/APKBUILD37
-rw-r--r--testing/php7-pecl-smbclient/APKBUILD35
-rw-r--r--testing/php7-pecl-solr/APKBUILD42
-rw-r--r--testing/php7-pecl-solr/fix-tests.patch11
-rw-r--r--testing/php7-pecl-stats/APKBUILD43
-rw-r--r--testing/php7-pecl-swoole/APKBUILD52
-rw-r--r--testing/php7-pecl-varnish/APKBUILD36
-rw-r--r--testing/php7-pecl-xlswriter/APKBUILD38
-rw-r--r--testing/php7-snappy/APKBUILD41
-rw-r--r--testing/php7-snuffleupagus/APKBUILD45
-rw-r--r--testing/php7-spx/APKBUILD33
-rw-r--r--testing/php8-pdlib/APKBUILD42
-rw-r--r--testing/php8-pecl-csv/APKBUILD34
-rw-r--r--testing/php8-pecl-datadog_trace/APKBUILD45
-rw-r--r--testing/php8-pecl-datadog_trace/fix-cgi-test.patch11
-rw-r--r--testing/php8-pecl-decimal/APKBUILD32
-rw-r--r--testing/php8-pecl-ev/APKBUILD44
-rw-r--r--testing/php8-pecl-gearman/APKBUILD43
-rw-r--r--testing/php8-pecl-gmagick/APKBUILD44
-rw-r--r--testing/php8-pecl-grpc/APKBUILD35
-rw-r--r--testing/php8-pecl-inotify/APKBUILD33
-rw-r--r--testing/php8-pecl-jsmin/APKBUILD46
-rw-r--r--testing/php8-pecl-memprof/APKBUILD39
-rw-r--r--testing/php8-pecl-mustache/APKBUILD38
-rw-r--r--testing/php8-pecl-pcov/APKBUILD38
-rw-r--r--testing/php8-pecl-rrd/APKBUILD36
-rw-r--r--testing/php8-pecl-runkit7/APKBUILD35
-rw-r--r--testing/php8-pecl-seaslog/APKBUILD37
-rw-r--r--testing/php8-pecl-simple-kafka-client/APKBUILD35
-rw-r--r--testing/php8-pecl-smbclient/APKBUILD35
-rw-r--r--testing/php8-pecl-solr/APKBUILD37
-rw-r--r--testing/php8-pecl-solr/fix-tests.patch11
-rw-r--r--testing/php8-pecl-stats/APKBUILD41
-rw-r--r--testing/php8-pecl-swoole/APKBUILD52
-rw-r--r--testing/php8-pecl-varnish/APKBUILD36
-rw-r--r--testing/php8-pecl-xlswriter/APKBUILD38
-rw-r--r--testing/php8-pecl-xmlrpc/APKBUILD39
-rw-r--r--testing/php8-pecl-zmq/APKBUILD38
-rw-r--r--testing/php8-phalcon/APKBUILD53
-rw-r--r--testing/php8-snappy/APKBUILD41
-rw-r--r--testing/php8-spx/APKBUILD33
-rw-r--r--testing/php81-brotli/APKBUILD38
-rw-r--r--testing/php81-pecl-amqp/APKBUILD20
-rw-r--r--testing/php81-pecl-apcu/APKBUILD31
-rw-r--r--testing/php81-pecl-ast/APKBUILD16
-rw-r--r--testing/php81-pecl-brotli/APKBUILD50
-rw-r--r--testing/php81-pecl-couchbase/APKBUILD23
-rw-r--r--testing/php81-pecl-csv/APKBUILD36
-rw-r--r--testing/php81-pecl-decimal/APKBUILD24
-rw-r--r--testing/php81-pecl-decimal/fix-test.patch11
-rw-r--r--testing/php81-pecl-ds/APKBUILD52
-rw-r--r--testing/php81-pecl-event/APKBUILD11
-rw-r--r--testing/php81-pecl-grpc/APKBUILD22
-rw-r--r--testing/php81-pecl-igbinary/APKBUILD23
-rw-r--r--testing/php81-pecl-imagick/APKBUILD10
-rw-r--r--testing/php81-pecl-immutable_cache/APKBUILD39
-rw-r--r--testing/php81-pecl-jsmin/APKBUILD51
-rw-r--r--testing/php81-pecl-jsmin/fix-php8.patch (renamed from testing/php8-pecl-jsmin/fix-php8.patch)0
-rw-r--r--testing/php81-pecl-jsmin/fix-tests.patch (renamed from testing/php7-pecl-jsmin/fix-tests.patch)0
-rw-r--r--testing/php81-pecl-luasandbox/APKBUILD41
-rw-r--r--testing/php81-pecl-mailparse/APKBUILD38
-rw-r--r--testing/php81-pecl-maxminddb/APKBUILD16
-rw-r--r--testing/php81-pecl-mcrypt/APKBUILD36
-rw-r--r--testing/php81-pecl-memcache/APKBUILD28
-rw-r--r--testing/php81-pecl-memcache/version-fix.patch22
-rw-r--r--testing/php81-pecl-memcached/APKBUILD39
-rw-r--r--testing/php81-pecl-mongodb/APKBUILD8
-rw-r--r--testing/php81-pecl-msgpack/APKBUILD32
-rw-r--r--testing/php81-pecl-msgpack/msgpack-162.patch186
-rw-r--r--testing/php81-pecl-oauth/APKBUILD42
-rw-r--r--testing/php81-pecl-oauth/pcre.patch13
-rw-r--r--testing/php81-pecl-opentelemetry/APKBUILD38
-rw-r--r--testing/php81-pecl-protobuf/APKBUILD18
-rw-r--r--testing/php81-pecl-rdkafka/APKBUILD8
-rw-r--r--testing/php81-pecl-redis/APKBUILD27
-rw-r--r--testing/php81-pecl-smbclient/APKBUILD39
-rw-r--r--testing/php81-pecl-ssh2/APKBUILD20
-rw-r--r--testing/php81-pecl-swoole/APKBUILD36
-rw-r--r--testing/php81-pecl-timezonedb/APKBUILD38
-rw-r--r--testing/php81-pecl-uploadprogress/APKBUILD18
-rw-r--r--testing/php81-pecl-vips/APKBUILD36
-rw-r--r--testing/php81-pecl-xdebug/APKBUILD26
-rw-r--r--testing/php81-pecl-xhprof/APKBUILD33
-rw-r--r--testing/php81-pecl-xlswriter/APKBUILD38
-rw-r--r--testing/php81-pecl-xmlrpc/APKBUILD2
-rw-r--r--testing/php81-pecl-yaml/APKBUILD21
-rw-r--r--testing/php81-pecl-zephir_parser/APKBUILD21
-rw-r--r--testing/php81-pecl-zephir_parser/failed-tests.patch33
-rw-r--r--testing/php81-pecl-zstd/APKBUILD6
-rw-r--r--testing/php81-spx/APKBUILD39
-rw-r--r--testing/php81-tideways_xhprof/APKBUILD36
-rw-r--r--testing/php81/APKBUILD179
-rw-r--r--testing/php81/disabled-tests.list69
-rw-r--r--testing/php81/disabled-tests.ppc64le.list3
-rw-r--r--testing/php81/disabled-tests.riscv64.list7
-rw-r--r--testing/php81/disabled-tests.s390x.list2
-rw-r--r--testing/php81/disabled-tests.x86.list8
-rw-r--r--testing/php81/fix-curl.patch28
-rw-r--r--testing/php81/fix-icu74.patch13
-rw-r--r--testing/php81/fix-lfs64.patch30
-rw-r--r--testing/php81/fix-libxml-1.patch67
-rw-r--r--testing/php81/fix-libxml-2.patch244
-rw-r--r--testing/php81/fix-s390x-test.patch42
-rw-r--r--testing/php81/php81-fpm.initd2
-rw-r--r--testing/php81/xfail-openssl-1.1-test.patch13
-rw-r--r--testing/php82-pdlib/APKBUILD47
-rw-r--r--testing/php82-pecl-apfd/APKBUILD38
-rw-r--r--testing/php82-pecl-excimer/APKBUILD37
-rw-r--r--testing/php82-pecl-immutable_cache/APKBUILD39
-rw-r--r--testing/php82-pecl-jsmin/APKBUILD51
-rw-r--r--testing/php82-pecl-jsmin/fix-php8.patch87
-rw-r--r--testing/php82-pecl-jsmin/fix-tests.patch (renamed from testing/php8-pecl-jsmin/fix-tests.patch)0
-rw-r--r--testing/php82-pecl-oauth/APKBUILD51
-rw-r--r--testing/php82-pecl-oauth/fix-tests.patch85
-rw-r--r--testing/php82-pecl-phalcon/APKBUILD48
-rw-r--r--testing/php82-pecl-runkit7/APKBUILD37
-rw-r--r--testing/php82-pecl-teds/APKBUILD36
-rw-r--r--testing/php82-pecl-vld/APKBUILD37
-rw-r--r--testing/php82-pecl-zephir_parser/APKBUILD37
-rw-r--r--testing/php82-snappy/APKBUILD48
-rw-r--r--testing/php83-pecl-apfd/APKBUILD38
-rw-r--r--testing/php83-pecl-eio/APKBUILD43
-rw-r--r--testing/php83-pecl-excimer/APKBUILD37
-rw-r--r--testing/php83-pecl-jsmin/APKBUILD51
-rw-r--r--testing/php83-pecl-jsmin/fix-php8.patch87
-rw-r--r--testing/php83-pecl-jsmin/fix-tests.patch39
-rw-r--r--testing/php83-pecl-phalcon/APKBUILD48
-rw-r--r--testing/php83-pecl-vld/APKBUILD37
-rw-r--r--testing/php83-pecl-zmq/APKBUILD42
-rw-r--r--testing/phpspy/APKBUILD35
-rw-r--r--testing/phpspy/fix-install.patch14
-rw-r--r--testing/phpspy/libpthread.patch11
-rw-r--r--testing/phpspy/remove-termbox-check.patch16
-rw-r--r--testing/pick/APKBUILD29
-rw-r--r--testing/picolibc/APKBUILD78
-rw-r--r--testing/picotts/APKBUILD40
-rw-r--r--testing/pict-rs/APKBUILD48
-rw-r--r--testing/pict-rs/config-file.patch247
-rw-r--r--testing/pict-rs/pict-rs.initd28
-rw-r--r--testing/pict-rs/pict-rs.pre-install11
-rw-r--r--testing/pidif/APKBUILD39
-rw-r--r--testing/pigpio/APKBUILD63
-rw-r--r--testing/pigpio/pigpio.post-install7
-rw-r--r--testing/pigpio/pigpiod.initd9
-rw-r--r--testing/pijul/APKBUILD41
-rw-r--r--testing/pike/APKBUILD183
-rw-r--r--testing/piler/0001-utf8_encode_char.patch10
-rw-r--r--testing/piler/0002-manticore-conf.patch17
-rw-r--r--testing/piler/0003-fix_pilerpurge_for_rt_index.patch91
-rw-r--r--testing/piler/APKBUILD114
-rw-r--r--testing/piler/piler-smtp.initd12
-rw-r--r--testing/piler/piler.initd16
-rw-r--r--testing/piler/piler.pre-install6
-rw-r--r--testing/piler/searchd.confd8
-rw-r--r--testing/piler/searchd.initd21
-rw-r--r--testing/pimd-dense/APKBUILD49
-rw-r--r--testing/pimd-dense/pimd-dense.confd1
-rw-r--r--testing/pimd-dense/pimd-dense.initd13
-rw-r--r--testing/pimd/APKBUILD47
-rw-r--r--testing/pimd/pimd.confd3
-rw-r--r--testing/pimd/pimd.initd15
-rw-r--r--testing/pinentry-bemenu/APKBUILD10
-rw-r--r--testing/pinentry-bemenu/meson-ungit.patch12
-rw-r--r--testing/pinephone-compass/APKBUILD44
-rw-r--r--testing/pinephone-compass/correct_udev_rules_path.patch13
-rw-r--r--testing/pingus/00-fix-python-typos.patch19
-rw-r--r--testing/pingus/01-pingus-1.76-boost-1.69.patch382
-rw-r--r--testing/pingus/02-missing-header.patch11
-rw-r--r--testing/pingus/03-pingus-0.7.6-gcc470-udl.patch22
-rw-r--r--testing/pingus/APKBUILD41
-rw-r--r--testing/pingus/pingus.desktop9
-rw-r--r--testing/pipe-viewer/APKBUILD40
-rw-r--r--testing/pipectl/APKBUILD28
-rw-r--r--testing/pipeline/APKBUILD47
-rw-r--r--testing/piper-phonemize/APKBUILD61
-rw-r--r--testing/piper-phonemize/add-pkgconfig-support.patch50
-rw-r--r--testing/piper-phonemize/no-rpath.patch13
-rw-r--r--testing/piper-phonemize/use-system-espeak-ng.patch110
-rw-r--r--testing/piper-phonemize/use-system-onnxruntime.patch36
-rw-r--r--testing/piper-tts/APKBUILD54
-rw-r--r--testing/piper-tts/no-rpath.patch12
-rw-r--r--testing/piper-tts/use-system-libs.patch130
-rw-r--r--testing/pipexec/APKBUILD52
-rw-r--r--testing/pipexec/dont-require-bash.patch67
-rw-r--r--testing/piping-server/APKBUILD22
-rw-r--r--testing/piping-server/piping-server.confd4
-rw-r--r--testing/piping-server/piping-server.initd8
-rw-r--r--testing/pithos/APKBUILD47
-rw-r--r--testing/pithos/no-optimise.patch10
-rw-r--r--testing/pitivi/APKBUILD47
-rw-r--r--testing/pixi/APKBUILD53
-rw-r--r--testing/pixiewps/APKBUILD6
-rw-r--r--testing/pixz/APKBUILD33
-rw-r--r--testing/planarity/APKBUILD42
-rw-r--r--testing/planner/APKBUILD16
-rw-r--r--testing/plantuml/APKBUILD31
-rw-r--r--testing/plantuml/plantuml.run2
-rw-r--r--testing/platformio-core/APKBUILD37
-rw-r--r--testing/please-build/APKBUILD80
-rw-r--r--testing/please-build/fix-test.patch38
-rw-r--r--testing/please-build/go-1.22.patch564
-rw-r--r--testing/please/APKBUILD9
-rw-r--r--testing/plfit/APKBUILD38
-rw-r--r--testing/plib/APKBUILD8
-rw-r--r--testing/plots/APKBUILD43
-rw-r--r--testing/plplot/APKBUILD4
-rw-r--r--testing/plzip/APKBUILD8
-rw-r--r--testing/pmccabe/APKBUILD2
-rw-r--r--testing/pnmixer/APKBUILD4
-rw-r--r--testing/pnpm/APKBUILD49
-rw-r--r--testing/podman-compose/APKBUILD23
-rw-r--r--testing/poetry/APKBUILD51
-rw-r--r--testing/poke/APKBUILD36
-rw-r--r--testing/pokoy/APKBUILD28
-rw-r--r--testing/pokoy/broken-makefile.patch15
-rw-r--r--testing/policycoreutils/0003-fix-pam-rules.patch34
-rw-r--r--testing/policycoreutils/APKBUILD27
-rw-r--r--testing/policycoreutils/busybox-install-compat.patch11
-rw-r--r--testing/polyglot/APKBUILD29
-rw-r--r--testing/polyml/APKBUILD46
-rw-r--r--testing/pomo/APKBUILD37
-rw-r--r--testing/pongoos-loader/APKBUILD2
-rw-r--r--testing/popeye/APKBUILD36
-rw-r--r--testing/portsmf/APKBUILD9
-rw-r--r--testing/postgresql-citus/APKBUILD38
-rw-r--r--testing/postgresql-citus/postgresql-citus.post-install10
-rw-r--r--testing/postgresql-hll/APKBUILD34
-rw-r--r--testing/postgresql-login_hook/APKBUILD29
-rw-r--r--testing/postgresql-login_hook/postgresql-login_hook.post-install8
-rw-r--r--testing/postgresql-pg_graphql/APKBUILD71
-rw-r--r--testing/postgresql-pg_graphql/remove-regex.patch66
-rw-r--r--testing/postgresql-pg_later/APKBUILD71
-rw-r--r--testing/postgresql-pg_later/remove-tls.patch646
-rw-r--r--testing/postgresql-pg_partman/APKBUILD58
-rw-r--r--testing/postgresql-pg_partman/fix-python-shebang.patch24
-rw-r--r--testing/postgresql-pg_variables/APKBUILD39
-rw-r--r--testing/postgresql-pgmq/APKBUILD68
-rw-r--r--testing/postgresql-pgmq/bump-pgrx.patch168
-rw-r--r--testing/pounce/APKBUILD26
-rw-r--r--testing/pounce/calico.confd22
-rw-r--r--testing/pounce/calico.initd21
-rw-r--r--testing/pounce/pounce.confd13
-rw-r--r--testing/pounce/pounce.initd41
-rw-r--r--testing/pounce/pounce.pre-install5
-rw-r--r--testing/powder-toy/APKBUILD27
-rw-r--r--testing/power-profiles-daemon/0001-dbus-no-systemd.patch13
-rw-r--r--testing/power-profiles-daemon/APKBUILD48
-rw-r--r--testing/powerctl/APKBUILD32
-rw-r--r--testing/powerctl/getopts-fs-flags.patch79
-rw-r--r--testing/powerctl/new-hare-strings.patch37
-rw-r--r--testing/powerctl/powerctl.post-install2
-rw-r--r--testing/powermanga/APKBUILD44
-rw-r--r--testing/powerstat/APKBUILD15
-rw-r--r--testing/powersupply/APKBUILD33
-rw-r--r--testing/ppl/APKBUILD57
-rw-r--r--testing/ppl/gcc13.patch12
-rw-r--r--testing/ppsspp/APKBUILD76
-rwxr-xr-xtesting/ppsspp/ppsspp3
-rw-r--r--testing/ppsspp/ppsspp-version.patch11
-rw-r--r--testing/ppsspp/ppsspp.desktop11
-rw-r--r--testing/pptpclient/APKBUILD4
-rw-r--r--testing/pqiv/APKBUILD2
-rw-r--r--testing/pre-commit/APKBUILD70
-rw-r--r--testing/pre-commit/fix-importlib-metadata.patch24
-rw-r--r--testing/premake/0001-Change-Test-FindLibrary-to-libc.patch25
-rw-r--r--testing/premake/APKBUILD35
-rw-r--r--testing/prettier/APKBUILD18
-rw-r--r--testing/prettier/timeout.patch11
-rw-r--r--testing/primecount/APKBUILD41
-rw-r--r--testing/primesieve/APKBUILD14
-rw-r--r--testing/prjtrellis-db/APKBUILD66
-rw-r--r--testing/prjtrellis/0001-library-install-path.patch86
-rw-r--r--testing/prjtrellis/APKBUILD41
-rw-r--r--testing/profanity/APKBUILD62
-rw-r--r--testing/progress/APKBUILD25
-rw-r--r--testing/projectm/APKBUILD5
-rw-r--r--testing/projectsandcastle-loader/APKBUILD2
-rw-r--r--testing/prometheus-bind-exporter/APKBUILD50
-rw-r--r--testing/prometheus-bind-exporter/bind-exporter.confd4
-rw-r--r--testing/prometheus-bind-exporter/bind-exporter.initd15
-rw-r--r--testing/prometheus-bind-exporter/prometheus-bind-exporter.pre-install (renamed from testing/blackbox_exporter/blackbox_exporter.pre-install)0
-rw-r--r--testing/prometheus-ceph-exporter/APKBUILD48
-rw-r--r--testing/prometheus-ceph-exporter/ceph-exporter.confd3
-rwxr-xr-xtesting/prometheus-ceph-exporter/ceph-exporter.initd18
-rwxr-xr-xtesting/prometheus-ceph-exporter/prometheus-ceph-exporter.pre-install6
l---------testing/prometheus-ceph-exporter/prometheus-ceph-exporter.pre-upgrade1
-rw-r--r--testing/prometheus-rethinkdb-exporter/APKBUILD6
-rw-r--r--testing/prometheus-smartctl-exporter/APKBUILD44
-rw-r--r--testing/prometheus-smartctl-exporter/prometheus-smartctl-exporter.pre-install8
-rw-r--r--testing/prometheus-smartctl-exporter/smartctl-exporter.confd10
-rwxr-xr-xtesting/prometheus-smartctl-exporter/smartctl-exporter.initd7
-rw-r--r--testing/prometheus-smokeping-prober/APKBUILD44
-rwxr-xr-xtesting/prometheus-smokeping-prober/prometheus-smokeping-prober.pre-install6
l---------testing/prometheus-smokeping-prober/prometheus-smokeping-prober.pre-upgrade1
-rw-r--r--testing/prometheus-smokeping-prober/smokeping-prober.confd7
-rwxr-xr-xtesting/prometheus-smokeping-prober/smokeping-prober.initd24
-rw-r--r--testing/prometheus-unbound-exporter/0001-dont-authenticate-by-default.patch15
-rw-r--r--testing/prometheus-unbound-exporter/APKBUILD45
-rwxr-xr-xtesting/prometheus-unbound-exporter/prometheus-unbound-exporter.pre-install6
l---------testing/prometheus-unbound-exporter/prometheus-unbound-exporter.pre-upgrade1
-rw-r--r--testing/prometheus-unbound-exporter/unbound-exporter.confd7
-rwxr-xr-xtesting/prometheus-unbound-exporter/unbound-exporter.initd21
-rw-r--r--testing/prometheus-wireguard-exporter/APKBUILD38
-rw-r--r--testing/prometheus-wireguard-exporter/prometheus-wireguard-exporter.confd1
-rw-r--r--testing/prometheus-wireguard-exporter/prometheus-wireguard-exporter.initd11
-rw-r--r--testing/proot/APKBUILD34
-rw-r--r--testing/protoc-gen-go/APKBUILD34
-rw-r--r--testing/protoc-gen-js/APKBUILD30
-rw-r--r--testing/protoconf/APKBUILD37
-rw-r--r--testing/prowlarr/0001-disable-restart.patch20
-rw-r--r--testing/prowlarr/APKBUILD98
-rw-r--r--testing/prowlarr/package_info4
-rw-r--r--testing/prowlarr/prowlarr.confd9
-rw-r--r--testing/prowlarr/prowlarr.initd33
-rw-r--r--testing/prowlarr/prowlarr.pre-install6
-rw-r--r--testing/psi-notify/APKBUILD4
-rw-r--r--testing/psi-plus/APKBUILD59
-rw-r--r--testing/pspp/APKBUILD2
-rw-r--r--testing/ptpd/APKBUILD2
-rw-r--r--testing/ptylie/APKBUILD2
-rw-r--r--testing/pully/APKBUILD31
-rw-r--r--testing/pully/pully.confd10
-rw-r--r--testing/pully/pully.initd21
-rw-r--r--testing/pulsar-client-cpp/APKBUILD57
-rw-r--r--testing/pulsar-client-cpp/cxx17.patch13
-rw-r--r--testing/pulsar-client-cpp/no-werror.patch13
-rw-r--r--testing/pulseaudio-modules-bt/APKBUILD55
-rw-r--r--testing/pulseview/APKBUILD25
-rw-r--r--testing/pulumi-watch/APKBUILD35
-rw-r--r--testing/pulumi/10-install1.patch56
-rw-r--r--testing/pulumi/APKBUILD41
-rw-r--r--testing/pure-data/APKBUILD80
-rw-r--r--testing/pure-data/implicit.patch12
-rw-r--r--testing/pure-data/system-portmidi.patch28
-rw-r--r--testing/pure-ftpd/APKBUILD47
-rw-r--r--testing/pure-ftpd/minimal.patch23
-rw-r--r--testing/pure-ftpd/pure-ftpd.confd90
-rw-r--r--testing/pure-ftpd/pure-ftpd.initd77
-rw-r--r--testing/pw-volume/APKBUILD42
-rw-r--r--testing/pw-volume/update-lockfile.patch180
-rw-r--r--testing/pwauth/APKBUILD2
-rw-r--r--testing/pwru/APKBUILD35
-rw-r--r--testing/pxalarm/APKBUILD19
-rw-r--r--testing/pxmenu/APKBUILD20
-rw-r--r--testing/py-spy/APKBUILD34
-rw-r--r--testing/py3-actdiag/APKBUILD24
-rw-r--r--testing/py3-aesedb/APKBUILD50
-rw-r--r--testing/py3-agithub/APKBUILD5
-rw-r--r--testing/py3-aiodocker/APKBUILD40
-rw-r--r--testing/py3-aiohttp-debugtoolbar/APKBUILD26
-rw-r--r--testing/py3-aiohttp-jinja2/APKBUILD16
-rw-r--r--testing/py3-aiohttp-remotes/APKBUILD54
-rw-r--r--testing/py3-aiohttp-session/APKBUILD11
-rw-r--r--testing/py3-aioopenssl/APKBUILD30
-rw-r--r--testing/py3-aiosasl/APKBUILD30
-rw-r--r--testing/py3-aiosmb/APKBUILD48
-rw-r--r--testing/py3-aiowinreg/APKBUILD48
-rw-r--r--testing/py3-aioxmpp/APKBUILD44
-rw-r--r--testing/py3-ajsonrpc/APKBUILD36
-rw-r--r--testing/py3-ajsonrpc/no-test-install.patch8
-rw-r--r--testing/py3-allfiles/APKBUILD18
-rw-r--r--testing/py3-altgraph/APKBUILD39
-rw-r--r--testing/py3-amqp/APKBUILD31
-rw-r--r--testing/py3-ansi2html/APKBUILD41
-rw-r--r--testing/py3-anyascii/APKBUILD36
-rw-r--r--testing/py3-anyjson/APKBUILD35
-rw-r--r--testing/py3-anyjson/python3.patch58
-rw-r--r--testing/py3-apicula/APKBUILD47
-rw-r--r--testing/py3-apsw/APKBUILD34
-rw-r--r--testing/py3-apsw/detect-sqlite-config.patch8
-rw-r--r--testing/py3-arcus/APKBUILD42
-rw-r--r--testing/py3-arcus/cmake-helpers.patch254
-rw-r--r--testing/py3-arcus/cmake.patch32
-rw-r--r--testing/py3-arcus/pyproject.patch20
-rw-r--r--testing/py3-argcomplete/APKBUILD36
-rw-r--r--testing/py3-arpeggio/APKBUILD22
-rw-r--r--testing/py3-asif/APKBUILD9
-rw-r--r--testing/py3-ask/APKBUILD14
-rw-r--r--testing/py3-astral/APKBUILD24
-rw-r--r--testing/py3-asyauth/APKBUILD39
-rw-r--r--testing/py3-async-lru/APKBUILD38
-rw-r--r--testing/py3-asyncmock/APKBUILD27
-rw-r--r--testing/py3-asysocks/APKBUILD38
-rw-r--r--testing/py3-audioread/APKBUILD28
-rw-r--r--testing/py3-authres/APKBUILD29
-rw-r--r--testing/py3-avro/APKBUILD32
-rw-r--r--testing/py3-awesomeversion/APKBUILD30
-rw-r--r--testing/py3-axolotl-curve25519/APKBUILD27
-rw-r--r--testing/py3-axolotl/APKBUILD31
-rw-r--r--testing/py3-babelfish/APKBUILD30
-rw-r--r--testing/py3-banal/APKBUILD27
-rw-r--r--testing/py3-bandwidth-sdk/APKBUILD7
-rw-r--r--testing/py3-banknumber/APKBUILD31
-rw-r--r--testing/py3-barcodenumber/APKBUILD14
-rw-r--r--testing/py3-base58/APKBUILD30
-rw-r--r--testing/py3-beartype/APKBUILD44
-rw-r--r--testing/py3-bencode/APKBUILD42
-rw-r--r--testing/py3-bidict/APKBUILD48
-rw-r--r--testing/py3-bidict/no-typing-ext.patch9
-rw-r--r--testing/py3-billiard/APKBUILD36
-rw-r--r--testing/py3-biopython/APKBUILD30
-rw-r--r--testing/py3-bite-parser/APKBUILD43
-rw-r--r--testing/py3-bitstruct/APKBUILD42
-rw-r--r--testing/py3-bleach-allowlist/APKBUILD26
-rw-r--r--testing/py3-blis/APKBUILD46
-rw-r--r--testing/py3-blockchain/APKBUILD5
-rw-r--r--testing/py3-blockdiag/APKBUILD24
-rw-r--r--testing/py3-bookkeeper/APKBUILD27
-rw-r--r--testing/py3-bottle-api/APKBUILD14
-rw-r--r--testing/py3-bottle-hotqueue/APKBUILD28
-rw-r--r--testing/py3-bottle-pgsql/APKBUILD13
-rw-r--r--testing/py3-bottle-redis/APKBUILD14
-rw-r--r--testing/py3-bottle-renderer/APKBUILD16
-rw-r--r--testing/py3-bottle-request/APKBUILD14
-rw-r--r--testing/py3-bottle-rest/APKBUILD30
-rw-r--r--testing/py3-bottle-session/APKBUILD14
-rw-r--r--testing/py3-bottle-sqlalchemy/APKBUILD16
-rw-r--r--testing/py3-bottle-sqlite/APKBUILD16
-rw-r--r--testing/py3-bottle-websocket/APKBUILD16
-rw-r--r--testing/py3-bottle-werkzeug/APKBUILD16
-rw-r--r--testing/py3-bson/APKBUILD5
-rw-r--r--testing/py3-bump2version/APKBUILD28
-rw-r--r--testing/py3-businesstime/APKBUILD16
-rw-r--r--testing/py3-c3d/APKBUILD30
-rw-r--r--testing/py3-cachy/APKBUILD45
-rw-r--r--testing/py3-cachy/No-need-to-teardown-flexmock.patch148
-rw-r--r--testing/py3-caldav/APKBUILD23
-rw-r--r--testing/py3-case/APKBUILD30
-rw-r--r--testing/py3-cassandra-driver/APKBUILD28
-rw-r--r--testing/py3-catalogue/APKBUILD34
-rw-r--r--testing/py3-catkin-pkg/APKBUILD26
-rw-r--r--testing/py3-cbor2/APKBUILD49
-rw-r--r--testing/py3-cbor2/fix-32bit-tests.patch29
-rw-r--r--testing/py3-cchardet/APKBUILD7
-rw-r--r--testing/py3-cdio/APKBUILD10
-rw-r--r--testing/py3-cdio/assertEquals.patch23
-rw-r--r--testing/py3-cerberus/APKBUILD33
-rw-r--r--testing/py3-certauth/APKBUILD39
-rw-r--r--testing/py3-cfgv/APKBUILD31
-rw-r--r--testing/py3-chameleon/APKBUILD28
-rw-r--r--testing/py3-ciso8601/APKBUILD22
-rw-r--r--testing/py3-cjkwrap/APKBUILD28
-rw-r--r--testing/py3-class-doc/APKBUILD39
-rw-r--r--testing/py3-class-doc/masonry.patch11
-rw-r--r--testing/py3-cleo/APKBUILD32
-rw-r--r--testing/py3-cli_helpers/APKBUILD32
-rw-r--r--testing/py3-click-completion/APKBUILD33
-rw-r--r--testing/py3-click-default-group/APKBUILD40
-rw-r--r--testing/py3-click-log/APKBUILD29
-rw-r--r--testing/py3-click-threading/APKBUILD5
-rw-r--r--testing/py3-clickclick/APKBUILD50
-rw-r--r--testing/py3-clickclick/Remove-unused-six-from-setup_requires-1.patch30
-rw-r--r--testing/py3-clickclick/fix-quoting-style-in-assert.patch25
-rw-r--r--testing/py3-clikit/APKBUILD30
-rw-r--r--testing/py3-cmd2/APKBUILD28
-rw-r--r--testing/py3-cmd2/remove-setuptools_scm.patch21
-rw-r--r--testing/py3-cobs/APKBUILD11
-rw-r--r--testing/py3-codecov/APKBUILD11
-rw-r--r--testing/py3-codespell/APKBUILD32
-rw-r--r--testing/py3-colander/APKBUILD15
-rw-r--r--testing/py3-colored/APKBUILD28
-rw-r--r--testing/py3-colorlog/APKBUILD35
-rw-r--r--testing/py3-colorthief/APKBUILD34
-rw-r--r--testing/py3-columnize/APKBUILD13
-rw-r--r--testing/py3-compdb/APKBUILD6
-rw-r--r--testing/py3-confluent-kafka/APKBUILD14
-rw-r--r--testing/py3-cookiecutter/APKBUILD53
-rw-r--r--testing/py3-cookies/APKBUILD31
-rw-r--r--testing/py3-coreapi/APKBUILD8
-rw-r--r--testing/py3-crashtest/APKBUILD29
-rw-r--r--testing/py3-crc16/APKBUILD14
-rw-r--r--testing/py3-cssutils/APKBUILD34
-rw-r--r--testing/py3-cssutils/remove-setuptools_scm.patch18
-rw-r--r--testing/py3-cstruct/APKBUILD32
-rw-r--r--testing/py3-cucumber-tag-expressions/APKBUILD43
-rw-r--r--testing/py3-cvxpy/APKBUILD37
-rw-r--r--testing/py3-cymem/APKBUILD31
-rw-r--r--testing/py3-daemon/APKBUILD7
-rw-r--r--testing/py3-daiquiri/APKBUILD34
-rw-r--r--testing/py3-dataclasses-json/APKBUILD21
-rw-r--r--testing/py3-dataclasses-serialization/APKBUILD61
-rw-r--r--testing/py3-dataclasses-serialization/root.patch15
-rw-r--r--testing/py3-dateparser/APKBUILD68
-rw-r--r--testing/py3-daterangestr/APKBUILD14
-rw-r--r--testing/py3-ddt/APKBUILD35
-rw-r--r--testing/py3-deepdiff/APKBUILD27
-rw-r--r--testing/py3-dep-logic/APKBUILD37
-rw-r--r--testing/py3-dexml/APKBUILD25
-rw-r--r--testing/py3-dexml/py3.patch13
-rw-r--r--testing/py3-dict2xml/APKBUILD29
-rw-r--r--testing/py3-dill/APKBUILD35
-rw-r--r--testing/py3-discid/APKBUILD5
-rw-r--r--testing/py3-discogs-client/APKBUILD13
-rw-r--r--testing/py3-diskcache/APKBUILD9
-rw-r--r--testing/py3-distorm3/APKBUILD5
-rw-r--r--testing/py3-django-auth-ldap/APKBUILD49
-rw-r--r--testing/py3-django-compress-staticfiles/APKBUILD39
-rw-r--r--testing/py3-django-debug-toolbar/APKBUILD19
-rw-r--r--testing/py3-django-js-asset/APKBUILD34
-rw-r--r--testing/py3-django-js-asset/Adapt-the-test-suite-to-changes-in-Django.patch88
-rw-r--r--testing/py3-django-mptt/APKBUILD18
-rw-r--r--testing/py3-django-suit/APKBUILD5
-rw-r--r--testing/py3-django-taggit-serializer/APKBUILD6
-rw-r--r--testing/py3-django-taggit/APKBUILD30
-rw-r--r--testing/py3-django-timezone-field/APKBUILD39
-rw-r--r--testing/py3-dkimpy/APKBUILD32
-rw-r--r--testing/py3-dnslib/APKBUILD28
-rw-r--r--testing/py3-docformatter/APKBUILD56
-rw-r--r--testing/py3-docformatter/fix-tests.patch19
-rw-r--r--testing/py3-docstring-to-markdown/APKBUILD31
-rw-r--r--testing/py3-dogpile.cache/APKBUILD9
-rw-r--r--testing/py3-doit/APKBUILD21
-rw-r--r--testing/py3-dominate/APKBUILD24
-rw-r--r--testing/py3-dotty-dict/APKBUILD13
-rw-r--r--testing/py3-dpath/APKBUILD13
-rw-r--r--testing/py3-drf-yasg/APKBUILD10
-rw-r--r--testing/py3-dt-schema/APKBUILD56
-rw-r--r--testing/py3-dunamai/APKBUILD36
-rw-r--r--testing/py3-duniterpy/APKBUILD48
-rw-r--r--testing/py3-duniterpy/Remove_empty_homepage_field_from_pyproject.patch12
-rw-r--r--testing/py3-duniterpy/Support_py3-libnacl_1.9.0.patch25
-rw-r--r--testing/py3-duviz/APKBUILD27
-rw-r--r--testing/py3-dweepy/APKBUILD14
-rw-r--r--testing/py3-ecos/APKBUILD37
-rw-r--r--testing/py3-ecos/use_external_ecos.patch44
-rw-r--r--testing/py3-editdistance-s/APKBUILD9
-rw-r--r--testing/py3-empy/APKBUILD6
-rw-r--r--testing/py3-enzyme/APKBUILD10
-rw-r--r--testing/py3-eradicate/APKBUILD8
-rw-r--r--testing/py3-euclid3/APKBUILD17
-rw-r--r--testing/py3-eventlet/APKBUILD37
-rw-r--r--testing/py3-eventlet/skip-broken-tests.patch55
-rw-r--r--testing/py3-evohome-client/APKBUILD9
-rw-r--r--testing/py3-ewmh/APKBUILD27
-rw-r--r--testing/py3-fastapi/APKBUILD66
-rw-r--r--testing/py3-fastapi/pytest-markers.patch12
-rw-r--r--testing/py3-fastavro/APKBUILD24
-rw-r--r--testing/py3-fastdiff/APKBUILD5
-rw-r--r--testing/py3-feedgen/APKBUILD42
-rw-r--r--testing/py3-feedgenerator/APKBUILD10
-rw-r--r--testing/py3-ffmpeg/APKBUILD33
-rw-r--r--testing/py3-findpython/APKBUILD37
-rw-r--r--testing/py3-firmata/APKBUILD14
-rw-r--r--testing/py3-firmata/py311.patch13
-rw-r--r--testing/py3-flake8-blind-except/APKBUILD19
-rw-r--r--testing/py3-flake8-builtins/APKBUILD20
-rw-r--r--testing/py3-flake8-commas/APKBUILD33
-rw-r--r--testing/py3-flake8-copyright/APKBUILD17
-rw-r--r--testing/py3-flake8-debugger/APKBUILD25
-rw-r--r--testing/py3-flake8-import-order/APKBUILD24
-rw-r--r--testing/py3-flake8-isort/APKBUILD30
-rw-r--r--testing/py3-flake8-polyfill/APKBUILD5
-rw-r--r--testing/py3-flake8-print/APKBUILD22
-rw-r--r--testing/py3-flake8-quotes/APKBUILD30
-rw-r--r--testing/py3-flake8-snippets/APKBUILD16
-rw-r--r--testing/py3-flake8-todo/APKBUILD14
-rw-r--r--testing/py3-flask-accept/APKBUILD46
-rw-r--r--testing/py3-flask-admin/APKBUILD20
-rw-r--r--testing/py3-flask-autorouter/APKBUILD27
-rw-r--r--testing/py3-flask-basicauth/APKBUILD16
-rw-r--r--testing/py3-flask-bcrypt/APKBUILD22
-rw-r--r--testing/py3-flask-bootstrap/APKBUILD16
-rw-r--r--testing/py3-flask-cache/APKBUILD16
-rw-r--r--testing/py3-flask-cdn/APKBUILD16
-rw-r--r--testing/py3-flask-cdn/assertEquals.patch96
-rw-r--r--testing/py3-flask-components/APKBUILD26
-rw-r--r--testing/py3-flask-components/importlib.patch15
-rw-r--r--testing/py3-flask-dbconfig/APKBUILD14
-rw-r--r--testing/py3-flask-flatpages/APKBUILD20
-rw-r--r--testing/py3-flask-gzip/APKBUILD14
-rw-r--r--testing/py3-flask-headers/APKBUILD16
-rw-r--r--testing/py3-flask-httpauth/APKBUILD23
-rw-r--r--testing/py3-flask-json-schema/APKBUILD30
-rw-r--r--testing/py3-flask-limiter/APKBUILD50
-rw-r--r--testing/py3-flask-limiter/our-std-is-good-enough.patch22
-rw-r--r--testing/py3-flask-loopback/APKBUILD16
-rw-r--r--testing/py3-flask-mailman/APKBUILD35
-rw-r--r--testing/py3-flask-markdown/APKBUILD16
-rw-r--r--testing/py3-flask-migrate/APKBUILD34
-rw-r--r--testing/py3-flask-paginate/APKBUILD16
-rw-r--r--testing/py3-flask-peewee/APKBUILD14
-rw-r--r--testing/py3-flask-principal/APKBUILD18
-rw-r--r--testing/py3-flask-qrcode/APKBUILD20
-rw-r--r--testing/py3-flask-restaction/APKBUILD16
-rw-r--r--testing/py3-flask-restful/APKBUILD29
-rw-r--r--testing/py3-flask-restless/APKBUILD16
-rw-r--r--testing/py3-flask-security/APKBUILD61
-rw-r--r--testing/py3-flask-security/nowarnings.patch12
-rw-r--r--testing/py3-flask-security/remove_importlib_resources.patch13
-rw-r--r--testing/py3-flask-sqlalchemy/APKBUILD30
-rw-r--r--testing/py3-flask-themer/APKBUILD9
-rw-r--r--testing/py3-forbiddenfruit/APKBUILD12
-rw-r--r--testing/py3-fpdf/APKBUILD5
-rw-r--r--testing/py3-freetype-py/APKBUILD41
-rw-r--r--testing/py3-funcparserlib/APKBUILD20
-rw-r--r--testing/py3-furl/APKBUILD9
-rw-r--r--testing/py3-fuzzywuzzy/APKBUILD13
-rw-r--r--testing/py3-geoip/APKBUILD31
-rw-r--r--testing/py3-gevent-websocket/APKBUILD7
-rw-r--r--testing/py3-ghp-import/APKBUILD26
-rw-r--r--testing/py3-git-versioner/APKBUILD50
-rw-r--r--testing/py3-github3/APKBUILD43
-rw-r--r--testing/py3-gitlab/APKBUILD49
-rw-r--r--testing/py3-glob2/APKBUILD5
-rw-r--r--testing/py3-gls/APKBUILD27
-rw-r--r--testing/py3-gnupg/APKBUILD30
-rw-r--r--testing/py3-google-trans-new/APKBUILD36
-rw-r--r--testing/py3-googletrans/APKBUILD34
-rw-r--r--testing/py3-googletrans/client.patch12
-rw-r--r--testing/py3-grequests/APKBUILD33
-rw-r--r--testing/py3-guessit/APKBUILD31
-rw-r--r--testing/py3-halo/APKBUILD5
-rw-r--r--testing/py3-hatch-openzim-bootstrap/APKBUILD41
-rw-r--r--testing/py3-hatch-openzim/APKBUILD41
-rw-r--r--testing/py3-hbmqtt/APKBUILD32
-rw-r--r--testing/py3-helper/APKBUILD5
-rw-r--r--testing/py3-hg-git/APKBUILD20
-rw-r--r--testing/py3-hiplot/APKBUILD52
-rw-r--r--testing/py3-hjson/APKBUILD30
-rw-r--r--testing/py3-hotqueue/APKBUILD32
-rw-r--r--testing/py3-html2markdown/APKBUILD37
-rw-r--r--testing/py3-html5-parser/APKBUILD41
-rw-r--r--testing/py3-hurry.filesize/APKBUILD7
-rw-r--r--testing/py3-i18naddress/APKBUILD28
-rw-r--r--testing/py3-i18naddress/python-3.9.patch34
-rw-r--r--testing/py3-i3ipc/APKBUILD28
-rw-r--r--testing/py3-icalendar/APKBUILD31
-rw-r--r--testing/py3-identify/APKBUILD31
-rw-r--r--testing/py3-igraph/APKBUILD49
-rw-r--r--testing/py3-imageio-ffmpeg/APKBUILD40
-rw-r--r--testing/py3-imageio-ffmpeg/pip-requirement.patch12
-rw-r--r--testing/py3-imageio/APKBUILD26
-rw-r--r--testing/py3-imdbpy/APKBUILD5
-rw-r--r--testing/py3-incoming/APKBUILD14
-rw-r--r--testing/py3-incoming/assertEquals.patch31
-rw-r--r--testing/py3-infinity/APKBUILD11
-rw-r--r--testing/py3-influxdb/APKBUILD33
-rw-r--r--testing/py3-iniparse/APKBUILD6
-rw-r--r--testing/py3-intervals/APKBUILD5
-rw-r--r--testing/py3-invoke/APKBUILD33
-rw-r--r--testing/py3-ioflo/APKBUILD38
-rw-r--r--testing/py3-ioflo/python-3.9.patch54
-rw-r--r--testing/py3-iso639-lang/APKBUILD35
-rw-r--r--testing/py3-itemadapter/APKBUILD9
-rw-r--r--testing/py3-itemloaders/APKBUILD40
-rw-r--r--testing/py3-itunespy/APKBUILD28
-rw-r--r--testing/py3-janus/APKBUILD32
-rw-r--r--testing/py3-janus/no-typing-extensions.patch42
-rw-r--r--testing/py3-jaraco.packaging/APKBUILD29
-rw-r--r--testing/py3-jaraco.packaging/setuptools_scm.patch10
-rw-r--r--testing/py3-json-logger/APKBUILD26
-rw-r--r--testing/py3-jsonpickle/APKBUILD41
-rw-r--r--testing/py3-jsonpickle/tests.patch15
-rw-r--r--testing/py3-jsonschema417/APKBUILD67
-rw-r--r--testing/py3-junit-xml/APKBUILD13
-rw-r--r--testing/py3-jwcrypto/APKBUILD31
-rw-r--r--testing/py3-kaitaistruct/APKBUILD25
-rw-r--r--testing/py3-kazoo/APKBUILD28
-rw-r--r--testing/py3-keepalive/APKBUILD29
-rw-r--r--testing/py3-keepalive/fix-import.patch18
-rw-r--r--testing/py3-keepalive/py3.patch553
-rw-r--r--testing/py3-kerberos/APKBUILD6
-rw-r--r--testing/py3-kikit/APKBUILD49
-rw-r--r--testing/py3-kitchen/APKBUILD28
-rw-r--r--testing/py3-kombu/APKBUILD31
-rw-r--r--testing/py3-landlock/APKBUILD43
-rw-r--r--testing/py3-langcodes/APKBUILD40
-rw-r--r--testing/py3-language-data/APKBUILD37
-rw-r--r--testing/py3-lark-parser/APKBUILD30
-rw-r--r--testing/py3-latex2mathml/APKBUILD33
-rw-r--r--testing/py3-levenshtein/APKBUILD42
-rw-r--r--testing/py3-lib_users/APKBUILD5
-rw-r--r--testing/py3-libacl/APKBUILD8
-rw-r--r--testing/py3-libarchive-c/APKBUILD35
-rw-r--r--testing/py3-libarchive-c/time64.patch52
-rw-r--r--testing/py3-liblarch/APKBUILD13
-rw-r--r--testing/py3-libmdbx/APKBUILD12
-rw-r--r--testing/py3-libnacl/APKBUILD35
-rw-r--r--testing/py3-librelingo-audios/APKBUILD35
-rw-r--r--testing/py3-librelingo-types/APKBUILD31
-rw-r--r--testing/py3-librelingo-utils/APKBUILD35
-rw-r--r--testing/py3-librelingo-yaml-loader/APKBUILD45
-rw-r--r--testing/py3-librtmp/APKBUILD5
-rw-r--r--testing/py3-limits/APKBUILD50
-rw-r--r--testing/py3-limits/our-std-is-good-enough.patch22
-rw-r--r--testing/py3-lingua-franca/APKBUILD46
-rw-r--r--testing/py3-linkify-it-py/APKBUILD35
-rw-r--r--testing/py3-litex-hub-modules/0001-fix-pythondata_software_compiler_rt-python3.patch405
-rw-r--r--testing/py3-litex-hub-modules/0002-fix-pythondata-cpu-blackparrot-python3.patch2824
-rw-r--r--testing/py3-litex-hub-modules/APKBUILD235
-rw-r--r--testing/py3-litex/0001-litedram-phy-lpddr-fix-use-of-invalid-escape-sequenc.patch105
-rw-r--r--testing/py3-litex/0002-litex-fix-invalid-escape-sequence.patch16
-rw-r--r--testing/py3-litex/0003-litepcie-fix-package-absent-from-packages-configuration.patch23
-rw-r--r--testing/py3-litex/APKBUILD249
-rw-r--r--testing/py3-livestream/APKBUILD27
-rw-r--r--testing/py3-llfuse/APKBUILD27
-rw-r--r--testing/py3-log-symbols/APKBUILD5
-rw-r--r--testing/py3-logutils/APKBUILD31
-rw-r--r--testing/py3-lsp-black/APKBUILD37
-rw-r--r--testing/py3-lsp-mypy/APKBUILD44
-rw-r--r--testing/py3-lsprotocol/APKBUILD44
-rw-r--r--testing/py3-luhn/APKBUILD5
-rw-r--r--testing/py3-lunr/APKBUILD13
-rw-r--r--testing/py3-ly/APKBUILD36
-rw-r--r--testing/py3-lzo/APKBUILD42
-rw-r--r--testing/py3-m2crypto/APKBUILD13
-rw-r--r--testing/py3-managesieve/APKBUILD34
-rw-r--r--testing/py3-managesieve/dont-depend-on-pytest-runner.patch14
-rw-r--r--testing/py3-mando/APKBUILD10
-rw-r--r--testing/py3-manuel/APKBUILD14
-rw-r--r--testing/py3-mapbox-earcut/APKBUILD32
-rw-r--r--testing/py3-marisa-trie/APKBUILD52
-rw-r--r--testing/py3-markdown2/APKBUILD28
-rw-r--r--testing/py3-marshmallow-enum/APKBUILD27
-rw-r--r--testing/py3-marshmallow/APKBUILD23
-rw-r--r--testing/py3-mbedtls/APKBUILD52
-rw-r--r--testing/py3-memory-profiler/APKBUILD60
-rw-r--r--testing/py3-memory-profiler/assertRaisesRegexp.patch14
-rw-r--r--testing/py3-mergedeep/APKBUILD26
-rw-r--r--testing/py3-migen/0001-fix-get_var_name.patch113
-rw-r--r--testing/py3-migen/0002-fix-incorrect-use-of-is.patch29
-rw-r--r--testing/py3-migen/APKBUILD51
-rw-r--r--testing/py3-milc/APKBUILD18
-rw-r--r--testing/py3-minidb/APKBUILD31
-rw-r--r--testing/py3-minidump/APKBUILD34
-rw-r--r--testing/py3-minikerberos/APKBUILD44
-rw-r--r--testing/py3-minio/APKBUILD38
-rw-r--r--testing/py3-minio/assertEquals.patch9
-rw-r--r--testing/py3-mistletoe/APKBUILD32
-rw-r--r--testing/py3-mitmproxy-rs/APKBUILD46
-rw-r--r--testing/py3-mmh3/APKBUILD39
-rw-r--r--testing/py3-modbus-tk/APKBUILD30
-rw-r--r--testing/py3-mongo/APKBUILD32
-rw-r--r--testing/py3-mopidy-jellyfin/APKBUILD35
-rw-r--r--testing/py3-mopidy-local/APKBUILD37
-rw-r--r--testing/py3-mopidy-mpd/APKBUILD23
-rw-r--r--testing/py3-mopidy-spotify/APKBUILD45
-rw-r--r--testing/py3-mopidy-tidal/APKBUILD39
-rw-r--r--testing/py3-more-properties/APKBUILD52
-rw-r--r--testing/py3-more-properties/root.patch15
-rw-r--r--testing/py3-moviepy/APKBUILD17
-rw-r--r--testing/py3-moviepy/decorators.patch47
-rw-r--r--testing/py3-mpd2/APKBUILD12
-rw-r--r--testing/py3-msldap/APKBUILD45
-rw-r--r--testing/py3-murmurhash/APKBUILD32
-rw-r--r--testing/py3-nanoid/APKBUILD28
-rw-r--r--testing/py3-natpmp/APKBUILD35
-rw-r--r--testing/py3-ncclient/APKBUILD17
-rw-r--r--testing/py3-netdisco/APKBUILD29
-rw-r--r--testing/py3-netifaces2/APKBUILD52
-rw-r--r--testing/py3-netmiko/APKBUILD27
-rw-r--r--testing/py3-nikola/APKBUILD26
-rw-r--r--testing/py3-nmap/APKBUILD5
-rw-r--r--testing/py3-nose-of-yeti/APKBUILD39
-rw-r--r--testing/py3-nose-of-yeti/use-pytest-asyncio.patch20
-rw-r--r--testing/py3-nose-timer/APKBUILD20
-rw-r--r--testing/py3-nose-timer/assertEquals.patch9
-rw-r--r--testing/py3-notifymail/APKBUILD5
-rw-r--r--testing/py3-nptyping/APKBUILD44
-rw-r--r--testing/py3-ntplib/APKBUILD13
-rw-r--r--testing/py3-numpy-stl/APKBUILD34
-rw-r--r--testing/py3-nwdiag/APKBUILD12
-rw-r--r--testing/py3-onelogin/APKBUILD53
-rw-r--r--testing/py3-openapi-codec/APKBUILD13
-rw-r--r--testing/py3-openapi-codec/assertEquals.patch43
-rw-r--r--testing/py3-openssh-wrapper/APKBUILD30
-rw-r--r--testing/py3-openwisp-utils/APKBUILD43
-rw-r--r--testing/py3-optuna/APKBUILD52
-rw-r--r--testing/py3-orderedmultidict/APKBUILD5
-rw-r--r--testing/py3-osqp/APKBUILD40
-rw-r--r--testing/py3-ovos-backend-client/APKBUILD48
-rw-r--r--testing/py3-ovos-bus-client/APKBUILD47
-rw-r--r--testing/py3-ovos-classifiers/APKBUILD53
-rw-r--r--testing/py3-ovos-classifiers/assertEquals.patch18
-rw-r--r--testing/py3-ovos-config/APKBUILD48
-rw-r--r--testing/py3-ovos-media-plugin-simple/APKBUILD36
-rw-r--r--testing/py3-ovos-microphone-plugin-alsa/APKBUILD37
-rw-r--r--testing/py3-ovos-ocp-audio-plugin/APKBUILD61
-rw-r--r--testing/py3-ovos-ocp-files-plugin/APKBUILD51
-rw-r--r--testing/py3-ovos-ocp-m3u-plugin/APKBUILD34
-rw-r--r--testing/py3-ovos-ocp-news-plugin/APKBUILD46
-rw-r--r--testing/py3-ovos-ocp-rss-plugin/APKBUILD37
-rw-r--r--testing/py3-ovos-phal-plugin-connectivity-events/APKBUILD45
-rw-r--r--testing/py3-ovos-phal-plugin-ipgeo/APKBUILD38
-rw-r--r--testing/py3-ovos-phal-plugin-network-manager/APKBUILD40
-rw-r--r--testing/py3-ovos-phal-plugin-oauth/APKBUILD43
-rw-r--r--testing/py3-ovos-phal-plugin-system/APKBUILD33
-rw-r--r--testing/py3-ovos-plugin-manager/APKBUILD41
-rw-r--r--testing/py3-ovos-stt-plugin-server/APKBUILD34
-rw-r--r--testing/py3-ovos-tts-plugin-mimic3-server/APKBUILD38
-rw-r--r--testing/py3-ovos-utils/APKBUILD57
-rw-r--r--testing/py3-ovos-vad-plugin-webrtcvad/APKBUILD39
-rw-r--r--testing/py3-ovos-workshop/APKBUILD53
-rw-r--r--testing/py3-ovos-ww-plugin-vosk/APKBUILD42
-rw-r--r--testing/py3-owslib/APKBUILD36
-rw-r--r--testing/py3-padacioso/APKBUILD40
-rw-r--r--testing/py3-pam/APKBUILD43
-rw-r--r--testing/py3-parse/APKBUILD35
-rw-r--r--testing/py3-parsel/APKBUILD31
-rw-r--r--testing/py3-parver/APKBUILD25
-rw-r--r--testing/py3-pastel/APKBUILD30
-rw-r--r--testing/py3-patatt/APKBUILD29
-rw-r--r--testing/py3-pathvalidate/APKBUILD35
-rw-r--r--testing/py3-pbkdf2/APKBUILD5
-rw-r--r--testing/py3-pcbnewtransition/APKBUILD47
-rw-r--r--testing/py3-pdal/APKBUILD18
-rw-r--r--testing/py3-pebble/APKBUILD41
-rw-r--r--testing/py3-pecan/APKBUILD32
-rw-r--r--testing/py3-pefile/APKBUILD33
-rw-r--r--testing/py3-pelican/APKBUILD64
-rw-r--r--testing/py3-pelican/no-locales-for-tests.patch19
-rw-r--r--testing/py3-pelican/remove-shebang.patch21
-rw-r--r--testing/py3-pep8-naming/APKBUILD23
-rw-r--r--testing/py3-pep8-naming/fix-missing-option.patch23
-rw-r--r--testing/py3-pg_activity/APKBUILD33
-rw-r--r--testing/py3-pgspecial/APKBUILD31
-rw-r--r--testing/py3-phpserialize/APKBUILD5
-rw-r--r--testing/py3-piccata/APKBUILD46
-rw-r--r--testing/py3-pickle-secure/APKBUILD36
-rw-r--r--testing/py3-piexif/APKBUILD30
-rw-r--r--testing/py3-pika/APKBUILD16
-rw-r--r--testing/py3-pip-system-certs/APKBUILD33
-rw-r--r--testing/py3-pivy/APKBUILD28
-rw-r--r--testing/py3-pivy/qt5.patch11
-rw-r--r--testing/py3-plac/APKBUILD31
-rw-r--r--testing/py3-plac/index.rst2
-rw-r--r--testing/py3-playsound/APKBUILD22
-rw-r--r--testing/py3-plexapi/APKBUILD44
-rw-r--r--testing/py3-pockethernet/APKBUILD14
-rw-r--r--testing/py3-podman/APKBUILD35
-rw-r--r--testing/py3-podman/fix-tests.patch39
-rw-r--r--testing/py3-podman/python3.10.patch103
-rw-r--r--testing/py3-poetry-core/APKBUILD30
-rw-r--r--testing/py3-poetry-dynamic-versioning/APKBUILD37
-rw-r--r--testing/py3-poppler-qt5/APKBUILD37
-rw-r--r--testing/py3-pprintpp/APKBUILD36
-rw-r--r--testing/py3-precis-i18n/APKBUILD27
-rw-r--r--testing/py3-preggy/APKBUILD7
-rw-r--r--testing/py3-preshed/APKBUILD37
-rw-r--r--testing/py3-proglog/APKBUILD39
-rw-r--r--testing/py3-progressbar/APKBUILD29
-rw-r--r--testing/py3-progressbar2/APKBUILD36
-rw-r--r--testing/py3-proplot/APKBUILD40
-rw-r--r--testing/py3-protego/APKBUILD13
-rw-r--r--testing/py3-proxmoxer/APKBUILD43
-rw-r--r--testing/py3-publicsuffix2/APKBUILD5
-rw-r--r--testing/py3-pure_protobuf/APKBUILD41
-rw-r--r--testing/py3-pure_protobuf/use_fixed_version.patch23
-rw-r--r--testing/py3-puremagic/APKBUILD34
-rw-r--r--testing/py3-py-radix/APKBUILD8
-rw-r--r--testing/py3-py-radix/assertEquals.patch181
-rw-r--r--testing/py3-pyatem/APKBUILD19
-rw-r--r--testing/py3-pyautogui/APKBUILD34
-rw-r--r--testing/py3-pybars3/APKBUILD5
-rw-r--r--testing/py3-pycaption/APKBUILD37
-rw-r--r--testing/py3-pycolorterm/APKBUILD4
-rw-r--r--testing/py3-pycosat/APKBUILD20
-rw-r--r--testing/py3-pydes/APKBUILD6
-rw-r--r--testing/py3-pygdbmi/APKBUILD28
-rw-r--r--testing/py3-pygelbooru/APKBUILD34
-rw-r--r--testing/py3-pygfm/APKBUILD11
-rw-r--r--testing/py3-pyglm/APKBUILD51
-rw-r--r--testing/py3-pygpgme/APKBUILD16
-rw-r--r--testing/py3-pygpgme/py3.11.patch13
-rw-r--r--testing/py3-pygtail/APKBUILD16
-rw-r--r--testing/py3-pyinstrument/APKBUILD35
-rw-r--r--testing/py3-pyisbn/APKBUILD11
-rw-r--r--testing/py3-pylev/APKBUILD28
-rw-r--r--testing/py3-pylru/APKBUILD35
-rw-r--r--testing/py3-pymaging-png/APKBUILD5
-rw-r--r--testing/py3-pymaging/APKBUILD5
-rw-r--r--testing/py3-pymata/APKBUILD27
-rw-r--r--testing/py3-pymata4/APKBUILD27
-rw-r--r--testing/py3-pymdown-extensions/APKBUILD27
-rw-r--r--testing/py3-pymeta3/APKBUILD5
-rw-r--r--testing/py3-pymsgbox/APKBUILD35
-rw-r--r--testing/py3-pymsteams/APKBUILD33
-rw-r--r--testing/py3-pymysql/APKBUILD27
-rw-r--r--testing/py3-pynest2d/APKBUILD49
-rw-r--r--testing/py3-pynest2d/cmake-helpers.patch253
-rw-r--r--testing/py3-pynest2d/cmake.patch34
-rw-r--r--testing/py3-pynest2d/pyproject.patch21
-rw-r--r--testing/py3-pypandoc/APKBUILD24
-rw-r--r--testing/py3-pyparted/APKBUILD40
-rw-r--r--testing/py3-pyparted/archlabels-armv8l.patch20
-rw-r--r--testing/py3-pypng/APKBUILD31
-rw-r--r--testing/py3-pypng/python-3.9.patch31
-rw-r--r--testing/py3-pyproj/APKBUILD37
-rw-r--r--testing/py3-pyrebase/APKBUILD6
-rw-r--r--testing/py3-pyro4/APKBUILD34
-rw-r--r--testing/py3-pyroma/APKBUILD32
-rw-r--r--testing/py3-pyrss2gen/APKBUILD27
-rw-r--r--testing/py3-pyscreeze/APKBUILD34
-rw-r--r--testing/py3-pysequoia/APKBUILD54
-rw-r--r--testing/py3-pysimplesoap/APKBUILD5
-rw-r--r--testing/py3-pysonic/APKBUILD21
-rw-r--r--testing/py3-pyspinel/APKBUILD44
-rw-r--r--testing/py3-pysrt/APKBUILD10
-rw-r--r--testing/py3-pysrt/assertEquals.patch49
-rw-r--r--testing/py3-pystache/APKBUILD32
-rw-r--r--testing/py3-pytaglib/APKBUILD8
-rw-r--r--testing/py3-pyte/APKBUILD12
-rw-r--r--testing/py3-pytest-env/APKBUILD27
-rw-r--r--testing/py3-pytest-expect/APKBUILD5
-rw-r--r--testing/py3-pytest-freezegun/APKBUILD30
-rw-r--r--testing/py3-pytest-helpers-namespace/APKBUILD42
-rw-r--r--testing/py3-pytest-html/APKBUILD49
-rw-r--r--testing/py3-pytest-instafail/APKBUILD29
-rw-r--r--testing/py3-pytest-metadata/APKBUILD40
-rw-r--r--testing/py3-pytest-mypy/APKBUILD48
-rw-r--r--testing/py3-pytest-regtest/APKBUILD46
-rw-r--r--testing/py3-pytest-rerunfailures/APKBUILD29
-rw-r--r--testing/py3-pytest-subprocess/APKBUILD40
-rw-r--r--testing/py3-python-archive/APKBUILD10
-rw-r--r--testing/py3-python-iptables/APKBUILD40
-rw-r--r--testing/py3-python-jose/APKBUILD37
-rw-r--r--testing/py3-python-jwt/APKBUILD31
-rw-r--r--testing/py3-python-logstash/APKBUILD10
-rw-r--r--testing/py3-python-mystrom/APKBUILD27
-rw-r--r--testing/py3-python-stdnum/APKBUILD14
-rw-r--r--testing/py3-python-stdnum/lower-coverage.patch12
-rw-r--r--testing/py3-pytube/APKBUILD42
-rw-r--r--testing/py3-pytweening/APKBUILD37
-rw-r--r--testing/py3-pyvcd/APKBUILD36
-rw-r--r--testing/py3-pyvows/APKBUILD8
-rw-r--r--testing/py3-pyyaml-env-tag/APKBUILD30
-rw-r--r--testing/py3-pyzor/APKBUILD7
-rw-r--r--testing/py3-qasync/APKBUILD28
-rw-r--r--testing/py3-qbittorrent-api/APKBUILD46
-rw-r--r--testing/py3-qdldl/APKBUILD34
-rw-r--r--testing/py3-qpageview/APKBUILD35
-rw-r--r--testing/py3-qt.py/APKBUILD18
-rw-r--r--testing/py3-qt.py/importlib.patch20
-rw-r--r--testing/py3-qtgraph/APKBUILD29
-rw-r--r--testing/py3-quebra-frases/APKBUILD39
-rw-r--r--testing/py3-queuelib/APKBUILD22
-rw-r--r--testing/py3-rabbit/APKBUILD5
-rw-r--r--testing/py3-radon/APKBUILD8
-rw-r--r--testing/py3-raet/APKBUILD28
-rw-r--r--testing/py3-rapidjson/APKBUILD56
-rw-r--r--testing/py3-re-assert/APKBUILD31
-rw-r--r--testing/py3-rebulk/APKBUILD30
-rw-r--r--testing/py3-recommonmark/APKBUILD11
-rw-r--r--testing/py3-recurring-ical-events/APKBUILD36
-rw-r--r--testing/py3-redmine/APKBUILD18
-rw-r--r--testing/py3-redmine/assertEquals.patch23
-rw-r--r--testing/py3-reedsolo/APKBUILD32
-rw-r--r--testing/py3-reedsolo/python3.10.patch25
-rw-r--r--testing/py3-remind/APKBUILD5
-rw-r--r--testing/py3-remoto/APKBUILD32
-rw-r--r--testing/py3-requests-kerberos/APKBUILD37
-rw-r--r--testing/py3-requests-wsgi-adapter/APKBUILD36
-rw-r--r--testing/py3-rfc-bibtex/APKBUILD7
-rw-r--r--testing/py3-rfc3987/APKBUILD5
-rw-r--r--testing/py3-rich-click/APKBUILD44
-rw-r--r--testing/py3-riotctrl/APKBUILD46
-rw-r--r--testing/py3-rosdistro/APKBUILD9
-rw-r--r--testing/py3-rospkg/APKBUILD5
-rw-r--r--testing/py3-rpio/APKBUILD5
-rw-r--r--testing/py3-rst.linker/APKBUILD20
-rw-r--r--testing/py3-rst/APKBUILD5
-rw-r--r--testing/py3-rstr/APKBUILD27
-rw-r--r--testing/py3-rtree/APKBUILD14
-rw-r--r--testing/py3-sabctools/APKBUILD47
-rw-r--r--testing/py3-sarge/APKBUILD35
-rw-r--r--testing/py3-schema/APKBUILD11
-rw-r--r--testing/py3-scour/APKBUILD35
-rw-r--r--testing/py3-scrapy/APKBUILD44
-rw-r--r--testing/py3-scs/APKBUILD32
-rw-r--r--testing/py3-semver/APKBUILD25
-rw-r--r--testing/py3-seqdiag/APKBUILD22
-rw-r--r--testing/py3-serpent/APKBUILD33
-rw-r--r--testing/py3-setuptools-declarative-requirements/APKBUILD38
-rw-r--r--testing/py3-setuptools-git/APKBUILD35
-rw-r--r--testing/py3-setuptools-lint/APKBUILD22
-rw-r--r--testing/py3-sh/APKBUILD24
-rw-r--r--testing/py3-shellingham/APKBUILD32
-rw-r--r--testing/py3-shodan/APKBUILD48
-rw-r--r--testing/py3-shortuuid/APKBUILD12
-rw-r--r--testing/py3-shtab/APKBUILD22
-rw-r--r--testing/py3-simber/APKBUILD32
-rw-r--r--testing/py3-simplematch/APKBUILD39
-rw-r--r--testing/py3-simplesoapy/APKBUILD12
-rw-r--r--testing/py3-simplespectral/APKBUILD7
-rw-r--r--testing/py3-slidge-style-parser/APKBUILD45
-rw-r--r--testing/py3-slixmpp/APKBUILD63
-rw-r--r--testing/py3-snapshottest/APKBUILD6
-rw-r--r--testing/py3-soappy/APKBUILD9
-rw-r--r--testing/py3-soapy_power/APKBUILD7
-rw-r--r--testing/py3-solidpython/APKBUILD47
-rw-r--r--testing/py3-solidpython/fix-versions.patch32
-rw-r--r--testing/py3-solidpython/poetry-core.patch11
-rw-r--r--testing/py3-sortedcollections/APKBUILD29
-rw-r--r--testing/py3-spacy/APKBUILD44
-rw-r--r--testing/py3-sphinx-argparse/APKBUILD23
-rw-r--r--testing/py3-sphinx-argparse/fix-python3.10-tests.patch20
-rw-r--r--testing/py3-sphinx-autoapi/APKBUILD28
-rw-r--r--testing/py3-sphinx-autodoc-typehints/APKBUILD27
-rw-r--r--testing/py3-sphinx-autorun/APKBUILD27
-rw-r--r--testing/py3-sphinx-click/APKBUILD31
-rw-r--r--testing/py3-sphinx-theme-better/APKBUILD5
-rw-r--r--testing/py3-sphinx-theme-bootstrap/APKBUILD10
-rw-r--r--testing/py3-sphinx-theme-bw/APKBUILD12
-rw-r--r--testing/py3-sphinx-theme-cloud/APKBUILD40
-rw-r--r--testing/py3-sphinx-theme-cloud/markup.patch13
-rw-r--r--testing/py3-sphinx-theme-epfl/APKBUILD14
-rw-r--r--testing/py3-sphinx-theme-guzzle/APKBUILD5
-rw-r--r--testing/py3-sphinx-theme-quark/APKBUILD22
-rw-r--r--testing/py3-sphinx-theme-quark/tinycss.patch115
-rw-r--r--testing/py3-sphinx-theme-readable/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-actdiag/APKBUILD23
-rw-r--r--testing/py3-sphinxcontrib-adadomain/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-apidoc/APKBUILD28
-rw-r--r--testing/py3-sphinxcontrib-autoprogram/APKBUILD41
-rw-r--r--testing/py3-sphinxcontrib-bitbucket/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-blockdiag/APKBUILD23
-rw-r--r--testing/py3-sphinxcontrib-cacoo/APKBUILD14
-rw-r--r--testing/py3-sphinxcontrib-cartouche/APKBUILD14
-rw-r--r--testing/py3-sphinxcontrib-doxylink/APKBUILD29
-rw-r--r--testing/py3-sphinxcontrib-fulltoc/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-gist/APKBUILD25
-rw-r--r--testing/py3-sphinxcontrib-gist/fix-build.patch19
-rw-r--r--testing/py3-sphinxcontrib-git/APKBUILD14
-rw-r--r--testing/py3-sphinxcontrib-gravatar/APKBUILD7
-rw-r--r--testing/py3-sphinxcontrib-htsql/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-httpdomain/APKBUILD31
-rw-r--r--testing/py3-sphinxcontrib-hydomain/APKBUILD20
-rw-r--r--testing/py3-sphinxcontrib-hydomain/do-not-insert-stdlib.patch31
-rw-r--r--testing/py3-sphinxcontrib-inheritance/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-issuetracker/APKBUILD14
-rw-r--r--testing/py3-sphinxcontrib-lassodomain/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-manpage/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-newsfeed/APKBUILD25
-rw-r--r--testing/py3-sphinxcontrib-nwdiag/APKBUILD17
-rw-r--r--testing/py3-sphinxcontrib-phpdomain/APKBUILD25
-rw-r--r--testing/py3-sphinxcontrib-programoutput/APKBUILD5
-rw-r--r--testing/py3-sphinxcontrib-restbuilder/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-seqdiag/APKBUILD22
-rw-r--r--testing/py3-sphinxcontrib-slide/APKBUILD19
-rw-r--r--testing/py3-sphinxcontrib-spelling/APKBUILD30
-rw-r--r--testing/py3-sphinxcontrib-sqltable/APKBUILD16
-rw-r--r--testing/py3-sphinxcontrib-tabs/APKBUILD27
-rw-r--r--testing/py3-sphinxcontrib-textstyle/APKBUILD15
-rw-r--r--testing/py3-sphobjinv/APKBUILD11
-rw-r--r--testing/py3-spidev/APKBUILD30
-rw-r--r--testing/py3-spin/APKBUILD35
-rw-r--r--testing/py3-spinners/APKBUILD5
-rw-r--r--testing/py3-spnego/APKBUILD51
-rw-r--r--testing/py3-sportydatagen/APKBUILD36
-rw-r--r--testing/py3-spotipy/APKBUILD28
-rw-r--r--testing/py3-sqlalchemy-utils/APKBUILD26
-rw-r--r--testing/py3-srsly/APKBUILD31
-rw-r--r--testing/py3-srt/APKBUILD43
-rw-r--r--testing/py3-sstash/APKBUILD5
-rw-r--r--testing/py3-stem/APKBUILD28
-rw-r--r--testing/py3-stevedore/APKBUILD37
-rw-r--r--testing/py3-stringcase/APKBUILD23
-rw-r--r--testing/py3-subtesthack/APKBUILD25
-rw-r--r--testing/py3-svgpath/105_use-better-than-nothing-font.patch300
-rw-r--r--testing/py3-svgpath/APKBUILD37
-rw-r--r--testing/py3-svgpath/no-install-tests.patch15
-rw-r--r--testing/py3-swagger-ui-bundle/APKBUILD49
-rw-r--r--testing/py3-syrupy/APKBUILD36
-rw-r--r--testing/py3-tabulate/APKBUILD38
-rw-r--r--testing/py3-tailer/APKBUILD22
-rw-r--r--testing/py3-tasklib/APKBUILD25
-rw-r--r--testing/py3-telegram-bot/APKBUILD9
-rw-r--r--testing/py3-telegram-text/APKBUILD33
-rw-r--r--testing/py3-telegram/0001-Use-system-tdlib.patch27
-rw-r--r--testing/py3-telegram/0002-Remove-binarys.patch8
-rw-r--r--testing/py3-telegram/APKBUILD27
-rw-r--r--testing/py3-telemetrix/APKBUILD27
-rw-r--r--testing/py3-teletype/APKBUILD18
-rw-r--r--testing/py3-terminaltables/APKBUILD31
-rw-r--r--testing/py3-testresources/APKBUILD5
-rw-r--r--testing/py3-textual/APKBUILD61
-rw-r--r--testing/py3-tg/0001-Allow-newer-python-telegram.patch23
-rw-r--r--testing/py3-tg/0001-Change-setup.py-to-accept-new-python-telegram-ver.patch23
-rw-r--r--testing/py3-tg/APKBUILD19
-rw-r--r--testing/py3-thefuzz/APKBUILD35
-rw-r--r--testing/py3-thinc/APKBUILD36
-rw-r--r--testing/py3-ticket-auth/APKBUILD5
-rw-r--r--testing/py3-tidalapi/APKBUILD36
-rw-r--r--testing/py3-tls_parser/APKBUILD11
-rw-r--r--testing/py3-tlslite-ng/APKBUILD13
-rw-r--r--testing/py3-tokenizers/APKBUILD38
-rw-r--r--testing/py3-tomlkit/APKBUILD32
-rw-r--r--testing/py3-toposort/APKBUILD37
-rw-r--r--testing/py3-tpm2-pytss/APKBUILD64
-rw-r--r--testing/py3-transitions/APKBUILD16
-rw-r--r--testing/py3-translationstring/APKBUILD9
-rw-r--r--testing/py3-trimesh/APKBUILD65
-rw-r--r--testing/py3-trivup/APKBUILD11
-rw-r--r--testing/py3-truststore/APKBUILD45
-rw-r--r--testing/py3-twiggy/APKBUILD11
-rw-r--r--testing/py3-typing_inspect/APKBUILD29
-rw-r--r--testing/py3-tzlocal/APKBUILD25
-rw-r--r--testing/py3-u-msgpack/APKBUILD11
-rw-r--r--testing/py3-uc-micro-py/APKBUILD34
-rw-r--r--testing/py3-ufonormalizer/APKBUILD13
-rw-r--r--testing/py3-ukkonen/01-fix-musl-build.patch11
-rw-r--r--testing/py3-ukkonen/APKBUILD34
-rw-r--r--testing/py3-unearth/APKBUILD42
-rw-r--r--testing/py3-unicorn-hat/APKBUILD9
-rw-r--r--testing/py3-unicrypto/APKBUILD47
-rw-r--r--testing/py3-unidiff/APKBUILD36
-rw-r--r--testing/py3-unidiff/fix-test-script.patch8
-rw-r--r--testing/py3-unidns/APKBUILD45
-rw-r--r--testing/py3-unoconv/APKBUILD13
-rw-r--r--testing/py3-unoconv/CVE-2019-17400.patch102
-rw-r--r--testing/py3-untokenize/APKBUILD37
-rw-r--r--testing/py3-uptime/APKBUILD5
-rw-r--r--testing/py3-uritools/APKBUILD9
-rw-r--r--testing/py3-urlobject/APKBUILD5
-rw-r--r--testing/py3-urwid_readline/APKBUILD32
-rw-r--r--testing/py3-us/APKBUILD13
-rw-r--r--testing/py3-us/fix-requires.patch8
-rw-r--r--testing/py3-utc/APKBUILD5
-rw-r--r--testing/py3-utils/APKBUILD46
-rw-r--r--testing/py3-utils/fix-setuptools-deprecation.patch11
-rw-r--r--testing/py3-utils/pytest.patch14
-rw-r--r--testing/py3-utils/typing-ext.patch22
-rw-r--r--testing/py3-uvloop/APKBUILD35
-rw-r--r--testing/py3-uvloop/dns-tests.patch47
-rw-r--r--testing/py3-uvloop/tcp-tests.patch15
-rw-r--r--testing/py3-vatnumber/APKBUILD15
-rw-r--r--testing/py3-vatnumber/py3.patch10
-rw-r--r--testing/py3-vdf/APKBUILD45
-rw-r--r--testing/py3-venusian/APKBUILD13
-rw-r--r--testing/py3-vici/APKBUILD41
-rw-r--r--testing/py3-vici/use-sitepackages.patch9
-rw-r--r--testing/py3-vine/APKBUILD30
-rw-r--r--testing/py3-virtualenvwrapper/APKBUILD41
-rw-r--r--testing/py3-visitor/APKBUILD5
-rw-r--r--testing/py3-w3lib/APKBUILD35
-rw-r--r--testing/py3-w3lib/python-3.9.patch102
-rw-r--r--testing/py3-ward/APKBUILD53
-rw-r--r--testing/py3-wasabi/APKBUILD32
-rw-r--r--testing/py3-wbdata/APKBUILD22
-rw-r--r--testing/py3-webdavclient3/APKBUILD39
-rw-r--r--testing/py3-webrtcvad/APKBUILD45
-rw-r--r--testing/py3-webvtt/APKBUILD43
-rw-r--r--testing/py3-wg-netns/APKBUILD31
-rw-r--r--testing/py3-whois/APKBUILD27
-rw-r--r--testing/py3-wifi/APKBUILD5
-rw-r--r--testing/py3-winacl/APKBUILD37
-rw-r--r--testing/py3-wsgiprox/APKBUILD49
-rw-r--r--testing/py3-wstools/APKBUILD13
-rw-r--r--testing/py3-wstools/python3.12-support.patch22
-rw-r--r--testing/py3-wtf-peewee/APKBUILD9
-rw-r--r--testing/py3-wxpython/APKBUILD41
-rw-r--r--testing/py3-x-wr-timezone/APKBUILD39
-rw-r--r--testing/py3-xapp/APKBUILD28
-rw-r--r--testing/py3-xlwt/APKBUILD14
-rw-r--r--testing/py3-xmldiff/APKBUILD28
-rw-r--r--testing/py3-xsdata/APKBUILD55
-rw-r--r--testing/py3-xsdata/typing.patch26
-rw-r--r--testing/py3-yapsy/APKBUILD26
-rw-r--r--testing/py3-yapsy/deprecated.patch96
-rw-r--r--testing/py3-yara/APKBUILD19
-rw-r--r--testing/py3-yara/use-system-yara.patch9
-rw-r--r--testing/py3-yg.lockfile/APKBUILD33
-rw-r--r--testing/py3-yg.lockfile/setuptools_scm.patch12
-rw-r--r--testing/py3-youtube-search/APKBUILD28
-rw-r--r--testing/py3-zfs-autobackup/APKBUILD30
-rw-r--r--testing/py3-zimscraperlib/APKBUILD69
-rw-r--r--testing/py3-zipstream-ng/APKBUILD40
-rw-r--r--testing/py3-zope-configuration/APKBUILD24
-rw-r--r--testing/py3-zope-exceptions/APKBUILD26
-rw-r--r--testing/py3-zope-i18nmessageid/APKBUILD16
-rw-r--r--testing/py3-zope-schema/APKBUILD9
-rw-r--r--testing/py3-zope-testrunner/APKBUILD27
-rw-r--r--testing/py3-zstandard/APKBUILD32
-rw-r--r--testing/py3-zulip/APKBUILD40
-rw-r--r--testing/py3-zulip/disable-matrix_bridge.patch20
-rw-r--r--testing/pympress/APKBUILD55
-rw-r--r--testing/pypy-bootstrap/APKBUILD121
-rw-r--r--testing/pypy-bootstrap/py2_cve-2021-3177.py2patch150
-rw-r--r--testing/pypy-bootstrap/py2_musl-find_library.py2patch45
-rw-r--r--testing/pypy-bootstrap/py2_unchecked-ioctl.py2patch11
-rw-r--r--testing/pypy/APKBUILD76
-rw-r--r--testing/pypy3/0001-time.patch8
-rw-r--r--testing/pypy3/APKBUILD136
-rw-r--r--testing/pypykatz/APKBUILD43
-rw-r--r--testing/pyradio/APKBUILD52
-rw-r--r--testing/pyright/APKBUILD51
-rw-r--r--testing/qalculate-gtk/APKBUILD31
-rw-r--r--testing/qbittorrent-cli/APKBUILD30
-rw-r--r--testing/qdjango/APKBUILD35
-rw-r--r--testing/qdjango/no_docs_tests.patch14
-rw-r--r--testing/qflipper/APKBUILD80
-rw-r--r--testing/qgis/10-exiv2-0.28.patch37
-rw-r--r--testing/qgis/20-protobuf-23.patch15
-rw-r--r--testing/qgis/30-qgstyle-infinite-loop.patch61
-rw-r--r--testing/qgis/40-pdal.patch176
-rw-r--r--testing/qgis/APKBUILD337
-rw-r--r--testing/qjackctl/APKBUILD38
-rw-r--r--testing/qmk-cli/APKBUILD55
-rw-r--r--testing/qmk-cli/add-plugdev.patch120
-rw-r--r--testing/qml-asteroid/APKBUILD21
-rw-r--r--testing/qoi/APKBUILD40
-rw-r--r--testing/qownnotes/APKBUILD55
-rw-r--r--testing/qownnotes/botan.patch17
-rw-r--r--testing/qownnotes/exclude.patch31
-rw-r--r--testing/qownnotes/md4c.patch15
-rw-r--r--testing/qownnotes/no-werror.patch12
-rw-r--r--testing/qpdfview/APKBUILD39
-rw-r--r--testing/qperf/APKBUILD2
-rw-r--r--testing/qps/APKBUILD36
-rw-r--r--testing/qqc2-suru-style/APKBUILD29
-rw-r--r--testing/qspectrumanalyzer/APKBUILD7
-rw-r--r--testing/qsstv/APKBUILD42
-rw-r--r--testing/qstardict/APKBUILD2
-rw-r--r--testing/qsynth/APKBUILD40
-rw-r--r--testing/qt-creator/APKBUILD74
-rw-r--r--testing/qt-creator/fix-execinfo.patch43
-rw-r--r--testing/qt-creator/fix-malloc-trim.patch20
-rw-r--r--testing/qt-wayland-shell-helpers/APKBUILD8
-rw-r--r--testing/qt5ct/APKBUILD16
-rw-r--r--testing/qt6-qtwebengine/0001-Enable-building-on-musl.patch16
-rw-r--r--testing/qt6-qtwebengine/0002-musl-fixes.patch185
-rw-r--r--testing/qt6-qtwebengine/0003-qt-musl-mallinfo.patch43
-rw-r--r--testing/qt6-qtwebengine/0004-qt-musl-resolve.patch61
-rw-r--r--testing/qt6-qtwebengine/0005-qt-musl-crashpad.patch13
-rw-r--r--testing/qt6-qtwebengine/0006-musl-hacks.patch151
-rw-r--r--testing/qt6-qtwebengine/APKBUILD115
-rw-r--r--testing/qt6-qtwebview/APKBUILD58
-rw-r--r--testing/qt6ct/APKBUILD31
-rw-r--r--testing/qt6ct/find-lrelease.patch11
-rw-r--r--testing/qterminal/APKBUILD34
-rw-r--r--testing/qtermwidget/APKBUILD32
-rw-r--r--testing/qtile/APKBUILD39
-rw-r--r--testing/qtmir/0001-Wayland-hack-set-maliit-server-to-inputmethod-type-W.patch29
-rw-r--r--testing/qtmir/0002-Squash-of-miroil-patches.patch12405
-rw-r--r--testing/qtmir/0003-Require-miroil-in-out-.pc-file.patch24
-rw-r--r--testing/qtmir/0004-Update-for-Mir-2.15-removals.patch97
-rw-r--r--testing/qtmir/APKBUILD84
-rw-r--r--testing/qtox/APKBUILD51
-rw-r--r--testing/qtpass/APKBUILD9
-rw-r--r--testing/quakespasm/APKBUILD7
-rw-r--r--testing/qucs-s/APKBUILD43
-rw-r--r--testing/queercat/APKBUILD23
-rw-r--r--testing/quickjs/00-makefile.patch41
-rw-r--r--testing/quickjs/APKBUILD48
-rw-r--r--testing/quilt/APKBUILD43
-rw-r--r--testing/quodlibet/APKBUILD43
-rw-r--r--testing/qwt/APKBUILD37
-rw-r--r--testing/r2ghidra/APKBUILD55
-rw-r--r--testing/r2ghidra/use-system-pugixml.patch71
-rw-r--r--testing/rabbitmq-server/APKBUILD81
-rw-r--r--testing/rabbitmq-server/py3.patch82
-rw-r--r--testing/rabbitmq-server/rabbitmq-server.initd46
-rw-r--r--testing/racket/0001-Ensure-that-the-GMP-ARM-extra-file-has-the-correct-e.patch133
-rw-r--r--testing/racket/APKBUILD63
-rw-r--r--testing/radarr/0001-disable-restart.patch20
-rw-r--r--testing/radarr/APKBUILD101
-rw-r--r--testing/radarr/package_info4
-rw-r--r--testing/radarr/radarr.confd10
-rw-r--r--testing/radarr/radarr.initd34
-rw-r--r--testing/radarr/radarr.pre-install6
-rw-r--r--testing/radeontop/APKBUILD25
-rw-r--r--testing/radio-cli/APKBUILD31
-rw-r--r--testing/raft/APKBUILD40
-rw-r--r--testing/raft/unistd-include.patch12
-rw-r--r--testing/rage/APKBUILD57
-rw-r--r--testing/rage/fix-build-32bit.patch229
-rw-r--r--testing/rancher-cli/APKBUILD31
-rw-r--r--testing/randrctl/APKBUILD7
-rw-r--r--testing/rankwidth/APKBUILD36
-rw-r--r--testing/rankwidth/igraph-0.10.1.patch11
-rw-r--r--testing/rapidfuzz/APKBUILD45
-rw-r--r--testing/rapidfuzz/cstdint.patch12
-rw-r--r--testing/raspberrypi-usbboot/APKBUILD8
-rw-r--r--testing/rathole/APKBUILD19
-rw-r--r--testing/ratpoison/APKBUILD40
-rw-r--r--testing/rattler-build/APKBUILD61
-rw-r--r--testing/rauc/APKBUILD77
-rw-r--r--testing/rav1e/APKBUILD57
-rw-r--r--testing/raylib-wayland/APKBUILD42
-rw-r--r--testing/raylib/APKBUILD36
-rw-r--r--testing/razercfg/APKBUILD5
-rw-r--r--testing/razergenie/APKBUILD35
-rw-r--r--testing/rbw/APKBUILD51
-rw-r--r--testing/rclone-browser/APKBUILD5
-rw-r--r--testing/rcon-cli/APKBUILD24
-rw-r--r--testing/rcs/APKBUILD27
-rw-r--r--testing/rdedup/APKBUILD13
-rw-r--r--testing/rdedup/getrandom-0.2.10.patch61
-rw-r--r--testing/rdma-core/APKBUILD39
-rw-r--r--testing/rdrview/APKBUILD28
-rw-r--r--testing/rdrview/curl-7.85.0-CURLOPT_PROTOCOLS-deprecation.patch24
-rw-r--r--testing/reaction/APKBUILD49
-rw-r--r--testing/reaction/reaction.confd4
-rwxr-xr-xtesting/reaction/reaction.initd14
-rw-r--r--testing/reaction/reaction.yml95
-rw-r--r--testing/read-it-later/0001-Cargo-Update-the-glib-dependencies.patch5911
-rw-r--r--testing/read-it-later/0002-Cargo-Update-most-remainig-dependencies.patch1711
-rw-r--r--testing/read-it-later/0003-gitlab-ci.yml-Update-the-containers.patch43
-rw-r--r--testing/read-it-later/0004-Cargo.toml-Update-isahc.patch114
-rwxr-xr-xtesting/read-it-later/APKBUILD40
-rw-r--r--testing/readosm/APKBUILD1
-rw-r--r--testing/reason/APKBUILD162
-rw-r--r--testing/reason/rtop.sh.patch41
-rw-r--r--testing/reaver-wps-fork-t6x/APKBUILD4
-rw-r--r--testing/recoll/APKBUILD32
-rw-r--r--testing/recoll/fstreewalk.diff12
-rw-r--r--testing/recoll/no-glibc.patch14
-rw-r--r--testing/recoll/xattrs.patch11
-rw-r--r--testing/recyclarr-cli/0001-disable-gitversion.patch32
-rw-r--r--testing/recyclarr-cli/0002-build-dotnet8.patch23
-rw-r--r--testing/recyclarr-cli/APKBUILD57
-rw-r--r--testing/redict/APKBUILD68
-rw-r--r--testing/redict/redict-sentinel.initd33
-rw-r--r--testing/redict/redict.conf.patch71
-rw-r--r--testing/redict/redict.confd7
-rw-r--r--testing/redict/redict.initd41
-rw-r--r--testing/redict/redict.logrotate4
-rw-r--r--testing/redict/redict.post-install11
-rw-r--r--testing/redict/redict.pre-install6
-rw-r--r--testing/redict/sentinel.conf.patch13
-rw-r--r--testing/refind/01-missing-always-inline.patch17
-rw-r--r--testing/refind/11-disable-btrfs.patch13
-rw-r--r--testing/refind/APKBUILD13
-rw-r--r--testing/refind/gnu-efi-3014.patch34
-rw-r--r--testing/reg/APKBUILD7
-rw-r--r--testing/regal/APKBUILD55
-rw-r--r--testing/rekor/APKBUILD67
-rw-r--r--testing/rekor/fix-completions.patch24
-rw-r--r--testing/release-plz/APKBUILD55
-rw-r--r--testing/remake/APKBUILD2
-rw-r--r--testing/remind-caldav/APKBUILD5
-rw-r--r--testing/renderdoc/APKBUILD41
-rw-r--r--testing/renderdoc/musl-fix.patch73
-rw-r--r--testing/repgrep/APKBUILD58
-rw-r--r--testing/repo-tools/APKBUILD37
-rw-r--r--testing/repo-tools/build-fix-doc.patch11
-rw-r--r--testing/repo/APKBUILD23
-rw-r--r--testing/repowerd/0001-dbus-Remove-at_console-filtering.patch30
-rw-r--r--testing/repowerd/APKBUILD55
-rw-r--r--testing/repowerd/repowerd.initd12
-rw-r--r--testing/reprotest/APKBUILD33
-rw-r--r--testing/reptyr/APKBUILD23
-rw-r--r--testing/reredirect/APKBUILD28
-rw-r--r--testing/responder/APKBUILD32
-rw-r--r--testing/responder/fhs.patch69
-rw-r--r--testing/restart-services/APKBUILD1
-rw-r--r--testing/restic.mk/APKBUILD25
-rw-r--r--testing/restinio/APKBUILD50
-rw-r--r--testing/restinio/lfs64.patch20
-rw-r--r--testing/retroforth/APKBUILD31
-rw-r--r--testing/revprog/APKBUILD24
-rw-r--r--testing/rezolus/APKBUILD26
-rw-r--r--testing/rezolus/openssl.patch60
-rw-r--r--testing/rgxg/APKBUILD2
-rw-r--r--testing/rhasspy-nlu/APKBUILD36
-rw-r--r--testing/ri-li/APKBUILD12
-rw-r--r--testing/ri-li/pointers.patch35
-rw-r--r--testing/riemann-cli/APKBUILD17
-rw-r--r--testing/riemann-cli/no-unstable.patch13
-rw-r--r--testing/rime-plum/APKBUILD54
-rw-r--r--testing/rinetd/APKBUILD55
-rw-r--r--testing/rinetd/rinetd.initd13
-rw-r--r--testing/rio/APKBUILD45
-rw-r--r--testing/ripasso-cursive/APKBUILD46
-rw-r--r--testing/ripdrag/APKBUILD35
-rw-r--r--testing/river/APKBUILD45
-rw-r--r--testing/rizin-cutter/APKBUILD37
-rw-r--r--testing/rizin/APKBUILD54
-rw-r--r--testing/rkdeveloptool/APKBUILD35
-rw-r--r--testing/rkdeveloptool/fix-musl-build.patch22
-rw-r--r--testing/rkdeveloptool/safe-copy.patch25
-rw-r--r--testing/rke/APKBUILD29
-rw-r--r--testing/rlottie/APKBUILD38
-rw-r--r--testing/rmlint/APKBUILD44
-rw-r--r--testing/rmlint/remove-usage-of-lseek64.patch18
-rw-r--r--testing/rnote/APKBUILD57
-rw-r--r--testing/rnp/APKBUILD77
-rw-r--r--testing/rnp/avoid-testing-chunk-sizes-greater-than-16.patch30
-rw-r--r--testing/rnp/cleanup-nopermsdir.patch19
-rw-r--r--testing/rnp/disable-obsolete-ciphers.patch251
-rw-r--r--testing/rnp/fix-test_rnpkeys_lists.patch15
-rw-r--r--testing/rocksdb/10-support-busybox-install.patch43
-rw-r--r--testing/rocksdb/APKBUILD52
-rw-r--r--testing/rocksdb/ppc64le-determine-platform.patch13
-rw-r--r--testing/rofi-blocks/APKBUILD57
-rw-r--r--testing/rofi-blocks/fix-check_page_data.patch31
-rw-r--r--testing/rofi-blocks/fix-format-long-int.patch35
-rw-r--r--testing/rofi-blocks/fix-missing-include.patch28
-rw-r--r--testing/rofi-calc/APKBUILD38
-rw-r--r--testing/rofi-json-menu/APKBUILD37
-rw-r--r--testing/rofi-pass/APKBUILD2
-rw-r--r--testing/rosdep/APKBUILD5
-rw-r--r--testing/rosenpass/APKBUILD34
-rw-r--r--testing/roswell/APKBUILD8
-rw-r--r--testing/rpg-cli/APKBUILD13
-rw-r--r--testing/rss-email/APKBUILD46
-rw-r--r--testing/rsstail/APKBUILD2
-rw-r--r--testing/rtl-power-fftw/APKBUILD14
-rw-r--r--testing/rtl-power-fftw/missing-cstdint.patch12
-rw-r--r--testing/rtl8812au-src/APKBUILD42
-rw-r--r--testing/rtl8821ce-src/APKBUILD6
-rw-r--r--testing/rtl88x2bu-src/APKBUILD8
-rw-r--r--testing/rtl_433/APKBUILD35
-rw-r--r--testing/rtmidi/APKBUILD40
-rw-r--r--testing/rtptools/APKBUILD2
-rw-r--r--testing/rtw89-src/APKBUILD14
-rw-r--r--testing/rubberband/APKBUILD36
-rw-r--r--testing/ruby-build/APKBUILD35
-rwxr-xr-xtesting/ruby-build/ruby-build.post-install11
-rw-r--r--testing/ruby-erubi/APKBUILD43
-rw-r--r--testing/ruby-thor/APKBUILD43
-rw-r--r--testing/ruby-xdg/APKBUILD46
-rw-r--r--testing/ruby-xdg/gemspec-remove-signing.patch14
-rw-r--r--testing/rue/APKBUILD25
-rw-r--r--testing/ruff-lsp/APKBUILD40
-rw-r--r--testing/runst/APKBUILD42
-rw-r--r--testing/rust-script/APKBUILD33
-rw-r--r--testing/rustdesk-server/APKBUILD54
-rw-r--r--testing/rustdesk-server/cargo.lock.patch53
-rw-r--r--testing/rustdesk-server/hbbr.confd11
-rwxr-xr-xtesting/rustdesk-server/hbbr.initd19
-rw-r--r--testing/rustdesk-server/hbbs.confd11
-rwxr-xr-xtesting/rustdesk-server/hbbs.initd18
-rwxr-xr-xtesting/rustdesk-server/rustdesk-server.pre-install6
-rw-r--r--testing/rustic/APKBUILD82
-rw-r--r--testing/rustic/build-with-system-tls.patch225
-rw-r--r--testing/rustic/fix-abscissa_core-features.patch35
-rw-r--r--testing/rustic/make-self-update-optional.patch101
-rw-r--r--testing/rustic/rustic_core-add-tls-native.patch53
-rw-r--r--testing/rustscan/APKBUILD34
-rw-r--r--testing/rustscan/Cargo.lock.patch1159
-rw-r--r--testing/rustypaste-cli/APKBUILD38
-rw-r--r--testing/ruuvi-prometheus/APKBUILD17
-rw-r--r--testing/rvlprog/APKBUILD24
-rw-r--r--testing/ry/APKBUILD2
-rw-r--r--testing/s-postgray/APKBUILD33
-rw-r--r--testing/s3cmd/APKBUILD29
-rw-r--r--testing/s3fs-fuse/APKBUILD40
-rw-r--r--testing/s5cmd/APKBUILD37
-rw-r--r--testing/sacc/APKBUILD6
-rw-r--r--testing/sad/APKBUILD44
-rw-r--r--testing/sakura/APKBUILD26
-rw-r--r--testing/sandbar/APKBUILD24
-rw-r--r--testing/sane-airscan/APKBUILD37
-rw-r--r--testing/satellite/APKBUILD7
-rw-r--r--testing/satty/APKBUILD52
-rw-r--r--testing/sauerbraten/APKBUILD43
-rwxr-xr-xtesting/sauerbraten/sauerbraten-client7
-rwxr-xr-xtesting/sauerbraten/sauerbraten-server7
-rw-r--r--testing/sbase/APKBUILD2
-rw-r--r--testing/sblg/APKBUILD34
-rw-r--r--testing/sblim-sfcc/APKBUILD2
-rw-r--r--testing/sblim-wbemcli/APKBUILD2
-rw-r--r--testing/sbt/APKBUILD35
-rw-r--r--testing/sc-controller/APKBUILD53
-rw-r--r--testing/sc-im/APKBUILD6
-rw-r--r--testing/sc3-plugins/APKBUILD34
-rw-r--r--testing/scaleway-cli/APKBUILD46
-rw-r--r--testing/scalingo/APKBUILD12
-rw-r--r--testing/scap-workbench/APKBUILD51
-rw-r--r--testing/scap-workbench/appdata.patch13
-rw-r--r--testing/sccache/APKBUILD36
-rw-r--r--testing/sccache/test_musl_ldd_parse.patch43
-rw-r--r--testing/schismtracker/APKBUILD27
-rw-r--r--testing/schroot/APKBUILD72
-rw-r--r--testing/schroot/busybox-compat.patch50
-rw-r--r--testing/schroot/getent.patch25
-rw-r--r--testing/schroot/getmntent.patch60
-rw-r--r--testing/schroot/musl.patch51
-rw-r--r--testing/schroot/pam.d.schroot.patch20
-rw-r--r--testing/schroot/remove-networks.patch41
-rw-r--r--testing/schroot/schroot-cppunit.patch11
-rw-r--r--testing/scooper/APKBUILD8
-rw-r--r--testing/scratch/APKBUILD2
-rw-r--r--testing/scrcpy/APKBUILD34
-rw-r--r--testing/screengrab/APKBUILD36
-rw-r--r--testing/screenkey/APKBUILD16
-rw-r--r--testing/scrypt/APKBUILD36
-rw-r--r--testing/scummvm/APKBUILD8
-rw-r--r--testing/sd/APKBUILD49
-rw-r--r--testing/sdcv/APKBUILD39
-rw-r--r--testing/sdl2_gfx/APKBUILD38
-rw-r--r--testing/sdparm/APKBUILD2
-rw-r--r--testing/sdrangel/APKBUILD84
-rw-r--r--testing/sdrangel/no-march-magic.patch14
-rw-r--r--testing/searchmonkey/APKBUILD6
-rw-r--r--testing/seastar/APKBUILD96
-rw-r--r--testing/seaweedfs/APKBUILD32
-rw-r--r--testing/secsipidx/APKBUILD39
-rw-r--r--testing/secsipidx/go.mod5
-rw-r--r--testing/secsipidx/go.sum2
-rw-r--r--testing/sedutil/APKBUILD2
-rw-r--r--testing/seed7/APKBUILD96
-rw-r--r--testing/seed7/makefile.patch10
-rw-r--r--testing/semodule-utils/APKBUILD23
-rw-r--r--testing/sems/APKBUILD80
-rw-r--r--testing/sems/Fix-find-openssl.patch11
-rw-r--r--testing/sems/Fix-openssl-1.1.patch25
-rw-r--r--testing/sems/remove-dsm.patch23
-rw-r--r--testing/sems/sems-0001-Force-to-use-system-wide-GSM-includes.patch26
-rw-r--r--testing/sems/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch37
-rw-r--r--testing/sems/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch26
-rw-r--r--testing/sems/sems-0004-musl-fixes.patch1
-rw-r--r--testing/sems/sems-0011-Add-SBC-dependencies.patch22
-rw-r--r--testing/sems/sems-0013-Fix-for-C-11.patch45
-rw-r--r--testing/sems/sems-0014-further-musl-fixes.patch12
-rw-r--r--testing/sems/std-types.patch281
-rw-r--r--testing/senpai/APKBUILD36
-rw-r--r--testing/sentinel-minipot/APKBUILD77
-rw-r--r--testing/sentinel-minipot/fix-configure-msgpack-c.patch7
-rw-r--r--testing/sentinel-minipot/no-valgrind.patch26
-rw-r--r--testing/sentinel-minipot/sentinel-minipot.confd38
-rw-r--r--testing/sentinel-minipot/sentinel-minipot.initd37
-rw-r--r--testing/sentinel-minipot/sentinel-minipot.pre-install5
-rw-r--r--testing/sentinel-proxy/APKBUILD78
-rw-r--r--testing/sentinel-proxy/example.cfg.patch34
-rw-r--r--testing/sentinel-proxy/fix-configure-msgpack-c.patch7
-rw-r--r--testing/sentinel-proxy/sentinel-proxy.confd17
-rw-r--r--testing/sentinel-proxy/sentinel-proxy.initd33
-rw-r--r--testing/sentinel-proxy/sentinel-proxy.pre-install6
-rw-r--r--testing/sentrypeer/APKBUILD54
-rw-r--r--testing/sequoia-chameleon-gnupg/APKBUILD45
-rw-r--r--testing/sequoia-sqv/APKBUILD62
-rw-r--r--testing/sequoia-sqv/cargo-update-sha1collisiondetection.patch23
-rw-r--r--testing/serd/APKBUILD24
-rw-r--r--testing/serialdv/APKBUILD36
-rw-r--r--testing/setroot/APKBUILD11
-rw-r--r--testing/setroot/imlib2.patch13
-rw-r--r--testing/sfeed_curses/APKBUILD25
-rw-r--r--testing/sflowtool/APKBUILD30
-rw-r--r--testing/sfwbar/APKBUILD32
-rw-r--r--testing/sgt-puzzles/APKBUILD38
-rw-r--r--testing/shadowsocks-libev/APKBUILD12
-rw-r--r--testing/shairport-sync/APKBUILD46
-rw-r--r--testing/shairport-sync/shairport-sync.initd14
-rw-r--r--testing/shc/APKBUILD2
-rw-r--r--testing/shellinabox/APKBUILD4
-rw-r--r--testing/shfm/APKBUILD3
-rw-r--r--testing/shine/APKBUILD2
-rw-r--r--testing/shipments/APKBUILD25
-rw-r--r--testing/shntool/24bit.patch46
-rw-r--r--testing/shntool/APKBUILD11
-rw-r--r--testing/shutdown-clear-machine-id/APKBUILD20
-rw-r--r--testing/shutdown-clear-machine-id/clear-machine-id.shutdown.initd8
-rw-r--r--testing/shutdown-clear-machine-id/shutdown-clear-machine-id.post-install13
-rw-r--r--testing/sieve-connect/APKBUILD29
-rw-r--r--testing/sigil/APKBUILD67
-rw-r--r--testing/sigma/APKBUILD32
-rw-r--r--testing/sigma/remove_data_file_installation.patch26
-rw-r--r--testing/signal-cli/APKBUILD36
-rw-r--r--testing/signal-desktop/APKBUILD489
-rw-r--r--testing/signal-desktop/bettersqlite-use-system-sqlcipher.patch56
-rw-r--r--testing/signal-desktop/libsignal-auditable.patch11
-rw-r--r--testing/signal-desktop/ringrtc-webrtc-renamed.patch21
-rwxr-xr-xtesting/signal-desktop/signal-desktop6
-rw-r--r--testing/signal-desktop/signal-disable-updates.patch9
-rw-r--r--testing/signal-desktop/signal-show-window-please.patch11
-rw-r--r--testing/signal-desktop/signal-update-links.patch25
-rw-r--r--testing/signal-desktop/webrtc-compiler.patch40
-rw-r--r--testing/signal-desktop/webrtc-gcc13.patch20
-rw-r--r--testing/signal-desktop/webrtc-shared-like-my-wife.patch28
-rw-r--r--testing/sigrok-cli/APKBUILD6
-rw-r--r--testing/siji-ng/APKBUILD24
-rw-r--r--testing/silc-client/APKBUILD23
-rw-r--r--testing/silc-client/format-security.patch22
-rw-r--r--testing/simavr/APKBUILD4
-rw-r--r--testing/simgear/APKBUILD28
-rw-r--r--testing/simgear/gcc12.patch12
-rw-r--r--testing/simh/APKBUILD2
-rw-r--r--testing/simp1e-cursors/APKBUILD61
-rw-r--r--testing/simp1e-cursors/py3.patch11
-rw-r--r--testing/simpleble/APKBUILD66
-rw-r--r--testing/simpleble/bluez.patch14
-rw-r--r--testing/simpleble/fmt.patch24
-rw-r--r--testing/simpleiot/APKBUILD35
-rw-r--r--testing/simpleiot/dont-run-golangci.patch10
-rw-r--r--testing/simplescreenrecorder/APKBUILD31
-rw-r--r--testing/simplesnap/0001-fix-simplesnap-line-2-dotlockfile-command-not-found.patch66
-rw-r--r--testing/simplesnap/0002-trap-do-not-define-ECODE-at-setup.patch41
-rw-r--r--testing/simplesnap/0003-use-CHECKHOST-in-checkbackups-function.patch32
-rw-r--r--testing/simplesnap/APKBUILD39
-rw-r--r--testing/sing-box/APKBUILD50
-rw-r--r--testing/sing-box/sing-box.initd17
-rw-r--r--testing/sing-geoip/APKBUILD27
-rw-r--r--testing/sing-geosite/APKBUILD24
-rw-r--r--testing/singular/APKBUILD73
-rw-r--r--testing/singularity/APKBUILD86
-rw-r--r--testing/sipexer/APKBUILD36
-rw-r--r--testing/sipgrep/APKBUILD2
-rw-r--r--testing/siril/APKBUILD49
-rw-r--r--testing/siril/lfs64.patch41
-rw-r--r--testing/sish/APKBUILD35
-rw-r--r--testing/sish/sish.confd4
-rw-r--r--testing/sish/sish.initd19
-rw-r--r--testing/sish/sish.pre-install6
-rw-r--r--testing/skia-sharp/APKBUILD185
-rw-r--r--testing/skim/APKBUILD97
-rw-r--r--testing/skribilo/0001-tests-Determine-current-test-runner-before-test-end-.patch114
-rw-r--r--testing/skribilo/APKBUILD40
-rw-r--r--testing/slick-greeter/APKBUILD16
-rw-r--r--testing/slick-greeter/get-rid-of-gnome-common.patch84
-rw-r--r--testing/slidge-matridge/APKBUILD67
-rw-r--r--testing/slidge-matridge/matridge.conf8
-rw-r--r--testing/slidge/APKBUILD79
-rw-r--r--testing/slidge/common.conf.example7
-rw-r--r--testing/slidge/slidge.confd17
-rw-r--r--testing/slidge/slidge.initd37
-rw-r--r--testing/slidge/slidge.pre-install11
-rw-r--r--testing/sloccount/APKBUILD9
-rw-r--r--testing/slop/APKBUILD36
-rw-r--r--testing/slrn/APKBUILD39
-rw-r--r--testing/slrn/terminfo.patch12
-rw-r--r--testing/slurm/APKBUILD30
-rw-r--r--testing/slurm/fix-bufsize.patch17
-rw-r--r--testing/slurm/fix-includes.patch22
-rw-r--r--testing/smlsharp/APKBUILD43
-rw-r--r--testing/smlsharp/llvm14.patch18
-rw-r--r--testing/smplxmpp/APKBUILD44
-rw-r--r--testing/smplxmpp/argp.patch24
-rw-r--r--testing/smplxmpp/fmt10.patch43
-rw-r--r--testing/snac/APKBUILD40
-rw-r--r--testing/snac/snac.initd83
-rw-r--r--testing/snac/snac.pre-install11
-rw-r--r--testing/snapper/APKBUILD65
-rw-r--r--testing/snapper/musl-_nl_msg_cat_cntr.patch41
-rw-r--r--testing/snapper/musl-stdout_stderr.patch15
-rw-r--r--testing/snapper/skip-locale-tests.patch13
-rw-r--r--testing/snapper/statvfs64.patch15
-rw-r--r--testing/snapraid/APKBUILD4
-rw-r--r--testing/sndfile-tools/APKBUILD38
-rw-r--r--testing/snes9x/APKBUILD44
-rw-r--r--testing/snore/APKBUILD25
-rw-r--r--testing/snowflake/APKBUILD36
-rw-r--r--testing/so/APKBUILD32
-rw-r--r--testing/soapy-bladerf/APKBUILD30
-rw-r--r--testing/soapy-hackrf/APKBUILD32
-rw-r--r--testing/soapy-sdr-remote/APKBUILD41
-rw-r--r--testing/soapy-sdr-remote/soapy-sdr-remote.initd15
-rw-r--r--testing/soapy-sdr/APKBUILD40
-rw-r--r--testing/sof-bin/APKBUILD41
-rw-r--r--testing/soju/APKBUILD45
-rw-r--r--testing/soju/config.patch8
-rw-r--r--testing/soju/makefile.patch14
-rw-r--r--testing/soju/soju.confd7
-rw-r--r--testing/soju/soju.initd13
-rw-r--r--testing/soju/soju.pre-install3
-rw-r--r--testing/solaar/APKBUILD51
-rw-r--r--testing/solaar/solaar.pre-install7
-rw-r--r--testing/solaar/solaar.rules32
-rw-r--r--testing/solanum/10-gio-types.patch11
-rw-r--r--testing/solanum/APKBUILD51
-rw-r--r--testing/solanum/appdata.patch14
-rw-r--r--testing/solarus-engine/APKBUILD64
-rw-r--r--testing/solarus-quest-editor/APKBUILD55
-rw-r--r--testing/solidity/APKBUILD41
-rw-r--r--testing/somebar/APKBUILD37
-rw-r--r--testing/sonar-scanner/APKBUILD43
-rw-r--r--testing/sonar-scanner/fix-reflection.patch22
-rw-r--r--testing/sonarr/0001-disable-restart.patch20
-rw-r--r--testing/sonarr/APKBUILD104
-rw-r--r--testing/sonarr/package_info4
-rw-r--r--testing/sonarr/sonarr.confd10
-rw-r--r--testing/sonarr/sonarr.initd34
-rw-r--r--testing/sonarr/sonarr.pre-install6
-rw-r--r--testing/songrec/APKBUILD43
-rw-r--r--testing/sops/APKBUILD39
-rw-r--r--testing/sops/skip-hcvault-tests.patch12
-rw-r--r--testing/sops/skip-pgp-tests.patch22
-rw-r--r--testing/sopwith/APKBUILD36
-rw-r--r--testing/sopwith/select.patch12
-rw-r--r--testing/sord/APKBUILD27
-rw-r--r--testing/sos/APKBUILD8
-rw-r--r--testing/soundfont-vintage-dreams-waves/APKBUILD26
-rw-r--r--testing/soundfont-vintage-dreams-waves/LICENSE21
-rw-r--r--testing/spacectl/APKBUILD54
-rw-r--r--testing/spacenavd/APKBUILD31
-rw-r--r--testing/spampd/APKBUILD23
-rw-r--r--testing/spark/APKBUILD4
-rw-r--r--testing/speakersafetyd/APKBUILD35
-rw-r--r--testing/speakersafetyd/speakersafetyd.initd7
-rw-r--r--testing/spectrwm/APKBUILD43
-rw-r--r--testing/speedcrunch/APKBUILD35
-rw-r--r--testing/speedtest-go/APKBUILD18
-rw-r--r--testing/speedtest-go/settings-change.patch10
-rw-r--r--testing/speedtest/APKBUILD8
-rw-r--r--testing/speedtest_exporter/APKBUILD22
-rw-r--r--testing/spice-vdagent/APKBUILD49
-rw-r--r--testing/spice-vdagent/spice-vdagentd.initd13
-rw-r--r--testing/spike/APKBUILD34
-rw-r--r--testing/spin/APKBUILD2
-rw-r--r--testing/spiritvnc/APKBUILD26
-rw-r--r--testing/spirv-llvm-translator/APKBUILD38
-rw-r--r--testing/splitter/APKBUILD48
-rw-r--r--testing/spnavcfg/APKBUILD29
-rw-r--r--testing/spnavcfg/makefile.patch14
-rw-r--r--testing/sponskrub/APKBUILD6
-rw-r--r--testing/spotify-player/APKBUILD42
-rw-r--r--testing/spotify-qt/APKBUILD36
-rw-r--r--testing/spotify-qt/disable-crash-handler.patch18
-rw-r--r--testing/spotify-tui/APKBUILD23
-rw-r--r--testing/spotify-tui/deps.patch2603
-rw-r--r--testing/spotifyd/APKBUILD60
-rw-r--r--testing/spotifyd/spotifyd.conf23
-rw-r--r--testing/spotifyd/spotifyd.initd18
-rw-r--r--testing/spotifyd/spotifyd.pre-install5
-rw-r--r--testing/spreed-webrtc/APKBUILD71
-rw-r--r--testing/spreed-webrtc/fix-build-with-gomodules.patch222
-rw-r--r--testing/spreed-webrtc/go.mod23
-rw-r--r--testing/spreed-webrtc/go.sum39
-rw-r--r--testing/spreed-webrtc/spreed-webrtc.initd22
-rw-r--r--testing/spreed-webrtc/spreed-webrtc.pre-install4
-rw-r--r--testing/spvm-errno/APKBUILD38
-rw-r--r--testing/spvm-math/APKBUILD38
-rw-r--r--testing/spvm-mime-base64/APKBUILD38
-rw-r--r--testing/spvm-thread/APKBUILD38
-rw-r--r--testing/sqlar/APKBUILD2
-rw-r--r--testing/sqlcipher/APKBUILD51
-rw-r--r--testing/sqlite-replication/APKBUILD44
-rw-r--r--testing/sqlite-replication/remove-failing-test.patch13
-rw-r--r--testing/sqliteodbc/APKBUILD6
-rw-r--r--testing/sqlmap/APKBUILD58
-rw-r--r--testing/sqlmap/reduce-amount-of-third-party-dependencies.patch897
-rw-r--r--testing/sqm-scripts/10-defaults.sh.patch11
-rw-r--r--testing/sqm-scripts/APKBUILD17
-rw-r--r--testing/squashfs-tools-ng/0001-Fix-struct-offset-testing-in-ABI-test-case.patch127
-rw-r--r--testing/squashfs-tools-ng/APKBUILD13
-rw-r--r--testing/squeak-vm/APKBUILD2
-rw-r--r--testing/srain/APKBUILD37
-rw-r--r--testing/sratom/APKBUILD24
-rw-r--r--testing/srb2/APKBUILD45
-rw-r--r--testing/srb2/fix-backtrace.patch14
-rw-r--r--testing/sregex/APKBUILD2
-rw-r--r--testing/ssdfs-tools/APKBUILD41
-rw-r--r--testing/ssh-cert-authority/APKBUILD25
-rw-r--r--testing/ssh-honeypot/APKBUILD21
-rw-r--r--testing/ssh-tools/APKBUILD16
-rw-r--r--testing/sshsrv/APKBUILD34
-rw-r--r--testing/sshuttle/APKBUILD16
-rw-r--r--testing/sshuttle/no-scm.patch18
-rw-r--r--testing/ssldump/APKBUILD37
-rw-r--r--testing/sslh/APKBUILD72
-rw-r--r--testing/sslh/config.patch26
-rw-r--r--testing/sslh/fail2ban.patch22
-rw-r--r--testing/sslh/fix-make-install.patch13
-rw-r--r--testing/sslh/sslh.confd18
-rw-r--r--testing/sslh/sslh.initd15
-rw-r--r--testing/sslscan/APKBUILD26
-rw-r--r--testing/sssd/0001-makefile.patch7
-rw-r--r--testing/sssd/0002-src.patch35
-rw-r--r--testing/sssd/0003-alpine.patch94
-rw-r--r--testing/sssd/APKBUILD48
-rw-r--r--testing/sssd/cifsidmap.h160
-rw-r--r--testing/sssd/musl_fixup.patch27
-rw-r--r--testing/sssd/nss.h15
-rw-r--r--testing/sssd/sssd.initd10
-rw-r--r--testing/st-xrdb/APKBUILD37
-rw-r--r--testing/st-xrdb/st-xresources-20200604-9ba7ecf.patch184
-rw-r--r--testing/stack/APKBUILD53
-rw-r--r--testing/stack/aeson.patch46
-rw-r--r--testing/stack/cabal.config2912
-rw-r--r--testing/stack/ghc9.0.x.patch212
-rw-r--r--testing/stack/persistent.patch46
-rw-r--r--testing/stardict/APKBUILD18
-rw-r--r--testing/stardict/gnome-doc-utils.patch21
-rw-r--r--testing/starfighter/APKBUILD30
-rw-r--r--testing/stargazer/APKBUILD39
-rw-r--r--testing/stargazer/fix-name-max.patch10
-rw-r--r--testing/startup/APKBUILD10
-rw-r--r--testing/stayrtr/APKBUILD54
-rw-r--r--testing/stayrtr/stayrtr.confd2
-rw-r--r--testing/stayrtr/stayrtr.initd26
-rw-r--r--testing/stayrtr/stayrtr.pre-install6
-rw-r--r--testing/steamguard-cli/APKBUILD48
-rw-r--r--testing/steamguard-cli/openssl.patch393
-rw-r--r--testing/steghide/APKBUILD34
-rw-r--r--testing/steghide/build-fixes-new-gcc.patch164
-rw-r--r--testing/steghide/missing-files-configure-in.patch18
-rw-r--r--testing/steghide/steghide-0.5.1-am.patch19
-rw-r--r--testing/stellarsolver/0001-don-t-mess-with-qsort_r.patch53
-rw-r--r--testing/stellarsolver/APKBUILD49
-rw-r--r--testing/step-certificates/01-Makefile-GOFLAGS.patch74
-rw-r--r--testing/step-certificates/02-Makefile-yubikey-and-pkcs11-binary.patch41
-rw-r--r--testing/step-certificates/APKBUILD57
-rw-r--r--testing/step-certificates/step-ca.confd16
-rw-r--r--testing/step-certificates/step-ca.initd45
-rw-r--r--testing/step-certificates/step-ca.logrotate6
-rw-r--r--testing/step-certificates/step-certificates.pre-install25
-rw-r--r--testing/stern/APKBUILD53
-rw-r--r--testing/stgit/APKBUILD5
-rw-r--r--testing/sthttpd/APKBUILD2
-rw-r--r--testing/stockfish/APKBUILD65
-rw-r--r--testing/stockfish/no-lto.patch47
-rw-r--r--testing/stone-soup/APKBUILD61
-rw-r--r--testing/stone-soup/no-execinfo.patch13
-rw-r--r--testing/stone-soup/root-owner.patch13
-rw-r--r--testing/straw-viewer/APKBUILD5
-rw-r--r--testing/streamlink/APKBUILD35
-rw-r--r--testing/strfry/APKBUILD132
-rw-r--r--testing/strfry/pre-build-pkgver_patch11
-rw-r--r--testing/strfry/strfry-conf.patch20
-rw-r--r--testing/strfry/strfry.confd7
-rw-r--r--testing/strfry/strfry.initd30
-rw-r--r--testing/strfry/strfry.pre-install11
-rw-r--r--testing/stubby/APKBUILD50
-rw-r--r--testing/stubby/stubby.confd2
-rw-r--r--testing/stubby/stubby.initd15
-rw-r--r--testing/stubbyboot/APKBUILD58
-rw-r--r--testing/stubbyboot/no-werror.patch13
-rw-r--r--testing/sturmreader/APKBUILD37
-rw-r--r--testing/sturmreader/intl.patch13
-rw-r--r--testing/stw/APKBUILD30
-rw-r--r--testing/stylua/APKBUILD40
-rw-r--r--testing/subdl/0001-Remove-bogus-empty-package.patch31
-rw-r--r--testing/subdl/APKBUILD32
-rw-r--r--testing/sublime-music/APKBUILD54
-rw-r--r--testing/sublime-music/fix-python3.11.patch35
-rw-r--r--testing/subliminal/APKBUILD31
-rw-r--r--testing/subtitleeditor/APKBUILD2
-rw-r--r--testing/sudo-ldap/APKBUILD79
-rw-r--r--testing/suil/APKBUILD24
-rw-r--r--testing/sunwait/APKBUILD25
-rw-r--r--testing/supercollider/00-fortified-headers.patch11
-rw-r--r--testing/supercollider/APKBUILD69
-rw-r--r--testing/supermin/APKBUILD21
-rw-r--r--testing/surf/APKBUILD12
-rw-r--r--testing/surf/webkit2gtk-4.1.patch19
-rw-r--r--testing/surfraw/APKBUILD38
-rw-r--r--testing/surgescript/APKBUILD33
-rw-r--r--testing/suru-icon-theme/APKBUILD21
-rw-r--r--testing/svgbob/APKBUILD36
-rw-r--r--testing/svgbob/update-cargo-lock.patch22
-rw-r--r--testing/svls/APKBUILD35
-rw-r--r--testing/svt-av1/APKBUILD35
-rw-r--r--testing/svt-hevc/APKBUILD27
-rw-r--r--testing/svt-vp9/APKBUILD29
-rw-r--r--testing/svxlink-sounds-en_us-heather-16k/APKBUILD22
-rw-r--r--testing/swaks/APKBUILD8
-rw-r--r--testing/swappy/APKBUILD8
-rw-r--r--testing/sway-audio-idle-inhibit/APKBUILD33
-rw-r--r--testing/sway-launcher-desktop/APKBUILD28
-rw-r--r--testing/sway-launcher-desktop/remove-ls-test.patch10
-rw-r--r--testing/swayhide/APKBUILD34
-rw-r--r--testing/swaync/APKBUILD44
-rw-r--r--testing/swaync/fix-fish-completions-dir.patch11
-rw-r--r--testing/swi-prolog/APKBUILD38
-rw-r--r--testing/swig3/APKBUILD4
-rw-r--r--testing/swtpm/APKBUILD45
-rw-r--r--testing/sxcs/APKBUILD27
-rw-r--r--testing/sylpheed-imap-notify/APKBUILD2
-rw-r--r--testing/symbiyosys/APKBUILD25
-rw-r--r--testing/sympow/APKBUILD39
-rw-r--r--testing/synadm/APKBUILD29
-rw-r--r--testing/synapse-bt/APKBUILD17
-rw-r--r--testing/synapse-bt/openssl3.patch2608
-rw-r--r--testing/syncthing-gtk/APKBUILD34
-rw-r--r--testing/sysls/APKBUILD24
-rw-r--r--testing/t2sz/APKBUILD33
-rw-r--r--testing/tabby/APKBUILD23
-rw-r--r--testing/tabby/usr-bin.patch10
-rw-r--r--testing/tachyon/APKBUILD49
-rw-r--r--testing/tagutil/APKBUILD33
-rw-r--r--testing/tagutil/patch-musl.patch32
-rw-r--r--testing/tailspin/APKBUILD47
-rw-r--r--testing/tang/APKBUILD57
-rw-r--r--testing/tang/man-pages.patch20
-rw-r--r--testing/tang/tang.initd27
-rw-r--r--testing/tang/tang.pre-install10
-rw-r--r--testing/tang/tangd-wrapper4
-rw-r--r--testing/tangctl/APKBUILD47
-rw-r--r--testing/tangctl/tang-location.patch12
-rw-r--r--testing/tangram/APKBUILD63
-rw-r--r--testing/tangram/busybox.patch20
-rw-r--r--testing/tanidvr/APKBUILD4
-rw-r--r--testing/tanka/APKBUILD37
-rw-r--r--testing/tartube/APKBUILD45
-rw-r--r--testing/taskcafe/APKBUILD18
-rw-r--r--testing/tauri-cli/APKBUILD35
-rw-r--r--testing/tayga/APKBUILD35
-rw-r--r--testing/tayga/implicit-function-decl.patch12
-rw-r--r--testing/tbftss/0001-remove-debug-flags.patch10
-rw-r--r--testing/tbftss/APKBUILD39
-rw-r--r--testing/tcc/APKBUILD47
-rw-r--r--testing/tcc/libtcc.pc.in12
-rw-r--r--testing/tcl-curl/APKBUILD63
-rw-r--r--testing/tcl-lib/APKBUILD32
-rw-r--r--testing/tcmu-runner/APKBUILD19
-rw-r--r--testing/tcmu-runner/fix-musl-compilation.patch143
-rw-r--r--testing/tcmu-runner/time_t-size-fix.patch29
-rw-r--r--testing/tcpreplay/APKBUILD51
-rw-r--r--testing/tcpreplay/skip-tests-require-root.patch109
-rw-r--r--testing/td-agent-bit/APKBUILD6
-rw-r--r--testing/tdrop/APKBUILD6
-rw-r--r--testing/tealdeer/APKBUILD48
-rw-r--r--testing/tealdeer/use-system-tls.patch219
-rw-r--r--testing/teapot-tools/APKBUILD48
-rw-r--r--testing/telegram-tdlib/APKBUILD35
-rw-r--r--testing/templ/APKBUILD40
-rw-r--r--testing/tengine/APKBUILD84
-rw-r--r--testing/tengine/tengine.initd70
-rw-r--r--testing/tengine/tengine.logrotate12
-rw-r--r--testing/tengine/tengine.pre-install9
l---------testing/tengine/tengine.pre-upgrade1
-rw-r--r--testing/tere/APKBUILD54
-rw-r--r--testing/tere/deps.patch415
-rw-r--r--testing/termbox/APKBUILD4
-rw-r--r--testing/termcolor/APKBUILD4
-rw-r--r--testing/terminalpp/APKBUILD84
-rw-r--r--testing/termshark/APKBUILD37
-rw-r--r--testing/termusic-mpv/APKBUILD37
-rw-r--r--testing/terra/APKBUILD80
-rw-r--r--testing/terra/no-execinfo.patch36
-rw-r--r--testing/terra/system-lua.patch35
-rw-r--r--testing/terra/version.patch18
-rw-r--r--testing/terraform-provider-libvirt/0001-Set-firmware-attribute-to-efi-for-aarch64.patch71
-rw-r--r--testing/terraform-provider-libvirt/0002-Update-libvirt-go-to-7.0.0.patch96
-rw-r--r--testing/terraform-provider-libvirt/APKBUILD35
-rw-r--r--testing/terraform-provider-libvirt/version.patch14
-rw-r--r--testing/tesseract-git/APKBUILD49
-rw-r--r--testing/tesseract-git/include-time-h.patch10
-rw-r--r--testing/tetragon-client/APKBUILD72
-rw-r--r--testing/texlab/APKBUILD42
-rw-r--r--testing/texmaker/APKBUILD28
-rw-r--r--testing/texmaker/musl-1.2.3.patch13
-rw-r--r--testing/texstudio/APKBUILD54
-rw-r--r--testing/texstudio/qt6.patch13
-rw-r--r--testing/textadept/APKBUILD75
-rw-r--r--testing/thanos/APKBUILD22
-rw-r--r--testing/thanos/assume-no-moving-gc.patch28
-rw-r--r--testing/theforceengine/APKBUILD54
-rw-r--r--testing/theforceengine/backtrace.patch32
-rw-r--r--testing/theforceengine/compilation_32bit_systems.patch29
-rw-r--r--testing/theforceengine/path_max.patch13
-rw-r--r--testing/thefuck/APKBUILD6
-rw-r--r--testing/thelounge/APKBUILD81
-rw-r--r--testing/thelounge/no-version-test.patch19
-rw-r--r--testing/thelounge/thelounge.initd14
-rw-r--r--testing/thelounge/thelounge.post-install13
-rw-r--r--testing/thelounge/thelounge.pre-install6
-rw-r--r--testing/theme.sh/APKBUILD29
-rw-r--r--testing/thermald/APKBUILD6
-rw-r--r--testing/thumbdrives/APKBUILD12
-rw-r--r--testing/thunarx-python/APKBUILD33
-rw-r--r--testing/thunderbird/APKBUILD442
-rw-r--r--testing/thunderbird/allow-custom-rust-vendor.patch564
-rw-r--r--testing/thunderbird/avoid-redefinition.patch15
-rw-r--r--testing/thunderbird/disable-neon-in-aom.patch39
-rw-r--r--testing/thunderbird/fix-fortify-system-wrappers.patch13
-rw-r--r--testing/thunderbird/fix-tools.patch18
-rw-r--r--testing/thunderbird/fix-webrtc-glibcisms.patch20
-rw-r--r--testing/thunderbird/mallinfo.patch20
-rw-r--r--testing/thunderbird/mozwayland-add-missing-stub.patch17
-rw-r--r--testing/thunderbird/sandbox-sched_setscheduler.patch23
-rw-r--r--testing/thunderbird/thunderbird.desktop64
-rw-r--r--testing/tic-80/APKBUILD151
-rw-r--r--testing/tic-80/use-repo-deps.patch315
-rw-r--r--testing/ticker/APKBUILD49
-rw-r--r--testing/tigervnc/0001-fix-gettext-intl.patch16
-rw-r--r--testing/tigervnc/APKBUILD42
-rw-r--r--testing/tiled/APKBUILD29
-rw-r--r--testing/tiled/patch-main.cpp.patch47
-rw-r--r--testing/tillitis-key1-apps/APKBUILD42
-rw-r--r--testing/tillitis-key1-apps/fix-cgo.patch11
-rw-r--r--testing/tillitis-key1-apps/runsign.sh.patch11
-rw-r--r--testing/time/APKBUILD2
-rw-r--r--testing/timeshift/APKBUILD30
-rw-r--r--testing/timew/APKBUILD2
-rw-r--r--testing/timewarrior/APKBUILD41
-rw-r--r--testing/timg/APKBUILD23
-rw-r--r--testing/tintin/APKBUILD26
-rw-r--r--testing/tinycbor/0001-disable-failing-tests.patch54
-rw-r--r--testing/tinycbor/APKBUILD15
-rw-r--r--testing/tinyscheme/APKBUILD4
-rw-r--r--testing/tiptop/APKBUILD14
-rw-r--r--testing/tiptop/format-security.patch13
-rw-r--r--[-rwxr-xr-x]testing/tkts/APKBUILD19
-rw-r--r--testing/tkts/correct_paths.patch11
-rw-r--r--testing/tldr-python-client/APKBUILD11
-rw-r--r--testing/tlsrouter/APKBUILD56
-rw-r--r--testing/tlsrouter/go.mod5
-rw-r--r--testing/tlsrouter/go.sum2
-rw-r--r--testing/tlsrouter/tlsrouter.confd3
-rw-r--r--testing/tlsrouter/tlsrouter.initd14
-rw-r--r--testing/tlsrouter/tlsrouter.pre-install6
-rw-r--r--testing/tlstunnel/APKBUILD46
-rw-r--r--testing/tlstunnel/config1
-rw-r--r--testing/tlstunnel/tlstunnel.initd28
-rw-r--r--testing/tlstunnel/tlstunnel.pre-install9
-rw-r--r--testing/tmate/APKBUILD27
-rw-r--r--testing/tmate/implicit-decl.patch12
-rw-r--r--testing/tmate/msgpack-c.patch13
-rw-r--r--testing/tmpl/APKBUILD32
-rw-r--r--testing/tmpmail/APKBUILD29
-rw-r--r--testing/tmux-resurrect/APKBUILD27
-rw-r--r--testing/tmux-resurrect/ps.patch16
-rw-r--r--testing/tmuxinator/APKBUILD48
-rw-r--r--testing/tmuxinator/replace-erubis-with-erubi.patch61
-rw-r--r--testing/tmuxinator/tmuxinator-use-new-xdg-version.patch27
-rw-r--r--testing/tncattach/APKBUILD2
-rw-r--r--testing/tnef/APKBUILD32
-rw-r--r--[-rwxr-xr-x]testing/toapk/APKBUILD25
-rw-r--r--testing/toapk/fennel5.3.patch22
-rw-r--r--testing/today/APKBUILD22
-rw-r--r--testing/todoman/APKBUILD67
-rw-r--r--testing/todoman/remove-rtd-theme.patch26
-rw-r--r--testing/tomcat9/APKBUILD28
-rw-r--r--testing/toml2json/APKBUILD40
-rw-r--r--testing/toot/01-skip-version-test.patch15
-rw-r--r--testing/toot/APKBUILD34
-rw-r--r--testing/tootik/APKBUILD68
-rw-r--r--testing/tootik/fix-32bit-maxint.patch24
-rw-r--r--testing/tootik/tootik.cfg63
-rw-r--r--testing/tootik/tootik.confd56
-rw-r--r--testing/tootik/tootik.initd73
-rw-r--r--testing/tootik/tootik.pre-install11
-rw-r--r--testing/topgit/APKBUILD4
-rw-r--r--testing/topgrade/APKBUILD31
-rw-r--r--testing/toppler/APKBUILD48
-rw-r--r--testing/toppler/toppler.desktop12
-rw-r--r--testing/torrent-file-editor/APKBUILD35
-rw-r--r--testing/toss/APKBUILD23
-rw-r--r--testing/touchegg/APKBUILD34
-rw-r--r--testing/touchegg/touchegg.initd25
-rw-r--r--testing/toxcore/APKBUILD36
-rw-r--r--testing/toxic/APKBUILD25
-rw-r--r--testing/toybox/APKBUILD7
-rw-r--r--testing/tpm2-pkcs11/APKBUILD20
-rw-r--r--testing/tpm2-tools/APKBUILD28
-rw-r--r--testing/tpm2-tools/char16_t.patch13
-rw-r--r--testing/tpm2-tools/dont-generate-manpages-without-pandoc.patch18
-rw-r--r--testing/traceroute/APKBUILD29
-rw-r--r--testing/traceroute/reproducible-build.patch39
-rw-r--r--testing/trafficserver9/10-fix-PATH_MAX-on-ppc64le.patch10
-rw-r--r--testing/trafficserver9/20-adapt-trafficserver.patch56
-rw-r--r--testing/trafficserver9/30-fix-perl-installation.patch11
-rw-r--r--testing/trafficserver9/40-alpine-dir-layout.patch28
-rw-r--r--testing/trafficserver9/APKBUILD286
-rw-r--r--testing/trafficserver9/fix-pthread.patch22
-rw-r--r--testing/trafficserver9/no-execinfo.patch49
-rw-r--r--testing/trafficserver9/trafficserver.initd43
-rw-r--r--testing/trafficserver9/trafficserver9.post-install3
-rw-r--r--testing/trafficserver9/trafficserver9.pre-install6
-rw-r--r--testing/transmission-remote-gtk/APKBUILD36
-rw-r--r--testing/tre/APKBUILD2
-rw-r--r--testing/tree-sitter-c-sharp/APKBUILD25
-rw-r--r--testing/tree-sitter-caddy/APKBUILD34
-rw-r--r--testing/tree-sitter-clojure/APKBUILD29
-rw-r--r--testing/tree-sitter-dart/APKBUILD27
-rw-r--r--testing/tree-sitter-elixir/APKBUILD25
-rw-r--r--testing/tree-sitter-git-commit/APKBUILD27
-rw-r--r--testing/tree-sitter-git-diff/APKBUILD27
-rw-r--r--testing/tree-sitter-git-rebase/APKBUILD27
-rw-r--r--testing/tree-sitter-hare/APKBUILD28
-rw-r--r--testing/tree-sitter-hcl/APKBUILD29
-rw-r--r--testing/tree-sitter-just/APKBUILD37
-rw-r--r--testing/tree-sitter-kotlin/APKBUILD25
-rw-r--r--testing/tree-sitter-make/APKBUILD27
-rw-r--r--testing/tree-sitter-markdown/APKBUILD34
-rw-r--r--testing/tree-sitter-nix/APKBUILD29
-rw-r--r--testing/tree-sitter-ron/APKBUILD27
-rw-r--r--testing/tree-sitter-scheme/APKBUILD27
-rw-r--r--testing/tree-sitter-ssh-client-config/APKBUILD25
-rw-r--r--testing/tree-sitter-xml/APKBUILD34
-rw-r--r--testing/treecat/APKBUILD29
-rw-r--r--testing/tremc/APKBUILD6
-rw-r--r--testing/trigger-rally/APKBUILD2
-rw-r--r--testing/trippy/APKBUILD43
-rw-r--r--testing/trivy/APKBUILD21
-rw-r--r--testing/trunk/APKBUILD49
-rw-r--r--testing/tsung/0005-Do-not-install-manpages-in-main-install.patch18
-rw-r--r--testing/tsung/APKBUILD16
-rw-r--r--testing/tsung/support-python3.patch120
-rw-r--r--testing/ttdl/APKBUILD39
-rw-r--r--testing/ttf-anonymous-pro/APKBUILD24
-rw-r--r--testing/ttf-font-awesome-4/APKBUILD24
-rw-r--r--testing/ttf-font-awesome-4/ttf-font-awesome-4.post-install4
-rw-r--r--testing/ttf-google-opensans/APKBUILD27
-rwxr-xr-xtesting/ttf-google-opensans/ttf-google-opensans.post-install4
-rw-r--r--testing/ttf-mononoki/APKBUILD19
-rw-r--r--testing/tty-clock/APKBUILD30
-rw-r--r--testing/tty-proxy/APKBUILD9
-rw-r--r--testing/tty-share/APKBUILD17
-rw-r--r--testing/ttyper/APKBUILD32
-rw-r--r--testing/tui-journal/APKBUILD42
-rw-r--r--testing/tuigreet/APKBUILD38
-rw-r--r--testing/tuigreet/minimize-size.patch9
-rw-r--r--testing/tuir/APKBUILD24
-rw-r--r--testing/tup/APKBUILD58
-rw-r--r--testing/tup/s390x_risc3264_support.patch30
-rw-r--r--testing/tup/system_inih.patch16
-rw-r--r--testing/tuptime/APKBUILD35
-rw-r--r--testing/tuptime/tuptime-openrc.post-install5
-rw-r--r--testing/tuptime/tuptime.cron2
-rw-r--r--testing/tuptime/tuptime.initd24
-rw-r--r--testing/tuptime/tuptime.post-install5
-rw-r--r--testing/tuptime/tuptime.pre-install2
-rw-r--r--testing/turn-rs/APKBUILD66
-rw-r--r--testing/turn-rs/turn-rs.confd3
-rw-r--r--testing/turn-rs/turn-rs.initd25
-rw-r--r--testing/turn-rs/turn-rs.pre-install6
-rw-r--r--testing/turnstile/APKBUILD42
-rw-r--r--testing/turnstile/turnstiled.confd2
-rw-r--r--testing/turnstile/turnstiled.initd10
-rw-r--r--testing/twemproxy/APKBUILD17
-rw-r--r--testing/twemproxy/use-system-libyaml.patch38
-rw-r--r--testing/twiggy/APKBUILD9
-rw-r--r--testing/twinkle/APKBUILD51
-rw-r--r--testing/twinkle/glibc.patch22
-rw-r--r--testing/typescript/APKBUILD28
-rw-r--r--testing/typst-lsp/APKBUILD41
-rw-r--r--testing/typstfmt/APKBUILD36
-rw-r--r--testing/tz/APKBUILD31
-rw-r--r--testing/u1db-qt/0001-point-qmlplugindump-to-qmlplugindump-qt5.patch25
-rw-r--r--testing/u1db-qt/0002-point-qmltestrunner-to-qmltestrunner-qt5.patch23
-rw-r--r--testing/u1db-qt/APKBUILD45
-rw-r--r--testing/uasm/0001-Allow-multiple-symbol-definitions.patch36
-rw-r--r--testing/uasm/APKBUILD27
-rw-r--r--testing/ubase/APKBUILD6
-rw-r--r--testing/ubuntu-archive-keyring/APKBUILD34
-rw-r--r--testing/uclient/APKBUILD46
-rw-r--r--testing/ucspi-tcp/APKBUILD2
-rw-r--r--testing/udpcast/APKBUILD35
-rw-r--r--testing/udpcast/fix-includes.patch10
-rw-r--r--testing/udpt/APKBUILD24
-rw-r--r--testing/udpt/cargo.toml.patch16
-rw-r--r--testing/udpt/lock.patch13
-rw-r--r--testing/ueberzug/APKBUILD40
-rw-r--r--testing/uefitool/APKBUILD2
-rw-r--r--testing/uhubctl/APKBUILD24
-rw-r--r--testing/undock/APKBUILD35
-rw-r--r--testing/unicorn/APKBUILD65
-rw-r--r--testing/unicorn/endian.patch57
-rw-r--r--testing/unicorn/python-libdir.patch13
-rw-r--r--testing/unit-php81/APKBUILD73
-rw-r--r--testing/unit-php81/fix-tls-tests.patch40
-rw-r--r--testing/unit-php81/phpver.patch15
-rw-r--r--testing/unrealircd/0001.configure-without-running-config.patch9
-rwxr-xr-xtesting/unrealircd/APKBUILD66
-rw-r--r--testing/up/APKBUILD6
-rw-r--r--testing/upmpdcli/APKBUILD34
-rw-r--r--testing/upmpdcli/upmpdcli.conf242
-rw-r--r--testing/upmpdcli/upmpdcli.initd14
-rw-r--r--testing/upmpdcli/upmpdcli.post-install5
-rw-r--r--testing/upmpdcli/upmpdcli.pre-install7
-rw-r--r--testing/upterm/APKBUILD64
-rw-r--r--testing/upterm/uptermd.confd7
-rw-r--r--testing/upterm/uptermd.initd12
-rw-r--r--testing/uranium/874_fix-simplebutton-use-of-um-colorimage.patch34
-rw-r--r--testing/uranium/APKBUILD61
-rw-r--r--testing/uranium/cmake-helpers.patch89
-rw-r--r--testing/uranium/cmake.patch16
-rw-r--r--testing/uranium/fix-logger-used-but-not-imported.patch14
-rw-r--r--testing/uranium/qt-try-ints-then-bytes.patch96
-rw-r--r--testing/urlwatch/APKBUILD42
-rw-r--r--testing/urlwatch/lxml-5.patch35
-rw-r--r--testing/usbguard-notifier/APKBUILD14
-rw-r--r--testing/usbguard/APKBUILD42
-rw-r--r--testing/usbguard/gcc13.patch12
-rw-r--r--testing/usbguard/musl.patch90
-rw-r--r--testing/usbguard/no-nsswitch-conf.patch62
-rw-r--r--testing/usbmuxd/APKBUILD15
-rw-r--r--testing/usbmuxd/libplist-2.3.0.patch34
-rw-r--r--testing/usbmuxd/usbmuxd.post-install2
-rw-r--r--testing/usql/APKBUILD46
-rw-r--r--testing/ustr/APKBUILD2
-rw-r--r--testing/ustream-ssl/APKBUILD42
-rw-r--r--testing/utfcpp/APKBUILD36
-rw-r--r--testing/utop/APKBUILD145
-rw-r--r--testing/uucp/APKBUILD10
-rw-r--r--testing/uucp/format-strings.patch13
-rw-r--r--testing/uutils-coreutils/APKBUILD69
-rw-r--r--testing/uutils-coreutils/disable_tests_armhf_patch54
-rw-r--r--testing/uxn/APKBUILD29
-rw-r--r--testing/v4l2loopback-src/APKBUILD32
-rw-r--r--testing/vale/APKBUILD35
-rw-r--r--testing/vals/APKBUILD37
-rw-r--r--testing/vamp-sdk/APKBUILD31
-rw-r--r--testing/varnish-modules/APKBUILD18
-rw-r--r--[-rwxr-xr-x]testing/vbindiff/APKBUILD2
-rw-r--r--testing/vcdimager/APKBUILD2
-rw-r--r--testing/vcmi/APKBUILD54
-rw-r--r--testing/vcsh/APKBUILD35
-rw-r--r--testing/vcstool/APKBUILD24
-rw-r--r--testing/vdirsyncer/01-fix-ssl-tests.patch113
-rw-r--r--testing/vdirsyncer/APKBUILD52
-rw-r--r--testing/vector/APKBUILD96
-rw-r--r--testing/vector/logrotate14
-rw-r--r--testing/vector/skip-failed-tests.patch12
-rw-r--r--testing/vector/use-system-libs.patch77
-rw-r--r--testing/vector/vector.confd13
-rw-r--r--testing/vector/vector.initd38
-rw-r--r--testing/vector/vector.pre-install7
-rw-r--r--testing/venc/APKBUILD31
-rw-r--r--testing/vera++/APKBUILD6
-rw-r--r--testing/veracrypt/APKBUILD48
-rw-r--r--testing/veracrypt/sysmacros.patch13
-rw-r--r--testing/vfd-configurations/APKBUILD26
-rw-r--r--testing/vice/APKBUILD52
-rw-r--r--testing/vice/fix__u_char.patch13
-rw-r--r--testing/vicious/APKBUILD25
-rw-r--r--testing/victoria-metrics/APKBUILD68
-rw-r--r--testing/victoria-metrics/tests-skip-sinh.patch12
-rw-r--r--testing/victoria-metrics/victoria-metrics.confd18
-rw-r--r--testing/victoria-metrics/victoria-metrics.initd21
-rw-r--r--testing/victoria-metrics/victoria-metrics.pre-install8
-rw-r--r--testing/vidcutter/APKBUILD21
-rw-r--r--testing/vidcutter/pyqt5-5.15.8.patch17
-rw-r--r--testing/video-trimmer/APKBUILD40
-rw-r--r--testing/viewnior/APKBUILD33
-rw-r--r--testing/viewnior/exiv2-0.28.patch147
-rw-r--r--testing/vile/APKBUILD42
-rw-r--r--testing/vim-go/APKBUILD33
-rw-r--r--testing/vim-rust/APKBUILD1
-rw-r--r--testing/vimiv-qt/APKBUILD28
-rw-r--r--testing/vimiv/APKBUILD30
-rw-r--r--testing/vinegar/APKBUILD38
-rw-r--r--testing/virtctl/APKBUILD54
-rw-r--r--testing/virter/APKBUILD58
-rw-r--r--testing/virter/update-mockery.patch19
-rw-r--r--testing/virtme-ng/APKBUILD22
-rw-r--r--testing/virtualgl/APKBUILD59
-rw-r--r--testing/virtualgl/install.patch13
-rw-r--r--testing/visidata/APKBUILD44
-rw-r--r--testing/visidata/devendor-appdirs.patch26
-rw-r--r--testing/visidata/sh-default.patch13
-rw-r--r--testing/visidata/use-importlib.patch25
-rw-r--r--testing/visurf/APKBUILD14
-rw-r--r--testing/vit/APKBUILD32
-rw-r--r--testing/viu/APKBUILD26
-rw-r--r--testing/vivid/APKBUILD33
-rw-r--r--testing/vixl/0001-vixl-Meson-support.patch814
-rw-r--r--testing/vixl/APKBUILD33
-rw-r--r--testing/vkbasalt/APKBUILD45
-rw-r--r--testing/vlang/APKBUILD61
-rw-r--r--testing/vmtouch/APKBUILD27
-rw-r--r--testing/vocage/APKBUILD23
-rw-r--r--testing/voikko-fi/APKBUILD24
-rw-r--r--testing/volatility3/APKBUILD26
-rw-r--r--testing/volumeicon/APKBUILD2
-rw-r--r--testing/vpn-slice/APKBUILD25
-rw-r--r--testing/vym/APKBUILD40
-rw-r--r--testing/w_scan2/APKBUILD4
-rw-r--r--testing/wabt/APKBUILD66
-rw-r--r--testing/waffle/APKBUILD33
-rw-r--r--testing/waifu2x-converter-cpp/APKBUILD35
-rw-r--r--testing/warp-s3/APKBUILD34
-rw-r--r--testing/warpinator/APKBUILD71
-rw-r--r--testing/warzone2100/APKBUILD73
-rw-r--r--testing/warzone2100/samurai.patch13
-rw-r--r--testing/wasmtime/APKBUILD74
-rw-r--r--testing/wasmtime/system-zstd.patch67
-rw-r--r--testing/watchbind/APKBUILD36
-rw-r--r--testing/watchdog/APKBUILD34
-rw-r--r--testing/watchexec/APKBUILD41
-rw-r--r--testing/watchman/APKBUILD35
-rw-r--r--testing/watchman/Replaced-memset-calls-with-appropriate-C++11-init-or-assignment.patch482
-rw-r--r--testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch48
-rw-r--r--testing/watchmate/APKBUILD52
-rw-r--r--testing/watercloset/0001-remove-debug-flags-and-werror.patch11
-rw-r--r--testing/watercloset/APKBUILD44
-rw-r--r--testing/watershot/APKBUILD47
-rw-r--r--testing/watershot/cargo-features.patch364
-rw-r--r--testing/way-displays/APKBUILD31
-rw-r--r--testing/wayfire-plugins-extra/APKBUILD33
-rw-r--r--testing/wayfire/APKBUILD15
-rw-r--r--testing/wayfire/wayfire.post-install10
-rw-r--r--testing/wayland-utils/APKBUILD24
-rw-r--r--testing/waylevel/APKBUILD42
-rw-r--r--testing/waylock/APKBUILD59
-rw-r--r--testing/waylock/fix-version-string.patch15
-rw-r--r--testing/waylock/pam-base-auth.patch7
-rw-r--r--testing/waynergy/APKBUILD35
-rw-r--r--testing/wayqt/APKBUILD35
-rw-r--r--testing/wazero/APKBUILD39
-rw-r--r--testing/wazero/debug-test-path.patch14
-rw-r--r--testing/wbg/APKBUILD34
-rw-r--r--testing/wch-isp/APKBUILD30
-rw-r--r--testing/wcm/APKBUILD10
-rw-r--r--testing/wcslib/APKBUILD37
-rw-r--r--testing/websockify/APKBUILD22
-rw-r--r--testing/weex/APKBUILD40
-rw-r--r--testing/weex/fix-ssl-in-configure.patch14
-rw-r--r--testing/weggli/APKBUILD24
-rw-r--r--testing/welle-io/APKBUILD66
-rw-r--r--testing/wesnoth/APKBUILD39
-rw-r--r--testing/wf-config/APKBUILD8
-rw-r--r--testing/wf-osk/APKBUILD33
-rw-r--r--testing/wf-shell/APKBUILD34
-rw-r--r--testing/wf-shell/wf-shell.post-install8
-rw-r--r--testing/wgcf/APKBUILD47
-rw-r--r--testing/wget2/APKBUILD6
-rw-r--r--testing/whipper/APKBUILD34
-rw-r--r--testing/wiimms-iso-tools/APKBUILD32
-rw-r--r--testing/wiimms-iso-tools/wiimms-iso-tools.patch46
-rw-r--r--testing/wiimms-szs-tools/APKBUILD32
-rw-r--r--testing/wiimms-szs-tools/wiimms-szs-tools.patch77
-rw-r--r--testing/wiki-tui/APKBUILD41
-rw-r--r--testing/wine-mono/APKBUILD16
-rw-r--r--testing/wine-staging/APKBUILD174
-rw-r--r--testing/wine-staging/rpath.patch57
-rw-r--r--testing/winetricks/APKBUILD10
-rw-r--r--testing/wireguard-go/APKBUILD10
-rw-r--r--testing/wiremapper/APKBUILD26
-rw-r--r--testing/wiringx/APKBUILD16
-rw-r--r--testing/witchery/APKBUILD9
-rw-r--r--testing/witchery/correct-install-location.patch9
-rw-r--r--testing/wk-adblock/APKBUILD30
-rw-r--r--testing/wk-adblock/cargo-lock.patch1062
-rw-r--r--testing/wk-adblock/webkit2gtk-4.1.patch13
-rw-r--r--testing/wl-clipboard-x11/APKBUILD7
-rw-r--r--testing/wl-gammarelay/APKBUILD29
-rw-r--r--testing/wlavu/APKBUILD6
-rw-r--r--testing/wlclock/APKBUILD2
-rw-r--r--testing/wlopm/APKBUILD9
-rw-r--r--testing/wlrobs/APKBUILD19
-rw-r--r--testing/wlroots0.12/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch51
-rw-r--r--testing/wlroots0.12/APKBUILD52
-rw-r--r--testing/wlroots0.15/0001-wlr_output_commit_state_clear_back_buffer.patch30
-rw-r--r--testing/wlroots0.15/APKBUILD57
-rw-r--r--testing/wlvncc/APKBUILD49
-rw-r--r--testing/wmctrl/APKBUILD37
-rw-r--r--testing/wmctrl/fix-x86_64.patch33
-rw-r--r--testing/wmi-client/APKBUILD2
-rw-r--r--testing/wmutils/APKBUILD8
-rw-r--r--testing/wok/APKBUILD11
-rw-r--r--testing/wol/APKBUILD6
-rw-r--r--testing/wolfssh/APKBUILD54
-rw-r--r--testing/woodpecker/0001-we-use-the-prebuild-webui.patch25
-rw-r--r--testing/woodpecker/APKBUILD74
-rw-r--r--testing/woodpecker/fix-cgo.patch53
-rw-r--r--testing/woodpecker/woodpecker.conf8
-rw-r--r--testing/woodpecker/woodpecker.confd4
-rw-r--r--testing/woodpecker/woodpecker.initd22
-rw-r--r--testing/woodpecker/woodpecker.pre-install6
-rw-r--r--testing/wordgrinder/APKBUILD2
-rw-r--r--testing/words/APKBUILD127
-rw-r--r--testing/wormhole-william/APKBUILD28
-rw-r--r--testing/wpa_actiond/APKBUILD2
-rw-r--r--testing/wpaperd/APKBUILD52
-rw-r--r--testing/wpaperd/cargo-lock.patch11
-rw-r--r--testing/wpewebkit/APKBUILD70
-rw-r--r--testing/wpewebkit/patch-gettext.patch15
-rw-r--r--testing/wput/APKBUILD19
-rw-r--r--testing/wqy-zenhei/44-wqy-zenhei.conf29
-rw-r--r--testing/wqy-zenhei/91-wqy-zenhei.conf24
-rw-r--r--testing/wqy-zenhei/APKBUILD37
-rw-r--r--testing/wroomd/APKBUILD44
-rw-r--r--testing/wroomd/de.abscue.obp.Wroomd.conf15
-rw-r--r--testing/wroomd/wroomd.initd11
-rw-r--r--testing/wshowkeys/APKBUILD10
-rw-r--r--testing/wsmancli/APKBUILD6
-rw-r--r--testing/wtfutil/APKBUILD22
-rw-r--r--testing/x11-calc/APKBUILD25
-rw-r--r--testing/x11docker/APKBUILD29
-rw-r--r--testing/x11docker/x11docker.post-install11
-rw-r--r--testing/xa/APKBUILD4
-rw-r--r--testing/xandikos/APKBUILD30
-rw-r--r--testing/xastir/APKBUILD44
-rw-r--r--testing/xastir/fix-mutex.patch15
-rw-r--r--testing/xboard/APKBUILD53
-rw-r--r--testing/xcaddy/APKBUILD33
-rw-r--r--testing/xcape/APKBUILD2
-rwxr-xr-xtesting/xcb-imdkit/APKBUILD40
-rw-r--r--testing/xcompmgr/APKBUILD6
-rw-r--r--testing/xdg-desktop-portal-hyprland/APKBUILD48
-rw-r--r--testing/xdg-desktop-portal-hyprland/use-system-installed-sdbus-c++.patch32
-rw-r--r--testing/xdg-ninja/APKBUILD24
-rw-r--r--testing/xdg-user-dirs-gtk/APKBUILD33
-rw-r--r--testing/xdg-user-dirs-gtk/more-desktops.patch13
-rw-r--r--testing/xed/APKBUILD53
-rw-r--r--testing/xendmail/APKBUILD40
-rw-r--r--testing/xf86-video-vboxvideo/APKBUILD12
-rw-r--r--testing/xfce4-calculator-plugin/APKBUILD13
-rw-r--r--testing/xfce4-diskperf-plugin/APKBUILD46
-rw-r--r--testing/xfce4-docklike-plugin/APKBUILD36
-rw-r--r--testing/xfce4-fsguard-plugin/APKBUILD47
-rw-r--r--testing/xfce4-genmon-plugin/APKBUILD28
-rw-r--r--testing/xfce4-hamster-plugin/APKBUILD33
-rw-r--r--testing/xfce4-mailwatch-plugin/APKBUILD12
-rw-r--r--testing/xfce4-mixer/APKBUILD37
-rw-r--r--testing/xfce4-mpc-plugin/APKBUILD47
-rw-r--r--testing/xfce4-netload-plugin/APKBUILD46
-rw-r--r--testing/xfce4-panel-profiles/APKBUILD12
-rw-r--r--testing/xfce4-places-plugin/APKBUILD41
-rw-r--r--testing/xfce4-sensors-plugin/APKBUILD35
-rw-r--r--testing/xfce4-smartbookmark-plugin/APKBUILD46
-rw-r--r--testing/xfce4-statusnotifier-plugin/APKBUILD34
-rw-r--r--testing/xfce4-systemload-plugin/10-wrong-var-type-on-32bit.patch21
-rw-r--r--testing/xfce4-systemload-plugin/APKBUILD35
-rw-r--r--testing/xfce4-timer-plugin/APKBUILD8
-rw-r--r--testing/xfce4-verve-plugin/APKBUILD47
-rw-r--r--testing/xfd/APKBUILD8
-rw-r--r--testing/xfe/10-fix-build.patch7
-rw-r--r--testing/xfe/APKBUILD62
-rw-r--r--testing/xgalaga/APKBUILD2
-rw-r--r--testing/xh/APKBUILD56
-rw-r--r--testing/xh/minimize-size.patch14
-rw-r--r--testing/xh/without-static-ssl.patch55
-rw-r--r--testing/xiccd/APKBUILD49
-rw-r--r--testing/xisxwayland/APKBUILD32
-rw-r--r--testing/xkb-switch/APKBUILD2
-rw-r--r--testing/xlhtml/APKBUILD34
-rw-r--r--testing/xload/APKBUILD17
-rw-r--r--testing/xmag/APKBUILD37
-rw-r--r--testing/xmake/01-pkgconfig-libsv.patch11
-rw-r--r--testing/xmake/02-system-include.patch22
-rw-r--r--testing/xmake/APKBUILD87
-rw-r--r--testing/xml2rfc/APKBUILD23
-rw-r--r--testing/xmp/APKBUILD38
-rw-r--r--testing/xmpp-dns/APKBUILD35
-rw-r--r--testing/xmppc/10-Remove-dependency-on-strndupa.patch28
-rw-r--r--testing/xmppc/APKBUILD44
-rw-r--r--testing/xmppipe/APKBUILD29
-rw-r--r--testing/xmrig-proxy/APKBUILD29
-rw-r--r--testing/xmrig/APKBUILD38
-rw-r--r--testing/xmrig/enable-donateless-mode.patch11
-rw-r--r--testing/xob/APKBUILD31
-rw-r--r--testing/xone-src/APKBUILD42
-rw-r--r--testing/xone-src/modules-load.conf2
-rw-r--r--testing/xone-src/xone-src.post-install10
-rw-r--r--testing/xonotic-data/APKBUILD19
-rw-r--r--testing/xonotic/APKBUILD107
-rw-r--r--testing/xonotic/xonotic-glx.desktop11
-rw-r--r--testing/xonotic/xonotic-moncontrol.patch12
-rw-r--r--testing/xonotic/xonotic-sdl.desktop11
-rw-r--r--testing/xonsh/APKBUILD56
-rw-r--r--testing/xonsh/no-col.patch13
-rw-r--r--testing/xonsh/xonsh.post-install3
l---------testing/xonsh/xonsh.post-upgrade1
-rw-r--r--testing/xonsh/xonsh.pre-deinstall3
-rw-r--r--testing/xosview/APKBUILD27
-rw-r--r--testing/xournal/APKBUILD37
-rw-r--r--testing/xournal/static-inline.patch56
-rw-r--r--testing/xpad/APKBUILD37
-rw-r--r--testing/xplr/APKBUILD60
-rw-r--r--testing/xplr/modified-field-lua54.patch13
-rw-r--r--testing/xplr/remove-vendored-lua.patch48
-rw-r--r--testing/xremap-wlr/APKBUILD36
-rw-r--r--testing/xsane/APKBUILD2
-rw-r--r--testing/xsct/APKBUILD28
-rw-r--r--testing/xsecurelock/APKBUILD27
-rw-r--r--testing/xsoldier/APKBUILD2
-rw-r--r--testing/xsv/APKBUILD28
-rw-r--r--testing/xtensor/APKBUILD37
-rw-r--r--testing/xtitle/APKBUILD2
-rw-r--r--testing/xtl/APKBUILD37
-rw-r--r--testing/xva-img/APKBUILD4
-rw-r--r--testing/xvidtune/APKBUILD31
-rw-r--r--testing/xvkbd/APKBUILD2
-rw-r--r--testing/xwaylandvideobridge/APKBUILD50
-rw-r--r--testing/xwiimote/0001-fix-32bit-build.patch166
-rw-r--r--testing/xwiimote/APKBUILD64
-rw-r--r--testing/xwiimote/xwiimote.conf1
-rw-r--r--testing/yaegi/APKBUILD45
-rw-r--r--testing/yamkix/APKBUILD38
-rw-r--r--testing/yara/APKBUILD43
-rw-r--r--testing/yara/remove-test-rules.patch21
-rw-r--r--testing/yarr/APKBUILD44
-rwxr-xr-xtesting/yarr/yarr.confd12
-rwxr-xr-xtesting/yarr/yarr.initd17
-rwxr-xr-xtesting/yarr/yarr.pre-install6
-rw-r--r--testing/yaru-common/APKBUILD334
-rw-r--r--testing/yass/APKBUILD31
-rw-r--r--testing/yass/build.xml24
-rw-r--r--testing/yass/yass3
-rw-r--r--testing/yazi/APKBUILD50
-rw-r--r--testing/yazi/system-lua.patch154
-rw-r--r--testing/ydcv/APKBUILD28
-rw-r--r--testing/yices2/APKBUILD44
-rw-r--r--testing/yodl/APKBUILD2
-rw-r--r--testing/yoe-kiosk-browser/APKBUILD28
-rw-r--r--testing/yoshimi/APKBUILD44
-rw-r--r--testing/yosys/APKBUILD74
-rw-r--r--testing/youki/APKBUILD52
-rw-r--r--testing/youtube-tui/APKBUILD28
-rw-r--r--testing/youtube-viewer/APKBUILD23
-rw-r--r--testing/ytfzf/APKBUILD18
-rw-r--r--testing/ytmdl/APKBUILD61
-rw-r--r--testing/ytt/APKBUILD29
-rw-r--r--testing/yubico-piv-tool/APKBUILD34
-rw-r--r--testing/yubikey-agent/APKBUILD28
-rw-r--r--testing/yubikey-touch-detector/APKBUILD33
-rw-r--r--testing/z-push/APKBUILD80
-rw-r--r--testing/z-push/apache.example.conf8
-rw-r--r--testing/z-push/htaccess4
-rw-r--r--testing/z-push/nginx-location.conf32
-rw-r--r--testing/z-push/nginx-ssl.example.conf56
-rw-r--r--testing/z-push/php-fpm.example.conf6
-rwxr-xr-xtesting/z-push/z-push-admin2
-rwxr-xr-xtesting/z-push/z-push-top2
-rw-r--r--testing/z-push/z-push.conf35
-rw-r--r--testing/z-push/z-push.ini9
-rw-r--r--testing/z-push/z-push.pre-install8
-rw-r--r--testing/z/APKBUILD8
-rw-r--r--testing/zabbix-agent2-alpine/APKBUILD64
-rw-r--r--testing/zabbix-agent2-alpine/enable-plugins.patch12
-rw-r--r--testing/zabbix-agent2-alpine/go-mod-add-dependencies.patch29
-rw-r--r--testing/zabbix-agent2-alpine/zabbix-agent2-alpine.pre-install7
-rw-r--r--testing/zabbix-agent2-alpine/zabbix-agent2.initd11
-rw-r--r--testing/zabbix-agent2-alpine/zabbix_agent2.conf8
-rw-r--r--testing/zafiro-icon-theme/APKBUILD17
-rw-r--r--testing/zam-plugins/APKBUILD47
-rw-r--r--testing/zangband/APKBUILD53
-rw-r--r--testing/zangband/fix-bad-configure.patch219
-rw-r--r--testing/zangband/fix-bad-substitution.patch12
-rw-r--r--testing/zangband/fix-explosive-rune-error.patch12
-rw-r--r--testing/zangband/fix-random-num-gen.patch22
-rw-r--r--testing/zangband/fix-spear-of-hagen-error.patch12
-rw-r--r--testing/zapret/APKBUILD27
-rw-r--r--testing/zapret/zapret.confd118
-rw-r--r--testing/zapret/zapret.initd570
-rw-r--r--testing/zaproxy/APKBUILD37
-rw-r--r--testing/zarchive/APKBUILD36
-rw-r--r--testing/zarf/APKBUILD32
-rw-r--r--testing/zathura-djvu/APKBUILD24
-rw-r--r--testing/zellij/APKBUILD31
-rw-r--r--testing/zerofree/APKBUILD24
-rw-r--r--testing/zerofree/types.patch10
-rw-r--r--testing/zfs-src/AKMBUILD18
-rw-r--r--testing/zfs-src/APKBUILD27
-rw-r--r--testing/zfsnap/APKBUILD48
-rw-r--r--testing/zig/APKBUILD85
-rw-r--r--testing/zig/llvm-include.patch12
-rw-r--r--testing/zig/zig.pre-upgrade11
-rw-r--r--testing/zile/APKBUILD44
-rw-r--r--testing/zim-tools/APKBUILD43
-rw-r--r--testing/zimg/APKBUILD62
-rw-r--r--testing/zimg/musl-missing-include.patch12
-rw-r--r--testing/zita-convolver/20-install-major-lib-version.patch12
-rw-r--r--testing/zita-convolver/APKBUILD32
-rw-r--r--testing/zita-convolver/patch-Makefile.patch47
-rw-r--r--testing/zita-njbridge/APKBUILD2
-rw-r--r--testing/zita-resampler/APKBUILD10
-rw-r--r--testing/zita-resampler/patch-Makefile.patch27
-rw-r--r--testing/zkgroup/APKBUILD9
-rw-r--r--testing/zls/APKBUILD54
-rw-r--r--testing/znc-backlog/APKBUILD4
-rw-r--r--testing/znc-clientbuffer/APKBUILD4
-rw-r--r--testing/znc-playback/APKBUILD4
-rw-r--r--testing/znc-push/APKBUILD10
-rw-r--r--testing/zot/APKBUILD132
-rw-r--r--testing/zot/basename_patch10
-rw-r--r--testing/zot/bump-go-sqlite3.patch800
-rw-r--r--testing/zot/zot.confd10
-rw-r--r--testing/zot/zot.initd22
-rw-r--r--testing/zot/zot.pre-install6
-rw-r--r--testing/zrepl/6b3ec7a04933a91bf6c8c0501c236e584a5fb1d9.patch45
-rw-r--r--testing/zrepl/APKBUILD12
-rw-r--r--testing/zsh-fast-syntax-highlighting/APKBUILD34
-rw-r--r--testing/zsh-fzf-tab/APKBUILD25
-rw-r--r--testing/zsh-histdb-skim/APKBUILD45
-rw-r--r--testing/zsh-history-substring-search/APKBUILD19
-rw-r--r--testing/zsh-manydots-magic/APKBUILD21
-rw-r--r--testing/zsh-theme-powerlevel10k/APKBUILD67
-rw-r--r--testing/zsh-theme-powerlevel10k/dont-download-gitstatus.patch14
-rw-r--r--testing/zulip-term/APKBUILD32
-rw-r--r--testing/zutty/APKBUILD37
-rw-r--r--testing/zycore/APKBUILD38
-rw-r--r--testing/zydis/APKBUILD42
6458 files changed, 242308 insertions, 131627 deletions
diff --git a/testing/3proxy/APKBUILD b/testing/3proxy/APKBUILD
index 24a144a7661..1e6ff881022 100644
--- a/testing/3proxy/APKBUILD
+++ b/testing/3proxy/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: sillysausage <sillysausage@privatedemail.net>
# Maintainer:
pkgname=3proxy
-pkgver=0.8.13
-pkgrel=1
+pkgver=0.9.4
+pkgrel=0
pkgdesc="Really tiny cross-platform proxy servers set"
url="https://3proxy.ru"
arch="all"
@@ -13,7 +13,7 @@ options="!check" # No test suite
makedepends="linux-headers"
install="3proxy.pre-install"
subpackages="$pkgname-doc $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/z3APA3A/3proxy/archive/$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/3proxy/3proxy/archive/$pkgver.tar.gz
$pkgname.initd
"
@@ -24,11 +24,14 @@ build() {
package() {
make -f Makefile.Linux DESTDIR="$pkgdir" prefix="/usr" install
install -Dm755 "$srcdir"/3proxy.initd "$pkgdir"/etc/init.d/3proxy
- mv "$pkgdir"/usr/etc/3proxy "$pkgdir"/etc/3proxy
+ mv "$pkgdir"/usr/local/3proxy/libexec/*.so "$pkgdir"/usr/lib/
+ rm -rf "$pkgdir"/usr/local
chown -R 3proxy:3proxy "$pkgdir"/etc/3proxy
install -Dm644 copying "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="94b4a2568917c1d720276e38050a13e144d3e92ff41edd02eeebac0a6c21e6a839a58ea7dcb3abc03370e0f18452c953cfd7ad15ebac87e66b78d94fa52fbd79 3proxy-0.8.13.tar.gz
-043fa5784623e29961ae92f5370598d420e55da6d04f6421b585ac050694982765d6b57ee0276a10738bc8ad0e49ddc4edf6ef288bb9c68e7da11b572066688e 3proxy.initd"
+sha512sums="
+d3316f6ee1217e580ce593a7bfd9d76672487a89862f247373b0acf3ea207887c758168e33b25db9fc974063deab0826c20d455cab2536d03eee49d8bddda6b5 3proxy-0.9.4.tar.gz
+043fa5784623e29961ae92f5370598d420e55da6d04f6421b585ac050694982765d6b57ee0276a10738bc8ad0e49ddc4edf6ef288bb9c68e7da11b572066688e 3proxy.initd
+"
diff --git a/testing/6cord/6cord.post-install b/testing/6cord/6cord.post-install
deleted file mode 100644
index 6e6b1d74789..00000000000
--- a/testing/6cord/6cord.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-echo "Before start, please copy /usr/share/6cord/6cord.toml to ${XDG_CONFIG_HOME:-$HOME/.config}/6cord/6cord.toml!"
-echo "This way, you can customize the client to your fit."
diff --git a/testing/6cord/APKBUILD b/testing/6cord/APKBUILD
deleted file mode 100644
index 9cb4ba3ab81..00000000000
--- a/testing/6cord/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Danct12 <danct12@disroot.org>
-# Maintainer: Danct12 <danct12@disroot.org>
-pkgname="6cord"
-pkgver="9.6"
-pkgrel=3
-pkgdesc="Discord TUI + SIXEL client"
-url="https://gitlab.com/diamondburned/6cord"
-arch="all !mips !mips64" # FTBFS on mips
-license="MPL-2.0"
-makedepends="go"
-install="$pkgname.post-install"
-source="https://gitlab.com/diamondburned/6cord/-/archive/stable-$pkgver/6cord-stable-$pkgver.tar.bz2"
-options="!check" # no testsuite
-builddir="$srcdir/6cord-stable-$pkgver"
-
-build() {
- go build -o bin/6cord
-}
-
-package() {
- install -Dm755 "$builddir"/bin/6cord \
- "$pkgdir"/usr/bin/6cord
- install -Dm755 "$builddir"/6cord.toml \
- "$pkgdir"/usr/share/$pkgname/6cord.toml
-}
-
-sha512sums="e41de615e6ed95ac269725ae3155b15218d627821977f0e2e98a075a7b0e83028fdc94d200bf86bdc8271aede43c775dddf493e48ace3f52cd297d3e09cdb2db 6cord-stable-9.6.tar.bz2"
diff --git a/testing/9base/APKBUILD b/testing/9base/APKBUILD
index 9d77b93e468..ea56d9b5fed 100644
--- a/testing/9base/APKBUILD
+++ b/testing/9base/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Joshua Haase <hahj87@gmail.com>
# Maintainer: Joshua Haase <hahj87@gmail.com>
-pkgname="9base"
+pkgname=9base
pkgver=6
-pkgrel=0
+pkgrel=1
pkgdesc="A port of various Plan 9 tools for Unix."
url="https://tools.suckless.org/9base/"
-arch="all !armv7 !armhf !aarch64 !mips !mips64" # Needs arch specific config.mk
+arch="all !armv7 !armhf !aarch64" # Needs arch specific config.mk
license="MIT"
makedepends="linux-headers"
subpackages="$pkgname-doc $pkgname-troff"
@@ -47,7 +47,7 @@ troff() {
cd "$pkgdir"
mkdir -p "$subpkgdir/usr/lib/9base/bin"
mv "$pkgdir/usr/lib/9base/bin/troff" "$subpkgdir/usr/lib/9base/bin/troff"
- mkdir -p "$subpkgdir/usr/lib/9base/lib/troff"
+ mkdir -p "$subpkgdir/usr/lib/9base/lib"
mv "$pkgdir/usr/lib/9base/lib/troff" "$subpkgdir/usr/lib/9base/lib/troff"
}
diff --git a/testing/a2jmidid/APKBUILD b/testing/a2jmidid/APKBUILD
index f6c5024a2eb..37af43e5496 100644
--- a/testing/a2jmidid/APKBUILD
+++ b/testing/a2jmidid/APKBUILD
@@ -1,14 +1,14 @@
-# Contributor: Kevin Thomas <me@kevinthomas.dev>
-# Maintainer: Kevin Thomas <me@kevinthomas.dev>
+# Contributor: Kay Thomas <kaythomas@pm.me>
+# Maintainer: Kay Thomas <kaythomas@pm.me>
pkgname=a2jmidid
pkgver=9
-pkgrel=1
+pkgrel=3
pkgdesc="ALSA sequencer to JACK MIDI bridging"
url="https://github.com/jackaudio/a2jmidid"
arch="all"
license="GPL-2.0-or-later"
depends="py3-dbus"
-makedepends="meson libexecinfo-dev jack-dev alsa-lib-dev dbus-dev"
+makedepends="meson jack-dev alsa-lib-dev dbus-dev"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/jackaudio/a2jmidid/archive/$pkgver.tar.gz
check-for-libc-backtrace.patch
@@ -17,7 +17,7 @@ options="!check" # No testsuite
build() {
abuild-meson . build
- meson compile ${JOBS:+-j ${JOBS}} -C build
+ meson compile -C build
}
package() {
diff --git a/testing/abc/APKBUILD b/testing/abc/APKBUILD
new file mode 100644
index 00000000000..8252fcbda40
--- /dev/null
+++ b/testing/abc/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=abc
+pkgver=0_git20240102
+_commit=8c7327b8df411654b7d38ccb678c500049fc2b5b
+pkgrel=0
+_abc=896e5e7
+pkgdesc="System for Sequential Logic Synthesis and Formal Verification"
+url="https://github.com/berkeley-abc/abc"
+arch="all"
+license="MIT"
+makedepends="
+ readline-dev
+ "
+source="https://github.com/berkeley-abc/abc/archive/$_commit/abc-$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit/"
+options="!check" # current yosys employee confirmed those dont work
+
+build() {
+ make ABC_USE_PIC=1 abc
+}
+
+package() {
+ install -Dm755 abc -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+17532541730dccc14819c4087ae8c3582f32ec26bc3a572be3caafa08b3a8519e47fa272ecbbeda3ca061fce75c7e87b30a76633ef5c15b76e922e0574fb5016 abc-8c7327b8df411654b7d38ccb678c500049fc2b5b.tar.gz
+"
diff --git a/testing/ace-of-penguins/APKBUILD b/testing/ace-of-penguins/APKBUILD
new file mode 100644
index 00000000000..db0c9fd3f7a
--- /dev/null
+++ b/testing/ace-of-penguins/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Keith Toh <ktprograms@gmail.com>
+# Maintainer: Sebastian Hudak <sebastian@sebsite.pw>
+pkgname=ace-of-penguins
+pkgver=1.4
+pkgrel=2
+pkgdesc="Collection of one-player games for X"
+url="https://www.delorie.com/store/ace/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="libpng-dev libx11-dev libxpm-dev zlib-dev"
+subpackages="$pkgname-doc"
+# .desktop files were taken from ace-of-penguins AUR files, with slight
+# modifications.
+# https://aur.archlinux.org/packages/ace-of-penguins
+source="https://www.delorie.com/store/ace/ace-$pkgver.tar.gz
+ ace.patch
+ fix-font.patch
+ canfield.desktop
+ freecell.desktop
+ golf.desktop
+ mastermind.desktop
+ merlin.desktop
+ minesweeper.desktop
+ pegged.desktop
+ penguins.desktop
+ solitaire.desktop
+ spider.desktop
+ taipei-editor.desktop
+ taipei.desktop
+ thornq.desktop
+ "
+builddir="$srcdir/ace-$pkgver"
+
+prepare() {
+ default_prepare
+
+ update_config_sub
+ update_config_guess
+}
+
+build() {
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ rm -f "$pkgdir"/usr/lib/libcards.a
+ install -Dm644 docs/*.* -t "$pkgdir"/usr/share/doc/ace-of-penguins/
+ install -Dm644 "$srcdir"/*.desktop -t "$pkgdir"/usr/share/applications/
+}
+
+sha512sums="
+cd382db95dc17d75a76809c7f1e096e14f5863c1166aa5db7f93204ce949a9ed21979212946b9d3a09667f4a93b30f4cc44a220940f9b5dd8996f28ecb4a6dcc ace-1.4.tar.gz
+6846662deda4c21a89ecaf55afe1580f82f67122f236618a94dcd584cd3a5a76d0429c9bd4ac808e29d04ae78ab9cf9417e274585f87af46a0a769af4917f509 ace.patch
+b3cd34677326d4b9e47875698aa1bca6985231e1f0e14dc9acdb815c443f767f1199dbd8dd0c72a3aaa2eba62e35c3473a60acaab7c606d848c6cbdb854d3487 fix-font.patch
+4ba6813cb57d2ed41ee8a582b4cc3026a9f69d4c78ee5a012cdcb3284efee0b3efb04917ad2bd9fb4846b7007cce4bfef7e5e9bd8e91c229b4ed31d077f4f10b canfield.desktop
+3f0b3a55af0df885d23fcd73764e0548b7f7d0e25eb881ee1e24d108dd51a234e4140d37a6c616bc39dc2eb70aeeb0f370a1c0ef0ec3314ffb4a07ab89e0b005 freecell.desktop
+d76332b739d938ed29ad30f41baaddff6efa70e674aa7354f60b342f828d470212bebacb2a02f6921b8740a616b97b97002455eb153555d7350ffab3ea7b670a golf.desktop
+24adc08aa52625c25d6315160f45ce3ded0b733238c09aff1764c39f5e95229bff7da70757318048c703faf120a273127bc965ae462bb0b47460f5cf1a4607da mastermind.desktop
+d235d731fc8d3e43537a0e16d61c62f032cb78ce341279af36c4bdd7e7f7101d12ffd04d767ecd51cc6b6e993b46694b09abebb45631cd16a175013f65dc6329 merlin.desktop
+8015901cd23d17b19daa62cc2f2f9d377b9af37d5099b651e9ff0f07af07262b65ac81cb84a6d672f429a2bf0e69ab11f7376e90fcafe11dd977b58901152cf4 minesweeper.desktop
+70f86cb3919c6f5627fcd86fef5812bdeb5370cc0eab47530912ef4c1a300865b204b5091ce1fc0bd51b857996a9fff795c1847c8d48daa8f80ddabd6a7c5521 pegged.desktop
+a224aed5a4ffb26f84d892285559767da203542e8610d06a39562bb491458ffacba834191f7970cb5d868f302bfd242a3db8dcb4659c368081cf81e45179bd92 penguins.desktop
+d51a8657471729a7fabd85a88aa90b6cb2598a078c9880bb945ada923eaa9340ba82a22d2f8a477fd84201a9282d1667c24d043989d8fd24a3d04a75c89e3ef2 solitaire.desktop
+8a9fa45b275acccb78a52db218d424abc71af2f3aa1ae5f8a197a5685a48ed08a90b57225f563ae430211ebadb5f63217650fc2b5cff5a7b4e6abdb9757f6202 spider.desktop
+8c5c81bd806b3a453c2480bf6a3cc83f532c99c9ee439a906ee1eccaf908380d83441ad538179ca9c9fa9f3fd6d5c0de1a97a09794ec5df470e6a1f8baf3c181 taipei-editor.desktop
+7930c8af3def8f0d1ff9f8e0a2fcdc8d953eeb2699c4bf5dde794e862ddf616a9d86b202f1e7b9a8507b7e898721a62b3edafa59d9c27d0d4ce73fc89fcbb0f3 taipei.desktop
+b8a84c7aa1fca593a604e936e9500939a92a3278252ebf86ad3d1b168ead4ec9e6319f37c81e74d8d577b4bae647ce2238dafb57550ca8d7fea66fc5d5aa5c7d thornq.desktop
+"
diff --git a/testing/ace-of-penguins/ace.patch b/testing/ace-of-penguins/ace.patch
new file mode 100644
index 00000000000..3728795c6c8
--- /dev/null
+++ b/testing/ace-of-penguins/ace.patch
@@ -0,0 +1,76 @@
+Some patches have been taken from the ace-of-penguins AUR package.
+https://aur.archlinux.org/cgit/aur.git/tree/ace14_fixes.patch?h=ace-of-penguins
+
+diff -Naur ace-1.4/config.guess ace-1.4-alpine/config.guess
+--- ace-1.4/config.guess 2012-03-24 18:00:49.000000000 +0000
++++ ace-1.4-alpine/config.guess 2021-12-19 21:36:35.650013257 +0000
+@@ -882,6 +882,9 @@
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
++ aarch64*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit ;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
+@@ -950,7 +953,7 @@
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit ;;
+- ppc64:Linux:*:*)
++ ppc64*:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit ;;
+ ppc:Linux:*:*)
+diff -Naur ace-1.4/lib/Makefile.am ace-1.4-alpine/lib/Makefile.am
+--- ace-1.4/lib/Makefile.am 2012-03-24 18:00:49.000000000 +0000
++++ ace-1.4-alpine/lib/Makefile.am 2021-12-19 21:36:12.876679139 +0000
+@@ -6,7 +6,7 @@
+ CLEANFILES = images.c images.d
+
+ INCLUDES = $(X_CFLAGS) @PDA@
+-AM_LDFLAGS = $(X_LIBS)
++AM_LDFLAGS = $(X_LIBS) -lpng -lz -lm
+
+ BUILD_CC = @BUILD_CC@
+ AR = @AR@
+diff -Naur ace-1.4/lib/make-imglib.c ace-1.4-alpine/lib/make-imglib.c
+--- ace-1.4/lib/make-imglib.c 2012-03-24 18:00:49.000000000 +0000
++++ ace-1.4-alpine/lib/make-imglib.c 2021-12-19 21:36:12.876679139 +0000
+@@ -86,7 +86,7 @@
+ png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, 0, 0, 0);
+ info_ptr = png_create_info_struct (png_ptr);
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ fclose (f);
+ continue;
+ }
+diff -Naur ace-1.4/lib/xwin.c ace-1.4-alpine/lib/xwin.c
+--- ace-1.4/lib/xwin.c 2012-03-24 18:00:49.000000000 +0000
++++ ace-1.4-alpine/lib/xwin.c 2021-12-19 21:36:12.876679139 +0000
+@@ -55,7 +55,6 @@
+ { "-visual", OPTION_INTEGER, &visual_id },
+ { 0, 0, 0 }
+ };
+-OptionDesc *xwin_options = xwin_options_list;
+
+ Display *display=0;
+ int screen=0;
+@@ -841,13 +840,13 @@
+ png_ptr = png_create_read_struct (PNG_LIBPNG_VER_STRING, 0, 0, 0);
+ info_ptr = png_create_info_struct (png_ptr);
+
+- if (setjmp (png_ptr->jmpbuf)) {
++ if (setjmp (png_jmpbuf (png_ptr))) {
+ fprintf(stderr, "Invalid PNG image!\n");
+ return;
+ }
+
+ file_bytes = src->file_data;
+- png_set_read_fn (png_ptr, (voidp)&file_bytes, (png_rw_ptr)png_reader);
++ png_set_read_fn (png_ptr, &file_bytes, (png_rw_ptr)png_reader);
+
+ png_read_info (png_ptr, info_ptr);
+
diff --git a/testing/ace-of-penguins/canfield.desktop b/testing/ace-of-penguins/canfield.desktop
new file mode 100644
index 00000000000..d302a7a76c4
--- /dev/null
+++ b/testing/ace-of-penguins/canfield.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Canfield
+GenericName=
+Comment=Solitary card game
+Icon=
+Exec=/usr/bin/canfield
+Terminal=false
+Categories=Game;BoardGame;
diff --git a/testing/ace-of-penguins/fix-font.patch b/testing/ace-of-penguins/fix-font.patch
new file mode 100644
index 00000000000..6326dc917b2
--- /dev/null
+++ b/testing/ace-of-penguins/fix-font.patch
@@ -0,0 +1,24 @@
+Without this patch, trying to open the help screen could make the program
+segfault if the appropriate fonts weren't installed.
+
+--- ace-1.4/lib/help.c 2022-02-17 03:11:56.410174316 +0000
++++ ace-1.4-alpine/lib/help.c 2022-02-17 03:46:31.476912695 +0000
+@@ -179,7 +179,18 @@
+ for (i=0; i<17; i++)
+ {
+ if (!fonts[i])
++ {
+ fonts[i] = XLoadQueryFont(display, i & STYLE_TT ? "fixed" : "variable");
++ if (!fonts[i])
++ {
++ int count;
++ char **fontlist = XListFonts(display, "*", 1, &count);
++ if (count == 0)
++ abort();
++ fonts[i] = XLoadQueryFont(display, fontlist[0]);
++ XFreeFontNames(fontlist);
++ }
++ }
+ thin_space[i] = XTextWidth(fonts[i], " ", 1);
+ }
+ for (i=0; i<NTAGS; i++)
diff --git a/testing/ace-of-penguins/freecell.desktop b/testing/ace-of-penguins/freecell.desktop
new file mode 100644
index 00000000000..c698869b18b
--- /dev/null
+++ b/testing/ace-of-penguins/freecell.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Freecell
+GenericName=
+Comment=Solitary card game
+Icon=
+Exec=/usr/bin/freecell
+Terminal=false
+Categories=Game;CardGame;
diff --git a/testing/ace-of-penguins/golf.desktop b/testing/ace-of-penguins/golf.desktop
new file mode 100644
index 00000000000..d4ea7c026dd
--- /dev/null
+++ b/testing/ace-of-penguins/golf.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Golf
+GenericName=
+Comment=Solitary card game
+Icon=
+Exec=/usr/bin/golf
+Terminal=false
+Categories=Game;CardGame;
diff --git a/testing/ace-of-penguins/mastermind.desktop b/testing/ace-of-penguins/mastermind.desktop
new file mode 100644
index 00000000000..494f3a3c113
--- /dev/null
+++ b/testing/ace-of-penguins/mastermind.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Mastermind
+GenericName=
+Comment=Guess a secret combination of colors
+Icon=
+Exec=/usr/bin/mastermind
+Terminal=false
+Categories=Game;LogicGame;
diff --git a/testing/ace-of-penguins/merlin.desktop b/testing/ace-of-penguins/merlin.desktop
new file mode 100644
index 00000000000..1cf45b40518
--- /dev/null
+++ b/testing/ace-of-penguins/merlin.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Merlin
+GenericName=
+Comment=Classical puzzle
+Icon=
+Exec=/usr/bin/merlin
+Terminal=false
+Categories=Game;LogicGame;
diff --git a/testing/ace-of-penguins/minesweeper.desktop b/testing/ace-of-penguins/minesweeper.desktop
new file mode 100644
index 00000000000..55c2f752477
--- /dev/null
+++ b/testing/ace-of-penguins/minesweeper.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Minesweeper
+GenericName=
+Comment=Find all hidden mines in a minefield
+Icon=
+Exec=/usr/bin/minesweeper
+Terminal=false
+Categories=Game;LogicGame;
diff --git a/testing/ace-of-penguins/pegged.desktop b/testing/ace-of-penguins/pegged.desktop
new file mode 100644
index 00000000000..d04338a2504
--- /dev/null
+++ b/testing/ace-of-penguins/pegged.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Pegged
+GenericName=
+Comment=Classical board game
+Icon=
+Exec=/usr/bin/pegged
+Terminal=false
+Categories=Game;LogicGame;
diff --git a/testing/ace-of-penguins/penguins.desktop b/testing/ace-of-penguins/penguins.desktop
new file mode 100644
index 00000000000..5435826c3b8
--- /dev/null
+++ b/testing/ace-of-penguins/penguins.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Penguins
+GenericName=
+Comment=Solitary card game
+Icon=
+Exec=/usr/bin/penguins
+Terminal=false
+Categories=Game;CardGame;
diff --git a/testing/ace-of-penguins/solitaire.desktop b/testing/ace-of-penguins/solitaire.desktop
new file mode 100644
index 00000000000..ace3939c2f6
--- /dev/null
+++ b/testing/ace-of-penguins/solitaire.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Solitaire
+GenericName=
+Comment=Solitary card game
+Icon=
+Exec=/usr/bin/solitaire
+Terminal=false
+Categories=Game;CardGame;
diff --git a/testing/ace-of-penguins/spider.desktop b/testing/ace-of-penguins/spider.desktop
new file mode 100644
index 00000000000..b4bd4e587c8
--- /dev/null
+++ b/testing/ace-of-penguins/spider.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Spider
+GenericName=
+Comment=Solitary card game
+Icon=
+Exec=/usr/bin/spider
+Terminal=false
+Categories=Game;BoardGame;
diff --git a/testing/ace-of-penguins/taipei-editor.desktop b/testing/ace-of-penguins/taipei-editor.desktop
new file mode 100644
index 00000000000..7de2984abe6
--- /dev/null
+++ b/testing/ace-of-penguins/taipei-editor.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Taipei Editor
+GenericName=
+Comment=Editor for your own Taipei levels
+Icon=
+Exec=/usr/bin/taipedit
+Terminal=false
+Categories=Game;BoardGame;
diff --git a/testing/ace-of-penguins/taipei.desktop b/testing/ace-of-penguins/taipei.desktop
new file mode 100644
index 00000000000..e862d4d53ea
--- /dev/null
+++ b/testing/ace-of-penguins/taipei.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Taipei
+GenericName=
+Comment=Asian puzzle: remove pairs of equal stones
+Icon=
+Exec=/usr/bin/taipei
+Terminal=false
+Categories=Game;BoardGame;
diff --git a/testing/ace-of-penguins/thornq.desktop b/testing/ace-of-penguins/thornq.desktop
new file mode 100644
index 00000000000..4d83f3af55e
--- /dev/null
+++ b/testing/ace-of-penguins/thornq.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Type=Application
+Name=Thornq
+GenericName=
+Comment=Solitary card game
+Icon=
+Exec=/usr/bin/thornq
+Terminal=false
+Categories=Game;CardGame;
diff --git a/testing/acme-tiny/APKBUILD b/testing/acme-tiny/APKBUILD
new file mode 100644
index 00000000000..2ff92c9543d
--- /dev/null
+++ b/testing/acme-tiny/APKBUILD
@@ -0,0 +1,36 @@
+# Automatically generated by apkbuild-pypi, template 3
+# Contributor: Niklas Meyer <derlinkman@gmail.com>
+# Maintainer: Niklas Meyer <derlinkman@gmail.com>
+pkgname=acme-tiny
+pkgver=5.0.1
+pkgrel=2
+pkgdesc="A tiny script to issue and renew TLS certs from Let's Encrypt"
+url="https://pypi.org/project/acme-tiny/"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/a/acme-tiny/acme-tiny-$pkgver.tar.gz"
+options="!check" # tests are broken so we skip them
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+12940426b0fd9cce333ae400161ba371f2c05fdcbb7ac5931079e9b420a5504c89b35613678c9527333647a7ca2f5cfd4eb238ca7b762c5488b9dd98fb3e4731 acme-tiny-5.0.1.tar.gz
+"
diff --git a/testing/acmetool/APKBUILD b/testing/acmetool/APKBUILD
index 290b4648867..c96ccca8f19 100644
--- a/testing/acmetool/APKBUILD
+++ b/testing/acmetool/APKBUILD
@@ -1,26 +1,25 @@
# Contributor: kpcyrd <git@rxv.cc>
# Maintainer: kpcyrd <git@rxv.cc>
pkgname=acmetool
-pkgver=0.0.67
-pkgrel=4
+pkgver=0.2.2
+pkgrel=5
pkgdesc="An easy-to-use command line tool for automatically acquiring certificates from ACME servers (such as Let's Encrypt)"
-url="https://github.com/hlandau/acme"
+url="https://github.com/hlandau/acmetool"
arch="all"
license="MIT"
makedepends="go libcap-dev"
subpackages="$pkgname-doc"
# no test suite available
options="!check net"
-source="$pkgname-$pkgver.tar.gz::https://github.com/hlandau/acme/archive/v$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/hlandau/acmetool/archive/v$pkgver.tar.gz
go.mod
go.sum
"
export GOPATH="$srcdir/go"
export GOCACHE="$srcdir/go-build"
-export GOTMPDIR="$srcdir"
-
-export GOFLAGS="$GOFLAGS -modcacherw"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
prepare() {
default_prepare
@@ -29,19 +28,20 @@ prepare() {
}
build() {
- go build -v -ldflags "-s -w -X github.com/hlandau/acme/hooks.DefaultPath=/etc/acme/hooks" \
+ go build -v \
+ -ldflags "-X github.com/hlandau/acmetool/hooks.DefaultPath=/etc/acme/hooks" \
./cmd/acmetool/...
}
package() {
install -Dm 755 acmetool "$pkgdir/usr/bin/acmetool"
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README"
- install -Dm644 _doc/* -t "$pkgdir/usr/share/doc/$pkgname/"
+ install -Dm644 README.md "$pkgdir/usr/share/doc/acmetool/README"
+ cp -a _doc/* "$pkgdir/usr/share/doc/$pkgname/"
}
sha512sums="
-b0c3013167ceee6c1e577cf1678c256ffed243e8aa5038d86836e625a7c484fd5ca2bb79feb1cae981afc49a6e1635b62b23e58d11a86cc9c1e5012d9e0a638a acmetool-0.0.67.tar.gz
-69b85068284bcb6960d68b4a23e7703fdf8bd39ff986b1e73ce1846c4dd0ec16a2bf2d4cb25dc3431d48cde37eb78cd4e49b22e51cc6434a6e242acb8b7a67db go.mod
-50b020680e39b5b43df6470367d730c8827797f1426a94763ca6810dfc9a707d0e0b06f0e210c3c6da2cc10c0ed11754abebe2e235dc859bd2bb9e6e9544fd84 go.sum
+c24bebbf52664cfda0442db86f8437244322a709413fdd03a79294feac99045f0e06b4342a6186ae4aa400fb627e740f00eadf7522919d3faff4270badb38451 acmetool-0.2.2.tar.gz
+5c3e8400b46fbfe00553698c200075367bd6d6e19d3aaddf8029c9a3e43ae0b9a19496175358d8439cd6edf0d1652d68ed1ae1980318bad8f04112f7ef009841 go.mod
+e52269c2d78c8ca6e769ae918b369591e8965db0283e7c8c2f18531e4af36fd71589596d91dbf0f75fd5aeca36d95c522f28a4c8ae006a300a8ea9fc2e3eb305 go.sum
"
diff --git a/testing/acmetool/go.mod b/testing/acmetool/go.mod
index b4442e74bab..5fa7e6008ee 100644
--- a/testing/acmetool/go.mod
+++ b/testing/acmetool/go.mod
@@ -1,4 +1,4 @@
-module github.com/hlandau/acme
+module github.com/hlandau/acmetool
go 1.16
@@ -6,33 +6,37 @@ require (
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc // indirect
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf // indirect
github.com/btcsuite/winsvc v1.0.0 // indirect
- github.com/coreos/go-systemd v0.0.0-20180409111510-d1b7d058aa2a
+ github.com/coreos/go-systemd v0.0.0-20180409111510-d1b7d058aa2a // indirect
github.com/erikdubbelboer/gspt v0.0.0-20171114050331-2cac68f23d57 // indirect
github.com/fatih/color v1.12.0 // indirect
- github.com/godbus/dbus v4.1.1-0.20180409214157-d41f4c66e71d+incompatible // indirect
+ github.com/gofrs/uuid v4.4.0+incompatible
+ github.com/google/go-cmp v0.5.9 // indirect
github.com/hlandau/buildinfo v0.0.0-20161112115716-337a29b54997 // indirect
github.com/hlandau/dexlogconfig v0.0.0-20161112114350-244f29bd2608
github.com/hlandau/goutils v0.0.0-20160722130800-0cdb66aea5b8
github.com/hlandau/xlog v1.0.0
+ github.com/hlandauf/go-systemd v22.2.1-0.20210317225616-d4cbd5bfbd43+incompatible
github.com/jmhodges/clock v0.0.0-20160418191101-880ee4c33548
github.com/mattn/go-runewidth v0.0.3 // indirect
github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7
github.com/ogier/pflag v0.0.2-0.20160129220114-45c278ab3607 // indirect
- github.com/peterhellberg/link v1.0.1-0.20180124233705-6d32b8d78d1e
- github.com/satori/go.uuid v1.2.1-0.20180103174451-36e9d2ebbde5
+ github.com/peterhellberg/link v1.0.1-0.20180124233705-6d32b8d78d1e // indirect
github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 // indirect
github.com/stretchr/testify v1.7.0 // indirect
- golang.org/x/crypto v0.0.0-20180411161317-d6449816ce06
+ golang.org/x/crypto v0.0.0-20180411161317-d6449816ce06 // indirect
golang.org/x/net v0.0.0-20180417003750-8d16fa6dc9a8
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c // indirect
golang.org/x/text v0.3.1-0.20180410181320-7922cc490dd5 // indirect
gopkg.in/alecthomas/kingpin.v2 v2.2.6
gopkg.in/cheggaaa/pb.v1 v1.0.22
+ gopkg.in/hlandau/acmeapi.v2 v2.0.2
gopkg.in/hlandau/configurable.v1 v1.0.1 // indirect
gopkg.in/hlandau/easyconfig.v1 v1.0.16
gopkg.in/hlandau/service.v2 v2.0.16
gopkg.in/hlandau/svcutils.v1 v1.0.10
+ gopkg.in/hlandauf/dbus.v5 v5.990.1 // indirect
gopkg.in/square/go-jose.v1 v1.1.1
+ gopkg.in/square/go-jose.v2 v2.6.0 // indirect
gopkg.in/tylerb/graceful.v1 v1.2.15
gopkg.in/yaml.v2 v2.2.1
)
diff --git a/testing/acmetool/go.sum b/testing/acmetool/go.sum
index c4807081b2c..7629daf52ba 100644
--- a/testing/acmetool/go.sum
+++ b/testing/acmetool/go.sum
@@ -12,8 +12,10 @@ github.com/erikdubbelboer/gspt v0.0.0-20171114050331-2cac68f23d57 h1:3r+tV/4K76V
github.com/erikdubbelboer/gspt v0.0.0-20171114050331-2cac68f23d57/go.mod h1:v6o7m/E9bfvm79dE1iFiF+3T7zLBnrjYjkWMa1J+Hv0=
github.com/fatih/color v1.12.0 h1:mRhaKNwANqRgUBGKmnI5ZxEk7QXmjQeCcuYFMX2bfcc=
github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM=
-github.com/godbus/dbus v4.1.1-0.20180409214157-d41f4c66e71d+incompatible h1:qYv6cwQWFuaUpUjhoW2MTzlrbMyEFc9gDpJAQspohZU=
-github.com/godbus/dbus v4.1.1-0.20180409214157-d41f4c66e71d+incompatible/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw=
+github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
+github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
+github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
+github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/hlandau/buildinfo v0.0.0-20161112115716-337a29b54997 h1:pSU4Sj7AD5qh+4V5FRlpiw3DpuNQ459c3j8h2F38q74=
github.com/hlandau/buildinfo v0.0.0-20161112115716-337a29b54997/go.mod h1:Oara+TmqGrvsLVEj5YkFe+PP9cSkp0kFD2PFQ5gjHok=
github.com/hlandau/dexlogconfig v0.0.0-20161112114350-244f29bd2608 h1:ouW4TuIFOsfgql1NgzTHGgW6esZ41RW5NZwHz3ALXn8=
@@ -22,6 +24,8 @@ github.com/hlandau/goutils v0.0.0-20160722130800-0cdb66aea5b8 h1:9aNGW7btNlVqbcq
github.com/hlandau/goutils v0.0.0-20160722130800-0cdb66aea5b8/go.mod h1:pYz0KEJgONY133I+1Pkmn6MLptkdKyz3SHgGmpDWyFI=
github.com/hlandau/xlog v1.0.0 h1:tcFGp86iK+v6NwbyuG9wyLB77SBkvAJUjOkRJo3H8C0=
github.com/hlandau/xlog v1.0.0/go.mod h1:aZl5hrokGCtnAFcvft2givQmKZYVfHRvQJbjoqI2lm8=
+github.com/hlandauf/go-systemd v22.2.1-0.20210317225616-d4cbd5bfbd43+incompatible h1:435zI8sPEgcr0HUwAczIY6cQQzJRJ+qlyj/tsDZzsww=
+github.com/hlandauf/go-systemd v22.2.1-0.20210317225616-d4cbd5bfbd43+incompatible/go.mod h1:Tfuxf4cwByXRPnu6MRc3Wn66VjG+worH/9IhfvPnlZg=
github.com/jmhodges/clock v0.0.0-20160418191101-880ee4c33548 h1:dYTbLf4m0a5u0KLmPfB6mgxbcV7588bOCx79hxa5Sr4=
github.com/jmhodges/clock v0.0.0-20160418191101-880ee4c33548/go.mod h1:hGT6jSUVzF6no3QaDSMLGLEHtHSBSefs+MgcDWnmhmo=
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
@@ -38,8 +42,6 @@ github.com/peterhellberg/link v1.0.1-0.20180124233705-6d32b8d78d1e h1:UNCcSD9GJ5
github.com/peterhellberg/link v1.0.1-0.20180124233705-6d32b8d78d1e/go.mod h1:gtSlOT4jmkY8P47hbTc8PTgiDDWpdPbFYl75keYyBB8=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/satori/go.uuid v1.2.1-0.20180103174451-36e9d2ebbde5 h1:Jw7W4WMfQDxsXvfeFSaS2cHlY7bAF4MGrgnbd0+Uo78=
-github.com/satori/go.uuid v1.2.1-0.20180103174451-36e9d2ebbde5/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 h1:X+yvsM2yrEktyI+b2qND5gpH8YhURn0k8OCaeRnkINo=
github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644/go.mod h1:nkxAfR/5quYxwPZhyDxgasBMnRtBZd0FCEpawpjMUFg=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
@@ -59,6 +61,8 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/cheggaaa/pb.v1 v1.0.22 h1:c9uUtBcJbskglPcslP+bFq43Y9mR+Hja6qPRW0bsOJ0=
gopkg.in/cheggaaa/pb.v1 v1.0.22/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
+gopkg.in/hlandau/acmeapi.v2 v2.0.2 h1:S5jEi1/TiaPpfQ9Mwvhfi9NRDYZ+zA+UcRbysH4ygNM=
+gopkg.in/hlandau/acmeapi.v2 v2.0.2/go.mod h1:aWwBqx5Cy/gAMFsLZOKe0T/ZUMvy2kmsIIAZFjBOtFc=
gopkg.in/hlandau/configurable.v1 v1.0.1 h1:rH8g/WXZu2b/eyLagvsqUf9q5mO66hfGHW5L4rm8ktk=
gopkg.in/hlandau/configurable.v1 v1.0.1/go.mod h1:rlyQpcii/QkMGudMSMoe3jjHAgqLZuqg0hQkiUcNfF8=
gopkg.in/hlandau/easyconfig.v1 v1.0.16 h1:ldFeTZmzPDiiFbyeV8eOMVLAqSCWI0rg8W3GK3Z9wH0=
@@ -67,8 +71,12 @@ gopkg.in/hlandau/service.v2 v2.0.16 h1:mmaXq+/O4vXTWEGHdVy+Cy5S7h2djyu8Rodm6qE3o
gopkg.in/hlandau/service.v2 v2.0.16/go.mod h1:3f+96gui2lGv8llWOAUPi9+oI+TOBIyvlVHa1DUwliA=
gopkg.in/hlandau/svcutils.v1 v1.0.10 h1:eIasSJy56y3H3rJ0US4EJURTAfHXItiehMxZRRs7TrU=
gopkg.in/hlandau/svcutils.v1 v1.0.10/go.mod h1:aAoYFMVAq2ck6z8av+FBxzX/qX1ehmUIc5PgGBf+P3I=
+gopkg.in/hlandauf/dbus.v5 v5.990.1 h1:5ei2lTlF906KJlYbA8xv0LJFSV9Jb0Lr4EWSlzXyo3U=
+gopkg.in/hlandauf/dbus.v5 v5.990.1/go.mod h1:MofjUhKgyhZW5tf4SWxHvGcU4jKyvuHrsifrQNhNuvA=
gopkg.in/square/go-jose.v1 v1.1.1 h1:pA7KxQLcwADLRJ3lpUC+vIe4LCO8oRBMoq1HJoJhA3U=
gopkg.in/square/go-jose.v1 v1.1.1/go.mod h1:QpYS+a4WhS+DTlyQIi6Ka7MS3SuR9a055rgXNEe6EiA=
+gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI=
+gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
gopkg.in/tylerb/graceful.v1 v1.2.15 h1:1JmOyhKqAyX3BgTXMI84LwT6FOJ4tP2N9e2kwTCM0nQ=
gopkg.in/tylerb/graceful.v1 v1.2.15/go.mod h1:yBhekWvR20ACXVObSSdD3u6S9DeSylanL2PAbAC/uJ8=
gopkg.in/yaml.v2 v2.2.1 h1:mUhvW9EsL+naU5Q3cakzfE91YhliOondGd6ZrsDBHQE=
diff --git a/testing/actionlint/APKBUILD b/testing/actionlint/APKBUILD
new file mode 100644
index 00000000000..ca38e6fcfaf
--- /dev/null
+++ b/testing/actionlint/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=actionlint
+pkgver=1.6.27
+pkgrel=2
+pkgdesc="Static checker for GitHub Actions workflow files"
+url="https://github.com/rhysd/actionlint"
+arch="all"
+license="MIT"
+makedepends="go ronn"
+options="chmod-clean net"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rhysd/actionlint/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build \
+ -ldflags="-buildid= -X github.com/rhysd/actionlint.version=$pkgver -s -w" \
+ ./cmd/$pkgname
+ ronn ./man/$pkgname.1.ronn
+}
+
+check() {
+ go test .
+}
+
+package() {
+ install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
+ install -Dm644 man/$pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+53427f8f676c489cda56ba2a3fc03d3955cb96d038a2127a46bb3372de47910bf54585e643fbc90f7b3bd3cfbba1c9801b993cad023846d1815814a1108de763 actionlint-1.6.27.tar.gz
+"
diff --git a/testing/admesh/APKBUILD b/testing/admesh/APKBUILD
index cb0345d9f49..63ce6a1dab6 100644
--- a/testing/admesh/APKBUILD
+++ b/testing/admesh/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=admesh
-pkgver=0.98.4
+pkgver=0.98.5
pkgrel=0
pkgdesc="A program for processing triangulated solid meshes"
url="https://github.com/admesh/admesh"
@@ -12,13 +12,6 @@ subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/admesh/admesh/releases/download/v$pkgver/admesh-$pkgver.tar.gz"
options="!check" # no unit tests
-prepare() {
- default_prepare
-
- update_config_sub
- update_config_guess
-}
-
build() {
./configure \
--build=$CBUILD \
@@ -32,5 +25,5 @@ package() {
}
sha512sums="
-0c196aea8d0c8082e28946e96bc3223f01485dcd6b1ef5f785e3274ec20976e6a2dbbd5fdad7b5a442d942a8d862c7705a5201275e87e127e09abbb1f0c33ce4 admesh-0.98.4.tar.gz
+8d94966caf65ec09a143b0d9ed4a1dce1ccd6dc2281b6da02c620d6f31439c2ce4b6501bfca4392ed96727696df3a15c86890e4dd6fc995bc8cf9d130f25786a admesh-0.98.5.tar.gz
"
diff --git a/testing/advancemame/APKBUILD b/testing/advancemame/APKBUILD
index 3d335d49460..d9519441620 100644
--- a/testing/advancemame/APKBUILD
+++ b/testing/advancemame/APKBUILD
@@ -1,14 +1,15 @@
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=advancemame
pkgver=3.9
-pkgrel=1
+pkgrel=4
pkgdesc="A port of the MAME emulator for Arcade Monitors and TVs but also for LCDs and PC monitors"
url="http://www.advancemame.it"
-arch="all"
+# armhf: fails with clang
+arch="all !armhf"
license="GPL-2.0-only"
makedepends="
alsa-lib-dev
- clang-dev
+ clang
expat-dev
freetype-dev
linux-headers
@@ -17,8 +18,10 @@ makedepends="
zlib-dev
"
subpackages="$pkgname-doc $pkgname-data::noarch $pkgname-mess $pkgname-menu"
-source="https://github.com/amadvance/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz
- fix-ppc64le-float128.patch"
+source="https://github.com/amadvance/advancemame/releases/download/v$pkgver/advancemame-$pkgver.tar.gz
+ fix-ppc64le-float128.patch
+ formatsec.patch
+ "
options="!check"
# Fix build with gcc 10
@@ -32,18 +35,8 @@ prepare() {
}
build() {
- cd "$builddir"
-
-case "$CARCH" in
- armhf|mips*)
- true
- ;;
- *)
- export CC=clang
- export CXX=clang++
- ;;
-esac
-
+ export CC=clang
+ export CXX=clang++
./configure \
--build=$CBUILD \
@@ -57,33 +50,32 @@ esac
}
package() {
- cd "$builddir"
- make bindir="${pkgdir}/usr/bin/" \
- datadir="${pkgdir}/usr/share/" \
- mandir="${pkgdir}/usr/share/man/" \
- pkgdocdir="${pkgdir}/usr/share/doc/${pkgname}/" \
+ make bindir="$pkgdir/usr/bin/" \
+ datadir="$pkgdir/usr/share/" \
+ mandir="$pkgdir/usr/share/man/" \
+ pkgdocdir="$pkgdir/usr/share/doc/$pkgname/" \
install
}
data() {
- pkgdesc="Distrubition files for advancemame"
- depends="$pkgname"
- mkdir -p "$subpkgdir"/usr/share/advance
- mv "$pkgdir"/usr/share/advance/* "$subpkgdir"/usr/share/advance/
+ pkgdesc="Distribution files for advancemame"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ amove usr/share/advance/*
}
mess() {
pkgdesc="Advancemame port of MESS."
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/advmess "$subpkgdir"/usr/bin/
+ amove usr/bin/advmess
}
menu() {
pkgdesc="An emulator frontend with sound and animated previews of your games."
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/advmenu "$subpkgdir"/usr/bin/
+ amove usr/bin/advmenu
}
-sha512sums="43f9ba746f222b17ade2d213d6af7cc8fe6b3ee6008633f02b8877f4c7f75628bdf1cc9718db09f5f9a482d194c8ba94f9047334e8012d23c598454e5dab2eb3 advancemame-3.9.tar.gz
-d42a9b3c65c2d96be5287c7541eb1e911562b3f2aaf07c55c1849725592857716ce496405e3da2243edcbd4b7307226306533ddf66ef2e081b4c492412930d1b fix-ppc64le-float128.patch"
+sha512sums="
+43f9ba746f222b17ade2d213d6af7cc8fe6b3ee6008633f02b8877f4c7f75628bdf1cc9718db09f5f9a482d194c8ba94f9047334e8012d23c598454e5dab2eb3 advancemame-3.9.tar.gz
+d42a9b3c65c2d96be5287c7541eb1e911562b3f2aaf07c55c1849725592857716ce496405e3da2243edcbd4b7307226306533ddf66ef2e081b4c492412930d1b fix-ppc64le-float128.patch
+461a76d3db95d9c894ec6937be18f2d1d7f193c2c06e14c4b3bb7cb860c7b2054f46fac636c8ebd9616d48a079b07f6cd2b1647ec0d706e26a473ac08d1ce504 formatsec.patch
+"
diff --git a/testing/advancemame/formatsec.patch b/testing/advancemame/formatsec.patch
new file mode 100644
index 00000000000..5ed46f57328
--- /dev/null
+++ b/testing/advancemame/formatsec.patch
@@ -0,0 +1,13 @@
+diff --git a/advance/menu/emulator.cc b/advance/menu/emulator.cc
+index cfa4300..3c3d5d6 100644
+--- a/advance/menu/emulator.cc
++++ b/advance/menu/emulator.cc
+@@ -2203,7 +2203,7 @@ bool advmess::run(const game& g, const game* bios, unsigned orientation, bool se
+ }
+ }
+ error += "\n";
+- target_err(error.c_str());
++ target_err("%s", error.c_str());
+ }
+
+ for (int i = 0; i < argc; ++i)
diff --git a/testing/advancescan/0001-cpp17-throw.patch b/testing/advancescan/0001-cpp17-throw.patch
new file mode 100644
index 00000000000..c48e7c92490
--- /dev/null
+++ b/testing/advancescan/0001-cpp17-throw.patch
@@ -0,0 +1,276 @@
+Author: Patrycja Rosa <alpine@ptrcnull.me>
+Date: Thu, 03 Feb 2022 05:06:47 +0100
+
+ replace throw with noexcept
+
+ throw has been deprecated in C++11 and removed in C++17
+
+diff --git a/conf.cc b/conf.cc
+index e9b596d..e537e00 100644
+--- a/conf.cc
++++ b/conf.cc
+@@ -28,7 +28,7 @@
+
+ using namespace std;
+
+-static void expand_tree(const string& path, filepath_container& ds) throw (error)
++static void expand_tree(const string& path, filepath_container& ds) noexcept (false)
+ {
+ DIR* dir = opendir(path.c_str());
+ if (!dir)
+diff --git a/file.cc b/file.cc
+index 1e90348..36f3495 100644
+--- a/file.cc
++++ b/file.cc
+@@ -98,7 +98,7 @@ void infopath::readonly_set(bool Areadonly)
+ /**
+ * Check if a file exists.
+ */
+-bool file_exists(const string& path) throw (error)
++bool file_exists(const string& path) noexcept (false)
+ {
+ struct stat s;
+ if (stat(path.c_str(), &s) != 0) {
+@@ -114,7 +114,7 @@ bool file_exists(const string& path) throw (error)
+ /**
+ * Write a whole file.
+ */
+-void file_write(const string& path, const char* data, unsigned size) throw (error)
++void file_write(const string& path, const char* data, unsigned size) noexcept (false)
+ {
+ FILE* f = fopen(path.c_str(), "wb");
+ if (!f)
+@@ -134,7 +134,7 @@ void file_write(const string& path, const char* data, unsigned size) throw (erro
+ /**
+ * Read a whole file.
+ */
+-void file_read(const string& path, char* data, unsigned size) throw (error)
++void file_read(const string& path, char* data, unsigned size) noexcept (false)
+ {
+ file_read(path, data, 0, size);
+ }
+@@ -142,7 +142,7 @@ void file_read(const string& path, char* data, unsigned size) throw (error)
+ /**
+ * Read a whole file.
+ */
+-void file_read(const string& path, char* data, unsigned offset, unsigned size) throw (error)
++void file_read(const string& path, char* data, unsigned offset, unsigned size) noexcept (false)
+ {
+ FILE* f = fopen(path.c_str(), "rb");
+ if (!f)
+@@ -166,7 +166,7 @@ void file_read(const string& path, char* data, unsigned offset, unsigned size) t
+ /**
+ * Get the time of a file.
+ */
+-time_t file_time(const string& path) throw (error)
++time_t file_time(const string& path) noexcept (false)
+ {
+ struct stat s;
+ if (stat(path.c_str(), &s)!=0)
+@@ -178,7 +178,7 @@ time_t file_time(const string& path) throw (error)
+ /**
+ * Set the time of a file.
+ */
+-void file_utime(const string& path, time_t tod) throw (error)
++void file_utime(const string& path, time_t tod) noexcept (false)
+ {
+ struct utimbuf u;
+
+@@ -192,7 +192,7 @@ void file_utime(const string& path, time_t tod) throw (error)
+ /**
+ * Get the size of a file.
+ */
+-unsigned file_size(const string& path) throw (error)
++unsigned file_size(const string& path) noexcept (false)
+ {
+ struct stat s;
+ if (stat(path.c_str(), &s)!=0)
+@@ -204,7 +204,7 @@ unsigned file_size(const string& path) throw (error)
+ /**
+ * Get the crc of a file.
+ */
+-crc_t file_crc(const string& path) throw (error)
++crc_t file_crc(const string& path) noexcept (false)
+ {
+ unsigned size = file_size(path);
+
+@@ -227,7 +227,7 @@ crc_t file_crc(const string& path) throw (error)
+ /**
+ * Copy a file.
+ */
+-void file_copy(const string& path1, const string& path2) throw (error)
++void file_copy(const string& path1, const string& path2) noexcept (false)
+ {
+ unsigned size;
+
+@@ -249,7 +249,7 @@ void file_copy(const string& path1, const string& path2) throw (error)
+ /**
+ * Move a file.
+ */
+-void file_move(const string& path1, const string& path2) throw (error)
++void file_move(const string& path1, const string& path2) noexcept (false)
+ {
+ if (rename(path1.c_str(), path2.c_str())!=0
+ && errno==EXDEV) {
+@@ -271,7 +271,7 @@ void file_move(const string& path1, const string& path2) throw (error)
+ /**
+ * Remove a file.
+ */
+-void file_remove(const string& path1) throw (error)
++void file_remove(const string& path1) noexcept (false)
+ {
+ if (remove(path1.c_str())!=0) {
+ throw error() << "Failed remove of " << path1;
+@@ -281,7 +281,7 @@ void file_remove(const string& path1) throw (error)
+ /**
+ * Rename a file.
+ */
+-void file_rename(const string& path1, const string& path2) throw (error)
++void file_rename(const string& path1, const string& path2) noexcept (false)
+ {
+ if (rename(path1.c_str(), path2.c_str())!=0) {
+ throw error() << "Failed rename of " << path1 << " to " << path2;
+@@ -291,7 +291,7 @@ void file_rename(const string& path1, const string& path2) throw (error)
+ /**
+ * Randomize a name file.
+ */
+-string file_randomize(const string& path, int n) throw ()
++string file_randomize(const string& path, int n) noexcept (true)
+ {
+ ostringstream os;
+
+@@ -307,7 +307,7 @@ string file_randomize(const string& path, int n) throw ()
+ return os.str();
+ }
+
+-string file_temp(const string& path) throw ()
++string file_temp(const string& path) noexcept (true)
+ {
+ ostringstream os;
+
+@@ -319,7 +319,7 @@ string file_temp(const string& path) throw ()
+ /**
+ * Get the directory from a path.
+ */
+-string file_dir(const string& path) throw ()
++string file_dir(const string& path) noexcept (true)
+ {
+ size_t pos = path.rfind('/');
+ if (pos == string::npos) {
+@@ -332,7 +332,7 @@ string file_dir(const string& path) throw ()
+ /**
+ * Get the file name from a path.
+ */
+-string file_name(const string& path) throw ()
++string file_name(const string& path) noexcept (true)
+ {
+ size_t pos = path.rfind('/');
+ if (pos == string::npos) {
+@@ -345,7 +345,7 @@ string file_name(const string& path) throw ()
+ /**
+ * Get the basepath (path without extension) from a path.
+ */
+-string file_basepath(const string& path) throw ()
++string file_basepath(const string& path) noexcept (true)
+ {
+ size_t dot = path.rfind('.');
+ if (dot == string::npos)
+@@ -357,7 +357,7 @@ string file_basepath(const string& path) throw ()
+ /**
+ * Get the basename (name without extension) from a path.
+ */
+-string file_basename(const string& path) throw ()
++string file_basename(const string& path) noexcept (true)
+ {
+ string name = file_name(path);
+ size_t dot = name.rfind('.');
+@@ -370,7 +370,7 @@ string file_basename(const string& path) throw ()
+ /**
+ * Get the extension from a path.
+ */
+-string file_ext(const string& path) throw ()
++string file_ext(const string& path) noexcept (true)
+ {
+ string name = file_name(path);
+ size_t dot = name.rfind('.');
+@@ -383,7 +383,7 @@ string file_ext(const string& path) throw ()
+ /**
+ * Compare two path.
+ */
+-int file_compare(const string& path1, const string& path2) throw ()
++int file_compare(const string& path1, const string& path2) noexcept (true)
+ {
+ return strcasecmp(path1.c_str(), path2.c_str());
+ }
+@@ -391,7 +391,7 @@ int file_compare(const string& path1, const string& path2) throw ()
+ /**
+ * Convert a path to the C format.
+ */
+-string file_adjust(const string& path) throw ()
++string file_adjust(const string& path) noexcept (true)
+ {
+ string r;
+ for(unsigned i=0;i<path.length();++i) {
+@@ -409,7 +409,7 @@ string file_adjust(const string& path) throw ()
+ /**
+ * Make a drectory tree.
+ */
+-void file_mktree(const std::string& path) throw (error)
++void file_mktree(const std::string& path) noexcept (false)
+ {
+ string dir = file_dir(path);
+ string name = file_name(path);
+diff --git a/file.h b/file.h
+index 1b0cf85..b3843c0 100644
+--- a/file.h
++++ b/file.h
+@@ -67,28 +67,28 @@ typedef unsigned crc_t;
+ crc_t crc_compute(const char* data, unsigned len);
+ crc_t crc_compute(crc_t pred, const char* data, unsigned len);
+
+-bool file_exists(const std::string& file) throw (error);
+-void file_write(const std::string& path, const char* data, unsigned size) throw (error);
+-void file_read(const std::string& path, char* data, unsigned size) throw (error);
+-void file_read(const std::string& path, char* data, unsigned offset, unsigned size) throw (error);
+-time_t file_time(const std::string& path) throw (error);
+-void file_utime(const std::string& path, time_t tod) throw (error);
+-unsigned file_size(const std::string& path) throw (error);
+-crc_t file_crc(const std::string& path) throw (error);
+-void file_copy(const std::string& path1, const std::string& path2) throw (error);
+-void file_move(const std::string& path1, const std::string& path2) throw (error);
+-void file_remove(const std::string& path1) throw (error);
+-void file_mktree(const std::string& path1) throw (error);
++bool file_exists(const std::string& file) noexcept (false);
++void file_write(const std::string& path, const char* data, unsigned size) noexcept (false);
++void file_read(const std::string& path, char* data, unsigned size) noexcept (false);
++void file_read(const std::string& path, char* data, unsigned offset, unsigned size) noexcept (false);
++time_t file_time(const std::string& path) noexcept (false);
++void file_utime(const std::string& path, time_t tod) noexcept (false);
++unsigned file_size(const std::string& path) noexcept (false);
++crc_t file_crc(const std::string& path) noexcept (false);
++void file_copy(const std::string& path1, const std::string& path2) noexcept (false);
++void file_move(const std::string& path1, const std::string& path2) noexcept (false);
++void file_remove(const std::string& path1) noexcept (false);
++void file_mktree(const std::string& path1) noexcept (false);
+
+-std::string file_temp(const std::string& path) throw ();
+-std::string file_randomize(const std::string& path, int n) throw ();
+-std::string file_name(const std::string& file) throw ();
+-std::string file_dir(const std::string& file) throw ();
+-std::string file_basename(const std::string& file) throw ();
+-std::string file_basepath(const std::string& file) throw ();
+-std::string file_ext(const std::string& file) throw ();
+-int file_compare(const std::string& path1, const std::string& path2) throw ();
+-std::string file_adjust(const std::string& path) throw ();
++std::string file_temp(const std::string& path) noexcept (true);
++std::string file_randomize(const std::string& path, int n) noexcept (true);
++std::string file_name(const std::string& file) noexcept (true);
++std::string file_dir(const std::string& file) noexcept (true);
++std::string file_basename(const std::string& file) noexcept (true);
++std::string file_basepath(const std::string& file) noexcept (true);
++std::string file_ext(const std::string& file) noexcept (true);
++int file_compare(const std::string& path1, const std::string& path2) noexcept (true);
++std::string file_adjust(const std::string& path) noexcept (true);
+
+ #endif
+
diff --git a/testing/advancescan/APKBUILD b/testing/advancescan/APKBUILD
index 29193c57556..063781108e5 100644
--- a/testing/advancescan/APKBUILD
+++ b/testing/advancescan/APKBUILD
@@ -1,14 +1,16 @@
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=advancescan
pkgver=1.18
-pkgrel=0
+pkgrel=1
pkgdesc="Command line rom manager for AdvanceMAME and AdvanceMESS"
url="http://www.advancemame.it"
arch="all"
license="GPL"
makedepends="zlib-dev"
subpackages="$pkgname-doc"
-source="https://github.com/amadvance/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.gz"
+source="https://github.com/amadvance/advancescan/releases/download/v$pkgver/advancescan-$pkgver.tar.gz
+ 0001-cpp17-throw.patch
+ "
options="!check"
prepare() {
@@ -19,7 +21,6 @@ prepare() {
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -31,12 +32,15 @@ build() {
}
package() {
- cd "$builddir"
- make bindir="${pkgdir}/usr/bin/" \
- datadir="${pkgdir}/usr/share/" \
- mandir="${pkgdir}/usr/share/man/" \
- pkgdocdir="${pkgdir}/usr/share/doc/${pkgname}/" \
- install
+ make \
+ bindir="$pkgdir/usr/bin/" \
+ datadir="$pkgdir/usr/share/" \
+ mandir="$pkgdir/usr/share/man/" \
+ pkgdocdir="$pkgdir/usr/share/doc/advancescan/" \
+ install
}
-sha512sums="ad7529fb2dd625f8d5aa5f5d1cabfbeb5612b1da6e0952a451abd162a95aadf616b74b2bf5b6c4963188cea1267394f2ee84c3f47a323d345d285e9c63622889 advancescan-1.18.tar.gz"
+sha512sums="
+ad7529fb2dd625f8d5aa5f5d1cabfbeb5612b1da6e0952a451abd162a95aadf616b74b2bf5b6c4963188cea1267394f2ee84c3f47a323d345d285e9c63622889 advancescan-1.18.tar.gz
+795b13bf7f11fdad59644de6cd03196ea05a87ba9c70b3fd89da0f6b2d202759dbecc70736603cb56aea0cd4cb33cb62fcf067c4ea8a061d45d7786c0881f6ef 0001-cpp17-throw.patch
+"
diff --git a/testing/adwaita-qt6/APKBUILD b/testing/adwaita-qt6/APKBUILD
deleted file mode 100644
index 33d50c5bbe4..00000000000
--- a/testing/adwaita-qt6/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=adwaita-qt6
-# same as community/adwaita-qt
-pkgver=1.4.1
-pkgrel=0
-pkgdesc="style to bend Qt applications to look like they belong into GNOME Shell"
-url="https://github.com/FedoraQt/adwaita-qt"
-arch="all"
-license="GPL-2.0-only AND LGPL-2.1-only"
-makedepends="cmake qt6-qtbase-dev"
-subpackages="$pkgname-dev"
-source="https://github.com/FedoraQt/adwaita-qt/archive/$pkgver/adwaita-qt-$pkgver.tar.gz"
-options="!check" # no tests provided
-builddir="$srcdir/adwaita-qt-$pkgver"
-
-build() {
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DUSE_QT6=ON
-
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-efdc64addbd2ee4b4eb133323540a2c662cb882e42aa0573dace9044acc7638658badac3581d6cae7a3f17905692e4e8f768b6a8e3c1b4575d7e1999c1e9fe63 adwaita-qt-1.4.1.tar.gz
-"
diff --git a/testing/aercbook/APKBUILD b/testing/aercbook/APKBUILD
new file mode 100644
index 00000000000..a0a780c2ebc
--- /dev/null
+++ b/testing/aercbook/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Coco Liliace <coco@liliace.dev>
+# Maintainer: Coco Liliace <coco@liliace.dev>
+pkgname=aercbook
+pkgver=0.1.5
+pkgrel=0
+pkgdesc="Minimalistic address book for aerc"
+url="https://sr.ht/~renerocksai/aercbook/"
+arch="aarch64 x86_64"
+license="MIT"
+makedepends="zig"
+options="!check" # no tests
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~renerocksai/aercbook/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+# We may want other than "baseline" for other targets, when enabled by zig
+case "$CARCH" in
+ aarch64|x86_64) cputarget=baseline ;;
+esac
+
+build() {
+ zig build -Doptimize=ReleaseSafe ${cputarget:+-Dcpu="$cputarget"}
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin ./zig-out/bin/aercbook
+}
+
+sha512sums="
+ffabe7017e5d15df2cf19fa7663b045a7e693acfd34d25a85aa22235ed1f02d5ea40cee2cd0ff9f35d0ad497aefcde5048097365b7037c06c95729cf29d46614 aercbook-0.1.5.tar.gz
+"
diff --git a/testing/aero2solver/APKBUILD b/testing/aero2solver/APKBUILD
new file mode 100644
index 00000000000..c486c971f53
--- /dev/null
+++ b/testing/aero2solver/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: nezu <nezu@nezu.cc>
+# Maintainer: nezu <nezu@nezu.cc>
+pkgname=aero2solver
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="Automatic captcha solver for aero2.pl"
+url="https://github.com/dumbasPL/aero2solver"
+# s390x: builds, but inference fails
+arch="all !s390x"
+license="MIT"
+makedepends="cargo cargo-auditable cmake clang-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/dumbasPL/aero2solver/archive/refs/tags/v$pkgver.tar.gz
+ $pkgname.initd
+ $pkgname.confd
+ $pkgname.logrotate
+ "
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ MODEL_PATH=/usr/share/$pkgname/model \
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -m755 -D target/release/$pkgname \
+ -t "$pkgdir"/usr/bin/
+
+ install -m644 -D model/captcha.cfg \
+ -t "$pkgdir"/usr/share/$pkgname/model/
+ install -m644 -D model/captcha.names \
+ -t "$pkgdir"/usr/share/$pkgname/model/
+ install -m644 -D model/captcha.weights \
+ -t "$pkgdir"/usr/share/$pkgname/model/
+
+ install -m644 -D LICENSE \
+ -t "$pkgdir"/usr/share/licenses/$pkgname/
+
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.logrotate \
+ "$pkgdir"/etc/logrotate.d/$pkgname
+}
+
+sha512sums="
+d319eadf9908adc6bee4ef184226ee7b7371095fe03e204141718b90d01aeafec85c9fae1aacc04c8e67570e1c93ae916e5c3aa8a6d0bc2794e10becdd802734 aero2solver-1.0.0.tar.gz
+5183024b38e2b2257b23f82caec82baeb2ebf8c53238c9ce52f32f790909c30f40f2ea47a58bc861da08f84dd861434faeeeb617b0463e17794dc2aa6502d1b3 aero2solver.initd
+9ab94bc219108505264d94c396e979ab54da29fe8adebee247d747bd0035242d7aec6fe4e43a7f297667b51520edd6621167a7dab75987a2fd9ff587368aa2e4 aero2solver.confd
+466789dc2f8877bf04e2bbf0ef142f4cb4b70b1021def3deec39fa854e9661f0c0d583030ceebb4916996c8af4ea1df9a1b3a3d130223c3eea1a23737adba39a aero2solver.logrotate
+"
diff --git a/testing/aero2solver/aero2solver.confd b/testing/aero2solver/aero2solver.confd
new file mode 100755
index 00000000000..36e7ba804de
--- /dev/null
+++ b/testing/aero2solver/aero2solver.confd
@@ -0,0 +1,14 @@
+# Configuration for /etc/init.d/aero2solver
+
+# User (and group) to run aero2solver as.
+#command_user="aero2solver"
+
+# Additional arguments for aero2solver daemon.
+# check `aero2solver --help` for available options
+#command_args=
+
+# File to redirect stdout/stderr into. Set to empty string to disable.
+#logfile="/var/log/aero2solver.log"
+
+# Comment out to disable process supervisor.
+supervisor=supervise-daemon
diff --git a/testing/aero2solver/aero2solver.initd b/testing/aero2solver/aero2solver.initd
new file mode 100755
index 00000000000..f9adf5addcb
--- /dev/null
+++ b/testing/aero2solver/aero2solver.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+
+name="aero2solver"
+description="Aero2 solver daemon"
+
+: ${command_user:="aero2solver:aero2solver"}
+: ${logfile:="/var/log/$RC_SVCNAME.log"}
+
+command="/usr/bin/aero2solver"
+command_args="$command_args"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+output_log="$logfile"
+error_log="$logfile"
+
+depend() {
+ need net
+ use dns
+ after firewall
+}
+
+start_pre() {
+ if [ "$logfile" ]; then
+ checkpath -f -m 644 -o "$command_user" "$logfile"
+ fi
+}
diff --git a/testing/aero2solver/aero2solver.logrotate b/testing/aero2solver/aero2solver.logrotate
new file mode 100644
index 00000000000..01191319f3f
--- /dev/null
+++ b/testing/aero2solver/aero2solver.logrotate
@@ -0,0 +1,5 @@
+/var/log/aero2solver.log {
+ copytruncate
+ missingok
+ notifempty
+}
diff --git a/testing/aero2solver/aero2solver.pre-install b/testing/aero2solver/aero2solver.pre-install
new file mode 100755
index 00000000000..b0ed3fd67a7
--- /dev/null
+++ b/testing/aero2solver/aero2solver.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S aero2solver 2>/dev/null
+adduser -S -D -H -s /sbin/nologin -G aero2solver -g aero2solver aero2solver 2>/dev/null
+
+exit 0
diff --git a/testing/afetch/APKBUILD b/testing/afetch/APKBUILD
index 461b757ad34..0173dabe25d 100644
--- a/testing/afetch/APKBUILD
+++ b/testing/afetch/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: KikooDX <kikoodx@paranoici.org>
pkgname=afetch
pkgver=2.2.0
-pkgrel=0
+pkgrel=1
pkgdesc="Fast and simple system info written in C"
url="https://github.com/13-CF/afetch"
arch="all"
license="GPL-3.0-or-later"
subpackages="$pkgname-doc"
options="!check" # there is no test suite
-source="$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/V$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/13-CF/afetch/archive/refs/tags/V$pkgver.tar.gz"
build() {
make
diff --git a/testing/agate/APKBUILD b/testing/agate/APKBUILD
new file mode 100644
index 00000000000..6580f80abe2
--- /dev/null
+++ b/testing/agate/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=agate
+pkgver=3.3.7
+pkgrel=0
+pkgdesc="Simple Gemini server for static files"
+url="https://github.com/mbrubeck/agate"
+# rust-ring
+arch="all !s390x !ppc64le !riscv64"
+license="Apache-2.0"
+makedepends="cargo cargo-auditable openssl-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mbrubeck/agate/archive/refs/tags/v$pkgver.tar.gz
+ agate.initd
+ agate.confd
+ "
+
+prepare() {
+ default_prepare
+
+ sed -i 's/version = "3.3.1"/version = "3.3.3"/' Cargo.lock
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release
+}
+
+check() {
+ cargo test
+}
+
+package() {
+ install -Dm755 target/release/agate -t "$pkgdir"/usr/bin
+ install -Dm755 "$srcdir"/agate.initd "$pkgdir"/etc/init.d/agate
+ install -Dm644 "$srcdir"/agate.confd "$pkgdir"/etc/conf.d/agate
+}
+
+sha512sums="
+09038d3ce0b2268548634f428c18787ff999993f8ec502e6c05e77c876075b30b401eff8e49eba90f575d8209aff970f5a8179441037c2dd69b497757584b5d5 agate-3.3.7.tar.gz
+711c7687e3e5421d0d625a11aa0067cc5fb4dbe9656e8d9aee2dd1a0fa0befe7a83c705c4875c8f20d3701fa0557c80af4b82373bade7c5be2c4dbd27e9f5141 agate.initd
+d8f54616edafaf513c591fc3ab405c65044a8f43cf1e50e43c7cac5ae3fa5c383a267108c10210ea236a5edfa1fcf2014a932e77bc216cc06dce83cab7e32c85 agate.confd
+"
diff --git a/testing/agate/agate.confd b/testing/agate/agate.confd
new file mode 100644
index 00000000000..d2e8d4789b5
--- /dev/null
+++ b/testing/agate/agate.confd
@@ -0,0 +1,8 @@
+output_log=/var/log/agate.log
+error_log=/var/log/agate.log
+content_path=/var/gemini/
+certificate_path=/var/gemini/.certificates
+hostname=localhost
+
+# comment to run without process supervisor
+supervisor=supervise-daemon
diff --git a/testing/agate/agate.initd b/testing/agate/agate.initd
new file mode 100644
index 00000000000..a26ed87f750
--- /dev/null
+++ b/testing/agate/agate.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+
+name="agate"
+command="/usr/bin/agate"
+command_user="agate:agate"
+command_background=true
+pidfile="/run/$RC_SVCNAME.pid"
+
+command_args="--content '$content_path' --certs '$certificate_path' --hostname '$hostname'"
+
+depend() {
+ need net localmount
+ after firewall
+}
+
+start_pre() {
+ checkpath -f "$output_log" -o "$command_user"
+ checkpath -f "$error_log" -o "$command_user"
+ checkpath -d "$content_path" -o "$command_user"
+ checkpath -d "$certificate_path" -o "$command_user"
+}
diff --git a/testing/agate/agate.pre-install b/testing/agate/agate.pre-install
new file mode 100644
index 00000000000..a48174c72ff
--- /dev/null
+++ b/testing/agate/agate.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S agate 2>/dev/null
+adduser -S -D -H -h /var/lib/agate -s /sbin/nologin -G agate -g agate agate 2>/dev/null
+
+exit 0
diff --git a/testing/agg/APKBUILD b/testing/agg/APKBUILD
index dca87ea0330..634985362f0 100644
--- a/testing/agg/APKBUILD
+++ b/testing/agg/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Bradley J Chambers <brad.chambers@gmail.com>
pkgname=agg
pkgver=2.5
-pkgrel=1
+pkgrel=3
pkgdesc="Anti-Grain Geometry (AGG) is a general purpose graphical toolkit written completely in standard and platform independent C++."
options="!check" # No testsuite
url="https://src.fedoraproject.org/rpms/agg"
arch="all"
license="GPL-2.0-or-later"
-makedepends="autoconf automake libtool sdl-dev freetype-dev"
+makedepends="autoconf automake libtool sdl12-compat-dev freetype-dev"
subpackages="$pkgname-dev"
source="https://sources.archlinux.org/other/community/agg/$pkgname-free-$pkgver.tar.gz
agg-2.4-depends.patch
diff --git a/testing/aide/APKBUILD b/testing/aide/APKBUILD
new file mode 100644
index 00000000000..d70c9794e58
--- /dev/null
+++ b/testing/aide/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=aide
+pkgver=0.18.6
+pkgrel=0
+pkgdesc="file integrity checker and intrusion detection program"
+url="https://aide.github.io/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ autoconf
+ automake
+ bison
+ flex
+ libgcrypt-dev
+ pcre2-dev
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/aide/aide/releases/download/v$pkgver/aide-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+c0e7c366029a401bce4cf44762caecada4d4831bfc2f00ebab6cb818ba259fae5409fdfcc7386d2bc9ca91a8e8fe0eb78927205bc75513578b8a3ccd17183744 aide-0.18.6.tar.gz
+"
diff --git a/testing/airsonic-advanced/APKBUILD b/testing/airsonic-advanced/APKBUILD
index ab5d141fc5d..ec5e7c161b6 100644
--- a/testing/airsonic-advanced/APKBUILD
+++ b/testing/airsonic-advanced/APKBUILD
@@ -1,9 +1,8 @@
-# Contributor: Kevin Thomas <me@kevinthomas.dev>
-# Maintainer: Kevin Thomas <me@kevinthomas.dev>
+# Contributor: Kay Thomas <kaythomas@pm.me>
+# Maintainer: Kay Thomas <kaythomas@pm.me>
pkgname=airsonic-advanced
-# This commit fixes a bug that causes a build failure
-_sha=a2b8bfa72bf46ebdc3d9153f5580f0398c6b3aad
-pkgver=11.0.0_git20210504
+_sha=1397446f979b1cdea283eec89ce4f0eae7d63450
+pkgver=11.0.0_git20230217
pkgrel=0
pkgdesc="Modern implementation of the Airsonic fork with several key performance and feature enhancements"
url="https://github.com/airsonic-advanced/airsonic-advanced"
@@ -17,6 +16,7 @@ pkgusers="airsonic-advanced"
pkggroups="airsonic-advanced"
install="$pkgname.pre-install"
source="$pkgname-$pkgver.tar.gz::https://github.com/airsonic-advanced/airsonic-advanced/archive/$_sha.tar.gz
+ maven.patch
airsonic-advanced.initd
"
builddir="$srcdir/$pkgname-$_sha"
@@ -42,6 +42,7 @@ package() {
}
sha512sums="
-c7220318f7a1c94732b9be8f0f94a83e3f5fd1aa6dc989223b36bb3521e76b5a3a5d4f3837200b960e9c77852ab69fc9e228801c8a77df72d54ac88d13490636 airsonic-advanced-11.0.0_git20210504.tar.gz
+f415620bdbed9fb3874afbf30d9362e68b1e9e8e90dbbed4ca3206b643cad97ca0558e64ec5b4440382f0ec908c3325e321ea3631c38ff9a2109163c8f0cfe0b airsonic-advanced-11.0.0_git20230217.tar.gz
+6cb52fee19815fcdf2596e55d97d3e750321b1df7a4fec36fc9bc2a57d4be979a3905a42d3aa9dbeb2bf0d4f56edbf344f13551219b8e4d2ca583abd4bb5c8f9 maven.patch
ca87e6a7199950e6ac52aeb076a03f831d60ee9d4ceed47366bbd78443765d205796d895ebb244051d8033e5b2e9ccd648d20434039c854b8b50e766cc5cd10d airsonic-advanced.initd
"
diff --git a/testing/airsonic-advanced/maven.patch b/testing/airsonic-advanced/maven.patch
new file mode 100644
index 00000000000..56594b62899
--- /dev/null
+++ b/testing/airsonic-advanced/maven.patch
@@ -0,0 +1,8 @@
+fixes maven 3.9 breaking change
+https://maven.apache.org/docs/3.9.0/release-notes.html#potentially-breaking-core-changes
+--- airsonic-advanced-1397446f979b1cdea283eec89ce4f0eae7d63450/.mvn/maven.config
++++ airsonic-advanced-1397446f979b1cdea283eec89ce4f0eae7d63450/.mvn/maven.config
+@@ -1 +1,2 @@
+---settings ./.mvn/settings.xml
++--settings
++./.mvn/settings.xml
diff --git a/testing/alarmwakeup/APKBUILD b/testing/alarmwakeup/APKBUILD
new file mode 100644
index 00000000000..fa95b97fb3e
--- /dev/null
+++ b/testing/alarmwakeup/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Affe Null <affenull2345@gmail.com>
+pkgname=alarmwakeup
+pkgver=0.2.1
+pkgrel=0
+pkgdesc="RTC alarm management daemon"
+url="https://git.abscue.de/obp/alarmwakeup"
+arch="all"
+license="GPL-3.0-or-later"
+pkggroups="rtc"
+makedepends="
+ linux-headers
+ "
+subpackages="
+ $pkgname-dbg
+ $pkgname-dev
+ $pkgname-libs
+ $pkgname-utils
+ "
+source="
+ https://git.abscue.de/obp/alarmwakeup/-/archive/v$pkgver/alarmwakeup-v$pkgver.tar.gz
+ "
+options="!check suid" # no tests available
+builddir="$srcdir/alarmwakeup-v$pkgver"
+
+build() {
+ make
+}
+
+package() {
+ DESTDIR="$pkgdir" make install
+ # limit access to "rtc" group
+ chgrp rtc "$pkgdir/usr/bin/alarm-wakeup-daemon"
+ chmod 4750 "$pkgdir/usr/bin/alarm-wakeup-daemon"
+}
+
+utils() {
+ pkgdesc="$pkgdesc (command line utilities)"
+ amove usr/bin/alarm-wakeup-ctl
+}
+
+sha512sums="
+070308f3bf6ab6c57102663341ba4b2456bc6dd6f0e6bcf459b7fdd43e29e610447f4c4c75e188731e4ed9d5d2ce02b6d9b33236d06cfcca47b3b594fce03283 alarmwakeup-v0.2.1.tar.gz
+"
diff --git a/testing/alda/APKBUILD b/testing/alda/APKBUILD
new file mode 100644
index 00000000000..f68c89a1d04
--- /dev/null
+++ b/testing/alda/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=alda
+pkgver=2.2.7
+pkgrel=4
+pkgdesc="Music programming language for musicians"
+url="https://github.com/alda-lang/alda"
+arch="x86_64"
+# aarch64: segfaults on gradle build
+# everything else: blocked by openjdk17
+license="EPL-2.0"
+depends="openjdk17"
+makedepends="go openjdk17-jdk gradle"
+source="$pkgname-$pkgver.tar.gz::https://github.com/alda-lang/alda/archive/refs/tags/release-$pkgver.tar.gz
+ alda-player
+ "
+builddir="$srcdir/$pkgname-release-$pkgver"
+options="!check" # no tests provided by upstream
+
+build() {
+ (
+ cd player
+ gradle --no-daemon build
+ )
+
+ (
+ cd client
+ go generate
+ go build
+ )
+}
+
+package() {
+ install -Dm755 client/client \
+ "$pkgdir"/usr/bin/alda
+
+ install -Dm644 player/build/libs/alda-player-fat.jar \
+ -t "$pkgdir"/usr/share/alda/
+
+ install -Dm755 "$srcdir"/alda-player \
+ -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+8df7280be8cdd30f45167288f6eb799803eb1aa950d220a80d57692e91acac85518623ef5e49c251594cb9af1de5ea9c84ab3961d12c2c68cd20482a7c63302a alda-2.2.7.tar.gz
+77d841e2b7873eb0de06723a5ea5373cc251ff8e82e1d542bc6e1fd297808e94bb9c322783366cbbea31f40284b073ed584296d02f30e36f9ac29158ad53430c alda-player
+"
diff --git a/testing/alda/alda-player b/testing/alda/alda-player
new file mode 100644
index 00000000000..91ff4e17f2e
--- /dev/null
+++ b/testing/alda/alda-player
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec /usr/lib/jvm/java-17-openjdk/bin/java -jar /usr/share/alda/alda-player-fat.jar "$@"
diff --git a/testing/alex/APKBUILD b/testing/alex/APKBUILD
deleted file mode 100644
index 90afc9fe0dd..00000000000
--- a/testing/alex/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: River Dillon <oss@outerpassage.net>
-# Maintainer: River Dillon <oss@outerpassage.net>
-pkgname=alex
-pkgver=3.2.6
-pkgrel=2
-pkgdesc="lexical analyser generator for Haskell"
-url="https://www.haskell.org/alex/"
-arch="x86_64" # limited by ghc
-license="BSD-3-Clause"
-makedepends="ghc libffi-dev"
-subpackages="$pkgname-doc"
-source="
- https://hackage.haskell.org/package/alex-$pkgver/alex-$pkgver.tar.gz
- https://www.haskell.org/alex/doc/alex-doc-html-3.0.tar.gz
- fix-tests-ghc-9.0.patch
- "
-
-build() {
- runhaskell Setup.hs configure \
- "--prefix=/usr" \
- "--datasubdir=$pkgname" \
- "--docdir=\$datadir/doc/$pkgname" \
- "--enable-tests"
- runhaskell Setup.hs build -j "--ghc-options=-j -O1"
-}
-
-check() {
- runhaskell Setup.hs test
-}
-
-package() {
- docdir="usr/share/doc/$pkgname"
- runhaskell Setup.hs copy "--destdir=$pkgdir"
- rm "$pkgdir/$docdir/LICENSE" # no need to include a standard license
- install -Dm644 -t "$pkgdir/$docdir/html/" "$srcdir/$pkgname"/*
-}
-
-sha512sums="
-05b6e55e9a1c348aea599d1130780a3d2a0a7c5f1db00b2c98bd34737cac9d48842fb1b1f98947a99d99013f94e39a6ffee1af8546f02fb2d32fcf362ff0f83c alex-3.2.6.tar.gz
-c9497e9b6c80d79d29bd5b1d05cf4077c30c2d94b9c6c321145ca104db204deb96db66f8abba0ad2e849556eda8b901aa6181935e8aca81ff9ffc676d19f87dd alex-doc-html-3.0.tar.gz
-9e8236a3e08add1b2c8ed97da636de900d3f562df2a9dc5496bdf5578908d700c1106cf8ee6b86e4244c02e64b66caa1289b298d66bccc441dae9a3b76dda2d9 fix-tests-ghc-9.0.patch
-"
diff --git a/testing/alex/fix-tests-ghc-9.0.patch b/testing/alex/fix-tests-ghc-9.0.patch
deleted file mode 100644
index 7cbf2a64b14..00000000000
--- a/testing/alex/fix-tests-ghc-9.0.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 84b29475e057ef744f32a94bc0d3954b84160760 Mon Sep 17 00:00:00 2001
-From: Vaibhav Sagar <vaibhavsagar@gmail.com>
-Date: Sun, 25 Apr 2021 00:48:56 +1000
-Subject: [PATCH] tests/default_typeclass.x: remove spaces around as-pattern
-
----
- tests/default_typeclass.x | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/default_typeclass.x b/tests/default_typeclass.x
-index 5491e28..76ac35a 100644
---- a/tests/default_typeclass.x
-+++ b/tests/default_typeclass.x
-@@ -133,7 +133,7 @@ alexSetInput (pos, c, bs, inp) =
- alexError :: (MonadState AlexState m, Read s) => String -> m (Token s)
- alexError message =
- do
-- s @ AlexState { alex_errs = errs } <- get
-+ s@AlexState { alex_errs = errs } <- get
- put s { alex_errs = message : errs }
- alexMonadScan
-
diff --git a/testing/alpine-lift/APKBUILD b/testing/alpine-lift/APKBUILD
index c2c1e7da23e..35d4343c313 100644
--- a/testing/alpine-lift/APKBUILD
+++ b/testing/alpine-lift/APKBUILD
@@ -1,29 +1,28 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=alpine-lift
-pkgver=0.1
-pkgrel=2
+pkgver=0.2.0
+pkgrel=15
pkgdesc="Basic cloud-init-like for Alpine Linux"
url="https://github.com/bjwschaap/alpine-lift"
license="MIT"
arch="all"
makedepends="go"
options="!check" #no golint avail
-source="$pkgname-$pkgver.tar.gz::https://github.com/bjwschaap/alpine-lift/archive/$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/bjwschaap/alpine-lift/archive/refs/tags/v$pkgver.tar.gz
makefile.patch
"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
export CGO_CPPFLAGS="$CPPFLAGS"
export CGO_CFLAGS="$CFLAGS"
export CGO_CXXFLAGS="$CXXFLAGS"
export CGO_LDFLAGS="$LDFLAGS"
export GOFLAGS="$GOFLAGS -trimpath -ldflags=-linkmode=external -mod=readonly -modcacherw"
- case $CARCH in
- mips|mips64)
- export GOFLAGS="${GOFLAGS/-buildmode=pie}" # buildmode=pie is not supported on mips64
- ;;
- esac
make localbuild
}
@@ -31,5 +30,7 @@ package() {
install -m755 -D bin/lift \
"$pkgdir"/usr/bin/lift
}
-sha512sums="38b3b6ca854732617642f08d19c51259c1bb768db879c415a7f9d5d1434deb50b7417a9b3aaa6a07776435c6eb53a51fa97d4b430eb09e1e2460bf03b4838ae0 alpine-lift-0.1.tar.gz
-6285b8a839b5c6ad0f4e7208903060cbbf289a5cc1661d5618f8e9d0d2a7ed0c35d5160992246eef303de66e90416f6f44787ceb918bbcf398248831e5e778ae makefile.patch"
+sha512sums="
+d7e457b4f1147390e1d0932786a23c1339d9099eebfc3ac43ebda5866614b2a29a06345b2ffc822da32c3598efd9adb757d472dbf7fd24c6da8179b63b5dcd6f alpine-lift-0.2.0.tar.gz
+6285b8a839b5c6ad0f4e7208903060cbbf289a5cc1661d5618f8e9d0d2a7ed0c35d5160992246eef303de66e90416f6f44787ceb918bbcf398248831e5e778ae makefile.patch
+"
diff --git a/testing/alps/APKBUILD b/testing/alps/APKBUILD
new file mode 100644
index 00000000000..5da273ae366
--- /dev/null
+++ b/testing/alps/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=alps
+pkgver=0_git20230807
+pkgrel=3
+_commit=652ea9c7885a6c508d3c69c37b7c65e5bbe4fe77
+pkgdesc="Simple and extensible webmail"
+url="https://sr.ht/~migadu/alps/"
+arch="all"
+license="MIT"
+makedepends="go"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$pkgname-$_commit.tar.gz::https://git.sr.ht/~migadu/alps/archive/$_commit.tar.gz
+ fix-statics-dir.patch
+
+ alps.confd
+ alps.initd
+ "
+builddir="$srcdir/alps-$_commit"
+options="!check net" # no tests in upstream
+
+build() {
+ go build -o alps ./cmd/alps
+}
+
+package() {
+ install -Dm755 alps "$pkgdir"/usr/bin/alps
+
+ install -dm755 "$pkgdir"/var/lib/alps
+ cp -r themes "$pkgdir"/var/lib/alps
+ for asset in plugins/*/public/*.html plugins/*/public/**/*; do
+ install -Dm644 "$asset" "$pkgdir"/var/lib/alps/"$asset"
+ done
+
+ install -Dm755 "$srcdir"/alps.initd "$pkgdir"/etc/init.d/alps
+ install -Dm644 "$srcdir"/alps.confd "$pkgdir"/etc/conf.d/alps
+}
+
+sha512sums="
+17161088b6cd50d07e24deb90b54e17a54f0e634f9101aec1565cf16a1960ee9a086004d76052c3385fe93e4f71aa4335f4d1656523ae59dcdb8d899fccd3e07 alps-652ea9c7885a6c508d3c69c37b7c65e5bbe4fe77.tar.gz
+789b4cae9b2c4acb5b05288c4f9858de1b5cfda87bc96c40505e9447ec9ad39fdabbd5af0c65007c51a5f3a425602ea7a81d3f6c62894dddf6790fe26793755c fix-statics-dir.patch
+61c1b05851ae05fbf51cb8eb060c5677de7145a07dac3a194a3f7513b2ff3bf5f3792a749d1a2eef09fc6378f2fbf2021cc49dffe652f51230120c40a7062b6c alps.confd
+6e109577d662ce61d2b753e5b82237827646f10d0af02b10b3f184a10bb747c3c8303e7d20a5cc2b7c31ac4a6f3aef62290c068868e647c9b1ce711dfb6e025a alps.initd
+"
diff --git a/testing/alps/alps.confd b/testing/alps/alps.confd
new file mode 100644
index 00000000000..cd610105fd1
--- /dev/null
+++ b/testing/alps/alps.confd
@@ -0,0 +1,11 @@
+# Configuration for /etc/init.d/alps
+
+# space-separated list of imap/smtp servers
+servers="imap://localhost"
+
+theme="alps"
+listen_address=":1323"
+command_user="alps:alps"
+
+# comment this out for old style service management
+supervisor=supervise-daemon
diff --git a/testing/alps/alps.initd b/testing/alps/alps.initd
new file mode 100644
index 00000000000..307c6e333dd
--- /dev/null
+++ b/testing/alps/alps.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+
+name="alps webmail server"
+
+command="/usr/bin/alps"
+command_args="${listen_address:+-addr $listen_address} ${theme:+-theme $theme} $servers"
+: ${command_user:="alps:alps"}
+command_background=yes
+directory="/var/lib/alps"
+pidfile="/run/alps.pid"
+
+output_log="/var/log/alps.log"
+error_log="/var/log/alps.log"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -m 755 -o "$command_user" /var/lib/alps
+ checkpath -f -m 644 -o "$command_user" /var/log/alps.log
+}
diff --git a/testing/alps/alps.pre-install b/testing/alps/alps.pre-install
new file mode 100644
index 00000000000..176a8010928
--- /dev/null
+++ b/testing/alps/alps.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S alps
+adduser -S -D -H -h /var/lib/alps -s /sbin/nologin -G alps -g alps alps
+
+exit 0
diff --git a/testing/alps/fix-statics-dir.patch b/testing/alps/fix-statics-dir.patch
new file mode 100644
index 00000000000..72eaffaaab3
--- /dev/null
+++ b/testing/alps/fix-statics-dir.patch
@@ -0,0 +1,26 @@
+diff --git a/cmd/alps/main.go b/cmd/alps/main.go
+index 5a00957..f537177 100644
+--- a/cmd/alps/main.go
++++ b/cmd/alps/main.go
+@@ -23,7 +23,7 @@ import (
+ _ "git.sr.ht/~migadu/alps/plugins/viewtext"
+ )
+
+-var themesPath = "./themes"
++var themesPath = "/var/lib/alps/themes"
+
+ func main() {
+ var (
+diff --git a/plugin.go b/plugin.go
+index e634f02..43b8164 100644
+--- a/plugin.go
++++ b/plugin.go
+@@ -7,7 +7,7 @@ import (
+ )
+
+ // PluginDir is the path to the plugins directory.
+-const PluginDir = "plugins"
++const PluginDir = "/var/lib/alps/plugins"
+
+ // Plugin extends alps with additional functionality.
+ type Plugin interface {
diff --git a/testing/alsa-ucm-conf-asahi/APKBUILD b/testing/alsa-ucm-conf-asahi/APKBUILD
new file mode 100644
index 00000000000..32a94dbce83
--- /dev/null
+++ b/testing/alsa-ucm-conf-asahi/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=alsa-ucm-conf-asahi
+pkgver=5
+pkgrel=0
+pkgdesc="ALSA Use Case Manager configuration for Apple silicon devices"
+url="https://asahilinux.org/"
+arch="aarch64"
+license="BSD-3-Clause"
+depends="alsa-ucm-conf>=1.2.7.2"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsahiLinux/alsa-ucm-conf-asahi/archive/refs/tags/v$pkgver.tar.gz"
+
+package() {
+ install -vdm 755 "$pkgdir/usr/share/alsa/ucm2/conf.d"
+ cp -av ucm2/conf.d/macaudio "$pkgdir/usr/share/alsa/ucm2/conf.d/"
+}
+
+sha512sums="
+4e2f8b0108c0ec4168ebe1dae88da0b486cc26695ca89fc450340fbc5532616847eb9c49097be5216e8b7b8cb7c62ac78032d253d4264ac0d0378817bf85af81 alsa-ucm-conf-asahi-5.tar.gz
+"
diff --git a/testing/alttab/APKBUILD b/testing/alttab/APKBUILD
index cea03c35284..ad4539408b7 100644
--- a/testing/alttab/APKBUILD
+++ b/testing/alttab/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Alexander Kulak <sa-dev@rainbow.by>
# Maintainer: Alexander Kulak <sa-dev@rainbow.by>
pkgname=alttab
-pkgver=1.6.1
+pkgver=1.7.1
pkgrel=0
pkgdesc="X11 window switcher designed for minimalistic window managers"
url="https://github.com/sagb/alttab"
options="!check"
arch="all"
license="GPL-3.0-or-later"
-makedepends="autoconf automake libx11-dev libxft-dev fts-dev libxrender-dev libxrandr-dev
+makedepends="autoconf automake libx11-dev libxft-dev musl-fts-dev libxrender-dev libxrandr-dev
libpng-dev uthash-dev libxpm-dev"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/sagb/alttab/archive/v$pkgver.tar.gz
@@ -35,5 +35,5 @@ package() {
}
sha512sums="
-6d284b29b606908828958a07dc6e816280f38a41883841df24427de20631497bbe9030ca5190a0e0e636694e76df83b784ced1b8e181c6f9bf25ec3ceb82779b alttab-1.6.1.tar.gz
+d9f6c1d00be21e975521ebc39e800f00522f0d898512a7e3a406ae859890c553a1ae312a0947701085831aa5e62b5b9db859ae84af4b3e8f3370462634a5ab97 alttab-1.7.1.tar.gz
"
diff --git a/testing/amazon-ssm-agent/001_sanitize_makefile.patch b/testing/amazon-ssm-agent/001_sanitize_makefile.patch
new file mode 100644
index 00000000000..bdb14a7e113
--- /dev/null
+++ b/testing/amazon-ssm-agent/001_sanitize_makefile.patch
@@ -0,0 +1,74 @@
+# Remove CGO flag, and make build options match the same format
+--- a/makefile
++++ b/makefile
+@@ -1,6 +1,6 @@
+ COPY := cp -p
+ GO_BUILD_NOPIE := CGO_ENABLED=0 go build -ldflags "-s -w" -trimpath
+-GO_BUILD_PIE := go build -ldflags "-s -w -extldflags=-Wl,-z,now,-z,relro,-z,defs" -buildmode=pie -trimpath
++GO_BUILD_PIE := go build -ldflags "-s -w -extldflags=-Wl,-z,now,-z,relro,-z,defs" -buildmode=pie -trimpath
+ GO_BUILD_STATIC_PIE := go build -ldflags '-linkmode external -s -w -extldflags "-static-pie -Wl,-z,relro,-z,defs"' -buildmode=pie -trimpath -tags 'osusergo netgo static_build'
+ GO_BUILD_DEBUG := go build -gcflags "all=-N -l"
+
+@@ -34,7 +34,7 @@
+ github.com/aws/amazon-ssm-agent/agent/... \
+ github.com/aws/amazon-ssm-agent/core/...
+
+-build:: build-linux build-freebsd build-windows build-linux-386 build-windows-386 build-arm build-arm64 build-darwin-amd64 build-darwin-arm64
++build:: build-linux-amd64 build-freebsd build-windows build-linux-386 build-windows-386 build-linux-arm build-linux-arm64 build-darwin-amd64 build-darwin-arm64
+
+ prepack:: cpy-plugins copy-win-dep prepack-linux prepack-linux-arm64 prepack-linux-386 prepack-windows prepack-windows-386
+
+@@ -149,11 +149,11 @@
+ # Pre-defined recipes for various supported builds:
+
+ # Production 64bit linux binaries are built using GO_BUILD_STATIC_PIE
+-.PHONY: build-linux
+-build-linux: GOARCH=amd64
+-build-linux: GOOS=linux
+-build-linux: GO_BUILD=$(GO_BUILD_PIE)
+-build-linux: build-any-amd64-linux
++.PHONY: build-linux-amd64
++build-linux-amd64: GOARCH=amd64
++build-linux-amd64: GOOS=linux
++build-linux-amd64: GO_BUILD=$(GO_BUILD_PIE)
++build-linux-amd64: build-any-amd64-linux
+
+ .PHONY: build-linux-debug
+ build-linux-debug: clean pre-release
+@@ -193,7 +193,7 @@
+ .PHONY: build-linux-386
+ build-linux-386: GOOS=linux
+ build-linux-386: GOARCH=386
+-build-linux-386: GO_BUILD=$(GO_BUILD_NOPIE)
++build-linux-386: GO_BUILD=$(GO_BUILD_PIE)
+ build-linux-386: build-any-linux-386
+
+ .PHONY: build-windows-386
+@@ -205,17 +205,17 @@
+ build-windows-386: GO_WORKER_SRC_TYPE=windows
+ build-windows-386: build-any-windows-386
+
+-.PHONY: build-arm
+-build-arm: GOOS=linux
+-build-arm: GOARCH=arm
+-build-arm: GO_BUILD=GOARM=6 $(GO_BUILD_NOPIE)
+-build-arm: build-any-arm
++.PHONY: build-linux-arm
++build-linux-arm: GOOS=linux
++build-linux-arm: GOARCH=arm
++build-linux-arm: GO_BUILD=GOARM=6 $(GO_BUILD_PIE)
++build-linux-arm: build-any-linux-arm
+
+-.PHONY: build-arm64
+-build-arm64: GOOS=linux
+-build-arm64: GOARCH=arm64
+-build-arm64: GO_BUILD=$(GO_BUILD_NOPIE)
+-build-arm64: build-any-linux-arm64
++.PHONY: build-linux-arm64
++build-linux-arm64: GOOS=linux
++build-linux-arm64: GOARCH=arm64
++build-linux-arm64: GO_BUILD=$(GO_BUILD_PIE)
++build-linux-arm64: build-any-linux-arm64
+
+ .PHONY: copy-src
+ copy-src:
diff --git a/testing/amazon-ssm-agent/APKBUILD b/testing/amazon-ssm-agent/APKBUILD
new file mode 100644
index 00000000000..e10d984a904
--- /dev/null
+++ b/testing/amazon-ssm-agent/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Will Sinatra <wpsinatra@gmail.com>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=amazon-ssm-agent
+pkgver=3.3.217.0
+pkgrel=0
+pkgdesc="Amazon SSM Agent for managing EC2 Instances using the SSM APIs."
+url="https://aws.amazon.com/documentation/systems-manager/"
+license="Apache-2.0"
+arch="all !s390x !riscv64 !ppc64le"
+# armv7/armhf/x86 complains about cgo linking not being enabled
+makedepends="go gcompat bash cgo"
+source="https://github.com/aws/amazon-ssm-agent/archive/$pkgver/amazon-ssm-agent-$pkgver.tar.gz
+ amazon-ssm-agent.initd
+ 001_sanitize_makefile.patch"
+subpackages="$pkgname-openrc"
+options="!check"
+_binaries="amazon-ssm-agent
+ ssm-agent-worker
+ ssm-cli
+ ssm-document-worker
+ ssm-session-logger
+ ssm-session-worker
+ ssm-setup-cli
+ "
+
+case "$CARCH" in
+ armhf) build_arch=arm ;;
+ armv7) build_arch=arm ;;
+ x86) build_arch=386 ;;
+ x86_64) build_arch=amd64 ;;
+ aarch64) build_arch=arm64 ;;
+esac
+
+build() {
+ make build-linux-$build_arch
+}
+
+package() {
+ for bin in $_binaries; do
+ install -Dm0755 "$builddir"/bin/linux_$build_arch/$bin "$pkgdir"/usr/bin/$bin
+ done
+
+ install -Dm0644 "$builddir"/bin/amazon-ssm-agent.json.template \
+ "$pkgdir"/etc/amazon/ssm/amazon-ssm-agent.json.template
+ install -Dm0644 "$builddir"/bin/seelog_unix.xml \
+ "$pkgdir"/etc/amazon/ssm/seelog.xml
+ install -Dm0644 "$builddir"/bin/seelog_windows.xml.template \
+ "$pkgdir"/etc/amazon/ssm/seelog_windows.xml.template
+
+ install -Dm0755 "$srcdir"/amazon-ssm-agent.initd \
+ "$pkgdir"/etc/init.d/amazon-ssm-agent
+}
+
+sha512sums="
+96b4ef5b3b997b01c667bfbf4bb972cd401eddbfef430b19c69a0e5a498f63abc01fa0ea7ede4c16f4ea7acce63c9b05eae1157c34b27906df669214ad1064a6 amazon-ssm-agent-3.3.217.0.tar.gz
+2c07d6777ad0d3994f09838818bff2c0bc061238e2c3ca757a9bd04cd25924ce24bdc2ecd7edbd4b10717ba3c8806398626e0718acf8e7ba5c66853369b20f48 amazon-ssm-agent.initd
+d90a10ed7f3cf0a58bb73f737c2d10d56b3942886535df7d9215e2cf809c59ef708ed4d9775062e46343cf64726d25adaf048c86f39d4a7647deebd91d69c2f9 001_sanitize_makefile.patch
+"
diff --git a/testing/amazon-ssm-agent/amazon-ssm-agent.initd b/testing/amazon-ssm-agent/amazon-ssm-agent.initd
new file mode 100644
index 00000000000..7862dbe5490
--- /dev/null
+++ b/testing/amazon-ssm-agent/amazon-ssm-agent.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+description="Initialize Amazon SSM Agent"
+command="/usr/bin/amazon-ssm-agent"
+
+start() {
+ ebegin "Starting SSM Agent"
+ start-stop-daemon --start \
+ --chdir ${SSM Agent_path} \
+ --exec ${command} ${command_args} \
+ -b --make-pidfile \
+ --pidfile "${pidfile}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping SSM Agent"
+ start-stop-daemon --stop \
+ --exec ${command} \
+ --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/testing/amdgpu-fan/APKBUILD b/testing/amdgpu-fan/APKBUILD
new file mode 100644
index 00000000000..ea1a75b1593
--- /dev/null
+++ b/testing/amdgpu-fan/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=amdgpu-fan
+pkgver=0.1.0
+pkgrel=4
+pkgdesc="Fan controller for AMD graphics cards running the amdgpu driver on Linux"
+url="https://github.com/zzkW35/amdgpu-fan"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="python3 py3-yaml py3-numpy"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/zzkW35/amdgpu-fan/archive/refs/tags/$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ sed -i "s/PROJECTVERSION/$pkgver/g" setup.py
+}
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH="$PWD/build/lib" pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+b21d8e413d44a263fdbef37fff11a496fe5e46a1f4d1e7ade161dde36750cf0dc02dfd2ccaebc455dac5aa023150101a65a255a38e6d9b70a6bba39da8f26378 amdgpu-fan-0.1.0.tar.gz
+"
diff --git a/testing/ameba/APKBUILD b/testing/ameba/APKBUILD
deleted file mode 100644
index 96f9d6dc9f3..00000000000
--- a/testing/ameba/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=ameba
-pkgver=0.14.3
-pkgrel=0
-pkgdesc="static code analysis tool for Crystal"
-url="https://github.com/crystal-ameba/ameba"
-arch="x86_64 aarch64"
-license="MIT"
-makedepends="crystal libxml2-dev shards yaml-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/veelenga/ameba/archive/v$pkgver.tar.gz"
-
-export CRYSTAL_CACHE_DIR="$srcdir/.cache"
-
-build() {
- make CRFLAGS="--release"
-}
-
-check() {
- make test SPEC_FLAGS="--no-color"
-}
-
-package() {
- make install PREFIX="$pkgdir/usr"
-}
-
-sha512sums="830d71a74bb76c8ed0ee96f0a9363fb3ee7d8eb080a6b8fe07d5e79393e570666f49ac84296d40d77e35c26d0f3d8ad03298e90581bbefd0ac2f45ceb04b969a ameba-0.14.3.tar.gz"
diff --git a/testing/amiitool/APKBUILD b/testing/amiitool/APKBUILD
index 7bfee44eb8c..7c7193a3097 100644
--- a/testing/amiitool/APKBUILD
+++ b/testing/amiitool/APKBUILD
@@ -3,7 +3,7 @@
pkgname=amiitool
pkgver=2
_pkgver=r2
-pkgrel=0
+pkgrel=2
pkgdesc="Reverse-engineered amiibo cryptography"
url="https://github.com/socram8888/amiitool"
arch="all"
@@ -12,6 +12,7 @@ options="!check" # No test suite
makedepends="git mbedtls-dev" # git is used to pull head version
source="$pkgname-$_pkgver.tar.gz::https://github.com/socram8888/amiitool/archive/$_pkgver.tar.gz
fix-mbedtls_include.patch
+ zero-gitversion.patch
"
builddir="$srcdir/$pkgname-$_pkgver"
@@ -23,5 +24,8 @@ package() {
make prefix=/usr DESTDIR="$pkgdir" install
}
-sha512sums="28087a022a88ca604f610dff6f49f19f4c273d7787401a3e1dd998243ba4ca3628adb58bf9ea20e8e6c77cc021bedfeda8b632e0a50efe752eec543f20ef33d6 amiitool-r2.tar.gz
-50bc13ff736c65b05b402e3dc1c3e61242271e9d311f5a60169263e2dd6ca5765dee6b1cde963e3a76980deaf29ee1e65991b9028f9c58c3a6402d959015993e fix-mbedtls_include.patch"
+sha512sums="
+28087a022a88ca604f610dff6f49f19f4c273d7787401a3e1dd998243ba4ca3628adb58bf9ea20e8e6c77cc021bedfeda8b632e0a50efe752eec543f20ef33d6 amiitool-r2.tar.gz
+50bc13ff736c65b05b402e3dc1c3e61242271e9d311f5a60169263e2dd6ca5765dee6b1cde963e3a76980deaf29ee1e65991b9028f9c58c3a6402d959015993e fix-mbedtls_include.patch
+52d4588b155d66f762523247b4a2ba98c1230d06adc9de4b065a6ccbfe4acc6ed5834a7426d0e81fadd8a8517667da61fdd3653d46c7b718d887a470028cc5b5 zero-gitversion.patch
+"
diff --git a/testing/amiitool/zero-gitversion.patch b/testing/amiitool/zero-gitversion.patch
new file mode 100644
index 00000000000..a3c975285fe
--- /dev/null
+++ b/testing/amiitool/zero-gitversion.patch
@@ -0,0 +1,15 @@
+These git commands now error out, instead of returning aports info.
+
+--- a/Makefile
++++ b/Makefile
+@@ -46,8 +46,8 @@
+ $(CC) $(ALL_CFLAGS) -c $< -o $@
+
+ gitversion.h:
+- echo "#define GIT_COMMIT_ID 0x`git rev-parse HEAD | head -c8`" > $(PWD)/gitversion.h
+- echo "#define GIT_COMMIT_COUNT `git rev-list --count --all`" >> $(PWD)/gitversion.h
++ echo "#define GIT_COMMIT_ID 0x0" > $(PWD)/gitversion.h
++ echo "#define GIT_COMMIT_COUNT 0" >> $(PWD)/gitversion.h
+
+ # Static mbed TLS
+ mbedtls: $(MBEDTLS_CONFIG)
diff --git a/testing/ampy/APKBUILD b/testing/ampy/APKBUILD
index 691b0607c8f..8299dbb9448 100644
--- a/testing/ampy/APKBUILD
+++ b/testing/ampy/APKBUILD
@@ -1,18 +1,23 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# This package is in search of a new maintainer
pkgname=ampy
-pkgver=0.20171212
-pkgrel=7
+_pkgname=adafruit-ampy
+pkgver=1.1.0
+pkgrel=5
pkgdesc="Utility to interact with a MicroPython board over a serial connection"
-url="https://github.com/adafruit/ampy"
+url="https://github.com/scientifichackers/ampy"
arch="noarch"
license="MIT"
-depends="python3 py3-pyserial py3-click"
+depends="
+ py3-click
+ py3-dotenv
+ py3-pyserial
+ python3
+ "
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
-_commit="d3df5f57398c581f8a6c1b930b740fd7060e6833"
-source="https://github.com/adafruit/ampy/archive/$_commit/master.tar.gz"
-
-builddir="$srcdir/$pkgname-$_commit"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
prepare() {
default_prepare
@@ -23,13 +28,17 @@ build() {
python3 setup.py build
}
+check() {
+ python3 setup.py check
+}
+
package() {
- python3 setup.py install --prefix=/usr \
- --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
- install -m644 CONTRIBUTING.md README.md \
- "$pkgdir"/usr/share/doc/$pkgname/
+ install -m644 README.md "$pkgdir"/usr/share/doc/$pkgname/
}
-sha512sums="b075745030e924be6bc0eb83fbb2960f27932dd44399a8fe6ce1e54bfbb2bdeba9c159db1add337023327a86ca3808479873afc92ff99b9c024e244cb53bafd5 master.tar.gz"
+sha512sums="
+b06a1007cda17d29c6441c2b8c7d5f7e40e41783e87334791254654d6a6157768af7a4c5b348f8b64620b47a4d86cd86d45bdb02be18c7a146deab74c4935645 adafruit-ampy-1.1.0.tar.gz
+"
diff --git a/testing/amsynth/APKBUILD b/testing/amsynth/APKBUILD
deleted file mode 100644
index 43b26593789..00000000000
--- a/testing/amsynth/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=amsynth
-pkgver=1.12.2
-pkgrel=0
-pkgdesc="easy-to-use software synth with a classic subtractive synthesizer topology"
-url="https://amsynth.github.io"
-arch="all"
-license="GPL-2.0-only"
-depends="libintl"
-makedepends="alsa-lib-dev gettext-dev gtk+2.0-dev jack-dev lv2-dev"
-subpackages="$pkgname-lang $pkgname-lv2"
-source="https://github.com/amsynth/amsynth/releases/download/release-$pkgver/amsynth-$pkgver.tar.gz"
-
-build() {
- LDFLAGS="-lintl $LDFLAGS"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-lv2() {
- pkgdesc="amsynth (LV2 plugins)"
- amove usr/lib/lv2/*
-}
-
-sha512sums="a1eef3d5a0d0f0ec1edb93d89b3e456ea133a8445a9be73ba338771ae651a2008aea8dd077a9bcf0cd50e6bcc97ad98ab4c44a9baefd9f3381287afdf3325e8f amsynth-1.12.2.tar.gz"
diff --git a/testing/amule/APKBUILD b/testing/amule/APKBUILD
index 8c1fabc3700..6065cbd5627 100644
--- a/testing/amule/APKBUILD
+++ b/testing/amule/APKBUILD
@@ -3,28 +3,39 @@
pkgname=amule
_pkgname=aMule
pkgver=2.3.3
-pkgrel=2
+pkgrel=12
pkgdesc="eMule-like client for the eD2k and Kademlia networks"
url="https://www.amule.org/"
-arch="all"
+arch="all !x86" # crypto++
license="GPL-2.0-or-later"
-makedepends="bison boost-dev crypto++-dev gd-dev geoip-dev libsm-dev libupnp-dev
- wxgtk3-dev"
+makedepends="
+ bison
+ boost-dev
+ crypto++-dev
+ gd-dev
+ geoip-dev
+ libsm-dev
+ libupnp-dev
+ wxwidgets-dev
+ "
options="!check" # unexpected end of file
subpackages="$pkgname-lang $pkgname-doc"
-source="$_pkgname-$pkgver.tar.xz::https://downloads.sourceforge.net/project/amule/aMule/2.3.3/aMule-$pkgver.tar.xz"
+source="$_pkgname-$pkgver.tar.xz::https://downloads.sourceforge.net/project/amule/aMule/$pkgver/aMule-$pkgver.tar.xz
+ fix-gcc11-include.patch
+ "
builddir="$srcdir/$_pkgname-$pkgver"
build() {
+ export CFLAGS="$CFLAGS -flto=auto -DNDEBUG"
+ export CXXFLAGS="$CXXFLAGS -flto=auto -DNDEBUG"
+
./configure \
- CPPFLAGS="$CPPFLAGS -Wno-unused-local-typedefs" \
- CFLAGS="$CFLAGS -fPIC" \
- CXXFLAGS="$CXXFLAGS -fPIC" \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--mandir=/usr/share/man \
+ --disable-debug \
--enable-alc \
--enable-alcc \
--enable-amule-daemon \
@@ -35,9 +46,9 @@ build() {
--enable-optimize \
--enable-upnp \
--enable-webserver \
- --disable-debug \
- --with-boost \
- --with-wx-config=wx-config-gtk3
+ --enable-fileview \
+ --with-boost
+
make
}
@@ -49,4 +60,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a5a80c5ddd1e107d92070c1d8e232c2762c4c54791abc067c739eef7c690062ed164dd7733808f80c762719261162aeb3d602308964dda2670a0bb059d87b74e aMule-2.3.3.tar.xz"
+sha512sums="
+a5a80c5ddd1e107d92070c1d8e232c2762c4c54791abc067c739eef7c690062ed164dd7733808f80c762719261162aeb3d602308964dda2670a0bb059d87b74e aMule-2.3.3.tar.xz
+ce5e35ad33a188358dc311df06a2357dba52b5905f345dcba0fb44337ee1a1314579e918cb4e0cc60818a39d5c4678321262e9d6b1e17fe800fda55a5def1976 fix-gcc11-include.patch
+"
diff --git a/testing/amule/fix-gcc11-include.patch b/testing/amule/fix-gcc11-include.patch
new file mode 100644
index 00000000000..34fb3367e34
--- /dev/null
+++ b/testing/amule/fix-gcc11-include.patch
@@ -0,0 +1,10 @@
+--- a/src/libs/common/MuleDebug.cpp
++++ b/src/libs/common/MuleDebug.cpp
+@@ -24,6 +24,7 @@
+ //
+
+ #include <cstdlib> // Needed for std::abort()
++#include <exception>
+
+ #include "config.h" // Needed for HAVE_CXXABI and HAVE_EXECINFO
+
diff --git a/testing/anarch/APKBUILD b/testing/anarch/APKBUILD
new file mode 100644
index 00000000000..1ea4bd00daf
--- /dev/null
+++ b/testing/anarch/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Waweic <waweic@activ.ism.rocks>
+# Maintainer: Waweic <waweic@activ.ism.rocks>
+pkgname=anarch
+pkgver=1.0
+pkgrel=1
+pkgdesc="Extremely small 90s style doom clone"
+url="https://gitlab.com/drummyfish/anarch"
+arch="all"
+license="CC0-1.0"
+makedepends="sdl2-dev"
+subpackages="$pkgname-doc"
+source="https://gitlab.com/drummyfish/anarch/-/archive/$pkgver/anarch-$pkgver.tar.gz"
+options="!check" # No tests in source
+
+build() {
+ cc -O3 -o anarch main_sdl.c -lSDL2
+}
+
+package() {
+ install -Dm755 anarch -t "$pkgdir"/usr/bin/
+ for file in README.md IDEAS.txt; do
+ install -Dm644 $file -t "$pkgdir"/usr/share/doc/$pkgname/
+ done
+}
+
+sha512sums="
+f9d3335401a0cfd03ab253e4545675c41ba5d1c552eed3d6932ab6aa2b27d90817a844b5fb0f1199b7e4bc7a6319cc6a5ea0c1014bd1e2ae637c2eef4f4c1fda anarch-1.0.tar.gz
+"
diff --git a/testing/anari-sdk/APKBUILD b/testing/anari-sdk/APKBUILD
new file mode 100644
index 00000000000..bfe1b69e600
--- /dev/null
+++ b/testing/anari-sdk/APKBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
+pkgname=anari-sdk
+pkgver=0.7.2
+pkgrel=0
+pkgdesc="SDK for the ANARI 3D rendering engine interface API"
+url="https://github.com/KhronosGroup/ANARI-SDK"
+arch="all"
+license="Apache-2.0"
+makedepends="cmake ninja python3 glm-dev"
+subpackages="$pkgname-static $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/KhronosGroup/ANARI-SDK/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/ANARI-SDK-$pkgver"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+
+ # render tests require a valid device
+ sed -i /add_subdirectory\(render\)/d tests/CMakeLists.txt
+
+ cmake -B build-shared -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_CTS=OFF \
+ -DBUILD_HELIDE_DEVICE=OFF \
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
+ -DBUILD_EXAMPLES=OFF \
+ $CMAKE_CROSSOPTS
+ cmake --build build-shared
+
+ cmake -B build-static -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DBUILD_CTS=OFF \
+ -DBUILD_HELIDE_DEVICE=OFF \
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
+ -DBUILD_EXAMPLES=OFF \
+ $CMAKE_CROSSOPTS
+ cmake --build build-static
+}
+
+check() {
+ msg "Testing shared version"
+ ctest --test-dir build-shared --output-on-failure
+
+ msg "Testing static version"
+ ctest --test-dir build-static --output-on-failure
+}
+
+package() {
+ # installing static first lets shared overwrite the executables so they
+ # themselves are not statically linking the library
+ DESTDIR="$pkgdir" cmake --install build-static
+ DESTDIR="$pkgdir" cmake --install build-shared
+}
+
+sha512sums="
+e54969a6b6186eb9a1d7c8ba16647ea0e54114d130947a2690fb0ed42094ea8d0fba8d289cf79b56fbae337fafc829077e9c9dddeedf5e03c3a6ca1747531dea anari-sdk-0.7.2.tar.gz
+"
diff --git a/testing/android-apkeep/APKBUILD b/testing/android-apkeep/APKBUILD
new file mode 100644
index 00000000000..c376ecd09e5
--- /dev/null
+++ b/testing/android-apkeep/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=android-apkeep
+pkgver=0.16.0
+pkgrel=0
+pkgdesc="A command-line tool for downloading Android APK files from various sources"
+url="https://github.com/EFForg/apkeep"
+# ppc64le, riscv64, s390x: ring crate
+arch="all !ppc64le !riscv64 !s390x"
+license="MIT"
+makedepends="
+ bzip2-dev
+ cargo
+ cargo-auditable
+ openssl-dev
+ zstd-dev
+ "
+source="https://github.com/EFForg/apkeep/archive/refs/tags/$pkgver/apkeep-$pkgver.tar.gz"
+options="!check" # no tests
+builddir="$srcdir/apkeep-$pkgver"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+
+ # Rust target triple.
+ local target=$(rustc -vV | sed -n 's/host: //p')
+
+ # Build against system-provided libs
+ mkdir -p .cargo
+ cat >> .cargo/config.toml <<-EOF
+ [target.$target]
+ bzip2 = { rustc-link-lib = ["bz2"] }
+ zstd = { rustc-link-lib = ["zstd"] }
+ EOF
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+package() {
+ install -Dm755 target/release/apkeep "$pkgdir"/usr/bin/apkeep
+}
+
+sha512sums="
+912d83d138e4440e2fc1e8e8a47f92e821fcdaa0378a6a28659a511f082df3d8056d0e0be1d7df227edae2b8c1adaa40ad5f39889fce4d70fa8b1044479b6b62 apkeep-0.16.0.tar.gz
+"
diff --git a/testing/android-apktool/APKBUILD b/testing/android-apktool/APKBUILD
index 1b29bd145f2..0ef2fc795c6 100644
--- a/testing/android-apktool/APKBUILD
+++ b/testing/android-apktool/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=android-apktool
-pkgver=2.6.0
+pkgver=2.9.3
pkgrel=0
pkgdesc="Tool for reverse engineering Android apk files"
-url="https://ibotpeaches.github.io/Apktool/"
-arch="all !x86 !armhf !armv7 !mips64 !riscv64"
+url="https://apktool.org/"
+arch="all !x86 !armhf !armv7 !riscv64"
# disabled due to openjdk11 limitations
license="Apache-2.0"
depends="openjdk11-jre-headless"
source="https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_$pkgver.jar
- apktool"
+ apktool
+ "
options="!check"
# no tests available
@@ -20,6 +21,6 @@ package() {
}
sha512sums="
-4200be3aa8923ff4af17c1cc831e228ccdbf377f47c082f8a7d45ac8ca950f0c3354072ef986e1947daf25531e153973872de4fc52d8cfee5ee100bdd3283d70 apktool_2.6.0.jar
+c4867b62c4dbe2b03ffa4f28458138541dc765aafeef84becc9a10d001e67bf6c49a6dab54b0ac6c292bac65c50764efe17d8c7ff6bdf26dc4e960042a8f4162 apktool_2.9.3.jar
8cb0d693996fe5a3df2f49120336962bc4d36ad6540744b6bc53dd1c03cc2b34e339f3749804abd9c054510b7093da77b18e77e886795c4f6b2206c64ea0247e apktool
"
diff --git a/testing/android-file-transfer/APKBUILD b/testing/android-file-transfer/APKBUILD
new file mode 100644
index 00000000000..2b8f045fe32
--- /dev/null
+++ b/testing/android-file-transfer/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=android-file-transfer
+pkgver=4.3
+pkgrel=0
+pkgdesc="Android MTP client with minimalistic UI"
+url="https://whoozle.github.io/android-file-transfer-linux/"
+license="LGPL-2.1-only"
+arch="all"
+makedepends="
+ cmake
+ file-dev
+ fuse-dev
+ linux-headers
+ openssl-dev
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ readline-dev
+ samurai
+ taglib-dev
+ zlib-dev
+ "
+subpackages="$pkgname-cli $pkgname-libs $pkgname-dev"
+source="https://github.com/whoozle/android-file-transfer-linux/archive/v$pkgver/android-file-transfer-$pkgver.tar.gz"
+builddir="$srcdir/android-file-transfer-linux-$pkgver"
+options="!check" # no test suite
+
+cli() {
+ amove usr/bin/aft-mtp-*
+}
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIB=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+f5e51ad1532be44916df51dda5f6f7423a5b0d8ebd733a0a3f0424f684b9f84fc5996fb5effd45009eb1c60d873f79e8ecc47a9dc09ff429b4a458807a79ca8c android-file-transfer-4.3.tar.gz
+"
diff --git a/testing/android-translation-layer/APKBUILD b/testing/android-translation-layer/APKBUILD
new file mode 100644
index 00000000000..7321a999411
--- /dev/null
+++ b/testing/android-translation-layer/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=android-translation-layer
+pkgver=0_git20240219
+pkgrel=0
+_commit="d3eedb0305d52be28d90560f1e099dd11056ab5d"
+pkgdesc="A translation layer for running Android apps on a Linux system"
+url="https://gitlab.com/android_translation_layer/android_translation_layer"
+arch="x86_64 aarch64 armv7"
+license="GPL-3.0-only"
+# libopensles-standalone is not strictly required but some Android applications depend on it
+depends="libopensles-standalone"
+makedepends="
+ alsa-lib-dev
+ bionic_translation-dev
+ art_standalone-dev
+ ffmpeg-dev
+ glib-dev
+ gtk4.0-dev
+ java-common
+ libportal-dev
+ meson
+ openjdk8-jdk
+ openxr-dev
+ skia-sharp-dev
+ vulkan-loader-dev
+ "
+subpackages="$pkgname-dbg"
+source="https://gitlab.com/mis012/android_translation_layer/-/archive/$_commit/android_translation_layer-$_commit.tar.gz"
+builddir="$srcdir/android_translation_layer-$_commit"
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+c1d16346076fae74323bf573e436a3867dc03d5bdb58690bf304dabe9d209ee1d00339a92d16d13263efc1c4530523ef742044fbed425a9a75c538ac780d0376 android_translation_layer-d3eedb0305d52be28d90560f1e099dd11056ab5d.tar.gz
+"
diff --git a/testing/angband/APKBUILD b/testing/angband/APKBUILD
new file mode 100644
index 00000000000..a7678998a44
--- /dev/null
+++ b/testing/angband/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Elly Fong-Jones <elly@elly.town>
+# Maintainer: Elly Fong-Jones <elly@elly.town>
+pkgname=angband
+pkgver=4.2.5
+pkgrel=0
+pkgdesc="Roguelike computer role playing game"
+url="https://rephial.org"
+arch="all"
+# License: GPL-2.0-only for the actual code, but the tile sets (which this build
+# includes) have different licenses. See docs/copying.rst in the source tree for
+# full details.
+license="GPL-2.0-only AND custom"
+makedepends="ncurses-dev sdl2-dev sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev"
+checkdepends="perl"
+source="https://github.com/angband/angband/releases/download/$pkgver/Angband-$pkgver.tar.gz"
+builddir="$srcdir/Angband-$pkgver"
+
+# Angband has a unit test suite, but it requires the game to be installed
+# to run: https://github.com/angband/angband/issues/5517
+options="!check"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --bindir=/usr/bin \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-curses \
+ --disable-x11 \
+ --enable-sdl2 \
+ --disable-sdl \
+ --disable-test \
+ --disable-stats
+ make
+}
+
+check() {
+ make tests
+ # Note: there are also a handful of integration tests, but they don't
+ # have a separate build target and instead compile extra code into
+ # the production binary. We don't want the extra code size, so they
+ # aren't run here.
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+5d907849da64c27b16ebd8fac839eb7db72d7f2352671c57545beea6700dfd1c5b3387e6a222da12ef066329c28108d03bad6e84c99ab8bcb68513adbb71aad1 Angband-4.2.5.tar.gz
+"
diff --git a/testing/anki/APKBUILD b/testing/anki/APKBUILD
index f8adfd97f25..fa352a278b6 100644
--- a/testing/anki/APKBUILD
+++ b/testing/anki/APKBUILD
@@ -1,30 +1,155 @@
-# Contributor: Frank Oltmanns <alpine@oltmanns.dev>
# Maintainer: Frank Oltmanns <alpine@oltmanns.dev>
+# Contributor: Alexander Bocken <alexander@bocken.org>
+
pkgname=anki
-pkgver=2.1.15
-pkgrel=0
+pkgver=23.12.1
+pkgrel=2
+# Remember to update the following lines when updating the pkgver
+# anki -> git rev-parse $pkgver --short=8
+# ftl -> git submodule
+_tags_ftl_core="fb301cc62da3b7a83b4ea266d9a2e70cfc1a8418"
+_tags_ftl_desktop="8c2191a7c797747cec767e3953bbbcc50acc5246"
+_anki_commit="c0f2fa48"
+
+# This APKBUILD and the patches use the PKGBUILD for Anki 23.10 as
+# a basis.
+_caches_yarn="yarn-cache"
+_caches_cargo="cargo-cache"
+
+# For translations
+_core_i18n_repo="anki-core-i18n"
+_qtftl_i18n_repo="anki-desktop-ftl"
+
pkgdesc="flashcard program using spaced repetition"
url="https://apps.ankiweb.net/"
-# armhf blocked by qt5-qtdeclarative -> py3-qtwebengine
-# mips64, ppc64le and s390x are blocked by py3-qtwebengine
-# riscv64 blocked by qt5-qtwebengine -> py3-qtwebengine
-arch="noarch !armhf !mips64 !ppc64le !s390x !riscv64"
+
+# py3-pyqt6-webengine is only available for
+# - x86_64
+# - aarch64
+# - x86
+# But upstream only supports 64-bit architectures:
+arch="x86_64 aarch64"
license="AGPL-3.0-or-later"
options="!check" # no test suite provided
-makedepends="bash xdg-utils perl"
-depends="py3-decorator py3-qt5 py3-qtwebengine py3-beautifulsoup4 py3-requests
- py3-send2trash py3-pyaudio py3-markdown py3-jsonschema py3-distro"
-subpackages="$pkgname-doc"
-source="https://github.com/ankitects/anki/archive/$pkgver/anki-$pkgver.tar.gz"
+# The makedepends and depends are copied from the PKGBUILD
+# for 23.10 in the Arch User Repository, with the exception
+# that libxcrypt-compat has been removed from that list.
+makedepends="
+ bash
+ rsync
+ ninja
+ git
+ cargo
+ py3-installer
+ py3-wheel
+ nodejs
+ yarn
+ protoc
+ "
+
+depends="
+ python3
+ py3-stringcase
+ py3-beautifulsoup4
+ py3-waitress
+ py3-requests
+
+ py3-decorator
+ py3-markdown
+ py3-orjson
+ py3-protobuf
+ py3-pysocks
+ py3-distro
+
+ py3-jsonschema
+ py3-send2trash
+ py3-certifi
+ py3-flask-cors
+ py3-qt6
+ py3-pyqt6-webengine
+ qt6-qtmultimedia
+ qt6-qtsvg
+ "
+subpackages="$pkgname-pyc"
+source="
+ https://github.com/ankitects/anki/archive/$pkgver/anki-$pkgver.tar.gz
+ anki-core-i18n-$_tags_ftl_core.tar.gz::https://github.com/ankitects/anki-core-i18n/archive/$_tags_ftl_core.tar.gz
+ anki-desktop-ftl-$_tags_ftl_desktop.tar.gz::https://github.com/ankitects/anki-desktop-ftl/archive/$_tags_ftl_desktop.tar.gz
+ disable-git-checks.patch
+ no-update.patch
+ strip-formatter-deps.patch
+ strip-type-checking-deps.patch
+ dprint-update-for-musl-aarch64.patch
+ "
+
+prepare() {
+ default_prepare
+
+ # Notes:
+ # - The original PKGBUILD changes the optimization level to "3". Instead
+ # the APKBUILD sticks to upstream's optimization settings.
+ # - The original PKGBUILD changes the rust toolchain channel to
+ # "stable". Since, the APKBUILD doesn't use rustup, we can skip that.
+
+ # Build process wants .git/HEAD to be present. Workaround to be able to use tarballs
+ # (together with disable-git-checks.patch)
+ mkdir -p .git
+ touch .git/HEAD
+ sed -i "s/MY_REV/$_anki_commit/" build/runner/src/build.rs
+
+ # place translations in build dir
+ rm -r ftl/core-repo ftl/qt-repo
+ mv "$srcdir"/anki-core-i18n-$_tags_ftl_core ftl/core-repo
+ mv "$srcdir"/anki-desktop-ftl-$_tags_ftl_desktop ftl/qt-repo
+
+ # fetch rust packages
+ export CARGO_HOME="$srcdir/$_caches_cargo" # do not litter in ~
+ cargo fetch --target="$CTARGET" --locked
+
+ # fetch node packages already in prepare()
+ export YARN_CACHE_FOLDER="$srcdir/$_caches_yarn" # do not litter in ~
+ yarn install --immutable --modules-folder out/node_modules
+ ln -sf out/node_modules ./
+
+ # mask pip-sync as we provide dependencies ourselves
+ local venv="out/pyenv"
+ python -m venv --system-site-packages --without-pip "$venv"
+ printf '#!/bin/bash\nexit 0' > "$venv/bin/pip-sync"
+ chmod +x "$venv/bin/pip-sync"
+}
build() {
- "$builddir"/tools/build_ui.sh
+ export YARN_CACHE_FOLDER="$srcdir/$_caches_yarn" # do not litter in ~
+
+ #use local binaries instead of downloading them
+ export PYTHON_BINARY=$(which python)
+ export PROTOC_BINARY=$(which protoc)
+ export NODE_BINARY=$(which node)
+ export YARN_BINARY=$(which yarn)
+
+ export CARGO_HOME="$srcdir/$_caches_cargo" # do not litter in ~
+ export RELEASE=2 # anki-internal variable for optimization
+ # set to "1" for faster but less optimized build
+ export LDFLAGS="$LDFLAGS -fuse-ld=lld"
+ ./ninja wheels
}
package() {
- make DESTDIR="$pkgdir" install
+ for file in out/wheels/*.whl; do
+ python -m installer --destdir="$pkgdir" $file
+ done
+
+ install -Dm644 qt/bundle/lin/anki.desktop "$pkgdir"/usr/share/applications/anki.desktop
+ install -Dm644 qt/bundle/lin/anki.png "$pkgdir"/usr/share/pixmaps/anki.png
}
sha512sums="
-5bad99d9bfa10782f1d5b69437f45ea8b44d7a65ac1defe1169379f6ce29727c05af896934169c5222b37a4c1b6f3e05b6d10a3a152cc32cfec432fdf2e19b79 anki-2.1.15.tar.gz
+076d3eba5db7dd4b8e00de9b69140a54f73c2e6ce52f46ddce9a6455a8ce7ae5d49bfb2fc60571d851d6b4948a08a0b3deb508aa37c7e79624b6273837a975a5 anki-23.12.1.tar.gz
+12e9187bda8f728d06a904fe21f3820aa2acad0e1924933d9db24f3879936b0a7b489934186fcab85440a40b974917ada729b5a7ec276ca2acea70b5c88caa5a anki-core-i18n-fb301cc62da3b7a83b4ea266d9a2e70cfc1a8418.tar.gz
+91c3609fa8ca67de2d520798acbb7200d310c4d587270143528a5c18ed341c7dd3b9ddc8d79fe1f44224e83dc06f12cdbcdcf2114969513cbd60e82950343373 anki-desktop-ftl-8c2191a7c797747cec767e3953bbbcc50acc5246.tar.gz
+60f2f37d4fc03d7c0681b2d6b9af17b2f7cd341ef6bd4504cd7dd6cb191c666b128a4c2184ced5295fab98c5f83affc4bfd4c5dc23f502371e2e095aa880e526 disable-git-checks.patch
+36c3bddb5de84f0f5eebe46b506b9723ecc80dd69281b3d2ffc9842fa2db181ececd8232ae0b3366bcfd5cb68a4d760abcadd3dada2a7ce2d2da26586a132e09 no-update.patch
+f71b45b08b8f05d98faab3a88d7ba2847a948a12ca26c682d58541dc423ad72ae8aac5b34155472869ebbf195e5e5c488cfc4e640df7247c7674e5dfad053d60 strip-formatter-deps.patch
+2c7d1ab46d81e65f22e63cb5af37daef27a78d348f240570f9250730d6b33311670876027fd1c54d4c69922c18a7458e82211cb232e98591e182ac11c49877db strip-type-checking-deps.patch
+627d30af756ad51fa76ea3113e18662c8bfa5ba7e89b418604e13581cc811ce89c674042181566fff962adef0dd5edb2e5af2803c33cee470661f2d2d1f4c331 dprint-update-for-musl-aarch64.patch
"
diff --git a/testing/anki/disable-git-checks.patch b/testing/anki/disable-git-checks.patch
new file mode 100644
index 00000000000..905e641b78e
--- /dev/null
+++ b/testing/anki/disable-git-checks.patch
@@ -0,0 +1,30 @@
+We provide source tarballs without git functionality.
+'MY_REV' gets replaced with the corresponding revision in prepare().
+--- a/build/ninja_gen/src/git.rs
++++ b/build/ninja_gen/src/git.rs
+@@ -13,7 +13,7 @@ pub struct SyncSubmodule {
+
+ impl BuildAction for SyncSubmodule {
+ fn command(&self) -> &str {
+- "git -c protocol.file.allow=always submodule update --init $path"
++ "true"
+ }
+
+ fn files(&mut self, build: &mut impl build::FilesHandle) {
+--- a/build/runner/src/build.rs
++++ b/build/runner/src/build.rs
+@@ -161,13 +161,7 @@ fn maybe_update_buildhash(build_root: &Utf8Path) {
+ }
+
+ fn get_buildhash() -> String {
+- let output = Command::new("git")
+- .args(["rev-parse", "--short=8", "HEAD"])
+- .output()
+- .expect("git");
+- assert!(output.status.success(),
+- "Invoking 'git' failed. Make sure you're building from a clone of the git repo, and that 'git' is installed.");
+- String::from_utf8(output.stdout).unwrap().trim().into()
++ String::from("MY_REV").trim().into()
+ }
+
+ fn write_if_changed(path: &Utf8Path, contents: &str) {
diff --git a/testing/anki/dprint-update-for-musl-aarch64.patch b/testing/anki/dprint-update-for-musl-aarch64.patch
new file mode 100644
index 00000000000..8984a340ac5
--- /dev/null
+++ b/testing/anki/dprint-update-for-musl-aarch64.patch
@@ -0,0 +1,11 @@
+--- a/package.json
++++ b/package.json
+@@ -23,7 +23,7 @@
+ "caniuse-lite": "^1.0.30001431",
+ "cross-env": "^7.0.2",
+ "diff": "^5.0.0",
+- "dprint": "=0.35.3",
++ "dprint": "^0.42.5",
+ "esbuild": "^0.18.10",
+ "esbuild-sass-plugin": "^2",
+ "esbuild-svelte": "^0.7.4",
diff --git a/testing/anki/no-update.patch b/testing/anki/no-update.patch
new file mode 100644
index 00000000000..7dc6228e2c6
--- /dev/null
+++ b/testing/anki/no-update.patch
@@ -0,0 +1,13 @@
+diff --git a/qt/aqt/update.py b/qt/aqt/update.py
+index 212ddf93d..6f716cc04 100644
+--- a/qt/aqt/update.py
++++ b/qt/aqt/update.py
+@@ -11,6 +11,8 @@ from aqt.utils import openLink, show_warning, showText, tr
+
+
+ def check_for_update() -> None:
++ return
++
+ from aqt import mw
+
+ def do_check(_col: Collection) -> CheckForUpdateResponse:
diff --git a/testing/anki/strip-formatter-deps.patch b/testing/anki/strip-formatter-deps.patch
new file mode 100644
index 00000000000..1f65cb25126
--- /dev/null
+++ b/testing/anki/strip-formatter-deps.patch
@@ -0,0 +1,9 @@
+ Remove dependency on dev-python/black used to format the generated hooks.py
+ file as it's not relevant in a packaging use case.
+--- a/pylib/tools/hookslib.py
++++ b/pylib/tools/hookslib.py
+@@ -208,4 +208,3 @@ def write_file(path: str, hooks: list[Hook], prefix: str, suffix: str):
+ os.environ["USERPROFILE"] = os.environ["HOME"]
+ with open(path, "wb") as file:
+ file.write(code.encode("utf8"))
+- subprocess.run([sys.executable, "-m", "black", "-q", path], check=True)
diff --git a/testing/anki/strip-type-checking-deps.patch b/testing/anki/strip-type-checking-deps.patch
new file mode 100644
index 00000000000..d9c4e034669
--- /dev/null
+++ b/testing/anki/strip-type-checking-deps.patch
@@ -0,0 +1,23 @@
+We don't do type checking (via mypy and related) downstream.
+Mypy-protobuf generates mypy stub files from protobuf specs and should
+therefore be stripped.
+--- a/build/configure/src/python.rs
++++ b/build/configure/src/python.rs
+@@ -87,9 +87,7 @@ pub struct GenPythonProto {
+ impl BuildAction for GenPythonProto {
+ fn command(&self) -> &str {
+ "$protoc $
+- --plugin=protoc-gen-mypy=$protoc-gen-mypy $
+ --python_out=$builddir/pylib $
+- --mypy_out=$builddir/pylib $
+ -Iproto $in"
+ }
+
+@@ -107,7 +105,6 @@ impl BuildAction for GenPythonProto {
+ .collect();
+ build.add_inputs("in", &self.proto_files);
+ build.add_inputs("protoc", inputs![":protoc_binary"]);
+- build.add_inputs("protoc-gen-mypy", inputs![":pyenv:protoc-gen-mypy"]);
+ build.add_outputs("", python_outputs);
+ }
+ }
diff --git a/testing/ansible-bender/APKBUILD b/testing/ansible-bender/APKBUILD
new file mode 100644
index 00000000000..e122afa16f6
--- /dev/null
+++ b/testing/ansible-bender/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=ansible-bender
+pkgver=0.10.1
+pkgrel=2
+pkgdesc="Container image builder using Buildah and Ansible"
+url="https://ansible-community.github.io/ansible-bender/"
+# s390x: blocked by aardvark-dns and netavark -> podman
+arch="all !s390x"
+license="MIT"
+depends="
+ ansible-core
+ buildah
+ py3-jsonschema
+ py3-tabulate
+ py3-yaml
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ "
+checkdepends="py3-pytest py3-flexmock podman"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ansible-community/ansible-bender/archive/refs/tags/$pkgver.tar.gz"
+
+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 tests/unit/
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+
+ install -Dm644 docs/md_docs/*.md -t "$pkgdir"/usr/share/doc/$pkgname/
+}
+
+sha512sums="
+46388d075a484ee97ecfe0340bce63cccd1a014e9ff4bba96a9e1cf68d870fb6840fb10203bc24c9ef286cc2ddf5c2111fc2c6a03d5f3aeda72881c542d0dfcc ansible-bender-0.10.1.tar.gz
+"
diff --git a/testing/ansiweather/APKBUILD b/testing/ansiweather/APKBUILD
new file mode 100644
index 00000000000..11a43b5b5be
--- /dev/null
+++ b/testing/ansiweather/APKBUILD
@@ -0,0 +1,25 @@
+# Maintainer:
+pkgname=ansiweather
+pkgver=1.19.0
+pkgrel=1
+pkgdesc="Weather in terminal, with ANSI colors and Unicode symbols"
+url="https://github.com/fcambus/ansiweather"
+arch="noarch"
+license="BSD-2-Clause"
+depends="
+ bc
+ curl
+ jq
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/fcambus/ansiweather/releases/download/$pkgver/ansiweather-$pkgver.tar.gz"
+options="!check" # no tests
+
+package() {
+ install -Dm755 ansiweather -t "$pkgdir"/usr/bin/
+ install -Dm644 ansiweather.1 -t "$pkgdir"/usr/share/man/man1/
+}
+
+sha512sums="
+1dc521c904041a698fbb1a3a78f5a0b7d5bdc731258ab9cc384ee1a9f750c60723b0038288d7d98875672d167614f7bb8ca69ff1f7d38a28d52916afd5bda0a2 ansiweather-1.19.0.tar.gz
+"
diff --git a/testing/antibody/APKBUILD b/testing/antibody/APKBUILD
index 26f6156d5aa..520869fd59f 100644
--- a/testing/antibody/APKBUILD
+++ b/testing/antibody/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Aleks Bunin <alpinelinux@compuix.com>
pkgname=antibody
pkgver=6.1.1
-pkgrel=2
+pkgrel=20
pkgdesc="The fastest zsh shell plugin manager."
url="https://github.com/getantibody/antibody"
license="MIT"
@@ -10,16 +10,14 @@ arch="all"
depends="git zsh"
makedepends="go"
source="$pkgname-$pkgver.tar.gz::https://github.com/getantibody/antibody/archive/v$pkgver.tar.gz"
-builddir="$srcdir/go/src/github.com/getantibody/antibody"
+options="!check" # uses removed github api
-prepare() {
- default_prepare
- mkdir -p "$srcdir/go/src/github.com/getantibody"
- mv "$srcdir/$pkgname-$pkgver" "$builddir"
-}
+export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- export GOPATH="$srcdir/go"
go build -o antibody -ldflags "-X main.version=$pkgver" -trimpath
}
@@ -31,9 +29,6 @@ package() {
install -sD -m 755 antibody "$pkgdir"/usr/bin/antibody
}
-cleanup_srcdir() {
- go clean -modcache
- default_cleanup_srcdir
-}
-
-sha512sums="0a436227d195b1e68be03d62d0f7fab0f10c4434df10e047468809a6dcf330623c54ddf4e52c459d7b816a3be977e62c6aba58408881f9a45583456e37614b04 antibody-6.1.1.tar.gz"
+sha512sums="
+0a436227d195b1e68be03d62d0f7fab0f10c4434df10e047468809a6dcf330623c54ddf4e52c459d7b816a3be977e62c6aba58408881f9a45583456e37614b04 antibody-6.1.1.tar.gz
+"
diff --git a/testing/apache-mod-auth-gssapi/APKBUILD b/testing/apache-mod-auth-gssapi/APKBUILD
index fb80a32b13f..705e686915e 100644
--- a/testing/apache-mod-auth-gssapi/APKBUILD
+++ b/testing/apache-mod-auth-gssapi/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=apache-mod-auth-gssapi
-pkgver=1.6.3
-pkgrel=0
+pkgver=1.6.5
+pkgrel=1
pkgdesc="GSSAPI authentication for Apache"
url="https://github.com/gssapi/mod_auth_gssapi"
arch="all"
license="MIT"
depends="apache2"
-makedepends="apache2-dev krb5-dev openssl-dev
+makedepends="apache2-dev krb5-dev openssl-dev>3
automake autoconf m4 libtool flex bison"
options="!check" # some packages missing from Alpine, see: https://github.com/gssapi/mod_auth_gssapi/ on "Tests" paragraph
source="$pkgname-$pkgver.zip::https://github.com/gssapi/mod_auth_gssapi/archive/v$pkgver.zip
@@ -33,5 +33,7 @@ package() {
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="7cac212a32bd3b69627d60e0cccc996514df743fde6524750db3acbd4b41da9c1e3d98f7ff1040a773577516b850ecb2c8b12a1259749c5b4d94d347f08c1ffe apache-mod-auth-gssapi-1.6.3.zip
-45658d5446f18315de1a66b682a0669d15b0782e46e649b7d5c4bea2e1c9735909ee1b4d36e9eaa0e54bac68773bb68610d4a0bf68a9eccb368d569489246dfa mod-auth-gssapi.conf"
+sha512sums="
+356f2b0287bc8d3a976f1c5251654362b6489f0cda177fe43811fa873b8bccd6de6b5cb111dc8c13b40d3235ee4200aeac0bfa49ae8f3575b96292a65f647e51 apache-mod-auth-gssapi-1.6.5.zip
+45658d5446f18315de1a66b682a0669d15b0782e46e649b7d5c4bea2e1c9735909ee1b4d36e9eaa0e54bac68773bb68610d4a0bf68a9eccb368d569489246dfa mod-auth-gssapi.conf
+"
diff --git a/testing/apache-mod-auth-openidc/APKBUILD b/testing/apache-mod-auth-openidc/APKBUILD
index b2309898622..11eb98866b0 100644
--- a/testing/apache-mod-auth-openidc/APKBUILD
+++ b/testing/apache-mod-auth-openidc/APKBUILD
@@ -1,18 +1,33 @@
# Maintainer: Takumi Takahashi <takumiiinn@gmail.com>
pkgname=apache-mod-auth-openidc
_pkgname=mod_auth_openidc
-pkgver=2.4.4.1
+pkgver=2.4.15.7
pkgrel=0
pkgdesc="OpenID Connect Relying Party implementation for Apache HTTP Server 2.x"
url="https://www.mod-auth-openidc.org"
-arch="all !s390x !mips !mips64" # tests fails on s390x from cjose
+arch="all !s390x" # tests fails on s390x from cjose
license="Apache-2.0"
depends="apache2"
-makedepends="apache2-dev musl-dev cjose-dev openssl-dev curl-dev hiredis-dev jansson-dev jq-dev pcre-dev oniguruma-dev"
+makedepends="
+ apache2-dev
+ cjose-dev
+ curl-dev
+ hiredis-dev
+ jansson-dev
+ jq-dev
+ musl-dev
+ oniguruma-dev
+ openssl-dev
+ pcre2-dev
+ "
subpackages="$pkgname-doc $pkgname-static"
-source="https://github.com/zmartzone/mod_auth_openidc/releases/download/v$pkgver/$_pkgname-$pkgver.tar.gz"
+source="https://github.com/OpenIDC/mod_auth_openidc/releases/download/v$pkgver/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
+# secfixes:
+# 2.4.15.3-r0:
+# - CVE-2024-24814
+
build() {
./configure \
--build=$CBUILD \
@@ -28,8 +43,8 @@ check() {
package() {
mkdir -p "$pkgdir"/usr/lib/apache2
- /usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/build-1/libtool' src/mod_auth_openidc.la "$pkgdir"/usr/lib/apache2
- /usr/share/build-1/libtool --mode=install install src/mod_auth_openidc.la "$pkgdir"/usr/lib/apache2
+ /usr/share/apache2/build/instdso.sh SH_LIBTOOL='/usr/share/build-1/libtool' mod_auth_openidc.la "$pkgdir"/usr/lib/apache2
+ /usr/share/build-1/libtool --mode=install install mod_auth_openidc.la "$pkgdir"/usr/lib/apache2
mkdir -p "$pkgdir"/etc/apache2/conf.d
cat <<- __EOF__ > "$pkgdir"/etc/apache2/conf.d/mod-auth-openidc.conf
@@ -41,4 +56,6 @@ package() {
install -Dm644 README.md "$pkgdir"/usr/share/doc/"$pkgname"/README.md
}
-sha512sums="fd551ba709221cbe20d1ed3eb80023a03b8d9e793f41cdfc6ab8e0cc165a3580632c31035a6cd43950b20e16b3da941d8f8e9c7f6b580c89b82f02ccb42d7e92 mod_auth_openidc-2.4.4.1.tar.gz"
+sha512sums="
+cf32be4eaf5df9000af760bc1ef2fe372110fb385c4fc216724563eb71593a765a533acbf5210fd0686a58eab606bd362c8f1514c2f179906a502b25556a14b6 mod_auth_openidc-2.4.15.7.tar.gz
+"
diff --git a/testing/apache-mod-md/APKBUILD b/testing/apache-mod-md/APKBUILD
deleted file mode 100644
index b1e8c4ce50e..00000000000
--- a/testing/apache-mod-md/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Síle Ekaterin Liszka <sheila@vulpine.house>
-# Maintainer: Síle Ekaterin Liszka <sheila@vulpine.house>
-pkgname=apache-mod-md
-pkgver=2.4.10
-pkgrel=0
-pkgdesc="Integrated Acme protocol support for apache2"
-url="https://github.com/icing/mod_md"
-arch="all"
-license="Apache-2.0"
-makedepends="apache2-dev curl-dev jansson-dev"
-subpackages="$pkgname-doc"
-source="https://github.com/icing/mod_md/releases/download/v$pkgver/mod_md-$pkgver.tar.gz"
-builddir="$srcdir/mod_md-$pkgver"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-e2fa9207997c1ea9309bb942855f10dc823cb243c1a39f6f4d5a8dd5cbb9e093b19fce7a201752aefa240a3d040667717ca748accbafa18d89dacb0bfabd6dce mod_md-2.4.10.tar.gz
-"
diff --git a/testing/apache2-mod-perl/APKBUILD b/testing/apache2-mod-perl/APKBUILD
index 29621990278..989172e5d0e 100644
--- a/testing/apache2-mod-perl/APKBUILD
+++ b/testing/apache2-mod-perl/APKBUILD
@@ -3,8 +3,8 @@
# Maintainer: Matt Smith <mcs@darkregion.net>
pkgname=apache2-mod-perl
_pkgreal=mod_perl
-pkgver=2.0.11
-pkgrel=1
+pkgver=2.0.13
+pkgrel=0
pkgdesc="Perl Module for Apache2"
url="https://perl.apache.org/"
arch="all"
@@ -14,8 +14,7 @@ depends_dev="$pkgname"
makedepends="apache2-dev perl-dev perl-linux-pid apr-dev apr-util-dev"
options="!check" # fails to start test server
subpackages="$pkgname-dbg $pkgname-doc $pkgname-dev"
-source="https://www-eu.apache.org/dist/perl/$_pkgreal-$pkgver.tar.gz
- mod_perl-2.0.11-fix_building_with_perl-5.33.7.patch
+source="https://archive.apache.org/dist/perl/$_pkgreal-$pkgver.tar.gz
$pkgname.conf"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -30,7 +29,6 @@ check() {
make test
}
-
package() {
make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
@@ -50,7 +48,6 @@ dev() {
}
sha512sums="
-f232b215ccb9217f69ccced8a037470e5975900b9a6fcc5a2e4674e6559d21f026547c1b97c48109352043946dc22539dd38004759be16ad5cfcb3a96973dfdf mod_perl-2.0.11.tar.gz
-0483ee2bb33ac20aa01cabab9cc4dd1c420eb62ba1b3bd4a4091e11f42e184158191e6f1197fde52c982403ed2c257ce29e72b414cc4e94ba1fd51963c69a09c mod_perl-2.0.11-fix_building_with_perl-5.33.7.patch
+453c789743487e2d1167d005f21ef9780f36488db8830103e4ea0a0656f685bf5ec423cd1baa68ee30efc75d9e2b845c9656458203b9f48de81a315a91d587c9 mod_perl-2.0.13.tar.gz
15a430ce597e370997a08d6aa1b5e55d4fa723ecac031fe39906c8cc767b90d5bf63e3026dfaa8b10ae8b09a17832f4f07cb8b2fdcd6c9ef427edfaf4e8a48b0 apache2-mod-perl.conf
"
diff --git a/testing/apache2-mod-perl/mod_perl-2.0.11-fix_building_with_perl-5.33.7.patch b/testing/apache2-mod-perl/mod_perl-2.0.11-fix_building_with_perl-5.33.7.patch
deleted file mode 100644
index b35f476eb88..00000000000
--- a/testing/apache2-mod-perl/mod_perl-2.0.11-fix_building_with_perl-5.33.7.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-------------------------------------------------------------------------
-r1889014 | stevehay | 2021-04-20 15:55:29 +0200 (Út, 20 dub 2021) | 3 lines
-
-Fix build for perl >= 5.33.7
-
-Patch by Leon Timmermans <fawaka@gmail.com> from https://github.com/Perl/perl5/issues/18617
-
-Index: src/modules/perl/modperl_perl.c
-===================================================================
---- ./src/modules/perl/modperl_perl.c (revision 1889013)
-+++ ./src/modules/perl/modperl_perl.c (revision 1889014)
-@@ -268,7 +268,7 @@
- #ifdef MP_NEED_HASH_SEED_FIXUP
- if (MP_init_hash_seed_set) {
- #if MP_PERL_VERSION_AT_LEAST(5, 17, 6)
-- memcpy(&PL_hash_seed, &MP_init_hash_seed,
-+ memcpy(PL_hash_seed, &MP_init_hash_seed,
- sizeof(PL_hash_seed) > sizeof(MP_init_hash_seed) ?
- sizeof(MP_init_hash_seed) : sizeof(PL_hash_seed));
- PL_hash_seed_set = MP_init_hash_seed_set;
-
-------------------------------------------------------------------------
diff --git a/testing/aparte/APKBUILD b/testing/aparte/APKBUILD
new file mode 100644
index 00000000000..a540a642fa0
--- /dev/null
+++ b/testing/aparte/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=aparte
+pkgver=0.2.0_git20240324
+_gitrev=e5d9ac7f3bb6cd6d135657d9342f9ccac6f1d182
+pkgrel=0
+pkgdesc="Simple XMPP console client written in Rust"
+url="https://github.com/paulfariello/aparte"
+arch="all"
+license="MPL-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ protoc
+ sqlite-dev
+ "
+source="https://github.com/paulfariello/aparte/archive/$_gitrev/aparte-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dvm755 target/release/aparte \
+ -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+49d8ba59dcb8978e56dd9e36e62bb151239961302ddfffdcac1345aeaa41a1736e3970157f744b074ced2d7fc3f368de02be93d0d8ca713a6cec14f604992620 aparte-e5d9ac7f3bb6cd6d135657d9342f9ccac6f1d182.tar.gz
+"
diff --git a/testing/apk-snap/APKBUILD b/testing/apk-snap/APKBUILD
new file mode 100644
index 00000000000..d5cc2c3a8fc
--- /dev/null
+++ b/testing/apk-snap/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Jacob Ludvigsen <jacob.ludvigsen@protonmail.com>
+# Maintainer: Jacob Ludvigsen <jacob.ludvigsen@protonmail.com>
+pkgname=apk-snap
+pkgver=3.1.1
+pkgrel=0
+pkgdesc="Port of snap-pac from Arch Linux. Triggers filesystem snapshots before and after every apk commit"
+url="https://gitlab.com/papiris/apk-snap"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="python3 snapper"
+makedepends="py3-sphinx sphinx"
+checkdepends="py3-pytest"
+install="$pkgname.post-install $pkgname.post-upgrade $pkgname.post-deinstall"
+subpackages="$pkgname-doc"
+source="https://gitlab.com/papiris/apk-snap/-/archive/$pkgver/apk-snap-$pkgver.tar.bz2"
+
+build() {
+ make man
+}
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir/" install
+ install -Dm644 $builddir/extra/snapper-config-apk-snap $pkgdir/etc/apk-snap/default-snapper-config-apk-snap.conf
+}
+
+sha512sums="
+f56a82d911aa14f6917603eff1d716cfd211344077d68525d73f68f7df62d4ba07b841ba1ccc7ef38dff4d8fc08e02b98335dc475d2a695cbfc27716d28e7582 apk-snap-3.1.1.tar.bz2
+"
diff --git a/testing/apk-snap/apk-snap.post-deinstall b/testing/apk-snap/apk-snap.post-deinstall
new file mode 100755
index 00000000000..794168ae66b
--- /dev/null
+++ b/testing/apk-snap/apk-snap.post-deinstall
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+SNAPPER_CONFIGS_FILE="/etc/snapper/snapper"
+SNAPPER_CONFIG_APK_SNAP_ITEM="root-apk-snap"
+
+# Check if /etc/snapper/snapper exists, add call to config for apk-snap
+if [ -f "$SNAPPER_CONFIGS_FILE" ]; then
+ # Extract the value of SNAPPER_CONFIGS from the file
+ SNAPPER_CONFIGS=$(awk -F'[:"]+' '/^SNAPPER_CONFIGS=/ {print $3}' "$SNAPPER_CONFIGS_FILE")
+
+ # Check if "root-apk-snap" is in the SNAPPER_CONFIGS
+ if [ -n "$SNAPPER_CONFIGS" ] && echo "$SNAPPER_CONFIGS" | grep -qw "$SNAPPER_CONFIG_APK_SNAP_ITEM"; then
+ SNAPPER_CONFIGS=$(echo "$SNAPPER_CONFIGS" | sed "s/\b$DEFAULT_SNAPPER_ITEM\b//g" | sed 's/ / /g' | sed 's/^ //;s/ $//')
+ sed -i "/^SNAPPER_CONFIGS=/s/=.*/=\"$SNAPPER_CONFIGS\"/" "$SNAPPER_CONFIGS_FILE"
+ echo "$SNAPPER_CONFIG_APK_SNAP_ITEM removed from SNAPPER_CONFIGS: $SNAPPER_CONFIGS"
+ fi
+else
+ echo "Snapper not properly installed, $SNAPPER_CONFIGS_FILE does not exist"
+fi
+
+
+# Check if snapper config for apk-snap, and snapshots subvol exists; and take appropriate action
+if [ -f "/etc/snapper/configs/root-apk-snap" ] && [ -d "/.snapshots" ]; then
+ echo "snapper config for apk-snap removed, ./snapshots subvol not removed."
+ rm -f /etc/snapper/configs/root-apk-snap
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] && [ ! -d "/.snapshots" ]; then
+ echo "snapper config for apk-snap removed, snapshots subvol does not exist."
+ rm -f /etc/snapper/configs/root-apk-snap
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] || [ -d "/.snapshots" ]; then
+ echo "snapper config for apk-snap does not exist, snapshots subvol not removed."
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] || [ ! -d "/.snapshots" ]; then
+ echo "snapper config for apk-snap does not exist, snapshots subvol does not exist."
+fi
diff --git a/testing/apk-snap/apk-snap.post-install b/testing/apk-snap/apk-snap.post-install
new file mode 100755
index 00000000000..03d70da3720
--- /dev/null
+++ b/testing/apk-snap/apk-snap.post-install
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+SNAPPER_CONFIGS_FILE="/etc/snapper/snapper"
+SNAPPER_CONFIG_APK_SNAP_ITEM="root-apk-snap"
+DEFAULT_APK_SNAPPER_CONFIG="/etc/apk-snap/default-snapper-config-apk-snap.conf"
+
+# Check if /etc/snapper/snapper exists, add call to config for apk-snap
+if [ -f "$SNAPPER_CONFIGS_FILE" ]; then
+ # Extract the value of SNAPPER_CONFIGS from the file
+ SNAPPER_CONFIGS=$(awk -F'[:"]+' '/^SNAPPER_CONFIGS=/ {print $3}' "$SNAPPER_CONFIGS_FILE")
+
+ # Check if "root-apk-snap" is in the SNAPPER_CONFIGS
+ if [ -n "$SNAPPER_CONFIGS" ] && echo "$SNAPPER_CONFIGS" | grep -qw "$SNAPPER_CONFIG_APK_SNAP_ITEM"; then
+ :
+ else
+ # Add "root-apk-snap" to SNAPPER_CONFIGS
+ SNAPPER_CONFIGS="$SNAPPER_CONFIGS $SNAPPER_CONFIG_APK_SNAP_ITEM"
+ sed -i "/^SNAPPER_CONFIGS=/s/=.*/=\"$SNAPPER_CONFIGS\"/" "$SNAPPER_CONFIGS_FILE"
+ echo "$SNAPPER_CONFIG_APK_SNAP_ITEM added to $SNAPPER_CONFIGS_FILE"
+ fi
+else
+ echo "Snapper not properly installed, $SNAPPER_CONFIGS_FILE does not exist"
+ exit 1
+fi
+
+
+# Check if snapper config for apk-snap, and snapshots subvol exists; and take appropriate action
+if [ -f "/etc/snapper/configs/root-apk-snap" ] && [ -d "/.snapshots" ]; then
+ echo "Snapper config for apk-snap exists, ./snapshots subvol exists."
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] && [ ! -d "/.snapshots" ]; then
+ echo "Snapper config for apk-snap exists, ./snapshots subvol does not exist."
+ echo "Creating /.snapshots subvol"
+ btrfs subvol create /.snapshots
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] || [ -d "/.snapshots" ]; then
+ echo "Snapper config for apk-snap does not exist, snapshots subvol exists."
+ echo "Creating snapper config for apk-snap"
+ install -Dm 644 $DEFAULT_APK_SNAPPER_CONFIG /etc/snapper/configs/$SNAPPER_CONFIG_APK_SNAP_ITEM
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] || [ ! -d "/.snapshots" ]; then
+ echo "Snapper config for apk-snap does not exist, snapshots subvol does not exist."
+ echo "Creating /.snapshots subvol and snapper config for apk-snap"
+ btrfs subvol create /.snapshots
+ install -Dm 644 $DEFAULT_APK_SNAPPER_CONFIG /etc/snapper/configs/$SNAPPER_CONFIG_APK_SNAP_ITEM
+fi
diff --git a/testing/apk-snap/apk-snap.post-upgrade b/testing/apk-snap/apk-snap.post-upgrade
new file mode 100755
index 00000000000..03d70da3720
--- /dev/null
+++ b/testing/apk-snap/apk-snap.post-upgrade
@@ -0,0 +1,46 @@
+#!/bin/sh
+
+SNAPPER_CONFIGS_FILE="/etc/snapper/snapper"
+SNAPPER_CONFIG_APK_SNAP_ITEM="root-apk-snap"
+DEFAULT_APK_SNAPPER_CONFIG="/etc/apk-snap/default-snapper-config-apk-snap.conf"
+
+# Check if /etc/snapper/snapper exists, add call to config for apk-snap
+if [ -f "$SNAPPER_CONFIGS_FILE" ]; then
+ # Extract the value of SNAPPER_CONFIGS from the file
+ SNAPPER_CONFIGS=$(awk -F'[:"]+' '/^SNAPPER_CONFIGS=/ {print $3}' "$SNAPPER_CONFIGS_FILE")
+
+ # Check if "root-apk-snap" is in the SNAPPER_CONFIGS
+ if [ -n "$SNAPPER_CONFIGS" ] && echo "$SNAPPER_CONFIGS" | grep -qw "$SNAPPER_CONFIG_APK_SNAP_ITEM"; then
+ :
+ else
+ # Add "root-apk-snap" to SNAPPER_CONFIGS
+ SNAPPER_CONFIGS="$SNAPPER_CONFIGS $SNAPPER_CONFIG_APK_SNAP_ITEM"
+ sed -i "/^SNAPPER_CONFIGS=/s/=.*/=\"$SNAPPER_CONFIGS\"/" "$SNAPPER_CONFIGS_FILE"
+ echo "$SNAPPER_CONFIG_APK_SNAP_ITEM added to $SNAPPER_CONFIGS_FILE"
+ fi
+else
+ echo "Snapper not properly installed, $SNAPPER_CONFIGS_FILE does not exist"
+ exit 1
+fi
+
+
+# Check if snapper config for apk-snap, and snapshots subvol exists; and take appropriate action
+if [ -f "/etc/snapper/configs/root-apk-snap" ] && [ -d "/.snapshots" ]; then
+ echo "Snapper config for apk-snap exists, ./snapshots subvol exists."
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] && [ ! -d "/.snapshots" ]; then
+ echo "Snapper config for apk-snap exists, ./snapshots subvol does not exist."
+ echo "Creating /.snapshots subvol"
+ btrfs subvol create /.snapshots
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] || [ -d "/.snapshots" ]; then
+ echo "Snapper config for apk-snap does not exist, snapshots subvol exists."
+ echo "Creating snapper config for apk-snap"
+ install -Dm 644 $DEFAULT_APK_SNAPPER_CONFIG /etc/snapper/configs/$SNAPPER_CONFIG_APK_SNAP_ITEM
+
+elif [ -f "/etc/snapper/configs/root-apk-snap" ] || [ ! -d "/.snapshots" ]; then
+ echo "Snapper config for apk-snap does not exist, snapshots subvol does not exist."
+ echo "Creating /.snapshots subvol and snapper config for apk-snap"
+ btrfs subvol create /.snapshots
+ install -Dm 644 $DEFAULT_APK_SNAPPER_CONFIG /etc/snapper/configs/$SNAPPER_CONFIG_APK_SNAP_ITEM
+fi
diff --git a/testing/apk-tools3/APKBUILD b/testing/apk-tools3/APKBUILD
new file mode 100644
index 00000000000..3ae7dae436a
--- /dev/null
+++ b/testing/apk-tools3/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: Sertonix <sertonix@posteo.net>
+pkgname=apk-tools3
+pkgver=3.0.0_pre2_git20240401
+_commit=b7a7ea728e242a04f32f8e56ddc3d8d85960ee28
+pkgrel=0
+pkgdesc="Alpine Package Keeper v3 - package manager for alpine"
+arch="all"
+url="https://git.alpinelinux.org/apk-tools"
+license="GPL-2.0-only"
+subpackages="$pkgname-dbg $pkgname-dev $pkgname-static $pkgname-doc $pkgname-libs"
+# Musl 1.2 introduced new ABI for time64 => upgrading apk-tools
+# while staying on musl <1.2 causes missing symbols
+# starting with musl 1.2.3_git (pre 1.2.3), we added DT_RELR
+# it is possible for old systems to upgrade, and apk-tools would upgrade first,
+# which would upgrade to a binary that cannot run until musl is upgraded.
+# forcing this constraint makes apk upgrade musl as part of the 'critical' transaction,
+# and update musl first.
+depends="musl>=1.2.3_git20230424"
+_lua="5.3"
+makedepends_build="openssl>3 lua$_lua lua$_lua-lzlib scdoc"
+makedepends_host="meson zlib-dev zstd-dev openssl-dev zlib-static zstd-static openssl-libs-static linux-headers"
+makedepends="$makedepends_build $makedepends_host"
+_d_lua=disabled
+if [ "$CBUILD" = "$CHOST" ]; then
+ _d_lua=enabled
+ subpackages="$subpackages lua$_lua-apk3:luaapk"
+ makedepends="$makedepends lua$_lua-dev"
+
+ # ca-certificates-bundle needed for https certificate validation
+ depends="$depends ca-certificates-bundle"
+fi
+source="$pkgname-$pkgver.tar.gz::https://gitlab.alpinelinux.org/alpine/apk-tools/-/archive/$_commit/apk-tools-$_commit.tar.gz"
+builddir=$srcdir/apk-tools-$_commit
+
+build() {
+ abuild-meson \
+ --bindir=/sbin \
+ --libdir=/lib \
+ -Dlua_version=$_lua -Dlua=$_d_lua \
+ -Ddocs=enabled \
+ -Dhelp=enabled \
+ -Dstatic_apk=true \
+ . output
+ VERSION=$pkgver-r$pkgrel meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+ install -d "$pkgdir"/lib/apk/db \
+ "$pkgdir"/lib/apk/exec \
+ "$pkgdir"/etc/apk/keys \
+ "$pkgdir"/etc/apk/protected_paths.d
+}
+
+static() {
+ pkgdesc="$pkgdesc (static binary)"
+ depends=""
+
+ amove sbin/apk.static
+ ${CROSS_COMPILE}strip "$subpkgdir"/sbin/apk.static
+ local pubkey="${PACKAGER_PUBKEY:-$PACKAGER_PRIVKEY.pub}"
+ openssl dgst -sha1 -sign "$PACKAGER_PRIVKEY" \
+ -out "$subpkgdir"/sbin/apk.static.SIGN.RSA."${pubkey##*/}" \
+ "$subpkgdir"/sbin/apk.static
+}
+
+libs() {
+ pkgdesc="$pkgdesc (libraries)"
+ amove 'lib/libapk*'
+}
+
+luaapk() {
+ pkgdesc="Lua module for $pkgname"
+ depends=""
+ amove 'usr/lib/lua*'
+}
+
+sha512sums="
+b7889bd50192e83ab051ab9bf2cebf80a0c22029b8a60b9329e426ac0e394dc856a4ecb5648c32cc3eb72d6b0cf09a8395b54c53d48fb5ab4645d0f8bdaa69cd apk-tools3-3.0.0_pre2_git20240401.tar.gz
+"
diff --git a/testing/apmpkg/APKBUILD b/testing/apmpkg/APKBUILD
index bc8280c87c3..734d0214c8e 100644
--- a/testing/apmpkg/APKBUILD
+++ b/testing/apmpkg/APKBUILD
@@ -1,23 +1,29 @@
# Contributor: kedap <kedap.dev@protonmail.com>
# Maintainer: kedap <kedap.dev@protonmail.com>
pkgname=apmpkg
-pkgver=1.5.0
-pkgrel=1
+pkgver=1.5.1
+pkgrel=3
pkgdesc="A Package Manager as a model: PKGBUILD"
url="https://github.com/kedap/apmpkg"
# armhf: test timeout
# s390x, riscv64: limited by rust/cargo
arch="all !s390x !armhf !riscv64"
license="Apache-2.0"
-depends="git fakeroot wget ruby-bundler py3-pip rsync bash ruby-dev npm"
-makedepends="cargo openssl-dev patchutils"
-subpackages="$pkgname-doc"
+depends="git fakeroot wget ruby-bundler py3-pip bash ruby-dev npm"
+makedepends="cargo openssl-dev>3 patchutils cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
source="$pkgname-$pkgver.tar.gz::https://github.com/Kedap/apmpkg/archive/refs/tags/$pkgver.tar.gz
fix-with-outdated-rust.patch
"
+
build() {
- cargo build --release --locked --verbose
+ cargo auditable build --release --locked --verbose
}
check() {
@@ -32,9 +38,21 @@ package() {
#Install documentation
install -Dm0644 man/*.1 -t "$pkgdir"/usr/share/man/man1
+
+ #Install bash completion
+ install -Dm0644 completions/$pkgname.bash-completion \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+
+ #Install zsh completion
+ install -Dm0644 completions/_$pkgname \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+
+ #Install fish completion
+ install -Dm0644 completions/$pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
}
sha512sums="
-ff1e71ed7e66e2b72f4ced848a2135abb98d57875e6c30d09fb4e73ad440b755bea1e8327164ba9a5d5a10930ffdc5063c6b21a6e98a4d3af959bfe98ea1609b apmpkg-1.5.0.tar.gz
+20190348ab2a2d12b2647dcdd017e6fb739b3cf2c3eb559b15d0ce7058d38fd9bccd3bc4385707594e0bebb551d746df6a646f94d079d5b92f7a8c366a350c61 apmpkg-1.5.1.tar.gz
31c7b35f4bd114d3ccae4bffe5e0bcdb4a477f1803206ba771dcfc212a03df741387abbd110a407e6f057aedfa620c694898875b9be52388fced8aa360a09fef fix-with-outdated-rust.patch
"
diff --git a/testing/apollo/APKBUILD b/testing/apollo/APKBUILD
new file mode 100644
index 00000000000..5b38062c137
--- /dev/null
+++ b/testing/apollo/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: David Sugar <tychosoft@gmail.com>
+# Contributor: David Sugar <tychosoft@gmail.com>
+pkgname=apollo
+pkgver=0.2.1
+pkgrel=2
+pkgdesc="Web management and api services for Coventry"
+url="https://www.tychosoft.com/tychosoft/apollo/wiki"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="make musl-dev go"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="https://www.tychosoft.com/api/packages/tychosoft/generic/apollo/$pkgver/apollo-$pkgver.tar.gz apollo.initd"
+
+build() {
+ make PREFIX=/usr SYSCONFDIR=/etc LOCALSTATEDIR=/var release
+}
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr SYSCONFDIR=/etc LOCALSTATEDIR=/var install
+ install -D -m 755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.md
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+ install -Dm644 FEATURES.md "$pkgdir"/usr/share/doc/$pkgname/FEATURES.md
+}
+
+sha512sums="
+86627bda730a5d0734f12de5b64ad37916c36803de61391edf8ef241a5e96859b07db7eae68890d4e98e7f5d142a55646215f8404c06bfcba7d5ba3f8f20b4d8 apollo-0.2.1.tar.gz
+110cb34c47d2ea9f887b393e24393a2f3224989bc9f659983eaa7fdc678f46ca34f412018a016be331eb53a886b1ca39e8479571fb6c2a0ed6f5294c3a99c16c apollo.initd
+"
diff --git a/testing/apollo/apollo.initd b/testing/apollo/apollo.initd
new file mode 100644
index 00000000000..4bc6370c9e6
--- /dev/null
+++ b/testing/apollo/apollo.initd
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+name=apollo
+command="/usr/sbin/apollo"
+pidfile="/run/apollo.pid"
+extra_started_commands="reload"
+
+depend() {
+ use logger dns
+ need net
+ after coventry
+}
+
+stop() {
+ ebegin "Stopping ${RC_SVCNAME}"
+ start-stop-daemon --signal INT --pidfile "${pidfile}"
+ eend $? "Failed to stop ${RC_SVCNAME}"
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
+
diff --git a/testing/aports-glmr/APKBUILD b/testing/aports-glmr/APKBUILD
index 5ee09f2bd69..3d062711251 100644
--- a/testing/aports-glmr/APKBUILD
+++ b/testing/aports-glmr/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=aports-glmr
pkgver=0.2
-pkgrel=2
+pkgrel=20
pkgdesc="CLI tool to search open merge requests for aports"
url="https://gitlab.alpinelinux.org/ncopa/aports-glmr"
license="MIT"
@@ -10,6 +10,10 @@ makedepends="go"
source="https://gitlab.alpinelinux.org/ncopa/aports-glmr/-/archive/$pkgver/aports-glmr-$pkgver.tar.gz"
options="!check" # no checks
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
make
}
diff --git a/testing/apostrophe/APKBUILD b/testing/apostrophe/APKBUILD
index 96e8f929591..88aa3438902 100644
--- a/testing/apostrophe/APKBUILD
+++ b/testing/apostrophe/APKBUILD
@@ -1,30 +1,51 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apostrophe
-pkgver=2.5
-pkgrel=1
+pkgver=2.6.3
+pkgrel=6
pkgdesc="distraction free Markdown editor for GNU/Linux made with GTK+"
-url="https://gitlab.gnome.org/somas/apostrophe"
-arch="x86_64" # py3-pypandoc
+url="https://gitlab.gnome.org/World/apostrophe"
+arch="aarch64 x86_64" # py3-pypandoc
license="GPL-3.0-or-later"
-depends="py3-regex py3-setuptools py3-levenshtein py3-enchant py3-gobject3
- py3-cairo py3-pypandoc webkit2gtk gtk+3.0 libhandy1 py3-chardet gspell"
+depends="
+ font-fira-otf
+ gspell
+ gtk+3.0
+ libhandy1
+ py3-cairo
+ py3-chardet
+ py3-enchant
+ py3-gobject3
+ py3-levenshtein
+ py3-pypandoc
+ py3-regex
+ py3-setuptools
+ webkit2gtk
+ "
makedepends="meson gtk+3.0-dev gobject-introspection-dev gspell-dev gettext-dev
libhandy1-dev sassc"
checkdepends="appstream-glib desktop-file-utils"
subpackages="$pkgname-lang"
-source="https://gitlab.gnome.org/somas/apostrophe/-/archive/v$pkgver/apostrophe-v$pkgver.tar.gz
- dont-require-py-gettext.patch
- "
+source="https://gitlab.gnome.org/World/apostrophe/-/archive/v$pkgver/apostrophe-v$pkgver.tar.gz"
builddir="$srcdir/$pkgname-v$pkgver"
+prepare() {
+ default_prepare
+ # fix font finding
+ sed -i 's|/app/share/fonts/FiraSans-Regular.ttf|/usr/share/fonts/OTF/FiraSans-Regular.otf|' \
+ data/media/css/web/base.css
+ sed -i 's|/app/share/fonts/FiraMono-Regular.ttf|/usr/share/fonts/OTF/FiraMono-Regular.otf|' \
+ data/media/css/web/base.css
+
+}
+
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
check() {
- meson test --no-rebuild -v -C output
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
@@ -32,6 +53,5 @@ package() {
}
sha512sums="
-633df5db82af73596cd106fa26fea7c4a1dbd0f63118c467b446fa81c61e1d7d0746edb68fc6ad3758a65fd96ef3bd30b2b17bd8da4fd7e47a8294716fc746a3 apostrophe-v2.5.tar.gz
-a46505e246af5d6ebf99d8585eb5f99046a71f0c54328f0c07caef046dd0f9e403ba0be89703621f1644fd5d4be7f74fdf7308356f38afe7f21c5c57eaf08a57 dont-require-py-gettext.patch
+1820fd609efe4ac0b7babdeb2aa552a72dd9623f4caeb8eb9e638a52a546b76fda5119931d10b630234a595d227ff7090a63503fd9da94d553439b91a03ac876 apostrophe-v2.6.3.tar.gz
"
diff --git a/testing/apostrophe/dont-require-py-gettext.patch b/testing/apostrophe/dont-require-py-gettext.patch
deleted file mode 100644
index 89f8938f799..00000000000
--- a/testing/apostrophe/dont-require-py-gettext.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/apostrophe.in b/apostrophe.in
-index 70abee5..ee5452c 100755
---- a/apostrophe.in
-+++ b/apostrophe.in
-@@ -51,8 +51,6 @@ pkgdatadir = '@DATA_DIR@'
- #locale_dir = os.path.abspath(os.path.join(os.path.dirname(apostrophe.__file__),'../po/'))
-
- # L10n
--locale.textdomain('apostrophe')
--locale.bindtextdomain('apostrophe', localedir)
- gettext.textdomain('apostrophe')
- gettext.bindtextdomain('apostrophe', localedir)
-
diff --git a/testing/apprise/APKBUILD b/testing/apprise/APKBUILD
new file mode 100644
index 00000000000..10968141d35
--- /dev/null
+++ b/testing/apprise/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=apprise
+pkgver=1.7.6
+pkgrel=0
+pkgdesc="Push Notifications that work with just about every platform"
+url="https://github.com/caronc/apprise"
+arch="noarch"
+license="BSD-2-Clause"
+depends="py3-certifi py3-requests py3-requests-oauthlib py3-click py3-markdown py3-yaml"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-mock"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://codeload.github.com/caronc/apprise/tar.gz/refs/tags/v$pkgver"
+options="net"
+
+case "$CARCH" in
+s390x|x86)
+ options="$options !check" # some tests fail on package builders
+ ;;
+esac
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ sh bin/test.sh
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+ install -Dm644 packaging/man/apprise.1 -t "$pkgdir"/usr/share/man/man1
+}
+
+sha512sums="
+be1469b26c72255b95a055073e8ba2e147fb66a79bbdc82d38dbd765d059d7f9d4b6142728a2e583d4ad2370d489303c342500f472946fabd41f01463d2a1fde apprise-1.7.6.tar.gz
+"
diff --git a/testing/appstream-generator/APKBUILD b/testing/appstream-generator/APKBUILD
deleted file mode 100644
index 96cea978210..00000000000
--- a/testing/appstream-generator/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
-pkgname=appstream-generator
-pkgver=0.8.5
-pkgrel=2
-pkgdesc="fast AppStream metadata generator"
-url="https://github.com/ximion/appstream-generator"
-arch="x86_64 aarch64" # ldc
-license="LGPL-3.0-or-later"
-makedepends="meson ldc ldc-runtime appstream-dev libarchive-dev gir-to-d
- cairo-dev gdk-pixbuf-dev librsvg-dev freetype-dev fontconfig-dev
- pango-dev yarn lmdb-dev glibd-dev libsoup-dev gobject-introspection-dev
- coreutils curl-dev" # needs cp with preserve-ownership
-options="net"
-subpackages="$pkgname-doc"
-source="https://github.com/ximion/appstream-generator/archive/v$pkgver/appstream-generator-$pkgver.tar.gz"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-cf2d392583efd4f241d81cff93d793221640c603601974e2d7bdecb5a2ccc381b0ae6e9f21d224680c0d5ef276e439d5625b50cb6bd9ae90cc93fde53725bc22 appstream-generator-0.8.5.tar.gz
-"
diff --git a/testing/aprx/APKBUILD b/testing/aprx/APKBUILD
deleted file mode 100644
index 9efb20e9ff9..00000000000
--- a/testing/aprx/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=aprx
-pkgver=2.9.1
-pkgrel=0
-pkgdesc="aprx digipeater and iGate"
-url="https://thelifeofkenneth.com/aprx/"
-arch="all"
-license="BSD-3-Clause"
-options="!check" # no tests
-pkgusers="aprx"
-pkggroups="aprx"
-makedepends="libax25-dev perl"
-install="$pkgname.pre-install $pkgname.post-install"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="https://thelifeofkenneth.com/aprx/release/aprx-$pkgver.tar.gz
- aprx.initd
- aprx.confd
- "
-
-build() {
- export CFLAGS="$CFLAGS -fcommon -O2 -DERLANGSTORAGE"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --sbindir=/usr/sbin \
- --mandir=/usr/share/man \
- --with-pthread \
- --localstatedir=/var
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- install -m755 -D "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/$pkgname
- install -m770 -o aprx -g aprx -d "$pkgdir"/var/log/aprx
-}
-
-sha512sums="
-469e007e06af9979ec1423c089ef7a9d3ec6c88202d298fd616abd3b18c62d43e43b585cb7dfd5bc056b727eb98d37187de97a9e0066e09e5370fa4dfd88b6da aprx-2.9.1.tar.gz
-d7d4327a9affe7fb7156c8dea468e18f6616819b5f214f94652845a2467b9776abc2f8c81783099c11bc0603257dcb87f7973f6326d645512af0478385168791 aprx.initd
-2e743e64cceac6498c40701f43b7782b21be359dd2028b8463feb1542ef33c789b3a4c0dd4e29c17a633fcea543357a7bc4e8b5cb46abc7125ac2b7bf203cc7a aprx.confd
-"
diff --git a/testing/aprx/aprx.confd b/testing/aprx/aprx.confd
deleted file mode 100644
index 33cb0c2b6b4..00000000000
--- a/testing/aprx/aprx.confd
+++ /dev/null
@@ -1,5 +0,0 @@
-#
-# Additional options that are passed to the Daemon.
-#
-DAEMON_OPTS=""
-
diff --git a/testing/aprx/aprx.initd b/testing/aprx/aprx.initd
deleted file mode 100644
index 5377d515af2..00000000000
--- a/testing/aprx/aprx.initd
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/sbin/openrc-run
-
-# Sample init.d file for alpine linux.
-
-name=aprx
-command="/usr/sbin/$name"
-command_args="$DAEMON_OPTS"
-command_background="yes"
-pidfile="/run/$name.pid"
-
-depend() {
- need net
- after firewall
-}
-
-start() {
- ebegin "Starting $pname"
- start-stop-daemon --start --pidfile $pidfile --exec $command
- eend $?
-}
-
-stop() {
- ebegin "Stopping $name"
- start-stop-daemon --stop --quiet --signal TERM --oknodo --pidfile $pidfile
- eend $? "Failed to stop $name"
-}
-
diff --git a/testing/aprx/aprx.post-install b/testing/aprx/aprx.post-install
deleted file mode 100644
index 0586fcd5c52..00000000000
--- a/testing/aprx/aprx.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-# add something which happends after install
-
diff --git a/testing/aprx/aprx.pre-install b/testing/aprx/aprx.pre-install
deleted file mode 100644
index 4c9658a2b5c..00000000000
--- a/testing/aprx/aprx.pre-install
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-if ! getent group aprx >/dev/null; then
- addgroup -S aprx 2>/dev/null
-fi
-
-if ! getent passwd aprs >/dev/null; then
- adduser -S -H -h /run/aprx -s /sbin/nologin -G aprx -g aprx aprx 2>/dev/null
-fi
diff --git a/testing/apt-dater/APKBUILD b/testing/apt-dater/APKBUILD
index f21315c001b..fc754dd385d 100644
--- a/testing/apt-dater/APKBUILD
+++ b/testing/apt-dater/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
pkgname=apt-dater
pkgver=1.0.4
-pkgrel=1
+pkgrel=3
pkgdesc="terminal-based remote package update manager"
url="https://github.com/DE-IBH/apt-dater"
arch="all"
license="GPL-2.0-or-later"
-depends="lockfile-progs screen openssh-client util-linux"
+depends="lockfile-progs screen openssh-client util-linux-misc"
makedepends="automake popt-dev glib-dev ncurses-dev tcl-dev libconfig-dev libxml2-dev
xxd"
subpackages="$pkgname-doc $pkgname-lang"
diff --git a/testing/apt-mirror/APKBUILD b/testing/apt-mirror/APKBUILD
new file mode 100644
index 00000000000..8ca67c7323a
--- /dev/null
+++ b/testing/apt-mirror/APKBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Hugo Rodrigues <hugorodrigues@hugorodrigues.xyz>
+pkgname=apt-mirror
+pkgver=0.5.4
+pkgrel=0
+pkgdesc="A small tool that provides ability to mirror APT repositories"
+url="https://apt-mirror.github.io/"
+arch="noarch"
+license="GPL-2.0-only"
+depends="perl wget"
+# NB: Upstream doesn't provide integration tests
+options="!check"
+subpackages="
+ $pkgname-doc
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/apt-mirror/apt-mirror/archive/refs/tags/$pkgver.tar.gz"
+
+package() {
+ DESTDIR="$pkgdir" PREFIX="/usr" make install
+}
+
+sha512sums="
+4fad124d1a7db55e77cf1acac138d68e82dfc70621014bc67a8003bc33988c668d77be18f7497c4c4faf10c99599f14612fb5535db43147a3f98ce9a660557be apt-mirror-0.5.4.tar.gz
+"
diff --git a/testing/aptdec/APKBUILD b/testing/aptdec/APKBUILD
new file mode 100644
index 00000000000..e1b71e10f93
--- /dev/null
+++ b/testing/aptdec/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Leon ROUX <leon.roux@federate.us>
+# Maintainer: Leon ROUX <leon.roux@federate.us>
+pkgname=aptdec
+pkgver=1.8.0
+pkgrel=0
+pkgdesc="NOAA APT satellite imagery decoder library"
+_argparse=c612dc03958cdbd538ca306d61853b643a435933
+url="https://github.com/Xerbo/aptdec"
+license="GPL-2.0-or-later"
+arch="all"
+makedepends="
+ cmake
+ libpng-dev
+ libsndfile-dev
+ samurai
+ zlib-dev
+ "
+subpackages="$pkgname-dev $pkgname-libs"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Xerbo/aptdec/archive/refs/tags/v$pkgver.tar.gz
+ argparse-$_argparse.tar.gz::https://github.com/cofyc/argparse/archive/$_argparse.tar.gz
+ soname-dynlink.patch
+ "
+options="!check" # does not have any tests
+
+prepare() {
+ default_prepare
+
+ rmdir src/argparse
+ ln -sfv "$srcdir"/argparse-$_argparse \
+ "$builddir"/src/argparse
+}
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DVERSION="$pkgver"
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+3d10aa33bc443ba0ce00be7d00a5c95de54f98d13818a84535971a35575e1012a9c579cf154e17ffb3fe3d03fa964d11f7589082c9b4cab53c5b4ff1efc84c96 aptdec-1.8.0.tar.gz
+77370375e7594a640d410f051ed6230b2f81e47dea88498cefdd9285e28b620c4e096fab24bf4067b755343be3b7d0f71bc361e8ad00ac047c1b9d53890647d0 argparse-c612dc03958cdbd538ca306d61853b643a435933.tar.gz
+264070fa0759cd070753f22702a3466cf72f4d1fda85a15fa905774654c456a04e9e75eedd7b4ee5add3124d65230f0fc86f07880e65770a1eef3341068a3a66 soname-dynlink.patch
+"
diff --git a/testing/aptdec/soname-dynlink.patch b/testing/aptdec/soname-dynlink.patch
new file mode 100644
index 00000000000..1d30d2ee7a2
--- /dev/null
+++ b/testing/aptdec/soname-dynlink.patch
@@ -0,0 +1,37 @@
+link the tool to the shared lib, not the static one
+set soname
+--
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c0b13fd..aade67e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -16,11 +16,11 @@ set(EXE_C_SOURCE_FILES src/main.c src/pngio.c src/argparse/argparse.c src/util.c
+ set(LIB_C_HEADER_FILES src/apt.h)
+
+ # Link with static library for aptdec executable, so we don't need to set the path
+-add_library(aptstatic STATIC ${LIB_C_SOURCE_FILES})
+
+ # Create shared library for 3rd party apps
+ add_library(apt SHARED ${LIB_C_SOURCE_FILES})
+ set_target_properties(apt PROPERTIES PUBLIC_HEADER ${LIB_C_HEADER_FILES})
++set_target_properties(apt PROPERTIES VERSION "${VERSION}" SOVERSION "${VERSION}")
+
+ add_compile_definitions(PALETTE_DIR="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_DATADIR}/${CMAKE_PROJECT_NAME}/palettes")
+
+@@ -30,7 +30,7 @@ if (PNG_FOUND AND LIBSNDFILE_FOUND)
+ include_directories(${LIBSNDFILE_INCLUDE_DIR})
+ target_link_libraries(aptdec PRIVATE PNG::PNG)
+ target_link_libraries(aptdec PRIVATE ${LIBSNDFILE_LIBRARY})
+- target_link_libraries(aptdec PRIVATE aptstatic)
++ target_link_libraries(aptdec PRIVATE apt)
+ if (MSVC)
+ target_compile_options(aptdec PRIVATE /D_CRT_SECURE_NO_WARNINGS=1 /DAPT_API_STATIC)
+ else()
+@@ -54,7 +54,6 @@ if (MSVC)
+ else()
+ # Math
+ target_link_libraries(apt PRIVATE m)
+- target_link_libraries(aptstatic PRIVATE m)
+
+ if(CMAKE_BUILD_TYPE MATCHES "Release")
+ target_compile_options(apt PRIVATE -Wall -Wextra -pedantic -Wno-missing-field-initializers)
diff --git a/testing/apulse/APKBUILD b/testing/apulse/APKBUILD
index f295333a89d..7a5fe26915f 100644
--- a/testing/apulse/APKBUILD
+++ b/testing/apulse/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=apulse
pkgver=0.1.13
-pkgrel=0
+pkgrel=1
pkgdesc="PulseAudio emulation for ALSA"
url="https://github.com/i-rinat/apulse"
arch="all"
diff --git a/testing/aqemu/APKBUILD b/testing/aqemu/APKBUILD
index 9773589af8d..31819140132 100644
--- a/testing/aqemu/APKBUILD
+++ b/testing/aqemu/APKBUILD
@@ -2,37 +2,41 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=aqemu
pkgver=0.9.4
-pkgrel=0
+pkgrel=3
pkgdesc="GUI for virtual machines using QEMU as the backend"
url="https://sourceforge.net/projects/aqemu/"
arch="all"
-license="GPL-2.0"
+license="GPL-2.0-only"
depends="qemu"
options="!check" #no check/test provided
-makedepends="cmake libvncserver-dev bzip2 qt5-qtbase-dev glib-dev"
+makedepends="
+ cmake
+ glib-dev
+ libvncserver-dev
+ qt5-qtbase-dev
+ samurai
+ "
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/TBK/aqemu/archive/v$pkgver.tar.gz
- fix-includes.patch"
-
-prepare() {
- default_prepare
- mkdir -p build
-}
+ appdata.patch
+ fix-includes.patch
+ fix-qt-segfault.patch
+ "
build() {
- cd build
- cmake \
- -DCMAKE_INSTALL_PREFIX="/usr" \
- -DMAN_PAGE_COMPRESSOR=gzip ..
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
}
package() {
- cd build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
e10e2c558572e6194abadeb46034a59d1b5837efe77012c2ef2d4c5ae610e7a7b09e2315e6d5fd8a12fd7f9db34068a15926b0dbe8f91db6a0d4f48eea722a9d aqemu-0.9.4.tar.gz
+2a711dc5935e2d5d5fb825b2209ce8f206bc178bc4af3b21e7be8220963fd2c68a529c94bea86333331dfd5557104101a17fd68f701b8288926878449dafaf7b appdata.patch
3220e25280a5728f299f30147c0a78537a672541a0c561aedad10af38650ef0a9145d7898060230147878fa497320ab789310b055c018a59f6474f588c4a042b fix-includes.patch
+61d7982877392a9224add9448466273f6e485bc6b9dc85339159f27647312bb6ef6f4467d74dd6aa6b4e77aaea4ab03d4e8a3b4d4363bdb119334a3aeeb255c9 fix-qt-segfault.patch
"
diff --git a/testing/aqemu/appdata.patch b/testing/aqemu/appdata.patch
new file mode 100644
index 00000000000..379e305283f
--- /dev/null
+++ b/testing/aqemu/appdata.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 241155d..09559b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -274,7 +274,7 @@ FILE( GLOB app_menu "${CMAKE_CURRENT_SOURCE_DIR}/resources/menu_data/aqemu.deskt
+ INSTALL( FILES ${app_menu} DESTINATION share/applications )
+
+ FILE( GLOB app_menu "${CMAKE_CURRENT_SOURCE_DIR}/resources/menu_data/aqemu.appdata.xml" )
+-INSTALL( FILES ${app_menu} DESTINATION share/appdata )
++INSTALL( FILES ${app_menu} DESTINATION share/metainfo )
+
+ # Create docs .bz2 files
+ MACRO( create_docs _sources )
diff --git a/testing/aqemu/fix-qt-segfault.patch b/testing/aqemu/fix-qt-segfault.patch
new file mode 100644
index 00000000000..1c5176df945
--- /dev/null
+++ b/testing/aqemu/fix-qt-segfault.patch
@@ -0,0 +1,121 @@
+Patch-Source: https://github.com/tobimensch/aqemu/pull/116
+--
+From dc19121a923c71eed248cd6310b9b06ec0af6abe Mon Sep 17 00:00:00 2001
+From: Moskaliou Nikita <44800696+nikitamos@users.noreply.github.com>
+Date: Sun, 5 Dec 2021 19:36:44 +0300
+Subject: [PATCH] Change widgets names
+
+Several widgets in the src/Main_Window.ui file had the same name ("widget"), for several users AQEMU crashed with SEGFAULT. So, the names were changed and now everything works fine
+---
+ src/Main_Window.ui | 28 +++++-----------------------
+ 1 file changed, 5 insertions(+), 23 deletions(-)
+
+diff --git a/src/Main_Window.ui b/src/Main_Window.ui
+index 8fdd51d..52b7c71 100644
+--- a/src/Main_Window.ui
++++ b/src/Main_Window.ui
+@@ -226,7 +226,7 @@
+ </widget>
+ </item>
+ <item>
+- <widget class="QWidget" name="widget" native="true">
++ <widget class="QWidget" name="general_Machine_Sets" native="true">
+ <layout class="QGridLayout" name="gridLayout_12">
+ <property name="leftMargin">
+ <number>24</number>
+@@ -275,9 +275,6 @@
+ <property name="maxCount">
+ <number>64</number>
+ </property>
+- <property name="sizeAdjustPolicy">
+- <enum>QComboBox::AdjustToMinimumContentsLength</enum>
+- </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+@@ -294,9 +291,6 @@
+ <property name="maxCount">
+ <number>16</number>
+ </property>
+- <property name="sizeAdjustPolicy">
+- <enum>QComboBox::AdjustToMinimumContentsLength</enum>
+- </property>
+ <item>
+ <property name="text">
+ <string>1</string>
+@@ -395,9 +389,6 @@
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+- <property name="sizeAdjustPolicy">
+- <enum>QComboBox::AdjustToMinimumContentsLength</enum>
+- </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+@@ -526,9 +517,6 @@
+ <property name="maxCount">
+ <number>8</number>
+ </property>
+- <property name="sizeAdjustPolicy">
+- <enum>QComboBox::AdjustToMinimumContentsLength</enum>
+- </property>
+ <item>
+ <property name="text">
+ <string>Floppy</string>
+@@ -586,9 +574,6 @@
+ <property name="maxCount">
+ <number>8</number>
+ </property>
+- <property name="sizeAdjustPolicy">
+- <enum>QComboBox::AdjustToMinimumContentsLength</enum>
+- </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+@@ -618,9 +603,6 @@
+ <property name="maxCount">
+ <number>128</number>
+ </property>
+- <property name="sizeAdjustPolicy">
+- <enum>QComboBox::AdjustToMinimumContentsLength</enum>
+- </property>
+ <item>
+ <property name="text">
+ <string>en-us (default)</string>
+@@ -1333,7 +1315,7 @@
+ </widget>
+ </item>
+ </layout>
+- <zorder>widget</zorder>
++ <zorder>general_Machine_Sets</zorder>
+ <zorder>GB_Options</zorder>
+ <zorder>GB_Audio</zorder>
+ <zorder>GB_Memory</zorder>
+@@ -2457,7 +2439,7 @@
+ </layout>
+ </item>
+ <item row="1" column="0" colspan="2">
+- <widget class="QWidget" name="widget" native="true">
++ <widget class="QWidget" name="protocol_Sets" native="true">
+ <layout class="QHBoxLayout" name="Widget_Redirection_Protocol">
+ <property name="spacing">
+ <number>6</number>
+@@ -2515,7 +2497,7 @@
+ </widget>
+ </item>
+ <item row="2" column="0" colspan="2">
+- <widget class="QWidget" name="widget" native="true">
++ <widget class="QWidget" name="ip_Sets" native="true">
+ <layout class="QHBoxLayout" name="Widget_Redirection_Net">
+ <property name="spacing">
+ <number>6</number>
+@@ -3018,7 +3000,7 @@
+ <x>0</x>
+ <y>0</y>
+ <width>982</width>
+- <height>24</height>
++ <height>22</height>
+ </rect>
+ </property>
+ <widget class="QMenu" name="menuVM">
diff --git a/testing/aravis/APKBUILD b/testing/aravis/APKBUILD
new file mode 100644
index 00000000000..dde69c3399e
--- /dev/null
+++ b/testing/aravis/APKBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Karel Gardas <karel@functional.vision>
+pkgname=aravis
+pkgver=0.8.31
+pkgrel=0
+pkgdesc="Aravis is a glib/gobject based library for video acquisition using Genicam cameras."
+url="https://github.com/AravisProject/aravis"
+# arm: sigbus
+arch="x86 x86_64 aarch64 ppc64le"
+license="LGPL-2.0-or-later"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ gst-plugins-base-dev
+ gstreamer-dev
+ gtk+3.0-dev
+ libusb-dev
+ libxml2-dev
+ meson
+ "
+subpackages="$pkgname-dev $pkgname-libs $pkgname-viewer $pkgname-viewer-lang"
+source="$pkgname-$pkgver.tar.xz::https://github.com/AravisProject/aravis/releases/download/$pkgver/aravis-$pkgver.tar.xz
+ aravis-0.8.22.patch
+ "
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ -Dusb=enabled \
+ -Dviewer=enabled \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+viewer() {
+ pkgdesc="$pkgdesc (camera viewer)"
+ amove usr/bin/arv-viewer* \
+ usr/lib/gstreamer-* \
+ usr/share/applications \
+ usr/share/icons \
+ usr/share/metainfo
+}
+
+viewer_lang() {
+ default_lang
+ install_if="$subpkgname=$pkgver-r$pkgrel lang"
+}
+
+sha512sums="
+11ff1afbf5728af945536134676b01b854dc0bda6cafd659e51334e816777905b6c3860de1f2b4030ca0c0ac6ca74f04a8ac6373bbb122553329a7781bc86908 aravis-0.8.31.tar.xz
+b69356e9867b431d5c1a194c78dc188e5981dcb84683ebfc608cac0fbc5c6e9f773b5d14c69b81731925190a798c53f9eb1160b947711419aea8b22c4f1cafb0 aravis-0.8.22.patch
+"
diff --git a/testing/aravis/aravis-0.8.22.patch b/testing/aravis/aravis-0.8.22.patch
new file mode 100644
index 00000000000..c4650d29246
--- /dev/null
+++ b/testing/aravis/aravis-0.8.22.patch
@@ -0,0 +1,40 @@
+--- aravis-0.8.22-orig/src/arvuvdevice.c
++++ aravis-0.8.22/src/arvuvdevice.c
+@@ -37,6 +37,7 @@
+ #include <arvstr.h>
+ #include <arvzip.h>
+ #include <arvmisc.h>
++#include <stdio.h>
+
+ enum
+ {
+@@ -740,6 +741,13 @@
+ index = get_guid_index(devices[i]);
+ if (index > 0)
+ libusb_get_string_descriptor_ascii (usb_device, index, guid, 256);
++
++ /*
++ * When guid_index is wrongly equal to the product index, append the serial number
++ * Matching code in arvuvinterface.c
++ */
++ if (index == desc.iProduct)
++ snprintf((char *)guid, 256, "%s-%s", product, serial_number);
+
+ if ((priv->vendor != NULL &&
+ g_strcmp0 ((char * ) manufacturer, priv->vendor) == 0 &&
+--- aravis-0.8.22-orig/src/arvuvinterface.c
++++ aravis-0.8.22/src/arvuvinterface.c
+@@ -240,6 +240,13 @@
+ if (index > 0)
+ libusb_get_string_descriptor_ascii (device_handle, index, guid, 256);
+
++ /*
++ * When guid_index is wrongly equal to the product index, append the serial number
++ * Matching code in arvuvdevice.c
++ */
++ if (index == desc.iProduct)
++ snprintf((char *)guid, 256, "%s-%s", product, serial_nbr);
++
+ device_infos = arv_uv_interface_device_infos_new ((char *) manufacturer, (char *) product,
+ (char *) serial_nbr, (char *) guid);
+ g_hash_table_replace (uv_interface->priv->devices, device_infos->id,
diff --git a/testing/arc-theme/APKBUILD b/testing/arc-theme/APKBUILD
index 03b1645959c..c2366c57130 100644
--- a/testing/arc-theme/APKBUILD
+++ b/testing/arc-theme/APKBUILD
@@ -1,72 +1,58 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Contributor: Leo <thinkabit.ukim@gmail.com>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
# Maintainer: Sascha Paunovic <azarus@posteo.net>
pkgname=arc-theme
-pkgver=20201013
-_commit=934e3bfc93506581f5be1194bd6084c5b6b64bf5
-pkgrel=1
+pkgver=20221218
+pkgrel=0
pkgdesc="Flat theme with transparent elements"
options="!check" # no test suite
url="https://github.com/jnsh/arc-theme"
-arch="noarch !mips !mips64" # requires too much RAM on mips
+arch="noarch"
license="GPL-3.0-or-later"
-depends="gtk-murrine-engine"
-makedepends="automake autoconf glib-dev libtool metacity inkscape optipng sassc"
+makedepends="glib-dev sassc meson"
subpackages="
arc:arc:noarch
- arc-gnome:arc_gnome:noarch
- arc-gtk2:arc_gtk2:noarch
- arc-gtk3:arc_gtk3:noarch
- arc-metacity:arc_metacity:noarch
- arc-openbox:arc_openbox:noarch
- arc-xfwm:arc_xfwm:noarch
- arc-lighter-gnome:lighter_gnome:noarch
- arc-lighter-gtk2:lighter_gtk2:noarch
- arc-lighter-gtk3:lighter_gtk3:noarch
- arc-lighter-metacity:lighter_metacity:noarch
- arc-lighter-xfwm:lighter_xfwm:noarch
- arc-lighter:lighter:noarch
- arc-dark-gnome:dark_gnome:noarch
- arc-dark-gtk2:dark_gtk2:noarch
- arc-dark-gtk3:dark_gtk3:noarch
- arc-dark-metacity:dark_metacity:noarch
- arc-dark-openbox:dark_openbox:noarch
- arc-dark-xfwm:dark_xfwm:noarch
- arc-dark:dark:noarch
- arc-darker-gtk2:darker_gtk2:noarch
- arc-darker-gtk3:darker_gtk3:noarch
- arc-darker-metacity:darker_metacity:noarch
- arc-darker-openbox:darker_openbox:noarch
- arc-darker-xfwm:darker_xfwm:noarch
- arc-darker:darker:noarch
+ arc-cinnamon:arc_cinnamon
+ arc-gnome:arc_gnome
+ arc-gtk2:arc_gtk2
+ arc-gtk3:arc_gtk3
+ arc-gtk4:arc_gtk4
+ arc-metacity:arc_metacity
+ arc-xfwm:arc_xfwm
+ arc-lighter-gtk2:lighter_gtk2
+ arc-lighter-gtk3:lighter_gtk3
+ arc-lighter-gtk4:lighter_gtk4
+ arc-lighter-metacity:lighter_metacity
+ arc-lighter-xfwm:lighter_xfwm
+ arc-lighter:lighter
+ arc-dark-cinnamon:dark_cinnamon
+ arc-dark-gnome:dark_gnome
+ arc-dark-gtk2:dark_gtk2
+ arc-dark-gtk3:dark_gtk3
+ arc-dark-gtk4:dark_gtk4
+ arc-dark-metacity:dark_metacity
+ arc-dark-xfwm:dark_xfwm
+ arc-dark:dark
+ arc-darker-gtk2:darker_gtk2
+ arc-darker-gtk3:darker_gtk3
+ arc-darker-gtk4:darker_gtk4
+ arc-darker-metacity:darker_metacity
+ arc-darker-xfwm:darker_xfwm
+ arc-darker:darker
"
-source="$pkgname-$_commit.tar.gz::https://github.com/jnsh/arc-theme/archive/$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
-
-prepare() {
- default_prepare
- autoreconf -vif
-}
+source="https://github.com/jnsh/arc-theme/releases/download/$pkgver/arc-theme-$pkgver.tar.xz"
build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --disable-unity \
- --disable-cinnamon \
- --disable-plank \
- --with-gnome-shell=3.36 \
- --with-gtk3=3.24
- make
+ abuild-meson -Dcinnamon_version=5.6 \
+ -Dgnome_shell_version=43 \
+ -Dthemes=cinnamon,gnome-shell,gtk2,gtk3,gtk4,metacity,xfwm \
+ . build
+ meson compile -C build
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" meson install -C build
}
arc() {
@@ -75,6 +61,21 @@ arc() {
amove usr/share/themes/Arc/index.theme
}
+arc_cinnamon() {
+ pkgdesc="Cinnamon assets for Arc"
+ depends=""
+ install_if="arc=$pkgver-r$pkgrel cinnamon-desktop"
+ amove usr/share/themes/Arc/cinnamon
+}
+
+arc_gtk4() {
+ pkgdesc="GTK+4.0 assets for Arc"
+ depends=""
+ install_if="arc=$pkgver-r$pkgrel gtk4.0"
+
+ amove usr/share/themes/Arc/gtk-4.0
+}
+
arc_gtk3() {
pkgdesc="GTK+3.0 assets for Arc"
depends=""
@@ -85,7 +86,7 @@ arc_gtk3() {
arc_gtk2() {
pkgdesc="GTK+2.0 assets for Arc"
- depends="gtk-murrine-engine gnome-themes-extra"
+ depends="gtk-murrine-engine"
install_if="arc=$pkgver-r$pkgrel gtk+2.0"
amove usr/share/themes/Arc/gtk-2.0
@@ -102,7 +103,7 @@ arc_gnome() {
arc_xfwm() {
pkgdesc="xfwm assets for Arc"
depends=""
- install_if="arc=$pkgver-r$pkgrel xfwm"
+ install_if="arc=$pkgver-r$pkgrel xfwm4"
amove usr/share/themes/Arc/xfwm4
}
@@ -115,20 +116,20 @@ arc_metacity() {
amove usr/share/themes/Arc/metacity-1
}
-arc_openbox() {
- pkgdesc="openbox assets for Arc"
- depends=""
- install_if="arc=$pkgver-r$pkgrel openbox"
-
- amove usr/share/themes/Arc/openbox-3
-}
-
lighter() {
pkgdesc="Lighter version of Arc"
depends=""
amove usr/share/themes/Arc-Lighter/index.theme
}
+lighter_gtk4() {
+ pkgdesc="GTK+4.0 assets for Lighter version of Arc"
+ depends=""
+ install_if="arc-lighter=$pkgver-r$pkgrel gtk4.0"
+
+ amove usr/share/themes/Arc-Lighter/gtk-4.0
+}
+
lighter_gtk3() {
pkgdesc="GTK+3.0 assets for Lighter version of Arc"
depends=""
@@ -139,7 +140,7 @@ lighter_gtk3() {
lighter_gtk2() {
pkgdesc="GTK+2.0 assets for Lighter version of Arc"
- depends="gtk-murrine-engine gnome-themes-extra"
+ depends="gtk-murrine-engine"
install_if="arc-lighter=$pkgver-r$pkgrel gtk+2.0"
amove usr/share/themes/Arc-Lighter/gtk-2.0
@@ -156,7 +157,7 @@ lighter_gnome() {
lighter_xfwm() {
pkgdesc="xfwm assets for Lighter version of Arc"
depends=""
- install_if="arc-lighter=$pkgver-r$pkgrel xfwm"
+ install_if="arc-lighter=$pkgver-r$pkgrel xfwm4"
amove usr/share/themes/Arc-Lighter/xfwm4
}
@@ -175,6 +176,21 @@ dark() {
amove usr/share/themes/Arc-Dark/index.theme
}
+dark_cinnamon() {
+ pkgdesc="Cinnamon assets for Dark version of Arc"
+ depends=""
+ install_if="arc-dark=$pkgver-r$pkgrel cinnamon-desktop"
+ amove usr/share/themes/Arc-Dark/cinnamon
+}
+
+dark_gtk4() {
+ pkgdesc="GTK+4.0 assets for Dark version of Arc"
+ depends=""
+ install_if="arc-dark=$pkgver-r$pkgrel gtk4.0"
+
+ amove usr/share/themes/Arc-Dark/gtk-4.0
+}
+
dark_gtk3() {
pkgdesc="GTK+3.0 assets for Dark version of Arc"
depends=""
@@ -185,7 +201,7 @@ dark_gtk3() {
dark_gtk2() {
pkgdesc="GTK+2.0 assets for Dark version of Arc"
- depends="gtk-murrine-engine gnome-themes-extra"
+ depends="gtk-murrine-engine"
install_if="arc-dark=$pkgver-r$pkgrel gtk+2.0"
amove usr/share/themes/Arc-Dark/gtk-2.0
@@ -202,7 +218,7 @@ dark_gnome() {
dark_xfwm() {
pkgdesc="xfwm assets for Dark version of Arc"
depends=""
- install_if="arc-dark=$pkgver-r$pkgrel xfwm"
+ install_if="arc-dark=$pkgver-r$pkgrel xfwm4"
amove usr/share/themes/Arc-Dark/xfwm4
}
@@ -215,20 +231,20 @@ dark_metacity() {
amove usr/share/themes/Arc-Dark/metacity-1
}
-dark_openbox() {
- pkgdesc="openbox assets for Dark version of Arc"
- depends=""
- install_if="arc-dark=$pkgver-r$pkgrel openbox"
-
- amove usr/share/themes/Arc-Dark/openbox-3
-}
-
darker() {
pkgdesc="Darker version of Arc"
depends=""
amove usr/share/themes/Arc-Darker/index.theme
}
+darker_gtk4() {
+ pkgdesc="GTK+4.0 assets for Darker version of Arc"
+ depends=""
+ install_if="arc-darker=$pkgver-r$pkgrel gtk4.0"
+
+ amove usr/share/themes/Arc-Darker/gtk-4.0
+}
+
darker_gtk3() {
pkgdesc="GTK+3.0 assets for Darker version of Arc"
depends=""
@@ -239,7 +255,7 @@ darker_gtk3() {
darker_gtk2() {
pkgdesc="GTK+2.0 assets for Darker version of Arc"
- depends="gtk-murrine-engine gnome-themes-extra"
+ depends="gtk-murrine-engine"
install_if="arc-darker=$pkgver-r$pkgrel gtk+2.0"
amove usr/share/themes/Arc-Darker/gtk-2.0
@@ -248,7 +264,7 @@ darker_gtk2() {
darker_xfwm() {
pkgdesc="xfwm assets for Darker version of Arc"
depends=""
- install_if="arc-darker=$pkgver-r$pkgrel xfwm"
+ install_if="arc-darker=$pkgver-r$pkgrel xfwm4"
amove usr/share/themes/Arc-Darker/xfwm4
}
@@ -256,17 +272,11 @@ darker_xfwm() {
darker_metacity() {
pkgdesc="metacity assets for Darker version of Arc"
depends=""
- install_if="arc-darker=$pkgver-r$pkgrel xfwm"
+ install_if="arc-darker=$pkgver-r$pkgrel xfwm4"
amove usr/share/themes/Arc-Darker/metacity-1
}
-darker_openbox() {
- pkgdesc="openbox assets for Darker version of Arc"
- depends=""
- install_if="arc-darker=$pkgver-r$pkgrel openbox"
-
- amove usr/share/themes/Arc-Darker/openbox-3
-}
-
-sha512sums="4ec39053ccdd1f62cb80da660bf04b60e9aa6ca0ef9937fd0e033dc42196aeb85bb68928da3d92bb71eee302274033bf76fc10e73fc104171b05432758e56bdd arc-theme-934e3bfc93506581f5be1194bd6084c5b6b64bf5.tar.gz"
+sha512sums="
+5a84b717de022c673c6af260381542365550f629f43ae99c7ab8b22b4c09024403a1bc06279b40d3560e86d9810683c2e8337799a4cc67ef7aeb93223b5f56a1 arc-theme-20221218.tar.xz
+"
diff --git a/testing/archiso/APKBUILD b/testing/archiso/APKBUILD
deleted file mode 100644
index 9a41f91e0c3..00000000000
--- a/testing/archiso/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Clayton Craft <clayton@craftyguy.net>
-# Maintainer: Clayton Craft <clayton@craftyguy.net>
-pkgname=archiso
-pkgver=59
-pkgrel=0
-pkgdesc="tools for creating Arch Linux live and install iso images"
-url="https://gitlab.archlinux.org/archlinux/archiso"
-arch="noarch"
-license="GPL-3.0-or-later"
-depends="
- arch-install-scripts
- archlinux-keyring
- bash
- dosfstools
- e2fsprogs
- libarchive
- libisoburn
- openssl
- pacman
- pacman-makepkg
- mtools
- squashfs-tools
- "
-subpackages="$pkgname-doc"
-options="!check" # no tests
-source="https://gitlab.archlinux.org/archlinux/archiso/-/archive/v$pkgver/archiso-v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-v$pkgver"
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="
-daf69ec778a5c4769cd46a23935dc50366a140667e1a97d097ad9b651a6c86845cde33c50915853849de3ebcb74e79c52ecdf803c99aa02866887c6ec3afc770 archiso-v59.tar.gz
-"
diff --git a/testing/archlinux-keyring/APKBUILD b/testing/archlinux-keyring/APKBUILD
deleted file mode 100644
index 8ac5fd39534..00000000000
--- a/testing/archlinux-keyring/APKBUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Contributor: Clayton Craft <clayton@craftyguy.net>
-# Maintainer: Clayton Craft <clayton@craftyguy.net>
-pkgname=archlinux-keyring
-pkgver=20211028
-pkgrel=0
-pkgdesc="GuPG keys for Arch Linux"
-url="https://archlinux.org"
-arch="noarch"
-license="GPL-3.0-or-later"
-options="!check"
-install="$pkgname.post-install $pkgname.post-upgrade"
-source="https://sources.archlinux.org/other/archlinux-keyring/archlinux-keyring-$pkgver.tar.gz"
-
-package() {
- make PREFIX=/usr DESTDIR="$pkgdir" install
-}
-sha512sums="
-9f1f6a1cb8d613d2682a38a7fd17e83a66c8aaed79f8b84452092fc32a0af6a957a56520b12081a72c0d5e71bf129ba0f7107a200bb4dee66a04462241c73647 archlinux-keyring-20211028.tar.gz
-"
diff --git a/testing/archlinux-keyring/archlinux-keyring.post-install b/testing/archlinux-keyring/archlinux-keyring.post-install
deleted file mode 100644
index 872d327d6a5..00000000000
--- a/testing/archlinux-keyring/archlinux-keyring.post-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-if [ -x /usr/bin/pacman-key ]; then
- /usr/bin/pacman-key --populate archlinux
- /usr/bin/pacman-key --updatedb
-fi
-
-exit 0
diff --git a/testing/archlinux-keyring/archlinux-keyring.post-upgrade b/testing/archlinux-keyring/archlinux-keyring.post-upgrade
deleted file mode 120000
index b75848866fb..00000000000
--- a/testing/archlinux-keyring/archlinux-keyring.post-upgrade
+++ /dev/null
@@ -1 +0,0 @@
-archlinux-keyring.post-install \ No newline at end of file
diff --git a/testing/arcticons-icon-theme/APKBUILD b/testing/arcticons-icon-theme/APKBUILD
new file mode 100644
index 00000000000..1e380b0ed9c
--- /dev/null
+++ b/testing/arcticons-icon-theme/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Sertonix <sertonix@posteo.net>
+# Maintainer: Sertonix <sertonix@posteo.net>
+pkgname=arcticons-icon-theme
+pkgver=8.7.1.0
+pkgrel=0
+pkgdesc="A monotone line-based icon pack for android - freedesktop version"
+url="https://github.com/Donnnno/Arcticons-Linux"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="$pkgname-light $pkgname-dark"
+subpackages="$pkgname-light:theme $pkgname-dark:theme"
+source="https://github.com/Donnnno/Arcticons-Linux/archive/$pkgver/arcticons-icon-theme-$pkgver.tar.gz"
+builddir="$srcdir/Arcticons-Linux-$pkgver"
+options="!check"
+
+build() {
+ :
+}
+
+package() {
+ install -d "$pkgdir/usr/share/icons"
+ cp -r arcticons-dark arcticons-light -t "$pkgdir/usr/share/icons"
+}
+
+theme() {
+ depends=
+ variant="${subpkgname##"$pkgname"-}"
+ pkgdesc="$pkgdesc ($variant)"
+
+ amove usr/share/icons/arcticons-"$variant"
+}
+
+sha512sums="
+f4312fb390328d1cd95da8cb5a748fceebf814ce9fef18c6c7f6690d04bea42d56123c842c9eabd184ae87953558f520b23684c2432bce5589e1c76760571321 arcticons-icon-theme-8.7.1.0.tar.gz
+"
diff --git a/testing/ardour/APKBUILD b/testing/ardour/APKBUILD
index 96ad41d57af..6eccd886cab 100644
--- a/testing/ardour/APKBUILD
+++ b/testing/ardour/APKBUILD
@@ -1,25 +1,25 @@
# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
pkgname=ardour
-pkgver=6.9.0
-pkgrel=0
+pkgver=7.5.0
+pkgrel=2
pkgdesc="professional-grade digital audio workstation"
url="https://ardour.org/"
-arch="all !ppc64le !mips64" # Does not build on ppc64le or mips64.
-#arch="" # Source is volatile (upstream deletes old distfiles)
-license="GPL-2.0-or-later"
+arch="all !ppc64le" # Does not build on ppc64le.
+license="GPL-2.0-or-later AND CC0-1.0 AND MIT"
makedepends="
alsa-lib-dev
atkmm-dev
aubio-dev
boost-dev
fftw-dev
+ fluidsynth-dev
gtk+2.0-dev
gtkmm-dev
+ hidapi-dev
itstool
jack-dev
libarchive-dev
- libexecinfo-dev
liblo-dev
libpng-dev
libsamplerate-dev
@@ -35,17 +35,20 @@ makedepends="
rubberband-dev
serd-dev
sratom-dev
+ suil-dev
taglib-dev
vamp-sdk-dev
- fluidsynth-dev
- hidapi-dev
"
-source="https://community.ardour.org/src/Ardour-$pkgver.tar.bz2
- disable-backtrace.patch
- always-link-execinfo.patch"
+# the tarballs get randomly removed- ping someone in #alpine-devel to update
+# this
+source="https://dev.alpinelinux.org/archive/ardour/Ardour-$pkgver.tar.xz
+ $pkgname-midi-$pkgver.zip.noauto::https://dev.alpinelinux.org/archive/ardour/ArdourBundledMedia-$pkgver.zip
+ "
builddir="$srcdir/Ardour-$pkgver"
+ldpath="/usr/lib/ardour7"
build() {
+ export LINKFLAGS="$LDFLAGS"
python3 waf configure \
--prefix=/usr \
--cxx11 \
@@ -65,10 +68,17 @@ check() {
package() {
python3 waf install --destdir="$pkgdir"
+
+ mkdir -p "$pkgdir"/usr/share/ardour${pkgver%%.*}/media/
+ unzip "$srcdir"/$pkgname-midi-$pkgver.zip.noauto \
+ -d "$pkgdir"/usr/share/ardour${pkgver%%.*}/media/
+
+ mkdir -p "$pkgdir"/usr/share/metainfo
+ mv "$pkgdir"/usr/share/appdata/*.xml "$pkgdir"/usr/share/metainfo
+ rmdir "$pkgdir"/usr/share/appdata
}
sha512sums="
-ace45f5bfe6d0c9e4bb1712ae53ebaee2f15f883045650cae3ddcae251d4fd2f645ba745effb739b47c73a0568ae9e8ae443b711dd610584e04575fd9046b234 Ardour-6.9.0.tar.bz2
-6f41e58e94f39831493467571f75566f02b31ef1bbdf7e65bd100ee846c9d2bb56ce8b6ce653d0ed362571935f333e3d276f047c471548c6f85453d2f5af80db disable-backtrace.patch
-ac93e7761aac490ed0675d24ac544cacc7ba4579490baf5f7da6c2cdf218f929d0bada39a3689a62affcf759d070359cdcc1a5b919aa225fcf6cde3b419e7e7b always-link-execinfo.patch
+5acc2937351cbaf15c365b8543eeb0836f146fab62b2aa36113dceee2f5b4c88fcc8f05612aa683f1c2e985ea4e9ffadc0d411422d1ae6fe2137c0358cb91ed0 Ardour-7.5.0.tar.xz
+94b681f989e834f5de25ce87da9c174b11d90617063f8c96147d7eb470391b35f6d54b85de16da8d963cacb01b50d1c1fab0fddd18eb3b086fe17124ecfa4f65 ardour-midi-7.5.0.zip.noauto
"
diff --git a/testing/ardour/always-link-execinfo.patch b/testing/ardour/always-link-execinfo.patch
deleted file mode 100644
index 02d2dc080da..00000000000
--- a/testing/ardour/always-link-execinfo.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Upstream: not yet, need proper alternative.
---- a/libs/pbd/wscript 2020-05-27 15:46:59.641983074 +0200
-+++ b/libs/pbd/wscript 2020-05-27 15:47:08.208661970 +0200
-@@ -181,8 +181,7 @@
- obj.install_path = bld.env['LIBDIR']
- obj.defines += [ 'PACKAGE="' + I18N_PACKAGE + '"' ]
-
-- if sys.platform.startswith('netbsd'):
-- obj.linkflags = '-lexecinfo'
-+ obj.ldflags = '-lexecinfo'
-
- if bld.env['build_target'] == 'x86_64':
- obj.defines += [ 'USE_X86_64_ASM' ]
diff --git a/testing/ardour/disable-backtrace.patch b/testing/ardour/disable-backtrace.patch
deleted file mode 100644
index 7d8fc61bb36..00000000000
--- a/testing/ardour/disable-backtrace.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Disable use of execinfo backtrace because it causes a crash.
-
-Upstream bug report: https://tracker.ardour.org/view.php?id=8211
---- a/libs/pbd/wscript 2020-06-10 14:33:53.822160367 +0200
-+++ b/libs/pbd/wscript 2020-06-10 14:34:03.742215341 +0200
-@@ -109,7 +109,6 @@
- autowaf.check_pkg(conf, 'glibmm-2.4', uselib_store='GLIBMM', atleast_version='2.32.0', mandatory=True)
- autowaf.check_pkg(conf, 'giomm-2.4', uselib_store='GIOMM', atleast_version='2.2', mandatory=True)
-
-- conf.check(header_name='execinfo.h', define_name='HAVE_EXECINFO',mandatory=False)
- conf.check(header_name='unistd.h', define_name='HAVE_UNISTD',mandatory=False)
- if not Options.options.ppc:
- conf.check_cc(
diff --git a/testing/arj/APKBUILD b/testing/arj/APKBUILD
new file mode 100644
index 00000000000..630b05d6513
--- /dev/null
+++ b/testing/arj/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Olliver Schinagl <oliver@schinagl.nl>
+# Maintainer: Olliver Schinagl <oliver@schinagl.nl>
+pkgname='arj'
+pkgver='0_git20220125'
+_commit='e0362c432615a2db2758f6917e451216f693d55f'
+pkgrel=1
+pkgdesc='Open source implementation and maximum compatible of the world-famous ARJ archiver.'
+url='https://arj.sourceforge.net/'
+arch='all !armv7 !armhf !x86' # 32 bit builds seem to segfault
+license='GPL-2.0-or-later'
+options='!check' # tests performed as part of build
+makedepends='autoconf automake git rsync'
+subpackages="${pkgname}-doc"
+source="${pkgname}-${pkgver}.tar.gz::https://gitlab.alpinelinux.org/mirror/arj/-/archive/${_commit}/arj-${_commit}.tar.gz"
+builddir="${srcdir}/${pkgname}-${_commit}"
+
+prepare() {
+ default_prepare
+
+ (
+ cd gnu
+ aclocal
+ autoupdate
+ autoconf
+ # Included files are horribly outdated and are unable to build.
+ update_config_guess
+ update_config_sub
+
+ ./configure \
+ --build="${CBUILD}" \
+ --host="${CHOST}" \
+ --mandir='/usr/share/man' \
+ --prefix='/usr' \
+ --sysconfdir='/etc' \
+ ;
+ )
+ make prepare
+}
+
+build() {
+ make -j1
+}
+
+package() {
+ make DESTDIR="${pkgdir}" install
+
+ find "${pkgdir}" -name 'arj-register*' -delete
+}
+
+sha512sums="
+ca200f0c782763435a51ea077e30eaf0f684b881d1f97f21dc4671b20a0abea37b8b3f458ece7640c98bbe5b06e0ceb72ac11ffbcc1ebc0f67b46d15e96f7ea2 arj-0_git20220125.tar.gz
+"
diff --git a/testing/armagetronad/APKBUILD b/testing/armagetronad/APKBUILD
index 12a06857a09..69d3f1414a1 100644
--- a/testing/armagetronad/APKBUILD
+++ b/testing/armagetronad/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=armagetronad
-pkgver=0.2.9.1.0
+pkgver=0.2.9.1.1
pkgrel=0
pkgdesc="Tron Clone in 3D"
url="http://armagetronad.net/"
@@ -34,7 +34,6 @@ build() {
make
}
-
package() {
make -j1 DESTDIR="$pkgdir" install
@@ -43,5 +42,5 @@ package() {
}
sha512sums="
-8c2b9cba7d480dec6d7d60984327a5d45c8c87b968fb81a1e192973e6826ddb66c8d41ca82bb04d80da5c6fa2152d19dd890957dabc6cc5ce2d4dffbc45d1f65 armagetronad-0.2.9.1.0.tar.bz2
+2bdda4c48c224e1ed54b9526aad3ad15a0514d1aa7724c0d743933e8fce576b47dfc2622bc1a27a97f004e6e99bc398b0cc4207501c56252605401dcb03a09cf armagetronad-0.2.9.1.1.tar.bz2
"
diff --git a/testing/arp-scan/APKBUILD b/testing/arp-scan/APKBUILD
deleted file mode 100644
index fa6eeb96731..00000000000
--- a/testing/arp-scan/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Antoine Tenart <antoine.tenart@ack.tf>
-# Maintainer: Antoine Tenart <antoine.tenart@ack.tf>
-pkgname=arp-scan
-pkgver=1.9.7
-pkgrel=0
-pkgdesc="Address Resolution Protocol (ARP) packet scanner"
-url="https://github.com/royhills/arp-scan"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="autoconf automake libpcap-dev libtool"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/royhills/arp-scan/archive/$pkgver.tar.gz"
-
-
-prepare() {
- default_prepare
- autoreconf -vfi
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --mandir=/usr/share/man
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="2aa808521a64cd3e2a6a270c6725f2cffa4cfce5c251e5483053c8ea9f56fb1368dd9aae2afcf8fffe1030fe2fc37723f0701c9eafa7cd1d52df459c07a80870 arp-scan-1.9.7.tar.gz"
diff --git a/testing/art_standalone/APKBUILD b/testing/art_standalone/APKBUILD
new file mode 100644
index 00000000000..dba179260bc
--- /dev/null
+++ b/testing/art_standalone/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=art_standalone
+pkgver=0_git20240220
+pkgrel=1
+_commit="672e299f85cf91901ba107d90084fd67865f047a"
+pkgdesc="A standalone version of Dalvik with Art build in"
+url="https://gitlab.com/android_translation_layer/dalvik_standalone"
+arch="x86_64 aarch64 armv7"
+license="Apache-2.0"
+depends="wolfssl-jni"
+# bash is used by /usr/bin/dx
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ bash
+ "
+case "$CARCH" in
+ aarch64|armv7) depends_dev="$depends_dev vixl-dev" ;;
+esac
+makedepends="$depends_dev
+ bionic_translation-dev
+ bsd-compat-headers
+ expat-dev
+ icu-dev
+ java-common
+ libbsd-dev
+ libcap-dev
+ libunwind-dev
+ lz4-dev
+ meson
+ openjdk8-jdk
+ openssl-dev
+ python3
+ valgrind-dev
+ wolfssl-jni-dev
+ xz-dev
+ zip
+ zlib-dev
+ "
+subpackages="$pkgname-dev $pkgname-dbg"
+source="https://gitlab.com/android_translation_layer/art_standalone/-/archive/$_commit/art_standalone-$_commit.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/art_standalone-$_commit"
+
+prepare() {
+ default_prepare
+
+ # Hack
+ ln -s /usr/bin/python3 python
+ export PATH="$PATH:$PWD"
+}
+
+build() {
+ make PREFIX=/usr ____LIBDIR=lib
+}
+
+package() {
+ DESTDIR="$pkgdir" make \
+ ____PREFIX="$pkgdir"/usr \
+ ____INSTALL_ETC="$pkgdir"/etc \
+ ____LIBDIR=lib \
+ install
+}
+
+dev() {
+ default_dev
+
+ mkdir -p "$subpkgdir"/usr/lib/java
+ mv "$pkgdir"/usr/lib/java/core-all_classes.jar "$subpkgdir"/usr/lib/java
+ mv "$pkgdir"/usr/lib/java/dx.jar "$subpkgdir"/usr/lib/java
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/dx "$subpkgdir"/usr/bin/dx
+}
+
+sha512sums="
+8a91136df527ec094683313aaa24326afe338e051d1c15fb4942cc39ecdeb79fb5e082eede6213c9c311d357e37805db93fc888c0f880231ebcda0089474fdb6 art_standalone-672e299f85cf91901ba107d90084fd67865f047a.tar.gz
+"
diff --git a/testing/artyfx/APKBUILD b/testing/artyfx/APKBUILD
deleted file mode 100644
index 35614e2e914..00000000000
--- a/testing/artyfx/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=artyfx
-pkgver=1.3.1
-pkgrel=1
-pkgdesc="ArtyFX audio plugin bundle"
-url="https://github.com/openAVproductions/openAV-ArtyFX"
-options="!check" # no tests
-arch="all !x86" # textrel
-license="GPL-2.0-or-later"
-makedepends="
- cairo-dev
- cmake
- libsamplerate-dev
- libsndfile-dev
- lv2-dev
- ninja
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/openAVproductions/openAV-ArtyFX/archive/refs/tags/release-$pkgver.tar.gz
- fix-sse.patch
- "
-builddir="$srcdir/openAV-ArtyFX-release-$pkgver"
-
-build() {
- _sse=OFF
- case "$CARCH" in
- x86*)
- _sse=ON
- ;;
- esac
- export CXXFLAGS="$CXXFLAGS -fPIC"
- cmake -B build -G Ninja \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_VERBOSE_MAKEFILE=ON \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DBUILD_SSE=$_sse
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-7fe84783f460e5ac62d715990a7140259b8e2f1e0a531cf6cde63dadfb51e934abd17c81a8c280699279c0af2aa74ee05e073d32539d99fa37d83a0b1cfc0c49 artyfx-1.3.1.tar.gz
-27db0c3056631f498ad0028acfab1888692eb91f4cd28d17f1128646e13d5646e89a27eda6387d3467e53d3932dd3bc39c3771a1ca9fc5d15fba54989ec332ea fix-sse.patch
-"
diff --git a/testing/artyfx/fix-sse.patch b/testing/artyfx/fix-sse.patch
deleted file mode 100644
index 1dfb61ef86d..00000000000
--- a/testing/artyfx/fix-sse.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/src/avtk/CMakeLists.txt
-+++ b/src/avtk/CMakeLists.txt
-@@ -54,12 +54,12 @@
- include_directories( ${X11_INCLUDE_DIRS} )
- link_directories ( ${X11_LIBRARY_DIRS} )
-
--IF(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
-+IF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
-+ SET(CMAKE_C_FLAGS "-fPIC -mfpu=neon -g")
-+ SET(CMAKE_CXX_FLAGS "-fPIC -mfpu=neon -g")
-+ELSEIF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86")
- SET(CMAKE_C_FLAGS "-fPIC -msse -msse2 -mfpmath=sse -g") # -fsanitize=address
- SET(CMAKE_CXX_FLAGS "-fPIC -msse -msse2 -mfpmath=sse -g") # -fsanitize=address
--ELSE()
-- SET(CMAKE_C_FLAGS "-fPIC -mfpu=neon -g")
-- SET(CMAKE_CXX_FLAGS "-fPIC -mfpu=neon -g")
--ENDIF(NOT ${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
-+ENDIF(${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
-
- FILE(GLOB src libs/pffft.cxx avtk/*.cxx )
diff --git a/testing/asahi-audio/APKBUILD b/testing/asahi-audio/APKBUILD
new file mode 100644
index 00000000000..2f2596e1831
--- /dev/null
+++ b/testing/asahi-audio/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=asahi-audio
+pkgver=1.7
+pkgrel=0
+pkgdesc="userspace audio configuration for Apple Silicon Macs"
+url="https://github.com/AsahiLinux/asahi-audio"
+arch="aarch64" # only needed for asahi/aarch64 on apple silicon
+license="MIT"
+options="!check"
+depends="
+ bankstown-lv2
+ lsp-plugins-lv2
+ pipewire
+ speakersafetyd
+ wireplumber
+ "
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsahiLinux/asahi-audio/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR=$pkgdir install
+}
+
+sha512sums="
+cb5007189c7b661704c748159db69eaa9131c0d73cf631254151e4843b4140957f5fd989cd0fd8785abe50aa43e6d58ee4ecf98f5a3bd4d1462b2c3a049dd7d2 asahi-audio-1.7.tar.gz
+"
diff --git a/testing/asahi-fwextract/APKBUILD b/testing/asahi-fwextract/APKBUILD
new file mode 100644
index 00000000000..f04427669fe
--- /dev/null
+++ b/testing/asahi-fwextract/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+
+pkgname=asahi-fwextract
+pkgver=0.7.1
+pkgrel=0
+pkgdesc="Asahi Linux firmware extractor"
+_sourcename=asahi-installer
+_installerver=0.7.1
+arch="aarch64"
+url="http://asahilinux.org"
+license="MIT"
+source="${pkgname}-${_installerver}.tar.gz::https://github.com/AsahiLinux/${_sourcename}/archive/refs/tags/v${_installerver}.tar.gz"
+depends="python3 asahi-scripts lzfse"
+makedepends="py3-build py3-installer py3-wheel py3-setuptools"
+builddir="$srcdir"/$_sourcename-$_installerver
+
+build() {
+ python -m build --wheel --no-isolation
+}
+
+package() {
+ python -m installer --destdir="$pkgdir" dist/*.whl
+}
+sha512sums="
+4635f559f31b62b264c417017eb0e4a16960035c7c0482b9343d413cee4b5a9d26cc5e69bffd15478ad9e5e531a4eb3d8e786ccc89466d4d23c68f7c61ed42a5 asahi-fwextract-0.7.1.tar.gz
+"
diff --git a/testing/asahi-scripts/APKBUILD b/testing/asahi-scripts/APKBUILD
new file mode 100644
index 00000000000..ac834d7ea77
--- /dev/null
+++ b/testing/asahi-scripts/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=asahi-scripts
+pkgver=20230821
+pkgrel=1
+pkgdesc='Asahi Linux maintenance scripts'
+arch='aarch64'
+url='http://asahilinux.org'
+license='MIT'
+source="${pkgname}-${pkgver}.tar.gz::https://github.com/AsahiLinux/${pkgname}/archive/refs/tags/${pkgver}.tar.gz"
+#install=asahi-scripts.install
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make PREFIX=/usr DESTDIR=${pkgdir} all
+}
+
+package() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make PREFIX=/usr DESTDIR=${pkgdir} install
+
+ install -Dm644 "$srcdir/${pkgname}-${pkgver}/LICENSE" \
+ "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+sha512sums="
+90e25f476f6b128742650c4809537ae45666071e611ea47484c1c1e05ac6681ae8e0bf7b6d26ea95ccc292666c8810c0c377a416b31e7d6b22e437fbc1ef23a3 asahi-scripts-20230821.tar.gz
+"
diff --git a/testing/asciinema-rs/APKBUILD b/testing/asciinema-rs/APKBUILD
index 0c806f73120..2e77d07691c 100644
--- a/testing/asciinema-rs/APKBUILD
+++ b/testing/asciinema-rs/APKBUILD
@@ -2,25 +2,31 @@
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=asciinema-rs
pkgver=0.5.1
-pkgrel=0
+pkgrel=3
pkgdesc="A reimplementation of the asciinema command line program written in Rust."
url="https://github.com/LegNeato/asciinema-rs"
arch="x86_64" # Limited by cargo
license="Apache-2.0 MIT"
-provides="asciinema"
-makedepends="cargo openssl-dev"
-source="https://github.com/LegNeato/asciinema-rs/archive/v$pkgver/$pkgname-v$pkgver.tar.gz"
+makedepends="cargo openssl-dev cargo-auditable"
+source="https://github.com/LegNeato/asciinema-rs/archive/v$pkgver/asciinema-rs-v$pkgver.tar.gz
+ openssl3.patch
+ "
+options="!check" # fail on 'home'
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
check() {
- cargo test --release --locked
+ cargo test --release --locked
}
package() {
- install -Dt "$pkgdir"/usr/bin target/release/asciinema
+ install -Dt "$pkgdir"/usr/bin target/release/asciinema
}
-sha512sums="59a786a6a82122c33200bc7eb30e96e38548e45eb478eae259fa8ccd601b0bd596d4d9066ce75a5dc95abdaa97554f4a05cc2218b4c228566a65ed510d35c600 asciinema-rs-v0.5.1.tar.gz"
+sha512sums="
+59a786a6a82122c33200bc7eb30e96e38548e45eb478eae259fa8ccd601b0bd596d4d9066ce75a5dc95abdaa97554f4a05cc2218b4c228566a65ed510d35c600 asciinema-rs-v0.5.1.tar.gz
+0618071301549fa61965c2644a0f6b717caa54ab3ec60c4d345e182b89180a6ab03956f9a027f9e72c7ea99d9212689ab24e9b7f70e924d6d45e3efc17496812 openssl3.patch
+"
diff --git a/testing/asciinema-rs/openssl3.patch b/testing/asciinema-rs/openssl3.patch
new file mode 100644
index 00000000000..0133cb16642
--- /dev/null
+++ b/testing/asciinema-rs/openssl3.patch
@@ -0,0 +1,2546 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 82e57ee..e4acba8 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,1843 +1,1911 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
+ [[package]]
+ name = "adler32"
+ version = "1.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
+
+ [[package]]
+ name = "aho-corasick"
+ version = "0.6.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
+ dependencies = [
+- "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.1.1",
+ ]
+
+ [[package]]
+ name = "ansi_term"
+ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
+ dependencies = [
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "arrayvec"
+ version = "0.4.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef"
+ dependencies = [
+- "nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nodrop",
+ ]
+
+ [[package]]
+ name = "asciicast"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4521e5a844fab4639ec32b21de3a2639f7c2783ba6bb9daead2672b6a298ed7b"
+ dependencies = [
+- "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono",
++ "serde 1.0.80",
++ "serde_derive",
++ "serde_json",
+ ]
+
+ [[package]]
+ name = "asciinema"
+ version = "0.5.1"
+ dependencies = [
+- "asciicast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "config 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "derive_builder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "os_type 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pty-shell 0.3.0",
+- "reqwest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)",
+- "structopt 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tempfile 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "asciicast",
++ "chrono",
++ "config",
++ "derive_builder",
++ "failure",
++ "libc",
++ "openssl-probe",
++ "os_type",
++ "pty-shell",
++ "reqwest",
++ "serde 1.0.80",
++ "serde_derive",
++ "serde_json",
++ "structopt",
++ "tempfile",
++ "termcolor",
++ "termion",
++ "url",
++ "url_serde",
++ "uuid 0.6.5",
+ ]
+
+ [[package]]
+ name = "atty"
+ version = "0.2.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "termion",
++ "winapi 0.3.6",
+ ]
+
++[[package]]
++name = "autocfg"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
++
+ [[package]]
+ name = "backtrace"
+ version = "0.3.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
+ dependencies = [
+- "backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace-sys",
++ "cfg-if 0.1.6",
++ "libc",
++ "rustc-demangle",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "backtrace-sys"
+ version = "0.1.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0"
+ dependencies = [
+- "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
++ "libc",
+ ]
+
+ [[package]]
+ name = "base64"
+ version = "0.9.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
+ dependencies = [
+- "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "safemem",
+ ]
+
+ [[package]]
+ name = "bitflags"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8dead7461c1127cf637931a1e50934eb6eee8bff2f74433ac7909e9afcee04a3"
+
+ [[package]]
+ name = "bitflags"
+ version = "1.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
+
+ [[package]]
+ name = "build_const"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
+
+ [[package]]
+ name = "byteorder"
+ version = "1.2.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d"
+
+ [[package]]
+ name = "bytes"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c129aff112dcc562970abb69e2508b40850dd24c274761bb50fb8a0067ba6c27"
+
+ [[package]]
+ name = "bytes"
+ version = "0.4.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0ce55bd354b095246fc34caf4e9e242f5297a7fd938b090cadfea6eee614aa62"
+ dependencies = [
+- "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "iovec",
+ ]
+
+ [[package]]
+ name = "cc"
+ version = "1.0.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16"
+
+ [[package]]
+ name = "cfg-if"
+ version = "0.1.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "chrono"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
+ dependencies = [
+- "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer",
++ "num-traits 0.2.6",
++ "serde 1.0.80",
++ "time",
+ ]
+
+ [[package]]
+ name = "clap"
+ version = "2.32.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
+ dependencies = [
+- "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ansi_term",
++ "atty",
++ "bitflags 1.0.4",
++ "strsim",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
+ ]
+
+ [[package]]
+ name = "cloudabi"
+ version = "0.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4",
+ ]
+
+ [[package]]
+ name = "config"
+ version = "0.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e595d1735d8ab6b04906bbdcfc671cce2a5e609b6f8e92865e67331cc2f41ba4"
+ dependencies = [
+- "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "nom 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde-hjson 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)",
+- "toml 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "yaml-rust 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0",
++ "nom",
++ "serde 1.0.80",
++ "serde-hjson",
++ "serde_json",
++ "toml",
++ "yaml-rust",
+ ]
+
+ [[package]]
+ name = "core-foundation"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "286e0b41c3a20da26536c6000a280585d519fd07b3956b43aed8a79e9edce980"
+ dependencies = [
+- "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys",
++ "libc",
+ ]
+
+ [[package]]
+ name = "core-foundation-sys"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "716c271e8613ace48344f723b60b900a93150271e5be206212d052bbc0883efa"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "crc"
+ version = "1.8.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
+ dependencies = [
+- "build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "build_const",
+ ]
+
+ [[package]]
+ name = "crossbeam-deque"
+ version = "0.6.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3486aefc4c0487b9cb52372c97df0a48b8c249514af1ee99703bf70d2f2ceda1"
+ dependencies = [
+- "crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-epoch",
++ "crossbeam-utils",
+ ]
+
+ [[package]]
+ name = "crossbeam-epoch"
+ version = "0.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "30fecfcac6abfef8771151f8be4abc9e4edc112c2bcb233314cafde2680536e9"
+ dependencies = [
+- "arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec",
++ "cfg-if 0.1.6",
++ "crossbeam-utils",
++ "lazy_static 1.2.0",
++ "memoffset",
++ "scopeguard",
+ ]
+
+ [[package]]
+ name = "crossbeam-utils"
+ version = "0.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015"
+
+ [[package]]
+ name = "derive_builder"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c998e6ab02a828dd9735c18f154e14100e674ed08cb4e1938f0e4177543f439"
+ dependencies = [
+- "derive_builder_core 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "derive_builder_core",
++ "quote 0.3.15",
++ "syn 0.11.11",
+ ]
+
+ [[package]]
+ name = "derive_builder_core"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "735e24ee9e5fa8e16b86da5007856e97d592e11867e45d76e0c0d0a164a0b757"
+ dependencies = [
+- "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.3.15",
++ "syn 0.11.11",
+ ]
+
+ [[package]]
+ name = "dtoa"
+ version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd"
+
+ [[package]]
+ name = "encoding_rs"
+ version = "0.8.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "065f4d0c826fdaef059ac45487169d918558e3cf86c9d89f6e81cf52369126e5"
+ dependencies = [
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6",
+ ]
+
+ [[package]]
+ name = "errno"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e2b2decb0484e15560df3210cf0d78654bb0864b2c138977c07e377a1bae0e2"
+ dependencies = [
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys",
++ "libc",
++ "winapi 0.2.8",
+ ]
+
+ [[package]]
+ name = "failure"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7"
+ dependencies = [
+- "backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace",
++ "failure_derive",
+ ]
+
+ [[package]]
+ name = "failure_derive"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596"
+ dependencies = [
+- "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)",
+- "synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.20",
++ "quote 0.6.9",
++ "syn 0.15.18",
++ "synstructure",
+ ]
+
+ [[package]]
+ name = "fnv"
+ version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
+
+ [[package]]
+ name = "foreign-types"
+ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+ dependencies = [
+- "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "foreign-types-shared",
+ ]
+
+ [[package]]
+ name = "foreign-types-shared"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+ [[package]]
+ name = "fuchsia-zircon"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4",
++ "fuchsia-zircon-sys",
+ ]
+
+ [[package]]
+ name = "fuchsia-zircon-sys"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+ [[package]]
+ name = "futures"
+ version = "0.1.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b"
+
+ [[package]]
+ name = "futures-cpupool"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
+ dependencies = [
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "num_cpus",
+ ]
+
+ [[package]]
+ name = "gcc"
+ version = "0.3.55"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
+
+ [[package]]
+ name = "h2"
+ version = "0.1.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7dd33bafe2e6370e6c8eb0cf1b8c5f93390b90acde7e9b03723f166b28b648ed"
+ dependencies = [
+- "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "bytes 0.4.10",
++ "fnv",
++ "futures",
++ "http",
++ "indexmap",
++ "log 0.4.6",
++ "slab 0.4.1",
++ "string",
++ "tokio-io",
+ ]
+
+ [[package]]
+ name = "heck"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea04fa3ead4e05e51a7c806fc07271fdbde4e246a6c6d1efd52e72230b771b82"
+ dependencies = [
+- "unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation",
+ ]
+
+ [[package]]
+ name = "http"
+ version = "0.1.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "24f58e8c2d8e886055c3ead7b28793e1455270b5fb39650984c224bc538ba581"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "fnv",
++ "itoa",
+ ]
+
+ [[package]]
+ name = "httparse"
+ version = "1.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
+
+ [[package]]
+ name = "hyper"
+ version = "0.12.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "95ffee0d1d30de4313fdaaa485891ce924991d45bbc18adfc8ac5b1639e62fbb"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "h2 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-timer 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "futures",
++ "futures-cpupool",
++ "h2",
++ "http",
++ "httparse",
++ "iovec",
++ "itoa",
++ "log 0.4.6",
++ "net2",
++ "time",
++ "tokio",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-reactor",
++ "tokio-tcp",
++ "tokio-threadpool",
++ "tokio-timer",
++ "want",
+ ]
+
+ [[package]]
+ name = "hyper-tls"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32cd73f14ad370d3b4d4b7dce08f69b81536c82e39fcc89731930fe5788cd661"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper 0.12.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "futures",
++ "hyper",
++ "native-tls",
++ "tokio-io",
+ ]
+
+ [[package]]
+ name = "idna"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
+ ]
+
+ [[package]]
+ name = "indexmap"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
+
+ [[package]]
+ name = "iovec"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "winapi 0.2.8",
+ ]
+
+ [[package]]
+ name = "itoa"
+ version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
+
+ [[package]]
+ name = "kernel32-sys"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "winapi-build",
+ ]
+
+ [[package]]
+ name = "lazy_static"
+ version = "0.2.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
+
+ [[package]]
+ name = "lazy_static"
+ version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
+
+ [[package]]
+ name = "lazycell"
+ version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ddba4c30a78328befecec92fc94970e53b3ae385827d28620f0f5bb2493081e0"
+
+ [[package]]
+ name = "libc"
+ version = "0.2.43"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d"
+
+ [[package]]
+ name = "libflate"
+ version = "0.1.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "21138fc6669f438ed7ae3559d5789a5f0ba32f28c1f0608d1e452b0bb06ee936"
+ dependencies = [
+- "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "adler32",
++ "byteorder",
++ "crc",
+ ]
+
+ [[package]]
+ name = "linked-hash-map"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d262045c5b87c0861b3f004610afd0e2c851e2908d08b6c870cbb9d5f494ecd"
+ dependencies = [
+- "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_test 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 0.8.23",
++ "serde_test",
+ ]
+
+ [[package]]
+ name = "linked-hash-map"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e"
+
+ [[package]]
+ name = "lock_api"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "775751a3e69bde4df9b38dd00a1b5d6ac13791e4223d4a0506577f0dd27cfb7a"
+ dependencies = [
+- "owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "owning_ref",
++ "scopeguard",
+ ]
+
+ [[package]]
+ name = "log"
+ version = "0.3.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
+ dependencies = [
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log 0.4.6",
+ ]
+
+ [[package]]
+ name = "log"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
+ dependencies = [
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6",
+ ]
+
+ [[package]]
+ name = "matches"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+
+ [[package]]
+ name = "memchr"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "memchr"
+ version = "2.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16"
+ dependencies = [
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6",
++ "libc",
++ "version_check",
+ ]
+
+ [[package]]
+ name = "memoffset"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
+
+ [[package]]
+ name = "mime"
+ version = "0.3.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a907b83e7b9e987032439a387e187119cddafc92d5c2aaeb1d92580a793f630"
+ dependencies = [
+- "unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 2.2.0",
+ ]
+
+ [[package]]
+ name = "mime_guess"
+ version = "2.0.0-alpha.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed"
+ dependencies = [
+- "mime 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
+- "phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime",
++ "phf",
++ "phf_codegen",
++ "unicase 1.4.2",
+ ]
+
+ [[package]]
+ name = "mio"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a637d1ca14eacae06296a008fa7ad955347e34efcb5891cfd8ba05491a37907e"
+ dependencies = [
+- "bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "miow 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "nix 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.3.0",
++ "libc",
++ "log 0.3.9",
++ "miow 0.1.5",
++ "net2",
++ "nix 0.5.1",
++ "slab 0.1.3",
++ "time",
++ "winapi 0.2.8",
+ ]
+
+ [[package]]
+ name = "mio"
+ version = "0.6.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432"
+ dependencies = [
+- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-zircon",
++ "fuchsia-zircon-sys",
++ "iovec",
++ "kernel32-sys",
++ "lazycell",
++ "libc",
++ "log 0.4.6",
++ "miow 0.2.1",
++ "net2",
++ "slab 0.4.1",
++ "winapi 0.2.8",
+ ]
+
+ [[package]]
+ name = "mio-uds"
+ version = "0.6.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
+ dependencies = [
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec",
++ "libc",
++ "mio 0.6.16",
+ ]
+
+ [[package]]
+ name = "miow"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3e690c5df6b2f60acd45d56378981e827ff8295562fc8d34f573deb267a59cd1"
+ dependencies = [
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys",
++ "net2",
++ "winapi 0.2.8",
++ "ws2_32-sys",
+ ]
+
+ [[package]]
+ name = "miow"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
+ dependencies = [
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys",
++ "net2",
++ "winapi 0.2.8",
++ "ws2_32-sys",
+ ]
+
+ [[package]]
+ name = "native-tls"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff8e08de0070bbf4c31f452ea2a70db092f36f6f2e4d897adf5674477d488fb2"
+ dependencies = [
+- "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)",
+- "schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tempfile 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0",
++ "libc",
++ "log 0.4.6",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
+ ]
+
+ [[package]]
+ name = "net2"
+ version = "0.2.33"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
+ dependencies = [
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6",
++ "libc",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "nix"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfb3ddedaa14746434a02041940495bf11325c22f6d36125d3bdd56090d50a79"
+ dependencies = [
+- "bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 0.4.0",
++ "libc",
+ ]
+
+ [[package]]
+ name = "nix"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b7fd5681d13fda646462cfbd4e5f2051279a89a544d50eb98c365b507246839f"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4",
++ "bytes 0.4.10",
++ "cfg-if 0.1.6",
++ "gcc",
++ "libc",
++ "void",
+ ]
+
+ [[package]]
+ name = "nodrop"
+ version = "0.1.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2"
+
+ [[package]]
+ name = "nom"
+ version = "3.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05aec50c70fd288702bcd93284a8444607f3292dbdf2a30de5ea5dcdbe72287b"
+ dependencies = [
+- "memchr 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 1.0.2",
+ ]
+
+ [[package]]
+ name = "num-integer"
+ version = "0.1.39"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
+ dependencies = [
+- "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.6",
+ ]
+
+ [[package]]
+ name = "num-traits"
+ version = "0.1.43"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
+ dependencies = [
+- "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits 0.2.6",
+ ]
+
+ [[package]]
+ name = "num-traits"
+ version = "0.2.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
+
+ [[package]]
+ name = "num_cpus"
+ version = "1.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+-name = "openssl"
+-version = "0.10.15"
++name = "once_cell"
++version = "1.13.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
++
++[[package]]
++name = "openssl"
++version = "0.10.41"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags 1.0.4",
++ "cfg-if 1.0.0",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
++dependencies = [
++ "proc-macro2 1.0.43",
++ "quote 1.0.21",
++ "syn 1.0.99",
+ ]
+
+ [[package]]
+ name = "openssl-probe"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+
+ [[package]]
+ name = "openssl-sys"
+-version = "0.9.39"
++version = "0.9.75"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f"
+ dependencies = [
+- "cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
+ ]
+
+ [[package]]
+ name = "os_type"
+ version = "2.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7edc011af0ae98b7f88cf7e4a83b70a54a75d2b8cb013d6efd02e5956207e9eb"
+ dependencies = [
+- "regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "regex",
+ ]
+
+ [[package]]
+ name = "owning_ref"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37"
+ dependencies = [
+- "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "stable_deref_trait",
+ ]
+
+ [[package]]
+ name = "parking_lot"
+ version = "0.6.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5"
+ dependencies = [
+- "lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lock_api",
++ "parking_lot_core",
+ ]
+
+ [[package]]
+ name = "parking_lot_core"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "rand 0.5.5",
++ "rustc_version",
++ "smallvec",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "percent-encoding"
+ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+
+ [[package]]
+ name = "phf"
+ version = "0.7.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cec29da322b242f4c3098852c77a0ca261c9c01b806cae85a5572a1eb94db9a6"
+ dependencies = [
+- "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared",
+ ]
+
+ [[package]]
+ name = "phf_codegen"
+ version = "0.7.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad"
+ dependencies = [
+- "phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
+- "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_generator",
++ "phf_shared",
+ ]
+
+ [[package]]
+ name = "phf_generator"
+ version = "0.7.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b"
+ dependencies = [
+- "phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared",
++ "rand 0.5.5",
+ ]
+
+ [[package]]
+ name = "phf_shared"
+ version = "0.7.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93"
+ dependencies = [
+- "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "siphasher",
++ "unicase 1.4.2",
+ ]
+
+ [[package]]
+ name = "pkg-config"
+ version = "0.3.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
+
+ [[package]]
+ name = "proc-macro2"
+ version = "0.4.20"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee"
+ dependencies = [
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.1.0",
++]
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
++dependencies = [
++ "unicode-ident",
+ ]
+
+ [[package]]
+ name = "pty"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f50f3d255966981eb4e4c5df3e983e6f7d163221f547406d83b6a460ff5c5ee8"
+ dependencies = [
+- "errno 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "errno",
++ "libc",
+ ]
+
+ [[package]]
+ name = "pty-shell"
+ version = "0.3.0"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "nix 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pty 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "mio 0.5.1",
++ "nix 0.10.0",
++ "pty",
++ "termios",
+ ]
+
+ [[package]]
+ name = "quote"
+ version = "0.3.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
+
+ [[package]]
+ name = "quote"
+ version = "0.6.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "63b5829244f52738cfee93b3a165c1911388675be000c888d2fae620dee8fa5b"
+ dependencies = [
+- "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.20",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
++dependencies = [
++ "proc-macro2 1.0.43",
+ ]
+
+ [[package]]
+ name = "rand"
+ version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd"
+ dependencies = [
+- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-zircon",
++ "libc",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "rand"
+ version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c"
+ dependencies = [
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cloudabi",
++ "fuchsia-zircon",
++ "libc",
++ "rand_core 0.2.2",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "rand_core"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
+ dependencies = [
+- "rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.0",
+ ]
+
+ [[package]]
+ name = "rand_core"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0905b6b7079ec73b314d4c748701f6931eb79fd97c668caa3f1899b22b32c6db"
+
+ [[package]]
+ name = "redox_syscall"
+ version = "0.1.40"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1"
+
+ [[package]]
+ name = "redox_termios"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
+ dependencies = [
+- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall",
+ ]
+
+ [[package]]
+ name = "regex"
+ version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee84f70c8c08744ea9641a731c7fadb475bf2ecc52d7f627feb833e0b3990467"
+ dependencies = [
+- "aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick",
++ "memchr 2.1.1",
++ "regex-syntax",
++ "thread_local",
++ "utf8-ranges",
+ ]
+
+ [[package]]
+ name = "regex-syntax"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "747ba3b235651f6e2f67dfa8bcdcd073ddb7c243cb21c442fc12395dfcac212d"
+ dependencies = [
+- "ucd-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ucd-util",
+ ]
+
+ [[package]]
+ name = "remove_dir_all"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
+ dependencies = [
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "reqwest"
+ version = "0.9.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00a5870d8edc74fc6e1eb58edbd2815d2243e1a2255d6bf9c82a7a875901b5db"
+ dependencies = [
+- "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "encoding_rs 0.8.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper 0.12.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper-tls 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libflate 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_urlencoded 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64",
++ "bytes 0.4.10",
++ "encoding_rs",
++ "futures",
++ "http",
++ "hyper",
++ "hyper-tls",
++ "libflate",
++ "log 0.4.6",
++ "mime",
++ "mime_guess",
++ "native-tls",
++ "serde 1.0.80",
++ "serde_json",
++ "serde_urlencoded",
++ "tokio",
++ "tokio-io",
++ "url",
++ "uuid 0.7.1",
+ ]
+
+ [[package]]
+ name = "rustc-demangle"
+ version = "0.1.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395"
+
+ [[package]]
+ name = "rustc_version"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+ dependencies = [
+- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver",
+ ]
+
+ [[package]]
+ name = "ryu"
+ version = "0.2.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7"
+
+ [[package]]
+ name = "safemem"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
+
+ [[package]]
+ name = "schannel"
+ version = "0.1.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0e1a231dc10abf6749cfa5d7767f25888d484201accbd919b66ab5413c502d56"
+ dependencies = [
+- "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "scopeguard"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
+
+ [[package]]
+ name = "security-framework"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "697d3f3c23a618272ead9e1fb259c1411102b31c6af8b93f1d64cca9c3b0e8e0"
+ dependencies = [
+- "core-foundation 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
+ ]
+
+ [[package]]
+ name = "security-framework-sys"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ab01dfbe5756785b5b4d46e0289e5a18071dfa9a7c2b24213ea00b9ef9b665bf"
+ dependencies = [
+- "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys",
++ "libc",
+ ]
+
+ [[package]]
+ name = "semver"
+ version = "0.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+ dependencies = [
+- "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver-parser",
+ ]
+
+ [[package]]
+ name = "semver-parser"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+ [[package]]
+ name = "serde"
+ version = "0.8.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8"
+
+ [[package]]
+ name = "serde"
+ version = "1.0.80"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "15c141fc7027dd265a47c090bf864cf62b42c4d228bbcf4e51a0c9e2b0d3f7ef"
+
+ [[package]]
+ name = "serde-hjson"
+ version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b833c5ad67d52ced5f5938b2980f32a9c1c5ef047f0b4fb3127e7a423c76153"
+ dependencies = [
+- "lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "linked-hash-map 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 0.2.11",
++ "linked-hash-map 0.3.0",
++ "num-traits 0.1.43",
++ "regex",
++ "serde 0.8.23",
+ ]
+
+ [[package]]
+ name = "serde_derive"
+ version = "1.0.80"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "225de307c6302bec3898c51ca302fc94a7a1697ef0845fcee6448f33c032249c"
+ dependencies = [
+- "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.20",
++ "quote 0.6.9",
++ "syn 0.15.18",
+ ]
+
+ [[package]]
+ name = "serde_json"
+ version = "1.0.32"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "43344e7ce05d0d8280c5940cabb4964bea626aa58b1ec0e8c73fa2a8512a38ce"
+ dependencies = [
+- "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa",
++ "ryu",
++ "serde 1.0.80",
+ ]
+
+ [[package]]
+ name = "serde_test"
+ version = "0.8.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "110b3dbdf8607ec493c22d5d947753282f3bae73c0f56d322af1e8c78e4c23d5"
+ dependencies = [
+- "serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 0.8.23",
+ ]
+
+ [[package]]
+ name = "serde_urlencoded"
+ version = "0.5.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aaed41d9fb1e2f587201b863356590c90c1157495d811430a0c0325fe8169650"
+ dependencies = [
+- "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dtoa",
++ "itoa",
++ "serde 1.0.80",
++ "url",
+ ]
+
+ [[package]]
+ name = "siphasher"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
+
+ [[package]]
+ name = "slab"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d807fd58c4181bbabed77cb3b891ba9748241a552bcc5be698faaebefc54f46e"
+
+ [[package]]
+ name = "slab"
+ version = "0.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d"
+
+ [[package]]
+ name = "smallvec"
+ version = "0.6.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d"
+ dependencies = [
+- "unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unreachable",
+ ]
+
+ [[package]]
+ name = "stable_deref_trait"
+ version = "1.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
+
+ [[package]]
+ name = "string"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00caf261d6f90f588f8450b8e1230fa0d5be49ee6140fdfbcb55335aff350970"
+
+ [[package]]
+ name = "strsim"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
+
+ [[package]]
+ name = "structopt"
+ version = "0.2.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "41c4a2479a078509940d82773d90ff824a8c89533ab3b59cd3ce8b0c0e369c02"
+ dependencies = [
+- "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "structopt-derive 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clap",
++ "structopt-derive",
+ ]
+
+ [[package]]
+ name = "structopt-derive"
+ version = "0.2.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5352090cfae7a2c85e1a31146268b53396106c88ca5d6ccee2e3fae83b6e35c2"
+ dependencies = [
+- "heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)",
++ "heck",
++ "proc-macro2 0.4.20",
++ "quote 0.6.9",
++ "syn 0.15.18",
+ ]
+
+ [[package]]
+ name = "syn"
+ version = "0.11.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
+ dependencies = [
+- "quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)",
+- "synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote 0.3.15",
++ "synom",
++ "unicode-xid 0.0.4",
+ ]
+
+ [[package]]
+ name = "syn"
+ version = "0.15.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90c39a061e2f412a9f869540471ab679e85e50c6b05604daf28bc3060f75c430"
+ dependencies = [
+- "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.20",
++ "quote 0.6.9",
++ "unicode-xid 0.1.0",
++]
++
++[[package]]
++name = "syn"
++version = "1.0.99"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
++dependencies = [
++ "proc-macro2 1.0.43",
++ "quote 1.0.21",
++ "unicode-ident",
+ ]
+
+ [[package]]
+ name = "synom"
+ version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
+ dependencies = [
+- "unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid 0.0.4",
+ ]
+
+ [[package]]
+ name = "synstructure"
+ version = "0.10.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
+ dependencies = [
+- "proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.20",
++ "quote 0.6.9",
++ "syn 0.15.18",
++ "unicode-xid 0.1.0",
+ ]
+
+ [[package]]
+ name = "tempfile"
+ version = "3.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "55c1195ef8513f3273d55ff59fe5da6940287a0d7a98331254397f464833675b"
+ dependencies = [
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
+- "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6",
++ "libc",
++ "rand 0.5.5",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "termcolor"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
+ dependencies = [
+- "wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wincolor",
+ ]
+
+ [[package]]
+ name = "termion"
+ version = "1.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "redox_syscall",
++ "redox_termios",
+ ]
+
+ [[package]]
+ name = "termios"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "textwrap"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
+ dependencies = [
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width",
+ ]
+
+ [[package]]
+ name = "thread_local"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
+ dependencies = [
+- "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static 1.2.0",
+ ]
+
+ [[package]]
+ name = "time"
+ version = "0.1.40"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b"
+ dependencies = [
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "redox_syscall",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "tokio"
+ version = "0.1.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6e93c78d23cc61aa245a8acd2c4a79c4d7fa7fb5c3ca90d5737029f043a84895"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-current-thread 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-fs 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-timer 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-uds 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "futures",
++ "mio 0.6.16",
++ "tokio-codec",
++ "tokio-current-thread",
++ "tokio-executor",
++ "tokio-fs",
++ "tokio-io",
++ "tokio-reactor",
++ "tokio-tcp",
++ "tokio-threadpool",
++ "tokio-timer",
++ "tokio-udp",
++ "tokio-uds",
+ ]
+
+ [[package]]
+ name = "tokio-codec"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "futures",
++ "tokio-io",
+ ]
+
+ [[package]]
+ name = "tokio-current-thread"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f90fcd90952f0a496d438a976afba8e5c205fb12123f813d8ab3aa1c8436638c"
+ dependencies = [
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "tokio-executor",
+ ]
+
+ [[package]]
+ name = "tokio-executor"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c117b6cf86bb730aab4834f10df96e4dd586eff2c3c27d3781348da49e255bde"
+ dependencies = [
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
+ ]
+
+ [[package]]
+ name = "tokio-fs"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "60ae25f6b17d25116d2cba342083abe5255d3c2c79cb21ea11aa049c53bf7c75"
+ dependencies = [
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "tokio-io",
++ "tokio-threadpool",
+ ]
+
+ [[package]]
+ name = "tokio-io"
+ version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7392fe0a70d5ce0c882c4778116c519bd5dbaa8a7c3ae3d04578b3afafdcda21"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "futures",
++ "log 0.4.6",
+ ]
+
+ [[package]]
+ name = "tokio-reactor"
+ version = "0.1.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4b26fd37f1125738b2170c80b551f69ff6fecb277e6e5ca885e53eec2b005018"
+ dependencies = [
+- "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils",
++ "futures",
++ "lazy_static 1.2.0",
++ "log 0.4.6",
++ "mio 0.6.16",
++ "num_cpus",
++ "parking_lot",
++ "slab 0.4.1",
++ "tokio-executor",
++ "tokio-io",
+ ]
+
+ [[package]]
+ name = "tokio-tcp"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ad235e9dadd126b2d47f6736f65aa1fdcd6420e66ca63f44177bc78df89f912"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "futures",
++ "iovec",
++ "mio 0.6.16",
++ "tokio-io",
++ "tokio-reactor",
+ ]
+
+ [[package]]
+ name = "tokio-threadpool"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3929aee321c9220ed838ed6c3928be7f9b69986b0e3c22c972a66dbf8a298c68"
+ dependencies = [
+- "crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque",
++ "crossbeam-utils",
++ "futures",
++ "log 0.4.6",
++ "num_cpus",
++ "rand 0.5.5",
++ "tokio-executor",
+ ]
+
+ [[package]]
+ name = "tokio-timer"
+ version = "0.2.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3a52f00c97fedb6d535d27f65cccb7181c8dd4c6edc3eda9ea93f6d45d05168e"
+ dependencies = [
+- "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils",
++ "futures",
++ "slab 0.4.1",
++ "tokio-executor",
+ ]
+
+ [[package]]
+ name = "tokio-udp"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "da941144b816d0dcda4db3a1ba87596e4df5e860a72b70783fe435891f80601c"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "futures",
++ "log 0.4.6",
++ "mio 0.6.16",
++ "tokio-codec",
++ "tokio-io",
++ "tokio-reactor",
+ ]
+
+ [[package]]
+ name = "tokio-uds"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df195376b43508f01570bacc73e13a1de0854dc59e79d1ec09913e8db6dd2a70"
+ dependencies = [
+- "bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes 0.4.10",
++ "futures",
++ "iovec",
++ "libc",
++ "log 0.4.6",
++ "mio 0.6.16",
++ "mio-uds",
++ "tokio-io",
++ "tokio-reactor",
+ ]
+
+ [[package]]
+ name = "toml"
+ version = "0.4.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a2ecc31b0351ea18b3fe11274b8db6e4d82bce861bbb22e6dbed40417902c65"
+ dependencies = [
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.80",
+ ]
+
+ [[package]]
+ name = "try-lock"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
+
+ [[package]]
+ name = "ucd-util"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d0f8bfa9ff0cadcd210129ad9d2c5f145c13e9ced3d3e5d948a6213487d52444"
+
+ [[package]]
+ name = "unicase"
+ version = "1.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
+ dependencies = [
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check",
+ ]
+
+ [[package]]
+ name = "unicase"
+ version = "2.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90"
+ dependencies = [
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check",
+ ]
+
+ [[package]]
+ name = "unicode-bidi"
+ version = "0.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
+ ]
+
++[[package]]
++name = "unicode-ident"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
++
+ [[package]]
+ name = "unicode-normalization"
+ version = "0.1.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25"
+
+ [[package]]
+ name = "unicode-segmentation"
+ version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
+
+ [[package]]
+ name = "unicode-width"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
+
+ [[package]]
+ name = "unicode-xid"
+ version = "0.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+
+ [[package]]
+ name = "unicode-xid"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+
+ [[package]]
+ name = "unreachable"
+ version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
+ dependencies = [
+- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "void",
+ ]
+
+ [[package]]
+ name = "url"
+ version = "1.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+ dependencies = [
+- "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "idna",
++ "matches",
++ "percent-encoding",
+ ]
+
+ [[package]]
+ name = "url_serde"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74e7d099f1ee52f823d4bdd60c93c3602043c728f5db3b97bdb548467f7bddea"
+ dependencies = [
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde 1.0.80",
++ "url",
+ ]
+
+ [[package]]
+ name = "utf8-ranges"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
+
+ [[package]]
+ name = "uuid"
+ version = "0.6.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e1436e58182935dcd9ce0add9ea0b558e8a87befe01c1a301e6020aeb0876363"
+ dependencies = [
+- "cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.6",
++ "rand 0.4.3",
++ "serde 1.0.80",
+ ]
+
+ [[package]]
+ name = "uuid"
+ version = "0.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dab5c5526c5caa3d106653401a267fed923e7046f35895ffcb5ca42db64942e6"
+ dependencies = [
+- "rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.5.5",
+ ]
+
+ [[package]]
+ name = "vcpkg"
+-version = "0.2.6"
++version = "0.2.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+ [[package]]
+ name = "vec_map"
+ version = "0.8.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+
+ [[package]]
+ name = "version_check"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+
+ [[package]]
+ name = "void"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+
+ [[package]]
+ name = "want"
+ version = "0.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3"
+ dependencies = [
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "log 0.4.6",
++ "try-lock",
+ ]
+
+ [[package]]
+ name = "winapi"
+ version = "0.2.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+ [[package]]
+ name = "winapi"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
+ dependencies = [
+- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
+ ]
+
+ [[package]]
+ name = "winapi-build"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+ [[package]]
+ name = "winapi-i686-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+ [[package]]
+ name = "winapi-x86_64-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+ [[package]]
+ name = "wincolor"
+ version = "0.1.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767"
+ dependencies = [
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "ws2_32-sys"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "winapi-build",
+ ]
+
+ [[package]]
+ name = "yaml-rust"
+ version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "95acf0db5515d07da9965ec0e0ba6cc2d825e2caeb7303b66ca441729801254e"
+ dependencies = [
+- "linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "linked-hash-map 0.5.1",
+ ]
+-
+-[metadata]
+-"checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
+-"checksum aho-corasick 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9a933f4e58658d7b12defcf96dc5c720f20832deebe3e0a19efd3b6aaeeb9e"
+-"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
+-"checksum arrayvec 0.4.7 (registry+https://github.com/rust-lang/crates.io-index)" = "a1e964f9e24d588183fcb43503abda40d288c8657dfc27311516ce2f05675aef"
+-"checksum asciicast 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4521e5a844fab4639ec32b21de3a2639f7c2783ba6bb9daead2672b6a298ed7b"
+-"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
+-"checksum backtrace 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "89a47830402e9981c5c41223151efcced65a0510c13097c769cede7efb34782a"
+-"checksum backtrace-sys 0.1.24 (registry+https://github.com/rust-lang/crates.io-index)" = "c66d56ac8dabd07f6aacdaf633f4b8262f5b3601a810a0dcddffd5c22c69daa0"
+-"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
+-"checksum bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dead7461c1127cf637931a1e50934eb6eee8bff2f74433ac7909e9afcee04a3"
+-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
+-"checksum build_const 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "39092a32794787acd8525ee150305ff051b0aa6cc2abaf193924f5ab05425f39"
+-"checksum byteorder 1.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "94f88df23a25417badc922ab0f5716cc1330e87f71ddd9203b3a3ccd9cedf75d"
+-"checksum bytes 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c129aff112dcc562970abb69e2508b40850dd24c274761bb50fb8a0067ba6c27"
+-"checksum bytes 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0ce55bd354b095246fc34caf4e9e242f5297a7fd938b090cadfea6eee614aa62"
+-"checksum cc 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f159dfd43363c4d08055a07703eb7a3406b0dac4d0584d96965a3262db3c9d16"
+-"checksum cfg-if 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "082bb9b28e00d3c9d39cc03e64ce4cea0f1bb9b3fde493f0cbc008472d22bdf4"
+-"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
+-"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
+-"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+-"checksum config 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e595d1735d8ab6b04906bbdcfc671cce2a5e609b6f8e92865e67331cc2f41ba4"
+-"checksum core-foundation 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "286e0b41c3a20da26536c6000a280585d519fd07b3956b43aed8a79e9edce980"
+-"checksum core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "716c271e8613ace48344f723b60b900a93150271e5be206212d052bbc0883efa"
+-"checksum crc 1.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d663548de7f5cca343f1e0a48d14dcfb0e9eb4e079ec58883b7251539fa10aeb"
+-"checksum crossbeam-deque 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3486aefc4c0487b9cb52372c97df0a48b8c249514af1ee99703bf70d2f2ceda1"
+-"checksum crossbeam-epoch 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "30fecfcac6abfef8771151f8be4abc9e4edc112c2bcb233314cafde2680536e9"
+-"checksum crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "677d453a17e8bd2b913fa38e8b9cf04bcdbb5be790aa294f2389661d72036015"
+-"checksum derive_builder 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c998e6ab02a828dd9735c18f154e14100e674ed08cb4e1938f0e4177543f439"
+-"checksum derive_builder_core 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "735e24ee9e5fa8e16b86da5007856e97d592e11867e45d76e0c0d0a164a0b757"
+-"checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd"
+-"checksum encoding_rs 0.8.10 (registry+https://github.com/rust-lang/crates.io-index)" = "065f4d0c826fdaef059ac45487169d918558e3cf86c9d89f6e81cf52369126e5"
+-"checksum errno 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "1e2b2decb0484e15560df3210cf0d78654bb0864b2c138977c07e377a1bae0e2"
+-"checksum failure 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6dd377bcc1b1b7ce911967e3ec24fa19c3224394ec05b54aa7b083d498341ac7"
+-"checksum failure_derive 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "64c2d913fe8ed3b6c6518eedf4538255b989945c14c2a7d5cbff62a5e2120596"
+-"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
+-"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+-"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+-"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+-"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+-"checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b"
+-"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
+-"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
+-"checksum h2 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "7dd33bafe2e6370e6c8eb0cf1b8c5f93390b90acde7e9b03723f166b28b648ed"
+-"checksum heck 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ea04fa3ead4e05e51a7c806fc07271fdbde4e246a6c6d1efd52e72230b771b82"
+-"checksum http 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "24f58e8c2d8e886055c3ead7b28793e1455270b5fb39650984c224bc538ba581"
+-"checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
+-"checksum hyper 0.12.13 (registry+https://github.com/rust-lang/crates.io-index)" = "95ffee0d1d30de4313fdaaa485891ce924991d45bbc18adfc8ac5b1639e62fbb"
+-"checksum hyper-tls 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "32cd73f14ad370d3b4d4b7dce08f69b81536c82e39fcc89731930fe5788cd661"
+-"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+-"checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
+-"checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"
+-"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
+-"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+-"checksum lazy_static 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "76f033c7ad61445c5b347c7382dd1237847eb1bce590fe50365dcb33d546be73"
+-"checksum lazy_static 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a374c89b9db55895453a74c1e38861d9deec0b01b405a82516e9d5de4820dea1"
+-"checksum lazycell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ddba4c30a78328befecec92fc94970e53b3ae385827d28620f0f5bb2493081e0"
+-"checksum libc 0.2.43 (registry+https://github.com/rust-lang/crates.io-index)" = "76e3a3ef172f1a0b9a9ff0dd1491ae5e6c948b94479a3021819ba7d860c8645d"
+-"checksum libflate 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "21138fc6669f438ed7ae3559d5789a5f0ba32f28c1f0608d1e452b0bb06ee936"
+-"checksum linked-hash-map 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6d262045c5b87c0861b3f004610afd0e2c851e2908d08b6c870cbb9d5f494ecd"
+-"checksum linked-hash-map 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "70fb39025bc7cdd76305867c4eccf2f2dcf6e9a57f5b21a93e1c2d86cd03ec9e"
+-"checksum lock_api 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "775751a3e69bde4df9b38dd00a1b5d6ac13791e4223d4a0506577f0dd27cfb7a"
+-"checksum log 0.3.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e19e8d5c34a3e0e2223db8e060f9e8264aeeb5c5fc64a4ee9965c062211c024b"
+-"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
+-"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+-"checksum memchr 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a"
+-"checksum memchr 2.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0a3eb002f0535929f1199681417029ebea04aadc0c7a4224b46be99c7f5d6a16"
+-"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
+-"checksum mime 0.3.12 (registry+https://github.com/rust-lang/crates.io-index)" = "0a907b83e7b9e987032439a387e187119cddafc92d5c2aaeb1d92580a793f630"
+-"checksum mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed"
+-"checksum mio 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a637d1ca14eacae06296a008fa7ad955347e34efcb5891cfd8ba05491a37907e"
+-"checksum mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)" = "71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432"
+-"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
+-"checksum miow 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3e690c5df6b2f60acd45d56378981e827ff8295562fc8d34f573deb267a59cd1"
+-"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
+-"checksum native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ff8e08de0070bbf4c31f452ea2a70db092f36f6f2e4d897adf5674477d488fb2"
+-"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
+-"checksum nix 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b7fd5681d13fda646462cfbd4e5f2051279a89a544d50eb98c365b507246839f"
+-"checksum nix 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bfb3ddedaa14746434a02041940495bf11325c22f6d36125d3bdd56090d50a79"
+-"checksum nodrop 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "9a2228dca57108069a5262f2ed8bd2e82496d2e074a06d1ccc7ce1687b6ae0a2"
+-"checksum nom 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05aec50c70fd288702bcd93284a8444607f3292dbdf2a30de5ea5dcdbe72287b"
+-"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
+-"checksum num-traits 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)" = "92e5113e9fd4cc14ded8e499429f396a20f98c772a47cc8622a736e1ec843c31"
+-"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
+-"checksum num_cpus 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "c51a3322e4bca9d212ad9a158a02abc6934d005490c054a2778df73a70aa0a30"
+-"checksum openssl 0.10.15 (registry+https://github.com/rust-lang/crates.io-index)" = "5e1309181cdcbdb51bc3b6bedb33dfac2a83b3d585033d3f6d9e22e8c1928613"
+-"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+-"checksum openssl-sys 0.9.39 (registry+https://github.com/rust-lang/crates.io-index)" = "278c1ad40a89aa1e741a1eed089a2f60b18fab8089c3139b542140fc7d674106"
+-"checksum os_type 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7edc011af0ae98b7f88cf7e4a83b70a54a75d2b8cb013d6efd02e5956207e9eb"
+-"checksum owning_ref 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cdf84f41639e037b484f93433aa3897863b561ed65c6e59c7073d7c561710f37"
+-"checksum parking_lot 0.6.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0802bff09003b291ba756dc7e79313e51cc31667e94afbe847def490424cde5"
+-"checksum parking_lot_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ad7f7e6ebdc79edff6fdcb87a55b620174f7a989e3eb31b65231f4af57f00b8c"
+-"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+-"checksum phf 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "cec29da322b242f4c3098852c77a0ca261c9c01b806cae85a5572a1eb94db9a6"
+-"checksum phf_codegen 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "7d187f00cd98d5afbcd8898f6cf181743a449162aeb329dcd2f3849009e605ad"
+-"checksum phf_generator 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "03dc191feb9b08b0dc1330d6549b795b9d81aec19efe6b4a45aec8d4caee0c4b"
+-"checksum phf_shared 0.7.23 (registry+https://github.com/rust-lang/crates.io-index)" = "b539898d22d4273ded07f64a05737649dc69095d92cb87c7097ec68e3f150b93"
+-"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
+-"checksum proc-macro2 0.4.20 (registry+https://github.com/rust-lang/crates.io-index)" = "3d7b7eaaa90b4a90a932a9ea6666c95a389e424eff347f0f793979289429feee"
+-"checksum pty 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f50f3d255966981eb4e4c5df3e983e6f7d163221f547406d83b6a460ff5c5ee8"
+-"checksum quote 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a"
+-"checksum quote 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "63b5829244f52738cfee93b3a165c1911388675be000c888d2fae620dee8fa5b"
+-"checksum rand 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8356f47b32624fef5b3301c1be97e5944ecdd595409cc5da11d05f211db6cfbd"
+-"checksum rand 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e464cd887e869cddcae8792a4ee31d23c7edd516700695608f5b98c67ee0131c"
+-"checksum rand_core 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1961a422c4d189dfb50ffa9320bf1f2a9bd54ecb92792fb9477f99a1045f3372"
+-"checksum rand_core 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0905b6b7079ec73b314d4c748701f6931eb79fd97c668caa3f1899b22b32c6db"
+-"checksum redox_syscall 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "c214e91d3ecf43e9a4e41e578973adeb14b474f2bee858742d127af75a0112b1"
+-"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
+-"checksum regex 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "ee84f70c8c08744ea9641a731c7fadb475bf2ecc52d7f627feb833e0b3990467"
+-"checksum regex-syntax 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "747ba3b235651f6e2f67dfa8bcdcd073ddb7c243cb21c442fc12395dfcac212d"
+-"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
+-"checksum reqwest 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)" = "00a5870d8edc74fc6e1eb58edbd2815d2243e1a2255d6bf9c82a7a875901b5db"
+-"checksum rustc-demangle 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "bcfe5b13211b4d78e5c2cadfebd7769197d95c639c35a50057eb4c05de811395"
+-"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+-"checksum ryu 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "7153dd96dade874ab973e098cb62fcdbb89a03682e46b144fd09550998d4a4a7"
+-"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
+-"checksum schannel 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "0e1a231dc10abf6749cfa5d7767f25888d484201accbd919b66ab5413c502d56"
+-"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
+-"checksum security-framework 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "697d3f3c23a618272ead9e1fb259c1411102b31c6af8b93f1d64cca9c3b0e8e0"
+-"checksum security-framework-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab01dfbe5756785b5b4d46e0289e5a18071dfa9a7c2b24213ea00b9ef9b665bf"
+-"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+-"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+-"checksum serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8"
+-"checksum serde 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "15c141fc7027dd265a47c090bf864cf62b42c4d228bbcf4e51a0c9e2b0d3f7ef"
+-"checksum serde-hjson 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0b833c5ad67d52ced5f5938b2980f32a9c1c5ef047f0b4fb3127e7a423c76153"
+-"checksum serde_derive 1.0.80 (registry+https://github.com/rust-lang/crates.io-index)" = "225de307c6302bec3898c51ca302fc94a7a1697ef0845fcee6448f33c032249c"
+-"checksum serde_json 1.0.32 (registry+https://github.com/rust-lang/crates.io-index)" = "43344e7ce05d0d8280c5940cabb4964bea626aa58b1ec0e8c73fa2a8512a38ce"
+-"checksum serde_test 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "110b3dbdf8607ec493c22d5d947753282f3bae73c0f56d322af1e8c78e4c23d5"
+-"checksum serde_urlencoded 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "aaed41d9fb1e2f587201b863356590c90c1157495d811430a0c0325fe8169650"
+-"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
+-"checksum slab 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d807fd58c4181bbabed77cb3b891ba9748241a552bcc5be698faaebefc54f46e"
+-"checksum slab 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f9776d6b986f77b35c6cf846c11ad986ff128fe0b2b63a3628e3755e8d3102d"
+-"checksum smallvec 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "153ffa32fd170e9944f7e0838edf824a754ec4c1fc64746fcc9fe1f8fa602e5d"
+-"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
+-"checksum string 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00caf261d6f90f588f8450b8e1230fa0d5be49ee6140fdfbcb55335aff350970"
+-"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
+-"checksum structopt 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "41c4a2479a078509940d82773d90ff824a8c89533ab3b59cd3ce8b0c0e369c02"
+-"checksum structopt-derive 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "5352090cfae7a2c85e1a31146268b53396106c88ca5d6ccee2e3fae83b6e35c2"
+-"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad"
+-"checksum syn 0.15.18 (registry+https://github.com/rust-lang/crates.io-index)" = "90c39a061e2f412a9f869540471ab679e85e50c6b05604daf28bc3060f75c430"
+-"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6"
+-"checksum synstructure 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "73687139bf99285483c96ac0add482c3776528beac1d97d444f6e91f203a2015"
+-"checksum tempfile 3.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "55c1195ef8513f3273d55ff59fe5da6940287a0d7a98331254397f464833675b"
+-"checksum termcolor 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "adc4587ead41bf016f11af03e55a624c06568b5a19db4e90fde573d805074f83"
+-"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
+-"checksum termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625"
+-"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
+-"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
+-"checksum time 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)" = "d825be0eb33fda1a7e68012d51e9c7f451dc1a69391e7fdc197060bb8c56667b"
+-"checksum tokio 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "6e93c78d23cc61aa245a8acd2c4a79c4d7fa7fb5c3ca90d5737029f043a84895"
+-"checksum tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5c501eceaf96f0e1793cf26beb63da3d11c738c4a943fdf3746d81d64684c39f"
+-"checksum tokio-current-thread 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f90fcd90952f0a496d438a976afba8e5c205fb12123f813d8ab3aa1c8436638c"
+-"checksum tokio-executor 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c117b6cf86bb730aab4834f10df96e4dd586eff2c3c27d3781348da49e255bde"
+-"checksum tokio-fs 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "60ae25f6b17d25116d2cba342083abe5255d3c2c79cb21ea11aa049c53bf7c75"
+-"checksum tokio-io 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "7392fe0a70d5ce0c882c4778116c519bd5dbaa8a7c3ae3d04578b3afafdcda21"
+-"checksum tokio-reactor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "4b26fd37f1125738b2170c80b551f69ff6fecb277e6e5ca885e53eec2b005018"
+-"checksum tokio-tcp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7ad235e9dadd126b2d47f6736f65aa1fdcd6420e66ca63f44177bc78df89f912"
+-"checksum tokio-threadpool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3929aee321c9220ed838ed6c3928be7f9b69986b0e3c22c972a66dbf8a298c68"
+-"checksum tokio-timer 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3a52f00c97fedb6d535d27f65cccb7181c8dd4c6edc3eda9ea93f6d45d05168e"
+-"checksum tokio-udp 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "da941144b816d0dcda4db3a1ba87596e4df5e860a72b70783fe435891f80601c"
+-"checksum tokio-uds 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "df195376b43508f01570bacc73e13a1de0854dc59e79d1ec09913e8db6dd2a70"
+-"checksum toml 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "4a2ecc31b0351ea18b3fe11274b8db6e4d82bce861bbb22e6dbed40417902c65"
+-"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
+-"checksum ucd-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "d0f8bfa9ff0cadcd210129ad9d2c5f145c13e9ced3d3e5d948a6213487d52444"
+-"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
+-"checksum unicase 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9d3218ea14b4edcaccfa0df0a64a3792a2c32cc706f1b336e48867f9d3147f90"
+-"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+-"checksum unicode-normalization 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "6a0180bc61fc5a987082bfa111f4cc95c4caff7f9799f3e46df09163a937aa25"
+-"checksum unicode-segmentation 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa6024fc12ddfd1c6dbc14a80fa2324d4568849869b779f6bd37e5e4c03344d1"
+-"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
+-"checksum unicode-xid 0.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc"
+-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+-"checksum unreachable 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56"
+-"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+-"checksum url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "74e7d099f1ee52f823d4bdd60c93c3602043c728f5db3b97bdb548467f7bddea"
+-"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
+-"checksum uuid 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e1436e58182935dcd9ce0add9ea0b558e8a87befe01c1a301e6020aeb0876363"
+-"checksum uuid 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dab5c5526c5caa3d106653401a267fed923e7046f35895ffcb5ca42db64942e6"
+-"checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
+-"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+-"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+-"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+-"checksum want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3"
+-"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+-"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
+-"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+-"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+-"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+-"checksum wincolor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eeb06499a3a4d44302791052df005d5232b927ed1a9658146d842165c4de7767"
+-"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+-"checksum yaml-rust 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "95acf0db5515d07da9965ec0e0ba6cc2d825e2caeb7303b66ca441729801254e"
diff --git a/testing/aspell-es/APKBUILD b/testing/aspell-es/APKBUILD
new file mode 100644
index 00000000000..4afb0845ae9
--- /dev/null
+++ b/testing/aspell-es/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Nulo <alpine@nulo.in>
+# Maintainer: Nulo <alpine@nulo.in>
+pkgname=aspell-es
+pkgver=1.11
+pkgrel=0
+_lang=${pkgname##*-}
+_name=${pkgname%%-*}6-$_lang-$pkgver-2
+pkgdesc="Spanish dictionary for aspell"
+url="http://aspell.net/"
+arch="noarch"
+license="custom"
+options="!check" # No test suite
+makedepends="aspell-dev"
+source="https://ftp.gnu.org/gnu/aspell/dict/$_lang/$_name.tar.bz2"
+builddir="$srcdir"/$_name
+
+build() {
+ ./configure
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -D -m644 Copyright "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+5d0159f24d6bff43db682a4beb25e82dd362c205acf7c9e0d728808c0e54a8a566befe26316f384099c72e6c429713f8ad7d2dc66a8f04a15e1d5a9cfe2290d8 aspell6-es-1.11-2.tar.bz2
+"
diff --git a/testing/asteroid-alarmclock/APKBUILD b/testing/asteroid-alarmclock/APKBUILD
index fa61ee5cba4..709ba23d979 100644
--- a/testing/asteroid-alarmclock/APKBUILD
+++ b/testing/asteroid-alarmclock/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-alarmclock
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="66e4fabe58847b4c48fcad9c4b13be68a4242ca1"
pkgdesc="Default alarm clock app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-alarmclock"
# armhf blocked by qml-asteroid
@@ -21,13 +23,13 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-alarmclock/archive/$_commit/asteroid-alarmclock-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-alarmclock/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
@@ -40,5 +42,5 @@ package() {
}
sha512sums="
-02ea5db3d8589aea048d3629a90a991dfe2d78b6e28e7ab984b06d12c2853e427b1036df6b11e0a1c3044b76a63875c23aa23f08185ae04776dc51a124167710 asteroid-alarmclock-66e4fabe58847b4c48fcad9c4b13be68a4242ca1.tar.gz
+fff0ea11474e857dc4dd875c33e65661f79c2a6af2a6094965dc32ce343919e6baeba9e4d235f3592ef4036f34d1005da0f6f99e75d4eba6617a1f48e9d4253b asteroid-alarmclock-2.0.0.tar.gz
"
diff --git a/testing/asteroid-btsyncd/0001-batteryservice-use-systemsettings.patch b/testing/asteroid-btsyncd/0001-batteryservice-use-systemsettings.patch
deleted file mode 100644
index 0119e5814ca..00000000000
--- a/testing/asteroid-btsyncd/0001-batteryservice-use-systemsettings.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-From 5371d8b9de845407769217082729a52af1ee9242 Mon Sep 17 00:00:00 2001
-From: MagneFire <IDaNLContact@gmail.com>
-Date: Mon, 5 Apr 2021 15:03:42 +0200
-Subject: [PATCH] BatteryService: Use systemsettings for battery information.
-
----
- asteroid-btsyncd.pro | 2 +-
- batteryservice.cpp | 17 +++++++++--------
- batteryservice.h | 6 +++---
- 3 files changed, 13 insertions(+), 12 deletions(-)
-
-diff --git a/asteroid-btsyncd.pro b/asteroid-btsyncd.pro
-index 2c2eac4..4852f21 100644
---- a/asteroid-btsyncd.pro
-+++ b/asteroid-btsyncd.pro
-@@ -2,7 +2,7 @@ TEMPLATE = app
- QT -= gui
- QT += dbus
- CONFIG += link_pkgconfig c++11
--PKGCONFIG += giomm-2.4 mpris-qt5 contextkit-statefs timed-qt5
-+PKGCONFIG += giomm-2.4 mpris-qt5 systemsettings timed-qt5
-
- HEADERS += \
- notificationservice.h \
-diff --git a/batteryservice.cpp b/batteryservice.cpp
-index d8da7ef..04f3ef6 100644
---- a/batteryservice.cpp
-+++ b/batteryservice.cpp
-@@ -15,7 +15,7 @@
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
--#include <contextproperty.h>
-+#include <batterystatus.h>
-
- #include <QTimer>
- #include <QDBusMessage>
-@@ -27,19 +27,20 @@
-
- BatteryLvlChrc::BatteryLvlChrc(QDBusConnection bus, int index, Service *service) : Characteristic(bus, index, BATTERY_LVL_UUID, {"encrypt-authenticated-read", "notify"}, service)
- {
-- m_battery = new ContextProperty("Battery.ChargePercentage", this);
-- connect(m_battery, SIGNAL(valueChanged()), this, SLOT(onBatteryPercentageChanged()));
-+ m_battery = new BatteryStatus(this);
-+ connect(m_battery, &BatteryStatus::chargePercentageChanged,
-+ this, &BatteryLvlChrc::onBatteryPercentageChanged);
- connect(this, SIGNAL(valueChanged()), this, SLOT(emitPropertiesChanged()));
- m_value = QByteArray(1, 100);
-- QTimer::singleShot(0, this, SLOT(onBatteryPercentageChanged()));
- }
-
--void BatteryLvlChrc::onBatteryPercentageChanged()
-+void BatteryLvlChrc::onBatteryPercentageChanged(int percentage)
- {
-- char val = m_battery->value().toUInt();
-- m_value = QByteArray(1, val);
-+ if (percentage >= 0) {
-+ m_value = QByteArray(1, percentage);
-
-- emit valueChanged();
-+ emit valueChanged();
-+ }
- }
-
- void BatteryLvlChrc::emitPropertiesChanged()
-diff --git a/batteryservice.h b/batteryservice.h
-index 8ff8154..9ced969 100644
---- a/batteryservice.h
-+++ b/batteryservice.h
-@@ -22,7 +22,7 @@
-
- #include "service.h"
-
--class ContextProperty;
-+class BatteryStatus;
-
- class BatteryLvlChrc : public Characteristic
- {
-@@ -42,13 +42,13 @@ public slots:
-
- private slots:
- void emitPropertiesChanged();
-- void onBatteryPercentageChanged();
-+ void onBatteryPercentageChanged(int percentage);
-
- signals:
- void valueChanged();
-
- private:
-- ContextProperty *m_battery;
-+ BatteryStatus *m_battery;
- QByteArray m_value;
-
- QByteArray getValue()
diff --git a/testing/asteroid-btsyncd/APKBUILD b/testing/asteroid-btsyncd/APKBUILD
index dc22b44eba6..7c3252c1b21 100644
--- a/testing/asteroid-btsyncd/APKBUILD
+++ b/testing/asteroid-btsyncd/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-btsyncd
-pkgver=0_git20211128
+pkgver=2.0.0
pkgrel=0
-_commit="d142416ac0d0442e354c2c5b9fbce0b9db9ea36f"
pkgdesc="Bluetooth Low Energy synchronization daemon for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-btsyncd"
# armhf blocked by nemo-qml-plugin-systemsettings
@@ -16,15 +18,15 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qtmpris-dev
+ samurai
timed-dev
"
-source="https://github.com/AsteroidOS/asteroid-btsyncd/archive/$_commit/asteroid-btsyncd-$_commit.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-btsyncd/archive/refs/tags/$pkgver.tar.gz
asteroid-btsyncd.desktop
"
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
@@ -32,8 +34,7 @@ build() {
}
check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+ ctest --test-dir build --output-on-failure
}
package() {
@@ -43,6 +44,6 @@ package() {
}
sha512sums="
-c13c3e497c9ce4e9fe4120a56efe23ad89cfd06cc404001a0db6727f2af8f5be43ed27dbca2aecd76f686b5bec5f24b489f2cc534109d27d3cc23da6bf18bcb8 asteroid-btsyncd-d142416ac0d0442e354c2c5b9fbce0b9db9ea36f.tar.gz
+b0fba66730cde57260deefb53536004ddd5746c97a2c0adfdd0c28a66c05a0d910cf1d36c188c389ae90c9bf3f37943ea7024db5ee558e432770d72ef9f8c243 asteroid-btsyncd-2.0.0.tar.gz
c6d1f3e1870c9bf0c65dc25961f58c3277149f6f7cc141bf0fd89ead191a1d9d72c3c414485f9b1b6407f066e51949b17be8eeb2473dcafb2e2bc5af1015b903 asteroid-btsyncd.desktop
"
diff --git a/testing/asteroid-calculator/APKBUILD b/testing/asteroid-calculator/APKBUILD
index a4c1d768816..f92d658ec71 100644
--- a/testing/asteroid-calculator/APKBUILD
+++ b/testing/asteroid-calculator/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-calculator
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="f6cb4cd12a1bed8f491945f8d26bb87bfcfeaa04"
pkgdesc="Default calculator app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-calculator"
# armhf blocked by qml-asteroid
@@ -16,8 +18,7 @@ makedepends="
qt5-qtbase-dev
qt5-qtdeclarative-dev
"
-source="https://github.com/AsteroidOS/asteroid-calculator/archive/$_commit/asteroid-calculator-$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-calculator/archive/refs/tags/$pkgver.tar.gz"
build() {
cmake -B build \
@@ -27,8 +28,7 @@ build() {
}
check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+ ctest --test-dir build --output-on-failure
}
package() {
@@ -36,5 +36,5 @@ package() {
}
sha512sums="
-c9974600e11165599f4bdf33dbd3c0fe150fab69cdfc64a89234cda34a17f05788362c31a8abf9e2e01d30371a187cffb35ebe0665b18c9a15daa5883a1129e2 asteroid-calculator-f6cb4cd12a1bed8f491945f8d26bb87bfcfeaa04.tar.gz
+7a115627715864a6261ef1c46b4c61777b8013abe82a904ebe7aab803d4f31d3115390fd5a9c834529eb738e01bce19872a91c117bb1f60df96c67609f448a24 asteroid-calculator-2.0.0.tar.gz
"
diff --git a/testing/asteroid-calendar/APKBUILD b/testing/asteroid-calendar/APKBUILD
index 68d183aa4f6..beb2e37506d 100644
--- a/testing/asteroid-calendar/APKBUILD
+++ b/testing/asteroid-calendar/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-calendar
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="9d0241fc65466f17b9260b3bca8db319b0093d42"
pkgdesc="Default calendar app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-calendar"
# armhf blocked by nemo-qml-plugin-calendar
@@ -20,13 +22,13 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-calendar/archive/$_commit/asteroid-calendar-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-calendar/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
@@ -37,5 +39,5 @@ package() {
}
sha512sums="
-0e3f7598fad35bf837dcaa385db8c9de7c12dd53439db80938c5be2f9e4fa7dba77d894654979f2e722b162f10ff76ff93f7380795dfe22229ad220d1a4c2ecc asteroid-calendar-9d0241fc65466f17b9260b3bca8db319b0093d42.tar.gz
+c4515928cef970c099a72fa468fa92fe213518946f46af1382e6b983ade66a9bebcc466a9dbf3842fb5f64704169ea0ca616734da30e6f3eaa256cf2ff8cdab0 asteroid-calendar-2.0.0.tar.gz
"
diff --git a/testing/asteroid-camera/APKBUILD b/testing/asteroid-camera/APKBUILD
index 523c8fe6b25..53ca2df14d6 100644
--- a/testing/asteroid-camera/APKBUILD
+++ b/testing/asteroid-camera/APKBUILD
@@ -1,10 +1,12 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-camera
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="da9b1e4a2378aa4a423c0126be94def6c3174a29"
-pkgdesc="Default camerae app for AsteroidOS"
+pkgdesc="Default camera app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-camera"
# armhf blocked by extra-cmake-modules
arch="all !armhf"
@@ -17,9 +19,8 @@ makedepends="
qt5-qtdeclarative-dev
qt5-qtmultimedia-dev
"
-source="https://github.com/AsteroidOS/asteroid-camera/archive/$_commit/asteroid-camera-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-camera/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
cmake -B build \
@@ -33,5 +34,5 @@ package() {
}
sha512sums="
-cbbfca8487694a26d555b169329f7aa7673cc3f2ca4025ac1954aad1c041f5215c82cfd38ff42805e57ba07bb697de02a3c70175754bd774e8160b505fc9b3ed asteroid-camera-da9b1e4a2378aa4a423c0126be94def6c3174a29.tar.gz
+1b09ea8fbb6d94d6b793ca83675cbd4282d07c5dc2ffabed025227e9a8a3072c187226c653c630aeb2d51721bcb71d69dbf67c9f4e2bb79f230f07e4bf260194 asteroid-camera-2.0.0.tar.gz
"
diff --git a/testing/asteroid-compass/APKBUILD b/testing/asteroid-compass/APKBUILD
index 16d7849ad6d..8fbdb35c208 100644
--- a/testing/asteroid-compass/APKBUILD
+++ b/testing/asteroid-compass/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-compass
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="b3cf236b34c386a9cbff81ffc1631554bd60ee1b"
pkgdesc="Default compass app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-compass"
# armhf blocked by qml-asteroid
@@ -18,14 +20,14 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-compass/archive/$_commit/asteroid-compass-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-compass/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
}
@@ -35,5 +37,5 @@ package() {
}
sha512sums="
-707b2ac18101bc6a0252eb691ba30919f9adf4fc59161330972d4b28c32653f4e0ae9c4cd2130d75c99bc0aae4ec1e1bea14fac1a2c7150e3005b7e77f5d4b2d asteroid-compass-b3cf236b34c386a9cbff81ffc1631554bd60ee1b.tar.gz
+b08e5b6a8b5102298e9ac511b088b926ac8a6e1230bf4643a86e759732015cc3f6dcb31d40f2481b55a76c098928d0da09501b1313c508c3670e36afb49707b4 asteroid-compass-2.0.0.tar.gz
"
diff --git a/testing/asteroid-diamonds/APKBUILD b/testing/asteroid-diamonds/APKBUILD
new file mode 100644
index 00000000000..d78522021c2
--- /dev/null
+++ b/testing/asteroid-diamonds/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
+pkgname=asteroid-diamonds
+pkgver=2.0.0
+pkgrel=0
+pkgdesc="A 2048-like game for AsteroidOS"
+url="https://github.com/AsteroidOS/asteroid-diamonds"
+# armhf blocked by qml-asteroid
+arch="all !armhf"
+license="GPL-3.0-or-later"
+depends="mapplauncherd"
+makedepends="
+ extra-cmake-modules
+ qml-asteroid-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samurai
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-diamonds/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # No tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+534e0a7a66d96454acf1ac6e20ceb06d73f394b51b70f450a99f2991469127c48ddbbafcb912184d92ff9d91cfe091158ff8d9f003ce025bf4199561e079b014 asteroid-diamonds-2.0.0.tar.gz
+"
diff --git a/testing/asteroid-flashlight/APKBUILD b/testing/asteroid-flashlight/APKBUILD
index 7c1c73acfb3..fb2088efc19 100644
--- a/testing/asteroid-flashlight/APKBUILD
+++ b/testing/asteroid-flashlight/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-flashlight
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="967f5c0ef9d312b369138f24beae2c8ae30b0c06"
pkgdesc="Default flashlight app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-flashlight"
# armhf blocked by qml-asteroid
@@ -18,13 +20,13 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-flashlight/archive/$_commit/asteroid-flashlight-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-flashlight/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
@@ -36,5 +38,5 @@ package() {
}
sha512sums="
-1a3da1e9b4e2c28f3febc48f2b93bc83a1dfddf3e347c08849e5308591d638b9d92009824f648b526ec492bc2cc6e6d4d64ac353e28be2e569640f59bd5eb948 asteroid-flashlight-967f5c0ef9d312b369138f24beae2c8ae30b0c06.tar.gz
+002a9d3d75857c08f270a6cd273e10422059143f3cdcf616bbaee470708b9d8f620d683d9aa95b6b65b26cdc88547e10833aba9e89a98d735dbe5e3f037f3bf9 asteroid-flashlight-2.0.0.tar.gz
"
diff --git a/testing/asteroid-hrm/APKBUILD b/testing/asteroid-hrm/APKBUILD
index 96071c82234..d0020d71cf5 100644
--- a/testing/asteroid-hrm/APKBUILD
+++ b/testing/asteroid-hrm/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-hrm
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="6d3c74f37162281026ca3f70c6b2a08de4fc655f"
pkgdesc="Default heart-rate-monitor app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-hrm"
# armhf blocked by qt5-qtsensors
@@ -18,13 +20,13 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-hrm/archive/$_commit/asteroid-hrm-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-hrm/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
@@ -35,5 +37,5 @@ package() {
}
sha512sums="
-8ab873896753c513d5d7335a6b8cde70ae562be486b9b54926371412c3b23a004afeb42be12548a10e72eb850a48deac7244e51c69fe546252689b5215a293fd asteroid-hrm-6d3c74f37162281026ca3f70c6b2a08de4fc655f.tar.gz
+83a8d1bf9bde82d08111ee0a7bb51e9b3fc3613eceb0d6ce03ccc36add6187d5865fa2ca697450a60eb830ffd5e3a7c26c73a33d98c97df9a18db9f3f5a5b55e asteroid-hrm-2.0.0.tar.gz
"
diff --git a/testing/asteroid-icons-ion/APKBUILD b/testing/asteroid-icons-ion/APKBUILD
index d98bcac4649..1b26516c7e9 100644
--- a/testing/asteroid-icons-ion/APKBUILD
+++ b/testing/asteroid-icons-ion/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-icons-ion
-pkgver=0_git20200825
+pkgver=2.0.0
pkgrel=0
-_commit="269c72f9e57f3ee998c4f87851f81436ad5d3771"
pkgdesc="Default set of icons of AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-icons-ion"
arch="noarch"
license="MIT"
-source="https://github.com/AsteroidOS/asteroid-icons-ion/archive/$_commit/asteroid-icons-ion-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-icons-ion/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No code to test
-builddir="$srcdir/$pkgname-$_commit"
package() {
cd src
@@ -19,4 +20,6 @@ package() {
done
}
-sha512sums="cf3676d84ddd82263c97d73509e8d0ed2f5463d5ef5bcd2b34a94935d04067a06242612b610332c6ba525f1431a3fd736b0f75a392f88251aae3abf3420f270d asteroid-icons-ion-269c72f9e57f3ee998c4f87851f81436ad5d3771.tar.gz"
+sha512sums="
+d8969d8b49079792b7a7f3f017762a70bdfc117e54c8057d6c06e1c36cd1158442f4e1054eca7798d6a1b2385bba12aede8c294f39afbfeb6d56946f6a2f2ba3 asteroid-icons-ion-2.0.0.tar.gz
+"
diff --git a/testing/asteroid-languages/APKBUILD b/testing/asteroid-languages/APKBUILD
index 522aadbfa7b..9b0ca51f3c3 100644
--- a/testing/asteroid-languages/APKBUILD
+++ b/testing/asteroid-languages/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=asteroid-languages
-pkgver=0_git20210411
+pkgver=0_git20230112
pkgrel=0
-_commit="8e49483d35ec5593b3a19d025d817c58562d20c1"
+_commit="162f8cffeae4af2ddfd8f74efd3e2f8a04d455a5"
pkgdesc="Set of config files describing the languages that are available on AsteroidOS"
url="https://github.com/AsteroidOS/supported-languages"
# armhf blocked by nemo-qml-plugin-calendar
@@ -22,4 +22,6 @@ package() {
done
}
-sha512sums="26ada4b5c2b00c7771a80c887e11a3d3b0b109764c5fa448e0bb049e2414a77575d086e82b5b62a56b1b3b0747aa346cd27edbc501fbad8bb96d201dc4ed429d asteroid-languages-8e49483d35ec5593b3a19d025d817c58562d20c1.tar.gz"
+sha512sums="
+9dd3bfd6990532d2a41564d8fe47e2f7b04f88799e0723d8c90addaca44d593c2a93dfa919ff3fe1a34bdc9f2b6d6b2c94ac0e0e832e499c52ad9fcfe09452b0 asteroid-languages-162f8cffeae4af2ddfd8f74efd3e2f8a04d455a5.tar.gz
+"
diff --git a/testing/asteroid-launcher/0001-use-mce-battery-api-and-fix-deprecation-issues.patch b/testing/asteroid-launcher/0001-use-mce-battery-api-and-fix-deprecation-issues.patch
deleted file mode 100644
index d9607490fd5..00000000000
--- a/testing/asteroid-launcher/0001-use-mce-battery-api-and-fix-deprecation-issues.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 59e072c0e2f2e3d848f08affed6d046cec801114 Mon Sep 17 00:00:00 2001
-From: MagneFire <IDaNLContact@gmail.com>
-Date: Sun, 4 Apr 2021 20:51:52 +0200
-Subject: [PATCH] QuickSettings: Use Mce for battery information.
-
----
- qml/quicksettings/QuickSettings.qml | 21 ++++++++-------------
- 1 file changed, 8 insertions(+), 13 deletions(-)
-
-diff --git a/qml/quicksettings/QuickSettings.qml b/qml/quicksettings/QuickSettings.qml
-index ee13e7c..344b72b 100644
---- a/qml/quicksettings/QuickSettings.qml
-+++ b/qml/quicksettings/QuickSettings.qml
-@@ -29,7 +29,7 @@
- */
-
- import QtQuick 2.9
--import org.freedesktop.contextkit 1.0
-+import Nemo.Mce 1.0
- import Nemo.DBus 2.0
- import org.nemomobile.systemsettings 1.0
- import Nemo.Ngf 1.0
-@@ -44,17 +44,12 @@ Item {
- property bool forbidLeft: true
- property bool forbidRight: true
-
-- ContextProperty {
-+ MceBatteryLevel {
- id: batteryChargePercentage
-- key: "Battery.ChargePercentage"
-- value: "100"
-- Component.onCompleted: batteryChargePercentage.subscribe()
- }
-
-- ContextProperty {
-- id: batteryIsCharging
-- key: "Battery.IsCharging"
-- value: false
-+ MceBatteryState {
-+ id: batteryChargeState
- }
-
- DBusInterface {
-@@ -149,9 +144,9 @@ Item {
- Icon {
- id: batteryIcon
- name: {
-- if(batteryIsCharging.value) return "ios-battery-charging"
-- else if(batteryChargePercentage.value > 15) return "ios-battery-full"
-- else return "ios-battery-dead"
-+ if(batteryChargeState.value == MceBatteryState.Charging) return "ios-battery-charging"
-+ else if(batteryChargePercentage.percent > 15) return "ios-battery-full"
-+ else return "ios-battery-dead"
- }
- width: parent.height/2
- height: width
-@@ -161,7 +156,7 @@ Item {
- Label {
- id: batteryIndicator
- font.pixelSize: parent.height/4
-- text: batteryChargePercentage.value + "%"
-+ text: batteryChargePercentage.percent + "%"
- anchors.right: parent.right
- anchors.verticalCenter: parent.verticalCenter
- }
diff --git a/testing/asteroid-launcher/APKBUILD b/testing/asteroid-launcher/APKBUILD
index 293218c05c5..3d6b98f36d9 100644
--- a/testing/asteroid-launcher/APKBUILD
+++ b/testing/asteroid-launcher/APKBUILD
@@ -1,56 +1,60 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-launcher
-pkgver=0_git20211121
-pkgrel=5
-_commit="d616e47367704143fe29beacb1c4c0134c6262a9"
+pkgver=2.0.0
+pkgrel=0
pkgdesc="AsteroidOS launcher and Wayland compositor based on Qt5, QML and QtWayland via Lipstick"
url="https://github.com/AsteroidOS/asteroid-launcher"
-arch="all !armhf" # blocked by nemo-qml-plugin-calendar
-arch="$arch !mips !mips64" # blocked by font-noto-emoji
+# armhf blocked by nemo-qml-plugin-calendar
+arch="all !armhf"
license="BSD-3-Clause AND MIT"
depends="
asteroid-icons-ion
asteroid-languages
asteroid-wallpapers
+ lipstick-asteroidos
mce
nemo-qml-plugin-calendar
nemo-qml-plugin-configuration
nemo-qml-plugin-systemsettings
nemo-qml-plugin-time
- qml-asteroid
qt5-qtgraphicaleffects
"
# Normally we shouldn't hard depend on fonts, but in this case these fonts are
# hardcoded for some supported watchfaces
depends="$depends
font-noto-emoji
+ font-opensans
font-raleway-otf
font-roboto
- ttf-opensans
"
makedepends="
- lipstick-dev
+ extra-cmake-modules
+ lipstick-asteroidos-dev
+ qml-asteroid-dev
qt5-qtbase-dev
+ samurai
"
subpackages="$pkgname-dbg"
-source="https://github.com/AsteroidOS/asteroid-launcher/archive/$_commit/asteroid-launcher-$_commit.tar.gz
- 0001-use-mce-battery-api-and-fix-deprecation-issues.patch
- "
-builddir="$srcdir/$pkgname-$_commit"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-launcher/archive/refs/tags/$pkgver.tar.gz"
build() {
- qmake-qt5 \
- PREFIX=/usr
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
}
check() {
- make check
+ ctest --test-dir build --output-on-failure
}
package() {
- INSTALL_ROOT="$pkgdir" make install
+ DESTDIR="$pkgdir" cmake --install build
install -dm755 "$pkgdir"/usr/share/translations
lrelease-qt5 -idbased i18n/asteroid-launcher.*.ts
@@ -58,6 +62,5 @@ package() {
}
sha512sums="
-f39849291f0f36ca131189a4a4c3047d487c2489667a76550d842998354e9d2857b53ef4672e9bb98895c2303f38384297487cfba9e99f1d82cf059b40d199b9 asteroid-launcher-d616e47367704143fe29beacb1c4c0134c6262a9.tar.gz
-3e05448c78c98dfb2ad8085357ccb5a473baae561b03337dda53f2f031fa8b6069c2139ca6fd35ee4c7e69dd0765618ff01421ddc758072d54806723f6320c47 0001-use-mce-battery-api-and-fix-deprecation-issues.patch
+67b3c9ad5842e64036b4ac7f459258c7264a356bef6b13a72078523e808ddae815d47724ed2ad2c10bb4d3c06a756628dcb83d7f7d6021ba86caede0ce5340c8 asteroid-launcher-2.0.0.tar.gz
"
diff --git a/testing/asteroid-music/APKBUILD b/testing/asteroid-music/APKBUILD
index 4231324a6fb..af7cdb8cdc5 100644
--- a/testing/asteroid-music/APKBUILD
+++ b/testing/asteroid-music/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-music
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="a3a13db9ce31e8a75f339adf36940aa48128fe1a"
pkgdesc="Default music app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-music"
# armhf blocked by qml-asteroid
@@ -15,13 +17,13 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-music/archive/$_commit/asteroid-music-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-music/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
@@ -33,5 +35,5 @@ package() {
}
sha512sums="
-96380403afc2192a4c4c7065a5a05ed49d033b8c5d6de0ea4c8d128caca05171f8fbc40e220cef5fb0160988e17787e2d376d0786b70709c1bcdc4435426d1ad asteroid-music-a3a13db9ce31e8a75f339adf36940aa48128fe1a.tar.gz
+aafc8a7d0fbec29f2a2008a28fb7dfffca9699ddbca346fe65c83e770c3f279e0723ec75074ed2c238de5ebfbd47b887f5e49998bee63500be7a211b0b1f6ba9 asteroid-music-2.0.0.tar.gz
"
diff --git a/testing/asteroid-settings/APKBUILD b/testing/asteroid-settings/APKBUILD
index cac25b73e0e..877a1de9ae7 100644
--- a/testing/asteroid-settings/APKBUILD
+++ b/testing/asteroid-settings/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-settings
-pkgver=0_git20211128
+pkgver=2.0.0
pkgrel=0
-_commit="2e9b722ad2611486694d5172322dcca39447dc9c"
pkgdesc="Default settings app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-settings"
# armhf blocked by nemo-qml-plugin-systemsettings
@@ -25,13 +27,13 @@ makedepends="
qt5-qtbase-dev
qt5-qtdeclarative-dev
qt5-qtmultimedia-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-settings/archive/$_commit/asteroid-settings-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-settings/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
@@ -42,5 +44,5 @@ package() {
}
sha512sums="
-5a007aa3e8c492ebb7e6dff68f7953d5df69839c068258043768c89f9a1421220b5075bd6463cecfe37bb8e3f8053d544aa98e4d8855104f25aeb4506936ed84 asteroid-settings-2e9b722ad2611486694d5172322dcca39447dc9c.tar.gz
+90ea5c3d13926b53d021d623b0816e65bdb4c18e8ab12c69dd502c5dfc113306bd2cab94e49e4d993d642e4c02e89878b5f02234cd5b616d595e6ab6aaeefa31 asteroid-settings-2.0.0.tar.gz
"
diff --git a/testing/asteroid-stopwatch/APKBUILD b/testing/asteroid-stopwatch/APKBUILD
index a3f0c5348ea..0d0fd381595 100644
--- a/testing/asteroid-stopwatch/APKBUILD
+++ b/testing/asteroid-stopwatch/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-stopwatch
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="fdc71d176c3d2c3e569c1d26998d4def12d9d1c3"
pkgdesc="Default stopwatch app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-stopwatch"
# armhf blocked by qml-asteroid
@@ -15,13 +17,13 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-stopwatch/archive/$_commit/asteroid-stopwatch-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-stopwatch/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
@@ -32,5 +34,5 @@ package() {
}
sha512sums="
-c0037dedbeaf7b0a82c7a3d905a963617be14e7f988c776b310f6600deab5c175d66c32a11729001b871f57a56747afbffb17287ef295700c1edfdd688767f5d asteroid-stopwatch-fdc71d176c3d2c3e569c1d26998d4def12d9d1c3.tar.gz
+7bb3fc9b9853bdd226f9ada224337a8b9acc1a0ddcb235a84cbf09822ee97f976e75316a3011fbc416c3f61ba01dec7e1c2177956fa82efca01df04059559f53 asteroid-stopwatch-2.0.0.tar.gz
"
diff --git a/testing/asteroid-timer/APKBUILD b/testing/asteroid-timer/APKBUILD
index 01c70d535c9..4bd71602b72 100644
--- a/testing/asteroid-timer/APKBUILD
+++ b/testing/asteroid-timer/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-timer
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="7a7e9475f7032dec63cea1bdb943828fadac363f"
pkgdesc="Default timer app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-timer"
# armhf blocked by qml-asteroid
@@ -18,13 +20,13 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-timer/archive/$_commit/asteroid-timer-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-timer/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
@@ -35,5 +37,5 @@ package() {
}
sha512sums="
-ddc5610385f896b093bf8bde497890520c939418b022c5cd4cb1e5990fb3bb609c967ea842bc59b29f7d018fb9e2bc2e031406d2c73767bddc395bee87401df0 asteroid-timer-7a7e9475f7032dec63cea1bdb943828fadac363f.tar.gz
+a4cc9b0702ce9fe7e7465d24ee6f7714444f35f56dfcc20de17aef3db564fc2eaf84ee02d9e1abad76532feffbe3772b9e8efc9b0abf2dcc9fa314e9a17e7b35 asteroid-timer-2.0.0.tar.gz
"
diff --git a/testing/asteroid-wallpapers/APKBUILD b/testing/asteroid-wallpapers/APKBUILD
index cb19ebf6fd8..778b7603d38 100644
--- a/testing/asteroid-wallpapers/APKBUILD
+++ b/testing/asteroid-wallpapers/APKBUILD
@@ -1,22 +1,25 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-wallpapers
-pkgver=0_git20200929
+pkgver=2.0.0
pkgrel=0
-_commit="a748cf9314d5798eb1bf66c3b6641eecd2d3d655"
pkgdesc="Default set of wallpapers for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-wallpapers"
arch="noarch"
license="CC0-1.0 AND CC-BY-2.0 AND CC-BY-NC-SA-2.0"
-source="https://github.com/AsteroidOS/asteroid-wallpapers/archive/$_commit/asteroid-wallpapers-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-wallpapers/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No code to test
-builddir="$srcdir/$pkgname-$_commit"
package() {
- cd 480x480
- find . -type f | while read -r i; do
- install -Dm644 $i "$pkgdir"/usr/share/asteroid-launcher/wallpapers/$i
+ install -dm755 "$pkgdir"/usr/share/asteroid-launcher/wallpapers
+ find . -mindepth 1 -maxdepth 1 -type d -not -empty -not -name ".*" | while read -r i; do
+ cp -R "$i" "$pkgdir"/usr/share/asteroid-launcher/wallpapers/
done
}
-sha512sums="2fa6770263f7268862e148b08f0a97dd68e0e46191e94feda93aaa04c7b04f85c8d54df22169eb5ba0cb8f06b49cc5b30e7221847dbf63fbdf8938fb86f83f09 asteroid-wallpapers-a748cf9314d5798eb1bf66c3b6641eecd2d3d655.tar.gz"
+sha512sums="
+6acfbb74f7620abfa57acb72f3f044ccec082beb1fb5111bba9256201088ca68d20c1f838c7fda8495afc5462813a07461aff09099129190ad3d11cd84451932 asteroid-wallpapers-2.0.0.tar.gz
+"
diff --git a/testing/asteroid-weather/APKBUILD b/testing/asteroid-weather/APKBUILD
index c84bdaf6076..0a5e998f1fe 100644
--- a/testing/asteroid-weather/APKBUILD
+++ b/testing/asteroid-weather/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=asteroid-weather
-pkgver=0_git20210517
+pkgver=2.0.0
pkgrel=0
-_commit="358d8094ff99ae841c25fb563672a182d5851cc4"
pkgdesc="Default weather app for AsteroidOS"
url="https://github.com/AsteroidOS/asteroid-weather"
# armhf blocked by qml-asteroid
@@ -18,13 +20,13 @@ makedepends="
qml-asteroid-dev
qt5-qtbase-dev
qt5-qtdeclarative-dev
+ samurai
"
-source="https://github.com/AsteroidOS/asteroid-weather/archive/$_commit/asteroid-weather-$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/asteroid-weather/archive/refs/tags/$pkgver.tar.gz"
options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
@@ -35,5 +37,5 @@ package() {
}
sha512sums="
-14abda266d9c1d708a5f34c002b0ff96eaa579ac0e3e69309e7eb8a37a652d8ad5f8ac0bcb9292fdb577d66c8af107e41e49b0be752d2e042c235b892ce8981f asteroid-weather-358d8094ff99ae841c25fb563672a182d5851cc4.tar.gz
+689890839110b96850d600ed1edfa501ceddbb4b892bc151cb6460274ca5255b0d96032c61a6440c063f87307942da5f0b68b0d7e04d23bb5e4df2b0af7f2598 asteroid-weather-2.0.0.tar.gz
"
diff --git a/testing/asuran-cli/APKBUILD b/testing/asuran-cli/APKBUILD
deleted file mode 100644
index 28021bafdb9..00000000000
--- a/testing/asuran-cli/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=asuran-cli
-pkgver=0.1.6
-pkgrel=2
-pkgdesc="Asuran is a new archive format and rust implementation"
-url="https://gitlab.com/asuran-rs/asuran"
-arch="all !s390x !mips !mips64 !riscv64"
-license="BSD-2-Clause-Patent"
-# TODO: Replace openssl1.1-compat-dev with openssl-dev after upgrade
-makedepends="cargo openssl1.1-compat-dev"
-source="https://gitlab.com/asuran-rs/asuran/-/archive/v$pkgver/asuran-v$pkgver.tar.gz"
-builddir="$srcdir/asuran-v$pkgver"
-
-build() {
- local _rf=
- local _f=
- case "$CARCH" in
- x86_64) _rf="-C target-feature=+aes $_rf" ;;
- aarch64*) _rf="-C target-feature=+aes $_rf"
- _f="--features blake3-neon" ;;
- esac
-
- export RUSTFLAGS=$_rf
-
- cd asuran-cli
- cargo build --release --locked $_f
-}
-
-check() {
- cargo test all --release --locked
-}
-
-package() {
- cd asuran-cli
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates.toml
- rm "$pkgdir"/usr/.crates2.json
-}
-
-sha512sums="2345b9ad0daedc4b21707bcdae72f7678f8e8d7adb470f78088ceb88f8ca18d1661bc5126d6199d5e904b528c7b5b50e9f8c3d770b28b72fcad64c17e9b87add asuran-v0.1.6.tar.gz"
diff --git a/testing/asymptote/APKBUILD b/testing/asymptote/APKBUILD
index 951c7b5a430..a7e631f70cb 100644
--- a/testing/asymptote/APKBUILD
+++ b/testing/asymptote/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Julian Weigt <juw@posteo.de>
# Maintainer: Julian Weigt <juw@posteo.de>
pkgname=asymptote
-pkgver=2.70
+pkgver=2.86
pkgrel=0
pkgdesc="A vector graphics language for technical drawing"
-url="http://asymptote.sourceforge.net/"
-arch="all !mips64 !s390x !riscv64" #blocked by texlive
+url="https://asymptote.sourceforge.net/"
+arch="all !ppc64le !s390x !riscv64" #blocked by texlive
license="GPL-3.0-only"
depends="texlive texlive-dvi ghostscript"
### Optional dependencies
@@ -13,9 +13,11 @@ depends="texlive texlive-dvi ghostscript"
# fftw for fourier transform of data
# numpy pyqt5 cson and librsvg for GUI program xasy. I could not find cson for alpine though.
# freeglut for openGL support
-makedepends="zlib-dev texinfo autoconf"
+makedepends="zlib-dev texinfo autoconf bison flex texmf-dist-latexextra"
subpackages="$pkgname-doc"
-source="https://downloads.sourceforge.net/sourceforge/asymptote/asymptote-$pkgver.src.tgz"
+source="https://downloads.sourceforge.net/sourceforge/asymptote/asymptote-$pkgver.src.tgz
+ fix-nullopt-not-declared.patch
+ "
prepare() {
default_prepare
@@ -48,4 +50,7 @@ package() {
make -j1 DESTDIR="$pkgdir" install-all
}
-sha512sums="24d60af361e3f0309a896ce8163da6fc0a9d6587efe726c5acf874dcb74f4d51b4bad8146a615ff54173ef06dac53117fd1cc09c77940271adc9f64cac6bcfe6 asymptote-2.70.src.tgz"
+sha512sums="
+9e11dbfca10379f07b50dcce0d63c12b793f47741651b1804cf0825e87604c40b5b94acf343ce7f5ca7da83b5ebb0e213090ada80e0b6ebe4f6cec9db67209d6 asymptote-2.86.src.tgz
+54bb8b5d71d5ad663da60f4be9b725a9f00cdaf8dd68326a696683269b3bdcb07ba885d6347643c67159a7a38ec7b3196e7c1617fe99d41a4a1a62b135861fce fix-nullopt-not-declared.patch
+"
diff --git a/testing/asymptote/fix-nullopt-not-declared.patch b/testing/asymptote/fix-nullopt-not-declared.patch
new file mode 100644
index 00000000000..a1e0ddefce4
--- /dev/null
+++ b/testing/asymptote/fix-nullopt-not-declared.patch
@@ -0,0 +1,14 @@
+--- a/common.h
++++ b/common.h
+@@ -38,6 +38,11 @@
+ using nonstd::optional;
+ using nonstd::nullopt;
+ using nonstd::make_optional;
++#else
++#include <optional>
++using std::optional;
++using std::nullopt;
++using std::make_optional;
+ #endif
+ #endif
+
diff --git a/testing/async-profiler/APKBUILD b/testing/async-profiler/APKBUILD
deleted file mode 100644
index 4ea1917d09d..00000000000
--- a/testing/async-profiler/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Andrey Pustovetov <andrey.pustovetov@gmail.com>
-# Maintainer:
-pkgname=async-profiler
-pkgver=1.5
-pkgrel=2
-pkgdesc="Sampling CPU and HEAP profiler for Java featuring AsyncGetCallTrace + perf_events"
-url="https://github.com/jvm-profiling-tools/async-profiler"
-#arch="x86 x86_64"
-license="Apache-2.0"
-depends="bash"
-makedepends="linux-headers java-jdk"
-source="$pkgname-$pkgver.tar.gz::https://github.com/jvm-profiling-tools/async-profiler/archive/v$pkgver.tar.gz
- thread-smoke-test_should_do_some_real_work.patch
- "
-
-build() {
- make
-}
-
-check() {
- # exclude tests depended to modify /proc/sys/kernel/perf_event_paranoid
- JAVA_HOME="/usr/lib/jvm/default-jvm" \
- test/alloc-smoke-test.sh
- echo "All tests passed"
-}
-
-package() {
- local homedir="/usr/share/$pkgname"
- local destdir="$pkgdir/$homedir"
- mkdir -p "$destdir"
- install -Dm0644 "$builddir"/build/libasyncProfiler.so "$destdir"/build/libasyncProfiler.so
- install -Dm0755 "$builddir"/build/jattach "$destdir"/build/jattach
- install -Dm0755 "$builddir"/profiler.sh "$destdir"/profiler.sh
- mkdir -p "$pkgdir"/usr/bin
- ln -sf "$homedir"/profiler.sh "$pkgdir"/usr/bin/profiler.sh
-}
-
-sha512sums="a127f6c676e2f06c2690ea04da660e36a5c127dc22b9f2edec801bd1829bcd3fb608572a8e38fcfa1e27067da27b16f77d2cb1fa7848e6afdf4bdda361f47e86 async-profiler-1.5.tar.gz
-180d5a4231eab62399888491ae80338f38f0ebbfbd1157bea2d58bfc1f6c344d9ba144aa87deb11c2143a9df5dd21531fdcf98f2d5d9ce8f715e8caeb2b2ac2e thread-smoke-test_should_do_some_real_work.patch"
diff --git a/testing/async-profiler/thread-smoke-test_should_do_some_real_work.patch b/testing/async-profiler/thread-smoke-test_should_do_some_real_work.patch
deleted file mode 100644
index 3f0e4e83aaf..00000000000
--- a/testing/async-profiler/thread-smoke-test_should_do_some_real_work.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/test/ThreadsTarget.java b/test/ThreadsTarget.java
-index cc6289c..89b2ba9 100644
---- a/test/ThreadsTarget.java
-+++ b/test/ThreadsTarget.java
-@@ -1,3 +1,5 @@
-+import java.math.BigInteger;
-+
- public class ThreadsTarget {
- public static void main(String[] args) {
- new Thread(new Runnable() {
-@@ -17,17 +19,17 @@ public class ThreadsTarget {
-
- static void methodForThreadEarlyEnd() {
- long now = System.currentTimeMillis();
-- long counter = 0;
-+ BigInteger counter = BigInteger.ZERO;
- while (System.currentTimeMillis() - now < 300) {
-- counter++;
-+ counter = counter.nextProbablePrime();
- }
- }
-
- static void methodForRenamedThread() {
- long now = System.currentTimeMillis();
-- long counter = 0;
-+ BigInteger counter = BigInteger.ZERO;
- while (System.currentTimeMillis() - now < 1000) {
-- counter++;
-+ counter = counter.nextProbablePrime();
- }
- }
- }
diff --git a/testing/atari800/APKBUILD b/testing/atari800/APKBUILD
index 0820eca3054..088b6a4798b 100644
--- a/testing/atari800/APKBUILD
+++ b/testing/atari800/APKBUILD
@@ -1,7 +1,8 @@
# Contributor: Paul Bredbury <brebs@sent.com>
+# Maintainer:
pkgname=atari800
-pkgver=4.2.0
-pkgrel=1
+pkgver=5.2.0
+pkgrel=0
pkgdesc="Atari 8-bit computer emulator"
url="https://atari800.github.io/"
arch="x86_64"
@@ -26,4 +27,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b27326182bacd8e1951d052f57fcd3ba4d25bb4db569bf1a1fa69556b454d3d02a1986c36141a5470249ef30c8b37e34a508deafde64d1b710712ff8fcfc8e55 ATARI800_4_2_0.tar.gz"
+sha512sums="
+adcd19343c59771724f71d25d9c163843d953140696830e72520392519122f9b6b74cb8ceabf91618afc1cbdd30739342320f934ef63390a0c680243d9eac015 ATARI800_5_2_0.tar.gz
+"
diff --git a/testing/atlantik/APKBUILD b/testing/atlantik/APKBUILD
new file mode 100644
index 00000000000..155ca08cade
--- /dev/null
+++ b/testing/atlantik/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: team/kde <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=kde-other
+pkgname=atlantik
+# 3.5.10 is 15 years old but the latest commit is actually modern and even updated to Qt6
+pkgver=3.5.10_git20240323
+pkgrel=0
+_commit="6e505f9cd605b1055da3f0ed5d7996968b7d8280"
+# armhf blocked by extra-cmake-modules
+arch="all !armhf"
+url="https://apps.kde.org/atlantik/"
+pkgdesc="KDE client for playing Monopoly-like games on the monopd network"
+license="GPL-2.0-or-later AND GFDL-1.2-only"
+makedepends="
+ extra-cmake-modules
+ kconfig-dev
+ kconfigwidgets-dev
+ kcoreaddons-dev
+ kcrash-dev
+ kdoctools-dev
+ ki18n-dev
+ kiconthemes-dev
+ knotifications-dev
+ knotifyconfig-dev
+ kwidgetsaddons-dev
+ kxmlgui-dev
+ libkdegames-dev
+ qt6-qtbase-dev
+ samurai
+ "
+_repo_url="https://invent.kde.org/games/atlantik.git"
+source="$pkgname-$_commit.tar.gz::https://invent.kde.org/games/atlantik/-/archive/$_commit/atlantik-$_commit.tar.gz"
+subpackages="$pkgname-doc $pkgname-lang"
+options="!check" # No tests
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+04b3ced08973b6af14b2427cf9abd2edf2a4b56d01aa1b0c959d1afaba4814ad2db9a56a72476076e9b9931af29b96ed3e68117164a22a5dabf25166ce3fc55f atlantik-6e505f9cd605b1055da3f0ed5d7996968b7d8280.tar.gz
+"
diff --git a/testing/atlas/APKBUILD b/testing/atlas/APKBUILD
new file mode 100644
index 00000000000..d96c978d335
--- /dev/null
+++ b/testing/atlas/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=atlas
+pkgver=0.19.0
+pkgrel=2
+pkgdesc="Database schema migration tool using modern DevOps principles"
+url="https://atlasgo.io/"
+# x86, armhf, armv7: multiple packages fail to build on 32-bit platforms due to integer overflow
+# riscv64: github.com/remyoudompheng/bigfft fails to build
+arch="all !x86 !armhf !armv7 !riscv64"
+license="Apache-2.0"
+makedepends="go sqlite-dev"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/ariga/atlas/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgver/cmd/atlas"
+options="net" # download Go modules
+
+export CGO_ENABLED=1 # required for sqlite driver
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -o atlas \
+ -ldflags "-X ariga.io/atlas/cmd/atlas/internal/cmdapi.version=v$pkgver"
+
+ for shell in bash fish zsh; do
+ ./atlas completion $shell > atlas.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 atlas -t "$pkgdir"/usr/bin/
+
+ install -Dm644 atlas.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/atlas
+ install -Dm644 atlas.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/atlas.fish
+ install -Dm644 atlas.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_atlas
+}
+
+sha512sums="
+c24f18b98037892c20e0cadd4187819ce5a19679b132b6e81ac2d218bf3b3d845c79d17ea0d5f51e090fb72f6caf7ccd25c240040f9c32ce82c543a439668141 atlas-0.19.0.tar.gz
+"
diff --git a/testing/atomicparsley/APKBUILD b/testing/atomicparsley/APKBUILD
index e014f94990a..8229348529d 100644
--- a/testing/atomicparsley/APKBUILD
+++ b/testing/atomicparsley/APKBUILD
@@ -1,27 +1,31 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=atomicparsley
-pkgver=20210715
-_pkgtag=151551.e7ad03a
-pkgrel=0
+pkgver=20221229
+_pkgtag=172126.d813aa6
+pkgrel=1
pkgdesc="A command line program for reading, parsing and setting iTunes-style metadata in MPEG4 files"
-url="http://atomicparsley.sourceforge.net/"
+url="https://atomicparsley.sourceforge.net/"
arch="all"
options="!check" # no test/check available
license="GPL-2.0-or-later"
-makedepends="cmake automake autoconf libtool zlib-dev linux-headers"
-source="$pkgname-$pkgver.tar.gz::https://github.com/wez/atomicparsley/archive/${pkgver}.${_pkgtag}.tar.gz"
-builddir="$srcdir/$pkgname-${pkgver}.${_pkgtag}"
+makedepends="cmake samurai zlib-dev linux-headers"
+source="$pkgname-$pkgver.tar.gz::https://github.com/wez/atomicparsley/archive/$pkgver.$_pkgtag.tar.gz"
+builddir="$srcdir/$pkgname-$pkgver.$_pkgtag"
build() {
- cmake .
- cmake --build . --config Release
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
}
package() {
- install -Dm755 AtomicParsley "$pkgdir"/usr/bin/$pkgname
+ DESTDIR="$pkgdir" cmake --install build
+ # install -Dm755 AtomicParsley "$pkgdir"/usr/bin/AtomicParsley
+ ln -s AtomicParsley "$pkgdir"/usr/bin/$pkgname
}
sha512sums="
-9f58fe7426c9728f8e5624250ff57d7707a4b040365135fa5149909d84c536ecbddaa3820dae85ca8a4c31fc8009685bf56875f1d4ff6f5c854f05a30da6974a atomicparsley-20210715.tar.gz
+eb6de26f71a977cf4512f0d4249c3e0ae9225b5aef42a4bbdaaa54b022985f277095b7019c741a26078d26fba07e8dea7bf117017d0ef43d630751873e6b4899 atomicparsley-20221229.tar.gz
"
diff --git a/testing/atool/APKBUILD b/testing/atool/APKBUILD
index bab33ba7878..235fd73ee51 100644
--- a/testing/atool/APKBUILD
+++ b/testing/atool/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Camille Scholtz <onodera@openmailbox.org>
pkgname=atool
pkgver=0.39.0
-pkgrel=3
+pkgrel=4
pkgdesc="a Perl script for managing file archives of various types"
options="!check" # No testsuite
url="https://nongnu.org/atool/"
diff --git a/testing/aubio/APKBUILD b/testing/aubio/APKBUILD
deleted file mode 100644
index 2167409e8b4..00000000000
--- a/testing/aubio/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=aubio
-pkgver=0.4.9
-pkgrel=0
-pkgdesc="tool designed for the extraction of annotations from audio signals"
-url="https://aubio.org"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="ffmpeg-dev
- fftw-dev
- jack-dev
- libsamplerate-dev
- libsndfile-dev
- python3"
-subpackages="$pkgname-static $pkgname-dev"
-source="https://aubio.org/pub/aubio-$pkgver.tar.bz2
- unversioned-python.patch
- "
-
-build() {
- python3 waf configure --prefix=/usr
-}
-
-check() {
- # The waf file does not have a check target but the tests are run during the
- # package() function
- :
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="0cb81bb4b15051db3f3f4d160d500af56fdfb237e0a74e3f366f53c2870030aa0a7cee8469a611a9694c36b8866d3d42ffb48241c999de08f3fee43e6d903130 aubio-0.4.9.tar.bz2
-08ef8497caec4a6025bfada1e7718469943f71e1847d2b340731483d6b396da7d367b1a180f87d70590109bfe2e7bd74141aebc458c607f5f96fd42e618e7ea7 unversioned-python.patch"
diff --git a/testing/aubio/unversioned-python.patch b/testing/aubio/unversioned-python.patch
deleted file mode 100644
index b3979261fd4..00000000000
--- a/testing/aubio/unversioned-python.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-ff --git a/tests/create_tests_source.py b/tests/create_tests_source.py
-index 1feb1443..2c5560f4 100755
---- a/tests/create_tests_source.py
-+++ b/tests/create_tests_source.py
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#!/usr/bin/python3
-
- """ Create a simple stereo file containing a sine tone at 441 Hz, using only
- python's built-in modules. """
-diff --git a/tests/wscript_build b/tests/wscript_build
-index c99a051e..d3fd0633 100644
---- a/tests/wscript_build
-+++ b/tests/wscript_build
-@@ -13,7 +13,7 @@ test_sound_abspath = bld.path.get_bld().make_node(test_sound_target)
- test_sound_abspath = str(test_sound_abspath).replace('\\', '\\\\')
-
- b = bld(name='create_tests_source',
-- rule='python ${SRC} ${TGT}',
-+ rule='python3 ${SRC} ${TGT}',
- source='create_tests_source.py',
- target=test_sound_target)
- # use post() to create the task, keep a reference to it
-
diff --git a/testing/aufs-util/APKBUILD b/testing/aufs-util/APKBUILD
index d8380c03e79..911e7d46d37 100644
--- a/testing/aufs-util/APKBUILD
+++ b/testing/aufs-util/APKBUILD
@@ -1,9 +1,9 @@
-# Maintainer: Natanael Copa <ncopa@alpinleinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=aufs-util
pkgver=20161219
-pkgrel=0
+pkgrel=2
pkgdesc="Utilities for aufs"
-url="http://aufs.sourceforge.net/"
+url="https://aufs.sourceforge.net/"
arch="all"
license="GPL-2.0"
depends=""
diff --git a/testing/authenticator-rs/APKBUILD b/testing/authenticator-rs/APKBUILD
new file mode 100644
index 00000000000..9493886e94e
--- /dev/null
+++ b/testing/authenticator-rs/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: 3nodeproblem <git@3n.anonaddy.com>
+# Maintainer: 3nodeproblem <git@3n.anonaddy.com>
+pkgname=authenticator-rs
+pkgver=0.7.5
+pkgrel=0
+pkgdesc="TOTP MFA/2FA application written in Rust and GTK3"
+url="https://github.com/grumlimited/authenticator-rs"
+arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust and cargo
+license="GPL-3.0-or-later"
+subpackages="$pkgname-lang"
+makedepends="
+ cargo
+ curl-dev
+ gtk+3.0-dev
+ meson
+ openssl-dev>3
+ sqlite-dev
+ zlib-dev
+ "
+source="https://github.com/grumlimited/authenticator-rs/archive/refs/tags/$pkgver/authenticator-rs-$pkgver.tar.gz"
+options="net !check" # No tests
+
+# size optimisations
+
+
+build() {
+ RELEASE_VERSION=$pkgver make release-version
+ make release
+}
+
+package() {
+ DESTDIR="$pkgdir" make install
+}
+
+sha512sums="
+08f5362b4dc8deb8ed27caf08c2729dcdbf043382404d1e11f3d69e2862852246ea0d97e242e1c65363e05d83069c6a623e47fdc7dfce5d8623e39e5554faf31 authenticator-rs-0.7.5.tar.gz
+"
diff --git a/testing/autobrr/APKBUILD b/testing/autobrr/APKBUILD
new file mode 100644
index 00000000000..500b99599ee
--- /dev/null
+++ b/testing/autobrr/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=autobrr
+pkgver=1.40.1
+pkgrel=1
+pkgdesc="The modern download automation tool for torrents"
+url="https://autobrr.com/"
+arch="x86_64 aarch64 armv7"
+license="GPL-2.0-or-later"
+options="net"
+makedepends="go pnpm"
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/autobrr/autobrr/archive/v$pkgver.tar.gz
+ autobrr.initd
+ autobrr.confd
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+
+ pnpm --dir web install --frozen-lockfile --ignore-scripts
+ go mod download
+}
+
+build() {
+ local ldflags="
+ -X main.version=v$pkgver
+ -X main.commit=alpine-r$pkgrel
+ -X main.date=$(date -u "+%Y-%m-%dT%H:%M:%SZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ "
+
+ pnpm --dir web run build
+ mkdir -p bin
+ go build -ldflags "$ldflags" -o bin/ ./cmd/...
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 ./bin/* -t "$pkgdir"/usr/bin
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+13f7cb9e03ed93410edf46baf940b221f1323a0ac1576e28f68d57d384c88779e35f1fe0e505bbc7bfd62a68f2319cf39ae2147acec9845853b623bef7941118 autobrr-1.40.1.tar.gz
+42ce693eca67ca8b4c863440ebfb3efb41c197302274ccecd1b080c3e1f01e03078ab46b2fae8ca6cf5add4153296adb10e324b02dbe89c939465305be49f760 autobrr.initd
+4072cabb7131a23283b1fecdd1370eb935ae156284972a5e503de36054a358f74112a40e200662386e85af51507213e3f25afdf343a2673e6ef372b7b5e04a80 autobrr.confd
+"
diff --git a/testing/autobrr/autobrr.confd b/testing/autobrr/autobrr.confd
new file mode 100644
index 00000000000..c749918fce1
--- /dev/null
+++ b/testing/autobrr/autobrr.confd
@@ -0,0 +1,9 @@
+# autobrr configuration options
+
+command_user="autobrr:autobrr" # user:group
+directory="/var/lib/autobrr"
+supervisor="supervise-daemon"
+logdir="/var/log/autobrr"
+
+# Environment variables overrides the config file
+export AUTOBRR__LOG_PATH="$logdir/output.log"
diff --git a/testing/autobrr/autobrr.initd b/testing/autobrr/autobrr.initd
new file mode 100644
index 00000000000..812e0a3bb29
--- /dev/null
+++ b/testing/autobrr/autobrr.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+
+# fallback values for /etc/conf.d/autobrr
+: ${command_user:=autobrr:autobrr}
+: ${directory:=/var/lib/autobrr}
+: ${logdir:=/var/log/autobrr}
+
+name=autobrr
+description="autobrr daemon"
+command="/usr/bin/autobrr"
+command_args="--config=$directory"
+command_background=true
+pidfile="/run/$name.pid"
+
+depend() {
+ need net
+ use dns logger
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory" "$logdir"
+}
diff --git a/testing/autobrr/autobrr.pre-install b/testing/autobrr/autobrr.pre-install
new file mode 100644
index 00000000000..e58322718e8
--- /dev/null
+++ b/testing/autobrr/autobrr.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S autobrr 2>/dev/null
+adduser -S -D -h /var/lib/autobrr -s /sbin/nologin -G autobrr -g autobrr autobrr 2>/dev/null
+
+exit 0
diff --git a/testing/autorandr/APKBUILD b/testing/autorandr/APKBUILD
new file mode 100644
index 00000000000..d3596ffdf8f
--- /dev/null
+++ b/testing/autorandr/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Alex Denes <caskd@redxen.eu>
+# Maintainer: Alex Denes <caskd@redxen.eu>
+pkgname=autorandr
+pkgver=1.15
+pkgrel=0
+pkgdesc="Auto-detect the connected display hardware and load the appropriate X11 setup using xrandr"
+url="https://github.com/phillipberndt/autorandr"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ py3-packaging
+ python3
+ xdpyinfo
+ xrandr
+ "
+makedepends="
+ bash-completion-dev
+ libxcb-dev
+ py3-setuptools_scm
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/phillipberndt/autorandr/archive/$pkgver.tar.gz"
+subpackages="
+ $pkgname-udev
+ $pkgname-doc
+ $pkgname-launcher::all
+ $pkgname-bash-completion
+ "
+options="!check" # no tests
+
+package() {
+ make DESTDIR="$pkgdir" \
+ UDEV_RULES_DIR="/etc/udev/rules.d" install_udev \
+ install_manpage \
+ install_bash_completion \
+ install_launcher \
+ install_autorandr
+}
+
+udev() {
+ install_if="$pkgname=$pkgver-r$pkgrel udev"
+ amove etc/udev/rules.d/
+}
+
+launcher() {
+ amove usr/bin/autorandr-launcher
+ amove etc/xdg/autostart/autorandr-launcher.desktop
+}
+
+sha512sums="
+2837348b755f5c4b30ad2b68e191e1969a467401cf32dda495dd19867e391f8b8b4a9c0b4958ef33f75c71aace46686995e27bab805e1e40cc4a1af44e9f0405 autorandr-1.15.tar.gz
+"
diff --git a/testing/autorestic/APKBUILD b/testing/autorestic/APKBUILD
new file mode 100644
index 00000000000..cf6525e6222
--- /dev/null
+++ b/testing/autorestic/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
+# Maintainer: Nicolas Lorin <androw95220@gmail.com>
+pkgname=autorestic
+pkgver=1.8.2
+pkgrel=1
+pkgdesc="Config driven, easy backup cli for restic."
+url="https://github.com/cupcakearmy/autorestic"
+arch="all"
+license="Apache-2.0"
+# !check: no tests available
+# net: required to fetch go dependencies
+options="!check net"
+depends="restic"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cupcakearmy/autorestic/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build
+}
+
+package() {
+ install -Dm755 autorestic "$pkgdir"/usr/bin/autorestic
+}
+
+sha512sums="
+4413a553b7dec65ab185cce5b850b460664519975c585c337c30bf3ac7c8e5dc6bad8b852fb784ed7cbcb18c534930166c8f6d67793681c64872b6a35f2883f3 autorestic-1.8.2.tar.gz
+"
diff --git a/testing/autoscan/APKBUILD b/testing/autoscan/APKBUILD
new file mode 100644
index 00000000000..ef0acaa7e86
--- /dev/null
+++ b/testing/autoscan/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=autoscan
+pkgver=1.4.0
+pkgrel=3
+pkgdesc="Autoscan replaces the default Plex and Emby behaviour for picking up changes on the file system."
+url="https://github.com/Cloudbox/autoscan"
+arch="x86_64 aarch64 armv7"
+license="MIT"
+options="net" # for downloading Go modules
+makedepends="go"
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="
+ $pkgname-v$pkgver.tar.gz::https://github.com/Cloudbox/autoscan/archive/v$pkgver.tar.gz
+ autoscan.initd
+ autoscan.confd
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ # strings used to parse "$Version ($GitCommit@$Timestamp)"
+ local ldflags="
+ -X main.Version=$pkgver
+ -X main.GitCommit=alpine
+ -X main.Timestamp=r$pkgrel
+ "
+
+ go build -ldflags "$ldflags" -o bin/autoscan ./cmd/autoscan
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/autoscan -t "$pkgdir"/usr/bin
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+4527a988797fcee2049e0d9c00a4544948c056d30402abefc9bedfa7b0c5d6e141c3ec9c23caefea3875378db2ba0cdc99cc1bed12aca2e66fc908af8296a133 autoscan-v1.4.0.tar.gz
+d567c68c0b346c96292dad19389f7c4a83609aae406f577d7cca9a1b2a336de3044224cb252ddb9a49dab874182e9a05fd549f102ad39ff12cc3b30bedf6a061 autoscan.initd
+7d1e0accbe7c5e7fe26652bd234ad4b7e5877c640ddf15cf5d1f6c621d1e7d1a5729af270414ddddaed4f0eee51ca88dd403f81fadb10fcc403100f56fd42629 autoscan.confd
+"
diff --git a/testing/autoscan/autoscan.confd b/testing/autoscan/autoscan.confd
new file mode 100644
index 00000000000..16dec8a9392
--- /dev/null
+++ b/testing/autoscan/autoscan.confd
@@ -0,0 +1,6 @@
+# autoscan configuration options
+
+command_user="autoscan:autoscan" # user:group
+directory="/var/lib/autoscan"
+logdir="/var/log/autoscan"
+supervisor="supervise-daemon"
diff --git a/testing/autoscan/autoscan.initd b/testing/autoscan/autoscan.initd
new file mode 100644
index 00000000000..3a36e5ed171
--- /dev/null
+++ b/testing/autoscan/autoscan.initd
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+
+# fallback values for /etc/conf.d/autoscan
+: ${command_user:=autoscan:autoscan}
+: ${directory:=/var/lib/autoscan}
+: ${logdir:=/var/log/autoscan}
+
+name=autoscan
+description="autoscan daemon"
+command="/usr/bin/autoscan"
+command_args="
+ --config=$directory/config.yml
+ --database=$directory/autoscan.db
+ --log=$directory/activity.log"
+command_background=true
+
+pidfile="/run/$name.pid"
+output_log="$logdir/output.log"
+error_log="$logdir/error.log"
+
+depend() {
+ need net
+ use dns logger netmount
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory" "$logdir"
+ checkpath -f -o "$command_user" "$output_log" "$error_log"
+}
diff --git a/testing/autoscan/autoscan.pre-install b/testing/autoscan/autoscan.pre-install
new file mode 100644
index 00000000000..01c3896f48a
--- /dev/null
+++ b/testing/autoscan/autoscan.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S autoscan 2>/dev/null
+adduser -S -D -h /var/lib/autoscan -s /sbin/nologin -G autoscan -g autoscan autoscan 2>/dev/null
+
+exit 0
diff --git a/testing/autotiling/APKBUILD b/testing/autotiling/APKBUILD
deleted file mode 100644
index b67d56824c1..00000000000
--- a/testing/autotiling/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Matthew.T.Hoare <matthew.t.hoare@gmail.com>
-# Maintainer: Matthew.T.Hoare <matthew.t.hoare@gmail.com>
-pkgname=autotiling
-pkgver=1.6
-pkgrel=0
-pkgdesc="Script for sway and i3 to automatically switch the horizontal/vertical window split orientation"
-url="https://github.com/nwg-piotr/autotiling"
-arch="noarch"
-options="!check" # no checks
-license="GPL-3.0-or-later"
-depends="py3-i3ipc"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/nwg-piotr/autotiling/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- sed -e '/wheel/d' -i setup.cfg
-}
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-4f13f477a5a44605b4f1b33dfbb3d5db7abcb7a1c1cc309eef04ec6ffc1f2b33a0682bae8f7bcc83b851fa8a2ceb31b3d77d75030c8043a50c42a675089d9a83 autotiling-1.6.tar.gz
-"
diff --git a/testing/autotrash/APKBUILD b/testing/autotrash/APKBUILD
new file mode 100644
index 00000000000..b8d38066906
--- /dev/null
+++ b/testing/autotrash/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Thiago Perrotta <tbperrotta@gmail.com>
+# Maintainer: Thiago Perrotta <tbperrotta@gmail.com>
+pkgname=autotrash
+pkgver=0.4.6
+pkgrel=1
+pkgdesc="Tool to automatically purge old trashed files"
+url="https://bneijt.nl/pr/autotrash/"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="python3 py3-setuptools"
+makedepends="py3-gpep517 py3-poetry-core py3-installer"
+options="!check" # no tests
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/a/autotrash/autotrash-$pkgver.tar.gz"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/autotrash*.whl
+}
+
+sha512sums="
+cfa59d025bb37ee31f0726e7f218f328af7e51c34de606fac384a342bd3e73761b313a3b71c4b2f3130125997640d5f18bd97ac6885d092749fc9e46aac744d5 autotrash-0.4.6.tar.gz
+"
diff --git a/testing/avara/APKBUILD b/testing/avara/APKBUILD
index e00beb9bf48..ddcce248507 100644
--- a/testing/avara/APKBUILD
+++ b/testing/avara/APKBUILD
@@ -1,41 +1,43 @@
# Contributor: shrizza <shrizza@gmail.com>
# Maintainer: shrizza <shrizza@gmail.com>
-pkgname="avara"
-_sha="b8700db3c696b9813b511b06a92c9faab55b282a"
-pkgver="0_git20191006"
-pkgrel=1
+pkgname=avara
+pkgver=0.7.1
+pkgrel=0
pkgdesc="Port of the original 1996 Mac OS game from Ambrosia Software"
url="https://github.com/avaraline/Avara"
-arch="all"
+# videogame
+arch="all !armhf !s390x"
license="MIT"
-makedepends="clang clang-dev directfb-dev glu-dev sdl2_net-dev sdl2_mixer-dev sdl2"
+makedepends="
+ directfb-dev
+ glu-dev
+ sdl2-dev
+ sdl2_mixer-dev
+ sdl2_net-dev
+ rsync
+ "
options="!check"
-subpackages="$pkgname-doc"
-source="avara
- $pkgname-$pkgver.zip::https://github.com/avaraline/Avara/archive/$_sha.zip
- fix-includes.patch"
-builddir="$srcdir/Avara-$_sha"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/avaraline/Avara/archive/refs/tags/$pkgver.tar.gz
+ avara
+ nullptr.patch
+ "
+builddir="$srcdir/Avara-$pkgver"
build() {
- make
+ make CC=${CC:-cc} CXX=${CXX:-c++} GIT_HASH=$pkgver GIT_BRANCH=alpine
}
package() {
- mkdir -p "$pkgdir/usr/bin/"
- install -Dm755 ../avara "$pkgdir/usr/bin/"
- mkdir -p "$pkgdir/var/games/$pkgname/"
- cp -r build/Avara "$pkgdir/var/games/$pkgname/"
- cp -r build/bsps "$pkgdir/var/games/$pkgname/"
- cp -r build/levels "$pkgdir/var/games/$pkgname/"
- cp -r build/rsrc "$pkgdir/var/games/$pkgname/"
- cp -r build/shaders "$pkgdir/var/games/$pkgname/"
- mkdir -p "$pkgdir/usr/share/doc/$pkgname/"
- install -Dm644 CONTRIBUTORS.md "$pkgdir/usr/share/doc/$pkgname/"
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/"
+ install -Dm755 "$srcdir"/avara -t "$pkgdir"/usr/bin
+ mkdir -p "$pkgdir"/var/games/avara
+ cp -r build/Avara "$pkgdir"/var/games/avara/
+ cp -r build/levels "$pkgdir"/var/games/avara/
+ cp -r build/rsrc "$pkgdir"/var/games/avara/
}
sha512sums="
-928326dad78b077fe82f13f9c56a00996ef8555108e0964a72e73c84fb073a2d6a9e7a545d129f90386f5f30cf7976abc29a38ff71f7c6e114521f6c0dcd36bf avara
-03dfb9b173749fac97591053cd7d55976617eb4fb64bcb4286a1b511d18dcb557dcbb408bf4c4e5d5bf7c47f41b2134808613938a9535c51d5e486e123a9271c avara-0_git20191006.zip
-0e7e3522c0d2b2ac202951aecaafc5a7ce98f1a08f0f5876c97550457ae432662c569bfd6fe90cff2fee19e0ed4bd19c28b4b1a5aefab94813c2fc68275475df fix-includes.patch
+1ccb3419b11bd95b7ec529b5078bad2341737b4dd43215ffdbda020cf71e7832b5ec0f6c637a99c89ccd23ebb3f55fdcb6fc18d4f57b71f24aa83081b8be96b2 avara-0.7.1.tar.gz
+c0bb030ef44d732bb7a493df9d3b7d120159d37f25440711e2edfd3e11a896764ce88b58ae1f5e1f51d81809c95a7c6570122d042bb9c95af919f78d50524d9e avara
+92aaca8946ded9fd956fb1ab55c36b401918034b918407b326cbca136b5ce29f64a337a14fe18feb71018f6d3ca2ed53b03ce924d2a545d3686420d903e7fbbd nullptr.patch
"
diff --git a/testing/avara/avara b/testing/avara/avara
index 15048a9f5bc..6225c1a5d5b 100644
--- a/testing/avara/avara
+++ b/testing/avara/avara
@@ -1,3 +1,3 @@
#!/bin/sh
-/var/games/avara/Avara
+exec /var/games/avara/Avara "$@"
diff --git a/testing/avara/fix-includes.patch b/testing/avara/fix-includes.patch
deleted file mode 100644
index 5f61a39c189..00000000000
--- a/testing/avara/fix-includes.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -upr b/src/game/CPlayerManager.h a/src/game/CPlayerManager.h
---- b/src/game/CPlayerManager.h 2021-07-21 17:34:18.436826042 +0200
-+++ a/src/game/CPlayerManager.h 2021-07-21 17:35:06.237594868 +0200
-@@ -15,6 +15,7 @@
- #include <SDL2/SDL.h>
- #include <map>
- #include <deque>
-+#include <string>
-
- enum {
- kLNotConnected,
-diff -upr b/vendor/nanogui/nanogui/common.h a/vendor/nanogui/nanogui/common.h
---- b/vendor/nanogui/nanogui/common.h 2021-07-21 17:34:18.550159448 +0200
-+++ a/vendor/nanogui/nanogui/common.h 2021-07-21 17:34:35.390170327 +0200
-@@ -28,6 +28,8 @@
- #include <stdint.h>
- #include <array>
- #include <vector>
-+#include <string>
-+#include <stdexcept>
- #include <SDL2/SDL.h>
-
- #include <glm/vec3.hpp> // glm::vec3
diff --git a/testing/avara/nullptr.patch b/testing/avara/nullptr.patch
new file mode 100644
index 00000000000..747ab2eeb4b
--- /dev/null
+++ b/testing/avara/nullptr.patch
@@ -0,0 +1,17 @@
+diff --git a/src/util/AvaraGL.cpp b/src/util/AvaraGL.cpp
+index b302c9a..5c3783f 100644
+--- a/src/util/AvaraGL.cpp
++++ b/src/util/AvaraGL.cpp
+@@ -334,10 +334,10 @@ void AvaraGLDrawPolygons(CBSPPart* part) {
+ glDisable(GL_CULL_FACE);
+ }
+
+- glBindVertexArray(NULL);
++ glBindVertexArray(0);
+ glCheckErrors();
+
+- glBindBuffer(GL_ARRAY_BUFFER, NULL);
++ glBindBuffer(GL_ARRAY_BUFFER, 0);
+ glCheckErrors();
+
+ }
diff --git a/testing/avarice/APKBUILD b/testing/avarice/APKBUILD
index fdfc11d491b..cf728a59d01 100644
--- a/testing/avarice/APKBUILD
+++ b/testing/avarice/APKBUILD
@@ -1,19 +1,32 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=avarice
pkgver=2.14
-pkgrel=1
+pkgrel=3
pkgdesc="AVaRICE interfaces with GDB and allows debugging of AVR MCUs"
-url="http://avarice.sourceforge.net/"
+url="https://github.com/avrdudes/avarice"
arch="all"
license="GPL-2.0-only"
-makedepends="binutils-dev libusb-dev libusb-compat-dev hidapi-dev perl"
+makedepends="
+ autoconf
+ automake
+ binutils-dev
+ hidapi-dev
+ libusb-compat-dev
+ libusb-dev
+ perl
+ "
depends="gdb-multiarch"
subpackages="$pkgname-doc"
-source="https://downloads.sourceforge.net/project/avarice/avarice/avarice-2.14/avarice-2.14.tar.bz2
+source="$pkgname-$pkgver.tar.gz::https://github.com/avrdudes/avarice/archive/refs/tags/avarice-rel-${pkgver/./_}.tar.gz
drop_keyword_unused.patch
"
+builddir="$srcdir/avarice-avarice-rel-${pkgver/./_}"
+
build() {
+ ./Bootstrap
+ # gcc12 defaults to 17 which fails due to throw()
+ export CXXFLAGS="$CXXFLAGS -std=c++14"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -29,5 +42,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e0b23bd02bfa7d4dc05027f0f59ec7da868d8d0c0cd4f66595f6aaa5c335fa4eb64fc47399e51c0ed5112803ee99a3f041812bf4072dc096cc933cd17f9348a0 avarice-2.14.tar.bz2
-8e9faf7eab5807f3b100ba29e7aab857f91947981a25dccc3096c9462d777be9fb19cf410e8634884b3ce9299fe410e24d1cd107c4bdbf0a537b9f9322e7c627 drop_keyword_unused.patch"
+sha512sums="
+b302e91859f0a2891c80f036430468274b327b7f9168c042748e98d00e010b180be995343a47878acf2702637b402483c494aec4fb53063d5fc2d2fe82c58f83 avarice-2.14.tar.gz
+8e9faf7eab5807f3b100ba29e7aab857f91947981a25dccc3096c9462d777be9fb19cf410e8634884b3ce9299fe410e24d1cd107c4bdbf0a537b9f9322e7c627 drop_keyword_unused.patch
+"
diff --git a/testing/avdl/APKBUILD b/testing/avdl/APKBUILD
index bdbb900d715..59ede86eb67 100644
--- a/testing/avdl/APKBUILD
+++ b/testing/avdl/APKBUILD
@@ -1,34 +1,29 @@
# Contributor: Tom Tsagk <tomtsagk@darkdimension.org>
# Maintainer: Tom Tsagk <tomtsagk@darkdimension.org>
pkgname=avdl
-pkgver=0.1.2
-pkgrel=0
+pkgver=0.4.3
+pkgrel=1
pkgdesc="Abstract video-game development language compiler"
url="https://darkdimension.org/avdl.html"
arch="all"
license="GPL-3.0-only"
makedepends="musl-dev glew-dev sdl2-dev sdl2_mixer-dev"
+subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/tomtsagk/avdl/archive/refs/tags/v$pkgver.tar.gz"
-# There is no "-dev" subpackage, as this is a compiler
-subpackages="$pkgname-doc"
+check() {
+ make test
+}
build() {
- # compiles the project, to be potentially
- # placed in /usr (when installed)
make prefix=/usr
}
-# There is currently no check() functionality
-# as there are no tests for this project yet.
-
package() {
-
- # stage the installation in "$pkgdir"
make DESTDIR="$pkgdir" prefix=/usr install
}
sha512sums="
-fcb368e8740f92067d25cb81f7311ab0e2522d4efea874dc90a7db67eaeb79c1d7a8228ae380f7ffee10d61fe6c80314a135584a64d4a4e2c0460c1726be978e avdl-0.1.2.tar.gz
+0c0f4b80810ff8575169fce3601cd93813f9e54763d0e4b4b3d447204b8560b17a34d3f69ed861a6712841abb5fc1426868f175b84008054d95b5c26fb024faf avdl-0.4.3.tar.gz
"
diff --git a/testing/avida/APKBUILD b/testing/avida/APKBUILD
index adf7dafb210..56828bad8cf 100644
--- a/testing/avida/APKBUILD
+++ b/testing/avida/APKBUILD
@@ -3,15 +3,17 @@ pkgname=avida
pkgver=0_git20190813
_sha=ca1f311bc1bcaf021390c63bce6aa9455bbd44cc
_apto_sha=9184c91a3a82297c420540baaf355aac80213a29
-pkgrel=0
+pkgrel=1
pkgdesc="A scientific software platform for conducting and analyzing experiments with self-replicating and evolving computer programs"
url="https://avida.devosoft.org/"
arch="x86 x86_64" # build currently fails on non-intel arches
license="GPL-3.0-only"
-makedepends="cmake linux-headers"
+makedepends="cmake linux-headers samurai"
source="$pkgname-$pkgver.tar.gz::https://github.com/devosoft/avida/archive/$_sha.tar.gz
apto.tar.gz::https://github.com/dmbryson/apto/archive/$_apto_sha.tar.gz
- 10-remove-forced-tcmalloc.patch"
+ 10-remove-forced-tcmalloc.patch
+ musl123.patch
+ "
builddir="$srcdir/avida-$_sha"
prepare() {
@@ -21,14 +23,14 @@ prepare() {
}
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX:PATH=/usr \
-DCMAKE_BUILD_TYPE=None \
-DAVD_UNIT_TESTS:BOOL=ON \
-DAVD_ENABLE_TCMALLOC:BOOL=OFF \
-DHAVE_FUSED_MADD:BOOL=OFF \
-DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-expansion-to-defined"
- make -C build
+ cmake --build build
}
check() {
@@ -41,6 +43,9 @@ package() {
cp -R avida-core/support/* "$pkgdir"/usr/share/avida
}
-sha512sums="09332469e4aab96c0775f3d8e5a8e9c2544468bd6b461e5a30edac2d6fb0049fbb4db4860e54d94a2f010830a593377bc5345404ca6d78acba1e968a352f889d avida-0_git20190813.tar.gz
+sha512sums="
+09332469e4aab96c0775f3d8e5a8e9c2544468bd6b461e5a30edac2d6fb0049fbb4db4860e54d94a2f010830a593377bc5345404ca6d78acba1e968a352f889d avida-0_git20190813.tar.gz
e0f8aab74198f07e2edbd0d5083792eaab91a96c4065e1bba6295bb4d6a784665744d812ce1e40393a1da015a9048cbc6c15229dd20da2de9f32692b0d870cfb apto.tar.gz
-be92b7f3015cccaa64f2065bb552237176b044cbc16fa6dcef368b02aa53c9c3fdcfbb608b4fea2d6d720fe2a01f3362da87bf427fcb95942486c06fddba2892 10-remove-forced-tcmalloc.patch" \ No newline at end of file
+be92b7f3015cccaa64f2065bb552237176b044cbc16fa6dcef368b02aa53c9c3fdcfbb608b4fea2d6d720fe2a01f3362da87bf427fcb95942486c06fddba2892 10-remove-forced-tcmalloc.patch
+c1ef9b2176eba944fdb546fea64119a9515dfd8b3ab904eb7d7b621ac1d0734f7b20cd198df40356fa38280e21dfb126fb5601ca580a656c925f98338bb358cc musl123.patch
+"
diff --git a/testing/avida/musl123.patch b/testing/avida/musl123.patch
new file mode 100644
index 00000000000..e7d60080816
--- /dev/null
+++ b/testing/avida/musl123.patch
@@ -0,0 +1,13 @@
+diff --git a/avida-core/source/cpu/cTestCPUInterface.cc b/avida-core/source/cpu/cTestCPUInterface.cc
+index 7e78a59..a827712 100644
+--- a/avida-core/source/cpu/cTestCPUInterface.cc
++++ b/avida-core/source/cpu/cTestCPUInterface.cc
+@@ -152,7 +152,7 @@ int cTestCPUInterface::GetStateGridID(cAvidaContext& ctx)
+ Apto::Array<int> cTestCPUInterface::GetFormedGroupArray()
+ {
+ Apto::Array<int> null_array;
+- null_array.SetAll(NULL);
++ null_array.SetAll(0);
+ return null_array;
+ }
+
diff --git a/testing/avr-libc-git/APKBUILD b/testing/avr-libc-git/APKBUILD
new file mode 100644
index 00000000000..02e42b3c339
--- /dev/null
+++ b/testing/avr-libc-git/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Stefan Wagner <stw@bit-strickerei.de>
+# Maintainer: Stefan Wagner <stw@bit-strickerei.de>
+pkgname=avr-libc-git
+_avrlibc_pkgver=2.1.0
+pkgver=0_git20240218
+_commit=22d588c80066102993263018d5324d1424c13f0d
+provides=avrlibc=$_avrlibc_pkgver
+pkgrel=4
+pkgdesc="The C runtime library for the AVR family of microcontrollers - git version"
+url="https://github.com/avrdudes/avr-libc"
+depends="gcc-avr"
+makedepends="
+ autoconf
+ automake
+ python3
+ "
+arch="x86_64 ppc64le aarch64 x86"
+license="BSD-3-Clause"
+subpackages="$pkgname-doc"
+builddir="$srcdir/$pkgname-$pkgname-${pkgver//./_}-release"
+source="
+ avr-libc-$_commit.tar.gz::https://github.com/avrdudes/avr-libc/archive/$_commit.tar.gz
+ "
+builddir="$srcdir/avr-libc-$_commit"
+
+build() {
+ ./bootstrap
+ CC=avr-gcc ./configure \
+ --build="$(/bin/sh config.guess)" \
+ --host=avr \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make install DESTDIR="$pkgdir"
+}
+
+sha512sums="
+6c1651250cd3fb7b9207c6566b869f8203c17bfb9ffca0a55f3ec28fbed880b23123b3ecf56bbf54605dacfb0ca20906433d7f89cc966e145b126f2437ab7495 avr-libc-22d588c80066102993263018d5324d1424c13f0d.tar.gz
+"
diff --git a/testing/avra/APKBUILD b/testing/avra/APKBUILD
new file mode 100644
index 00000000000..ba11ad239ce
--- /dev/null
+++ b/testing/avra/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Bryce Vandegrift <bryce@brycevandegrift.xyz>
+# Maintainer: Bryce Vandegrift <bryce@brycevandegrift.xyz>
+pkgname=avra
+pkgver=1.4.2
+pkgrel=0
+pkgdesc="Assembler for the Atmel AVR microcontroller family"
+url="https://github.com/Ro5bert/avra"
+arch="all"
+license="GPL-2.0-or-later"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/hsoft/avra/archive/$pkgver.tar.gz"
+
+build() {
+ make PREFIX=/usr
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX="/usr" install
+}
+
+sha512sums="
+f51a43b1b28102d6180ce27e74b50642de8f3d18fa35a82904fddaac993e87e1096667f2245bebfad92e4ba3283330f6ac4b6083e486be5af9edca7b7e90e56f avra-1.4.2.tar.gz
+"
diff --git a/testing/aws-session-manager-plugin/001_correct_makefile.patch b/testing/aws-session-manager-plugin/001_correct_makefile.patch
new file mode 100644
index 00000000000..9b2eeb29cef
--- /dev/null
+++ b/testing/aws-session-manager-plugin/001_correct_makefile.patch
@@ -0,0 +1,50 @@
+# Corrects build configuration issues
+# Homogenizes build commands to make building on multiple carches easier
+# Enables ssmcli for armv7/aarch64
+--- a/makefile
++++ b/makefile
+@@ -1,5 +1,5 @@
+ COPY := cp -p
+-GO_BUILD := go build -i
++GO_BUILD := go build
+
+ # Default build configuration, can be overridden at build time.
+ GOARCH?=$(shell go env GOARCH)
+@@ -16,9 +16,9 @@
+
+ checkstyle::
+ # Run checkstyle script
+- $(GO_SPACE)/Tools/src/checkstyle.sh
++# $(GO_SPACE)/Tools/src/checkstyle.sh
+
+-build:: build-linux-amd64 build-linux-386 build-arm build-arm64 build-darwin-arm64 build-darwin-amd64 build-windows-amd64 build-windows-386
++build:: build-linux-amd64 build-linux-386 build-linux-arm build-linux-arm64 build-darwin-arm64 build-darwin-amd64 build-windows-amd64 build-windows-386
+
+ prepack:: prepack-linux-amd64 prepack-linux-386 prepack-linux-arm64 prepack-windows-386 prepack-windows-amd64
+
+@@ -97,17 +97,21 @@
+ GOOS=linux GOARCH=386 $(GO_BUILD) -ldflags "-s -w" -o $(GO_SPACE)/bin/linux_386/ssmcli -v \
+ $(GO_SPACE)/src/ssmcli-main/main.go
+
+-.PHONY: build-arm
+-build-arm: checkstyle copy-src pre-build
++.PHONY: build-linux-arm
++build-linux-arm: checkstyle copy-src pre-build
+ @echo "Build for ARM platform"
+ GOOS=linux GOARCH=arm GOARM=6 $(GO_BUILD) -ldflags "-s -w -extldflags=-Wl,-z,now,-z,relro,-z,defs" -o $(GO_SPACE)/bin/linux_arm_plugin/session-manager-plugin -v \
+ $(GO_SPACE)/src/sessionmanagerplugin-main/main.go
++ GOOS=linux GOARCH=arm GOARM=6 $(GO_BUILD) -ldflags "-s -w" -o $(GO_SPACE)/bin/linux_arm/ssmcli -v \
++ $(GO_SPACE)/src/ssmcli-main/main.go
+
+-.PHONY: build-arm64
+-build-arm64: checkstyle copy-src pre-build
++.PHONY: build-linux-arm64
++build-linux-arm64: checkstyle copy-src pre-build
+ @echo "Build for ARM64 platform"
+ GOOS=linux GOARCH=arm64 $(GO_BUILD) -ldflags "-s -w -extldflags=-Wl,-z,now,-z,relro,-z,defs" -o $(GO_SPACE)/bin/linux_arm64_plugin/session-manager-plugin -v \
+ $(GO_SPACE)/src/sessionmanagerplugin-main/main.go
++ GOOS=linux GOARCH=arm64 $(GO_BUILD) -ldflags "-s -w" -o $(GO_SPACE)/bin/linux_arm64/ssmcli -v \
++ $(GO_SPACE)/src/ssmcli-main/main.go
+
+ .PHONY: build-darwin-arm64
+ build-darwin-arm64: checkstyle copy-src pre-build
diff --git a/testing/aws-session-manager-plugin/APKBUILD b/testing/aws-session-manager-plugin/APKBUILD
new file mode 100644
index 00000000000..fc7dbbdf358
--- /dev/null
+++ b/testing/aws-session-manager-plugin/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Will Sinatra <wpsinatra@gmail.com>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=aws-session-manager-plugin
+pkgver=1.2.553.0
+pkgrel=0
+pkgdesc="AWS Session Manager Plugin for aws-cli."
+url="https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html"
+license="Apache-2.0"
+arch="x86_64 aarch64"
+# aws-cli is not packaged on the following arches due to missing dependency py3-awscrt
+# armhf, armv7, s390x, ppc64le
+# aws-cli is not packaged on the following arches due to compilation issues
+# x86
+depends="aws-cli amazon-ssm-agent"
+makedepends="go gcompat"
+source="$pkgname-$pkgver.tar.gz::https://github.com/aws/session-manager-plugin/archive/refs/tags/$pkgver.tar.gz
+ 001_correct_makefile.patch
+ ssmcli.initd
+ session-manager-plugin.initd"
+options="!check"
+builddir="$srcdir/session-manager-plugin-$pkgver"
+subpackages="$pkgname-openrc"
+
+case "$CARCH" in
+ armhf) build_arch=arm ;;
+ armv7) build_arch=arm ;;
+ x86) build_arch=x86 ;;
+ x86_64) build_arch=amd64 ;;
+ aarch64) build_arch=arm64 ;;
+esac
+
+build() {
+ make build-linux-$build_arch
+}
+
+package() {
+ #ssmcli
+ install -Dm0755 "$builddir"/bin/linux_$build_arch/ssmcli -t "$pkgdir"/usr/bin/
+ install -Dm0644 "$builddir"/bin/seelog_unix.xml -t "$pkgdir"/etc/amazon/ssmcli/seelog.xml
+
+ #session-manager-plugin
+ install -Dm0755 "$builddir"/bin/linux_${build_arch}_plugin/session-manager-plugin -t "$pkgdir"/usr/bin/
+ install -Dm0644 "$builddir"/bin/seelog_unix.xml -t "$pkgdir"/etc/amazon/sessionmanagerplugin/seelog.xml
+ install -Dm0644 "$builddir"/bin/seelog_windows.xml.template -t "$pkgdir"/etc/amazon/sessionmanagerplugin/
+
+ install -Dm0755 "$srcdir"/session-manager-plugin.initd -t "$pkgdir"/etc/init.d/session-manager-plugin
+ install -Dm0755 "$srcdir"/ssmcli.initd -t "$pkgdir"/etc/init.d/ssmcli
+}
+
+sha512sums="
+49d4715adfce526376bd4f4d2cf136779aff0912e904f7158a8dc3e163f77afbf43511358cb3e17587d16d2f81a55fae007ed8f04d144e513948f2b7878a2e45 aws-session-manager-plugin-1.2.553.0.tar.gz
+61df1f326d0963f8b81ccef56e87b907eff57cb98ecfb3839a61d008157bdcf8180609fdc23b75ad01cf3c7a99d89cd50e52f48c9b0c42144a166f27738394a4 001_correct_makefile.patch
+5e08d65a18117bcf821fea79ae03c69063196c116864ae7261ab58a07000c3dc04d53cdab50a47461ab2b08421f0d63a4c349d91d05223634cc8e4f1af8bca74 ssmcli.initd
+c0c9a0f24005b0c0c609a82b7754f41a5511a730d6cf5a74f01c427596c5e676f9a96077cb917530ded49dca06a916cde62152f006a3856f9313d7681dc6ebf5 session-manager-plugin.initd
+"
diff --git a/testing/aws-session-manager-plugin/session-manager-plugin.initd b/testing/aws-session-manager-plugin/session-manager-plugin.initd
new file mode 100644
index 00000000000..d9241461e66
--- /dev/null
+++ b/testing/aws-session-manager-plugin/session-manager-plugin.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+description="Initialize Amazon Session Manager Plugin"
+command="/usr/bin/session-manager-plugin"
+
+start() {
+ ebegin "Starting Session Manager Plugin"
+ start-stop-daemon --start \
+ --exec ${command} ${command_args} \
+ -b --make-pidfile \
+ --pidfile "${pidfile}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping Session Manager Plugin"
+ start-stop-daemon --stop \
+ --exec ${command} \
+ --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/testing/aws-session-manager-plugin/ssmcli.initd b/testing/aws-session-manager-plugin/ssmcli.initd
new file mode 100644
index 00000000000..e3c1bc950d5
--- /dev/null
+++ b/testing/aws-session-manager-plugin/ssmcli.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+description="Initialize Amazon SSMCLI"
+command="/usr/bin/ssmcli"
+
+start() {
+ ebegin "Starting SSMCLI"
+ start-stop-daemon --start \
+ --exec ${command} ${command_args} \
+ -b --make-pidfile \
+ --pidfile "${pidfile}"
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping SSMCLI"
+ start-stop-daemon --stop \
+ --exec ${command} \
+ --pidfile "${pidfile}"
+ eend $?
+}
diff --git a/testing/awscli-plugin-endpoint/APKBUILD b/testing/awscli-plugin-endpoint/APKBUILD
new file mode 100644
index 00000000000..042a77d410d
--- /dev/null
+++ b/testing/awscli-plugin-endpoint/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=awscli-plugin-endpoint
+pkgver=0.4
+pkgrel=2
+pkgdesc="Allows overriding endpoints in AWS CLI"
+url="https://github.com/wbingli/awscli-plugin-endpoint/"
+# aws-cli
+arch="noarch !armhf !armv7 !ppc64le !s390x !x86"
+license="Apache-2.0"
+depends="aws-cli python3"
+makedepends="py3-setuptools"
+options="!check" # no tests
+subpackages="$pkgname-pyc"
+source="https://github.com/wbingli/awscli-plugin-endpoint/archive/refs/tags/$pkgver/awscli-plugin-endpoint-$pkgver.tar.gz"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --root="$pkgdir" --skip-build
+}
+
+sha512sums="
+0e81130ac6baf7b43a77e37213cbc042dca0cefd4a43db92cd6d7fe53d0f81e902d35ea055669477001158ee2cb5e898f5ea9474167a18203ecb7392f183d14a awscli-plugin-endpoint-0.4.tar.gz
+"
diff --git a/testing/awslogs/APKBUILD b/testing/awslogs/APKBUILD
deleted file mode 100644
index 0eb75b5c195..00000000000
--- a/testing/awslogs/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Paul Bredbury <brebs@sent.com>
-# Maintainer:
-pkgname=awslogs
-pkgver=0.11.0
-pkgrel=4
-pkgdesc="AWS CloudWatch log retriever"
-url="https://github.com/jorgebastida/awslogs"
-arch="noarch"
-license="BSD-3-Clause-Attribution"
-depends="py3-boto3 py3-jmespath py3-termcolor py3-dateutil"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/jorgebastida/awslogs/archive/$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --root="$pkgdir"
-}
-
-sha512sums="30118717535ef46acc387473a0dffc61169e234b290555097db4d0deb0cfedba23a18147c9c40bc1f983f5ac18a051f057ec6aaa13a1ca8d7caa23e3c53a3e1b awslogs-0.11.0.tar.gz"
diff --git a/testing/azorius/APKBUILD b/testing/azorius/APKBUILD
new file mode 100644
index 00000000000..629891b181a
--- /dev/null
+++ b/testing/azorius/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=azorius
+pkgver=0.3.4
+pkgrel=2
+pkgdesc="Social link aggregator and comment forum with ActivityPub"
+url="https://azorius.net/"
+arch="all"
+license="ISC"
+makedepends="go sqlite-dev"
+install="$pkgname.pre-install"
+pkgusers="azorius"
+pkggroups="azorius"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="https://humungus.tedunangst.com/r/azorius/d/azorius-$pkgver.tgz
+ azorius.initd
+ azorius.confd
+
+ upgradedb.patch
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ make
+}
+
+check() {
+ ./azorius version
+
+ go test -v ./...
+}
+
+package() {
+ install -Dm755 azorius -t "$pkgdir"/usr/bin/
+ install -dm750 -o azorius -g azorius "$pkgdir"/var/lib/azorius
+
+ install -dm755 "$pkgdir"/usr/share/webapps/azorius
+ install -Dm644 docs/*.html -t "$pkgdir"/usr/share/webapps/azorius/docs/
+ install -Dm644 views/* -t "$pkgdir"/usr/share/webapps/azorius/views/
+
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+ local man sec fname; for man in \
+ docs/*.1 \
+ docs/*.7 \
+ docs/*.8
+ do
+ fname="$(basename $man)"
+ sec="${fname##*.}"
+
+ case "$fname" in
+ azorius*)
+ install -Dm644 $man \
+ "$pkgdir"/usr/share/man/man$sec/$fname
+ ;;
+ *)
+ install -Dm644 $man \
+ "$pkgdir"/usr/share/man/man$sec/azorius-$fname
+ ;;
+ esac
+ done
+
+ install -Dm755 "$srcdir"/azorius.initd "$pkgdir"/etc/init.d/azorius
+ install -Dm644 "$srcdir"/azorius.confd "$pkgdir"/etc/conf.d/azorius
+}
+
+sha512sums="
+6475846d8f6972d34a6672eee62ce7fbcce7524fd6e980c60e874699b714c4ce550b35806625e6b60f00b9e2fb85175998d715644993fb169809b60343642725 azorius-0.3.4.tgz
+aa8641ef0a4c6b27d4ac21f2dd974dcd090f5867ee314c4322f39284a8e80b430f522fcb75c51db8dd0c00791a2c76652827eda091183ee57a2b3f8c97d8b88c azorius.initd
+fb522c19c7debd64c57087d5a77f03f0418e0eb929c570cbb0cb5fb36a97e63b09b34bc4137aff36fe625fb3ced8b1d16529a8ba1af79cffa67a9033acfa7a1d azorius.confd
+45878a9c132bfa2faa6e142b2b7494bb64a183112356481b651e90fec5f011fc3da3a882316034ffd73ec00d913aa2b678806684ed2eb334704e6aa1a8245b80 upgradedb.patch
+"
diff --git a/testing/azorius/azorius.confd b/testing/azorius/azorius.confd
new file mode 100644
index 00000000000..287194b0af3
--- /dev/null
+++ b/testing/azorius/azorius.confd
@@ -0,0 +1,16 @@
+# Configuration for /etc/init.d/azorius
+
+# Azorius data directory
+#data_dir="/var/lib/azorius"
+
+# Azorius view directory
+#view_dir="/usr/share/webapps/azorius"
+
+# Azorius log file
+#log_file="/var/log/azorius.log"
+
+# Azorius listen ip & port
+#listen_addr="127.0.0.1:8282"
+
+# Additional options to pass to Azorius
+#extra_opts=""
diff --git a/testing/azorius/azorius.initd b/testing/azorius/azorius.initd
new file mode 100644
index 00000000000..5a03bdbbf8a
--- /dev/null
+++ b/testing/azorius/azorius.initd
@@ -0,0 +1,94 @@
+#!/sbin/openrc-run
+
+name=azorius
+description="Azorius is an ActivityPub link aggregator and comment forum"
+
+extra_stopped_commands="setup upgradedb cleanup"
+extra_started_commands="adduser chpass"
+description_setup="Initialize a new azorius.db"
+description_upgradedb="Upgrade azorius.db to new schema"
+description_cleanup="Move old attachments to trash"
+description_adduser="Add a new user account"
+description_chpass="Change password of user"
+
+: ${data_dir:="/var/lib/azorius"}
+: ${view_dir:="/usr/share/webapps/azorius"}
+: ${log_file:="/var/log/azorius.log"}
+: ${listen_addr:="127.0.0.1:8282"}
+
+command="/usr/bin/azorius"
+command_args="
+ -datadir $data_dir
+ -viewdir $view_dir
+ -log $log_file
+ $extra_opts
+ "
+command_background="yes"
+command_user="azorius:azorius"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+depend() {
+ need localmount net
+ after firewall
+}
+
+fix_perms() {
+ checkpath -f -m 0640 -o "$command_user" "$log_file"
+ checkpath -d -m 0750 -o "$command_user" "$data_dir"
+}
+
+start_pre() {
+ fix_perms || return 1
+
+ if [ ! -f "$data_dir/azorius.db" ]; then
+ setup || return 1
+ fi
+
+ azorius_exec setconfig listenaddr "$listen_addr"
+}
+
+setup() {
+ local db_file="$data_dir/azorius.db"
+
+ fix_perms || return 1
+
+ if [ -f "$db_file" ]; then
+ eerror "$db_file already exists!"
+ return 1
+ fi
+
+ ebegin "Creating a new database at $db_file"
+ azorius_exec init
+ eend $?
+}
+
+adduser() {
+ azorius_exec adduser
+}
+
+chpass() {
+ read -p "username: " username
+
+ azorius_exec chpass $username
+}
+
+upgradedb() {
+ fix_perms || return 1
+
+ ebegin "Upgrading the Azorius database"
+ azorius_exec upgrade
+ eend $?
+}
+
+cleanup() {
+ fix_perms || return 1
+
+ ebegin "Cleaning up Azorius attachments"
+ azorius_exec trash
+ eend $?
+}
+
+azorius_exec() {
+ start-stop-daemon --exec "$command" --user "$command_user" \
+ -- $command_args $*
+}
diff --git a/testing/azorius/azorius.pre-install b/testing/azorius/azorius.pre-install
new file mode 100644
index 00000000000..1ecc926660b
--- /dev/null
+++ b/testing/azorius/azorius.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S azorius 2>/dev/null
+adduser -S -D -H \
+ -h /var/lib/azorius \
+ -s /sbin/nologin \
+ -G azorius \
+ -g "Azorius federated link sharer" \
+ azorius 2>/dev/null
+
+exit 0
diff --git a/testing/azorius/upgradedb.patch b/testing/azorius/upgradedb.patch
new file mode 100644
index 00000000000..9fc2d5080a2
--- /dev/null
+++ b/testing/azorius/upgradedb.patch
@@ -0,0 +1,11 @@
+--- a/upgradedb.go
++++ b/upgradedb.go
+@@ -116,7 +116,7 @@
+ var lnk string
+ err := rows.Scan(&postid, &lnk)
+ if err != nil {
+- elog.Fatalf("can't scan link: %s")
++ elog.Fatalf("can't scan link: %s", lnk)
+ }
+ m := re_linkhost.FindStringSubmatch(lnk)
+ if len(m) > 1 {
diff --git a/testing/azote/APKBUILD b/testing/azote/APKBUILD
index 34860e06a5a..068528edeb5 100644
--- a/testing/azote/APKBUILD
+++ b/testing/azote/APKBUILD
@@ -1,26 +1,44 @@
# Contributor: Matthew T Hoare <matthew.t.hoare@gmail.com>
# Maintainer: Matthew T Hoare <matthew.t.hoare@gmail.com>
pkgname=azote
-pkgver=1.9.2
-pkgrel=0
+pkgver=1.12.4
+pkgrel=1
pkgdesc="Wallpaper and colour manager for Sway, i3 and other window managers"
url="https://github.com/nwg-piotr/azote"
arch="noarch"
license="GPL-3.0-or-later AND BSD-3-Clause"
-depends="feh gtk+3.0 py3-cairo py3-gobject3 py3-pillow py3-send2trash
- py3-setuptools python3 xrandr"
+depends="
+ feh
+ gtk+3.0
+ py3-cairo
+ py3-gobject3
+ py3-pillow
+ py3-send2trash
+ python3
+ xrandr
+ "
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
options="!check" # no checks
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/nwg-piotr/azote/archive/v$pkgver.tar.gz"
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+
install -Dm755 dist/azote "$pkgdir"/usr/bin/azote
- install -D -t "$pkgdir"/usr/share/pixmaps dist/azote.svg
+ install -D -t "$pkgdir"/usr/share/icons/hicolor/scalable/apps/azote.svg dist/azote.svg
install -D -t "$pkgdir"/usr/share/"$pkgname" dist/indicator_active.png
install -D -t "$pkgdir"/usr/share/"$pkgname" dist/indicator_attention.png
install -D -t "$pkgdir"/usr/share/applications dist/azote.desktop
- python3 setup.py install --root="$pkgdir/" --optimize=1
}
sha512sums="
-aa2b45966e13a0bc9196e40bd3fbda0e0ebb5105690e938df33b72221ef2502511de62611e3423bf102f7e332a0fe889b545e20c41fa28b3264da9521fb6ef92 azote-1.9.2.tar.gz
+c40beafd5fa0d5337d0b09b9f0ab0e128a46d2e2eea1ecf0ef082ade2d531e4ef70d57dc932226ea7a88d2b4a72340ae0f41e049152b80d6c0d9da0ecae90640 azote-1.12.4.tar.gz
"
diff --git a/testing/azpainter/APKBUILD b/testing/azpainter/APKBUILD
new file mode 100644
index 00000000000..d2ddfffd8ec
--- /dev/null
+++ b/testing/azpainter/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=azpainter
+pkgver=3.0.7
+pkgrel=0
+pkgdesc="Paint software for editing illustrations and images"
+url="http://azsky2.html.xdomain.jp"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ fontconfig-dev
+ freetype-dev
+ libpng-dev
+ libx11-dev
+ libxcursor-dev
+ libxext-dev
+ libxi-dev
+ tiff-dev
+ samurai
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-v$pkgver.tar.gz::https://gitlab.com/azelpg/azpainter/-/archive/v$pkgver/azpainter-v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # No tests
+
+build() {
+ ./configure --prefix=/usr
+ samu -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" samu -C build install
+}
+
+sha512sums="
+68002777fa9df7bac78d6d99231400ceb9ca89a0fb7233f5abe90d2c376746d4a56e38c663fecdc07daf84a27b7fb43190efc8be6282611ba87b683d3851ec2e azpainter-v3.0.7.tar.gz
+"
diff --git a/testing/azure-iot-sdk-c-static/001-c-utility.patch b/testing/azure-iot-sdk-c-static/001-c-utility.patch
deleted file mode 100644
index 9b746a13175..00000000000
--- a/testing/azure-iot-sdk-c-static/001-c-utility.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/c-utility/pal/linux/socket_async_os.h b/c-utility/pal/linux/socket_async_os.h
-index bd59e48..1797089 100644
---- a/c-utility/pal/linux/socket_async_os.h
-+++ b/c-utility/pal/linux/socket_async_os.h
-@@ -10,7 +10,7 @@
- #include <sys/select.h>
- #include <netinet/in.h>
- #include <netinet/tcp.h>
--#include <sys/errno.h>
-+#include <errno.h>
- #include <fcntl.h>
- #include <unistd.h>
- #include <netdb.h>
diff --git a/testing/azure-iot-sdk-c-static/APKBUILD b/testing/azure-iot-sdk-c-static/APKBUILD
index a8655b64ac4..52152ec8bf6 100644
--- a/testing/azure-iot-sdk-c-static/APKBUILD
+++ b/testing/azure-iot-sdk-c-static/APKBUILD
@@ -1,25 +1,25 @@
# Contributor: Michael John <gosh.mike@gmail.com>
# Maintainer: Michael John <gosh.mike@gmail.com>
pkgname=azure-iot-sdk-c-static
-pkgver=1.3.7
-pkgrel=1
+pkgver=1.11.0
+pkgrel=0
pkgdesc="Azure IoT SDK"
url="https://github.com/Azure/azure-iot-sdk-c"
arch="all"
license="MIT"
options="!check" # make check not implemented
makedepends="cmake openssl-dev openssl-libs-static libcurl curl-dev libuuid util-linux-dev busybox"
-_azure_c_shared_utility_commit="48f7a556865731f0e96c47eb5e9537361f24647c"
-_azure_umqtt_c_commit="65cdd1013715fb9d208c42f957eb353fbe22bafb"
-_azure_uamqp_c_commit="142cfab9d66c6f81ea0cceb635f31e00cfa51c77"
-_parson_commit="c5bb9557fe98367aa8e041c65863909f12ee76b2"
-_uhttp_commit="b67a6bfa0d018a8a23176ee214e46c208fc323c3"
-_riot_commit="bc97a5eaff53535eddbdf95b4f477c6caf3b7788"
-_utpm_commit="afe8ad192502979e2b754c7d7c0b2e7178c78d09"
+_azure_c_shared_utility_commit="4f1b7cd6bf48833fe4b9e23e2ff07510753faee5"
+_azure_umqtt_c_commit="9201d60bbc12a02ac5456b6105bb50919d392105"
+_azure_uamqp_c_commit="b7bdf307a0db8840156d9f6e40f704c1d5924306"
+_parson_commit="4158fdbea7da5a7c7efb182b69707c78f35a398f"
+_uhttp_commit="33485e2e43f9c8f186dfff8afda7efd905b636f1"
+_riot_commit="f6bebff2f5a68f5bc18d23ed164800db33b7d2a4"
+_utpm_commit="4fc2aa8717f15ad22e4cd9571d2784cef25932be"
_azure_macro_utils_c_commit="5926caf4e42e98e730e6d03395788205649a3ada"
-_umock_c_commit="5e3d93112360ee2d4a622b1c48eb70896da3e8c7"
-_azure_c_testrunnerswitcher_commit="a33cd0a8524da8e45642baa112a506d4d2e5a59e"
-_azure_ctest_commit="13baad856c3cb9e5457bff52bc8c2de87f21fa07"
+_umock_c_commit="504193e65d1c2f6eb50c15357167600a296df7ff"
+_azure_c_testrunnerswitcher_commit="8734bd6c53c88dd6c0cea8e87d70b9964726484a"
+_azure_ctest_commit="4aa84c45236ecda21983fb682f542f17d0b21e19"
source="$pkgname-$pkgver.tar.gz::https://github.com/Azure/azure-iot-sdk-c/archive/$pkgver.tar.gz
$pkgname-$pkgver-azure_c_shared_utility.tar.gz::https://github.com/Azure/azure-c-shared-utility/archive/$_azure_c_shared_utility_commit.tar.gz
$pkgname-$pkgver-azure_umqtt_c.tar.gz::https://github.com/Azure/azure-umqtt-c/archive/$_azure_umqtt_c_commit.tar.gz
@@ -28,11 +28,10 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/Azure/azure-iot-sdk-c/archiv
$pkgname-$pkgver-uhttp.tar.gz::https://github.com/Azure/azure-uhttp-c/archive/$_uhttp_commit.tar.gz
$pkgname-$pkgver-riot.tar.gz::https://github.com/Microsoft/RIoT/archive/$_riot_commit.tar.gz
$pkgname-$pkgver-utpm.tar.gz::https://github.com/Azure/azure-utpm-c/archive/$_utpm_commit.tar.gz
- $pkgname-$pkgver-azure_macro_utils_c.tar.gz::https://github.com/Azure/azure-macro-utils-c/archive/$_azure_macro_utils_c_commit.tar.gz
+ $pkgname-$pkgver-macro_utils_c.tar.gz::https://github.com/Azure/macro-utils-c/archive/$_azure_macro_utils_c_commit.tar.gz
$pkgname-$pkgver-umock_c.tar.gz::https://github.com/Azure/umock-c/archive/$_umock_c_commit.tar.gz
- $pkgname-$pkgver-azure_c_testrunnerswitcher.tar.gz::https://github.com/Azure/azure-c-testrunnerswitcher/archive/$_azure_c_testrunnerswitcher_commit.tar.gz
- $pkgname-$pkgver-azure_ctest.tar.gz::https://github.com/Azure/azure-ctest/archive/$_azure_ctest_commit.tar.gz
- 001-c-utility.patch
+ $pkgname-$pkgver-c_testrunnerswitcher.tar.gz::https://github.com/Azure/c-testrunnerswitcher/archive/$_azure_c_testrunnerswitcher_commit.tar.gz
+ $pkgname-$pkgver-ctest.tar.gz::https://github.com/Azure/azure-ctest/archive/$_azure_ctest_commit.tar.gz
"
builddir="$srcdir/${pkgname%-static}-$pkgver"
@@ -45,10 +44,10 @@ prepare() {
mv "$srcdir"/azure-uhttp-c-$_uhttp_commit/* "$builddir"/deps/uhttp/
mv "$srcdir"/RIoT-$_riot_commit/* "$builddir"/provisioning_client/deps/RIoT/
mv "$srcdir"/azure-utpm-c-$_utpm_commit/* "$builddir"/provisioning_client/deps/utpm/
- mv "$srcdir"/azure-macro-utils-c-$_azure_macro_utils_c_commit/* "$builddir"/deps/azure-macro-utils-c/
+ mv "$srcdir"/macro-utils-c-$_azure_macro_utils_c_commit/* "$builddir"/deps/azure-macro-utils-c/
mv "$srcdir"/umock-c-$_umock_c_commit/* "$builddir"/deps/umock-c/
- mv "$srcdir"/azure-c-testrunnerswitcher-$_azure_c_testrunnerswitcher_commit/* "$builddir"/deps/azure-c-testrunnerswitcher/
- mv "$srcdir"/azure-ctest-$_azure_ctest_commit/* "$builddir"/deps/azure-ctest/
+ mv "$srcdir"/c-testrunnerswitcher-$_azure_c_testrunnerswitcher_commit/* "$builddir"/deps/azure-c-testrunnerswitcher/
+ mv "$srcdir"/ctest-$_azure_ctest_commit/* "$builddir"/deps/azure-ctest/
default_prepare
}
@@ -75,18 +74,21 @@ build() {
package() {
cd "$builddir"/cmake-build
make DESTDIR="$pkgdir" install
+
+ mv "$pkgdir"/usr/cmake "$pkgdir"/usr/lib/cmake
}
-sha512sums="a6e9b15d42d91c7c5bd553317af1e4cc1bd84b87da447e476ad2c851db264aaab21da8d1816542cb7a6f12f0ca34a7e09349f6d0af3517567fdf3ff904ce48b3 azure-iot-sdk-c-static-1.3.7.tar.gz
-c20074707e8601e090ee8daac1d96fdfb4f60ac60fd9c824dad81aa4c2f22b04733c82c01c1ae92110c26871b81674e8771d9ed65081f1c0c197a362275a28f1 azure-iot-sdk-c-static-1.3.7-azure_c_shared_utility.tar.gz
-8cd33dcde966132e2aa0c6d931e75f9bcdc5734d57d8f6bb8a922711b0b63c2f0e58d379fe92371886387dfbb0b8c117b512873363eb76cf22fa985dbf11d52e azure-iot-sdk-c-static-1.3.7-azure_umqtt_c.tar.gz
-80f95bc969c2e50124622561b5f939e981a8d317e3e9514e52ce020f0f20a125622bf914f16927edafc7ff3c878fb1d6a28f4f5e66bda52dcc8aa2dc34761f73 azure-iot-sdk-c-static-1.3.7-azure_uamqp_c.tar.gz
-8c9a4ebd4e2cccac17b21bc8e51e38b185b5b87ba7fb77321158751978bef2f40166acd8265e8b0589fb76b93998a40a09d5cd2030e59c3f01c6c4727b8abc0b azure-iot-sdk-c-static-1.3.7-parson.tar.gz
-75fafe242324bb2fc72befdd06427350e6f99aec9496fdf38b9660e7965fad89276ee543f36c3ba3360fc99b8301e74e2c1723d17f39e8471beee3e32cacb348 azure-iot-sdk-c-static-1.3.7-uhttp.tar.gz
-e2655a4846c7ae15e1a0d3638b49e99dcb1d50b6aeb6ac9a85498be66e904af84d86ee1d739fa3122e539a5a1fdc125dcb679098be040f386bf4ec63c0679570 azure-iot-sdk-c-static-1.3.7-riot.tar.gz
-75b7ac6a2686bb09fe0ff17c159d2b7043dca37a63f91939904e187955ce63c1736393bf16674ff25443cf1898a0b319ae4a326a12af5b733bc7fd54c86c0584 azure-iot-sdk-c-static-1.3.7-utpm.tar.gz
-97621f276657af976c4022c9600540ecae2287b3b386b9e097d661828a62c120348d354b3f86f3ef4d49f3c54830887662d3910ed5cec4a634949fa389b4ad55 azure-iot-sdk-c-static-1.3.7-azure_macro_utils_c.tar.gz
-9f5c0ce782f66a41e702e2d54dcff92b07b30e7c2be0ee2c63a56e2bff0c26a1de7f77abcb2a964d668deea817dcb3a4771e328707c2d982c23526465c950608 azure-iot-sdk-c-static-1.3.7-umock_c.tar.gz
-c42350f39116dfdc3788d596ca22cf7e6040745e795c11ca1f6cb4fd63eeb2d913e89a1a50e8170612dea28b2a01306e04d865bd26046a10458ecffac3c0b6a1 azure-iot-sdk-c-static-1.3.7-azure_c_testrunnerswitcher.tar.gz
-2f2dca81f101c33bf0a99c5e86012c0830686797b2934c7972c411f108ce0c31570988321cc58aabb3fcc0a2ecefbdab9dc950c7f922065b7bde8eb3207f2059 azure-iot-sdk-c-static-1.3.7-azure_ctest.tar.gz
-419f71afc6be9e9ee27c11d5bdc7cad3e417ac3bd2d8cbb2a706c9be81ff88d99fb810bfc84a2424fefb2076e27f13bfaf14370e450c08ac09e8ebadfe1ac5cd 001-c-utility.patch"
+sha512sums="
+7e78e4bded0d4b7acebc863350c451d40067d97112edf465efb99057e18854c279b40798fddd07051987f5abd1d9a7f220b3a7d108e0e1c35adae96ef6b73615 azure-iot-sdk-c-static-1.11.0.tar.gz
+5374585bd05ad2b55d2aa183d65b0b371d52b7f3145bcc9486e92d306d172109a8a6b13e14b56073426c3b02541044864d63fc728a9006a8dcd7ab552002be79 azure-iot-sdk-c-static-1.11.0-azure_c_shared_utility.tar.gz
+97d5383184c99186783738613d00e77041fe4ff3af4c14fe775e4be8b38a77a69d093ed8636a67ee85e8e09c8732b8839375aa178128f1ae58792d7c8698f829 azure-iot-sdk-c-static-1.11.0-azure_umqtt_c.tar.gz
+a23ddab35caa6f9303072f235591d64f5cfe3c2f4a16e9f317380a9d887f47f146b0bca5afcb2e3a199b146e8092192ede2ec68685edb8a7fb11cfe5641815b8 azure-iot-sdk-c-static-1.11.0-azure_uamqp_c.tar.gz
+52854bb2cdc890c0abf7c9eec2cb0dbc5452bc78c73b1364cb3ef8d37d636f41335e58a11f7fe6faae762dea3bee24ddccb020bc188229db143cf5e871f6f149 azure-iot-sdk-c-static-1.11.0-parson.tar.gz
+ad9c8f21cee431ac39a5ffc5f1007b76c5ba1768dca6cebf8fceda33747c3accbce48ace72173cfe746316a0a136a7e770005ba98b8f99e5bb3889b5bdc2e973 azure-iot-sdk-c-static-1.11.0-uhttp.tar.gz
+5d07bc934ab8d64c2bc930636fe135e677cac6bd6ae85ca6028eb4a28ef5776d6326bdd1f654646597a169f7da8e36318ea36496523052a826686aa1d959c967 azure-iot-sdk-c-static-1.11.0-riot.tar.gz
+cef3cb9c5578a88f0839f68429da72ac40f8f82cace53cf0ab93e9a8dcb546fab23f16c51bec960edf83fdbde92a069c72e9d8f794d891f6408a991a6e871ee6 azure-iot-sdk-c-static-1.11.0-utpm.tar.gz
+8f9fd02012202db6cff5b647edbc8332a2c03963e80182a630af6a884f23df96b8e24d60e5412bfc2a0a7f43240a54f9597040aa28a9d3e1566755e1d52aac62 azure-iot-sdk-c-static-1.11.0-macro_utils_c.tar.gz
+68d5d986314dbd46d20de2a9b9454154c11675c25d1b5a5b1cfecdd0c0945d9dc68d0348ec1dbb00b5d1a6a1f0356121ba561d7c8fffb97ab37864edade5a85b azure-iot-sdk-c-static-1.11.0-umock_c.tar.gz
+0b2d630228d65bf63be8c41ca998de24011165b3dc879a86df6372a253c1bfd9e928672fb0817ca8c036274ed05ef2ee58ec4b7102d3c5bf6222cac452da07d0 azure-iot-sdk-c-static-1.11.0-c_testrunnerswitcher.tar.gz
+0bf0ccbb7c63e62beb62b690a9d4d173518bada9987cf7c569c27ab9d843f1f5ca844001a542d617b402637bd16969f22c50361421c39cbfce73d662b9f423bb azure-iot-sdk-c-static-1.11.0-ctest.tar.gz
+"
diff --git a/testing/b2sum/APKBUILD b/testing/b2sum/APKBUILD
index b9850368bf7..85543bf7542 100644
--- a/testing/b2sum/APKBUILD
+++ b/testing/b2sum/APKBUILD
@@ -3,7 +3,7 @@ pkgname=b2sum
_pkgname=BLAKE2
pkgver=20190729
_commit=997fa5ba1e14b52c554fb03ce39e579e6f27b90c
-pkgrel=1
+pkgrel=2
pkgdesc="BLAKE2 command line utility with multiple algorithms"
url="https://blake2.net/"
arch="all"
diff --git a/testing/b3sum/APKBUILD b/testing/b3sum/APKBUILD
deleted file mode 100644
index d64342ca86a..00000000000
--- a/testing/b3sum/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=b3sum
-pkgver=1.3.0
-pkgrel=0
-pkgdesc="Command line implementation of the BLAKE3 hash function"
-url="https://blake3.io"
-# armhf: 'vaddq_u32': target specific option mismatch
-arch="all !s390x !armhf !mips !mips64 !riscv64"
-license="CC0-1.0 OR Apache-2.0"
-makedepends="cargo"
-source="b3sum-$pkgver.tar.gz::https://crates.io/api/v1/crates/b3sum/$pkgver/download"
-
-case "$CARCH" in
- arm*) _features="neon" ;;
-esac
-
-build() {
- cargo build --release --locked --no-default-features ${_features:+--features="$_features"}
-}
-
-check() {
- cargo test --release --locked --no-default-features ${_features:+--features="$_features"}
-}
-
-package() {
- cargo install --locked --path . --root="$pkgdir/usr" --no-default-features ${_features:+--features "$_features"}
- rm "$pkgdir"/usr/.crates*
-}
-
-sha512sums="
-70b46049d490bc36a73c7a987ff4cc961eff1322ec73afced7f6e5de0d5a5a8ad3fcade5f41dff241d66496ec2fe632a8456746b2f6d8641d4aba308a636d2e1 b3sum-1.3.0.tar.gz
-"
diff --git a/testing/b4/APKBUILD b/testing/b4/APKBUILD
new file mode 100644
index 00000000000..266d0b65f25
--- /dev/null
+++ b/testing/b4/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: knuxify <knuxify@gmail.com>
+# Maintainer: knuxify <knuxify@gmail.com>
+pkgname=b4
+pkgver=0.13.0
+pkgrel=0
+pkgdesc="Tool to help with email-based patch workflows"
+url="https://b4.docs.kernel.org/"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="py3-requests git git-email git-filter-repo py3-dnspython py3-patatt py3-dkimpy"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="https://git.kernel.org/pub/scm/utils/b4/b4.git/snapshot/b4-$pkgver.tar.gz"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+692d01970019d3fc604187882004d97f4286a22d87e5778d7830ec247757534a9d951fa8edfe9e04e8f14107c77b08b6c15024f37bd99f4abf3aa0d823df21e5 b4-0.13.0.tar.gz
+"
diff --git a/testing/babashka/APKBUILD b/testing/babashka/APKBUILD
new file mode 100644
index 00000000000..79fb70c1145
--- /dev/null
+++ b/testing/babashka/APKBUILD
@@ -0,0 +1,76 @@
+# Contributor: Alex McGrath <amk@amk.ie>
+# Maintainer: Alex McGrath <amk@amk.ie>
+pkgname=babashka
+pkgver=1.3.188
+pkgrel=0
+pkgdesc="Native, fast starting Clojure interpreter for scripting"
+url="https://github.com/babashka/babashka"
+license="GPL-3.0-or-later"
+arch="x86_64" # openjdk-mandrel
+makedepends="openjdk17-static-libs openjdk17 openjdk-mandrel leiningen"
+
+_bbcore_hash="52a6037bd4b632bffffb04394fb4efd0cdab6b1e"
+_bbcurl_hash="e936acd40544eb637b6041c7e89454b21eb7ee34"
+_bbnrepl_hash="edd3d613bfb9bf3adabfd0bda5c3f5c6ee85ec20"
+_depsclj_hash="3e5dcdfe7b32e0d358a6f48cd46120596e83f02f"
+_depstar_hash="c419b8c82041855d55593c5b561fc7cea8234712"
+_fs_hash="374c36a3f7316e7a445f47220719283947a97e14"
+_pods_hash="6ad6045b94bc871c5107bfc75d39643b6c1bc8ba"
+_process_hash="abe7ea36ebf1d666834f73d35530df946a7c31bd"
+_sci_hash="ad79a6c476affd1f8208efbfdba57992a68c8056"
+
+source="babashka-$pkgver.tar.gz::https://github.com/babashka/babashka/archive/v$pkgver.tar.gz
+https://github.com/borkdude/sci/archive/$_sci_hash.tar.gz
+https://github.com/babashka/babashka.curl/archive/$_bbcurl_hash.tar.gz
+https://github.com/babashka/babashka.nrepl/archive/$_bbnrepl_hash.tar.gz
+https://github.com/babashka/depstar/archive/$_depstar_hash.tar.gz
+https://github.com/babashka/process/archive/$_process_hash.tar.gz
+https://github.com/babashka/pods/archive/$_pods_hash.tar.gz
+https://github.com/borkdude/deps.clj/archive/$_depsclj_hash.tar.gz
+https://github.com/babashka/fs/archive/$_fs_hash.tar.gz
+https://github.com/babashka/babashka.core/archive/$_bbcore_hash.tar.gz
+"
+
+options="!check" # fails due to a dep on version of go-sqlite3 that is broken on musl
+
+prepare() {
+ default_prepare
+
+ mv -Tv "$srcdir/sci-$_sci_hash" "$builddir/sci"
+ mv -Tv "$srcdir/babashka.curl-$_bbcurl_hash" "$builddir/babashka.curl"
+ mv -Tv "$srcdir/babashka.nrepl-$_bbnrepl_hash" "$builddir/babashka.nrepl"
+ mv -Tv "$srcdir/depstar-$_depstar_hash" "$builddir/depstar"
+ mv -Tv "$srcdir/process-$_process_hash" "$builddir/process"
+ mv -Tv "$srcdir/pods-$_pods_hash" "$builddir/pods"
+ mv -Tv "$srcdir/deps.clj-$_depsclj_hash" "$builddir/deps.clj"
+ mv -Tv "$srcdir/fs-$_fs_hash" "$builddir/fs"
+ mv -Tv "$srcdir/babashka.core-$_bbcore_hash" "$builddir/babashka.core"
+}
+
+build() {
+ export GRAALVM_HOME=/usr/lib/jvm/java-17-openjdk/
+ script/uberjar
+ script/compile
+}
+
+check() {
+ script/test
+}
+
+package() {
+ install -Dm755 "$builddir"/bb \
+ "$pkgdir"/usr/bin/bb
+}
+
+sha512sums="
+8b9b65c72289ad4cb1dce518807e826a3827232d235a4e8b3be2237c7fe74c95f6caeacb34a25525a4136275b80414aa1f1c9ec5a023aa998a63a0543e5421e3 babashka-1.3.188.tar.gz
+30bc3a066cb2f62c5384ad75166edc0e6d15970765dc9fee0b10bb7b24d8e44608d151abb2dfd12db32b6589756e6d853b171c0470289edda56abb9a0669f906 ad79a6c476affd1f8208efbfdba57992a68c8056.tar.gz
+94219410d4e7f750bb36486e5a5f5fda8bcd35333aadd325db5e299a9985272e17b334180cb2d0a7eb4c104db459d96bbd0f9c38fbc1592195c9658a7aacf390 e936acd40544eb637b6041c7e89454b21eb7ee34.tar.gz
+f8eee32ef1192212c6e774d24c88fc5aa9151f1452f22e3386a513f400aa346029d84cecb74c9e2f78d6d8fd3b8864890ef9198fa36caf7e29a9168f978ce418 edd3d613bfb9bf3adabfd0bda5c3f5c6ee85ec20.tar.gz
+b8cf5a3a518ef3ccd8c95bb9b3e6782123c9908501ceba74153c06b14f90ee3728fa3b0e2f66d8f4625f2e8ebe8d29efcfe3adcd85ecc8e067edb95b3359caa2 c419b8c82041855d55593c5b561fc7cea8234712.tar.gz
+174074639cd4bc04f8ea682f241afacb2d0b257e918defa9e528fdfe58e3597578398402cde36b65b609d7eeb37f908f504125814b072ecc2df87f8f66404511 abe7ea36ebf1d666834f73d35530df946a7c31bd.tar.gz
+3707693151a2fa032426448326e77a99493017af82bff902160483ce6d5bed13d51e5ea92750f1725f26f1b66ed9256260ebbcbbce30897370553252d540faca 6ad6045b94bc871c5107bfc75d39643b6c1bc8ba.tar.gz
+4a12791ee00b93dac45a7e9373e44398da17ba24577926f9c997a280be0027ba258912e6a8942042953a71bb8411a557bf03f6dd58909eb4706562d7598af88a 3e5dcdfe7b32e0d358a6f48cd46120596e83f02f.tar.gz
+e96fb6c41b7366690d05818cbf1c6285c630639d6f7bebc25e735fd3cdec772221c2b37d39f14bfd7ba6d6f1be05b7cdf77d9c1a5f1ab007d4c9efc190ac801a 374c36a3f7316e7a445f47220719283947a97e14.tar.gz
+2001b729aea5ca34b31e998920b77c935a15e796748fc4ee7943fd70ae8b1baa97885d56f7ab2cdb890cd4da4135112a3172c9a92ecfd1db047d0e6d5f738294 52a6037bd4b632bffffb04394fb4efd0cdab6b1e.tar.gz
+"
diff --git a/testing/babeld/APKBUILD b/testing/babeld/APKBUILD
deleted file mode 100644
index 0640b999d3c..00000000000
--- a/testing/babeld/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Steven Honson <steven@honson.id.au>
-# Maintainer: Steven Honson <steven@honson.id.au>
-pkgname=babeld
-pkgver=1.10
-pkgrel=0
-pkgdesc="A loop-avoiding distance-vector routing protocol"
-options="!check" # No test suite available
-url="https://www.irif.fr/~jch/software/babel/"
-arch="all"
-license="MIT"
-makedepends="linux-headers"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="
- https://www.irif.fr/~jch/software/files/babeld-$pkgver.tar.gz
- $pkgname.initd
- $pkgname.confd
- "
-
-build() {
- make
-}
-
-package() {
- make TARGET="$pkgdir" PREFIX="/usr" install
- install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
-}
-
-sha512sums="
-7b6e78e4695bfd9af314b05cbfad384c3d33ffa8c032860b16b64fe5e09d20616441c49bc67c03c9a48e8af4f9216b6ac2ee6c4a43d2be9553194e8b64e06553 babeld-1.10.tar.gz
-882a83529d0a25626354598837ab9ab9d1e9c9ba57ffdf9623e6fa9fa7384725a0ad703884c8a366807de8f6e0cead8bcfd26edcc4a2eb15d536e8d1a342ee04 babeld.initd
-d585e2a140217cf5265b630cb1ec117cbb802d560c23309b281041713496268d86c7768c9d35a66af52977fc27ef1d3f5ac99f9c9a361fff3b25d4d150d0a959 babeld.confd
-"
diff --git a/testing/babeld/babeld.confd b/testing/babeld/babeld.confd
deleted file mode 100644
index f54700ff14c..00000000000
--- a/testing/babeld/babeld.confd
+++ /dev/null
@@ -1,5 +0,0 @@
-# See babeld(8) for usage information.
-# At least one interface must be specified for babeld to start.
-# /etc/babeld.conf may be used as an alternative to command line options.
-
-ARGS=""
diff --git a/testing/babeld/babeld.initd b/testing/babeld/babeld.initd
deleted file mode 100644
index f502040b0aa..00000000000
--- a/testing/babeld/babeld.initd
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/sbin/openrc-run
-
-command="/usr/bin/babeld"
-command_args="-I '' $ARGS"
-supervisor="supervise-daemon"
-
-depend() {
- need net
- after firewall
-}
-
-start_pre() {
- if [ -z "$ARGS" ] && [ ! -s "/etc/babeld.conf" ]; then
- echo "ERROR: No configuration found in /etc/conf.d/babeld or /etc/babeld.conf"
- return 1
- fi
-}
diff --git a/testing/backup-manager/APKBUILD b/testing/backup-manager/APKBUILD
index 129d26df285..03fc0aabc7a 100644
--- a/testing/backup-manager/APKBUILD
+++ b/testing/backup-manager/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
pkgname="backup-manager"
pkgver="0.7.15"
-pkgrel=0
+pkgrel=1
pkgdesc="Backup Manager is a command line backup tool for GNU/Linux"
url="https://github.com/sukria/Backup-Manager"
arch="noarch"
diff --git a/testing/baikal/APKBUILD b/testing/baikal/APKBUILD
new file mode 100644
index 00000000000..54205d178dd
--- /dev/null
+++ b/testing/baikal/APKBUILD
@@ -0,0 +1,69 @@
+# Maintainer: leso-kn <info@lesosoftware.com>
+pkgname=baikal
+pkgver=0.9.5
+pkgrel=0
+pkgdesc="Baïkal is a Calendar+Contacts server"
+url="https://sabre.io/baikal"
+arch="noarch"
+license="GPL-3.0-only"
+makedepends="
+ composer
+ rsync
+ "
+_phpv=82
+_php=php$_phpv
+_composer="$_php -d memory_limit=512M /usr/bin/composer.phar"
+_phpstan="$_php -d memory_limit=512M vendor/phpstan/phpstan/phpstan.phar"
+depends="
+ $_php-dom
+ $_php-openssl
+ $_php-pdo
+ $_php-session
+ $_php-simplexml
+ $_php-tokenizer
+ $_php-xmlreader
+ $_php-xmlwriter
+ "
+subpackages="
+ ${pkgname}_sqlite:_sqlite
+ "
+install="${pkgname}_sqlite.post-install"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sabre-io/baikal/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir"/Baikal-$pkgver
+_grp_www="www-data"
+
+build() {
+ mkdir -p build/baikal/Specific/db build/baikal/config
+ rsync -av \
+ Core html LICENSE README.md composer.json \
+ --exclude="*.swp" \
+ build/baikal
+ $_composer install --no-interaction --no-dev -d build/baikal
+}
+
+check() {
+ $_composer remove --dev friendsofphp/php-cs-fixer
+ $_phpstan analyse Core html
+}
+
+package() {
+ mkdir -p "$pkgdir"/var/www
+
+ cp -r build/baikal "$pkgdir"/var/www/
+
+ ln -s html "$pkgdir"/var/www/baikal/htm
+
+ chgrp $_grp_www "$pkgdir"/var/www/baikal/config
+ chgrp $_grp_www "$pkgdir"/var/www/baikal/Specific/db
+}
+
+_sqlite() {
+ depends="$pkgname $_php-pdo_sqlite"
+ pkgdesc="$pkgdesc (sqlite3 backend)"
+
+ mkdir -p "$subpkgdir"
+}
+
+sha512sums="
+2e50e51c5c70233d2a508b7bf87a1bcb629c01afc204628c13107cf4929e30fd8594ec85262bf5f7c41a10e5a26253a51ba89320e1bdbfbf99c16e0f4f6d9425 baikal-0.9.5.tar.gz
+"
diff --git a/testing/baikal/baikal_sqlite.post-install b/testing/baikal/baikal_sqlite.post-install
new file mode 100644
index 00000000000..1e6d3e17119
--- /dev/null
+++ b/testing/baikal/baikal_sqlite.post-install
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+db_file=/var/www/baikal/Specific/db/db.sqlite
+
+if ! [ -f "$db_file" ]; then
+ touch "$db_file"
+ chgrp www-data "$db_file"
+fi
+
+exit 0
diff --git a/testing/bake/01-no-backtrace-on-musl.patch b/testing/bake/01-no-backtrace-on-musl.patch
new file mode 100644
index 00000000000..f6b8a252414
--- /dev/null
+++ b/testing/bake/01-no-backtrace-on-musl.patch
@@ -0,0 +1,11 @@
+--- a/util/include/bake_util.h
++++ b/util/include/bake_util.h
+@@ -37,7 +37,7 @@
+ #define UT_EXPORT
+ #endif
+
+-#ifndef __ANDROID__
++#if !defined(__ANDROID__) && defined(__GLIBC__)
+ #define ENABLE_BACKTRACE
+ #endif
+
diff --git a/testing/bake/APKBUILD b/testing/bake/APKBUILD
new file mode 100644
index 00000000000..03d8fd76cca
--- /dev/null
+++ b/testing/bake/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Rob Blanckaert <basicer@gmail.com>
+# Maintainer: Rob Blanckaert <basicer@gmail.com>
+pkgname=bake
+pkgver=2.5.1
+pkgrel=0
+pkgdesc="A build system that lets you clone, build and run C/C++ projects with a single command"
+url="https://github.com/SanderMertens/bake"
+# other architectures unsupported
+arch="x86 x86_64 armv7 armhf aarch64"
+license="GPL-3.0-or-later"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/SanderMertens/bake/archive/refs/tags/$pkgver.tar.gz
+ 01-no-backtrace-on-musl.patch
+ "
+# no tests
+options="!check"
+
+build() {
+ make -C build-Linux
+}
+
+package() {
+ install -Dm755 bake "$pkgdir"/usr/bin/bake
+}
+
+sha512sums="
+22942f157cf3e54fb6418a93bcfc940a538894ca56551b93bcb0c0bb5e907614a6b67f06e79046aa55e8649a4ef59012a8bc4912898e772d4a75b05af06d31cc bake-2.5.1.tar.gz
+e42652d91c047baf398c53ac6a6761381482a23bdf5dabb85c552dd816517084cd7d03acf7dc72347625e164ccbad043416cd3e22e6af8f707f36648d994949a 01-no-backtrace-on-musl.patch
+"
diff --git a/testing/bakelite/APKBUILD b/testing/bakelite/APKBUILD
new file mode 100644
index 00000000000..052058e1b06
--- /dev/null
+++ b/testing/bakelite/APKBUILD
@@ -0,0 +1,23 @@
+# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
+# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
+pkgname=bakelite
+pkgver=0.4.2
+pkgrel=0
+pkgdesc="still experimental incremental backup with strong cryptographic confidentiality baked into the data model"
+url="https://github.com/richfelker/bakelite"
+arch="all !riscv64" # textrels
+license="GPL-2.0-only"
+options="!check" # no test suite
+source="$pkgname-$pkgver.tar.gz::https://github.com/richfelker/bakelite/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+package() {
+ install -Dm0755 bakelite "$pkgdir"/usr/bin/bakelite
+}
+
+sha512sums="
+b8a4e707f233e30680cd9b10d7f6ff3c9892592662763e59439eabdac7fdca859a1970e1abb213fdc7b1d638d9a90be7f0194ce98d35ad9798388356b2ac7ad4 bakelite-0.4.2.tar.gz
+"
diff --git a/testing/bananui-clock/APKBUILD b/testing/bananui-clock/APKBUILD
new file mode 100644
index 00000000000..a9f3ad98e01
--- /dev/null
+++ b/testing/bananui-clock/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Affe Null <affenull2345@gmail.com>
+pkgname=bananui-clock
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="Alarm clock app for bananui"
+url="https://git.abscue.de/obp/bananui/clock"
+arch="all"
+license="GPL-3.0-or-later"
+depends="
+ alarmwakeup
+ "
+makedepends="
+ alarmwakeup-dev
+ bananui-dev
+ libnotify-dev
+ meson
+ "
+source="
+ bananui-clock-v$pkgver.tar.gz::https://git.abscue.de/obp/bananui/clock/-/archive/v$pkgver/clock-v$pkgver.tar.gz
+ "
+options="!check" # no tests available
+builddir="$srcdir/clock-v$pkgver"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir/" meson install --no-rebuild -C output
+}
+sha512sums="
+0539cf56510f5f2226e4a9e3a8b05e9f0c6c1ba528b1d337877a5206a953ee98ef5cb95a5560a9cfea0e0188fb825004c4f8e168b26619ee388d85c38145bcfa bananui-clock-v0.1.0.tar.gz
+"
diff --git a/testing/bananui-daemons/APKBUILD b/testing/bananui-daemons/APKBUILD
new file mode 100644
index 00000000000..01f9d17de9c
--- /dev/null
+++ b/testing/bananui-daemons/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Affe Null <affenull2345@gmail.com>
+pkgname=bananui-daemons
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="Keypad controlled UI for feature phones (daemons)"
+url="https://git.abscue.de/obp/bananui/settings-daemons"
+arch="all"
+license="GPL-3.0-or-later"
+depends="
+ brightnessctl-udev
+ "
+makedepends="
+ glib-dev
+ meson
+ "
+source="
+ bananui-daemons-v$pkgver.tar.gz::https://git.abscue.de/obp/bananui/settings-daemons/-/archive/v$pkgver/settings-daemons-v$pkgver.tar.gz
+ "
+options="!check" # no tests available
+builddir="$srcdir/settings-daemons-v$pkgver"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir/" meson install --no-rebuild -C output
+}
+
+sha512sums="
+90cbe5c7af36d1e69fd9030fcea4c51d55c152532e88a3697fc1deacaa6b5f723505f65aa18b891db753ef9b51901349a36db6597195d8930f71823158eae450 bananui-daemons-v0.1.0.tar.gz
+"
diff --git a/testing/bananui-shell/APKBUILD b/testing/bananui-shell/APKBUILD
new file mode 100644
index 00000000000..0b1776cd538
--- /dev/null
+++ b/testing/bananui-shell/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Affe Null <affenull2345@gmail.com>
+pkgname=bananui-shell
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Keypad controlled UI for feature phones (shell)"
+url="https://git.abscue.de/obp/bananui/shell"
+arch="all !s390x" # blocked by phoc
+license="LGPL-3.0-or-later"
+makedepends="
+ bananui-dev
+ callaudiod-dev
+ eudev-dev
+ feedbackd-dev
+ gnome-desktop-dev
+ gnome-menus-dev
+ meson
+ wayland-protocols
+ "
+depends="
+ bananui-daemons
+ bash
+ phoc
+ superd
+ xwayland
+ "
+source="
+ bananui-shell-v$pkgver.tar.gz::https://git.abscue.de/obp/bananui/shell/-/archive/v$pkgver/shell-v$pkgver.tar.gz
+ "
+options="!check" # no tests available
+builddir="$srcdir/shell-v$pkgver"
+
+build() {
+ abuild-meson . output -Dsuperd=true
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir/" meson install --no-rebuild -C output
+}
+
+sha512sums="
+99ab6e9057bc69f075f20173edac6288b6598477d0c66a088526cd12b48118715bb211cc15482969b9d5ef1122708c6a249a14fb9afbfb872ee6663e13f1d80c bananui-shell-v0.2.0.tar.gz
+"
diff --git a/testing/bananui/APKBUILD b/testing/bananui/APKBUILD
new file mode 100644
index 00000000000..8296284dcfd
--- /dev/null
+++ b/testing/bananui/APKBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Affe Null <affenull2345@gmail.com>
+pkgname=bananui
+pkgver=2.0.0
+pkgrel=0
+pkgdesc="Keypad controlled UI for feature phones"
+url="https://git.abscue.de/obp/bananui/bananui"
+arch="all"
+license="LGPL-3.0-or-later"
+makedepends="
+ librsvg-dev
+ libxkbcommon-dev
+ meson
+ pango-dev
+ wayland-dev
+ wayland-protocols
+ "
+depends="
+ adwaita-icon-theme
+ font-opensans
+ hicolor-icon-theme
+ "
+_igel_commit="4fcf8c8e4522209485454d343f14cacf6ea922a7"
+source="
+ https://git.abscue.de/obp/bananui/bananui/-/archive/v$pkgver/bananui-v$pkgver.tar.gz
+ https://git.abscue.de/stachel-os/igel-interpreter/-/archive/$_igel_commit/igel-interpreter-$_igel_commit.tar.gz
+ "
+subpackages="
+ $pkgname-dbg
+ $pkgname-demos
+ $pkgname-dev
+ "
+options="!check" # no tests available
+builddir="$srcdir/$pkgname-v$pkgver"
+
+prepare() {
+ default_prepare
+
+ rm -rf "$builddir/subprojects/igel-interpreter"
+ mv "$srcdir/igel-interpreter-$_igel_commit" "$builddir/subprojects/igel-interpreter"
+}
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir/" meson install --no-rebuild -C output
+}
+
+demos() {
+ depends="font-noto-emoji"
+ pkgdesc="$pkgdesc (demo applications)"
+ amove usr/bin/bananui-uitest usr/bin/bananui-menutest
+}
+
+sha512sums="
+05517d4f8ec5514df035edd8743ee78cad17ea4734c380fb88bdbcffd72e5968aae2a21635c828e6f13852faa421e1d2862aa1f0c5d053a4d8648708de81b6bb bananui-v2.0.0.tar.gz
+2450e908a93526f00fbb51e3de453adaf85fb12273ce025be6455061c1639046320cfb978e559209c57e18a81a076e1272a8a058eaf73ecf2b516e400fa94e29 igel-interpreter-4fcf8c8e4522209485454d343f14cacf6ea922a7.tar.gz
+"
diff --git a/testing/bankstown-lv2/APKBUILD b/testing/bankstown-lv2/APKBUILD
new file mode 100644
index 00000000000..9b16b5655ef
--- /dev/null
+++ b/testing/bankstown-lv2/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=bankstown-lv2
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="A barebones, fast LV2 bass enhancement plugin"
+url="https://crates.io/crates/bankstown-lv2"
+arch="aarch64" # for now needed only aarch64/apple silicon
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/chadmed/bankstown/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/"bankstown-$pkgver
+
+build() {
+ cargo auditable build --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ make DESTDIR=$pkgdir LIBDIR=/usr/lib install
+}
+
+sha512sums="
+74dbb96440f0260e08b3f96b28c310326d63bdb4360d4f43f2e1f9c89ff9c0fd4f3c81c78837e64df77e16034e28a23be217b647f3008cf5293c959a26f895d2 bankstown-lv2-1.1.0.tar.gz
+"
diff --git a/testing/barcode/APKBUILD b/testing/barcode/APKBUILD
index 650d86860bf..03ece95eea5 100644
--- a/testing/barcode/APKBUILD
+++ b/testing/barcode/APKBUILD
@@ -2,12 +2,14 @@
# Maintainer: mio <miyopan@e.email>
pkgname=barcode
pkgver=0.99
-pkgrel=0
+pkgrel=1
pkgdesc="Convert text strings to printed bars in various standards"
url="https://www.gnu.org/software/barcode/"
license="GPL-3.0-or-later"
arch="all !ppc64le" # Build error on ppc64le
-source="https://ftp.gnu.org/gnu/barcode/barcode-$pkgver.tar.gz"
+source="https://ftp.gnu.org/gnu/barcode/barcode-$pkgver.tar.gz
+ common.patch
+ "
options="!check" # No tests
prepare() {
@@ -18,13 +20,20 @@ prepare() {
}
build() {
- ./configure CFLAGS="$CFLAGS -fcommon" --prefix=/usr
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
make
}
package() {
- make install prefix="$pkgdir"/usr
+ make install DESTDIR="$pkgdir"
+
+ rm -r "$pkgdir"/usr/share/info
}
+
sha512sums="
f500dbe7eaa657ed6879316835557533e0972c8740a8bb61bea46efdd4120827a3c412ca24fec6e1833395191521425dae272f10d8553a252896b363290118b1 barcode-0.99.tar.gz
+a8d7d5721d28f7ae882b192db5ca69cd1b4e0a737f514e9ef096643800739fe99b015932a9b38b90194a175a5e541258f3e9252711ef23e978b909860fa050aa common.patch
"
diff --git a/testing/barcode/common.patch b/testing/barcode/common.patch
new file mode 100644
index 00000000000..50c807b6234
--- /dev/null
+++ b/testing/barcode/common.patch
@@ -0,0 +1,25 @@
+diff --git a/barcode.h b/barcode.h
+index ed90e0c..ff7b8b4 100644
+--- a/barcode.h
++++ b/barcode.h
+@@ -123,6 +123,6 @@ extern int Barcode_Version(char *versionname);
+ }
+ #endif
+
+-int streaming;
++extern int streaming;
+
+ #endif /* _BARCODE_H_ */
+diff --git a/library.c b/library.c
+index 30946ff..5390a2b 100644
+--- a/library.c
++++ b/library.c
+@@ -30,6 +30,8 @@
+ #endif
+ #include <errno.h>
+
++int streaming;
++
+ /*
+ * This function allocates a barcode structure and strdup()s the
+ * text string. It returns NULL in case of error
diff --git a/testing/barman/APKBUILD b/testing/barman/APKBUILD
index cf789681489..773ddcd5f9d 100644
--- a/testing/barman/APKBUILD
+++ b/testing/barman/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=barman
-pkgver=2.17
+pkgver=3.10.0
pkgrel=1
pkgdesc="Backup and recovery manager for PostgreSQL"
-url="http://www.pgbarman.org"
-arch="noarch !mips64" # blocked by py3-boto3
+url="https://pgbarman.org"
+arch="noarch"
license="GPL-3.0-or-later"
depends="python3 rsync postgresql-client py3-argcomplete py3-dateutil py3-psycopg2 py3-boto3"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc $pkgname-bash-completion"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-pyc"
pkgusers="barman"
pkggroups="barman"
install="$pkgname.pre-install"
@@ -18,11 +18,13 @@ checkdepends="py3-pytest-timeout py3-mock py3-pytest-runner py3-pip py3-mock"
source="$pkgname-$pkgver.tar.gz::https://github.com/EnterpriseDB/barman/releases/download/release/$pkgver/barman-$pkgver.tar.gz"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
install -Dm0644 ./scripts/barman.bash_completion \
"$pkgdir"/usr/share/bash-completion/completions/$pkgname
@@ -33,5 +35,5 @@ package() {
}
sha512sums="
-87d91dc75102cf1f61d7db166420fbc3db44d32f16f6f662b1b8118f91dc30ced30d090db927a91bfa9f39a6de36c8716123fc5e39e6d278d99f5f62e269d224 barman-2.17.tar.gz
+84bdd314ee336b1e0863f42be071927da6d333e9a31655a69444c9922310d78f03d1a2a64a36565dc4f3469a33b0d2286ece796aa22b760e97e0610ce51aed25 barman-3.10.0.tar.gz
"
diff --git a/testing/barnyard2/APKBUILD b/testing/barnyard2/APKBUILD
index 62ce1ec38ee..b839e67530d 100644
--- a/testing/barnyard2/APKBUILD
+++ b/testing/barnyard2/APKBUILD
@@ -3,10 +3,11 @@
pkgname=barnyard2
pkgver=2.1.14_git20160413
_gitrev=f9186f2478bfb096c5a43bdb0c91985c3ef3e20d
-pkgrel=0
+pkgrel=1
pkgdesc="Parser for Snort unified/unified2 files"
url="https://github.com/firnsy/barnyard2"
-arch="all"
+# riscv64, ppc64le: blocked by snort -> luajit
+arch="all !ppc64le !riscv64"
license="GPL-2.0-only"
depends="snort"
install="$pkgname.pre-install"
diff --git a/testing/barrier/0001-cstddef.patch b/testing/barrier/0001-cstddef.patch
new file mode 100644
index 00000000000..8cd4c340aa5
--- /dev/null
+++ b/testing/barrier/0001-cstddef.patch
@@ -0,0 +1,24 @@
+diff --git a/src/lib/base/Event.h b/src/lib/base/Event.h
+index 38a2cf11..7f4461c9 100644
+--- a/src/lib/base/Event.h
++++ b/src/lib/base/Event.h
+@@ -18,6 +18,7 @@
+
+ #pragma once
+
++#include <cstddef>
+ #include "common/basic_types.h"
+ #include "common/stdmap.h"
+
+diff --git a/src/lib/io/StreamBuffer.h b/src/lib/io/StreamBuffer.h
+index 364175f0..91246b3e 100644
+--- a/src/lib/io/StreamBuffer.h
++++ b/src/lib/io/StreamBuffer.h
+@@ -18,6 +18,7 @@
+
+ #pragma once
+
++#include <cstddef>
+ #include "base/EventTypes.h"
+ #include "common/stdlist.h"
+ #include "common/stdvector.h"
diff --git a/testing/barrier/1-disable-test-include.patch b/testing/barrier/1-disable-test-include.patch
deleted file mode 100644
index 70d61ef7a03..00000000000
--- a/testing/barrier/1-disable-test-include.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Author: Sean McAvoy
-Summary: disables requirement of tests as they are not used.
-----
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -19,7 +19,7 @@ include_directories (${CMAKE_CURRENT_BIN
-
- add_subdirectory(lib)
- add_subdirectory(cmd)
--add_subdirectory(test)
-+#add_subdirectory(test)
-
- if (BARRIER_BUILD_GUI)
- add_subdirectory(gui)
diff --git a/testing/barrier/APKBUILD b/testing/barrier/APKBUILD
index 92dc1dee512..154459878f9 100644
--- a/testing/barrier/APKBUILD
+++ b/testing/barrier/APKBUILD
@@ -1,30 +1,44 @@
# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
pkgname=barrier
-pkgver=2.3.4
-pkgrel=0
+pkgver=2.4.0
+pkgrel=1
pkgdesc="share keyboard and mouse between systems over network"
url="https://github.com/debauchee/barrier"
-arch="all !mips !mips64" # Fails to build
+arch="all"
license="GPL-2.0-only"
-options="!check"
depends="hicolor-icon-theme"
-makedepends="qt5-qtbase-dev cmake avahi-dev libxtst-dev curl-dev gtest-dev"
+makedepends="qt5-qtbase-dev cmake avahi-dev libxtst-dev curl-dev gtest-dev samurai"
subpackages="$pkgname-doc"
+_filesystemver=614bbe87b80435d87ab8791564370e0c1d13627d
source="$pkgname-$pkgver.tar.gz::https://github.com/debauchee/barrier/archive/v$pkgver.tar.gz
- 1-disable-test-include.patch
- fix-riscv64-build.patch
+ https://github.com/gulrak/filesystem/archive/$_filesystemver/filesystem-$_filesystemver.tar.gz
+
+ 0001-cstddef.patch
"
+prepare() {
+ rmdir ext/gulrak-filesystem
+ mv "$srcdir"/filesystem-$_filesystemver ext/gulrak-filesystem
+
+ default_prepare
+}
+
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBARRIER_REVISION:STRING=00000000 \
- -DBARRIER_VERSION_STAGE=RELEASE
+ -DBARRIER_VERSION_STAGE=RELEASE \
+ -DBARRIER_USE_EXTERNAL_GTEST=true
cmake --build build
}
+check() {
+ PATH="$PATH:$PWD/build/bin" \
+ ctest --output-on-failure --test-dir build
+}
+
package() {
DESTDIR="$pkgdir" cmake --build build --target install
@@ -39,7 +53,7 @@ package() {
}
sha512sums="
-cbf7a52f536d0ac8c6193933217ef0bc551054e6fcf74a2d42c6215c8c1138d11d41ecb839b271481526bf87b2620d5899c6c1bfdf2e0f00a95bb62211b9a197 barrier-2.3.4.tar.gz
-a9a37a64677c0708d22c8ed08b71c47b613c404ea4a65eed40833bedc356162516c166e0eb53895ebe6f1bff14c42df1b40cb7dd7b3d2a2e258990d440f4d7e4 1-disable-test-include.patch
-5ba7fa70bc5a60faff7f4678d4ef9d958b8c4f987a3533523975b26ec8fd213c38d86380fc38ec44a0195ac2cf29cd23689ff84e2f5c743175679fac8387fa89 fix-riscv64-build.patch
+dff8d95c358688952baee0bbbf56b818e40a6c0483d58f6cadd55558ab5d0cefc92a37b0751bfd70868686e1716c729871ae00a30ee9b0ba944f531dfb742449 barrier-2.4.0.tar.gz
+6190a994ce7296a7e0c29d1e079de9dbf5a16667f6339b52b4b2c537ba569f53fc12ee1c361ec1f38474c263a0b7aa995a95d41da9bf6cedc78c6231ce586b70 filesystem-614bbe87b80435d87ab8791564370e0c1d13627d.tar.gz
+113ec97e6b2076f46b9b03eabb84a63ad60f3c612a5bc1e8c1d80d8db54817805ffa9e3436dba87471963d329a27419ef94e192cd7f4809882587044a6704a8d 0001-cstddef.patch
"
diff --git a/testing/barrier/fix-riscv64-build.patch b/testing/barrier/fix-riscv64-build.patch
deleted file mode 100644
index 5c9914ac953..00000000000
--- a/testing/barrier/fix-riscv64-build.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-This is an upstream patch which fixes the build on riscv64.
-
-From bd0c671fcc9732c9d1ccf5216f34f4629640b9fb Mon Sep 17 00:00:00 2001
-From: Balint Reczey <balint.reczey@canonical.com>
-Date: Thu, 22 Oct 2020 22:00:18 +0200
-Subject: [PATCH] lib/ipc: Introduce writef_void(void*, ...)
-
-to fix ambiguity with writef(barrier::IStream*, ...)
----
- src/lib/barrier/ProtocolUtil.cpp | 4 ++--
- src/lib/barrier/ProtocolUtil.h | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/src/lib/barrier/ProtocolUtil.cpp b/src/lib/barrier/ProtocolUtil.cpp
-index e742687f1..21ba38fcd 100644
---- a/src/lib/barrier/ProtocolUtil.cpp
-+++ b/src/lib/barrier/ProtocolUtil.cpp
-@@ -80,7 +80,7 @@ ProtocolUtil::vwritef(barrier::IStream* stream,
-
- // fill buffer
- UInt8* buffer = new UInt8[size];
-- writef(buffer, fmt, args);
-+ writef_void(buffer, fmt, args);
-
- try {
- // write buffer
-@@ -339,7 +339,7 @@ ProtocolUtil::getLength(const char* fmt, va_list args)
- }
-
- void
--ProtocolUtil::writef(void* buffer, const char* fmt, va_list args)
-+ProtocolUtil::writef_void(void* buffer, const char* fmt, va_list args)
- {
- UInt8* dst = static_cast<UInt8*>(buffer);
-
-diff --git a/src/lib/barrier/ProtocolUtil.h b/src/lib/barrier/ProtocolUtil.h
-index 9930cfc0b..e01a6e608 100644
---- a/src/lib/barrier/ProtocolUtil.h
-+++ b/src/lib/barrier/ProtocolUtil.h
-@@ -79,7 +79,7 @@ class ProtocolUtil {
- const char* fmt, va_list);
-
- static UInt32 getLength(const char* fmt, va_list);
-- static void writef(void*, const char* fmt, va_list);
-+ static void writef_void(void*, const char* fmt, va_list);
- static UInt32 eatLength(const char** fmt);
- static void read(barrier::IStream*, void*, UInt32);
- };
diff --git a/testing/bartib/APKBUILD b/testing/bartib/APKBUILD
new file mode 100644
index 00000000000..5b64805a5df
--- /dev/null
+++ b/testing/bartib/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: guddaff <guddaff@protonmail.com>
+# Maintainer: guddaff <guddaff@protonmail.com>
+pkgname=bartib
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="simple timetracker for the command line"
+url="https://github.com/nikolassv/bartib"
+arch="all !s390x !riscv64" # limeted by rust/cargo
+license="GPL-3.0-or-later"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/nikolassv/bartib/archive/refs/tags/v$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ cargo auditable install --frozen --offline --path . --root="$pkgdir/usr"
+ rm "$pkgdir"/usr/.crates*
+}
+
+sha512sums="
+ba66195bf6bc382cf366de95aadb3b6c49c5d27bf772cd2cdbe082740df181c6efdd12d04a05cde6afe5c3b732226ba806981d27d275924e1b2c2545fd67cd3b bartib-1.0.1.tar.gz
+"
diff --git a/testing/base64c/APKBUILD b/testing/base64c/APKBUILD
new file mode 100644
index 00000000000..2ef81736c39
--- /dev/null
+++ b/testing/base64c/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=base64c
+pkgver=0.2.1
+pkgrel=0
+pkgdesc="Base64 encoding/decoding library for C"
+url="https://gitlab.nic.cz/turris/base64c"
+arch="all"
+license="MIT"
+makedepends="
+ autoconf
+ automake
+ libtool
+ "
+checkdepends="check-dev"
+subpackages="$pkgname-dev"
+source="https://gitlab.nic.cz/turris/base64c/-/archive/v$pkgver/base64c-v$pkgver.tar.bz2
+ no-valgrind.patch
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+
+prepare() {
+ default_prepare
+ ./bootstrap
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ $(want_check && echo '--enable-tests' || :)
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make install DESTDIR="$pkgdir"
+}
+
+sha512sums="
+6183b8314ce7066b3fabfc155606da76d9690ff9ada924e64c86e607d050c453a0fd9a245ee8de732e7daccb5bd532c03e0b191f4f4cf1d49f97973461757754 base64c-v0.2.1.tar.bz2
+1c3d5617839107bf45e9fda590acce3fb9ab97f70b55ac49fd47d595e53fdbdd81ae65407f98efe21b9b34e1d711b706a2d25c6b69b121058207006622cceb9d no-valgrind.patch
+"
diff --git a/testing/base64c/no-valgrind.patch b/testing/base64c/no-valgrind.patch
new file mode 100644
index 00000000000..b5b1731579c
--- /dev/null
+++ b/testing/base64c/no-valgrind.patch
@@ -0,0 +1,26 @@
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -16,23 +16,6 @@
+ env AM_TAP_AWK='$(AWK)' TEST_OUTPUT_TAP="/dev/stdout" \
+ '$(SHELL)' '$(srcdir)/.aux/tap-driver.sh'
+
+-## Valgrind
+-VALGRIND_memcheck_FLAGS = \
+- --leak-check=full \
+- --show-leak-kinds=definite,indirect,possible \
+- --track-fds=yes \
+- --track-origins=yes \
+- --trace-children=yes \
+- --child-silent-after-fork=no
+-@VALGRIND_CHECK_RULES@
+-
+-# Rules generated for valgrind are for some reason called *-am. This is just an alias
+-check-valgrind: check-valgrind-am
+-define check_valgrind_rule
+-check-valgrind-$(1): check-valgrind-$(1)-am
+-endef
+-$(foreach tool,$(valgrind_tools),$(eval $(call check_valgrind_rule,$(tool))))
+-
+ ## Coverage
+ CODE_COVERAGE_LCOV_OPTIONS := --no-external
+ CODE_COVERAGE_GENHTML_OPTIONS := --prefix $(dir $(abs_top_builddir))
diff --git a/testing/bazel2/APKBUILD b/testing/bazel2/APKBUILD
deleted file mode 100644
index fedc80b10d1..00000000000
--- a/testing/bazel2/APKBUILD
+++ /dev/null
@@ -1,90 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=bazel2
-pkgver=2.2.0
-pkgrel=1
-pkgdesc="A fast, scalable, multi-language and extensible build system"
-url="https://bazel.build/"
-#arch="x86_64"
-license="Apache-2.0"
-depends="bash libarchive java-jdk zip unzip"
-makedepends="python3 linux-headers protobuf coreutils"
-options="!strip"
-replaces="bazel"
-provides="bazel=$pkgver-r$pkgrel"
-subpackages="
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-zsh-completion
- $pkgname-examples::noarch
- "
-source="https://github.com/bazelbuild/bazel/releases/download/$pkgver/bazel-$pkgver-dist.zip"
-
-build() {
- # based on
- # https://github.com/vbatts/copr-build-bazel/blob/master/bazel.spec
- export EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk"
- export JAVA_HOME="/usr/lib/jvm/default-jvm/jre"
-
- # horrible of horribles, just to have python in the PATH
- # https://github.com/bazelbuild/bazel/issues/8665
- mkdir -p ./bin-hack
- ln -s /usr/bin/python3 ./bin-hack/python
- export PATH=$(pwd)/bin-hack:$PATH
-
- bash ./compile.sh
-
- ./output/bazel shutdown
-
- ./scripts/generate_bash_completion.sh \
- --bazel=output/bazel \
- --output=output/bazel-complete.bash \
- --prepend=scripts/bazel-complete-header.bash \
- --prepend=scripts/bazel-complete-template.bash
-
- echo startup --server_javabase=$JAVA_HOME \
- >> scripts/packages/bazel.bazelrc
-}
-
-check() {
- ./output/bazel test \
- --verbose_failures \
- --spawn_strategy=standalone \
- --genrule_strategy=standalone \
- --verbose_test_summary \
- --test_verbose_timeout_warnings \
- examples/cpp:hello-success_test
-
- ./output/bazel shutdown
-}
-
-package() {
- install -Dm755 ./scripts/packages/bazel.sh "$pkgdir"/usr/bin/bazel
- install -Dm755 ./output/bazel "$pkgdir"/usr/bin/bazel-real
- install -Dm755 ./scripts/packages/bazel.bazelrc \
- "$pkgdir"/etc/bazel.bazelrc
-
- mkdir -p "$pkgdir"/usr/share/bash-completion/completions
- mv "$builddir"/output/bazel-complete.bash \
- "$pkgdir"/usr/share/bash-completion/completions/bazel
-
- mkdir -p "$pkgdir"/usr/share/zsh/site-functions
- mv "$builddir"/scripts/zsh_completion/_bazel \
- "$pkgdir"/usr/share/zsh/site-functions/_bazel
-
- install -m644 -D -t "$pkgdir"/usr/share/doc/$pkgname README.md
-}
-
-examples() {
- mkdir -p "$subpkgdir"/usr/share/doc/"$pkgname"
- for d in examples third_party tools; do
- mv "$builddir/$d" "$subpkgdir/usr/share/doc/$pkgname"
- done
-}
-
-unpack() {
- mkdir -p "$builddir"
- unzip "$srcdir"/bazel-$pkgver-dist.zip -d "$builddir" > /dev/null
-}
-
-sha512sums="67011c3a045c0fd74cdcb98eef1c3ead6902a3bd65a629fe49911f9dbb4c39508bd91eb63c1fae68284136ad4994afb42a01c7f10983614e432f8be22a1c566e bazel-2.2.0-dist.zip"
diff --git a/testing/bazel3/APKBUILD b/testing/bazel3/APKBUILD
deleted file mode 100644
index 1b55b792c3f..00000000000
--- a/testing/bazel3/APKBUILD
+++ /dev/null
@@ -1,99 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=bazel3
-pkgver=3.7.2
-pkgrel=1
-pkgdesc="A fast, scalable, multi-language and extensible build system"
-url="https://bazel.build/"
-arch=""
-arch="$arch !x86 !s390x" # fatal error: jni_md.h: No such file or directory
-arch="$arch !armhf !armv7" # java virtual machine runs out of resources
-arch="$arch !ppc64le" # build timeouts in CI
-arch="$arch !mips !mips64 !riscv64" # no jvm
-license="Apache-2.0"
-depends="bash libarchive java-jdk zip unzip"
-makedepends="python3 linux-headers protobuf coreutils"
-options="!strip"
-subpackages="
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-zsh-completion
- "
-source="https://github.com/bazelbuild/bazel/releases/download/$pkgver/bazel-$pkgver-dist.zip
- patch_TEMP_FAILURE_RETRY.patch
- backport-java11-support.patch"
-
-build() {
- # based on
- # https://github.com/vbatts/copr-build-bazel/blob/master/bazel.spec
- export EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk --sandbox_debug --verbose_failures"
- export JAVA_HOME="/usr/lib/jvm/default-jvm"
-
- case "$CARCH" in
- aarch64)
- export EXTRA_BAZEL_ARGS="$EXTRA_BAZEL_ARGS --nokeep_state_after_build --notrack_incremental_state --nokeep_state_after_build" ;;
- arm*)
- # increase heap size to addess arm* build failures
- export BAZEL_JAVAC_OPTS="-J-Xmx2g -J-Xms512m" ;;
- s390x)
- # increase heap size to addess s390x build failures
- export BAZEL_JAVAC_OPTS="-J-Xmx4g -J-Xms512m" ;;
- esac
-
- # horrible of horribles, just to have python in the PATH
- # https://github.com/bazelbuild/bazel/issues/8665
- mkdir -p ./bin-hack
- ln -s /usr/bin/python3 ./bin-hack/python
- export PATH=$(pwd)/bin-hack:$PATH
-
- bash ./compile.sh
-
- ./output/bazel shutdown
-
- ./scripts/generate_bash_completion.sh \
- --bazel=output/bazel \
- --output=output/bazel-complete.bash \
- --prepend=scripts/bazel-complete-header.bash \
- --prepend=scripts/bazel-complete-template.bash
-
- echo startup --server_javabase=$JAVA_HOME \
- >> scripts/packages/bazel.bazelrc
-}
-
-check() {
- ./output/bazel test \
- --verbose_failures \
- --spawn_strategy=standalone \
- --genrule_strategy=standalone \
- --verbose_test_summary \
- --test_verbose_timeout_warnings \
- examples/cpp:hello-success_test
-
- ./output/bazel shutdown
-}
-
-package() {
- install -Dm755 ./scripts/packages/bazel.sh "$pkgdir"/usr/bin/bazel
- install -Dm755 ./output/bazel "$pkgdir"/usr/bin/bazel-real
- install -Dm755 ./scripts/packages/bazel.bazelrc \
- "$pkgdir"/etc/bazel.bazelrc
-
- install -m644 -D -t "$pkgdir"/usr/share/doc/$pkgname README.md
-
- mkdir -p "$pkgdir"/usr/share/bash-completion/completions
- mv "$builddir"/output/bazel-complete.bash \
- "$pkgdir"/usr/share/bash-completion/completions/bazel
-
- mkdir -p "$pkgdir"/usr/share/zsh/site-functions
- mv "$builddir"/scripts/zsh_completion/_bazel \
- "$pkgdir"/usr/share/zsh/site-functions/_bazel
-}
-
-unpack() {
- mkdir -p "$builddir"
- unzip "$srcdir"/bazel-$pkgver-dist.zip -d "$builddir" > /dev/null
-}
-
-sha512sums="e8746ef5ec22feb95e9dbbddb3fb56cf8f49c80f326fc2a4e0ce2619607826fac22f46bfb995daee55bf9ffabb9d646b8454be2bce7b479da5cf2a7e5b3be62b bazel-3.7.2-dist.zip
-b9e54443431fd0523831a777ab193515151402e61fd74bb2bbf5362136c5bf0fdc3072609a6b52d43b3ff3778759250d81c888c4e158d3d54f78f5a7ff6337c7 patch_TEMP_FAILURE_RETRY.patch
-42847bd3cb19c39d7ca1e9220b0efac66893e5c94c802e438093ea96d5b4977b913fcb6f54fb038c175254c9906cad4b16f76cff02485d15f8f2e54f0864c7ee backport-java11-support.patch"
diff --git a/testing/bazel3/backport-java11-support.patch b/testing/bazel3/backport-java11-support.patch
deleted file mode 100644
index 008474a3b46..00000000000
--- a/testing/bazel3/backport-java11-support.patch
+++ /dev/null
@@ -1,600 +0,0 @@
-From 0d2d95cd7e34b4061c8e5fdfd21ba0ab8818c685 Mon Sep 17 00:00:00 2001
-From: Ivo List <ilist@google.com>
-Date: Mon, 7 Dec 2020 14:26:51 +0100
-Subject: [PATCH] Update to java_tools javac11 release 10.5 (#12647)
-Upstream: yes (https://github.com/bazelbuild/bazel/commit/0d2d95cd7e34b4061c8e5fdfd21ba0ab8818c685)
-
-* Java_tools javac11 v10.5 rc1.
-
-* Regression tests for https://github.com/bazelbuild/bazel/issues/12605
-
-* Java_tools javac11 v10.5 release.
----
- WORKSPACE | 72 ++++++-------
- .../build/lib/bazel/rules/java/jdk.WORKSPACE | 18 ++--
- src/test/shell/bazel/bazel_java14_test.sh | 100 +++++++++++++++++
- src/test/shell/bazel/bazel_java15_test.sh | 102 ++++++++++++++++++
- src/test/shell/bazel/bazel_java_test.sh | 101 +++++++++++++++++
- .../shell/bazel/testdata/jdk_http_archives | 12 +--
- 6 files changed, 354 insertions(+), 51 deletions(-)
-
-diff --git a/WORKSPACE b/WORKSPACE
-index 070b97616d2c..0878e18507ae 100644
---- a/WORKSPACE
-+++ b/WORKSPACE
-@@ -146,9 +146,9 @@ distdir_tar(
- # Keep in sync with the archives fetched as part of building bazel.
- archives = [
- "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
-- "java_tools_javac11_linux-v10.4.zip",
-- "java_tools_javac11_windows-v10.4.zip",
-- "java_tools_javac11_darwin-v10.4.zip",
-+ "java_tools_javac11_linux-v10.5.zip",
-+ "java_tools_javac11_windows-v10.5.zip",
-+ "java_tools_javac11_darwin-v10.5.zip",
- "coverage_output_generator-v2.5.zip",
- # bazelbuid/stardoc
- "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz",
-@@ -187,9 +187,9 @@ distdir_tar(
- dirname = "derived/distdir",
- sha256 = {
- "e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip": "fe2e04f91ce8c59d49d91b8102edc6627c6fa2906c1b0e7346f01419ec4f419d",
-- "java_tools_javac11_linux-v10.4.zip": "7debb49457db2f10990f759b6984c6d4ccb4917a9a9fd402a6f224b5fb0e8e36",
-- "java_tools_javac11_windows-v10.4.zip": "3a7d802ccefffa6ecf6e190aaae081cf27fc0275e2a8dad7d3a943c63a4d0edc",
-- "java_tools_javac11_darwin-v10.4.zip": "587a7bc34c95a217a941b01a5a1f8ee48114fbe87e05872a41b7e019e5297a8a",
-+ "java_tools_javac11_linux-v10.5.zip": "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
-+ "java_tools_javac11_windows-v10.5.zip": "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
-+ "java_tools_javac11_darwin-v10.5.zip": "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
- "coverage_output_generator-v2.5.zip": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
- # bazelbuild/stardoc
- "1ef781ced3b1443dca3ed05dec1989eca1a4e1cd.tar.gz": "5a725b777976b77aa122b707d1b6f0f39b6020f66cd427bb111a585599c857b1",
-@@ -230,14 +230,14 @@ distdir_tar(
- "https://mirror.bazel.build/github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
- "https://github.com/google/desugar_jdk_libs/archive/e0b0291b2c51fbe5a7cfa14473a1ae850f94f021.zip",
- ],
-- "java_tools_javac11_linux-v10.4.zip": [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_linux-v10.4.zip",
-+ "java_tools_javac11_linux-v10.5.zip": [
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip",
- ],
-- "java_tools_javac11_windows-v10.4.zip": [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_windows-v10.4.zip",
-+ "java_tools_javac11_windows-v10.5.zip": [
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip",
- ],
-- "java_tools_javac11_darwin-v10.4.zip": [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_darwin-v10.4.zip",
-+ "java_tools_javac11_darwin-v10.5.zip": [
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip",
- ],
- "coverage_output_generator-v2.5.zip": [
- "https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip",
-@@ -545,9 +545,9 @@ http_archive(
- distdir_tar(
- name = "test_WORKSPACE_files",
- archives = [
-- "java_tools_javac11_linux-v10.4.zip",
-- "java_tools_javac11_windows-v10.4.zip",
-- "java_tools_javac11_darwin-v10.4.zip",
-+ "java_tools_javac11_linux-v10.5.zip",
-+ "java_tools_javac11_windows-v10.5.zip",
-+ "java_tools_javac11_darwin-v10.5.zip",
- "coverage_output_generator-v2.5.zip",
- "zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz",
- "zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz",
-@@ -579,9 +579,9 @@ distdir_tar(
- ],
- dirname = "test_WORKSPACE/distdir",
- sha256 = {
-- "java_tools_javac11_linux-v10.4.zip": "7debb49457db2f10990f759b6984c6d4ccb4917a9a9fd402a6f224b5fb0e8e36",
-- "java_tools_javac11_windows-v10.4.zip": "3a7d802ccefffa6ecf6e190aaae081cf27fc0275e2a8dad7d3a943c63a4d0edc",
-- "java_tools_javac11_darwin-v10.4.zip": "587a7bc34c95a217a941b01a5a1f8ee48114fbe87e05872a41b7e019e5297a8a",
-+ "java_tools_javac11_linux-v10.5.zip": "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
-+ "java_tools_javac11_windows-v10.5.zip": "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
-+ "java_tools_javac11_darwin-v10.5.zip": "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
- "coverage_output_generator-v2.5.zip": "cd14f1cb4559e4723e63b7e7b06d09fcc3bd7ba58d03f354cdff1439bd936a7d",
- "zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz": "360626cc19063bc411bfed2914301b908a8f77a7919aaea007a977fa8fb3cde1",
- "zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz": "a452f1b9682d9f83c1c14e54d1446e1c51b5173a3a05dcb013d380f9508562e4",
-@@ -612,9 +612,9 @@ distdir_tar(
- "df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz": "f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a",
- },
- urls = {
-- "java_tools_javac11_linux-v10.4.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_linux-v10.4.zip"],
-- "java_tools_javac11_windows-v10.4.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_windows-v10.4.zip"],
-- "java_tools_javac11_darwin-v10.4.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_darwin-v10.4.zip"],
-+ "java_tools_javac11_linux-v10.5.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip"],
-+ "java_tools_javac11_windows-v10.5.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip"],
-+ "java_tools_javac11_darwin-v10.5.zip": ["https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip"],
- "coverage_output_generator-v2.5.zip": ["https://mirror.bazel.build/bazel_coverage_output_generator/releases/coverage_output_generator-v2.5.zip"],
- "zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz": ["https://mirror.bazel.build/openjdk/azul-zulu11.37.17-ca-jdk11.0.6/zulu11.37.17-ca-jdk11.0.6-linux_x64.tar.gz"],
- "zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz": ["https://mirror.bazel.build/openjdk/azul-zulu11.37.48-ca-jdk11.0.6/zulu11.37.48-ca-jdk11.0.6-linux_aarch64.tar.gz"],
-@@ -919,10 +919,10 @@ http_archive(
- name = "remote_java_tools_linux_for_testing",
- patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
- patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
-- sha256 = "7debb49457db2f10990f759b6984c6d4ccb4917a9a9fd402a6f224b5fb0e8e36",
-+ sha256 = "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_linux-v10.4.zip",
-- "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.4/java_tools_javac11_linux-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip",
-+ "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_linux-v10.5.zip",
- ],
- )
-
-@@ -931,10 +931,10 @@ http_archive(
- name = "remote_java_tools_windows_for_testing",
- patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
- patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
-- sha256 = "3a7d802ccefffa6ecf6e190aaae081cf27fc0275e2a8dad7d3a943c63a4d0edc",
-+ sha256 = "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_windows-v10.4.zip",
-- "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.4/java_tools_javac11_windows-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip",
-+ "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_windows-v10.5.zip",
- ],
- )
-
-@@ -943,10 +943,10 @@ http_archive(
- name = "remote_java_tools_darwin_for_testing",
- patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
- patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
-- sha256 = "587a7bc34c95a217a941b01a5a1f8ee48114fbe87e05872a41b7e019e5297a8a",
-+ sha256 = "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_darwin-v10.4.zip",
-- "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.4/java_tools_javac11_darwin-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip",
-+ "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_darwin-v10.5.zip",
- ],
- )
-
-@@ -955,9 +955,9 @@ http_archive(
- name = "remote_java_tools_javac11_test_linux",
- patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
- patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
-- sha256 = "7debb49457db2f10990f759b6984c6d4ccb4917a9a9fd402a6f224b5fb0e8e36",
-+ sha256 = "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_linux-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip",
- ],
- )
-
-@@ -966,9 +966,9 @@ http_archive(
- name = "remote_java_tools_javac11_test_windows",
- patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
- patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
-- sha256 = "3a7d802ccefffa6ecf6e190aaae081cf27fc0275e2a8dad7d3a943c63a4d0edc",
-+ sha256 = "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_windows-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip",
- ],
- )
-
-@@ -977,9 +977,9 @@ http_archive(
- name = "remote_java_tools_javac11_test_darwin",
- patch_cmds = EXPORT_WORKSPACE_IN_BUILD_FILE,
- patch_cmds_win = EXPORT_WORKSPACE_IN_BUILD_FILE_WIN,
-- sha256 = "587a7bc34c95a217a941b01a5a1f8ee48114fbe87e05872a41b7e019e5297a8a",
-+ sha256 = "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_darwin-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip",
- ],
- )
-
-diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE
-index e06c7591dcf1..275aa365d80b 100644
---- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE
-+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE
-@@ -163,10 +163,10 @@ maybe(
- maybe(
- http_archive,
- name = "remote_java_tools_linux",
-- sha256 = "7debb49457db2f10990f759b6984c6d4ccb4917a9a9fd402a6f224b5fb0e8e36",
-+ sha256 = "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_linux-v10.4.zip",
-- "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.4/java_tools_javac11_linux-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip",
-+ "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_linux-v10.5.zip",
- ],
- )
-
-@@ -174,10 +174,10 @@ maybe(
- maybe(
- http_archive,
- name = "remote_java_tools_windows",
-- sha256 = "3a7d802ccefffa6ecf6e190aaae081cf27fc0275e2a8dad7d3a943c63a4d0edc",
-+ sha256 = "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_windows-v10.4.zip",
-- "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.4/java_tools_javac11_windows-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip",
-+ "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_windows-v10.5.zip",
- ],
- )
-
-@@ -185,10 +185,10 @@ maybe(
- maybe(
- http_archive,
- name = "remote_java_tools_darwin",
-- sha256 = "587a7bc34c95a217a941b01a5a1f8ee48114fbe87e05872a41b7e019e5297a8a",
-+ sha256 = "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_darwin-v10.4.zip",
-- "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.4/java_tools_javac11_darwin-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip",
-+ "https://github.com/bazelbuild/java_tools/releases/download/javac11_v10.5/java_tools_javac11_darwin-v10.5.zip",
- ],
- )
-
-diff --git a/src/test/shell/bazel/bazel_java14_test.sh b/src/test/shell/bazel/bazel_java14_test.sh
-index ed820373c274..59f49d1401a7 100755
---- a/src/test/shell/bazel/bazel_java14_test.sh
-+++ b/src/test/shell/bazel/bazel_java14_test.sh
-@@ -113,4 +113,104 @@ EOF
- expect_log "0"
- }
-
-+# Regression test for https://github.com/bazelbuild/bazel/issues/12605
-+function test_java15_plugins() {
-+ mkdir -p java/main
-+ cat >java/main/BUILD <<EOF
-+java_library(
-+ name = "Anno",
-+ srcs = ["Anno.java"],
-+)
-+
-+java_plugin(
-+ name = "Proc",
-+ srcs = ["Proc.java"],
-+ deps = [":Anno"],
-+ processor_class = "ex.Proc",
-+ generates_api = True,
-+)
-+
-+java_library(
-+ name = "C1",
-+ srcs = ["C1.java"],
-+ deps = [":Anno"],
-+ plugins = [":Proc"],
-+)
-+
-+java_library(
-+ name = "C2",
-+ srcs = ["C2.java"],
-+ deps = [":C1"],
-+)
-+EOF
-+
-+ cat >java/main/C1.java <<EOF
-+package ex;
-+
-+public class C1 {
-+ @Anno
-+ @Deprecated
-+ public void m() {}
-+}
-+EOF
-+
-+
-+ cat >java/main/C2.java <<EOF
-+package ex;
-+
-+public class C2 {
-+ public void m() {
-+ new C1().m();
-+ }
-+}
-+
-+EOF
-+
-+ cat >java/main/Anno.java <<EOF
-+package ex;
-+
-+import java.lang.annotation.ElementType;
-+import java.lang.annotation.Retention;
-+import java.lang.annotation.RetentionPolicy;
-+import java.lang.annotation.Target;
-+
-+@Retention(RetentionPolicy.RUNTIME)
-+@Target({ElementType.METHOD})
-+public @interface Anno {}
-+EOF
-+
-+ cat >java/main/Proc.java <<EOF
-+package ex;
-+
-+import java.util.Set;
-+
-+import javax.annotation.processing.AbstractProcessor;
-+import javax.annotation.processing.RoundEnvironment;
-+import javax.annotation.processing.SupportedAnnotationTypes;
-+import javax.annotation.processing.SupportedSourceVersion;
-+import javax.lang.model.SourceVersion;
-+import javax.lang.model.element.Element;
-+import javax.lang.model.element.TypeElement;
-+import javax.lang.model.util.Elements;
-+import javax.tools.Diagnostic.Kind;
-+
-+@SupportedSourceVersion(SourceVersion.RELEASE_8)
-+@SupportedAnnotationTypes("ex.Anno")
-+public class Proc extends AbstractProcessor {
-+ @Override
-+ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
-+ Elements els = processingEnv.getElementUtils();
-+ for (Element el : roundEnv.getElementsAnnotatedWith(Anno.class)) {
-+ if (els.isDeprecated(el)) {
-+ processingEnv.getMessager().printMessage(Kind.WARNING, "deprecated");
-+ }
-+ }
-+ return true;
-+ }
-+}
-+EOF
-+
-+ bazel build //java/main:C2 &>"${TEST_log}" || fail "Expected to build"
-+}
-+
- run_suite "Tests new Java 14 language features"
-diff --git a/src/test/shell/bazel/bazel_java15_test.sh b/src/test/shell/bazel/bazel_java15_test.sh
-index 124e40a2b130..cff160843124 100755
---- a/src/test/shell/bazel/bazel_java15_test.sh
-+++ b/src/test/shell/bazel/bazel_java15_test.sh
-@@ -114,4 +114,106 @@ EOF
- expect_log "^World\$"
- }
-
-+# Regression test for https://github.com/bazelbuild/bazel/issues/12605
-+function test_java15_plugins() {
-+ mkdir -p java/main
-+ cat >java/main/BUILD <<EOF
-+java_library(
-+ name = "Anno",
-+ srcs = ["Anno.java"],
-+)
-+
-+java_plugin(
-+ name = "Proc",
-+ srcs = ["Proc.java"],
-+ deps = [":Anno"],
-+ processor_class = "ex.Proc",
-+ generates_api = True,
-+)
-+
-+java_library(
-+ name = "C1",
-+ srcs = ["C1.java"],
-+ deps = [":Anno"],
-+ plugins = [":Proc"],
-+)
-+
-+java_library(
-+ name = "C2",
-+ srcs = ["C2.java"],
-+ deps = [":C1"],
-+)
-+EOF
-+
-+ cat >java/main/C1.java <<EOF
-+package ex;
-+
-+public class C1 {
-+ @Anno
-+ @Deprecated
-+ public void m() {}
-+}
-+EOF
-+
-+
-+ cat >java/main/C2.java <<EOF
-+package ex;
-+
-+public class C2 {
-+ public void m() {
-+ new C1().m();
-+ }
-+}
-+
-+EOF
-+
-+ cat >java/main/Anno.java <<EOF
-+package ex;
-+
-+import java.lang.annotation.ElementType;
-+import java.lang.annotation.Retention;
-+import java.lang.annotation.RetentionPolicy;
-+import java.lang.annotation.Target;
-+
-+@Retention(RetentionPolicy.RUNTIME)
-+@Target({ElementType.METHOD})
-+public @interface Anno {}
-+EOF
-+
-+ cat >java/main/Proc.java <<EOF
-+package ex;
-+
-+import java.util.Set;
-+
-+import javax.annotation.processing.AbstractProcessor;
-+import javax.annotation.processing.RoundEnvironment;
-+import javax.annotation.processing.SupportedAnnotationTypes;
-+import javax.annotation.processing.SupportedSourceVersion;
-+import javax.lang.model.SourceVersion;
-+import javax.lang.model.element.Element;
-+import javax.lang.model.element.TypeElement;
-+import javax.lang.model.util.Elements;
-+import javax.tools.Diagnostic.Kind;
-+
-+@SupportedSourceVersion(SourceVersion.RELEASE_8)
-+@SupportedAnnotationTypes("ex.Anno")
-+public class Proc extends AbstractProcessor {
-+ @Override
-+ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
-+ Elements els = processingEnv.getElementUtils();
-+ for (Element el : roundEnv.getElementsAnnotatedWith(Anno.class)) {
-+ if (els.isDeprecated(el)) {
-+ processingEnv.getMessager().printMessage(Kind.WARNING, "deprecated");
-+ }
-+ }
-+ return true;
-+ }
-+}
-+EOF
-+
-+ bazel build //java/main:C2 &>"${TEST_log}" || fail "Expected to build"
-+}
-+
-+
-+
- run_suite "Tests new Java 15 language features"
-diff --git a/src/test/shell/bazel/bazel_java_test.sh b/src/test/shell/bazel/bazel_java_test.sh
-index b544b21fd551..ef1b0f05f4d8 100755
---- a/src/test/shell/bazel/bazel_java_test.sh
-+++ b/src/test/shell/bazel/bazel_java_test.sh
-@@ -1626,4 +1626,105 @@ EOF
- expect_log "hello 123"
- }
-
-+# Regression test for https://github.com/bazelbuild/bazel/issues/12605
-+function test_java15_plugins() {
-+ mkdir -p java/main
-+ cat >java/main/BUILD <<EOF
-+java_library(
-+ name = "Anno",
-+ srcs = ["Anno.java"],
-+)
-+
-+java_plugin(
-+ name = "Proc",
-+ srcs = ["Proc.java"],
-+ deps = [":Anno"],
-+ processor_class = "ex.Proc",
-+ generates_api = True,
-+)
-+
-+java_library(
-+ name = "C1",
-+ srcs = ["C1.java"],
-+ deps = [":Anno"],
-+ plugins = [":Proc"],
-+)
-+
-+java_library(
-+ name = "C2",
-+ srcs = ["C2.java"],
-+ deps = [":C1"],
-+)
-+EOF
-+
-+ cat >java/main/C1.java <<EOF
-+package ex;
-+
-+public class C1 {
-+ @Anno
-+ @Deprecated
-+ public void m() {}
-+}
-+EOF
-+
-+
-+ cat >java/main/C2.java <<EOF
-+package ex;
-+
-+public class C2 {
-+ public void m() {
-+ new C1().m();
-+ }
-+}
-+
-+EOF
-+
-+ cat >java/main/Anno.java <<EOF
-+package ex;
-+
-+import java.lang.annotation.ElementType;
-+import java.lang.annotation.Retention;
-+import java.lang.annotation.RetentionPolicy;
-+import java.lang.annotation.Target;
-+
-+@Retention(RetentionPolicy.RUNTIME)
-+@Target({ElementType.METHOD})
-+public @interface Anno {}
-+EOF
-+
-+ cat >java/main/Proc.java <<EOF
-+package ex;
-+
-+import java.util.Set;
-+
-+import javax.annotation.processing.AbstractProcessor;
-+import javax.annotation.processing.RoundEnvironment;
-+import javax.annotation.processing.SupportedAnnotationTypes;
-+import javax.annotation.processing.SupportedSourceVersion;
-+import javax.lang.model.SourceVersion;
-+import javax.lang.model.element.Element;
-+import javax.lang.model.element.TypeElement;
-+import javax.lang.model.util.Elements;
-+import javax.tools.Diagnostic.Kind;
-+
-+@SupportedSourceVersion(SourceVersion.RELEASE_8)
-+@SupportedAnnotationTypes("ex.Anno")
-+public class Proc extends AbstractProcessor {
-+ @Override
-+ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
-+ Elements els = processingEnv.getElementUtils();
-+ for (Element el : roundEnv.getElementsAnnotatedWith(Anno.class)) {
-+ if (els.isDeprecated(el)) {
-+ processingEnv.getMessager().printMessage(Kind.WARNING, "deprecated");
-+ }
-+ }
-+ return true;
-+ }
-+}
-+EOF
-+
-+ bazel build //java/main:C2 &>"${TEST_log}" || fail "Expected to build"
-+}
-+
-+
- run_suite "Java integration tests"
-diff --git a/src/test/shell/bazel/testdata/jdk_http_archives b/src/test/shell/bazel/testdata/jdk_http_archives
-index 03ad9a6cfb12..5122a14cd63a 100644
---- a/src/test/shell/bazel/testdata/jdk_http_archives
-+++ b/src/test/shell/bazel/testdata/jdk_http_archives
-@@ -2,25 +2,25 @@
- # This must be kept in sync with the top-level WORKSPACE file.
- http_archive(
- name = "remote_java_tools_javac11_test_linux",
-- sha256 = "7debb49457db2f10990f759b6984c6d4ccb4917a9a9fd402a6f224b5fb0e8e36",
-+ sha256 = "355c27c603e8fc64bb0e2d7f809741f42576d5f4540f9ce28fd55922085af639",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_linux-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_linux-v10.5.zip",
- ],
- )
- # This must be kept in sync with the top-level WORKSPACE file.
- http_archive(
- name = "remote_java_tools_javac11_test_windows",
-- sha256 = "3a7d802ccefffa6ecf6e190aaae081cf27fc0275e2a8dad7d3a943c63a4d0edc",
-+ sha256 = "0b4469ca1a9b3f26cb82fb0f4fd00096f0d839ec2fae097e7bdbb982e3a95a59",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_windows-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_windows-v10.5.zip",
- ],
- )
- # This must be kept in sync with the top-level WORKSPACE file.
- http_archive(
- name = "remote_java_tools_javac11_test_darwin",
-- sha256 = "587a7bc34c95a217a941b01a5a1f8ee48114fbe87e05872a41b7e019e5297a8a",
-+ sha256 = "95aae0a32a170c72a68abb0b9dd6bac7ea3e08c504a5d8c6e8bf7ac51628c98f",
- urls = [
-- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.4/java_tools_javac11_darwin-v10.4.zip",
-+ "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.5/java_tools_javac11_darwin-v10.5.zip",
- ],
- )
-
diff --git a/testing/bazel3/patch_TEMP_FAILURE_RETRY.patch b/testing/bazel3/patch_TEMP_FAILURE_RETRY.patch
deleted file mode 100644
index 127c5edbe56..00000000000
--- a/testing/bazel3/patch_TEMP_FAILURE_RETRY.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/src/main/tools/linux-sandbox-pid1.cc.old
-+++ b/src/main/tools/linux-sandbox-pid1.cc
-@@ -54,6 +54,17 @@
- #include "src/main/tools/logging.h"
- #include "src/main/tools/process-tools.h"
-
-+// TEPM_FAILURE_RETRY is glibc specific and is not available on e.g. musl
-+// Taken from glibc unistd.h
-+#ifndef TEMP_FAILURE_RETRY
-+# define TEMP_FAILURE_RETRY(expression) \
-+ (__extension__ \
-+ ({ long int __result; \
-+ do __result = (long int) (expression); \
-+ while (__result == -1L && errno == EINTR); \
-+ __result; }))
-+#endif
-+
- static int global_child_pid;
-
- static void SetupSelfDestruction(int *sync_pipe) {
diff --git a/testing/bazel4/APKBUILD b/testing/bazel4/APKBUILD
deleted file mode 100644
index f89ddb78a1f..00000000000
--- a/testing/bazel4/APKBUILD
+++ /dev/null
@@ -1,138 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Contributor: Jesse Chan <jc@linux.com>
-# Maintainer: Jesse Chan <jc@linux.com>
-pkgname=bazel4
-pkgver=4.2.2
-pkgrel=0
-pkgdesc="A fast, scalable, multi-language and extensible build system"
-url="https://bazel.build/"
-arch="all"
-arch="$arch !x86 !armhf !armv7 !mips !mips64" # JDK dropped support
-arch="$arch !riscv64" # JDK not yet bootstrapped
-arch="$arch !ppc64le" # absl: Must implement UnscaledCycleClock::Frequency()
-arch="$arch !s390x" # aborted: SIGFPE (0x8) at pc=0x000003ffb1f18462 (sent by kill)
-license="Apache-2.0"
-depends="bash java-jdk libarchive unzip zip"
-makedepends="coreutils linux-headers protobuf python3 coreutils"
-options="!strip"
-provides="bazel"
-subpackages="
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-fish-completion
- $pkgname-zsh-completion
- "
-source="https://github.com/bazelbuild/bazel/releases/download/$pkgver/bazel-$pkgver-dist.zip
- patch_do_not_use_glibc_prebuilt.patch
- patch_default_system_java_toolchain.patch
- patch_fix_jdk_13.patch
- patch_stop_hardcoding_verify_none_1.patch
- patch_stop_hardcoding_verify_none_2.patch
- patch_ftbfs_gcc11_1.patch
- patch_ftbfs_gcc11_2.patch
- patch_ftbfs_gcc11_3.patch
- patch_ftbfs_gcc11_4.patch
- patch_ftbfs_gcc11_5.patch
- patch_remove_illegal_reflective.patch"
-
-build() {
- export JAVA_HOME="/usr/lib/jvm/default-jvm"
-
- # horrible of horribles, just to have python in the PATH
- # https://github.com/bazelbuild/bazel/issues/8665
- mkdir -p ./bin-hack
- ln -s /usr/bin/python3 ./bin-hack/python
- export PATH=$(pwd)/bin-hack:$PATH
-
- # Stage 1: build Bazel with bootstrap script
-
- # based on
- # https://github.com/vbatts/copr-build-bazel/blob/master/bazel.spec
- # EXTRA_BAZEL_ARGS is used by bootstrap script only
- export EXTRA_BAZEL_ARGS="--sandbox_debug --verbose_failures"
-
- mkdir tmphome-stage1
-
- env HOME="$(pwd)/tmphome-stage1" bash ./compile.sh
- env HOME="$(pwd)/tmphome-stage1" ./output/bazel shutdown
-
- # Stage 2: use Bazel to build Bazel in optimized mode
- mkdir tmphome-stage2
-
- # We can't use embedded JDK, as there is no alpine support
- echo startup --server_javabase=$JAVA_HOME \
- >> tmphome-stage2/.bazelrc
-
- env HOME="$(pwd)/tmphome-stage2" ./output/bazel build \
- -c opt \
- --stamp \
- --embed_label $pkgver \
- --distdir=derived/distdir \
- $EXTRA_BAZEL_ARGS \
- //scripts/packages:without-jdk/install.sh
- env HOME="$(pwd)/tmphome-stage2" ./output/bazel shutdown
-
- # Copy outputs
- rm -rf output && mkdir output
- cp bazel-bin/scripts/packages/without-jdk/bazel output
- cp bazel-bin/scripts/packages/without-jdk/bazel-real output
- cp bazel-bin/scripts/bazel-complete.bash output
- cp bazel-bin/scripts/bazel.fish output
- cp scripts/zsh_completion/_bazel output
- cp tmphome-stage2/.bazelrc output/bazel.bazelrc
-}
-
-check() {
- mkdir tmphome-check
- cp output/bazel.bazelrc tmphome-check/.bazelrc
-
- env HOME="$(pwd)/tmphome-check" ./output/bazel test \
- --distdir=derived/distdir \
- --spawn_strategy=standalone \
- --genrule_strategy=standalone \
- --verbose_failures \
- --verbose_test_summary \
- --test_verbose_timeout_warnings \
- examples/cpp:hello-success_test \
- examples/py_native:test \
- examples/java-starlark/src/test/java/com/example/myproject:pass \
- examples/java-native/src/test/java/com/example/myproject:hello
-
- env HOME="$(pwd)/tmphome-check" ./output/bazel shutdown
-}
-
-package() {
- install -Dm755 output/bazel "$pkgdir"/usr/bin/bazel
- install -Dm755 output/bazel-real "$pkgdir"/usr/bin/bazel-real
- install -Dm644 output/bazel.bazelrc \
- "$pkgdir"/etc/bazel.bazelrc
-
- install -m644 -D -t "$pkgdir"/usr/share/doc/$pkgname README.md
-
- install -Dm644 output/bazel-complete.bash \
- "$pkgdir"/usr/share/bash-completion/completions/"$pkgname"
- install -Dm644 output/bazel.fish \
- "$pkgdir"/usr/share/fish/completions/"$pkgname".fish
- install -Dm644 output/_bazel \
- "$pkgdir"/usr/share/zsh/site-functions/_"$pkgname"
-}
-
-unpack() {
- mkdir -p "$builddir"
- unzip "$srcdir"/bazel-$pkgver-dist.zip -d "$builddir" > /dev/null
-}
-
-sha512sums="
-123f73dc87053e37705bb729f82bd722d6d2799fe106f79c51cf5566fb2771d824108cbe275aad55ae590b970c549008b433704cbf1245394769e950796eb8db bazel-4.2.2-dist.zip
-b8858494f7c600145610d44d2ca81d2cf0e58924b5d876361043b395c88b1166bf9a17de2864ee718e6dce723b7f0c4d71cf8fb9c2ab316eb9013eb5e450ddbe patch_do_not_use_glibc_prebuilt.patch
-fe1862bbd392f8a2d7af5f7c5e08fa6cf6dab0ba7b88280c28c4b072241613480e861af60212ceee1aebc10eb629f964c5def2b3e0a75c48453da8c397f4e93b patch_default_system_java_toolchain.patch
-0b4b3e541eaa496253e83d6fd88ba98d14c2a53324b7438f57d240b45f2c3c63b659038224e2b66706d4420eccb7c17c834260839f2fd39e3c6b3dea2613b735 patch_fix_jdk_13.patch
-f8456643419ac108a7cd72eaccd931e9c269c828611b0a62a79ad80a4f542b83cf5fa69af026e04bfb8d9f2c70527b5b25f9af56edb0a5a696ce66b3032df48d patch_stop_hardcoding_verify_none_1.patch
-c5ad25926e5672cd86b27c791c7347b21b57777296cc26d92d2bd9ae6eb39ee81d48008edb666285432135082e91daa9162ea67c719625bcede8f2d5647c9633 patch_stop_hardcoding_verify_none_2.patch
-992cf1acd662fd7e5f418e15122fd957c69bd6ca030b782b82d34222bec908d408472e839843b51fe828c2de5e56f4ff4cb4b4adcc17dacf82f2db7e9950cd64 patch_ftbfs_gcc11_1.patch
-e9d6e4642a25ce5323ba00e75172238fe52dc31e39ac91e97b5aae6deb9661c5426d763584e1b1b9ee489204e3bf891d84e14e7fa339c9a7a17a5a67c9129dc3 patch_ftbfs_gcc11_2.patch
-a001b7fe0bc7b34a6aab73e7f88a2f52dc5e67fcf3dda15bc06a6a8709b6ffa8883f705eb22ef83705fe70dfdbef64c5ff8ba762ffb526366b033375501e05e9 patch_ftbfs_gcc11_3.patch
-b83b73b5ea7a2fc99d13567f881dcfac3f242510ab429e33fe4347024fb9fbbd464fb7ef7ee4d380452b17c459d84494f993ba134db65c13f2a27ae475a5d8cc patch_ftbfs_gcc11_4.patch
-750c4ba2f41d61321db36c1d1154744e90d1b0f9ea39c75582edbdc28d16df2cee9c85fc4831114a414b6db8dba7b16d17b272b55a0308ac23a06242fc0c31db patch_ftbfs_gcc11_5.patch
-44a942c842688e53a431994e2cd7070d72a757fde1c45d44f3c0b349fd050692f0cac11f8b72fcf10cd944753a0ebc2038053a359ac7a1676125cc8107f04144 patch_remove_illegal_reflective.patch
-"
diff --git a/testing/bazel4/patch_default_system_java_toolchain.patch b/testing/bazel4/patch_default_system_java_toolchain.patch
deleted file mode 100644
index dc7370278f2..00000000000
--- a/testing/bazel4/patch_default_system_java_toolchain.patch
+++ /dev/null
@@ -1,68 +0,0 @@
---- a/src/BUILD
-+++ b/src/BUILD
-@@ -405,7 +405,7 @@ genrule(
- ],
- ) for suffix, jdk in [
- ("-dev", "_jdk_allmodules"),
-- ("", "_jdk_minimal"),
-+ ("", "_nojdk"),
- ("_jdk_allmodules", "_jdk_allmodules"),
- ("_jdk_minimal", "_jdk_minimal"),
- ("_dev_jdk", "_dev_jdk"),
---- a/src/main/cpp/startup_options.cc
-+++ b/src/main/cpp/startup_options.cc
-@@ -462,12 +462,6 @@ blaze_util::Path StartupOptions::GetSystemJavabase() const {
- }
-
- blaze_util::Path StartupOptions::GetEmbeddedJavabase() const {
-- blaze_util::Path bundled_jre_path = blaze_util::Path(
-- blaze_util::JoinPath(install_base, "embedded_tools/jdk"));
-- if (blaze_util::CanExecuteFile(
-- bundled_jre_path.GetRelative(GetJavaBinaryUnderJavabase()))) {
-- return bundled_jre_path;
-- }
- return blaze_util::Path();
- }
-
---- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
-+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
-@@ -654,7 +654,7 @@ public class JavaOptions extends FragmentOptions {
- }
-
- Label defaultHostJavaBase() {
-- return Label.parseAbsoluteUnchecked("@bazel_tools//tools/jdk:remote_jdk11");
-+ return Label.parseAbsoluteUnchecked("@local_jdk//:jdk");
- }
-
- Label defaultJavaToolchain() {
---- a/tools/jdk/BUILD
-+++ b/tools/jdk/BUILD
-@@ -340,7 +340,7 @@ alias(
-
- alias(
- name = "host_jdk",
-- actual = ":remote_jdk11",
-+ actual = "jdk",
- )
-
- bootclasspath(
-@@ -370,8 +370,7 @@ alias(
- actual = select({
- "//src/conditions:darwin": "@remote_java_tools_darwin//:toolchain",
- "//src/conditions:windows": "@remote_java_tools_windows//:toolchain",
-- "//src/conditions:linux_x86_64": "@remote_java_tools_linux//:toolchain",
-- "//conditions:default": "@bazel_tools//tools/jdk:legacy_toolchain",
-+ "//conditions:default": "@bazel_tools//tools/jdk:toolchain_vanilla",
- }),
- )
-
-@@ -380,8 +379,7 @@ alias(
- actual = select({
- "//src/conditions:darwin": "@remote_java_tools_darwin//:toolchain",
- "//src/conditions:windows": "@remote_java_tools_windows//:toolchain",
-- "//src/conditions:linux_x86_64": "@remote_java_tools_linux//:toolchain",
-- "//conditions:default": "@bazel_tools//tools/jdk:legacy_toolchain",
-+ "//conditions:default": "@bazel_tools//tools/jdk:toolchain_vanilla",
- }),
- )
-
diff --git a/testing/bazel4/patch_do_not_use_glibc_prebuilt.patch b/testing/bazel4/patch_do_not_use_glibc_prebuilt.patch
deleted file mode 100644
index d76bb285445..00000000000
--- a/testing/bazel4/patch_do_not_use_glibc_prebuilt.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE
-+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/jdk.WORKSPACE
-@@ -189,6 +189,7 @@ maybe(
- maybe(
- http_archive,
- name = "remote_java_tools_linux",
-+ patches = ["@bazel_tools//tools/jdk:java_tools.patch"],
- sha256 = "085c0ba53ba764e81d4c195524f3c596085cbf9cdc01dd8e6d2ae677e726af35",
- urls = [
- "https://mirror.bazel.build/bazel_java_tools/releases/javac11/v10.6/java_tools_javac11_linux-v10.6.zip",
---- a/tools/jdk/BUILD.java_tools
-+++ b/tools/jdk/BUILD.java_tools
-@@ -284,7 +284,7 @@ alias(
- name = "singlejar",
- actual = select({
- "//:remote": ":singlejar_cc_bin",
-- "//conditions:default": ":singlejar_prebuilt_or_cc_binary",
-+ "//conditions:default": ":singlejar_cc_bin",
- }),
- )
-
-@@ -312,7 +312,7 @@ alias(
- name = "ijar",
- actual = select({
- ":remote": ":ijar_cc_binary",
-- "//conditions:default": ":prebuilt_binary_or_cc_binary",
-+ "//conditions:default": ":ijar_cc_binary",
- }),
- )
-
---- a/tools/jdk/java_toolchain_default.bzl.java_tools
-+++ b/tools/jdk/java_toolchain_default.bzl.java_tools
-@@ -121,8 +121,6 @@ PREBUILT_TOOLCHAIN_CONFIGURATION = dict(
- "//:java_compiler_jar",
- "//:jdk_compiler_jar",
- ],
-- ijar = ["//:ijar_prebuilt_binary"],
-- singlejar = ["//:prebuilt_singlejar"],
- )
-
- _LABEL_LISTS = [
---- /dev/null
-+++ b/tools/jdk/java_tools.patch
-@@ -0,0 +1,20 @@
-+--- BUILD
-++++ BUILD
-+@@ -284,7 +284,7 @@ alias(
-+ name = "singlejar",
-+ actual = select({
-+ "//:remote": ":singlejar_cc_bin",
-+- "//conditions:default": ":singlejar_prebuilt_or_cc_binary",
-++ "//conditions:default": ":singlejar_cc_bin",
-+ }),
-+ )
-+
-+@@ -312,7 +312,7 @@ alias(
-+ name = "ijar",
-+ actual = select({
-+ ":remote": ":ijar_cc_binary",
-+- "//conditions:default": ":prebuilt_binary_or_cc_binary",
-++ "//conditions:default": ":ijar_cc_binary",
-+ }),
-+ )
-+
diff --git a/testing/bazel4/patch_fix_jdk_13.patch b/testing/bazel4/patch_fix_jdk_13.patch
deleted file mode 100644
index 6469eb28996..00000000000
--- a/testing/bazel4/patch_fix_jdk_13.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: philwo <philwo@google.com>
-Date: Mon, 8 Feb 2021 10:45:50 -0800
-Subject: [PATCH] Fix Bazel #10214: JDK 13 introduced a source compatibility
- issue.
-Upstream: yes (https://github.com/bazelbuild/bazel/commit/0216ee54417fa1f2fef14f6eb14cbc1e8f595821)
-
-Quote from the Java release notes:
-
-The addition of newFileSystem(Path, Map<String, ?>) creates a source (but not binary) compatibility issue for code that has been using the existing 2-arg newFileSystem(Path, ClassLoader) and specifying the class loader as null. [...] To avoid the ambiguous reference, this code needs to be modified to cast the second parameter to java.lang.ClassLoader.
-
-RELNOTES:
-PiperOrigin-RevId: 356301318
----
- .../com/google/devtools/build/buildjar/VanillaJavaBuilder.java | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java
-index b2a4da2aaa..d63bd8485e 100644
---- a/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java
-+++ b/src/java_tools/buildjar/java/com/google/devtools/build/buildjar/VanillaJavaBuilder.java
-@@ -78,7 +78,7 @@ public class VanillaJavaBuilder implements Closeable {
- private FileSystem getJarFileSystem(Path sourceJar) throws IOException {
- FileSystem fs = filesystems.get(sourceJar);
- if (fs == null) {
-- filesystems.put(sourceJar, fs = FileSystems.newFileSystem(sourceJar, null));
-+ filesystems.put(sourceJar, fs = FileSystems.newFileSystem(sourceJar, (ClassLoader) null));
- }
- return fs;
- }
---
-2.31.1
-
diff --git a/testing/bazel4/patch_ftbfs_gcc11_1.patch b/testing/bazel4/patch_ftbfs_gcc11_1.patch
deleted file mode 100644
index 1c926b1b698..00000000000
--- a/testing/bazel4/patch_ftbfs_gcc11_1.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8cc0e261a313dbf5e81bfeca2bafa3e12a991046 Mon Sep 17 00:00:00 2001
-From: cushon <cushon@google.com>
-Date: Tue, 15 Dec 2020 23:18:55 -0800
-Subject: [PATCH] Include <limits>
-
-Probably fixes https://github.com/bazelbuild/bazel/issues/12702
-
-PiperOrigin-RevId: 347764132
----
- third_party/ijar/zlib_client.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/third_party/ijar/zlib_client.h b/third_party/ijar/zlib_client.h
-index ed6616362fcc..c4b051e0100c 100644
---- a/third_party/ijar/zlib_client.h
-+++ b/third_party/ijar/zlib_client.h
-@@ -16,6 +16,7 @@
- #define THIRD_PARTY_IJAR_ZLIB_CLIENT_H_
-
- #include <limits.h>
-+#include <limits>
-
- #include "third_party/ijar/common.h"
-
diff --git a/testing/bazel4/patch_ftbfs_gcc11_2.patch b/testing/bazel4/patch_ftbfs_gcc11_2.patch
deleted file mode 100644
index 42e9073296b..00000000000
--- a/testing/bazel4/patch_ftbfs_gcc11_2.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a129aeb333d83a4466ac2c996b84a113405acb4d Mon Sep 17 00:00:00 2001
-From: philwo <philwo@google.com>
-Date: Mon, 14 Jun 2021 09:10:07 -0700
-Subject: [PATCH] Fix #13575: FTBFS with GCC 11 on ARMv8
-
-This supposedly fixes the compiler error reported by the user:
-
-`error: 'numeric_limits' is not a member of 'std'`
-
-Thanks to samcom12 for the report and suggested fix.
-
-RELNOTES: None.
-PiperOrigin-RevId: 379291338
----
- third_party/ijar/zlib_client.h | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/third_party/ijar/zlib_client.h b/third_party/ijar/zlib_client.h
-index c4b051e0100c..0a917ff0a99a 100644
---- a/third_party/ijar/zlib_client.h
-+++ b/third_party/ijar/zlib_client.h
-@@ -16,7 +16,9 @@
- #define THIRD_PARTY_IJAR_ZLIB_CLIENT_H_
-
- #include <limits.h>
-+
- #include <limits>
-+#include <stdexcept>
-
- #include "third_party/ijar/common.h"
-
diff --git a/testing/bazel4/patch_ftbfs_gcc11_3.patch b/testing/bazel4/patch_ftbfs_gcc11_3.patch
deleted file mode 100644
index 667110479bc..00000000000
--- a/testing/bazel4/patch_ftbfs_gcc11_3.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 9761509f9ccc3892f42425b904adf1ef10bcb1f4 Mon Sep 17 00:00:00 2001
-From: David Ostrovsky <david@ostrovsky.org>
-Date: Wed, 16 Jun 2021 07:55:57 -0700
-Subject: [PATCH] Fix building on gcc 11
-
-Fixes #12702.
-
-Without this include the build is failing with:
-
- third_party/ijar/mapped_file_unix.cc: In constructor 'devtools_ijar::MappedOutputFile::MappedOutputFile(const char*, size_t)':
- third_party/ijar/mapped_file_unix.cc:115:21: error: 'numeric_limits' is not a member of 'std'
- 115 | std::numeric_limits<size_t>::max());
- | ^~~~~~~~~~~~~~
-
-Closes #13537.
-
-PiperOrigin-RevId: 379719635
----
- third_party/ijar/mapped_file_unix.cc | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/third_party/ijar/mapped_file_unix.cc b/third_party/ijar/mapped_file_unix.cc
-index 6e3a90871844..65179e3290ec 100644
---- a/third_party/ijar/mapped_file_unix.cc
-+++ b/third_party/ijar/mapped_file_unix.cc
-@@ -15,10 +15,11 @@
- #include <errno.h>
- #include <fcntl.h>
- #include <stdio.h>
--#include <unistd.h>
- #include <sys/mman.h>
-+#include <unistd.h>
-
- #include <algorithm>
-+#include <limits>
-
- #include "third_party/ijar/mapped_file.h"
-
diff --git a/testing/bazel4/patch_ftbfs_gcc11_4.patch b/testing/bazel4/patch_ftbfs_gcc11_4.patch
deleted file mode 100644
index 795bc82b75f..00000000000
--- a/testing/bazel4/patch_ftbfs_gcc11_4.patch
+++ /dev/null
@@ -1,43 +0,0 @@
---- a/third_party/grpc/grpc_1.33.1.patch
-+++ b/third_party/grpc/grpc_1.33.1.patch
-@@ -58,6 +58,14 @@ index 09fcad95a2..9b737e5deb 100644
- )
-
- native.bind(
-+@@ -245,6 +245,7 @@ def grpc_deps():
-+ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
-+ "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
-+ ],
-++ patches = ["@com_github_grpc_grpc//:third_party/abseil-cpp/absl.patch"],
-+ )
-+
-+ if "bazel_toolchains" not in native.existing_rules():
- diff --git a/bazel/grpc_extra_deps.bzl b/bazel/grpc_extra_deps.bzl
- index 4c1dfad2e8..f63c54ddef 100644
- --- a/bazel/grpc_extra_deps.bzl
-@@ -120,3 +128,25 @@ index c047f0c515..7c24fbc617 100644
- ":windows": "@com_github_grpc_grpc//third_party/cares:config_windows/ares_config.h",
- ":android": "@com_github_grpc_grpc//third_party/cares:config_android/ares_config.h",
- "//conditions:default": "@com_github_grpc_grpc//third_party/cares:config_linux/ares_config.h",
-+
-+--- /dev/null
-++++ b/third_party/abseil-cpp/absl.patch
-+@@ -0,0 +1,18 @@
-++0e2c62da1dcaf6529abab952bdcc96c6de2d9506 by Abseil Team <absl-team@google.com>:
-++
-++Add missing <limits> include
-++
-++PiperOrigin-RevId: 339054753
-++
-++--
-++
-++--- absl/synchronization/internal/graphcycles.cc
-+++++ absl/synchronization/internal/graphcycles.cc
-++@@ -37,6 +37,7 @@
-++
-++ #include <algorithm>
-++ #include <array>
-+++#include <limits>
-++ #include "absl/base/internal/hide_ptr.h"
-++ #include "absl/base/internal/raw_logging.h"
-++ #include "absl/base/internal/spinlock.h"
diff --git a/testing/bazel4/patch_ftbfs_gcc11_5.patch b/testing/bazel4/patch_ftbfs_gcc11_5.patch
deleted file mode 100644
index 0d594f2e833..00000000000
--- a/testing/bazel4/patch_ftbfs_gcc11_5.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/tools/jdk/java_tools.patch
-+++ b/tools/jdk/java_tools.patch
-@@ -18,3 +18,31 @@
- }),
- )
-
-+
-+--- java_tools/ijar/zlib_client.h
-++++ java_tools/ijar/zlib_client.h
-+@@ -16,6 +16,8 @@
-+ #define THIRD_PARTY_IJAR_ZLIB_CLIENT_H_
-+
-+ #include <limits.h>
-++#include <limits>
-++#include <stdexcept>
-+
-+ #include "third_party/ijar/common.h"
-+
-+
-+--- java_tools/ijar/mapped_file_unix.cc
-++++ java_tools/ijar/mapped_file_unix.cc
-+@@ -15,10 +15,11 @@
-+ #include <errno.h>
-+ #include <fcntl.h>
-+ #include <stdio.h>
-+-#include <unistd.h>
-+ #include <sys/mman.h>
-++#include <unistd.h>
-+
-+ #include <algorithm>
-++#include <limits>
-+
-+ #include "third_party/ijar/mapped_file.h"
-+
diff --git a/testing/bazel4/patch_remove_illegal_reflective.patch b/testing/bazel4/patch_remove_illegal_reflective.patch
deleted file mode 100644
index ab5453fefcf..00000000000
--- a/testing/bazel4/patch_remove_illegal_reflective.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/src/main/cpp/blaze.cc
-+++ b/src/main/cpp/blaze.cc
-@@ -360,13 +360,10 @@ static vector<string> GetServerExeArgs(const blaze_util::Path &jvm_path,
- result.push_back("-XX:HeapDumpPath=" +
- startup_options.output_base.AsJvmArgument());
-
-- // TODO(b/109998449): only assume JDK >= 9 for embedded JDKs
-- if (!startup_options.GetEmbeddedJavabase().IsEmpty()) {
-- // quiet warnings from com.google.protobuf.UnsafeUtil,
-- // see: https://github.com/google/protobuf/issues/3781
-- result.push_back("--add-opens=java.base/java.nio=ALL-UNNAMED");
-- result.push_back("--add-opens=java.base/java.lang=ALL-UNNAMED");
-- }
-+ // quiet warnings from com.google.protobuf.UnsafeUtil,
-+ // see: https://github.com/google/protobuf/issues/3781
-+ result.push_back("--add-opens=java.base/java.nio=ALL-UNNAMED");
-+ result.push_back("--add-opens=java.base/java.lang=ALL-UNNAMED");
-
- vector<string> user_options = startup_options.host_jvm_args;
-
---- a/src/main/java/com/google/devtools/build/lib/unsafe/StringUnsafe.java
-+++ b/src/main/java/com/google/devtools/build/lib/unsafe/StringUnsafe.java
-@@ -72,10 +72,7 @@ public class StringUnsafe {
- + Arrays.toString(String.class.getDeclaredFields()),
- e);
- }
-- this.constructor.setAccessible(true);
-- valueField.setAccessible(true);
- valueOffset = UnsafeProvider.getInstance().objectFieldOffset(valueField);
-- coderField.setAccessible(true);
- coderOffset = UnsafeProvider.getInstance().objectFieldOffset(coderField);
- }
-
diff --git a/testing/bazel4/patch_stop_hardcoding_verify_none_1.patch b/testing/bazel4/patch_stop_hardcoding_verify_none_1.patch
deleted file mode 100644
index 78f1439af18..00000000000
--- a/testing/bazel4/patch_stop_hardcoding_verify_none_1.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From: cushon <cushon@google.com>
-Date: Mon, 7 Dec 2020 13:00:08 -0800
-Subject: [PATCH] Stop hardcoding `-Xverify:none` in `SpawnAction`
-Upstream: yes (https://github.com/bazelbuild/bazel/commit/0216ee54417fa1f2fef14f6eb14cbc1e8f595821)
-
-The motivation was to improve startup performance of host tools that we trust.
-The hard-coded flags for JavaBuilder and turbine were made obsolete by
-`java_toolchain.jvm_opts`, which allows them to be configured in the toolchain
-instead.
-
-The option has been deprecated in Java 13 and will be removed in a future
-release.
-
-Fixes https://github.com/bazelbuild/bazel/issues/11381
-
-PiperOrigin-RevId: 346160835
----
- .../build/lib/analysis/actions/SpawnAction.java | 1 -
- .../build/lib/analysis/actions/SpawnActionTest.java | 10 ++++------
- 2 files changed, 4 insertions(+), 7 deletions(-)
-
-diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
-index 500ca758a6..de2257776a 100644
---- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
-+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
-@@ -1016,7 +1016,6 @@ public class SpawnAction extends AbstractAction implements CommandAction {
- this.executableArgs =
- CustomCommandLine.builder()
- .addPath(javaExecutable)
-- .add("-Xverify:none")
- .addAll(ImmutableList.copyOf(jvmArgs))
- .addAll(ImmutableList.copyOf(launchArgs));
- toolsBuilder.add(deployJar);
-diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java
-index 526473aff7..871509533f 100644
---- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java
-+++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTest.java
-@@ -166,8 +166,7 @@ public class SpawnActionTest extends BuildViewTestCase {
- collectingAnalysisEnvironment.registerAction(actions);
- SpawnAction action = (SpawnAction) actions[0];
- assertThat(action.getArguments())
-- .containsExactly(
-- "/bin/java", "-Xverify:none", "-jvmarg", "-cp", "pkg/exe.jar", "MyMainClass")
-+ .containsExactly("/bin/java", "-jvmarg", "-cp", "pkg/exe.jar", "MyMainClass")
- .inOrder();
- }
-
-@@ -193,8 +192,7 @@ public class SpawnActionTest extends BuildViewTestCase {
-
- // The action reports all arguments, including those inside the param file
- assertThat(action.getArguments())
-- .containsExactly(
-- "/bin/java", "-Xverify:none", "-jvmarg", "-cp", "pkg/exe.jar", "MyMainClass", "-X")
-+ .containsExactly("/bin/java", "-jvmarg", "-cp", "pkg/exe.jar", "MyMainClass", "-X")
- .inOrder();
-
- Spawn spawn =
-@@ -205,7 +203,7 @@ public class SpawnActionTest extends BuildViewTestCase {
- assertThat(spawn.getArguments())
- .containsExactly(
- "/bin/java",
-- "-Xverify:none",
-+
- "-jvmarg",
- "-cp",
- "pkg/exe.jar",
-@@ -241,7 +239,7 @@ public class SpawnActionTest extends BuildViewTestCase {
- assertThat(action.getArguments())
- .containsExactly(
- "/bin/java",
-- "-Xverify:none",
-+
- "-jvmarg",
- "-cp",
- "pkg/exe.jar",
---
-2.31.1
-
diff --git a/testing/bazel4/patch_stop_hardcoding_verify_none_2.patch b/testing/bazel4/patch_stop_hardcoding_verify_none_2.patch
deleted file mode 100644
index 87b76dfa1f3..00000000000
--- a/testing/bazel4/patch_stop_hardcoding_verify_none_2.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From: Jesse Chan <jc@linux.com>
-Date: Thu, 24 Jun 2021 20:15:21 +0800
-Subject: [PATCH] Remove remaining hardcoded instances of `-Xverify:none`
-
-Bug: #11381, #13097
-Refs: d91e5b4e0
----
- scripts/bootstrap/compile.sh | 2 +-
- src/main/cpp/blaze.cc | 2 --
- .../build/lib/rules/java/JavaHeaderCompileActionBuilder.java | 1 -
- 3 files changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
-index f9a152f145..e9cfbeec3d 100755
---- a/scripts/bootstrap/compile.sh
-+++ b/scripts/bootstrap/compile.sh
-@@ -436,7 +436,7 @@ function run_bazel_jar() {
- done
-
- "${JAVA_HOME}/bin/java" \
-- -XX:+HeapDumpOnOutOfMemoryError -Xverify:none -Dfile.encoding=ISO-8859-1 \
-+ -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=ISO-8859-1 \
- -XX:HeapDumpPath=${OUTPUT_DIR} \
- -Djava.util.logging.config.file=${OUTPUT_DIR}/javalog.properties \
- ${JNI_FLAGS} \
-diff --git a/src/main/cpp/blaze.cc b/src/main/cpp/blaze.cc
-index a3fd334f24..ecdc707c64 100644
---- a/src/main/cpp/blaze.cc
-+++ b/src/main/cpp/blaze.cc
-@@ -368,8 +368,6 @@ static vector<string> GetServerExeArgs(const blaze_util::Path &jvm_path,
- result.push_back("--add-opens=java.base/java.lang=ALL-UNNAMED");
- }
-
-- result.push_back("-Xverify:none");
--
- vector<string> user_options = startup_options.host_jvm_args;
-
- // Add JVM arguments particular to building blaze64 and particular JVM
-diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java
-index 6f855cfdb4..8a543a6e00 100644
---- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java
-+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileActionBuilder.java
-@@ -337,7 +337,6 @@ public class JavaHeaderCompileActionBuilder {
- executableLine =
- CustomCommandLine.builder()
- .addPath(javaToolchain.getJavaRuntime().javaBinaryExecPathFragment())
-- .add("-Xverify:none")
- .addAll(javaToolchain.getTurbineJvmOptions())
- .add("-jar")
- .addExecPath(headerCompiler.getExecutable())
---
-2.31.1
-
diff --git a/testing/bazel5/0001-Do-not-use-prebuilt-binaries.patch b/testing/bazel5/0001-Do-not-use-prebuilt-binaries.patch
new file mode 100644
index 00000000000..05492081a03
--- /dev/null
+++ b/testing/bazel5/0001-Do-not-use-prebuilt-binaries.patch
@@ -0,0 +1,35 @@
+From ace6bb4b6fa0ff09d38bd31c26c21dd81aaadca6 Mon Sep 17 00:00:00 2001
+From: Wolf <wolf@wolfsden.cz>
+Date: Wed, 20 Jul 2022 02:00:52 +0200
+Subject: [PATCH 1/4] Do not use prebuilt binaries
+
+Prebuilt binaries (ijar, singlejar) for linux are glibc specific,
+meaning they do not work on alpine. Change the select to use _cc_binary
+version instead.
+---
+ tools/jdk/BUILD.tools | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/tools/jdk/BUILD.tools b/tools/jdk/BUILD.tools
+index ad3e61e41a..7586fc22de 100644
+--- a/tools/jdk/BUILD.tools
++++ b/tools/jdk/BUILD.tools
+@@ -168,7 +168,6 @@ alias(
+ alias(
+ name = "ijar_prebuilt_binary_or_cc_binary",
+ actual = select({
+- "//src/conditions:linux_x86_64": ":ijar_prebuilt_binary_linux",
+ "//src/conditions:darwin": ":ijar_prebuilt_binary_darwin",
+ "//src/conditions:windows": ":ijar_prebuilt_binary_windows",
+ "//conditions:default": "@remote_java_tools//:ijar_cc_binary",
+@@ -198,7 +197,6 @@ alias(
+ alias(
+ name = "singlejar_prebuilt_or_cc_binary",
+ actual = select({
+- "//src/conditions:linux_x86_64": ":prebuilt_singlejar_linux",
+ "//src/conditions:darwin": ":prebuilt_singlejar_darwin",
+ "//src/conditions:windows": ":prebuilt_singlejar_windows",
+ "//conditions:default": "@remote_java_tools//:singlejar_cc_bin",
+--
+2.36.2
+
diff --git a/testing/bazel5/0002-Prefer-local_jdk-instead-of-remote_jdk11.patch b/testing/bazel5/0002-Prefer-local_jdk-instead-of-remote_jdk11.patch
new file mode 100644
index 00000000000..d0b7bb550af
--- /dev/null
+++ b/testing/bazel5/0002-Prefer-local_jdk-instead-of-remote_jdk11.patch
@@ -0,0 +1,75 @@
+From 75a294bc20878ece2b45359a9c06db644744112f Mon Sep 17 00:00:00 2001
+From: Wolf <wolf@wolfsden.cz>
+Date: Wed, 20 Jul 2022 02:00:52 +0200
+Subject: [PATCH 2/4] Prefer local_jdk instead of remote_jdk11
+
+---
+ .../devtools/build/lib/rules/java/JavaOptions.java | 2 +-
+ tools/jdk/BUILD.tools | 2 +-
+ tools/jdk/default_java_toolchain.bzl | 10 +++++-----
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
+index 7794ef22c1..693f640131 100644
+--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
++++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
+@@ -511,7 +511,7 @@ public class JavaOptions extends FragmentOptions {
+
+ @Option(
+ name = "tool_java_runtime_version",
+- defaultValue = "remotejdk_11",
++ defaultValue = "local_jdk",
+ documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ effectTags = {OptionEffectTag.UNKNOWN},
+ help = "The Java runtime version used to execute tools during the build")
+diff --git a/tools/jdk/BUILD.tools b/tools/jdk/BUILD.tools
+index 7586fc22de..8edd0f9619 100644
+--- a/tools/jdk/BUILD.tools
++++ b/tools/jdk/BUILD.tools
+@@ -328,7 +328,7 @@ alias(
+
+ alias(
+ name = "host_jdk",
+- actual = ":remote_jdk11",
++ actual = "@local_jdk//:jdk",
+ )
+
+ bootclasspath(
+diff --git a/tools/jdk/default_java_toolchain.bzl b/tools/jdk/default_java_toolchain.bzl
+index af3a646a44..da137ed26d 100644
+--- a/tools/jdk/default_java_toolchain.bzl
++++ b/tools/jdk/default_java_toolchain.bzl
+@@ -98,7 +98,7 @@ DEFAULT_TOOLCHAIN_CONFIGURATION = dict(
+ "@remote_java_tools//:java_compiler_jar",
+ "@remote_java_tools//:jdk_compiler_jar",
+ ],
+- java_runtime = "@bazel_tools//tools/jdk:remote_jdk11",
++ java_runtime = "@local_jdk//:jdk",
+ )
+
+ # The 'vanilla' toolchain is an unsupported alternative to the default.
+@@ -137,9 +137,9 @@ PREBUILT_TOOLCHAIN_CONFIGURATION = dict(
+ "@remote_java_tools//:java_compiler_jar",
+ "@remote_java_tools//:jdk_compiler_jar",
+ ],
+- ijar = ["@bazel_tools//tools/jdk:ijar_prebuilt_binary"],
+- singlejar = ["@bazel_tools//tools/jdk:prebuilt_singlejar"],
+- java_runtime = "@bazel_tools//tools/jdk:remote_jdk11",
++ ijar = ["@remote_java_tools//:ijar_cc_binary"],
++ singlejar = ["@remote_java_tools//:singlejar_cc_bin"],
++ java_runtime = "@local_jdk//:jdk",
+ )
+
+ # The new toolchain is using all the tools from sources.
+@@ -158,7 +158,7 @@ NONPREBUILT_TOOLCHAIN_CONFIGURATION = dict(
+ ],
+ ijar = ["@remote_java_tools//:ijar_cc_binary"],
+ singlejar = ["@remote_java_tools//:singlejar_cc_bin"],
+- java_runtime = "@bazel_tools//tools/jdk:remote_jdk11",
++ java_runtime = "@local_jdk//:jdk",
+ )
+
+ def default_java_toolchain(name, configuration = DEFAULT_TOOLCHAIN_CONFIGURATION, toolchain_definition = True, **kwargs):
+--
+2.36.2
+
diff --git a/testing/bazel5/0003-Make-generate_bash_completion-compatible-with-busybo.patch b/testing/bazel5/0003-Make-generate_bash_completion-compatible-with-busybo.patch
new file mode 100644
index 00000000000..4856fa02f9a
--- /dev/null
+++ b/testing/bazel5/0003-Make-generate_bash_completion-compatible-with-busybo.patch
@@ -0,0 +1,28 @@
+From a4491ac9103c6e02631fce120594e5797130271d Mon Sep 17 00:00:00 2001
+From: Wolf <wolf@wolfsden.cz>
+Date: Wed, 20 Jul 2022 02:00:53 +0200
+Subject: [PATCH 3/4] Make generate_bash_completion compatible with busybox
+
+Under busybox, expr does not accept -- (since it is not defined to take
+any options, I would say it makes sense), so remove it from the script
+generating bash completion.
+---
+ scripts/generate_bash_completion.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/scripts/generate_bash_completion.sh b/scripts/generate_bash_completion.sh
+index 778810570c..46a3965f85 100755
+--- a/scripts/generate_bash_completion.sh
++++ b/scripts/generate_bash_completion.sh
+@@ -34,7 +34,7 @@ die() {
+ }
+
+ get_optarg() {
+- expr -- "${1}" : "[^=]*=\\(.*\\)"
++ expr "${1}" : "[^=]*=\\(.*\\)"
+ }
+
+ append=
+--
+2.36.2
+
diff --git a/testing/bazel5/0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch b/testing/bazel5/0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch
new file mode 100644
index 00000000000..a15074cb43e
--- /dev/null
+++ b/testing/bazel5/0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch
@@ -0,0 +1,34 @@
+From d958b7c41d5e26ba2fb1382d8ede2de61f87e292 Mon Sep 17 00:00:00 2001
+From: Wolf <wolf@wolfsden.cz>
+Date: Wed, 20 Jul 2022 02:00:53 +0200
+Subject: [PATCH 4/4] Use nojdk bazel for generating the bash completion
+
+---
+ scripts/BUILD | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/scripts/BUILD b/scripts/BUILD
+index c477439950..7fc19a58e0 100644
+--- a/scripts/BUILD
++++ b/scripts/BUILD
+@@ -12,7 +12,7 @@ genrule(
+ outs = ["bazel-complete.bash"],
+ cmd = " ".join([
+ "$(location :generate_bash_completion.sh)",
+- "--bazel=$(location //src:bazel)",
++ "--bazel=$(location //src:bazel_nojdk)",
+ "--output=$@",
+ "--prepend=$(location bazel-complete-header.bash)",
+ "--prepend=$(location bazel-complete-template.bash)",
+@@ -20,7 +20,7 @@ genrule(
+ output_to_bindir = 1,
+ tools = [
+ ":generate_bash_completion.sh",
+- "//src:bazel",
++ "//src:bazel_nojdk",
+ ],
+ visibility = ["//scripts/packages:__subpackages__"],
+ )
+--
+2.36.2
+
diff --git a/testing/bazel5/APKBUILD b/testing/bazel5/APKBUILD
new file mode 100644
index 00000000000..f9062bef22e
--- /dev/null
+++ b/testing/bazel5/APKBUILD
@@ -0,0 +1,70 @@
+# Maintainer: Gray Wolf <wolf@wolfsden.cz>
+pkgname=bazel5
+pkgver=5.3.2
+pkgrel=0
+pkgdesc="Bazel is an open-source build and test tool"
+url="https://bazel.build/"
+# 1. Copy arch line from openjdk11, since we depend on it
+# 2. aarch64, ppc64le times out in CI, 1h is not enough
+arch="all !x86 !armhf !armv7 !riscv64 !s390x !aarch64 !ppc64le"
+license="Apache-2.0"
+depends="bash openjdk11-jdk"
+makedepends="linux-headers python3 unzip zip"
+# Bazel binary is thin C++ client with zip file embedded into the binary,
+# stripping breaks that: https://github.com/bazelbuild/bazel/issues/11842
+options="!strip"
+provides="bazel=$pkgver-r$pkgrel"
+subpackages="$pkgname-bash-completion"
+source="
+ https://github.com/bazelbuild/bazel/releases/download/$pkgver/bazel-$pkgver-dist.zip
+ 0001-Do-not-use-prebuilt-binaries.patch
+ 0002-Prefer-local_jdk-instead-of-remote_jdk11.patch
+ 0003-Make-generate_bash_completion-compatible-with-busybo.patch
+ 0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch
+"
+builddir="$srcdir/"
+
+build() {
+ EMBED_LABEL=$pkgver-$pkgrel \
+ EXTRA_BAZEL_ARGS=--tool_java_runtime_version=local_jdk \
+ ./compile.sh
+
+ ./output/bazel build //scripts:bazel-complete.bash
+ cp bazel-bin/scripts/bazel-complete.bash output/
+
+ ./output/bazel clean --expunge
+}
+
+check() {
+ # shellcheck disable=SC2046
+ ./output/bazel build $(\
+ ./output/bazel query --noshow_progress '//examples/...' \
+ | grep -vF \
+ -e /android/ \
+ -e /windows/ \
+ -e :hello-error-prone \
+ )
+ ./output/bazel test \
+ //examples/cpp:hello-success_test \
+ //examples/java-native/src/test/java/com/example/myproject:custom \
+ //examples/java-native/src/test/java/com/example/myproject:hello \
+ //examples/java-starlark/src/test/java/com/example/myproject:pass \
+ //examples/py_native:test \
+ //examples/shell:test
+
+ ./output/bazel clean --expunge
+}
+
+package() {
+ install -Dm 755 -t "$pkgdir/usr/bin" output/bazel
+ install -Dm 644 output/bazel-complete.bash \
+ "$pkgdir/usr/share/bash-completion/completions/bazel"
+}
+
+sha512sums="
+a63895c224d51619cf83e6e55872aa6d55d17c7dcea59eaf467069d2c95259f5964fbf8fa5994df0e3c030234a7adf70a2715edb4edbbe2bf69d21dd698c0833 bazel-5.3.2-dist.zip
+5b7709629f1f4a4604abbf626c17b0a83f3ddcb8e71a05d253eb592e1006027d693d58d67d35deb941ed1e0e60fa8d1f3229b59f844fa7e3eca866cafc2354f2 0001-Do-not-use-prebuilt-binaries.patch
+b5b6aeb5d8b097bd6f58d441f801dce9b3f2ed7706623d0c8650582a421509e4c843b6e298affeb3256dded4f706a56502847b391ec666ac882362d34529ad25 0002-Prefer-local_jdk-instead-of-remote_jdk11.patch
+a422b45f90733157c14f3c4c54a88acd1ad49053b043a90a37c67e6d5342acb9685c467c642c232fc5cc6c80ec35a8187284da06d36e8084f0583e86e73a9130 0003-Make-generate_bash_completion-compatible-with-busybo.patch
+fb51b7caf1b05c3f531bbbbdb4fe76666c07f423d66ab0826a0590f09b71e67197d46a36c307d1690845f8055c523c27f00a21e890b7457b402d68ba1a12b085 0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch
+"
diff --git a/testing/bazel6/0001-Do-not-use-prebuilt-binaries.patch b/testing/bazel6/0001-Do-not-use-prebuilt-binaries.patch
new file mode 100644
index 00000000000..58232e4d1ce
--- /dev/null
+++ b/testing/bazel6/0001-Do-not-use-prebuilt-binaries.patch
@@ -0,0 +1,20 @@
+diff --git a/tools/jdk/BUILD.tools b/tools/jdk/BUILD.tools
+index a8bb7c7889..bd756ba8a3 100644
+--- a/tools/jdk/BUILD.tools
++++ b/tools/jdk/BUILD.tools
+@@ -162,7 +162,6 @@ alias(
+ alias(
+ name = "ijar_prebuilt_binary_or_cc_binary",
+ actual = select({
+- "//src/conditions:linux_x86_64": ":ijar_prebuilt_binary_linux",
+ "//src/conditions:darwin": ":ijar_prebuilt_binary_darwin",
+ "//src/conditions:windows": ":ijar_prebuilt_binary_windows",
+ "//conditions:default": "@remote_java_tools//:ijar_cc_binary",
+@@ -192,7 +191,6 @@ alias(
+ alias(
+ name = "singlejar_prebuilt_or_cc_binary",
+ actual = select({
+- "//src/conditions:linux_x86_64": ":prebuilt_singlejar_linux",
+ "//src/conditions:darwin": ":prebuilt_singlejar_darwin",
+ "//src/conditions:windows": ":prebuilt_singlejar_windows",
+ "//conditions:default": "@remote_java_tools//:singlejar_cc_bin",
diff --git a/testing/bazel6/0002-Prefer-local_jdk-instead-of-remote_jdk11.patch b/testing/bazel6/0002-Prefer-local_jdk-instead-of-remote_jdk11.patch
new file mode 100644
index 00000000000..54848cea90c
--- /dev/null
+++ b/testing/bazel6/0002-Prefer-local_jdk-instead-of-remote_jdk11.patch
@@ -0,0 +1,61 @@
+diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
+index 8e81e124e9..cccf832d94 100644
+--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
++++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaOptions.java
+@@ -535,7 +535,7 @@ public class JavaOptions extends FragmentOptions {
+
+ @Option(
+ name = "tool_java_runtime_version",
+- defaultValue = "remotejdk_11",
++ defaultValue = "local_jdk",
+ documentationCategory = OptionDocumentationCategory.UNCATEGORIZED,
+ effectTags = {OptionEffectTag.UNKNOWN},
+ help = "The Java runtime version used to execute tools during the build")
+diff --git a/tools/jdk/BUILD.tools b/tools/jdk/BUILD.tools
+index bd756ba8a3..bd4c517984 100644
+--- a/tools/jdk/BUILD.tools
++++ b/tools/jdk/BUILD.tools
+@@ -298,7 +298,7 @@ alias(
+
+ alias(
+ name = "host_jdk",
+- actual = ":remote_jdk11",
++ actual = "@local_jdk//:jdk",
+ )
+
+ bootclasspath(
+diff --git a/tools/jdk/default_java_toolchain.bzl b/tools/jdk/default_java_toolchain.bzl
+index 7251e79068..46de360f75 100644
+--- a/tools/jdk/default_java_toolchain.bzl
++++ b/tools/jdk/default_java_toolchain.bzl
+@@ -84,7 +84,7 @@ DEFAULT_TOOLCHAIN_CONFIGURATION = dict(
+ # Turbine is not a worker and parallel GC is faster for short-lived programs.
+ "-XX:+UseParallelGC",
+ ],
+- java_runtime = "@bazel_tools//tools/jdk:remote_jdk11",
++ java_runtime = "@local_jdk//:jdk",
+ )
+
+ # The 'vanilla' toolchain is an unsupported alternative to the default.
+@@ -119,9 +119,9 @@ PREBUILT_TOOLCHAIN_CONFIGURATION = dict(
+ # Turbine is not a worker and parallel GC is faster for short-lived programs.
+ "-XX:+UseParallelGC",
+ ],
+- ijar = ["@bazel_tools//tools/jdk:ijar_prebuilt_binary"],
+- singlejar = ["@bazel_tools//tools/jdk:prebuilt_singlejar"],
+- java_runtime = "@bazel_tools//tools/jdk:remote_jdk11",
++ ijar = ["@remote_java_tools//:ijar_cc_binary"],
++ singlejar = ["@remote_java_tools//:singlejar_cc_bin"],
++ java_runtime = "@local_jdk//:jdk",
+ )
+
+ # The new toolchain is using all the tools from sources.
+@@ -136,7 +136,7 @@ NONPREBUILT_TOOLCHAIN_CONFIGURATION = dict(
+ ],
+ ijar = ["@remote_java_tools//:ijar_cc_binary"],
+ singlejar = ["@remote_java_tools//:singlejar_cc_bin"],
+- java_runtime = "@bazel_tools//tools/jdk:remote_jdk11",
++ java_runtime = "@local_jdk//:jdk",
+ )
+
+ def default_java_toolchain(name, configuration = DEFAULT_TOOLCHAIN_CONFIGURATION, toolchain_definition = True, **kwargs):
diff --git a/testing/bazel6/0003-Make-generate_bash_completion-compatible-with-busybo.patch b/testing/bazel6/0003-Make-generate_bash_completion-compatible-with-busybo.patch
new file mode 100644
index 00000000000..26b847743bf
--- /dev/null
+++ b/testing/bazel6/0003-Make-generate_bash_completion-compatible-with-busybo.patch
@@ -0,0 +1,13 @@
+diff --git a/scripts/generate_bash_completion.sh b/scripts/generate_bash_completion.sh
+index 778810570c..46a3965f85 100755
+--- a/scripts/generate_bash_completion.sh
++++ b/scripts/generate_bash_completion.sh
+@@ -34,7 +34,7 @@ die() {
+ }
+
+ get_optarg() {
+- expr -- "${1}" : "[^=]*=\\(.*\\)"
++ expr "${1}" : "[^=]*=\\(.*\\)"
+ }
+
+ append=
diff --git a/testing/bazel6/0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch b/testing/bazel6/0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch
new file mode 100644
index 00000000000..fa3075cbd4f
--- /dev/null
+++ b/testing/bazel6/0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch
@@ -0,0 +1,22 @@
+diff --git a/scripts/BUILD b/scripts/BUILD
+index c477439950..7fc19a58e0 100644
+--- a/scripts/BUILD
++++ b/scripts/BUILD
+@@ -12,7 +12,7 @@ genrule(
+ outs = ["bazel-complete.bash"],
+ cmd = " ".join([
+ "$(location :generate_bash_completion.sh)",
+- "--bazel=$(location //src:bazel)",
++ "--bazel=$(location //src:bazel_nojdk)",
+ "--output=$@",
+ "--prepend=$(location bazel-complete-header.bash)",
+ "--prepend=$(location bazel-complete-template.bash)",
+@@ -20,7 +20,7 @@ genrule(
+ output_to_bindir = 1,
+ tools = [
+ ":generate_bash_completion.sh",
+- "//src:bazel",
++ "//src:bazel_nojdk",
+ ],
+ visibility = ["//scripts/packages:__subpackages__"],
+ )
diff --git a/testing/bazel6/APKBUILD b/testing/bazel6/APKBUILD
new file mode 100644
index 00000000000..4dd7c843a8b
--- /dev/null
+++ b/testing/bazel6/APKBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Leon White <badfunkstripe@gmail.com>
+pkgname=bazel6
+pkgver=6.1.0
+pkgrel=0
+pkgdesc="Bazel is an open-source build and test tool"
+url="https://bazel.build/"
+arch="all !x86 !armhf !armv7 !riscv64 !s390x !aarch64 !ppc64le"
+license="Apache-2.0"
+depends="bash openjdk11-jdk"
+makedepends="linux-headers python3 unzip zip"
+# Bazel binary is thin C++ client with zip file embedded into the binary,
+# stripping breaks that: https://github.com/bazelbuild/bazel/issues/11842
+options="!strip"
+provides="bazel=$pkgver-r$pkgrel"
+subpackages="$pkgname-bash-completion"
+source="
+ https://github.com/bazelbuild/bazel/releases/download/$pkgver/bazel-$pkgver-dist.zip
+ 0001-Do-not-use-prebuilt-binaries.patch
+ 0002-Prefer-local_jdk-instead-of-remote_jdk11.patch
+ 0003-Make-generate_bash_completion-compatible-with-busybo.patch
+ 0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch
+"
+builddir="$srcdir/"
+
+build() {
+ EMBED_LABEL=$pkgver-$pkgrel \
+ EXTRA_BAZEL_ARGS=--tool_java_runtime_version=local_jdk \
+ ./compile.sh
+
+ ./output/bazel build //scripts:bazel-complete.bash
+ cp bazel-bin/scripts/bazel-complete.bash output/
+
+ ./output/bazel clean --expunge
+}
+
+check() {
+ # shellcheck disable=SC2046
+ ./output/bazel build $(\
+ ./output/bazel query --noshow_progress '//examples/...' \
+ | grep -vF \
+ -e /android/ \
+ -e /windows/ \
+ -e :hello-error-prone \
+ )
+ ./output/bazel test \
+ //examples/cpp:hello-success_test \
+ //examples/java-native/src/test/java/com/example/myproject:custom \
+ //examples/java-native/src/test/java/com/example/myproject:hello \
+ //examples/java-starlark/src/test/java/com/example/myproject:pass \
+ //examples/py_native:test \
+ //examples/shell:test
+
+ ./output/bazel clean --expunge
+}
+
+package() {
+ install -Dm 755 -t "$pkgdir/usr/bin" output/bazel
+ install -Dm 644 output/bazel-complete.bash \
+ "$pkgdir/usr/share/bash-completion/completions/bazel"
+}
+
+sha512sums="
+222c72b34566229bb96e2936558f5f8078e3999a10af5beaac231d2ada2e7a69444c4174b1f588f8471424c097422faa7a2bc7a402ee78fbd81729f85ba21bfb bazel-6.1.0-dist.zip
+a18fbeccd595ed86f66557d6cd270ccc2bc9b2736b8f1fc2c79e3fe219e5af836f5b73b211ae31df33af2e7c3097e438e88034ffecea41731b2147fed6ee1bf4 0001-Do-not-use-prebuilt-binaries.patch
+32019e3ef57e00215e1123b40de78328767b16151d885746086494e27f47648d601971528c8df8c6c1c309928b60629417c2fcdcf085badce6a3a5ea7c3aca34 0002-Prefer-local_jdk-instead-of-remote_jdk11.patch
+b0bae27087f8d1da6a455500fc9fb4758ffdeaa27f0b11de720a0607aa3a4d682adfc1286b6385fe53e67296e7af1f61570b6b3093def1e8cee8531c7f4f5f82 0003-Make-generate_bash_completion-compatible-with-busybo.patch
+a102371e03345e62e3ecc181382481563be92246bda08d9a6c24964c35d07301a20ecc32d519a9c9d9a6d0827b6773357f9ac756fa01ae685666100f0413d09b 0004-Use-nojdk-bazel-for-generating-the-bash-completion.patch
+"
diff --git a/testing/bchunk/APKBUILD b/testing/bchunk/APKBUILD
index cef2ddd9328..73820608729 100644
--- a/testing/bchunk/APKBUILD
+++ b/testing/bchunk/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=bchunk
pkgver=1.2.2
-pkgrel=1
+pkgrel=2
pkgdesc="Convert bin+cue CD images to .iso and .cdr"
url="https://github.com/hessu/bchunk"
arch="all"
diff --git a/testing/bcnm/APKBUILD b/testing/bcnm/APKBUILD
index b513fb263dd..c953f70c87a 100644
--- a/testing/bcnm/APKBUILD
+++ b/testing/bcnm/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer: Laurent Bercot <ska-devel@skarnet.org>
pkgname=bcnm
-pkgver=0.0.1.5
+pkgver=0.0.1.7
pkgrel=0
pkgdesc="Better Client Network Manager"
-url="https://skarnet.org/software/bcnm/"
+url=https://skarnet.org/software/bcnm/
arch="all"
license="ISC"
options="!check"
-makedepends="skalibs-dev>=2.11 linux-headers"
+makedepends="skalibs-dev>=2.14 linux-headers"
subpackages="$pkgname-dev $pkgname-doc"
source="https://skarnet.org/software/bcnm/bcnm-$pkgver.tar.gz"
@@ -35,5 +35,5 @@ doc() {
}
sha512sums="
-83cf31c62f1092008aa16ce8896f038cfdeb4009c3e161647ea76b264fb044bf37e029ad6362490fb15b36338d9cbe16373dac6b1320fd118dc563200518117e bcnm-0.0.1.5.tar.gz
+b8e03eef743097b6f44864269b336dc579b8b835ba24006d09d7da5d03637f101c1840594af8b7a28cb2062096df0e3ade7559b6f97b9472d24df42d2998e6d2 bcnm-0.0.1.7.tar.gz
"
diff --git a/testing/bdfr/APKBUILD b/testing/bdfr/APKBUILD
new file mode 100644
index 00000000000..5efac06c274
--- /dev/null
+++ b/testing/bdfr/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=bdfr
+pkgver=2.6.2
+pkgrel=1
+pkgdesc="Downloads and archives content from reddit"
+url="https://github.com/aliparlakci/bulk-downloader-for-reddit"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ py3-appdirs
+ py3-beautifulsoup4
+ py3-click
+ py3-dict2xml
+ py3-praw
+ py3-requests
+ py3-yaml
+ python3
+ yt-dlp-core
+ "
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+source="https://github.com/aliparlakci/bulk-downloader-for-reddit/archive/refs/tags/v$pkgver/bdfr-$pkgver.tar.gz"
+builddir="$srcdir/bulk-downloader-for-reddit-$pkgver"
+options="!check" # require actually downloading a bunch of data from the apis
+
+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="
+2f5cdd9bb8be388add20dec70af378a5c13c7d1964dd601c4297f5873924321fd0dcd9e114e7e7243e812f60392890a05e2bc01b1d3004a2ddefb8fbfebc6ef9 bdfr-2.6.2.tar.gz
+"
diff --git a/testing/beancount-language-server/APKBUILD b/testing/beancount-language-server/APKBUILD
new file mode 100644
index 00000000000..be4ef78c2a7
--- /dev/null
+++ b/testing/beancount-language-server/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=beancount-language-server
+pkgver=1.3.4
+pkgrel=0
+pkgdesc="Language server for Beancount files"
+url="https://github.com/polarmutex/beancount-language-server"
+license="MIT"
+arch="all !armhf" # FTBFS
+makedepends="cargo cargo-auditable"
+source="https://github.com/polarmutex/beancount-language-server/archive/v$pkgver/beancount-language-server-$pkgver.tar.gz"
+options="!check net" # no test suite, fetch dependencies
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+package() {
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+48f06ccca47a4819a9a3214206ae3a517ee74174b13f4b6d7783fe7a89c8430494e9f19869f2ead49000a87c533c6495f3e11af1def8a7155b4a8ca32ef1eae7 beancount-language-server-1.3.4.tar.gz
+"
diff --git a/testing/beard/APKBUILD b/testing/beard/APKBUILD
index ae6801ad1a8..908f673663b 100644
--- a/testing/beard/APKBUILD
+++ b/testing/beard/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Andrew Hills <ahills@ednos.net>
# Maintainer: Andrew Hills <ahills@ednos.net>
pkgname=beard
-pkgver=0.3
+pkgver=0.4
pkgrel=0
pkgdesc="Simple hibernation daemon"
url="https://github.com/ahills/beard"
@@ -20,4 +20,6 @@ package() {
make PREFIX=/usr DESTDIR="$pkgdir" openrc install
}
-sha512sums="4348bc06811e1dbdcb7d5e8b90c8f927f13cf66aa9536dfa4566388e8ddb5e75dd4681f7e8034125832784c9864015872a2708688d8a4051ac3b69a80334c09d beard-0.3.tar.gz"
+sha512sums="
+fbc09780d64543ff3a95315f3766f633ba23bc1c09943dd378be113f5b0b6dfb6bf35e069809e56fb6cea57c12e6998f6984a4ff0cff31462689975527f13aa7 beard-0.4.tar.gz
+"
diff --git a/testing/bees/10-pthread_getname1.patch b/testing/bees/10-pthread_getname1.patch
index 2a5d88c56ab..98f7798c109 100644
--- a/testing/bees/10-pthread_getname1.patch
+++ b/testing/bees/10-pthread_getname1.patch
@@ -1,23 +1,13 @@
---- bees-0.6.1/lib/task.cc
-+++ bees-0.6.1/lib/task.cc
-@@ -104,7 +104,6 @@
-
- char buf[24];
- memset(buf, '\0', sizeof(buf));
-- DIE_IF_MINUS_ERRNO(pthread_getname_np(pthread_self(), buf, sizeof(buf)));
- Cleanup pthread_name_cleaner([&]() {
- pthread_setname_np(pthread_self(), buf);
- });
---- bees-0.6.1/src/bees.cc
-+++ bees-0.6.1/src/bees.cc
-@@ -160,10 +160,6 @@
- // OK try the pthread name next.
- char buf[24];
- memset(buf, '\0', sizeof(buf));
-- int err = pthread_getname_np(pthread_self(), buf, sizeof(buf));
-- if (err) {
-- return string("pthread_getname_np: ") + strerror(err);
-- }
- buf[sizeof(buf) - 1] = '\0';
-
- // thread_getname_np returns process name
+diff --git a/lib/task.cc b/lib/task.cc
+index 9604ff2..238a841 100644
+--- a/lib/task.cc
++++ b/lib/task.cc
+@@ -32,8 +32,6 @@ namespace crucible {
+ pthread_getname()
+ {
+ char buf[thread_name_length + 1] = { 0 };
+- // We'll get an empty name if this fails...
+- pthread_getname_np(pthread_self(), buf, sizeof(buf));
+ // ...or at least null-terminated garbage
+ buf[thread_name_length] = '\0';
+ return buf;
diff --git a/testing/bees/APKBUILD b/testing/bees/APKBUILD
index 5c38cc58f29..46c77fde152 100644
--- a/testing/bees/APKBUILD
+++ b/testing/bees/APKBUILD
@@ -1,17 +1,18 @@
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
# Maintainer: Bradley Saulteaux <bradsoto@gmail.com>
pkgname=bees
-pkgver=0.6.5
+pkgver=0.10
pkgrel=0
pkgdesc="Best-Effort Extent-Same, a btrfs dedup agent"
url="https://github.com/Zygo/bees"
arch="all"
license="GPL-3.0-or-later"
-depends="btrfs-progs"
+depends="btrfs-progs bash util-linux-misc"
makedepends="btrfs-progs-dev util-linux-dev"
subpackages="$pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://github.com/Zygo/bees/archive/v$pkgver.tar.gz
+ no-werror.patch
10-pthread_getname1.patch
- ppc64le_fix_min_compare.patch
bees.initd
"
@@ -31,8 +32,8 @@ package() {
}
sha512sums="
-db4cf6bc8c7709ee9aa1e2faa2ac1c6323fb8c7407470cec0c370a0f910ec4a1f3cf6ebe695d16383aaec00b62b3de77aa5bbdd47502bdb564e247b3b8879e0b bees-0.6.5.tar.gz
-50c9cc16f094a0a69f31cf6e42601b9114344ea23a1455d6b5a3f18829ad03426ebdc37187af747bb74f51f75866c3a6da8805d0537af8e729a2f53819d52efb 10-pthread_getname1.patch
-2e13a670184d71b64e04450adb182d0a6e842e1a7d561882e0a07ae4ea7a9ed15a3fcce03f61c5412eabdb2fadf559f221e21ffd10440c4b8b700f3eab02aab4 ppc64le_fix_min_compare.patch
+77a4ae3d66430c2d9dc0351c16c60bad95f21e238fc00f5f5787f55929ba75ee25212ac4bb4a3e4a9419cec27bbcfd2987aa925a54bc2872609b38a698dbedc3 bees-0.10.tar.gz
+54dfe7b30ccb75500662001de00a55eca43d813a793f46f2ad062e26826083d593ee7c62ca090eac299285f8d758541754408b657f5d4695d951e08ea2cb8b10 no-werror.patch
+3cd163540719b8859e3d9dec0e75284c030f1b9acdd7dfc5cf2ab5f313254f318a16cce254b18dfe928ae5127564d772b850167e89541b83a4f5872ff2835a65 10-pthread_getname1.patch
093bc4c9604a0b28b39069e447d83800c91d0974fe4618ce5e5063e5c816b2d63c1b633710c592d76e8f6367d696283d6fa4a3a9561b09ce62fa28cabf8e55d0 bees.initd
"
diff --git a/testing/bees/no-werror.patch b/testing/bees/no-werror.patch
new file mode 100644
index 00000000000..20c087db2cc
--- /dev/null
+++ b/testing/bees/no-werror.patch
@@ -0,0 +1,11 @@
+diff --git a/makeflags b/makeflags
+index e008011..a17e9e2 100644
+--- a/makeflags
++++ b/makeflags
+@@ -1,5 +1,5 @@
+ # Default:
+-CCFLAGS = -Wall -Wextra -Werror -O3
++CCFLAGS = -Wall -Wextra
+
+ # Optimized:
+ # CCFLAGS = -Wall -Wextra -Werror -O3 -march=native
diff --git a/testing/bees/ppc64le_fix_min_compare.patch b/testing/bees/ppc64le_fix_min_compare.patch
deleted file mode 100644
index 49cb49359d2..00000000000
--- a/testing/bees/ppc64le_fix_min_compare.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/fiemap.cc
-+++ b/src/fiemap.cc
-@@ -27,7 +27,7 @@
- if (argc > 2) { fm.fm_start = stoull(argv[2], nullptr, 0); }
- if (argc > 3) { fm.fm_length = stoull(argv[3], nullptr, 0); }
- if (argc > 4) { fm.fm_flags = stoull(argv[4], nullptr, 0); }
-- fm.fm_length = min(fm.fm_length, FIEMAP_MAX_OFFSET - fm.fm_start);
-+ fm.fm_length = min(fm.fm_length, (uint64_t)FIEMAP_MAX_OFFSET - fm.fm_start);
- uint64_t stop_at = fm.fm_start + fm.fm_length;
- uint64_t last_byte = fm.fm_start;
- do {
diff --git a/testing/belcard/APKBUILD b/testing/belcard/APKBUILD
index cbba864f7d3..9aaca7b2f90 100644
--- a/testing/belcard/APKBUILD
+++ b/testing/belcard/APKBUILD
@@ -1,42 +1,37 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=belcard
-pkgver=5.0.66
+pkgver=5.3.38
pkgrel=0
pkgdesc="C++ library to manipulate VCard standard format"
-url="https://linphone.org"
+url="https://linphone.org/"
arch="all"
license="GPL-3.0-or-later"
options="!check" # not test available
-makedepends="cmake bctoolbox-dev belr-dev"
-subpackages="$pkgname-dev"
-source="https://www.linphone.org/releases/sources/belcard/belcard-$pkgver.tar.gz"
-source="$pkgname-$pkgver.tar.gz::https://github.com/BelledonneCommunications/belcard/archive/$pkgver.tar.gz"
+makedepends="cmake bctoolbox-dev belr-dev samurai"
+subpackages="$pkgname-dev $pkgname-libs"
+source="$pkgname-$pkgver.tar.bz2::https://gitlab.linphone.org/BC/public/belcard/-/archive/$pkgver/belcard-$pkgver.tar.bz2
+ fix-cmake-path.patch
+ "
build() {
- cmake -B build . \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_MODULE_PATH=/usr/lib/cmake \
-DCMAKE_INSTALL_DATADIR=share \
-DENABLE_STRICT=NO \
- -DENABLE_SHARED=YES \
+ -DBUILD_SHARED_LIBS=YES \
-DENABLE_STATIC=NO \
-DENABLE_UNIT_TESTS=NO
- make -C build
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-dev() {
- default_dev
- mkdir -p "$subpkgdir"/usr/lib/cmake/belcard
- mv "$pkgdir"/usr/share/belcard/cmake/* "$subpkgdir"/usr/lib/cmake/belcard
-}
-
-
sha512sums="
-0910209f8141cd49d64e38d47602e433ad69c3b4744ae7a801a0d8a38293177d5296de9b43c89e2182cbc47aa51c3aa4034b9c6442007044dd26ef968c226561 belcard-5.0.66.tar.gz
+c64763df96a3fdb0e50e3022173ed195f7ac5a4836c547aeb129aecb7667fe76fa78b7b0aa948d2840c4476c474bd9c73249cf5bbd19a6c1ba7971fd969452d2 belcard-5.3.38.tar.bz2
+325ded3645fa04c65a171b17fcdd69e3bb877f5e3f07935dfc0cad624921733d1ef9bb715705a61bf806129b055462f505ed6698df95d5e1d1b09105f274ee81 fix-cmake-path.patch
"
diff --git a/testing/belcard/fix-cmake-path.patch b/testing/belcard/fix-cmake-path.patch
new file mode 100644
index 00000000000..4585422dbc6
--- /dev/null
+++ b/testing/belcard/fix-cmake-path.patch
@@ -0,0 +1,13 @@
+Adapted from https://github.com/OpenMandrivaAssociation/belcard/blob/master/belcard-5.3.6-fix-cmake-dir.patch
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -119,7 +119,7 @@ if(ENABLE_TOOLS)
+ endif()
+
+ include(CMakePackageConfigHelpers)
+-set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake")
++set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/")
+ configure_package_config_file("${PROJECT_NAME}Config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ INSTALL_DESTINATION "${CMAKE_MODULES_INSTALL_DIR}"
+ NO_SET_AND_CHECK_MACRO
diff --git a/testing/belle-sip/APKBUILD b/testing/belle-sip/APKBUILD
index f3ed25713d2..4bbf77a4418 100644
--- a/testing/belle-sip/APKBUILD
+++ b/testing/belle-sip/APKBUILD
@@ -1,38 +1,44 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=belle-sip
-pkgver=5.0.66
+pkgver=5.3.38
pkgrel=0
pkgdesc="SIP (RFC3261) implementation written in C"
-url="https://www.linphone.org"
-arch="all !mips !mips64 !riscv64" # java
+url="https://www.linphone.org/"
+arch="all !riscv64" # java
license="GPL-2.0-or-later"
options="!check" # no test available
makedepends="cmake libantlr3c libantlr3c-dev bctoolbox-dev
-zlib-dev mbedtls-dev java-jre-headless belr-dev"
+zlib-dev mbedtls-dev java-jre-headless belr-dev samurai"
subpackages="$pkgname-dev"
source="https://gitlab.linphone.org/BC/public/belle-sip/-/archive/$pkgver/belle-sip-$pkgver.tar.gz
antlr.jar::https://github.com/antlr/website-antlr3/blob/gh-pages/download/antlr-3.4-complete.jar?raw=true"
+# unversioned provider of java-jre-headless needs to be selected explicitly
+case "$CARCH" in
+armv7|armhf|x86)
+ makedepends="$makedepends openjdk8-jre-base"
+ ;;
+esac
+
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_MODULE_PATH=/usr/lib/cmake \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
-DENABLE_STATIC=NO \
- -DENABLE_SHARED=YES \
- -DENABLE_TESTS=NO \
- -DENABLE_STRICT=NO \
- -DANTLR3_JAR_PATH="$srcdir"/antlr.jar
- make -C build
+ -DBUILD_SHARED_LIBS=YES \
+ -DENABLE_UNIT_TESTS=NO \
+ -DENABLE_STRICT=NO
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-9ad4cef3790e1324f017e8c21eaca1d84f0f8f6ebca9870d648b78a46830f79cc9a33dc6648e082d0a5f642b369767787996e25283736527524b6f215fc2f61f belle-sip-5.0.66.tar.gz
+bb6143c2ac7b8551d58f4c15076dbb56405cc653e50030a7d7208d27401658fe199bdb65332dbfbece5a68f93957140b59def88777e7abf6222550c192be7c2c belle-sip-5.3.38.tar.gz
04be4dfba3a21f3ab9d9e439a64958bd8e844a9f151b798383bd9e0dd6ebc416783ae7cb1d1dbb27fb7288ab9756b13b8338cdb8ceb41a10949c852ad45ab1f2 antlr.jar
"
diff --git a/testing/belr/APKBUILD b/testing/belr/APKBUILD
index 16abe72171c..dac79920b8c 100644
--- a/testing/belr/APKBUILD
+++ b/testing/belr/APKBUILD
@@ -1,27 +1,28 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=belr
-pkgver=5.0.66
+pkgver=5.3.38
pkgrel=0
pkgdesc="ABNF Parser"
-url="https://www.linphone.org"
+url="https://www.linphone.org/"
arch="all"
license="GPL-3.0-or-later"
options="!check" # not test available
-makedepends="cmake bctoolbox-dev eudev-dev"
+makedepends="cmake bctoolbox-dev eudev-dev samurai"
subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/BelledonneCommunications/belr/archive/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.bz2::https://gitlab.linphone.org/BC/public/belr/-/archive/$pkgver/belr-$pkgver.tar.bz2"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_MODULE_PATH=/usr/lib/cmake \
-DENABLE_STRICT=NO \
- -DENABLE_SHARED=YES \
- -DENABLE_TESTS=NO \
+ -DBUILD_SHARED_LIBS=YES \
+ -DENABLE_UNIT_TESTS=NO \
-DENABLE_STATIC=NO \
- .
+ -DENABLE_STRICT=NO
+
cmake --build build
}
@@ -30,5 +31,5 @@ package() {
}
sha512sums="
-b97591afa14f866b1d490983b545c14c668101752e6118e1966b21fdbd2dbef7eb44015ecd28a2411243234931a13c61058800007f8e93eda249cfd810417226 belr-5.0.66.tar.gz
+925a82f221458eb2791d524661283a318c6d846b2a79bbdff6223de43d96b08db457d33d695ccd2b8f09b8d2b50009c050e2cd135d73648af01fc66dc803e4b4 belr-5.3.38.tar.bz2
"
diff --git a/testing/berry-lang/APKBUILD b/testing/berry-lang/APKBUILD
new file mode 100644
index 00000000000..7cd89445706
--- /dev/null
+++ b/testing/berry-lang/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=berry-lang
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Ultra-lightweight embedded scripting language"
+url="https://github.com/berry-lang/berry"
+arch="all !s390x" # tests fail on big-endian
+license="MIT"
+makedepends="python3 readline-dev"
+source="https://github.com/berry-lang/berry/archive/refs/tags/v$pkgver/berry-lang-$pkgver.tar.gz"
+builddir="$srcdir/berry-$pkgver"
+
+build() {
+ make
+}
+
+check() {
+ local testcase
+ for testcase in tests/*; do
+ ./berry $testcase
+ done
+}
+
+package() {
+ install -Dm755 berry -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+84e035392d659e5de310a8a536c2abb1e0973cdfd7d7c3feb7eb433711d3fdd1b275065d54877b8ef824e3d4413dcb063c688a22f700724a422f90f77522aad7 berry-lang-1.1.0.tar.gz
+"
diff --git a/testing/bestline/APKBUILD b/testing/bestline/APKBUILD
new file mode 100644
index 00000000000..82b77063495
--- /dev/null
+++ b/testing/bestline/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Sebastian Hudak <sebastian@sebsite.pw>
+# Maintainer: Sebastian Hudak <sebastian@sebsite.pw>
+pkgname=bestline
+# No official release tagged yet; not ready to be moved out of testing.
+pkgver=0.0_git20211108
+_commit=8ab535e621b3848f8491469c2083c7ecb0df3e22
+pkgrel=0
+pkgdesc="Minimal replacement for readline"
+url="https://github.com/jart/bestline"
+arch="all"
+license="BSD-2-Clause"
+depends_dev="$pkgname"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$_commit.tar.gz::https://github.com/jart/bestline/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+options="!check" # No test suite
+
+build() {
+ # Makefile doesn't use -fPIC, which is needed for shared library
+ ${CC:-gcc} $CFLAGS -fPIC -c -o bestline.o bestline.c
+ ${CC:-gcc} $LDFLAGS -shared -o libbestline.so bestline.o
+}
+
+package() {
+ install -Dm755 libbestline.so "$pkgdir"/usr/lib/libbestline.so
+ install -Dm644 bestline.h "$pkgdir"/usr/include/bestline.h
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/bestline/README.md
+ install -m644 bestline.gif "$pkgdir"/usr/share/doc/bestline/bestline.gif
+}
+
+sha512sums="cd7411604c47a6910188394343b0388a0e580de891d332f4eea89f308888dfce5348fc94e826cb6cf960896ebf6272280cca90caca4537ca54e8719df61ec57b bestline-8ab535e621b3848f8491469c2083c7ecb0df3e22.tar.gz"
diff --git a/testing/bettercap/APKBUILD b/testing/bettercap/APKBUILD
index 23aefaed0c9..05e746c9328 100644
--- a/testing/bettercap/APKBUILD
+++ b/testing/bettercap/APKBUILD
@@ -2,13 +2,23 @@
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=bettercap
pkgver=2.32.0
-pkgrel=1
+pkgrel=20
pkgdesc="The Swiss Army knife for 802.11, BLE and Ethernet networks reconnaissance and MITM attacks"
url="https://www.bettercap.org"
arch="all"
license="GPL-3.0-only"
makedepends="libusb-dev libnetfilter_queue-dev libpcap-dev linux-headers go"
-source="$pkgname-$pkgver.tar.gz::https://github.com/bettercap/bettercap/archive/refs/tags/v$pkgver.tar.gz"
+source="https://github.com/bettercap/bettercap/archive/refs/tags/v$pkgver/bettercap-v$pkgver.tar.gz"
+
+export GOFLAGS="$GOFLAGS -modcacherw -trimpath"
+
+# github.com/chifflier/nfqueue-go/nfqueue 2017-02-22 does not include
+# <sys/types.h> for these types, this is the easiest patch
+export CGO_CFLAGS="$CFLAGS -Du_int32_t=uint32_t -Du_int16_t=uint16_t -Du_int8_t=uint8_t"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build -o "$builddir/bettercap" .
@@ -19,9 +29,9 @@ check() {
}
package() {
- install -Dm755 "$builddir/bettercap" "$pkgdir/usr/bin/bettercap"
+ install -Dm755 "$builddir"/bettercap -t "$pkgdir"/usr/bin
}
sha512sums="
-0728d2dab0c0a07fdfd91490f450be46b004ae994024bfdb6ef1b7ecac8044c4c70da9fdf986b9b31033c9698fb63e4f619604095727fb26d9ba2abc233b27d1 bettercap-2.32.0.tar.gz
+0728d2dab0c0a07fdfd91490f450be46b004ae994024bfdb6ef1b7ecac8044c4c70da9fdf986b9b31033c9698fb63e4f619604095727fb26d9ba2abc233b27d1 bettercap-v2.32.0.tar.gz
"
diff --git a/testing/betula/APKBUILD b/testing/betula/APKBUILD
new file mode 100644
index 00000000000..ae85032b8d0
--- /dev/null
+++ b/testing/betula/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
+pkgname=betula
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="free single-user bookmarking software"
+url="https://betula.mycorrhiza.wiki/"
+arch="all"
+license="AGPL-3.0-only"
+options="net" # go modules
+makedepends="go sqlite-dev"
+checkdepends="curl"
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+builddir="$srcdir/$pkgname-v$pkgver"
+source="$pkgname-v$pkgver.tar.gz::https://git.sr.ht/~bouncepaw/betula/archive/v$pkgver.tar.gz
+ $pkgname.initd
+ $pkgname.confd"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export CGO_ENABLED=1
+
+build() {
+ go mod tidy
+ go build -o betula ./cmd/betula
+}
+
+check() {
+ ./test-web.sh
+ local ret=$?
+
+ # Cleanup so we don't hang CI
+ killall -q betula
+ return $ret
+}
+
+package() {
+ install -Dm755 betula "$pkgdir"/usr/bin/betula
+
+ install -Dm755 "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/$pkgname
+
+}
+sha512sums="
+812c228d4d99b21637c28513b3b09cc9357ea6b9bc9b2a5d17b40b06d5cb714992d1690177047a3b2460f605fa376c68baa2d9ea3131d1ff12cbb9c4bfc3060b betula-v1.1.0.tar.gz
+93b8c65542050a04c225dbbf375dc5b1c44ac21f49c03976745d76e6d8f3b2cc4b66151324cf7e60d7fe5737c7f6b054798d7f5aa01de1eea86ba7e3002929fa betula.initd
+9d45d9b2b67248ec1cf7736453af1c54da3ddb82b1f37df2046e45603db90ee4654f23b7c5d40e702a3ae56f9a800ddc051369dbf5082e86580ab625208f595e betula.confd
+"
diff --git a/testing/betula/betula.confd b/testing/betula/betula.confd
new file mode 100644
index 00000000000..25c85aacb2d
--- /dev/null
+++ b/testing/betula/betula.confd
@@ -0,0 +1,3 @@
+supervisor=supervise-daemon
+datadir="/var/lib/betula"
+opts=""
diff --git a/testing/betula/betula.initd b/testing/betula/betula.initd
new file mode 100644
index 00000000000..e4131182704
--- /dev/null
+++ b/testing/betula/betula.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+name=betula
+description="Self-hosted personal link collection manager"
+
+command=/usr/bin/betula
+command_user=betula:betula
+command_args="${datadir}/links ${opts}"
+
+depend() {
+ use logger dns
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o $command_user "$datadir"
+}
diff --git a/testing/betula/betula.pre-install b/testing/betula/betula.pre-install
new file mode 100644
index 00000000000..60674c64498
--- /dev/null
+++ b/testing/betula/betula.pre-install
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+user=betula
+group=betula
+
+addgroup -S $group 2>/dev/null
+adduser -S -D -h /var/lib/$user -s /sbin/nologin -G $group -g $user $user 2>/dev/null
+
+exit 0
diff --git a/testing/bgpq4/APKBUILD b/testing/bgpq4/APKBUILD
new file mode 100644
index 00000000000..0087906a14d
--- /dev/null
+++ b/testing/bgpq4/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
+# Maintainer: Nicolas Lorin <androw95220@gmail.com>
+pkgname=bgpq4
+pkgver=1.12
+pkgrel=0
+pkgdesc="bgp filtering automation tool"
+url="https://github.com/bgp/bgpq4"
+arch="all"
+options="!check" #no test suite
+license="BSD-2-Clause"
+makedepends="autoconf automake libtool"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/bgp/bgpq4/archive/refs/tags/$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ ./bootstrap
+}
+
+build() {
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+501714dca3aa7f27f0f56c581c5d82fb1b609f5bad1254b453517f821ef99e673a0a118c6b2aa6e2430167fe322656d2e20ead9a09ec834709e586d07ec8abbc bgpq4-1.12.tar.gz
+"
diff --git a/testing/bgs/APKBUILD b/testing/bgs/APKBUILD
index b886bd9c9b1..01b6ce779f3 100644
--- a/testing/bgs/APKBUILD
+++ b/testing/bgs/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: dai9ah <dai9ah@protonmail.com>
pkgname=bgs
pkgver=0.8
-pkgrel=0
+pkgrel=1
pkgdesc="Extremely fast and small background setter for X"
url="https://github.com/Gottox/bgs"
arch="all"
diff --git a/testing/biboumi/APKBUILD b/testing/biboumi/APKBUILD
deleted file mode 100644
index e7ea3332729..00000000000
--- a/testing/biboumi/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Anjandev Momi <anjan@momi.ca>
-# Maintainer: Anjandev Momi <anjan@momi.ca>
-pkgname=biboumi
-pkgver=9.0
-pkgrel=1
-pkgdesc="XMPP to IRC gateway"
-options="!check" # has no tests
-url="https://biboumi.louiz.org/"
-arch="all"
-license="Zlib"
-makedepends="cmake expat-dev gnu-libiconv-dev util-linux-dev libpq-dev
- libidn-dev udns-dev botan-dev"
-subpackages="$pkgname-doc"
-source="https://git.louiz.org/biboumi/snapshot/biboumi-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -Wno-dev \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DWITH_BOTAN=True \
- -DWITHOUT_SYSTEMD=False \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-cfaacd831b56031906922472275c55fd6f1a5307ebe54959d21e3799ad4612499e8beeb34e8736df9eabc9fec1a861d17567250d64f316ace47395fd6c8f3c18 biboumi-9.0.tar.xz
-"
diff --git a/testing/bigbang/APKBUILD b/testing/bigbang/APKBUILD
deleted file mode 100644
index 369f03c8df1..00000000000
--- a/testing/bigbang/APKBUILD
+++ /dev/null
@@ -1,53 +0,0 @@
-# Contributor: MathxH Chen <brainfvck@foxmail.com>
-# Maintainer: MathxH Chen <brainfvck@foxmail.com>
-pkgname=bigbang
-pkgver=0.0.4
-pkgrel=2
-pkgdesc="The core node of bigbang blockchain network"
-url="https://github.com/BigBang-Foundation/BigBang"
-# x86, armv7, armhf, ppc64le - PoW Hash algorithm does not support 32-bit or powerpc at present
-# s390x, mips64 - tests fail
-arch="x86_64 aarch64"
-license="MIT"
-makedepends="
- cmake
- python3
- boost-dev
- openssl-dev
- readline-dev
- ncurses-dev
- libsodium-dev
- libexecinfo-dev
- leveldb-dev
- snappy-dev
- "
-# cmakelists.patch force use dynamic libs.
-source="$pkgname-$pkgver.tar.gz::https://github.com/BigBang-Foundation/BigBang/archive/v$pkgver.tar.gz
- cmakelists.patch
- "
-builddir="$srcdir/BigBang-$pkgver"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DALPINE_LINUX=True \
- $CMAKE_CROSSOPTS .
- make -C build
-}
-
-check() {
- ./build/test/test_big
- ./build/test/test_ctsdb
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-
-sha512sums="fdc03a05c4d367823e4fed474be2a7d7ff3455e8859eaa11839e1d195e84a8097f8bf3849b0d048d556fb2dbd624f1013814137183616deb5941dfd4b0159f8f bigbang-0.0.4.tar.gz
-cfc989960f59de959a1d1acefd8abff347c5a9ef3e834a01828ab9ee8c4ba392b4d363aeb667de472b44a16e2ffe25f978b67d0968be85d781f9f9fd0569d41f cmakelists.patch"
diff --git a/testing/bigbang/cmakelists.patch b/testing/bigbang/cmakelists.patch
deleted file mode 100755
index cc342750401..00000000000
--- a/testing/bigbang/cmakelists.patch
+++ /dev/null
@@ -1,39 +0,0 @@
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -94,21 +94,21 @@
- endif()
-
- # packages
--if(UNIX AND NOT CYGWIN)
-- set(Boost_USE_STATIC_LIBS ON)
-- set(OPENSSL_USE_STATIC_LIBS ON)
-- set(sodium_USE_STATIC_LIBS ON)
-- set(Boost_USE_MULTITHREADED ON)
-- set(Protobuf_USE_STATIC_LIBS ON)
-- set(Readline_USE_STATIC_LIBS ON)
--else()
-- set(Boost_USE_STATIC_LIBS OFF)
-- set(OPENSSL_USE_STATIC_LIBS OFF)
-- set(sodium_USE_STATIC_LIBS OFF)
-- set(Boost_USE_MULTITHREADED OFF)
-- set(Protobuf_USE_STATIC_LIBS OFF)
-- set(Readline_USE_STATIC_LIBS OFF)
--endif()
-+# if(UNIX AND NOT CYGWIN)
-+# set(Boost_USE_STATIC_LIBS ON)
-+# set(OPENSSL_USE_STATIC_LIBS ON)
-+# set(sodium_USE_STATIC_LIBS ON)
-+# set(Boost_USE_MULTITHREADED ON)
-+# set(Protobuf_USE_STATIC_LIBS ON)
-+# set(Readline_USE_STATIC_LIBS ON)
-+# else()
-+# set(Boost_USE_STATIC_LIBS OFF)
-+# set(OPENSSL_USE_STATIC_LIBS OFF)
-+# set(sodium_USE_STATIC_LIBS OFF)
-+# set(Boost_USE_MULTITHREADED OFF)
-+# set(Protobuf_USE_STATIC_LIBS OFF)
-+# set(Readline_USE_STATIC_LIBS OFF)
-+# endif()
-
- set(Boost_NO_BOOST_CMAKE ON)
- set(Boost_USE_MULTITHREADED ON)
diff --git a/testing/bindfs/APKBUILD b/testing/bindfs/APKBUILD
new file mode 100644
index 00000000000..f6fd531721b
--- /dev/null
+++ b/testing/bindfs/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Daniel Gerber <dg@atufi.org>
+# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
+pkgname=bindfs
+pkgver=1.17.6
+pkgrel=0
+pkgdesc="FUSE filesystem for mirroring a directory to another directory"
+url="https://bindfs.org"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="linux-headers fuse3-dev" # or fuse-dev
+checkdepends="ruby ruby-etc"
+subpackages="$pkgname-doc"
+options="!check"
+source="https://bindfs.org/downloads/bindfs-$pkgver.tar.gz
+ musl-getmntent-issue.patch"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ # NOTE: this requires the fuse kernel module to be loaded
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+57a6cf3cdeb6a3ebdbcd59349e0f6fbcb60c4383a26ffc7be3b61152138d593f995501234cb5d4082e689b640de73efc60ce05219c3df1ff776498be27bfe0f1 bindfs-1.17.6.tar.gz
+1c6491241393974923ed512ac2621c864f6f5e9f7e6faca83154cb785332049b49e18dda31ce297a4531bb0abf42d5039c996d0223eac105b0b7af377fd8c2ec musl-getmntent-issue.patch
+"
diff --git a/testing/bindfs/musl-getmntent-issue.patch b/testing/bindfs/musl-getmntent-issue.patch
new file mode 100644
index 00000000000..9003c6f9b28
--- /dev/null
+++ b/testing/bindfs/musl-getmntent-issue.patch
@@ -0,0 +1,18 @@
+# workaroung for musl getmntent: avoid using fusermount in test setup
+--- a/tests/common.rb
++++ b/tests/common.rb
+@@ -213,11 +213,5 @@ def nonroot_testenv(bindfs_args, options = {}, &block)
+ end
+
+ def umount_cmd
+- if !`which fusermount3`.strip.empty?
+- 'fusermount3 -uz'
+- elsif !`which fusermount`.strip.empty?
+- 'fusermount -uz'
+- else
+- 'umount'
+- end
++ 'umount'
+ end
+
+ def assert
diff --git a/testing/binwalk/APKBUILD b/testing/binwalk/APKBUILD
index 9948389fe8f..b13db61fbcf 100644
--- a/testing/binwalk/APKBUILD
+++ b/testing/binwalk/APKBUILD
@@ -1,23 +1,29 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=binwalk
-pkgver=2.3.3
+pkgver=2.4.0
pkgrel=1
pkgdesc="Fast, easy to use tool for analyzing and extracting firmware images"
url="https://github.com/ReFirmLabs/binwalk/"
arch="noarch"
license="MIT"
depends="py3-pycryptodome python3"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ReFirmLabs/binwalk/archive/v$pkgver.tar.gz"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OSPG/binwalk/archive/refs/tags/v$pkgver.tar.gz"
+
+# secfixes:
+# 2.3.4-r0:
+# - CVE-2022-4510
build() {
python3 setup.py build
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-d7e8d576cfc92b1488ceda7d4577aeaaefb2a251a5aca0b4a497da0dff7c6e6e862e0a77346593c77fb4e54b7de3d3a0c1c8c9421ecec8f06aabbc4b336920c5 binwalk-2.3.3.tar.gz
+41bee6a0d1cd587f81dcf81c30215a305b61e4db208bc9d8e4f0b9f12acb47e4dc2e6af23e06118ef6e30c484f6be743b456b6d4324be4388413ff291682345e binwalk-2.4.0.tar.gz
"
diff --git a/testing/biome/APKBUILD b/testing/biome/APKBUILD
new file mode 100644
index 00000000000..52e858dd24d
--- /dev/null
+++ b/testing/biome/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=biome
+pkgver=1.6.0
+pkgrel=0
+pkgdesc="Toolchain of the web"
+url="https://biomejs.dev/"
+license="MIT"
+arch="aarch64 x86_64" # architectures supported by upstream
+makedepends="cargo cargo-auditable"
+source="https://github.com/biomejs/biome/archive/cli/v$pkgver/biome-$pkgver.tar.gz"
+builddir="$srcdir/biome-cli-v$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+
+ git init
+ git config --local user.name "example"
+ git config --local user.email "example@example.com"
+ git add .
+ git commit -m "needed for symlink tests"
+}
+
+build() {
+ BIOME_VERSION="$pkgver" cargo auditable build -p biome_cli --frozen --release
+}
+
+check() {
+ cargo test -p biome_cli --frozen -- \
+ --skip commands::check::max_diagnostics_default \
+ --skip commands::ci::max_diagnostics \
+ --skip commands::ci::max_diagnostics_default
+}
+
+package() {
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+2d650d072e35662b2cab9250ef3aaaabc19e9d4eaf4526e6148cb27cefa2f8d82d37a05d64852120635e24a1e846cecbc21c658d25d40adf7d35b1b8e10adf3a biome-1.6.0.tar.gz
+"
diff --git a/testing/biometryd/0001-Add-missing-headers-for-gcc-13.patch b/testing/biometryd/0001-Add-missing-headers-for-gcc-13.patch
new file mode 100644
index 00000000000..3b484057669
--- /dev/null
+++ b/testing/biometryd/0001-Add-missing-headers-for-gcc-13.patch
@@ -0,0 +1,37 @@
+From c1ebddbf24b55d145a34722aaba79f0eb7e4d13b Mon Sep 17 00:00:00 2001
+From: Marius Gripsgard <mariogrip@debian.org>
+Date: Thu, 27 Jul 2023 03:17:55 +0200
+Subject: [PATCH] Add missing headers for gcc 13
+
+---
+ src/biometry/util/cli.h | 1 +
+ src/biometry/util/not_reachable.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/biometry/util/cli.h b/src/biometry/util/cli.h
+index b591ba5..4823fa9 100644
+--- a/src/biometry/util/cli.h
++++ b/src/biometry/util/cli.h
+@@ -32,6 +32,7 @@
+ #include <string>
+ #include <unordered_map>
+ #include <vector>
++#include <cstdint>
+
+ namespace biometry
+ {
+diff --git a/src/biometry/util/not_reachable.h b/src/biometry/util/not_reachable.h
+index 1d6d120..8a6176b 100644
+--- a/src/biometry/util/not_reachable.h
++++ b/src/biometry/util/not_reachable.h
+@@ -24,6 +24,7 @@
+
+ #include <stdexcept>
+ #include <string>
++#include <cstdint>
+
+ namespace biometry
+ {
+--
+2.40.1
+
diff --git a/testing/biometryd/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch b/testing/biometryd/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
new file mode 100644
index 00000000000..41feb166c06
--- /dev/null
+++ b/testing/biometryd/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
@@ -0,0 +1,125 @@
+From a5117d6b6e2bb7cf3181d2e07021c6dc55069252 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Wed, 31 Jan 2024 22:29:26 +0100
+Subject: [PATCH] Use CMAKE_INSTALL_FULL_* for installing
+
+While I don't think there should be a difference between the two
+variables for most cases, for SYSCONFDIR we might end up installing into
+/usr/etc/ if we don't use the FULL_SYSCONFDIR variable.
+---
+ data/CMakeLists.txt | 6 +++---
+ doc/CMakeLists.txt | 2 +-
+ include/CMakeLists.txt | 2 +-
+ include/biometry/CMakeLists.txt | 2 +-
+ include/biometry/hardware/CMakeLists.txt | 2 +-
+ src/biometry/CMakeLists.txt | 4 ++--
+ src/biometry/qml/Biometryd/CMakeLists.txt | 2 +-
+ 7 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 64d61b5..0b8a542 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -7,17 +7,17 @@ configure_file(
+
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/biometryd.pc
+- DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
++ DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig
+ )
+
+ install(
+ FILES ${CMAKE_CURRENT_SOURCE_DIR}/com.ubports.biometryd.Service.conf
+- DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d/
++ DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d/
+ )
+
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/biometryd.conf
+- DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/init
++ DESTINATION ${CMAKE_INSTALL_FULL_SYSCONFDIR}/init
+ )
+
+ if (USE_SYSTEMD)
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 94d5928..bd283f2 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -22,7 +22,7 @@ if (DOXYGEN_FOUND)
+ COMMENT "Generating API documentation with Doxygen" VERBATIM)
+ install(
+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
+- DESTINATION ${CMAKE_INSTALL_DOCDIR})
++ DESTINATION ${CMAKE_INSTALL_FULL_DOCDIR})
+
+ endif ()
+ endif ()
+diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt
+index 572e4e3..084af7c 100644
+--- a/include/CMakeLists.txt
++++ b/include/CMakeLists.txt
+@@ -2,5 +2,5 @@ add_subdirectory(biometry)
+
+ install(
+ DIRECTORY biometry
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++ DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}
+ )
+diff --git a/include/biometry/CMakeLists.txt b/include/biometry/CMakeLists.txt
+index ad66907..d9de0bc 100644
+--- a/include/biometry/CMakeLists.txt
++++ b/include/biometry/CMakeLists.txt
+@@ -2,7 +2,7 @@ configure_file(version.h.in version.h)
+
+ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/version.h
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/biometry
++ DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/biometry
+ )
+
+ add_subdirectory(hardware)
+\ No newline at end of file
+diff --git a/include/biometry/hardware/CMakeLists.txt b/include/biometry/hardware/CMakeLists.txt
+index a0236b8..98179dd 100644
+--- a/include/biometry/hardware/CMakeLists.txt
++++ b/include/biometry/hardware/CMakeLists.txt
+@@ -5,5 +5,5 @@ set(
+
+ install(
+ FILES ${BIOMETRY_HARDWARE_HEADERS}
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/biometry/hardware
++ DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/biometry/hardware
+ )
+diff --git a/src/biometry/CMakeLists.txt b/src/biometry/CMakeLists.txt
+index e36fbb1..3ad7f94 100644
+--- a/src/biometry/CMakeLists.txt
++++ b/src/biometry/CMakeLists.txt
+@@ -174,10 +174,10 @@ target_link_libraries(
+
+ install(
+ TARGETS biometry
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
+ )
+
+ install(
+ TARGETS biometryd
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}
+ )
+diff --git a/src/biometry/qml/Biometryd/CMakeLists.txt b/src/biometry/qml/Biometryd/CMakeLists.txt
+index 1ac216c..7a1cc5b 100644
+--- a/src/biometry/qml/Biometryd/CMakeLists.txt
++++ b/src/biometry/qml/Biometryd/CMakeLists.txt
+@@ -43,7 +43,7 @@ target_link_libraries(biometryd-qml biometry Qt5::Core Qt5::Qml Qt5::Quick)
+ # can test the module within the build env.
+ configure_file(qmldir qmldir COPYONLY)
+
+-set(PLUGIN_DIR ${CMAKE_INSTALL_LIBDIR}/qt5/qml/Biometryd)
++set(PLUGIN_DIR ${CMAKE_INSTALL_FULL_LIBDIR}/qt5/qml/Biometryd)
+
+ install(
+ TARGETS biometryd-qml
+--
+2.43.0
+
diff --git a/testing/biometryd/0004-disable_flaky_test.patch b/testing/biometryd/0004-disable_flaky_test.patch
new file mode 100644
index 00000000000..1840817b6d2
--- /dev/null
+++ b/testing/biometryd/0004-disable_flaky_test.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_daemon.cpp b/tests/test_daemon.cpp
+index c848fb9..3e49d8d 100644
+--- a/tests/test_daemon.cpp
++++ b/tests/test_daemon.cpp
+@@ -174,7 +174,7 @@ TEST_F(Daemon, invoking_test_command_succeeds)
+ core::posix::wait::Flags::untraced)));
+ }
+
+-TEST_F(Daemon, invoking_run_succeeds)
++TEST_F(Daemon, DISABLED_invoking_run_succeeds)
+ {
+ auto json = R"_(
+ {
diff --git a/testing/biometryd/0005-add-missing-types-header.patch b/testing/biometryd/0005-add-missing-types-header.patch
new file mode 100644
index 00000000000..32d5b4a4a63
--- /dev/null
+++ b/testing/biometryd/0005-add-missing-types-header.patch
@@ -0,0 +1,24 @@
+From e57f23457e54727abd575b89b1824427ac5f3c4b Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 15 Oct 2023 20:06:27 -0400
+Subject: [PATCH] add missing types header
+
+---
+ src/biometry/qml/Biometryd/user.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/biometry/qml/Biometryd/user.cpp b/src/biometry/qml/Biometryd/user.cpp
+index 0e0d7b2..fe0d802 100644
+--- a/src/biometry/qml/Biometryd/user.cpp
++++ b/src/biometry/qml/Biometryd/user.cpp
+@@ -18,6 +18,7 @@
+ */
+
+ #include <biometry/qml/Biometryd/user.h>
++#include <sys/types.h>
+
+ biometry::qml::User::User(QObject *parent) : QObject{parent}
+ {
+--
+2.42.0
+
diff --git a/testing/biometryd/0006-direct-path-to-qmlplugindump.patch b/testing/biometryd/0006-direct-path-to-qmlplugindump.patch
new file mode 100644
index 00000000000..9020564da1d
--- /dev/null
+++ b/testing/biometryd/0006-direct-path-to-qmlplugindump.patch
@@ -0,0 +1,25 @@
+From d811b8b332f0bbaf8e258c831ba9ee5be1dc31a5 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 15 Oct 2023 20:15:10 -0400
+Subject: [PATCH] direct path to qmlplugindump
+
+---
+ src/biometry/qml/Biometryd/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/biometry/qml/Biometryd/CMakeLists.txt b/src/biometry/qml/Biometryd/CMakeLists.txt
+index 735b0d2..b2ddd62 100644
+--- a/src/biometry/qml/Biometryd/CMakeLists.txt
++++ b/src/biometry/qml/Biometryd/CMakeLists.txt
+@@ -60,7 +60,7 @@ if (NOT CMAKE_CROSSCOMPILING)
+ SOURCES ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes)
+
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes
+- COMMAND qmlplugindump -notrelocatable Biometryd 0.0 ../ > ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes
++ COMMAND /usr/lib/qt5/bin/qmlplugindump -notrelocatable Biometryd 0.0 ../ > ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes
+ DEPENDS biometryd-qml
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ )
+--
+2.42.0
+
diff --git a/testing/biometryd/APKBUILD b/testing/biometryd/APKBUILD
new file mode 100644
index 00000000000..14232dce1ed
--- /dev/null
+++ b/testing/biometryd/APKBUILD
@@ -0,0 +1,65 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=biometryd
+pkgver=0.3.1
+pkgrel=0
+pkgdesc="Mediates and multiplexes access to biometric devices"
+url="https://gitlab.com/ubports/development/core/biometryd"
+arch="all"
+license="GPL-3.0-only"
+depends="qt5-qtbase-sqlite"
+makedepends="
+ abseil-cpp-dev
+ cmake
+ cmake-extras
+ dbus-cpp-dev
+ dconf-dev
+ elfutils-dev
+ gnome-keyring
+ gtest-dev
+ libapparmor-dev
+ libphonenumber-dev
+ libqtdbustest
+ lomiri-api-dev
+ process-cpp-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samurai
+ telepathy-mission-control-dev
+ telepathy-qt-dev
+ "
+subpackages="$pkgname-dev"
+source="https://gitlab.com/ubports/development/core/biometryd/-/archive/$pkgver/biometryd-$pkgver.tar.gz
+ 0001-Add-missing-headers-for-gcc-13.patch
+ 0004-disable_flaky_test.patch
+ 0005-add-missing-types-header.patch
+ 0006-direct-path-to-qmlplugindump.patch
+ 0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
+ "
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DUSE_SYSTEMD=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure -E "test_(daemon|dbus_(codec|stub_skeleton))"
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+357b9507596b080f14ed327a346eb45f3389de4c5699b0bff399feced1cf1d1bb489c5e3f27e8aa816c541d6ffc8152136e3cdf2928074469d6052c9c7eaca2b biometryd-0.3.1.tar.gz
+89cb2cd23bafbf7bf6be13378ba98f3c15748b72d0938523546a853948bcf9af9c9405231810bf96be750f0cfdf0e524e2a8468f6bf707faefef3560b16be81c 0001-Add-missing-headers-for-gcc-13.patch
+4e0d8622df89742602ac43d5519c8d818da9e350b208b2468dce6b4a3764c6002f6ae67657c2b535f531c4f77374bee93f9e7be4b1cf3c3c1ef5f45d8abb8749 0004-disable_flaky_test.patch
+8b702ef0e2a3e5f2b98c6e63661de0996d28dc3c8d09510802eae27ce1f453a5048b5ad987151821ba72c4a3bd2ebeaad3905c641f72e7528b63fb7148a0a3ef 0005-add-missing-types-header.patch
+09960fd3fef3c8671c394c4d60b29f65a2b0f71cb002e007445154bcce1a932f29f383d0c272fa10883c8099df9dbb675517d393376ff443a3f1fd5ad640c818 0006-direct-path-to-qmlplugindump.patch
+a8b429c7fe8cb8655823e7836fc79af839dca6bee3e0c8122bbe00bbf1dfb11afc9a50c4a761f1fce503f8a5951e2d156a805e2419b94a345ab2e985fe9c3eed 0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
+"
diff --git a/testing/bionic_translation/APKBUILD b/testing/bionic_translation/APKBUILD
new file mode 100644
index 00000000000..4998670fc55
--- /dev/null
+++ b/testing/bionic_translation/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=bionic_translation
+pkgver=0_git20240202
+pkgrel=0
+_commit="534380e8d8bac0ec858012cdac05bb3f9d9367d1"
+pkgdesc="A set of libraries for loading bionic-linked .so files on musl/glibc"
+url="https://gitlab.com/android_translation_layer/bionic_translation"
+arch="x86_64 aarch64 armv7"
+license="Apache-2.0"
+makedepends="
+ elfutils-dev
+ libbsd-dev
+ libunwind-dev
+ mesa-dev
+ meson
+ samurai
+ "
+subpackages="$pkgname-dev $pkgname-dbg"
+source="https://gitlab.com/android_translation_layer/bionic_translation/-/archive/$_commit/bionic_translation-$_commit.tar.gz"
+builddir="$srcdir/bionic_translation-$_commit"
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+55bf53043318e4b25c689f38910aa535c4eceacde5ab6ffc986a43cc5985e6617089fd97c1827d4c29f77aeda486e415286a1a7c54e0eed8fb89efa6cadad29f bionic_translation-534380e8d8bac0ec858012cdac05bb3f9d9367d1.tar.gz
+"
diff --git a/testing/birdtray/APKBUILD b/testing/birdtray/APKBUILD
index cbe789d1a07..0d8bce736e2 100644
--- a/testing/birdtray/APKBUILD
+++ b/testing/birdtray/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Nathan <ndowens@artixlinux.org>
pkgname=birdtray
pkgver=1.9.0
-pkgrel=0
+pkgrel=1
pkgdesc="Run Thunderbird with a system tray icon"
url="https://github.com/gyunaev/birdtray"
arch="all"
diff --git a/testing/bitlbee-facebook/APKBUILD b/testing/bitlbee-facebook/APKBUILD
index f9862f852d3..44d6111c978 100644
--- a/testing/bitlbee-facebook/APKBUILD
+++ b/testing/bitlbee-facebook/APKBUILD
@@ -1,16 +1,15 @@
# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
pkgname=bitlbee-facebook
-pkgver=1.2.1
+pkgver=1.2.2
pkgrel=0
pkgdesc="Facebook protocol plugin for BitlBee"
-url="https://github.com/jgeboski/bitlbee-facebook"
+url="https://github.com/bitlbee/bitlbee-facebook"
arch="all"
license="GPL-2.0-or-later"
depends="bitlbee"
makedepends="bitlbee-dev autoconf automake libtool json-glib-dev"
-source="https://github.com/jgeboski/bitlbee-facebook/releases/download/v$pkgver/bitlbee-facebook-$pkgver.tar.gz"
-
+source="https://github.com/bitlbee/bitlbee-facebook/releases/download/v$pkgver/bitlbee-facebook-$pkgver.tar.gz"
prepare() {
default_prepare
@@ -26,4 +25,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2df709c6caf9ef55807e3d5ff11e6960c75e5bf4788824221a250c75048b77cb1cf57bb3462c2815f34d704c130e3435ba8463177ab2dc5af401cbaef7e5a077 bitlbee-facebook-1.2.1.tar.gz"
+sha512sums="
+801524a4a092175d995c5b14c3687fb0ac0d3b2dbaa6b7140bc026fdbb1232831f095204b3ce9810f0c48e5ade931f5cd6125ddc7c0d58990179fb94779d2b2a bitlbee-facebook-1.2.2.tar.gz
+"
diff --git a/testing/bitlbee-mastodon/APKBUILD b/testing/bitlbee-mastodon/APKBUILD
index 20ba1d5ab5c..8b372e07d9e 100644
--- a/testing/bitlbee-mastodon/APKBUILD
+++ b/testing/bitlbee-mastodon/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
pkgname=bitlbee-mastodon
-pkgver=1.4.4
+pkgver=1.4.5
pkgrel=0
pkgdesc="Mastodon plugin for Bitlbee"
url="https://alexschroeder.ch/cgit/bitlbee-mastodon"
@@ -24,4 +24,6 @@ build() {
package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b5a84cd6b716f94f67f7780dfe9f1ea7c9de2469322185199814ef5acab75b1f1b95389c614e37e012edfbe4ecabb347e5a308f14e2496542cbbdd1d46b46065 bitlbee-mastodon-1.4.4.tar.gz"
+sha512sums="
+19a83e17afe3ac3c0b4d7ac87b30521e5fe54ea1f498e55373156112abac12ed4c84a80023c4be0c31f9b668325e89ec03906d90d91379a3a9874a608ce41307 bitlbee-mastodon-1.4.5.tar.gz
+"
diff --git a/testing/bitritter/APKBUILD b/testing/bitritter/APKBUILD
new file mode 100644
index 00000000000..c991f065456
--- /dev/null
+++ b/testing/bitritter/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer:
+pkgname=bitritter
+pkgver=0_git20240328
+pkgrel=0
+_commit="b8c1c0c952fb53f174be745de0c6cbfa14f14883"
+pkgdesc="GTK-based bitwarden client"
+url="https://codeberg.org/Chfkch/bitritter"
+arch="all !s390x" # 'nix' crate fails to compile
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ glib-dev
+ graphene-dev
+ gtk4.0-dev
+ libadwaita-dev
+ openssl-dev
+"
+source="
+ $pkgname-$_commit.tar.gz::https://codeberg.org/Chfkch/bitritter/archive/$_commit.tar.gz
+ bitritter.desktop
+ "
+builddir="$srcdir/$pkgname"
+
+export PKG_CONFIG_PATH=/usr/lib/pkgconfig
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ glib_sys_NO_PKG_CONFIG=1 \
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/bitritter \
+ -t "$pkgdir"/usr/bin/
+ install -Dm644 "$srcdir"/bitritter.desktop \
+ -t "$pkgdir"/usr/share/applications/
+}
+
+sha512sums="
+845320c957f0a49f980b291f59a6ced554acca07a55adf8075fecdb8aa3ab3ce99d1b5b9a3598820cf0bdbf9dfce620ef3d0622432781d060206565c542e9b1d bitritter-b8c1c0c952fb53f174be745de0c6cbfa14f14883.tar.gz
+03b31377d37edbaa3cb2447e02caea0ecaad4a0b78b9adb61d0c218af1be5472090b6cc3a8139ddd40a82bc75e826900033ea4225277cdd0f0f77c34543500be bitritter.desktop
+"
diff --git a/testing/bitritter/bitritter.desktop b/testing/bitritter/bitritter.desktop
new file mode 100644
index 00000000000..822f7b1461c
--- /dev/null
+++ b/testing/bitritter/bitritter.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Bitritter
+GenericName=Password Manager
+Comment=BitWarden-compatible client
+TryExec=bitritter
+Exec=bitritter %u
+# Icon=
+Terminal=false
+Type=Application
+Categories=Utility;
+StartupNotify=false
+StartupWMClass=Bitritter
diff --git a/testing/bitrot/APKBUILD b/testing/bitrot/APKBUILD
deleted file mode 100644
index b17acbb6652..00000000000
--- a/testing/bitrot/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=bitrot
-pkgver=0_git20210222
-_commit=70534bce27dbbe4bb3d526877eca56f81538c827
-_dpf=74aec5b6a2350805edd6ad7344a79966eb467fa9
-pkgrel=0
-pkgdesc="Audio effect plugins for glitch effects"
-options="!check" # no tests
-url="https://github.com/grejppi/bitrot"
-arch="all"
-license="Apache-2.0"
-makedepends="waf"
-source="$pkgname-$_commit.tar.gz::https://github.com/grejppi/bitrot/archive/$_commit.tar.gz
- DPF-$_dpf.tar.gz::https://github.com/grejppi/DPF/archive/$_dpf.tar.gz
- "
-builddir="$srcdir/bitrot-$_commit"
-
-prepare() {
- default_prepare
- mv "$srcdir"/DPF-$_dpf/* "$builddir"/DPF
-}
-
-build() {
- python3 waf configure --prefix=/usr
- python3 waf build
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="
-27af37ec397c92a9f095ba20ec8cb4b7d140e27a646c4209063f195d33a36694fc2cee8b87a6cad1940d1c247207e25edc3d9001bb003edb09ed834d348c5a81 bitrot-70534bce27dbbe4bb3d526877eca56f81538c827.tar.gz
-42f7b168e7d54e6683c7d55b9749102eca14a79c3256b8f12f00b2977d9c8dc000cd0ab07a47dc9ebe2518d54d3c2bb63e7f50107a65f11636e707883bc15a83 DPF-74aec5b6a2350805edd6ad7344a79966eb467fa9.tar.gz
-"
diff --git a/testing/bitwarden_rs/APKBUILD b/testing/bitwarden_rs/APKBUILD
deleted file mode 100644
index 96b4ae8d737..00000000000
--- a/testing/bitwarden_rs/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Chris Kruger <alpine@krugerheavyindustries.com>
-# Maintainer: Chris Kruger <alpine@krugerheavyindustries.com>
-pkgname=bitwarden_rs
-pkgver=0_git20201120
-_pkgcommit=01523fae34551a2740a921bc48f76cfe38eedb78
-pkgrel=3
-pkgdesc="bitwarden alternative backend"
-_bw_web_ver=2.17.1
-url="https://github.com/dani-garcia/bitwarden_rs"
-arch="all !ppc64le !s390x !mips !mips64 !riscv64" # ring crate has platform specific asm - no ppc support, no rust on s390x & mips*
-license="GPL-3.0-only"
-makedepends="rust cargo sqlite-dev libpq-dev openssl1.1-compat-dev"
-install="$pkgname.pre-install"
-pkgusers="bitwarden_rs"
-pkggroups="bitwarden_rs"
-options="!check" # Doesn't recognise x86_64-unknown-linux-musl yet
-source="$pkgname-$pkgver.tar.gz::https://github.com/dani-garcia/bitwarden_rs/archive/$_pkgcommit.tar.gz
- $pkgname-webvault-$_bw_web_ver.tar.gz::https://github.com/dani-garcia/bw_web_builds/releases/download/v$_bw_web_ver/bw_web_v$_bw_web_ver.tar.gz
- $pkgname.initd
- $pkgname.confd"
-builddir="$srcdir/vaultwarden-$_pkgcommit"
-
-build() {
- cargo build --release --features sqlite,postgresql
-}
-
-check() {
- cargo test --release --features sqlite,postgresql
-}
-
-package() {
- install -d "$pkgdir"/usr/sbin
- install -m755 target/release/bitwarden_rs "$pkgdir"/usr/sbin/
- install -d -m744 -o bitwarden_rs -g bitwarden_rs "$pkgdir"/var/lib/bitwarden_rs "$pkgdir"/var/log/"$pkgname"
- (cd "$srcdir"/web-vault; find . -type f -exec \
- install -D -m644 -o bitwarden_rs -g bitwarden_rs {} "$pkgdir"/var/lib/bitwarden_rs/web-vault/{} \;)
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm655 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
-}
-
-sha512sums="
-527642bb97467afdaf4512867ab6d45eafc28fef96791849638a3805fe5239b7f9ad19a26a8f3af429f78a0d213bc081b76b73232fea55d8f91d7efee08dc04e bitwarden_rs-0_git20201120.tar.gz
-12606b180c4730daab7360db4427de061aad92b9307e421d3064289dcd53ebe59aded93831bffb3bef74a45af10551a0120ecbbe0f6309a7d81a56f53c29c572 bitwarden_rs-webvault-2.17.1.tar.gz
-c731e2ede2ff4254103ccb0a6e67afcaba6a288d07a00e2741b9708aab009b112a2d1a824963351924af1f285c312a2b8ba331d29d65bd850431a72a6f5fcc0b bitwarden_rs.initd
-24e1a1f8129ad9e37b84f940c69143048e444f73b097946fa2ff8998d81e0b49721edbe9c8fd1446ae74b57700938c49f26e371fa32da0a06a54668abe9d7ac6 bitwarden_rs.confd
-"
diff --git a/testing/bitwarden_rs/bitwarden_rs.confd b/testing/bitwarden_rs/bitwarden_rs.confd
deleted file mode 100644
index 31c64f95fb3..00000000000
--- a/testing/bitwarden_rs/bitwarden_rs.confd
+++ /dev/null
@@ -1,287 +0,0 @@
-## Bitwarden_RS Configuration File
-## Uncomment any of the following lines to change the defaults
-##
-## Be aware that most of these settings will be overridden if they were changed
-## in the admin interface. Those overrides are stored within DATA_FOLDER/config.json .
-
-## Main data folder
-DATA_FOLDER=/var/lib/bitwarden_rs
-
-## Database URL
-## When using SQLite, this is the path to the DB file, default to %DATA_FOLDER%/db.sqlite3
-# DATABASE_URL=data/db.sqlite3
-## When using MySQL, specify an appropriate connection URI.
-## Details: https://docs.diesel.rs/diesel/mysql/struct.MysqlConnection.html
-# DATABASE_URL=mysql://user:password@host[:port]/database_name
-## When using PostgreSQL, specify an appropriate connection URI (recommended)
-## or keyword/value connection string.
-## Details:
-## - https://docs.diesel.rs/diesel/pg/struct.PgConnection.html
-## - https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
-# DATABASE_URL=postgresql://user:password@host[:port]/database_name
-
-## Database max connections
-## Define the size of the connection pool used for connecting to the database.
-# DATABASE_MAX_CONNS=10
-
-## Individual folders, these override %DATA_FOLDER%
-# RSA_KEY_FILENAME=data/rsa_key
-# ICON_CACHE_FOLDER=data/icon_cache
-# ATTACHMENTS_FOLDER=data/attachments
-
-## Templates data folder, by default uses embedded templates
-## Check source code to see the format
-# TEMPLATES_FOLDER=/path/to/templates
-## Automatically reload the templates for every request, slow, use only for development
-# RELOAD_TEMPLATES=false
-
-## Client IP Header, used to identify the IP of the client, defaults to "X-Client-IP"
-## Set to the string "none" (without quotes), to disable any headers and just use the remote IP
-# IP_HEADER=X-Client-IP
-
-## Cache time-to-live for successfully obtained icons, in seconds (0 is "forever")
-# ICON_CACHE_TTL=2592000
-## Cache time-to-live for icons which weren't available, in seconds (0 is "forever")
-# ICON_CACHE_NEGTTL=259200
-
-## Web vault settings
-# WEB_VAULT_FOLDER=web-vault/
-# WEB_VAULT_ENABLED=true
-
-## Enables websocket notifications
-# WEBSOCKET_ENABLED=false
-
-## Controls the WebSocket server address and port
-# WEBSOCKET_ADDRESS=0.0.0.0
-# WEBSOCKET_PORT=3012
-
-## Enable extended logging, which shows timestamps and targets in the logs
-# EXTENDED_LOGGING=true
-
-## Timestamp format used in extended logging.
-## Format specifiers: https://docs.rs/chrono/latest/chrono/format/strftime
-# LOG_TIMESTAMP_FORMAT="%Y-%m-%d %H:%M:%S.%3f"
-
-## Logging to file
-## It's recommended to also set 'ROCKET_CLI_COLORS=off'
-# LOG_FILE=/path/to/log
-
-## Logging to Syslog
-## This requires extended logging
-## It's recommended to also set 'ROCKET_CLI_COLORS=off'
-# USE_SYSLOG=false
-
-## Log level
-## Change the verbosity of the log output
-## Valid values are "trace", "debug", "info", "warn", "error" and "off"
-## Setting it to "trace" or "debug" would also show logs for mounted
-## routes and static file, websocket and alive requests
-# LOG_LEVEL=Info
-
-## Enable WAL for the DB
-## Set to false to avoid enabling WAL during startup.
-## Note that if the DB already has WAL enabled, you will also need to disable WAL in the DB,
-## this setting only prevents bitwarden_rs from automatically enabling it on start.
-## Please read project wiki page about this setting first before changing the value as it can
-## cause performance degradation or might render the service unable to start.
-# ENABLE_DB_WAL=true
-
-## Database connection retries
-## Number of times to retry the database connection during startup, with 1 second delay between each retry, set to 0 to retry indefinitely
-# DB_CONNECTION_RETRIES=15
-
-## Disable icon downloading
-## Set to true to disable icon downloading, this would still serve icons from $ICON_CACHE_FOLDER,
-## but it won't produce any external network request. Needs to set $ICON_CACHE_TTL to 0,
-## otherwise it will delete them and they won't be downloaded again.
-# DISABLE_ICON_DOWNLOAD=false
-
-## Icon download timeout
-## Configure the timeout value when downloading the favicons.
-## The default is 10 seconds, but this could be to low on slower network connections
-# ICON_DOWNLOAD_TIMEOUT=10
-
-## Icon blacklist Regex
-## Any domains or IPs that match this regex won't be fetched by the icon service.
-## Useful to hide other servers in the local network. Check the WIKI for more details
-## NOTE: Always enclose this regex withing single quotes!
-# ICON_BLACKLIST_REGEX='^(192\.168\.0\.[0-9]+|192\.168\.1\.[0-9]+)$'
-
-## Any IP which is not defined as a global IP will be blacklisted.
-## Useful to secure your internal environment: See https://en.wikipedia.org/wiki/Reserved_IP_addresses for a list of IPs which it will block
-# ICON_BLACKLIST_NON_GLOBAL_IPS=true
-
-## Disable 2FA remember
-## Enabling this would force the users to use a second factor to login every time.
-## Note that the checkbox would still be present, but ignored.
-# DISABLE_2FA_REMEMBER=false
-
-## Maximum attempts before an email token is reset and a new email will need to be sent.
-# EMAIL_ATTEMPTS_LIMIT=3
-
-## Token expiration time
-## Maximum time in seconds a token is valid. The time the user has to open email client and copy token.
-# EMAIL_EXPIRATION_TIME=600
-
-## Email token size
-## Number of digits in an email token (min: 6, max: 19).
-## Note that the Bitwarden clients are hardcoded to mention 6 digit codes regardless of this setting!
-# EMAIL_TOKEN_SIZE=6
-
-## Controls if new users can register
-# SIGNUPS_ALLOWED=true
-
-## Controls if new users need to verify their email address upon registration
-## Note that setting this option to true prevents logins until the email address has been verified!
-## The welcome email will include a verification link, and login attempts will periodically
-## trigger another verification email to be sent.
-# SIGNUPS_VERIFY=false
-
-## If SIGNUPS_VERIFY is set to true, this limits how many seconds after the last time
-## an email verification link has been sent another verification email will be sent
-# SIGNUPS_VERIFY_RESEND_TIME=3600
-
-## If SIGNUPS_VERIFY is set to true, this limits how many times an email verification
-## email will be re-sent upon an attempted login.
-# SIGNUPS_VERIFY_RESEND_LIMIT=6
-
-## Controls if new users from a list of comma-separated domains can register
-## even if SIGNUPS_ALLOWED is set to false
-# SIGNUPS_DOMAINS_WHITELIST=example.com,example.net,example.org
-
-## Controls which users can create new orgs.
-## Blank or 'all' means all users can create orgs (this is the default):
-# ORG_CREATION_USERS=
-## 'none' means no users can create orgs:
-# ORG_CREATION_USERS=none
-## A comma-separated list means only those users can create orgs:
-# ORG_CREATION_USERS=admin1@example.com,admin2@example.com
-
-## Token for the admin interface, preferably use a long random string
-## One option is to use 'openssl rand -base64 48'
-## If not set, the admin panel is disabled
-# ADMIN_TOKEN=Vy2VyYTTsKPv8W5aEOWUbB/Bt3DEKePbHmI4m9VcemUMS2rEviDowNAFqYi1xjmp
-
-## Enable this to bypass the admin panel security. This option is only
-## meant to be used with the use of a separate auth layer in front
-# DISABLE_ADMIN_TOKEN=false
-
-## Invitations org admins to invite users, even when signups are disabled
-# INVITATIONS_ALLOWED=true
-## Name shown in the invitation emails that don't come from a specific organization
-# INVITATION_ORG_NAME=Bitwarden_RS
-
-## Per-organization attachment limit (KB)
-## Limit in kilobytes for an organization attachments, once the limit is exceeded it won't be possible to upload more
-# ORG_ATTACHMENT_LIMIT=
-## Per-user attachment limit (KB).
-## Limit in kilobytes for a users attachments, once the limit is exceeded it won't be possible to upload more
-# USER_ATTACHMENT_LIMIT=
-
-
-## Controls the PBBKDF password iterations to apply on the server
-## The change only applies when the password is changed
-# PASSWORD_ITERATIONS=100000
-
-## Whether password hint should be sent into the error response when the client request it
-# SHOW_PASSWORD_HINT=true
-
-## Domain settings
-## The domain must match the address from where you access the server
-## It's recommended to configure this value, otherwise certain functionality might not work,
-## like attachment downloads, email links and U2F.
-## For U2F to work, the server must use HTTPS, you can use Let's Encrypt for free certs
-# DOMAIN=https://bw.domain.tld:8443
-
-## Allowed iframe ancestors (Know the risks!)
-## https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors
-## Allows other domains to embed the web vault into an iframe, useful for embedding into secure intranets
-## This adds the configured value to the 'Content-Security-Policy' headers 'frame-ancestors' value.
-## Multiple values must be separated with a whitespace.
-# ALLOWED_IFRAME_ANCESTORS=
-
-## Yubico (Yubikey) Settings
-## Set your Client ID and Secret Key for Yubikey OTP
-## You can generate it here: https://upgrade.yubico.com/getapikey/
-## You can optionally specify a custom OTP server
-# YUBICO_CLIENT_ID=11111
-# YUBICO_SECRET_KEY=AAAAAAAAAAAAAAAAAAAAAAAA
-# YUBICO_SERVER=http://yourdomain.com/wsapi/2.0/verify
-
-## Duo Settings
-## You need to configure all options to enable global Duo support, otherwise users would need to configure it themselves
-## Create an account and protect an application as mentioned in this link (only the first step, not the rest):
-## https://help.bitwarden.com/article/setup-two-step-login-duo/#create-a-duo-security-account
-## Then set the following options, based on the values obtained from the last step:
-# DUO_IKEY=<Integration Key>
-# DUO_SKEY=<Secret Key>
-# DUO_HOST=<API Hostname>
-## After that, you should be able to follow the rest of the guide linked above,
-## ignoring the fields that ask for the values that you already configured beforehand.
-
-## Authenticator Settings
-## Disable authenticator time drifted codes to be valid.
-## TOTP codes of the previous and next 30 seconds will be invalid
-##
-## According to the RFC6238 (https://tools.ietf.org/html/rfc6238),
-## we allow by default the TOTP code which was valid one step back and one in the future.
-## This can however allow attackers to be a bit more lucky with there attempts because there are 3 valid codes.
-## You can disable this, so that only the current TOTP Code is allowed.
-## Keep in mind that when a sever drifts out of time, valid codes could be marked as invalid.
-## In any case, if a code has been used it can not be used again, also codes which predates it will be invalid.
-# AUTHENTICATOR_DISABLE_TIME_DRIFT = false
-
-## Rocket specific settings, check Rocket documentation to learn more
-# ROCKET_ENV=staging
-# ROCKET_ADDRESS=0.0.0.0 # Enable this to test mobile app
-# ROCKET_PORT=8000
-# ROCKET_TLS={certs="/path/to/certs.pem",key="/path/to/key.pem"}
-
-## Mail specific settings, set SMTP_HOST and SMTP_FROM to enable the mail service.
-## To make sure the email links are pointing to the correct host, set the DOMAIN variable.
-## Note: if SMTP_USERNAME is specified, SMTP_PASSWORD is mandatory
-# SMTP_HOST=smtp.domain.tld
-# SMTP_FROM=bitwarden-rs@domain.tld
-# SMTP_FROM_NAME=Bitwarden_RS
-# SMTP_PORT=587 # Ports 587 (submission) and 25 (smtp) are standard without encryption and with encryption via STARTTLS (Explicit TLS). Port 465 is outdated and used with Implicit TLS.
-# SMTP_SSL=true # (Explicit) - This variable by default configures Explicit STARTTLS, it will upgrade an insecure connection to a secure one. Unless SMTP_EXPLICIT_TLS is set to true. Either port 587 or 25 are default.
-# SMTP_EXPLICIT_TLS=true # (Implicit) - N.B. This variable configures Implicit TLS. It's currently mislabelled (see bug #851) - SMTP_SSL Needs to be set to true for this option to work. Usually port 465 is used here.
-# SMTP_USERNAME=username
-# SMTP_PASSWORD=password
-# SMTP_TIMEOUT=15
-
-## Defaults for SSL is "Plain" and "Login" and nothing for Non-SSL connections.
-## Possible values: ["Plain", "Login", "Xoauth2"].
-## Multiple options need to be separated by a comma ','.
-# SMTP_AUTH_MECHANISM="Plain"
-
-## Server name sent during the SMTP HELO
-## By default this value should be is on the machine's hostname,
-## but might need to be changed in case it trips some anti-spam filters
-# HELO_NAME=
-
-## SMTP debugging
-## When set to true this will output very detailed SMTP messages.
-## WARNING: This could contain sensitive information like passwords and usernames! Only enable this during troubleshooting!
-# SMTP_DEBUG=false
-
-## Accept Invalid Hostnames
-## DANGEROUS: This option introduces significant vulnerabilities to man-in-the-middle attacks!
-## Only use this as a last resort if you are not able to use a valid certificate.
-# SMTP_ACCEPT_INVALID_HOSTNAMES=false
-
-## Accept Invalid Certificates
-## DANGEROUS: This option introduces significant vulnerabilities to man-in-the-middle attacks!
-## Only use this as a last resort if you are not able to use a valid certificate.
-## If the Certificate is valid but the hostname doesn't match, please use SMTP_ACCEPT_INVALID_HOSTNAMES instead.
-# SMTP_ACCEPT_INVALID_CERTS=false
-
-## Require new device emails. When a user logs in an email is required to be sent.
-## If sending the email fails the login attempt will fail!!
-# REQUIRE_DEVICE_EMAIL=false
-
-## HIBP Api Key
-## HaveIBeenPwned API Key, request it here: https://haveibeenpwned.com/API/Key
-# HIBP_API_KEY=
-
-# vim: syntax=ini
diff --git a/testing/bitwarden_rs/bitwarden_rs.initd b/testing/bitwarden_rs/bitwarden_rs.initd
deleted file mode 100644
index 920a5a51f28..00000000000
--- a/testing/bitwarden_rs/bitwarden_rs.initd
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/sbin/openrc-run
-
-name="bitwarden_rs"
-description="bitwarden_rs alternative bitwarden backend"
-supervisor="supervise-daemon"
-command="/usr/sbin/bitwarden_rs"
-command_user="bitwarden_rs:bitwarden_rs"
-output_log="/var/log/bitwarden_rs/access.log"
-error_log="/var/log/bitwarden_rs/error.log"
-directory=$DATA_FOLDER
-export DATA_FOLDER
-
-depend() {
- need localmount net
- after firewall
-}
diff --git a/testing/bitwarden_rs/bitwarden_rs.pre-install b/testing/bitwarden_rs/bitwarden_rs.pre-install
deleted file mode 100644
index b4d8fbf91e3..00000000000
--- a/testing/bitwarden_rs/bitwarden_rs.pre-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-addgroup -S bitwarden_rs 2>/dev/null
-adduser -S -D -H -h /var/lib/bitwarden_rs -g "Bitwarden RS user" \
- -s /bin/sh -G bitwarden_rs bitwarden_rs 2>/dev/null
-
-exit 0
diff --git a/testing/blackbox/APKBUILD b/testing/blackbox/APKBUILD
index 5b6c34c2073..c56fbb7633d 100644
--- a/testing/blackbox/APKBUILD
+++ b/testing/blackbox/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=blackbox
-pkgver=1.20200429
+pkgver=1.20220610
pkgrel=0
pkgdesc="Safely store secrets in Git/Mercurial/Subversion"
url="https://github.com/StackExchange/blackbox"
@@ -17,4 +17,6 @@ package() {
make PREFIX="$pkgdir" copy-install
}
-sha512sums="afa8fec6abbaf3485f4df15993c8eb5e2903c8d1a1fe427b9362c89d49ef68c474d226cfa899a80d12fd8b8d570349a09d8a61bfc4b5559ab4ae3d836780175f blackbox-1.20200429.tar.gz"
+sha512sums="
+db45d7874e5a1e62e8a078eca8c3fed8fae895ee979e516bd900374c5a39808f4dec39a637ae870bbf37bb4d05fe0b469decdc163000b0f49b87e094a4eab62c blackbox-1.20220610.tar.gz
+"
diff --git a/testing/blackbox_exporter/APKBUILD b/testing/blackbox_exporter/APKBUILD
deleted file mode 100644
index 031b568d4f7..00000000000
--- a/testing/blackbox_exporter/APKBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# Maintainer: ungleich <alpinelinux@ungleich.ch>
-pkgname=blackbox_exporter
-pkgver=0.19.0
-pkgrel=2
-pkgdesc="Prometheus Blackbox Exporter"
-url="https://github.com/prometheus/blackbox_exporter"
-license="Apache-2.0"
-arch="all"
-install="$pkgname.pre-install"
-makedepends="go"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/prometheus/blackbox_exporter/archive/v$pkgver.tar.gz
- blackbox_exporter.confd
- blackbox_exporter.initd
- blackbox.yml
-"
-subpackages="$pkgname-openrc"
-
-# secfixes:
-# 0.18.0-r0:
-# - CVE-2020-16248
-
-build() {
- go build
-}
-
-check() {
- go test
-}
-
-package() {
- # dirs
- install -dm755 "$pkgdir"/etc/blackbox_exporter
-
- # init
- install -Dm755 blackbox_exporter \
- "$pkgdir"/usr/bin/blackbox_exporter
- install -Dm755 "$srcdir"/blackbox_exporter.initd \
- "$pkgdir"/etc/init.d/blackbox_exporter
- install -Dm644 "$srcdir"/blackbox_exporter.confd \
- "$pkgdir"/etc/conf.d/blackbox_exporter
-
- # config
- install -Dm644 blackbox.yml \
- "$pkgdir"/etc/blackbox_exporter/blackbox.yml
-}
-sha512sums="86b11bc7afa0d8261d0961ca21563047b1ea8bfd1a9d4d034c393a8b098b035147883a44011cdafca8e9795a5e9a043cc15235375990f3424137af63469a8878 blackbox_exporter-0.19.0.tar.gz
-e850f8414af33333619946d9163169411a8b5c27dc3611cc27a0c3185748feab3fa31a02ba00d421be9ea16fd2eb2d6395b1438b6d0b0f088eecf93010866d9b blackbox_exporter.confd
-6301661eb0b0bc4e137a268e703959d907bfa6220e3520a60f6c9662335033fdaf477add8e1a0fbc9593580e90fe6ec86fe340c7cbe6c082ec65eb70d883867a blackbox_exporter.initd
-60e9e8d44f807fcb71b01c29abac8cc833e43b7991185624414d049e05f484f8f8026f0290ce8f84a594f5f6363bcd4ef986de20b221f4b0e828ca811deb6e7f blackbox.yml"
diff --git a/testing/blackbox_exporter/blackbox.yml b/testing/blackbox_exporter/blackbox.yml
deleted file mode 100644
index a7f58cb1df2..00000000000
--- a/testing/blackbox_exporter/blackbox.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-modules:
- http_2xx:
- prober: http
- http_post_2xx:
- prober: http
- http:
- method: POST
- tcp_connect:
- prober: tcp
- pop3s_banner:
- prober: tcp
- tcp:
- query_response:
- - expect: "^+OK"
- tls: true
- tls_config:
- insecure_skip_verify: false
- ssh_banner:
- prober: tcp
- tcp:
- query_response:
- - expect: "^SSH-2.0-"
- irc_banner:
- prober: tcp
- tcp:
- query_response:
- - send: "NICK prober"
- - send: "USER prober prober prober :prober"
- - expect: "PING :([^ ]+)"
- send: "PONG ${1}"
- - expect: "^:[^ ]+ 001"
- icmp:
- prober: icmp
diff --git a/testing/blackbox_exporter/blackbox_exporter.confd b/testing/blackbox_exporter/blackbox_exporter.confd
deleted file mode 100644
index 58d8045fb10..00000000000
--- a/testing/blackbox_exporter/blackbox_exporter.confd
+++ /dev/null
@@ -1,6 +0,0 @@
-blackbox_exporter_args=
-blackbox_exporter_config_file=/etc/blackbox_exporter/blackbox.yml
-
-
-output_log=/var/log/blackbox_exporter.log
-error_log=/var/log/blackbox_exporter.log
diff --git a/testing/blackbox_exporter/blackbox_exporter.initd b/testing/blackbox_exporter/blackbox_exporter.initd
deleted file mode 100644
index a4201378693..00000000000
--- a/testing/blackbox_exporter/blackbox_exporter.initd
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/sbin/openrc-run
-
-name="blackbox_exporter"
-description="blackbox exporter for the prometheus monitoring system"
-supervisor=supervise-daemon
-command=/usr/bin/blackbox_exporter
-command_args="--config.file=$blackbox_exporter_config_file \
- $blackbox_exporter_args"
-command_user="prometheus:prometheus"
-
-start_pre() {
- [ -n "$output_log" ] && checkpath -f "$output_log" \
- -m 644 -o prometheus:prometheus
- [ -n "$error_log" ] && checkpath -f "$error_log" \
- -m 644 -o prometheus:prometheus
-}
diff --git a/testing/blanket/APKBUILD b/testing/blanket/APKBUILD
deleted file mode 100644
index 7f88214069a..00000000000
--- a/testing/blanket/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: mio <miyopan@e.email>
-# Maintainer: mio <miyopan@e.email>
-pkgname=blanket
-pkgver=0.5.0
-pkgrel=0
-pkgdesc="Listen to different sounds to improve focus and increase productivity"
-url="https://github.com/rafaelmardojai/blanket"
-license="GPL-3.0-or-later"
-# mips64, s390x: limited by libhandy
-# mips64, riscv64: limited by gst-plugins-bad
-arch="noarch !mips64 !s390x !riscv64"
-depends="gst-plugins-bad gst-plugins-base gst-plugins-good libhandy
- python3 py3-gst py3-gobject3"
-makedepends="appstream-glib-dev meson"
-subpackages="$pkgname-lang"
-source="https://github.com/rafaelmardojai/blanket/archive/$pkgver/blanket-$pkgver.tar.gz
- try-set-locale.patch
- "
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-bfc1ddadd22b68423d6e7734e7fc8cbdabf264e19a3810216480bd97248841a30f0759d423439b0a082a202474cf0c3f3b481cfeb7bff3dd5c146f730389aad5 blanket-0.5.0.tar.gz
-8e06b08897a739e737912c5332afd6351f7da727cc934d10db329b36501149b07ad07f8d188213621dff4b6e60b166598ec2077cf3d389003072c4ff5293b702 try-set-locale.patch
-"
diff --git a/testing/blanket/try-set-locale.patch b/testing/blanket/try-set-locale.patch
deleted file mode 100644
index 1cb86d6c16a..00000000000
--- a/testing/blanket/try-set-locale.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 77a4011ce7b2c69faacf666bbaec09336894d7db Mon Sep 17 00:00:00 2001
-From: Rafael Mardojai CM <mardojai.cardenas@gmail.com>
-Date: Wed, 29 Sep 2021 20:15:50 -0500
-Subject: [PATCH] Separate trying to set locale and gettext domains Fix Blanked
- not launching if locale.bindtextdomain and locale.textdomain don't exist
-
-Co-authored-by: mio <miyopan@e.email>
----
- blanket/blanket.in | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/blanket/blanket.in b/blanket/blanket.in
-index 7d6d3ec..4f84102 100755
---- a/blanket/blanket.in
-+++ b/blanket/blanket.in
-@@ -18,10 +18,16 @@ sys.path.insert(1, pkgdatadir)
- signal.signal(signal.SIGINT, signal.SIG_DFL)
- gettext.install('blanket', localedir)
-
--locale.bindtextdomain('blanket', localedir)
--locale.textdomain('blanket')
--gettext.bindtextdomain('blanket', localedir)
--gettext.textdomain('blanket')
-+try:
-+ locale.bindtextdomain('blanket', localedir)
-+ locale.textdomain('blanket')
-+except:
-+ print('Cannot set locale.')
-+try:
-+ gettext.bindtextdomain('blanket', localedir)
-+ gettext.textdomain('blanket')
-+except:
-+ print('Cannot load translations.')
-
- if __name__ == '__main__':
- import gi
diff --git a/testing/blender/0001-musl-fixes.patch b/testing/blender/0001-musl-fixes.patch
deleted file mode 100644
index 06d30a527d7..00000000000
--- a/testing/blender/0001-musl-fixes.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 9b9f23aed4a7a7c904b1d03ba64516ad0a030424 Mon Sep 17 00:00:00 2001
-From: Leon Marz <lmarz@cs.uni-frankfurt.de>
-Date: Wed, 25 Nov 2020 10:10:41 +0100
-Subject: [PATCH 1/4] musl fixes
-
-Original patch by Nathanael Copa
----
- intern/guardedalloc/intern/mallocn_intern.h | 2 +-
- intern/libc_compat/libc_compat.c | 2 --
- source/blender/blenlib/intern/system.c | 4 +++-
- source/blender/gpu/GPU_vertex_buffer.h | 1 -
- source/creator/creator_signals.c | 2 +-
- 5 files changed, 5 insertions(+), 6 deletions(-)
-
-diff --git a/intern/guardedalloc/intern/mallocn_intern.h b/intern/guardedalloc/intern/mallocn_intern.h
-index e4bd3d5..536bf98 100644
---- a/intern/guardedalloc/intern/mallocn_intern.h
-+++ b/intern/guardedalloc/intern/mallocn_intern.h
-@@ -33,7 +33,7 @@
- #undef HAVE_MALLOC_STATS
- #define USE_MALLOC_USABLE_SIZE /* internal, when we have malloc_usable_size() */
-
--#if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || \
-+#if defined(__linux__) && !defined(__MUSL__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || \
- defined(__GLIBC__)
- # include <malloc.h>
- # define HAVE_MALLOC_STATS
-diff --git a/intern/libc_compat/libc_compat.c b/intern/libc_compat/libc_compat.c
-index 78e387e..d21c281 100644
---- a/intern/libc_compat/libc_compat.c
-+++ b/intern/libc_compat/libc_compat.c
-@@ -25,7 +25,6 @@
- # include <features.h>
- # include <math.h>
-
--# if defined(__GLIBC_PREREQ) && __GLIBC_PREREQ(2, 31)
-
- double __exp_finite(double x);
- double __exp2_finite(double x);
-@@ -124,5 +123,4 @@ float __powf_finite(float x, float y)
- return powf(x, y);
- }
-
--# endif /* __GLIBC_PREREQ */
- #endif /* __linux__ */
-diff --git a/source/blender/blenlib/intern/system.c b/source/blender/blenlib/intern/system.c
-index 66d0b44..1aaa8f2 100644
---- a/source/blender/blenlib/intern/system.c
-+++ b/source/blender/blenlib/intern/system.c
-@@ -35,7 +35,9 @@
-
- # include "BLI_winstuff.h"
- #else
-+#if !defined(__MUSL__)
- # include <execinfo.h>
-+#endif
- # include <unistd.h>
- #endif
-
-@@ -80,7 +82,7 @@ void BLI_system_backtrace(FILE *fp)
- {
- /* ------------- */
- /* Linux / Apple */
--# if defined(__linux__) || defined(__APPLE__)
-+# if defined(__linux__) && !defined(__MUSL__) || defined(__APPLE__)
-
- # define SIZE 100
- void *buffer[SIZE];
-diff --git a/source/blender/gpu/GPU_vertex_buffer.h b/source/blender/gpu/GPU_vertex_buffer.h
-index 2c54016..9b967dc 100644
---- a/source/blender/gpu/GPU_vertex_buffer.h
-+++ b/source/blender/gpu/GPU_vertex_buffer.h
-@@ -127,7 +127,6 @@ GPU_INLINE void *GPU_vertbuf_raw_step(GPUVertBufRaw *a)
- {
- unsigned char *data = a->data;
- a->data += a->stride;
-- BLI_assert(data < a->_data_end);
- return (void *)data;
- }
-
-diff --git a/source/creator/creator_signals.c b/source/creator/creator_signals.c
-index b74264f..4bafecf 100644
---- a/source/creator/creator_signals.c
-+++ b/source/creator/creator_signals.c
-@@ -271,7 +271,7 @@ void main_signal_setup_fpe(void)
- * set breakpoints on sig_handle_fpe */
- signal(SIGFPE, sig_handle_fpe);
-
--# if defined(__linux__) && defined(__GNUC__)
-+# if defined(__linux__) && defined(__GNUC__) && !defined(__MUSL__)
- feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
- # endif /* defined(__linux__) && defined(__GNUC__) */
- # if defined(OSX_SSE_FPE)
---
-2.34.1
-
diff --git a/testing/blender/0002-fix-linking-issue.patch b/testing/blender/0002-fix-linking-issue.patch
deleted file mode 100644
index ecd929dd558..00000000000
--- a/testing/blender/0002-fix-linking-issue.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 14e36d81b163a627faf3353436e17d1a564f2bb1 Mon Sep 17 00:00:00 2001
-From: Leon Marz <lmarz@cs.uni-frankfurt.de>
-Date: Tue, 1 Sep 2020 09:11:18 +0200
-Subject: [PATCH 2/4] fix linking issue
-
----
- intern/ghost/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
-index 4164231..092bfea 100644
---- a/intern/ghost/CMakeLists.txt
-+++ b/intern/ghost/CMakeLists.txt
-@@ -536,5 +536,5 @@ if(WITH_XR_OPENXR)
- endif()
-
- add_definitions(${GL_DEFINITIONS})
--
-+list(APPEND LIB "-lX11" "-lXi" "-lXxf86vm" "-lXfixes" "-lXrender")
- blender_add_lib(bf_intern_ghost "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
---
-2.34.1
-
diff --git a/testing/blender/0003-increase-thread-stack-size-for-musl.patch b/testing/blender/0003-increase-thread-stack-size-for-musl.patch
deleted file mode 100644
index ea3b628061a..00000000000
--- a/testing/blender/0003-increase-thread-stack-size-for-musl.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From d701e5d8bad42d509c7258e6ac984a4b933cb42c Mon Sep 17 00:00:00 2001
-From: Damian Kurek <starfire24680@gmail.com>
-Date: Fri, 3 Dec 2021 17:55:35 +0000
-Subject: [PATCH 3/4] increase thread stack size for musl
-
----
- intern/cycles/util/thread.cpp | 4 ++--
- intern/cycles/util/thread.h | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/intern/cycles/util/thread.cpp b/intern/cycles/util/thread.cpp
-index 24a0600..e70fc4d 100644
---- a/intern/cycles/util/thread.cpp
-+++ b/intern/cycles/util/thread.cpp
-@@ -23,7 +23,7 @@ CCL_NAMESPACE_BEGIN
-
- thread::thread(function<void()> run_cb, int node) : run_cb_(run_cb), joined_(false), node_(node)
- {
--#ifdef __APPLE__
-+#if defined(__APPLE__) || defined(__MUSL__)
- /* Set the stack size to 2MB to match Linux. The default 512KB on macOS is
- * too small for Embree, and consistent stack size also makes things more
- * predictable in general. */
-@@ -56,7 +56,7 @@ void *thread::run(void *arg)
- bool thread::join()
- {
- joined_ = true;
--#ifdef __APPLE__
-+#if defined(__APPLE__) || defined(__MUSL__)
- return pthread_join(pthread_id, NULL) == 0;
- #else
- try {
-diff --git a/intern/cycles/util/thread.h b/intern/cycles/util/thread.h
-index 09686e4..b585fde 100644
---- a/intern/cycles/util/thread.h
-+++ b/intern/cycles/util/thread.h
-@@ -56,7 +56,7 @@ class thread {
-
- protected:
- function<void()> run_cb_;
--#ifdef __APPLE__
-+#if defined(__APPLE__) || defined(__MUSL__)
- pthread_t pthread_id;
- #else
- std::thread std_thread;
---
-2.34.1
-
diff --git a/testing/blender/0004-OpenEXR-3.patch b/testing/blender/0004-OpenEXR-3.patch
deleted file mode 100644
index b21771ef536..00000000000
--- a/testing/blender/0004-OpenEXR-3.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From f0567e2496bc1f564999a980d99230a61f74bff2 Mon Sep 17 00:00:00 2001
-From: Leon Marz <main@lmarz.org>
-Date: Sat, 7 Aug 2021 16:01:52 +0000
-Subject: [PATCH 4/4] OpenEXR 3
-
----
- build_files/cmake/Modules/FindOpenEXR.cmake | 5 ++---
- source/blender/imbuf/intern/openexr/openexr_api.cpp | 2 ++
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake
-index 090f80b..4f5e9d8 100644
---- a/build_files/cmake/Modules/FindOpenEXR.cmake
-+++ b/build_files/cmake/Modules/FindOpenEXR.cmake
-@@ -34,9 +34,8 @@ ENDIF()
- SET(_openexr_libs_ver_init "2.0")
-
- SET(_openexr_FIND_COMPONENTS
-- Half
-+ OpenEXR
- Iex
-- IlmImf
- IlmThread
- Imath
- )
-@@ -120,7 +119,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR DEFAULT_MSG
- IF(OPENEXR_FOUND)
- SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
- # Both include paths are needed because of dummy OSL headers mixing #include <OpenEXR/foo.h> and #include <foo.h> :(
-- SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR)
-+ SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR ${OPENEXR_INCLUDE_DIR}/Imath)
- ENDIF()
-
- MARK_AS_ADVANCED(
-diff --git a/source/blender/imbuf/intern/openexr/openexr_api.cpp b/source/blender/imbuf/intern/openexr/openexr_api.cpp
-index adf09f8..57fde8a 100644
---- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
-+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
-@@ -32,6 +32,8 @@
- #include <stdexcept>
- #include <string>
-
-+#include <ImfInt64.h>
-+#include <ImfFrameBuffer.h>
- #include <Iex.h>
- #include <ImathBox.h>
- #include <ImfArray.h>
---
-2.34.1
-
diff --git a/testing/blender/APKBUILD b/testing/blender/APKBUILD
deleted file mode 100644
index 7ccdeecf533..00000000000
--- a/testing/blender/APKBUILD
+++ /dev/null
@@ -1,151 +0,0 @@
-# Contributor: Mark Riedesel <mark@klowner.com>
-# Contributor: Leon Marz <main@lmarz.org>
-# Maintainer: Leon Marz <main@lmarz.org>
-pkgname=blender
-pkgver=3.0.0
-_pkgver=${pkgver%.[0-9]}
-pkgrel=1
-pkgdesc="3D Creation/Animation/Publishing System"
-url="https://www.blender.org/"
-arch="x86_64" # only on x86_64, mainly because of openvdb
-license="GPL-2.0-or-later"
-depends="blender-shared=$pkgver-r$pkgrel"
-makedepends="cmake
- alembic-dev
- blosc-dev
- boost-dev
- eigen-dev
- embree-dev
- embree-static
- ffmpeg-dev
- fftw-dev
- freetype-dev
- glew-dev
- gmp-dev
- jack-dev
- libharu-dev
- libjpeg-turbo-dev
- libpng-dev
- libsndfile-dev
- libtbb-dev
- libx11-dev
- libxi-dev
- libxrender-dev
- llvm12-dev
- lzo-dev
- openal-soft-dev
- opencolorio-dev
- openexr-dev
- openimagedenoise-dev
- openimageio-dev
- openjpeg-dev
- opensubdiv-dev
- openvdb-dev
- openvdb-nanovdb
- openxr-dev
- osl
- osl-dev
- potrace-dev
- pugixml-dev
- pulseaudio-dev
- py3-numpy-dev
- python3-dev
- sdl2-dev
- tiff-dev
- "
-subpackages="$pkgname-doc $pkgname-shared::noarch $pkgname-headless py3-$pkgname:python"
-source="https://download.blender.org/source/blender-$pkgver.tar.xz
- 0001-musl-fixes.patch
- 0002-fix-linking-issue.patch
- 0003-increase-thread-stack-size-for-musl.patch
- 0004-OpenEXR-3.patch
- "
-
-
-build() {
- # Headless
- mkdir -p "$builddir"/build-headless
- cd "$builddir"/build-headless
- _build -C../build_files/cmake/config/blender_headless.cmake
-
- # Full
- mkdir -p "$builddir"/build-full
- cd "$builddir"/build-full
- _build -C../build_files/cmake/config/blender_full.cmake
-
- # Python module
- mkdir -p "$builddir"/build-py
- cd "$builddir"/build-py
- _build -C../build_files/cmake/config/bpy_module.cmake
-}
-
-_build() {
- local _py_version=$(python3 -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))')
-
- export CFLAGS="$CFLAGS -D__MUSL__"
- export CXXFLAGS="$CXXFLAGS -D__MUSL__"
-
- cmake .. "$@" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DWITH_PYTHON_INSTALL=OFF \
- -DWITH_INSTALL_PORTABLE=OFF \
- -DWITH_SYSTEM_LZO=ON \
- -DWITH_SYSTEM_EIGEN3=ON \
- -DWITH_SYSTEM_GLEW=ON \
- -DPYTHON_VERSION=$_py_version
-
- cmake --build .
-}
-
-package() {
- # Install headless files
- cd "$builddir"/build-headless
- DESTDIR="$pkgdir"/headless cmake --install .
-
- # Rename the headless blender to blender-headless
- mkdir -p "$pkgdir"/usr/bin
- mv "$pkgdir"/headless/usr/bin/blender "$pkgdir"/usr/bin/blender-headless
- rm -rf "$pkgdir"/headless
-
- # Install python module
- cd "$builddir"/build-py
- DESTDIR="$pkgdir" cmake --install .
-
- # Install the full package
- cd "$builddir"/build-full
- DESTDIR="$pkgdir" cmake --install .
-}
-
-shared() {
- pkgdesc="Blender shared runtime data and add-on scripts"
- mkdir -p "$subpkgdir"/usr/share/
- mv "$pkgdir"/usr/share/blender "$subpkgdir"/usr/share/
-}
-
-headless() {
- pkgdesc="$pkgdesc (headless build)"
- depends="blender-shared=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/blender-headless "$subpkgdir"/usr/bin/
-}
-
-python() {
- local _py_version=$(python3 -c 'import sys; print("%i.%i" % (sys.version_info.major, sys.version_info.minor))')
-
- pkgdesc="Blender modules for Python 3"
- mkdir -p "$subpkgdir"/usr/lib/python"$_py_version"/site-packages
- mv "$pkgdir"/usr/lib/python"$_py_version"/site-packages/bpy.so "$subpkgdir"/usr/lib/python"$_py_version"/site-packages/
- rm -rf "$pkgdir"/usr/lib
-
- # Symlink to the blender-shared files
- ln -s /usr/share/blender/"$_pkgver" "$subpkgdir"/usr/lib/python"$_py_version"/site-packages/"$_pkgver"
-}
-
-sha512sums="
-727d722e7b750b77b0fe691605a84de58baf15a3cc01af267be0440bd0879772e14dbdfdb16209023df3c28b94d8009b0c389915097cdb0b49bdf42c8de1ef21 blender-3.0.0.tar.xz
-24ccbdaefedd43d7f934e11bb2eb2e764f7d904e1478cae9fea808e42434d6a89cc05c408853f2282da902970a43fda8aa52d30a8c4318479b1c57fa0b06ea08 0001-musl-fixes.patch
-ebf37b6b7ff519079c7a59cf1fc79dc615742825762edaca4f14ee0bba0fe5515e76c41bc64f5a98d814cbbf0c7e1eec1f84cfea133e8c344b35056efbed0646 0002-fix-linking-issue.patch
-fc745176719a2771df5f6c78172ae270c301cd8d8ce67dadf7ef760ce610135b894a2bcad9362aae961109963b220de7420ccd17aee0b36f67777dc57025db7e 0003-increase-thread-stack-size-for-musl.patch
-057b1973332a2749684596b3b2d934b156193c0e7c3ece57f71760165c08296aca3c9a7cc27306b3350004c9a0a5aad8c9643e0887e4dcb728cde233a2b333b3 0004-OpenEXR-3.patch
-"
diff --git a/testing/bliss/APKBUILD b/testing/bliss/APKBUILD
new file mode 100644
index 00000000000..1355fe88f5c
--- /dev/null
+++ b/testing/bliss/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=bliss
+pkgver=0.77
+pkgrel=1
+pkgdesc="Tool for computing automorphism groups and canonical labelings of graphs"
+url="https://users.aalto.fi/~tjunttil/bliss"
+arch="all"
+license="LGPL-3.0-only"
+makedepends="cmake samurai"
+source="https://archive.org/download/bliss-$pkgver.tar.gz/bliss-$pkgver.tar.gz"
+subpackages="$pkgname-dev"
+builddir="$srcdir/Bliss-$pkgver"
+
+build() {
+ cmake -G Ninja -B builddir \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build builddir
+}
+
+check() {
+ ./builddir/bliss -version
+}
+
+package() {
+ install -Dm755 builddir/bliss "$pkgdir"/usr/bin/bliss
+ install -Dm755 builddir/libbliss.a "$pkgdir"/usr/lib/libbliss.a
+ for file in include/bliss/*; do
+ install -Dm644 "$file" "$pkgdir"/usr/"$file"
+ done
+}
+
+sha512sums="
+27bd44695f2c1f3dfcb2f39f75fea3f61db29dfde4bef545bd14017830cd3d399b2e448ae7a703a5886bd433b22f6eddfaa99618c8714340d366d8e387ae6583 bliss-0.77.tar.gz
+"
diff --git a/testing/blocky/APKBUILD b/testing/blocky/APKBUILD
deleted file mode 100644
index 70d81387966..00000000000
--- a/testing/blocky/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Justin Berthault <justin.berthault@zaclys.net>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
-pkgname=blocky
-pkgver=0.16
-pkgrel=0
-pkgdesc="DNS proxy as ad-blocker for local network"
-url="https://github.com/0xERR0R/blocky"
-license="Apache-2.0"
-arch="all"
-options="net"
-makedepends="go"
-source="$pkgname-$pkgver.tar.gz::https://github.com/0xERR0R/blocky/archive/v$pkgver.tar.gz"
-
-build() {
- go get github.com/swaggo/swag/cmd/swag@v1.6.5
- make build
-}
-
-check() {
- make test
-}
-
-package() {
- install -Dm755 "bin/$pkgname" "$pkgdir/usr/bin/$pkgname"
-
- # blocky will not start if its log directory is missing
- mkdir -p "$pkgdir"/var/log/blocky
-
-}
-
-sha512sums="
-cb6d691d39307d5515c008e009df220adaf138421d2c7376ee18dba2dae852d978c67a4881e7f1ea5e5f06be704e47169146e63bb86ced74e4791694bfb36d7a blocky-0.16.tar.gz
-"
diff --git a/testing/blosc/APKBUILD b/testing/blosc/APKBUILD
deleted file mode 100644
index 5fa19a612d0..00000000000
--- a/testing/blosc/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Leon Marz <main@lmarz.org>
-# Maintainer: Leon Marz <main@lmarz.org>
-pkgname=blosc
-pkgver=1.21.1
-pkgrel=0
-pkgdesc="A blocking, shuffling and lossless compression library"
-url="https://blosc.org"
-arch="all"
-license="BSD-3-Clause"
-makedepends="cmake lz4-dev zlib-dev zstd-dev"
-subpackages="$pkgname-static $pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Blosc/c-blosc/archive/v$pkgver.tar.gz"
-builddir="$srcdir/c-blosc-$pkgver"
-
-build() {
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DBUILD_BENCHMARKS=OFF \
- -DPREFER_EXTERNAL_LZ4=ON \
- -DPREFER_EXTERNAL_ZLIB=ON \
- -DPREFER_EXTERNAL_ZSTD=ON \
- .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=1 ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-e06712ffaeaa6892415a6b01219221426c20af4191db6ca923301313daa8f5b0a83a7a3cd273f7013766349ace4e4869590e9c44bd892e57027ca45de53779e7 blosc-1.21.1.tar.gz
-"
diff --git a/testing/bm818-tools/APKBUILD b/testing/bm818-tools/APKBUILD
new file mode 100644
index 00000000000..df9d7c5dbb6
--- /dev/null
+++ b/testing/bm818-tools/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Alistair Francis <alistair@alistair23.me>
+pkgname=bm818-tools
+pkgver=0.7
+pkgrel=0
+pkgdesc="Free tools for use with the BM818 modem"
+url="https://source.puri.sm/Librem5/bm818-tools"
+arch="all"
+license="GPL-3.0-or-later"
+depends="
+ ppp
+ python3
+ py3-pyserial
+ py3-udev
+ "
+
+source="
+ https://source.puri.sm/Librem5/bm818-tools/-/archive/v$pkgver/bm818-tools-v$pkgver.tar.gz
+"
+options="!check" # no test suite
+builddir="$srcdir/bm818-tools-v$pkgver"
+
+package() {
+ install -D -m755 "usr/bin/bm818-fw-check" "$pkgdir/usr/bin/bm818-fw-check"
+ install -D -m755 "usr/bin/bm818-tool" "$pkgdir/usr/bin/bm818-tool"
+ install -D -m755 "usr/bin/bm818-volte" "$pkgdir/usr/bin/bm818-volte"
+ install -D -m755 "usr/bin/bm818-volte-check" "$pkgdir/usr/bin/bm818-volte-check"
+
+ for f in usr/share/bm818-tools/*; do
+ install -D -t "$pkgdir/usr/share/bm818-tools/" $f;
+ done
+
+ # Copy the glade file for the GUI
+ #
+ # We don't install the desktop file (usr/share/applications/bm818-tool.desktop)
+ # as by default the user won't have permissions to run the GUI. To access the
+ # modem you need to be root or the user needs to be a member of the dialout group.
+ #
+ # We don't want to add the user to the dialout group just to run this GUI, instead
+ # let's just expect the user to run the scripts or GUI from the terminal as
+ # root (or add themselves to dialout).
+ # See: https://source.puri.sm/Librem5/bm818-tools/-/issues/5
+ install -D -m755 "data/bm818-tool.glade" "$pkgdir/usr/share/bm818-tools/bm818-tool.glade"
+}
+
+sha512sums="
+1c3ff524e68271189da6d2cd0413d64acf6f3b5e0ce2c05d97e537aadc7dd82615597b51985ee23f790a51e4261e20480988133fb481dc0b042bc968e7ce6849 bm818-tools-v0.7.tar.gz
+"
diff --git a/testing/bmkdep/APKBUILD b/testing/bmkdep/APKBUILD
deleted file mode 100644
index 587ec589afa..00000000000
--- a/testing/bmkdep/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=bmkdep
-pkgver=20140112
-pkgrel=0
-pkgdesc="Construct Makefile dependency list"
-url="https://github.com/trociny/bmkdep"
-arch="all"
-license="BSD-2-Clause"
-makedepends="bmake groff"
-subpackages="$pkgname-doc"
-source="https://github.com/trociny/bmkdep/archive/bmkdep-$pkgver.tar.gz"
-options="!check" # No tests.
-builddir="$srcdir/$pkgname-$pkgname-$pkgver"
-
-prepare() {
- default_prepare
-
- # Program is named bmkdep, update manual page for clarification.
- sed -i -e "s/mkdep/bmkdep/g;s/MKDEP/BMKDEP/g;" bmkdep.1
-}
-
-build() {
- bmake
-
-}
-
-package() {
- bmake install DESTDIR="$pkgdir" MANTARGET=man MANDIR=/usr/share/man PREFIX=/usr
-}
-
-sha512sums="c071adeab94907c4a8cb3d8d8fa8fcfb1f93c37c50ec2801dea530e391b9d6117a7c808fdfda6b9d2505535d2ece5d113639fd3f4d0256f58e9748a8a9f3dc9e bmkdep-20140112.tar.gz"
diff --git a/testing/boa-cli/APKBUILD b/testing/boa-cli/APKBUILD
new file mode 100644
index 00000000000..fa3a8f589c4
--- /dev/null
+++ b/testing/boa-cli/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=boa-cli
+pkgver=0.18
+pkgrel=0
+pkgdesc="Embeddable and experimental Javascript engine written in Rust"
+url="https://github.com/boa-dev/boa/"
+# 32-bit: failing tests
+# ppc64le: corosensei crate
+# s390x: nix crate
+arch="all !armhf !armv7 !x86 !ppc64le !s390x"
+license="MIT OR Unlicense"
+makedepends="cargo cargo-auditable"
+checkdepends="openssl-dev"
+source="https://github.com/boa-dev/boa/archive/refs/tags/v$pkgver/boa-$pkgver.tar.gz"
+builddir="$srcdir/boa-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --package boa_cli --release --frozen --bin boa
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/boa "$pkgdir"/usr/bin/boa
+}
+
+sha512sums="
+a7b61f22b7081d55316a9260da7adc740033de2258c441ce599ba082ae07d1712e51de8f575bd997b6b367bc7d0655839cfc16b0014a56283ff9de3a40c0fb12 boa-0.18.tar.gz
+"
diff --git a/testing/bobcat/APKBUILD b/testing/bobcat/APKBUILD
index fe5a983fec1..2ba94720185 100644
--- a/testing/bobcat/APKBUILD
+++ b/testing/bobcat/APKBUILD
@@ -1,17 +1,17 @@
# Contributor: Shiz <hi@shiz.me>
# Maintainer: Shiz <hi@shiz.me>
pkgname=bobcat
-pkgver=4.08.01
+pkgver=4.09.00
pkgrel=0
pkgdesc="Brokken's Own Base Classes And Templates"
-url="https://fbb-git.github.io/bobcat/"
+url="https://gitlab.com/fbb-git/bobcat"
arch="all"
license="GPL-2.0-or-later"
depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="icmake bash yodl"
subpackages="$pkgname-doc $pkgname-dev"
options="!check" # no tests provided by upstream.
-source="bobcat-$pkgver.tar.gz::https://github.com/fbb-git/bobcat/archive/$pkgver.tar.gz
+source="bobcat-$pkgver.tar.gz::https://gitlab.com/fbb-git/bobcat/-/archive/$pkgver/bobcat-$pkgver.tar.gz
dont-use-reserved-name-for-page-size.patch
avoid-gnuisms.patch
avoid-strerror_r.patch
@@ -34,7 +34,9 @@ package() {
./build install hlm "$pkgdir"
}
-sha512sums="8752392e6feb0f3caf119ebf58423dc4cb24f0cd9f421e58ba14648baf8603235bfb44c24d5ea1ecee78a52620fe3ad2936091ec47b0de924c4af00ebc8b16f1 bobcat-4.08.01.tar.gz
+sha512sums="
+03357d7b6dc00d7f41a59775703e42474b07ef121a4187270b439b8e23ddd0f1e43d1fba5fa27839cc2426cb01fd800c42f1da931280331dcc29b4cc8d64f816 bobcat-4.09.00.tar.gz
6521da77c2452fb2c4b209c24e5dae04650636224efe5e75e2f2e64ab1c6457392ad4cdc4afbe79526734c8211488b2dc5915210ee7af646e7d0af04579cd484 dont-use-reserved-name-for-page-size.patch
24eb74e7dab68cb70f89459228f0f302a5214f8d45bc31e38a8d608edfa97cfe61710212fface32fc480fc4ef2fb23bbca7ed806dd40330e6da69774b3d1965d avoid-gnuisms.patch
-1129bb0666f6809ab2cca60bb164f4c557be7d27db84e41712643ee5027b8c7b62bc82e8f1c5fa9a1e737e487fe58f163afd6687d94fbacb9a23ad7818851cf0 avoid-strerror_r.patch"
+1129bb0666f6809ab2cca60bb164f4c557be7d27db84e41712643ee5027b8c7b62bc82e8f1c5fa9a1e737e487fe58f163afd6687d94fbacb9a23ad7818851cf0 avoid-strerror_r.patch
+"
diff --git a/testing/boinc/APKBUILD b/testing/boinc/APKBUILD
index 811b1463b3a..f7dc23e2879 100644
--- a/testing/boinc/APKBUILD
+++ b/testing/boinc/APKBUILD
@@ -2,23 +2,47 @@
# Contributor: knuxify <knuxify@gmail.com>
# Maintainer: Joe Searle <joe@jsearle.net>
pkgname=boinc
-pkgver=7.16.19
+pkgver=7.24.3
_pkgver=${pkgver%.*}
pkgrel=0
-pkgdesc="Open-source software for volunteer computing and grid computing."
+pkgdesc="Open-source software for volunteer computing and grid computing"
url="https://boinc.berkeley.edu/"
arch="all !riscv64"
options="!check" # nothing is actually done by make check
license="LGPL-3.0-or-later"
depends="bash procps shadow"
-makedepends="$depends_dev automake autoconf clang curl-dev docbook2x
- freeglut-dev glu-dev libjpeg-turbo-dev libnotify-dev openssl1.1-compat-dev
- libtool libxi-dev libxmu-dev libxscrnsaver-dev m4 mesa-dev pkgconf
- sqlite-dev wxgtk-dev"
+makedepends="
+ $depends_dev
+ autoconf
+ automake
+ clang
+ curl-dev
+ docbook2x
+ freeglut-dev
+ glu-dev
+ libjpeg-turbo-dev
+ libnotify-dev
+ libtool
+ libxi-dev
+ libxmu-dev
+ libxscrnsaver-dev
+ m4
+ mesa-dev
+ openssl-dev>3
+ sqlite-dev
+ wxwidgets-dev
+ "
install="$pkgname.pre-install"
pkgusers="boinc"
pkggroups="boinc"
-subpackages="$pkgname-doc $pkgname-dev $pkgname-gui $pkgname-lang $pkgname-libs $pkgname-openrc $pkgname-screensaver"
+subpackages="
+ $pkgname-doc
+ $pkgname-dev
+ $pkgname-gui
+ $pkgname-lang
+ $pkgname-libs
+ $pkgname-screensaver
+ "
source="boinc-$pkgver.tar.gz::https://github.com/BOINC/boinc/archive/client_release/$_pkgver/$pkgver.tar.gz"
builddir="$srcdir/$pkgname-client_release-$_pkgver-$pkgver"
@@ -26,6 +50,9 @@ build() {
# GCC fails on non-x86 architectures
export CC=clang
export CXX=clang++
+ # a bunch of failures in vendored ancient libzip that is patched..
+ export CFLAGS="$CFLAGS -O2 -Wno-error=format-security"
+ export CXXFLAGS="$CXXFLAGS -O2 -Wno-error=format-security"
./_autosetup
@@ -55,40 +82,18 @@ package() {
make DESTDIR="$pkgdir" install
}
-_cleanup_empty_dirs() {
- local _dir
- _dir="${1:-"$pkgdir"}"
-
- find "$_dir" -mindepth 1 -depth -type d -exec rmdir --ignore-fail-on-non-empty '{}' +
-}
-
-libs() {
- default_libs
- depends="$depends_libs"
-
- _cleanup_empty_dirs
-}
-
gui() {
- depends="$depends_gui"
pkgdesc="$pkgdesc (manager)"
- mkdir -p "$subpkgdir/usr/bin"
- mv "$pkgdir/usr/bin/boincmgr" "$subpkgdir/usr/bin"
-
- _cleanup_empty_dirs
+ amove usr/bin/boincmgr
}
screensaver() {
- depends="$depends_screensaver"
pkgdesc="$pkgdesc (screensaver)"
- mkdir -p "$subpkgdir/usr/bin"
- mv "$pkgdir/usr/bin/boincscr" "$subpkgdir/usr/bin"
-
- _cleanup_empty_dirs
+ amove usr/bin/boincscr
}
sha512sums="
-ec5a93ce83706501242baa1b6b43e9bb817e544dc8b07407b212368170038e1a676f422f541985febc343c20e49499b303f76c289a8306a915968e7357d1f73d boinc-7.16.19.tar.gz
+d66664df49b83fb71e8f06e6f9ca0aee720ec04b1fb95b08426ee9af365403605624ba6dc1f78f3fba3f966d365b610ed24ceffdc54b071509f4f0bf959e027c boinc-7.24.3.tar.gz
"
diff --git a/testing/bombadillo/APKBUILD b/testing/bombadillo/APKBUILD
deleted file mode 100644
index eacfa6fdc44..00000000000
--- a/testing/bombadillo/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Maxim Karasev <begs@disroot.org>
-# Maintainer: Maxim Karasev <begs@disroot.org>
-pkgname=bombadillo
-pkgver=2.3.3
-pkgrel=1
-pkgdesc="Non-web (gopher, gemini, finger) browser for the terminal"
-url="https://bombadillo.colorfield.space/"
-license="GPL-3.0-or-later"
-arch="all"
-makedepends="go"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://tildegit.org/sloum/bombadillo/archive/$pkgver.tar.gz"
-builddir="$srcdir/bombadillo"
-
-export GOPATH="$srcdir"
-export GOFLAGS="$GOFLAGS -trimpath -modcacherw"
-
-build() {
- make build
-}
-
-check() {
- go test ./...
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="
-62ca7dccca1bf1b31a679bfd28976c7dbd6701b25731c0cfdd5969c95edfb2f3deb1e15f5d61d07fe1e0cabab126fa103bcd874405aebcb489a775e56ae9dede bombadillo-2.3.3.tar.gz
-"
diff --git a/testing/bonzomatic/APKBUILD b/testing/bonzomatic/APKBUILD
index 87e81c87729..793f80c418f 100644
--- a/testing/bonzomatic/APKBUILD
+++ b/testing/bonzomatic/APKBUILD
@@ -1,16 +1,26 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=bonzomatic
-_datever=2020-05-09
+_datever=2023-06-15
pkgver=${_datever//-/}
pkgrel=0
pkgdesc="OpenGL shader livecoding toy"
url="https://github.com/Gargaj/Bonzomatic"
arch="all"
license="Unlicense"
-depends=""
-makedepends="cmake fontconfig-dev mesa-dev alsa-lib-dev libxrandr-dev libxinerama-dev libxcursor-dev glu-dev libxi-dev"
-install=""
-subpackages=""
+makedepends="
+ alsa-lib-dev
+ cmake
+ fontconfig-dev
+ glew-dev
+ glfw-dev
+ glu-dev
+ libxcursor-dev
+ libxi-dev
+ libxinerama-dev
+ libxrandr-dev
+ mesa-dev
+ samurai
+ "
source="https://github.com/Gargaj/Bonzomatic/archive/$_datever/bonzomatic-$_datever.tar.gz"
builddir="$srcdir/Bonzomatic-$_datever"
options="!check" # no test suite
@@ -19,17 +29,20 @@ build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- ${CMAKE_CROSSOPTS} .
- make -C build
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ $CMAKE_CROSSOPTS
+ # broken
+ # -DBONZOMATIC_USE_SYSTEM_GLFW=ON \
+ # -DBONZOMATIC_USE_SYSTEM_GLEW=ON \
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="550d2cb1a4c135824782b0f9577f51b62f940f0c915a55861c241bd2937d91c2233c4ce5e4563e8d8a63237bc3b5e1273e738a912ee8ab1d5f62ad7bbdac5c33 bonzomatic-2020-05-09.tar.gz"
+sha512sums="
+60651dc16ce9c38e117a7530dbf17452dbcc50f2fa067b99a4c732c692e1b9b377da489135227c9d0492d9fe38e445a39d459f1f6567043054fdbc1646f85c1f bonzomatic-2023-06-15.tar.gz
+"
diff --git a/testing/bootinfo/APKBUILD b/testing/bootinfo/APKBUILD
new file mode 100644
index 00000000000..fb0363b8804
--- /dev/null
+++ b/testing/bootinfo/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer:
+pkgname=bootinfo
+pkgver=0.1.0
+pkgrel=3
+pkgdesc="Bootloader info for ARM devices"
+url="https://git.sr.ht/~martijnbraam/bootinfo"
+arch="noarch"
+license="GPL-3.0"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/bootinfo/archive/$pkgver.tar.gz"
+depends="python3"
+makedepends="py3-setuptools python3-dev"
+checkdepends="py3-pytest"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest bootinfo
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+88723e0cd5d8e52b21badb47d1ccbd258934b473256092a919301492d2a45e2d2dc045a8ff98c92a26be1c03975b01767879b1d671e2fd63a135b7ec39924c44 bootinfo-0.1.0.tar.gz
+"
diff --git a/testing/bootloose/APKBUILD b/testing/bootloose/APKBUILD
new file mode 100644
index 00000000000..bb5c7ceb1ad
--- /dev/null
+++ b/testing/bootloose/APKBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=bootloose
+pkgver=0.7.1
+pkgrel=3
+pkgdesc="Manage containers that look like virtual machines"
+url="https://github.com/k0sproject/bootloose"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="https://github.com/k0sproject/bootloose/archive/refs/tags/v$pkgver/bootloose-$pkgver.tar.gz"
+options="chmod-clean"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ make
+}
+
+check() {
+ make test-unit
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+515d6eff47705c84c10421a32fe18a2fcefdf5214824a08f3651a632b0e0ba53c4e83f485ac81eba483c795d285bbda31c8f134c4128e4df609e6528c3f8819d bootloose-0.7.1.tar.gz
+"
diff --git a/testing/bootterm/APKBUILD b/testing/bootterm/APKBUILD
index 4536d791666..652fadbef85 100644
--- a/testing/bootterm/APKBUILD
+++ b/testing/bootterm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=bootterm
pkgver=0.4
-pkgrel=1
+pkgrel=2
pkgdesc="Simple, reliable and powerful terminal designed to ease connection to ephemeral serial ports"
url="https://github.com/wtarreau/bootterm"
arch="all"
diff --git a/testing/bordeaux/APKBUILD b/testing/bordeaux/APKBUILD
new file mode 100644
index 00000000000..098481f6c7d
--- /dev/null
+++ b/testing/bordeaux/APKBUILD
@@ -0,0 +1,73 @@
+# Maintainer: David Sugar <tychosoft@gmail.com>
+# Contributor: David Sugar <tychosoft@gmail.com>
+pkgname=bordeaux
+pkgver=0.8.1
+pkgrel=0
+pkgdesc="SIP telephony application server"
+url="https://www.tychosoft.com/tychosoft/bordeaux/wiki"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="cmake fmt-dev>=8.1.0 flite-dev openssl-dev moderncli-dev>=0.8.0 libosip2-dev>=5.3.0 libexosip2-dev>=5.3.0 rapidjson-dev"
+subpackages="$pkgname-doc $pkgname-openrc $pkgname-dev $pkgname-coventry $pkgname-generic $pkgname-en_voices"
+source="https://www.tychosoft.com/api/packages/tychosoft/generic/bordeaux/$pkgver/bordeaux-$pkgver.tar.gz bordeaux.initd bordeaux.confd"
+
+build() {
+ cmake \
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc \
+ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=/var \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DCMAKE_INSTALL_SBINDIR=/usr/sbin \
+ -DSERVER_PREFIX_PATH=/var/lib/bordeaux \
+ -DSERVER_LOGGER_PATH=/var/log/bordeaux \
+ -DSERVER_CONFIG_FILE=/etc/bordeaux.conf \
+ -DCMAKE_BUILD_TYPE=Release .
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ DESTDIR="$pkgdir" make install
+ install -d -m 750 -g adm "$pkgdir"/var/log/$pkgname
+ install -d -m 700 "$pkgdir"/var/lib/$pkgname
+ install -D -m 700 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -D -m 640 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.md
+ install -Dm644 drivers/DRIVER.md "$pkgdir"/usr/share/licenses/$pkgname/DRIVER.md
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+ install -Dm644 FEATURES.md "$pkgdir"/usr/share/doc/$pkgname/FEATURES.md
+}
+
+en_voices() {
+ pkgdesc="bordeaux default english voice"
+ depends="bordeaux"
+ amove usr/share/bordeaux/voices/en
+ amove usr/lib/bordeaux/plugin_en.so
+}
+
+dev() {
+ default_dev
+ pkgdesc="bordeaux headers and dev utils"
+ amove usr/bin/bordeauxsnd
+}
+
+coventry() {
+ pkgdesc="bordeaux coventry driver"
+ depends="bordeaux"
+ amove usr/lib/bordeaux/driver_coventry.so
+}
+
+generic() {
+ pkgdesc="bordeaux generic driver"
+ depends="bordeaux"
+ amove usr/lib/bordeaux/driver_generic.so
+}
+
+sha512sums="
+904bb25268a08f2e8995027f7504b6e31d2a7d7cf4a350f6ee45c589a569a7b2516769e06ff6b362ced48e5a3b57757797e9e66726cb0b06dd0ad963677e5746 bordeaux-0.8.1.tar.gz
+ff38a277a26a5224ab041fc6916f7ff9305f85e2d72679ae3b00084a35f80eb3d7453faa1bf2d49d306bb75747bdc1ec78bb6cc14e3d1fc627ed623142a5afa0 bordeaux.initd
+c6e67fbc38c8e75ea742e6b6204c8a0406b0f9226f0e667ee72c4e51bfa8d0fd45445ba160d1e7198ce509778abe94b6a86044e2aef86c31385f69f901570a1c bordeaux.confd
+"
diff --git a/testing/bordeaux/bordeaux.confd b/testing/bordeaux/bordeaux.confd
new file mode 100644
index 00000000000..1ab5938684d
--- /dev/null
+++ b/testing/bordeaux/bordeaux.confd
@@ -0,0 +1,9 @@
+# setup bordeaux daemon environment
+
+# Driver specifies the bordeaux driver, for example coventry or generic
+DRIVER=coventry
+
+# Specifies startup dependencies, such as coventry, asterisk, etc, if ran
+# on the same machine, otherwise can be left blank.
+DEPENDS=coventry
+
diff --git a/testing/bordeaux/bordeaux.initd b/testing/bordeaux/bordeaux.initd
new file mode 100644
index 00000000000..1f952560f81
--- /dev/null
+++ b/testing/bordeaux/bordeaux.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+name=bordeaux
+command="/usr/sbin/bordeaux"
+command_args="-d ${DRIVER:-coventry}"
+pidfile="/run/bordeaux.pid"
+extra_started_commands="reload"
+
+depend() {
+ use logger dns
+ need net
+ after firewall ${DEPENDS:-coventry}
+}
+
+stop() {
+ ebegin "Stopping ${RC_SVCNAME}"
+ start-stop-daemon --signal INT --pidfile "${pidfile}"
+ eend $? "Failed to stop ${RC_SVCNAME}"
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
+
diff --git a/testing/bore/APKBUILD b/testing/bore/APKBUILD
new file mode 100644
index 00000000000..4b1808d3937
--- /dev/null
+++ b/testing/bore/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=bore
+pkgver=0.5.0
+pkgrel=1
+pkgdesc="Simple CLI tool for making tunnels to localhost"
+url="https://github.com/ekzhang/bore"
+# riscv64: rust broken
+# s390x: tests fail
+arch="all !riscv64 !s390x"
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ekzhang/bore/archive/v$pkgver/bore-$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -D -m 755 target/release/bore -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+55d783a46e25393fc003d9c90760c141692af88fe88fecfc27c632bdc6d3352309691f8995484d9a94022c0e8e1636480104d3b7f20bf848647bb34770a8b170 bore-0.5.0.tar.gz
+"
diff --git a/testing/boson/APKBUILD b/testing/boson/APKBUILD
new file mode 100644
index 00000000000..31e8d743a2c
--- /dev/null
+++ b/testing/boson/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=boson
+pkgver=0_git20211219
+_gitrev=9b1786213591691b8cb41ec06ada111af11c30a0
+pkgrel=0
+pkgdesc="Implementation of the meson language written in C11"
+url="https://git.sr.ht/~bl4ckb0ne/boson"
+arch="all"
+license="GPL-3.0-only"
+source="$pkgname-$_gitrev.tar.gz::https://git.sr.ht/~bl4ckb0ne/boson/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+build() {
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+65394c70ef6ad696955145d7d11807b05ec0e33c046f57f8b289078a75e4e9b326ffb6b51e9f121333c94d7349fc0903550299518266ec7a3fc600dc0d701fd9 boson-9b1786213591691b8cb41ec06ada111af11c30a0.tar.gz
+"
diff --git a/testing/boxed-cpp/APKBUILD b/testing/boxed-cpp/APKBUILD
new file mode 100644
index 00000000000..eed0b05f308
--- /dev/null
+++ b/testing/boxed-cpp/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=boxed-cpp
+pkgver=1.4.0
+pkgrel=0
+pkgdesc="Boxing primitive types in C++"
+url="https://contour-terminal.org"
+arch="noarch"
+license="Apache-2.0"
+makedepends="catch2-3 cmake samurai"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/contour-terminal/boxed-cpp/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBOXED_CPP_TESTS=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build -C Release --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ install -Dm 644 LICENSE.txt "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+0ded6de3fdacebcb4e8e0939038a3da14cb0c5331f156563ce29fbff45d4fa34a00c9cb17e5fd0b6a93bca12884bc6cbae0c33ffa47b772abb6de263964b36ae boxed-cpp-1.4.0.tar.gz
+"
diff --git a/testing/boxes/APKBUILD b/testing/boxes/APKBUILD
index 646345765ae..64820536af7 100644
--- a/testing/boxes/APKBUILD
+++ b/testing/boxes/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname="boxes"
-pkgver=2.1.1
+pkgname=boxes
+pkgver=2.2.1
pkgrel=0
pkgdesc="Text mode box and comment drawing filter"
url="https://boxes.thomasjensen.com"
@@ -10,9 +10,7 @@ license="GPL-2.0"
makedepends="bison flex libunistring-dev pcre2-dev"
checkdepends="bash"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.zip::https://github.com/ascii-boxes/boxes/archive/v$pkgver.zip
-fix-test.patch"
-builddir="$srcdir/$pkgname-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ascii-boxes/boxes/archive/refs/tags/v$pkgver.tar.gz"
build() {
make -j1 GLOBALCONF=/etc/boxes-config
@@ -29,6 +27,5 @@ package() {
}
sha512sums="
-0b3db6a070f3b5059538c4f0982ffcd36fc9c070e9f3e8a96677928671f628906c9fc3a7795d1eaaa9398d0caeec31d26910af3a7046a57aaf1ab7d9384114e0 boxes-2.1.1.zip
-fafb487bc09228860f90621b9496f48e7e80e679269d99ee8227c7704a8822df56806898721397613b881d5aa777aa3ba21341bcb2869a39b4528e7f356f6aba fix-test.patch
+0afa115d5ec01944878ef4d8f33e2887d123b172a0589eda53a04ba671916d9ef1d8299f9df9aeac8989807f86ca1b96b1c34aed03856643a89a07586b82e3b6 boxes-2.2.1.tar.gz
"
diff --git a/testing/boxes/fix-test.patch b/testing/boxes/fix-test.patch
deleted file mode 100644
index 76d4882f20b..00000000000
--- a/testing/boxes/fix-test.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/test/004_missing_option_argument.txt b/test/004_missing_option_argument.txt
-deleted file mode 100644
-index 8222bbb..0000000
---- a/test/004_missing_option_argument.txt
-+++ /dev/null
-@@ -1,11 +0,0 @@
--:ARGS
---s
--:INPUT
--:OUTPUT-FILTER
--1s/^.+?: /boxes: /
--1s/-- s$/-- 's'/
--:EXPECTED-ERROR 1
--boxes: option requires an argument -- 's'
--Usage: boxes [options] [infile [outfile]]
--Try `boxes -h' for more information.
--:EOF
-diff --git a/test/065_size_missing_argument.txt b/test/065_size_missing_argument.txt
-deleted file mode 100644
-index 6dad5ae..0000000
---- a/test/065_size_missing_argument.txt
-+++ /dev/null
-@@ -1,12 +0,0 @@
--:ARGS
---s
--:INPUT
--foo
--:OUTPUT-FILTER
--1s/^.+?: /boxes: /
--1s/-- s$/-- 's'/
--:EXPECTED-ERROR 1
--boxes: option requires an argument -- 's'
--Usage: boxes [options] [infile [outfile]]
--Try `boxes -h' for more information.
--:EOF
-\ No newline at end of file
diff --git a/testing/brial/APKBUILD b/testing/brial/APKBUILD
new file mode 100644
index 00000000000..4581f4ef7fe
--- /dev/null
+++ b/testing/brial/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Eloi Torrents <eloitor@disroot.org>
+# Maintainer: Eloi Torrents <eloitor@disroot.org>
+pkgname=brial
+pkgver=1.2.11
+pkgrel=2
+pkgdesc="BRiAl (Boolean Ring Algebra) is the successor to PolyBoRi"
+url="https://github.com/BRiAl/BRiAl"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="boost-dev libm4ri-dev"
+subpackages="$pkgname-dev"
+source="https://github.com/BRiAl/BRiAl/releases/download/$pkgver/brial-$pkgver.tar.bz2"
+options="!check" # fail for some reason on boost 1.81
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+00532b6361c709fce44940bfd22563046cfcbc06d41282a01a26f9bcb25fa86df1406685d7ba4b1ebbb08cd7fa8b9811c81eccf78e72ea96960ef7a059c2e926 brial-1.2.11.tar.bz2
+"
diff --git a/testing/brltty/269.patch b/testing/brltty/269.patch
deleted file mode 100644
index b8506e6fe4a..00000000000
--- a/testing/brltty/269.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 646c474ed1e8d263ac21cf5f71af10e5ad7ae411 Mon Sep 17 00:00:00 2001
-From: Heiko Thiery <heiko.thiery@gmail.com>
-Date: Sun, 7 Jun 2020 15:52:52 +0200
-Subject: [PATCH] fix input_event time related compile fail
-
-./system_linux.c: In function 'writeInputEvent':
-./system_linux.c:962:23: error: 'struct input_event' has no member named 'time'; did you mean 'type'?
- gettimeofday(&event.time, NULL);
- ^~~~
- type
-
-Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
----
- Programs/system_linux.c | 13 ++++++++++++-
- 1 file changed, 12 insertions(+), 1 deletion(-)
-
-diff --git a/Programs/system_linux.c b/Programs/system_linux.c
-index bf441dc992..2762dc29ea 100644
---- a/Programs/system_linux.c
-+++ b/Programs/system_linux.c
-@@ -165,6 +165,14 @@ processSupplementaryGroups (GroupsProcessor *processGroups, void *data) {
- #ifdef HAVE_LINUX_INPUT_H
- #include <linux/input.h>
-
-+#ifndef input_event_sec
-+#define input_event_sec time.tv_sec
-+#endif
-+
-+#ifndef input_event_usec
-+#define input_event_usec time.tv_usec
-+#endif
-+
- #include "kbd_keycodes.h"
-
- LINUX_KEY_MAP(xt00) = {
-@@ -1138,9 +1146,12 @@ int
- writeInputEvent (UinputObject *uinput, uint16_t type, uint16_t code, int32_t value) {
- #ifdef HAVE_LINUX_UINPUT_H
- struct input_event event;
-+ struct timeval tv;
-
- memset(&event, 0, sizeof(event));
-- gettimeofday(&event.time, NULL);
-+ gettimeofday(&tv, NULL);
-+ event.input_event_sec = tv.tv_sec;
-+ event.input_event_usec = tv.tv_usec;
- event.type = type;
- event.code = code;
- event.value = value;
diff --git a/testing/brltty/APKBUILD b/testing/brltty/APKBUILD
index ebab1ac0102..1f1d2f1bd51 100644
--- a/testing/brltty/APKBUILD
+++ b/testing/brltty/APKBUILD
@@ -1,7 +1,8 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
+# Contributor:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=brltty
-pkgver=6.1
-pkgrel=2
+pkgver=6.6
+pkgrel=1
pkgdesc="Refreshable braille display driver daemon"
url="http://brltty.app"
arch="all !ppc64le"
@@ -9,16 +10,15 @@ license="LGPL-2.1-or-later"
makedepends="
autoconf
automake
+ gettext-dev
gpm-dev
icu-dev
liblouis-dev
linux-headers
tcl
"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-source="http://brltty.app/archive/brltty-$pkgver.tar.xz
- 269.patch
- "
+subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-lang"
+source="http://brltty.app/archive/brltty-$pkgver.tar.xz"
options="!check" # no upstream test suite
prepare() {
@@ -38,7 +38,7 @@ build() {
--localstatedir=/var \
--with-tables-directory=/usr/share/brltty \
--enable-gpm
- make -j1
+ make
}
package() {
@@ -48,6 +48,5 @@ package() {
}
sha512sums="
-030ef60ef7a9a60dc2fba2a64ea0a0868395eee6f2f86876b4e4111e804a05b44f798a154a69a8f5e0f6358130993c360a550f7decac0535450f9cf939231eaf brltty-6.1.tar.xz
-3c21508932882533fdedb18e1b2d92e6bda9ac03274719a0101a6ec676c5e36090748f3b510b5f62db7a25ebbe29b945411ef743d7940d10aa940a8e35e9e796 269.patch
+852bfd9179570be7b0da8b1279f84bdfedc14a319988d9c2eac5a20a9ce8977f31fdee167e8e96bb411184a1d72f4cdc633944c7b3f55bddae411fc71a9e6898 brltty-6.6.tar.xz
"
diff --git a/testing/btcd/APKBUILD b/testing/btcd/APKBUILD
index 2262750a314..fa857dae688 100644
--- a/testing/btcd/APKBUILD
+++ b/testing/btcd/APKBUILD
@@ -1,22 +1,31 @@
# Maintainer: Michał Adamski <michal@ert.pl>
pkgname=btcd
-pkgver=0.22.0_beta
+pkgver=0.23.4
_pkgver=${pkgver/_/-}
-pkgrel=0
+pkgrel=5
pkgdesc="Alternative full node bitcoin implementation written in Go"
url="https://github.com/btcsuite/btcd#btcd"
arch="all"
license="ISC"
makedepends="go"
-source="https://github.com/btcsuite/btcd/archive/v$_pkgver/$pkgname-$_pkgver.tar.gz"
+source="https://github.com/btcsuite/btcd/archive/v$_pkgver/btcd-$_pkgver.tar.gz"
builddir="$srcdir/$pkgname-$_pkgver"
+# secfixes:
+# 0.23.3-r0:
+# - CVE-2022-39389
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
mkdir bin
- go build -trimpath -ldflags="-s -w" -v -o bin . ./cmd/...
+ go build -trimpath -v -o bin . ./cmd/...
}
check() {
+ export GOFLAGS="${GOFLAGS/-trimpath/}"
go test ./...
}
@@ -26,5 +35,5 @@ package() {
done
}
sha512sums="
-cae1bf46900890e4bc01b817f72cbf6654636af5bac887032a85afba91a813162e5b2e1bcb23cd0a013e8b0711d9e7a68d6ff08f8767c6b375a2df7d8d72c291 btcd-0.22.0-beta.tar.gz
+aa6c40d58d8d4e7302005fa80b192a8f0298707d67685273e2b57cc339f2a999ea1953215f1a89c0480ea926dc6a55740c243656b67ca3b9d494b05f06537880 btcd-0.23.4.tar.gz
"
diff --git a/testing/btfs/APKBUILD b/testing/btfs/APKBUILD
index 51fd6fea2b5..0097caeecf1 100644
--- a/testing/btfs/APKBUILD
+++ b/testing/btfs/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: dai9ah <dai9ah@protonmail.com>
pkgname=btfs
pkgver=2.24
-pkgrel=3
+pkgrel=11
pkgdesc="Bittorrent filesystem based on FUSE"
options="!check" # No testsuite
url="https://github.com/johang/btfs"
@@ -33,4 +33,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="33339d9eefe6836c8c96c4ea0fb6ee99150df5500f4d1dce107c20df72e0d2959152fca0901676cec1eebf1de39a69dc46ea96442aecd234c9fb4e7618337b0c btfs-2.24.tar.gz"
+sha512sums="
+33339d9eefe6836c8c96c4ea0fb6ee99150df5500f4d1dce107c20df72e0d2959152fca0901676cec1eebf1de39a69dc46ea96442aecd234c9fb4e7618337b0c btfs-2.24.tar.gz
+"
diff --git a/testing/btpd/APKBUILD b/testing/btpd/APKBUILD
index 12e4959bc60..49158152814 100644
--- a/testing/btpd/APKBUILD
+++ b/testing/btpd/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Cág <ca6c@bitmessage.ch>
-# Maintainer
+# Maintainer:
pkgname=btpd
pkgver=0.16
-pkgrel=1
+pkgrel=2
pkgdesc="The BitTorrent Protocol Daemon"
url="https://github.com/btpd/btpd"
arch="all"
license="BSD-2-Clause BSD-3-Clause"
depends=""
-makedepends="autoconf automake openssl-dev"
+makedepends="autoconf automake openssl-dev>3"
install=""
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$pkgname/archive/v$pkgver.tar.gz"
diff --git a/testing/buf/APKBUILD b/testing/buf/APKBUILD
new file mode 100644
index 00000000000..401eda0de76
--- /dev/null
+++ b/testing/buf/APKBUILD
@@ -0,0 +1,73 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=buf
+pkgver=1.29.0
+pkgrel=2
+pkgdesc="CLI to work with Protocol Buffers"
+url="https://buf.build/"
+# 32bit: fail tests with int overflow
+arch="all !x86 !armhf !armv7"
+license="Apache-2.0"
+makedepends="go"
+checkdepends="protobuf-dev protoc-gen-go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ $pkgname-protoc-plugins:_protoc
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/bufbuild/buf/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ for binary in buf protoc-gen-buf-breaking protoc-gen-buf-lint; do
+ go build -v ./cmd/$binary
+ done
+
+ for shell in bash fish zsh; do
+ ./buf completion $shell > buf.$shell
+ done
+
+ # These programs are required for check phase
+ mkdir -p "$builddir"/bin
+ for cmd in writer receiver; do
+ go build -v -o bin/ ./private/buf/cmd/buf/command/alpha/protoc/internal/protoc-gen-insertion-point-$cmd
+ done
+}
+
+check() {
+ export PATH="$PATH:$builddir/bin"
+
+ # TestCompareGeneratedStubsGoogleapisGo fails due to difference in protoc versions
+ # TestCompareGoogleapis fails (TODO: investigate more)
+ # TestGitCloner tries to clone a remote repository
+ # TestWorkspaceGit checks the project root whether it is a git repo
+ go test -skip 'TestCompareGeneratedStubsGoogleapisGo|TestCompareGoogleapis|TestGitCloner|TestWorkspaceGit' ./...
+}
+
+package() {
+ install -Dm755 buf -t "$pkgdir"/usr/bin/
+
+ install -Dm644 buf.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/buf
+ install -Dm644 buf.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/buf.fish
+ install -Dm644 buf.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_buf
+
+ install -Dm755 protoc-gen-buf-breaking protoc-gen-buf-lint \
+ -t "$pkgdir"/usr/bin/
+}
+
+_protoc() {
+ pkgdesc="$pkgdesc (protoc plugins)"
+ depends="protoc"
+
+ amove usr/bin/protoc-gen-buf-*
+}
+
+sha512sums="
+4b7e034429cb4eb3607546f6e671919ed3863221a52b374fb608148836dafb8aba7609716a2c3ceb30dc6b30370e8956a74d1d187cec3a48f7cf3216501e3466 buf-1.29.0.tar.gz
+"
diff --git a/testing/buffyboard/APKBUILD b/testing/buffyboard/APKBUILD
deleted file mode 100644
index 7552ebc776e..00000000000
--- a/testing/buffyboard/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Maintainer: Caleb Connolly <caleb@connolly.tech>
-pkgname=buffyboard
-pkgver=0.2.0
-pkgrel=0
-_lv_drivers_commit="33983bcb0a9bfd0a4cf44dba67617b9f537e76f3"
-_lvgl_commit="a2b555e096f7d401b5d8e877a6b5e81ff81c747a"
-_squeek2lvgl_commit="e3ce01bc38020b21bc61844fa1fed1a4f41097c5"
-pkgdesc="Touch-enabled framebuffer keyboard (not only) for vampire slayers"
-url="https://gitlab.com/cherrypicker/buffyboard"
-arch="all"
-license="GPL-3.0-only"
-source="https://gitlab.com/cherrypicker/buffyboard/-/archive/$pkgver/buffyboard-$pkgver.tar.gz
- https://github.com/lvgl/lv_drivers/archive/$_lv_drivers_commit.tar.gz
- https://github.com/lvgl/lvgl/archive/$_lvgl_commit.tar.gz
- https://gitlab.com/cherrypicker/squeek2lvgl/-/archive/$_squeek2lvgl_commit/buffyboard-$_squeek2lvgl_commit.tar.gz"
-makedepends="meson libinput-dev libxkbcommon-dev linux-headers eudev-dev"
-
-prepare() {
- default_prepare
-
- mkdir -p "$builddir"/lvgl "$builddir"/lv_drivers "$builddir"/squeek2lvgl
- mv "$srcdir"/lvgl-$_lvgl_commit/* "$builddir"/lvgl
- mv "$srcdir"/lv_drivers-$_lv_drivers_commit/* "$builddir"/lv_drivers
- mv "$srcdir"/squeek2lvgl-$_squeek2lvgl_commit/* "$builddir"/squeek2lvgl
-}
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-6a504ed775ebcc03276b2c10e299e894cdc3ea3c7e40d263e449982dd6ac6a7f37fe2094c84e6d0b92c3f965aefc38e606de66bd74d8d375bb2168acb0c0284e buffyboard-0.2.0.tar.gz
-788ab2ac810580222e85c580a6e7d94783b6e4a29688274d6eb85ec7e9cbe8c146452baf9b2c8ecde135b9e68539218affd4d3bde40667ed1e2da2fa9b9feea4 33983bcb0a9bfd0a4cf44dba67617b9f537e76f3.tar.gz
-6db243760407176d57bc1aafc9145f8f089e6be4b74afff966ca6fbf29605ccd30afbd113412c7259040894eb7506a90a40c07c0e0be1c7bfbaab01c5ea2727c a2b555e096f7d401b5d8e877a6b5e81ff81c747a.tar.gz
-57fb6bb0445e27c5529f96499f744f64038c549f741ff17a2fc83902e7bdbcf1358c4a3eb37848f89e98d1e6011bb46581ab081bf0b0e01350de2f75e58e2f33 buffyboard-e3ce01bc38020b21bc61844fa1fed1a4f41097c5.tar.gz
-"
diff --git a/testing/bugsquish/APKBUILD b/testing/bugsquish/APKBUILD
deleted file mode 100644
index d89dbd7f977..00000000000
--- a/testing/bugsquish/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=bugsquish
-pkgver=0.0.6
-pkgrel=1
-pkgdesc="Defend your arm from an onslaught of blood-sucking insects"
-url="http://www.newbreedsoftware.com/bugsquish/"
-arch="all"
-license="GPL-2.0-only"
-depends="libmikmod"
-makedepends="sdl12-compat-dev sdl_image-dev sdl_mixer-dev"
-options="!check" # No testsuite
-source="https://github.com/antonialoytorrens/nbs/raw/master/unix/x/bugsquish/src/bugsquish-$pkgver.tar.gz
- bugsquish-icon.xpm
- bugsquish.desktop
- "
-
-build() {
- make
-}
-
-package() {
- make install \
- DATA_PREFIX="$pkgdir"/usr/share/bugsquish \
- BIN_PREFIX="$pkgdir"/usr/bin
- install -Dm644 "$srcdir"/bugsquish-icon.xpm \
- "$pkgdir"/usr/share/pixmaps/bugsquish-icon.xpm
- install -Dm664 "$srcdir"/bugsquish.desktop \
- "$pkgdir"/usr/share/applications/bugsquish.desktop
-}
-
-sha512sums="429c80e2263b916e234353324edc31cf828562907aa0460ae0083450e9c9e0bde2d5b1f7bf06650d8947c8c0bc0820a3a062a8571ecdbb715da206ff61b235cf bugsquish-0.0.6.tar.gz
-954bf14256612ca528f4f0659fac040ff223fbfbdd0b03054d638cdd2c8d3967fa9dd5818182a3407eb74e5c80d48bffa7cc1277fd4400c9679ee2f7c3012e30 bugsquish-icon.xpm
-8d5db88f9d1308989aa89c5620fa99328d12daa4d110cb532609af9fe7fc27d8d41fd347961344a763d2249b22b37b310582725f17e5bcef071193064c801e0f bugsquish.desktop"
diff --git a/testing/bugsquish/bugsquish-icon.xpm b/testing/bugsquish/bugsquish-icon.xpm
deleted file mode 100644
index 88882d7878e..00000000000
--- a/testing/bugsquish/bugsquish-icon.xpm
+++ /dev/null
@@ -1,59 +0,0 @@
-/* XPM */
-static char * bugsquish_icon_xpm[] = {
-"32 32 24 1",
-" c None",
-". c #FF0000",
-"+ c #FF00FF",
-"@ c #0000FF",
-"# c #00FFFF",
-"$ c #00FF00",
-"% c #FFFF00",
-"& c #7F0000",
-"* c #7F007F",
-"= c #00007F",
-"- c #007F7F",
-"; c #007F00",
-"> c #827F00",
-", c #000000",
-"' c #191919",
-") c #333333",
-"! c #4C4C4C",
-"~ c #666666",
-"{ c #7F7F7F",
-"] c #999999",
-"^ c #B2B2B2",
-"/ c #CCCCCC",
-"( c #E5E5E5",
-"_ c #FFFFFF",
-",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,",
-",,',',',',',',',',',',',',',',',",
-",'''''''''''''''''''''''''''''',",
-",'...''''''''''''''''..'''''''',",
-",'...''''''''''''''''...''''''',",
-",)...)')')')')')')')')'.)')')'),",
-",)...)))')))')))'))))))))'))))),",
-",)...)))))))))))))))))))))))))),",
-",)...)))))))))))))))))))))))))),",
-",!...!,,)!!!)!!!!)!)!)!,!)!)!)!,",
-",!...!,,!!,,,!)!!!!!!!!!,!!!,!!,",
-",!...!!,,!,,!!!!!!!!!!!!,,,,!!!,",
-",!...!!!,!!,!!!!!!!!!!!!,,,,!!!,",
-",~...~~~,,,~~!~~!~!~!~~!~,,,~~~,",
-",~...~!~,,,~~~!~~~~~.~~~~,,~!~~,",
-",~...~~~~,~~~~~~~.....~~~~,~~~~,",
-",~...~~~~~~.~~~~~.~...~~~~~~~~~,",
-",{...{~{{..~{{~{~{....~{{~{~{{~,",
-",{...{{{~.{{~{{{{{{{.{{~{{{{~{{,",
-",{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{,",
-",%>%>%>%~~~>~{{{{{{{{{{{{{{{{{{,",
-",~%>%>%>%>%>%>%>%>!''>%>%>%{]{],",
-",%>>>%>>>%>%>%>%>%>''>>%>%>>>>],",
-",>>>>>>>>>%>>>%>>>%''>>>%>>%>>],",
-",>>>>>>>>>>>>>>>>>>''>>>>>>>>>~,",
-",>>>>>>>>>>>>>>>>>>''>>>>>>>>>>,",
-",>>>>>>>>>>>>>>~>~>!&>>>>>>>>&>,",
-",>>>>>>>>>>>>>>]]^&&>>>>>%>>&&&,",
-",>>>>>>>>>>~{]^^^^^]&&&>>>>%>>&,",
-",>>>>>>>~>]^^/^^/^/^]&&&&{>>>]^,",
-",!>>~~{]/^////////^/^^]^^/^{>]/,",
-",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"};
diff --git a/testing/bugsquish/bugsquish.desktop b/testing/bugsquish/bugsquish.desktop
deleted file mode 100644
index 567175fb522..00000000000
--- a/testing/bugsquish/bugsquish.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Version=1.1
-Name=Bug Squish
-Type=Application
-GenericName=Game
-Comment=Squash the bugs before they suck up your blood
-Exec=bugsquish --fullscreen
-Icon=bugsquish-icon
-Terminal=false
-Hidden=false
-Categories=Application;Game;2DGraphics;ActionGame;
-Keywords=Game;Arcade; \ No newline at end of file
diff --git a/testing/buildcache/APKBUILD b/testing/buildcache/APKBUILD
new file mode 100644
index 00000000000..1168ef8d8f3
--- /dev/null
+++ b/testing/buildcache/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: André Klitzing <aklitzing@gmail.com>
+# Maintainer: André Klitzing <aklitzing@gmail.com>
+pkgname=buildcache
+pkgver=0.28.9
+pkgrel=0
+pkgdesc="Advanced compiler accelerator"
+url="https://gitlab.com/bits-n-bites/buildcache"
+arch="all !s390x !armhf" # failing tests
+license="Zlib"
+makedepends="
+ openssl-dev>3
+ cmake
+ "
+source="https://gitlab.com/bits-n-bites/buildcache/-/archive/v$pkgver/buildcache-v$pkgver.tar.gz
+ include-cstdint.patch
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+
+build() {
+ cmake \
+ -B build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ "src"
+ cmake --build build
+}
+
+check() {
+ cmake --build build --target test
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ rm -rf "$pkgdir/usr/share/lua-examples/"
+}
+
+sha512sums="
+be543f0fa7550fedad62efbfc90a522d21276f0379fb836b758d775a95e9a0c6c872b397167a129c8d472a03324081cb7d46d6fdc6c7d369a6594fa64358d2f3 buildcache-v0.28.9.tar.gz
+c57f6c09cbea6e2781e7d71c58e25659dfb9150779afbadc3a0e4c52de531cc5ecc3094b2b0b9571a0f2542453221c53ca54ed65f7492938d1112fae417c3f36 include-cstdint.patch
+"
diff --git a/testing/buildcache/include-cstdint.patch b/testing/buildcache/include-cstdint.patch
new file mode 100644
index 00000000000..7cf2c44d194
--- /dev/null
+++ b/testing/buildcache/include-cstdint.patch
@@ -0,0 +1,20 @@
+--- a/src/base/env_utils.hpp
++++ b/src/base/env_utils.hpp
+@@ -21,6 +21,7 @@
+ #define BUILDCACHE_ENV_UTILS_HPP_
+
+ #include <string>
++#include <cstdint>
+
+ namespace bcache {
+ /// @brief A helper class for reading and parsing environment variables.
+--- a/src/base/hmac.cpp
++++ b/src/base/hmac.cpp
+@@ -45,6 +45,7 @@
+ #include <array>
+ #include <stdexcept>
+ #include <vector>
++#include <cstdint>
+
+ namespace bcache {
+
diff --git a/testing/bump2version/APKBUILD b/testing/bump2version/APKBUILD
index 086fe6de8a4..24aee1bd885 100644
--- a/testing/bump2version/APKBUILD
+++ b/testing/bump2version/APKBUILD
@@ -2,15 +2,19 @@
# Maintainer: Charles Wimmer <charles@wimmer.net>
pkgname=bump2version
pkgver=1.0.1
-pkgrel=2
+pkgrel=6
pkgdesc="Version-bump your software with a single command!"
url="https://github.com/c4urself/bump2version"
arch="noarch"
license="MIT"
depends="python3 py3-setuptools"
checkdepends="py3-tox py3-pytest py3-testfixtures"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/c4urself/bump2version/archive/v$pkgver.tar.gz"
+provides="py3-bump2version=$pkgver-r$pkgrel"
+replaces="py3-bump2version"
+
build() {
python3 setup.py build
}
@@ -20,6 +24,6 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="aceb3770b2537e93a996795dba521d1b862d61fe07d6f4e086ba1d2b8e478690394a82dba9e40b32ea969b19b049750635508c1ecd45646e24d4e45ad2d47795 bump2version-1.0.1.tar.gz"
diff --git a/testing/bumprace/APKBUILD b/testing/bumprace/APKBUILD
deleted file mode 100644
index 9d2ae93d1f8..00000000000
--- a/testing/bumprace/APKBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=bumprace
-pkgver=1.5.8
-pkgrel=1
-pkgdesc="1 or 2 players race through a multi-level maze"
-url="http://www.linux-games.com/bumprace/"
-arch="all"
-license="GPL-2.0-only"
-depends="$pkgname-data"
-makedepends="sdl12-compat-dev sdl_image-dev sdl_mixer-dev libjpeg-turbo-dev libzip-dev"
-subpackages="$pkgname-data::noarch"
-source="$pkgname-$pkgver.tar.gz::https://github.com/karlb/bumprace/archive/$pkgver.tar.gz
- bumprace.desktop
- bumprace-icon.xpm
- "
-
-prepare() {
- default_prepare
- update_config_sub
- update_config_guess
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --sbindir=/usr/bin
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm644 "$srcdir"/bumprace.desktop \
- "$pkgdir"/usr/share/applications/bumprace.desktop
- install -Dm664 "$srcdir"/bumprace-icon.xpm \
- "$pkgdir"/usr/share/pixmaps/bumprace-icon.xpm
-}
-
-data() {
- pkgdesc="$pkgdesc (data files)"
- amove usr/share/bumprace
-}
-
-
-sha512sums="
-bffc1d829deb048644fa21eb4566e2008573c0ee2e6f96e75470c8a6fa4cacb788cb93adf6e24b53f32884fd999880ffc527a903ce617a376cb5aae4c1b97480 bumprace-1.5.8.tar.gz
-7042f9dd077c823234eed7fdb863d6d4af4c42f2385bd1f5208052f6144a007e89a01e6e8bace04426bae3ea605c64980c538c9f3d29820d8331a511cbacfb1d bumprace.desktop
-380e6231951e27a47dab274e6cee1443d2cec53f0da48e5cf01dca5e2d3b1634c733427403bb8c384b6272fe5d60fc0eb2d2dc9a626e0ef013076b0521cb6ce0 bumprace-icon.xpm
-"
diff --git a/testing/bumprace/bumprace-icon.xpm b/testing/bumprace/bumprace-icon.xpm
deleted file mode 100644
index c2d3ae7ce72..00000000000
--- a/testing/bumprace/bumprace-icon.xpm
+++ /dev/null
@@ -1,134 +0,0 @@
-/* XPM */
-static char *bumprace[] = {
-/* columns rows colors chars-per-pixel */
-"32 32 96 2",
-" c #020204",
-". c #010508",
-"X c #010A0E",
-"o c #0C0606",
-"O c #0E080A",
-"+ c #010D12",
-"@ c #01151D",
-"# c #0E1013",
-"$ c #120706",
-"% c #140807",
-"& c #140909",
-"* c #1B0C0C",
-"= c #1B1113",
-"- c #011924",
-"; c #011E2A",
-": c #1B1E24",
-"> c #032A3B",
-", c #162733",
-"< c #220E0E",
-"1 c #290305",
-"2 c #251111",
-"3 c #23191B",
-"4 c #2C1313",
-"5 c #331615",
-"6 c #361816",
-"7 c #361B1B",
-"8 c #3B1B19",
-"9 c #322124",
-"0 c #013145",
-"q c #013449",
-"w c #0E384B",
-"e c #023E56",
-"r c #0A3C53",
-"t c #283543",
-"y c #2A3E50",
-"u c #3F3E4A",
-"i c #01445F",
-"p c #1F4155",
-"a c #014662",
-"s c #054965",
-"d c #06506E",
-"f c #025475",
-"g c #065A7C",
-"h c #38445D",
-"j c #421E1C",
-"k c #48201F",
-"l c #452120",
-"z c #4C2221",
-"x c #4E2A2A",
-"c c #542624",
-"v c #562825",
-"b c #552D2B",
-"n c #582726",
-"m c #5B2927",
-"M c #5E2B29",
-"N c #55313D",
-"B c #680708",
-"V c #621B1B",
-"C c #7D0608",
-"Z c #662827",
-"A c #642D2B",
-"S c #6C2827",
-"D c #6C2E2B",
-"F c #6D2F30",
-"G c #6B312F",
-"H c #6C3331",
-"J c #693938",
-"K c #792F2C",
-"L c #7E322F",
-"P c #713633",
-"I c #753936",
-"U c #773D3A",
-"Y c #7B3E3C",
-"T c #7B403E",
-"R c #065F84",
-"E c #026187",
-"W c #267B9C",
-"Q c #2B7E9F",
-"! c #2180A6",
-"~ c #2986AA",
-"^ c #8B2221",
-"/ c #893230",
-"( c #903735",
-") c #BF0E13",
-"_ c #B51414",
-"` c #BC1313",
-"' c #844543",
-"] c #8A4D4A",
-"[ c #C00E0F",
-"{ c #C71313",
-"} c #CF1515",
-"| c #D40406",
-" . c #DF0507",
-".. c #E30305",
-"X. c #ED0204",
-"o. c #F40104",
-/* pixels */
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" ",
-" o ",
-" o & * * * * % $ $ o ",
-" . * 4 4 2 = # O o $ $ o o o ",
-" & 5 6 6 5 : > > ; + $ $ $ o ",
-" & 7 j j j 9 r a e 0 ; . o $ $ $ $ ",
-" 6 z z z z t f f f i > @ o % % $ $ o ",
-" * c c c c n y R ~ Q s 0 ; o * & % % % ",
-" 7 M M Z M S N R ! W s q ; . & < < * * * o ",
-" . k Z A S ^ [ [ h g f i 0 @ O 2 4 2 < * * & ",
-" o v G ^ ` ...._ D h p w , 3 7 6 4 4 < < < & ",
-" V ` .X...` L G G M x z k j 6 5 4 4 2 < & ",
-" B X.X.X.{ / P H A A v c k k j 6 5 4 4 < $ ",
-" 1 | o.} / I P H G A m c k k j 8 6 5 4 2 ",
-" C } ( Y T T P H A m v c k j 8 6 5 4 % ",
-" $ Z ' ] ' T I H A m v k k j j 6 5 * ",
-" % m ] ] ' T H A m v c k k j 5 & ",
-" o 7 J T T H A M v c k 8 2 ",
-" O 3 8 k k k 6 4 * o ",
-" o ",
-" ",
-" ",
-" ",
-" ",
-" "
-};
diff --git a/testing/bumprace/bumprace.desktop b/testing/bumprace/bumprace.desktop
deleted file mode 100644
index 6b55c160446..00000000000
--- a/testing/bumprace/bumprace.desktop
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Type=Application
-Name=BumpRace
-GenericName=race through a maze
-Comment=1 or 2 players race through a multi-level maze
-Exec=bumprace
-TryExec=bumprace
-Icon=bumprace-icon
-StartupNotify=false
-Terminal=false
-Categories=Game;ActionGame;
-Keywords=space;
diff --git a/testing/burp/APKBUILD b/testing/burp/APKBUILD
index d07c7932ca2..bdc4035ab23 100644
--- a/testing/burp/APKBUILD
+++ b/testing/burp/APKBUILD
@@ -1,21 +1,18 @@
# Contributor: Bernhard J. M. Gruen <bernhard.gruen@googlemail.com>
# Maintainer:
pkgname=burp
-pkgver=2.4.0
+pkgver=3.1.4
pkgrel=0
pkgdesc="A network backup and restore program"
url="https://burp.grke.org"
arch="all"
license="AGPL-3.0-only"
makedepends="
- autoconf
- automake
bsd-compat-headers
librsync-dev
- libtool
linux-headers
uthash-dev
- openssl-dev
+ openssl-dev>3
zlib-dev
"
checkdepends="check-dev"
@@ -23,17 +20,12 @@ subpackages="
$pkgname-doc
$pkgname-server
"
-source="https://github.com/grke/burp/archive/$pkgver.zip
+source="https://github.com/grke/burp/releases/download/$pkgver/burp-$pkgver.tar.bz2
burp.init
"
# Check is deactivated as it needs --enable-forks in check/check-dev
options="!check"
-prepare() {
- default_prepare
- autoreconf -vif
-}
-
build() {
./configure \
--prefix=/usr \
@@ -74,6 +66,7 @@ server() {
mkdir -p "$subpkgdir"/usr/share/burp/scripts
mv "$pkgdir"/usr/share/burp/scripts "$subpkgdir"/usr/share/burp
+ # shellcheck disable=2115
rm -rf "$pkgdir"/usr/share
mkdir -p "$subpkgdir"/etc/burp
@@ -90,6 +83,6 @@ server() {
}
sha512sums="
-d5c782e7950efd9d5887e55c8768807f8e904ef9010cbb4416102e50e385379a50db0a5ce29736f12807f150fcef2d5c54a01c619fd952991f6f2485fb02cd6b 2.4.0.zip
+034478a3010eaf4fdbc45a77d37fa6dc18d8c7294af3ce2706ba1372e983e6acd7c7d98b345295b4791762a2ab9a636261e6946dfcaccac00663655f21e5cd52 burp-3.1.4.tar.bz2
ef98c1fb938063fee35cc5ae5ff9179a759b89b3c2629320ff4dffb4c42395cac1ad6b4615c6c1f34cc4be3ce54397b00f583ba5f3cd2fe8498902d4d9445e8f burp.init
"
diff --git a/testing/butane/APKBUILD b/testing/butane/APKBUILD
new file mode 100644
index 00000000000..67017b2460a
--- /dev/null
+++ b/testing/butane/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer:
+pkgname=butane
+pkgver=0.19.0
+pkgrel=3
+pkgdesc="Butane to Ignition config generator"
+url="https://github.com/coreos/butane"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/coreos/butane/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ go build -o butane \
+ -ldflags "-X github.com/coreos/butane/internal/version.Raw=v$pkgver"\
+ internal/main.go
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 butane -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+5a4ff22160a01a87342c0bcacfc729fb43d8909191a7c7530d95d0a4db875c3621910b0ff6bd33705ac4346f9942cb48718aa1e149162b1c5a5b1480e215acf8 butane-0.19.0.tar.gz
+"
diff --git a/testing/bwrap-oci/APKBUILD b/testing/bwrap-oci/APKBUILD
index 4e1515bf931..8dadd9f3150 100644
--- a/testing/bwrap-oci/APKBUILD
+++ b/testing/bwrap-oci/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Shawn Johnson <sjohnson@axiomega.com>
pkgname=bwrap-oci
pkgver=0.2
-pkgrel=0
+pkgrel=1
pkgdesc="Run an OCI container using Bubblewrap"
url="https://github.com/projectatomic/bwrap-oci"
arch="all"
diff --git a/testing/c2rust/0001-link-clang-dynamic.patch b/testing/c2rust/0001-link-clang-dynamic.patch
new file mode 100644
index 00000000000..5c02fdca821
--- /dev/null
+++ b/testing/c2rust/0001-link-clang-dynamic.patch
@@ -0,0 +1,232 @@
+Link dynamically against libclang
+diff -rupN a/c2rust/Cargo.toml b/c2rust/Cargo.toml
+--- a/c2rust/Cargo.toml 2024-01-06 22:49:13.145706727 +0100
++++ b/c2rust/Cargo.toml 2024-01-06 22:49:56.895188304 +0100
+@@ -31,7 +31,3 @@ time-macros = "=0.2.6"
+
+ [build-dependencies]
+ c2rust-build-paths = { path = "../c2rust-build-paths", version = "0.18.0" }
+-
+-[features]
+-# Force static linking of LLVM
+-llvm-static = ["c2rust-transpile/llvm-static"]
+diff -rupN a/c2rust-ast-exporter/Cargo.toml b/c2rust-ast-exporter/Cargo.toml
+--- a/c2rust-ast-exporter/Cargo.toml 2024-01-06 22:49:13.132373552 +0100
++++ b/c2rust-ast-exporter/Cargo.toml 2024-01-06 22:50:53.591183135 +0100
+@@ -24,8 +24,3 @@ clang-sys = "1.3"
+ cmake = "0.1.49"
+ env_logger = "0.10"
+ c2rust-build-paths = { path = "../c2rust-build-paths", version = "0.18.0" }
+-
+-[features]
+-default = []
+-# Force static linking of LLVM
+-llvm-static = []
+diff -rupN a/c2rust-ast-exporter/build.rs b/c2rust-ast-exporter/build.rs
+--- a/c2rust-ast-exporter/build.rs 2024-01-06 22:49:13.132373552 +0100
++++ b/c2rust-ast-exporter/build.rs 2024-01-06 22:49:18.425644161 +0100
+@@ -147,55 +147,7 @@ fn build_native(llvm_info: &LLVMInfo) {
+
+ println!("cargo:rustc-link-search=native={}", llvm_lib_dir);
+
+- // Some distro's, including arch and Fedora, no longer build with
+- // BUILD_SHARED_LIBS=ON; programs linking to clang are required to
+- // link to libclang-cpp.so instead of individual libraries.
+- let use_libclang = if cfg!(target_os = "macos") {
+- // We hit an issue linking against the shared libraries for the homebrew
+- // version of LLVM 15 because they use a feature (opaque pointers) which
+- // are not understood by earlier versions of LLVM so we link against
+- // libclang unless static linking has been explicitly requested.
+- !cfg!(feature = "llvm-static")
+- } else {
+- // target_os = "linux"
+- let mut libclang_path = PathBuf::new();
+- libclang_path.push(llvm_lib_dir);
+- libclang_path.push("libclang-cpp.so");
+- libclang_path.exists()
+- };
+-
+- if use_libclang {
+- println!("cargo:rustc-link-lib=clang-cpp");
+- } else {
+- // Link against these Clang libs. The ordering here is important! Libraries
+- // must be listed before their dependencies when statically linking.
+- let mut clang_libs = vec![
+- "clangTooling",
+- "clangFrontend",
+- "clangASTMatchers",
+- "clangParse",
+- "clangSerialization",
+- "clangSema",
+- "clangEdit",
+- "clangAnalysis",
+- "clangDriver",
+- "clangFormat",
+- "clangToolingCore",
+- "clangAST",
+- "clangRewrite",
+- "clangLex",
+- "clangBasic",
+- ];
+- if llvm_info.llvm_major_version >= 15 {
+- // insert after clangSema
+- let sema_pos = clang_libs.iter().position(|&r| r == "clangSema").unwrap();
+- clang_libs.insert(sema_pos + 1, "clangSupport");
+- }
+-
+- for lib in &clang_libs {
+- println!("cargo:rustc-link-lib={}", lib);
+- }
+- }
++ println!("cargo:rustc-link-lib=clang-cpp");
+
+ for lib in &llvm_info.libs {
+ // IMPORTANT: We cannot specify static= or dylib= here because rustc
+diff -rupN a/c2rust-ast-exporter/src/CMakeLists.txt b/c2rust-ast-exporter/src/CMakeLists.txt
+--- a/c2rust-ast-exporter/src/CMakeLists.txt 2024-01-06 22:49:13.132373552 +0100
++++ b/c2rust-ast-exporter/src/CMakeLists.txt 2024-01-06 22:49:18.425644161 +0100
+@@ -95,11 +95,7 @@ set_target_properties(c2rust-ast-exporte
+ # PRIVATE was added to make c2rust-ast-exporter build with LLVM 6.0. Keyword
+ # description: https://cmake.org/pipermail/cmake/2016-May/063400.html
+ target_link_libraries(c2rust-ast-exporter PRIVATE
+- clangAST
+- clangFrontend
+- clangTooling
+- clangBasic
+- clangASTMatchers
++ clang-cpp
+ tinycbor
+ )
+
+diff -rupN a/c2rust-ast-exporter/src/CMakeLists.txt.orig b/c2rust-ast-exporter/src/CMakeLists.txt.orig
+--- a/c2rust-ast-exporter/src/CMakeLists.txt.orig 1970-01-01 01:00:00.000000000 +0100
++++ b/c2rust-ast-exporter/src/CMakeLists.txt.orig 2023-05-22 22:14:35.000000000 +0200
+@@ -0,0 +1,117 @@
++cmake_minimum_required(VERSION 3.4.3)
++project(ASTExporter)
++
++#################################################
++# TinyCBOR #
++#################################################
++
++set(TINYCBOR_REPO "https://github.com/intel/tinycbor.git" CACHE STRING "tinycbor git repo URL")
++
++# v0.6.3 tag, but using the commit hash instead (of the tarball hash) for integrity checks
++# unlike a .tar.gz MD5 hash, this SHA-1 commit hash should stay stable regardless of compression/archiving
++# (GitHub has changed this), and still retains the integrity check
++set(TINYCBOR_TAG "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7" CACHE STRING "tinycbor git tag/branch/commit hash")
++
++set(TINYCBOR_PREFIX "${CMAKE_BINARY_DIR}/tinycbor" CACHE STRING "tinycbor install prefix")
++
++if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++ set(MAKE "gmake")
++else()
++ set(MAKE "make")
++endif()
++
++include(ExternalProject)
++ExternalProject_Add(tinycbor_build
++ PREFIX ${TINYCBOR_PREFIX}
++ INSTALL_DIR ${CMAKE_BINARY_DIR}
++ GIT_REPOSITORY ${TINYCBOR_REPO}
++ GIT_TAG ${TINYCBOR_TAG}
++ # the fd redirection here fails when the build run inside Cargo.
++ # patch from upstream:
++ # https://github.com/intel/tinycbor/commit/6176e0a28d7c5ef3a5e9cbd02521999c412de72c
++ PATCH_COMMAND patch --forward -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/tinycbor_fix_build.patch || true
++ CONFIGURE_COMMAND ${MAKE} .config && cat ${CMAKE_CURRENT_SOURCE_DIR}/tinycbor.config >> .config
++ BUILD_COMMAND ${MAKE} --quiet prefix=<INSTALL_DIR> CFLAGS=-fPIC
++ INSTALL_COMMAND ${MAKE} --quiet prefix=<INSTALL_DIR> install
++ BUILD_IN_SOURCE 1
++ BUILD_BYPRODUCTS ${CMAKE_BINARY_DIR}/lib/libtinycbor.a
++)
++
++include_directories(${CMAKE_BINARY_DIR}/include)
++
++add_library(tinycbor STATIC IMPORTED)
++set_target_properties(tinycbor PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libtinycbor.a)
++add_dependencies(tinycbor tinycbor_build)
++
++set(AST_EXPORTER_SRCS
++ AstExporter.cpp
++ FloatingLexer.cpp
++ ExportResult.cpp
++ )
++
++set(AST_EXPORTER_BIN_SRCS
++ ${AST_EXPORTER_SRCS}
++ Main.cpp
++ )
++
++find_package(LLVM REQUIRED CONFIG)
++
++# Debian and Ubuntu's clang cmake files are broken, so we can't require the
++# package here. We already have to manually order the link against the clang
++# libs in build.rs, so that's not so bad.
++find_package(Clang CONFIG)
++
++include_directories(${LLVM_INCLUDE_DIRS} ${CLANG_INCLUDE_DIRS})
++add_definitions(${LLVM_DEFINITIONS} ${CLANG_DEFINITIONS})
++
++if (DEFINED CLANG_INSTALL_PREFIX)
++ add_definitions(-DCLANG_BIN_PATH="${CLANG_INSTALL_PREFIX}/bin")
++elseif(DEFINED LLVM_INSTALL_PREFIX)
++ add_definitions(-DCLANG_BIN_PATH="${LLVM_INSTALL_PREFIX}/bin")
++elseif(DEFINED LLVM_TOOLS_BINARY_DIR)
++ add_definitions(-DCLANG_BIN_PATH="${LLVM_TOOLS_BINARY_DIR}")
++else()
++ message(FATAL_ERROR "Cannot find path to clang binary")
++endif()
++add_definitions(-DCLANG_VERSION_STRING="${LLVM_PACKAGE_VERSION}")
++
++set(LLVM_LINK_COMPONENTS support)
++
++# LLVM is not always built with RTTI, we don't need it either.
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-rtti")
++
++# The executable
++add_executable(c2rust-ast-exporter ${AST_EXPORTER_BIN_SRCS})
++
++# The library
++add_library(clangAstExporter STATIC ${AST_EXPORTER_SRCS})
++
++add_definitions(-DCLANG_LIBDIR_SUFFIX="${LLVM_LIBDIR_SUFFIX}")
++
++set_target_properties(c2rust-ast-exporter PROPERTIES
++ CXX_STANDARD 14
++ CXX_EXTENSIONS OFF
++ )
++# PRIVATE was added to make c2rust-ast-exporter build with LLVM 6.0. Keyword
++# description: https://cmake.org/pipermail/cmake/2016-May/063400.html
++target_link_libraries(c2rust-ast-exporter PRIVATE
++ clangAST
++ clangFrontend
++ clangTooling
++ clangBasic
++ clangASTMatchers
++ tinycbor
++ )
++
++set_target_properties(clangAstExporter PROPERTIES
++ CXX_STANDARD 17 # will decay to 14 if compiler doesn't support c++17
++ CXX_EXTENSIONS OFF
++ )
++target_link_libraries(clangAstExporter PRIVATE
++ clangAST
++ clangFrontend
++ clangTooling
++ clangBasic
++ clangASTMatchers
++ tinycbor
++ )
+diff -rupN a/c2rust-transpile/Cargo.toml b/c2rust-transpile/Cargo.toml
+--- a/c2rust-transpile/Cargo.toml 2024-01-06 22:49:13.145706727 +0100
++++ b/c2rust-transpile/Cargo.toml 2024-01-06 22:49:18.425644161 +0100
+@@ -38,7 +38,3 @@ smallvec = "1.0"
+ strum = "0.24"
+ strum_macros = "0.24"
+ syn = { version = "1.0", features = ["full", "extra-traits", "parsing", "printing"]}
+-
+-[features]
+-# Force static linking of LLVM
+-llvm-static = ["c2rust-ast-exporter/llvm-static"]
diff --git a/testing/c2rust/0002-use-system-tinycbor.patch b/testing/c2rust/0002-use-system-tinycbor.patch
new file mode 100644
index 00000000000..808c181aadb
--- /dev/null
+++ b/testing/c2rust/0002-use-system-tinycbor.patch
@@ -0,0 +1,64 @@
+Use system's tinycbor instead of vendoring it in
+diff -rupN a/c2rust-ast-exporter/build.rs b/c2rust-ast-exporter/build.rs
+--- a/c2rust-ast-exporter/build.rs 2023-05-22 22:14:35.000000000 +0200
++++ b/c2rust-ast-exporter/build.rs 2024-01-06 22:54:06.039088094 +0100
+@@ -142,7 +142,7 @@ fn build_native(llvm_info: &LLVMInfo) {
+ };
+
+ // Statically link against 'clangAstExporter' which requires 'tinycbor'
+- println!("cargo:rustc-link-lib=static=tinycbor");
++ println!("cargo:rustc-link-lib=dylib=tinycbor");
+ println!("cargo:rustc-link-lib=static=clangAstExporter");
+
+ println!("cargo:rustc-link-search=native={}", llvm_lib_dir);
+diff -rupN a/c2rust-ast-exporter/src/CMakeLists.txt b/c2rust-ast-exporter/src/CMakeLists.txt
+--- a/c2rust-ast-exporter/src/CMakeLists.txt 2023-05-22 22:14:35.000000000 +0200
++++ b/c2rust-ast-exporter/src/CMakeLists.txt 2024-01-06 22:55:39.124799597 +0100
+@@ -5,14 +5,9 @@ project(ASTExporter)
+ # TinyCBOR #
+ #################################################
+
+-set(TINYCBOR_REPO "https://github.com/intel/tinycbor.git" CACHE STRING "tinycbor git repo URL")
+-
+-# v0.6.3 tag, but using the commit hash instead (of the tarball hash) for integrity checks
+-# unlike a .tar.gz MD5 hash, this SHA-1 commit hash should stay stable regardless of compression/archiving
+-# (GitHub has changed this), and still retains the integrity check
+-set(TINYCBOR_TAG "d393c16f3eb30d0c47e6f9d92db62272f0ec4dc7" CACHE STRING "tinycbor git tag/branch/commit hash")
+-
+-set(TINYCBOR_PREFIX "${CMAKE_BINARY_DIR}/tinycbor" CACHE STRING "tinycbor install prefix")
++include(FindPkgConfig)
++pkg_search_module(TINYCBOR REQUIRED tinycbor)
++include_directories(${TINYCBOR_INCLUDE_DIRS})
+
+ if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
+ set(MAKE "gmake")
+@@ -20,29 +15,6 @@ else()
+ set(MAKE "make")
+ endif()
+
+-include(ExternalProject)
+-ExternalProject_Add(tinycbor_build
+- PREFIX ${TINYCBOR_PREFIX}
+- INSTALL_DIR ${CMAKE_BINARY_DIR}
+- GIT_REPOSITORY ${TINYCBOR_REPO}
+- GIT_TAG ${TINYCBOR_TAG}
+- # the fd redirection here fails when the build run inside Cargo.
+- # patch from upstream:
+- # https://github.com/intel/tinycbor/commit/6176e0a28d7c5ef3a5e9cbd02521999c412de72c
+- PATCH_COMMAND patch --forward -p1 < ${CMAKE_CURRENT_SOURCE_DIR}/tinycbor_fix_build.patch || true
+- CONFIGURE_COMMAND ${MAKE} .config && cat ${CMAKE_CURRENT_SOURCE_DIR}/tinycbor.config >> .config
+- BUILD_COMMAND ${MAKE} --quiet prefix=<INSTALL_DIR> CFLAGS=-fPIC
+- INSTALL_COMMAND ${MAKE} --quiet prefix=<INSTALL_DIR> install
+- BUILD_IN_SOURCE 1
+- BUILD_BYPRODUCTS ${CMAKE_BINARY_DIR}/lib/libtinycbor.a
+-)
+-
+-include_directories(${CMAKE_BINARY_DIR}/include)
+-
+-add_library(tinycbor STATIC IMPORTED)
+-set_target_properties(tinycbor PROPERTIES IMPORTED_LOCATION ${CMAKE_BINARY_DIR}/lib/libtinycbor.a)
+-add_dependencies(tinycbor tinycbor_build)
+-
+ set(AST_EXPORTER_SRCS
+ AstExporter.cpp
+ FloatingLexer.cpp
diff --git a/testing/c2rust/APKBUILD b/testing/c2rust/APKBUILD
new file mode 100644
index 00000000000..3ac6780ff14
--- /dev/null
+++ b/testing/c2rust/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=c2rust
+pkgver=0.18.0
+pkgrel=1
+pkgdesc="Transpile C99-compliant code to (unsafe) Rust code"
+url="https://github.com/immunant/c2rust"
+# riscv64: libc crate sup
+# s390x: missing big endian support in c2rust-bitfields-derive
+# ppc64le: tinycbor not packaged due to segfault in unit tests
+arch="all !riscv64 !s390x !ppc64le"
+license="BSD-3-Clause"
+# Note: LLVM's CMake hooks check for presence of static libs and complain if
+# they are missing. So they are needed for building even when linking
+# dynamically
+makedepends="
+ cargo
+ cargo-auditable
+ clang17-dev
+ clang17-static
+ cmake
+ libxml2-dev
+ llvm17-dev
+ llvm17-gtest
+ llvm17-static
+ ncurses-dev
+ openssl-dev
+ rust
+ tinycbor-dev
+ "
+checkdepends="
+ python3
+ py3-plumbum
+ py3-toml
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/immunant/c2rust/archive/refs/tags/v$pkgver.tar.gz
+ 0001-link-clang-dynamic.patch
+ 0002-use-system-tinycbor.patch
+ df42b55eae9ecfd4380004a513a10526ef8776cf.patch
+ "
+
+# Unit tests all fail using rust 1.72.1 with:
+#
+# error[E0554]: #![feature] may not be used on the stable release channel
+#
+# Eventually, unit tests should also run on stable rust
+options="!check"
+
+export CARGO_PROFILE_RELEASE_LTO="true"
+export CARGO_PROFILE_RELEASE_PANIC="abort"
+export CARGO_PROFILE_RELEASE_OPT_LEVEL="s"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen --package c2rust
+}
+
+check() {
+ ./scripts/test_translator.py tests
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/lib
+ for bin in c2rust c2rust-transpile; do
+ install -D -m755 target/release/$bin -t "$pkgdir"/usr/bin/
+ done
+}
+
+sha512sums="
+16033110923d22d12c55bdd13aacbeb05b95a54b93b8eabf478b111e99fba6c523102e871f4812d35152a9c02fae39ee25307acdfbe6d7bef23113f5c9db8dde c2rust-0.18.0.tar.gz
+3bd7def407277482a33c5074388a10afadf1b40b3f09e2fc87e9942a802b65ca2ee356be56e4baa66d669c57dcfd52ef27d59e740f0c735eb09c03fbf21015bb 0001-link-clang-dynamic.patch
+be29e0f4576301b64f5fc38684ddb90e469526be4ce8ef428feee0d5962748c428045dcb81635ff92e132daebb1fa1b338a81ce1ea13d02b802ec057d0653b93 0002-use-system-tinycbor.patch
+34764bd19f927bff11e86a26f6826b0875abebfb78256d895d36e04cf16f9a98ac8672ba7de0891613112e3aef724c501045ab303093c3fcad135590c82f3506 df42b55eae9ecfd4380004a513a10526ef8776cf.patch
+"
diff --git a/testing/c2rust/df42b55eae9ecfd4380004a513a10526ef8776cf.patch b/testing/c2rust/df42b55eae9ecfd4380004a513a10526ef8776cf.patch
new file mode 100644
index 00000000000..83d0b8796ae
--- /dev/null
+++ b/testing/c2rust/df42b55eae9ecfd4380004a513a10526ef8776cf.patch
@@ -0,0 +1,183 @@
+From df42b55eae9ecfd4380004a513a10526ef8776cf Mon Sep 17 00:00:00 2001
+From: Per Larsen <perl@immunant.com>
+Date: Fri, 3 Nov 2023 16:18:56 -0700
+Subject: [PATCH] Add support for LLVM17. Closes #1039.
+
+Also adds extremely limited support for ARMs scalable vector
+extension types such that Apple Silicon macs can run unit tests..
+---
+ c2rust-ast-exporter/src/AstExporter.cpp | 27 ++++++++++++++++++++++--
+ c2rust-ast-exporter/src/ast_tags.hpp | 6 ++++++
+ c2rust-transpile/src/c_ast/conversion.rs | 9 ++++++++
+ c2rust-transpile/src/c_ast/iterators.rs | 2 +-
+ c2rust-transpile/src/c_ast/mod.rs | 4 ++++
+ c2rust-transpile/src/translator/mod.rs | 3 +++
+ 6 files changed, 48 insertions(+), 3 deletions(-)
+
+diff --git a/c2rust-ast-exporter/src/AstExporter.cpp b/c2rust-ast-exporter/src/AstExporter.cpp
+index b58308e51f..fc6e78aec1 100644
+--- a/c2rust-ast-exporter/src/AstExporter.cpp
++++ b/c2rust-ast-exporter/src/AstExporter.cpp
+@@ -85,6 +85,7 @@ std::string make_realpath(std::string const &path) {
+ }
+
+ // Helper to smooth out differences between versions of clang
++#if CLANG_VERSION_MAJOR < 17
+ Optional<APSInt> getIntegerConstantExpr(const Expr &E, const ASTContext &Ctx) {
+ #if CLANG_VERSION_MAJOR < 12
+ APSInt value;
+@@ -96,6 +97,13 @@ Optional<APSInt> getIntegerConstantExpr(const Expr &E, const ASTContext &Ctx) {
+ return E.getIntegerConstantExpr(Ctx);
+ #endif // CLANG_VERSION_MAJOR
+ }
++#else
++#include <optional>
++std::optional<APSInt> getIntegerConstantExpr(const Expr &E,
++ const ASTContext &Ctx) {
++ return E.getIntegerConstantExpr(Ctx);
++}
++#endif // CLANG_VERSION_MAJOR
+ } // namespace
+
+ class TranslateASTVisitor;
+@@ -363,7 +371,7 @@ class TypeEncoder final : public TypeVisitor<TypeEncoder> {
+ }
+ }();
+ // All the SVE types present in Clang 10 are 128-bit vectors
+- // (see `AArch64SVEACLETypes.def`), so we can divide 128
++ // (see `AArch64SVEACLETypes.def`), so we can divide 128
+ // by their element size to get element count.
+ auto ElemCount = 128 / Context->getTypeSize(ElemType);
+ #endif // CLANG_VERSION_MAJOR >= 11
+@@ -403,7 +411,7 @@ class TypeEncoder final : public TypeVisitor<TypeEncoder> {
+ // Constructed as a consequence of the conversion of
+ // built-in to normal vector types.
+ case BuiltinType::Float16: return TagHalf;
+- case BuiltinType::Half: return TagHalf;
++ case BuiltinType::Half: return TagHalf;
+ #if CLANG_VERSION_MAJOR >= 11
+ case BuiltinType::BFloat16: return TagBFloat16;
+ #endif
+@@ -418,6 +426,12 @@ class TypeEncoder final : public TypeVisitor<TypeEncoder> {
+ case BuiltinType::Bool: return TagBool;
+ case BuiltinType::WChar_S: return TagSWChar;
+ case BuiltinType::WChar_U: return TagUWChar;
++#if CLANG_VERSION_MAJOR >= 16
++ case BuiltinType::SveCount: return TagSveCount;
++ case BuiltinType::SveBool: return TagSveBool;
++ case BuiltinType::SveBoolx2: return TagSveBoolx2;
++ case BuiltinType::SveBoolx4: return TagSveBoolx4;
++#endif
+ }
+ }();
+
+@@ -1499,7 +1513,11 @@ class TranslateASTVisitor final
+ cbor_encoder_create_array(&array, &entry, 2);
+ cbor_encode_int(&entry, 2);
+ cbor_encode_uint(&entry,
++#if CLANG_VERSION_MAJOR < 17
+ uintptr_t(designator.getField()));
++#else
++ uintptr_t(designator.getFieldDecl()));
++#endif // CLANG_VERSION_MAJOR
+ } else if (designator.isArrayRangeDesignator()) {
+ cbor_encoder_create_array(&array, &entry, 3);
+ cbor_encode_int(&entry, 3);
+@@ -2300,6 +2318,11 @@ class TranslateASTVisitor final
+ case clang::StringLiteral::StringKind::UTF32:
+ cbor_encode_uint(array, StringTypeTag::TagUTF32);
+ break;
++#if CLANG_VERSION_MAJOR >= 17
++ case clang::StringLiteral::StringKind::Unevaluated:
++ cbor_encode_uint(array, StringTypeTag::TagUnevaluated);
++ break;
++#endif // CLANG_VERSION_MAJOR
+ }
+ // The size of the wchar_t type in C is implementation defined
+ cbor_encode_uint(array, SL->getCharByteWidth());
+diff --git a/c2rust-ast-exporter/src/ast_tags.hpp b/c2rust-ast-exporter/src/ast_tags.hpp
+index ab6e87344b..2027957d5f 100644
+--- a/c2rust-ast-exporter/src/ast_tags.hpp
++++ b/c2rust-ast-exporter/src/ast_tags.hpp
+@@ -142,6 +142,11 @@ enum TypeTag {
+ TagComplexType,
+ TagHalf,
+ TagBFloat16,
++
++ TagSveCount,
++ TagSveBool,
++ TagSveBoolx2,
++ TagSveBoolx4,
+ };
+
+ enum StringTypeTag {
+@@ -150,6 +155,7 @@ enum StringTypeTag {
+ TagUTF8,
+ TagUTF16,
+ TagUTF32,
++ TagUnevaluated,
+ };
+
+ // From `clang/Basic/TargetInfo.h`
+diff --git a/c2rust-transpile/src/c_ast/conversion.rs b/c2rust-transpile/src/c_ast/conversion.rs
+index 26033bf0ae..3fe769fca5 100644
+--- a/c2rust-transpile/src/c_ast/conversion.rs
++++ b/c2rust-transpile/src/c_ast/conversion.rs
+@@ -804,6 +804,15 @@ impl ConversionContext {
+ self.processed_nodes.insert(new_id, OTHER_TYPE);
+ }
+
++ TypeTag::TagSveCount
++ | TypeTag::TagSveBool
++ | TypeTag::TagSveBoolx2
++ | TypeTag::TagSveBoolx4 => {
++ let ty = CTypeKind::UnhandledSveType;
++ self.add_type(new_id, not_located(ty));
++ self.processed_nodes.insert(new_id, OTHER_TYPE);
++ }
++
+ TypeTag::TagVectorType => {
+ let elt =
+ from_value(ty_node.extras[0].clone()).expect("Vector child not found");
+diff --git a/c2rust-transpile/src/c_ast/iterators.rs b/c2rust-transpile/src/c_ast/iterators.rs
+index 6817cf1e1a..22ba07e71c 100644
+--- a/c2rust-transpile/src/c_ast/iterators.rs
++++ b/c2rust-transpile/src/c_ast/iterators.rs
+@@ -285,7 +285,7 @@ fn immediate_type_children(kind: &CTypeKind) -> Vec<SomeId> {
+ TypeOfExpr(e) => intos![e],
+ Void | Bool | Short | Int | Long | LongLong | UShort | UInt | ULong | ULongLong | SChar
+ | UChar | Char | Double | LongDouble | Float | Int128 | UInt128 | BuiltinFn | Half
+- | BFloat16 => {
++ | BFloat16 | UnhandledSveType => {
+ vec![]
+ }
+
+diff --git a/c2rust-transpile/src/c_ast/mod.rs b/c2rust-transpile/src/c_ast/mod.rs
+index 56b067f3e8..182b795812 100644
+--- a/c2rust-transpile/src/c_ast/mod.rs
++++ b/c2rust-transpile/src/c_ast/mod.rs
+@@ -1672,6 +1672,10 @@ pub enum CTypeKind {
+
+ Half,
+ BFloat16,
++
++ // ARM Scalable Vector Extention types
++ // TODO: represent all the individual types in AArch64SVEACLETypes.def
++ UnhandledSveType,
+ }
+
+ impl CTypeKind {
+diff --git a/c2rust-transpile/src/translator/mod.rs b/c2rust-transpile/src/translator/mod.rs
+index 91144d0f29..99dca9734e 100644
+--- a/c2rust-transpile/src/translator/mod.rs
++++ b/c2rust-transpile/src/translator/mod.rs
+@@ -4921,6 +4921,9 @@ impl<'c> Translation<'c> {
+ // Handled in `import_simd_typedef`
+ }
+ TypeOfExpr(_) | BuiltinFn => {}
++ UnhandledSveType => {
++ // TODO: handle SVE types
++ }
+ }
+ }
+
diff --git a/testing/cachefilesd-inotify/APKBUILD b/testing/cachefilesd-inotify/APKBUILD
deleted file mode 100644
index 71a7467fb95..00000000000
--- a/testing/cachefilesd-inotify/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Jake Buchholz <tomalok@gmail.com>
-# Maintainer: Jake Buchholz <tomalok@gmail.com>
-pkgname=cachefilesd-inotify
-pkgver=0.11.0
-pkgrel=0
-pkgdesc="Userspace daemon acting as a backend for FS-Cache (uses INOTIFY instead of DNOTIFY)"
-url="https://gitlab.com/tomalok/cachefilesd-inotify"
-arch="all"
-license="GPL-2.0-or-later"
-depends="attr"
-makedepends="rpm file"
-provides="cachefilesd=$pkgver-r$pkgrel"
-replaces="cachefilesd"
-options="!check"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="https://gitlab.com/tomalok/cachefilesd-inotify/-/archive/$pkgver/$pkgname-$pkgver.tar.bz2
- cachefilesd.initd"
-
-build() {
- sed -i "s#/sbin/#/usr/bin/#g" cachefilesd.c
- sed -i "s#/sbin/#/usr/bin/#g" cachefilesd.service
- sed -i "s/^secctx/#secctx/g" cachefilesd.conf
- make CFLAGS="$CFLAGS"
-}
-
-package() {
- make DESTDIR="$pkgdir" SBINDIR=/usr/bin install
- mkdir -p "$pkgdir"/var/cache/fscache
- install -D -m 755 "$srcdir/cachefilesd.initd" "$pkgdir/etc/init.d/cachefilesd"
-}
-
-sha512sums="f283d0d2357da648515225a5162b53a4603fc466d291a68c4833a39ce1aed2784f9734a23ebcb47d1efbea0d3659733f9c1d8a0137e6e98281e6f4085328d049 cachefilesd-inotify-0.11.0.tar.bz2
-854b66470ace24caf24e979de3c1c12a426972bc745823b3a0f47ac80811ac5da4fa6a249e65386acdec2e7561178bb1d2c4b301a2178458f10496bb8eac5b2f cachefilesd.initd"
diff --git a/testing/cachefilesd-inotify/cachefilesd.initd b/testing/cachefilesd-inotify/cachefilesd.initd
deleted file mode 100644
index 589faa7d57a..00000000000
--- a/testing/cachefilesd-inotify/cachefilesd.initd
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-fs/cachefilesd/files/cachefilesd.init,v 1.2 2010/09/20 08:45:22 jlec Exp $
-
-depend() {
- need localmount
- use logger
- before nfsmount
-}
-
-checkxattr() {
- local testpath testfile ret
- testpath=$(awk '/^[[:space:]]*dir/ {print $2}' /etc/cachefilesd.conf)
- testfile="${testpath}/.tmp-xattr-test.cachefilesd"
- touch "${testfile}"
- # creates a file in the testpath and tries to set an attribute on it to check
- # if the support is available
- attr -s test -V xattr "${testfile}" 2>&1 > /dev/null
- ret=$?
- rm -f "${testfile}"
- [ ${ret} -ne 0 ] && eerror "xattr support missing on the ${testpath} filesystem"
- return ${ret}
-}
-
-start() {
- ebegin "Starting cachefilesd"
- checkxattr || return $?
- # check if the cachefiles modules is loaded (or builtin)
- if [ ! -c /dev/cachefiles ] ; then
- local ret
- einfo "/dev/cachefiles doesn't exist, trying to modprobe cachefiles"
- modprobe cachefiles
- ret=$?
- if [ $ret -ne 0 ] ; then
- eerror "cachefiles modules cannot be loaded so cachefilesd "
- eerror "cannot be started, aborting. Did you build fscache in your "
- eerror "kernel? Note that you need a 2.6.30 or better kernel"
- return $ret
- fi
- fi
- start-stop-daemon --start --pidfile /var/run/cachefilesd.pid --exec /usr/bin/cachefilesd -- ${OPTIONS}
- eend $? "Failed to start cachefilesd. Check the system log to see the error"
-
-}
-
-stop() {
- ebegin "Stopping cachefilesd"
- start-stop-daemon --stop --exec /usr/bin/cachefilesd --pidfile /var/run/cachefilesd.pid
- eend $? "Failed to stop cachefilesd"
-}
-
-
diff --git a/testing/cadence/APKBUILD b/testing/cadence/APKBUILD
index 44320032a69..c4e2bf6a328 100644
--- a/testing/cadence/APKBUILD
+++ b/testing/cadence/APKBUILD
@@ -1,8 +1,8 @@
-# Contributor: Kevin Thomas <me@kevinthomas.dev>
-# Maintainer: Kevin Thomas <me@kevinthomas.dev>
+# Contributor: Kay Thomas <kaythomas@pm.me>
+# Maintainer: Kay Thomas <kaythomas@pm.me>
pkgname=cadence
-pkgver=0.9.1
-pkgrel=1
+pkgver=0.9.2
+pkgrel=0
pkgdesc="Collection of tools useful for audio production"
url="https://kx.studio/Applications:Cadence"
# py3-qt5 not packaged on armhf
@@ -18,9 +18,7 @@ depends="
makedepends="
qt5-qtbase-dev
"
-source="https://github.com/falkTX/Cadence/archive/v$pkgver/cadence-$pkgver.tar.gz
- fix-QPainterPath.patch
- "
+source="https://github.com/falkTX/Cadence/archive/v$pkgver/cadence-$pkgver.tar.gz"
options="!check" # No testsuite
builddir="$srcdir/Cadence-$pkgver"
@@ -41,6 +39,5 @@ package() {
}
sha512sums="
-daa9df947f0198522172451ec3d2a0e138de5245d4fa849c89ae17fc141388467bdb2e5b1ed191d1db372f4d1c02a8f1c32458c20b893d413af8fdce72ee9219 cadence-0.9.1.tar.gz
-07cf8055f89b5a75ab817896f4ec68e8b1e21cf3a8f7a4f13cd1ed9a9ef1a669be624201daeacf6d13e7ee6f922b16ef650d402640710a971cd05e87b6b92389 fix-QPainterPath.patch
+d8a1b52c361e3e18a193d1c283bb69abe18ce667b554fc53cb9b752d92747269145144ae512895ffbb5df76efe8671cfc0782f29e59d0d7cd3d97c97240bdecf cadence-0.9.2.tar.gz
"
diff --git a/testing/cadence/fix-QPainterPath.patch b/testing/cadence/fix-QPainterPath.patch
deleted file mode 100644
index 88efbdaad65..00000000000
--- a/testing/cadence/fix-QPainterPath.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 887c3fde037c79f0f24bfeb8bc96e704fb2afd25 Mon Sep 17 00:00:00 2001
-From: Alex Tsitsimpis <alex.tsitsimpis@gmail.com>
-Date: Thu, 4 Jun 2020 12:49:40 +0300
-Subject: [PATCH] Fix build with Qt 5.15+
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Building with Qt 5.15 failed with the following error:
-
-../widgets/pixmapdial.cpp:231:26: error: aggregate ‘QPainterPath ballPath’ has incomplete type and cannot be defined
- 231 | QPainterPath ballPath;
- | ^~~~~~~~
-../widgets/pixmapdial.cpp:278:26: error: aggregate ‘QPainterPath ballPath’ has incomplete type and cannot be defined
- 278 | QPainterPath ballPath;
- | ^~~~~~~~
-
-Signed-off-by: Alex Tsitsimpis <alex.tsitsimpis@gmail.com>
----
- c++/widgets/pixmapdial.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/c++/widgets/pixmapdial.cpp b/c++/widgets/pixmapdial.cpp
-index 37dcffd7..0b5e0f51 100644
---- a/c++/widgets/pixmapdial.cpp
-+++ b/c++/widgets/pixmapdial.cpp
-@@ -22,6 +22,7 @@
- #include <QtCore/QTimer>
- #include <QtGui/QPainter>
- #include <QtGui/QPaintEvent>
-+#include <QtGui/QPainterPath>
-
- PixmapDial::PixmapDial(QWidget* parent)
- : QDial(parent),
diff --git a/testing/caffeine-ng/APKBUILD b/testing/caffeine-ng/APKBUILD
index d89c2f703fd..81cf2d5cd26 100644
--- a/testing/caffeine-ng/APKBUILD
+++ b/testing/caffeine-ng/APKBUILD
@@ -1,25 +1,53 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=caffeine-ng
-pkgver=3.5.1
-pkgrel=2
+pkgver=4.2.0
+pkgrel=1
pkgdesc="Status bar application able to temporarily inhibit the screensaver and sleep mode"
-url="https://github.com/caffeine-ng/caffeine-ng"
+url="https://codeberg.org/WhyNotHugo/caffeine-ng"
arch="noarch"
license="GPL-3.0-or-later"
-depends="py3-gobject3 py3-xdg py3-dbus py3-docopt py3-setproctitle
- libnotify gtk+3.0 xdg-utils py3-ewmh
+depends="
+ gtk+3.0
+ libayatana-appindicator
+ libnotify
+ py3-click
+ py3-dbus
+ py3-ewmh
+ py3-gobject3
+ py3-pulsectl
+ py3-setproctitle
+ xdg-utils
"
-makedepends="py3-setuptools py3-setuptools_scm"
-subpackages="$pkgname-doc"
-options="!check" # No testsuite
-source="https://github.com/caffeine-ng/caffeine-ng/releases/download/v$pkgver/caffeine-ng-$pkgver.tar.gz"
+makedepends="
+ gtk+3.0-dev
+ libayatana-appindicator-dev
+ libnotify-dev
+ meson
+ py3-dbus-dev
+ py3-gobject3-dev
+ python3-dev
+ scdoc
+ "
+subpackages="$pkgname-doc $pkgname-lang"
+source="caffeine-ng-$pkgver.tar.gz::https://codeberg.org/attachments/6da08199-604f-4f0f-b9dd-c50efe587965
+ mandir.patch
+ "
+builddir="$srcdir/caffeine-ng-v4.2.0-0-g5027f55"
build() {
- python3 setup.py build
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
- python3 setup.py install --root="$pkgdir"
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-sha512sums="d37a4ddfefca3ed883a7aade0c25ef9f1bf475d27cb43e7c64ee6f946a9157727c5527ad2c06fb39bac6e74344f523c1d9f2896c301b33cd3c8c6e1ed52a99fb caffeine-ng-3.5.1.tar.gz"
+sha512sums="
+ff732b56baa96f9f8eb0d05b502c56612cbd5a9c48c65820724c3abbb9ad4e2770997285cb0e4a1617cc5c70c8881a015451b4c00a6513daada97b93920a2cf8 caffeine-ng-4.2.0.tar.gz
+b19bc62609dc77fb8da6ca6691fb2edfe99b1444119ecda15cad8bb79d832802e917249251f1d50127b394f80a443b3ae722a9a076f21a3563d1c007d833af09 mandir.patch
+"
diff --git a/testing/caffeine-ng/mandir.patch b/testing/caffeine-ng/mandir.patch
new file mode 100644
index 00000000000..262d1203b7e
--- /dev/null
+++ b/testing/caffeine-ng/mandir.patch
@@ -0,0 +1,13 @@
+diff --git a/meson.build b/meson.build
+index 1f84fe8..423aed7 100644
+--- a/meson.build
++++ b/meson.build
+@@ -103,7 +103,7 @@ custom_target(
+ feed: true,
+ capture: true,
+ install: true,
+- install_dir: join_paths(mandir, 'man1/caffeine')
++ install_dir: join_paths(mandir, 'man1')
+ )
+
+ install_subdir('caffeine/assets/glade',
diff --git a/testing/calf/APKBUILD b/testing/calf/APKBUILD
deleted file mode 100644
index f7c55fa30f3..00000000000
--- a/testing/calf/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=calf
-pkgver=0.90.3
-pkgrel=1
-pkgdesc="Calf Studio Gear"
-url="https://calf-studio-gear.org"
-arch="all"
-license="GPL-2.0-only AND LGPL-2.1-only"
-makedepends="autoconf automake expat-dev fluidsynth-dev gtk+2.0-dev jack-dev
- libtool lv2-dev"
-subpackages="$pkgname-static $pkgname-jack $pkgname-doc $pkgname-lv2"
-source="http://calf-studio-gear.org/files/calf-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- autoreconf -vif
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-jack() {
- pkgdesc="Calf Studio Gear (JACK utils)"
- amove usr/bin/calfjackhost
-}
-
-lv2() {
- pkgdesc="Calf Studio Gear (LV2 plugins)"
- amove usr/lib/lv2/*
-}
-
-sha512sums="a17be4f2e753c5426ff6995ebf4e88f1d4916629f624fcb576e09e5cafd56474fc8944d9defba31561a3476c55d78dd69189cedb11197a09cc3af6e59aa2a867 calf-0.90.3.tar.gz"
diff --git a/testing/calibre/0001-calibre-no-update.patch b/testing/calibre/0001-calibre-no-update.patch
new file mode 100644
index 00000000000..85b3e59d397
--- /dev/null
+++ b/testing/calibre/0001-calibre-no-update.patch
@@ -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):
+
diff --git a/testing/calibre/APKBUILD b/testing/calibre/APKBUILD
new file mode 100644
index 00000000000..bf47c79855a
--- /dev/null
+++ b/testing/calibre/APKBUILD
@@ -0,0 +1,115 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=calibre
+pkgver=7.8.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
+ "
+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="
+c90d247af3a8ba3b2a94ca3a03bf9ee4d1c8f07d6feaa1ec045d639f448c476c4be9568e66845e7067e32b746e0ab034be65084a60f2b64f961f6678a30910e7 calibre-7.8.0.tar.xz
+eb8e7ce40ff8b8daf6e7e55a5dff8ec4dff06c45744266bb48b3194e92ab1196bc91468203e3c2ca1e5144166a7d6be90e6cf0253513e761b56a4c85be4c2c76 0001-calibre-no-update.patch
+"
diff --git a/testing/caps/APKBUILD b/testing/caps/APKBUILD
deleted file mode 100644
index c9ec49561af..00000000000
--- a/testing/caps/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=caps
-pkgver=0.9.26
-pkgrel=0
-pkgdesc="the C* Audio Plugin Suite"
-url="http://quitte.de/dsp/caps.html"
-arch="all"
-license="GPL-3.0-only"
-source="http://quitte.de/dsp/caps_$pkgver.tar.bz2
- patch-basics.h.patch"
-options="!check" # No tests
-
-build() {
- make
-}
-
-
-package() {
- make install PREFIX=/usr DESTDIR="$pkgdir"
-}
-
-sha512sums="ce9a7219ef0c6c33a5debb407e9b6ea7432c3f50ab32c1915cf91c40cda541a812da887bf57ee536d653195158939889c4baf5fcbe3ded551abc676517e1da7a caps_0.9.26.tar.bz2
-fdf87cccfbde23e0959637e415e28b9b4e29b83fc0896506490e7e005a70bea04c073064c8b930d6050ed3f1db5b0f639425908b1e35e1307ca36339349cb435 patch-basics.h.patch"
diff --git a/testing/caps/patch-basics.h.patch b/testing/caps/patch-basics.h.patch
deleted file mode 100644
index 221ed3ee472..00000000000
--- a/testing/caps/patch-basics.h.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Use standard integer types instead.
-
-Upstream: proposed.
---- a/basics.h 2020-06-04 14:05:29.657008378 +0200
-+++ b/basics.h 2020-06-04 14:05:44.430412859 +0200
-@@ -38,6 +38,7 @@
- #define _ISOC99_SOURCE 1
- #define _ISOC9X_SOURCE 1
-
-+#include <stdint.h>
- #include <stdlib.h>
- #include <string.h>
-
-@@ -49,14 +50,14 @@
-
- #include "ladspa.h"
-
--typedef __int8_t int8;
--typedef __uint8_t uint8;
--typedef __int16_t int16;
--typedef __uint16_t uint16;
--typedef __int32_t int32;
--typedef __uint32_t uint32;
--typedef __int64_t int64;
--typedef __uint64_t uint64;
-+typedef int8_t int8;
-+typedef uint8_t uint8;
-+typedef int16_t int16;
-+typedef uint16_t uint16;
-+typedef int32_t int32;
-+typedef uint32_t uint32;
-+typedef int64_t int64;
-+typedef uint64_t uint64;
-
- #define MIN_GAIN 1e-6 /* -120 dB */
- /* smallest non-denormal 32 bit IEEE float is 1.18e-38 */
diff --git a/testing/caps2esc/APKBUILD b/testing/caps2esc/APKBUILD
new file mode 100644
index 00000000000..a02d4f9c103
--- /dev/null
+++ b/testing/caps2esc/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Evan Johnston <evan@d2evs.net>
+# Maintainer: Evan Johnston <evan@d2evs.net>
+pkgname=caps2esc
+pkgver=0.3.2
+pkgrel=0
+pkgdesc="Transforming the most useless key ever in the most useful one"
+url="https://gitlab.com/interception/linux/plugins/caps2esc"
+arch="all"
+license="MIT"
+depends="interception-tools"
+makedepends="
+ cmake
+ linux-headers
+ samurai
+ "
+source="https://gitlab.com/interception/linux/plugins/caps2esc/-/archive/v$pkgver/caps2esc-v$pkgver.tar.gz"
+builddir="$srcdir/caps2esc-v$pkgver"
+options="!check" # no tests
+
+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_BUILD_TYPE=None \
+ $crossopts
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+1d077720131df92d38daa2a72432b02f3f43f3ad49028e9029a804c6cad218508a96b0c0b67a5ed2506f5b80ed062c01423032a7133218f37c60ad4f32c22147 caps2esc-v0.3.2.tar.gz
+"
diff --git a/testing/carapace/APKBUILD b/testing/carapace/APKBUILD
new file mode 100644
index 00000000000..2209a51c57a
--- /dev/null
+++ b/testing/carapace/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Andrej Kolchin <KAAtheWise@protonmail.com>
+# Maintainer: Andrej Kolchin <KAAtheWise@protonmail.com>
+pkgname=carapace
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="Multi-shell multi-command argument completer"
+url="https://carapace.sh/"
+arch="all"
+license="MIT"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rsteube/carapace-bin/archive/v$pkgver.tar.gz"
+# fixes the tar archive unpacking to carapace-bin-$pkgver
+_pkgname=carapace-bin
+builddir="$srcdir/$_pkgname-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+build() {
+ go generate ./cmd/carapace/...
+ go build -tags release ./cmd/carapace
+}
+
+check() {
+ # The three lone tests in the repository.
+ go test \
+ ./cmd/carapace/... \
+ ./pkg/actions/tools/pandoc \
+ ./pkg/actions/env
+}
+
+package() {
+ install -Dm755 carapace -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+4e4d745879209343ff06e2d716bcbb7ec59920bb885deea9cb6a765d4c7a2040e4ace578e3fa820bda4c89a6ecab55e48e914f22c00565551331645e62e3fe73 carapace-1.0.1.tar.gz
+"
diff --git a/testing/care/10-tests-musl-compat.patch b/testing/care/10-tests-musl-compat.patch
new file mode 100644
index 00000000000..8a92c3fa52a
--- /dev/null
+++ b/testing/care/10-tests-musl-compat.patch
@@ -0,0 +1,26 @@
+The same change was made in src/.
+
+--- a/test/ptrace-2.c
++++ b/test/ptrace-2.c
+@@ -52,6 +52,12 @@
+ # endif
+ #endif
+
++#if defined(__GLIBC__)
++# define PTRACE_REQUEST_TYPE enum __ptrace_request
++#else
++# define PTRACE_REQUEST_TYPE int
++#endif
++
+ /**
+ * Compute the offset of the register @reg_name in the USER area.
+ */
+@@ -200,7 +206,7 @@
+
+ int main(int argc, char *argv[])
+ {
+- enum __ptrace_request restart_how;
++ PTRACE_REQUEST_TYPE restart_how;
+ int last_exit_status = -1;
+ pid_t *pids = NULL;
+ long status;
diff --git a/testing/care/APKBUILD b/testing/care/APKBUILD
new file mode 100644
index 00000000000..b1062bdb4ff
--- /dev/null
+++ b/testing/care/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Peter Shkenev <santurysim@gmail.com>
+# Maintainer: Peter Shkenev <santurysim@gmail.com>
+pkgname=care
+pkgver=2.3.0
+_prootver=5.4.0
+pkgrel=0
+pkgdesc="Comprehensive Archiver for Reproducible Execution"
+url="https://proot-me.github.io/care/"
+arch="aarch64 armhf armv7 x86 x86_64"
+license="GPL-2.0-or-later"
+depends="proot"
+makedepends="
+ bsd-compat-headers
+ libarchive-dev
+ linux-headers
+ py3-docutils
+ talloc-dev
+ talloc-static
+ uthash-dev
+ "
+checkdepends="bash coreutils grep lzop mcookie strace"
+subpackages="$pkgname-doc"
+source="https://github.com/proot-me/proot/archive/v$_prootver/proot-$_prootver.tar.gz
+ 10-tests-musl-compat.patch
+ "
+options="!check"
+builddir="$srcdir"/proot-"$_prootver"
+
+build() {
+ make -C src care GIT=false
+ make -C doc care/man.1
+}
+
+check() {
+ make -C test
+}
+
+package() {
+ install -Dm 0755 "$builddir"/src/care "$pkgdir"/usr/bin/care
+ install -Dm 0644 ./doc/care/man.1 "$pkgdir"/usr/share/man/man1/care.1
+}
+
+sha512sums="
+c4d7b7428758c0d8f6a89ecaa01d1d7d5d9663a84b7e730e8160bc2a2385a7e278589f5dd86f5cd4f8e0736f09b3097b9efea7814096fd2d28e6032435b9ee63 proot-5.4.0.tar.gz
+d09de6d776072e9991abd04e294e6d36bd1634b9e972294a112526ebf3f63e919d01755de1ecd7253d614b41b07fe6882df8787c638b8576bcf2555abcafa466 10-tests-musl-compat.patch
+"
diff --git a/testing/cargo-c/APKBUILD b/testing/cargo-c/APKBUILD
deleted file mode 100644
index 8bfa727b888..00000000000
--- a/testing/cargo-c/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=cargo-c
-pkgver=0.9.6
-pkgrel=0
-pkgdesc="cargo subcommand to build and install C-ABI compatibile dynamic and static libraries"
-url="https://github.com/lu-zero/cargo-c"
-arch="all !s390x !mips !mips64 !riscv64" # no cargo for these archies
-license="MIT"
-makedepends="cargo openssl-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/lu-zero/cargo-c/archive/v$pkgver.tar.gz
- $pkgname-$pkgver-Cargo.lock::https://github.com/lu-zero/cargo-c/releases/download/v$pkgver/Cargo.lock"
-
-prepare() {
- default_prepare
-
- cp "$srcdir"/$pkgname-$pkgver-Cargo.lock Cargo.lock
- cargo fetch --locked
-}
-
-build() {
- cargo build --release --frozen
-}
-
-check() {
- cargo test --release --frozen
-}
-
-package() {
- cargo install --locked --root "$pkgdir/usr" --path .
-
- install -Dm 644 -t "$pkgdir/usr/share/doc/cargo-c" README.md
-
- rm "$pkgdir"/usr/.crates.toml
- rm "$pkgdir"/usr/.crates2.json
-}
-
-sha512sums="
-82ff71b1b1ec80ce01cd1b04eaa7bbb927964f1ffa8aa039d3f64b953d6330c75fffa7d372bd884ad9481f2ad84ab45cdf5e6d6ab6bed920df49683425c1f230 cargo-c-0.9.6.tar.gz
-491ae098e2393243b95666a65ddbd1a35e88236a46fbe5ec5519a6f13e5d45be1ebc0ecc9053fa41ba5c5b5463c344378064d35d60b2a07f1b3e15ed1b609c95 cargo-c-0.9.6-Cargo.lock
-"
diff --git a/testing/cargo-crev/APKBUILD b/testing/cargo-crev/APKBUILD
new file mode 100644
index 00000000000..7a07120bd88
--- /dev/null
+++ b/testing/cargo-crev/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=cargo-crev
+pkgver=0.25.5
+pkgrel=0
+pkgdesc="Cryptographically verifiable code review system for cargo"
+url="https://github.com/crev-dev/cargo-crev"
+# s390x: failing tests
+arch="all !s390x"
+license="MPL-2.0 OR MIT OR Apache-2.0"
+makedepends="cargo cargo-auditable openssl-dev"
+source="https://github.com/crev-dev/cargo-crev/archive/v$pkgver/cargo-crev-$pkgver.tar.gz
+ use-index-guix-from-crates.io.patch
+ "
+
+export OPENSSL_NO_VENDOR=1
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release -p cargo-crev --no-default-features
+}
+
+check() {
+ cargo test --frozen --no-default-features
+}
+
+package() {
+ install -Dm755 target/release/cargo-crev "$pkgdir"/usr/bin/cargo-crev
+}
+
+sha512sums="
+621447b0f5e32ed11af3d4e985d77986e94ceb6d6e0359880e70c20120698fb685b64062824fbd0bfffd9de565a6d5894788996c74637444d7bbdb47ed8e3807 cargo-crev-0.25.5.tar.gz
+84123bf4c1f1dfcb4dc1e5b31f5b5351a21cf24a56a8b0e07bffce00b5c0170f373dbb1d3d293beff4cc3f4873e831f9967da872f7408cf491f8926b1cc717c0 use-index-guix-from-crates.io.patch
+"
diff --git a/testing/cargo-crev/use-index-guix-from-crates.io.patch b/testing/cargo-crev/use-index-guix-from-crates.io.patch
new file mode 100644
index 00000000000..30c11226988
--- /dev/null
+++ b/testing/cargo-crev/use-index-guix-from-crates.io.patch
@@ -0,0 +1,38 @@
+Patch-Source: https://github.com/crev-dev/cargo-crev/commit/1c372955d79b65de27cfcb20afb29f962f965933.patch
+--
+From 1c372955d79b65de27cfcb20afb29f962f965933 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Orhun=20Parmaks=C4=B1z?= <orhunparmaksiz@gmail.com>
+Date: Wed, 22 Nov 2023 00:33:35 +0100
+Subject: [PATCH] fix(deps): use index-guix dependency from crates.io (#690)
+
+---
+ Cargo.lock | 2 ++
+ crevette/Cargo.toml | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index c6909595..28cb2852 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -3344,6 +3344,8 @@ dependencies = [
+ [[package]]
+ name = "index-guix"
+ version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd5527d0b9a90f16299c4db9a1c93c74089abe2e38dbd640b69e4afc378038e3"
+ dependencies = [
+ "gix 0.55.2",
+ "nom",
+diff --git a/crevette/Cargo.toml b/crevette/Cargo.toml
+index e4bea234..30afe4d4 100644
+--- a/crevette/Cargo.toml
++++ b/crevette/Cargo.toml
+@@ -23,7 +23,7 @@ toml_edit = { version = "0.21.0", features = ["serde"] }
+ cargo_author = { version = "1.0.6", optional = true }
+ flate2 = { version = "1.0.28", optional = true }
+ index-debcargo = { version = "1.1.0", optional = true }
+-index-guix = { version = "1.0.0", optional = true, path = "../../index-guix" }
++index-guix = { version = "1.0.0", optional = true }
+ reqwest = { version = "0.11.22", features = ["blocking"], optional = true }
+
+ [features]
diff --git a/testing/cargo-generate/APKBUILD b/testing/cargo-generate/APKBUILD
new file mode 100644
index 00000000000..ee654908f80
--- /dev/null
+++ b/testing/cargo-generate/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=cargo-generate
+pkgver=0.20.0
+pkgrel=0
+pkgdesc="Use pre-existing git repositories as templates"
+url="https://github.com/cargo-generate/cargo-generate"
+license="MIT OR Apache-2.0"
+arch="all !s390x" # fails to build nix crate
+makedepends="cargo libgit2-dev openssl-dev cargo-auditable"
+source="https://github.com/cargo-generate/cargo-generate/archive/v$pkgver/cargo-generate-$pkgver.tar.gz
+ remove-cargo-husky.patch
+ "
+options="net" # fetch dependencies
+
+prepare() {
+ default_prepare
+
+ # Rust target triple.
+ local target=$(rustc -vV | sed -n 's/host: //p')
+
+ # Build against system-provided libs
+ mkdir -p .cargo
+ cat >> .cargo/config.toml <<-EOF
+ [target.$target]
+ git2 = { rustc-link-lib = ["git2"] }
+ EOF
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release --no-default-features
+}
+
+check() {
+ cargo test --frozen --lib --no-default-features
+}
+
+package() {
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+ab6fa4b3519c4e35fef65eeb38caa226713fae5204950fc7b04fb38fa77d21045b7dee0defb2499df54dc17dd8780e3f580e13085de1dfdac87d1ac536c52afd cargo-generate-0.20.0.tar.gz
+50054cda7a9f22f89f1b447a197365737a73132ddd7c53f7a7e49eecf1bc1a6bb15dd7c97cf2cdda3b3468a94e6a9d8f0ce8910c972558eb09d16424667fdc31 remove-cargo-husky.patch
+"
diff --git a/testing/cargo-generate/remove-cargo-husky.patch b/testing/cargo-generate/remove-cargo-husky.patch
new file mode 100644
index 00000000000..ceef9f531ec
--- /dev/null
+++ b/testing/cargo-generate/remove-cargo-husky.patch
@@ -0,0 +1,53 @@
+Remove cargo-husky dependency to fix running `cargo test` command on buildozer
+
+> error: failed to run custom build command for `cargo-husky v1.5.0`
+>
+> Caused by:
+> process didn't exit successfully: `/home/buildozer/aports/testing/cargo-generate/src/cargo-generate-0.18.1/target/debug/build/cargo-husky-d53e0402e0fa64a4/build-script-build` (exit status: 1)
+> --- stderr
+> Error: IO error: Permission denied (os error 13)
+> warning: build failed, waiting for other jobs to finish...
+> >>> ERROR: cargo-generate: check failed
+
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -142,7 +142,6 @@ dependencies = [
+ "assert_cmd",
+ "auth-git2",
+ "bstr",
+- "cargo-husky",
+ "clap",
+ "console",
+ "dialoguer",
+@@ -179,12 +178,6 @@ dependencies = [
+ "walkdir",
+ ]
+
+-[[package]]
+-name = "cargo-husky"
+-version = "1.5.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7b02b629252fe8ef6460461409564e2c21d0c8e77e0944f3d189ff06c4e932ad"
+-
+ [[package]]
+ name = "cc"
+ version = "1.0.83"
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -61,16 +61,6 @@ indoc = "~2.0"
+ url = "~2.5"
+ bstr = "~1.9"
+
+-[dev-dependencies.cargo-husky]
+-version = "~1.5"
+-default-features = false
+-features = [
+- "prepush-hook",
+- "run-cargo-test",
+- "run-cargo-clippy",
+- "run-cargo-fmt",
+-]
+-
+ [features]
+ default = ["vendored-libgit2"]
+ vendored-libgit2 = ["git2/vendored-libgit2"]
diff --git a/testing/cargo-leptos/APKBUILD b/testing/cargo-leptos/APKBUILD
new file mode 100644
index 00000000000..3f63e8e6765
--- /dev/null
+++ b/testing/cargo-leptos/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=cargo-leptos
+pkgver=0.2.16
+pkgrel=0
+pkgdesc="Build tool for Leptos"
+url="https://leptos.dev"
+arch="x86_64 aarch64" # dart-sass
+license="MIT"
+makedepends="cargo-auditable"
+depends="
+ binaryen
+ cargo
+ cargo-generate
+ dart-sass
+"
+subpackages="$pkgname-doc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/leptos-rs/cargo-leptos/archive/refs/tags/v$pkgver.tar.gz
+"
+options="net"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen --features no_downloads
+}
+
+check() {
+ cargo test --frozen --features no_downloads
+}
+
+package() {
+ install -Dm 755 target/release/cargo-leptos "$pkgdir"/usr/bin/cargo-leptos
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+334dadf021fa7aabcd3e8a71d0512ce3fdc04ec058fd9b22bfd0b1f89bbd8bc9e3f7fd37973a5a9ad656802174293607330cd07db1283366d0264daa9a704bbd cargo-leptos-0.2.16.tar.gz
+"
diff --git a/testing/cargo-machete/APKBUILD b/testing/cargo-machete/APKBUILD
new file mode 100644
index 00000000000..b5e2b592293
--- /dev/null
+++ b/testing/cargo-machete/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=cargo-machete
+pkgver=0.6.2
+pkgrel=0
+pkgdesc="Cargo subcommand for removing unused Rust dependencies"
+url="https://github.com/bnjbvr/cargo-machete"
+arch="all"
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/bnjbvr/cargo-machete/archive/v$pkgver.tar.gz"
+options="net" # cargo fetch
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/cargo-machete" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE.md -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+c0b33ca808f75bc51e1aeb0b685abf2e170200dc4b11560ec8c2e1a64793b29216ac80f23d91731288e808097fd7a36a541c1c7666b696fc23f068ecd56c05be cargo-machete-0.6.2.tar.gz
+"
diff --git a/testing/cargo-run-bin/APKBUILD b/testing/cargo-run-bin/APKBUILD
new file mode 100644
index 00000000000..c024df9bf30
--- /dev/null
+++ b/testing/cargo-run-bin/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=cargo-run-bin
+pkgver=1.7.2
+pkgrel=0
+pkgdesc="Build, cache, and run CLI tools scoped in Cargo.toml"
+url="https://github.com/dustinblackman/cargo-run-bin"
+arch="all"
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dustinblackman/cargo-run-bin/archive/v$pkgver.tar.gz"
+options="net"
+options="$options !check" # https://github.com/dustinblackman/cargo-run-bin/issues/18
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/cargo-bin" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+5a81437f15f99b145ed6be4c3943e50e8f8f8b40bb36dc8a37ea29d6e43bfb0cb928d77ba3db19d0d919b4a8f4cbd3296b996db0c2ce0c42397393269a017f5d cargo-run-bin-1.7.2.tar.gz
+"
diff --git a/testing/cargo-shuttle/APKBUILD b/testing/cargo-shuttle/APKBUILD
new file mode 100644
index 00000000000..fa36d0b0574
--- /dev/null
+++ b/testing/cargo-shuttle/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=cargo-shuttle
+pkgver=0.43.0
+pkgrel=0
+pkgdesc="Cargo command for the Shuttle platform"
+url="https://github.com/shuttle-hq/shuttle"
+license="Apache-2.0"
+# s390x, ppc64le, riscv64: blocked by ring crate
+arch="all !s390x !ppc64le !riscv64"
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/shuttle-hq/shuttle/archive/v$pkgver/shuttle-$pkgver.tar.gz"
+builddir="$srcdir/shuttle-$pkgver"
+# tests require git/submodules to be initialized
+options="!check"
+
+prepare() {
+ default_prepare
+ cargo fetch --locked
+}
+
+build() {
+ cargo auditable build -p "$pkgname" --release --frozen
+ mkdir -p completions/
+ local compgen="target/release/$pkgname generate shell"
+ $compgen bash >"completions/$pkgname.bash"
+ $compgen fish >"completions/$pkgname.fish"
+ $compgen zsh >"completions/_$pkgname"
+ mkdir -p man/
+ "target/release/$pkgname" generate manpage > "man/$pkgname.1"
+}
+
+package() {
+ install -Dm755 "target/release/$pkgname" -t "$pkgdir/usr/bin/"
+ install -Dm644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm644 "completions/$pkgname.bash" "$pkgdir/usr/share/bash-completion/completions/$pkgname"
+ install -Dm644 "completions/$pkgname.fish" -t "$pkgdir/usr/share/fish/vendor_completions.d"
+ install -Dm644 "completions/_$pkgname" -t "$pkgdir/usr/share/zsh/site-functions"
+ install -Dm 644 "man/$pkgname.1" -t "$pkgdir/usr/share/man/man1"
+}
+
+sha512sums="
+0750bae9e0e6b3208924c27c16ab2bf0e8c64908d830e0e7f169601e608a8bf20e7ce83188bde474afa01eaa0e30edb437f28508a6e8af032216b46cec7a2f18 shuttle-0.43.0.tar.gz
+"
diff --git a/testing/cargo-update/APKBUILD b/testing/cargo-update/APKBUILD
new file mode 100644
index 00000000000..0c40f8d7764
--- /dev/null
+++ b/testing/cargo-update/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=cargo-update
+pkgver=13.3.0
+pkgrel=0
+pkgdesc="cargo subcommand for checking and applying updates to installed executables"
+url="https://github.com/nabijaczleweli/cargo-update"
+arch="all"
+license="MIT"
+makedepends="cargo cargo-auditable ronn curl-dev libgit2-dev libssh-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/nabijaczleweli/cargo-update/archive/refs/tags/v$pkgver.tar.gz"
+
+export LIBSSH2_SYS_USE_PKG_CONFIG=1
+
+prepare() {
+ default_prepare
+
+ # Rust target triple.
+ local target=$(rustc -vV | sed -n 's/host: //p')
+
+ # Build against system-provided libs
+ mkdir -p .cargo
+ cat >> .cargo/config.toml <<-EOF
+ [target.$target]
+ git2 = { rustc-link-lib = ["git2"] }
+ EOF
+
+ cargo fetch --target="$CTARGET"
+}
+
+build() {
+ cargo auditable build --frozen --release
+ ronn --roff --organization="CARGO-UPDATE $pkgver" man/*.md
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin/ \
+ target/release/cargo-install-update \
+ target/release/cargo-install-update-config
+
+ install -Dm644 man/cargo-install-update*.1 \
+ -t "$pkgdir"/usr/share/man/man1/
+}
+
+sha512sums="
+ef12ab1c998efeaab2ac680f9714ad6626434db021fd5aaa09f5f9e262fa6bea32fba53e513bf3a2fcc043e28fe2f19a24f163b1614899dc2d899472c0451ae0 cargo-update-13.3.0.tar.gz
+"
diff --git a/testing/cargo-vendor-filterer/APKBUILD b/testing/cargo-vendor-filterer/APKBUILD
new file mode 100644
index 00000000000..5bd506b1fd4
--- /dev/null
+++ b/testing/cargo-vendor-filterer/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=cargo-vendor-filterer
+pkgver=0.5.9
+pkgrel=1
+pkgdesc="cargo vendor with filtering for platforms and more"
+url="https://github.com/coreos/cargo-vendor-filterer"
+arch="all"
+license="Apache-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/coreos/cargo-vendor-filterer/archive/refs/tags/v$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen --no-default-features
+}
+
+package() {
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+2fd85f797da1d75f8a4b109278bccef1b1e0faf10653a8f472e5de48ea31f743916865853a68c5d87d0820deeaed7240f1ba50df71b2b977a35465ce14b04357 cargo-vendor-filterer-0.5.9.tar.gz
+"
diff --git a/testing/castero/APKBUILD b/testing/castero/APKBUILD
new file mode 100644
index 00000000000..5c9e72acb21
--- /dev/null
+++ b/testing/castero/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=castero
+pkgver=0.9.5
+pkgrel=2
+pkgdesc="TUI podcast client for the terminal"
+url="https://github.com/xgi/castero"
+arch="noarch"
+license="MIT"
+depends="
+ py3-beautifulsoup4
+ py3-cjkwrap
+ py3-grequests
+ py3-lxml
+ py3-mpv
+ py3-requests
+ py3-tz
+ python3
+ "
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xgi/castero/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ # Remove py3-vlc as we rely on py3-mpv
+ sed -i '/python-vlc/d' setup.py
+}
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest -k 'not test_player_vlcplayer'
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+3bd962f8a609dbd37cd133902f1cf8d619749179aeb790339a52849e4222c95b35d396a8b20e8690b412616cb2699fcba3d3ecfc87360579eaa08dfdddc9db30 castero-0.9.5.tar.gz
+"
diff --git a/testing/castor/APKBUILD b/testing/castor/APKBUILD
index 906f3c3816e..6d497a1db3e 100644
--- a/testing/castor/APKBUILD
+++ b/testing/castor/APKBUILD
@@ -1,16 +1,17 @@
# Maintainer: Joel Hansen <joelh@disroot.org>
pkgname=castor
-pkgver=0.8.18
-pkgrel=1
+pkgver=0.9.0
+pkgrel=2
pkgdesc="Graphical browser for Gemini, Gopher and Finger"
url="https://sr.ht/~julienxx/Castor/"
license="MIT"
arch="all !s390x !riscv64" # limited by rust/cargo
-makedepends="rust cargo gtk+3.0-dev openssl-dev"
+makedepends="rust cargo gtk+3.0-dev openssl-dev>3 cargo-auditable"
source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~julienxx/castor/archive/$pkgver.tar.gz"
+
build() {
- cargo build --release --locked --verbose
+ cargo auditable build --release --locked --verbose
}
check() {
@@ -24,5 +25,5 @@ package() {
}
sha512sums="
-f9a67b0beb37033fb7eabf6142a738c85fb873e1e8857da6e34b19d2722e2a36eb1449e647d8dec1bc9d90213162bacbae19a7626ae6b9053d85294fce8be2fe castor-0.8.18.tar.gz
+a860f4df5034569675d09ca507e970c1bf22cab24810e12f2afcaa9f8a4a52b8ba019e0b956562953571d7995c1222a9fbc2f8acd09c13e94378dcee4e3c062d castor-0.9.0.tar.gz
"
diff --git a/testing/catcodec/APKBUILD b/testing/catcodec/APKBUILD
index 7edb4b27e89..ded8b0f0c24 100644
--- a/testing/catcodec/APKBUILD
+++ b/testing/catcodec/APKBUILD
@@ -2,34 +2,28 @@
# Maintainer:
pkgname=catcodec
pkgver=1.0.5
-pkgrel=0
+pkgrel=2
pkgdesc="Decodes and encodes sample catalogues for OpenTTD"
-url="http://www.openttd.org/en/download-catcodec"
+url="https://www.openttd.org/downloads/catcodec-releases/latest"
arch="all"
license="GPL-2.0"
-depends=""
-depends_dev=""
-makedepends=""
-install=""
+options="!check" # to testsuite
subpackages="$pkgname-doc"
-source="http://binaries.openttd.org/extra/$pkgname/$pkgver/$pkgname-$pkgver-source.tar.xz"
-builddir="$srcdir/$pkgname-$pkgver"
+source="https://cdn.openttd.org/catcodec-releases/$pkgver/catcodec-$pkgver-source.tar.xz"
build() {
- cd "$builddir"
make VERBOSE=1
}
package() {
- cd "$builddir"
+ install -Dm755 catcodec "$pkgdir"/usr/bin/catcodec
+ install -Dm644 docs/catcodec.1 \
+ "$pkgdir"/usr/share/man/man1/catcodec.1
- install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
- install -Dm644 docs/$pkgname.1 \
- "$pkgdir"/usr/share/man/man1/$pkgname.1
-
- mkdir -p "$pkgdir"/usr/share/docs/$pkgname/
- install -m644 changelog.txt docs/readme.txt \
- "$pkgdir"/usr/share/docs/$pkgname/
+ install -Dm644 changelog.txt docs/readme.txt \
+ -t "$pkgdir"/usr/share/doc/catcodec/
}
-sha512sums="e6e17da17f2449ff5d3a18c34ba3125d475a481ef1dc73ba03dac32fc8523a8929d2cbdfda5f647a0226aa007a217fc90c85ec4cc46937f75e15a596277e0db5 catcodec-1.0.5-source.tar.xz"
+sha512sums="
+e6e17da17f2449ff5d3a18c34ba3125d475a481ef1dc73ba03dac32fc8523a8929d2cbdfda5f647a0226aa007a217fc90c85ec4cc46937f75e15a596277e0db5 catcodec-1.0.5-source.tar.xz
+"
diff --git a/testing/catdoc/APKBUILD b/testing/catdoc/APKBUILD
index 6b01babd35a..bfaced72370 100644
--- a/testing/catdoc/APKBUILD
+++ b/testing/catdoc/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
pkgname=catdoc
pkgver=0.95
-pkgrel=0
+pkgrel=1
pkgdesc="Convertor for Microsoft Word, Excel, PowerPoint and RTF Files to text"
options="!check" # No testsuite
url="https://www.wagner.pp.ru/~vitus/software/catdoc/"
diff --git a/testing/catfish/APKBUILD b/testing/catfish/APKBUILD
new file mode 100644
index 00000000000..af7d9725e26
--- /dev/null
+++ b/testing/catfish/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=catfish
+pkgver=4.18.0
+pkgrel=2
+pkgdesc="Catfish is a handy file searching tool for Linux and Unix"
+url="https://docs.xfce.org/apps/catfish/start"
+# x86, s390x: zeitgeist
+arch="noarch !s390x !x86"
+license="GPL-2.0-or-later"
+depends="
+ gtk+3.0
+ plocate
+ py3-cairo
+ py3-dbus
+ py3-gobject3
+ py3-pexpect
+ py3-zeitgeist
+ zeitgeist
+ "
+makedepends="
+ intltool
+ py3-distutils-extra
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-lang
+ $pkgname-pyc
+ "
+source="https://gitlab.xfce.org/apps/catfish/-/archive/catfish-$pkgver/catfish-catfish-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver"
+options="!check" # No upstream test suite
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+e07011198ae339521e3b2c6f95af63a7a166859297c7f2b2e38c588f427aea33d785f90b0e0cf9e82e3a351fe3b10bd9cb79330910c74f7d2a1de1087559dae6 catfish-catfish-4.18.0.tar.gz
+"
diff --git a/testing/catgirl/APKBUILD b/testing/catgirl/APKBUILD
deleted file mode 100644
index d502d032b22..00000000000
--- a/testing/catgirl/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: TBK <alpine@jjtc.eu>
-# Maintainer: TBK <alpine@jjtc.eu>
-pkgname=catgirl
-pkgver=1.9a
-pkgrel=1
-pkgdesc="TLS-only terminal IRC client"
-arch="all"
-url="https://git.causal.agency/catgirl/"
-license="GPL-3.0-or-later"
-options="!check" # No test suite
-makedepends="libretls-dev ncurses-dev"
-subpackages="$pkgname-doc"
-source="https://git.causal.agency/catgirl/snapshot/catgirl-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man
- make all
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-2eed6cc54d19a090345aa719adc256d6c8d4f26a81c7a399c20d3b4cbce336bc94b15c1c4b92a54d7cf8b16eda09e589c931292627234b000e567b2d22742420 catgirl-1.9a.tar.gz
-"
diff --git a/testing/cava/APKBUILD b/testing/cava/APKBUILD
index 0fbda58cbf7..83d86e70f2d 100644
--- a/testing/cava/APKBUILD
+++ b/testing/cava/APKBUILD
@@ -1,19 +1,18 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=cava
-pkgver=0.7.4
+pkgver=0.10.1
pkgrel=0
-pkgdesc="Console-based Audio Visualizer for ALSA"
+pkgdesc="Console-based Audio Visualizer"
url="https://github.com/karlstav/cava"
arch="all"
license="MIT"
-depends="alsa-lib iniparser"
-makedepends="autoconf automake libtool m4 fftw-dev ncurses-dev"
+makedepends="autoconf automake alsa-lib-dev libtool m4 fftw-dev ncurses-dev iniparser-dev xxd pulseaudio-dev pipewire-dev sdl2-dev"
source="cava-$pkgver.tar.gz::https://github.com/karlstav/cava/archive/$pkgver.tar.gz"
prepare() {
default_prepare
- autoreconf -fi
+ ./autogen.sh
}
build() {
@@ -36,5 +35,5 @@ package() {
}
sha512sums="
-7ab230a479f1643e034ad472b1007589d20cc7d977dec067831321c6a9204c2a7ccc174d77035ace4e8a714a660c2f8d93b3a64ed87fe36d364dc5aff1e45756 cava-0.7.4.tar.gz
+8a71628bae6621ef925f5fed94659b07d9220e142c17514bed79e1105a9160494bf3978267c9de3ab6cd2126ece50419fb4245ccf190f3a299fc0cfb111be354 cava-0.10.1.tar.gz
"
diff --git a/testing/cbatticon/APKBUILD b/testing/cbatticon/APKBUILD
deleted file mode 100644
index a444ad72249..00000000000
--- a/testing/cbatticon/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=cbatticon
-pkgver=1.6.10
-pkgrel=0
-pkgdesc="lightweight and fast battery icon that sits in your systray"
-url="https://github.com/valr/cbatticon"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="gtk+3.0-dev libnotify-dev"
-options="!check" # no test suite
-subpackages="$pkgname-doc $pkgname-lang"
-source="$pkgname-$pkgver.tar.gz::https://github.com/valr/cbatticon/archive/refs/tags/$pkgver.tar.gz"
-
-build() {
- make
-}
-
-package() {
- make install DESTDIR=$pkgdir/
-}
-
-sha512sums="
-cf499eb7ac1d775918a7af01700a9e8eeefd9e31a44fd63c9f38bff83945cea9fb21dde960052768f8d0a0c004caeea115f2d80cb3838789859d43e432eae055 cbatticon-1.6.10.tar.gz
-"
diff --git a/testing/ccrtp/APKBUILD b/testing/ccrtp/APKBUILD
new file mode 100644
index 00000000000..69a0d10edca
--- /dev/null
+++ b/testing/ccrtp/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=ccrtp
+pkgver=2.1.2
+pkgrel=0
+pkgdesc="An implementation of RTP, the real-time transport protocol from the IETF"
+url="https://www.gnu.org/software/ccrtp/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="cmake samurai libgcrypt-dev commoncpp-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://ftp.gnu.org/gnu/ccrtp/ccrtp-$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ cmake -G Ninja -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DLIB_VERSION=3.1.0 \
+ -DSOVERSION=3 # ???
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+a835f57a0eef7cba11c55c93ce2f11ebd8ab4099e7c723043c51e4872f3da87af946fc50fac18b47ea5d72b2a1227b377810e9134c1f3a8982d4ce5944d043e9 ccrtp-2.1.2.tar.gz
+"
diff --git a/testing/ccze/APKBUILD b/testing/ccze/APKBUILD
index eb31ba991c1..e14536d4a6e 100644
--- a/testing/ccze/APKBUILD
+++ b/testing/ccze/APKBUILD
@@ -2,18 +2,18 @@
# Maintainer: mcrmonkey <git@manchestermonkey.co.uk>
pkgname=ccze
pkgver=0.2.1
-pkgrel=0
+pkgrel=1
pkgdesc="A fast log colorizer written in C, intended to be a drop-in replacement for colorize (http://colorize.raszi.hu)"
options="!check" # No testsuite
-url="https://github.com/madhouse/ccze"
+url="https://git.madhouse-project.org/archive/ccze"
arch="all"
license="GPL-2.0-only"
makedepends="musl-dev pcre-dev ncurses-dev autoconf automake"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/madhouse/ccze/archive/ccze-$pkgver-2.tar.gz
+source="$pkgname-$pkgver-3.tar.gz::https://git.madhouse-project.org/archive/ccze/archive/ccze-$pkgver-2.tar.gz
001-fix-autoconf.patch
002-fix-error_t.patch"
-builddir="$srcdir/ccze-ccze-$pkgver-2"
+builddir="$srcdir/ccze"
prepare() {
default_prepare
@@ -38,6 +38,8 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b45ae9b0366fa4b0ca37d0aeba66f2fbbe4f6f4f124bfed9828c2324b78092557c64478e15ca592438062d2897b14d6972fc905f72c1a390f9fc8900cfed4436 ccze-0.2.1-2.tar.gz
+sha512sums="
+62b5065fd77f04f879af63806ae32ac11b5205e8570e8c522714cfadf72d4d1a165a1968878c59593709f754a797ea7289d2b9c959fcfaba52f300027a0981bc ccze-0.2.1-3.tar.gz
e869de966de949d270983531c4a2dd7dfcf08e0d9cd390063c128a6316d1f39b1b118bd7c8ad4b589aee468a08d578a5dfdb2c7eeb158926129aaa72fbc8034a 001-fix-autoconf.patch
-2100de615d10ac466fe68f2533436d4c7a37bc599eb43489e208d7c5706a400423adc3d8c46dfe5beb1d5e05e8c6709c6318c133fb8b72c467abaaaba39af544 002-fix-error_t.patch"
+2100de615d10ac466fe68f2533436d4c7a37bc599eb43489e208d7c5706a400423adc3d8c46dfe5beb1d5e05e8c6709c6318c133fb8b72c467abaaaba39af544 002-fix-error_t.patch
+"
diff --git a/testing/cdba/APKBUILD b/testing/cdba/APKBUILD
new file mode 100644
index 00000000000..0bedb12388b
--- /dev/null
+++ b/testing/cdba/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Caleb Connolly <caleb.connolly@linaro.org>
+pkgname=cdba
+pkgver=1.0
+pkgrel=0
+pkgdesc="Tool for remote board access"
+url="https://github.com/linux-msm/cdba"
+arch="all"
+license="BSD-3-Clause"
+subpackages="$pkgname-server"
+makedepends="
+ eudev-dev
+ linux-headers
+ libftdi1-dev
+ libgpiod-dev
+ meson
+ yaml-dev
+"
+source="
+ cdba-v$pkgver.tar.gz::https://github.com/linux-msm/cdba/archive/v$pkgver.tar.gz
+"
+options="!check"
+
+build() {
+ abuild-meson . output \
+ -Dserver=enabled
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+server() {
+ amove usr/bin/cdba-server
+
+ install -Dm644 "$builddir"/shell/README -t \
+ "$subpkgdir"/usr/share/cdba/shell
+ install -Dm644 "$builddir"/shell/cdba-shell -t \
+ "$subpkgdir"/usr/share/cdba/shell
+ install -Dm644 "$builddir"/shell/post-receive -t \
+ "$subpkgdir"/usr/share/cdba/shell
+ install -Dm644 "$builddir"/shell/setup.sh -t \
+ "$subpkgdir"/usr/share/cdba/shell
+ install -Dm644 "$builddir"/shell/update -t \
+ "$subpkgdir"/usr/share/cdba/shell
+}
+
+sha512sums="
+c543034f65e66c59c36f69740478c24502f2c3dbf4d4660cf37a0d06158395030147b923a35f055842358886bee7d2e6369105e67c0032b50e970aa1ff45db16 cdba-v1.0.tar.gz
+"
diff --git a/testing/cddlib/APKBUILD b/testing/cddlib/APKBUILD
new file mode 100644
index 00000000000..f62b195b3a9
--- /dev/null
+++ b/testing/cddlib/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=cddlib
+pkgver=0.94m
+pkgrel=2
+pkgdesc="Library implementing Double Description Method for convex polyhedra"
+url="https://people.inf.ethz.ch/fukudak/cdd_home"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="gmp-dev"
+source="https://github.com/cddlib/cddlib/releases/download/$pkgver/cddlib-$pkgver.tar.gz"
+subpackages="
+ $pkgname-static
+ $pkgname-dev
+ $pkgname-tools:_tools
+ $pkgname-doc
+ "
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+_tools() {
+ pkgdesc="$pkgdesc (utilities)"
+ amove usr/bin
+}
+
+sha512sums="
+50997bda38c36990456345881dc1eac65b1880aa510ea3812ae46a122ba7696bf3577f2b6976ff16811ee00f0a920c8ed6f1e7de0a4060bfaa96def11bab816e cddlib-0.94m.tar.gz
+"
diff --git a/testing/cdist/APKBUILD b/testing/cdist/APKBUILD
index a9e4e6a15c2..625b9bcc29f 100644
--- a/testing/cdist/APKBUILD
+++ b/testing/cdist/APKBUILD
@@ -1,26 +1,31 @@
-# Contributor: Lucas Ramage <ramage.lucas@protonmail.com>
-# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
+# Contributor: Lucas Ramage <lucas.ramage@infinite-omicron.com>
+# Maintainer: Lucas Ramage <lucas.ramage@infinite-omicron.com>
pkgname=cdist
-pkgver=6.9.8
-pkgrel=1
+pkgver=7.0.0
+pkgrel=5
pkgdesc="A Usable Configuration Management System"
-url="https://www.cdi.st/"
+url="https://www.cdi.st"
license="GPL-3.0-or-later"
arch="noarch"
depends="python3"
-source="$pkgname-$pkgver.tar.gz::https://code.ungleich.ch/ungleich-public/cdist/archive/$pkgver.tar.gz
- python3.10-support.patch
- "
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver-1.tar.gz::https://code.ungleich.ch/ungleich-public/cdist/archive/$pkgver.tar.gz"
builddir="$srcdir/cdist"
-options="!check"
-package() {
+build() {
echo "VERSION = \"$pkgver\"" > cdist/version.py
- ./bin/cdist 2> /dev/null
- python3 setup.py build install --root="$pkgdir"
+ python3 setup.py build
+}
+
+check() {
+ python3 -m unittest discover
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-3c78dd5332a5957750948c52c4b27269ada21b07a2fce0d84019b4fcd3b7ddc6221f0179690d1b3af7e685ffafd739e604f50195fbc36a5494a102b2fa1b732b cdist-6.9.8.tar.gz
-7e31022bf62dfe398cc76696fbba0ca05c4330c5ba1eea9381804086bbaa88d3e9a490de112099dc6da232b2ab4bae96a36dcf5d1b798798dba9fe8cf19465eb python3.10-support.patch
+88c6f7ff68c42dc7db37a5df1fa48ee06b1dc505ec78148bc65923dab68c9dbcf302dc2fb7197f43202ffbcb11c3a82b7303398a805b445f18e43b6fec30c813 cdist-7.0.0-1.tar.gz
"
diff --git a/testing/cdist/python3.10-support.patch b/testing/cdist/python3.10-support.patch
deleted file mode 100644
index b8551b9bbe7..00000000000
--- a/testing/cdist/python3.10-support.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Patch-Source: https://code.ungleich.ch/ungleich-public/cdist/commit/3a321469a8ba5aea55220bd70bd4900de732e917
-
-From 3a321469a8ba5aea55220bd70bd4900de732e917 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timoth=C3=A9e=20Floure?= <timothee.floure@posteo.net>
-Date: Tue, 16 Nov 2021 11:11:45 +0100
-Subject: [PATCH] Python 3.10: collections.X -> collections.abc.X
-
----
- cdist/integration.py | 2 +-
- cdist/util/fsproperty.py | 4 ++--
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/cdist/integration.py b/cdist/integration.py
-index 17b65f09..04470ea7 100644
---- a/cdist/integration.py
-+++ b/cdist/integration.py
-@@ -84,7 +84,7 @@ def _process_hosts_simple(action, host, manifest, verbose,
- """
- if isinstance(host, str):
- hosts = [host, ]
-- elif isinstance(host, collections.Iterable):
-+ elif isinstance(host, collections.abc.Iterable):
- hosts = host
- else:
- raise cdist.Error('Invalid host argument: {}'.format(host))
-diff --git a/cdist/util/fsproperty.py b/cdist/util/fsproperty.py
-index 09e9cc19..6bf935e8 100644
---- a/cdist/util/fsproperty.py
-+++ b/cdist/util/fsproperty.py
-@@ -33,7 +33,7 @@ class AbsolutePathRequiredError(cdist.Error):
- return 'Absolute path required, got: {}'.format(self.path)
-
-
--class FileList(collections.MutableSequence):
-+class FileList(collections.abc.MutableSequence):
- """A list that stores it's state in a file.
-
- """
-@@ -102,7 +102,7 @@ class FileList(collections.MutableSequence):
- self.__write(lines)
-
-
--class DirectoryDict(collections.MutableMapping):
-+class DirectoryDict(collections.abc.MutableMapping):
- """A dict that stores it's items as files in a directory.
-
- """
diff --git a/testing/cdogs-sdl/APKBUILD b/testing/cdogs-sdl/APKBUILD
index 965bcc9617c..1f6dab8adee 100644
--- a/testing/cdogs-sdl/APKBUILD
+++ b/testing/cdogs-sdl/APKBUILD
@@ -1,28 +1,42 @@
# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=cdogs-sdl
-pkgver=0.7.3
-pkgrel=1
+pkgver=2.1.0
+pkgrel=0
pkgdesc="Classic overhead run-and-gun game"
url="https://cxong.github.io/cdogs-sdl/"
arch="all"
-license="GPL-1.0-only"
-makedepends="cmake sdl2_image-dev sdl2-dev sdl2_mixer-dev mesa-dev"
+license="GPL-2.0-or-later AND BSD-2-Clause"
+makedepends="
+ cmake
+ gtk+3.0-dev
+ mesa-dev
+ samurai
+ sdl2-dev
+ sdl2_image-dev
+ sdl2_mixer-dev
+ "
options="!check" #make check not implemented
-source="$pkgname-$pkgver.tar.gz::https://github.com/cxong/cdogs-sdl/archive/$pkgver.tar.gz"
-
-# Fix build with recent GCC
-export CFLAGS="$CFLAGS -Wno-error=inline -fcommon"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cxong/cdogs-sdl/archive/$pkgver.tar.gz
+ no-werror.patch
+ "
build() {
- cmake CMakeLists.txt \
- -DCMAKE_INSTALL_PREFIX=/usr \
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr/share/cdogs-sdl/ \
-DCDOGS_DATA_DIR=/usr/share/cdogs-sdl/ \
- -DCMAKE_BUILD_TYPE=None
- make
+ -DCMAKE_BUILD_TYPE=None \
+ -Wno-dev
+ cmake --build build
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
+ mv "$pkgdir"/usr/share/cdogs-sdl/bin/ "$pkgdir"/usr/bin/
+ mv "$pkgdir"/usr/share/cdogs-sdl/share/* "$pkgdir"/usr/share/
}
-sha512sums="9f144a01aac60a9ebd62490e6cf0767d54464557c00233b03a0d6641a9c031e57eccf2cb27033127f197c5da836e974756d8f4b9c537419d2161036c9f87e2fa cdogs-sdl-0.7.3.tar.gz"
+
+sha512sums="
+92b82a94cd73c7e33e141878db6ee71ca1e164a41c79e0c575aa02f4121506496e2e8e6bbef1eb239c7b145b90c0a49c3f31f4cc6d8817f75e91f5554b6d6d05 cdogs-sdl-2.1.0.tar.gz
+d4eedbfe425d659ee3fff0203f2dd49640da394db895964416ea86a98f601ee8136ac129f1c3c48b9bd525bf5e34854a861bfc881fb997ae7c61a01227137a89 no-werror.patch
+"
diff --git a/testing/cdogs-sdl/no-werror.patch b/testing/cdogs-sdl/no-werror.patch
new file mode 100644
index 00000000000..66ef6681bf7
--- /dev/null
+++ b/testing/cdogs-sdl/no-werror.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8c4a2d1..4fe06b7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -132,7 +132,7 @@ else()
+ endif()
+ endif()
+ if(NOT BEOS AND NOT HAIKU)
+- add_definitions(-Winline -Werror)
++ add_definitions(-Winline)
+ set(EXTRA_LIBRARIES "m")
+ endif()
+ endif()
diff --git a/testing/celery/APKBUILD b/testing/celery/APKBUILD
deleted file mode 100644
index ba6faa5e699..00000000000
--- a/testing/celery/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=celery
-pkgver=4.4.6
-pkgrel=2
-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-urllib3 py3-redis py3-vine py3-kombu py3-billiard py3-tz"
-makedepends="python3-dev py3-setuptools"
-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"
-provides="py3-celery"
-
-# TODO: requires many many many dependencies
-options="!check"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- install -dm755 "$pkgdir/$confdir"
- install -dm755 "$pkgdir/$confdir/conf.d"
-
- # 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 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-check() {
- python3 setup.py test
-}
-
-sha512sums="22c854bfb0526c1cb179696f5fe89b4c2da804fd2bf4758dd4f98da1decce7bf11f5780f9b2458cacc37b38efe62088fe20101e6f1e5bf6e48f6df0fe9f5eeea celery-4.4.6.tar.gz
-f9458bce0d8990de646df564bec96baa0e45867f44e41380d38520905e00c941b1ce261314bb78edaa14c591e0aa9386d24c58a61f69fb0fecc616c34a24dea1 celery.confd
-ff8c0451efa7157fd61f2335f4187bef6cbdd51856c7cfad4de02244c6c5ca7c584f9108731b52f020fee866365d9f092ded266c90d13cb34e92a7ffb63fed57 celery.initd"
diff --git a/testing/celery/celery.confd b/testing/celery/celery.confd
deleted file mode 100644
index 664ec4a84df..00000000000
--- a/testing/celery/celery.confd
+++ /dev/null
@@ -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 -B --loglevel=info $CELERY_REDIR"
diff --git a/testing/celery/celery.initd b/testing/celery/celery.initd
deleted file mode 100644
index 0d45cc98c33..00000000000
--- a/testing/celery/celery.initd
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-
-description="celery queue worker"
-
-: ${CELERY_USER:="celery"}
-: ${CELERY_GROUP:="$(id -gn $LS_USER)"}
-
-pidfile="/run/$RC_SVCNAME.sd.pid"
-supervise_daemon_args="-u $CELERY_USER -g $CELERY_GROUP -p $pidfile"
-command=/usr/bin/celery
-command_args="${CELERY_OPTS}"
-
-depends() {
- use net
-}
diff --git a/testing/celery/celery.pre-install b/testing/celery/celery.pre-install
deleted file mode 100644
index 05ba0f501a3..00000000000
--- a/testing/celery/celery.pre-install
+++ /dev/null
@@ -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
-
diff --git a/testing/cemu/APKBUILD b/testing/cemu/APKBUILD
new file mode 100644
index 00000000000..b1f9feccf8d
--- /dev/null
+++ b/testing/cemu/APKBUILD
@@ -0,0 +1,107 @@
+# Contributor: Joshua Murphy <joshuamurphy@posteo.net>
+# Maintainer: Joshua Murphy <joshuamurphy@posteo.net>
+pkgname=cemu
+pkgver=2.0.61
+_pkgver=2.0-61
+pkgrel=0
+_cubeb=2071354a69aca7ed6df3b4222e305746c2113f60
+_imgui=f65bcf481ab34cd07d3909aab1479f409fa79f2f
+pkgdesc="Wii U Emulator"
+url="https://cemu.info"
+arch="x86_64"
+license="MPL-2.0"
+makedepends="
+ boost-dev
+ clang
+ cmake
+ curl-dev
+ fmt-dev
+ glm-dev
+ glslang-dev
+ glslang-static
+ gtk+3.0-dev
+ hidapi-dev
+ libpng-dev
+ libucontext-dev
+ libusb-dev
+ libzip-dev
+ lld
+ llvm
+ mesa-dev
+ nasm
+ openssl-dev
+ pugixml-dev
+ pulseaudio-dev
+ rapidjson-dev
+ samurai
+ sdl2-dev
+ speexdsp-dev
+ vulkan-loader-dev
+ wayland-dev
+ wxwidgets-dev
+ zarchive-dev
+ zlib-dev
+ zstd-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$_pkgver.tar.gz::https://github.com/cemu-project/Cemu/archive/v$_pkgver.tar.gz
+ cubeb-$_cubeb.tar.gz::https://github.com/mozilla/cubeb/archive/$_cubeb.tar.gz
+ imgui-$_imgui.tar.gz::https://github.com/ocornut/imgui/archive/$_imgui.tar.gz
+ cmake-fixes.patch
+ execinfo.patch
+ "
+builddir="$srcdir/Cemu-$_pkgver"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+
+ rmdir dependencies/cubeb
+ rmdir dependencies/imgui
+
+ ln -sfv "$srcdir"/cubeb-$_cubeb dependencies/cubeb
+ ln -sfv "$srcdir"/imgui-$_imgui dependencies/imgui
+}
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ export CC=clang
+ export CXX=clang++
+ export LDFLAGS="$LDFLAGS -fuse-ld=lld -lucontext"
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DENABLE_DISCORD_RPC=OFF \
+ -DENABLE_VCPKG=OFF \
+ -DPORTABLE=OFF \
+ -DUSE_SANITIZERS=OFF \
+ $crossopts
+ cmake --build build
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/lib/
+ cp -a bin/ "$pkgdir"/usr/lib/cemu
+
+ install -Dm755 /dev/stdin "$pkgdir"/usr/bin/cemu <<- EOF
+ #!/bin/sh
+ exec /usr/lib/cemu/Cemu_release "\$@"
+ EOF
+}
+
+lang() {
+ pkgdesc="Translations for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel lang"
+
+ amove usr/lib/cemu/resources/??
+}
+
+sha512sums="
+573b9795201066a6a1375095f586d08df1c01c8be609a638d1c3164c99e73468357199912079c8099608716bd631dc609bf86a12528eaf72bdbafb4a70caf0ff cemu-2.0-61.tar.gz
+64a25d58f6a842947ac8ee1125574fc6a34b261e97a11a9fcdf27cccaf35dad49f12f3f2d8abb1e057932059629c3e568421cf2c09b064d76de21c1a8d8542a3 cubeb-2071354a69aca7ed6df3b4222e305746c2113f60.tar.gz
+6e5bbede4435bd7248ae426eed519d702c5770ac211d2cf18c4b9f9fa7e83b901e4f80662c0f39e1d688bc3eaf674dd21c9d3e42e7324e5ab9bc16af67c13429 imgui-f65bcf481ab34cd07d3909aab1479f409fa79f2f.tar.gz
+79d1fd6c733094a50e11622ec611cd06ca609bb088210ba00534f846209dc7f1f09f8308ba0c04f60b37871218155dd1865df290ecffdc4275d6c5c703da6e6a cmake-fixes.patch
+0467091365c2cdb475bb6034115be4998af71803e351e5fdf7591a640eb328a22c7cc27c2760096410e2fd597989e6986e3fb6fceb91acde5ea47cdf9ba2bce6 execinfo.patch
+"
diff --git a/testing/cemu/cmake-fixes.patch b/testing/cemu/cmake-fixes.patch
new file mode 100644
index 00000000000..f7e96a4bbbc
--- /dev/null
+++ b/testing/cemu/cmake-fixes.patch
@@ -0,0 +1,21 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c988508..d2fa47d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -120,6 +120,8 @@ endif ()
+
+ option(ENABLE_WXWIDGETS "Build with wxWidgets UI (Currently required)" ON)
+
++find_package(PkgConfig REQUIRED)
++
+ set(THREADS_PREFER_PTHREAD_FLAG true)
+ find_package(Threads REQUIRED)
+ find_package(SDL2 REQUIRED)
+@@ -135,6 +137,7 @@ find_package(OpenSSL COMPONENTS Crypto SSL REQUIRED)
+ find_package(glm REQUIRED)
+ find_package(fmt 9 REQUIRED)
+ find_package(PNG REQUIRED)
++pkg_check_modules(EGL REQUIRED egl IMPORTED_TARGET GLOBAL)
+
+ # glslang versions older than 11.11.0 define targets without a namespace
+ if (NOT TARGET glslang::SPIRV AND TARGET SPIRV)
diff --git a/testing/cemu/execinfo.patch b/testing/cemu/execinfo.patch
new file mode 100644
index 00000000000..5c2dc0fbdbb
--- /dev/null
+++ b/testing/cemu/execinfo.patch
@@ -0,0 +1,42 @@
+diff --git a/src/Common/ExceptionHandler/ExceptionHandler_posix.cpp b/src/Common/ExceptionHandler/ExceptionHandler_posix.cpp
+index 34430e3..35df995 100644
+--- a/src/Common/ExceptionHandler/ExceptionHandler_posix.cpp
++++ b/src/Common/ExceptionHandler/ExceptionHandler_posix.cpp
+@@ -1,5 +1,5 @@
+ #include <signal.h>
+-#include <execinfo.h>
++//#include <execinfo.h>
+ #include <string.h>
+ #include <string>
+ #include "config/CemuConfig.h"
+@@ -76,10 +76,10 @@ void handlerDumpingSignal(int sig, siginfo_t *info, void *context)
+ }
+
+ void* backtraceArray[128];
+- size_t size;
++ size_t size = 0;
+
+ // get void*'s for all entries on the stack
+- size = backtrace(backtraceArray, 128);
++ //size = backtrace(backtraceArray, 128);
+ // replace the deepest entry with the actual crash address
+ #if defined(ARCH_X86_64) && BOOST_OS_LINUX > 0
+ ucontext_t *uc = (ucontext_t *)context;
+@@ -89,7 +89,7 @@ void handlerDumpingSignal(int sig, siginfo_t *info, void *context)
+ CrashLog_WriteLine(fmt::format("Error: signal {}:", sig));
+
+ #if BOOST_OS_LINUX
+- char** symbol_trace = backtrace_symbols(backtraceArray, size);
++ char** symbol_trace = NULL;
+
+ if (symbol_trace)
+ {
+@@ -98,7 +98,7 @@ void handlerDumpingSignal(int sig, siginfo_t *info, void *context)
+ }
+ else
+ {
+- CrashLog_WriteLine("Failed to read backtrace");
++ CrashLog_WriteLine("No backtraces");
+ }
+ #else
+ backtrace_symbols_fd(backtraceArray, size, STDERR_FILENO);
diff --git a/testing/certbot-dns-njalla/APKBUILD b/testing/certbot-dns-njalla/APKBUILD
new file mode 100644
index 00000000000..dbcd2e85b09
--- /dev/null
+++ b/testing/certbot-dns-njalla/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Nulo <git@nulo.in>
+# Maintainer: Nulo <git@nulo.in>
+pkgname=certbot-dns-njalla
+pkgver=1.0.2
+pkgrel=2
+pkgdesc="Certbot plugin for using the Njalla DNS API"
+url="https://github.com/chaptergy/certbot-dns-njalla"
+# options="!check" # TODO: enable tests
+arch="noarch"
+license="Apache-2.0"
+depends="
+ certbot
+ py3-acme
+ py3-dns-lexicon
+ py3-dnspython
+ "
+makedepends="py3-setuptools"
+checkdepends="
+ py3-mock
+ py3-requests
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/chaptergy/certbot-dns-njalla/archive/v$pkgver.tar.gz"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python -m unittest discover -p '*_test.py'
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+91223a70bf9f097f5b2f1cd75ce79626dfcb760e3b3146c31d701df4f63e2cfefc83368b4c5b6151415a443108adf2a653e3f38b5eeac859a6f93feb9ecb42c0 certbot-dns-njalla-1.0.2.tar.gz
+"
diff --git a/testing/certigo/APKBUILD b/testing/certigo/APKBUILD
new file mode 100644
index 00000000000..a52f17fcaab
--- /dev/null
+++ b/testing/certigo/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=certigo
+pkgver=1.16.0
+pkgrel=15
+pkgdesc="Utility to examine and validate certificates in a variety of formats"
+url="https://github.com/square/certigo"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/square/certigo/archive/v$pkgver/v$pkgver.tar.gz"
+options="chmod-clean"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -trimpath
+}
+
+check() {
+ go test -v ./...
+}
+
+package() {
+ install -Dm755 certigo "$pkgdir"/usr/bin/certigo
+}
+
+sha512sums="
+036f05004d242714ad50d4e8ce2a55d922d1bcb248a3bfcc2a153ca7dfbb12a521ed18bb269a6aebb9754fc69198664544da7fb0bb3b438b70373e2e7bd2e14a certigo-1.16.0.tar.gz
+"
diff --git a/testing/certstrap/APKBUILD b/testing/certstrap/APKBUILD
new file mode 100644
index 00000000000..78ebe02c1ac
--- /dev/null
+++ b/testing/certstrap/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=certstrap
+pkgver=1.3.0
+pkgrel=15
+pkgdesc="Tools to bootstrap CAs, certificate requests, and signed certificates"
+url="https://github.com/square/certstrap"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/square/certstrap/archive/v$pkgver/v$pkgver.tar.gz"
+options="chmod-clean"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -trimpath
+}
+
+check() {
+ # Fix GO 1.18 compatibility
+ # https://github.com/golang/go/issues/41682
+ # SHA1 support will be removed in GO 1.19
+ export GODEBUG=x509sha1=1
+ # Certificates have expired on 13 Mar 2024
+ go test -v -skip 'TestCertificateAuthority|TestCertificateVerify' ./...
+}
+
+package() {
+ install -Dm755 certstrap "$pkgdir"/usr/bin/certstrap
+}
+
+sha512sums="
+f3ef9fb9e581acb028f447ac2e2b924a27d6c652d3be30a1df310f7bfde2c8cc40f5ad0fdba0396fbc6bb332c24853aeedee78a00d5217ca02007130e26c5455 certstrap-1.3.0.tar.gz
+"
diff --git a/testing/cfssl/APKBUILD b/testing/cfssl/APKBUILD
index 1b155d8009d..2cf11ff1d73 100644
--- a/testing/cfssl/APKBUILD
+++ b/testing/cfssl/APKBUILD
@@ -1,22 +1,24 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=cfssl
-pkgver=1.6.1
-pkgrel=3
+pkgver=1.6.4
+pkgrel=6
pkgdesc="Cloudflare PKI and TLS toolkit"
url="https://cfssl.org/"
license="BSD-2-Clause"
arch="all !riscv64" # FTBFS
options="!check" # TODO: fix and enable tests
-makedepends="go"
+makedepends="go sqlite-dev"
source="https://github.com/cloudflare/cfssl/archive/v$pkgver/cfssl-$pkgver.tar.gz"
-export GOPATH="$srcdir"
-export GOFLAGS="$GOFLAGS -trimpath -modcacherw -mod=vendor"
+export GOFLAGS="$GOFLAGS -trimpath -modcacherw -mod=vendor -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build \
- -ldflags="-s -w -X github.com/cloudflare/cfssl/cli/version.version=$pkgver" \
+ -ldflags="-X github.com/cloudflare/cfssl/cli/version.version=$pkgver" \
-v -o bin/ ./cmd/...
}
@@ -25,9 +27,9 @@ check() {
}
package() {
- install -Dm755 -t "$pkgdir"/usr/bin bin/*
+ install -Dm755 bin/* -t "$pkgdir"/usr/bin/
}
sha512sums="
-50b117364e32f9a1377e3760c9466deb9ac64efdaef77ce122b3f08245ef82b8403d8ebb03398069b8d1513916c84da3ec8f914fdb324eb2e15d235aabfebdb8 cfssl-1.6.1.tar.gz
+6327d15dda24bf072958c74f4cd0bf1aa4023f935bb24da7f5655739992970fa777f6771603dd3a6edfee6cd2ed418a2fef335f7209ce88cf07674d592c3110f cfssl-1.6.4.tar.gz
"
diff --git a/testing/cgal/APKBUILD b/testing/cgal/APKBUILD
deleted file mode 100644
index 90f7d5aafc7..00000000000
--- a/testing/cgal/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=cgal
-pkgver=4.14
-pkgrel=6
-pkgdesc="Efficient and reliable geometric algorithms as C++ library"
-url="https://www.cgal.org/"
-arch="all"
-license="GPL-3.0-or-later custom" # Dual licensed under GPL-3.0+ and commercial
-subpackages="$pkgname-dev $pkgname-doc"
-makedepends="mpfr-dev gmp-dev mesa-dev glu-dev boost-dev cmake zlib-dev"
-source="https://github.com/CGAL/cgal/releases/download/releases%2FCGAL-$pkgver/CGAL-$pkgver.tar.xz"
-builddir="$srcdir/CGAL-$pkgver"
-# Citing from.https://github.com/CGAL/cgal/wiki/Testing#test-suite-directory
-# > The test/ directory is not part of external releases.
-options="!check"
-
-build() {
- mkdir -p build
- cd build
- cmake ../ -DCMAKE_BUILD_TYPE=None -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib
- make
-}
-
-package() {
- cd build
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="1f22da098a136c26fd51c7ac401212865dce7cc5110ca6a083ef6f09ead5c03a002bfd16752cb298427b84bd5b4900b52c6514f97ccd0e199ffb28e9fe640c43 CGAL-4.14.tar.xz"
diff --git a/testing/cgiirc/APKBUILD b/testing/cgiirc/APKBUILD
index 48f47141935..8dd72832c53 100644
--- a/testing/cgiirc/APKBUILD
+++ b/testing/cgiirc/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=cgiirc
pkgver=0.5.12
-pkgrel=0
+pkgrel=1
pkgdesc="A perl/CGI program to use IRC from a web browser"
url="http://cgiirc.org/"
arch="all"
diff --git a/testing/cgiirc/cgiirc.post-install b/testing/cgiirc/cgiirc.post-install
index f6907c64c5f..8fc4cab7c0d 100644
--- a/testing/cgiirc/cgiirc.post-install
+++ b/testing/cgiirc/cgiirc.post-install
@@ -1,23 +1,26 @@
#!/bin/sh
-echo "*" >&2
-echo "* CGI:IRC has been installed to:" >&2
-echo "* /usr/share/webapps/cgiirc" >&2
-echo "* An config file has been installed to:" >&2
-echo "* /etc/cgiirc/cgiirc.config" >&2
-echo "* If you use lighttpd:" >&2
-echo "* 1) Enable mod_cgi from lighttpd.conf and modify it adding in cgi.assign section:" >&2
-echo "* cgi.assign = ( " >&2
-echo "* ".pl" => "/usr/bin/perl", " >&2
-echo "* ".cgi" => "/usr/bin/perl", " >&2
-echo "* " >&2
-echo "* ) " >&2
-echo "* 2) Create a symlink to /usr/share/webapps/cgiirc:" >&2
-echo "* ln -s /usr/share/webapps/cgiirc /var/www/localhost/htdocs/cgi-bin" >&2
-echo "* This is needed because lighttpd mod_cgi matches cgi-bin dir in order to allow exec cgi." >&2
-echo "* " >&2
-echo "* 3) Restart lighttpd when done." >&2
-echo "* " >&2
-echo "* 4) Go with your browser in http://your.ip.address/cgi-bin/irc.cgi" >&2
-echo "*" >&2
+cat >&2 <<EOF
+*
+* CGI:IRC has been installed to:
+* /usr/share/webapps/cgiirc
+* An config file has been installed to:
+* /etc/cgiirc/cgiirc.config
+* If you use lighttpd:
+* 1) Enable mod_cgi from lighttpd.conf and modify it adding in cgi.assign section:
+* cgi.assign = (
+* ".pl" => "/usr/bin/perl",
+* ".cgi" => "/usr/bin/perl",
+*
+* )
+* 2) Create a symlink to /usr/share/webapps/cgiirc:
+* ln -s /usr/share/webapps/cgiirc /var/www/localhost/htdocs/cgi-bin
+* This is needed because lighttpd mod_cgi matches cgi-bin dir in order to allow exec cgi.
+*
+* 3) Restart lighttpd when done.
+*
+* 4) Go with your browser in http://your.ip.address/cgi-bin/irc.cgi
+*
+EOF
+
exit 0
diff --git a/testing/cglm/APKBUILD b/testing/cglm/APKBUILD
deleted file mode 100644
index f1345151ce2..00000000000
--- a/testing/cglm/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Leon Marz <main@lmarz.org>
-# Maintainer: Leon Marz <main@lmarz.org>
-pkgname=cglm
-pkgver=0.8.4
-pkgrel=0
-pkgdesc="Highly Optimized Graphics Math (glm) for C"
-url="https://github.com/recp/cglm"
-arch="all"
-license="MIT"
-makedepends="autoconf automake libtool py3-sphinx py3-sphinx_rtd_theme"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/recp/cglm/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- sh autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
- make
- cd "docs"
- sphinx-build source build
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir/usr/share/doc/cglm"
- cp -a docs/build "$pkgdir/usr/share/doc/cglm"
-}
-
-sha512sums="
-507875119eac77cb3f60fe2353cd92b39f50605fdbf68f56d27b7062b7ec6b1cadd868f70c059ebde17adaf4a9167e5082c0151f1af5b0a5e751864a1eca1fa8 cglm-0.8.4.tar.gz
-"
diff --git a/testing/cgo/APKBUILD b/testing/cgo/APKBUILD
index 5893b8eb184..107a941b9ea 100644
--- a/testing/cgo/APKBUILD
+++ b/testing/cgo/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: KikooDX <kikoodx@paranoici.org>
pkgname=cgo
pkgver=0.6.1
-pkgrel=0
+pkgrel=1
pkgdesc="Simple terminal gopher client"
url="https://github.com/kieselsteini/cgo"
arch="all"
license="0BSD"
subpackages="$pkgname-doc"
options="!check" # there is no test suite
-source="$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kieselsteini/cgo/archive/refs/tags/v$pkgver.tar.gz"
build() {
make
diff --git a/testing/chamo/APKBUILD b/testing/chamo/APKBUILD
new file mode 100644
index 00000000000..f0c1ba93dae
--- /dev/null
+++ b/testing/chamo/APKBUILD
@@ -0,0 +1,70 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer:
+pkgname=chamo
+pkgver=3.0
+pkgrel=1
+pkgdesc="Emacs-inspired text editor written in and configurable with OCaml"
+url="https://zoggy.frama.io/chamo"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-3.0-only"
+# lablgtk3-sourceview3 is bundled together in ocaml-lablgtk3
+depends_dev="
+ ocaml-lablgtk3-dev
+ ocaml-lablgtk3-extras-dev
+ ocaml-logs-dev
+ ocaml-lwt-dev
+ ocaml-lwt_ppx-dev
+ ocaml-ocf-dev
+ ocaml-pcre-dev
+ ocaml-sedlex-dev
+ ocaml-uutf-dev
+ ocaml-xmlm-dev
+ "
+makedepends="
+ $depends_dev
+ gnu-libiconv
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-ocamldoc
+ "
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://framagit.org/zoggy/chamo/-/archive/$pkgver/chamo-$pkgver.tar.bz2"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export ICONV=/usr/bin/gnu-iconv
+ ./configure --prefix /usr
+ make -j1 all
+}
+
+package() {
+ export OCAMLFIND_DESTDIR="$pkgdir/$_ocamldir"
+ export OCAMLFIND_LDCONF=ignore
+ mkdir -vp "$OCAMLFIND_DESTDIR"
+
+ local pkgdirshare="$pkgdir"/usr/share/chamo3
+ make GLADEDIR="$pkgdirshare"/glade \
+ PIXMAPSDIR="$pkgdirshare"/pixmaps install
+
+ local chamobinary="$OCAMLFIND_DESTDIR"/chamo3/chamo
+ install -Dv $chamobinary -t "$pkgdir"/usr/bin/
+ rm -v $chamobinary
+}
+
+dev() {
+ depends="$depends_dev ocaml-runtime"
+ pkgdesc="$pkgdesc (development files)"
+
+ amove $_ocamldir
+}
+
+sha512sums="
+f5d2980bf67c5e8b98dd8e0d8eaa7fdf96c762c2bc5907d7eba3737978d27dfff76a37cea29d1470a78b77aa0114655a65c723d4eeebad8198d23703294d724d chamo-3.0.tar.bz2
+"
diff --git a/testing/charls/APKBUILD b/testing/charls/APKBUILD
new file mode 100644
index 00000000000..9ce25d5d3bd
--- /dev/null
+++ b/testing/charls/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
+# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
+pkgname=charls
+pkgver=2.4.2
+pkgrel=0
+pkgdesc="Optimized implementation of the JPEG-LS standard for lossless and near-lossless image compression"
+url="https://github.com/team-charls/charls"
+arch="all"
+license="BSD-3-Clause"
+makedepends="cmake samurai"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/team-charls/charls/archive/$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+check() {
+ # The testprogram requires "Press any key + 'enter' to exit program"
+ echo "end\n" | ./build/test/charlstest -unittest
+}
+
+sha512sums="
+4f1b587f008956ab6fb9d2473c37a7b1a842633113245be7f8bb29b8c64304a6d580a29fcfca97ba1ac75adedbaf89e29adc4ac9e4117e1af1aa5949dbd34df9 charls-2.4.2.tar.gz
+"
diff --git a/testing/checkpolicy/APKBUILD b/testing/checkpolicy/APKBUILD
index ca91397bc1e..47cfd2f1bb3 100644
--- a/testing/checkpolicy/APKBUILD
+++ b/testing/checkpolicy/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Tycho Andersen <tycho@docker.com>
pkgname=checkpolicy
-pkgver=2.8
+pkgver=3.6
pkgrel=0
pkgdesc="SELinux policy checker"
url="https://selinuxproject.org/"
@@ -12,18 +12,17 @@ source="https://github.com/SELinuxProject/selinux/archive/checkpolicy-$pkgver.ta
builddir="$srcdir/selinux-checkpolicy-$pkgver/checkpolicy"
build() {
- cd "$builddir"
make CFLAGS="$CFLAGS -fcommon"
}
check() {
- cd "$builddir"
make test
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="67d88c049ef069a73bfc2663b0049d178dd43b0a3b5ca65716793d5f5bf992082aea4d4261d9d3fa0f9ab2dec3fc042c6f9917bceea40007332f9ac74f5bdb32 checkpolicy-2.8.tar.gz"
+sha512sums="
+a47db91c1277026ff724c6ec50500552e97c77fa63c8df30a0a8e7dce39d9f39b82fef84bd9fd2841ff6a608d2921296ff0e0e4992de53a414163e04ff51733f checkpolicy-3.6.tar.gz
+"
diff --git a/testing/chelf/APKBUILD b/testing/chelf/APKBUILD
deleted file mode 100644
index 05692c671b3..00000000000
--- a/testing/chelf/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: A. Wilcox <awilfox@adelielinux.org>
-# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
-pkgname=chelf
-pkgver=0.2.2
-pkgrel=0
-pkgdesc="Display or change the stack size of an ELF binary"
-url=" "
-arch="all"
-options="!check" # No test suite.
-license="BSD-2-Clause"
-depends=""
-makedepends=""
-subpackages=""
-source="$pkgname-$pkgver.tar.xz::https://distfiles.adelielinux.org/source/$pkgname-$pkgver.txz"
-
-build() {
- make
-}
-
-package() {
- install -D -m755 chelf "$pkgdir"/usr/bin/chelf
-}
-
-sha512sums="bf29f0f526ca1977e0d0743901f6afeb23b2dd78b60618ea65201ea95000832854250f44de6e7625b6d546cace4638be094989cdb96b4e842285ef85718c0082 chelf-0.2.2.tar.xz"
diff --git a/testing/cherrytree/APKBUILD b/testing/cherrytree/APKBUILD
index 13537a21f8e..642f2c005fa 100644
--- a/testing/cherrytree/APKBUILD
+++ b/testing/cherrytree/APKBUILD
@@ -1,30 +1,36 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=cherrytree
-pkgver=0.99.30
-pkgrel=1
+pkgver=1.1.2
+pkgrel=0
pkgdesc="hierarchical note taking application featuring rich text and syntax highlighting"
url="https://github.com/giuspen/cherrytree"
license="GPL-3.0-or-later"
-# mips64, s390x: libxml++2.6 missing
-arch="all !mips64 !s390x"
-makedepends="cmake gtkmm3-dev gtksourceviewmm3-dev gspell-dev libxml++-2.6-dev
- sqlite-dev curl-dev uchardet-dev fmt-dev spdlog-dev python3"
+# s390x: libxml++2.6 missing
+arch="all !s390x"
+makedepends="
+ cmake
+ curl-dev
+ fmt-dev
+ gspell-dev
+ gtkmm3-dev
+ gtksourceviewmm3-dev
+ libxml++-2.6-dev
+ python3
+ samurai
+ spdlog-dev
+ sqlite-dev
+ uchardet-dev
+ vte3-dev
+ "
checkdepends="xvfb-run"
subpackages="$pkgname-doc $pkgname-lang"
-source="https://github.com/giuspen/cherrytree/releases/download/$pkgver/cherrytree_$pkgver.tar.xz
- fmt8.patch"
+source="https://github.com/giuspen/cherrytree/releases/download/v$pkgver/cherrytree_$pkgver.tar.xz"
builddir="$srcdir/${pkgname}_$pkgver"
-# Test #19: MiscUtilsGroup.ThreadSafeDEQueue_2 Subprocess aborted***Exception
-case "$CARCH" in
- armhf|armv7|s390x|x86) options="!check" ;;
- riscv64) options="textrels" ;;
-esac
-
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_TESTING=ON \
@@ -34,18 +40,29 @@ build() {
}
check() {
- # Skip broken ms_clip_convert test:
- # ms_clip_convert: ***Exception: SegFault
- cd build && xvfb-run ctest -E ClipboardGroup.ms_clip_convert
+ # Skip broken ExportsMultipleParametersTests.ChecksExports tests
+ #
+ # (run_tests_with_x_1:7077): Gtk-WARNING **: 04:05:18.849:
+ # Found an icon but could not load it. Most likely gdk-pixbuf does not
+ # provide SVG support.
+ #
+ # [ FAILED ] ExportsTests/ExportsMultipleParametersTests.ChecksExports
+ # /testing/cherrytree/src/cherrytree_0.99.44/tests/data_данные
+ # /test_документ.ctb", "--export_to_html_dir")
+ xvfb-run -a ctest --test-dir build -j $JOBS --output-on-failure \
+ -E ExportsMultipleParametersTests.ChecksExports
}
package() {
DESTDIR="$pkgdir" cmake --build build --target install
- # Remove test files
- rm -rv $pkgdir/usr/include $pkgdir/usr/lib
+
+ # Remove gmock/gtest files
+ rm -rv "$pkgdir"/usr/include "$pkgdir"/usr/lib
+
+ # bundled breeze-icons
+ rm -rv "$pkgdir"/usr/share/cherrytree/icons
}
sha512sums="
-949308a5a1eb2ee722d5f4cc530735b597d6caf1f04c4858903260a8c5eedbdc8431e1988516bb5b4fd425c171bbaa332293d741f0a8e594f6c0276468d2ee22 cherrytree_0.99.30.tar.xz
-edb07386e90acd4be2bae8926c754066f663e5728a7cd900bd3bbf0ac9ee16461a9138d1ae759980c73f5341efb619fb1dc866132c47c505b45fe1e614767604 fmt8.patch
+39d1e765e3a644966a5571580baf7cd33b2ac65a05efebd31bfe7a6b037359f880309806d95e240d78a3f21dd312b7b4decdcd5cc5e50b48935ea3643a9dcf7e cherrytree_1.1.2.tar.xz
"
diff --git a/testing/cherrytree/fmt8.patch b/testing/cherrytree/fmt8.patch
deleted file mode 100644
index eb23fa4ac17..00000000000
--- a/testing/cherrytree/fmt8.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/ct/ct_actions_others.cc b/src/ct/ct_actions_others.cc
-index 79357e67..fc97d562 100644
---- a/src/ct/ct_actions_others.cc
-+++ b/src/ct/ct_actions_others.cc
-@@ -284,7 +284,7 @@ void CtActions::link_clicked(const Glib::ustring& tag_property_value, bool from_
- Glib::ustring clean_weblink = str::replace(link_entry.webs, "amp;", "");
- if (_pCtMainWin->get_ct_config()->weblinkCustomOn)
- {
-- std::string cmd = fmt::sprintf(_pCtMainWin->get_ct_config()->weblinkCustomAct, clean_weblink);
-+ std::string cmd = fmt::sprintf(_pCtMainWin->get_ct_config()->weblinkCustomAct, clean_weblink.raw());
- int retr = std::system(cmd.c_str());
- if (retr == -1) {
- // Internal std::system error
diff --git a/testing/chez-scheme/64bit-ti3le-constant.patch b/testing/chez-scheme/64bit-ti3le-constant.patch
deleted file mode 100644
index e9d739ec72a..00000000000
--- a/testing/chez-scheme/64bit-ti3le-constant.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Alpine ships 64bit time in musl 1.2 on 32bit arches
---- src/s/ti3le.def
-+++ src/s/ti3le.def
-@@ -24,7 +24,7 @@
- (define-constant size_t-bits 32)
- (define-constant ptrdiff_t-bits 32)
- (define-constant wchar-bits 32)
--(define-constant time-t-bits 32)
-+(define-constant time-t-bits 64)
- (define-constant max-float-alignment 4)
- (define-constant max-integer-alignment 4)
- (define-constant asm-arg-reg-max 1)
diff --git a/testing/chez-scheme/64bit-ti3le-equates.patch b/testing/chez-scheme/64bit-ti3le-equates.patch
deleted file mode 100644
index 30dcf91edce..00000000000
--- a/testing/chez-scheme/64bit-ti3le-equates.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Change equates.h definition of 0x20 (32 decimal) to 0x40 (64 decimal)
---- src/boot/ti3le/equates.h
-+++ src/boot/ti3le/equates.h
-@@ -611,7 +611,7 @@
- #define time_duration 0x2
- #define time_monotonic 0x3
- #define time_process 0x0
--#define time_t_bits 0x20
-+#define time_t_bits 0x40
- #define time_thread 0x1
- #define time_utc 0x4
- #define timer_interrupt_index 0x2
diff --git a/testing/chez-scheme/APKBUILD b/testing/chez-scheme/APKBUILD
deleted file mode 100644
index 146f88cd282..00000000000
--- a/testing/chez-scheme/APKBUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# Contributor: Will Sinatra <wpsinatra@gmail.com>
-# Maintainer: Will Sinatra <wpsinatra@gmail.com>
-pkgname=chez-scheme
-# XXX: Upgrades require rebuilding testing/idris2.
-pkgver=9.5.6
-pkgrel=0
-pkgdesc="Cisco R6RS Scheme Compiler"
-url="https://github.com/cisco/ChezScheme"
-arch="x86 x86_64" #armv7/aarch64 ports WIP
-license="Apache-2.0"
-makedepends="util-linux-dev ncurses-dev libx11-dev"
-subpackages="$pkgname-doc"
-source="https://github.com/cisco/ChezScheme/releases/download/v$pkgver/csv$pkgver.tar.gz
- 64bit-ti3le-constant.patch
- 64bit-ti3le-equates.patch"
-builddir="$srcdir"/csv$pkgver
-
-build() {
- case "$CARCH" in
- x86) _host=ti3le ;;
- x86_64) _host=ta6le ;;
- armv7) _host=i3nt ;; # void uses arm32le, which is flagged as nonvalid
- aarch64) _host=ta6le ;; # compiler error
- esac
-
- case "$CARCH" in
- x86) conf="--threads" ;;
- x86_64) conf="--threads" ;;
- armv7) conf="" ;;
- aarch64) conf="--threads" ;;
- esac
-
- ./configure \
- --installprefix=/usr \
- --temproot=$pkgdir \
- --installschemename="chez" \
- --installscriptname="chez-script" \
- --machine=$_host \
- $conf
- make
-}
-
-check() {
- make test
-}
-
-package() {
- make install DESTDIR="$pkgdir"
-}
-
-sha512sums="
-4affd73a5b2ea5cdec01fb200a32499387fc3769b7677ffe7d854f6a5567d50ba114f9f12951f99d8e0fd757c799e82e32c83079fae83e5fc138ee6e1a5f56c0 csv9.5.6.tar.gz
-859beb7c4276cefc06b49f685560cc4ef69e1b200d7c52d67c5c24e96e1956ce728b2c72015db92347aef02e803cd2c1e377c836e272619414bd5bf0ce521edb 64bit-ti3le-constant.patch
-1e97c8713ca8d1a18fc4a46b1ccc39f72969c03c9995d0b54c0b2d1710008e5637e6337cc8e809f97bbcbb6c96144f33f9a6cfdd8ebfd2e4dc196e00640a0f08 64bit-ti3le-equates.patch
-"
diff --git a/testing/chiaki/APKBUILD b/testing/chiaki/APKBUILD
new file mode 100644
index 00000000000..d031c1dfe98
--- /dev/null
+++ b/testing/chiaki/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Micheal Smith <xulfer@cheapbsd.net>
+# Maintainer: Micheal Smith <xulfer@cheapbsd.net>
+pkgname=chiaki
+pkgver=2.2.0
+pkgrel=0
+pkgdesc="Open Source PS4 and PS5 remote play client"
+url="https://git.sr.ht/~thestr4ng3r/chiaki"
+arch="all !s390x"
+license="GPL-3.0-or-later"
+makedepends="cmake samurai python3 ffmpeg-dev opus-dev protobuf py3-protobuf
+ py3-setuptools protoc sdl2-dev qt5-qtmultimedia-dev qt5-qtsvg-dev openssl-dev"
+source="$pkgname-$pkgver-src.tar.gz::https://git.sr.ht/~thestr4ng3r/chiaki/refs/download/v$pkgver/chiaki-v$pkgver-src.tar.gz"
+builddir="$srcdir/$pkgname"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+1d9c02911073776047c472043526f27ab53d5a517e4646b8d2c910401dffd20a5aaebe5737c9cb399665e2334e1a75b2528c3d03a200dc88423141f96127897e chiaki-2.2.0-src.tar.gz
+"
diff --git a/testing/chicago95/APKBUILD b/testing/chicago95/APKBUILD
new file mode 100644
index 00000000000..697b25c95de
--- /dev/null
+++ b/testing/chicago95/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Adam Thiede <me@adamthiede.com>
+# Maintainer: Adam Thiede <me@adamthiede.com>
+pkgname=chicago95
+pkgver=3.0.1
+pkgrel=0
+pkgdesc="Windows 95 gtk theme, icons, and fonts"
+url="https://github.com/grassmunk/chicago95"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="$pkgname-icons"
+subpackages="$pkgname-icons $pkgname-fonts"
+source="$pkgname-$pkgver.tar.gz::https://github.com/grassmunk/Chicago95/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests, just a theme
+builddir="$srcdir/Chicago95-$pkgver"
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/themes/
+ cp -a Theme/Chicago95 "$pkgdir"/usr/share/themes/
+
+ mkdir -p "$pkgdir"/usr/share/icons/
+ cp -a Icons/Chicago95 Icons/Chicago95-tux "$pkgdir"/usr/share/icons/
+
+ mkdir -p "$pkgdir"/usr/share/fonts/Chicago95/
+ cp -a Fonts/bitmap Fonts/vga_font "$pkgdir"/usr/share/fonts/Chicago95/
+}
+
+icons() {
+ amove /usr/share/icons/Chicago95
+ amove /usr/share/icons/Chicago95-tux
+}
+
+fonts() {
+ amove /usr/share/fonts/Chicago95
+}
+
+sha512sums="
+361b871d111f4a7a96680d61c47f1e89a38a26cee3aea1c636b24c4e5a60972b1d79d43200f3f6a2e64f27ff37ca71c781da699cc18461ffdd6f9220741101f9 chicago95-3.0.1.tar.gz
+"
diff --git a/testing/chim/APKBUILD b/testing/chim/APKBUILD
new file mode 100644
index 00000000000..65e6531faf9
--- /dev/null
+++ b/testing/chim/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Jeff Dickey <release@chim.sh>
+# Maintainer: Jeff Dickey <release@chim.sh>
+pkgname=chim
+pkgver=1.1.2
+pkgrel=1
+pkgdesc="Cross-platform binary shims with optional remote fetching."
+url="https://chim.sh"
+arch="all !s390x !riscv64 !ppc64le" # limited by cargo
+license="MIT"
+makedepends="
+ bzip2-dev
+ cargo
+ cargo-auditable
+ xz-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jdxcode/chim/archive/refs/tags/v$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+
+ git init .
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm0755 target/release/"$pkgname" -t "$pkgdir"/usr/bin
+ install -Dm0644 README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
+}
+
+sha512sums="
+8068c4ac56df1f8bd7cf75a189bf3b773fdbe35733dc430261c41f4400c91a092ee2c30d03cd7936d1775477ba7f2479098eee09a218f766a1698e09b19cdda6 chim-1.1.2.tar.gz
+"
diff --git a/testing/chocolate-doom/APKBUILD b/testing/chocolate-doom/APKBUILD
index bb304dc2cb2..59244468915 100644
--- a/testing/chocolate-doom/APKBUILD
+++ b/testing/chocolate-doom/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Jordan Christiansen <xordspar0@gmail.com>
pkgname=chocolate-doom
pkgver=3.0.1
-pkgrel=1
+pkgrel=3
pkgdesc="Portable release of Doom, Heretic, Hexen, and Strife"
url="https://www.chocolate-doom.org"
arch="all"
@@ -27,7 +27,7 @@ build() {
}
package() {
- make DESTDIR="$pkgdir" install
+ make appdatadir=/usr/share/metainfo DESTDIR="$pkgdir" install
}
sha512sums="
diff --git a/testing/cilium-cli/APKBUILD b/testing/cilium-cli/APKBUILD
new file mode 100644
index 00000000000..ad99e349c6e
--- /dev/null
+++ b/testing/cilium-cli/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=cilium-cli
+pkgver=0.15.23
+pkgrel=2
+pkgdesc="CLI to install, manage and troubleshoot Kubernetes clusters running Cilium"
+url="https://cilium.io/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/cilium/cilium-cli/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v \
+ -ldflags "-X github.com/cilium/cilium-cli/internal/cli/cmd.Version=v$pkgver" \
+ ./cmd/cilium
+
+ for shell in bash fish zsh; do
+ ./cilium completion $shell > cilium.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 cilium -t "$pkgdir"/usr/bin/
+
+ install -Dm644 cilium.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/cilium
+ install -Dm644 cilium.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/cilium.fish
+ install -Dm644 cilium.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_cilium
+}
+
+sha512sums="
+374a1fad145a8947f42f2bef41c9599996c211fcee4d2261bd6f8ddbe21633ec5cf3b3b69e7416933c3aacd075c06f625ecb2125848d9a77eb4573f6da318376 cilium-cli-0.15.23.tar.gz
+"
diff --git a/testing/cimg/APKBUILD b/testing/cimg/APKBUILD
new file mode 100644
index 00000000000..a1a573ac0b1
--- /dev/null
+++ b/testing/cimg/APKBUILD
@@ -0,0 +1,21 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=cimg
+pkgver=3.3.5
+pkgrel=0
+pkgdesc="Small C++ toolkit for image processing"
+url="https://cimg.eu"
+arch="noarch"
+license="CECILL-C OR CECILL-2.0"
+options="!check" # no test suite
+source="https://github.com/GreycLab/CImg/archive/v.$pkgver/CImg-v.$pkgver.tar.gz"
+builddir="$srcdir/CImg-v.$pkgver"
+
+package() {
+ install -Dm644 CImg.h -t "$pkgdir"/usr/include/
+ install -Dm644 plugins/*.h -t "$pkgdir"/usr/include/CImg/plugins/
+}
+
+sha512sums="
+dfcdaf923de725a706733361358871c8a7e7780b12e3d658de907803f4b31b6b2473c129cff08ca7d9012e66ab5f99e308d2dbc21dd7218f028028a423bcf68d CImg-v.3.3.5.tar.gz
+"
diff --git a/testing/cinny-web/APKBUILD b/testing/cinny-web/APKBUILD
new file mode 100644
index 00000000000..68553f1f692
--- /dev/null
+++ b/testing/cinny-web/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+_pkgname=cinny
+pkgname="$_pkgname"-web
+pkgver=3.2.0
+pkgrel=0
+pkgdesc="A Matrix client focusing primarily on simple, elegant and secure interface. (website)"
+url="https://cinny.in/"
+arch="noarch"
+license="AGPL3"
+makedepends="npm"
+source="
+ $_pkgname-$pkgver.tar.gz::https://github.com/cinnyapp/cinny/archive/v$pkgver.tar.gz
+"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no test suite
+
+build() {
+ export NODE_OPTIONS="--max-old-space-size=4000"
+ npm ci
+ npm run build
+}
+
+package() {
+ local webroot="$pkgdir"/usr/share/webapps/cinny
+ install -d "$webroot"
+ cp -r "$builddir"/dist/* "$webroot"
+
+ install -Dm644 "$builddir"/dist/config.json "$pkgdir"/etc/cinny/config.json
+ ln -sf /etc/cinny/config.json "$pkgdir"/usr/share/webapps/cinny/config.json
+}
+
+sha512sums="
+04f247e6a5685471c5819dffd4f18a3159768586433f25c9e298827cbf0c0bd00e0aa435e5b8a5f035724f83fb27dc345e427d01ea7e7f835c84b940926f2997 cinny-3.2.0.tar.gz
+"
diff --git a/testing/cinny/0001-disable-tauri-updater.patch b/testing/cinny/0001-disable-tauri-updater.patch
new file mode 100644
index 00000000000..484ad76fe10
--- /dev/null
+++ b/testing/cinny/0001-disable-tauri-updater.patch
@@ -0,0 +1,25 @@
+From 48c4ad45995f35b0e458f3e0fdb17ba61bda4bce Mon Sep 17 00:00:00 2001
+From: Krishan <33421343+kfiven@users.noreply.github.com>
+Date: Wed, 20 Jul 2022 20:27:42 +0530
+Subject: [PATCH] disable tauri updater
+
+---
+ src-tauri/tauri.conf.json | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src-tauri/tauri.conf.json b/src-tauri/tauri.conf.json
+index 10a9d32..1e0707b 100644
+--- a/src-tauri/tauri.conf.json
++++ b/src-tauri/tauri.conf.json
+@@ -49,7 +49,7 @@
+ }
+ },
+ "updater": {
+- "active": true,
++ "active": false,
+ "endpoints": [
+ "https://github.com/cinnyapp/cinny-desktop/releases/download/tauri/release.json"
+ ],
+--
+2.42.0
+
diff --git a/testing/cinny/APKBUILD b/testing/cinny/APKBUILD
new file mode 100644
index 00000000000..5515d25e45d
--- /dev/null
+++ b/testing/cinny/APKBUILD
@@ -0,0 +1,83 @@
+# Contributor: jane400 <alpine@j4ne.de>
+# Maintainer:
+pkgname=cinny
+pkgver=3.2.1
+_releasedate="2023-11-01"
+pkgrel=1
+pkgdesc="Yet another matrix client"
+url="https://cinny.in"
+# limited by tauri platform support
+arch="x86_64 x86 aarch64 armv7"
+license="AGPL-3.0-only"
+depends="gst-plugins-good"
+makedepends="
+ cargo
+ gtk+3.0-dev
+ libayatana-appindicator-dev
+ nodejs
+ npm
+ openssl-dev
+ tauri-cli
+ vips-dev
+ webkit2gtk-dev
+ "
+# Adapted from https://github.com/flathub/in.cinny.Cinny
+source="
+ cinny-$pkgver.zip::https://github.com/cinnyapp/cinny-desktop/releases/download/v$pkgver/cinny-desktop-v$pkgver.zip
+ 0001-disable-tauri-updater.patch
+ in.cinny.Cinny.appdata.xml.in
+ cinny.desktop
+"
+builddir="$srcdir/cinny-desktop"
+_jsdir="$builddir/cinny"
+_rustdir="$builddir/src-tauri"
+options="net !check" # no checks
+
+# secfixes:
+# 2.2.4-r1:
+# - CVE-2023-28103
+
+export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
+export NODE_OPTIONS="--max-old-space-size=4000"
+
+prepare() {
+ default_prepare
+
+ # they don't know how to specify dependencies correctly
+ cd "$_jsdir"
+ npm ci --legacy-peer-deps
+
+ cd "$builddir"
+ npm ci
+
+ cd "$_rustdir"
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo-tauri build -b "none"
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin "$_rustdir"/target/release/cinny
+
+ install -Dm644 -t "$pkgdir"/usr/share/applications/ "$srcdir"/cinny.desktop
+
+ # Generate appdata file
+ mkdir -p "$pkgdir"/usr/share/metainfo/
+ export DATE="$_releasedate"
+ export VERSION="$pkgver-$pkgrel"
+ envsubst < "$srcdir"/in.cinny.Cinny.appdata.xml.in > "$pkgdir"/usr/share/metainfo/in.cinny.Cinny.appdata.xml
+
+ install -Dm644 "$_rustdir"/icons/32x32.png "$pkgdir"/usr/share/icons/hicolor/32x32/apps/cinny.png
+ install -Dm644 "$_rustdir"/icons/128x128.png "$pkgdir"/usr/share/icons/hicolor/128x128/apps/cinny.png
+ install -Dm644 "$_rustdir"/icons/128x128@2x.png "$pkgdir"/usr/share/icons/hicolor/256x256/apps/cinny.png
+ install -Dm644 "$_rustdir"/icons/icon.png "$pkgdir"/usr/share/icons/hicolor/512x512/apps/cinny.png
+}
+
+sha512sums="
+d46e20e07d35cf2e9477325e3fd3c80e5b43024ff827624d88a577c7f0f507ab1cce147959ce69b4a8f2a781b10234b493c5019bb9b0b50091f4320ca53f5c0d cinny-3.2.1.zip
+0884a48c4a74c13b1fc3ce4a25fa9d44766f0e7ee6f6ec75c287a145e8df9c318684aa3defb2a6e2ab348d164ebb6d8e86d79a6ba97fb3519af49ee476ff9127 0001-disable-tauri-updater.patch
+f5cdcf87cbb78764323ca2dffc1f5a76c8db28f3683cc6e8b8f444fe73638963a1df882f2ec937c470047864aa6398fc1ccf47275ea5f8e11d10560c5f553ade in.cinny.Cinny.appdata.xml.in
+f94ce9099642c1b765399d2d3c617c2cdb63fef6fffa9e5556d8eba7a26090ce429ded5b2a5280d79f9986ab6ad86a6cfdfd27c39dbb06418fc57b22cef313c1 cinny.desktop
+"
diff --git a/testing/cinny/cinny.desktop b/testing/cinny/cinny.desktop
new file mode 100644
index 00000000000..63ab58046e5
--- /dev/null
+++ b/testing/cinny/cinny.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.5
+Type=Application
+
+Name=Cinny
+Comment=Yet another matrix client with simple, elegant and secure interface.
+Icon=cinny
+Exec=cinny
+Terminal=false
+Categories=Network;InstantMessaging;
+Keywords=Matrix;matrix.org;chat;irc;communications;talk;riot;element;fractal;voip;
+X-Purism-FormFactor=Workstation;Mobile;
+SingleMainWindow=true
diff --git a/testing/cinny/in.cinny.Cinny.appdata.xml.in b/testing/cinny/in.cinny.Cinny.appdata.xml.in
new file mode 100644
index 00000000000..c0b092124d9
--- /dev/null
+++ b/testing/cinny/in.cinny.Cinny.appdata.xml.in
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<component type="desktop-application">
+ <id>in.cinny.Cinny</id>
+
+ <name>Cinny</name>
+ <summary>Yet another Matrix client with simple, elegant and secure interface.</summary>
+ <developer_name>Ajay Bura</developer_name>
+
+ <metadata_license>CC0-1.0</metadata_license>
+ <project_license>MIT</project_license>
+
+ <url type="homepage">https://cinny.in</url>
+ <url type="bugtracker">https://gitlab.alpinelinux.org/alpine/aports/-/issues</url>
+ <url type="donation">https://cinny.in/#sponsor</url>
+
+ <supports>
+ <control>pointing</control>
+ <control>keyboard</control>
+ <control>touch</control>
+ </supports>
+
+ <description>
+ <p>
+ Cinny is a matrix.org client focusing primarily on simple, elegant and secure interface protected by e2ee with the power of open source.
+ </p>
+ <p>
+ Features: User-friendly design, Login and register, Full space support, Encryption and emoji verification, Ability to create new rooms and tweak settings, Support replies, markdown, message editing, Dark, light, and black themes.
+ </p>
+ </description>
+
+ <custom>
+ <value key="Purism::form_factor">workstation</value>
+ <value key="Purism::form_factor">mobile</value>
+ </custom>
+
+ <launchable type="desktop-id">cinny.desktop</launchable>
+
+ <!-- We just use the flathub pictures, provides a nice page in appstores -->
+ <screenshots>
+ <screenshot type="default">
+ <image>https://raw.githubusercontent.com/flathub/in.cinny.Cinny/master/resources/screenshot1.png</image>
+ </screenshot>
+ <screenshot>
+ <image>https://raw.githubusercontent.com/flathub/in.cinny.Cinny/master/resources/screenshot2.png</image>
+ </screenshot>
+ <screenshot>
+ <image>https://raw.githubusercontent.com/flathub/in.cinny.Cinny/master/resources/screenshot3.png</image>
+ </screenshot>
+ </screenshots>
+
+ <provides>
+ <binary>cinny</binary>
+ </provides>
+
+ <releases>
+ <release version="$VERSION" date="$DATE"/>
+ </releases>
+ <content_rating type="oars-1.1"/>
+</component>
diff --git a/testing/cjose/APKBUILD b/testing/cjose/APKBUILD
deleted file mode 100644
index 26c410631dc..00000000000
--- a/testing/cjose/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Johan Bergström <bugs@bergstroem.nu>
-# Maintainer: Johan Bergström <bugs@bergstroem.nu>
-pkgname=cjose
-pkgver=0.6.1
-pkgrel=1
-pkgdesc="A C library implementing the Javascript Object Signing and Encryption"
-url="https://github.com/cisco/cjose"
-arch="all !s390x !mips !mips64" # tests fails on s390x
-license="MIT"
-makedepends="check-dev coreutils doxygen jansson-dev openssl-dev perl"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/cisco/cjose/archive/$pkgver.tar.gz"
-
-prepare() {
- default_prepare
-
- update_config_sub
- update_config_guess
-}
-
-build() {
- CFLAGS="$CFLAGS -Wno-error" \
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --enable-static=no \
- --with-openssl=/usr \
- --with-jansson=/usr \
- --disable-doxygen-ps \
- --disable-doxygen-pdf
- make
- # need to invoke doc generation, otherwise it doesn't get installed properly
- make doxygen
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-7ae67a6d19591b3d19b888270ec0ca17df399bea117e42686fc1de39b3741ed9a8816f96d33d090687c49c3123cdc95430a781835a525a02d22561ebf5aaa653 cjose-0.6.1.tar.gz
-"
diff --git a/testing/ck/APKBUILD b/testing/ck/APKBUILD
deleted file mode 100644
index 9320be51aa4..00000000000
--- a/testing/ck/APKBUILD
+++ /dev/null
@@ -1,57 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=ck
-pkgver=0.7.1
-pkgrel=0
-pkgdesc="Concurrency primitives, safe memory reclamation mechanisms and non-blocking (including lock-free) data structures"
-url="http://concurrencykit.org/"
-arch="all"
-license="BSD-2-Clause AND Apache-2.0"
-makedepends="linux-headers"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-options="!check" # TODO: pass locally but hang on CI
-source="$pkgname-$pkgver.tar.gz::https://github.com/concurrencykit/ck/archive/refs/tags/$pkgver.tar.gz"
-
-# GitLab CI and builders run armhf/armv7 as 32-bit arches on aarch64.
-# Thus, we cannot rely on the uname -m output on these platforms.
-case "$CTARGET_ARCH" in
-armhf) export PLATFORM=armv6l ;;
-armv7) export PLATFORM=armv7l ;;
-esac
-
-# Platforms which are not natively supported by ck can be supported by
-# compiling with --use-cc-builtins. This has a performance penalty but
-# allows us to support software depending on ck on these platforms.
-#
-# Regarding native support:
-#
-# * riscv64: https://github.com/concurrencykit/ck/issues/169
-# * mips64: https://github.com/concurrencykit/ck/issues/80
-#
-_conf_opts=""
-case "$CTARGET_ARCH" in
-riscv64|mips64) _conf_opts="--use-cc-builtins" ;;
-esac
-
-build() {
- ./configure \
- --build=\$CBUILD \
- --host=\$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var $_conf_opts
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-48768e7adf05b818f2951b246c90185071d6c3f874218349183d96b7887830f9505f9fa58576e9933862486e8543097df0ee667518009a3946d1edc19fc253f7 ck-0.7.1.tar.gz
-"
diff --git a/testing/ckb-next/983.patch b/testing/ckb-next/983.patch
new file mode 100644
index 00000000000..4cdcd09e334
--- /dev/null
+++ b/testing/ckb-next/983.patch
@@ -0,0 +1,19 @@
+From 76a47f95b442a1ae5a9c7448566eaafd8863ca8d Mon Sep 17 00:00:00 2001
+From: Willow Barraco <contact@willowbarraco.fr>
+Date: Wed, 19 Jul 2023 09:38:09 +0200
+Subject: [PATCH] Fix ckb-next-daemon OpenRC service file
+
+---
+ linux/openrc/ckb-next-daemon.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/linux/openrc/ckb-next-daemon.in b/linux/openrc/ckb-next-daemon.in
+index 4b154fca..26d38d93 100755
+--- a/linux/openrc/ckb-next-daemon.in
++++ b/linux/openrc/ckb-next-daemon.in
+@@ -7,4 +7,4 @@ command="@CMAKE_INSTALL_PREFIX@/bin/ckb-next-daemon"
+ description="Corsair Keyboards and Mice Daemon"
+ pidfile="/dev/input/ckb0/pid"
+ logfile="/var/log/${RC_SVCNAME}.log"
+-start_stop_daemon_args+="--background --stdout ${logfile} --stderr ${logfile}"
++start_stop_daemon_args="$start_stop_daemon_args --background --stdout ${logfile} --stderr ${logfile}"
diff --git a/testing/ckb-next/APKBUILD b/testing/ckb-next/APKBUILD
new file mode 100644
index 00000000000..26c102f7736
--- /dev/null
+++ b/testing/ckb-next/APKBUILD
@@ -0,0 +1,63 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=ckb-next
+pkgver=0.6.0
+pkgrel=1
+pkgdesc="RGB Driver for Linux"
+url="https://github.com/ckb-next/ckb-next"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ cmake
+ eudev-dev
+ libdbusmenu-qt-dev
+ pulseaudio-dev
+ qt5-qttools-dev
+ qt5-qtx11extras-dev
+ quazip-dev
+ samurai
+ xcb-util-wm-dev
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-daemon
+ $pkgname-daemon-openrc
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/ckb-next/ckb-next/archive/refs/tags/v$pkgver.tar.gz
+ 983.patch
+ "
+options="!check" # no tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_LIBEXECDIR=lib \
+ -DDISABLE_UPDATER=1 \
+ -DUDEV_RULE_DIRECTORY=/usr/lib/udev/rules.d \
+ -DFORCE_INIT_SYSTEM=openrc
+
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+daemon() {
+ amove usr/bin/ckb-next-daemon
+
+ amove usr/lib/udev/rules.d
+}
+
+openrc() {
+ default_openrc
+
+ install_if="openrc $pkgname-daemon=$pkgver-r$pkgrel"
+}
+
+sha512sums="
+34236199d420b663bb71db9400622bb868a3a0b384b58d5da3f80d2bd7ec9586d4e4ac9caad0b047b8440dc4200e4dd6077f4e0d1edb5a75a1327bf9c9ba9392 ckb-next-0.6.0.tar.gz
+3ea2dfbe671005a013f66334c9d757fccc6dc2cf5bf5ed056ba9a7329378c3de43ee420150a774581e2f3b9b261069f140077ecf1cf6579fa11bfbc003532aa2 983.patch
+"
diff --git a/testing/clapper/APKBUILD b/testing/clapper/APKBUILD
new file mode 100644
index 00000000000..6e0470b62b6
--- /dev/null
+++ b/testing/clapper/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=clapper
+pkgver=0.5.2
+pkgrel=1
+pkgdesc="A GNOME media player built using GJS with GTK4 toolkit and powered by GStreamer with OpenGL rendering"
+url="https://github.com/Rafostar/clapper"
+arch="all !s390x !armhf" # no gjs
+license="GPL-3.0-or-later"
+depends="
+ gjs
+ hicolor-icon-theme
+ "
+makedepends="
+ gjs-dev
+ gst-plugins-base-dev
+ gstreamer-dev
+ gtk4.0-dev
+ meson
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Rafostar/clapper/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # No tests
+ldpath="/usr/lib/gstreamer-1.0/"
+
+build() {
+ abuild-meson -Db_lto=true . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+46934a6e1224e88338e85154bbc489dcd006887863fcdc880fa631e5573afa48de32c23fa0bcc9b2206f324e51b6f071d250b340c41a450e9d0c497863feacbf clapper-0.5.2.tar.gz
+"
diff --git a/testing/clatd/APKBUILD b/testing/clatd/APKBUILD
new file mode 100644
index 00000000000..cc21ebb5532
--- /dev/null
+++ b/testing/clatd/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=clatd
+pkgver=1.6
+pkgrel=0
+pkgdesc="A 464XLAT CLAT implementation for Linux"
+url="https://github.com/toreanderson/clatd"
+arch="noarch"
+license="MIT"
+depends="
+ perl
+ perl-io-socket-ip
+ perl-net-dns
+ perl-net-ip
+ tayga
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/toreanderson/clatd/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no checks
+
+package() {
+ install -Dm755 clatd "$pkgdir/usr/bin/clatd"
+ install -Dm755 scripts/clatd.networkmanager "$pkgdir/etc/NetworkManager/dispatcher.d/50-clatd"
+}
+
+sha512sums="
+606d579fb658cca7f9d0dddf9c49671e4b2774aafb1200e9bdd95964e5bd7bb33f313d340ac24a556f97d253b13a0498056b3b971bfb7c9119d3223f90031d74 clatd-1.6.tar.gz
+"
diff --git a/testing/clementine/APKBUILD b/testing/clementine/APKBUILD
index 56d0fec4d43..8ea97bac33b 100644
--- a/testing/clementine/APKBUILD
+++ b/testing/clementine/APKBUILD
@@ -1,13 +1,14 @@
# Contributor: knuxify <knuxify@gmail.com>
# Maintainer: knuxify <knuxify@gmail.com>
pkgname=clementine
-pkgver=1.4.0_git20210929
-pkgrel=0
-_tag=1.4.0rc1-737-g69fd49b97
+pkgver=1.4.0_git20220324
+pkgrel=10
+_tag=1.4.0rc1-814-g2b340da79
pkgdesc="A modern music player and library organizer"
url="https://clementine-player.org"
arch="all"
license="GPL-3.0-or-later"
+depends="gst-plugins-good"
makedepends="alsa-lib-dev
boost-dev
chromaprint-dev
@@ -30,32 +31,36 @@ makedepends="alsa-lib-dev
qt5-qtbase-dev
qt5-qttools-dev
qt5-qtx11extras-dev
+ samurai
sparsehash
taglib-dev
"
-checkdepends="gmock gtest"
-source="https://github.com/clementine-player/Clementine/releases/download/$_tag/clementine-$_tag.tar.xz"
+checkdepends="gtest-dev"
+source="https://github.com/clementine-player/Clementine/releases/download/$_tag/clementine-$_tag.tar.xz
+ cxx17.patch
+ "
builddir="$srcdir/clementine-$_tag"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error=format" \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -std=c++17 -Wno-error=format" \
-DBUNDLE_PROJECTM_PRESETS=OFF \
-DUSE_SYSTEM_PROJECTM=ON \
-DUSE_SYSTEM_TAGLIB=ON \
- $CMAKE_CROSSOPTS .
+ -DBUILD_WERROR=OFF \
+ $CMAKE_CROSSOPTS
cmake --build build
+ cmake --build build --target build_tests
}
check() {
cd "$builddir"/build/tests
- make build_tests
for test in *_test; do
./$test
done
@@ -66,5 +71,6 @@ package() {
}
sha512sums="
-314743c0c213ffed63362c1d94e7584355cb28d54b370925eb007c53f8e6e82a8aaf483690b8acde5a948bbb0c8e9f4dbbfb0fb5c35b4ece7a11ed2a7fa0f19d clementine-1.4.0rc1-737-g69fd49b97.tar.xz
+38c826e91a23f3d23c30ad9cc34e84c141b4a09badfb08149eff7c6a2ded6e4dabd5a08671a8a82385ba56a2a2d3830ee96e839f86261e0e60180481db4b240a clementine-1.4.0rc1-814-g2b340da79.tar.xz
+7cf24bc057c17188084cc252ec2b049e66d27b272b7cfd50d99e1627a80800b5f81b7e5aa57fd551d70f32f864dbfcf13c19f945bfadbdce71a2671dd4b21cb9 cxx17.patch
"
diff --git a/testing/clementine/cxx17.patch b/testing/clementine/cxx17.patch
new file mode 100644
index 00000000000..67bb4a79add
--- /dev/null
+++ b/testing/clementine/cxx17.patch
@@ -0,0 +1,73 @@
+diff --git a/3rdparty/libprojectm/CMakeLists.txt b/3rdparty/libprojectm/CMakeLists.txt
+index ce58344..a70f8a2 100644
+--- a/3rdparty/libprojectm/CMakeLists.txt
++++ b/3rdparty/libprojectm/CMakeLists.txt
+@@ -24,8 +24,6 @@ set(BUILD_PROJECTM_STATIC ON)
+ set(DISABLE_NATIVE_PRESETS ON)
+ set(DISABLE_MILKDROP_PRESETS OFF)
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+-
+ pkg_check_modules(GLEW glew)
+
+ if(DISABLE_NATIVE_PRESETS)
+diff --git a/3rdparty/qtsingleapplication/CMakeLists.txt b/3rdparty/qtsingleapplication/CMakeLists.txt
+index 7825ab9..c405256 100644
+--- a/3rdparty/qtsingleapplication/CMakeLists.txt
++++ b/3rdparty/qtsingleapplication/CMakeLists.txt
+@@ -1,5 +1,4 @@
+ cmake_minimum_required(VERSION 3.0.0)
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
+
+ set(SINGLEAPP-SOURCES
+ qtlocalpeer.cpp
+diff --git a/ext/libclementine-common/CMakeLists.txt b/ext/libclementine-common/CMakeLists.txt
+index ad35a51..5aff49a 100644
+--- a/ext/libclementine-common/CMakeLists.txt
++++ b/ext/libclementine-common/CMakeLists.txt
+@@ -2,8 +2,6 @@ include_directories(${PROTOBUF_INCLUDE_DIRS})
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
+-
+ set(SOURCES
+ core/closure.cpp
+ core/latch.cpp
+diff --git a/ext/libclementine-remote/CMakeLists.txt b/ext/libclementine-remote/CMakeLists.txt
+index 70761b4..5f860fb 100644
+--- a/ext/libclementine-remote/CMakeLists.txt
++++ b/ext/libclementine-remote/CMakeLists.txt
+@@ -1,7 +1,5 @@
+ include_directories(${PROTOBUF_INCLUDE_DIRS})
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
+-
+ set(MESSAGES
+ remotecontrolmessages.proto
+ )
+diff --git a/ext/libclementine-tagreader/CMakeLists.txt b/ext/libclementine-tagreader/CMakeLists.txt
+index d7ae9f6..c51dbaf 100644
+--- a/ext/libclementine-tagreader/CMakeLists.txt
++++ b/ext/libclementine-tagreader/CMakeLists.txt
+@@ -3,8 +3,6 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+ include_directories(${CMAKE_SOURCE_DIR}/ext/libclementine-common)
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x")
+-
+ set(MESSAGES
+ tagreadermessages.proto
+ )
+diff --git a/gst/moodbar/CMakeLists.txt b/gst/moodbar/CMakeLists.txt
+index 636ef9f..8828674 100644
+--- a/gst/moodbar/CMakeLists.txt
++++ b/gst/moodbar/CMakeLists.txt
+@@ -1,7 +1,6 @@
+ cmake_minimum_required(VERSION 3.0.0)
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Woverloaded-virtual -Wall --std=c++0x")
+
+ include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+
diff --git a/testing/clevis-extra-pins/APKBUILD b/testing/clevis-extra-pins/APKBUILD
new file mode 100644
index 00000000000..b7d0f11b7f0
--- /dev/null
+++ b/testing/clevis-extra-pins/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=clevis-extra-pins
+pkgver=0_git20230629
+_gitrev=684702e18e07fd3d453b5844051d9a7e424a9bb8
+pkgrel=0
+pkgdesc="Additional pins for Clevis binding framework"
+url="https://github.com/anatol/clevis.go"
+license="GPL-3.0-or-later"
+arch="noarch"
+depends="bash clevis"
+source="https://github.com/anatol/clevis.go/archive/$_gitrev/clevis-extra-pins-$pkgver.tar.gz"
+builddir="$srcdir/clevis.go-$_gitrev"
+options="!check" # no test suite for bash scripts
+
+package() {
+ install -Dm755 \
+ clevis-decrypt-yubikey \
+ clevis-encrypt-yubikey \
+ clevis-encrypt-remote \
+ -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+969bc1812e39be36719ceb82e76876e8fcde874e92a89808a3ce5c19ba4be3d99f4285fa2e8c73ad25e157cc12f03edaa76084e599ec62e08887ec80e258ab7c clevis-extra-pins-0_git20230629.tar.gz
+"
diff --git a/testing/clevis/APKBUILD b/testing/clevis/APKBUILD
new file mode 100644
index 00000000000..99488ae82f0
--- /dev/null
+++ b/testing/clevis/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=clevis
+pkgver=19
+pkgrel=0
+pkgdesc="Pluggable framework for automated decryption"
+url="https://github.com/latchset/clevis"
+license="GPL-3.0-or-later WITH OpenSSL-Exception"
+arch="all"
+depends="bash cryptsetup jose libpwquality"
+makedepends="
+ asciidoc
+ bash-completion-dev
+ meson
+ tpm2-tools
+ cryptsetup-dev
+ jansson-dev
+ jose-dev
+ audit-dev
+ udisks2-dev
+ luksmeta-dev
+ "
+checkdepends="jq keyutils tang"
+subpackages="
+ $pkgname-dbg
+ $pkgname-doc
+ $pkgname-bash-completion
+ "
+source="https://github.com/latchset/clevis/archive/v$pkgver/clevis-$pkgver.tar.gz"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+dee19354c908c3843fc295a84b431780d5d6062c77766ee7ce9550636d3623d92b0cd1f6d4c40d57bef14debddc161da2b72289a5d6185cdd17b09a1ef67409a clevis-19.tar.gz
+"
diff --git a/testing/click/0001-configure.ac-fix-building-against-BusyBox-sed.patch b/testing/click/0001-configure.ac-fix-building-against-BusyBox-sed.patch
new file mode 100644
index 00000000000..fe809899700
--- /dev/null
+++ b/testing/click/0001-configure.ac-fix-building-against-BusyBox-sed.patch
@@ -0,0 +1,34 @@
+From 56dd84d0626f99f97ae94d868058367ee46d9a73 Mon Sep 17 00:00:00 2001
+From: Ratchanan Srirattanamet <ratchanan@ubports.com>
+Date: Fri, 22 Mar 2024 17:30:28 +0700
+Subject: [PATCH] configure.ac: fix building against BusyBox sed
+
+Welp, when you are not using `-E` (extended) mode, basic POSIX regex
+means that `+` doesn't have to be escaped. Escaping it confuses some
+version of sed, such as BusyBox sed in recent version of Alpine Linux
+which fails with `sed: bad regex '\+': Repetition not preceded by valid
+expression`.
+
+POSIX regex, why do you have basic mode?
+
+Fixes: https://gitlab.com/ubports/development/core/click/-/issues/26
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index ff69711..f173da9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -154,7 +154,7 @@ AC_SUBST(COVERAGE_LDFLAGS)
+
+ # Python can't accept some characters in our Debian version, so strip those out.
+ AC_SUBST(PYTHON_PACKAGE_VERSION,
+- [$(echo "$PACKAGE_VERSION" | sed -e 's/[[^a-zA-Z0-9.+-]]//g' -e 's/\+//2g')])
++ [$(echo "$PACKAGE_VERSION" | sed -e 's/[[^a-zA-Z0-9.+-]]//g' -e 's/+//2g')])
+
+ AC_CONFIG_FILES([
+ Makefile
+--
+2.44.0
+
diff --git a/testing/click/APKBUILD b/testing/click/APKBUILD
new file mode 100644
index 00000000000..689088bc3f5
--- /dev/null
+++ b/testing/click/APKBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=click
+pkgver=0.5.2
+pkgrel=1
+pkgdesc="Simplified packaging format"
+url="https://gitlab.com/ubports/development/core/click"
+arch="all"
+license="GPL-3.0-only"
+depends_dev="
+ dbus-test-runner-dev
+ gobject-introspection-dev
+ gtest-dev
+ libgee-dev
+ process-cpp-dev
+ properties-cpp-dev
+ "
+makedepends="
+ $depends_dev
+ autoconf
+ automake
+ cmake
+ dbus-test-runner
+ gobject-introspection
+ intltool
+ json-glib-dev
+ libtool
+ py3-setuptools
+ vala
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-pyc"
+source="https://gitlab.com/ubports/development/core/click/-/archive/$pkgver/click-$pkgver.tar.gz
+ 0001-configure.ac-fix-building-against-BusyBox-sed.patch
+ "
+options="!check" # Needs dpkg
+
+build() {
+ ./autogen.sh
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-packagekit \
+ --disable-systemd
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir/" PYTHON_INSTALL_FLAGS="--root=$pkgdir/" install
+
+ # Make abuild's version check happy (#386)
+ sed -i s/+ubports//g "$pkgdir"/usr/lib/pkgconfig/*.pc
+}
+
+sha512sums="
+56244d2baa71bbfc168f57e4eea30a5ee0bde6da6e92e2063ede97d2ef93d44123a1af7a0c1610090ae48a9cf77e2daa554e9407454b7f8f53d1f655956e9cb0 click-0.5.2.tar.gz
+40cf041438fae2a916c4277ebedca005338c011697248b69568b49559fe7f2a482199eeafe7704b54e73cf5e85c6c78022c750e29efc083aef1e7213314b3e34 0001-configure.ac-fix-building-against-BusyBox-sed.patch
+"
diff --git a/testing/clifm/APKBUILD b/testing/clifm/APKBUILD
deleted file mode 100644
index 3b070125ea3..00000000000
--- a/testing/clifm/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Sodface <sod@sodface.com>
-# Maintainer: Sodface <sod@sodface.com>
-pkgname=clifm
-pkgver=1.3
-pkgrel=0
-pkgdesc="CLI file manager"
-url="https://github.com/leo-arch/clifm"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="acl-dev file-dev gettext-tiny-dev libcap-dev readline-dev"
-options="!check" # no test suite
-subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-zsh-completion"
-source="https://github.com/leo-arch/clifm/releases/download/v$pkgver/clifm-$pkgver.tar.gz"
-
-build() {
- make
-}
-
-package() {
- make PREFIX=/usr MANDIR=/usr/share/man DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-39aaa28d4e3435ad8c9d39416f3e1f112de37f8f0c27ce0789c73fa3a847861ef3d351eb684f5b0eb0618c7a11ca9882da72311e04ea91c4660d945d761a52aa clifm-1.3.tar.gz
-"
diff --git a/testing/clinfo/APKBUILD b/testing/clinfo/APKBUILD
index b92641109d1..45caf136d53 100644
--- a/testing/clinfo/APKBUILD
+++ b/testing/clinfo/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dennis Krupenik <dennis@krupenik.com>
# Maintainer: Dennis Krupenik <dennis@krupenik.com>
pkgname=clinfo
-pkgver=3.0.21.02.21
+pkgver=3.0.23.01.25
pkgrel=0
pkgdesc="Print all known information about all available OpenCL platforms and devices in the system"
url="https://github.com/Oblomov/clinfo"
@@ -21,5 +21,5 @@ package() {
}
sha512sums="
-f2fe5ec450edb258412dbb458fc8895530d67cf96589c6b94f27e135227db1796582173c0fa48a578a23c572b73ddce007a6e75c67a23b297986e47792c264ad clinfo-3.0.21.02.21.tar.gz
+c8e0f33a304a64f1fb4b4ffecb2a62bc10fb5e9777cc8d0cd44bf551e5c94141f04d4cafd28fe6e796bc365e356027297fc9c91359b23b152b1c98d9a128515c clinfo-3.0.23.01.25.tar.gz
"
diff --git a/testing/cliphist/APKBUILD b/testing/cliphist/APKBUILD
index 774274e8700..821b622d276 100644
--- a/testing/cliphist/APKBUILD
+++ b/testing/cliphist/APKBUILD
@@ -1,27 +1,37 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
+# Maintainer:
pkgname=cliphist
-pkgver=0.3.0
-pkgrel=0
+pkgver=0.5.0
+pkgrel=2
pkgdesc="wayland clipboard manager"
url="https://github.com/sentriz/cliphist"
arch="all"
license="GPL-3.0" # does not specify if -only
options="!check net" # no testsuite
-depends="fzf wl-clipboard"
+depends="wl-clipboard"
makedepends="go"
+subpackages="$pkgname-fzf::noarch"
source="$pkgname-$pkgver.tar.gz::https://github.com/sentriz/cliphist/archive/refs/tags/v$pkgver.tar.gz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
go build
}
package() {
- mkdir -p "$pkgdir"/usr/bin
- mv "$builddir"/cliphist "$pkgdir"/usr/bin
- mv "$builddir"/contrib/cliphist-fzf "$pkgdir"/usr/bin
+ install -D -m755 cliphist -t "$pkgdir"/usr/bin/
+ install -D -m755 contrib/cliphist-fzf -t "$pkgdir"/usr/bin/
+}
+
+fzf() {
+ pkgdesc="$pkgdesc with fzf picker"
+ depends="$pkgname=$pkgver-r$pkgrel fzf"
+
+ amove usr/bin/cliphist-fzf
}
sha512sums="
-845d1d9551db155cd29060e6c6740e62132e559141b378b9e4eea4e3824f618c987496a176b0e660b45be39a2354851dd6d812af687b81e59b09de2e312d4767 cliphist-0.3.0.tar.gz
+c1ef41d8efe574850e0a2e77d2d8989e6c17162b4eaef34362ec4f00ec79e5e71a60a9773c452f008e1851665e424a4ef4d3b1aef62338e14134310399be5baa cliphist-0.5.0.tar.gz
"
diff --git a/testing/clipit/APKBUILD b/testing/clipit/APKBUILD
index d4d9e60cef2..bad2f7f0b04 100644
--- a/testing/clipit/APKBUILD
+++ b/testing/clipit/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
pkgname=clipit
pkgver=1.4.5
-pkgrel=0
+pkgrel=2
pkgdesc="ClipIt is a lightweight GTK+ clipboard manager"
url="https://github.com/CristianHenzel/ClipIt"
arch="all"
@@ -19,11 +19,12 @@ prepare() {
}
build() {
- ./configure --prefix=/usr \
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
--with-gtk3
}
-
package() {
make DESTDIR="$pkgdir" install
}
diff --git a/testing/clipman/APKBUILD b/testing/clipman/APKBUILD
deleted file mode 100644
index c837dca87e9..00000000000
--- a/testing/clipman/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=clipman
-pkgver=1.6.1
-pkgrel=0
-pkgdesc="A simple clipboard manager for Wayland"
-url="https://github.com/yory8/clipman"
-arch="all"
-license="GPL-3.0-only"
-depends="wl-clipboard"
-makedepends="go"
-options="!check" # no tests
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/yory8/clipman/archive/v$pkgver.tar.gz"
-
-build() {
- go build -o $pkgname
-}
-
-package() {
- install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
- install -Dm644 docs/clipman.1 -t "$pkgdir"/usr/share/man/man1
-}
-sha512sums="
-4d02cad58a5637df64a32673406632a9626633fa2bfc6cff28dc6c724048a3f6e40482a3f0eca64ad0af2e0100b426d8779beef29f24e28b5c494878ae1c0ef4 clipman-1.6.1.tar.gz
-"
diff --git a/testing/cliquer/APKBUILD b/testing/cliquer/APKBUILD
new file mode 100644
index 00000000000..fb53f7b58c9
--- /dev/null
+++ b/testing/cliquer/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=cliquer
+pkgver=1.22
+pkgrel=2
+pkgdesc="Set of C routines for finding cliques in an arbitrary weighted graph"
+url="https://github.com/dimpase/autocliquer"
+arch="all"
+license="GPL-2.0-or-later"
+source="https://github.com/dimpase/autocliquer/releases/download/v$pkgver/cliquer-$pkgver.tar.gz"
+subpackages="
+ $pkgname-tests:_tests
+ $pkgname-static
+ $pkgname-libs
+ $pkgname-dev
+ "
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+_tests() {
+ pkgdesc="$pkgdesc (tests)"
+ amove usr/share
+}
+
+sha512sums="
+3285cb0a3987ff730d9f9b25419a98201f399daf28444179ba8902211ddda87adcc7189f5b94f062d0648039a1b6217b80c8db482887d7dc8552b20459eff861 cliquer-1.22.tar.gz
+"
diff --git a/testing/cln/APKBUILD b/testing/cln/APKBUILD
index 23e43c4c6db..c492952dbbc 100755..100644
--- a/testing/cln/APKBUILD
+++ b/testing/cln/APKBUILD
@@ -1,51 +1,43 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=cln
-pkgver=0_git20211105
-_gitrev=280cc69e7235f176669202a319dd493b234a5b70
+pkgver=1.3.7
pkgrel=0
pkgdesc="C++ class library for numbers"
url="https://www.ginac.de/CLN/"
-# armv7, armhf: error ../src/libcln.so.6.0.6: undefined reference to '_divu_16_rest' etc
-# mips64: invalid conversion from 'uintD' to 'mp_ptr'
-arch="all !armv7 !armhf !mips64"
+arch="all"
license="GPL-2.0-or-later"
-makedepends="cmake gmp-dev"
+makedepends="gmp-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$_gitrev.tar.gz::https://www.ginac.de/CLN/cln.git/?p=cln.git;a=snapshot;h=$_gitrev;sf=tgz"
-builddir="$srcdir/$pkgname-${_gitrev:0:7}"
-
-# asm routines have problems on arm, hppa and sparc
-case $CARCH in
- arm*) _no_asm=-DNO_ASM;;
-esac
+source="https://www.ginac.de/CLN/cln-$pkgver.tar.bz2"
build() {
- export CPPFLAGS="$CPPFLAGS $_no_asm"
- # "-B build" leads to error: build/conftest.s cannot be read
- cmake \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_PREFIX_PATH=/usr \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCLN_USE_GMP=ON \
- .
- cmake --build .
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-gmp
+ make
}
check() {
- cmake --build . --target check
+ make check
}
package() {
- DESTDIR="$pkgdir" cmake --build . --target install
- cd ./doc && mkdir -pv $pkgdir/usr/share/doc/cln/examples && \
- cp -rpv ./cln.texi ./polynomial ./ratseries $pkgdir/usr/share/doc/cln/
- cd ../examples && rm -rv ./C* ./Make* ./cmake* \
- contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi && \
- cp -rpv ./* $pkgdir/usr/share/doc/cln/examples
+ make DESTDIR="$pkgdir" install
+
+ cd ./doc && mkdir -pv "$pkgdir"/usr/share/doc/cln/examples && \
+ cp -rpv ./cln.texi "$pkgdir"/usr/share/doc/cln/
+ cd ../examples && rm -rv ./Make* \
+ contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi \
+ contfrac.o e.o fibonacci.o legendre.o lucaslehmer.o nextprime.o perfnum.o pi.o && \
+ cp -rpv ./* "$pkgdir"/usr/share/doc/cln/examples
}
sha512sums="
-368f33746ef06005d30756ecb4b4e775485be624cc6cb3ff83ff8f887f3ad5d9d994319c06083085ce4831e68960bd0d1ff4df0fd38a9d4c28067acc50c80bde cln-280cc69e7235f176669202a319dd493b234a5b70.tar.gz
+39abfae41504030cce16d0ed0547eafaa9a819f1225289d262cdd8e50d9af5bdb695d6e5a7f4b3577af29bedaf2e31700655b07a624b4232aecf8d795f697a1b cln-1.3.7.tar.bz2
"
diff --git a/testing/closure-compiler/APKBUILD b/testing/closure-compiler/APKBUILD
deleted file mode 100644
index 2318c95366a..00000000000
--- a/testing/closure-compiler/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-# TODO: Build it from source instead of downloading prebuilt JAR (although
-# it does not contain any native binaries), so we can patch it when needed.
-pkgname=closure-compiler
-pkgver=20171203
-pkgrel=1
-pkgdesc="A JavaScript checker and optimizer"
-url="https://developers.google.com/closure/compiler/"
-arch="noarch !s390x !mips !mips64 !riscv64" # java
-license="Apache-2.0"
-depends="java-jre-headless"
-source="$pkgname-$pkgver-jar.tar.gz::https://dl.google.com/$pkgname/compiler-$pkgver.tar.gz
- $pkgname"
-builddir="$srcdir/$pkgname-$pkgver"
-
-check() {
- java -jar "$srcdir"/$pkgname-v$pkgver.jar --version
-}
-
-package() {
- cd "$srcdir"
-
- install -D -m 644 $pkgname-v$pkgver.jar \
- "$pkgdir"/usr/share/java/$pkgname-$pkgver.jar
- ln -s $pkgname-$pkgver.jar "$pkgdir"/usr/share/java/$pkgname.jar
-
- install -D -m 755 $pkgname "$pkgdir"/usr/bin/$pkgname
-}
-
-sha512sums="478e8f1b665e4ac74f5307aa9fdc8042d743e8e455144894a1dde8596f29befff08e34343718a663fa0ae82007d72908b015af388bfac19cdfaa95985737614b closure-compiler-20171203-jar.tar.gz
-18127beb77da790d1fa13fddc4056c485ca2b4a263becd7d37542dc705d08c342f842aa22322dd9aaa8e0ad651f45fc4c0ff632201cc5f20d391843d2c1b2661 closure-compiler"
diff --git a/testing/closure-compiler/closure-compiler b/testing/closure-compiler/closure-compiler
deleted file mode 100644
index 65e6560ddd0..00000000000
--- a/testing/closure-compiler/closure-compiler
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-JAVA_HOME=${JAVA_HOME:="/usr/lib/jvm/default-jvm"}
-"$JAVA_HOME"/bin/java -jar /usr/share/java/closure-compiler.jar "$@"
diff --git a/testing/cloud-hypervisor/APKBUILD b/testing/cloud-hypervisor/APKBUILD
new file mode 100644
index 00000000000..9d3032c0729
--- /dev/null
+++ b/testing/cloud-hypervisor/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=cloud-hypervisor
+pkgver=38.0
+pkgrel=0
+pkgdesc="Virtual machine monitor for modern cloud workloads"
+url="https://www.cloudhypervisor.org/"
+# Only x86_64 and aarch64 are officially supported
+arch="x86_64 aarch64"
+license="Apache-2.0 AND BSD-3-Clause"
+makedepends="cargo libcap-utils cargo-auditable"
+source="https://github.com/cloud-hypervisor/cloud-hypervisor/releases/download/v$pkgver/cloud-hypervisor-v$pkgver.tar.xz"
+builddir="$srcdir/$pkgname-v$pkgver"
+# tests require CAP_NET_ADMIN capability
+# setcap cap_net_admin
+options="!check setcap"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin/ \
+ target/release/cloud-hypervisor \
+ target/release/ch-remote
+
+ # Needs NET_ADMIN capabilities to set TAP interfaces up on the host
+ setcap cap_net_admin=+ep "$pkgdir"/usr/bin/cloud-hypervisor
+}
+
+sha512sums="
+5ca0bcf6394957381fb2345bb345501926b7a9b23ea57a9ab3d78db6f32cef9bf494fc909b06d8687dfe8ca2f43fccd3eebb9470136b87eb0a3c62a233e61b65 cloud-hypervisor-v38.0.tar.xz
+"
diff --git a/testing/cloudflared/APKBUILD b/testing/cloudflared/APKBUILD
new file mode 100644
index 00000000000..c092b3c7afb
--- /dev/null
+++ b/testing/cloudflared/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Piper McCorkle <piper@cloudflare.com>
+# Maintainer: Piper McCorkle <piper@cloudflare.com>
+pkgname=cloudflared
+pkgver=2023.7.3
+pkgrel=4
+pkgdesc="Cloudflare Tunnel client"
+url="https://github.com/cloudflare/cloudflared"
+# TODO: Doesn't compile with Go 1.21.
+# See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15252
+#arch="aarch64 x86 x86_64"
+arch=""
+license="Apache-2.0"
+makedepends="go gettext"
+subpackages="$pkgname-doc $pkgname-openrc"
+pkgusers="$pkgname"
+pkggroups="$pkgname"
+install="$pkgname.pre-install"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cloudflare/cloudflared/archive/refs/tags/$pkgver.tar.gz
+ goflags.patch
+ config.yml
+ $pkgname.initd
+ $pkgname.confd
+ "
+options="!check" # require privileged icmp sockets
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ go mod vendor
+}
+
+build() {
+ make cloudflared
+ DATE="2023" VERSION="$pkgver" envsubst < cloudflared_man_template > cloudflared.1
+}
+
+check() {
+ _goarch=$(go tool dist env | grep GOARCH | sed 's/^GOARCH="//; s/"$//')
+ # Go race detector is only supported on amd64, ppc64le, and arm64
+ if [ $_goarch = "amd64" ] || [ $_goarch = "ppc64le" ] || [ $_goarch = "arm64" ]; then
+ _race=-race
+ fi
+ go test -mod=vendor -buildmode=default $_race ./...
+}
+
+package() {
+ install -D -m755 ./cloudflared "$pkgdir"/usr/bin/cloudflared
+ install -D -m644 ./cloudflared.1 "$pkgdir"/usr/share/man/man1/cloudflared.1
+
+ install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -D -m755 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -D -m644 "$srcdir"/config.yml "$pkgdir"/etc/$pkgname/config.yml
+}
+
+sha512sums="
+45833cfd35ad8458882008dc73878948955584a1ce26ff63126b7045d5807d67d275c56ac5d39695f42839daf948a78c894c28f692183e92674d43d9254d7534 cloudflared-2023.7.3.tar.gz
+deb54b26ac89da74f6d1016deebdd2a15e302d49c1c2b83787b905e70b00250ddf9568d078c4d1d7b53bba9ab1aa182fbcadca2376a7008f07ce4502a4c6f91c goflags.patch
+01f43af92c2c804f6b31189b78f81a76f078179065bebf12118a8bb3ba22e1c8042ef760f24acdf1356bbe5235df7d2a00d55a158e5fec5063c5d2d6abcd7dee config.yml
+76b684ef4d0267e8546a21cc60239ef94cbb5fd6b3c0f4fbf4e843eb6e8b56943d3200a160e1749b228306e5649e6a1fa90a58f14fb68c5794f2c760a6c14506 cloudflared.initd
+47c71a328d49f3d35dd6e0268e1d734cd21ecc84b24459f77a46df7632f9a8fdb7817cf49187f965c13c94017e4454897caa99ca12b41037dfe0455bb156ef09 cloudflared.confd
+"
diff --git a/testing/cloudflared/cloudflared.confd b/testing/cloudflared/cloudflared.confd
new file mode 100644
index 00000000000..d4cc428bdcd
--- /dev/null
+++ b/testing/cloudflared/cloudflared.confd
@@ -0,0 +1 @@
+command_args="tunnel --config /etc/cloudflared/config.yml run"
diff --git a/testing/cloudflared/cloudflared.initd b/testing/cloudflared/cloudflared.initd
new file mode 100644
index 00000000000..8f425bd0602
--- /dev/null
+++ b/testing/cloudflared/cloudflared.initd
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+
+name=cloudflared
+command=/usr/bin/cloudflared
+command_user=cloudflared:cloudflared
+command_background="yes"
+pidfile=/run/${RC_SVCNAME}.pid
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/cloudflared/cloudflared.pre-install b/testing/cloudflared/cloudflared.pre-install
new file mode 100644
index 00000000000..71fbf728974
--- /dev/null
+++ b/testing/cloudflared/cloudflared.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S cloudflared 2>/dev/null
+adduser -S -D -s /sbin/nologin -G cloudflared -g cloudflared cloudflared 2>/dev/null
+
+exit 0
diff --git a/testing/cloudflared/config.yml b/testing/cloudflared/config.yml
new file mode 100644
index 00000000000..14ca83280be
--- /dev/null
+++ b/testing/cloudflared/config.yml
@@ -0,0 +1,3 @@
+# cloudflared's configuration file
+# cloudflare tunnel see:
+# https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/#4-create-a-configuration-file
diff --git a/testing/cloudflared/goflags.patch b/testing/cloudflared/goflags.patch
new file mode 100644
index 00000000000..89891b944b0
--- /dev/null
+++ b/testing/cloudflared/goflags.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 06fa005..6146471 100644
+--- a/Makefile
++++ b/Makefile
+@@ -126,7 +126,7 @@ ifeq ($(FIPS), true)
+ $(info Building cloudflared with go-fips)
+ cp -f fips/fips.go.linux-amd64 cmd/cloudflared/fips.go
+ endif
+- GOOS=$(TARGET_OS) GOARCH=$(TARGET_ARCH) $(ARM_COMMAND) go build -v -mod=vendor $(GO_BUILD_TAGS) $(LDFLAGS) $(IMPORT_PATH)/cmd/cloudflared
++ GOOS=$(TARGET_OS) GOARCH=$(TARGET_ARCH) $(ARM_COMMAND) go build -v $(GOFLAGS) $(GO_BUILD_TAGS) $(LDFLAGS) $(IMPORT_PATH)/cmd/cloudflared
+ ifeq ($(FIPS), true)
+ rm -f cmd/cloudflared/fips.go
+ ./check-fips.sh cloudflared
diff --git a/testing/cloudfoundry-cli/APKBUILD b/testing/cloudfoundry-cli/APKBUILD
index 0551ca179a9..ffe50cba32b 100644
--- a/testing/cloudfoundry-cli/APKBUILD
+++ b/testing/cloudfoundry-cli/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Thomas Boerger <thomas@webhippie.de>
# Maintainer: Thomas Boerger <thomas@webhippie.de>
pkgname=cloudfoundry-cli
-pkgver=7.2.0
-pkgrel=3
+pkgver=8.7.9
+pkgrel=1
pkgdesc="A CLI for Cloud Foundry written in Go"
url="https://github.com/cloudfoundry/cli"
arch="all !s390x !armv7"
@@ -10,12 +10,14 @@ license="Apache-2.0"
makedepends="go bash"
checkdepends="ginkgo"
options="!check" # some tests fail
-source="$pkgname-$pkgver.tar.gz::https://github.com/cloudfoundry/cli/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cloudfoundry/cli/archive/v$pkgver.tar.gz
+ fix-cgo.patch
+ "
builddir="$srcdir/cli-$pkgver"
-export GOPATH="$srcdir/go"
-export GOCACHE="$srcdir/go-build"
-export GOTEMPDIR="$srcdir/go"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
export GOFLAGS="$GOFLAGS -mod=mod -modcacherw"
@@ -33,5 +35,6 @@ package() {
}
sha512sums="
-9f194460c6ae00666367e60d6053c916ea162946dd198527eddc8dad6c94e0f85816d1000aed9cea825e13674df7c68e90d12be948e30351db4b3b28052bf29d cloudfoundry-cli-7.2.0.tar.gz
+211181ebfbe000ff90e5548ed4881d8d52fb3303438ca6b77b0d9ebc9300ed73f918cb87c9133ad01611c69efab425f5a57a51a8207c5db036d57fa20c8ebcc0 cloudfoundry-cli-8.7.9.tar.gz
+da6f16ef0b5aebb12bcac1272ce731debf25c8533df15074d00beff3910fc0c0fe9e3bb1e817333c585fc71844d4b22e7addc1b08a8b131f9ef11fcc5bbe5e1b fix-cgo.patch
"
diff --git a/testing/cloudfoundry-cli/fix-cgo.patch b/testing/cloudfoundry-cli/fix-cgo.patch
new file mode 100644
index 00000000000..3cd9f1eff9c
--- /dev/null
+++ b/testing/cloudfoundry-cli/fix-cgo.patch
@@ -0,0 +1,30 @@
+--- a/Makefile
++++ b/Makefile
+@@ -156,23 +156,23 @@
+ go build -ldflags "$(LD_FLAGS)" -o out/cf .
+ else
+ out/cf: $(GOSRC)
+- CGO_ENABLED=0 go build \
++ go build \
+ $(REQUIRED_FOR_STATIC_BINARY) \
+ -ldflags "$(LD_FLAGS_LINUX)" -o out/cf .
+ endif
+
+ out/cf-cli_linux_i686: $(GOSRC)
+- CGO_ENABLED=0 GOARCH=386 GOOS=linux go build \
++ GOARCH=386 GOOS=linux go build \
+ $(REQUIRED_FOR_STATIC_BINARY) \
+ -ldflags "$(LD_FLAGS_LINUX)" -o out/cf-cli_linux_i686 .
+
+ out/cf-cli_linux_x86-64: $(GOSRC)
+- CGO_ENABLED=0 GOARCH=amd64 GOOS=linux go build \
++ GOARCH=amd64 GOOS=linux go build \
+ $(REQUIRED_FOR_STATIC_BINARY) \
+ -ldflags "$(LD_FLAGS_LINUX)" -o out/cf-cli_linux_x86-64 .
+
+ out/cf-cli_linux_arm64: $(GOSRC)
+- CGO_ENABLED=0 GOARCH=arm64 GOOS=linux go build \
++ GOARCH=arm64 GOOS=linux go build \
+ $(REQUIRED_FOR_STATIC_BINARY) \
+ -ldflags "$(LD_FLAGS_LINUX)" -o out/cf-cli_linux_arm64 .
+
diff --git a/testing/cluster-glue/APKBUILD b/testing/cluster-glue/APKBUILD
index d0da5d1f4fa..7e49da60c02 100644
--- a/testing/cluster-glue/APKBUILD
+++ b/testing/cluster-glue/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=cluster-glue
pkgver=1.0.12
-pkgrel=3
+pkgrel=5
pkgdesc="Reusable cluster components"
url="https://clusterlabs.org"
arch="all"
@@ -24,7 +24,6 @@ prepare() {
default_prepare
./autogen.sh
- update_config_guess
}
build() {
diff --git a/testing/cm256cc/APKBUILD b/testing/cm256cc/APKBUILD
new file mode 100644
index 00000000000..62f4626e88b
--- /dev/null
+++ b/testing/cm256cc/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Leon ROUX <leon.roux@federate.us>
+# Maintainer: Leon ROUX <leon.roux@federate.us>
+pkgname=cm256cc
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Fast GF(256) Cauchy MDS Block Erasure Codec library in C++"
+url="https://github.com/f4exb/cm256cc"
+license="GPL-3.0-only AND MIT AND BSD-3-Clause"
+# requires ssse3/neon and does not build anything otherwise
+arch="aarch64 x86_64"
+makedepends="
+ cmake
+ samurai
+ "
+subpackages="$pkgname-dev"
+checkdepends="xvfb-run"
+source="$pkgname-$pkgver.tar.gz::https://github.com/f4exb/cm256cc/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_DISTRIBUTION=ON \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
+ -DBUILD_TOOLS="$(want_check && echo ON || echo OFF)"
+ cmake --build build
+}
+
+check() {
+ ./build/cm256_test
+ ./build/cm256_rx
+ ./build/cm256_tx
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ # these are just unit tests
+ # shellcheck disable=2115
+ rm -rfv "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+2bd02675bb2c1c2b422c626c92bd36a0c0fc7a46a0512475424b1bc781d816137eadc52f33f11e100cdc69a7a595f3153fbed0020d6038916e305a2923700959 cm256cc-1.1.0.tar.gz
+"
diff --git a/testing/cmusfm/APKBUILD b/testing/cmusfm/APKBUILD
index 632c5146158..54949135a3b 100644
--- a/testing/cmusfm/APKBUILD
+++ b/testing/cmusfm/APKBUILD
@@ -1,15 +1,14 @@
# Contributor: Cássio Ãvila <cassioavila@yandex.com>
# Maintainer: Cássio Ãvila <cassioavila@yandex.com>
pkgname=cmusfm
-pkgver=0.4.1
+pkgver=0.5.0
pkgrel=0
pkgdesc="Last.fm standalone scrobbler for the cmus music player"
url="https://github.com/Arkq/cmusfm"
-arch="all"
+arch="all !s390x" # 1 test fails
license="GPL-3.0-or-later"
depends="cmus"
makedepends="autoconf automake curl-dev"
-options="!check"
source="$pkgname-$pkgver.tar.gz::https://github.com/Arkq/cmusfm/archive/refs/tags/v$pkgver.tar.gz"
prepare() {
@@ -22,10 +21,14 @@ build() {
make
}
+check() {
+ make check
+}
+
package() {
make DESTDIR="$pkgdir" install
}
sha512sums="
-994599675822de5f809b3eedc423c37afe24e88df29fe4474d1834bf1e9573464d2bdbb084181db1d6c3bc0541891ccbb4514afa066c034e39035192ebc95211 cmusfm-0.4.1.tar.gz
+497ba0c9f776b8d2f11934a5dbc2ea4b4971511f3c3c4df602d1742ba5fcaf4c0f91d5f8a1ebe849e184718e7090fcf146560445398e85f97722bb62c0976fd3 cmusfm-0.5.0.tar.gz
"
diff --git a/testing/coccinelle/APKBUILD b/testing/coccinelle/APKBUILD
new file mode 100644
index 00000000000..202a1941d1d
--- /dev/null
+++ b/testing/coccinelle/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+
+pkgname=coccinelle
+pkgver=1.1.1
+pkgrel=2
+pkgdesc="provides the spatch matching and transformation engine implementing semantic patch language"
+url="https://coccinelle.gitlabpages.inria.fr/website/"
+makedepends="
+ autoconf
+ automake
+ ocaml
+ ocaml-findlib
+ ocaml-num
+ ocaml-ocamldoc
+ "
+depends="
+ pcre
+ python3
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ "
+# riscv64, loongarch64: ocaml
+arch="all !riscv64 !loongarch64"
+license="GPL-2.0-only"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/coccinelle/coccinelle/archive/$pkgver.tar.gz
+
+ unit-test-score.bin
+ "
+
+build() {
+ ./autogen
+ ./configure \
+ --prefix=/usr \
+ --enable-release=yes \
+ --with-python=/usr/bin/python3
+
+ # parallel build broken, but at least coccinelle is relatively small
+ make -j 1
+}
+
+package() {
+ make DESTDIR="$pkgdir" MANDIR="/usr/share/man" install
+}
+
+check() {
+ # coccinelle runs unit tests and compares results with a score file to
+ # track new regressions. We provide it as unit-test-score.bin new to the
+ # APKBUILD.
+ ./spatch.opt \
+ --testall \
+ --no-update-score-file \
+ --expected-score-file "$srcdir"/unit-test-score.bin
+}
+
+sha512sums="
+f935aef406d3356a8e3d08fa7dacd6dd8d49aeb3f00668b775a63881b8d8a259acbbaa21348cb32a8a1cc5cf13dcf10d7e871de0f7c0abb6e45eac24e892df98 coccinelle-1.1.1.tar.gz
+fbd6b52cbea7367f1dc103b9a1d6e7c0bb352952c6cc9436c484c1eb71d0fa605a67c51641be9dc3c72511f8efb78c2d937d4fae1986c3731905df2625c522d5 unit-test-score.bin
+"
diff --git a/testing/coccinelle/unit-test-score.bin b/testing/coccinelle/unit-test-score.bin
new file mode 100644
index 00000000000..37f06af715a
--- /dev/null
+++ b/testing/coccinelle/unit-test-score.bin
Binary files differ
diff --git a/testing/cocogitto/APKBUILD b/testing/cocogitto/APKBUILD
new file mode 100644
index 00000000000..8863f207acd
--- /dev/null
+++ b/testing/cocogitto/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Thomas Böhler <witcher@wiredspace.de>
+# Maintainer: Thomas Böhler <witcher@wiredspace.de>
+pkgname=cocogitto
+pkgver=6.1.0
+pkgrel=0
+pkgdesc="The Conventional Commits toolbox"
+url="https://docs.cocogitto.io/"
+arch="all"
+license="MIT"
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/cocogitto/cocogitto/archive/refs/tags/$pkgver.tar.gz
+ "
+options="!check" # tests relies on, among other things, specific tags
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+
+ local compgen="target/release/cog generate-completions"
+
+ $compgen bash > cog.bash
+ $compgen fish > cog.fish
+ $compgen zsh > cog.zsh
+
+ mkdir man
+ target/release/cog generate-manpages man
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin target/release/cog
+
+ install -Dm644 -t "$pkgdir"/usr/share/doc/"$pkgname" CHANGELOG.md
+ install -Dm644 -t "$pkgdir"/usr/share/doc/"$pkgname" README.md
+
+ install -Dm644 -t "$pkgdir"/usr/share/licenses/"$pkgname" LICENSE
+
+ for i in man/*.1; do
+ gzip "$i"
+ install -Dm644 -t "$pkgdir"/usr/share/man/man1 "$i".gz
+ done
+
+ install -Dm644 cog.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/cog
+ install -Dm644 cog.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/cog.fish
+ install -Dm644 cog.bash \
+ "$pkgdir"/usr/share/zsh/site-functions/_cog
+}
+
+sha512sums="
+362d5fb3d976353bdd1b1bdae04c261865e7e5da44af68f591ee974c83aab54b827db6b50f1aa16ef362201fa04e595b8ffae9a6743b7505a3511fef6b4242f1 cocogitto-6.1.0.tar.gz
+"
diff --git a/testing/code-oss/APKBUILD b/testing/code-oss/APKBUILD
new file mode 100644
index 00000000000..9b0ba5009ea
--- /dev/null
+++ b/testing/code-oss/APKBUILD
@@ -0,0 +1,160 @@
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=code-oss
+pkgver=1.88.0
+pkgrel=0
+# get this from vscodium
+_productjson=2faafce844f574e1db0a27def376bacad2a15023
+pkgdesc="Visual Studio Code (OSS, with VSX)"
+url="https://github.com/microsoft/vscode"
+arch="aarch64 x86_64" # electron
+license="MIT"
+depends="electron ripgrep"
+makedepends="
+ electron-dev
+ imagemagick
+ jq
+ krb5-dev
+ libsecret-dev
+ libxkbfile-dev
+ nodejs18
+ npm
+ pngquant
+ python3
+ yarn
+ "
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ "
+install="$pkgname.post-install"
+source="$pkgname-$pkgver.tar.gz::https://github.com/microsoft/vscode/archive/refs/tags/$pkgver.tar.gz
+ product-$_productjson.json::https://github.com/VSCodium/vscodium/raw/$_productjson/product.json
+ launcher
+ enable-extensions.patch
+ no-git.patch
+ no-res.patch.noauto
+ electron21.patch
+ webpack-hash.patch.noauto
+ system-electron.patch.noauto
+ no-source-maps.patch
+ "
+builddir="$srcdir/vscode-$pkgver"
+options="!check net" # no tests (that make sense to run..)
+
+export ELECTRON_SKIP_BINARY_DOWNLOAD=1
+export PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1
+export npm_config_nodedir=/usr/include/electron/node_headers
+export npm_config_build_from_source=true
+
+prepare() {
+ default_prepare
+
+ sed -i '/^disturl\b/d' .yarnrc
+ echo 'ignore-engines "true"' >> .yarnrc
+
+ # block husky
+ git init .
+
+ # electron 20+ workaround for bad gyp usage
+ # XXX: LARGEFILE64 fixme
+ export CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
+ export CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE"
+ export CXXFLAGS="$CXXFLAGS -std=c++17 -D_LARGEFILE64_SOURCE"
+
+ yarn install --cache-folder "$srcdir" --frozen-lockfile
+
+ patch -Np1 < "$srcdir"/webpack-hash.patch.noauto
+ patch -Np1 < "$srcdir"/no-res.patch.noauto
+ patch -Np1 < "$srcdir"/system-electron.patch.noauto
+
+ # patch out telemetry
+ # backported from https://github.com/VSCodium/vscodium/blob/master/undo_telemetry.sh
+ rg --no-ignore -l "\.data\.microsoft\.com" . \
+ | grep -v "\.map\$" | xargs -t -n 1 -P ${JOBS:-2} sed -i -E "s|//[^/]+\.data\.microsoft\.com|//0\.0\.0\.0|g"
+
+ # merge the product.json from the repo with one from vscodium repo
+ # this fixes some extensions, including python
+ cp product.json original_product.json
+ jq -s '.[0] * .[1]' original_product.json "$srcdir"/product-$_productjson.json > product.json
+}
+
+build() {
+ node18 --max_old_space_size=4096 ./node_modules/.bin/gulp vscode-linux-x64-min
+
+ cd resources/linux
+
+ mv code.png code-1024-x.png
+ local size
+ for size in 16 24 32 48 64 128 192 256 512; do
+ convert code-1024-x.png -resize ${size}x$size code-$size-x.png
+ < code-$size-x.png pngquant --speed 1 - > code-$size.png
+ done
+ < code-1024-x.png pngquant --speed 1 - > code-1024.png
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/applications
+ sed -e "s|@@NAME_LONG@@|Code - OSS|g" \
+ -e "s|@@NAME_SHORT@@|Code - OSS|g" \
+ -e "s|@@NAME@@|code-oss|g" \
+ -e "s|@@EXEC@@|/usr/bin/code-oss|g" \
+ -e "s|@@ICON@@|com.visualstudio.code.oss|g" \
+ -e "s|@@URLPROTOCOL@@|code-oss|g" \
+ resources/linux/code.desktop > "$pkgdir"/usr/share/applications/code-oss.desktop
+ sed -e "s|@@NAME_LONG@@|Code - OSS|g" \
+ -e "s|@@NAME_SHORT@@|Code - OSS|g" \
+ -e "s|@@NAME@@|code-oss|g" \
+ -e "s|@@EXEC@@|/usr/bin/code-oss|g" \
+ -e "s|@@ICON@@|com.visualstudio.code.oss|g" \
+ -e "s|@@URLPROTOCOL@@|code-oss|g" \
+ resources/linux/code-url-handler.desktop > "$pkgdir"/usr/share/applications/code-oss-url-handler.desktop
+
+ for size in 16 24 32 48 64 128 192 256 512 1024; do
+ install -Dm644 resources/linux/code-$size.png \
+ "$pkgdir"/usr/share/icons/hicolor/${size}x$size/apps/com.visualstudio.code.oss.png
+ done
+
+ mkdir -p "$pkgdir"/usr/share/metainfo
+ sed -e "s|@@NAME_LONG@@|Code - OSS|g" \
+ -e "s|@@NAME@@|code-oss|g" \
+ -e "s|@@LICENSE@@|MIT|g" \
+ resources/linux/code.appdata.xml > "$pkgdir"/usr/share/metainfo/code-oss.appdata.xml
+
+ mkdir -p "$pkgdir"/usr/share/mime/packages
+ sed -e "s|@@NAME_LONG@@|Code - OSS|g" \
+ -e "s|@@NAME@@|code-oss|g" \
+ resources/linux/code-workspace.xml > "$pkgdir"/usr/share/mime/packages/code-oss-workspace.xml
+
+ mkdir -p "$pkgdir"/usr/share/bash-completion/completions
+ sed -e "s|@@APPNAME@@|code-oss|g" \
+ resources/completions/bash/code > "$pkgdir"/usr/share/bash-completion/completions/code-oss
+
+ mkdir -p "$pkgdir"/usr/share/zsh/site-functions
+ sed -e "s|@@APPNAME@@|code-oss|g" \
+ resources/completions/zsh/_code > "$pkgdir"/usr/share/zsh/site-functions/_code-oss
+
+ mkdir -p "$pkgdir"/usr/lib/code-oss/resources
+ cp -a ../VSCode-linux-x64/resources/app "$pkgdir"/usr/lib/code-oss/resources/
+
+ # disable update server
+ sed -i "/updateUrl/d" "$pkgdir"/usr/lib/code-oss/resources/app/product.json
+
+ # link to system rg
+ ln -sfv /usr/bin/rg \
+ "$pkgdir"/usr/lib/code-oss/resources/app/node_modules.asar.unpacked/@vscode/ripgrep/bin/rg
+
+ install -Dm755 "$srcdir"/launcher "$pkgdir"/usr/bin/code-oss
+}
+
+sha512sums="
+62617506f0b28d75329eed12041ad81813d14468d42686f4efab0bdf5a9c1c72ca8f094d43992dbf1a4319c112eddfb96ed0a6455d5c23f24cd4dd3dfeb6c012 code-oss-1.88.0.tar.gz
+c46cdcad59d796ea91492ee763897baaf36f7329126d6fd8f6bb782aaefeeba9ddf79c877ab8c22ad1f2194fee5b57b998b81ff994f714d36fc0759da8905ce2 product-2faafce844f574e1db0a27def376bacad2a15023.json
+cca94a1762eec922b6fc4a93301087588455a82ea0e19733cb1067deec1fc64e05d466613860820d680dd8cf16e2aca30bc11afc84a315de1a9c2cb12854cbea launcher
+9f36c7fa6f0fd6a516f8e22c47f53013337985e59085bf1ea70165d42a513a92aa2a7a99ef0715e752c7190fd39ba703d405838e61bcfb60cabe47c421781eb4 enable-extensions.patch
+4f10b14aaab71e69652662dea0dd5ba00d996282bc864743210185d93a9b7c54c71942fe1e7cd630abd914e3c770eca6c2110c13fb6a8c5e728c5172d1d0cd9f no-git.patch
+48e46bd2ec1490e456a9227c4d74eae5e5c6a7e48a98f8f463370bf60eb7fcb140337e3e02577dea1eabbc48174e2e3b31a4717a945d5dc21ccdbfd3a9807349 no-res.patch.noauto
+050bcf858362836ad71ae204a50ce61eb1d512ae29778bff4f1f162a8650892e4a9d44295319d8142126a49a8fa1e6b306429c74a7448077051d479f04c19a93 electron21.patch
+0939ed0e39883b27ac13cdde2e1dbce506043997b6b52610d1f75560db58bac646d6f8fd6b909e8ad595aab6ed9f3777206e33d7fa5a58e0a7acc4c530b5d6b0 webpack-hash.patch.noauto
+7808076aff7037369c9dd40ee07374311a954be513ae08b4c152ff04cbd6fc20ab9e9799e0b62da91135084f98dc55fbe0b593f4a263c30dd12fd88d680f3db0 system-electron.patch.noauto
+20310187474b13bb0d4a7d39cdd93cdb005bf241110da0b02c4fa0927363fe8ea566dd259ce767ceffab771806f3365c209e401f1a3435361582bbedb525c5c7 no-source-maps.patch
+"
diff --git a/testing/code-oss/code-oss.post-install b/testing/code-oss/code-oss.post-install
new file mode 100755
index 00000000000..2579b25376c
--- /dev/null
+++ b/testing/code-oss/code-oss.post-install
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+cat <<EOF
+*
+* This package uses the OpenVSX registry for extensions, not the regular vscode
+* registry. As such, some things may be missing or out of date, and this is not
+* a bug.
+* https://open-vsx.org/
+*
+EOF
diff --git a/testing/code-oss/electron21.patch b/testing/code-oss/electron21.patch
new file mode 100644
index 00000000000..bd66a8cc823
--- /dev/null
+++ b/testing/code-oss/electron21.patch
@@ -0,0 +1,125 @@
+web-tree-sitter: https://github.com/tree-sitter/tree-sitter/issues/2338
+diff --git a/package.json b/package.json
+index 00d5e86..eda82d2 100644
+--- a/package.json
++++ b/package.json
+@@ -219,6 +219,10 @@
+ "xml2js": "^0.5.0",
+ "yaserver": "^0.4.0"
+ },
++ "resolutions": {
++ "nan": "^2.18.0",
++ "node-addon-api": "^7.1.0"
++ },
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/microsoft/vscode.git"
+diff --git a/yarn.lock b/yarn.lock
+index be4114f..20d1ed1 100644
+--- a/yarn.lock
++++ b/yarn.lock
+@@ -6778,10 +6778,10 @@
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+ integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
+
+-nan@^2.12.1:
+- version "2.14.2"
+- resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19"
+- integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==
++nan@^2.12.1, nan@^2.18.0:
++ version "2.18.0"
++ resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
++ integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
+
+ nanoid@3.3.3:
+ version "3.3.3"
+@@ -6883,35 +6883,10 @@
+ dependencies:
+ semver "^7.3.5"
+
+-node-addon-api@7.1.0, node-addon-api@^7.1.0:
++node-addon-api@7.1.0, node-addon-api@^3.0.2, node-addon-api@^3.2.1, node-addon-api@^4.2.0, node-addon-api@^4.3.0, node-addon-api@^6.0.0, node-addon-api@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.0.tgz#71f609369379c08e251c558527a107107b5e0fdb"
+ integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==
+-
+-node-addon-api@^3.0.2:
+- version "3.1.0"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
+- integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
+-
+-node-addon-api@^3.2.1:
+- version "3.2.1"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
+- integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
+-
+-node-addon-api@^4.2.0:
+- version "4.2.0"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.2.0.tgz#117cbb5a959dff0992e1c586ae0393573e4d2a87"
+- integrity sha512-eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q==
+-
+-node-addon-api@^4.3.0:
+- version "4.3.0"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f"
+- integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==
+-
+-node-addon-api@^6.0.0:
+- version "6.0.0"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.0.0.tgz#cfb3574e6df708ff71a30db6c4762d9e06e11c27"
+- integrity sha512-GyHvgPvUXBvAkXa0YvYnhilSB1A+FRYMpIVggKzPZqdaZfevZOuzfWzyvgzOwRLHBeo/MMswmJFsrNF4Nw1pmA==
+
+ node-fetch@2.6.8:
+ version "2.6.8"
+--- ./remote/package.json.orig
++++ ./remote/package.json
+@@ -36,5 +36,9 @@
+ "vscode-textmate": "9.0.0",
+ "yauzl": "^2.9.2",
+ "yazl": "^2.4.3"
++ },
++ "resolutions": {
++ "nan": "^2.18.0",
++ "node-addon-api": "^7.1.0"
+ }
+ }
+--- ./remote/yarn.lock.orig
++++ ./remote/yarn.lock
+@@ -389,6 +389,11 @@
+ resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
++nan@^2.18.0:
++ version "2.18.0"
++ resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
++ integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==
++
+ napi-build-utils@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
+@@ -406,25 +411,10 @@
+ dependencies:
+ semver "^7.3.5"
+
+-node-addon-api@7.1.0, node-addon-api@^7.1.0:
++node-addon-api@7.1.0, node-addon-api@^3.0.2, node-addon-api@^3.2.1, node-addon-api@^4.3.0, node-addon-api@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-7.1.0.tgz#71f609369379c08e251c558527a107107b5e0fdb"
+ integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==
+-
+-node-addon-api@^3.0.2:
+- version "3.1.0"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.1.0.tgz#98b21931557466c6729e51cb77cd39c965f42239"
+- integrity sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw==
+-
+-node-addon-api@^3.2.1:
+- version "3.2.1"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161"
+- integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==
+-
+-node-addon-api@^4.3.0:
+- version "4.3.0"
+- resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f"
+- integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==
+
+ node-gyp-build@^4.3.0:
+ version "4.3.0"
diff --git a/testing/code-oss/enable-extensions.patch b/testing/code-oss/enable-extensions.patch
new file mode 100644
index 00000000000..c1e0f1fa5fe
--- /dev/null
+++ b/testing/code-oss/enable-extensions.patch
@@ -0,0 +1,15 @@
+diff --git a/product.json b/product.json
+index 212ad63..85ec061 100644
+--- a/product.json
++++ b/product.json
+@@ -29,6 +29,10 @@
+ "reportIssueUrl": "https://github.com/microsoft/vscode/issues/new",
+ "urlProtocol": "code-oss",
+ "webviewContentExternalBaseUrlTemplate": "https://{{uuid}}.vscode-cdn.net/insider/ef65ac1ba57f57f2a3961bfe94aa20481caca4c6/out/vs/workbench/contrib/webview/browser/pre/",
++ "extensionsGallery": {
++ "serviceUrl": "https://open-vsx.org/vscode/gallery",
++ "itemUrl": "https://open-vsx.org/vscode/item"
++ },
+ "builtInExtensions": [
+ {
+ "name": "ms-vscode.js-debug-companion",
diff --git a/testing/code-oss/launcher b/testing/code-oss/launcher
new file mode 100644
index 00000000000..6910c13336a
--- /dev/null
+++ b/testing/code-oss/launcher
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+ELECTRON_RUN_AS_NODE=1 \
+ELECTRON_STILL_PASS_THE_DEFAULT_FLAGS=1 \
+exec /usr/bin/electron "/usr/lib/code-oss/resources/app/out/cli.js" \
+ --app="/usr/lib/code-oss/resources/app" \
+ "$@"
diff --git a/testing/code-oss/no-git.patch b/testing/code-oss/no-git.patch
new file mode 100644
index 00000000000..41e4e7a33e8
--- /dev/null
+++ b/testing/code-oss/no-git.patch
@@ -0,0 +1,11 @@
+diff --git a/build/npm/postinstall.js b/build/npm/postinstall.js
+index 187f123..8e489fb 100644
+--- a/build/npm/postinstall.js
++++ b/build/npm/postinstall.js
+@@ -110,6 +110,3 @@
+
+ yarnInstall(dir, opts);
+ }
+-
+-cp.execSync('git config pull.rebase merges');
+-cp.execSync('git config blame.ignoreRevsFile .git-blame-ignore-revs');
diff --git a/testing/code-oss/no-res.patch.noauto b/testing/code-oss/no-res.patch.noauto
new file mode 100644
index 00000000000..f39d7fb8717
--- /dev/null
+++ b/testing/code-oss/no-res.patch.noauto
@@ -0,0 +1,15 @@
+this is called to verify some fetched stuff (that the export= disables don't even
+fix, funny..), but none of it is used or even unpacked, so just skip it because
+it fails.
+--
+--- a/node_modules/sumchecker/index.js
++++ b/node_modules/sumchecker/index.js
+@@ -110,6 +110,8 @@
+ async validateFile (baseDir, filename) {
+ return new Promise((resolve, reject) => {
+ debug(`validateFile: ${filename}`)
++ resolve()
++ return
+
+ const metadata = this.checksums[filename]
+ if (!metadata) {
diff --git a/testing/code-oss/no-source-maps.patch b/testing/code-oss/no-source-maps.patch
new file mode 100644
index 00000000000..5c292d833dd
--- /dev/null
+++ b/testing/code-oss/no-source-maps.patch
@@ -0,0 +1,23 @@
+Error: EMFILE: too many open files, open '/home/lauren/aports/testing/code-oss/src/vscode-1.85.0/out-build/vs/base/browser/ui/list/listView.js.map'
+--- ./build/lib/optimize.ts.orig
++++ ./build/lib/optimize.ts
+@@ -121,7 +121,7 @@
+ }
+
+ function toConcatStream(src: string, bundledFileHeader: string, sources: bundle.IFile[], dest: string, fileContentMapper: (contents: string, path: string) => string): NodeJS.ReadWriteStream {
+- const useSourcemaps = /\.js$/.test(dest) && !/\.nls\.js$/.test(dest);
++ const useSourcemaps = false;
+
+ // If a bundle ends up including in any of the sources our copyright, then
+ // insert a fake source at the beginning of each bundle with our copyright
+--- ./build/lib/optimize.js.orig
++++ ./build/lib/optimize.js
+@@ -103,7 +103,7 @@
+ return code.replace('"$BASE_URL"', 'baseUrl');
+ }
+ function toConcatStream(src, bundledFileHeader, sources, dest, fileContentMapper) {
+- const useSourcemaps = /\.js$/.test(dest) && !/\.nls\.js$/.test(dest);
++ const useSourcemaps = false;
+ // If a bundle ends up including in any of the sources our copyright, then
+ // insert a fake source at the beginning of each bundle with our copyright
+ let containsOurCopyright = false;
diff --git a/testing/code-oss/system-electron.patch.noauto b/testing/code-oss/system-electron.patch.noauto
new file mode 100644
index 00000000000..30ad5828251
--- /dev/null
+++ b/testing/code-oss/system-electron.patch.noauto
@@ -0,0 +1,16 @@
+--- ./node_modules/@vscode/gulp-electron/src/index.js.orig
++++ ./node_modules/@vscode/gulp-electron/src/index.js
+@@ -48,11 +48,8 @@
+
+ var sources = es
+ .merge(es.readArray(buffer), pass)
+- .pipe(moveApp(platform, opts));
+-
+- var electron = download(opts).pipe(platform.patch(opts));
+-
+- es.merge(sources, electron).pipe(result);
++ .pipe(moveApp(platform, opts))
++ .pipe(result);
+
+ buffer = null;
+ })
diff --git a/testing/code-oss/webpack-hash.patch.noauto b/testing/code-oss/webpack-hash.patch.noauto
new file mode 100644
index 00000000000..7b4e1f85dc3
--- /dev/null
+++ b/testing/code-oss/webpack-hash.patch.noauto
@@ -0,0 +1,11 @@
+--- a/node_modules/webpack/lib/util/createHash.js
++++ b/node_modules/webpack/lib/util/createHash.js
+@@ -142,7 +142,7 @@
+ default:
+ if (crypto === undefined) crypto = require("crypto");
+ return new BulkUpdateDecorator(
+- () => crypto.createHash(algorithm),
++ () => crypto.createHash("sha1"),
+ algorithm
+ );
+ }
diff --git a/testing/codeberg-cli/APKBUILD b/testing/codeberg-cli/APKBUILD
new file mode 100644
index 00000000000..f1c8697861e
--- /dev/null
+++ b/testing/codeberg-cli/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=codeberg-cli
+pkgver=0.3.5
+pkgrel=0
+pkgdesc="CLI Tool for Codeberg similar to gh and glab"
+url="https://codeberg.org/RobWalt/codeberg-cli"
+arch="all"
+license="AGPL-3.0-or-later"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/RobWalt/codeberg-cli/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
+options="net !check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm755 target/release/berg -t "$pkgdir"/usr/bin
+
+ mkdir -p "$pkgdir"/usr/share/bash-completion/completions
+ mkdir -p "$pkgdir"/usr/share/fish/vendor_completions.d
+ mkdir -p "$pkgdir"/usr/share/zsh/site-functions
+
+ target/release/berg completion bash > "$pkgdir"/usr/share/bash-completion/completions/berg
+ target/release/berg completion fish > "$pkgdir"/usr/share/fish/vendor_completions.d/berg.fish
+ target/release/berg completion zsh > "$pkgdir"/usr/share/zsh/site-functions/_berg
+}
+
+sha512sums="
+cd22faee4d2fca78dcdee857112dd5cd8c03f314266a8ddaabddb4fcc054688fe1d3b679c904b84a40356b1404893e7999f0ddb651efcdfdc83c93cf512e5ce2 codeberg-cli-0.3.5.tar.gz
+"
diff --git a/testing/codeblocks/0001-v20.03-r12008.patch b/testing/codeblocks/0001-v20.03-r12008.patch
deleted file mode 100644
index 5a125f6cef7..00000000000
--- a/testing/codeblocks/0001-v20.03-r12008.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-------------------------------------------------------------------------
-r12008 | fuscated | 2020-03-30 19:14:41 +0200 (Mon, 30 Mar 2020) | 3 lines
-
-- DragScroll: Remove int3, so it might build on non-x86 machines (ticket #935)
-
-> I guess this is useful only for debugging.
-
-Index: src/plugins/contrib/dragscroll/dragscrollcfg.h
-===================================================================
---- a/src/plugins/contrib/dragscroll/dragscrollcfg.h (revision 12007)
-+++ b/src/plugins/contrib/dragscroll/dragscrollcfg.h (revision 12008)
-@@ -35,7 +35,7 @@
- wxString GetBitmapBaseName() const;
- void OnApply();
- void OnCancel(){}
-- virtual void InitDialog(){ asm("int3");} /*trap*/
-+ virtual void InitDialog() { } /*trap*/
-
- // pointer to owner of the configuration diaglog needed to
- // complete the OnApply/OnCancel EndModal() logic
-
-------------------------------------------------------------------------
diff --git a/testing/codeblocks/0002-v20.03-r12012.patch b/testing/codeblocks/0002-v20.03-r12012.patch
deleted file mode 100644
index 12988765acb..00000000000
--- a/testing/codeblocks/0002-v20.03-r12012.patch
+++ /dev/null
@@ -1,140 +0,0 @@
-------------------------------------------------------------------------
-r12012 | mortenmacfly | 2020-03-31 17:44:13 +0200 (Tue, 31 Mar 2020) | 2 lines
-
-* keybinder: remove old-school #pragmas to fix bug #936 and https://bugzilla.redhat.com/show_bug.cgi?id=1819154
-- keybinder: also, remove Borland c related pragmas. (Who will ever compile C::B using Borland C?)
-
-Index: src/plugins/contrib/keybinder/cbKeyConfigPanel.h
-===================================================================
---- a/src/plugins/contrib/keybinder/cbKeyConfigPanel.h (revision 12011)
-+++ b/src/plugins/contrib/keybinder/cbKeyConfigPanel.h (revision 12012)
-@@ -10,10 +10,6 @@
- #ifndef CBKEYCONFIGPANEL_H
- #define CBKEYCONFIGPANEL_H
-
--#ifdef __BORLANDC__
-- #pragma hdrstop
--#endif
--
- // Modified Keybinder for CodeBlocks KeyBnder v2.0
-
- // ----------------------------------------------------------------------------
-Index: src/plugins/contrib/keybinder/cbkeyConfigPanel.cpp
-===================================================================
---- a/src/plugins/contrib/keybinder/cbkeyConfigPanel.cpp (revision 12011)
-+++ b/src/plugins/contrib/keybinder/cbkeyConfigPanel.cpp (revision 12012)
-@@ -12,10 +12,6 @@
-
- // Modified CodeBlocks KeyBnder v2.0 2019/04/8
-
--#if defined(__GNUG__) && !defined(__APPLE__)
-- #pragma implementation "cbkeybinder.h"
--#endif
--
- #include <vector>
-
- #include <sdk.h>
-Index: src/plugins/contrib/keybinder/cbkeybinder.cpp
-===================================================================
---- a/src/plugins/contrib/keybinder/cbkeybinder.cpp (revision 12011)
-+++ b/src/plugins/contrib/keybinder/cbkeybinder.cpp (revision 12012)
-@@ -12,10 +12,6 @@
-
- // Modified CodeBlocks KeyBnder v2.0 2019/04/8
-
--#if defined(__GNUG__) && !defined(__APPLE__)
-- #pragma implementation "cbkeybinder.h"
--#endif
--
- #include <vector>
-
- #include <sdk.h>
-Index: src/plugins/contrib/keybinder/cbkeybinder.h
-===================================================================
---- a/src/plugins/contrib/keybinder/cbkeybinder.h (revision 12011)
-+++ b/src/plugins/contrib/keybinder/cbkeybinder.h (revision 12012)
-@@ -10,14 +10,6 @@
- #ifndef CBKEYBINDER_H
- #define CBKEYBINDER_H
-
--#if defined(__GNUG__) && !defined(__APPLE__)
-- #pragma interface "cbkeybinder.h"
--#endif
--
--#ifdef __BORLANDC__
-- #pragma hdrstop
--#endif
--
- #include <wx/string.h>
- //-#include <wx/timer.h>
- #include <wx/listbook.h>
-Index: src/plugins/contrib/keybinder/keybinder.cpp
-===================================================================
---- a/src/plugins/contrib/keybinder/keybinder.cpp (revision 12011)
-+++ b/src/plugins/contrib/keybinder/keybinder.cpp (revision 12012)
-@@ -12,11 +12,6 @@
-
- // Modified Keybinder for CodeBlocks KeyBnder v2.0 2019/04/8
-
--#ifdef __GNUG__
--#pragma implementation "keybinder.h" //necessary for linux, else undefines when linking
--#endif
--
--
- // includes
- #include <wx/event.h>
- #include <wx/frame.h> // Manager::Get()->GetAppWindow()
-Index: src/plugins/contrib/keybinder/keybinder.h
-===================================================================
---- a/src/plugins/contrib/keybinder/keybinder.h (revision 12011)
-+++ b/src/plugins/contrib/keybinder/keybinder.h (revision 12012)
-@@ -16,10 +16,6 @@
- #ifndef __KEYBINDER_G__
- #define __KEYBINDER_G__
-
--#ifdef __GNUG__
--#pragma interface "keybinder.h"
--#endif
--
- // required includes
- #include "wx/panel.h"
- #include "wx/dialog.h"
-Index: src/plugins/contrib/keybinder/menuutils.cpp
-===================================================================
---- a/src/plugins/contrib/keybinder/menuutils.cpp (revision 12011)
-+++ b/src/plugins/contrib/keybinder/menuutils.cpp (revision 12012)
-@@ -10,17 +10,10 @@
- // RCS-ID: $Id$
-
- // menuutils for KeyBinder v2.0 2019/04/8
--#ifdef __GNUG__
--#pragma implementation "menuutils.h"
--#endif
-
- // For compilers that support precompilation, includes "wx/wx.h".
- #include "wx/wxprec.h"
-
--#ifdef __BORLANDC__
--#pragma hdrstop
--#endif
--
- #ifndef WX_PRECOMP
- #include "wx/wx.h"
- #endif
-Index: src/plugins/contrib/keybinder/menuutils.h
-===================================================================
---- a/src/plugins/contrib/keybinder/menuutils.h (revision 12011)
-+++ b/src/plugins/contrib/keybinder/menuutils.h (revision 12012)
-@@ -15,10 +15,6 @@
- #ifndef __WX_MENUUTILS_H__
- #define __WX_MENUUTILS_H__
-
--#ifdef __GNUG__
--#pragma interface "menuutils.h"
--#endif
--
- // includes
- #include "wx/panel.h"
- #include "wx/dialog.h"
-
-------------------------------------------------------------------------
diff --git a/testing/codeblocks/0003-fix-missing-sentinel.patch b/testing/codeblocks/0003-fix-missing-sentinel.patch
deleted file mode 100644
index 1b80e10033a..00000000000
--- a/testing/codeblocks/0003-fix-missing-sentinel.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/src/sdk/configmanager.cpp
-+++ b/src/sdk/configmanager.cpp
-@@ -612,7 +612,7 @@
- return wxStandardPathsBase::Get().GetUserDataDir();
- #else
- #ifdef __linux__
-- return wxString::FromUTF8(g_build_filename (g_get_user_config_dir(), "codeblocks", NULL));
-+ return wxString::FromUTF8(g_build_filename (g_get_user_config_dir(), "codeblocks", (void *)NULL));
- #else
- return wxStandardPathsBase::Get().GetUserDataDir();
- #endif // __linux__
-@@ -1586,7 +1586,7 @@
- wxString dataPathUser = ConfigManager::config_folder + wxFILE_SEP_PATH + _T("share");
- #ifdef __linux__
- if (!has_alternate_user_data_path)
-- dataPathUser = wxString::FromUTF8(g_build_filename (g_get_user_data_dir(), NULL));
-+ dataPathUser = wxString::FromUTF8(g_build_filename (g_get_user_data_dir(), (void *)NULL));
- #endif // __linux__
-
- ConfigManager::data_path_user = dataPathUser + wxFILE_SEP_PATH + _T("codeblocks");
-@@ -1612,14 +1612,14 @@
-
- // ConfigManager::config_folder might be the portable-path but we want to migrate the standard-conform folder,
- // but only if it not already exists
-- wxString newConfigFolder = wxString::FromUTF8(g_build_filename (g_get_user_config_dir(), "codeblocks", NULL));
-+ wxString newConfigFolder = wxString::FromUTF8(g_build_filename (g_get_user_config_dir(), "codeblocks", (void *)NULL));
- // if the new config folder already exist, we step out immediately
- if (wxDirExists(newConfigFolder))
- return;
-
- wxString oldConfigFolder = wxStandardPaths::Get().GetUserDataDir();
- wxString oldDataFolder = oldConfigFolder + wxFILE_SEP_PATH + _T("share") + wxFILE_SEP_PATH + _T("codeblocks");
-- wxString newDataFolder = wxString::FromUTF8(g_build_filename (g_get_user_data_dir(), NULL)) + wxFILE_SEP_PATH + _T("codeblocks");
-+ wxString newDataFolder = wxString::FromUTF8(g_build_filename (g_get_user_data_dir(), (void *)NULL)) + wxFILE_SEP_PATH + _T("codeblocks");
- wxString msg;
- msg = F(_("The places where the configuration files and user-data files are stored\n"
- "have been changed to be more standard-conform.\n"
diff --git a/testing/codeblocks/0004-delete-wxpropgrid.patch b/testing/codeblocks/0004-delete-wxpropgrid.patch
deleted file mode 100644
index 76f414b28b8..00000000000
--- a/testing/codeblocks/0004-delete-wxpropgrid.patch
+++ /dev/null
@@ -1,188 +0,0 @@
---- a/src/CodeBlocks-unix.cbp
-+++ b/src/CodeBlocks-unix.cbp
-@@ -97,20 +97,6 @@
- <Add directory="sdk/wxscintilla/include" />
- </ResourceCompiler>
- </Target>
-- <Target title="wxpropgrid">
-- <Option output="devel/libwxpropgrid" prefix_auto="0" extension_auto="1" />
-- <Option working_dir="devel" />
-- <Option type="3" />
-- <Option compiler="gcc" />
-- <Option createStaticLib="1" />
-- <Compiler>
-- <Add option="-fvisibility=hidden" />
-- <Add option="-DEXPORT_LIB" />
-- <Add option="-DwxPG_SUPPORT_TOOLTIPS" />
-- <Add directory="sdk/wxpropgrid/include" />
-- <Add directory="include" />
-- </Compiler>
-- </Target>
- <Target title="sdk">
- <Option output="devel/libcodeblocks" prefix_auto="0" extension_auto="1" />
- <Option working_dir="devel" />
-@@ -135,7 +121,6 @@
- <Add directory="include/mozilla_chardet/xpcom" />
- <Add directory="include/mozilla_chardet/xpcom/base" />
- <Add directory="include/mozilla_chardet/xpcom/glue" />
-- <Add directory="sdk/wxpropgrid/include" />
- </Compiler>
- <Linker>
- <Add option="-lwxscintilla_cb" />
-@@ -174,7 +159,6 @@
- <Linker>
- <Add option="`pkg-config gtk+-2.0 --libs`" />
- <Add library="codeblocks" />
-- <Add library="wxpropgrid" />
- </Linker>
- </Target>
- <Target title="Abbreviations">
-@@ -266,7 +250,6 @@
- <Add option="-Wl,--no-undefined" />
- <Add library="codeblocks" />
- <Add library="depslib" />
-- <Add library="wxpropgrid" />
- </Linker>
- </Target>
- <Target title="Debugger">
-@@ -462,9 +445,9 @@
- </Environment>
- </Build>
- <VirtualTargets>
-- <Add alias="All" targets="tinyXML;AutoRevision;ConsoleRunner;Squirrel;Squirrel std lib;SqPlus;scintilla;wxpropgrid;sdk;src;Abbreviations;AStyle;Autosave;Compiler depslib;Compiler;Debugger;Code-completion;Class wizard;Default MIME handler;Occurrences Highlighting;Open files list;Projects-workspaces importer;Scripted wizard;To-do;" />
-+ <Add alias="All" targets="tinyXML;AutoRevision;ConsoleRunner;Squirrel;Squirrel std lib;SqPlus;scintilla;sdk;src;Abbreviations;AStyle;Autosave;Compiler depslib;Compiler;Debugger;Code-completion;Class wizard;Default MIME handler;Occurrences Highlighting;Open files list;Projects-workspaces importer;Scripted wizard;To-do;" />
- <Add alias="Core app &amp; plugins" targets="sdk;src;Abbreviations;AStyle;Autosave;Compiler depslib;Compiler;Debugger;Code-completion;Class wizard;Default MIME handler;Occurrences Highlighting;Open files list;Projects-workspaces importer;Scripted wizard;To-do;" />
-- <Add alias="Third-party libs" targets="tinyXML;AutoRevision;ConsoleRunner;Squirrel;Squirrel std lib;SqPlus;scintilla;wxpropgrid;Compiler depslib;" />
-+ <Add alias="Third-party libs" targets="tinyXML;AutoRevision;ConsoleRunner;Squirrel;Squirrel std lib;SqPlus;scintilla;Compiler depslib;" />
- </VirtualTargets>
- <Compiler>
- <Add option="-Wall" />
-@@ -479,7 +462,6 @@
- <Add option="-DcbDEBUG" />
- <Add option="-DCB_PRECOMP" />
- <Add directory="sdk/wxscintilla/include" />
-- <Add directory="sdk/wxpropgrid/include" />
- <Add directory="include/tinyxml" />
- </Compiler>
- <Linker>
-@@ -3125,57 +3107,6 @@
- </Unit>
- <Unit filename="sdk/workspaceloader.cpp">
- <Option target="sdk" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/advprops.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/editors.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/extras.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/manager.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/odcombo.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/propdev.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/propgrid.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/props.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/include/wx/propgrid/xh_propgrid.h">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/src/advprops.cpp">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/src/editors.cpp">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/src/extras.cpp">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/src/manager.cpp">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/src/odcombo.cpp">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/src/propgrid.cpp">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/src/props.cpp">
-- <Option target="wxpropgrid" />
-- </Unit>
-- <Unit filename="sdk/wxpropgrid/src/xh_propgrid.cpp">
-- <Option target="wxpropgrid" />
- </Unit>
- <Unit filename="sdk/wxscintilla/include/wx/wxscintilla.h">
- <Option target="scintilla" />
---- a/configure.ac
-+++ b/configure.ac
-@@ -318,16 +318,10 @@
- AC_MSG_RESULT(yes (version $WX_VERSION))
- AC_MSG_NOTICE([(Re)setting libs for wxWidgets $WX_VERSION])
- WX_LIBS=`$WX_CONFIG_WITH_ARGS --libs std,aui,propgrid,richtext`
-- WXPROPGRID_DIR=
-- WXPROPGRID_LIB=
-- WXPROPGRID_INCLUDE=
- SCINTILLA_GTK_CFLAGS="$WX_GDK_CFLAGS"
- SCINTILLA_GTK_LIBS="$WX_GDK_LIBS"
- else
- AC_MSG_RESULT(no)
-- WXPROPGRID_DIR=wxpropgrid
-- WXPROPGRID_LIB=wxpropgrid/libwxpropgrid.la
-- WXPROPGRID_INCLUDE=-I\$\(top_srcdir\)/src/sdk/wxpropgrid/include
-
- if test "x$HAVE_GCC48_TRUE" = "x" ; then
- gcc48_flags="-Wno-unused-local-typedefs"
-@@ -372,10 +366,6 @@
- AC_SUBST(CB_FONTCONFIG_LIBS)
- AC_SUBST(WX_X11_CFLAGS)
- AC_SUBST(WX_X11_LIBS)
--AC_SUBST(WXPROPGRID_DIR)
--AC_SUBST(WXPROPGRID_LIB)
--AC_SUBST(WXPROPGRID_INCLUDE)
--AC_SUBST(WXPROPGRID_HEADERS)
-
- AC_SUBST(POSTLINK_COMMAND)
- AC_SUBST(MACSETFILE)
-@@ -434,7 +424,6 @@
- src/include/scripting/squirrel/Makefile
- src/include/tinyxml/Makefile
- src/sdk/Makefile
-- src/sdk/wxpropgrid/Makefile
- src/sdk/scripting/Makefile
- src/sdk/scripting/bindings/Makefile
- src/sdk/scripting/squirrel/Makefile
---- a/src/sdk/Makefile.am
-+++ b/src/sdk/Makefile.am
-@@ -1,12 +1,11 @@
--SUBDIRS = scripting wxscintilla $(WXPROPGRID_DIR) resources
--DIST_SUBDIRS = scripting wxscintilla wxpropgrid resources
-+SUBDIRS = scripting wxscintilla resources
-+DIST_SUBDIRS = scripting wxscintilla resources
-
- AM_CPPFLAGS = $(WX_CXXFLAGS) \
- $(CB_GLIB2_CFLAGS) \
- $(CB_SQUIRREL_CFLAGS) \
- -I$(top_srcdir)/src/include \
- -I$(top_srcdir)/src/sdk/wxscintilla/include \
-- $(WXPROPGRID_INCLUDE) \
- -I$(top_srcdir)/src/include/scripting/bindings \
- -I$(top_srcdir)/src/include/scripting/sqplus \
- -I$(top_srcdir)/src/include/mozilla_chardet \
-@@ -26,7 +25,6 @@
- $(WX_LIBS) \
- $(SCINTILLA_GTK_LIBS) \
- $(CB_GLIB2_LIBS) \
-- $(WXPROPGRID_LIB) \
- $(CB_TINYXML_LIBS) \
- $(CB_SQUIRREL_LIBS)
-
diff --git a/testing/codeblocks/0005-fix-pkgconfig-codeblocks-version.patch b/testing/codeblocks/0005-fix-pkgconfig-codeblocks-version.patch
deleted file mode 100644
index 3f237591e9e..00000000000
--- a/testing/codeblocks/0005-fix-pkgconfig-codeblocks-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/codeblocks.pc.in
-+++ b/codeblocks.pc.in
-@@ -8,7 +8,7 @@
-
- Name: codeblocks
- Description: Code::Blocks IDE
--Version: @VERSION@
-+Version: 20.03
- Libs: -L${libdir} -lcodeblocks
- Cflags: -I${includedir}/@PACKAGE@ \
- -I${includedir}/@PACKAGE@/tinyxml \
diff --git a/testing/codeblocks/0006-fix-openfileslistplugin-gcc11.patch b/testing/codeblocks/0006-fix-openfileslistplugin-gcc11.patch
deleted file mode 100644
index 23dc1a8e18b..00000000000
--- a/testing/codeblocks/0006-fix-openfileslistplugin-gcc11.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/src/plugins/openfileslist/openfileslistplugin.h
-+++ b/src/plugins/openfileslist/openfileslistplugin.h
-@@ -10,6 +10,7 @@
- #include <projectfile.h>
-
- #include <wx/dynarray.h>
-+#include <functional>
-
- class wxTreeCtrl;
- class wxTreeEvent;
-@@ -20,12 +21,8 @@
- struct TargetFilesData
- {
- TargetFilesData() : activeFile(nullptr) {} // ctor
-- // Functor for the std::set predicate to sort the opened editor files according to their tab order
-- struct compareLess
-- {
-- bool operator()(const ProjectFile* lhs, const ProjectFile* rhs) { return lhs->editorTabPos < rhs->editorTabPos; }
-- };
-- typedef std::set<ProjectFile*, compareLess> OpenFilesSet;
-+
-+ typedef std::set<ProjectFile*, std::less<ProjectFile*>> OpenFilesSet;
- ProjectFile* activeFile;
- OpenFilesSet openFiles;
- };
diff --git a/testing/codeblocks/APKBUILD b/testing/codeblocks/APKBUILD
deleted file mode 100644
index c75f2f57789..00000000000
--- a/testing/codeblocks/APKBUILD
+++ /dev/null
@@ -1,234 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=codeblocks
-pkgver=20.03
-pkgrel=0
-pkgdesc="Cross-platform C/C++ and Fortran IDE"
-url="https://codeblocks.org"
-# riscv64: ftbfs
-arch="all !riscv64"
-license="GPL-3.0-or-later"
-# coreutils is needed because ./bootstrap calls a rm parameter that is not supported in BusyBox
-makedepends="
- libtool automake autoconf coreutils imagemagick zip
- boost-dev hunspell-dev wxgtk3-dev tinyxml-dev
- "
-subpackages="$pkgname-dev $pkgname-doc $pkgname-contrib"
-source="https://sourceforge.net/projects/codeblocks/files/Sources/$pkgver/codeblocks-$pkgver.tar.xz
- 0001-v20.03-r12008.patch
- 0002-v20.03-r12012.patch
- 0003-fix-missing-sentinel.patch
- 0004-delete-wxpropgrid.patch
- 0005-fix-pkgconfig-codeblocks-version.patch
- 0006-fix-openfileslistplugin-gcc11.patch
- "
-options="!check" # No test suite
-
-prepare() {
- default_prepare
-
- # wxpropgrid fails building. Remove the directory and patch files
- # Upstream has deleted it due to unmanteinance
- rm -vr src/sdk/wxpropgrid
- convert src/mime/codeblocks.png +set date:create +set date:modify -background none -extent 64x64 src/mime/codeblocks.png
- sed -i 's|$(datadir)/pixmaps|$(datadir)/icons/hicolor/64x64/apps|' src/mime/Makefile.am
- sed -i 's|$(datarootdir)/appdata|$(datarootdir)/metainfo|' Makefile.am src/plugins/contrib/appdata/Makefile.am
- ./bootstrap
-
- # Patch auto_revision's Makefile.am to use the host compiler and flags
- cd src/build_tools/autorevision
- sed -i Makefile.am \
- -e "/noinst_PROGRAMS = auto_revision/a CC = gcc" \
- -e "/noinst_PROGRAMS = auto_revision/a CXX = g++" \
- -e "/noinst_PROGRAMS = auto_revision/a LD = g++" \
- -e "/noinst_PROGRAMS = auto_revision/a CFLAGS = -O2 -pipe" \
- -e "/noinst_PROGRAMS = auto_revision/a CXXFLAGS = -O2 -pipe" \
- -e "/noinst_PROGRAMS = auto_revision/a LDFLAGS = -s"
-}
-
-build() {
- # Deactivate wxsmith-related plugins because they depend on wxpropgrid
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --with-boost-libdir=/usr/lib \
- --with-contrib-plugins=all,-FileManager,-wxsmith,-wxsmithcontrib,-wxsmithaui \
- --with-wx-config=/usr/bin/wx-config-gtk3 \
- --prefix=/usr
- sed -i 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- # Replace pkgconfig file for 20.03 version (Reason: 20.03svn version is invalid)
- find "$pkgdir" -type f -exec sed -i 's/20.03svn/20.03/g' {} +
-}
-
-dev() {
- default_dev
- pkgdesc="$pkgdesc (SDK)"
-}
-
-contrib() {
- pkgdesc="$pkgdesc (contrib plugins)"
- mkdir -p "$subpkgdir"/usr/share/metainfo
- mkdir -p "$subpkgdir"/usr/share/codeblocks/images
-
- # Move plugins and wxContribItems to this subpackage
- amove usr/lib/codeblocks
-
- # Move contrib metainfo file
- # While at it, also place it in the correct directory
- mv -v "$pkgdir"/usr/share/metainfo/codeblocks-contrib.metainfo.xml \
- "$subpkgdir"/usr/share/metainfo/codeblocks-contrib.metainfo.xml
-
- # Move optional plugins to this subcategory
- mv -v "$pkgdir"/usr/share/codeblocks/AutoVersioning.zip \
- "$subpkgdir"/usr/share/codeblocks/AutoVersioning.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/BrowseTracker.zip \
- "$subpkgdir"/usr/share/codeblocks/BrowseTracker.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/Cccc.zip \
- "$subpkgdir"/usr/share/codeblocks/Cccc.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/CppCheck.zip \
- "$subpkgdir"/usr/share/codeblocks/CppCheck.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/Cscope.zip \
- "$subpkgdir"/usr/share/codeblocks/Cscope.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/DoxyBlocks.zip \
- "$subpkgdir"/usr/share/codeblocks/DoxyBlocks.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/EditorConfig.zip \
- "$subpkgdir"/usr/share/codeblocks/EditorConfig.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/EditorTweaks.zip \
- "$subpkgdir"/usr/share/codeblocks/EditorTweaks.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/HexEditor.zip \
- "$subpkgdir"/usr/share/codeblocks/HexEditor.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/IncrementalSearch.zip \
- "$subpkgdir"/usr/share/codeblocks/IncrementalSearch.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/MouseSap.zip \
- "$subpkgdir"/usr/share/codeblocks/MouseSap.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/NassiShneiderman.zip \
- "$subpkgdir"/usr/share/codeblocks/NassiShneiderman.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/Profiler.zip \
- "$subpkgdir"/usr/share/codeblocks/Profiler.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/ProjectOptionsManipulator.zip \
- "$subpkgdir"/usr/share/codeblocks/ProjectOptionsManipulator.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/RegExTestbed.zip \
- "$subpkgdir"/usr/share/codeblocks/RegExTestbed.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/ReopenEditor.zip \
- "$subpkgdir"/usr/share/codeblocks/ReopenEditor.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SmartIndentCpp.zip \
- "$subpkgdir"/usr/share/codeblocks/SmartIndentCpp.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SmartIndentFortran.zip \
- "$subpkgdir"/usr/share/codeblocks/SmartIndentFortran.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SmartIndentHDL.zip \
- "$subpkgdir"/usr/share/codeblocks/SmartIndentHDL.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SmartIndentLua.zip \
- "$subpkgdir"/usr/share/codeblocks/SmartIndentLua.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SmartIndentPascal.zip \
- "$subpkgdir"/usr/share/codeblocks/SmartIndentPascal.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SmartIndentPython.zip \
- "$subpkgdir"/usr/share/codeblocks/SmartIndentPython.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SmartIndentXML.zip \
- "$subpkgdir"/usr/share/codeblocks/SmartIndentXML.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SpellChecker \
- "$subpkgdir"/usr/share/codeblocks/SpellChecker
-
- mv -v "$pkgdir"/usr/share/codeblocks/SpellChecker.zip \
- "$subpkgdir"/usr/share/codeblocks/SpellChecker.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/SymTab.zip \
- "$subpkgdir"/usr/share/codeblocks/SymTab.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/ThreadSearch.zip \
- "$subpkgdir"/usr/share/codeblocks/ThreadSearch.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/ToolsPlus.zip \
- "$subpkgdir"/usr/share/codeblocks/ToolsPlus.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/Valgrind.zip \
- "$subpkgdir"/usr/share/codeblocks/Valgrind.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/abbreviations.zip \
- "$subpkgdir"/usr/share/codeblocks/abbreviations.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/byogames.zip \
- "$subpkgdir"/usr/share/codeblocks/byogames.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/cb_koders.zip \
- "$subpkgdir"/usr/share/codeblocks/cb_koders.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/codesnippets.zip \
- "$subpkgdir"/usr/share/codeblocks/codesnippets.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/codestat.zip \
- "$subpkgdir"/usr/share/codeblocks/codestat.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/copystrings.zip \
- "$subpkgdir"/usr/share/codeblocks/copystrings.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/dragscroll.zip \
- "$subpkgdir"/usr/share/codeblocks/dragscroll.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/envvars.zip \
- "$subpkgdir"/usr/share/codeblocks/envvars.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/exporter.zip \
- "$subpkgdir"/usr/share/codeblocks/exporter.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/headerfixup.zip \
- "$subpkgdir"/usr/share/codeblocks/headerfixup.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/help_plugin.zip \
- "$subpkgdir"/usr/share/codeblocks/help_plugin.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/images/codesnippets \
- "$subpkgdir"/usr/share/codeblocks/images/codesnippets
-
- mv -v "$pkgdir"/usr/share/codeblocks/keybinder.zip \
- "$subpkgdir"/usr/share/codeblocks/keybinder.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/lib_finder \
- "$subpkgdir"/usr/share/codeblocks/lib_finder
-
- mv -v "$pkgdir"/usr/share/codeblocks/lib_finder.zip \
- "$subpkgdir"/usr/share/codeblocks/lib_finder.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/occurrenceshighlighting.zip \
- "$subpkgdir"/usr/share/codeblocks/occurrenceshighlighting.zip
-
- mv -v "$pkgdir"/usr/share/codeblocks/rndgen.zip \
- "$subpkgdir"/usr/share/codeblocks/rndgen.zip
-}
-
-sha512sums="
-f97c1a02d31f0be4dc08b1f19b57bd0d3cba375ab5f33ab91b2a2df7817018f5b3e3063ed07199a3970644f1caa7c7e511db2034c73264f5f4963046d65b0097 codeblocks-20.03.tar.xz
-98584a93790974481a669cb86a01efe42690fe4a4e0a6c04abc15e3ea0c037be0b0cdc63164907e0c9f51414bb32b2879f6a06117d1374a4288a0a03bec4080f 0001-v20.03-r12008.patch
-1580f63e559470f58990831c49c8885ba980416326bc66a5564a47681d9f33124809824d7e6caab2ebfbde8bf57def4e9e06a41d30379bb7aa5a2deaee3803c1 0002-v20.03-r12012.patch
-d8ef0d5fd0605b00d72833591df78b6160bd4d3ae02523b0eba796bc6e375384b241bb24c3a44b45df7a47bf47bf58f1f94eb8459d177ab516383617955e0dd0 0003-fix-missing-sentinel.patch
-1b642ad9e4c479fb81674c4fa412e3c6d169bad9cad4b6748433004e5e0c31f1d1aba9a81eb02eb6ffd8927ae96d56a8fd90f009b7aa0925ae2e397794fedbac 0004-delete-wxpropgrid.patch
-792fcb9b570e5ee0fbadc2ab68b17f3f76c667b6b0822b6e4a89ce5e40c2afcd8744bbaa65fb3252fc36d9343d7c439df3f759c4fbc9980fcf851f5cad6be178 0005-fix-pkgconfig-codeblocks-version.patch
-56e649ae3cde529fdc9e6b11eac652c692b381bdb803cc476f536b28904f724cb0446974a3bed2d95740dff7ad9d026d1987800aef1f462a02ee1d81c6bd0318 0006-fix-openfileslistplugin-gcc11.patch
-"
diff --git a/testing/cog/APKBUILD b/testing/cog/APKBUILD
deleted file mode 100644
index 0f00cd2b1f7..00000000000
--- a/testing/cog/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=cog
-pkgver=0.10.1
-pkgrel=0
-pkgdesc="simple browser for WebKit WPE"
-url="https://github.com/Igalia/cog"
-arch="all !x86 !riscv64" # x86: wpewebkit not available.
-license="MIT"
-makedepends="cairo-dev
- cmake
- eudev-dev
- libinput-dev
- libsoup-dev
- libwpebackend-fdo-dev
- mesa-dev
- wayland-dev
- wayland-protocols
- wpewebkit-dev
- "
-source="https://github.com/Igalia/cog/releases/download/v0.10.1/cog-$pkgver.tar.xz"
-subpackages="$pkgname-dev $pkgname-doc"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-3303da1f5f1ff04f6b4b0bd26d7085b58c90066d6db40be3e8c0c7158e56f7c40f2f606e7a4f6f60aa0d04345084f8e93eb16d62b11ed0248e21c2af92db0a22 cog-0.10.1.tar.xz
-"
diff --git a/testing/coin/APKBUILD b/testing/coin/APKBUILD
index ffc0a4a6ab8..782df0b027f 100644
--- a/testing/coin/APKBUILD
+++ b/testing/coin/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
pkgname=coin
pkgver=4.0.0
-pkgrel=0
+pkgrel=5
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"
+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
@@ -15,10 +15,8 @@ source="https://github.com/coin3d/coin/releases/download/Coin-$pkgver/coin-$pkgv
builddir="$srcdir/coin"
build() {
- export CXXFLAGS="${CXXFLAGS/-Os/}" # test suite fails with -Os optimizations
- cmake . \
- -B ./build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCOIN_BUILD_TESTS=ON
cmake --build build
diff --git a/testing/colorpicker/APKBUILD b/testing/colorpicker/APKBUILD
index fff5d758165..15603ae8c72 100644
--- a/testing/colorpicker/APKBUILD
+++ b/testing/colorpicker/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: jona <ein.jona.mit.f@gmail.com>
pkgname=colorpicker
pkgver=0_git20201128
-pkgrel=0
+pkgrel=1
_commit="782eafb16f1799376d548c93bf2786abc8ebd76e"
pkgdesc="simplest command line color picker"
url="https://github.com/ym1234/colorpicker"
diff --git a/testing/comics-downloader/APKBUILD b/testing/comics-downloader/APKBUILD
index f52da87efdc..0f17a826b0b 100644
--- a/testing/comics-downloader/APKBUILD
+++ b/testing/comics-downloader/APKBUILD
@@ -1,23 +1,21 @@
# Contributor: Anjandev Momi <anjan@momi.ca>
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=comics-downloader
-pkgver=0.32.1
-pkgrel=0
+pkgver=0.33.8
+pkgrel=2
pkgdesc="Tool to download comics and manga in pdf/epub/cbr/cbz from a website"
url="https://github.com/Girbons/comics-downloader"
license="MIT"
arch="all"
-options="chmod-clean"
+# tests download stuff from random website and compare to predefined values
+options="chmod-clean !check"
makedepends="go mesa-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev"
subpackages="$pkgname-gui:gui"
-source="$pkgver-$pkgname.tar.gz::https://github.com/Girbons/comics-downloader/archive/refs/tags/v$pkgver.tar.gz
- fixtests.patch"
+source="$pkgver-$pkgname.tar.gz::https://github.com/Girbons/comics-downloader/archive/refs/tags/v$pkgver.tar.gz"
-export GOPATH="$srcdir"
-
-prepare() {
- default_prepare
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build -o build/comics-downloader ./cmd/downloader
@@ -39,6 +37,5 @@ gui() {
}
sha512sums="
-ef936728967437e8ddd3a726e87ddf512ef3913548b826c294aee50310485e7500e75e539ed7f660b063730f723e8b5e00ccf40ff56383406d73c4ba11b3a9d0 0.32.1-comics-downloader.tar.gz
-c0193a4ac319097c51ca61db8d211986544ba5203cd47d2d75e57685fbb979dcc451b9e82befc128bb7eb9c49b4f1aed3bf227d9c13a41ad1835d3bc1b88980a fixtests.patch
+0556444babdb8fbbce01ca661272ecedea3e4c8c5fcfe8d505368bb64a41c58c3c3cef5688c3823fcde078f7954d0754d955ea74356f20adcf7e6f45fc73f06d 0.33.8-comics-downloader.tar.gz
"
diff --git a/testing/comics-downloader/fixtests.patch b/testing/comics-downloader/fixtests.patch
deleted file mode 100644
index d6d766bc87c..00000000000
--- a/testing/comics-downloader/fixtests.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-Author: Alessandro De Angelis <alessandrodea22@gmail.com>
-URL: https://github.com/Girbons/comics-downloader/commit/f3b19f8e99a4338705fcc601252ba74259684d8f
-Summary: Fix tests
----
- pkg/core/core_test.go | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/pkg/core/core_test.go b/pkg/core/core_test.go
-index 8f7ae0c..172243c 100644
---- a/pkg/core/core_test.go
-+++ b/pkg/core/core_test.go
-@@ -9,6 +9,7 @@ import (
-
- "github.com/Girbons/comics-downloader/internal/logger"
- "github.com/Girbons/comics-downloader/pkg/config"
-+ "github.com/Girbons/comics-downloader/pkg/http"
- "github.com/stretchr/testify/assert"
- )
-
-@@ -52,6 +53,7 @@ func TestMakeComicPDF(t *testing.T) {
- CreateDefaultPath: true,
- Debug: false,
- Logger: logger.NewLogger(false, make(chan string)),
-+ Client: http.NewComicClient(),
- }
- err := comic.MakeComic(opt)
- assert.Nil(t, err)
-@@ -76,6 +78,7 @@ func TestMakeComicEPUB(t *testing.T) {
- CreateDefaultPath: true,
- Debug: false,
- Logger: logger.NewLogger(false, make(chan string)),
-+ Client: http.NewComicClient(),
- }
-
- err := comic.MakeComic(opt)
-@@ -99,6 +102,7 @@ func TestDownloadImagesPNGFormat(t *testing.T) {
- Debug: false,
- CreateDefaultPath: true,
- Logger: logger.NewLogger(false, make(chan string)),
-+ Client: http.NewComicClient(),
- }
- dir, err := comic.DownloadImages(opt)
- files, _ := ioutil.ReadDir(dir)
-@@ -121,6 +125,7 @@ func TestDownloadImagesJPGFormat(t *testing.T) {
- CreateDefaultPath: true,
- Debug: false,
- Logger: logger.NewLogger(false, make(chan string)),
-+ Client: http.NewComicClient(),
- }
- dir, err := comic.DownloadImages(opt)
- files, _ := ioutil.ReadDir(dir)
-@@ -143,6 +148,7 @@ func TestDownloadImagesJPEGFormat(t *testing.T) {
- CreateDefaultPath: true,
- Debug: false,
- Logger: logger.NewLogger(false, make(chan string)),
-+ Client: http.NewComicClient(),
- }
- dir, err := comic.DownloadImages(opt)
- files, _ := ioutil.ReadDir(dir)
-@@ -165,6 +171,7 @@ func TestDownloadImagesIMGFormat(t *testing.T) {
- CreateDefaultPath: true,
- Debug: false,
- Logger: logger.NewLogger(false, make(chan string)),
-+ Client: http.NewComicClient(),
- }
- dir, err := comic.DownloadImages(opt)
- files, _ := ioutil.ReadDir(dir)
diff --git a/testing/commoncpp/APKBUILD b/testing/commoncpp/APKBUILD
new file mode 100644
index 00000000000..33ae399f940
--- /dev/null
+++ b/testing/commoncpp/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=commoncpp
+pkgver=7.0.1
+pkgrel=1
+pkgdesc="Class framework designed for telephony applications"
+url="https://www.gnu.org/software/commoncpp/"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="cmake samurai openssl-dev>3"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-tools"
+source="https://git.savannah.gnu.org/cgit/commoncpp.git/snapshot/commoncpp-$pkgver.tar.gz"
+
+build() {
+ cmake -G Ninja -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DBUILD_TESTING=ON
+ cmake --build build
+}
+
+check() {
+ cd build/test
+ for test in test-*; do
+ echo "Running test $test"
+ ./$test
+ done
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+dev() {
+ default_dev
+ amove usr/share/ucommon
+}
+
+tools() {
+ amove usr/bin
+}
+
+sha512sums="
+8c16cd3bc498af13545529801213e7a1f2e19ce2a2de38887a6d85e5768d2f2aed703d56dcb1c520d0fb3df54b8f8be8ba24821ac1b8d26c31962a2806b796b7 commoncpp-7.0.1.tar.gz
+"
diff --git a/testing/compiz/APKBUILD b/testing/compiz/APKBUILD
new file mode 100644
index 00000000000..7032b592eec
--- /dev/null
+++ b/testing/compiz/APKBUILD
@@ -0,0 +1,107 @@
+# Maintainer: leso-kn <info@lesosoftware.com>
+pkgname=compiz
+pkgver=0.9.14.2
+pkgrel=3
+pkgdesc="OpenGL window and compositing manager"
+url="http://www.compiz.org/"
+arch="all"
+depends_dev="
+ cython
+ dbus-glib-dev
+ glu-dev
+ gtk+3.0-dev
+ intltool
+ libjpeg-turbo-dev
+ libnotify-dev
+ libpng-dev
+ librsvg-dev
+ libsm-dev
+ libxext-dev
+ libxi-dev
+ libxinerama-dev
+ libwnck3-dev
+ mesa-dev
+ metacity-dev
+ protobuf-dev
+ py3-setuptools
+ python3-dev
+ startup-notification-dev
+ "
+makedepends="
+ $depends_dev
+ boost-dev
+ cairo-dev
+ cmake
+ glibmm-dev
+ gtest-dev
+ libice-dev
+ libx11-dev
+ libxcomposite-dev
+ libxcursor-dev
+ libxdamage-dev
+ libxml2-dev
+ libxrandr-dev
+ libxslt-dev
+ pango-dev
+ py3-setuptools
+ samurai
+ xz
+ "
+subpackages="
+ $pkgname-dev:_dev
+ $pkgname-utils:_utils:noarch
+ $pkgname-lang
+ $pkgname-pyc
+ "
+license=MIT
+source="$pkgname-$pkgver.tar.xz::https://launchpad.net/compiz/${pkgver%.*}/$pkgver/+download/compiz-$pkgver.tar.xz
+ basename.patch
+ boost.patch
+ gtest.patch
+ libgen.patch
+ opengl.patch
+ protobuf.patch
+ startup-notification-long.patch
+ "
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ cmake -S . -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCOMPIZ_WERROR=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+_dev() {
+ default_dev
+ amove usr/share/cmake-*
+ amove usr/share/compiz/cmake
+ amove usr/share/compiz/xslt
+}
+
+_utils() {
+ depends="py3-cairo"
+ pkgdesc="$pkgdesc (development utilities)"
+
+ amove usr/bin/ccsm
+}
+sha512sums="
+6d064c65be2af5a9676021d35ade64d262f1ddff0e974bd711805b6975d99697bb188f4a13d919b6f0f26a49544305d397d6c74e790b7672caeffc38f74ab145 compiz-0.9.14.2.tar.xz
+2d749f3e384e43454c7c9f4cf16c5289905142d5b14ced2f7a8e173a282e7a4b49e32c106d34d77f9c201f81dfb0bb92090680d9c5250f3571e136b28626c940 basename.patch
+669c32ad7e4428dbbc20bcc8f99764f2c0a28b0641b094fa89abcdf760df82d3fddaf1ac6b0596d0a80c1fe81e641c0ad64b550b93a6dfdf7f4759d687840a8f boost.patch
+2bbc6456deb85474416049eed194d5df7ec6c445f61c8f691f05f86cfee761cb634011fa658f2cd04c6740fea00400d536437bc7f210730f6651c490e96cb6c9 gtest.patch
+1b3ada1f7fe818cadff8729a3778f161776be4641e1bf36a2ab185921fbcff2e64b9a1d2576441913c7561e1d327612ebdd4a20fde9941a57b3f32e7084f444c libgen.patch
+aa6b4ba66b512d8cb09b17cd7e30a0ac2ed64ed11ef17613587c1b16c8c6146b2b526aba580b04db03f5b653c4c08ba0e7c57f2edd732a535db5da9f61c7b8f5 opengl.patch
+9dd0d4c2361fd56645d2f7b634dee32f1d44a67d36b53e550108acc78a8400bfd3c57132a8a029e9884b9f05cdd3a7533c65355d0a3dd80564544931eaced258 protobuf.patch
+2258ab2cf9cea0f3b16c0054b5471e89c11eb75b2dc337e4a2ad63d443435668f383e89e08903085ffc3de78816c41e1d3104e987d792fdf801be85e779faac3 startup-notification-long.patch
+"
diff --git a/testing/compiz/basename.patch b/testing/compiz/basename.patch
new file mode 100644
index 00000000000..fd51d5a825b
--- /dev/null
+++ b/testing/compiz/basename.patch
@@ -0,0 +1,25 @@
+diff --git a/plugins/colorfilter/src/colorfilter.cpp b/plugins/colorfilter/src/colorfilter.cpp
+index ca7eb41..b7004b5 100644
+--- a/plugins/colorfilter/src/colorfilter.cpp
++++ b/plugins/colorfilter/src/colorfilter.cpp
+@@ -262,7 +262,7 @@ ColorfilterScreen::loadFilters ()
+ loaded = 0;
+ for (int i = 0; i < count; i++)
+ {
+- name = CompString (basename (filters.at (i).s ().c_str ()));
++ name = CompString (basename ((char*)filters.at (i).s ().c_str ()));
+ if (boost::algorithm::ends_with (name, ".frag"))
+ name.erase (name.end () - 5, name.end ());
+ file = filters.at (i).s ();
+diff --git a/compizconfig/libcompizconfig/src/main.c b/compizconfig/libcompizconfig/src/main.c
+index 1664d40..0029739 100644
+--- a/compizconfig/libcompizconfig/src/main.c
++++ b/compizconfig/libcompizconfig/src/main.c
+@@ -34,6 +34,7 @@
+ #include <math.h>
+ #include <errno.h>
+ #include <assert.h>
++#include <libgen.h>
+
+ #include <ccs.h>
+
diff --git a/testing/compiz/boost.patch b/testing/compiz/boost.patch
new file mode 100644
index 00000000000..96c2ed9388c
--- /dev/null
+++ b/testing/compiz/boost.patch
@@ -0,0 +1,27 @@
+
+diff --git a/src/timer/src/timer.cpp b/src/timer/src/timer.cpp
+index fb6a7ec..61221be 100644
+--- a/src/timer/src/timer.cpp
++++ b/src/timer/src/timer.cpp
+@@ -168,7 +168,7 @@ PrivateTimer::PrivateTimer () :
+ mMaxTime (0),
+ mMinDeadline (0),
+ mMaxDeadline (0),
+- mCallBack (NULL)
++ mCallBack ([]() -> int { return 0; })
+ {
+ }
+
+diff --git a/plugins/mousepoll/src/mousepoll.cpp b/plugins/mousepoll/src/mousepoll.cpp
+index 7b7e717..147a591 100644
+--- a/plugins/mousepoll/src/mousepoll.cpp
++++ b/plugins/mousepoll/src/mousepoll.cpp
+@@ -201,7 +201,7 @@ MousePoller::getPosition ()
+ MousePoller::MousePoller () :
+ mActive (false),
+ mPoint (0, 0),
+- mCallback (NULL)
++ mCallback ([](const CompPoint &) { })
+ {
+ }
+
diff --git a/testing/compiz/gtest.patch b/testing/compiz/gtest.patch
new file mode 100644
index 00000000000..37eac2d8f57
--- /dev/null
+++ b/testing/compiz/gtest.patch
@@ -0,0 +1,101 @@
+diff --git a/compizconfig/gsettings/mocks/CMakeLists.txt b/compizconfig/gsettings/mocks/CMakeLists.txt
+index 14fe51e..d105bb1 100644
+--- a/compizconfig/gsettings/mocks/CMakeLists.txt
++++ b/compizconfig/gsettings/mocks/CMakeLists.txt
+@@ -8,7 +8,7 @@ if (GLIB_FOUND)
+ ${CMAKE_CURRENT_SOURCE_DIR}/../gsettings_backend_shared
+ ${GLIB_INCLUDE_DIRS})
+
+- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+
+ add_library (compizconfig_ccs_gsettings_wrapper_mock STATIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/ccs_gsettings_wrapper_mock.cpp
+diff --git a/compizconfig/gsettings/tests/CMakeLists.txt b/compizconfig/gsettings/tests/CMakeLists.txt
+index 9a81a5d..2e3bbb0 100644
+--- a/compizconfig/gsettings/tests/CMakeLists.txt
++++ b/compizconfig/gsettings/tests/CMakeLists.txt
+@@ -16,7 +16,7 @@ pkg_check_modules (COMPIZCONFIG_TEST_GSETTINGS gio-2.0 glib-2.0)
+
+ if (COMPIZCONFIG_TEST_GSETTINGS_FOUND)
+
+- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+
+ link_directories (${CMAKE_CURRENT_BINARY_DIR}/../../libcompizconfig/tests)
+ link_directories (${CMAKE_CURRENT_BINARY_DIR}/../testenvironments)
+diff --git a/compizconfig/integration/gnome/gsettings/tests/CMakeLists.txt b/compizconfig/integration/gnome/gsettings/tests/CMakeLists.txt
+index 683c83f..7778503 100644
+--- a/compizconfig/integration/gnome/gsettings/tests/CMakeLists.txt
++++ b/compizconfig/integration/gnome/gsettings/tests/CMakeLists.txt
+@@ -11,7 +11,7 @@ link_directories (${CMAKE_CURRENT_BINARY_DIR}/../../mocks/libcompizconfig)
+ link_directories (${CMAKE_CURRENT_BINARY_DIR}/../../tests/)
+ link_directories (${CMAKE_CURRENT_BINARY_DIR}/../src/)
+
+-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
++set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+
+ add_executable (compizconfig_test_ccs_gnome_gsettings_integrated_setting
+ ${CMAKE_CURRENT_SOURCE_DIR}/compizconfig_test_ccs_gnome_gsettings_integrated_setting.cpp)
+diff --git a/compizconfig/integration/gnome/tests/CMakeLists.txt b/compizconfig/integration/gnome/tests/CMakeLists.txt
+index 30fd552..26fdff1 100644
+--- a/compizconfig/integration/gnome/tests/CMakeLists.txt
++++ b/compizconfig/integration/gnome/tests/CMakeLists.txt
+@@ -8,7 +8,7 @@ include_directories (${CMAKE_CURRENT_SOURCE_DIR}/../../../gsettings/mocks)
+ include_directories (${CMAKE_SOURCE_DIR}/compizconfig/tests)
+ link_directories (${CMAKE_INSTALL_PREFIX}/lib)
+
+-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
++set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+
+ add_library (compizconfig_ccs_mock_gnome_integrated_setting_composition
+ ${CMAKE_CURRENT_SOURCE_DIR}/compizconfig_ccs_mock_gnome_integrated_setting_composition.c)
+diff --git a/compizconfig/libcompizconfig/tests/CMakeLists.txt b/compizconfig/libcompizconfig/tests/CMakeLists.txt
+index a3a42f9..78446f4 100644
+--- a/compizconfig/libcompizconfig/tests/CMakeLists.txt
++++ b/compizconfig/libcompizconfig/tests/CMakeLists.txt
+@@ -9,7 +9,7 @@ link_directories (${CMAKE_CURRENT_BINARY_DIR}/../../mocks/libcompizconfig)
+ link_directories (${CMAKE_CURRENT_BINARY_DIR}/../../tests/)
+ link_directories (${CMAKE_CURRENT_BINARY_DIR}/../src/)
+
+-set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
++set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
+
+ add_definitions (-DCONFIGDIR="${COMPIZCONFIG_CONFIG_DIR}")
+
+diff --git a/cmake/CompizCommon.cmake b/cmake/CompizCommon.cmake
+index b567cfc..d06e86b 100644
+--- a/cmake/CompizCommon.cmake
++++ b/cmake/CompizCommon.cmake
+@@ -54,7 +54,7 @@ set (
+
+ # Almost everything is a shared library now, so almost everything needs -fPIC
+ set (COMMON_FLAGS "-fPIC -Wall")
+-set (COMMON_CXX_FLAGS "-std=c++11")
++set (COMMON_CXX_FLAGS "-std=c++14")
+
+ option (COMPIZ_SUBOBJECT_LINKAGE_WARNINGS "Warn about subobject linkage" OFF)
+ if (NOT COMPIZ_SUBOBJECT_LINKAGE_WARNINGS)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index fcf974f..997d050 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -16,7 +16,6 @@ add_subdirectory( servergrab )
+ IF (COMPIZ_BUILD_TESTING)
+ add_subdirectory( privatescreen/tests )
+ add_subdirectory( wrapsystem/tests )
+-add_subdirectory( plugin )
+ add_subdirectory( option/tests )
+ add_subdirectory( tests )
+ ENDIF (COMPIZ_BUILD_TESTING)
+diff --git a/tests/acceptance-tests/autopilot/CMakeLists.txt b/tests/acceptance-tests/autopilot/CMakeLists.txt
+index 9999379..d6e1f7c 100644
+--- a/tests/acceptance-tests/autopilot/CMakeLists.txt
++++ b/tests/acceptance-tests/autopilot/CMakeLists.txt
+@@ -7,6 +7,3 @@ set (COMPIZ_AUTOPILOT_ACCEPTANCE_TEST_LIBRARIES
+
+ target_link_libraries (compiz_autopilot_acceptance_tests
+ ${COMPIZ_AUTOPILOT_ACCEPTANCE_TEST_LIBRARIES})
+-
+-install (TARGETS compiz_autopilot_acceptance_tests
+- RUNTIME DESTINATION ${exec_prefix})
diff --git a/testing/compiz/libgen.patch b/testing/compiz/libgen.patch
new file mode 100644
index 00000000000..e191dfa6940
--- /dev/null
+++ b/testing/compiz/libgen.patch
@@ -0,0 +1,12 @@
+diff --git a/plugins/colorfilter/src/colorfilter.cpp b/plugins/colorfilter/src/colorfilter.cpp
+index e2711fa..ca7eb41 100644
+--- a/plugins/colorfilter/src/colorfilter.cpp
++++ b/plugins/colorfilter/src/colorfilter.cpp
+@@ -24,6 +24,7 @@
+ #include <fstream>
+ #include <algorithm>
+ #include <boost/algorithm/string.hpp>
++#include <libgen.h>
+
+ using namespace boost::placeholders;
+
diff --git a/testing/compiz/opengl.patch b/testing/compiz/opengl.patch
new file mode 100644
index 00000000000..c8a147da61c
--- /dev/null
+++ b/testing/compiz/opengl.patch
@@ -0,0 +1,60 @@
+diff --git a/plugins/opengl/CMakeLists.txt b/plugins/opengl/CMakeLists.txt
+index 63db12b..2fc6046 100644
+--- a/plugins/opengl/CMakeLists.txt
++++ b/plugins/opengl/CMakeLists.txt
+@@ -21,7 +21,7 @@ include_directories (src/glxtfpbind/include)
+ else (USE_GLES)
+ find_package (OpenGL)
+ if (OPENGL_FOUND)
+- compiz_plugin(opengl PLUGINDEPS composite LIBRARIES ${OPENGL_opengl_LIBRARY} ${OPENGL_glx_LIBRARY} ${INTERNAL_LIBRARIES} dl INCDIRS ${OPENGL_INCLUDE_DIR})
++ compiz_plugin(opengl PLUGINDEPS composite LIBRARIES ${OPENGL_LIBRARIES} ${INTERNAL_LIBRARIES} dl INCDIRS ${OPENGL_INCLUDE_DIR})
+ endif (OPENGL_FOUND)
+ endif (USE_GLES)
+
+diff --git a/cmake/plugin_extensions/CompizOpenGLFixups.cmake b/cmake/plugin_extensions/CompizOpenGLFixups.cmake
+index 8691371..f230ceb 100644
+--- a/cmake/plugin_extensions/CompizOpenGLFixups.cmake
++++ b/cmake/plugin_extensions/CompizOpenGLFixups.cmake
+@@ -4,7 +4,7 @@ if (${COMPIZ_CURRENT_PLUGIN} STREQUAL "opengl")
+ if (USE_GLES)
+ set (PKGCONFIG_LIBS "${OPENGL_egl_LIBRARY} -lGLESv2")
+ else (USE_GLES)
+- set (PKGCONFIG_LIBS "${OPENGL_opengl_LIBRARY} ${OPENGL_glx_LIBRARY}")
++ set (PKGCONFIG_LIBS "${OPENGL_LIBRARIES}")
+ endif (USE_GLES)
+ endif (${COMPIZ_CURRENT_PLUGIN} STREQUAL "opengl")
+
+diff --git a/plugins/opengl/compiz-opengl.pc.in b/plugins/opengl/compiz-opengl.pc.in
+index d8b0b79..12c55c7 100644
+--- a/plugins/opengl/compiz-opengl.pc.in
++++ b/plugins/opengl/compiz-opengl.pc.in
+@@ -8,5 +8,5 @@ Description: Opengl compositing plugin for compiz
+ Version: @VERSION@
+
+ Requires: compiz compiz-composite
+-Libs: @PKGCONFIG_LIBS@ -L${libdir} -lopengl
++Libs: -lGL -L${libdir} -lopengl
+ Cflags: @COMPIZ_CFLAGS@ -I${includedir}/compiz
+\ No newline at end of file
+diff --git a/plugins/opengl/src/screen.cpp b/plugins/opengl/src/screen.cpp
+index fcf19ca..39bf966 100644
+--- a/plugins/opengl/src/screen.cpp
++++ b/plugins/opengl/src/screen.cpp
+@@ -40,6 +40,7 @@
+
+ #include <dlfcn.h>
+ #include <math.h>
++#include <GL/glx.h>
+
+ using namespace boost::placeholders;
+
+@@ -1354,8 +1355,7 @@ GLScreen::GLScreen (CompScreen *s) :
+ GL::bufferAge = true;
+ }
+
+- priv->getProcAddress = (GL::GLXGetProcAddressProc)
+- getProcAddress ("glXGetProcAddressARB");
++ priv->getProcAddress = &glXGetProcAddressARB;
+ GL::bindTexImage = (GL::GLXBindTexImageProc)
+ getProcAddress ("glXBindTexImageEXT");
+ GL::releaseTexImage = (GL::GLXReleaseTexImageProc)
diff --git a/testing/compiz/protobuf.patch b/testing/compiz/protobuf.patch
new file mode 100644
index 00000000000..3236f36a96e
--- /dev/null
+++ b/testing/compiz/protobuf.patch
@@ -0,0 +1,12 @@
+diff --git a/compizconfig/libcompizconfig/src/CMakeLists.txt b/compizconfig/libcompizconfig/src/CMakeLists.txt
+index 53d92f3..b740d06 100644
+--- a/compizconfig/libcompizconfig/src/CMakeLists.txt
++++ b/compizconfig/libcompizconfig/src/CMakeLists.txt
+@@ -40,6 +40,7 @@ if (HAVE_PROTOBUF)
+ ${LIBCOMPIZCONFIG_FILES}
+ ${CMAKE_CURRENT_BINARY_DIR}/compizconfig.pb.cc
+ )
++ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17")
+ set (LIBCOMPIZCONFIG_LIBRARIES
+ ${LIBCOMPIZCONFIG_LIBRARIES}
+ protobuf)
diff --git a/testing/compiz/startup-notification-long.patch b/testing/compiz/startup-notification-long.patch
new file mode 100644
index 00000000000..1f08d75386c
--- /dev/null
+++ b/testing/compiz/startup-notification-long.patch
@@ -0,0 +1,19 @@
+diff --git a/src/screen.cpp b/src/screen.cpp
+index 9ab20be..89832e0 100644
+--- a/src/screen.cpp
++++ b/src/screen.cpp
+@@ -2322,9 +2322,12 @@ cps::StartupSequence::handleStartupSequenceTimeout ()
+
+ foreach (CompStartupSequence *s, startupSequences)
+ {
++ long sec, usec;
+ sn_startup_sequence_get_last_active_time (s->sequence,
+- &active.tv_sec,
+- &active.tv_usec);
++ &sec,
++ &usec);
++ active.tv_sec = sec;
++ active.tv_usec = usec;
+
+ elapsed = ((((double) now.tv_sec - active.tv_sec) * 1000000.0 +
+ (now.tv_usec - active.tv_usec))) / 1000.0;
diff --git a/testing/compton-conf/APKBUILD b/testing/compton-conf/APKBUILD
index a9412fbb732..c1a7b06823e 100644
--- a/testing/compton-conf/APKBUILD
+++ b/testing/compton-conf/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer:
pkgname=compton-conf
pkgver=0.16.0
-pkgrel=0
+pkgrel=1
pkgdesc="GUI configuration tool for compton X composite manager"
-url="https://github.com/lxde/compton-conf"
+url="https://github.com/lxqt/compton-conf"
options="!check" # No testsuite
arch="all"
license="LGPL-2.1-or-later"
makedepends="cmake libconfig-dev qt5-qtbase-dev qt5-qttools-dev lxqt-build-tools"
-source="compton-conf-$pkgver.tar.gz::https://github.com/lxde/compton-conf/archive/$pkgver.tar.gz"
+source="compton-conf-$pkgver.tar.gz::https://github.com/lxqt/compton-conf/archive/$pkgver.tar.gz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
diff --git a/testing/conduit/APKBUILD b/testing/conduit/APKBUILD
new file mode 100644
index 00000000000..5ff2795eba7
--- /dev/null
+++ b/testing/conduit/APKBUILD
@@ -0,0 +1,66 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=conduit
+pkgver=0.6.0
+pkgrel=2
+pkgdesc="Simple, fast and reliable chat server powered by Matrix"
+url="https://conduit.rs/"
+# ring-rs
+arch="all !ppc64le !s390x"
+license="Apache-2.0"
+makedepends="cargo sqlite-dev cargo-auditable clang17-libclang rocksdb-dev snappy-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="https://gitlab.com/famedly/conduit/-/archive/v$pkgver/conduit-v$pkgver.tar.gz
+ https://github.com/leso-kn/ring/archive/refs/heads/riscv64-support-0.16.20-compat.tar.gz
+ riscv64-ring.patch.noauto
+ system-sqlite.patch
+
+ conduit.toml
+ conduit.initd
+ conduit.confd
+ "
+builddir="$srcdir/conduit-v$pkgver"
+options="net"
+
+_features="--no-default-features --features=conduit_bin,backend_sqlite,backend_rocksdb"
+
+export ROCKSDB_LIB_DIR="/usr/lib/"
+export SNAPPY_LIB_DIR="/usr/lib/"
+
+prepare() {
+ default_prepare
+ case "$CARCH" in
+ riscv64)
+ # patch out ring dependency for riscv64, upstream investigating
+ patch -p1 -i "$srcdir"/riscv64-ring.patch.noauto
+ ;;
+ esac
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen $_features
+}
+
+check() {
+ cargo test --frozen $_features
+}
+
+package() {
+ install -Dm755 target/release/conduit -t "$pkgdir"/usr/bin
+ install -Dm755 "$srcdir"/conduit.initd "$pkgdir"/etc/init.d/conduit
+ install -Dm644 "$srcdir"/conduit.confd "$pkgdir"/etc/conf.d/conduit
+ install -Dm644 "$srcdir"/conduit.toml "$pkgdir"/etc/conduit/conduit.toml
+}
+
+sha512sums="
+a8267f59ef829a7d3e6f528c9b4487993c7d3c930d6849254c3acf6547b041bceb5435572d937c7b98456f0379673c468528ff49ba5a6bef7590679ab9077c32 conduit-v0.6.0.tar.gz
+a68b9cbf701350c4e77f67f2e979180a9926895debc56764f3376cb6bcc390e310e8fcdd7fb5dc22423d41f65b129b119014400b5365a1b00422a0f0133f887f riscv64-support-0.16.20-compat.tar.gz
+7658cc65aa20c913b077287da7bd913b4dba2feedfcc2c420c8e6685dec573bc764bd82825b222daf042e01138f4207c05c11f97f53e9d9efa0ff51bf2b3cec6 riscv64-ring.patch.noauto
+7bc072043ebedd74ff8805c8b478ecc35f42e81a53d6b2c13d9d8568ad27b64b992d4a9bab9a6ced253971bbd4922f4da814cf2decdf253a2f5a078ced55f834 system-sqlite.patch
+9b77f8934f79215a98c41a859c2b875fd9ee7b618c84316b6be849cb0998ceebcbb3dcbb9b834bda74c32d46722140c3320abd8744c59fe2023fb273c29edc5f conduit.toml
+be411bc3447d684c546249e6fe6573d1c7798c7dfc148564b00b60026592eafa66dec4289a2d336656291ba1b915dd8b1e4df632de44a0ec0b3ad7d971ab062f conduit.initd
+8769e2feb4e0db08d7c6861a9d9110db8b846a496086f697080fda7270c97b506cbb10326cf708cdeab5eda68ec93a5ad86db4db5b9b0ebc189e6a5cefacf3a1 conduit.confd
+"
diff --git a/testing/conduit/conduit.confd b/testing/conduit/conduit.confd
new file mode 100644
index 00000000000..885fc75c39b
--- /dev/null
+++ b/testing/conduit/conduit.confd
@@ -0,0 +1,5 @@
+# Configuration file for conduit
+
+supervisor=supervise-daemon
+
+export CONDUIT_CONFIG=/etc/conduit/conduit.toml
diff --git a/testing/conduit/conduit.initd b/testing/conduit/conduit.initd
new file mode 100644
index 00000000000..66ebb705b2b
--- /dev/null
+++ b/testing/conduit/conduit.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+command="/usr/bin/conduit"
+command_user="conduit:conduit"
+command_background=true
+pidfile="/run/$RC_SVCNAME.pid"
+
+output_log="/var/log/conduit.log"
+error_log="/var/log/conduit.log"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -d -m 0755 -o "$command_user" /var/lib/conduit
+ checkpath -f -m 0644 -o "$command_user" "$output_log"
+}
diff --git a/testing/conduit/conduit.pre-install b/testing/conduit/conduit.pre-install
new file mode 100644
index 00000000000..cac0ec13e06
--- /dev/null
+++ b/testing/conduit/conduit.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S conduit 2>/dev/null
+adduser -S -D -H -h /var/lib/conduit -s /sbin/nologin -G conduit -g conduit conduit 2>/dev/null
+
+exit 0
diff --git a/testing/conduit/conduit.toml b/testing/conduit/conduit.toml
new file mode 100644
index 00000000000..5b5dfcbb28b
--- /dev/null
+++ b/testing/conduit/conduit.toml
@@ -0,0 +1,50 @@
+[global]
+# The server_name is the pretty name of this server. It is used as a suffix for user
+# and room ids. Examples: matrix.org, conduit.rs
+
+# The Conduit server needs all /_matrix/ requests to be reachable at
+# https://your.server.name/ on port 443 (client-server) and 8448 (federation).
+
+# If that's not possible for you, you can create /.well-known files to redirect
+# requests. See
+# https://matrix.org/docs/spec/client_server/latest#get-well-known-matrix-client
+# and
+# https://matrix.org/docs/spec/server_server/r0.1.4#get-well-known-matrix-server
+# for more information
+
+# YOU NEED TO EDIT THIS
+#server_name = "your.server.name"
+
+# This is the only directory where Conduit will save its data
+database_path = "/var/lib/conduit/"
+database_backend = "rocksdb"
+
+# The port Conduit will be running on. You need to set up a reverse proxy in
+# your web server (e.g. apache or nginx), so all requests to /_matrix on port
+# 443 and 8448 will be forwarded to the Conduit instance running on this port
+# Docker users: Don't change this, you'll need to map an external port to this.
+port = 6167
+
+# Max size for uploads
+max_request_size = 20_000_000 # in bytes
+
+# Enables registration. If set to false, no users can register on this server.
+allow_registration = true
+
+allow_federation = true
+allow_check_for_updates = false
+
+# Enable the display name lightning bolt on registration.
+enable_lightning_bolt = true
+
+# Servers listed here will be used to gather public keys of other servers.
+# Generally, copying this exactly should be enough. (Currently, Conduit doesn't
+# support batched key requests, so this list should only contain Synapse
+# servers.)
+trusted_servers = ["matrix.org"]
+
+#max_concurrent_requests = 100 # How many requests Conduit sends to other servers at the same time
+#log = "warn,state_res=warn,rocket=off,_=off,sled=off"
+
+address = "127.0.0.1" # This makes sure Conduit can only be reached using the reverse proxy
+#address = "0.0.0.0" # If Conduit is running in a container, make sure the reverse proxy (ie. Traefik) can reach it.
diff --git a/testing/conduit/riscv64-ring.patch.noauto b/testing/conduit/riscv64-ring.patch.noauto
new file mode 100644
index 00000000000..86b51b8147a
--- /dev/null
+++ b/testing/conduit/riscv64-ring.patch.noauto
@@ -0,0 +1,52 @@
+Required for riscv64 build.
+
+Upstream conduit needs to upgrade to patched versions of ring (done).
+This patch can be removed once conduit releases a new version that builds against the patched version of the two library.
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 13ea007..03e7a30 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -17,6 +17,9 @@ rust-version = "1.70.0"
+
+ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
++[patch.crates-io]
++ring = { path = "../ring-riscv64-support-0.16.20-compat" }
++
+ [dependencies]
+ # Web framework
+ axum = { version = "0.6.18", default-features = false, features = ["form", "headers", "http1", "http2", "json", "matched-path"], optional = true }
+diff --git a/Cargo.lock b/Cargo.lock
+index 35a4208..17b7e9a 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -2114,15 +2113,12 @@ dependencies = [
+ [[package]]
+ name = "ring"
+ version = "0.16.20"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3053cf52e236a3ed746dfc745aa9cacf1b791d846bdaf412f60a8d7d6e17c8fc"
+ dependencies = [
+ "cc",
++ "getrandom 0.2.10",
+ "libc",
+- "once_cell",
+ "spin",
+ "untrusted",
+- "web-sys",
+ "winapi",
+ ]
+
+@@ -2676,9 +2672,9 @@ dependencies = [
+
+ [[package]]
+ name = "spin"
+-version = "0.5.2"
++version = "0.9.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
++checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+
+ [[package]]
+ name = "spki"
diff --git a/testing/conduit/system-sqlite.patch b/testing/conduit/system-sqlite.patch
new file mode 100644
index 00000000000..348adc3770a
--- /dev/null
+++ b/testing/conduit/system-sqlite.patch
@@ -0,0 +1,25 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index e773892..d69f3d9 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1331,7 +1331,6 @@ version = "0.25.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "29f835d03d717946d28b1d1ed632eb6f0e24a299388ee623d0c23118d3e8a7fa"
+ dependencies = [
+- "cc",
+ "pkg-config",
+ "vcpkg",
+ ]
+diff --git a/Cargo.toml b/Cargo.toml
+index 7dc6448..344e2e9 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -71,7 +71,7 @@ opentelemetry = { version = "0.18.0", features = ["rt-tokio"] }
+ opentelemetry-jaeger = { version = "0.17.0", features = ["rt-tokio"] }
+ tracing-opentelemetry = "0.18.0"
+ lru-cache = "0.1.2"
+-rusqlite = { version = "0.29.0", optional = true, features = ["bundled"] }
++rusqlite = { version = "0.29.0", optional = true }
+ parking_lot = { version = "0.12.1", optional = true }
+ crossbeam = { version = "0.8.1", optional = true }
+ num_cpus = "1.13.0"
diff --git a/testing/confy/APKBUILD b/testing/confy/APKBUILD
deleted file mode 100644
index 8d869620223..00000000000
--- a/testing/confy/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Paper <paper@tilde.institute>
-# Maintainer: Paper <paper@tilde.institute>
-pkgname=confy
-pkgver=0.5.4
-pkgrel=2
-pkgdesc="Conferences schedule viewer for GNOME"
-url="https://confy.kirgroup.net/"
-license="GPL-3.0-or-later"
-arch="noarch !s390x !riscv64" # blocked by libhandy1
-depends="
- gtk+3.0
- py3-gobject3
- py3-icalendar
- libhandy1
- libnotify
- "
-makedepends="
- gettext-dev
- glib-dev
- meson
- "
-source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~fabrixxm/confy/archive/$pkgver.tar.gz"
-options="!check" # no tests
-subpackages="$pkgname-lang"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install -C output
-}
-
-sha512sums="6a93f0a61425c762a566541fb0ee0fc9d5d53180d196636ef2ae54e3c0bd677fab5b191a6a86eb3bf0379c22abdfcdfb1bb223e9963a33c075dae36119f95826 confy-0.5.4.tar.gz"
diff --git a/testing/conntracct/APKBUILD b/testing/conntracct/APKBUILD
index bd1abdec324..3923e50b00b 100644
--- a/testing/conntracct/APKBUILD
+++ b/testing/conntracct/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Mark Pashmfouroush <mark@markpash.me>
pkgname=conntracct
pkgver=0.2.7
-pkgrel=4
+pkgrel=23
pkgdesc="Tool for extracting network flow information from Linux hosts"
url="https://github.com/ti-mo/conntracct"
license="Apache-2.0"
arch="all"
options="net !check" # can't load and test BPF probes in CI
-makedepends="go sudo libcap mage"
+makedepends="go mage"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc"
source="
@@ -16,8 +16,13 @@ source="
conntracct.confd
conntracct.initd
dont-run-setcap.patch
+ fix-cgo.patch
"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
mage build
}
@@ -35,11 +40,12 @@ package() {
install -Dm755 "$srcdir"/conntracct.initd "$pkgdir"/etc/init.d/conntracct
install -Dm755 "$builddir"/build/conntracct "$pkgdir"/usr/bin/conntracct
install -d "$pkgdir"/etc/conntracct
-
- setcap cap_sys_admin,cap_net_admin,cap_dac_override,cap_sys_resource+eip "$pkgdir"/usr/bin/conntracct
}
-sha512sums="f018116dbeb937a5e308fa05dcbe9633ee1227a3bdce6c946cca1c5d73bb463c0085835c042becc62f7ad597b243c470c06e9712a1dffb844c4c858615da09af conntracct-0.2.7.tar.gz
+sha512sums="
+f018116dbeb937a5e308fa05dcbe9633ee1227a3bdce6c946cca1c5d73bb463c0085835c042becc62f7ad597b243c470c06e9712a1dffb844c4c858615da09af conntracct-0.2.7.tar.gz
e2474f6a0fd86014ec87c662cbb3f51a906e3d5905ad7d77e557a3c42c1efaeace40dd0e3811c75536bb6b031be68453e7e945786ef1af158398424fba5213a8 conntracct.confd
-5b1c44b43be54674e9d17d64677db700820144264dfd40a77389776f56fa8b8672f13c6b1d1dfc426037cc98298053e1364faaf9293c15c45c4acb24a653f78b conntracct.initd
-911a1e8d761071c2c8c077b7b6306c11aa318a671576ccc14486d70118a15eab4850257996f991b92e462b0897ac6e917007009696cd32885c344ffa5966c2e4 dont-run-setcap.patch"
+6654dc698e93e384b72186454494fe5df92ad99d915b60b58301e75e31eaac532614b7e7856a36d7be487fae5f3c4fbd9fae1ef6df2ff83cee91f5e412240398 conntracct.initd
+911a1e8d761071c2c8c077b7b6306c11aa318a671576ccc14486d70118a15eab4850257996f991b92e462b0897ac6e917007009696cd32885c344ffa5966c2e4 dont-run-setcap.patch
+2d27248ac1499cb1f240b3290c31cdfec6e360fb34e158b1578013742d1919df8f938a3efab5b52a739331eeff1d766f046c1dd8a0d752a8a7b2d620bc323f3f fix-cgo.patch
+"
diff --git a/testing/conntracct/conntracct.initd b/testing/conntracct/conntracct.initd
index 9f417132c7d..63cd34d5101 100644
--- a/testing/conntracct/conntracct.initd
+++ b/testing/conntracct/conntracct.initd
@@ -6,6 +6,7 @@ command=/usr/bin/conntracct
command_args="$ARGS"
command_user="conntracct:conntracct"
supervisor="supervise-daemon"
+capabilities="^cap_sys_admin,^cap_net_admin,^cap_dac_override,^cap_sys_resource"
depend() {
need net
diff --git a/testing/conntracct/fix-cgo.patch b/testing/conntracct/fix-cgo.patch
new file mode 100644
index 00000000000..19d83dc1b77
--- /dev/null
+++ b/testing/conntracct/fix-cgo.patch
@@ -0,0 +1,10 @@
+--- a/magefile.go
++++ b/magefile.go
+@@ -18,7 +18,6 @@
+
+ var (
+ buildEnv = map[string]string{
+- "CGO_ENABLED": "0",
+ }
+
+ build = func() error {
diff --git a/testing/consolation/APKBUILD b/testing/consolation/APKBUILD
deleted file mode 100644
index db7dea9d82e..00000000000
--- a/testing/consolation/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Danct12 <danct12@disroot.org>
-# Maintainer: Danct12 <danct12@disroot.org>
-pkgname=consolation
-pkgver=0.0.8
-pkgrel=0
-pkgdesc="Libinput-based console pointer support for copy-paste"
-arch="all"
-url="https://salsa.debian.org/consolation-team/consolation"
-license="MIT GPL-2.0-only"
-source="https://deb.debian.org/debian/pool/main/c/consolation/consolation_$pkgver.orig.tar.xz
- consolation.initd"
-makedepends="linux-headers libinput-dev eudev-dev libevdev-dev"
-subpackages="$pkgname-doc"
-
-build() {
- ./configure --prefix=/usr --sbindir=/usr/sbin
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir/" install
- install -Dm755 "$srcdir/consolation.initd" \
- "$pkgdir/etc/init.d/consolation"
-}
-
-sha512sums="1a2a55ae1fe1d39237d63554c28f65c66cdc3c22e65437c4383418e1fe63ab7eff4591ee1afbd0303d19a388f7cc9894f83235b35ae6b9b6d69762ce48e46287 consolation_0.0.8.orig.tar.xz
-7cdfcf71d4e8fa9ed4b9d42f3cd40fdd4fee68b268dda5a1e2743fe44eea7cbb46c947181c83fae070fbfe4fd3af6f040d409a1ee62f8ba972fb00f0de7ec726 consolation.initd"
diff --git a/testing/consolation/consolation.initd b/testing/consolation/consolation.initd
deleted file mode 100644
index 66319a2b302..00000000000
--- a/testing/consolation/consolation.initd
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/sbin/openrc-run
-
-cmd=/usr/sbin/consolation
-cmd_args="--no-daemon"
-pid=/run/consolation.pid
-description="Linux Console Pointer Interface"
-
-depend() {
- after bootmisc
-}
-
-start() {
- ebegin "Starting Consolation"
- start-stop-daemon --start --exec $cmd --background \
- --pidfile $pid --make-pidfile -- $cmd_args
- eend $?
-}
-
-stop() {
- ebegin "Stopping Consolation"
- start-stop-daemon --stop --exec $cmd
- eend $?
-}
-
-restart() {
- stop
- start
-}
-
diff --git a/testing/console_bridge/APKBUILD b/testing/console_bridge/APKBUILD
index d3562291e3e..7848e69a22b 100644
--- a/testing/console_bridge/APKBUILD
+++ b/testing/console_bridge/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Russ Webber <russ@rw.id.au>
# Maintainer: Russ Webber <russ@rw.id.au>
pkgname=console_bridge
-pkgver=1.0.1
+pkgver=1.0.2
pkgrel=0
pkgdesc="Logging that seamlessly pipes into rosconsole/rosout for ROS-dependent packages."
url="https://github.com/ros/console_bridge"
@@ -34,4 +34,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="913b7ee1d5401c6324eaaab1f8a54d5ff6df4eedb119a1cd00712f223750d69313047344aec5887920497c7b456cf6cb88e5f756bfbbb5ed8223ec758cdfd021 console_bridge-1.0.1.tar.gz"
+sha512sums="
+ed427da8e59f9629f8d70e0a14415f88177c06fbaf7334bee56135dde91d19a1b54f5c9c668e0fd68314ab8dfd61446a174b9f528304decc5d4626a7c98882cb console_bridge-1.0.2.tar.gz
+"
diff --git a/testing/consul-replicate/APKBUILD b/testing/consul-replicate/APKBUILD
index d0b9f988621..e41e1d73981 100644
--- a/testing/consul-replicate/APKBUILD
+++ b/testing/consul-replicate/APKBUILD
@@ -2,31 +2,32 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=consul-replicate
pkgver=0.4.0
-pkgrel=5
+pkgrel=23
pkgdesc="Consul cross-DC KV replication daemon"
url="https://www.consul.io/"
arch="all"
license="MPL-2.0"
-depends=""
makedepends="go"
-source="$pkgname-$pkgver.tar.gz::https://github.com/hashicorp/$pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/hashicorp/consul-replicate/archive/v$pkgver.tar.gz"
-build() {
- cd "$builddir"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GO111MODULE=off
+build() {
mkdir -p "$builddir/src/github.com/hashicorp"
- ln -s "$builddir" "$builddir/src/github.com/hashicorp/$pkgname"
+ ln -sf "$builddir" "$builddir/src/github.com/hashicorp/$pkgname"
cd "$builddir/src/github.com/hashicorp/$pkgname"
- GOPATH="$builddir" GO111MODULE=off go build -v -o bin/$pkgname
+ GOPATH="$builddir" go build -v -o bin/$pkgname
}
package() {
- cd "$builddir"
-
# Main binary
install -m750 -D bin/$pkgname "$pkgdir"/usr/bin/$pkgname
}
-sha512sums="960f8a54890932663d832247e2f9eec536a6e4f21e3e1f602399e9465cbb355eb2e4dcbc198bd2362442088c1912664b0640b59ce099c988508f4715b73fbcd7 consul-replicate-0.4.0.tar.gz"
+sha512sums="
+960f8a54890932663d832247e2f9eec536a6e4f21e3e1f602399e9465cbb355eb2e4dcbc198bd2362442088c1912664b0640b59ce099c988508f4715b73fbcd7 consul-replicate-0.4.0.tar.gz
+"
diff --git a/testing/contour/APKBUILD b/testing/contour/APKBUILD
new file mode 100644
index 00000000000..288b1c7cc54
--- /dev/null
+++ b/testing/contour/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=contour
+pkgver=0.4.3.6442
+pkgrel=0
+pkgdesc="Modern C++ Terminal Emulator"
+url="https://contour-terminal.org"
+arch="x86_64 " # aarch64 fails due to QOpenGLFunctions_3_3_Core, rest lack libunicode
+license="Apache-2.0"
+makedepends="
+ boxed-cpp-dev
+ catch2-3
+ cmake
+ extra-cmake-modules
+ fmt-dev
+ harfbuzz-dev
+ libunicode-dev
+ libutempter-dev
+ libxcb-dev
+ msgsl
+ ncurses
+ ninja
+ qt6-qt5compat-dev
+ qt6-qtbase-dev
+ qt6-qtdeclarative-dev
+ qt6-qtmultimedia-dev
+ range-v3-dev
+ yaml-cpp-dev
+"
+subpackages="
+ $pkgname-doc
+ $pkgname-fish-plugin:_fish:noarch
+ $pkgname-zsh-plugin:_zsh:noarch
+"
+source="$pkgname-$pkgver.tar.gz::https://github.com/contour-terminal/contour/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCONTOUR_QT_VERSION=6 \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCONTOUR_INSTALL_TOOLS=ON \
+ -DCONTOUR_TESTING=ON \
+ -DCRISPY_TESTING=ON \
+ -DLIBTERMINAL_TESTING=ON
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build -C Release --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ rm "$pkgdir"/usr/share/contour/README.md "$pkgdir"/usr/share/contour/shell-integration/shell-integration.tcsh
+
+ mkdir -p "$pkgdir"/usr/share/licenses/"$pkgname"
+ mv "$pkgdir"/usr/share/contour/LICENSE.txt "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+_fish() {
+ pkgdesc="$pkgdesc (fish integration)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="$pkgname=$pkgver-r$pkgrel fish"
+
+ mkdir -p "$subpkgdir"/usr/share/fish/plugins/"$pkgname"
+ mv "$pkgdir"/usr/share/contour/shell-integration/shell-integration.fish "$subpkgdir"/usr/share/fish/plugins/"$pkgname"/contour.plugin.fish
+}
+
+_zsh() {
+ pkgdesc="$pkgdesc (zsh integration)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="$pkgname=$pkgver-r$pkgrel zsh"
+
+ mkdir -p "$subpkgdir"/usr/share/zsh/plugins/"$pkgname"
+ mv "$pkgdir"/usr/share/contour/shell-integration/shell-integration.zsh "$subpkgdir"/usr/share/zsh/plugins/"$pkgname"/contour.plugin.zsh
+}
+
+sha512sums="
+f0a91fbd5abefbbac0f785bb8f454759568e3daadbad6ff1ade00fccf8b0af94f16747816598c706a698d65ce884a2e9499512942e6f22263ebc654ae6fb6879 contour-0.4.3.6442.tar.gz
+"
diff --git a/testing/contour/libunicode-fix-catch-in-cmake.patch b/testing/contour/libunicode-fix-catch-in-cmake.patch
new file mode 100644
index 00000000000..4bf665cf3e7
--- /dev/null
+++ b/testing/contour/libunicode-fix-catch-in-cmake.patch
@@ -0,0 +1,19 @@
+diff --git a/src/libunicode/CMakeLists.txt b/src/libunicode/CMakeLists.txt
+index 6c5ac20..9fa13a3 100644
+--- a/src/libunicode/CMakeLists.txt
++++ b/src/libunicode/CMakeLists.txt
+@@ -223,10 +223,10 @@ if(LIBUNICODE_TESTING)
+ # supress conversion warnings for Catch2
+ # https://github.com/catchorg/Catch2/issues/2583
+ # https://github.com/SFML/SFML/blob/e45628e2ebc5843baa3739781276fa85a54d4653/test/CMakeLists.txt#L18-L22
+- set_target_properties(Catch2 PROPERTIES COMPILE_OPTIONS "" EXPORT_COMPILE_COMMANDS OFF)
+- set_target_properties(Catch2WithMain PROPERTIES EXPORT_COMPILE_COMMANDS OFF)
+- get_target_property(CATCH2_INCLUDE_DIRS Catch2 INTERFACE_INCLUDE_DIRECTORIES)
+- target_include_directories(Catch2 SYSTEM INTERFACE ${CATCH2_INCLUDE_DIRS})
++ # set_target_properties(Catch2 PROPERTIES COMPILE_OPTIONS "" EXPORT_COMPILE_COMMANDS OFF)
++ # set_target_properties(Catch2WithMain PROPERTIES EXPORT_COMPILE_COMMANDS OFF)
++ # get_target_property(CATCH2_INCLUDE_DIRS Catch2 INTERFACE_INCLUDE_DIRECTORIES)
++ # target_include_directories(Catch2 SYSTEM INTERFACE ${CATCH2_INCLUDE_DIRS})
+
+ target_link_libraries(unicode_test unicode Catch2::Catch2WithMain fmt::fmt-header-only)
+ add_test(unicode_test unicode_test)
diff --git a/testing/convert2json/APKBUILD b/testing/convert2json/APKBUILD
new file mode 100644
index 00000000000..2c0e1eea1a9
--- /dev/null
+++ b/testing/convert2json/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Simon Rupf <simon@rupf.net>
+pkgname=convert2json
+pkgver=0.8.2
+pkgrel=0
+pkgdesc="Utilities to convert CSV, INI, TOML, XML & YAML to JSON, including jq/jaq wrappers."
+url="https://github.com/simonrupf/convert2json"
+arch="all"
+license="MIT"
+depends="jaq"
+makedepends="
+ cargo
+ cargo-auditable
+ clang15-dev
+ "
+source="https://github.com/simonrupf/convert2json/archive/$pkgver/convert2json-$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/cq target/release/tq target/release/xq \
+ target/release/yq target/release/csv2json target/release/toml2json \
+ target/release/xml2json target/release/yaml2json \
+ -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+40e21178f740a2806c6efe20c3e61ef2f2ee097273cf0e78a8cf87dc90eaf395a07241d01359a64087c53fc2be92655003592a1f2dd2a90eba273777a34902e5 convert2json-0.8.2.tar.gz
+"
diff --git a/testing/copyq/APKBUILD b/testing/copyq/APKBUILD
index 215b580cac6..dbab360c200 100644
--- a/testing/copyq/APKBUILD
+++ b/testing/copyq/APKBUILD
@@ -3,40 +3,41 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=copyq
_pkgname=CopyQ
-pkgver=6.0.1
+pkgver=8.0.0
pkgrel=0
pkgdesc="Clipboard manager with searchable and editable history"
url="https://github.com/hluk/CopyQ"
-arch="all !armhf" # qt5
+arch="all !armhf"
license="GPL-3.0-or-later"
-makedepends="cmake extra-cmake-modules libxfixes-dev
- libxtst-dev
- qt5-qtscript-dev qt5-qtsvg-dev qt5-qttools-dev
- qt5-qtx11extras-dev qt5-qtwayland-dev
- knotifications-dev"
+makedepends="
+ cmake
+ extra-cmake-modules
+ knotifications-dev
+ kstatusnotifieritem-dev
+ libxfixes-dev
+ libxtst-dev
+ qt6-qtsvg-dev
+ qt6-qttools-dev
+ qt6-qtwayland-dev
+ samurai
+ "
options="!check" # upstream does not provide check
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-bash-completion"
source="$pkgname-$pkgver.tar.gz::https://github.com/hluk/$_pkgname/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
-prepare() {
- default_prepare
- mkdir "$builddir"/build
-}
-
build() {
- cd "$builddir"/build
- cmake .. \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWITH_QT6=ON
+ cmake --build build
}
package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-e1cc8c51fc1b4cbf5ca534ca463252f79bd4ae846ff811fdfeee1ab15b40c66cbce4f13e65e4edd09c31a34d6566e495740169c1c67e057f563d89be71034fa2 copyq-6.0.1.tar.gz
+d5ed5fb8973834999c2b56a0c53de407f9ee704f1d6db60645ec7bdf05fdc93fc69b2b8f6127dd812de6c32e0e3a175db56b2cd6e90da7d031b6e531197b994e copyq-8.0.0.tar.gz
"
diff --git a/testing/coq/APKBUILD b/testing/coq/APKBUILD
index 1a2167db623..0b283a2d358 100644
--- a/testing/coq/APKBUILD
+++ b/testing/coq/APKBUILD
@@ -1,32 +1,70 @@
# Contributor: alpine-mips-patches <info@mobile-stream.com>
-# Maintainer: alpine-mips-patches <info@mobile-stream.com>
+# Contributor: omni <omni+alpine@hack.org>
+# Contributor: Jason Gross <jasongross9@gmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=coq
-pkgver=8.13.2
-pkgrel=0
-pkgdesc="A formal proof management system"
+pkgver=8.19.1
+pkgrel=3
+pkgdesc="Formal proof management system"
url="https://coq.inria.fr"
-arch="aarch64 ppc64le x86_64" # reflect ocaml aport platforms
-license="LGPL-2.1"
-depends="ocaml-runtime"
-makedepends="ocaml ocaml-findlib ocaml-compiler-libs ocaml-zarith dune gmp-dev bash"
-options="!check"
+# riscv64, loongarch64: ocaml
+# s390x: not useful
+# 32-bit: huge package and nobody would use it there
+arch="all !armhf !armv7 !x86 !s390x !riscv64 !loongarch64"
+license="LGPL-2.1-or-later"
+makedepends="
+ bash
+ dune
+ linux-headers
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib-dev
+ ocaml-zarith
+ "
+options="!check" # many tests in 'make test-suite' fail
subpackages="$pkgname-doc"
-source="coq-$pkgver.tar.gz::https://github.com/coq/coq/archive/V$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/coq/coq/archive/V$pkgver.tar.gz"
build() {
./configure \
-prefix /usr \
- -coqdocdir /usr/share/texmf-dist/tex/latex/misc \
- -bytecode-compiler no \
- -coqide no \
- -nodebug
- make world
+ -mandir /usr/share/man \
+ -docdir /usr/share/doc \
+ -libdir "$(ocamlc -where)/coq"
+ make dunestrap
+ dune build -p coq,coq-core,coq-stdlib
}
package() {
- make -j1 COQINSTALLPREFIX="$pkgdir" install
+ dune install coq coq-core coq-stdlib \
+ --prefix=/usr \
+ --destdir="$pkgdir" \
+ --mandir=/usr/share/man \
+ --docdir=/usr/share/doc \
+ --libdir="$(ocamlc -where)"
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
sha512sums="
-d5c16689a3a08d9be58e15d502e5c9bbe13ce8b9755334d1c096307260a804eeb59116c3a7b5fd85910e7f468ee728c69d04735769998a6e6369bf5352f5ec05 coq-8.13.2.tar.gz
+ec8379df34ba6e72bcf0218c66fef248b0e4c5c436fb3f2d7dd83a2c5f349dd0874a67484fcf9c0df3e5d5937d7ae2b2a79274725595b4b0065a381f70769b42 coq-8.19.1.tar.gz
"
diff --git a/testing/coreboot-ectool/APKBUILD b/testing/coreboot-ectool/APKBUILD
deleted file mode 100644
index f625ccf8278..00000000000
--- a/testing/coreboot-ectool/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Nulo <alpine@nulo.in>
-# Mantainer: Nulo <alpine@nulo.in>
-pkgname=coreboot-ectool
-pkgver=4.14
-pkgrel=0
-pkgdesc="Dumps the RAM of a laptop’s Embedded/Environmental Controller (EC)."
-url="https://www.coreboot.org"
-arch="x86 x86_64" # Uses inline assembly.
-license="GPL-2.0-only"
-options="!check" # No test suite.
-source="https://coreboot.org/releases/coreboot-$pkgver.tar.xz
- fix-makefile.patch"
-builddir="$srcdir/coreboot-$pkgver/util/ectool/"
-
-build() {
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="
-14c615472dfe00682e4b0b41b6a04ed3b201395427350f7b53497152f2acc8cbef8144bad06517b413c4076422108bccab2e4732491f5e6fcc4703b14d062b19 coreboot-4.14.tar.xz
-44f16ca9824e873d598d87c39216d3390954dc152f85f59d76b58086abfd0481161778cb08eb72f1f3a3d7022319aaabb96a2f07736782713170f2e760b989dd fix-makefile.patch
-"
diff --git a/testing/coreboot-ectool/fix-makefile.patch b/testing/coreboot-ectool/fix-makefile.patch
deleted file mode 100644
index f0ac8a22f5e..00000000000
--- a/testing/coreboot-ectool/fix-makefile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 1ef74d2..94cf3c0 100644
---- a/Makefile
-+++ b/Makefile
-@@ -4,7 +4,7 @@ CC = gcc
- WERROR=-Werror
- CFLAGS = -O2 -Wall -Wextra -Wshadow $(WERROR)
- PROGRAM = ectool
--INSTALL = /usr/bin/env install
-+INSTALL = /usr/bin/env install -D
- PREFIX = /usr/local
- OS_ARCH = $(shell uname)
-
-@@ -22,7 +22,7 @@ $(PROGRAM): ec.o ectool.o
- $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
-
- install: $(PROGRAM)
-- $(INSTALL) $(PROGRAM) $(PREFIX)/sbin
-+ $(INSTALL) $(PROGRAM) $(DESTDIR)$(PREFIX)/sbin/$(PROGRAM)
-
- clean:
- rm -f *.o $(PROGRAM) junit.xml
diff --git a/testing/coreboot-tools/APKBUILD b/testing/coreboot-tools/APKBUILD
new file mode 100644
index 00000000000..344fc1f0ff2
--- /dev/null
+++ b/testing/coreboot-tools/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Nulo <alpine@nulo.in>
+# Maintainer: Adam Thiede <me@adamthiede.com>
+pkgname=coreboot-tools
+pkgver=24.02
+pkgrel=0
+pkgdesc="Tools from the coreboot project"
+url="https://review.coreboot.org/coreboot"
+# coreboot only runs on x86_64 and x86 systems
+arch="x86 x86_64"
+license="GPL-2.0-only"
+
+# All specified dependencies are just for configurator subpackage.
+# Everything else builds with default tooling.
+makedepends="
+ inkscape
+ meson
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ qt5-qtsvg-dev
+ yaml-cpp-dev
+ "
+subpackages="$pkgname-ectool $pkgname-nvramtool $pkgname-nvramtool-doc:nvramtool_doc:noarch $pkgname-ifdtool $pkgname-configurator"
+source="https://coreboot.org/releases/coreboot-$pkgver.tar.xz"
+builddir="$srcdir/coreboot-$pkgver"
+options="!check" # no test suite
+
+build() {
+ make -e -C util/ectool
+ make -e -C util/nvramtool CFLAGS="$CFLAGS -I. -DCMOS_HAL=1"
+ make -e -C util/ifdtool
+ abuild-meson -Db_lto=true util/coreboot-configurator util/coreboot-configurator/output
+ meson compile -C util/coreboot-configurator/output
+}
+
+package() {
+ make -e -C util/ectool PREFIX="$pkgdir/usr" install
+ make -e -C util/nvramtool PREFIX="$pkgdir/usr" install
+ make -e -C util/ifdtool PREFIX="$pkgdir/usr" install
+}
+
+nvramtool() {
+ pkgdesc="Manipulates NVRAM from userspace"
+
+ amove usr/sbin/nvramtool
+}
+
+nvramtool_doc() {
+ pkgdesc="Manipulates NVRAM from userspace (documentation)"
+ install_if="$pkgname-nvramtool=$pkgver-r$pkgrel docs"
+
+ amove usr/share/man/man8/nvramtool*
+ gzip -9n "$subpkgdir"/usr/share/man/man8/*
+}
+
+ectool() {
+ pkgdesc="Dumps the RAM of a laptop’s Embedded/Environmental Controller (EC)"
+
+ amove usr/sbin/ectool
+}
+
+ifdtool() {
+ pkgdesc="Extract and dump Intel Firmware Descriptor information"
+
+ amove usr/bin/ifdtool
+}
+
+configurator() {
+ pkgdesc="Graphical NVRAMtool frontend"
+ DESTDIR="$subpkgdir" meson install --no-rebuild -C $builddir/util/coreboot-configurator/output
+}
+
+sha512sums="
+e73fa1346bccaea66d7cc6b3c336c4e2f46bbcd046202f7981b8e2b5e5b59192dce729e72daa16dc4020c004bbfab2364551718e349d939ade2985519912a377 coreboot-24.02.tar.xz
+"
diff --git a/testing/corectrl/APKBUILD b/testing/corectrl/APKBUILD
index aefab04df83..036bcb58094 100644
--- a/testing/corectrl/APKBUILD
+++ b/testing/corectrl/APKBUILD
@@ -1,31 +1,51 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer:
pkgname=corectrl
-pkgver=1.2.2
+pkgver=1.3.10
pkgrel=0
pkgdesc="Control your hardware with application profiles"
url="https://gitlab.com/corectrl/corectrl"
-arch="all !armhf !mips64" # qt5-qtdeclarative
-arch="$arch !s390x !riscv64" # kauth-dev
+# fails to build
+arch="all !armhf !armv7 !ppc64le !x86 !s390x"
license="GPL-3.0-only"
-depends="procps hwids qt5-qtquickcontrols2 qt5-qtsvg qt5-qtxmlpatterns"
-makedepends="cmake extra-cmake-modules qt5-qtbase-dev kauth-dev karchive-dev
- botan-dev qt5-qtquickcontrols2-dev qt5-qtcharts-dev qt5-qttools-dev qt5-qtsvg-dev"
-source="https://gitlab.com/corectrl/corectrl/-/archive/v$pkgver/corectrl-v$pkgver.tar.gz
+depends="
+ hwdata
+ procps
+ qt5-qtquickcontrols2
+ qt5-qtsvg
+ qt5-qtxmlpatterns
"
-builddir="$srcdir/$pkgname-v$pkgver"
+makedepends="
+ botan-dev
+ cmake
+ fmt-dev
+ polkit-dev
+ pugixml-dev
+ qt5-qtbase-dev
+ qt5-qtcharts-dev
+ qt5-qtquickcontrols2-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ quazip-dev
+ samurai
+ "
+checkdepends="catch2"
+source="https://gitlab.com/corectrl/corectrl/-/archive/v$pkgver/corectrl-v$pkgver.tar.bz2
+ "
+builddir="$srcdir/corectrl-v$pkgver"
+options="!check" # one version comparison test segfaults
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \
- -DBUILD_TESTING=ON \
- $CMAKE_CROSSOPTS .
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
+ $CMAKE_CROSSOPTS
cmake --build build
}
@@ -35,9 +55,9 @@ check() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-613bc794caad70e50e1659ac2245b1b77e3fad2f5449bf70a54a85579ba0a13508be221efba0614c2c0813b20e534278362750181637422561991bb6e6ed5d50 corectrl-v1.2.2.tar.gz
+167dc67a57ec2ec710730e9d31a86d7d9fb409806c3be917186501804e5c17f65de87ac404027cc75d1c6c06adc26ac3763312b09253349787ce4ddd45d6696e corectrl-v1.3.10.tar.bz2
"
diff --git a/testing/corerad/APKBUILD b/testing/corerad/APKBUILD
deleted file mode 100644
index 3955c4658dd..00000000000
--- a/testing/corerad/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Mark Pashmfouroush <mark@markpash.me>
-# Maintainer: Mark Pashmfouroush <mark@markpash.me>
-pkgname=corerad
-pkgver=0.3.4
-pkgrel=1
-pkgdesc="Extensible and observable IPv6 Neighbor Discovery Protocol router advertisement daemon"
-url="https://corerad.net/"
-license="Apache-2.0"
-arch="all"
-options="net" # Requires net for getting go module dependencies
-makedepends="go libcap"
-install="$pkgname.pre-install"
-subpackages="$pkgname-openrc"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/mdlayher/corerad/archive/v$pkgver.tar.gz
- corerad.initd
- "
-
-build() {
- make VERSION="$pkgver"
-
- # create a minimal configuration file
- ./cmd/corerad/corerad -init
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm755 cmd/corerad/corerad "$pkgdir"/usr/sbin/corerad
- setcap cap_net_admin,cap_net_raw+eip "$pkgdir"/usr/sbin/corerad
-
- install -Dm755 "$srcdir"/corerad.initd "$pkgdir"/etc/init.d/corerad
- install -Dm644 corerad.toml "$pkgdir"/etc/corerad/config.toml
-}
-sha512sums="
-c7620cf5f66ceefca6a4459424151c4f83255e1e5ece28bffe298d9ccab96c12ec2945770c6f1721ca02cc7bdc98b0bff74037707e7a8dc36e29e67fed0830e9 corerad-0.3.4.tar.gz
-96c40309aa6e81db5e5d136ee2ca9b1c24471acd1b20ff773020d3106dcc82e0fcb4b52112cbcb2b16c45211073b1d19bc0381ef7d93bd1c3cf53745633a22b4 corerad.initd
-"
diff --git a/testing/corerad/corerad.initd b/testing/corerad/corerad.initd
deleted file mode 100644
index 0fd948955ca..00000000000
--- a/testing/corerad/corerad.initd
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/sbin/openrc-run
-
-name=CoreRAD
-description="Extensible and observable IPv6 Neighbor Discovery Protocol router advertisement daemon"
-command=/usr/sbin/corerad
-command_args="-c /etc/corerad/config.toml"
-command_user="corerad:corerad"
-supervisor="supervise-daemon"
-
-depend() {
- need net
- after firewall
-}
diff --git a/testing/corerad/corerad.pre-install b/testing/corerad/corerad.pre-install
deleted file mode 100644
index e87a06abf72..00000000000
--- a/testing/corerad/corerad.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S corerad 2>/dev/null
-adduser -S -D -H -s /bin/nologin -G corerad -g corerad corerad 2>/dev/null
-
-exit 0
diff --git a/testing/corkscrew/APKBUILD b/testing/corkscrew/APKBUILD
deleted file mode 100644
index 2f738991c06..00000000000
--- a/testing/corkscrew/APKBUILD
+++ /dev/null
@@ -1,54 +0,0 @@
-# Contributor: Matt Dainty <matt+alpine@bodgit-n-scarper.com>
-# Maintainer:
-pkgname=corkscrew
-pkgver=2.0
-pkgrel=1
-_commit=a94f745b40077172b8fe7d77e2d583b9cf900281
-pkgdesc="Tool for tunneling SSH through HTTP proxies"
-url="https://github.com/bryanpkc/corkscrew/"
-arch="all"
-license="GPL"
-depends=""
-makedepends="autoconf automake"
-install=""
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/bryanpkc/corkscrew/archive/$_commit.tar.gz
- corkscrew-2.0-from-debian-readme.patch
- corkscrew-2.0-typo.patch
- corkscrew.1
- "
-
-_builddir="$srcdir"/$pkgname-$_commit
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
- aclocal && autoheader && autoconf && automake --add-missing --force || return 1
-}
-
-build() {
- cd "$_builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- || return 1
- make || return 1
-}
-
-package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
-
- install -m644 -D "$srcdir"/corkscrew.1 \
- "$pkgdir"/usr/share/man/man1/corkscrew.1 || return 1
-}
-
-sha512sums="3023df4a366d08d131fe3c73c4841c4aed3b257c6deb64c4db2f0f6e210483d7c563937468f8c9e5da8441305951ffccb5bc05da6da24bc0463f1806ad7e6abe corkscrew-2.0.tar.gz
-2514663f2f120c49b7c0d40246ca5fae49f9c27097c17c38992085bc9f4ae3e2f1a749ceaf400b10b4b68c809365a420865fab90fead585949ad440a19f02aeb corkscrew-2.0-from-debian-readme.patch
-197dd0d3de4a026603af8ea4bf8cdf1d25b7555166b817697474961020491b4f181c67e431f340791f22768c28b40262819780c77055ec3d066c60c19f57ac2e corkscrew-2.0-typo.patch
-a59c99056ef4c12dec854ab0b571b9778b78c3d429193c1365ef2c1a37edb478e8d7e7948e830b22dfe3fb724e6be0b6176ac541da1fa5a2678a608f2b025e90 corkscrew.1"
diff --git a/testing/corkscrew/corkscrew-2.0-from-debian-readme.patch b/testing/corkscrew/corkscrew-2.0-from-debian-readme.patch
deleted file mode 100644
index ed92d657443..00000000000
--- a/testing/corkscrew/corkscrew-2.0-from-debian-readme.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/README
-+++ b/README
-@@ -66,7 +66,7 @@
- following line to your ~/.ssh/config file will usually do the trick
- (replace proxy.example.com and 8080 with correct values):
-
-- ProxyCommand /usr/local/bin/corkscrew proxy.example.com 8080 %h %p
-+ ProxyCommand /usr/bin/corkscrew proxy.example.com 8080 %h %p
-
- NOTE: Command line syntax has changed since version 1.5. Please notice
- that the proxy port is NOT optional anymore and is required in the
-@@ -91,7 +91,7 @@
- Now you will have to change the ProxyCommand line in your ~/.ssh/config
- file. Here's an example:
-
-- ProxyCommand /usr/local/bin/corkscrew proxy.work.com 80 %h %p ~/.ssh/myauth
-+ ProxyCommand /usr/bin/corkscrew proxy.work.com 80 %h %p ~/.ssh/myauth
-
- The proxy authentication feature is very new and has not been tested
- extensively so your mileage may vary. If you encounter any problems when
diff --git a/testing/corkscrew/corkscrew-2.0-typo.patch b/testing/corkscrew/corkscrew-2.0-typo.patch
deleted file mode 100644
index 00de90e28da..00000000000
--- a/testing/corkscrew/corkscrew-2.0-typo.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/README
-+++ b/README
-@@ -105,7 +105,7 @@
-
- NOTE: I have had problems using the auth features with Mircosoft Proxy
- server. The problems are sporadic, and I believe that they are related
--to the round-robin setup that I was testing it again. Your mileage may
-+to the round-robin setup that I was testing it against. Your mileage may
- vary.
-
-
diff --git a/testing/corkscrew/corkscrew.1 b/testing/corkscrew/corkscrew.1
deleted file mode 100644
index 1c19c63581f..00000000000
--- a/testing/corkscrew/corkscrew.1
+++ /dev/null
@@ -1,97 +0,0 @@
-.\" Hey, EMACS: -*- nroff -*-
-.\" First parameter, NAME, should be all caps
-.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
-.\" other parameters are allowed: see man(7), man(1)
-.TH CORKSCREW 1 "November 22, 2003"
-.\" Please adjust this date whenever revising the manpage.
-.\"
-.\" Some roff macros, for reference:
-.\" .nh disable hyphenation
-.\" .hy enable hyphenation
-.\" .ad l left justify
-.\" .ad b justify to both left and right margins
-.\" .nf disable filling
-.\" .fi enable filling
-.\" .br insert line break
-.\" .sp <n> insert n+1 empty lines
-.\" for manpage-specific macros, see man(7)
-.SH NAME
-corkscrew \- Tunnel TCP connections through HTTP proxies
-.SH SYNOPSIS
-.B corkscrew
-.BR
-proxy
-.BR
-proxyport
-.BR
-targethost
-.BR
-targetport
-.BR
-[ authfile ]
-.br
-.SH DESCRIPTION
-This manual page documents briefly the
-.BR corkscrew
-command.
-This manual page was written for the Debian distribution
-because the original program does not have a manual page.
-
-corkscrew is a simple tool to tunnel TCP connections through an HTTP
-proxy supporting the CONNECT method. It reads stdin and writes to
-stdout during the connection, just like netcat.
-It can be used for instance to connect to an SSH server running on
-a remote 443 port through a strict HTTPS proxy.
-
-
-.SH PARAMETERS
-
-.TP
-.B proxy
-This is the name of the host running the HTTP proxy.
-.TP
-.B proxyport
-This is the port on which to connect on the proxy.
-.TP
-.B target
-This is the host to reach through the proxy.
-.TP
-.B targetport
-This is the port to connect to on the target host.
-
-.SH COMMON USAGE
-
-The common usage of corkscrew is to put the following line in your
-ssh_config:
-
-ProxyCommand corkscrew proxy proxyport %h %p
-
-This will let your ssh connection go through the proxy with the help
-of corkscrew.
-
-.SH AUTH FILE
-
-The auth file is made of one single line containing your username and
-password in the form:
-
-username:password
-
-You should add the path to your auth file in the proxy command
-described above:
-
-ProxyCommand corkscrew proxy proxyport %h %p auth-file
-
-.SH "SEE ALSO"
-.IX Header "SEE ALSO"
-\&\fIssh_config\fR\|(5)
-
-.PP
-.\" TeX users may be more comfortable with the \fB<whatever>\fP and
-.\" \fI<whatever>\fP escape sequences to invode bold face and italics,
-.\" respectively.
-.SH AUTHOR
-corkscrew was written by Pat Padgett <agroman@agroman.net>.
-Thomas Seyrat <tomasera@debian.org> is the debian maintainer for this
-package. This manual page was written by Laurent Fousse
-<laurent@komite.net>, for the Debian GNU/Linux system (but may be used
-by others).
diff --git a/testing/cosmopolitan/APKBUILD b/testing/cosmopolitan/APKBUILD
new file mode 100644
index 00000000000..6431385f711
--- /dev/null
+++ b/testing/cosmopolitan/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Sebastian Hudak <sebastian@sebsite.pw>
+# Maintainer: Sebastian Hudak <sebastian@sebsite.pw>
+pkgname=cosmopolitan
+pkgver=1.0
+pkgrel=0
+pkgdesc="Build-once run-anywhere C library"
+url="https://justine.lol/cosmopolitan/"
+arch="x86_64"
+license="ISC"
+subpackages="$pkgname-doc"
+source="https://justine.lol/cosmopolitan/cosmopolitan-$pkgver.tar.gz
+ no-clang-test.patch
+ "
+options="!fhs !check" # installs to /opt, checks fail on builders
+builddir="$srcdir/cosmopolitan"
+
+_mode=rel
+
+build() {
+ # Build doesn't work with custom *FLAGS.
+ # This is due to the nature of Cosmpolitan and APE binaries and
+ # probably can't be worked around.
+ make CFLAGS= CXXFLAGS= CPPFLAGS= LDFLAGS= MODE="$_mode" \
+ o/cosmopolitan.h \
+ o/cosmopolitan.html \
+ o/"$_mode"/ape \
+ o/"$_mode"/cosmopolitan.a \
+ o/"$_mode"/libc
+}
+
+check() {
+ make CFLAGS= CXXFLAGS= CPPFLAGS= LDFLAGS= MODE="$_mode" \
+ o/"$_mode"/test/libc
+}
+
+package() {
+ install -Dm644 o/cosmopolitan.h \
+ "$pkgdir"/opt/cosmopolitan/include/cosmopolitan.h
+ install -Dm644 o/cosmopolitan.html \
+ "$pkgdir"/usr/share/doc/cosmopolitan.html
+ install -Dm644 o/"$_mode"/ape/* \
+ -t "$pkgdir"/opt/cosmopolitan/lib/
+ install -m644 o/"$_mode"/cosmopolitan.a \
+ "$pkgdir"/opt/cosmopolitan/lib/cosmopolitan.a
+ install -m644 o/"$_mode"/libc/crt/crt.o \
+ "$pkgdir"/opt/cosmopolitan/lib/crt.o
+}
+
+sha512sums="
+1fb01ad95d5d0908e608febd191545ca2ed06d37ff64715c3241528be2f36f656b68103178c925a8d0a985a9fd40f8f62e034a05ed719d682c5b1c336ff25c8d cosmopolitan-1.0.tar.gz
+b6d892a8ecc0a50a8cae49a0ba4ef9940316ee4ff9c36f247bda521c2ffb853062c56716bd8226144348760b581bc2cf5c65a06775162c362b4e966ac413409a no-clang-test.patch
+"
diff --git a/testing/cosmopolitan/no-clang-test.patch b/testing/cosmopolitan/no-clang-test.patch
new file mode 100644
index 00000000000..1f6623bb9d2
--- /dev/null
+++ b/testing/cosmopolitan/no-clang-test.patch
@@ -0,0 +1,12 @@
+Clang test segfaults.
+See https://groups.google.com/g/cosmopolitan-libc/c/COPYVF7sE-Y
+
+--- cosmopolitan/test/libc/release/test.mk 2021-05-17 03:35:10.000000000 +0000
++++ cosmopolitan-alpine/test/libc/release/test.mk 2022-01-07 02:47:16.666693677 +0000
+@@ -147,6 +137,5 @@
+ o/$(MODE)/test/libc/release/smokecxx.com.runs \
+ o/$(MODE)/test/libc/release/smokeansi.com \
+ o/$(MODE)/test/libc/release/smokeansi.com.runs \
+- o/$(MODE)/test/libc/release/clang.ok \
+ o/$(MODE)/test/libc/release/emulate.ok \
+ o/$(MODE)/test/libc/release/metal.ok
diff --git a/testing/coventry/APKBUILD b/testing/coventry/APKBUILD
new file mode 100644
index 00000000000..f20d6ff31d1
--- /dev/null
+++ b/testing/coventry/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: David Sugar <tychosoft@gmail.com>
+# Contributor: David Sugar <tychosoft@gmail.com>
+pkgname=coventry
+pkgver=0.8.1
+pkgrel=0
+pkgdesc="Residential IP telephony gateway"
+url="https://www.tychosoft.com/tychosoft/coventry/wiki"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="cmake fmt-dev>=8.1.0 openssl-dev moderncli-dev>=0.8.0 libosip2-dev>=5.3.0 libexosip2-dev>=5.3.0"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="https://www.tychosoft.com/api/packages/tychosoft/generic/coventry/$pkgver/coventry-$pkgver.tar.gz coventry.initd"
+
+build() {
+ cmake \
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc \
+ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=/var \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=/usr/lib \
+ -DSERVER_PREFIX_PATH=/var/lib/coventry \
+ -DSERVER_LOGGER_PATH=/var/log/coventry \
+ -DSERVER_CONFIG_FILE=/etc/coventry.conf \
+ -DCMAKE_BUILD_TYPE=Release .
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ DESTDIR="$pkgdir" make install
+ strip "$pkgdir"/usr/bin/pbx-*
+ strip "$pkgdir"/usr/sbin/coventry
+ gzip "$pkgdir"/usr/share/man/man*/*
+ install -d -m 750 -g adm "$pkgdir"/var/log/$pkgname
+ install -d -m 700 "$pkgdir"/var/lib/$pkgname
+ install -D -m 700 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.md
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+ install -Dm644 FEATURES.md "$pkgdir"/usr/share/doc/$pkgname/FEATURES.md
+ install -Dm644 AGENTS.md "$pkgdir"/usr/share/doc/$pkgname/AGENTS.md
+ install -Dm644 UTILITIES.md "$pkgdir"/usr/share/doc/$pkgname/UTILITIES.md
+}
+
+sha512sums="
+dfaef6e24d47f0c27a3b2833da3835b479a3e8c1226bb24e48752fcd610e52baf5a30853467bb1ed4dcd170731e8df81b9df6e65d597e5b693b61bdfde1bb664 coventry-0.8.1.tar.gz
+fd601c29764a34d3f8f1102982885a350a7a7f16edcbb8fdb1096b77600c686a87ec2de37ee502c9a7f1494e9b1dd7f8050eb6fe069f2e57ebc0e8da958f9bd3 coventry.initd
+"
diff --git a/testing/coventry/coventry.initd b/testing/coventry/coventry.initd
new file mode 100644
index 00000000000..602dd6ed30e
--- /dev/null
+++ b/testing/coventry/coventry.initd
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+name=coventry
+command="/usr/sbin/coventry"
+pidfile="/run/coventry.pid"
+extra_started_commands="reload"
+
+depend() {
+ use logger dns
+ need net
+ after firewall
+}
+
+stop() {
+ ebegin "Stopping ${RC_SVCNAME}"
+ start-stop-daemon --signal INT --pidfile "${pidfile}"
+ eend $? "Failed to stop ${RC_SVCNAME}"
+}
+
+reload() {
+ ebegin "Reloading ${RC_SVCNAME}"
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
+ eend $?
+}
+
diff --git a/testing/cowsay/APKBUILD b/testing/cowsay/APKBUILD
index b7b5e86b9bc..04fcc8d1876 100644
--- a/testing/cowsay/APKBUILD
+++ b/testing/cowsay/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Raymond Page <pagerc@gmail.com>
pkgname=cowsay
pkgver=3.04
-pkgrel=1
+pkgrel=2
pkgdesc="Configurable talking cow (and a few other creatures)"
arch="noarch"
url="https://github.com/tnalpgge/rank-amateur-cowsay"
diff --git a/testing/coxeter/APKBUILD b/testing/coxeter/APKBUILD
new file mode 100644
index 00000000000..0dedb2248f4
--- /dev/null
+++ b/testing/coxeter/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=coxeter
+pkgver=3.0
+pkgrel=1
+pkgdesc="Tool for studying combinatorial aspects of Coxeter group theory"
+url="http://math.univ-lyon1.fr/~ducloux/coxeter/coxeter3/english/coxeter3_e.html"
+arch="all"
+license="GPL-1.0-only"
+source="https://archive.org/download/coxeter-$pkgver.tar.xz/coxeter-$pkgver.tar.xz
+ add-sagemath-interface.patch
+ makefile
+ test-input
+ test-output"
+subpackages="$pkgname-dev $pkgname-libs"
+
+prepare() {
+ default_prepare
+ cp "$srcdir"/makefile .
+}
+
+build() {
+ export CXXFLAGS="${CXXFLAGS/-Os/-O3}" # gotta go fast
+ make -e
+}
+
+check() {
+ LD_LIBRARY_PATH=. ./coxeter < "$srcdir"/test-input > actual-test-output
+ diff "$srcdir"/test-output actual-test-output
+}
+
+package() {
+ install -Dm755 coxeter "$pkgdir"/usr/bin/coxeter
+ install -Dm755 libcoxeter3.so.0.0.0 "$pkgdir"/usr/lib/libcoxeter3.so.0.0.0
+ ln -s libcoxeter3.so.0.0.0 "$pkgdir"/usr/lib/libcoxeter3.so
+ install -Dm644 -t "$pkgdir"/usr/include/coxeter ./*.h ./*.hpp
+ install -dm755 "$pkgdir"/usr/share/coxeter
+ cp -vR coxeter_matrices "$pkgdir"/usr/share/coxeter/.
+ cp -vR headers "$pkgdir"/usr/share/coxeter/.
+ cp -vR messages "$pkgdir"/usr/share/coxeter/.
+}
+
+sha512sums="
+d7702ec7f84593aa2d6290e9405494f491f4a143be6db763f2a1974baffa6ab5b4cfeec4a0699ba37a547dd20e0c991ce9753778f0fb9a8b03c3a093f6bf7ebc coxeter-3.0.tar.xz
+5c76577ba110ca550756c5149067ed0c8ebfbea01888e922c826b5f919549784de7e0921cae4604221f123586b69740e677da3699f676ba40bd04fbcc0f68382 add-sagemath-interface.patch
+dddce060808349d9849efd7446a139d54be8d57e2012079f96776ac85d9ef197a59d2e2c32ad950ca8cfa0cf1281d1912a31f828702edd923697cd67647f4e80 makefile
+bca860dd0b717ea5cd7ba3213583f07a39f1e33451a53765db444f11a2e59a1e3d1eedb6465f6601dc67bfc30d856a793c6a05f65f53e10651509aeabebaaa91 test-input
+52e7198f6ebeb05b9ddd00a280ab1e168e82f31e2124bebbac84d0bdc35096ab0caaedae7a0e58e25e1b327ed93754261254fc89a1a05589e5fd53282adc4101 test-output
+"
diff --git a/testing/coxeter/add-sagemath-interface.patch b/testing/coxeter/add-sagemath-interface.patch
new file mode 100644
index 00000000000..1158ca46d80
--- /dev/null
+++ b/testing/coxeter/add-sagemath-interface.patch
@@ -0,0 +1,101 @@
+From 0c8eb9cdba9cc54415fc4f808f71f1e3e2323e85 Mon Sep 17 00:00:00 2001
+From: Jeroen Demeyer <jdemeyer@cage.ugent.be>
+Date: Mon, 26 Feb 2018 14:43:08 +0100
+Subject: [PATCH] Add Sage interface
+
+---
+ sage.cpp | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ sage.h | 22 ++++++++++++++++++++++
+ 2 files changed, 77 insertions(+)
+ create mode 100644 sage.cpp
+ create mode 100644 sage.h
+
+diff --git a/sage.cpp b/sage.cpp
+new file mode 100644
+index 0000000..503654d
+--- /dev/null
++++ b/sage.cpp
+@@ -0,0 +1,55 @@
++/*
++ Coxeter version 3.0 Copyright (C) 2009 Mike Hansen
++*/
++
++#include "sage.h"
++
++namespace sage {
++
++ void interval(List<CoxWord>& list, CoxGroup& W, const CoxWord& g, const CoxWord& h)
++
++ /*
++ Return a list of the elements in the Bruhat interval between g and h.
++ Note that this assumes that g and h are in order.
++ */
++ {
++ if (not W.inOrder(g,h)) {
++ return;
++ }
++
++ W.extendContext(h);
++
++ CoxNbr x = W.contextNumber(g);
++ CoxNbr y = W.contextNumber(h);
++
++ BitMap b(W.contextSize());
++ W.extractClosure(b,y);
++
++ BitMap::ReverseIterator b_rend = b.rend();
++ List<CoxNbr> res(0);
++
++ for (BitMap::ReverseIterator i = b.rbegin(); i != b_rend; ++i)
++ if (not W.inOrder(x,*i)) {
++ BitMap bi(W.contextSize());
++ W.extractClosure(bi,*i);
++ CoxNbr z = *i; // andnot will invalidate iterator
++ b.andnot(bi);
++ b.setBit(z); // otherwise the decrement will not be correct
++ } else
++ res.append(*i);
++
++ schubert::NFCompare nfc(W.schubert(),W.ordering());
++ Permutation a(res.size());
++ sortI(res,nfc,a);
++
++ list.setSize(0);
++ for (size_t j = 0; j < res.size(); ++j) {
++ CoxWord w(0);
++ W.schubert().append(w, res[a[j]]);
++ list.append(w);
++ }
++
++ return;
++ }
++
++}
+diff --git a/sage.h b/sage.h
+new file mode 100644
+index 0000000..fed0a7a
+--- /dev/null
++++ b/sage.h
+@@ -0,0 +1,22 @@
++/*
++ Coxeter version 3.0 Copyright (C) 2009 Mike Hansen
++*/
++
++#ifndef SAGE_H /* guard against multiple inclusions */
++#define SAGE_H
++
++#include "globals.h"
++#include "coxgroup.h"
++#include "coxtypes.h"
++#include "schubert.h"
++#include "list.h"
++
++namespace sage {
++ using namespace coxeter;
++ using namespace coxtypes;
++ using namespace list;
++
++ void interval(List<CoxWord>& result, CoxGroup& W, const CoxWord& g, const CoxWord& h);
++}
++
++#endif
diff --git a/testing/coxeter/makefile b/testing/coxeter/makefile
new file mode 100644
index 00000000000..ec973192917
--- /dev/null
+++ b/testing/coxeter/makefile
@@ -0,0 +1,12 @@
+.POSIX:
+
+objects = affine.o automata.o bits.o cells.o commands.o constants.o coxgroup.o coxtypes.o error.o fcoxgroup.o files.o general.o graph.o help.o interactive.o interface.o invkl.o io.o kl.o klsupport.o main.o memory.o minroots.o posets.o sage.o schubert.o special.o transducer.o type.o typeA.o uneqkl.o wgraph.o
+
+coxeter: libcoxeter3.so.0.0.0
+ $(CXX) $(CXXFLAGS) $(LDFLAGS) -L. -o coxeter main.o -l:libcoxeter3.so.0.0.0
+
+libcoxeter3.so.0.0.0: $(objects)
+ $(CXX) $(CXXFLAGS) -shared -Wl,-soname=libcoxeter3.so.0.0.0 -o libcoxeter3.so.0.0.0 $(objects)
+
+.cpp.o:
+ $(CXX) $(CXXFLAGS) -fPIC -c -o $@ $<
diff --git a/testing/coxeter/test-input b/testing/coxeter/test-input
new file mode 100644
index 00000000000..fb732368d43
--- /dev/null
+++ b/testing/coxeter/test-input
@@ -0,0 +1,9 @@
+type
+A
+3
+compute
+1 3 2 1 2 3 1 2 1
+ihbetti
+213
+q
+q
diff --git a/testing/coxeter/test-output b/testing/coxeter/test-output
new file mode 100644
index 00000000000..b97ee097be2
--- /dev/null
+++ b/testing/coxeter/test-output
@@ -0,0 +1,13 @@
+This is Coxeter version 3.1.
+Enter help if you need assistance, carriage return to start the program.
+
+coxeter :
+type :
+rank : coxeter : enter your element (finish with a carriage return) :
+213
+coxeter : enter your element (finish with a carriage return) :
+h[0] = 1 h[1] = 3 h[2] = 3 h[3] = 1
+
+size : 8
+
+coxeter : coxeter : \ No newline at end of file
diff --git a/testing/cozy/APKBUILD b/testing/cozy/APKBUILD
new file mode 100644
index 00000000000..83ba3da47f0
--- /dev/null
+++ b/testing/cozy/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Tim Magee <timothy@eastlincoln.net>
+# Maintainer:
+pkgname=cozy
+pkgver=1.2.1
+pkgrel=1
+pkgdesc="Modern audiobook player for Linux"
+url="https://cozy.sh"
+# armhf, ppc64le: py3-pylast
+# s390x: doubt anyone would use this on a mainframe
+arch="noarch !armhf !ppc64le !s390x"
+license="GPL-3.0-only"
+depends="
+ gst-libav
+ gst-plugins-bad
+ gst-plugins-good
+ gst-plugins-ugly
+ gtk+3.0
+ libdazzle
+ libhandy1
+ py3-cairo
+ py3-distro
+ py3-gobject3
+ py3-gst
+ py3-mutagen
+ py3-packaging
+ py3-peewee
+ py3-requests
+ py3-tz
+ "
+makedepends="
+ desktop-file-utils
+ gobject-introspection-dev
+ gtk+3.0-dev
+ libhandy1-dev
+ meson
+ py3-gobject3-dev
+ "
+subpackages="$pkgname-pyc $pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/geigi/cozy/archive/refs/tags/$pkgver.tar.gz
+ fix-legacy-version.patch
+ "
+options="!check" # no tests
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+ ln -sfv com.github.geigi.cozy "$pkgdir"/usr/bin/cozy
+ python3 -m compileall -fq "$pkgdir"/usr/lib/python*
+}
+
+sha512sums="
+db6c4a5ed47e139d87ca8a0d3c1d2681305ee565322209240e52acc1ac41c9669fb3ae06ca517d668e5f7a86319861089772b0d7b8f1aa22cfb5462913a9d3f5 cozy-1.2.1.tar.gz
+64624f020beb3c2dd8a2a8972da3bd312e26b5d8f6dbbc6af998c2e05feb1991d0298c49209ed08969f1306109fcaa48a6154b647ca1c7cb895b18daa944dd6f fix-legacy-version.patch
+"
diff --git a/testing/cozy/fix-legacy-version.patch b/testing/cozy/fix-legacy-version.patch
new file mode 100644
index 00000000000..a1fc1f4a501
--- /dev/null
+++ b/testing/cozy/fix-legacy-version.patch
@@ -0,0 +1,76 @@
+Patch-Source: https://github.com/geigi/cozy/pull/762
+--
+From 6422aaafa9655b91f29bdb399970181ef4a888df Mon Sep 17 00:00:00 2001
+From: suve <veg@svgames.pl>
+Date: Wed, 29 Mar 2023 12:22:58 +0200
+Subject: [PATCH 1/2] Fix crash on startup
+
+This commit fixes the program crashing because of an uncaught exception.
+The bug was triggered by app_settings.last_launched_version being
+unset - which would always be the case when launching the program for
+the first time!
+
+The bug could also be triggered by manually changing the setting
+to an invalid value - e.g. by running:
+$ gsettings set com.github.geigi.cozy last-launched-version 'ayy lmao'
+---
+ cozy/ui/widgets/whats_new_window.py | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/cozy/ui/widgets/whats_new_window.py b/cozy/ui/widgets/whats_new_window.py
+index 1e80d1ef..1a79005b 100644
+--- a/cozy/ui/widgets/whats_new_window.py
++++ b/cozy/ui/widgets/whats_new_window.py
+@@ -51,12 +51,16 @@ def __init__(self, **kwargs):
+ def _fill_window(self):
+ self.children = []
+
+- last_launched_version = version.parse(self.app_settings.last_launched_version)
+-
+- if type(last_launched_version) is version.LegacyVersion:
++ try:
++ last_launched_version = version.parse(self.app_settings.last_launched_version)
++ except version.InvalidVersion:
+ self._fill_welcome()
+ else:
+- self._fill_whats_new(last_launched_version)
++ if type(last_launched_version) is version.LegacyVersion:
++ self._fill_welcome()
++ else:
++ self._fill_whats_new(last_launched_version)
++
+
+ def _fill_welcome(self):
+ from cozy.ui.widgets.welcome import Welcome
+
+From 5dd970aafb9f50803344cf1e2c5c91751658a58e Mon Sep 17 00:00:00 2001
+From: suve <veg@svgames.pl>
+Date: Sun, 28 May 2023 12:09:02 +0200
+Subject: [PATCH 2/2] Remove usage of version.LegacyVersion
+
+The "packaging" module has deprecated its LegacyVersion identifier back
+in 2020, finally removing it in 2021. This causes cozy to crash when
+running against new version of said module, with the following error:
+> AttributeError: module 'packaging.version'
+> has no attribute 'LegacyVersion'
+---
+ cozy/ui/widgets/whats_new_window.py | 6 +-----
+ 1 file changed, 1 insertion(+), 5 deletions(-)
+
+diff --git a/cozy/ui/widgets/whats_new_window.py b/cozy/ui/widgets/whats_new_window.py
+index 1a79005b..da3a06f9 100644
+--- a/cozy/ui/widgets/whats_new_window.py
++++ b/cozy/ui/widgets/whats_new_window.py
+@@ -56,11 +56,7 @@ def _fill_window(self):
+ except version.InvalidVersion:
+ self._fill_welcome()
+ else:
+- if type(last_launched_version) is version.LegacyVersion:
+- self._fill_welcome()
+- else:
+- self._fill_whats_new(last_launched_version)
+-
++ self._fill_whats_new(last_launched_version)
+
+ def _fill_welcome(self):
+ from cozy.ui.widgets.welcome import Welcome
diff --git a/testing/cpplint/APKBUILD b/testing/cpplint/APKBUILD
new file mode 100644
index 00000000000..adc06ca9aa9
--- /dev/null
+++ b/testing/cpplint/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=cpplint
+pkgver=1.6.1_git20240320
+pkgrel=1
+_gitrev="3791cc41ac0afcea7b80a96cc3ca2fc71d73fcc0"
+pkgdesc="Static code checker for C++"
+url="https://github.com/cpplint/cpplint"
+arch="noarch"
+license="BSD-3-Clause"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+checkdepends="
+ py3-pytest
+ py3-pytest-cov
+ py3-pytest-runner
+ py3-pytest-timeout
+ py3-testfixtures
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/cpplint/cpplint/archive/$_gitrev/cpplint-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+fca7eec2f08225d280b50d25268a00ad7bb2a01c16351363403e6463e4add163e5d5339aafd9167b2ef578653b9d61c8de19937f49cbb7c31d5207de7ac01358 cpplint-1.6.1_git20240320.tar.gz
+"
diff --git a/testing/cproc/APKBUILD b/testing/cproc/APKBUILD
new file mode 100644
index 00000000000..6153c1da1e7
--- /dev/null
+++ b/testing/cproc/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=cproc
+pkgver=0_git20230502
+_commit=0985a7893a4b5de63a67ebab445892d9fffe275b
+pkgrel=0
+pkgdesc="A C11 compiler based on the QBE compiler backend"
+url="https://sr.ht/~mcf/cproc"
+arch="x86_64 aarch64" # See https://github.com/michaelforney/cproc#supported-targets
+license="ISC AND MIT AND Unlicense"
+depends="binutils qbe cmd:cpp"
+subpackages="$pkgname-doc"
+source="$pkgname-$_commit.tar.gz::https://github.com/michaelforney/cproc/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ ./configure \
+ --host=$CHOST \
+ --target=$CTARGET \
+ --prefix=/usr \
+ --with-cpp=cpp
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cbc38f304ac1d12c691c42cd67a6229f6ae6549a1270be17857b72ee1817d9c167d5e7bbe58f266cf56ee848453da923b1d910d660ee24abc3d5ed54b955035e cproc-0985a7893a4b5de63a67ebab445892d9fffe275b.tar.gz
+"
diff --git a/testing/cpu-x/APKBUILD b/testing/cpu-x/APKBUILD
new file mode 100644
index 00000000000..02247b8b1a7
--- /dev/null
+++ b/testing/cpu-x/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
+# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
+pkgname=cpu-x
+pkgver=5.0.3
+pkgrel=0
+pkgdesc="CPU-X is a system profiling and monitoring application (similar to CPU-Z)"
+url="https://thetumultuousunicornofdarkness.github.io/CPU-X/"
+arch="x86_64 x86" # no libcpuid in others architectures
+license="GPL-3.0-only"
+depends="
+ gtkmm3
+ libcpuid
+ ncurses
+ mesa
+ opencl
+ pciutils
+ procps-ng
+ vulkan-loader
+ "
+makedepends="
+ cmake
+ gtkmm3-dev
+ libcpuid-dev
+ mesa-dev
+ nasm
+ ncurses-dev
+ opencl-dev
+ pciutils-dev
+ procps-ng-dev
+ samurai
+ vulkan-headers
+ vulkan-loader-dev
+ "
+subpackages="$pkgname-lang $pkgname-bash-completion $pkgname-zsh-completion $pkgname-fish-completion"
+options="!check" # check failed
+source="$pkgname-$pkgver.tar.gz::https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/archive/refs/tags/v$pkgver.tar.gz
+ no-bracktrace.patch
+ "
+builddir="$srcdir/CPU-X-$pkgver"
+
+build() {
+ # GLFW disable
+ 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 \
+ -DWITH_OPENCL=ON \
+ -DWITH_LIBGLFW=OFF \
+ -DCMAKE_BUILD_TYPE=None \
+ $crossopts
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+d9a29a5303101a6c00d9145265d85acec865833f175246bde550ba2dff24a924c1b2de7579b3d8e20aa163092d269af9bbb24e073585d3e18a2c726e48d9be41 cpu-x-5.0.3.tar.gz
+96f0e100a2ca2898b014ca5f52937a2de041743777fbf318e2d3f82240e9fe40106d295c2ce80478e1540ed35c96a98c70acd1549b89daae44f6d9ff88251734 no-bracktrace.patch
+"
diff --git a/testing/cpu-x/no-bracktrace.patch b/testing/cpu-x/no-bracktrace.patch
new file mode 100644
index 00000000000..d5c0e7aed70
--- /dev/null
+++ b/testing/cpu-x/no-bracktrace.patch
@@ -0,0 +1,41 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -130,7 +130,6 @@
+ enable_testing()
+ find_package(PkgConfig REQUIRED)
+ find_package(Threads REQUIRED)
+-find_package(Backtrace REQUIRED)
+ find_package(Filesystem REQUIRED)
+ if(WITH_GETTEXT)
+ find_package(Gettext)
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -255,7 +255,6 @@
+ target_link_libraries(${APP_EXEC}
+ ${Intl_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT}
+- ${Backtrace_LIBRARIES}
+ std::filesystem
+
+ ${GTK3_LIBRARIES}
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -22,7 +22,6 @@
+ */
+
+ #include <unistd.h>
+-#include <execinfo.h>
+ #include <getopt.h>
+ #include <cstdlib>
+ #include <cstring>
+@@ -370,10 +369,6 @@
+ void *bt[16];
+ std::string::size_type addr_start, addr_end;
+ std::string line, address, line_number;
+-
+- /* Get the backtrace */
+- bt_size = backtrace(bt, 16);
+- bt_syms = backtrace_symbols(bt, bt_size);
+
+ /* Print the backtrace */
+ Logger::set_verbosity(LOG_ERROR); // disable DEBUG mode for popen_to_str()
diff --git a/testing/cpuburn/APKBUILD b/testing/cpuburn/APKBUILD
index e15188b7bfc..2f5bfec5f9c 100644
--- a/testing/cpuburn/APKBUILD
+++ b/testing/cpuburn/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Olliver Schinagl <oliver@schinagl.nl>
pkgname="cpuburn"
pkgver="1.4a_git20160316"
-pkgrel=0
+pkgrel=2
pkgdesc="Suite of CPU burn utitilies"
-url="http://ssvb.github.io/2012/04/10/cpuburn-arm-cortex-a9.html https://web.archive.org/web/20110623074500/pages.sbcglobal.net/redelm/"
+url="https://ssvb.github.io/2012/04/10/cpuburn-arm-cortex-a9.html"
arch="aarch64 armhf armv7 x86 x86_64"
license="MIT"
options="!check textrels" # No checks available
diff --git a/testing/cpufetch/APKBUILD b/testing/cpufetch/APKBUILD
index 7fb605fcc65..07cb9825154 100644
--- a/testing/cpufetch/APKBUILD
+++ b/testing/cpufetch/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Milan P. Stanić <mps@arvanta.net>
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=cpufetch
-pkgver=1.01
+pkgver=1.05
pkgrel=0
pkgdesc="simple yet fancy CPU architecture fetching tool"
url="https://github.com/Dr-Noob/cpufetch"
-arch="x86_64 armhf armv7 aarch64" # x86 missing asm/hwcap.h
+arch="x86_64 armhf armv7 aarch64 riscv64" # x86 missing asm/hwcap.h
license="MIT"
options="!check" # no test
makedepends="linux-headers"
@@ -22,5 +22,5 @@ package() {
}
sha512sums="
-069580b6dd548af394c28b74af72b2979be16a69879c51c42e2f26611ea8bf78412bedb6bbc6ddbfd2f98f8b26f930cc2d8afcc81e4d6494c382cfec9de771c1 cpufetch-1.01.tar.gz
+ec303e292ddc928e5cf2c81e0b38fd0853e1a3ffb9a20413e09677ec91777806c4774a0a6d618adde4f13328c930ce35a80e679609438542486999ab9e1308b4 cpufetch-1.05.tar.gz
"
diff --git a/testing/crazydiskinfo/APKBUILD b/testing/crazydiskinfo/APKBUILD
index 68a9e12bad5..2cbd40e3f7b 100644
--- a/testing/crazydiskinfo/APKBUILD
+++ b/testing/crazydiskinfo/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=crazydiskinfo
pkgver=1.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="interactive TUI S.M.A.R.T viewer"
url="https://github.com/otakuto/crazydiskinfo"
arch="all"
diff --git a/testing/create-tauri-app/APKBUILD b/testing/create-tauri-app/APKBUILD
new file mode 100644
index 00000000000..91a2594e182
--- /dev/null
+++ b/testing/create-tauri-app/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=create-tauri-app
+pkgver=3.13.17
+pkgrel=0
+pkgdesc="Build tool for Leptos"
+url="https://tauri.app"
+arch="all !s390x" # nix
+license="MIT OR Apache-2.0"
+makedepends="cargo-auditable"
+depends="cargo"
+subpackages="$pkgname-doc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/tauri-apps/create-tauri-app/archive/refs/tags/create-tauri-app-v$pkgver.tar.gz
+"
+options="net"
+builddir="$srcdir/$pkgname-$pkgname-v$pkgver"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 target/release/cargo-create-tauri-app "$pkgdir"/usr/bin/cargo-create-tauri-app
+
+ for l in _APACHE-2.0 _MIT .spdx
+ do
+ install -Dm 644 LICENSE"$l" "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE"$l"
+ done
+}
+
+sha512sums="
+404446367f0de92837f4f43cb591f363363bd7d7345feecebb106db4579279c352a573915dcbf33748979b57c3567171d65c5c91e616b1d7ae8c8b74bc8eadcb create-tauri-app-3.13.17.tar.gz
+"
diff --git a/testing/createrepo_c/APKBUILD b/testing/createrepo_c/APKBUILD
index e314fcacac5..3636b2be460 100644
--- a/testing/createrepo_c/APKBUILD
+++ b/testing/createrepo_c/APKBUILD
@@ -1,28 +1,28 @@
-# Contributor:
# Maintainer: Paul Morgan <jumanjiman@gmail.com>
pkgname=createrepo_c
-pkgver=0.17.1
+pkgver=1.0.2
pkgrel=1
pkgdesc="C implementation of createrepo"
url="https://github.com/rpm-software-management/createrepo_c/"
arch="all"
license="GPL-2.0-or-later"
makedepends="
- bash-completion
+ bash-completion-dev
bzip2-dev
cmake
curl-dev
expat-dev
- file-dev>=5.40-r1
+ file-dev
glib-dev
openssl-dev
libxml2-dev
python3-dev
rpm-dev
- scanelf
+ samurai
sqlite-dev
xz-dev
zlib-dev
+ zstd-dev
"
checkdepends="
check-dev
@@ -34,54 +34,47 @@ subpackages="
$pkgname-dev
$pkgname-doc
$pkgname-libs
- py3-${pkgname}:py3
+ py3-$pkgname-pyc
+ py3-$pkgname:py3
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/rpm-software-management/createrepo_c/archive/$pkgver.tar.gz
+ no-bash.patch
"
build() {
- mkdir "$builddir"/build
- cd "$builddir"/build
-
- # Pass cmake variables so
- # end user does not need to set LD_LIBRARY_PATH.
- # https://cmake.org/Wiki/CMake_RPATH_handling#Always_full_RPATH
- cmake .. \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_SKIP_BUILD_RPATH=true \
- -DCMAKE_BUILD_WITH_INSTALL_RPATH=false \
- -DCMAKE_INSTALL_RPATH=/usr/lib \
- -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=true \
- -DPYTHON_DESIRED=3 \
+ -DCMAKE_SKIP_INSTALL_RPATH=true \
-DWITH_ZCHUNK=OFF \
-DWITH_LIBMODULEMD=OFF \
-DENABLE_DRPM=OFF
- make
+ cmake --build build
+
+ if want_check; then
+ cmake --build build --target tests
+ fi
}
check() {
- cd "$builddir"/build
- make tests
- tests/run_gtester.sh
+ cd build
+ ./tests/run_tests.sh
}
package() {
- cd "$builddir"/build
- make install/strip DESTDIR=$pkgdir
+ DESTDIR="$pkgdir" cmake --install build
+ python3 -m compileall -fq "$pkgdir"/usr/lib/python*
}
py3() {
pkgdesc="Python3 bindings for createrepo_c"
- depends="python3 $pkgname-libs"
- # This is architecture-specific and provides a *.so file.
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
+ amove usr/lib/python*
}
sha512sums="
-5c5d459e255a3fef61ed4c25a655aa26698696b3f3fc0ba6492509338d527db0ccf71f23495e1bfba1a0e11055d29c7930dbf761ac3254f780d5dad33f7d70ce createrepo_c-0.17.1.tar.gz
+b4ceba2f0b558843bdc04be30a10ffb785eea0beb6e1f1efe7373b2a47c8aba554f1a881194c02d1b3980332912d92aa84fdda079324b60c2d57c55e43fa9eb6 createrepo_c-1.0.2.tar.gz
+2511216ef3a3ba85458a7bf6b405be44379597f94e3f377454bc0814d90bb0d1b4f0c1d4707c78a37dc07cbd594911b9f5ac03952ae7bd8a1d9828bea65a6e28 no-bash.patch
"
diff --git a/testing/createrepo_c/no-bash.patch b/testing/createrepo_c/no-bash.patch
new file mode 100644
index 00000000000..bd9ca651b27
--- /dev/null
+++ b/testing/createrepo_c/no-bash.patch
@@ -0,0 +1,10 @@
+diff --git a/tests/run_tests.sh.in b/tests/run_tests.sh.in
+index db53cdc..7e87742 100755
+--- a/tests/run_tests.sh.in
++++ b/tests/run_tests.sh.in
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+
+ BINDIR="${CMAKE_BINARY_DIR}/tests/"
+ RET=0
diff --git a/testing/cri-o/APKBUILD b/testing/cri-o/APKBUILD
index 942026ec16e..3a21471e5a6 100644
--- a/testing/cri-o/APKBUILD
+++ b/testing/cri-o/APKBUILD
@@ -3,15 +3,14 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: ungleich <foss@ungleich.ch>
pkgname=cri-o
-pkgver=1.23.0
-pkgrel=0
+pkgver=1.29.1
+pkgrel=2
pkgdesc="OCI-based implementation of Kubernetes Container Runtime Interface"
url="https://github.com/cri-o/cri-o/"
-# mips(64): build errors with dependencies
-arch="all !mips !mips64"
+arch="all"
license="Apache-2.0"
- # Most tests will fail if not ran as root
- # since it tries to create network interfaces
+# Most tests will fail if not ran as root
+# since it tries to create network interfaces
options="net chmod-clean !check"
depends="
cni-plugins
@@ -20,7 +19,7 @@ depends="
containers-common
iproute2
iptables
- runc
+ oci-runtime
"
makedepends="
bash
@@ -34,18 +33,19 @@ makedepends="
libselinux-dev
lvm2-dev
ostree-dev
+ sqlite-dev
tzdata
"
-checkdepends="bats cri-tools jq parallel sudo"
+checkdepends="bats cri-tools jq parallel sudo conmon"
subpackages="
$pkgname-doc
$pkgname-bash-completion
$pkgname-zsh-completion
$pkgname-fish-completion
- $pkgname-contrib-cni:contrib_cni:noarch
$pkgname-openrc
"
-source="https://github.com/cri-o/cri-o/archive/v$pkgver/cri-o-$pkgver.tar.gz
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/cri-o/cri-o/archive/v$pkgver/cri-o-$pkgver.tar.gz
crio.conf
crio.initd
crio.logrotated
@@ -55,11 +55,22 @@ source="https://github.com/cri-o/cri-o/archive/v$pkgver/cri-o-$pkgver.tar.gz
remove-systemd-files.patch
"
+# secfixes:
+# 1.23.2-r0:
+# - CVE-2022-0811
+# 1.24.1-r0:
+# - CVE-2022-1708
+# 1.26.2-r0:
+# - CVE-2022-4318
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOBIN="$GOPATH/bin"
+
build() {
- export GOPATH="$srcdir"
- export GOBIN="$GOPATH/bin"
# https://github.com/cri-o/cri-o/blob/master/install.md#build-tags
- make BUILDTAGS="seccomp selinux containers_image_openpgp containers_image_ostree_stub"
+ make BUILDTAGS="libsqlite3 seccomp selinux apparmor containers_image_openpgp containers_image_ostree_stub"
}
check() {
@@ -67,30 +78,33 @@ check() {
}
package() {
- make DESTDIR="$pkgdir" PREFIX=/usr CRICTL_CONFIG_DIR="/etc/crio" OCIUMOUNTINSTALLDIR="/etc/crio" install
+ make \
+ DESTDIR="$pkgdir" \
+ PREFIX=/usr \
+ CRICTL_CONFIG_DIR="/etc/crio" \
+ OCIUMOUNTINSTALLDIR="/etc/crio" \
+ FISHINSTALLDIR=/usr/share/fish/vendor_completions.d \
+ install.bin-nobuild install.man-nobuild install.completions install.config-nobuild
# We want it in etc so apk does not overwrite it
mkdir -p "$pkgdir"/usr/share/oci-umount/oci-umount.d/
- ln -sf /etc/crio/crio-umount.conf "$pkgdir"/usr/share/oci-umount/oci-umount.d/crio-umount.conf
+ ln -sf ../../../../etc/crio/crio-umount.conf "$pkgdir"/usr/share/oci-umount/oci-umount.d/crio-umount.conf
+
+ # The CNI plugins are recommended to be installed as examples
+ install -Dm644 contrib/cni/*.conflist -t "$pkgdir"/usr/share/doc/cri-o/examples/cni/
install -Dm755 "$srcdir"/crio.initd "$pkgdir"/etc/init.d/crio
install -Dm644 "$srcdir"/crio.conf "$pkgdir"/etc/crio/crio.conf
install -Dm644 "$srcdir"/crio.logrotated "$pkgdir"/etc/logrotate.d/crio
}
-contrib_cni() {
- pkgdesc="$pkgname contrib cni config files"
- mkdir -p "$subpkgdir"/etc/cni/net.d
- cp "$builddir"/contrib/cni/*.conf "$subpkgdir"/etc/cni/net.d
-}
-
sha512sums="
-d445461b44914574c57d1a64c47b77be87f59326594cc74cc40de42e81935470fded03ee1800b52129b6312fa0acadab211f4e25d1a77b8f3b83e0604a850977 cri-o-1.23.0.tar.gz
-e026f056ed92489413e16ed7955a9dcd7d1f4df1cc28e3ea785771b44d43811fea4f5b953cc46bc0c4aeac8ad07115bfff304d7516ebd24f2e58fe782ff812c8 crio.conf
-29561e95398975748236217bbd9df64997f6e3de6c0555d007306bd0535895a648368385a13079eb7d52c06249a91980523a73b6563e86d0575d9cd9c3fa4ee9 crio.initd
+58b01efb166ac74bdc4e17046010f5546b494fb8157e5269323520de2c5e971272c23090e22712d452081eba651ef6e1f2c228def135cdcde943e9aee0225b08 cri-o-1.29.1.tar.gz
+1f60719677295c9c5c615eb25d9159bde0af68a132eee67747f57fe76642d457c98c896c6189f85637d7b4ac24ba55fd9eaeb1699f43c3c5077b645f72a479fb crio.conf
+26048a219bc426ef4a4f50e96d6e0ded1c55dc8415df9a2773764d2ebcb3d9e91077b2916da1ff32674ca4a53062e41e185503d671dacc3167a018b0066347e1 crio.initd
1115228546a696eeebeb6d4b3e5c3152af0c99a2559097fc5829d8b416d979c457b4b1789e0120054babf57f585d3f63cbe49949d40417ae7aab613184bf4516 crio.logrotated
0a567dfa431ab1e53f2a351689be8d588a60cc5fcdbda403ec4f8b6ab9b1c18ad425f6c47f9a5ab1491e3a61a269dc4efa6a59e91e7521fa2b6bb165074aa8e0 cni-plugins-path.patch
-f9577aa7b1c90c6809010e9e406e65092251b6e82f6a0adbc3633290aa35f2a21895e1a8b6ba4b6375dcad3e02629b49a34ab16387e1c36eeb32c8f4dac74706 makefile-fix-install.patch
-26ed10b478feb19cb11f5916b24301943f9e316fdd62d53ec310bb05ffcf4213ceece1340d2486461557abb04074e85002b11b6347fddaaa45ad7439e907a5a7 fix-test.patch
-78c150f87027de489289596371dce0465159ced0758776b445deb58990e099de9c654406183c9da3cc909878b24d28db62121b7056cd180a6f2820e79e165cc6 remove-systemd-files.patch
+09025bff1fed5004a15696cbc7c63260ae7c206ffe2c8506e6063e8889b7aa98bd5c7df2f0c109860d8432ddf5f3b6326dbfd46589d05cf87f26c38e4bdadb9c makefile-fix-install.patch
+b0fdaf2280968a69e05ef72288bbf6fc03787616c6b6fca1e4398f9849167f4773e5e6e72bf1738d1fff2a84e97aa00f23aabcd50898ba8ed130969f50363006 fix-test.patch
+ae7e4a43f18076f19f3ae37d7302bfdf7a3befadf33e46bc9b1b14d50b605e8ba0d06d479568c24e8bf68f17c80ae48798068b2a46c3bcab565a5d225779f30e remove-systemd-files.patch
"
diff --git a/testing/cri-o/crio.conf b/testing/cri-o/crio.conf
index 70dc7567941..525c6a4ed01 100644
--- a/testing/cri-o/crio.conf
+++ b/testing/cri-o/crio.conf
@@ -3,3 +3,9 @@
# Overide defaults to not use systemd cgroups.
conmon_cgroup = "pod"
cgroup_manager = "cgroupfs"
+
+default_runtime = "crun"
+
+[crio.runtime.runtimes.crun]
+runtime_type = "oci"
+runtime_root = "/run/crun"
diff --git a/testing/cri-o/crio.initd b/testing/cri-o/crio.initd
index 9e6383ac976..c5eec65dfdd 100755
--- a/testing/cri-o/crio.initd
+++ b/testing/cri-o/crio.initd
@@ -21,6 +21,8 @@ checkconfig() {
/var/log/${RC_SVCNAME}
checkpath --file --owner root:root --mode 0644 \
/var/log/${RC_SVCNAME}/${RC_SVCNAME}.log
+ checkpath --directory --owner root:root --mode 0750 \
+ /var/lib/crio
}
start() {
diff --git a/testing/cri-o/fix-test.patch b/testing/cri-o/fix-test.patch
index a5b47b0c68c..bf4f8ef8f44 100644
--- a/testing/cri-o/fix-test.patch
+++ b/testing/cri-o/fix-test.patch
@@ -1,26 +1,45 @@
---- a/test/helpers.bash
-+++ b/test/helpers.bash
-@@ -68,7 +68,7 @@
- # The default log directory where all logs will go unless directly specified by the kubelet
- DEFAULT_LOG_PATH=${DEFAULT_LOG_PATH:-/var/log/crio/pods}
- # Cgroup manager to be used
--CONTAINER_CGROUP_MANAGER=${CONTAINER_CGROUP_MANAGER:-systemd}
-+CONTAINER_CGROUP_MANAGER=${CONTAINER_CGROUP_MANAGER:-cgroupfs}
- # Image volumes handling
- CONTAINER_IMAGE_VOLUMES=${CONTAINER_IMAGE_VOLUMES:-mkdir}
- # Container pids limit
-@@ -166,7 +166,7 @@
- # Copy all the CNI dependencies around to ensure encapsulated tests
- CRIO_CNI_PLUGIN="$TESTDIR/cni-bin"
- mkdir "$CRIO_CNI_PLUGIN"
-- cp /opt/cni/bin/* "$CRIO_CNI_PLUGIN"
-+ cp /usr/libexec/cni/* "$CRIO_CNI_PLUGIN"
- cp "$INTEGRATION_ROOT"/cni_plugin_helper.bash "$CRIO_CNI_PLUGIN"
- sed -i "s;%TEST_DIR%;$TESTDIR;" "$CRIO_CNI_PLUGIN"/cni_plugin_helper.bash
+diff --git a/test/cgroups.bats b/test/cgroups.bats
+index 8beb6f06..80193413 100644
+--- a/test/cgroups.bats
++++ b/test/cgroups.bats
+@@ -45,6 +45,10 @@ EOF
+ }
+
+ @test "conmon pod cgroup" {
++ if [[ "$CONTAINER_CGROUP_MANAGER" != "systemd" ]]; then
++ skip "need systemd cgroup manager"
++ fi
++
+ CONTAINER_CGROUP_MANAGER="systemd" CONTAINER_DROP_INFRA_CTR=false CONTAINER_CONMON_CGROUP="pod" start_crio
+
+ jq ' .linux.cgroup_parent = "Burstablecriotest123.slice"' \
+@@ -61,6 +65,10 @@ EOF
+ skip "not yet supported by conmonrs"
+ fi
+
++ if [[ "$CONTAINER_CGROUP_MANAGER" != "systemd" ]]; then
++ skip "need systemd cgroup manager"
++ fi
++
+ CONTAINER_CGROUP_MANAGER="systemd" CONTAINER_DROP_INFRA_CTR=false CONTAINER_CONMON_CGROUP="customcrioconmon.slice" start_crio
+
+ jq ' .linux.cgroup_parent = "Burstablecriotest123.slice"' \
+@@ -77,6 +85,10 @@ EOF
+ skip "not supported for conmon"
+ fi
++ if [[ "$CONTAINER_CGROUP_MANAGER" != "systemd" ]]; then
++ skip "need systemd cgroup manager"
++ fi
++
+ configure_monitor_cgroup_for_conmonrs "customcrioconmon.slice"
+
+ CONTAINER_CGROUP_MANAGER="systemd" CONTAINER_DROP_INFRA_CTR=true start_crio
+diff --git a/test/cni_plugin_helper.bash b/test/cni_plugin_helper.bash
+index 04492172..abae521e 100755
--- a/test/cni_plugin_helper.bash
+++ b/test/cni_plugin_helper.bash
-@@ -43,7 +43,7 @@
+@@ -48,7 +48,7 @@ EOT
. "$TEST_DIR"/cni_plugin_helper_input.env
rm -f "$TEST_DIR"/cni_plugin_helper_input.env
@@ -29,16 +48,25 @@
if [[ "${DEBUG_ARGS}" == "malformed-result" ]]; then
cat <<-EOF
---- a/test/cgroups.bats
-+++ b/test/cgroups.bats
-@@ -26,6 +26,10 @@
- }
-
- @test "conmon custom cgroup" {
-+ if [[ "$CONTAINER_CGROUP_MANAGER" != "systemd" ]]; then
-+ skip "need systemd cgroup manager"
-+ fi
-+
- CONTAINER_CGROUP_MANAGER="systemd" CONTAINER_DROP_INFRA_CTR=false CONTAINER_MANAGE_NS_LIFECYCLE=false CONTAINER_CONMON_CGROUP="customcrioconmon.slice" start_crio
-
- jq ' .linux.cgroup_parent = "Burstablecriotest123.slice"' \
+diff --git a/test/common.sh b/test/common.sh
+index f7f8e1f2..45b7dd58 100644
+--- a/test/common.sh
++++ b/test/common.sh
+@@ -41,7 +41,7 @@ # CNI path
+ if command -v host-local >/dev/null; then
+ CONTAINER_CNI_PLUGIN_DIR=${CONTAINER_CNI_PLUGIN_DIR:-$(dirname "$(readlink "$(command -v host-local)")")}
+ else
+- CONTAINER_CNI_PLUGIN_DIR=${CONTAINER_CNI_PLUGIN_DIR:-/opt/cni/bin}
++ CONTAINER_CNI_PLUGIN_DIR=${CONTAINER_CNI_PLUGIN_DIR:-/usr/libexec/cni}
+ fi
+ # Runtime
+ CONTAINER_DEFAULT_RUNTIME=${CONTAINER_DEFAULT_RUNTIME:-runc}
+@@ -74,7 +74,7 @@ CHECKCRIU_BINARY=${CHECKCRIU_BINARY:-${CRIO_ROOT}/test/checkcriu/checkcriu}
+ # The default log directory where all logs will go unless directly specified by the kubelet
+ DEFAULT_LOG_PATH=${DEFAULT_LOG_PATH:-/var/log/crio/pods}
+ # Cgroup manager to be used
+-CONTAINER_CGROUP_MANAGER=${CONTAINER_CGROUP_MANAGER:-systemd}
++CONTAINER_CGROUP_MANAGER=${CONTAINER_CGROUP_MANAGER:-cgroupfs}
+ # Image volumes handling
+ CONTAINER_IMAGE_VOLUMES=${CONTAINER_IMAGE_VOLUMES:-mkdir}
+ # Container pids limit
diff --git a/testing/cri-o/makefile-fix-install.patch b/testing/cri-o/makefile-fix-install.patch
index 8b44339677a..82bb1889229 100644
--- a/testing/cri-o/makefile-fix-install.patch
+++ b/testing/cri-o/makefile-fix-install.patch
@@ -23,15 +23,13 @@
CONTAINER_RUNTIME ?= podman
BUILD_PATH := $(shell pwd)/build
BUILD_BIN_PATH := ${BUILD_PATH}/bin
-@@ -420,68 +420,70 @@
- install: .gopathok install.bin install.man install.completions install.systemd install.config
+@@ -420,60 +420,62 @@
+ install: install.bin install.man install.completions install.systemd install.config
install.bin-nobuild:
- install ${SELINUXOPT} -D -m 755 bin/crio $(BINDIR)/crio
-- install ${SELINUXOPT} -D -m 755 bin/crio-status $(BINDIR)/crio-status
- install ${SELINUXOPT} -D -m 755 bin/pinns $(BINDIR)/pinns
+ install ${SELINUXOPT} -D -m 755 bin/crio ${DESTDIR}$(BINDIR)/crio
-+ install ${SELINUXOPT} -D -m 755 bin/crio-status ${DESTDIR}$(BINDIR)/crio-status
+ install ${SELINUXOPT} -D -m 755 bin/pinns ${DESTDIR}$(BINDIR)/pinns
install.bin: binaries install.bin-nobuild
@@ -70,18 +68,12 @@
- install ${SELINUXOPT} -D -m 644 -t ${BASHINSTALLDIR} completions/bash/crio
- install ${SELINUXOPT} -D -m 644 -t ${FISHINSTALLDIR} completions/fish/crio.fish
- install ${SELINUXOPT} -D -m 644 -t ${ZSHINSTALLDIR} completions/zsh/_crio
-- install ${SELINUXOPT} -D -m 644 -t ${BASHINSTALLDIR} completions/bash/crio-status
-- install ${SELINUXOPT} -D -m 644 -t ${FISHINSTALLDIR} completions/fish/crio-status.fish
-- install ${SELINUXOPT} -D -m 644 -t ${ZSHINSTALLDIR} completions/zsh/_crio-status
+ install ${SELINUXOPT} -d -m 755 ${DESTDIR}${BASHINSTALLDIR}
+ install ${SELINUXOPT} -d -m 755 ${DESTDIR}${FISHINSTALLDIR}
+ install ${SELINUXOPT} -d -m 755 ${DESTDIR}${ZSHINSTALLDIR}
+ install ${SELINUXOPT} -D -m 644 -t ${DESTDIR}${BASHINSTALLDIR} completions/bash/crio
+ install ${SELINUXOPT} -D -m 644 -t ${DESTDIR}${FISHINSTALLDIR} completions/fish/crio.fish
+ install ${SELINUXOPT} -D -m 644 -t ${DESTDIR}${ZSHINSTALLDIR} completions/zsh/_crio
-+ install ${SELINUXOPT} -D -m 644 -t ${DESTDIR}${BASHINSTALLDIR} completions/bash/crio-status
-+ install ${SELINUXOPT} -D -m 644 -t ${DESTDIR}${FISHINSTALLDIR} completions/fish/crio-status.fish
-+ install ${SELINUXOPT} -D -m 644 -t ${DESTDIR}${ZSHINSTALLDIR} completions/zsh/_crio-status
install.systemd:
- install ${SELINUXOPT} -D -m 644 contrib/systemd/crio.service $(PREFIX)/lib/systemd/system/crio.service
@@ -91,10 +83,8 @@
uninstall:
- rm -f $(BINDIR)/crio
-- rm -f $(BINDIR)/crio-status
- rm -f $(BINDIR)/pinns
+ rm -f $(DESTDIR)$(BINDIR)/crio
-+ rm -f $(DESTDIR)$(BINDIR)/crio-status
+ rm -f $(DESTDIR)$(BINDIR)/pinns
for i in $(filter %.5,$(MANPAGES)); do \
- rm -f $(MANDIR)/man5/$$(basename $${i}); \
@@ -107,9 +97,6 @@
- rm -f ${BASHINSTALLDIR}/crio
- rm -f ${FISHINSTALLDIR}/crio.fish
- rm -f ${ZSHINSTALLDIR}/_crio
-- rm -f ${BASHINSTALLDIR}/crio-status
-- rm -f ${FISHINSTALLDIR}/crio-status.fish
-- rm -f ${ZSHINSTALLDIR}/_crio-status
- rm -f $(PREFIX)/lib/systemd/system/crio-wipe.service
- rm -f $(PREFIX)/lib/systemd/system/crio.service
- rm -f $(PREFIX)/lib/systemd/system/cri-o.service
@@ -121,9 +108,6 @@
+ rm -f $(DESTDIR)${BASHINSTALLDIR}/crio
+ rm -f $(DESTDIR)${FISHINSTALLDIR}/crio.fish
+ rm -f $(DESTDIR)${ZSHINSTALLDIR}/_crio
-+ rm -f $(DESTDIR)${BASHINSTALLDIR}/crio-status
-+ rm -f $(DESTDIR)${FISHINSTALLDIR}/crio-status.fish
-+ rm -f $(DESTDIR)${ZSHINSTALLDIR}/_crio-status
+ rm -f $(DESTDIR)$(PREFIX)/lib/systemd/system/crio-wipe.service
+ rm -f $(DESTDIR)$(PREFIX)/lib/systemd/system/crio.service
+ rm -f $(DESTDIR)$(PREFIX)/lib/systemd/system/cri-o.service
diff --git a/testing/cri-o/remove-systemd-files.patch b/testing/cri-o/remove-systemd-files.patch
index 9f8e545b8e4..bf1a0ab87d5 100644
--- a/testing/cri-o/remove-systemd-files.patch
+++ b/testing/cri-o/remove-systemd-files.patch
@@ -6,8 +6,8 @@ index 19f8052..135385c 100644
sed -i '/# INCLUDE/q' scripts/get
cat contrib/bundle/install-paths contrib/bundle/install >> scripts/get
--install: .gopathok install.bin install.man install.completions install.systemd install.config
-+install: .gopathok install.bin install.man install.completions install.config
+-install: install.bin install.man install.completions install.systemd install.config
++install: install.bin install.man install.completions install.config
install.bin-nobuild:
install ${SELINUXOPT} -D -m 755 bin/crio $(BINDIR)/crio
diff --git a/testing/cri-tools/APKBUILD b/testing/cri-tools/APKBUILD
deleted file mode 100644
index 4186a498bcb..00000000000
--- a/testing/cri-tools/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=cri-tools
-pkgver=1.22.0
-pkgrel=1
-pkgdesc="CLI tool for Kubelet Container Runtime Interface (CRI)"
-url="https://github.com/kubernetes-sigs/cri-tools"
-arch="x86_64 aarch64 ppc64le s390x armv7 x86"
-license="Apache-2.0"
-makedepends="go"
-options="!check" # no check available
-source="$pkgname-$pkgver.tar.gz::https://github.com/kubernetes-sigs/cri-tools/archive/v$pkgver.tar.gz"
-
-build() {
- make all
-}
-
-package() {
- install -Dm755 build/bin/crictl "$pkgdir/usr/bin/crictl"
- install -Dm755 build/bin/critest "$pkgdir/usr/bin/critest"
-}
-sha512sums="
-4a2751ebe0b1ed7cb739a71230272ace0cbddc516abba39c6bf07d5e2648bd60e2139935b77a5388028887915162c957f652ea05434ff7865256721d10f863df cri-tools-1.22.0.tar.gz
-"
diff --git a/testing/crispy-doom/APKBUILD b/testing/crispy-doom/APKBUILD
index 116527e1fec..fb0aebadcb5 100644
--- a/testing/crispy-doom/APKBUILD
+++ b/testing/crispy-doom/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jordan Christiansen <xordspar0@gmail.com>
# Maintainer: Jordan Christiansen <xordspar0@gmail.com>
pkgname=crispy-doom
-pkgver=5.10.3
+pkgver=6.0
pkgrel=0
pkgdesc="Limit-removing enhanced-resolution Doom source port based on Chocolate Doom"
url="https://github.com/fabiangreffrath/crispy-doom"
@@ -31,5 +31,5 @@ package() {
}
sha512sums="
-f98d8cbfb748bccca1ef50d9d46355d5b6f6dfa44b271803193f3e41e48c28fa8c6ad5bbe3a7a4ae36585cc150f2acad7ad5bd4b7a411faf45b234455d83d651 crispy-doom-5.10.3.tar.gz
+44ab9ffea1febe7eaab0c28d5dd178df821c200354aa9aeecd0b84dbe98419a037416f8d8e6176611dbd1a2dba8ec050d9e7267c61dcf8640c08c422765b270f crispy-doom-6.0.tar.gz
"
diff --git a/testing/criu/APKBUILD b/testing/criu/APKBUILD
index 4cb7acca275..4492f1e2762 100644
--- a/testing/criu/APKBUILD
+++ b/testing/criu/APKBUILD
@@ -1,23 +1,53 @@
# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=criu
-pkgver=3.15
-pkgrel=1
+pkgver=3.19
+pkgrel=0
pkgdesc="Process tree checkpoint/restore utility"
url="https://criu.org"
arch="x86_64"
license="GPL-2.0-or-later LGPL-2.1-only"
-makedepends="xmlto asciidoc python3 protobuf-c-dev libnet-dev libnl3-dev
- protobuf-dev libcap-dev"
+makedepends="
+ asciidoc
+ libaio-dev
+ libcap-dev
+ libnet-dev
+ libnl3-dev
+ nftables-dev
+ protobuf-c-dev
+ protobuf-dev
+ py3-gpep517
+ py3-protobuf
+ py3-setuptools
+ py3-wheel
+ python3
+ xmlto
+ "
checkdepends="py3-yaml"
options="!check" # https://github.com/checkpoint-restore/criu/issues/434
-subpackages="$pkgname-dev $pkgname-doc py3-$pkgname:_py:noarch"
-source="$pkgname-$pkgver.tar.gz::https://github.com/checkpoint-restore/criu/archive/v$pkgver.tar.gz"
+subpackages="$pkgname-dev $pkgname-doc py3-$pkgname-pyc py3-$pkgname:_py:noarch"
+source="$pkgname-$pkgver.tar.gz::https://github.com/checkpoint-restore/criu/archive/v$pkgver.tar.gz
+ lfs64.patch
+ lfs64-test.patch
+ "
build() {
- # https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed
- export LDFLAGS=$(echo $LDFLAGS |sed 's|-Wl,--as-needed||') PYTHON=python3
- make
+ make \
+ CONFIG_AMDGPU=n \
+ PREFIX=/usr \
+ DESTDIR="$pkgdir" \
+ LIBDIR=/usr/lib \
+ LD="${CC:-gcc}"
+ cd crit
+ CRIU_VERSION_MAJOR="${pkgver%%.*}" \
+ CRIU_VERSION_MINOR="${pkgver##*.}" \
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+ cd ../lib
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
@@ -25,9 +55,18 @@ check() {
}
package() {
- make PREFIX=/usr DESTDIR="$pkgdir" LIBDIR=/usr/lib install
+ make \
+ CONFIG_AMDGPU=n \
+ PREFIX=/usr \
+ DESTDIR="$pkgdir" \
+ LIBDIR=/usr/lib \
+ LD="${CC:-gcc}" install
rm "$pkgdir"/usr/libexec/criu/scripts/systemd-autofs-restart.sh
rm -f "$pkgdir"/usr/lib/*.a
+ python3 -m installer -d "$pkgdir" \
+ crit/.dist/*.whl
+ python3 -m installer -d "$pkgdir" \
+ lib/.dist/*.whl
}
_py() {
@@ -36,8 +75,11 @@ _py() {
pkgdesc="Python3 bindings for Criu"
depends="python3 py3-protobuf"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
+ amove usr/lib/python*
}
-sha512sums="e037e47d19b223fa2d2b437b13a87ffc70c03978ceb671fe1173e6061b1feabe1175b1dc3629443daee4b996f180e5b6683100b4f2e509b6c8a4dc33378fcb53 criu-3.15.tar.gz"
+sha512sums="
+d243818cdac51580c952a80e9164786a67ce5e294c0faa6dc700f5e8da8e36495f0b64f5c27b345ede7d6697ed7a69fa4e9a85cef451f32e3ffeb78564884571 criu-3.19.tar.gz
+d8906903972ec92667c60b6a9b8b1ca360a657556afcd62f851af0e98e904c1b58899377dfba475599f46e4b825ebf6edfe844b839149e47983084a0f55b0352 lfs64.patch
+f89267453dc089125d29f696635d798602658b5deeda83d1de0ae5959eea60804f3e26dd024520d12fed104692a65f11c3d1e0db819e7e87dda450120981afd8 lfs64-test.patch
+"
diff --git a/testing/criu/lfs64-test.patch b/testing/criu/lfs64-test.patch
new file mode 100644
index 00000000000..d4295c06314
--- /dev/null
+++ b/testing/criu/lfs64-test.patch
@@ -0,0 +1,20 @@
+--- a/test/zdtm/static/unlink_multiple_largefiles.c
++++ b/test/zdtm/static/unlink_multiple_largefiles.c
+@@ -124,7 +124,7 @@
+ check_extent_map(fiemap);
+ free(fiemap);
+
+- lseek64(fd, FSIZE, SEEK_SET);
++ lseek(fd, FSIZE, SEEK_SET);
+
+ create_check_pattern(ebuf, BUFSIZE, seed);
+
+@@ -174,7 +174,7 @@
+ }
+ test_msg("Created file: %s, fd %d\n", fnm, fd);
+
+- if (lseek64(fd, FSIZE, SEEK_SET) < 0) {
++ if (lseek(fd, FSIZE, SEEK_SET) < 0) {
+ pr_perror("Cannot seek to offset %llx", FSIZE);
+ goto failed;
+ }
diff --git a/testing/criu/lfs64.patch b/testing/criu/lfs64.patch
new file mode 100644
index 00000000000..8fdbbcddd8a
--- /dev/null
+++ b/testing/criu/lfs64.patch
@@ -0,0 +1,58 @@
+--- a/criu/include/restorer.h
++++ b/criu/include/restorer.h
+@@ -177,7 +177,7 @@
+ struct rst_aio_ring *rings;
+ unsigned int rings_n;
+
+- struct rlimit64 *rlims;
++ struct rlimit *rlims;
+ unsigned int rlims_n;
+
+ pid_t *helpers /* the TASK_HELPERS to wait on at the end of restore */;
+--- a/criu/include/fdinfo.h
++++ b/criu/include/fdinfo.h
+@@ -10,7 +10,7 @@
+ #include "images/timerfd.pb-c.h"
+
+ struct fdinfo_common {
+- off64_t pos;
++ off_t pos;
+ int flags;
+ int mnt_id;
+ int owner;
+--- a/criu/cr-restore.c
++++ b/criu/cr-restore.c
+@@ -3172,9 +3172,9 @@
+ {
+ int i;
+ TaskRlimitsEntry *rls = core->tc->rlimits;
+- struct rlimit64 *r;
++ struct rlimit *r;
+
+- ta->rlims = (struct rlimit64 *)rst_mem_align_cpos(RM_PRIVATE);
++ ta->rlims = (struct rlimit *)rst_mem_align_cpos(RM_PRIVATE);
+
+ if (!rls)
+ return prepare_rlimits_from_fd(pid, ta);
+--- a/criu/cr-dump.c
++++ b/criu/cr-dump.c
+@@ -358,7 +358,7 @@
+ int res;
+
+ for (res = 0; res < rls->n_rlimits; res++) {
+- struct rlimit64 lim;
++ struct rlimit lim;
+
+ if (syscall(__NR_prlimit64, pid, res, NULL, &lim)) {
+ pr_perror("Can't get rlimit %d", res);
+--- a/criu/servicefd.c
++++ b/criu/servicefd.c
+@@ -66,7 +66,7 @@
+
+ int init_service_fd(void)
+ {
+- struct rlimit64 rlimit;
++ struct rlimit rlimit;
+
+ /*
+ * Service fd engine implies that file descriptors used won't be
diff --git a/testing/crossplane/APKBUILD b/testing/crossplane/APKBUILD
new file mode 100644
index 00000000000..31e34c4ee9b
--- /dev/null
+++ b/testing/crossplane/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Hugo Rodrigues <hugorodrigues@hugorodrigues.xyz>>
+# Maintainer: Hugo Rodrigues <hugorodrigues@hugorodrigues.xyz>>
+pkgname=crossplane
+pkgver=0.5.8
+pkgrel=2
+pkgdesc="Quick and reliable way to convert NGINX configurations into JSON and back."
+url="https://github.com/nginxinc/crossplane/"
+arch="noarch"
+license="Apache-2.0"
+depends="python3"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="https://pypi.io/packages/source/c/crossplane/crossplane-$pkgver.tar.gz"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+40354ff7aa3a75093527550971a12e128b9f6e18589d1a0f568c6b276589a3440f4ee3a7f9efc80b301971af87321d2b2a363ced6e10353b9b8ae5add7b7fb60 crossplane-0.5.8.tar.gz
+"
diff --git a/testing/crosstool-ng/0001-sunrpc.diff b/testing/crosstool-ng/0001-sunrpc.diff
new file mode 100644
index 00000000000..24f7b457606
--- /dev/null
+++ b/testing/crosstool-ng/0001-sunrpc.diff
@@ -0,0 +1,33 @@
+--- a/sunrpc/rpc/types.h
++++ a/sunrpc/rpc/types.h
+@@ -69,24 +69,14 @@ typedef unsigned long rpcport_t;
+ #include <sys/types.h>
+ #endif
+
+-#if defined __APPLE_CC__ || defined __FreeBSD__
+-# define __u_char_defined
+-# define __daddr_t_defined
+-#endif
+-
+-#ifndef __u_char_defined
+-typedef __u_char u_char;
+-typedef __u_short u_short;
+-typedef __u_int u_int;
+-typedef __u_long u_long;
+-typedef __quad_t quad_t;
+-typedef __u_quad_t u_quad_t;
+-typedef __fsid_t fsid_t;
++/* IMPORTANT NOTE: This has been modified to build against the musl C
++ * library and it probably now ONLY builds with the musl C library.
++ *
++ * See: https://sourceware.org/bugzilla/show_bug.cgi?id=21604
++ */
+ # define __u_char_defined
+-#endif
+ #ifndef __daddr_t_defined
+-typedef __daddr_t daddr_t;
+-typedef __caddr_t caddr_t;
++typedef int daddr_t;
+ # define __daddr_t_defined
+ #endif
+
diff --git a/testing/crosstool-ng/APKBUILD b/testing/crosstool-ng/APKBUILD
index 9cdf776ec1d..d39e20ac174 100644
--- a/testing/crosstool-ng/APKBUILD
+++ b/testing/crosstool-ng/APKBUILD
@@ -1,20 +1,35 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=crosstool-ng
-pkgver=1.24.0
+pkgver=1.25.0
pkgrel=0
pkgdesc="tool for building toolchains"
url="http://crosstool-ng.org/"
license="LGPL-2.1-or-later GPL-2.0-or-later CC-BY-SA-2.5"
arch="x86 x86_64 ppc64le"
-depends="bash gawk bison flex automake autoconf libtool cvs sed texinfo gperf"
+depends="
+ autoconf
+ automake
+ bash
+ bison
+ cvs
+ file
+ flex
+ g++
+ gawk
+ gperf
+ libtool
+ make
+ patch
+ sed
+ wget
+ xz
+ texinfo"
makedepends="ncurses-dev help2man xz gettext-dev"
subpackages="$pkgname-doc $pkgname-bash-completion"
-source="http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-$pkgver.tar.xz"
-
-builddir="$srcdir/$pkgname-$pkgver"
+source="http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-$pkgver.tar.xz
+ 0001-sunrpc.diff"
build() {
- cd "$builddir"
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
@@ -23,13 +38,21 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
# bash completion
mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
mv "$pkgdir"/usr/share/bash-completion/completions/ct-ng \
"$pkgdir"/usr/share/bash-completion/completions/$pkgname
+
+ # glibc patch
+ for glibc in 2.28 2.29; do
+ install -D -m 0644 "$srcdir"/0001-sunrpc.diff \
+ "$pkgdir"/usr/share/crosstool-ng/packages/glibc/$glibc/0001-sunrpc.patch
+ done
}
-sha512sums="89b8794a4184ad4928750e29712ed4f194aa1d0b93768d67ff64f30c30f1b1e165647cafc6de94d68d3ef70e50446e544dad65aa36137511a32ee7a667dddfb4 crosstool-ng-1.24.0.tar.xz"
+sha512sums="
+e25b6fb577ce439592a889fe73bbde4109309e7fe154e7133fefaeb5522c97e3f96958941aa1bc86448fcecb6b4021ff793c595048f5ef8e5ecc75e9a48c0c45 crosstool-ng-1.25.0.tar.xz
+4ef553b1e5295924e86c8457fac7ad128107f97c7ea247246f89a626937906f67f9a734aa77dc438680c2ac4d684f74819f8fde105459de4402dc7315fffa805 0001-sunrpc.diff
+"
diff --git a/testing/crowdsec/APKBUILD b/testing/crowdsec/APKBUILD
index 03a3828a526..80aa7a41b5a 100644
--- a/testing/crowdsec/APKBUILD
+++ b/testing/crowdsec/APKBUILD
@@ -1,37 +1,94 @@
+# Contributor: tetsumaki <yd-alpine@tetsumaki.net>
# Contributor: Nicolas Lorin <androw95220@gmail.com>
# Maintainer: Nicolas Lorin <androw95220@gmail.com>
pkgname=crowdsec
-pkgver=1.2.2
+pkgver=1.6.1
pkgrel=0
pkgdesc="behavior detection engine, coupled with a global IP reputation network"
url="https://crowdsec.net/"
-# riscv64: missing yq, binutils-gold
-arch="all !riscv64"
+arch="all"
license="MIT"
-depends="tzdata yq"
-makedepends="go jq bash gettext binutils-gold coreutils"
+makedepends="go sqlite-dev re2-dev"
+subpackages="
+ $pkgname-openrc
+ $pkgname-email-plugin:_plugin
+ $pkgname-http-plugin:_plugin
+ $pkgname-slack-plugin:_plugin
+ $pkgname-splunk-plugin:_plugin
+ "
options="!check" # no test suite identified
-source="$pkgname-$pkgver.tar.gz::https://github.com/crowdsecurity/crowdsec/archive/refs/tags/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/crowdsecurity/crowdsec/archive/refs/tags/v$pkgver.tar.gz
+ system-sqlite.patch
+ crowdsec.initd
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- make BUILD_VERSION=v$pkgver build
+ make \
+ BUILD_VERSION=v$pkgver \
+ BUILD_TAG="aports"
}
package() {
- mkdir -p $pkgdir/usr/bin/
- install -m 755 -D ./cmd/crowdsec/crowdsec $pkgdir/usr/bin/crowdsec
- install -m 755 -D ./cmd/crowdsec-cli/cscli $pkgdir/usr/bin/cscli
+ install -dm 0755 \
+ "$pkgdir"/etc/crowdsec/acquis.d \
+ "$pkgdir"/etc/crowdsec/hub \
+ "$pkgdir"/etc/crowdsec/notifications \
+ "$pkgdir"/etc/crowdsec/patterns \
+ "$pkgdir"/usr/libexec/crowdsec/plugins \
+ "$pkgdir"/var/lib/crowdsec/data
+ install -Dm 0755 "$srcdir"/crowdsec.initd "$pkgdir"/etc/init.d/crowdsec
+ install -Dm 0755 cmd/crowdsec-cli/cscli "$pkgdir"/usr/bin/cscli
+ install -m 0755 cmd/crowdsec/crowdsec "$pkgdir"/usr/bin/crowdsec
+ install -m 0644 config/patterns/* "$pkgdir"/etc/crowdsec/patterns/
+ install -m 0644 \
+ config/acquis.yaml \
+ config/console.yaml \
+ config/profiles.yaml \
+ config/simulation.yaml \
+ "$pkgdir"/etc/crowdsec/
+ install -m 0600 \
+ config/local_api_credentials.yaml \
+ config/online_api_credentials.yaml \
+ "$pkgdir"/etc/crowdsec/
+ install -m 0600 \
+ cmd/notification-email/email.yaml \
+ cmd/notification-http/http.yaml \
+ cmd/notification-slack/slack.yaml \
+ cmd/notification-splunk/splunk.yaml \
+ cmd/notification-sentinel/sentinel.yaml \
+ "$pkgdir"/etc/crowdsec/notifications
+ install -m 0551 \
+ cmd/notification-email/notification-email \
+ cmd/notification-http/notification-http \
+ cmd/notification-slack/notification-slack \
+ cmd/notification-splunk/notification-splunk \
+ cmd/notification-sentinel/notification-sentinel \
+ "$pkgdir"/usr/libexec/crowdsec/plugins/
+ sed \
+ -e '/^\s*pid_dir:/d' \
+ -e 's/^\(\s*log_dir:\s*\)\(.*\)$/\1\/var\/log\/crowdsec\//' \
+ -e 's/^\(\s*plugin_dir:\s*\)\(.*\)$/\1\/usr\/libexec\/crowdsec\/plugins\//' \
+ -e 's/^\(\s*group:\s*\)\(\w*\)\(.*\)$/\1nobody\3/' \
+ config/config.yaml \
+ | install -m 0600 /dev/stdin "$pkgdir"/etc/crowdsec/config.yaml
+ sed 's/systemctl reload crowdsec/rc-service crowdsec reload/' config/crowdsec.cron.daily \
+ | install -Dm 0750 /dev/stdin "$pkgdir"/etc/periodic/daily/crowdsec
+}
- mkdir -p $pkgdir/etc/crowdsec/
- mkdir -p $pkgdir/etc/crowdsec/hub/
- install -m 644 -D ./config/config.yaml $pkgdir/etc/crowdsec/
- install -m 644 -D ./config/dev.yaml $pkgdir/etc/crowdsec/
- install -m 644 -D ./config/user.yaml $pkgdir/etc/crowdsec/
- install -m 644 -D ./config/acquis.yaml $pkgdir/etc/crowdsec/
- install -m 644 -D ./config/profiles.yaml $pkgdir/etc/crowdsec/
- install -m 644 -D ./config/simulation.yaml $pkgdir/etc/crowdsec/
+_plugin() {
+ _subpkgname="${subpkgname:9:(${#subpkgname}-16)}"
+ pkgdesc="$pkgname plugin: $_subpkgname"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ amove etc/crowdsec/notifications/$_subpkgname.yaml
+ amove usr/libexec/crowdsec/plugins/notification-$_subpkgname
}
sha512sums="
-53d47c7fdc2c96f3b425fb536447f4397d31f76ede5b59c2279ba1e1ea05d21d6e9b55177d4f20abac68bbd5666a0fb27bb882c803cca09c510b95be90d9566a crowdsec-1.2.2.tar.gz
+96dddefcb459e044c2e73cf110b5a6b403fafbb7a68321fc1482a836c6d1ac515c0fd294d831fea5f3367f0057d5e6d1f978721132b7ee52e9c4fde9e36e9078 crowdsec-1.6.1.tar.gz
+ddabca84cb32b6461a3944b00e38807715320bbf46cf7b39fcbba0190d6dae7748950e1a424b95247779fdd15dbb2120fab43b80b479a03c895f246d45ecaf7b system-sqlite.patch
+098db47afd457c9d68c69097c31fae29cd0c0dc98199b254f75b130ac228ac43c024182bebd7eae756ae4fa2f54682b7f0534cb04311468224d9df2ce4f67ec2 crowdsec.initd
"
diff --git a/testing/crowdsec/crowdsec.initd b/testing/crowdsec/crowdsec.initd
new file mode 100644
index 00000000000..78f4940c436
--- /dev/null
+++ b/testing/crowdsec/crowdsec.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+command=/usr/bin/crowdsec
+command_args="-c /etc/crowdsec/config.yaml"
+pidfile="/run/${RC_SVCNAME}.pid"
+command_background=true
+extra_started_commands="reload"
+description_reload="Reload configuration"
+
+depend() {
+ after firewall
+}
+
+reload() {
+ ebegin "Reloading $RC_SVCNAME"
+ start-stop-daemon --signal HUP --pidfile "$pidfile"
+ eend $?
+}
diff --git a/testing/crowdsec/system-sqlite.patch b/testing/crowdsec/system-sqlite.patch
new file mode 100644
index 00000000000..63a5b7cd0f9
--- /dev/null
+++ b/testing/crowdsec/system-sqlite.patch
@@ -0,0 +1,11 @@
+--- a/Makefile 2023-09-18 11:54:09.000000000 +0200
++++ b/Makefile 2023-09-18 20:19:59.347761343 +0200
+@@ -81,7 +81,7 @@ ifneq (,$(DOCKER_BUILD))
+ LD_OPTS_VARS += -X '$(GO_MODULE_NAME)/pkg/cwversion.System=docker'
+ endif
+
+-GO_TAGS := netgo,osusergo,sqlite_omit_load_extension
++GO_TAGS := netgo,osusergo,sqlite_omit_load_extension,libsqlite3
+
+ # this will be used by Go in the make target, some distributions require it
+ export PKG_CONFIG_PATH:=/usr/local/lib/pkgconfig:$(PKG_CONFIG_PATH)
diff --git a/testing/crust/APKBUILD b/testing/crust/APKBUILD
deleted file mode 100644
index e2a55fec0a0..00000000000
--- a/testing/crust/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=crust
-pkgver=0.5
-pkgrel=0
-pkgdesc="libre SCP firmware for Allwinner sunxi SoCs"
-url="https://github.com/crust-firmware/crust"
-arch="aarch64" # only needed for sunxi ARM64 SOCs
-license="BSD-3-clause or GPL-2.0-only"
-options="!check" # no tests
-makedepends="gcc-or1k-elf binutils-or1k-elf dtc bison flex"
-source="https://github.com/crust-firmware/crust/archive/v$pkgver/crust-v$pkgver.tar.gz"
-_platforms="pinebook pinephone pinetab pine_h64"
-for platform in $_platforms
-do
- subpackages="$subpackages $pkgname-$platform:_subpackage"
-done
-
-
-build() {
- for platform in $_platforms
- do
- msg "Building SCP firmware for: $platform"
- mkdir -p "$builddir"/build/$platform
- make CROSS_COMPILE=or1k-elf- "$platform"_defconfig
- make CROSS_COMPILE=or1k-elf- OBJ="$builddir"/build/$platform "$platform"_defconfig scp
- make clean
- done
-}
-
-package() {
- install -Dm644 "$builddir"/LICENSE.md "$pkgdir"/usr/share/license/$pkgname/LICENSE.md
-}
-
-_subpackage() {
- pkgdesc="SCP Firmware for: ${subpkgname#crust-}"
- install -Dm644 "$builddir"/build/"${subpkgname#crust-}"/scp/scp.bin "$subpkgdir"/usr/share/crust/"${subpkgname#crust-}"/scp.bin
-}
-
-sha512sums="
-1a3811053fd3a27285a1377888ab5b36e9363a2f5818f69966eb7f5214e571475a2a7865b9e1b68387940a9a7e9dc3841d2458544c155aecc5b9da041eb946ba crust-v0.5.tar.gz
-"
diff --git a/testing/cryfs/0001-fix-for-python3.patch b/testing/cryfs/0001-fix-for-python3.patch
deleted file mode 100644
index 2629a4691a7..00000000000
--- a/testing/cryfs/0001-fix-for-python3.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream: No
-Reason: Fix default python version for this script
-
---- a/src/gitversion/getversion.py 2020-06-05 00:07:29.206108295 +0300
-+++ b/src/gitversion/getversion.py 2020-06-05 00:07:48.846126599 +0300
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import versioneer
-
---- a/src/gitversion/gitversion.cmake 2020-06-05 00:39:47.862225137 +0300
-+++ b/src/gitversion/gitversion.cmake 2020-06-05 00:40:18.162282012 +0300
-@@ -1,7 +1,7 @@
- set(DIR_OF_GITVERSION_TOOL "${CMAKE_CURRENT_LIST_DIR}" CACHE INTERNAL "DIR_OF_GITVERSION_TOOL")
-
- function (get_git_version OUTPUT_VARIABLE)
-- EXECUTE_PROCESS(COMMAND python ${DIR_OF_GITVERSION_TOOL}/getversion.py
-+ EXECUTE_PROCESS(COMMAND python3 ${DIR_OF_GITVERSION_TOOL}/getversion.py
- WORKING_DIRECTORY ${DIR_OF_GITVERSION_TOOL}
- OUTPUT_VARIABLE VERSION
- ERROR_VARIABLE error
diff --git a/testing/cryfs/APKBUILD b/testing/cryfs/APKBUILD
deleted file mode 100644
index d753f14ffa9..00000000000
--- a/testing/cryfs/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: Pavel Pletenev <cpp.create@gmail.com>
-# Maintainer: Pavel Pletenev <cpp.create@gmail.com>
-pkgname=cryfs
-pkgver=0.10.3
-pkgrel=1
-pkgdesc="Cryptographic filesystem for the cloud"
-url="https://github.com/cryfs/cryfs"
-# Fails on other arches
-arch="x86_64 aarch64"
-license="LGPL-3.0-only"
-makedepends="cmake attr-dev curl-dev fuse-dev linux-headers
- boost-dev python3"
-source="$pkgname-$pkgver.tar.gz::https://github.com/cryfs/cryfs/archive/$pkgver.tar.gz
- 0001-fix-for-python3.patch"
-
-prepare() {
- default_prepare
- echo "$pkgver" > VERSION
-}
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- export GIT_CEILING_DIRECTORIES="$srcdir"
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_TESTING=ON \
- -DBoost_USE_STATIC_LIBS=OFF \
- $CMAKE_CROSSOPTS .
- make -C build -j1
-}
-
-check() {
- ./build/test/gitversion/gitversion-test
- ./build/test/cpp-utils/cpp-utils-test
- ./build/test/parallelaccessstore/parallelaccessstore-test
- ./build/test/blockstore/blockstore-test
- ./build/test/blobstore/blobstore-test
- ./build/test/cryfs/cryfs-test
-}
-
-package() {
- make -C build PREFIX=/usr DESTDIR="$pkgdir" install
-}
-
-sha512sums="81380b8f455cc058427e638b55dcb4fcc64fc09930d897e750fb69509e8f100b048d050ec71e0acefe8a93973cf26ca4dc8dec806b905ce6d82ce78066ff01db cryfs-0.10.3.tar.gz
-d299466c8cfaa0f1f75565756d95a12cd7fa94615f0292f31ad0494dc8a0aae35c22fbab023d7e183b95e877c58553a0c8f8ab1f7444df1f9d1b292c063edfb0 0001-fix-for-python3.patch"
diff --git a/testing/crypto++/APKBUILD b/testing/crypto++/APKBUILD
deleted file mode 100644
index 1706804af0e..00000000000
--- a/testing/crypto++/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: August Klein <amatcoder@gmail.com>
-# Maintainer: August Klein <amatcoder@gmail.com>
-pkgname=crypto++
-_pkgname=cryptopp
-pkgver=8.6.0
-_pkgver=${pkgver//./}
-pkgrel=0
-pkgdesc="A free C++ class library of cryptographic schemes"
-url="https://www.cryptopp.com/"
-arch="all"
-license="BSL-1.0"
-depends_dev="$pkgname"
-subpackages="$pkgname-static $pkgname-dev"
-source="https://www.cryptopp.com/$_pkgname$_pkgver.zip"
-builddir="$srcdir"
-
-build() {
- make CXXFLAGS="$CXXFLAGS -DNDEBUG -fPIC" -f GNUmakefile \
- dynamic static libcryptopp.pc
-}
-
-check() {
- make -f GNUmakefile check
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX="/usr" install-lib
-}
-
-sha512sums="
-e7773f5e4a7dc7e8e735b1702524bee56ba38e5211544c9c9778bc51ed8dc7b376c17f2e406410043b636312336f26f76dc963f298872f8c13933e88c232fc03 cryptopp860.zip
-"
diff --git a/testing/cscope/APKBUILD b/testing/cscope/APKBUILD
index ff4a2fab0d4..5ffcb61bfbc 100644
--- a/testing/cscope/APKBUILD
+++ b/testing/cscope/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=cscope
pkgver=15.9
-pkgrel=0
+pkgrel=1
pkgdesc="Cscope is a developer's tool for browsing source code."
-url="http://cscope.sourceforge.net/"
+url="https://cscope.sourceforge.net/"
arch="all"
license="BSD-3-Clause"
makedepends="ncurses-dev"
diff --git a/testing/csfml/APKBUILD b/testing/csfml/APKBUILD
index b557d1854db..6bb5f8093b5 100644
--- a/testing/csfml/APKBUILD
+++ b/testing/csfml/APKBUILD
@@ -1,34 +1,34 @@
# Maintainer: Daniel Sabogal <dsabogalcc@gmail.com>
pkgname=csfml
-pkgver=2.5.1
+pkgver=2.5.2
pkgrel=0
pkgdesc="C bindings for SFML"
url="https://www.sfml-dev.org/"
arch="all"
license="Zlib"
-makedepends="cmake doxygen sfml-dev"
+makedepends="cmake doxygen samurai sfml-dev"
subpackages="$pkgname-dev $pkgname-doc"
-options="!check"
source="$pkgname-$pkgver.tar.gz::https://github.com/SFML/CSFML/archive/$pkgver.tar.gz"
-
builddir="$srcdir/CSFML-$pkgver"
+options="!check"
+
build() {
- cmake . \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCSFML_BUILD_DOC=TRUE \
-DCSFML_LINK_SFML_STATICALLY=FALSE \
-DSFML_DIR=/usr/share/SFML/cmake/Modules
- make
+ cmake --build build
}
package() {
- make DESTDIR="$pkgdir" -C "$builddir" install
+ DESTDIR="$pkgdir" cmake --install build
mkdir -p "$pkgdir"/usr/share/doc
mv "$pkgdir"/usr/share/CSFML/doc "$pkgdir"/usr/share/doc/CSFML
}
sha512sums="
-353baf9879d1c96c04761c3d734822f35fea2b420e7c1b880caef56fabd34d9b10a31772cd3e5bcb86e3c50d6c4552aa69a0351e3d29cb4156a3f1758e7b7fc2 csfml-2.5.1.tar.gz
+d651b42e777647d748edf8d2cc40e6df9b0e3fe0f9af5f5c84e9d62ac5bdf6e7e0ff4bb037ee81b59e0bdec544ad05e3b503a4555f03bfa6292a80c6188c12dc csfml-2.5.2.tar.gz
"
diff --git a/testing/csmith/APKBUILD b/testing/csmith/APKBUILD
index b6cc3cf202e..b4d368904e9 100644
--- a/testing/csmith/APKBUILD
+++ b/testing/csmith/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Daniel Sabogal <dsabogalcc@gmail.com>
pkgname=csmith
pkgver=2.3.0
-pkgrel=0
+pkgrel=1
pkgdesc="Tool for generating random C programs"
url="https://embed.cs.utah.edu/csmith/"
arch="all"
diff --git a/testing/csol/10-fix-ncurses.patch b/testing/csol/10-fix-ncurses.patch
new file mode 100644
index 00000000000..165da890471
--- /dev/null
+++ b/testing/csol/10-fix-ncurses.patch
@@ -0,0 +1,13 @@
+Some systems require ncursesw.h to handle the Unicode characters that
+csol uses, but we only have /usr/include/ncurses.h. The CMake
+CURSES_NEED_WIDE explicitly requires ncursesw.h, so we disable it.
+--- ./CMakeLists.txt.orig 2021-05-08 13:30:58 +02:00
++++ ./CMakeLists.txt 2022-02-10 20:58:42 +01:00
+@@ -9,7 +9,6 @@
+ file(COPY games DESTINATION .)
+ file(COPY themes DESTINATION .)
+
+-set(CURSES_NEED_WIDE TRUE)
+ find_package(Curses REQUIRED)
+ include_directories("$(CURSES_INCLUDE_DIR)")
+
diff --git a/testing/csol/APKBUILD b/testing/csol/APKBUILD
new file mode 100644
index 00000000000..ce83359057e
--- /dev/null
+++ b/testing/csol/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Erwan Rouchet <lucidiot@brainshit.fr>
+# Maintainer: Erwan Rouchet <lucidiot@brainshit.fr>
+pkgname=csol
+pkgver=1.6.0
+pkgrel=0
+pkgdesc="Small collection of solitaire/patience games to play in the terminal"
+url="https://nielssp.dk/csol/"
+arch="all"
+license="MIT"
+makedepends="cmake ncurses-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/nielssp/csol/archive/v$pkgver.tar.gz
+ 10-fix-ncurses.patch
+ "
+subpackages="$pkgname-doc"
+options="!check" # no tests
+
+build() {
+ cmake -B build \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+2bac4e373d84c585e8bdb4671e5a446d2a174f8bfa60eaa6a8fe0d1ff5074878f2f8d0907297dd1452e5e5b1e7bfd73ba672a7820a3d4664e9abd6e654f57107 csol-1.6.0.tar.gz
+2ad2b066bdd79413ea7a72482999fc9a47d6c3b07af753ab45ee07e8ed107dbf0b2ea7492ad60eaafcc69cbf78ff0ee75b84eac127823250c5513be0d10d1a74 10-fix-ncurses.patch
+"
diff --git a/testing/ctop/APKBUILD b/testing/ctop/APKBUILD
deleted file mode 100644
index 7050d9c5e36..00000000000
--- a/testing/ctop/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Shyam Sunder <sgsunder1@gmail.com>
-# Maintainer: Shyam Sunder <sgsunder1@gmail.com>
-pkgname=ctop
-pkgver=0.7.6
-pkgrel=1
-pkgdesc="Top-like interface for container metrics"
-url="https://ctop.sh/"
-license="MIT"
-arch="all"
-depends="docker"
-makedepends="go"
-options="!check" # no test suite
-source="https://github.com/bcicen/ctop/archive/$pkgver/ctop-$pkgver.tar.gz"
-
-build() {
- make build
-}
-
-package() {
- install -Dm755 ctop "$pkgdir"/usr/bin/ctop
-}
-
-sha512sums="
-84825614ceee61a470121c9d07c55ca1b188f816c669bab862efc94b260d689316aa55454cf12a0b697a0b4a05ea27d00662e699507f9cd243891fa0a43f96c5 ctop-0.7.6.tar.gz
-"
diff --git a/testing/ctorrent-dnh/APKBUILD b/testing/ctorrent-dnh/APKBUILD
index 9fa00deea92..f3a7164a6be 100644
--- a/testing/ctorrent-dnh/APKBUILD
+++ b/testing/ctorrent-dnh/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Denis Ryabyy <vv1r0x@gmail.com>
pkgname=ctorrent-dnh
pkgver=3.3.2
-pkgrel=1
+pkgrel=2
pkgdesc="Enhanced CTorrent is a BitTorrent client for unix-like environments"
url="http://www.rahul.net/dholmes/ctorrent/"
arch="all"
@@ -16,7 +16,7 @@ build() {
./configure --prefix=/usr && make
}
-package () {
+package() {
cd "$builddir"
make DESTDIR="$pkgdir" install
}
diff --git a/testing/cue-cli/APKBUILD b/testing/cue-cli/APKBUILD
new file mode 100644
index 00000000000..8aa0453215f
--- /dev/null
+++ b/testing/cue-cli/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=cue-cli
+pkgver=0.7.0
+pkgrel=2
+pkgdesc="CLI for CUE configuration and validation language"
+url="https://cuelang.org/"
+# 32-bit: value out of int range
+# s390x: TextExe fails (slice bounds out of range)
+arch="all !x86 !armhf !armv7 !s390x"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cue-lang/cue/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/cue-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -o bin/cue \
+ -ldflags "-X cuelang.org/go/cmd/cue/cmd.version=v$pkgver" \
+ ./cmd/cue/
+
+ for shell in bash fish zsh; do
+ ./bin/cue completion $shell > cue.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/cue -t "$pkgdir"/usr/bin/
+
+ install -Dm644 cue.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/cue
+ install -Dm644 cue.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/cue.fish
+ install -Dm644 cue.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_cue
+}
+
+sha512sums="
+471ebc4ac81dfc0df42d8e8bd5e858b8a2f958c909ccd0b391ed4af669e7eba3908bcde63ca21973f072e35f66d307180fb3fc43627eb4de6385011bcf48aed1 cue-cli-0.7.0.tar.gz
+"
diff --git a/testing/cups-pdf/APKBUILD b/testing/cups-pdf/APKBUILD
index 85a7f7466a7..0b24be3f2bf 100644
--- a/testing/cups-pdf/APKBUILD
+++ b/testing/cups-pdf/APKBUILD
@@ -1,17 +1,16 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=cups-pdf
pkgver=3.0.1
-pkgrel=1
+pkgrel=2
pkgdesc="CUPS PDF printer"
url="https://www.cups-pdf.de"
arch="all"
-license="GPL"
+license="GPL-2.0-or-later"
makedepends="cups-dev"
options="!check"
pkgusers="lp"
pkggroups="lp"
source="https://www.cups-pdf.de/src/cups-pdf_$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
build() {
cd "$builddir/src"
@@ -19,9 +18,9 @@ build() {
}
package() {
- cd "$builddir"
install -D -m755 src/cups-pdf "$pkgdir"/usr/lib/cups/backend/cups-pdf
- install -D -m644 extra/cups-pdf.conf "$pkgdir"/etc/cups/cups-pdf.conf
+ install -d -g lp "$pkgdir"/etc/cups
+ install -D -m644 -g lp extra/cups-pdf.conf "$pkgdir"/etc/cups/cups-pdf.conf
install -D -m644 extra/CUPS-PDF_opt.ppd "$pkgdir"/usr/share/ppd/cups-pdf/cups-pdf.ppd
install -d -o lp -g lp "$pkgdir"/var/spool/cups-pdf
}
diff --git a/testing/cura/APKBUILD b/testing/cura/APKBUILD
new file mode 100644
index 00000000000..c6964f877a2
--- /dev/null
+++ b/testing/cura/APKBUILD
@@ -0,0 +1,75 @@
+# 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"
+arch="noarch !ppc64le !x86 !armhf !riscv64 !s390x !armv7" # 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
+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
+"
diff --git a/testing/cura/AppDesktopData.patch b/testing/cura/AppDesktopData.patch
new file mode 100644
index 00000000000..9e2134f5823
--- /dev/null
+++ b/testing/cura/AppDesktopData.patch
@@ -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
diff --git a/testing/cura/CuraVersion.patch b/testing/cura/CuraVersion.patch
new file mode 100644
index 00000000000..916225d09c9
--- /dev/null
+++ b/testing/cura/CuraVersion.patch
@@ -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@"
diff --git a/testing/cura/cmake-helpers.patch b/testing/cura/cmake-helpers.patch
new file mode 100644
index 00000000000..6204aaa585c
--- /dev/null
+++ b/testing/cura/cmake-helpers.patch
@@ -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()
diff --git a/testing/cura/cmake.patch b/testing/cura/cmake.patch
new file mode 100644
index 00000000000..a74477fa20a
--- /dev/null
+++ b/testing/cura/cmake.patch
@@ -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()
diff --git a/testing/curlftpfs/APKBUILD b/testing/curlftpfs/APKBUILD
index 4e2d4711753..61db1fae1d0 100644
--- a/testing/curlftpfs/APKBUILD
+++ b/testing/curlftpfs/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=curlftpfs
pkgver=0.9.2
-pkgrel=2
+pkgrel=3
pkgdesc="Fuse mount FTP server"
url="https://sourceforge.net/projects/curlftpfs/"
arch="all"
license="GPL-2.0-only"
makedepends="curl-dev glib-dev fuse-dev"
subpackages="$pkgname-doc"
-source="https://downloads.sourceforge.net/project/curlftpfs/curlftpfs/0.9.2/curlftpfs-0.9.2.tar.gz
+source="https://downloads.sourceforge.net/project/curlftpfs/curlftpfs/$pkgver/curlftpfs-$pkgver.tar.gz
001-uclibc_mod.patch
500-fix-CURLOPT_INFILESIZE.patch
510-free_ftpfs_file-memleak-fix.patch
diff --git a/testing/curlpp/APKBUILD b/testing/curlpp/APKBUILD
index 5da7b27135c..b57d8d9808a 100644
--- a/testing/curlpp/APKBUILD
+++ b/testing/curlpp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=curlpp
pkgver=0.8.1
-pkgrel=0
+pkgrel=1
pkgdesc="C++ wrapper for libcURL"
url="http://curlpp.org"
arch="all"
diff --git a/testing/curtail/APKBUILD b/testing/curtail/APKBUILD
index 5799b348b9b..d114d8559d2 100644
--- a/testing/curtail/APKBUILD
+++ b/testing/curtail/APKBUILD
@@ -2,25 +2,35 @@
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=curtail
_pkgname=Curtail
-pkgver=1.2.2
+pkgver=1.9.1
pkgrel=0
pkgdesc="Simple & useful image compressor"
url="https://github.com/Huluti/Curtail"
arch="noarch"
license="GPL-3.0-or-later"
-depends="optipng pngquant jpegoptim libwebp py3-gobject3"
-makedepends="python3 meson gettext appstream-glib py3-gobject3-dev"
-source="
- https://github.com/Huluti/Curtail/archive/$pkgver/curtail-$pkgver.tar.gz
- fix-bindtextdomain.patch
+depends="
+ jpegoptim
+ libwebp
+ pngquant
+ py3-gobject3
"
+makedepends="
+ appstream-glib
+ desktop-file-utils
+ gettext
+ gtk+3.0-dev
+ meson
+ py3-gobject3-dev
+ python3
+ "
+source="https://github.com/Huluti/Curtail/archive/$pkgver/curtail-$pkgver.tar.gz"
subpackages="$pkgname-lang"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
abuild-meson . build
- meson compile ${JOBS:+-j ${JOBS}} -C build
+ meson compile -C build
}
check() {
@@ -32,6 +42,5 @@ package() {
}
sha512sums="
-62d516d1c7d32dbace43e51ad25a28d299d27cc0902cc68f1296ce22bad7b6fa6678f80b122ee7efa0791ae92b726f1db1217ab6faae3fee7133606dc2197e0a curtail-1.2.2.tar.gz
-1f6e43b3097fb808996553a1abc95ef10637bd0b1d7d51de451411509a6f1407af7cb7f593113c33d7818aaed78fe164dc3714f1851f74d24c97157d9053642e fix-bindtextdomain.patch
+7ff0ff10068c5ff2694f6674376edf84957759b6274740d47d11a584943b026183b13a59b777c27569b6997c3cb358694fa93c55a1136b9d1fab08e768d1a1a4 curtail-1.9.1.tar.gz
"
diff --git a/testing/curtail/fix-bindtextdomain.patch b/testing/curtail/fix-bindtextdomain.patch
deleted file mode 100644
index 0aa59fc1489..00000000000
--- a/testing/curtail/fix-bindtextdomain.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fix musl compatibility
-
---- a/src/curtail.in
-+++ b/src/curtail.in
-@@ -26,7 +26,7 @@ import locale
- VERSION = '@VERSION@'
- pkgdatadir = '@pkgdatadir@'
- localedir = '@localedir@'
--locale.bindtextdomain('curtail', localedir)
-+# locale.bindtextdomain('curtail', localedir)
-
- sys.path.insert(1, pkgdatadir)
- signal.signal(signal.SIGINT, signal.SIG_DFL)
diff --git a/testing/cutechess/APKBUILD b/testing/cutechess/APKBUILD
new file mode 100644
index 00000000000..fc390bdc4b3
--- /dev/null
+++ b/testing/cutechess/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Leo <thinkabit.ukim@gmail.com>
+# Maintainer: Prokop RandáÄek <prokop@rdck.dev>
+pkgname=cutechess
+pkgver=1.3.1
+pkgrel=0
+pkgdesc="GUI, CLI and library for playing chess"
+url="https://cutechess.com"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ qt6-qt5compat-dev
+ qt6-qtbase-dev
+ qt6-qtsvg-dev
+ samurai
+ "
+subpackages="
+ $pkgname-doc:cutechess_doc:noarch
+ $pkgname-cli
+ $pkgname-cli-doc:cli_doc:noarch
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/cutechess/cutechess/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ CXXFLAGS="$CXXFLAGS -flto=auto -Wno-deprecated-declarations" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
+ -DWITH_TESTS="$(want_check && echo ON || echo OFF)"
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ # manual doc install
+ gzip -9n "$pkgdir"/usr/share/man/man*/*
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+cutechess_doc() {
+ install_if="$pkgname=$pkgver-r$pkgrel docs"
+
+ amove usr/share/man/man5
+}
+
+cli() {
+ pkgdesc="Commandline interface for cutechess"
+
+ amove usr/bin/cutechess-cli
+}
+
+cli_doc() {
+ install_if="$pkgname-cli=$pkgver-r$pkgrel docs"
+
+ amove usr/share/man/man6
+}
+
+sha512sums="
+d6078d7ba30f735f4a12719f75e028fb990d7e6d4f5aebd3ba6295523513adf26725854c7d221dbb6c6a93cc8b4a7edd10c6d6cb1741678136367b63da08c471 cutechess-1.3.1.tar.gz
+"
diff --git a/testing/cvise/APKBUILD b/testing/cvise/APKBUILD
new file mode 100644
index 00000000000..583b39f9270
--- /dev/null
+++ b/testing/cvise/APKBUILD
@@ -0,0 +1,71 @@
+# Maintainer:
+pkgname=cvise
+pkgver=2.8.0
+pkgrel=2
+_llvmver=16
+pkgdesc="Python port of C-Reduce, for program testcase minimisation"
+url="https://github.com/marxin/cvise"
+arch="all"
+license="NCSA"
+depends="
+ cmd:clang-format
+ py3-chardet
+ py3-pebble
+ py3-psutil
+ unifdef
+ "
+makedepends="
+ clang$_llvmver-dev
+ clang$_llvmver-static
+ cmake
+ flex
+ llvm$_llvmver-dev
+ llvm$_llvmver-static
+ samurai
+ "
+checkdepends="
+ py3-pytest-forked
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/marxin/cvise/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ export CC=clang-$_llvmver
+ export CXX=clang++-$_llvmver
+ export CFLAGS="${CFLAGS/-fstack-clash-protection} -O2 -DNDEBUG"
+ export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection} -O2 -DNDEBUG"
+
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+check() {
+ cd build
+ # simple_deduction: for some reason it checks for a short string but gets a wall of text in a reduced case
+ pytest -c /dev/null -n auto --forked -k 'not test_simple_reduction'
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ # remove tests
+ rm -r "$pkgdir"/usr/share/cvise/tests
+ python3 -m compileall -fq "$pkgdir"/usr/share/cvise
+}
+
+pyc() {
+ pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
+ install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
+
+ cd "$pkgdir"
+ local IFS='
+'
+ # shellcheck disable=2046
+ amove $(find usr/share/cvise -type d -name __pycache__)
+}
+
+sha512sums="
+7e2dee2001aacb96cf5ffdb62047d229e23273fd26f34648e23ab4374bf6cae149f13db529494ce8d2d16555a0d2143487923c57f4b303b0ab1f678ffcff6f6e cvise-2.8.0.tar.gz
+"
diff --git a/testing/cvs-fast-export/01-compile-flags.patch b/testing/cvs-fast-export/01-compile-flags.patch
deleted file mode 100644
index ce7e5bd11d2..00000000000
--- a/testing/cvs-fast-export/01-compile-flags.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-Description: Modify compile flags handling in Makefile for Debian packaging
- This is to allow CFLAGS set by dpkg-buildflags from the environment
- so that hardening flags and DEB_BUILD_OPTIONS=noopt would work.
- .
- Also disable -march=native which causes FTBFS on many platforms
- and is inappropriate for a Debian package. See a similar bug
- https://bugs.debian.org/761912 for an explanation.
- (Note: Upstream commented out "CFLAGS += -march=native" in commit
- 0ead90d5d9ab861acd40a05490ed8e7936ac1fa5 on 2019-11-12.)
-Author: Anthony Fok <foka@debian.org>
-Origin: vendor
-Bug-Debian: https://bugs.debian.org/801108
-Forwarded: not-needed
-Last-Update: 2016-12-30, 2020-02-12, 2020-11-05
----
-This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
---- a/Makefile
-+++ b/Makefile
-@@ -32,6 +32,7 @@
- FLEX ?= flex
- A2X ?= a2x
-
-+ENV_CFLAGS := $(CFLAGS)
- GCC_WARNINGS1=-Wall -Wpointer-arith -Wstrict-prototypes
- GCC_WARNINGS2=-Wmissing-prototypes -Wmissing-declarations
- GCC_WARNINGS3=-Wno-unused-function -Wno-unused-label -Wno-format-zero-length
-@@ -86,7 +87,7 @@
- CFLAGS += -g
- # Test coverage flags
- # CFLAGS += -ftest-coverage -fprofile-arcs
--CFLAGS += $(EXTRA_CFLAGS)
-+CFLAGS += $(EXTRA_CFLAGS) $(ENV_CFLAGS)
-
- #YFLAGS= --report=all
- LFLAGS=
diff --git a/testing/cvs-fast-export/APKBUILD b/testing/cvs-fast-export/APKBUILD
index afdcdeda6c3..2ca6f824b1f 100644
--- a/testing/cvs-fast-export/APKBUILD
+++ b/testing/cvs-fast-export/APKBUILD
@@ -1,21 +1,18 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=cvs-fast-export
-pkgver=1.55
+pkgver=1.65
pkgrel=0
pkgdesc="Export RCS or CVS history as a fast-import stream"
url="http://www.catb.org/esr/cvs-fast-export/"
arch="all"
license="GPL-2.0-or-later"
depends="cvs rcs"
-makedepends="asciidoc bison flex libxslt"
+makedepends="asciidoctor bison flex libxslt"
checkdepends="python3"
subpackages="$pkgname-doc $pkgname-tools::noarch"
-source="https://gitlab.com/esr/cvs-fast-export/-/archive/$pkgver/cvs-fast-export-$pkgver.tar.gz
- python3.patch
- 01-compile-flags.patch
- disable-test-sporadic.patch
- "
+source="https://gitlab.com/esr/cvs-fast-export/-/archive/$pkgver/cvs-fast-export-$pkgver.tar.gz"
+options="!check" # take 50 years
build() {
# "make all" will run the commands below + html.
@@ -25,7 +22,6 @@ build() {
}
check() {
- tests/setpython python3
# v1.55 - More then one job and the tests
# are executed in the wrong order!
make -j 1 check
@@ -36,15 +32,14 @@ package() {
}
tools() {
- pkgdesc="$pkgdesc (Tools)"
- depends="$pkgname git python3 rsync"
+ pkgdesc="$pkgdesc (extra tools)"
+ depends="$pkgname=$pkgver-r$pkgrel git python3 rsync"
- cd "$pkgdir"/usr/bin
- mkdir -p "$subpkgdir"/usr/bin
- mv cvsconvert cvssync "$subpkgdir"/usr/bin/
+ amove \
+ usr/bin/cvsconvert \
+ usr/bin/cvssync
}
-sha512sums="1765bf4e086232d96b2c4a89d55fdd0028a5cc27630ebe6b34a9bc2f9319ec06802735c039dc516ec78e78af3b634bed4c94233e37d21b0da678de3a63c9ebef cvs-fast-export-1.55.tar.gz
-00ef05acf411154600f31d37795330f39e2951483cc1cba35918b359635f423648038a1f976a4ce78f5209e1b60b4b3b4812ce7348ab426b97df07c45ca638bc python3.patch
-35f738ad85132c54f6f4f521a0a0e21af2124ec71a10c94bf2b2861ca115b693e77df16b0bebb6220e555c3b582d06b2f29d9890e192dbb2d591a9042d2f1f60 01-compile-flags.patch
-687fd54316a0b14935a0421d237ff003985211ef476360395c60cfbf6d8619099c8aa6d3af5ee511b016524f576374e868cc67dcaa5b96367fb7446d669496f4 disable-test-sporadic.patch"
+sha512sums="
+84665f654364c111455edec5c335cf75dbdb8b63759b94eee85b4bc7389d3c90d85e0c84e8d2ba2d7ab89588d568c6e56b6f8c4a8fbd9f3083a370d9b1302e63 cvs-fast-export-1.65.tar.gz
+"
diff --git a/testing/cvs-fast-export/disable-test-sporadic.patch b/testing/cvs-fast-export/disable-test-sporadic.patch
deleted file mode 100644
index a08d8dc47e3..00000000000
--- a/testing/cvs-fast-export/disable-test-sporadic.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Fails with the following error message:
-
-== Sporadic tests ==
-date: invalid date ‘+%s’
-expr: syntax error: unexpected argument ‘1’
-cvs-fast-export: option requires an argument: i
-cvs-fast-export: try `cvs-fast-export --help' for more information.
-incremental.sh: FAILED
-make[1]: *** [/home/builder/aports/testing/cvs-fast-export/src/cvs-fast-export-1.55/tests/Makefile:159: sporadic] Error 1
-make: *** [Makefile:147: check] Error 2
-
-
---- a/tests/Makefile
-+++ b/tests/Makefile
-@@ -29,7 +29,7 @@
- ,v.dot:
- $(CVS_FAST_EXPORT) -g $< >$*.dot
-
--test: s_regress m_regress r_regress i_regress t_regress c_regress sporadic # z2_regress z3_regress
-+test: s_regress m_regress r_regress i_regress t_regress c_regress # sporadic z2_regress z3_regress
- @echo "No diff output is good news."
-
- rebuild: s_rebuild m_rebuild r_rebuild i_rebuild t_rebuild # z_rebuild
diff --git a/testing/cvs-fast-export/python3.patch b/testing/cvs-fast-export/python3.patch
deleted file mode 100644
index f13d2ff49d6..00000000000
--- a/testing/cvs-fast-export/python3.patch
+++ /dev/null
@@ -1,184 +0,0 @@
---- a/cvsconvert
-+++ b/cvsconvert
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- """
- cvsconvert - convert a CVS repo and check against the original
-
---- a/cvsreduce
-+++ b/cvsreduce
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- # Runs under both Python 2 and Python 3: preserve this property!
- # SPDX-License-Identifier: GPL-2.0+
- """
---- a/tests/at.tst
-+++ b/tests/at.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- # -*- coding: latin-1 -*-
- ## Verify parsing of escaped at on final line
-
---- a/tests/basic.tst
-+++ b/tests/basic.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## basic test for CVS master parsing
-
- import sys, testlifter
---- a/tests/branchy.tst
-+++ b/tests/branchy.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## A branchy repo with deletions and only valid tags
-
- import sys, testlifter
---- a/tests/daughterbranch.tst
-+++ b/tests/daughterbranch.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Test for the daughter-branch bug
-
- # This was the description:
---- a/tests/exec.tst
-+++ b/tests/exec.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Test handling of executable bit
-
- import sys, testlifter
---- a/tests/expand.tst
-+++ b/tests/expand.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Test keyword expansion
-
- import sys, testlifter
---- a/tests/hack1.tst
-+++ b/tests/hack1.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## First example from the Hacking Guide
-
- import sys, testlifter
---- a/tests/hack2.tst
-+++ b/tests/hack2.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Second example from the Hacking Guide
-
- import sys, testlifter
---- a/tests/hack3.tst
-+++ b/tests/hack3.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Third example from the Hacking Guide
-
- import sys, testlifter
---- a/tests/linear.tst
-+++ b/tests/linear.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## simplest possible linear repository with multiple commits
-
- import sys, testlifter
---- a/tests/longrev.tst
-+++ b/tests/longrev.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## A widely branched repo with long file revision strings.
-
- import sys, testlifter
---- a/tests/postbranch.tst
-+++ b/tests/postbranch.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Ilya Basin's test, failed by cvsps-3.x
- """
- Date: Sat, 20 Apr 2013 14:38:55 +0400
---- a/tests/t9601.py
-+++ b/tests/t9601.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Test handling of vendor branches
- #
- # This test was swiped from the git 1.8.1 tree, then modified to exercise
---- a/tests/t9602.py
-+++ b/tests/t9602.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Test handling of pathological tags
- #
- # This test was swiped from the git 1.8.1 tree, then modified to exercise
---- a/tests/t9603.py
-+++ b/tests/t9603.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Testing for correct patchset estimation
-
- # Structure of the test cvs repository
---- a/tests/t9604.py
-+++ b/tests/t9604.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Testing for correct timestamp handling in author maps.
- import sys, testlifter, tempfile, os
-
---- a/tests/t9605.py
-+++ b/tests/t9605.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Testing for correct patchset estimation
-
- # Structure of the test cvs repository
---- a/tests/tagbug.tst
-+++ b/tests/tagbug.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Tricky tag corner case
-
- import sys, testlifter
---- a/tests/twobranch.tst
-+++ b/tests/twobranch.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## Two-branch repo to test incremental dumping
-
- import sys, testlifter
---- a/tests/twotag.tst
-+++ b/tests/twotag.tst
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/python3
- ## A repo with identical tags attached to different changesets
-
- import sys, testlifter, time
---- a/cvssync
-+++ b/cvssync
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- # Runs under both Python 2 and Python 3: preserve this property!
- # SPDX-License-Identifier: GPL-2.0+
- """
diff --git a/testing/cxxopts/APKBUILD b/testing/cxxopts/APKBUILD
deleted file mode 100644
index 20a476e3228..00000000000
--- a/testing/cxxopts/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=cxxopts
-pkgver=3.0.0
-pkgrel=0
-pkgdesc="Lightweight C++ command line option parser as a header only library"
-url="https://github.com/jarro2783/cxxopts"
-arch="noarch"
-license="MIT"
-makedepends="cmake ninja"
-subpackages="$pkgname-dev"
-source="https://github.com/jarro2783/cxxopts/archive/v$pkgver/cxxopts-$pkgver.tar.gz"
-
-build() {
- cmake -G Ninja -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCXXOPTS_BUILD_TESTS=ON
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-239479a3b35ddef6fc380ac9371e1cf7e3aea066f03e1ea538151fa2fff4296838daa976d55e988d8f87f40c0ae027767bcb214754177499413af1081315565c cxxopts-3.0.0.tar.gz
-"
diff --git a/testing/cyanrip/APKBUILD b/testing/cyanrip/APKBUILD
deleted file mode 100644
index aee3a856445..00000000000
--- a/testing/cyanrip/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Sodface <sod@sodface.com>
-# Maintainer: Sodface <sod@sodface.com>
-pkgname=cyanrip
-pkgver=0.7.0
-pkgrel=0
-pkgdesc="Bule-ish CD ripper"
-url="https://github.com/cyanreg/cyanrip"
-arch="all"
-license="LGPL-2.1-or-later"
-makedepends="curl-dev ffmpeg-dev libcdio-dev libcdio-paranoia-dev libmusicbrainz-dev meson"
-source="$pkgname-$pkgver.tar.gz::https://github.com/cyanreg/cyanrip/archive/refs/tags/v$pkgver.tar.gz
- libcdio-paranoia-version.patch"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-4d86a6637e216fceeb1cb44e4640d8b4f0c93320e5ca06d51be27e3f6b5c9c6502d5c95074d181b244c6f8b0bbdff195de31e02d68eb3fcd5cbf0a84c1a57ba2 cyanrip-0.7.0.tar.gz
-c640482252fb0b96662240c8b93025d3265940f39d1511b604763f5f2dfb24044307eb97c23b9c60e2285be74412c3e19873000800a9765648b36fe33f5e5fef libcdio-paranoia-version.patch
-"
diff --git a/testing/cyanrip/libcdio-paranoia-version.patch b/testing/cyanrip/libcdio-paranoia-version.patch
deleted file mode 100644
index ed11d85daee..00000000000
--- a/testing/cyanrip/libcdio-paranoia-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/meson.build.orig
-+++ b/src/meson.build
-@@ -22,7 +22,7 @@
-
- # other dependencies
- dependency('libcdio', version: '>= 2.0'),
-- dependency('libcdio_paranoia', version: '>= 10.2'),
-+ dependency('libcdio_paranoia'),
- dependency('libmusicbrainz5', version: '>= 5.1', static: static_build),
- dependency('libcurl', version: '>=7.66.0'),
-
diff --git a/testing/cyclone-stage0/APKBUILD b/testing/cyclone-stage0/APKBUILD
deleted file mode 100644
index 0b202f4adae..00000000000
--- a/testing/cyclone-stage0/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
-pkgname=cyclone-stage0
-pkgver=0.34.0
-pkgrel=0
-pkgdesc="Cyclone version used to initially bootstrap the Cyclone compiler"
-url="https://justinethier.github.io/cyclone/"
-# s390x: ck on s390x does not have ck_pr_cas_8 (used by cyclone)
-arch="all !s390x"
-license="MIT"
-depends="!cyclone"
-makedepends="ck-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/justinethier/cyclone-bootstrap/archive/refs/tags/v$pkgver.tar.gz"
-builddir="$srcdir/cyclone-bootstrap-$pkgver"
-
-# Provide cyclone-bootstrap for community/cyclone.
-# See the comment in community/cyclone for more information.
-provides="cyclone-bootstrap"
-provider_priority=1 # lowest
-
-export PREFIX=/usr
-export DATADIR=$PREFIX/lib/cyclone
-
-build() {
- make
-}
-
-check() {
- make test
-}
-
-package() {
- DESTDIR="$pkgdir" make install
-}
-
-sha512sums="
-581866985709bff90a4f4fab9a24fc013ee43225b04fb2bd1128da02f0164de55f6d7d80d5cfcff5eedaf23b3fc38dc3c46e6f376e2f341b4991a3f1c54cd53b cyclone-stage0-0.34.0.tar.gz
-"
diff --git a/testing/cyclone/APKBUILD b/testing/cyclone/APKBUILD
deleted file mode 100644
index 43ec93f104b..00000000000
--- a/testing/cyclone/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
-pkgname=cyclone
-pkgver=0.34.0
-pkgrel=0
-pkgdesc="A compiler for application development with R7RS Scheme"
-url="https://justinethier.github.io/cyclone/"
-# s390x: ck on s390x does not have ck_pr_cas_8 (used by cyclone)
-# See: https://github.com/concurrencykit/ck/issues/178
-arch="all !s390x"
-license="MIT"
-makedepends="ck-dev cyclone-bootstrap"
-source="$pkgname-$pkgver.tar.gz::https://github.com/justinethier/cyclone/archive/refs/tags/v$pkgver.tar.gz"
-
-# Since cyclone itself is written in Scheme it needs to be bootstraped.
-# For this propose, upstream provides a dedicated cyclone-bootstrap
-# repository which includes C files generated by a previous cyclone
-# version. We package this as cyclone-init-bootstrap in a separate
-# package and compile the original cyclone Scheme sources using it
-# initially. From that point onward, we build cyclone using itself.
-#
-# This is achieved by having both cyclone-init-bootstrap and cyclone
-# provide the virtual cyclone-bootstrap package. The latter must have
-# the higher provider priority.
-#
-# See also https://lists.alpinelinux.org/~alpine/devel/%3C33KG0XO61I4IL.2Z7RTAZ5J3SY6%408pit.net%3E
-provides="cyclone-bootstrap"
-provider_priority=100 # highest
-
-export PREFIX=/usr
-export DATADIR=$PREFIX/lib/cyclone
-
-build() {
- # We use a smaller pthread stack size by default,
- # make sure Cyclone configures the stack size manually.
- make CYC_PTHREAD_SET_STACK_SIZE=1
-}
-
-check() {
- make test
-}
-
-package() {
- DESTDIR="$pkgdir" make install
-}
-
-sha512sums="
-16a30c4343284c4e097b5612b1f399c9098038826c5341a4f86a3d9325afbc5ac9a2b606ade1c63068758c5a9db157ab9a50c001c4fe33ae6de67d25c951b8be cyclone-0.34.0.tar.gz
-"
diff --git a/testing/cyrus-sasl-xoauth2/APKBUILD b/testing/cyrus-sasl-xoauth2/APKBUILD
index abf0f29e5c0..811708acd4f 100644
--- a/testing/cyrus-sasl-xoauth2/APKBUILD
+++ b/testing/cyrus-sasl-xoauth2/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Julian Weigt <juw@posteo.de>
pkgname=cyrus-sasl-xoauth2
pkgver=0.2
-pkgrel=0
+pkgrel=1
pkgdesc="XOAUTH2 mechanism plugin for cyrus-sasl"
arch="all"
url="https://github.com/moriyoshi/cyrus-sasl-xoauth2"
diff --git a/testing/cz-viator-hourglass-black/APKBUILD b/testing/cz-viator-hourglass-black/APKBUILD
new file mode 100644
index 00000000000..12160f00c79
--- /dev/null
+++ b/testing/cz-viator-hourglass-black/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Daniil Nemtsev <nmsv@pm.me>
+# Maintainer: Daniil Nemtsev <nmsv@pm.me>
+pkgname=cz-viator-hourglass-black
+pkgver=20210706
+pkgrel=0
+pkgdesc="A X11 cursor theme inspired by the classical DMZ theme."
+url="https://github.com/charakterziffer/cursor-toolbox"
+arch="noarch"
+license="GPL-3.0"
+makedepends="python3 inkscape xcursorgen"
+options="!check" # no tests
+_gitrev=02a7977b3d009525c95787c756fce8d824960e4c
+source="$pkgname-$_gitrev.tar.gz::https://github.com/charakterziffer/cursor-toolbox/archive/$_gitrev.tar.gz
+ py3.patch
+ "
+builddir="$srcdir"/cursor-toolbox-$_gitrev
+
+build() {
+ python3 render-pngs.py svgs/template-black.svg
+ python3 render-pngs.py svgs/spinner-hourglass.svg
+ ./make.sh
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/icons/$pkgname
+ cp -r My-Cursor-Theme/* "$pkgdir"/usr/share/icons/"$pkgname"
+}
+
+sha512sums="
+cdeed1b5edeb071fe61d0b4ea8c7e324f24a17540f975f7213af6f9d9682ea2569e4b3a8427258c21f80dc969c8705f814f52d8212f2a9419e6bb9227e0d6244 cz-viator-hourglass-black-02a7977b3d009525c95787c756fce8d824960e4c.tar.gz
+ae16551659b5334161f73cbac6430a1fdd6e6f4f134dc8dcfd616d577e751ecc77c59145bafca459aafc1461a7ae60d6aa142d6f9fd4b091c81717450fee62cc py3.patch
+"
diff --git a/testing/cz-viator-hourglass-black/py3.patch b/testing/cz-viator-hourglass-black/py3.patch
new file mode 100644
index 00000000000..a4c9422c21f
--- /dev/null
+++ b/testing/cz-viator-hourglass-black/py3.patch
@@ -0,0 +1,20 @@
+--- a/render-pngs.py
++++ b/render-pngs.py
+@@ -82,7 +82,7 @@
+ def isFloat(self, stringVal):
+ try:
+ return (float(stringVal), True)[1]
+- except (ValueError, TypeError), e:
++ except (ValueError, TypeError) as e:
+ return False
+
+ def parseCoordinates(self, val):
+@@ -236,7 +236,7 @@
+ xmlParser.setContentHandler(svgLayerHandler)
+ try:
+ xmlParser.parse(svgFilename)
+- except SAXParseException, e:
++ except SAXParseException as e:
+ fatalError("Error parsing SVG file '%s': line %d,col %d: %s. If you're seeing this within inkscape, it probably indicates a bug that should be reported." % (svgfile, e.getLineNumber(), e.getColumnNumber(), e.getMessage()))
+
+ # verify that the svg file actually contained some rectangles.
diff --git a/testing/daemontools/APKBUILD b/testing/daemontools/APKBUILD
index 5b82c50f59c..6b4049c19a6 100644
--- a/testing/daemontools/APKBUILD
+++ b/testing/daemontools/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Johannes Findeisen <you@hanez.org>
pkgname=daemontools
pkgver=0.76
-pkgrel=1
+pkgrel=2
pkgdesc="Collection of tools for managing UNIX services"
url="https://cr.yp.to/daemontools.html"
arch="all"
diff --git a/testing/daktilo/APKBUILD b/testing/daktilo/APKBUILD
new file mode 100644
index 00000000000..2d47e2fd94c
--- /dev/null
+++ b/testing/daktilo/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=daktilo
+pkgver=0.6.0
+pkgrel=0
+pkgdesc="Turn your keyboard into a typewriter"
+url="https://github.com/orhun/daktilo"
+arch="all"
+license="MIT OR Apache-2.0"
+depends="alsa-lib libxi-dev libxtst-dev"
+makedepends="cargo cargo-auditable alsa-lib-dev"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/orhun/daktilo/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+ mkdir -p man
+ OUT_DIR=man/ target/release/daktilo-mangen
+ mkdir -p completions
+ OUT_DIR=completions/ target/release/daktilo-completions
+}
+
+check() {
+ OUT_DIR=target cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 "man/$pkgname.1" -t "$pkgdir/usr/share/man/man1"
+ install -Dm 644 "completions/$pkgname.bash" "$pkgdir/usr/share/bash-completion/completions/$pkgname"
+ install -Dm 644 "completions/$pkgname.fish" -t "$pkgdir/usr/share/fish/vendor_completions.d"
+ install -Dm 644 "completions/_$pkgname" -t "$pkgdir/usr/share/zsh/site-functions"
+}
+
+sha512sums="
+58f2de4cd9c39e0c1e210e09ac2fd48d3411c756e2256b88f4b3515831759a00260fa23683e9f52f5032c52e3c903b4498fe1eac313c7e94c431270e638292ea daktilo-0.6.0.tar.gz
+"
diff --git a/testing/dapr-cli/APKBUILD b/testing/dapr-cli/APKBUILD
new file mode 100644
index 00000000000..adf45d3bb01
--- /dev/null
+++ b/testing/dapr-cli/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=dapr-cli
+pkgver=1.12.0
+# API version described in https://docs.dapr.io/reference/api/
+_runtimever=1.0
+pkgrel=2
+pkgdesc="CLI tool for Dapr the portable, event-driven runtime to build distributed applications"
+url="https://dapr.io/"
+# 32-bit: not useful
+arch="all !x86 !armhf !armv7"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/dapr/cli/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/cli-$pkgver"
+
+build() {
+ local _goldflags="
+ -X main.version=$pkgver
+ -X main.apiVersion=$_runtimever
+ -X github.com/dapr/cli/pkg/standalone.gitversion=0000000
+ -X github.com/dapr/cli/pkg/standalone.gitcommit=AlpineLinux
+ "
+
+ go build -v -ldflags "$_goldflags" -o dapr
+
+ for shell in bash fish zsh; do
+ ./dapr completion $shell > dapr.$shell
+ done
+}
+
+check() {
+ # Avoid integration tests that require a local Docker or Kubernetes instance
+ go test ./pkg/...
+}
+
+package() {
+ install -Dm755 dapr -t "$pkgdir"/usr/bin/
+
+ install -Dm644 dapr.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/dapr
+ install -Dm644 dapr.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/dapr.fish
+ install -Dm644 dapr.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_dapr
+}
+
+sha512sums="
+766fe23d28172192a5308af13a72db9067a128a56c1658b48cd58c5cef6b458e37cbac4053798aec0fc416871da0f741c9e147aba0efb57292c86db5ad9ccd68 dapr-cli-1.12.0.tar.gz
+"
diff --git a/testing/darcs/APKBUILD b/testing/darcs/APKBUILD
new file mode 100644
index 00000000000..dd067e16355
--- /dev/null
+++ b/testing/darcs/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: gay <gay@disroot.org>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=darcs
+pkgver=2.18.2
+pkgrel=0
+pkgdesc="Patch-based revision control system"
+url="https://darcs.net/"
+arch="aarch64 x86_64" # limited by ghc
+license="GPL-2.0-or-later"
+makedepends="cabal ghc curl-dev ncurses-dev zlib-dev"
+#checkdepends="diffutils grep lighttpd musl-locales"
+options="!check" # tests relying on presence of shell utils fail without giving detailed log
+subpackages="$pkgname-doc"
+source="https://hackage.haskell.org/package/darcs-$pkgver/darcs-$pkgver.tar.gz
+ cabal.project.freeze
+ "
+
+# Directory where cabal files are stored.
+export CABAL_DIR="$srcdir/dist"
+
+# Needed to fix build on aarch64.
+export PATH="$PATH:/usr/lib/llvm15/bin"
+
+cabal_update() {
+ cd $builddir
+ cabal v2-update
+ (
+ cd "$builddir"
+ cabal v2-freeze --shadow-installed-packages
+ mv cabal.project.freeze "$startdir/"
+ )
+}
+
+prepare() {
+ default_prepare
+ ln -sf "$srcdir/cabal.project.freeze" \
+ "$builddir/cabal.project.freeze"
+}
+
+build() {
+ cabal v2-update
+ cabal v2-build darcs:exes \
+ --jobs=${JOBS:-1} \
+ --prefix=/usr \
+ --docdir=/usr/share/doc/$pkgname \
+ --sysconfdir=/etc
+}
+
+check() {
+ cabal test
+}
+
+package() {
+ cd dist-newstyle/build/*-linux/ghc-*/$pkgname-$pkgver/build/$pkgname
+ install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
+ install -Dm644 $pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
+}
+
+sha512sums="
+f776b3b2efd73e9515a99bf154468aa4aef925d20c9de564a78f7a19bf302db31c6e4cdbca2c2c700a0d5cde1b62a426159554f543898712b1f603401c534a9c darcs-2.18.2.tar.gz
+b177b661b37a907db1af30e6f796a5c2f600bc8b19411b3a741b071a45ee257a2371e160ea7c1cc31b07a288f2aa9966a14318ca1c0c0eede6aa11fe81798de9 cabal.project.freeze
+"
diff --git a/testing/darcs/cabal.project.freeze b/testing/darcs/cabal.project.freeze
new file mode 100644
index 00000000000..c6677adac2a
--- /dev/null
+++ b/testing/darcs/cabal.project.freeze
@@ -0,0 +1,217 @@
+active-repositories: hackage.haskell.org:merge
+constraints: any.Cabal ==3.10.2.0,
+ any.Cabal-syntax ==3.10.2.0,
+ any.FindBin ==0.0.5,
+ any.HUnit ==1.6.2.0,
+ any.OneTuple ==0.4.1.1,
+ any.QuickCheck ==2.14.3,
+ QuickCheck -old-random +templatehaskell,
+ any.StateVar ==1.2.2,
+ any.aeson ==2.2.1.0,
+ aeson +ordered-keymap,
+ any.ansi-terminal ==1.1,
+ ansi-terminal -example,
+ any.ansi-terminal-types ==1.1,
+ any.ansi-wl-pprint ==1.0.2,
+ ansi-wl-pprint -example,
+ any.appar ==0.1.8,
+ any.array ==0.5.6.0,
+ any.asn1-encoding ==0.9.6,
+ any.asn1-parse ==0.9.5,
+ any.asn1-types ==0.3.4,
+ any.assoc ==1.1,
+ assoc +tagged,
+ any.async ==2.2.5,
+ async -bench,
+ any.attoparsec ==0.14.4,
+ attoparsec -developer,
+ any.attoparsec-aeson ==2.2.0.1,
+ any.base ==4.19.1.0,
+ any.base-orphans ==0.9.1,
+ any.base16-bytestring ==1.0.2.0,
+ any.base64-bytestring ==1.2.1.0,
+ any.basement ==0.0.16,
+ any.bifunctors ==5.6.2,
+ bifunctors +tagged,
+ any.binary ==0.8.9.1,
+ any.bitvec ==1.1.5.0,
+ bitvec +simd,
+ any.blaze-builder ==0.4.2.3,
+ any.boring ==0.2.1,
+ boring +tagged,
+ any.byteorder ==1.0.4,
+ any.bytestring ==0.12.1.0,
+ any.call-stack ==0.4.0,
+ any.case-insensitive ==1.2.1.0,
+ any.cereal ==0.5.8.3,
+ cereal -bytestring-builder,
+ any.cmdargs ==0.10.22,
+ cmdargs +quotation -testprog,
+ any.colour ==2.3.6,
+ any.comonad ==5.0.8,
+ comonad +containers +distributive +indexed-traversable,
+ any.conduit ==1.3.5,
+ any.conduit-extra ==1.3.6,
+ any.constraints ==0.14,
+ any.containers ==0.6.8,
+ any.contravariant ==1.5.5,
+ contravariant +semigroups +statevar +tagged,
+ any.cookie ==0.5.0,
+ any.crypton ==0.34,
+ crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
+ any.crypton-connection ==0.3.2,
+ any.crypton-x509 ==1.7.6,
+ any.crypton-x509-store ==1.6.9,
+ any.crypton-x509-system ==1.6.7,
+ any.crypton-x509-validation ==1.6.12,
+ any.cryptonite ==0.30,
+ cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
+ darcs +executable -rts -static +terminfo +threaded -warn-as-error,
+ any.data-default-class ==0.1.2.0,
+ any.data-fix ==0.3.2,
+ any.data-ordlist ==0.4.7.0,
+ any.deepseq ==1.5.0.0,
+ any.digest ==0.0.2.1,
+ digest -have_arm64_crc32c -have_builtin_prefetch -have_mm_prefetch -have_sse42 -have_strong_getauxval -have_weak_getauxval -pkg-config,
+ any.directory ==1.3.8.1,
+ any.distributive ==0.6.2.1,
+ distributive +semigroups +tagged,
+ any.dlist ==1.0,
+ dlist -werror,
+ any.exceptions ==0.10.7,
+ any.extensible-exceptions ==0.1.1.4,
+ any.fgl ==5.8.2.0,
+ fgl +containers042,
+ any.filepath ==1.4.200.1,
+ any.filtrable ==0.1.6.0,
+ filtrable +containers,
+ any.generically ==0.1.1,
+ any.ghc-bignum ==1.3,
+ any.ghc-boot-th ==9.8.2,
+ any.ghc-prim ==0.11.0,
+ any.hashable ==1.4.4.0,
+ hashable +integer-gmp -random-initial-seed,
+ any.haskeline ==0.8.2.1,
+ any.hostname ==1.0,
+ any.hourglass ==0.2.12,
+ any.hsc2hs ==0.68.10,
+ hsc2hs -in-ghc-tree,
+ any.html ==1.0.1.2,
+ any.http-client ==0.7.17,
+ http-client +network-uri,
+ any.http-client-tls ==0.3.6.3,
+ any.http-conduit ==2.3.8.3,
+ http-conduit +aeson,
+ any.http-types ==0.12.4,
+ any.indexed-traversable ==0.1.3,
+ any.indexed-traversable-instances ==0.1.1.2,
+ any.integer-conversion ==0.1.0.1,
+ any.integer-gmp ==1.1,
+ any.integer-logarithms ==1.0.3.1,
+ integer-logarithms -check-bounds +integer-gmp,
+ any.iproute ==1.7.12,
+ any.leancheck ==1.0.2,
+ any.memory ==0.18.0,
+ memory +support_bytestring +support_deepseq,
+ any.mime-types ==0.1.2.0,
+ any.mmap ==0.5.9,
+ mmap -mmaptest,
+ any.monad-control ==1.0.3.1,
+ any.mono-traversable ==1.0.17.0,
+ any.mtl ==2.3.1,
+ any.network ==3.1.4.0,
+ network -devel,
+ any.network-uri ==2.6.4.2,
+ any.old-locale ==1.0.0.7,
+ any.old-time ==1.1.0.4,
+ any.os-string ==2.0.2,
+ any.parsec ==3.1.17.0,
+ any.pem ==0.2.4,
+ any.pretty ==1.1.3.6,
+ any.prettyprinter ==1.7.1,
+ prettyprinter -buildreadme +text,
+ any.prettyprinter-ansi-terminal ==1.1.3,
+ any.prettyprinter-compat-ansi-wl-pprint ==1.0.2,
+ any.primitive ==0.9.0.0,
+ any.process ==1.6.18.0,
+ any.quickcheck-instances ==0.3.30,
+ quickcheck-instances -bytestring-builder,
+ any.random ==1.2.1.2,
+ any.regex-applicative ==0.3.4,
+ any.regex-base ==0.94.0.2,
+ any.regex-posix ==0.96.0.1,
+ regex-posix -_regex-posix-clib,
+ any.regex-tdfa ==1.3.2.2,
+ regex-tdfa +doctest -force-o2,
+ any.resourcet ==1.3.0,
+ any.rts ==1.0.2,
+ any.safe ==0.3.21,
+ any.scientific ==0.3.7.0,
+ scientific -bytestring-builder -integer-simple,
+ any.semialign ==1.3,
+ semialign +semigroupoids,
+ any.semigroupoids ==6.0.0.1,
+ semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
+ any.socks ==0.6.1,
+ any.split ==0.2.5,
+ any.splitmix ==0.1.0.5,
+ splitmix -optimised-mixer,
+ any.stm ==2.5.2.1,
+ any.streaming-commons ==0.2.2.6,
+ streaming-commons -use-bytestring-builder,
+ any.strict ==0.5,
+ any.strict-identity ==0.1.0.0,
+ any.system-fileio ==0.3.16.4,
+ any.system-filepath ==0.4.14,
+ any.tagged ==0.8.8,
+ tagged +deepseq +transformers,
+ any.tar ==0.6.2.0,
+ any.template-haskell ==2.21.0.0,
+ any.temporary ==1.3,
+ any.terminal-size ==0.3.4,
+ any.terminfo ==0.4.1.6,
+ any.test-framework ==0.8.2.0,
+ any.test-framework-hunit ==0.3.0.2,
+ test-framework-hunit -base3 +base4,
+ any.test-framework-leancheck ==0.0.4,
+ any.test-framework-quickcheck2 ==0.3.0.5,
+ any.text ==2.1.1,
+ any.text-iso8601 ==0.1,
+ any.text-short ==0.1.5,
+ text-short -asserts,
+ any.th-abstraction ==0.6.0.0,
+ any.th-compat ==0.1.5,
+ any.these ==1.2,
+ any.time ==1.12.2,
+ any.time-compat ==1.9.6.1,
+ time-compat -old-locale,
+ any.tls ==1.9.0,
+ tls +compat -hans +network,
+ any.transformers ==0.6.1.0,
+ any.transformers-base ==0.4.6,
+ transformers-base +orphaninstances,
+ any.transformers-compat ==0.7.2,
+ transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
+ any.type-equality ==1,
+ any.typed-process ==0.2.11.1,
+ any.unix ==2.8.4.0,
+ any.unix-compat ==0.7.1,
+ unix-compat -old-time,
+ any.unix-time ==0.4.12,
+ any.unliftio-core ==0.2.1.0,
+ any.unordered-containers ==0.2.20,
+ unordered-containers -debug,
+ any.utf8-string ==1.0.2,
+ any.uuid-types ==1.0.5.1,
+ any.vector ==0.13.1.0,
+ vector +boundschecks -internalchecks -unsafechecks -wall,
+ any.vector-algorithms ==0.9.0.1,
+ vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
+ any.vector-stream ==0.1.0.1,
+ any.witherable ==0.4.2,
+ any.xml ==1.3.14,
+ any.zip-archive ==0.4.3.2,
+ zip-archive -executable,
+ any.zlib ==0.7.0.0,
+ zlib -bundled-c-zlib +non-blocking-ffi -pkg-config
+index-state: hackage.haskell.org 2024-04-12T15:34:42Z
diff --git a/testing/dart-sass/APKBUILD b/testing/dart-sass/APKBUILD
new file mode 100644
index 00000000000..84f37119774
--- /dev/null
+++ b/testing/dart-sass/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=dart-sass
+pkgver=1.75.0
+pkgrel=0
+pkgdesc="The primary implementation of Sass"
+url="https://sass-lang.com/dart-sass"
+# armv7: no buf
+arch="aarch64 x86_64" # dart
+license="MIT"
+depends="dartaotruntime"
+makedepends="
+ buf
+ dart-sdk
+ "
+_protocol_ver=2.6.0
+source="
+ https://github.com/sass/dart-sass/archive/refs/tags/$pkgver/dart-sass-$pkgver.tar.gz
+ https://github.com/sass/sass/archive/refs/tags/embedded-protocol-$_protocol_ver.tar.gz
+ sass
+
+ lock.patch
+ "
+builddir="$srcdir/dart-sass-$pkgver/"
+
+prepare() {
+ mkdir build
+ mv "$srcdir/sass-embedded-protocol-$_protocol_ver" build/language
+
+ default_prepare
+
+ dart pub get --enforce-lockfile
+}
+
+build() {
+ UPDATE_SASS_SASS_REPO=false \
+ dart run grinder protobuf
+ dart compile aot-snapshot -Dversion="$pkgver" ./bin/sass.dart
+}
+
+check() {
+ # sanity
+ dartaotruntime ./bin/sass.aot --version
+}
+
+package() {
+ install -Dm644 ./bin/sass.aot "$pkgdir"/usr/lib/dart-sass/sass.aot
+ install -Dm755 "$srcdir"/sass "$pkgdir"/usr/bin/sass
+}
+
+sha512sums="
+63989e547e21de730781ea1207596c2318e4df86d63f2ed39186a370c95dfcc31a92b507746bafc4ef3cf8f72b5cfda77eba7ee40b62663b7aa0a92a814536bb dart-sass-1.75.0.tar.gz
+0735d97d5fab04353d3bd82b765572481b3c04b263963f25511990e6be3c6b424ef86131d3f1cf1069bb8ed7b4f14db635fa9f4b9b44d0497274b9cacf6ca60f embedded-protocol-2.6.0.tar.gz
+e974b32f3ca9155868282c2259f693b49bd8c8b57772126efa6e29efedcf4acdb2b1359ae0cb5b0552dfd84daa0ae9273ebe90de7f66670a0a6abd75958cac6d sass
+2c1aebfe586fc8388ab176daadd2ce245a41ef45e1eeade8f8f6438115ba3933a77b8da460eaeb7a31c2e4c32524bb9a7c1dacbbdb188ecde3d11c0c27bada29 lock.patch
+"
diff --git a/testing/dart-sass/lock.patch b/testing/dart-sass/lock.patch
new file mode 100644
index 00000000000..f3bb6327a9c
--- /dev/null
+++ b/testing/dart-sass/lock.patch
@@ -0,0 +1,672 @@
+--- /dev/null
++++ ./pubspec.lock
+@@ -0,0 +1,669 @@
++# Generated by pub
++# See https://dart.dev/tools/pub/glossary#lockfile
++packages:
++ _fe_analyzer_shared:
++ dependency: transitive
++ description:
++ name: _fe_analyzer_shared
++ sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7"
++ url: "https://pub.dev"
++ source: hosted
++ version: "67.0.0"
++ analyzer:
++ dependency: "direct dev"
++ description:
++ name: analyzer
++ sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d"
++ url: "https://pub.dev"
++ source: hosted
++ version: "6.4.1"
++ archive:
++ dependency: "direct dev"
++ description:
++ name: archive
++ sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.4.10"
++ args:
++ dependency: "direct main"
++ description:
++ name: args
++ sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.4.2"
++ async:
++ dependency: "direct main"
++ description:
++ name: async
++ sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.11.0"
++ boolean_selector:
++ dependency: transitive
++ description:
++ name: boolean_selector
++ sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.1"
++ charcode:
++ dependency: "direct main"
++ description:
++ name: charcode
++ sha256: fb98c0f6d12c920a02ee2d998da788bca066ca5f148492b7085ee23372b12306
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.3.1"
++ checked_yaml:
++ dependency: transitive
++ description:
++ name: checked_yaml
++ sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.0.3"
++ cli_pkg:
++ dependency: "direct main"
++ description:
++ name: cli_pkg
++ sha256: f812467b5d6a5f26ad0fba5dcfc95133df02edbae47dfa4ade3df5d2b5afdcf2
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.10.0"
++ cli_repl:
++ dependency: "direct main"
++ description:
++ name: cli_repl
++ sha256: a2ee06d98f211cb960c777519cb3d14e882acd90fe5e078668e3ab4baab0ddd4
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.2.3"
++ cli_util:
++ dependency: "direct dev"
++ description:
++ name: cli_util
++ sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.4.1"
++ collection:
++ dependency: "direct main"
++ description:
++ name: collection
++ sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.18.0"
++ convert:
++ dependency: transitive
++ description:
++ name: convert
++ sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.1.1"
++ coverage:
++ dependency: transitive
++ description:
++ name: coverage
++ sha256: "8acabb8306b57a409bf4c83522065672ee13179297a6bb0cb9ead73948df7c76"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.7.2"
++ crypto:
++ dependency: "direct dev"
++ description:
++ name: crypto
++ sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.0.3"
++ csslib:
++ dependency: transitive
++ description:
++ name: csslib
++ sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.0.0"
++ dart_mappable:
++ dependency: transitive
++ description:
++ name: dart_mappable
++ sha256: f9f272f2af6c11adf4abc22574eb946df110251052a0d00c03519ecf2442defc
++ url: "https://pub.dev"
++ source: hosted
++ version: "4.2.1"
++ dart_style:
++ dependency: "direct dev"
++ description:
++ name: dart_style
++ sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.3.6"
++ dartdoc:
++ dependency: "direct dev"
++ description:
++ name: dartdoc
++ sha256: "09c07e4b5313a301f8a6fe5a3b43d2dd7fd2b0817d51d563f7dcacdac62ecf68"
++ url: "https://pub.dev"
++ source: hosted
++ version: "8.0.7"
++ ffi:
++ dependency: transitive
++ description:
++ name: ffi
++ sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.2"
++ file:
++ dependency: transitive
++ description:
++ name: file
++ sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c"
++ url: "https://pub.dev"
++ source: hosted
++ version: "7.0.0"
++ fixnum:
++ dependency: transitive
++ description:
++ name: fixnum
++ sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.1.0"
++ frontend_server_client:
++ dependency: transitive
++ description:
++ name: frontend_server_client
++ sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.2.0"
++ glob:
++ dependency: transitive
++ description:
++ name: glob
++ sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.2"
++ grinder:
++ dependency: "direct dev"
++ description:
++ name: grinder
++ sha256: e1996e485d2b56bb164a8585679758d488fbf567273f51c432c8733fee1f6188
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.9.5"
++ html:
++ dependency: transitive
++ description:
++ name: html
++ sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a"
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.15.4"
++ http:
++ dependency: "direct main"
++ description:
++ name: http
++ sha256: "761a297c042deedc1ffbb156d6e2af13886bb305c2a343a4d972504cd67dd938"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.2.1"
++ http_multi_server:
++ dependency: transitive
++ description:
++ name: http_multi_server
++ sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.2.1"
++ http_parser:
++ dependency: transitive
++ description:
++ name: http_parser
++ sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b"
++ url: "https://pub.dev"
++ source: hosted
++ version: "4.0.2"
++ io:
++ dependency: transitive
++ description:
++ name: io
++ sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.0.4"
++ js:
++ dependency: "direct main"
++ description:
++ name: js
++ sha256: f2c445dce49627136094980615a031419f7f3eb393237e4ecd97ac15dea343f3
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.6.7"
++ json_annotation:
++ dependency: transitive
++ description:
++ name: json_annotation
++ sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467
++ url: "https://pub.dev"
++ source: hosted
++ version: "4.8.1"
++ lints:
++ dependency: "direct dev"
++ description:
++ name: lints
++ sha256: cbf8d4b858bb0134ef3ef87841abdf8d63bfc255c266b7bf6b39daa1085c4290
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.0.0"
++ logging:
++ dependency: transitive
++ description:
++ name: logging
++ sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.2.0"
++ markdown:
++ dependency: transitive
++ description:
++ name: markdown
++ sha256: ef2a1298144e3f985cc736b22e0ccdaf188b5b3970648f2d9dc13efd1d9df051
++ url: "https://pub.dev"
++ source: hosted
++ version: "7.2.2"
++ matcher:
++ dependency: transitive
++ description:
++ name: matcher
++ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.12.16+1"
++ meta:
++ dependency: "direct main"
++ description:
++ name: meta
++ sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.12.0"
++ mime:
++ dependency: transitive
++ description:
++ name: mime
++ sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.0.5"
++ native_stack_traces:
++ dependency: transitive
++ description:
++ name: native_stack_traces
++ sha256: c797830b9910d13b0f4e70ddef15cde034214fe3bdb8092c4ea5ffad2f74013f
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.5.6"
++ native_synchronization:
++ dependency: "direct main"
++ description:
++ name: native_synchronization
++ sha256: ff200fe0a64d733ff7d4dde2005271c297db81007604c8cd21037959858133ab
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.2.0"
++ node_interop:
++ dependency: "direct main"
++ description:
++ name: node_interop
++ sha256: "3af2420c728173806f4378cf89c53ba9f27f7f67792b898561bff9d390deb98e"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.0"
++ node_preamble:
++ dependency: "direct dev"
++ description:
++ name: node_preamble
++ sha256: "6e7eac89047ab8a8d26cf16127b5ed26de65209847630400f9aefd7cd5c730db"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.0.2"
++ oauth2:
++ dependency: transitive
++ description:
++ name: oauth2
++ sha256: c4013ef62be37744efdc0861878fd9e9285f34db1f9e331cc34100d7674feb42
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.0.2"
++ package_config:
++ dependency: "direct main"
++ description:
++ name: package_config
++ sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.0"
++ path:
++ dependency: "direct main"
++ description:
++ name: path
++ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.9.0"
++ petitparser:
++ dependency: transitive
++ description:
++ name: petitparser
++ sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27
++ url: "https://pub.dev"
++ source: hosted
++ version: "6.0.2"
++ pointycastle:
++ dependency: transitive
++ description:
++ name: pointycastle
++ sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.7.4"
++ pool:
++ dependency: "direct main"
++ description:
++ name: pool
++ sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.5.1"
++ protobuf:
++ dependency: "direct main"
++ description:
++ name: protobuf
++ sha256: "68645b24e0716782e58948f8467fd42a880f255096a821f9e7d0ec625b00c84d"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.1.0"
++ protoc_plugin:
++ dependency: "direct dev"
++ description:
++ name: protoc_plugin
++ sha256: fb0554851c9eca30bd18405fbbfe81e39166d4a2f0e5b770606fd69da3da0b2f
++ url: "https://pub.dev"
++ source: hosted
++ version: "21.1.2"
++ pub_api_client:
++ dependency: "direct dev"
++ description:
++ name: pub_api_client
++ sha256: cc3d2c93df3823553de6a3e7d3ac09a3f43f8c271af4f43c2795266090ac9625
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.7.0"
++ pub_semver:
++ dependency: "direct main"
++ description:
++ name: pub_semver
++ sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.4"
++ pubspec:
++ dependency: transitive
++ description:
++ name: pubspec
++ sha256: f534a50a2b4d48dc3bc0ec147c8bd7c304280fff23b153f3f11803c4d49d927e
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.3.0"
++ pubspec_parse:
++ dependency: "direct dev"
++ description:
++ name: pubspec_parse
++ sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.2.3"
++ quiver:
++ dependency: transitive
++ description:
++ name: quiver
++ sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.2.1"
++ retry:
++ dependency: transitive
++ description:
++ name: retry
++ sha256: "822e118d5b3aafed083109c72d5f484c6dc66707885e07c0fbcb8b986bba7efc"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.1.2"
++ shelf:
++ dependency: transitive
++ description:
++ name: shelf
++ sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.4.1"
++ shelf_packages_handler:
++ dependency: transitive
++ description:
++ name: shelf_packages_handler
++ sha256: "89f967eca29607c933ba9571d838be31d67f53f6e4ee15147d5dc2934fee1b1e"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.0.2"
++ shelf_static:
++ dependency: transitive
++ description:
++ name: shelf_static
++ sha256: a41d3f53c4adf0f57480578c1d61d90342cd617de7fc8077b1304643c2d85c1e
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.1.2"
++ shelf_web_socket:
++ dependency: transitive
++ description:
++ name: shelf_web_socket
++ sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.0.4"
++ source_map_stack_trace:
++ dependency: transitive
++ description:
++ name: source_map_stack_trace
++ sha256: "84cf769ad83aa6bb61e0aa5a18e53aea683395f196a6f39c4c881fb90ed4f7ae"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.1"
++ source_maps:
++ dependency: "direct main"
++ description:
++ name: source_maps
++ sha256: "708b3f6b97248e5781f493b765c3337db11c5d2c81c3094f10904bfa8004c703"
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.10.12"
++ source_span:
++ dependency: "direct main"
++ description:
++ name: source_span
++ sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.10.0"
++ stack_trace:
++ dependency: "direct main"
++ description:
++ name: stack_trace
++ sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.11.1"
++ stream_channel:
++ dependency: "direct main"
++ description:
++ name: stream_channel
++ sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.2"
++ stream_transform:
++ dependency: "direct main"
++ description:
++ name: stream_transform
++ sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.0"
++ string_scanner:
++ dependency: "direct main"
++ description:
++ name: string_scanner
++ sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.2.0"
++ term_glyph:
++ dependency: "direct main"
++ description:
++ name: term_glyph
++ sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.2.1"
++ test:
++ dependency: "direct dev"
++ description:
++ name: test
++ sha256: "7ee446762c2c50b3bd4ea96fe13ffac69919352bd3b4b17bac3f3465edc58073"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.25.2"
++ test_api:
++ dependency: transitive
++ description:
++ name: test_api
++ sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.7.0"
++ test_core:
++ dependency: transitive
++ description:
++ name: test_core
++ sha256: "2bc4b4ecddd75309300d8096f781c0e3280ca1ef85beda558d33fcbedc2eead4"
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.6.0"
++ test_descriptor:
++ dependency: "direct dev"
++ description:
++ name: test_descriptor
++ sha256: abe245e8b0d61245684127fe32343542c25dc2a1ce8f405531637241d98d07e4
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.0.1"
++ test_process:
++ dependency: "direct dev"
++ description:
++ name: test_process
++ sha256: "217f19b538926e4922bdb2a01410100ec4e3beb4cc48eae5ae6b20037b07bbd6"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.0"
++ type_plus:
++ dependency: transitive
++ description:
++ name: type_plus
++ sha256: "2e33cfac2e129297d5874567bdf7587502ec359881e9318551e014d91b02f84a"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.1.0"
++ typed_data:
++ dependency: "direct main"
++ description:
++ name: typed_data
++ sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.3.2"
++ uri:
++ dependency: transitive
++ description:
++ name: uri
++ sha256: "889eea21e953187c6099802b7b4cf5219ba8f3518f604a1033064d45b1b8268a"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.0.0"
++ vm_service:
++ dependency: transitive
++ description:
++ name: vm_service
++ sha256: e7d5ecd604e499358c5fe35ee828c0298a320d54455e791e9dcf73486bc8d9f0
++ url: "https://pub.dev"
++ source: hosted
++ version: "14.1.0"
++ watcher:
++ dependency: "direct main"
++ description:
++ name: watcher
++ sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.1.0"
++ web:
++ dependency: transitive
++ description:
++ name: web
++ sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27"
++ url: "https://pub.dev"
++ source: hosted
++ version: "0.5.1"
++ web_socket_channel:
++ dependency: transitive
++ description:
++ name: web_socket_channel
++ sha256: "1d8e795e2a8b3730c41b8a98a2dff2e0fb57ae6f0764a1c46ec5915387d257b2"
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.4.4"
++ webkit_inspection_protocol:
++ dependency: transitive
++ description:
++ name: webkit_inspection_protocol
++ sha256: "87d3f2333bb240704cd3f1c6b5b7acd8a10e7f0bc28c28dcf14e782014f4a572"
++ url: "https://pub.dev"
++ source: hosted
++ version: "1.2.1"
++ xml:
++ dependency: transitive
++ description:
++ name: xml
++ sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226
++ url: "https://pub.dev"
++ source: hosted
++ version: "6.5.0"
++ yaml:
++ dependency: "direct dev"
++ description:
++ name: yaml
++ sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5"
++ url: "https://pub.dev"
++ source: hosted
++ version: "3.1.2"
++sdks:
++ dart: ">=3.3.0 <4.0.0"
diff --git a/testing/dart-sass/sass b/testing/dart-sass/sass
new file mode 100644
index 00000000000..1d0a5443fb3
--- /dev/null
+++ b/testing/dart-sass/sass
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec dartaotruntime /usr/lib/dart-sass/sass.aot "$@"
diff --git a/testing/dart-stage0/APKBUILD b/testing/dart-stage0/APKBUILD
new file mode 100644
index 00000000000..69a2e0e888a
--- /dev/null
+++ b/testing/dart-stage0/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=dart-stage0
+# upgrade checklist: https://md.sdomi.pl/Q-ECZTJ2Qqyp3ahfJuYSBw
+pkgver=3.2.0_alpha150_p0
+pkgrel=0
+pkgdesc="Dart is a client-optimized language for fast apps on any platform (temporary bootstrap package)"
+url="https://dart.dev/"
+arch="aarch64 armv7 riscv64 x86_64"
+license="BSD-3-Clause"
+options="!check"
+
+_canonver="${pkgver/_p/.}"
+case "$pkgver" in
+ *.*.*_alpha*)
+ _canonver="${_canonver/_alpha/-}.dev"
+ ;;
+ *.*.*_beta*)
+ _canonver="${_canonver/_beta/-}.beta"
+ ;;
+esac
+
+source="
+ dart-musl-stage0-x64-$_canonver.tar.gz.noauto::https://github.com/dart-musl/dart/releases/download/$_canonver/dartsdk-linux-x64-release.tar.gz
+ dart-musl-stage0-arm-$_canonver.tar.gz.noauto::https://github.com/dart-musl/dart/releases/download/$_canonver/dartsdk-linux-arm-release.tar.gz
+ dart-musl-stage0-arm64-$_canonver.tar.gz.noauto::https://github.com/dart-musl/dart/releases/download/$_canonver/dartsdk-linux-arm64-release.tar.gz
+ dart-musl-stage0-riscv64-$_canonver.tar.gz.noauto::https://github.com/dart-musl/dart/releases/download/$_canonver/dartsdk-linux-riscv64-release.tar.gz
+"
+builddir="$srcdir/"
+
+provides="dart-bootstrap=$pkgver-r$pkgrel"
+provider_priority=42
+
+case "$CARCH" in
+ aarch64) _dart_arch="arm64" ;;
+ armv7) _dart_arch="arm" ;;
+ riscv64) _dart_arch="riscv64" ;;
+ x86_64) _dart_arch="x64" ;;
+esac
+
+build() {
+ :
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/lib "$pkgdir"/usr/bin "$pkgdir"/usr/include
+ (
+ cd "$pkgdir"/usr/lib
+ tar xf "$srcdir"/dart-musl-stage0-$_dart_arch-$_canonver.tar.gz.noauto
+ mv dart-sdk dart
+ )
+ ln -s ../lib/dart/bin/dart "$pkgdir"/usr/bin/dart
+ ln -s ../lib/dart/bin/dartaotruntime "$pkgdir"/usr/bin/dartaotruntime
+ ln -s ../lib/dart/include "$pkgdir"/usr/include/dart
+}
+
+sha512sums="
+6fa5e6db8764af8be4c1578823395d2dca309629a144f95ef341b4c583e1ca7380847a2043ffaa0d8a2a3fac4938a88f474d606236a8a67113b5782754654300 dart-musl-stage0-x64-3.2.0-150.0.dev.tar.gz.noauto
+024664e5096c4c692a71573a53c7f68c043083fb6fde783b8fe4912f8779ad772fbf3c3bc89ac1130e9f7ff449464482a5f2551688e21c390e9c46e39cf59f03 dart-musl-stage0-arm-3.2.0-150.0.dev.tar.gz.noauto
+1cef3ed441c5873aec489edb72bc57a0e5653eb9965de277b631e2e5ef1f84b9b129a4fbc754e57047675b84eddb5fd1efb96561f534e006fb33eaeb62deaf4c dart-musl-stage0-arm64-3.2.0-150.0.dev.tar.gz.noauto
+7e2901498a4ea177bc7f54d9fd8f01ce2f29ee497fcf7e3fee9b7fc19c226b6ebdab11b555c90d9765022d3439256f37aa9f134af3138fa16d861d8f1ca0645a dart-musl-stage0-riscv64-3.2.0-150.0.dev.tar.gz.noauto
+"
diff --git a/testing/dart/APKBUILD b/testing/dart/APKBUILD
new file mode 100644
index 00000000000..66ad847e37a
--- /dev/null
+++ b/testing/dart/APKBUILD
@@ -0,0 +1,237 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=dart
+# upgrade checklist: https://md.sdomi.pl/Q-ECZTJ2Qqyp3ahfJuYSBw
+pkgver=3.3.2
+pkgrel=0
+_bootstrap=3.2.0_alpha150_p0
+pkgdesc="Dart is a client-optimized language for fast apps on any platform"
+url="https://dart.dev/"
+arch="aarch64 armv7 x86_64"
+license="BSD-3-Clause"
+makedepends="
+ curl
+ dart-bootstrap=>$_bootstrap
+ gn
+ icu-dev
+ lld
+ llvm
+ python3
+ ripgrep
+ samurai
+ zlib-dev
+ zstd
+ "
+subpackages="$pkgname-sdk dartaotruntime"
+
+case "$pkgver" in
+ *.*.*_pre*)
+ _canonver="${pkgver/_pre/-}"
+ _canonver="${_canonver/-r/.}.dev"
+ ;;
+ *.*.*_beta*)
+ _canonver="${pkgver/_beta/-}"
+ _canonver="${_canonver/-r/.}.beta"
+ ;;
+ *.*.*)
+ _canonver="$pkgver"
+ ;;
+esac
+
+source="
+ https://ab-sn.lnl.gay/dart-sdk-$_canonver.tar.zst
+
+ build-config.patch
+ gcc13.patch
+ no-werror.patch
+ unbundle.patch
+ where-we-are-heading-prefixes-are-not-needed.patch
+ "
+builddir="$srcdir/dart-sdk-$_canonver"
+
+# gclient comes from teapot-tools
+_distbucket="sakamoto/lnl-aports-snapshots/"
+snapshot() {
+ mkdir -p "$srcdir"
+ cd "$srcdir"
+
+ echo "
+solutions = [{
+ 'name': 'sdk',
+ 'url': 'https://dart.googlesource.com/sdk.git@$_canonver',
+}]
+target_cpu = ['x64', 'arm64', 'arm', 'riscv64']
+target_cpu_only = True
+" > .gclient
+
+ gclient sync --no-history --nohooks --tpot-cipd-ignore-platformed
+
+ for elf in $(scanelf -RA -F "%F" sdk); do
+ rm -f "$elf"
+ done
+
+ mv sdk dart-sdk-$_canonver
+
+ msg "generating tarball.."
+ tar -cf dart-sdk-$_canonver.tar \
+ --exclude="ChangeLog*" \
+ --exclude="sdk/buildtools/*/clang" \
+ --exclude="third_party/fuchsia/sdk/linux/arch" \
+ --exclude=".build-id" \
+ --exclude-backups \
+ --exclude-caches-all \
+ --exclude-vcs \
+ dart-sdk-$_canonver
+
+ zstd --auto-threads=logical --ultra --long -22 -T0 -vv dart-sdk-$_canonver.tar -o "$SRCDEST"/dart-sdk-$_canonver.tar.zst
+ mcli cp "$SRCDEST"/dart-sdk-$_canonver.tar.zst "$_distbucket"
+}
+
+case "$CARCH" in
+ aarch64)
+ _arch="arm64"
+ _out="$builddir/out/ReleaseARM64"
+ ;;
+ armv7)
+ _arch="arm"
+ _out="$builddir/out/ReleaseARM"
+ ;;
+ riscv64)
+ _arch="riscv64"
+ _out="$builddir/out/ReleaseRISCV64"
+ ;;
+ x86_64)
+ _arch="x64"
+ _out="$builddir/out/ReleaseX64"
+ ;;
+esac
+
+prepare() {
+ default_prepare
+
+ mkdir -p .git/logs
+ echo '' > .git/logs/HEAD
+
+ # bind bootstrapped interpreter
+ rm -rf tools/sdks/dart-sdk
+ ln -s /usr/lib/dart tools/sdks/dart-sdk
+
+ ln -s /usr/bin/gn buildtools/gn
+ mkdir -p buildtools/ninja
+ ln -s /usr/bin/samu buildtools/ninja/ninja
+
+ # gclient hooks
+ python3 tools/generate_package_config.py
+ python3 tools/generate_sdk_version_file.py
+
+ # google analytics, doubleclick
+ echo '' > tools/bots/dartdoc_footer.html
+ rm third_party/devtools/web/devtools_analytics.js
+
+ # disarm analytics for sure
+ rg --no-ignore -l 'google-analytics\.com' . \
+ | rg -v "\.map\$" \
+ | xargs -t -n 1 -P ${JOBS:-2} sed -i -E 's|([^/]+\.)?google-analytics\.com|0\.0\.0\.0|g'
+ rg --no-ignore -l 'UA-[0-9]+-[0-9]+' . \
+ | xargs -t -n 1 -P ${JOBS:-2} sed -i -E 's|UA-[0-9]+-[0-9]+|UA-2137-0|g'
+
+ sed -i 's/Unknown timestamp/'"$(date -uIm)"'/' tools/make_version.py
+
+ # reusable system library settings
+ local use_system="
+ icu
+ zlib
+ "
+ for _lib in $use_system; 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/*" \
+ \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+ -delete
+ done
+ msg "Replacing gn files"
+ python3 build/linux/unbundle/replace_gn_files.py --system-libraries \
+ $use_system
+}
+
+build() {
+ # shellcheck disable=2089
+ local gn_args="
+ create_kernel_service_snapshot=true
+ dart_snapshot_kind=\"app-jit\"
+ dart_sysroot=\"\"
+ dart_use_tcmalloc=false
+ "
+
+ msg "Building"
+ # shellcheck disable=2116,2090
+ python3 ./tools/build.py \
+ --no-clang \
+ --arch="$_arch" \
+ --mode=release \
+ --no-goma \
+ --no-verify-sdk-hash \
+ --gn-args="$(echo $gn_args)" \
+ create_sdk runtime
+}
+
+check() {
+ # check sanity
+ "$_out"/dart-sdk/bin/dart --version
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/lib "$pkgdir"/usr/include
+
+ cp -r "$_out"/dart-sdk "$pkgdir"/usr/lib/dart
+
+ ln -s ../lib/dart/include "$pkgdir"/usr/include/dart
+ ln -s ../lib/dart/bin/dart "$pkgdir"/usr/bin/dart
+ ln -s ../lib/dart/bin/dartaotruntime "$pkgdir"/usr/bin/dartaotruntime
+
+ find "$pkgdir"/usr/lib/dart/bin/resources/devtools -type f -exec chmod 644 {} \;
+}
+
+dartaotruntime() {
+ amove usr/bin/dartaotruntime
+ amove usr/lib/dart/bin/dartaotruntime
+}
+
+sdk() {
+ # do the stuff -dev does by default here
+ default_dev
+
+ # must be set after default_dev or gets cleared
+ depends="dart=$pkgver-r$pkgrel dartaotruntime=$pkgver-r$pkgrel"
+ provides="dart-bootstrap=$pkgver-r$pkgrel dart-devtools=$pkgver-r$pkgrel"
+ provider_priority=100
+
+ _snapshots="
+ analysis_server
+ dart2js
+ dartdevc
+ dds_aot
+ frontend_server
+ gen_kernel_aot
+ kernel-service
+ kernel_worker
+ "
+ for snap in $_snapshots; do
+ amove usr/lib/dart/bin/snapshots/$snap.dart.snapshot
+ done
+ amove usr/lib/dart/bin/resources/dartdoc
+ amove usr/lib/dart/bin/resources/devtools
+ amove usr/lib/dart/bin/snapshots/dart2wasm_product.snapshot
+ amove usr/lib/dart/bin/utils
+ amove usr/lib/dart/lib
+}
+
+sha512sums="
+f5521b4f779b9e657e351734af0a845cfa83fada99a65896d812643ed80467892c6bb4127d687f5ac6e684e7efd1c7eaf41dfed696dd69486897b29a6c9a9b42 dart-sdk-3.3.2.tar.zst
+3ae8364a172b029cf0b45cd4fd1ac192a20772c84924bb59a1775339ed6314cf81c398b078823fd9f07abc1b0de4b5704c76ce84c64f8924e645f00cfcda4ff3 build-config.patch
+03562a3fa935b6819458acdfcadf24f71accf73e2000d158c1fe41aca068b21fb158350a32911c322672b592beefea1e9c7e4675a98418804e60000049a656c8 gcc13.patch
+e7f5c715d9ed01c36e8b60892332b1bc763a3f98ca87905e2102491c469db60ab21dba9b3e116e1a7ec3faef7d65b8fdd60d7148cfb848ef5a2b411a06f425cf no-werror.patch
+14b6b024688110631dfce6d51b895e84d4306a00e66c0e5306126f6d27cbd13894bf2c50faffab99e57107901ec3977a4b0038bee9e165f733ef9e4ccc14af1a unbundle.patch
+641909211afa784d06c864777f04afc619fa669bbd4be30343feb67ed3c7c797f48eac22821a70f18c098d1c04206bd44c3b88aaf2e9bf0c3938ba58578f1f15 where-we-are-heading-prefixes-are-not-needed.patch
+"
diff --git a/testing/dart/build-config.patch b/testing/dart/build-config.patch
new file mode 100644
index 00000000000..94775ab18c7
--- /dev/null
+++ b/testing/dart/build-config.patch
@@ -0,0 +1,20 @@
+--- ./build/config/linux/BUILD.gn.orig
++++ ./build/config/linux/BUILD.gn
+@@ -13,14 +13,9 @@
+ ldflags += [ "-Wl,--exclude-libs=libc++.a" ]
+ }
+
+- # Explicitly use static linking for libstdc++ and libgcc to minimize
+- # dependencies.
+- if (!use_flutter_cxx) {
+- ldflags += [
+- "-static-libgcc",
+- "-static-libstdc++",
+- ]
+- }
++ ldflags += [ "-L/lib", "-fuse-ld=lld" ]
++ ldflags += string_split(getenv("LDFLAGS"), " ")
++ cflags += string_split(getenv("CFLAGS"), " ")
+
+ if (sysroot != "") {
+ cflags += [ "--sysroot=" + sysroot ]
diff --git a/testing/dart/gcc13.patch b/testing/dart/gcc13.patch
new file mode 100644
index 00000000000..e7ac784fa60
--- /dev/null
+++ b/testing/dart/gcc13.patch
@@ -0,0 +1,20 @@
+--- a/runtime/bin/ffi_test/ffi_test_functions_generated.cc
++++ b/runtime/bin/ffi_test/ffi_test_functions_generated.cc
+@@ -11,6 +11,7 @@
+ #include <sys/types.h>
+
+ #include <cmath>
++#include <cstdint>
+ #include <iostream>
+ #include <limits>
+
+--- a/runtime/bin/ffi_test/ffi_test_functions.cc
++++ b/runtime/bin/ffi_test/ffi_test_functions.cc
+@@ -13,6 +13,7 @@
+ #include <sys/types.h>
+
+ #include <cmath>
++#include <cstdint>
+ #include <iostream>
+ #include <limits>
+
diff --git a/testing/dart/no-werror.patch b/testing/dart/no-werror.patch
new file mode 100644
index 00000000000..92dbce7dad4
--- /dev/null
+++ b/testing/dart/no-werror.patch
@@ -0,0 +1,13 @@
+--- a/build/config/compiler/BUILD.gn
++++ b/build/config/compiler/BUILD.gn
+@@ -672,10 +672,6 @@
+ "-Wextra",
+ ]
+
+- if (dart_sysroot != "alpine") {
+- cflags += [ "-Werror" ]
+- }
+-
+ defines = []
+ if (!using_sanitizer && !is_clang) {
+ # _FORTIFY_SOURCE isn't really supported by Clang now, see
diff --git a/testing/dart/unbundle.patch b/testing/dart/unbundle.patch
new file mode 100644
index 00000000000..c115ae90169
--- /dev/null
+++ b/testing/dart/unbundle.patch
@@ -0,0 +1,439 @@
+diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
+new file mode 100644
+index 00000000000..9e54d4efe4e
+--- /dev/null
++++ b/build/linux/unbundle/icu.gn
+@@ -0,0 +1,262 @@
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++group("icu") {
++ public_deps = [
++ ":icui18n",
++ ":icuuc",
++ ]
++}
++
++config("icu_config") {
++ defines = [
++ "USING_SYSTEM_ICU=1",
++ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
++
++ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
++ # on classes through the U_COMMON_API and U_I18N_API macros (among others).
++ # When linking against the system ICU library, we want its symbols to have
++ # public LTO visibility. This disables CFI checks for the ICU classes and
++ # allows whole-program optimization to be applied to the rest of Chromium.
++ #
++ # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only
++ # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because
++ # we override the default system UCHAR_TYPE (char16_t), it is not possible
++ # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API
++ # and U_I18N_API macros are set to U_IMPORT which is an empty definition.
++ #
++ # Until building with UCHAR_TYPE=char16_t is supported, one way to apply
++ # public visibility (and thus public LTO visibility) to all ICU classes is
++ # to define U_IMPORT to have the same value as U_EXPORT. For more details,
++ # please see: https://crbug.com/822820
++ "U_IMPORT=U_EXPORT",
++ ]
++}
++
++pkg_config("system_icui18n") {
++ packages = [ "icu-i18n" ]
++}
++
++pkg_config("system_icuuc") {
++ packages = [ "icu-uc" ]
++}
++
++source_set("icui18n") {
++ public_deps = [ ":icui18n_shim" ]
++ public_configs = [
++ ":icu_config",
++ ":system_icui18n",
++ ]
++}
++
++source_set("icuuc") {
++ public_deps = [ ":icuuc_shim" ]
++ public_configs = [
++ ":icu_config",
++ ":system_icuuc",
++ ]
++}
++
++group("icui18n_hidden_visibility") {
++ public_deps = [ ":icui18n" ]
++}
++
++group("icuuc_hidden_visibility") {
++ public_deps = [ ":icuuc" ]
++}
++
++shim_headers("icui18n_shim") {
++ root_path = "source/i18n"
++ headers = [
++ # This list can easily be updated using the commands below:
++ # cd third_party/icu/source/i18n
++ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u
++ "unicode/alphaindex.h",
++ "unicode/basictz.h",
++ "unicode/calendar.h",
++ "unicode/choicfmt.h",
++ "unicode/coleitr.h",
++ "unicode/coll.h",
++ "unicode/compactdecimalformat.h",
++ "unicode/curramt.h",
++ "unicode/currpinf.h",
++ "unicode/currunit.h",
++ "unicode/datefmt.h",
++ "unicode/dcfmtsym.h",
++ "unicode/decimfmt.h",
++ "unicode/dtfmtsym.h",
++ "unicode/dtitvfmt.h",
++ "unicode/dtitvinf.h",
++ "unicode/dtptngen.h",
++ "unicode/dtrule.h",
++ "unicode/fieldpos.h",
++ "unicode/fmtable.h",
++ "unicode/format.h",
++ "unicode/fpositer.h",
++ "unicode/gender.h",
++ "unicode/gregocal.h",
++ "unicode/listformatter.h",
++ "unicode/measfmt.h",
++ "unicode/measunit.h",
++ "unicode/measure.h",
++ "unicode/msgfmt.h",
++ "unicode/numfmt.h",
++ "unicode/numsys.h",
++ "unicode/plurfmt.h",
++ "unicode/plurrule.h",
++ "unicode/rbnf.h",
++ "unicode/rbtz.h",
++ "unicode/regex.h",
++ "unicode/region.h",
++ "unicode/reldatefmt.h",
++ "unicode/scientificnumberformatter.h",
++ "unicode/search.h",
++ "unicode/selfmt.h",
++ "unicode/simpletz.h",
++ "unicode/smpdtfmt.h",
++ "unicode/sortkey.h",
++ "unicode/stsearch.h",
++ "unicode/tblcoll.h",
++ "unicode/timezone.h",
++ "unicode/tmunit.h",
++ "unicode/tmutamt.h",
++ "unicode/tmutfmt.h",
++ "unicode/translit.h",
++ "unicode/tzfmt.h",
++ "unicode/tznames.h",
++ "unicode/tzrule.h",
++ "unicode/tztrans.h",
++ "unicode/ucal.h",
++ "unicode/ucol.h",
++ "unicode/ucoleitr.h",
++ "unicode/ucsdet.h",
++ "unicode/udat.h",
++ "unicode/udateintervalformat.h",
++ "unicode/udatpg.h",
++ "unicode/ufieldpositer.h",
++ "unicode/uformattable.h",
++ "unicode/ugender.h",
++ "unicode/ulocdata.h",
++ "unicode/umsg.h",
++ "unicode/unirepl.h",
++ "unicode/unum.h",
++ "unicode/unumsys.h",
++ "unicode/upluralrules.h",
++ "unicode/uregex.h",
++ "unicode/uregion.h",
++ "unicode/ureldatefmt.h",
++ "unicode/usearch.h",
++ "unicode/uspoof.h",
++ "unicode/utmscale.h",
++ "unicode/utrans.h",
++ "unicode/vtzone.h",
++ ]
++}
++
++shim_headers("icuuc_shim") {
++ root_path = "source/common"
++ headers = [
++ # This list can easily be updated using the commands below:
++ # cd third_party/icu/source/common
++ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u
++ "unicode/appendable.h",
++ "unicode/brkiter.h",
++ "unicode/bytestream.h",
++ "unicode/bytestrie.h",
++ "unicode/bytestriebuilder.h",
++ "unicode/caniter.h",
++ "unicode/casemap.h",
++ "unicode/char16ptr.h",
++ "unicode/chariter.h",
++ "unicode/dbbi.h",
++ "unicode/docmain.h",
++ "unicode/dtintrv.h",
++ "unicode/edits.h",
++ "unicode/enumset.h",
++ "unicode/errorcode.h",
++ "unicode/filteredbrk.h",
++ "unicode/icudataver.h",
++ "unicode/icuplug.h",
++ "unicode/idna.h",
++ "unicode/localematcher.h",
++ "unicode/localpointer.h",
++ "unicode/locdspnm.h",
++ "unicode/locid.h",
++ "unicode/messagepattern.h",
++ "unicode/normalizer2.h",
++ "unicode/normlzr.h",
++ "unicode/parseerr.h",
++ "unicode/parsepos.h",
++ "unicode/platform.h",
++ "unicode/ptypes.h",
++ "unicode/putil.h",
++ "unicode/rbbi.h",
++ "unicode/rep.h",
++ "unicode/resbund.h",
++ "unicode/schriter.h",
++ "unicode/simpleformatter.h",
++ "unicode/std_string.h",
++ "unicode/strenum.h",
++ "unicode/stringpiece.h",
++ "unicode/stringtriebuilder.h",
++ "unicode/symtable.h",
++ "unicode/ubidi.h",
++ "unicode/ubiditransform.h",
++ "unicode/ubrk.h",
++ "unicode/ucasemap.h",
++ "unicode/ucat.h",
++ "unicode/uchar.h",
++ "unicode/ucharstrie.h",
++ "unicode/ucharstriebuilder.h",
++ "unicode/uchriter.h",
++ "unicode/uclean.h",
++ "unicode/ucnv.h",
++ "unicode/ucnv_cb.h",
++ "unicode/ucnv_err.h",
++ "unicode/ucnvsel.h",
++ "unicode/uconfig.h",
++ "unicode/ucurr.h",
++ "unicode/udata.h",
++ "unicode/udisplaycontext.h",
++ "unicode/uenum.h",
++ "unicode/uidna.h",
++ "unicode/uiter.h",
++ "unicode/uldnames.h",
++ "unicode/ulistformatter.h",
++ "unicode/uloc.h",
++ "unicode/umachine.h",
++ "unicode/umisc.h",
++ "unicode/unifilt.h",
++ "unicode/unifunct.h",
++ "unicode/unimatch.h",
++ "unicode/uniset.h",
++ "unicode/unistr.h",
++ "unicode/unorm.h",
++ "unicode/unorm2.h",
++ "unicode/uobject.h",
++ "unicode/urename.h",
++ "unicode/urep.h",
++ "unicode/ures.h",
++ "unicode/uscript.h",
++ "unicode/uset.h",
++ "unicode/usetiter.h",
++ "unicode/ushape.h",
++ "unicode/usprep.h",
++ "unicode/ustring.h",
++ "unicode/ustringtrie.h",
++ "unicode/utext.h",
++ "unicode/utf.h",
++ "unicode/utf16.h",
++ "unicode/utf32.h",
++ "unicode/utf8.h",
++ "unicode/utf_old.h",
++ "unicode/utrace.h",
++ "unicode/utypes.h",
++ "unicode/uvernum.h",
++ "unicode/uversion.h",
++ ]
++}
+diff --git a/build/linux/unbundle/replace_gn_files.py b/build/linux/unbundle/replace_gn_files.py
+new file mode 100755
+index 00000000000..1aed7bca99d
+--- /dev/null
++++ b/build/linux/unbundle/replace_gn_files.py
+@@ -0,0 +1,65 @@
++#!/usr/bin/env python3
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++"""
++Replaces GN files in tree with files from here that
++make the build use system libraries.
++"""
++
++import argparse
++import os
++import shutil
++import sys
++
++
++REPLACEMENTS = {
++ 'icu': 'third_party/icu/BUILD.gn',
++ 'protobuf': 'build/secondary/third_party/protobuf/BUILD.gn',
++ 'zlib': 'third_party/zlib/BUILD.gn',
++}
++
++
++def DoMain(argv):
++ my_dirname = os.path.dirname(__file__)
++ source_tree_root = os.path.abspath(
++ os.path.join(my_dirname, '..', '..', '..'))
++
++ parser = argparse.ArgumentParser()
++ parser.add_argument('--system-libraries', nargs='*', default=[])
++ parser.add_argument('--undo', action='store_true')
++
++ args = parser.parse_args(argv)
++
++ handled_libraries = set()
++ for lib, path in REPLACEMENTS.items():
++ if lib not in args.system_libraries:
++ continue
++ handled_libraries.add(lib)
++
++ if args.undo:
++ # Restore original file, and also remove the backup.
++ # This is meant to restore the source tree to its original state.
++ os.rename(os.path.join(source_tree_root, path + '.orig'),
++ os.path.join(source_tree_root, path))
++ else:
++ # Create a backup copy for --undo.
++ shutil.copyfile(os.path.join(source_tree_root, path),
++ os.path.join(source_tree_root, path + '.orig'))
++
++ # Copy the GN file from directory of this script to target path.
++ shutil.copyfile(os.path.join(my_dirname, '%s.gn' % lib),
++ os.path.join(source_tree_root, path))
++
++ unhandled_libraries = set(args.system_libraries) - handled_libraries
++ if unhandled_libraries:
++ print('Unrecognized system libraries requested: %s' % ', '.join(
++ sorted(unhandled_libraries)), file=sys.stderr)
++ return 1
++
++ return 0
++
++
++if __name__ == '__main__':
++ sys.exit(DoMain(sys.argv[1:]))
+diff --git a/build/linux/unbundle/zlib.gn b/build/linux/unbundle/zlib.gn
+new file mode 100644
+index 00000000000..fa2bbffd25f
+--- /dev/null
++++ b/build/linux/unbundle/zlib.gn
+@@ -0,0 +1,63 @@
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/shim_headers.gni")
++
++shim_headers("zlib_shim") {
++ root_path = "."
++ headers = [ "zlib.h" ]
++ additional_includes = [ "third_party" ]
++
++}
++
++config("system_zlib") {
++ defines = [ "USE_SYSTEM_ZLIB=1" ]
++}
++
++config("zlib_config") {
++ configs = [ ":system_zlib" ]
++}
++
++source_set("zlib") {
++ public_deps = [ ":zlib_shim" ]
++ libs = [ "z" ]
++ public_configs = [ ":system_zlib" ]
++}
++
++shim_headers("minizip_shim") {
++ root_path = "contrib"
++ headers = [
++ "minizip/crypt.h",
++ "minizip/ioapi.h",
++ "minizip/iowin32.h",
++ "minizip/mztools.h",
++ "minizip/unzip.h",
++ "minizip/zip.h",
++ ]
++}
++
++source_set("minizip") {
++ deps = [ ":minizip_shim" ]
++ libs = [ "minizip" ]
++}
++
++static_library("zip") {
++ sources = [
++ "google/zip.cc",
++ "google/zip.h",
++ "google/zip_internal.cc",
++ "google/zip_internal.h",
++ "google/zip_reader.cc",
++ "google/zip_reader.h",
++ ]
++ deps = [ ":minizip" ]
++}
++
++static_library("compression_utils") {
++ sources = [
++ "google/compression_utils.cc",
++ "google/compression_utils.h",
++ ]
++ deps = [ ":zlib" ]
++}
+diff --git a/build/shim_headers.gni b/build/shim_headers.gni
+index dc57d12ed0c..1d24e0ad00e 100644
+--- a/build/shim_headers.gni
++++ b/build/shim_headers.gni
+@@ -7,6 +7,11 @@ template("shim_headers") {
+ shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}"
+ config(config_name) {
+ include_dirs = [ shim_headers_path ]
++ if (defined(invoker.additional_includes)) {
++ foreach(i, invoker.additional_includes) {
++ include_dirs += [ shim_headers_path + "/" + i ]
++ }
++ }
+ }
+ action(action_name) {
+ script = "//tools/generate_shim_headers.py"
+@@ -26,11 +31,12 @@ template("shim_headers") {
+ args += invoker.headers
+ outputs = []
+ foreach(h, invoker.headers) {
+- outputs += [ shim_headers_path + "/" + rebase_path(invoker.root_path,"//") + "/" + h ]
++ outputs += [ shim_headers_path + "/" +
++ rebase_path(invoker.root_path, "//") + "/" + h ]
+ }
+ }
+ group(target_name) {
+- deps = [ ":${action_name}" ]
++ public_deps = [ ":${action_name}" ]
+ all_dependent_configs = [ ":${config_name}" ]
+ }
+ }
diff --git a/testing/dart/where-we-are-heading-prefixes-are-not-needed.patch b/testing/dart/where-we-are-heading-prefixes-are-not-needed.patch
new file mode 100644
index 00000000000..84add1a2d00
--- /dev/null
+++ b/testing/dart/where-we-are-heading-prefixes-are-not-needed.patch
@@ -0,0 +1,29 @@
+--- ./build/toolchain/linux/BUILD.gn.orig
++++ ./build/toolchain/linux/BUILD.gn
+@@ -37,7 +37,7 @@
+ }
+
+ gcc_toolchain("arm") {
+- prefix = "arm-linux-gnueabihf-"
++ prefix = ""
+ if (arm_toolchain_prefix != "") {
+ prefix = arm_toolchain_prefix
+ }
+@@ -73,7 +73,7 @@
+ }
+
+ gcc_toolchain("arm64") {
+- prefix = "aarch64-linux-gnu-"
++ prefix = ""
+ if (arm64_toolchain_prefix != "") {
+ prefix = arm64_toolchain_prefix
+ }
+@@ -215,7 +215,7 @@
+ }
+
+ gcc_toolchain("riscv64") {
+- prefix = "riscv64-linux-gnu-"
++ prefix = ""
+ if (riscv64_toolchain_prefix != "") {
+ prefix = riscv64_toolchain_prefix
+ }
diff --git a/testing/darts-clone/APKBUILD b/testing/darts-clone/APKBUILD
new file mode 100644
index 00000000000..4254e8b7688
--- /dev/null
+++ b/testing/darts-clone/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=darts-clone
+pkgver=0_git20181117
+_gitrev=e40ce4627526985a7767444b6ed6893ab6ff8983
+pkgrel=0
+pkgdesc="C++ header library for a static double-array trie structure"
+url="https://github.com/s-yata/darts-clone"
+arch="all !s390x" # s390x: failed dictionary test
+license="BSD-2-Clause"
+makedepends="autoconf automake libtool"
+subpackages="$pkgname-dev"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/s-yata/darts-clone/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+prepare() {
+ default_prepare
+ autoreconf -fi
+}
+
+build() {
+ ./configure \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ cd "$builddir"/test
+ ./test-darts
+ ./test-tools.sh
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+092cc833fff937365117f5b780f09a1ffdd25104ab57e36f7cba25a9a6bee289c105cae997a50b61b5b542c1c34d71bddf132d0ca14d563198b57caa9af2ac22 darts-clone-e40ce4627526985a7767444b6ed6893ab6ff8983.tar.gz
+"
diff --git a/testing/dasht/APKBUILD b/testing/dasht/APKBUILD
new file mode 100644
index 00000000000..bbf3e93464c
--- /dev/null
+++ b/testing/dasht/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer: Clayton Craft <clayton@craftyguy.net>
+pkgname=dasht
+pkgver=2.4.0
+pkgrel=0
+pkgdesc="collection of shell scripts for searching, browsing, and managing API documentation from Dash"
+url="https://github.com/sunaku/dasht"
+arch="noarch"
+license="ISC"
+depends="
+ socat
+ sqlite
+ w3m
+ wget
+"
+options="!check" # no tests
+subpackages="$pkgname-zsh-completion $pkgname-doc"
+source="https://github.com/sunaku/dasht/archive/v$pkgver/dasht-$pkgver.tar.gz"
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/man
+ mkdir -p "$pkgdir"/usr/share/zsh/site-functions
+ mv bin "$pkgdir"/usr/
+ mv man "$pkgdir"/usr/share/
+ mv etc/zsh/completions/* "$pkgdir"/usr/share/zsh/site-functions/
+}
+
+sha512sums="
+4810fa05df78179d268bd2d2bbe4d821ef7330e837aa1b76034edd79add34e4087d6a0983c34504f905adf0ccee9515c88e70cbe330cdc68c5be33deb12a3166 dasht-2.4.0.tar.gz
+"
diff --git a/testing/datamash/APKBUILD b/testing/datamash/APKBUILD
index e79b5f7c81b..a9b3465ebbc 100644
--- a/testing/datamash/APKBUILD
+++ b/testing/datamash/APKBUILD
@@ -1,25 +1,27 @@
# Contributor: Assaf Gordon <assafgordon@gmail.com>
-# Maintainer: Assaf Gordon <assafgordon@gmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=datamash
-pkgver=1.7
+pkgver=1.8
pkgrel=1
-pkgdesc="command-line text/math procesing"
+pkgdesc="Command-line text/math processing"
url="https://www.gnu.org/software/datamash/"
arch="all"
license="GPL-3.0-or-later"
-source="https://ftpmirror.gnu.org/datamash/datamash-$pkgver.tar.gz"
subpackages="$pkgname-doc $pkgname-bash-completion"
+source="https://ftpmirror.gnu.org/datamash/datamash-$pkgver.tar.gz"
build() {
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
+ --sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info \
+ --localstatedir=/var \
--disable-nls \
--disable-werror \
- --with-bash-completion-dir=local
+ --with-bash-completion-dir=/usr/share/bash-completion/completions
make
}
@@ -29,13 +31,11 @@ check() {
package() {
make -j1 DESTDIR="$pkgdir" install
- rm -rf "$pkgdir"/usr/share/datamash/examples \
- "$pkgdir"/usr/lib/charset.alias
- mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
- mv "$pkgdir"/usr/share/datamash/bash-completion.d/datamash \
- "$pkgdir"/usr/share/bash-completion/completions/
- rm -r "$pkgdir"/usr/share/datamash/bash-completion.d || true
+ rm -vrf "$pkgdir"/usr/share/datamash/examples
+ rmdir -v "$pkgdir"/usr/share/datamash
}
-sha512sums="29d82d6a1ac25a6ceb901c14fdeacbcb575771f405d844a66df525f820f1515d84989480807e466ddaa0a1ebc5cf698191538391b0c64bddf0d80462f66a5992 datamash-1.7.tar.gz"
+sha512sums="
+5ef312a73ebee5df7308b7e368f296714fcc396761499d4a5ba94906f6ecdb0867193c5ce25668bf56b7a5339a8a833a98b3ad564c01544880a6ec210c7b922a datamash-1.8.tar.gz
+"
diff --git a/testing/dbus-broker/APKBUILD b/testing/dbus-broker/APKBUILD
new file mode 100644
index 00000000000..cf1c530a1a8
--- /dev/null
+++ b/testing/dbus-broker/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=dbus-broker
+pkgver=35
+pkgrel=0
+pkgdesc="Linux D-Bus Message Broker"
+url="https://github.com/bus1/dbus-broker"
+arch="all"
+license="Apache-2.0"
+makedepends="meson linux-headers py3-docutils"
+subpackages="$pkgname-doc"
+source="https://github.com/bus1/dbus-broker/releases/download/v$pkgver/dbus-broker-$pkgver.tar.xz"
+
+build() {
+ # launcher: requires systemd
+ abuild-meson . build -Dlauncher=false -Ddocs=true
+ meson compile -C build
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C build
+}
+
+sha512sums="
+409e415889bd53b78e92ba077455e5583852a071e233e4b23dcbb23d8a367f177d6c8138e6fc113dcfe48440b68d594c1a076cb43ef445d472645f671d5ae033 dbus-broker-35.tar.xz
+"
diff --git a/testing/dbus-waiter/APKBUILD b/testing/dbus-waiter/APKBUILD
new file mode 100644
index 00000000000..a28f9af0a69
--- /dev/null
+++ b/testing/dbus-waiter/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=dbus-waiter
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Implement readiness notifications for dbus services"
+url="https://git.sr.ht/~whynothugo/dbus-waiter"
+# s390x: nix/libc crate
+arch="all !s390x"
+license="ISC"
+makedepends="cargo cargo-auditable"
+source="dbus-waiter-$pkgver.tar.gz::https://git.sr.ht/~whynothugo/dbus-waiter/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="net" # fetch dependencies
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 0755 target/release/$pkgname "$pkgdir/usr/bin/$pkgname"
+}
+
+sha512sums="
+abb1ab4b09ac104ba28e0c1a05d19feae13308bd6ff356653100a834d496861dcc32b4ca0de51640df5ce467b6d9ec2b90e7094f5043b0db1ee71a74315124e9 dbus-waiter-0.2.0.tar.gz
+"
diff --git a/testing/dcmtk/10-offile.patch b/testing/dcmtk/10-offile.patch
new file mode 100644
index 00000000000..1a92d973149
--- /dev/null
+++ b/testing/dcmtk/10-offile.patch
@@ -0,0 +1,70 @@
+Author: Holger Jaekel <holger.jaekel@gmx.de>
+Summary: Use ANSI C functions like fopen() instead of
+ non-ANSI Posix functions like fopen64().
+----
+
+--- a/ofstd/include/dcmtk/ofstd/offile.h.orig
++++ b/ofstd/include/dcmtk/ofstd/offile.h
+@@ -356,7 +356,7 @@
+ {
+ if (file_) fclose();
+ #ifdef EXPLICIT_LFS_64
+- file_ = :: fopen64(filename, modes);
++ file_ = :: fopen(filename, modes);
+ #else
+ file_ = STDIO_NAMESPACE fopen(filename, modes);
+ #endif
+@@ -463,7 +463,7 @@
+ {
+ #if defined(EXPLICIT_LFS_64) && ! defined(__MINGW32__)
+ // MinGW has EXPLICIT_LFS_64 but no freopen64()
+- file_ = :: freopen64(filename, modes, file_);
++ file_ = :: freopen(filename, modes, file_);
+ #else
+ file_ = STDIO_NAMESPACE freopen(filename, modes, file_);
+ #endif
+@@ -482,7 +482,7 @@
+ if (file_) fclose();
+ #if defined(EXPLICIT_LFS_64) && ! defined(__MINGW32__)
+ // MinGW has EXPLICIT_LFS_64 but no tmpfile64()
+- file_ = :: tmpfile64();
++ file_ = :: tmpfile();
+ #else
+ file_ = STDIO_NAMESPACE tmpfile();
+ #endif
+@@ -806,7 +806,7 @@
+ #else
+ #ifdef HAVE_FSEEKO
+ #ifdef EXPLICIT_LFS_64
+- result = :: fseeko64(file_, off, whence);
++ result = :: fseeko(file_, off, whence);
+ #else
+ result = :: fseeko(file_, off, whence);
+ #endif
+@@ -839,7 +839,7 @@
+ offile_off_t result;
+ #ifdef HAVE_FSEEKO
+ #ifdef EXPLICIT_LFS_64
+- result = :: ftello64(file_);
++ result = :: ftello(file_);
+ #else
+ result = :: ftello(file_);
+ #endif
+@@ -863,7 +863,7 @@
+ int result;
+ #if defined(EXPLICIT_LFS_64) && ! defined(__MINGW32__) && ! defined(__QNX__)
+ // MinGW and QNX have EXPLICIT_LFS_64 but no fgetpos64()
+- result = :: fgetpos64(file_, pos);
++ result = :: fgetpos(file_, pos);
+ #else
+ result = STDIO_NAMESPACE fgetpos(file_, pos);
+ #endif
+@@ -883,7 +883,7 @@
+ int result;
+ #if defined(EXPLICIT_LFS_64) && ! defined(__MINGW32__) && ! defined(__QNX__)
+ // MinGW and QNX have EXPLICIT_LFS_64 but no fsetpos64()
+- result = :: fsetpos64(file_, pos);
++ result = :: fsetpos(file_, pos);
+ #else
+ result = STDIO_NAMESPACE fsetpos(file_, pos);
+ #endif
diff --git a/testing/dcmtk/20-thai.patch b/testing/dcmtk/20-thai.patch
new file mode 100644
index 00000000000..a40b8fb0b51
--- /dev/null
+++ b/testing/dcmtk/20-thai.patch
@@ -0,0 +1,35 @@
+Author: Holger Jaekel <holger.jaekel@gmx.de>
+Summary: Character set ISO_IR 166 fails, so we remove the test.
+----
+
+--- a/dcmdata/tests/tspchrs.cc
++++ b/dcmdata/tests/tspchrs.cc
+@@ -46,7 +46,7 @@
+ OFCHECK(converter.selectCharacterSet("ISO_IR 148").good());
+ OFCHECK(converter.selectCharacterSet("ISO_IR 203").good());
+ OFCHECK(converter.selectCharacterSet("ISO_IR 13 ").good());
+- OFCHECK(converter.selectCharacterSet("ISO_IR 166").good());
++ // OFCHECK(converter.selectCharacterSet("ISO_IR 166").good());
+ OFCHECK(converter.selectCharacterSet("ISO_IR 192").good());
+ OFCHECK(converter.selectCharacterSet(" GB18030 ").good());
+ OFCHECK(converter.selectCharacterSet(" GBK ").good());
+@@ -63,7 +63,7 @@
+ OFCHECK(converter.selectCharacterSet("\\ISO 2022 IR 148").good());
+ OFCHECK(converter.selectCharacterSet("\\ISO 2022 IR 203").good());
+ OFCHECK(converter.selectCharacterSet("\\ISO 2022 IR 13 ").good());
+- OFCHECK(converter.selectCharacterSet("\\ISO 2022 IR 166").good());
++ // OFCHECK(converter.selectCharacterSet("\\ISO 2022 IR 166").good());
+ #if DCMTK_ENABLE_CHARSET_CONVERSION == DCMTK_CHARSET_CONVERSION_ICONV
+ // (only the ICONV library supports these character sets)
+ OFCHECK(converter.selectCharacterSet("\\ISO 2022 IR 87 ").good());
+@@ -169,8 +169,8 @@
+ OFCHECK(converter.convertString("Japanese\\\033(J\324\317\300\336\\Text", resultStr, "\\").good());
+ OFCHECK_EQUAL(resultStr, "Japanese\\\357\276\224\357\276\217\357\276\200\357\276\236\\Text");
+ // the following should fail (wrong character set)
+- OFCHECK(converter.selectCharacterSet("\\ISO 2022 IR 166").good());
+- OFCHECK(converter.convertString("Yamada^Tarou=\033$B;3ED\033(B^\033$BB@O:\033(B=\033$B$d$^$@\033(B^\033$B$?$m$&\033(B", resultStr, delimiters).bad());
++ // OFCHECK(converter.selectCharacterSet("\\ISO 2022 IR 166").good());
++ // OFCHECK(converter.convertString("Yamada^Tarou=\033$B;3ED\033(B^\033$BB@O:\033(B=\033$B$d$^$@\033(B^\033$B$?$m$&\033(B", resultStr, delimiters).bad());
+ } else {
+ // in case there is no libiconv, report a warning but do not fail
+ DCMDATA_WARN("Cannot test DcmSpecificCharacterSet since the underlying character set conversion library is not available");
diff --git a/testing/dcmtk/30-dont_export_all_executables.patch b/testing/dcmtk/30-dont_export_all_executables.patch
new file mode 100644
index 00000000000..9859fec2448
--- /dev/null
+++ b/testing/dcmtk/30-dont_export_all_executables.patch
@@ -0,0 +1,24 @@
+Description: Don't add executables to cmake exports
+ CMake exports are used by other packages that compile
+ and link against dcmtk. Because Debian moves some of
+ these executables and also doesn't install the test
+ executables, this import may fail leading to failure
+ to configure the according package.
+Bug-Debian: https://bugs.debian.org/803304
+Author: Gert Wollny <gw.fossdev@gmail.com>
+--- a/CMake/dcmtkMacros.cmake
++++ b/CMake/dcmtkMacros.cmake
+@@ -55,11 +55,11 @@
+ endif()
+
+ # Collect executable as part of global DCMTK_EXECUTABLE_TARGETS property
+- set_property(GLOBAL APPEND PROPERTY DCMTK_EXECUTABLE_TARGETS ${PROGRAM})
++ #set_property(GLOBAL APPEND PROPERTY DCMTK_EXECUTABLE_TARGETS ${PROGRAM})
+
+ # declare installation files, also export DCMTKTargets.cmake
+ install(TARGETS ${PROGRAM}
+- EXPORT DCMTKTargets
++ # EXPORT DCMTKTargets
+ COMPONENT bin
+ DESTINATION ${CMAKE_INSTALL_BINDIR})
+ endif()
diff --git a/testing/dcmtk/40-dcmqrscp.patch b/testing/dcmtk/40-dcmqrscp.patch
new file mode 100644
index 00000000000..ec40c2b348d
--- /dev/null
+++ b/testing/dcmtk/40-dcmqrscp.patch
@@ -0,0 +1,81 @@
+Author: Jürgen Salk <jsa@debian.org>
+Description: The original maintainer Jürgen Salk applied
+ a set of patches to the original code. This file contains
+ changes to C++ code
+Forwarded: no
+
+--- a/dcmqrdb/etc/dcmqrscp.cfg
++++ b/dcmqrdb/etc/dcmqrscp.cfg
+@@ -21,8 +21,8 @@
+ # SpecificCharacterSet = "ISO_IR 192", override, discard, transliterate
+
+ #
+-# UserName = <not used>
+-# GroupName = <not used>
++UserName = dcmtk
++GroupName = dcmtk
+
+ HostTable BEGIN
+ #
+@@ -38,12 +38,13 @@
+ # NOTE: in the current implementation you cannot substitute an IP address
+ # for a hostname.
+ #
+-acme1 = (ACME1, acmehost1, 5678)
+-acme2 = (ACME2, acmehost2, 5678)
+-acmeCTcompany = acme1, acme2
+-united1 = (UNITED1, unitedhost1, 104)
+-united2 = (UNITED2, unitedhost2, 104)
+-unitedMRcompany = united1, united2
++# Example:
++#acme1 = (ACME1, acmehost1, 5678)
++#acme2 = (ACME2, acmehost2, 5678)
++#acmeCTcompany = acme1, acme2
++#united1 = (UNITED1, unitedhost1, 104)
++#united2 = (UNITED2, unitedhost2, 104)
++#unitedMRcompany = united1, united2
+ #
+ HostTable END
+
+@@ -61,8 +62,9 @@
+ # VendorName = SymbolicName
+ # The symbolic name should be defined in the HostTable.
+ #
+-"Acme CT Company" = acmeCTcompany
+-"United MR Company" = unitedMRcompany
++# Example:
++#"Acme CT Company" = acmeCTcompany
++#"United MR Company" = unitedMRcompany
+ #
+ VendorTable END
+
+@@ -80,8 +82,13 @@
+ # Entry in HostTable |
+ # ANY
+ #
+-COMMON /home/dicom/db/COMMON R (200, 1024mb) ANY
+-ACME_STORE /home/dicom/db/ACME_STORE RW (9, 1024mb) acmeCTcompany
+-UNITED_STORE /home/dicom/db/UNITED_STORE RW (9, 1024mb) unitedMRcompany
++# Example:
++#
++#ACME_STORE /var/lib/dcmtk/db/ACME_STORE RW (9, 1024mb) acmeCTcompany
++#UNITED_STORE /var/lib/dcmtk/db/UNITED_STORE RW (9, 1024mb) unitedMRcompany
++#
++# Uncomment and adjust the following lines for a common r/rw storage area:
++#READWRITE /var/lib/dcmtk/db/READWRITE RW (10, 1024mb) ANY
++#READ /var/lib/dcmtk/db/READ R (200, 1024mb) ANY
+ #
+ AETable END
+--- a/dcmqrdb/docs/dcmqrcnf.txt
++++ b/dcmqrdb/docs/dcmqrcnf.txt
+@@ -46,8 +46,8 @@
+ MaxPDUSize = 8192
+ MaxAssociations = 20
+ SpecificCharacterSet = fallback
+-UserName = (do not change user)
+-GroupName = (do not change group)
++UserName = dcmtk
++GroupName = dcmtk
+
+ Available options for specific character sets are:
+
diff --git a/testing/dcmtk/APKBUILD b/testing/dcmtk/APKBUILD
new file mode 100644
index 00000000000..7cc25f24c6a
--- /dev/null
+++ b/testing/dcmtk/APKBUILD
@@ -0,0 +1,105 @@
+# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
+# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
+pkgname=dcmtk
+pkgver=3.6.8
+_pkgver=${pkgver//./}
+pkgrel=0
+pkgdesc="OFFIS DICOM toolkit"
+url="https://dcmtk.org/"
+# armhf: compile fails with bad immediate value for offset
+arch="all !armhf"
+license="BSD-3-Clause"
+makedepends="
+ cmake
+ libpng-dev
+ libsndfile-dev
+ libxml2-dev
+ openjpeg-dev
+ openssl-dev
+ samurai
+ tiff-dev
+ zlib-dev
+ "
+install="$pkgname.pre-install"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc libdcmtk"
+source="https://dicom.offis.de/download/dcmtk/dcmtk$_pkgver/dcmtk-$pkgver.tar.gz
+ 10-offile.patch
+ 20-thai.patch
+ 30-dont_export_all_executables.patch
+ 40-dcmqrscp.patch
+ dcmtk.initd
+ "
+
+# secfixes:
+# 3.6.7-r0:
+# - CVE-2022-43272
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ # SKIP_RPATH=OFF to run test suite
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DBUILD_SHARED_LIBS=ON \
+ -DDCMTK_WITH_OPENSSL=ON \
+ -DDCMTK_ENABLE_PRIVATE_TAGS=ON \
+ -DDCMTK_WITH_XML=ON \
+ -DDCMTK_WITH_DOXYGEN=OFF \
+ -DDCMTK_WITH_TIFF=ON \
+ -DDCMTK_WITH_ZLIB=ON \
+ -DDCMTK_WITH_ICONV=OFF \
+ -DDCMTK_WITH_ICU=OFF \
+ -DUSE_COMPILER_HIDDEN_VISIBILITY=ON \
+ -DCMAKE_SKIP_RPATH=OFF \
+ -DDCMTK_ENABLE_STL=ON \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ # remove test binaries
+ rm "$pkgdir"/usr/bin/*_tests
+ rm "$pkgdir"/usr/bin/drttest
+ rm "$pkgdir"/usr/bin/mkreport
+ rm "$pkgdir"/usr/bin/msgserv
+ rm "$pkgdir"/usr/bin/wltest
+ rm "$pkgdir"/usr/share/dcmtk-$pkgver/SC.dump
+ rm "$pkgdir"/usr/share/dcmtk-$pkgver/VLP.dump
+
+ # remove changelog
+ rm -rf "$pkgdir"/usr/share/doc
+
+ # remove example modality worklist database and example queries
+ rm -rf "$pkgdir"/usr/share/dcmtk/wlistdb "$pkgdir"/usr/share/dcmtk/wlistqry
+}
+
+openrc() {
+ pkgdesc="$pkgdesc (OpenRC init scripts)"
+ install -Dm755 "$srcdir"/dcmtk.initd "$subpkgdir"/etc/init.d/dcmtk
+}
+
+libdcmtk() {
+ pkgdesc="OFFIS DICOM toolkit runtime libraries"
+ amove usr/lib
+ amove usr/share/dcmtk-$pkgver/*.dic
+}
+
+sha512sums="
+1bb2aad1aa63e0a1b79d92d7c932a969deccde03fdb484dbd44198effb58d50de44a2b0cda150ce7df63e4e986af5bc1f694c8a7988b4c049c578d83ba81184a dcmtk-3.6.8.tar.gz
+14f9faa64c04435345cb46511f5d4e1c17fc000df2ddca330d28961b92a16b06dd9b689d331583009ac2d34e307d28c5bcaec0704f70329328b4100fc9efd042 10-offile.patch
+70dd062b3e0b176c6a3627ea6b30383d7c21ea4088c2f76ece8123a6d625de482c05cf9ad4f76a290a5d3308616d0ba2fc34189c337f7c475aadb8ff1c9c101b 20-thai.patch
+1a487ec720d75945a6a62a8e6b5f5dc33a363af1f58595ac84fc910b76dadd458f1c6b599bdea6e45570630496ce8d7c5efc544252f6421d83c7370d83e9b8b1 30-dont_export_all_executables.patch
+37b7867b379456aed71f15609dd57be142984b0430605eba9771d2766817ac95e6526759b105686a76df28f09e49ee5e8907f46c38b4d7de947278b0faaf7568 40-dcmqrscp.patch
+dd8e24011178f3b5fa35150439aea2640a6f9da702da883a61e6eeb835223ee6967e4586f4e75b004e04da0f061c1edbf6d00a252480c64142a68b3213810aad dcmtk.initd
+"
diff --git a/testing/dcmtk/dcmtk.initd b/testing/dcmtk/dcmtk.initd
new file mode 100644
index 00000000000..8fd94746b7c
--- /dev/null
+++ b/testing/dcmtk/dcmtk.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+
+CONFIG=/etc/dcmtk/dcmqrscp.cfg
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting DCMTK central test node dcmqrscp"
+ start-stop-daemon --start --quiet --background \
+ --make-pidfile --pidfile "/var/run/${SVCNAME}.pid" \
+ --exec /usr/bin/dcmqrscp -- -c "${CONFIG}"
+ eend ${?}
+}
+
+stop() {
+ ebegin "Stopping DCMTK central test node dcmqrscp"
+ start-stop-daemon --stop --quiet --pidfile "/var/run/${SVCNAME}.pid"
+ eend ${?}
+}
diff --git a/testing/dcmtk/dcmtk.pre-install b/testing/dcmtk/dcmtk.pre-install
new file mode 100755
index 00000000000..c3f89f0fba3
--- /dev/null
+++ b/testing/dcmtk/dcmtk.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S dcmtk 2>/dev/null
+adduser -S -D -H -s /sbin/nologin -G dcmtk -g dcmtk dcmtk 2>/dev/null
+
+exit 0
diff --git a/testing/dcnnt/APKBUILD b/testing/dcnnt/APKBUILD
new file mode 100644
index 00000000000..f5c7766124d
--- /dev/null
+++ b/testing/dcnnt/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=dcnnt
+pkgver=0.10.0
+pkgrel=1
+pkgdesc="UI-less tool to connect Android phone with desktop"
+url="https://github.com/cyanomiko/dcnnt-py"
+arch="noarch"
+license="MIT"
+depends="py3-pycryptodome"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cyanomiko/dcnnt-py/archive/$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-py-$pkgver"
+options="!check" # No tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+
+ install -Dm644 doc/*.md -t "$pkgdir"/usr/share/doc/$pkgname
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+a675b027e7a60db2d80abb574db45233d968b29d0f4b3ad3c274fa8609cb1c544b31e3989be02601ab5b9292212374064c47f39d270949df115d73685c226611 dcnnt-0.10.0.tar.gz
+"
diff --git a/testing/ddcci-driver-linux-src/APKBUILD b/testing/ddcci-driver-linux-src/APKBUILD
new file mode 100644
index 00000000000..95ca6d437f3
--- /dev/null
+++ b/testing/ddcci-driver-linux-src/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Dekedro <dekedro@protonmail.com>
+pkgname=ddcci-driver-linux-src
+_modname=ddcci-driver-linux
+pkgver=0.4.4
+pkgrel=2
+pkgdesc="Linux kernel drivers for DDC/CI monitors (sources, AKMS)"
+url="https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="akms"
+options="!check" # no tests
+source="$_modname-$pkgver.tar.gz::https://gitlab.com/ddcci-driver-linux/ddcci-driver-linux/-/archive/v$pkgver/ddcci-driver-linux-v$pkgver.tar.gz"
+builddir="$srcdir/$_modname-v$pkgver"
+
+prepare() {
+ default_prepare
+
+ cat > AKMBUILD <<- EOF
+ modname=$_modname
+ modver=$pkgver-r$pkgrel
+ EOF
+ cat >> AKMBUILD <<- 'EOF'
+ built_modules='ddcci/ddcci.ko ddcci-backlight/ddcci-backlight.ko'
+
+ build() {
+ make ${MAKEFLAGS:-} -C "$kernel_srcdir" M="$builddir/ddcci" src="$srcdir/ddcci"
+ make ${MAKEFLAGS:-} -C "$kernel_srcdir" M="$builddir/ddcci-backlight" src="$srcdir/ddcci-backlight" KBUILD_EXTRA_SYMBOLS="$builddir/ddcci/Module.symvers"
+ }
+ EOF
+}
+
+package() {
+ install -D -m644 -t "$pkgdir/usr/src/$_modname-$pkgver" AKMBUILD
+ cp -a ddcci ddcci-backlight include "$pkgdir/usr/src/$_modname-$pkgver/"
+}
+
+sha512sums="
+f88ded47818c65c91d88ae16871304d8a72785d8ca5df56464258ccf32f2d52d8623bc88e8f05ed2f6b47fc23e64aa1ef3d430912e7535d94e959fa21e7235b2 ddcci-driver-linux-0.4.4.tar.gz
+"
diff --git a/testing/ddclient/APKBUILD b/testing/ddclient/APKBUILD
deleted file mode 100644
index 8522473d4c5..00000000000
--- a/testing/ddclient/APKBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ddclient
-pkgver=3.9.1
-pkgrel=1
-pkgdesc="Ddclient is a Perl client used to update dynamic DNS entries for accounts on 'Dynamic DNS Network Services' free DNS service."
-url="https://ddclient.net/"
-arch="noarch"
-license="GPL-2.0-only"
-depends="perl perl-io-socket-ssl perl-io-socket-inet6
-perl-digest-sha1 net-tools perl-data-validate-ip"
-pkgusers="$pkgname"
-pkggroups="$pkgname"
-options="!check" # no check provided
-install="$pkgname.pre-install"
-subpackages="$pkgname-openrc $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ddclient/ddclient/archive/v$pkgver.tar.gz
- $pkgname.initd
- pid-path.patch"
-builddir="$srcdir/$pkgname-$pkgver"
-
-build() {
- return 0
-}
-
-package() {
- install -d "$pkgdir"/var/cache/ddclient/
- chown -R $pkgusers:$pkggroups "$pkgdir"/var/cache/ddclient
-
- install -Dm755 ddclient "$pkgdir"/usr/bin/$pkgname
- install -Dm755 $srcdir/ddclient.initd "$pkgdir"/etc/init.d/$pkgname
-
- install -Dm600 sample-etc_ddclient.conf "$pkgdir"/etc/ddclient/ddclient.conf.sample
- chown $pkgusers:$pkggroups "$pkgdir"/etc/ddclient
-}
-
-doc() {
- default_doc
- pkgdesc="$pkgname documentation"
- cd "$builddir"
- install -Dm644 sample-etc_cron.d_ddclient \
- "$subpkgdir"/usr/share/doc/ddclient/sample-etc_cron.d_ddclient
- install -Dm644 sample-etc_dhclient-exit-hooks \
- "$subpkgdir"/usr/share/doc/ddclient/sample-etc_dhclient-exit-hooks
- install -Dm644 sample-etc_ppp_ip-up.local "$subpkgdir"/usr/share/doc/ddclient/sample-etc_ppp_ip-up.local
-}
-
-sha512sums="a8a4d6cb94e4239a7b7b4fc7d9ebef703cbd6c45fc3394b644694a053b5b8aa8d109410b5b8b3676a5f30b18474d24c7feb16c65c30b28bd7d941d8a214b1346 ddclient-3.9.1.tar.gz
-c5a4c4aef817692f73272a8aaf6edb10d3b16272577ef83c1f5db32b806933c410c7da0a7ce138655282a0671a8590879d6fe7c8f58f64c5cedfc1ed1cac710b ddclient.initd
-fc0137d0aead152be16081c6e64ba1e3e1786768020ac44a6baa36ee2f0f1b1d6b89116739b95091d7d0ebf02ab82b3e73491d975e46b7da31099f9481400253 pid-path.patch"
diff --git a/testing/ddclient/ddclient.initd b/testing/ddclient/ddclient.initd
deleted file mode 100755
index 38101137fb0..00000000000
--- a/testing/ddclient/ddclient.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-name="DDClient"
-pidfile="/run/ddclient/${RC_SVCNAME}.pid"
-
-command="/usr/bin/ddclient"
-command_args="-pid ${pidfile}"
-command_group="ddclient"
-command_user="ddclient"
-
-depend() {
- need net
- use dns logger
-}
-
-start_pre() {
- checkpath -f -m 0600 -o ${command_user}:${command_group} /etc/ddclient/ddclient.conf
- checkpath -d -m 0700 -o ${command_user}:${command_group} /run/ddclient
- checkpath -d -m 0700 -o ${command_user}:${command_group} /var/cache/ddclient
-}
diff --git a/testing/ddclient/ddclient.pre-install b/testing/ddclient/ddclient.pre-install
deleted file mode 100644
index 1e271194d64..00000000000
--- a/testing/ddclient/ddclient.pre-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-addgroup -S ddclient 2>/dev/null
-adduser -S -D -h /var/lib/ddclient -G ddclient -g ddclient ddclient 2>/dev/null
-exit 0
diff --git a/testing/ddclient/pid-path.patch b/testing/ddclient/pid-path.patch
deleted file mode 100644
index 1b59d3d512d..00000000000
--- a/testing/ddclient/pid-path.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/sample-etc_ddclient.conf b/sample-etc_ddclient.conf
-index da2619f..910b99c 100644
---- a/sample-etc_ddclient.conf
-+++ b/sample-etc_ddclient.conf
-@@ -20,7 +20,7 @@ daemon=300 # check every 300 seconds
- syslog=yes # log update msgs to syslog
- mail=root # mail all msgs to root
- mail-failure=root # mail failed update msgs to root
--pid=/var/run/ddclient.pid # record PID in file.
-+pid=/run/ddclient/ddclient.pid # record PID in file.
- ssl=yes # use ssl-support. Works with
- # ssl-library
- # postscript=script # run script after updating. The
diff --git a/testing/ddcutil/APKBUILD b/testing/ddcutil/APKBUILD
deleted file mode 100644
index 8d97d373f03..00000000000
--- a/testing/ddcutil/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Alex Laskin <alex@lask.in>
-# Maintainer: Alex Laskin <alex@lask.in>
-pkgname=ddcutil
-pkgver=1.1.0
-pkgrel=0
-pkgdesc="Query and change Linux monitor settings using DDC/CI and USB"
-url="https://github.com/rockowitz/ddcutil"
-arch="all"
-license="GPL-2.0-only"
-makedepends="linux-headers autoconf automake libtool eudev-dev libusb-dev
- libxrandr-dev glib-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/rockowitz/ddcutil/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-a6c07e12689a01fc716f071d87b42f680967390cb49f02501985f8362dd25176ac50cf4cf4a65e9a430d2088fab83cad19093c9078ae7d19b45fedc12f529607 ddcutil-1.1.0.tar.gz
-"
diff --git a/testing/ddgr/APKBUILD b/testing/ddgr/APKBUILD
index e233f66085d..01a2d723bf8 100644
--- a/testing/ddgr/APKBUILD
+++ b/testing/ddgr/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: dai9ah <dai9ah@protonmail.com>
# Maintainer: dai9ah <dai9ah@protonmail.com>
pkgname=ddgr
-pkgver=1.9
-pkgrel=1
+pkgver=2.2
+pkgrel=0
pkgdesc="DuckDuckGo from the terminal"
url="https://github.com/jarun/ddgr"
arch="noarch"
@@ -22,10 +22,11 @@ package() {
install -Dm644 "$builddir"/auto-completion/bash/* \
-t "$pkgdir"/usr/share/bash-completion/completions/
install -Dm644 "$builddir"/auto-completion/fish/* \
- -t "$pkgdir"/usr/share/fish/completions/
+ -t "$pkgdir"/usr/share/fish/vendor_completions.d/
install -Dm644 "$builddir"/auto-completion/zsh/* \
-t "$pkgdir"/usr/share/zsh/site-functions/
-
}
-sha512sums="25fb995d32cf19ed1d4493ec463f60db39f4728ffe052dabccb49b721e65250e444bb4cc54f5f41dd1d6365d4e8bd1139277c44a9bd1d39394dec998ccb93b7c ddgr-1.9.tar.gz"
+sha512sums="
+a61860fe0866b76f89b263bd9d3b3a2b3be52ed6af4885ec9dd076ae192fcdf9e412d9516cb9c3405792ee3d98745b70e059fd41cfb61d835241153d4b63db0e ddgr-2.2.tar.gz
+"
diff --git a/testing/ddnrs/APKBUILD b/testing/ddnrs/APKBUILD
new file mode 100644
index 00000000000..477ad596d7d
--- /dev/null
+++ b/testing/ddnrs/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=ddnrs
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="A simple tool to update dns records to match your current IP"
+url="https://codeberg.org/Kladky/ddnrs"
+arch="all"
+license="AGPL-3.0-only"
+makedepends="
+ make
+ cargo
+ cargo-auditable
+ openssl-dev
+ "
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/Kladky/ddnrs/archive/$pkgver.tar.gz"
+options="!check" # no tests
+builddir="$srcdir/$pkgname"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ CARGO="cargo auditable" make build-frozen
+}
+
+package() {
+ DESTDIR="$pkgdir" make install
+ DESTDIR="$pkgdir" make install-openrc
+}
+
+sha512sums="
+e979b5fb2643cf297e82120f0dc297651f38ee24b0dfbbcbf0b0dcab5939b13dab234ced152f753d8b610425e25dc853ac9476b6597fab3c3d1d5d7b34f480c9 ddnrs-0.2.0.tar.gz
+"
diff --git a/testing/ddnrs/ddnrs.pre-install b/testing/ddnrs/ddnrs.pre-install
new file mode 100644
index 00000000000..265643e1be6
--- /dev/null
+++ b/testing/ddnrs/ddnrs.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S ddnrs 2>/dev/null
+adduser -S -D -s /sbin/nologin -H -G ddnrs -g ddnrs ddnrs 2>/dev/null
+
+exit 0
diff --git a/testing/ddserver/APKBUILD b/testing/ddserver/APKBUILD
index 6bbe06a0a1b..3667f674f8b 100644
--- a/testing/ddserver/APKBUILD
+++ b/testing/ddserver/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: dkrefft <dkrefft@posteo.de>
pkgname=ddserver
pkgver=0_git20200930
-pkgrel=0
+pkgrel=1
_commit="02b23b2cf451b2780a551861ef1eaaa10ca710ed"
pkgdesc="server to forward PTP USB messages between qDslrDashboard and USB camera"
url="https://github.com/hubaiz/DslrDashboardServer"
diff --git a/testing/deadbeef-soxr/APKBUILD b/testing/deadbeef-soxr/APKBUILD
index f4ded0eeea8..099c4f8cf70 100644
--- a/testing/deadbeef-soxr/APKBUILD
+++ b/testing/deadbeef-soxr/APKBUILD
@@ -5,7 +5,8 @@ pkgver=20180801 # No version information. Use last commit date.
pkgrel=0
pkgdesc="Sox resampler plugin for deadbeef audio player."
url="https://github.com/silentlexx/deadbeef_soxr"
-arch="all"
+# blocked by deadbeef -> libdispatch-dev
+arch="all !s390x !armhf !riscv64"
license="GPL-2.0-or-later"
depends="deadbeef"
makedepends="
diff --git a/testing/debconf/APKBUILD b/testing/debconf/APKBUILD
index 3b49882a8a1..1abc890fc44 100644
--- a/testing/debconf/APKBUILD
+++ b/testing/debconf/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=debconf
-pkgver=1.5.74
+pkgver=1.5.82
pkgrel=0
pkgdesc="A configuration management system for Debian packages."
url="https://packages.debian.org/debconf"
@@ -42,5 +42,7 @@ utils() {
make PREFIX=/usr DESTDIR="$subpkgdir" install-utils
}
-sha512sums="421577c9fb0dae1c851c6676e7b0b3e59e5800d1ab01a9817e4506ee2f7cb812065e1a64b194b1192023951f1f0cabf0359e4dae4320b9cf0705865085cdc5cd debconf_1.5.74.tar.xz
-17094b77ccf7922daf28dbf2eba84a322ac8ca265a41403b963d97ea4c1c16d8e530bcb3414f9b1bca88cbc5f726d2401376ee20674547d7b528c52d8f496f8c fix-makefile_destdir.patch"
+sha512sums="
+5a9b26d90cf02e6f5b267e6e6416e91ac31115b124b05b4edd2dd785eea92a6d9c060f591dad6645784ff956a07555cb1bf11a35f4712d5bc308c4b6726da88a debconf_1.5.82.tar.xz
+df98c6d92675240691c2b68e36aa5c511887a21bef3a619c074b2c1814c228a39c488a9de03789c77cf67b1abd74521224451b4c2fe49331cd038986c006e74b fix-makefile_destdir.patch
+"
diff --git a/testing/debconf/fix-makefile_destdir.patch b/testing/debconf/fix-makefile_destdir.patch
index 7093e293502..24553f8252e 100644
--- a/testing/debconf/fix-makefile_destdir.patch
+++ b/testing/debconf/fix-makefile_destdir.patch
@@ -68,10 +68,10 @@
# Other libs and helper stuff.
- install -m 0644 confmodule.sh confmodule $(prefix)/usr/share/debconf/
- install frontend $(prefix)/usr/share/debconf/
-- install -m 0755 transition_db.pl fix_db.pl $(prefix)/usr/share/debconf/
+- install -m 0755 fix_db.pl $(prefix)/usr/share/debconf/
+ install -m 0644 confmodule.sh confmodule $(DESTDIR)$(PREFIX)/share/debconf/
+ install frontend $(DESTDIR)$(PREFIX)/share/debconf/
-+ install -m 0755 transition_db.pl fix_db.pl $(DESTDIR)$(PREFIX)/share/debconf/
++ install -m 0755 fix_db.pl $(DESTDIR)$(PREFIX)/share/debconf/
# Install essential programs.
- install -d $(prefix)/usr/sbin $(prefix)/usr/bin
+ install -d $(DESTDIR)$(PREFIX)/sbin $(DESTDIR)$(PREFIX)/bin
diff --git a/testing/deblob/APKBUILD b/testing/deblob/APKBUILD
new file mode 100644
index 00000000000..d7fc9505aa4
--- /dev/null
+++ b/testing/deblob/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=deblob
+pkgver=0.7
+pkgrel=0
+pkgdesc="Remove binary executables (blobs) from a directory"
+url="https://hacktivis.me/projects/deblob"
+arch="aarch64 riscv64 x86_64" # hare
+license="BSD-3-Clause"
+makedepends="hare"
+subpackages="$pkgname-doc"
+source="
+ deblob-$pkgver.tar.gz::https://git.sr.ht/~lanodan/deblob/archive/$pkgver.tar.gz
+ "
+
+build() {
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+92fe9d9a4fc7c3a33f53e9f414005da6820b00dbc835a31560cc0fde28e9ecf75b53b23cecbbf93c287052da1ca7166d46233546fd69b7bd7760f10d15487509 deblob-0.7.tar.gz
+"
diff --git a/testing/dehydrated/APKBUILD b/testing/dehydrated/APKBUILD
index 3efb5afd447..049edb4801e 100644
--- a/testing/dehydrated/APKBUILD
+++ b/testing/dehydrated/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: guddaff <guddaff@protonmail.com>
# Maintainer: guddaff <guddaff@protonmail.com>
pkgname=dehydrated
-pkgver=0.7.0
+pkgver=0.7.1
pkgrel=0
pkgdesc="shellscript letsencrypt/acme client"
options="!check" #there are no checks
@@ -16,4 +16,6 @@ package() {
install -Dm644 docs/examples/domains.txt "$pkgdir"/etc/dehydrated/domains.txt
}
-sha512sums="47740d2d31ca73482a4fc5ed0dfce986af907dd5449cb3a5230bf9683845686c8122fc32e6219a4439574ef11d6fb104ee09591c5ff667927a2c9c13ba005511 dehydrated-0.7.0.tar.gz"
+sha512sums="
+1d584c3876cdc1ef213b2feb02e15d2b47ef2b6504e8a837ad45d9d14929a82de28bee7395a75659721ae18bd8f26f4f2759ad8eaef66c671c7085c9859f6555 dehydrated-0.7.1.tar.gz
+"
diff --git a/testing/delfin/APKBUILD b/testing/delfin/APKBUILD
new file mode 100644
index 00000000000..cc96f9fcf7f
--- /dev/null
+++ b/testing/delfin/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: fossdd <fossdd@pwned.life>
+# Maintainer: fossdd <fossdd@pwned.life>
+pkgname=delfin
+pkgver=0.4.3
+pkgrel=0
+pkgdesc="Stream movies and TV shows from Jellyfin"
+url="https://delfin.avery.cafe/"
+arch="all !x86" # x86: fails to build
+license="GPL-3.0-only"
+depends="
+ gtk4.0
+ libadwaita
+ mpv
+ "
+makedepends="
+ cargo
+ cargo-auditable
+ clang
+ desktop-file-utils
+ gtk4.0-dev
+ libadwaita-dev
+ meson
+ mpv-dev
+ "
+source="delfin-$pkgver.tar.gz::https://codeberg.org/avery42/delfin/archive/v$pkgver.tar.gz
+ cargo-auditable.patch
+ "
+builddir="$srcdir/$pkgname"
+
+prepare() {
+ default_prepare
+ cargo fetch --locked
+}
+
+build() {
+ abuild-meson . output -Dprofile=release
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild -C output
+}
+
+package() {
+ cd "$builddir/output"
+ meson install --no-rebuild --destdir "$pkgdir"
+}
+
+sha512sums="
+e4f3eeb16c8c4e88b6899290764ad4cc59ba0729caef45a788ce02a3ac57319f0c3a16400438bfd2dd604c610aec68b7ef9eb97afc8d934dd14eb0d10d4071c5 delfin-0.4.3.tar.gz
+2b3f51bf47e847a959545844c37921c612b4b91387f94ad6b1a146be2ce81615274ea6f245eb6b08f21c2d506a7af1f4bfd358feddeacf3623b08e087292fe63 cargo-auditable.patch
+"
diff --git a/testing/delfin/cargo-auditable.patch b/testing/delfin/cargo-auditable.patch
new file mode 100644
index 00000000000..a1be67c6b5e
--- /dev/null
+++ b/testing/delfin/cargo-auditable.patch
@@ -0,0 +1,24 @@
+diff --git a/delfin/meson.build b/delfin/meson.build
+index 61283cd..0af6cd9 100644
+--- a/delfin/meson.build
++++ b/delfin/meson.build
+@@ -17,6 +17,7 @@ run_command(
+ )
+
+ cargo = find_program('cargo', required: true)
++cargo_auditable = find_program('cargo-auditable', required: true)
+
+-cargo_options = ['--target-dir', meson.project_build_root() / 'delfin']
++cargo_options = ['--target-dir', meson.project_build_root() / 'delfin', '--frozen']
+ rust_target = 'debug'
+
+ if get_option('profile') == 'release'
+@@ -33,7 +33,7 @@ custom_target(
+ output: meson.project_name(),
+ console: true,
+ command: [
+- cargo, 'build', cargo_options,
++ cargo, 'auditable', 'build', cargo_options,
+ '&&', 'cp', 'delfin' / rust_target / meson.project_name(), '@OUTPUT@',
+ ],
+ install: true,
diff --git a/testing/delve/APKBUILD b/testing/delve/APKBUILD
deleted file mode 100644
index 0a45a18c0f4..00000000000
--- a/testing/delve/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=delve
-pkgver=1.8.0
-pkgrel=0
-pkgdesc="Debugger for the Go programming language"
-url="https://github.com/go-delve/delve"
-arch="x86 x86_64 aarch64"
-license="MIT"
-makedepends="go"
-options="net chmod-clean"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/go-delve/delve/archive/refs/tags/v$pkgver.tar.gz"
-
-export GOPATH="$srcdir"
-
-build() {
- mkdir bin
- go build -trimpath -o bin ./cmd/dlv/...
-}
-
-check() {
- # TestGeneratedDoc and TestBuild require a proper $GOPATH setup.
- go test -run '!(^(TestGeneratedDoc|TestBuild)$)' ./cmd/dlv/...
-}
-
-package() {
- install -Dm755 bin/* -t "$pkgdir"/usr/bin/
-
- # Install additional documentation files.
- mkdir -p "$pkgdir"/usr/share/doc/$pkgname
- cp -r Documentation/* "$pkgdir"/usr/share/doc/$pkgname
-}
-
-sha512sums="
-bda883bf27c5bf0c1d1bbbd58fe81757abd1beaead69906c48c2b67d2ab7ab8e202238e09f2d59a0afb2455753ad40536156d59e28657563780b7b15f121dc5a delve-1.8.0.tar.gz
-"
diff --git a/testing/desed/APKBUILD b/testing/desed/APKBUILD
new file mode 100644
index 00000000000..bbca5fd5f05
--- /dev/null
+++ b/testing/desed/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=desed
+pkgver=1.2.1
+pkgrel=1
+pkgdesc="Demystify and debug your sed scripts, from comfort of your terminal"
+url="https://github.com/SoptikHa2/desed"
+# riscv64: rust broken
+arch="all !riscv64"
+license="GPL-3.0-or-later"
+depends="sed" # needs GNU sed
+makedepends="cargo cargo-auditable"
+subpackages="$pkgname-doc"
+source="https://github.com/SoptikHa2/desed/archive/v$pkgver/desed-$pkgver.tar.gz
+ Cargo.lock
+ "
+
+
+prepare() {
+ default_prepare
+
+ mv "$srcdir"/Cargo.lock .
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -D -m755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+ install -D -m644 $pkgname.1 -t "$pkgdir"/usr/share/man/man1/
+}
+
+sha512sums="
+19849bc5f4c6513ce062a78a7c59b1f7ba6b53c6c9fc18150dbf367b2fa29443044afc683a3bb9289d5dc9a2f0e57b7cc497296d8532e53fbdc6f54ec84e0add desed-1.2.1.tar.gz
+86fbd9a43e7a82edebd949c1bc9157fed5df982334f920bcf11f202471bbafb9ae49ba14162f3553e382f46164151d988516a417ea46d00eb00afffc9dd31be4 Cargo.lock
+"
diff --git a/testing/desed/Cargo.lock b/testing/desed/Cargo.lock
new file mode 100644
index 00000000000..3f851eea59c
--- /dev/null
+++ b/testing/desed/Cargo.lock
@@ -0,0 +1,473 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "anyhow"
+version = "1.0.66"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "cassowary"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "3.2.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "71655c45cb9845d3270c9d6df84ebe72b4dad3c2ba3f7023ad47c144e4e473a5"
+dependencies = [
+ "atty",
+ "bitflags",
+ "clap_lex",
+ "indexmap",
+ "once_cell",
+ "strsim",
+ "termcolor",
+ "textwrap",
+]
+
+[[package]]
+name = "clap_lex"
+version = "0.2.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
+dependencies = [
+ "os_str_bytes",
+]
+
+[[package]]
+name = "crossterm"
+version = "0.25.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
+dependencies = [
+ "bitflags",
+ "crossterm_winapi",
+ "libc",
+ "mio",
+ "parking_lot",
+ "signal-hook",
+ "signal-hook-mio",
+ "winapi",
+]
+
+[[package]]
+name = "crossterm_winapi"
+version = "0.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2ae1b35a484aa10e07fe0638d02301c5ad24de82d310ccbd2f3693da5f09bf1c"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "desed"
+version = "1.2.1"
+dependencies = [
+ "anyhow",
+ "cfg-if",
+ "clap",
+ "crossterm",
+ "inotify",
+ "kqueue",
+ "tui",
+]
+
+[[package]]
+name = "futures-core"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+
+[[package]]
+name = "hashbrown"
+version = "0.12.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "indexmap"
+version = "1.9.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10a35a97730320ffe8e2d410b5d3b69279b98d2c14bdb8b70ea89ecf7888d41e"
+dependencies = [
+ "autocfg",
+ "hashbrown",
+]
+
+[[package]]
+name = "inotify"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abf888f9575c290197b2c948dc9e9ff10bd1a39ad1ea8585f734585fa6b9d3f9"
+dependencies = [
+ "bitflags",
+ "futures-core",
+ "inotify-sys",
+ "libc",
+ "tokio",
+]
+
+[[package]]
+name = "inotify-sys"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e05c02b5e89bff3b946cedeca278abc628fe811e604f027c45a8aa3cf793d0eb"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "kqueue"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c8fc60ba15bf51257aa9807a48a61013db043fcf3a78cb0d916e8e396dcad98"
+dependencies = [
+ "kqueue-sys",
+ "libc",
+]
+
+[[package]]
+name = "kqueue-sys"
+version = "1.0.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8367585489f01bc55dd27404dcf56b95e6da061a256a666ab23be9ba96a2e587"
+dependencies = [
+ "bitflags",
+ "libc",
+]
+
+[[package]]
+name = "libc"
+version = "0.2.137"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fc7fcc620a3bff7cdd7a365be3376c97191aeaccc2a603e600951e452615bf89"
+
+[[package]]
+name = "lock_api"
+version = "0.4.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+dependencies = [
+ "autocfg",
+ "scopeguard",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "mio"
+version = "0.8.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
+dependencies = [
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
+
+[[package]]
+name = "os_str_bytes"
+version = "6.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff"
+
+[[package]]
+name = "parking_lot"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
+dependencies = [
+ "lock_api",
+ "parking_lot_core",
+]
+
+[[package]]
+name = "parking_lot_core"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dc9e0dc2adc1c69d09143aff38d3d30c5c3f0df0dad82e6d25547af174ebec0"
+dependencies = [
+ "cfg-if",
+ "libc",
+ "redox_syscall",
+ "smallvec",
+ "windows-sys",
+]
+
+[[package]]
+name = "pin-project-lite"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "redox_syscall"
+version = "0.2.16"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+dependencies = [
+ "bitflags",
+]
+
+[[package]]
+name = "scopeguard"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+[[package]]
+name = "signal-hook"
+version = "0.3.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a253b5e89e2698464fc26b545c9edceb338e18a89effeeecfea192c3025be29d"
+dependencies = [
+ "libc",
+ "signal-hook-registry",
+]
+
+[[package]]
+name = "signal-hook-mio"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
+dependencies = [
+ "libc",
+ "mio",
+ "signal-hook",
+]
+
+[[package]]
+name = "signal-hook-registry"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "smallvec"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+[[package]]
+name = "socket2"
+version = "0.4.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+dependencies = [
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "strsim"
+version = "0.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623"
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.16.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "222a222a5bfe1bba4a77b45ec488a741b3cb8872e5e499451fd7d0129c9c7c3d"
+
+[[package]]
+name = "tokio"
+version = "1.21.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a9e03c497dc955702ba729190dc4aac6f2a0ce97f913e5b1b5912fc5039d9099"
+dependencies = [
+ "autocfg",
+ "libc",
+ "mio",
+ "pin-project-lite",
+ "socket2",
+ "winapi",
+]
+
+[[package]]
+name = "tui"
+version = "0.19.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ccdd26cbd674007e649a272da4475fb666d3aa0ad0531da7136db6fab0e5bad1"
+dependencies = [
+ "bitflags",
+ "cassowary",
+ "crossterm",
+ "unicode-segmentation",
+ "unicode-width",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
diff --git a/testing/desync/APKBUILD b/testing/desync/APKBUILD
new file mode 100644
index 00000000000..9fe94f29e57
--- /dev/null
+++ b/testing/desync/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Damian Kurek <starfire24680@gmail.com>
+# Maintainer: Damian Kurek <starfire24680@gmail.com>
+pkgname=desync
+pkgver=0.9.5
+pkgrel=5
+pkgdesc="Alternative casync implementation"
+url="https://github.com/folbricht/desync"
+arch="all"
+license="BSD-3-Clause"
+makedepends="go"
+depends="fuse"
+source="$pkgname-$pkgver.tar.gz::https://github.com/folbricht/desync/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
+ mkdir build
+ go build -o build ./cmd/desync
+}
+
+check() {
+ # this test requires the fuse module to be loaded
+ if ! grep -Fxq "^fuse " /proc/modules; then
+ rm -rf mount-index_linux_test.go
+ fi
+ go test ./...
+}
+
+package() {
+ install -Dm755 ./build/desync -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+650b397e218d852ceb8e0df5ebc2c8177f607f6e52017d075e746c358e0a1d110cfb0e893760eb86fdf72f428ea12a1cd5cc3843e6569e1f078a139e08d07543 desync-0.9.5.tar.gz
+"
diff --git a/testing/detox/APKBUILD b/testing/detox/APKBUILD
index 103ccaddb2e..7f5edd75192 100644
--- a/testing/detox/APKBUILD
+++ b/testing/detox/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: z3bra <willy at mailoo dot org>
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=detox
-pkgver=1.4.5
+pkgver=2.0.0
pkgrel=0
pkgdesc="Utility for cleaning up filenames"
url="https://github.com/dharple/detox"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
-f91ae893cf50a3f9d731a26218625f572c783406056c0accbd8253d6dc5de9013ffbe1497120af7be4b7054d65ebbe96b73df64a5d1cc3aaec40e6542e5c6208 detox-1.4.5.tar.gz
+a52e0f66caedce03d442dfe1f4b2f1db991c20dbc22b975c106266f1b5edcf653b22b166bbcae908c549371296c732898655002b3b95929fab5f4c03a526118f detox-2.0.0.tar.gz
"
diff --git a/testing/deutex/APKBUILD b/testing/deutex/APKBUILD
index 478fa9bebe8..8d73f52aa92 100644
--- a/testing/deutex/APKBUILD
+++ b/testing/deutex/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Antoine Fontaine <antoine.fontaine@epfl.ch>
-# Maintainer: Antoine Fontaine <antoine.fontaine@epfl.ch>
+# Maintainer:
pkgname=deutex
pkgver=5.2.2
-pkgrel=0
+pkgrel=1
pkgdesc="WAD composer for Doom, Heretic, Hexen, and Strife"
url="https://github.com/Doom-Utils/deutex"
arch="all"
diff --git a/testing/devil/APKBUILD b/testing/devil/APKBUILD
new file mode 100644
index 00000000000..4bf660656b1
--- /dev/null
+++ b/testing/devil/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=devil
+pkgver=1.8.0
+pkgrel=0
+pkgdesc="A full featured cross-platform image library"
+arch="all"
+url="https://openil.sourceforge.net/"
+license="LGPL-2.1-only"
+makedepends="$depends_dev
+ cmake
+ jasper-dev
+ lcms2-dev
+ libjpeg-turbo-dev
+ libpng-dev
+ samurai
+ "
+source="
+ https://downloads.sourceforge.net/openil/DevIL-$pkgver.tar.gz
+
+ fix_mismatching_signatures.patch
+ "
+subpackages="$pkgname-dev"
+builddir="$srcdir/DevIL/DevIL"
+options="!check" # no unit tests provided
+
+build() {
+ # "register" storage class specifier is no longer allowed in modern C++
+ # standards. Until upstream removes the qualifier, we can just ignore the
+ # warning.
+ export CXXFLAGS="$CXXFLAGS -Wno-register"
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+103fa51f4094af0fe988bf9520e1b9178900f980b72226e64ede60b6b0938a646c670a37372214edb557e492947cd5af5012a3ac906734a5ea83e072f81db583 DevIL-1.8.0.tar.gz
+779ab33b29c792aa737a858e85b6ece26e9b88818ba734ac7eee9655c447f0f32ec5fe6e520db712e903fc2c945b933a173b149759cd764dcb4af3fcf94dc6c0 fix_mismatching_signatures.patch
+"
diff --git a/testing/devil/fix_mismatching_signatures.patch b/testing/devil/fix_mismatching_signatures.patch
new file mode 100644
index 00000000000..e5136b61c13
--- /dev/null
+++ b/testing/devil/fix_mismatching_signatures.patch
@@ -0,0 +1,21 @@
+This fixes mismatching function signatures when using function pointers to
+iJp2_file_read and iJp2_file_write in jas_stream_opts_t.
+
+--- a/src-IL/src/il_jp2.cpp
++++ b/src-IL/src/il_jp2.cpp
+@@ -314,13 +314,13 @@
+
+
+
+-static int iJp2_file_read(jas_stream_obj_t *obj, char *buf, int cnt)
++static ssize_t iJp2_file_read(jas_stream_obj_t *obj, char *buf, size_t cnt)
+ {
+ obj;
+ return iread(buf, 1, cnt);
+ }
+
+-static int iJp2_file_write(jas_stream_obj_t *obj, char *buf, int cnt)
++static ssize_t iJp2_file_write(jas_stream_obj_t *obj, const char *buf, size_t cnt)
+ {
+ obj;
+ return iwrite(buf, 1, cnt);
diff --git a/testing/dex/APKBUILD b/testing/dex/APKBUILD
new file mode 100644
index 00000000000..e777d8d35b0
--- /dev/null
+++ b/testing/dex/APKBUILD
@@ -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
+"
diff --git a/testing/dfl-applications/APKBUILD b/testing/dfl-applications/APKBUILD
new file mode 100644
index 00000000000..ca99143c69c
--- /dev/null
+++ b/testing/dfl-applications/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=dfl-applications
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Thin wrapper around QApplication, QGuiApplication and QCoreApplication"
+url="https://gitlab.com/desktop-frameworks/applications/"
+arch="all"
+license="GPL-3.0-only"
+makedepends="qt5-qtbase-dev meson dfl-ipc-dev"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/desktop-frameworks/applications/-/archive/v$pkgver/applications-v$pkgver.tar.gz"
+builddir="$srcdir/applications-v$pkgver"
+options="!check" # no test suite
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+3265053d39c90ffa2a35b430bedb22c0c8ea11068146eb87dac021554757475ac7c9085e67c892f6e128e36f6ffc34de082e72e178e8e99ae6d65ecb73632cbe dfl-applications-0.2.0.tar.gz
+"
diff --git a/testing/dfl-ipc/APKBUILD b/testing/dfl-ipc/APKBUILD
new file mode 100644
index 00000000000..36e4ac4790d
--- /dev/null
+++ b/testing/dfl-ipc/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=dfl-ipc
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Very simple set of IPC classes for inter-process communication"
+url="https://gitlab.com/desktop-frameworks/ipc"
+arch="all"
+license="GPL-3.0-only"
+makedepends="qt5-qtbase-dev meson"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/desktop-frameworks/ipc/-/archive/v$pkgver/ipc-v$pkgver.tar.gz"
+builddir="$srcdir/ipc-v$pkgver"
+options="!check" # no test suite
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+bb143bf336aa400bea6187b230eda82a9f42c15d881a43c6af87af7d2d340f96eb0e2b1a8941bc7200d0721d1978acf5a42bee42b137472a17a89c3c8d149bd3 dfl-ipc-0.2.0.tar.gz
+"
diff --git a/testing/dfl-login1/APKBUILD b/testing/dfl-login1/APKBUILD
new file mode 100644
index 00000000000..f36e63c8e82
--- /dev/null
+++ b/testing/dfl-login1/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=dfl-login1
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Implementation of systemd/elogind for DFL"
+url="https://gitlab.com/desktop-frameworks/login1"
+arch="all"
+license="GPL-3.0-only"
+makedepends="qt5-qtbase-dev meson"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/desktop-frameworks/login1/-/archive/v$pkgver/login1-v$pkgver.tar.gz"
+builddir="$srcdir/login1-v$pkgver"
+options="!check" # no test suite
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+c95717a5c731d894a1d21c14c305f14cfaf026ed8ad752de5a68fbef814244c1db9b3d9c3dee858d44018b4c433dc1dc99c8e9ed7abdbc5ca55b14c697bbbe74 dfl-login1-0.2.0.tar.gz
+"
diff --git a/testing/dfl-sni/APKBUILD b/testing/dfl-sni/APKBUILD
new file mode 100644
index 00000000000..a791fa7a42e
--- /dev/null
+++ b/testing/dfl-sni/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=dfl-sni
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Implementation of the XDG Status Notification Specifications"
+url="https://gitlab.com/desktop-frameworks/status-notifier/"
+arch="all"
+license="GPL-3.0-only"
+makedepends="qt5-qtbase-dev meson"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/desktop-frameworks/status-notifier/-/archive/v$pkgver/status-notifier-v$pkgver.tar.gz"
+builddir="$srcdir/status-notifier-v$pkgver"
+options="!check" # no test suite
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+a513eba3402094287b54636c0af5a9eea0fb26440923ca0b0ba28ceeec5a56f8336b1611cc65fe4b61c796b44d2abdc16e71dc726ecd4c69d52864da50dc6fda dfl-sni-0.2.0.tar.gz
+"
diff --git a/testing/dfu-programmer/APKBUILD b/testing/dfu-programmer/APKBUILD
new file mode 100644
index 00000000000..82eac810451
--- /dev/null
+++ b/testing/dfu-programmer/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Peter Shkenev <santurysim@gmail.com>
+# Maintainer: Peter Shkenev <santurysim@gmail.com>
+pkgname=dfu-programmer
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Command-line programmer for Atmel USB microcontrollers"
+url="https://dfu-programmer.github.io/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ bash
+ libusb-dev
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ "
+source="
+ https://github.com/dfu-programmer/dfu-programmer/releases/download/v$pkgver/dfu-programmer-$pkgver.tar.gz
+ "
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm644 dfu_completion "$pkgdir"/usr/share/bash-completion/completions/dfu-programmer
+}
+
+sha512sums="
+76946be7c20522e6da512016b09b19a144ec6af70f1b01d697b12efb99cd3177233fe6778c4a4efe0d287b095c8e99a616ba013bf08843601c940bbea4283639 dfu-programmer-1.1.0.tar.gz
+"
diff --git a/testing/dfu-util/APKBUILD b/testing/dfu-util/APKBUILD
index 31b60282946..3270781b3e1 100644
--- a/testing/dfu-util/APKBUILD
+++ b/testing/dfu-util/APKBUILD
@@ -1,14 +1,14 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=dfu-util
pkgver=0.11
-pkgrel=0
+pkgrel=1
pkgdesc="Host side implementation of the DFU 1.0 and DFU 1.1 specifications"
-url="http://dfu-util.sourceforge.net/"
+url="https://dfu-util.sourceforge.net/"
arch="all"
license="GPL-2.0-only"
makedepends="libusb-dev"
subpackages="$pkgname-doc"
-source="http://dfu-util.sourceforge.net/releases/dfu-util-$pkgver.tar.gz"
+source="https://dfu-util.sourceforge.net/releases/dfu-util-$pkgver.tar.gz"
build() {
./configure --prefix=/usr
diff --git a/testing/dhewm3/APKBUILD b/testing/dhewm3/APKBUILD
index 089eb9ab3d6..1fb4031621f 100644
--- a/testing/dhewm3/APKBUILD
+++ b/testing/dhewm3/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=dhewm3
-pkgver=1.5.1
+pkgver=1.5.2
pkgrel=0
pkgdesc="Doom 3 engine with native 64-bit support, SDL, and OpenAL"
url="https://dhewm3.org/"
-arch="x86_64 x86" # disabled for the other architectures due to compiling problems
+arch="all !riscv64"
license="GPL-3.0-only"
depends="curl libogg libpng libvorbis"
-makedepends="cmake libjpeg-turbo-dev libogg-dev libpng-dev libvorbis-dev make
+makedepends="cmake libjpeg-turbo-dev libogg-dev libpng-dev libvorbis-dev
openal-soft-dev sdl2-dev zlib-dev"
options="!check" # make check not implemented
source="$pkgname-$pkgver.tar.gz::https://github.com/dhewm/dhewm3/archive/$pkgver.tar.gz
@@ -37,6 +37,8 @@ package() {
install -Dm644 "$srcdir"/dhewm3.png "$pkgdir/usr/share/pixmaps/dhewm3.png"
}
-sha512sums="b485cadea173e8cf36c04b01ccc8e2e1ab1354b174fd11c967e7e361b084bd96fd781494b7c416097d39ea2e15e69ad948c6600f16f711526a17c9546243a0fa dhewm3-1.5.1.tar.gz
+sha512sums="
+37aa177b6366e37e836a3fe1da5d7dd0869a8d3788a9a70b928355a161034c8b8b6b66b91f7383cdc0bd9c78cbf8fde1129c6ad6405a244069368fbf230e0137 dhewm3-1.5.2.tar.gz
377d34c4d9ab21b09a501431e1bf8d123d3655a47499a7664db85168e2f85b73c8792bc958026593299eac57449f813b10047beb302784cc53d096e1cc37efbd dhewm3.desktop
-13f7a50d1f57d35bf582c3d99ff4dea4b18e60827f62aa640b7b43d419a3f4f478b45311d2abacfd2aa2f033c59f5c6253aa4916fc234b41eb6cc70d5eeac17c dhewm3.png"
+11957d10fd685c5b7967c6baf7e6c75e6995f76a028fa0dba75c4d596e84acb4f9ab863c0ae0b4e164483ef089111f4b3eb31fd5c770f0e77048112210b60b97 dhewm3.png
+"
diff --git a/testing/dhewm3/dhewm3.png b/testing/dhewm3/dhewm3.png
index 69ac661a806..1eeb1704958 100644
--- a/testing/dhewm3/dhewm3.png
+++ b/testing/dhewm3/dhewm3.png
Binary files differ
diff --git a/testing/dhex/APKBUILD b/testing/dhex/APKBUILD
deleted file mode 100755
index 09ca23d897c..00000000000
--- a/testing/dhex/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Alex Yam <alex@alexyam.com>
-# Maintainer: Alex Yam <alex@alexyam.com>
-pkgname=dhex
-pkgver=0.69
-pkgrel=0
-pkgdesc="ncurses hex editor with diff mode for binary file comparison, supports custom themes"
-url="http://www.dettus.net/dhex/"
-arch="all"
-license="GPL-2.0-or-later"
-depends="ncurses-dev"
-options="!check" # no test suite
-source="http://www.dettus.net/dhex/dhex_$pkgver.tar.gz
- http://www.dettus.net/dhex/themes/dhexrc_default
- http://www.dettus.net/dhex/themes/dhexrc_green
- http://www.dettus.net/dhex/themes/dhexrc_red
- http://www.dettus.net/dhex/themes/dhexrc_white"
-subpackages="$pkgname-doc"
-builddir="$srcdir/${pkgname}_$pkgver"
-
-build() {
- make
-}
-
-package() {
- # 'make install' is broken
- install -Dm755 dhex -t $pkgdir/usr/bin
- install -Dm644 dhex.1 -t $pkgdir/usr/share/man/man1
- install -Dm644 dhexrc.5 -t $pkgdir/usr/share/man/man5
- install -Dm644 dhex_markers.5 -t $pkgdir/usr/share/man/man5
- install -Dm644 dhex_searchlog.5 -t $pkgdir/usr/share/man/man5
- for t in dhexrc_default dhexrc_green dhexrc_red dhexrc_white; do
- install -Dm644 $srcdir/$t -t "$pkgdir"/usr/share/themes/dhex
- done
-}
-
-sha512sums="76115fd6b67bf1f61af6acfbc4dac9ac54c14aeb291de6a190aa1ffa599cf8b3e40a422ed34c237cf1f5c7406b07e38e38fb1c9c9dd36ce93d05265238060ba0 dhex_0.69.tar.gz
-88105bc3ab5b8cd8d0ee4d9fcaef8ca01abe0c2a6372d0a65c1e334c13e149292e7a753380974035518c1a96521e3e79f33476a656ca17c82254fc775df066f2 dhexrc_default
-c916a605a268cdcb645c1dc249ef9649dce9a3bed9efbabdb7f4f5142cf28ee672b74a3799bf268de9815e1a354a3b3920fc03ad3911fe9fc50064eefcc7084c dhexrc_green
-17abbd8f2afd8a663c117bbb6057ffb5f95eb1a55d206d46f8430ed62e276ac51fad0047528991750aae6ab0daf3cfebbe747c8885016602c680d693ba65a635 dhexrc_red
-a8af1c03fbc3474179fbaa3db0b98ffefccc603092b73865ea288a3373c577a9acbcb5c5aa28b75da42909de497e26070027bfe8f4b22bc1d9b8ff997c39bf22 dhexrc_white"
diff --git a/testing/diceware/APKBUILD b/testing/diceware/APKBUILD
new file mode 100644
index 00000000000..d64421a54eb
--- /dev/null
+++ b/testing/diceware/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=diceware
+pkgver=0.10
+pkgrel=1
+pkgdesc="Passphrases you will remember"
+url="https://github.com/ulif/diceware"
+arch="noarch"
+license="GPL-3.0-or-later"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/ulif/diceware/archive/v$pkgver/diceware-$pkgver.tar.gz
+ no-pkg_resources.patch
+ "
+
+prepare() {
+ default_prepare
+
+ sed -i "s/version = .*/version = '$pkgver'/" diceware/__about__.py
+}
+
+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="
+8fa8979c39ccb4b4a2de2f326794d3ea685edfb280fc24b0709a891636201d7c2206e5a804705132facf2f9c81866f32c3f950817fa5fc88cc2bf0300c62d9ba diceware-0.10.tar.gz
+9598d2576bf75933a92b003b52e38964e4949197bbdbed5edf95b605e7634fbae814d88f26fee43772f0341ef1bd2d2325d3a7638ba0d3598d308607476f7805 no-pkg_resources.patch
+"
diff --git a/testing/diceware/no-pkg_resources.patch b/testing/diceware/no-pkg_resources.patch
new file mode 100644
index 00000000000..3a41ccd5ad5
--- /dev/null
+++ b/testing/diceware/no-pkg_resources.patch
@@ -0,0 +1,247 @@
+Patch-Source: https://github.com/ulif/diceware/pull/62
+From 4e11c42940a60518f7b895ca036d461bc2bcbb91 Mon Sep 17 00:00:00 2001
+From: Hartmut Goebel <h.goebel@crazy-compilers.com>
+Date: Mon, 29 Apr 2019 10:42:12 +0200
+Subject: [PATCH 1/4] Get package version from module `__about__`.
+
+---
+ diceware/__about__.py | 1 +
+ diceware/__init__.py | 3 +--
+ setup.py | 5 ++++-
+ 3 files changed, 6 insertions(+), 3 deletions(-)
+ create mode 100644 diceware/__about__.py
+
+diff --git a/diceware/__about__.py b/diceware/__about__.py
+new file mode 100644
+index 0000000..2ed0450
+--- /dev/null
++++ b/diceware/__about__.py
+@@ -0,0 +1,6 @@
++version = "0.9.7.dev0"
++random_sources = {
++ 'system': 'diceware.random_sources:SystemRandomSource',
++ 'realdice': 'diceware.random_sources:RealDiceRandomSource',
++ # add more sources of randomness here...
++}
+diff --git a/diceware/__init__.py b/diceware/__init__.py
+index 6f00228..b0d0880 100644
+--- a/diceware/__init__.py
++++ b/diceware/__init__.py
+@@ -16,23 +16,20 @@
+ """diceware -- rememberable passphrases
+ """
+ import argparse
+-import pkg_resources
+ import sys
+ import logging
+ from errno import ENOENT
+ from random import SystemRandom
++from .__about__ import version as __version__
+ from diceware.config import get_config_dict
+ from diceware.logger import configure
+ from diceware.wordlist import (
+ WordList, get_wordlist_path, get_wordlists_dir, get_wordlist_names,
+ )
+
+-__version__ = pkg_resources.get_distribution('diceware').version
+-
+ #: Special chars inserted on demand
+ SPECIAL_CHARS = r"~!#$%^&*()-=+[]\{}:;" + r'"' + r"'<>?/0123456789"
+
+-
+ GPL_TEXT = (
+ """
+ This program is free software: you can redistribute it and/or modify
+@@ -73,10 +70,16 @@ def get_random_sources():
+ that provides a `choice(sequence)` method that works like the
+ respective method in the standard Python lib `random` module.
+ """
++ from .__about__ import random_sources
+ result = dict()
+- for entry_point in pkg_resources.iter_entry_points(
+- group="diceware_random_sources"):
+- result.update({entry_point.name: entry_point.load()})
++ for name, spec in random_sources.items():
++ module, func = spec.split(":")
++ module = __import__(module, fromlist=['__name__'], level=0)
++ try:
++ func = getattr(module, func)
++ except AttributeError as exc:
++ raise ImportError(str(exc))
++ result[name] = func
+ return result
+
+
+@@ -84,7 +87,7 @@ def handle_options(args):
+ """Handle commandline options.
+ """
+ plugins = get_random_sources()
+- random_sources = plugins.keys()
++ rnd_sources = plugins.keys()
+ wordlist_names = get_wordlist_names()
+ defaults = get_config_dict()
+ parser = argparse.ArgumentParser(
+@@ -108,11 +111,11 @@ def handle_options(args):
+ '-d', '--delimiter', default='',
+ help="Separate words by DELIMITER. Empty string by default.")
+ parser.add_argument(
+- '-r', '--randomsource', default='system', choices=random_sources,
++ '-r', '--randomsource', default='system', choices=rnd_sources,
+ metavar="SOURCE",
+ help=(
+ "Get randomness from this source. Possible values: `%s'. "
+- "Default: system" % "', `".join(sorted(random_sources))))
++ "Default: system" % "', `".join(sorted(rnd_sources))))
+ parser.add_argument(
+ '-w', '--wordlist', default=['en_eff'], choices=wordlist_names,
+ metavar="NAME", nargs='*',
+diff --git a/diceware/__main__.py b/diceware/__main__.py
+new file mode 100644
+index 0000000..031df43
+--- /dev/null
++++ b/diceware/__main__.py
+@@ -0,0 +1,2 @@
++from . import main
++main()
+diff --git a/diceware/random_sources.py b/diceware/random_sources.py
+index 72f69a7..8bc6d35 100644
+--- a/diceware/random_sources.py
++++ b/diceware/random_sources.py
+@@ -15,7 +15,7 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ """Sources of randomness.
+
+-Please register all sources as entry point in ``setup.py``. Look out for
++Please register all sources as entry point in ``__about__.py``. Look out for
+ "SystemRandomSource" for an example.
+
+ For developers of interfaces to other sources of randomness: Currently,
+@@ -45,21 +45,15 @@ If you want to manage own commandline options with your plugin, you can
+ implement a `classmethod` called ``update_argparser(parser)`` which gets
+ an `argparse.ArgumentParser` instance as argument (no pun intended).
+
+-Finally, to register the source, add some stanza in `setup.py` of your
+-project that looks like::
++Finally, to register the source, add some stanza in `__about__.py`
++that looks like::
+
+ # ...
+- setup(
+- # ...
+- entry_points={
+- # console scripts and other entry points...
+- 'diceware_random_sources': [
+- 'myrandom = mypkg.mymodule:MyRandomSource',
+- 'myothersrc = mypkg.mymodule:MyOtherSource',
+- ],
+- },
+- # ...
+- )
++ random_sources' = {
++ # ...
++ 'myrandom': 'mypkg.mymodule:MyRandomSource',
++ 'myothersrc': 'mypkg.mymodule:MyOtherSource',
++ }
+ # ...
+
+ Here the `myrandom` and `myothersrc` lines register random sources that
+diff --git a/setup.py b/setup.py
+index 3a7228e..8a82624 100644
+--- a/setup.py
++++ b/setup.py
+@@ -2,8 +2,12 @@ import os
+ from setuptools import setup
+
+
+-def read(fname):
+- return open(os.path.join(os.path.dirname(__file__), fname)).read()
++def read(*parts):
++ with open(os.path.join(os.path.dirname(__file__), *parts)) as fp:
++ return fp.read()
++
++version = {}
++exec(read("diceware", "__about__.py"), version)
+
+
+ setup_requires = [
+@@ -27,7 +31,7 @@ docs_require = [
+
+ setup(
+ name="diceware",
+- version="0.10",
++ version=version["version"],
+ author="Uli Fouquet",
+ author_email="uli@gnufix.de",
+ description=(
+@@ -75,10 +79,5 @@ setup(
+ 'console_scripts': [
+ 'diceware = diceware:main',
+ ],
+- 'diceware_random_sources': [
+- 'system = diceware.random_sources:SystemRandomSource',
+- 'realdice = diceware.random_sources:RealDiceRandomSource',
+- # add more sources of randomness here...
+- ],
+ },
+ )
+diff --git a/tests/test_diceware.py b/tests/test_diceware.py
+index 7867101..c52bb8f 100644
+--- a/tests/test_diceware.py
++++ b/tests/test_diceware.py
+@@ -180,6 +180,14 @@ class TestDicewareModule(object):
+ assert 'system' in sources_dict
+ assert isinstance(sources_dict['system'], type)
+
++ def test_get_random_sources_non_existing(self, monkeypatch):
++ import diceware
++ monkeypatch.setattr(
++ diceware.__about__, 'random_sources',
++ {'foo': 'diceware.random_sources:NotExistingSource'})
++ with pytest.raises(ImportError):
++ get_random_sources()
++
+ def test_insert_special_char(self):
+ # we can insert special chars in words.
+ fake_rnd = FakeRandom()
+diff --git a/tests/test_random_sources.py b/tests/test_random_sources.py
+index 91f3b09..a544357 100644
+--- a/tests/test_random_sources.py
++++ b/tests/test_random_sources.py
+@@ -1,12 +1,11 @@
+ from __future__ import unicode_literals
+-import pkg_resources
+ import pytest
+ import sys
+ import argparse
+ from conftest import InputMock
+ from io import StringIO
+ from itertools import product, chain
+-from diceware import main
++from diceware import main, get_random_sources
+ from diceware.random_sources import (
+ SystemRandomSource, RealDiceRandomSource,
+ )
+@@ -38,10 +37,7 @@ class TestSystemRandomSource(object):
+ def test_registered_as_system(self):
+ # The SystemRandomInstance is registered as entry point with
+ # name 'system' in group 'diceware_random_sources'
+- sources_dict = dict()
+- for entry_point in pkg_resources.iter_entry_points(
+- group="diceware_random_sources"):
+- sources_dict.update({entry_point.name: entry_point.load()})
++ sources_dict = get_random_sources()
+ assert 'system' in sources_dict
+ assert sources_dict['system'] == SystemRandomSource
+
+@@ -110,10 +106,7 @@ class TestRealDiceRandomSource(object):
+ def test_registered_as_realdice(self):
+ # The RealDiceRandomSource is registered as entry point with
+ # name 'realdice' in group 'diceware_random_sources'
+- sources_dict = dict()
+- for entry_point in pkg_resources.iter_entry_points(
+- group="diceware_random_sources"):
+- sources_dict.update({entry_point.name: entry_point.load()})
++ sources_dict = get_random_sources()
+ assert 'realdice' in sources_dict
+ assert sources_dict['realdice'] == RealDiceRandomSource
+
diff --git a/testing/diebahn/APKBUILD b/testing/diebahn/APKBUILD
new file mode 100644
index 00000000000..3f9a83b4675
--- /dev/null
+++ b/testing/diebahn/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Usia Bechtle <usia@bechtlebox.de>
+# Maintainer: Usia Bechtle <usia@bechtlebox.de>
+pkgname=diebahn
+pkgver=2.0.0
+pkgrel=0
+pkgdesc="GTK4 frontend for the travel information of the german railway"
+url="https://gitlab.com/schmiddi-on-mobile/railway"
+# s390x, ppc64le, riscv64: rust-ring
+arch="all !s390x !ppc64le !riscv64"
+license="GPL-3.0-or-later"
+makedepends="
+ cargo
+ desktop-file-utils
+ gtk4.0-dev
+ libadwaita-dev
+ libglibutil-dev
+ meson
+ "
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/schmiddi-on-mobile/railway/-/archive/$pkgver/railway-$pkgver.tar.gz"
+subpackages="$pkgname-lang"
+options="!check" # no tests
+builddir="$srcdir/railway-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+227650042752567bedcbef3eee1cb29dbb23b162f38934d3c51cfd2ff75ae58dbc7d3365083732b46013ba1b2d71c3f2be5d49cb7b2d96b66b6e405104516618 diebahn-2.0.0.tar.gz
+"
diff --git a/testing/diffoscope/APKBUILD b/testing/diffoscope/APKBUILD
deleted file mode 100644
index 161ea18dbca..00000000000
--- a/testing/diffoscope/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=diffoscope
-pkgver=184
-pkgrel=1
-pkgdesc="In-depth comparison of files, archives, and directories"
-url="https://diffoscope.org/"
-arch="noarch !mips !mips64" # py3-libarchive-c
-license="GPL-3.0-or-later"
-makedepends="python3-dev py3-setuptools py3-docutils"
-depends="py3-magic py3-libarchive-c"
-checkdepends="py3-pytest gzip bzip2 unzip libarchive-tools cdrkit
- openssh-client-default"
-source="https://salsa.debian.org/reproducible-builds/diffoscope/-/archive/$pkgver/diffoscope-$pkgver.tar.gz
- tests-uimage-fix-diff-output.patch
- "
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH=".:$PYTHONPATH" PYTHONDONTWRITEBYTECODE=1 py.test \
- -k 'not test_text_proper_indentation'
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-06f3219c2bc083638341711cbc9af7f6400a9bfa8c9c52a4b9720f9d32f19895364646f40f27daa661146b2c85614d3f4bedba67472f86b8498a9798366fc45c diffoscope-184.tar.gz
-4d78ad1d13cd7b7cfd9b27bbff42558f543e66eaa6f3ce5d5d190b3ad8710e271a2ee04bbca86251626209062c9ef94a03230f2f7fdbe4969aee374eb79f041b tests-uimage-fix-diff-output.patch
-"
diff --git a/testing/diffoscope/tests-uimage-fix-diff-output.patch b/testing/diffoscope/tests-uimage-fix-diff-output.patch
deleted file mode 100644
index 39d6a53e5e4..00000000000
--- a/testing/diffoscope/tests-uimage-fix-diff-output.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/tests/data/uimage_expected_diff b/tests/data/uimage_expected_diff
-index a78edfc..18fe328 100644
---- a/tests/data/uimage_expected_diff
-+++ b/tests/data/uimage_expected_diff
-@@ -1,3 +1,3 @@
- @@ -1 +1 @@
---u-boot legacy uImage, , Linux/PowerPC, RAMDisk Image (Not compressed), 1024 bytes, Fri Nov 27 19:49:00 2020, Load Address: 0x00000000, Entry Point: 0x00000000, Header CRC: 0xF87AD200, Data CRC: 0x347161A5
--+u-boot legacy uImage, , Linux/PowerPC, RAMDisk Image (Not compressed), 1024 bytes, Fri Nov 27 19:49:24 2020, Load Address: 0x00000000, Entry Point: 0x00000000, Header CRC: 0xE86686F7, Data CRC: 0xC63C4A06
-+-u-boot legacy uImage, , Linux/PowerPC, RAMDisk Image (Not compressed), 1024 bytes, Fri Nov 27 19:49:00 2020, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0XF87AD200, Data CRC: 0X347161A5
-++u-boot legacy uImage, , Linux/PowerPC, RAMDisk Image (Not compressed), 1024 bytes, Fri Nov 27 19:49:24 2020, Load Address: 00000000, Entry Point: 00000000, Header CRC: 0XE86686F7, Data CRC: 0XC63C4A06
diff --git a/testing/diffsitter/APKBUILD b/testing/diffsitter/APKBUILD
deleted file mode 100644
index a56a9713613..00000000000
--- a/testing/diffsitter/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=diffsitter
-pkgver=0.6.8
-pkgrel=0
-pkgdesc="A tree-sitter based AST difftool to get meaningful semantic diffs"
-url="https://github.com/afnanenayet/diffsitter"
-arch="aarch64 armhf armv7 ppc64le x86 x86_64" # limited by rust/cargo
-license="MIT"
-checkdepends="tree-sitter-python tree-sitter-rust"
-makedepends="cargo"
-install="$pkgname.post-install"
-source="https://github.com/afnanenayet/diffsitter/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
-
-_cargo_opts="--frozen --no-default-features --features dynamic-grammar-libs"
-
-prepare() {
- default_prepare
-
- # Optimize binary for size.
- cat >> Cargo.toml <<-EOF
-
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "z"
- panic = "abort"
- EOF
-
- cargo fetch --locked
-}
-
-build() {
- cargo build $_cargo_opts --release
-}
-
-check() {
- cargo test $_cargo_opts
-}
-
-package() {
- cargo install $_cargo_opts --offline --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-}
-
-sha512sums="
-ecb2e4653c5bfae38911baf13379715eb816088a4c3e677ac2637cd834d99e1256a97c5d95a1e7e95858b89877ba11088a1051c23734c19f6709ce6d3a28e566 diffsitter-0.6.8.tar.gz
-"
diff --git a/testing/diffsitter/diffsitter.post-install b/testing/diffsitter/diffsitter.post-install
deleted file mode 100644
index 28a78d83186..00000000000
--- a/testing/diffsitter/diffsitter.post-install
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-cat >&2 <<EOF
-*
-* diffsitter uses tree-sitter grammars that are provided in standalone packages
-* 'tree-sitter-<lang>' (e.g. tree-sitter-c) and must be installed separately.
-*
-EOF
-
-exit 0
diff --git a/testing/ding-libs/APKBUILD b/testing/ding-libs/APKBUILD
index aec6975938d..07b7c009571 100644
--- a/testing/ding-libs/APKBUILD
+++ b/testing/ding-libs/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Vince Mele <vmele@inoc.com>
# Maintainer: Vince Mele <vmele@inoc.com>
pkgname=ding-libs
-pkgver=0.6.1
-pkgrel=6
+pkgver=0.6.2
+pkgrel=4
pkgdesc="'D is not GLib' utility libraries"
url="https://pagure.io/SSSD/ding-libs/"
arch="all"
@@ -13,17 +13,16 @@ depends=""
makedepends="icu-dev gettext-dev libintl"
install=""
subpackages="$pkgname-dev"
-source="https://releases.pagure.org/SSSD/$pkgname/$pkgname-$pkgver.tar.gz
+source="https://github.com/SSSD/ding-libs/releases/download/$pkgver/ding-libs-$pkgver.tar.gz
musl-fixes.patch
- path_utils_ut-allow-single-as-well.patch
"
builddir="$srcdir/$pkgname-$pkgver"
prepare() {
default_prepare
- update_config_sub
- update_config_guess
+ #update_config_sub # No update needed for ./build/config.sub
+ #update_config_guess # No update needed for ./build/config.guess
}
build() {
@@ -45,6 +44,7 @@ package() {
rm -rf $pkgdir/usr/share
}
-sha512sums="335a0925bfa7cc113e86c91ad3f2c8aac12711879d5c9b62660140a4b749335a74024c987fcd2304dd78176362997b3e0ebd745193aaffab7a368e2873118628 ding-libs-0.6.1.tar.gz
-e0333f963d32963b863d0d1f78b27d385ee909d1f118586c789814d7d63870dfc206f8cd14aee71ee95fc1a44ce01b88873a9f5b2ea3ccc2f018b1b6a1eca2a5 musl-fixes.patch
-f9b1cb90081652d286d1a0bb853c04dbd98a6b39da235bd9eb3c095631033e2d967f8d81e2284bafbf905caadc63873b96a69744939463343c677458d851cef0 path_utils_ut-allow-single-as-well.patch"
+sha512sums="
+566172e0addb0ee6e0ebd12874d3b72f2fa6bcb1ecc628c0c529984193290fae554efc40f52d2cec675bffab32a36183e47ec629db25e83ed2995f1049c64703 ding-libs-0.6.2.tar.gz
+22cdec129b19fbc7caf1c56004cd2d00197719bc1dc9835a5d74228affe947b93061ad57612a36b75032891e8e5d4d6970bbc9c6b0057659541686c76770221e musl-fixes.patch
+"
diff --git a/testing/ding-libs/musl-fixes.patch b/testing/ding-libs/musl-fixes.patch
index 6855a3b86cc..c6562abd32f 100644
--- a/testing/ding-libs/musl-fixes.patch
+++ b/testing/ding-libs/musl-fixes.patch
@@ -1,25 +1,25 @@
---- ding-libs-0.6.1/ini/ini_validators_ut_check.c
-+++ ding-libs-0.6.1-musl/ini/ini_validators_ut_check.c
-@@ -606,7 +606,7 @@
+--- a/ini/ini_validators_ut_check.c
++++ b/ini/ini_validators_ut_check.c
+@@ -608,7 +608,7 @@ START_TEST(test_ini_allowed_options_wrong_regex)
ret = strcmp(errmsg,
"[rule/options_for_foo]: Cannot compile regular expression "
"from option 'section_re'. "
- "Error: 'Unmatched [ or [^'");
+ "Error: 'Missing ']''");
- fail_unless(ret == 0, "Got msg: [%s]", errmsg);
- ini_errobj_next(errobj);
-
-@@ -1027,7 +1027,7 @@
+ if (ret != 0) {
+ ret = strcmp(errmsg,
+ "[rule/options_for_foo]: Cannot compile regular "
+@@ -1042,7 +1042,7 @@ START_TEST(test_ini_allowed_sections_wrong_regex)
errmsg = ini_errobj_get_msg(errobj);
ret = strcmp(errmsg,
"[rule/section_list]: Validator failed to use regex "
- "[^foo\\(*$]:[Unmatched ( or \\(]");
+ "[^foo\\(*$]:[Missing ')']");
- fail_unless(ret == 0, "Got msg: [%s]", errmsg);
- ini_errobj_next(errobj);
-
---- ding-libs-0.6.1/path_utils/path_utils.c
-+++ ding-libs-0.6.1-musl/path_utils/path_utils.c
+ if (ret !=0) {
+ ret = strcmp(errmsg,
+ "[rule/section_list]: Validator failed to use regex "
+--- a/path_utils/path_utils.c
++++ b/path_utils/path_utils.c
@@ -31,7 +31,7 @@
#include <stdlib.h>
#include <unistd.h>
diff --git a/testing/ding-libs/path_utils_ut-allow-single-as-well.patch b/testing/ding-libs/path_utils_ut-allow-single-as-well.patch
deleted file mode 100644
index 08cfe09b82d..00000000000
--- a/testing/ding-libs/path_utils_ut-allow-single-as-well.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 4236e323e8ab4f13770e1ac9e94666b304b693fb Mon Sep 17 00:00:00 2001
-From: Henrik Riomar <henrik.riomar@gmail.com>
-Date: Tue, 24 Jul 2018 21:59:36 +0000
-Subject: [PATCH] path_utils_ut: allow single / as well
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-From http://pubs.opengroup.org/onlinepubs/009695399/basedefs/xbd_chap03.html#tag_03_266
- Multiple successive slashes are considered to be the same as one slash.
-
-When running the tests on a musl libc system
- get_dirname(p, PATH_MAX, "//foo//")
-actually results in a / and not //
-
-Reviewed-by: Michal Židek <mzidek@redhat.com>
----
- path_utils/path_utils_ut.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/path_utils/path_utils_ut.c b/path_utils/path_utils_ut.c
-index 27c99b6..061abfb 100644
---- a/path_utils/path_utils_ut.c
-+++ b/path_utils/path_utils_ut.c
-@@ -62,7 +62,7 @@ START_TEST(test_dirname)
- fail_unless_str_equal(p, "//foo");
-
- fail_unless(get_dirname(p, PATH_MAX, "//foo//") == SUCCESS);
-- fail_unless_str_equal(p, "//");
-+ fail_unless(!strcmp(p, "/") || !strcmp(p, "//"));
-
- fail_unless(get_dirname(p, PATH_MAX, "foo//bar") == SUCCESS);
- fail_unless_str_equal(p, "foo");
---
-2.18.0
-
diff --git a/testing/dinit-alpine/APKBUILD b/testing/dinit-alpine/APKBUILD
new file mode 100644
index 00000000000..e446d4e2f57
--- /dev/null
+++ b/testing/dinit-alpine/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=dinit-alpine
+pkgver=0_git20240128
+pkgrel=0
+_commit="9a5e07defa5d830c1a9ac59214af353c017daee8"
+pkgdesc="Various dinit service files used to boot Alpine"
+url="https://gitlab.alpinelinux.org/PureTryOut/dinit-alpine"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ dinit
+ findmnt
+ util-linux-login
+ "
+source="$pkgname-$_commit.tar.gz::https://gitlab.alpinelinux.org/PureTryOut/dinit-alpine/-/archive/$_commit.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/$pkgname-$_commit"
+
+package() {
+ mkdir -p "$pkgdir"/lib/dinit.d
+ cp -r services/* "$pkgdir"/lib/dinit.d/
+}
+
+sha512sums="
+c7b3dc45d171e4923a8dce7cbf8b954cf8cefec768ca280f421ca8c3ad5267d6c680a33f14a8b6d356512d5ad0452e8258fbb6ce538911b0a609b01a92a29686 dinit-alpine-9a5e07defa5d830c1a9ac59214af353c017daee8.tar.gz
+"
diff --git a/testing/dinit/APKBUILD b/testing/dinit/APKBUILD
new file mode 100644
index 00000000000..d611f480c52
--- /dev/null
+++ b/testing/dinit/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Sertonix <sertonix@posteo.net>
+# Maintainer: Sertonix <sertonix@posteo.net>
+pkgname=dinit
+pkgver=0.18.0
+pkgrel=1
+pkgdesc="Service monitoring/init system"
+url="https://github.com/davmac314/dinit"
+arch="all"
+license="Apache-2.0"
+subpackages="$pkgname-doc $pkgname-shutdown:_shutdown"
+makedepends="m4"
+source="https://github.com/davmac314/dinit/releases/download/v$pkgver/dinit-$pkgver.tar.xz"
+
+build() {
+ make BUILD_SHUTDOWN=yes SHUTDOWN_PREFIX="dinit-"
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir"/ BUILD_SHUTDOWN=yes SHUTDOWN_PREFIX="dinit-" install
+}
+
+_shutdown() {
+ pkgdesc="dinit shutdown utils"
+ depends="$pkgname"
+
+ amove sbin/dinit-shutdown
+ amove sbin/dinit-halt
+ amove sbin/dinit-reboot
+ amove sbin/dinit-poweroff
+}
+
+sha512sums="
+bacb71b35e348a73c0a082599c357d05a773680d302f9b963e109b289fa5cd4ec616f73febaa76c96075e58711ffb14d84f2c734461a171f37b827038e1f9c1b dinit-0.18.0.tar.xz
+"
diff --git a/testing/disfetch/APKBUILD b/testing/disfetch/APKBUILD
index 26e98918063..9128afd8c33 100644
--- a/testing/disfetch/APKBUILD
+++ b/testing/disfetch/APKBUILD
@@ -2,19 +2,19 @@
# Contributor: Dmitry Kruchko <corg@disroot.org>
# Maintainer: Dmitry Kruchko <corg@disroot.org>
pkgname=disfetch
-pkgver=3.2
+pkgver=3.7
pkgrel=0
pkgdesc="Yet another *nix distro fetching program, but less complex"
url="https://github.com/q60/disfetch"
arch="noarch"
options="!check" # no tests
license="MIT"
-source="$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/q60/disfetch/archive/refs/tags/$pkgver.tar.gz"
package() {
make DESTDIR="$pkgdir" PREFIX=/usr install
}
sha512sums="
-86bc513a92a33f9767e3de612fccce2d863165212f801871bad05c97ede7870e50992b8455cd03c51cff6ea3488a3ef0376ed7edd92c37441e562bc5d18e8bd3 disfetch-3.2.tar.gz
+6f21d1cdcc357cf4b6d0d1c37ca7d035b9c4ec959f7e5b62921d88c15b7c5dec4d0ff457867d0de75afcba2758314242bd178330ca31ede58d89ca65e41b487d disfetch-3.7.tar.gz
"
diff --git a/testing/diskonaut/APKBUILD b/testing/diskonaut/APKBUILD
new file mode 100644
index 00000000000..772e8cc760a
--- /dev/null
+++ b/testing/diskonaut/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=diskonaut
+pkgver=0.11.0
+pkgrel=3
+pkgdesc="Terminal disk space navigator"
+url="https://github.com/imsnif/diskonaut"
+license="MIT"
+arch="all !armhf !s390x !riscv64" # doesn't build
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/imsnif/diskonaut/archive/refs/tags/$pkgver.tar.gz"
+options="net"
+
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/diskonaut "$pkgdir"/usr/bin/diskonaut
+}
+
+sha512sums="
+c682f40e9a0592214826beba17a8b875a80a0a258e503fbcc821548fa41b998133cf30e020abffddc4775abb37e1df267669c7e4b3114fe0c4532b9a48972768 diskonaut-0.11.0.tar.gz
+"
diff --git a/testing/diskus/APKBUILD b/testing/diskus/APKBUILD
index 2f328219cde..d744ef8f1fc 100644
--- a/testing/diskus/APKBUILD
+++ b/testing/diskus/APKBUILD
@@ -2,21 +2,22 @@
# Maintainer: guddaff <guddaff@protonmail.com>
pkgname=diskus
pkgver=0.7.0
-pkgrel=0
+pkgrel=1
pkgdesc="fast alternative for du"
url="https://github.com/sharkdp/diskus"
-arch="all !s390x !mips !mips64 !riscv64" # limited by cargo
+arch="all !s390x !riscv64" # limited by cargo
options="!check" #size_of_single_file test timout on armhf
license="MIT"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
source="$pkgname-$pkgdir.tar.gz::https://github.com/sharkdp/diskus/archive/refs/tags/v$pkgver.tar.gz"
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
+ cargo auditable install --locked --path . --root="$pkgdir/usr"
rm "$pkgdir"/usr/.crates*
}
diff --git a/testing/dislocker/APKBUILD b/testing/dislocker/APKBUILD
index 19fbde167c7..4d9f6aa0eac 100644
--- a/testing/dislocker/APKBUILD
+++ b/testing/dislocker/APKBUILD
@@ -2,23 +2,40 @@
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=dislocker
pkgver=0.7.3
-pkgrel=0
+pkgrel=5
pkgdesc="Read/write Windows BitLocker-ed volumes"
url="https://github.com/Aorimn/dislocker"
arch="all"
license="GPL-2.0-or-later"
options="!check" # No test suite
-makedepends="cmake fuse-dev mbedtls-dev ruby-dev"
+depends="ruby"
+makedepends="
+ cmake
+ fuse-dev
+ mbedtls-dev
+ ruby-dev
+ samurai
+ "
subpackages="$pkgname-doc $pkgname-libs"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Aorimn/dislocker/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Aorimn/dislocker/archive/v$pkgver.tar.gz
+ fix-build.patch
+ mbedtls-3.patch
+ "
build() {
- cmake -DCMAKE_INSTALL_PREFIX=/usr .
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+
+ cmake --build build
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="c62241d70d51f6445a2f6d0f08e099bbc1a4257ca98232471fc43ec63e69d62ae5f702c995ec00b7e1db7d33f4bb3a31ea05bc13862bf3b539feb301a0e034ff dislocker-0.7.3.tar.gz"
+sha512sums="
+c62241d70d51f6445a2f6d0f08e099bbc1a4257ca98232471fc43ec63e69d62ae5f702c995ec00b7e1db7d33f4bb3a31ea05bc13862bf3b539feb301a0e034ff dislocker-0.7.3.tar.gz
+7041559becbb5136d52b9494898ab3e315bdd7eddef7276e5f3f3cacd8a585718407d9fbcb9c589cc8702519d95cc4a37b6442358a5e8a3281ef5b05591295e6 fix-build.patch
+4b89b8357799fb1de5421d2b3d0390b3d39e6dda13b606120f52b6fda83a75c3d199c8cdea43cff7abb8b68d1fcb71314c108ff80b092c6f949d5564f67cd6f5 mbedtls-3.patch
+"
diff --git a/testing/dislocker/fix-build.patch b/testing/dislocker/fix-build.patch
new file mode 100644
index 00000000000..d9ba5609eac
--- /dev/null
+++ b/testing/dislocker/fix-build.patch
@@ -0,0 +1,147 @@
+diff -U3 -r a/src/config.c b/src/config.c
+--- a/src/config.c 2022-04-25 20:41:04.627290032 +0200
++++ b/src/config.c 2022-04-25 20:44:19.075583833 +0200
+@@ -56,13 +56,13 @@
+ static void setclearkey(dis_context_t dis_ctx, char* optarg)
+ {
+ (void) optarg;
+- int true = TRUE;
+- dis_setopt(dis_ctx, DIS_OPT_USE_CLEAR_KEY, &true);
++ int flag = TRUE;
++ dis_setopt(dis_ctx, DIS_OPT_USE_CLEAR_KEY, &flag);
+ }
+ static void setbekfile(dis_context_t dis_ctx, char* optarg)
+ {
+- int true = TRUE;
+- dis_setopt(dis_ctx, DIS_OPT_USE_BEK_FILE, &true);
++ int flag = TRUE;
++ dis_setopt(dis_ctx, DIS_OPT_USE_BEK_FILE, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_BEK_FILE_PATH, optarg);
+ }
+ static void setforceblock(dis_context_t dis_ctx, char* optarg)
+@@ -76,14 +76,14 @@
+ }
+ static void setfvek(dis_context_t dis_ctx, char* optarg)
+ {
+- int true = TRUE;
+- dis_setopt(dis_ctx, DIS_OPT_USE_FVEK_FILE, &true);
++ int flag = TRUE;
++ dis_setopt(dis_ctx, DIS_OPT_USE_FVEK_FILE, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_FVEK_FILE_PATH, optarg);
+ }
+ static void setvmk(dis_context_t dis_ctx, char* optarg)
+ {
+- int true = TRUE;
+- dis_setopt(dis_ctx, DIS_OPT_USE_VMK_FILE, &true);
++ int flag = TRUE;
++ dis_setopt(dis_ctx, DIS_OPT_USE_VMK_FILE, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_VMK_FILE_PATH, optarg);
+ }
+ static void setlogfile(dis_context_t dis_ctx, char* optarg)
+@@ -97,8 +97,8 @@
+ }
+ static void setrecoverypwd(dis_context_t dis_ctx, char* optarg)
+ {
+- int true = TRUE;
+- dis_setopt(dis_ctx, DIS_OPT_USE_RECOVERY_PASSWORD, &true);
++ int flag = TRUE;
++ dis_setopt(dis_ctx, DIS_OPT_USE_RECOVERY_PASSWORD, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_RECOVERY_PASSWORD, optarg);
+ hide_opt(optarg);
+ }
+@@ -111,19 +111,19 @@
+ static void setro(dis_context_t dis_ctx, char* optarg)
+ {
+ (void) optarg;
+- int true = TRUE;
+- dis_setopt(dis_ctx, DIS_OPT_READ_ONLY, &true);
++ int flag = TRUE;
++ dis_setopt(dis_ctx, DIS_OPT_READ_ONLY, &flag);
+ }
+ static void setstateok(dis_context_t dis_ctx, char* optarg)
+ {
+ (void) optarg;
+- int true = TRUE;
+- dis_setopt(dis_ctx, DIS_OPT_DONT_CHECK_VOLUME_STATE, &true);
++ int flag = TRUE;
++ dis_setopt(dis_ctx, DIS_OPT_DONT_CHECK_VOLUME_STATE, &flag);
+ }
+ static void setuserpassword(dis_context_t dis_ctx, char* optarg)
+ {
+- int true = TRUE;
+- dis_setopt(dis_ctx, DIS_OPT_USE_USER_PASSWORD, &true);
++ int flag = TRUE;
++ dis_setopt(dis_ctx, DIS_OPT_USE_USER_PASSWORD, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_USER_PASSWORD, optarg);
+ hide_opt(optarg);
+ }
+@@ -266,7 +266,7 @@
+ return -1;
+
+ dis_config_t* cfg = &dis_ctx->cfg;
+- int true = TRUE;
++ int flag = TRUE;
+
+
+ long_opts = malloc(nb_options * sizeof(struct option));
+@@ -285,12 +285,12 @@
+ {
+ case 'c':
+ {
+- dis_setopt(dis_ctx, DIS_OPT_USE_CLEAR_KEY, &true);
++ dis_setopt(dis_ctx, DIS_OPT_USE_CLEAR_KEY, &flag);
+ break;
+ }
+ case 'f':
+ {
+- dis_setopt(dis_ctx, DIS_OPT_USE_BEK_FILE, &true);
++ dis_setopt(dis_ctx, DIS_OPT_USE_BEK_FILE, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_BEK_FILE_PATH, optarg);
+ break;
+ }
+@@ -312,13 +312,13 @@
+ }
+ case 'k':
+ {
+- dis_setopt(dis_ctx, DIS_OPT_USE_FVEK_FILE, &true);
++ dis_setopt(dis_ctx, DIS_OPT_USE_FVEK_FILE, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_FVEK_FILE_PATH, optarg);
+ break;
+ }
+ case 'K':
+ {
+- dis_setopt(dis_ctx, DIS_OPT_USE_VMK_FILE, &true);
++ dis_setopt(dis_ctx, DIS_OPT_USE_VMK_FILE, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_VMK_FILE_PATH, optarg);
+ break;
+ }
+@@ -340,7 +340,7 @@
+ }
+ case 'p':
+ {
+- dis_setopt(dis_ctx, DIS_OPT_USE_RECOVERY_PASSWORD, &true);
++ dis_setopt(dis_ctx, DIS_OPT_USE_RECOVERY_PASSWORD, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_RECOVERY_PASSWORD, optarg);
+ hide_opt(optarg);
+ break;
+@@ -353,17 +353,17 @@
+ }
+ case 'r':
+ {
+- dis_setopt(dis_ctx, DIS_OPT_READ_ONLY, &true);
++ dis_setopt(dis_ctx, DIS_OPT_READ_ONLY, &flag);
+ break;
+ }
+ case 's':
+ {
+- dis_setopt(dis_ctx, DIS_OPT_DONT_CHECK_VOLUME_STATE, &true);
++ dis_setopt(dis_ctx, DIS_OPT_DONT_CHECK_VOLUME_STATE, &flag);
+ break;
+ }
+ case 'u':
+ {
+- dis_setopt(dis_ctx, DIS_OPT_USE_USER_PASSWORD, &true);
++ dis_setopt(dis_ctx, DIS_OPT_USE_USER_PASSWORD, &flag);
+ dis_setopt(dis_ctx, DIS_OPT_SET_USER_PASSWORD, optarg);
+ hide_opt(optarg);
+ break;
diff --git a/testing/dislocker/mbedtls-3.patch b/testing/dislocker/mbedtls-3.patch
new file mode 100644
index 00000000000..21175456ed7
--- /dev/null
+++ b/testing/dislocker/mbedtls-3.patch
@@ -0,0 +1,23 @@
+--- a/include/dislocker/ssl_bindings.h.in
++++ b/include/dislocker/ssl_bindings.h.in
+@@ -26,18 +26,14 @@
+ /*
+ * Here stand the bindings for polarssl SHA256/SHA2/SHA-2 function for dislocker
+ */
+-#include "@POLARSSL_INC_FOLDER@/config.h"
++#include "@POLARSSL_INC_FOLDER@/mbedtls_config.h"
+ #include "@POLARSSL_INC_FOLDER@/version.h"
+ #include "@POLARSSL_INC_FOLDER@/aes.h"
+
+ // Function's name changed
+ #if defined(MBEDTLS_SHA256_C)
+ # include "mbedtls/sha256.h"
+-# if MBEDTLS_VERSION_NUMBER >= 0x02070000
+-# define SHA256(input, len, output) mbedtls_sha256_ret(input, len, output, 0)
+-# else
+-# define SHA256(input, len, output) mbedtls_sha256(input, len, output, 0)
+-# endif /* POLARSSL_VERSION_NUMBER >= 0x02070000 */
++# define SHA256(input, len, output) mbedtls_sha256(input, len, output, 0)
+ #else /* defined(MBEDTLS_SHA256_C) */
+
+ # if defined(POLARSSL_SHA256_C)
diff --git a/testing/dissent/APKBUILD b/testing/dissent/APKBUILD
new file mode 100644
index 00000000000..f0c157fa186
--- /dev/null
+++ b/testing/dissent/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=dissent
+pkgver=0.0.22
+pkgrel=1
+pkgdesc="Lightweight and modern Discord client"
+url="https://libdb.so/dissent"
+# riscv64: https://github.com/ianlancetaylor/cgosymbolizer/issues/20
+arch="all !riscv64"
+license="GPL-3.0-or-later"
+options="net" # go dependencies
+makedepends="
+ go
+ gobject-introspection-dev
+ gtk4.0-dev
+ libadwaita-dev
+ "
+source="
+ https://github.com/diamondburned/dissent/archive/v$pkgver/dissent-$pkgver.tar.gz
+ dissent.desktop
+ "
+
+build() {
+ go build ./main.go
+}
+
+check() {
+ # no tests yet. but sure, try
+ go test ./...
+}
+
+package() {
+ install -Dm775 main "$pkgdir"/usr/bin/"$pkgname"
+ install -Dm644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+ install -Dm644 ./internal/icons/hicolor/scalable/apps/so.libdb.dissent.svg -t "$pkgdir"/usr/share/icons/hicolor/scalable/apps/
+}
+
+sha512sums="
+dbf79c7e5cda0edd78a4793910f3d6625f038156d03b57dab9f3132cde0b86dee2b159f59e3d4fe79e13fc799789d1d9935c9a08697054812bd40c82a21cbda2 dissent-0.0.22.tar.gz
+c454be19d716d0e6a9265423e87d75af2bc7998dd953b606ddf4dcb8e31335fd0b89dec083fc8d114ee1de11ccca1f0b021c1ca2ae760f3e92de66c58dc3d485 dissent.desktop
+"
diff --git a/testing/dissent/dissent.desktop b/testing/dissent/dissent.desktop
new file mode 100644
index 00000000000..0d0f7b6383a
--- /dev/null
+++ b/testing/dissent/dissent.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Dissent
+Icon=so.libdb.dissent
+Exec=/usr/bin/dissent %U
+Categories=Network;InstantMessaging;Chat;VideoConference;
+Keywords=Discord;Chat;Messenger;Social
+X-Purism-FormFactor=Workstation;Mobile;
diff --git a/testing/distrobuilder/APKBUILD b/testing/distrobuilder/APKBUILD
index 97adfaccdfd..a66f29c07f4 100644
--- a/testing/distrobuilder/APKBUILD
+++ b/testing/distrobuilder/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
pkgname=distrobuilder
-pkgver=2.0
-pkgrel=0
+pkgver=2.1
+pkgrel=16
pkgdesc="System container image builder"
url="https://linuxcontainers.org/distrobuilder/"
arch="all !armhf !armv7"
@@ -11,24 +11,24 @@ depends="gnupg xz"
makedepends="go linux-headers"
subpackages="$pkgname-lxc::noarch $pkgname-lxd::noarch $pkgname-doc"
checkdepends="squashfs-tools"
-#options="!check" # has no check
source="https://github.com/lxc/distrobuilder/archive/refs/tags/distrobuilder-$pkgver.tar.gz"
builddir="$srcdir/distrobuilder-distrobuilder-$pkgver"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
build() {
- export GOPATH="$srcdir"
- GOFLAGS="$GOFLAGS -modcacherw"
- make
+ go build -o out ./distrobuilder
}
check() {
- go get -u golang.org/x/lint/golint
- PATH="$PATH:$GOPATH/bin"
- make check
+ go test ./...
}
package() {
- install -Dm755 $srcdir/bin/$pkgname "$pkgdir"/usr/bin/$pkgname
+ install -Dm755 out "$pkgdir"/usr/bin/$pkgname
install -Dm644 -t "$pkgdir"/usr/share/doc/distrobuilder doc/*.md
install -Dm644 -t "$pkgdir"/usr/share/doc/distrobuilder/examples doc/examples/*.yaml
}
@@ -48,5 +48,5 @@ lxd() {
}
sha512sums="
-3b85a992893689232f55b7cedbf2617fde95cf0af053424a585040781df592cd1f34800fe43bc5eb37e3740fea921ca9893b749fd280132794dc77f0ca4d9934 distrobuilder-2.0.tar.gz
+8b57a90b1065efed29fa4a6d6c4699d81539a4bd802739d55b31d9a45b55d40fb19abe09ce76d861d96555c41942a7d874a8886ac4916fadab61eb190071b478 distrobuilder-2.1.tar.gz
"
diff --git a/testing/dive/APKBUILD b/testing/dive/APKBUILD
index 73771f16586..741a3b43d22 100644
--- a/testing/dive/APKBUILD
+++ b/testing/dive/APKBUILD
@@ -1,23 +1,25 @@
# Contributor: Thomas Kienlen <kommander@laposte.net>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=dive
-pkgver=0.10.0
-pkgrel=2
-pkgdesc='Tool for exploring each layer in a docker image'
-url='https://github.com/wagoodman/dive'
-# mips(64): go is missing
-arch='all !mips !mips64'
-license='MIT'
-depends='docker'
-makedepends='go'
+pkgver=0.11.0
+pkgrel=5
+pkgdesc="Tool for exploring each layer in a docker image"
+url="https://github.com/wagoodman/dive"
+arch="all"
+license="MIT"
+depends="docker"
+makedepends="go"
source="https://github.com/wagoodman/dive/archive/v$pkgver/dive-$pkgver.tar.gz"
-options='chmod-clean !check' # No test suite
+options="chmod-clean !check" # No test suite
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build \
-trimpath \
-ldflags "
- -s -w
-X main.version=$pkgver
" \
-o bin/dive .
@@ -27,4 +29,6 @@ package() {
install -Dm755 bin/dive "$pkgdir/usr/bin/dive"
}
-sha512sums="a027d6f694acdc7680a733df2800e255db93df450704e748778860ac16a19040be855c04238c18d63b10b2042023cf3bf5e8ac9974362decd81dc0259fd0dd1c dive-0.10.0.tar.gz"
+sha512sums="
+79df3fe88d0bc5535ef6ec098cb8d8a264cf64ca353692809c0cb46f77a02edbbfb8df5848173e889b675cc00d8d7c0e5e4500198fc83d0e2f158ab7de4a0e23 dive-0.11.0.tar.gz
+"
diff --git a/testing/dk/APKBUILD b/testing/dk/APKBUILD
deleted file mode 100644
index 2541f01f479..00000000000
--- a/testing/dk/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Matthew T Hoare <matthew.t.hoare@gmail.com>
-# Maintainer: Matthew T Hoare <matthew.t.hoare@gmail.com>
-pkgname=dk
-pkgver=1.2
-pkgrel=1
-pkgdesc="tiling window manager taking inspiration from dwm, bspwm, and xmonad"
-url="https://bitbucket.org/natemaia/dk"
-arch="all !mips64"
-license="MIT"
-makedepends="libxcb-dev xcb-util-dev xcb-util-wm-dev xcb-util-cursor-dev xcb-util-keysyms-dev"
-options="!check" # no tests
-install="$pkgname.post-install"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://bitbucket.org/natemaia/dk/get/v$pkgver.tar.gz
- dk.desktop
- fix-musl.patch"
-builddir="$srcdir"/natemaia-dk-f2a77537d71a
-
-build() {
- make PREFIX=/usr
-}
-
-package() {
- make PREFIX=/usr DESTDIR="$pkgdir" install
- install -d 644 "$pkgdir"/usr/share/xsessions
- install -Dm 644 "$srcdir"/dk.desktop "$pkgdir"/usr/share/xsessions/dk.desktop
-}
-
-sha512sums="
-18601b8f503e3d888f27c5a05ecfb6e50118fb8926ee361335d07f3d14d4f136c95d0ed79cd99053c4af0008dad01fe04b7354bde70bb1c30e78cd12b3afdca1 dk-1.2.tar.gz
-4d8e8e44b39b47621f9643708b6376178131495fde2b6a8c13d00f9f293f6b4c5adfba8f5000ce3588c86187fb4545f5f26e04b6837ac43e844b11ec28b199cb dk.desktop
-2539ec93a2b295f743419e3cbfac8d14f04d51c997d7fa26c730ec33e85e017e863eb63adc9c90f4ab5bfb48b1560799964bd568ba5172013991087fc9e22913 fix-musl.patch
-"
diff --git a/testing/dk/dk.desktop b/testing/dk/dk.desktop
deleted file mode 100644
index 09e12466fd7..00000000000
--- a/testing/dk/dk.desktop
+++ /dev/null
@@ -1,5 +0,0 @@
-[Desktop Entry]
-Name=dk
-Comment=dk tiling window manager
-Exec=dk
-Type=XSession
diff --git a/testing/dk/dk.post-install b/testing/dk/dk.post-install
deleted file mode 100644
index c3ba952d866..00000000000
--- a/testing/dk/dk.post-install
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/bin/sh
-
-cat << EOF
-
- Get started with dk using the example rc files:
-
- $ mkdir -p ~/.config/dk ~/.config/sxhkd
- $ cp /usr/share/doc/dk/dkrc ~/.config/dk/
- $ cp /usr/share/doc/dk/sxhkdrc ~/.config/sxhkd/
-
- For more information, see dk(1) or
- https://bitbucket.org/natemaia/dk/src/master/README.md
-
-EOF
diff --git a/testing/dk/fix-musl.patch b/testing/dk/fix-musl.patch
deleted file mode 100644
index 39ff1bed7d3..00000000000
--- a/testing/dk/fix-musl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/src/dk.h
-+++ b/src/dk.h
-@@ -17,8 +17,10 @@
- #endif
-
- #ifndef NAN
-- #if __GNUC_PREREQ (3, 3)
-- #define NAN (__builtin_nanf(""))
-+ #if defined(__GLIBC__)
-+ #if __GNUC_PREREQ (3, 3)
-+ #define NAN (__builtin_nanf(""))
-+ #endif
- #else
- #define NAN (0.0f / 0.0f)
- #endif
diff --git a/testing/dlib/APKBUILD b/testing/dlib/APKBUILD
index 5d83748241d..bc21b6a3dfc 100644
--- a/testing/dlib/APKBUILD
+++ b/testing/dlib/APKBUILD
@@ -1,30 +1,35 @@
# Contributor: Davis E. King <davis@dlib.net>
# Maintainer: Adriaan Groenenboom <agboom@pm.me>
pkgname=dlib
-pkgver=19.18
-pkgrel=1
+pkgver=19.24.4
+pkgrel=0
pkgdesc="A toolkit for making real world machine learning and data analysis applications in C++"
url="http://dlib.net"
-arch="all !mips !mips64" # blocked by openblas
+arch="all"
license="BSL-1.0"
-makedepends="cmake openblas-dev libx11-dev libjpeg-turbo-dev libpng-dev"
-source="dlib-$pkgver.tar.bz2::https://downloads.sourceforge.net/project/dclib/dlib/v$pkgver/dlib-$pkgver.tar.bz2"
-sha512sums="0b65c35b6f351da948b2fe193b83ba22627dc259fc4adf3540abdca1febe87ec83d68ba64ea37f15c05173b92915cc5d2fa687d8f342ca203eac8a5c1e79ca8d dlib-19.18.tar.bz2"
+makedepends="
+ cmake
+ libjpeg-turbo-dev
+ libpng-dev
+ libx11-dev
+ openblas-dev
+ samurai
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/davisking/dlib/archive/refs/tags/v$pkgver.tar.gz"
build() {
- cd "$srcdir"
- mkdir -p build && cd build
- cmake \
- -DCMAKE_INSTALL_PREFIX:PATH=/usr \
- -DCMAKE_INSTALL_LIBDIR:PATH=/usr/lib \
- -DBUILD_SHARED_LIBS:BOOL=ON \
- -DCMAKE_BUILD_TYPE=None \
- "../$pkgname-$pkgver"
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
}
package() {
- cd "$srcdir/build"
- make DESTDIR=${pkgdir} install
- install -Dm644 "../$pkgname-$pkgver/dlib/LICENSE.txt" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ DESTDIR=$pkgdir cmake --install build
}
+
+sha512sums="
+36df942129ac00893056ca1db662a5fa655d2c8af24012df5001bed1675e9552b7b2dbec37841c21f4be60de932dc6453ea0e669a309377f8bc4cbf733da7821 dlib-19.24.4.tar.gz
+"
diff --git a/testing/dma/APKBUILD b/testing/dma/APKBUILD
deleted file mode 100644
index a296c2b53b3..00000000000
--- a/testing/dma/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=dma
-pkgver=0.13
-pkgrel=2
-pkgdesc="A small Mail Transport Agent from DragonFly BSD"
-url="https://github.com/corecode/dma"
-arch="x86_64 x86 ppc64le"
-license="BSD-3-Clause"
-makedepends="bison flex libbsd-dev bsd-compat-headers openssl-dev"
-options="suid"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/corecode/dma/archive/v$pkgver.tar.gz
- $pkgname.cron
- musl-fixes.patch"
-
-build() {
- make PREFIX=/usr
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install install-etc
-
- local _prog=
- for _prog in bin/mailq bin/newaliases sbin/sendmail; do
- mkdir -p "$pkgdir"/usr/${_prog%/*}
- ln -s /usr/sbin/dma "$pkgdir"/usr/$_prog
- done
-
- # Create spool directory.
- install -d -o root -g mail \
- -m 775 "$pkgdir"/var/spool/$pkgname
-
- # Install cronjob.
- install -Dm755 "$srcdir"/$pkgname.cron \
- "$pkgdir"/etc/periodic/15min/$pkgname
-
- # Install additional documentation files.
- mkdir -p "$pkgdir"/usr/share/doc/$pkgname/examples
- install -m644 README.markdown TODO \
- "$pkgdir"/usr/share/doc/$pkgname/
-}
-
-sha512sums="
-12ca04c6e67ffeead4596dcbf6bbc42547461b224a7f70e7185822b5f968c369de4c20ae7de3415a54f6eef7d4acc12d5fca5ff5851d640f3611d89a345b41ac dma-0.13.tar.gz
-5a79895fd42ffee347b979402225eb8025ea9bb41d0dc24b43d4b1e64106f1c612024456ea98e20aef4258eb8e852b370410e47d6ee34cea630dda29cc54840e dma.cron
-051af3d10711f7565fedd3a06c152454020e903e2e923a37cc77ccbf4346f308edecfe4f3d3c37a3cb2e54d1fb336bb4d9cea2a7d6dc560aec3c2369eb55e6a9 musl-fixes.patch
-"
diff --git a/testing/dma/dma.cron b/testing/dma/dma.cron
deleted file mode 100644
index d37f4f9f3c6..00000000000
--- a/testing/dma/dma.cron
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-# Flush the DMA queue automatically.
-
-/usr/sbin/dma -q1
-exit 0
diff --git a/testing/dma/musl-fixes.patch b/testing/dma/musl-fixes.patch
deleted file mode 100644
index bf7d805b2f4..00000000000
--- a/testing/dma/musl-fixes.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-diff -upr dma-0.11.orig/dfcompat.c dma-0.11/dfcompat.c
---- dma-0.11.orig/dfcompat.c 2016-02-29 15:33:18.153280618 +0100
-+++ dma-0.11/dfcompat.c 2016-02-29 15:33:25.749914514 +0100
-@@ -105,7 +105,7 @@ reallocf(void *ptr, size_t size)
-
- #ifndef HAVE_GETPROGNAME
-
--#ifdef __GLIBC__
-+#ifdef __linux__
-
- #include <errno.h>
-
-diff -upr dma-0.11.orig/dma.h dma-0.11/dma.h
---- dma-0.11.orig/dma.h 2016-02-29 15:33:18.153280618 +0100
-+++ dma-0.11/dma.h 2016-02-29 15:33:25.749914514 +0100
-@@ -38,7 +38,7 @@
- #define DMA_H
-
- #include <sys/types.h>
--#include <sys/queue.h>
-+#include <bsd/sys/queue.h>
- #include <sys/socket.h>
- #include <arpa/nameser.h>
- #include <arpa/inet.h>
-diff -upr dma-0.11.orig/dns.c dma-0.11/dns.c
---- dma-0.11.orig/dns.c 2016-02-29 15:33:18.153280618 +0100
-+++ dma-0.11/dns.c 2016-02-29 15:33:30.979891954 +0100
-@@ -44,6 +44,9 @@
- #include <stdlib.h>
-
- #include "dma.h"
-+#ifndef roundup
-+#define roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
-+#endif
-
- static int
- sort_pref(const void *a, const void *b)
diff --git a/testing/dmarc-metrics-exporter/APKBUILD b/testing/dmarc-metrics-exporter/APKBUILD
new file mode 100644
index 00000000000..f58eff44547
--- /dev/null
+++ b/testing/dmarc-metrics-exporter/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=dmarc-metrics-exporter
+pkgver=1.0.0
+pkgrel=2
+pkgdesc="Prometheus metrics exporter from DMARC reports"
+url="https://github.com/jgosmann/dmarc-metrics-exporter"
+arch="noarch !s390x"
+# s390x: because of py3-xsdata
+# see https://gitlab.alpinelinux.org/alpine/aports/-/issues/15642
+license="MIT"
+depends="
+ py3-bite-parser
+ py3-dataclasses-serialization
+ py3-prometheus-client
+ py3-structlog
+ py3-uvloop
+ py3-xsdata
+ uvicorn
+ "
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-poetry-core
+ py3-poetry-dynamic-versioning
+ py3-wheel
+ "
+checkdepends="
+ py3-aiohttp
+ py3-pytest-aiohttp
+ py3-pytest-asyncio
+ py3-pytest-forked
+ py3-requests
+ "
+install="$pkgname.pre-install"
+subpackages="$pkgname-pyc $pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jgosmann/dmarc-metrics-exporter/archive/refs/tags/v$pkgver.tar.gz
+ dmarc-metrics-exporter.initd
+ dmarc-metrics-exporter.confd
+ "
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ # need a specific running imap server
+ pytest --forked \
+ --deselect=dmarc_metrics_exporter/tests/test_imap_queue.py \
+ --deselect=dmarc_metrics_exporter/tests/test_imap_client.py \
+ --deselect=dmarc_metrics_exporter/tests/test_e2e.py::test_successful_processing_of_incoming_queue_message
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+ rm -r "$pkgdir"/usr/lib/python*/site-packages/dmarc_metrics_exporter/tests/
+
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+b19c52684f411e3ce5e621c567d69153fbaf2b156ce45883dae668fc9cf8e9b565f7af173fa75c32772bc72395a9df051d1447015bca21d8df700c543a26af86 dmarc-metrics-exporter-1.0.0.tar.gz
+a067d586708eed0501687d0117ad7cbf8acb4624b161daa99a39e8fb116d2f6265fa7000425f21139c6033b88da5915f5adef7584b0708b5d190343c387cc1a5 dmarc-metrics-exporter.initd
+b5c8ef2683b8d4a0cb6b886a8acdd5e7b8e361320cdb7256f9e29960b44cad590b1a98b65cad23de22e72c33519fcb9c971b92892683ab1692e060fb0772b0df dmarc-metrics-exporter.confd
+"
diff --git a/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.confd b/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.confd
new file mode 100755
index 00000000000..b3b26199d80
--- /dev/null
+++ b/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.confd
@@ -0,0 +1,10 @@
+# Configuration for /etc/init.d/dmarc-metrics-exporter
+
+# User (and group) to run as
+#command_user="prometheus"
+
+# Additional arguments
+#command_args=
+
+# Comment out to disable process supervisor.
+supervisor=supervise-daemon
diff --git a/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.initd b/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.initd
new file mode 100755
index 00000000000..0c42349a0e2
--- /dev/null
+++ b/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+
+name="dmarc-metrics-exporter"
+
+: ${command_user:="prometheus"}
+
+command="/usr/bin/dmarc-metrics-exporter"
+command_args="$command_args"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.pre-install b/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.pre-install
new file mode 100755
index 00000000000..f143b00e781
--- /dev/null
+++ b/testing/dmarc-metrics-exporter/dmarc-metrics-exporter.pre-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+addgroup -S prometheus 2>/dev/null
+adduser -S -D -H -s /bin/false -G prometheus -g prometheus prometheus 2>/dev/null
+
+exit 0
+
diff --git a/testing/dmg2img/APKBUILD b/testing/dmg2img/APKBUILD
deleted file mode 100644
index 102646e8476..00000000000
--- a/testing/dmg2img/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=dmg2img
-pkgver=1.6.7
-pkgrel=0
-pkgdesc="A CLI tool to uncompress Apple's compressed DMG files to the HFS+ IMG format"
-url="http://vu1tur.eu.org/tools/"
-arch="all"
-license="GPL2"
-#no check/test available
-options="!check"
-makedepends="openssl-dev zlib-dev bzip2-dev"
-source="http://vu1tur.eu.org/tools/$pkgname-$pkgver.tar.gz
-openssl-compatibility.patch"
-builddir="$srcdir/$pkgname-$pkgver"
-
-build() {
- cd "$builddir"
- make PREFIX="/usr"
-}
-
-package() {
- cd "$builddir"
- make PREFIX="/usr" DESTDIR="$pkgdir" install
-}
-
-sha512sums="4c42841c5cdbf868b6038648a6c83e78d4b7f2010f7065d7b3f4c2c04d13af9489716c1dfa867aff5f3c3b3eef96dc3fc0610eff13fec139265f37f468e339e6 dmg2img-1.6.7.tar.gz
-fbddcbdfe3fa6d54b43395f6e37a64bad94342a864202854ec1dbfe1cf7e26660d2ff60b216c4f002d7fae04832b00c82c7b3f8545f0753407144abb7dda85f3 openssl-compatibility.patch"
diff --git a/testing/dmg2img/openssl-compatibility.patch b/testing/dmg2img/openssl-compatibility.patch
deleted file mode 100644
index 831da4cdb29..00000000000
--- a/testing/dmg2img/openssl-compatibility.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-From f16f247d30f868e84f31e24792b4464488f1c009 Mon Sep 17 00:00:00 2001
-From: Peter Wu <peter@lekensteyn.nl>
-Date: Tue, 2 May 2017 15:53:38 +0200
-Subject: [PATCH] vfdecrypt: OpenSSL 1.1 compatibility
-
-Allocate contexts from the heap on all OpenSSL versions, this is needed
-since OpenSSL 1.1.0. No attempt is done at addressing issues like global
-variables and fixing potential memleaks on error paths.
-
-Compile-tested only with OpenSSL 1.1.0e (Arch Linux) and OpenSSL 1.0.2g
-(Ubuntu 16.04), I have no test file.
-
-Fixes https://github.com/Lekensteyn/dmg2img/issues/4
----
- vfdecrypt.c | 103 ++++++++++++++++++++++++++++++++++++++++------------
- 1 file changed, 80 insertions(+), 23 deletions(-)
-
-diff --git a/vfdecrypt.c b/vfdecrypt.c
-index 56d3530..b1a36d3 100644
---- a/vfdecrypt.c
-+++ b/vfdecrypt.c
-@@ -183,7 +183,7 @@ void adjust_v2_header_byteorder(cencrypted_v2_pwheader *pwhdr) {
- pwhdr->encrypted_keyblob_size = htonl(pwhdr->encrypted_keyblob_size);
- }
-
--HMAC_CTX hmacsha1_ctx;
-+HMAC_CTX *hmacsha1_ctx;
- AES_KEY aes_decrypt_key;
- int CHUNK_SIZE=4096; // default
-
-@@ -196,9 +196,9 @@ void compute_iv(uint32_t chunk_no, uint8_t *iv) {
- unsigned int mdLen;
-
- chunk_no = OSSwapHostToBigInt32(chunk_no);
-- HMAC_Init_ex(&hmacsha1_ctx, NULL, 0, NULL, NULL);
-- HMAC_Update(&hmacsha1_ctx, (void *) &chunk_no, sizeof(uint32_t));
-- HMAC_Final(&hmacsha1_ctx, mdResult, &mdLen);
-+ HMAC_Init_ex(hmacsha1_ctx, NULL, 0, NULL, NULL);
-+ HMAC_Update(hmacsha1_ctx, (void *) &chunk_no, sizeof(uint32_t));
-+ HMAC_Final(hmacsha1_ctx, mdResult, &mdLen);
- memcpy(iv, mdResult, CIPHER_BLOCKSIZE);
- }
-
-@@ -212,52 +212,75 @@ void decrypt_chunk(uint8_t *ctext, uint8_t *ptext, uint32_t chunk_no) {
- /* DES3-EDE unwrap operation loosely based on to RFC 2630, section 12.6
- * wrapped_key has to be 40 bytes in length. */
- int apple_des3_ede_unwrap_key(uint8_t *wrapped_key, int wrapped_key_len, uint8_t *decryptKey, uint8_t *unwrapped_key) {
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
- uint8_t *TEMP1, *TEMP2, *CEKICV;
- uint8_t IV[8] = { 0x4a, 0xdd, 0xa2, 0x2c, 0x79, 0xe8, 0x21, 0x05 };
- int outlen, tmplen, i;
-
-- EVP_CIPHER_CTX_init(&ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ ctx = EVP_CIPHER_CTX_new();
-+#else
-+ ctx = malloc(sizeof(*ctx));
-+#endif
-+ if (!ctx) {
-+ fprintf(stderr, "Out of memory: EVP_CIPHER_CTX!\n");
-+ return(-1);
-+ }
-+
-+ EVP_CIPHER_CTX_init(ctx);
- /* result of the decryption operation shouldn't be bigger than ciphertext */
- TEMP1 = malloc(wrapped_key_len);
- TEMP2 = malloc(wrapped_key_len);
- CEKICV = malloc(wrapped_key_len);
- /* uses PKCS#7 padding for symmetric key operations by default */
-- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, decryptKey, IV);
-+ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, decryptKey, IV);
-
-- if(!EVP_DecryptUpdate(&ctx, TEMP1, &outlen, wrapped_key, wrapped_key_len)) {
-+ if(!EVP_DecryptUpdate(ctx, TEMP1, &outlen, wrapped_key, wrapped_key_len)) {
- fprintf(stderr, "internal error (1) during key unwrap operation!\n");
- return(-1);
- }
-- if(!EVP_DecryptFinal_ex(&ctx, TEMP1 + outlen, &tmplen)) {
-+ if(!EVP_DecryptFinal_ex(ctx, TEMP1 + outlen, &tmplen)) {
- fprintf(stderr, "internal error (2) during key unwrap operation!\n");
- return(-1);
- }
- outlen += tmplen;
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_CIPHER_CTX_reset(ctx);
-+#else
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#endif
-
- /* reverse order of TEMP3 */
- for(i = 0; i < outlen; i++) TEMP2[i] = TEMP1[outlen - i - 1];
-
-- EVP_CIPHER_CTX_init(&ctx);
-+ EVP_CIPHER_CTX_init(ctx);
- /* uses PKCS#7 padding for symmetric key operations by default */
-- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, decryptKey, TEMP2);
-- if(!EVP_DecryptUpdate(&ctx, CEKICV, &outlen, TEMP2+8, outlen-8)) {
-+ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, decryptKey, TEMP2);
-+ if(!EVP_DecryptUpdate(ctx, CEKICV, &outlen, TEMP2+8, outlen-8)) {
- fprintf(stderr, "internal error (3) during key unwrap operation!\n");
- return(-1);
- }
-- if(!EVP_DecryptFinal_ex(&ctx, CEKICV + outlen, &tmplen)) {
-+ if(!EVP_DecryptFinal_ex(ctx, CEKICV + outlen, &tmplen)) {
- fprintf(stderr, "internal error (4) during key unwrap operation!\n");
- return(-1);
- }
-
- outlen += tmplen;
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_CIPHER_CTX_reset(ctx);
-+#else
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+#endif
-
- memcpy(unwrapped_key, CEKICV+4, outlen-4);
- free(TEMP1);
- free(TEMP2);
- free(CEKICV);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_CIPHER_CTX_free(ctx);
-+#else
-+ free(ctx);
-+#endif
- return(0);
- }
-
-@@ -279,31 +302,46 @@ int unwrap_v1_header(char *passphrase, cencrypted_v1_header *header, uint8_t *ae
- int unwrap_v2_header(char *passphrase, cencrypted_v2_pwheader *header, uint8_t *aes_key, uint8_t *hmacsha1_key) {
- /* derived key is a 3DES-EDE key */
- uint8_t derived_key[192/8];
-- EVP_CIPHER_CTX ctx;
-+ EVP_CIPHER_CTX *ctx;
- uint8_t *TEMP1;
- int outlen, tmplen;
-
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ ctx = EVP_CIPHER_CTX_new();
-+#else
-+ ctx = malloc(sizeof(*ctx));
-+#endif
-+ if (!ctx) {
-+ fprintf(stderr, "Out of memory: EVP_CIPHER_CTX!\n");
-+ return(-1);
-+ }
-+
- PKCS5_PBKDF2_HMAC_SHA1(passphrase, strlen(passphrase), (unsigned char*)header->kdf_salt, 20,
- PBKDF2_ITERATION_COUNT, sizeof(derived_key), derived_key);
-
- print_hex(derived_key, 192/8);
-
-- EVP_CIPHER_CTX_init(&ctx);
-+ EVP_CIPHER_CTX_init(ctx);
- /* result of the decryption operation shouldn't be bigger than ciphertext */
- TEMP1 = malloc(header->encrypted_keyblob_size);
- /* uses PKCS#7 padding for symmetric key operations by default */
-- EVP_DecryptInit_ex(&ctx, EVP_des_ede3_cbc(), NULL, derived_key, header->blob_enc_iv);
-+ EVP_DecryptInit_ex(ctx, EVP_des_ede3_cbc(), NULL, derived_key, header->blob_enc_iv);
-
-- if(!EVP_DecryptUpdate(&ctx, TEMP1, &outlen, header->encrypted_keyblob, header->encrypted_keyblob_size)) {
-+ if(!EVP_DecryptUpdate(ctx, TEMP1, &outlen, header->encrypted_keyblob, header->encrypted_keyblob_size)) {
- fprintf(stderr, "internal error (1) during key unwrap operation!\n");
- return(-1);
- }
-- if(!EVP_DecryptFinal_ex(&ctx, TEMP1 + outlen, &tmplen)) {
-+ if(!EVP_DecryptFinal_ex(ctx, TEMP1 + outlen, &tmplen)) {
- fprintf(stderr, "internal error (2) during key unwrap operation!\n");
- return(-1);
- }
- outlen += tmplen;
-- EVP_CIPHER_CTX_cleanup(&ctx);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ EVP_CIPHER_CTX_free(ctx);
-+#else
-+ EVP_CIPHER_CTX_cleanup(ctx);
-+ free(ctx);
-+#endif
- memcpy(aes_key, TEMP1, 16);
- memcpy(hmacsha1_key, TEMP1, 20);
-
-@@ -446,8 +484,21 @@ int main(int argc, char *argv[]) {
- CHUNK_SIZE = v2header.blocksize;
- }
-
-- HMAC_CTX_init(&hmacsha1_ctx);
-- HMAC_Init_ex(&hmacsha1_ctx, hmacsha1_key, sizeof(hmacsha1_key), EVP_sha1(), NULL);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ hmacsha1_ctx = HMAC_CTX_new();
-+#else
-+ hmacsha1_ctx = malloc(sizeof(*hmacsha1_ctx));
-+#endif
-+ if (!hmacsha1_ctx) {
-+ fprintf(stderr, "Out of memory: HMAC CTX!\n");
-+ exit(1);
-+ }
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ HMAC_CTX_reset(hmacsha1_ctx);
-+#else
-+ HMAC_CTX_init(hmacsha1_ctx);
-+#endif
-+ HMAC_Init_ex(hmacsha1_ctx, hmacsha1_key, sizeof(hmacsha1_key), EVP_sha1(), NULL);
- AES_set_decrypt_key(aes_key, CIPHER_KEY_LENGTH * 8, &aes_decrypt_key);
-
- if (verbose >= 1) {
-@@ -472,5 +523,11 @@ int main(int argc, char *argv[]) {
- }
-
- if (verbose) fprintf(stderr, "%"PRIX32" chunks written\n", chunk_no);
-+#if OPENSSL_VERSION_NUMBER >= 0x10100000L
-+ HMAC_CTX_free(hmacsha1_ctx);
-+#else
-+ HMAC_CTX_cleanup(hmacsha1_ctx);
-+ free(hmacsha1_ctx);
-+#endif
- return(0);
- }
diff --git a/testing/dnscontrol/APKBUILD b/testing/dnscontrol/APKBUILD
new file mode 100644
index 00000000000..f35cf0f9e5a
--- /dev/null
+++ b/testing/dnscontrol/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
+# Maintainer: Nicolas Lorin <androw95220@gmail.com>
+pkgname=dnscontrol
+pkgver=4.9.0
+pkgrel=0
+pkgdesc="Synchronize your DNS to multiple providers from a simple DSL"
+url="https://stackexchange.github.io/dnscontrol/"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/StackExchange/dnscontrol/archive/v$pkgver.tar.gz
+ dnsconfig.js"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build
+}
+
+check() {
+ ./dnscontrol check --config ../dnsconfig.js
+}
+
+package() {
+ install -Dm755 dnscontrol "$pkgdir"/usr/bin/dnscontrol
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+42dec7495e00595fb8d6ec174b45e87505a874a7f1ed286040a5ce0718cb9dee8b9a903f8c3f9f7c30a2e4e162a938b490667b397fe3ea6df79baa9df4036b58 dnscontrol-4.9.0.tar.gz
+5503f149662dcf4d8548bc7e60bf566b2c4e7580593a15cca8f344f37103f413b860f4cb25ed38a620cf650528f133e4dc4d51824993b4e314acba5308a225d4 dnsconfig.js
+"
diff --git a/testing/dnscontrol/dnsconfig.js b/testing/dnscontrol/dnsconfig.js
new file mode 100644
index 00000000000..2595cb00010
--- /dev/null
+++ b/testing/dnscontrol/dnsconfig.js
@@ -0,0 +1,9 @@
+var namecom = NewRegistrar("name.com", "NAMEDOTCOM");
+var r53 = NewDnsProvider("r53", "ROUTE53")
+
+D("example.com", namecom, DnsProvider(r53),
+ A("@", "1.2.3.4"),
+ CNAME("www","@"),
+ MX("@",5,"mail.myserver.com."),
+ A("test", "5.6.7.8")
+)
diff --git a/testing/dnscrypt-wrapper/APKBUILD b/testing/dnscrypt-wrapper/APKBUILD
index 5bec041a527..ed16f5aa118 100644
--- a/testing/dnscrypt-wrapper/APKBUILD
+++ b/testing/dnscrypt-wrapper/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dnscrypt-wrapper
pkgver=0.4.2
-pkgrel=0
+pkgrel=3
pkgdesc="dnscrypt wrapper (server-side dnscrypt proxy), which helps to add dnscrypt support to any name resolver"
url="https://github.com/Cofyc/dnscrypt-wrapper"
arch="all"
diff --git a/testing/dnsenum/APKBUILD b/testing/dnsenum/APKBUILD
index 8abe029461c..2e0a972cdc3 100644
--- a/testing/dnsenum/APKBUILD
+++ b/testing/dnsenum/APKBUILD
@@ -1,23 +1,29 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=dnsenum
-pkgver=1.2.4.2
+pkgver=1.3.1
pkgrel=0
-pkgdesc="A tool to enumerate DNS info about domains"
-url="https://github.com/fwaeytens/dnsenum"
+pkgdesc="Tool to enumerate DNS info about domains"
+url="https://github.com/SparrowOchon/dnsenum2"
arch="noarch"
license="GPL-2.0-or-later"
-depends="perl-net-ip perl-net-dns perl-net-netmask perl-xml-writer perl-string-random"
-source="$pkgname-$pkgver.tar.gz::https://github.com/fwaeytens/dnsenum/archive/$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
+depends="
+ perl-net-dns perl-net-ip perl-net-netmask
+ perl-string-random perl-xml-writer
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/SparrowOchon/dnsenum2/archive/v$pkgver.tar.gz"
+builddir="$srcdir/${pkgname}2-$pkgver"
+options="!check" # no tests provided
build() {
- return 0
+ make
}
package() {
- cd "$builddir"
- install -Dm755 $pkgname.pl "$pkgdir"/usr/bin/$pkgname || return 1
+ make DESTDIR="$pkgdir" INSTALL_DEPS=0 install
}
-sha512sums="c4ff6c6b6d6be0f60a3c784c259a51d51b6e0b72d1528efb8ed5ad038fd859d5884d13adb272b066f7b381a49b68ec6b507a9a94c2ca5061829051ff3adbc93b dnsenum-1.2.4.2.tar.gz"
+sha512sums="
+26cec4056ae787ee297868e58ca384946e1edb80be36b0a92beca846a8abb9be21963295cb2cc3349d9ec765b30b308f3721347d24208481c35dce371c32db97 dnsenum-1.3.1.tar.gz
+"
diff --git a/testing/dnsfunnel/APKBUILD b/testing/dnsfunnel/APKBUILD
index b7d0003a2e3..2f346d5299b 100644
--- a/testing/dnsfunnel/APKBUILD
+++ b/testing/dnsfunnel/APKBUILD
@@ -1,14 +1,14 @@
-# Maintainer: Laurent Bercot <ska-devel@skarnet.org>
# Contributor: Laurent Bercot <ska-devel@skarnet.org>
+# Maintainer: Laurent Bercot <ska-devel@skarnet.org>
pkgname=dnsfunnel
-pkgver=0.0.1.3
+pkgver=0.0.1.6
pkgrel=0
pkgdesc="A small local DNS cache daemon"
-url="https://skarnet.org/software/$pkgname/"
+url=https://skarnet.org/software/dnsfunnel/
arch="all"
license="ISC"
options="!check" # no test targets
-makedepends="skalibs-dev>=2.11 s6-dns-dev"
+makedepends="skalibs-dev>=2.14 s6-dns-dev"
subpackages="$pkgname-doc $pkgname-openrc"
source="https://skarnet.org/software/dnsfunnel/dnsfunnel-$pkgver.tar.gz
dnsfunnel.initd"
@@ -38,6 +38,6 @@ doc() {
}
sha512sums="
-8ef21653e04095f816913e65056aff97b46da8da9c8dd1e43a8742d7e77a2e2ce5e882059ff5eba7089589f4c903c8465dfdbb788ea22f247b411b191bd44d20 dnsfunnel-0.0.1.3.tar.gz
+ceecdbf268eca39ffac37d09a7f85fd799aa7fe1b15a83954bfb448f22edc53e84aab2e90d4492d6ddc7d1342e0f5889aa1bd1b16087a7d49c37ee35a8637bdb dnsfunnel-0.0.1.6.tar.gz
b34242cbf457a26770e87ea36d2d6169a42367e4a04444a48b7cae3688827c61e93aeafbd1d009b19e327db66723e9a7c161c4a0b1e27fa3746ccf1cd29a5d2e dnsfunnel.initd
"
diff --git a/testing/dnsperf/APKBUILD b/testing/dnsperf/APKBUILD
index da3a209c510..0b6bf15bd6c 100644
--- a/testing/dnsperf/APKBUILD
+++ b/testing/dnsperf/APKBUILD
@@ -1,18 +1,29 @@
# Contributor: Thomas Deutsch <thomas@tuxpeople.org>
# Maintainer: Thomas Deutsch <thomas@tuxpeople.org>
pkgname=dnsperf
-pkgver=2.4.0
-pkgrel=1
+pkgver=2.14.0
+pkgrel=0
pkgdesc="Dnsperf and resperf gather accurate latency and throughput metrics for DNS"
url="https://www.dns-oarc.net/tools/dnsperf"
arch="all"
license="Apache-2.0"
-makedepends="ldns-dev openssl-dev libxml2-dev libcap-dev json-c-dev krb5-dev
- protobuf-c-dev fstrm-dev"
+makedepends="
+ ck-dev
+ fstrm-dev
+ json-c-dev
+ krb5-dev
+ ldns-dev
+ libcap-dev
+ libxml2-dev
+ nghttp2-dev
+ openssl-dev
+ protobuf-c-dev
+ "
subpackages="$pkgname-doc"
source="https://www.dns-oarc.net/files/dnsperf/dnsperf-$pkgver.tar.gz"
build() {
+ CFLAGS="$CFLAGS -flto=auto -D_BSD_SOURCE -D_POSIX_C_SOURCE=200809L" \
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -31,4 +42,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="dfa4ff3d941fd39af09901dcbb7e10c048687a469c1698408360bc509909a5d5b13bd270c91d886732fc4490d886ebc906f1b9f290ffa357bf53c7e99b69c679 dnsperf-2.4.0.tar.gz"
+sha512sums="
+ebca70071a07b2f5b2a07866c22aa9f459981f70be06047ada760bf7e53bf44c355cf964674483ce5eae736a64b9061d773a44e8c46f956525d29144ca48a9fd dnsperf-2.14.0.tar.gz
+"
diff --git a/testing/dnssec-tools/APKBUILD b/testing/dnssec-tools/APKBUILD
index 012d989942b..3aae4072992 100644
--- a/testing/dnssec-tools/APKBUILD
+++ b/testing/dnssec-tools/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=dnssec-tools
pkgver=2.2.3
-pkgrel=6
+pkgrel=10
pkgdesc="Set of tools that will help ease the deployment of DNSSEC"
url="https://dnssec-tools.org/"
arch="all"
license="BSD-3-Clause"
depends="perl-net-dns-sec perl-mailtools"
-makedepends="autoconf automake bind-dev libtool openssl-dev perl-graphviz perl-crypt-openssl-random
+makedepends="autoconf automake bind-dev libtool openssl-dev>3 perl-graphviz perl-crypt-openssl-random
perl-net-dns perl-xml-simple perl-dev sed chrpath"
source="https://github.com/DNSSEC-Tools/DNSSEC-Tools/archive/dnssec-tools-$pkgver.tar.gz"
subpackages="$pkgname-dev $pkgname-doc"
@@ -16,7 +16,6 @@ subpackages="$pkgname-dev $pkgname-doc"
builddir="${srcdir}/DNSSEC-Tools-${pkgname}-${pkgver}/${pkgname}"
prepare() {
- local pf
update_config_guess
update_config_sub
default_prepare
@@ -30,7 +29,7 @@ prepare() {
}
build() {
- CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE=1" ./configure \
+ ./configure \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
@@ -43,8 +42,10 @@ build() {
package() {
mkdir -p "$pkgdir"/usr/share/man/man1
- make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" install -j1
chrpath -d "$pkgdir"/usr/bin/dt-*
}
-sha512sums="fd2467f116f77089bddf9311706f356957f4ae735d827d393534e4001b621c9dfc904ff3d4da698d37e8e97b1be9448ab2fd5455c124656399aac30f1f642baf dnssec-tools-2.2.3.tar.gz"
+sha512sums="
+fd2467f116f77089bddf9311706f356957f4ae735d827d393534e4001b621c9dfc904ff3d4da698d37e8e97b1be9448ab2fd5455c124656399aac30f1f642baf dnssec-tools-2.2.3.tar.gz
+"
diff --git a/testing/dnstap-ldns/APKBUILD b/testing/dnstap-ldns/APKBUILD
new file mode 100644
index 00000000000..6e43fd9f082
--- /dev/null
+++ b/testing/dnstap-ldns/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=dnstap-ldns
+pkgver=0.2.1
+pkgrel=0
+pkgdesc="Reference dnstap decoding utility"
+url="https://github.com/dnstap/dnstap-ldns"
+arch="all"
+license="Apache-2.0"
+makedepends="
+ autoconf
+ automake
+ fstrm-dev
+ ldns-dev
+ protobuf-c-dev
+ "
+source="https://github.com/dnstap/dnstap-ldns/archive/v$pkgver/dnstap-ldns-$pkgver.tar.gz"
+options="!check" # no tests provided
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+33040e78ffaefaa6fc996ae246b5b5341fd4ad4271a20be34bb53ccf4fd2cc96fb196a02b7a396b3cfd081e64486134baeef5b96c38143e581ff79f89806fea3 dnstap-ldns-0.2.1.tar.gz
+"
diff --git a/testing/doasedit/APKBUILD b/testing/doasedit/APKBUILD
new file mode 100644
index 00000000000..a3d8b4a5f99
--- /dev/null
+++ b/testing/doasedit/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Rosie K Languet <rkl@rosiesworkshop.net>
+# Contributor: Hygna <hygna@proton.me>
+# Maintainer: Rosie K Languet <rkl@rosiesworkshop.net>
+pkgname=doasedit
+pkgver=1.0.7
+pkgrel=0
+pkgdesc="Shellscript to edit files that are not in a user-writable location"
+url="https://codeberg.org/TotallyLeGIT/doasedit"
+arch="noarch"
+license="MIT"
+options="!check"
+depends="cmd:doas"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/TotallyLeGIT/doasedit/archive/$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
+
+package() {
+ install -D -m755 "doasedit" "$pkgdir/usr/bin/doasedit"
+}
+
+sha512sums="
+72100a4294469bc06ab3f356f70950e621f5b80bf66fdba096a78158050fc50338d628c87f1aae9b15273fd6e67d0e9af8c227c611a94cf93d8d24f8ea905128 doasedit-1.0.7.tar.gz
+"
diff --git a/testing/docbook2mdoc/APKBUILD b/testing/docbook2mdoc/APKBUILD
index d9d81322dfa..f32bc9c148e 100644
--- a/testing/docbook2mdoc/APKBUILD
+++ b/testing/docbook2mdoc/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=docbook2mdoc
pkgver=1.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="DocBook to mdoc converter"
url="https://mandoc.bsd.lv/docbook2mdoc/"
arch="all"
diff --git a/testing/docker-auth/APKBUILD b/testing/docker-auth/APKBUILD
new file mode 100644
index 00000000000..4b3d32ae8bc
--- /dev/null
+++ b/testing/docker-auth/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Conrad Hoffmann <ch@bitfehler.net>
+pkgname=docker-auth
+pkgver=1.11.0
+pkgrel=7
+pkgdesc="Authentication server for Docker Registry 2"
+url="https://github.com/cesanta/docker_auth"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+install="$pkgname.pre-install"
+pkgusers="docker-auth"
+pkggroups="docker-auth"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cesanta/docker_auth/archive/refs/tags/$pkgver.tar.gz
+ $pkgname.initd
+ $pkgname.confd
+ reference-example.patch
+ "
+builddir="$srcdir/docker_auth-$pkgver"
+options="net"
+
+build() {
+ make -C auth_server VERSION="$pkgver" BUILD_ID="$pkgver@alpine" build
+}
+
+check() {
+ ./auth_server/auth_server -h
+}
+
+package() {
+ install -D -m755 auth_server/auth_server "$pkgdir"/usr/bin/$pkgname
+ install -D -m640 -o $pkgusers -g $pkggroups \
+ examples/reference.yml "$pkgdir"/etc/$pkgname/config.yml
+ install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+3fcf54566ed22c9c9b5507695f5f50deb83312218820ab9a189e8ad5070f9514abb2a3888a5848f6c15fba2a3ef9b310021f24d9263600a3b54deaad30bd7ad5 docker-auth-1.11.0.tar.gz
+019969b04fca65c72f8a699814b6746885f815bebd985c706883170b15ba159b353aaa1c62524f4b43c960c183039f6f123260a820752817bfded4585330b8d1 docker-auth.initd
+fece8767508923b72d86ae106099d97cf92ab43f776fbc4ccc98fb751dff6650101df17827b51c25748052e4fc3f5e21139b84712cef0bfb6366ba8c8afcd1b9 docker-auth.confd
+c0132fe460bcfe36a0c7b16d543509516b5a0239e710cf9995809259d0112dbe408a1a6080b3b044127c2d0b48dd9a726db3f707d4073800067302282b44e016 reference-example.patch
+"
diff --git a/testing/docker-auth/docker-auth.confd b/testing/docker-auth/docker-auth.confd
new file mode 100644
index 00000000000..e5a9a748b5f
--- /dev/null
+++ b/testing/docker-auth/docker-auth.confd
@@ -0,0 +1,10 @@
+# Configuration for /etc/init.d/docker-registry
+
+# Path to the configuration file.
+cfgfile="/etc/docker-auth/config.yml"
+
+# The user and group to run docker-registry as.
+command_user="docker-auth:docker-auth"
+
+# Uncomment to run with process supervisor.
+# supervisor=supervise-daemon
diff --git a/testing/docker-auth/docker-auth.initd b/testing/docker-auth/docker-auth.initd
new file mode 100644
index 00000000000..e54a8986041
--- /dev/null
+++ b/testing/docker-auth/docker-auth.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+
+name="Docker registry authentication server"
+
+command="/usr/bin/docker-auth"
+# Without `-logtostderr=true` the daemon litters /tmp with logfiles
+command_args="-logtostderr=true $cfgfile"
+command_background="yes"
+logfile="/var/log/${RC_SVCNAME}.log"
+error_log="$logfile"
+output_log="$logfile"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+required_files="$cfgfile"
+
+start_pre() {
+ if [ "$logfile" ]; then
+ checkpath -f -m 0644 -o "$command_user" "$logfile" || return 1
+ fi
+}
diff --git a/testing/docker-auth/docker-auth.pre-install b/testing/docker-auth/docker-auth.pre-install
new file mode 100644
index 00000000000..a387e9825ef
--- /dev/null
+++ b/testing/docker-auth/docker-auth.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S docker-auth 2>/dev/null
+adduser -S -D -H -h /dev/null -s /sbin/nologin -G docker-auth -g docker-auth docker-auth 2>/dev/null
+
+exit 0
diff --git a/testing/docker-auth/reference-example.patch b/testing/docker-auth/reference-example.patch
new file mode 100644
index 00000000000..4261fde3ad8
--- /dev/null
+++ b/testing/docker-auth/reference-example.patch
@@ -0,0 +1,905 @@
+diff --git a/examples/reference.yml b/examples/reference.yml
+index ce741d0..4adec43 100644
+--- a/examples/reference.yml
++++ b/examples/reference.yml
+@@ -10,452 +10,452 @@
+ # autoredirect: false
+ # rootcertbundle: "/path/to/server.pem"
+
+-server: # Server settings.
+- # Address to listen on.
+- # Can be HOST:PORT for TCP or file path (e.g. /run/docker_auth.sock) for Unix socket.
+- addr: ":5001"
+-
+- # Network, can be "tcp" or "unix" ("tcp" if unspecified).
+- net: "tcp"
+-
+- # URL path prefix to use.
+- path_prefix: ""
+-
+- # TLS options.
+- #
+- # Use specific certificate and key.
+- certificate: "/path/to/server.pem"
+- key: "/path/to/server.key"
+- #
+- # The following optional settings will fine tune TLS configuration to improve security.
+- # Leaving them unset should be just fine for most installations.
+- #
+- # Enable HTTP Strict Transport Security.
+- # hsts: true
+- #
+- # Set minimum TLS version.
+- # Values can be found at https://golang.org/pkg/crypto/tls/#pkg-constants
+- # Either the version name (i.e. TLS11) or its uint16 value can be specified.
+- # tls_min_version: TLS12
+- #
+- # List of TLS curve preferences.
+- # Values can be found at https://golang.org/pkg/crypto/tls/#CurveID
+- # Either CurveID names (i.e. P384) or uint16 values can be specified.
+- # tls_curve_preferences:
+- # - P521
+- # - 24
+- # - P256
+- #
+- # List of enabled TLS cipher suites.
+- # Values can be found at https://golang.org/pkg/crypto/tls/#pkg-constants
+- # Either CipherSuite names (i.e. TLS_RSA_WITH_RC4_128_SHA) or uint16 values can be specified.
+- # tls_cipher_suites:
+- # - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
+- # - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
+- # - 0xc014
+- # - 0xc00a
+-
+- # Use LetsEncrypt (https://letsencrypt.org/) to automatically obtain and maintain a certificate.
+- # Note that this only applies to server TLS certificate, this certificate will not be used for tokens
+- letsencrypt:
+- # Email is required. It will be used to register with LetsEncrypt.
+- email: webmaster@example.org
+- # Cache directory, where certificates issued by LE will be stored. Must exist.
+- # It is recommended to make it a volume mount so it persists across restarts.
+- cache_dir: /data/sslcache
+- # Normally LetsEncrypt will obtain a certificate for whichever host the client is connecting to.
+- # With this option, you can limit it to a specific host name.
+- # host: "docker.example.org"
+- # If neither certificate+key or letsencrypt are configured, the listener does not use TLS.
+-
+- # Take client's address from the specified HTTP header instead of connection.
+- # May be useful if the server is behind a proxy or load balancer.
+- # If configured, this header must be present, requests without it will be rejected.
+- # real_ip_header: "X-Forwarded-For"
+- # Optional position of client ip in X-Forwarded-For, negative starts from
+- # end of addresses.
+- # real_ip_pos: -2
+-
+-token: # Settings for the tokens.
+- issuer: "Acme auth server" # Must match issuer in the Registry config.
+- expiration: 900
+- # Token must be signed by a certificate that registry trusts, i.e. by a certificate to which a trust chain
+- # can be constructed from one of the certificates in registry's auth.token.rootcertbundle.
+- # If not specified, server's TLS certificate and key are used.
+- # certificate: "..."
+- # key: "..."
+-
+-# Authentication methods. All are tried, any one returning success is sufficient.
+-# At least one must be configured. If you want an unauthenticated public setup,
+-# configure static user map with anonymous access.
+-
+-# Static user map.
+-users:
+- # Password is specified as a BCrypt hash. Use `htpasswd -nB USERNAME` to generate.
+- "admin":
+- password: "$2y$05$LO.vzwpWC5LZGqThvEfznu8qhb5SGqvBSWY1J3yZ4AxtMRZ3kN5jC" # badmin
+- "test":
+- password: "$2y$05$WuwBasGDAgr.QCbGIjKJaep4dhxeai9gNZdmBnQXqpKly57oNutya" # 123
+- "": {} # Allow anonymous (no "docker login") access.
+-
+-# Google authentication.
+-# ==! NB: DO NOT ENTER YOUR GOOGLE PASSWORD AT "docker login". IT WILL NOT WORK.
+-# Instead, Auth server maintains a database of Google authentication tokens.
+-# Go to the server's port as HTTPS with your browser and follow the "Login with Google account" link.
+-# Once signed in, you will get a throw-away password which you can use for Docker login.
+-google_auth:
+- domain: "example.com" # Optional. If set, only logins from this domain are accepted.
+- # client_id and client_secret for API access. Required.
+- # Follow instructions here: https://developers.google.com/identity/sign-in/web/devconsole-project
+- # NB: Make sure JavaScript origins are configured correctly, and that third-party
+- # cookies are not blocked in the browser being used to login.
+- client_id: "1223123456-somethingsomething.apps.googleusercontent.com"
+- # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
+- # want to have sensitive information checked in.
+- # client_secret: "verysecret"
+- client_secret_file: "/path/to/client_secret.txt"
+- # Where to store server tokens. Required.
+- token_db: "/somewhere/to/put/google_tokens.ldb"
+- # How long to wait when talking to Google servers. Optional.
+- http_timeout: 10
+-
+-# GitHub authentication.
+-# ==! NB: DO NOT ENTER YOUR GITHUB PASSWORD AT "docker login". IT WILL NOT WORK.
+-# Instead, Auth server maintains a database of GitHub authentication tokens.
+-# Go to the server's port as HTTPS with your browser and follow the "Login with GitHub account" link.
+-# Once signed in, you will get a throw-away password which you can use for Docker login.
+-github_auth:
+- organization: "acme" # Optional. If set, only logins from this organization are accepted.
+- # client_id and client_secret for API access. Required.
+- # You can register a new application here: https://github.com/settings/developers
+- # NB: Make sure JavaScript origins are configured correctly, and that third-party
+- # cookies are not blocked in the browser being used to login.
+- client_id: "1223123456"
+- # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
+- # want to have sensitive information checked in.
+- # client_secret: "verysecret"
+- client_secret_file: "/path/to/client_secret.txt"
+- # Either token_db file for storing of server tokens.
+- token_db: "/somewhere/to/put/github_tokens.ldb"
+- # or google cloud storage for storing of the sensitive information,
+- gcs_token_db:
+- bucket: "tokenBucket"
+- client_secret_file: "/path/to/client_secret.json"
+- # or Redis,
+- redis_token_db:
+- redis_options:
+- # with a single instance,
+- addr: localhost:6379
+- redis_cluster_options:
+- # or in the cluster mode.
+- addrs: ["localhost:7000"]
+- # How long to wait when talking to GitHub servers. Optional.
+- http_timeout: "10s"
+- # How long to wait before revalidating the GitHub token. Optional.
+- revalidate_after: "1h"
+- # The Github Web URI in case you are using Github Enterprise.
+- # Includes the protocol, without trailing slash. Optional - defaults to: https://github.com
+- github_web_uri: "https://github.acme.com"
+- # The Github API URI in case you are using Github Enterprise.
+- # Includes the protocol, without trailing slash. - defaults to: https://api.github.com
+- github_api_uri: "https://github.acme.com/api/v3"
+- # Set an URL to display in the `docker login` command when succesfully authenticated. Optional.
+- registry_url: localhost:5000
+-
+-# OpenID Connect authentication
+-# ==! NB: DO NOT ENTER YOUR OIDC PASSWORD AT "docker login". IT WILL NOT WORK.
+-# Instead, Auth server maintains a database of OIDC authentication tokens.
+-# Go to the server's port as HTTPS with your browser and follow the "Login with OIDC account" link.
+-# Once signed in, you will get a throw-away password which you can use for Docker login.
+-oidc_auth:
+- # --- required ---
+- # The issuer URL of your OIDC provider. It has to be extendable with /.well-known/openid-configuration to request all
+- # OIDC endpoints for token and authorization requests
+- issuer: "my_issuer_url"
+- # The redirect URI which is registered for this client at your OIDC provider. It has to end with /oidc_auth.
+- redirect_url: "my_redirect_uri/oidc_auth"
+- # The client id and client secret of the client that is registered at your OIDC provider for docker_auth
+- client_id: "be4ut1fu1-cl13n7-1d"
+- client_secret: "be4ut1fu1-cl13n7-s3cr37"
+- # you can also give the client_secret in a file. Either a client_secret or a client_secret_file has to be provided
+- # client_secret_file: "/path/to/client_secret.txt"
+- #
+- # a file in which the tokens should be stored. Does not have to exist, it will be generated in this case
+- token_db: "/path/to/tokens.ldb"
+- # --- optional ---
+- # How long to wait when talking to the OIDC provider.
+- http_timeout: 10
+- # the url of the registry where you want to login. Is used to present the full docker login command.
+- registry_url: "url_of_my_beautiful_docker_registry"
+- # The claim to use for the username.
+- # Default: email
+- user_claim: email
+- # String array claims that will be used as labels.
+- label_claims:
+- - groups
+- # Default: [openid, email]
+- scopes:
+- - openid
+- - email
+-
+-
+-# Gitlab authentication.
+-# ==! NB: DO NOT ENTER YOUR Gitlab PASSWORD AT "docker login". IT WILL NOT WORK.
+-# Instead, Auth server maintains a database of Gitlab authentication tokens.
+-# Go to the server's port as HTTPS with your browser and follow the "Login with Gitlab account" link.
+-# Once signed in, you will get a throw-away password which you can use for Docker login.
+-gitlab_auth:
+- client_id: "1223123456"
+- # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
+- # want to have sensitive information checked in.
+- # client_secret: "verysecret"
+- client_secret_file: "/path/to/client_secret.txt"
+- # Either token_db file for storing of server tokens.
+- token_db: "/somewhere/to/put/gitlab_tokens.ldb"
+- # or google cloud storage for storing of the sensitive information,
+- gcs_token_db:
+- bucket: "tokenBucket"
+- client_secret_file: "/path/to/client_secret.json"
+- # or Redis,
+- redis_token_db:
+- redis_options:
+- # with a single instance,
+- addr: localhost:6379
+- redis_cluster_options:
+- # or in the cluster mode.
+- addrs: ["localhost:7000"]
+- # How long to wait when talking to GitLab servers. Optional.
+- http_timeout: "10s"
+- # How long to wait before revalidating the Gitlab token. Optional.
+- revalidate_after: "1h"
+- # Includes the protocol, without trailing slash. Optional - defaults to: https://gitlab.com
+- gitlab_web_uri: "https://gitlab.com"
+- # Includes the protocol, without trailing slash. - defaults to: https://gitlab.com/api/v4
+- gitlab_api_uri: "https://gitlab.com/api/v4"
+- # Set an URL to display in the `docker login` command when successfully authenticated. Optional.
+- registry_url: localhost:5000
+- # grant_type is used for the authentication purpose. Required.
+- grant_type: "authorization_code"
+- # Redirect uri is used for the authentication purpose. Must end with '/gitlab_auth' prefix. Required.
+- redirect_uri: "https://localhost:5001/gitlab_auth"
+-
+-# LDAP authentication.
+-# Authentication is performed by first binding to the server, looking up the user entry
+-# by using the specified filter, and then re-binding using the matched DN and the password provided.
+-ldap_auth:
+- # Addr is the hostname:port or ip:port
+- addr: ldap.example.com:636
+- # Setup tls connection method to be
+- # "" or "none": the communication won't be encrypted
+- # "always": setup LDAP over SSL/TLS
+- # "starttls": sets StartTLS as the encryption method
+- tls: always
+- # set to true to allow insecure tls
+- insecure_tls_skip_verify: false
+- # set this to specify the ca certificate path
+- ca_certificate:
+- # In case bind DN and password is required for querying user information,
+- # specify them here. Plain text password is read from the file.
+- bind_dn:
+- bind_password_file:
+- # User query settings. ${account} is expanded from auth request
+- base: o=example.com
+- filter: (&(uid=${account})(objectClass=person))
+- # Labels can be mapped from LDAP attributes
+- labels:
+- # Add the user's title to a label called title
+- title:
+- attribute: title
+- # Add the user's memberOf values to a label called groups
+- groups:
+- attribute: memberOf
+- # Special handling to simplify the values to just the common name
+- parse_cn: true
+- # lower case the value
+- lower_case: true
+-
+-mongo_auth:
+- # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
+- dial_info:
+- # The MongoDB hostnames or IPs to connect to.
+- addrs: ["localhost"]
+- # The time to wait for a server to respond when first connecting and on
+- # follow up operations in the session. If timeout is zero, the call may
+- # block forever waiting for a connection to be established.
+- # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
+- timeout: "10s"
+- # Database name that will be used on the MongoDB server.
+- database: "docker_auth"
+- # The username with which to connect to the MongoDB server.
+- username: ""
+- # Path to the text file with the password in it.
+- password_file: ""
+- # Enable TLS connection to MongoDB (only enable this if your server supports it)
+- enable_tls: false
+- # Name of the collection in which ACLs will be stored in MongoDB.
+- collection: "users"
+- # Unlike acl_mongo we don't cache the full user set. We just query mongo for
+- # an exact match for each authorization
+-
+-xorm_auth:
+- # the database type you'd like to connect to
+- database_type: "mysql"
+- # the connection string to connect to the database
+- conn_string: "username:password@/database_name?charset=utf8"
+-
+-# External authentication - call an external progam to authenticate user.
+-# Username and password are passed to command's stdin and exit code is examined.
+-# 0 - allow, 1 - deny, 2 - no match, other - error.
+-# In case of success, if any output is returned, it is parsed as a JSON object.
+-# The "labels" key may contain labels to be passed down to authz, where they can
+-# be used in matching. See ext_auth.sh for an example.
+-ext_auth:
+- command: "/usr/local/bin/my_auth" # Can be a relative path too; $PATH works.
+- args: ["--flag", "--more", "--flags"]
+-
+-# User written authentication plugin - call a user written program to authenticate user.
+-# Username of type string and password of authn.PasswordString is passed to the plugin
+-# Expects a boolean value whether the user is authenticate or not, authn.Labels, error
+-# The "labels" key may contain labels to be passed down to authz, where they can
+-# be used in matching.
+-plugin_authn:
+- plugin_path: ""
+-
+-# Authorization methods. All are tried, any one returning success is sufficient.
+-# At least one must be configured.
+-
+-# ACL specifies who can do what. If the match section of an entry matches the
+-# request, the set of allowed actions will be applied to the token request
+-# and a ticket will be issued only for those of the requested actions that are
+-# allowed by the rule.
+-# * It is possible to match on user's name ("account"), subject type ("type")
+-# and name ("name"; for type=repository this is the image name).
+-# * Matches are evaluated as shell file name patterns ("globs") by default,
+-# so "foobar", "f??bar", "f*bar" are all valid. For even more flexibility
+-# match patterns can be evaluated as regexes by enclosing them in //, e.g.
+-# "/(foo|bar)/".
+-# * IP match can be single IP address or a subnet in the "prefix/mask" notation.
+-# * ACL is evaluated in the order it is defined until a match is found.
+-# Rules below the first match are not evaluated, so you'll need to put more
+-# specific rules above more broad ones.
+-# * Empty match clause matches anything, it only makes sense at the end of the
+-# list and can be used as a way of specifying default permissions.
+-# * Empty actions set means "deny everything". Thus, a rule with `actions: []`
+-# is in effect a "deny" rule.
+-# * A special set consisting of a single "*" action means "allow everything".
+-# * If no match is found the default is to deny the request.
++#server: # Server settings.
++# # Address to listen on.
++# # Can be HOST:PORT for TCP or file path (e.g. /run/docker_auth.sock) for Unix socket.
++# addr: ":5001"
++#
++# # Network, can be "tcp" or "unix" ("tcp" if unspecified).
++# net: "tcp"
++#
++# # URL path prefix to use.
++# path_prefix: ""
++#
++# # TLS options.
++# #
++# # Use specific certificate and key.
++# certificate: "/path/to/server.pem"
++# key: "/path/to/server.key"
++# #
++# # The following optional settings will fine tune TLS configuration to improve security.
++# # Leaving them unset should be just fine for most installations.
++# #
++# # Enable HTTP Strict Transport Security.
++# # hsts: true
++# #
++# # Set minimum TLS version.
++# # Values can be found at https://golang.org/pkg/crypto/tls/#pkg-constants
++# # Either the version name (i.e. TLS11) or its uint16 value can be specified.
++# # tls_min_version: TLS12
++# #
++# # List of TLS curve preferences.
++# # Values can be found at https://golang.org/pkg/crypto/tls/#CurveID
++# # Either CurveID names (i.e. P384) or uint16 values can be specified.
++# # tls_curve_preferences:
++# # - P521
++# # - 24
++# # - P256
++# #
++# # List of enabled TLS cipher suites.
++# # Values can be found at https://golang.org/pkg/crypto/tls/#pkg-constants
++# # Either CipherSuite names (i.e. TLS_RSA_WITH_RC4_128_SHA) or uint16 values can be specified.
++# # tls_cipher_suites:
++# # - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
++# # - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
++# # - 0xc014
++# # - 0xc00a
++#
++# # Use LetsEncrypt (https://letsencrypt.org/) to automatically obtain and maintain a certificate.
++# # Note that this only applies to server TLS certificate, this certificate will not be used for tokens
++# letsencrypt:
++# # Email is required. It will be used to register with LetsEncrypt.
++# email: webmaster@example.org
++# # Cache directory, where certificates issued by LE will be stored. Must exist.
++# # It is recommended to make it a volume mount so it persists across restarts.
++# cache_dir: /data/sslcache
++# # Normally LetsEncrypt will obtain a certificate for whichever host the client is connecting to.
++# # With this option, you can limit it to a specific host name.
++# # host: "docker.example.org"
++# # If neither certificate+key or letsencrypt are configured, the listener does not use TLS.
++#
++# # Take client's address from the specified HTTP header instead of connection.
++# # May be useful if the server is behind a proxy or load balancer.
++# # If configured, this header must be present, requests without it will be rejected.
++# # real_ip_header: "X-Forwarded-For"
++# # Optional position of client ip in X-Forwarded-For, negative starts from
++# # end of addresses.
++# # real_ip_pos: -2
++#
++#token: # Settings for the tokens.
++# issuer: "Acme auth server" # Must match issuer in the Registry config.
++# expiration: 900
++# # Token must be signed by a certificate that registry trusts, i.e. by a certificate to which a trust chain
++# # can be constructed from one of the certificates in registry's auth.token.rootcertbundle.
++# # If not specified, server's TLS certificate and key are used.
++# # certificate: "..."
++# # key: "..."
++#
++## Authentication methods. All are tried, any one returning success is sufficient.
++## At least one must be configured. If you want an unauthenticated public setup,
++## configure static user map with anonymous access.
++#
++## Static user map.
++#users:
++# # Password is specified as a BCrypt hash. Use `htpasswd -nB USERNAME` to generate.
++# "admin":
++# password: "$2y$05$LO.vzwpWC5LZGqThvEfznu8qhb5SGqvBSWY1J3yZ4AxtMRZ3kN5jC" # badmin
++# "test":
++# password: "$2y$05$WuwBasGDAgr.QCbGIjKJaep4dhxeai9gNZdmBnQXqpKly57oNutya" # 123
++# "": {} # Allow anonymous (no "docker login") access.
++#
++## Google authentication.
++## ==! NB: DO NOT ENTER YOUR GOOGLE PASSWORD AT "docker login". IT WILL NOT WORK.
++## Instead, Auth server maintains a database of Google authentication tokens.
++## Go to the server's port as HTTPS with your browser and follow the "Login with Google account" link.
++## Once signed in, you will get a throw-away password which you can use for Docker login.
++#google_auth:
++# domain: "example.com" # Optional. If set, only logins from this domain are accepted.
++# # client_id and client_secret for API access. Required.
++# # Follow instructions here: https://developers.google.com/identity/sign-in/web/devconsole-project
++# # NB: Make sure JavaScript origins are configured correctly, and that third-party
++# # cookies are not blocked in the browser being used to login.
++# client_id: "1223123456-somethingsomething.apps.googleusercontent.com"
++# # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
++# # want to have sensitive information checked in.
++# # client_secret: "verysecret"
++# client_secret_file: "/path/to/client_secret.txt"
++# # Where to store server tokens. Required.
++# token_db: "/somewhere/to/put/google_tokens.ldb"
++# # How long to wait when talking to Google servers. Optional.
++# http_timeout: 10
++#
++## GitHub authentication.
++## ==! NB: DO NOT ENTER YOUR GITHUB PASSWORD AT "docker login". IT WILL NOT WORK.
++## Instead, Auth server maintains a database of GitHub authentication tokens.
++## Go to the server's port as HTTPS with your browser and follow the "Login with GitHub account" link.
++## Once signed in, you will get a throw-away password which you can use for Docker login.
++#github_auth:
++# organization: "acme" # Optional. If set, only logins from this organization are accepted.
++# # client_id and client_secret for API access. Required.
++# # You can register a new application here: https://github.com/settings/developers
++# # NB: Make sure JavaScript origins are configured correctly, and that third-party
++# # cookies are not blocked in the browser being used to login.
++# client_id: "1223123456"
++# # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
++# # want to have sensitive information checked in.
++# # client_secret: "verysecret"
++# client_secret_file: "/path/to/client_secret.txt"
++# # Either token_db file for storing of server tokens.
++# token_db: "/somewhere/to/put/github_tokens.ldb"
++# # or google cloud storage for storing of the sensitive information,
++# gcs_token_db:
++# bucket: "tokenBucket"
++# client_secret_file: "/path/to/client_secret.json"
++# # or Redis,
++# redis_token_db:
++# redis_options:
++# # with a single instance,
++# addr: localhost:6379
++# redis_cluster_options:
++# # or in the cluster mode.
++# addrs: ["localhost:7000"]
++# # How long to wait when talking to GitHub servers. Optional.
++# http_timeout: "10s"
++# # How long to wait before revalidating the GitHub token. Optional.
++# revalidate_after: "1h"
++# # The Github Web URI in case you are using Github Enterprise.
++# # Includes the protocol, without trailing slash. Optional - defaults to: https://github.com
++# github_web_uri: "https://github.acme.com"
++# # The Github API URI in case you are using Github Enterprise.
++# # Includes the protocol, without trailing slash. - defaults to: https://api.github.com
++# github_api_uri: "https://github.acme.com/api/v3"
++# # Set an URL to display in the `docker login` command when succesfully authenticated. Optional.
++# registry_url: localhost:5000
++#
++## OpenID Connect authentication
++## ==! NB: DO NOT ENTER YOUR OIDC PASSWORD AT "docker login". IT WILL NOT WORK.
++## Instead, Auth server maintains a database of OIDC authentication tokens.
++## Go to the server's port as HTTPS with your browser and follow the "Login with OIDC account" link.
++## Once signed in, you will get a throw-away password which you can use for Docker login.
++#oidc_auth:
++# # --- required ---
++# # The issuer URL of your OIDC provider. It has to be extendable with /.well-known/openid-configuration to request all
++# # OIDC endpoints for token and authorization requests
++# issuer: "my_issuer_url"
++# # The redirect URI which is registered for this client at your OIDC provider. It has to end with /oidc_auth.
++# redirect_url: "my_redirect_uri/oidc_auth"
++# # The client id and client secret of the client that is registered at your OIDC provider for docker_auth
++# client_id: "be4ut1fu1-cl13n7-1d"
++# client_secret: "be4ut1fu1-cl13n7-s3cr37"
++# # you can also give the client_secret in a file. Either a client_secret or a client_secret_file has to be provided
++# # client_secret_file: "/path/to/client_secret.txt"
++# #
++# # a file in which the tokens should be stored. Does not have to exist, it will be generated in this case
++# token_db: "/path/to/tokens.ldb"
++# # --- optional ---
++# # How long to wait when talking to the OIDC provider.
++# http_timeout: 10
++# # the url of the registry where you want to login. Is used to present the full docker login command.
++# registry_url: "url_of_my_beautiful_docker_registry"
++# # The claim to use for the username.
++# # Default: email
++# user_claim: email
++# # String array claims that will be used as labels.
++# label_claims:
++# - groups
++# # Default: [openid, email]
++# scopes:
++# - openid
++# - email
++#
++#
++## Gitlab authentication.
++## ==! NB: DO NOT ENTER YOUR Gitlab PASSWORD AT "docker login". IT WILL NOT WORK.
++## Instead, Auth server maintains a database of Gitlab authentication tokens.
++## Go to the server's port as HTTPS with your browser and follow the "Login with Gitlab account" link.
++## Once signed in, you will get a throw-away password which you can use for Docker login.
++#gitlab_auth:
++# client_id: "1223123456"
++# # Either client_secret or client_secret_file is required. Use client_secret_file if you don't
++# # want to have sensitive information checked in.
++# # client_secret: "verysecret"
++# client_secret_file: "/path/to/client_secret.txt"
++# # Either token_db file for storing of server tokens.
++# token_db: "/somewhere/to/put/gitlab_tokens.ldb"
++# # or google cloud storage for storing of the sensitive information,
++# gcs_token_db:
++# bucket: "tokenBucket"
++# client_secret_file: "/path/to/client_secret.json"
++# # or Redis,
++# redis_token_db:
++# redis_options:
++# # with a single instance,
++# addr: localhost:6379
++# redis_cluster_options:
++# # or in the cluster mode.
++# addrs: ["localhost:7000"]
++# # How long to wait when talking to GitLab servers. Optional.
++# http_timeout: "10s"
++# # How long to wait before revalidating the Gitlab token. Optional.
++# revalidate_after: "1h"
++# # Includes the protocol, without trailing slash. Optional - defaults to: https://gitlab.com
++# gitlab_web_uri: "https://gitlab.com"
++# # Includes the protocol, without trailing slash. - defaults to: https://gitlab.com/api/v4
++# gitlab_api_uri: "https://gitlab.com/api/v4"
++# # Set an URL to display in the `docker login` command when successfully authenticated. Optional.
++# registry_url: localhost:5000
++# # grant_type is used for the authentication purpose. Required.
++# grant_type: "authorization_code"
++# # Redirect uri is used for the authentication purpose. Must end with '/gitlab_auth' prefix. Required.
++# redirect_uri: "https://localhost:5001/gitlab_auth"
++#
++## LDAP authentication.
++## Authentication is performed by first binding to the server, looking up the user entry
++## by using the specified filter, and then re-binding using the matched DN and the password provided.
++#ldap_auth:
++# # Addr is the hostname:port or ip:port
++# addr: ldap.example.com:636
++# # Setup tls connection method to be
++# # "" or "none": the communication won't be encrypted
++# # "always": setup LDAP over SSL/TLS
++# # "starttls": sets StartTLS as the encryption method
++# tls: always
++# # set to true to allow insecure tls
++# insecure_tls_skip_verify: false
++# # set this to specify the ca certificate path
++# ca_certificate:
++# # In case bind DN and password is required for querying user information,
++# # specify them here. Plain text password is read from the file.
++# bind_dn:
++# bind_password_file:
++# # User query settings. ${account} is expanded from auth request
++# base: o=example.com
++# filter: (&(uid=${account})(objectClass=person))
++# # Labels can be mapped from LDAP attributes
++# labels:
++# # Add the user's title to a label called title
++# title:
++# attribute: title
++# # Add the user's memberOf values to a label called groups
++# groups:
++# attribute: memberOf
++# # Special handling to simplify the values to just the common name
++# parse_cn: true
++# # lower case the value
++# lower_case: true
++#
++#mongo_auth:
++# # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
++# dial_info:
++# # The MongoDB hostnames or IPs to connect to.
++# addrs: ["localhost"]
++# # The time to wait for a server to respond when first connecting and on
++# # follow up operations in the session. If timeout is zero, the call may
++# # block forever waiting for a connection to be established.
++# # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
++# timeout: "10s"
++# # Database name that will be used on the MongoDB server.
++# database: "docker_auth"
++# # The username with which to connect to the MongoDB server.
++# username: ""
++# # Path to the text file with the password in it.
++# password_file: ""
++# # Enable TLS connection to MongoDB (only enable this if your server supports it)
++# enable_tls: false
++# # Name of the collection in which ACLs will be stored in MongoDB.
++# collection: "users"
++# # Unlike acl_mongo we don't cache the full user set. We just query mongo for
++# # an exact match for each authorization
++#
++#xorm_auth:
++# # the database type you'd like to connect to
++# database_type: "mysql"
++# # the connection string to connect to the database
++# conn_string: "username:password@/database_name?charset=utf8"
++#
++## External authentication - call an external progam to authenticate user.
++## Username and password are passed to command's stdin and exit code is examined.
++## 0 - allow, 1 - deny, 2 - no match, other - error.
++## In case of success, if any output is returned, it is parsed as a JSON object.
++## The "labels" key may contain labels to be passed down to authz, where they can
++## be used in matching. See ext_auth.sh for an example.
++#ext_auth:
++# command: "/usr/local/bin/my_auth" # Can be a relative path too; $PATH works.
++# args: ["--flag", "--more", "--flags"]
++#
++## User written authentication plugin - call a user written program to authenticate user.
++## Username of type string and password of authn.PasswordString is passed to the plugin
++## Expects a boolean value whether the user is authenticate or not, authn.Labels, error
++## The "labels" key may contain labels to be passed down to authz, where they can
++## be used in matching.
++#plugin_authn:
++# plugin_path: ""
++#
++## Authorization methods. All are tried, any one returning success is sufficient.
++## At least one must be configured.
++#
++## ACL specifies who can do what. If the match section of an entry matches the
++## request, the set of allowed actions will be applied to the token request
++## and a ticket will be issued only for those of the requested actions that are
++## allowed by the rule.
++## * It is possible to match on user's name ("account"), subject type ("type")
++## and name ("name"; for type=repository this is the image name).
++## * Matches are evaluated as shell file name patterns ("globs") by default,
++## so "foobar", "f??bar", "f*bar" are all valid. For even more flexibility
++## match patterns can be evaluated as regexes by enclosing them in //, e.g.
++## "/(foo|bar)/".
++## * IP match can be single IP address or a subnet in the "prefix/mask" notation.
++## * ACL is evaluated in the order it is defined until a match is found.
++## Rules below the first match are not evaluated, so you'll need to put more
++## specific rules above more broad ones.
++## * Empty match clause matches anything, it only makes sense at the end of the
++## list and can be used as a way of specifying default permissions.
++## * Empty actions set means "deny everything". Thus, a rule with `actions: []`
++## is in effect a "deny" rule.
++## * A special set consisting of a single "*" action means "allow everything".
++## * If no match is found the default is to deny the request.
++##
++## You can use the following variables from the ticket request in any field:
++## * ${account} - the account name, currently the same as authenticated user's name.
++## * ${service} - the service name, specified by auth.token.service in the registry config.
++## * ${type} - the type of the entity, normally "repository".
++## * ${name} - the name of the repository (i.e. image), e.g. centos.
++## * ${labels:<LABEL>} - tests all values in the list of lables:<LABEL> for the user. Refer to the labels doc for details
++#acl:
++# - match: {ip: "127.0.0.0/8"}
++# actions: ["*"]
++# comment: "Allow everything from localhost (IPv4)"
++# - match: {ip: "::1"}
++# actions: ["*"]
++# comment: "Allow everything from localhost (IPv6)"
++# - match: {ip: "172.17.0.1"}
++# actions: ["*"]
++# comment: "Allow everything from the local Docker bridge address"
++# - match: {account: "admin"}
++# actions: ["*"]
++# comment: "Admin has full access to everything."
++# - match: {account: "test", name: "test-*"}
++# actions: ["*"]
++# comment: "User \"test\" has full access to test-* images but nothing else. (1)"
++# - match: {account: "test"}
++# actions: []
++# comment: "User \"test\" has full access to test-* images but nothing else. (2)"
++# - match: {account: "/.+/", name: "${account}/*"}
++# actions: ["*"]
++# comment: "Logged in users have full access to images that are in their 'namespace'"
++# - match: {account: "/.+/", type: "registry", name: "catalog"}
++# actions: ["*"]
++# comment: "Logged in users can query the catalog."
++# - match: {account: "/.+/"}
++# actions: ["pull"]
++# comment: "Logged in users can pull all images."
++# - match: {account: "", name: "hello-world"}
++# actions: ["pull"]
++# comment: "Anonymous users can pull \"hello-world\"."
++# - match: {account: "/^(.+)@test.com$/", name: "${account:1}/*"}
++# actions: []
++# comment: "Emit domain part of account to make it a correct repo name"
++# - match: {labels: {"group": "VIP"}}
++# actions: ["push"]
++# comment: "Users assigned to group 'VIP' is able to push"
++# - match: {labels: {"group": "/trainee|dev/"}}
++# actions: ["push", "pull"]
++# comment: "Users assigned to group 'trainee' and 'dev' is able to push and pull"
++# - match: {name: "${labels:group}-shared/*"}
++# actions: ["push", "pull"]
++# comment: "Users can push to the shared namespace of any group they are in"
++# - match: {name: "${labels:project}/*"}
++# actions: ["push", "pull"]
++# comment: "Users can push to any project they are assigned to"
++# - match: {name: "${labels:project}-{labels:tier}/*"}
++# actions: ["push", "pull"]
++# comment: "Users can push to a project-tier/* that they are assigned to"
++# - match: {labels: {"title": "Developer"}}
++# actions: ["*"]
++# comment: "If you call yourself a developer you can do anything (this ACL is an example for LDAP labels as defined above)"
++# - match: {labels: {"groups": "Admin"}}
++# actions: ["push"]
++# comment: "If you are part of the admin group you can push. (this ACL is an example for LDAP labels as defined above)"
++# # Access is denied by default.
++#
++## (optional) Define to query ACL from a MongoDB server.
++#acl_mongo:
++# # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
++# dial_info:
++# # The MongoDB hostnames or IPs to connect to.
++# addrs: ["localhost"]
++# # The time to wait for a server to respond when first connecting and on
++# # follow up operations in the session. If timeout is zero, the call may
++# # block forever waiting for a connection to be established.
++# # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
++# timeout: "10s"
++# # Database name that will be used on the MongoDB server.
++# database: "docker_auth"
++# # The username with which to connect to the MongoDB server.
++# username: ""
++# # Path to the text file with the password in it.
++# password_file: ""
++# # Enable TLS connection to MongoDB (only enable this if your server supports it)
++# enable_tls: false
++# # Name of the collection in which ACLs will be stored in MongoDB.
++# collection: "acl"
++# # Specify how long an ACL remains valid before they will be fetched again from
++# # the MongoDB server.
++# # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
++# cache_ttl: "1m"
++#
++## (optional) Define to query ACL from a XORM.io database connection.
++#acl_xorm:
++# # the database type you'd like to connect to
++# database_type: "mysql"
++# conn_string: "username:password@/database_name?charset=utf8"
++# cache_ttl: "1m"
++#
++## (optioinal) Use casbin to verify permission
++#casbin_authz:
++# model_path: "path/to/model"
++# policy_path: "path/to/csv"
++#
++## External authorization - call an external progam to authorize user.
++## JSON of authz.AuthRequestInfo is passed to command's stdin and exit code is examined.
++## 0 - allow, 1 - deny, other - error.
++#ext_authz:
++# command: "/usr/local/bin/my_authz" # Can be a relative path too; $PATH works.
++# args: ["--flag", "--more", "--flags"]
++#
++## User written authorization plugin - call a user written program to authorize user.
++## *authz.AuthRequestInfo is passed to the plugin and expects an authorized set of actions or an error.
++## return the set of authorized actions is the user is authorized. Otherwise return nil
++#plugin_authz:
++# plugin_path: ""
+ #
+-# You can use the following variables from the ticket request in any field:
+-# * ${account} - the account name, currently the same as authenticated user's name.
+-# * ${service} - the service name, specified by auth.token.service in the registry config.
+-# * ${type} - the type of the entity, normally "repository".
+-# * ${name} - the name of the repository (i.e. image), e.g. centos.
+-# * ${labels:<LABEL>} - tests all values in the list of lables:<LABEL> for the user. Refer to the labels doc for details
+-acl:
+- - match: {ip: "127.0.0.0/8"}
+- actions: ["*"]
+- comment: "Allow everything from localhost (IPv4)"
+- - match: {ip: "::1"}
+- actions: ["*"]
+- comment: "Allow everything from localhost (IPv6)"
+- - match: {ip: "172.17.0.1"}
+- actions: ["*"]
+- comment: "Allow everything from the local Docker bridge address"
+- - match: {account: "admin"}
+- actions: ["*"]
+- comment: "Admin has full access to everything."
+- - match: {account: "test", name: "test-*"}
+- actions: ["*"]
+- comment: "User \"test\" has full access to test-* images but nothing else. (1)"
+- - match: {account: "test"}
+- actions: []
+- comment: "User \"test\" has full access to test-* images but nothing else. (2)"
+- - match: {account: "/.+/", name: "${account}/*"}
+- actions: ["*"]
+- comment: "Logged in users have full access to images that are in their 'namespace'"
+- - match: {account: "/.+/", type: "registry", name: "catalog"}
+- actions: ["*"]
+- comment: "Logged in users can query the catalog."
+- - match: {account: "/.+/"}
+- actions: ["pull"]
+- comment: "Logged in users can pull all images."
+- - match: {account: "", name: "hello-world"}
+- actions: ["pull"]
+- comment: "Anonymous users can pull \"hello-world\"."
+- - match: {account: "/^(.+)@test.com$/", name: "${account:1}/*"}
+- actions: []
+- comment: "Emit domain part of account to make it a correct repo name"
+- - match: {labels: {"group": "VIP"}}
+- actions: ["push"]
+- comment: "Users assigned to group 'VIP' is able to push"
+- - match: {labels: {"group": "/trainee|dev/"}}
+- actions: ["push", "pull"]
+- comment: "Users assigned to group 'trainee' and 'dev' is able to push and pull"
+- - match: {name: "${labels:group}-shared/*"}
+- actions: ["push", "pull"]
+- comment: "Users can push to the shared namespace of any group they are in"
+- - match: {name: "${labels:project}/*"}
+- actions: ["push", "pull"]
+- comment: "Users can push to any project they are assigned to"
+- - match: {name: "${labels:project}-{labels:tier}/*"}
+- actions: ["push", "pull"]
+- comment: "Users can push to a project-tier/* that they are assigned to"
+- - match: {labels: {"title": "Developer"}}
+- actions: ["*"]
+- comment: "If you call yourself a developer you can do anything (this ACL is an example for LDAP labels as defined above)"
+- - match: {labels: {"groups": "Admin"}}
+- actions: ["push"]
+- comment: "If you are part of the admin group you can push. (this ACL is an example for LDAP labels as defined above)"
+- # Access is denied by default.
+-
+-# (optional) Define to query ACL from a MongoDB server.
+-acl_mongo:
+- # Essentially all options are described here: https://godoc.org/gopkg.in/mgo.v2#DialInfo
+- dial_info:
+- # The MongoDB hostnames or IPs to connect to.
+- addrs: ["localhost"]
+- # The time to wait for a server to respond when first connecting and on
+- # follow up operations in the session. If timeout is zero, the call may
+- # block forever waiting for a connection to be established.
+- # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
+- timeout: "10s"
+- # Database name that will be used on the MongoDB server.
+- database: "docker_auth"
+- # The username with which to connect to the MongoDB server.
+- username: ""
+- # Path to the text file with the password in it.
+- password_file: ""
+- # Enable TLS connection to MongoDB (only enable this if your server supports it)
+- enable_tls: false
+- # Name of the collection in which ACLs will be stored in MongoDB.
+- collection: "acl"
+- # Specify how long an ACL remains valid before they will be fetched again from
+- # the MongoDB server.
+- # (See https://golang.org/pkg/time/#ParseDuration for a format description.)
+- cache_ttl: "1m"
+-
+-# (optional) Define to query ACL from a XORM.io database connection.
+-acl_xorm:
+- # the database type you'd like to connect to
+- database_type: "mysql"
+- conn_string: "username:password@/database_name?charset=utf8"
+- cache_ttl: "1m"
+-
+-# (optioinal) Use casbin to verify permission
+-casbin_authz:
+- model_path: "path/to/model"
+- policy_path: "path/to/csv"
+-
+-# External authorization - call an external progam to authorize user.
+-# JSON of authz.AuthRequestInfo is passed to command's stdin and exit code is examined.
+-# 0 - allow, 1 - deny, other - error.
+-ext_authz:
+- command: "/usr/local/bin/my_authz" # Can be a relative path too; $PATH works.
+- args: ["--flag", "--more", "--flags"]
+-
+-# User written authorization plugin - call a user written program to authorize user.
+-# *authz.AuthRequestInfo is passed to the plugin and expects an authorized set of actions or an error.
+-# return the set of authorized actions is the user is authorized. Otherwise return nil
+-plugin_authz:
+- plugin_path: ""
+-
diff --git a/testing/docker-volume-local-persist/APKBUILD b/testing/docker-volume-local-persist/APKBUILD
index 6f0c8ebe8c7..52db04b89e4 100644
--- a/testing/docker-volume-local-persist/APKBUILD
+++ b/testing/docker-volume-local-persist/APKBUILD
@@ -1,28 +1,33 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=docker-volume-local-persist
pkgver=1.3.0
-pkgrel=5
+pkgrel=25
pkgdesc="Local Persist Volume Plugin for Docker"
-url="https://github.com/CWSpear/local-persist"
-arch="all !mips !mips64"
+url="https://github.com/MatchbookLab/local-persist"
+arch="all"
license="MIT"
depends="docker"
-makedepends="go glide"
-install=""
+makedepends="go"
subpackages="$pkgname-openrc"
source="
- docker-local-persist-$pkgver.tar.gz::https://github.com/CWSpear/local-persist/archive/v$pkgver.tar.gz
+ docker-local-persist-$pkgver.tar.gz::https://github.com/MatchbookLab/local-persist/archive/v$pkgver.tar.gz
docker-volume-local-persist.initd
+ gomod.patch
"
builddir="$srcdir/local-persist-$pkgver"
+export GOPATH="$startdir"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ go mod download
+}
+
build() {
- cd "$builddir"
- export GOPATH="$startdir"
- export GO111MODULE=off
- glide install --skip-test
- go build -v -ldflags "-s -w" \
- -o bin/local-persist
+ go build -o bin/local-persist
}
package() {
@@ -32,5 +37,8 @@ package() {
"$pkgdir"/etc/init.d/docker-volume-local-persist
}
-sha512sums="43a061c937c84eaab817dc62e4be5adfee960e357a2eea504e87c8e5fda32f5a835dc6d145f7d787f4907cd592a04c0159455d8d28d40e158f5a93c4e4fc060a docker-local-persist-1.3.0.tar.gz
-806b53e97b52d7ec2517cd978ddce6de14321519a64a4f309e3ea233f77b0c6cb1c9ec6bd9431ebe6d1eef83c7fe6ab2b8720bc4e552b64f3741a1fcd0df4bac docker-volume-local-persist.initd"
+sha512sums="
+43a061c937c84eaab817dc62e4be5adfee960e357a2eea504e87c8e5fda32f5a835dc6d145f7d787f4907cd592a04c0159455d8d28d40e158f5a93c4e4fc060a docker-local-persist-1.3.0.tar.gz
+806b53e97b52d7ec2517cd978ddce6de14321519a64a4f309e3ea233f77b0c6cb1c9ec6bd9431ebe6d1eef83c7fe6ab2b8720bc4e552b64f3741a1fcd0df4bac docker-volume-local-persist.initd
+28f0a16f90ea90b908b117c185801b1b7d7ef569221db08f89b1b4fad48bef708b8effc1fc2a6e60a0cccaea02f5fc62694be0e15271f1953b8b3687be3dabde gomod.patch
+"
diff --git a/testing/docker-volume-local-persist/gomod.patch b/testing/docker-volume-local-persist/gomod.patch
new file mode 100644
index 00000000000..455081aa211
--- /dev/null
+++ b/testing/docker-volume-local-persist/gomod.patch
@@ -0,0 +1,84 @@
+diff --git a/go.mod b/go.mod
+new file mode 100644
+index 0000000..3e9dd07
+--- /dev/null
++++ b/go.mod
+@@ -0,0 +1,26 @@
++module local-persist-1.3.0
++
++go 1.19
++
++require (
++ github.com/docker/engine-api v0.4.0
++ github.com/docker/go-plugins-helpers v0.0.0-20161031114640-60d242cfd0fb
++ github.com/fatih/color v1.1.0
++ golang.org/x/net v0.0.0-20160322021652-4876518f9e71
++)
++
++require (
++ github.com/Microsoft/go-winio v0.3.6-0.20160621211438-ce2922f643c8 // indirect
++ github.com/Sirupsen/logrus v0.7.3 // indirect
++ github.com/coreos/go-systemd v0.0.0-20161102170722-64d5cd7cb947 // indirect
++ github.com/coreos/pkg v0.0.0-20161026222926-447b7ec906e5 // indirect
++ github.com/docker/distribution v2.5.0-rc.1.0.20161102195617-fbe6e8d212ed+incompatible // indirect
++ github.com/docker/go-connections v0.2.2-0.20161031182214-f512407a188e // indirect
++ github.com/docker/go-units v0.3.2-0.20161020213227-8a7beacffa30 // indirect
++ github.com/mattn/go-colorable v0.0.7-0.20161102080925-6e26b354bd2b // indirect
++ github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c // indirect
++ github.com/opencontainers/runc v1.0.0-rc2.0.20161102180326-49ed0a10e4ed // indirect
++ github.com/stevvooe/resumable v0.0.0-20180830230917-22b14a53ba50 // indirect
++ github.com/stretchr/testify v1.8.0 // indirect
++ golang.org/x/sys v0.0.0-20161023150541-c200b10b5d5e // indirect
++)
+diff --git a/go.sum b/go.sum
+new file mode 100644
+index 0000000..cb6c846
+--- /dev/null
++++ b/go.sum
+@@ -0,0 +1,46 @@
++github.com/Microsoft/go-winio v0.3.6-0.20160621211438-ce2922f643c8 h1:Qp3i6ZUVcAOeTQj0KBsivXCfsnvsBASQYfXXS/N34NY=
++github.com/Microsoft/go-winio v0.3.6-0.20160621211438-ce2922f643c8/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
++github.com/Sirupsen/logrus v0.7.3 h1:G04jzNEnKQKTemyvbCV32zFbOu+D++ECKnCFazUjPdc=
++github.com/Sirupsen/logrus v0.7.3/go.mod h1:rmk17hk6i8ZSAJkSDa7nOxamrG+SP4P0mm+DAvExv4U=
++github.com/coreos/go-systemd v0.0.0-20161102170722-64d5cd7cb947 h1:9zLgi/vHKaTOHO7YtcSvAzSiytU13fhg/w5t8YOM/Ho=
++github.com/coreos/go-systemd v0.0.0-20161102170722-64d5cd7cb947/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
++github.com/coreos/pkg v0.0.0-20161026222926-447b7ec906e5 h1:aqoxNZ9nyZ9kabG+daqglH9RtWIbpxDjVQMoUsoVHuo=
++github.com/coreos/pkg v0.0.0-20161026222926-447b7ec906e5/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
++github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
++github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
++github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
++github.com/docker/distribution v2.5.0-rc.1.0.20161102195617-fbe6e8d212ed+incompatible h1:6W0HnJhig6393/Qm1Qv/4mhZl/TdsVuRP24WRVkCi64=
++github.com/docker/distribution v2.5.0-rc.1.0.20161102195617-fbe6e8d212ed+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
++github.com/docker/engine-api v0.4.0 h1:D0Osr6+45yAlQqLyoczv5qJtAu+P0HB0rLCddck03wY=
++github.com/docker/engine-api v0.4.0/go.mod h1:xtQCpzf4YysNZCVFfIGIm7qfLvYbxtLkEVVfKhTVOvw=
++github.com/docker/go-connections v0.2.2-0.20161031182214-f512407a188e h1:jcaJgljPmPKABWQTL7kZ4bn75pxBwDrzW9PcLkqkH7o=
++github.com/docker/go-connections v0.2.2-0.20161031182214-f512407a188e/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
++github.com/docker/go-plugins-helpers v0.0.0-20161031114640-60d242cfd0fb h1:3PbRNm4EK4EszBwI3UR2Wv6IR9tT+PozgOdgJjSq8hs=
++github.com/docker/go-plugins-helpers v0.0.0-20161031114640-60d242cfd0fb/go.mod h1:LFyLie6XcDbyKGeVK6bHe+9aJTYCxWLBg5IrJZOaXKA=
++github.com/docker/go-units v0.3.2-0.20161020213227-8a7beacffa30 h1:bANAGhKtjG23j8rJr6QEKZJlUaRhiTuq7kCaYV9Ggbg=
++github.com/docker/go-units v0.3.2-0.20161020213227-8a7beacffa30/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
++github.com/fatih/color v1.1.0 h1:4RQHlUrrLRssqNPpcM+ZLy+alwucmC4mkIGTbiVdCeY=
++github.com/fatih/color v1.1.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
++github.com/mattn/go-colorable v0.0.7-0.20161102080925-6e26b354bd2b h1:QDkLN5n0HZJHlRE6QtBlrhuHgiQVYBuJ+R7gfyJBQ84=
++github.com/mattn/go-colorable v0.0.7-0.20161102080925-6e26b354bd2b/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
++github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c h1:3nKFouDdpgGUV/uerJcYWH45ZbJzX0SiVWfTgmUeTzc=
++github.com/mattn/go-isatty v0.0.0-20160806122752-66b8e73f3f5c/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
++github.com/opencontainers/runc v1.0.0-rc2.0.20161102180326-49ed0a10e4ed h1:CO6K4Ex3bZFJrue+c19dYXE0ZCa9qoux6JSPMZKEeHw=
++github.com/opencontainers/runc v1.0.0-rc2.0.20161102180326-49ed0a10e4ed/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
++github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
++github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
++github.com/stevvooe/resumable v0.0.0-20180830230917-22b14a53ba50 h1:4bT0pPowCpQImewr+BjzfUKcuFW+KVyB8d1OF3b6oTI=
++github.com/stevvooe/resumable v0.0.0-20180830230917-22b14a53ba50/go.mod h1:1pdIZTAHUz+HDKDVZ++5xg/duPlhKAIzw9qy42CWYp4=
++github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
++github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
++github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
++github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk=
++github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
++golang.org/x/net v0.0.0-20160322021652-4876518f9e71 h1:uzpLVINUETeZRto6ZphAoh11snmPXlRiUF+rNKPHlO8=
++golang.org/x/net v0.0.0-20160322021652-4876518f9e71/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
++golang.org/x/sys v0.0.0-20161023150541-c200b10b5d5e h1:uau++4dmjGy3TuvPvRbhZHY+TQVsImIxtWY5HRh9eho=
++golang.org/x/sys v0.0.0-20161023150541-c200b10b5d5e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
++gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
++gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
++gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/testing/dockerize/APKBUILD b/testing/dockerize/APKBUILD
index 89a719ed67d..846c43f62f8 100644
--- a/testing/dockerize/APKBUILD
+++ b/testing/dockerize/APKBUILD
@@ -1,25 +1,19 @@
# Contributor: Christian Kampka <christian@kampka.net>
# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
pkgname=dockerize
-pkgver=0.6.1
-pkgrel=9
+pkgver=0.7.0
+pkgrel=5
pkgdesc="Utility to simplify running applications in docker containers."
url="https://github.com/jwilder/dockerize"
-arch="all !mips !mips64"
+arch="all"
license="MIT"
options="!check" # No test suite
makedepends="go"
-source="$pkgname-$pkgver.tar.gz::https://github.com/jwilder/dockerize/archive/v$pkgver.tar.gz
- go.mod
- go.sum
- "
+source="$pkgname-$pkgver.tar.gz::https://github.com/jwilder/dockerize/archive/v$pkgver.tar.gz"
-prepare() {
- default_prepare
-
- cp "$srcdir"/go.mod "$builddir"/go.mod
- cp "$srcdir"/go.sum "$builddir"/go.sum
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build -ldflags "-X main.buildVersion=$pkgver"
@@ -31,6 +25,6 @@ package() {
cp -r examples "$pkgdir"/usr/share/dockerize/
}
-sha512sums="5ee217b97a23cde8a56ec4c4a262152343d777f95813582d93d2f97f3348ba67bbd415a071ad6449157ab261f65d2dbe2d41e4bb69e37c0699d79947b4af6c12 dockerize-0.6.1.tar.gz
-b8d6c6608a6e4a77b325a46c7e3e8b35d65d631294ad9dd414e1e8a7a6d181b89630572f30e8de87ee399dca9a906aa10cc240e827b06e23cfcf789d453478cf go.mod
-d994a4d78e3291be9803fe8f98fed2fd02a5b428faf52e682f799331d09a2393462360916a78e3198257e0d55528f8d7080790ba4dafb04f436885070607fe71 go.sum"
+sha512sums="
+694c9e7ce4c42b886ae5a9b6aaed8f255410f43d76440e6c9347c59821212ef37ceb46342e9569f34ee44dab07cf8dadde9c6011421694d9a9df195f0cfee3b8 dockerize-0.7.0.tar.gz
+"
diff --git a/testing/dockerize/go.mod b/testing/dockerize/go.mod
deleted file mode 100644
index 749b54ecb84..00000000000
--- a/testing/dockerize/go.mod
+++ /dev/null
@@ -1,13 +0,0 @@
-module dockerize
-
-go 1.15
-
-require (
- github.com/elgs/gosplitargs v0.0.0-20160406212339-e9cf3de21e14
- github.com/hpcloud/tail v1.0.1-0.20170207023346-faf842bde7ed
- github.com/jwilder/gojq v0.0.0-20160421194050-81fa9a608a13
- golang.org/x/net v0.0.0-20160912184337-749a502dd1ea
- golang.org/x/sys v0.0.0-20210217105451-b926d437f341 // indirect
- gopkg.in/fsnotify.v1 v1.4.7 // indirect
- gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
-)
diff --git a/testing/dockerize/go.sum b/testing/dockerize/go.sum
deleted file mode 100644
index a189bcd48b6..00000000000
--- a/testing/dockerize/go.sum
+++ /dev/null
@@ -1,14 +0,0 @@
-github.com/elgs/gosplitargs v0.0.0-20160406212339-e9cf3de21e14 h1:tSWWZ79VqlUos3dMoPNvGB+gqeVtwUQAtAlni2+OS0c=
-github.com/elgs/gosplitargs v0.0.0-20160406212339-e9cf3de21e14/go.mod h1:o4DgpccPNAQAlPSxo7I4L/LWNh2oyr/BBGSynrLTmZM=
-github.com/hpcloud/tail v1.0.1-0.20170207023346-faf842bde7ed h1:WLBrQgEkxAC1n5JUB50ei+XUF1fZpve1emH1u3WI1Rw=
-github.com/hpcloud/tail v1.0.1-0.20170207023346-faf842bde7ed/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
-github.com/jwilder/gojq v0.0.0-20160421194050-81fa9a608a13 h1:FQ/MU09pV6QPwNq+YRsA4yJknUf+3xl3Y52I+WC0X4c=
-github.com/jwilder/gojq v0.0.0-20160421194050-81fa9a608a13/go.mod h1:pD7F1lLmlib/2Vy3xild2aXjNnnSudq54IJGftfO4O0=
-golang.org/x/net v0.0.0-20160912184337-749a502dd1ea h1:rmarNoIEpFby4hGZiv7uycvLJc9m1g3MFnarO7jcDHE=
-golang.org/x/net v0.0.0-20160912184337-749a502dd1ea/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/sys v0.0.0-20210217105451-b926d437f341 h1:2/QtM1mL37YmcsT8HaDNHDgTqqFVw+zr8UzMiBVLzYU=
-golang.org/x/sys v0.0.0-20210217105451-b926d437f341/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
-gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
-gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
diff --git a/testing/docopt/APKBUILD b/testing/docopt/APKBUILD
deleted file mode 100644
index ac1314fae28..00000000000
--- a/testing/docopt/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=docopt
-pkgver=0.6.3
-pkgrel=0
-pkgdesc="Command line arguments parser for C++11 and later"
-url="https://github.com/docopt/docopt.cpp/"
-arch="all"
-license="MIT"
-options="!check" # No test suite from upstream
-makedepends="cmake ninja"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/docopt/docopt.cpp/archive/v$pkgver.tar.gz
- docopt.pc
- "
-builddir="$srcdir/$pkgname.cpp-$pkgver"
-
-build() {
- mkdir -p build
-
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -GNinja
-
- ninja -C build
-}
-
-package() {
- DESTDIR="$pkgdir" ninja -C build install
- install -Dm644 "$srcdir/docopt.pc" "$pkgdir/usr/lib/pkgconfig/docopt.pc"
- install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname/" README.rst
-}
-
-sha512sums="01f881684d416d25f27120e7707473ee7337c09d1d3ce73bd1efd7763955c0bfa86c6d14655d989e37659af940b12c9ac0854571a758a71bf4a7f35e70277c40 docopt-0.6.3.tar.gz
-0d382418892e0d81c7cbf4eb17124c2fedbf492c727558be91354f1f5754b2ac799885d4fc7f943bf42d4cba68f9619223d626274c3b3e8ed56a86d5ac071246 docopt.pc"
diff --git a/testing/docopt/docopt.pc b/testing/docopt/docopt.pc
deleted file mode 100644
index 67f4cc80823..00000000000
--- a/testing/docopt/docopt.pc
+++ /dev/null
@@ -1,9 +0,0 @@
-prefix=/usr
-libdir=${prefix}/lib
-includedir=${prefix}/include/docopt
-
-Name: docopt
-Description: docopt headers and library
-Version: 0.6.3
-Libs: -L${libdir} -ldocopt
-Cflags: -I${includedir}
diff --git a/testing/dog/APKBUILD b/testing/dog/APKBUILD
deleted file mode 100644
index 466eb2f0fc0..00000000000
--- a/testing/dog/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: omni <omni@gitlab.alpinelinux.org>
-# Maintainer: omni <omni@gitlab.alpinelinux.org>
-pkgname=dog
-pkgver=0.1.0
-pkgrel=0
-pkgdesc="dog is a command-line DNS client"
-url="https://github.com/ogham/dog"
-arch="x86_64 armv7 armhf aarch64 ppc64le x86"
-license="EUPL-1.2"
-makedepends="cargo openssl-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ogham/dog/archive/v$pkgver.tar.gz"
-
-build() {
- cargo build --locked --release
-}
-
-check() {
- cargo test --locked --release
-}
-
-package() {
- install -Dm0755 target/release/$pkgname -t "$pkgdir"/usr/bin
- install -Dm0644 man/dog.1.md -t "$pkgdir"/usr/share/doc/"$pkgname"
- install -Dm0644 LICENCE -t "$pkgdir"/usr/share/licenses/"$pkgname"
-}
-
-sha512sums="03af5414b995710d22ea19bdbf382def4e53ae2870f396b4103546743c9cafcc445ee0819b6c8b7f435793fead5ebd03f091be89293a32847868a5544b4bc0e5 dog-0.1.0.tar.gz"
diff --git a/testing/dolt/APKBUILD b/testing/dolt/APKBUILD
new file mode 100644
index 00000000000..b3b25caf75c
--- /dev/null
+++ b/testing/dolt/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=dolt
+pkgver=1.35.9
+pkgrel=0
+pkgdesc="Dolt – It's Git for Data"
+url="https://www.dolthub.com"
+arch="all !x86 !armhf !armv7" # fails on 32-bit
+license="Apache-2.0"
+options="!check chmod-clean net"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dolthub/dolt/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgver/go"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ mkdir -p build
+ go build \
+ -mod=readonly \
+ -ldflags "-extldflags \"$LDFLAGS\"" \
+ -o build \
+ ./cmd/...
+}
+
+package() {
+ install -Dm755 build/dolt "$pkgdir"/usr/bin/dolt
+}
+
+sha512sums="
+faa25bb94a309ec26e0c7498f08aa38e958347e5256da5ee39130d20e8855b60b9d8070167704b4b7dd9353cb8d3ce373aa2c19661502261c45e1e8967dbf1f3 dolt-1.35.9.tar.gz
+"
diff --git a/testing/dooit/APKBUILD b/testing/dooit/APKBUILD
new file mode 100644
index 00000000000..4b770dd605e
--- /dev/null
+++ b/testing/dooit/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=dooit
+pkgver=2.2.0
+pkgrel=1
+pkgdesc="TUI todo manager"
+url="https://github.com/kraanzu/dooit"
+arch="noarch"
+license="MIT"
+depends="
+ python3
+ py3-appdirs
+ py3-dateparser
+ py3-dateutil
+ py3-pyperclip
+ py3-textual
+ py3-tzlocal
+ py3-yaml
+ "
+makedepends="py3-gpep517 py3-poetry-core"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kraanzu/dooit/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no testsuite
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+9b95da5c667e2dfcb98deee8726800dd07837202140ce5c0f53052151cedf474133d3ad2263f1f66ca86bfe7e916a30ebc3618148454084144775c676eddb080 dooit-2.2.0.tar.gz
+"
diff --git a/testing/dosbox-staging/APKBUILD b/testing/dosbox-staging/APKBUILD
index 4508cffca2b..d6f4d1d89ed 100644
--- a/testing/dosbox-staging/APKBUILD
+++ b/testing/dosbox-staging/APKBUILD
@@ -1,38 +1,43 @@
-# Contributor: psykose <alice@ayaya.dev>
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=dosbox-staging
-pkgver=0.78.1
+pkgver=0.81.0
pkgrel=0
pkgdesc="revitalized dosbox DOS-emulator"
url="https://dosbox-staging.github.io/"
arch="all !x86" # TEXTREL on x86
license="GPL-2.0-or-later"
-options="!check" # no
+options="!check" # no test
+provides="dosbox"
+replaces="dosbox"
depends="!dosbox" # dosbox provides same binary in /usr/bin/dosbox
makedepends="
+ cmake
+ meson
alsa-lib-dev
fluidsynth-dev
- libexecinfo-dev
+ iir1-dev
libpng-dev
libslirp-dev
opus-dev
opusfile-dev
+ speexdsp-dev
sdl2-dev
+ sdl2_image-dev
sdl2_net-dev
- meson
+ zlib-dev
"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/dosbox-staging/dosbox-staging/archive/v$pkgver.tar.gz
- fix-execinfo.patch
- "
+source="$pkgname-$pkgver.tar.gz::https://github.com/dosbox-staging/dosbox-staging/archive/v$pkgver.tar.gz"
build() {
abuild-meson \
--prefix /usr \
- --buildtype=release \
+ --buildtype=minsize \
-Duse_mt32emu=false \
+ -Duse_zlib_ng=false \
+ -Ddefault_library=shared \
. output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
@@ -40,6 +45,5 @@ package() {
}
sha512sums="
-5d1ef6f6312f44821f5f0e54db957a9236e943dc847c480e766159dd6237500686a3763211dabe1223837f9590d909f1496781dedc24d2f41e6836014dac77a5 dosbox-staging-0.78.1.tar.gz
-a13ef7270994385681e0ed557ebbbc05cd7a29c49e0ab9338360c99134ed4d3937bd9102453c0550d73e02f9503e5cf885f4a258c89e2ceb2db35f2a27585ff9 fix-execinfo.patch
+96257602b0133ec78fbc7bd5803404d91abf673172e97319067a0f3f97db8860ae6d4771bb03cff5b73e033f220cb4fa6cd778cf549a9bc63e3550def9aa8797 dosbox-staging-0.81.0.tar.gz
"
diff --git a/testing/dosbox-staging/fix-execinfo.patch b/testing/dosbox-staging/fix-execinfo.patch
deleted file mode 100644
index 59dc6e4c6da..00000000000
--- a/testing/dosbox-staging/fix-execinfo.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Author: psykose <alice@ayaya.dev>
-Date: Thu Dec 30 19:05:44 UTC 2021
-
-patch made by psykose <alice@ayaya.dev> to fix build
-
---- a/src/libs/loguru/meson.build
-+++ b/src/libs/loguru/meson.build
-@@ -1,6 +1,8 @@
-+execinfo_dep = cc.find_library('execinfo', required : true )
-+
- libloguru = static_library('loguru',
- 'loguru.cpp',
-- dependencies : [ threads_dep, dl_dep ])
-+ dependencies : [ threads_dep, dl_dep, execinfo_dep ])
-
- libloguru_dep = declare_dependency(link_with : libloguru,
- include_directories : '.')
diff --git a/testing/dotenv-linter/APKBUILD b/testing/dotenv-linter/APKBUILD
new file mode 100644
index 00000000000..2ed06e9443e
--- /dev/null
+++ b/testing/dotenv-linter/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=dotenv-linter
+pkgver=3.3.0
+pkgrel=1
+pkgdesc="Lightning-fast linter for .env files"
+url="https://dotenv-linter.github.io"
+arch="all !s390x !ppc64le !riscv64" # rust/rustls
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="https://github.com/dotenv-linter/dotenv-linter/archive/refs/tags/v$pkgver/dotenv-linter-$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/dotenv-linter -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+5f513277e463d1d83953488934ede246634ba8752bc08f44e62a084aea8724d93da2d5bc9924609c2c2dde918d40d619674dfe5c4e8a31f887f7a7e48cd83918 dotenv-linter-3.3.0.tar.gz
+"
diff --git a/testing/dovecot-ceph-plugin/1-fixes.patch b/testing/dovecot-ceph-plugin/1-fixes.patch
deleted file mode 100644
index 8af727645cc..00000000000
--- a/testing/dovecot-ceph-plugin/1-fixes.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-submitted as: https://github.com/ceph-dovecot/dovecot-ceph-plugin/pull/272
-
-commit cbccc030421472d2455bf0c584ea1490bf03dd16
-Author: root <root@test2.local>
-Date: Mon Aug 24 13:28:24 2020 +0000
-
- some compiling fixes
-
-diff --git a/src/storage-rbox/ostream-bufferlist.cpp b/src/storage-rbox/ostream-bufferlist.cpp
-index 83f4880..2c3f0b6 100644
---- a/src/storage-rbox/ostream-bufferlist.cpp
-+++ b/src/storage-rbox/ostream-bufferlist.cpp
-@@ -63,7 +63,7 @@ static ssize_t o_stream_buffer_sendv(struct ostream_private *stream, const struc
- }
- for (i = 0; i < iov_count; i++) {
- // use unsigned char* for binary data!
-- bstream->buf->append(reinterpret_cast<const unsigned char *>(iov[i].iov_base), iov[i].iov_len);
-+ bstream->buf->append(reinterpret_cast<const char *>(iov[i].iov_base), iov[i].iov_len);
- stream->ostream.offset += iov[i].iov_len;
- ret += iov[i].iov_len;
- }
diff --git a/testing/dovecot-ceph-plugin/2-fixes.patch b/testing/dovecot-ceph-plugin/2-fixes.patch
deleted file mode 100644
index 6d10381d4d0..00000000000
--- a/testing/dovecot-ceph-plugin/2-fixes.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-submitted as: https://github.com/ceph-dovecot/dovecot-ceph-plugin/pull/272
-
-commit 31f755997e648e813a4eb49d86c301d6e5b1121d
-Author: None None <none@f1-outsourcing.eu>
-Date: Mon Aug 24 12:02:24 2020 +0000
-
- some compiling fixes
-
-diff --git a/src/storage-rbox/typeof-def.h b/src/storage-rbox/typeof-def.h
-index 4badd34..3ed0b71 100644
---- a/src/storage-rbox/typeof-def.h
-+++ b/src/storage-rbox/typeof-def.h
-@@ -23,7 +23,7 @@
- /* replacement for MODULE_CONTEXT (v 2.3, assigned void or long int, this is not allowed with c++) */
- #define RBOX_MODULE_CONTEXT(obj, id_ctx) \
- (module_get_context_id(&(id_ctx).id) < array_count(&(obj)->module_contexts) \
-- ? (*((void **)array_idx_modifiable(&(obj)->module_contexts, module_get_context_id(&(id_ctx).id)) + \
-+ ? (*((index_mailbox_context **)array_idx_modifiable(&(obj)->module_contexts, module_get_context_id(&(id_ctx).id)) + \
- OBJ_REGISTER_COMPATIBLE(obj, id_ctx))) \
- : NULL)
-
diff --git a/testing/dovecot-ceph-plugin/3-fixes.patch b/testing/dovecot-ceph-plugin/3-fixes.patch
deleted file mode 100644
index 6b191d3f117..00000000000
--- a/testing/dovecot-ceph-plugin/3-fixes.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-submitted as: https://github.com/ceph-dovecot/dovecot-ceph-plugin/pull/272
-
-commit 4a159760a514b60b1343764bd93d6aee78cb63a1
-Author: None None <none@f1-outsourcing.eu>
-Date: Mon Aug 24 10:42:44 2020 +0000
-
- some compiling fixes
-
-diff --git a/src/storage-rbox/rbox-mail.cpp b/src/storage-rbox/rbox-mail.cpp
-index bd15d82..8d0b8a3 100644
---- a/src/storage-rbox/rbox-mail.cpp
-+++ b/src/storage-rbox/rbox-mail.cpp
-@@ -496,7 +496,7 @@ int rbox_get_guid_metadata(struct rbox_mail *mail, const char **value_r) {
- }
- // lost for some reason, use fallback
- // index is empty. we have to check the object attributes do we have to tell someone that the index is broken?
-- if (rbox_mail_metadata_get(mail, rbox_metadata_key::RBOX_METADATA_GUID, value_r) < 0) {
-+ if (rbox_mail_metadata_get(mail, rbox_metadata_key::RBOX_METADATA_GUID, const_cast<char**>(value_r)) < 0) {
- return -1;
- }
-
-diff --git a/src/storage-rbox/rbox-save.cpp b/src/storage-rbox/rbox-save.cpp
-index bc11406..7b607ed 100644
---- a/src/storage-rbox/rbox-save.cpp
-+++ b/src/storage-rbox/rbox-save.cpp
-@@ -192,7 +192,7 @@ void init_output_stream(mail_save_context *_ctx) {
- // create buffer ( delete is in wait_for_write_operations)
- r_ctx->rados_mail->set_mail_buffer(new librados::bufferlist());
- r_ctx->output_stream =
-- o_stream_create_bufferlist(r_ctx->rados_mail, &r_ctx->rados_storage, rbox->storage->config->is_write_chunks());
-+ o_stream_create_bufferlist(r_ctx->rados_mail, const_cast<librmb::RadosStorage*>(&r_ctx->rados_storage), rbox->storage->config->is_write_chunks());
- o_stream_cork(r_ctx->output_stream);
- _ctx->data.output = r_ctx->output_stream;
-
diff --git a/testing/dovecot-ceph-plugin/6-32bit.patch b/testing/dovecot-ceph-plugin/6-32bit.patch
deleted file mode 100644
index 0063cb0beb4..00000000000
--- a/testing/dovecot-ceph-plugin/6-32bit.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-submitted as:
-https://github.com/ceph-dovecot/dovecot-ceph-plugin/pull/275
-
---- a/src/librmb/rados-metadata.h
-+++ b/src/librmb/rados-metadata.h
-@@ -31,9 +31,9 @@
-
- RadosMetadata(enum rbox_metadata_key _key, const char* val) { convert(_key, val); }
-
-- RadosMetadata(enum rbox_metadata_key _key, const uint& val) { convert(_key, val); }
-+ RadosMetadata(enum rbox_metadata_key _key, const uint32_t& val) { convert(_key, val); }
-
-- RadosMetadata(enum rbox_metadata_key _key, const size_t& val) { convert(_key, val); }
-+ RadosMetadata(enum rbox_metadata_key _key, const uint64_t& val) { convert(_key, val); }
- RadosMetadata(enum rbox_metadata_key _key, const int val) { convert(_key, val); }
- ~RadosMetadata() {}
-
-@@ -91,17 +91,17 @@
- bl.append(str.c_str(), str.length() + 1);
- }
-
-- void convert(enum rbox_metadata_key _key, const uint& value) {
-+ void convert(enum rbox_metadata_key _key, const uint32_t& value) {
- bl.clear();
- key = librmb::rbox_metadata_key_to_char(_key);
- std::string val = std::to_string(value);
- bl.append(val.c_str(), val.length() + 1);
- }
-
-- void convert(enum rbox_metadata_key _key, const size_t& value) {
-+ void convert(enum rbox_metadata_key _key, const uint64_t& value) {
- bl.clear();
- key = librmb::rbox_metadata_key_to_char(_key);
-- std::string val = std::to_string(static_cast<int>(value));
-+ std::string val = std::to_string(static_cast<uint64_t>(value));
- bl.append(val.c_str(), val.length() + 1);
- }
- void convert(enum rbox_metadata_key _key, const int value) {
diff --git a/testing/dovecot-ceph-plugin/7-sentinel.patch b/testing/dovecot-ceph-plugin/7-sentinel.patch
deleted file mode 100644
index e7edb24de5c..00000000000
--- a/testing/dovecot-ceph-plugin/7-sentinel.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-submitted as:
-https://github.com/ceph-dovecot/dovecot-ceph-plugin/pull/276
-
---- a/src/storage-rbox/rbox-mailbox-list-fs.cpp
-+++ b/src/storage-rbox/rbox-mailbox-list-fs.cpp
-@@ -101,7 +101,7 @@
- }
-
- /* we have at least one directory. see if this mailbox is selectable */
-- maildir_path = t_strconcat(path, "/", list->set.maildir_name, NULL);
-+ maildir_path = t_strconcat(path, "/", list->set.maildir_name, static_cast<const char*>(NULL));
- if (stat(maildir_path, &st2) < 0)
- *flags_r |= MAILBOX_NOSELECT | MAILBOX_CHILDREN;
- else if (!S_ISDIR(st2.st_mode)) {
-@@ -205,7 +205,7 @@
- }
-
- /* we've done all filtering we can before stat()ing */
-- path = t_strconcat(dir, "/", fname, NULL);
-+ path = t_strconcat(dir, "/", fname, static_cast<const char*>(NULL));
- if (stat(path, &st) < 0) {
- if (ENOTFOUND(errno)) {
- *flags_r |= MAILBOX_NONEXISTENT;
---- a/src/storage-rbox/rbox-storage.cpp
-+++ b/src/storage-rbox/rbox-storage.cpp
-@@ -106,7 +106,7 @@
- const char *home;
-
- if (ns->owner != NULL && mail_user_get_home(ns->owner, &home) > 0) {
-- const char *path = t_strconcat(home, "/rbox", NULL);
-+ const char *path = t_strconcat(home, "/rbox", static_cast<const char*>(NULL));
- if (access(path, R_OK | W_OK | X_OK) == 0) {
- #ifdef DEBUG
- i_debug("rbox: root exists (%s)", path);
-@@ -142,7 +142,7 @@
- }
- }
-
-- path = t_strconcat(root_dir, "/" RBOX_MAILBOX_DIR_NAME, NULL);
-+ path = t_strconcat(root_dir, "/" RBOX_MAILBOX_DIR_NAME, static_cast<const char*>(NULL));
- if (stat(path, &st) < 0) {
- #ifdef DEBUG
- i_debug("rbox autodetect: stat(%s) failed: %m", path);
-@@ -343,7 +343,7 @@
- if (mailbox_get_path_to(box, MAILBOX_LIST_PATH_TYPE_INDEX, &box_path) < 0)
- return -1;
- i_assert(box_path != NULL);
-- box_path = t_strconcat(box_path, "/", box->index_prefix, ".log", NULL);
-+ box_path = t_strconcat(box_path, "/", box->index_prefix, ".log", static_cast<const char*>(NULL));
- ret = stat(box_path, &st);
- }
- #endif
-@@ -566,7 +566,7 @@
-
- const char *path;
- path = mailbox_list_get_root_forced(list, MAILBOX_LIST_PATH_TYPE_CONTROL);
-- path = t_strconcat(path, "/" RBOX_UIDVALIDITY_FILE_NAME, NULL);
-+ path = t_strconcat(path, "/" RBOX_UIDVALIDITY_FILE_NAME, static_cast<const char*>(NULL));
-
- FUNC_END();
- return mailbox_uidvalidity_next(list, path);
diff --git a/testing/dovecot-ceph-plugin/APKBUILD b/testing/dovecot-ceph-plugin/APKBUILD
deleted file mode 100644
index e20936a9a16..00000000000
--- a/testing/dovecot-ceph-plugin/APKBUILD
+++ /dev/null
@@ -1,85 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=dovecot-ceph-plugin
-pkgver=0.0.23
-pkgrel=3
-_gtestver=1.11.0
-pkgdesc="Dovecot plugin for storing mails in a Ceph cluster"
-url="https://github.com/ceph-dovecot/dovecot-ceph-plugin"
-arch="all !mips64 !riscv64" # blocked by ceph
-license="LGPL-2.1-or-later"
-depends="dovecot"
-makedepends="
- automake
- autoconf
- ceph-dev
- dovecot-dev
- jansson-dev
- libexecinfo-dev
- libtool
- linux-headers
- "
-subpackages="librmb:_librmb librmb-dev:_librmb_dev librmb-doc:_librmb_doc librmb-utils:_librmb_utils"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ceph-dovecot/dovecot-ceph-plugin/archive/refs/tags/$pkgver.tar.gz
- https://github.com/google/googletest/archive/refs/tags/release-$_gtestver.tar.gz
- 1-fixes.patch
- 2-fixes.patch
- 3-fixes.patch
- 6-32bit.patch
- 7-sentinel.patch
- "
-
-prepare() {
- default_prepare
- ln -s "$srcdir"/googletest-release-"$_gtestver"/googletest \
- src/tests/googletest/googletest
- ln -s "$srcdir"/googletest-release-"$_gtestver"/googlemock \
- src/tests/googletest/googlemock
- autoreconf -vif
-}
-
-build() {
- export CFLAGS="$CFLAGS -fPIC"
- export CXXFLAGS="$CXXFLAGS -fPIC"
- export LIBS="$LIBS -lexecinfo"
-
- ./configure --prefix=/usr --with-dovecot=/usr/lib/dovecot
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-_librmb() {
- pkgdesc="RADOS mailbox library"
- amove usr/lib/librmb.so.*
-}
-
-_librmb_dev() {
- pkgdesc="RADOS mailbox headers"
- default_dev
-}
-
-_librmb_doc() {
- default_doc
-}
-
-_librmb_utils() {
- pkgdesc="RADOS mailbox tools"
- amove usr/bin/rmb
-}
-
-sha512sums="
-6476d98b59fd8adfb49dee478a234ec2327c76712074e8842db24f8a9982c53f68d3b917a096b707efae01862e096e378c435006a316b7d43a8ffa0263075a54 dovecot-ceph-plugin-0.0.23.tar.gz
-6fcc7827e4c4d95e3ae643dd65e6c4fc0e3d04e1778b84f6e06e390410fe3d18026c131d828d949d2f20dde6327d30ecee24dcd3ef919e21c91e010d149f3a28 release-1.11.0.tar.gz
-d6b25ee5a9b990e3f196292b3d160210c39d1cbec1abc71a938733aed0508c991dcb14f78b84c5cc4dece35cdc1af35517dec695eb019d1c62bb55cc6acd2e79 1-fixes.patch
-0c2267140dfd532dd191e8c0cc0cd54a47c57222879664c24c724d6846cff7d435aacfae077439c882156c982e004917f428415e7497fe40d6f3f1f680b5da6e 2-fixes.patch
-585ef94845d03ff49fd8a02db2ff8075c4a0eba545d98b22558b23f587bb475f4682d5b6cfd7f33f8617ffbec00f190a26521433c4f1ba1d3a2e78e9940ddc37 3-fixes.patch
-a71e6b2236c29f3b65ed043ba5548c3494bedc40d5db2eabad54158eccc0b7c4dda328d878064031fb0b8088fb3a38c8d41ae4049a8f0fd57f89b16cc92267f5 6-32bit.patch
-df836f24d8133228537b003dbdc4f917892f50dbe3dc7c374d6e242890e879a31ed1f8259ceb88df43dcea281b1be612171714417407b57db38827f834f1fcdd 7-sentinel.patch
-"
diff --git a/testing/dovi-tool/APKBUILD b/testing/dovi-tool/APKBUILD
new file mode 100644
index 00000000000..b8a5d51d3cc
--- /dev/null
+++ b/testing/dovi-tool/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Petr Hodina <phodina@protonmail.com>
+# Maintainer: Petr Hodina <phodina@protonmail.com>
+pkgname=dovi-tool
+pkgver=2.0.3
+pkgrel=0
+pkgdesc="Library to read and write Dolby Vision metadata"
+url="https://github.com/quietvoid/dovi_tool"
+# arm: fails tests
+arch="all !armhf !armv7"
+license="MIT"
+makedepends="cargo cargo-auditable fontconfig-dev"
+checkdepends="font-opensans"
+source="$pkgname-$pkgver.tar.gz::https://github.com/quietvoid/dovi_tool/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/dovi_tool-$pkgver"
+options="net" # cargo fetch
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen --release
+}
+
+package() {
+ install -Dm755 target/release/dovi_tool -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+49f42d85bfcb22ce35800f2aeebaea8ae3880227f4727c4ba92e6123bd460d2df58b7346473b9bde5a0d64db88e0c8280921800f58794d72625af1f6921aa219 dovi-tool-2.0.3.tar.gz
+"
diff --git a/testing/downloader-cli/APKBUILD b/testing/downloader-cli/APKBUILD
new file mode 100644
index 00000000000..8e34904ac26
--- /dev/null
+++ b/testing/downloader-cli/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=downloader-cli
+pkgver=0.3.4
+pkgrel=1
+pkgdesc="Simple downloader with an awesome progressbar"
+url="https://github.com/deepjyoti30/downloader-cli"
+arch="noarch"
+license="MIT"
+depends="py3-urllib3 py3-downloader-cli"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="py3-$pkgname-pyc py3-$pkgname:py3:noarch"
+source="$pkgname-$pkgver.tar.gz::https://github.com/deepjyoti30/downloader-cli/archive/$pkgver.tar.gz"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 -m pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+py3() {
+ depends="python3"
+ pkgdesc="Python library for $pkgname"
+
+ amove usr/lib/python3*
+}
+
+sha512sums="
+e652850888ff6cf3c0f381056f22eb7120c8b666c03eeb607c8dd2fd827d4f4c2fb5191666e0da0899f6b95d3a402f03672ccd2000ad4a87dc6b067d4372b906 downloader-cli-0.3.4.tar.gz
+"
diff --git a/testing/dqlite/APKBUILD b/testing/dqlite/APKBUILD
deleted file mode 100644
index 7a77e2c8f7d..00000000000
--- a/testing/dqlite/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=dqlite
-pkgver=1.9.0
-pkgrel=0
-pkgdesc="Embeddable, replicated and fault tolerant SQL engine."
-url="https://dqlite.io/"
-arch="all"
-license="Apache"
-depends="raft"
-makedepends="libuv-dev sqlite-dev sqlite-replication-dev
-raft-dev autoconf automake libtool"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/canonical/dqlite/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- autoreconf -i
-}
-
-build() {
- ./configure \
- --prefix=/usr
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/dqlite/LICENSE
-}
-
-sha512sums="
-eeb759cdca6ef44d3c8d7d032b277dab57c24acfab29ead218aecf826c71631fad22244cadcea7337002049857a8b5cb3b5dcd39d611e41a463128e1e09472e3 dqlite-1.9.0.tar.gz
-"
diff --git a/testing/draw/APKBUILD b/testing/draw/APKBUILD
new file mode 100644
index 00000000000..7d41c561c75
--- /dev/null
+++ b/testing/draw/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=draw
+pkgver=0.1.1
+pkgrel=5
+pkgdesc="Draw in your terminal"
+url="https://github.com/maaslalani/draw"
+arch="all"
+license="MIT"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/maaslalani/draw/archive/v$pkgver.tar.gz"
+
+build() {
+ go build -o draw
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 ./draw "$pkgdir"/usr/bin/draw
+}
+
+sha512sums="
+60cf79fe27e42e303e5a642602cebd80cdf7364a60f7885c0277c25d925cba522ec6f35bf7584a1c5a7a52da361e65ed5959a6acb1bfe572f59346fcfc25a644 draw-0.1.1.tar.gz
+"
diff --git a/testing/drawing/APKBUILD b/testing/drawing/APKBUILD
index 78e56b2e10e..63cae6693f7 100644
--- a/testing/drawing/APKBUILD
+++ b/testing/drawing/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Thomas Kienlen <kommander@laposte.net>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=drawing
-pkgver=0.8.5
+pkgver=1.0.2
pkgrel=0
pkgdesc="Simple image editor for Linux"
url="https://github.com/maoschanz/drawing"
@@ -14,6 +14,7 @@ depends="
makedepends="
appstream-glib
desktop-file-utils
+ itstool
meson
py3-cairo-dev
py3-gobject3-dev
@@ -26,7 +27,7 @@ subpackages="$pkgname-lang"
build() {
abuild-meson . build
- meson compile ${JOBS:+-j ${JOBS}} -C build
+ meson compile -C build
}
check() {
@@ -38,6 +39,6 @@ package() {
}
sha512sums="
-e92c49d33bbc8cc1907e911bcafda92723ac9597e7f5986489fed8d356620512c36e8766e358b4192713a4e2c5decb0c5c50c2396e58c6ae2b462019278a234e drawing-0.8.5.tar.gz
+61e3e2764832de6ed997bd6f72a63154fae332da76b12ede848b9c1e9d850ba46cf9ebdf16dd1b4d52827b5ec4e877aca03877d0557a2a2635279598992832d6 drawing-1.0.2.tar.gz
a82cf5bb7c6936a1db20c3ab92bde0359f03437cddd8afa0477dc6808692963f55e386ead0bd3d6b67a70ce8dbbe3e863bb0f818b4bbfcdf8960da1920c6006f fix-bindtextdomain.patch
"
diff --git a/testing/drawpile/APKBUILD b/testing/drawpile/APKBUILD
new file mode 100644
index 00000000000..0c053fa6caa
--- /dev/null
+++ b/testing/drawpile/APKBUILD
@@ -0,0 +1,116 @@
+# Contributor: mio <miyopan@e.email>
+# Maintainer: mio <miyopan@e.email>
+pkgname=drawpile
+pkgver=2.2.1
+pkgrel=0
+pkgdesc="Collaborative drawing program"
+url="https://drawpile.net/"
+license="GPL-3.0-or-later"
+# armhf: missing karchive5-dev kdnssd5-dev
+# ppc64le: unrecognized command-line option '-march=native' error
+# x86, armv7: cast from pointer to integer of different size error
+arch="aarch64 x86_64"
+pkgusers=drawpile
+pkggroups=drawpile
+makedepends="
+ cargo
+ cmake
+ extra-cmake-modules
+ giflib-dev
+ karchive5-dev
+ kdnssd5-dev
+ libmicrohttpd-dev
+ libsodium-dev
+ libvpx-dev
+ miniupnpc-dev
+ qt5-qtmultimedia-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ qt5-qtx11extras-dev
+ samurai
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-base
+ $pkgname-client
+ $pkgname-server
+ $pkgname-server-openrc
+ $pkgname-tools
+ "
+source="drawpile-$pkgver.tar.gz::https://github.com/drawpile/Drawpile/archive/$pkgver.tar.gz
+ drawpile.initd
+ drawpile-server.pre-install
+ "
+builddir="$srcdir"/Drawpile-"$pkgver"
+
+# Temporarily disable lto due to conflict with multiple Rust libs exposing
+# rust_eh_personality symbol.
+export CARGO_PROFILE_RELEASE_LTO="false"
+
+build() {
+ cmake -B build -G Ninja \
+ --preset linux-release-qt5-all-ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ # drawpile is a meta-package
+ depends="
+ $pkgname-base=$pkgver-r$pkgrel
+ $pkgname-client=$pkgver-r$pkgrel
+ $pkgname-server=$pkgver-r$pkgrel
+ $pkgname-tools=$pkgver-r$pkgrel
+ "
+ DESTDIR="$pkgdir" cmake --install build
+
+ install -Dm755 "$srcdir"/drawpile.initd "$pkgdir"/etc/init.d/drawpile
+ install -Dm644 LICENSE.txt \
+ "$pkgdir"/usr/share/licenses/drawpile-base/LICENSE.txt
+}
+
+base() {
+ pkgdesc="Common files for Drawpile"
+ arch="noarch"
+ amove usr/share
+}
+
+client() {
+ pkgdesc="$pkgdesc (Drawpile client)"
+ depends="$pkgname-base=$pkgver-r$pkgrel"
+ amove usr/bin/drawpile
+}
+
+server() {
+ pkgdesc="$pkgdesc (Drawpile server)"
+ depends="
+ $pkgname-base=$pkgver-r$pkgrel
+ qt5-qtbase-sqlite
+ "
+
+ amove usr/bin/drawpile-srv
+
+ install -d -o drawpile -g drawpile "$subpkgdir"/etc/drawpile/templates
+ install -d -o drawpile -g drawpile -m 750 "$subpkgdir"/var/lib/drawpile
+}
+
+tools() {
+ pkgdesc="$pkgdesc (Drawpile tools)"
+ depends="$pkgname-base=$pkgver-r$pkgrel"
+ # dprectool: convert between Drawpile session formats .dprec and .dptxt
+ # drawpile-cmd: render recordings
+ # drawpile-timelapse: turn drawpile recordings into timelapse videos
+ amove usr/bin/dprectool
+ amove usr/bin/drawpile-cmd
+ amove usr/bin/drawpile-timelapse
+}
+
+sha512sums="
+7480d10dd0ac6ea280b8abced66d7c1daca03e2a7dcb1e8c3378efb18a0a6ab5f72734619956c76827adbbf7969a3a930dd2dff951dcbbf7ff6d703e5a665e9e drawpile-2.2.1.tar.gz
+5a2e6d1e677a74a43838cce26bd6b6f6bceb858f3622912476665ad3f6cef3171aa0c5b56ca9343c5b7ec81c850ce251a177d77490854e7ef39796c4c7d53535 drawpile.initd
+712df7a0bac0d4ad25f4254f0caf09b4d496b64d1d0a8bbbdd28e3b6c10ac6305dab58ac48adc8b88d0b7c8898ce28613ae2e8951ba76ad2ef5da35b3d943a94 drawpile-server.pre-install
+"
diff --git a/testing/drawpile/drawpile-server.pre-install b/testing/drawpile/drawpile-server.pre-install
new file mode 100644
index 00000000000..ccef804fc8c
--- /dev/null
+++ b/testing/drawpile/drawpile-server.pre-install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+# Add the server user and group.
+user=drawpile
+addgroup -S $user 2>/dev/null
+adduser -S -D -h /var/lib/drawpile -s /sbin/nologin -G $user -g $user $user 2>/dev/null
+
+exit 0
diff --git a/testing/drawpile/drawpile.initd b/testing/drawpile/drawpile.initd
new file mode 100755
index 00000000000..2afa1fdc47b
--- /dev/null
+++ b/testing/drawpile/drawpile.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+name="Drawpile Server"
+description="Collaborative drawing server"
+command="/usr/bin/drawpile-srv"
+command_args="--database /var/lib/drawpile/guiserver.db
+ --sessions /var/lib/drawpile/sessions
+ --templates /etc/drawpile/templates
+ --extauth https://drawpile.net/api/ext-auth/
+ "
+pidfile="/run/drawpile.pid"
+command_background=true
+command_user=drawpile:drawpile
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/droidcam/APKBUILD b/testing/droidcam/APKBUILD
new file mode 100644
index 00000000000..830414bb6a2
--- /dev/null
+++ b/testing/droidcam/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=droidcam
+pkgver=2.1.3
+pkgrel=0
+pkgdesc="GNU/Linux client for DroidCam"
+url="https://github.com/dev47apps/droidcam/"
+arch="all"
+license="GPL-2.0-only"
+makedepends="
+ alsa-lib-dev
+ ffmpeg-dev
+ glib-dev
+ gtk+3.0-dev
+ libayatana-appindicator-dev
+ libjpeg-turbo-dev
+ libusbmuxd-dev
+ linux-headers
+ speex-dev
+ "
+subpackages="$pkgname-gui"
+install="$pkgname.post-install"
+source="https://github.com/dev47apps/droidcam/archive/refs/tags/v$pkgver/droidcam-$pkgver.tar.gz
+ makefile.patch
+ release-paths.patch
+ "
+options="!check"
+
+build() {
+ make APPINDICATOR=ayatana-appindicator3-0.1
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin \
+ droidcam \
+ droidcam-cli
+
+ install -Dm644 icon2.png "$pkgdir"/usr/share/droidcam/icon.png
+ install -Dm644 droidcam.desktop -t "$pkgdir"/usr/share/applications
+}
+
+gui() {
+ pkgdesc="$pkgdesc (GUI)"
+
+ amove usr/bin/droidcam
+ amove usr/share
+}
+
+sha512sums="
+74f6973179b383bb12b4b063b2c524c0be99ea9465c0f1423d11ece5aa90ab5d93929f029c1716513ab63a6e8707699e78f64e747a3583b5afaf5205a96e18bc droidcam-2.1.3.tar.gz
+cb43712132eae371d2ed06462ba2e5ab69b50d1494ef1bf942d867302aaa4f169bfa0b02c930076c17bca44d7dfdb754aa38413a67b75fda10ff01ede8748e80 makefile.patch
+33da7e155447a75cc0d88274c4b053c3cb6867aba411176b82b968bb690d60d429d3a39b1caf3bafe79c0958b24f7f6777e42e88de7c71b7eb271d196b7d50b9 release-paths.patch
+"
diff --git a/testing/droidcam/droidcam.post-install b/testing/droidcam/droidcam.post-install
new file mode 100644
index 00000000000..4a15d448e02
--- /dev/null
+++ b/testing/droidcam/droidcam.post-install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+cat << EOF
+ To use DroidCam, you need to have the v4l2loopback kernel module;
+ you can install it from package v4l2loopback-src.
+
+ Enable with: `modprobe v4l2loopback exclusive_caps=1 max_buffers=16 max_openers=8`
+EOF
diff --git a/testing/droidcam/makefile.patch b/testing/droidcam/makefile.patch
new file mode 100644
index 00000000000..71625224aab
--- /dev/null
+++ b/testing/droidcam/makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index f45cd20..0cf696b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -20,7 +20,7 @@ GTK = `pkg-config --libs --cflags gtk+-3.0` `pkg-config --libs x11`
+ GTK += `pkg-config --libs --cflags $(APPINDICATOR)`
+ LIBAV = `pkg-config --libs --cflags libswscale libavutil`
+ JPEG = `pkg-config --libs --cflags libturbojpeg`
+-USBMUXD = `pkg-config --libs --cflags libusbmuxd`
++USBMUXD = `pkg-config --libs --cflags libusbmuxd-2.0`
+ LIBS = -lspeex -lasound -lpthread -lm
+ SRC = src/connection.c src/settings.c src/decoder*.c src/av.c src/usb.c src/queue.c
+
diff --git a/testing/droidcam/release-paths.patch b/testing/droidcam/release-paths.patch
new file mode 100644
index 00000000000..b40da902cca
--- /dev/null
+++ b/testing/droidcam/release-paths.patch
@@ -0,0 +1,29 @@
+Change the paths to be /usr/bin and /usr/share instead of
+/usr/local/bin and /opt
+
+--- a/droidcam.desktop
++++ b/droidcam.desktop
+@@ -2,9 +2,9 @@
+ Encoding=UTF-8
+ Name=DroidCam
+ Comment=Use your phone as a webcam
+-TryExec=/usr/local/bin/droidcam
+-Exec=/usr/local/bin/droidcam
+-Icon=/opt/droidcam-icon.png
++TryExec=/usr/bin/droidcam
++Exec=/usr/bin/droidcam
++Icon=/usr/share/droidcam/icon.png
+ Terminal=false
+ Type=Application
+ Categories=Video;AudioVideo;
+--- a/src/droidcam.c
++++ b/src/droidcam.c
+@@ -43,7 +43,7 @@
+ extern const char *thread_cmd_val_str;
+ extern char snd_device[32];
+ extern char v4l2_device[32];
+-const char *APP_ICON_FILE = "/opt/droidcam-icon.png";
++const char *APP_ICON_FILE = "/usr/share/droidcam/icon.png";
+
+ void * AudioThreadProc(void * args);
+ void * VideoThreadProc(void * args);
diff --git a/testing/drone-cli/APKBUILD b/testing/drone-cli/APKBUILD
index 385198a4f2a..f2a7eb065c3 100644
--- a/testing/drone-cli/APKBUILD
+++ b/testing/drone-cli/APKBUILD
@@ -1,17 +1,20 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=drone-cli
-pkgver=1.4.0
-pkgrel=1
+pkgver=1.8.0
+pkgrel=2
pkgdesc="Drone CLI"
-url="https://github.com/drone/drone-cli"
+url="https://github.com/harness/drone-cli"
license="Apache-2.0"
arch="all"
makedepends="go"
-source="drone-cli-$pkgver.tar.gz::https://github.com/drone/drone-cli/archive/v$pkgver.tar.gz"
+source="drone-cli-$pkgver.tar.gz::https://github.com/harness/drone-cli/archive/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- export GOPATH="$srcdir"
go build -ldflags "-X main.version=$pkgver" -o bin/drone ./drone
}
@@ -23,11 +26,6 @@ package() {
install -Dm755 "$builddir"/bin/drone "$pkgdir"/usr/bin/drone
}
-cleanup_srcdir() {
- go clean -modcache
- default_cleanup_srcdir
-}
-
sha512sums="
-92a4d20590970b70f84e5d60bc0c601738878b75c3b50441b85a32ad2e3f5df818392d779622f76b269c9e5504a5c05eb89dc09a41315e087e585de15380442b drone-cli-1.4.0.tar.gz
+d9b87df975f7f3c4b6ba3cc427e66e5c19c9f5de51aed521b1b34db3d12f03ac88324dae1ae3acdc24d5fa6251ca57e332f101a73cb0a53c7d01194cf1892d2c drone-cli-1.8.0.tar.gz
"
diff --git a/testing/drone/APKBUILD b/testing/drone/APKBUILD
deleted file mode 100644
index 0f7ae6070b0..00000000000
--- a/testing/drone/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=drone
-pkgver=2.8.0
-pkgrel=0
-pkgdesc="Container-Native, Continuous Delivery Platform"
-url="https://drone.io/"
-license="custom"
-arch="all"
-makedepends="go"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/drone/drone/archive/v$pkgver.tar.gz"
-
-export GOPATH="$srcdir"
-
-build() {
- GO111MODULE=on go build -o bin/drone-server ./cmd/drone-server
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm775 "$builddir"/bin/drone-server \
- "$pkgdir"/usr/bin/drone-server
- install -Dm 644 "$builddir"/LICENSE \
- "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}
-
-cleanup_srcdir() {
- go clean -modcache
- default_cleanup_srcdir
-}
-
-sha512sums="
-a054694bcb8b945382cc5c0fc7db137a7c0bd57f4591ee9d62ece780d4226d7b64abc095d591e3392b99ef7e934af424db707c5bd8b856aaae8016e449d7dfba drone-2.8.0.tar.gz
-"
diff --git a/testing/dropwatch/APKBUILD b/testing/dropwatch/APKBUILD
index a15e3d62ffe..18f45bd199f 100644
--- a/testing/dropwatch/APKBUILD
+++ b/testing/dropwatch/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=dropwatch
-pkgver=1.5.3
-pkgrel=0
+pkgver=1.5.4
+pkgrel=4
pkgdesc="Project to detect packet drops in the Linux kernel"
url="https://github.com/nhorman/dropwatch"
arch="all"
@@ -31,4 +31,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="098e464084ac3bc5509f5a523fe499ab54cca78ba53bebbcccd57a6c01260740c07e5b62b1218c6a62bf2147a74c056b3880dbbc92b3e11425efe8fe83af8878 dropwatch-1.5.3.tar.gz"
+sha512sums="
+4af06c05c694d4a044a5e92ba9869a865730bb2caa28cddc33160481f490ed77a7300ef57c9f76722d7bc8d4ac47cdfd5f13daf4f764500f3c90a72b5ee58d61 dropwatch-1.5.4.tar.gz
+"
diff --git a/testing/drumgizmo/APKBUILD b/testing/drumgizmo/APKBUILD
new file mode 100644
index 00000000000..e150dbc23f9
--- /dev/null
+++ b/testing/drumgizmo/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Veikka Valtteri Kallinen <valtteri@kallinen.xyz>
+# Maintainer: Veikka Valtteri Kallinen <valtteri@kallinen.xyz>
+pkgname=drumgizmo
+pkgver=0.9.20
+pkgrel=1
+pkgdesc="Multichannel, multilayered, cross-platform drum plugin"
+url="https://www.drumgizmo.org"
+arch="all"
+license="GPL-3.0-only"
+makedepends="libx11-dev libxext-dev libsndfile-dev lv2-dev"
+source="http://www.drumgizmo.org/releases/drumgizmo-$pkgver/drumgizmo-$pkgver.tar.gz
+ gcc13.patch
+ "
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-lv2 \
+ --disable-cli \
+ --disable-sse \
+ --without-nls
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ # manpages are for the disabled cli tool
+ rm -r "$pkgdir"/usr/share/man
+}
+
+sha512sums="
+3444201961d74e7787bebe4006df6c257f6c1a57dd81d272b203a4a56ad609d3fa4e88224dfe4ea6a67f4db94b340666d018cb79fc376dd264398f98d66433e8 drumgizmo-0.9.20.tar.gz
+ed13d9cce9c12cd2b8df3661442481660a66b5ccfc3129920811a79fdd3150bdff627cb96c7bb17c21a5dd3b94b34268328fb8e557d2611b2fa80284e02b6605 gcc13.patch
+"
diff --git a/testing/drumgizmo/gcc13.patch b/testing/drumgizmo/gcc13.patch
new file mode 100644
index 00000000000..76512ef1962
--- /dev/null
+++ b/testing/drumgizmo/gcc13.patch
@@ -0,0 +1,10 @@
+--- a/plugin/plugingizmo/plugin.h
++++ b/plugin/plugingizmo/plugin.h
+@@ -29,6 +29,7 @@
+ #include <vector>
+ #include <string>
+
++#include <cstdint>
+ #include <cstdlib>
+
+
diff --git a/testing/dsnet/APKBUILD b/testing/dsnet/APKBUILD
index 12fe7622e61..ea822ecccb0 100644
--- a/testing/dsnet/APKBUILD
+++ b/testing/dsnet/APKBUILD
@@ -1,19 +1,22 @@
# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
pkgname=dsnet
-pkgver=0.6
-_rev=0098a226d8e5087f0ea328225bf96a3036422b90 # used for version command
-pkgrel=0
+pkgver=0.7.3
+_rev=c7096d13183159647b92aaed522a406c29b91798 # used for version command
+pkgrel=2
pkgdesc="fast command to manage a centralised wireguard VPN"
url="https://github.com/naggie/dsnet"
arch="all"
license="MIT"
makedepends="go"
options="!check chmod-clean" # no tests available
+subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/naggie/dsnet/archive/refs/tags/v$pkgver.tar.gz"
-export GOPATH="$srcdir"
export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build \
@@ -22,12 +25,20 @@ build() {
-X \"github.com/naggie/dsnet.VERSION=$pkgver\" \
-X \"github.com/naggie/dsnet.BUILD_DATE=$(date)\" \
" \
- cmd/dsnet.go
+ -o dsnet \
+ ./cmd/root.go
}
package() {
- install -Dm755 $pkgname "$pkgdir"/usr/bin/"$pkgname"
+ install -Dm755 dsnet -t "$pkgdir"/usr/bin/
+
+ install -Dm644 CONFIG.md README.md \
+ -t "$pkgdir"/usr/share/doc/$pkgname/
+
+ install -Dm644 LICENSE.md \
+ -t "$pkgdir"/usr/share/licenses/$pkgname/
}
+
sha512sums="
-87ba54dbc30e5ba28a980e7c18f6f25ee460177dff596854bb84176e97a91e4a2bac74bb48c309ed0a0c1cac67ae7d86786b95d556fe12294c50ab5b19c1fc14 dsnet-0.6.tar.gz
+052967576f2ac8ee9c937a6fb13f796e6ae24f46c1d4e94ffa6212cb7e4ec2de60717dcff0224698d7250dbdb585512620a856f97785fb8795a13b3066295076 dsnet-0.7.3.tar.gz
"
diff --git a/testing/dsp/APKBUILD b/testing/dsp/APKBUILD
new file mode 100644
index 00000000000..93fea6034a9
--- /dev/null
+++ b/testing/dsp/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Maxim Karasev <begs@disroot.org>
+# Maintainer: Maxim Karasev <begs@disroot.org>
+pkgname=dsp
+pkgver=1.9
+pkgrel=1
+pkgdesc="audio processing program with an interactive mode"
+url="https://github.com/bmc0/dsp"
+arch="all"
+license="ISC"
+makedepends="ladspa-dev libsndfile-dev ffmpeg-dev fftw-dev libmad-dev libtool
+ libao-dev zita-convolver-dev alsa-lib-dev pulseaudio-dev"
+subpackages="$pkgname-doc"
+source="https://github.com/bmc0/dsp/archive/v$pkgver/dsp-$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ ./configure --prefix=/usr # not a GNU autoconf
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm755 scripts/* -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+a923cf6931842f297c4b0c09c498fe96bad1e1b2564494861ca4fb9cf44f646d06ea6114ee802f15b52a6fe7dbcf1141ca616da57aa5853ee4bcb97a920daacd dsp-1.9.tar.gz
+"
diff --git a/testing/dstask/APKBUILD b/testing/dstask/APKBUILD
index e5c076fac46..dbd57cc444c 100644
--- a/testing/dstask/APKBUILD
+++ b/testing/dstask/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=dstask
-pkgver=0.25
-pkgrel=1
+pkgver=0.26
+pkgrel=6
pkgdesc="Personal task tracker designed to help you focus"
url="https://dstask.org/"
license="MIT"
@@ -17,13 +17,15 @@ source="https://github.com/naggie/dstask/archive/v$pkgver/dstask-$pkgver.tar.gz
integration-tests.patch
"
-export GOPATH="$srcdir"
export GOFLAGS="$GOFLAGS -trimpath -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
_git_commit=$(zcat "$srcdir"/dstask-$pkgver.tar.gz | git get-tar-commit-id)
_build_date=$(date -u "+%Y-%m-%dT%TZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
- _ldflags="-s -w
+ _ldflags="
-X github.com/naggie/dstask.GIT_COMMIT=$_git_commit
-X github.com/naggie/dstask.VERSION=$pkgver-r$pkgrel
-X github.com/naggie/dstask.BUILD_DATE=$_build_date
@@ -34,7 +36,8 @@ build() {
}
check() {
- go test ./...
+ # tests try to make git commits and fail when hostname is not an FQDN
+ EMAIL="buildozer@alpinelinux.org" go test ./...
}
_import() {
@@ -53,6 +56,6 @@ package() {
}
sha512sums="
-acb44e6bbcdceedb3c8b75dcaac94aa74f3e87432d1ea0bc3c77ec12d5c962abb3a04b4040d2b7d2b07defab88965621104598cb30b3879145f1659f9a334c80 dstask-0.25.tar.gz
+a1c493b9e66ef0a11f6c525aa190eb6f5be91b19d63c6d491b2c972d43e5a82f157f6030cbf8debab92118e574ebc464bc14b7ae40f0381789cfa81fe17f86d6 dstask-0.26.tar.gz
fefaca68b53248f77c09584393bb251af318704f0cf2cc79b927558a587aaaabda4d79c0d88836e1913d2697d2a3744f3fc760ab8ec4d36cb3957b61d9f68b40 integration-tests.patch
"
diff --git a/testing/dtrx/APKBUILD b/testing/dtrx/APKBUILD
new file mode 100644
index 00000000000..243147f9f79
--- /dev/null
+++ b/testing/dtrx/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Rob Blanckaert <basicer@gmail.com>
+# Maintainer: Rob Blanckaert <basicer@gmail.com>
+pkgname=dtrx
+pkgver=8.5.3
+pkgrel=1
+pkgdesc="Do The Right eXtraction"
+url="http://www.brettcsmith.org/2007/dtrx/"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-invoke"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dtrx-py/dtrx/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # requires all decompression programs and makes network requests
+
+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 tests/compare.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+11809e4961c149091eece5ee815cc5d85f7d746bfc632a63210d3d0b18975732b92c43d414aa5fcf37793ebc34a2b8a6c72bb243d8ab2813d470bad390ceedf4 dtrx-8.5.3.tar.gz
+"
diff --git a/testing/dublin-traceroute/APKBUILD b/testing/dublin-traceroute/APKBUILD
index 28d3a0fa7c1..6a7c6e096ea 100644
--- a/testing/dublin-traceroute/APKBUILD
+++ b/testing/dublin-traceroute/APKBUILD
@@ -2,39 +2,37 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=dublin-traceroute
pkgver=0.4.2
-pkgrel=1
+pkgrel=3
pkgdesc="A NAT-aware multipath traceroute tool"
url="https://dublin-traceroute.net/"
arch="all"
license="BSD-2-Clause"
options="!check" # no googletest avail
-makedepends="python3-dev cmake jsoncpp-dev \
- libtins-dev libpcap-dev openssl-dev"
+makedepends="python3-dev cmake jsoncpp-dev
+ libtins-dev libpcap-dev openssl-dev
+ samurai"
subpackages="$pkgname-dev $pkgname-doc $pkgname-contrib::noarch"
source="$pkgname-$pkgver.tar.gz::https://github.com/insomniacslk/dublin-traceroute/archive/v$pkgver.tar.gz"
-prepare() {
- default_prepare
- mkdir -p build
-}
-
build() {
- cd build
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
}
package() {
- cd build
- make DESTDIR="$pkgdir" install
- install -D -m 644 ../COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+ DESTDIR="$pkgdir" cmake --install build
+ install -D -m 644 ./COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
contrib() {
pkgdesc="Contrib scripts for $pkgname"
- depends="py3-pygraphviz"
+ depends="py3-pygraphviz python3"
cd "$builddir"
install -D -m 755 scripts/to_graphviz.py "$subpkgdir"/usr/bin/dublin-to-graphviz
}
-sha512sums="4711dbf1fd6190e0260e5dd0f5e2f296ccb88cc1fc301260f01fb357f44cc42f11a82d4ab09f9f571fabee4516374e87fb1bea8971432a6f145116cef57f553a dublin-traceroute-0.4.2.tar.gz"
+sha512sums="
+4711dbf1fd6190e0260e5dd0f5e2f296ccb88cc1fc301260f01fb357f44cc42f11a82d4ab09f9f571fabee4516374e87fb1bea8971432a6f145116cef57f553a dublin-traceroute-0.4.2.tar.gz
+"
diff --git a/testing/duc/APKBUILD b/testing/duc/APKBUILD
new file mode 100644
index 00000000000..eb5c5bcc7e9
--- /dev/null
+++ b/testing/duc/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Prokop RandáÄek <prokop@rdck.dev>
+# Maintainer: Prokop RandáÄek <prokop@rdck.dev>
+pkgname=duc
+pkgver=1.4.5
+pkgrel=0
+pkgdesc="Tool for inspecting disk usage"
+url="http://duc.zevv.nl/"
+arch="all"
+license="LGPL-3.0-or-later"
+makedepends="pango-dev glfw-dev kyotocabinet-dev ncurses-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/zevv/duc/releases/download/$pkgver/duc-$pkgver.tar.gz"
+options="!check" # tests are not included in the distributed tar
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-db-backend=kyotocabinet \
+ --enable-opengl \
+ --disable-x11
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b6d48222ed2821d3d1317102f867f71f9060a093ba11ba48d9f0d9dc743c5b361442cb605aec6e91dd6588ae4b51897b4ed5da96ba33019e8a501a262af12371 duc-1.4.5.tar.gz
+"
diff --git a/testing/duf/APKBUILD b/testing/duf/APKBUILD
index 98d6b511efb..fd454cb1085 100644
--- a/testing/duf/APKBUILD
+++ b/testing/duf/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer:
pkgname=duf
-pkgver=0.7.0
-pkgrel=0
+pkgver=0.8.1
+pkgrel=18
pkgdesc="Disk Usage/Free Utility"
options="net !check" # No testsuite
url="https://github.com/muesli/duf"
@@ -11,10 +11,14 @@ arch="all"
makedepends="go"
source="https://github.com/muesli/duf/archive/v$pkgver/duf-$pkgver.tar.gz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
go build \
-trimpath \
- -ldflags "-X main.Version=$pkgver -extldflags $LDFLAGS" \
+ -ldflags "-X main.Version=$pkgver -extldflags \"$LDFLAGS\"" \
-o duf
}
@@ -23,5 +27,5 @@ package() {
}
sha512sums="
-c2f73f7bbd5f5b3faea54747fc2aa6ebf84bd78ec6754772ef7b4c1a595491cbf939160acb56e2e33f9e63e3c6bee9b5626f2062f9fc4c83377893ee3b9b7ace duf-0.7.0.tar.gz
+598318cd90e8a27bdc448cb84682f3846baa02bab0f527a26de42b8b3efd3ba258a76b6f7a74a41405e20b23ccff92db1b6ef7d3412fc8261942a8ccde4241dc duf-0.8.1.tar.gz
"
diff --git a/testing/dum/APKBUILD b/testing/dum/APKBUILD
new file mode 100644
index 00000000000..c87c6476d60
--- /dev/null
+++ b/testing/dum/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=dum
+pkgver=0.1.19
+pkgrel=1
+pkgdesc="An npm scripts runner written in Rust"
+url="https://github.com/egoist/dum"
+arch="aarch64 armhf armv7 ppc64le x86 x86_64" # blocked by rust/cargo
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="https://github.com/egoist/dum/archive/v$pkgver/dum-$pkgver.tar.gz
+ strip-env_logger-features.patch
+ "
+
+
+prepare() {
+ default_prepare
+
+ # Optimize binary for size.
+ cat >> Cargo.toml <<-EOF
+
+ [profile.release]
+ codegen-units = 1
+ lto = true
+ opt-level = "s"
+ panic = "abort"
+ EOF
+
+ # No --locked, we have to update lockfile after patching Cargo.toml.
+ cargo fetch --target="$CTARGET"
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -D -m755 target/release/dum -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+ea86635c77a9cc369c3f0d8aa1c3bba3227f2a3132accccaaba4ccadaba9d2231ac149921bb70ba657878e2f6873a78b2cfaf5b4fb1476ebde5ad5b3b8264a3f dum-0.1.19.tar.gz
+d1834967fc1763723ced5d6ac9c158330daea610780feb91f4d50527040407dedff65f469f7906868172a9e877ae4ad3f2eb547c2f1cd0b305e35c3c36c118f6 strip-env_logger-features.patch
+"
diff --git a/testing/dum/strip-env_logger-features.patch b/testing/dum/strip-env_logger-features.patch
new file mode 100644
index 00000000000..4940a0c2580
--- /dev/null
+++ b/testing/dum/strip-env_logger-features.patch
@@ -0,0 +1,8 @@
+Build env_logger without unnecessary features to reduce the binary size by
+a factor of two.
+
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -18,1 +18,1 @@
+-env_logger = "0.9.0"
++env_logger = { version = "0.9.0", default-features = false, features = ["humantime"] }
diff --git a/testing/dumb_runtime_dir/APKBUILD b/testing/dumb_runtime_dir/APKBUILD
new file mode 100644
index 00000000000..cfc4c0018d4
--- /dev/null
+++ b/testing/dumb_runtime_dir/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Marten Ringwelski <git+alpine@maringuu.de>
+# Maintainer: Marten Ringwelski <git+alpine@maringuu.de>
+pkgname=dumb_runtime_dir
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Creates an XDG_RUNTIME_DIR on login and never removes it"
+url="https://github.com/ifreund/dumb_runtime_dir"
+arch="all"
+license="0BSD"
+makedepends="linux-pam-dev"
+source="https://github.com/ifreund/dumb_runtime_dir/archive/v$pkgver/dumb_runtime_dir-v$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ make
+}
+
+package() {
+ make PREFIX="/" DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+f7607a1e048efa686e8f266efc9b798c905840fe660a8d3d4ead538b258971a1787406e94c792883e886360672ebc1d9fb812b2bf54755f1135a15479514d962 dumb_runtime_dir-v1.0.4.tar.gz
+"
diff --git a/testing/dune-deps/APKBUILD b/testing/dune-deps/APKBUILD
new file mode 100644
index 00000000000..55c022a6ca2
--- /dev/null
+++ b/testing/dune-deps/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=dune-deps
+pkgver=1.3.0
+pkgrel=2
+pkgdesc="Show dependency graph of a multi-component dune project"
+url="https://github.com/mjambon/dune-deps"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends="graphviz"
+makedepends="
+ dune
+ ocaml
+ ocaml-base-dev
+ ocaml-cmdliner-dev
+ ocaml-compiler-libs
+ ocaml-csexp-dev
+ ocaml-num-dev
+ ocaml-parsexp-dev
+ ocaml-sexplib-dev
+ ocaml-sexplib0-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/mjambon/dune-deps/archive/v$pkgver.tar.gz"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build -p dune-deps @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f58e9f312667ff79d019e54abc2623ac974ede330a20e71ea56121e34cf0382ed0dc0a3921449b6e969f3eaee2631b14e4ba5e3ba0f13237690c4b9313b92df7 dune-deps-1.3.0.tar.gz
+"
diff --git a/testing/dustracing2d/APKBUILD b/testing/dustracing2d/APKBUILD
index a6c6207dc4b..5f2a2e9dc89 100644
--- a/testing/dustracing2d/APKBUILD
+++ b/testing/dustracing2d/APKBUILD
@@ -3,7 +3,7 @@
pkgname=dustracing2d
_pkgname=DustRacing2D
pkgver=2.1.1
-pkgrel=0
+pkgrel=1
pkgdesc="Traditional top-down car racing game including a level editor"
url="http://juzzlin.github.io/DustRacing2D/"
arch="all"
diff --git a/testing/dvdbackup/APKBUILD b/testing/dvdbackup/APKBUILD
index a1f6b3479d8..49747da40b0 100644
--- a/testing/dvdbackup/APKBUILD
+++ b/testing/dvdbackup/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
pkgname=dvdbackup
pkgver=0.4.2
-pkgrel=0
+pkgrel=1
pkgdesc="Tool to rip video DVDs from the command line"
-url="http://dvdbackup.sourceforge.net/"
+url="https://dvdbackup.sourceforge.net/"
arch="all"
license="GPL-3.0-or-later"
makedepends="libdvdread-dev"
diff --git a/testing/dwl/APKBUILD b/testing/dwl/APKBUILD
new file mode 100644
index 00000000000..745060123d6
--- /dev/null
+++ b/testing/dwl/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Dekedro <dekedro@protonmail.com>
+pkgname=dwl
+pkgver=0.5
+pkgrel=1
+pkgdesc="dwm for wayland"
+url="https://codeberg.org/dwl/dwl"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="wlroots-dev wayland-protocols"
+options="!check" # no tests
+subpackages="$pkgname-doc"
+source="https://codeberg.org/dwl/dwl/releases/download/v$pkgver/dwl-v$pkgver.tar.gz
+ xwayland.patch
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+7bd292559b0ecafc54bf1c1ba0c3b6b0417e8bd03bb0058f492b87295c92b50932e25621cc5f804c38ad06ffadad7bb8017872fade4a04bf617b1d4f1993aae8 dwl-v0.5.tar.gz
+7c7952ede929faa137f690b3d1f44c1af4b40a3a6dac7bc3d5a377c8c454b35de1becdbbd1f3cbbde56c798f4f3bf78bc7eef4d7faa0e761d317179c072c629f xwayland.patch
+"
diff --git a/testing/dwl/xwayland.patch b/testing/dwl/xwayland.patch
new file mode 100644
index 00000000000..4bed22b3e17
--- /dev/null
+++ b/testing/dwl/xwayland.patch
@@ -0,0 +1,12 @@
+diff --git a/config.mk b/config.mk
+index f50156f..a20a8f0 100644
+--- a/config.mk
++++ b/config.mk
+@@ -10,5 +10,5 @@ MANDIR = $(PREFIX)/share/man
+ XWAYLAND =
+ XLIBS =
+ # Uncomment to build XWayland support
+-#XWAYLAND = -DXWAYLAND
+-#XLIBS = xcb xcb-icccm
++XWAYLAND = -DXWAYLAND
++XLIBS = xcb xcb-icccm
diff --git a/testing/dxvk/APKBUILD b/testing/dxvk/APKBUILD
deleted file mode 100644
index 50a062d813e..00000000000
--- a/testing/dxvk/APKBUILD
+++ /dev/null
@@ -1,61 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=dxvk
-pkgver=1.9.2
-pkgrel=0
-pkgdesc="Vulkan-based compatibility layer for Direct3D 10/11"
-options="!check"
-url="https://github.com/doitsujin/dxvk"
-arch="x86_64 x86"
-license="Zlib"
-depends="bash wine"
-makedepends="
- meson
- glslang-dev
- mingw-w64-gcc
- wine-dev
- vulkan-loader
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/doitsujin/dxvk/archive/v$pkgver.tar.gz"
-
-case "$CARCH" in
- x86_64)
- _outdir=build/x64
- _crossfile=build-win64.txt
- _prefix=/usr/share/dxvk/x64
- ;;
- x86)
- _outdir=build/x32
- _crossfile=build-win32.txt
- _prefix=/usr/share/dxvk/x32
- ;;
-esac
-
-build() {
- abuild-meson \
- --cross-file=$_crossfile \
- --prefix=$_prefix \
- --bindir="" \
- --libdir="" \
- --datadir="" \
- --includedir="" \
- --infodir="" \
- --libexecdir="" \
- --localedir="" \
- --mandir="" \
- --sbindir="" \
- -Denable_tests=false \
- $_outdir
- meson compile ${JOBS:+-j ${JOBS}} -C $_outdir
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C $_outdir
- install -Dm644 setup_dxvk.sh "$pkgdir"/usr/share/dxvk/setup_dxvk.sh
- mkdir -p "$pkgdir"/usr/bin
- ln -s /usr/share/dxvk/setup_dxvk.sh "$pkgdir"/usr/bin/setup_dxvk
- chmod +x "$pkgdir"/usr/share/dxvk/setup_dxvk.sh
-}
-sha512sums="
-0f63ffd65b02263140e5c976de2466baa6e2e440257771c0627b355083072724c8ecc0c6952aefc6786263ebbe30030e7bcdbedc9e775dec0f31d393e4fcf1de dxvk-1.9.2.tar.gz
-"
diff --git a/testing/e2fsimage/APKBUILD b/testing/e2fsimage/APKBUILD
deleted file mode 100644
index e6d7d43ee02..00000000000
--- a/testing/e2fsimage/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer:
-pkgname=e2fsimage
-pkgver=0.2.3
-pkgrel=1
-pkgdesc="create and populate an ext2/3/4 filesystem image as non-root user"
-url="https://github.com/Ledest/e2fsimage"
-arch="all"
-license="BSD-3-Clause"
-makedepends="e2fsprogs-dev e2fsprogs-extra"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Ledest/e2fsimage/archive/$pkgver.tar.gz"
-
-build() {
- prefix=/usr mandir=/usr/share/man ./configure
- make
-}
-
-check() {
- ./src/e2fsimage -f test.img -d ./src
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="b6bf97ae35af7c48063f7a6dc19af80fec4bdfcd4d9b6064168b5e5a37ead57b3a01772f659f5004d6d5f1217cccba6a019e1974f87503fcaf526a15d6187ed7 e2fsimage-0.2.3.tar.gz"
diff --git a/testing/easyeffects/APKBUILD b/testing/easyeffects/APKBUILD
deleted file mode 100644
index 1932b369779..00000000000
--- a/testing/easyeffects/APKBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=easyeffects
-pkgver=6.2.1
-pkgrel=0
-pkgdesc="audio plugins for PipeWire applications"
-url="https://github.com/wwmm/easyeffects"
-# s390x: blocked by pipewire
-# riscv64: blocked by gtk4.0
-arch="all !s390x !riscv64"
-license="GPL-3.0-or-later"
-options="!check" # no testsuite
-depends="calf-lv2 lsp-plugins mda-lv2 zam-plugins"
-makedepends="
- appstream-glib-dev
- fftw-dev
- fmt-dev
- gtk4.0-dev
- itstool
- libadwaita-dev
- libbs2b-dev
- libebur128-dev
- libsigc++3-dev
- libsndfile-dev
- libtbb-dev
- lilv-dev
- lv2-dev
- meson
- nlohmann-json
- pipewire-dev
- rnnoise-dev
- rubberband-dev
- speexdsp-dev
- zita-convolver-dev
- "
-subpackages="$pkgname-doc $pkgname-lang"
-source="$pkgname-$pkgver.tar.gz::https://github.com/wwmm/easyeffects/archive/refs/tags/v$pkgver.tar.gz"
-
-build() {
- abuild-meson . build
- meson compile -C build
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C build
-}
-
-sha512sums="
-0539c2cadf38796b7bb0f82b260829f5794b1ab8e20185b855335b080a107e6858b1d80fbaa3b7b59cdfb50d67e3ad90fecab464fc0901af49e76171f5bc0014 easyeffects-6.2.1.tar.gz
-"
diff --git a/testing/easyloggingpp-dev/APKBUILD b/testing/easyloggingpp-dev/APKBUILD
deleted file mode 100644
index 5fc446df5d4..00000000000
--- a/testing/easyloggingpp-dev/APKBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
-pkgname=easyloggingpp-dev
-_pkgname=easyloggingpp
-pkgver=9.96.7
-pkgrel=1
-pkgdesc="Single header C++ logging library"
-url="https://github.com/zuhd-org/easyloggingpp"
-arch="all"
-license="MIT"
-depends="libexecinfo-dev"
-checkdepends="gtest"
-makedepends="$depends_dev cmake gtest-dev"
-source="https://github.com/zuhd-org/$_pkgname/archive/v$pkgver/$_pkgname-$pkgver.tar.gz
- musl-compat.patch
- "
-builddir="$srcdir/$_pkgname-$pkgver"
-
-prepare() {
- default_prepare
-
- # FIXME: These tests fail.
- sed -i \
- -e '/command-line-args-test\.h/d' \
- -e '/helpers-test\.h/d' \
- test/main.cc
-}
-
-build() {
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_VERBOSE_MAKEFILE=ON \
- -DELPP_PKGCONFIG_INSTALL_DIR=/usr/lib/pkgconfig \
- -Dbuild_static_lib=ON \
- -Dtest=ON
- make
-}
-
-check() {
- make test ARGS="-V"
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="53ee637cd7462fac542170a81a9a206f3418dd8bc9e1f25d1d13dadef630e0fdf2880d71079808ebc49d36a7dbca7b5cdb76ad37b722c66b4b3d3efc8b5d2f35 easyloggingpp-9.96.7.tar.gz
-ad0d3d8bfd8a00513168cd0a814c30219fe60139b17cf153b0b68332edf5a0ce52c6aecf620452a19f78de36b37af38f44a5169c48ff556c7b305ba01c206ecb musl-compat.patch"
diff --git a/testing/easyloggingpp-dev/musl-compat.patch b/testing/easyloggingpp-dev/musl-compat.patch
deleted file mode 100644
index ca5efebc872..00000000000
--- a/testing/easyloggingpp-dev/musl-compat.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From b691bec24cf7a3d35748e47da78e3f98d6b9817d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Andr=C3=A9=20Klitzing?= <aklitzing@gmail.com>
-Date: Wed, 21 Jun 2017 20:21:01 +0200
-Subject: [PATCH] Add __has_include check for execinfo.h
-
-This header is necessary later for the stacktrace feature.
-This fixes musl based distributions.
-
---- a/src/easylogging++.h
-+++ b/src/easylogging++.h
-@@ -205,7 +205,7 @@
- # define ELPP_INTERNAL_INFO(lvl, msg)
- #endif // (defined(ELPP_DEBUG_INFO))
- #if (defined(ELPP_FEATURE_ALL)) || (defined(ELPP_FEATURE_CRASH_LOG))
--# if (ELPP_COMPILER_GCC && !ELPP_MINGW && !ELPP_OS_ANDROID && !ELPP_OS_EMSCRIPTEN)
-+# if (__has_include(<execinfo.h>) && ELPP_COMPILER_GCC && !ELPP_MINGW && !ELPP_OS_ANDROID && !ELPP_OS_EMSCRIPTEN)
- # define ELPP_STACKTRACE 1
- # else
- # if ELPP_COMPILER_MSVC
---- a/cmake/easyloggingpp.pc.cmakein.orig
-+++ b/cmake/easyloggingpp.pc.cmakein
-@@ -3,4 +3,6 @@
- Version: @ELPP_VERSION_STRING@
- prefix=@CMAKE_INSTALL_PREFIX@
- includedir=@ELPP_INCLUDE_INSTALL_DIR@
-+libdir=@CMAKE_INSTALL_PREFIX@/lib
-+Libs: -L${libdir} -lexecinfo
- Cflags: -I${includedir}
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -91,6 +92,7 @@
- ELPP_FRESH_LOG_FILE
- )
-
-+ target_link_libraries(easyloggingpp-unit-tests execinfo)
- # Standard linking to gtest stuff.
- target_link_libraries(easyloggingpp-unit-tests gtest gtest_main)
-
diff --git a/testing/eatmemory/APKBUILD b/testing/eatmemory/APKBUILD
index ca6316e9cc8..bdfac3f93a7 100644
--- a/testing/eatmemory/APKBUILD
+++ b/testing/eatmemory/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=eatmemory
pkgver=0.1.6
-pkgrel=1
+pkgrel=2
pkgdesc="Simple C program to allocate memory from the command line"
url="https://github.com/julman99/eatmemory"
arch="all"
diff --git a/testing/eboard/APKBUILD b/testing/eboard/APKBUILD
new file mode 100644
index 00000000000..f949bb66486
--- /dev/null
+++ b/testing/eboard/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer:
+pkgname=eboard
+pkgver=1.1.3
+pkgrel=1
+pkgdesc="Chess board interface for Internet Chess Servers"
+url="https://github.com/fbergo/eboard"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ gstreamer-dev
+ gtk+2.0-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fbergo/eboard/archive/refs/tags/v$pkgver.tar.gz
+ $pkgname-fix-linking.patch::https://github.com/fbergo/eboard/commit/e529c55af7463f9169d9f36f5fc5cdbafccd66b6.diff
+ "
+options="!check" # does not have tests
+
+build() {
+ # not autotools
+ ./configure \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ mv "$pkgdir"/usr/man "$pkgdir"/usr/share/man
+}
+
+sha512sums="
+c89e234d35de9f52047dbdf370cd47d88f6135880985503c2a77602a67ced3a35f64e1803d36c337a505b5d7cc22a5c02c4ef776b187841c417511110e321fe3 eboard-1.1.3.tar.gz
+43e0194c237f9281ae814edd74da9e88fb0b16d74d66e490e61df4b3db82548cc667200255eb4440dbd74862a3f47f34c6e1ba3c4b695e2dc40b26f2f5e30d06 eboard-fix-linking.patch
+"
diff --git a/testing/ecasound/0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch b/testing/ecasound/0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch
new file mode 100644
index 00000000000..28afc90c517
--- /dev/null
+++ b/testing/ecasound/0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch
@@ -0,0 +1,45 @@
+Patch-Source: https://sourceforge.net/p/ecasound/bugs/54/attachment/0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch
+--
+From f2edef1f1e7b56f43ceea63f0d3024474f813b5d Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Fri, 5 Nov 2021 23:26:19 +0000
+Subject: [PATCH] ecasignalview.cpp: always use "%s"-style format for
+ printf()-style functions
+
+`ncuses-6.3` added printf-style function attributes and now makes
+it easier to catch cases when user input is used in palce of format
+string when built with CFLAGS=-Werror=format-security:
+
+ ecasignalview.cpp:360:13:
+ error: format not a string literal and no format arguments [-Werror=format-security]
+ 360 | mvprintw(r++, 0, bar);
+ | ~~~~~~~~^~~~~~~~~~~~~
+
+Let's wrap all the missing places with "%s" format.
+---
+ ecatools/ecasignalview.cpp | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ecatools/ecasignalview.cpp b/ecatools/ecasignalview.cpp
+index ea56a138..7f3b765b 100644
+--- a/ecatools/ecasignalview.cpp
++++ b/ecatools/ecasignalview.cpp
+@@ -351,13 +351,13 @@ void ecasv_output_init(void)
+ ecasv_rate_msec, ecasv_buffersize, avg_length); */
+ ++r;
+ const char* bar="------------------------------------------------------------------------------\n";
+- mvprintw(r++, 0, bar);
++ mvprintw(r++, 0, "%s", bar);
+ mvprintw(r, 0, "channel");
+ if (ecasv_log_display_mode)
+ mvprintw(r++,38, "%s avg-peak dB max-peak dB clipped\n", ecasv_bar_buffer);
+ else
+ mvprintw(r++,38, "%s avg-peak max-peak clipped\n", ecasv_bar_buffer);
+- mvprintw(r++, 0, bar);
++ mvprintw(r++, 0, "%s", bar);
+
+ memset(ecasv_bar_buffer, ' ', ecasv_bar_length_const - 4);
+ ecasv_bar_buffer[ecasv_bar_length_const - 4] = 0;
+--
+2.33.1
+
diff --git a/testing/ecasound/APKBUILD b/testing/ecasound/APKBUILD
index 20e4c62dc64..9ec8436f85d 100644
--- a/testing/ecasound/APKBUILD
+++ b/testing/ecasound/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jean-Louis Fuchs <jean-louis.fuchs@adfinis-sygroup.ch>
pkgname=ecasound
pkgver=2.9.3
-pkgrel=1
+pkgrel=3
pkgdesc="Textmode multitrack audio processing"
url="https://ecasound.seul.org/ecasound/"
arch="all !s390x" # Testsuite fails
@@ -10,7 +10,9 @@ license="GPL-2.0-or-later"
makedepends="alsa-lib-dev readline-dev ncurses-dev
mpg123-dev lame-dev libsndfile-dev libsamplerate-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="http://ecasound.seul.org/download/ecasound-$pkgver.tar.gz"
+source="https://ecasound.seul.org/download/ecasound-$pkgver.tar.gz
+ 0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch
+ "
build() {
./configure --prefix=/usr \
@@ -25,9 +27,11 @@ package() {
make DESTDIR="$pkgdir" install
}
-
check() {
make check
}
-sha512sums="4f70e6f54cd05194a4ffe80905e7488d16d32d684c87736dfdac7b3aebf3d20cbf417964d75e00e781f6f0614b8b699061c69fcbf7e1761d66ce1abfcd5f1140 ecasound-2.9.3.tar.gz"
+sha512sums="
+4f70e6f54cd05194a4ffe80905e7488d16d32d684c87736dfdac7b3aebf3d20cbf417964d75e00e781f6f0614b8b699061c69fcbf7e1761d66ce1abfcd5f1140 ecasound-2.9.3.tar.gz
+fa2d3305b16de3c5e674c94d6e29465c78e9b9751b1e86a7761d839dd5e86d9fa8fb97b228394406d48cfc9329b8378914a618c37b300273f2467dad6dfeca1d 0001-ecasignalview.cpp-always-use-s-style-format-for-prin.patch
+"
diff --git a/testing/eccodes/APKBUILD b/testing/eccodes/APKBUILD
new file mode 100644
index 00000000000..156a0082d3f
--- /dev/null
+++ b/testing/eccodes/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Leon White <badfunkstripe@gmail.com>
+pkgname=eccodes
+pkgver=2.32.1
+pkgrel=0
+pkgdesc="API and tools for decoding and encoding WMO meteorological message formats"
+url="https://github.com/ecmwf/eccodes"
+# ecCodes only supports 64 bit platforms
+# s390x blocked by netcdf-dev
+arch="all !armhf !armv7 !s390x !x86"
+license="Apache-2.0"
+makedepends="
+ cmake
+ gfortran
+ git
+ jasper-dev
+ jpeg-dev
+ libaec-dev
+ netcdf-dev
+ openjpeg-dev
+ perl
+ py3-numpy
+ python3
+ "
+
+source="
+ eccodes-$pkgver-Source.tar.gz::https://confluence.ecmwf.int/download/attachments/45757960/eccodes-$pkgver-Source.tar.gz?api=v2
+ https://get.ecmwf.int/repository/test-data/eccodes/eccodes_test_data.tar.gz
+"
+
+builddir="$srcdir/$pkgname-$pkgver-Source"
+
+build() {
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
+ -DENABLE_EXTRA_TESTS=ON
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build
+}
+
+package() {
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+7fdb34cee0b656ebbecc04d654642b0524eb6e772c1d811471061698f4ec2d31da3be3d66ee697dd3e106f3e8024058b4c165c6dad59868af66a38949c956c77 eccodes-2.32.1-Source.tar.gz
+86767a308841849c7ece006e9f6c68123dc07d8640b038e25529b91ab495d3f10ad5356e9100ef238de6756c67917be13a676f4ab0708fb381021c746e00183e eccodes_test_data.tar.gz
+"
diff --git a/testing/eclib/APKBUILD b/testing/eclib/APKBUILD
new file mode 100644
index 00000000000..519d803acae
--- /dev/null
+++ b/testing/eclib/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=eclib
+pkgver=20231212
+pkgrel=0
+pkgdesc="Tools for creating the elliptic curve databases"
+url="https://github.com/JohnCremona/eclib"
+# armhf, armv7, x86: blocked by pari
+# s390x: blocked by flint
+arch="all !armhf !armv7 !s390x !x86"
+license="GPL-2.0-or-later"
+makedepends="boost-dev flint-dev libntl-dev pari-dev"
+source="https://github.com/JohnCremona/eclib/releases/download/v$pkgver/eclib-$pkgver.tar.bz2"
+subpackages="$pkgname-static $pkgname-dev $pkgname-libs $pkgname-doc"
+
+build() {
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --with-boost=yes \
+ --enable-mpfp
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+692aa6bc2a52cd9496700990172b5a807abbd3f8bf8e931de14c48a401d1d383f95fa5def68bbf9a1aee08dfabac608604c0fd6f8bb49b813e6c6c909a2f27a7 eclib-20231212.tar.bz2
+"
diff --git a/testing/eclipse-ecj/10-jar-signature.patch b/testing/eclipse-ecj/10-jar-signature.patch
index 5778b14aa62..a1cbc669a74 100644
--- a/testing/eclipse-ecj/10-jar-signature.patch
+++ b/testing/eclipse-ecj/10-jar-signature.patch
@@ -5,9 +5,9 @@ Summary: remove signature from final JAR
--- a/build.xml
+++ b/build.xml
@@ -30,8 +30,6 @@
- <compilerarg line="-Xlint:none"/>
+ <compilerarg line="-Xlint:none --patch-module java.compiler=javax17api.jar"/>
</javac>
-
+
- <delete file="${basedir}/META-INF/MANIFEST.MF" failonerror="false"/>
- <copy tofile="${basedir}/META-INF/MANIFEST.MF" file="${basedir}/scripts/binary/META-INF/MANIFEST.MF"/>
<zip destfile="${basedir}/${jar_file}">
diff --git a/testing/eclipse-ecj/20-javac-version.patch b/testing/eclipse-ecj/20-javac-version.patch
new file mode 100644
index 00000000000..53fbcb65604
--- /dev/null
+++ b/testing/eclipse-ecj/20-javac-version.patch
@@ -0,0 +1,15 @@
+Author: Holger Jaekel <holger.jaekel@gmx.de>
+Summary: set javac version to 17
+----
+
+--- a/build.xml
++++ b/build.xml
+@@ -26,7 +26,7 @@
+ <javac srcdir="${basedir}" destdir="${output}"
+ debuglevel="lines,source"
+ debug="true"
+- release="11">
++ release="17">
+ <compilerarg line="-Xlint:none --patch-module java.compiler=javax17api.jar"/>
+ </javac>
+
diff --git a/testing/eclipse-ecj/APKBUILD b/testing/eclipse-ecj/APKBUILD
index 1319d2876a0..368d7f7034b 100644
--- a/testing/eclipse-ecj/APKBUILD
+++ b/testing/eclipse-ecj/APKBUILD
@@ -1,21 +1,23 @@
# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
pkgname=eclipse-ecj
-pkgver=4.20
-_pkgdate=202106111600
+pkgver=4.26
+_pkgdate=202211231800
pkgrel=0
pkgdesc="Eclipse java bytecode compiler"
-url="http://www.eclipse.org/jdt/core/index.php"
-# x86, armhf and armv7 blocked by openjdk11
-# mips64 and riscv64 blocked by java
-arch="noarch !x86 !armv7 !armhf !mips64 !riscv64"
+url="https://www.eclipse.org/jdt/core/index.php"
+# x86, armhf and armv7 blocked by openjdk17
+# riscv64 blocked by java
+# ppc64le: jdk17 unsupported at 4.25
+arch="noarch !x86 !armv7 !armhf !riscv64 !ppc64le"
license="EPL-2.0"
depends="java-common"
makedepends="apache-ant java-jdk"
subpackages="$pkgname-doc"
source="ecjsrc-$pkgver.zip::https://archive.eclipse.org/eclipse/downloads/drops4/R-$pkgver-$_pkgdate/ecjsrc-$pkgver.jar
ecj
- 10-jar-signature.patch
+ 10-jar-signature.patch
+ 20-javac-version.patch
"
builddir="$srcdir"
@@ -23,6 +25,10 @@ build() {
ant build
}
+check() {
+ CLASSPATH=$srcdir/ecj.jar ./ecj -v
+}
+
package() {
install -Dm644 "$srcdir/ecj.jar" "$pkgdir/usr/share/java/eclipse-ecj-$pkgver.jar"
ln -s eclipse-ecj-$pkgver.jar "$pkgdir/usr/share/java/ecj.jar"
@@ -31,11 +37,9 @@ package() {
install -D -m 644 ecj.1 "$pkgdir/usr/share/man/man1/ecj.1"
}
-check() {
- CLASSPATH=$srcdir/ecj.jar ./ecj -v
-}
sha512sums="
-fb27c0a37ed5cdfdcdbc904d067bfdd0477ddfd873a6cd8477d3b473734fd0e37329f0e9ab85dc5f89994d68d9886a488bd88568bc00e25f54c1a5a468dc1384 ecjsrc-4.20.zip
+e53534160e6a2cdc8c5db7caec617d5671eb59954a86b9dcb36a514024c3205167c8416560796ce61d1aa188f551660f3bfd8eab46fefe9111c8f0b7a977342f ecjsrc-4.26.zip
17272b6bb21efeada37d60c1831685bc25128eddf55338807861a65c5117b37df8e18373f120f06e7488438d05750592029bf4dc9c74e38bc4159e4dc43dd2bf ecj
-cd2c1f00184fccad8b4a9d72998dfe30bd6502e565cad427342cec047ec621def8d14800dccc69e3ebb2681b2daecc2c30e285649861a72258a5f84458f0b281 10-jar-signature.patch
+1aaa946994bf0e914820f0ed91d0f1428a25acb02b967d7e267d887eefe31fd009d82660435d75834d986e44a463344b3289a73813379f2474382d5306c548aa 10-jar-signature.patch
+2a9ccd4fd4d1af046fbd6c01e7cc8427b9a1ee1052078672b82094c06dc0c2ac56ba7e6d92f61e57a0333aeeea7d8ac9ef9d5e4dcd98e3cef29a10288fbe7c20 20-javac-version.patch
"
diff --git a/testing/ecm/APKBUILD b/testing/ecm/APKBUILD
new file mode 100644
index 00000000000..63aa22f1052
--- /dev/null
+++ b/testing/ecm/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Cormac Stephenson <c7s@kasku.net>
+pkgname=ecm
+pkgver=7.0.5
+pkgrel=1
+pkgdesc="Elliptic Curve Method for Integer Factorization"
+url="https://gitlab.inria.fr/zimmerma/ecm"
+arch="all"
+license="GPL-3.0-or-later"
+subpackages="
+ $pkgname-doc
+ $pkgname-dev
+ libecm
+ "
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="gmp-dev m4"
+source="https://gitlab.inria.fr/zimmerma/ecm/uploads/89f6f0d65d3e980cef33dc922004e4b2/ecm-$pkgver.tar.gz"
+
+build() {
+ CFLAGS="$CFLAGS -O2" \
+ CXXFLAGS="$CXXFLAGS -O2" \
+ ./configure \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --enable-shared \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+libecm() {
+ license="LGPL-3.0-or-later"
+ amove usr/lib/libecm.so.*
+}
+
+libecmdev() {
+ license="LGPL-3.0-or-later"
+ default_dev
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+f5a482a231339304683adc3334c9b86f21a0d9b42ea871418d4c01005057d560cd418eddfcc1c7be7f8c249960b2ee612a1454ccc5d8e41319b06c6f42e6662e ecm-7.0.5.tar.gz
+"
diff --git a/testing/ecos/APKBUILD b/testing/ecos/APKBUILD
new file mode 100644
index 00000000000..c86c9e6bbe6
--- /dev/null
+++ b/testing/ecos/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=ecos
+pkgver=2.0.10
+pkgrel=0
+pkgdesc="A lightweight conic solver for second-order cone programming"
+url="https://github.com/embotech/ecos"
+arch="all"
+license="GPL-3.0-only"
+makedepends="cmake"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/embotech/ecos/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # cannot get checks to pass
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ $CMAKE_CROSSOPTS .
+ make -C build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ make DESTDIR="$pkgdir" -C build install
+}
+
+sha512sums="
+b79434c194b5681f323b275eff0126f56beba792d270bd1773307cdf33297bee550b13bd2f96f5923dc4b8e200216d897ea01978f65da69dd81f1a669f8fd6e2 ecos-2.0.10.tar.gz
+"
diff --git a/testing/editline/APKBUILD b/testing/editline/APKBUILD
deleted file mode 100644
index e654ff79e22..00000000000
--- a/testing/editline/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=editline
-pkgver=1.17.1
-pkgrel=1
-pkgdesc="readline() replacement for UNIX without termcap (ncurses)"
-url="https://troglobit.com/projects/editline/"
-arch="all"
-license="Spencer-94"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/troglobit/editline/releases/download/$pkgver/editline-$pkgver.tar.xz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-9b3f5f4a833e9e38c4f99d2e7f8d2716d4db74b6a2d3362e6c513505ff17a79044496405458835d508efd79cbe9046f3c1db602aaad210926312c22057145d35 editline-1.17.1.tar.xz
-"
diff --git a/testing/edward/0001-editor-fix-current-address-when-moving-a-single-line.patch b/testing/edward/0001-editor-fix-current-address-when-moving-a-single-line.patch
new file mode 100644
index 00000000000..8b9123a6568
--- /dev/null
+++ b/testing/edward/0001-editor-fix-current-address-when-moving-a-single-line.patch
@@ -0,0 +1,60 @@
+From 7f85285e784002921f22db29f6724f10bbea1182 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Thu, 17 Aug 2023 07:16:14 +0200
+Subject: [PATCH] editor: fix current address when moving a single line
+
+When moving a single line, we only want to return the destination line.
+---
+ lib/ed/editor.scm | 6 +++++-
+ tests/integration/move-update-current-on-single-line/cmds | 3 +++
+ tests/integration/move-update-current-on-single-line/opts | 1 +
+ .../move-update-current-on-single-line/testdata/input-file | 5 +++++
+ 4 files changed, 14 insertions(+), 1 deletion(-)
+ create mode 100644 tests/integration/move-update-current-on-single-line/cmds
+ create mode 100644 tests/integration/move-update-current-on-single-line/opts
+ create mode 100644 tests/integration/move-update-current-on-single-line/testdata/input-file
+
+diff --git a/lib/ed/editor.scm b/lib/ed/editor.scm
+index ccadd0b..9790407 100644
+--- a/lib/ed/editor.scm
++++ b/lib/ed/editor.scm
+@@ -452,7 +452,11 @@
+ (buffer-move! buffer sline eline dest-line)
+ (min
+ (editor-lines editor)
+- (+ dest-line (inc (- eline sline))))))
++ (let ((diff (- eline sline)))
++ (+ dest-line
++ ;; If we moved multiple lines, we need to increment
++ ;; the destination lines by the amount of lines moved.
++ (if (zero? diff) diff (inc diff)))))))
+
+ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+diff --git a/tests/integration/move-update-current-on-single-line/cmds b/tests/integration/move-update-current-on-single-line/cmds
+new file mode 100644
+index 0000000..34eb4a1
+--- /dev/null
++++ b/tests/integration/move-update-current-on-single-line/cmds
+@@ -0,0 +1,3 @@
++2m3
++.=
++Q
+diff --git a/tests/integration/move-update-current-on-single-line/opts b/tests/integration/move-update-current-on-single-line/opts
+new file mode 100644
+index 0000000..778c17f
+--- /dev/null
++++ b/tests/integration/move-update-current-on-single-line/opts
+@@ -0,0 +1 @@
++testdata/input-file
+diff --git a/tests/integration/move-update-current-on-single-line/testdata/input-file b/tests/integration/move-update-current-on-single-line/testdata/input-file
+new file mode 100644
+index 0000000..6392fd1
+--- /dev/null
++++ b/tests/integration/move-update-current-on-single-line/testdata/input-file
+@@ -0,0 +1,5 @@
++foo
++bar
++baz
++bla
++blubb
diff --git a/testing/edward/0002-editor-Fix-discarding-of-addrs-for-cmds-expecting-a-.patch b/testing/edward/0002-editor-Fix-discarding-of-addrs-for-cmds-expecting-a-.patch
new file mode 100644
index 00000000000..540669d38c7
--- /dev/null
+++ b/testing/edward/0002-editor-Fix-discarding-of-addrs-for-cmds-expecting-a-.patch
@@ -0,0 +1,65 @@
+From 66979c7d506ab89555cdc281c6ea6f89f92ee87e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
+Date: Sat, 9 Dec 2023 00:25:10 +0100
+Subject: [PATCH] editor: Fix discarding of addrs for cmds expecting a single
+ addr
+
+Previously, the second address was discarded. That is, the first
+was passed to the command. This is, however, incorrect as addresses
+must be discarded starting at the beginning of an address list.
+
+From POSIX:
+
+ If more than the required number of addresses are provided
+ to a command, the addresses specified first shall be
+ evaluated and then discarded until the maximum number of
+ valid addresses remain, for the specified command.
+
+The addrlst->lpair function also correctly implements this algorithm, it
+is just incorrectly implemented in the editor-xexec function. The
+editor-exec function is fixed in this commit.
+---
+ lib/ed/editor.scm | 2 +-
+ tests/integration/discard-first-addr/cmds | 1 +
+ tests/integration/discard-first-addr/opts | 1 +
+ tests/integration/discard-first-addr/testdata/input-file | 2 ++
+ 4 files changed, 5 insertions(+), 1 deletion(-)
+ create mode 100644 tests/integration/discard-first-addr/cmds
+ create mode 100644 tests/integration/discard-first-addr/opts
+ create mode 100644 tests/integration/discard-first-addr/testdata/input-file
+
+diff --git a/lib/ed/editor.scm b/lib/ed/editor.scm
+index 9790407..f5a7f73 100644
+--- a/lib/ed/editor.scm
++++ b/lib/ed/editor.scm
+@@ -674,7 +674,7 @@
+ ;; or a line pair (depending on default address).
+ (line-addr (if (or (not line-pair) (range? default-addr))
+ line-pair
+- (car line-pair))))
++ (cdr line-pair))))
+ (editor-xexec editor line-addr cmd))))
+
+ ;;> Execute given `cmd` using given `editor` state on the address
+diff --git a/tests/integration/discard-first-addr/cmds b/tests/integration/discard-first-addr/cmds
+new file mode 100644
+index 0000000..752f603
+--- /dev/null
++++ b/tests/integration/discard-first-addr/cmds
+@@ -0,0 +1 @@
++1;/stdout/
+diff --git a/tests/integration/discard-first-addr/opts b/tests/integration/discard-first-addr/opts
+new file mode 100644
+index 0000000..778c17f
+--- /dev/null
++++ b/tests/integration/discard-first-addr/opts
+@@ -0,0 +1 @@
++testdata/input-file
+diff --git a/tests/integration/discard-first-addr/testdata/input-file b/tests/integration/discard-first-addr/testdata/input-file
+new file mode 100644
+index 0000000..3ff8447
+--- /dev/null
++++ b/tests/integration/discard-first-addr/testdata/input-file
+@@ -0,0 +1,2 @@
++{-# LANGUAGE LambdaCase #-}
++import System.IO (hFlush, hPutStrLn, stdout)
diff --git a/testing/edward/APKBUILD b/testing/edward/APKBUILD
new file mode 100644
index 00000000000..8a8feb0913c
--- /dev/null
+++ b/testing/edward/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=edward
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="Implementation of the ed text editor in Scheme"
+url="https://github.com/nmeum/edward"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="chicken"
+checkdepends="ed"
+subpackages="$pkgname-doc"
+source="https://github.com/nmeum/edward/releases/download/$pkgver/edward-$pkgver.tar.gz
+ 0001-editor-fix-current-address-when-moving-a-single-line.patch
+ 0002-editor-Fix-discarding-of-addrs-for-cmds-expecting-a-.patch"
+
+build() {
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make PREFIX=/usr DESTDIR=$pkgdir install
+}
+
+sha512sums="
+caa9a6dfad20f973d1fdc9615c1cad508d646877ca1a627d36365497ce750a1478f94fc0fb287d0840657a9ec048dba23b83d8f12073016858de9a17de3cd496 edward-1.0.1.tar.gz
+56274b808b63febb4cb2a247e0631612709da48f0e5b5d19fba73535e9dff1ac2492badc36ef9dd2155299afead98d7f65b21958fce82c5fa02d6a2c1abf498f 0001-editor-fix-current-address-when-moving-a-single-line.patch
+4868b138acfe8f0ae75f13e7308c5edacbe3fb79636698c7545ad8454bf80ee9a4eeb7a1c7dfe97ac2bf730277d3b03f35d5f509d01ee607cd1383fd6526b1c0 0002-editor-Fix-discarding-of-addrs-for-cmds-expecting-a-.patch
+"
diff --git a/testing/efl/APKBUILD b/testing/efl/APKBUILD
index 42ae755b56e..83165ae5719 100644
--- a/testing/efl/APKBUILD
+++ b/testing/efl/APKBUILD
@@ -1,23 +1,22 @@
# Contributor: Boris Faure <boris@fau.re>
# Maintainer: Boris Faure <boris@fau.re>
pkgname=efl
-pkgver=1.26.0
-pkgrel=0
+pkgver=1.27.0
+pkgrel=1
pkgdesc="Enlightenment Foundation Libraries"
url="https://www.enlightenment.org"
-arch="all !s390x !mips !mips64 !riscv64" # blocked by librsvg
+# ppc64le, riscv64: luajit
+arch="all !ppc64le !riscv64"
license="LGPL-2.1-only"
makedepends="
- meson
- ninja
dbus-dev
eudev-dev
fontconfig-dev
freetype-dev
fribidi-dev
giflib-dev
- gstreamer-dev
gst-plugins-base-dev
+ gstreamer-dev
harfbuzz-dev
libheif-dev
libinput-dev
@@ -25,30 +24,34 @@ makedepends="
libpng-dev
librsvg-dev
libsndfile-dev
+ libwebp-dev
libx11-dev
- libxkbcommon-dev
libxcomposite-dev
libxcursor-dev
libxdamage-dev
libxinerama-dev
+ libxkbcommon-dev
libxrandr-dev
- libxtst-dev
libxscrnsaver-dev
- libwebp-dev
+ libxtst-dev
luajit-dev
mesa-dev
+ meson
openjpeg-dev
openssl-dev
+ pulseaudio-dev
wayland-dev
wayland-protocols
- xorgproto"
+ xorgproto
+ "
options="!check" # Test suite issues
-subpackages="$pkgname-dev"
+subpackages="$pkgname-dev $pkgname-gdb"
source="https://download.enlightenment.org/rel/libs/efl/efl-${pkgver/_/-}.tar.xz"
-#builddir="$srcdir/$pkgname-${pkgver/_alpha1/}"
build() {
+ CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE -D__USE_MISC" \
abuild-meson \
+ -Db_lto=true \
-Ddebug=false \
-Doptimization=s \
-Dnls=false \
@@ -61,7 +64,7 @@ build() {
-Dharfbuzz=true \
-Dwl=true \
-Dnetwork-backend=connman \
- -Devas-loaders-disabler=pdf,ps,raw,tiff,json,avif \
+ -Devas-loaders-disabler=pdf,ps,raw,tiff,json,avif,jxl \
-Dphysics=false \
-Dsystemd=false \
-Dpulseaudio=false \
@@ -72,13 +75,20 @@ build() {
-Decore-imf-loaders-disabler=ibus,scim \
. build
- meson compile ${JOBS:+-j ${JOBS}} -C build
+ meson compile -C build
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C build
}
+gdb() {
+ pkgdesc="$pkgdesc (gdb integration)"
+ install_if="$pkgname=$pkgver-r$pkgrel gdb"
+
+ amove usr/share/gdb
+}
+
sha512sums="
-bc02b9a819a23ec0568578ee2d0cb23c0253d3700ccb18086cc0675c9a882d685dfad76921538a079ec19ebe2657b658b84a336e1b015cc9f1b9e12eb1b5bc88 efl-1.26.0.tar.xz
+5dda2f630463a2504d9246be17449579bbc470904e137b02b3b5c44db033dec2688f6c477885de1485944d875ee62619b6e7c5d4d3657225951f6feaf83b4fa4 efl-1.27.0.tar.xz
"
diff --git a/testing/efm-langserver/APKBUILD b/testing/efm-langserver/APKBUILD
deleted file mode 100644
index 90df196cb13..00000000000
--- a/testing/efm-langserver/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=efm-langserver
-pkgver=0.0.40
-pkgrel=0
-pkgdesc="General purpose language server"
-url="https://github.com/mattn/efm-langserver"
-arch="all"
-license="MIT"
-makedepends="go"
-options="net chmod-clean"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mattn/efm-langserver/archive/refs/tags/v$pkgver.tar.gz"
-
-export GOPATH="$srcdir"
-
-build() {
- go build -ldflags="-s -w -X main.revision=$pkgver" -o $pkgname .
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
-}
-
-sha512sums="
-da8acb944598b43b1080e13a80800abdc763133bcb9b13b909544a33472395c21cf02b64d9850e54e881be4de20288d916072102227ae1a6e7e9a21536d903f4 efm-langserver-0.0.40.tar.gz
-"
diff --git a/testing/eiwd/0001-resolving-service-none.patch b/testing/eiwd/0001-resolving-service-none.patch
new file mode 100644
index 00000000000..09851a53e95
--- /dev/null
+++ b/testing/eiwd/0001-resolving-service-none.patch
@@ -0,0 +1,37 @@
+--- a/src/resolve.c
++++ b/src/resolve.c
+@@ -621,7 +621,7 @@ static int resolve_init(void)
+ method_name = l_settings_get_value(iwd_get_config(), "Network",
+ "NameResolvingService");
+ if (!method_name)
+- method_name = "resolvconf";
++ method_name = "none";
+
+ for (i = 0; resolve_method_ops_list[i].name; i++) {
+ if (strcmp(resolve_method_ops_list[i].name, method_name))
+--- a/src/iwd.config.rst
++++ b/src/iwd.config.rst
+@@ -226,7 +226,7 @@ The group ``[Network]`` contains network
+ by default. This setting can also be overridden on a per-network basis.
+
+ * - NameResolvingService
+- - Values: resolvconf, **systemd**, none
++ - Values: resolvconf, systemd, **none**
+
+ Configures a DNS resolution method used by the system.
+
+@@ -234,10 +234,11 @@ The group ``[Network]`` contains network
+ ``EnableNetworkConfiguration`` and provides the choice of system
+ resolver integration.
+
+- If not specified, ``systemd`` is used as default.
++ If not specified, ``none`` is used as default and DNS and domain name
++ information is ignored.
+
+- If ``none`` is specified, then DNS and domain name information is
+- ignored.
++ In Alpine Linux, ``resolvconf`` requires the openresolv aport to be
++ installed.
+
+ * - RoutePriorityOffset
+ - Values: uint32 value (default: **300**)
diff --git a/testing/eiwd/APKBUILD b/testing/eiwd/APKBUILD
index 1dbab2b6129..e6971e51c00 100644
--- a/testing/eiwd/APKBUILD
+++ b/testing/eiwd/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=eiwd
_realpkgname=iwd
-pkgver=1.19
+pkgver=2.16
pkgrel=0
pkgdesc="Internet Wireless Daemon without dbus"
url="https://github.com/illiliti/eiwd"
@@ -11,18 +11,16 @@ license="LGPL-2.1-or-later"
depends="!iwd"
replaces="iwd"
options="!check" # doesn't work because of eapol issue
-makedepends="linux-headers autoconf automake libtool coreutils"
+makedepends="linux-headers readline-dev"
+checkdepends="coreutils"
subpackages="$pkgname-doc $pkgname-openrc"
source="https://github.com/illiliti/eiwd/releases/download/$pkgver-1/iwd-$pkgver.tar.xz
+ 0001-resolving-service-none.patch
eiwd.initd
main.conf
- eiwd.post-upgrade
iwd_passphrase
"
builddir="$srcdir/iwd-$pkgver"
-case "$CARCH" in
-mips*) options="!check";;
-esac
build() {
./configure \
@@ -33,7 +31,7 @@ build() {
--mandir=/usr/share/man \
--localstatedir=/var \
--disable-systemd-service \
- --disable-dbus \
+ --disable-dbus
make
}
@@ -53,9 +51,9 @@ package() {
}
sha512sums="
-e99e48777d7ef284a05cb661dad966c4951d949a45f26d2f99144e1da53b664b49e8e3d50212f6197c7af570c8142ed4d7f3d5140810a5ef85c421cfb9ae248c iwd-1.19.tar.xz
-1a913fa19a76a18d92b8f44cb5b4b99a64b4e2f7d2b4a486bf1ba2f939aea7dcca772fca91483011ada58aaa3addc29c76ececd708b2187e57f72aa040ac77e6 eiwd.initd
-c126da929709ec5a52df0c10d2e428b14b5ce137e3919692920a1e309ac9e12ecd8c75529066c72fee5b7ee2cf26ec2574d0447e122f52a81f3d3ae7077e87e6 main.conf
-414cb08e01735a66dfb57eac7f308ce75f8f7adf679c5e38418293a0acb2398f9b4df4dd50a6756e48eb03b86de1546e2f852a28677842f2c453a0db86d49f71 eiwd.post-upgrade
+4c8c4e0bc63d1e24a93b6150993fac25d74c2b7ada5d4324c2aaf563899a1cb22d880ad332750a9fa3ededfacb90bb23d198aea4321d6a524d116c26e314a7c4 iwd-2.16.tar.xz
+aff4cd6bf4ae72aa64f9f5485bd310633f5219eb71532a8c0fa9a05abaaf50f7636a70a63e533370cd12a702854340e18b27b0537b26ead846fa9c351ec03b42 0001-resolving-service-none.patch
+b78d19f5a3ef5f12d33b4fab11ed348b1b2fe309310c33fe278d302cadf065dba72c13214bd760576ecb47f6681d012adcb4997e17a75778d41e3c4fd6a0eb01 eiwd.initd
+33517c2c72c43440ed2e68e53bb937d7d557efdf19a6f7fa9cceb87be4b64499f8b9bd6f981f5e413dc3d724eb13ec08b50a129dd81cf64872c362fc5e1d1321 main.conf
06d0258e9e4d13a5cd7cb47cc30c122e2ea950c84b18352fef4982bef41961295316de396b7e6d0a33b949436da40d08fdd76230c7c228d8bdd0e33751cad26c iwd_passphrase
"
diff --git a/testing/eiwd/eiwd.confd b/testing/eiwd/eiwd.confd
new file mode 100644
index 00000000000..bf771adcd3a
--- /dev/null
+++ b/testing/eiwd/eiwd.confd
@@ -0,0 +1,24 @@
+# Configuration for /etc/init.d/eiwd
+
+# A comma-separated list of patterns specifying the network interfaces that
+# eiwd is allowed to manage. Defaults to any wireless interfaces.
+#allowed_interfaces=
+
+# A comma-separated list of patterns specifying the network interfaces that
+# eiwd should ignore.
+#ignored_interfaces=
+
+# Extra options for eiwd(8).
+#command_args=
+
+# Log messages are redirected to syslog. Set to empty string to disable.
+#error_logger="logger -t eiwd -p daemon.info >/dev/null 2>&1"
+
+# Number of milliseconds to wait after starting and check that daemon is
+# still running. Set to empty string to disable.
+# NOTE: If you use eiwd together with ConnMan and ConnMan crashes when started
+# right after eiwd, increase this period to e.g. 200 ms.
+#start_wait=50
+
+# Uncomment to use process supervisor.
+# supervisor="supervise-daemon"
diff --git a/testing/eiwd/eiwd.initd b/testing/eiwd/eiwd.initd
index 3ae8fc436af..b72f5e8583f 100644
--- a/testing/eiwd/eiwd.initd
+++ b/testing/eiwd/eiwd.initd
@@ -1,13 +1,25 @@
#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-pidfile="/run/iwd.pid"
+description="iNet wireless daemon without dbus"
+
+: ${error_logger="logger -t eiwd -p daemon.info >/dev/null 2>&1"}
+: ${start_wait=50} # milliseconds
+
command="/usr/libexec/iwd"
command_background="yes"
+command_args="
+ ${allowed_interfaces:+"--interfaces \"$allowed_interfaces\""}
+ ${ignored_interfaces:+"--nointerfaces \"$ignored_interfaces\""}
+ ${command_args:-}
+ "
+start_stop_daemon_args="
+ ${start_wait:+--wait $start_wait}
+ ${start_stop_daemon_args:-}
+ "
+pidfile="/run/iwd.pid"
depend() {
- need dbus
before net
keyword -shutdown
+ provide wlan
}
diff --git a/testing/eiwd/eiwd.post-upgrade b/testing/eiwd/eiwd.post-upgrade
deleted file mode 100644
index ec087304ac0..00000000000
--- a/testing/eiwd/eiwd.post-upgrade
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-if [ -f /etc/iwd/main.conf ]; then
- sed -i -e s/enable_network_config=True/EnableNetworkConfiguration=True/ /etc/iwd/main.conf
- sed -i -e s/resolve_method=resolvconf/NameResolvingService=resolvconf/ /etc/iwd/main.conf
-fi
diff --git a/testing/eiwd/main.conf b/testing/eiwd/main.conf
index bd4c70fc9c2..79b81a06f29 100644
--- a/testing/eiwd/main.conf
+++ b/testing/eiwd/main.conf
@@ -9,9 +9,6 @@
[EAP]
mtu=1400
-#[EAPoL]
-#max_4way_handshake_time=5
-
[General]
UseDefaultInterface=True
EnableNetworkConfiguration=True
diff --git a/testing/ejabberd/APKBUILD b/testing/ejabberd/APKBUILD
deleted file mode 100644
index a6919edfe52..00000000000
--- a/testing/ejabberd/APKBUILD
+++ /dev/null
@@ -1,160 +0,0 @@
-# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: John Regan <john@jrjrtech.com>
-pkgname=ejabberd
-pkgver=21.01
-pkgrel=1
-pkgdesc="An erlang jabber server"
-url="https://www.ejabberd.im/"
-arch="all"
-license="GPL-2.0-or-later"
-depends="erlang"
-makedepends="automake autoconf gd-dev erlang-dev openssl-dev zlib-dev sqlite-dev yaml-dev linux-pam-dev expat-dev heimdal-dev"
-pkgusers="ejabberd"
-pkggroups="ejabberd"
-install="$pkgname.pre-install"
-options="!check" # test suite requires all kinds of services running
-subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/processone/ejabberd/archive/$pkgver.tar.gz
- base64url.tar.gz::https://github.com/dvv/base64url/archive/refs/tags/1.0.1.tar.gz
- cache_tab.tar.gz::https://github.com/processone/cache_tab/archive/refs/tags/1.0.27.tar.gz
- eimp.tar.gz::https://github.com/processone/eimp/archive/refs/tags/1.0.19.tar.gz
- ejabberd_po.tar.gz::https://github.com/processone/ejabberd-po/archive/e03eb846af3bab861adcd1711c4664feff1b4cc4.tar.gz
- elixir.tar.gz::https://github.com/elixir-lang/elixir/archive/refs/tags/v1.4.4.tar.gz
- epam.tar.gz::https://github.com/processone/epam/archive/refs/tags/1.0.10.tar.gz
- eredis.tar.gz::https://github.com/wooga/eredis/archive/refs/tags/v1.0.8.tar.gz
- esip.tar.gz::https://github.com/processone/esip/archive/refs/tags/1.0.41.tar.gz
- ezlib.tar.gz::https://github.com/processone/ezlib/archive/refs/tags/1.0.9.tar.gz
- fast_tls.tar.gz::https://github.com/processone/fast_tls/archive/refs/tags/1.1.11.tar.gz
- fast_xml.tar.gz::https://github.com/processone/fast_xml/archive/refs/tags/1.1.45.tar.gz
- fast_yaml.tar.gz::https://github.com/processone/fast_yaml/archive/refs/tags/1.0.30.tar.gz
- goldrush.tar.gz::https://github.com/DeadZen/goldrush/archive/refs/tags/0.2.0.tar.gz
- idna.tar.gz::https://github.com/benoitc/erlang-idna/archive/refs/tags/6.0.0.tar.gz
- jiffy.tar.gz::https://github.com/davisp/jiffy/archive/refs/tags/1.0.5.tar.gz
- jose.tar.gz::https://github.com/potatosalad/erlang-jose/archive/refs/tags/1.9.0.tar.gz
- lager.tar.gz::https://github.com/erlang-lager/lager/archive/refs/tags/3.6.10.tar.gz
- luerl.tar.gz::https://github.com/rvirding/luerl/archive/refs/tags/v0.3.tar.gz
- mqtree.tar.gz::https://github.com/processone/mqtree/archive/refs/tags/1.0.12.tar.gz
- p1_acme.tar.gz::https://github.com/processone/p1_acme/archive/refs/tags/1.0.11.tar.gz
- p1_mysql.tar.gz::https://github.com/processone/p1_mysql/archive/refs/tags/1.0.17.tar.gz
- p1_oauth2.tar.gz::https://github.com/processone/p1_oauth2/archive/refs/tags/0.6.8.tar.gz
- p1_pgsql.tar.gz::https://github.com/processone/p1_pgsql/archive/refs/tags/1.1.10.tar.gz
- p1_utils.tar.gz::https://github.com/processone/p1_utils/archive/refs/tags/1.0.21.tar.gz
- pkix.tar.gz::https://github.com/processone/pkix/archive/refs/tags/1.0.7.tar.gz
- rebar_elixir_plugin.tar.gz::https://github.com/processone/rebar_elixir_plugin/archive/refs/tags/0.1.0.tar.gz
- sqlite3.tar.gz::https://github.com/processone/erlang-sqlite3/archive/refs/tags/1.1.11.tar.gz
- stringprep.tar.gz::https://github.com/processone/stringprep/archive/refs/tags/1.0.24.tar.gz
- stun.tar.gz::https://github.com/processone/stun/archive/refs/tags/1.0.42.tar.gz
- unicode_util_compat.tar.gz::https://github.com/benoitc/unicode_util_compat/archive/refs/tags/0.3.1.tar.gz
- xmpp.tar.gz::https://github.com/processone/xmpp/archive/refs/tags/1.5.2.tar.gz
- yconf.tar.gz::https://github.com/processone/yconf/archive/refs/tags/1.0.10.tar.gz
- ejabberd.initd
- ejabberd.logrotate
- ejabberd.confd
- "
-
-prepare() {
- mkdir deps
- for i in \
- base64url-1.0.1 \
- cache_tab-1.0.27 \
- eimp-1.0.19 \
- elixir-1.4.4 \
- epam-1.0.10 \
- eredis-1.0.8 \
- esip-1.0.41 \
- ezlib-1.0.9 \
- fast_tls-1.1.11 \
- fast_xml-1.1.45 \
- fast_yaml-1.0.30 \
- goldrush-0.2.0 \
- jiffy-1.0.5 \
- lager-3.6.10 \
- luerl-0.3 \
- mqtree-1.0.12 \
- p1_acme-1.0.11 \
- p1_mysql-1.0.17 \
- p1_oauth2-0.6.8 \
- p1_pgsql-1.1.10 \
- p1_utils-1.0.21 \
- pkix-1.0.7 \
- rebar_elixir_plugin-0.1.0 \
- stringprep-1.0.24 \
- stun-1.0.42 \
- unicode_util_compat-0.3.1 \
- xmpp-1.5.2 \
- yconf-1.0.10; do
- mv "$srcdir"/"$i" "$builddir"/deps/${i%-*}
- done
- mv "$srcdir"/ejabberd-po-e03eb846af3bab861adcd1711c4664feff1b4cc4 "$builddir"/deps/ejabberd_po
- mv "$srcdir"/erlang-sqlite3-1.1.11 "$builddir"/deps/sqlite3
- mv "$srcdir"/erlang-idna-6.0.0 "$builddir"/deps/idna
- mv "$srcdir"/erlang-jose-1.9.0 "$builddir"/deps/jose
- default_prepare
- sh ./autogen.sh
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --sbindir=/usr/sbin \
- --localstatedir=/var \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --enable-all
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- install -d "$pkgdir"/var/spool/$pkgname
- install -d "$pkgdir"/var/lib/$pkgname
- install -D -m0644 "$srcdir"/$pkgname.logrotate \
- "$pkgdir"/etc/logrotate.d/$pkgname
- install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
- chown -R ejabberd.ejabberd "$pkgdir"/var/log/ejabberd
- chown -R ejabberd.ejabberd "$pkgdir"/var/spool/ejabberd
- chown -R ejabberd.ejabberd "$pkgdir"/var/lib/ejabberd
- chgrp ejabberd "$pkgdir"/etc/ejabberd/ejabberd.yml \
- "$pkgdir"/etc/ejabberd/ejabberdctl.cfg "$pkgdir"/etc/ejabberd
-}
-
-sha512sums="13d714f868a6a06c9db422b12478096ff925ec934d63a04c9987a2ed02abb33429418e2837928d418fe8fc402a05782ac6fec56dc9be7421c01edc9352a6e2a3 ejabberd-21.01.tar.gz
-7398dc99078053b6e0544eb8ca93e9616549493c02245084c220ec854f429139dcaba38dd522858dd74b95067979a3ec4378eb3abd5f6d1662af27687381c738 base64url.tar.gz
-23c143467261d8c8d030bd70c7a6acc0b2a8a94f1dbd98658fef8c2b12e5d0bfa807886b4ea13112b801e4a8d6001e270d7959fd355bba9a205e22bd0e9b9bb3 cache_tab.tar.gz
-a81f965635898633837c2d18fb64e70ed50984a4276269f8694e220d67cbbd7ea62740bf7cc35da79313c9b361a744e16f3f2ce3cf5cf03cee8d299c8ef383d7 eimp.tar.gz
-45cc8df9614b5c3047bb2451602f20ff0b844636e0cb512370f99d967fa05551207d55409c71857fe7bcf4e373a9657302892559892827d4dcc5f93f6aa64768 ejabberd_po.tar.gz
-e339a27e1b31c7783077fc336703c30066d18af990c26741508caa16f15d33d71c56ca7884ed27d046b310db5e051adc428fc51535abecb06992225c6d2d274d elixir.tar.gz
-a659011a9ee8fdf59bd4950c78dcd0f001bf3c4512dfae156d6d66908b918968c80f836bc9801c98f0c3bb90d7bb2df6a36f2066086d623c74c96647d3637054 epam.tar.gz
-416bb6197980613c9c6e5739e46aebcc6d2033959672bbde1d349a880b5201e0444ccf09f320978c31199e2df096fab6b7656671c1a091c9448ee72548bc1bfb eredis.tar.gz
-b14d61d66f1c2b2ac1174a22d87ef0902bf6a54b157957090edbe56d90ade4eedb3b1e007c6385501a83e92aff4927a767bfbb320feb97371ed50c3464759196 esip.tar.gz
-b1358f4c86f0cdffce544c782e56b332378e991cebc945f0c6d75f25fdae5f011f154ec731c73eadb533087cc4a673c596523aa2300761f1033eb48af3f0e203 ezlib.tar.gz
-0c415a61a9bf768f3a33d79e9d02acc30cdeee32550b49820f2ab8d809afb53bc6c7f9cf55b952ec3620b093c7cc172009255f76713492b2ea95bbb0b31e6ab3 fast_tls.tar.gz
-a4c1b5ecbb80e0e2325ecede1ad426c09e35db35c16dfd6dfaef6ba7b6e9627879c6cc43a955d0bfe91abfced48717db07d28132b7c4dac8adca7af1e21c0734 fast_xml.tar.gz
-ed644dc1e6308d973a5c5378a7ff55f1ff0dd7e8795e53b6d8e4d5b3a97e65369b9fdf58659f3dada9ba8998ec5a45607dc35e926e51b9cf42f44eb455e606ce fast_yaml.tar.gz
-1a74f02c75e72f8a60366b9ba74b763eb98621da2ce6044ed97e836566caf8ce85fadeee62b3d24303df319e2c1333d1c544cd267a041b718b0ab36de53e7b1a goldrush.tar.gz
-59f8996199f7e3391b1da1b8fb1ebb70e442838eab1f26af9a8a8545f3e1b9f72f0afd65108272a51d846b34e0e8abe9623f10c89156ebca3d87b6b3eb63a066 idna.tar.gz
-607dded2ccb5f27d6608e19a03fece847fc7bf5c7a1d92a7fafa95efcea157612c73807fd6d624445fa68f895ea4456bd851656b952d5e48b58b6fedf606a830 jiffy.tar.gz
-59f7123fe589c8e9bf0bab5a21089301d6b3a1c35316b9f530386bd0d9de8da8f5f956769ea6b1166c545a51d119668ed18db57e8adfa02e6f4327b01168db68 jose.tar.gz
-bb09eab1f5b39f224b78290dd0277477aa83f861f81dc4c02c34096265588b8a6f5fb7fde684f64cf7194fcc1d9a173192fbf61720d97e442cc65ddf3f012a33 lager.tar.gz
-490e4cd5d26b18d4102e83b6a8440fd31588f3888ac1942c44ac0985f68250b440eabeecdae648f076a6b8290a5ae838a59e0a517d745c5febfbc00b6d5dba44 luerl.tar.gz
-21dc2b974a600e16c1ab4a7d9ea9377c37feaa4e7e8385cbb2cf61a7ecd3c46122b0d030914200c7f3086f0c60c9c8384b4614cafc58aaa07213ab17c08f74fd mqtree.tar.gz
-3424e758b26601e3cbfe8863ac22aa51e3a86297d227a6226c41eedcd7f898dc3c43ddacb9832a8c005753f942c326d7ebabdbe114e09781dfc7c889f4e6af9d p1_acme.tar.gz
-87f5237a68636cf9a93d52d37f8ab6649afaddc5e9d8e750ebcb8929ff321d59d41ccc53ae93b03d7b34897c968fd7edca5d01ae3eaa8f19e68d037f2176fe6e p1_mysql.tar.gz
-10ce1542b8aa0cc0f600addd0f5c6fa82e069fa20267a729536493136756403b45185f01338d29cec2b318cbf51726e145dd767ea147155f50498841b57cdf08 p1_oauth2.tar.gz
-d1385b71681f487822839041f01ca7241573fd3a4b3616e7f0508b2d604ce37273168e8ddf9e403edc6cb08d73c908c373727e26a970ee7ba67ea57de8524409 p1_pgsql.tar.gz
-afff34d3a0832efca0c7ca4278d7c677ed5ff3f0aaa04a46a291bc6a21c1cbf5645e282fda9ab468cfddcaa71821a136547ec9a2ba52d30f72f073dfa3b2fea7 p1_utils.tar.gz
-cbc87f94cdc0645773a40291e8c20eb6db913901dd1d73fc97d10b109408de405c4ca99c8e629adb5aee5583893479008c307f6c2a963465b77b57b6216bd446 pkix.tar.gz
-6c9704e999d375fafdb08a38bf0850c487e8408e60e7ec355c4b4d9fe385335a691b09370029cf619ba9eef4d82383e9410ac7f18a730cc80bc3366e86644609 rebar_elixir_plugin.tar.gz
-9a39c4c6071b88907afc19f4cc290cc6535a369611c339ce4e942ccc97bc3cf036f9b94cdb126a439142219db9c49e971365801d5430c9031983191ac318a749 sqlite3.tar.gz
-072377081530a036bdd12b3bfee19a3eb5001aa8de45792107a34b86e78655a3ded0719a39de239ac269cc936d2a32f2510d6264b11a5a1be7c1924a9517125f stringprep.tar.gz
-c9b969f3f370fe6398aba2601c279414543b871e0d3806b36ad0e95890eaf3d50cfd854ebbc6f9a7982c2cfeba165cfc0fa5542ad4d4eabf8f5e3f751ac2ef56 stun.tar.gz
-c7dafa73bbc91f9202c520da54e77bc7b08f6c134039558c8050c73498dc1135fe905f2074417fc3bda56a7b272df4b9eb1e6a91802d80f65eaec3f56e3b6dda unicode_util_compat.tar.gz
-df5afec4c7a7f767ff2630fe3783b41bf19ab63482ab63e477c30602cd49268c343334d64753baabdfc6347572368941d35ae652373e5155b4165aa77ee7c5e8 xmpp.tar.gz
-8ffb9a2b768dc851c9449445061bf6d0ada76befd67cc13f523bd226b806c9e364e687f70b0af07c2ef9b759b2bd1e88e645af21ab7bd289eb982e3cc89e8677 yconf.tar.gz
-18fb890794be6b0e63960af80a39a97b8c70a6c0ab9a91a95d0f623257e38f5a43c012430ccf871038fc440d06720c573821b485a94191bd73e3924e670683c5 ejabberd.initd
-47fd2cfd9177c4e978a9799a153ba74392a9891822221af8194686a40f6bf01f38644833e1e1f5416c6357e0bfb7ca3dae96f55a4fcd7cd629ec798d85a72807 ejabberd.logrotate
-96a571c0ab2be366e931bda423a61ef920cbaba2107e61ddbc501472ce3efe2804418cc6579c99310b902a9a99aaecb9284cf2420c071dbca2f670efb4034135 ejabberd.confd"
diff --git a/testing/ejabberd/ejabberd.confd b/testing/ejabberd/ejabberd.confd
deleted file mode 100644
index b92757ac4d0..00000000000
--- a/testing/ejabberd/ejabberd.confd
+++ /dev/null
@@ -1,5 +0,0 @@
-# Please configure everything at /etc/ejabberd/ejabberdctl.cfg
-# Put here only command line arguments for ejabberdctl (if any are required)
-
-#EJABBERDCTL_OPTS=""
-
diff --git a/testing/ejabberd/ejabberd.initd b/testing/ejabberd/ejabberd.initd
deleted file mode 100644
index 07824d2eaf7..00000000000
--- a/testing/ejabberd/ejabberd.initd
+++ /dev/null
@@ -1,54 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-extra_started_commands="reload"
-
-depend() {
- use dns
- need net
- provide jabber-server
-}
-
-start() {
- if ejabberdctl status >/dev/null 2>&1; then
- ewarn "ejabberd is already started (manually?)."
- return 0
- fi
- ebegin "Starting ejabberd"
- /usr/sbin/ejabberdctl ${EJABBERDCTL_OPTS} start
- eend $?
-}
-
-reload() {
- ebegin "Reloading ejabberd configuration"
- /usr/sbin/ejabberdctl ${EJABBERDCTL_OPTS} reload_config
- eend $?
-}
-
-stop() {
- ejabberdctl status >/dev/null 2>&1
- if test $? = 3; then
- ewarn "ejabberd is already stopped (manually?)."
- return 0
- fi
- ebegin "Stopping ejabberd"
- if /usr/sbin/ejabberdctl stop >/dev/null 2>&1; then
- cnt=0
- sleep 1
- while ejabberdctl status >/dev/null 2>&1 || test $? = 1; do
- echo -n .
- cnt=`expr $cnt + 1`
- if [ $cnt -ge 60 ] ; then
- eend 1
- break
- fi
- sleep 1
- done
- eend 0
- else
- eend 1
- einfo "Please, run '/usr/sbin/ejabberdctl stop' to see what's going on."
- fi
- eend 0
-}
diff --git a/testing/ejabberd/ejabberd.logrotate b/testing/ejabberd/ejabberd.logrotate
deleted file mode 100644
index 03069078aa7..00000000000
--- a/testing/ejabberd/ejabberd.logrotate
+++ /dev/null
@@ -1,12 +0,0 @@
-/var/log/ejabberd/ejabberd.log {
- weekly
- missingok
- rotate 10
- compress
- delaycompress
- ifempty
- nomail
- sharedscripts
- postrotate ejabberdctl --node ejabberd reopen-log > /dev/null
- endscript
-}
diff --git a/testing/ejabberd/ejabberd.pre-install b/testing/ejabberd/ejabberd.pre-install
deleted file mode 100644
index 58a48d78d38..00000000000
--- a/testing/ejabberd/ejabberd.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S ejabberd 2>/dev/null
-adduser -S -D -H -h /var/lib/ejabberd -G ejabberd -g ejabberd ejabberd 2>/dev/null
-
-exit 0
diff --git a/testing/ejson/APKBUILD b/testing/ejson/APKBUILD
deleted file mode 100644
index a2f0dfc53c2..00000000000
--- a/testing/ejson/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Maintainer: Andy McLeod <andy@amcleod.ca>
-pkgname=ejson
-pkgver=1.2.1
-pkgrel=6
-pkgdesc="EJSON is a small library to manage encrypted secrets using asymmetric encryption."
-url="https://github.com/Shopify/ejson"
-arch="all"
-license="MIT"
-depends="mandoc" # Requires man to show help
-makedepends="go ronn"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Shopify/$pkgname/archive/v$pkgver.tar.gz"
-
-_gourl=github.com/Shopify/ejson
-builddir="$srcdir"/src/$_gourl
-
-prepare() {
- mkdir -p "${builddir%/*}"
- mv "$srcdir"/$pkgname-$pkgver "$builddir"
- default_prepare
-}
-
-build() {
- export GOPATH="$srcdir"
- export GO111MODULE=off
- CGO_ENABLED=0 go build -v -o e${pkgname} github.com/Shopify/ejson/cmd/ejson
-
- # Overwrite bundle exec so it runs our ronn command from the system not
- # from some rubygems repo
- sed -i 's|^BUNDLE_EXEC=.*|BUNDLE_EXEC=exec|' Makefile
- make man
-}
-
-check() {
- go test -v ./...
-}
-
-package() {
- install -Dm755 e${pkgname} "$pkgdir"/usr/bin/ejson
-
- # Keep this in the main package, ejson calls into 'man' to show
- # the help string
- mkdir -p "$pkgdir"/usr/share
- mv build/man "$pkgdir"/usr/share/man/
-}
-sha512sums="cd49e70b1578f0f960b6d6d77499297bcee7eac3b8595109757697ef844ba8867c353e257105af9b90fdbcca3a08445ae0c9b666c7bc6db26ab7303b5834c5bd ejson-1.2.1.tar.gz"
diff --git a/testing/elastic-beats/APKBUILD b/testing/elastic-beats/APKBUILD
new file mode 100644
index 00000000000..37f3a6fba10
--- /dev/null
+++ b/testing/elastic-beats/APKBUILD
@@ -0,0 +1,152 @@
+# Contributor: Ramanathan Sivagurunathan <ramzthecoder@gmail.com>
+# Maintainer:
+pkgname=elastic-beats
+pkgver=8.13.1
+pkgrel=1
+pkgdesc="Lightweight shippers for Elasticsearch & Logstash"
+url="https://www.elastic.co/products/beats"
+# riscv64: https://github.com/elastic/go-concert/issues/51
+# s390x: doesn't build
+# 32-bit: not useful
+arch="all !s390x !armhf !armv7 !x86 !riscv64"
+license="Apache-2.0"
+makedepends="
+ go
+ mage
+ python3
+ "
+subpackages="
+ filebeat
+ filebeat-openrc:filebeat_openrc:noarch
+ metricbeat
+ metricbeat-openrc:metricbeat_openrc:noarch
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/elastic/beats/archive/refs/tags/v$pkgver.tar.gz
+ filebeat.initd
+ filebeat.confd
+ metricbeat.initd
+ metricbeat.confd
+ "
+builddir="$srcdir/beats-$pkgver"
+options="net" # go
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+case "$CARCH" in
+x86_64) ;;
+# flaky elsewhere
+*) options="$options !check" ;;
+esac
+
+prepare() {
+ default_prepare
+
+ git init -q
+ git config user.email "example@example.com"
+ git config user.name "example"
+ git add .
+ git commit -q -m "init"
+ git tag "v$pkgver"
+}
+
+build() {
+ mkdir -p bin
+
+ # just these two for now
+ (
+ msg "building filebeat"
+ cd filebeat
+ # mage build
+ go build -o filebeat main.go
+ # mage update
+ )
+ (
+ msg "building metricbeat"
+ cd metricbeat
+ # mage build
+ go build -o metricbeat main.go
+ # fails in some random step presently
+ # mage update || :
+ )
+}
+
+check() {
+ msg "testing filebeat"
+ # shellcheck disable=2046
+ go test $(go list ./filebeat/... | grep -Ev '(journald|inputsource/unix)')
+ msg "testing metricbeat"
+ # shellcheck disable=2046
+ go test $(go list ./metricbeat/... | grep -Ev '(module/system/service)')
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/metricbeat "$pkgdir"/usr/share/filebeat
+
+ install -Dm644 \
+ filebeat/filebeat.yml \
+ filebeat/filebeat.reference.yml \
+ -t "$pkgdir"/etc/filebeat
+ cp -r filebeat/modules.d "$pkgdir"/etc/filebeat/
+ cp -r filebeat/module "$pkgdir"/usr/share/filebeat/
+
+ install -Dm644 \
+ metricbeat/metricbeat.yml \
+ metricbeat/metricbeat.reference.yml \
+ -t "$pkgdir"/etc/metricbeat
+ cp -r metricbeat/modules.d "$pkgdir"/etc/metricbeat/
+ cp -r metricbeat/module "$pkgdir"/usr/share/metricbeat/
+
+ # remove random stuff
+ local elf; scanelf -BRA -F "%F" "$pkgdir"/usr/share | while read -r elf; do
+ rm -v "$elf"
+ done
+
+ install -Dm755 \
+ filebeat/filebeat \
+ metricbeat/metricbeat \
+ -t "$pkgdir"/usr/bin/
+}
+
+filebeat() {
+ pkgdesc="FileBeat - Lightweight shipper for logs"
+
+ amove \
+ usr/bin/filebeat \
+ etc/filebeat \
+ usr/share/filebeat
+}
+
+filebeat_openrc() {
+ pkgdesc="FileBeat - Lightweight shipper for logs (OpenRC service files)"
+ install_if="filebeat=$pkgver-r$pkgrel openrc"
+
+ install -Dm755 "$srcdir"/filebeat.initd "$subpkgdir"/etc/init.d/filebeat
+ install -Dm644 "$srcdir"/filebeat.confd "$subpkgdir"/etc/conf.d/filebeat
+}
+
+metricbeat() {
+ pkgdesc="MetricBeat - Lightweight shipper for system and service statistics"
+
+ amove \
+ usr/bin/metricbeat \
+ etc/metricbeat \
+ usr/share/metricbeat
+}
+
+metricbeat_openrc() {
+ pkgdesc="MetricBeat - Lightweight shipper for system and service statistics (OpenRC service files)"
+ install_if="metricbeat=$pkgver-r$pkgrel openrc"
+
+ install -Dm755 "$srcdir"/metricbeat.initd "$subpkgdir"/etc/init.d/metricbeat
+ install -Dm644 "$srcdir"/metricbeat.confd "$subpkgdir"/etc/conf.d/metricbeat
+}
+
+sha512sums="
+490081cedfab4bb19b62314106eb93ec2adb5ab53779c56aab630fd2d573a2d46f7476bf7cc3474eb5bfa5f33801303f955b82a456f21af477cfb2e0da782edf elastic-beats-8.13.1.tar.gz
+526b149419cf51e21ab4b7b49b208dbef81571afd04f2c40ab05297d5eb4b03e64e6c7a06d1acf8771b7b0664a552082ce6f50d5cbc4218aca810440d6185990 filebeat.initd
+f6168b10da75919cf16b2a32a5b25847e9e49aaea7415e49d2644960fc586c60714754cbe60f5a6d290cd7b9f8d3fd86287e46e63891825feb82f747e235d58d filebeat.confd
+4736fab0119bea080cb5a938d0b40e803967cbfac373d1b714a43176032ea36b9865f3c6658e33ff6befa150ccdf6ddcbfcf59bd31e4ae961d075623eac80ea6 metricbeat.initd
+a81cd8a99acd9086b78f36113f08f8fb91373144dc51aa6b4235362e25bc4ff3b1f5ebfe6efe272a106a73d16c1c9d23dd1da6645074d4fd2d3b8713b6071f68 metricbeat.confd
+"
diff --git a/testing/elastic-beats/filebeat.confd b/testing/elastic-beats/filebeat.confd
new file mode 100644
index 00000000000..2aa592694ea
--- /dev/null
+++ b/testing/elastic-beats/filebeat.confd
@@ -0,0 +1,5 @@
+# Filebeat startup
+filebeat_opts="-c /etc/filebeat/filebeat.yml -e"
+
+# comment to not use process supervisor
+supervisor=supervise-daemon
diff --git a/testing/elastic-beats/filebeat.initd b/testing/elastic-beats/filebeat.initd
new file mode 100644
index 00000000000..036fc9c5bdf
--- /dev/null
+++ b/testing/elastic-beats/filebeat.initd
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+
+name=filebeat
+description="FileBeat - Lightweight shipper for logs"
+command=/usr/bin/filebeat
+command_args="$filebeat_opts"
+command_background=true
+pidfile=/run/${RC_SVCNAME}.pid
+output_log=/var/log/${RC_SVCNAME}.log
+error_log=/var/log/${RC_SVCNAME}.log
+
+extra_commands="checkconfig"
+description_checkconfig="Verify configuration file"
+
+start_pre() {
+ checkpath -f -m 0644 "$output_log"
+}
+
+depend() {
+ need net
+ after firewall
+}
+
+checkconfig() {
+ $command test config -c /etc/filebeat/filebeat.yml
+}
+
+start_pre() {
+ ebegin "checking configuration"
+ checkconfig
+}
diff --git a/testing/elastic-beats/metricbeat.confd b/testing/elastic-beats/metricbeat.confd
new file mode 100644
index 00000000000..04f5d195a82
--- /dev/null
+++ b/testing/elastic-beats/metricbeat.confd
@@ -0,0 +1,5 @@
+# Metricbeat startup
+metricbeat_opts="-c /etc/metricbeat/metricbeat.yml -e"
+
+# comment to not use process supervisor
+supervisor=supervise-daemon
diff --git a/testing/elastic-beats/metricbeat.initd b/testing/elastic-beats/metricbeat.initd
new file mode 100644
index 00000000000..5d84faed3bc
--- /dev/null
+++ b/testing/elastic-beats/metricbeat.initd
@@ -0,0 +1,31 @@
+#!/sbin/openrc-run
+
+name=metricbeat
+description="MetricBeat - Lightweight shipper for system and service statistics"
+command=/usr/bin/metricbeat
+command_args="$metricbeat_opts"
+command_background=true
+pidfile=/run/${RC_SVCNAME}.pid
+output_log=/var/log/${RC_SVCNAME}.log
+error_log=/var/log/${RC_SVCNAME}.log
+
+extra_commands="checkconfig"
+description_checkconfig="Verify configuration file"
+
+start_pre() {
+ checkpath -f -m 0644 "$output_log"
+}
+
+depend() {
+ need net
+ after firewall
+}
+
+checkconfig() {
+ $command test config -c /etc/metricbeat/metricbeat.yml
+}
+
+start_pre() {
+ ebegin "checking configuration"
+ checkconfig
+}
diff --git a/testing/electron-tasje/APKBUILD b/testing/electron-tasje/APKBUILD
new file mode 100644
index 00000000000..71648c7b8aa
--- /dev/null
+++ b/testing/electron-tasje/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=electron-tasje
+pkgver=0.7.1
+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 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"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test
+}
+
+package() {
+ install -Dm755 target/release/tasje "$pkgdir"/usr/bin/tasje
+}
+
+sha512sums="
+665ccbd6cb357c25d55daed4ad3b3ce008da258054951d9d069a5b12e72dd5812d534f906868e6b18e78949f058069a961c394c6f21ab3b3fab5393c330445e5 electron_tasje-0.7.1.tar.gz
+"
diff --git a/testing/electron/0001-src-fix-HasOnly-capability-in-node-credentials.patch b/testing/electron/0001-src-fix-HasOnly-capability-in-node-credentials.patch
new file mode 100644
index 00000000000..616f0f06c2b
--- /dev/null
+++ b/testing/electron/0001-src-fix-HasOnly-capability-in-node-credentials.patch
@@ -0,0 +1,55 @@
+From 0a26dd24fd73f5f5a34b4ba8d1441dbf3a426b3c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= <tniessen@tnie.de>
+Date: Sat, 4 Nov 2023 00:39:57 +0000
+Subject: [PATCH 1/6] src: fix HasOnly(capability) in node::credentials
+
+SYS_capget with _LINUX_CAPABILITY_VERSION_3 returns the process's
+permitted capabilities as two 32-bit values. To determine if the only
+permitted capability is indeed CAP_NET_BIND_SERVICE, it is necessary to
+check both of those values.
+
+Not doing so creates a vulnerability that potentially allows
+unprivileged users to inject code into a privileged Node.js process
+through environment variables such as NODE_OPTIONS.
+
+PR-URL: https://github.com/nodejs-private/node-private/pull/505
+Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
+CVE-ID: CVE-2024-21892
+---
+ src/node_credentials.cc | 13 ++++++-------
+ 1 file changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/third_party/electron_node/src/node_credentials.cc b/third_party/electron_node/src/node_credentials.cc
+index 52abaab7a6..f2980007b9 100644
+--- a/third_party/electron_node/src/node_credentials.cc
++++ b/third_party/electron_node/src/node_credentials.cc
+@@ -52,7 +52,7 @@ namespace credentials {
+ bool HasOnly(int capability) {
+ DCHECK(cap_valid(capability));
+
+- struct __user_cap_data_struct cap_data[2];
++ struct __user_cap_data_struct cap_data[_LINUX_CAPABILITY_U32S_3];
+ struct __user_cap_header_struct cap_header_data = {
+ _LINUX_CAPABILITY_VERSION_3,
+ getpid()};
+@@ -61,12 +61,11 @@ bool HasOnly(int capability) {
+ if (syscall(SYS_capget, &cap_header_data, &cap_data) != 0) {
+ return false;
+ }
+- if (capability < 32) {
+- return cap_data[0].permitted ==
+- static_cast<unsigned int>(CAP_TO_MASK(capability));
+- }
+- return cap_data[1].permitted ==
+- static_cast<unsigned int>(CAP_TO_MASK(capability));
++
++ static_assert(arraysize(cap_data) == 2);
++ return cap_data[CAP_TO_INDEX(capability)].permitted ==
++ static_cast<unsigned int>(CAP_TO_MASK(capability)) &&
++ cap_data[1 - CAP_TO_INDEX(capability)].permitted == 0;
+ }
+ #endif
+
+--
+2.43.1
+
diff --git a/testing/electron/0002-http-add-maximum-chunk-extension-size.patch b/testing/electron/0002-http-add-maximum-chunk-extension-size.patch
new file mode 100644
index 00000000000..fec3ff67bd4
--- /dev/null
+++ b/testing/electron/0002-http-add-maximum-chunk-extension-size.patch
@@ -0,0 +1,273 @@
+From 01d3bb793a5ef3bf0a36dde868626869e09fb558 Mon Sep 17 00:00:00 2001
+From: Paolo Insogna <paolo@cowtech.it>
+Date: Wed, 3 Jan 2024 07:23:15 +0100
+Subject: [PATCH] http: add maximum chunk extension size
+
+PR-URL: https://github.com/nodejs-private/node-private/pull/519
+Fixes: https://hackerone.com/reports/2233486
+Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
+Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
+Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
+CVE-ID: CVE-2024-22019
+---
+ doc/api/errors.md | 12 ++
+ lib/_http_server.js | 8 ++
+ src/node_http_parser.cc | 23 ++-
+ .../test-http-chunk-extensions-limit.js | 131 ++++++++++++++++++
+ 4 files changed, 171 insertions(+), 3 deletions(-)
+ create mode 100644 test/parallel/test-http-chunk-extensions-limit.js
+
+diff --git a/third_party/electron_node/doc/api/errors.md b/third_party/electron_node/doc/api/errors.md
+index 95ad3c9c671..9429baff516 100644
+--- a/third_party/electron_node/doc/api/errors.md
++++ b/third_party/electron_node/doc/api/errors.md
+@@ -3140,6 +3140,18 @@ malconfigured clients, if more than 8 KiB of HTTP header data is received then
+ HTTP parsing will abort without a request or response object being created, and
+ an `Error` with this code will be emitted.
+
++<a id="HPE_CHUNK_EXTENSIONS_OVERFLOW"></a>
++
++### `HPE_CHUNK_EXTENSIONS_OVERFLOW`
++
++<!-- YAML
++added: REPLACEME
++-->
++
++Too much data was received for a chunk extensions. In order to protect against
++malicious or malconfigured clients, if more than 16 KiB of data is received
++then an `Error` with this code will be emitted.
++
+ <a id="HPE_UNEXPECTED_CONTENT_LENGTH"></a>
+
+ ### `HPE_UNEXPECTED_CONTENT_LENGTH`
+diff --git a/third_party/electron_node/lib/_http_server.js b/third_party/electron_node/lib/_http_server.js
+index c62ea175995..c512653e60e 100644
+--- a/third_party/electron_node/lib/_http_server.js
++++ b/third_party/electron_node/lib/_http_server.js
+@@ -857,6 +857,11 @@ const requestHeaderFieldsTooLargeResponse = Buffer.from(
+ 'Connection: close\r\n\r\n', 'ascii',
+ );
+
++const requestChunkExtensionsTooLargeResponse = Buffer.from(
++ `HTTP/1.1 413 ${STATUS_CODES[413]}\r\n` +
++ 'Connection: close\r\n\r\n', 'ascii',
++);
++
+ function warnUnclosedSocket() {
+ if (warnUnclosedSocket.emitted) {
+ return;
+@@ -892,6 +897,9 @@ function socketOnError(e) {
+ case 'HPE_HEADER_OVERFLOW':
+ response = requestHeaderFieldsTooLargeResponse;
+ break;
++ case 'HPE_CHUNK_EXTENSIONS_OVERFLOW':
++ response = requestChunkExtensionsTooLargeResponse;
++ break;
+ case 'ERR_HTTP_REQUEST_TIMEOUT':
+ response = requestTimeoutResponse;
+ break;
+diff --git a/third_party/electron_node/src/node_http_parser.cc b/third_party/electron_node/src/node_http_parser.cc
+index a12d89c3cd6..c190eace435 100644
+--- a/third_party/electron_node/src/node_http_parser.cc
++++ b/third_party/electron_node/src/node_http_parser.cc
+@@ -79,6 +79,8 @@ const uint32_t kOnExecute = 5;
+ const uint32_t kOnTimeout = 6;
+ // Any more fields than this will be flushed into JS
+ const size_t kMaxHeaderFieldsCount = 32;
++// Maximum size of chunk extensions
++const size_t kMaxChunkExtensionsSize = 16384;
+
+ const uint32_t kLenientNone = 0;
+ const uint32_t kLenientHeaders = 1 << 0;
+@@ -261,6 +263,7 @@ class Parser : public AsyncWrap, public StreamListener {
+
+ num_fields_ = num_values_ = 0;
+ headers_completed_ = false;
++ chunk_extensions_nread_ = 0;
+ last_message_start_ = uv_hrtime();
+ url_.Reset();
+ status_message_.Reset();
+@@ -516,9 +519,22 @@ class Parser : public AsyncWrap, public StreamListener {
+ return 0;
+ }
+
+- // Reset nread for the next chunk
++ int on_chunk_extension(const char* at, size_t length) {
++ chunk_extensions_nread_ += length;
++
++ if (chunk_extensions_nread_ > kMaxChunkExtensionsSize) {
++ llhttp_set_error_reason(&parser_,
++ "HPE_CHUNK_EXTENSIONS_OVERFLOW:Chunk extensions overflow");
++ return HPE_USER;
++ }
++
++ return 0;
++ }
++
++ // Reset nread for the next chunk and also reset the extensions counter
+ int on_chunk_header() {
+ header_nread_ = 0;
++ chunk_extensions_nread_ = 0;
+ return 0;
+ }
+
+@@ -986,6 +1002,7 @@ class Parser : public AsyncWrap, public StreamListener {
+ bool headers_completed_ = false;
+ bool pending_pause_ = false;
+ uint64_t header_nread_ = 0;
++ uint64_t chunk_extensions_nread_ = 0;
+ uint64_t max_http_header_size_;
+ uint64_t last_message_start_;
+ ConnectionsList* connectionsList_;
+@@ -1164,9 +1181,9 @@ const llhttp_settings_t Parser::settings = {
+ Proxy<DataCall, &Parser::on_header_value>::Raw,
+
+ // on_chunk_extension_name
+- nullptr,
++ Proxy<DataCall, &Parser::on_chunk_extension>::Raw,
+ // on_chunk_extension_value
+- nullptr,
++ Proxy<DataCall, &Parser::on_chunk_extension>::Raw,
+
+ Proxy<Call, &Parser::on_headers_complete>::Raw,
+ Proxy<DataCall, &Parser::on_body>::Raw,
+diff --git a/third_party/electron_node/test/parallel/test-http-chunk-extensions-limit.js b/third_party/electron_node/test/parallel/test-http-chunk-extensions-limit.js
+new file mode 100644
+index 00000000000..6868b3da6cb
+--- /dev/null
++++ b/third_party/electron_node/test/parallel/test-http-chunk-extensions-limit.js
+@@ -0,0 +1,131 @@
++'use strict';
++
++const common = require('../common');
++const http = require('http');
++const net = require('net');
++const assert = require('assert');
++
++// Verify that chunk extensions are limited in size when sent all together.
++{
++ const server = http.createServer((req, res) => {
++ req.on('end', () => {
++ res.writeHead(200, { 'Content-Type': 'text/plain' });
++ res.end('bye');
++ });
++
++ req.resume();
++ });
++
++ server.listen(0, () => {
++ const sock = net.connect(server.address().port);
++ let data = '';
++
++ sock.on('data', (chunk) => data += chunk.toString('utf-8'));
++
++ sock.on('end', common.mustCall(function() {
++ assert.strictEqual(data, 'HTTP/1.1 413 Payload Too Large\r\nConnection: close\r\n\r\n');
++ server.close();
++ }));
++
++ sock.end('' +
++ 'GET / HTTP/1.1\r\n' +
++ 'Host: localhost:8080\r\n' +
++ 'Transfer-Encoding: chunked\r\n\r\n' +
++ '2;' + 'A'.repeat(20000) + '=bar\r\nAA\r\n' +
++ '0\r\n\r\n'
++ );
++ });
++}
++
++// Verify that chunk extensions are limited in size when sent in intervals.
++{
++ const server = http.createServer((req, res) => {
++ req.on('end', () => {
++ res.writeHead(200, { 'Content-Type': 'text/plain' });
++ res.end('bye');
++ });
++
++ req.resume();
++ });
++
++ server.listen(0, () => {
++ const sock = net.connect(server.address().port);
++ let remaining = 20000;
++ let data = '';
++
++ const interval = setInterval(
++ () => {
++ if (remaining > 0) {
++ sock.write('A'.repeat(1000));
++ } else {
++ sock.write('=bar\r\nAA\r\n0\r\n\r\n');
++ clearInterval(interval);
++ }
++
++ remaining -= 1000;
++ },
++ common.platformTimeout(20),
++ ).unref();
++
++ sock.on('data', (chunk) => data += chunk.toString('utf-8'));
++
++ sock.on('end', common.mustCall(function() {
++ assert.strictEqual(data, 'HTTP/1.1 413 Payload Too Large\r\nConnection: close\r\n\r\n');
++ server.close();
++ }));
++
++ sock.write('' +
++ 'GET / HTTP/1.1\r\n' +
++ 'Host: localhost:8080\r\n' +
++ 'Transfer-Encoding: chunked\r\n\r\n' +
++ '2;'
++ );
++ });
++}
++
++// Verify the chunk extensions is correctly reset after a chunk
++{
++ const server = http.createServer((req, res) => {
++ req.on('end', () => {
++ res.writeHead(200, { 'content-type': 'text/plain', 'connection': 'close', 'date': 'now' });
++ res.end('bye');
++ });
++
++ req.resume();
++ });
++
++ server.listen(0, () => {
++ const sock = net.connect(server.address().port);
++ let data = '';
++
++ sock.on('data', (chunk) => data += chunk.toString('utf-8'));
++
++ sock.on('end', common.mustCall(function() {
++ assert.strictEqual(
++ data,
++ 'HTTP/1.1 200 OK\r\n' +
++ 'content-type: text/plain\r\n' +
++ 'connection: close\r\n' +
++ 'date: now\r\n' +
++ 'Transfer-Encoding: chunked\r\n' +
++ '\r\n' +
++ '3\r\n' +
++ 'bye\r\n' +
++ '0\r\n' +
++ '\r\n',
++ );
++
++ server.close();
++ }));
++
++ sock.end('' +
++ 'GET / HTTP/1.1\r\n' +
++ 'Host: localhost:8080\r\n' +
++ 'Transfer-Encoding: chunked\r\n\r\n' +
++ '2;' + 'A'.repeat(10000) + '=bar\r\nAA\r\n' +
++ '2;' + 'A'.repeat(10000) + '=bar\r\nAA\r\n' +
++ '2;' + 'A'.repeat(10000) + '=bar\r\nAA\r\n' +
++ '0\r\n\r\n'
++ );
++ });
++}
+--
+2.44.0
+
diff --git a/testing/electron/0004-lib-update-undici-to-v5.28.3.patch b/testing/electron/0004-lib-update-undici-to-v5.28.3.patch
new file mode 100644
index 00000000000..a6719cdca88
--- /dev/null
+++ b/testing/electron/0004-lib-update-undici-to-v5.28.3.patch
@@ -0,0 +1,46 @@
+From 6027fadc38bd33317ac1f93629c72153741fbdc8 Mon Sep 17 00:00:00 2001
+From: Matteo Collina <hello@matteocollina.com>
+Date: Mon, 5 Feb 2024 17:21:04 +0100
+Subject: [PATCH 4/6] lib: update undici to v5.28.3
+
+Signed-off-by: Matteo Collina <hello@matteocollina.com>
+PR-URL: https://github.com/nodejs-private/node-private/pull/536
+CVE-ID: CVE-2024-24758
+
+backported (just secfix part) to v18.18.x
+Co-developed-by: lauren n. liberda <lauren@selfisekai.rocks>
+Signed-off-by: lauren n. liberda <lauren@selfisekai.rocks>
+---
+ deps/undici/src/lib/fetch/index.js | 3 +++
+ deps/undici/undici.js | 1 +
+ 2 files changed, 4 insertions(+)
+
+diff --git a/third_party/electron_node/deps/undici/src/lib/fetch/index.js b/third_party/electron_node/deps/undici/src/lib/fetch/index.js
+index 9f09670f82..5ef7a3f069 100644
+--- a/third_party/electron_node/deps/undici/src/lib/fetch/index.js
++++ b/third_party/electron_node/deps/undici/src/lib/fetch/index.js
+@@ -1201,6 +1201,9 @@ async function httpRedirectFetch (fetchParams, response) {
+ // https://fetch.spec.whatwg.org/#cors-non-wildcard-request-header-name
+ request.headersList.delete('authorization')
+
++ // https://fetch.spec.whatwg.org/#authentication-entries
++ request.headersList.delete('proxy-authorization', true)
++
+ // "Cookie" and "Host" are forbidden request-headers, which undici doesn't implement.
+ request.headersList.delete('cookie')
+ request.headersList.delete('host')
+diff --git a/third_party/electron_node/deps/undici/undici.js b/third_party/electron_node/deps/undici/undici.js
+index 0c3dc7ebfc..84a3d63ca1 100644
+--- a/third_party/electron_node/deps/undici/undici.js
++++ b/third_party/electron_node/deps/undici/undici.js
+@@ -9679,6 +9679,7 @@ var require_fetch = __commonJS({
+ }
+ if (!sameOrigin(requestCurrentURL(request), locationURL)) {
+ request.headersList.delete("authorization");
++ request.headersList.delete("proxy-authorization", true);
+ request.headersList.delete("cookie");
+ request.headersList.delete("host");
+ }
+--
+2.43.1
+
diff --git a/testing/electron/0005-zlib-pause-stream-if-outgoing-buffer-is-full.patch b/testing/electron/0005-zlib-pause-stream-if-outgoing-buffer-is-full.patch
new file mode 100644
index 00000000000..96f55cbdb4b
--- /dev/null
+++ b/testing/electron/0005-zlib-pause-stream-if-outgoing-buffer-is-full.patch
@@ -0,0 +1,146 @@
+From c7201faa5a436566c01f8fa60ad58d631430850b Mon Sep 17 00:00:00 2001
+From: Matteo Collina <hello@matteocollina.com>
+Date: Tue, 6 Feb 2024 16:47:20 +0100
+Subject: [PATCH 5/6] zlib: pause stream if outgoing buffer is full
+
+Signed-off-by: Matteo Collina <hello@matteocollina.com>
+PR-URL: https://github.com/nodejs-private/node-private/pull/540
+Reviewed-By: Robert Nagy <ronagy@icloud.com>
+Ref: https://hackerone.com/reports/2284065
+PR-URL: https://github.com/nodejs-private/node-private/pull/542
+CVE-ID: CVE-2024-22025
+---
+ lib/zlib.js | 33 +++++++++++++++++++-------
+ test/parallel/test-zlib-brotli-16GB.js | 22 +++++++++++++++++
+ test/parallel/test-zlib-params.js | 24 ++++++++++++-------
+ 3 files changed, 62 insertions(+), 17 deletions(-)
+ create mode 100644 test/parallel/test-zlib-brotli-16GB.js
+
+diff --git a/third_party/electron_node/lib/zlib.js b/third_party/electron_node/lib/zlib.js
+index 2b90c6f91f..5e6a979370 100644
+--- a/third_party/electron_node/lib/zlib.js
++++ b/third_party/electron_node/lib/zlib.js
+@@ -560,10 +560,11 @@ function processCallback() {
+ self.bytesWritten += inDelta;
+
+ const have = handle.availOutBefore - availOutAfter;
++ let streamBufferIsFull = false;
+ if (have > 0) {
+ const out = self._outBuffer.slice(self._outOffset, self._outOffset + have);
+ self._outOffset += have;
+- self.push(out);
++ streamBufferIsFull = !self.push(out);
+ } else {
+ assert(have === 0, 'have should not go down');
+ }
+@@ -588,13 +589,29 @@ function processCallback() {
+ handle.inOff += inDelta;
+ handle.availInBefore = availInAfter;
+
+- this.write(handle.flushFlag,
+- this.buffer, // in
+- handle.inOff, // in_off
+- handle.availInBefore, // in_len
+- self._outBuffer, // out
+- self._outOffset, // out_off
+- self._chunkSize); // out_len
++
++ if (!streamBufferIsFull) {
++ this.write(handle.flushFlag,
++ this.buffer, // in
++ handle.inOff, // in_off
++ handle.availInBefore, // in_len
++ self._outBuffer, // out
++ self._outOffset, // out_off
++ self._chunkSize); // out_len
++ } else {
++ const oldRead = self._read;
++ self._read = (n) => {
++ self._read = oldRead;
++ this.write(handle.flushFlag,
++ this.buffer, // in
++ handle.inOff, // in_off
++ handle.availInBefore, // in_len
++ self._outBuffer, // out
++ self._outOffset, // out_off
++ self._chunkSize); // out_len
++ self._read(n);
++ };
++ }
+ return;
+ }
+
+diff --git a/third_party/electron_node/test/parallel/test-zlib-brotli-16GB.js b/third_party/electron_node/test/parallel/test-zlib-brotli-16GB.js
+new file mode 100644
+index 0000000000..ba4f7ef5ae
+--- /dev/null
++++ b/third_party/electron_node/test/parallel/test-zlib-brotli-16GB.js
+@@ -0,0 +1,22 @@
++'use strict';
++
++const common = require('../common');
++const { createBrotliDecompress } = require('node:zlib');
++const strictEqual = require('node:assert').strictEqual;
++
++// This tiny HEX string is a 16GB file.
++// This test verifies that the stream actually stops.
++/* eslint-disable max-len */
++const content = 'cfffff7ff82700e2b14020f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c32200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bffcfffff7ff82700e2b00040f7fe9ffffffff04f00c4610180eefd3fffffffe19f0088c30200ddfb7ffeffffc33f0110870500baf7fffcffff877f02200e0b0074effff9ffff0fff04401c1600e8defff3ffff1ffe0980382c00d0bdffe7ffff3ffc1300715800a07bff3f';
++
++const buf = Buffer.from(content, 'hex');
++
++const decoder = createBrotliDecompress();
++decoder.end(buf);
++
++// We need to wait to verify that the libuv thread pool had time
++// to process the data and the buffer is not empty.
++setTimeout(common.mustCall(() => {
++ // There is only one chunk in the buffer
++ strictEqual(decoder._readableState.buffer.length, 1);
++}), common.platformTimeout(100));
+diff --git a/third_party/electron_node/test/parallel/test-zlib-params.js b/third_party/electron_node/test/parallel/test-zlib-params.js
+index 30d4f133ad..18271fe022 100644
+--- a/third_party/electron_node/test/parallel/test-zlib-params.js
++++ b/third_party/electron_node/test/parallel/test-zlib-params.js
+@@ -12,23 +12,29 @@ const deflater = zlib.createDeflate(opts);
+ const chunk1 = file.slice(0, chunkSize);
+ const chunk2 = file.slice(chunkSize);
+ const blkhdr = Buffer.from([0x00, 0x5a, 0x82, 0xa5, 0x7d]);
+-const expected = Buffer.concat([blkhdr, chunk2]);
+-let actual;
++const blkftr = Buffer.from('010000ffff7dac3072', 'hex');
++const expected = Buffer.concat([blkhdr, chunk2, blkftr]);
++const bufs = [];
++
++function read() {
++ let buf;
++ while ((buf = deflater.read()) !== null) {
++ bufs.push(buf);
++ }
++}
+
+ deflater.write(chunk1, function() {
+ deflater.params(0, zlib.constants.Z_DEFAULT_STRATEGY, function() {
+ while (deflater.read());
+- deflater.end(chunk2, function() {
+- const bufs = [];
+- let buf;
+- while ((buf = deflater.read()) !== null)
+- bufs.push(buf);
+- actual = Buffer.concat(bufs);
+- });
++
++ deflater.on('readable', read);
++
++ deflater.end(chunk2);
+ });
+ while (deflater.read());
+ });
+
+ process.once('exit', function() {
++ const actual = Buffer.concat(bufs);
+ assert.deepStrictEqual(actual, expected);
+ });
+--
+2.43.1
+
diff --git a/testing/electron/0006-deps-fix-GHSA-f74f-cvh7-c6q6-CVE-2024-24806.patch b/testing/electron/0006-deps-fix-GHSA-f74f-cvh7-c6q6-CVE-2024-24806.patch
new file mode 100644
index 00000000000..2d7ba8cce6e
--- /dev/null
+++ b/testing/electron/0006-deps-fix-GHSA-f74f-cvh7-c6q6-CVE-2024-24806.patch
@@ -0,0 +1,74 @@
+From 4c475d0047768f2d3cec4fe628d85d601374c2fe Mon Sep 17 00:00:00 2001
+From: Santiago Gimeno <santiago.gimeno@gmail.com>
+Date: Thu, 8 Feb 2024 00:17:40 +0100
+Subject: [PATCH 6/6] deps: fix GHSA-f74f-cvh7-c6q6/CVE-2024-24806
+
+Refs: https://github.com/libuv/libuv/security/advisories/GHSA-f74f-cvh7-c6q6
+PR-URL: https://github.com/nodejs/node/pull/51614
+---
+ deps/uv/src/idna.c | 8 ++++++--
+ deps/uv/test/test-idna.c | 7 ++++++-
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/third_party/electron_node/deps/uv/src/idna.c b/third_party/electron_node/deps/uv/src/idna.c
+index 93d982ca01..858b19d00e 100644
+--- a/third_party/electron_node/deps/uv/src/idna.c
++++ b/third_party/electron_node/deps/uv/src/idna.c
+@@ -274,6 +274,9 @@ long uv__idna_toascii(const char* s, const char* se, char* d, char* de) {
+ char* ds;
+ int rc;
+
++ if (s == se)
++ return UV_EINVAL;
++
+ ds = d;
+
+ si = s;
+@@ -308,8 +311,9 @@ long uv__idna_toascii(const char* s, const char* se, char* d, char* de) {
+ return rc;
+ }
+
+- if (d < de)
+- *d++ = '\0';
++ if (d >= de)
++ return UV_EINVAL;
+
++ *d++ = '\0';
+ return d - ds; /* Number of bytes written. */
+ }
+diff --git a/third_party/electron_node/deps/uv/test/test-idna.c b/third_party/electron_node/deps/uv/test/test-idna.c
+index f4fad9653d..37da38de2d 100644
+--- a/third_party/electron_node/deps/uv/test/test-idna.c
++++ b/third_party/electron_node/deps/uv/test/test-idna.c
+@@ -99,6 +99,7 @@ TEST_IMPL(utf8_decode1) {
+ TEST_IMPL(utf8_decode1_overrun) {
+ const char* p;
+ char b[1];
++ char c[1];
+
+ /* Single byte. */
+ p = b;
+@@ -112,6 +113,10 @@ TEST_IMPL(utf8_decode1_overrun) {
+ ASSERT_EQ((unsigned) -1, uv__utf8_decode1(&p, b + 1));
+ ASSERT_EQ(p, b + 1);
+
++ b[0] = 0x7F;
++ ASSERT_EQ(UV_EINVAL, uv__idna_toascii(b, b + 0, c, c + 1));
++ ASSERT_EQ(UV_EINVAL, uv__idna_toascii(b, b + 1, c, c + 1));
++
+ return 0;
+ }
+
+@@ -145,8 +150,8 @@ TEST_IMPL(idna_toascii) {
+ /* Illegal inputs. */
+ F("\xC0\x80\xC1\x80", UV_EINVAL); /* Overlong UTF-8 sequence. */
+ F("\xC0\x80\xC1\x80.com", UV_EINVAL); /* Overlong UTF-8 sequence. */
++ F("", UV_EINVAL);
+ /* No conversion. */
+- T("", "");
+ T(".", ".");
+ T(".com", ".com");
+ T("example", "example");
+--
+2.43.1
+
diff --git a/testing/electron/APKBUILD b/testing/electron/APKBUILD
new file mode 100644
index 00000000000..d3c5e699305
--- /dev/null
+++ b/testing/electron/APKBUILD
@@ -0,0 +1,589 @@
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=electron
+pkgver=29.3.0
+_semver="${pkgver/_beta/-beta.}"
+pkgrel=1
+_chromium=122.0.6261.156
+_depot_tools=b5509953468edd0906f2dc297886939abbd2bed5
+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"
+makedepends="
+ alsa-lib-dev
+ aom-dev
+ base64-dev
+ bash
+ brotli-dev
+ bsd-compat-headers
+ bzip2-dev
+ c-ares-dev
+ cairo-dev
+ clang-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
+ flex
+ freetype-dev
+ gperf
+ gtk+3.0-dev
+ gn
+ gzip
+ harfbuzz-dev
+ hdrhistogram-c-dev
+ highway-dev
+ hunspell-dev
+ http-parser-dev
+ hwdata-dev
+ java-jdk
+ jpeg-dev
+ krb5-dev
+ lcms2-dev
+ libarchive-tools
+ 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
+ libxcomposite-dev
+ libxcursor-dev
+ libxinerama-dev
+ libxml2-dev
+ libxrandr-dev
+ libxscrnsaver-dev
+ libxslt-dev
+ linux-headers
+ lld
+ llvm
+ 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
+ rsync
+ rust
+ samurai
+ speex-dev
+ sqlite-dev
+ xcb-proto
+ yarn
+ zlib-dev
+ zstd-dev
+ "
+subpackages="$pkgname-lang $pkgname-dev"
+# the lower patches are specific to electron, the top ones are from the equivalent chromium version
+source="https://ab-sn.lnl.gay/electron-$_semver-$_chromium.tar.zst
+ chromium-icu-74.patch
+ chromium-revert-drop-of-system-java.patch
+ compiler.patch
+ disable-failing-tests.patch
+ fc-cache-version.patch
+ fix-missing-cstdint-include-musl.patch
+ fix-opus.patch
+ fstatat-32bit.patch
+ gdbinit.patch
+ generic-sensor-include.patch
+ import-version.patch
+ libstdc++13.patch
+ mman.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
+ no-sandbox-settls.patch
+ partalloc-no-tagging-arm64.patch
+ perfetto-libstdc++.patch
+ pvalloc.patch
+ random-fixes.patch
+ quiche-array.patch
+ system-zstd.patch
+ temp-failure-retry.patch
+ yes-musl.patch
+ disable-dns_config_service.patch
+
+ icon.patch
+ python-jinja-3.10.patch
+ webpack-hash.patch
+ unbundle-node.patch
+ 0001-src-fix-HasOnly-capability-in-node-credentials.patch
+ 0002-http-add-maximum-chunk-extension-size.patch
+ 0004-lib-update-undici-to-v5.28.3.patch
+ 0005-zlib-pause-stream-if-outgoing-buffer-is-full.patch
+ 0006-deps-fix-GHSA-f74f-cvh7-c6q6-CVE-2024-24806.patch
+ node-configure-distutils.patch
+ node-gyp-distutils.patch
+
+ default.conf
+ electron.desktop
+ electron-launcher.sh
+ "
+# tests are todo for some base checks
+options="!check net suid"
+builddir="$srcdir/electron-$_semver-$_chromium"
+
+export PATH="$PATH:/usr/lib/qt5/bin"
+
+# 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__="
+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"
+ mkdir -p "$srcdir"
+ cd "$srcdir"
+
+ 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\": \"https://github.com/electron/electron.git@v$_semver\",
+ \"deps_file\": \"DEPS\",
+ \"managed\": False,
+ \"custom_deps\": {
+ \"src\": \"https://chromium.googlesource.com/chromium/src.git@$_chromium\",
+ },
+ \"custom_vars\": {},
+ },
+ ]" > .gclient
+
+ python3 depot_tools/gclient.py sync \
+ --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 \
+ --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
+
+ # 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 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-$_semver-$_chromium
+
+ # extra binaries are most likely things we don't want, so nuke them all
+ for elf in $(scanelf -RA -F "%F" $pkgname-$_semver-$_chromium); do
+ rm -f "$elf"
+ done
+
+ msg "generating tarball.. (this takes a while)"
+ tar -cf $pkgname-$_semver-$_chromium.tar \
+ --exclude="ChangeLog*" \
+ --exclude="testdata/*" \
+ --exclude="test_data/*" \
+ --exclude="android_rust_toolchain/*" \
+ --exclude-backups \
+ --exclude-caches-all \
+ --exclude-vcs \
+ $pkgname-$_semver-$_chromium
+
+ zstd --auto-threads=logical --ultra --long -22 -T"${ZSTD_LIMIT:-0}" -vv $pkgname-$_semver-$_chromium.tar -o "$SRCDEST"/$pkgname-$_semver-$_chromium.tar.zst
+ mcli cp "$SRCDEST"/$pkgname-$_semver-$_chromium.tar.zst "$_distbucket"
+}
+
+prepare() {
+ dos2unix third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
+
+ default_prepare
+
+ git init -q .
+
+ # link to system tools
+ ln -sfv /usr/bin/clang-format buildtools/linux64/clang-format
+ mkdir -p third_party/node/linux/node-linux-x64/bin
+ ln -sfv /usr/bin/node third_party/node/linux/node-linux-x64/bin/node
+ ln -sfv /usr/bin/java third_party/jdk/current/bin/java
+
+ (
+ cd electron
+ 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$_semver"
+ git pack-refs
+ yarn install --frozen-lockfile --no-scripts
+ )
+
+ (
+ cd third_party/node
+ ./update_npm_deps
+ )
+
+ # reusable system library settings
+ # libavif - https://github.com/AOMediaCodec/libavif/commit/4d2776a3
+ # libaom - https://aomedia.googlesource.com/aom/+/706ee36dcc82%5E%21/
+ # jsoncpp, re2, snappy, swiftshader-spirv, woff2 - requires use_custom_libcxx=false
+ local chromium_use_system="
+ brotli
+ crc32c
+ dav1d
+ double-conversion
+ ffmpeg
+ flac
+ fontconfig
+ freetype
+ harfbuzz-ng
+ highway
+ icu
+ libdrm
+ libevent
+ libjpeg
+ libsecret
+ libusb
+ libwebp
+ libxml
+ libxslt
+ openh264
+ opus
+ zlib
+ zstd
+ "
+
+ for _lib in $chromium_use_system jinja2 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\|gyp\|gypi\|isolate\|py\)' \
+ -delete
+ done
+
+ # ada - needs use_custom_libcxx=false
+ # llhttp - 9.x needed, 8.x in repo (2023-12-17)
+ 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
+ sed 's|//third_party/usb_ids/usb.ids|/usr/share/hwdata/usb.ids|g' \
+ -i services/device/public/cpp/usb/BUILD.gn
+
+ msg "Running debundle script"
+ python3 build/linux/unbundle/replace_gn_files.py --system-libraries \
+ $chromium_use_system
+ python3 third_party/libaddressinput/chromium/tools/update-strings.py
+
+ # prevent annoying errors when regenerating gni
+ sed -i 's,^update_readme$,#update_readme,' \
+ third_party/libvpx/generate_gni.sh
+
+ # allow system dependencies in "official builds"
+ sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' \
+ tools/generate_shim_headers/generate_shim_headers.py
+
+ # https://crbug.com/893950
+ 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
+
+ _configure
+}
+
+_configure() {
+ cd "$builddir"
+ msg "Configuring build"
+
+ local clang_ver="$(clang -dumpversion)"
+
+ case "$USE_CCACHE" in
+ 1)
+ local cc_wrapper="ccache"
+ ;;
+ *)
+ local cc_wrapper=""
+ ;;
+ esac
+
+ # shellcheck disable=2089
+ local gn_config="
+ cc_wrapper=\"$cc_wrapper\"
+ 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
+ chrome_pgo_phase=0
+ clang_use_chrome_plugins=false
+ clang_version=\"${clang_ver%%.*}\"
+ fatal_linker_warnings=false
+ ffmpeg_branding=\"Chrome\"
+ icu_use_data_file=true
+ 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
+ rustc_version=\"yes\"
+ rust_sysroot_absolute=\"/usr\"
+
+ angle_enable_gl_null=false
+ build_tflite_with_xnnpack=false
+ build_with_tflite_lib=true
+ disable_fieldtrial_testing_config=true
+ enable_hangout_services_extension=true
+ enable_library_cdms=false
+ enable_media_remoting=false
+ enable_nacl=false
+ enable_nocompile_tests=false
+ enable_paint_preview=false
+ enable_reading_list=false
+ enable_remoting=false
+ enable_reporting=false
+ enable_rust=true
+ 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
+ regenerate_x11_protos=true
+ rtc_link_pipewire=true
+ rtc_use_pipewire=true
+ skia_use_dawn=false
+ use_custom_libcxx=true
+ use_dawn=false
+ use_pulseaudio=true
+ use_sysroot=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_thin_lto=false
+ use_vaapi=true
+ "
+
+ # shellcheck disable=2086,2090,2116
+ gn gen out/Release --args="$(echo $gn_config)" \
+ --export-compile-commands
+}
+
+build() {
+ export PATH="$PATH:/usr/lib/qt5/bin"
+
+ ninja -C out/Release \
+ electron_dist_zip \
+ node_gypi_headers \
+ node_version_header
+
+ cp -vf out/Release/gen/node_headers/include/node/config.gypi third_party/electron_node/config.gypi
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/lib/electron "$pkgdir"/usr/bin
+
+ bsdtar -xf out/Release/dist.zip -C "$pkgdir"/usr/lib/electron
+
+ chmod u+s "$pkgdir"/usr/lib/electron/chrome-sandbox
+
+ install -Dm755 "$srcdir"/electron-launcher.sh "$pkgdir"/usr/bin/electron
+ install -Dm755 "$srcdir"/default.conf "$pkgdir"/etc/electron/default.conf
+
+ mkdir -p "$pkgdir"/usr/include/electron
+
+ (
+ cd third_party/electron_node/
+ HEADERS_ONLY=1 python3 ./tools/install.py install "$pkgdir" "/usr/include/electron/node_headers"
+ )
+ # required overrides
+ install -Dm644 out/Release/gen/node_headers/include/node/* -t "$pkgdir"/usr/include/electron/node_headers/include/node
+ ln -sv /usr/include/electron/node_headers/include/node "$pkgdir"/usr/include/electron/node
+
+ mkdir -p "$pkgdir"/usr/include/electron/node_headers/include/nan
+ cp -v "$builddir"/third_party/nan/*.h "$pkgdir"/usr/include/electron/node_headers/include/nan
+ ln -sv /usr/include/electron/node_headers/include/nan "$pkgdir"/usr/include/electron/nan
+
+ install -Dm644 electron/default_app/icon.png \
+ "$pkgdir"/usr/share/icons/hicolor/1024x1024/apps/electron.png
+ install -Dm644 "$srcdir"/electron.desktop \
+ -t "$pkgdir"/usr/share/applications/
+}
+
+lang() {
+ pkgdesc="$pkgdesc (translations)"
+ install_if="$pkgname=$pkgver-r$pkgrel lang"
+
+ mkdir -p "$subpkgdir"/usr/lib/electron/locales
+
+ mv "$pkgdir"/usr/lib/electron/locales/*.pak \
+ "$subpkgdir"/usr/lib/electron/locales
+ mv "$subpkgdir"/usr/lib/electron/locales/en-US.pak \
+ "$pkgdir"/usr/lib/electron/locales
+}
+
+sha512sums="
+aef4dc07d9924892472637f95485ac0e9ab6216a9da5b290d105d82e8688fc45643515e43a41aee6e002ec4dbce512ae11c8ebe171d6629741cf1587bdda8a5b electron-29.3.0-122.0.6261.156.tar.zst
+4c540972fa12acd9f0aafb8dc7e9987c3d6e4f28ff679dde522ebcec2dc5ae1a62d9d255bed0a30b9c79ae3b90ab0f5b9ae1ef5b7bf338612e28d9ef70250ca3 chromium-icu-74.patch
+29bb685e03356a77df5fd347cdf55194cc8b3265c421cc76e54d64edefc329dbcb052deb26b22e8f587ce68456876c071de1b7d258dd0fcc6ee66c875ec4a020 chromium-revert-drop-of-system-java.patch
+c116ad6325a79b799b6c56312891d5b3d2f0d0c1c3e2c03f339144b3f93b871db190f83fe5eadc5542303d61849cc362299932a2f93661198e11ba0c1e492e48 compiler.patch
+111bc22fb704d97759988268a40d6b356c51b0bd7a8119a694e905ffe21850ff64e91566cd0dd0c9d62fcb46dca8acc821436c34eb0ba78be872ee4f7ec88a7b disable-failing-tests.patch
+5fc5c012c1db6cf1ba82f38c6f3f4f5ca3a209e47ac708a74de379b018e0649b7694877c9571ef79002dde875ffc07b458a3355425f1c01867f362c66c2bc1bf fc-cache-version.patch
+9200f78bad70e95c648a5e8392d50642190600f655c6baa366ff6467ebad52d3b3f305dad58f3610da67136f4b723557653b174ec5c25be8d8737ee04d9ee09f fix-missing-cstdint-include-musl.patch
+b24563e9a738c00fce7ff2fbdee3d7c024d9125d7c74d9ab90af6bdb16f7ec8419f2c8aa78c0640f6d5d81c17dc2c673a194401d354f466749672729b48ed068 fix-opus.patch
+c63dee5044353eb306a39ca1526158c0f003ab310ecb03d1c368dc2a979454590c84b8d3c15484517d5e66bb8add9b231da9abbadf2e50850abd72ac1345c4ab fstatat-32bit.patch
+33ee60863cc438ef57ffef92ba4cf67a856a5ffc16138bce241bcf87e47b15154aa86918e793c26f7ec4dc62a445257ad5673ed7001daf22c4043cf6cc57da7f gdbinit.patch
+36a764fa73443b47d38050b52dbe6ad2fa8d67201ff4ccdbad13b52308ef165ca046aac6f9609fe35890a6485f0f3e672e78cc41e3e44f3cdc7f145e540524e8 generic-sensor-include.patch
+8de65109ece27ea63bd469f2220c56b8c752ba0a50fdf390082a2d5ae74b8e010199126175569f6d5084270dd4e0571e68aec32c0bca8211a6699925b3a09124 import-version.patch
+993ce46dcd2c9e406d18d7af834e6e8cc4227bdba32c0b1804bb0489e11b47467557895281facf110abdb6aacf493b97f23bfb4f72ee95a41a618c547bfcea1a libstdc++13.patch
+e75f57ae34c97ca1caf15fa4b4106c6c1e79c31ed66869cf92ed9ea0c449886c9511e455047c17c1e9ad8b9a46ad4948511a4f2995a4b6030fb4d1c7ae21d038 mman.patch
+99bcc7dd485b404a90c606a96addab1d900852128d44fb8cea8acc7303189ef87c89a7b0e749fd0e10c5ef5f6bf1fadeb5c16a34503cab6a59938ce2653d887e musl-auxv.patch
+50c274a420bb8a7f14fcb56e40920dac8f708792a4520789b4987facea459bef88113d5a2b60fa8c57bee6e92bff3617d6b73fa305c8c44614c638971cffd440 musl-sandbox.patch
+e7163ac5810ac85366cef2447412287c856e3d67c6b77f219a6e5a418b1965b98e449c409424ad0704a5bded9355dd0aec3dc4585918ce5a2ab36c079707afe2 musl-tid-caching.patch
+92eb002718026611f5542362ad69b67f0a398ff71b3fca5c05d55cb5c6f9f29334e5e127bb4860cfaa3fba0f0d4c901e2b98808217e7dc02e254a64a5c9521aa musl-v8-monotonic-pthread-cont_timedwait.patch
+5eb0b83264e2c9213fb871838827eb7875c05131a42d901032d6d1f05eec98609fefac4772385046887a773daf4f1e0ee5a647e82c1c3d73aec3fcf76f887084 no-execinfo.patch
+8e17101d69e23b456a9c03dc2fe95bcd56846389707ba6f4720192a9e9168406d20d9168dbebbb3a47d921ec92e478f0e390f46e6b9bb43a34dda217c6e6448b no-mallinfo.patch
+e4c4e5bc6f828f9c883dd418c0ba01887949c29c311f76206a1ec29f620b0c0ba0452949dc2778a9c46ea066405857536964a36436a68eecf7da7952736333cf no-res-ninit-nclose.patch
+6dc4d8dc92e685dace62265a1ddb3aebc558aed54d20ff6d36b030be0c48d7e84662326c31363612492574d9a03c62653cdc21a60995b97dee1d75cae86a9f9b no-sandbox-settls.patch
+d4ac7f350806b4410ccb1df3b0ad7e90a7b6d724a16919761aa2d47a6f21008c7374da528b05b754ee712b85d23adfb113c7f7b9ca2ed5b47644fe3ea0cb9119 partalloc-no-tagging-arm64.patch
+8e1aca983890c78d81a6f888b2cf1aa42878d1f8523e87d63b800e1e468cbfd33e5ff6a0975775ca222fe82f30c6497da95505da01b091c8776a44c98ac86f0f perfetto-libstdc++.patch
+2eb434b4fc6aee77026492644cd86772a543d9845f112a75cd4c3e1f25c9435cc31f8454c1c73223451fc9be69b86e822ff68821978f67f2fc8bcba50296d8e0 pvalloc.patch
+803b8117c65132f76bec42054a4b2257a078b15b07fd08645fec2dfd51aa4e0075a9015300cd579d4ae0d757d9850b9988e080cfc2eea093f6684fdf82c4722c random-fixes.patch
+86f612dd2b39602984a75b1b11c2ab8bc8cc6b4e78fae998570a777a6901ae45fdcdb22e46dd006dab703a0674e64c72cf8120af2dc5b9e78004f402c7e65358 quiche-array.patch
+b3beb98b539fe160fbc493ba410ae0f68540cc4b6834f1f8ce9a22c3f4f59ef5d583ad48793e10549fd02a701f833a3969791ef4524322cd1e715ca5bf226bc8 system-zstd.patch
+e48693e6b7aeebf69a5acbf80d9a35defe4c23835121dfeb58b051ac7c527e758a41004f4d193274fe1b01c0bfb1dbc77b09cb6a404a3fdee507a2918afb0edb temp-failure-retry.patch
+914ccf649d7771f19f209ab97f99c481aebc6f66174d68e8b539f6ad4a70bc8cb0fae2df6dadbf0415958ffb3574c420fe029079dcce45f5e5add4db2e903566 yes-musl.patch
+4057cc78f10bfd64092bc35a373869abb1d68b880cdbca70422f39ffd78a929c19c7728d4d4c40709aaba25581148a93ae5343e724849fd35323062ed68753fa disable-dns_config_service.patch
+465107da7818b237e3c144a318ab80c3c9343b51ed38b8971ef204692d13346929becbe94cefad4c153788d3a200642143584d5ca070f6304e768ba2139c19ec icon.patch
+e05180199ee1d559e4e577cedd3e589844ecf40d98a86321bf1bea5607b02eeb5feb486deddae40e1005b644550331f6b8500177aa7e79bcb3750d3c1ceb76c3 python-jinja-3.10.patch
+2aa340854316f1284217c0ca17cbf44953684ad6c7da90815117df30928612eb9fb9ffb734b948dfc309cd25d1a67cd57f77aac2d052a3dd9aca07a3a58cbb30 webpack-hash.patch
+c83914c11d9f8f6d53653f67f91020db3d25d0614380053380f85e870418e834bf590afa065b182006d535290cc91a940fe085c1200cae9ca17107faceae1989 unbundle-node.patch
+85973875fb3acddabe2507e255b38fe498cf0b5fce7dcb93e389ccb7b1cae8acd5225f00fa61b7bd556f7cae5080ed03dca7263505fe8974e3fbf3a93937c555 0001-src-fix-HasOnly-capability-in-node-credentials.patch
+4b32258cc05ffe43364dbb775df53d0e7749d108ac31b3642cc069860b6e28d370bcb0cee01c652baed668c2c3111fde714084d0a85acd80b5b86880a703c2b2 0002-http-add-maximum-chunk-extension-size.patch
+b8ea46e2c0ad7bab6383fa3a42619be735eac67156e501b173b36e9522e8c384feb758b48276a16ac6a68b64cab8fb4cd4ed1841720ecf628bc55f45c05b58c4 0004-lib-update-undici-to-v5.28.3.patch
+1dc578fad461f8dc876a1bbbd9fd8f9b235a010fcfb30986cc2654253cce84040dc6fed37fa9fa5e70933ffb9d812c677ba0150e7d6a9d2032d412f9eba7f168 0005-zlib-pause-stream-if-outgoing-buffer-is-full.patch
+793d94cc5aec81eace96ca86bd70ad122d82918a521ecb8d30251c492818c19c7a020eed4dccb13d4129b61f0ca82972bd34f480ad094c45633042552bd39fe9 0006-deps-fix-GHSA-f74f-cvh7-c6q6-CVE-2024-24806.patch
+45e9b3f520a9d343daddda21fd220d675fbbebaeae923a4afb59f8b8d3c35cfa172ab4fdaed6f835d66a8ef470e1a4ab9d6e27c5538f5ce49cc4c1772fa514ef node-configure-distutils.patch
+e7e2f663e2c9329443fbaece2b3e37266bdb894f5764d9c4ef3720f1de84d13edee75a5e12210e4839912520c88332f4b231a6eacbc0e8dd5f7e3353d40fefba node-gyp-distutils.patch
+e8ea87c547546011c4c8fc2de30e4f443b85cd4cfcff92808e2521d2f9ada03feefb8e1b0cf0f6b460919c146e56ef8d5ad4bb5e2461cc5247c30d92eb4d068e default.conf
+191559fc7aa1ea0353c6fb0cc321ee1d5803a0e44848c8be941cfab96277b0de6a59962d373e2a2a1686c8f9be2bcf2d2f33706759a339a959e297d3f7fda463 electron.desktop
+5f7ba5ad005f196facec1c0f26108356b64cafb1e5cfa462ff714a33b8a4c757ac00bfcb080da09eb5b65032f8eb245d9676a61ec554515d125ed63912708648 electron-launcher.sh
+"
diff --git a/testing/electron/chromium-icu-74.patch b/testing/electron/chromium-icu-74.patch
new file mode 100644
index 00000000000..02a44b7a141
--- /dev/null
+++ b/testing/electron/chromium-icu-74.patch
@@ -0,0 +1,20 @@
+See ICU change https://github.com/unicode-org/icu/commit/2e45e6ec0e84a1c01812015a254ea31b286316fb
+
+Similar has happened in the past. See:
+https://chromium.googlesource.com/chromium/src/+/e60b571faa3f14dd9119a6792dccf12f8bf80192
+
+diff --git a/third_party/blink/renderer/platform/text/text_break_iterator.cc b/third_party/blink/renderer/platform/text/text_break_iterator.cc
+index ddfbd51..247da06 100644
+--- a/third_party/blink/renderer/platform/text/text_break_iterator.cc
++++ b/third_party/blink/renderer/platform/text/text_break_iterator.cc
+@@ -161,7 +161,9 @@ static const unsigned char kAsciiLineBreakTable[][(kAsciiLineBreakTableLastChar
+ };
+ // clang-format on
+
+-#if U_ICU_VERSION_MAJOR_NUM >= 58
++#if U_ICU_VERSION_MAJOR_NUM >= 74
++#define BA_LB_COUNT (U_LB_COUNT - 8)
++#elif U_ICU_VERSION_MAJOR_NUM >= 58
+ #define BA_LB_COUNT (U_LB_COUNT - 3)
+ #else
+ #define BA_LB_COUNT U_LB_COUNT
diff --git a/testing/electron/chromium-revert-drop-of-system-java.patch b/testing/electron/chromium-revert-drop-of-system-java.patch
new file mode 100644
index 00000000000..24355bf42b1
--- /dev/null
+++ b/testing/electron/chromium-revert-drop-of-system-java.patch
@@ -0,0 +1,17 @@
+This was dropped for some reason in 6951c37cecd05979b232a39e5c10e6346a0f74ef
+allows using /usr/bin/java instead of a downloaded one (that doesn't work on musl)
+--
+--- a/third_party/closure_compiler/compiler.py 2021-05-20 04:17:53.000000000 +0200
++++ b/third_party/closure_compiler/compiler.py 2021-05-20 04:17:53.000000000 +0200
+@@ -13,8 +13,9 @@
+
+
+ _CURRENT_DIR = os.path.join(os.path.dirname(__file__))
+-_JAVA_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java")
+-assert os.path.isfile(_JAVA_PATH), "java only allowed in android builds"
++_JAVA_BIN = "java"
++_JDK_PATH = os.path.join(_CURRENT_DIR, "..", "jdk", "current", "bin", "java")
++_JAVA_PATH = _JDK_PATH if os.path.isfile(_JDK_PATH) else _JAVA_BIN
+
+ class Compiler(object):
+ """Runs the Closure compiler on given source files to typecheck them
diff --git a/testing/electron/compiler.patch b/testing/electron/compiler.patch
new file mode 100644
index 00000000000..2541d19992b
--- /dev/null
+++ b/testing/electron/compiler.patch
@@ -0,0 +1,123 @@
+--- ./build/config/compiler/BUILD.gn.orig
++++ ./build/config/compiler/BUILD.gn
+@@ -616,24 +618,6 @@
+ }
+ }
+
+- # TODO(crbug.com/1488374): This causes binary size growth and potentially
+- # other problems.
+- # TODO(crbug.com/1491036): 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/1235145): Investigate why/if this should be needed.
+ if (is_win) {
+ cflags += [ "/clang:-ffp-contract=off" ]
+@@ -1011,17 +998,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 +1151,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 +1166,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" ]
+--- ./build/config/rust.gni.orig
++++ ./build/config/rust.gni
+@@ -186,11 +186,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"
+@@ -199,13 +199,13 @@
+ }
+ 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 {
+ # 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
+ }
diff --git a/testing/electron/default.conf b/testing/electron/default.conf
new file mode 100644
index 00000000000..41f3f03f144
--- /dev/null
+++ b/testing/electron/default.conf
@@ -0,0 +1,9 @@
+# Default settings for electron. This file is sourced by /bin/sh from
+# the electron launcher.
+
+# Options to pass to electron.
+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}"
diff --git a/testing/electron/disable-dns_config_service.patch b/testing/electron/disable-dns_config_service.patch
new file mode 100644
index 00000000000..a72e1c47c7e
--- /dev/null
+++ b/testing/electron/disable-dns_config_service.patch
@@ -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 += [
diff --git a/testing/electron/disable-failing-tests.patch b/testing/electron/disable-failing-tests.patch
new file mode 100644
index 00000000000..2ee8f2be7bf
--- /dev/null
+++ b/testing/electron/disable-failing-tests.patch
@@ -0,0 +1,361 @@
+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/debug/stack_trace_unittest.cc
++++ b/base/debug/stack_trace_unittest.cc
+@@ -345,6 +345,7 @@
+ // sometimes we read fp / pc from the place that previously held
+ // uninitialized value.
+ // TODO(crbug.com/1132511): Enable this test on Fuchsia.
++#if 0
+ #if defined(MEMORY_SANITIZER) || BUILDFLAG(IS_FUCHSIA)
+ #define MAYBE_TraceStackFramePointersFromBuffer \
+ DISABLED_TraceStackFramePointersFromBuffer
+@@ -357,6 +358,7 @@
+ const void* frames[kDepth];
+ ExpectStackFramePointers<kDepth>(frames, kDepth, /*copy_stack=*/true);
+ }
++#endif
+
+ #if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_APPLE)
+ #define MAYBE_StackEnd StackEnd
+--- 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
+
diff --git a/testing/electron/electron-launcher.sh b/testing/electron/electron-launcher.sh
new file mode 100644
index 00000000000..546d4ccb1c4
--- /dev/null
+++ b/testing/electron/electron-launcher.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# Allow the user to override command-line flags
+# This is based on Debian's chromium-browser package, and is intended
+# to be consistent with Debian.
+for f in /etc/electron/*.conf; do
+ [ -f ${f} ] && . "${f}"
+done
+
+# Prefer user defined ELECTRON_USER_FLAGS (from env) over system
+# default ELECTRON_FLAGS (from /etc/electron/default.conf).
+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}
diff --git a/testing/electron/electron.desktop b/testing/electron/electron.desktop
new file mode 100644
index 00000000000..a3cc6bbe05e
--- /dev/null
+++ b/testing/electron/electron.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=electron21
+Icon=electron
+Exec=electron %u
+Categories=Development;GTK;
+StartupNotify=true
+StartupWMClass=electron
diff --git a/testing/electron/fc-cache-version.patch b/testing/electron/fc-cache-version.patch
new file mode 100644
index 00000000000..3b768978a43
--- /dev/null
+++ b/testing/electron/fc-cache-version.patch
@@ -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;
+ }
diff --git a/testing/electron/fix-missing-cstdint-include-musl.patch b/testing/electron/fix-missing-cstdint-include-musl.patch
new file mode 100644
index 00000000000..00f16afb736
--- /dev/null
+++ b/testing/electron/fix-missing-cstdint-include-musl.patch
@@ -0,0 +1,13 @@
+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"
diff --git a/testing/electron/fix-opus.patch b/testing/electron/fix-opus.patch
new file mode 100644
index 00000000000..8841a32d728
--- /dev/null
+++ b/testing/electron/fix-opus.patch
@@ -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";
+
diff --git a/testing/electron/fstatat-32bit.patch b/testing/electron/fstatat-32bit.patch
new file mode 100644
index 00000000000..1627ffa7e64
--- /dev/null
+++ b/testing/electron/fstatat-32bit.patch
@@ -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
diff --git a/testing/electron/gdbinit.patch b/testing/electron/gdbinit.patch
new file mode 100644
index 00000000000..5958631ec6b
--- /dev/null
+++ b/testing/electron/gdbinit.patch
@@ -0,0 +1,22 @@
+aports is a git tree so these git commands get the wrong directory
+--- a/tools/gdb/gdbinit
++++ b/tools/gdb/gdbinit
+@@ -50,17 +50,7 @@
+
+ def set_src_dir(compile_dir):
+ global src_dir
+- git = subprocess.Popen(
+- ['git', '-C', compile_dir, 'rev-parse', '--show-toplevel'],
+- stdout=subprocess.PIPE,
+- stderr=subprocess.PIPE)
+- src_dir, _ = git.communicate()
+- if git.returncode:
+- return
+- if isinstance(src_dir, str):
+- src_dir = src_dir.rstrip()
+- else:
+- src_dir = src_dir.decode('utf-8').rstrip()
++ src_dir = os.path.abspath(os.getcwd())
+
+ load_libcxx_pretty_printers(src_dir)
+
diff --git a/testing/electron/generic-sensor-include.patch b/testing/electron/generic-sensor-include.patch
new file mode 100644
index 00000000000..e8e2563b3cc
--- /dev/null
+++ b/testing/electron/generic-sensor-include.patch
@@ -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 {
diff --git a/testing/electron/icon.patch b/testing/electron/icon.patch
new file mode 100644
index 00000000000..101b60ac9cb
--- /dev/null
+++ b/testing/electron/icon.patch
@@ -0,0 +1,21 @@
+--- a/electron/default_app/default_app.ts
++++ b/electron/default_app/default_app.ts
+@@ -61,7 +61,7 @@
+ };
+
+ if (process.platform === 'linux') {
+- 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);
+--- a/electron/filenames.gni
++++ b/electron/filenames.gni
+@@ -6,7 +6,6 @@
+ ]
+
+ default_app_static_sources = [
+- "default_app/icon.png",
+ "default_app/index.html",
+ "default_app/package.json",
+ "default_app/styles.css",
diff --git a/testing/electron/import-version.patch b/testing/electron/import-version.patch
new file mode 100644
index 00000000000..d275038b27a
--- /dev/null
+++ b/testing/electron/import-version.patch
@@ -0,0 +1,15 @@
+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"
diff --git a/testing/electron/libstdc++13.patch b/testing/electron/libstdc++13.patch
new file mode 100644
index 00000000000..b04fa3551ba
--- /dev/null
+++ b/testing/electron/libstdc++13.patch
@@ -0,0 +1,279 @@
+missing libstdc++13 includes
+--
+--- a/third_party/ruy/src/ruy/profiler/instrumentation.h
++++ b/third_party/ruy/src/ruy/profiler/instrumentation.h
+@@ -19,6 +19,7 @@
+ #ifdef RUY_PROFILER
+ #include <cstdio>
+ #include <mutex>
++#include <string>
+ #include <vector>
+ #endif
+
+--- a/third_party/openscreen/src/platform/base/error.h
++++ b/third_party/openscreen/src/platform/base/error.h
+@@ -6,6 +6,7 @@
+ #define PLATFORM_BASE_ERROR_H_
+
+ #include <cassert>
++#include <cstdint>
+ #include <ostream>
+ #include <string>
+ #include <utility>
+--- a/ui/base/prediction/kalman_filter.h
++++ b/ui/base/prediction/kalman_filter.h
+@@ -8,6 +8,8 @@
+ #include "base/component_export.h"
+ #include "ui/gfx/geometry/matrix3_f.h"
+
++#include <cstdint>
++
+ namespace ui {
+
+ // This Kalman filter is used to predict state in one axles.
+--- a/ui/events/types/scroll_types.h
++++ b/ui/events/types/scroll_types.h
+@@ -5,6 +5,8 @@
+ #ifndef UI_EVENTS_TYPES_SCROLL_TYPES_H_
+ #define UI_EVENTS_TYPES_SCROLL_TYPES_H_
+
++#include <cstdint>
++
+ namespace ui {
+
+ enum class ScrollGranularity : uint8_t {
+--- a/third_party/webrtc/rtc_base/system/file_wrapper.h
++++ b/third_party/webrtc/rtc_base/system/file_wrapper.h
+@@ -14,6 +14,7 @@
+ #include <stddef.h>
+ #include <stdio.h>
+
++#include <cstdint>
+ #include <string>
+
+ #include "absl/strings/string_view.h"
+--- a/third_party/pdfium/constants/annotation_flags.h
++++ b/third_party/pdfium/constants/annotation_flags.h
+@@ -5,6 +5,8 @@
+ #ifndef CONSTANTS_ANNOTATION_FLAGS_H_
+ #define CONSTANTS_ANNOTATION_FLAGS_H_
+
++#include <cstdint>
++
+ namespace pdfium {
+ namespace annotation_flags {
+
+--- a/third_party/s2cellid/src/s2/util/math/mathutil.h
++++ b/third_party/s2cellid/src/s2/util/math/mathutil.h
+@@ -21,6 +21,7 @@
+ #ifndef S2_UTIL_MATH_MATHUTIL_H_
+ #define S2_UTIL_MATH_MATHUTIL_H_
+
++#include <cstdint>
+ #include <type_traits>
+
+ class MathUtil {
+--- a/third_party/s2cellid/src/s2/s1angle.h
++++ b/third_party/s2cellid/src/s2/s1angle.h
+@@ -24,6 +24,7 @@
+ #define S2_S1ANGLE_H_
+
+ #include <math.h>
++#include <cstdint>
+ #include <limits>
+ #include <ostream>
+ #include <type_traits>
+--- a/third_party/maldoca/src/maldoca/ole/header.h
++++ b/third_party/maldoca/src/maldoca/ole/header.h
+@@ -45,6 +45,8 @@
+
+ #include "absl/strings/string_view.h"
+
++#include <cstdint>
++
+ namespace maldoca {
+
+ class OLEHeader {
+--- a/components/password_manager/core/browser/generation/password_generator.h
++++ b/components/password_manager/core/browser/generation/password_generator.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_GENERATION_PASSWORD_GENERATOR_H_
+ #define COMPONENTS_PASSWORD_MANAGER_CORE_BROWSER_GENERATION_PASSWORD_GENERATOR_H_
+
++#include <cstdint>
+ #include <string>
+
+
+--- a/base/debug/profiler.h
++++ b/base/debug/profiler.h
+@@ -7,6 +7,7 @@
+
+ #include <stddef.h>
+
++#include <cstdint>
+ #include <string>
+
+ #include "base/base_export.h"
+--- a/components/dom_distiller/core/url_utils.h
++++ b/components/dom_distiller/core/url_utils.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_DOM_DISTILLER_CORE_URL_UTILS_H_
+ #define COMPONENTS_DOM_DISTILLER_CORE_URL_UTILS_H_
+
++#include <cstdint>
+ #include <string>
+
+ #include "base/strings/string_piece_forward.h"
+--- a/components/feature_engagement/internal/event_storage_validator.h
++++ b/components/feature_engagement/internal/event_storage_validator.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EVENT_STORAGE_VALIDATOR_H_
+ #define COMPONENTS_FEATURE_ENGAGEMENT_INTERNAL_EVENT_STORAGE_VALIDATOR_H_
+
++#include <cstdint>
+ #include <string>
+
+ namespace feature_engagement {
+--- a/chrome/test/chromedriver/chrome/web_view_impl.cc
++++ b/chrome/test/chromedriver/chrome/web_view_impl.cc
+@@ -8,6 +8,7 @@
+ #include <algorithm>
+ #include <memory>
+ #include <queue>
++#include <string>
+ #include <utility>
+ #include <vector>
+
+--- a/cc/trees/target_property.cc
++++ b/cc/trees/target_property.cc
+@@ -2,6 +2,8 @@
+ // Use of this source code is governed by a BSD-style license that can be
+ // found in the LICENSE file.
+
++#include <cstdint>
++
+ #include "cc/trees/target_property.h"
+
+ #include "ui/gfx/animation/keyframe/target_property.h"
+--- a/gpu/config/gpu_feature_info.h
++++ b/gpu/config/gpu_feature_info.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_CONFIG_GPU_FEATURE_INFO_H_
+ #define GPU_CONFIG_GPU_FEATURE_INFO_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/gpu/config/gpu_driver_bug_workarounds.h
++++ b/gpu/config/gpu_driver_bug_workarounds.h
+@@ -5,6 +5,7 @@
+ #ifndef GPU_CONFIG_GPU_DRIVER_BUG_WORKAROUNDS_H_
+ #define GPU_CONFIG_GPU_DRIVER_BUG_WORKAROUNDS_H_
+
++#include <cstdint>
+ #include <vector>
+
+ #include "build/build_config.h"
+--- a/third_party/blink/public/common/page_state/page_state.h
++++ b/third_party/blink/public/common/page_state/page_state.h
+@@ -5,6 +5,7 @@
+ #ifndef THIRD_PARTY_BLINK_PUBLIC_COMMON_PAGE_STATE_PAGE_STATE_H_
+ #define THIRD_PARTY_BLINK_PUBLIC_COMMON_PAGE_STATE_PAGE_STATE_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/pdf/document_attachment_info.h
++++ b/pdf/document_attachment_info.h
+@@ -5,6 +5,7 @@
+ #ifndef PDF_DOCUMENT_ATTACHMENT_INFO_H_
+ #define PDF_DOCUMENT_ATTACHMENT_INFO_H_
+
++#include <cstdint>
+ #include <string>
+
+
+--- a/components/payments/content/utility/fingerprint_parser.h
++++ b/components/payments/content/utility/fingerprint_parser.h
+@@ -7,6 +7,7 @@
+
+ #include <stddef.h>
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/media/base/video_transformation.h
++++ b/media/base/video_transformation.h
+@@ -5,6 +5,7 @@
+ #ifndef MEDIA_BASE_VIDEO_TRANSFORMATION_H_
+ #define MEDIA_BASE_VIDEO_TRANSFORMATION_H_
+
++#include <cstdint>
+ #include <string>
+
+ #include "base/numerics/math_constants.h"
+--- a/components/omnibox/browser/on_device_head_model.h
++++ b/components/omnibox/browser/on_device_head_model.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_MODEL_H_
+ #define COMPONENTS_OMNIBOX_BROWSER_ON_DEVICE_HEAD_MODEL_H_
+
++#include <cstdint>
+ #include <string>
+ #include <utility>
+ #include <vector>
+--- a/components/autofill/core/browser/autofill_ablation_study.h
++++ b/components/autofill/core/browser/autofill_ablation_study.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_ABLATION_STUDY_H_
+ #define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_ABLATION_STUDY_H_
+
++#include <cstdint>
+ #include <string>
+
+ class GURL;
+--- a/components/autofill/core/browser/strike_databases/strike_database_base.h
++++ b/components/autofill/core/browser/strike_databases/strike_database_base.h
+@@ -5,6 +5,7 @@
+ #ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_STRIKE_DATABASES_STRIKE_DATABASE_BASE_H_
+ #define COMPONENTS_AUTOFILL_CORE_BROWSER_STRIKE_DATABASES_STRIKE_DATABASE_BASE_H_
+
++#include <cstdint>
+ #include <map>
+ #include <string>
+ #include <vector>
+--- a/chrome/browser/resource_coordinator/decision_details.h
++++ b/chrome/browser/resource_coordinator/decision_details.h
+@@ -5,6 +5,7 @@
+ #ifndef CHROME_BROWSER_RESOURCE_COORDINATOR_DECISION_DETAILS_H_
+ #define CHROME_BROWSER_RESOURCE_COORDINATOR_DECISION_DETAILS_H_
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+--- a/net/third_party/quiche/src/quiche/quic/core/qpack/qpack_stream_sender_delegate.h
++++ b/net/third_party/quiche/src/quiche/quic/core/qpack/qpack_stream_sender_delegate.h
+@@ -8,6 +8,8 @@
+ #include "absl/strings/string_view.h"
+ #include "quiche/quic/platform/api/quic_export.h"
+
++#include <cstdint>
++
+ namespace quic {
+
+ // This interface writes encoder/decoder data to peer.
+--- a/third_party/perfetto/include/perfetto/base/export.h
++++ b/third_party/perfetto/include/perfetto/base/export.h
+@@ -17,6 +17,8 @@
+ #ifndef INCLUDE_PERFETTO_BASE_EXPORT_H_
+ #define INCLUDE_PERFETTO_BASE_EXPORT_H_
+
++#include <cstdint>
++
+ #include "perfetto/base/build_config.h"
+ #include "perfetto/public/abi/export.h"
+
diff --git a/testing/electron/mman.patch b/testing/electron/mman.patch
new file mode 100644
index 00000000000..d15605a47ff
--- /dev/null
+++ b/testing/electron/mman.patch
@@ -0,0 +1,13 @@
+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/src/partition_alloc/partition_alloc_unittest.cc
++++ b/base/allocator/partition_allocator/src/partition_alloc/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)
diff --git a/testing/electron/musl-auxv.patch b/testing/electron/musl-auxv.patch
new file mode 100644
index 00000000000..ce348cc4e23
--- /dev/null
+++ b/testing/electron/musl-auxv.patch
@@ -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
diff --git a/testing/electron/musl-sandbox.patch b/testing/electron/musl-sandbox.patch
new file mode 100644
index 00000000000..52c3b210503
--- /dev/null
+++ b/testing/electron/musl-sandbox.patch
@@ -0,0 +1,124 @@
+musl uses different syscalls from glibc for some functions, so the sandbox has
+to account for that
+--
+diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+index ff5a1c0..da56b9b 100644
+--- a/sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
++++ ./sandbox/linux/seccomp-bpf-helpers/syscall_parameters_restrictions.cc
+@@ -139,21 +139,11 @@ namespace sandbox {
+ // present (as in newer versions of posix_spawn).
+ ResultExpr RestrictCloneToThreadsAndEPERMFork() {
+ const Arg<unsigned long> flags(0);
+-
+- // TODO(mdempsky): Extend DSL to support (flags & ~mask1) == mask2.
+- const uint64_t kAndroidCloneMask = CLONE_VM | CLONE_FS | CLONE_FILES |
+- CLONE_SIGHAND | CLONE_THREAD |
+- CLONE_SYSVSEM;
+- const uint64_t kObsoleteAndroidCloneMask = kAndroidCloneMask | CLONE_DETACHED;
+-
+- const uint64_t kGlibcPthreadFlags =
+- CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD |
+- CLONE_SYSVSEM | CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID;
+- const BoolExpr glibc_test = flags == kGlibcPthreadFlags;
+-
+- const BoolExpr android_test =
+- AnyOf(flags == kAndroidCloneMask, flags == kObsoleteAndroidCloneMask,
+- flags == kGlibcPthreadFlags);
++ const int required = CLONE_VM | CLONE_FS | CLONE_FILES | CLONE_SIGHAND |
++ CLONE_THREAD | CLONE_SYSVSEM;
++ const int safe = CLONE_SETTLS | CLONE_PARENT_SETTID | CLONE_CHILD_CLEARTID |
++ CLONE_DETACHED;
++ const BoolExpr thread_clone_ok = (flags&~safe)==required;
+
+ // The following two flags are the two important flags in any vfork-emulating
+ // clone call. EPERM any clone call that contains both of them.
+@@ -163,7 +153,7 @@ ResultExpr RestrictCloneToThreadsAndEPERMFork() {
+ AnyOf((flags & (CLONE_VM | CLONE_THREAD)) == 0,
+ (flags & kImportantCloneVforkFlags) == kImportantCloneVforkFlags);
+
+- return If(IsAndroid() ? android_test : glibc_test, Allow())
++ return If(thread_clone_ok, Allow())
+ .ElseIf(is_fork_or_clone_vfork, Error(EPERM))
+ .Else(CrashSIGSYSClone());
+ }
+diff --git a/sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc ./sandbox/linux/seccomp-bpf-helpers/syscall_sets.cc
+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) {
+ #if defined(__i386__)
+ case __NR_waitpid:
+ #endif
++ case __NR_set_tid_address:
+ return true;
+ case __NR_clone: // Should be parameter-restricted.
+ case __NR_setns: // Privileged.
+@@ -404,7 +405,6 @@ bool SyscallSets::IsAllowedProcessStartOrDeath(int sysno) {
+ #if defined(__i386__) || defined(__x86_64__) || defined(__mips__)
+ case __NR_set_thread_area:
+ #endif
+- case __NR_set_tid_address:
+ case __NR_unshare:
+ #if !defined(__mips__) && !defined(__aarch64__)
+ case __NR_vfork:
+@@ -514,6 +514,8 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
+ case __NR_mlock:
+ case __NR_munlock:
+ case __NR_munmap:
++ case __NR_mremap:
++ case __NR_membarrier:
+ return true;
+ case __NR_madvise:
+ case __NR_mincore:
+@@ -531,7 +533,6 @@ bool SyscallSets::IsAllowedAddressSpaceAccess(int sysno) {
+ case __NR_modify_ldt:
+ #endif
+ case __NR_mprotect:
+- case __NR_mremap:
+ case __NR_msync:
+ case __NR_munlockall:
+ case __NR_readahead:
+diff --git a/sandbox/linux/system_headers/linux_syscalls.h ./sandbox/linux/system_headers/linux_syscalls.h
+index 2b78a0c..b6fedb5 100644
+--- a/sandbox/linux/system_headers/linux_syscalls.h
++++ b/sandbox/linux/system_headers/linux_syscalls.h
+@@ -10,6 +10,7 @@
+ #define SANDBOX_LINUX_SYSTEM_HEADERS_LINUX_SYSCALLS_H_
+
+ #include "build/build_config.h"
++#include <sys/syscall.h>
+
+ #if defined(__x86_64__)
+ #include "sandbox/linux/system_headers/x86_64_linux_syscalls.h"
+--- a/sandbox/policy/linux/bpf_renderer_policy_linux.cc
++++ b/sandbox/policy/linux/bpf_renderer_policy_linux.cc
+@@ -94,6 +94,9 @@
+ case __NR_pwrite64:
+ case __NR_sched_get_priority_max:
+ case __NR_sched_get_priority_min:
++ case __NR_sched_getparam:
++ case __NR_sched_getscheduler:
++ case __NR_sched_setscheduler:
+ case __NR_sysinfo:
+ case __NR_times:
+ case __NR_uname:
+--- a/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
++++ b/sandbox/linux/seccomp-bpf-helpers/baseline_policy.cc
+@@ -225,10 +225,15 @@
+ if (sysno == __NR_getpriority || sysno ==__NR_setpriority)
+ return RestrictGetSetpriority(current_pid);
+
++ // XXX: hacks for musl sandbox, calls needed?
++ if (sysno == __NR_sched_getparam || sysno == __NR_sched_getscheduler ||
++ sysno == __NR_sched_setscheduler) {
++ return Allow();
++ }
++
+ // The scheduling syscalls are used in threading libraries and also heavily in
+ // abseil. See for example https://crbug.com/1370394.
+- if (sysno == __NR_sched_getaffinity || sysno == __NR_sched_getparam ||
+- sysno == __NR_sched_getscheduler || sysno == __NR_sched_setscheduler) {
++ if (sysno == __NR_sched_getaffinity) {
+ return RestrictSchedTarget(current_pid, sysno);
+ }
+
diff --git a/testing/electron/musl-tid-caching.patch b/testing/electron/musl-tid-caching.patch
new file mode 100644
index 00000000000..498ce827317
--- /dev/null
+++ b/testing/electron/musl-tid-caching.patch
@@ -0,0 +1,85 @@
+the sandbox caching of thread id's only works with glibc
+see: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/32356
+see: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13579
+--
+--- a/sandbox/linux/services/namespace_sandbox.cc
++++ b/sandbox/linux/services/namespace_sandbox.cc
+@@ -209,6 +209,70 @@
+ return base::LaunchProcess(argv, launch_options_copy);
+ }
+
++#if defined(__aarch64__)
++#define TLS_ABOVE_TP
++#endif
++
++struct musl_pthread
++{
++ /* Part 1 -- these fields may be external or
++ * internal (accessed via asm) ABI. Do not change. */
++ struct pthread *self;
++#ifndef TLS_ABOVE_TP
++ uintptr_t *dtv;
++#endif
++ struct pthread *prev, *next; /* non-ABI */
++ uintptr_t sysinfo;
++#ifndef TLS_ABOVE_TP
++#ifdef CANARY_PAD
++ uintptr_t canary_pad;
++#endif
++ uintptr_t canary;
++#endif
++
++/* Part 2 -- implementation details, non-ABI. */
++ int tid;
++ int errno_val;
++ volatile int detach_state;
++ volatile int cancel;
++ volatile unsigned char canceldisable, cancelasync;
++ unsigned char tsd_used:1;
++ unsigned char dlerror_flag:1;
++ unsigned char *map_base;
++ size_t map_size;
++ void *stack;
++ size_t stack_size;
++ size_t guard_size;
++ void *result;
++ struct __ptcb *cancelbuf;
++ void **tsd;
++ struct {
++ volatile void *volatile head;
++ long off;
++ volatile void *volatile pending;
++ } robust_list;
++ int h_errno_val;
++ volatile int timer_id;
++ locale_t locale;
++ volatile int killlock[1];
++ char *dlerror_buf;
++ void *stdio_locks;
++
++ /* Part 3 -- the positions of these fields relative to
++ * the end of the structure is external and internal ABI. */
++#ifdef TLS_ABOVE_TP
++ uintptr_t canary;
++ uintptr_t *dtv;
++#endif
++};
++
++void MaybeUpdateMuslTidCache()
++{
++ pid_t real_tid = sys_gettid();
++ pid_t* cached_tid_location = &reinterpret_cast<struct musl_pthread*>(pthread_self())->tid;
++ *cached_tid_location = real_tid;
++}
++
+ // static
+ pid_t NamespaceSandbox::ForkInNewPidNamespace(bool drop_capabilities_in_child) {
+ const pid_t pid =
+@@ -226,6 +290,7 @@
+ #if defined(LIBC_GLIBC)
+ MaybeUpdateGlibcTidCache();
+ #endif
++ MaybeUpdateMuslTidCache();
+ return 0;
+ }
+
diff --git a/testing/electron/musl-v8-monotonic-pthread-cont_timedwait.patch b/testing/electron/musl-v8-monotonic-pthread-cont_timedwait.patch
new file mode 100644
index 00000000000..3a99ee54309
--- /dev/null
+++ b/testing/electron/musl-v8-monotonic-pthread-cont_timedwait.patch
@@ -0,0 +1,23 @@
+use monotonic clock for pthread_cond_timedwait with musl too, since it supports
+it
+--
+--- a/v8/src/base/platform/condition-variable.cc
++++ b/v8/src/base/platform/condition-variable.cc
+@@ -16,7 +16,7 @@
+
+ ConditionVariable::ConditionVariable() {
+ #if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
+- (V8_OS_LINUX && V8_LIBC_GLIBC))
++ V8_OS_LINUX)
+ // On Free/Net/OpenBSD and Linux with glibc we can change the time
+ // source for pthread_cond_timedwait() to use the monotonic clock.
+ pthread_condattr_t attr;
+@@ -92,7 +92,7 @@
+ &native_handle_, &mutex->native_handle(), &ts);
+ #else
+ #if (V8_OS_FREEBSD || V8_OS_NETBSD || V8_OS_OPENBSD || \
+- (V8_OS_LINUX && V8_LIBC_GLIBC))
++ V8_OS_LINUX)
+ // On Free/Net/OpenBSD and Linux with glibc we can change the time
+ // source for pthread_cond_timedwait() to use the monotonic clock.
+ result = clock_gettime(CLOCK_MONOTONIC, &ts);
diff --git a/testing/electron/no-execinfo.patch b/testing/electron/no-execinfo.patch
new file mode 100644
index 00000000000..4b578976a3e
--- /dev/null
+++ b/testing/electron/no-execinfo.patch
@@ -0,0 +1,69 @@
+musl does not have execinfo.h, and hence no implementation of
+. backtrace()
+. backtrace_symbols()
+for discussion about this, see https://www.openwall.com/lists/musl/2021/07/16/1
+--
+--- a/v8/src/codegen/external-reference-table.cc
++++ b/v8/src/codegen/external-reference-table.cc
+@@ -11,7 +11,9 @@
+
+ #if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID)
+ #define SYMBOLIZE_FUNCTION
++#if defined(__GLIBC__)
+ #include <execinfo.h>
++#endif
+
+ #include <vector>
+
+@@ -96,7 +98,7 @@
+ }
+
+ const char* ExternalReferenceTable::ResolveSymbol(void* address) {
+-#ifdef SYMBOLIZE_FUNCTION
++#if defined(SYMBOLIZE_FUNCTION) && defined(__GLIBC__)
+ char** names = backtrace_symbols(&address, 1);
+ const char* name = names[0];
+ // The array of names is malloc'ed. However, each name string is static
+--- a/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h
++++ b/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h
+@@ -58,7 +58,7 @@
+ #define HAVE_ERRNO_H 1
+
+ /* Define to 1 if you have the <execinfo.h> header file. */
+-#define HAVE_EXECINFO_H 1
++/* #define HAVE_EXECINFO_H 1 */
+
+ /* Define to 1 if you have the <fcntl.h> header file. */
+ #define HAVE_FCNTL_H 1
+--- a/base/debug/stack_trace.cc
++++ b/base/debug/stack_trace.cc
+@@ -251,7 +253,9 @@
+ }
+
+ 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::stringstream stream;
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(_AIX)
+ OutputToStreamWithPrefix(&stream, prefix_string);
+ #endif
+ return stream.str();
+--- a/base/debug/stack_trace_unittest.cc
++++ b/base/debug/stack_trace_unittest.cc
+@@ -33,7 +33,7 @@
+ typedef testing::Test StackTraceTest;
+ #endif
+
+-#if !defined(__UCLIBC__) && !defined(_AIX)
++#if !defined(__UCLIBC__) && !defined(_AIX) && defined(__GLIBC__)
+ // StackTrace::OutputToStream() is not implemented under uclibc, nor AIX.
+ // See https://crbug.com/706728
+
diff --git a/testing/electron/no-mallinfo.patch b/testing/electron/no-mallinfo.patch
new file mode 100644
index 00000000000..37abb3fe062
--- /dev/null
+++ b/testing/electron/no-mallinfo.patch
@@ -0,0 +1,124 @@
+musl does not implement mallinfo()/mallinfo2()
+(or rather, malloc-ng, musl's allocator, doesn't)
+--
+--- a/base/trace_event/malloc_dump_provider.cc
++++ b/base/trace_event/malloc_dump_provider.cc
+@@ -185,7 +185,6 @@
+ #define MALLINFO2_FOUND_IN_LIBC
+ struct mallinfo2 info = mallinfo2();
+ #endif
+-#endif // defined(__GLIBC__) && defined(__GLIBC_PREREQ)
+ #if !defined(MALLINFO2_FOUND_IN_LIBC)
+ struct mallinfo info = mallinfo();
+ #endif
+@@ -205,6 +204,7 @@
+ sys_alloc_dump->AddScalar(MemoryAllocatorDump::kNameSize,
+ MemoryAllocatorDump::kUnitsBytes, info.uordblks);
+ }
++#endif // defined(__GLIBC__) && defined(__GLIBC_PREREQ)
+ }
+ #endif
+
+@@ -339,7 +340,7 @@
+ &allocated_objects_count);
+ #elif BUILDFLAG(IS_FUCHSIA)
+ // TODO(fuchsia): Port, see https://crbug.com/706592.
+-#else
++#elif defined(__GLIBC__)
+ ReportMallinfoStats(/*pmd=*/nullptr, &total_virtual_size, &resident_size,
+ &allocated_objects_size, &allocated_objects_count);
+ #endif
+--- a/base/process/process_metrics_posix.cc
++++ b/base/process/process_metrics_posix.cc
+@@ -105,7 +105,7 @@
+
+ #endif // !BUILDFLAG(IS_FUCHSIA)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#if (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+ namespace {
+
+ size_t GetMallocUsageMallinfo() {
+@@ -123,7 +123,7 @@
+ }
+
+ } // namespace
+-#endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) ||
++#endif // (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) ||
+ // BUILDFLAG(IS_ANDROID)
+
+ size_t ProcessMetrics::GetMallocUsage() {
+@@ -131,9 +131,9 @@
+ malloc_statistics_t stats = {0};
+ malloc_zone_statistics(nullptr, &stats);
+ return stats.size_in_use;
+-#elif BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
++#elif (BUILDFLAG(IS_LINUX) && defined(__GLIBC__)) || BUILDFLAG(IS_CHROMEOS) || BUILDFLAG(IS_ANDROID)
+ return GetMallocUsageMallinfo();
+-#elif BUILDFLAG(IS_FUCHSIA)
++#else
+ // TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
+ return 0;
+ #endif
+--- ./third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc.orig
++++ ./third_party/tflite/src/tensorflow/lite/profiling/memory_info.cc
+@@ -35,7 +35,7 @@
+
+ MemoryUsage GetMemoryUsage() {
+ MemoryUsage result;
+-#ifdef __linux__
++#if defined(__linux__) && defined(__GLIBC__)
+ rusage res;
+ if (getrusage(RUSAGE_SELF, &res) == 0) {
+ result.max_rss_kb = res.ru_maxrss;
+--- ./third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc
++++ ./third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig
+@@ -86,11 +86,11 @@
+ }
+
+ size_t Process::GetMallocUsage() {
+-#if defined(HAVE_MALLINFO2)
++#if defined(HAVE_MALLINFO2) && defined(__GLIBC__)
+ struct mallinfo2 mi;
+ mi = ::mallinfo2();
+ return mi.uordblks;
+-#elif defined(HAVE_MALLINFO)
++#elif defined(HAVE_MALLINFO) && defined(__GLIBC__)
+ struct mallinfo mi;
+ mi = ::mallinfo();
+ return mi.uordblks;
+
+--- ./third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h.orig 2019-09-30 13:03:42.556880537 -0400
++++ ./third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h 2019-09-30 13:07:27.989821227 -0400
+@@ -122,7 +122,9 @@
+ /* #undef HAVE_MALLCTL */
+
+ /* Define to 1 if you have the `mallinfo' function. */
++#if defined(__GLIBC__)
+ #define HAVE_MALLINFO 1
++#endif
+
+ /* Define to 1 if you have the <malloc.h> header file. */
+ #define HAVE_MALLOC_H 1
+--- 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
+@@ -717,7 +717,7 @@
+
+ #endif // !BUILDFLAG(IS_APPLE) && !BUILDFLAG(IS_ANDROID)
+
+-#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
++#if 0
+ SHIM_ALWAYS_EXPORT struct mallinfo mallinfo(void) __THROW {
+ base::SimplePartitionStatsDumper allocator_dumper;
+ Allocator()->DumpStats("malloc", true, &allocator_dumper);
+--- 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
+@@ -24,7 +24,7 @@
+ #if 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)
+
+ NOINLINE void FreeForTest(void* data) {
+ free(data);
diff --git a/testing/electron/no-res-ninit-nclose.patch b/testing/electron/no-res-ninit-nclose.patch
new file mode 100644
index 00000000000..d74f6cd88c9
--- /dev/null
+++ b/testing/electron/no-res-ninit-nclose.patch
@@ -0,0 +1,32 @@
+similar to dns-resolver.patch, musl doesn't have res_ninit and so on
+--
+--- a/net/dns/public/scoped_res_state.cc
++++ b/net/dns/public/scoped_res_state.cc
+@@ -13,7 +13,7 @@
+ namespace net {
+
+ ScopedResState::ScopedResState() {
+-#if BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_FUCHSIA)
++#if BUILDFLAG(IS_OPENBSD) || BUILDFLAG(IS_FUCHSIA) || defined(_GNU_SOURCE)
+ // Note: res_ninit in glibc always returns 0 and sets RES_INIT.
+ // res_init behaves the same way.
+ memset(&_res, 0, sizeof(_res));
+@@ -25,16 +25,8 @@
+ }
+
+ ScopedResState::~ScopedResState() {
+-#if !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA)
+-
+- // Prefer res_ndestroy where available.
+-#if BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FREEBSD)
+- res_ndestroy(&res_);
+-#else
+- res_nclose(&res_);
+-#endif // BUILDFLAG(IS_APPLE) || BUILDFLAG(IS_FREEBSD)
+-
+-#endif // !BUILDFLAG(IS_OPENBSD) && !BUILDFLAG(IS_FUCHSIA)
++ // musl res_init() doesn't actually do anything
++ // no destruction is necessary as no memory has been allocated
+ }
+
+ bool ScopedResState::IsValid() const {
diff --git a/testing/electron/no-sandbox-settls.patch b/testing/electron/no-sandbox-settls.patch
new file mode 100644
index 00000000000..02b3b4c49c8
--- /dev/null
+++ b/testing/electron/no-sandbox-settls.patch
@@ -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
diff --git a/testing/electron/node-configure-distutils.patch b/testing/electron/node-configure-distutils.patch
new file mode 100644
index 00000000000..add7a169c2d
--- /dev/null
+++ b/testing/electron/node-configure-distutils.patch
@@ -0,0 +1,52 @@
+From 95534ad82f4e33f53fd50efe633d43f8da70cba6 Mon Sep 17 00:00:00 2001
+From: Luigi Pinca <luigipinca@gmail.com>
+Date: Wed, 8 Nov 2023 21:20:53 +0100
+Subject: [PATCH] build: fix build with Python 3.12
+
+Replace `distutils.version.StrictVersion` with
+`packaging.version.Version`.
+
+Refs: https://github.com/nodejs/node/pull/50209#issuecomment-1795852539
+PR-URL: https://github.com/nodejs/node/pull/50582
+Reviewed-By: Richard Lau <rlau@redhat.com>
+Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
+---
+ configure.py | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/third_party/electron_node/configure.py b/third_party/electron_node/configure.py
+index 33671a034290df..be95decd5668f2 100755
+--- a/third_party/electron_node/configure.py
++++ b/third_party/electron_node/configure.py
+@@ -14,8 +14,6 @@
+ import io
+ from pathlib import Path
+
+-from distutils.version import StrictVersion
+-
+ # If not run from node/, cd to node/.
+ os.chdir(Path(__file__).parent)
+
+@@ -30,6 +28,7 @@
+
+ sys.path.insert(0, str(tools_path / 'gyp' / 'pylib'))
+ from gyp.common import GetFlavor
++from packaging.version import Version
+
+ # imports in tools/configure.d
+ sys.path.insert(0, str(tools_path / 'configure.d'))
+@@ -1566,10 +1565,10 @@ def without_ssl_error(option):
+ # supported asm compiler for AVX2. See https://github.com/openssl/openssl/
+ # blob/OpenSSL_1_1_0-stable/crypto/modes/asm/aesni-gcm-x86_64.pl#L52-L69
+ openssl110_asm_supported = \
+- ('gas_version' in variables and StrictVersion(variables['gas_version']) >= StrictVersion('2.23')) or \
+- ('xcode_version' in variables and StrictVersion(variables['xcode_version']) >= StrictVersion('5.0')) or \
+- ('llvm_version' in variables and StrictVersion(variables['llvm_version']) >= StrictVersion('3.3')) or \
+- ('nasm_version' in variables and StrictVersion(variables['nasm_version']) >= StrictVersion('2.10'))
++ ('gas_version' in variables and Version(variables['gas_version']) >= Version('2.23')) or \
++ ('xcode_version' in variables and Version(variables['xcode_version']) >= Version('5.0')) or \
++ ('llvm_version' in variables and Version(variables['llvm_version']) >= Version('3.3')) or \
++ ('nasm_version' in variables and Version(variables['nasm_version']) >= Version('2.10'))
+
+ if is_x86 and not openssl110_asm_supported:
+ error('''Did not find a new enough assembler, install one or build with
diff --git a/testing/electron/node-gyp-distutils.patch b/testing/electron/node-gyp-distutils.patch
new file mode 100644
index 00000000000..80278b38812
--- /dev/null
+++ b/testing/electron/node-gyp-distutils.patch
@@ -0,0 +1,11 @@
+--- ./third_party/electron_node/tools/gyp/pylib/gyp/input.py.orig
++++ ./third_party/electron_node/tools/gyp/pylib/gyp/input.py
+@@ -16,7 +16,7 @@
+ import sys
+ import threading
+ import traceback
+-from distutils.version import StrictVersion
++from packaging.version import Version as StrictVersion
+ from gyp.common import GypError
+ from gyp.common import OrderedSet
+
diff --git a/testing/electron/partalloc-no-tagging-arm64.patch b/testing/electron/partalloc-no-tagging-arm64.patch
new file mode 100644
index 00000000000..e5c75251874
--- /dev/null
+++ b/testing/electron/partalloc-no-tagging-arm64.patch
@@ -0,0 +1,14 @@
+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,
diff --git a/testing/electron/perfetto-libstdc++.patch b/testing/electron/perfetto-libstdc++.patch
new file mode 100644
index 00000000000..31ff9d95bb5
--- /dev/null
+++ b/testing/electron/perfetto-libstdc++.patch
@@ -0,0 +1,20 @@
+--- a/third_party/perfetto/src/trace_processor/perfetto_sql/engine/created_function.cc
++++ b/third_party/perfetto/src/trace_processor/perfetto_sql/engine/created_function.cc
+@@ -107,7 +107,7 @@
+ // the destructors run correctly for non-trivial members of the
+ // union.
+ using Data =
+- std::variant<int64_t, double, OwnedString, OwnedBytes, nullptr_t>;
++ std::variant<int64_t, double, OwnedString, OwnedBytes, std::nullptr_t>;
+
+ StoredSqlValue(SqlValue value) {
+ switch (value.type) {
+@@ -132,7 +132,7 @@
+ }
+
+ SqlValue AsSqlValue() {
+- if (std::holds_alternative<nullptr_t>(data)) {
++ if (std::holds_alternative<std::nullptr_t>(data)) {
+ return SqlValue();
+ } else if (std::holds_alternative<int64_t>(data)) {
+ return SqlValue::Long(std::get<int64_t>(data));
diff --git a/testing/electron/pvalloc.patch b/testing/electron/pvalloc.patch
new file mode 100644
index 00000000000..1d874d6565b
--- /dev/null
+++ b/testing/electron/pvalloc.patch
@@ -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
+@@ -375,7 +375,7 @@
+ ASSERT_GE(aligned_allocs_intercepted_by_alignment[128], 1u);
+ ASSERT_GE(aligned_allocs_intercepted_by_size[53], 1u);
+
+-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && defined(__GLIBC__)
+ void* pvalloc_ptr = pvalloc(67);
+ ASSERT_NE(nullptr, pvalloc_ptr);
+ ASSERT_EQ(0u, reinterpret_cast<uintptr_t>(pvalloc_ptr) % kPageSize);
+@@ -414,7 +414,7 @@
+ free(memalign_ptr);
+ ASSERT_GE(frees_intercepted_by_addr[Hash(memalign_ptr)], 1u);
+
+-#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID)
++#if BUILDFLAG(IS_POSIX) && !BUILDFLAG(IS_ANDROID) && defined(__GLIBC__)
+ free(pvalloc_ptr);
+ ASSERT_GE(frees_intercepted_by_addr[Hash(pvalloc_ptr)], 1u);
+ #endif // BUILDFLAG(IS_POSIX) && !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({
diff --git a/testing/electron/python-jinja-3.10.patch b/testing/electron/python-jinja-3.10.patch
new file mode 100644
index 00000000000..d4571f19f06
--- /dev/null
+++ b/testing/electron/python-jinja-3.10.patch
@@ -0,0 +1,22 @@
+--- a/third_party/electron_node/tools/inspector_protocol/jinja2/runtime.py
++++ b/third_party/electron_node/tools/inspector_protocol/jinja2/runtime.py
+@@ -315,7 +315,7 @@ class Context(with_metaclass(ContextMeta
+
+ # register the context as mapping if possible
+ try:
+- from collections import Mapping
++ from collections.abc import Mapping
+ Mapping.register(Context)
+ except ImportError:
+ pass
+--- a/third_party/electron_node/tools/inspector_protocol/jinja2/sandbox.py
++++ b/third_party/electron_node/tools/inspector_protocol/jinja2/sandbox.py
+@@ -14,7 +14,7 @@
+ """
+ import types
+ import operator
+-from collections import Mapping
++from collections.abc import Mapping
+ from jinja2.environment import Environment
+ from jinja2.exceptions import SecurityError
+ from jinja2._compat import string_types, PY2
diff --git a/testing/electron/quiche-array.patch b/testing/electron/quiche-array.patch
new file mode 100644
index 00000000000..d016b38e6ec
--- /dev/null
+++ b/testing/electron/quiche-array.patch
@@ -0,0 +1,12 @@
+needed for push_back on array
+--
+--- a/net/third_party/quiche/src/quiche/common/quiche_endian.h
++++ b/net/third_party/quiche/src/quiche/common/quiche_endian.h
+@@ -6,6 +6,7 @@
+ #define QUICHE_COMMON_QUICHE_ENDIAN_H_
+
+ #include <algorithm>
++#include <array>
+ #include <cstdint>
+ #include <type_traits>
+
diff --git a/testing/electron/random-fixes.patch b/testing/electron/random-fixes.patch
new file mode 100644
index 00000000000..5bfdef58d74
--- /dev/null
+++ b/testing/electron/random-fixes.patch
@@ -0,0 +1,94 @@
+Patch-Source: https://gitlab.archlinux.org/archlinux/packaging/packages/chromium/-/blob/c073b0c20935d7eb452732e0f3b2860a96c3db21/random-build-fixes.patch
+--
+diff --git a/chrome/browser/download/bubble/download_bubble_update_service.cc b/chrome/browser/download/bubble/download_bubble_update_service.cc
+index 41b647f7b44..8940c6bb7fc 100644
+--- a/chrome/browser/download/bubble/download_bubble_update_service.cc
++++ b/chrome/browser/download/bubble/download_bubble_update_service.cc
+@@ -91,7 +91,7 @@ ItemSortKey GetSortKey(const Item& item) {
+ // Helper to get an iterator to the last element in the cache. The cache
+ // must not be empty.
+ template <typename Item>
+-SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
++typename SortedItems<Item>::const_iterator GetLastIter(const SortedItems<Item>& cache) {
+ CHECK(!cache.empty());
+ auto it = cache.end();
+ return std::prev(it);
+@@ -967,9 +967,9 @@ bool DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheImpl(
+ }
+
+ template <typename Id, typename Item>
+-SortedItems<Item>::iterator
++typename SortedItems<Item>::iterator
+ DownloadBubbleUpdateService::CacheManager::RemoveItemFromCacheByIter(
+- SortedItems<Item>::iterator iter,
++ typename SortedItems<Item>::iterator iter,
+ SortedItems<Item>& cache,
+ IterMap<Id, Item>& iter_map) {
+ CHECK(iter != cache.end());
+diff --git a/chrome/test/chromedriver/capabilities.cc b/chrome/test/chromedriver/capabilities.cc
+index c0708681ebd..98b8494d170 100644
+--- a/chrome/test/chromedriver/capabilities.cc
++++ b/chrome/test/chromedriver/capabilities.cc
+@@ -355,7 +355,7 @@ Status ParseMobileEmulation(const base::Value& option,
+ "'version' field of type string");
+ }
+
+- brands.emplace_back(*brand, *version);
++ brands.emplace_back(BrandVersion{*brand, *version});
+ }
+
+ client_hints.brands = std::move(brands);
+@@ -392,7 +392,7 @@ Status ParseMobileEmulation(const base::Value& option,
+ "a 'version' field of type string");
+ }
+
+- full_version_list.emplace_back(*brand, *version);
++ full_version_list.emplace_back(BrandVersion{*brand, *version});
+ }
+
+ client_hints.full_version_list = std::move(full_version_list);
+diff --git a/components/optimization_guide/core/tflite_model_executor.h b/components/optimization_guide/core/tflite_model_executor.h
+index c4f750f4684..b5635f4108b 100644
+--- a/components/optimization_guide/core/tflite_model_executor.h
++++ b/components/optimization_guide/core/tflite_model_executor.h
+@@ -189,7 +189,7 @@ class TFLiteModelExecutor : public ModelExecutor<OutputType, InputType> {
+ void SendForBatchExecution(
+ BatchExecutionCallback callback_on_complete,
+ base::TimeTicks start_time,
+- ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
++ typename ModelExecutor<OutputType, InputType>::ConstRefInputVector inputs)
+ override {
+ DCHECK(execution_task_runner_->RunsTasksInCurrentSequence());
+ DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+diff --git a/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc b/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
+index 2dc0b304092..a82f255090b 100644
+--- a/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
++++ b/third_party/blink/renderer/core/html/parser/html_document_parser_fastpath.cc
+@@ -169,7 +169,7 @@ class HTMLFastPathParser {
+ using Span = base::span<const Char>;
+ using USpan = base::span<const UChar>;
+ // 32 matches that used by HTMLToken::Attribute.
+- typedef std::conditional<std::is_same_v<Char, UChar>,
++ typedef typename std::conditional<std::is_same_v<Char, UChar>,
+ UCharLiteralBuffer<32>,
+ LCharLiteralBuffer<32>>::type LiteralBufferType;
+ typedef UCharLiteralBuffer<32> UCharLiteralBufferType;
+diff --git a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
+index f0b49139147..a308fb67982 100644
+--- a/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
++++ b/third_party/blink/renderer/modules/canvas/canvas2d/canvas_style.cc
+@@ -91,12 +91,12 @@ void CanvasStyle::ApplyToFlags(cc::PaintFlags& flags,
+ case kGradient:
+ GetCanvasGradient()->GetGradient()->ApplyToFlags(flags, SkMatrix::I(),
+ ImageDrawOptions());
+- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha));
++ flags.setColor(SkColor4f{0.0f, 0.0f, 0.0f, global_alpha});
+ break;
+ case kImagePattern:
+ GetCanvasPattern()->GetPattern()->ApplyToFlags(
+ flags, AffineTransformToSkMatrix(GetCanvasPattern()->GetTransform()));
+- flags.setColor(SkColor4f(0.0f, 0.0f, 0.0f, global_alpha));
++ flags.setColor(SkColor4f{0.0f, 0.0f, 0.0f, global_alpha});
+ break;
+ default:
+ NOTREACHED();
diff --git a/testing/electron/system-zstd.patch b/testing/electron/system-zstd.patch
new file mode 100644
index 00000000000..0fcd3efc3a0
--- /dev/null
+++ b/testing/electron/system-zstd.patch
@@ -0,0 +1,46 @@
+From ae3ae3711784865bdc38bf119a6182a7b8dae91c Mon Sep 17 00:00:00 2001
+From: Matt Jolly <Matt.Jolly@footclan.ninja>
+Date: Sun, 17 Sep 2023 16:51:42 +1000
+Subject: [PATCH] Add system-zstd
+
+--- a/build/linux/unbundle/replace_gn_files.py
++++ b/build/linux/unbundle/replace_gn_files.py
+@@ -74,6 +74,7 @@ REPLACEMENTS = {
+ #
+ 'woff2': 'third_party/woff2/BUILD.gn',
+ 'zlib': 'third_party/zlib/BUILD.gn',
++ 'zstd': 'third_party/zstd/BUILD.gn',
+ }
+
+
+--- /dev/null
++++ b/build/linux/unbundle/zstd.gn
+@@ -0,0 +1,25 @@
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++pkg_config("system_zstd") {
++ packages = [ "libzstd" ]
++}
++
++shim_headers("zstd_shim") {
++ root_path = "src/lib"
++ headers = [
++ "zdict.h",
++ "zstd.h",
++ "zstd_errors.h",
++ ]
++}
++
++source_set("zstd") {
++ deps = [ ":zstd_shim" ]
++ public_configs = [ ":system_zstd" ]
++}
++
++source_set("decompress") {
++ deps = [ ":zstd_shim" ]
++ public_configs = [ ":system_zstd" ]
++}
+--
+2.42.0
+
diff --git a/testing/electron/temp-failure-retry.patch b/testing/electron/temp-failure-retry.patch
new file mode 100644
index 00000000000..560aa6578c2
--- /dev/null
+++ b/testing/electron/temp-failure-retry.patch
@@ -0,0 +1,19 @@
+random glibc macro, not provided by musl.
+https://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html
+--- a/sandbox/linux/suid/process_util.h
++++ b/sandbox/linux/suid/process_util.h
+@@ -11,6 +11,14 @@
+ #include <stdbool.h>
+ #include <sys/types.h>
+
++// Some additional functions
++# define TEMP_FAILURE_RETRY(expression) \
++ (__extension__ \
++ ({ long int __result; \
++ do __result = (long int) (expression); \
++ while (__result == -1L && errno == EINTR); \
++ __result; }))
++
+ // This adjusts /proc/process/oom_score_adj so the Linux OOM killer
+ // will prefer certain process types over others. The range for the
+ // adjustment is [-1000, 1000], with [0, 1000] being user accessible.
diff --git a/testing/electron/unbundle-node.patch b/testing/electron/unbundle-node.patch
new file mode 100644
index 00000000000..58ec8145c8e
--- /dev/null
+++ b/testing/electron/unbundle-node.patch
@@ -0,0 +1,56 @@
+--- ./third_party/electron_node/BUILD.gn.orig
++++ ./third_party/electron_node/BUILD.gn
+@@ -39,6 +39,7 @@
+ node_release_urlbase = ""
+
+ # Allows downstream packagers (eg. Linux distributions) to build Electron against system shared libraries.
++ use_system_base64 = false
+ use_system_cares = false
+ use_system_nghttp2 = false
+ use_system_llhttp = false
+@@ -47,6 +48,11 @@
+
+ if (is_linux) {
+ import("//build/config/linux/pkg_config.gni")
++ if (use_system_base64) {
++ pkg_config("base64") {
++ packages = [ "base64" ]
++ }
++ }
+ if (use_system_cares) {
+ pkg_config("cares") {
+ packages = [ "libcares" ]
+@@ -208,7 +214,6 @@
+ ":node_js2c",
+ "deps/googletest:gtest",
+ "deps/ada",
+- "deps/base64",
+ "deps/simdutf",
+ "deps/uvwasi",
+ "//third_party/zlib",
+@@ -216,6 +221,11 @@
+ "//third_party/brotli:enc",
+ "//v8:v8_libplatform",
+ ]
++ if (use_system_base64) {
++ configs += [ ":base64" ]
++ } else {
++ deps += [ "deps/base64" ]
++ }
+ if (use_system_cares) {
+ configs += [ ":cares" ]
+ } else {
+--- ./electron/script/generate-config-gypi.py.orig
++++ ./electron/script/generate-config-gypi.py
+@@ -62,6 +62,11 @@
+ # 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+') as f:
+ f.write(pprint.pformat(config, indent=2))
+
diff --git a/testing/electron/webpack-hash.patch b/testing/electron/webpack-hash.patch
new file mode 100644
index 00000000000..0aaf5e0a12c
--- /dev/null
+++ b/testing/electron/webpack-hash.patch
@@ -0,0 +1,12 @@
+--- a/electron/build/webpack/webpack.config.base.js
++++ b/electron/build/webpack/webpack.config.base.js
+@@ -117,7 +117,8 @@
+ entry,
+ target: alwaysHasNode ? 'node' : 'web',
+ output: {
+- filename: outputFilename
++ filename: outputFilename,
++ hashFunction: 'sha256'
+ },
+ resolve: {
+ alias: {
diff --git a/testing/electron/yes-musl.patch b/testing/electron/yes-musl.patch
new file mode 100644
index 00000000000..e860b8ece58
--- /dev/null
+++ b/testing/electron/yes-musl.patch
@@ -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 */
diff --git a/testing/electrs/APKBUILD b/testing/electrs/APKBUILD
deleted file mode 100644
index 4a199a6493a..00000000000
--- a/testing/electrs/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Maintainer: Michał Adamski <michal@ert.pl>
-pkgname=electrs
-pkgver=0.9.4
-pkgrel=0
-pkgdesc="Efficient re-implementation of Electrum Server in Rust"
-url="https://github.com/romanz/electrs"
-license="MIT"
-arch="x86 x86_64 aarch64" # limited by rust/cargo and rocksdb
-makedepends="cargo rocksdb-dev<6.24 clang-libs"
-source="https://github.com/romanz/electrs/archive/v$pkgver/electrs-$pkgver.tar.gz"
-
-build() {
- ROCKSDB_INCLUDE_DIR=/usr/include ROCKSDB_LIB_DIR=/usr/lib cargo build --all --features "metrics_process" --release --locked
-}
-
-check() {
- cargo test --all --release --locked
-}
-
-package() {
- install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin
-}
-
-sha512sums="
-7245472534ba6c59858c73e8c7f37118e02ae03698c83325f9e9a6c17d94b0614e9810151f25509288ab7a65e6910fbf9b22afeb9eb9c92e9dc46c31bd79fe25 electrs-0.9.4.tar.gz
-"
diff --git a/testing/elektra/APKBUILD b/testing/elektra/APKBUILD
index fe021c4b6df..fa2f1c65906 100644
--- a/testing/elektra/APKBUILD
+++ b/testing/elektra/APKBUILD
@@ -6,7 +6,7 @@
pkgname=elektra
_pkgname=libelektra
pkgver=0.8.21
-pkgrel=14
+pkgrel=22
pkgdesc="A universal and secure framework to access configuration parameters"
url="https://www.libelektra.org"
#arch="all !armhf" # armhf blocked by qt5-qtdeclarative
@@ -24,11 +24,11 @@ makedepends="
cmake
curl-dev
discount discount-dev
- fts-dev
+ musl-fts-dev
libdrm-dev
libgcrypt-dev
libgit2-dev
- openssl-dev
+ openssl-dev>3
lua$_luaver-dev
glib-dev
python3-dev
@@ -36,6 +36,7 @@ makedepends="
qt5-qtdeclarative-dev
qt5-qtsvg-dev
ruby ruby-dev
+ samurai
swig
yajl-dev
yaml-cpp-dev
@@ -51,15 +52,18 @@ subpackages="
ruby-elektra:_ruby
$pkgname-qt-gui:_gui
$pkgname-libs
- $pkgname-bash-completion:bashcomp:noarch
- $pkgname-fish-completion:fishcomp:noarch
- $pkgname-zsh-completion:zshcomp:noarch
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
$pkgname-plugins-all:_all:noarch
"
source="$_pkgname-$pkgver.tar.gz::https://github.com/ElektraInitiative/libelektra/archive/$pkgver.tar.gz
fix-bash-shebang.patch
fix-augeas-internal-inconsistency.patch
cmake-allow-override-rpath.patch
+ benchmark-dupe.patch
+ gcc12.patch
+ musl-1.2.3.patch
remove-unneeded-assembly.patch
"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -164,14 +168,8 @@ _bindings="
"
build() {
- mkdir -p "$builddir"/build
- cd "$builddir"/build
-
- cmake .. \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_C_FLAGS_MINSIZEREL_INIT="$CFLAGS" \
- -DCMAKE_CXX_FLAGS_MINSIZEREL_INIT="$CXXFLAGS" \
- -DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT="$LDFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_RPATH=/usr/lib/$pkgname \
-DTARGET_PLUGIN_FOLDER=$pkgname \
@@ -191,7 +189,7 @@ build() {
-DLUA_INCLUDE_DIR="$(pkg-config --variable=includedir lua$_luaver )" \
-DTARGET_LUA_CMOD_FOLDER="$(pkg-config --variable=INSTALL_LMOD lua$_luaver)" \
-DTARGET_LUA_CMOD_FOLDER="$(pkg-config --variable=INSTALL_CMOD lua$_luaver)"
- make
+ cmake --build build
}
check() {
@@ -199,7 +197,7 @@ check() {
# Run tests that doesn't need to write into /etc.
# FIXME: Allow tests to fail for now.
- make run_nokdbtests || true
+ ninja run_nokdbtests || true
}
package() {
@@ -208,9 +206,7 @@ package() {
# dependencies. That's why they are defined in package().
depends="$depends $pkgname-resolver"
- cd "$builddir"/build
-
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
# This is a shell script that just executes /usr/lib/elektra/tool_exec/qt-gui.
# It was originally made as a workaround for some RPATH issue we don't have.
@@ -280,22 +276,6 @@ _gui() {
_submv usr/share/icons
}
-bashcomp() {
- pkgdesc="Bash completions for $pkgname"
- depends=""
- install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
-
- _submv usr/share/bash-completion
-}
-
-fishcomp() {
- pkgdesc="Fish completions for $pkgname"
- depends=""
- install_if="$pkgname=$pkgver-r$pkgrel fish"
-
- _submv usr/share/fish/vendor_completions.d usr/share/fish/completions
-}
-
zshcomp() {
pkgdesc="ZSH completions for $pkgname"
depends=""
@@ -400,8 +380,13 @@ _submv() {
rmdir -p "$pkgdir"/${src%/*} 2>/dev/null || true
}
-sha512sums="9ad3bb7eeb36d921189d93cb347ec73262503d85397b574ef603080cee52d1959752740e5018a0e7eb5dc187bce8aae3b6fc0057a6385bce94e5338604c6bc57 libelektra-0.8.21.tar.gz
+sha512sums="
+9ad3bb7eeb36d921189d93cb347ec73262503d85397b574ef603080cee52d1959752740e5018a0e7eb5dc187bce8aae3b6fc0057a6385bce94e5338604c6bc57 libelektra-0.8.21.tar.gz
cbfe8b96a806825d5f7194734a646bdb3fb273bf6be44b3b47e9b2f63bf90a7ece867e74808da743ff33211abba0682aba55d02a3dbfa0a5efc3dc821444bd87 fix-bash-shebang.patch
48d645142bf63282e13d1c76c1ddedc5633e365a1a87d0cd49c75fa801eed44b57fb66eee49badc7a9e6210f6ccd2af82779f0658f90263fd23b959f4e70b84c fix-augeas-internal-inconsistency.patch
717b343b6509d14949a154bbbf13d5722f47f97717dbd839763fc89f8f9033d5214f903df23b4ca7f196ae9dbfe6a3348542411c714e471ca4a50b39bdff3abc cmake-allow-override-rpath.patch
-9ca27100c7b9e3b64146a4733e7007c6175ba475415cf7523315d21ba8fcfff65e3769ee2e9d59cdf2eb943a5c49786c4811e4deec6c694964da7e0e5292c1f9 remove-unneeded-assembly.patch"
+21f3f9cf874663b6ad60446d59830e8b59c16d9fb02df6c8ecb78f9fc5c785bc965d5325d46fd4b92e38c632b9b1641f13370bace69636049e172ec1f3da506b benchmark-dupe.patch
+0dd760f0a0c063fbe67f581945262e3846440ca2c5e656337b2529c9fcea3145777105372af86f4adefe3fd361309ee00f5bd584891172af7713ffb445511868 gcc12.patch
+9c21cce9247e76996286fefa68910e2cfafb24c1dc4af6711e9d37cf6cbe2c684072753395d98b04babaa93418722126cfa745f6a3e143ea1ace39fabc4d93a2 musl-1.2.3.patch
+9ca27100c7b9e3b64146a4733e7007c6175ba475415cf7523315d21ba8fcfff65e3769ee2e9d59cdf2eb943a5c49786c4811e4deec6c694964da7e0e5292c1f9 remove-unneeded-assembly.patch
+"
diff --git a/testing/elektra/benchmark-dupe.patch b/testing/elektra/benchmark-dupe.patch
new file mode 100644
index 00000000000..57ce62f64e0
--- /dev/null
+++ b/testing/elektra/benchmark-dupe.patch
@@ -0,0 +1,62 @@
+fix duplicate symbol between this and benchmark.c
+diff --git a/benchmarks/large.c b/benchmarks/large.c
+index aee787b..8892e1b 100644
+--- a/benchmarks/large.c
++++ b/benchmarks/large.c
+@@ -10,7 +10,7 @@
+
+ KDB * kdb;
+ Key * key;
+-KeySet * large;
++KeySet * large2;
+
+ void benchmarkOpen (void)
+ {
+@@ -39,33 +39,33 @@ void benchmarkLookupByName (void)
+ for (i = 0; i < NUM_DIR; i++)
+ {
+ snprintf (name, KEY_NAME_LENGTH, "%s/%s%d", KEY_ROOT, "dir", i);
+- ksLookupByName (large, name, 0);
++ ksLookupByName (large2, name, 0);
+ for (j = 0; j < NUM_KEY; j++)
+ {
+ snprintf (name, KEY_NAME_LENGTH, "%s/%s%d/%s%d", KEY_ROOT, "dir", i, "key", j);
+- ksLookupByName (large, name, 0);
++ ksLookupByName (large2, name, 0);
+ }
+ }
+ }
+
+ void benchmarkReread (void)
+ {
+- kdbGet (kdb, large, key);
++ kdbGet (kdb, large2, key);
+ }
+
+ void benchmarkInwrite (void)
+ {
+- kdbSet (kdb, large, key);
++ kdbSet (kdb, large2, key);
+ }
+
+ void benchmarkRewrite (void)
+ {
+- kdbSet (kdb, large, key);
++ kdbSet (kdb, large2, key);
+ }
+
+ void benchmarkWriteout (void)
+ {
+- kdbSet (kdb, large, key);
++ kdbSet (kdb, large2, key);
+ }
+
+ void benchmarkClose (void)
+@@ -113,6 +113,6 @@ int main (void)
+ benchmarkClose ();
+ timePrint ("Closed key database");
+
+- ksDel (large);
++ ksDel (large2);
+ keyDel (key);
+ }
diff --git a/testing/elektra/gcc12.patch b/testing/elektra/gcc12.patch
new file mode 100644
index 00000000000..f0ff513054c
--- /dev/null
+++ b/testing/elektra/gcc12.patch
@@ -0,0 +1,12 @@
+diff --git a/src/tools/kdb/cmdline.cpp b/src/tools/kdb/cmdline.cpp
+index b111366..96926a2 100644
+--- a/src/tools/kdb/cmdline.cpp
++++ b/src/tools/kdb/cmdline.cpp
+@@ -16,6 +16,7 @@
+
+ #include <cstdio>
+ #include <iostream>
++#include <limits>
+ #include <set>
+ #include <vector>
+
diff --git a/testing/elektra/musl-1.2.3.patch b/testing/elektra/musl-1.2.3.patch
new file mode 100644
index 00000000000..0c488d55ac8
--- /dev/null
+++ b/testing/elektra/musl-1.2.3.patch
@@ -0,0 +1,44 @@
+diff --git a/src/bindings/swig/ruby/kdb.i b/src/bindings/swig/ruby/kdb.i
+index 93d47f9..52681f4 100644
+--- a/src/bindings/swig/ruby/kdb.i
++++ b/src/bindings/swig/ruby/kdb.i
+@@ -260,7 +260,7 @@ underlaying key, which allows a Ruby-style iteration over metadata:
+ * cases this is useful, to allow passing in Symbols as meta names. */
+ %typemap(in) (const std::string & metaName) {
+ // typemap in for getMeta
+- $input = rb_funcall($input, rb_intern("to_s"), 0, NULL);
++ $input = rb_funcall($input, rb_intern("to_s"), 0, 0);
+ $1 = new std::string(StringValueCStr($input));
+ }
+ %typemap(freearg) (const std::string & metaName) {
+@@ -305,8 +305,8 @@ underlaying key, which allows a Ruby-style iteration over metadata:
+ /* $input substitution does not here, so we have to reference
+ input variables directly */
+
+- hash_size = NUM2INT(rb_funcall(argv[1], rb_intern("size"), 0, NULL));
+- keys_arr = rb_funcall(argv[1], rb_intern("keys"), 0, NULL);
++ hash_size = NUM2INT(rb_funcall(argv[1], rb_intern("size"), 0, 0));
++ keys_arr = rb_funcall(argv[1], rb_intern("keys"), 0, 0);
+ if (hash_size > 0) {
+ /* first we check if we can find the "flags" key.
+ this has to be passed to the kdb::Key constructor already */
+@@ -314,7 +314,7 @@ underlaying key, which allows a Ruby-style iteration over metadata:
+ key = rb_ary_entry(keys_arr, i);
+ val = rb_hash_aref(argv[1], key);
+ /* convert key to String, in case of being a Symbol */
+- key = rb_funcall(key, rb_intern("to_s"), 0, NULL);
++ key = rb_funcall(key, rb_intern("to_s"), 0, 0);
+ /* check for flags and extract them */
+ if (strcmp("flags", StringValueCStr(key)) == 0) {
+ Check_Type(val, T_FIXNUM);
+@@ -342,8 +342,8 @@ underlaying key, which allows a Ruby-style iteration over metadata:
+ for (i = 0; i < hash_size; i++) {
+ key = rb_ary_entry(keys_arr, i);
+ val = rb_hash_aref(argv[1], key);
+- key = rb_funcall(key, rb_intern("to_s"), 0, NULL);
+- val = rb_funcall(val, rb_intern("to_s"), 0, NULL);
++ key = rb_funcall(key, rb_intern("to_s"), 0, 0);
++ val = rb_funcall(val, rb_intern("to_s"), 0, 0);
+ /* ignore certain keys */
+ if (strcmp("flags", StringValueCStr(key)) == 0) continue;
+ /* 'value' has also a special meaning */
diff --git a/testing/element-desktop/APKBUILD b/testing/element-desktop/APKBUILD
new file mode 100644
index 00000000000..8d030b59dad
--- /dev/null
+++ b/testing/element-desktop/APKBUILD
@@ -0,0 +1,170 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=element-desktop
+pkgver=1.11.64
+pkgrel=0
+pkgdesc="Secure and independent communication, connected via Matrix"
+url="https://element.io/"
+arch="aarch64 x86_64" # same as electron
+license="Apache-2.0"
+depends="
+ electron
+ font-inconsolata
+ font-inter
+ font-nunito
+ font-opensans
+ font-twemoji
+ "
+makedepends="
+ cargo
+ electron-dev
+ electron-tasje
+ jq
+ libsecret-dev
+ nodejs
+ npm
+ python3
+ sqlcipher-dev
+ yarn
+ "
+source="
+ https://github.com/vector-im/element-desktop/archive/refs/tags/v$pkgver/element-desktop-$pkgver.tar.gz
+ https://github.com/vector-im/element-web/archive/refs/tags/v$pkgver/element-web-$pkgver.tar.gz
+
+ add-alpine-targets.patch
+ use-system-headers.patch
+ tasje-one-hak.patch
+ tasje-no-fuses.patch
+ use-system-fonts.patch.reactsdk
+ use-system-fonts.patch.web
+
+ element-desktop
+ "
+options="net !check" # broken
+
+# secfixes:
+# 1.11.30-r0:
+# - CVE-2023-30609
+# 1.11.26-r0:
+# - CVE-2023-28103
+# - CVE-2023-28427
+# 1.11.7-r0:
+# - CVE-2022-39249
+# - CVE-2022-39250
+# - CVE-2022-39251
+# - CVE-2022-39236
+# 1.11.4-r0:
+# - CVE-2022-36059
+# - CVE-2022-36060
+
+# used by buildscripts (at least web's webpack)
+export VERSION=$pkgver
+
+export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
+export CARGO_PROFILE_RELEASE_STRIP="symbols"
+export NODE_OPTIONS="--openssl-legacy-provider"
+
+prepare() {
+ default_prepare
+
+ msg "Applying more patches"
+ for x in $source; do
+ case "$x" in
+ *.patch.web)
+ msg "$x"
+ patch -p1 -i "$srcdir"/$x -d "$srcdir"/element-web-$pkgver
+ ;;
+ esac
+ done
+
+ (
+ cd "$srcdir"/element-web-$pkgver
+
+ msg "Fetch element-web dependencies"
+ yarn install --frozen-lockfile --ignore-scripts
+ jq '.show_labs_settings = true' < config.sample.json > config.json
+
+ msg "Applying more patches"
+ for x in $source; do
+ case "$x" in
+ *.patch.reactsdk)
+ msg "$x"
+ patch -p1 -i "$srcdir"/$x -d "$srcdir"/element-web-$pkgver/node_modules/matrix-react-sdk
+ ;;
+ esac
+ done
+
+ rm -rf node_modules/matrix-react-sdk/res/fonts/
+ )
+
+ ln -s "$srcdir"/element-web-$pkgver/webapp webapp
+
+ msg "Fetch element-desktop dependencies"
+ yarn install --frozen-lockfile --ignore-scripts
+}
+
+build() {
+ (
+ cd "$srcdir"/element-web-$pkgver
+
+ msg "Build element-web"
+ NODE_ENV=production yarn build
+ )
+
+ msg "Build element-desktop"
+
+ yarn asar-webapp
+
+ # add "optional" native dependencies
+ # hak stands for hack
+ yarn run hak --target "$(uname -m)-alpine-linux-musl"
+
+ # stripping in build because it gets into asar
+ strip node_modules/keytar/build/Release/keytar.node
+
+ yarn build:ts
+
+ yarn build:res
+
+ yarn install --frozen-lockfile --ignore-scripts --production
+
+ tasje -c electron-builder.js pack
+}
+
+check() {
+ (
+ cd "$srcdir"/element-web-$pkgver
+
+ yarn test
+ )
+}
+
+package() {
+ local resources="dist/resources"
+
+ install -Dm644 $resources/app.asar "$pkgdir"/usr/lib/element-desktop/app.asar
+ install -Dm644 webapp.asar "$pkgdir"/usr/lib/element-desktop/webapp.asar
+
+ cp -r $resources/app.asar.unpacked "$pkgdir"/usr/lib/element-desktop/app.asar.unpacked
+
+ install -Dm644 $resources/img/element.png "$pkgdir"/usr/lib/element-desktop/img/element.png
+
+ install -Dm755 "$srcdir"/$pkgname "$pkgdir"/usr/bin/$pkgname
+
+ install -Dm644 dist/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+ while read -r size; do
+ install -Dm644 dist/icons/$size.png "$pkgdir"/usr/share/icons/hicolor/$size/apps/$pkgname.png
+ done < dist/icons/size-list
+}
+
+sha512sums="
+3627b7ce207d10f73e91bca5f4bf5bd71262fa22eab678788f25fd6b89b9baaf55c41b642d855833196b1ed02dde8c73095ce5056211375b477b7c6d7ac4a4c4 element-desktop-1.11.64.tar.gz
+bc74ff9330c2972e22fdcd54a9a552c9dacc792874d7d7a30929b1f973f638fa4a88827bf5bc0268761175c21077ab5482475d012512ec480512b1eb15ddbc96 element-web-1.11.64.tar.gz
+4747893ed3e43d3074e9afe1cdd668a6be0de073d439205fe8c38c5e0f4091cc76e3cd15d98818bea5139add29501d8d07e83c58e9da230a4ce5bb538d388f80 add-alpine-targets.patch
+83f5e5fb197bc78e13dbb86dfcf2ef39c25ad9b54b72a911ad33fcd4a9725b6612e240edae030154b1512149408541b19f267bf517314447f1a2c6de6a45469e use-system-headers.patch
+e4f74e9b5eb6f6e8ea893925e3ad4fca2bbf7d6ba64e82e230f154d1c846668fe66fdd44875b1c8ac0281e7cad6a12e462ab765281e997a16616ccf855d82aa4 tasje-one-hak.patch
+9af00259f5e236f70a308f315d0c9116a68e1223d057a219344a8c72ec9b5694b92e3a1cb030c918a5be8c112dd1a5920b65b2b1eaf2b5b61fcb0d743d9a94b8 tasje-no-fuses.patch
+31e3bde9ac13d711af3b57768eea5f60013f93ac35ec49648a66da8b4652e5049c991bfadfbe373814f237c700b95f5b9d1ed0c8f7cf8e4ec489a44b17dbfad5 use-system-fonts.patch.reactsdk
+7dd96eb00dfc13e30d2274650a79aafce1bae3572ffcb4a5ce6a0ee6e4bc73cc8d6c0845d2dea930006f0fdd0ff313cd7615e6de58c95e674cb41dc978377f1d use-system-fonts.patch.web
+afc588311dc3b566a754e3e7fe6b37b99a06d47b8bbce0ed9acca8ef308fdab0bd1d41b406199e5cbdd86bdce695ff847cd8668857a235cbdc292ad8b899c063 element-desktop
+"
diff --git a/testing/element-desktop/add-alpine-targets.patch b/testing/element-desktop/add-alpine-targets.patch
new file mode 100644
index 00000000000..87e11483f35
--- /dev/null
+++ b/testing/element-desktop/add-alpine-targets.patch
@@ -0,0 +1,52 @@
+--- a/scripts/hak/target.ts
++++ b/scripts/hak/target.ts
+@@ -29,8 +29,10 @@
+ | "i686-unknown-linux-gnu"
+ | "x86_64-unknown-linux-musl"
+ | "x86_64-unknown-linux-gnu"
++ | "x86_64-alpine-linux-musl"
+ | "aarch64-unknown-linux-musl"
+ | "aarch64-unknown-linux-gnu"
++ | "aarch64-alpine-linux-musl"
+ | "powerpc64le-unknown-linux-musl"
+ | "powerpc64le-unknown-linux-gnu";
+
+@@ -112,6 +114,13 @@
+ libC: MUSL,
+ };
+
++const x8664AlpineLinuxMusl: LinuxTarget = {
++ id: "x86_64-alpine-linux-musl",
++ platform: "linux",
++ arch: "x64",
++ libC: MUSL,
++};
++
+ const i686UnknownLinuxGnu: LinuxTarget = {
+ id: "i686-unknown-linux-gnu",
+ platform: "linux",
+@@ -140,6 +149,13 @@
+ libC: MUSL,
+ };
+
++const aarch64AlpineLinuxMusl: LinuxTarget = {
++ id: "aarch64-alpine-linux-musl",
++ platform: "linux",
++ arch: "arm64",
++ libC: MUSL,
++};
++
+ const powerpc64leUnknownLinuxGnu: LinuxTarget = {
+ id: "powerpc64le-unknown-linux-gnu",
+ platform: "linux",
+@@ -167,8 +183,10 @@
+ "i686-unknown-linux-gnu": i686UnknownLinuxGnu,
+ "x86_64-unknown-linux-musl": x8664UnknownLinuxMusl,
+ "x86_64-unknown-linux-gnu": x8664UnknownLinuxGnu,
++ "x86_64-alpine-linux-musl": x8664AlpineLinuxMusl,
+ "aarch64-unknown-linux-musl": aarch64UnknownLinuxMusl,
+ "aarch64-unknown-linux-gnu": aarch64UnknownLinuxGnu,
++ "aarch64-alpine-linux-musl": aarch64AlpineLinuxMusl,
+ "powerpc64le-unknown-linux-musl": powerpc64leUnknownLinuxMusl,
+ "powerpc64le-unknown-linux-gnu": powerpc64leUnknownLinuxGnu,
+ };
diff --git a/testing/element-desktop/element-desktop b/testing/element-desktop/element-desktop
new file mode 100755
index 00000000000..de3c5b2d9de
--- /dev/null
+++ b/testing/element-desktop/element-desktop
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec electron /usr/lib/element-desktop/app.asar "$@"
diff --git a/testing/element-desktop/tasje-no-fuses.patch b/testing/element-desktop/tasje-no-fuses.patch
new file mode 100644
index 00000000000..8198e5ffed4
--- /dev/null
+++ b/testing/element-desktop/tasje-no-fuses.patch
@@ -0,0 +1,58 @@
+we can't do fuses because we ship one binary in the electron package.
+and we can't import them here, since they are in devDependencies, which are uninstalled at this stage.
+
+--- ./electron-builder.js.orig
++++ ./electron-builder.js
+@@ -1,8 +1,6 @@
+ const os = require("os");
+ const fs = require("fs");
+ const path = require("path");
+-const Arch = require("electron-builder").Arch;
+-const { flipFuses, FuseVersion, FuseV1Options } = require("@electron/fuses");
+
+ // Typescript conversion blocked on https://github.com/electron-userland/electron-builder/issues/7775
+
+@@ -35,43 +33,6 @@
+ const config = {
+ appId: "im.riot.app",
+ asarUnpack: "**/*.node",
+- afterPack: async (context) => {
+- if (context.electronPlatformName !== "darwin" || context.arch === Arch.universal) {
+- // Burn in electron fuses for proactive security hardening.
+- // On macOS, we only do this for the universal package, as the constituent arm64 and amd64 packages are embedded within.
+- const ext = {
+- darwin: ".app",
+- win32: ".exe",
+- linux: "",
+- }[context.electronPlatformName];
+-
+- let executableName = context.packager.appInfo.productFilename;
+- if (context.electronPlatformName === "linux") {
+- // Linux uses the package name as the executable name
+- executableName = context.packager.appInfo.name;
+- }
+-
+- const electronBinaryPath = path.join(context.appOutDir, `${executableName}${ext}`);
+- console.log(`Flipping fuses for: ${electronBinaryPath}`);
+-
+- await flipFuses(electronBinaryPath, {
+- version: FuseVersion.V1,
+- resetAdHocDarwinSignature: context.electronPlatformName === "darwin" && context.arch === Arch.universal,
+-
+- [FuseV1Options.EnableCookieEncryption]: true,
+- [FuseV1Options.OnlyLoadAppFromAsar]: true,
+-
+- [FuseV1Options.RunAsNode]: false,
+- [FuseV1Options.EnableNodeOptionsEnvironmentVariable]: false,
+- [FuseV1Options.EnableNodeCliInspectArguments]: false,
+-
+- // Mac app crashes on arm for us when `LoadBrowserProcessSpecificV8Snapshot` is enabled
+- [FuseV1Options.LoadBrowserProcessSpecificV8Snapshot]: false,
+- // https://github.com/electron/fuses/issues/7
+- [FuseV1Options.EnableEmbeddedAsarIntegrityValidation]: false,
+- });
+- }
+- },
+ files: [
+ "package.json",
+ "lib/**",
diff --git a/testing/element-desktop/tasje-one-hak.patch b/testing/element-desktop/tasje-one-hak.patch
new file mode 100644
index 00000000000..ac584aa0a6f
--- /dev/null
+++ b/testing/element-desktop/tasje-one-hak.patch
@@ -0,0 +1,20 @@
+directories in .hak/hakModules are already symlinked inside node_modules,
+and as such are already being copied by default. this makes tasje fail with:
+```
+thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value:
+FileAlreadyWritten("/node_modules/keytar/package.json")', src/main.rs:200:18
+```
+
+--- ./electron-builder.js.orig
++++ ./electron-builder.js
+@@ -74,10 +74,6 @@
+ },
+ files: [
+ "package.json",
+- {
+- from: ".hak/hakModules",
+- to: "node_modules",
+- },
+ "lib/**",
+ ],
+ extraResources: [
diff --git a/testing/element-desktop/use-system-fonts.patch.reactsdk b/testing/element-desktop/use-system-fonts.patch.reactsdk
new file mode 100644
index 00000000000..400ea50c6d5
--- /dev/null
+++ b/testing/element-desktop/use-system-fonts.patch.reactsdk
@@ -0,0 +1,169 @@
+--- a/src/utils/FontManager.ts
++++ b/src/utils/FontManager.ts
+@@ -108,20 +108,6 @@
+ }
+ colrFontCheckStarted = true;
+
+- if (await isColrFontSupported()) {
+- const path = `url('${require("../../res/fonts/Twemoji_Mozilla/TwemojiMozilla-colr.woff2")}')`;
+- document.fonts.add(new FontFace("Twemoji", path, {}));
+- // For at least Chrome on Windows 10, we have to explictly add extra
+- // weights for the emoji to appear in bold messages, etc.
+- document.fonts.add(new FontFace("Twemoji", path, { weight: "600" }));
+- document.fonts.add(new FontFace("Twemoji", path, { weight: "700" }));
+- } else {
+- // fall back to SBIX, generated via https://github.com/matrix-org/twemoji-colr/tree/matthew/sbix
+- const path = `url('${require("../../res/fonts/Twemoji_Mozilla/TwemojiMozilla-sbix.woff2")}')`;
+- document.fonts.add(new FontFace("Twemoji", path, {}));
+- document.fonts.add(new FontFace("Twemoji", path, { weight: "600" }));
+- document.fonts.add(new FontFace("Twemoji", path, { weight: "700" }));
+- }
+- // ...and if SBIX is not supported, the browser will fall back to one of the native fonts specified.
++ // no need, we ensure twemoji font is system
+ }
+
+--- a/res/themes/light/css/_fonts.pcss
++++ b/res/themes/light/css/_fonts.pcss
+@@ -17,8 +17,7 @@
+ font-display: swap;
+ unicode-range: $inter-unicode-range;
+ src:
+- url("$(res)/fonts/Inter/Inter-Regular.woff2?v=3.18") format("woff2"),
+- url("$(res)/fonts/Inter/Inter-Regular.woff?v=3.18") format("woff");
++ local("Inter Regular");
+ }
+ @font-face {
+ font-family: "Inter";
+@@ -27,8 +26,7 @@
+ font-display: swap;
+ unicode-range: $inter-unicode-range;
+ src:
+- url("$(res)/fonts/Inter/Inter-Italic.woff2?v=3.18") format("woff2"),
+- url("$(res)/fonts/Inter/Inter-Italic.woff?v=3.18") format("woff");
++ local("Inter Italic");
+ }
+
+ @font-face {
+@@ -38,8 +36,7 @@
+ font-display: swap;
+ unicode-range: $inter-unicode-range;
+ src:
+- url("$(res)/fonts/Inter/Inter-Medium.woff2?v=3.18") format("woff2"),
+- url("$(res)/fonts/Inter/Inter-Medium.woff?v=3.18") format("woff");
++ local("Inter Medium");
+ }
+ @font-face {
+ font-family: "Inter";
+@@ -48,8 +45,7 @@
+ font-display: swap;
+ unicode-range: $inter-unicode-range;
+ src:
+- url("$(res)/fonts/Inter/Inter-MediumItalic.woff2?v=3.18") format("woff2"),
+- url("$(res)/fonts/Inter/Inter-MediumItalic.woff?v=3.18") format("woff");
++ local("Inter Medium Italic");
+ }
+
+ @font-face {
+@@ -59,8 +55,7 @@
+ font-display: swap;
+ unicode-range: $inter-unicode-range;
+ src:
+- url("$(res)/fonts/Inter/Inter-SemiBold.woff2?v=3.18") format("woff2"),
+- url("$(res)/fonts/Inter/Inter-SemiBold.woff?v=3.18") format("woff");
++ local("Inter SemiBold");
+ }
+ @font-face {
+ font-family: "Inter";
+@@ -69,8 +64,7 @@
+ font-display: swap;
+ unicode-range: $inter-unicode-range;
+ src:
+- url("$(res)/fonts/Inter/Inter-SemiBoldItalic.woff2?v=3.18") format("woff2"),
+- url("$(res)/fonts/Inter/Inter-SemiBoldItalic.woff?v=3.18") format("woff");
++ local("Inter SemiBold Italic");
+ }
+
+ @font-face {
+@@ -80,8 +74,7 @@
+ font-display: swap;
+ unicode-range: $inter-unicode-range;
+ src:
+- url("$(res)/fonts/Inter/Inter-Bold.woff2?v=3.18") format("woff2"),
+- url("$(res)/fonts/Inter/Inter-Bold.woff?v=3.18") format("woff");
++ local("Inter Bold");
+ }
+ @font-face {
+ font-family: "Inter";
+@@ -90,8 +83,7 @@
+ font-display: swap;
+ unicode-range: $inter-unicode-range;
+ src:
+- url("$(res)/fonts/Inter/Inter-BoldItalic.woff2?v=3.18") format("woff2"),
+- url("$(res)/fonts/Inter/Inter-BoldItalic.woff?v=3.18") format("woff");
++ local("Inter Bold Italic");
+ }
+
+ /* latin-ext */
+@@ -101,8 +93,7 @@
+ font-weight: 400;
+ src:
+ local("Inconsolata Regular"),
+- local("Inconsolata-Regular"),
+- url("$(res)/fonts/Inconsolata/QldKNThLqRwH-OJ1UHjlKGlX5qhExfHwNJU.woff2") format("woff2");
++ local("Inconsolata-Regular");
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+ }
+ /* latin */
+@@ -113,8 +104,7 @@
+ font-display: swap;
+ src:
+ local("Inconsolata Regular"),
+- local("Inconsolata-Regular"),
+- url("$(res)/fonts/Inconsolata/QldKNThLqRwH-OJ1UHjlKGlZ5qhExfHw.woff2") format("woff2");
++ local("Inconsolata-Regular");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,
+ U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+ }
+@@ -126,8 +116,7 @@
+ font-display: swap;
+ src:
+ local("Inconsolata Bold"),
+- local("Inconsolata-Bold"),
+- url("$(res)/fonts/Inconsolata/QldXNThLqRwH-OJ1UHjlKGHiw71n5_zaDpwm80E.woff2") format("woff2");
++ local("Inconsolata-Bold");
+ unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
+ }
+ /* latin */
+@@ -138,8 +127,7 @@
+ font-display: swap;
+ src:
+ local("Inconsolata Bold"),
+- local("Inconsolata-Bold"),
+- url("$(res)/fonts/Inconsolata/QldXNThLqRwH-OJ1UHjlKGHiw71p5_zaDpwm.woff2") format("woff2");
++ local("Inconsolata-Bold");
+ unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC,
+ U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
+ }
+--- a/res/themes/legacy-light/css/_fonts.pcss
++++ b/res/themes/legacy-light/css/_fonts.pcss
+@@ -23,17 +23,17 @@
+ font-family: "Nunito";
+ font-style: normal;
+ font-weight: 400;
+- src: url("$(res)/fonts/Nunito/Nunito-Regular.ttf") format("truetype");
++ src: local("Nunito Regular");
+ }
+ @font-face {
+ font-family: "Nunito";
+ font-style: normal;
+ font-weight: 600;
+- src: url("$(res)/fonts/Nunito/Nunito-SemiBold.ttf") format("truetype");
++ src: local("Nunito SemiBold");
+ }
+ @font-face {
+ font-family: "Nunito";
+ font-style: normal;
+ font-weight: 700;
+- src: url("$(res)/fonts/Nunito/Nunito-Bold.ttf") format("truetype");
++ src: local("Nunito Bold");
+ }
diff --git a/testing/element-desktop/use-system-fonts.patch.web b/testing/element-desktop/use-system-fonts.patch.web
new file mode 100644
index 00000000000..b2b406e9446
--- /dev/null
+++ b/testing/element-desktop/use-system-fonts.patch.web
@@ -0,0 +1,11 @@
+--- a/src/vector/jitsi/index.pcss
++++ b/src/vector/jitsi/index.pcss
+@@ -20,7 +20,7 @@
+ font-family: "Nunito";
+ font-style: normal;
+ font-weight: 400;
+- src: url("~matrix-react-sdk/res/fonts/Nunito/Nunito-Regular.ttf") format("truetype");
++ src: local("Nunito Regular");
+ }
+
+ $dark-fg: #edf3ff;
diff --git a/testing/element-desktop/use-system-headers.patch b/testing/element-desktop/use-system-headers.patch
new file mode 100644
index 00000000000..231e1f20d2e
--- /dev/null
+++ b/testing/element-desktop/use-system-headers.patch
@@ -0,0 +1,15 @@
+--- a/scripts/hak/hakEnv.ts
++++ b/scripts/hak/hakEnv.ts
+@@ -99,11 +99,10 @@
+ return Object.assign({}, process.env, {
+ npm_config_arch: this.target.arch,
+ npm_config_target_arch: this.target.arch,
+- npm_config_disturl: "https://electronjs.org/headers",
++ npm_config_nodedir: "/usr/include/electron/node_headers",
+ npm_config_runtime: this.runtime,
+ npm_config_target: this.runtimeVersion,
+ npm_config_build_from_source: true,
+- npm_config_devdir: path.join(os.homedir(), ".electron-gyp"),
+ });
+ }
+
diff --git a/testing/elementary-photos/APKBUILD b/testing/elementary-photos/APKBUILD
new file mode 100644
index 00000000000..1e39aa74978
--- /dev/null
+++ b/testing/elementary-photos/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=elementary-photos
+pkgver=2.8.0
+pkgrel=1
+pkgdesc="Photo viewer and organizer designed for elementary OS"
+url="https://github.com/elementary/photos"
+arch="all !riscv64 !s390x" # blocked by libhandy1
+license="LGPL-2.1"
+depends="hicolor-icon-theme"
+makedepends="
+ geocode-glib-dev
+ gexiv2-dev
+ gexiv2-dev
+ glib-dev
+ granite-dev
+ gst-plugins-base-dev
+ gstreamer-dev
+ gtk+3.0-dev
+ json-glib-dev
+ libexif-dev
+ libgee-dev
+ libgphoto2-dev
+ libgudev-dev
+ libhandy1-dev
+ libraw-dev
+ libsoup-dev
+ libwebp-dev
+ libxml2-dev
+ meson
+ rest-dev
+ sqlite-dev
+ vala
+ webkit2gtk-dev
+ "
+subpackages="
+ $pkgname-lang
+ $pkgname-publishing
+ "
+source="https://github.com/elementary/photos/archive/$pkgver/$pkgname-$pkgver.tar.gz"
+builddir="$srcdir/photos-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ abuild-meson . output
+ meson compile -j ${JOBS:-0} -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+publishing() {
+ pkgdesc="$pkgdesc - publishing plugins"
+
+ amove usr/lib/io.elementary.photos/plugins/libpantheon-photos-publishing*.so
+}
+
+sha512sums="
+691212a03d19b51bed7cb11d7df32e276d8aa7c5810668a6a3898c1e22c0664672dec66055305cd0e82d52cf612e094fa8ccbe32f62cb73d579f17cfc6915758 elementary-photos-2.8.0.tar.gz
+"
diff --git a/testing/elf_diff/APKBUILD b/testing/elf_diff/APKBUILD
new file mode 100644
index 00000000000..7457d6d22f9
--- /dev/null
+++ b/testing/elf_diff/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=elf_diff
+pkgver=0.7.1
+pkgrel=1
+pkgdesc="Tool to compare ELF binaries"
+url="https://github.com/noseglasses/elf_diff"
+arch="noarch !s390x" # py3-progressbar2
+license="GPL-3.0-only"
+depends="
+ py3-anytree
+ py3-beautifulsoup4
+ py3-deepdiff
+ py3-dict2xml
+ py3-gitpython
+ py3-jinja2
+ py3-progressbar2
+ py3-yaml
+ python3
+ "
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+options="!check" # unit tests fail
+
+subpackages="$pkgname-pyc"
+source="
+ https://files.pythonhosted.org/packages/source/e/elf_diff/elf_diff-$pkgver.tar.gz
+
+ elf_diff
+ "
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH="$PWD" pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+ install -Dm755 "$srcdir"/elf_diff "$pkgdir"/usr/bin/elf_diff
+}
+
+sha512sums="
+b1eef9954ceabf3a1936423131eacd71cf942a5d2f28419b3afac837b6b56cf81a9ff884f6e36495d0f61840aa9f5e68836960d29b0a7d7e00f4a0e938fcc141 elf_diff-0.7.1.tar.gz
+1ca2c8c7325f78df0d4033fe7cc8ed2e1da2716e4407b10fbcdf38cededcd1113dcc7a74b1816dff84103119c894dd499b061cf9936f2ff18eebef632b494617 elf_diff
+"
diff --git a/testing/elf_diff/elf_diff b/testing/elf_diff/elf_diff
new file mode 100755
index 00000000000..61b9fa48493
--- /dev/null
+++ b/testing/elf_diff/elf_diff
@@ -0,0 +1,5 @@
+#!/usr/bin/env python3
+
+from elf_diff.__main__ import main
+
+main()
diff --git a/testing/elfio/APKBUILD b/testing/elfio/APKBUILD
index ee0a551a633..06c3176cd71 100644
--- a/testing/elfio/APKBUILD
+++ b/testing/elfio/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer:
pkgname=elfio
-pkgver=3.9
+pkgver=3.12
pkgrel=0
pkgdesc="ELF reader and producer implemented as a header only C++ library"
url="https://github.com/serge1/ELFIO"
@@ -11,6 +11,7 @@ makedepends="cmake ninja"
subpackages="$pkgname-dev"
source="https://github.com/serge1/ELFIO/releases/download/Release_$pkgver/elfio-$pkgver.tar.gz
fix-cmake-install-dir.patch
+ page_size.patch
"
options="!check" # no tests included in release tarball
@@ -25,9 +26,12 @@ build() {
package() {
DESTDIR="$pkgdir" cmake --install build
+
+ rm -rf "$pkgdir"/usr/share/docs
}
sha512sums="
-e2074266caa328c1984ef8ad81797d8c661e36ab96df56b4cdb66a96b5109b68372cd15e1a216aa275c2dbfa37900c33b23ce90023532da6576ccab67d9440b2 elfio-3.9.tar.gz
-cfd760aac6cc5182fbc5d1082d488be2aabfbae78dd0617ec1c7f46237ab6b9d5f95f871b873bdb936a83311478e68511ebd88e2e5c6aacc897be5c2a6d68951 fix-cmake-install-dir.patch
+13ec6be1f8ee3d7dc96d4ff141d3c199dacd818470c0d902403215571ce3d998afe9e71a8c64e0e69cfb86a4794752d93e2e406025f4812e499e51b67201e23c elfio-3.12.tar.gz
+a913982727ec3a0c35f7701302afded5c9c308d7bd059873b996cbfd69350a11a4c66f72beea0c1ffa1170504e82fb81ea59861122dd2e5d34138d47bd92ef1b fix-cmake-install-dir.patch
+512a47c6a7bd23ad44007a07882fec203782754a11756cde2ed81452bdd8250f8d92c44d3c4d235720c54dc2ee798e38c6e68f9a7597cd406f698c7921d341c6 page_size.patch
"
diff --git a/testing/elfio/fix-cmake-install-dir.patch b/testing/elfio/fix-cmake-install-dir.patch
index 9131383caba..22965925efa 100644
--- a/testing/elfio/fix-cmake-install-dir.patch
+++ b/testing/elfio/fix-cmake-install-dir.patch
@@ -2,32 +2,34 @@ From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sat, 11 Dec 2021 12:00:39 +0100
Subject: [PATCH] Fix install directory for cmake files
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 87de541..8e4fe8a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -72,7 +72,7 @@
+@@ -78,7 +78,7 @@ if(IS_TOP_PROJECT)
"${PROJECT_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in"
"${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
INSTALL_DESTINATION
-- ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake)
-+ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/)
+- ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake)
++ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/)
# Install the previously generated "config" and "version" files
install(
-@@ -80,7 +80,7 @@
- "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
- "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
+@@ -86,7 +86,7 @@ if(IS_TOP_PROJECT)
+ "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION
-- ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake)
-+ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/)
+- ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake)
++ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/)
# Install the entire local `elfio` directory to the include directory
install(
-@@ -101,7 +101,7 @@
+@@ -107,7 +107,7 @@ if(IS_TOP_PROJECT)
NAMESPACE
- ${PROJECT_NAME}::
+ ${PROJECT_NAME}::
DESTINATION
-- ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake)
-+ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/)
+- ${CMAKE_INSTALL_DATAROOTDIR}/${PROJECT_NAME}/cmake)
++ ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/)
# Add the elfio target to the ${PROJECT_NAME}_Targets export
install(
diff --git a/testing/elfio/page_size.patch b/testing/elfio/page_size.patch
new file mode 100644
index 00000000000..9739a803ffa
--- /dev/null
+++ b/testing/elfio/page_size.patch
@@ -0,0 +1,33 @@
+diff --git a/examples/writer/writer.cpp b/examples/writer/writer.cpp
+index 3b3e8b6..62e5592 100644
+--- a/examples/writer/writer.cpp
++++ b/examples/writer/writer.cpp
+@@ -39,8 +39,8 @@ THE SOFTWARE.
+ using namespace ELFIO;
+
+ const Elf64_Addr CODE_ADDR = 0x00401000;
+-const Elf_Xword PAGE_SIZE = 0x1000;
+-const Elf64_Addr DATA_ADDR = CODE_ADDR + PAGE_SIZE;
++const Elf_Xword pagesize = 0x1000;
++const Elf64_Addr DATA_ADDR = CODE_ADDR + pagesize;
+
+ int main( void )
+ {
+@@ -80,7 +80,7 @@ int main( void )
+ text_seg->set_virtual_address( CODE_ADDR );
+ text_seg->set_physical_address( CODE_ADDR );
+ text_seg->set_flags( PF_X | PF_R );
+- text_seg->set_align( PAGE_SIZE );
++ text_seg->set_align( pagesize );
+
+ // Add code section into program segment
+ text_seg->add_section( text_sec, text_sec->get_addr_align() );
+@@ -103,7 +103,7 @@ int main( void )
+ data_seg->set_virtual_address( DATA_ADDR );
+ data_seg->set_physical_address( DATA_ADDR );
+ data_seg->set_flags( PF_W | PF_R );
+- data_seg->set_align( PAGE_SIZE );
++ data_seg->set_align( pagesize );
+
+ // Add code section into program segment
+ data_seg->add_section( data_sec, data_sec->get_addr_align() );
diff --git a/testing/eludris/APKBUILD b/testing/eludris/APKBUILD
new file mode 100644
index 00000000000..587142efe6d
--- /dev/null
+++ b/testing/eludris/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Oliver Wilkes <oliverwilkes2006@icloud.com>
+# Maintainer: Oliver Wilkes <oliverwilkes2006@icloud.com>
+pkgname=eludris
+pkgver=0.3.3
+pkgrel=1
+pkgdesc="Simple CLI to help you with setting up and managing your Eludris instance"
+url="https://github.com/eludris/eludris/tree/main/cli"
+# rust-ring
+arch="all !ppc64le !s390x !riscv64"
+license="MIT"
+makedepends="cargo cargo-auditable openssl-dev"
+subpackages="$pkgname-doc"
+source="eludris-$pkgver.tar.gz::https://github.com/eludris/eludris/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no cli tests right now
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked --manifest-path cli/Cargo.toml
+}
+
+build() {
+ cargo auditable build --frozen --release --bin eludris
+}
+
+package() {
+ install -Dm755 target/release/eludris -t "$pkgdir"/usr/bin/
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+2f0d874620d1a28b8b29a688311b30206df20a92b3f637a364210297cce3bc4ca89066a2b71f317dc629b5bb1591c80b6226b977f26de8f3d1283ee50064c1a6 eludris-0.3.3.tar.gz
+"
diff --git a/testing/elvish/APKBUILD b/testing/elvish/APKBUILD
deleted file mode 100644
index d4a51b8900a..00000000000
--- a/testing/elvish/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Maintainer: Daniel Isaksen <d@duniel.no>
-pkgname=elvish
-pkgver=0.15.0
-pkgrel=3
-pkgdesc="A friendly and expressive shell for Linux, macOS and BSDs"
-url="https://elv.sh/"
-arch="all !mips !mips64" # boltdb
-license="BSD-2-Clause"
-makedepends="go"
-options="!check chmod-clean"
-source="$pkgname-$pkgver.tar.gz::https://github.com/elves/elvish/archive/v$pkgver.tar.gz"
-builddir="$srcdir/src/github.com/elves/$pkgname"
-
-prepare() {
- mkdir -p ${builddir%/*}
- mv "$srcdir"/$pkgname-$pkgver "$builddir"/
- default_prepare
-}
-
-build() {
- export GOPATH="$srcdir"
- go build -o bin/$pkgname
-}
-
-package() {
- install -Dm755 "$builddir"/bin/elvish -t "$pkgdir"/usr/bin
-}
-
-sha512sums="fad60c44710c919384624e680cf22379c90126bd304b21fe12ff4f0fc8d5288456568c14e20d23a24cc5e96a2b90055a92b9741a0c40dda52edeaed1b6a8a9f7 elvish-0.15.0.tar.gz"
diff --git a/testing/emacs-ace-window/APKBUILD b/testing/emacs-ace-window/APKBUILD
new file mode 100644
index 00000000000..eb8875e2cb4
--- /dev/null
+++ b/testing/emacs-ace-window/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-ace-window
+pkgver=0.10.0_git20220911
+_gitrev=77115afc1b0b9f633084cf7479c767988106c196
+pkgrel=0
+_pkgreal=ace-window
+pkgdesc="Quickly switch windows in Emacs"
+url="https://github.com/abo-abo/ace-window"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-avy
+ "
+makedepends="emacs-nox"
+source="https://github.com/abo-abo/ace-window/archive/$_gitrev/emacs-ace-window-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+b159413cb2848907c7d8bce5c685c58314f6e52fca2368305f609690c03b1073ca0e067624390524e4d6b0452dca674509d8f6cb4b80571699d7c0b48be9eb8c emacs-ace-window-77115afc1b0b9f633084cf7479c767988106c196.tar.gz
+"
diff --git a/testing/emacs-async-await/APKBUILD b/testing/emacs-async-await/APKBUILD
new file mode 100644
index 00000000000..032a0a4008e
--- /dev/null
+++ b/testing/emacs-async-await/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-async-await
+pkgver=1.1_git20220826
+_gitrev=5d5b6ea07c09e3ec42f95b13fc837608658324e1
+pkgrel=0
+_pkgreal=async-await
+pkgdesc="Simple implementation of Async/Await"
+url="https://github.com/chuntaro/emacs-async-await"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-iter2
+ emacs-promise
+ "
+makedepends="emacs-nox"
+source="https://github.com/chuntaro/emacs-async-await/archive/$_gitrev/emacs-async-await-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+0967347fed289fb71f2acc7b0118b77cc5e91b3d5acd6d7b9d604832420f88e70e68210bdee4d858aa0ca437b080a36a599939a979069b8d1a21f83cf2469236 emacs-async-await-5d5b6ea07c09e3ec42f95b13fc837608658324e1.tar.gz
+"
diff --git a/testing/emacs-async/APKBUILD b/testing/emacs-async/APKBUILD
new file mode 100644
index 00000000000..62262b171ef
--- /dev/null
+++ b/testing/emacs-async/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-async
+pkgver=1.9.8
+pkgrel=0
+_pkgreal=async
+pkgdesc="Simple library for asynchronous processing"
+url="https://github.com/jwiegley/emacs-async"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+checkdepends="emacs-buttercup"
+source="https://github.com/jwiegley/emacs-async/archive/v$pkgver/emacs-async-$pkgver.tar.gz"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ HOME="$srcdir" buttercup -L . --traceback pretty
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$pkgname/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$pkgname
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+c4c5406ce28dbfea0130b43a7f85d0a47626cf630c73318280896bd28f29bf5a8949077c242cd9c6162fecabbc619b2a270d532df341c4e286f1f7bb499da5f3 emacs-async-1.9.8.tar.gz
+"
diff --git a/testing/emacs-avy/APKBUILD b/testing/emacs-avy/APKBUILD
new file mode 100644
index 00000000000..72ff4247844
--- /dev/null
+++ b/testing/emacs-avy/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-avy
+pkgver=0.5.0_git20230420
+_gitrev=be612110cb116a38b8603df367942e2bb3d9bdbe
+pkgrel=0
+_pkgreal=avy
+pkgdesc="Jump to things in Emacs tree-style"
+url="https://github.com/abo-abo/avy"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/abo-abo/avy/archive/$_gitrev/emacs-avy-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . \
+ -l avy-test -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 avy.el avy.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+4c83c598f39267f1508923ed0fbbf4ae0161768895ce02367ef98c651f17f0fd71edc118c517380e95265a7151bbb52708b82521647cdde6f3c072498bbe2972 emacs-avy-be612110cb116a38b8603df367942e2bb3d9bdbe.tar.gz
+"
diff --git a/testing/emacs-buttercup/APKBUILD b/testing/emacs-buttercup/APKBUILD
new file mode 100644
index 00000000000..bd51a15ece0
--- /dev/null
+++ b/testing/emacs-buttercup/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-buttercup
+pkgver=1.35
+pkgrel=0
+_pkgreal=buttercup
+pkgdesc="Behavior-Driven Emacs Lisp Testing"
+url="https://github.com/jorgenschaefer/emacs-buttercup"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="bash cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/jorgenschaefer/emacs-buttercup/archive/v$pkgver/emacs-buttercup-$pkgver.tar.gz"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . \
+ -l buttercup -f buttercup-run-discover \
+ -- --traceback pretty
+}
+
+package() {
+ install -Dvm755 bin/buttercup \
+ -t "$pkgdir"/usr/bin/
+
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+416edb974999e2eac38040ce72c241ab961cc63f40068711b0436e4f3ca49025955d5ee2d93168770da0f251269652e36c1c9c0436f6ee6133c6ca859dbfe487 emacs-buttercup-1.35.tar.gz
+"
diff --git a/testing/emacs-cangjie/APKBUILD b/testing/emacs-cangjie/APKBUILD
new file mode 100644
index 00000000000..d0461117b3d
--- /dev/null
+++ b/testing/emacs-cangjie/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-cangjie
+pkgver=0.7.4_git20230218
+_gitrev=d6882e15f47fdde37e9f739dde604d77d25f11db
+pkgrel=0
+_pkgreal=cangjie
+pkgdesc="Lookup Cangjie encoding of a Han character"
+url="https://github.com/kisaragi-hiu/cangjie.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-dash
+ emacs-f
+ emacs-s
+ "
+makedepends="emacs-nox"
+source="https://github.com/kisaragi-hiu/cangjie.el/archive/$_gitrev/emacs-cangjie-$_gitrev.tar.gz"
+builddir="$srcdir/cangjie.el-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+3b35b7cb777ea7781ed987970ecd956a05b26ac92b12940c1f7240ebcffd1cb6aab4e6d7fec82ab335acd7bacbc2a9d1f160aba32f0cf605cf03726c24fc15c3 emacs-cangjie-d6882e15f47fdde37e9f739dde604d77d25f11db.tar.gz
+"
diff --git a/testing/emacs-centaur-tabs/APKBUILD b/testing/emacs-centaur-tabs/APKBUILD
new file mode 100644
index 00000000000..dd95e8431f6
--- /dev/null
+++ b/testing/emacs-centaur-tabs/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-centaur-tabs
+pkgver=3.2_git20230601
+_gitrev=0bb1aa18d475319df85f192dce3327802866c3c3
+pkgrel=0
+_pkgreal=centaur-tabs
+pkgdesc="Aesthetic, modern looking tabs plugin"
+url="https://github.com/ema2159/centaur-tabs"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-powerline
+ "
+makedepends="emacs-nox"
+source="https://github.com/ema2159/centaur-tabs/archive/$_gitrev/emacs-centaur-tabs-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+f59668c6ea3af1624a94db4b5afa584f75544689cfc039be1869ed9c633303f13809c208a47dd3c9dfe4f6b27c83381372e46ea624af11e4eed9cedaae8218fd emacs-centaur-tabs-0bb1aa18d475319df85f192dce3327802866c3c3.tar.gz
+"
diff --git a/testing/emacs-circe/APKBUILD b/testing/emacs-circe/APKBUILD
new file mode 100644
index 00000000000..e8670c85b09
--- /dev/null
+++ b/testing/emacs-circe/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-circe
+pkgver=2.13
+pkgrel=0
+_pkgreal=circe
+pkgdesc="Client for IRC in Emacs"
+url="https://github.com/emacs-circe/circe"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+checkdepends="emacs-buttercup"
+source="https://github.com/emacs-circe/circe/archive/v$pkgver/emacs-circe-$pkgver.tar.gz
+ fix-test-tracking.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+ rm -v circe-pkg.elc
+}
+
+check() {
+ HOME="$srcdir" buttercup -L . --traceback pretty
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+10e5998fa211d5a340eacec6bf88fc4ef749fbae01cfbd8cd01204a7d4533d0ecb4dda54543667c5caf4f44142fef737dcc2750d44525f69dfff18e245cae02e emacs-circe-2.13.tar.gz
+696b5ebf5011dbf8a256a5350f03c58a15ee9d9f7b533628ec5f2644592141c287e7b98e67e0d0327e81c54a9888e938c510318c171b8b427924cbdadfe7bb5a fix-test-tracking.patch
+"
diff --git a/testing/emacs-circe/fix-test-tracking.patch b/testing/emacs-circe/fix-test-tracking.patch
new file mode 100644
index 00000000000..fffb5a44156
--- /dev/null
+++ b/testing/emacs-circe/fix-test-tracking.patch
@@ -0,0 +1,27 @@
+Patch-Source: https://github.com/emacs-circe/circe/commit/0bb4ee83693ef3a3504e3cdc512b218afb333af3.patch
+--
+From 0bb4ee83693ef3a3504e3cdc512b218afb333af3 Mon Sep 17 00:00:00 2001
+From: Ola Nilsson <ola.nilsson@gmail.com>
+Date: Tue, 5 Mar 2024 22:34:26 +0100
+Subject: [PATCH] Add lexical-cast to test-tracking.el
+
+Buttercup 1.34 requires lexical-cast: t in all files defining
+buttercup test suites for Emacs >= 29.
+It was already documented as a requirement, but was only actually
+required for some specific functionality. The introduction of
+Oclosures for Emacs versions that support them made it a hard
+requirement.
+---
+ tests/test-tracking.el | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test-tracking.el b/tests/test-tracking.el
+index 35076917..21b252a7 100644
+--- a/tests/test-tracking.el
++++ b/tests/test-tracking.el
+@@ -1,4 +1,4 @@
+-;;; Automated tests for tracking.el
++;;; test-tracking.el --- Automated tests for tracking.el -*- lexical-binding: t; -*-
+
+ (require 'tracking)
+
diff --git a/testing/emacs-compat/APKBUILD b/testing/emacs-compat/APKBUILD
new file mode 100644
index 00000000000..936dbe3d74d
--- /dev/null
+++ b/testing/emacs-compat/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-compat
+pkgver=29.1.4.5
+pkgrel=0
+_pkgreal=compat
+pkgdesc="Forwards-compatibility library for Emacs Lisp"
+url="https://github.com/emacs-compat/compat"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/emacs-compat/compat/archive/$pkgver/emacs-compat-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ default_prepare
+
+ # $pkgver in directory name is needed for
+ # compat-package-get-version test to pass
+ mkdir -v test-$pkgver
+ mv -v compat-tests.el test-$pkgver/
+}
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq compat-strict t byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test-$pkgver \
+ -l compat-tests -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+9682224a1ab5238c7f584121652c55df257fd050279e8356632b2aafef4045dc89b2dfd20cf8f5030dda1d96db40c993cdc3ac0efd0263d23beee8310def0849 emacs-compat-29.1.4.5.tar.gz
+"
diff --git a/testing/emacs-consult/APKBUILD b/testing/emacs-consult/APKBUILD
new file mode 100644
index 00000000000..a019bf66f0d
--- /dev/null
+++ b/testing/emacs-consult/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-consult
+pkgver=1.4_git20240405
+_gitrev=ea7043381b93f0a5236f8ee3f21f151380a0b0f5
+pkgrel=0
+_pkgreal=consult
+pkgdesc="Useful commands based on Emacs completing-read"
+url="https://github.com/minad/consult"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-compat
+ "
+makedepends="emacs-nox"
+source="https://github.com/minad/consult/archive/$_gitrev/emacs-consult-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+48ce64d8316f4419b6de420323f3d01df4ae7623778dc681f3ff9465d8e8544e8c47d34c3fe826a9227b03305f1d1e6d1ac021fa3710f3dc446eff83a772ccb0 emacs-consult-ea7043381b93f0a5236f8ee3f21f151380a0b0f5.tar.gz
+"
diff --git a/testing/emacs-dash/APKBUILD b/testing/emacs-dash/APKBUILD
new file mode 100644
index 00000000000..5d389aee9ec
--- /dev/null
+++ b/testing/emacs-dash/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-dash
+pkgver=2.19.1_git20240216
+_gitrev=5df7605da5a080df769d4f260034fb0e5e86a7a4
+pkgrel=0
+_pkgreal=dash
+pkgdesc="Modern list library for Emacs"
+url="https://github.com/magnars/dash.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/magnars/dash.el/archive/$_gitrev/emacs-dash-$_gitrev.tar.gz"
+builddir="$srcdir/dash.el-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ dash.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . \
+ -l dev/examples -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 dash.el dash.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+88e212f781f40040c7e906d5b170c8d0a1c0dece6800f569ed62955299d6019af31614899c9f2006b3a3b6733b2972d7b99e374874b908f7aec57b6964787e44 emacs-dash-5df7605da5a080df769d4f260034fb0e5e86a7a4.tar.gz
+"
diff --git a/testing/emacs-deferred/APKBUILD b/testing/emacs-deferred/APKBUILD
new file mode 100644
index 00000000000..56944927fcd
--- /dev/null
+++ b/testing/emacs-deferred/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-deferred
+pkgver=0.5.1
+pkgrel=0
+_pkgreal=deferred
+pkgdesc="Manage asynchronous tasks in Elisp"
+url="https://github.com/kiwanami/emacs-deferred"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/kiwanami/emacs-deferred/archive/v$pkgver/emacs-deferred-$pkgver.tar.gz"
+options="!check" # tests require unpackaged "undercover"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+357890f73917c7929cbb79f71a26901ac24abe9ea532181b730deee8eba97709b41c360904e2a2a8028ee1295e7ae845da5c702c74256a450f3d144080960a2b emacs-deferred-0.5.1.tar.gz
+"
diff --git a/testing/emacs-elfeed/APKBUILD b/testing/emacs-elfeed/APKBUILD
new file mode 100644
index 00000000000..c450e95e7f1
--- /dev/null
+++ b/testing/emacs-elfeed/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-elfeed
+pkgver=3.4.1_git20240326
+_gitrev=5c05a1eab37bc113ecb158a4d57fe05352fa2c6a
+pkgrel=0
+_pkgreal=elfeed
+pkgdesc="Emacs Atom/RSS feed reader"
+url="https://github.com/skeeto/elfeed"
+arch="noarch"
+license="Unlicense"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+checkdepends="cmd:curl"
+source="https://github.com/skeeto/elfeed/archive/$_gitrev/emacs-elfeed-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+ rm -v elfeed-pkg.elc
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L tests \
+ -l elfeed-tests -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+681a137cf9e39bbc057f40cde1e6292c94b92d4eee26d78d0c961e7e01c4dd1fd67e659958d5d01b89a3df70e6ff1d7c0b2089eef91c36dee485607deb1958be emacs-elfeed-5c05a1eab37bc113ecb158a4d57fe05352fa2c6a.tar.gz
+"
diff --git a/testing/emacs-embark/APKBUILD b/testing/emacs-embark/APKBUILD
new file mode 100644
index 00000000000..61863df30d6
--- /dev/null
+++ b/testing/emacs-embark/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-embark
+pkgver=1.0_git20240327
+_gitrev=d3c9d1b4c890cf365846cc2b418f37341999e79f
+pkgrel=0
+_pkgreal=embark
+pkgdesc="Conveniently act on minibuffer completions"
+url="https://github.com/oantolin/embark"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-compat
+ "
+makedepends="
+ emacs-avy
+ emacs-consult
+ emacs-nox
+ "
+subpackages="
+ emacs-avy-embark-collect
+ emacs-embark-consult
+ "
+source="https://github.com/oantolin/embark/archive/$_gitrev/emacs-embark-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+collect() {
+ pkgdesc="Use Avy to jump to Embark Collect entries"
+ depends="$pkgname=$pkgver-r$pkgrel emacs-avy"
+ install_if="$pkgname=$pkgver-r$pkgrel emacs-avy"
+
+ amove usr/share/emacs/site-lisp/$_pkgreal/avy-embark-collect.el*
+}
+
+consult() {
+ pkgdesc="Consult integration for Embark"
+ depends="$pkgname=$pkgver-r$pkgrel emacs-consult"
+ install_if="$pkgname=$pkgver-r$pkgrel emacs-consult"
+
+ amove usr/share/emacs/site-lisp/$_pkgreal/embark-consult.el*
+}
+
+sha512sums="
+bfa06e7b7ab95bc52b27e727b397373423c832bd1ff602b0e9d7a9ac85d8a38c6007604c5d3a68ea5e7f4611471e563a91f3780ff514634654a4229feac1c657 emacs-embark-d3c9d1b4c890cf365846cc2b418f37341999e79f.tar.gz
+"
diff --git a/testing/emacs-ement/APKBUILD b/testing/emacs-ement/APKBUILD
new file mode 100644
index 00000000000..b7e1dd68226
--- /dev/null
+++ b/testing/emacs-ement/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-ement
+pkgver=0.14_git20240320
+_gitrev=7fbbb065a86b0f5c44e3249e3b38d484772b6d22
+pkgrel=0
+_pkgreal=ement
+pkgdesc="Matrix client for Emacs"
+url="https://github.com/alphapapa/ement.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-persist
+ emacs-plz
+ emacs-svg-lib
+ emacs-taxy
+ emacs-taxy-magit-section
+ "
+makedepends="emacs-nox"
+source="https://github.com/alphapapa/ement.el/archive/$_gitrev/emacs-ement-$_gitrev.tar.gz"
+builddir="$srcdir/ement.el-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L tests \
+ -l ement-tests -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+42232412a8f87b3d083d162d783f56b4bb2cc750ddd69a350b533f97bcef105a7501714856ed7f2f2778daddd397afd15d03b8323be787305121bb66698d3009 emacs-ement-7fbbb065a86b0f5c44e3249e3b38d484772b6d22.tar.gz
+"
diff --git a/testing/emacs-ert-async/APKBUILD b/testing/emacs-ert-async/APKBUILD
new file mode 100644
index 00000000000..0808d6f5017
--- /dev/null
+++ b/testing/emacs-ert-async/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-ert-async
+pkgver=0.1.2_git20200105
+_gitrev=ec884dea0b72ec15d6c360d0d1fc6528bd993e66
+pkgrel=0
+_pkgreal=ert-async
+pkgdesc="Async support for ERT testing framework"
+url="https://github.com/rejeep/ert-async.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/rejeep/ert-async.el/archive/$_gitrev/emacs-ert-async-$_gitrev.tar.gz"
+builddir="$srcdir/ert-async.el-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+848f36f023fce9eb7d7335a3496c7986b923f8bbe3964f3aa93896a60d7c3125825a5906683d654f7d847b21a9c903117f1fe48f67256821384836284d6832b0 emacs-ert-async-ec884dea0b72ec15d6c360d0d1fc6528bd993e66.tar.gz
+"
diff --git a/testing/emacs-f/APKBUILD b/testing/emacs-f/APKBUILD
new file mode 100644
index 00000000000..a7158199d65
--- /dev/null
+++ b/testing/emacs-f/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-f
+pkgver=0.20.0_git20240307
+_gitrev=1e7020dc0d4c52d3da9bd610d431cab13aa02d8c
+pkgrel=0
+_pkgreal=f
+pkgdesc="Modern API for working with files and directories in Emacs"
+url="https://github.com/rejeep/f.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-dash
+ emacs-s
+ "
+makedepends="emacs-nox"
+source="https://github.com/rejeep/f.el/archive/$_gitrev/emacs-f-$_gitrev.tar.gz"
+builddir="$srcdir/f.el-$_gitrev"
+options="!check" # tests require unpackaged "undercover"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test \
+ -l f-init -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+680de5a75ac9225024905a1ab14251c7eb78ee35a34c42da2566573f06e97a34cc7a643434b5d7dd65519cce24a01ae35b287e5baaff032f242fe10fabed1963 emacs-f-1e7020dc0d4c52d3da9bd610d431cab13aa02d8c.tar.gz
+"
diff --git a/testing/emacs-fsm/APKBUILD b/testing/emacs-fsm/APKBUILD
new file mode 100644
index 00000000000..907fc0a5797
--- /dev/null
+++ b/testing/emacs-fsm/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-fsm
+pkgver=0.2.1_git20221212
+_gitrev=595d57373934ad94423c7f37a6c9cce5df81ec6c
+pkgrel=0
+_pkgreal=fsm
+pkgdesc="State machine library inspired by Erlang's gen_fsm"
+url="https://elpa.gnu.org/packages/fsm.html"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/emacsmirror/fsm/archive/$_gitrev/emacs-fsm-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+538a1bd02c607bc56f28da07ea0c1341c37ee2a04b878e81fd2e4c56f4260779287004fcc329b43dd43ecfe9c75e9dbd4b8a107efdfdb71ae9fd7b8b38ad1bfd emacs-fsm-595d57373934ad94423c7f37a6c9cce5df81ec6c.tar.gz
+"
diff --git a/testing/emacs-git-timemachine/APKBUILD b/testing/emacs-git-timemachine/APKBUILD
new file mode 100644
index 00000000000..eea8d7bcd43
--- /dev/null
+++ b/testing/emacs-git-timemachine/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-git-timemachine
+pkgver=4.13_git20240309
+_gitrev=5ed73c3831cf6da10ba941e6abba708a86853e8f
+pkgrel=0
+_pkgreal=git-timemachine
+pkgdesc="Step through Git revisions of a file"
+url="https://codeberg.org/pidu/git-timemachine"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ cmd:git
+ "
+makedepends="emacs-nox"
+source="$pkgname-$_gitrev.tar.gz::https://codeberg.org/pidu/git-timemachine/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+8e09f181b85249157e3c6bbce561076f02075c08c2a06a30cc60dfc23ad3448feba3ae1ca56d35dbf0c95c63ffe10f2fd179367747db8d7ef61858d610907922 emacs-git-timemachine-5ed73c3831cf6da10ba941e6abba708a86853e8f.tar.gz
+"
diff --git a/testing/emacs-hackernews/APKBUILD b/testing/emacs-hackernews/APKBUILD
new file mode 100644
index 00000000000..db5bbd3f38a
--- /dev/null
+++ b/testing/emacs-hackernews/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-hackernews
+pkgver=0.7.0
+pkgrel=0
+_pkgreal=hackernews
+pkgdesc="Hacker News client using Firebase API"
+url="https://github.com/clarete/hackernews.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/clarete/hackernews.el/archive/v$pkgver/emacs-hackernews-$pkgver.tar.gz"
+builddir="$srcdir/hackernews.el-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+1de6075de0ed841b6c617e0016ab7e37619a7360676aba01e1c8a7a6e401dc600298c66a9c9da907af0c510d09c74f6fc4f49fdf9e400e9bdbb42cc3f853cdc8 emacs-hackernews-0.7.0.tar.gz
+"
diff --git a/testing/emacs-helm/APKBUILD b/testing/emacs-helm/APKBUILD
new file mode 100644
index 00000000000..a622d7403af
--- /dev/null
+++ b/testing/emacs-helm/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-helm
+pkgver=3.9.7_git20240329
+_gitrev=5632e1eb9a11e9df149dee23b2fe469dd7413739
+pkgrel=0
+_pkgreal=helm
+pkgdesc="Emacs incremental completion and selection narrowing framework"
+url="https://github.com/emacs-helm/helm"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-async
+ emacs-popup
+ "
+makedepends="emacs-nox"
+source="https://github.com/emacs-helm/helm/archive/$_gitrev/emacs-helm-$_gitrev.tar.gz
+ remove-autoload-check.patch
+ "
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm755 emacs-helm.sh "$pkgdir"/usr/bin/emacs-helm
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-autoloads.el\")"
+}
+
+sha512sums="
+c6a11ca1dd4774e138be904b35127d6d83e840fcbecc8020a7251f5f6810729de0b566ed8f266ee9db602eb4297206cbc7a6d5a114db49c2b6ccbb4410c72d4a emacs-helm-5632e1eb9a11e9df149dee23b2fe469dd7413739.tar.gz
+88b7e5bd620072e6e87d8f1eb335fa2fb5f1df5c3783b00607b5f5111fb3f937c36076c05c075e2276e368eba9f8e8d11cad8b1de5d05e1bab00ef6f766f7c61 remove-autoload-check.patch
+"
diff --git a/testing/emacs-helm/remove-autoload-check.patch b/testing/emacs-helm/remove-autoload-check.patch
new file mode 100644
index 00000000000..1ea821b5747
--- /dev/null
+++ b/testing/emacs-helm/remove-autoload-check.patch
@@ -0,0 +1,26 @@
+Patch-Source: https://gitweb.gentoo.org/repo/gentoo.git/tree/app-emacs/helm/files/helm-3.8.8-no-autoload-check.patch
+--
+https://bugs.gentoo.org/800177
+
+--- a/emacs-helm.sh
++++ b/emacs-helm.sh
+@@ -137,19 +137,6 @@ LOAD_PATH=$($EMACS -q -batch --eval "(prin1 load-path)")
+
+ cd "${0%/*}" || exit 1
+
+-# Check if autoload file exists.
+-# It may be in a different directory if emacs-helm.sh is a symlink.
+-TRUENAME=$(find "${0%/*}" -path "$0" -printf "%l")
+-if [ -n "$TRUENAME" ]; then
+- AUTO_FILE="${TRUENAME%/*}/helm-autoloads.el"
+-else
+- AUTO_FILE="helm-autoloads.el"
+-fi
+-if [ ! -e "$AUTO_FILE" ]; then
+- echo No autoloads found, please run make first to generate autoload file
+- exit 1
+-fi
+-
+
+ cat > $CONF_FILE <<EOF
+ (setq initial-scratch-message (concat initial-scratch-message
diff --git a/testing/emacs-hnreader/APKBUILD b/testing/emacs-hnreader/APKBUILD
new file mode 100644
index 00000000000..30277bf1a01
--- /dev/null
+++ b/testing/emacs-hnreader/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-hnreader
+pkgver=0_git20221116
+_gitrev=8444e177035e236e991f9ea73074c053a45426ad
+pkgrel=0
+_pkgreal=hnreader
+pkgdesc="Read Hacker News in Org-mode"
+url="https://github.com/thanhvg/emacs-hnreader"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-promise
+ emacs-request
+ "
+makedepends="emacs-nox"
+checkdepends="
+ emacs-ert-async
+ emacs-f
+ "
+source="https://github.com/thanhvg/emacs-hnreader/archive/$_gitrev/emacs-hnreader-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test \
+ -l test-helper -l emacs-hnreader-test \
+ -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+da37a70159ca44ee067dbbf15e068e556f56f693e74826e8b452ea1c177d2c164995a9a499e7b736006d62795b890d68a09a72cf4231e784dda575221b11278f emacs-hnreader-8444e177035e236e991f9ea73074c053a45426ad.tar.gz
+"
diff --git a/testing/emacs-howdoyou/APKBUILD b/testing/emacs-howdoyou/APKBUILD
new file mode 100644
index 00000000000..ce80138311e
--- /dev/null
+++ b/testing/emacs-howdoyou/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-howdoyou
+pkgver=0_git20230927
+_gitrev=10f31a10803c3fd4c304f3a4495d57a0b9cf9ab5
+pkgrel=0
+_pkgreal=howdoyou
+pkgdesc="Search StackOverflow & display results in an Org-mode buffer"
+url="https://github.com/thanhvg/emacs-howdoyou"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-promise
+ emacs-request
+ "
+makedepends="emacs-nox"
+checkdepends="
+ cmd:curl
+ emacs-ert-async
+ emacs-f
+ "
+source="https://github.com/thanhvg/emacs-howdoyou/archive/$_gitrev/emacs-howdoyou-$_gitrev.tar.gz
+ dont-test-against-google.patch
+ "
+builddir="$srcdir/$pkgname-$_gitrev"
+options="net" # test visits StackOverflow and verifies that it can parse result
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test \
+ -l test-helper -l howdoyou-test \
+ -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+e5b763e0078eb53e1f21434df037ae7f9b56a5e88ba157ac147056c2af3653b229ebceee88153e98e84699dae60366de4c8d64e68f74100c3ce04038f282d91b emacs-howdoyou-10f31a10803c3fd4c304f3a4495d57a0b9cf9ab5.tar.gz
+c5eb2d7d87b865fae34c203397cb630060db0bd8bb5da553c2241d7f896c5685fe9117bb4002ab5700980b584924ee1c22c87a458833c6b4ac71a8534f2367f5 dont-test-against-google.patch
+"
diff --git a/testing/emacs-howdoyou/dont-test-against-google.patch b/testing/emacs-howdoyou/dont-test-against-google.patch
new file mode 100644
index 00000000000..37b6ae2fb40
--- /dev/null
+++ b/testing/emacs-howdoyou/dont-test-against-google.patch
@@ -0,0 +1,23 @@
+Google will sometimes ask for Captcha verification, causing the tests to fail
+
+
+--- a/test/howdoyou-test.el
++++ b/test/howdoyou-test.el
+@@ -17,7 +17,7 @@
+ (ert-deftest-async test/promise-dom (done)
+ (promise-done
+ (promise-chain
+- (howdoyou--promise-dom "https://www.google.com")
++ (howdoyou--promise-dom "https://alpinelinux.org")
+ (then (lambda (result)
+ (should (listp result))
+ ;; (message "%s" result)
+@@ -29,7 +29,7 @@
+ (ert-deftest-async test/promise-curl-dom (done)
+ (promise-done
+ (promise-chain
+- (howdoyou--curl-promise-dom "https://www.google.com")
++ (howdoyou--curl-promise-dom "https://alpinelinux.org")
+ (then (lambda (result)
+ (should (listp result))
+ ;; (message "%s" result)
diff --git a/testing/emacs-hydra/APKBUILD b/testing/emacs-hydra/APKBUILD
new file mode 100644
index 00000000000..901dc950085
--- /dev/null
+++ b/testing/emacs-hydra/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-hydra
+pkgver=0.15.0_git20220910
+_gitrev=317e1de33086637579a7aeb60f77ed0405bf359b
+pkgrel=0
+_pkgreal=hydra
+pkgdesc="Make Emacs bindings that stick around"
+url="https://github.com/abo-abo/hydra"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/abo-abo/hydra/archive/$_gitrev/emacs-hydra-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+
+prepare() {
+ default_prepare
+
+ mkdir -v test
+ mv -v hydra-test.el test/
+}
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test \
+ -l hydra-test -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+18323e2b39ea99ee411a689f63c92827919ef66aa49e13bc6a6393af5b29eac81d146397d2ce12a55c9e533f562472e3931a6c4883e183bcb162d3e2d38798cb emacs-hydra-317e1de33086637579a7aeb60f77ed0405bf359b.tar.gz
+"
diff --git a/testing/emacs-iter2/APKBUILD b/testing/emacs-iter2/APKBUILD
new file mode 100644
index 00000000000..3b926f8c75d
--- /dev/null
+++ b/testing/emacs-iter2/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-iter2
+pkgver=1.4
+pkgrel=0
+_pkgreal=iter2
+pkgdesc="Reimplementation of Elisp generators"
+url="https://github.com/doublep/iter2"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/doublep/iter2/archive/$pkgver/emacs-iter2-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test \
+ -l iter2-test -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+3fe6827388e61f6ce39aded0fc844d8aeea6bcef098ae226460632065bcaf33758cc5bfdab2c0eabd3c5d77c5fea93db714d375f1aee7daecc3a623789ed639c emacs-iter2-1.4.tar.gz
+"
diff --git a/testing/emacs-jabber/APKBUILD b/testing/emacs-jabber/APKBUILD
new file mode 100644
index 00000000000..36f85cf2f7c
--- /dev/null
+++ b/testing/emacs-jabber/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-jabber
+pkgver=0_git20240306
+_gitrev=633cb73633143ec093c291af94b008f456037e8b
+pkgrel=0
+_pkgreal=jabber
+pkgdesc="Jabber/XMPP client for Emacs"
+url="https://codeberg.org/emacs-jabber/emacs-jabber"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="
+ cmd:emacs
+ emacs-fsm
+ emacs-srv
+ "
+makedepends="emacs-nox"
+source="$pkgname-$_gitrev.tar.gz::https://codeberg.org/emacs-jabber/emacs-jabber/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname/lisp"
+
+prepare() {
+ default_prepare
+ cp -v ../jabber-ourversion.el .
+}
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq print-length nil load-prefer-newer t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ local tests="load-all.el skip-tag-forward.el history.el
+ jabberd.el nick-change-fail.el
+ caps-hash.el parse-next-stanza.el
+ "
+
+ export top_builddir="$builddir"
+ local test; for test in $tests; do
+ msg "Running tests from $test"
+
+ emacs -batch -q -no-site-file -L . \
+ -L ../tests -l "../tests/$test"
+ done
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+8891c9707c5cc463a4a1dcf2355c4122a4df82b0609bb8b8734588873f72fb571210050c2824fef7176ab79c107c5549e6ef58bfe57f59f7aa1faae774073254 emacs-jabber-633cb73633143ec093c291af94b008f456037e8b.tar.gz
+"
diff --git a/testing/emacs-lab/APKBUILD b/testing/emacs-lab/APKBUILD
new file mode 100644
index 00000000000..182ba11ff53
--- /dev/null
+++ b/testing/emacs-lab/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-lab
+pkgver=2.0.0
+pkgrel=0
+_pkgreal=lab
+pkgdesc="Emacs interface for GitLab"
+url="https://github.com/isamert/lab.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:curl
+ cmd:emacs
+ emacs-async-await
+ emacs-compat
+ emacs-f
+ emacs-memoize
+ emacs-promise
+ emacs-request
+ emacs-s
+ "
+makedepends="emacs-nox"
+source="https://github.com/isamert/lab.el/archive/v$pkgver/emacs-lab-$pkgver.tar.gz"
+builddir="$srcdir/lab.el-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+0835b57ddc74f1b066a36082cc89451b76637f6b1d4aba3313213baad45a5a77d3ff1a3cf595b2376a99b45d41c4d5aa94fe80a45e6c9157a5a558a68d06925d emacs-lab-2.0.0.tar.gz
+"
diff --git a/testing/emacs-liberime/APKBUILD b/testing/emacs-liberime/APKBUILD
new file mode 100644
index 00000000000..c1b3d13b3f9
--- /dev/null
+++ b/testing/emacs-liberime/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-liberime
+pkgver=0.0.6_git20230113
+_gitrev=cc9eb9812fd6f68e78ed6a0c0a85da7a18765753
+pkgrel=0
+_pkgreal=liberime
+pkgdesc="Emacs librime bindings"
+url="https://github.com/merrickluo/liberime"
+arch="all"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox librime-dev"
+checkdepends="emacs-pyim rime-plum-data"
+source="https://github.com/merrickluo/liberime/archive/$_gitrev/emacs-liberime-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # opens an interactive Emacs window
+
+build() {
+ make
+
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ liberime.el
+}
+
+check() {
+ mkdir -p "$srcdir"/.emacs.d/test/rime
+ make HOME="$srcdir" test
+}
+
+package() {
+ install -Dvm644 liberime.el* src/liberime-core.so \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+1f3d2e64e96c1a750ea685ba03e31b920888e2ebcd3ae9c1859771f22de4e2e270768e96fe10d06fb76d6f55ece271063e7832ce3aade6c348b9ddd17a0154f5 emacs-liberime-cc9eb9812fd6f68e78ed6a0c0a85da7a18765753.tar.gz
+"
diff --git a/testing/emacs-lingva/APKBUILD b/testing/emacs-lingva/APKBUILD
new file mode 100644
index 00000000000..cfedb36f32c
--- /dev/null
+++ b/testing/emacs-lingva/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-lingva
+pkgver=0_git20230801
+_gitrev=2667e33cf3524d07cf437dac9380371890efcb15
+pkgrel=0
+_pkgreal=lingva
+pkgdesc="Basic interface to Lingva (Google Translate alternative front-end)"
+url="https://codeberg.org/martianh/lingva.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="$pkgname-$_gitrev.tar.gz::https://codeberg.org/martianh/lingva.el/archive/$_gitrev.tar.gz"
+builddir="$srcdir/lingva.el"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+362ecc09e5eadbfcab07af114b7d9e410315284a69b7e37d342575ec6653ace351758cdb337c9d22b05c9760ebfc0fa9762f76c3f61e210958719ca51c125477 emacs-lingva-2667e33cf3524d07cf437dac9380371890efcb15.tar.gz
+"
diff --git a/testing/emacs-magit/APKBUILD b/testing/emacs-magit/APKBUILD
new file mode 100644
index 00000000000..12976ccf38c
--- /dev/null
+++ b/testing/emacs-magit/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-magit
+pkgver=3.3.0
+pkgrel=0
+_pkgreal=magit
+pkgdesc="Emacs interface for Git"
+url="https://magit.vc/"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ cmd:git
+ emacs-dash
+ emacs-git-commit
+ emacs-magit-section
+ emacs-with-editor
+ "
+makedepends="emacs-nox"
+subpackages="
+ emacs-git-commit
+ emacs-magit-section
+ "
+source="https://github.com/magit/magit/releases/download/v$pkgver/magit-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver/lisp"
+options="!check" # release tarball lacks tests
+
+prepare() {
+ default_prepare
+
+ # experimental package requiring unpackaged "libegit2"
+ rm -v magit-libgit.el
+}
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ HOME="$srcdir" emacs -batch -q -no-site-file -L . -L ../t \
+ -l magit-tests -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/magit/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/magit
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+commit() {
+ pkgdesc="Major mode for editing Git commit messages"
+ depends="cmd:emacs emacs-dash emacs-with-editor"
+
+ amove usr/share/emacs/site-lisp/magit/git-commit.el*
+}
+
+section() {
+ pkgdesc="Collapsible sections like in Magit"
+ depends="cmd:emacs emacs-dash"
+
+ amove usr/share/emacs/site-lisp/magit/magit-section.el*
+}
+
+sha512sums="
+81259a5e7066af31b99b3935fd48c9a76e5001f2cb0fa16c2390c05a464bce13a770c255a44637ba85e6449beeb5af6cd925bca96a6c578da292376c2ae37d76 magit-3.3.0.tar.gz
+"
diff --git a/testing/emacs-memoize/APKBUILD b/testing/emacs-memoize/APKBUILD
new file mode 100644
index 00000000000..79a7599fee8
--- /dev/null
+++ b/testing/emacs-memoize/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-memoize
+pkgver=1.1_git20200103
+_gitrev=51b075935ca7070f62fae1d69fe0ff7d8fa56fdd
+pkgrel=0
+_pkgreal=memoize
+pkgdesc="Elisp memoization functions"
+url="https://github.com/skeeto/emacs-memoize"
+arch="noarch"
+license="Unlicense"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/skeeto/emacs-memoize/archive/$_gitrev/emacs-memoize-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . \
+ -l memoize-test -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 memoize.el memoize.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+c3d40fa6c58d81a2d68dc22adb05ac3f1aa737099467705a64abf2ac98c2fa86b26552a6ccc61697802864ad2cd8d422715620e29d30ce50cf976b2f029930ae emacs-memoize-51b075935ca7070f62fae1d69fe0ff7d8fa56fdd.tar.gz
+"
diff --git a/testing/emacs-persist/APKBUILD b/testing/emacs-persist/APKBUILD
new file mode 100644
index 00000000000..0a3e3b0f245
--- /dev/null
+++ b/testing/emacs-persist/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-persist
+pkgver=0.6_git20240114
+_gitrev=f569906232c3812f5f5d934130edfefbc9165d7f
+pkgrel=0
+_pkgreal=persist
+pkgdesc="Persist Variables between Emacs Sessions"
+url="https://elpa.gnu.org/packages/persist.html"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/emacsmirror/persist/archive/$_gitrev/emacs-persist-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test \
+ -l persist-tests -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+0a33620a5bdf5bb720cd78202e553cc58626a5c01e48a215c1ed06b2a37343973aa39675de1e92885548bbcff111f8ebb5bc89baa377b5981901a74ee702c914 emacs-persist-f569906232c3812f5f5d934130edfefbc9165d7f.tar.gz
+"
diff --git a/testing/emacs-plz-see/APKBUILD b/testing/emacs-plz-see/APKBUILD
new file mode 100644
index 00000000000..39bbb027ca3
--- /dev/null
+++ b/testing/emacs-plz-see/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-plz-see
+pkgver=0_git20231101
+_gitrev=c55e6aa2971caad582df1d449e0f57604250cae1
+pkgrel=0
+_pkgreal=plz-see
+pkgdesc="Interactive HTTP client based on Emacs-plz"
+url="https://github.com/astoff/plz-see.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-plz
+ "
+makedepends="emacs-nox"
+source="https://github.com/astoff/plz-see.el/archive/$_gitrev/emacs-plz-see-$_gitrev.tar.gz"
+builddir="$srcdir/plz-see.el-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/plz/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/plz
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+21344c9771e1a79a0dc7faf8bdcb29a4a8cfb97ef34105cf4752e69a80b6c18a1d975c2e3ad70124132156e2282a10d100fb506c8bf084d80afffc9f018a8584 emacs-plz-see-c55e6aa2971caad582df1d449e0f57604250cae1.tar.gz
+"
diff --git a/testing/emacs-plz/APKBUILD b/testing/emacs-plz/APKBUILD
new file mode 100644
index 00000000000..8bd5507de13
--- /dev/null
+++ b/testing/emacs-plz/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-plz
+pkgver=0.7.2
+pkgrel=0
+_pkgreal=plz
+pkgdesc="HTTP library with curl as backend"
+url="https://github.com/alphapapa/plz.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:curl cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/alphapapa/plz.el/archive/v$pkgver/emacs-plz-$pkgver.tar.gz"
+builddir="$srcdir/plz.el-$pkgver"
+options="net" # tests access httpbin.org
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ # Tests may fail due to network issues, try to repeat 3 times.
+ local i; for i in $(seq 0 3); do
+ [ $i -eq 0 ] || msg "Retrying ($i/3)..."
+ emacs -batch -q -no-site-file -L . -L tests -l test-plz \
+ -eval '(setq plz-test-uri-prefix "https://httpbin.org")' \
+ -f ert-run-tests-batch-and-exit && return 0
+ sleep 1
+ done
+ return 1
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/plz/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/plz
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+01951bbb0e59d6196338a806b4bab030538c411d185acf5462bc1eb4d3130b1da5d78a436e84163dd8167b3705edb6dcafdeef8d4611973521566d34f2ca5654 emacs-plz-0.7.2.tar.gz
+"
diff --git a/testing/emacs-popup/APKBUILD b/testing/emacs-popup/APKBUILD
new file mode 100644
index 00000000000..617c200493a
--- /dev/null
+++ b/testing/emacs-popup/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-popup
+pkgver=0.5.9
+pkgrel=0
+_pkgreal=popup
+pkgdesc="Visual popup user interface library"
+url="https://github.com/auto-complete/popup-el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/auto-complete/popup-el/archive/v$pkgver/emacs-popup-$pkgver.tar.gz"
+builddir="$srcdir/popup-el-$pkgver"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . \
+ -l tests/run-test.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+1a8c5ecb56e695f7a37915063d4e105cee92f8ae5a21e2e39ffe556dfdcf03c056b69f5e36c6ff3643713a914bb531adabcfbc525c531821e1520f7b3e93dc0b emacs-popup-0.5.9.tar.gz
+"
diff --git a/testing/emacs-posframe/APKBUILD b/testing/emacs-posframe/APKBUILD
new file mode 100644
index 00000000000..a634c2dc414
--- /dev/null
+++ b/testing/emacs-posframe/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-posframe
+pkgver=1.4.2
+pkgrel=0
+_pkgreal=posframe
+pkgdesc="Pop up a frame inside Emacs"
+url="https://github.com/tumashu/posframe"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/tumashu/posframe/archive/v$pkgver/emacs-posframe-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 posframe.el posframe.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+e11109d3a85ccaca53995473940aa0a4bd80d333b3001865ba2c9d2b4af647d71b279a70e3e086c14c853896a8c2d74eb54cbc4e129a1face9f186c126c41f7f emacs-posframe-1.4.2.tar.gz
+"
diff --git a/testing/emacs-powerline/APKBUILD b/testing/emacs-powerline/APKBUILD
new file mode 100644
index 00000000000..283d396dfb8
--- /dev/null
+++ b/testing/emacs-powerline/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-powerline
+pkgver=2.4_git20221110
+_gitrev=c35c35bdf5ce2d992882c1f06f0f078058870d4a
+pkgrel=0
+_pkgreal=powerline
+pkgdesc="Library for customizing the mode-line"
+url="https://github.com/milkypostman/powerline"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/milkypostman/powerline/archive/$_gitrev/emacs-powerline-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+be0eedd1b79e37b80f0520706af11b36d0775aced51f08239d240fc19c1c54124bc736009cb2eb1332b9a9a064221885dcaebfac5595211afe9939409256d92b emacs-powerline-c35c35bdf5ce2d992882c1f06f0f078058870d4a.tar.gz
+"
diff --git a/testing/emacs-promise/APKBUILD b/testing/emacs-promise/APKBUILD
new file mode 100644
index 00000000000..267fcf27eff
--- /dev/null
+++ b/testing/emacs-promise/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-promise
+pkgver=1.1_git20210307
+_gitrev=cec51feb5f957e8febe6325335cf57dc2db6be30
+pkgrel=0
+_pkgreal=promise
+pkgdesc="Simple implementation of Promises/A+"
+url="https://github.com/chuntaro/emacs-promise"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+checkdepends="emacs-ert-async"
+source="https://github.com/chuntaro/emacs-promise/archive/$_gitrev/emacs-promise-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test \
+ -l ert-async -l promise -l emacs-promise-test \
+ -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+36311aee3259960b4ed5b8dabe91c31ebab9aec1ad4b517356cb50014f130c850bfeae878d7b0ac17a92ad1122e90d784f496dd7e395c581ea43cb50d4f3663f emacs-promise-cec51feb5f957e8febe6325335cf57dc2db6be30.tar.gz
+"
diff --git a/testing/emacs-pyim-basedict/APKBUILD b/testing/emacs-pyim-basedict/APKBUILD
new file mode 100644
index 00000000000..9a58b3532c6
--- /dev/null
+++ b/testing/emacs-pyim-basedict/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-pyim-basedict
+pkgver=0.5.3
+pkgrel=0
+_pkgreal=pyim-basedict
+pkgdesc="Default Pinyin dict for Emacs-pyim"
+url="https://github.com/tumashu/pyim-basedict"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox emacs-pyim"
+source="https://github.com/tumashu/pyim-basedict/archive/v$pkgver/emacs-pyim-basedict-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc ./*.pyim \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/pyim/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/pyim
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+453a4caab29195baac23160ee95116af7033852e8cd79fd9824e5efe94c6bc480709457817c388b68bdf1ac002e01297e8395abd517a0a17d121cc5705d392fe emacs-pyim-basedict-0.5.3.tar.gz
+"
diff --git a/testing/emacs-pyim-cangjiedict/APKBUILD b/testing/emacs-pyim-cangjiedict/APKBUILD
new file mode 100644
index 00000000000..41f613e8bea
--- /dev/null
+++ b/testing/emacs-pyim-cangjiedict/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-pyim-cangjiedict
+pkgver=0_git20210617
+_gitrev=d17e3d32a6480939b350a91a915ebe8e6efad819
+pkgrel=0
+_pkgreal=pyim-cangjiedict
+pkgdesc="Cangjie dicts for Emacs-pyim"
+url="https://github.com/con5tella/pyim-cangjiedict"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox emacs-pyim"
+source="https://github.com/con5tella/pyim-cangjiedict/archive/$_gitrev/emacs-pyim-cangjiedict-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc ./*.pyim \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/pyim/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/pyim
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+eed4416458f82f93ac8388046a4634bb719deafbe4a23cbe3f5e5c16546d62b3892a3cda6b0deca16889c403b4088dc196ba19e6cf60138315285fa01e5fe78d emacs-pyim-cangjiedict-d17e3d32a6480939b350a91a915ebe8e6efad819.tar.gz
+"
diff --git a/testing/emacs-pyim-smzmdict/APKBUILD b/testing/emacs-pyim-smzmdict/APKBUILD
new file mode 100644
index 00000000000..a76772881d9
--- /dev/null
+++ b/testing/emacs-pyim-smzmdict/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-pyim-smzmdict
+pkgver=0_git20210505
+_gitrev=b66c7c52cfd862b3fdace04f49c2af6c394232b4
+pkgrel=0
+_pkgreal=pyim-smzmdict
+pkgdesc="Sanma(triple) Zhengma dict for Emacs-pyim"
+url="https://github.com/con5tella/pyim-smzmdict"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox emacs-pyim"
+source="https://github.com/con5tella/pyim-smzmdict/archive/$_gitrev/emacs-pyim-smzmdict-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc ./*.pyim \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/pyim/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/pyim
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+64c1add9965fb773f54500802c2a7e73589934431e7f6942dcc054b2773f2490c1a56579a111a8dc4c3296775b97dc9dec201aef413402957f9b98446cd77f2d emacs-pyim-smzmdict-b66c7c52cfd862b3fdace04f49c2af6c394232b4.tar.gz
+"
diff --git a/testing/emacs-pyim-wbdict/APKBUILD b/testing/emacs-pyim-wbdict/APKBUILD
new file mode 100644
index 00000000000..3e5927e6cea
--- /dev/null
+++ b/testing/emacs-pyim-wbdict/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-pyim-wbdict
+pkgver=0.3.0
+pkgrel=0
+_pkgreal=pyim-wbdict
+pkgdesc="Wubi dicts for Emacs-pyim"
+url="https://github.com/tumashu/pyim-wbdict"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox emacs-pyim"
+source="https://github.com/tumashu/pyim-wbdict/archive/$pkgver/emacs-pyim-wbdict-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc ./*.pyim \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/pyim/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/pyim
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+5dc31ab05cefea833f3232853d6f4dddf1b0ff115969f4934093fa329f23c2edcb36176d3b3959c9632c3ee78138e3dfc8ca0a07edc03965c6a970158c7c8ba5 emacs-pyim-wbdict-0.3.0.tar.gz
+"
diff --git a/testing/emacs-pyim/APKBUILD b/testing/emacs-pyim/APKBUILD
new file mode 100644
index 00000000000..561407d49e0
--- /dev/null
+++ b/testing/emacs-pyim/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-pyim
+pkgver=5.3.3
+pkgrel=0
+_pkgreal=pyim
+pkgdesc="Chinese input method derived from Emacs-eim"
+url="https://github.com/tumashu/pyim"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-async
+ emacs-posframe
+ emacs-xr
+ "
+makedepends="emacs-nox"
+checkdepends="emacs-pyim-basedict"
+options="!check" # circular dep with emacs-pyim-basedict
+source="https://github.com/tumashu/pyim/archive/v$pkgver/emacs-pyim-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . \
+ -l tests/pyim-tests.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/pyim/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/pyim
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+e66b2b11c53a0ee196b69760318f5bfb630a1cebd0cabc3a2c865db2aec484aa4e909e7b14f98e563f51ab3dbf2b7458bfea6790a170544503af80b90744d7b6 emacs-pyim-5.3.3.tar.gz
+"
diff --git a/testing/emacs-repology/APKBUILD b/testing/emacs-repology/APKBUILD
new file mode 100644
index 00000000000..ebcf0433a6c
--- /dev/null
+++ b/testing/emacs-repology/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-repology
+pkgver=1.2.4
+_gitrev=a6b41709525e60bdac807f153a3199003ee9d50f
+pkgrel=0
+_pkgreal=repology
+pkgdesc="Repology API access via Elisp"
+url="https://elpa.gnu.org/packages/repology.html"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/emacsmirror/repology/archive/$_gitrev/emacs-repology-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+
+prepare() {
+ default_prepare
+
+ mkdir -v test
+ mv -v repology-tests.el test/
+}
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L test \
+ -l repology-tests -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/$_pkgreal
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+af23239b50859385c1692f4a05d885cba775672cbdd45582232ab3c155b8799f086586e15b6cc606635115283aa5675267016436a7bbf442b52e45f6aa571d40 emacs-repology-1.2.4.tar.gz
+"
diff --git a/testing/emacs-request/APKBUILD b/testing/emacs-request/APKBUILD
new file mode 100644
index 00000000000..457819fb699
--- /dev/null
+++ b/testing/emacs-request/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-request
+pkgver=0.3.2_git20230126
+_gitrev=01e338c335c07e4407239619e57361944a82cb8a
+pkgrel=0
+_pkgreal=request
+pkgdesc="Easy HTTP request library"
+url="https://github.com/tkf/emacs-request"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="
+ emacs-deferred
+ emacs-nox
+ "
+checkdepends="
+ curl
+ py3-flask
+ py3-tornado
+ "
+options="!check" # fragile tests run a local HTTP server written in Python
+subpackages="$pkgname-deferred"
+source="https://github.com/tkf/emacs-request/archive/$_gitrev/emacs-request-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L tests \
+ -l test-request -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+deferred() {
+ pkgdesc="$pkgdesc returning deferred object"
+ depends="$pkgname=$pkgver-r$pkgrel emacs-deferred"
+
+ amove usr/share/emacs/site-lisp/request-deferred.el*
+}
+
+sha512sums="
+6ba0e28278f02033173ef58942c4b85b69b3d530bf10ff903c872d37eceafec8b1c6b081cd8dec84e48a2a60b38b67ffae6ef8c881b22e67c6f9fbeacd583844 emacs-request-01e338c335c07e4407239619e57361944a82cb8a.tar.gz
+"
diff --git a/testing/emacs-rime/APKBUILD b/testing/emacs-rime/APKBUILD
new file mode 100644
index 00000000000..061f6555698
--- /dev/null
+++ b/testing/emacs-rime/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-rime
+pkgver=1.0.5_git20240130
+_gitrev=d8c0a99b0282d3e0aca53146789f6864181228e7
+pkgrel=0
+_pkgreal=rime
+pkgdesc="RIME in Emacs"
+url="https://github.com/DogLooksGood/emacs-rime"
+arch="all"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-dash
+ emacs-popup
+ emacs-posframe
+ "
+makedepends="emacs-nox librime-dev"
+checkdepends="rime-plum-data"
+source="https://github.com/DogLooksGood/emacs-rime/archive/$_gitrev/emacs-rime-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # opens an interactive Emacs window
+
+build() {
+ make lib
+
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ rime*.el
+}
+
+check() {
+ make HOME="$srcdir" test
+}
+
+package() {
+ install -Dvm644 rime*.el* librime-emacs.so \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+d72e2e0fb72fec0cc1e2a5dff86480e1892c962799e258a12d5c2fe41d8a9d54226d0406ed30d19f111c099d22776691fe1c63a2a55320107f2c6fa9743a068f emacs-rime-d8c0a99b0282d3e0aca53146789f6864181228e7.tar.gz
+"
diff --git a/testing/emacs-s/APKBUILD b/testing/emacs-s/APKBUILD
new file mode 100644
index 00000000000..7ac8e9a256c
--- /dev/null
+++ b/testing/emacs-s/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-s
+pkgver=1.13.0_git20230414
+_gitrev=dda84d38fffdaf0c9b12837b504b402af910d01d
+pkgrel=0
+_pkgreal=s
+pkgdesc="Emacs string manipulation library"
+url="https://github.com/magnars/s.el"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/magnars/s.el/archive/$_gitrev/emacs-s-$_gitrev.tar.gz"
+builddir="$srcdir/s.el-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . -L dev \
+ -l examples-to-tests -l examples \
+ -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+07886d28975d6d96610d23eadb1be4fa1a1aba4c7f5414acc7ef77ba567dbee196373b83af4b22ec2377f39973d7c021f75096712bc3915b63cb99b7b79ef806 emacs-s-dda84d38fffdaf0c9b12837b504b402af910d01d.tar.gz
+"
diff --git a/testing/emacs-srv/APKBUILD b/testing/emacs-srv/APKBUILD
new file mode 100644
index 00000000000..5c3e4a5f090
--- /dev/null
+++ b/testing/emacs-srv/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-srv
+pkgver=0.2_git20180715
+_gitrev=714387d5a5cf34d8d8cd96bdb1f9cb8ded823ff7
+pkgrel=0
+_pkgreal=srv
+pkgdesc="Elisp library to perform SRV DNS requests"
+url="https://github.com/legoscia/srv.el"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/legoscia/srv.el/archive/$_gitrev/emacs-srv-$_gitrev.tar.gz
+ optional-dns.el.patch
+ "
+builddir="$srcdir/srv.el-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+72dc537f5db29009b2cdffc5b35d330adaa6793bba29773f49d294280f32ad082456cf5482cf773512cb85ad00113a9780c40c36ad663558ec6d772c09d0e1bc emacs-srv-714387d5a5cf34d8d8cd96bdb1f9cb8ded823ff7.tar.gz
+818343236430be0c1959fd62d75b636a08977632a733b3ee0f6c060621576bedf7f9e323337929ddcfac3b6ff50e64567a4eb666da7bede3561349b5236d9e04 optional-dns.el.patch
+"
diff --git a/testing/emacs-srv/optional-dns.el.patch b/testing/emacs-srv/optional-dns.el.patch
new file mode 100644
index 00000000000..7d4487619dd
--- /dev/null
+++ b/testing/emacs-srv/optional-dns.el.patch
@@ -0,0 +1,38 @@
+--- a/srv.el
++++ b/srv.el
+@@ -1,4 +1,4 @@
+-;;; srv.el --- perform SRV DNS requests
++;;; srv.el --- perform SRV DNS requests -*- lexical-binding: t; -*-
+
+ ;; Copyright (C) 2005, 2007, 2018 Magnus Henoch
+
+@@ -44,7 +44,8 @@
+
+ ;;; Code:
+
+-(require 'dns)
++(require 'dns nil t)
++(eval-when-compile (require 'cl-lib))
+
+ ;;;###autoload
+ (defun srv-lookup (target)
+@@ -55,6 +56,10 @@
+ a hostname and PORT is a numeric port. The caller is supposed to
+ make connection attempts in the order given, starting from the beginning
+ of the list. The list is empty if no SRV records were found."
++ (if (not (boundp 'dns-query-types))
++ (error "No dns.el available")
++ (unless (assq 'SRV dns-query-types)
++ (error "dns.el doesn't support SRV lookups"))
+ (let* ((result (srv--dns-query target))
+ (answers (mapcar #'(lambda (a)
+ (cadr (assq 'data a)))
+@@ -101,7 +106,7 @@
+ ;; Extract hostnames and ports
+ (mapcar #'(lambda (a) (cons (cadr (assq 'target a))
+ (cadr (assq 'port a))))
+- (nreverse weighted-result)))))
++ (nreverse weighted-result))))))
+
+ (defun srv--dns-query (target)
+ "Perform DNS query for TARGET.
diff --git a/testing/emacs-svg-lib/APKBUILD b/testing/emacs-svg-lib/APKBUILD
new file mode 100644
index 00000000000..a8a631adc83
--- /dev/null
+++ b/testing/emacs-svg-lib/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-svg-lib
+pkgver=0_git20240219
+_gitrev=39621cd178dbf903414156d893c1eefe217b7c29
+pkgrel=0
+_pkgreal=svg-lib
+pkgdesc="SVG tags, progress bars & icons for Emacs"
+url="https://github.com/rougier/svg-lib"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/rougier/svg-lib/archive/$_gitrev/emacs-svg-lib-$_gitrev.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ svg-lib.el
+}
+
+package() {
+ install -Dvm644 svg-lib.el svg-lib.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+cb4f5df903c4c4132741d0c5779c98137c1e4396d13bb7aee28516c27f5f08020d7431dec0e9e9b96439044d69e8c7977a1c45a06e875e1fc1969dd457ced220 emacs-svg-lib-39621cd178dbf903414156d893c1eefe217b7c29.tar.gz
+"
diff --git a/testing/emacs-taxy-magit-section/APKBUILD b/testing/emacs-taxy-magit-section/APKBUILD
new file mode 100644
index 00000000000..927d7fa38a2
--- /dev/null
+++ b/testing/emacs-taxy-magit-section/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-taxy-magit-section
+pkgver=0.13
+pkgrel=0
+_pkgreal=taxy-magit-section
+pkgdesc="View Taxy structs in a Magit Section buffer"
+url="https://elpa.gnu.org/packages/taxy-magit-section.html"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-magit-section
+ emacs-taxy
+ "
+makedepends="emacs-nox"
+source="https://github.com/alphapapa/taxy.el/archive/taxy-magit-section-$pkgver/emacs-taxy-magit-section-$pkgver.tar.gz"
+builddir="$srcdir/taxy.el-$_pkgreal-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/taxy/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/taxy
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+625b485cbb079e60d215ed3c4bee5899756b00dec92baa5f0d2e94b7830c1375e0d65bce53f8051137b1e7870336da3e2f6faf216f44cf54e256d0cd312fd81d emacs-taxy-magit-section-0.13.tar.gz
+"
diff --git a/testing/emacs-taxy/APKBUILD b/testing/emacs-taxy/APKBUILD
new file mode 100644
index 00000000000..d7b2a9e4fb7
--- /dev/null
+++ b/testing/emacs-taxy/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-taxy
+pkgver=0.10.1
+pkgrel=0
+_pkgreal=taxy
+pkgdesc="Programmable taxonomical grouping for arbitrary objects"
+url="https://elpa.gnu.org/packages/taxy.html"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/alphapapa/taxy.el/archive/$pkgver/emacs-taxy-$pkgver.tar.gz"
+builddir="$srcdir/taxy.el-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/taxy/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp/taxy
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+7e30db74f8d6173777931c1d8ca3ffcd9063e70bc0a21ed0c123aaf61be1dd7f23f70d7a6d95e22036d245eebf6205baf54c371f798861995b2ca352230d69ab emacs-taxy-0.10.1.tar.gz
+"
diff --git a/testing/emacs-vterm/APKBUILD b/testing/emacs-vterm/APKBUILD
new file mode 100644
index 00000000000..3d9734df4eb
--- /dev/null
+++ b/testing/emacs-vterm/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-vterm
+pkgver=0_git20240324
+_gitrev=ae4ae1aef2fcae98a37aad83f2a6aeeaeacedd4f
+pkgrel=0
+_pkgreal=vterm
+pkgdesc="Fully-fledged terminal emulator based on libvterm"
+url="https://github.com/akermu/emacs-libvterm"
+arch="all"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="
+ cmake
+ emacs-nox
+ libvterm-dev
+ ninja
+ "
+source="https://github.com/akermu/emacs-libvterm/archive/$_gitrev/emacs-vterm-$_gitrev.tar.gz"
+builddir="$srcdir/emacs-libvterm-$_gitrev"
+options="!check" # tests just run the terminal emulator for you to try out
+
+prepare() {
+ default_prepare
+
+ # use system header file
+ rm -v emacs-module.h
+}
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DUSE_SYSTEM_LIBVTERM=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+
+ emacs -batch -q -no-site-file -L . \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc vterm-module.so \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+8afa2f93aa922e143ff7366a99a66a32e7fec41bae8cb71522d1e6bbca5e0130886b60c560c294ceb655fd83a79e5ef35bd513793a3c2b4f6e71a262353ad8f9 emacs-vterm-ae4ae1aef2fcae98a37aad83f2a6aeeaeacedd4f.tar.gz
+"
diff --git a/testing/emacs-with-editor/APKBUILD b/testing/emacs-with-editor/APKBUILD
new file mode 100644
index 00000000000..53ad54ccb1f
--- /dev/null
+++ b/testing/emacs-with-editor/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-with-editor
+pkgver=3.3.2
+pkgrel=0
+_pkgreal=with-editor
+pkgdesc="Use Emacsclient as EDITOR of child processes"
+url="https://github.com/magit/with-editor"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ cmd:emacs
+ emacs-compat
+ "
+makedepends="emacs-nox"
+source="https://github.com/magit/with-editor/archive/v$pkgver/emacs-with-editor-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver/lisp"
+options="!check" # no tests provided
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+package() {
+ install -Dvm644 ./*.el ./*.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+9ee8f36da6e1735aedf9fb0dcf6480de649e3e2daebedd5fc1edf8a9f528046c269cc0bbe182d4cf33180ab11c4af3a794c49cfd2aaff9ddbddcd51b9c1fec21 emacs-with-editor-3.3.2.tar.gz
+"
diff --git a/testing/emacs-xr/APKBUILD b/testing/emacs-xr/APKBUILD
new file mode 100644
index 00000000000..f1426a4233a
--- /dev/null
+++ b/testing/emacs-xr/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=emacs-xr
+pkgver=1.25
+_gitrev=b3310b138e7f8a9fe315dd435739f83935c5769d
+pkgrel=0
+_pkgreal=xr
+pkgdesc="Convert string regexp to rx form"
+url="https://github.com/mattiase/xr"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="cmd:emacs"
+makedepends="emacs-nox"
+source="https://github.com/mattiase/xr/archive/$_gitrev/emacs-xr-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$_gitrev"
+
+build() {
+ emacs -batch -q -no-site-file -L . \
+ -eval '(setq byte-compile-error-on-warn t)' \
+ -f batch-byte-compile \
+ ./*.el
+}
+
+check() {
+ emacs -batch -q -no-site-file -L . \
+ -l xr-test -f ert-run-tests-batch-and-exit
+}
+
+package() {
+ install -Dvm644 xr.el xr.elc \
+ -t "$pkgdir"/usr/share/emacs/site-lisp/
+
+ cd "$pkgdir"/usr/share/emacs/site-lisp
+ emacs -batch -q -no-site-file \
+ -eval "(loaddefs-generate \".\" \"$_pkgreal-loaddefs.el\")"
+}
+
+sha512sums="
+ef9d365bf26934fef290068178adbe7ac58b3cdf5cfbebe91c6ccf4f0a927bfd089c2408f962468e42c7a79548afdc91b17e9ad144bd4ccd41575c1e47ae0a96 emacs-xr-1.25.tar.gz
+"
diff --git a/testing/embree3/APKBUILD b/testing/embree3/APKBUILD
new file mode 100644
index 00000000000..6f37a21a105
--- /dev/null
+++ b/testing/embree3/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Leon Marz <main@lmarz.org>
+# Maintainer: Leon Marz <main@lmarz.org>
+pkgname=embree3
+pkgver=3.13.5
+pkgrel=2
+pkgdesc="High Performance Ray Tracing Kernels"
+url="https://www.embree.org/"
+arch="aarch64 x86_64" # embree needs sse2 and 64 bit
+license="Apache-2.0"
+makedepends="clang cmake onetbb-dev samurai"
+subpackages="$pkgname-dev"
+source="embree-$pkgver.tar.gz::https://github.com/embree/embree/archive/v$pkgver.tar.gz
+ fix-install-detection.patch
+ "
+options="!check" # no tests provided
+builddir="$srcdir/embree-$pkgver"
+
+# has the same files as embree<4
+replaces="embree"
+
+build() {
+ # takes significantly less memory allowing higher than -j4
+ export CC=clang
+ export CXX=clang++
+
+ # build shared library
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DEMBREE_ISPC_SUPPORT=OFF \
+ -DEMBREE_TUTORIALS=OFF \
+ -DEMBREE_RAY_MASK=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ cd "$pkgdir"
+ rm -r usr/share
+}
+
+sha512sums="
+13ae19b1750197fb4887ba601c75d1b54b3c388224672b6561dd922bc9b9747139cf46ce554727e3afa13dcf152ce4d703935cb9105ced792b011f2d05fa3e95 embree-3.13.5.tar.gz
+c21523a6b7b20829a9c589eaba1d5fa235f123557d0ab59804e315002410a4ae1c3793d53ba114cf13c0cd008c54a4bf3d4781b5877d7ecdcbf4970ae2950324 fix-install-detection.patch
+"
diff --git a/testing/embree3/fix-install-detection.patch b/testing/embree3/fix-install-detection.patch
new file mode 100644
index 00000000000..a50e9927755
--- /dev/null
+++ b/testing/embree3/fix-install-detection.patch
@@ -0,0 +1,14 @@
+--- a/common/cmake/installTBB.cmake
++++ b/common/cmake/installTBB.cmake
+@@ -1,11 +1,6 @@
+ ## Copyright 2009-2021 Intel Corporation
+ ## SPDX-License-Identifier: Apache-2.0
+
+-IF (EMBREE_STATIC_LIB)
+- INSTALL(TARGETS TBB EXPORT TBB-targets)
+- INSTALL(EXPORT TBB-targets DESTINATION "${EMBREE_CMAKEEXPORT_DIR}" COMPONENT devel)
+-ENDIF()
+-
+ IF (EMBREE_INSTALL_DEPENDENCIES)
+ IF (TARGET TBB::tbb)
+ GET_TARGET_PROPERTY(LIB_PATH TBB::tbb IMPORTED_LOCATION_RELEASE)
diff --git a/testing/emby/APKBUILD b/testing/emby/APKBUILD
deleted file mode 100644
index e0b460784dd..00000000000
--- a/testing/emby/APKBUILD
+++ /dev/null
@@ -1,86 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer: Carlo Landmeter <clandmeter@alpinelinux.org>
-pkgname=emby
-pkgver=3.0.5911
-pkgrel=4
-pkgdesc="Bring together your videos, music, photos, and live television"
-url="https://emby.media"
-arch="x86_64"
-license="GPL-2.0"
-depends="ffmpeg mono imagemagick sqlite"
-pkgusers=$pkgname
-pkggroups=$pkgname
-depends_dev=""
-makedepends="$depends_dev"
-install="$pkgname.pre-install"
-subpackages="$pkgname-migrate"
-source="Emby-$pkgver.tar.gz::https://github.com/MediaBrowser/Emby/archive/$pkgver.tar.gz
- emby-server
- $pkgname.initd
- $pkgname.confd
- emby-migrate"
-
-_builddir="$srcdir"/Emby-$pkgver
-
-prepare() {
- local i
- local libMagicWand="libMagickWand-7.Q16HDRI.so.8"
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
- mkdir -p "$_builddir"/build
- if [ -e "/usr/lib/$libMagicWand" ]; then
- sed -i s/libMagickWand-6.Q8.so/$libMagicWand/g \
- "$_builddir"/MediaBrowser.Server.Mono/ImageMagickSharp.dll.config \
- || return 1
- else
- die "libMagickWand not found!"
- fi
- if [ -e "/usr/lib/libsqlite3.so.0" ]; then
- sed -i s/libsqlite3.so/libsqlite3.so.0/g \
- "$_builddir"/MediaBrowser.Server.Mono/System.Data.SQLite.dll.config \
- || return 1
- else
- die "libsqlite3 not found!"
- fi
-}
-
-build() {
- cd "$_builddir"
- xbuild \
- /p:Configuration='Release Mono' \
- /p:Platform='Any CPU' \
- /p:OutputPath="$_builddir"/build \
- /t:build MediaBrowser.Mono.sln || return 1
-}
-
-package() {
- cd "$_builddir"
- mkdir -p "$pkgdir"/usr/lib/emby || return 1
- install -d -o $pkgusers -g $pkggroups \
- "$pkgdir"/var/lib/emby || return 1
- cp -r "$_builddir"/build/* \
- "$pkgdir"/usr/lib/emby/
- install -Dm755 "$srcdir"/emby-server \
- "$pkgdir"/usr/bin/emby-server || return 1
- install -Dm755 "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/emby || return 1
- install -Dm644 "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/emby || return 1
-}
-
-migrate() {
- pkgdesc="$pkgname database migration script"
- depends="sqlite"
- install -Dm755 "$srcdir"/emby-migrate \
- "$subpkgdir"/usr/bin/emby-migrate || return 1
-}
-
-sha512sums="ec48ee8d8403074b91d0dfc90cf463bab805c8b59f06d8e9035a166b1a41d8b4f2c22d007f17b763c902e655c34c3dc01f73bedfe9ada7592e72fd3f96513e39 Emby-3.0.5911.tar.gz
-f161fbf2d83d91e5436578f1998410dba991c8d2de4fb8852ec106b13ce3e7119fec7432998dfffa2c488425e2a5eacaf34b0c4e6fc93ad370c1ba94b3eaa2e4 emby-server
-2a520ee646b0489bbacd79679e75828194cbcd41845948816d1ae4d129f7cd582561f7357fa0c6d7f3f1970cc7900ae34338d54a4e54d5b21284c020a911e284 emby.initd
-ebdb39d3e17277ecc51709fc6862265295892d6aa1b5f1b9da537a80552b81c845863cd058ab468f7cf20c22f8f56954b7cce4d149f8fa233ea19ae7aa0bc001 emby.confd
-d4275622b26228c352ee9150441995c2062f6afdda46ccca176ad13a17d5ce432f6cf80b7c7d3029763d3e6fb79cf9a7a07bdbf4fef1dfaee2811c56ec0ec7b9 emby-migrate"
diff --git a/testing/emby/emby-migrate b/testing/emby/emby-migrate
deleted file mode 100644
index a74429f23ee..00000000000
--- a/testing/emby/emby-migrate
+++ /dev/null
@@ -1,56 +0,0 @@
-#!/bin/sh
-
-USER='emby'
-GROUP='emby'
-
-usage() {
- echo 'Usage: emby-migrate-database {-u user} {-g group} old_path_full new_path_full'
- echo 'Default user: emby'
- echo 'Default group: emby'
-}
-
-migrate() {
- if [[ $1 && $2 ]]; then
- if [[ -f $1/data/library.db ]]; then
- if [[ ! -e $2 ]]; then
- mkdir -p $2
- fi
- if [[ -d $2 ]]; then
- if [[ -z $(ls $2) ]]; then
- cp -r $1/* $2/
- sqlite3 $2/data/library.db "UPDATE TypedBaseItems SET data = CAST(REPLACE(CAST(data AS TEXT), '$1', '$2') AS BLOB);"
- chown $USER:$GROUP -R $2
- echo "Migration complete. You can now delete $1."
- else
- echo "$2 is not empty. Aborting."
- fi
- else
- echo "$2 is not a directory. Aborting."
- fi
- else
- echo "$1 does not contain an emby database. Aborting."
- fi
- else
- usage
- fi
-}
-
-if [[ $1 == '--help' ]]; then
- usage
-else
- while getopts 'u:g:' opt; do
- case $opt in
- u)
- USER=$OPTARG
- ;;
- g)
- GROUP=$OPTARG
- ;;
- \?)
- usage
- ;;
- esac
- done
- shift $((OPTIND-1))
- migrate
-fi
diff --git a/testing/emby/emby-server b/testing/emby/emby-server
deleted file mode 100644
index f6f84eecbfe..00000000000
--- a/testing/emby/emby-server
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-exec /usr/bin/mono /usr/lib/emby/MediaBrowser.Server.Mono.exe \
- -programdata /var/lib/emby \
- -ffmpeg /usr/bin/ffmpeg \
- -ffprobe /usr/bin/ffprobe
diff --git a/testing/emby/emby.confd b/testing/emby/emby.confd
deleted file mode 100644
index ba1ccb2d6bf..00000000000
--- a/testing/emby/emby.confd
+++ /dev/null
@@ -1,8 +0,0 @@
-# emby settings
-emby_server="/usr/lib/emby/MediaBrowser.Server.Mono.exe"
-emby_user="emby"
-emby_group="emby"
-emby_pid="/var/run/emby.pid"
-datadir="/var/lib/emby"
-ffmpeg="/usr/bin/ffmpeg"
-ffprobe="/usr/bin/ffprobe"
diff --git a/testing/emby/emby.initd b/testing/emby/emby.initd
deleted file mode 100644
index e0e2dbb33f5..00000000000
--- a/testing/emby/emby.initd
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/sbin/openrc-run
-
-name=emby
-command=/usr/bin/mono
-command_args="$emby_server -programdata $datadir -ffmpeg $ffmpeg -ffprobe $ffprobe"
-command_background=true
-pidfile=$emby_pid
-start_stop_daemon_args="--user $emby_user --group $emby_group"
-
-depend() {
- use logger dns
- need net
- after firewall
-}
diff --git a/testing/emby/emby.pre-install b/testing/emby/emby.pre-install
deleted file mode 100644
index d287d7307f1..00000000000
--- a/testing/emby/emby.pre-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-addgroup -S emby 2>/dev/null
-adduser -S -D -h /var/lib/emby -s /sbin/nologin -G emby \
- -g "Emby media server" emby 2>/dev/null
-
-exit 0
diff --git a/testing/empede/APKBUILD b/testing/empede/APKBUILD
new file mode 100644
index 00000000000..ca84836c78e
--- /dev/null
+++ b/testing/empede/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=empede
+pkgver=0.2.3
+pkgrel=0
+pkgdesc="A web client for MPD written in Rust"
+url="https://git.sijman.nl/_/empede"
+arch="all"
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+"
+install="empede.pre-install"
+subpackages="$pkgname-openrc $pkgname-doc"
+source="
+ $pkgname-$pkgver.tar.gz::https://git.sijman.nl/_/empede/archive/v$pkgver.tar.gz
+ empede.initd
+ empede.confd
+"
+builddir="$srcdir/$pkgname"
+options="net !check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm 755 target/release/empede "$pkgdir"/usr/bin/empede
+ mkdir -p "$pkgdir"/usr/lib/empede
+ cp -af static templates -t "$pkgdir"/usr/lib/empede
+
+ install -Dm 644 LICENSE.md "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE.md
+
+ install -Dm 755 "$srcdir"/empede.initd "$pkgdir"/etc/init.d/empede
+ install -Dm 644 "$srcdir"/empede.confd "$pkgdir"/etc/conf.d/empede
+}
+
+sha512sums="
+9683716fa8b9e0b950790f081f3fc74686af5b90b014f7e50f17bd56f1af8a1b86611142b66abb7d89ef52e29603b8763723d6b8ed094805a64aad8aaa46a11d empede-0.2.3.tar.gz
+a241ecc998a2d891008766b6c8cc636e904b9450a50ed3c965adb9f6d304cd205f7c45992761c3ee6a207a68d2b004a617bf7875194294e07bca7ff3c16e8e1d empede.initd
+4bcb3b089cd8c7c552e401ed9bc3da4ce631aa22d891b7ae0fa6d268921aeeddeee5951ae7655bdb155eda823f7886a2d644d762f4d48e80e8a5d0ccad063314 empede.confd
+"
diff --git a/testing/empede/empede.confd b/testing/empede/empede.confd
new file mode 100644
index 00000000000..dcd248e3199
--- /dev/null
+++ b/testing/empede/empede.confd
@@ -0,0 +1,4 @@
+#export MPD_HOST=localhost
+#export MPD_PORT=6600
+#export MPD_PASSWORD=
+export EMPEDE_BIND=0.0.0.0:3737
diff --git a/testing/empede/empede.initd b/testing/empede/empede.initd
new file mode 100644
index 00000000000..30818e58ee0
--- /dev/null
+++ b/testing/empede/empede.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+
+command="/usr/bin/empede"
+command_user="empede:empede"
+command_background=true
+directory="/usr/lib/empede"
+pidfile="/run/$RC_SVCNAME.pid"
+
+output_log="/var/log/empede.log"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -f -m 0644 -o "$command_user" "$output_log"
+}
diff --git a/testing/empede/empede.pre-install b/testing/empede/empede.pre-install
new file mode 100644
index 00000000000..f55983850de
--- /dev/null
+++ b/testing/empede/empede.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S empede 2>/dev/null
+adduser -S -D -s /sbin/nologin -H -G empede -g empede empede 2>/dev/null
+
+exit 0
diff --git a/testing/emulationstation/APKBUILD b/testing/emulationstation/APKBUILD
index ac58095b582..9e9133bbe04 100644
--- a/testing/emulationstation/APKBUILD
+++ b/testing/emulationstation/APKBUILD
@@ -1,66 +1,74 @@
# Contributor: Taner Tas <taner76@gmail.com>
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=emulationstation
-_pkgname="EmulationStation"
-pkgver=2.9.4
+pkgver=2.11.2
+_gbz35="05895874b2920ab6ffeeb574d053f3d9e976c000"
pkgrel=0
pkgdesc="EmulationStation is a cross-platform graphical front-end for emulators with controller navigation."
url="https://github.com/RetroPie/EmulationStation"
-arch="all !armhf !s390x !mips !mips64 !riscv64" # vlc-dev
+arch="all !armhf !s390x" # vlc-dev
license="MIT"
-makedepends="boost-dev freeimage-dev freetype-dev sdl2-dev mesa-dev alsa-lib-dev vlc-dev curl-dev cmake rapidjson-dev"
-_theme_name="gbz35"
-_theme_commit="05895874b2920ab6ffeeb574d053f3d9e976c000"
-_pugixml_ver="1.11.1"
-subpackages="$pkgname-theme-$_theme_name:theme:noarch"
+makedepends="
+ alsa-lib-dev
+ boost-dev
+ cmake
+ curl-dev
+ freeimage-dev
+ freetype-dev
+ mesa-dev
+ pugixml-dev
+ rapidjson-dev
+ samurai
+ sdl2-dev
+ vlc-dev
+ "
+subpackages="$pkgname-theme-gbz35:theme:noarch"
options="!check" # No test suite
-source="$pkgname-$pkgver.tar.gz::https://github.com/RetroPie/$_pkgname/archive/v$pkgver.tar.gz
- $pkgname-theme-$_theme_name-$_theme_commit.tar.gz::https://github.com/rxbrad/es-theme-$_theme_name/archive/$_theme_commit.tar.gz
- pugixml-$_pugixml_ver.tar.gz::https://github.com/zeux/pugixml/archive/v$_pugixml_ver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/RetroPie/EmulationStation/archive/v$pkgver.tar.gz
+ $pkgname-theme-gbz35-$_gbz35.tar.gz::https://github.com/rxbrad/es-theme-gbz35/archive/$_gbz35.tar.gz
default-paths.patch
+ pugixml.patch
emulationstation.desktop
- emulationstation.png"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-prepare() {
- if [ ! -d external/pugixml.dist ]; then
- mv -f external/pugixml external/pugixml.dist
- cp -aP "$srcdir"/pugixml-$_pugixml_ver external/pugixml
- fi
- default_prepare
-}
+ emulationstation.png
+ "
+builddir="$srcdir"/EmulationStation-$pkgver
build() {
- cmake .
- make
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
}
package() {
- depends="$pkgname-theme-default"
- mkdir -p "$pkgdir"/usr/bin
- mkdir -p "$pkgdir"/usr/share/pixmaps
- mkdir -p "$pkgdir"/usr/share/applications
- mkdir -p "$pkgdir"/usr/share/$pkgname/gamelists
- mkdir -p "$pkgdir"/usr/share/$pkgname/themes
- install -Dm755 emulationstation "$pkgdir"/usr/bin/emulationstation
- install -Dm644 "$srcdir"/$pkgname.png "$pkgdir"/usr/share/pixmaps/
- install -Dm644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications/
+ depends="$pkgname-theme-gbz35=$pkgver-r$pkgrel"
+
+ install -Dm755 emulationstation -t "$pkgdir"/usr/bin/
+ install -Dm644 "$srcdir"/emulationstation.png -t "$pkgdir"/usr/share/icons/hicolor/256x256/apps/
+ install -Dm644 "$srcdir"/emulationstation.desktop -t "$pkgdir"/usr/share/applications/
+
+ mkdir -p "$pkgdir"/usr/share/emulationstation/themes
+ cp -r "$srcdir"/es-theme-gbz35-$_gbz35 \
+ "$pkgdir"/usr/share/emulationstation/themes/gbz35
+
+ mkdir -p "$pkgdir"/usr/share/emulationstation/gamelists
}
theme() {
- pkgdesc="$_theme_name theme for $_pkgname"
+ pkgdesc="gbz35 theme for emulationstation"
license="CC-BY-NC-SA-3.0"
url="https://github.com/rxbrad/es-theme-gbz35"
- provides="$pkgname-theme-default"
- install -d -m755 "$subpkgdir"/usr/share/$pkgname/themes
- cp -r "$srcdir"/es-theme-$_theme_name-$_theme_commit \
- "$subpkgdir"/usr/share/$pkgname/themes/$_theme_name
+ amove usr/share/emulationstation/themes/gbz35
}
-sha512sums="aa2670668e0fac1c462351f98fd1440146dbb766fc08968a4c9c0b8181bf28646cd06e4bcc3b4baef9c46c5e54e3d2271bdc71c7fef28cda78550e0aae36ae04 emulationstation-2.9.4.tar.gz
+
+sha512sums="
+49abfdfb90ddd1abac0cca2008c9efaf657dbf973e3caa07d547163ed29b7a74c8cfc6e82e1bbad6da4c8c122c748783e003d70cc3a626edec9191ee055d4e19 emulationstation-2.11.2.tar.gz
23e764e41a8ca359657508f5103c841e25d6403ddaafa9ca2f55379e42a17541d85cacac9d18fa9316d17450cd6bd6b8ae345f07165971b2a02e03b8e33bf35c emulationstation-theme-gbz35-05895874b2920ab6ffeeb574d053f3d9e976c000.tar.gz
-94a79a28d96e763cdd8951c4d0b20aefb43cd1b32cbf5a5354b09f2636710e960e2dbfa56534b61c8d6ddecb2126a006e5f485c1465a97376e1cc077df25f16e pugixml-1.11.1.tar.gz
f97954e411078507b312b9859ff300bf2018945dedc2be593103a0aca1b0bd233a173ab6f74c983735bf0bbc0600b49ba6987b60c03ed697c1328f906c154799 default-paths.patch
+21755e8cb8a035cbd62318be3e45db0abc3dfce76ad82348a36e496b893e6583b1209a48dd9a001bbdd55c86479ef49bcccce67858a50273170cb9f5de62f67a pugixml.patch
814a196d234266809f2c3f64c7179e3138e017eb67d1c54dcc2e8c504c1439cb73f17352575cd582ce044b08405f3a369d049127c9f4c5a1336072435dfa54f0 emulationstation.desktop
-4a24c435aeef22d7d69c3af113bff97c2c99b4a1eb2e5c97f53a6cce1f11a4f92bf4250388598a89f8fd462e03ea6fc73b75739573faf6f7b30c98ab53ddb5bf emulationstation.png"
+70eb80598cd51edb1d95dd0a1784792e2e526b23efd46f1af3246e8ca321422cdd3309d11c23506cce68fca1f4bafec97d8a0436a53047bcb78b63eb3be23b7e emulationstation.png
+"
diff --git a/testing/emulationstation/emulationstation.png b/testing/emulationstation/emulationstation.png
index 251686c0768..c9fa4c55b59 100644
--- a/testing/emulationstation/emulationstation.png
+++ b/testing/emulationstation/emulationstation.png
Binary files differ
diff --git a/testing/emulationstation/pugixml.patch b/testing/emulationstation/pugixml.patch
new file mode 100644
index 00000000000..f05c7f694e6
--- /dev/null
+++ b/testing/emulationstation/pugixml.patch
@@ -0,0 +1,152 @@
+diff --git a/es-app/src/CollectionSystemManager.cpp b/es-app/src/CollectionSystemManager.cpp
+index 52dca51..30f62cd 100644
+--- a/es-app/src/CollectionSystemManager.cpp
++++ b/es-app/src/CollectionSystemManager.cpp
+@@ -12,7 +12,7 @@
+ #include "Settings.h"
+ #include "SystemData.h"
+ #include "ThemeData.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <fstream>
+
+ std::string myCollectionsName = "collections";
+diff --git a/es-app/src/Gamelist.cpp b/es-app/src/Gamelist.cpp
+index 0dd89ca..c74d14e 100644
+--- a/es-app/src/Gamelist.cpp
++++ b/es-app/src/Gamelist.cpp
+@@ -8,7 +8,7 @@
+ #include "Log.h"
+ #include "Settings.h"
+ #include "SystemData.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ FileData* findOrCreateFile(SystemData* system, const std::string& path, FileType type)
+ {
+diff --git a/es-app/src/MetaData.cpp b/es-app/src/MetaData.cpp
+index 4841030..a71a500 100644
+--- a/es-app/src/MetaData.cpp
++++ b/es-app/src/MetaData.cpp
+@@ -2,7 +2,7 @@
+
+ #include "utils/FileSystemUtil.h"
+ #include "Log.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ MetaDataDecl gameDecls[] = {
+ // key, type, default, statistic, name in GuiMetaDataEd, prompt in GuiMetaDataEd
+diff --git a/es-app/src/SystemData.h b/es-app/src/SystemData.h
+index 688bc80..5a2e8fa 100644
+--- a/es-app/src/SystemData.h
++++ b/es-app/src/SystemData.h
+@@ -9,7 +9,7 @@
+ #include <string>
+ #include <vector>
+
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ class FileData;
+ class FileFilterIndex;
+diff --git a/es-app/src/scrapers/GamesDBJSONScraper.cpp b/es-app/src/scrapers/GamesDBJSONScraper.cpp
+index 9ca9f20..d92841c 100644
+--- a/es-app/src/scrapers/GamesDBJSONScraper.cpp
++++ b/es-app/src/scrapers/GamesDBJSONScraper.cpp
+@@ -10,7 +10,7 @@
+ #include "Settings.h"
+ #include "SystemData.h"
+ #include "utils/TimeUtil.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ /* When raspbian will get an up to date version of rapidjson we'll be
+ able to have it throw in case of error with the following:
+diff --git a/es-app/src/scrapers/ScreenScraper.cpp b/es-app/src/scrapers/ScreenScraper.cpp
+index 8cd59eb..cb2f594 100644
+--- a/es-app/src/scrapers/ScreenScraper.cpp
++++ b/es-app/src/scrapers/ScreenScraper.cpp
+@@ -7,7 +7,7 @@
+ #include "PlatformId.h"
+ #include "Settings.h"
+ #include "SystemData.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <cstring>
+
+ using namespace PlatformIds;
+diff --git a/es-core/src/InputConfig.cpp b/es-core/src/InputConfig.cpp
+index 3a85ebb..56a6863 100644
+--- a/es-core/src/InputConfig.cpp
++++ b/es-core/src/InputConfig.cpp
+@@ -2,7 +2,7 @@
+
+ #include "Log.h"
+ #include "utils/StringUtil.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+
+ //some util functions
+ std::string inputTypeToString(InputType type)
+diff --git a/es-core/src/InputManager.cpp b/es-core/src/InputManager.cpp
+index 94e18ef..67a8901 100644
+--- a/es-core/src/InputManager.cpp
++++ b/es-core/src/InputManager.cpp
+@@ -6,7 +6,7 @@
+ #include "platform.h"
+ #include "Scripting.h"
+ #include "Window.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <SDL.h>
+ #include <iostream>
+ #include <assert.h>
+diff --git a/es-core/src/MameNames.cpp b/es-core/src/MameNames.cpp
+index e0dee5c..f05e864 100644
+--- a/es-core/src/MameNames.cpp
++++ b/es-core/src/MameNames.cpp
+@@ -3,7 +3,7 @@
+ #include "resources/ResourceManager.h"
+ #include "utils/FileSystemUtil.h"
+ #include "Log.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <string.h>
+
+ MameNames* MameNames::sInstance = nullptr;
+diff --git a/es-core/src/Settings.cpp b/es-core/src/Settings.cpp
+index d38bf95..d9a2ae0 100644
+--- a/es-core/src/Settings.cpp
++++ b/es-core/src/Settings.cpp
+@@ -4,7 +4,7 @@
+ #include "Log.h"
+ #include "Scripting.h"
+ #include "platform.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <algorithm>
+ #include <vector>
+
+diff --git a/es-core/src/ThemeData.cpp b/es-core/src/ThemeData.cpp
+index 52a35c6..c223978 100644
+--- a/es-core/src/ThemeData.cpp
++++ b/es-core/src/ThemeData.cpp
+@@ -7,7 +7,7 @@
+ #include "Log.h"
+ #include "platform.h"
+ #include "Settings.h"
+-#include <pugixml/src/pugixml.hpp>
++#include <pugixml.hpp>
+ #include <algorithm>
+
+ std::vector<std::string> ThemeData::sSupportedViews { { "system" }, { "basic" }, { "detailed" }, { "grid" }, { "video" } };
+diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt
+index 03b743b..deec3de 100644
+--- a/external/CMakeLists.txt
++++ b/external/CMakeLists.txt
+@@ -2,4 +2,3 @@
+ # package managers are included with the project (in the 'external' folder)
+
+ add_subdirectory("nanosvg")
+-add_subdirectory("pugixml")
diff --git a/testing/endeavour/APKBUILD b/testing/endeavour/APKBUILD
new file mode 100644
index 00000000000..aed6544ed93
--- /dev/null
+++ b/testing/endeavour/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=endeavour
+pkgver=43.0
+pkgrel=1
+pkgdesc="Personal task manager for GNOME"
+url="https://wiki.gnome.org/Apps/Todo"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ evolution-data-server-dev
+ gnome-online-accounts-dev
+ gtk4.0-dev
+ itstool
+ libadwaita-dev
+ libpeas-dev
+ meson
+ "
+subpackages="$pkgname-lang $pkgname-doc $pkgname-dev"
+source="https://gitlab.gnome.org/World/Endeavour/-/archive/$pkgver/Endeavour-$pkgver.tar.gz"
+builddir="$srcdir/Endeavour-$pkgver"
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+fca96729595f59b16d54e18cebed81e3b68e67f466f479bdcd0b68405b7051bade2a730f1b62502d0c7342a08fe3a8183b94a7f6be21830326ba0a7fab2480ed Endeavour-43.0.tar.gz
+"
diff --git a/testing/endless-sky/APKBUILD b/testing/endless-sky/APKBUILD
new file mode 100644
index 00000000000..7cfa7790443
--- /dev/null
+++ b/testing/endless-sky/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=endless-sky
+pkgver=0.9.16.1
+pkgrel=0
+pkgdesc="sandbox-style 2D space trading and combat game"
+url="https://endless-sky.github.io/"
+arch="all !s390x !riscv64" # videogame
+license="GPL-3.0-or-later AND CC-BY-SA-4.0 AND CC-BY-SA-3.0 AND CC-BY-3.0"
+makedepends="
+ glew-dev
+ libjpeg-turbo-dev
+ libmad-dev
+ libpng-dev
+ openal-soft-dev
+ scons
+ sdl2-dev
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/endless-sky/endless-sky/archive/refs/tags/v$pkgver/endless-sky-$pkgver.tar.gz
+ install-path.patch"
+
+prepare() {
+ default_prepare
+
+ # use the fast lto instead of the slow lto
+ sed -i 's|-flto|-flto=auto|g' SConstruct
+}
+
+build() {
+ # lto fortify-headers
+ export CXXFLAGS="$CXXFLAGS -U_FORTIFY_SOURCE"
+ scons -j "${JOBS:-2}"
+}
+
+check() {
+ scons test
+}
+
+package() {
+ scons DESTDIR="$pkgdir" PREFIX=/usr install
+ install -Dm644 copyright "$pkgdir"/usr/share/licenses/$pkgname/copyright
+}
+
+sha512sums="
+83e0a47160506b1e3608f67534e2dbcf51515d809016efc379448d14331229ffe26360f82cc60c565c84b10c605aec846efc19bcd4af10ee116e5ef8fc804d56 endless-sky-0.9.16.1.tar.gz
+91a32aa67cf70a2c6462579cff01aba9d85901675e07c9f296ce03bb34f9dca0f18594c921856ff6c369fe6eb282d9da80148019ebbd7faeecc9231ddec2d57c install-path.patch
+"
diff --git a/testing/endless-sky/install-path.patch b/testing/endless-sky/install-path.patch
new file mode 100644
index 00000000000..3035c0e9f74
--- /dev/null
+++ b/testing/endless-sky/install-path.patch
@@ -0,0 +1,13 @@
+diff --git a/SConstruct b/SConstruct
+index 3ae455a..6d25bdf 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -157,7 +157,7 @@ env.AlwaysBuild("test")
+
+
+ # Install the binary:
+-env.Install("$DESTDIR$PREFIX/games", sky)
++env.Install("$DESTDIR$PREFIX/bin", sky)
+
+ # Install the desktop file:
+ env.Install("$DESTDIR$PREFIX/share/applications", "endless-sky.desktop")
diff --git a/testing/endlessh/APKBUILD b/testing/endlessh/APKBUILD
new file mode 100644
index 00000000000..13f3633c95e
--- /dev/null
+++ b/testing/endlessh/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=endlessh
+pkgver=1.1
+pkgrel=0
+pkgdesc="SSH tarpit that very slowly sends an endless, random SSH banner"
+url="https://github.com/skeeto/endlessh"
+arch="all"
+license="Unlicense"
+options="!check" # no test suite
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skeeto/endlessh/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+7df2463425ad1417a2e328eacfb840aed14727168b83b5adf80cf6c5c98a6fc05f96bba9257b543ef60202a74383e4978e92c4a1b959e35d4ab94e0e5bda14fd endlessh-1.1.tar.gz
+"
diff --git a/testing/enigma/APKBUILD b/testing/enigma/APKBUILD
deleted file mode 100644
index 550a02c756e..00000000000
--- a/testing/enigma/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=enigma
-pkgver=1.30
-pkgrel=0
-pkgdesc="Puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga"
-url="http://www.nongnu.org/enigma/"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="
- imagemagick enet-dev
- sdl2-dev sdl2_image-dev
- sdl2_ttf-dev sdl2_mixer-dev
- gettext-tiny-dev xerces-c-dev
- curl-dev libpng-dev
- "
-subpackages="$pkgname-doc"
-source="https://github.com/Enigma-Game/Enigma/releases/download/$pkgver/Enigma-$pkgver-src.tar.gz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --with-system-enet
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-57c6d642538b7bce6a748e1e1bce641dcc1dcd627a4e2c4dfe5d1271bf9df624075914c04fc6cddc1b1118585e4f111d79c8c8a54a1a6b93a8bedfb1aa9f2ef6 Enigma-1.30-src.tar.gz
-"
diff --git a/testing/enjoy/0001-fix-printf-format-specifier.patch b/testing/enjoy/0001-fix-printf-format-specifier.patch
new file mode 100644
index 00000000000..01db8593865
--- /dev/null
+++ b/testing/enjoy/0001-fix-printf-format-specifier.patch
@@ -0,0 +1,28 @@
+From 33a2902f242ad95308a5970a88369d0100a4c66a Mon Sep 17 00:00:00 2001
+From: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+Date: Wed, 23 Mar 2022 17:26:05 +0100
+Subject: [PATCH] fix printf format specifier
+
+`%ld` is the format specifier for long. The correct format specifier
+for `size_t` is `%zu`. Because `%zu` is somewhat obscure, cast the
+`size_t` variable to `long` instead and keep `%ld`.
+---
+ enjoy.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/enjoy.c b/enjoy.c
+index a698f17..4f0bf33 100644
+--- a/enjoy.c
++++ b/enjoy.c
+@@ -410,7 +410,7 @@ int main(int argc, char *argv[])
+ break;
+
+ char axis_as_mouse_key[20];
+- sprintf(axis_as_mouse_key, "axis%ld_as_mouse", axis);
++ sprintf(axis_as_mouse_key, "axis%zu_as_mouse", axis);
+ /* null to 0. */
+ if(!(atoi(cfg_get(cfg, axis_as_mouse_key) ? cfg_get(cfg, axis_as_mouse_key) : "0"))) {
+ if(axes[axis].x != 0 || axes[axis].y != 0)
+--
+2.35.1
+
diff --git a/testing/enjoy/0002-fix-setting-timestamp-of-input-event.patch b/testing/enjoy/0002-fix-setting-timestamp-of-input-event.patch
new file mode 100644
index 00000000000..1b567840b96
--- /dev/null
+++ b/testing/enjoy/0002-fix-setting-timestamp-of-input-event.patch
@@ -0,0 +1,37 @@
+From 9c35cf9caf031d6f67ec0211b8125d76f1983f58 Mon Sep 17 00:00:00 2001
+From: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+Date: Wed, 23 Mar 2022 17:45:43 +0100
+Subject: [PATCH] fix setting timestamp of input event
+
+On (some) 32 bit systems `struct input_event` has no member `time`.
+Instead, the macros `input_event_sec` and `input_event_usec` can be
+used in a portable fashion to access the timestamp.
+---
+ uinput.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+diff --git a/uinput.c b/uinput.c
+index 41e2cac..fe3a3d5 100644
+--- a/uinput.c
++++ b/uinput.c
+@@ -17,12 +17,19 @@
+ extern int axis_y_direction;
+ extern int motion_interval;
+
++static void _set_input_time(struct input_event *ie)
++{
++ struct timeval time;
++ gettimeofday(&time, NULL);
++ ie->input_event_sec = time.tv_sec;
++ ie->input_event_usec = time.tv_usec;
++}
+
+ void emit(int fd, int type, int code, int val)
+ {
+ struct input_event ie;
+ memset(&ie, 0, sizeof(ie));
+- gettimeofday(&ie.time, NULL);
++ _set_input_time(&ie);
+
+ ie.type = type;
+ ie.code = code;
diff --git a/testing/enjoy/APKBUILD b/testing/enjoy/APKBUILD
new file mode 100644
index 00000000000..8987b60b416
--- /dev/null
+++ b/testing/enjoy/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=enjoy
+pkgver=0.3
+pkgrel=1
+pkgdesc="daemon to map joystick events to mouse/key events"
+url="https://github.com/cjacker/enjoy"
+arch="all"
+license="MIT"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/cjacker/enjoy/archive/refs/tags/v$pkgver.tar.gz
+
+ 0001-fix-printf-format-specifier.patch
+ 0002-fix-setting-timestamp-of-input-event.patch
+ correct_udev_rules_path.patch
+ "
+makedepends="linux-headers"
+options="!check" # no unit tests provided
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+02dc462f8e2d88e090242ac28612e362baabd9d7071a8e9143f6e1d92f8a23ce747fd470fbb795c57d245908de6d42d5540273e755eecbac6c06c1ef26c7ba5c enjoy-0.3.tar.gz
+37e2bc17aadf40e1a3bbbf412f34e51e897bf529121283a025eb7915248f211e5fdeffa4d82e07e816fed666dbcdadd865e59b7980ce5c76e95c7c92b60a08f1 0001-fix-printf-format-specifier.patch
+6e89859c5b8752021e1517d2cfdb9a7e9e3bc89098cacbe4845c5ff76aed7b777949efaaeea152ee21a8cdc27112a34b3df2c0015fadc317e756ca626a735791 0002-fix-setting-timestamp-of-input-event.patch
+2d4db64553fb184611d1fa3e60fda6db034cccfea57711276e71ffc03a420696d8a7251a74e3e352d275842fa7e543b9e7f146b83cad94d0822d098189cbf37d correct_udev_rules_path.patch
+"
diff --git a/testing/enjoy/correct_udev_rules_path.patch b/testing/enjoy/correct_udev_rules_path.patch
new file mode 100644
index 00000000000..63783447746
--- /dev/null
+++ b/testing/enjoy/correct_udev_rules_path.patch
@@ -0,0 +1,14 @@
+--- a/Makefile
++++ b/Makefile
+@@ -7,9 +7,9 @@ withx:
+ gcc -Os -o enjoy-with-x enjoy.c cfg_parse.c uinput.c keytable.c x.c -lX11 -lXtst -pthread -DWITH_X
+
+ install: all
+- mkdir -p $(DESTDIR)/etc/udev/rules.d/
++ mkdir -p $(DESTDIR)/usr/lib/udev/rules.d/
+ mkdir -p $(DESTDIR)$(PREFIX)/bin/
+- install -D -m0644 99-uinput.rules $(DESTDIR)/etc/udev/rules.d/
++ install -D -m0644 99-uinput.rules $(DESTDIR)/usr/lib/udev/rules.d/
+ install -D -m0755 enjoy $(DESTDIR)$(PREFIX)/bin
+
+ clean:
diff --git a/testing/enlighten/APKBUILD b/testing/enlighten/APKBUILD
index 2b939bcd3c5..5e2bb32fd89 100644
--- a/testing/enlighten/APKBUILD
+++ b/testing/enlighten/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Sam Stuewe <samuel.stuewe@gmail.com>
pkgname=enlighten
pkgver=0.9.2
-pkgrel=0
+pkgrel=1
pkgdesc="expressive, sysfs-based, backlight brightness manager"
url="https://github.com/halosghost/enlighten"
arch="all"
diff --git a/testing/envconsul/APKBUILD b/testing/envconsul/APKBUILD
index 50197517712..e6f9dc6e6a7 100644
--- a/testing/envconsul/APKBUILD
+++ b/testing/envconsul/APKBUILD
@@ -1,17 +1,21 @@
# Contributor: Gennady Feldman <gena01@gmail.com>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=envconsul
-pkgver=0.12.1
-pkgrel=0
+pkgver=0.13.2
+pkgrel=5
pkgdesc="Read and set environmental variables for processes from Consul."
url="https://www.consul.io/"
license="MPL-2.0"
arch="all"
makedepends="go"
+options="net chmod-clean"
source="$pkgname-$pkgver.tar.gz::https://github.com/hashicorp/envconsul/archive/v$pkgver.tar.gz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
- export CGO_ENABLED="0"
mkdir -p pkg/linux-$CARCH
go build -v -o pkg/linux-$CARCH/$pkgname
}
@@ -26,5 +30,5 @@ package() {
}
sha512sums="
-01db5c9110a028b0e5ed4584a54da4436754179c1e8e9a3876016e46e94278091c8a477cd66d83bb9185030f2aa6b6d21191397b517bc52d8c1478f7d2c1b882 envconsul-0.12.1.tar.gz
+dacc65e19553de897195397126664882e3dedd4b9929c83c519311010ff1ab62663425556261a2ce3f37035576b63b4f26c4a0219dfd663d05e852c4cee2e6bb envconsul-0.13.2.tar.gz
"
diff --git a/testing/envsubst/APKBUILD b/testing/envsubst/APKBUILD
index 0c76e007bed..21e8e6c0ac1 100644
--- a/testing/envsubst/APKBUILD
+++ b/testing/envsubst/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=envsubst
pkgver=0.1
-pkgrel=0
+pkgrel=1
pkgdesc="perform variable substitutions on input"
url="https://github.com/kaniini/envsubst"
arch="all"
@@ -10,11 +10,13 @@ depends=""
makedepends=""
install=""
subpackages=""
-source="https://distfiles.dereferenced.org/envsubst/envsubst-$pkgver.tar.xz"
+source="https://distfiles.ariadne.space/envsubst/envsubst-$pkgver.tar.xz"
builddir="$srcdir/envsubst-$pkgver"
options="!check" # No test suite.
replaces="gettext" # GNU gettext also provides envsubst.
+provider_priority=10 # lowest (other provider of cmd:envsubst is main/gettext)
+
build() {
make
}
diff --git a/testing/eolie/APKBUILD b/testing/eolie/APKBUILD
deleted file mode 100644
index f67034cae64..00000000000
--- a/testing/eolie/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Daniele Debernardi <drebrez@gmail.com>
-# Maintainer: Daniele Debernardi <drebrez@gmail.com>
-pkgname=eolie
-pkgver=0.9.101
-pkgrel=1
-pkgdesc="Web browser for GNOME"
-url="https://gitlab.gnome.org/World/eolie"
-arch="noarch"
-license="GPL-3.0-or-later"
-depends="webkit2gtk gtkspell3 py3-cairo py3-gobject3"
-makedepends="meson python3 glib-dev gobject-introspection-dev gtk+3.0-dev"
-checkdepends="desktop-file-utils appstream-glib"
-subpackages="$pkgname-lang"
-source="https://adishatz.org/eolie/eolie-$pkgver.tar.xz
- dont-require-py3-gettext-support.patch"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="cfb4695f421ee0a6b07eb505d918e8bfa7d001eac3621b44cae3e47fbee398c92228e4a482d460c665cffdbb298c10e6efd7c13df0baa9ec99d45d1d3bd00696 eolie-0.9.101.tar.xz
-78f62663dd7150805dcb6086b5dfc5f1a9fff367dfb7cad662ca8fc2dcbc08fd3633f58d6ecbe2e4f368ba722c31783fcf9c336ffefa0efc670906d15878bbf9 dont-require-py3-gettext-support.patch"
diff --git a/testing/eolie/dont-require-py3-gettext-support.patch b/testing/eolie/dont-require-py3-gettext-support.patch
deleted file mode 100644
index 9086ff973f5..00000000000
--- a/testing/eolie/dont-require-py3-gettext-support.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/eolie.in b/eolie.in
-index 837ba81..2a2d29a 100755
---- a/eolie.in
-+++ b/eolie.in
-@@ -34,15 +34,6 @@ def install_excepthook():
- if __name__ == "__main__":
- install_excepthook()
-
-- try:
-- locale.bindtextdomain('eolie', localedir)
-- locale.textdomain('eolie')
-- except AttributeError as e:
-- # Python built without gettext support doesn't have bindtextdomain()
-- # and textdomain()
-- print("Couldn't bind the gettext translation domain. Some translations"
-- " won't work.\n{}".format(e))
--
- gettext.bindtextdomain('eolie', localedir)
- gettext.textdomain('eolie')
-
diff --git a/testing/epoch/APKBUILD b/testing/epoch/APKBUILD
index d8d42396036..7b9299d4ec6 100644
--- a/testing/epoch/APKBUILD
+++ b/testing/epoch/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Jan Tatje <jan@jnt.io>
pkgname=epoch
pkgver=1.3.0
-pkgrel=0
+pkgrel=1
pkgdesc="The Epoch Init System is a small but powerful init system for Linux 2.6+."
url="https://universe2.us/epoch.html"
arch="all"
license="unlicense"
options="!check" # epoch has no tests
-source="http://universe2.us/epoch_1.3.0.tar.gz epoch.conf"
+source="http://universe2.us/epoch_$pkgver.tar.gz epoch.conf"
builddir="$srcdir/${pkgname}_${pkgver}"
build() {
@@ -22,5 +22,7 @@ package() {
cp $srcdir/epoch.conf $pkgdir/etc/epoch/epoch.conf
}
-sha512sums="1e4a8bee26d8819303cbeb67265ee74e294502acfb3f5e594222bb7bdcb2d077fe19e73c40e9111a6ef9af788d767434f5a9a357430b59d6a0cac0e36a3b8f9e epoch_1.3.0.tar.gz
-0ec063230441d2dd8cbefada9bd8121dae8cd77a309a093889028a0bedfe60eeef9a8fba4b174b5b9af512de2874a714e1e9bcdf4123e6108deda16dade2047e epoch.conf"
+sha512sums="
+1e4a8bee26d8819303cbeb67265ee74e294502acfb3f5e594222bb7bdcb2d077fe19e73c40e9111a6ef9af788d767434f5a9a357430b59d6a0cac0e36a3b8f9e epoch_1.3.0.tar.gz
+0ec063230441d2dd8cbefada9bd8121dae8cd77a309a093889028a0bedfe60eeef9a8fba4b174b5b9af512de2874a714e1e9bcdf4123e6108deda16dade2047e epoch.conf
+"
diff --git a/testing/epr/APKBUILD b/testing/epr/APKBUILD
new file mode 100644
index 00000000000..8455f11ab3b
--- /dev/null
+++ b/testing/epr/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Erwan Rouchet <lucidiot@brainshit.fr>
+# Maintainer: Erwan Rouchet <lucidiot@brainshit.fr>
+pkgname=epr
+pkgver=2.4.15
+pkgrel=1
+pkgdesc="CLI epub reader"
+url="https://github.com/wustho/epr"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-gpep517 py3-installer py3-poetry-core"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/wustho/epr/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/epr*.whl
+}
+
+sha512sums="
+c1642191889ef3aebcc3b516281387a28edb39f6898bde68f9717b9eccf4c72bf567714a65b56d67f126139b04c8fc1921f0e69bf35effb85d8a3d7e1fd71fdf epr-2.4.15.tar.gz
+"
diff --git a/testing/epub2txt/APKBUILD b/testing/epub2txt/APKBUILD
deleted file mode 100644
index 307d26a78ab..00000000000
--- a/testing/epub2txt/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributor: Paper <paper@tilde.institute>
-# Maintainer: Paper <paper@tilde.institute>
-pkgname=epub2txt
-pkgver=2.01
-pkgrel=0
-pkgdesc="CLI utility for extracting text from EPUB documents"
-url="https://github.com/kevinboone/epub2txt2"
-arch="all"
-license="GPL-3.0-only"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kevinboone/epub2txt2/archive/v$pkgver.tar.gz"
-options='!check' #no testsuite
-builddir="$srcdir/$pkgname"2"-$pkgver"
-
-build() {
- make
-}
-
-package() {
- make PREFIX=/usr DESTDIR="$pkgdir" install
-}
-
-sha512sums="87796e94cfa76380cd901f7c3ce7a09ebe510771966980a15df91df78330eab57453d83c2bfe4a2e502040f1809d0e1b0f8ef135597222f99495b81bde4ebe41 epub2txt-2.01.tar.gz"
diff --git a/testing/ergo-ldap/APKBUILD b/testing/ergo-ldap/APKBUILD
new file mode 100644
index 00000000000..4958eb7542f
--- /dev/null
+++ b/testing/ergo-ldap/APKBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Dekedro <dekedro@protonmail.com>
+pkgname=ergo-ldap
+pkgver=0.0.1
+pkgrel=9
+pkgdesc="LDAP authentication plugin for Ergo IRCd"
+url="https://github.com/ergochat/ergo-ldap"
+arch="all"
+license="Apache-2.0"
+makedepends="go make"
+options="!check" # No tests
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ergochat/ergo-ldap/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin/ ergo-ldap
+ install -Dm644 -t "$pkgdir"/usr/share/doc/ergo-ldap/ example.yaml
+}
+
+sha512sums="
+16e36b2ec83fdc88c2b1ca93ba680a41fc58263f353411722d00d1fb479dd45d2e607bb1c5f34a0b2cdbf840a92c8dc1dcc4cee2292aa230b885ec979fa753b1 ergo-ldap-0.0.1.tar.gz
+"
diff --git a/testing/esbuild/APKBUILD b/testing/esbuild/APKBUILD
deleted file mode 100644
index 769914f92b9..00000000000
--- a/testing/esbuild/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=esbuild
-pkgver=0.14.11
-pkgrel=0
-pkgdesc="Extremely fast JavaScript bundler and minifier"
-url="https://esbuild.github.io/"
-license="MIT"
-arch="all !riscv64" # blocked by nodejs
-makedepends="go nodejs"
-source="https://github.com/evanw/esbuild/archive/v$pkgver/esbuild-$pkgver.tar.gz"
-
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-export GOPATH="$srcdir"
-
-build() {
- go build \
- -ldflags="-X main.version=$pkgver" \
- -v ./cmd/esbuild
-
- node scripts/esbuild.js npm/esbuild/package.json --version
- node scripts/esbuild.js ./esbuild --neutral
-
- # binary path override
- sed -i '1s#^#var ESBUILD_BINARY_PATH = "/usr/bin/esbuild";\n#' \
- npm/esbuild/lib/main.js
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm755 esbuild "$pkgdir"/usr/bin/esbuild
-
- local destdir=/usr/lib/node_modules/esbuild
-
- install -d \
- "$pkgdir"/$destdir/bin \
- "$pkgdir"/$destdir/lib
-
- install -Dm644 -t "$pkgdir"/$destdir npm/esbuild/package.json
- install -Dm644 -t "$pkgdir"/$destdir/lib npm/esbuild/lib/*
- ln -s /usr/bin/esbuild "$pkgdir"/$destdir/bin/esbuild
-}
-
-sha512sums="
-ab484f355b9b96d036cd8fcaf3726a48237d6772b13be538950e4ba7bf98a7b7a34ad9f675a3cc3c78418c3ae3de2706a8b250e4b81a8698d0d268c050a5ca0f esbuild-0.14.11.tar.gz
-"
diff --git a/testing/espeak-ng/APKBUILD b/testing/espeak-ng/APKBUILD
deleted file mode 100644
index 161d7991ff5..00000000000
--- a/testing/espeak-ng/APKBUILD
+++ /dev/null
@@ -1,54 +0,0 @@
-# Maintainer: Dekedro <dekedro@tankers.xyz>
-pkgname=espeak-ng
-pkgver=1.50
-pkgrel=0
-pkgdesc="Multi-lingual software speech synthesizer"
-url="https://github.com/espeak-ng/espeak-ng"
-arch="all !s390x" # Fails to build on s390x
-license="GPL-3.0-or-later"
-makedepends="autoconf automake libtool pcaudiolib-dev ronn"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-vim::noarch"
-source="$pkgname-$pkgver.tar.gz::https://github.com/espeak-ng/espeak-ng/archive/refs/tags/$pkgver.tar.gz
- fix-samplerate-definition-699.patch::https://github.com/espeak-ng/espeak-ng/commit/e11cd42b03d1628f7a0cf45c9406123282e25c63.patch
- fix-grc-handling-690.patch
- fix-newline-expansion.patch
- disable-failing-test-784.patch"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make -j1
-}
-
-check() {
- make -j1 check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-vim() {
- pkgdesc="$pkgdesc (vim syntax)"
- install_if="$pkgname=$pkgver-r$pkgrel vim"
-
- amove /usr/share/vim
-}
-
-sha512sums="
-297dd80a6cdae3e2b8acf6823475220ce89d6a5fb68ea303156ad52cb3e7388049b6921759d4ed4e3d2e2ebd19bf931259e454f74a2ac0b7ecf4ce56c1d60c0c espeak-ng-1.50.tar.gz
-9270fdcfb1f94108f0ac2109a66491df0c0f60183c500ba4dbf1db6734d4d8dae14aacb967499566ae726ba545e82f869a39a4dd7e3900ba8c4ab066f02f5e46 fix-samplerate-definition-699.patch
-f1d4fe9c45c1b7130303f8eaadf4e6331c8f82bb249ceeb40b015f02515ed78ba91b682e537301ab22528bc9e173ac3e5fed29136f8738794f88b8699bf3633d fix-grc-handling-690.patch
-b64e22b51ce17eedc2e35a52e3f1a74e6f6c8668738c97f0736544764b48c881edf9cd8ca3fb6c2341588ccb411d76d1cc127d48a5d7fc47a7aa94142f3e1a26 fix-newline-expansion.patch
-0886ac3511536f259d59ce76277585c0406fa788feea6032a05d33ca1c2720f51faf60fd36dfa4bcccfdea0cb88f916af6cf4a77f4602b7f0aea45856d424f4e disable-failing-test-784.patch
-"
diff --git a/testing/espeak-ng/disable-failing-test-784.patch b/testing/espeak-ng/disable-failing-test-784.patch
deleted file mode 100644
index b59b89b8931..00000000000
--- a/testing/espeak-ng/disable-failing-test-784.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-One test is reported to be failing:
-https://github.com/espeak-ng/espeak-ng/issues/784
-
-This particular issue should dissapear with next release.
-
---- a/tests/language-phonemes.test
-+++ b/tests/language-phonemes.test
-@@ -95,7 +95,7 @@
- test_lang la 080bd53c20991eae7baec73b8c735eacc8aae076 "ma na Na pa p<h>a ba ta t<h>a da ka k<h>a ga fa sa za ha Ra la ja wa _:_ ma mE mI mO mU ma: me: mi: mo: mu: my my: maU maI meI mEU mOI"
- test_lang lfn 044e27a5100528760a185e0773dccaca504b5bd4 "ma na Na pa ba ta da ka ga fa va sa za Sa Za ha la ja R2a **a wa _:_ ma me mi mo mu maI maU meU moI"
- test_lang lt 615e503b996ea5f7b267ebd77b91e77c5b874e18 "ma m;a na n;a pa p;a ta t;a ka k;a ba b;a da d;a ga g;a tsa ts;a tSa tS;a dza dz;a dZa dZ;a fa f;a sa s;a Sa S;a xa x;a va v;a za z;a Za Z;a la l;a ra r;a ja _:_ m@ ma mA ma: me mE me: mee meA mi mI mi: mo mO mo: mu mU mu: mw mW mai mei mau muo moi mui mie maU meU moU maI meI"
--test_lang lv 060b6f94cd505e5c3e649d94c41856d801c0c695 "ma na n^a Na pa ba ta da ca Ja ka ga tsa dza Dz\`a tSa dZa DZ\`a fa va sa za Sa Za xa ha ja la l^a Ra ra _:_ mi my mu mE me mo ma mi: my: mu: mE: me: mo: ma: mai mau mei mie miu mui muo muo\` moi"
-+#test_lang lv 060b6f94cd505e5c3e649d94c41856d801c0c695 "ma na n^a Na pa ba ta da ca Ja ka ga tsa dza Dz\`a tSa dZa DZ\`a fa va sa za Sa Za xa ha ja la l^a Ra ra _:_ mi my mu mE me mo ma mi: my: mu: mE: me: mo: ma: mai mau mei mie miu mui muo muo\` moi"
- test_lang mi b6e622de46c33181cdfea351b907f932da9a0a1a "ma na Na pa ta ka fa ha ra wa _:_ ma ma: me me: mi mi: mo mo: mu mu:"
- test_lang mk 072d0a74acf54bea528e7dde427eb04808d38364 "ma na n^a Na pa ta xa k^a ka ba da Ja ga tsa tSa tS;a dza dZa dZ;a fa sa Sa xa va za Za l^a la ja Ra @-*a ra _:_ ma me mi mo mu mA mE ma: me: mi: mo: mu: moU"
- test_lang shn e568aca66c2f58fdaf5dda8a67f4d21f05710234 "ma na Ja Na pa p_ha ba ta t_ha da ka k_ha ga ?a fa sa za Ta ha tS;a Ra ja wa la _:_ mi mI mW mu me m@ mo mE ma ma: mO miu meu mEu mau ma:u mWi mui m@i moi mai ma:i mOi maW _:_ ma1 ma2 ma3 ma4 ma5 ma6"
diff --git a/testing/espeak-ng/fix-grc-handling-690.patch b/testing/espeak-ng/fix-grc-handling-690.patch
deleted file mode 100644
index 08bf8524a94..00000000000
--- a/testing/espeak-ng/fix-grc-handling-690.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 00c37d667f58e5a36853eb9ac08b09567a150704 Mon Sep 17 00:00:00 2001
-From: "Reece H. Dunn" <msclrhd@gmail.com>
-Date: Wed, 4 Dec 2019 07:41:21 +0000
-Subject: [PATCH] grc: add Greek variant letter form support; fixes
- pronunciation of the test
-
-Fixes: https://github.com/espeak-ng/espeak-ng/issues/690
-Original patch: https://github.com/espeak-ng/espeak-ng/commit/00c37d667f58e5a36853eb9ac08b09567a150704.patch
-
-diff --git a/dictsource/grc_rules b/dictsource/grc_rules
-index 94b0c6ca2..cd1f3054c 100644
---- a/dictsource/grc_rules
-+++ b/dictsource/grc_rules
-@@ -52,6 +52,18 @@ u Ï…
- y Ï…
- w ω // (long o; not standard transliteration but may be easier to type
-
-+// replace variant letter forms with their standard equivalents
-+Ï Î² // U+03d0
-+ϑ θ // U+03d1
-+Ï’ Ï… // U+03d2
-+ϕ φ // U+03d5
-+ϖ π // U+03d6
-+ϰ κ // U+03f0
-+ϱ Ï // U+03f1
-+ϲ ς // U+03f2
-+ϴ θ // U+03f4
-+ϵ ε // U+03f5
-+Ϲ ς // U+03f9
-
- // alpha
- ά ὰ // tonos
-diff --git a/tests/language-pronunciation.test b/tests/language-pronunciation.test
-index c6db1f261..b46df44da 100755
---- a/tests/language-pronunciation.test
-+++ b/tests/language-pronunciation.test
-@@ -50,7 +50,7 @@ test_phonemes fr "Latn" "byv'e d@- s@- (en)w'Iski(fr) k@ l@- patr'O~ Z'yZ fam'Y\
- test_phonemes ga "Latn" "d'u@skIl; 'i:@s@ 'u:rva#k n@ h'o:iQ\"@ b'anIh@ p'o:r 'e:v@ ,0g@s 'A:a#v" "D’fhuascail Ãosa Úrmhac na hÓighe Beannaithe pór Éava agus Ãdhaimh"
- test_phonemes gd "Latn" "m'us d'a:g_:_: k;'E:d;'u:n@ R'O:b 'i: l^'e 'ob" "Mus d’fhàg Cèit-Ùna ròp Ì le ob."
- test_phonemes gn "Latn" "m,aym'a_| ,yByp'o**a_| o'u k'o_| yB'y_| 'a**i_| ,in^ap,yty_!y**'e h'a_| ,ete'i~Sa t,eko**,uBiS,a**eNd'a h'a_| ,akat'uap,e J^,eQu,e**ek'ope\nh'a_| ,ikat'u **up'i_| ,oik,ua'a n^et'eBa h'a_| ,an^et,e_!yB'a\n,ipo**'a~Ba h'a_| ,iBa'iBa\nt,ekoteB'e~ p,eheNgu'eiS,a_| ,oik'o_| ,on^oNd,iBeku'e**a" "Mayma yvypóra ou ko yvy ári iñapyty'yre ha eteĩcha tecoruvicharendá ha acatúape jeguerekópe; ha ikatu rupi oikuaa ñetéva ha añete'yva, iporãva ha ivaíva, tekotevẽ pehenguéicha oiko oñondivekuéra."
--test_phonemes grc "Grek" "hoI_: d'e_: f_: 'o_: 'i_: n_: 'i_: l'et@_|_|f_|_:_: 'e_: s_: h'u:toI_: hoI_: s'yn_: k'admOI:_: 'a_: p_: 'i_: l'et@_|_|f_|_:_: 'o_: m_: 'e_: n_: 'o_: 'i_: es'E:gag,on_: d_: 'i_: d_: 'a_: s_: l'et@_|_|f_|_:_: 'a_: l_: 'i_: 'a_: 'es_: tu:s_: ell'E:nas_: 'aI_: d'E:_: 'aI_: gR'ammat,a_:\n'o_: 'y_: l'et@_|_|f_|_:_: e'onta_: pR'in_: ell'E:si_: h'O:s_: em'oI_: d_: 'o_: l'et@_|_|f_|_:_: 'e_: 'e_: 'i_: n_:\npR'O:ta_: m'en_: t'oIsi_: 'aI_: h'apant,es_: xR'eO:nt,aI_: f_: 'o_: 'i_: n_: 'i_: l'et@_|_|f_|_:_: 'e_: s_:\nmet'a_: d'e_: xR'onu:_: pRob'aInont,os_: h'ama_: tEI:_: O:n'EI:_: met'ebal,on_: 'aI_: ton_: l'et@_|_|f_|_:_: 'y_: l'et@_|_|d_|_:_: m_: 'o_: n_: tO:n_: gRamm'atO:n_:" "Οἱ δὲ Φοίνιϰες οὗτοι οἱ σὺν Κάδμῳ ἀπιϰόμενοι.. á¼Ïƒá½µÎ³Î±Î³Î¿Î½ διδασϰάλια á¼Ï‚ τοὺς ῞Ελληνας ϰαὶ δὴ ϰαὶ γÏάμματα, οá½Ï° á¼á½¹Î½Ï„α Ï€Ïὶν ῞Ελλησι ὡς á¼Î¼Î¿á½¶ δοϰέειν, Ï€Ïῶτα μὲν τοῖσι ϰαὶ ἅπαντες χÏέωνται Φοίνιϰες· μετὰ δὲ χÏόνου Ï€Ïοβαίνοντος ἅμα τῇ ϕωνῇ μετέβαλον ϰαὶ τὸν ϱυϑμὸν τῶν γÏαμμάτων."
-+test_phonemes grc "Grek" "hoI_: d'e_: f'oInik,es_: h'u:toI_: hoI_: s'yn_: k'admOI:_: ,apik'omen,oI_: es'E:gag,on_: d,idask'ali;,a_: 'es_: tu:s_: ell'E:nas_: k'aI_: d'E:_: k'aI_: gR'ammat,a_:\n'u:k_: e'onta_: pR'in_: ell'E:si_: h'O:s_: em'oI_: dok'ee:n_:\npR'O:ta_: m'en_: t'oIsi_: k'aI_: h'apant,es_: xR'eO:nt,aI_: f'oInik,es_:\nmet'a_: d'e_: xR'onu:_: pRob'aInont,os_: h'ama_: tEI:_: fO:n'EI:_: met'ebal,on_: k'aI_: ton_: RyTm'on_: tO:n_: gRamm'atO:n_:" "Οἱ δὲ Φοίνιϰες οὗτοι οἱ σὺν Κάδμῳ ἀπιϰόμενοι.. á¼Ïƒá½µÎ³Î±Î³Î¿Î½ διδασϰάλια á¼Ï‚ τοὺς ῞Ελληνας ϰαὶ δὴ ϰαὶ γÏάμματα, οá½Ï° á¼á½¹Î½Ï„α Ï€Ïὶν ῞Ελλησι ὡς á¼Î¼Î¿á½¶ δοϰέειν, Ï€Ïῶτα μὲν τοῖσι ϰαὶ ἅπαντες χÏέωνται Φοίνιϰες· μετὰ δὲ χÏόνου Ï€Ïοβαίνοντος ἅμα τῇ ϕωνῇ μετέβαλον ϰαὶ τὸν ϱυϑμὸν τῶν γÏαμμάτων."
- test_phonemes gu "Gujr" "d@*'e:k vj@kt'Ine: S,IkS@n.'Vno: Vd#'Ika:r c#'e:\no:c#'a:mV~ 'o:c#u~ pr,a:t#m'Ik 'Vne: pa:j'a:na: t,@bk:a:'o:mV~ SIkS'Vn. m@p#'Vt r@2H'e:Se:\npr,a:t#m'Ik SIkS'Vn. p#,@*JIj'a:t r@2H'e:Se:\nwIS'e:s. w,Ig#a:v,Is.@j'@k 'Vne: vj,@vs'a:ji SIkS'Vn. s,a:ma:nj'@t@H ,Up@l'Vbd# r@2H'e:Se: 'Vne: j,o:gj@t'a:na: d#o:r'Vn. p'Vr 'Uc: SIkS'Vn. pr'a:pt k,@rv'a:no: s@rv'Vne: s@m'a:n Vd#'Ika:r r@2H'e:Se:" "દરેક વà«àª¯àª•à«àª¤àª¿àª¨à«‡ શિકà«àª·àª£àª¨à«‹ અધિકાર છે. ઓછામાં ઓછà«àª‚ પà«àª°àª¾àª¥àª®àª¿àª• અને પાયાના તબકà«àª•àª¾àª“માં શિકà«àª·àª£ મફત રહેશે. પà«àª°àª¾àª¥àª®àª¿àª• શિકà«àª·àª£ ફરજિયાત રહેશે. વિશેષ વિઘાવિષયક અને વà«àª¯àªµàª¸àª¾àª¯à«€ શિકà«àª·àª£ સામાનà«àª¯àª¤àªƒ ઉપલબà«àª§ રહેશે અને યોગà«àª¯àª¤àª¾àª¨àª¾ ધોરણ પર ઉચà«àªš શિકà«àª·àª£ પà«àª°àª¾àªªà«àª¤ કરવાનો સરà«àªµàª¨à«‡ સમાન અધિકાર રહેશે."
- test_phonemes hi "Deva" "r'Is.Ij,o~ ko: s@t'a:ne: v'a:le: d'Us.t. r'a:kS@s,o~ ke: r'a:Ja: r'a:v@n. ka: s,@rv@n'a:S k'Vrn,e: v'a:le: v,Is.n.Uvt'a:r b#,@gv'a:n Sri*'a:m\nVj'o:d#ja: ke: m,aha:*'a:J d'VS@*,@t# ke: b'Vr.e: s@p'Utr@- t#e:" "ऋषियों को सताने वाले दà¥à¤·à¥à¤Ÿ राकà¥à¤·à¤¸à¥‹à¤‚ के राजा रावण का सरà¥à¤µà¤¨à¤¾à¤¶ करने वाले विषà¥à¤£à¥à¤µà¤¤à¤¾à¤° भगवान शà¥à¤°à¥€à¤°à¤¾à¤®, अयोधà¥à¤¯à¤¾ के महाराज दशरथ के बड़े सपà¥à¤¤à¥à¤° थे।"
- test_phonemes hy "Armn" "k@rn'am ,apak'i ut'el j'ev ints'i ,anhang'ist tS#@n'er" "Ô¿Ö€Õ¶Õ¡Õ´ Õ¡ÕºÕ¡Õ¯Õ« Õ¸Ö‚Õ¿Õ¥Õ¬ Ö‡ Õ«Õ¶Õ®Õ« Õ¡Õ¶Õ°Õ¡Õ¶Õ£Õ«Õ½Õ¿ Õ¹Õ¨Õ¶Õ¥Ö€Ö‰"
diff --git a/testing/espeak-ng/fix-newline-expansion.patch b/testing/espeak-ng/fix-newline-expansion.patch
deleted file mode 100644
index b3a65b9aa10..00000000000
--- a/testing/espeak-ng/fix-newline-expansion.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/tests/language-pronunciation.test
-+++ b/tests/language-pronunciation.test
-@@ -14,7 +14,7 @@
- fi
- ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
- src/espeak-ng -xq -v ${TEST_LANG} "${TEST_TEXT}" > actual.txt
-- echo "${EXPECTED}" > expected.txt
-+ echo -e "${EXPECTED}" > expected.txt
- if [ x$TEST_BROKEN = xbroken ] ; then
- diff expected.txt actual.txt || (echo "... ignoring error (broken)" && true)
- else
---- a/tests/translate.test
-+++ b/tests/translate.test
-@@ -8,7 +8,7 @@
- echo "testing ${TEST_LANG} \"${TEST_TEXT}\""
- ESPEAK_DATA_PATH=`pwd` LD_LIBRARY_PATH=src:${LD_LIBRARY_PATH} \
- src/espeak-ng -xq -v ${TEST_LANG} "${TEST_TEXT}" > actual.txt
-- echo "${EXPECTED}" > expected.txt
-+ echo -e "${EXPECTED}" > expected.txt
- diff expected.txt actual.txt || exit 1
- }
-
diff --git a/testing/espeakup/APKBUILD b/testing/espeakup/APKBUILD
index a2c119ad03e..9191e5f8fac 100644
--- a/testing/espeakup/APKBUILD
+++ b/testing/espeakup/APKBUILD
@@ -1,7 +1,7 @@
-# Maintainer: Dekedro <dekedro@tankers.xyz>
+# Maintainer: Dekedro <dekedro@protonmail.com>
pkgname=espeakup
pkgver=0.90
-pkgrel=0
+pkgrel=2
pkgdesc="Lightweight connector for espeak and speakup"
url="https://github.com/linux-speakup/espeakup"
arch="all !s390x" # s390x blocked by espeak-ng
@@ -17,7 +17,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/linux-speakup/espeakup/archi
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
diff --git a/testing/esptool/APKBUILD b/testing/esptool/APKBUILD
index 4f4d4baf52e..df6f1ba1de8 100644
--- a/testing/esptool/APKBUILD
+++ b/testing/esptool/APKBUILD
@@ -1,32 +1,43 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
pkgname=esptool
-pkgver=3.2
-pkgrel=0
+pkgver=4.7.0
+pkgrel=1
pkgdesc="ESP8266 and ESP32 serial bootloader utility"
-options="!check" # tests require older version of pycodestyle
-url="https://github.com/espressif/esptool"
-arch="noarch"
+url="https://docs.espressif.com/projects/esptool"
license="GPL-2.0-or-later"
-depends="python3 py3-pyserial py3-ecdsa py3-pyaes"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/espressif/esptool/archive/v$pkgver.tar.gz
- remove-py-wheel-requirement.patch"
+arch="noarch"
+depends="
+ py3-bitstring
+ py3-cryptography
+ py3-ecdsa
+ py3-intelhex
+ py3-pyserial
+ py3-reedsolo
+ py3-yaml
+ "
+makedepends="py3-gpep517 py3-installer py3-setuptools py3-wheel"
+checkdepends="py3-elftools py3-pkcs11 py3-pytest py3-requests"
+subpackages="$pkgname-pyc"
+source="https://github.com/espressif/esptool/archive/v$pkgver/esptool-$pkgver.tar.gz"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest -m host_test
+}
- mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
- install -m644 CONTRIBUTING.md README.md \
- "$pkgdir"/usr/share/doc/$pkgname/
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
}
sha512sums="
-5e67b3a17190e051d7706ee2dbbe855488765a7bfed15b15f5a04022c3fbf19112905ba6a672c37b1bac5501d45d477cfff07c004cd83b2d1a111430992cefc1 esptool-3.2.tar.gz
-3474afb4b455c93d705334ea81450b21f2ff29858d266a9a4c157857cc7cc35ef7e8fe36758b64679f93d02b3d6647c32b36926051f2b8afa7dfeb0de82b3c4a remove-py-wheel-requirement.patch
+dda2af5d9b2f8a4ec5706eaf58021e95094c152380c732074809c370a5d1bfaeb424cb27f69a3b980dec83ae9c4c9ee1eddfeb0a7990c3b1f1494160a2d369cc esptool-4.7.0.tar.gz
"
diff --git a/testing/esptool/remove-py-wheel-requirement.patch b/testing/esptool/remove-py-wheel-requirement.patch
deleted file mode 100644
index 2ed13eeb6c9..00000000000
--- a/testing/esptool/remove-py-wheel-requirement.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -110,11 +110,6 @@
- 'Programming Language :: Python :: 3.8',
- 'Programming Language :: Python :: 3.9',
- ],
-- setup_requires=(
-- ['wheel']
-- if 'bdist_wheel' in sys.argv and sys.version_info[0:2] not in [(3, 4), (3, 5)] else
-- []
-- ),
- extras_require={
- "dev": [
- 'flake8>=3.2.0',
diff --git a/testing/etcd/APKBUILD b/testing/etcd/APKBUILD
index f1056ec0f8c..8ab11d8d7ea 100644
--- a/testing/etcd/APKBUILD
+++ b/testing/etcd/APKBUILD
@@ -1,17 +1,17 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=etcd
-pkgver=3.5.1
-pkgrel=0
+pkgver=3.5.13
+pkgrel=1
pkgdesc="A highly-available key value store for shared configuration and service discovery"
-options="chmod-clean"
url="https://github.com/etcd-io/etcd"
license="Apache-2.0"
arch="all"
makedepends="go bash"
install="$pkgname.pre-install"
provides="etcd-api"
-provider_priority=1
+provider_priority=2
+options="net chmod-clean"
pkgusers="etcd"
pkggroups="etcd"
subpackages="$pkgname-doc $pkgname-ctl $pkgname-openrc"
@@ -21,19 +21,14 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/coreos/etcd/archive/v$pkgver
$pkgname.initd
"
-export CGO_ENABLED=0
-
-prepare() {
- default_prepare
- export GOPATH="$(pwd)/_gopath"
- export GOFLAGS="$GOFLAGS -mod=mod"
- _coreos="$GOPATH/src/github.com/etcd-io"
- mkdir -vp $_coreos
- ln -vsf $srcdir/$pkgname-$pkgver $_coreos/$pkgname
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -mod=mod"
+export CGO_ENABLED=1
build() {
- GO_LDFLAGS="-w -s" bash -x ./build
+ bash -x ./build.sh
}
package() {
@@ -41,25 +36,21 @@ package() {
chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/$pkgname
chmod 700 "$pkgdir"/var/lib/$pkgname
install -Dm755 bin/etcd "$pkgdir"/usr/bin/etcd
+ install -Dm755 bin/etcdctl "$pkgdir"/usr/bin/etcdctl
install -Dm644 $srcdir/$pkgname.yaml-$pkgver "$pkgdir"/etc/etcd/conf.yml
install -Dm644 $srcdir/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
install -Dm755 $srcdir/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-cleanup_srcdir() {
- go clean -modcache
- default_cleanup_srcdir
-}
-
ctl() {
pkgdesc="A command-line client for etcd"
- install -Dm755 "$builddir"/bin/etcdctl "$subpkgdir"/usr/bin/etcdctl
+ amove usr/bin/etcdctl
}
sha512sums="
-4cf6f3f422c8390287d5eca7518e1e6ab078fca2d1e5708636886cf57dc2901d56f5b5b713d814e16ebe349bc3abe59e0ea021bb33d8038f97d69bd1e76f8e73 etcd-3.5.1.tar.gz
-86f726d77a3fbe87908c5a5b6e3c5b81f0b428de05a211fd1ea82058285c1a64898ca8a79ef8458db5ed5fd53d72e3a457eb55c0c297981363edf60d2d28b4af etcd.yaml-3.5.1
+dc85d80079b61e96eb06eb573d41d8972060392e49140a2414c283ea9edfef7b01d5554e50c7ab37c6ad079b373ae12a1b84dbcc533addc1d4d30a2a5abf7b7b etcd-3.5.13.tar.gz
+92e6a22dfe12eef76c186c04a4aadca5318300c18aefc979cc03926fddf40e0e9b3bf2b40b75702f2f710dc65420da676c734cfe4d246d86e0728d6e99f43426 etcd.yaml-3.5.13
8b917d2b3a136a97dd9565a91377420ce1f812bfb10bb0caa95f1024dd366cb78ebb0539f16ddfbc399325d41a6664b856d49c5c9aa67bc27e36040f2227356e etcd.confd
b67f7fd209a29ed2a6ef86d5a3c07cf5dc4138af7c61c3a928471cd79f5579ce7861fd21167db332727dfb2a8e554722366c6505e447f3b2feeae819f869aa11 etcd.initd
"
diff --git a/testing/etcd/etcd.yaml-3.5.1 b/testing/etcd/etcd.yaml-3.5.1
deleted file mode 100644
index dce0c51131d..00000000000
--- a/testing/etcd/etcd.yaml-3.5.1
+++ /dev/null
@@ -1,140 +0,0 @@
-# This is the configuration file for the etcd server.
-
-# Human-readable name for this member.
-name: 'default'
-
-# Path to the data directory.
-data-dir: /var/lib/etcd
-
-# Path to the dedicated wal directory.
-wal-dir:
-
-# Number of committed transactions to trigger a snapshot to disk.
-snapshot-count: 10000
-
-# Time (in milliseconds) of a heartbeat interval.
-heartbeat-interval: 100
-
-# Time (in milliseconds) for an election to timeout.
-election-timeout: 1000
-
-# Raise alarms when backend size exceeds the given quota. 0 means use the
-# default quota.
-quota-backend-bytes: 0
-
-# List of comma separated URLs to listen on for peer traffic.
-listen-peer-urls: http://localhost:2380
-
-# List of comma separated URLs to listen on for client traffic.
-listen-client-urls: http://localhost:2379
-
-# Maximum number of snapshot files to retain (0 is unlimited).
-max-snapshots: 5
-
-# Maximum number of wal files to retain (0 is unlimited).
-max-wals: 5
-
-# Comma-separated white list of origins for CORS (cross-origin resource sharing).
-cors:
-
-# List of this member's peer URLs to advertise to the rest of the cluster.
-# The URLs needed to be a comma-separated list.
-initial-advertise-peer-urls: http://localhost:2380
-
-# List of this member's client URLs to advertise to the public.
-# The URLs needed to be a comma-separated list.
-advertise-client-urls: http://localhost:2379
-
-# Discovery URL used to bootstrap the cluster.
-discovery:
-
-# Valid values include 'exit', 'proxy'
-discovery-fallback: 'proxy'
-
-# HTTP proxy to use for traffic to discovery service.
-discovery-proxy:
-
-# DNS domain used to bootstrap initial cluster.
-discovery-srv:
-
-# Initial cluster configuration for bootstrapping.
-initial-cluster:
-
-# Initial cluster token for the etcd cluster during bootstrap.
-initial-cluster-token: 'etcd-cluster'
-
-# Initial cluster state ('new' or 'existing').
-initial-cluster-state: 'new'
-
-# Reject reconfiguration requests that would cause quorum loss.
-strict-reconfig-check: false
-
-# Accept etcd V2 client requests
-enable-v2: true
-
-# Enable runtime profiling data via HTTP server
-enable-pprof: true
-
-# Valid values include 'on', 'readonly', 'off'
-proxy: 'off'
-
-# Time (in milliseconds) an endpoint will be held in a failed state.
-proxy-failure-wait: 5000
-
-# Time (in milliseconds) of the endpoints refresh interval.
-proxy-refresh-interval: 30000
-
-# Time (in milliseconds) for a dial to timeout.
-proxy-dial-timeout: 1000
-
-# Time (in milliseconds) for a write to timeout.
-proxy-write-timeout: 5000
-
-# Time (in milliseconds) for a read to timeout.
-proxy-read-timeout: 0
-
-client-transport-security:
- # Path to the client server TLS cert file.
- cert-file:
-
- # Path to the client server TLS key file.
- key-file:
-
- # Enable client cert authentication.
- client-cert-auth: false
-
- # Path to the client server TLS trusted CA cert file.
- trusted-ca-file:
-
- # Client TLS using generated certificates
- auto-tls: false
-
-peer-transport-security:
- # Path to the peer server TLS cert file.
- cert-file:
-
- # Path to the peer server TLS key file.
- key-file:
-
- # Enable peer client cert authentication.
- client-cert-auth: false
-
- # Path to the peer server TLS trusted CA cert file.
- trusted-ca-file:
-
- # Peer TLS using generated certificates.
- auto-tls: false
-
-# Enable debug-level logging for etcd.
-debug: false
-
-logger: zap
-
-# Specify 'stdout' or 'stderr' to skip journald logging even when running under systemd.
-log-outputs: [stderr]
-
-# Force to create a new one member cluster.
-force-new-cluster: false
-
-auto-compaction-mode: periodic
-auto-compaction-retention: "1"
diff --git a/testing/etcd/etcd.yaml-3.5.13 b/testing/etcd/etcd.yaml-3.5.13
new file mode 100644
index 00000000000..f299e491e1d
--- /dev/null
+++ b/testing/etcd/etcd.yaml-3.5.13
@@ -0,0 +1,143 @@
+# This is the configuration file for the etcd server.
+
+# Human-readable name for this member.
+name: 'default'
+
+# Path to the data directory.
+data-dir: /var/lib/etcd
+
+# Path to the dedicated wal directory.
+wal-dir:
+
+# Number of committed transactions to trigger a snapshot to disk.
+snapshot-count: 10000
+
+# Time (in milliseconds) of a heartbeat interval.
+heartbeat-interval: 100
+
+# Time (in milliseconds) for an election to timeout.
+election-timeout: 1000
+
+# Raise alarms when backend size exceeds the given quota. 0 means use the
+# default quota.
+quota-backend-bytes: 0
+
+# List of comma separated URLs to listen on for peer traffic.
+listen-peer-urls: http://localhost:2380
+
+# List of comma separated URLs to listen on for client traffic.
+listen-client-urls: http://localhost:2379
+
+# Maximum number of snapshot files to retain (0 is unlimited).
+max-snapshots: 5
+
+# Maximum number of wal files to retain (0 is unlimited).
+max-wals: 5
+
+# Comma-separated white list of origins for CORS (cross-origin resource sharing).
+cors:
+
+# List of this member's peer URLs to advertise to the rest of the cluster.
+# The URLs needed to be a comma-separated list.
+initial-advertise-peer-urls: http://localhost:2380
+
+# List of this member's client URLs to advertise to the public.
+# The URLs needed to be a comma-separated list.
+advertise-client-urls: http://localhost:2379
+
+# Discovery URL used to bootstrap the cluster.
+discovery:
+
+# Valid values include 'exit', 'proxy'
+discovery-fallback: 'proxy'
+
+# HTTP proxy to use for traffic to discovery service.
+discovery-proxy:
+
+# DNS domain used to bootstrap initial cluster.
+discovery-srv:
+
+# Initial cluster configuration for bootstrapping.
+initial-cluster:
+
+# Initial cluster token for the etcd cluster during bootstrap.
+initial-cluster-token: 'etcd-cluster'
+
+# Initial cluster state ('new' or 'existing').
+initial-cluster-state: 'new'
+
+# Reject reconfiguration requests that would cause quorum loss.
+strict-reconfig-check: false
+
+# Accept etcd V2 client requests
+enable-v2: true
+
+# Enable runtime profiling data via HTTP server
+enable-pprof: true
+
+# Valid values include 'on', 'readonly', 'off'
+proxy: 'off'
+
+# Time (in milliseconds) an endpoint will be held in a failed state.
+proxy-failure-wait: 5000
+
+# Time (in milliseconds) of the endpoints refresh interval.
+proxy-refresh-interval: 30000
+
+# Time (in milliseconds) for a dial to timeout.
+proxy-dial-timeout: 1000
+
+# Time (in milliseconds) for a write to timeout.
+proxy-write-timeout: 5000
+
+# Time (in milliseconds) for a read to timeout.
+proxy-read-timeout: 0
+
+client-transport-security:
+ # Path to the client server TLS cert file.
+ cert-file:
+
+ # Path to the client server TLS key file.
+ key-file:
+
+ # Enable client cert authentication.
+ client-cert-auth: false
+
+ # Path to the client server TLS trusted CA cert file.
+ trusted-ca-file:
+
+ # Client TLS using generated certificates
+ auto-tls: false
+
+peer-transport-security:
+ # Path to the peer server TLS cert file.
+ cert-file:
+
+ # Path to the peer server TLS key file.
+ key-file:
+
+ # Enable peer client cert authentication.
+ client-cert-auth: false
+
+ # Path to the peer server TLS trusted CA cert file.
+ trusted-ca-file:
+
+ # Peer TLS using generated certificates.
+ auto-tls: false
+
+# The validity period of the self-signed certificate, the unit is year.
+self-signed-cert-validity: 1
+
+# Enable debug-level logging for etcd.
+#log-level: debug
+
+logger: zap
+
+# Specify 'stdout' or 'stderr' to skip journald logging even when running under systemd.
+log-outputs: [stderr]
+
+# Force to create a new one member cluster.
+force-new-cluster: false
+
+auto-compaction-mode: periodic
+auto-compaction-retention: "1"
diff --git a/testing/ettercap/APKBUILD b/testing/ettercap/APKBUILD
index 3155e58fab0..a4381c13244 100644
--- a/testing/ettercap/APKBUILD
+++ b/testing/ettercap/APKBUILD
@@ -2,45 +2,55 @@
# Maintainer: Karim Kanso <kaz.kanso@gmail.com>
pkgname=ettercap
pkgver=0.8.3.1
-pkgrel=0
+pkgrel=2
pkgdesc="Multipurpose sniffer/interceptor/logger for switched LAN"
url="https://www.ettercap-project.org/"
arch="all"
license="GPL-2.0-or-later"
-makedepends="cmake make gcc musl-dev ncurses-dev curl-dev libpcap-dev
- libnet-dev pcre-dev flex bison linux-headers geoip-dev
- check-dev"
+makedepends="
+ bison
+ check-dev
+ cmake
+ curl-dev
+ flex
+ geoip-dev
+ libnet-dev
+ libpcap-dev
+ linux-headers
+ ncurses-dev
+ pcre-dev
+ samurai
+ "
subpackages="$pkgname-doc lib$pkgname:libs"
source="https://github.com/Ettercap/ettercap/releases/download/v$pkgver/ettercap-$pkgver.tar.gz
none-build-type.patch"
build() {
- mkdir build
- cd build
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \
- -DCMAKE_C_FLAGS="$CFLAGS" \
$CMAKE_CROSSOPTS \
-DENABLE_GTK=OFF \
-DINSTALL_DESKTOP=OFF \
-DBUNDLED_LIBS=OFF \
- -DENABLE_TESTS=ON \
- ..
- make
+ -DENABLE_TESTS=ON
+
+ cmake --build build
}
check() {
- make -C build test
+ ninja -C build test
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="5e3d79578e16b9a2a90a87dcd9b40696ac8dec439e017cbf60f209402e577e7563062769bb76a470d20d1a14269134b28d57d356380af6b5883e4824656b9807 ettercap-0.8.3.1.tar.gz
-9aae86ee1599b4ffa0b9c0c5acc7939675db12c02d53f0e47d6e18acc513c020e0dbc63812536f8d8716132e0f8aeaf2ff737b0c9d11e8d814074ded82093b7c none-build-type.patch"
+sha512sums="
+5e3d79578e16b9a2a90a87dcd9b40696ac8dec439e017cbf60f209402e577e7563062769bb76a470d20d1a14269134b28d57d356380af6b5883e4824656b9807 ettercap-0.8.3.1.tar.gz
+9aae86ee1599b4ffa0b9c0c5acc7939675db12c02d53f0e47d6e18acc513c020e0dbc63812536f8d8716132e0f8aeaf2ff737b0c9d11e8d814074ded82093b7c none-build-type.patch
+"
diff --git a/testing/eva/APKBUILD b/testing/eva/APKBUILD
new file mode 100644
index 00000000000..3e7649cc584
--- /dev/null
+++ b/testing/eva/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=eva
+pkgver=0.3.1
+pkgrel=2
+pkgdesc="Calculator REPL, similar to bc(1)"
+url="https://github.com/nerdypepper/eva"
+license="MIT"
+arch="all !s390x !riscv64" # limited by rust/cargo
+makedepends="cargo cargo-auditable"
+source="https://github.com/nerdypepper/eva/archive/v$pkgver/eva-$pkgver.tar.gz
+ deps.patch
+ "
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/eva -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+2bc6a14668f321e9dd17aab5d8e93abdc0bb4a6739365a68c33beb9f562e03e7924df0b75ad8ca8236b7c3fefc2b477b7ae8b6fe4da0ab45f40b63be4cb1e3d7 eva-0.3.1.tar.gz
+3ca527afe153d8189254dd4bcb54763e6f79a0893c97668152d407a903740898e71d26883143e13efa06233a8fc714f0776e1c139b8839bee779fdb1ea45f2e7 deps.patch
+"
diff --git a/testing/eva/deps.patch b/testing/eva/deps.patch
new file mode 100644
index 00000000000..28477d43218
--- /dev/null
+++ b/testing/eva/deps.patch
@@ -0,0 +1,156 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 5cd799b..97623c9 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -152,7 +152,7 @@ checksum = "e11dcc7e4d79a8c89b9ab4c6f5c30b1fc4a83c420792da3542fd31179ed5f517"
+ dependencies = [
+ "cfg-if",
+ "rustix",
+- "windows-sys",
++ "windows-sys 0.36.1",
+ ]
+
+ [[package]]
+@@ -177,9 +177,9 @@ dependencies = [
+
+ [[package]]
+ name = "io-lifetimes"
+-version = "0.7.3"
++version = "0.7.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1ea37f355c05dde75b84bba2d767906ad522e97cd9e2eef2be7a4ab7fb442c06"
++checksum = "59ce5ef949d49ee85593fc4d3f3f95ad61657076395cbbce23e2121fc5542074"
+
+ [[package]]
+ name = "libc"
+@@ -364,16 +364,16 @@ checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+
+ [[package]]
+ name = "rustix"
+-version = "0.35.11"
++version = "0.35.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fbb2fda4666def1433b1b05431ab402e42a1084285477222b72d6c564c417cef"
++checksum = "727a1a6d65f786ec22df8a81ca3121107f235970dc1705ed681d3e6e8b9cd5f9"
+ dependencies = [
+ "bitflags",
+ "errno",
+ "io-lifetimes",
+ "libc",
+ "linux-raw-sys",
+- "windows-sys",
++ "windows-sys 0.42.0",
+ ]
+
+ [[package]]
+@@ -442,7 +442,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "8440c860cf79def6164e4a0a983bcc2305d82419177a0e0c71930d049e3ac5a1"
+ dependencies = [
+ "rustix",
+- "windows-sys",
++ "windows-sys 0.36.1",
+ ]
+
+ [[package]]
+@@ -532,39 +532,96 @@ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2"
+ dependencies = [
+- "windows_aarch64_msvc",
+- "windows_i686_gnu",
+- "windows_i686_msvc",
+- "windows_x86_64_gnu",
+- "windows_x86_64_msvc",
++ "windows_aarch64_msvc 0.36.1",
++ "windows_i686_gnu 0.36.1",
++ "windows_i686_msvc 0.36.1",
++ "windows_x86_64_gnu 0.36.1",
++ "windows_x86_64_msvc 0.36.1",
+ ]
+
++[[package]]
++name = "windows-sys"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
++dependencies = [
++ "windows_aarch64_gnullvm",
++ "windows_aarch64_msvc 0.42.2",
++ "windows_i686_gnu 0.42.2",
++ "windows_i686_msvc 0.42.2",
++ "windows_x86_64_gnu 0.42.2",
++ "windows_x86_64_gnullvm",
++ "windows_x86_64_msvc 0.42.2",
++]
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
++
+ [[package]]
+ name = "windows_aarch64_msvc"
+ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
++
+ [[package]]
+ name = "windows_i686_gnu"
+ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+
++[[package]]
++name = "windows_i686_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
++
+ [[package]]
+ name = "windows_i686_msvc"
+ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+
++[[package]]
++name = "windows_i686_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
++
+ [[package]]
+ name = "windows_x86_64_gnu"
+ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
++
+ [[package]]
+ name = "windows_x86_64_msvc"
+ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
diff --git a/testing/evolution-etesync/APKBUILD b/testing/evolution-etesync/APKBUILD
deleted file mode 100644
index 69f415e3e86..00000000000
--- a/testing/evolution-etesync/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: pcworld <0188801@gmail.com>
-# Maintainer:
-pkgname=evolution-etesync
-pkgver=1.1.0
-pkgrel=0
-pkgdesc="EteSync plugin for Evolution"
-url="https://gitlab.gnome.org/GNOME/evolution-etesync"
-# mips64, s390x and riscv64 blocked by libetebase/rust/cargo
-arch="all !mips64 !s390x !riscv64"
-license="LGPL-2.1-or-later"
-makedepends="cmake evolution evolution-dev evolution-data-server-dev libetebase libetebase-dev intltool"
-source="$pkgname-$pkgver.tar.gz::https://gitlab.gnome.org/GNOME/evolution-etesync/-/archive/$pkgver/evolution-etesync-$pkgver.tar.gz"
-subpackages="$pkgname-lang"
-
-build() {
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="eb6010794b48b81d5d3f06d894420cba05ac6b7816cdee8897bd98464227a9e679d636d1203be5f2eb9bde49a800920aceeedc33d331a442fbeb65e66c7b15d3 $pkgname-$pkgver.tar.gz"
diff --git a/testing/evolution-on/APKBUILD b/testing/evolution-on/APKBUILD
index f2951306540..72ef3877110 100644
--- a/testing/evolution-on/APKBUILD
+++ b/testing/evolution-on/APKBUILD
@@ -1,4 +1,5 @@
# Contributor: Paul Bredbury <brebs@sent.com>
+# Maintainer:
pkgname=evolution-on
pkgver=3.24.2
pkgrel=0
diff --git a/testing/eww/APKBUILD b/testing/eww/APKBUILD
new file mode 100644
index 00000000000..0c23402bb4d
--- /dev/null
+++ b/testing/eww/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=eww
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="ElKowars wacky widgets"
+url="https://elkowar.github.io/eww/"
+arch="aarch64 x86_64" # blocked by rustup
+license="MIT"
+# XXX: eww requires rust nightly, so we cannot build it with our rustc.
+# Don't move this aport out of the testing repo until it can be built with
+# our rust!
+makedepends="
+ cargo-auditable
+ gtk+3.0-dev
+ gtk-layer-shell-dev
+ rustup
+ "
+subpackages="$pkgname-dbg"
+source="https://github.com/elkowar/eww/archive/refs/tags/v$pkgver/eww-$pkgver.tar.gz
+ update-cargo-lock.patch
+ "
+
+export CARGO_HOME="$srcdir/.cargo"
+export RUSTUP_HOME="$srcdir/.rustup"
+export PATH="$CARGO_HOME/bin:$PATH"
+
+export RUSTFLAGS="$RUSTFLAGS -Ctarget-feature=-crt-static"
+# Reduce binary size (7.1 -> 4.1 MiB for 0.2.0_git20220215).
+
+prepare() {
+ default_prepare
+
+ rustup-init \
+ --target "$CARCH-unknown-linux-musl" \
+ --default-toolchain nightly \
+ --profile minimal \
+ --no-modify-path \
+ -y
+
+ cargo fetch --target="$CARCH-unknown-linux-musl" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release --no-default-features --features=wayland
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -D -m755 target/release/eww -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+1979251848fb21dac60b60fb149481aea3201c62a56b34cd2d5fbc8da53a4e9f019db393c9bcd31936f4cd739de295110217b5ecfef734b35d0f1c5cb785e646 eww-0.4.0.tar.gz
+da52a2dfa5e87a0b4c95a118ea1c1f61757ec75a01c79d4f194728eb9c9580fc4be3984205a00bd15977a5530b49bbfdfba57cb7645718b00b9f87fe21f0a445 update-cargo-lock.patch
+"
diff --git a/testing/eww/update-cargo-lock.patch b/testing/eww/update-cargo-lock.patch
new file mode 100644
index 00000000000..2a4748e1848
--- /dev/null
+++ b/testing/eww/update-cargo-lock.patch
@@ -0,0 +1,11 @@
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -406,7 +406,7 @@
+
+ [[package]]
+ name = "eww"
+-version = "0.3.0"
++version = "0.4.0"
+ dependencies = [
+ "anyhow",
+ "bincode",
diff --git a/testing/exabgp/APKBUILD b/testing/exabgp/APKBUILD
new file mode 100644
index 00000000000..0f242aa9dff
--- /dev/null
+++ b/testing/exabgp/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
+# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
+pkgname=exabgp
+pkgver=4.2.21
+pkgrel=4
+pkgdesc="BGP swiss army knife of networking"
+url="https://github.com/Exa-Networks/exabgp"
+arch="noarch"
+license="BSD-3-Clause"
+depends="py3-six py3-parsing py3-bitstring"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-doc $pkgname-openrc $pkgname-pyc"
+pkgusers="exabgp"
+pkggroups="exabgp"
+source="exabgp-$pkgver.tar.gz::https://github.com/Exa-Networks/exabgp/archive/refs/tags/$pkgver.tar.gz
+ exabgp.initd
+ exabgp.confd
+
+ unvendor.patch
+ "
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH="$builddir"/build/lib/ pytest
+}
+
+package() {
+ python3 setup.py install --root="$pkgdir/"
+ rm -rf "$pkgdir"/usr/etc
+ install -Dm644 -t "$pkgdir"/etc/exabgp/ "$builddir"/etc/exabgp/*.conf
+ install -Dm644 -t "$pkgdir"/etc/exabgp/ "$builddir"/etc/exabgp/*.run
+ install -Dm644 -t "$pkgdir"/etc/exabgp/run "$builddir"/etc/exabgp/run/*
+ install -Dm644 "$builddir"/doc/man/exabgp.1 "$pkgdir"/usr/share/man/man1/exabgp.1
+ install -Dm644 "$builddir"/doc/man/exabgp.conf.5 "$pkgdir"/usr/share/man/man5/exabgp.conf.5
+ install -Dm755 "$srcdir"/exabgp.initd "$pkgdir"/etc/init.d/exabgp
+ install -Dm644 "$srcdir"/exabgp.confd "$pkgdir"/etc/conf.d/exabgp
+ PYTHONPATH="$builddir"/build/lib "$pkgdir"/usr/bin/exabgp --fi | sed "s/nobody/$pkgusers/g" > "$pkgdir"/etc/exabgp/exabgp.env
+}
+
+sha512sums="
+0efc7143191e8b557297e9329354c01e2418e0c4c45753941eba3a1f063e77d17a0efa7a14a3062764e45e709f0598f491c10e2c02e751590bb7c0943b61932b exabgp-4.2.21.tar.gz
+0a6ee4116632d1d869216804d6ace385238347a871cf243b29cf3a77ed04366395ef4fdc28e749daf8f28f048e6eb8fd80bc82e74ad1e5f80b782548d7746a34 exabgp.initd
+32d54bfd02f13d75c5d544141a4e3569ae873ab1ea77cb697a4475f18329c5b4e15a59ab0345b77a20bdfbe60e8322eb373af1f8530f96d5be07f4fb69ccba80 exabgp.confd
+3abce29e126ee7706cdd0d2c97593127c1184522b606353332f07872524514e119b884991d9439e0db6e892a69017bcc696f57f462416ea818bf8a8c4c3a0ca6 unvendor.patch
+"
diff --git a/testing/exabgp/exabgp.confd b/testing/exabgp/exabgp.confd
new file mode 100644
index 00000000000..6a1c03b7b4b
--- /dev/null
+++ b/testing/exabgp/exabgp.confd
@@ -0,0 +1,3 @@
+exabgp_user=exabgp
+exabgp_group=exabgp
+exabgp_conf_file=/etc/exabgp/exabgp.conf
diff --git a/testing/exabgp/exabgp.initd b/testing/exabgp/exabgp.initd
new file mode 100644
index 00000000000..1b6cfb44732
--- /dev/null
+++ b/testing/exabgp/exabgp.initd
@@ -0,0 +1,61 @@
+#!/sbin/openrc-run
+
+command="/usr/bin/exabgp"
+command_args="/etc/exabgp/exabgp.conf"
+command_background="true"
+pidfile="/var/run/${RC_SVCNAME}.pid"
+
+extra_started_commands="reload"
+extra_stopped_commands="setup"
+
+description="exabgp daemon"
+description_reload="Reload exabgp using USR1"
+
+
+depend() {
+ use net
+}
+
+start_pre() {
+ required_files="/etc/exabgp/exabgp.env /etc/exabgp/exabgp.conf"
+ for file in $required_files; do
+ case "$file" in
+ *.env)
+ if [ ! -f "$file" ]; then
+ eerror "env file ${file} missing run '/etc/init.d/exabgp setup' to create the file"
+ exit 1
+ fi
+ ;;
+ *.conf)
+ if [ ! -f "$file" ]; then
+ eerror "conf file ${file} does not exist, create manually"
+ exit 1
+ fi
+ ;;
+ *)
+ ;;
+ esac
+ done
+ mkdir /run/exabgp 2>/dev/null
+ if [ ! -p /run/exabgp/exabgp.in ]; then
+ mkfifo /run/exabgp/exabgp.in 2>/dev/null
+ fi
+ if [ ! -p /run/exabgp/exabgp.out ]; then
+ mkfifo /run/exabgp/exabgp.out 2>/dev/null
+ fi
+}
+
+reload() {
+ ebegin "Reloading $name"
+ start-stop-daemon --signal USR1 --pidfile "$pidfile"
+ eend ${?}
+}
+
+setup() {
+ ebegin "Creating /etc/exabgp/exabgp.env with defaults"
+ if [ ! -f "/etc/exabgp/exabgp.env" ]; then
+ "$command" --fi | sed "s/nobody/$exabgp_user/g" > /etc/exabgp/exabgp.env
+ eend ${?}
+ fi
+ eend ${?}
+}
diff --git a/testing/exabgp/exabgp.pre-install b/testing/exabgp/exabgp.pre-install
new file mode 100644
index 00000000000..48e3b8f817a
--- /dev/null
+++ b/testing/exabgp/exabgp.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S exabgp 2>/dev/null
+adduser -S -D -H -h /dev/null -s /sbin/nologin -G exabgp -g exabgp exabgp 2>/dev/null
+
+exit 0
diff --git a/testing/exabgp/unvendor.patch b/testing/exabgp/unvendor.patch
new file mode 100644
index 00000000000..40a54868ff4
--- /dev/null
+++ b/testing/exabgp/unvendor.patch
@@ -0,0 +1,414 @@
+diff --git a/dev/profile/pyprof2calltree.py b/dev/profile/pyprof2calltree.py
+index fc73a1d..668e602 100755
+--- a/dev/profile/pyprof2calltree.py
++++ b/dev/profile/pyprof2calltree.py
+@@ -38,3 +38,3 @@ import tempfile
+
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/application/bgp.py b/lib/exabgp/application/bgp.py
+index 0780b47..275bc5c 100755
+--- a/lib/exabgp/application/bgp.py
++++ b/lib/exabgp/application/bgp.py
+@@ -24,3 +24,3 @@ from exabgp.reactor.loop import Reactor
+
+-from exabgp.vendoring import docopt
++import docopt
+
+@@ -39,3 +39,3 @@ def __exit(memory, code):
+ if memory:
+- from exabgp.vendoring import objgraph
++ import objgraph
+
+@@ -422,3 +422,3 @@ def run(env, comment, configurations, root, validate, pid=0):
+ finally:
+- from exabgp.vendoring import lsprofcalltree
++ import lsprofcalltree
+
+diff --git a/lib/exabgp/application/cli.py b/lib/exabgp/application/cli.py
+index ab5a10d..e0ba811 100644
+--- a/lib/exabgp/application/cli.py
++++ b/lib/exabgp/application/cli.py
+@@ -26,3 +26,3 @@ from exabgp.reactor.api.response.answer import Answer
+
+-from exabgp.vendoring import docopt
++import docopt
+
+diff --git a/lib/exabgp/application/healthcheck.py b/lib/exabgp/application/healthcheck.py
+index a2d0789..8705785 100644
+--- a/lib/exabgp/application/healthcheck.py
++++ b/lib/exabgp/application/healthcheck.py
+@@ -59,4 +59,4 @@ logger = logging.getLogger("healthcheck")
+ # Python 3.3+ or backport
+-from exabgp.vendoring.ipaddress import ip_network # pylint: disable=F0401
+-from exabgp.vendoring.ipaddress import ip_address # pylint: disable=F0401
++from ipaddress import ip_network # pylint: disable=F0401
++from ipaddress import ip_address # pylint: disable=F0401
+
+diff --git a/lib/exabgp/bgp/message/open/capability/capabilities.py b/lib/exabgp/bgp/message/open/capability/capabilities.py
+index 210542c..1a7962d 100644
+--- a/lib/exabgp/bgp/message/open/capability/capabilities.py
++++ b/lib/exabgp/bgp/message/open/capability/capabilities.py
+@@ -9,3 +9,3 @@ License: 3-clause BSD. (See the COPYRIGHT file)
+
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/bgp/message/open/capability/graceful.py b/lib/exabgp/bgp/message/open/capability/graceful.py
+index 8f87693..2950ff1 100644
+--- a/lib/exabgp/bgp/message/open/capability/graceful.py
++++ b/lib/exabgp/bgp/message/open/capability/graceful.py
+@@ -12,3 +12,3 @@ from struct import unpack
+
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/bgp/message/update/attribute/attributes.py b/lib/exabgp/bgp/message/update/attribute/attributes.py
+index d0f1a80..04c56e0 100644
+--- a/lib/exabgp/bgp/message/update/attribute/attributes.py
++++ b/lib/exabgp/bgp/message/update/attribute/attributes.py
+@@ -32,3 +32,3 @@ from exabgp.logger import LazyAttribute
+
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/link/admingroup.py b/lib/exabgp/bgp/message/update/attribute/bgpls/link/admingroup.py
+index c21b570..49bfc86 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/link/admingroup.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/link/admingroup.py
+@@ -8,3 +8,3 @@ Copyright (c) 2014-2017 Exa Networks. All rights reserved.
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.bgp.message.notification import Notify
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/link/igpmetric.py b/lib/exabgp/bgp/message/update/attribute/bgpls/link/igpmetric.py
+index c57ba19..0fe5ba1 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/link/igpmetric.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/link/igpmetric.py
+@@ -9,5 +9,5 @@ Copyright (c) 2014-2017 Exa Networks. All rights reserved.
+ from struct import unpack
+-from exabgp.vendoring import six
++import six
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.bgp.message.notification import Notify
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/link/sradj.py b/lib/exabgp/bgp/message/update/attribute/bgpls/link/sradj.py
+index b6dc588..2276a09 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/link/sradj.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/link/sradj.py
+@@ -10,6 +10,6 @@ import json
+ from struct import unpack
+-from exabgp.vendoring import six
++import six
+ from exabgp.util import hexstring
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.bgp.message.update.attribute.bgpls.linkstate import LINKSTATE, LsGenericFlags
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/link/sradjlan.py b/lib/exabgp/bgp/message/update/attribute/bgpls/link/sradjlan.py
+index 4ec1b82..0d6255a 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/link/sradjlan.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/link/sradjlan.py
+@@ -10,6 +10,6 @@ import json
+ from struct import unpack
+-from exabgp.vendoring import six
++import six
+ from exabgp.util import hexstring
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.protocol.iso import ISO
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/linkstate.py b/lib/exabgp/bgp/message/update/attribute/bgpls/linkstate.py
+index c1ae183..d596a76 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/linkstate.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/linkstate.py
+@@ -13,3 +13,3 @@ from struct import unpack
+ from exabgp.util import concat_strs
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.bgp.message.notification import Notify
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/node/isisarea.py b/lib/exabgp/bgp/message/update/attribute/bgpls/node/isisarea.py
+index 7644105..f4ba7d4 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/node/isisarea.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/node/isisarea.py
+@@ -8,3 +8,3 @@ Copyright (c) 2014-2017 Exa Networks. All rights reserved.
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/node/sralgo.py b/lib/exabgp/bgp/message/update/attribute/bgpls/node/sralgo.py
+index 0afe8f5..572fd15 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/node/sralgo.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/node/sralgo.py
+@@ -10,3 +10,3 @@ import json
+ from struct import unpack
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/node/srcap.py b/lib/exabgp/bgp/message/update/attribute/bgpls/node/srcap.py
+index c5ef17c..ab8662c 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/node/srcap.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/node/srcap.py
+@@ -11,3 +11,3 @@ from struct import unpack
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.bgp.message.update.attribute.bgpls.linkstate import LINKSTATE, LsGenericFlags
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/prefix/prefixmetric.py b/lib/exabgp/bgp/message/update/attribute/bgpls/prefix/prefixmetric.py
+index be76423..686c009 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/prefix/prefixmetric.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/prefix/prefixmetric.py
+@@ -10,3 +10,3 @@ from struct import unpack
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.bgp.message.notification import Notify
+diff --git a/lib/exabgp/bgp/message/update/attribute/bgpls/prefix/srprefix.py b/lib/exabgp/bgp/message/update/attribute/bgpls/prefix/srprefix.py
+index bb991e5..7f791dc 100644
+--- a/lib/exabgp/bgp/message/update/attribute/bgpls/prefix/srprefix.py
++++ b/lib/exabgp/bgp/message/update/attribute/bgpls/prefix/srprefix.py
+@@ -10,6 +10,6 @@ import json
+ from struct import unpack
+-from exabgp.vendoring import six
++import six
+ from exabgp.util import hexstring
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.bgp.message.notification import Notify
+diff --git a/lib/exabgp/bgp/message/update/attribute/mprnlri.py b/lib/exabgp/bgp/message/update/attribute/mprnlri.py
+index 95b8da1..871f8a8 100644
+--- a/lib/exabgp/bgp/message/update/attribute/mprnlri.py
++++ b/lib/exabgp/bgp/message/update/attribute/mprnlri.py
+@@ -11,3 +11,3 @@ from struct import unpack
+
+-from exabgp.vendoring import six
++import six
+ from exabgp.util import concat_bytes
+diff --git a/lib/exabgp/bgp/message/update/attribute/sr/prefixsid.py b/lib/exabgp/bgp/message/update/attribute/sr/prefixsid.py
+index 9d7c5a6..b529f2c 100644
+--- a/lib/exabgp/bgp/message/update/attribute/sr/prefixsid.py
++++ b/lib/exabgp/bgp/message/update/attribute/sr/prefixsid.py
+@@ -10,3 +10,3 @@ import binascii
+ from struct import unpack
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/bgp/message/update/attribute/sr/srgb.py b/lib/exabgp/bgp/message/update/attribute/sr/srgb.py
+index 540d23e..c56ea59 100644
+--- a/lib/exabgp/bgp/message/update/attribute/sr/srgb.py
++++ b/lib/exabgp/bgp/message/update/attribute/sr/srgb.py
+@@ -11,3 +11,3 @@ from struct import pack
+ from exabgp.util import concat_bytes
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+ from exabgp.bgp.message.notification import Notify
+diff --git a/lib/exabgp/bgp/message/update/nlri/bgpls/tlvs/ipreach.py b/lib/exabgp/bgp/message/update/nlri/bgpls/tlvs/ipreach.py
+index 706fe86..23d62b3 100644
+--- a/lib/exabgp/bgp/message/update/nlri/bgpls/tlvs/ipreach.py
++++ b/lib/exabgp/bgp/message/update/nlri/bgpls/tlvs/ipreach.py
+@@ -12,3 +12,3 @@ from struct import unpack
+ import math
+-from exabgp.vendoring import ipaddress
++import ipaddress
+
+diff --git a/lib/exabgp/bgp/message/update/nlri/vpls.py b/lib/exabgp/bgp/message/update/nlri/vpls.py
+index 0c9e329..033d254 100644
+--- a/lib/exabgp/bgp/message/update/nlri/vpls.py
++++ b/lib/exabgp/bgp/message/update/nlri/vpls.py
+@@ -12,3 +12,3 @@ from struct import unpack
+ from struct import pack
+-from exabgp.vendoring import six
++import six
+ from exabgp.util import concat_bytes
+diff --git a/lib/exabgp/bgp/neighbor.py b/lib/exabgp/bgp/neighbor.py
+index dd26570..461a25a 100644
+--- a/lib/exabgp/bgp/neighbor.py
++++ b/lib/exabgp/bgp/neighbor.py
+@@ -18,3 +18,3 @@ try:
+ except ImportError:
+- from exabgp.vendoring.counter import Counter
++ from counter import Counter
+
+diff --git a/lib/exabgp/configuration/configuration.py b/lib/exabgp/configuration/configuration.py
+index f84a25d..0688be6 100644
+--- a/lib/exabgp/configuration/configuration.py
++++ b/lib/exabgp/configuration/configuration.py
+@@ -12,3 +12,3 @@ import sys
+
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/configuration/core/scope.py b/lib/exabgp/configuration/core/scope.py
+index 70352b8..cb2aed7 100644
+--- a/lib/exabgp/configuration/core/scope.py
++++ b/lib/exabgp/configuration/core/scope.py
+@@ -13,3 +13,3 @@ import pprint
+ # from copy import deepcopy
+-from exabgp.vendoring import six
++import six
+ from exabgp.protocol.ip import IP
+diff --git a/lib/exabgp/configuration/core/tokeniser.py b/lib/exabgp/configuration/core/tokeniser.py
+index 9164bba..90273c7 100644
+--- a/lib/exabgp/configuration/core/tokeniser.py
++++ b/lib/exabgp/configuration/core/tokeniser.py
+@@ -12,3 +12,3 @@ from exabgp.protocol.family import AFI
+ from collections import deque
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/configuration/environment.py b/lib/exabgp/configuration/environment.py
+index 20e98d3..cde47fb 100644
+--- a/lib/exabgp/configuration/environment.py
++++ b/lib/exabgp/configuration/environment.py
+@@ -317,3 +317,3 @@ class environment(object):
+
+-from exabgp.vendoring.six.moves import configparser as ConfigParser
++from six.moves import configparser as ConfigParser
+ from exabgp.util.hashtable import HashTable
+diff --git a/lib/exabgp/protocol/iso/__init__.py b/lib/exabgp/protocol/iso/__init__.py
+index fb483d3..fa6a5f2 100644
+--- a/lib/exabgp/protocol/iso/__init__.py
++++ b/lib/exabgp/protocol/iso/__init__.py
+@@ -12,3 +12,3 @@ Copyright (c) 2009-2017 Exa Networks. All rights reserved.
+
+-from exabgp.vendoring.bitstring import BitArray
++from bitstring import BitArray
+
+diff --git a/lib/exabgp/reactor/api/response/json.py b/lib/exabgp/reactor/api/response/json.py
+index a1fb6e5..6467fa2 100755
+--- a/lib/exabgp/reactor/api/response/json.py
++++ b/lib/exabgp/reactor/api/response/json.py
+@@ -16,3 +16,3 @@ import signal
+
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/reactor/asynchronous.py b/lib/exabgp/reactor/asynchronous.py
+index 837a4ff..6f5bcc2 100644
+--- a/lib/exabgp/reactor/asynchronous.py
++++ b/lib/exabgp/reactor/asynchronous.py
+@@ -12,3 +12,3 @@ from collections import deque
+ from exabgp.logger import Logger
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/reactor/keepalive.py b/lib/exabgp/reactor/keepalive.py
+index 3ad9937..f986e9a 100644
+--- a/lib/exabgp/reactor/keepalive.py
++++ b/lib/exabgp/reactor/keepalive.py
+@@ -8,3 +8,3 @@ Copyright (c) 2017-2017 Exa Networks. All rights reserved.
+
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/reactor/network/outgoing.py b/lib/exabgp/reactor/network/outgoing.py
+index 892342d..94d9180 100644
+--- a/lib/exabgp/reactor/network/outgoing.py
++++ b/lib/exabgp/reactor/network/outgoing.py
+@@ -2,3 +2,3 @@ import time
+
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/reactor/peer.py b/lib/exabgp/reactor/peer.py
+index e1ffb7c..9ae1029 100644
+--- a/lib/exabgp/reactor/peer.py
++++ b/lib/exabgp/reactor/peer.py
+@@ -13,3 +13,3 @@ from collections import defaultdict
+ # import traceback
+-from exabgp.vendoring import six
++import six
+ from exabgp.util import ordinal
+diff --git a/lib/exabgp/reactor/protocol.py b/lib/exabgp/reactor/protocol.py
+index 1c4b038..fef51ad 100644
+--- a/lib/exabgp/reactor/protocol.py
++++ b/lib/exabgp/reactor/protocol.py
+@@ -11,3 +11,3 @@ import os
+
+-from exabgp.vendoring import six
++import six
+ import traceback
+diff --git a/lib/exabgp/rib/outgoing.py b/lib/exabgp/rib/outgoing.py
+index a360bad..90d3b93 100644
+--- a/lib/exabgp/rib/outgoing.py
++++ b/lib/exabgp/rib/outgoing.py
+@@ -23,3 +23,3 @@ if sys.version_info[0] >= 3 and sys.version_info[1] >= 6:
+ else:
+- from exabgp.vendoring.ordereddict import OrderedDict as RIBdict
++ from ordereddict import OrderedDict as RIBdict
+
+diff --git a/lib/exabgp/util/coroutine.py b/lib/exabgp/util/coroutine.py
+index a54b0bd..7e6bbbb 100644
+--- a/lib/exabgp/util/coroutine.py
++++ b/lib/exabgp/util/coroutine.py
+@@ -10,3 +10,3 @@ License: 3-clause BSD. (See the COPYRIGHT file)
+ from functools import wraps
+-from exabgp.vendoring import six
++import six
+
+diff --git a/lib/exabgp/util/trace.py b/lib/exabgp/util/trace.py
+index a5a3a91..f23acb2 100644
+--- a/lib/exabgp/util/trace.py
++++ b/lib/exabgp/util/trace.py
+@@ -11,3 +11,3 @@ import traceback
+
+-from exabgp.vendoring.six.moves import StringIO
++from six.moves import StringIO
+
+diff --git a/lib/exabgp/vendoring/cmd2.py b/lib/exabgp/vendoring/cmd2.py
+index 9b179ec..d7e5c38 100644
+--- a/lib/exabgp/vendoring/cmd2.py
++++ b/lib/exabgp/vendoring/cmd2.py
+@@ -40,6 +40,6 @@ import platform
+ import copy
+-from exabgp.vendoring import six
++import six
+ from code import InteractiveConsole, InteractiveInterpreter
+ from optparse import make_option
+-from exabgp.vendoring import pyparsing
++import pyparsing
+
+diff --git a/lib/exabgp/vendoring/six.py b/lib/exabgp/vendoring/six.py
+index 20e866a..218e9d6 100644
+--- a/lib/exabgp/vendoring/six.py
++++ b/lib/exabgp/vendoring/six.py
+@@ -162,3 +162,3 @@ class _SixMetaPathImporter(object):
+ """
+- A meta path importer to from exabgp.vendoring import six.moves and its submodules.
++ A meta path importer to import six.moves and its submodules.
+
+diff --git a/qa/tests/cache_test.py b/qa/tests/cache_test.py
+index 3a8dc94..721f85c 100755
+--- a/qa/tests/cache_test.py
++++ b/qa/tests/cache_test.py
+@@ -14,5 +14,5 @@ import time
+ from exabgp.util.cache import Cache
+-from exabgp.vendoring import six
++import six
+
+-from exabgp.vendoring.six.moves import xrange
++from six.moves import xrange
+
+diff --git a/qa/tests/connection.py b/qa/tests/connection.py
+index 1586daf..8092ea5 100755
+--- a/qa/tests/connection.py
++++ b/qa/tests/connection.py
+@@ -17,3 +17,3 @@ import unittest
+ from exabgp.util.od import od
+-from exabgp.vendoring import six
++import six
+
+diff --git a/qa/tests/protocol.py b/qa/tests/protocol.py
+index 67e8e21..31c8a03 100755
+--- a/qa/tests/protocol.py
++++ b/qa/tests/protocol.py
+@@ -25,4 +25,4 @@ from exabgp.bgp.neighbor import Neighbor
+
+-from exabgp.vendoring import six
+-from exabgp.vendoring.six.moves import StringIO
++import six
++from six.moves import StringIO
+
diff --git a/testing/exercism/APKBUILD b/testing/exercism/APKBUILD
new file mode 100644
index 00000000000..2ff0539b671
--- /dev/null
+++ b/testing/exercism/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=exercism
+pkgver=3.2.0
+pkgrel=4
+pkgdesc="Command-line client for exercism.io"
+url="https://github.com/exercism/cli"
+arch="all"
+license="MIT"
+makedepends="go"
+options="!check"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/exercism/cli/archive/v$pkgver.tar.gz"
+builddir="$srcdir"/cli-$pkgver
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+prepare() {
+ default_prepare
+
+ go mod edit -replace=github.com/fsnotify/fsnotify=github.com/fsnotify/fsnotify@v1.5.1
+ go get -d github.com/fsnotify/fsnotify@v1.5.1
+}
+
+build() {
+ go build -o bin/exercism exercism/main.go
+}
+
+package() {
+ install -Dm755 bin/exercism "$pkgdir"/usr/bin/exercism
+
+ install -Dm644 shell/exercism_completion.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 shell/exercism.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 shell/exercism_completion.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+1d874652caf9845ab2f2e9da96083b29e903f4ba3de3c9dd16185a291d3cb5e224fe2264129fd47ed3eed2918f366b7d96e6aeaafb2db8a94cc7e39556756b46 exercism-3.2.0.tar.gz
+"
diff --git a/testing/extrace/APKBUILD b/testing/extrace/APKBUILD
new file mode 100644
index 00000000000..f0c9d8e8cbd
--- /dev/null
+++ b/testing/extrace/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=extrace
+pkgver=0.9
+pkgrel=0
+pkgdesc="Trace exec() calls system-wide"
+url="https://github.com/leahneukirchen/extrace"
+arch="all"
+license="BSD-2-Clause AND GPL-2.0-or-later"
+makedepends="linux-headers"
+subpackages="$pkgname-doc"
+source="https://github.com/leahneukirchen/extrace/archive/v$pkgver/extrace-$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX="/usr" install
+}
+
+sha512sums="
+dfc2abaccf9e24428b1e3eacb12d11bb304d6a854f11d0be546d536369f8e0e9c81d52fd2a8f242f7d342c121693e7e3cadf5f9650cff5e81232b0853200b1bc extrace-0.9.tar.gz
+"
diff --git a/testing/extremetuxracer/APKBUILD b/testing/extremetuxracer/APKBUILD
index 3847418b0fe..52353b721f1 100644
--- a/testing/extremetuxracer/APKBUILD
+++ b/testing/extremetuxracer/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: Danct12 <danct12@disroot.org>
# Maintainer: Danct12 <danct12@disroot.org>
pkgname=extremetuxracer
-pkgver=0.8.1
+pkgver=0.8.3
pkgrel=0
pkgdesc="Downhill racing game starring Tux"
-url="https://sourceforge.net/projects/extremetuxracer"
+url="https://sourceforge.net/projects/extremetuxracer/"
arch="all"
license="GPL-2.0-only"
makedepends="sfml-dev glu-dev freetype-dev"
@@ -26,5 +26,5 @@ package() {
}
sha512sums="
-ebb3224d28acf1c7f0dff9d63169ad2b814a6dfb42b3451faeacaeec874a1e8a502e7936150fc5c98c83b8bd10480c8ba479e3455c5b3a4de89cf83c4b9af4f5 etr-0.8.1.tar.xz
+75b6f2b4d7260216fb8b5bee1412ed929712e6de04a3b32ecf65ad747c6bff30e5eb5bedde24dca0afaec816c847860d9c589c66cdff08aa4bdcec224e727f1f etr-0.8.3.tar.xz
"
diff --git a/testing/extundelete/APKBUILD b/testing/extundelete/APKBUILD
index 5127da58ad8..625466be7ce 100644
--- a/testing/extundelete/APKBUILD
+++ b/testing/extundelete/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=extundelete
pkgver=0.2.4
-pkgrel=0
+pkgrel=1
pkgdesc="Utility for recovering deleted files from ext2, ext3 or ext4 partitions by parsing the journal"
-url="http://extundelete.sourceforge.net"
+url="https://extundelete.sourceforge.net/"
arch="all"
license="GPL-2.0"
makedepends="e2fsprogs-dev"
diff --git a/testing/f3/APKBUILD b/testing/f3/APKBUILD
index 41e7aa4a7e2..fd57efae833 100644
--- a/testing/f3/APKBUILD
+++ b/testing/f3/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=f3
pkgver=8.0
-pkgrel=0
+pkgrel=1
pkgdesc="F3 - Fight Flash Fraud"
url="http://oss.digirati.com.br/f3/"
arch="all"
diff --git a/testing/f_scripts/APKBUILD b/testing/f_scripts/APKBUILD
new file mode 100644
index 00000000000..f068478fdcb
--- /dev/null
+++ b/testing/f_scripts/APKBUILD
@@ -0,0 +1,99 @@
+# Maintainer: Bobby Hamblin <hamblingreen@hotmail.com>
+# Contributor: Miles Alan <m@milesalan.com>
+pkgname=f_scripts
+pkgver=0.5
+pkgrel=2
+pkgdesc="Framebufferphone prompt-driven scripts which are compatible with fbp"
+url="http://git.sr.ht/~hamblingreen/f_scripts"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="oil"
+source="$pkgname-$pkgver.tar.gz::http://git.sr.ht/~hamblingreen/f_scripts/archive/$pkgver.tar.gz"
+options="!check" # Has no tests
+subpackages="
+ $pkgname-f_audio
+ $pkgname-f_files
+ $pkgname-f_game
+ $pkgname-f_maps
+ $pkgname-f_networks
+ $pkgname-f_phone
+ $pkgname-f_rss
+ $pkgname-f_theme
+ $pkgname-f_timer
+ $pkgname-f_web
+ $pkgname-f_youtube
+"
+
+package() {
+ mkdir -p "$pkgdir/usr/bin"
+}
+
+f_audio() {
+ pkgdesc="$pkgname - f_audio script, Adjust audio output devices and volume"
+ depends="$depends alsa-utils"
+ install -Dm755 "$builddir"/scripts/f_audio "$subpkgdir/usr/bin/f_audio"
+}
+
+f_files() {
+ pkgdesc="$pkgname - f_files script, Browse files on your filesystem"
+ depends="$depends vim mpv fbida-fbi fbida-fbgs"
+ install -Dm755 "$builddir"/scripts/f_files "$subpkgdir/usr/bin/f_files"
+}
+
+f_game() {
+ pkgdesc="$pkgname - f_game script, Play classic console games"
+ depends="$depends moon-buggy"
+ install -Dm755 "$builddir"/scripts/f_game "$subpkgdir/usr/bin/f_game"
+}
+
+f_maps() {
+ pkgdesc="$pkgname - f_maps script, Browse OSM maps using mepo (via SDL directfb)."
+ depends="$depends mepo tslib directfb mesa-gl kbd vis"
+ install -Dm755 "$builddir"/scripts/f_maps "$subpkgdir/usr/bin/f_maps"
+}
+
+f_networks() {
+ pkgdesc="$pkgname - f_networks script, Allows managing gsm/wpa connections via underlying nmcli calls"
+ depends="$depends networkmanager dnsmasq networkmanager networkmanager-cli networkmanager-openrc networkmanager-tui networkmanager-wifi networkmanager-wwan"
+ install -Dm755 "$builddir"/scripts/f_networks "$subpkgdir/usr/bin/f_networks"
+}
+
+f_phone() {
+ pkgdesc="$pkgname - f_phone script, Manages phone calls / text messages using modemmanager"
+ depends="$depends polkit modemmanager linuxconsoletools pn"
+ install -Dm755 "$builddir"/scripts/f_phone "$subpkgdir/usr/bin/f_phone"
+}
+
+f_rss() {
+ pkgdesc="$pkgname - f_rss script, Fetches data from RSS via sfeed and allows you to view via sfeed_curses"
+ depends="$depends sfeed w3m"
+ install -Dm755 "$builddir"/scripts/f_rss "$subpkgdir/usr/bin/f_rss"
+}
+
+f_theme() {
+ pkgdesc="$pkgname - f_theme script, Change the framebuffer theme (font & colors)"
+ depends="$depends terminus-font util-linux-misc"
+ install -Dm755 "$builddir"/scripts/f_theme "$subpkgdir/usr/bin/f_theme"
+}
+
+f_timer() {
+ pkgdesc="$pkgname - f_timer script, Set a countdown timer to be alerted"
+ depends="$depends linuxconsoletools util-linux-misc"
+ install -Dm755 "$builddir"/scripts/f_timer "$subpkgdir/usr/bin/f_timer"
+}
+
+f_web() {
+ pkgdesc="$pkgname - f_web script, Select a website and browse via w3m or netsurf"
+ depends="$depends w3m netsurf-framebuffer tslib"
+ install -Dm755 "$builddir"/scripts/f_web "$subpkgdir/usr/bin/f_web"
+}
+
+f_youtube() {
+ pkgdesc="$pkgname - f_youtube script, Listen or view youtube videos via mpv"
+ depends="$depends codemadness-frontends mpv youtube-dl"
+ install -Dm755 "$builddir"/scripts/f_youtube "$subpkgdir/usr/bin/f_youtube"
+}
+
+sha512sums="
+2e07ccf037835bdfc7f6528cb73a270098e94a81dab9cec2efc8641aa9a398d26a6d010f3ecdb0a4948b2865627e846315d50f0c27e836b526ff130394b69c0f f_scripts-0.5.tar.gz
+"
diff --git a/testing/fabric/APKBUILD b/testing/fabric/APKBUILD
index 5a63e68559f..f15b8e017ec 100644
--- a/testing/fabric/APKBUILD
+++ b/testing/fabric/APKBUILD
@@ -2,24 +2,39 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=fabric
_pkgname=fabric
-pkgver=2.6.0
-pkgrel=2
+pkgver=3.2.2
+pkgrel=1
pkgdesc="simple pythonic remote deployment tool"
options="!check" # Fails to find 'fabfile' module
url="https://www.fabfile.org/"
arch="noarch"
license="BSD-2-Clause"
-depends="py3-paramiko py3-invoke"
-makedepends="py3-setuptools"
+depends="
+ py3-decorator
+ py3-deprecated
+ py3-invoke
+ py3-paramiko
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
checkdepends="py3-pytest py3-mock"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="22c430bff6c4d93fec5231999949cb1959c11ec06754e62a88776a9d62db1b30788214dd0b873252559fdf41441389585170c0b53a4d7af7fe4f5a36dc85fb4d fabric-2.6.0.tar.gz"
+sha512sums="
+1af5526d5af2e55eaf76b1a11eb359b32d86f31201584a2e8b14443ae42807a11c218c2edabafa3eb91993ca7d9d78f705717ee875563ac5ff4d8dbc8a42ee4e fabric-3.2.2.tar.gz
+"
diff --git a/testing/fakeroot-tcp/APKBUILD b/testing/fakeroot-tcp/APKBUILD
index ca694a00c59..7d5448a7c3e 100644
--- a/testing/fakeroot-tcp/APKBUILD
+++ b/testing/fakeroot-tcp/APKBUILD
@@ -1,24 +1,29 @@
-# Maintainer:
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=fakeroot-tcp
-pkgver=1.25.3
-pkgrel=0
+pkgver=1.32.1
+pkgrel=1
pkgdesc="Gives a fake root environment, useful for building packages as a non-privileged user"
arch="all"
license="GPL-3.0-or-later"
url="https://packages.debian.org/fakeroot"
provides="fakeroot"
+provider_priority=1
checkdepends="bash"
-makedepends_build="libtool autoconf automake po4a"
+makedepends_build="libtool autoconf automake"
makedepends_host="libcap-dev acl-dev linux-headers"
makedepends="$makedepends_build $makedepends_host"
-subpackages="$pkgname-doc"
builddir="$srcdir/fakeroot-$pkgver"
source="https://deb.debian.org/debian/pool/main/f/fakeroot/fakeroot_$pkgver.orig.tar.gz
fakeroot-no64.patch
fakeroot-stdint.patch
xstatjunk.patch
fix-shell-in-fakeroot.patch
+ fakeroot-skip-ipc-sanity-check.patch
+ do-not-redefine-id_t.patch
+ fix-format.patch
"
+# compared to non-tcp, this one seems to fail
+options="!check"
prepare() {
default_prepare
@@ -26,7 +31,10 @@ prepare() {
}
build() {
- CFLAGS="-D_STAT_VER=0 $CFLAGS" \
+ # musl does not have _STAT_VER, it's really not used for
+ # anything, so define it as zero (just like uclibc does)
+ export CFLAGS="$CFLAGS -D_STAT_VER=0 $CFLAGS"
+
CONFIG_SHELL=/bin/sh ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -35,8 +43,6 @@ build() {
--with-ipc=tcp
make
- cd doc
- po4a -k 0 --rm-backups --variable "srcdir=../doc/" po4a/po4a.cfg
}
check() {
@@ -45,12 +51,16 @@ check() {
package() {
make DESTDIR="$pkgdir" install
+ rm -r "$pkgdir"/usr/share/man
}
sha512sums="
-b54366ef82b49af414d7214d069a4bc7dd188dfa4f8e3121f6bd65fd67268b02346ff72e857087243ab0efe9fa82faaa9f9c3309cac4b5af0ea00908c2e5eb6e fakeroot_1.25.3.orig.tar.gz
+fe8263ca9b90e4df253311e5331721a8783260a1058b307d10ffbde47724fc24df584806b17af4477be47d90dc553abe6a476e02cf8ce2aebdd94357ff7d7f09 fakeroot_1.32.1.orig.tar.gz
7a832e6bed3838c7c488e0e12ba84b8d256e84bbb06d6020247452a991de505fa5c6bd7bcb84dce8753eb242e0fcab863b5461301cd56695f2b003fe8d6ff209 fakeroot-no64.patch
ed7a58b0d201139545420f9e5429f503c00e00f36dea84473e77ea99b23bb8d421da1a8a8ce98ff90e72e378dff4cb9ea3c1a863a969899a5f50dfac3b9c5fac fakeroot-stdint.patch
-5efd33fd778bd94a529ed7e439fb8fea25ff865dda3f6f9e431264e942b37f3b5d7a0ad14107b55c5fa81b86efd5a82aedb3803cfab08ec57f27f5b229d2fe88 xstatjunk.patch
+70bf7609a5951326ac7372a252a15516f96a1ee6e458a659b16f0e4f1e2db6556482c71178d4b2f10e5ebdc0abfb7a3cc97c9878984e60cdf6e7d7281790e1fc xstatjunk.patch
47593b3d86a66bab832c50a1d967cdc70e42bbd9ef4436f18140067ccefdd6418516e5157102c67e604f3623ed1b9f4fe1423fc5dad4dfe5356fc250c12818a7 fix-shell-in-fakeroot.patch
+9a3faf924891deb36fab8f200489ad6154df262735b563dea46283afcdc83d12d32b00db33848f2a5c52d0b4422942863247577634e37b9d693f2b3a398a0f1d fakeroot-skip-ipc-sanity-check.patch
+e07162ec511c38261ad2540864f922ee03f5daa1d5d23729879c9993d62b2ffebc27eab29f3eb522ddb10b052241e58b67265914ef9100b1911948e874bf53a1 do-not-redefine-id_t.patch
+481fac0b2b7388fbf8c6140311da856df1b8facfe331d04f2bc6275c766b8a81c1e07971ffd131aaf8416b8cda1f52fa4ed6d5f6ba913f69efe119288c016d78 fix-format.patch
"
diff --git a/testing/fakeroot-tcp/do-not-redefine-id_t.patch b/testing/fakeroot-tcp/do-not-redefine-id_t.patch
new file mode 100644
index 00000000000..4d3bab190f8
--- /dev/null
+++ b/testing/fakeroot-tcp/do-not-redefine-id_t.patch
@@ -0,0 +1,21 @@
+musl defines id_t as unsigned but doesn't use the _ID_T to detect its
+definition. This causes the type to be redefined as an int by fakeroot
+which causes a compilation error.
+
+diff -upr fakeroot-1.27.orig/libfakeroot.c fakeroot-1.27/libfakeroot.c
+--- fakeroot-1.27.orig/libfakeroot.c 2022-01-30 11:30:25.198506844 +0100
++++ fakeroot-1.27/libfakeroot.c 2022-01-30 11:30:41.928524429 +0100
+@@ -133,13 +133,6 @@
+ #define INT_SEND_STAT(a,b) SEND_STAT(a,b,_STAT_VER)
+ #define INT_SEND_GET_XATTR(a,b) SEND_GET_XATTR(a,b,_STAT_VER)
+ #define INT_SEND_GET_STAT(a,b) SEND_GET_STAT(a,b)
+-
+-/* 10.10 uses id_t in getpriority/setpriority calls, so pretend
+- id_t is used everywhere, just happens to be int on some OSes */
+-#ifndef _ID_T
+-#define _ID_T
+-typedef int id_t;
+-#endif
+ #endif
+
+ #include <sys/types.h>
diff --git a/testing/fakeroot-tcp/fakeroot-skip-ipc-sanity-check.patch b/testing/fakeroot-tcp/fakeroot-skip-ipc-sanity-check.patch
new file mode 100644
index 00000000000..9541973c049
--- /dev/null
+++ b/testing/fakeroot-tcp/fakeroot-skip-ipc-sanity-check.patch
@@ -0,0 +1,59 @@
+This patch was original added in aports commit
+439b449b68ebf3462a3f659804c41195e2d8d8ae. It
+seems to be needed since this sanity checks
+fails spuriously when cros compiling fakeroot.
+
+diff -upr fakeroot-1.27.orig/configure.ac fakeroot-1.27/configure.ac
+--- fakeroot-1.27.orig/configure.ac 2022-01-30 10:43:52.992260063 +0100
++++ fakeroot-1.27/configure.ac 2022-01-30 10:46:22.989526929 +0100
+@@ -25,50 +25,6 @@ AC_CACHE_CHECK([which IPC method to use]
+ [ac_cv_use_ipc],
+ [ac_cv_use_ipc=sysv])
+
+-if test $ac_cv_use_ipc = "sysv"; then
+- AC_MSG_CHECKING([whether SysV IPC message queues are actually working on the host])
+-
+- AC_LANG_PUSH(C)
+- AC_RUN_IFELSE([AC_LANG_SOURCE([[
+-#include <stdlib.h>
+-#include <sys/types.h>
+-#include <sys/ipc.h>
+-#include <sys/msg.h>
+-#include <time.h>
+-#include <unistd.h>
+-
+-int main() {
+-
+- srandom(time(NULL)+getpid()*33151);
+- key_t msg_key = random();
+- int msg_get = msgget(msg_key, IPC_CREAT|0600);
+-
+- if (msg_get==-1) {
+- return 1;
+- } else {
+- msgctl(msg_get, IPC_RMID, NULL);
+- return 0;
+- }
+-
+-}]])],[ac_cv_use_ipc=sysv],[ac_cv_use_ipc=tcp],[ac_cv_use_ipc=cross])
+-
+- if test $ac_cv_use_ipc = cross; then
+- if test "$host_os" = linux-gnu; then
+- ac_cv_use_ipc=sysv
+- AC_MSG_RESULT([cross, guessing yes])
+- else
+- (set -o posix; set)
+- AC_MSG_ERROR([cross compiling, unknown result for $host_os])
+- fi
+- elif test $ac_cv_use_ipc = "tcp"; then
+- AC_MSG_RESULT([No, using TCP])
+- else
+- AC_MSG_RESULT([Yes])
+- fi
+-
+- AC_LANG_POP(C)
+-fi
+-
+ AC_ARG_WITH([dbformat],
+ AS_HELP_STRING([--with-dbformat@<:@=DBFORMAT@:>@],
+ [database format to use: either inode (default) or path]),
diff --git a/testing/fakeroot-tcp/fix-format.patch b/testing/fakeroot-tcp/fix-format.patch
new file mode 100644
index 00000000000..8f8639647aa
--- /dev/null
+++ b/testing/fakeroot-tcp/fix-format.patch
@@ -0,0 +1,25 @@
+Fakeroot defines custom fake_dev_t/fake_ino_t as uint64_t
+but doesn't use the PRIu64 format specifier from inttypes.h
+to print them thereby relying on a specific representation
+of these types.
+
+diff -upr fakeroot-1.27.orig/faked.c fakeroot-1.27/faked.c
+--- fakeroot-1.27.orig/faked.c 2022-01-17 21:37:21.000000000 +0100
++++ fakeroot-1.27/faked.c 2022-01-30 11:36:59.963019225 +0100
+@@ -121,6 +121,7 @@
+ #include <stdlib.h>
+ #include <string.h>
+ #include <signal.h>
++#include <inttypes.h>
+ #ifdef HAVE_STDINT_H
+ # include <stdint.h>
+ #endif
+@@ -687,7 +688,7 @@ int load_database(const uint32_t remote)
+ /* */
+ /*********************************/
+ void debug_stat(const struct fakestat *st){
+- fprintf(stderr,"dev:ino=(%llx:%lli), mode=0%lo, own=(%li,%li), nlink=%li, rdev=%lli\n",
++ fprintf(stderr,"dev:ino=(%"PRIx64":%"PRIu64"), mode=0%lo, own=(%li,%li), nlink=%li, rdev=%"PRIu64"\n",
+ st->dev,
+ st->ino,
+ (long)st->mode,
diff --git a/testing/fakeroot-tcp/xstatjunk.patch b/testing/fakeroot-tcp/xstatjunk.patch
index 12f2759b48f..bda4469980d 100644
--- a/testing/fakeroot-tcp/xstatjunk.patch
+++ b/testing/fakeroot-tcp/xstatjunk.patch
@@ -1,10 +1,12 @@
---- fakeroot-1.18.4.orig/configure.ac 2012-06-02 18:23:41.000000000 +0000
-+++ fakeroot-1.18.4configure.ac 2015-09-24 23:15:56.917470073 +0000
-@@ -301,7 +301,7 @@
+diff --git a/configure.ac b/configure.ac
+index 9613183..e4a9bbc 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -385,7 +385,7 @@ for SEARCH in %stat f%stat l%stat f%statat %stat64 f%stat64 l%stat64 f%statat64
FUNC=`echo $SEARCH|sed -e 's/.*%//'`
PRE=`echo $SEARCH|sed -e 's/%.*//'`
FOUND=
-- for WRAPPED in __${PRE}x${FUNC} _${PRE}x${FUNC} __${PRE}${FUNC}13 ${PRE}${FUNC}; do
+- for WRAPPED in __${PRE}x${FUNC} _${PRE}x${FUNC} __${PRE}${FUNC}13 ${PRE}${FUNC} __${PRE}${FUNC}; do
+ for WRAPPED in ${PRE}${FUNC}; do
AC_CHECK_FUNCS($WRAPPED,FOUND=$WRAPPED)
dnl
diff --git a/testing/fasd/APKBUILD b/testing/fasd/APKBUILD
deleted file mode 100644
index 470c8dd7bfa..00000000000
--- a/testing/fasd/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=fasd
-pkgver=1.0.1
-pkgrel=0
-pkgdesc="Command-line productivity booster, offers quick access to files and directories"
-url="https://github.com/clvv/fasd"
-arch="all"
-license="MIT"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/clvv/$pkgname/archive/$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
-
-prepare() {
- default_prepare
-
- sed -i 's|^#!/usr/bin/env sh|#!/bin/sh|' fasd
-}
-
-package() {
- cd "$builddir"
- make install DESTDIR="$pkgdir" PREFIX=/usr
-}
-
-sha512sums="0f68fe5501379738894ba8fd0495a137398b6d0196aac040028c45ae486ec040ea7c2e4521f6ad43b5d22f48d048dbc734716f5e7400e3b2b3184f820e969a19 fasd-1.0.1.tar.gz"
diff --git a/testing/fast_float/APKBUILD b/testing/fast_float/APKBUILD
new file mode 100644
index 00000000000..71d2cb73e1f
--- /dev/null
+++ b/testing/fast_float/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=fast_float
+pkgver=5.2.0
+pkgrel=1
+_tests=97a0b2e638feb479387554cf253e346500541e7e
+pkgdesc="Fast implementation of the C++ from_chars functions for float and double types"
+url="https://github.com/fastfloat/fast_float"
+arch="noarch"
+license="Apache-2.0 OR MIT"
+makedepends="cmake samurai"
+checkdepends="doctest-dev"
+source="https://github.com/fastfloat/fast_float/archive/v$pkgver/fast_float-$pkgver.tar.gz
+ https://github.com/fastfloat/supplemental_test_files/archive/$_tests.tar.gz
+ "
+
+prepare() {
+ default_prepare
+
+ mkdir -p builddir/_deps
+ mv "$srcdir"/supplemental_test_files-$_tests \
+ builddir/_deps/supplemental_test_files-src
+}
+
+build() {
+ cmake -B builddir -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_DATAROOTDIR=/usr/lib \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DFASTFLOAT_TEST="$(want_check && echo ON || echo OFF)" \
+ -DSYSTEM_DOCTEST=ON \
+ -DFETCHCONTENT_FULLY_DISCONNECTED=ON
+ cmake --build builddir
+}
+
+check() {
+ ctest --output-on-failure --test-dir builddir
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install builddir
+}
+
+sha512sums="
+c703c7cba3c69775317c66a62ce145646fd7d3d063124501e3d6a7deebb8c62c14a2ccdffed18de2d73d9d3a8ba2061ef1d34cc780ee0b6d607935d5f1b1de81 fast_float-5.2.0.tar.gz
+f2714a5d406c4e1f7a6e180a95d795edaa9033e6988955b76143884c020a9c379754474aa92f739a7f1feb9ac2d6c8d3bdb4ebe8bd23ab4b352ab809821eb43a 97a0b2e638feb479387554cf253e346500541e7e.tar.gz
+"
diff --git a/testing/fastd/APKBUILD b/testing/fastd/APKBUILD
index 409a88cc005..040f9fa273d 100644
--- a/testing/fastd/APKBUILD
+++ b/testing/fastd/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
-# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=fastd
pkgver=22
-pkgrel=0
+pkgrel=3
pkgdesc="Fast and Secure Tunneling Daemon"
url="https://github.com/NeoRaider/fastd/"
arch="all"
@@ -23,11 +23,11 @@ build() {
-Dsystemd=disabled \
-Dbuild_tests="$(options_has !check && echo false || echo true)" \
. output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
check() {
- meson test --no-rebuild -v -C output
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
diff --git a/testing/fatback/APKBUILD b/testing/fatback/APKBUILD
index 4a758f31a82..5236883e31e 100644
--- a/testing/fatback/APKBUILD
+++ b/testing/fatback/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=fatback
pkgver=1.3
-pkgrel=1
+pkgrel=2
pkgdesc="A tool for recovering files from FAT file systems"
url="https://sourceforge.net/projects/fatback/"
arch="all"
diff --git a/testing/fathom/APKBUILD b/testing/fathom/APKBUILD
new file mode 100644
index 00000000000..5fead0eb1db
--- /dev/null
+++ b/testing/fathom/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=fathom
+pkgver=1.3.1
+pkgrel=5
+pkgdesc="Privacy-focused website analytics"
+url="https://github.com/usefathom/fathom"
+arch="all"
+license="MIT"
+makedepends="npm go sqlite-dev"
+source="https://github.com/usefathom/fathom/archive/v$pkgver/fathom-v$pkgver.tar.gz"
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ npm ci
+ go mod vendor
+}
+
+build() {
+ go build -mod=mod -o fathom ./main.go
+}
+
+check() {
+ make test
+}
+
+package() {
+ install -Dm755 fathom "$pkgdir/usr/bin/fathom"
+}
+
+sha512sums="
+077887e753698d347ae3d0c199b085593a9f6bb38a04b7f3ad8df3889e104ceedd0ff92caa3f8cf1abb2adbdc0d6c3fcccc7c7ff711b757926605de6f8481d62 fathom-v1.3.1.tar.gz
+"
diff --git a/testing/fatrace/APKBUILD b/testing/fatrace/APKBUILD
index cc3ae1d777a..dce20f0f764 100644
--- a/testing/fatrace/APKBUILD
+++ b/testing/fatrace/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=fatrace
-pkgver=0.16.3
+pkgver=0.17.0
pkgrel=0
pkgdesc="Report system wide file access events"
url="https://github.com/martinpitt/fatrace"
@@ -21,5 +21,5 @@ package() {
}
sha512sums="
-54ffcf4da48c0bd43373322d29352dfd50d8bd0cff8bba172ec30881fcdc4fa9fa3bcdcb86396331baada42ec87a03b4005b4d1a1c95e4e5c947395a80b61839 fatrace-0.16.3.tar.gz
+b84bd4f1197a095fec0f9a6fe7a32e8dbf6978652f5062574c7fe7c16bcf48670b09abc0ab0a5624c5abebba2c1a7b0c1c2d20c400553aae84e9a3b37bdc90de fatrace-0.17.0.tar.gz
"
diff --git a/testing/fatresize/APKBUILD b/testing/fatresize/APKBUILD
index 50b9f2aa8fd..8c877342929 100644
--- a/testing/fatresize/APKBUILD
+++ b/testing/fatresize/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=fatresize
pkgver=1.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="The FAT16/FAT32 non-destructive resizer."
url="https://sourceforge.net/projects/fatresize/"
arch="all"
diff --git a/testing/faultstat/APKBUILD b/testing/faultstat/APKBUILD
index ad2b20df5ea..8f770afbc2f 100644
--- a/testing/faultstat/APKBUILD
+++ b/testing/faultstat/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Milan P. Stanić <mps@arvanta.net>
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=faultstat
-pkgver=0.01.07
+pkgver=0.01.11
pkgrel=0
pkgdesc="page fault monitoring tool"
url="https://github.com/ColinIanKing/faultstat"
@@ -23,5 +23,5 @@ package() {
}
sha512sums="
-981c0f7c1c3c2978dfffec3bd5dffcea45e2126baefbffb4b7ea4047cfe6492d9c7602d29c7c16ddf3bc43c04cf86b2ebf76395839443081e0840662264e9772 faultstat-0.01.07.tar.gz
+5fcc9a58e5b9532156254c2721ac104ad1bbb0bc77e3d5fadde25e66c042be2441d907d274e2501aa5c43365269016fa962345318edf4266b9a5f632102e8bf1 faultstat-0.01.11.tar.gz
"
diff --git a/testing/faust/APKBUILD b/testing/faust/APKBUILD
new file mode 100644
index 00000000000..f585a26c498
--- /dev/null
+++ b/testing/faust/APKBUILD
@@ -0,0 +1,117 @@
+# Contributor: Francesco Camuffo <dev@fmac.xyz>
+# Maintainer: Francesco Camuffo <dev@fmac.xyz>
+pkgname=faust
+pkgver=2.60.3
+pkgrel=2
+_llvmver=16
+pkgdesc="Functional programming language for realtime audio signal processing"
+url="https://faust.grame.fr"
+arch="all"
+license="GPL-2.0-or-later"
+# all faust* tools are bash
+depends="bash"
+depends_dev="$pkgname-tools=$pkgver-r$pkgrel"
+makedepends="
+ cmake
+ libmicrohttpd-dev
+ libsndfile-dev
+ llvm$_llvmver-dev
+ samurai
+ "
+subpackages="
+ $pkgname-tools
+ $pkgname-static
+ $pkgname-doc
+ $pkgname-dev
+ $pkgname-vim::noarch
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/grame-cncm/faust/releases/download/$pkgver/faust-$pkgver.tar.gz
+ busybox.patch
+ gcc13.patch
+ no-execinfo.patch
+ usage.patch
+ "
+
+prepare() {
+ default_prepare
+
+ # XXX: if the tests compile this faust segfaults
+ rm -v examples/physicalModeling/fds/2dKirchhoffThinPlate.dsp
+}
+
+build() {
+ cmake -B "$pkgname"-build -G Ninja \
+ -S build \
+ -C build/backends/all.cmake \
+ -C build/targets/all.cmake \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINCLUDE_DYNAMIC=ON \
+ -DINCLUDE_STATIC=OFF \
+ -DINCLUDE_ITP=ON \
+ -DLLVM_CONFIG=/usr/lib/llvm$_llvmver/bin/llvm-config \
+ -Wno-dev
+ cmake --build "$pkgname"-build
+ make VERBOSE=1 -C tools/sound2faust sound2faust sound2file
+}
+
+check() {
+ make interp llvm -C tests/compile-tests
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install "$pkgname"-build
+ make VERBOSE=1 PREFIX=/usr DESTDIR="$pkgdir" install -C tools/sound2faust
+
+ # remove support for platforms not likely wanted
+ rm -rvf "$pkgdir"/usr/bin/faust2au \
+ "$pkgdir"/usr/lib/ios-libsndfile.a \
+ "$pkgdir"/usr/share/faust/AU \
+ "$pkgdir"/usr/share/faust/android \
+ "$pkgdir"/usr/share/faust/iOS \
+ "$pkgdir"/usr/share/faust/smartKeyboard \
+ "$pkgdir"/usr/share/faust/max-msp/sndfile
+ # rename generically named usage script
+ mv "$pkgdir"/usr/bin/usage.sh "$pkgdir"/usr/bin/faust-usage.sh
+
+ install -Dm644 syntax-highlighting/faust.vim \
+ -t "$pkgdir"/usr/share/vim/vimfiles/syntax/
+}
+
+doc() {
+ default_doc
+
+ amove usr/share/faust/examples
+}
+
+dev() {
+ pkgdesc="$pkgdesc (development files)"
+ depends="$depends_dev"
+ amove \
+ usr/bin/faust-config \
+ usr/include/* \
+ usr/lib/*.so
+}
+
+tools() {
+ pkgdesc="$pkgdesc (tools)"
+ amove usr/bin/encoderunitypackage \
+ usr/bin/faust2* \
+ usr/bin/filename2ident \
+ usr/bin/sound2*
+}
+
+vim() {
+ pkgdesc="$pkgdesc (vim syntax)"
+ install_if="vim $pkgname=$pkgver-r$pkgrel"
+
+ amove usr/share/vim/vimfiles
+}
+
+sha512sums="
+cdb31a519f5615ecdb36336d67de524b10acfc6e5449fea1a5a154a37d29f028c3db1ac0ba5f3bb9e0a39e00057397724dd5ad711fbab2ceacfb4cc1dee3e011 faust-2.60.3.tar.gz
+2e2aae4b3fe760e41b3a9b1b82edc9cfac674944efb41c296e1c71f80763cbadc72544e0cbd7f5048095322779c3d432838ea66d32376a29b95bb08fe8c25e96 busybox.patch
+edb822664f2277e58af82f6e339668c11a822880928646fddc21f4c245e81b70f9bc5e2892008dfe5c56a23b46aa50c40607f6ccca3a42029b7a21b0bf317302 gcc13.patch
+fb1ef67a0c1ba56ba98e5c85935566c263a7b51a44c8ffd1789f7379b9bd14cbb2b373392e70c1c9974163559dbed910be3af64ccd3198633758998dee5c7bb2 no-execinfo.patch
+ac45a55400970952daf7918f48b3d13efd06d5b3ffc1fa41e71d83eb3f53b31031fec353ab74e40c66667dbc3c6b32b2b38249a7e85c890221374cada38d4285 usage.patch
+"
diff --git a/testing/faust/busybox.patch b/testing/faust/busybox.patch
new file mode 100644
index 00000000000..9e632dfdd61
--- /dev/null
+++ b/testing/faust/busybox.patch
@@ -0,0 +1,28 @@
+ls -f doesn't exist so just pass the install location
+--
+diff --git a/tools/faust2appls/faust2lv2 b/tools/faust2appls/faust2lv2
+index 8fa948f..7527385 100755
+--- a/tools/faust2appls/faust2lv2
++++ b/tools/faust2appls/faust2lv2
+@@ -21,7 +21,7 @@
+ # that you can run the script from the faust-lv2 source directory. You can
+ # also specify this explicitly by setting the FAUSTLIB environment variable
+ # accordingly.
+-[ -z "$FAUSTLIB" ] && FAUSTLIB=$(dirname "$((ls -f /usr/share/faust/lv2ui.cpp /usr/local/share/faust/lv2ui.cpp /opt/local/share/faust/lv2ui.cpp "$PWD/lv2ui.cpp" 2>/dev/null)|tail -1)")
++[ -z "$FAUSTLIB" ] && FAUSTLIB=/usr/share/faust
+ [ -z "$FAUSTLIB" ] && FAUSTLIB="$PWD"
+
+ # defaults (these can be changed with the options listed below)
+diff --git a/tools/faust2appls/faust2pure b/tools/faust2appls/faust2pure
+index 265e4c4..e50478d 100755
+--- a/tools/faust2appls/faust2pure
++++ b/tools/faust2appls/faust2pure
+@@ -6,7 +6,7 @@
+ # locations here, and fall back to the current directory if the file isn't
+ # found. You can also specify this explicitly by setting the FAUSTLIB
+ # environment variable accordingly.
+-[ -z "$FAUSTLIB" ] && FAUSTLIB=$(dirname "$((ls -f /usr/share/faust/pure.cpp /usr/local/share/faust/pure.cpp /opt/local/share/faust/pure.cpp "$PWD/pure.cpp" 2>/dev/null)|tail -1)")
++[ -z "$FAUSTLIB" ] && FAUSTLIB=/usr/share/faust
+ [ -z "$FAUSTLIB" ] && FAUSTLIB="$PWD"
+
+ # defaults (these can be changed with the options listed below)
diff --git a/testing/faust/gcc13.patch b/testing/faust/gcc13.patch
new file mode 100644
index 00000000000..3aed0590f5f
--- /dev/null
+++ b/testing/faust/gcc13.patch
@@ -0,0 +1,24 @@
+diff --git a/architecture/faust/dsp/dsp.h b/architecture/faust/dsp/dsp.h
+index efa6fa1..ed38c22 100644
+--- a/architecture/faust/dsp/dsp.h
++++ b/architecture/faust/dsp/dsp.h
+@@ -25,6 +25,7 @@
+ #ifndef __dsp__
+ #define __dsp__
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include <cstdint>
+diff --git a/compiler/generator/Text.hh b/compiler/generator/Text.hh
+index d8ea070..0ffe6b0 100644
+--- a/compiler/generator/Text.hh
++++ b/compiler/generator/Text.hh
+@@ -24,6 +24,7 @@
+
+ #include <string.h>
+
++#include <cstdint>
+ #include <fstream>
+ #include <iostream>
+ #include <list>
diff --git a/testing/faust/no-execinfo.patch b/testing/faust/no-execinfo.patch
new file mode 100644
index 00000000000..1236f00d8e2
--- /dev/null
+++ b/testing/faust/no-execinfo.patch
@@ -0,0 +1,22 @@
+diff --git a/compiler/errors/exception.hh b/compiler/errors/exception.hh
+index 5aa80ac..c4a5bc3 100644
+--- a/compiler/errors/exception.hh
++++ b/compiler/errors/exception.hh
+@@ -29,7 +29,7 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ //#include <io.h>
+ #endif
+
+-#if !defined(EMCC) && !defined(WIN32) && !defined(ANDROID) && !defined(ALPINE)
++#if 0 && !defined(EMCC) && !defined(WIN32) && !defined(ANDROID) && !defined(ALPINE)
+ #include <execinfo.h>
+ #endif
+
+@@ -54,7 +54,7 @@ class faustexception : public std::runtime_error {
+
+ inline void stacktrace(std::stringstream& str, int val)
+ {
+-#if !defined(EMCC) && !defined(WIN32) && !defined(ANDROID) && !defined(ALPINE)
++#if 0 && !defined(EMCC) && !defined(WIN32) && !defined(ANDROID) && !defined(ALPINE)
+ void* callstack[val];
+ int frames = backtrace(callstack, val);
+ char** strs = backtrace_symbols(callstack, frames);
diff --git a/testing/faust/usage.patch b/testing/faust/usage.patch
new file mode 100644
index 00000000000..e6c656a70f3
--- /dev/null
+++ b/testing/faust/usage.patch
@@ -0,0 +1,866 @@
+diff --git a/tools/faust2appls/faust2alqt b/tools/faust2appls/faust2alqt
+index 0f58c39..0656b82 100755
+--- a/tools/faust2appls/faust2alqt
++++ b/tools/faust2appls/faust2alqt
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2alsa b/tools/faust2appls/faust2alsa
+index 94aded2..4e1ba48 100755
+--- a/tools/faust2appls/faust2alsa
++++ b/tools/faust2appls/faust2alsa
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2alsaconsole b/tools/faust2appls/faust2alsaconsole
+index 5117820..fea650c 100755
+--- a/tools/faust2appls/faust2alsaconsole
++++ b/tools/faust2appls/faust2alsaconsole
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2android b/tools/faust2appls/faust2android
+index d9013ce..c901554 100755
+--- a/tools/faust2appls/faust2android
++++ b/tools/faust2appls/faust2android
+@@ -10,7 +10,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ # change if you want to get the log of what's happening
+ LOG="/dev/null"
+diff --git a/tools/faust2appls/faust2androidunity b/tools/faust2appls/faust2androidunity
+index 646402c..13c2168 100755
+--- a/tools/faust2appls/faust2androidunity
++++ b/tools/faust2appls/faust2androidunity
+@@ -17,7 +17,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2api b/tools/faust2appls/faust2api
+index 3871ce6..16d9d2a 100755
+--- a/tools/faust2appls/faust2api
++++ b/tools/faust2appls/faust2api
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2au b/tools/faust2appls/faust2au
+index 1050986..17c5f96 100755
+--- a/tools/faust2appls/faust2au
++++ b/tools/faust2appls/faust2au
+@@ -6,7 +6,7 @@
+ # (c) Grame 2013
+ #
+ #####################################################################
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2audiokit b/tools/faust2appls/faust2audiokit
+index fbb209b..7ac5bf0 100755
+--- a/tools/faust2appls/faust2audiokit
++++ b/tools/faust2appls/faust2audiokit
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2bela b/tools/faust2appls/faust2bela
+index a5480f2..42811ba 100755
+--- a/tools/faust2appls/faust2bela
++++ b/tools/faust2appls/faust2bela
+@@ -1,7 +1,7 @@
+ #!/bin/bash -e
+
+ . faustpath
+-. usage.sh
++. faust-usage.sh
+
+ #FAUST DATA:
+ [ -z "$ARCHFILE" ] && ARCHFILE=$FAUSTARCH/bela.cpp
+diff --git a/tools/faust2appls/faust2bench b/tools/faust2appls/faust2bench
+index aecbfb3..bc27eb9 100755
+--- a/tools/faust2appls/faust2bench
++++ b/tools/faust2appls/faust2bench
+@@ -14,7 +14,7 @@
+ . faustoptflags
+
+ # Helper file to build the 'help' option
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2cagtk b/tools/faust2appls/faust2cagtk
+index 59084a4..7e859ff 100755
+--- a/tools/faust2appls/faust2cagtk
++++ b/tools/faust2appls/faust2cagtk
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS -I/opt/local/include" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2caqt b/tools/faust2appls/faust2caqt
+index d106fbe..d6bbebe 100755
+--- a/tools/faust2appls/faust2caqt
++++ b/tools/faust2appls/faust2caqt
+@@ -11,7 +11,7 @@ set -e
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2caqtios b/tools/faust2appls/faust2caqtios
+index 7fe3b0e..035987c 100755
+--- a/tools/faust2appls/faust2caqtios
++++ b/tools/faust2appls/faust2caqtios
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ #. faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS -DIOS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2cmajor b/tools/faust2appls/faust2cmajor
+index 2863bee..a2ceb29 100755
+--- a/tools/faust2appls/faust2cmajor
++++ b/tools/faust2appls/faust2cmajor
+@@ -10,7 +10,7 @@ set -e
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ ARCHFILE=$FAUSTARCH/cmajor/minimal.cmajor
+
+diff --git a/tools/faust2appls/faust2cpalrust b/tools/faust2appls/faust2cpalrust
+index ee4a7b4..8c3ca57 100755
+--- a/tools/faust2appls/faust2cpalrust
++++ b/tools/faust2appls/faust2cpalrust
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ SRC="0"
+ ARCHFILE=$FAUSTARCH/cpal.rs
+diff --git a/tools/faust2appls/faust2csound b/tools/faust2appls/faust2csound
+index 6e2ffc9..43da77e 100755
+--- a/tools/faust2appls/faust2csound
++++ b/tools/faust2appls/faust2csound
+@@ -10,7 +10,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2csvplot b/tools/faust2appls/faust2csvplot
+index cb8cd5b..30460ef 100755
+--- a/tools/faust2appls/faust2csvplot
++++ b/tools/faust2appls/faust2csvplot
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2daisy b/tools/faust2appls/faust2daisy
+index 0e71217..a173a5d 100755
+--- a/tools/faust2appls/faust2daisy
++++ b/tools/faust2appls/faust2daisy
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2dplug b/tools/faust2appls/faust2dplug
+index 39a4b5b..d4d572b 100755
+--- a/tools/faust2appls/faust2dplug
++++ b/tools/faust2appls/faust2dplug
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ DEBUG=false
+
+diff --git a/tools/faust2appls/faust2dssi b/tools/faust2appls/faust2dssi
+index d7b6b7a..390f934 100755
+--- a/tools/faust2appls/faust2dssi
++++ b/tools/faust2appls/faust2dssi
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2dummy b/tools/faust2appls/faust2dummy
+index edd7a79..446616e 100755
+--- a/tools/faust2appls/faust2dummy
++++ b/tools/faust2appls/faust2dummy
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2esp32 b/tools/faust2appls/faust2esp32
+index e0c5624..4564f07 100755
+--- a/tools/faust2appls/faust2esp32
++++ b/tools/faust2appls/faust2esp32
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ # change if you want to get the log of what's happening
+ LOG="/dev/null"
+diff --git a/tools/faust2appls/faust2faustvst b/tools/faust2appls/faust2faustvst
+index 0fa66b2..15822ee 100755
+--- a/tools/faust2appls/faust2faustvst
++++ b/tools/faust2appls/faust2faustvst
+@@ -4,7 +4,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ # Check for some common locations of the VST SDK files. This falls back to
+ # /usr/local/src/vstsdk if none of these are found. In that case, or if make
+diff --git a/tools/faust2appls/faust2feh b/tools/faust2appls/faust2feh
+index a76e671..f61e112 100755
+--- a/tools/faust2appls/faust2feh
++++ b/tools/faust2appls/faust2feh
+@@ -1,6 +1,6 @@
+ #! /bin/bash -e
+
+-. usage.sh
++. faust-usage.sh
+
+ if [[ $@ = "-help" ]] || [[ $@ = "-h" ]]; then
+ usage faust2feh "<file.dsp>"
+diff --git a/tools/faust2appls/faust2firefox b/tools/faust2appls/faust2firefox
+index 7ab5ea9..5f30052 100755
+--- a/tools/faust2appls/faust2firefox
++++ b/tools/faust2appls/faust2firefox
+@@ -1,6 +1,6 @@
+ #! /bin/bash -e
+
+-. usage.sh
++. faust-usage.sh
+
+ VIEWER_LAUNCH=${FAUST2FIREFOX_VIEWER_LAUNCH}
+ if [[ -z "${VIEWER_LAUNCH}" ]]; then
+diff --git a/tools/faust2appls/faust2gen b/tools/faust2appls/faust2gen
+index d0ef58d..9eddb5a 100755
+--- a/tools/faust2appls/faust2gen
++++ b/tools/faust2appls/faust2gen
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ POLY="MONO"
+ NVOICES=-1
+diff --git a/tools/faust2appls/faust2graph b/tools/faust2appls/faust2graph
+index ee58a1a..d27e358 100755
+--- a/tools/faust2appls/faust2graph
++++ b/tools/faust2appls/faust2graph
+@@ -3,7 +3,7 @@
+ # usage : faust2graph foo.dsp -> foo-sig.pdf
+ # usage : faust2graph -svg foo.dsp -> foo-sig.svg
+
+-. usage.sh
++. faust-usage.sh
+
+ FILES=""
+ IGNORE=""
+diff --git a/tools/faust2appls/faust2ios b/tools/faust2appls/faust2ios
+index e96ab71..ca8811d 100755
+--- a/tools/faust2appls/faust2ios
++++ b/tools/faust2appls/faust2ios
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ ARCHFILE=$FAUSTARCH/ios-coreaudio.cpp
+
+diff --git a/tools/faust2appls/faust2jack b/tools/faust2appls/faust2jack
+index 2a7e36c..f023ca3 100755
+--- a/tools/faust2appls/faust2jack
++++ b/tools/faust2appls/faust2jack
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS -I/opt/local/include" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2jackconsole b/tools/faust2appls/faust2jackconsole
+index 95fb259..dff4665 100755
+--- a/tools/faust2appls/faust2jackconsole
++++ b/tools/faust2appls/faust2jackconsole
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2jackrust b/tools/faust2appls/faust2jackrust
+index 4be4051..4475b82 100755
+--- a/tools/faust2appls/faust2jackrust
++++ b/tools/faust2appls/faust2jackrust
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ SRC="0"
+ ARCHFILE=$FAUSTARCH/jack.rs
+diff --git a/tools/faust2appls/faust2jackserver b/tools/faust2appls/faust2jackserver
+index 35e99c3..39deb1a 100755
+--- a/tools/faust2appls/faust2jackserver
++++ b/tools/faust2appls/faust2jackserver
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2jaqt b/tools/faust2appls/faust2jaqt
+index a92e1fd..80b0f98 100755
+--- a/tools/faust2appls/faust2jaqt
++++ b/tools/faust2appls/faust2jaqt
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2jaqtchain b/tools/faust2appls/faust2jaqtchain
+index 9c880f9..cd058ea 100755
+--- a/tools/faust2appls/faust2jaqtchain
++++ b/tools/faust2appls/faust2jaqtchain
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2juce b/tools/faust2appls/faust2juce
+index f35f88f..bf0e3d0 100755
+--- a/tools/faust2appls/faust2juce
++++ b/tools/faust2appls/faust2juce
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2ladspa b/tools/faust2appls/faust2ladspa
+index d48c3af..465db4d 100755
+--- a/tools/faust2appls/faust2ladspa
++++ b/tools/faust2appls/faust2ladspa
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2linuxunity b/tools/faust2appls/faust2linuxunity
+index b8ba4e6..6eaa52b 100755
+--- a/tools/faust2appls/faust2linuxunity
++++ b/tools/faust2appls/faust2linuxunity
+@@ -16,7 +16,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2lv2 b/tools/faust2appls/faust2lv2
+index 1fbb4b4..8fa948f 100755
+--- a/tools/faust2appls/faust2lv2
++++ b/tools/faust2appls/faust2lv2
+@@ -2,7 +2,7 @@
+
+ #set -x
+
+-. usage.sh
++. faust-usage.sh
+
+ # Default qmake setup (for GUI compilation). This requires Qt4 or Qt5 (Qt5 is
+ # preferred). We try to locate the qmake executable in some common locations
+diff --git a/tools/faust2appls/faust2mathdoc b/tools/faust2appls/faust2mathdoc
+index 4c9fdb9..0d19958 100755
+--- a/tools/faust2appls/faust2mathdoc
++++ b/tools/faust2appls/faust2mathdoc
+@@ -1,6 +1,6 @@
+ #! /bin/bash -e
+
+-. usage.sh
++. faust-usage.sh
+
+ # faust2mathdoc.sh
+ #
+diff --git a/tools/faust2appls/faust2max6 b/tools/faust2appls/faust2max6
+index fd45509..5e7a5e3 100755
+--- a/tools/faust2appls/faust2max6
++++ b/tools/faust2appls/faust2max6
+@@ -11,7 +11,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGSGENERIC" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2minimal b/tools/faust2appls/faust2minimal
+index 9c280c3..02b5620 100755
+--- a/tools/faust2appls/faust2minimal
++++ b/tools/faust2appls/faust2minimal
+@@ -14,7 +14,7 @@
+ . faustoptflags
+
+ # Helper file to build the 'help' option
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+ LIBADD+=" -pthread"
+diff --git a/tools/faust2appls/faust2msp b/tools/faust2appls/faust2msp
+index 5c0138b..e5191f9 100755
+--- a/tools/faust2appls/faust2msp
++++ b/tools/faust2appls/faust2msp
+@@ -10,7 +10,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGSGENERIC" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2netjackconsole b/tools/faust2appls/faust2netjackconsole
+index 71f9d70..12e3507 100755
+--- a/tools/faust2appls/faust2netjackconsole
++++ b/tools/faust2appls/faust2netjackconsole
+@@ -2,7 +2,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2netjackqt b/tools/faust2appls/faust2netjackqt
+index 9222492..158ed86 100755
+--- a/tools/faust2appls/faust2netjackqt
++++ b/tools/faust2appls/faust2netjackqt
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2nodejs b/tools/faust2appls/faust2nodejs
+index 1451fc5..7f549b4 100755
+--- a/tools/faust2appls/faust2nodejs
++++ b/tools/faust2appls/faust2nodejs
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ # exit if a command fails
+ set -e
+diff --git a/tools/faust2appls/faust2osxiosunity b/tools/faust2appls/faust2osxiosunity
+index 90a243f..0ed5ff0 100755
+--- a/tools/faust2appls/faust2osxiosunity
++++ b/tools/faust2appls/faust2osxiosunity
+@@ -27,7 +27,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2paqt b/tools/faust2appls/faust2paqt
+index 7036f8f..163d538 100755
+--- a/tools/faust2appls/faust2paqt
++++ b/tools/faust2appls/faust2paqt
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2plot b/tools/faust2appls/faust2plot
+index 55470f2..3301c9c 100755
+--- a/tools/faust2appls/faust2plot
++++ b/tools/faust2appls/faust2plot
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2portaudiojulia b/tools/faust2appls/faust2portaudiojulia
+index 3ddc32e..5a93ea9 100755
+--- a/tools/faust2appls/faust2portaudiojulia
++++ b/tools/faust2appls/faust2portaudiojulia
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ SRC="0"
+ ARCHFILE=$FAUSTARCH/julia/portaudio-gtk.jl
+diff --git a/tools/faust2appls/faust2portaudiorust b/tools/faust2appls/faust2portaudiorust
+index 6afae5c..c641151 100755
+--- a/tools/faust2appls/faust2portaudiorust
++++ b/tools/faust2appls/faust2portaudiorust
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ SRC="0"
+ ARCHFILE=$FAUSTARCH/portaudio.rs
+diff --git a/tools/faust2appls/faust2puredata b/tools/faust2appls/faust2puredata
+index dfb79a6..cea01fe 100755
+--- a/tools/faust2appls/faust2puredata
++++ b/tools/faust2appls/faust2puredata
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2raqt b/tools/faust2appls/faust2raqt
+index 014df7d..fc1ef13 100755
+--- a/tools/faust2appls/faust2raqt
++++ b/tools/faust2appls/faust2raqt
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2rpialsaconsole b/tools/faust2appls/faust2rpialsaconsole
+index aec2246..699813a 100755
+--- a/tools/faust2appls/faust2rpialsaconsole
++++ b/tools/faust2appls/faust2rpialsaconsole
+@@ -11,7 +11,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ ARCHFILE=$FAUSTARCH/alsa-console.cpp
+
+diff --git a/tools/faust2appls/faust2rpinetjackconsole b/tools/faust2appls/faust2rpinetjackconsole
+index 7576f00..2c556e3 100755
+--- a/tools/faust2appls/faust2rpinetjackconsole
++++ b/tools/faust2appls/faust2rpinetjackconsole
+@@ -11,7 +11,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ ARCHFILE=$FAUSTARCH/netjack-console.cpp
+
+diff --git a/tools/faust2appls/faust2sam b/tools/faust2appls/faust2sam
+index a08e507..627e554 100755
+--- a/tools/faust2appls/faust2sam
++++ b/tools/faust2appls/faust2sam
+@@ -12,7 +12,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ # change if you want to get the log of what's happening
+ LOG="/dev/null"
+diff --git a/tools/faust2appls/faust2sig b/tools/faust2appls/faust2sig
+index 651cca4..36feebc 100755
+--- a/tools/faust2appls/faust2sig
++++ b/tools/faust2appls/faust2sig
+@@ -3,7 +3,7 @@
+ # usage : faust2sig foo.dsp -> foo-sig.pdf
+ # usage : faust2sig -svg foo.dsp -> foo-sig.svg
+
+-. usage.sh
++. faust-usage.sh
+
+ echoHelp()
+ {
+diff --git a/tools/faust2appls/faust2smartkeyb b/tools/faust2appls/faust2smartkeyb
+index c297571..e5f2d18 100755
+--- a/tools/faust2appls/faust2smartkeyb
++++ b/tools/faust2appls/faust2smartkeyb
+@@ -8,7 +8,7 @@
+ #####################################################################
+
+ . faustpath
+-. usage.sh
++. faust-usage.sh
+
+ # change if you want to get the log of what's happening
+ LOG="/dev/null"
+diff --git a/tools/faust2appls/faust2sndfile b/tools/faust2appls/faust2sndfile
+index a47f3c1..831871e 100755
+--- a/tools/faust2appls/faust2sndfile
++++ b/tools/faust2appls/faust2sndfile
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2svg b/tools/faust2appls/faust2svg
+index 01df452..2ef49e6 100755
+--- a/tools/faust2appls/faust2svg
++++ b/tools/faust2appls/faust2svg
+@@ -1,6 +1,6 @@
+ #! /bin/bash -e
+
+-. usage.sh
++. faust-usage.sh
+
+ echoHelp()
+ {
+diff --git a/tools/faust2appls/faust2teensy b/tools/faust2appls/faust2teensy
+index 77536a1..ac51411 100755
+--- a/tools/faust2appls/faust2teensy
++++ b/tools/faust2appls/faust2teensy
+@@ -8,7 +8,7 @@
+ #####################################################################
+
+ . faustpath
+-. usage.sh
++. faust-usage.sh
+
+ # change if you want to get the log of what's happening
+ LOG="/dev/null"
+diff --git a/tools/faust2appls/faust2unity b/tools/faust2appls/faust2unity
+index a4e7231..0e395d4 100755
+--- a/tools/faust2appls/faust2unity
++++ b/tools/faust2appls/faust2unity
+@@ -18,7 +18,7 @@
+ # Several options are available, see architecture/unity/README.md for more info.
+
+ . faustpath
+-. usage.sh
++. faust-usage.sh
+
+ echoHelp()
+ {
+diff --git a/tools/faust2appls/faust2vcvrack b/tools/faust2appls/faust2vcvrack
+index 581a9bc..453cd36 100755
+--- a/tools/faust2appls/faust2vcvrack
++++ b/tools/faust2appls/faust2vcvrack
+@@ -9,7 +9,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+
+diff --git a/tools/faust2appls/faust2wasm b/tools/faust2appls/faust2wasm
+index 98b18a4..414fcac 100755
+--- a/tools/faust2appls/faust2wasm
++++ b/tools/faust2appls/faust2wasm
+@@ -2,7 +2,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ #-------------------------------------------------------------------
+ # Wrapping resources
+diff --git a/tools/faust2appls/faust2webaudiowasm b/tools/faust2appls/faust2webaudiowasm
+index c34e3cd..745eaa5 100755
+--- a/tools/faust2appls/faust2webaudiowasm
++++ b/tools/faust2appls/faust2webaudiowasm
+@@ -2,7 +2,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ #-------------------------------------------------------------------
+ # Wrapping resources
+diff --git a/tools/faust2appls/faust2webaudiowast b/tools/faust2appls/faust2webaudiowast
+index fc8c649..ba6af2a 100755
+--- a/tools/faust2appls/faust2webaudiowast
++++ b/tools/faust2appls/faust2webaudiowast
+@@ -2,7 +2,7 @@
+
+ . faustpath
+ . faustoptflags
+-. usage.sh
++. faust-usage.sh
+
+ #-------------------------------------------------------------------
+ # Wrapping resources
+diff --git a/tools/faust2appls/faust2winunity b/tools/faust2appls/faust2winunity
+index bdb24c1..08ed834 100755
+--- a/tools/faust2appls/faust2winunity
++++ b/tools/faust2appls/faust2winunity
+@@ -15,7 +15,7 @@
+ # These files are automatically generated by the "faust2unity" script
+
+ . faustpath
+-. usage.sh
++. faust-usage.sh
+ . faustoptflags
+
+ CXXFLAGS+=" $MYGCCFLAGS" # So that additional CXXFLAGS can be used
+diff --git a/tools/faust2appls/faustremote b/tools/faust2appls/faustremote
+index bcd374c..b51b4f4 100755
+--- a/tools/faust2appls/faustremote
++++ b/tools/faust2appls/faustremote
+@@ -1,6 +1,6 @@
+ #!/bin/bash
+
+-. usage.sh
++. faust-usage.sh
+
+ #USAGE : faustremote <servurl> ==> <targets>
+ #USAGE : faustremote [<servurl>] <platform> <arch> <srcfile> ==> <binary.zip>
diff --git a/testing/fava/APKBUILD b/testing/fava/APKBUILD
new file mode 100644
index 00000000000..d2b851b5a6f
--- /dev/null
+++ b/testing/fava/APKBUILD
@@ -0,0 +1,72 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=fava
+pkgver=1.26.4
+pkgrel=0
+pkgdesc="Web interface for Beancount"
+url="https://beancount.github.io/fava/"
+arch="all !ppc64le" # limited by beancount
+license="MIT"
+depends="
+ beancount
+ python3
+ py3-babel
+ py3-flask
+ py3-flask-babel
+ py3-jinja2
+ py3-werkzeug
+ py3-cheroot
+ py3-click
+ py3-markdown2
+ py3-ply
+ py3-simplejson
+ "
+makedepends="
+ npm
+ nodejs
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/beancount/fava/archive/refs/tags/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ # static files aren't detected to be included in the wheel file
+ echo "recursive-include src/fava *.html *.js *.md beancount_file" >> MANIFEST.in
+
+ cd frontend
+ npm install --no-progress
+}
+
+build() {
+ cd frontend
+ npm run build
+ cd ..
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ pybabel compile -d src/fava/translations
+ 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
+
+ # test_cli.py requires fava to be available inside PATH
+ .testenv/bin/python3 -m pytest --ignore=tests/test_cli.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+4db046ec53704da417518e83344db1b9ff7c88698a65c1ed8cfebfda53af6b27ef1e0caf7de75c2d4eed42b73075be9bc221f53c3d7f422531c20f7aa2ba6357 fava-1.26.4.tar.gz
+"
diff --git a/testing/fbp/APKBUILD b/testing/fbp/APKBUILD
new file mode 100644
index 00000000000..0172a1e8cf4
--- /dev/null
+++ b/testing/fbp/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Miles Alan <m@milesalan.com>
+# Contributor: Miles Alan <m@milesalan.com>
+pkgname=fbp
+pkgver=0.5
+pkgrel=1
+arch="aarch64 x86_64" # Limited by zig aport
+url="https://git.sr.ht/~mil/fbp"
+pkgdesc="Framebuffer linux phone UI environment, supported best on the Pinephone"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~mil/fbp/archive/$pkgver.tar.gz"
+license="GPL-3.0-or-later"
+makedepends="zig>=0.9.1 freetype-dev linux-headers"
+options="!check" # Has no tests
+
+# We may want other than "baseline" for other targets, when enabled by zig
+case "$CARCH" in
+ aarch64|x86_64) cputarget=baseline ;;
+esac
+
+build() {
+ zig build -Drelease-safe ${cputarget:+-Dcpu="$cputarget"}
+}
+
+package() {
+ install -Dm755 zig-out/bin/fbp "$pkgdir/usr/bin/fbp"
+}
+
+sha512sums="
+7f73d9a532c40c6be1feeedc5fe7256e83deb5e431aef46c07eb98e00a884e0919a5a5f668a1cf2d7357930d0ae297a7ef681b8482ec99b8e653d03e2ce56ae0 fbp-0.5.tar.gz
+"
diff --git a/testing/fceux/01-rdtsc.patch b/testing/fceux/01-rdtsc.patch
new file mode 100644
index 00000000000..af0f73be1d3
--- /dev/null
+++ b/testing/fceux/01-rdtsc.patch
@@ -0,0 +1,76 @@
+https://github.com/TASEmulators/fceux/issues/663
+
+--- a/src/utils/timeStamp.cpp
++++ b/src/utils/timeStamp.cpp
+@@ -14,6 +14,7 @@
+ //-------------------------------------------------------------------------
+ //---- Time Stamp Record
+ //-------------------------------------------------------------------------
++#ifdef __QT_DRIVER__
+ #if defined(WIN32)
+ #include <intrin.h>
+ #pragma intrinsic(__rdtsc)
+@@ -25,6 +26,7 @@ static uint64_t rdtsc()
+ {
+ return __rdtsc();
+ }
++#endif
+
+ namespace FCEU
+ {
+@@ -36,12 +38,15 @@ uint64_t timeStampRecord::qpcFreq = 0;
+
+ void timeStampRecord::readNew(void)
+ {
+-#if defined(__linux__) || defined(__APPLE__) || defined(__unix__)
+- clock_gettime( CLOCK_REALTIME, &ts );
+-#else
+- QueryPerformanceCounter((LARGE_INTEGER*)&ts);
+-#endif
+- tsc = rdtsc();
++ #ifdef __QT_DRIVER__
++ tsc = rdtsc();
++ #else
++ #if defined(__linux__) || defined(__APPLE__) || defined(__unix__)
++ clock_gettime( CLOCK_REALTIME, &ts );
++ #else
++ QueryPerformanceCounter((LARGE_INTEGER*)&ts);
++ #endif
++ #endif
+ }
+ #if defined(WIN32)
+ void timeStampRecord::qpcCalibrate(void)
+
+
+--- a/src/utils/timeStamp.cpp
++++ b/src/utils/timeStamp.cpp
+@@ -14,7 +14,7 @@
+ //-------------------------------------------------------------------------
+ //---- Time Stamp Record
+ //-------------------------------------------------------------------------
+-#ifdef __QT_DRIVER__
++#ifdef __FCEU_X86_TSC_ENABLE
+ #if defined(WIN32)
+ #include <intrin.h>
+ #pragma intrinsic(__rdtsc)
+@@ -38,14 +38,14 @@ uint64_t timeStampRecord::qpcFreq = 0;
+
+ void timeStampRecord::readNew(void)
+ {
+- #ifdef __QT_DRIVER__
++ #ifdef __FCEU_X86_TSC_ENABLE
+ tsc = rdtsc();
++ #endif
++
++ #if defined(__linux__) || defined(__APPLE__) || defined(__unix__)
++ clock_gettime( CLOCK_REALTIME, &ts );
+ #else
+- #if defined(__linux__) || defined(__APPLE__) || defined(__unix__)
+- clock_gettime( CLOCK_REALTIME, &ts );
+- #else
+- QueryPerformanceCounter((LARGE_INTEGER*)&ts);
+- #endif
++ QueryPerformanceCounter((LARGE_INTEGER*)&ts);
+ #endif
+ }
+ #if defined(WIN32)
diff --git a/testing/fceux/APKBUILD b/testing/fceux/APKBUILD
index e5852565cf3..2587bcac1cb 100644
--- a/testing/fceux/APKBUILD
+++ b/testing/fceux/APKBUILD
@@ -1,33 +1,62 @@
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
# Contributor: Danct12 <danct12@disroot.org>
# Maintainer: Danct12 <danct12@disroot.org>
pkgname=fceux
-pkgver=2.5.0
-pkgrel=0
+pkgver=2.6.6
+pkgrel=1
pkgdesc="Fast and ultra-compatible NES/Famicom emulator"
-url="http://www.fceux.com"
+url="https://fceux.com"
arch="all"
license="GPL-2.0-only"
-makedepends="sdl2-dev gd-dev qt5-qtbase-dev mesa-dev glu-dev minizip-dev bash cmake"
+makedepends="
+ cmake
+ clang15-dev
+ ffmpeg-dev
+ lua5.1-dev
+ mesa-dev
+ minizip-dev
+ qt6-qtbase-dev
+ samurai
+ sdl2-dev
+ zlib-dev
+ "
subpackages="$pkgname-doc"
-source="https://downloads.sourceforge.net/project/fceultra/Source%20Code/$pkgver%20src/fceux-$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/TASEmulators/fceux/archive/refs/tags/v$pkgver.tar.gz
+ 01-rdtsc.patch"
options="!check" # no testsuite
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+
+ case "$CARCH" in
+ aarch64|arm*)
+ # for some reason we have to manually pass this. i guess because
+ # the default is just GL?
+ export CXXFLAGS="$CXXFLAGS -DQT_OPENGL_ES_2"
+ ;;
+ esac
+
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DQT6=ON \
+ $CMAKE_CROSSOPTS
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
install -d "$pkgdir/usr/share/doc/$pkgname"
cp -r documentation/* "$pkgdir/usr/share/doc/$pkgname/"
- install -Dm644 changelog.txt "$pkgdir/usr/share/doc/$pkgname/"
+ install -Dm644 changelog.txt -t "$pkgdir/usr/share/doc/$pkgname/"
rm -f "$pkgdir/usr/share/$pkgname/"*.dll
}
sha512sums="
-bbff55b6f3efda8918b7dab21582d93f8c2a6396bf64a93e33f2f5f6cd345f95bcde7b958f0a663967e47e83110733c4a732dbf538afb7dbecb3147bc3090f01 fceux-2.5.0.tar.gz
+0a6cff4c6b900569978003675812d92d893281c2bdf3b0b58c07e257251648ee325f9bb29b01253ab1a5e9354631d91a6e67a1e6bb36ebe89d5067509cabfa64 fceux-2.6.6.tar.gz
+7ebd367bec7799023cf6a4fc95c93161760e33881bc2f705ef664758292066e8a49c7c774b0df7f7587eb913c5d2816caf49d9e15d1b165dc7d93dd7e4e59f23 01-rdtsc.patch
"
diff --git a/testing/fcitx5-anthy/APKBUILD b/testing/fcitx5-anthy/APKBUILD
new file mode 100644
index 00000000000..4cc3ceea443
--- /dev/null
+++ b/testing/fcitx5-anthy/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer:
+pkgname=fcitx5-anthy
+pkgver=5.1.3
+pkgrel=0
+pkgdesc="anthy input method support for fcitx5"
+url="https://github.com/fcitx/fcitx5-anthy"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ anthy-dev
+ cmake
+ extra-cmake-modules
+ gettext-dev
+ fcitx5-dev
+ fcitx5-qt-dev
+ qt5-qttools-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-anthy/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+dd1a9022424ea0fc45f27c17555eca15a475f5f9ac3dadba5c77d59d365eca959b52ee88293ff0fed72ecd90380e7d57c9eacbf6a26dcba5502588eb0c97dce7 fcitx5-anthy-5.1.3.tar.gz
+"
diff --git a/testing/fcitx5-bamboo/APKBUILD b/testing/fcitx5-bamboo/APKBUILD
new file mode 100644
index 00000000000..c2aeda613d4
--- /dev/null
+++ b/testing/fcitx5-bamboo/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer:
+pkgname=fcitx5-bamboo
+pkgver=1.0.4
+pkgrel=9
+_bamboo_core=f0ca534819fa84ee37df9277ff2449d82ed1ec3e
+pkgdesc="bamboo input method support for fcitx5"
+url="https://github.com/fcitx/fcitx5-bamboo"
+arch="all"
+license="LGPL-2.1-or-later AND MIT"
+makedepends="
+ cmake
+ extra-cmake-modules
+ fcitx5-dev
+ gettext-dev
+ go
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-bamboo/archive/refs/tags/$pkgver.tar.gz
+ bamboo-core-$_bamboo_core.tar.gz::https://github.com/BambooEngine/bamboo-core/archive/$_bamboo_core.tar.gz
+ "
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+
+ rmdir bamboo/bamboo-core
+ ln -sfv "$srcdir"/bamboo-core-$_bamboo_core bamboo/bamboo-core
+}
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+80d5e73ff35fd8308c9ce24cc7cb131239470957959109ee7115ae8cac8b1583046f024ae19a6a5a5a2f29ff7c0adef1a4cd0ed06bce9e1128bc478d34f54333 fcitx5-bamboo-1.0.4.tar.gz
+3d8034b20c1001500216f94c6e03d07831ce762fcf57cb7b8d238efeb17f8ed40cd5aa6965793384bd0e8f20dac82c74bc2e08d89b4e91ccf3a494d7b9da4ae7 bamboo-core-f0ca534819fa84ee37df9277ff2449d82ed1ec3e.tar.gz
+"
diff --git a/testing/fcitx5-chewing/APKBUILD b/testing/fcitx5-chewing/APKBUILD
new file mode 100644
index 00000000000..5ba6499a85a
--- /dev/null
+++ b/testing/fcitx5-chewing/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: ProgCat <progcat@protonmail.com>
+# Maintainer: ProgCat <progcat@protonmail.com>
+pkgname=fcitx5-chewing
+pkgver=5.1.1
+pkgrel=0
+pkgdesc="Chewing Wrapper for Fcitx"
+url="https://github.com/fcitx/fcitx5-chewing"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ fcitx5-dev
+ gettext-dev
+ libchewing-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-chewing/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+d88aad759398bca9417a0d77f5a897212a52b3ce9b7d4a891bd0ba9a86c2e3db7b9dd5525ffbc72baaa951b0024085f6eade6cbf62591a628303397164fd5856 fcitx5-chewing-5.1.1.tar.gz
+"
diff --git a/testing/fcitx5-chinese-addons/APKBUILD b/testing/fcitx5-chinese-addons/APKBUILD
new file mode 100644
index 00000000000..a720de104c2
--- /dev/null
+++ b/testing/fcitx5-chinese-addons/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=fcitx5-chinese-addons
+pkgver=5.1.4
+pkgrel=0
+pkgdesc="Chinese Addons for Fcitx"
+url="https://github.com/fcitx/fcitx5-chinese-addons"
+# armhf, armv7, s390x, ppc64le, riscv64: qt6-qtwebengine
+arch="all !armhf !armv7 !ppc64le !s390x !riscv64"
+license="LGPL-2.1-or-later AND GPL-2.0-or-later"
+makedepends="
+ boost-dev
+ cmake
+ curl-dev
+ extra-cmake-modules
+ fcitx5-dev
+ fcitx5-lua-dev
+ fcitx5-qt-dev
+ fmt-dev
+ gettext-dev
+ libime-dev
+ libpinyin-dev
+ opencc-dev
+ qt6-qtbase-dev
+ qt6-qtwebengine-dev
+ samurai
+ "
+subpackages="$pkgname-dev $pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-chinese-addons/archive/refs/tags/$pkgver.tar.gz"
+options="net" # checksummed data modules
+
+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=None \
+ -DUSE_WEBKIT=OFF \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest -E testchttrans
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+596d12a033b9f8cb252e7b630872b999df965e1a1cfcf872683df2c148996a0440ce6f78625436c998749d2e81599aa2a7fdebdbd787a8e20ac777a700815ba9 fcitx5-chinese-addons-5.1.4.tar.gz
+"
diff --git a/testing/fcitx5-configtool/APKBUILD b/testing/fcitx5-configtool/APKBUILD
new file mode 100644
index 00000000000..82b5d19e015
--- /dev/null
+++ b/testing/fcitx5-configtool/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: ProgCat <progcat@protonmail.com>
+# Maintainer: ProgCat <progcat@protonmail.com>
+pkgname=fcitx5-configtool
+pkgver=5.1.4
+pkgrel=0
+pkgdesc="A configure tool for Fcitx5"
+url="https://github.com/fcitx/fcitx5-configtool"
+arch="all !armhf"
+license="GPL-2.0-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ fcitx5-dev
+ fcitx5-qt-dev
+ gettext-dev
+ iso-codes
+ iso-codes-dev
+ kcoreaddons5-dev
+ kdeclarative5-dev
+ ki18n5-dev
+ kiconthemes5-dev
+ kirigami2-dev
+ kpackage5-dev
+ kwidgetsaddons5-dev
+ libxkbcommon-dev
+ libxkbfile-dev
+ qt6-qtsvg-dev
+ libplasma-dev
+ qt6-qtdeclarative-dev
+ samurai
+ xkeyboard-config-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-configtool/archive/refs/tags/$pkgver.tar.gz"
+
+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 \
+ -DUSE_QT6=True \
+ -DCMAKE_BUILD_TYPE=None \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+2012882d1c4e58d69898d3b2b60f26124d9b87a05e91192e776db2738402423c3c6ac181185aa1ccd19984c2d3fdac9ededf6a7477d79588170934f24790be47 fcitx5-configtool-5.1.4.tar.gz
+"
diff --git a/testing/fcitx5-gtk/APKBUILD b/testing/fcitx5-gtk/APKBUILD
new file mode 100644
index 00000000000..078130bdd5c
--- /dev/null
+++ b/testing/fcitx5-gtk/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=fcitx5-gtk
+pkgver=5.1.2
+pkgrel=0
+pkgdesc="Fcitx5 GTK module"
+url="https://github.com/fcitx/fcitx5-gtk/"
+arch="all"
+license="LGPL-2.1-or-later"
+depends="fcitx5"
+makedepends="
+ cmake
+ extra-cmake-modules
+ gobject-introspection-dev
+ gtk+3.0-dev
+ gtk4.0-dev
+ samurai
+ "
+subpackages="
+ $pkgname-dev
+ ${pkgname}3:_gtk3
+ ${pkgname}4:_gtk4
+ "
+options="!check" # no test suites
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-gtk/archive/$pkgver.tar.gz"
+
+build() {
+ _build 3
+ _build 4
+ _build libs
+}
+
+_build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B $pkgname-$1 -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_BUILD_RPATH=true \
+ -DENABLE_GTK2_IM_MODULE=OFF \
+ -DENABLE_GTK3_IM_MODULE=OFF \
+ -DENABLE_GTK4_IM_MODULE=OFF \
+ -DENABLE_GTK"$1"_IM_MODULE=ON \
+ -DENABLE_SNOOPER=ON \
+ -DENABLE_GIR=ON
+ cmake --build $pkgname-$1
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install $pkgname-3
+ DESTDIR="$pkgdir" cmake --install $pkgname-4
+ DESTDIR="$pkgdir" cmake --install $pkgname-libs
+}
+
+_gtk3() {
+ pkgdesc="${pkgdesc/GTK/GTK3}"
+ install_if="$pkgname=$pkgver-r$pkgrel gtk+3.0"
+ amove usr/lib/gtk-3.0
+}
+
+_gtk4() {
+ pkgdesc="${pkgdesc/GTK/GTK4}"
+ install_if="$pkgname=$pkgver-r$pkgrel gtk4.0"
+
+ amove usr/lib/gtk-4.0
+}
+
+sha512sums="
+9be64cce50f48f57340a69164ae8878ebc05f2e637ac281e3b5ff4c09427b40347088c51e799e345a3c7866026061787116acd5e081c77491638b582d766c94d fcitx5-gtk-5.1.2.tar.gz
+"
diff --git a/testing/fcitx5-hangul/APKBUILD b/testing/fcitx5-hangul/APKBUILD
new file mode 100644
index 00000000000..b4542a5fbc4
--- /dev/null
+++ b/testing/fcitx5-hangul/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=fcitx5-hangul
+pkgver=5.1.2
+pkgrel=0
+pkgdesc="libhangul input method support for fcitx5"
+url="https://github.com/fcitx/fcitx5-hangul"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ gettext-dev
+ fcitx5-dev
+ libhangul-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-hangul/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ CFLAGS="$CFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+5e1ba80a29ee08200d4bb40ffb33fa7ad69f6f8476e00c10e9e4e800d6d29bc7f92346d6f377b2497e7080f780d913c1aee7042048a0a6099a812b1dec34abe0 fcitx5-hangul-5.1.2.tar.gz
+"
diff --git a/testing/fcitx5-kkc/APKBUILD b/testing/fcitx5-kkc/APKBUILD
new file mode 100644
index 00000000000..a18620545a5
--- /dev/null
+++ b/testing/fcitx5-kkc/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=fcitx5-kkc
+pkgver=5.1.2
+pkgrel=0
+pkgdesc="libkkc input method support for fcitx5"
+url="https://github.com/fcitx/fcitx5-kkc"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ gettext-dev
+ fcitx5-dev
+ fcitx5-qt-dev
+ libkkc-dev
+ qt6-qttools-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-kkc/archive/refs/tags/$pkgver.tar.gz
+ cxx17.patch
+ "
+options="!check" # no tests
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+ecf217da4c765dc8c10dd82fc5141bc51f8461624a4b45b2c2054b6775f424dfb3aa3c533d05f7595a3f63b4124ca5efebade2188ad6a47fcb553d61a6f3ccde fcitx5-kkc-5.1.2.tar.gz
+e58e74bc15497462414d2fbb99c0685249de5f5a5850d39696dfde7e3c171d5932a9b2f4bfd3d4a9c2e2d103ad2456cd2e7d0545a254b55b79cecb08d953d779 cxx17.patch
+"
diff --git a/testing/fcitx5-kkc/cxx17.patch b/testing/fcitx5-kkc/cxx17.patch
new file mode 100644
index 00000000000..1291ecba80f
--- /dev/null
+++ b/testing/fcitx5-kkc/cxx17.patch
@@ -0,0 +1,14 @@
+required against new fcitx libs
+diff --git a/gui/CMakeLists.txt b/gui/CMakeLists.txt
+index 2327132..8a6f0d8 100644
+--- a/gui/CMakeLists.txt
++++ b/gui/CMakeLists.txt
+@@ -17,7 +17,7 @@ qt5_wrap_ui(KKC_CONFIG_SRCS dictwidget.ui adddictdialog.ui shortcutwidget.ui add
+ add_library(fcitx5-kkc-config
+ MODULE ${KKC_CONFIG_SRCS})
+
+-add_definitions(-DQT_NO_KEYWORDS)
++add_definitions(-DQT_NO_KEYWORDS -std=c++17)
+
+ target_include_directories(fcitx5-kkc-config PRIVATE ${PROJECT_BINARY_DIR} ${CMAKE_CURRENT_BINARY_DIR})
+
diff --git a/testing/fcitx5-lua/APKBUILD b/testing/fcitx5-lua/APKBUILD
new file mode 100644
index 00000000000..44d07374842
--- /dev/null
+++ b/testing/fcitx5-lua/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer:
+pkgname=fcitx5-lua
+pkgver=5.0.12
+pkgrel=0
+pkgdesc="Lua support for fcitx5"
+url="https://github.com/fcitx/fcitx5-lua"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ gettext-dev
+ fcitx5-dev
+ lua5.3-dev
+ samurai
+ "
+subpackages="$pkgname-lang $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-lua/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DUSE_DLOPEN=OFF \
+ -DLUA_LIBRARIES=/usr/lib/liblua-5.3.so.0 \
+ -DLUA_LIBRARY=/usr/lib/liblua-5.3.so.0 \
+ -DENABLE_TEST="$(want_check && echo ON || echo OFF)"
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+09a0d9e21d378c114dfda1ba89c5f9bc49dca9fc2c3241451b00a3629510f2d152eef5a5d4a055c4aaab036c1469b6aa210400f0ffd90f3a81bcad5ea114c291 fcitx5-lua-5.0.12.tar.gz
+"
diff --git a/testing/fcitx5-m17n/APKBUILD b/testing/fcitx5-m17n/APKBUILD
new file mode 100644
index 00000000000..3367cf55de5
--- /dev/null
+++ b/testing/fcitx5-m17n/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer:
+pkgname=fcitx5-m17n
+pkgver=5.1.0
+pkgrel=1
+pkgdesc="m17n extra input method support for fcitx5"
+url="https://github.com/fcitx/fcitx5-m17n"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ gettext-dev
+ fcitx5-dev
+ fmt-dev
+ m17n-lib-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-m17n/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_TEST="$(want_check && echo ON || echo OFF)"
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failre
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+de273de4a01d0c9f23c6b96fe984c97881947907911e3ea60fefc5dcb50e23dcd64a28e891893ed058fe4ec2c2f7f2dbc4a0f8de2957052ff9c5ea5d88f5ff21 fcitx5-m17n-5.1.0.tar.gz
+"
diff --git a/testing/fcitx5-qt/APKBUILD b/testing/fcitx5-qt/APKBUILD
new file mode 100644
index 00000000000..a65adb4b0f2
--- /dev/null
+++ b/testing/fcitx5-qt/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: ProgCat <progcat@protonmail.com>
+# Maintainer: ProgCat <progcat@protonmail.com>
+pkgname=fcitx5-qt
+pkgver=5.1.5
+pkgrel=0
+pkgdesc="Qt library and IM module for Fcitx5"
+url="https://github.com/fcitx/fcitx5-qt"
+arch="all"
+license="LGPL-2.1-or-later AND BSD-3-Clause"
+makedepends="
+ cmake
+ extra-cmake-modules
+ fcitx5-dev
+ libxkbcommon-dev
+ libxcb-dev
+ libxkbcommon-dev
+ libxcb-dev
+ libx11-dev
+ libxcb-dev
+ libxkbcommon-dev
+ qt5-qtbase-dev
+ qt6-qtbase-dev
+ qt6-qtwayland-dev
+ samurai
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-lang
+ $pkgname-qt5
+ $pkgname-qt6
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-qt/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ CXXFLAGS="$CXXFLAGS -flto=auto -DNDEBUG" \
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ -DENABLE_QT4=Off \
+ -DENABLE_QT6=ON \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+qt5() {
+ pkgdesc="$pkgdesc (Qt5)"
+ install_if="$pkgname=$pkgver-r$pkgrel qt5-qtbase-x11"
+
+ amove usr/lib/libFcitx5Qt5*
+ amove usr/lib/qt5
+ amove usr/libexec/fcitx5-qt5-gui-wrapper
+ amove usr/share/applications/org.fcitx.fcitx5-qt5-gui-wrapper.desktop
+}
+
+qt6() {
+ pkgdesc="$pkgdesc (Qt6)"
+ install_if="$pkgname=$pkgver-r$pkgrel qt6-qtbase-x11"
+
+ amove usr/lib/libFcitx5Qt6*
+ amove usr/lib/fcitx5/qt6
+ amove usr/lib/qt6
+}
+
+sha512sums="
+a153571b9e393ab1fb355b6de840760e3fec186c62785ac2a8186e0a023d8f3b517a25ee251747ad457e12d649b55e8b558772b8c0b015b8ae459f3f66098a06 fcitx5-qt-5.1.5.tar.gz
+"
diff --git a/testing/fcitx5-rime/APKBUILD b/testing/fcitx5-rime/APKBUILD
new file mode 100644
index 00000000000..ebd15bcfdbf
--- /dev/null
+++ b/testing/fcitx5-rime/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=fcitx5-rime
+pkgver=5.1.5
+pkgrel=0
+pkgdesc="librime input method support for fcitx5"
+url="https://github.com/fcitx/fcitx5-rime"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ gettext-dev
+ fcitx5-dev
+ fcitx5-qt-dev
+ librime-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-rime/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+b80b86e3e984a7cba345087c6d7cdc88366297ab9027ee4767367454b65be870d4e5e53dd6214a856b9cf3b3edebaff75fa1d60faf9295f74a8a8706c0094f87 fcitx5-rime-5.1.5.tar.gz
+"
diff --git a/testing/fcitx5-table-extra/APKBUILD b/testing/fcitx5-table-extra/APKBUILD
new file mode 100644
index 00000000000..3a9e3b75244
--- /dev/null
+++ b/testing/fcitx5-table-extra/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=fcitx5-table-extra
+pkgver=5.1.4
+pkgrel=0
+pkgdesc="extra-table input method support for fcitx5"
+url="https://github.com/fcitx/fcitx5-table-extra"
+arch="noarch"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ gettext-dev
+ fcitx5-dev
+ libime-dev
+ samurai
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-table-extra/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+12611d16f06aa28d82764feb7a0bab8114106519be3e5f011eed6da6354729432968354adb48ddc425b215295cb6d5006ea8da82cb1ac78e77ae76c4ba1f40c7 fcitx5-table-extra-5.1.4.tar.gz
+"
diff --git a/testing/fcitx5-table-other/APKBUILD b/testing/fcitx5-table-other/APKBUILD
new file mode 100644
index 00000000000..77ed61001a1
--- /dev/null
+++ b/testing/fcitx5-table-other/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=fcitx5-table-other
+pkgver=5.1.1
+pkgrel=0
+pkgdesc="other-table input method support for fcitx5"
+url="https://github.com/fcitx/fcitx5-table-other"
+arch="noarch"
+license="GPL-3.0-only"
+makedepends="
+ cmake
+ extra-cmake-modules
+ gettext-dev
+ fcitx5-dev
+ libime-dev
+ samurai
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-table-other/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+2447caebb5774d9157293c09729b63e3fc7bbd83ae32a39e2ed0b70a1979bb32dd757587da41b818d94ecd7c7c636c10a1fe0304b646e24fe6d8bda9b8774029 fcitx5-table-other-5.1.1.tar.gz
+"
diff --git a/testing/fcitx5-unikey/APKBUILD b/testing/fcitx5-unikey/APKBUILD
new file mode 100644
index 00000000000..8b2fc34ffbd
--- /dev/null
+++ b/testing/fcitx5-unikey/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=fcitx5-unikey
+pkgver=5.1.3
+pkgrel=0
+pkgdesc="Unikey Wrapper for Fcitx"
+url="https://github.com/fcitx/fcitx5-unikey"
+arch="all"
+license="LGPL-2.0-or-later AND GPL-2.0-or-later"
+makedepends="
+ cmake
+ extra-cmake-modules
+ fcitx5-dev
+ fcitx5-qt-dev
+ gettext-dev
+ qt6-qtbase-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5-unikey/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ -DENABLE_TEST="$(want_check && echo ON || echo OFF)" \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+c74be9089bb8ef2e44678336b28ca397f2af06e2f69f66c94d55c2ab8325c97f01fa517398a4640e660dbe95b5090970c72adad39ba6d87276faa96b34b762e1 fcitx5-unikey-5.1.3.tar.gz
+"
diff --git a/testing/fcitx5/APKBUILD b/testing/fcitx5/APKBUILD
new file mode 100644
index 00000000000..bfbb2fa6a1a
--- /dev/null
+++ b/testing/fcitx5/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=fcitx5
+pkgver=5.1.8
+pkgrel=0
+pkgdesc="Generic input method framework"
+url="https://github.com/fcitx/fcitx5"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ cairo-dev
+ dbus-dev
+ enchant2-dev
+ extra-cmake-modules
+ fmt-dev
+ gdk-pixbuf-dev
+ iso-codes
+ iso-codes-dev
+ iso-codes-lang
+ json-c-dev
+ libxkbcommon-dev
+ libxkbfile-dev
+ mesa-dev
+ pango-dev
+ samurai
+ wayland-dev
+ wayland-protocols
+ xcb-imdkit-dev
+ xcb-util-keysyms-dev
+ xcb-util-wm-dev
+ xkeyboard-config-dev
+ libuv-dev
+ "
+
+subpackages="$pkgname-lang $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/fcitx5/archive/$pkgver/fcitx5-$pkgver.tar.gz"
+options="!check" # requires working dbus
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ CXXFLAGS="$CXXFLAGS -DNDEBUG" \
+ cmake -G Ninja -B build -Wno-dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+e815e7a991c2f07b64d33c988b20e6051fa5ab5d0c25f3971d6b1689d50eee3dd57f58e521d8fa8619b10c800ede664f4642c1e6f7d9344e6f7c2bd65c1340d1 fcitx5-5.1.8.tar.gz
+"
diff --git a/testing/fclones/APKBUILD b/testing/fclones/APKBUILD
deleted file mode 100644
index c841b3e23ba..00000000000
--- a/testing/fclones/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=fclones
-pkgver=0.16.1
-pkgrel=0
-pkgdesc="Efficient duplicate file finder"
-url="https://github.com/pkolaczk/fclones"
-license="MIT"
-arch="all !s390x !mips64 !riscv64" # blocked by rust/cargo
-arch="$arch !armhf !armv7" # flaky tests
-makedepends="cargo eudev-dev"
-source="https://github.com/pkolaczk/fclones/archive/v$pkgver/fclones-$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- install -Dm755 target/release/fclones "$pkgdir"/usr/bin/fclones
-}
-
-sha512sums="
-6b31299de1d1d22d6f6ce3aecb9b45f3d81db9e50f172dc28c1093f30510548d887b83756e7c5069f189e9aea851e3b4074c8f83ac460ce8b5e5cc0f7ab8be64 fclones-0.16.1.tar.gz
-"
diff --git a/testing/fdm-materials/APKBUILD b/testing/fdm-materials/APKBUILD
new file mode 100644
index 00000000000..5bde97de88c
--- /dev/null
+++ b/testing/fdm-materials/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Aiden Grossman <agrossman154@yahoo.com>
+# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
+pkgname=fdm-materials
+pkgver=5.2.2
+pkgrel=0
+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
+"
diff --git a/testing/fdm/APKBUILD b/testing/fdm/APKBUILD
index 20a9123e1cf..d114265b877 100644
--- a/testing/fdm/APKBUILD
+++ b/testing/fdm/APKBUILD
@@ -1,26 +1,24 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname="fdm"
-pkgver="2.0"
+pkgname=fdm
+pkgver=2.2
pkgrel=0
pkgdesc="A simple lightweight tool of fetching, filtering and delivering emails"
url="https://github.com/nicm/fdm"
arch="all"
license="ISC"
-depends=""
-makedepends="tdb-dev openssl-dev zlib-dev bsd-compat-headers pcre-dev
- automake autoconf libtool"
+makedepends="
+ openssl-dev>3
+ pcre2-dev
+ tdb-dev
+ zlib-dev
+ "
subpackages="$pkgname-doc"
source="https://github.com/nicm/fdm/releases/download/$pkgver/fdm-$pkgver.tar.gz
- fix-base64.patch
+ $pkgname-pcre2-fix.patch::https://github.com/nicm/fdm/commit/f1ec1982725d60045c0d871f3e613f2880046c22.patch
"
-bbuuilddir="$srcdir/fdm-$pkgver"
-
-prepare() {
- default_prepare
- autoreconf -vif
-}
build() {
+ CFLAGS="$CFLAGS -flto=auto" \
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -28,7 +26,7 @@ build() {
--sysconfdir=/etc \
--mandir=/usr/share/man \
--localstatedir=/var \
- --enable-pcre
+ --enable-pcre2
make
}
@@ -40,5 +38,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="14e923202d17083ceb3b91b3a442d7e512c37f3d29535f22d8c0c4e1d57c97acc5d5465d643ed0cf437b3945ef777a6e38da3117219c2d54dcec88ecab1e10d9 fdm-2.0.tar.gz
-ec2ebaa39e653db807ed89ec162960d5734c858b1a15a92ea9dfcd34a39c803f33d0e05e7333d1878df9d5d6187da3d12249cc397d8fcdad4e3decd836cc0a59 fix-base64.patch"
+sha512sums="
+13efa0f272c5f6146b90e094602e8a9b52016af79ae0b6cd80dc9f36b2ba37f64cadae7313bd8db90bcb007dd07206a3614987f11bb82c3535e04f0511c9fc6d fdm-2.2.tar.gz
+408da5b9ee9936fb198cdeb5bf3ad8e350845e9d0b009830d933cde0d5f8175c573a526ade42459ee32ddf7b1354a254c284214891f61afa16e71296bf53b71d fdm-pcre2-fix.patch
+"
diff --git a/testing/fdm/fix-base64.patch b/testing/fdm/fix-base64.patch
deleted file mode 100644
index 0326f57c368..00000000000
--- a/testing/fdm/fix-base64.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 519e41833c1f7d353c09d8d51bfd6d13d0cfc16c Mon Sep 17 00:00:00 2001
-From: Nicholas Marriott <nicholas.marriott@gmail.com>
-Date: Mon, 18 Feb 2019 22:26:29 +0000
-Subject: [PATCH] Do not add base64.c twice, from Rosen Penev.
-
----
- Makefile.am | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 611ae87..e9f2f64 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -123,6 +123,3 @@ endif
- if NO_STRTONUM
- nodist_fdm_SOURCES += compat/strtonum.c
- endif
--if NO_B64_NTOP
--nodist_fdm_SOURCES += compat/base64.c
--endif
-From 3232e537ccaba4417b25d9d70264e4a5533042da Mon Sep 17 00:00:00 2001
-From: Nicholas Marriott <nicholas.marriott@gmail.com>
-Date: Mon, 18 Mar 2019 13:04:00 +0000
-Subject: [PATCH] Fix bas64 declarations, from makepost at firemail dot cc.
-
----
- fdm.h | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/fdm.h b/fdm.h
-index 41eaa37..511a7b1 100644
---- a/fdm.h
-+++ b/fdm.h
-@@ -20,7 +20,6 @@
- #define FDM_H
-
- #include <sys/param.h>
--#include <sys/cdefs.h>
- #include <sys/stat.h>
-
- #ifdef HAVE_QUEUE_H
-@@ -725,8 +724,8 @@ size_t strlcat(char *, const char *, size_t);
-
- #ifndef HAVE_B64_NTOP
- /* base64.c */
--int b64_ntop(src, srclength, target, targsize);
--int b64_pton(src, target, targsize);
-+int b64_ntop(u_char const *, size_t, char *, size_t);
-+int b64_pton(char const *, u_char *, size_t);
- #endif
-
- /* shm.c */
diff --git a/testing/featherpad/APKBUILD b/testing/featherpad/APKBUILD
index f58a8900947..a0dfc326d2d 100644
--- a/testing/featherpad/APKBUILD
+++ b/testing/featherpad/APKBUILD
@@ -1,14 +1,19 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
+# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
+# Maintainer: Pedram Pourang <tsujan2000@gmail.com>
pkgname=featherpad
-pkgver=1.1.0
+pkgver=1.5.0
pkgrel=0
pkgdesc="Lightweight Qt plain-text editor"
url="https://github.com/tsujan/FeatherPad"
license="GPL-3.0-or-later"
arch="all"
makedepends="
- cmake libx11-dev qt5-qtbase-dev qt5-qtsvg-dev
- qt5-qttools-dev qt5-qtx11extras-dev hunspell-dev
+ cmake
+ hunspell-dev
+ qt6-qtbase-dev
+ qt6-qtsvg-dev
+ qt6-qttools-dev
+ samurai
"
subpackages="$pkgname-lang"
options="!check" # no test suite
@@ -19,10 +24,9 @@ build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
$CMAKE_CROSSOPTS .
cmake --build build
}
@@ -32,9 +36,9 @@ package() {
}
lang() {
- amove usr/share/featherpad/translations
+ amove usr/share/$pkgname/translations
}
sha512sums="
-0a4dcdbdb6edc1a11a6dba5dd3afa04bb435f1d722211c45c7f8ca465b67accced706cb56e0989788b5be7624c6b31cf4782735c91c5e819df2e6a32947ec1f0 FeatherPad-1.1.0.tar.xz
+5104fbcb2f83e3bdb9c1394cd546b1d6036d3e00e4e358da05affed895a426b1d63bd4d62edc5c65beed96fa3d4adcdadafb4f5b2eb84406ba651576e49c2bb6 FeatherPad-1.5.0.tar.xz
"
diff --git a/testing/felix/APKBUILD b/testing/felix/APKBUILD
new file mode 100644
index 00000000000..536d4776e9e
--- /dev/null
+++ b/testing/felix/APKBUILD
@@ -0,0 +1,59 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=felix
+pkgver=2.12.1
+pkgrel=0
+pkgdesc="Simple TUI file manager with vim-like key mapping"
+url="https://kyoheiu.dev/felix/"
+# s390x: nix crate doesn't build yet
+arch="all !s390x"
+license="MIT"
+makedepends="
+ bzip2-dev
+ cargo
+ cargo-auditable
+ libgit2-dev
+ oniguruma-dev
+ zlib-ng-dev
+ zstd-dev
+ "
+checkdepends="zoxide"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/kyoheiu/felix/archive/refs/tags/v$pkgver.tar.gz
+ use-system-libs.patch
+ "
+
+export RUSTONIG_DYNAMIC_LIBONIG=1
+
+prepare() {
+ default_prepare
+
+ # Rust target triple.
+ local target=$(rustc -vV | sed -n 's/host: //p')
+
+ # Build against system-provided libs
+ mkdir -p .cargo
+ cat >> .cargo/config.toml <<-EOF
+ [target.$target]
+ git2 = { rustc-link-lib = ["git2"] }
+ z-ng = { rustc-link-lib = ["z-ng"], rustc-cfg = ["zng"] }
+ EOF
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/fx -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+30ff3277d7e9c0c90387a91ed6c50ab1949905ccd645e9e95d2a56a0fd919e9e8bbb69ce4b72525f0e8ed775882840f3829e4387a39a2d2e760d8d1245d7e8c8 felix-2.12.1.tar.gz
+3f9383877e8ad036a09c75d954ec4574e26b1b1aa660170d065867be9080aad9e4bb8ad63d86a684d4c1534c86ebe29a35b746f73e572485b17f26177319d461 use-system-libs.patch
+"
diff --git a/testing/felix/use-system-libs.patch b/testing/felix/use-system-libs.patch
new file mode 100644
index 00000000000..30ad2a35e21
--- /dev/null
+++ b/testing/felix/use-system-libs.patch
@@ -0,0 +1,61 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index b08d2aa..0fbd4a8 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -147,6 +147,15 @@ dependencies = [
+ "inout",
+ ]
+
++[[package]]
++name = "cmake"
++version = "0.1.50"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
++dependencies = [
++ "cc",
++]
++
+ [[package]]
+ name = "constant_time_eq"
+ version = "0.1.5"
+@@ -376,6 +385,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+ dependencies = [
+ "crc32fast",
++ "libz-ng-sys",
+ "miniz_oxide",
+ ]
+
+@@ -542,6 +552,16 @@ dependencies = [
+ "redox_syscall",
+ ]
+
++[[package]]
++name = "libz-ng-sys"
++version = "1.1.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5"
++dependencies = [
++ "cmake",
++ "libc",
++]
++
+ [[package]]
+ name = "libz-sys"
+ version = "1.1.15"
+diff --git a/Cargo.toml b/Cargo.toml
+index 3ccaf0f..1aebeba 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -30,9 +30,9 @@ crossterm = "0.26.1"
+ serde_yaml = "0.9.25"
+ zip = "0.6.6"
+ tar = "0.4.39"
+-flate2 = "1.0.26"
++flate2 = {version = "1.0.26", default-features = false, features = ["zlib-ng"]}
+ lzma-rs = "0.3.0"
+-zstd = "0.12.4"
++zstd = {version = "0.12.4", default-features = false, features = ["pkg-config"]}
+ unicode-width = "0.1.10"
+ git2 = {version = "0.18.0", default-features = false }
+
diff --git a/testing/fff/APKBUILD b/testing/fff/APKBUILD
new file mode 100644
index 00000000000..24fb4be48a7
--- /dev/null
+++ b/testing/fff/APKBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Avis Orsetti <avisorsetti@riseup.net>
+pkgname=fff
+pkgver=2.2
+pkgrel=0
+pkgdesc="Simple and fast file manager"
+url="https://github.com/dylanaraps/fff"
+arch="noarch"
+license="MIT"
+depends="bash coreutils xdg-utils"
+subpackages="$pkgname-doc"
+options="!check" # No tests provided
+source="fff-$pkgver.tar.gz::https://github.com/dylanaraps/fff/archive/refs/tags/$pkgver.tar.gz"
+
+package() {
+ install -Dm755 -t "$pkgdir/usr/bin" $pkgname
+ install -Dm644 -t "$pkgdir/usr/share/man/man1" $pkgname.1
+ install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
+ install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" LICENSE.md
+}
+
+sha512sums="
+364fef67b69aa28fc9448eb4b11c4d7152f11191fd4313f728b1bb00fbc80682dd2d3b4d65884aa3d70b82d319e2ca8e19bf7a06c04b250e49c3577caa5fe2cf fff-2.2.tar.gz
+"
diff --git a/testing/fflas-ffpack/APKBUILD b/testing/fflas-ffpack/APKBUILD
new file mode 100644
index 00000000000..d6e6c16e199
--- /dev/null
+++ b/testing/fflas-ffpack/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=fflas-ffpack
+pkgver=2.5.0
+pkgrel=3
+pkgdesc="Library for basic linear algebra operations over a finite field"
+url="https://github.com/linbox-team/fflas-ffpack"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ gmp-dev
+ libgivaro-dev
+ openblas-dev
+ "
+source="https://github.com/linbox-team/fflas-ffpack/releases/download/v$pkgver/fflas_ffpack-$pkgver.tar.bz2"
+builddir="$srcdir/fflas_ffpack-$pkgver"
+
+build() {
+ export CXXFLAGS="${CXXFLAGS/-Os/-O3}" # gotta go fast
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --without-archnative \
+ --enable-openmp
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ mv "$pkgdir"/usr/bin/*fflas-ffpack-config "$pkgdir"/usr/bin/fflas-ffpack-config
+}
+
+sha512sums="
+afe09cdb51a19b819377ed5e04910ef9d05704f0a4e85feb618abe523e2baf5be6f310ad33f006ef306b37892238ce993eff1326f3bec2fa7a7e32535e1fb90a fflas_ffpack-2.5.0.tar.bz2
+"
diff --git a/testing/ffms2/APKBUILD b/testing/ffms2/APKBUILD
new file mode 100644
index 00000000000..165cf0d70f9
--- /dev/null
+++ b/testing/ffms2/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: duckl1ng <bogdan@sanocki.info>
+pkgname=ffms2
+pkgver=2.40
+pkgrel=0
+pkgdesc="Cross-platform wrapper library around FFmpeg"
+url="https://github.com/FFMS/ffms2"
+arch="all"
+license="MIT"
+makedepends="
+ autoconf
+ automake
+ ffmpeg-dev
+ ffmpeg-libavcodec
+ ffmpeg-libswresample
+ libtool
+ zlib-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/FFMS/ffms2/archive/refs/tags/$pkgver.tar.gz
+ ffmpeg-fix-api.patch
+ "
+options="!check" # No test suite
+
+build() {
+ ./autogen.sh --prefix=/usr
+ make
+}
+
+package() {
+ DESTDIR="$pkgdir" make install
+}
+
+sha512sums="
+407c4b0871f5046b9d364c2946eae88c46eec381b5748530d82918742fd4a36849de590024f8235af2785bd631c0299e591499dc43ae157ff2c6a6f2dab78b67 ffms2-2.40.tar.gz
+d11913d36fbc1b3d4797ec8f4f77ff7d89eee3d80c02c594a88ece5e71a749f4f8e4417d9895b7d102226a3f331b2b29014d5882b3b08ca3c5545ceecc133653 ffmpeg-fix-api.patch
+"
diff --git a/testing/ffms2/ffmpeg-fix-api.patch b/testing/ffms2/ffmpeg-fix-api.patch
new file mode 100644
index 00000000000..e730037a4f3
--- /dev/null
+++ b/testing/ffms2/ffmpeg-fix-api.patch
@@ -0,0 +1,355 @@
+# source: https://github.com/FFMS/ffms2/pull/380
+diff --git a/configure.ac b/configure.ac
+index b35ef80bcd..d19714d0f6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -102,10 +102,10 @@ CFLAGS="$_CFLAGS $FFMPEG_CFLAGS"
+
+ AC_DEFUN([TEST_FFMPEG],
+ [AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+- #include <libavcodec/avcodec.h>
++ #include <libavformat/avformat.h>
+ #include <libswscale/swscale.h>
+ ]],[[
+- avcodec_register_all();
++ avformat_network_init();
+ swscale_version();
+ ]])], [eval $1=yes], [eval $1=no])
+ ])
+diff --git a/src/core/audiosource.cpp b/src/core/audiosource.cpp
+index 37cf9aeefd..ac0966636f 100644
+--- a/src/core/audiosource.cpp
++++ b/src/core/audiosource.cpp
+@@ -285,10 +285,15 @@ FFMS_AudioSource::AudioBlock *FFMS_AudioSource::CacheBlock(CacheIterator &pos) {
+ int FFMS_AudioSource::DecodeNextBlock(CacheIterator *pos) {
+ CurrentFrame = &Frames[PacketNumber];
+
+- AVPacket Packet;
+- if (!ReadPacket(&Packet))
++ AVPacket *Packet = av_packet_alloc();
++ if (!Packet)
++ throw FFMS_Exception(FFMS_ERROR_PARSER, FFMS_ERROR_ALLOCATION_FAILED,
++ "Could not allocate packet.");
++ if (!ReadPacket(Packet)) {
++ av_packet_free(&Packet);
+ throw FFMS_Exception(FFMS_ERROR_PARSER, FFMS_ERROR_UNKNOWN,
+ "ReadPacket unexpectedly failed to read a packet");
++ }
+
+ // ReadPacket may have changed the packet number
+ CurrentFrame = &Frames[PacketNumber];
+@@ -297,8 +302,9 @@ int FFMS_AudioSource::DecodeNextBlock(CacheIterator *pos) {
+ int NumberOfSamples = 0;
+ AudioBlock *CachedBlock = nullptr;
+
+- int Ret = avcodec_send_packet(CodecContext, &Packet);
+- av_packet_unref(&Packet);
++ int Ret = avcodec_send_packet(CodecContext, Packet);
++ av_packet_unref(Packet);
++ av_packet_free(&Packet);
+
+ av_frame_unref(DecodeFrame);
+ Ret = avcodec_receive_frame(CodecContext, DecodeFrame);
+@@ -463,7 +469,7 @@ void FFMS_AudioSource::OpenFile() {
+
+ LAVFOpenFile(SourceFile.c_str(), FormatContext, TrackNumber);
+
+- AVCodec *Codec = avcodec_find_decoder(FormatContext->streams[TrackNumber]->codecpar->codec_id);
++ auto *Codec = avcodec_find_decoder(FormatContext->streams[TrackNumber]->codecpar->codec_id);
+ if (Codec == nullptr)
+ throw FFMS_Exception(FFMS_ERROR_DECODING, FFMS_ERROR_CODEC,
+ "Audio codec not found");
+@@ -513,8 +519,6 @@ void FFMS_AudioSource::Seek() {
+ }
+
+ bool FFMS_AudioSource::ReadPacket(AVPacket *Packet) {
+- InitNullPacket(*Packet);
+-
+ while (av_read_frame(FormatContext, Packet) >= 0) {
+ if (Packet->stream_index == TrackNumber) {
+ // Required because not all audio packets, especially in ogg, have a pts. Use the previous valid packet's pts instead.
+diff --git a/src/core/indexing.cpp b/src/core/indexing.cpp
+index 23fb95b128..59fb4e8ea8 100644
+--- a/src/core/indexing.cpp
++++ b/src/core/indexing.cpp
+@@ -320,7 +320,7 @@ void FFMS_Indexer::CheckAudioProperties(int Track, AVCodecContext *Context) {
+ }
+ }
+
+-void FFMS_Indexer::ParseVideoPacket(SharedAVContext &VideoContext, AVPacket &pkt, int *RepeatPict,
++void FFMS_Indexer::ParseVideoPacket(SharedAVContext &VideoContext, AVPacket *pkt, int *RepeatPict,
+ int *FrameType, bool *Invisible, enum AVPictureStructure *LastPicStruct) {
+ if (VideoContext.Parser) {
+ uint8_t *OB;
+@@ -330,8 +330,8 @@ void FFMS_Indexer::ParseVideoPacket(SharedAVContext &VideoContext, AVPacket &pkt
+ av_parser_parse2(VideoContext.Parser,
+ VideoContext.CodecContext,
+ &OB, &OBSize,
+- pkt.data, pkt.size,
+- pkt.pts, pkt.dts, pkt.pos);
++ pkt->data, pkt->size,
++ pkt->pts, pkt->dts, pkt->pos);
+
+ // H.264 (PAFF) and HEVC may have one field per packet, so we need to track
+ // when we have a full or half frame available, and mark one of them as
+@@ -351,15 +351,15 @@ void FFMS_Indexer::ParseVideoPacket(SharedAVContext &VideoContext, AVPacket &pkt
+
+ *RepeatPict = VideoContext.Parser->repeat_pict;
+ *FrameType = VideoContext.Parser->pict_type;
+- *Invisible = (IncompleteFrame || VideoContext.Parser->repeat_pict < 0 || (pkt.flags & AV_PKT_FLAG_DISCARD));
++ *Invisible = (IncompleteFrame || VideoContext.Parser->repeat_pict < 0 || (pkt->flags & AV_PKT_FLAG_DISCARD));
+ } else {
+- *Invisible = !!(pkt.flags & AV_PKT_FLAG_DISCARD);
++ *Invisible = !!(pkt->flags & AV_PKT_FLAG_DISCARD);
+ }
+
+ if (VideoContext.CodecContext->codec_id == AV_CODEC_ID_VP8)
+- ParseVP8(pkt.data[0], Invisible, FrameType);
++ ParseVP8(pkt->data[0], Invisible, FrameType);
+ else if (VideoContext.CodecContext->codec_id == AV_CODEC_ID_VP9)
+- ParseVP9(pkt.data[0], Invisible, FrameType);
++ ParseVP9(pkt->data[0], Invisible, FrameType);
+ }
+
+ void FFMS_Indexer::Free() {
+@@ -384,7 +384,7 @@ FFMS_TrackType FFMS_Indexer::GetTrackType(int Track) {
+ }
+
+ const char *FFMS_Indexer::GetTrackCodec(int Track) {
+- AVCodec *codec = avcodec_find_decoder(FormatContext->streams[Track]->codecpar->codec_id);
++ auto *codec = avcodec_find_decoder(FormatContext->streams[Track]->codecpar->codec_id);
+ return codec ? codec->name : nullptr;
+ }
+
+@@ -402,7 +402,7 @@ FFMS_Index *FFMS_Indexer::DoIndexing() {
+ UseDTS);
+
+ if (IndexMask.count(i) && FormatContext->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
+- AVCodec *VideoCodec = avcodec_find_decoder(FormatContext->streams[i]->codecpar->codec_id);
++ auto *VideoCodec = avcodec_find_decoder(FormatContext->streams[i]->codecpar->codec_id);
+ if (!VideoCodec) {
+ FormatContext->streams[i]->discard = AVDISCARD_ALL;
+ IndexMask.erase(i);
+@@ -433,7 +433,7 @@ FFMS_Index *FFMS_Indexer::DoIndexing() {
+ IndexMask.insert(i);
+ }
+ } else if (IndexMask.count(i) && FormatContext->streams[i]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) {
+- AVCodec *AudioCodec = avcodec_find_decoder(FormatContext->streams[i]->codecpar->codec_id);
++ auto *AudioCodec = avcodec_find_decoder(FormatContext->streams[i]->codecpar->codec_id);
+ if (AudioCodec == nullptr)
+ throw FFMS_Exception(FFMS_ERROR_CODEC, FFMS_ERROR_UNSUPPORTED,
+ "Audio codec not found");
+@@ -458,32 +458,36 @@ FFMS_Index *FFMS_Indexer::DoIndexing() {
+ }
+ }
+
+- AVPacket Packet;
+- InitNullPacket(Packet);
++ AVPacket *Packet = av_packet_alloc();
++ if (!Packet)
++ throw FFMS_Exception(FFMS_ERROR_CODEC, FFMS_ERROR_ALLOCATION_FAILED,
++ "Could not allocate packet.");
+ std::vector<int64_t> LastValidTS(FormatContext->nb_streams, AV_NOPTS_VALUE);
+
+ int64_t filesize = avio_size(FormatContext->pb);
+ enum AVPictureStructure LastPicStruct = AV_PICTURE_STRUCTURE_UNKNOWN;
+- while (av_read_frame(FormatContext, &Packet) >= 0) {
++ while (av_read_frame(FormatContext, Packet) >= 0) {
+ // Update progress
+ // FormatContext->pb can apparently be NULL when opening images.
+ if (IC && FormatContext->pb) {
+- if ((*IC)(FormatContext->pb->pos, filesize, ICPrivate))
++ if ((*IC)(FormatContext->pb->pos, filesize, ICPrivate)) {
++ av_packet_free(&Packet);
+ throw FFMS_Exception(FFMS_ERROR_CANCELLED, FFMS_ERROR_USER,
+ "Cancelled by user");
++ }
+ }
+- if (!IndexMask.count(Packet.stream_index)) {
+- av_packet_unref(&Packet);
++ if (!IndexMask.count(Packet->stream_index)) {
++ av_packet_unref(Packet);
+ continue;
+ }
+
+- int Track = Packet.stream_index;
++ int Track = Packet->stream_index;
+ FFMS_Track &TrackInfo = (*TrackIndices)[Track];
+- bool KeyFrame = !!(Packet.flags & AV_PKT_FLAG_KEY);
++ bool KeyFrame = !!(Packet->flags & AV_PKT_FLAG_KEY);
+ ReadTS(Packet, LastValidTS[Track], (*TrackIndices)[Track].UseDTS);
+
+ if (FormatContext->streams[Track]->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {
+- int64_t PTS = TrackInfo.UseDTS ? Packet.dts : Packet.pts;
++ int64_t PTS = TrackInfo.UseDTS ? Packet->dts : Packet->pts;
+ if (PTS == AV_NOPTS_VALUE) {
+ // VPx alt-refs are output as packets which lack timestmps or durations, since
+ // they are invisible. Currently, the timestamp mangling code in libavformat
+@@ -495,9 +499,11 @@ FFMS_Index *FFMS_Indexer::DoIndexing() {
+ // FFMS2 currently sorts packets by PTS, which will break decoding, otherwise.
+ bool HasAltRefs = (FormatContext->streams[Track]->codecpar->codec_id == AV_CODEC_ID_VP8 ||
+ FormatContext->streams[Track]->codecpar->codec_id == AV_CODEC_ID_VP9);
+- if (Packet.duration == 0 && !HasAltRefs)
++ if (Packet->duration == 0 && !HasAltRefs) {
++ av_packet_free(&Packet);
+ throw FFMS_Exception(FFMS_ERROR_INDEXING, FFMS_ERROR_PARSER,
+ "Invalid packet pts, dts, and duration");
++ }
+
+ if (TrackInfo.empty())
+ PTS = 0;
+@@ -513,7 +519,7 @@ FFMS_Index *FFMS_Indexer::DoIndexing() {
+ ParseVideoPacket(AVContexts[Track], Packet, &RepeatPict, &FrameType, &Invisible, &LastPicStruct);
+
+ TrackInfo.AddVideoFrame(PTS, RepeatPict, KeyFrame,
+- FrameType, Packet.pos, Invisible);
++ FrameType, Packet->pos, Invisible);
+ } else if (FormatContext->streams[Track]->codecpar->codec_type == AVMEDIA_TYPE_AUDIO) {
+ // For video seeking timestamps are used only if all packets have
+ // timestamps, while for audio they're used if any have timestamps,
+@@ -522,28 +528,29 @@ FFMS_Index *FFMS_Indexer::DoIndexing() {
+ TrackInfo.HasTS = true;
+
+ int64_t StartSample = AVContexts[Track].CurrentSample;
+- uint32_t SampleCount = IndexAudioPacket(Track, &Packet, AVContexts[Track], *TrackIndices);
++ uint32_t SampleCount = IndexAudioPacket(Track, Packet, AVContexts[Track], *TrackIndices);
+ TrackInfo.SampleRate = AVContexts[Track].CodecContext->sample_rate;
+
+ TrackInfo.AddAudioFrame(LastValidTS[Track],
+- StartSample, SampleCount, KeyFrame, Packet.pos, Packet.flags & AV_PKT_FLAG_DISCARD);
++ StartSample, SampleCount, KeyFrame, Packet->pos, Packet->flags & AV_PKT_FLAG_DISCARD);
+ }
+
+- if (!(Packet.flags & AV_PKT_FLAG_DISCARD))
+- TrackInfo.LastDuration = Packet.duration;
++ if (!(Packet->flags & AV_PKT_FLAG_DISCARD))
++ TrackInfo.LastDuration = Packet->duration;
+
+- av_packet_unref(&Packet);
++ av_packet_unref(Packet);
+ }
++ av_packet_free(&Packet);
+
+ TrackIndices->Finalize(AVContexts, FormatContext->iformat->name);
+ return TrackIndices.release();
+ }
+
+-void FFMS_Indexer::ReadTS(const AVPacket &Packet, int64_t &TS, bool &UseDTS) {
+- if (!UseDTS && Packet.pts != AV_NOPTS_VALUE)
+- TS = Packet.pts;
++void FFMS_Indexer::ReadTS(const AVPacket *Packet, int64_t &TS, bool &UseDTS) {
++ if (!UseDTS && Packet->pts != AV_NOPTS_VALUE)
++ TS = Packet->pts;
+ if (TS == AV_NOPTS_VALUE)
+ UseDTS = true;
+- if (UseDTS && Packet.dts != AV_NOPTS_VALUE)
+- TS = Packet.dts;
++ if (UseDTS && Packet->dts != AV_NOPTS_VALUE)
++ TS = Packet->dts;
+ }
+diff --git a/src/core/indexing.h b/src/core/indexing.h
+index 3cfc3c30b3..5c06868890 100644
+--- a/src/core/indexing.h
++++ b/src/core/indexing.h
+@@ -80,10 +80,10 @@ struct FFMS_Indexer {
+ int64_t Filesize;
+ uint8_t Digest[20];
+
+- void ReadTS(const AVPacket &Packet, int64_t &TS, bool &UseDTS);
++ void ReadTS(const AVPacket *Packet, int64_t &TS, bool &UseDTS);
+ void CheckAudioProperties(int Track, AVCodecContext *Context);
+ uint32_t IndexAudioPacket(int Track, AVPacket *Packet, SharedAVContext &Context, FFMS_Index &TrackIndices);
+- void ParseVideoPacket(SharedAVContext &VideoContext, AVPacket &pkt, int *RepeatPict, int *FrameType, bool *Invisible, enum AVPictureStructure *LastPicStruct);
++ void ParseVideoPacket(SharedAVContext &VideoContext, AVPacket *pkt, int *RepeatPict, int *FrameType, bool *Invisible, enum AVPictureStructure *LastPicStruct);
+ void Free();
+ public:
+ FFMS_Indexer(const char *Filename);
+diff --git a/src/core/utils.cpp b/src/core/utils.cpp
+index ce67533fd7..8a2e99710e 100644
+--- a/src/core/utils.cpp
++++ b/src/core/utils.cpp
+@@ -62,12 +62,6 @@ void ClearErrorInfo(FFMS_ErrorInfo *ErrorInfo) {
+ }
+ }
+
+-void InitNullPacket(AVPacket &pkt) {
+- av_init_packet(&pkt);
+- pkt.data = nullptr;
+- pkt.size = 0;
+-}
+-
+ void FillAP(FFMS_AudioProperties &AP, AVCodecContext *CTX, FFMS_Track &Frames) {
+ AP.SampleFormat = static_cast<FFMS_SampleFormat>(av_get_packed_sample_fmt(CTX->sample_fmt));
+ AP.BitsPerSample = av_get_bytes_per_sample(CTX->sample_fmt) * 8;
+diff --git a/src/core/utils.h b/src/core/utils.h
+index 9819dc7c9e..003ab794e9 100644
+--- a/src/core/utils.h
++++ b/src/core/utils.h
+@@ -58,7 +58,6 @@ std::unique_ptr<T> make_unique(Args&&... args) {
+ }
+
+ void ClearErrorInfo(FFMS_ErrorInfo *ErrorInfo);
+-void InitNullPacket(AVPacket &pkt);
+ void FillAP(FFMS_AudioProperties &AP, AVCodecContext *CTX, FFMS_Track &Frames);
+
+ void LAVFOpenFile(const char *SourceFile, AVFormatContext *&FormatContext, int Track);
+diff --git a/src/core/videosource.cpp b/src/core/videosource.cpp
+index 06bd1610e1..8956c22566 100644
+--- a/src/core/videosource.cpp
++++ b/src/core/videosource.cpp
+@@ -171,7 +171,7 @@ FFMS_VideoSource::FFMS_VideoSource(const char *SourceFile, FFMS_Index &Index, in
+
+ LAVFOpenFile(SourceFile, FormatContext, VideoTrack);
+
+- AVCodec *Codec = avcodec_find_decoder(FormatContext->streams[VideoTrack]->codecpar->codec_id);
++ auto *Codec = avcodec_find_decoder(FormatContext->streams[VideoTrack]->codecpar->codec_id);
+ if (Codec == nullptr)
+ throw FFMS_Exception(FFMS_ERROR_DECODING, FFMS_ERROR_CODEC,
+ "Video codec not found");
+@@ -673,30 +673,34 @@ void FFMS_VideoSource::DecodeNextFrame(int64_t &AStartTime, int64_t &Pos) {
+ if (HasPendingDelayedFrames())
+ return;
+
+- AVPacket Packet;
+- InitNullPacket(Packet);
++ AVPacket *Packet = av_packet_alloc();
++ if (!Packet)
++ throw FFMS_Exception(FFMS_ERROR_DECODING, FFMS_ERROR_ALLOCATION_FAILED,
++ "Could not allocate packet.");
+
+- while (ReadFrame(&Packet) >= 0) {
+- if (Packet.stream_index != VideoTrack) {
+- av_packet_unref(&Packet);
++ while (ReadFrame(Packet) >= 0) {
++ if (Packet->stream_index != VideoTrack) {
++ av_packet_unref(Packet);
+ continue;
+ }
+
+ if (AStartTime < 0)
+- AStartTime = Frames.UseDTS ? Packet.dts : Packet.pts;
++ AStartTime = Frames.UseDTS ? Packet->dts : Packet->pts;
+
+ if (Pos < 0)
+- Pos = Packet.pos;
++ Pos = Packet->pos;
+
+- bool FrameFinished = DecodePacket(&Packet);
+- av_packet_unref(&Packet);
+- if (FrameFinished)
++ bool FrameFinished = DecodePacket(Packet);
++ av_packet_unref(Packet);
++ if (FrameFinished) {
++ av_packet_free(&Packet);
+ return;
++ }
+ }
+
+ // Flush final frames
+- InitNullPacket(Packet);
+- DecodePacket(&Packet);
++ DecodePacket(Packet);
++ av_packet_free(&Packet);
+ }
+
+ bool FFMS_VideoSource::SeekTo(int n, int SeekOffset) {
diff --git a/testing/ffsend/APKBUILD b/testing/ffsend/APKBUILD
index 9032101fed0..47ce3dce0fc 100644
--- a/testing/ffsend/APKBUILD
+++ b/testing/ffsend/APKBUILD
@@ -1,41 +1,62 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ffsend
-pkgver=0.2.74
-pkgrel=1
+pkgver=0.2.76
+pkgrel=4
pkgdesc="A fully featured Firefox Send client"
url="https://gitlab.com/timvisee/ffsend"
-arch="all !mips !mips64 !ppc64le !s390x !riscv64" # limited by cargo, ring dep
+# riscv64: blocked by cargo
+arch="all !riscv64"
license="GPL-3.0-only"
-makedepends="cargo openssl-dev"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ "
subpackages="
$pkgname-zsh-completion
$pkgname-fish-completion
$pkgname-bash-completion
"
-source="https://gitlab.com/timvisee/ffsend/-/archive/v$pkgver/ffsend-v$pkgver.tar.gz"
+source="https://gitlab.com/timvisee/ffsend/-/archive/v$pkgver/ffsend-v$pkgver.tar.gz
+ wl-clipboard.patch
+ "
builddir="$srcdir/$pkgname-v$pkgver"
+# The default features with crypto-ring replaced with crypto-openssl.
+_cargo_opts="--frozen --no-default-features --features=archive,clipboard,crypto-openssl,history,infer-command,qrcode,send3,urlshortener"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --release --locked
+ cargo auditable build $_cargo_opts --release
}
check() {
- cargo test --release --locked
+ cargo test $_cargo_opts
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-
- install -Dm644 "$builddir"/contrib/completions/ffsend.bash \
- "$pkgdir"/usr/share/bash-completion/completions/ffsend
- install -Dm644 "$builddir"/contrib/completions/_ffsend \
- "$pkgdir"/usr/share/zsh/site-functions/_ffsend
- install -Dm644 "$builddir"/contrib/completions/ffsend.fish \
- "$pkgdir"/usr/share/fish/completions/ffsend.fish
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 contrib/completions/ffsend.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/ffsend
+ install -Dm644 contrib/completions/_ffsend \
+ -t "$pkgdir"/usr/share/zsh/site-functions/
+ install -Dm644 contrib/completions/ffsend.fish \
+ -t "$pkgdir"/usr/share/fish/vendor_completions.d/
+
+ # See infer-commands in the readme.
+ ln -s ffsend "$pkgdir"/usr/bin/ffget
+ ln -s ffsend "$pkgdir"/usr/bin/ffput
}
sha512sums="
-f959c4a6a10ff1cbbba2da5eda0305f0e5a93f3f6fb64290cdf886f6a76aa059b05026be97f99a80e3d4688e156063e36fca2f40e42fcbec1cc7a307cad54958 ffsend-v0.2.74.tar.gz
+3b4ee66725e9770497620f62d1012aa31c7e11b8b95d931d56bee3077556e743ae2b71f727403cf7f45a6809959815f3b3d94b041fdb5530713b76e00541139c ffsend-v0.2.76.tar.gz
+c16c58671da3c96ee64880366eafc070245d9c50806d192b195f77a4442216eaa24d035467e1e02f4e7622e7be431de8190ad5920672054d0889b7703159f9fc wl-clipboard.patch
"
diff --git a/testing/ffsend/wl-clipboard.patch b/testing/ffsend/wl-clipboard.patch
new file mode 100644
index 00000000000..4bfc70995b9
--- /dev/null
+++ b/testing/ffsend/wl-clipboard.patch
@@ -0,0 +1,159 @@
+Patch-Source: https://gitlab.com/timvisee/ffsend/-/merge_requests/40
+--
+From 1de1b3a8572b48fb5041ba36af81495efcf81515 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sun, 9 Oct 2022 19:49:46 +0200
+Subject: [PATCH] Add support for clipboard on Wayland using wl-copy(1)
+
+wl-copy(1) from the wl-clipboard package is equivalent of xcopy(1)
+on Wayland desktops.
+---
+ Cargo.toml | 2 +-
+ README.md | 8 ++++----
+ build.rs | 3 ++-
+ src/util.rs | 36 +++++++++++++++++++++++++++++++-----
+ 4 files changed, 38 insertions(+), 11 deletions(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index b91b9cd..e434248 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -98,7 +98,7 @@ infer-command = []
+ # Compile without colored output support
+ no-color = ["colored/no-color"]
+
+-# Automatic using build.rs: use xclip/xsel binary method for clipboard support
++# Automatic using build.rs: use wl-copy/xclip/xsel binary method for clipboard support
+ clipboard-bin = ["clipboard"]
+
+ # Automatic using build.rs: use native clipboard crate for clipboard support
+diff --git a/README.md b/README.md
+index cc9caf0..257cfee 100644
+--- a/README.md
++++ b/README.md
+@@ -140,10 +140,10 @@ all available subcommands.
+ - Linux:
+ - OpenSSL & CA certificates:
+ - Ubuntu, Debian and derivatives: `apt install openssl ca-certificates`
+- - Optional: `xclip` or `xsel` for clipboard support
+- - Ubuntu, Debian and derivatives: `apt install xclip`
+- - CentOS/Red Hat/openSUSE/Fedora: `yum install xclip`
+- - Arch: `pacman -S xclip`
++ - Optional: `wl-copy` (on Wayland), `xclip` (on Xorg) or `xsel` (on Xorg) for clipboard support
++ - Ubuntu, Debian and derivatives: `apt install wl-clipboard` or `apt install xclip`
++ - CentOS/Red Hat/openSUSE/Fedora: `yum install wl-clipboard` or `yum install xclip`
++ - Arch: `pacman -S wl-clipboard` or `pacman -S xclip`
+ - Windows specific:
+ - Optional OpenSSL with `crypto-openssl` feature: [» Installer][openssl-windows-installer] (`v1.1.0j` or above)
+ - macOS specific:
+diff --git a/build.rs b/build.rs
+index 32b3d32..dd4006c 100644
+--- a/build.rs
++++ b/build.rs
+@@ -14,7 +14,8 @@ fn main() {
+ #[cfg(not(feature = "clipboard-crate"))]
+ println!("cargo:rustc-cfg=feature=\"clipboard-bin\"");
+
+- // xclip and xsel paths are inserted at compile time
++ // wl-copy, xclip and xsel paths are inserted at compile time
++ println!("cargo:rerun-if-env-changed=WL_COPY_PATH");
+ println!("cargo:rerun-if-env-changed=XCLIP_PATH");
+ println!("cargo:rerun-if-env-changed=XSEL_PATH");
+ }
+diff --git a/src/util.rs b/src/util.rs
+index d4dad97..d7e6237 100644
+--- a/src/util.rs
++++ b/src/util.rs
+@@ -327,6 +327,12 @@ pub enum ClipboardType {
+ #[cfg(feature = "clipboard-crate")]
+ Native,
+
++ /// Manage clipboard through `wl-copy` (wl-clipboard) on Linux.
++ ///
++ /// May contain a binary path if specified at compile time through the `WL_COPY_PATH` variable.
++ #[cfg(feature = "clipboard-bin")]
++ Wlcopy(Option<String>),
++
+ /// Manage clipboard through `xclip` on Linux.
+ ///
+ /// May contain a binary path if specified at compile time through the `XCLIP_PATH` variable.
+@@ -351,10 +357,14 @@ impl ClipboardType {
+
+ #[cfg(feature = "clipboard-bin")]
+ {
+- if let Some(path) = option_env!("XCLIP_PATH") {
++ if let Some(path) = option_env!("WL_COPY_PATH") {
++ ClipboardType::Wlcopy(Some(path.to_owned()))
++ } else if let Some(path) = option_env!("XCLIP_PATH") {
+ ClipboardType::Xclip(Some(path.to_owned()))
+ } else if let Some(path) = option_env!("XSEL_PATH") {
+ ClipboardType::Xsel(Some(path.to_owned()))
++ } else if which("wl-copy").is_ok() {
++ ClipboardType::Wlcopy(None)
+ } else if which("xclip").is_ok() {
+ ClipboardType::Xclip(None)
+ } else if which("xsel").is_ok() {
+@@ -372,6 +382,8 @@ impl ClipboardType {
+ #[cfg(feature = "clipboard-crate")]
+ ClipboardType::Native => Self::native_set(content),
+ #[cfg(feature = "clipboard-bin")]
++ ClipboardType::Wlcopy(path) => Self::wlcopy_set(path.clone(), &content),
++ #[cfg(feature = "clipboard-bin")]
+ ClipboardType::Xclip(path) => Self::xclip_set(path.clone(), &content),
+ #[cfg(feature = "clipboard-bin")]
+ ClipboardType::Xsel(path) => Self::xsel_set(path.clone(), &content),
+@@ -389,6 +401,15 @@ impl ClipboardType {
+ .map_err(ClipboardError::Native)
+ }
+
++ #[cfg(feature = "clipboard-bin")]
++ fn wlcopy_set(path: Option<String>, content: &str) -> Result<(), ClipboardError> {
++ Self::sys_cmd_set(
++ "wl-copy",
++ &mut Command::new(path.unwrap_or_else(|| "wl-copy".into())),
++ content,
++ )
++ }
++
+ #[cfg(feature = "clipboard-bin")]
+ fn xclip_set(path: Option<String>, content: &str) -> Result<(), ClipboardError> {
+ Self::sys_cmd_set(
+@@ -456,6 +477,11 @@ impl fmt::Display for ClipboardType {
+ #[cfg(feature = "clipboard-crate")]
+ ClipboardType::Native => write!(f, "native"),
+ #[cfg(feature = "clipboard-bin")]
++ ClipboardType::Wlcopy(path) => match path {
++ None => write!(f, "wl-copy"),
++ Some(path) => write!(f, "wl-copy ({})", path),
++ },
++ #[cfg(feature = "clipboard-bin")]
+ ClipboardType::Xclip(path) => match path {
+ None => write!(f, "xclip"),
+ Some(path) => write!(f, "xclip ({})", path),
+@@ -479,19 +505,19 @@ pub enum ClipboardError {
+ #[fail(display = "failed to access clipboard")]
+ Native(#[cause] Compat<Error>),
+
+- /// The `xclip` or `xsel` binary could not be found on the system, required for clipboard support.
++ /// The `wl-copy`, `xclip` or `xsel` binary could not be found on the system, required for clipboard support.
+ #[cfg(feature = "clipboard-bin")]
+- #[fail(display = "failed to access clipboard, xclip or xsel is not installed")]
++ #[fail(display = "failed to access clipboard, neither wl-copy, xclip nor xsel is installed")]
+ NoBinary,
+
+- /// An error occurred while using `xclip` or `xsel` to set the clipboard contents.
++ /// An error occurred while using `wl-copy`, `xclip` or `xsel` to set the clipboard contents.
+ /// This problem probably occurred when starting, or while piping the clipboard contents to
+ /// the process.
+ #[cfg(feature = "clipboard-bin")]
+ #[fail(display = "failed to access clipboard using {}", _0)]
+ BinaryIo(&'static str, #[cause] IoError),
+
+- /// `xclip` or `xsel` unexpectedly exited with a non-successful status code.
++ /// `wl-copy`, `xclip` or `xsel` unexpectedly exited with a non-successful status code.
+ #[cfg(feature = "clipboard-bin")]
+ #[fail(
+ display = "failed to use clipboard, {} exited with status code {}",
+--
+GitLab
+
diff --git a/testing/fheroes2/APKBUILD b/testing/fheroes2/APKBUILD
new file mode 100644
index 00000000000..c49ee8c0963
--- /dev/null
+++ b/testing/fheroes2/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: ovf <ovf@mm.st>
+pkgname=fheroes2
+pkgver=1.0.13
+pkgrel=0
+pkgdesc="Recreation of Heroes of Might and Magic II game engine"
+url="https://github.com/ihhub/fheroes2"
+arch="all"
+license="GPL-2.0-only"
+options="!check" # no test suite
+makedepends="
+ gettext
+ gnu-libiconv
+ sed
+ sdl2-dev
+ sdl2_image-dev
+ sdl2_mixer-dev
+ zlib-dev
+ "
+subpackages="$pkgname-lang"
+source="https://github.com/ihhub/fheroes2/archive/$pkgver/fheroes2-$pkgver.tar.gz"
+install="$pkgname.post-install"
+langdir="/usr/share/$pkgname/files/lang"
+
+build() {
+ make FHEROES2_WITH_IMAGE=1 FHEROES2_DATA=/usr/share/fheroes2
+ # Use GNU iconv instead of musl-based one, because this project uses
+ # TRANSLIT iconv extension which is not present in musl implementation.
+ make -C files/lang ICONV=gnu-iconv
+}
+
+package() {
+ install -Dm755 src/dist/fheroes2 -t "$pkgdir"/usr/bin/
+ install -Dm644 script/packaging/common/fheroes2.desktop -t "$pkgdir"/usr/share/applications/
+ install -Dm644 files/data/*.h2d -t "$pkgdir"/usr/share/"$pkgname"/files/data/
+ install -Dm644 files/lang/*.mo -t "$pkgdir"/usr/share/"$pkgname"/files/lang/
+ install -Dm755 script/demo/download_demo_version.sh -t "$pkgdir"/usr/share/"$pkgname"/
+ install -Dm755 script/homm2/extract_homm2_resources.sh -t "$pkgdir"/usr/share/"$pkgname"/
+ install -Dm644 src/resources/fheroes2.png -t "$pkgdir"/usr/share/pixmaps/
+ install -dm755 "$pkgdir"/usr/share/fheroes2/data
+ install -dm755 "$pkgdir"/usr/share/fheroes2/maps
+}
+
+sha512sums="
+989b71ad6f217c5283441392e5a4bdee8b49d07261dba05372e185dbee239f4bb7b75290ca0b86fbf3dbf98edfaaca6234adc7e0483495ea799bf1636af3f6bc fheroes2-1.0.13.tar.gz
+"
diff --git a/testing/fheroes2/fheroes2.post-install b/testing/fheroes2/fheroes2.post-install
new file mode 100644
index 00000000000..9c89f43bf81
--- /dev/null
+++ b/testing/fheroes2/fheroes2.post-install
@@ -0,0 +1,14 @@
+#!/bin/sh
+cat <<EOF
+*
+* Attention! This installation doesn't provide game resources!
+*
+* To be able to play the game you have to extract resources from the original
+* distribution of Heroes of Might and Magic II using the script located at:
+* /usr/share/fheroes2/extract_homm2_resources.sh
+*
+* If you don't have the original distribution of Heroes of Might and Magic II
+* you can download a free demo version of the game using the script located at:
+* /usr/share/fheroes2/download_demo_version.sh
+*
+EOF
diff --git a/testing/fiery/APKBUILD b/testing/fiery/APKBUILD
new file mode 100644
index 00000000000..85dfc38cad9
--- /dev/null
+++ b/testing/fiery/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: psykose <alice@ayaya.ev>
+# Maintainer: team/kde <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=maui
+pkgname=fiery
+pkgver=1.1.2
+pkgrel=1
+pkgdesc="KDE Convergent web browser"
+url="https://invent.kde.org/maui/fiery"
+# all other arches blocked by qt5-qtwebengine
+arch="x86_64 x86 aarch64"
+license="LicenseRef-KDE-Accepted-LGPL"
+depends="mauikit-filebrowsing"
+makedepends="
+ cmake
+ extra-cmake-modules
+ kcoreaddons5-dev
+ ki18n5-dev
+ mauikit-dev
+ mauikit-filebrowsing-dev
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ qt5-qtwebengine-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+_repo_url="https://invent.kde.org/maui/fiery.git"
+source="https://invent.kde.org/maui/fiery/-/archive/v$pkgver/fiery-v$pkgver.tar.gz"
+builddir="$srcdir/fiery-v$pkgver"
+options="!check" # no tests
+
+provides="kde-sol=$pkgver-r$pkgrel kde-fiery=$pkgver-r$pkgrel"
+replaces="kde-sol kde-fiery"
+
+build() {
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+7064c3a2a2bc186cc7daab60400be7816fb0f332572a4c804009bb74a2c0bfd284af015811caa9d860318fe8d14c9e1dbb287423cc8cb59f43bee87202d7f52c fiery-v1.1.2.tar.gz
+"
diff --git a/testing/fig2dev/APKBUILD b/testing/fig2dev/APKBUILD
index 665d513526f..59ad47f0f6f 100755..100644
--- a/testing/fig2dev/APKBUILD
+++ b/testing/fig2dev/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=fig2dev
-pkgver=3.2.8
+pkgver=3.2.8b
pkgrel=0
pkgdesc="translates Fig code to other graphic description languages"
-url="https://mcj.sourceforge.net/"
+url="https://sourceforge.net/projects/mcj/"
arch="all"
license="MIT"
makedepends="
@@ -18,6 +18,11 @@ makedepends="
subpackages="$pkgname-doc"
source="https://downloads.sourceforge.net/mcj/fig2dev-$pkgver.tar.xz"
+# secfixes:
+# 3.2.8b-r0:
+# - CVE-2021-37529
+# - CVE-2021-37530
+
build() {
./configure \
--build=$CBUILD \
@@ -57,4 +62,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4958e97cecd651a15f25cfc27ae55fa05ae628ae4257d1eb454cba60da26a907a5dddf5736bee9145007f5e0bf251fd52924ae09e5f87b95f287bab4c9da04f5 fig2dev-3.2.8.tar.xz"
+sha512sums="
+b1f083db6c38d84e1df82c430fabda5ad13413e4d42eb20b6fd06fae5626911413c93846b7935873687b82f601e0674c3f3e1d36441dcfa1da6626bafc9d2139 fig2dev-3.2.8b.tar.xz
+"
diff --git a/testing/filebeat/APKBUILD b/testing/filebeat/APKBUILD
deleted file mode 100644
index a3775d27c9e..00000000000
--- a/testing/filebeat/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
-# Contributor: Ramanathan Sivagurunathan <ramzthecoder@gmail.com>
-# Maintainer: Ramanathan Sivagurunathan <ramzthecoder@gmail.com>
-pkgname=filebeat
-pkgver=7.14.0
-pkgrel=3
-pkgdesc="Lightweight Shipper for Logs"
-pkgusers="root"
-url="https://www.elastic.co/products/beats"
-# riscv64: https://github.com/elastic/go-concert/issues/51
-arch="all !armhf !armv7 !aarch64 !mips !mips64 !riscv64"
-license="Apache-2.0"
-makedepends="go"
-subpackages="$pkgname-openrc"
-options="!check chmod-clean" # No test suite
-source="beats-$pkgver.tar.gz::https://github.com/elastic/beats/archive/v$pkgver.tar.gz
- filebeat.initd
- filebeat.confd
- filebeat.yml
- "
-builddir="$srcdir/src/github.com/elastic/beats/$pkgname"
-
-prepare() {
- mkdir -p "$srcdir/src/github.com/elastic/"
- mv "$srcdir/beats-$pkgver" "$srcdir/src/github.com/elastic/beats"
- default_prepare
-}
-
-build() {
- GOPATH="$srcdir" go build -v
-}
-
-package() {
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
- install -Dm644 "$srcdir/filebeat.yml" "$pkgdir/etc/$pkgname/filebeat.yml"
- install -Dm755 "$builddir/filebeat" "$pkgdir/usr/bin/filebeat"
-}
-
-sha512sums="
-78032aebcd5f012a3c348c45440a9bb0509cc76e576ac99a9017294f18aedcadff7b24775abbcfaa96cf72293e2dc4445177aef6f3d48e1fa69f29b9b9972336 beats-7.14.0.tar.gz
-782ea2a2a5056e9e4d2e4ef6bb3f416b4ab0aba8486a7115e586b735478b53f75246af8ac5a6e10f93da6773854220dec7125396fa2fc24edeb1ddc0ea2f4ba1 filebeat.initd
-d39f6264d44d34958f005652cae6ffeed3bb66aea7694c5cd1c9d1e00befda946522d54d7138d7bafa30314588bc44b84f12b5bb1beac65553b69de3d91c34ad filebeat.confd
-b0d5fa1d37041a4f1383451107abcdab1ce15ed537f702f55756f59c2110445dcddaf7c58f2a0561e18b83e3cab72fceb9d931bae9267f1acd9d35135555d6f7 filebeat.yml
-"
diff --git a/testing/filebeat/filebeat.confd b/testing/filebeat/filebeat.confd
deleted file mode 100644
index f5c161f935a..00000000000
--- a/testing/filebeat/filebeat.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# FileBeat startup
-filebeat_opts="run -c /etc/filebeat/filebeat.yml -e"
diff --git a/testing/filebeat/filebeat.initd b/testing/filebeat/filebeat.initd
deleted file mode 100644
index ff34fc0f02b..00000000000
--- a/testing/filebeat/filebeat.initd
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/sbin/openrc-run
-
-FILEBEAT_LOG_FILE="/var/log/${SVCNAME}.log"
-
-name=filebeat
-description="Beats - Lightweight shippers for Elasticsearch & Logstash"
-description_checkconfig="Verify configuration file"
-daemon=/usr/bin/$name
-extra_commands="checkconfig"
-
-start_pre() {
- checkpath -f -m 0644 "$FILEBEAT_LOG_FILE"
-}
-
-depend() {
- need net
- after firewall
-}
-
-checkconfig() {
- filebeat test config -c /etc/filebeat/filebeat.yml
-}
-
-start() {
- checkconfig || return 1
-
-ebegin "Starting ${name}"
- start-stop-daemon --start --quiet \
- -m --pidfile /var/run/${name}.pid \
- -b --stdout $FILEBEAT_LOG_FILE --stderr $FILEBEAT_LOG_FILE \
- --exec ${daemon} -- ${filebeat_opts}
- eend $?
-}
-
-stop() {
- ebegin "Stopping ${name}"
- start-stop-daemon --stop --quiet \
- --pidfile /var/run/${name}.pid \
- --exec ${daemon}
- eend $?
-}
-
diff --git a/testing/filebeat/filebeat.yml b/testing/filebeat/filebeat.yml
deleted file mode 100644
index 6533f9d3590..00000000000
--- a/testing/filebeat/filebeat.yml
+++ /dev/null
@@ -1,119 +0,0 @@
-###################### Filebeat Configuration Example #########################
-
-# This file is an example configuration file highlighting only the most common
-# options. The filebeat.full.yml file from the same directory contains all the
-# supported options with more comments. You can use it as a reference.
-#
-# You can find the full configuration reference here:
-# https://www.elastic.co/guide/en/beats/filebeat/index.html
-
-
-path.config: /etc/filebeat
-path.data: /var/lib/filebeat
-path.logs: /var/log/filebeat
-
-#=========================== Filebeat prospectors =============================
-
-filebeat.prospectors:
-
-# Each - is a prospector. Most options can be set at the prospector level, so
-# you can use different prospectors for various configurations.
-# Below are the prospector specific configurations.
-
-- input_type: log
-
- # Paths that should be crawled and fetched. Glob based paths.
- paths:
- - /var/log/*.log
- #- c:\programdata\elasticsearch\logs\*
-
- # Exclude lines. A list of regular expressions to match. It drops the lines that are
- # matching any regular expression from the list.
- #exclude_lines: ["^DBG"]
-
- # Include lines. A list of regular expressions to match. It exports the lines that are
- # matching any regular expression from the list.
- #include_lines: ["^ERR", "^WARN"]
-
- # Exclude files. A list of regular expressions to match. Filebeat drops the files that
- # are matching any regular expression from the list. By default, no files are dropped.
- #exclude_files: [".gz$"]
-
- # Optional additional fields. These field can be freely picked
- # to add additional information to the crawled log files for filtering
- #fields:
- # level: debug
- # review: 1
-
- ### Multiline options
-
- # Mutiline can be used for log messages spanning multiple lines. This is common
- # for Java Stack Traces or C-Line Continuation
-
- # The regexp Pattern that has to be matched. The example pattern matches all lines starting with [
- #multiline.pattern: ^\[
-
- # Defines if the pattern set under pattern should be negated or not. Default is false.
- #multiline.negate: false
-
- # Match can be set to "after" or "before". It is used to define if lines should be append to a pattern
- # that was (not) matched before or after or as long as a pattern is not matched based on negate.
- # Note: After is the equivalent to previous and before is the equivalent to to next in Logstash
- #multiline.match: after
-
-
-#================================ General =====================================
-
-# The name of the shipper that publishes the network data. It can be used to group
-# all the transactions sent by a single shipper in the web interface.
-#name:
-
-# The tags of the shipper are included in their own field with each
-# transaction published.
-#tags: ["service-X", "web-tier"]
-
-# Optional fields that you can specify to add additional information to the
-# output.
-#fields:
-# env: staging
-
-#================================ Outputs =====================================
-
-# Configure what outputs to use when sending the data collected by the beat.
-# Multiple outputs may be used.
-
-#-------------------------- Elasticsearch output ------------------------------
-output.elasticsearch:
- # Array of hosts to connect to.
- hosts: ["localhost:9200"]
-
- # Optional protocol and basic auth credentials.
- #protocol: "https"
- #username: "elastic"
- #password: "changeme"
-
-#----------------------------- Logstash output --------------------------------
-#output.logstash:
- # The Logstash hosts
- #hosts: ["localhost:5044"]
-
- # Optional SSL. By default is off.
- # List of root certificates for HTTPS server verifications
- #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
-
- # Certificate for SSL client authentication
- #ssl.certificate: "/etc/pki/client/cert.pem"
-
- # Client Certificate Key
- #ssl.key: "/etc/pki/client/cert.key"
-
-#================================ Logging =====================================
-
-# Sets log level. The default log level is info.
-# Available log levels are: critical, error, warning, info, debug
-#logging.level: debug
-
-# At debug level, you can selectively enable logging only for some components.
-# To enable all selectors use ["*"]. Examples of other selectors are "beat",
-# "publish", "service".
-#logging.selectors: ["*"]
diff --git a/testing/filebrowser/APKBUILD b/testing/filebrowser/APKBUILD
new file mode 100644
index 00000000000..c87e8989f04
--- /dev/null
+++ b/testing/filebrowser/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Hugo Rodrigues <hugorodrigues@hugorodrigues.xyz>
+pkgname=filebrowser
+pkgver=2.27.0
+pkgrel=2
+pkgdesc="Web File Browser"
+url="https://github.com/filebrowser/filebrowser"
+arch="x86_64"
+license="Apache-2.0"
+makedepends="go npm"
+pkgusers="$pkgname"
+pkggroups="$pkgname"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/filebrowser/filebrowser/archive/refs/tags/v$pkgver.tar.gz
+ filebrowser.initd
+ filebrowser.confd
+ "
+
+prepare() {
+ default_prepare
+
+ # Set binary version inside go
+ sed -i "s/(untracked)/$pkgver/g" version/version.go
+}
+
+build() {
+ cd frontend
+ npm ci
+ # ancient webpack
+ NODE_OPTIONS="--openssl-legacy-provider" \
+ npm run build
+
+ cd "$builddir"
+ go build
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 filebrowser -t "$pkgdir"/usr/bin/
+ install -Dm 644 "$srcdir"/filebrowser.confd "$pkgdir"/etc/conf.d/filebrowser
+ install -Dm 755 "$srcdir"/filebrowser.initd "$pkgdir"/etc/init.d/filebrowser
+ install -dDm 770 -o $pkgusers -g $pkggroups "$pkgdir"/var/lib/$pkgname
+ install -dDm 770 -o $pkgusers -g $pkggroups "$pkgdir"/var/lib/$pkgname/data
+}
+
+sha512sums="
+43b76528694fad62d3572d5d35b54b8a9bb3328e3f2f0a3c36a3ac524d35c6c6132c8e2281bb8a9c038f6398c92861c147fe3216eb82fdb9d8217aa6c21c0b78 filebrowser-2.27.0.tar.gz
+381cabc633f5076e46e32c5b69aca5b4c82fc227b4cbfef4d0f710db9d9a5db46dc8f29c1641f4af20fb6dc70eb33d2af63d93e194ccc2e94a6c9fae8c7f9906 filebrowser.initd
+2d95fe1cef5f5a1a76448a25bed6d66d996b4a3cf6852dd7c8a63c52efc05dfff41bb7e0db20ec344c5389110852d5949131bc0a02fa3c2a48654b27a568dd7c filebrowser.confd
+"
diff --git a/testing/filebrowser/filebrowser.confd b/testing/filebrowser/filebrowser.confd
new file mode 100644
index 00000000000..e9489664e83
--- /dev/null
+++ b/testing/filebrowser/filebrowser.confd
@@ -0,0 +1 @@
+command_args="--database /var/lib/filebrowser/database.db --log /var/log/filebrowser.log --root /var/lib/filebrowser/data"
diff --git a/testing/filebrowser/filebrowser.initd b/testing/filebrowser/filebrowser.initd
new file mode 100644
index 00000000000..076c894381b
--- /dev/null
+++ b/testing/filebrowser/filebrowser.initd
@@ -0,0 +1,13 @@
+#!/sbin/openrc-run
+
+description="filebrowser server"
+command="/usr/bin/filebrowser"
+command_args="$command_args"
+command_background=true
+command_user="filebrowser:filebrowser"
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/filebrowser/filebrowser.pre-install b/testing/filebrowser/filebrowser.pre-install
new file mode 100644
index 00000000000..19df8aaa48c
--- /dev/null
+++ b/testing/filebrowser/filebrowser.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+addgroup -S filebrowser 2> /dev/null
+adduser -S -D -H -s /sbin/nologin -G filebrowser -g filebrowser filebrowser 2> /dev/null
+exit 0
diff --git a/testing/fileshelter/APKBUILD b/testing/fileshelter/APKBUILD
index c5498e3356e..3ea73fe2b5b 100644
--- a/testing/fileshelter/APKBUILD
+++ b/testing/fileshelter/APKBUILD
@@ -1,13 +1,13 @@
-# Contributor: Kevin Thomas <me@kevinthomas.dev>
-# Maintainer: Kevin Thomas <me@kevinthomas.dev>
+# Contributor: Kay Thomas <kaythomas@pm.me>
+# Maintainer: Kay Thomas <kaythomas@pm.me>
pkgname=fileshelter
-pkgver=5.1.0
-pkgrel=0
+pkgver=5.1.2
+pkgrel=3
pkgdesc="One-click file sharing web application"
url="https://github.com/epoupon/fileshelter"
arch="all"
license="GPL-3.0-or-later"
-makedepends="cmake boost-dev libconfig-dev wt-dev"
+makedepends="cmake boost-dev libconfig-dev wt-dev samurai"
subpackages="$pkgname-openrc"
pkgusers="fileshelter"
pkggroups="fileshelter"
@@ -19,14 +19,14 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/epoupon/fileshelter/archive/
options="!check" # No testsuite
build() {
- cmake . \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr
- make
+ cmake --build build
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
install -dm755 -o fileshelter -g fileshelter \
"$pkgdir"/var/fileshelter
@@ -41,7 +41,7 @@ package() {
}
sha512sums="
-63beb1b4f5ae1c75760cbfaa96d293166bbd6b049fadca2b2b29175fb15c69ac61123c9317ca79d0611e01e84a19eafa991036bfe77eeac5e095f9c8262c2833 fileshelter-5.1.0.tar.gz
+722786950d2893a8a0da50bb47fd28bd9b9313cca7bbb7ada5fbf79900733bed89cf8171d817d17a52dc0fcf6a2058cd00ced33cda4e0cbfb90d280a89dda718 fileshelter-5.1.2.tar.gz
a1ef635d1f7ee82abc4abf5d1d0253515308923e7443e86faa34be14af1056714c204da5d9a2a3162595ad9395e66f2452df87487dce0f1e97d460c794d9dbbc std-optional.patch
56051559c91d5c269f8e945445aab3e48de7f3593b7321e6556aee87c458091cfaf14a220a0a8bbb5aa8f682fe1ebd289cfb8dd21b0f3eeb881268f28d84c115 fileshelter.initd
"
diff --git a/testing/filite/APKBUILD b/testing/filite/APKBUILD
index 8bdd6f83872..6f1a924b3c7 100644
--- a/testing/filite/APKBUILD
+++ b/testing/filite/APKBUILD
@@ -2,27 +2,38 @@
# Maintainer: guddaff <guddaff@protonmail.com>
pkgname=filite
pkgver=0.3.0
-pkgrel=0
+pkgrel=2
pkgdesc="simple and light pastebin"
url="https://github.com/raftario/filite"
arch="x86_64 armv7 armhf aarch64 x86" # limited by rust/cargo
license="MIT"
-makedepends="cargo"
-source="$pkgname-$pkgver.tar.gz::https://github.com/raftario/filite/archive/refs/tags/v$pkgver.tar.gz"
+makedepends="cargo sqlite-dev cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/raftario/filite/archive/refs/tags/v$pkgver.tar.gz
+ fix-build.patch
+ system-sqlite.patch
+ "
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
build() {
- cargo build --release --locked
+ cargo auditable build --release --frozen
}
check() {
- cargo test --release --locked
+ cargo test --frozen
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
+ install -Dm755 target/release/filite -t "$pkgdir"/usr/bin/
}
sha512sums="
9d55a28e3578a8ef010ef184b517de3b59753a1058d82970ad8ff178d219e182eeaa4d31f38330735bddb89dbfbf297229026a69191c8a90c94f2e1dfda06106 filite-0.3.0.tar.gz
+994cd9439016cb5c20f06e5b7a16d9b17edfcf43872e2277b3ec87654f4350dd1e0d45c19f6dfad0b85a6e74090ce6327520fe2a0168e29ac2d3d7868b87365d fix-build.patch
+dfdfb3c75383876bb16e60ba5b035e76adf3851c30603648b643ebc5c6be2b98097ff39c1e5f2c808662fb49000513997a96bd4b14899a704c19ba330d092a6b system-sqlite.patch
"
diff --git a/testing/filite/fix-build.patch b/testing/filite/fix-build.patch
new file mode 100644
index 00000000000..165d6d3fce6
--- /dev/null
+++ b/testing/filite/fix-build.patch
@@ -0,0 +1,3110 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index f50033b..807f0eb 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,2262 +1,2267 @@
+ # This file is automatically @generated by Cargo.
+ # It is not intended for manual editing.
++version = 3
++
+ [[package]]
+ name = "actix-codec"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09e55f0a5c2ca15795035d90c46bd0e73a5123b72f68f12596d6ba5282051380"
+ dependencies = [
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "bytes",
++ "futures-core",
++ "futures-sink",
++ "log",
++ "tokio",
++ "tokio-util",
+ ]
+
+ [[package]]
+ name = "actix-connect"
+ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1f2b61480a8d30c94d5c883d79ef026b02ad6809931b0a4bb703f9545cd8c986"
+ dependencies = [
+- "actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-utils 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "trust-dns-proto 0.18.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "trust-dns-resolver 0.18.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-codec",
++ "actix-rt",
++ "actix-service",
++ "actix-utils",
++ "derive_more",
++ "either",
++ "futures",
++ "http",
++ "log",
++ "trust-dns-proto",
++ "trust-dns-resolver",
+ ]
+
+ [[package]]
+ name = "actix-files"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "301482841d3d74483a446ead63cb7d362e187d2c8b603f13d91995621ea53c46"
+ dependencies = [
+- "actix-http 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-web 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "v_htmlescape 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-http",
++ "actix-service",
++ "actix-web",
++ "bitflags",
++ "bytes",
++ "derive_more",
++ "futures",
++ "log",
++ "mime",
++ "mime_guess",
++ "percent-encoding",
++ "v_htmlescape",
+ ]
+
+ [[package]]
+ name = "actix-http"
+ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c16664cc4fdea8030837ad5a845eb231fb93fc3c5c171edfefb52fad92ce9019"
+ dependencies = [
+- "actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-connect 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-threadpool 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-utils 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "copyless 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ring 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-codec",
++ "actix-connect",
++ "actix-rt",
++ "actix-service",
++ "actix-threadpool",
++ "actix-utils",
++ "base64 0.11.0",
++ "bitflags",
++ "brotli2",
++ "bytes",
++ "chrono",
++ "copyless",
++ "derive_more",
++ "either",
++ "encoding_rs",
++ "failure",
++ "flate2",
++ "futures-channel",
++ "futures-core",
++ "futures-util",
++ "fxhash",
++ "h2",
++ "http",
++ "httparse",
++ "indexmap",
++ "language-tags",
++ "lazy_static",
++ "log",
++ "mime",
++ "percent-encoding",
++ "pin-project",
++ "rand",
++ "regex",
++ "ring",
++ "serde",
++ "serde_json",
++ "serde_urlencoded",
++ "sha1",
++ "slab",
++ "time",
+ ]
+
+ [[package]]
+ name = "actix-identity"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2a379b0639c293292d71defb8cc1f94c87b7705c904adf044338ad392df77c7a"
+ dependencies = [
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-web 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-service",
++ "actix-web",
++ "futures",
++ "serde",
++ "serde_json",
++ "time",
+ ]
+
+ [[package]]
+ name = "actix-macros"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "21705adc76bbe4bc98434890e73a89cd00c6015e5704a60bb6eea6c3b72316b6"
+ dependencies = [
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "actix-multipart"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4397935fca2a37a5353f94faa758fb176712806f605466b5a60373b204f0d836"
+ dependencies = [
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-utils 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-web 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "twoway 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-service",
++ "actix-utils",
++ "actix-web",
++ "bytes",
++ "derive_more",
++ "futures",
++ "httparse",
++ "log",
++ "mime",
++ "time",
++ "twoway",
+ ]
+
+ [[package]]
+ name = "actix-router"
+ version = "0.2.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d7a10ca4d94e8c8e7a87c5173aba1b97ba9a6563ca02b0e1cd23531093d3ec8"
+ dependencies = [
+- "bytestring 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytestring",
++ "http",
++ "log",
++ "regex",
++ "serde",
+ ]
+
+ [[package]]
+ name = "actix-rt"
+ version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f6a0a55507046441a496b2f0d26a84a65e67c8cafffe279072412f624b5fb6d"
+ dependencies = [
+- "actix-macros 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-threadpool 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "copyless 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-macros",
++ "actix-threadpool",
++ "copyless",
++ "futures",
++ "tokio",
+ ]
+
+ [[package]]
+ name = "actix-server"
+ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "51d3455eaac03ca3e49d7b822eb35c884b861f715627254ccbe4309d08f1841a"
+ dependencies = [
+- "actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-utils 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-codec",
++ "actix-rt",
++ "actix-service",
++ "actix-utils",
++ "futures",
++ "log",
++ "mio",
++ "mio-uds",
++ "net2",
++ "num_cpus",
++ "slab",
+ ]
+
+ [[package]]
+ name = "actix-service"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9fba4171f1952aa15f3cf410facac388d18110b1e8754f84a407ab7f9d5ac7ee"
+ dependencies = [
+- "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures-util",
++ "pin-project",
+ ]
+
+ [[package]]
+ name = "actix-testing"
+ version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "48494745b72d0ea8ff0cf874aaf9b622a3ee03d7081ee0c04edea4f26d32c911"
+ dependencies = [
+- "actix-macros 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-server 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-macros",
++ "actix-rt",
++ "actix-server",
++ "actix-service",
++ "futures",
++ "log",
++ "net2",
+ ]
+
+ [[package]]
+ name = "actix-threadpool"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf4082192601de5f303013709ff84d81ca6a1bc4af7fb24f367a500a23c6e84e"
+ dependencies = [
+- "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "derive_more",
++ "futures-channel",
++ "lazy_static",
++ "log",
++ "num_cpus",
++ "parking_lot 0.10.0",
++ "threadpool",
+ ]
+
+ [[package]]
+ name = "actix-tls"
+ version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a4e5b4faaf105e9a6d389c606c298dcdb033061b00d532af9df56ff3a54995a8"
+ dependencies = [
+- "actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-utils 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-codec",
++ "actix-rt",
++ "actix-service",
++ "actix-utils",
++ "derive_more",
++ "either",
++ "futures",
++ "log",
+ ]
+
+ [[package]]
+ name = "actix-utils"
+ version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fcf8f5631bf01adec2267808f00e228b761c60c0584cc9fa0b5364f41d147f4e"
+ dependencies = [
+- "actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-codec",
++ "actix-rt",
++ "actix-service",
++ "bitflags",
++ "bytes",
++ "either",
++ "futures",
++ "log",
++ "pin-project",
++ "slab",
+ ]
+
+ [[package]]
+ name = "actix-web"
+ version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3158e822461040822f0dbf1735b9c2ce1f95f93b651d7a7aded00b1efbb1f635"
+ dependencies = [
+- "actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-http 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-macros 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-router 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-server 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-testing 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-threadpool 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-utils 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-web-codegen 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "awc 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-codec",
++ "actix-http",
++ "actix-macros",
++ "actix-router",
++ "actix-rt",
++ "actix-server",
++ "actix-service",
++ "actix-testing",
++ "actix-threadpool",
++ "actix-tls",
++ "actix-utils",
++ "actix-web-codegen",
++ "awc",
++ "bytes",
++ "derive_more",
++ "encoding_rs",
++ "futures",
++ "fxhash",
++ "log",
++ "mime",
++ "net2",
++ "pin-project",
++ "regex",
++ "serde",
++ "serde_json",
++ "serde_urlencoded",
++ "time",
++ "url",
+ ]
+
+ [[package]]
+ name = "actix-web-codegen"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "de0878b30e62623770a4713a6338329fd0119703bafc211d3e4144f4d4a7bdd5"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "adler32"
+ version = "1.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
+
+ [[package]]
+ name = "aho-corasick"
+ version = "0.7.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
+ dependencies = [
+- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr",
+ ]
+
+ [[package]]
+ name = "anyhow"
+ version = "1.0.26"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c"
+
+ [[package]]
+ name = "arc-swap"
+ version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f1a1eca3195b729bbd64e292ef2f5fff6b1c28504fed762ce2b1013dde4d8e92"
+
+ [[package]]
+ name = "arrayref"
+ version = "0.3.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
+
+ [[package]]
+ name = "arrayvec"
+ version = "0.4.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
+ dependencies = [
+- "nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nodrop",
+ ]
+
+ [[package]]
+ name = "arrayvec"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
+
+ [[package]]
+ name = "async-trait"
+ version = "0.1.22"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c8df72488e87761e772f14ae0c2480396810e51b2c2ade912f97f0f7e5b95e3c"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "atty"
+ version = "0.2.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
+ dependencies = [
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "autocfg"
+ version = "0.1.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
+
+ [[package]]
+ name = "awc"
+ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d7601d4d1d7ef2335d6597a41b5fe069f6ab799b85f53565ab390e7b7065aac5"
+ dependencies = [
+- "actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-http 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-codec",
++ "actix-http",
++ "actix-rt",
++ "actix-service",
++ "base64 0.11.0",
++ "bytes",
++ "derive_more",
++ "futures-core",
++ "log",
++ "mime",
++ "percent-encoding",
++ "rand",
++ "serde",
++ "serde_json",
++ "serde_urlencoded",
+ ]
+
+ [[package]]
+ name = "backtrace"
+ version = "0.3.40"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
+ dependencies = [
+- "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace-sys",
++ "cfg-if 0.1.10",
++ "libc",
++ "rustc-demangle",
+ ]
+
+ [[package]]
+ name = "backtrace-sys"
+ version = "0.1.32"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
+ dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
++ "libc",
+ ]
+
+ [[package]]
+ name = "base64"
+ version = "0.10.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
+ dependencies = [
+- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
+ ]
+
+ [[package]]
+ name = "base64"
+ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
+
+ [[package]]
+ name = "bitflags"
+ version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+
+ [[package]]
+ name = "blake2b_simd"
+ version = "0.5.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
+ dependencies = [
+- "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayref",
++ "arrayvec 0.4.12",
++ "constant_time_eq",
+ ]
+
+ [[package]]
+ name = "blake3"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba0511b7f4f7d9cb1ef7b8dfda5293af6c1071578d65c8a05aa7d11c1985f08c"
+ dependencies = [
+- "arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayref",
++ "arrayvec 0.5.1",
++ "cc",
++ "cfg-if 0.1.10",
++ "constant_time_eq",
+ ]
+
+ [[package]]
+ name = "brotli-sys"
+ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd"
+ dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
++ "libc",
+ ]
+
+ [[package]]
+ name = "brotli2"
+ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e"
+ dependencies = [
+- "brotli-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "brotli-sys",
++ "libc",
+ ]
+
+ [[package]]
+ name = "bumpalo"
+ version = "3.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5fb8038c1ddc0a5f73787b130f4cc75151e96ed33e417fde765eb5a81e3532f4"
+
+ [[package]]
+ name = "byteorder"
+ version = "1.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
+
+ [[package]]
+ name = "bytes"
+ version = "0.5.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "10004c15deb332055f7a4a208190aed362cf9a7c2f6ab70a305fba50e1105f38"
+
+ [[package]]
+ name = "bytestring"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc267467f58ef6cc8874064c62a0423eb0d099362c8a23edd1c6d044f46eead4"
+ dependencies = [
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
+ ]
+
+ [[package]]
+ name = "c2-chacha"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
+ dependencies = [
+- "ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ppv-lite86",
+ ]
+
+ [[package]]
+ name = "cc"
+ version = "1.0.50"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
+
+ [[package]]
+ name = "cfg-if"
+ version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "chrono"
+ version = "0.4.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
+ dependencies = [
+- "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer",
++ "num-traits",
++ "time",
+ ]
+
+ [[package]]
+ name = "clicolors-control"
+ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e"
+ dependencies = [
+- "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty",
++ "lazy_static",
++ "libc",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "cloudabi"
+ version = "0.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+ dependencies = [
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
+ ]
+
+ [[package]]
+ name = "console"
+ version = "0.9.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f5d540c2d34ac9dd0deb5f3b5f54c36c79efa78f6b3ad19106a554d07a7b5d9f"
+ dependencies = [
+- "clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "clicolors-control",
++ "encode_unicode",
++ "lazy_static",
++ "libc",
++ "regex",
++ "termios",
++ "unicode-width",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "constant_time_eq"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+
+ [[package]]
+ name = "copyless"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6ff9c56c9fb2a49c05ef0e431485a22400af20d33226dc0764d891d09e724127"
+
+ [[package]]
+ name = "crc32fast"
+ version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
+ ]
+
+ [[package]]
+ name = "crossbeam-utils"
+ version = "0.6.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "lazy_static",
+ ]
+
+ [[package]]
+ name = "derive_more"
+ version = "0.99.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2159be042979966de68315bce7034bb000c775f22e3e834e1c52ff78f041cae8"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "dialoguer"
+ version = "0.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94616e25d2c04fc97253d145f6ca33ad84a584258dc70c4e621cc79a57f903b6"
+ dependencies = [
+- "console 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "console",
++ "lazy_static",
++ "tempfile",
+ ]
+
+ [[package]]
+ name = "diesel"
+ version = "1.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9d7cc03b910de9935007861dce440881f69102aaaedfd4bc5a6f40340ca5840c"
+ dependencies = [
+- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "diesel_derives 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libsqlite3-sys 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "r2d2 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "diesel_derives",
++ "libsqlite3-sys",
++ "r2d2",
+ ]
+
+ [[package]]
+ name = "diesel_derives"
+ version = "1.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "diesel_migrations"
+ version = "1.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bf3cde8413353dc7f5d72fa8ce0b99a560a359d2c5ef1e5817ca731cd9008f4c"
+ dependencies = [
+- "migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "migrations_macros 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "migrations_internals",
++ "migrations_macros",
+ ]
+
+ [[package]]
+ name = "dirs"
+ version = "2.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "dirs-sys",
+ ]
+
+ [[package]]
+ name = "dirs-sys"
+ version = "0.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "libc",
++ "redox_users",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "dotenv"
+ version = "0.15.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
+
+ [[package]]
+ name = "dtoa"
+ version = "0.4.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
+
+ [[package]]
+ name = "either"
+ version = "1.5.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
+
+ [[package]]
+ name = "encode_unicode"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+
+ [[package]]
+ name = "encoding_rs"
+ version = "0.8.20"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87240518927716f79692c2ed85bfe6e98196d18c6401ec75355760233a7e12e9"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
+ ]
+
+ [[package]]
+ name = "enum-as-inner"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "900a6c7fbe523f4c2884eaf26b57b81bb69b6810a01a236390a7ac021d09492e"
+ dependencies = [
+- "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "heck",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "env_logger"
+ version = "0.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
+ dependencies = [
+- "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
+ ]
+
+ [[package]]
+ name = "failure"
+ version = "0.1.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
+ dependencies = [
+- "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "backtrace",
++ "failure_derive",
+ ]
+
+ [[package]]
+ name = "failure_derive"
+ version = "0.1.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "synstructure",
+ ]
+
+ [[package]]
+ name = "filite"
+ version = "0.3.0"
+ dependencies = [
+- "actix-files 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-identity 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-multipart 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "actix-web 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "blake3 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "dialoguer 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "diesel 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "diesel_migrations 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "dotenv 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libsqlite3-sys 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "actix-files",
++ "actix-identity",
++ "actix-multipart",
++ "actix-rt",
++ "actix-web",
++ "base64 0.11.0",
++ "blake3",
++ "chrono",
++ "dialoguer",
++ "diesel",
++ "diesel_migrations",
++ "dirs",
++ "dotenv",
++ "env_logger",
++ "futures",
++ "lazy_static",
++ "libsqlite3-sys",
++ "num_cpus",
++ "radix_fmt",
++ "rand",
++ "serde",
++ "toml",
+ ]
+
+ [[package]]
+ name = "flate2"
+ version = "1.0.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "crc32fast",
++ "libc",
++ "miniz_oxide",
+ ]
+
+ [[package]]
+ name = "fnv"
+ version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
+
+ [[package]]
+ name = "fuchsia-cprng"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+
+ [[package]]
+ name = "fuchsia-zircon"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+ dependencies = [
+- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "fuchsia-zircon-sys",
+ ]
+
+ [[package]]
+ name = "fuchsia-zircon-sys"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+ [[package]]
+ name = "futures"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b6f16056ecbb57525ff698bb955162d0cd03bee84e6241c27ff75c08d8ca5987"
+ dependencies = [
+- "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures-channel",
++ "futures-core",
++ "futures-executor",
++ "futures-io",
++ "futures-sink",
++ "futures-task",
++ "futures-util",
+ ]
+
+ [[package]]
+ name = "futures-channel"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
+ dependencies = [
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures-core",
++ "futures-sink",
+ ]
+
+ [[package]]
+ name = "futures-core"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
+
+ [[package]]
+ name = "futures-executor"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
+ dependencies = [
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures-core",
++ "futures-task",
++ "futures-util",
+ ]
+
+ [[package]]
+ name = "futures-io"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e676577d229e70952ab25f3945795ba5b16d63ca794ca9d2c860e5595d20b5ff"
+
+ [[package]]
+ name = "futures-macro"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
+ dependencies = [
+- "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro-hack",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "futures-sink"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16"
+
+ [[package]]
+ name = "futures-task"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
+
+ [[package]]
+ name = "futures-util"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
+ dependencies = [
+- "futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures-channel",
++ "futures-core",
++ "futures-io",
++ "futures-macro",
++ "futures-sink",
++ "futures-task",
++ "memchr",
++ "pin-utils",
++ "proc-macro-hack",
++ "proc-macro-nested",
++ "slab",
+ ]
+
+ [[package]]
+ name = "fxhash"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
+ dependencies = [
+- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
+ ]
+
+ [[package]]
+ name = "getrandom"
+ version = "0.1.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "libc",
++ "wasi",
+ ]
+
+ [[package]]
+ name = "h2"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b9433d71e471c1736fd5a61b671fc0b148d7a2992f666c958d03cd8feb3b88d1"
+ dependencies = [
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "fnv",
++ "futures-core",
++ "futures-sink",
++ "futures-util",
++ "http",
++ "indexmap",
++ "log",
++ "slab",
++ "tokio",
++ "tokio-util",
+ ]
+
+ [[package]]
+ name = "heck"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
+ dependencies = [
+- "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-segmentation",
+ ]
+
+ [[package]]
+ name = "hermit-abi"
+ version = "0.1.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
+ dependencies = [
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "hostname"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "21ceb46a83a85e824ef93669c8b390009623863b5c195d1ba747292c0c72f94e"
+ dependencies = [
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winutil 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "winutil",
+ ]
+
+ [[package]]
+ name = "http"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b"
+ dependencies = [
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "fnv",
++ "itoa",
+ ]
+
+ [[package]]
+ name = "httparse"
+ version = "1.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
+
+ [[package]]
+ name = "humantime"
+ version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
+ dependencies = [
+- "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quick-error",
+ ]
+
+ [[package]]
+ name = "idna"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
+ ]
+
+ [[package]]
+ name = "indexmap"
+ version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
+ dependencies = [
+- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg",
+ ]
+
+ [[package]]
+ name = "iovec"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+ dependencies = [
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "ipconfig"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa79fa216fbe60834a9c0737d7fcd30425b32d1c58854663e24d4c4b328ed83f"
+ dependencies = [
+- "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "widestring 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "socket2",
++ "widestring",
++ "winapi 0.3.8",
++ "winreg",
+ ]
+
+ [[package]]
+ name = "itoa"
+ version = "0.4.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
+
+ [[package]]
+ name = "js-sys"
+ version = "0.3.35"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7889c7c36282151f6bf465be4700359318aef36baa951462382eae49e9577cf9"
+ dependencies = [
+- "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wasm-bindgen",
+ ]
+
+ [[package]]
+ name = "kernel32-sys"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "winapi-build",
+ ]
+
+ [[package]]
+ name = "language-tags"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
+
+ [[package]]
+ name = "lazy_static"
+ version = "1.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.65"
++version = "0.2.136"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "55edcf6c0bb319052dea84732cf99db461780fd5e8d3eb46ab6ff312ab31f197"
+
+ [[package]]
+ name = "libsqlite3-sys"
+ version = "0.16.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5e5b95e89c330291768dc840238db7f9e204fd208511ab6319b56193a7f2ae25"
+ dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
++ "pkg-config",
++ "vcpkg",
+ ]
+
+ [[package]]
+ name = "linked-hash-map"
+ version = "0.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83"
+
+ [[package]]
+ name = "lock_api"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc"
+ dependencies = [
+- "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "scopeguard",
+ ]
+
+ [[package]]
+ name = "log"
+ version = "0.4.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
+ ]
+
+ [[package]]
+ name = "lru-cache"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
+ dependencies = [
+- "linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "linked-hash-map",
+ ]
+
+ [[package]]
+ name = "matches"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+
+ [[package]]
+ name = "memchr"
+ version = "2.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
+
+ [[package]]
+ name = "migrations_internals"
+ version = "1.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8089920229070f914b9ce9b07ef60e175b2b9bc2d35c3edd8bf4433604e863b9"
+ dependencies = [
+- "diesel 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "diesel",
+ ]
+
+ [[package]]
+ name = "migrations_macros"
+ version = "1.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "719ef0bc7f531428764c9b70661c14abd50a7f3d21f355752d9985aa21251c9e"
+ dependencies = [
+- "migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "migrations_internals",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "mime"
+ version = "0.3.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd1d63acd1b78403cc0c325605908475dd9b9a3acbf65ed8bcab97e27014afcf"
+
+ [[package]]
+ name = "mime_guess"
+ version = "2.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599"
+ dependencies = [
+- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicase 2.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime",
++ "unicase",
+ ]
+
+ [[package]]
+ name = "miniz_oxide"
+ version = "0.3.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
+ dependencies = [
+- "adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "adler32",
+ ]
+
+ [[package]]
+ name = "mio"
+ version = "0.6.21"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "fuchsia-zircon",
++ "fuchsia-zircon-sys",
++ "iovec",
++ "kernel32-sys",
++ "libc",
++ "log",
++ "miow",
++ "net2",
++ "slab",
++ "winapi 0.2.8",
+ ]
+
+ [[package]]
+ name = "mio-uds"
+ version = "0.6.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
+ dependencies = [
+- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
++ "iovec",
++ "libc",
++ "mio",
+ ]
+
+ [[package]]
+ name = "miow"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
+ dependencies = [
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys",
++ "net2",
++ "winapi 0.2.8",
++ "ws2_32-sys",
+ ]
+
+ [[package]]
+ name = "net2"
+ version = "0.2.33"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "libc",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "nodrop"
+ version = "0.1.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
+
+ [[package]]
+ name = "nom"
+ version = "4.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
+ dependencies = [
+- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr",
++ "version_check",
+ ]
+
+ [[package]]
+ name = "num-integer"
+ version = "0.1.41"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
+ dependencies = [
+- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg",
++ "num-traits",
+ ]
+
+ [[package]]
+ name = "num-traits"
+ version = "0.2.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
+ dependencies = [
+- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg",
+ ]
+
+ [[package]]
+ name = "num_cpus"
+ version = "1.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
+ dependencies = [
+- "hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hermit-abi",
++ "libc",
+ ]
+
+ [[package]]
+ name = "parking_lot"
+ version = "0.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
+ dependencies = [
+- "lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lock_api",
++ "parking_lot_core 0.6.2",
++ "rustc_version",
+ ]
+
+ [[package]]
+ name = "parking_lot"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92e98c49ab0b7ce5b222f2cc9193fc4efe11c6d0bd4f648e374684a6857b1cfc"
+ dependencies = [
+- "lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lock_api",
++ "parking_lot_core 0.7.0",
+ ]
+
+ [[package]]
+ name = "parking_lot_core"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "cloudabi",
++ "libc",
++ "redox_syscall",
++ "rustc_version",
++ "smallvec 0.6.10",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "parking_lot_core"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7582838484df45743c8434fbff785e8edf260c28748353d44bc0da32e0ceabf1"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "cloudabi",
++ "libc",
++ "redox_syscall",
++ "smallvec 1.1.0",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "percent-encoding"
+ version = "2.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+
+ [[package]]
+ name = "pin-project"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94b90146c7216e4cb534069fb91366de4ea0ea353105ee45ed297e2d1619e469"
+ dependencies = [
+- "pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "pin-project-internal",
+ ]
+
+ [[package]]
+ name = "pin-project-internal"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44ca92f893f0656d3cba8158dd0f2b99b94de256a4a54e870bd6922fcc6c8355"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "pin-project-lite"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e8822eb8bb72452f038ebf6048efa02c3fe22bf83f76519c9583e47fc194a422"
+
+ [[package]]
+ name = "pin-utils"
+ version = "0.1.0-alpha.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
+
+ [[package]]
+ name = "pkg-config"
+ version = "0.3.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72d5370d90f49f70bd033c3d75e87fc529fbfff9d6f7cccef07d6170079d91ea"
+
+ [[package]]
+ name = "ppv-lite86"
+ version = "0.2.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
+
+ [[package]]
+ name = "proc-macro-hack"
+ version = "0.5.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "proc-macro-nested"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
+
+ [[package]]
+ name = "proc-macro2"
+ version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
+ dependencies = [
+- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid",
+ ]
+
+ [[package]]
+ name = "quick-error"
+ version = "1.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
+
+ [[package]]
+ name = "quote"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
+ ]
+
+ [[package]]
+ name = "r2d2"
+ version = "0.8.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e48fa64898ef0286b6ee4b4d8f61483f9182acf5e44e62a398b1c7f56f2f861d"
+ dependencies = [
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "scheduled-thread-pool 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "log",
++ "parking_lot 0.9.0",
++ "scheduled-thread-pool",
+ ]
+
+ [[package]]
+ name = "radix_fmt"
+ version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
+
+ [[package]]
+ name = "rand"
+ version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+ dependencies = [
+- "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom",
++ "libc",
++ "rand_chacha",
++ "rand_core 0.5.1",
++ "rand_hc",
+ ]
+
+ [[package]]
+ name = "rand_chacha"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
+ dependencies = [
+- "c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "c2-chacha",
++ "rand_core 0.5.1",
+ ]
+
+ [[package]]
+ name = "rand_core"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+ dependencies = [
+- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.2",
+ ]
+
+ [[package]]
+ name = "rand_core"
+ version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+
+ [[package]]
+ name = "rand_core"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+ dependencies = [
+- "getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "getrandom",
+ ]
+
+ [[package]]
+ name = "rand_hc"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+ dependencies = [
+- "rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.5.1",
+ ]
+
+ [[package]]
+ name = "rand_os"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+ dependencies = [
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cloudabi",
++ "fuchsia-cprng",
++ "libc",
++ "rand_core 0.4.2",
++ "rdrand",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "rdrand"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+
+ [[package]]
+ name = "redox_syscall"
+ version = "0.1.56"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
+
+ [[package]]
+ name = "redox_users"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
+ dependencies = [
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "failure",
++ "rand_os",
++ "redox_syscall",
++ "rust-argon2",
+ ]
+
+ [[package]]
+ name = "regex"
+ version = "1.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
+ dependencies = [
+- "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++ "thread_local",
+ ]
+
+ [[package]]
+ name = "regex-syntax"
+ version = "0.6.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
+
+ [[package]]
+ name = "remove_dir_all"
+ version = "0.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "resolv-conf"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b263b4aa1b5de9ffc0054a2386f96992058bb6870aab516f8cdeb8a667d56dcb"
+ dependencies = [
+- "hostname 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "hostname",
++ "quick-error",
+ ]
+
+ [[package]]
+ name = "ring"
+ version = "0.16.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6747f8da1f2b1fabbee1aaa4eb8a11abf9adef0bf58a41cee45db5d59cecdfac"
+ dependencies = [
+- "cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cc",
++ "lazy_static",
++ "libc",
++ "spin",
++ "untrusted",
++ "web-sys",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "rust-argon2"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
+ dependencies = [
+- "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.10.1",
++ "blake2b_simd",
++ "crossbeam-utils",
+ ]
+
+ [[package]]
+ name = "rustc-demangle"
+ version = "0.1.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
+
+ [[package]]
+ name = "rustc_version"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+ dependencies = [
+- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver",
+ ]
+
+ [[package]]
+ name = "ryu"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
+
+ [[package]]
+ name = "scheduled-thread-pool"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd07742e081ff6c077f5f6b283f12f32b9e7cc765b316160d66289b74546fbb3"
+ dependencies = [
+- "parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "parking_lot 0.9.0",
+ ]
+
+ [[package]]
+ name = "scopeguard"
+ version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
+
+ [[package]]
+ name = "semver"
+ version = "0.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+ dependencies = [
+- "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver-parser",
+ ]
+
+ [[package]]
+ name = "semver-parser"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+ [[package]]
+ name = "serde"
+ version = "1.0.104"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
+ dependencies = [
+- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde_derive",
+ ]
+
+ [[package]]
+ name = "serde_derive"
+ version = "1.0.104"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "serde_json"
+ version = "1.0.41"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2"
+ dependencies = [
+- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa",
++ "ryu",
++ "serde",
+ ]
+
+ [[package]]
+ name = "serde_urlencoded"
+ version = "0.6.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
+ dependencies = [
+- "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dtoa",
++ "itoa",
++ "serde",
++ "url",
+ ]
+
+ [[package]]
+ name = "sha1"
+ version = "0.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
+
+ [[package]]
+ name = "signal-hook-registry"
+ version = "1.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1797d48f38f91643908bb14e35e79928f9f4b3cefb2420a564dde0991b4358dc"
+ dependencies = [
+- "arc-swap 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arc-swap",
++ "libc",
+ ]
+
+ [[package]]
+ name = "slab"
+ version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+
+ [[package]]
+ name = "smallvec"
+ version = "0.6.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
+
+ [[package]]
+ name = "smallvec"
+ version = "1.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44e59e0c9fa00817912ae6e4e6e3c4fe04455e75699d06eedc7d85917ed8e8f4"
+
+ [[package]]
+ name = "socket2"
+-version = "0.3.11"
++version = "0.3.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 1.0.0",
++ "libc",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "sourcefile"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
+
+ [[package]]
+ name = "spin"
+ version = "0.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+
+ [[package]]
+ name = "syn"
+ version = "1.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0e7bedb3320d0f3035594b0b723c8a28d7d336a3eda3881db79e61d676fb644c"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "unicode-xid",
+ ]
+
+ [[package]]
+ name = "synstructure"
+ version = "0.12.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "unicode-xid",
+ ]
+
+ [[package]]
+ name = "tempfile"
+ version = "3.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "libc",
++ "rand",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "termcolor"
+ version = "1.0.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
+ dependencies = [
+- "wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "wincolor",
+ ]
+
+ [[package]]
+ name = "termios"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625"
+ dependencies = [
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "thread_local"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
+ dependencies = [
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static",
+ ]
+
+ [[package]]
+ name = "threadpool"
+ version = "1.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865"
+ dependencies = [
+- "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num_cpus",
+ ]
+
+ [[package]]
+ name = "time"
+ version = "0.1.42"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+ dependencies = [
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "redox_syscall",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "tokio"
+ version = "0.2.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ffa2fdcfa937b20cb3c822a635ceecd5fc1a27a6a474527e5516aa24b8c8820a"
+ dependencies = [
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pin-project-lite 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "signal-hook-registry 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "fnv",
++ "futures-core",
++ "iovec",
++ "lazy_static",
++ "libc",
++ "memchr",
++ "mio",
++ "mio-uds",
++ "pin-project-lite",
++ "signal-hook-registry",
++ "slab",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "tokio-util"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "571da51182ec208780505a32528fc5512a8fe1443ab960b3f2f3ef093cd16930"
+ dependencies = [
+- "bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pin-project-lite 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures-core",
++ "futures-sink",
++ "log",
++ "pin-project-lite",
++ "tokio",
+ ]
+
+ [[package]]
+ name = "toml"
+ version = "0.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
+ dependencies = [
+- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde",
+ ]
+
+ [[package]]
+ name = "trust-dns-proto"
+ version = "0.18.0-alpha.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2a7f3a2ab8a919f5eca52a468866a67ed7d3efa265d48a652a9a3452272b413f"
+ dependencies = [
+- "async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)",
+- "enum-as-inner 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "async-trait",
++ "enum-as-inner",
++ "failure",
++ "futures",
++ "idna",
++ "lazy_static",
++ "log",
++ "rand",
++ "smallvec 1.1.0",
++ "socket2",
++ "tokio",
++ "url",
+ ]
+
+ [[package]]
+ name = "trust-dns-resolver"
+ version = "0.18.0-alpha.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6f90b1502b226f8b2514c6d5b37bafa8c200d7ca4102d57dc36ee0f3b7a04a2f"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ipconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "trust-dns-proto 0.18.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "failure",
++ "futures",
++ "ipconfig",
++ "lazy_static",
++ "log",
++ "lru-cache",
++ "resolv-conf",
++ "smallvec 1.1.0",
++ "tokio",
++ "trust-dns-proto",
+ ]
+
+ [[package]]
+ name = "twoway"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6b40075910de3a912adbd80b5d8bad6ad10a23eeb1f5bf9d4006839e899ba5bc"
+ dependencies = [
+- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unchecked-index 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr",
++ "unchecked-index",
+ ]
+
+ [[package]]
+ name = "unchecked-index"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c"
+
+ [[package]]
+ name = "unicase"
+ version = "2.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2e2e6bd1e59e56598518beb94fd6db628ded570326f0a98c679a304bd9f00150"
+ dependencies = [
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check",
+ ]
+
+ [[package]]
+ name = "unicode-bidi"
+ version = "0.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
+ ]
+
+ [[package]]
+ name = "unicode-normalization"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
+ dependencies = [
+- "smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec 0.6.10",
+ ]
+
+ [[package]]
+ name = "unicode-segmentation"
+ version = "1.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
+
+ [[package]]
+ name = "unicode-width"
+ version = "0.1.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
+
+ [[package]]
+ name = "unicode-xid"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
+
+ [[package]]
+ name = "untrusted"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "60369ef7a31de49bcb3f6ca728d4ba7300d9a1658f94c727d4cab8c8d9f4aece"
+
+ [[package]]
+ name = "url"
+ version = "2.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
+ dependencies = [
+- "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "idna",
++ "matches",
++ "percent-encoding",
+ ]
+
+ [[package]]
+ name = "v_escape"
+ version = "0.7.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "660b101c07b5d0863deb9e7fb3138777e858d6d2a79f9e6049a27d1cc77c6da6"
+ dependencies = [
+- "v_escape_derive 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "v_escape_derive",
+ ]
+
+ [[package]]
+ name = "v_escape_derive"
+ version = "0.5.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c2ca2a14bc3fc5b64d188b087a7d3a927df87b152e941ccfbc66672e20c467ae"
+ dependencies = [
+- "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nom",
++ "proc-macro2",
++ "quote",
++ "syn",
+ ]
+
+ [[package]]
+ name = "v_htmlescape"
+ version = "0.4.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e33e939c0d8cf047514fb6ba7d5aac78bc56677a6938b2ee67000b91f2e97e41"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "v_escape 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "v_escape",
+ ]
+
+ [[package]]
+ name = "vcpkg"
+ version = "0.2.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95"
+
+ [[package]]
+ name = "version_check"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+
+ [[package]]
+ name = "wasi"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
+
+ [[package]]
+ name = "wasm-bindgen"
+ version = "0.2.58"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c"
+ dependencies = [
+- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.10",
++ "wasm-bindgen-macro",
+ ]
+
+ [[package]]
+ name = "wasm-bindgen-backend"
+ version = "0.2.58"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "11cdb95816290b525b32587d76419facd99662a07e59d3cdb560488a819d9a45"
+ dependencies = [
+- "bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bumpalo",
++ "lazy_static",
++ "log",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-shared",
+ ]
+
+ [[package]]
+ name = "wasm-bindgen-macro"
+ version = "0.2.58"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "574094772ce6921576fb6f2e3f7497b8a76273b6db092be18fc48a082de09dc3"
+ dependencies = [
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quote",
++ "wasm-bindgen-macro-support",
+ ]
+
+ [[package]]
+ name = "wasm-bindgen-macro-support"
+ version = "0.2.58"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e85031354f25eaebe78bb7db1c3d86140312a911a106b2e29f9cc440ce3e7668"
+ dependencies = [
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-backend",
++ "wasm-bindgen-shared",
+ ]
+
+ [[package]]
+ name = "wasm-bindgen-shared"
+ version = "0.2.58"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f5e7e61fc929f4c0dddb748b102ebf9f632e2b8d739f2016542b4de2965a9601"
+
+ [[package]]
+ name = "wasm-bindgen-webidl"
+ version = "0.2.58"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ef012a0d93fc0432df126a8eaf547b2dce25a8ce9212e1d3cbeef5c11157975d"
+ dependencies = [
+- "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
+- "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
+- "weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow",
++ "heck",
++ "log",
++ "proc-macro2",
++ "quote",
++ "syn",
++ "wasm-bindgen-backend",
++ "weedle",
+ ]
+
+ [[package]]
+ name = "web-sys"
+ version = "0.3.35"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aaf97caf6aa8c2b1dac90faf0db529d9d63c93846cca4911856f78a83cebf53b"
+ dependencies = [
+- "anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)",
+- "js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)",
+- "sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
+- "wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)",
++ "anyhow",
++ "js-sys",
++ "sourcefile",
++ "wasm-bindgen",
++ "wasm-bindgen-webidl",
+ ]
+
+ [[package]]
+ name = "weedle"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
+ dependencies = [
+- "nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nom",
+ ]
+
+ [[package]]
+ name = "widestring"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "effc0e4ff8085673ea7b9b2e3c73f6bd4d118810c9009ed8f1e16bd96c331db6"
+
+ [[package]]
+ name = "winapi"
+ version = "0.2.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+ [[package]]
+ name = "winapi"
+ version = "0.3.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
+ dependencies = [
+- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
+ ]
+
+ [[package]]
+ name = "winapi-build"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+ [[package]]
+ name = "winapi-i686-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+ [[package]]
+ name = "winapi-util"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "winapi-x86_64-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+ [[package]]
+ name = "wincolor"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8",
++ "winapi-util",
+ ]
+
+ [[package]]
+ name = "winreg"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "winutil"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7daf138b6b14196e3830a588acf1e86966c694d3e8fb026fb105b8b5dca07e6e"
+ dependencies = [
+- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.8",
+ ]
+
+ [[package]]
+ name = "ws2_32-sys"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "winapi-build",
+ ]
+-
+-[metadata]
+-"checksum actix-codec 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "09e55f0a5c2ca15795035d90c46bd0e73a5123b72f68f12596d6ba5282051380"
+-"checksum actix-connect 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1f2b61480a8d30c94d5c883d79ef026b02ad6809931b0a4bb703f9545cd8c986"
+-"checksum actix-files 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "301482841d3d74483a446ead63cb7d362e187d2c8b603f13d91995621ea53c46"
+-"checksum actix-http 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c16664cc4fdea8030837ad5a845eb231fb93fc3c5c171edfefb52fad92ce9019"
+-"checksum actix-identity 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2a379b0639c293292d71defb8cc1f94c87b7705c904adf044338ad392df77c7a"
+-"checksum actix-macros 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "21705adc76bbe4bc98434890e73a89cd00c6015e5704a60bb6eea6c3b72316b6"
+-"checksum actix-multipart 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4397935fca2a37a5353f94faa758fb176712806f605466b5a60373b204f0d836"
+-"checksum actix-router 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9d7a10ca4d94e8c8e7a87c5173aba1b97ba9a6563ca02b0e1cd23531093d3ec8"
+-"checksum actix-rt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f6a0a55507046441a496b2f0d26a84a65e67c8cafffe279072412f624b5fb6d"
+-"checksum actix-server 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "51d3455eaac03ca3e49d7b822eb35c884b861f715627254ccbe4309d08f1841a"
+-"checksum actix-service 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9fba4171f1952aa15f3cf410facac388d18110b1e8754f84a407ab7f9d5ac7ee"
+-"checksum actix-testing 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "48494745b72d0ea8ff0cf874aaf9b622a3ee03d7081ee0c04edea4f26d32c911"
+-"checksum actix-threadpool 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4082192601de5f303013709ff84d81ca6a1bc4af7fb24f367a500a23c6e84e"
+-"checksum actix-tls 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "a4e5b4faaf105e9a6d389c606c298dcdb033061b00d532af9df56ff3a54995a8"
+-"checksum actix-utils 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "fcf8f5631bf01adec2267808f00e228b761c60c0584cc9fa0b5364f41d147f4e"
+-"checksum actix-web 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3158e822461040822f0dbf1735b9c2ce1f95f93b651d7a7aded00b1efbb1f635"
+-"checksum actix-web-codegen 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de0878b30e62623770a4713a6338329fd0119703bafc211d3e4144f4d4a7bdd5"
+-"checksum adler32 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5d2e7343e7fc9de883d1b0341e0b13970f764c14101234857d2ddafa1cb1cac2"
+-"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
+-"checksum anyhow 1.0.26 (registry+https://github.com/rust-lang/crates.io-index)" = "7825f6833612eb2414095684fcf6c635becf3ce97fe48cf6421321e93bfbd53c"
+-"checksum arc-swap 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f1a1eca3195b729bbd64e292ef2f5fff6b1c28504fed762ce2b1013dde4d8e92"
+-"checksum arrayref 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "0d382e583f07208808f6b1249e60848879ba3543f57c32277bf52d69c2f0f0ee"
+-"checksum arrayvec 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "cd9fd44efafa8690358b7408d253adf110036b88f55672a933f01d616ad9b1b9"
+-"checksum arrayvec 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
+-"checksum async-trait 0.1.22 (registry+https://github.com/rust-lang/crates.io-index)" = "c8df72488e87761e772f14ae0c2480396810e51b2c2ade912f97f0f7e5b95e3c"
+-"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
+-"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
+-"checksum awc 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d7601d4d1d7ef2335d6597a41b5fe069f6ab799b85f53565ab390e7b7065aac5"
+-"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
+-"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
+-"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
+-"checksum base64 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
+-"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+-"checksum blake2b_simd 0.5.8 (registry+https://github.com/rust-lang/crates.io-index)" = "5850aeee1552f495dd0250014cf64b82b7c8879a89d83b33bbdace2cc4f63182"
+-"checksum blake3 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ba0511b7f4f7d9cb1ef7b8dfda5293af6c1071578d65c8a05aa7d11c1985f08c"
+-"checksum brotli-sys 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4445dea95f4c2b41cde57cc9fee236ae4dbae88d8fcbdb4750fc1bb5d86aaecd"
+-"checksum brotli2 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0cb036c3eade309815c15ddbacec5b22c4d1f3983a774ab2eac2e3e9ea85568e"
+-"checksum bumpalo 3.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "5fb8038c1ddc0a5f73787b130f4cc75151e96ed33e417fde765eb5a81e3532f4"
+-"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
+-"checksum bytes 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "10004c15deb332055f7a4a208190aed362cf9a7c2f6ab70a305fba50e1105f38"
+-"checksum bytestring 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "fc267467f58ef6cc8874064c62a0423eb0d099362c8a23edd1c6d044f46eead4"
+-"checksum c2-chacha 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "214238caa1bf3a496ec3392968969cab8549f96ff30652c9e56885329315f6bb"
+-"checksum cc 1.0.50 (registry+https://github.com/rust-lang/crates.io-index)" = "95e28fa049fda1c330bcf9d723be7663a899c4679724b34c81e9f5a326aab8cd"
+-"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+-"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
+-"checksum clicolors-control 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90082ee5dcdd64dc4e9e0d37fbf3ee325419e39c0092191e0393df65518f741e"
+-"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+-"checksum console 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f5d540c2d34ac9dd0deb5f3b5f54c36c79efa78f6b3ad19106a554d07a7b5d9f"
+-"checksum constant_time_eq 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+-"checksum copyless 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "6ff9c56c9fb2a49c05ef0e431485a22400af20d33226dc0764d891d09e724127"
+-"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
+-"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
+-"checksum derive_more 0.99.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2159be042979966de68315bce7034bb000c775f22e3e834e1c52ff78f041cae8"
+-"checksum dialoguer 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94616e25d2c04fc97253d145f6ca33ad84a584258dc70c4e621cc79a57f903b6"
+-"checksum diesel 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9d7cc03b910de9935007861dce440881f69102aaaedfd4bc5a6f40340ca5840c"
+-"checksum diesel_derives 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3"
+-"checksum diesel_migrations 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3cde8413353dc7f5d72fa8ce0b99a560a359d2c5ef1e5817ca731cd9008f4c"
+-"checksum dirs 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "13aea89a5c93364a98e9b37b2fa237effbb694d5cfe01c5b70941f7eb087d5e3"
+-"checksum dirs-sys 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "afa0b23de8fd801745c471deffa6e12d248f962c9fd4b4c33787b055599bde7b"
+-"checksum dotenv 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "77c90badedccf4105eca100756a0b1289e191f6fcbdadd3cee1d2f614f97da8f"
+-"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
+-"checksum either 1.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
+-"checksum encode_unicode 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f"
+-"checksum encoding_rs 0.8.20 (registry+https://github.com/rust-lang/crates.io-index)" = "87240518927716f79692c2ed85bfe6e98196d18c6401ec75355760233a7e12e9"
+-"checksum enum-as-inner 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "900a6c7fbe523f4c2884eaf26b57b81bb69b6810a01a236390a7ac021d09492e"
+-"checksum env_logger 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
+-"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
+-"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
+-"checksum flate2 1.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6bd6d6f4752952feb71363cffc9ebac9411b75b87c6ab6058c40c8900cf43c0f"
+-"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
+-"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+-"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+-"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+-"checksum futures 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b6f16056ecbb57525ff698bb955162d0cd03bee84e6241c27ff75c08d8ca5987"
+-"checksum futures-channel 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "fcae98ca17d102fd8a3603727b9259fcf7fa4239b603d2142926189bc8999b86"
+-"checksum futures-core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "79564c427afefab1dfb3298535b21eda083ef7935b4f0ecbfcb121f0aec10866"
+-"checksum futures-executor 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1e274736563f686a837a0568b478bdabfeaec2dca794b5649b04e2fe1627c231"
+-"checksum futures-io 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e676577d229e70952ab25f3945795ba5b16d63ca794ca9d2c860e5595d20b5ff"
+-"checksum futures-macro 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "52e7c56c15537adb4f76d0b7a76ad131cb4d2f4f32d3b0bcabcbe1c7c5e87764"
+-"checksum futures-sink 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "171be33efae63c2d59e6dbba34186fe0d6394fb378069a76dfd80fdcffd43c16"
+-"checksum futures-task 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0bae52d6b29cf440e298856fec3965ee6fa71b06aa7495178615953fd669e5f9"
+-"checksum futures-util 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c0d66274fb76985d3c62c886d1da7ac4c0903a8c9f754e8fe0f35a6a6cc39e76"
+-"checksum fxhash 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
+-"checksum getrandom 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "e7db7ca94ed4cd01190ceee0d8a8052f08a247aa1b469a7f68c6a3b71afcf407"
+-"checksum h2 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b9433d71e471c1736fd5a61b671fc0b148d7a2992f666c958d03cd8feb3b88d1"
+-"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
+-"checksum hermit-abi 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "eff2656d88f158ce120947499e971d743c05dbcbed62e5bd2f38f1698bbc3772"
+-"checksum hostname 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "21ceb46a83a85e824ef93669c8b390009623863b5c195d1ba747292c0c72f94e"
+-"checksum http 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b708cc7f06493459026f53b9a61a7a121a5d1ec6238dee58ea4941132b30156b"
+-"checksum httparse 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
+-"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
+-"checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
+-"checksum indexmap 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712d7b3ea5827fcb9d4fda14bf4da5f136f0db2ae9c8f4bd4e2d1c6fde4e6db2"
+-"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
+-"checksum ipconfig 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "aa79fa216fbe60834a9c0737d7fcd30425b32d1c58854663e24d4c4b328ed83f"
+-"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
+-"checksum js-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "7889c7c36282151f6bf465be4700359318aef36baa951462382eae49e9577cf9"
+-"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+-"checksum language-tags 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a91d884b6667cd606bb5a69aa0c99ba811a115fc68915e7056ec08a46e93199a"
+-"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+-"checksum libc 0.2.65 (registry+https://github.com/rust-lang/crates.io-index)" = "1a31a0627fdf1f6a39ec0dd577e101440b7db22672c0901fe00a9a6fbb5c24e8"
+-"checksum libsqlite3-sys 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5e5b95e89c330291768dc840238db7f9e204fd208511ab6319b56193a7f2ae25"
+-"checksum linked-hash-map 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ae91b68aebc4ddb91978b11a1b02ddd8602a05ec19002801c5666000e05e0f83"
+-"checksum lock_api 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f8912e782533a93a167888781b836336a6ca5da6175c05944c86cf28c31104dc"
+-"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
+-"checksum lru-cache 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "31e24f1ad8321ca0e8a1e0ac13f23cb668e6f5466c2c57319f6a5cf1cc8e3b1c"
+-"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+-"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
+-"checksum migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8089920229070f914b9ce9b07ef60e175b2b9bc2d35c3edd8bf4433604e863b9"
+-"checksum migrations_macros 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "719ef0bc7f531428764c9b70661c14abd50a7f3d21f355752d9985aa21251c9e"
+-"checksum mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "dd1d63acd1b78403cc0c325605908475dd9b9a3acbf65ed8bcab97e27014afcf"
+-"checksum mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599"
+-"checksum miniz_oxide 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6f3f74f726ae935c3f514300cc6773a0c9492abc5e972d42ba0c0ebb88757625"
+-"checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f"
+-"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
+-"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
+-"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
+-"checksum nodrop 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
+-"checksum nom 4.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2ad2a91a8e869eeb30b9cb3119ae87773a8f4ae617f41b1eb9c154b2905f7bd6"
+-"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
+-"checksum num-traits 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "6ba9a427cfca2be13aa6f6403b0b7e7368fe982bfa16fccc450ce74c46cd9b32"
+-"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
+-"checksum parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "92e98c49ab0b7ce5b222f2cc9193fc4efe11c6d0bd4f648e374684a6857b1cfc"
+-"checksum parking_lot 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
+-"checksum parking_lot_core 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
+-"checksum parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7582838484df45743c8434fbff785e8edf260c28748353d44bc0da32e0ceabf1"
+-"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+-"checksum pin-project 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "94b90146c7216e4cb534069fb91366de4ea0ea353105ee45ed297e2d1619e469"
+-"checksum pin-project-internal 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "44ca92f893f0656d3cba8158dd0f2b99b94de256a4a54e870bd6922fcc6c8355"
+-"checksum pin-project-lite 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e8822eb8bb72452f038ebf6048efa02c3fe22bf83f76519c9583e47fc194a422"
+-"checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
+-"checksum pkg-config 0.3.16 (registry+https://github.com/rust-lang/crates.io-index)" = "72d5370d90f49f70bd033c3d75e87fc529fbfff9d6f7cccef07d6170079d91ea"
+-"checksum ppv-lite86 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "74490b50b9fbe561ac330df47c08f3f33073d2d00c150f719147d7c54522fa1b"
+-"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
+-"checksum proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
+-"checksum proc-macro2 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "9c9e470a8dc4aeae2dee2f335e8f533e2d4b347e1434e5671afc49b054592f27"
+-"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
+-"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
+-"checksum r2d2 0.8.6 (registry+https://github.com/rust-lang/crates.io-index)" = "e48fa64898ef0286b6ee4b4d8f61483f9182acf5e44e62a398b1c7f56f2f861d"
+-"checksum radix_fmt 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce082a9940a7ace2ad4a8b7d0b1eac6aa378895f18be598230c5f2284ac05426"
+-"checksum rand 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+-"checksum rand_chacha 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "03a2a90da8c7523f554344f921aa97283eadf6ac484a6d2a7d0212fa7f8d6853"
+-"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+-"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+-"checksum rand_core 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+-"checksum rand_hc 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+-"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+-"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+-"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
+-"checksum redox_users 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ecedbca3bf205f8d8f5c2b44d83cd0690e39ee84b951ed649e9f1841132b66d"
+-"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
+-"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
+-"checksum remove_dir_all 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "4a83fa3702a688b9359eccba92d153ac33fd2e8462f9e0e3fdf155239ea7792e"
+-"checksum resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b263b4aa1b5de9ffc0054a2386f96992058bb6870aab516f8cdeb8a667d56dcb"
+-"checksum ring 0.16.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6747f8da1f2b1fabbee1aaa4eb8a11abf9adef0bf58a41cee45db5d59cecdfac"
+-"checksum rust-argon2 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4ca4eaef519b494d1f2848fc602d18816fed808a981aedf4f1f00ceb7c9d32cf"
+-"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
+-"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+-"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
+-"checksum scheduled-thread-pool 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bd07742e081ff6c077f5f6b283f12f32b9e7cc765b316160d66289b74546fbb3"
+-"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
+-"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+-"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+-"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
+-"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
+-"checksum serde_json 1.0.41 (registry+https://github.com/rust-lang/crates.io-index)" = "2f72eb2a68a7dc3f9a691bfda9305a1c017a6215e5a4545c258500d2099a37c2"
+-"checksum serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
+-"checksum sha1 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
+-"checksum signal-hook-registry 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1797d48f38f91643908bb14e35e79928f9f4b3cefb2420a564dde0991b4358dc"
+-"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+-"checksum smallvec 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "ab606a9c5e214920bb66c458cd7be8ef094f813f20fe77a54cc7dbfff220d4b7"
+-"checksum smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44e59e0c9fa00817912ae6e4e6e3c4fe04455e75699d06eedc7d85917ed8e8f4"
+-"checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
+-"checksum sourcefile 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "4bf77cb82ba8453b42b6ae1d692e4cdc92f9a47beaf89a847c8be83f4e328ad3"
+-"checksum spin 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d"
+-"checksum syn 1.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "0e7bedb3320d0f3035594b0b723c8a28d7d336a3eda3881db79e61d676fb644c"
+-"checksum synstructure 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3f085a5855930c0441ca1288cf044ea4aecf4f43a91668abdb870b4ba546a203"
+-"checksum tempfile 3.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
+-"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
+-"checksum termios 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "72b620c5ea021d75a735c943269bb07d30c9b77d6ac6b236bc8b5c496ef05625"
+-"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
+-"checksum threadpool 1.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e2f0c90a5f3459330ac8bc0d2f879c693bb7a2f59689c1083fc4ef83834da865"
+-"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+-"checksum tokio 0.2.9 (registry+https://github.com/rust-lang/crates.io-index)" = "ffa2fdcfa937b20cb3c822a635ceecd5fc1a27a6a474527e5516aa24b8c8820a"
+-"checksum tokio-util 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "571da51182ec208780505a32528fc5512a8fe1443ab960b3f2f3ef093cd16930"
+-"checksum toml 0.5.5 (registry+https://github.com/rust-lang/crates.io-index)" = "01d1404644c8b12b16bfcffa4322403a91a451584daaaa7c28d3152e6cbc98cf"
+-"checksum trust-dns-proto 0.18.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "2a7f3a2ab8a919f5eca52a468866a67ed7d3efa265d48a652a9a3452272b413f"
+-"checksum trust-dns-resolver 0.18.0-alpha.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6f90b1502b226f8b2514c6d5b37bafa8c200d7ca4102d57dc36ee0f3b7a04a2f"
+-"checksum twoway 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6b40075910de3a912adbd80b5d8bad6ad10a23eeb1f5bf9d4006839e899ba5bc"
+-"checksum unchecked-index 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "eeba86d422ce181a719445e51872fa30f1f7413b62becb52e95ec91aa262d85c"
+-"checksum unicase 2.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2e2e6bd1e59e56598518beb94fd6db628ded570326f0a98c679a304bd9f00150"
+-"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+-"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
+-"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
+-"checksum unicode-width 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
+-"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
+-"checksum untrusted 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "60369ef7a31de49bcb3f6ca728d4ba7300d9a1658f94c727d4cab8c8d9f4aece"
+-"checksum url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
+-"checksum v_escape 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)" = "660b101c07b5d0863deb9e7fb3138777e858d6d2a79f9e6049a27d1cc77c6da6"
+-"checksum v_escape_derive 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c2ca2a14bc3fc5b64d188b087a7d3a927df87b152e941ccfbc66672e20c467ae"
+-"checksum v_htmlescape 0.4.5 (registry+https://github.com/rust-lang/crates.io-index)" = "e33e939c0d8cf047514fb6ba7d5aac78bc56677a6938b2ee67000b91f2e97e41"
+-"checksum vcpkg 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "33dd455d0f96e90a75803cfeb7f948768c08d70a6de9a8d2362461935698bf95"
+-"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+-"checksum wasi 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b89c3ce4ce14bdc6fb6beaf9ec7928ca331de5df7e5ea278375642a2f478570d"
+-"checksum wasm-bindgen 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "5205e9afdf42282b192e2310a5b463a6d1c1d774e30dc3c791ac37ab42d2616c"
+-"checksum wasm-bindgen-backend 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "11cdb95816290b525b32587d76419facd99662a07e59d3cdb560488a819d9a45"
+-"checksum wasm-bindgen-macro 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "574094772ce6921576fb6f2e3f7497b8a76273b6db092be18fc48a082de09dc3"
+-"checksum wasm-bindgen-macro-support 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "e85031354f25eaebe78bb7db1c3d86140312a911a106b2e29f9cc440ce3e7668"
+-"checksum wasm-bindgen-shared 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "f5e7e61fc929f4c0dddb748b102ebf9f632e2b8d739f2016542b4de2965a9601"
+-"checksum wasm-bindgen-webidl 0.2.58 (registry+https://github.com/rust-lang/crates.io-index)" = "ef012a0d93fc0432df126a8eaf547b2dce25a8ce9212e1d3cbeef5c11157975d"
+-"checksum web-sys 0.3.35 (registry+https://github.com/rust-lang/crates.io-index)" = "aaf97caf6aa8c2b1dac90faf0db529d9d63c93846cca4911856f78a83cebf53b"
+-"checksum weedle 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3bb43f70885151e629e2a19ce9e50bd730fd436cfd4b666894c9ce4de9141164"
+-"checksum widestring 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "effc0e4ff8085673ea7b9b2e3c73f6bd4d118810c9009ed8f1e16bd96c331db6"
+-"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+-"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
+-"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+-"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+-"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
+-"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+-"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
+-"checksum winreg 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b2986deb581c4fe11b621998a5e53361efe6b48a151178d0cd9eeffa4dc6acc9"
+-"checksum winutil 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7daf138b6b14196e3830a588acf1e86966c694d3e8fb026fb105b8b5dca07e6e"
+-"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
diff --git a/testing/filite/system-sqlite.patch b/testing/filite/system-sqlite.patch
new file mode 100644
index 00000000000..c9c3fb02c5c
--- /dev/null
+++ b/testing/filite/system-sqlite.patch
@@ -0,0 +1,24 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 807f0eb..2791bee 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1130,7 +1130,6 @@ version = "0.16.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "5e5b95e89c330291768dc840238db7f9e204fd208511ab6319b56193a7f2ae25"
+ dependencies = [
+- "cc",
+ "pkg-config",
+ "vcpkg",
+ ]
+diff --git a/Cargo.toml b/Cargo.toml
+index e88ccb3..5792637 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -40,7 +40,6 @@ version = "1.4.3"
+ features = ["r2d2", "sqlite"]
+ [dependencies.libsqlite3-sys]
+ version = "0.16.0"
+-features = ["bundled"]
+ [dependencies.serde]
+ version = "1.0.104"
+ features = ["derive"]
diff --git a/testing/findtow/APKBUILD b/testing/findtow/APKBUILD
new file mode 100644
index 00000000000..83ae32cca56
--- /dev/null
+++ b/testing/findtow/APKBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+# Contributor: Martijn Braam <martijn@brixit.nl>
+pkgname=findtow
+pkgver=0.1
+pkgrel=0
+pkgdesc="Command line tool for detecting tow-boot shared installations"
+url="https://git.sr.ht/~martijnbraam/findtow"
+arch="all"
+license="GPL-3.0-only"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/findtow/archive/$pkgver.tar.gz"
+makedepends="meson util-linux-dev"
+options="!check" # No testsuite
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+2ae5a4715b32520a8d9a8029149a308b47f0e16019d3df45b8271883c251ac193599d39f666d09f97ba31562b7b7cc111cb5e2b3aa334f2899c8505b7f846f40 findtow-0.1.tar.gz
+"
diff --git a/testing/finger/APKBUILD b/testing/finger/APKBUILD
new file mode 100644
index 00000000000..56ea0074a3e
--- /dev/null
+++ b/testing/finger/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Bryce Vandegrift <bryce@brycevandegrift.xyz>
+# Maintainer: Bryce Vandegrift <bryce@brycevandegrift.xyz>
+pkgname=finger
+pkgver=0.5
+pkgrel=0
+pkgdesc="Small, simple, and portable finger client and server"
+url="https://sr.ht/~bpv/finger/"
+arch="all"
+license="MIT"
+makedepends="scdoc"
+subpackages="$pkgname-doc"
+options="!check" # no test suite
+source="$pkgname-v$pkgver.tar.gz::https://git.sr.ht/~bpv/finger/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+prepare() {
+ default_prepare
+ sed -i '/CFLAGS/{s/=/+=/}' "$builddir"/config.mk
+}
+
+build() {
+ make
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+a37a6766669430d7cdf1165ddf149dc59103150a3e9a06b2a73c4dbe67494bec5f1ad7f1c78c226e72b815001033f8a6165ff2cd70add91a785b444574dde4b1 finger-v0.5.tar.gz
+"
diff --git a/testing/firecracker/10-dependencies-Included-vm-fdt-crate.patch b/testing/firecracker/10-dependencies-Included-vm-fdt-crate.patch
deleted file mode 100644
index 20ab575e4a2..00000000000
--- a/testing/firecracker/10-dependencies-Included-vm-fdt-crate.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From df22cfffafa2d9526a18c6ebc709b4d764286681 Mon Sep 17 00:00:00 2001
-From: AlexandruCihodaru <cihodar@amazon.com>
-Date: Mon, 6 Sep 2021 11:13:47 +0300
-Subject: [PATCH] [dependencies]: Included vm-fdt crate
-
-Signed-off-by: AlexandruCihodaru <cihodar@amazon.com>
----
- Cargo.lock | 7 +++++++
- src/arch/Cargo.toml | 2 +-
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/Cargo.lock b/Cargo.lock
-index 29851740..d1262012 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -39,6 +39,7 @@ dependencies = [
- "utils",
- "versionize",
- "versionize_derive",
-+ "vm-fdt",
- "vm-memory 0.1.0",
- ]
-
-@@ -965,6 +966,12 @@ dependencies = [
- name = "virtio_gen"
- version = "0.1.0"
-
-+[[package]]
-+name = "vm-fdt"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bd986f4fdf949ab2181c7b4fedb03fb0e9de6b0aa788fff247b2608701ce3457"
-+
- [[package]]
- name = "vm-memory"
- version = "0.1.0"
-diff --git a/src/arch/Cargo.toml b/src/arch/Cargo.toml
-index be5b7b84..73e4dfcc 100644
---- a/src/arch/Cargo.toml
-+++ b/src/arch/Cargo.toml
-@@ -9,6 +9,7 @@ kvm-bindings = { version = ">=0.5.0", features = ["fam-wrappers"] }
- kvm-ioctls = ">=0.9.0"
- libc = ">=0.2.39"
- vm-memory = { path = "../vm-memory" }
-+vm-fdt = "0.1.0"
- versionize = ">=0.1.6"
- versionize_derive = ">=0.1.3"
-
-@@ -18,6 +19,5 @@ utils = { path = "../utils" }
-
- [dev-dependencies]
- device_tree = ">=1.1.0"
--
- [target.'cfg(target_arch="aarch64")'.dependencies]
- libfdt-bindings = { path = "../libfdt-bindings" }
-\ No newline at end of file
---
-2.31.1
-
diff --git a/testing/firecracker/20-vm-fdt-Replace-libfdt-with-vm-fdt.patch b/testing/firecracker/20-vm-fdt-Replace-libfdt-with-vm-fdt.patch
deleted file mode 100644
index 8f83b142c82..00000000000
--- a/testing/firecracker/20-vm-fdt-Replace-libfdt-with-vm-fdt.patch
+++ /dev/null
@@ -1,822 +0,0 @@
-From 61f4979803c7957d78a91f327bf2cfa03ba8cd13 Mon Sep 17 00:00:00 2001
-From: AlexandruCihodaru <cihodar@amazon.com>
-Date: Thu, 2 Sep 2021 23:46:45 +0300
-Subject: [PATCH] [vm-fdt]: Replace libfdt with vm-fdt
-
-Deleted helper functions that have equivalent in vm-fdt and used
-vm-fdt to create the FDT.
-
-Signed-off-by: AlexandruCihodaru <cihodar@amazon.com>
-Thanks: Andreea Florescu <fandree@amazon.com>
----
- src/arch/src/aarch64/fdt.rs | 530 +++++++++++-------------------------
- src/arch/src/aarch64/mod.rs | 3 +-
- src/vmm/src/builder.rs | 2 +-
- 3 files changed, 166 insertions(+), 369 deletions(-)
-
-diff --git a/src/arch/src/aarch64/fdt.rs b/src/arch/src/aarch64/fdt.rs
-index b1db1873..f06c2dca 100644
---- a/src/arch/src/aarch64/fdt.rs
-+++ b/src/arch/src/aarch64/fdt.rs
-@@ -5,24 +5,19 @@
- // Use of this source code is governed by a BSD-style license that can be
- // found in the THIRD-PARTY file.
-
--use libc::{c_int, c_void};
- use std::collections::HashMap;
--use std::ffi::{CStr, CString, NulError};
- use std::fmt::Debug;
--use std::ptr::null;
--use std::{io, result};
--
--use libfdt_bindings::*;
-+use std::result;
-
- use super::super::DeviceType;
- use super::super::InitrdConfig;
- use super::cache_info::{read_cache_config, CacheEntry};
- use super::get_fdt_addr;
- use super::gic::GICDevice;
--use super::layout::FDT_MAX_SIZE;
--use crate::aarch64::fdt::Error::CstringFDTTransform;
- use vm_memory::{Address, Bytes, GuestAddress, GuestMemory, GuestMemoryError, GuestMemoryMmap};
-
-+use vm_fdt::{Error as VmFdtError, FdtWriter, FdtWriterNode};
-+
- // This is a value for uniquely identifying the FDT node declaring the interrupt controller.
- const GIC_PHANDLE: u32 = 1;
- // This is a value for uniquely identifying the FDT node containing the clock definition.
-@@ -60,251 +55,74 @@ pub trait DeviceInfoForFDT {
- /// Errors thrown while configuring the Flattened Device Tree for aarch64.
- #[derive(Debug)]
- pub enum Error {
-- /// Failed to append node to the FDT.
-- AppendFDTNode(io::Error),
-- /// Failed to append a property to the FDT.
-- AppendFDTProperty(io::Error),
-- /// Syscall for creating FDT failed.
-- CreateFDT(io::Error),
-- /// Failed to obtain a C style string.
-- CstringFDTTransform(NulError),
-- /// Failure in calling syscall for terminating this FDT.
-- FinishFDTReserveMap(io::Error),
-- /// Failure in populating the cache information for the vcpus.
-+ CreateFdt(VmFdtError),
- ReadCacheInfo(String),
- /// Failure in writing FDT in memory.
-- WriteFDTToMemory(GuestMemoryError),
-+ WriteFdtToMemory(GuestMemoryError),
-+}
-+
-+impl From<VmFdtError> for Error {
-+ fn from(e: VmFdtError) -> Self {
-+ Error::CreateFdt(e)
-+ }
- }
-+
- type Result<T> = result::Result<T, Error>;
-
- /// Creates the flattened device tree for this aarch64 microVM.
- pub fn create_fdt<T: DeviceInfoForFDT + Clone + Debug, S: std::hash::BuildHasher>(
- guest_mem: &GuestMemoryMmap,
- vcpu_mpidr: Vec<u64>,
-- cmdline: &CStr,
-+ cmdline: &str,
- device_info: &HashMap<(DeviceType, String), T, S>,
- gic_device: &dyn GICDevice,
- initrd: &Option<InitrdConfig>,
- ) -> Result<Vec<u8>> {
- // Allocate stuff necessary for storing the blob.
-- let mut fdt = vec![0; FDT_MAX_SIZE];
--
-- allocate_fdt(&mut fdt)?;
-+ let mut fdt_writer = FdtWriter::new()?;
-
- // For an explanation why these nodes were introduced in the blob take a look at
- // https://github.com/torvalds/linux/blob/master/Documentation/devicetree/booting-without-of.txt#L845
- // Look for "Required nodes and properties".
-
- // Header or the root node as per above mentioned documentation.
-- append_begin_node(&mut fdt, "")?;
-- append_property_string(&mut fdt, "compatible", "linux,dummy-virt")?;
-+ let root = fdt_writer.begin_node("")?;
-+ fdt_writer.property_string("compatible", "linux,dummy-virt")?;
- // For info on #address-cells and size-cells read "Note about cells and address representation"
- // from the above mentioned txt file.
-- append_property_u32(&mut fdt, "#address-cells", ADDRESS_CELLS)?;
-- append_property_u32(&mut fdt, "#size-cells", SIZE_CELLS)?;
-+ fdt_writer.property_u32("#address-cells", ADDRESS_CELLS)?;
-+ fdt_writer.property_u32("#size-cells", SIZE_CELLS)?;
- // This is not mandatory but we use it to point the root node to the node
- // containing description of the interrupt controller for this VM.
-- append_property_u32(&mut fdt, "interrupt-parent", GIC_PHANDLE)?;
-- create_cpu_nodes(&mut fdt, &vcpu_mpidr)?;
-- create_memory_node(&mut fdt, guest_mem)?;
-- create_chosen_node(&mut fdt, cmdline, initrd)?;
-- create_gic_node(&mut fdt, gic_device)?;
-- create_timer_node(&mut fdt)?;
-- create_clock_node(&mut fdt)?;
-- create_psci_node(&mut fdt)?;
-- create_devices_node(&mut fdt, &device_info)?;
-+ fdt_writer.property_u32("interrupt-parent", GIC_PHANDLE)?;
-+ create_cpu_nodes(&mut fdt_writer, &vcpu_mpidr)?;
-+ create_memory_node(&mut fdt_writer, guest_mem)?;
-+ create_chosen_node(&mut fdt_writer, cmdline, initrd)?;
-+ create_gic_node(&mut fdt_writer, gic_device)?;
-+ create_timer_node(&mut fdt_writer)?;
-+ create_clock_node(&mut fdt_writer)?;
-+ create_psci_node(&mut fdt_writer)?;
-+ create_devices_node(&mut fdt_writer, &device_info)?;
-
- // End Header node.
-- append_end_node(&mut fdt)?;
-+ fdt_writer.end_node(root)?;
-
- // Allocate another buffer so we can format and then write fdt to guest.
-- let mut fdt_final = vec![0; FDT_MAX_SIZE];
-- finish_fdt(&mut fdt, &mut fdt_final)?;
-+ let fdt_final = fdt_writer.finish()?;
-
- // Write FDT to memory.
- let fdt_address = GuestAddress(get_fdt_addr(&guest_mem));
- guest_mem
- .write_slice(fdt_final.as_slice(), fdt_address)
-- .map_err(Error::WriteFDTToMemory)?;
-+ .map_err(Error::WriteFdtToMemory)?;
- Ok(fdt_final)
- }
-
--// Following are auxiliary functions for allocating and finishing the FDT.
--fn allocate_fdt(fdt: &mut Vec<u8>) -> Result<()> {
-- // Safe since we allocated this array with FDT_MAX_SIZE.
-- let mut fdt_ret = unsafe { fdt_create(fdt.as_mut_ptr() as *mut c_void, FDT_MAX_SIZE as c_int) };
--
-- if fdt_ret != 0 {
-- return Err(Error::CreateFDT(io::Error::last_os_error()));
-- }
--
-- // The flattened device trees created with fdt_create() contains a list of
-- // reserved memory areas. We need to call `fdt_finish_reservemap` so as to make sure that there is a
-- // terminator in the reservemap list and whatever happened to be at the
-- // start of the FDT data section would end up being interpreted as
-- // reservemap entries.
-- // Safe since we previously allocated this array.
-- fdt_ret = unsafe { fdt_finish_reservemap(fdt.as_mut_ptr() as *mut c_void) };
-- if fdt_ret != 0 {
-- return Err(Error::FinishFDTReserveMap(io::Error::last_os_error()));
-- }
-- Ok(())
--}
--
--fn finish_fdt(from_fdt: &mut Vec<u8>, to_fdt: &mut Vec<u8>) -> Result<()> {
-- // Safe since we allocated `fdt_final` and previously passed in its size.
-- let mut fdt_ret = unsafe { fdt_finish(from_fdt.as_mut_ptr() as *mut c_void) };
-- if fdt_ret != 0 {
-- return Err(Error::FinishFDTReserveMap(io::Error::last_os_error()));
-- }
--
-- // Safe because we allocated both arrays with the correct size.
-- fdt_ret = unsafe {
-- fdt_open_into(
-- from_fdt.as_mut_ptr() as *mut c_void,
-- to_fdt.as_mut_ptr() as *mut c_void,
-- FDT_MAX_SIZE as i32,
-- )
-- };
-- if fdt_ret != 0 {
-- return Err(Error::FinishFDTReserveMap(io::Error::last_os_error()));
-- }
--
-- // Safe since we allocated `to_fdt`.
-- fdt_ret = unsafe { fdt_pack(to_fdt.as_mut_ptr() as *mut c_void) };
-- if fdt_ret != 0 {
-- return Err(Error::FinishFDTReserveMap(io::Error::last_os_error()));
-- }
-- Ok(())
--}
--
--// Following are auxiliary functions for appending nodes to FDT.
--fn append_begin_node(fdt: &mut Vec<u8>, name: &str) -> Result<()> {
-- let cstr_name = CString::new(name).map_err(CstringFDTTransform)?;
--
-- // Safe because we allocated fdt and converted name to a CString
-- let fdt_ret = unsafe { fdt_begin_node(fdt.as_mut_ptr() as *mut c_void, cstr_name.as_ptr()) };
-- if fdt_ret != 0 {
-- return Err(Error::AppendFDTNode(io::Error::last_os_error()));
-- }
-- Ok(())
--}
--
--fn append_end_node(fdt: &mut Vec<u8>) -> Result<()> {
-- // Safe because we allocated fdt.
-- let fdt_ret = unsafe { fdt_end_node(fdt.as_mut_ptr() as *mut c_void) };
-- if fdt_ret != 0 {
-- return Err(Error::AppendFDTNode(io::Error::last_os_error()));
-- }
-- Ok(())
--}
--
--// Following are auxiliary functions for appending property nodes to the nodes of the FDT.
--fn append_property_u32(fdt: &mut Vec<u8>, name: &str, val: u32) -> Result<()> {
-- append_property(fdt, name, &to_be32(val))
--}
--
--fn append_property_u64(fdt: &mut Vec<u8>, name: &str, val: u64) -> Result<()> {
-- append_property(fdt, name, &to_be64(val))
--}
--
--fn append_property_string(fdt: &mut Vec<u8>, name: &str, value: &str) -> Result<()> {
-- let cstr_value = CString::new(value).map_err(CstringFDTTransform)?;
-- append_property_cstring(fdt, name, &cstr_value)
--}
--
--fn append_property_cstring(fdt: &mut Vec<u8>, name: &str, cstr_value: &CStr) -> Result<()> {
-- let value_bytes = cstr_value.to_bytes_with_nul();
-- let cstr_name = CString::new(name).map_err(CstringFDTTransform)?;
-- // Safe because we allocated fdt, converted name and value to CStrings
-- let fdt_ret = unsafe {
-- fdt_property(
-- fdt.as_mut_ptr() as *mut c_void,
-- cstr_name.as_ptr(),
-- value_bytes.as_ptr() as *mut c_void,
-- value_bytes.len() as i32,
-- )
-- };
-- if fdt_ret != 0 {
-- return Err(Error::AppendFDTProperty(io::Error::last_os_error()));
-- }
-- Ok(())
--}
--
--fn append_property_null(fdt: &mut Vec<u8>, name: &str) -> Result<()> {
-- let cstr_name = CString::new(name).map_err(CstringFDTTransform)?;
--
-- // Safe because we allocated fdt, converted name to a CString
-- let fdt_ret = unsafe {
-- fdt_property(
-- fdt.as_mut_ptr() as *mut c_void,
-- cstr_name.as_ptr(),
-- null(),
-- 0,
-- )
-- };
-- if fdt_ret != 0 {
-- return Err(Error::AppendFDTProperty(io::Error::last_os_error()));
-- }
-- Ok(())
--}
--
--fn append_property(fdt: &mut Vec<u8>, name: &str, val: &[u8]) -> Result<()> {
-- let cstr_name = CString::new(name).map_err(CstringFDTTransform)?;
-- let val_ptr = val.as_ptr() as *const c_void;
--
-- // Safe because we allocated fdt and converted name to a CString
-- let fdt_ret = unsafe {
-- fdt_property(
-- fdt.as_mut_ptr() as *mut c_void,
-- cstr_name.as_ptr(),
-- val_ptr,
-- val.len() as i32,
-- )
-- };
-- if fdt_ret != 0 {
-- return Err(Error::AppendFDTProperty(io::Error::last_os_error()));
-- }
-- Ok(())
--}
--
--fn append_cache_property_u32(fdt: &mut Vec<u8>, name: &str, val: Option<u32>) -> Result<()> {
-- if let Some(cache_attr) = val {
-- append_property_u32(fdt, name, cache_attr)?;
-- }
-- Ok(())
--}
--
--// Auxiliary functions for writing u32/u64 numbers in big endian order.
--fn to_be32(input: u32) -> [u8; 4] {
-- u32::to_be_bytes(input)
--}
--
--fn to_be64(input: u64) -> [u8; 8] {
-- u64::to_be_bytes(input)
--}
--
--// Helper functions for generating a properly formatted byte vector using 32-bit/64-bit cells.
--fn generate_prop32(cells: &[u32]) -> Vec<u8> {
-- let mut ret: Vec<u8> = Vec::new();
-- for &e in cells {
-- ret.extend(to_be32(e).iter());
-- }
-- ret
--}
--
--fn generate_prop64(cells: &[u64]) -> Vec<u8> {
-- let mut ret: Vec<u8> = Vec::new();
-- for &e in cells {
-- ret.extend(to_be64(e).iter());
-- }
-- ret
--}
--
- // Following are the auxiliary function for creating the different nodes that we append to our FDT.
--fn create_cpu_nodes(fdt: &mut Vec<u8>, vcpu_mpidr: &[u64]) -> Result<()> {
-+fn create_cpu_nodes(fdt: &mut FdtWriter, vcpu_mpidr: &[u64]) -> Result<()> {
- // Since the L1 caches are not shareable among CPUs and they are direct attributes of the
- // cpu in the device tree, we process the L1 and non-L1 caches separately.
-+ // We use sysfs for extracting the cache information.
- let mut l1_caches: Vec<CacheEntry> = Vec::new();
- let mut non_l1_caches: Vec<CacheEntry> = Vec::new();
- // We use sysfs for extracting the cache information.
-@@ -312,49 +130,42 @@ fn create_cpu_nodes(fdt: &mut Vec<u8>, vcpu_mpidr: &[u64]) -> Result<()> {
- .map_err(|e| Error::ReadCacheInfo(e.to_string()))?;
-
- // See https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/arm/cpus.yaml.
-- append_begin_node(fdt, "cpus")?;
-+ let cpus = fdt.begin_node("cpus")?;
- // As per documentation, on ARM v8 64-bit systems value should be set to 2.
-- append_property_u32(fdt, "#address-cells", 0x02)?;
-- append_property_u32(fdt, "#size-cells", 0x0)?;
-+ fdt.property_u32("#address-cells", 0x02)?;
-+ fdt.property_u32("#size-cells", 0x0)?;
- let num_cpus = vcpu_mpidr.len();
- for (cpu_index, mpidr) in vcpu_mpidr.iter().enumerate() {
-- let cpu_name = format!("cpu@{:x}", cpu_index);
-- append_begin_node(fdt, &cpu_name)?;
-- append_property_string(fdt, "device_type", "cpu")?;
-- append_property_string(fdt, "compatible", "arm,arm-v8")?;
-+ let cpu = fdt.begin_node(&format!("cpu@{:x}", cpu_index))?;
-+ fdt.property_string("device_type", "cpu")?;
-+ fdt.property_string("compatible", "arm,arm-v8")?;
- // The power state coordination interface (PSCI) needs to be enabled for
- // all vcpus.
-- append_property_string(fdt, "enable-method", "psci")?;
-+ fdt.property_string("enable-method", "psci")?;
- // Set the field to first 24 bits of the MPIDR - Multiprocessor Affinity Register.
- // See http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0488c/BABHBJCI.html.
-- append_property_u64(fdt, "reg", mpidr & 0x7F_FFFF)?;
-+ fdt.property_u64("reg", mpidr & 0x7FFFFF)?;
-
- for cache in l1_caches.iter() {
- // Please check out
- // https://github.com/devicetree-org/devicetree-specification/releases/download/v0.3/devicetree-specification-v0.3.pdf,
- // section 3.8.
-- append_cache_property_u32(
-- fdt,
-- cache.type_.of_cache_size(),
-- cache.size_.map(|s| s as u32),
-- )?;
-- append_cache_property_u32(
-- fdt,
-- cache.type_.of_cache_line_size(),
-- cache.line_size.map(|l| l as u32),
-- )?;
-- append_cache_property_u32(
-- fdt,
-- cache.type_.of_cache_sets(),
-- cache.number_of_sets.map(|s| s as u32),
-- )?;
-+ if let Some(size) = cache.size_ {
-+ fdt.property_u32(cache.type_.of_cache_size(), size as u32)?;
-+ }
-+ if let Some(line_size) = cache.line_size {
-+ fdt.property_u32(cache.type_.of_cache_line_size(), line_size as u32)?;
-+ }
-+ if let Some(number_of_sets) = cache.number_of_sets {
-+ fdt.property_u32(cache.type_.of_cache_sets(), number_of_sets as u32)?;
-+ }
- }
-
- // Some of the non-l1 caches can be shared amongst CPUs. You can see an example of a shared scenario
- // in https://github.com/devicetree-org/devicetree-specification/releases/download/v0.3/devicetree-specification-v0.3.pdf,
- // 3.8.1 Example.
- let mut prev_level = 1;
-- let mut node = false;
-+ let mut cache_node: Option<FdtWriterNode> = None;
- for cache in non_l1_caches.iter() {
- // We append the next-level-cache node (the node that specifies the cache hierarchy)
- // in the next iteration. For example,
-@@ -371,141 +182,127 @@ fn create_cpu_nodes(fdt: &mut Vec<u8>, vcpu_mpidr: &[u64]) -> Result<()> {
- as u32;
-
- if prev_level != cache.level {
-- append_property_u32(fdt, "next-level-cache", cache_phandle)?;
-- if prev_level > 1 {
-- append_end_node(fdt)?;
-- node = false;
-+ fdt.property_u32("next-level-cache", cache_phandle)?;
-+ if prev_level > 1 && cache_node.is_some() {
-+ fdt.end_node(cache_node.take().unwrap())?;
- }
- }
-
- if cpu_index % cache.cpus_per_unit as usize == 0 {
-- node = true;
-- append_begin_node(
-- fdt,
-- &format!(
-- "l{}-{}-cache",
-- cache.level,
-- cpu_index / cache.cpus_per_unit as usize
-- ),
-- )?;
-- append_property_u32(fdt, "phandle", cache_phandle)?;
-- append_property_string(fdt, "compatible", "cache")?;
-- append_property_u32(fdt, "cache-level", cache.level as u32)?;
-- append_cache_property_u32(
-- fdt,
-- cache.type_.of_cache_size(),
-- cache.size_.map(|s| s as u32),
-- )?;
--
-- append_cache_property_u32(
-- fdt,
-- cache.type_.of_cache_line_size(),
-- cache.line_size.map(|l| l as u32),
-- )?;
-- append_cache_property_u32(
-- fdt,
-- cache.type_.of_cache_sets(),
-- cache.number_of_sets.map(|s| s as u32),
-- )?;
-+ cache_node = Some(fdt.begin_node(&format!(
-+ "l{}-{}-cache",
-+ cache.level,
-+ cpu_index / cache.cpus_per_unit as usize
-+ ))?);
-+ fdt.property_u32("phandle", cache_phandle)?;
-+ fdt.property_string("compatible", "cache")?;
-+ fdt.property_u32("cache-level", cache.level as u32)?;
-+ if let Some(size) = cache.size_ {
-+ fdt.property_u32(cache.type_.of_cache_size(), size as u32)?;
-+ }
-+ if let Some(line_size) = cache.line_size {
-+ fdt.property_u32(cache.type_.of_cache_line_size(), line_size as u32)?;
-+ }
-+ if let Some(number_of_sets) = cache.number_of_sets {
-+ fdt.property_u32(cache.type_.of_cache_sets(), number_of_sets as u32)?;
-+ }
- if let Some(cache_type) = cache.type_.of_cache_type() {
-- append_property_null(fdt, cache_type)?;
-+ fdt.property_null(cache_type)?;
- }
- prev_level = cache.level;
- }
- }
-- if node {
-- append_end_node(fdt)?;
-+ if let Some(node) = cache_node {
-+ fdt.end_node(node)?;
- }
-- append_end_node(fdt)?;
-+
-+ fdt.end_node(cpu)?;
- }
-- append_end_node(fdt)?;
-+ fdt.end_node(cpus)?;
-+
- Ok(())
- }
-
--fn create_memory_node(fdt: &mut Vec<u8>, guest_mem: &GuestMemoryMmap) -> Result<()> {
-+fn create_memory_node(fdt: &mut FdtWriter, guest_mem: &GuestMemoryMmap) -> Result<()> {
- let mem_size = guest_mem.last_addr().raw_value() - super::layout::DRAM_MEM_START + 1;
- // See https://github.com/torvalds/linux/blob/master/Documentation/devicetree/booting-without-of.txt#L960
- // for an explanation of this.
-- let mem_reg_prop = generate_prop64(&[super::layout::DRAM_MEM_START as u64, mem_size as u64]);
-+ let mem_reg_prop = &[super::layout::DRAM_MEM_START as u64, mem_size as u64];
-+
-+ let mem = fdt.begin_node("memory")?;
-+ fdt.property_string("device_type", "memory")?;
-+ fdt.property_array_u64("reg", mem_reg_prop)?;
-+ fdt.end_node(mem)?;
-
-- append_begin_node(fdt, "memory")?;
-- append_property_string(fdt, "device_type", "memory")?;
-- append_property(fdt, "reg", &mem_reg_prop)?;
-- append_end_node(fdt)?;
- Ok(())
- }
-
- fn create_chosen_node(
-- fdt: &mut Vec<u8>,
-- cmdline: &CStr,
-+ fdt: &mut FdtWriter,
-+ cmdline: &str,
- initrd: &Option<InitrdConfig>,
- ) -> Result<()> {
-- append_begin_node(fdt, "chosen")?;
-- append_property_cstring(fdt, "bootargs", cmdline)?;
-+ let chosen = fdt.begin_node("chosen")?;
-+ fdt.property_string("bootargs", cmdline)?;
-
- if let Some(initrd_config) = initrd {
-- append_property_u64(
-- fdt,
-+ fdt.property_u64(
- "linux,initrd-start",
- initrd_config.address.raw_value() as u64,
- )?;
-- append_property_u64(
-- fdt,
-+ fdt.property_u64(
- "linux,initrd-end",
- initrd_config.address.raw_value() + initrd_config.size as u64,
- )?;
- }
-
-- append_end_node(fdt)?;
-+ fdt.end_node(chosen)?;
-
- Ok(())
- }
-
--fn create_gic_node(fdt: &mut Vec<u8>, gic_device: &dyn GICDevice) -> Result<()> {
-- let gic_reg_prop = generate_prop64(gic_device.device_properties());
--
-- append_begin_node(fdt, "intc")?;
-- append_property_string(fdt, "compatible", gic_device.fdt_compatibility())?;
-- append_property_null(fdt, "interrupt-controller")?;
-+fn create_gic_node(fdt: &mut FdtWriter, gic_device: &dyn GICDevice) -> Result<()> {
-+ let interrupt = fdt.begin_node("intc")?;
-+ fdt.property_string("compatible", gic_device.fdt_compatibility())?;
-+ fdt.property_null("interrupt-controller")?;
- // "interrupt-cells" field specifies the number of cells needed to encode an
- // interrupt source. The type shall be a <u32> and the value shall be 3 if no PPI affinity description
- // is required.
-- append_property_u32(fdt, "#interrupt-cells", 3)?;
-- append_property(fdt, "reg", &gic_reg_prop)?;
-- append_property_u32(fdt, "phandle", GIC_PHANDLE)?;
-- append_property_u32(fdt, "#address-cells", 2)?;
-- append_property_u32(fdt, "#size-cells", 2)?;
-- append_property_null(fdt, "ranges")?;
-+ fdt.property_u32("#interrupt-cells", 3)?;
-+ fdt.property_array_u64("reg", &gic_device.device_properties())?;
-+ fdt.property_u32("phandle", GIC_PHANDLE)?;
-+ fdt.property_u32("#address-cells", 2)?;
-+ fdt.property_u32("#size-cells", 2)?;
-+ fdt.property_null("ranges")?;
-+
- let gic_intr = [
- GIC_FDT_IRQ_TYPE_PPI,
- gic_device.fdt_maint_irq(),
- IRQ_TYPE_LEVEL_HI,
- ];
-- let gic_intr_prop = generate_prop32(&gic_intr);
-
-- append_property(fdt, "interrupts", &gic_intr_prop)?;
-- append_end_node(fdt)?;
-+ fdt.property_array_u32("interrupts", &gic_intr)?;
-+ fdt.end_node(interrupt)?;
-
- Ok(())
- }
-
--fn create_clock_node(fdt: &mut Vec<u8>) -> Result<()> {
-+fn create_clock_node(fdt: &mut FdtWriter) -> Result<()> {
- // The Advanced Peripheral Bus (APB) is part of the Advanced Microcontroller Bus Architecture
- // (AMBA) protocol family. It defines a low-cost interface that is optimized for minimal power
- // consumption and reduced interface complexity.
- // PCLK is the clock source and this node defines exactly the clock for the APB.
-- append_begin_node(fdt, "apb-pclk")?;
-- append_property_string(fdt, "compatible", "fixed-clock")?;
-- append_property_u32(fdt, "#clock-cells", 0x0)?;
-- append_property_u32(fdt, "clock-frequency", 24_000_000)?;
-- append_property_string(fdt, "clock-output-names", "clk24mhz")?;
-- append_property_u32(fdt, "phandle", CLOCK_PHANDLE)?;
-- append_end_node(fdt)?;
--
-+ let clock = fdt.begin_node("apb-pclk")?;
-+ fdt.property_string("compatible", "fixed-clock")?;
-+ fdt.property_u32("#clock-cells", 0x0)?;
-+ fdt.property_u32("clock-frequency", 24_000_000)?;
-+ fdt.property_string("clock-output-names", "clk24mhz")?;
-+ fdt.property_u32("phandle", CLOCK_PHANDLE)?;
-+ fdt.end_node(clock)?;
- Ok(())
- }
-
--fn create_timer_node(fdt: &mut Vec<u8>) -> Result<()> {
-+fn create_timer_node(fdt: &mut FdtWriter) -> Result<()> {
- // See
- // https://github.com/torvalds/linux/blob/master/Documentation/devicetree/bindings/interrupt-controller/arch_timer.txt
- // These are fixed interrupt numbers for the timer device.
-@@ -518,85 +315,88 @@ fn create_timer_node(fdt: &mut Vec<u8>) -> Result<()> {
- timer_reg_cells.push(irq);
- timer_reg_cells.push(IRQ_TYPE_LEVEL_HI);
- }
-- let timer_reg_prop = generate_prop32(timer_reg_cells.as_slice());
--
-- append_begin_node(fdt, "timer")?;
-- append_property_string(fdt, "compatible", compatible)?;
-- append_property_null(fdt, "always-on")?;
-- append_property(fdt, "interrupts", &timer_reg_prop)?;
-- append_end_node(fdt)?;
-
-+ let timer = fdt.begin_node("timer")?;
-+ fdt.property_string("compatible", compatible)?;
-+ fdt.property_null("always-on")?;
-+ fdt.property_array_u32("interrupts", &timer_reg_cells)?;
-+ fdt.end_node(timer)?;
- Ok(())
- }
-
--fn create_psci_node(fdt: &mut Vec<u8>) -> Result<()> {
-+fn create_psci_node(fdt: &mut FdtWriter) -> Result<()> {
- let compatible = "arm,psci-0.2";
-- append_begin_node(fdt, "psci")?;
-- append_property_string(fdt, "compatible", compatible)?;
-+
-+ let psci = fdt.begin_node("psci")?;
-+ fdt.property_string("compatible", compatible)?;
- // Two methods available: hvc and smc.
- // As per documentation, PSCI calls between a guest and hypervisor may use the HVC conduit instead of SMC.
- // So, since we are using kvm, we need to use hvc.
-- append_property_string(fdt, "method", "hvc")?;
-- append_end_node(fdt)?;
-+ fdt.property_string("method", "hvc")?;
-+ fdt.end_node(psci)?;
-
- Ok(())
- }
-
- fn create_virtio_node<T: DeviceInfoForFDT + Clone + Debug>(
-- fdt: &mut Vec<u8>,
-+ fdt: &mut FdtWriter,
- dev_info: &T,
- ) -> Result<()> {
-- let device_reg_prop = generate_prop64(&[dev_info.addr(), dev_info.length()]);
-- let irq = generate_prop32(&[GIC_FDT_IRQ_TYPE_SPI, dev_info.irq(), IRQ_TYPE_EDGE_RISING]);
-+ let virtio_mmio = fdt.begin_node(&format!("virtio_mmio@{:x}", dev_info.addr()))?;
-
-- append_begin_node(fdt, &format!("virtio_mmio@{:x}", dev_info.addr()))?;
-- append_property_string(fdt, "compatible", "virtio,mmio")?;
-- append_property(fdt, "reg", &device_reg_prop)?;
-- append_property(fdt, "interrupts", &irq)?;
-- append_property_u32(fdt, "interrupt-parent", GIC_PHANDLE)?;
-- append_end_node(fdt)?;
-+ fdt.property_string("compatible", "virtio,mmio")?;
-+ fdt.property_array_u64("reg", &[dev_info.addr(), dev_info.length()])?;
-+ fdt.property_array_u32(
-+ "interrupts",
-+ &[GIC_FDT_IRQ_TYPE_SPI, dev_info.irq(), IRQ_TYPE_EDGE_RISING],
-+ )?;
-+ fdt.property_u32("interrupt-parent", GIC_PHANDLE)?;
-+ fdt.end_node(virtio_mmio)?;
-
- Ok(())
- }
-
- fn create_serial_node<T: DeviceInfoForFDT + Clone + Debug>(
-- fdt: &mut Vec<u8>,
-+ fdt: &mut FdtWriter,
- dev_info: &T,
- ) -> Result<()> {
-- let serial_reg_prop = generate_prop64(&[dev_info.addr(), dev_info.length()]);
-- let irq = generate_prop32(&[GIC_FDT_IRQ_TYPE_SPI, dev_info.irq(), IRQ_TYPE_EDGE_RISING]);
--
-- append_begin_node(fdt, &format!("uart@{:x}", dev_info.addr()))?;
-- append_property_string(fdt, "compatible", "ns16550a")?;
-- append_property(fdt, "reg", &serial_reg_prop)?;
-- append_property_u32(fdt, "clocks", CLOCK_PHANDLE)?;
-- append_property_string(fdt, "clock-names", "apb_pclk")?;
-- append_property(fdt, "interrupts", &irq)?;
-- append_end_node(fdt)?;
-+ let serial = fdt.begin_node(&format!("uart@{:x}", dev_info.addr()))?;
-+
-+ fdt.property_string("compatible", "ns16550a")?;
-+ fdt.property_array_u64("reg", &[dev_info.addr(), dev_info.length()])?;
-+ fdt.property_u32("clocks", CLOCK_PHANDLE)?;
-+ fdt.property_string("clock-names", "apb_pclk")?;
-+ fdt.property_array_u32(
-+ "interrupts",
-+ &[GIC_FDT_IRQ_TYPE_SPI, dev_info.irq(), IRQ_TYPE_EDGE_RISING],
-+ )?;
-+ fdt.end_node(serial)?;
-
- Ok(())
- }
-
- fn create_rtc_node<T: DeviceInfoForFDT + Clone + Debug>(
-- fdt: &mut Vec<u8>,
-+ fdt: &mut FdtWriter,
- dev_info: &T,
- ) -> Result<()> {
- let compatible = b"arm,pl031\0arm,primecell\0";
-- let rtc_reg_prop = generate_prop64(&[dev_info.addr(), dev_info.length()]);
-- let irq = generate_prop32(&[GIC_FDT_IRQ_TYPE_SPI, dev_info.irq(), IRQ_TYPE_LEVEL_HI]);
-- append_begin_node(fdt, &format!("rtc@{:x}", dev_info.addr()))?;
-- append_property(fdt, "compatible", compatible)?;
-- append_property(fdt, "reg", &rtc_reg_prop)?;
-- append_property(fdt, "interrupts", &irq)?;
-- append_property_u32(fdt, "clocks", CLOCK_PHANDLE)?;
-- append_property_string(fdt, "clock-names", "apb_pclk")?;
-- append_end_node(fdt)?;
-+
-+ let rtc = fdt.begin_node(&format!("rtc@{:x}", dev_info.addr()))?;
-+ fdt.property("compatible", compatible)?;
-+ fdt.property_array_u64("reg", &[dev_info.addr(), dev_info.length()])?;
-+ fdt.property_array_u32(
-+ "interrupts",
-+ &[GIC_FDT_IRQ_TYPE_SPI, dev_info.irq(), IRQ_TYPE_LEVEL_HI],
-+ )?;
-+ fdt.property_u32("clocks", CLOCK_PHANDLE)?;
-+ fdt.property_string("clock-names", "apb_pclk")?;
-+ fdt.end_node(rtc)?;
-
- Ok(())
- }
-
- fn create_devices_node<T: DeviceInfoForFDT + Clone + Debug, S: std::hash::BuildHasher>(
-- fdt: &mut Vec<u8>,
-+ fdt: &mut FdtWriter,
- dev_info: &HashMap<(DeviceType, String), T, S>,
- ) -> Result<()> {
- // Create one temp Vec to store all virtio devices
-@@ -688,7 +488,7 @@ mod tests {
- assert!(create_fdt(
- &mem,
- vec![0],
-- &CString::new("console=tty0").unwrap(),
-+ "console=tty0",
- &dev_info,
- gic.as_ref(),
- &None,
-@@ -710,10 +510,10 @@ mod tests {
- _ => panic!("Unexpected gic version!"),
- };
-
-- let mut current_dtb_bytes = create_fdt(
-+ let current_dtb_bytes = create_fdt(
- &mem,
- vec![0],
-- &CString::new("console=tty0").unwrap(),
-+ "console=tty0",
- &HashMap::<(DeviceType, std::string::String), MMIODeviceInfo>::new(),
- gic.as_ref(),
- &None,
-@@ -746,7 +546,6 @@ mod tests {
- buf.extend_from_slice(saved_dtb_bytes);
-
- set_size(&mut buf, pos, val);
-- set_size(&mut current_dtb_bytes, pos, val);
- let original_fdt = device_tree::DeviceTree::load(&buf).unwrap();
- let generated_fdt = device_tree::DeviceTree::load(&current_dtb_bytes).unwrap();
- assert_eq!(
-@@ -774,10 +573,10 @@ mod tests {
- size: 0x1000,
- };
-
-- let mut current_dtb_bytes = create_fdt(
-+ let current_dtb_bytes = create_fdt(
- &mem,
- vec![0],
-- &CString::new("console=tty0").unwrap(),
-+ "console=tty0",
- &HashMap::<(DeviceType, std::string::String), MMIODeviceInfo>::new(),
- gic.as_ref(),
- &Some(initrd),
-@@ -810,7 +609,6 @@ mod tests {
- buf.extend_from_slice(saved_dtb_bytes);
-
- set_size(&mut buf, pos, val);
-- set_size(&mut current_dtb_bytes, pos, val);
- let original_fdt = device_tree::DeviceTree::load(&buf).unwrap();
- let generated_fdt = device_tree::DeviceTree::load(&current_dtb_bytes).unwrap();
- assert_eq!(
-diff --git a/src/arch/src/aarch64/mod.rs b/src/arch/src/aarch64/mod.rs
-index 0ddbf776..fb6baf54 100644
---- a/src/arch/src/aarch64/mod.rs
-+++ b/src/arch/src/aarch64/mod.rs
-@@ -12,7 +12,6 @@ pub mod regs;
-
- use std::cmp::min;
- use std::collections::HashMap;
--use std::ffi::CStr;
- use std::fmt::Debug;
-
- pub use self::fdt::DeviceInfoForFDT;
-@@ -52,7 +51,7 @@ pub fn arch_memory_regions(size: usize) -> Vec<(GuestAddress, usize)> {
- /// * `initrd` - Information about an optional initrd.
- pub fn configure_system<T: DeviceInfoForFDT + Clone + Debug, S: std::hash::BuildHasher>(
- guest_mem: &GuestMemoryMmap,
-- cmdline_cstring: &CStr,
-+ cmdline_cstring: &str,
- vcpu_mpidr: Vec<u64>,
- device_info: &HashMap<(DeviceType, String), T, S>,
- gic_device: &dyn GICDevice,
-diff --git a/src/vmm/src/builder.rs b/src/vmm/src/builder.rs
-index 5f5b7db1..6f38d9c3 100644
---- a/src/vmm/src/builder.rs
-+++ b/src/vmm/src/builder.rs
-@@ -783,7 +783,7 @@ pub fn configure_system_for_boot(
- .collect();
- arch::aarch64::configure_system(
- &vmm.guest_memory,
-- &boot_cmdline.as_cstring().map_err(LoadCommandline)?,
-+ &boot_cmdline.as_str(),
- vcpu_mpidr,
- vmm.mmio_device_manager.get_device_info(),
- vmm.vm.get_irqchip(),
---
-2.31.1
-
diff --git a/testing/firecracker/30-libfdt-bindings-Deleted-libfdt-bindings-crate.patch b/testing/firecracker/30-libfdt-bindings-Deleted-libfdt-bindings-crate.patch
deleted file mode 100644
index 223f4244043..00000000000
--- a/testing/firecracker/30-libfdt-bindings-Deleted-libfdt-bindings-crate.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-From 18c6a6662bfe0c14e3a547d4fc6342528822cd15 Mon Sep 17 00:00:00 2001
-From: AlexandruCihodaru <cihodar@amazon.com>
-Date: Thu, 2 Sep 2021 23:43:41 +0300
-Subject: [PATCH] [libfdt-bindings]: Deleted libfdt-bindings crate
-
-Signed-off-by: AlexandruCihodaru <cihodar@amazon.com>
----
- Cargo.lock | 8 ------
- src/arch/Cargo.toml | 2 --
- src/libfdt-bindings/Cargo.toml | 9 -------
- src/libfdt-bindings/build.rs | 47 ----------------------------------
- src/libfdt-bindings/src/lib.rs | 26 -------------------
- 5 files changed, 92 deletions(-)
- delete mode 100644 src/libfdt-bindings/Cargo.toml
- delete mode 100644 src/libfdt-bindings/build.rs
- delete mode 100644 src/libfdt-bindings/src/lib.rs
-
-diff --git a/Cargo.lock b/Cargo.lock
-index d1262012..592bd155 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -34,7 +34,6 @@ dependencies = [
- "kvm-bindings",
- "kvm-ioctls",
- "libc",
-- "libfdt-bindings",
- "logger",
- "utils",
- "versionize",
-@@ -439,13 +438,6 @@ version = "0.2.100"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "a1fa8cddc8fbbee11227ef194b5317ed014b8acbf15139bd716a18ad3fe99ec5"
-
--[[package]]
--name = "libfdt-bindings"
--version = "0.1.0"
--dependencies = [
-- "libc",
--]
--
- [[package]]
- name = "log"
- version = "0.4.14"
-diff --git a/src/arch/Cargo.toml b/src/arch/Cargo.toml
-index 73e4dfcc..b2a01dd0 100644
---- a/src/arch/Cargo.toml
-+++ b/src/arch/Cargo.toml
-@@ -19,5 +19,3 @@ utils = { path = "../utils" }
-
- [dev-dependencies]
- device_tree = ">=1.1.0"
--[target.'cfg(target_arch="aarch64")'.dependencies]
--libfdt-bindings = { path = "../libfdt-bindings" }
-\ No newline at end of file
-diff --git a/src/libfdt-bindings/Cargo.toml b/src/libfdt-bindings/Cargo.toml
-deleted file mode 100644
-index 6c4a3569..00000000
---- a/src/libfdt-bindings/Cargo.toml
-+++ /dev/null
-@@ -1,9 +0,0 @@
--[package]
--name = "libfdt-bindings"
--version = "0.1.0"
--authors = ["Amazon Firecracker team <firecracker-devel@amazon.com>"]
--edition = "2018"
--build = "build.rs"
--
--[target.'cfg(target_arch="aarch64")'.dependencies]
--libc = ">=0.2.39"
-diff --git a/src/libfdt-bindings/build.rs b/src/libfdt-bindings/build.rs
-deleted file mode 100644
-index 03e2be90..00000000
---- a/src/libfdt-bindings/build.rs
-+++ /dev/null
-@@ -1,47 +0,0 @@
--// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
--// SPDX-License-Identifier: Apache-2.0
--
--use std::process::Command;
--
--/// Get the ld linker search paths
--///
--/// Cargo overwrites LD_LIBRARY_PATH with rust specific paths. But we need the default system
--/// paths in order to find libfdt. So we query `ld` in order to get them.
--fn get_ld_search_dirs() -> Vec<String> {
-- // We need to extract from `ld --verbose` all the search paths.
-- // For example `ld --verbose | grep SEARCH_DIR | tr -s ' ;' '\n'` returns the following:
-- // ```
-- // SEARCH_DIR("=/usr/local/lib/aarch64-linux-gnu")
-- // SEARCH_DIR("=/lib/aarch64-linux-gnu")
-- // SEARCH_DIR("=/usr/lib/aarch64-linux-gnu")
-- // SEARCH_DIR("=/usr/local/lib")
-- // SEARCH_DIR("=/lib")
-- // SEARCH_DIR("=/usr/lib")
-- // SEARCH_DIR("=/usr/aarch64-linux-gnu/lib")
-- // ```
-- let cmd = r#"
-- ld --verbose | grep -oP '(?<=SEARCH_DIR\(\"=)[^"]+(?=\"\);)'
-- "#;
--
-- Command::new("sh")
-- .arg("-c")
-- .arg(cmd)
-- .output()
-- .ok()
-- .and_then(|output| {
-- if output.status.success() {
-- return Some(output.stdout);
-- }
-- None
-- })
-- .and_then(|stdout_bytes| String::from_utf8(stdout_bytes).ok())
-- .map_or(vec![], |stdout| {
-- stdout.lines().map(|item| item.to_string()).collect()
-- })
--}
--
--fn main() {
-- for ld_search_dir in get_ld_search_dirs() {
-- println!("cargo:rustc-link-search=native={}", ld_search_dir);
-- }
--}
-diff --git a/src/libfdt-bindings/src/lib.rs b/src/libfdt-bindings/src/lib.rs
-deleted file mode 100644
-index 07f11aaa..00000000
---- a/src/libfdt-bindings/src/lib.rs
-+++ /dev/null
-@@ -1,26 +0,0 @@
--// Copyright 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
--// SPDX-License-Identifier: Apache-2.0
--
--#[cfg(target_arch = "aarch64")]
--use libc::{c_char, c_int, c_void};
--
--// This links to libfdt which handles the creation of the binary blob
--// flattened device tree (fdt) that is passed to the kernel and indicates
--// the hardware configuration of the machine.
--#[cfg(target_arch = "aarch64")]
--#[link(name = "fdt", kind = "static")]
--extern "C" {
-- pub fn fdt_create(buf: *mut c_void, bufsize: c_int) -> c_int;
-- pub fn fdt_finish_reservemap(fdt: *mut c_void) -> c_int;
-- pub fn fdt_begin_node(fdt: *mut c_void, name: *const c_char) -> c_int;
-- pub fn fdt_property(
-- fdt: *mut c_void,
-- name: *const c_char,
-- val: *const c_void,
-- len: c_int,
-- ) -> c_int;
-- pub fn fdt_end_node(fdt: *mut c_void) -> c_int;
-- pub fn fdt_open_into(fdt: *const c_void, buf: *mut c_void, bufsize: c_int) -> c_int;
-- pub fn fdt_finish(fdt: *const c_void) -> c_int;
-- pub fn fdt_pack(fdt: *mut c_void) -> c_int;
--}
---
-2.31.1
-
diff --git a/testing/firecracker/APKBUILD b/testing/firecracker/APKBUILD
index dc1081dad18..3864f7667bd 100644
--- a/testing/firecracker/APKBUILD
+++ b/testing/firecracker/APKBUILD
@@ -1,72 +1,78 @@
# Contributor: Dennis Przytarski <dennis@przytarski.com>
# Maintainer: Dennis Przytarski <dennis@przytarski.com>
pkgname=firecracker
-pkgver=0.25.1
+pkgver=1.4.1
pkgrel=0
pkgdesc="Secure and fast microVMs for serverless computing"
url="https://github.com/firecracker-microvm/firecracker"
arch="aarch64 x86_64"
license="Apache-2.0"
-makedepends="rust cargo"
-subpackages="$pkgname-seccompiler"
-source="$pkgname-$pkgver.tar.gz::https://github.com/firecracker-microvm/firecracker/archive/v$pkgver.tar.gz
- 10-dependencies-Included-vm-fdt-crate.patch
- 20-vm-fdt-Replace-libfdt-with-vm-fdt.patch
- 30-libfdt-bindings-Deleted-libfdt-bindings-crate.patch
- "
+makedepends="rust cargo clang-dev cmake linux-headers cargo-auditable"
+subpackages="
+ $pkgname-seccompiler
+ $pkgname-rebase-snap:rebase_snap
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/firecracker-microvm/firecracker/archive/v$pkgver.tar.gz"
-_target="$CTARGET"
+prepare() {
+ default_prepare
-export CARGO_HOME="$srcdir"/cargo
+ cargo fetch --locked --target "$CTARGET"
-build() {
- # build firecracker
- cargo build -p firecracker \
- --target $_target \
- --release \
- --verbose
-
- # build jailer
- cargo build -p jailer \
- --target $_target \
- --release \
- --verbose
+ # Change the seccomp filters' names so they get embedded into the binary
+ for a in $arch; do
+ mv -v resources/seccomp/"$a-unknown-linux-musl.json" resources/seccomp/"$a-alpine-linux-musl.json"
+ done
+}
- # build seccompiler
- cargo build -p seccompiler \
- --bin seccompiler-bin \
- --target $_target \
- --release \
- --verbose
+build() {
+ export CARGO_PROFILE_RELEASE_OPT_LEVEL=2
+ cargo auditable build \
+ --package firecracker \
+ --package jailer \
+ --package seccompiler \
+ --package rebase-snap \
+ --target "$CTARGET" \
+ --all-features \
+ --frozen \
+ --release
}
check() {
- # test firecracker
- cargo test -p firecracker \
- --target $_target \
- --verbose
-
- # notest jailer
+ # jailer: tests failed testing functionality of cgroups
+ # seccompiler: tests failed spawning a thread
+ cargo test \
+ --package firecracker \
+ --package rebase-snap \
+ --target "$CTARGET" \
+ --frozen
- # notest seccompiler
+ # Other integration tests need pytest and docker
}
package() {
- install -Dm755 build/cargo_target/"$_target"/release/firecracker \
- "$pkgdir"/usr/bin/firecracker
- install -Dm755 build/cargo_target/"$_target"/release/jailer \
- "$pkgdir"/usr/bin/jailer
+ install -Dm755 build/cargo_target/$CTARGET/release/firecracker \
+ -t "$pkgdir"/usr/bin
+ install -Dm755 build/cargo_target/$CTARGET/release/jailer \
+ -t "$pkgdir"/usr/bin
+ install -Dm755 build/cargo_target/$CTARGET/release/rebase-snap \
+ -t "$pkgdir"/usr/bin
+ install -Dm755 build/cargo_target/$CTARGET/release/seccompiler-bin \
+ -t "$pkgdir"/usr/bin
}
seccompiler() {
- pkgdesc="Seccompiler"
- install -Dm755 "$builddir"/build/cargo_target/"$_target"/release/seccompiler-bin \
- "$subpkgdir"/usr/bin/seccompiler-bin
+ pkgdesc="$pkgdesc - seccompiler"
+
+ amove usr/bin/seccompiler-bin
+}
+
+rebase_snap() {
+ pkgdesc="$pkgdesc - rebasing diff snapshot tool"
+
+ amove usr/bin/rebase-snap
}
sha512sums="
-b9bf4fc9fd89312234eb13e50d37b942166d273e8ae16e018541dc1afbebcba9793415e14f4397885aa0797408a01676a9899e1f47296c312d06da9ddb30b571 firecracker-0.25.1.tar.gz
-8e13704ac5383f84d80c0aa3b268f6fc3ba578b857d48218d0a38e2fbc8d1a0660223d5d4168f4fcf532f0743b531e48cac9d6c2982e64e7549984ae12857574 10-dependencies-Included-vm-fdt-crate.patch
-3fdc6057db069b865724daaec2c83f549943a0ffb2d4e9d642c9d00df46a6b206f2b900f1c78dfb0162ed10bb096f7059cfb014c2d40466ee1351fcbbb3c8f8a 20-vm-fdt-Replace-libfdt-with-vm-fdt.patch
-b89ea947d2d7f045699a2318565620c52c4f050f22394e2e074c7adabfaef657633449784563d6d042b37842a3637582465170fb2f35242e7940d16e7cc3f2ea 30-libfdt-bindings-Deleted-libfdt-bindings-crate.patch
+20d105b4ee87728f5d92921148dd507ed0e727100cf04320943af66dee4d169d572b40a54c288fabe2b57d7c08337cd9a0138601ad90c76338b4177786ca2ee5 firecracker-1.4.1.tar.gz
"
diff --git a/testing/firectl/APKBUILD b/testing/firectl/APKBUILD
new file mode 100644
index 00000000000..f8c184eebbd
--- /dev/null
+++ b/testing/firectl/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=firectl
+pkgver=0.2.0
+pkgrel=11
+pkgdesc="command-line tool to run Firecracker microVMs"
+url="https://github.com/firecracker-microvm/firectl"
+arch="x86_64 aarch64" # blocked by firecracker
+license="Apache-2.0"
+depends="firecracker"
+makedepends="go"
+source="https://github.com/firecracker-microvm/firectl/archive/v$pkgver/firectl-$pkgver.tar.gz"
+options="!check" # the tests require a kernel image to be present
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ make
+}
+
+package() {
+ install -Dm755 firectl -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+cc463015ea31f1bc31729824a35a69ddafc72dd1f83b91620d6476634c12a22b19cf8f0511b5d5d6c9644eef11813a9b05ed2e92693df37ab82ec4d6928eeea8 firectl-0.2.0.tar.gz
+"
diff --git a/testing/firefox-developer-edition/APKBUILD b/testing/firefox-developer-edition/APKBUILD
new file mode 100644
index 00000000000..6f5af990b8b
--- /dev/null
+++ b/testing/firefox-developer-edition/APKBUILD
@@ -0,0 +1,272 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=firefox-developer-edition
+pkgver=126.0_beta1
+_pkgver=${pkgver/_beta/b}
+_releasedate=2024-04-06
+pkgrel=0
+pkgdesc="Firefox web browser"
+url="https://www.firefox.com/"
+# s390x and riscv64 blocked by rust and cargo
+# armhf: https://bugzilla.mozilla.org/show_bug.cgi?id=1680495
+# ppc64le: ld.lld: error: undefined hidden symbol: something about video
+# x86/armv7: who is using this there?
+arch="x86_64 aarch64"
+license="GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only AND MPL-2.0"
+depends="
+ ffmpeg-libavcodec
+ "
+makedepends="
+ alsa-lib-dev
+ automake
+ bsd-compat-headers
+ cargo
+ cbindgen
+ clang
+ clang-libclang
+ dbus-glib-dev
+ gettext
+ gtk+3.0-dev
+ hunspell-dev
+ icu-dev
+ libevent-dev
+ libffi-dev
+ libjpeg-turbo-dev
+ libnotify-dev
+ libogg-dev
+ libtheora-dev
+ libtool
+ libvorbis-dev
+ libvpx-dev
+ libwebp-dev
+ libxcomposite-dev
+ libxt-dev
+ lld
+ llvm-dev
+ m4
+ mesa-dev
+ nasm
+ nodejs
+ nspr-dev
+ nss-dev
+ pipewire-dev
+ pulseaudio-dev
+ python3
+ sed
+ wasi-sdk
+ wireless-tools-dev
+ zip
+ "
+source="https://ftp.mozilla.org/pub/firefox/releases/$_pkgver/source/firefox-$_pkgver.source.tar.xz
+ fix-fortify-system-wrappers.patch
+ fix-rust-target.patch
+ fix-webrtc-glibcisms.patch
+ install-dir.patch
+ lfs64.patch
+ no-ccache-stats.patch
+ python-deps.patch
+ rust-lto-thin.patch
+ sandbox-fork.patch
+ sandbox-largefile.patch
+ sandbox-sched_setscheduler.patch
+ icu74.patch
+
+ stab.h
+
+ firefox-developer-edition.desktop
+ distribution.ini
+ vendor-prefs.js
+ "
+options="!check" # no tests
+builddir="$srcdir/firefox-${pkgver/_*/}"
+
+_mozappdir=/usr/lib/firefox-developer-edition
+
+# help our shared-object scanner to find the libs
+ldpath="$_mozappdir"
+sonameprefix="$pkgname:"
+
+# we need this because cargo verifies checksums of all files in vendor
+# crates when it builds and gives us no way to override or update the
+# file sanely... so just clear out the file list
+_clear_vendor_checksums() {
+ sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json
+}
+
+export CFLAGS="${CFLAGS/-fstack-clash-protection/} -g0 -O2"
+export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/} -g0 -O2 -Wno-deprecated-builtins -Wno-deprecated-declarations"
+
+prepare() {
+ default_prepare
+
+ cp "$srcdir"/stab.h toolkit/crashreporter/google-breakpad/src/
+
+ _clear_vendor_checksums audio_thread_priority
+
+ cat > base-mozconfig <<-EOF
+ # disable unwanted things
+ ac_add_options --disable-bootstrap
+ ac_add_options --disable-cargo-incremental
+ ac_add_options --disable-crashreporter
+ ac_add_options --disable-elf-hack
+ ac_add_options --disable-install-strip
+ ac_add_options --disable-jemalloc
+ ac_add_options --disable-strip
+ ac_add_options --disable-tests
+ ac_add_options --disable-updater
+
+ # features
+ ac_add_options --enable-alsa
+ ac_add_options --enable-dbus
+ ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
+ ac_add_options --enable-ffmpeg
+ ac_add_options --enable-hardening
+ ac_add_options --enable-linker=lld
+ ac_add_options --enable-lto=cross
+ ac_add_options --enable-necko-wifi
+ ac_add_options --enable-official-branding
+ ac_add_options --enable-optimize="$CFLAGS"
+ ac_add_options --enable-pulseaudio
+ ac_add_options --enable-release
+ ac_add_options --enable-sandbox
+ ac_add_options --enable-update-channel=aurora
+
+ # system libs
+ ac_add_options --enable-system-pixman
+ ac_add_options --with-system-ffi
+ ac_add_options --with-system-icu
+ ac_add_options --with-system-jpeg
+ ac_add_options --with-system-libevent
+ ac_add_options --with-system-libvpx
+ ac_add_options --with-system-nspr
+ ac_add_options --with-system-nss
+ ac_add_options --with-system-png
+ ac_add_options --with-system-webp
+ ac_add_options --with-system-zlib
+
+ # misc
+ ac_add_options --prefix=/usr
+ ac_add_options --allow-addon-sideload
+ ac_add_options --with-distribution-id=org.alpinelinux
+ ac_add_options --with-libclang-path=/usr/lib
+ ac_add_options --with-unsigned-addon-scopes=app,system
+ ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
+ ac_add_options --with-branding=browser/branding/aurora
+ ac_add_options --host=$CHOST
+ ac_add_options --target=$CTARGET
+
+ mk_add_options RUSTFLAGS="$RUSTFLAGS"
+ # objdir
+ mk_add_options MOZ_OBJDIR="$builddir/obj"
+ EOF
+}
+
+build() {
+ # for lto
+ ulimit -n 4096
+
+ # can't be set here and fail
+ unset RUSTFLAGS
+
+ local thinlto_jobs=${JOBS:-1}
+
+ case "$CARCH" in
+ # on this platform, lld seems to not utilise >1 threads for thinlto for some reason.
+ # at the same time, having more than 8 also crashes lld for firefox buildsystems (why?).
+ aarch64)
+ if [ $thinlto_jobs -gt 8 ]; then
+ thinlto_jobs=8
+ fi
+ esac
+
+ export LDFLAGS="$LDFLAGS -Wl,--thinlto-jobs=$thinlto_jobs"
+
+ export CC="clang"
+ export CXX="clang++"
+
+ export SHELL=/bin/sh
+ export BUILD_OFFICIAL=1
+ export MOZILLA_OFFICIAL=1
+ export USE_SHORT_LIBNAME=1
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
+ export MOZ_APP_REMOTINGNAME=firefoxdeveloperedition
+ export MOZBUILD_STATE_PATH="$srcdir"/mozbuild
+ # allow unsigned addons for dev-edition
+ export MOZ_REQUIRE_SIGNING=
+ # disable desktop notifications
+ export MOZ_NOSPAM=1
+ # Find our triplet JSON
+ export RUST_TARGET="$CTARGET"
+
+ # set rpath so linker finds the libs
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,$_mozappdir"
+
+ # let firefox do this itself.
+ unset CARGO_PROFILE_RELEASE_OPT_LEVEL
+ unset CARGO_PROFILE_RELEASE_CODEGEN_UNITS
+ unset CARGO_PROFILE_RELEASE_PANIC
+ unset CARGO_PROFILE_RELEASE_LTO
+
+ export MOZ_BUILD_DATE="$(date ${SOURCE_DATE_EPOCH:+ -d@${SOURCE_DATE_EPOCH}} "+%Y%m%d%H%M%S")"
+
+ cat > .mozconfig base-mozconfig
+
+ ./mach build
+}
+
+package() {
+ DESTDIR="$pkgdir" ./mach install
+
+ local _png
+ for _png in ./browser/branding/aurora/default*.png; do
+ local i=${_png%.png}
+ i=${i##*/default}
+ install -Dm644 "$_png" \
+ "$pkgdir"/usr/share/icons/hicolor/"$i"x"$i"/apps/$pkgname.png
+ done
+
+ install -Dm644 browser/branding/aurora/content/about-logo.png \
+ "$pkgdir"/usr/share/icons/hicolor/192x192/apps/$pkgname.png
+ install -Dm644 browser/branding/aurora/content/about-logo@2x.png \
+ "$pkgdir"/usr/share/icons/hicolor/384x384/apps/$pkgname.png
+ install -Dm644 browser/branding/aurora/content/about-logo.svg \
+ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/$pkgname.svg
+
+ install -Dm644 "$srcdir"/firefox-developer-edition.desktop \
+ "$pkgdir"/usr/share/applications/firefox-developer-edition.desktop
+
+ install -Dm644 "$srcdir"/distribution.ini \
+ "$pkgdir"/$_mozappdir/distribution/distribution.ini
+
+ # install our vendor prefs
+ install -Dm644 "$srcdir"/vendor-prefs.js \
+ "$pkgdir"/$_mozappdir/browser/defaults/preferences/vendor.js
+
+ # Replace duplicate binary with wrapper
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
+ install -Dm755 /dev/stdin "$pkgdir"/usr/bin/firefox-developer-edition <<- EOF
+ #!/bin/sh
+ exec $_mozappdir/firefox "\$@"
+ EOF
+ rm "$pkgdir"/$_mozappdir/firefox-bin
+ ln -sfv /usr/bin/firefox-developer-edition "$pkgdir"/$_mozappdir/firefox-bin
+}
+
+sha512sums="
+500c2fa0886cd0a3a10eb898aa0865a3cd114f2f0b12e140a94f0883d18b57eeaf8c767e8ea818ac75939fdcb08a996c9efa93ea9b477336d28bc563b66cea28 firefox-126.0b1.source.tar.xz
+3c28e243c1c74a9bd1ea13729926b1cae3ee35843b14be92ff3287a8cd745e95954e1bc842f2add165923d159bb8d2a7bcd92ba8fb2f4017ba1aef892d77aecf fix-fortify-system-wrappers.patch
+cd68b89e29e5f6379fbd5679db27b9a5ef70ea65e51c0d0a8137e1f1fd210e35a8cfb047798e9549bc7275606d7ec5c8d8af1335d29da4699db7acd8bc7ff556 fix-rust-target.patch
+305c874fdea3096e9c4c6aa6520ac64bb1c347c4b59db8360096646593fe684c3b5377874d91cecd33d56d1410b4714fbdea2b514923723ecbeff79d51265d9b fix-webrtc-glibcisms.patch
+ff471e5160e313a9657bcbb767a6a581bab9da053cced02bde38d1ef03349472ad3602dba026c10d676d55c1712af772dd2b7bdbfa72b5db498c9ce8a2133423 install-dir.patch
+5fa9382c692e4bd6a2634308f24a6526fd12a60a2563d2090056d43a60505df3ec9881bbf54562e69394467529b3b0dc45955afca46ed329af03cea074fff070 lfs64.patch
+64b6458099baa225b346b40e3080cea3a5c73a834e39fa4a438af77701e6ded84e2fb0d6fffff8c2533cc43b898fe9f411be023e875acebec452aa2379861f04 no-ccache-stats.patch
+56454b30bed9ce079a06b9d3803030912629d3e0feef49321f1404ab5d004528c446231584a6d89ca69e0bb2ee037664287186975405b048ea3ce06d729a7912 python-deps.patch
+1c6918dd6655d3a1251bfd4af2e1c561cbb00d540a883b4c1ebf7f5de530d754d9ac07b4b5f56cdab6c511d25c8910ec94043f5733e97501a67abffe1bafaeb1 rust-lto-thin.patch
+2518f2fc75b5db30058e0735f47d60fdf1e7adfaeee4b33fb2afb1bd9a616ce943fd88f4404d0802d4083703f4acf1d5ad42377218d025bc768807fbaf7e1609 sandbox-fork.patch
+b7d0a6126bdf6c0569f80aabf5b37ed2c7a35712eb8a0404a2d85381552f5555d4f97d213ea26cec6a45dc2785f22439376ed5f8e78b4fd664ef0223307b333e sandbox-largefile.patch
+f8c3555ef6207933cbffbf4fc101a9b4c0d2990c0063162f0f0bde70ef0b46f86bfac42e7110695183424a87948de593f3927b2d8509ede3e4fc7bd8a1fad1ce sandbox-sched_setscheduler.patch
+afabea91b328c5a68eaa20f9099ac7b2d0e7f2423e816b05ed168bdd326a5684fa02de08bf05c6033e9b888f02775d1b0443a00329b7a632ee399122a391c13a icu74.patch
+0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h
+2ff0cb8e2eb94cee306b488adf6d7f4debbaff6155be3ed3eeee814cdb356e2e60fe38cc29d6c8d10079937fd2c930cfddf283977cf645395d31eaf76c7f0ac2 firefox-developer-edition.desktop
+4fd66382983d406ce0cd3586239fb1110224aeb2f9eee6fc931d980a31d18739d001d1f152208a7f1ccaae80867c40bd3d2ac674484617532a8f38049dc745bd distribution.ini
+0423804a3c7c075de128b624110c58994ec8e10819fc09b74fdb4cd5aa6c0365cdafc77770af42f4ce856ad2e8e325a918344c57fb015a680b7e54555b94c6ed vendor-prefs.js
+"
diff --git a/testing/thunderbird/disable-moz-stackwalk.patch b/testing/firefox-developer-edition/disable-moz-stackwalk.patch
index b6bc756d2be..b6bc756d2be 100644
--- a/testing/thunderbird/disable-moz-stackwalk.patch
+++ b/testing/firefox-developer-edition/disable-moz-stackwalk.patch
diff --git a/testing/firefox-developer-edition/distribution.ini b/testing/firefox-developer-edition/distribution.ini
new file mode 100644
index 00000000000..cb3659715b3
--- /dev/null
+++ b/testing/firefox-developer-edition/distribution.ini
@@ -0,0 +1,8 @@
+[Global]
+id=alpinelinux
+version=1.0
+about=Mozilla Firefox Developer Edition for Alpine Linux
+
+[Preferences]
+app.distributor=alpinelinux
+app.distributor.channel=firefox-developer-edition
diff --git a/testing/firefox-developer-edition/firefox-developer-edition.desktop b/testing/firefox-developer-edition/firefox-developer-edition.desktop
new file mode 100644
index 00000000000..b7a13778a8c
--- /dev/null
+++ b/testing/firefox-developer-edition/firefox-developer-edition.desktop
@@ -0,0 +1,340 @@
+[Desktop Entry]
+Version=1.0
+Name=Firefox Developer Edition
+GenericName=Web Browser
+GenericName[ar]=متصÙØ­ ويب
+GenericName[ast]=Restolador Web
+GenericName[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeÄ
+GenericName[da]=Webbrowser
+GenericName[de]=Webbrowser
+GenericName[el]=ΠεÏιηγητής διαδικτÏου
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן ×ינטרנט
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser web
+GenericName[ja]=ウェブ・ブラウザ
+GenericName[ko]=웹 브ë¼ìš°ì €
+GenericName[ku]=Geroka torê
+GenericName[lt]=Interneto naršyklė
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=PrzeglÄ…darka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=Internetový prehliadaÄ
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[tr]=Web Tarayıcı
+GenericName[ug]=توركۆرگۈ
+GenericName[uk]=Веб-браузер
+GenericName[vi]=Trình duyệt Web
+GenericName[zh_CN]=网络æµè§ˆå™¨
+GenericName[zh_TW]=網路ç€è¦½å™¨
+Comment=Browse the World Wide Web
+Comment[ar]=تصÙØ­ الشبكة العنكبوتية العالمية
+Comment[ast]=Restola pela Rede
+Comment[bn]=ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ বà§à¦°à¦¾à¦‰à¦œ করà§à¦¨
+Comment[ca]=Navegueu per el web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[da]=Surf på internettet
+Comment[de]=Im Internet surfen
+Comment[el]=ΜποÏείτε να πεÏιηγηθείτε στο διαδίκτυο (Web)
+Comment[es]=Navegue por la web
+Comment[et]=Lehitse veebi
+Comment[fa]=صÙحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Naviguer sur le Web
+Comment[gl]=Navegar pola rede
+Comment[he]=גלישה ברחבי ×”×ינטרנט
+Comment[hr]=Pretražite web
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧ã—ã¾ã™
+Comment[ko]=ì›¹ì„ ëŒì•„ 다닙니다
+Comment[ku]=Li torê bigere
+Comment[lt]=Naršykite internete
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=PrzeglÄ…danie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[ro]=Navigați pe Internet
+Comment[ru]=ДоÑтуп в Интернет
+Comment[sk]=Prehliadanie internetu
+Comment[sl]=Brskajte po spletu
+Comment[sv]=Surfa på webben
+Comment[tr]=Ä°nternet'te Gezinin
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
+Comment[uk]=ПереглÑд Ñторінок Інтернету
+Comment[vi]=Äể duyệt các trang web
+Comment[zh_CN]=æµè§ˆäº’è”网
+Comment[zh_TW]=ç€è¦½ç¶²éš›ç¶²è·¯
+Keywords=Internet;WWW;Browser;Web;Explorer
+Keywords[ar]=انترنت;إنترنت;متصÙØ­;ويب;وب
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
+Keywords[cs]=Internet;WWW;ProhlížeÄ;Web;Explorer
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;ΠεÏιηγητής;Firefox;ΦιÏεφοχ;ΙντεÏνετ
+Keywords[es]=Explorador;Internet;WWW
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
+Keywords[he]=דפדפן;×ינטרנט;רשת;×תרי×;×תר;פיירפוקס;מוזילה;
+Keywords[hr]=Internet;WWW;preglednik;Web
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
+Keywords[ja]=Internet;WWW;Web;インターãƒãƒƒãƒˆ;ブラウザ;ウェブ;エクスプローラ
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокÑ;огнелиÑ
+Keywords[sk]=Internet;WWW;PrehliadaÄ;Web;Explorer
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглÑдач;оглÑдач;браузер;веб;файрфокÑ;вогнелиÑ;переглÑд
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;æµè§ˆ;上网;ç«ç‹;Firefox;ff;互è”网;网站;
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;ç€è¦½å™¨;上網;網é ;ç«ç‹
+Exec=/usr/lib/firefox-developer-edition/firefox --class="firefoxdeveloperedition" %u
+Icon=firefox-developer-edition
+Terminal=false
+X-MultipleArgs=false
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
+StartupNotify=true
+StartupWMClass=firefoxdeveloperedition
+Categories=Network;WebBrowser;
+Actions=new-window;new-private-window;
+
+[Desktop Action new-window]
+Name=New Window
+Name[ach]=Dirica manyen
+Name[af]=Nuwe venster
+Name[an]=Nueva finestra
+Name[ar]=ناÙذة جديدة
+Name[as]=নতà§à¦¨ উইনà§à¦¡à§‹
+Name[ast]=Ventana nueva
+Name[az]=Yeni Pəncərə
+Name[be]=Ðовае акно
+Name[bg]=Ðов прозорец
+Name[bn_BD]=নতà§à¦¨ উইনà§à¦¡à§‹ (N)
+Name[bn_IN]=নতà§à¦¨ উইনà§à¦¡à§‹
+Name[br]=Prenestr nevez
+Name[brx]=गोदान उइनà¥à¤¡'(N)
+Name[bs]=Novi prozor
+Name[ca]=Finestra nova
+Name[cak]=K'ak'a' tzuwäch
+Name[cs]=Nové okno
+Name[cy]=Ffenestr Newydd
+Name[da]=Nyt vindue
+Name[de]=Neues Fenster
+Name[dsb]=Nowe wokno
+Name[el]=Îέο παÏάθυÏο
+Name[en_GB]=New Window
+Name[en_US]=New Window
+Name[en_ZA]=New Window
+Name[eo]=Nova fenestro
+Name[es_AR]=Nueva ventana
+Name[es_CL]=Nueva ventana
+Name[es_ES]=Nueva ventana
+Name[es_MX]=Nueva ventana
+Name[et]=Uus aken
+Name[eu]=Leiho berria
+Name[fa]=پنجره جدید
+Name[ff]=Henorde Hesere
+Name[fi]=Uusi ikkuna
+Name[fr]=Nouvelle fenêtre
+Name[fy_NL]=Nij finster
+Name[ga_IE]=Fuinneog Nua
+Name[gd]=Uinneag ùr
+Name[gl]=Nova xanela
+Name[gn]=Ovetã pyahu
+Name[gu_IN]=નવી વિનà«àª¡à«‹
+Name[he]=חלון חדש
+Name[hi_IN]=नया विंडो
+Name[hr]=Novi prozor
+Name[hsb]=Nowe wokno
+Name[hu]=Új ablak
+Name[hy_AM]=Õ†Õ¸Ö€ ÕŠÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶
+Name[id]=Jendela Baru
+Name[is]=Nýr gluggi
+Name[it]=Nuova finestra
+Name[ja]=æ–°ã—ã„ウィンドウ
+Name[ja_JP-mac]=æ–°è¦ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦
+Name[ka]=áƒáƒ®áƒáƒšáƒ˜ ფáƒáƒœáƒ¯áƒáƒ áƒ
+Name[kk]=Жаңа терезе
+Name[km]=បង្អួចážáŸ’មី
+Name[kn]=ಹೊಸ ಕಿಟಕಿ
+Name[ko]=새 창
+Name[kok]=नवें जनेल
+Name[ks]=نئئ ÙˆÙÙ†ÚˆÙˆ
+Name[lij]=Neuvo barcon
+Name[lo]=ຫນ້າຕ່າງໃຫມ່
+Name[lt]=Naujas langas
+Name[ltg]=Jauns lūgs
+Name[lv]=Jauns logs
+Name[mai]=नव विंडो
+Name[mk]=Ðов прозорец
+Name[ml]=à´ªàµà´¤à´¿à´¯ ജാലകം
+Name[mr]=नवीन पटल
+Name[ms]=Tetingkap Baru
+Name[my]=á€á€„်းဒိုးအသစ်
+Name[nb_NO]=Nytt vindu
+Name[ne_NP]=नयाठसञà¥à¤à¥à¤¯à¤¾à¤²
+Name[nl]=Nieuw venster
+Name[nn_NO]=Nytt vindauge
+Name[or]=ନୂତନ ୱିଣà­à¬¡à­‹
+Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
+Name[pl]=Nowe okno
+Name[pt_BR]=Nova janela
+Name[pt_PT]=Nova janela
+Name[rm]=Nova fanestra
+Name[ro]=Fereastră nouă
+Name[ru]=Ðовое окно
+Name[sat]=नावा विंडो (N)
+Name[si]=නව කවුළුවක්
+Name[sk]=Nové okno
+Name[sl]=Novo okno
+Name[son]=Zanfun taaga
+Name[sq]=Dritare e Re
+Name[sr]=Ðови прозор
+Name[sv_SE]=Nytt fönster
+Name[ta]=பà¯à®¤à®¿à®¯ சாளரமà¯
+Name[te]=కొతà±à°¤ విండో
+Name[th]=หน้าต่างใหม่
+Name[tr]=Yeni pencere
+Name[tsz]=Eraatarakua jimpani
+Name[uk]=Ðове вікно
+Name[ur]=نیا دریچÛ
+Name[uz]=Yangi oyna
+Name[vi]=Cửa sổ mới
+Name[wo]=Palanteer bu bees
+Name[xh]=Ifestile entsha
+Name[zh_CN]=新建窗å£
+Name[zh_TW]=開新視窗
+Exec=/usr/lib/firefox-developer-edition/firefox --class="firefoxdeveloperedition" --new-window %u
+
+[Desktop Action new-private-window]
+Name=New Private Window
+Name[ach]=Dirica manyen me mung
+Name[af]=Nuwe privaatvenster
+Name[an]=Nueva finestra privada
+Name[ar]=ناÙذة خاصة جديدة
+Name[as]=নতà§à¦¨ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত উইনà§à¦¡à§‹
+Name[ast]=Ventana privada nueva
+Name[az]=Yeni Məxfi Pəncərə
+Name[be]=Ðовае акно адаÑабленнÑ
+Name[bg]=Ðов прозорец за поверително Ñърфиране
+Name[bn_BD]=নতà§à¦¨ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত উইনà§à¦¡à§‹
+Name[bn_IN]=নতà§à¦¨ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত উইনà§à¦¡à§‹
+Name[br]=Prenestr merdeiñ prevez nevez
+Name[brx]=गोदान पà¥à¤°à¤¾à¤‡à¤­à¥‡à¤Ÿ उइनà¥à¤¡'
+Name[bs]=Novi privatni prozor
+Name[ca]=Finestra privada nova
+Name[cak]=K'ak'a' ichinan tzuwäch
+Name[cs]=Nové anonymní okno
+Name[cy]=Ffenestr Breifat Newydd
+Name[da]=Nyt privat vindue
+Name[de]=Neues privates Fenster
+Name[dsb]=Nowe priwatne wokno
+Name[el]=Îέο παÏάθυÏο ιδιωτικής πεÏιήγησης
+Name[en_GB]=New Private Window
+Name[en_US]=New Private Window
+Name[en_ZA]=New Private Window
+Name[eo]=Nova privata fenestro
+Name[es_AR]=Nueva ventana privada
+Name[es_CL]=Nueva ventana privada
+Name[es_ES]=Nueva ventana privada
+Name[es_MX]=Nueva ventana privada
+Name[et]=Uus privaatne aken
+Name[eu]=Leiho pribatu berria
+Name[fa]=پنجره ناشناس جدید
+Name[ff]=Henorde Suturo Hesere
+Name[fi]=Uusi yksityinen ikkuna
+Name[fr]=Nouvelle fenêtre de navigation privée
+Name[fy_NL]=Nij priveefinster
+Name[ga_IE]=Fuinneog Nua Phríobháideach
+Name[gd]=Uinneag phrìobhaideach ùr
+Name[gl]=Nova xanela privada
+Name[gn]=Ovetã ñemi pyahu
+Name[gu_IN]=નવી ખાનગી વિનà«àª¡à«‹
+Name[he]=חלון פרטי חדש
+Name[hi_IN]=नयी निजी विंडो
+Name[hr]=Novi privatni prozor
+Name[hsb]=Nowe priwatne wokno
+Name[hu]=Új privát ablak
+Name[hy_AM]=ÕÕ¯Õ½Õ¥Õ¬ Ô³Õ¡Õ²Õ¿Õ¶Õ« Õ¤Õ«Õ¿Õ¡Ö€Õ¯Õ¸Ö‚Õ´
+Name[id]=Jendela Mode Pribadi Baru
+Name[is]=Nýr huliðsgluggi
+Name[it]=Nuova finestra anonima
+Name[ja]=æ–°ã—ã„プライベートウィンドウ
+Name[ja_JP-mac]=æ–°è¦ãƒ—ライベートウインドウ
+Name[ka]=áƒáƒ®áƒáƒšáƒ˜ პირáƒáƒ“ი ფáƒáƒœáƒ¯áƒáƒ áƒ
+Name[kk]=Жаңа жекелік терезе
+Name[km]=បង្អួចឯកជនážáŸ’មី
+Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
+Name[ko]=새 사ìƒí™œ 보호 모드
+Name[kok]=नवो खाजगी विंडो
+Name[ks]=نْو پرایوٹ وینڈو
+Name[lij]=Nêuvo barcón privòu
+Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
+Name[lt]=Naujas privataus naršymo langas
+Name[ltg]=Jauns privatais lūgs
+Name[lv]=Jauns privÄtais logs
+Name[mai]=नया निज विंडो (W)
+Name[mk]=Ðов приватен прозорец
+Name[ml]=à´ªàµà´¤à´¿à´¯ à´¸àµà´µà´•à´¾à´°àµà´¯ ജാലകം
+Name[mr]=नवीन वैयकà¥à¤¤à¤¿à¤• पटल
+Name[ms]=Tetingkap Persendirian Baharu
+Name[my]=New Private Window
+Name[nb_NO]=Nytt privat vindu
+Name[ne_NP]=नयाठनिजी सञà¥à¤à¥à¤¯à¤¾à¤²
+Name[nl]=Nieuw privévenster
+Name[nn_NO]=Nytt privat vindauge
+Name[or]=ନୂତନ ବà­à­Ÿà¬•à­à¬¤à¬¿à¬—ତ ୱିଣà­à¬¡à­‹
+Name[pa_IN]=ਨਵੀਂ ਪà©à¨°à¨¾à¨ˆà¨µà©‡à¨Ÿ ਵਿੰਡੋ
+Name[pl]=Nowe okno prywatne
+Name[pt_BR]=Nova janela privativa
+Name[pt_PT]=Nova janela privada
+Name[rm]=Nova fanestra privata
+Name[ro]=Fereastră privată nouă
+Name[ru]=Ðовое приватное окно
+Name[sat]=नावा निजेराकॠविंडो (W )
+Name[si]=නව පුද්ගලික කවුළුව (W)
+Name[sk]=Nové okno v režime Súkromné prehliadanie
+Name[sl]=Novo zasebno okno
+Name[son]=Sutura zanfun taaga
+Name[sq]=Dritare e Re Private
+Name[sr]=Ðови приватан прозор
+Name[sv_SE]=Nytt privat fönster
+Name[ta]=பà¯à®¤à®¿à®¯ தனிபà¯à®ªà®Ÿà¯à®Ÿ சாளரமà¯
+Name[te]=కొతà±à°¤ ఆంతరంగిక విండో
+Name[th]=หน้าต่างส่วนตัวใหม่
+Name[tr]=Yeni gizli pencere
+Name[tsz]=Juchiiti eraatarakua jimpani
+Name[uk]=Приватне вікно
+Name[ur]=نیا نجی دریچÛ
+Name[uz]=Yangi maxfiy oyna
+Name[vi]=Cửa sổ riêng tư mới
+Name[wo]=Panlanteeru biir bu bees
+Name[xh]=Ifestile yangasese entsha
+Name[zh_CN]=新建éšç§æµè§ˆçª—å£
+Name[zh_TW]=新增隱ç§è¦–窗
+Exec=/usr/lib/firefox-developer-edition/firefox --class="firefoxdeveloperedition" --private-window %u
diff --git a/testing/firefox-developer-edition/fix-fortify-system-wrappers.patch b/testing/firefox-developer-edition/fix-fortify-system-wrappers.patch
new file mode 100644
index 00000000000..45c8a4c1233
--- /dev/null
+++ b/testing/firefox-developer-edition/fix-fortify-system-wrappers.patch
@@ -0,0 +1,15 @@
+The wrapper features.h gets pulled in by system headers causing thigns to
+break. We work around it by simply not wrap features.h
+
+diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
+index 07d48e7..d2ce2b2 100644
+--- a/config/system-headers.mozbuild
++++ b/config/system-headers.mozbuild
+@@ -225,7 +225,6 @@ system_headers = [
+ "execinfo.h",
+ "extras.h",
+ "fcntl.h",
+- "features.h",
+ "fenv.h",
+ "ffi.h",
+ "fibdef.h",
diff --git a/testing/thunderbird/fix-rust-target.patch b/testing/firefox-developer-edition/fix-rust-target.patch
index 9342063c33a..9342063c33a 100644
--- a/testing/thunderbird/fix-rust-target.patch
+++ b/testing/firefox-developer-edition/fix-rust-target.patch
diff --git a/testing/firefox-developer-edition/fix-webrtc-glibcisms.patch b/testing/firefox-developer-edition/fix-webrtc-glibcisms.patch
new file mode 100644
index 00000000000..4f9043b58e1
--- /dev/null
+++ b/testing/firefox-developer-edition/fix-webrtc-glibcisms.patch
@@ -0,0 +1,20 @@
+--- a/third_party/libwebrtc/system_wrappers/source/cpu_features_linux.cc
++++ b/third_party/libwebrtc/system_wrappers/source/cpu_features_linux.cc
+@@ -18,7 +18,7 @@
+ #define WEBRTC_GLIBC_PREREQ(a, b) 0
+ #endif
+
+-#if WEBRTC_GLIBC_PREREQ(2, 16)
++#if !__GLIBC__ || WEBRTC_GLIBC_PREREQ(2, 16)
+ #include <sys/auxv.h>
+ #else
+ #include <errno.h>
+@@ -40,7 +40,7 @@
+ int architecture = 0;
+ uint64_t hwcap = 0;
+ const char* platform = NULL;
+-#if WEBRTC_GLIBC_PREREQ(2, 16)
++#if !__GLIBC__ || WEBRTC_GLIBC_PREREQ(2, 16)
+ hwcap = getauxval(AT_HWCAP);
+ platform = (const char*)getauxval(AT_PLATFORM);
+ #else
diff --git a/testing/firefox-developer-edition/icu74.patch b/testing/firefox-developer-edition/icu74.patch
new file mode 100644
index 00000000000..46c94451b53
--- /dev/null
+++ b/testing/firefox-developer-edition/icu74.patch
@@ -0,0 +1,38 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
+
+# HG changeset patch
+# User André Bargull <andre.bargull@gmail.com>
+# Date 1697435923 -7200
+# Node ID d5f3b0c4f08a426ce00a153c04e177eecb6820e2
+# Parent c63994f8259efdf6e745c960aa9e1409d5477049
+Bug xxx - Part 12: Add new line break classes. r?
+
+diff --git a/intl/lwbrk/LineBreaker.cpp b/intl/lwbrk/LineBreaker.cpp
+--- a/intl/lwbrk/LineBreaker.cpp
++++ b/intl/lwbrk/LineBreaker.cpp
+@@ -443,17 +443,23 @@ static int8_t GetClass(uint32_t u, LineB
+ /* JT = 34, [JT] */ CLASS_CHARACTER,
+ /* JV = 35, [JV] */ CLASS_CHARACTER,
+ /* CLOSE_PARENTHESIS = 36, [CP] */ CLASS_CLOSE_LIKE_CHARACTER,
+ /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE,
+ /* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER,
+ /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER,
+ /* E_BASE = 40, [EB] */ CLASS_BREAKABLE,
+ /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER,
+- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER};
++ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER,
++ /* AKSARA = 43, [AK] */ CLASS_CHARACTER,
++ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER,
++ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER,
++ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER,
++ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER,
++ };
+
+ static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass),
+ "Gecko vs ICU LineBreak class mismatch");
+
+ auto cls = GetLineBreakClass(u);
+ MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass));
+
+ // Overrides based on rules for the different line-break values given in
+
diff --git a/testing/firefox-developer-edition/install-dir.patch b/testing/firefox-developer-edition/install-dir.patch
new file mode 100644
index 00000000000..537475aa79f
--- /dev/null
+++ b/testing/firefox-developer-edition/install-dir.patch
@@ -0,0 +1,40 @@
+ Patch-Source: https://github.com/archlinux/svntogit-community/blob/557ec3a987fa078d42956ae1adf7f2a8dc747963/trunk/firefox-install-dir.patch
+
+diff --git c/browser/branding/aurora/configure.sh i/browser/branding/aurora/configure.sh
+index 19d4ff057f73..2c79e136cc67 100644
+--- c/browser/branding/aurora/configure.sh
++++ i/browser/branding/aurora/configure.sh
+@@ -3,5 +3,4 @@
+ # file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ MOZ_APP_DISPLAYNAME="Firefox Developer Edition"
+-MOZ_APP_REMOTINGNAME=firefox-dev
+ MOZ_DEV_EDITION=1
+diff --git c/config/baseconfig.mk i/config/baseconfig.mk
+index 3ef3af95d611..81530dface0a 100644
+--- c/config/baseconfig.mk
++++ i/config/baseconfig.mk
+@@ -2,7 +2,7 @@
+ # directly in python/mozbuild/mozbuild/base.py for gmake validation.
+ # We thus use INCLUDED_AUTOCONF_MK to enable/disable some parts depending
+ # whether a normal build is happening or whether the check is running.
+-installdir = $(libdir)/$(MOZ_APP_NAME)
++installdir = $(libdir)/$(MOZ_APP_NAME)-developer-edition
+ ifeq (.,$(DEPTH))
+ DIST = dist
+ else
+diff --git c/toolkit/mozapps/installer/packager.mk i/toolkit/mozapps/installer/packager.mk
+index 64f902a26942..d3313dacbcb7 100644
+--- c/toolkit/mozapps/installer/packager.mk
++++ i/toolkit/mozapps/installer/packager.mk
+@@ -138,8 +138,8 @@ endif
+ (cd $(DIST)/$(MOZ_PKG_DIR) && $(TAR) --exclude=precomplete $(TAR_CREATE_FLAGS) - .) | \
+ (cd $(DESTDIR)$(installdir) && tar -xf -)
+ $(NSINSTALL) -D $(DESTDIR)$(bindir)
+- $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
+- ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
++ $(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)-developer-edition
++ ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)-developer-edition
+
+ upload:
+ $(PYTHON) -u $(MOZILLA_DIR)/build/upload.py --base-path $(DIST) $(UPLOAD_FILES)
diff --git a/testing/firefox-developer-edition/lfs64.patch b/testing/firefox-developer-edition/lfs64.patch
new file mode 100644
index 00000000000..bae8b5d16d2
--- /dev/null
+++ b/testing/firefox-developer-edition/lfs64.patch
@@ -0,0 +1,35 @@
+force stat() instead of stat64() on 32-bit
+--
+--- a/xpcom/io/nsLocalFileUnix.h
++++ b/xpcom/io/nsLocalFileUnix.h
+@@ -21,7 +21,7 @@
+
+ // stat64 and lstat64 are deprecated on OS X. Normal stat and lstat are
+ // 64-bit by default on OS X 10.6+.
+-#if defined(HAVE_STAT64) && defined(HAVE_LSTAT64) && !defined(XP_DARWIN)
++#if 0 && defined(HAVE_STAT64) && defined(HAVE_LSTAT64) && !defined(XP_DARWIN)
+ # if defined(AIX)
+ # if defined STAT
+ # undef STAT
+--- a/mozglue/baseprofiler/core/shared-libraries-linux.cc
++++ b/mozglue/baseprofiler/core/shared-libraries-linux.cc
+@@ -178,7 +178,7 @@
+ return false;
+ }
+
+-#if defined(__x86_64__) || defined(__aarch64__) || \
++#if 1 || defined(__x86_64__) || defined(__aarch64__) || \
+ (defined(__mips__) && _MIPS_SIM == _ABI64) || \
+ !(defined(GP_OS_linux) || defined(GP_OS_android))
+
+--- a/security/sandbox/linux/broker/SandboxBrokerUtils.h
++++ b/security/sandbox/linux/broker/SandboxBrokerUtils.h
+@@ -15,7 +15,7 @@
+ // calls. We'll intercept those and handle them in the stat functions
+ // but must be sure to use the right structure layout.
+
+-#if defined(__NR_stat64) || defined(__NR_fstatat64)
++#if 0 && (defined(__NR_stat64) || defined(__NR_fstatat64) )
+ typedef struct stat64 statstruct;
+ # define statsyscall stat64
+ # define lstatsyscall lstat64
diff --git a/testing/firefox-developer-edition/no-ccache-stats.patch b/testing/firefox-developer-edition/no-ccache-stats.patch
new file mode 100644
index 00000000000..fa8dddd9840
--- /dev/null
+++ b/testing/firefox-developer-edition/no-ccache-stats.patch
@@ -0,0 +1,13 @@
+prevents a call to ccache
+diff --git a/python/mozbuild/mozbuild/controller/building.py b/python/mozbuild/mozbuild/controller/building.py
+index bf7009a083..011c012e20 100644
+--- a/python/mozbuild/mozbuild/controller/building.py
++++ b/python/mozbuild/mozbuild/controller/building.py
+@@ -570,6 +570,7 @@ class BuildMonitor(MozbuildObject):
+ )
+
+ def ccache_stats(self, ccache=None):
++ return None
+ ccache_stats = None
+
+ if ccache is None:
diff --git a/testing/firefox-developer-edition/python-deps.patch b/testing/firefox-developer-edition/python-deps.patch
new file mode 100644
index 00000000000..276aff906ae
--- /dev/null
+++ b/testing/firefox-developer-edition/python-deps.patch
@@ -0,0 +1,12 @@
+diff --git a/python/sites/mach.txt b/python/sites/mach.txt
+index fa6a316..3ea31ca 100644
+--- a/python/sites/mach.txt
++++ b/python/sites/mach.txt
+@@ -97,5 +97,5 @@ pypi-optional:glean-sdk==56.0.0:telemetry will not be collected
+ # Mach gracefully handles the case where `psutil` is unavailable.
+ # We aren't (yet) able to pin packages in automation, so we have to
+ # support down to the oldest locally-installed version (5.4.2).
+-pypi-optional:psutil>=5.4.2,<=5.9.4:telemetry will be missing some data
+-pypi-optional:zstandard>=0.11.1,<=0.22.0:zstd archives will not be possible to extract
++pypi-optional:psutil>=5.4.2,<=5.10.0:telemetry will be missing some data
++pypi-optional:zstandard>=0.11.1,<=0.24.0:zstd archives will not be possible to extract
diff --git a/testing/firefox-developer-edition/rust-lto-thin.patch b/testing/firefox-developer-edition/rust-lto-thin.patch
new file mode 100644
index 00000000000..788fceab39f
--- /dev/null
+++ b/testing/firefox-developer-edition/rust-lto-thin.patch
@@ -0,0 +1,12 @@
+set rust crate lto to thin to not use fatlto for gkrust which fails sometimes
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -92,7 +92,7 @@
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
+ ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
+-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
++cargo_rustc_flags += -Clto=thin
+ endif
+ # We need -Cembed-bitcode=yes for all crates when using -Clto.
+ RUSTFLAGS += -Cembed-bitcode=yes
diff --git a/testing/thunderbird/sandbox-fork.patch b/testing/firefox-developer-edition/sandbox-fork.patch
index c7222ab494d..c7222ab494d 100644
--- a/testing/thunderbird/sandbox-fork.patch
+++ b/testing/firefox-developer-edition/sandbox-fork.patch
diff --git a/testing/thunderbird/sandbox-largefile.patch b/testing/firefox-developer-edition/sandbox-largefile.patch
index f1cf28b51b9..f1cf28b51b9 100644
--- a/testing/thunderbird/sandbox-largefile.patch
+++ b/testing/firefox-developer-edition/sandbox-largefile.patch
diff --git a/testing/firefox-developer-edition/sandbox-sched_setscheduler.patch b/testing/firefox-developer-edition/sandbox-sched_setscheduler.patch
new file mode 100644
index 00000000000..ffdf12678bc
--- /dev/null
+++ b/testing/firefox-developer-edition/sandbox-sched_setscheduler.patch
@@ -0,0 +1,24 @@
+upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1657849
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index ed958bc..9824433 100644
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -1751,6 +1751,6 @@ class GMPSandboxPolicy : public SandboxPolicyCommon {
+ case __NR_sched_get_priority_max:
++ case __NR_sched_setscheduler:
+ return Allow();
+ case __NR_sched_getparam:
+- case __NR_sched_getscheduler:
+- case __NR_sched_setscheduler: {
++ case __NR_sched_getscheduler: {
+ Arg<pid_t> pid(0);
+@@ -1926,3 +1926,2 @@ class RDDSandboxPolicy final : public SandboxPolicyCommon {
+ case __NR_sched_getscheduler:
+- case __NR_sched_setscheduler:
+ case __NR_sched_getattr:
+@@ -1932,2 +1931,5 @@ class RDDSandboxPolicy final : public SandboxPolicyCommon {
+ }
++ // sched_setscheduler gets special treatment here (bug 1657849):
++ case __NR_sched_setscheduler:
++ return Allow();
+
diff --git a/testing/thunderbird/stab.h b/testing/firefox-developer-edition/stab.h
index 6f70af39897..6f70af39897 100644
--- a/testing/thunderbird/stab.h
+++ b/testing/firefox-developer-edition/stab.h
diff --git a/testing/firefox-developer-edition/vendor-prefs.js b/testing/firefox-developer-edition/vendor-prefs.js
new file mode 100644
index 00000000000..b98a03c166d
--- /dev/null
+++ b/testing/firefox-developer-edition/vendor-prefs.js
@@ -0,0 +1,19 @@
+// Use LANG environment variable to choose locale
+pref("intl.locale.requested", "");
+
+// Use system-provided dictionaries
+pref("spellchecker.dictionary_path", "/usr/share/hunspell");
+
+// Disable default browser checking.
+pref("browser.shell.checkDefaultBrowser", false);
+
+// Don't disable our bundled extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+pref("extensions.shownSelectionUI", true);
+
+// Disable sponsored tiles from "Mozilla Tiles Service"
+pref("browser.topsites.contile.enabled", false);
+
+// Disable Widevine CDM support (doesn't work on musl anyway)
+pref("media.gmp-widevinecdm.visible", false);
+pref("media.gmp-widevinecdm.enabled", false);
diff --git a/testing/firehol/APKBUILD b/testing/firehol/APKBUILD
index ff780a5d20d..5005073320c 100644
--- a/testing/firehol/APKBUILD
+++ b/testing/firehol/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: François Chavant <alpine@mail.chavant.info>
pkgname=firehol
pkgver=3.1.7
-pkgrel=0
+pkgrel=2
pkgdesc="firewall for humans"
-url="https://firehol.org/"
+url="https://github.com/firehol/firehol"
arch="noarch"
license=" GPL-2.0-only"
-depends="bash iprange iproute2 ip6tables iptables"
+depends="bash iprange iproute2 iptables"
subpackages="$pkgname-doc $pkgname-openrc"
source="https://github.com/firehol/firehol/releases/download/v$pkgver/firehol-$pkgver.tar.bz2
firehol.initd
@@ -37,5 +37,7 @@ package() {
install -m 755 "$startdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname"
}
-sha512sums="e80f8e52bd4e48d9f549d7efdea6eb600c128c2729f038e2a9bbebbbb9a0bf47d8ed911c1c32f9241071c65ed57b6a6bff77796a51378b11ddcf10f793e94064 firehol-3.1.7.tar.bz2
-7c2c3387b29ff0674e1c4ae500c8ea591388bf4aa3c4d72eaf3f2fcac1cf546e3e2ae026c2bf5e9c62b4f29f0a75e60c9a621bc0a6f78df22502dbbd9f9a2556 firehol.initd"
+sha512sums="
+e80f8e52bd4e48d9f549d7efdea6eb600c128c2729f038e2a9bbebbbb9a0bf47d8ed911c1c32f9241071c65ed57b6a6bff77796a51378b11ddcf10f793e94064 firehol-3.1.7.tar.bz2
+7c2c3387b29ff0674e1c4ae500c8ea591388bf4aa3c4d72eaf3f2fcac1cf546e3e2ae026c2bf5e9c62b4f29f0a75e60c9a621bc0a6f78df22502dbbd9f9a2556 firehol.initd
+"
diff --git a/testing/firewalld/APKBUILD b/testing/firewalld/APKBUILD
new file mode 100644
index 00000000000..a095a5db940
--- /dev/null
+++ b/testing/firewalld/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: Jordan ERNST <SecT0uch@sect0uch.world>
+# Maintainer: Jordan ERNST <SecT0uch@sect0uch.world>
+pkgname=firewalld
+pkgver=2.1.2
+pkgrel=0
+pkgdesc="Firewall daemon with D-Bus interface providing a dynamic firewall"
+url="https://github.com/firewalld/firewalld"
+arch="noarch"
+license="GPL-2.0-or-later"
+# checks produce errors (firewalld needs to be started)
+options="!check"
+depends="
+ dbus
+ nftables
+ py3-dbus
+ py3-gobject3
+ py3-nftables
+ "
+makedepends="
+ autoconf
+ desktop-file-utils
+ docbook-xsl
+ gettext
+ glib-dev
+ intltool
+ libxslt
+ "
+checkdepends="
+ iproute2-minimal
+ musl-locales
+ "
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-doc
+ $pkgname-gui
+ $pkgname-lang
+ $pkgname-openrc
+ $pkgname-zsh-completion
+ "
+source="https://github.com/firewalld/firewalld/releases/download/v$pkgver/firewalld-$pkgver.tar.bz2
+ $pkgname.initd
+ "
+
+build() {
+ # Disable sytemd and iptables features
+ ./configure \
+ --sysconfdir=/etc \
+ --disable-systemd \
+ --without-systemd-unitdir \
+ --disable-rpmmacros \
+ --without-iptables \
+ --without-ip6tables \
+ --without-ebtables \
+ --without-ipset \
+ --without-iptables-restore \
+ --without-ip6tables-restore \
+ --without-ebtables-restore
+ make dist
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ # Remove useless
+ rm -rf "$pkgdir"/etc/sysconfig/
+ rm -rf "$pkgdir"/etc/rc.d/
+
+ install -Dm 755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+}
+
+gui() {
+ # Taken here: https://gitweb.gentoo.org/repo/gentoo.git/tree/net-firewall/firewalld/firewalld-1.2.1.ebuild#n181
+ pkgdesc="GUI tools and assets for $pkgname"
+ amove etc/xdg
+ amove usr/bin/firewall-applet
+ amove usr/bin/firewall-config
+ amove usr/share/applications
+ amove usr/share/icons
+}
+
+sha512sums="
+c2f107a917093fbd51448b954c98ccdb90c4a19880dc69d13f3e9f179cb271b3a67015e315f05ba3b0d0ccd1dc5c01d3737a6c7f91430667f6ee3b468785cd4f firewalld-2.1.2.tar.bz2
+7a3089c1e34f4b499f463e7adf5ca4f1137994290780ebb08cdcf8728f0933d7236d1aa202c6598c3033d4984d7e113dec102f3b617ad2b766271c60e151d930 firewalld.initd
+"
diff --git a/testing/firewalld/firewalld.initd b/testing/firewalld/firewalld.initd
new file mode 100644
index 00000000000..561a34f7607
--- /dev/null
+++ b/testing/firewalld/firewalld.initd
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="FirewallD"
+command=/usr/sbin/firewalld
+pidfile=/run/firewalld.pid
+
+depend() {
+ need dbus
+ provide firewall
+}
diff --git a/testing/flamegraph/APKBUILD b/testing/flamegraph/APKBUILD
index 934f20475bc..b1ee61c4bf1 100644
--- a/testing/flamegraph/APKBUILD
+++ b/testing/flamegraph/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=flamegraph
-pkgver=1.0_git20191025
-_commit=1a0dc6985aad06e76857cf2a354bd5ba0c9ce96b
-pkgrel=0
+pkgver=1.0_git20220918
+_commit=d9fcc272b6a08c3e3e5b7919040f0ab5f8952d65
+pkgrel=1
pkgdesc="Stack trace visualizer"
url="http://www.brendangregg.com/flamegraphs.html"
arch="noarch"
@@ -21,4 +21,6 @@ package() {
done
}
-sha512sums="b02719e6df9d371f03cc0d56c3451fdb361bd4dadd30929ed22d7ec813400fdb27b1961941233554bb653153d55b29da36def27b21325c6b4c2744f40652bddb flamegraph-1.0_git20191025.tar.gz"
+sha512sums="
+97d57a33f4759c122ec09fe421288b31cbd227c1d81b771c76379f33cd62e1e44f5ebbd1510483df18cf355cd3ddcfc44a7a47f9ae54f30ecdae34e776dc87f1 flamegraph-1.0_git20220918.tar.gz
+"
diff --git a/testing/flameshot/APKBUILD b/testing/flameshot/APKBUILD
index aa408c33606..ed84e55378d 100644
--- a/testing/flameshot/APKBUILD
+++ b/testing/flameshot/APKBUILD
@@ -1,43 +1,48 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer:
pkgname=flameshot
-pkgver=0.10.2
-pkgrel=0
+pkgver=12.1.0
+pkgrel=3
pkgdesc="Featureful screenshot app"
options="!check" # No test suite
-url="https://github.com/lupoDharkael/flameshot"
-arch="all"
+url="https://github.com/flameshot-org/flameshot"
+arch="all !armhf" # kguiaddons
license="GPL-3.0-or-later"
depends="qt5-qtsvg"
-makedepends="cmake qt5-qtsvg-dev qt5-qttools-dev"
-subpackages="$pkgname-lang $pkgname-bash-completion $pkgname-zsh-completion $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/lupoDharkael/flameshot/archive/v$pkgver.tar.gz
+makedepends="
+ cmake
+ kguiaddons5-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ samurai
"
+subpackages="
+ $pkgname-lang
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ $pkgname-doc
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/flameshot-org/flameshot/archive/v$pkgver.tar.gz"
langdir="/usr/share/flameshot/translations"
-# XXX: Temporarily allow textrels on riscv64.
-[ "$CARCH" = "riscv64" ] && options="$options textrels"
-
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DUSE_WAYLAND_CLIPBOARD=ON \
+ -DENABLE_CACHE=OFF \
$CMAKE_CROSSOPTS
- make -C build
-}
-
-check() {
- make -C build test
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-b0eb1decd87dab1d4a375708448dd4c6f85c101d33814b76edbb328150d0e9ee7a588be698fddcb24e70e39cd4331f9aa2ff082525ff6975d52303a6d9c1ab12 flameshot-0.10.2.tar.gz
+159bf3a8ff406b3881dcc77fc48d9e7cc0d595bd47ee2363396d7efc95f69160cf25ccf99cd1b2c2b527baeadf91c209784a7bca23ed5f17caacc385e161c83c flameshot-12.1.0.tar.gz
"
diff --git a/testing/flann/APKBUILD b/testing/flann/APKBUILD
index 74f33c5a279..2207baf6718 100644
--- a/testing/flann/APKBUILD
+++ b/testing/flann/APKBUILD
@@ -2,16 +2,16 @@
# Maintainer: Bradley J Chambers <brad.chambers@gmail.com>
pkgname=flann
pkgver=1.9.1
-pkgrel=3
+pkgrel=4
pkgdesc="Fast Library for Approximate Nearest Neighbors"
-url="https://github.com/mariusmuja/flann"
+url="https://github.com/flann-lib/flann"
arch="all"
license="BSD-3-Clause"
# FLANN tests are broken, test data is invalid
options="!check"
makedepends="cmake"
subpackages="$pkgname-doc $pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mariusmuja/flann/archive/$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/flann-lib/flann/archive/$pkgver.tar.gz
cmake.patch"
build() {
diff --git a/testing/flannel/APKBUILD b/testing/flannel/APKBUILD
index 1e4ad8bc961..851c49bdb8b 100644
--- a/testing/flannel/APKBUILD
+++ b/testing/flannel/APKBUILD
@@ -2,30 +2,27 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=flannel
_pkgname=flanneld
-pkgver=0.16.1
-pkgrel=0
+pkgver=0.24.2
+pkgrel=2
pkgdesc="An etcd backed network fabric for containers"
-url="https://github.com/coreos/flannel"
+url="https://github.com/flannel-io/flannel"
arch="x86_64"
license="Apache-2.0"
+options="net chmod-clean"
makedepends="go linux-headers"
subpackages="$pkgname-openrc $pkgname-contrib-cni:contrib_cni:noarch"
source="$pkgname-$pkgver.tar.gz::https://github.com/flannel-io/flannel/archive/refs/tags/v$pkgver.tar.gz
-kube-flannel-bin-path.patch
$_pkgname.logrotated
$_pkgname.initd
$_pkgname.confd"
builddir="$srcdir/$pkgname-$pkgver"
-export GOPATH="$srcdir"
-
-prepare() {
- default_prepare
- mkdir -p $builddir/out
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- export GO111MODULE=on
+ mkdir -p out
go build \
-mod=readonly \
-ldflags "-s -w -X github.com/flannel-io/flannel/version.Version=$pkgver" \
@@ -52,22 +49,14 @@ contrib_cni() {
pkgdesc="$pkgname contrib cni config files"
mkdir -p "$subpkgdir"/etc/cni/net.d
install -Dm0755 "$builddir"/dist/mk-docker-opts.sh "$subpkgdir"/usr/bin/mk-docker-opts.sh
- install -Dm0755 "$builddir"/dist/iptables-wrapper-installer.sh "$subpkgdir"/usr/bin/iptables-wrapper-installer.sh
install -Dm0644 "$builddir"/Documentation/kube-flannel.yml \
"$subpkgdir"/etc/kube-flannel/kube-flannel.yml
- install -Dm0644 "$builddir"/Documentation/k8s-manifests/kube-flannel-legacy.yml \
+ install -Dm0644 "$builddir"/Documentation/k8s-old-manifests/kube-flannel-legacy.yml \
"$subpkgdir"/etc/kube-flannel/kube-flannel-legacy.tml
}
-cleanup_srcdir() {
- export GOPATH="$srcdir"
- go clean -modcache
- default_cleanup_srcdir
-}
-
sha512sums="
-699ba7e7b80dd60a03bb5c6ee384a582201d8167ef21e60816ca9942a9d70ba0fd7633a3d2a44802f9f0a0851a79709afe78bd46f15ca81641ff64d46859f928 flannel-0.16.1.tar.gz
-398b7068c46b132b747cade43f7f718703f8b32ef7d59fb54da5105ab3fac97b81e0af69e13207ec7cd6fa42a266be8ec45213bf7853fdbc560fbaee4bb5966d kube-flannel-bin-path.patch
+eca5051815efbe90136d79e686e6fc070b68cb1331b97a8476a817b5e0c97b7d12742a5d5c403b75a1607fcd3752f16115105632358b035cba8af4f2f7e3d3e3 flannel-0.24.2.tar.gz
d84258a164adcec0f1cef7fcafcf0cadb3bf3959b393b905c4897274adeff476279ce96ec42e9aa9d574c6bd7d37649d92c7c52563975f85d303cade990a3942 flanneld.logrotated
3f6f33fe90adca1dd17b503ce0cd3a7f3cc0ca7fc10d0ca5b631f4c87ed513c0133dfd7679618cf95540b252b3176f9bbefd6454867ef792258c46cafc039d86 flanneld.initd
353b98bfc1a73d8f691b6f79489e0224961b5af8ca36ce2edde2d7a86790612de1d597c3455222f38a1c9f09b377e1bf3adfeedc04bd6b0b75c653a732d58988 flanneld.confd
diff --git a/testing/flannel/kube-flannel-bin-path.patch b/testing/flannel/kube-flannel-bin-path.patch
deleted file mode 100644
index fae3d476c35..00000000000
--- a/testing/flannel/kube-flannel-bin-path.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/Documentation/k8s-manifests/kube-flannel-legacy.yml b/Documentation/k8s-manifests/kube-flannel-legacy.yml
-index d79d85e..01df638 100644
---- a/Documentation/k8s-manifests/kube-flannel-legacy.yml
-+++ b/Documentation/k8s-manifests/kube-flannel-legacy.yml
-@@ -55,7 +55,7 @@ spec:
- - name: kube-flannel
- image: quay.io/coreos/flannel:v0.10.0-amd64
- command:
-- - /opt/bin/flanneld
-+ - /usr/bin/flanneld
- args:
- - --ip-masq
- - --kube-subnet-mgr
-diff --git a/Documentation/kube-flannel.yml b/Documentation/kube-flannel.yml
-index c7edaef..d41b884 100644
---- a/Documentation/kube-flannel.yml
-+++ b/Documentation/kube-flannel.yml
-@@ -182,7 +182,7 @@ spec:
- - name: kube-flannel
- image: quay.io/coreos/flannel:v0.14.0
- command:
-- - /opt/bin/flanneld
-+ - /usr/bin/flanneld
- args:
- - --ip-masq
- - --kube-subnet-mgr
diff --git a/testing/flare-engine/APKBUILD b/testing/flare-engine/APKBUILD
index 844e89b18cf..00f88f11500 100644
--- a/testing/flare-engine/APKBUILD
+++ b/testing/flare-engine/APKBUILD
@@ -1,29 +1,43 @@
# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
+# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=flare-engine
-pkgver=1.11
-pkgrel=2
+pkgver=1.14
+pkgrel=0
pkgdesc="Free/Libre Action Roleplaying Engine"
url="http://www.flarerpg.org/"
arch="all"
license="GPL-3.0-only"
depends="hicolor-icon-theme"
-makedepends="cmake make sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev"
+makedepends="
+ cmake
+ samurai
+ sdl2-dev
+ sdl2_image-dev
+ sdl2_mixer-dev
+ sdl2_ttf-dev
+ "
options="!check" # make check not implemented
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/flareteam/flare-engine/archive/v$pkgver.tar.gz"
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBINDIR=bin \
- -DDATADIR=share/flare
- make -C build
+ -DDATADIR=share/flare \
+ $CMAKE_CROSSOPTS
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="1a210a9ce1812458faafc7ceadfdb69dfb2f70b785f93b7bc698b72b6305e8a3b268d53b085544ac54868e895cce6872abf9cb22389ed1280a27ca46bdb9ec3b flare-engine-1.11.tar.gz"
+sha512sums="
+6033eb40b83763e670e1af2333fd8609f796746c51b7b07b7e5f99694954aad7ae7c80f44590bbca5316714cf0581e7326e6e707669e2341a953a8212a46d8d1 flare-engine-1.14.tar.gz
+"
diff --git a/testing/flare-game/APKBUILD b/testing/flare-game/APKBUILD
new file mode 100644
index 00000000000..b308bc9766d
--- /dev/null
+++ b/testing/flare-game/APKBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
+pkgname=flare-game
+pkgver=1.14
+pkgrel=0
+pkgdesc="Fantasy action RPG using the FLARE engine"
+url="http://www.flarerpg.org/"
+arch="noarch"
+license="GPL-3.0-only"
+depends="flare-engine"
+install="$pkgname.post-install"
+options="!check" # No test suite
+source="flare-game-data-downloader.sh"
+
+package() {
+ install -Dm755 flare-game-data-downloader.sh \
+ "$pkgdir"/usr/bin/flare-game-data-downloader.sh
+}
+
+sha512sums="
+3dc04a844244da02274a9025f3c1d68b42371496b871f9fc1e47f30af5f87861b072acb7fe06bf91b97b06632daa439666955557c1d934bde959ac9d08beb803 flare-game-data-downloader.sh
+"
diff --git a/testing/flare-game/flare-game-data-downloader.sh b/testing/flare-game/flare-game-data-downloader.sh
new file mode 100755
index 00000000000..834a4833fd0
--- /dev/null
+++ b/testing/flare-game/flare-game-data-downloader.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Flare-game can be placed in two default locations: /usr/share/flare for system-wide installation
+# or ~/.local/share/flare for user installation.
+# It's better to place it inside user directory because each user could have their own game assets.
+
+FG_VERSION=1.13.04
+INST_DIRECTORY="$HOME/.local/share/flare"
+
+echo "Downloading Flare Game data (version $FG_VERSION) ..."
+mkdir -p ${INST_DIRECTORY}
+curl -L https://github.com/flareteam/flare-game/releases/download/v${FG_VERSION}/flare-game-v${FG_VERSION}.tar.gz | tar -xz --strip-components=1 -C ${INST_DIRECTORY} -f -
+echo 'Done.'
diff --git a/testing/flare-game/flare-game.post-install b/testing/flare-game/flare-game.post-install
new file mode 100755
index 00000000000..a0b616c08ff
--- /dev/null
+++ b/testing/flare-game/flare-game.post-install
@@ -0,0 +1,13 @@
+#!/bin/sh
+FG_VERSION=1.13.04
+echo
+echo " Please run flare-game-data-downloader.sh before running the program."
+echo
+echo
+echo " You can also download the flare-game-${FG_VERSION}.tar.gz file at:"
+echo
+echo " https://github.com/flareteam/flare-game/releases/download/v${FG_VERSION}/flare-game-v${FG_VERSION}.tar.gz"
+echo
+echo " and extract it in ~/.local/share/flare (recommended)"
+echo " or place it system-wide in /usr/share/flare."
+echo
diff --git a/testing/flatpak-xdg-utils/APKBUILD b/testing/flatpak-xdg-utils/APKBUILD
new file mode 100644
index 00000000000..828c22b93f2
--- /dev/null
+++ b/testing/flatpak-xdg-utils/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Jordan Christiansen <xordspar0@gmail.com>
+# Maintainer: Jordan Christiansen <xordspar0@gmail.com>
+pkgname=flatpak-xdg-utils
+pkgver=1.0.5
+pkgrel=0
+pkgdesc="Simple portal-based commandline tools for use inside flatpak sandboxes"
+url="https://github.com/flatpak/flatpak-xdg-utils"
+arch="all"
+license="LGPL-2.1-only"
+makedepends="meson glib-dev"
+checkdepends="dbus"
+source="https://github.com/flatpak/flatpak-xdg-utils/releases/download/$pkgver/flatpak-xdg-utils-$pkgver.tar.xz"
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+ mv $pkgdir/usr/bin/xdg-email $pkgdir/usr/bin/flatpak-xdg-email
+ mv $pkgdir/usr/bin/xdg-open $pkgdir/usr/bin/flatpak-xdg-open
+}
+
+sha512sums="
+71c55cc01dc962c1b419821160626c46111ad672241f7627dbf780790d4f9f320151f479264ffc188334488f43dee8f4f7aa7754040e9c6231c200ea281f6439 flatpak-xdg-utils-1.0.5.tar.xz
+"
diff --git a/testing/flauschige-uhr/APKBUILD b/testing/flauschige-uhr/APKBUILD
index a1905ceed60..2f0f36f4043 100644
--- a/testing/flauschige-uhr/APKBUILD
+++ b/testing/flauschige-uhr/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: guddaff <guddaff@protonmail.com>
pkgname=flauschige-uhr
pkgver=0.1
-pkgrel=0
+pkgrel=1
pkgdesc="german fuzzy clock"
options="!check" #there are no checks
url="https://github.com/guddaff/flauschige-uh"
diff --git a/testing/flightgear/APKBUILD b/testing/flightgear/APKBUILD
index c50f787f7e2..faa8563b570 100644
--- a/testing/flightgear/APKBUILD
+++ b/testing/flightgear/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=flightgear
-pkgver=2020.3.11
+pkgver=2020.3.19
_pkgver=${pkgver%.*}
pkgrel=0
pkgdesc="Flight Gear Flight Simulator"
@@ -9,10 +9,28 @@ url="http://flightgear.org"
arch="all !riscv64 !x86 !armhf !armv7" # limited by openscenegraph and build compatibility
license="GPL-2.0-or-later"
makedepends="
- boost-dev cmake curl-dev dbus-dev eudev-dev freeglut-dev glew-dev
- libexecinfo-dev libx11-dev libxi-dev libxmu-dev mesa-dev openal-soft-dev
- openscenegraph-dev plib qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtsvg-dev
- simgear-dev zlib-dev
+ boost-dev
+ cmake
+ curl-dev
+ dbus-dev
+ eudev-dev
+ freeglut-dev
+ glew-dev
+ libevent-dev
+ libx11-dev
+ libxi-dev
+ libxmu-dev
+ mesa-dev
+ openal-soft-dev
+ openscenegraph-dev
+ plib
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qttools-dev
+ qt5-qtsvg-dev
+ samurai
+ simgear-dev=~$pkgver
+ zlib-dev
"
install="$pkgname.post-install"
subpackages="
@@ -24,45 +42,46 @@ subpackages="
options="!check" # FIXME test suite does not get built
source="
https://downloads.sourceforge.net/project/flightgear/release-$_pkgver/flightgear-$pkgver.tar.bz2
+ no-execinfo.patch
musl-fenv.patch
musl-fix_error_h.patch
musl-fix_feenableexcept.patch
musl-fix_fpos_t.patch
musl-include-fcntl.patch
- musl-fix_backtrace.patch
flightgear-data-downloader.sh
"
build() {
- cmake \
- -D BUILD_TESTING=ON \
- -D CMAKE_BUILD_TYPE="Release" \
- -D CMAKE_EXE_LINKER_FLAGS=-lexecinfo \
+ # reduce size of debug syms
+ CFLAGS="$CFLAGS -g1" CXXFLAGS="$CXXFLAGS -g1" \
+ cmake -B build -G Ninja \
+ -D BUILD_TESTING="$(want_check && echo ON || echo OFF)" \
+ -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr \
-D CMAKE_INSTALL_SYSCONFDIR=/etc/$pkgname \
-D FG_DATA_DIR=/var/lib/$pkgname \
- -D SimGear_DIR=/usr/lib/cmake/SimGear \
- .
- make
+ -D SimGear_DIR=/usr/lib/cmake/SimGear
+ cmake --build build
}
check() {
- make test
+ ninja -C build test
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
install -Dm755 "$srcdir"/flightgear-data-downloader.sh "$pkgdir"/usr/bin/flightgear-data-downloader
+ sed -i -e "s/%FGDATA_VERSION%/$pkgver/" "$pkgdir"/usr/bin/flightgear-data-downloader
}
sha512sums="
-9a7c6f262da8daf3d954df7a2a8a96e555f3212c1d949211d0dbddd08a8f7380fa8f4986d60f48e17db563154d250184ee772b79b10277a2c5819fabec3930ee flightgear-2020.3.11.tar.bz2
+ad5a4dd455a92bd9032c0f01084c0c114e4a91e60d53f200a754e54e1f8e08fd8e9008ea9f97f69410ee842fdc6c2210091d4ac5e5c6da6ba19f47e22438d207 flightgear-2020.3.19.tar.bz2
+34186d8ac64368bebed4f7564bc38df236b2c3e7870366240635c80c8a4ebce854e0ea30d9fc30f6f578acb86340dd2ee0d6dc1ce4b25c5a76129a8d8d4bf7df no-execinfo.patch
81ffb1ecfceae8d4ebb14717fb785118b3c290171245762cb4ab85be769582576147fe1b1b60fe854f4dd8079ebaf913da1585809ba9048d55f8710159c05614 musl-fenv.patch
b477510a102b0d01859ab39ddf7b5c4bcd3b80aa522320b2128095228b643d5e067dd61f8edbef7df7ed1a35aea647444126ba58eb39a82d294ae8a0f6e808e5 musl-fix_error_h.patch
29d12098c2581122234188cadd929238c41258bf347de2fcd30dabb46e398d19566e064b2a4267370bf7669c5dcde2c87ef1232b7b1a9ed27ad7885a26378b05 musl-fix_feenableexcept.patch
3a5d280bcd806fbdeb7b2f92435ffa7b44c420494ae658060624dfa34709a2b36448c1ca8c81bff1e4bb2878fa55200eb69535699062aff5286c7f640fbc3081 musl-fix_fpos_t.patch
89f871216cac9bf772c6f7a4d12d79ff73a38179547464ffa93ed24394309cb085719c0de5e2a82e2086e994cbf886a8763e4c577fdda476ddbab0e3e3dea4cd musl-include-fcntl.patch
-c9d680759fc163366d352bf7b96850a71303b427b0664a50e6ebc7bb11a2d4910cc18988cbc9c305f8a18307c8c2d739559a9358f7f682b34a5b41a126f35567 musl-fix_backtrace.patch
-8efecffaa9b4445d4915255d18a2b09bf63330c226815d88b070476f7d71c941fa444088f8f641b5c235b509dfd0b4edf8e287aa85830c3306dd5a4a23d64901 flightgear-data-downloader.sh
+fc350ca635981a0c0936aee13e11913c7f78cd31716ab1bf7edb060fc934a2b61913e722b32a9deacb19f2eef58f374a96fe9cc821cae7c38cf579d18adc860f flightgear-data-downloader.sh
"
diff --git a/testing/flightgear/flightgear-data-downloader.sh b/testing/flightgear/flightgear-data-downloader.sh
index 14023b00948..b4b2c3ac411 100755
--- a/testing/flightgear/flightgear-data-downloader.sh
+++ b/testing/flightgear/flightgear-data-downloader.sh
@@ -1,8 +1,15 @@
#!/bin/sh
-FGDATA_VERSION=2020.3.11
+FGDATA_VERSION=%FGDATA_VERSION%
RELEASE_BRANCH=${FGDATA_VERSION%.*}
+if [ "$(id -u)" != '0' ]; then
+ echo "This script requires root privileges to store flightgear-data into /var/lib/flightgear folder."
+ exit 1
+fi
+
echo "Downloading Flightgear data (version $FGDATA_VERSION) ..."
+rm -rf /var/lib/flightgear
+mkdir /var/lib/flightgear
curl -L https://sourceforge.net/projects/flightgear/files/release-$RELEASE_BRANCH/FlightGear-$FGDATA_VERSION-data.txz/download | tar -xJ --strip-components=1 -C /var/lib/flightgear -f -
echo 'Done.'
diff --git a/testing/flightgear/flightgear.post-install b/testing/flightgear/flightgear.post-install
index 7b3fdf69faa..abba2488a0b 100755
--- a/testing/flightgear/flightgear.post-install
+++ b/testing/flightgear/flightgear.post-install
@@ -2,7 +2,7 @@
echo
echo " Please download the flightgear-data-VERSION.tar.bz2 file at:"
echo
-echo " http://downloads.sourceforge.net/project/flightgear"
+echo " https://downloads.sourceforge.net/project/flightgear"
echo
echo " and extract it in /var/lib/flightgear"
echo " before running the program or change its location"
diff --git a/testing/flightgear/musl-fix_backtrace.patch b/testing/flightgear/musl-fix_backtrace.patch
deleted file mode 100644
index ddf8af58acd..00000000000
--- a/testing/flightgear/musl-fix_backtrace.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/Main/bootstrap.cxx
-+++ b/src/Main/bootstrap.cxx
-@@ -159,7 +159,7 @@ void segfault_handler(int signo) {
-
- fprintf(stderr, "Error: caught signal %d:\n", signo);
-
-- #ifndef __OpenBSD__
-+ #if defined(__GLIBC__)
- size = backtrace(array, 128);
- if (size) {
- char** list = backtrace_symbols(array, size);
diff --git a/testing/flightgear/no-execinfo.patch b/testing/flightgear/no-execinfo.patch
new file mode 100644
index 00000000000..83e6302058f
--- /dev/null
+++ b/testing/flightgear/no-execinfo.patch
@@ -0,0 +1,21 @@
+diff --git a/src/Main/bootstrap.cxx b/src/Main/bootstrap.cxx
+index f9eb159..958aa8a 100755
+--- a/src/Main/bootstrap.cxx
++++ b/src/Main/bootstrap.cxx
+@@ -193,7 +193,6 @@ bool checkUniversalCRTVersion()
+ #endif
+
+ #if defined(__GNUC__)
+-#include <execinfo.h>
+ #include <cxxabi.h>
+ void segfault_handler(int signo) {
+ void *array[128];
+@@ -201,7 +200,7 @@ void segfault_handler(int signo) {
+
+ fprintf(stderr, "Error: caught signal %d:\n", signo);
+
+- #ifndef __OpenBSD__
++ #if defined(__GLIBC__)
+ size = backtrace(array, 128);
+ if (size) {
+ char** list = backtrace_symbols(array, size);
diff --git a/testing/flightgear/time64.patch b/testing/flightgear/time64.patch
deleted file mode 100644
index 367f884452a..00000000000
--- a/testing/flightgear/time64.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/src/Input/FGLinuxEventInput.cxx 2020-06-26 00:08:15.000000000 +0200
-+++ b/src/Input/FGLinuxEventInput.cxx 2020-12-07 07:51:45.332825252 +0100
-@@ -415,8 +415,8 @@
- evt.type=typeCode.type;
- evt.code = typeCode.code;
- evt.value = (long)value;
-- evt.time.tv_sec = 0;
-- evt.time.tv_usec = 0;
-+ evt.input_event_sec = 0;
-+ evt.input_event_usec = 0;
- size_t bytes_written = write(fd, &evt, sizeof(evt));
-
- if( bytes_written == sizeof(evt) )
diff --git a/testing/flint/APKBUILD b/testing/flint/APKBUILD
index 6ca39af8bfc..3940308490d 100755..100644
--- a/testing/flint/APKBUILD
+++ b/testing/flint/APKBUILD
@@ -1,38 +1,51 @@
# Contributor: Alex Yam <alex@alexyam.com>
+# Contributor: Grigory Kirillov <txgk@bk.ru>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=flint
-pkgver=2.7.1
+pkgver=2.9.0
pkgrel=1
pkgdesc="C library in support of computations in number theory"
url="https://www.flintlib.org/"
-arch="all !mips !mips64"
+# s390x: https://github.com/wbhart/flint2/issues/1184
+arch="all !s390x"
license="LGPL-2.1-or-later"
makedepends="
cmake
gmp-dev
+ libntl-dev
mpfr-dev
- blas-dev
+ openblas-dev
python3
+ samurai
"
subpackages="$pkgname-dev"
-source="https://www.flintlib.org/flint-$pkgver.tar.gz"
+source="https://www.flintlib.org/flint-$pkgver.tar.gz
+ fix-sdiv_qrnnd-test.patch"
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ # Project uses cpu_set_t type extensively throughout the codebase
+ # and sometimes without defining _GNU_SOURCE.
+ # Patching all this seems too operose...
+ export CFLAGS="$CFLAGS -D_GNU_SOURCE"
+
+ cmake -G Ninja -B build \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
+ -DWITH_NTL=ON \
-DBUILD_TESTING=ON
cmake --build build
}
check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+ ctest -j4 --output-on-failure --test-dir build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="abea97228e91089d82a9a44714e719064bef261c45f5f5b24700955bb841cc98a8182e04e6054fcbcaa3bd92f2f95a82bd5d168ec2171af6a58d4f71eb0a479a flint-2.7.1.tar.gz"
+sha512sums="
+e213f0d5b4d03195357253593b2e0c2f04ef07b1cc24b302ad0e995f92aa9e0fa8beb1709db58ed1fff039ea88b0ce2acda3b6123f61dcf11852399b74a71364 flint-2.9.0.tar.gz
+092f9b035167c80d6f862c7bda278effe3c8321a4a606be5375a17c381ce46d5f2135f747594f6ebdf761d3f11604b1da46eaa650cda9034be46c17e48fad4f9 fix-sdiv_qrnnd-test.patch
+"
diff --git a/testing/flint/fix-sdiv_qrnnd-test.patch b/testing/flint/fix-sdiv_qrnnd-test.patch
new file mode 100644
index 00000000000..4b8ac7e818b
--- /dev/null
+++ b/testing/flint/fix-sdiv_qrnnd-test.patch
@@ -0,0 +1,22 @@
+From fb8ddbcc06afa2a8f25637032fbb8211f6c6c122 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Albin=20Ahlb=C3=A4ck?= <albin.ahlback@gmail.com>
+Date: Fri, 20 May 2022 14:16:38 +0200
+Subject: [PATCH] Fix bug in test code for GCC 12
+
+---
+ test/t-sdiv_qrnnd.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/t-sdiv_qrnnd.c b/test/t-sdiv_qrnnd.c
+index 2e9822e848..2676903826 100644
+--- a/test/t-sdiv_qrnnd.c
++++ b/test/t-sdiv_qrnnd.c
+@@ -33,7 +33,7 @@ int main(void)
+ {
+ d = n_randtest_not_zero(state);
+ nh = n_randtest(state);
+- } while ((FLINT_ABS(nh) >= FLINT_ABS(d)/2) || (nh == WORD_MIN));
++ } while ((nh == WORD_MIN) || (FLINT_ABS(nh) >= FLINT_ABS(d)/2));
+
+ nl = n_randtest(state);
+
diff --git a/testing/flintqs/APKBUILD b/testing/flintqs/APKBUILD
new file mode 100644
index 00000000000..a0c36ed9ee6
--- /dev/null
+++ b/testing/flintqs/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=flintqs
+pkgver=1.0
+pkgrel=1
+pkgdesc="Highly optimized multi-polynomial quadratic sieve for integer factorization"
+url="https://github.com/sagemath/FlintQS"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="autoconf automake gmp-dev libtool"
+source="https://github.com/sagemath/FlintQS/archive/v$pkgver/flintqs-v$pkgver.tar.gz"
+builddir="$srcdir/FlintQS-$pkgver"
+
+prepare() {
+ default_prepare
+ touch ChangeLog
+ autoreconf -fi
+}
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ echo 1000000000000000000000000000000000000000 | ./src/QuadraticSieve
+}
+
+package() {
+ install -Dm755 src/QuadraticSieve "$pkgdir"/usr/bin/QuadraticSieve
+}
+
+sha512sums="
+5be6422d1d666ffddf4fd29db761c4c5b6c196c3a4b2b62071e6ed0df9ef8645cbae4da6d01ca9bc1dfa1ffc680b7b9683f0f4291767af986f9fef6c0a37b793 flintqs-v1.0.tar.gz
+"
diff --git a/testing/flowd/APKBUILD b/testing/flowd/APKBUILD
index 919161738b5..2b3c5b6f433 100644
--- a/testing/flowd/APKBUILD
+++ b/testing/flowd/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=flowd
pkgver=0.9.1
-pkgrel=7
+pkgrel=9
pkgdesc="Small, fast and secure NetFlow collector"
url="https://www.mindrot.org/projects/flowd/"
arch="all"
@@ -15,7 +15,9 @@ subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc
source="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/$pkgname/$pkgname-$pkgver.tar.gz
fix_path.patch
fix_user.patch
- $pkgname.initd"
+ format-security.patch
+ $pkgname.initd
+ "
# Packages remove ddue to depending on python2
replaces="$pkgname-tools $pkgname-rrd py-$pkgname"
@@ -66,7 +68,10 @@ _perldoc() {
install_if="docs perl-$pkgname=$pkgver-r$pkgrel"
}
-sha512sums="c86d810de9a163206525c4ac12029d650209a370213d701d38b0e7ea746e087d2a0f80ab1657ccca87851cdf64628813666028e267529d6b7391b63542230967 flowd-0.9.1.tar.gz
+sha512sums="
+c86d810de9a163206525c4ac12029d650209a370213d701d38b0e7ea746e087d2a0f80ab1657ccca87851cdf64628813666028e267529d6b7391b63542230967 flowd-0.9.1.tar.gz
427a0b690519ddeb28da581ba7740faa6de9c6baf40ba285ad82f5652def3c950c8b080ca677de9748eea6cc1c2c5ab38559a139655e6cb176b021a5a9d5d912 fix_path.patch
5264f4e913464c7cd6957ea4ef2a458551e3b52c66d1b709e90bfbe014327b72fbff52e282acbf6a2222972ca96f5908410f6ab51c3d8a161e9eef111634d8f2 fix_user.patch
-68cfe2ea07eb981c02660f5c05018308c164705f52c0c1d90bdacc45ec993dca971439c60b02f5ba3e521c8730e54d968a31af1eddfe6924d39d33c50843836b flowd.initd"
+f3478a308ab1bae77c6469a8ebd74f9a91bbaeca6562ef5dbfd791556d8c05620b04a7b9ae1607b1d4c777a32af052c56aad1ca39b8fdc040449999de103565c format-security.patch
+68cfe2ea07eb981c02660f5c05018308c164705f52c0c1d90bdacc45ec993dca971439c60b02f5ba3e521c8730e54d968a31af1eddfe6924d39d33c50843836b flowd.initd
+"
diff --git a/testing/flowd/format-security.patch b/testing/flowd/format-security.patch
new file mode 100644
index 00000000000..9dbebc0a487
--- /dev/null
+++ b/testing/flowd/format-security.patch
@@ -0,0 +1,13 @@
+diff --git a/Flowd-perl/Flowd.xs b/Flowd-perl/Flowd.xs
+index 3b72d9b..1f0a5c0 100644
+--- a/Flowd-perl/Flowd.xs
++++ b/Flowd-perl/Flowd.xs
+@@ -70,7 +70,7 @@ void deserialise(...)
+ buf = (char *)SvPV(ST(0), len);
+ r = store_flow_deserialise(buf, len, &flow, ebuf, sizeof(ebuf));
+ if (r != STORE_ERR_OK)
+- croak(ebuf);
++ croak("%s", ebuf);
+
+ fields = ntohl(flow.hdr.fields);
+
diff --git a/testing/fluent-bit/10-def-core-stack-size.patch b/testing/fluent-bit/10-def-core-stack-size.patch
deleted file mode 100644
index 29bda6feb6e..00000000000
--- a/testing/fluent-bit/10-def-core-stack-size.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/include/fluent-bit/flb_coro.h
-+++ b/include/fluent-bit/flb_coro.h
-@@ -62,9 +62,7 @@
- void *data;
- };
-
--#ifdef FLB_CORO_STACK_SIZE
--#define FLB_CORO_STACK_SIZE FLB_CORO_STACK_SIZE
--#else
-+#ifndef FLB_CORO_STACK_SIZE
- #define FLB_CORO_STACK_SIZE ((3 * PTHREAD_STACK_MIN) / 2)
- #endif
-
diff --git a/testing/fluent-bit/APKBUILD b/testing/fluent-bit/APKBUILD
index 5fbd43bf9ba..c7387096b67 100644
--- a/testing/fluent-bit/APKBUILD
+++ b/testing/fluent-bit/APKBUILD
@@ -1,19 +1,25 @@
# Contributor: wener <wenermail@gmail.com>
# Maintainer: wener <wenermail@gmail.com>
pkgname=fluent-bit
-pkgver=1.8.9
+pkgver=2.1.10
pkgrel=0
pkgdesc="Fast and Lightweight Log processor and forwarder"
url="https://fluentbit.io/"
# riscv64: does not support bundled luajit
-arch="all !ppc64le !s390x !riscv64"
+# arm: doesn't build
+arch="all !armhf !armv7 !ppc64le !s390x !riscv64"
license="Apache-2.0"
+# XXX:
+# wamr, sqlite, rdkafka, c-ares, luajit are bundled
makedepends="
bison
cmake
flex
- fts-dev
gtest-dev
+ linux-headers
+ musl-fts-dev
+ openssl-dev
+ yaml-dev
zlib-dev
"
subpackages="
@@ -21,11 +27,10 @@ subpackages="
$pkgname-openrc
"
source="$pkgname-$pkgver.tar.gz::https://github.com/fluent/fluent-bit/archive/v$pkgver.tar.gz
- fluent-bit.confd
fluent-bit.initd
chunkio-static-lib-fts.patch
- 10-def-core-stack-size.patch
- stream_suffix.patch
+ exclude-luajit.patch
+ xsi-strerror.patch
"
# enable check when this solved - https://github.com/fluent/fluent-bit/issues/2464#issuecomment-673280055
options="!check"
@@ -58,17 +63,14 @@ package() {
install -Dm755 "$srcdir"/$pkgname.initd \
"$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/$pkgname
mv "$pkgdir"/usr/etc/* "$pkgdir"/etc
}
sha512sums="
-6f831ca65f9c410c1359a10a69fdf272dbcc5711a5071f4473fda8894dd7984f0c8152705e78311239d805dbf01c55b987611a35da0980588a1eb8b805c9537a fluent-bit-1.8.9.tar.gz
-f6431397c80a036980b5377b51e38aec25dfceeb8dbe4cd54dce1f6e77d669d9f8daf983fcc96d25332385888f1809ced5e8ab0e8ccfcd93d19494036e3dc949 fluent-bit.confd
-8ba6c8e84dee90176f9b4375fb2c6444fa5d32fa601d9bcf3ea7960fec87f1ef664f175caf08bd0b052843e971efdbf08e2a5cd180ad9a8f23ff2c5cb233814f fluent-bit.initd
+55caefa81cdeaf293b727829383c6eaa75bc2f8b8c61ebe15e1478c66033921fde6e50c39fc8c39a7d2d93d03892f709daf4d1b6caacf586133de5268de10299 fluent-bit-2.1.10.tar.gz
+e17c8b7d09b524855167baf3a3766c5420181370cdd1d21133e7c18d7316b224a6c0aa240be26d3d0443d91247a82759161f7ad12f142b4b84924da5694a61e6 fluent-bit.initd
6bd7d8b4da93a17f29b6ea1e0286ea226d0e376024284741110936779b3229bd8d6cd03ffbdc5d3b4842294e7f32a888de0dd16b0851b65d91b062ca58530ea0 chunkio-static-lib-fts.patch
-cecfa26e240491ed059f27e209eec8408514f0a59c2b5287fe837daba01179c15c33e8bc88e3bbe95ff39810f7fef6ef806643efbd84fb6dd86a3a7e188a319d 10-def-core-stack-size.patch
-9dc413422a5c12534d962e47b41387a589023b952eca86270fd58b12ea2d309c00d683f826f089618b4b774bd791e954da6d4f60bed7e42d6626ad44853c1a7d stream_suffix.patch
+e3308a8377fb8ba496415b7a31e9e022e5aa9965d27a0c33ea5166a29049b72cb364bbcdf9d8611ef3407b0968f9bd4adff12cdb39728bbebd382710e5bc75d0 exclude-luajit.patch
+d61f30344af997f126486fa5b34cd3fbfe88bfc9aea394a8c60d0206f4db8db998eadf637a3a581b89512411c1e7980c414e236e455d5e2b889d20a556ee6577 xsi-strerror.patch
"
diff --git a/testing/fluent-bit/exclude-luajit.patch b/testing/fluent-bit/exclude-luajit.patch
new file mode 100644
index 00000000000..b4df3383283
--- /dev/null
+++ b/testing/fluent-bit/exclude-luajit.patch
@@ -0,0 +1,12 @@
+otherwise it installs an unused /usr/bin/luajit ....
+-0
+diff --git a/cmake/luajit.cmake b/cmake/luajit.cmake
+index b6774eb..f8042ae 100644
+--- a/cmake/luajit.cmake
++++ b/cmake/luajit.cmake
+@@ -1,4 +1,4 @@
+ # luajit cmake
+ option(LUAJIT_DIR "Path of LuaJIT 2.1 source dir" ON)
+ set(LUAJIT_DIR ${FLB_PATH_ROOT_SOURCE}/${FLB_PATH_LIB_LUAJIT})
+-add_subdirectory("lib/luajit-cmake")
++add_subdirectory("lib/luajit-cmake" EXCLUDE_FROM_ALL)
diff --git a/testing/fluent-bit/fluent-bit.confd b/testing/fluent-bit/fluent-bit.confd
deleted file mode 100644
index 01ce1799ac1..00000000000
--- a/testing/fluent-bit/fluent-bit.confd
+++ /dev/null
@@ -1 +0,0 @@
-fluentbit_opts="-c /etc/fluent-bit/fluent-bit.conf"
diff --git a/testing/fluent-bit/fluent-bit.initd b/testing/fluent-bit/fluent-bit.initd
index e1059d8a963..84c5806e381 100644
--- a/testing/fluent-bit/fluent-bit.initd
+++ b/testing/fluent-bit/fluent-bit.initd
@@ -1,9 +1,12 @@
#!/sbin/openrc-run
-supervisor=supervise-daemon
+
+: ${cfgfile:="/etc/fluent-bit/fluent-bit.conf"}
name=fluent-bit
command="/usr/bin/fluent-bit"
-command_args="$fluentbit_opts"
+command_args="-c $cfgfile $fluentbit_opts"
+command_background="yes"
+pidfile="/run/fluent-bit.pid"
depend() {
need net
diff --git a/testing/fluent-bit/stream_suffix.patch b/testing/fluent-bit/stream_suffix.patch
deleted file mode 100644
index ab234d93f10..00000000000
--- a/testing/fluent-bit/stream_suffix.patch
+++ /dev/null
@@ -1,189 +0,0 @@
-From 26c796fc6fb6b65a1a4ec92acf272e763a756c80 Mon Sep 17 00:00:00 2001
-From: Brian Maher <bmaher@onetrust.com>
-Date: Wed, 25 Aug 2021 06:13:57 -0700
-Subject: [PATCH] aws: Rename struct process stdin,stdout,stderr to fix build
-
-Added _stream suffix to all to avoid issues when these are declared as macros.
-
-Signed-off-by: Brian Maher <bmaher@onetrust.com>
----
- src/aws/flb_aws_credentials_process.c | 78 +++++++++++++--------------
- 1 file changed, 39 insertions(+), 39 deletions(-)
-
-diff --git a/src/aws/flb_aws_credentials_process.c b/src/aws/flb_aws_credentials_process.c
-index d3e775f0dd..44c024ca77 100644
---- a/src/aws/flb_aws_credentials_process.c
-+++ b/src/aws/flb_aws_credentials_process.c
-@@ -414,9 +414,9 @@ static int waitpid_timeout(char* name, pid_t pid, int* wstatus)
- struct process {
- int initialized;
- char** args;
-- int stdin;
-- flb_pipefd_t stdout[2];
-- int stderr;
-+ int stdin_stream;
-+ flb_pipefd_t stdout_stream[2];
-+ int stderr_stream;
- pid_t pid;
- };
-
-@@ -433,35 +433,35 @@ static int new_process(struct process* p, char** args)
- *p = (struct process) {
- .initialized = FLB_TRUE,
- .args = args,
-- .stdin = -1,
-- .stdout = {-1, -1},
-- .stderr = -1,
-+ .stdin_stream = -1,
-+ .stdout_stream = {-1, -1},
-+ .stderr_stream = -1,
- .pid = -1,
- };
-
-- while ((p->stdin = open(DEV_NULL, O_RDONLY|O_CLOEXEC)) < 0) {
-+ while ((p->stdin_stream = open(DEV_NULL, O_RDONLY|O_CLOEXEC)) < 0) {
- if (errno != EINTR) {
- flb_errno();
- return -1;
- }
- }
-
-- if (flb_pipe_create(p->stdout) < 0) {;
-+ if (flb_pipe_create(p->stdout_stream) < 0) {;
- flb_errno();
- return -1;
- }
-
-- if (fcntl(p->stdout[0], F_SETFL, O_CLOEXEC) < 0) {
-+ if (fcntl(p->stdout_stream[0], F_SETFL, O_CLOEXEC) < 0) {
- flb_errno();
- return -1;
- }
-
-- if (fcntl(p->stdout[1], F_SETFL, O_CLOEXEC) < 0) {
-+ if (fcntl(p->stdout_stream[1], F_SETFL, O_CLOEXEC) < 0) {
- flb_errno();
- return -1;
- }
-
-- while ((p->stderr = open(DEV_NULL, O_WRONLY|O_CLOEXEC)) < 0) {
-+ while ((p->stderr_stream = open(DEV_NULL, O_WRONLY|O_CLOEXEC)) < 0) {
- if (errno != EINTR) {
- flb_errno();
- return -1;
-@@ -479,26 +479,26 @@ static int new_process(struct process* p, char** args)
- */
- static void exec_process_child(struct process* p)
- {
-- while ((dup2(p->stdin, STDIN_FILENO) < 0)) {
-+ while ((dup2(p->stdin_stream, STDIN_FILENO) < 0)) {
- if (errno != EINTR) {
- return;
- }
- }
-- while ((dup2(p->stdout[1], STDOUT_FILENO) < 0)) {
-+ while ((dup2(p->stdout_stream[1], STDOUT_FILENO) < 0)) {
- if (errno != EINTR) {
- return;
- }
- }
-- while ((dup2(p->stderr, STDERR_FILENO) < 0)) {
-+ while ((dup2(p->stderr_stream, STDERR_FILENO) < 0)) {
- if (errno != EINTR) {
- return;
- }
- }
-
-- close(p->stdin);
-- flb_pipe_close(p->stdout[0]);
-- flb_pipe_close(p->stdout[1]);
-- close(p->stderr);
-+ close(p->stdin_stream);
-+ flb_pipe_close(p->stdout_stream[0]);
-+ flb_pipe_close(p->stdout_stream[1]);
-+ close(p->stderr_stream);
-
- execvp(p->args[0], p->args);
- }
-@@ -525,14 +525,14 @@ static int exec_process(struct process* p)
- exit(EXIT_FAILURE);
- }
-
-- close(p->stdin);
-- p->stdin = -1;
-+ close(p->stdin_stream);
-+ p->stdin_stream = -1;
-
-- flb_pipe_close(p->stdout[1]);
-- p->stdout[1] = -1;
-+ flb_pipe_close(p->stdout_stream[1]);
-+ p->stdout_stream[1] = -1;
-
-- close(p->stderr);
-- p->stderr = -1;
-+ close(p->stderr_stream);
-+ p->stderr_stream = -1;
-
- return 0;
- }
-@@ -549,7 +549,7 @@ static int read_from_process(struct process* p, struct readbuf* buf)
- struct flb_time start, timeout, deadline, now, remaining;
- int remaining_ms;
-
-- if (fcntl(p->stdout[0], F_SETFL, O_NONBLOCK) < 0) {
-+ if (fcntl(p->stdout_stream[0], F_SETFL, O_NONBLOCK) < 0) {
- flb_errno();
- return -1;
- }
-@@ -567,7 +567,7 @@ static int read_from_process(struct process* p, struct readbuf* buf)
-
- while (1) {
- pfd = (struct pollfd) {
-- .fd = p->stdout[0],
-+ .fd = p->stdout_stream[0],
- .events = POLLIN,
- };
-
-@@ -617,7 +617,7 @@ static int read_from_process(struct process* p, struct readbuf* buf)
- }
-
- if ((pfd.revents & POLLIN) == POLLIN || (pfd.revents & POLLHUP) == POLLHUP) {
-- result = read_until_block(p->args[0], p->stdout[0], buf);
-+ result = read_until_block(p->args[0], p->stdout_stream[0], buf);
- if (result <= 0) {
- return result;
- }
-@@ -664,21 +664,21 @@ static int wait_process(struct process* p)
- static void destroy_process(struct process* p)
- {
- if (p->initialized) {
-- if (p->stdin >= 0) {
-- close(p->stdin);
-- p->stdin = -1;
-+ if (p->stdin_stream >= 0) {
-+ close(p->stdin_stream);
-+ p->stdin_stream = -1;
- }
-- if (p->stdout[0] >= 0) {
-- close(p->stdout[0]);
-- p->stdout[0] = -1;
-+ if (p->stdout_stream[0] >= 0) {
-+ close(p->stdout_stream[0]);
-+ p->stdout_stream[0] = -1;
- }
-- if (p->stdout[1] >= 0) {
-- close(p->stdout[1]);
-- p->stdout[1] = -1;
-+ if (p->stdout_stream[1] >= 0) {
-+ close(p->stdout_stream[1]);
-+ p->stdout_stream[1] = -1;
- }
-- if (p->stderr >= 0) {
-- close(p->stderr);
-- p->stderr = -1;
-+ if (p->stderr_stream >= 0) {
-+ close(p->stderr_stream);
-+ p->stderr_stream = -1;
- }
-
- if (p->pid > 0) {
diff --git a/testing/fluent-bit/xsi-strerror.patch b/testing/fluent-bit/xsi-strerror.patch
new file mode 100644
index 00000000000..527de20992a
--- /dev/null
+++ b/testing/fluent-bit/xsi-strerror.patch
@@ -0,0 +1,15 @@
+--- a/src/flb_network.c
++++ b/src/flb_network.c
+@@ -523,9 +523,10 @@
+ }
+
+ /* Connection is broken, not much to do here */
+- str = strerror_r(error, so_error_buf, sizeof(so_error_buf));
++ /* XXX: XSI */
++ int _err = strerror_r(error, so_error_buf, sizeof(so_error_buf));
+ flb_error("[net] TCP connection failed: %s:%i (%s)",
+- u->tcp_host, u->tcp_port, str);
++ u->tcp_host, u->tcp_port, so_error_buf);
+ return -1;
+ }
+ }
diff --git a/testing/fluffychat/APKBUILD b/testing/fluffychat/APKBUILD
new file mode 100644
index 00000000000..cd6d7571f2a
--- /dev/null
+++ b/testing/fluffychat/APKBUILD
@@ -0,0 +1,323 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=fluffychat
+pkgver=1.19.1
+pkgrel=0
+pkgdesc="Open source, nonprofit and cute Matrix messenger app"
+url="https://fluffychat.im/"
+arch="aarch64 x86_64" # flutter
+license="AGPL-3.0-only"
+# XXX: dart ffi does not generate from our headers,
+# works on hardcoded sonames
+# zenity: pub/file_picker
+depends="
+ so:libolm.so.3
+ so:libsqlite3.so.0
+ zenity
+ "
+makedepends="
+ alsa-lib-dev
+ aom-dev
+ brotli-dev
+ crc32c-dev
+ clang
+ dav1d-dev
+ ffmpeg-dev
+ flutter-desktop
+ fontconfig-dev
+ freetype-dev
+ glib-dev
+ gn
+ harfbuzz-dev
+ icu-dev
+ jsoncpp-dev
+ libavif-dev
+ libdrm-dev
+ libevent-dev
+ libjpeg-turbo-dev
+ libpng-dev
+ libsecret-dev
+ libwebp-dev
+ libvpx-dev
+ libxml2-dev
+ libxslt-dev
+ lld
+ llvm
+ olm-dev
+ openh264-dev
+ opus-dev
+ patchelf
+ pipewire-dev
+ pulseaudio-dev
+ re2-dev
+ snappy-dev
+ woff2-dev
+ zlib-dev
+ "
+_webrtcver=b951613befee9e718798dad97c98a299e1518328
+_fwwebrtcver=1cb24a45af87a99a513f72951673fcf814a5ecb0
+source="
+ https://github.com/krille-chan/fluffychat/archive/${_rev:-"refs/tags/v$pkgver"}/fluffychat-${_rev:-v"$pkgver"}.tar.gz
+ https://ab-sn.lnl.gay/fwebrtc-$_webrtcver.tar.zst
+ https://github.com/webrtc-sdk/libwebrtc/archive/$_fwwebrtcver/fwwebrtc-$_fwwebrtcver.tar.gz
+
+ system-flutter.patch
+ no-werror.patch
+
+ wrapper.patch.webrtc
+ gcc13.patch.webrtc
+ use-alpine-target.patch.webrtc
+ no-upgrade-debug-info.patch.webrtc
+ toolhack.patch.webrtc
+ sqlite-soname.patch.noauto
+ still-hive.patch
+ no-sqlcipher.patch.noauto
+
+ fluffychat.desktop
+ "
+[ "$_rev" = "" ] || builddir="$srcdir/fluffychat-$_rev"
+# net: pub dependencies
+# !check: no tests
+options="net !check"
+
+case "$CARCH" in
+ aarch64) _flutter_arch="arm64" ;;
+ x86_64) _flutter_arch="x64" ;;
+esac
+
+export PUB_CACHE="$srcdir/pub_cache"
+
+export CFLAGS="${CFLAGS/-g/} -O2 -Wno-error -Wno-unknown-warning-option -Wno-unused-command-line-argument"
+export CXXFLAGS="${CXXFLAGS/-g/} -O2 -Wno-error -Wno-unknown-warning-option -Wno-unused-command-line-argument"
+
+export CC=clang
+export CXX=clang++
+export AR=llvm-ar
+export NM=llvm-nm
+export LD=clang++
+
+# webrtc
+snapshot() {
+ mkdir -p "$srcdir"
+ cd "$srcdir"
+
+ # cleanup if retrying
+ rm -rf src
+ rm -rf fwebrtc-$_webrtcver
+ rm -f fwebrtc-$_webrtcver.tar
+ rm -f fwebrtc-$_webrtcver.tar.zst
+
+ echo "
+solutions = [{
+ 'name': 'src',
+ 'url': 'https://github.com/webrtc-sdk/webrtc.git@$_webrtcver',
+}]
+target_cpu = ['x64', 'arm64']
+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
+
+ find src -type f -path 'test_data' -delete
+ find src -type f -path 'testdata' -delete
+ find src -type f -path 'ChangeLog*' -delete
+ rm -rf third_party/blink/web_tests
+
+ mv src fwebrtc-$_webrtcver
+
+ msg "generating tarball.."
+ tar -cf fwebrtc-$_webrtcver.tar \
+ --exclude-backups \
+ --exclude-caches-all \
+ --exclude-vcs \
+ fwebrtc-$_webrtcver
+
+ zstd --auto-threads=logical --ultra --long -22 -T"${ZSTD_LIMIT:-0}" -vv fwebrtc-$_webrtcver.tar
+}
+
+prepare() {
+ default_prepare
+
+ msg "Applying more patches"
+ for x in $source; do
+ case "$x" in
+ *.patch.webrtc)
+ msg "$x"
+ patch -p1 -i "$srcdir"/$x -d "$srcdir"/fwebrtc-$_webrtcver
+ ;;
+ esac
+ done
+
+ (
+ cd "$srcdir"/fwebrtc-$_webrtcver
+
+ ln -sv "$srcdir"/libwebrtc-$_fwwebrtcver libwebrtc
+
+ local use_system="
+ brotli
+ crc32c
+ dav1d
+ ffmpeg
+ fontconfig
+ freetype
+ harfbuzz-ng
+ icu
+ jsoncpp
+ libaom
+ libavif
+ libdrm
+ libevent
+ libjpeg
+ libpng
+ libvpx
+ libwebp
+ libxml
+ libxslt
+ openh264
+ opus
+ re2
+ snappy
+ woff2
+ 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 './third_party/libxml/*' \
+ \! -path './third_party/harfbuzz-ng/utils/hb_scoped.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
+
+ mkdir path
+ ln -sv /usr/bin/python3 path/vpython3
+
+ # requires py3-setuptools to always print 0...
+ echo 'print(0)' > build/mac/should_use_hermetic_xcode.py
+ )
+
+
+ flutter pub get --enforce-lockfile
+
+ # if there is a binary in the pub_cache, we sure did not build it.
+ for elf in $(scanelf -RA -F "%F" "$PUB_CACHE"); do
+ rm -f "$elf"
+ done
+
+ patch -p1 -d "$srcdir" -i "$srcdir"/sqlite-soname.patch.noauto
+ rm "$PUB_CACHE"/hosted/pub.dev/sqlite3-*/assets/sqlite3.h
+ patch -p1 -d "$srcdir" -i "$srcdir"/no-sqlcipher.patch.noauto
+
+ # use our build of the webrtc wrapper
+ _fvwrtc="$(echo "$PUB_CACHE"/hosted/pub.dev/flutter_webrtc-*/third_party/libwebrtc)"
+ rm -rf $_fvwrtc
+ mkdir -p $_fvwrtc
+ ln -sv "$srcdir"/fwebrtc-$_webrtcver/kut $_fvwrtc/lib
+ ln -sv "$srcdir"/libwebrtc-$_fwwebrtcver/include $_fvwrtc/include
+}
+
+build() {
+ (
+ cd "$srcdir"/fwebrtc-$_webrtcver
+
+ # shellcheck disable=2089
+ local webrtc_args="
+ build_with_mozilla=false
+ chrome_pgo_phase=0
+ clang_use_chrome_plugins=false
+ clang_base_path=\"/usr\"
+ 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\"
+ libwebrtc_desktop_capture=false
+ proprietary_codecs=true
+ 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_link_pipewire=true
+ rtc_use_pipewire=true
+ rtc_use_x11=false
+ symbol_level=0
+ use_custom_libcxx=false
+ use_sysroot=false
+ "
+
+ msg "Building libwebrtc"
+ # shellcheck disable=2090,2116
+ gn gen out --args="$(echo $webrtc_args)"
+ ninja -C out libwebrtc
+
+ mkdir -p kut/linux-$_flutter_arch
+ cp -v out/libwebrtc.so kut/linux-$_flutter_arch/libwebrtc.so
+ )
+
+ flutter build linux -v --release
+
+ patchelf --set-rpath '$ORIGIN/lib' build/linux/"$_flutter_arch"/release/bundle/$pkgname
+ for _elf in build/linux/"$_flutter_arch"/release/bundle/lib/lib*.so; do
+ # running patchelf on libapp (the AOT snapshot of the whole Dart codebase)
+ # breaks it with "[FATAL:flutter/runtime/dart_vm_initializer.cc(89)]
+ # Error while initializing the Dart VM: Invalid vm isolate snapshot seen".
+ #
+ # it has no rpath and only links to libc soname anyway. 🤷â€â™€ï¸
+ [ "$(basename "$_elf")" != "libapp.so" ] || continue
+
+ patchelf --set-rpath '$ORIGIN' "$_elf"
+ done
+}
+
+package() {
+ local bundle="$builddir"/build/linux/$_flutter_arch/release/bundle
+
+ install -Dm755 "$bundle"/$pkgname "$pkgdir"/usr/lib/$pkgname/$pkgname
+ cp -rv "$bundle"/lib "$pkgdir"/usr/lib/$pkgname/lib
+ cp -rv "$bundle"/data "$pkgdir"/usr/lib/$pkgname/data
+
+ mkdir -p "$pkgdir"/usr/bin
+ ln -sv /usr/lib/$pkgname/$pkgname "$pkgdir"/usr/bin/$pkgname
+
+ install -Dm644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+ install -Dm644 assets/logo.svg "$pkgdir"/usr/share/icons/hicolor/scalable/apps/im.fluffychat.Fluffychat.svg
+}
+
+sha512sums="
+102428eea072932de1d76726daca6d481a927403f63b6d7c87e742207192c0f11055377c9ebee8bfab149f06383a19666974d8a65857ccf96131facf56437e2b fluffychat-v1.19.1.tar.gz
+749cadd3309ba1c18203989bf3986944a4279d654c68cc6f3a4902719806004911e114fb2c5061ceaec8220474cd3f7d76a4db870202494d36d266934b6cd9e0 fwebrtc-b951613befee9e718798dad97c98a299e1518328.tar.zst
+7fc9a0ae14d396a9b6dbd969eaa060eff58e659d4c2d5ef6201bf29d64fbbf6b54d1927f8997c02803ee799eb34aa13d48a4502be291c1d17b0cbbd083998cb7 fwwebrtc-1cb24a45af87a99a513f72951673fcf814a5ecb0.tar.gz
+91014708ab7bb81518ce93db0612209d6479dfa503064d9e9d3186cd5e861165a3f63e286d271d5aac8a1d676868fc3acf51648ac01c16a215062a317ccb6623 system-flutter.patch
+1d2b7d28a09e26ed48d89aa5f5dffb738ba367fa2760b12980225239705e16fa1ec89901d7aecf26c8527de721a5f50f50cc77ea009cd5f25f219d1af8730ed8 no-werror.patch
+158360223539c6d80b32f17d2277473292e579255609a231719d1eaddb5f258fe36421801e5ce0fedb6fe86e01e46a7a77421abc800bdfaad59ffdcfe5273aa2 wrapper.patch.webrtc
+70251f951c4477e602c2e21a1a092e48e47133968fbfeb369178bc888b69c91027560ebb2c925d6b25a6b2ba6a6007523c2c42fa46fc7fbc27e727793ab52034 gcc13.patch.webrtc
+d9988e1c381030a79d0fa6567e098ee94234b66af96dbf2d0a2af7a33bdd98d4dd08bbe2eeaf4f08e44f1d22319464f9b0ed5bc96cdb76c238086f9ef4af6b76 use-alpine-target.patch.webrtc
+72fc71028a46f23c4d494eae22e100f048cd04071518532d5a839642d19cf8718592e7b93b4d15d40502c1a5e88d55cb3212c0edec8a3598f2d9fb2cb4f287c5 no-upgrade-debug-info.patch.webrtc
+2db3cf7759bd6902e0ce4d64441318bee7436aa272501113a3b6f0ebcf810d72760f875a3bd309fd612d6d4fde9e92e7319fa053fd0f34a793cfa026ced08fc5 toolhack.patch.webrtc
+d203a992da2f15beafb7bb1cff12bd2e365d81c0e3bd2c8caee4d34df64ba545aeae1f0d38df095b6859065065cdabe69e1e3fa89524083ae71b0a2abda2914b sqlite-soname.patch.noauto
+371859a0315ea7d79ab8fa749994f90445f18cec7c5a516fb69e264a94517d498e5bf2e3bfdd4e1257b9a82c3d065d41163a032a62f665d60713751586d470ec still-hive.patch
+7ac42cd22ea4f422c788d98ee5a9bc04a3a5d6687fa3f39f61330c369d78ef6446bf99f8f088d063d977634991c0948a6ec2026cf817d6f54314ed57131d89a0 no-sqlcipher.patch.noauto
+c4b3c2ab656da666623a8269ae47d841bfa58153097106efbef7b7895e7845bfed0513442ac355b42b6804b4a68c597079bf4147e72c57a1906ba5b65e3150f8 fluffychat.desktop
+"
diff --git a/testing/fluffychat/fluffychat.desktop b/testing/fluffychat/fluffychat.desktop
new file mode 100644
index 00000000000..578126c3e8e
--- /dev/null
+++ b/testing/fluffychat/fluffychat.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Fluffychat
+Icon=im.fluffychat.Fluffychat
+Exec=fluffychat %U
+Categories=Network;InstantMessaging;Chat;VideoConference;
+Keywords=Matrix;Chat;Messenger;Social
+X-Purism-FormFactor=Workstation;Mobile;
diff --git a/testing/fluffychat/gcc13.patch.webrtc b/testing/fluffychat/gcc13.patch.webrtc
new file mode 100644
index 00000000000..7acc82d104f
--- /dev/null
+++ b/testing/fluffychat/gcc13.patch.webrtc
@@ -0,0 +1,10 @@
+--- ./rtc_base/system/file_wrapper.h.orig
++++ ./rtc_base/system/file_wrapper.h
+@@ -12,6 +12,7 @@
+ #define RTC_BASE_SYSTEM_FILE_WRAPPER_H_
+
+ #include <stddef.h>
++#include <stdint.h>
+ #include <stdio.h>
+
+ #include <string>
diff --git a/testing/fluffychat/no-sqlcipher.patch.noauto b/testing/fluffychat/no-sqlcipher.patch.noauto
new file mode 100644
index 00000000000..c5e4b3ecce2
--- /dev/null
+++ b/testing/fluffychat/no-sqlcipher.patch.noauto
@@ -0,0 +1,49 @@
+--- ./pub_cache/hosted/pub.dev/sqlcipher_flutter_libs-0.6.1/linux/CMakeLists.txt.orig
++++ ./pub_cache/hosted/pub.dev/sqlcipher_flutter_libs-0.6.1/linux/CMakeLists.txt
+@@ -7,14 +7,9 @@
+ set(PLUGIN_NAME "sqlcipher_flutter_libs_plugin")
+
+ option(OPENSSL_USE_STATIC_LIBS "Whether to prefer linking to OpenSSL statically" ON)
+-find_package(OpenSSL REQUIRED)
+
+-# Using a prebuilt sqlcipher amalgation because building it requires TCL/TK which no one has.
+-file(DOWNLOAD "https://storage.googleapis.com/simon-public-euw3/assets/sqlcipher/v4_5_6.c" "${CMAKE_CURRENT_BINARY_DIR}/sqlcipher.c" EXPECTED_HASH SHA512=939ae692239adc0581211a37ed9ffa8b37c8f771c830977ecb06dc6accc4c3db767ce6abeaf91133815e2ae837785affa92f4c95b2e68cb6d563bd761f3e0cb1)
+-
+ add_library(${PLUGIN_NAME} SHARED
+ "sqlite3_flutter_libs_plugin.cc"
+- "${CMAKE_CURRENT_BINARY_DIR}/sqlcipher.c"
+ )
+
+ # Not applying the standard settings because we compile sqlite3
+@@ -27,30 +22,4 @@
+ target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL)
+ target_include_directories(${PLUGIN_NAME} INTERFACE
+ "${CMAKE_CURRENT_SOURCE_DIR}/include")
+-target_link_libraries(${PLUGIN_NAME} PRIVATE flutter OpenSSL::Crypto)
+-
+-# Note: Keep in sync with https://github.com/simolus3/sqlite-native-libraries/blob/master/sqlite3-native-library/cpp/CMakeLists.txt
+-# SQLITE_HAS_CODEC is required for sqlcipher
+-target_compile_definitions(${PLUGIN_NAME} PRIVATE
+- SQLITE_HAS_CODEC
+- SQLITE_DQS=0
+- SQLITE_THREADSAFE=1
+- SQLITE_DEFAULT_MEMSTATUS=0
+- SQLITE_TEMP_STORE=2
+- SQLITE_MAX_EXPR_DEPTH=0
+- SQLITE_OMIT_AUTHORIZATION
+- SQLITE_OMIT_DECLTYPE
+- SQLITE_OMIT_DEPRECATED
+- SQLITE_OMIT_GET_TABLE
+- SQLITE_OMIT_LOAD_EXTENSION
+- SQLITE_OMIT_PROGRESS_CALLBACK
+- SQLITE_OMIT_SHARED_CACHE
+- SQLITE_OMIT_TCL_VARIABLE
+- SQLITE_OMIT_TRACE
+- SQLITE_USE_ALLOCA
+- SQLITE_UNTESTABLE
+- SQLITE_HAVE_ISNAN
+- SQLITE_ENABLE_FTS5
+- SQLITE_ENABLE_JSON1
+- SQLITE_ENABLE_RTREE
+-)
++target_link_libraries(${PLUGIN_NAME} PRIVATE flutter)
diff --git a/testing/fluffychat/no-upgrade-debug-info.patch.webrtc b/testing/fluffychat/no-upgrade-debug-info.patch.webrtc
new file mode 100644
index 00000000000..04a57fd5197
--- /dev/null
+++ b/testing/fluffychat/no-upgrade-debug-info.patch.webrtc
@@ -0,0 +1,11 @@
+--- ./build/config/compiler/BUILD.gn.orig
++++ ./build/config/compiler/BUILD.gn
+@@ -732,7 +732,7 @@
+ # toolchain has this flag.
+ # We only use one version of LLVM within a build so there's no need to
+ # upgrade debug info, which can be expensive since it runs the verifier.
+- ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
++ #ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
+ }
+ }
+
diff --git a/testing/fluffychat/no-werror.patch b/testing/fluffychat/no-werror.patch
new file mode 100644
index 00000000000..ec8df348612
--- /dev/null
+++ b/testing/fluffychat/no-werror.patch
@@ -0,0 +1,11 @@
+--- ./linux/CMakeLists.txt.orig
++++ ./linux/CMakeLists.txt
+@@ -41,7 +41,7 @@
+ # of modifying this function.
+ function(APPLY_STANDARD_SETTINGS TARGET)
+ target_compile_features(${TARGET} PUBLIC cxx_std_14)
+- target_compile_options(${TARGET} PRIVATE -Wall -Werror)
++ target_compile_options(${TARGET} PRIVATE -Wall)
+ target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")
+ target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")
+ endfunction()
diff --git a/testing/fluffychat/sqlite-soname.patch.noauto b/testing/fluffychat/sqlite-soname.patch.noauto
new file mode 100644
index 00000000000..a6ab1f6273e
--- /dev/null
+++ b/testing/fluffychat/sqlite-soname.patch.noauto
@@ -0,0 +1,11 @@
+--- ./pub_cache/hosted/pub.dev/sqlite3-2.3.0/lib/src/ffi/load_library.dart.orig
++++ ./pub_cache/hosted/pub.dev/sqlite3-2.3.0/lib/src/ffi/load_library.dart
+@@ -49,7 +49,7 @@
+ }
+
+ // Fall-back to system's libsqlite3 otherwise.
+- return DynamicLibrary.open('libsqlite3.so');
++ return DynamicLibrary.open('libsqlite3.so.0');
+ } else if (Platform.isIOS) {
+ try {
+ return DynamicLibrary.open('sqlite3.framework/sqlite3');
diff --git a/testing/fluffychat/still-hive.patch b/testing/fluffychat/still-hive.patch
new file mode 100644
index 00000000000..fd5a6d758e0
--- /dev/null
+++ b/testing/fluffychat/still-hive.patch
@@ -0,0 +1,90 @@
+From 1026d4c721546ff88a725a1605350e1d14aaef36 Mon Sep 17 00:00:00 2001
+From: The one with the braid <info@braid.business>
+Date: Wed, 10 Apr 2024 18:07:46 +0200
+Subject: [PATCH] fix: migrate back to Hive on Linux
+
+Signed-off-by: The one with the braid <info@braid.business>
+---
+ lib/utils/client_manager.dart | 7 +++-
+ .../builder.dart | 34 +++++++++++++------
+ 2 files changed, 30 insertions(+), 11 deletions(-)
+
+diff --git a/lib/utils/client_manager.dart b/lib/utils/client_manager.dart
+index f798e8737..155cd48ed 100644
+--- a/lib/utils/client_manager.dart
++++ b/lib/utils/client_manager.dart
+@@ -22,6 +22,7 @@ import 'matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart';
+
+ abstract class ClientManager {
+ static const String clientNamespace = 'im.fluffychat.store.clients';
++
+ static Future<List<Client>> getClients({
+ bool initialize = true,
+ required SharedPreferences store,
+@@ -113,7 +114,11 @@ abstract class ClientManager {
+ },
+ logLevel: kReleaseMode ? Level.warning : Level.verbose,
+ databaseBuilder: flutterMatrixSdkDatabaseBuilder,
+- legacyDatabaseBuilder: FlutterHiveCollectionsDatabase.databaseBuilder,
++ // workaround : migrate back from SQLite to Hive on Linux
++ // Related : https://github.com/krille-chan/fluffychat/issues/972
++ legacyDatabaseBuilder: PlatformInfos.isLinux
++ ? (client) => flutterMatrixSdkDatabaseBuilder(client, isLegacy: true)
++ : FlutterHiveCollectionsDatabase.databaseBuilder,
+ supportedLoginTypes: {
+ AuthenticationTypes.password,
+ AuthenticationTypes.sso,
+diff --git a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart
+index 301d0c6ee..55d7fbedc 100644
+--- a/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart
++++ b/lib/utils/matrix_sdk_extensions/flutter_matrix_dart_sdk_database/builder.dart
+@@ -18,9 +18,15 @@ import 'cipher.dart';
+ import 'sqlcipher_stub.dart'
+ if (dart.library.io) 'package:sqlcipher_flutter_libs/sqlcipher_flutter_libs.dart';
+
+-Future<DatabaseApi> flutterMatrixSdkDatabaseBuilder(Client client) async {
++Future<DatabaseApi> flutterMatrixSdkDatabaseBuilder(
++ Client client, {
++ bool isLegacy = false,
++}) async {
+ MatrixSdkDatabase? database;
+ try {
++ // unless it's the migration builder, always fall back onto Hive on Linux
++ if (PlatformInfos.isLinux && !isLegacy) throw UnimplementedError();
++
+ database = await _constructDatabase(client);
+ await database.open();
+ return database;
+@@ -34,15 +40,23 @@ Future<DatabaseApi> flutterMatrixSdkDatabaseBuilder(Client client) async {
+ ),
+ );
+
+- // Send error notification:
+- final l10n = lookupL10n(PlatformDispatcher.instance.locale);
+- ClientManager.sendInitNotification(
+- l10n.initAppError,
+- l10n.databaseBuildErrorBody(
+- AppConfig.newIssueUrl.toString(),
+- e.toString(),
+- ),
+- );
++ final bool hideErrorMessage = PlatformInfos.isLinux;
++ if (!hideErrorMessage) {
++ // Send error notification:
++ final l10n = lookupL10n(PlatformDispatcher.instance.locale);
++ ClientManager.sendInitNotification(
++ l10n.initAppError,
++ l10n.databaseBuildErrorBody(
++ AppConfig.newIssueUrl.toString(),
++ e.toString(),
++ ),
++ );
++ } else {
++ Logs().w(
++ 'Linux database error using SQfLite. Due to many issues in this implementation, falling back to Hive.',
++ e,
++ );
++ }
+
+ return FlutterHiveCollectionsDatabase.databaseBuilder(client);
+ }
diff --git a/testing/fluffychat/system-flutter.patch b/testing/fluffychat/system-flutter.patch
new file mode 100644
index 00000000000..e8f7270ec9a
--- /dev/null
+++ b/testing/fluffychat/system-flutter.patch
@@ -0,0 +1,15 @@
+--- a/linux/CMakeLists.txt
++++ b/linux/CMakeLists.txt
+@@ -110,12 +110,6 @@
+ install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
+ COMPONENT Runtime)
+
+-install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
+- COMPONENT Runtime)
+-
+-install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
+- COMPONENT Runtime)
+-
+ foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
+ install(FILES "${bundled_library}"
+ DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
diff --git a/testing/fluffychat/toolhack.patch.webrtc b/testing/fluffychat/toolhack.patch.webrtc
new file mode 100644
index 00000000000..4028fe2d896
--- /dev/null
+++ b/testing/fluffychat/toolhack.patch.webrtc
@@ -0,0 +1,22 @@
+this breaks the clang include path
+--
+--- a/build/config/compiler/BUILD.gn
++++ a/build/config/compiler/BUILD.gn
+@@ -1310,7 +1310,7 @@
+ # paths to the tools it invokes. We don't want this because we don't
+ # really need it and it can mess up the goma cache entries.
+ if (is_clang && (!is_nacl || is_nacl_saigo)) {
+- cflags += [ "-no-canonical-prefixes" ]
++ #cflags += [ "-no-canonical-prefixes" ]
+
+ # Same for links: Let the compiler driver invoke the linker
+ # with a relative path and pass relative paths to built-in
+@@ -1319,7 +1319,7 @@
+ # We don't link on goma, so this change is just for cleaner
+ # internal linker invocations, for people who work on the build.
+ if (!is_win) {
+- ldflags += [ "-no-canonical-prefixes" ]
++ #ldflags += [ "-no-canonical-prefixes" ]
+ }
+ }
+ }
diff --git a/testing/fluffychat/use-alpine-target.patch.webrtc b/testing/fluffychat/use-alpine-target.patch.webrtc
new file mode 100644
index 00000000000..948bce889f7
--- /dev/null
+++ b/testing/fluffychat/use-alpine-target.patch.webrtc
@@ -0,0 +1,15 @@
+--- ./build/config/compiler/BUILD.gn.orig
++++ ./build/config/compiler/BUILD.gn
+@@ -1022,8 +1022,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" ]
+ }
+ if (is_high_end_android) {
+ cflags += [ "-march=armv8-a+lse" ]
+
+
diff --git a/testing/fluffychat/wrapper.patch.webrtc b/testing/fluffychat/wrapper.patch.webrtc
new file mode 100644
index 00000000000..145b64842c3
--- /dev/null
+++ b/testing/fluffychat/wrapper.patch.webrtc
@@ -0,0 +1,14 @@
+...yeah https://github.com/webrtc-sdk/libwebrtc?tab=readme-ov-file#modify-webrtcs-srcbuildgn-file-and-add-libwebrtc-to-groupdefault
+diff --git a/BUILD.gn b/BUILD.gn
+index e60d7dd0bd..b9b6acab8b 100644
+--- a/BUILD.gn
++++ b/BUILD.gn
+@@ -29,7 +29,7 @@ if (!build_with_chromium) {
+ # 'ninja default' and then 'ninja all', the second build should do no work.
+ group("default") {
+ testonly = true
+- deps = [ ":webrtc" ]
++ deps = [ ":webrtc", "//libwebrtc" ]
+ if (rtc_build_examples) {
+ deps += [ "examples" ]
+ }
diff --git a/testing/flutter/APKBUILD b/testing/flutter/APKBUILD
new file mode 100644
index 00000000000..e8c722a9596
--- /dev/null
+++ b/testing/flutter/APKBUILD
@@ -0,0 +1,505 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=flutter
+# upgrade checklist: https://md.sdomi.pl/Q-ECZTJ2Qqyp3ahfJuYSBw
+pkgver=3.19.4
+pkgrel=0
+pkgdesc="Cross-platform apps, built in Omelas"
+url="https://flutter.dev/"
+arch="aarch64 x86_64" # officially supported for linux desktop
+license="BSD-3-Clause"
+_dartver=3.3.2
+_depends_common="
+ bash
+ clang
+ cmake
+ dart-sdk~=$_dartver
+ git
+ gtk+3.0-dev
+ pkgconf
+ samurai
+ "
+makedepends="
+ $_depends_common
+ freetype-dev
+ gn
+ harfbuzz-dev
+ icu-dev
+ jpeg-dev
+ libpng-dev
+ llvm
+ python3
+ spirv-tools-dev
+ sqlite-dev
+ zlib-dev
+ zstd
+ "
+subpackages="
+ $pkgname-common
+ $pkgname-desktop
+ $pkgname-developer
+ $pkgname-glfw
+ $pkgname-gtk
+ $pkgname-tool
+ $pkgname-tool-developer:tool_developer
+ "
+
+case "$pkgver" in
+ *.*.*_alpha*)
+ _canonver="${pkgver/_alpha/-}"
+ _canonver="${_canonver/-r/.}.dev"
+ _channel=master
+ ;;
+ *.*.*_beta*)
+ _canonver="${pkgver/_beta/-}"
+ _canonver="${_canonver/-r/.}.beta"
+ _channel=beta
+ ;;
+ *.*.*_pre*)
+ _canonver="${pkgver/_pre/-}"
+ _canonver="${_canonver/-r/.}.pre"
+ _channel=master
+ ;;
+ *.*.*)
+ _canonver="$pkgver"
+ _channel=stable
+ ;;
+esac
+
+case "$_dartver" in
+ *.*.*_alpha*)
+ _dartcanonver="${_dartver/_alpha/-}"
+ _dartcanonver="${_dartcanonver/-r/.}.dev"
+ ;;
+ *.*.*_beta*)
+ _dartcanonver="${_dartver/_beta/-}"
+ _dartcanonver="${_dartcanonver/-r/.}.beta"
+ ;;
+ *.*.*)
+ _dartcanonver="$_dartver"
+ ;;
+esac
+
+_enginever=a5c24f538d05aaf66f7972fb23959d8cafb9f95a
+_materialfontsver=3012db47f3130e62f7cc0beabff968a33cbec8d8
+_gradlewver=fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa
+options="!check" # idk no attempt to build tests even with --enable-unittests
+source="
+ https://github.com/flutter/flutter/archive/refs/tags/$_canonver/flutter-$_canonver.tar.gz
+ https://ab-sn.lnl.gay/flutter-engine-$_enginever.tar.zst
+ https://ab-sn.lnl.gay/dart-sdk-$_dartcanonver.tar.zst
+ fonts-$_materialfontsver.zip.noauto::https://storage.googleapis.com/flutter_infra_release/flutter/fonts/$_materialfontsver/fonts.zip
+ gradle-wrapper-$_gradlewver.tar.gz.noauto::https://storage.googleapis.com/flutter_infra_release/gradle-wrapper/$_gradlewver/gradle-wrapper.tgz
+
+ alpine-target.patch
+ doctor.patch
+ no-lock.patch
+ no-runtime-download.patch
+ opt-in-analytics.patch
+ unbundle.patch
+ version.patch
+
+ pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch
+
+ git-revision.patch.engine
+ target-musl.patch.engine
+ musl-no-execinfo.patch.engine
+ musl-no-mallinfo.patch.engine
+ no-vpython.patch.engine
+ shared-libcxx.patch.engine
+ libstdc++13.patch.engine
+ system-icu.patch.engine
+ unbundle.patch.engine
+
+ flutter
+ "
+builddir="$srcdir/flutter-$_canonver"
+
+export PUB_CACHE="$srcdir/flutter-$_canonver/pub_cache"
+
+export CFLAGS="${CFLAGS/-g/} -O2 -Wno-error -Wno-absolute-value -Wno-implicit-float-conversion"
+export CXXFLAGS="${CXXFLAGS/-g/} -O2 -Wno-error -Wno-absolute-value -Wno-implicit-float-conversion"
+
+case "$CARCH" in
+ x86_64) _flutter_arch="x64" ;;
+ aarch64) _flutter_arch="arm64" ;;
+esac
+_out="$srcdir"/flutter-engine-$_enginever/out
+_modes='release profile debug'
+_release_out="$_out"/linux_release_$_flutter_arch
+_debug_out="$_out"/linux_debug_$_flutter_arch
+
+# gclient comes from teapot-tools
+_distbucket="sakamoto/lnl-aports-snapshots/"
+snapshot() {
+ mkdir -p "$srcdir"
+ cd "$srcdir"
+
+ rm -rf src
+ rm -rf flutter-engine-$_enginever
+ rm -f flutter-engine-$_enginever.tar
+ rm -f flutter-engine-$_enginever.tar.zst
+
+ echo "
+solutions = [{
+ 'name': 'src/flutter',
+ 'url': 'https://github.com/flutter/engine.git@$_enginever',
+ 'custom_vars': {
+ 'download_android_deps': False,
+ 'download_dart_sdk': False,
+ },
+}]
+target_cpu = ['x64', 'arm', 'arm64', 'riscv64']
+target_cpu_only = True
+" > .gclient
+
+ gclient sync --no-history --nohooks --tpot-cipd-ignore-platformed
+
+ for elf in $(scanelf -RA -F "%F" src); do
+ rm -f "$elf"
+ done
+
+ mv src flutter-engine-$_enginever
+
+ msg "generating tarball.."
+ tar -cf flutter-engine-$_enginever.tar \
+ --exclude="ChangeLog*" \
+ --exclude=".build-id" \
+ --exclude="third_party/dart" \
+ --exclude-backups \
+ --exclude-caches-all \
+ --exclude-vcs \
+ flutter-engine-$_enginever
+
+ zstd --auto-threads=logical --ultra --long -22 -T"${ZSTD_LIMIT:-0}" -vv flutter-engine-$_enginever.tar -o "$SRCDEST"/flutter-engine-$_enginever.tar.zst
+ mcli cp "$SRCDEST"/flutter-engine-$_enginever.tar.zst "$_distbucket"
+}
+
+prepare() {
+ dos2unix "$srcdir"/flutter-engine-$_enginever/third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
+
+ default_prepare
+
+ msg "Applying more patches"
+ for x in $source; do
+ case "$x" in
+ *.patch.engine)
+ msg "$x"
+ patch -p1 -i "$srcdir"/$x -d "$srcdir"/flutter-engine-$_enginever
+ ;;
+ esac
+ done
+
+ _dart_installed="$(cat /usr/lib/dart/version)"
+ if [ "$_dart_installed" != "$_dartcanonver" ]; then
+ echo "mismatch between installed dart version ($_dart_installed) and downloaded source code ($_dartcanonver)"
+ exit 1
+ fi
+
+ echo -n "$_canonver" > version
+ mkdir bin/cache
+
+ (
+ cd "$srcdir"/flutter-engine-$_enginever
+
+ # bind dart source code
+ rm -rf third_party/dart
+ ln -s "$srcdir"/dart-sdk-$_dartcanonver third_party/dart
+ # bind dart build
+ mkdir -p third_party/dart/tools/sdks/dart-sdk/
+ ln -s /usr/lib/dart/bin third_party/dart/tools/sdks/dart-sdk/bin
+ mkdir -p flutter/prebuilts/linux-$_flutter_arch/dart-sdk/
+ ln -s /usr/lib/dart/bin flutter/prebuilts/linux-$_flutter_arch/dart-sdk/bin
+
+ mkdir -p flutter/third_party/gn/
+ ln -s /usr/bin/gn flutter/third_party/gn/gn
+
+ # https://github.com/dart-lang/sdk/issues/52295
+ mkdir -p third_party/dart/.git/logs
+ touch third_party/dart/.git/logs/HEAD
+
+ # DEPS hooks
+ python3 third_party/dart/tools/generate_package_config.py
+ python3 third_party/dart/tools/generate_sdk_version_file.py
+ python3 flutter/tools/pub_get_offline.py
+
+ # reusable system library settings
+ local use_system="
+ freetype2
+ harfbuzz
+ icu
+ libjpeg-turbo
+ libpng
+ libwebp
+ sqlite
+ vulkan-SPIRV-Headers
+ vulkan-SPIRV-Tools
+ zlib
+ "
+ for _lib in $use_system vulkan-deps/spirv-headers vulkan-deps/spirv-tools; 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/*" \
+ \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
+ -delete
+ done
+
+ msg "Replacing gn files"
+ python3 build/linux/unbundle/replace_gn_files.py --system-libraries \
+ $use_system
+ )
+
+ (
+ cd packages/flutter_tools/
+
+ # no pubspec.lock in repo (?)
+ dart pub get --no-offline --no-precompile
+ )
+}
+
+build() {
+
+ (
+ cd "$srcdir"/flutter-engine-$_enginever
+
+ # shellcheck disable=2089
+ local gn_args="
+ host_libc=\"musl\"
+ target_libc=\"musl\"
+ use_custom_libcxx=false
+ use_default_linux_sysroot=false
+ "
+ local gnw_args="
+ --no-goma
+ --no-dart-version-git-info
+ --linux
+ --linux-cpu=$_flutter_arch
+ --lto
+ --clang
+ --target-triple=$CTARGET
+ --no-backtrace
+ --no-stripped
+ --prebuilt-dart-sdk
+ --build-glfw-shell
+ --build-engine-artifacts
+ --no-enable-unittests
+ --enable-fontconfig
+ "
+ for _mode in $_modes; do
+ msg "Generating ninja files for engine - $_mode"
+ # shellcheck disable=2090,2116
+ python3 ./flutter/tools/gn \
+ $gnw_args \
+ --runtime-mode="$_mode" \
+ --gn-args="$(echo $gn_args)"
+ msg "Build engine artifacts - $_mode"
+ ninja -C "$_out"/linux_${_mode}_$_flutter_arch artifacts
+ done
+ msg "Build flutter common and product patched sdk"
+ ninja -C "$_release_out" flutter flutter_patched_sdk sky
+ msg "Build debug patched sdk"
+ ninja -C "$_debug_out" flutter_patched_sdk
+ )
+
+ dart --verbosity=error --disable-dart-dev \
+ --snapshot="bin/cache/flutter_tools.snapshot" --snapshot-kind="app-jit" \
+ --packages="packages/flutter_tools/.dart_tool/package_config.json" \
+ --no-enable-mirrors "packages/flutter_tools/bin/flutter_tools.dart"
+
+ sed -Ei 's|'"$PUB_CACHE"'|/usr/lib/flutter/pub_cache|g' packages/flutter_tools/.dart_tool/package_config.json
+
+ # looks like they can get created in the process
+ find "$PUB_CACHE" -name '*.aot' -delete
+}
+
+check() {
+ (
+ cd "$srcdir"/flutter-engine-$_enginever
+
+ ln -s ./linux_debug_$_flutter_arch ./out/linux_debug_unopt
+
+ python3 flutter/testing/run_tests.py --type=engine
+ )
+}
+
+package() {
+ depends="flutter-developer=$pkgver-r$pkgrel"
+
+ # our entrypoint
+ install -Dm755 "$srcdir"/flutter "$pkgdir"/usr/lib/flutter/bin/flutter
+ mkdir -p "$pkgdir"/usr/bin/
+ ln -s ../lib/flutter/bin/flutter "$pkgdir"/usr/bin/flutter
+
+ # our dart
+ mkdir -p "$pkgdir"/usr/lib/flutter/bin/cache/
+ ln -s ../../../dart "$pkgdir"/usr/lib/flutter/bin/cache/dart-sdk
+ _devtoolsver="$(grep 'devtools_rev' "$srcdir/dart-sdk-$_dartcanonver/DEPS" | head -n1 | awk -F\" '{ print $4 }')"
+ cat > "$pkgdir"/usr/lib/flutter/bin/cache/flutter.version.json <<EOF
+{
+ "frameworkVersion": "$_canonver",
+ "channel": "$_channel",
+ "repositoryUrl": "https://github.com/flutter/flutter.git",
+ "frameworkRevision": "alpineaports0000000000000000000000000000",
+ "frameworkCommitDate": "2038-01-19 03:14:08",
+ "engineRevision": "$_enginever",
+ "dartSdkVersion": "$_dartcanonver",
+ "devToolsVersion": $(jq '.version' < /usr/lib/dart/bin/resources/devtools/version.json),
+ "flutterVersion": "$_canonver"
+}
+EOF
+
+ # flutter tool (cli) snapshot
+ install -Dm755 "$builddir"/bin/cache/flutter_tools.snapshot "$pkgdir"/usr/lib/flutter/bin/cache/flutter_tools.snapshot
+
+ # patched sdk
+ mkdir -p "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/engine/common
+ cp -r "$_release_out"/flutter_patched_sdk/ \
+ "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk_product
+ cp -r "$_debug_out"/flutter_patched_sdk/ \
+ "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/engine/common/flutter_patched_sdk
+
+ # dart:ui package
+ mkdir -p "$pkgdir"/usr/lib/flutter/bin/cache/pkg
+ cp -rL "$_release_out"/gen/dart-pkg/sky_engine "$pkgdir"/usr/lib/flutter/bin/cache/pkg/sky_engine
+
+ # flutter tool and framework packages (as part of sdk)
+ cp -r "$builddir"/packages "$pkgdir"/usr/lib/flutter/packages
+ # needed for flutter analyze 🤨
+ cp -r "$builddir"/dev "$pkgdir"/usr/lib/flutter/dev
+ cp -r "$builddir"/examples "$pkgdir"/usr/lib/flutter/examples
+ # pub dependencies of flutter (part of sdk)
+ cp -r "$PUB_CACHE" "$pkgdir"/usr/lib/flutter/pub_cache
+
+ # version files
+ echo -n "$_canonver" > "$pkgdir"/usr/lib/flutter/version
+ mkdir -p "$pkgdir"/usr/lib/flutter/bin/internal/
+ echo -n "$_enginever" > "$pkgdir"/usr/lib/flutter/bin/internal/engine.version
+
+ # fonts
+ mkdir -p "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/material_fonts
+ unzip "$srcdir"/fonts-"$_materialfontsver".zip.noauto \
+ -d "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/material_fonts
+
+ # gradle wrapper (-developer only, needed for flutter create)
+ mkdir -p "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/gradle_wrapper
+ tar xf "$srcdir"/gradle-wrapper-"$_gradlewver".tar.gz.noauto \
+ -C "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/gradle_wrapper
+
+ # build-time artifacts from engine (for use by tool)
+ for _mode in $_modes; do
+ case "$_mode" in
+ debug) _mode_art_name=linux-$_flutter_arch ;;
+ *) _mode_art_name=linux-$_flutter_arch-$_mode ;;
+ esac
+ mkdir -p "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/engine/$_mode_art_name/
+ unzip "$_out"/linux_${_mode}_$_flutter_arch/zip_archives/$_mode_art_name/artifacts.zip \
+ -d "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/engine/$_mode_art_name/
+ done
+ # they are all the same, simply copied from tree
+ cp -r "$_release_out"/flutter_linux/ \
+ "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/engine/linux-$_flutter_arch/flutter_linux
+ ln -s ../linux-$_flutter_arch/flutter_linux "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/engine/linux-$_flutter_arch-profile/flutter_linux
+ ln -s ../linux-$_flutter_arch/flutter_linux "$pkgdir"/usr/lib/flutter/bin/cache/artifacts/engine/linux-$_flutter_arch-release/flutter_linux
+ mkdir -p "$pkgdir"/usr/include/
+ ln -s ../lib/flutter/bin/cache/artifacts/engine/linux-$_flutter_arch/flutter_linux \
+ "$pkgdir"/usr/include/flutter_linux
+
+ install -Dm755 "$_release_out"/libflutter_linux_gtk.so \
+ "$pkgdir"/usr/lib/libflutter_linux_gtk.so
+
+ # see system-icu.patch.engine
+ ln -s /usr/share/icu/*/icudt*l.dat "$pkgdir"/usr/lib/flutter/icudtl.dat
+
+ install -Dm755 "$_release_out"/libflutter_linux_glfw.so "$pkgdir"/usr/lib/libflutter_linux_glfw.so
+}
+
+common() {
+ pkgdesc="$pkgdesc (parts common to all targets)"
+ depends="$_depends_common"
+
+ amove usr/lib/flutter/bin/cache/artifacts/engine/common
+ amove usr/lib/flutter/bin/cache/artifacts/material_fonts
+ amove usr/lib/flutter/bin/cache/dart-sdk
+ amove usr/lib/flutter/bin/cache/pkg
+ amove usr/lib/flutter/bin/internal
+ amove usr/lib/flutter/packages
+ amove usr/lib/flutter/pub_cache
+}
+
+desktop() {
+ pkgdesc="$pkgdesc (release linux desktop target)"
+ depends="flutter-common=$pkgver-r$pkgrel flutter-glfw=$pkgver-r$pkgrel flutter-gtk=$pkgver-r$pkgrel flutter-tool=$pkgver-r$pkgrel"
+
+ amove usr/include/flutter_linux
+ amove usr/lib/flutter/bin/cache/artifacts/engine/linux-$_flutter_arch
+ amove usr/lib/flutter/bin/cache/artifacts/engine/linux-$_flutter_arch-release
+}
+
+developer() {
+ pkgdesc="$pkgdesc (app developer tools)"
+ depends="flutter-desktop=$pkgver-r$pkgrel flutter-tool-developer=$pkgver-r$pkgrel"
+
+ amove usr/lib/flutter/bin/cache/artifacts/engine/linux-$_flutter_arch-profile
+ amove usr/lib/flutter/bin/cache/artifacts/gradle_wrapper
+}
+
+gtk() {
+ pkgdesc="$pkgdesc (GTK embedder runtime)"
+ depends=""
+
+ amove usr/lib/libflutter_linux_gtk.so
+ amove usr/lib/flutter/icudtl.dat
+}
+
+glfw() {
+ pkgdesc="$pkgdesc (GLFW embedder runtime)"
+ depends=""
+
+ amove usr/lib/libflutter_linux_glfw.so
+}
+
+tool() {
+ pkgdesc="$pkgdesc (CLI tool)"
+ depends="flutter-common=$pkgver-r$pkgrel"
+
+ amove usr/bin/flutter
+ amove usr/lib/flutter/bin/cache/flutter_tools.snapshot
+ amove usr/lib/flutter/bin/cache/flutter.version.json
+ amove usr/lib/flutter/bin/flutter
+ amove usr/lib/flutter/version
+}
+
+tool_developer() {
+ pkgdesc="$pkgdesc (CLI tool, parts for app developers)"
+ depends="flutter-tool=$pkgver-r$pkgrel"
+
+ amove usr/lib/flutter/dev
+ amove usr/lib/flutter/examples
+}
+
+sha512sums="
+0596f04bad9ec32dbe258ab5e98585ea52d22d5da917edbfa82462d73599f06827d01cbf520f6b619f60dca423d6cd4c501ab1aef35639626e12222f3fa0d3a9 flutter-3.19.4.tar.gz
+c9c5f9dadb3cfa57d85ce00d24ebc4be0465a5bb46b772b7ec32df97823cee7b8f4b95a8c1a6702c408d1bfc74e7dcbeec1d8f34223db6b492f3b30bc927020b flutter-engine-a5c24f538d05aaf66f7972fb23959d8cafb9f95a.tar.zst
+f5521b4f779b9e657e351734af0a845cfa83fada99a65896d812643ed80467892c6bb4127d687f5ac6e684e7efd1c7eaf41dfed696dd69486897b29a6c9a9b42 dart-sdk-3.3.2.tar.zst
+604f9a256fb1ec8c1b3eb6636baa97f195012b89b68197aef28104ed59dbcb70bde4fc1c7e154018999beabda160b60fa1378bcc1cd1ebe71c79071f40ebb26f fonts-3012db47f3130e62f7cc0beabff968a33cbec8d8.zip.noauto
+fcce6b1659f3a4ee7849bf7f65a9b8e9b3046fc0cfae70d364efabbff2d6c1ed41e6e9009e5fabc522117cbd2f92c5c664f64426e2606fce6b69d9960dd6ca63 gradle-wrapper-fd5c1f2c013565a3bea56ada6df9d2b8e96d56aa.tar.gz.noauto
+a7d6e459a8884bd2b7083b15e6d113576e454c68feba8fcf467c6d288e6abca656a1e669eee2b9973d0b30a1dfbbd736d8ee65292d42bbd832059703b7067dd8 alpine-target.patch
+a9db5df026cf641728f744ffd3428db9cf3918718233c707fd154a88b321c4a7af8e41ac6c3b08f1f4614c6b49e0689653b3b01e35c1e3ff3c5c9e7920fdd8d4 doctor.patch
+f47f3bb1e97c79bdaf5fdd3b466936a335d80d48bffafa7c015a32d97a665d5450e63a33fd5eb0560215de57d556721eaa92db05848257427dd582b10543adda no-lock.patch
+b2705a855163660cc3c472f6416d5839d9d4947164e2ea0ed97e93645255f27b7b513e7dc7de196cae5685b5e328b35ebd65b614be9b32f2fddd1fc8053a3963 no-runtime-download.patch
+91e598d9da383519f107c75669d8ec71f85afea38fa9e9a89e2f6c6088ce27f3107ab57e68931c5b27aec73788c9cd81123bcfae87152d878a170465aec9a193 opt-in-analytics.patch
+9855cf075781e1d1032f6a8dcc160cdcfc4d360875bc4fe005c83ca87dec767f1ce15e7c55d653688f1f2f0cb6b0b0328ccfd826e18ececc50d5d41d8b5b89d2 unbundle.patch
+5b4dc7cdfe6476748c458a0f61267f75a3ce959fff73327e4b9083e1291d46f59000ff5d853d34ecfaa55ecc317d002754653528566ca5a8fc9126b20148a0e5 version.patch
+38673902256ee546c45cefd8e82f310ab7207ac50a038efcbf34c67dee04d626fa37462456729e7725729495ecd4ed7c0b16b72967ef768153d189d7b10c7439 pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch
+cf07aec8878965cf4729700217857d66c37b9258ccab9a9cf4dd199f97f084504b6ad5dbf8d79ca538cbe86f94092f41be53251940ba0f062ca7fcb6d4de616a git-revision.patch.engine
+ebbd8f09e2418b9ac9d933fe94d599e474e4f230171edb5ddfb2f991bcfee39516f785d267e6b23414ef25452cfd5cc04ff5fef0dd5c0af5e6eee373424dee5a target-musl.patch.engine
+d2c55af9dc64c380905cd5d9bc792cec2e37063265cc84643b77995f9787d2239fe34f596a575ac6aa9eae5d82cd55dcd1ed20d59f58c631291064a8c9ae47c0 musl-no-execinfo.patch.engine
+5794a5f9f8532dc6615bc7c89c2f5953ad09a4e8cc1ef7618c9fa8a7816488714ab972b83fef0ff87da797404e182c516975d3376493b906be067edcda015914 musl-no-mallinfo.patch.engine
+6634043f5618835dd9f33a3ec473cdf11bfae2456ee670e2ea24c14f8f1f9d45f9dc273dcb035400d18404e74833c4df1d57e78a00de8010aa7e1e68099db6cd no-vpython.patch.engine
+e138d2b393db3aa1328199fc4d1ac4b2e0ef8384faf04bf077c6fd97ef9813f94b7f25fccbe5fed4919d7ec0bbd800289b5d3a9b8bc654cbe5c5574fb6bee329 shared-libcxx.patch.engine
+65ded76d27b4cdcf4e136294f45df23fdfa4ba7d31dc90a507e9def6d9be3fd7c93269a49769290c6c3be9a11b0eddc8d7d87979518f69f6fe8f0a386426443b libstdc++13.patch.engine
+c0066e5668405c8377292d17e8f5ec26b7c24caae1a44a64528130f5da2c2913f9f87718504983af9ab858b3f9783dbff9e3dcac70264e3195ae01b3c87aa87f system-icu.patch.engine
+61c480e317cdfc1187633d860c0e3341c32f56bd4e00d1b859014dfc52f4998df2f6e818332df0cdec13543e6537bd3da8f8922b0570a4185e5fa6b0ff34e3d2 unbundle.patch.engine
+9c6cb9b0bdb4333f139d1d7115792de688ac99e0ab6987b0f7e5881a83a1feab2d635bc483cd7aed246e4077a65974c83cfe489acbe59853e93abafdfa0cd7d8 flutter
+"
diff --git a/testing/flutter/alpine-target.patch b/testing/flutter/alpine-target.patch
new file mode 100644
index 00000000000..a431add8379
--- /dev/null
+++ b/testing/flutter/alpine-target.patch
@@ -0,0 +1,14 @@
+--- ./packages/flutter_tools/lib/src/linux/build_linux.dart.orig
++++ ./packages/flutter_tools/lib/src/linux/build_linux.dart
+@@ -135,9 +135,9 @@
+ if (needCrossBuild)
+ '-DFLUTTER_TARGET_PLATFORM_SYSROOT=$targetSysroot',
+ if (needCrossBuildOptionsForArm64)
+- '-DCMAKE_C_COMPILER_TARGET=aarch64-linux-gnu',
++ '-DCMAKE_C_COMPILER_TARGET=aarch64-alpine-linux-musl',
+ if (needCrossBuildOptionsForArm64)
+- '-DCMAKE_CXX_COMPILER_TARGET=aarch64-linux-gnu',
++ '-DCMAKE_CXX_COMPILER_TARGET=aarch64-alpine-linux-musl',
+ sourceDir.path,
+ ],
+ workingDirectory: buildDir.path,
diff --git a/testing/flutter/doctor.patch b/testing/flutter/doctor.patch
new file mode 100644
index 00000000000..76c51dd516f
--- /dev/null
+++ b/testing/flutter/doctor.patch
@@ -0,0 +1,17 @@
+--- a/packages/flutter_tools/lib/src/doctor.dart
++++ b/packages/flutter_tools/lib/src/doctor.dart
+@@ -621,14 +621,6 @@
+ '$flutterBinDir to your path.',
+ );
+ }
+- final String resolvedFlutterPath = flutterBin.resolveSymbolicLinksSync();
+- if (!_filePathContainsDirPath(flutterRoot, resolvedFlutterPath)) {
+- final String hint = 'Warning: `$binary` on your path resolves to '
+- '$resolvedFlutterPath, which is not inside your current Flutter '
+- 'SDK checkout at $flutterRoot. Consider adding $flutterBinDir to '
+- 'the front of your path.';
+- return ValidationMessage.hint(hint);
+- }
+ return null;
+ }
+
diff --git a/testing/flutter/flutter b/testing/flutter/flutter
new file mode 100755
index 00000000000..5ee21ccd927
--- /dev/null
+++ b/testing/flutter/flutter
@@ -0,0 +1,23 @@
+#!/bin/sh
+# adapted by lnl from project's repo
+
+# To debug the tool, you can pass the following env to enable debug
+# mode and set an observatory port:
+# FLUTTER_TOOL_ARGS="$FLUTTER_TOOL_ARGS --enable-asserts --observe=65432"
+
+set -e
+
+export FLUTTER_ROOT="/usr/lib/flutter"
+
+FLUTTER_TOOLS_DIR="$FLUTTER_ROOT/packages/flutter_tools"
+SNAPSHOT_PATH="$FLUTTER_ROOT/bin/cache/flutter_tools.snapshot"
+
+# Test if running as superuser – but don't warn if running within Docker or CI.
+if [ "$(id -u)" = "0" ] && ! [ -f /.dockerenv ] && [ "$CI" != "true" ] && [ "$BOT" != "true" ] && [ "$CONTINUOUS_INTEGRATION" != "true" ]; then
+ >&2 echo " Woah! You appear to be trying to run flutter as root."
+ >&2 echo " We strongly recommend running the flutter tool without superuser privileges."
+ >&2 echo " /"
+ >&2 echo "📎"
+fi
+
+exec dart --disable-dart-dev --packages="$FLUTTER_TOOLS_DIR/.dart_tool/package_config.json" $FLUTTER_TOOL_ARGS "$SNAPSHOT_PATH" "$@"
diff --git a/testing/flutter/git-revision.patch.engine b/testing/flutter/git-revision.patch.engine
new file mode 100644
index 00000000000..8cf115fdc72
--- /dev/null
+++ b/testing/flutter/git-revision.patch.engine
@@ -0,0 +1,22 @@
+--- a/flutter/build/git_revision.py
++++ b/flutter/build/git_revision.py
+@@ -22,18 +22,7 @@
+ if not os.path.exists(repository):
+ raise IOError('path does not exist')
+
+- git = 'git'
+- if is_windows():
+- git = 'git.bat'
+- version = subprocess.check_output([
+- git,
+- '-C',
+- repository,
+- 'rev-parse',
+- 'HEAD',
+- ])
+-
+- return str(version.strip(), 'utf-8')
++ return '0' * 41
+
+
+ def main():
diff --git a/testing/flutter/libstdc++13.patch.engine b/testing/flutter/libstdc++13.patch.engine
new file mode 100644
index 00000000000..0e6c5d01c35
--- /dev/null
+++ b/testing/flutter/libstdc++13.patch.engine
@@ -0,0 +1,103 @@
+missing libstdc++13 includes
+--
+--- ./third_party/vulkan_memory_allocator/include/vk_mem_alloc.h.orig
++++ ./third_party/vulkan_memory_allocator/include/vk_mem_alloc.h
+@@ -2566,6 +2566,7 @@
+ #undef VMA_IMPLEMENTATION
+
+ #include <cstdint>
++#include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
+ #include <utility>
+--- ./flutter/third_party/tonic/filesystem/filesystem/file.h.orig
++++ ./flutter/third_party/tonic/filesystem/filesystem/file.h
+@@ -5,6 +5,7 @@
+ #ifndef FILESYSTEM_FILE_H_
+ #define FILESYSTEM_FILE_H_
+
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+--- ./flutter/impeller/geometry/size.h.orig
++++ ./flutter/impeller/geometry/size.h
+@@ -6,6 +6,7 @@
+
+ #include <algorithm>
+ #include <cmath>
++#include <cstdint>
+ #include <limits>
+ #include <ostream>
+ #include <string>
+--- ./flutter/runtime/dart_service_isolate.h.orig
++++ ./flutter/runtime/dart_service_isolate.h
+@@ -6,6 +6,7 @@
+ #define FLUTTER_RUNTIME_DART_SERVICE_ISOLATE_H_
+
+ #include <functional>
++#include <memory>
+ #include <mutex>
+ #include <set>
+ #include <string>
+--- ./flutter/flow/paint_region.h.orig
++++ ./flutter/flow/paint_region.h
+@@ -5,6 +5,7 @@
+ #ifndef FLUTTER_FLOW_PAINT_REGION_H_
+ #define FLUTTER_FLOW_PAINT_REGION_H_
+
++#include <memory>
+ #include <utility>
+ #include <vector>
+ #include "flutter/fml/logging.h"
+--- ./flutter/vulkan/vulkan_surface.h.orig
++++ ./flutter/vulkan/vulkan_surface.h
+@@ -5,6 +5,8 @@
+ #ifndef FLUTTER_VULKAN_VULKAN_SURFACE_H_
+ #define FLUTTER_VULKAN_VULKAN_SURFACE_H_
+
++#include <memory>
++
+ #include "flutter/fml/macros.h"
+ #include "flutter/vulkan/procs/vulkan_handle.h"
+ #include "third_party/skia/include/core/SkSize.h"
+--- ./flutter/shell/platform/glfw/flutter_glfw.cc.orig
++++ ./flutter/shell/platform/glfw/flutter_glfw.cc
+@@ -7,6 +7,7 @@
+ #include <GLFW/glfw3.h>
+
+ #include <algorithm>
++#include <atomic>
+ #include <cassert>
+ #include <chrono>
+ #include <cstdlib>
+--- ./flutter/fml/cpu_affinity.cc.orig
++++ ./flutter/fml/cpu_affinity.cc
+@@ -5,6 +5,7 @@
+ #include "flutter/fml/cpu_affinity.h"
+ #include "flutter/fml/build_config.h"
+
++#include <cstdint>
+ #include <fstream>
+ #include <optional>
+ #include <string>
+--- ./flutter/fml/cpu_affinity.h.orig
++++ ./flutter/fml/cpu_affinity.h
+@@ -4,6 +4,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <optional>
+ #include <string>
+ #include <vector>
+--- ./flutter/impeller/geometry/path.h.orig
++++ ./flutter/impeller/geometry/path.h
+@@ -6,6 +6,7 @@
+ #define FLUTTER_IMPELLER_GEOMETRY_PATH_H_
+
+ #include <functional>
++#include <memory>
+ #include <optional>
+ #include <set>
+ #include <tuple>
diff --git a/testing/flutter/musl-no-execinfo.patch.engine b/testing/flutter/musl-no-execinfo.patch.engine
new file mode 100644
index 00000000000..140ab183c6e
--- /dev/null
+++ b/testing/flutter/musl-no-execinfo.patch.engine
@@ -0,0 +1,11 @@
+--- a/flutter/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h
++++ b/flutter/third_party/swiftshader/third_party/llvm-subzero/build/Linux/include/llvm/Config/config.h
+@@ -58,7 +58,7 @@
+ #define HAVE_ERRNO_H 1
+
+ /* Define to 1 if you have the <execinfo.h> header file. */
+-#define HAVE_EXECINFO_H 1
++/* #define HAVE_EXECINFO_H 1 */
+
+ /* Define to 1 if you have the <fcntl.h> header file. */
+ #define HAVE_FCNTL_H 1
diff --git a/testing/flutter/musl-no-mallinfo.patch.engine b/testing/flutter/musl-no-mallinfo.patch.engine
new file mode 100644
index 00000000000..8a5f4ce0a3b
--- /dev/null
+++ b/testing/flutter/musl-no-mallinfo.patch.engine
@@ -0,0 +1,29 @@
+--- ./flutter/third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc
++++ ./flutter/third_party/swiftshader/third_party/llvm-subzero/lib/Support/Unix/Process.inc.orig
+@@ -86,11 +86,11 @@
+ }
+
+ size_t Process::GetMallocUsage() {
+-#if defined(HAVE_MALLINFO2)
++#if defined(HAVE_MALLINFO2) && defined(__GLIBC__)
+ struct mallinfo2 mi;
+ mi = ::mallinfo2();
+ return mi.uordblks;
+-#elif defined(HAVE_MALLINFO)
++#elif defined(HAVE_MALLINFO) && defined(__GLIBC__)
+ struct mallinfo mi;
+ mi = ::mallinfo();
+ return mi.uordblks;
+
+--- ./flutter/third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h.orig 2019-09-30 13:03:42.556880537 -0400
++++ ./flutter/third_party/swiftshader/third_party/llvm-10.0/configs/linux/include/llvm/Config/config.h 2019-09-30 13:07:27.989821227 -0400
+@@ -122,7 +122,9 @@
+ /* #undef HAVE_MALLCTL */
+
+ /* Define to 1 if you have the `mallinfo' function. */
++#if defined(__GLIBC__)
+ #define HAVE_MALLINFO 1
++#endif
+
+ /* Define to 1 if you have the <malloc.h> header file. */
+ #define HAVE_MALLOC_H 1
diff --git a/testing/flutter/no-lock.patch b/testing/flutter/no-lock.patch
new file mode 100644
index 00000000000..3a82ef894fa
--- /dev/null
+++ b/testing/flutter/no-lock.patch
@@ -0,0 +1,19 @@
+--- a/packages/flutter_tools/lib/src/cache.dart
++++ b/packages/flutter_tools/lib/src/cache.dart
+@@ -280,7 +280,7 @@
+ bool useUnsignedMacBinaries = false;
+
+ static RandomAccessFile? _lock;
+- static bool _lockEnabled = true;
++ static bool _lockEnabled = false;
+
+ /// Turn off the [lock]/[releaseLock] mechanism.
+ ///
+@@ -634,7 +634,6 @@
+ }
+
+ void setStampFor(String artifactName, String version) {
+- getStampFileFor(artifactName).writeAsStringSync(version);
+ }
+
+ File getStampFileFor(String artifactName) {
diff --git a/testing/flutter/no-runtime-download.patch b/testing/flutter/no-runtime-download.patch
new file mode 100644
index 00000000000..4814ab14933
--- /dev/null
+++ b/testing/flutter/no-runtime-download.patch
@@ -0,0 +1,38 @@
+--- a/packages/flutter_tools/lib/src/cache.dart
++++ b/packages/flutter_tools/lib/src/cache.dart
+@@ -926,26 +926,6 @@
+ }
+
+ Future<bool> checkForArtifacts(String? engineVersion) async {
+- engineVersion ??= version;
+- final String url = '${cache.storageBaseUrl}/flutter_infra_release/flutter/$engineVersion/';
+-
+- bool exists = false;
+- for (final String pkgName in getPackageDirs()) {
+- exists = await cache.doesRemoteExist('Checking package $pkgName is available...', Uri.parse('$url$pkgName.zip'));
+- if (!exists) {
+- return false;
+- }
+- }
+-
+- for (final List<String> toolsDir in getBinaryDirs()) {
+- final String cacheDir = toolsDir[0];
+- final String urlPath = toolsDir[1];
+- exists = await cache.doesRemoteExist('Checking $cacheDir tools are available...',
+- Uri.parse(url + urlPath));
+- if (!exists) {
+- return false;
+- }
+- }
+ return true;
+ }
+
+@@ -1036,6 +1016,8 @@
+ Directory location,
+ void Function(File, Directory) extractor,
+ ) async {
++ throwToolExit('Tried to download $url. Report on aports.');
++
+ final String downloadPath = flattenNameSubdirs(url, _fileSystem);
+ final File tempFile = _createDownloadFile(downloadPath);
+ Status status;
diff --git a/testing/flutter/no-vpython.patch.engine b/testing/flutter/no-vpython.patch.engine
new file mode 100644
index 00000000000..19ed192d695
--- /dev/null
+++ b/testing/flutter/no-vpython.patch.engine
@@ -0,0 +1,11 @@
+--- ./.gn.orig
++++ ./.gn
+@@ -3,7 +3,7 @@
+
+ # Use vpython3 from depot_tools for exec_script() calls.
+ # See `gn help dotfile` for details.
+-script_executable = "vpython3"
++script_executable = "python3"
+
+ # The location of the build configuration file.
+ buildconfig = "//build/config/BUILDCONFIG.gn"
diff --git a/testing/flutter/opt-in-analytics.patch b/testing/flutter/opt-in-analytics.patch
new file mode 100644
index 00000000000..9be73cf402e
--- /dev/null
+++ b/testing/flutter/opt-in-analytics.patch
@@ -0,0 +1,22 @@
+--- a/packages/flutter_tools/lib/src/reporting/usage.dart
++++ b/packages/flutter_tools/lib/src/reporting/usage.dart
+@@ -218,7 +218,7 @@
+ if (globals.platform.environment.containsKey('FLUTTER_HOST')) {
+ analytics.setSessionValue('aiid', globals.platform.environment['FLUTTER_HOST']);
+ }
+- analytics.analyticsOpt = AnalyticsOpt.optOut;
++ analytics.analyticsOpt = AnalyticsOpt.optIn;
+ }
+
+ return _DefaultUsage._(
+--- a/packages/flutter_tools/lib/src/reporting/first_run.dart
++++ b/packages/flutter_tools/lib/src/reporting/first_run.dart
+@@ -37,6 +37,8 @@
+ â•‘ See Google's privacy policy: â•‘
+ â•‘ https://policies.google.com/privacy â•‘
+ â•šâ•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
++aports overrides: reporting is disabled by default. Opt-out is not a sent event.
++Run 'flutter config --analytics' to opt in to reports.
+ ''';
+
+ /// The first run messenger determines whether the first run license terms
diff --git a/testing/flutter/pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch b/testing/flutter/pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch
new file mode 100644
index 00000000000..5803026bff6
--- /dev/null
+++ b/testing/flutter/pmos-if-touch-is-a-mouse-then-mouse-is-touch.patch
@@ -0,0 +1,18 @@
+flutter defines a list of pointer kinds that can scroll the screen.
+however, it does not bother recognizing the pointer kind on linux,
+so every pointer is set to be recognized as mouse. effectively, touch
+can't scroll anything. this workarounds the issue by making mouse
+one of the "touch-like device types".
+
+Bug: https://github.com/flutter/flutter/issues/63209
+
+--- ./packages/flutter/lib/src/widgets/scroll_configuration.dart.orig
++++ ./packages/flutter/lib/src/widgets/scroll_configuration.dart
+@@ -25,6 +25,7 @@
+ // The VoiceAccess sends pointer events with unknown type when scrolling
+ // scrollables.
+ PointerDeviceKind.unknown,
++ PointerDeviceKind.mouse,
+ };
+
+ /// The default overscroll indicator applied on [TargetPlatform.android].
diff --git a/testing/flutter/shared-libcxx.patch.engine b/testing/flutter/shared-libcxx.patch.engine
new file mode 100644
index 00000000000..0fc66741f83
--- /dev/null
+++ b/testing/flutter/shared-libcxx.patch.engine
@@ -0,0 +1,33 @@
+--- ./build/config/BUILDCONFIG.gn.orig
++++ ./build/config/BUILDCONFIG.gn
+@@ -324,7 +324,7 @@
+ is_clang = true
+ }
+
+-use_flutter_cxx = is_clang && (is_linux || is_android || is_mac || is_ios)
++use_flutter_cxx = false
+
+ if (is_msan && !is_linux) {
+ assert(false, "Memory sanitizer is only available on Linux.")
+--- ./flutter/third_party/flatbuffers/include/flatbuffers/util.h.orig
++++ ./flutter/third_party/flatbuffers/include/flatbuffers/util.h
+@@ -202,7 +202,7 @@
+
+ // clang-format off
+ // Use locale independent functions {strtod_l, strtof_l, strtoll_l, strtoull_l}.
+-#if defined(FLATBUFFERS_LOCALE_INDEPENDENT) && (FLATBUFFERS_LOCALE_INDEPENDENT > 0)
++#if defined(__GLIBC__) && defined(FLATBUFFERS_LOCALE_INDEPENDENT) && (FLATBUFFERS_LOCALE_INDEPENDENT > 0)
+ class ClassicLocale {
+ #ifdef _MSC_VER
+ typedef _locale_t locale_type;
+--- ./flutter/third_party/flatbuffers/src/util.cpp.orig
++++ ./flutter/third_party/flatbuffers/src/util.cpp
+@@ -252,7 +252,7 @@
+ }
+
+ // Locale-independent code.
+-#if defined(FLATBUFFERS_LOCALE_INDEPENDENT) && \
++#if defined(__GLIBC__) && defined(FLATBUFFERS_LOCALE_INDEPENDENT) && \
+ (FLATBUFFERS_LOCALE_INDEPENDENT > 0)
+
+ // clang-format off
diff --git a/testing/flutter/system-icu.patch.engine b/testing/flutter/system-icu.patch.engine
new file mode 100644
index 00000000000..cf990049a6d
--- /dev/null
+++ b/testing/flutter/system-icu.patch.engine
@@ -0,0 +1,37 @@
+The icu library knows where icu data is at all times. It knows this because it
+knows where it isn't. By subtracting where it is from where it isn't, or where
+it isn't from where it is (whichever is greater), it obtains a difference, or
+deviation.
+
+The flutter build system uses deviations to generate "corrective" commands to
+drive the icu data path from a position where it is to a position where it
+isn't, and check at a position where it wasn't, it now is. Consequently, the
+position where it is, is now the position that it wasn't, and it follows that
+the position that it was, is now the position that it isn't.
+
+XXX: remove this field and whatever is trying to override the icu default with it
+
+--- a/flutter/shell/platform/linux/fl_dart_project.cc
++++ b/flutter/shell/platform/linux/fl_dart_project.cc
+@@ -64,7 +64,7 @@
+ self->assets_path =
+ g_build_filename(executable_dir, "data", "flutter_assets", nullptr);
+ self->icu_data_path =
+- g_build_filename(executable_dir, "data", "icudtl.dat", nullptr);
++ g_build_filename("/usr/lib/flutter/icudtl.dat", nullptr);
+
+ return self;
+ }
+--- ./flutter/build/archives/BUILD.gn.orig
++++ ./flutter/build/archives/BUILD.gn
+@@ -74,10 +74,6 @@
+ }
+ files += [
+ {
+- source = "//third_party/icu/flutter/icudtl.dat"
+- destination = "icudtl.dat"
+- },
+- {
+ source = "$root_out_dir/flutter_tester$exe"
+ destination = "flutter_tester$exe"
+ },
diff --git a/testing/flutter/target-musl.patch.engine b/testing/flutter/target-musl.patch.engine
new file mode 100644
index 00000000000..42134e52db0
--- /dev/null
+++ b/testing/flutter/target-musl.patch.engine
@@ -0,0 +1,345 @@
+From 903ae13d643c305c48c4271ed4a05939656ed041 Mon Sep 17 00:00:00 2001
+From: "Lauren N. Liberda" <lauren@selfisekai.rocks>
+Date: Sat, 8 Apr 2023 02:56:35 +0200
+Subject: [PATCH 1/2] add gn args specifying libc for linux
+
+---
+ build/config/compiler/BUILD.gn | 8 ++-
+ build/config/linux/detect_host_libc.py | 42 ++++++++++++
+ build/config/linux/libc.gni | 51 +++++++++++++++
+ build/toolchain/linux/BUILD.gn | 89 ++++++++++++++------------
+ 4 files changed, 147 insertions(+), 43 deletions(-)
+ create mode 100755 build/config/linux/detect_host_libc.py
+ create mode 100644 build/config/linux/libc.gni
+
+diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
+index 4c9a1ee..155d433 100644
+--- ./build/config/compiler/BUILD.gn.orig
++++ ./build/config/compiler/BUILD.gn
+@@ -12,6 +12,9 @@
+ if (is_win) {
+ import("//build/config/win/visual_studio_version.gni")
+ }
++if (is_linux) {
++ import("//build/config/linux/libc.gni")
++}
+
+ import("//build/config/c++/c++.gni")
+ import("//build/config/profiler.gni")
+@@ -339,8 +342,8 @@
+ ldflags += [ "-pthread" ]
+
+ if (current_cpu == "arm64") {
+- cflags += [ "--target=aarch64-linux-gnu" ]
+- ldflags += [ "--target=aarch64-linux-gnu" ]
++ cflags += [ "--target=aarch64-alpine-linux-musl" ]
++ ldflags += [ "--target=aarch64-alpine-linux-musl" ]
+ cflags += [ "-DBORINGSSL_CLANG_SUPPORTS_DOT_ARCH" ]
+ }
+ }
+@@ -622,12 +625,15 @@
+ default_warning_flags += [
+ # Enables.
+ "-Wendif-labels", # Weird old-style text after an #endif.
+- "-Werror", # Warnings as errors.
+
+ # Disables.
+ "-Wno-missing-field-initializers", # "struct foo f = {0};"
+ "-Wno-unused-parameter", # Unused function parameters.
+ ]
++ if (!is_linux || is_glibc) {
++ # Warnings as errors. Fails on musl.
++ default_warning_flags += [ "-Werror" ]
++ }
+
+ if (is_wasm) {
+ default_warning_flags += [
+diff --git a/build/config/linux/detect_host_libc.py b/build/config/linux/detect_host_libc.py
+new file mode 100755
+index 0000000..1ebb498
+--- /dev/null
++++ b/build/config/linux/detect_host_libc.py
+@@ -0,0 +1,42 @@
++#!/usr/bin/env python3
++#
++# Copyright (c) 2013 The Flutter Authors. All rights reserved.
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++from optparse import OptionParser
++import re
++import subprocess
++import sys
++
++
++def main():
++ if 'linux' not in sys.platform:
++ return 1
++
++ parser = OptionParser()
++ parser.add_option('--compiler-path', action='store',
++ type='string', default='gcc')
++ (options, args) = parser.parse_args()
++
++ # should work with both gcc and clang
++ #
++ # example outputs: "aarch64-unknown-linux-gnu", "x86_64-alpine-linux-musl",
++ # "armv7-unknown-linux-musleabihf", "mipsel-linux-muslhf"
++ default_target = subprocess.check_output([
++ options.compiler_path, '-dumpmachine']).decode('utf-8').strip()
++
++ host_libc_re = re.match(
++ r'^(?:[^-]+-){1,2}linux-(?P<libc>gnu|musl|uclibc)(?:eabi)?(?:hf)?$',
++ default_target)
++ if host_libc_re is None:
++ print(f'Target not understood: {default_target}')
++
++ host_libc = host_libc_re.group('libc')
++ # print would add a newline
++ sys.stdout.write(host_libc)
++ return 0
++
++
++if __name__ == '__main__':
++ sys.exit(main())
+diff --git a/build/config/linux/libc.gni b/build/config/linux/libc.gni
+new file mode 100644
+index 0000000..653f312
+--- /dev/null
++++ b/build/config/linux/libc.gni
+@@ -0,0 +1,51 @@
++# Copyright (c) 2013 The Flutter Authors. All rights reserved.
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/sysroot.gni")
++
++declare_args() {
++ # The C library used by the compilation host.
++ # Expecting one of: "gnu" (glibc), "uclibc", "musl"
++ host_libc = ""
++
++ # The C library of the compilation target.
++ # Expecting one of: "gnu" (glibc), "uclibc", "musl"
++ target_libc = ""
++}
++
++# try to detect host's libc if not explicitly provided
++if (host_libc == "" && is_linux) {
++ if (sysroot == "") {
++ host_compiler = "gcc"
++ if (is_clang) {
++ host_compiler = "clang"
++ }
++
++ # tries to determine libc from "gcc/clang -printmachine"
++ host_libc = exec_script("//build/config/linux/detect_host_libc.py",
++ [
++ "--compiler-path",
++ host_compiler,
++ ],
++ "string")
++ } else {
++ # currently there is only debian sysroot
++ host_libc = "gnu"
++ }
++}
++
++assert(!is_linux || host_libc != "", "Host libc not specified and not detected")
++
++# assume compiling for host if not explicitly specified
++if (target_libc == "") {
++ target_libc = host_libc
++}
++
++is_cross_libc = host_libc != target_libc
++
++is_glibc = target_libc == "gnu"
++is_musl = target_libc == "musl"
++
++is_host_glibc = host_libc == "gnu"
++is_host_musl = host_libc == "musl"
+diff --git a/build/toolchain/linux/BUILD.gn b/build/toolchain/linux/BUILD.gn
+index 05630d0..b1288ce 100644
+--- a/build/toolchain/linux/BUILD.gn
++++ b/build/toolchain/linux/BUILD.gn
+@@ -2,6 +2,7 @@
+ # Use of this source code is governed by a BSD-style license that can be
+ # found in the LICENSE file.
+
++import("//build/config/linux/libc.gni")
+ import("//build/config/sysroot.gni")
+ import("//build/toolchain/ccache.gni")
+ import("//build/toolchain/gcc_toolchain.gni")
+@@ -39,16 +43,20 @@
+ link_prefix = ""
+ }
+
+-if (host_cpu == "arm64") {
+- rebased_clang_dir =
+- rebase_path("//buildtools/linux-arm64/clang/bin", root_build_dir)
++if (is_host_glibc) {
++ if (host_cpu == "arm64") {
++ rebased_clang_dir =
++ rebase_path("//buildtools/linux-arm64/clang/bin/", root_build_dir)
++ } else {
++ rebased_clang_dir =
++ rebase_path("//buildtools/linux-x64/clang/bin/", root_build_dir)
++ }
+ } else {
+- rebased_clang_dir =
+- rebase_path("//buildtools/linux-x64/clang/bin", root_build_dir)
++ rebased_clang_dir = ""
+ }
+
+ gcc_toolchain("arm") {
+- prefix = "arm-linux-gnueabihf-"
++ prefix = "arm-linux-${target_libc}eabihf-"
+ if (toolchain_prefix != "") {
+ prefix = toolchain_prefix
+ }
+@@ -70,15 +78,15 @@
+
+ gcc_toolchain("clang_arm") {
+ prefix = rebased_clang_dir
+- asm = "${prefix}/clang"
+- cc = "${compiler_prefix}${prefix}/clang"
+- cxx = "${compiler_prefix}${prefix}/clang++"
++ asm = "${prefix}clang"
++ cc = "${compiler_prefix}${prefix}clang"
++ cxx = "${compiler_prefix}${prefix}clang++"
+
+- readelf = "${prefix}/llvm-readelf"
+- nm = "${prefix}/llvm-nm"
+- ar = "${prefix}/llvm-ar"
+- ld = "${link_prefix}${prefix}/clang++"
+- llvm_objcopy = "${prefix}/llvm-objcopy"
++ readelf = "${prefix}llvm-readelf"
++ nm = "${prefix}llvm-nm"
++ ar = "${prefix}llvm-ar"
++ ld = "${link_prefix}${prefix}clang++"
++ llvm_objcopy = "${prefix}llvm-objcopy"
+
+ toolchain_cpu = "arm"
+ toolchain_os = "linux"
+@@ -86,7 +94,7 @@
+ }
+
+ gcc_toolchain("arm64") {
+- prefix = "aarch64-linux-gnu-"
++ prefix = "aarch64-linux-${target_libc}-"
+ if (toolchain_prefix != "") {
+ prefix = toolchain_prefix
+ }
+@@ -108,15 +116,15 @@
+
+ gcc_toolchain("clang_arm64") {
+ prefix = rebased_clang_dir
+- asm = "${prefix}/clang"
+- cc = "${compiler_prefix}${prefix}/clang"
+- cxx = "${compiler_prefix}${prefix}/clang++"
++ asm = "${prefix}clang"
++ cc = "${compiler_prefix}${prefix}clang"
++ cxx = "${compiler_prefix}${prefix}clang++"
+
+ readelf = "readelf"
+- nm = "${prefix}/llvm-nm"
+- ar = "${prefix}/llvm-ar"
+- ld = "${link_prefix}${prefix}/clang++"
+- llvm_objcopy = "${prefix}/llvm-objcopy"
++ nm = "${prefix}llvm-nm"
++ ar = "${prefix}llvm-ar"
++ ld = "${link_prefix}${prefix}clang++"
++ llvm_objcopy = "${prefix}llvm-objcopy"
+
+ toolchain_cpu = "arm64"
+ toolchain_os = "linux"
+@@ -125,15 +133,15 @@
+
+ gcc_toolchain("clang_x86") {
+ prefix = rebased_clang_dir
+- asm = "${prefix}/clang"
+- cc = "${compiler_prefix}${prefix}/clang"
+- cxx = "${compiler_prefix}${prefix}/clang++"
++ asm = "${prefix}clang"
++ cc = "${compiler_prefix}${prefix}clang"
++ cxx = "${compiler_prefix}${prefix}clang++"
+
+- readelf = "${prefix}/llvm-readelf"
+- nm = "${prefix}/llvm-nm"
+- ar = "${prefix}/llvm-ar"
+- ld = "${link_prefix}${prefix}/clang++"
+- llvm_objcopy = "${prefix}/llvm-objcopy"
++ readelf = "${prefix}llvm-readelf"
++ nm = "${prefix}llvm-nm"
++ ar = "${prefix}llvm-ar"
++ ld = "${link_prefix}${prefix}clang++"
++ llvm_objcopy = "${prefix}llvm-objcopy"
+
+ toolchain_cpu = "x86"
+ toolchain_os = "linux"
+@@ -159,15 +167,15 @@
+
+ gcc_toolchain("clang_x64") {
+ prefix = rebased_clang_dir
+- asm = "${prefix}/clang"
+- cc = "${compiler_prefix}${prefix}/clang"
+- cxx = "${compiler_prefix}${prefix}/clang++"
++ asm = "${prefix}clang"
++ cc = "${compiler_prefix}${prefix}clang"
++ cxx = "${compiler_prefix}${prefix}clang++"
+
+- readelf = "${prefix}/llvm-readelf"
+- nm = "${prefix}/llvm-nm"
+- ar = "${prefix}/llvm-ar"
+- ld = "${link_prefix}${prefix}/clang++"
+- llvm_objcopy = "${prefix}/llvm-objcopy"
++ readelf = "${prefix}llvm-readelf"
++ nm = "${prefix}llvm-nm"
++ ar = "${prefix}llvm-ar"
++ ld = "${link_prefix}${prefix}clang++"
++ llvm_objcopy = "${prefix}llvm-objcopy"
+
+ toolchain_cpu = "x64"
+ toolchain_os = "linux"
+@@ -192,7 +200,7 @@
+ }
+
+ gcc_toolchain("riscv32") {
+- prefix = "riscv32-linux-gnu-"
++ prefix = "riscv32-linux-${target_libc}-"
+ if (toolchain_prefix != "") {
+ prefix = toolchain_prefix
+ }
+@@ -230,7 +238,7 @@
+ }
+
+ gcc_toolchain("riscv64") {
+- prefix = "riscv64-linux-gnu-"
++ prefix = "riscv64-linux-${target_libc}-"
+ if (toolchain_prefix != "") {
+ prefix = toolchain_prefix
+ }
+@@ -252,15 +260,15 @@
+
+ gcc_toolchain("clang_riscv64") {
+ prefix = rebased_clang_dir
+- asm = "${prefix}/clang"
+- cc = "${compiler_prefix}${prefix}/clang"
+- cxx = "${compiler_prefix}${prefix}/clang++"
++ asm = "${prefix}clang"
++ cc = "${compiler_prefix}${prefix}clang"
++ cxx = "${compiler_prefix}${prefix}clang++"
+
+ readelf = "readelf"
+- nm = "${prefix}/llvm-nm"
+- ar = "${prefix}/llvm-ar"
+- ld = "${link_prefix}${prefix}/clang++"
+- llvm_objcopy = "${prefix}/llvm-objcopy"
++ nm = "${prefix}llvm-nm"
++ ar = "${prefix}llvm-ar"
++ ld = "${link_prefix}${prefix}clang++"
++ llvm_objcopy = "${prefix}llvm-objcopy"
+
+ toolchain_cpu = "riscv64"
+ toolchain_os = "linux"
diff --git a/testing/flutter/unbundle.patch b/testing/flutter/unbundle.patch
new file mode 100644
index 00000000000..8dc368813c3
--- /dev/null
+++ b/testing/flutter/unbundle.patch
@@ -0,0 +1,21 @@
+--- a/packages/flutter_tools/lib/src/build_system/targets/linux.dart
++++ b/packages/flutter_tools/lib/src/build_system/targets/linux.dart
+@@ -19,7 +19,6 @@
+
+ /// The only files/subdirectories we care out.
+ const List<String> _kLinuxArtifacts = <String>[
+- 'libflutter_linux_gtk.so',
+ ];
+
+ const String _kLinuxDepfile = 'linux_engine_sources.d';
+@@ -79,10 +78,6 @@
+ outputDirectory: outputDirectory,
+ artifacts: _kLinuxArtifacts,
+ clientSourcePaths: <String>[headersPath],
+- icuDataPath: environment.artifacts.getArtifactPath(
+- Artifact.icuData,
+- platform: targetPlatform,
+- )
+ );
+ final DepfileService depfileService = DepfileService(
+ fileSystem: environment.fileSystem,
diff --git a/testing/flutter/unbundle.patch.engine b/testing/flutter/unbundle.patch.engine
new file mode 100644
index 00000000000..cc6bce62687
--- /dev/null
+++ b/testing/flutter/unbundle.patch.engine
@@ -0,0 +1,950 @@
+diff --git a/build/linux/unbundle/fontconfig.gn b/build/linux/unbundle/fontconfig.gn
+new file mode 100644
+index 0000000..87926d5
+--- /dev/null
++++ b/build/linux/unbundle/fontconfig.gn
+@@ -0,0 +1,13 @@
++# Copyright 2017 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++assert(is_linux || is_chromeos)
++
++config("fontconfig_config") {
++ libs = [ "fontconfig" ]
++}
++
++group("fontconfig") {
++ public_configs = [ ":fontconfig_config" ]
++}
+diff --git a/build/linux/unbundle/freetype2.gn b/build/linux/unbundle/freetype2.gn
+new file mode 100644
+index 0000000..3b8cafb
+--- /dev/null
++++ b/build/linux/unbundle/freetype2.gn
+@@ -0,0 +1,35 @@
++# Copyright 2013 The Flutter Authors. All rights reserved.
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++config("freetype_config") {
++ include_dirs = [ "include/freetype-flutter-config" ]
++
++ cflags = []
++
++ if (is_clang) {
++ cflags += [
++ "-Wno-unused-function",
++ "-Wno-unused-variable",
++ ]
++ }
++}
++
++pkg_config("system_freetype2") {
++ packages = [ "freetype2" ]
++}
++
++source_set("freetype2") {
++ output_name = "freetype2"
++ deps = [
++ "//third_party/libpng",
++ "//third_party/zlib",
++ ]
++ public_configs = [
++ ":freetype_config",
++ ":system_freetype2",
++ ]
++}
+diff --git a/build/linux/unbundle/harfbuzz.gn b/build/linux/unbundle/harfbuzz.gn
+new file mode 100644
+index 0000000..72d3e06
+--- /dev/null
++++ b/build/linux/unbundle/harfbuzz.gn
+@@ -0,0 +1,31 @@
++# Copyright 2013 The Flutter Authors. All rights reserved.
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++
++pkg_config("system_harfbuzz") {
++ packages = [ "harfbuzz" ]
++}
++
++pkg_config("system_harfbuzz_subset") {
++ packages = [ "harfbuzz-subset" ]
++}
++
++source_set("harfbuzz") {
++ output_name = "harfbuzz"
++ deps = [
++ "//third_party/freetype2",
++ "//third_party/icu:icuuc",
++ ]
++ public_configs = [ ":system_harfbuzz" ]
++}
++
++source_set("harfbuzz_subset") {
++ output_name = "harfbuzz_subset"
++ deps = [
++ "//third_party/freetype2",
++ "//third_party/icu:icuuc",
++ ]
++ public_configs = [ ":system_harfbuzz_subset" ]
++}
+diff --git a/build/linux/unbundle/icu.gn b/build/linux/unbundle/icu.gn
+new file mode 100644
+index 0000000..9e54d4e
+--- /dev/null
++++ b/build/linux/unbundle/icu.gn
+@@ -0,0 +1,262 @@
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++group("icu") {
++ public_deps = [
++ ":icui18n",
++ ":icuuc",
++ ]
++}
++
++config("icu_config") {
++ defines = [
++ "USING_SYSTEM_ICU=1",
++ "ICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC",
++
++ # U_EXPORT (defined in unicode/platform.h) is used to set public visibility
++ # on classes through the U_COMMON_API and U_I18N_API macros (among others).
++ # When linking against the system ICU library, we want its symbols to have
++ # public LTO visibility. This disables CFI checks for the ICU classes and
++ # allows whole-program optimization to be applied to the rest of Chromium.
++ #
++ # Both U_COMMON_API and U_I18N_API macros would be defined to U_EXPORT only
++ # when U_COMBINED_IMPLEMENTATION is defined (see unicode/utypes.h). Because
++ # we override the default system UCHAR_TYPE (char16_t), it is not possible
++ # to use U_COMBINED_IMPLEMENTATION at this moment, meaning the U_COMMON_API
++ # and U_I18N_API macros are set to U_IMPORT which is an empty definition.
++ #
++ # Until building with UCHAR_TYPE=char16_t is supported, one way to apply
++ # public visibility (and thus public LTO visibility) to all ICU classes is
++ # to define U_IMPORT to have the same value as U_EXPORT. For more details,
++ # please see: https://crbug.com/822820
++ "U_IMPORT=U_EXPORT",
++ ]
++}
++
++pkg_config("system_icui18n") {
++ packages = [ "icu-i18n" ]
++}
++
++pkg_config("system_icuuc") {
++ packages = [ "icu-uc" ]
++}
++
++source_set("icui18n") {
++ public_deps = [ ":icui18n_shim" ]
++ public_configs = [
++ ":icu_config",
++ ":system_icui18n",
++ ]
++}
++
++source_set("icuuc") {
++ public_deps = [ ":icuuc_shim" ]
++ public_configs = [
++ ":icu_config",
++ ":system_icuuc",
++ ]
++}
++
++group("icui18n_hidden_visibility") {
++ public_deps = [ ":icui18n" ]
++}
++
++group("icuuc_hidden_visibility") {
++ public_deps = [ ":icuuc" ]
++}
++
++shim_headers("icui18n_shim") {
++ root_path = "source/i18n"
++ headers = [
++ # This list can easily be updated using the commands below:
++ # cd third_party/icu/source/i18n
++ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u
++ "unicode/alphaindex.h",
++ "unicode/basictz.h",
++ "unicode/calendar.h",
++ "unicode/choicfmt.h",
++ "unicode/coleitr.h",
++ "unicode/coll.h",
++ "unicode/compactdecimalformat.h",
++ "unicode/curramt.h",
++ "unicode/currpinf.h",
++ "unicode/currunit.h",
++ "unicode/datefmt.h",
++ "unicode/dcfmtsym.h",
++ "unicode/decimfmt.h",
++ "unicode/dtfmtsym.h",
++ "unicode/dtitvfmt.h",
++ "unicode/dtitvinf.h",
++ "unicode/dtptngen.h",
++ "unicode/dtrule.h",
++ "unicode/fieldpos.h",
++ "unicode/fmtable.h",
++ "unicode/format.h",
++ "unicode/fpositer.h",
++ "unicode/gender.h",
++ "unicode/gregocal.h",
++ "unicode/listformatter.h",
++ "unicode/measfmt.h",
++ "unicode/measunit.h",
++ "unicode/measure.h",
++ "unicode/msgfmt.h",
++ "unicode/numfmt.h",
++ "unicode/numsys.h",
++ "unicode/plurfmt.h",
++ "unicode/plurrule.h",
++ "unicode/rbnf.h",
++ "unicode/rbtz.h",
++ "unicode/regex.h",
++ "unicode/region.h",
++ "unicode/reldatefmt.h",
++ "unicode/scientificnumberformatter.h",
++ "unicode/search.h",
++ "unicode/selfmt.h",
++ "unicode/simpletz.h",
++ "unicode/smpdtfmt.h",
++ "unicode/sortkey.h",
++ "unicode/stsearch.h",
++ "unicode/tblcoll.h",
++ "unicode/timezone.h",
++ "unicode/tmunit.h",
++ "unicode/tmutamt.h",
++ "unicode/tmutfmt.h",
++ "unicode/translit.h",
++ "unicode/tzfmt.h",
++ "unicode/tznames.h",
++ "unicode/tzrule.h",
++ "unicode/tztrans.h",
++ "unicode/ucal.h",
++ "unicode/ucol.h",
++ "unicode/ucoleitr.h",
++ "unicode/ucsdet.h",
++ "unicode/udat.h",
++ "unicode/udateintervalformat.h",
++ "unicode/udatpg.h",
++ "unicode/ufieldpositer.h",
++ "unicode/uformattable.h",
++ "unicode/ugender.h",
++ "unicode/ulocdata.h",
++ "unicode/umsg.h",
++ "unicode/unirepl.h",
++ "unicode/unum.h",
++ "unicode/unumsys.h",
++ "unicode/upluralrules.h",
++ "unicode/uregex.h",
++ "unicode/uregion.h",
++ "unicode/ureldatefmt.h",
++ "unicode/usearch.h",
++ "unicode/uspoof.h",
++ "unicode/utmscale.h",
++ "unicode/utrans.h",
++ "unicode/vtzone.h",
++ ]
++}
++
++shim_headers("icuuc_shim") {
++ root_path = "source/common"
++ headers = [
++ # This list can easily be updated using the commands below:
++ # cd third_party/icu/source/common
++ # find unicode -iname '*.h' -printf ' "%p",\n' | LC_ALL=C sort -u
++ "unicode/appendable.h",
++ "unicode/brkiter.h",
++ "unicode/bytestream.h",
++ "unicode/bytestrie.h",
++ "unicode/bytestriebuilder.h",
++ "unicode/caniter.h",
++ "unicode/casemap.h",
++ "unicode/char16ptr.h",
++ "unicode/chariter.h",
++ "unicode/dbbi.h",
++ "unicode/docmain.h",
++ "unicode/dtintrv.h",
++ "unicode/edits.h",
++ "unicode/enumset.h",
++ "unicode/errorcode.h",
++ "unicode/filteredbrk.h",
++ "unicode/icudataver.h",
++ "unicode/icuplug.h",
++ "unicode/idna.h",
++ "unicode/localematcher.h",
++ "unicode/localpointer.h",
++ "unicode/locdspnm.h",
++ "unicode/locid.h",
++ "unicode/messagepattern.h",
++ "unicode/normalizer2.h",
++ "unicode/normlzr.h",
++ "unicode/parseerr.h",
++ "unicode/parsepos.h",
++ "unicode/platform.h",
++ "unicode/ptypes.h",
++ "unicode/putil.h",
++ "unicode/rbbi.h",
++ "unicode/rep.h",
++ "unicode/resbund.h",
++ "unicode/schriter.h",
++ "unicode/simpleformatter.h",
++ "unicode/std_string.h",
++ "unicode/strenum.h",
++ "unicode/stringpiece.h",
++ "unicode/stringtriebuilder.h",
++ "unicode/symtable.h",
++ "unicode/ubidi.h",
++ "unicode/ubiditransform.h",
++ "unicode/ubrk.h",
++ "unicode/ucasemap.h",
++ "unicode/ucat.h",
++ "unicode/uchar.h",
++ "unicode/ucharstrie.h",
++ "unicode/ucharstriebuilder.h",
++ "unicode/uchriter.h",
++ "unicode/uclean.h",
++ "unicode/ucnv.h",
++ "unicode/ucnv_cb.h",
++ "unicode/ucnv_err.h",
++ "unicode/ucnvsel.h",
++ "unicode/uconfig.h",
++ "unicode/ucurr.h",
++ "unicode/udata.h",
++ "unicode/udisplaycontext.h",
++ "unicode/uenum.h",
++ "unicode/uidna.h",
++ "unicode/uiter.h",
++ "unicode/uldnames.h",
++ "unicode/ulistformatter.h",
++ "unicode/uloc.h",
++ "unicode/umachine.h",
++ "unicode/umisc.h",
++ "unicode/unifilt.h",
++ "unicode/unifunct.h",
++ "unicode/unimatch.h",
++ "unicode/uniset.h",
++ "unicode/unistr.h",
++ "unicode/unorm.h",
++ "unicode/unorm2.h",
++ "unicode/uobject.h",
++ "unicode/urename.h",
++ "unicode/urep.h",
++ "unicode/ures.h",
++ "unicode/uscript.h",
++ "unicode/uset.h",
++ "unicode/usetiter.h",
++ "unicode/ushape.h",
++ "unicode/usprep.h",
++ "unicode/ustring.h",
++ "unicode/ustringtrie.h",
++ "unicode/utext.h",
++ "unicode/utf.h",
++ "unicode/utf16.h",
++ "unicode/utf32.h",
++ "unicode/utf8.h",
++ "unicode/utf_old.h",
++ "unicode/utrace.h",
++ "unicode/utypes.h",
++ "unicode/uvernum.h",
++ "unicode/uversion.h",
++ ]
++}
+diff --git a/build/linux/unbundle/libjpeg-turbo.gn b/build/linux/unbundle/libjpeg-turbo.gn
+new file mode 100644
+index 0000000..be0c674
+--- /dev/null
++++ b/build/linux/unbundle/libjpeg-turbo.gn
+@@ -0,0 +1,11 @@
++# Copyright 2013 The Flutter Authors. All rights reserved.
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++config("libjpeg_config") {
++ libs = [ "jpeg" ]
++}
++
++group("libjpeg") {
++ public_configs = [ ":libjpeg_config" ]
++}
+diff --git a/build/linux/unbundle/libpng.gn b/build/linux/unbundle/libpng.gn
+new file mode 100644
+index 0000000..91e0ee4
+--- /dev/null
++++ b/build/linux/unbundle/libpng.gn
+@@ -0,0 +1,23 @@
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++pkg_config("libpng_config") {
++ packages = [ "libpng" ]
++}
++
++shim_headers("libpng_shim") {
++ root_path = "."
++ headers = [
++ "png.h",
++ "pngconf.h",
++ ]
++}
++
++source_set("libpng") {
++ deps = [ ":libpng_shim" ]
++ public_configs = [ ":libpng_config" ]
++}
+diff --git a/build/linux/unbundle/libwebp.gn b/build/linux/unbundle/libwebp.gn
+new file mode 100644
+index 0000000..708cc9c
+--- /dev/null
++++ b/build/linux/unbundle/libwebp.gn
+@@ -0,0 +1,35 @@
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++pkg_config("system_libwebp") {
++ packages = [
++ "libwebp",
++ "libwebpdemux",
++ "libwebpmux",
++ ]
++}
++
++shim_headers("libwebp_shim") {
++ root_path = "src/src"
++ headers = [
++ "webp/decode.h",
++ "webp/demux.h",
++ "webp/encode.h",
++ "webp/mux.h",
++ "webp/mux_types.h",
++ "webp/types.h",
++ ]
++}
++
++source_set("libwebp_webp") {
++ deps = [ ":libwebp_shim" ]
++ public_configs = [ ":system_libwebp" ]
++}
++
++group("libwebp") {
++ deps = [ ":libwebp_webp" ]
++}
+diff --git a/build/linux/unbundle/libxml.gn b/build/linux/unbundle/libxml.gn
+new file mode 100644
+index 0000000..b42d044
+--- /dev/null
++++ b/build/linux/unbundle/libxml.gn
+@@ -0,0 +1,13 @@
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++
++pkg_config("system_libxml") {
++ packages = [ "libxml-2.0" ]
++}
++
++source_set("libxml") {
++ public_configs = [ ":system_libxml" ]
++}
+diff --git a/build/linux/unbundle/replace_gn_files.py b/build/linux/unbundle/replace_gn_files.py
+new file mode 100755
+index 0000000..b8b24c6
+--- /dev/null
++++ b/build/linux/unbundle/replace_gn_files.py
+@@ -0,0 +1,101 @@
++#!/usr/bin/env python3
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++"""
++Replaces GN files in tree with files from here that
++make the build use system libraries.
++"""
++
++import argparse
++import os
++import shutil
++import sys
++
++
++REPLACEMENTS = {
++ # Use system libabsl_2xxx. These 18 shims MUST be used together.
++ 'absl_algorithm': 'third_party/abseil-cpp/absl/algorithm/BUILD.gn',
++ 'absl_base': 'third_party/abseil-cpp/absl/base/BUILD.gn',
++ 'absl_cleanup': 'third_party/abseil-cpp/absl/cleanup/BUILD.gn',
++ 'absl_container': 'third_party/abseil-cpp/absl/container/BUILD.gn',
++ 'absl_debugging': 'third_party/abseil-cpp/absl/debugging/BUILD.gn',
++ 'absl_flags': 'third_party/abseil-cpp/absl/flags/BUILD.gn',
++ 'absl_functional': 'third_party/abseil-cpp/absl/functional/BUILD.gn',
++ 'absl_hash': 'third_party/abseil-cpp/absl/hash/BUILD.gn',
++ 'absl_memory': 'third_party/abseil-cpp/absl/memory/BUILD.gn',
++ 'absl_meta': 'third_party/abseil-cpp/absl/meta/BUILD.gn',
++ 'absl_numeric': 'third_party/abseil-cpp/absl/numeric/BUILD.gn',
++ 'absl_random': 'third_party/abseil-cpp/absl/random/BUILD.gn',
++ 'absl_status': 'third_party/abseil-cpp/absl/status/BUILD.gn',
++ 'absl_strings': 'third_party/abseil-cpp/absl/strings/BUILD.gn',
++ 'absl_synchronization': 'third_party/abseil-cpp/absl/synchronization/BUILD.gn',
++ 'absl_time': 'third_party/abseil-cpp/absl/time/BUILD.gn',
++ 'absl_types': 'third_party/abseil-cpp/absl/types/BUILD.gn',
++ 'absl_utility': 'third_party/abseil-cpp/absl/utility/BUILD.gn',
++ #
++ 'fontconfig': 'third_party/fontconfig/BUILD.gn',
++ 'freetype2': 'third_party/freetype2/BUILD.gn',
++ 'harfbuzz': 'third_party/harfbuzz/BUILD.gn',
++ 'icu': 'third_party/icu/BUILD.gn',
++ 'libjpeg-turbo': 'flutter/third_party/libjpeg-turbo/BUILD.gn',
++ 'libpng': 'third_party/libpng/BUILD.gn',
++ 'libwebp': 'flutter/build/secondary/flutter/third_party/libwebp/BUILD.gn',
++ 'libxml': 'third_party/libxml/BUILD.gn',
++ 'libXNVCtrl': 'third_party/angle/src/third_party/libXNVCtrl/BUILD.gn',
++ 'sqlite': 'flutter/third_party/sqlite/BUILD.gn',
++ # Use system libSPIRV-Tools in Swiftshader. These two shims MUST be used together.
++ 'swiftshader-SPIRV-Headers': 'flutter/third_party/swiftshader/third_party/SPIRV-Headers/BUILD.gn',
++ 'swiftshader-SPIRV-Tools': 'flutter/third_party/swiftshader/third_party/SPIRV-Tools/BUILD.gn',
++ # Use system libSPIRV-Tools inside ANGLE. These two shims MUST be used together
++ # and can only be used if WebGPU is not compiled (use_dawn=false)
++ 'vulkan-SPIRV-Headers': 'third_party/vulkan-deps/spirv-headers/src/BUILD.gn',
++ 'vulkan-SPIRV-Tools': 'third_party/vulkan-deps/spirv-tools/src/BUILD.gn',
++ #
++ 'zlib': 'third_party/zlib/BUILD.gn',
++}
++
++
++def DoMain(argv):
++ my_dirname = os.path.dirname(__file__)
++ source_tree_root = os.path.abspath(
++ os.path.join(my_dirname, '..', '..', '..'))
++
++ parser = argparse.ArgumentParser()
++ parser.add_argument('--system-libraries', nargs='*', default=[])
++ parser.add_argument('--undo', action='store_true')
++
++ args = parser.parse_args(argv)
++
++ handled_libraries = set()
++ for lib, path in REPLACEMENTS.items():
++ if lib not in args.system_libraries:
++ continue
++ handled_libraries.add(lib)
++
++ if args.undo:
++ # Restore original file, and also remove the backup.
++ # This is meant to restore the source tree to its original state.
++ os.rename(os.path.join(source_tree_root, path + '.orig'),
++ os.path.join(source_tree_root, path))
++ else:
++ # Create a backup copy for --undo.
++ shutil.copyfile(os.path.join(source_tree_root, path),
++ os.path.join(source_tree_root, path + '.orig'))
++
++ # Copy the GN file from directory of this script to target path.
++ shutil.copyfile(os.path.join(my_dirname, '%s.gn' % lib),
++ os.path.join(source_tree_root, path))
++
++ unhandled_libraries = set(args.system_libraries) - handled_libraries
++ if unhandled_libraries:
++ print('Unrecognized system libraries requested: %s' % ', '.join(
++ sorted(unhandled_libraries)), file=sys.stderr)
++ return 1
++
++ return 0
++
++
++if __name__ == '__main__':
++ sys.exit(DoMain(sys.argv[1:]))
+diff --git a/build/linux/unbundle/sqlite.gn b/build/linux/unbundle/sqlite.gn
+new file mode 100644
+index 0000000..e6c653d
+--- /dev/null
++++ b/build/linux/unbundle/sqlite.gn
+@@ -0,0 +1,20 @@
++# Copyright 2013 The Flutter Authors. All rights reserved.
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++pkg_config("system_sqlite") {
++ packages = [ "sqlite3" ]
++}
++
++shim_headers("sqlite_shim") {
++ root_path = "//third_party/sqlite"
++ headers = [ "sqlite3.h" ]
++}
++
++source_set("sqlite") {
++ public_deps = [ ":sqlite_shim" ]
++ public_configs = [ ":system_sqlite" ]
++}
+diff --git a/build/linux/unbundle/zlib.gn b/build/linux/unbundle/zlib.gn
+new file mode 100644
+index 0000000..6daf3c6
+--- /dev/null
++++ b/build/linux/unbundle/zlib.gn
+@@ -0,0 +1,72 @@
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++import("//build/shim_headers.gni")
++
++declare_args() {
++ use_zlib_ng = false
++}
++
++if (use_zlib_ng) {
++ _suffix = "-ng"
++} else {
++ _suffix = ""
++}
++
++shim_headers("zlib_shim") {
++ root_path = "."
++ headers = [ "zlib.h%zlib$_suffix.h" ]
++ additional_includes = [ "third_party" ]
++}
++
++config("system_zlib") {
++ defines = [ "USE_SYSTEM_ZLIB=1" ]
++}
++
++config("zlib_config") {
++ configs = [ ":system_zlib" ]
++}
++
++source_set("zlib") {
++ public_deps = [ ":zlib_shim" ]
++ libs = [ "z$_suffix" ]
++ public_configs = [ ":system_zlib" ]
++}
++
++shim_headers("minizip_shim") {
++ root_path = "contrib"
++ headers = [
++ "minizip/crypt.h",
++ "minizip/ioapi.h",
++ "minizip/iowin32.h",
++ "minizip/mztools.h",
++ "minizip/unzip.h",
++ "minizip/zip.h",
++ ]
++}
++
++source_set("minizip") {
++ deps = [ ":minizip_shim" ]
++ libs = [ "minizip" ]
++}
++
++static_library("zip") {
++ sources = [
++ "google/zip.cc",
++ "google/zip.h",
++ "google/zip_internal.cc",
++ "google/zip_internal.h",
++ "google/zip_reader.cc",
++ "google/zip_reader.h",
++ ]
++ deps = [ ":minizip" ]
++}
++
++static_library("compression_utils") {
++ sources = [
++ "google/compression_utils.cc",
++ "google/compression_utils.h",
++ ]
++ deps = [ ":zlib" ]
++}
+diff --git a/build/shim_headers.gni b/build/shim_headers.gni
+new file mode 100644
+index 0000000..1d24e0a
+--- /dev/null
++++ b/build/shim_headers.gni
+@@ -0,0 +1,42 @@
++# Copyright 2016 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++template("shim_headers") {
++ action_name = "gen_${target_name}"
++ config_name = "${target_name}_config"
++ shim_headers_path = "${root_gen_dir}/shim_headers/${target_name}"
++ config(config_name) {
++ include_dirs = [ shim_headers_path ]
++ if (defined(invoker.additional_includes)) {
++ foreach(i, invoker.additional_includes) {
++ include_dirs += [ shim_headers_path + "/" + i ]
++ }
++ }
++ }
++ action(action_name) {
++ script = "//tools/generate_shim_headers.py"
++ args = [
++ "--generate",
++ "--headers-root",
++ rebase_path(invoker.root_path),
++ "--output-directory",
++ rebase_path(shim_headers_path),
++ ]
++ if (defined(invoker.prefix)) {
++ args += [
++ "--prefix",
++ invoker.prefix,
++ ]
++ }
++ args += invoker.headers
++ outputs = []
++ foreach(h, invoker.headers) {
++ outputs += [ shim_headers_path + "/" +
++ rebase_path(invoker.root_path, "//") + "/" + h ]
++ }
++ }
++ group(target_name) {
++ public_deps = [ ":${action_name}" ]
++ all_dependent_configs = [ ":${config_name}" ]
++ }
++}
+diff --git a/tools/generate_shim_headers.py b/tools/generate_shim_headers.py
+new file mode 100644
+index 0000000..aaa16f8
+--- /dev/null
++++ b/tools/generate_shim_headers.py
+@@ -0,0 +1,116 @@
++#!/usr/bin/env python
++# Copyright 2012 The Chromium Authors
++# Use of this source code is governed by a BSD-style license that can be
++# found in the LICENSE file.
++
++"""
++Generates shim headers that mirror the directory structure of bundled headers,
++but just forward to the system ones.
++
++This allows seamless compilation against system headers with no changes
++to our source code.
++"""
++
++
++import optparse
++import os.path
++import sys
++
++
++SHIM_TEMPLATE = """
++#if defined(OFFICIAL_BUILD)
++#error shim headers must not be used in official builds!
++#endif
++"""
++
++
++def GeneratorMain(argv):
++ parser = optparse.OptionParser()
++ parser.add_option('--headers-root', action='append')
++ parser.add_option('--define', action='append')
++ parser.add_option('--output-directory')
++ parser.add_option('--prefix', default='')
++ parser.add_option('--use-include-next', action='store_true')
++ parser.add_option('--outputs', action='store_true')
++ parser.add_option('--generate', action='store_true')
++
++ options, args = parser.parse_args(argv)
++
++ if not options.headers_root:
++ parser.error('Missing --headers-root parameter.')
++ if not options.output_directory:
++ parser.error('Missing --output-directory parameter.')
++ if not args:
++ parser.error('Missing arguments - header file names.')
++
++ source_tree_root = os.path.abspath(
++ os.path.join(os.path.dirname(__file__), '..'))
++
++ for root in options.headers_root:
++ target_directory = os.path.join(
++ options.output_directory,
++ os.path.relpath(root, source_tree_root))
++ if options.generate and not os.path.exists(target_directory):
++ os.makedirs(target_directory)
++
++ for header_spec in args:
++ if ';' in header_spec:
++ (header_filename,
++ include_before,
++ include_after) = header_spec.split(';', 2)
++ else:
++ header_filename = header_spec
++ include_before = ''
++ include_after = ''
++ if '%' in header_filename:
++ (header_filename,
++ upstream_header_filename) = header_filename.split('%', 1)
++ else:
++ upstream_header_filename = header_filename
++ if options.outputs:
++ yield os.path.join(target_directory, header_filename)
++ if options.generate:
++ header_path = os.path.join(target_directory, header_filename)
++ header_dir = os.path.dirname(header_path)
++ if not os.path.exists(header_dir):
++ os.makedirs(header_dir)
++ with open(header_path, 'w') as f:
++ f.write(SHIM_TEMPLATE)
++
++ if options.define:
++ for define in options.define:
++ key, value = define.split('=', 1)
++ # This non-standard push_macro extension is supported
++ # by compilers we support (GCC, clang).
++ f.write('#pragma push_macro("%s")\n' % key)
++ f.write('#undef %s\n' % key)
++ f.write('#define %s %s\n' % (key, value))
++
++ if include_before:
++ for header in include_before.split(':'):
++ f.write('#include %s\n' % header)
++
++ include_target = options.prefix + upstream_header_filename
++ if options.use_include_next:
++ f.write('#include_next <%s>\n' % include_target)
++ else:
++ f.write('#include <%s>\n' % include_target)
++
++ if include_after:
++ for header in include_after.split(':'):
++ f.write('#include %s\n' % header)
++
++ if options.define:
++ for define in options.define:
++ key, value = define.split('=', 1)
++ # This non-standard pop_macro extension is supported
++ # by compilers we support (GCC, clang).
++ f.write('#pragma pop_macro("%s")\n' % key)
++
++
++def DoMain(argv):
++ return '\n'.join(GeneratorMain(argv))
++
++
++if __name__ == '__main__':
++ DoMain(sys.argv[1:])
+--- /dev/null
++++ ./build/linux/unbundle/vulkan-SPIRV-Headers.gn
+@@ -0,0 +1,19 @@
++# This shim can only be used if you build Chromium without DAWN
++
++import("//build/shim_headers.gni")
++
++shim_headers("vulkan-SPIRV-Headers_shim") {
++ root_path = "include"
++ headers = [
++ "spirv/unified1/GLSL.std.450.h",
++ "spirv/unified1/NonSemanticClspvReflection.h",
++ "spirv/unified1/NonSemanticDebugPrintf.h",
++ "spirv/unified1/OpenCL.std.h",
++ "spirv/unified1/spirv.h",
++ "spirv/unified1/spirv.hpp",
++ ]
++}
++
++source_set("spv_headers") {
++ deps = [ ":vulkan-SPIRV-Headers_shim" ]
++}
+--- /dev/null
++++ ./build/linux/unbundle/vulkan-SPIRV-Tools.gn
+@@ -0,0 +1,73 @@
++# This shim can only be used if you build Chromium without DAWN
++
++import("//build/config/linux/pkg_config.gni")
++import("//build/shim_headers.gni")
++
++pkg_config("spvtools_internal_config") {
++ packages = [ "SPIRV-Tools" ]
++}
++
++shim_headers("vulkan-SPIRV-Tools_shim") {
++ root_path = "include"
++ headers = [
++ "spirv-tools/instrument.hpp",
++ "spirv-tools/libspirv.h",
++ "spirv-tools/libspirv.hpp",
++ "spirv-tools/linker.hpp",
++ "spirv-tools/optimizer.hpp",
++ ]
++}
++
++source_set("SPIRV-Tools") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools_core_enums_unified1") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools_core_tables_unified1") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools_headers") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools_language_header_cldebuginfo100") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools_language_header_debuginfo") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools_language_header_vkdebuginfo100") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools_opt") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
++
++config("spvtools_public_config") {
++ configs = [ ":spvtools_internal_config" ]
++}
++
++source_set("spvtools_val") {
++ deps = [ ":vulkan-SPIRV-Tools_shim" ]
++ public_configs = [ ":spvtools_internal_config" ]
++}
diff --git a/testing/flutter/version.patch b/testing/flutter/version.patch
new file mode 100644
index 00000000000..d9690a2cfa9
--- /dev/null
+++ b/testing/flutter/version.patch
@@ -0,0 +1,288 @@
+--- ./packages/flutter_tools/lib/src/version.dart.orig
++++ ./packages/flutter_tools/lib/src/version.dart
+@@ -91,7 +91,7 @@
+ }) {
+ final File versionFile = getVersionFile(fs, flutterRoot);
+
+- if (!fetchTags && versionFile.existsSync()) {
++ if (versionFile.existsSync()) {
+ final _FlutterVersionFromFile? version = _FlutterVersionFromFile.tryParseFromFile(
+ versionFile,
+ flutterRoot: flutterRoot,
+@@ -110,11 +110,7 @@
+ }
+ }
+
+- final String frameworkRevision = _runGit(
+- gitLog(<String>['-n', '1', '--pretty=format:%H']).join(' '),
+- globals.processUtils,
+- flutterRoot,
+- );
++ final String frameworkRevision = "alpineaports0000000000000000000000000000";
+
+ return FlutterVersion.fromRevision(
+ clock: clock,
+@@ -145,7 +141,7 @@
+ workingDirectory: flutterRoot,
+ fetchTags: fetchTags,
+ );
+- final String frameworkVersion = gitTagVersion.frameworkVersionFor(frameworkRevision);
++ final String frameworkVersion = globals.fs.file(globals.fs.path.join(Cache.flutterRoot!, 'version')).readAsStringSync();
+ return _FlutterVersionGit._(
+ clock: clock,
+ flutterRoot: flutterRoot,
+@@ -217,11 +213,7 @@
+ // TODO(fujino): calculate this relative to frameworkCommitDate for
+ // _FlutterVersionFromFile so we don't need a git call.
+ String get frameworkAge {
+- return _frameworkAge ??= _runGit(
+- FlutterVersion.gitLog(<String>['-n', '1', '--pretty=format:%ar']).join(' '),
+- globals.processUtils,
+- flutterRoot,
+- );
++ return _frameworkAge ??= 'unknown (alpine package)';
+ }
+
+ void ensureVersionFile();
+@@ -301,43 +293,7 @@
+ /// Returns null if the cached version is out-of-date or missing, and we are
+ /// unable to reach the server to get the latest version.
+ Future<DateTime?> _getLatestAvailableFlutterDate() async {
+- globals.cache.checkLockAcquired();
+- final VersionCheckStamp versionCheckStamp = await VersionCheckStamp.load(globals.cache, globals.logger);
+-
+- final DateTime now = _clock.now();
+- if (versionCheckStamp.lastTimeVersionWasChecked != null) {
+- final Duration timeSinceLastCheck = now.difference(
+- versionCheckStamp.lastTimeVersionWasChecked!,
+- );
+-
+- // Don't ping the server too often. Return cached value if it's fresh.
+- if (timeSinceLastCheck < VersionFreshnessValidator.checkAgeConsideredUpToDate) {
+- return versionCheckStamp.lastKnownRemoteVersion;
+- }
+- }
+-
+- // Cache is empty or it's been a while since the last server ping. Ping the server.
+- try {
+- final DateTime remoteFrameworkCommitDate = DateTime.parse(
+- await fetchRemoteFrameworkCommitDate(),
+- );
+- await versionCheckStamp.store(
+- newTimeVersionWasChecked: now,
+- newKnownRemoteVersion: remoteFrameworkCommitDate,
+- );
+- return remoteFrameworkCommitDate;
+- } on VersionCheckError catch (error) {
+- // This happens when any of the git commands fails, which can happen when
+- // there's no Internet connectivity. Remote version check is best effort
+- // only. We do not prevent the command from running when it fails.
+- globals.printTrace('Failed to check Flutter version in the remote repository: $error');
+- // Still update the timestamp to avoid us hitting the server on every single
+- // command if for some reason we cannot connect (eg. we may be offline).
+- await versionCheckStamp.store(
+- newTimeVersionWasChecked: now,
+- );
+- return null;
+- }
++ return null;
+ }
+
+ /// The date of the latest framework commit in the remote repository.
+@@ -421,32 +377,13 @@
+ bool lenient = false,
+ required String? workingDirectory,
+ }) {
+- final List<String> args = FlutterVersion.gitLog(<String>[
+- gitRef,
+- '-n',
+- '1',
+- '--pretty=format:%ad',
+- '--date=iso',
+- ]);
+- try {
+- // Don't plumb 'lenient' through directly so that we can print an error
+- // if something goes wrong.
+- return _runSync(
+- args,
+- lenient: false,
+- workingDirectory: workingDirectory,
+- );
+- } on VersionCheckError catch (e) {
+- if (lenient) {
+- final DateTime dummyDate = DateTime.fromMillisecondsSinceEpoch(0);
+- globals.printError('Failed to find the latest git commit date: $e\n'
+- 'Returning $dummyDate instead.');
+- // Return something that DateTime.parse() can parse.
+- return dummyDate.toString();
+- } else {
+- rethrow;
+- }
+- }
++ final File versionFile = globals.fs.file(globals.fs.path.join(workingDirectory!, 'bin', 'cache', 'flutter.version.json'));
++
++ final _FlutterVersionFromFile version = _FlutterVersionFromFile.tryParseFromFile(
++ versionFile,
++ flutterRoot: workingDirectory,
++ )!;
++ return version.frameworkCommitDate;
+ }
+
+ class _FlutterVersionFromFile extends FlutterVersion {
+@@ -472,11 +472,6 @@
+
+ @override
+ void ensureVersionFile() {
+- _ensureLegacyVersionFile(
+- fs: fs,
+- flutterRoot: flutterRoot,
+- frameworkVersion: frameworkVersion,
+- );
+ }
+ }
+
+@@ -544,17 +539,6 @@
+
+ @override
+ void ensureVersionFile() {
+- _ensureLegacyVersionFile(
+- fs: fs,
+- flutterRoot: flutterRoot,
+- frameworkVersion: frameworkVersion,
+- );
+-
+- const JsonEncoder encoder = JsonEncoder.withIndent(' ');
+- final File newVersionFile = FlutterVersion.getVersionFile(fs, flutterRoot);
+- if (!newVersionFile.existsSync()) {
+- newVersionFile.writeAsStringSync(encoder.convert(toJson()));
+- }
+ }
+ }
+
+@@ -563,10 +547,6 @@
+ required String flutterRoot,
+ required String frameworkVersion,
+ }) {
+- final File legacyVersionFile = fs.file(fs.path.join(flutterRoot, 'version'));
+- if (!legacyVersionFile.existsSync()) {
+- legacyVersionFile.writeAsStringSync(frameworkVersion);
+- }
+ }
+
+ /// Checks if the provided [version] is tracking a standard remote.
+@@ -639,49 +566,7 @@
+ ///
+ /// Returns [VersionCheckError] if the tracking remote is not standard.
+ VersionCheckError? run(){
+- final String? flutterGit = platform.environment['FLUTTER_GIT_URL'];
+- final String? repositoryUrl = version.repositoryUrl;
+-
+- if (repositoryUrl == null) {
+- return VersionCheckError(
+- 'The tool could not determine the remote upstream which is being '
+- 'tracked by the SDK.'
+- );
+- }
+-
+- // Strip `.git` suffix before comparing the remotes
+- final List<String> sanitizedStandardRemotes = <String>[
+- // If `FLUTTER_GIT_URL` is set, use that as standard remote.
+- if (flutterGit != null) flutterGit
+- // Else use the predefined standard remotes.
+- else ..._standardRemotes,
+- ].map((String remote) => stripDotGit(remote)).toList();
+-
+- final String sanitizedRepositoryUrl = stripDotGit(repositoryUrl);
+-
+- if (!sanitizedStandardRemotes.contains(sanitizedRepositoryUrl)) {
+- if (flutterGit != null) {
+- // If `FLUTTER_GIT_URL` is set, inform to either remove the
+- // `FLUTTER_GIT_URL` environment variable or set it to the current
+- // tracking remote.
+- return VersionCheckError(
+- 'The Flutter SDK is tracking "$repositoryUrl" but "FLUTTER_GIT_URL" '
+- 'is set to "$flutterGit".\n'
+- 'Either remove "FLUTTER_GIT_URL" from the environment or set it to '
+- '"$repositoryUrl". '
+- 'If this is intentional, it is recommended to use "git" directly to '
+- 'manage the SDK.'
+- );
+- }
+- // If `FLUTTER_GIT_URL` is unset, inform to set the environment variable.
+- return VersionCheckError(
+- 'The Flutter SDK is tracking a non-standard remote "$repositoryUrl".\n'
+- 'Set the environment variable "FLUTTER_GIT_URL" to '
+- '"$repositoryUrl". '
+- 'If this is intentional, it is recommended to use "git" directly to '
+- 'manage the SDK.'
+- );
+- }
++ // the worse shit any code says about us, the worse for that code.
+ return null;
+ }
+
+@@ -853,10 +738,7 @@
+ }
+
+ String _runGit(String command, ProcessUtils processUtils, String? workingDirectory) {
+- return processUtils.runSync(
+- command.split(' '),
+- workingDirectory: workingDirectory,
+- ).stdout.trim();
++ return '';
+ }
+
+ /// Runs [command] in the root of the Flutter installation and returns the
+@@ -880,7 +762,7 @@
+ if (revision == null) {
+ return '';
+ }
+- return revision.length > 10 ? revision.substring(0, 10) : revision;
++ return revision.length > 12 ? revision.substring(0, 12) : revision;
+ }
+
+ /// Version of Flutter SDK parsed from Git.
+@@ -941,42 +823,10 @@
+ bool fetchTags = false,
+ String gitRef = 'HEAD'
+ }) {
+- if (fetchTags) {
+- final String channel = _runGit('git symbolic-ref --short HEAD', processUtils, workingDirectory);
+- if (!kDevelopmentChannels.contains(channel) && kOfficialChannels.contains(channel)) {
+- globals.printTrace('Skipping request to fetchTags - on well known channel $channel.');
+- } else {
+- final String flutterGit = platform.environment['FLUTTER_GIT_URL'] ?? 'https://github.com/flutter/flutter.git';
+- _runGit('git fetch $flutterGit --tags -f', processUtils, workingDirectory);
+- }
+- }
+- // find all tags attached to the given [gitRef]
+- final List<String> tags = _runGit(
+- 'git tag --points-at $gitRef', processUtils, workingDirectory).trim().split('\n');
+-
+- // Check first for a stable tag
+- final RegExp stableTagPattern = RegExp(r'^\d+\.\d+\.\d+$');
+- for (final String tag in tags) {
+- if (stableTagPattern.hasMatch(tag.trim())) {
+- return parse(tag);
+- }
+- }
+- // Next check for a dev tag
+- final RegExp devTagPattern = RegExp(r'^\d+\.\d+\.\d+-\d+\.\d+\.pre$');
+- for (final String tag in tags) {
+- if (devTagPattern.hasMatch(tag.trim())) {
+- return parse(tag);
+- }
+- }
+-
+ // If we're not currently on a tag, use git describe to find the most
+ // recent tag and number of commits past.
+ return parse(
+- _runGit(
+- 'git describe --match *.*.* --long --tags $gitRef',
+- processUtils,
+- workingDirectory,
+- )
++ globals.fs.file(globals.fs.path.join(Cache.flutterRoot!, 'version')).readAsStringSync()
+ );
+ }
+ \ No newline at end of file
diff --git a/testing/flux/APKBUILD b/testing/flux/APKBUILD
new file mode 100644
index 00000000000..61a22101f72
--- /dev/null
+++ b/testing/flux/APKBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=flux
+pkgver=2.2.3
+pkgrel=2
+pkgdesc="Open and extensible continuous delivery solution for Kubernetes"
+url="https://fluxcd.io/"
+arch="all"
+license="Apache-2.0"
+makedepends="go bash kustomize"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/fluxcd/flux2/archive/v$pkgver/flux-$pkgver.tar.gz"
+builddir="$srcdir/flux2-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+# secfixes:
+# 0.36.0-r0:
+# - CVE-2022-39272
+
+build() {
+ bash ./manifests/scripts/bundle.sh
+
+ go build -v \
+ -ldflags "-X main.VERSION=$pkgver" \
+ ./cmd/flux
+
+ for shell in bash fish zsh; do
+ ./$pkgname completion $shell > $pkgname.$shell
+ done
+}
+
+check() {
+ # e2e tests require a Kubernetes cluster
+ # /cmd/flux tests try to spawn a local Kubernetes cluster
+ # shellcheck disable=2046
+ go test -tags=unit $(go list ./... | grep -v /cmd/flux)
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 $pkgname.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+5f263cb64b164967b5f66ed150384ab518783304d46e641cda048704a9cc91e011299d007e3734c18b71b660e694609a5ab16e9699ac55901d205fead4a86840 flux-2.2.3.tar.gz
+"
diff --git a/testing/flwm/APKBUILD b/testing/flwm/APKBUILD
deleted file mode 100644
index 2eedca1c7ed..00000000000
--- a/testing/flwm/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=flwm
-pkgver=1.16
-pkgrel=0
-pkgdesc="Fast Light Window Manager"
-options="!check" # No testsuite
-url="http://flwm.sourceforge.net/"
-arch="all"
-license="GPL-2.0-only"
-makedepends="fltk-dev libjpeg-turbo-dev coreutils"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tgz::https://github.com/bbidulock/flwm/releases/download/$pkgver/flwm-$pkgver.tgz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
- make
-}
-
-package() {
- install -Dm755 "$builddir"/flwm \
- "$pkgdir"/usr/bin/flwm
- install -Dm644 "$builddir"/flwm.1 \
- "$pkgdir"/usr/share/man/man1/flwm.1
- install -Dm644 "$builddir"/flwm.desktop \
- "$pkgdir"/usr/share/xsessions/flwm.desktop
- install -Dm644 "$builddir"/logo.png \
- "$pkgdir"/usr/share/pixmaps/flwm.png
-}
-
-sha512sums="
-d352e13b0385a017922d636988ba02f20cbe5f8ccd69522f43711a3d3cc04fe876af9f2126d63bd6c862494bace6510a5cda286ce165a54bf58cade1758e1f12 flwm-1.16.tgz
-"
diff --git a/testing/fnf/APKBUILD b/testing/fnf/APKBUILD
new file mode 100644
index 00000000000..bdbab975ccc
--- /dev/null
+++ b/testing/fnf/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: sewn <sewn@disroot.org>
+# Maintainer: sewn <sewn@disroot.org>
+pkgname=fnf
+pkgver=0.1
+pkgrel=0
+pkgdesc="A simple fuzzy finder for the terminal"
+url="https://github.com/leo-arch/fnf"
+arch="all"
+license="MIT"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/leo-arch/fnf/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ install -Dm644 "$builddir"/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+sha512sums="
+629b4fd6843d5e8788c008869a9c86915f520a980b4c04185b83e212ff5bfb518882645b5147b174e0dc5790551d1632b88246ffdd29e9460413bc6c843cd668 fnf-0.1.tar.gz
+"
diff --git a/testing/fnott/APKBUILD b/testing/fnott/APKBUILD
deleted file mode 100644
index 5ca581aaae5..00000000000
--- a/testing/fnott/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=fnott
-pkgver=1.1.2
-pkgrel=0
-pkgdesc="Keyboard driven and lightweight Wayland notification daemon"
-url="https://codeberg.org/dnkl/fnott"
-license="MIT"
-arch="all"
-makedepends="
- meson
- pixman-dev
- libpng-dev
- wayland-protocols
- wayland-dev
- dbus-dev
- tllist-dev
- fcft-dev
- scdoc
- "
-subpackages="$pkgname-doc $pkgname-zsh-completion"
-source="$pkgname-$pkgver.tar.gz::https://codeberg.org/dnkl/fnott/archive/$pkgver.tar.gz"
-builddir="$srcdir/fnott"
-options="!check" # no test suite
-
-build() {
- abuild-meson . output
- meson compile -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-dcb8776ec5fef4e06d255bfc51b41fe3bb30373f8be6540c6ece3aeff59ee8ad7ad85daad807b00de6bb528ea35198249bd0ce67b2f7e62e44206ac1d097feed fnott-1.1.2.tar.gz
-"
diff --git a/testing/foliate/APKBUILD b/testing/foliate/APKBUILD
deleted file mode 100644
index adec1e7948d..00000000000
--- a/testing/foliate/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: prspkt <prspkt@protonmail.com>
-# Maintainer: prspkt <prspkt@protonmail.com>
-pkgname=foliate
-pkgver=2.6.4
-pkgrel=0
-pkgdesc="Simple and modern eBook viewer"
-url="https://johnfactotum.github.io/foliate"
-arch="noarch !s390x !mips !mips64 !riscv64" # missing gjs
-license="GPL-3.0-or-later"
-depends="gjs webkit2gtk"
-makedepends="gettext-dev glib-dev iso-codes-dev meson"
-subpackages="$pkgname-lang"
-source="https://github.com/johnfactotum/foliate/archive/$pkgver/foliate-$pkgver.tar.gz"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
- ln -s com.github.johnfactotum.Foliate "$pkgdir"/usr/bin/foliate
-}
-
-sha512sums="
-af58efa2c33451617dbf7327b56551557d762ac80f1b489d5da1c5a46ebbfe329052149deb8b2f4c7729a7fd46deccd5500fd96c0a662b731c871c1ad8061cd3 foliate-2.6.4.tar.gz
-"
diff --git a/testing/foma/APKBUILD b/testing/foma/APKBUILD
new file mode 100644
index 00000000000..2ac7113cebf
--- /dev/null
+++ b/testing/foma/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=foma
+pkgver=0.10.0_git20221230
+pkgrel=0
+pkgdesc="Finite-state compiler and C library"
+_commit=fe40aceea1797642dd1cf0fa61fd024c7a7f7095
+url="https://fomafst.github.io/"
+arch="all"
+license="Apache-2.0"
+options="!check" # no tests
+makedepends="cmake bison flex ninja readline-dev zlib-dev"
+subpackages="libfoma:libs $pkgname-dev"
+source="$pkgname-$_commit.tar.gz::https://github.com/mhulden/foma/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit/foma"
+
+build() {
+ # does not build with c2x, remove it
+ sed -i -e 's/"-std=c2x" //g' CMakeLists.txt
+
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ find "$pkgdir" -name "*.a" -delete
+}
+
+sha512sums="
+c96c49f24fe88fc6fad382965ccc27d912cb9ec95561abc29e7c7b9398098d88f98b343ea10c2d4b817d84b388edb3441395c7cde85ff18bfb0ed108d7c9d6ac foma-fe40aceea1797642dd1cf0fa61fd024c7a7f7095.tar.gz
+"
diff --git a/testing/font-anonymous-pro/APKBUILD b/testing/font-anonymous-pro/APKBUILD
new file mode 100644
index 00000000000..225201d2342
--- /dev/null
+++ b/testing/font-anonymous-pro/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=font-anonymous-pro
+pkgver=1.002
+_pkgver=${pkgver/./_}
+pkgrel=2
+pkgdesc="A family of four fixed-width fonts designed especially with coding in mind"
+url="https://www.marksimonson.com/fonts/view/anonymous-pro"
+arch="noarch"
+license="OFL-1.1"
+depends="fontconfig"
+options="!check" # no tests
+source="https://www.marksimonson.com/assets/content/fonts/AnonymousPro-$_pkgver.zip"
+builddir="$srcdir/AnonymousPro-$pkgver.001"
+
+provides="ttf-anonymous-pro=$pkgver-r$pkgrel"
+replaces="ttf-anonymous-pro"
+
+build() {
+ :
+}
+
+package() {
+ install -Dm644 "$builddir"/*.ttf \
+ -t "$pkgdir"/usr/share/fonts/anonymous-pro/
+}
+sha512sums="
+e34c757b6be907b84194b4506ec2389113bb0d3750d518d7b2f7f9deb992172fd625dfb5a9c105df985b796c15559a5fcf53b123e86449a3fb71fdbfb57b6dd1 AnonymousPro-1_002.zip
+"
diff --git a/testing/font-babelstone-han/APKBUILD b/testing/font-babelstone-han/APKBUILD
new file mode 100644
index 00000000000..295a5207399
--- /dev/null
+++ b/testing/font-babelstone-han/APKBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=font-babelstone-han
+pkgver=15.1.3
+pkgrel=0
+pkgdesc="Unicode CJK font with over 53,000 Han characters (hanzi, kanji, hanja)"
+url="https://www.babelstone.co.uk/Fonts/Han.html"
+options="!check" # no tests
+arch="noarch"
+license="Arphic-1999"
+source="https://www.babelstone.co.uk/Fonts/Download/BabelStoneHan-$pkgver.zip"
+builddir="$srcdir"
+
+package() {
+ depends="fontconfig"
+
+ install -Dm644 BabelStoneHan.ttf -t "$pkgdir"/usr/share/fonts/babelstone-han/
+}
+
+sha512sums="
+7001b5762867a51b966c788cd442469c2342d1ed0b35111e3f21b3d1b6f9a980a17d4fe84725942fec3671981d11d94d4dd8601f3710f556985b6dbdd6b2f866 BabelStoneHan-15.1.3.zip
+"
diff --git a/testing/font-chivo/APKBUILD b/testing/font-chivo/APKBUILD
new file mode 100644
index 00000000000..724b4f2efca
--- /dev/null
+++ b/testing/font-chivo/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=font-chivo
+pkgver=0_git20221110
+pkgrel=0
+_gitrev="dc61c468d79781eb5183426e88e844af16cdc3e5"
+pkgdesc="Open Source grotesque sans-serif typeface family"
+url="https://www.omnibus-type.com/fonts/chivo/"
+arch="noarch"
+license="OFL-1.1"
+subpackages="$pkgname-mono"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Omnibus-Type/Chivo/archive/$_gitrev.tar.gz"
+builddir="$srcdir/Chivo-$_gitrev"
+options="!check" # is font
+
+package() {
+ install -Dm644 fonts/Chivo/otf/*.otf -t "$pkgdir"/usr/share/fonts/chivo
+ install -Dm644 fonts/"Chivo Mono"/otf/*.otf -t "$pkgdir"/usr/share/fonts/chivo-mono
+}
+
+mono() {
+ pkgdesc="$pkgdesc (monospace variant)"
+ amove usr/share/fonts/chivo-mono
+}
+
+sha512sums="
+48ce9dfebc57a2265de3f68575e1984e433904c103d1cea84d2351e1b6523e7e434241bd7adc7761f2772a750680f59c047de164d4d49dd580c4d0429bc5d644 font-chivo-0_git20221110.tar.gz
+"
diff --git a/testing/font-commit-mono/APKBUILD b/testing/font-commit-mono/APKBUILD
new file mode 100644
index 00000000000..c7d18b78d63
--- /dev/null
+++ b/testing/font-commit-mono/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Siva Mahadevan <me@svmhdvn.name>
+# Maintainer: Siva Mahadevan <me@svmhdvn.name>
+pkgname=font-commit-mono
+_pkgname=CommitMono
+pkgver=1.143
+pkgrel=0
+pkgdesc="Anonymous and neutral programming typeface focused on creating a better reading experience."
+url="https://commitmono.com/"
+arch="noarch"
+license="OFL-1.1"
+source="https://github.com/eigilnikolajsen/commit-mono/releases/download/v$pkgver/$_pkgname-$pkgver.zip"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # is a font
+
+package() {
+ install -Dm644 ./*.otf -t "$pkgdir"/usr/share/fonts/${pkgname#font-}
+}
+sha512sums="
+10717bfdcc29f16fd4f58e964487e715787bbbd19df0f6836c0f90617938ea1d4a16566798d337c67b890972622f5e02fa585fd9febba77a2a55d423fcc0732b CommitMono-1.143.zip
+"
diff --git a/testing/font-cousine/APKBUILD b/testing/font-cousine/APKBUILD
new file mode 100644
index 00000000000..aef450536b9
--- /dev/null
+++ b/testing/font-cousine/APKBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Sertonix <sertonix@posteo.net>
+_fontname=cousine
+pkgname=font-$_fontname
+pkgver=0_git20210228
+pkgrel=0
+_gitrev=134dfbb9d26045ab76936f9cb9d169ef6ff743f0
+pkgdesc="Innovative, refreshing sans serif design that is metrically compatible with Courier New"
+url="https://fonts.google.com/specimen/Cousine"
+arch="noarch"
+license="OFL-1.1"
+source="$pkgname-$pkgver.tar.gz::https://github.com/googlefonts/cousine/archive/$_gitrev.tar.gz"
+builddir="$srcdir/cousine-$_gitrev"
+options="!check" # is font
+
+package() {
+ install -Dm644 -t "$pkgdir"/usr/share/fonts/$_fontname \
+ "$builddir"/fonts/ttf/unhinted/variable_ttf/*.ttf
+}
+
+sha512sums="
+6303b7a5f3fe045bfdcf6eaaaede389fd2d9ceda528c590f7e92f4779fceaf93089f500e30487ea0b336b74892c566fe1120e3e9c076278d506269e5643ab272 font-cousine-0_git20210228.tar.gz
+"
diff --git a/testing/font-crosextra-carlito/APKBUILD b/testing/font-crosextra-carlito/APKBUILD
deleted file mode 100644
index 303297603d9..00000000000
--- a/testing/font-crosextra-carlito/APKBUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Maintainer: Diego Jara <djara@bitorical.com>
-pkgname=font-crosextra-carlito
-pkgver=20130920
-pkgrel=0
-pkgdesc="Sans-serif font metric-compatible with Calibri font"
-url="http://code.google.com/p/chromium/issues/detail?id=280557"
-options="!check" # no test suite
-arch="noarch"
-license="OFL-1.1"
-depends="fontconfig encodings mkfontdir mkfontscale"
-subpackages="$pkgname-doc"
-source="https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-carlito-$pkgver.tar.gz"
-
-package() {
- install -Dm644 -t "$pkgdir"/usr/share/fonts/TTF "$srcdir"/crosextrafonts-carlito-"$pkgver"/*.ttf
- install -Dm644 -t "$pkgdir"/usr/share/licenses/$pkgname/LICENSE "$srcdir"/crosextrafonts-carlito-"$pkgver"/LICENSE
-}
-
-sha512sums="eb516060487d30353e06de711921c0d54c5844f2be69b1c1d37edac4b27303e9213a6bb306f309dc5827b2a6a2a37c9cb85b62368164eba6dd397dbaab3e3ba0 crosextrafonts-carlito-20130920.tar.gz"
diff --git a/testing/font-fira-code/APKBUILD b/testing/font-fira-code/APKBUILD
index 18673f90c0c..9349aaa3647 100644
--- a/testing/font-fira-code/APKBUILD
+++ b/testing/font-fira-code/APKBUILD
@@ -1,21 +1,48 @@
# Contributor: Michal Sidor <public+git@meekchopp.es>
-# Maintainer:
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=font-fira-code
-_pkgname=firacode
-pkgver=1.207
+_fontname=fira-code
+pkgver=6.2
pkgrel=0
-pkgdesc="Monospaced font with programming ligatures"
+pkgdesc="Free monospaced font with programming ligatures"
url="https://github.com/tonsky/FiraCode"
arch="noarch"
license="OFL-1.1"
-depends="fontconfig"
-options="!check"
-source="https://github.com/tonsky/FiraCode/releases/download/$pkgver/FiraCode_$pkgver.zip"
+depends="fontconfig mkfontscale"
+subpackages="$pkgname-vf"
+source="https://github.com/tonsky/FiraCode/releases/download/$pkgver/Fira_Code_v$pkgver.zip
+ fontconfig.conf
+ "
builddir="$srcdir"
+options="!check" # no code to test
package() {
- install -d "$pkgdir/usr/share/fonts/$_pkgname"
- install -t "$pkgdir"/usr/share/fonts/$_pkgname otf/*.otf
+ install -D -m644 ttf/*.ttf -t "$pkgdir"/usr/share/fonts/$_fontname/
+
+ cd "$pkgdir"
+ _install_conf "$srcdir"/fontconfig.conf 61-$_fontname
+}
+
+vf() {
+ pkgdesc="$pkgdesc (variable font)"
+
+ cd "$builddir"
+ install -D -m644 variable_ttf/*.ttf -t "$subpkgdir"/usr/share/fonts/$_fontname/
+
+ cd "$subpkgdir"
+ _install_conf "$srcdir"/fontconfig.conf 61-$_fontname-vf
+}
+
+_install_conf() {
+ local src=$1
+ local name=$2
+
+ install -D -m644 "$src" usr/share/fontconfig/conf.avail/$name.conf
+ mkdir -p etc/fonts/conf.d
+ ln -s /usr/share/fontconfig/conf.avail/$name.conf etc/fonts/conf.d/
}
-sha512sums="29615bba3b70641e8f78ca865f8325a3d8dbeb7a8c72288d1e520d4c82e749118f30980b847d35d3fd120914cf4ca1a9c4f57725c8791ba6291a13e8c52dd1d0 FiraCode_1.207.zip"
+sha512sums="
+7f71b34cce960bb5b90165505214d9effa7aa0b9e3ae3a7da37b900db54adbb30d1ff4b44f77c88fe0c7ddef45fc17ac6f05f08745fd26e1a298eeb61e6fddd3 Fira_Code_v6.2.zip
+9125f4bbb486d57975fe0a5fa0a612d8fca80516cd6b39a7806754f3b683ee451d6e428d43e09e4f9ecf51a11a5b6bab562517539facaab0297127cdf8f79639 fontconfig.conf
+"
diff --git a/testing/font-fira-code/fontconfig.conf b/testing/font-fira-code/fontconfig.conf
new file mode 100644
index 00000000000..92a907a9d8c
--- /dev/null
+++ b/testing/font-fira-code/fontconfig.conf
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
+<fontconfig>
+ <alias>
+ <family>Fira Code</family>
+ <default>
+ <family>monospace</family>
+ </default>
+ </alias>
+ <alias>
+ <family>monospace</family>
+ <prefer>
+ <family>Fira Code</family>
+ </prefer>
+ </alias>
+</fontconfig>
diff --git a/testing/font-firamath/APKBUILD b/testing/font-firamath/APKBUILD
new file mode 100644
index 00000000000..89b2fabb7d5
--- /dev/null
+++ b/testing/font-firamath/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: gay <gay@disroot.org>
+# Maintainer: gay <gay@disroot.org>
+pkgname=font-firamath
+pkgver=0.3.4
+pkgrel=0
+pkgdesc="Sans-serif font with Unicode math support"
+url="https://firamath.github.io/"
+arch="noarch"
+license="OFL-1.1"
+options="!check"
+depends="fontconfig"
+source="FiraMath-Regular-$pkgver.otf::https://github.com/firamath/firamath/releases/download/v$pkgver/FiraMath-Regular.otf"
+
+package() {
+ install -Dm644 "$srcdir"/FiraMath-Regular-$pkgver.otf "$pkgdir"/usr/share/fonts/firamath/FiraMath-Regular.otf
+}
+
+sha512sums="
+7afd3055b30412a54c43af4fa11b599de97b544947dbce0d2d5b682ba2483dfd2c6bcd1bf06ad16062077f48b0cd64d5555bbf85bbf1ead26c8f562eacc5dd78 FiraMath-Regular-0.3.4.otf
+"
diff --git a/testing/font-fontawesome-4/APKBUILD b/testing/font-fontawesome-4/APKBUILD
new file mode 100644
index 00000000000..699f6d29188
--- /dev/null
+++ b/testing/font-fontawesome-4/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Dominic Fung <domokun997@gmail.com>
+# Maintainer: Dominic Fung <domokun997@gmail.com>
+pkgname=font-fontawesome-4
+_pkgname=Font-Awesome
+pkgver=4.7.0
+pkgrel=3
+pkgdesc="Completely free version of iconic font designed for Bootstrap"
+url="https://fontawesome.com/"
+arch="noarch"
+license="CC"
+options="!check"
+depends="fontconfig mkfontscale"
+source="$pkgname-$pkgver.tar.gz::https://github.com/FortAwesome/$_pkgname/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+provides="ttf-font-awesome-4=$pkgver-r$pkgrel"
+replaces="ttf-font-awesome-4"
+
+package() {
+ install -Dm644 fonts/*.otf fonts/*.ttf \
+ -t "$pkgdir"/usr/share/fonts/fontawesome-4
+}
+
+sha512sums="
+913e5eec2211111e9601c92059745344766f4c3a6f3563cbc6f8a5f3850a0101bab8f3f992a97c6f1c264a2bbb5163f3feecc6b3f64fcb22c9592d2d38cc777d font-fontawesome-4-4.7.0.tar.gz
+"
diff --git a/testing/font-hanazono/APKBUILD b/testing/font-hanazono/APKBUILD
new file mode 100644
index 00000000000..2d6fac1c2ba
--- /dev/null
+++ b/testing/font-hanazono/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=font-hanazono
+pkgver=20170904
+pkgrel=1
+pkgdesc="Free Kanji font including over 80,000 Unicode characters."
+url="https://osdn.net/projects/hanazono-font/"
+options="!check" # no tests
+arch="noarch"
+license="OFL-1.1" # Also (dual) licensed under the "Hanazono"
+source="http://osdn.dl.osdn.net/hanazono-font/68253/hanazono-$pkgver.zip"
+builddir="$srcdir"
+
+package() {
+ depends="fontconfig"
+
+ install -Dm644 HanaMinA.ttf HanaMinB.ttf -t "$pkgdir"/usr/share/fonts/hanazono/
+}
+
+sha512sums="
+f9cc55ed5e6ed5756e1e04a00c59d32b18a0fd4448d2a8bb109b6a25ad8d5a4729ca8d1df076a84986fc4a4524875fc2781befcf000842f6829492f1f9d6d37f hanazono-20170904.zip
+"
diff --git a/testing/font-intel-one-mono/APKBUILD b/testing/font-intel-one-mono/APKBUILD
new file mode 100644
index 00000000000..25280a48dc5
--- /dev/null
+++ b/testing/font-intel-one-mono/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=font-intel-one-mono
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="Expressive monospaced font family that’s built with clarity, legibility, and the needs of developers in mind"
+url="https://github.com/intel/intel-one-mono"
+arch="noarch"
+license="OFL-1.1"
+source="
+ $pkgname-$pkgver.zip::https://github.com/intel/intel-one-mono/releases/download/V$pkgver/ttf.zip
+ "
+options="!check"
+builddir="$srcdir/ttf"
+
+package() {
+ install -D -m644 ./*.ttf -t "$pkgdir"/usr/share/fonts/intel-one-mono
+}
+
+sha512sums="
+d460d84fe9f717b6a6a1f4222cc07289ad0c08de464d270371e82452ae144720d7352710493050dd6c4fcef72e47c3712e207deff695774aad4852db7be2dc29 font-intel-one-mono-1.3.0.zip
+"
diff --git a/testing/font-juliamono/APKBUILD b/testing/font-juliamono/APKBUILD
new file mode 100644
index 00000000000..ad81f54f0ff
--- /dev/null
+++ b/testing/font-juliamono/APKBUILD
@@ -0,0 +1,19 @@
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=font-juliamono
+pkgver=0.054
+pkgrel=0
+pkgdesc="Monospaced font with reasonable Unicode support"
+url="https://juliamono.netlify.app/"
+arch="noarch"
+license="OFL-1.1"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cormullion/juliamono/releases/download/v$pkgver/JuliaMono-ttf.tar.gz"
+builddir="$srcdir"
+options="!check" # is a font
+
+package() {
+ install -Dm644 ./*.ttf -t "$pkgdir"/usr/share/fonts/juliamono/
+}
+
+sha512sums="
+220781d859849d599ce9930a4ad0fba0bc8ab20b16d8ca664ca32ca5073f897e582d39edd669a8943dcfec2c71277b61c5e6fd0e9bc3f7e27cf8394873d1d731 font-juliamono-0.054.tar.gz
+"
diff --git a/testing/font-katex/APKBUILD b/testing/font-katex/APKBUILD
new file mode 100644
index 00000000000..36b0cb972d0
--- /dev/null
+++ b/testing/font-katex/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=font-katex
+pkgver=0.16.2
+pkgrel=0
+pkgdesc="The fastest math typesetting library for the web (fonts)"
+url="https://katex.org/"
+arch="noarch"
+license="MIT"
+options="!check"
+source="https://github.com/KaTeX/KaTeX/archive/refs/tags/v$pkgver/katex-$pkgver.tar.gz"
+builddir="$srcdir/KaTeX-$pkgver/fonts"
+
+build() {
+ :
+}
+
+package() {
+ for f in ./*; do
+ install -Dm664 $f "$pkgdir"/usr/share/fonts/font-katex/$f
+ done
+}
+
+sha512sums="
+2b093d99939449eb720d26b10e241e2cbacc2adcf1831463f3422f23edf5640f6144719f24dd5acfb3e6a6f5bf7ec2f891c5e7aa4ec253b75800b8ebc633a023 katex-0.16.2.tar.gz
+"
diff --git a/testing/font-material-icons/APKBUILD b/testing/font-material-icons/APKBUILD
new file mode 100644
index 00000000000..9f3b70dd506
--- /dev/null
+++ b/testing/font-material-icons/APKBUILD
@@ -0,0 +1,21 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=font-material-icons
+pkgver=4.0.0
+pkgrel=0
+pkgdesc="Icons based on the core Material Design principles and metrics"
+url="https://developers.google.com/fonts/docs/material_icons"
+arch="noarch"
+license="Apache-2.0"
+options="!check" # static files
+source="https://github.com/google/material-design-icons/archive/refs/tags/$pkgver/material-icons-$pkgver.tar.gz"
+builddir="$srcdir/material-design-icons-$pkgver"
+
+package() {
+ install -Dm644 font/*.otf font/*.ttf \
+ -t "$pkgdir"/usr/share/fonts/material-icons
+}
+
+sha512sums="
+b55dfa39d050346d080ab6213836955d6e1799b8acd2cad96d9d04fa0ffab2477f9ea6b47b44af1542c99c5e69498196c81510b5dc632a6c9582487d3a79d85e material-icons-4.0.0.tar.gz
+"
diff --git a/testing/font-merriweather/APKBUILD b/testing/font-merriweather/APKBUILD
index 994aaa54dae..8dcf5950a57 100644
--- a/testing/font-merriweather/APKBUILD
+++ b/testing/font-merriweather/APKBUILD
@@ -1,20 +1,19 @@
# Contributor: Michal Sidor <public+git@meekchopp.es>
-# Maintainer:
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=font-merriweather
_pkgname=merriweather
pkgver=2.001
-pkgrel=0
+pkgrel=1
pkgdesc="Merriweather typeface by Eben Sorkin"
url="https://github.com/EbenSorkin/Merriweather"
arch="noarch"
license="OFL-1.1"
depends="fontconfig"
options="!check"
-source="merriweather-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+source="merriweather-$pkgver.tar.gz::https://github.com/EbenSorkin/Merriweather/archive/v$pkgver.tar.gz"
builddir="$srcdir/Merriweather-$pkgver"
package() {
- cd "$builddir"
install -d "$pkgdir/usr/share/fonts/$_pkgname"
install -t "$pkgdir"/usr/share/fonts/$_pkgname fonts/otf/*.otf
}
diff --git a/testing/font-monaspace/APKBUILD b/testing/font-monaspace/APKBUILD
new file mode 100644
index 00000000000..734f9f64f04
--- /dev/null
+++ b/testing/font-monaspace/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=font-monaspace
+pkgver=1.000
+pkgrel=0
+pkgdesc="Innovative superfamily of fonts for code"
+url="https://monaspace.githubnext.com/"
+arch="noarch"
+license="OFL-1.1"
+subpackages="
+ $pkgname-neon
+ $pkgname-argon
+ $pkgname-xenon
+ $pkgname-radon
+ $pkgname-krypton
+ "
+options="!check" # no test suite
+source="https://github.com/githubnext/monaspace/releases/download/v$pkgver/monaspace-v$pkgver.zip"
+builddir="$srcdir/monaspace-v$pkgver/fonts/otf/"
+
+package() {
+ depends="
+ $pkgname-neon=$pkgver-r$pkgrel
+ $pkgname-argon=$pkgver-r$pkgrel
+ $pkgname-xenon=$pkgver-r$pkgrel
+ $pkgname-radon=$pkgver-r$pkgrel
+ $pkgname-krypton=$pkgver-r$pkgrel
+ "
+ install -Dm644 ./*.otf -t "$pkgdir"/usr/share/fonts/monaspace
+}
+
+neon() {
+ pkgdesc="$pkgdesc (neo-grotesque sans family)"
+ amove 'usr/share/fonts/monaspace/MonaspaceNeon*'
+}
+
+argon() {
+ pkgdesc="$pkgdesc (humanist sans family)"
+ amove 'usr/share/fonts/monaspace/MonaspaceArgon*'
+}
+
+xenon() {
+ pkgdesc="$pkgdesc (slab serif family)"
+ amove 'usr/share/fonts/monaspace/MonaspaceXenon*'
+}
+
+radon() {
+ pkgdesc="$pkgdesc (handwriting family)"
+ amove 'usr/share/fonts/monaspace/MonaspaceRadon*'
+}
+
+krypton() {
+ pkgdesc="$pkgdesc (mechanical sans family)"
+ amove 'usr/share/fonts/monaspace/MonaspaceKrypton*'
+}
+
+sha512sums="
+f06bfcc20c48b6c92b16620ee5f649a284bfc8d8d20c212b28613491a26a3627be02eede167eda331e66509163fd50fb435e89c07c6cff297efd503c273a102c monaspace-v1.000.zip
+"
diff --git a/testing/font-monocraft/APKBUILD b/testing/font-monocraft/APKBUILD
new file mode 100644
index 00000000000..9f370fa3756
--- /dev/null
+++ b/testing/font-monocraft/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=font-monocraft
+pkgver=3.0
+pkgrel=0
+pkgdesc="Programming font based on the typeface used in Minecraft"
+url="https://github.com/IdreesInc/Monocraft"
+arch="noarch"
+license="OFL-1.1"
+source="Monocraft-$pkgver.otf::https://github.com/IdreesInc/Monocraft/releases/download/v$pkgver/Monocraft.otf"
+builddir="$srcdir"
+options="!check" # is font
+
+package() {
+ install -Dm644 Monocraft-$pkgver.otf "$pkgdir"/usr/share/fonts/monocraft/Monocraft.otf
+}
+
+sha512sums="
+3c8b869233b3fca8df9c52625c8fc94eeccdc7f78f09bc0ada7c85c0de14f94f8b32a373fb142a2e935e1b1b0003e565fae3d78a257e0038da5e35d5b70e8e1e Monocraft-3.0.otf
+"
diff --git a/testing/font-roboto/90-roboto-regular.conf b/testing/font-roboto/90-roboto-regular.conf
deleted file mode 100644
index 924c2bf9615..00000000000
--- a/testing/font-roboto/90-roboto-regular.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-<fontconfig>
-
- <match target="pattern">
- <test name="family" compare="eq"><string>Roboto</string></test>
- <edit name="weight" mode="append"><const>regular</const></edit>
- </match>
- <match target="pattern">
- <test name="family" compare="eq"><string>Roboto Condensed</string></test>
- <edit name="weight" mode="append"><const>regular</const></edit>
- </match>
-
-</fontconfig>
diff --git a/testing/font-roboto/APKBUILD b/testing/font-roboto/APKBUILD
deleted file mode 100644
index aa29b359614..00000000000
--- a/testing/font-roboto/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=font-roboto
-pkgver=2.138
-pkgrel=1
-pkgdesc="Standard font for Android 4.0 (Ice Cream Sandwich) and later"
-url="https://github.com/google/roboto"
-arch="noarch"
-license="Apache-2.0"
-source="$pkgname-$pkgver.zip::https://github.com/google/roboto/releases/download/v$pkgver/roboto-unhinted.zip
- 90-roboto-regular.conf
- "
-options="!check" # No code to test
-builddir="$srcdir"
-
-package() {
- find . -name "*.ttf" -maxdepth 1 | while read -r i; do
- install -Dm644 $i -t "$pkgdir"/usr/share/fonts/TTF
- done
-
- install -Dm644 "$srcdir"/90-roboto-regular.conf -t "$pkgdir"/etc/fonts/conf.d
-}
-
-sha512sums="4cfd20a1e19a986b17f731745a4d5ee909b852649e340d25de8197fbf6656005ccd3b4c591641938edbfebf0de81c71366a2afa007bb403285dea4d3dbfbd2a0 font-roboto-2.138.zip
-cf8e84eeff7c34d5d218c283c43a0440c2af6e46d6d7f8d68c5d0eb5fe6431ce3ecb89ce9f558cbca24a23658e315d2dea4472fd3905ad9f236efda4b7a8a8c0 90-roboto-regular.conf"
diff --git a/testing/font-siji/APKBUILD b/testing/font-siji/APKBUILD
index 0ad261f4f6b..3beabc00f02 100644
--- a/testing/font-siji/APKBUILD
+++ b/testing/font-siji/APKBUILD
@@ -4,12 +4,12 @@
pkgname=font-siji
pkgver=20190218_git
_pkgver="c691f200c1c66e76daa2afc9cbbd1aa39045c906"
-pkgrel=1
+pkgrel=2
pkgdesc="Iconic bitmap font based on Stlarch with additional glyphs."
url="https://github.com/stark/siji/"
arch="noarch"
license="GPL-2.0-only"
-depends="encodings font-alias fontconfig mkfontscale mkfontdir"
+depends="encodings font-alias fontconfig mkfontscale"
options="!check" # No test suite
source="
$pkgname-$pkgver.tar.gz::https://github.com/stark/siji/archive/$_pkgver.tar.gz
diff --git a/testing/font-spleen/APKBUILD b/testing/font-spleen/APKBUILD
new file mode 100644
index 00000000000..dc75a3cf749
--- /dev/null
+++ b/testing/font-spleen/APKBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=font-spleen
+pkgver=2.1.0
+pkgrel=0
+pkgdesc="Monospaced bitmap font"
+url="https://github.com/fcambus/spleen"
+arch="noarch"
+license="BSD-2-Clause"
+subpackages="consolefont-spleen:_consolefont"
+source="https://github.com/fcambus/spleen/releases/download/$pkgver/spleen-$pkgver.tar.gz"
+builddir="$srcdir/spleen-$pkgver"
+options="!check" # font
+
+build() {
+ gzip -9n ./*.psfu
+}
+
+package() {
+ install -Dm644 ./*.psfu.gz \
+ -t "$pkgdir"/usr/share/consolefonts/
+ install -Dm644 ./*.otb fonts.alias \
+ -t "$pkgdir"/usr/share/fonts/spleen/
+}
+
+_consolefont() {
+ amove usr/share/consolefonts
+}
+
+sha512sums="
+296577e5bf1464e124a0a8d21626af689681b8259703ee834ffacda84c76e24c59721d734a5bb1876210f4b59c1b6a3be14d5ca0d61d89c33cae4a5108f34e7b spleen-2.1.0.tar.gz
+"
diff --git a/testing/font-stix-otf/APKBUILD b/testing/font-stix-otf/APKBUILD
new file mode 100644
index 00000000000..b07b6e957bc
--- /dev/null
+++ b/testing/font-stix-otf/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Sertonix <sertonix@posteo.net>
+_fontname=stix
+pkgname=font-$_fontname-otf
+pkgver=2.13
+pkgrel=0
+_gitrev=ba5282d4706054e82332d3863ac96e069b34f032
+pkgdesc="OpenType Unicode fonts for Scientific, Technical, and Mathematical texts"
+url="https://github.com/stipub/stixfonts"
+arch="noarch"
+license="OFL-1.1-RFN"
+subpackages="font-$_fontname-ttf:_ttf"
+source="$pkgname-$pkgver.zip::https://github.com/stipub/stixfonts/raw/v$pkgver/zipfiles/static_otf.zip
+ font-$_fontname-ttf-$pkgver.zip::https://github.com/stipub/stixfonts/raw/v$pkgver/zipfiles/variable_ttf.zip"
+builddir="$srcdir"
+options="!check" # is font
+
+package() {
+ install -Dm644 static_otf/*.otf -t "$pkgdir/usr/share/fonts/$_fontname"
+ install -Dm644 variable_ttf/*.ttf -t "$pkgdir/usr/share/fonts/$_fontname"
+}
+
+_ttf() {
+ amove usr/share/fonts/"$_fontname"/'*.ttf'
+}
+
+sha512sums="
+c485fbd51a51bbbaae4f49402a258366ada7a544670788b1126793f70555f3c0d748c01a1123900e6e4ee0e64b137e993f8d28e4bbecd1f0cfb0ab6f4ddd5b45 font-stix-otf-2.13.zip
+62cbd5bf8cba527b7d70df01e71c5a81deed6ac5118105f937a0b89b31f56f8d3b099d260a06c92833c243b4cf9606da61b27efa4895fac45b4790060613d0cb font-stix-ttf-2.13.zip
+"
diff --git a/testing/font-tamzen/APKBUILD b/testing/font-tamzen/APKBUILD
index 80f11b33122..3686f61afe3 100644
--- a/testing/font-tamzen/APKBUILD
+++ b/testing/font-tamzen/APKBUILD
@@ -2,12 +2,12 @@
# Contributor: Simon Zeni <simon@bl4ckb0ne.ca>
pkgname=font-tamzen
pkgver=1.11.5
-pkgrel=0
+pkgrel=1
pkgdesc="Bitmapped programming font, based on Tamsyn"
arch="noarch"
url="https://github.com/sunaku/tamzen-font"
license="custom"
-depends="encodings font-alias mkfontscale mkfontdir fontconfig"
+depends="encodings font-alias mkfontscale fontconfig"
source="$pkgname-$pkgver.tar.gz::https://github.com/sunaku/tamzen-font/archive/Tamzen-$pkgver.tar.gz"
options="!check" # no tests
builddir="$srcdir/tamzen-font-Tamzen-$pkgver"
diff --git a/testing/font-teluguvijayam/APKBUILD b/testing/font-teluguvijayam/APKBUILD
new file mode 100644
index 00000000000..c44bf5cc8f0
--- /dev/null
+++ b/testing/font-teluguvijayam/APKBUILD
@@ -0,0 +1,69 @@
+# Contributor: Dhruvin Gandhi <contact@dhruvin.dev>
+# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
+pkgname=font-teluguvijayam
+pkgver=20190525
+pkgrel=1
+pkgdesc="Silicon Andhra Telugu Vijayam Unicode Fonts"
+url="https://fonts.siliconandhra.org"
+arch="noarch"
+license="OFL-1.1"
+depends="fontconfig mkfontscale"
+source="font-teluguvijayam-$pkgver-Gidugu.ttf::https://fonts.siliconandhra.org/Gidugu.ttf
+ font-teluguvijayam-$pkgver-Gurajada.ttf::https://fonts.siliconandhra.org/Gurajada.ttf
+ font-teluguvijayam-$pkgver-Suravaram.ttf::https://fonts.siliconandhra.org/Suravaram.ttf
+ font-teluguvijayam-$pkgver-NTR.ttf::https://fonts.siliconandhra.org/NTR.ttf
+ font-teluguvijayam-$pkgver-Mandali.ttf::https://fonts.siliconandhra.org/Mandali-Regular.ttf
+ font-teluguvijayam-$pkgver-NATS.ttf::https://fonts.siliconandhra.org/NATS.ttf
+
+ font-teluguvijayam-$pkgver-SyamalaRamana.ttf::https://fonts.siliconandhra.org/SyamalaRamana.ttf
+ font-teluguvijayam-$pkgver-PottiSreeramulu.ttf::https://fonts.siliconandhra.org/PottiSreeramulu.ttf
+
+ font-teluguvijayam-$pkgver-SreeKrushnadevaraya.ttf::https://fonts.siliconandhra.org/Sree%20Krushnadevaraya.otf
+ font-teluguvijayam-$pkgver-Peddana.ttf::https://fonts.siliconandhra.org/Peddana-Regular.ttf
+ font-teluguvijayam-$pkgver-Timmana.ttf::https://fonts.siliconandhra.org/TimmanaRegular.ttf
+ font-teluguvijayam-$pkgver-TenaliRamakrishna.ttf::https://fonts.siliconandhra.org/TenaliRamakrishna-Regular.ttf
+ font-teluguvijayam-$pkgver-Suranna.ttf::https://fonts.siliconandhra.org/suranna.ttf
+ font-teluguvijayam-$pkgver-Ramaraja.ttf::https://fonts.siliconandhra.org/Ramaraja-Regular.ttf
+ font-teluguvijayam-$pkgver-Mallanna.ttf::https://fonts.siliconandhra.org/mallanna.ttf
+ font-teluguvijayam-$pkgver-Dhurjati.ttf::https://fonts.siliconandhra.org/dhurjati.ttf
+ font-teluguvijayam-$pkgver-Ramabhadra.ttf::https://fonts.siliconandhra.org/ramabhadra.ttf
+
+ font-teluguvijayam-$pkgver-Ponnala.ttf::https://fonts.siliconandhra.org/Ponnala.ttf
+ font-teluguvijayam-$pkgver-RaviPrakash.ttf::https://fonts.siliconandhra.org/RaviPrakash.ttf
+ font-teluguvijayam-$pkgver-LakkiReddy.ttf::https://fonts.siliconandhra.org/LakkiReddy.ttf
+ "
+options="!check" # is a font
+
+build() {
+ return 0
+}
+
+package() {
+ cd "$srcdir"
+ for font in *.ttf; do
+ install -Dm644 "$font" "$pkgdir/usr/share/fonts/${pkgname#font-}/${font#font-teluguvijayam-"$pkgver"-}"
+ done
+}
+
+sha512sums="
+1eafd161225a81b4758bbee78823586e4fcfec96ad58b3b438f62f8c0e685a7a14017920a9bcff691bb2e37314f02771c27ca162999f29184f0cbbe5389d3ef9 font-teluguvijayam-20190525-Gidugu.ttf
+45c6e57bdba7c4fba823d6f240a5ec567879a0d6fb264024998bd7943b1f9357cc549d5cdf88344cca3bc08cd8cc4521a1e7cdb3729cf2bae6b3781dbf6f3b62 font-teluguvijayam-20190525-Gurajada.ttf
+b85d86f54b9f07cda26897c0d7448f7506a00ed4ba9efbcf0f17acf7cb673241fef93a6fb3b9ced79fe6ffa33202320f1773d3f1381a451c507a9ccb8eac07db font-teluguvijayam-20190525-Suravaram.ttf
+0a49f79c77105bcb4224681c872e6b225a30bad755ac7e3de200bef7e928703576782734d59d69803795b476e4cfb12581bee4b350b8b87073ecae439de40340 font-teluguvijayam-20190525-NTR.ttf
+eb189e5578a6e01668b4bd31a853503e9b3b9db1bcf0c6b6f1f6b4867b486799a4c75b8c05ccc433d37fad649dbeb35c0220f0ce3e6cdb0fc20fc313f832af34 font-teluguvijayam-20190525-Mandali.ttf
+852943264f3be34e20a3713efcd6796ac6a4854bcaf495a75750f2e11a1a588598fe95c3acc8aa797ea9dcca73ea001f853ce8efcec9cb83984225a1a4902a67 font-teluguvijayam-20190525-NATS.ttf
+c2a6348b1cdda633511529eb5636af064ec39fc44be041bc3e7006a0b281ffd7ac0051c45fc56ef3ef1ef8471becb262e4dfaedc2e55156186d9cf68f9854110 font-teluguvijayam-20190525-SyamalaRamana.ttf
+39fedbbc9a271a400f2a2188be8c269648073a170fd89118e440adae1aee8ef8943c41c6b9a46bb9051b35d92b40ee85092d818b42ab4847b3f10c8cbf71efe6 font-teluguvijayam-20190525-PottiSreeramulu.ttf
+8b8718cd65eea94f6902cce0ac28fdba27f74e5ec2c0f6f0a7fedd34d792f70dac19a12de9cf2838f51785423786c1ae956e09fb9883ddd54adf629b6afcf06a font-teluguvijayam-20190525-SreeKrushnadevaraya.ttf
+1d23654ce7fc43926c645b4457fe18f367ac7b87b2218da084102ef72357ecfddf9b5ad5a7540b01df7cd8381019cf2d2ce7311a44d0a3b686fc8701a452f7a6 font-teluguvijayam-20190525-Peddana.ttf
+7c88d6cd0ffffdcd31380884cb33036dff957591be36c9b5aae4ab535d7f9b3148050afdeffcc713b684302f99266bc0772b2ea3a88bf479720123f7d76c5b83 font-teluguvijayam-20190525-Timmana.ttf
+80b0a369fb8ccd725fee6b7873c37c34742f5939046b17f4d42714a49594ac85664325f1adc1ee2eb7829a09f23b0308d5b4ff562beedf0464099c1bff7ceff9 font-teluguvijayam-20190525-TenaliRamakrishna.ttf
+4dde8094a427f11a94020f4acef352dd656d393c46224313b116409db05c77118b0420aba4fa67b9df8d932f7ee8649fbf478591a327140e4f694afaad14df67 font-teluguvijayam-20190525-Suranna.ttf
+09f25350fc51c296f7aa48cfb3efc320d4604f65d6844a53f1a913f1d3cb1570de2d9882fbd146088ba834ab08ccd4b6ea661cb6269a87b6ae42e937223374d1 font-teluguvijayam-20190525-Ramaraja.ttf
+10f3fd87817b6974644f5e4cf1d27e65e72ae164415874ecd3e48a584ea9eea35beee91b833108937b27ae587d1905d47de3d27a5379508cf5f858d22482750a font-teluguvijayam-20190525-Mallanna.ttf
+093cb92b09383c25e5edfd37d431ba0e669cf803daa02d4a463f27bef95040ca0e96c21896635855f73f07e76824d5c1d2b9944cba646cff6fdef80f466e79b0 font-teluguvijayam-20190525-Dhurjati.ttf
+f5a6e03fdfb1e39ed1c246489d50c369f7f9671ac798067e25047c7c04c372614b77c76fe06f4117e4a05bfd884bd0492fb5ceef02608bcc9a00251430beb022 font-teluguvijayam-20190525-Ramabhadra.ttf
+62954328074580fc3bc72cf9f94bea57f0c7ecbe833624d84fc381f709e3861f56969ad00ec6fbb378e17d0e3664275a235bc8c736c09b92486e5bb91502d9c4 font-teluguvijayam-20190525-Ponnala.ttf
+a69e739b4661bce60d56163dbba7e4c1c8f4c6bb00d82fee251d8d4b475e623e6707ea0366378b8c501ec450f41423d30545f198d0d2e85039fbd89fc4157598 font-teluguvijayam-20190525-RaviPrakash.ttf
+8c4c1c37663f343c25b95f1a714f8d3f47023f23b0b044c772fdfab0269de023528c7a97a2e7e36712593d83b34e59644768d3c9bca48914618a32cd504fdf57 font-teluguvijayam-20190525-LakkiReddy.ttf
+"
diff --git a/testing/font-tinos/APKBUILD b/testing/font-tinos/APKBUILD
new file mode 100644
index 00000000000..15e4aea8857
--- /dev/null
+++ b/testing/font-tinos/APKBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Sertonix <sertonix@posteo.net>
+_fontname=tinos
+pkgname=font-$_fontname
+pkgver=0_git20210228
+pkgrel=0
+_gitrev=ba5282d4706054e82332d3863ac96e069b34f032
+pkgdesc="Innovative, refreshing sans serif design that is metrically compatible with Times New Roman"
+url="https://fonts.google.com/specimen/Tinos"
+arch="noarch"
+license="OFL-1.1"
+source="$pkgname-$pkgver.tar.gz::https://github.com/googlefonts/tinos/archive/$_gitrev.tar.gz"
+builddir="$srcdir/tinos-$_gitrev"
+options="!check" # is font
+
+package() {
+ install -Dm644 -t "$pkgdir"/usr/share/fonts/$_fontname \
+ "$builddir"/fonts/ttf/unhinted/variable_ttf/*.ttf
+}
+
+sha512sums="
+fefd77884ede3fefbeba9fcba0c3a45bac448ffd8f5a2cc9d1bbf64449be983b23288cbfa43c0a39cc0110d4374e517d34949ffa80f7305c5752de3dbc702c0d font-tinos-0_git20210228.tar.gz
+"
diff --git a/testing/font-tiresias/APKBUILD b/testing/font-tiresias/APKBUILD
new file mode 100644
index 00000000000..1af5c5ea5b0
--- /dev/null
+++ b/testing/font-tiresias/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=font-tiresias
+pkgver=0_git20200704
+pkgrel=0
+_gitrev=93e9ac3966b5a5fa1aed67df38deb09cc93e3285
+pkgdesc="Tiresias font family"
+# the original upstream is dead, but the font was released under GPLv3+
+url="https://salsa.debian.org/fonts-team/fonts-tiresias"
+arch="noarch"
+license="GPL-3.0-or-later"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://salsa.debian.org/fonts-team/fonts-tiresias/-/archive/$_gitrev/fonts-tiresias-$_gitrev.tar.gz"
+builddir="$srcdir/fonts-tiresias-$_gitrev"
+options="!check" # is font
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/licenses/$pkgname
+
+ for font in info key lp pc sign; do
+ local target="$pkgdir"/usr/share/fonts/tiresias-$font
+ mkdir -p "$target"
+ unzip -d "$target" ${font}font.zip
+
+ mv "$target"/COPYING/gpl.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.$font
+ rm -rf "$target"/COPYING
+ done
+}
+
+sha512sums="
+3d8a12a6f5c13a5d0f975a08522579f2c818218be31023e6a75f11a7a1f82d1b8bc4ff30f691c19964e07cd6ce85074fbfc0883ae053e228435ec1bce81309e4 font-tiresias-0_git20200704.tar.gz
+"
diff --git a/testing/font-twemoji/APKBUILD b/testing/font-twemoji/APKBUILD
index 0071aa42e76..d94108e9f98 100644
--- a/testing/font-twemoji/APKBUILD
+++ b/testing/font-twemoji/APKBUILD
@@ -1,22 +1,23 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
pkgname=font-twemoji
-pkgver=0.6.0
-pkgrel=1
-pkgdesc="Twemoji font in COLR/CPAL layered format"
-url="https://github.com/mozilla/twemoji-colr"
+pkgver=15.0.3
+_builddate=2024-01-30_11-10
+pkgrel=0
+pkgdesc="Twemoji font in TrueType format"
+url="https://github.com/twitter/twemoji"
options="!check" # no tests
arch="noarch"
license="CC-BY-4.0"
-source="https://github.com/mozilla/twemoji-colr/releases/download/v$pkgver/TwemojiMozilla.ttf"
+source="https://artefacts.whynothugo.nl/twemoji.ttf/$_builddate/Twemoji-$pkgver.ttf"
+# Builds from https://git.sr.ht/~whynothugo/twemoji.ttf/
package() {
depends="fontconfig"
- install -Dm644 "$srcdir"/TwemojiMozilla.ttf \
- -t "$pkgdir"/usr/share/fonts/TTF
+ install -Dm644 "$srcdir"/Twemoji-$pkgver.ttf \
+ "$pkgdir"/usr/share/fonts/twemoji/Twemoji.ttf
}
sha512sums="
-fa0ef5bcb7ce3ffda798a389efc6b1006397c616635e64fff7d58a94b8fdda6340c3328d7561b5aa6e7f9cf96cca8ae32940a498f0042ad76c85595a5aa239b2 TwemojiMozilla.ttf
+6426071694454697bf5d4785ba92afb4e5002ac984e12ca656e91b1f227105e4ff1bde7d62f12f7818a5a5e0f878f37675abaf75188a2b583db25f9d6ef390b9 Twemoji-15.0.3.ttf
"
diff --git a/testing/fontforge/APKBUILD b/testing/fontforge/APKBUILD
deleted file mode 100644
index 73445eec31a..00000000000
--- a/testing/fontforge/APKBUILD
+++ /dev/null
@@ -1,77 +0,0 @@
-# Contributor: Ed Robinson <ed@reevoo.com>
-# Maintainer: Ed Robinson <ed@reevoo.com>
-pkgname=fontforge
-pkgver=20201107
-pkgrel=2
-pkgdesc="free (libre) font editor for Windows, Mac OS X and GNU+Linux"
-url="https://fontforge.org"
-arch="all !s390x !x86 !mips !mips64" # test139_ff hangs on x86
-license="GPL-3.0-or-later"
-makedepends="
- cmake
- pango-dev
- giflib-dev
- tiff-dev
- libxml2-dev
- libspiro-dev
- python3-dev
- potrace
- woff2-dev
- gtk+3.0-dev
- libuninameslist-dev
- readline-dev
- "
-subpackages="
- $pkgname-dev
- $pkgname-doc
- $pkgname-python3:_py3
- "
-source="https://github.com/fontforge/fontforge/releases/download/$pkgver/fontforge-$pkgver.tar.xz
- fix-select.patch
- "
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build . \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DENABLE_GUI=ON \
- -DENABLE_X11=OFF \
- -DENABLE_PYTHON_SCRIPTING=ON \
- -DENABLE_PYTHON_EXTENSION=ON \
- -DENABLE_LIBSPIRO=ON \
- -DENABLE_LIBUNINAMESLIST=ON \
- -DENABLE_LIBGIF=ON \
- -DENABLE_LIBJPEG=ON \
- -DENABLE_LIBPNG=ON \
- -DENABLE_LIBREADLINE=ON \
- -DENABLE_LIBTIFF=ON \
- -DENABLE_WOFF2=ON \
- -DENABLE_DOCS=OFF \
- $CMAKE_CROSSOPTS .
- make -C build
-}
-
-check() {
- make -C build check
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-_py3() {
- pkgdesc="python3 bindings for $pkgname"
-
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib
-
- mkdir -p "$subpkgdir"/usr/share/fontforge/python
- mv "$pkgdir"/usr/share/fontforge/python/excepthook.py "$subpkgdir"/usr/share/fontforge/python
-}
-
-sha512sums="cf9666395405ab02943f0160959f04251bd2a80e279a8f60431089ad19a4c5a232efd42097050ed9f6c1fb39d01488176262949fd81f5f0960fe853b497437dc fontforge-20201107.tar.xz
-8cb3fb00fa537eab2d4b194916343a0e2aab85c2415a1944c0d0e648d62a7748d5d4465fb99cb92385b749e73abfcaa429f4c9d2bb4c2edea8febeb227add93a fix-select.patch"
diff --git a/testing/fontforge/fix-select.patch b/testing/fontforge/fix-select.patch
deleted file mode 100644
index 0e230f64e27..00000000000
--- a/testing/fontforge/fix-select.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Include sys/select.h as defined by POSIX to have access to fd_set
-
-diff --git a/gdraw/gdraw.c b/gdraw/gdraw.c
-index 24591b7..ab045d0 100644
---- a/gdraw/gdraw.c
-+++ b/gdraw/gdraw.c
-@@ -36,6 +36,7 @@
- # include <sys/select.h>
- #endif
-
-+#include <sys/select.h>
-
- /* Functions for font metrics:
- rectangle of text (left side bearing of first char, right of last char)
-diff --git a/gdraw/gxdraw.c b/gdraw/gxdraw.c
-index 3cbf6af..b04ed9b 100644
---- a/gdraw/gxdraw.c
-+++ b/gdraw/gxdraw.c
-@@ -52,6 +52,7 @@
- #include <signal.h> /* error handler */
- #include <sys/time.h> /* for timers & select */
- #include <sys/types.h> /* for timers & select */
-+#include <sys/select.h>
-
- enum cm_type { cmt_default=-1, cmt_current, cmt_copy, cmt_private };
-
-
diff --git a/testing/foolsm/APKBUILD b/testing/foolsm/APKBUILD
index 7aef09783fb..fe71632157b 100644
--- a/testing/foolsm/APKBUILD
+++ b/testing/foolsm/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
pkgname=foolsm
-pkgver=1.0.14
-pkgrel=1
+pkgver=1.0.21
+pkgrel=0
pkgdesc="Link Status Monitor"
url="https://lsm.foobar.fi/"
arch="all"
@@ -27,7 +27,7 @@ package() {
}
sha512sums="
-9a9e6ad43bdbf0ac6a0eebd6ba4c3b4781cf9436b68531f5c538da94c30819c3f03d7f973a1a2dd7edff4276240d88d5baeaf781555f27f468c2acebf192221a foolsm-1.0.14.tar.gz
+3be949037b8996f124ee9864d47cb34dd3a9f420c282e8735dfc9dac17089705688d3322e4bde939f75b0617da1aede232db59ef9c0ce36fc485e9349d2d972f foolsm-1.0.21.tar.gz
b433010b8d2228e90a2617da707a199ae841f273aab4e9d4912e50106d689fe96a0ad662246f09033a2039aa79ba682fef4356cbe15a907abccc2ee74ded3881 foolsm.initd
80b71b4468bf3a5ba928661dbf63d4dea058a665c1d49b88bc3a37b38dc316171a71aed406c3510b37a812e148f5a724ba65598e77044996baeeb139a88ded1c foolsm.confd
4a0c851b2ae534c365adcc5798b56fc91b1efe7d4bcad90df411e93d7a4a0c620d3e9efa26504de877059c481de207c58c468ea577025db2933fa111f5620077 fix-non-standard-macro.patch
diff --git a/testing/forgejo-runner/APKBUILD b/testing/forgejo-runner/APKBUILD
new file mode 100644
index 00000000000..50d0bfeef70
--- /dev/null
+++ b/testing/forgejo-runner/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=forgejo-runner
+pkgver=3.4.1
+pkgrel=1
+pkgdesc="CI/CD job runner for Forgejo"
+url="https://code.forgejo.org/forgejo/runner"
+arch="all"
+license="MIT"
+makedepends="go"
+install="$pkgname.pre-install $pkgname.pre-upgrade"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/forgejo/runner/archive/v$pkgver.tar.gz
+
+ forgejo-runner.logrotate
+ forgejo-runner.initd
+ forgejo-runner.confd
+ "
+builddir="$srcdir/runner"
+options="!check" # tests require running forgejo
+
+build() {
+ go build \
+ -o forgejo-runner \
+ -ldflags "-X gitea.com/gitea/act_runner/internal/pkg/ver.version=$pkgver"
+ ./forgejo-runner generate-config > config.example.yaml
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 forgejo-runner -t "$pkgdir"/usr/bin/
+ install -Dm644 config.example.yaml -t "$pkgdir"/etc/forgejo-runner/
+
+ install -Dm755 "$srcdir"/forgejo-runner.initd "$pkgdir"/etc/init.d/forgejo-runner
+ install -Dm644 "$srcdir"/forgejo-runner.confd "$pkgdir"/etc/conf.d/forgejo-runner
+ install -Dm644 "$srcdir"/forgejo-runner.logrotate "$pkgdir"/etc/logrotate.d/forgejo-runner
+}
+
+sha512sums="
+aea401ddb8359bc91a4c24ca5b14bcf01ac74480405deac153ecd83cb69454456353b9c4468c29380d52289a1743accad5642c4fa1609fd854fe459e2da7fe3a forgejo-runner-3.4.1.tar.gz
+a3c7238b0c63053325d31e09277edd88690ef5260854517f82d9042d6173fb5d24ebfe36e1d7363673dd8801972638a6e69b6af8ad43debb6057515c73655236 forgejo-runner.logrotate
+bb0c6fbe90109c77f9ef9cb0d35d20b8033be0e4b7a60839b596aa5528dfa24309ec894d8c04066bf8fb30143e63a5fd8cc6fc89aac364422b583e0f840e2da6 forgejo-runner.initd
+e11eab27f88f1181112389befa7de3aa0bac7c26841861918707ede53335535425c805e6682e25704e9c8a6aecba3dc13e20900a99df1183762b012b62f26d5f forgejo-runner.confd
+"
diff --git a/testing/forgejo-runner/forgejo-runner.confd b/testing/forgejo-runner/forgejo-runner.confd
new file mode 100644
index 00000000000..874e695445c
--- /dev/null
+++ b/testing/forgejo-runner/forgejo-runner.confd
@@ -0,0 +1,17 @@
+# Configuration for /etc/init.d/forgejo-runner
+
+# Path to the config file (--config).
+#cfgfile="/etc/forgejo-runner/config.yaml"
+
+# Path to the working directory (--working-directory).
+#datadir="/var/lib/forgejo-runner"
+
+# Path to the log file where stdout/stderr will be redirected.
+# Leave empty/commented out to use syslog instead.
+#output_log="/var/log/forgejo-runner.log"
+
+# You may change this to root, e.g. to run jobs in LXC
+#command_user="forgejo-runner"
+
+# Comment out to run without process supervisor.
+supervisor=supervise-daemon
diff --git a/testing/forgejo-runner/forgejo-runner.initd b/testing/forgejo-runner/forgejo-runner.initd
new file mode 100644
index 00000000000..c54acdd6bbe
--- /dev/null
+++ b/testing/forgejo-runner/forgejo-runner.initd
@@ -0,0 +1,38 @@
+#!/sbin/openrc-run
+
+description="Forgejo CI Runner"
+name="Forgejo Runner"
+
+: ${cfgfile:="/etc/forgejo-runner/config.yaml"}
+: ${datadir:="/var/lib/forgejo-runner"}
+: ${command_user:="forgejo-runner"}
+
+command="/usr/bin/forgejo-runner"
+command_args="daemon --config $cfgfile"
+command_background="yes"
+directory="$datadir"
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need net
+ use dns logger
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" /etc/forgejo-runner
+ checkpath -d -o "$command_user" "$datadir"
+
+ if ! [ -e "$cfgfile" ]; then
+ eerror "Config file $cfgfile doesn't exist."
+ eerror "You can generate it with: forgejo-runner generate-config,"
+ eerror "or use the auto-generated one in /etc/forgejo-runner/config.example.yaml"
+ return 1
+ fi
+
+ if [ "$error_log" ]; then
+ output_log="$error_log"
+ else
+ output_logger="logger -t '${RC_SVCNAME}' -p daemon.info"
+ error_logger="logger -t '${RC_SVCNAME}' -p daemon.error"
+ fi
+}
diff --git a/testing/forgejo-runner/forgejo-runner.logrotate b/testing/forgejo-runner/forgejo-runner.logrotate
new file mode 100644
index 00000000000..1a0539e30eb
--- /dev/null
+++ b/testing/forgejo-runner/forgejo-runner.logrotate
@@ -0,0 +1,5 @@
+/var/log/forgejo-runner.log {
+ copytruncate
+ missingok
+ notifempty
+}
diff --git a/testing/forgejo-runner/forgejo-runner.pre-install b/testing/forgejo-runner/forgejo-runner.pre-install
new file mode 100644
index 00000000000..5ce27bede6c
--- /dev/null
+++ b/testing/forgejo-runner/forgejo-runner.pre-install
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+addgroup -S forgejo-runner 2>/dev/null
+adduser -S -D -H -h /var/lib/forgejo-runner -s /sbin/nologin -G forgejo-runner -g forgejo-runner forgejo-runner 2>/dev/null
+
+cat >&2 <<EOF
+* In order to setup the runner, create a config file
+* in /etc/forgejo-runner/config.yaml (either from .example.yaml,
+* or generating your own with 'forgejo-runner generate-config'),
+* then register it with 'doas -u forgejo-runner forgejo-runner register'
+* ran in the /var/lib/forgejo-runner directory.
+EOF
+
+exit 0
diff --git a/testing/forgejo-runner/forgejo-runner.pre-upgrade b/testing/forgejo-runner/forgejo-runner.pre-upgrade
new file mode 120000
index 00000000000..dfba753e018
--- /dev/null
+++ b/testing/forgejo-runner/forgejo-runner.pre-upgrade
@@ -0,0 +1 @@
+forgejo-runner.pre-install \ No newline at end of file
diff --git a/testing/forgejo/APKBUILD b/testing/forgejo/APKBUILD
new file mode 100644
index 00000000000..3aa2c903a38
--- /dev/null
+++ b/testing/forgejo/APKBUILD
@@ -0,0 +1,105 @@
+# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
+# Contributor: 6543 <6543@obermui.de>
+# Contributor: techknowlogick <techknowlogick@gitea.io>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=forgejo
+_pkgver=1.21.7-0
+pkgver=${_pkgver/-/.}
+pkgrel=2
+pkgdesc="Self-hosted Git service written in Go"
+url="https://forgejo.org"
+arch="all"
+license="MIT"
+depends="git git-lfs gnupg"
+makedepends="go nodejs npm"
+checkdepends="bash openssh openssh-keygen sqlite tzdata"
+install="$pkgname.pre-install"
+pkgusers="forgejo"
+pkggroups="www-data"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/forgejo/forgejo/archive/v$_pkgver.tar.gz
+ $pkgname.initd
+ $pkgname.ini
+ "
+builddir="$srcdir/forgejo"
+options="!check net chmod-clean" # broken with GIT_CEILING
+
+# secfixes:
+# 1.21.3.0-r0:
+# - CVE-2023-48795
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+# Skip tests for archs that fail unrelated in CI
+case "$CARCH" in
+s390x|x86|armhf|armv7) options="$options !check" ;;
+esac
+
+prepare() {
+ default_prepare
+
+ npm ci
+}
+
+build() {
+ # XXX: LARGEFILE64
+ export CGO_CFLAGS="$CFLAGS -O2 -D_LARGEFILE64_SOURCE"
+ export TAGS="bindata sqlite sqlite_unlock_notify"
+ export GITEA_VERSION="$pkgver"
+ export EXTRA_GOFLAGS="$GOFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS"
+ unset LDFLAGS
+ ## make FHS compliant
+ LDFLAGS="$LDFLAGS -X code.gitea.io/gitea/modules/setting.CustomConf=/etc/forgejo/app.ini"
+ LDFLAGS="$LDFLAGS -X code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/forgejo/"
+ export LDFLAGS
+
+ make -j1
+}
+
+check() {
+ local home="$srcdir"/home
+ mkdir -p "$home"
+ install -d -m700 "$home"/.ssh
+ touch "$home"/.gitconfig
+
+
+ env GITEA_ROOT="$home" HOME="$home" GITEA_WORK_DIR="$(pwd)" timeout -s ABRT 20m make -j1 test-sqlite
+ ## "make test" - modified (exclude broken tests)
+ ## 'code.gitea.io/gitea/modules/migrations': github hase rate limits! 403 API
+ local tests=$(go list ./... | grep -v /vendor/ | \
+ grep -v 'code.gitea.io/gitea/modules/migrations' | \
+ grep -v 'code.gitea.io/gitea/modules/charset' | \
+ grep -v 'code.gitea.io/gitea/models/migrations' | \
+ grep -v 'code.gitea.io/gitea/services/migrations' | \
+ grep -v 'code.gitea.io/gitea/integrations')
+ env GITEA_CONF="$PWD/tests/sqlite.ini" GITEA_ROOT="$home" HOME="$home" GO111MODULE=on go test -mod=vendor -tags='sqlite sqlite_unlock_notify' $tests
+
+}
+
+package() {
+ for dir in $pkgname $pkgname/git $pkgname/data $pkgname/db $pkgname/custom; do
+ install -dm750 -o forgejo -g www-data \
+ "$pkgdir"/var/lib/$dir
+ done
+
+ install -dm755 -o forgejo -g www-data "$pkgdir"/var/log/forgejo
+
+ # TODO: rename when upstream does
+ install -Dm755 -g www-data gitea "$pkgdir"/usr/bin/forgejo
+
+ install -Dm644 -o forgejo -g www-data "$srcdir"/forgejo.ini \
+ "$pkgdir"/etc/forgejo/app.ini
+ chown forgejo:www-data "$pkgdir"/etc/forgejo
+
+ install -Dm755 "$srcdir"/forgejo.initd \
+ "$pkgdir"/etc/init.d/forgejo
+}
+
+sha512sums="
+187dcda2120e9e35253f93a35bab50f92f6225c921e8c614ac9a44c30fd458906e384239d51b761363133a955f3f8993eb025355447219dfaa75bae7e9923564 forgejo-1.21.7.0.tar.gz
+eb93a9f6c8f204de5c813f58727015f53f9feaab546589e016c60743131559f04fc1518f487b6d2a0e7fa8fab6d4a67cd0cd9713a7ccd9dec767a8c1ddebe129 forgejo.initd
+b537b41b6b3a945274a6028800f39787b48c318425a37cf5d40ace0d1b305444fd07f17b4acafcd31a629bedd7d008b0bb3e30f82ffeb3d7e7e947bdbe0ff4f3 forgejo.ini
+"
diff --git a/testing/forgejo/forgejo.ini b/testing/forgejo/forgejo.ini
new file mode 100644
index 00000000000..3b462590b92
--- /dev/null
+++ b/testing/forgejo/forgejo.ini
@@ -0,0 +1,26 @@
+# Configuration cheat sheet: https://forgejo.org/docs/latest/admin/config-cheat-sheet/
+
+RUN_USER = forgejo
+RUN_MODE = prod
+
+[repository]
+ROOT = /var/lib/forgejo/git
+SCRIPT_TYPE = sh
+
+[server]
+STATIC_ROOT_PATH = /usr/share/webapps/forgejo
+APP_DATA_PATH = /var/lib/forgejo/data
+LFS_START_SERVER = true
+
+[database]
+DB_TYPE = sqlite3
+PATH = /var/lib/forgejo/db/forgejo.db
+SSL_MODE = disable
+
+[session]
+PROVIDER = file
+
+[log]
+ROOT_PATH = /var/log/forgejo
+MODE = file
+LEVEL = Info
diff --git a/testing/forgejo/forgejo.initd b/testing/forgejo/forgejo.initd
new file mode 100644
index 00000000000..24dd085db6d
--- /dev/null
+++ b/testing/forgejo/forgejo.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+name=forgejo
+command="/usr/bin/forgejo"
+command_user="${FORGEJO_USER:-forgejo}:www-data"
+command_args="web --config '${FORGEJO_CONF:-/etc/forgejo/app.ini}'"
+supervise_daemon_args="--env FORGEJO_WORK_DIR='${FORGEJO_WORK_DIR:-/var/lib/forgejo}' --chdir '${FORGEJO_WORK_DIR:-/var/lib/forgejo}' --stdout '${FORGEJO_LOG_FILE:-/var/log/forgejo/http.log}' --stderr '${FORGEJO_LOG_FILE:-/var/log/forgejo/http.log}'"
+pidfile="/run/forgejo.pid"
+
+depend() {
+ use logger dns
+ need net
+ after firewall mysql postgresql
+}
diff --git a/testing/forgejo/forgejo.pre-install b/testing/forgejo/forgejo.pre-install
new file mode 100644
index 00000000000..c7e8b7bbccc
--- /dev/null
+++ b/testing/forgejo/forgejo.pre-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+addgroup -S -g 82 www-data 2>/dev/null
+adduser -S -D -h /var/lib/forgejo -s /bin/sh -G www-data -g forgejo forgejo 2>/dev/null \
+ && passwd -u forgejo 2>/dev/null
+
+exit 0
diff --git a/testing/fox/APKBUILD b/testing/fox/APKBUILD
new file mode 100644
index 00000000000..f5d36b2ce6d
--- /dev/null
+++ b/testing/fox/APKBUILD
@@ -0,0 +1,73 @@
+# Contributor: Peter Shkenev <santurysim@gmail.com>
+# Maintainer: Peter Shkenev <santurysim@gmail.com>
+pkgname=fox
+pkgver=1.6.57
+pkgrel=0
+pkgdesc="Free Objects for X"
+url="http://www.fox-toolkit.org"
+arch="all"
+license="LGPL-3.0-or-later"
+makedepends="glu-dev libxft-dev"
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-adie
+ $pkgname-pathfinder
+ $pkgname-calculator
+ $pkgname-utils
+ $pkgname-shutterbug"
+source="http://fox-toolkit.org/ftp/fox-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE LICENSE_ADDENDUM \
+ -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+adie() {
+ license="GPL-2.0-or-later"
+ pkgdesc="Adie text editor"
+ amove usr/bin/Adie.stx
+ amove usr/bin/adie
+}
+
+pathfinder() {
+ pkgdesc="$pkgdesc - fast file manager"
+ amove usr/bin/PathFinder
+}
+
+calculator() {
+ license="GPL-2.0-or-later"
+ pkgdesc="$pkgdesc - calculator"
+ amove usr/bin/calculator
+}
+
+utils() {
+ pkgdesc="$pkgname (development utilities)"
+ amove usr/bin/reswrap
+}
+
+shutterbug() {
+ license="GPL-2.0-or-later"
+ pkgdesc="$pkgname - screen snapshot application"
+ amove usr/bin/shutterbug
+}
+
+sha512sums="
+e7b91054a9ea674818803415284cb61572935d22466e446cb37ef68344e2684e8acd567f7c8a6912f939dcbcc37455119ad6a01ac30513f460d0b3937b7e6087 fox-1.6.57.tar.gz
+"
diff --git a/testing/fpc/APKBUILD b/testing/fpc/APKBUILD
index 0ffc5c3710a..0d79296c073 100644
--- a/testing/fpc/APKBUILD
+++ b/testing/fpc/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Maxim Karasev <begs@disroot.org>
pkgname=fpc
pkgver=3.2.2
-pkgrel=1
+pkgrel=2
pkgdesc="Free Pascal Compiler"
url="http://freepascal.org"
# Build fails on ppc64le with compiler segfault
@@ -21,6 +21,11 @@ builddir="$srcdir/fpcbuild-$pkgver"
provides="fpc-bootstrap"
provider_priority=100 # highest
+# libpas2jslib.so contains textrels on some arches
+case "$CARCH" in
+ x86|armv7|armhf) options="$options textrels";;
+esac
+
prepare() {
default_prepare
@@ -60,13 +65,6 @@ package() {
# Strip pkgdir name from configs
find "$pkgdir"/etc/ -type f -exec sed -i "s|$pkgdir||g" {} \;
-
- # This shared object contains textrels on some arches
- case "$CARCH" in
- x86|armv7|armhf)
- rm "$pkgdir"/usr/lib/libpas2jslib.so
- ;;
- esac
}
sha512sums="
diff --git a/testing/fplll/APKBUILD b/testing/fplll/APKBUILD
new file mode 100644
index 00000000000..da22ddb6ced
--- /dev/null
+++ b/testing/fplll/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=fplll
+pkgver=5.4.5
+pkgrel=0
+pkgdesc="Lattice algorithms using floating-point arithmetic"
+url="https://github.com/fplll/fplll"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="gmp-dev mpfr-dev"
+subpackages="
+ $pkgname-static
+ $pkgname-dev
+ $pkgname-libs
+ $pkgname-strategies:_strategies:noarch
+ "
+source="https://github.com/fplll/fplll/releases/download/$pkgver/fplll-$pkgver.tar.gz"
+
+case "$CARCH" in
+aarch64|ppc64le|s390x)
+ # libqd-dev package is unavailable
+ ;;
+*)
+ makedepends="$makedepends libqd-dev"
+ ;;
+esac
+
+build() {
+ export CXXFLAGS="${CXXFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ mv "$pkgdir"/usr/bin/*fplll "$pkgdir"/usr/bin/fplll
+ mv "$pkgdir"/usr/bin/*latticegen "$pkgdir"/usr/bin/latticegen
+}
+
+_strategies() {
+ pkgdesc="Strategies for fplll"
+ amove usr/share/fplll/strategies
+}
+
+sha512sums="
+3e1281f1b993ebe4a767b7fc526f49a27d58f24b1b4c6074310cc971f6f569388d6ba27102087a2eb11671d2d5b87bd60306e2597567f4ae8dd2a9efd13beb77 fplll-5.4.5.tar.gz
+"
diff --git a/testing/fpp/APKBUILD b/testing/fpp/APKBUILD
new file mode 100644
index 00000000000..1bb734d7f27
--- /dev/null
+++ b/testing/fpp/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Thiago Perrotta <tbperrotta@gmail.com>
+# Maintainer: Thiago Perrotta <tbperrotta@gmail.com>
+pkgname=fpp
+pkgver=0.9.5
+pkgrel=0
+pkgdesc="TUI that lets you pick paths out of its stdin and run arbitrary commands on them"
+url="https://facebook.github.io/PathPicker"
+arch="noarch"
+license="MIT"
+depends="bash python3"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/facebook/PathPicker/archive/$pkgver.tar.gz"
+options="!check" # no test suite
+builddir="$srcdir/PathPicker-$pkgver"
+
+prepare() {
+ default_prepare
+
+ rm -r "src/tests"
+}
+
+package() {
+ # library
+ install -Dm755 fpp -t "$pkgdir"/usr/share/fpp
+ cp -a src "$pkgdir"/usr/share/fpp
+
+ # entrypoint
+ install -dm755 "$pkgdir"/usr/bin
+ ln -s /usr/share/fpp/fpp "$pkgdir"/usr/bin
+
+ # documentation
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
+ install -Dm644 debian/usr/share/man/man1/fpp.1 -t "$pkgdir"/usr/share/man/man1
+}
+
+sha512sums="
+7ca94bfdbf8826a8143471acd63eaa80bd30ae3b27f5982f3e2b581e0d078a70bb189707a53d3f93f231ac0f3db8bb88b0c92441604661d475623bfbc2bebaa7 fpp-0.9.5.tar.gz
+"
diff --git a/testing/fprintd/APKBUILD b/testing/fprintd/APKBUILD
deleted file mode 100644
index c1a6550cf38..00000000000
--- a/testing/fprintd/APKBUILD
+++ /dev/null
@@ -1,73 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-#
-# TODO: Figure out how to ditch out Polkit (make it optional).
-pkgname=fprintd
-pkgver=1.94.0
-pkgrel=0
-pkgdesc="Daemon that provides fingerprint scanning functionality over D-Bus"
-url="https://fprint.freedesktop.org/"
-arch="all !mips !mips64 !s390x !riscv64" # limited by polkit
-license="GPL-2.0-or-later"
-depends="dbus"
-makedepends="
- bash
- basu-dev
- cmd:pod2man
- gettext-dev
- libfprint-dev>=$pkgver
- linux-pam-dev
- meson
- polkit-dev
- "
-checkdepends="
- dbus
- py3-cairo
- py3-dbus
- py3-dbusmock
- "
-subpackages="$pkgname-doc $pkgname-lang $pkgname-pam"
-source="https://gitlab.freedesktop.org/libfprint/fprintd/-/archive/v$pkgver/$pkgname-v$pkgver.tar.gz
- add-test-feature-and-make-tests-optional.patch
- add-configure-option-for-libsystemd-provider.patch
- pam-include-time.patch
- pam-use-basu-and-remove-sd-login.patch
- fix-missing-libintl.patch
- "
-builddir="$srcdir/$pkgname-v$pkgver"
-options="!check" # tests are broken, they expect fprintd installed in "/"
-
-build() {
- abuild-meson \
- -Dman=true \
- -Dgtk_doc=false \
- -Dsystemd=false \
- -Dlibsystemd=basu \
- -Dpam=true \
- -Dtest=disabled \
- output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test -C output --no-rebuild --print-errorlogs --no-stdsplit
-}
-
-package() {
- DESTDIR="$pkgdir" meson install -C output --no-rebuild
-}
-
-pam() {
- pkgdesc="PAM module for fingerprint authentication"
-
- amove lib/security
-}
-
-sha512sums="
-4b85da1cdadd2d6e2e6648dc269e82e4b4e8761c5d03445a2a514c823c47984662e01df975416d81279f0ba682f78fd65fc35fb5e3902269e4e76b6be36d7b61 fprintd-v1.94.0.tar.gz
-d1526a4870f38b7681a6cdfa57e380038a1203380e5c1012c162bf4ad9ff77dc62ce534b66491e12056e5b956cbd3e271934cee8268dd63890c69605f98fa905 add-test-feature-and-make-tests-optional.patch
-0e4612f51b9ecaffefb407e877837633828ac4b2a40f371e11c32c0e375772a64ca2ce2a2da7de03fdbc15512a3d0b8ec9939107fc52dcd57312c153e08d8bc8 add-configure-option-for-libsystemd-provider.patch
-08d489d3dce24f921777f5e90f716596aee99f8d1dfe794368bf92bd39313731225e0750375826454c22974316fd9d13b7e6405ae3f1f5b54dd418e61d512589 pam-include-time.patch
-0fd20371cb710095db6ab0ca80db6308e876b44455be22f77297c756e7ed8a5292687706928f33015477ddc01b4f939ba7e111d56a90396ced863f5dc6948a84 pam-use-basu-and-remove-sd-login.patch
-4e1aee3c3250924a48f45a28f2f624f15641fe9957987bdd61df8f4af1253e7d56d913570101fd05c37cd0e917be1391d44ae6ab7246119b462515e1159ad952 fix-missing-libintl.patch
-"
diff --git a/testing/fprintd/add-configure-option-for-libsystemd-provider.patch b/testing/fprintd/add-configure-option-for-libsystemd-provider.patch
deleted file mode 100644
index c964d5b1a46..00000000000
--- a/testing/fprintd/add-configure-option-for-libsystemd-provider.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Patch-Source: https://github.com/gentoo/gentoo/blob/ac511bd4faafe3534b81d5a6d7f685cb8391b1b0/sys-auth/fprintd/files/fprintd-1.90.8_0002-add-configure-option-for-libsystemd-provider.patch
---- a/meson.build 2020-12-13 08:08:13.886367478 +0100
-+++ b/meson.build 2020-12-13 08:30:16.056756878 +0100
-@@ -84,7 +84,7 @@
- libfprint_dep = dependency('libfprint-2', version: '>=' + libfprint_min_version)
- polkit_gobject_dep = dependency('polkit-gobject-1', version: '>= 0.91')
- dbus_dep = dependency('dbus-1', required: false)
--libsystemd_dep = dependency('libsystemd', required: get_option('pam'))
-+libsystemd_dep = dependency(get_option('libsystemd'), required: get_option('pam'))
- pam_dep = cc.find_library('pam',
- required: get_option('pam'),
- has_headers: 'security/pam_modules.h',
---- a/meson_options.txt 2020-12-13 08:08:13.886367478 +0100
-+++ b/meson_options.txt 2020-12-13 08:26:57.111919403 +0100
-@@ -10,6 +10,10 @@
- description: 'Install system service files',
- type: 'boolean',
- value: true)
-+option('libsystemd',
-+ description: 'Libsystemd provider (libsystemd or libelogind)',
-+ type: 'string',
-+ value: 'libsystemd')
- option('systemd_system_unit_dir',
- description: 'Directory for systemd service files',
- type: 'string')
diff --git a/testing/fprintd/add-test-feature-and-make-tests-optional.patch b/testing/fprintd/add-test-feature-and-make-tests-optional.patch
deleted file mode 100644
index c69cf1e530f..00000000000
--- a/testing/fprintd/add-test-feature-and-make-tests-optional.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From: Martin Gysel <me@bearsh.org>
-Date: Thu, 19 Nov 2020 07:04:10 +0100
-Subject: [PATCH 1/2] add test feature and make tests optional
-
----
- meson.build | 14 ++++++++++----
- meson_options.txt | 4 ++++
- 2 files changed, 14 insertions(+), 4 deletions(-)
-
-Patch-Source: https://github.com/gentoo/gentoo/blob/3b3bd2d66b15d3ec1c8b2a41043cfc2e6aa0f738/sys-auth/fprintd/files/fprintd-1.90.7_0001-add-test-feature-and-make-tests-optional.patch
-
-diff --git a/meson.build b/meson.build
---- a/meson.build
-+++ b/meson.build
-@@ -137,7 +137,7 @@
- polkit_policy_directory = polkit_gobject_dep.get_pkgconfig_variable('policydir')
-
- # Tests dependencies
--pam_wrapper_dep = dependency('pam_wrapper', required: get_option('pam'))
-+pam_wrapper_dep = dependency('pam_wrapper', required: get_option('pam') and get_option('test').enabled() )
-
- xmllint = find_program('xmllint', required: false)
- python3 = find_program('python3') # No meson without it!
-@@ -151,11 +151,13 @@
- }
- python3_available_modules = []
-
-+if get_option('test').enabled()
- foreach module, required : python3_test_modules
- if required and run_command(python3, '-c', 'import @0@'.format(module)).returncode() != 0
- error('Python3 module \'' + module + '\' required by test suite not found')
- endif
- endforeach
-+endif
-
- cdata = configuration_data()
- cdata.set_quoted('GETTEXT_PACKAGE', meson.project_name())
-@@ -179,7 +181,9 @@
- if get_option('gtk_doc')
- subdir('doc')
- endif
--subdir('tests')
-+if get_option('test').enabled()
-+ subdir('tests')
-+endif
- subdir('po')
-
- output = []
-@@ -201,7 +205,9 @@
- output += ' Manuals: ' + get_option('man').to_string()
- output += ' GTK Doc: ' + get_option('gtk_doc').to_string()
- output += ' XML Linter ' + xmllint.found().to_string()
--output += '\nTest setup:\n'
--output += ' With address sanitizer: ' + address_sanitizer.to_string()
-+if get_option('test').enabled()
-+ output += '\nTest setup:\n'
-+ output += ' With address sanitizer: ' + address_sanitizer.to_string()
-+endif
-
- message('\n'+'\n'.join(output)+'\n')
-diff --git a/meson_options.txt b/meson_options.txt
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -23,3 +23,7 @@
- type: 'boolean',
- value: false,
- description: 'Use gtk-doc to build documentation')
-+option('test',
-+ type: 'feature',
-+ value: 'disabled',
-+ description: 'Enable tests')
diff --git a/testing/fprintd/fix-missing-libintl.patch b/testing/fprintd/fix-missing-libintl.patch
deleted file mode 100644
index 07a9e40b229..00000000000
--- a/testing/fprintd/fix-missing-libintl.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -97,6 +97,10 @@
- required: get_option('pam'),
- has_headers: 'security/pam_modules.h',
- )
-+intl_dep = cc.find_library('intl',
-+ required: get_option('pam'),
-+ has_headers: 'libintl.h',
-+)
-
- pod2man = find_program('pod2man', required: get_option('man'))
- xsltproc = find_program('xsltproc', required: get_option('gtk_doc'))
---- a/pam/meson.build
-+++ b/pam/meson.build
-@@ -16,6 +16,7 @@
- dependencies: [
- libsystemd_dep,
- pam_dep,
-+ intl_dep,
- ],
- c_args: [
- '-DLOCALEDIR="@0@"'.format(localedir),
diff --git a/testing/fprintd/pam-include-time.patch b/testing/fprintd/pam-include-time.patch
deleted file mode 100644
index 8470090355b..00000000000
--- a/testing/fprintd/pam-include-time.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix missing import:
-
- ../pam/pam_fprintd.c: In function 'now':
- ../pam/pam_fprintd.c:76:3: error: implicit declaration of function 'clock_gettime' [-Werror=implicit-function-declaration]
- 76 | clock_gettime (CLOCK_MONOTONIC, &ts);
-
---- a/pam/pam_fprintd.c
-+++ b/pam/pam_fprintd.c
-@@ -36,6 +36,7 @@
- #include <signal.h>
- #include <sys/signalfd.h>
- #include <poll.h>
-+#include <time.h>
-
- #define PAM_SM_AUTH
- #include <security/pam_modules.h>
diff --git a/testing/fprintd/pam-use-basu-and-remove-sd-login.patch b/testing/fprintd/pam-use-basu-and-remove-sd-login.patch
deleted file mode 100644
index ec2d8378e1d..00000000000
--- a/testing/fprintd/pam-use-basu-and-remove-sd-login.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/pam/pam_fprintd.c
-+++ b/pam/pam_fprintd.c
-@@ -31,8 +31,7 @@
- #include <errno.h>
-
- #include <libintl.h>
--#include <systemd/sd-bus.h>
--#include <systemd/sd-login.h>
-+#include <basu/sd-bus.h>
- #include <signal.h>
- #include <sys/signalfd.h>
- #include <poll.h>
-@@ -775,8 +774,9 @@
- strcmp (rhost, "localhost") != 0)
- return true;
-
-- if (sd_session_is_remote (NULL) > 0)
-- return true;
-+// XXX-Patched: Remove dependency on elogind.
-+//if (sd_session_is_remote (NULL) > 0)
-+// return true;
-
- return false;
- }
diff --git a/testing/fq/APKBUILD b/testing/fq/APKBUILD
index 95f9f9a7189..f1952e6d330 100644
--- a/testing/fq/APKBUILD
+++ b/testing/fq/APKBUILD
@@ -1,31 +1,35 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=fq
-pkgver=0.0.3
-pkgrel=1
+pkgver=0.10.0
+pkgrel=3
pkgdesc="Tool, language and decoders for inspecting binary data"
url="https://github.com/wader/fq"
license="MIT"
-arch="all"
+arch="all !ppc64le" # fails tests
makedepends="go"
-source="https://github.com/wader/fq/archive/v$pkgver/fq-$pkgver.tar.gz"
+checkdepends="expect"
+options="net"
+source="https://github.com/wader/fq/archive/v$pkgver/fq-$pkgver.tar.gz
+ enable-cgo.patch"
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-export GOPATH="$srcdir"
-export CGO_ENABLED=0
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- go build -ldflags "-X main.version=$pkgver"
+ make fq
}
check() {
- go test ./...
+ GO_TEST_RACE_FLAGS= make test
}
package() {
- install -Dm755 fq "$pkgdir"/usr/bin/fq
+ install -Dm755 fq -t "$pkgdir"/usr/bin/
}
sha512sums="
-2f4e8046147861604ec4bdef4a9a79c53dbfd8fa198f42264eebf8ba9235a71a7347748d161631ea11688f84ad07e1881eefc287b1049a8e376905cace914586 fq-0.0.3.tar.gz
+8cc179721de4b8b268dcd41c53b7c689b30574ea9f3c4f796115255b0dd8a2e681f955c2b2a0dc364f4e15aad582ea0a0aa038d4cee7c7bb79f5096d467883a3 fq-0.10.0.tar.gz
+0d1857a6ffd0f85a5de0f57a4f2aea521523c4a738a4805cd1c83644610a6ca51684f92db97eeff1e9bddd57800d0e66d2447fa95af25de82a5177c7e4a338cb enable-cgo.patch
"
diff --git a/testing/fq/enable-cgo.patch b/testing/fq/enable-cgo.patch
new file mode 100644
index 00000000000..c592c3ad509
--- /dev/null
+++ b/testing/fq/enable-cgo.patch
@@ -0,0 +1,17 @@
+Since Go 1.22 the build will fail with CGO_ENABLED=0 and -buildmode=pie
+since we enable -buildmode=pie by default, we need to enable CGO.
+
+See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/15809
+
+diff -upr fq-0.10.0.orig/Makefile fq-0.10.0/Makefile
+--- fq-0.10.0.orig/Makefile 2024-03-02 13:28:08.077086376 +0100
++++ fq-0.10.0/Makefile 2024-03-02 13:28:14.091342026 +0100
+@@ -7,7 +7,7 @@ all: test fq
+ .PHONY: always
+
+ fq: always
+- CGO_ENABLED=0 go build -o fq -ldflags "${GO_BUILD_LDFLAGS}" ${GO_BUILD_FLAGS} .
++ go build -o fq -ldflags "${GO_BUILD_LDFLAGS}" ${GO_BUILD_FLAGS} .
+
+ test: always testgo testjq testcli
+ test-race: always testgo-race testjq testcli
diff --git a/testing/fragments/APKBUILD b/testing/fragments/APKBUILD
new file mode 100644
index 00000000000..0d575cfc50c
--- /dev/null
+++ b/testing/fragments/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: NekoCWD <nekodevelopper@gmail.com>
+# Maintainer: NekoCWD <nekodevelopper@gmail.com>
+pkgname=fragments
+pkgver=2.1.1
+pkgrel=0
+pkgdesc="A BitTorrent Client"
+url="https://gitlab.gnome.org/World/Fragments"
+# s390x fails to build
+# riscv64: rust broken
+arch="all !s390x !riscv64"
+license="GPL-3.0-or-later"
+depends="transmission-daemon"
+makedepends="
+ cargo
+ dbus-dev
+ desktop-file-utils
+ libadwaita-dev
+ openssl-dev
+ m4
+ meson
+ "
+subpackages="$pkgname-lang"
+source="
+ https://gitlab.gnome.org/World/Fragments/-/archive/$pkgver/Fragments-$pkgver.tar.gz
+ no-cargo-home.patch
+ "
+options="net" # needed for downloading dependencies
+builddir="$srcdir/Fragments-$pkgver" # Name starts with capital letter
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ # without buildtype=release it builds debug
+ abuild-meson \
+ --buildtype=release \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+c4455f7f12a9abaaf42feb74ff07f49d5a91b0d50d1d80cc7980b8e6147146dd8784e766a36d5503ade6c663c3d42fc19573ff9a54da34f614549bc1ad91a003 Fragments-2.1.1.tar.gz
+2c4b7433f27b18bbb428bdc2053cda53f10e958a2045499ab7af6102df9610822cf36a82636cd5b9501ba4e204aeddc18fcdb79aff773657a9a5a3c1aeba8e95 no-cargo-home.patch
+"
diff --git a/testing/fragments/no-cargo-home.patch b/testing/fragments/no-cargo-home.patch
new file mode 100644
index 00000000000..f6530ce9128
--- /dev/null
+++ b/testing/fragments/no-cargo-home.patch
@@ -0,0 +1,13 @@
+diff --git a/src/meson.build b/src/meson.build
+index bf2da60..8c1069d 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -55,8 +55,6 @@ cargo_release = custom_target(
+ install: true,
+ install_dir: get_option('bindir'),
+ command: [
+- 'env',
+- cargo_env,
+ cargo, 'build',
+ cargo_options,
+ '&&',
diff --git a/testing/freealut/APKBUILD b/testing/freealut/APKBUILD
index 867f41d4cf8..9f2bc9853b1 100644
--- a/testing/freealut/APKBUILD
+++ b/testing/freealut/APKBUILD
@@ -1,9 +1,9 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=freealut
pkgver=1.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="OpenAL Utility Toolkit (ALUT)"
-url="https://github.com/vancegroup/freealut.git"
+url="https://github.com/vancegroup/freealut"
arch="all"
license="GPL-2.0-or-later"
makedepends="autoconf automake libtool openal-soft-dev"
diff --git a/testing/freecad/APKBUILD b/testing/freecad/APKBUILD
index 11b5ea2d2de..c09d6ef4934 100644
--- a/testing/freecad/APKBUILD
+++ b/testing/freecad/APKBUILD
@@ -1,75 +1,72 @@
# Contributor: Aiden Grossman <agrossman154@yahoo.com>
# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
pkgname=freecad
-pkgver=0.19.3
-pkgrel=0
+pkgver=0.20.2
+pkgrel=5
pkgdesc="Free and open source 3D parametric modeler"
url="https://freecadweb.org/"
license="LGPL-2.0-or-later"
arch="x86_64" # dependency OpenCascade is only x86_64
depends="
- python3 py3-pyside2 py3-six py3-pivy py3-matplotlib py3-ply py3-yaml
- py3-numpy graphviz opencascade hdf5
+ graphviz
+ hdf5
+ opencascade
+ py3-matplotlib
+ py3-numpy
+ py3-pivy
+ py3-ply
+ py3-pyside2
+ py3-six
+ py3-yaml
+ python3
"
makedepends="
- boost-dev xerces-c-dev cmake doxygen python3-dev opencascade-dev glu-dev
- vtk-dev libmedc-dev hdf5-dev eigen-dev qt5-qtxmlpatterns-dev qt5-qtsvg-dev
- qt5-qtwebengine-dev coin-dev freeimage-dev swig
+ boost-dev
+ cmake
+ coin-dev
+ doxygen
+ eigen-dev
+ freeimage-dev
+ glu-dev
+ hdf5-dev
+ libmedc-dev
+ libshiboken2-dev
+ onetbb-dev
+ opencascade-dev
+ py3-pyside2-dev
+ python3-dev
+ shiboken2
+ qt5-qtsvg-dev
+ qt5-qtwebengine-dev
+ qt5-qtxmlpatterns-dev
+ samurai
+ swig
+ vtk-dev
+ xerces-c-dev
"
-checkdepends="xvfb-run mesa mesa-dri-gallium ttf-opensans"
+checkdepends="xvfb-run mesa mesa-dri-gallium font-opensans"
source="https://github.com/FreeCAD/FreeCAD/archive/$pkgver/freecad-$pkgver.tar.gz
- vtk9.patch
- backtrace.patch
- tbb.patch
+ $pkgname-python3.11-1.patch::https://github.com/FreeCAD/FreeCAD/commit/fe02d63c8c9b1280978be841d04e68a0a55cceb9.patch
+ numpy-1.20.patch
+ no-execinfo.patch
+ no-workaround-spnav.patch
resourceDirectory.patch
- https://github.com/FreeCAD/FreeCAD/commit/6f3b00d67ec0bd0072b7b493e2a38d2a2e3af27d.patch
- https://github.com/FreeCAD/FreeCAD/commit/77b198048a63f1e9ca15eef64c8042d599a14cf3.patch
- https://github.com/FreeCAD/FreeCAD/commit/9b4db7e06472bf5550d0b7627b28b425bfcc8470.patch
- opencascade.patch
- https://github.com/FreeCAD/FreeCAD/commit/c9d17ebde2400f83d1e1e799bdb0a7f85a0da96d.patch
- https://github.com/FreeCAD/FreeCAD/commit/442c8d52a1989da8f17d60fafea5b81d79cbf0ab.patch
- https://github.com/FreeCAD/FreeCAD/commit/8e6dab209ee59be61d83a0ff249283a8809fa917.patch
- https://github.com/FreeCAD/FreeCAD/commit/0f3b5d275070477b7cd2bbfa2dc930135448fb0c.patch
- https://github.com/FreeCAD/FreeCAD/commit/08d46b5f882420c8d4066427fcc8dab5b1882097.patch
- https://github.com/FreeCAD/FreeCAD/commit/51e4366085e59a9b511f7160d66493e9b3dfc7d8.patch
- https://github.com/FreeCAD/FreeCAD/commit/c2c5ae1bf0c571270ecacf257a51e9b064fc609a.patch
- https://github.com/FreeCAD/FreeCAD/commit/302568d177ddde171c28eaca89e8b4a49466974f.patch
- https://github.com/FreeCAD/FreeCAD/commit/66d3dd897f63c2e4f8ffd6eced730c6a3372ad51.patch
- https://github.com/FreeCAD/FreeCAD/commit/03be15cc6b460ab62548142287eb9f677f463a44.patch
- https://github.com/FreeCAD/FreeCAD/commit/f628050732cc5d1d49fc18282ed508ca3061bb10.patch
- https://github.com/FreeCAD/FreeCAD/commit/16ff933b09176d83fb0785e74f36038311f0eaeb.patch
- https://github.com/FreeCAD/FreeCAD/commit/03da9d3501c6b596ad1828b99cb8d923cea56485.patch
- https://github.com/FreeCAD/FreeCAD/commit/fecf9c2e8492ddab0858b4af23b56da36bff6f6a.patch
- https://github.com/FreeCAD/FreeCAD/commit/8453d415150f289d36dfe4cbe6b91dfc512e82fe.patch
- https://github.com/FreeCAD/FreeCAD/commit/3131b97aa88736ac628428a8ceb025d9b7a8a965.patch
- https://github.com/FreeCAD/FreeCAD/commit/5b4c246944c72459016efff6ae903ac66c090991.patch
- https://github.com/FreeCAD/FreeCAD/commit/f55c46cc86344a6d7389156c015194f7d0fd2b63.patch
+ tests.patch
+ opencascade-7.8.0.patch
+ missing-include-cstdint.patch
"
builddir="$srcdir/FreeCAD-$pkgver"
-# MeshTestsApp disabled due to problems with py3-pivy and python3.10
-_testsuites="BaseTests
- UnitTests
- Document
- UnicodeTests
- TestDraft
- TestSketcherApp
- TestPartApp
- TestPartDesignApp
- TestPathApp
- Workbench
- "
-
build() {
- cmake . -B ./build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS="$CFLAGS -fPIC -w" \
-DCMAKE_CXX_FLAGS="$CXXFLAGS -fPIC -w" \
-DCMAKE_INSTALL_PREFIX=/usr/lib/freecad \
-DCMAKE_INSTALL_DATADIR=/usr/share/freecad \
-DCMAKE_INSTALL_DATAROOTDIR=/usr/share \
-DCMAKE_INSTALL_DOCDIR=/usr/share/freecad/doc \
- -DBUILD_ENABLE_CXX_STD=C++14 \
+ -DBUILD_ENABLE_CXX_STD=C++17 \
-DBUILD_QT5=ON \
-DFREECAD_USE_EXTERNAL_PIVY=ON \
-DFREECAD_USE_OCC_VARIANT="Official Version" \
@@ -83,11 +80,8 @@ check() {
mkdir -p test_install/usr/bin
ln -s ../lib/freecad/bin/FreeCAD test_install/usr/bin/FreeCAD
ln -s ../lib/freecad/bin/FreeCADCmd test_install/usr/bin/FreeCADCmd
- for testSuite in $_testsuites
- do
- LD_LIBRARY_PATH=test_install/usr/lib/freecad/lib \
- xvfb-run -a test_install/usr/bin/FreeCAD -t $testSuite
- done
+ LD_LIBRARY_PATH="$PWD"/test_install/usr/lib/freecad/lib \
+ xvfb-run "$PWD"/test_install/usr/bin/FreeCAD -t 0
}
package() {
@@ -101,31 +95,13 @@ package() {
}
sha512sums="
-152a691aac713bb7cb891f48420e71db54ea5fab6efc023a8b5f76ff6f87f178fe77a5f237f7e5b91b1b0563842870394786adf5dd72b7ca833f3ed34152e3a7 freecad-0.19.3.tar.gz
-53f2becfebff2713c07a4a7e78a438502ea4cb401dfab116a2f84cb066f33adfaeaae9b03e9243f0534cb648cd7e3753e66456aa1e5600a0fdb724d7ef7fbf50 vtk9.patch
-04e9a2cb4323aa66445eab0e27648272b84a9459f9b55784454edb74b2f3f9031749777ac4b8d01ebcae63703398d7e0033b62196461378cc9a16d7f372d5e10 backtrace.patch
-46558d5f979836e7ea4571b9806c6d8d95753a0b6ae16aced0ecd63ba5679c319a1ee94a08b058be191fa2835e168a7702ca0005fb110b76fbbc2eb42852d47c tbb.patch
-a12be7920a9ba0076c45c40d4afc43e9b9a4f8370430f8be0b505c30401564c25d9ae651b840332a716d4de2f0b0ebfb61b2f4c7952b9ea6d4d2e08d3a42bfef resourceDirectory.patch
-e79b92f208fb24cdb8a729645db0774b33ce31890d4b99775900fc17070d5569c7072589e7b2c021d320cc6168b5b004f83f8625b724d992a0853b3a108dfa94 6f3b00d67ec0bd0072b7b493e2a38d2a2e3af27d.patch
-5a0897872a7f5f817a1300651e77d7fd9a2b4bca1a752bb02dc722a94cf6ac49e87fd98a22853a3147479acdb936023a110a404f9b1c1027755ae5dc08a4ca9f 77b198048a63f1e9ca15eef64c8042d599a14cf3.patch
-bbb3eb25e903941ce641442c6ad1ede063bd1d47911ea7583f5eb88db97b20e8441ab7db2426d99ead1ddc03a263df29c147c6a56fb7c56a6031edc198e6f539 9b4db7e06472bf5550d0b7627b28b425bfcc8470.patch
-3ea009c5d3654b4e8002f3a446ba84b35afea31b1df973f260aef6499b64edce96b8b50b2b3c0629f1f0814863c5b28f4d91f4648b4869ce477f1adda6c03236 opencascade.patch
-1c91a71e2624b51f5600d56eca7ca0e63341effe5429fd003fb1cbab5f78d3119075f1fe9b49be32377aba80f4b56ebeedf020565fa3d4c9bd610def0ebd5fb8 c9d17ebde2400f83d1e1e799bdb0a7f85a0da96d.patch
-3cd23462ebe8593d7b397a3bcff19dd3a068e917dcd4d75943a6bb3984527150ba71d8d1b16a7def71f9a149e083d7e7138810729528edc34b5445c53cb9b094 442c8d52a1989da8f17d60fafea5b81d79cbf0ab.patch
-6b1e3733e4d191e70a1af6edad13fdf51fa7c21297d5a65cfba8891027675cb82b6e66342a40ef16045a3150ac6b0e63aae8eeeb48378afa1b4f4f10ff6c8ed1 8e6dab209ee59be61d83a0ff249283a8809fa917.patch
-302a7e8eb5544ab7b610a1e3a706d4dd1afde554874e3677288991ecda6928489000c670db0873e34e803c5e5fcdee4fb1c290d6342b7f7450c30997fa00b0fc 0f3b5d275070477b7cd2bbfa2dc930135448fb0c.patch
-e33702c32073539a9135e17feab221cd34bb3aaa2bdb4d864767c7ec19be2bcb3dc7714db534dcb1ebbbca29793ef1c74edcab7d7a06bda59f1211aec37d5672 08d46b5f882420c8d4066427fcc8dab5b1882097.patch
-48c244d6a07f2dfd6d2fcc54afe53020ec3126f613207cee2d3b7125e187b4dcceabb46b9a893b5f276d4e243ca907097bcc8b6a55c9701ce806da18b2870fde 51e4366085e59a9b511f7160d66493e9b3dfc7d8.patch
-b99dfdccf4e79bfc072e5aeace49e8433456dcdab0ee701b3137aa1e177cd3f48ee32f3ba7946e7a4d7e80cf7387c71d1ab2a5f417faa6dc5a235820f2a081cd c2c5ae1bf0c571270ecacf257a51e9b064fc609a.patch
-65a71e1aec106236c3141819b8f03e37d596e0df0271b03b5ee67ae3f2de9da8c0b96613ab7226a849022442e24382473cff4ce7aee48548d66326942ffb1abb 302568d177ddde171c28eaca89e8b4a49466974f.patch
-4d188c8886a810cfa9b7a853315a3fa782fb28e79882ce87be27335b111e263161151990acd0c5351e09876088976570cb2b55f4a358d9a96ddb12b3ea1d42cb 66d3dd897f63c2e4f8ffd6eced730c6a3372ad51.patch
-6d6d5cc1d8f00160b3d06c86ae89976e560df886a83e7279cf29fbdda582e8ccad53d8fb974ccc719104e490ddab24311ea1683b179121211e5306cf55a91946 03be15cc6b460ab62548142287eb9f677f463a44.patch
-6a413f455423569e3fe77f96ea2e4961456054b850e35e2ee3f560655a13776ccac5153f72acb4ce7c0b5671e66a91a145b7e2a0c5606aefc53f7562158c3f90 f628050732cc5d1d49fc18282ed508ca3061bb10.patch
-d530d195f8b96bff3b4083c7ec60fbcb78813f872ab4cadab09340eb98fcbcc95649095c07760b7fe9d66db7f2ce5a475cbb753d4c7b73afa5b13009fccdc805 16ff933b09176d83fb0785e74f36038311f0eaeb.patch
-3a00f3b1d3c60ccfb577afb2414968ad7f1a57948fe8df66054f4e30ca9e80f90a77dfb0ed29267333cd3f8aae34856efbf5071ef07817f03b660db6ca265051 03da9d3501c6b596ad1828b99cb8d923cea56485.patch
-d3633d9ea927015f07599d9962e76f88905a94706c8f98badbdd9cdf4c9df798e452802867080d2c8c28f360762f2b829f892f8172954a88037a38f884961788 fecf9c2e8492ddab0858b4af23b56da36bff6f6a.patch
-a285a62a88fc932e391784aecdb6fb93e40aec2c139075c10737d6083492ea2eb41b334544771c263a9e0da7c53670a0fc5a92a76a922ff2ad8967a300788196 8453d415150f289d36dfe4cbe6b91dfc512e82fe.patch
-574532209917525ac3019aa55ade8b3be42864cd0b80e102bcd9bcdb90e8adfd8c350e7cb94bf2100d099668c7088fe8cab72aedac5dd0ca74cb0287f7f512b7 3131b97aa88736ac628428a8ceb025d9b7a8a965.patch
-b536eea2f3bcbb596e13689d62954914e3634b235f253e4949d7c83715245ebf4d8c23c4bf24d56de1b6893fc3c6c762c03b1117b1966e520838090610e87269 5b4c246944c72459016efff6ae903ac66c090991.patch
-deddc46ce3362bf2855bb74436c8a1f3547cfb777771c9a0420d96ddd92375129287ffe62966f16d204be89f0c6a384b916e428ff4ebd147480de2f7b886865c f55c46cc86344a6d7389156c015194f7d0fd2b63.patch
+c3acd77dd2bb9a2a23ac354da3b6102effb89c95d675e91421d65486414dfe8cc0188a7212245e0deb63f17b9c5df76133017be09e4cd14b833be8cbec52a08d freecad-0.20.2.tar.gz
+75a237f7ed7a89a98c0e5bdb3d3f0788749602daf718089aa0814e05f93ced1e15ad5867c7c87f170b48c5984f9ace1bbc95c4f386ce72bfb8d616323b47f1e5 freecad-python3.11-1.patch
+80b08b031810fce7b6d698c662f64fa4f8a904f283f46b478b1d718529164c0ee61ce190f633abf04e03212720480f3f0603b0c1e160af79d7b6bb82da3bd0e4 numpy-1.20.patch
+73aaba7015dce7048eb7d2456131b5b5ba4673cc980503331987be54d99daed5f61db015ca33d7d2ef0f02bd3192da8ce122c103c3b93f9959927deb4f0b933e no-execinfo.patch
+15696bdaaf77482f1b5d3806535a8004c8cec7d598d62092d9f0394b4ca9e2ad6cedd77c4b86a83a06324d16678c1c6bbf3a390b807729717a2f513e858afd50 no-workaround-spnav.patch
+8ba13b17bad66316757d180c1b9e9e72a24382627eac7c43a2264b3b5101e6e8f701775f2b805ed733f500fbcd8b0e8e422ec58a9ab3d948d613b666157d4c52 resourceDirectory.patch
+5db19e0aa2ca1fd21f4c56afc9db54390a799262aaa0a741704c2c304b0068fd6ca1dcc086465e12e9c0cfe06aac750aaf9b8f5f4db324539af4dd3394803ff9 tests.patch
+f933680dea8744e147f38abce389cb7fd0ec3fb3566454fdd5e6ea07b2faaac5fe61aabe1df3bda9f0d7b4fca16055aa2ad700e9cce10d2604ae37b761b68ade opencascade-7.8.0.patch
+fec515cc63830f0e715527c7890173705b24e7d99d225821ec4300104cf3affdee49243bbd4d0a331a902cf04db756a1b8f18f0a17cc71f5757f8b5c73c78ede missing-include-cstdint.patch
"
diff --git a/testing/freecad/backtrace.patch b/testing/freecad/backtrace.patch
deleted file mode 100644
index ca6e79ab010..00000000000
--- a/testing/freecad/backtrace.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Removes the use of backtrace as musl libc does not support it.
-Patch is upstreamed and should not be needed after FreeCAD v0.20.
---- ./src/App/Application.cpp
-+++ ./src/App/Application.cpp
-@@ -1589,6 +1589,7 @@
- // This function produces a stack backtrace with demangled function & method names.
- void printBacktrace(size_t skip=0)
- {
-+#if BACKTRACE_PRESENT
- void *callstack[128];
- size_t nMaxFrames = sizeof(callstack) / sizeof(callstack[0]);
- size_t nFrames = backtrace(callstack, nMaxFrames);
-@@ -1619,6 +1620,9 @@
- }
-
- free(symbols);
-+#else
-+ std:cerr << "FreeCAD has not been compiled with backtrace support and thus some debug information is not available" << std::endl;
-+#endif
- }
- #endif
-
---- ./cMake/ConfigureChecks.cmake
-+++ ./cMake/ConfigureChecks.cmake
-@@ -62,4 +62,6 @@
- SET(HAVE_QT_KEYPAD_DEFINE 1)
- SET(HAVE_QWIDGET_SHOWFULLSCREEN 1)
-
--
-+IF(Backtrace_FOUND)
-+ ADD_COMPILE_DEFINITIONS(BACKTRACE_PRESENT)
-+ENDIF(Backtrace_FOUND)
diff --git a/testing/freecad/missing-include-cstdint.patch b/testing/freecad/missing-include-cstdint.patch
new file mode 100644
index 00000000000..363a706879f
--- /dev/null
+++ b/testing/freecad/missing-include-cstdint.patch
@@ -0,0 +1,11 @@
+diff --color -rupN a/src/3rdParty/libE57Format/include/E57Format.h b/src/3rdParty/libE57Format/include/E57Format.h
+--- a/src/3rdParty/libE57Format/include/E57Format.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/3rdParty/libE57Format/include/E57Format.h 2024-02-27 14:06:29.308892531 +0100
+@@ -32,6 +32,7 @@
+ //! @file E57Format.h header file for the E57 API
+
+ #include <cfloat>
++#include <cstdint>
+ #include <memory>
+ #include <vector>
+
diff --git a/testing/freecad/no-execinfo.patch b/testing/freecad/no-execinfo.patch
new file mode 100644
index 00000000000..3e1c39c164a
--- /dev/null
+++ b/testing/freecad/no-execinfo.patch
@@ -0,0 +1,46 @@
+diff --git a/src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp b/src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
+index 23c5083..54c7ecf 100644
+--- a/src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
++++ b/src/3rdParty/salomesmesh/src/DriverSTL/Basics_Utils.cpp
+@@ -29,7 +29,6 @@
+ #ifndef WIN32
+ #include <unistd.h>
+ #include <sys/stat.h>
+-#include <execinfo.h>
+ #endif
+
+
+@@ -109,20 +108,7 @@ namespace Kernel_Utils
+ #ifndef WIN32
+ void print_traceback()
+ {
+- void *array[50];
+- size_t size;
+- char **strings;
+- size_t i;
+-
+- size = backtrace (array, 40);
+- strings = backtrace_symbols (array, size);
+-
+- for (i = 0; i < size; i++)
+- {
+- std::cerr << strings[i] << std::endl;
+- }
+-
+- free (strings);
++ std::cerr << "there is no backtrace." << std::endl;
+ }
+ #else
+ #if (_MSC_VER >= 1400) // Visual Studio 2005
+diff --git a/src/App/Application.cpp b/src/App/Application.cpp
+index 3081623..ba3525f 100644
+--- a/src/App/Application.cpp
++++ b/src/App/Application.cpp
+@@ -1732,7 +1732,6 @@ static void freecadNewHandler ()
+ #endif
+
+ #if defined(FC_OS_LINUX)
+-#include <execinfo.h>
+ #include <dlfcn.h>
+ #include <cxxabi.h>
+
diff --git a/testing/freecad/no-workaround-spnav.patch b/testing/freecad/no-workaround-spnav.patch
new file mode 100644
index 00000000000..ee4fead9fa4
--- /dev/null
+++ b/testing/freecad/no-workaround-spnav.patch
@@ -0,0 +1,69 @@
+Patch-Source: https://github.com/FreeCAD/FreeCAD/commit/7b377a216b9185960e4cee980a6504dc1a755f50
+fixes stderr reassignment
+--
+From 7b377a216b9185960e4cee980a6504dc1a755f50 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Wed, 29 Jun 2022 15:19:18 +0200
+Subject: [PATCH] Gui: remove workaround for spnav 0.23 due to build failure
+ with musl libc
+
+---
+ src/Gui/3Dconnexion/GuiNativeEventLinux.cpp | 27 ---------------------
+ 1 file changed, 27 deletions(-)
+
+diff --git a/src/Gui/3Dconnexion/GuiNativeEventLinux.cpp b/src/Gui/3Dconnexion/GuiNativeEventLinux.cpp
+index 7f0ddd75d262..455ece0b36bd 100644
+--- a/src/Gui/3Dconnexion/GuiNativeEventLinux.cpp
++++ b/src/Gui/3Dconnexion/GuiNativeEventLinux.cpp
+@@ -21,42 +21,17 @@
+ ***************************************************************************/
+
+ #include <FCConfig.h>
+-#include <cstdio>
+
+ #include "GuiNativeEventLinux.h"
+
+ #include "GuiApplicationNativeEventAware.h"
+ #include <Base/Console.h>
+-#include <Base/FileInfo.h>
+ #include <QMainWindow>
+
+ #include <QSocketNotifier>
+
+ #include <spnav.h>
+
+-namespace {
+-class RedirectStdErr
+-{
+-public:
+- RedirectStdErr()
+- : fi(Base::FileInfo::getTempFileName())
+- , file(stderr)
+- {
+- stderr = fopen(fi.filePath().c_str(), "w");
+- }
+- ~RedirectStdErr()
+- {
+- fclose(stderr);
+- fi.deleteFile();
+- stderr = file;
+- }
+-
+-private:
+- Base::FileInfo fi;
+- FILE* file;
+-};
+-}
+-
+ Gui::GuiNativeEvent::GuiNativeEvent(Gui::GUIApplicationNativeEventAware *app)
+ : GuiAbstractNativeEvent(app)
+ {
+@@ -72,8 +47,6 @@ Gui::GuiNativeEvent::~GuiNativeEvent()
+
+ void Gui::GuiNativeEvent::initSpaceball(QMainWindow *window)
+ {
+- // tmp. redirect stderr to a file to suppress an error message from spnav_open()
+- RedirectStdErr err;
+ Q_UNUSED(window)
+ if (spnav_open() == -1) {
+ Base::Console().Log("Couldn't connect to spacenav daemon. Please ignore if you don't have a spacemouse.\n");
diff --git a/testing/freecad/numpy-1.20.patch b/testing/freecad/numpy-1.20.patch
new file mode 100644
index 00000000000..20f4b412589
--- /dev/null
+++ b/testing/freecad/numpy-1.20.patch
@@ -0,0 +1,25 @@
+Patch-Source: https://github.com/FreeCAD/FreeCAD/commit/8b0df1dc936b544091f6a2d68df1c1a14ae3de5b
+--
+From 8b0df1dc936b544091f6a2d68df1c1a14ae3de5b Mon Sep 17 00:00:00 2001
+From: lorenz <looooo@users.noreply.github.com>
+Date: Tue, 27 Dec 2022 04:59:35 +0100
+Subject: [PATCH] FEM: femmesh: fix AttributeError: module 'numpy' has no
+ attribute 'int'
+
+---
+ src/Mod/Fem/femmesh/meshtools.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Mod/Fem/femmesh/meshtools.py b/src/Mod/Fem/femmesh/meshtools.py
+index dd8671b..d2e2b0a 100644
+--- a/src/Mod/Fem/femmesh/meshtools.py
++++ b/src/Mod/Fem/femmesh/meshtools.py
+@@ -485,7 +485,7 @@ def get_femelement_sets(
+ # fem_objects = FreeCAD FEM document objects
+ # get femelements for reference shapes of each obj.References
+ count_femelements = 0
+- referenced_femelements = np.zeros((max(femelement_table.keys())+1,),dtype=np.int)
++ referenced_femelements = np.zeros((max(femelement_table.keys())+1,),dtype=int)
+ has_remaining_femelements = None
+ for fem_object_i, fem_object in enumerate(fem_objects):
+ obj = fem_object["Object"]
diff --git a/testing/freecad/opencascade-7.8.0.patch b/testing/freecad/opencascade-7.8.0.patch
new file mode 100644
index 00000000000..582fbde3547
--- /dev/null
+++ b/testing/freecad/opencascade-7.8.0.patch
@@ -0,0 +1,877 @@
+Fix compilation with opencascase 7.8.0
+
+Base on https://github.com/FreeCAD/FreeCAD/pull/11909
+
+diff --color -rupN a/cMake/FindOCC.cmake b/cMake/FindOCC.cmake
+--- a/cMake/FindOCC.cmake 2022-12-07 03:35:37.000000000 +0100
++++ b/cMake/FindOCC.cmake 2024-02-27 15:00:48.248873883 +0100
+@@ -127,8 +127,6 @@ if(OCC_FOUND)
+ TKG2d
+ TKG3d
+ TKMath
+- TKIGES
+- TKSTL
+ TKShHealing
+ TKXSBase
+ TKBool
+@@ -139,10 +137,6 @@ if(OCC_FOUND)
+ TKGeomBase
+ TKOffset
+ TKPrim
+- TKSTEPBase
+- TKSTEPAttr
+- TKSTEP209
+- TKSTEP
+ TKHLR
+ TKFeat
+ )
+@@ -154,17 +148,19 @@ if(OCC_FOUND)
+ TKLCAF
+ TKVCAF
+ TKCDF
+- TKXDESTEP
+- TKXDEIGES
+ TKMeshVS
+ TKService
+ TKV3d
+ )
+- if(OCC_VERSION_STRING VERSION_LESS 6.7.3)
+- list(APPEND OCC_OCAF_LIBRARIES TKAdvTools)
+- elseif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0)
++ if(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0)
+ list(APPEND OCC_OCAF_LIBRARIES TKRWMesh)
+- endif(OCC_VERSION_STRING VERSION_LESS 6.7.3)
++ endif(NOT OCC_VERSION_STRING VERSION_LESS 7.5.0)
++ if(OCC_VERSION_STRING VERSION_LESS 7.8.0)
++ list(APPEND OCC_LIBRARIES TKIGES TKSTL TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP)
++ list(APPEND OCC_OCAF_LIBRARIES TKXDESTEP TKXDEIGES)
++ else(OCC_VERSION_STRING VERSION_LESS 7.8.0)
++ list(APPEND OCC_LIBRARIES TKDESTEP TKDEIGES TKDEGLTF TKDESTL)
++ endif(OCC_VERSION_STRING VERSION_LESS 7.8.0)
+ message(STATUS "-- Found OCE/OpenCASCADE version: ${OCC_VERSION_STRING}")
+ message(STATUS "-- OCE/OpenCASCADE include directory: ${OCC_INCLUDE_DIR}")
+ message(STATUS "-- OCE/OpenCASCADE shared libraries directory: ${OCC_LIBRARY_DIR}")
+diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx b/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx
+--- a/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx 2022-12-07 03:35:37.000000000 +0100
++++ b/src/3rdParty/salomesmesh/inc/SMESHDS_DataMapOfShape.hxx 2024-02-27 15:00:48.248873883 +0100
+@@ -29,22 +29,35 @@
+
+ #include <TopoDS_Shape.hxx>
+
++#include <Standard_Version.hxx>
++
+ /*
+ * This method needed for instance NCollection_DataMap with TopoDS_Shape as key
+ */
++#if OCC_VERSION_HEX >= 0x070800
+ struct SMESHDS_Hasher
+ {
+- static inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
+- const TopoDS_Shape& S2)
+- {
+- return S1.IsSame(S2);
++ size_t operator()(const TopoDS_Shape& S) const noexcept {
++ return std::hash<TopoDS_Shape>{}(S);
+ }
+- static inline Standard_Integer HashCode(const TopoDS_Shape& S,
+- const Standard_Integer Upper)
+- {
+- return ::HashCode( S, Upper);
++ size_t operator()(const TopoDS_Shape& S1, const TopoDS_Shape& S2) const noexcept {
++ return S1.IsSame(S2);
+ }
+ };
+-
++#else
++struct SMESHDS_Hasher
++{
++static inline Standard_Boolean IsEqual(const TopoDS_Shape& S1,
++ const TopoDS_Shape& S2)
++{
++ return S1.IsSame(S2);
++}
++static inline Standard_Integer HashCode(const TopoDS_Shape& S,
++ const Standard_Integer Upper)
++{
++ return ::HashCode( S, Upper);
++}
++};
++#endif
+
+ #endif
+diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx b/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx
+--- a/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx 2022-12-07 03:35:37.000000000 +0100
++++ b/src/3rdParty/salomesmesh/inc/SMESH_MeshVSLink.hxx 2024-02-27 15:00:48.248873883 +0100
+@@ -57,9 +57,6 @@
+ #ifndef _MeshVS_EntityType_HeaderFile
+ #include <MeshVS_EntityType.hxx>
+ #endif
+-#ifndef _Standard_Address_HeaderFile
+-#include <Standard_Address.hxx>
+-#endif
+ #ifndef _TColStd_HArray1OfInteger_HeaderFile
+ #include <TColStd_HArray1OfInteger.hxx>
+ #endif
+diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx b/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx
+--- a/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx 2022-12-07 03:35:37.000000000 +0100
++++ b/src/3rdParty/salomesmesh/inc/SMESH_SMESH.hxx 2024-02-27 15:00:48.248873883 +0100
+@@ -37,4 +37,5 @@
+ #define SMESH_EXPORT
+ #endif
+
++#include <Standard_Version.hxx>
+ #endif
+diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx b/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx
+--- a/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx 2022-12-07 03:35:37.000000000 +0100
++++ b/src/3rdParty/salomesmesh/inc/SMESH_SequenceOfNode.hxx 2024-02-27 15:00:48.252207183 +0100
+@@ -28,10 +28,11 @@
+
+ #include "SMESH_SMESH.hxx"
+
+-#include <NCollection_DefineSequence.hxx>
+ #if OCC_VERSION_HEX >= 0x060703
+ #include <NCollection_IncAllocator.hxx>
+ #include <NCollection_Sequence.hxx>
++#else
++#include <NCollection_DefineSequence.hxx>
+ #endif
+
+ typedef const SMDS_MeshNode* SMDS_MeshNodePtr;
+diff --color -rupN a/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx b/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx
+--- a/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx 2022-12-07 03:35:37.000000000 +0100
++++ b/src/3rdParty/salomesmesh/inc/SMESH_TypeDefs.hxx 2024-02-27 15:00:48.252207183 +0100
+@@ -185,11 +185,18 @@ typedef std::vector< UVPtStruct > UVPtSt
+
+ // --------------------------------------------------------------------------------
+ // class SMESH_SequenceOfElemPtr
++#include <Standard_Version.hxx>
++#if OCC_VERSION_HEX >= 0x060703
++#include <NCollection_Sequence.hxx>
++#else
+ #include <NCollection_DefineSequence.hxx>
++#endif
+
+ class SMDS_MeshElement;
+
+ typedef const SMDS_MeshElement* SMDS_MeshElementPtr;
++#define DEFINE_SEQUENCE(_ClassName_, _BaseCollection_, TheItemType) \
++typedef NCollection_Sequence<TheItemType > _ClassName_;
+
+ DEFINE_SEQUENCE (SMESH_SequenceOfElemPtr, SMESH_BaseCollectionElemPtr, SMDS_MeshElementPtr)
+
+diff --color -rupN a/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp b/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp
+--- a/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/3rdParty/salomesmesh/src/DriverSTL/DriverSTL_R_SMDS_Mesh.cpp 2024-02-27 15:00:48.252207183 +0100
+@@ -33,10 +33,33 @@
+ #include "SMDS_MeshNode.hxx"
+ #include "SMESH_File.hxx"
+
++#include <Standard_Version.hxx>
++
+ namespace
+ {
+ struct Hasher
+ {
++#if OCC_VERSION_HEX >= 0x070800
++ size_t operator()(const gp_Pnt& point) const noexcept
++ {
++ union
++ {
++ Standard_Real R[3];
++ Standard_Integer I[6];
++ } U;
++
++ point.Coord( U.R[0], U.R[1], U.R[2] );
++ return std::hash<Standard_Integer>{}(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7);
++ }
++
++ size_t operator()(const gp_Pnt& point1, const gp_Pnt& point2) const noexcept
++ {
++ static Standard_Real tab1[3], tab2[3];
++ point1.Coord(tab1[0],tab1[1],tab1[2]);
++ point2.Coord(tab2[0],tab2[1],tab2[2]);
++ return (memcmp(tab1,tab2,sizeof(tab1)) == 0);
++ }
++#else
+ //=======================================================================
+ //function : HashCode
+ //purpose :
+@@ -51,9 +74,9 @@ namespace
+ } U;
+
+ point.Coord( U.R[0], U.R[1], U.R[2] );
+-
+- return ::HashCode(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7,Upper);
++ return std::hash<Standard_Integer>{}(U.I[0]/23+U.I[1]/19+U.I[2]/17+U.I[3]/13+U.I[4]/11+U.I[5]/7);
+ }
++
+ //=======================================================================
+ //function : IsEqual
+ //purpose :
+@@ -66,7 +89,9 @@ namespace
+ point2.Coord(tab2[0],tab2[1],tab2[2]);
+ return (memcmp(tab1,tab2,sizeof(tab1)) == 0);
+ }
++#endif
+ };
++
+ typedef NCollection_DataMap<gp_Pnt,SMDS_MeshNode*,Hasher> TDataMapOfPntNodePtr;
+
+ const int HEADER_SIZE = 84;
+diff --color -rupN a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp
+--- a/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/3rdParty/salomesmesh/src/StdMeshers/StdMeshers_Quadrangle_2D.cpp 2024-02-27 15:00:48.252207183 +0100
+@@ -48,7 +48,6 @@
+ #include <Bnd_Box.hxx>
+ #include <GeomAPI_ProjectPointOnSurf.hxx>
+ #include <Geom_Surface.hxx>
+-#include <NCollection_DefineArray2.hxx>
+ #include <Precision.hxx>
+ #include <Standard_Real.hxx>
+ #include <TColStd_SequenceOfInteger.hxx>
+diff --color -rupN a/src/Mod/Drawing/App/PreCompiled.h b/src/Mod/Drawing/App/PreCompiled.h
+--- a/src/Mod/Drawing/App/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Drawing/App/PreCompiled.h 2024-02-27 15:00:48.252207183 +0100
+@@ -70,7 +70,6 @@
+ #include <Standard_LicenseError.hxx>
+ #include <Standard_LicenseNotFound.hxx>
+ #include <Standard_Macro.hxx>
+-#include <Standard_math.hxx>
+ #include <Standard_MultiplyDefined.hxx>
+ #include <Standard_NegativeValue.hxx>
+ #include <Standard_NoMoreObject.hxx>
+diff --color -rupN a/src/Mod/Drawing/Gui/TaskDialog.cpp b/src/Mod/Drawing/Gui/TaskDialog.cpp
+--- a/src/Mod/Drawing/Gui/TaskDialog.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Drawing/Gui/TaskDialog.cpp 2024-02-27 15:00:48.252207183 +0100
+@@ -29,7 +29,6 @@
+ #endif
+
+
+-#include <Standard_math.hxx>
+ #include "TaskDialog.h"
+ #include <Gui/Application.h>
+ #include <Gui/Command.h>
+diff --color -rupN a/src/Mod/Fem/Gui/PreCompiled.h b/src/Mod/Fem/Gui/PreCompiled.h
+--- a/src/Mod/Fem/Gui/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Fem/Gui/PreCompiled.h 2024-02-27 15:00:48.252207183 +0100
+@@ -63,7 +63,6 @@
+ #endif
+
+ // OCC
+-#include <Standard_math.hxx>
+ #include <Precision.hxx>
+ #include <TopoDS.hxx>
+ #include <BRepAdaptor_Surface.hxx>
+diff --color -rupN a/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp b/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp
+--- a/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Fem/Gui/TaskCreateNodeSet.cpp 2024-02-27 15:00:48.252207183 +0100
+@@ -28,7 +28,6 @@
+
+ # include <SMESH_Mesh.hxx>
+ # include <SMESHDS_Mesh.hxx>
+-# include <Standard_math.hxx>
+ #endif
+
+ #include <Base/Console.h>
+diff --color -rupN a/src/Mod/Import/App/ImportOCAF.cpp b/src/Mod/Import/App/ImportOCAF.cpp
+--- a/src/Mod/Import/App/ImportOCAF.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Import/App/ImportOCAF.cpp 2024-02-27 15:00:48.252207183 +0100
+@@ -165,7 +165,11 @@ void ImportOCAF::loadShapes(const TDF_La
+ std::vector<App::DocumentObject *> localValue;
+
+ if (aShapeTool->GetShape(label,aShape)) {
++#if OCC_VERSION_HEX >= 0x070800
++ hash = std::hash<TopoDS_Shape>{}(aShape);
++#else
+ hash = aShape.HashCode(HashUpper);
++#endif
+ }
+
+ Handle(TDataStd_Name) name;
+@@ -235,7 +239,11 @@ void ImportOCAF::loadShapes(const TDF_La
+ if (isRef || myRefShapes.find(hash) == myRefShapes.end()) {
+ TopoDS_Shape aShape;
+ if (isRef && aShapeTool->GetShape(label, aShape))
++#if OCC_VERSION_HEX >= 0x070800
++ myRefShapes.insert(std::hash<TopoDS_Shape>{}(aShape));
++#else
+ myRefShapes.insert(aShape.HashCode(HashUpper));
++#endif
+
+ if (aShapeTool->IsSimpleShape(label) && (isRef || aShapeTool->IsFree(label))) {
+ if (!asm_name.empty())
+@@ -565,7 +573,11 @@ void ImportXCAF::createShape(const TopoD
+ part->Label.setValue(default_name);
+ part->Shape.setValue(shape);
+ std::map<Standard_Integer, Quantity_ColorRGBA>::const_iterator jt;
++#if OCC_VERSION_HEX >= 0x070800
++ jt = myColorMap.find(std::hash<TopoDS_Shape>{}(shape));
++#else
+ jt = myColorMap.find(shape.HashCode(INT_MAX));
++#endif
+
+ App::Color partColor(0.8f,0.8f,0.8f);
+ #if 0//TODO
+@@ -586,7 +598,11 @@ void ImportXCAF::createShape(const TopoD
+ // set label name if defined
+ if (setname && !myNameMap.empty()) {
+ std::map<Standard_Integer, std::string>::const_iterator jt;
++#if OCC_VERSION_HEX >= 0x070800
++ jt = myNameMap.find(std::hash<TopoDS_Shape>{}(shape));
++#else
+ jt = myNameMap.find(shape.HashCode(INT_MAX));
++#endif
+ if (jt != myNameMap.end()) {
+ part->Label.setValue(jt->second);
+ }
+@@ -606,7 +622,11 @@ void ImportXCAF::createShape(const TopoD
+ faceColors.resize(faces.Extent(), partColor);
+ xp.Init(shape,TopAbs_FACE);
+ while (xp.More()) {
++#if OCC_VERSION_HEX >= 0x070800
++ jt = myColorMap.find(std::hash<TopoDS_Shape>{}(xp.Current()));
++#else
+ jt = myColorMap.find(xp.Current().HashCode(INT_MAX));
++#endif
+ if (jt != myColorMap.end()) {
+ int index = faces.FindIndex(xp.Current());
+ faceColors[index-1] = convertColor(jt->second);
+@@ -641,23 +661,51 @@ void ImportXCAF::loadShapes(const TDF_La
+ // add the shapes
+ TopExp_Explorer xp;
+ for (xp.Init(aShape, TopAbs_SOLID); xp.More(); xp.Next(), ctSolids++)
++#if OCC_VERSION_HEX >= 0x070800
++ this->mySolids[std::hash<TopoDS_Shape>{}(xp.Current())] = (xp.Current());
++#else
+ this->mySolids[xp.Current().HashCode(INT_MAX)] = (xp.Current());
++#endif
+ for (xp.Init(aShape, TopAbs_SHELL, TopAbs_SOLID); xp.More(); xp.Next(), ctShells++)
++#if OCC_VERSION_HEX >= 0x070800
++ this->myShells[std::hash<TopoDS_Shape>{}(xp.Current())] = (xp.Current());
++#else
+ this->myShells[xp.Current().HashCode(INT_MAX)] = (xp.Current());
++#endif
+ // if no solids and no shells were found then go for compounds
+ if (ctSolids == 0 && ctShells == 0) {
+ for (xp.Init(aShape, TopAbs_COMPOUND); xp.More(); xp.Next(), ctComps++)
++#if OCC_VERSION_HEX >= 0x070800
++ this->myCompds[std::hash<TopoDS_Shape>{}(xp.Current())] = (xp.Current());
++#else
+ this->myCompds[xp.Current().HashCode(INT_MAX)] = (xp.Current());
++#endif
+ }
+ if (ctComps == 0) {
+ for (xp.Init(aShape, TopAbs_FACE, TopAbs_SHELL); xp.More(); xp.Next())
++#if OCC_VERSION_HEX >= 0x070800
++ this->myShapes[std::hash<TopoDS_Shape>{}(xp.Current())] = (xp.Current());
++#else
+ this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current());
++#endif
+ for (xp.Init(aShape, TopAbs_WIRE, TopAbs_FACE); xp.More(); xp.Next())
++#if OCC_VERSION_HEX >= 0x070800
++ this->myShapes[std::hash<TopoDS_Shape>{}(xp.Current())] = (xp.Current());
++#else
+ this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current());
++#endif
+ for (xp.Init(aShape, TopAbs_EDGE, TopAbs_WIRE); xp.More(); xp.Next())
++#if OCC_VERSION_HEX >= 0x070800
++ this->myShapes[std::hash<TopoDS_Shape>{}(xp.Current())] = (xp.Current());
++#else
+ this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current());
++#endif
+ for (xp.Init(aShape, TopAbs_VERTEX, TopAbs_EDGE); xp.More(); xp.Next())
++#if OCC_VERSION_HEX >= 0x070800
++ this->myShapes[std::hash<TopoDS_Shape>{}(xp.Current())] = (xp.Current());
++#else
+ this->myShapes[xp.Current().HashCode(INT_MAX)] = (xp.Current());
++#endif
+ }
+ }
+
+@@ -667,7 +715,11 @@ void ImportXCAF::loadShapes(const TDF_La
+ hColors->GetColor(label, XCAFDoc_ColorSurf, col) ||
+ hColors->GetColor(label, XCAFDoc_ColorCurv, col)) {
+ // add defined color
++#if OCC_VERSION_HEX >= 0x070800
++ myColorMap[std::hash<TopoDS_Shape>{}(aShape)] = col;
++#else
+ myColorMap[aShape.HashCode(INT_MAX)] = col;
++#endif
+ }
+ else {
+ // http://www.opencascade.org/org/forum/thread_17107/
+@@ -677,7 +729,11 @@ void ImportXCAF::loadShapes(const TDF_La
+ hColors->GetColor(it.Value(), XCAFDoc_ColorSurf, col) ||
+ hColors->GetColor(it.Value(), XCAFDoc_ColorCurv, col)) {
+ // add defined color
++#if OCC_VERSION_HEX >= 0x070800
++ myColorMap[std::hash<TopoDS_Shape>{}(it.Value())] = col;
++#else
+ myColorMap[it.Value().HashCode(INT_MAX)] = col;
++#endif
+ }
+ }
+ }
+@@ -690,7 +746,11 @@ void ImportXCAF::loadShapes(const TDF_La
+ extstr.ToUTF8CString(str);
+ std::string labelName(str);
+ if (!labelName.empty())
++#if OCC_VERSION_HEX >= 0x070800
++ myNameMap[std::hash<TopoDS_Shape>{}(aShape)] = labelName;
++#else
+ myNameMap[aShape.HashCode(INT_MAX)] = labelName;
++#endif
+ delete [] str;
+ }
+
+diff --color -rupN a/src/Mod/Import/App/ImportOCAF.h b/src/Mod/Import/App/ImportOCAF.h
+--- a/src/Mod/Import/App/ImportOCAF.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Import/App/ImportOCAF.h 2024-02-27 15:00:48.252207183 +0100
+@@ -29,7 +29,6 @@
+ #include <XCAFDoc_ShapeTool.hxx>
+ #include <Quantity_ColorRGBA.hxx>
+ #include <TopoDS_Shape.hxx>
+-#include <TDF_LabelMapHasher.hxx>
+ #include <climits>
+ #include <string>
+ #include <set>
+diff --color -rupN a/src/Mod/Import/App/ImportOCAF2.h b/src/Mod/Import/App/ImportOCAF2.h
+--- a/src/Mod/Import/App/ImportOCAF2.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Import/App/ImportOCAF2.h 2024-02-27 15:06:12.358890276 +0100
+@@ -27,7 +27,6 @@
+ #include <XCAFDoc_ColorTool.hxx>
+ #include <XCAFDoc_ShapeTool.hxx>
+ #include <TopoDS_Shape.hxx>
+-#include <TDF_LabelMapHasher.hxx>
+ #include <climits>
+ #include <string>
+ #include <set>
+@@ -57,13 +56,21 @@ namespace Import {
+
+ struct ShapeHasher {
+ std::size_t operator()(const TopoDS_Shape &s) const {
++#if OCC_VERSION_HEX >= 0x070800
++ return std::hash<TopoDS_Shape>{}(s);
++#else
+ return s.HashCode(INT_MAX);
++#endif
+ }
+ };
+
+ struct LabelHasher {
+ std::size_t operator()(const TDF_Label &l) const {
++#if OCC_VERSION_HEX >= 0x070800
++ return std::hash<TDF_Label> {}(l);
++#else
+ return TDF_LabelMapHasher::HashCode(l,INT_MAX);
++#endif
+ }
+ };
+
+diff --color -rupN a/src/Mod/MeshPart/App/CurveProjector.h b/src/Mod/MeshPart/App/CurveProjector.h
+--- a/src/Mod/MeshPart/App/CurveProjector.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/MeshPart/App/CurveProjector.h 2024-02-27 15:00:48.252207183 +0100
+@@ -20,6 +20,7 @@
+ * *
+ ***************************************************************************/
+
++#include <Standard_Version.hxx>
+
+ #ifndef _CurveProjector_h_
+ #define _CurveProjector_h_
+@@ -64,8 +65,13 @@ public:
+
+ template<class T>
+ struct TopoDSLess {
+- bool operator()(const T& x, const T& y) const {
+- return x.HashCode(INT_MAX-1) < y.HashCode(INT_MAX-1);
++ bool operator()(const T& x, const T& y) const {
++#if OCC_VERSION_HEX >= 0x070800
++ std::hash<T> hasher;
++ return hasher(x) < hasher(y);
++#else
++ return x.HashCode(INT_MAX-1) < y.HashCode(INT_MAX-1);
++#endif
+ }
+ };
+
+diff --color -rupN a/src/Mod/MeshPart/App/PreCompiled.h b/src/Mod/MeshPart/App/PreCompiled.h
+--- a/src/Mod/MeshPart/App/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/MeshPart/App/PreCompiled.h 2024-02-27 15:00:48.252207183 +0100
+@@ -76,7 +76,6 @@
+ #include <Standard_LicenseError.hxx>
+ #include <Standard_LicenseNotFound.hxx>
+ #include <Standard_Macro.hxx>
+-#include <Standard_math.hxx>
+ #include <Standard_MultiplyDefined.hxx>
+ #include <Standard_NegativeValue.hxx>
+ #include <Standard_NoMoreObject.hxx>
+diff --color -rupN a/src/Mod/MeshPart/Gui/CrossSections.cpp b/src/Mod/MeshPart/Gui/CrossSections.cpp
+--- a/src/Mod/MeshPart/Gui/CrossSections.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/MeshPart/Gui/CrossSections.cpp 2024-02-27 15:00:48.252207183 +0100
+@@ -24,7 +24,6 @@
+ #include "PreCompiled.h"
+ #ifndef _PreComp_
+ # include <sstream>
+-# include <Standard_math.hxx>
+ # include <BRep_Builder.hxx>
+ # include <BRepBuilderAPI_MakePolygon.hxx>
+ # include <TopoDS.hxx>
+diff --color -rupN a/src/Mod/Part/App/ImportStep.cpp b/src/Mod/Part/App/ImportStep.cpp
+--- a/src/Mod/Part/App/ImportStep.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/App/ImportStep.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -167,7 +167,12 @@ int Part::ImportStepParts(App::Document
+ // This is a trick to access the GUI via Python and set the color property
+ // of the associated view provider. If no GUI is up an exception is thrown
+ // and cleared immediately
++#if OCC_VERSION_HEX >= 0x070800
++ std::hash<TopoDS_Solid> hasher;
++ std::map<int, Quantity_Color>::iterator it = hash_col.find(hasher(aSolid));
++#else
+ std::map<int, Quantity_Color>::iterator it = hash_col.find(aSolid.HashCode(INT_MAX));
++#endif
+ if (it != hash_col.end()) {
+ try {
+ Py::Object obj(pcFeature->getPyObject(), true);
+diff --color -rupN a/src/Mod/Part/App/OCCError.h b/src/Mod/Part/App/OCCError.h
+--- a/src/Mod/Part/App/OCCError.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/App/OCCError.h 2024-02-27 15:00:48.255540482 +0100
+@@ -50,7 +50,6 @@
+ # include <Standard_Overflow.hxx>
+ # include <Standard_ProgramError.hxx>
+ # include <Standard_RangeError.hxx>
+-# include <Standard_TooManyUsers.hxx>
+ # include <Standard_TypeMismatch.hxx>
+ # include <Standard_Underflow.hxx>
+
+diff --color -rupN a/src/Mod/Part/App/OpenCascadeAll.h b/src/Mod/Part/App/OpenCascadeAll.h
+--- a/src/Mod/Part/App/OpenCascadeAll.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/App/OpenCascadeAll.h 2024-02-27 15:00:48.255540482 +0100
+@@ -49,7 +49,6 @@
+ #include <Standard_LicenseError.hxx>
+ #include <Standard_LicenseNotFound.hxx>
+ #include <Standard_Macro.hxx>
+-#include <Standard_math.hxx>
+ #include <Standard_MultiplyDefined.hxx>
+ #include <Standard_NegativeValue.hxx>
+ #include <Standard_NoMoreObject.hxx>
+diff --color -rupN a/src/Mod/Part/App/TopoShapePyImp.cpp b/src/Mod/Part/App/TopoShapePyImp.cpp
+--- a/src/Mod/Part/App/TopoShapePyImp.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/App/TopoShapePyImp.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -1321,7 +1321,11 @@ PyObject* TopoShapePy::ancestorsOfType(
+ TopTools_ListIteratorOfListOfShape it(ancestors);
+ for (; it.More(); it.Next()) {
+ // make sure to avoid duplicates
++#if OCC_VERSION_HEX >= 0x070800
++ const size_t code = std::hash<TopoDS_Shape>{}(static_cast<TopoDS_Shape>(it.Value()));
++#else
+ Standard_Integer code = it.Value().HashCode(INT_MAX);
++#endif
+ if (hashes.find(code) == hashes.end()) {
+ list.append(shape2pyshape(it.Value()));
+ hashes.insert(code);
+@@ -1943,7 +1947,11 @@ PyObject* TopoShapePy::hashCode(PyObject
+ if (!PyArg_ParseTuple(args, "|i",&upper))
+ return nullptr;
+
++#if OCC_VERSION_HEX >= 0x070800
++ int hc = std::hash<TopoDS_Shape>{}(getTopoShapePtr()->getShape());
++#else
+ int hc = getTopoShapePtr()->getShape().HashCode(upper);
++#endif
+ return Py_BuildValue("i", hc);
+ }
+
+diff --color -rupN a/src/Mod/Part/Gui/AppPartGui.cpp b/src/Mod/Part/Gui/AppPartGui.cpp
+--- a/src/Mod/Part/Gui/AppPartGui.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/AppPartGui.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -11,9 +11,6 @@
+
+
+ #include "PreCompiled.h"
+-#ifndef _PreComp_
+-# include <Standard_math.hxx>
+-#endif
+
+ #include <Base/Console.h>
+ #include <Base/Interpreter.h>
+diff --color -rupN a/src/Mod/Part/Gui/Command.cpp b/src/Mod/Part/Gui/Command.cpp
+--- a/src/Mod/Part/Gui/Command.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/Command.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -26,7 +26,6 @@
+ # include <QFileInfo>
+ # include <QPointer>
+ # include <QString>
+-# include <Standard_math.hxx>
+ # include <Standard_Version.hxx>
+ # include <TopExp_Explorer.hxx>
+ # include <TopoDS_Shape.hxx>
+diff --color -rupN a/src/Mod/Part/Gui/CommandSimple.cpp b/src/Mod/Part/Gui/CommandSimple.cpp
+--- a/src/Mod/Part/Gui/CommandSimple.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/CommandSimple.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -22,9 +22,6 @@
+
+
+ #include "PreCompiled.h"
+-#ifndef _PreComp_
+-# include <Standard_math.hxx>
+-#endif
+
+ #include <App/Document.h>
+ #include <App/DocumentObject.h>
+diff --color -rupN a/src/Mod/Part/Gui/CrossSections.cpp b/src/Mod/Part/Gui/CrossSections.cpp
+--- a/src/Mod/Part/Gui/CrossSections.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/CrossSections.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -23,7 +23,6 @@
+
+ #include "PreCompiled.h"
+ #ifndef _PreComp_
+-# include <Standard_math.hxx>
+ # include <BRep_Builder.hxx>
+ # include <BRepAlgoAPI_Section.hxx>
+ # include <BRepBuilderAPI_MakeWire.hxx>
+diff --color -rupN a/src/Mod/Part/Gui/ViewProvider2DObject.cpp b/src/Mod/Part/Gui/ViewProvider2DObject.cpp
+--- a/src/Mod/Part/Gui/ViewProvider2DObject.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/ViewProvider2DObject.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -26,8 +26,6 @@
+ #ifndef _PreComp_
+ # include <cfloat>
+
+-# include <Standard_math.hxx>
+-
+ # include <Inventor/nodes/SoAnnotation.h>
+ # include <Inventor/nodes/SoBaseColor.h>
+ # include <Inventor/nodes/SoDepthBuffer.h>
+diff --color -rupN a/src/Mod/Part/Gui/ViewProviderExt.cpp b/src/Mod/Part/Gui/ViewProviderExt.cpp
+--- a/src/Mod/Part/Gui/ViewProviderExt.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/ViewProviderExt.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -978,7 +978,11 @@ void ViewProviderPartExt::updateVisual()
+
+ TopExp_Explorer xp;
+ for (xp.Init(faceMap(i),TopAbs_EDGE);xp.More();xp.Next())
++#if OCC_VERSION_HEX >= 0x070800
++ faceEdges.insert(std::hash<TopoDS_Shape>{}(xp.Current()));
++#else
+ faceEdges.insert(xp.Current().HashCode(INT_MAX));
++#endif
+ numFaces++;
+ }
+
+@@ -1006,7 +1010,11 @@ void ViewProviderPartExt::updateVisual()
+ // So, we have to store the hashes of the edges associated to a face.
+ // If the hash of a given edge is not in this list we know it's really
+ // a free edge.
++#if OCC_VERSION_HEX >= 0x070800
++ int hash = std::hash<TopoDS_Shape>{}(aEdge);
++#else
+ int hash = aEdge.HashCode(INT_MAX);
++#endif
+ if (faceEdges.find(hash) == faceEdges.end()) {
+ Handle(Poly_Polygon3D) aPoly = Part::Tools::polygonOfEdge(aEdge, aLoc);
+ if (!aPoly.IsNull()) {
+@@ -1205,7 +1213,11 @@ void ViewProviderPartExt::updateVisual()
+ TopLoc_Location aLoc;
+
+ // handling of the free edge that are not associated to a face
++#if OCC_VERSION_HEX >= 0x070800
++ int hash = std::hash<TopoDS_Shape>{}(aEdge);
++#else
+ int hash = aEdge.HashCode(INT_MAX);
++#endif
+ if (faceEdges.find(hash) == faceEdges.end()) {
+ Handle(Poly_Polygon3D) aPoly = Part::Tools::polygonOfEdge(aEdge, aLoc);
+ if (!aPoly.IsNull()) {
+diff --color -rupN a/src/Mod/Part/Gui/ViewProviderExt.h b/src/Mod/Part/Gui/ViewProviderExt.h
+--- a/src/Mod/Part/Gui/ViewProviderExt.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/ViewProviderExt.h 2024-02-27 15:00:48.255540482 +0100
+@@ -24,7 +24,6 @@
+ #ifndef PARTGUI_VIEWPROVIDERPARTEXT_H
+ #define PARTGUI_VIEWPROVIDERPARTEXT_H
+
+-#include <Standard_math.hxx>
+ #include <Standard_Boolean.hxx>
+ #include <TopoDS_Shape.hxx>
+ #include <TopoDS_Face.hxx>
+diff --color -rupN a/src/Mod/Part/Gui/ViewProviderMirror.cpp b/src/Mod/Part/Gui/ViewProviderMirror.cpp
+--- a/src/Mod/Part/Gui/ViewProviderMirror.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/ViewProviderMirror.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -27,7 +27,6 @@
+ # include <QAction>
+ # include <QMenu>
+ # include <QTimer>
+-# include <Standard_math.hxx>
+ # include <TopExp.hxx>
+ # include <TopTools_IndexedMapOfShape.hxx>
+ # include <TopTools_ListOfShape.hxx>
+diff --color -rupN a/src/Mod/Part/Gui/ViewProviderPython.cpp b/src/Mod/Part/Gui/ViewProviderPython.cpp
+--- a/src/Mod/Part/Gui/ViewProviderPython.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/ViewProviderPython.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -23,7 +23,6 @@
+
+ #include "PreCompiled.h"
+
+-#include <Standard_math.hxx>
+ #ifndef _PreComp_
+ # include <Inventor/nodes/SoSeparator.h>
+ #endif
+diff --color -rupN a/src/Mod/Part/Gui/ViewProviderReference.h b/src/Mod/Part/Gui/ViewProviderReference.h
+--- a/src/Mod/Part/Gui/ViewProviderReference.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Part/Gui/ViewProviderReference.h 2024-02-27 15:00:48.255540482 +0100
+@@ -24,7 +24,6 @@
+ #ifndef PARTGUI_ViewProviderPartReference_H
+ #define PARTGUI_ViewProviderPartReference_H
+
+-#include <Standard_math.hxx>
+ #include <Standard_Boolean.hxx>
+ #include <TopoDS_Shape.hxx>
+ #include <Gui/ViewProviderGeometryObject.h>
+diff --color -rupN a/src/Mod/PartDesign/Gui/PreCompiled.h b/src/Mod/PartDesign/Gui/PreCompiled.h
+--- a/src/Mod/PartDesign/Gui/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/PartDesign/Gui/PreCompiled.h 2024-02-27 15:00:48.255540482 +0100
+@@ -44,7 +44,6 @@
+ #include <boost/bind/bind.hpp>
+
+ // OCC
+-#include <Standard_math.hxx>
+ #include <Standard_Version.hxx>
+ #include <Bnd_Box.hxx>
+ #include <BRepBndLib.hxx>
+diff --color -rupN a/src/Mod/Path/App/Voronoi.cpp b/src/Mod/Path/App/Voronoi.cpp
+--- a/src/Mod/Path/App/Voronoi.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Path/App/Voronoi.cpp 2024-02-27 15:00:48.255540482 +0100
+@@ -23,10 +23,6 @@
+
+ #include "PreCompiled.h"
+
+-#ifndef _PreComp_
+-# include <Standard_math.hxx>
+-#endif
+-
+ #include <Base/Vector3D.h>
+
+ #include "Voronoi.h"
+diff --color -rupN a/src/Mod/Path/Gui/PreCompiled.h b/src/Mod/Path/Gui/PreCompiled.h
+--- a/src/Mod/Path/Gui/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Path/Gui/PreCompiled.h 2024-02-27 15:00:48.258873781 +0100
+@@ -38,8 +38,6 @@
+ # define PathGuiExport
+ #endif
+
+-#include <Standard_math.hxx>
+-
+ #ifdef _MSC_VER
+ # pragma warning( disable : 4273 )
+ #endif
+diff --color -rupN a/src/Mod/Robot/Gui/PreCompiled.h b/src/Mod/Robot/Gui/PreCompiled.h
+--- a/src/Mod/Robot/Gui/PreCompiled.h 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Robot/Gui/PreCompiled.h 2024-02-27 15:00:48.258873781 +0100
+@@ -39,8 +39,6 @@
+ # define RobotGuiExport
+ #endif
+
+-#include <Standard_math.hxx>
+-
+ #ifdef _MSC_VER
+ # pragma warning(disable : 4005)
+ # pragma warning(disable : 4273)
+diff --color -rupN a/src/Mod/Sandbox/Gui/AppSandboxGui.cpp b/src/Mod/Sandbox/Gui/AppSandboxGui.cpp
+--- a/src/Mod/Sandbox/Gui/AppSandboxGui.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Sandbox/Gui/AppSandboxGui.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -24,7 +24,6 @@
+ #include "PreCompiled.h"
+ #ifndef _PreComp_
+ # include <Python.h>
+-# include <Standard_math.hxx>
+ # include <Inventor/nodes/SoLineSet.h>
+ # include <Inventor/nodes/SoBaseColor.h>
+ # include <Inventor/nodes/SoSeparator.h>
+diff --color -rupN a/src/Mod/Sketcher/App/SketchAnalysis.cpp b/src/Mod/Sketcher/App/SketchAnalysis.cpp
+--- a/src/Mod/Sketcher/App/SketchAnalysis.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Sketcher/App/SketchAnalysis.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -25,7 +25,6 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <Standard_math.hxx>
+ # include <BRep_Tool.hxx>
+ # include <gp_Pnt.hxx>
+ # include <Precision.hxx>
+diff --color -rupN a/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp b/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp
+--- a/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Sketcher/Gui/DrawSketchHandler.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -24,7 +24,6 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <Standard_math.hxx>
+ # include <Inventor/nodes/SoTranslation.h>
+ # include <Inventor/nodes/SoText2.h>
+ # include <Inventor/nodes/SoFont.h>
+diff --color -rupN a/src/Mod/Sketcher/Gui/EditDatumDialog.cpp b/src/Mod/Sketcher/Gui/EditDatumDialog.cpp
+--- a/src/Mod/Sketcher/Gui/EditDatumDialog.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Sketcher/Gui/EditDatumDialog.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -23,7 +23,6 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <Standard_math.hxx>
+ /// Qt Include Files
+ # include <QApplication>
+ # include <QDialog>
+diff --color -rupN a/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp b/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp
+--- a/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Sketcher/Gui/TaskSketcherValidation.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -24,7 +24,6 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <Standard_math.hxx>
+ # include <QDoubleValidator>
+ # include <QLocale>
+ # include <QMessageBox>
+diff --color -rupN a/src/Mod/Sketcher/Gui/ViewProviderPython.cpp b/src/Mod/Sketcher/Gui/ViewProviderPython.cpp
+--- a/src/Mod/Sketcher/Gui/ViewProviderPython.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Sketcher/Gui/ViewProviderPython.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -23,7 +23,6 @@
+
+ #include "PreCompiled.h"
+
+-#include <Standard_math.hxx>
+ #ifndef _PreComp_
+ # include <Inventor/nodes/SoSeparator.h>
+ #endif
+diff --color -rupN a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp
+--- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -24,7 +24,6 @@
+ #include "PreCompiled.h"
+
+ #ifndef _PreComp_
+-# include <Standard_math.hxx>
+
+ # include <Inventor/actions/SoGetBoundingBoxAction.h>
+ # include <Inventor/SbBox3f.h>
+diff --color -rupN a/src/Mod/Surface/Gui/Command.cpp b/src/Mod/Surface/Gui/Command.cpp
+--- a/src/Mod/Surface/Gui/Command.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/Surface/Gui/Command.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -31,7 +31,6 @@
+ #include <QLineEdit>
+ #include <QMessageBox>
+ #include <QPointer>
+-#include <Standard_math.hxx>
+ #include <TopoDS_Shape.hxx>
+ #include <TopoDS_Edge.hxx>
+ #include <Geom_BezierCurve.hxx>
+diff --color -rupN a/src/Mod/TechDraw/Gui/TaskProjection.cpp b/src/Mod/TechDraw/Gui/TaskProjection.cpp
+--- a/src/Mod/TechDraw/Gui/TaskProjection.cpp 2022-12-07 03:35:37.000000000 +0100
++++ b/src/Mod/TechDraw/Gui/TaskProjection.cpp 2024-02-27 15:00:48.258873781 +0100
+@@ -29,9 +29,6 @@
+ # include <QMessageBox>
+ #endif
+
+-
+-#include <Standard_math.hxx>
+-
+ #include <Gui/Application.h>
+ #include <Gui/BitmapFactory.h>
+ #include <Gui/Command.h>
diff --git a/testing/freecad/opencascade.patch b/testing/freecad/opencascade.patch
deleted file mode 100644
index 9a72b7c5cb7..00000000000
--- a/testing/freecad/opencascade.patch
+++ /dev/null
@@ -1,629 +0,0 @@
-From 74639da997d5f2e53f001d9f256be86ceee901f5 Mon Sep 17 00:00:00 2001
-From: wmayer <wmayer@users.sourceforge.net>
-Date: Sat, 9 Oct 2021 13:49:02 +0200
-Subject: [PATCH] OCCT: port FreeCAD sources to version 7.6 SMESH is not yet
- ported Although FreeCAD code compiles with OCCT 7.6 it doesn't work at the
- moment
-
----
- src/Mod/Drawing/App/DrawingExport.cpp | 11 ++-
- src/Mod/Drawing/App/ProjectionAlgos.cpp | 3 -
- src/Mod/Import/App/ImpExpDxf.cpp | 9 +-
- .../App/GeomPlate/CurveConstraintPyImp.cpp | 41 +++++++++-
- src/Mod/Part/App/Geometry.cpp | 7 +-
- src/Mod/Part/App/PartFeatures.cpp | 22 ++---
- src/Mod/Part/App/TopoShape.cpp | 82 ++++++-------------
- src/Mod/Part/App/TopoShapeFacePyImp.cpp | 10 +++
- src/Mod/Part/App/TopoShapeWirePyImp.cpp | 6 +-
- src/Mod/Part/Gui/TaskCheckGeometry.cpp | 6 +-
- src/Mod/Part/Gui/ViewProviderExt.cpp | 17 ++++
- src/Mod/Path/App/AppPathPy.cpp | 5 +-
- src/Mod/TechDraw/App/Geometry.cpp | 12 ++-
- 13 files changed, 138 insertions(+), 93 deletions(-)
-
-diff --git a/src/Mod/Drawing/App/DrawingExport.cpp b/src/Mod/Drawing/App/DrawingExport.cpp
-index b87891ed507..7572be417cf 100644
---- a/src/Mod/Drawing/App/DrawingExport.cpp
-+++ b/src/Mod/Drawing/App/DrawingExport.cpp
-@@ -64,10 +64,7 @@
- #include <BRep_Tool.hxx>
-
- #include <BRepAdaptor_CompCurve.hxx>
--#include <BRepAdaptor_HCompCurve.hxx>
- #include <Approx_Curve3d.hxx>
--#include <BRepAdaptor_HCurve.hxx>
--#include <BRepAdaptor_HCurve.hxx>
- #include <Geom_BSplineCurve.hxx>
- #include <Geom_BezierCurve.hxx>
- #include <GeomConvert_BSplineCurveToBezierCurve.hxx>
-@@ -75,11 +72,19 @@
- #include <Geom2d_BSplineCurve.hxx>
- #include <BRepLProp_CLProps.hxx>
- #include <Standard_Failure.hxx>
-+#include <Standard_Version.hxx>
-+#if OCC_VERSION_HEX < 0x070600
-+#include <BRepAdaptor_HCurve.hxx>
-+#endif
-
- #include "DrawingExport.h"
- #include <Base/Tools.h>
- #include <Base/Vector3D.h>
-
-+#if OCC_VERSION_HEX >= 0x070600
-+using BRepAdaptor_HCurve = BRepAdaptor_Curve;
-+#endif
-+
- using namespace Drawing;
- using namespace std;
-
-diff --git a/src/Mod/Drawing/App/ProjectionAlgos.cpp b/src/Mod/Drawing/App/ProjectionAlgos.cpp
-index 9afae7e9c00..da03d490579 100644
---- a/src/Mod/Drawing/App/ProjectionAlgos.cpp
-+++ b/src/Mod/Drawing/App/ProjectionAlgos.cpp
-@@ -61,10 +61,7 @@
- #include <BRepMesh_IncrementalMesh.hxx>
- #include <BRepLib.hxx>
- #include <BRepAdaptor_CompCurve.hxx>
--#include <BRepAdaptor_HCompCurve.hxx>
- #include <Approx_Curve3d.hxx>
--#include <BRepAdaptor_HCurve.hxx>
--#include <BRepAdaptor_HCurve.hxx>
- #include <Geom_BSplineCurve.hxx>
- #include <Geom_BezierCurve.hxx>
- #include <GeomConvert_BSplineCurveToBezierCurve.hxx>
-diff --git a/src/Mod/Import/App/ImpExpDxf.cpp b/src/Mod/Import/App/ImpExpDxf.cpp
-index 09827bd9285..dcd88ef1384 100644
---- a/src/Mod/Import/App/ImpExpDxf.cpp
-+++ b/src/Mod/Import/App/ImpExpDxf.cpp
-@@ -29,7 +29,6 @@
-
- #include <Approx_Curve3d.hxx>
- #include <BRepAdaptor_Curve.hxx>
--#include <BRepAdaptor_HCurve.hxx>
- #include <BRep_Builder.hxx>
- #include <BRepBuilderAPI_MakeEdge.hxx>
- #include <BRepBuilderAPI_MakeVertex.hxx>
-@@ -47,6 +46,7 @@
- #include <gp_Pnt.hxx>
- #include <gp_Dir.hxx>
- #include <gp_Vec.hxx>
-+#include <Standard_Version.hxx>
- #include <TopoDS.hxx>
- #include <TopoDS_Edge.hxx>
- #include <TopoDS_Vertex.hxx>
-@@ -55,6 +55,9 @@
- #include <TopExp_Explorer.hxx>
- #include <TopoDS_Edge.hxx>
- #include <TColgp_Array1OfPnt.hxx>
-+#if OCC_VERSION_HEX < 0x070600
-+#include <BRepAdaptor_HCurve.hxx>
-+#endif
-
- #include <Base/Console.h>
- #include <Base/Parameter.h>
-@@ -68,6 +71,10 @@
-
- using namespace Import;
-
-+#if OCC_VERSION_HEX >= 0x070600
-+using BRepAdaptor_HCurve = BRepAdaptor_Curve;
-+#endif
-+
-
- //******************************************************************************
- // reading
-diff --git a/src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp b/src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp
-index 3271f3651a8..b63227d5374 100644
---- a/src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp
-+++ b/src/Mod/Part/App/GeomPlate/CurveConstraintPyImp.cpp
-@@ -24,10 +24,13 @@
- #include "PreCompiled.h"
- #ifndef _PreComp_
- # include <GeomAdaptor_Curve.hxx>
--# include <GeomAdaptor_HCurve.hxx>
- # include <Geom2dAdaptor_Curve.hxx>
--# include <Geom2dAdaptor_HCurve.hxx>
- # include <Standard_Failure.hxx>
-+# include <Standard_Version.hxx>
-+# if OCC_VERSION_HEX < 0x070600
-+# include <GeomAdaptor_HCurve.hxx>
-+# include <Geom2dAdaptor_HCurve.hxx>
-+# endif
- #endif
-
- #include "GeomPlate/CurveConstraintPy.h"
-@@ -76,6 +79,16 @@ int CurveConstraintPy::PyInit(PyObject* args, PyObject* kwds)
- return -1;
- }
-
-+#if OCC_VERSION_HEX >= 0x070600
-+ Handle(Adaptor3d_Curve) hCurve;
-+ if (curve->getTypeId().isDerivedFrom(GeomTrimmedCurve::getClassTypeId())) {
-+ GeomTrimmedCurve* trim = static_cast<GeomTrimmedCurve*>(curve);
-+ hCurve = new GeomAdaptor_Curve(handle, trim->getFirstParameter(), trim->getLastParameter());
-+ }
-+ else {
-+ hCurve = new GeomAdaptor_Curve(handle);
-+ }
-+#else
- Handle(Adaptor3d_HCurve) hCurve;
- if (curve->getTypeId().isDerivedFrom(GeomTrimmedCurve::getClassTypeId())) {
- GeomTrimmedCurve* trim = static_cast<GeomTrimmedCurve*>(curve);
-@@ -86,6 +99,7 @@ int CurveConstraintPy::PyInit(PyObject* args, PyObject* kwds)
- GeomAdaptor_Curve adapt(handle);
- hCurve = new GeomAdaptor_HCurve(adapt);
- }
-+#endif
-
- ptr.reset(new GeomPlate_CurveConstraint(hCurve, order, nbPts, tolDist, tolAng, tolCurv));
- }
-@@ -212,11 +226,15 @@ PyObject* CurveConstraintPy::curve3d(PyObject *args)
- return nullptr;
-
- try {
-- Handle(Adaptor3d_HCurve) hAdapt = getGeomPlate_CurveConstraintPtr()->Curve3d();
-+ auto hAdapt = getGeomPlate_CurveConstraintPtr()->Curve3d();
- if (hAdapt.IsNull())
- Py_Return;
-
-+#if OCC_VERSION_HEX >= 0x070600
-+ const Adaptor3d_Curve& a3d = *hAdapt;
-+#else
- const Adaptor3d_Curve& a3d = hAdapt->Curve();
-+#endif
- std::unique_ptr<GeomCurve> ptr(Part::makeFromCurveAdaptor(a3d));
- return ptr->getPyObject();
- }
-@@ -282,6 +300,16 @@ PyObject* CurveConstraintPy::setProjectedCurve(PyObject *args)
- return nullptr;
- }
-
-+#if OCC_VERSION_HEX >= 0x070600
-+ Handle(Adaptor2d_Curve2d) hCurve;
-+ if (handle->IsKind(STANDARD_TYPE(Geom2d_TrimmedCurve))) {
-+ Handle(Geom2d_TrimmedCurve) aTC (Handle(Geom2d_TrimmedCurve)::DownCast (handle));
-+ hCurve = new Geom2dAdaptor_Curve(handle, aTC->FirstParameter(), aTC->LastParameter());
-+ }
-+ else {
-+ hCurve = new Geom2dAdaptor_Curve(handle);
-+ }
-+#else
- Handle(Adaptor2d_HCurve2d) hCurve;
- if (handle->IsKind(STANDARD_TYPE(Geom2d_TrimmedCurve))) {
- Handle(Geom2d_TrimmedCurve) aTC (Handle(Geom2d_TrimmedCurve)::DownCast (handle));
-@@ -292,6 +320,7 @@ PyObject* CurveConstraintPy::setProjectedCurve(PyObject *args)
- Geom2dAdaptor_Curve adapt(handle);
- hCurve = new Geom2dAdaptor_HCurve(adapt);
- }
-+#endif
-
- getGeomPlate_CurveConstraintPtr()->SetProjectedCurve(hCurve, tolU, tolV);
- Py_Return;
-@@ -308,11 +337,15 @@ PyObject* CurveConstraintPy::projectedCurve(PyObject *args)
- return nullptr;
-
- try {
-- Handle(Adaptor2d_HCurve2d) hAdapt = getGeomPlate_CurveConstraintPtr()->ProjectedCurve();
-+ auto hAdapt = getGeomPlate_CurveConstraintPtr()->ProjectedCurve();
- if (hAdapt.IsNull())
- Py_Return;
-
-+#if OCC_VERSION_HEX >= 0x070600
-+ const Adaptor2d_Curve2d& a2d = *hAdapt;
-+#else
- const Adaptor2d_Curve2d& a2d = hAdapt->Curve2d();
-+#endif
- std::unique_ptr<Geom2dCurve> ptr(Part::makeFromCurveAdaptor2d(a2d));
- return ptr->getPyObject();
- }
-diff --git a/src/Mod/Part/App/Geometry.cpp b/src/Mod/Part/App/Geometry.cpp
-index e6d6396ca94..1d1d67d4f01 100644
---- a/src/Mod/Part/App/Geometry.cpp
-+++ b/src/Mod/Part/App/Geometry.cpp
-@@ -51,7 +51,6 @@
- # include <Geom_RectangularTrimmedSurface.hxx>
- # include <Geom_SurfaceOfRevolution.hxx>
- # include <Geom_SurfaceOfLinearExtrusion.hxx>
--# include <GeomAdaptor_HCurve.hxx>
- # include <GeomAPI_Interpolate.hxx>
- # include <GeomConvert.hxx>
- # include <GeomConvert_CompCurveToBSplineCurve.hxx>
-@@ -101,6 +100,9 @@
- # include <GeomAPI_ExtremaCurveCurve.hxx>
- # include <ShapeConstruct_Curve.hxx>
- # include <LProp_NotDefined.hxx>
-+# if OCC_VERSION_HEX < 0x070600
-+# include <GeomAdaptor_HCurve.hxx>
-+# endif
-
- # include <ctime>
- # include <cmath>
-@@ -144,6 +146,9 @@
-
- #include "Geometry.h"
-
-+#if OCC_VERSION_HEX >= 0x070600
-+using GeomAdaptor_HCurve = GeomAdaptor_Curve;
-+#endif
-
- using namespace Part;
-
-diff --git a/src/Mod/Part/App/PartFeatures.cpp b/src/Mod/Part/App/PartFeatures.cpp
-index 2dc503bdf21..4d9e1fc0f99 100644
---- a/src/Mod/Part/App/PartFeatures.cpp
-+++ b/src/Mod/Part/App/PartFeatures.cpp
-@@ -25,9 +25,7 @@
- #ifndef _PreComp_
- # include <BRepFill.hxx>
- # include <BRepAdaptor_Curve.hxx>
--# include <BRepAdaptor_HCurve.hxx>
- # include <BRepAdaptor_CompCurve.hxx>
--# include <BRepAdaptor_HCompCurve.hxx>
- # include <BRepLib_MakeWire.hxx>
- # include <Geom_BSplineSurface.hxx>
- # include <TopoDS.hxx>
-@@ -43,7 +41,7 @@
- # include <TopExp_Explorer.hxx>
- # include <TopoDS.hxx>
- # include <Precision.hxx>
--# include <Adaptor3d_HCurve.hxx>
-+# include <memory>
- #endif
-
-
-@@ -170,22 +168,18 @@ App::DocumentObjectExecReturn *RuledSurface::execute(void)
-
- if (Orientation.getValue() == 0) {
- // Automatic
-- Handle(Adaptor3d_HCurve) a1;
-- Handle(Adaptor3d_HCurve) a2;
-+ std::unique_ptr<Adaptor3d_Curve> a1;
-+ std::unique_ptr<Adaptor3d_Curve> a2;
- if (!isWire) {
-- BRepAdaptor_Curve adapt1(TopoDS::Edge(S1));
-- BRepAdaptor_Curve adapt2(TopoDS::Edge(S2));
-- a1 = new BRepAdaptor_HCurve(adapt1);
-- a2 = new BRepAdaptor_HCurve(adapt2);
-+ a1 = std::make_unique<BRepAdaptor_Curve>(TopoDS::Edge(S1));
-+ a2 = std::make_unique<BRepAdaptor_Curve>(TopoDS::Edge(S2));
- }
- else {
-- BRepAdaptor_CompCurve adapt1(TopoDS::Wire(S1));
-- BRepAdaptor_CompCurve adapt2(TopoDS::Wire(S2));
-- a1 = new BRepAdaptor_HCompCurve(adapt1);
-- a2 = new BRepAdaptor_HCompCurve(adapt2);
-+ a1 = std::make_unique<BRepAdaptor_CompCurve>(TopoDS::Wire(S1));
-+ a2 = std::make_unique<BRepAdaptor_CompCurve>(TopoDS::Wire(S2));
- }
-
-- if (!a1.IsNull() && !a2.IsNull()) {
-+ if (a1 && a2) {
- // get end points of 1st curve
- Standard_Real first, last;
- first = a1->FirstParameter();
-diff --git a/src/Mod/Part/App/TopoShape.cpp b/src/Mod/Part/App/TopoShape.cpp
-index 05341de3d66..b7617a3943e 100644
---- a/src/Mod/Part/App/TopoShape.cpp
-+++ b/src/Mod/Part/App/TopoShape.cpp
-@@ -38,8 +38,6 @@
- # include <BRep_Tool.hxx>
- # include <BRepAdaptor_Curve.hxx>
- # include <BRepAdaptor_CompCurve.hxx>
--# include <BRepAdaptor_HCurve.hxx>
--# include <BRepAdaptor_HCompCurve.hxx>
- # include <BRepAdaptor_Surface.hxx>
- # include <BRepAlgoAPI_Common.hxx>
- # include <BRepAlgoAPI_Cut.hxx>
-@@ -186,6 +184,12 @@
- #if OCC_VERSION_HEX >= 0x070300
- # include <BRepAlgoAPI_Defeaturing.hxx>
- #endif
-+
-+#if OCC_VERSION_HEX < 0x070600
-+# include <BRepAdaptor_HCurve.hxx>
-+# include <BRepAdaptor_HCompCurve.hxx>
-+#endif
-+
- #endif // _PreComp_
-
- #include <boost/algorithm/string/predicate.hpp>
-@@ -2133,12 +2137,20 @@ TopoDS_Shape TopoShape::makeTube(double radius, double tol, int cont, int maxdeg
- if (this->_Shape.IsNull())
- Standard_Failure::Raise("Cannot sweep along empty spine");
-
-+#if OCC_VERSION_HEX >= 0x070600
-+ Handle(Adaptor3d_Curve) myPath;
-+ if (this->_Shape.ShapeType() == TopAbs_EDGE) {
-+ const TopoDS_Edge& path_edge = TopoDS::Edge(this->_Shape);
-+ myPath = new BRepAdaptor_Curve(path_edge);
-+ }
-+#else
- Handle(Adaptor3d_HCurve) myPath;
- if (this->_Shape.ShapeType() == TopAbs_EDGE) {
- const TopoDS_Edge& path_edge = TopoDS::Edge(this->_Shape);
- BRepAdaptor_Curve path_adapt(path_edge);
- myPath = new BRepAdaptor_HCurve(path_adapt);
- }
-+#endif
- //else if (this->_Shape.ShapeType() == TopAbs_WIRE) {
- // const TopoDS_Wire& path_wire = TopoDS::Wire(this->_Shape);
- // BRepAdaptor_CompCurve path_adapt(path_wire);
-@@ -3777,72 +3789,32 @@ void TopoShape::getLinesFromSubElement(const Data::Segment* element,
- for(TopExp_Explorer exp(shape,TopAbs_EDGE);exp.More();exp.Next()) {
-
- TopoDS_Edge aEdge = TopoDS::Edge(exp.Current());
-- TopLoc_Location aLoc;
-- Handle(Poly_Polygon3D) aPoly = BRep_Tool::Polygon3D(aEdge, aLoc);
-+ std::vector<gp_Pnt> points;
-
-- gp_Trsf myTransf;
-- Standard_Integer nbNodesInFace;
--
-- auto line_start = vertices.size();
--
-- // triangulation succeeded?
-- if (!aPoly.IsNull()) {
-- if (!aLoc.IsIdentity()) {
-- myTransf = aLoc.Transformation();
-- }
-- nbNodesInFace = aPoly->NbNodes();
--
-- const TColgp_Array1OfPnt& Nodes = aPoly->Nodes();
--
-- gp_Pnt V;
-- for (Standard_Integer i=0;i < nbNodesInFace;i++) {
-- V = Nodes(i+1);
-- V.Transform(myTransf);
-- vertices.emplace_back(V.X(),V.Y(),V.Z());
-- }
-- }
-- else {
-+ if (!Tools::getPolygon3D(aEdge, points)) {
- // the edge has not its own triangulation, but then a face the edge is attached to
- // must provide this triangulation
-
- // Look for one face in our map (it doesn't care which one we take)
- int index = edge2Face.FindIndex(aEdge);
-- if(!index)
-+ if (index < 1)
- continue;
- const auto &faces = edge2Face.FindFromIndex(index);
-- if(!faces.Extent())
-+ if (faces.Extent() == 0)
- continue;
- const TopoDS_Face& aFace = TopoDS::Face(faces.First());
-
-- // take the face's triangulation instead
-- Handle(Poly_Triangulation) aPolyTria = BRep_Tool::Triangulation(aFace,aLoc);
-- if (!aLoc.IsIdentity()) {
-- myTransf = aLoc.Transformation();
-- }
--
-- if (aPolyTria.IsNull()) break;
--
-- // this holds the indices of the edge's triangulation to the actual points
-- Handle(Poly_PolygonOnTriangulation) aPoly = BRep_Tool::PolygonOnTriangulation(aEdge, aPolyTria, aLoc);
-- if (aPoly.IsNull())
-- continue; // polygon does not exist
--
-- // getting size and create the array
-- nbNodesInFace = aPoly->NbNodes();
--
-- const TColStd_Array1OfInteger& indices = aPoly->Nodes();
-- const TColgp_Array1OfPnt& Nodes = aPolyTria->Nodes();
--
-- gp_Pnt V;
-- // go through the index array
-- for (Standard_Integer i=indices.Lower();i <= indices.Upper();i++) {
-- V = Nodes(indices(i));
-- V.Transform(myTransf);
-- vertices.emplace_back(V.X(),V.Y(),V.Z());
-- }
-+ if (!Part::Tools::getPolygonOnTriangulation(aEdge, aFace, points))
-+ continue;
- }
-
-- if(line_start+1 < vertices.size()) {
-+ auto line_start = vertices.size();
-+ vertices.reserve(vertices.size() + points.size());
-+ std::for_each(points.begin(), points.end(), [&vertices](const gp_Pnt& p) {
-+ vertices.push_back(Base::convertTo<Base::Vector3d>(p));
-+ });
-+
-+ if (line_start+1 < vertices.size()) {
- lines.emplace_back();
- lines.back().I1 = line_start;
- lines.back().I2 = vertices.size()-1;
-diff --git a/src/Mod/Part/App/TopoShapeFacePyImp.cpp b/src/Mod/Part/App/TopoShapeFacePyImp.cpp
-index ea6cd98bdf4..63e8bead74d 100644
---- a/src/Mod/Part/App/TopoShapeFacePyImp.cpp
-+++ b/src/Mod/Part/App/TopoShapeFacePyImp.cpp
-@@ -493,6 +493,15 @@ PyObject* TopoShapeFacePy::getUVNodes(PyObject *args)
- return Py::new_reference_to(list);
- }
-
-+#if OCC_VERSION_HEX >= 0x070600
-+ for (int i=1; i<=mesh->NbNodes(); i++) {
-+ gp_Pnt2d pt2d = mesh->UVNode(i);
-+ Py::Tuple uv(2);
-+ uv.setItem(0, Py::Float(pt2d.X()));
-+ uv.setItem(1, Py::Float(pt2d.Y()));
-+ list.append(uv);
-+ }
-+#else
- const TColgp_Array1OfPnt2d& aNodesUV = mesh->UVNodes();
- for (int i=aNodesUV.Lower(); i<=aNodesUV.Upper(); i++) {
- gp_Pnt2d pt2d = aNodesUV(i);
-@@ -501,6 +510,7 @@ PyObject* TopoShapeFacePy::getUVNodes(PyObject *args)
- uv.setItem(1, Py::Float(pt2d.Y()));
- list.append(uv);
- }
-+#endif
-
- return Py::new_reference_to(list);
- }
-diff --git a/src/Mod/Part/App/TopoShapeWirePyImp.cpp b/src/Mod/Part/App/TopoShapeWirePyImp.cpp
-index 95c1aff6814..a1f32d6d03c 100644
---- a/src/Mod/Part/App/TopoShapeWirePyImp.cpp
-+++ b/src/Mod/Part/App/TopoShapeWirePyImp.cpp
-@@ -344,9 +344,9 @@ PyObject* TopoShapeWirePy::approximate(PyObject *args, PyObject *kwds)
- return 0;
- try {
- BRepAdaptor_CompCurve adapt(TopoDS::Wire(getTopoShapePtr()->getShape()));
-- Handle(Adaptor3d_HCurve) hcurve = adapt.Trim(adapt.FirstParameter(),
-- adapt.LastParameter(),
-- tol2d);
-+ auto hcurve = adapt.Trim(adapt.FirstParameter(),
-+ adapt.LastParameter(),
-+ tol2d);
- Approx_Curve3d approx(hcurve, tol3d, GeomAbs_C0, maxseg, maxdeg);
- if (approx.IsDone()) {
- return new BSplineCurvePy(new GeomBSplineCurve(approx.Curve()));
-diff --git a/src/Mod/Part/Gui/TaskCheckGeometry.cpp b/src/Mod/Part/Gui/TaskCheckGeometry.cpp
-index 5de7c169205..aaef13d9d07 100644
---- a/src/Mod/Part/Gui/TaskCheckGeometry.cpp
-+++ b/src/Mod/Part/Gui/TaskCheckGeometry.cpp
-@@ -711,8 +711,10 @@ int TaskCheckGeometryResults::goBOPSingleCheck(const TopoDS_Shape& shapeIn, Resu
- #if OCC_VERSION_HEX >= 0x060900
- #if OCC_VERSION_HEX < 0x070500
- BOPCheck.SetProgressIndicator(theProgress);
--#else
-+#elif OCC_VERSION_HEX < 0x070600
- BOPCheck.SetProgressIndicator(theScope);
-+#else
-+ Q_UNUSED(theScope)
- #endif // 0x070500
- #else
- Q_UNUSED(theProgress);
-@@ -740,7 +742,7 @@ int TaskCheckGeometryResults::goBOPSingleCheck(const TopoDS_Shape& shapeIn, Resu
- Base::TimeInfo start_time;
- #endif
-
--BOPCheck.Perform();
-+ BOPCheck.Perform();
-
- #ifdef FC_DEBUG
- float bopAlgoTime = Base::TimeInfo::diffTimeF(start_time,Base::TimeInfo());
-diff --git a/src/Mod/Part/Gui/ViewProviderExt.cpp b/src/Mod/Part/Gui/ViewProviderExt.cpp
-index 77cefbe3e08..8a52f1701ba 100644
---- a/src/Mod/Part/Gui/ViewProviderExt.cpp
-+++ b/src/Mod/Part/Gui/ViewProviderExt.cpp
-@@ -1102,7 +1111,11 @@ void ViewProviderPartExt::updateVisual()
- }
-
- // get the 3 points of this triangle
-+#if OCC_VERSION_HEX < 0x070600
- gp_Pnt V1(Nodes(N1)), V2(Nodes(N2)), V3(Nodes(N3));
-+#else
-+ gp_Pnt V1(mesh->Node(N1)), V2(mesh->Node(N2)), V3(mesh->Node(N3));
-+#endif
-
- // get the 3 normals of this triangle
- gp_Vec NV1, NV2, NV3;
-@@ -1179,7 +1192,11 @@ void ViewProviderPartExt::updateVisual()
- // rare cases where some points are only referenced by the polygon
- // but not by any triangle. Thus, we must apply the coordinates to
- // make sure that everything is properly set.
-+#if OCC_VERSION_HEX < 0x070600
- gp_Pnt p(Nodes(nodeIndex));
-+#else
-+ gp_Pnt p(mesh->Node(nodeIndex));
-+#endif
- if (!identity)
- p.Transform(myTransf);
- verts[index].setValue((float)(p.X()),(float)(p.Y()),(float)(p.Z()));
-diff --git a/src/Mod/Path/App/AppPathPy.cpp b/src/Mod/Path/App/AppPathPy.cpp
-index 6e0c72d2f53..ce912b44749 100644
---- a/src/Mod/Path/App/AppPathPy.cpp
-+++ b/src/Mod/Path/App/AppPathPy.cpp
-@@ -49,10 +49,7 @@
- #include <TopExp_Explorer.hxx>
- #include <gp_Lin.hxx>
- #include <BRep_Tool.hxx>
--#include <BRepAdaptor_CompCurve.hxx>
--#include <BRepAdaptor_HCompCurve.hxx>
--#include <Approx_Curve3d.hxx>
--#include <BRepAdaptor_HCurve.hxx>
-+#include <BRepAdaptor_Curve.hxx>
-
- #include "CommandPy.h"
- #include "PathPy.h"
-diff --git a/src/Mod/TechDraw/App/Geometry.cpp b/src/Mod/TechDraw/App/Geometry.cpp
-index b6c36371377..59a92d7e51b 100644
---- a/src/Mod/TechDraw/App/Geometry.cpp
-+++ b/src/Mod/TechDraw/App/Geometry.cpp
-@@ -28,13 +28,13 @@
- #include <BRepAdaptor_Curve.hxx>
- #include <BRep_Tool.hxx>
- #include <BRepTools.hxx>
--#include <BRepAdaptor_HCurve.hxx>
- #include <BRepLib.hxx>
- #include <BRepBuilderAPI_MakeVertex.hxx>
- #include <BRepBuilderAPI_MakeEdge.hxx>
- #include <BRepBuilderAPI_MakeWire.hxx>
- #include <BRepBuilderAPI_MakeFace.hxx>
- #include <BRepExtrema_DistShapeShape.hxx>
-+#include <BRepLProp_CLProps.hxx>
- #include <Precision.hxx>
- #include <GCPnts_AbscissaPoint.hxx>
- #include <gce_MakeCirc.hxx>
-@@ -58,14 +58,16 @@
- #include <GeomLProp_CLProps.hxx>
- #include <GeomAPI_ProjectPointOnCurve.hxx>
- #include <Poly_Polygon3D.hxx>
-+#include <Standard_Version.hxx>
- #include <TopoDS.hxx>
- #include <TopoDS_Edge.hxx>
- #include <TopExp.hxx>
- #include <TopExp_Explorer.hxx>
- #include <TColgp_Array1OfPnt2d.hxx>
- #include <TColgp_Array1OfPnt.hxx>
--#include <BRepLProp_CLProps.hxx>
--
-+#if OCC_VERSION_HEX < 0x070600
-+#include <BRepAdaptor_HCurve.hxx>
-+#endif
- #include <cmath>
- #endif // #ifndef _PreComp_
-
-@@ -86,6 +88,10 @@
- using namespace TechDraw;
- using namespace std;
-
-+#if OCC_VERSION_HEX >= 0x070600
-+using BRepAdaptor_HCurve = BRepAdaptor_Curve;
-+#endif
-+
- #define GEOMETRYEDGE 0
- #define COSMETICEDGE 1
- #define CENTERLINE 2
-diff --git a/src/Mod/Part/Gui/ViewProviderExt.cpp b/src/Mod/Part/Gui/ViewProviderExt.cpp
-index 77cefbe3e0..8a52f1701b 100644
---- a/src/Mod/Part/Gui/ViewProviderExt.cpp
-+++ b/src/Mod/Part/Gui/ViewProviderExt.cpp
-@@ -1154,16 +1154,25 @@
-
-
- // cycling through the poly mesh
-+#if OCC_VERSION_HEX < 0x070600
- const Poly_Array1OfTriangle& Triangles = mesh->Triangles();
- const TColgp_Array1OfPnt& Nodes = mesh->Nodes();
- TColgp_Array1OfDir Normals (Nodes.Lower(), Nodes.Upper());
-+#else
-+ int numNodes = mesh->NbNodes();
-+ TColgp_Array1OfDir Normals (1, numNodes);
-+#endif
- if (NormalsFromUV)
- getNormals(actFace, mesh, Normals);
-
- for (int g=1;g<=nbTriInFace;g++) {
- // Get the triangle
- Standard_Integer N1,N2,N3;
-+#if OCC_VERSION_HEX < 0x070600
- Triangles(g).Get(N1,N2,N3);
-+#else
-+ mesh->Triangle(g).Get(N1,N2,N3);
-+#endif
-
- // change orientation of the triangle if the face is reversed
- if ( orient != TopAbs_FORWARD ) {
diff --git a/testing/freecad/resourceDirectory.patch b/testing/freecad/resourceDirectory.patch
index 65227ae7e86..a2a16d1fe51 100644
--- a/testing/freecad/resourceDirectory.patch
+++ b/testing/freecad/resourceDirectory.patch
@@ -1,4 +1,4 @@
---- ./cMake/FreeCAD_Helpers/ConfigureCMakeVariables.cmake
+--- ./cMake/FreeCAD_Helpers/ConfigureCMakeVariables.cmake.orig
+++ ./cMake/FreeCAD_Helpers/ConfigureCMakeVariables.cmake
@@ -23,7 +23,7 @@
"Path to the directory containing PyCXX's cxxextensions.c source file")
@@ -6,6 +6,6 @@
# used as compiler defines
- set(RESOURCEDIR "${CMAKE_INSTALL_DATADIR}")
+ set(RESOURCEDIR "../../share/freecad")
+ set(LIBRARYDIR "${CMAKE_INSTALL_LIBDIR}")
set(DOCDIR "${CMAKE_INSTALL_DOCDIR}")
- message(STATUS "prefix: ${CMAKE_INSTALL_PREFIX}")
diff --git a/testing/freecad/tbb.patch b/testing/freecad/tbb.patch
deleted file mode 100644
index a371e8a6ecc..00000000000
--- a/testing/freecad/tbb.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-FreeCAD fails to compile when HAVE_TBB (seems to be an OpenCV flag) is set, which occurs when CMAKE_BUILD_TYPE is set to none.
---- ./src/Mod/Import/App/ImportOCAF.cpp
-+++ ./src/Mod/Import/App/ImportOCAF.cpp
-@@ -100,12 +100,6 @@
- #include <App/DocumentObject.h>
- #include <App/DocumentObjectGroup.h>
-
--#ifdef HAVE_TBB
--#include <tbb/parallel_for.h>
--#include <tbb/blocked_range.h>
--#include <tbb/task_group.h>
--#endif
--
- using namespace Import;
-
- #define OCAF_KEEP_PLACEMENT
-@@ -139,10 +133,6 @@
- std::vector<App::DocumentObject*>& lValue)
- {
- int hash = 0;
--#ifdef HAVE_TBB
-- using namespace tbb;
-- task_group g;
--#endif
- TopoDS_Shape aShape;
-
- std::vector<App::DocumentObject *> localValue;
-@@ -284,10 +274,6 @@
- std::vector<App::DocumentObject*>& lValue, bool mergeShape)
- {
- const TopoDS_Shape& aShape = aShapeTool->GetShape(label);
--#ifdef HAVE_TBB
-- using namespace tbb;
-- task_group g;
--#endif
-
- if (!aShape.IsNull() && aShape.ShapeType() == TopAbs_COMPOUND) {
- TopExp_Explorer xp;
diff --git a/testing/freecad/tests.patch b/testing/freecad/tests.patch
new file mode 100644
index 00000000000..4b63a2061db
--- /dev/null
+++ b/testing/freecad/tests.patch
@@ -0,0 +1,33 @@
+--- ./src/Mod/Mesh/App/MeshTestsApp.py.orig
++++ ./src/Mod/Mesh/App/MeshTestsApp.py
+@@ -423,30 +423,6 @@
+ self.planarMesh = []
+ FreeCAD.newDocument("MeshTest")
+
+- def testRayPick(self):
+- if not FreeCAD.GuiUp:
+- return
+- self.planarMesh.append( [-16.097176,-29.891157,15.987688] )
+- self.planarMesh.append( [-16.176304,-29.859991,15.947966] )
+- self.planarMesh.append( [-16.071451,-29.900553,15.912505] )
+- self.planarMesh.append( [-16.092241,-29.893408,16.020439] )
+- self.planarMesh.append( [-16.007210,-29.926180,15.967641] )
+- self.planarMesh.append( [-16.064457,-29.904951,16.090832] )
+- planarMeshObject = Mesh.Mesh(self.planarMesh)
+-
+- from pivy import coin; import FreeCADGui
+- Mesh.show(planarMeshObject)
+- view=FreeCADGui.ActiveDocument.ActiveView.getViewer()
+- rp=coin.SoRayPickAction(view.getSoRenderManager().getViewportRegion())
+- rp.setRay(coin.SbVec3f(-16.05,16.0,16.0),coin.SbVec3f(0,-1,0))
+- rp.apply(view.getSoRenderManager().getSceneGraph())
+- pp=rp.getPickedPoint()
+- self.assertTrue(pp != None)
+- det=pp.getDetail()
+- self.assertTrue(det.getTypeId() == coin.SoFaceDetail.getClassTypeId())
+- det=coin.cast(det, det.getTypeId().getName().getString())
+- self.assertTrue(det.getFaceIndex() == 1)
+-
+ def testPrimitiveCount(self):
+ if not FreeCAD.GuiUp:
+ return
diff --git a/testing/freecad/vtk9.patch b/testing/freecad/vtk9.patch
deleted file mode 100644
index 25fda0099da..00000000000
--- a/testing/freecad/vtk9.patch
+++ /dev/null
@@ -1,830 +0,0 @@
-Originally from Fedora FreeCAD package
-https://src.fedoraproject.org/rpms/freecad/blob/rawhide/f/freecad-vtk9.patch
-Will not be needed once FreeCAD v0.20 comes out as it has native support for vtk9
-From bb9bcbd51df7c3cb76c5823038e4ea0f7e25a9ff Mon Sep 17 00:00:00 2001
-From: wmayer <wmayer@users.sourceforge.net>
-Date: Mon, 12 Oct 2020 17:56:03 +0200
-Subject: [PATCH] Make smesh compile with vtk9
-
----
- .../salomesmesh/inc/SMDS_MeshElement.hxx | 9 +++-
- .../salomesmesh/inc/SMDS_UnstructuredGrid.hxx | 4 ++
- .../salomesmesh/src/SMDS/SMDS_BallElement.cpp | 9 +++-
- .../salomesmesh/src/SMDS/SMDS_Downward.cpp | 44 +++++++++----------
- .../salomesmesh/src/SMDS/SMDS_Mesh.cpp | 6 ++-
- .../src/SMDS/SMDS_Mesh0DElement.cpp | 12 +++++
- .../salomesmesh/src/SMDS/SMDS_MeshNode.cpp | 10 ++---
- .../src/SMDS/SMDS_UnstructuredGrid.cpp | 35 +++++++++++++--
- .../src/SMDS/SMDS_VtkCellIterator.cpp | 7 +--
- .../salomesmesh/src/SMDS/SMDS_VtkEdge.cpp | 19 +++++++-
- .../salomesmesh/src/SMDS/SMDS_VtkFace.cpp | 29 ++++++++++--
- .../salomesmesh/src/SMDS/SMDS_VtkVolume.cpp | 38 +++++++++++-----
- .../src/SMESH/SMESH_MeshEditor.cpp | 8 ++--
- src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp | 7 ++-
- 14 files changed, 179 insertions(+), 58 deletions(-)
-
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/inc/SMDS_MeshElement.hxx
-@@ -40,11 +40,16 @@
-
- #include <vtkType.h>
- #include <vtkCellType.h>
-+#include <vtkCellArray.h>
-
- //typedef unsigned short UShortType;
- typedef short ShortType;
- typedef int LongType;
--
-+#ifdef VTK_CELL_ARRAY_V2
-+typedef const vtkIdType* vtkIdTypePtr;
-+#else
-+typedef vtkIdType* vtkIdTypePtr;
-+#endif
- class SMDS_MeshNode;
- class SMDS_MeshEdge;
- class SMDS_MeshFace;
-@@ -192,7 +197,7 @@ protected:
- //! Element index in vector SMDS_Mesh::myNodes or SMDS_Mesh::myCells
- int myID;
- //! index in vtkUnstructuredGrid
-- int myVtkID;
-+ vtkIdType myVtkID;
- //! SMDS_Mesh identification in SMESH
- ShortType myMeshId;
- //! SubShape and SubMesh identification in SMESHDS
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/inc/SMDS_UnstructuredGrid.hxx
-@@ -95,7 +95,11 @@ public:
- std::map<int, std::map<long,int> >& nodeQuadDomains);
- vtkCellLinks* GetLinks()
- {
-+#ifdef VTK_CELL_ARRAY_V2
-+ return static_cast<vtkCellLinks*>(GetCellLinks());
-+#else
- return Links;
-+#endif
- }
- SMDS_Downward* getDownArray(unsigned char vtkType)
- {
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_BallElement.cpp
-@@ -67,10 +67,16 @@ void SMDS_BallElement::SetDiameter(doubl
- bool SMDS_BallElement::ChangeNode (const SMDS_MeshNode * node)
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkNew<vtkIdList> cellPoints;
-+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-+ cellPoints->SetId(0, node->getVtkId());
-+#else
- vtkIdType npts = 0;
- vtkIdType* pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
- pts[0] = node->getVtkId();
-+#endif
- SMDS_Mesh::_meshList[myMeshId]->setMyModified();
- return true;
- }
-@@ -83,7 +89,8 @@ void SMDS_BallElement::Print (std::ostre
- const SMDS_MeshNode* SMDS_BallElement::GetNode (const int ind) const
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-- vtkIdType npts, *pts;
-+ vtkIdType npts;
-+ vtkIdTypePtr pts;
- grid->GetCellPoints( myVtkID, npts, pts );
- return SMDS_Mesh::_meshList[myMeshId]->FindNodeVtk( pts[ 0 ]);
- }
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_Downward.cpp
-@@ -303,7 +303,7 @@ int SMDS_Down1D::getNodeSet(int cellId,
- void SMDS_Down1D::setNodes(int cellId, int vtkId)
- {
- vtkIdType npts = 0;
-- vtkIdType *pts; // will refer to the point id's of the face
-+ vtkIdTypePtr pts; // will refer to the point id's of the face
- _grid->GetCellPoints(vtkId, npts, pts);
- // MESSAGE(vtkId << " " << npts << " " << _nbDownCells);
- //ASSERT(npts == _nbDownCells);
-@@ -357,7 +357,7 @@ int SMDS_Down1D::computeVtkCells(int *pt
- {
- vtkIdType point = pts[i];
- int numCells = _grid->GetLinks()->GetNcells(point);
-- vtkIdType *cells = _grid->GetLinks()->GetCells(point);
-+ vtkIdTypePtr cells = _grid->GetLinks()->GetCells(point);
- for (int j = 0; j < numCells; j++)
- {
- int vtkCellId = cells[j];
-@@ -532,7 +532,7 @@ int SMDS_Down2D::computeVolumeIds(int ce
- // --- find point id's of the face
-
- vtkIdType npts = 0;
-- vtkIdType *pts; // will refer to the point id's of the face
-+ vtkIdTypePtr pts; // will refer to the point id's of the face
- _grid->GetCellPoints(cellId, npts, pts);
- vector<int> nodes;
- for (int i = 0; i < npts; i++)
-@@ -577,7 +577,7 @@ int SMDS_Down2D::computeVolumeIdsFromNod
- vtkIdType point = pts[i];
- int numCells = _grid->GetLinks()->GetNcells(point);
- //MESSAGE("cells pour " << i << " " << numCells);
-- vtkIdType *cells = _grid->GetLinks()->GetCells(point);
-+ vtkIdTypePtr cells = _grid->GetLinks()->GetCells(point);
- for (int j = 0; j < numCells; j++)
- {
- int vtkCellId = cells[j];
-@@ -627,7 +627,7 @@ int SMDS_Down2D::computeVolumeIdsFromNod
- void SMDS_Down2D::setTempNodes(int cellId, int vtkId)
- {
- vtkIdType npts = 0;
-- vtkIdType *pts; // will refer to the point id's of the face
-+ vtkIdTypePtr pts; // will refer to the point id's of the face
- _grid->GetCellPoints(vtkId, npts, pts);
- // MESSAGE(vtkId << " " << npts << " " << _nbNodes);
- //ASSERT(npts == _nbNodes);
-@@ -795,7 +795,7 @@ void SMDS_Down3D::getNodeIds(int cellId,
- {
- int vtkId = this->_vtkCellIds[cellId];
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(vtkId, npts, nodes);
- for (int i = 0; i < npts; i++)
- nodeSet.insert(nodes[i]);
-@@ -1126,7 +1126,7 @@ void SMDS_DownTetra::getOrderedNodesOfFa
- //MESSAGE("cellId = " << cellId);
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes);
-
- set<int> tofind;
-@@ -1178,7 +1178,7 @@ void SMDS_DownTetra::computeFacesWithNod
- // --- find point id's of the volume
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(cellId, npts, nodes);
-
- // --- create all the ordered list of node id's for each face
-@@ -1234,7 +1234,7 @@ void SMDS_DownQuadTetra::getOrderedNodes
- //MESSAGE("cellId = " << cellId);
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes);
-
- set<int> tofind;
-@@ -1288,7 +1288,7 @@ void SMDS_DownQuadTetra::computeFacesWit
- // --- find point id's of the volume
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(cellId, npts, nodes);
-
- // --- create all the ordered list of node id's for each face
-@@ -1357,7 +1357,7 @@ void SMDS_DownPyramid::getOrderedNodesOf
- //MESSAGE("cellId = " << cellId);
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes);
-
- set<int> tofind;
-@@ -1435,7 +1435,7 @@ void SMDS_DownPyramid::computeFacesWithN
- // --- find point id's of the volume
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(cellId, npts, nodes);
-
- // --- create all the ordered list of node id's for each face
-@@ -1500,7 +1500,7 @@ void SMDS_DownQuadPyramid::getOrderedNod
- //MESSAGE("cellId = " << cellId);
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes);
-
- set<int> tofind;
-@@ -1580,7 +1580,7 @@ void SMDS_DownQuadPyramid::computeFacesW
- // --- find point id's of the volume
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(cellId, npts, nodes);
-
- // --- create all the ordered list of node id's for each face
-@@ -1660,7 +1660,7 @@ void SMDS_DownPenta::getOrderedNodesOfFa
- //MESSAGE("cellId = " << cellId);
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes);
-
- set<int> tofind;
-@@ -1744,7 +1744,7 @@ void SMDS_DownPenta::computeFacesWithNod
- // --- find point id's of the volume
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(cellId, npts, nodes);
-
- // --- create all the ordered list of node id's for each face
-@@ -1810,7 +1810,7 @@ void SMDS_DownQuadPenta::getOrderedNodes
- //MESSAGE("cellId = " << cellId);
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes);
-
- set<int> tofind;
-@@ -1896,7 +1896,7 @@ void SMDS_DownQuadPenta::computeFacesWit
- // --- find point id's of the volume
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(cellId, npts, nodes);
-
- // --- create all the ordered list of node id's for each face
-@@ -1981,7 +1981,7 @@ void SMDS_DownHexa::getOrderedNodesOfFac
- //MESSAGE("cellId = " << cellId);
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes);
-
- set<int> tofind;
-@@ -2036,7 +2036,7 @@ void SMDS_DownHexa::computeFacesWithNode
- // --- find point id's of the volume
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(cellId, npts, nodes);
-
- // --- create all the ordered list of node id's for each face
-@@ -2112,7 +2112,7 @@ void SMDS_DownQuadHexa::getOrderedNodesO
- //MESSAGE("cellId = " << cellId);
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(this->_vtkCellIds[cellId], npts, nodes);
-
- set<int> tofind;
-@@ -2167,7 +2167,7 @@ void SMDS_DownQuadHexa::computeFacesWith
- // --- find point id's of the volume
-
- vtkIdType npts = 0;
-- vtkIdType *nodes; // will refer to the point id's of the volume
-+ vtkIdTypePtr nodes; // will refer to the point id's of the volume
- _grid->GetCellPoints(cellId, npts, nodes);
-
- // --- create all the ordered list of node id's for each face
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh.cpp
-@@ -4768,7 +4768,11 @@ void SMDS_Mesh::dumpGrid(string ficdump)
- ficcon << endl;
- }
- ficcon << "-------------------------------- connectivity " << nbPoints << endl;
-- vtkCellLinks *links = myGrid->GetCellLinks();
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkCellLinks *links = static_cast<vtkCellLinks*>(myGrid->GetCellLinks());
-+#else
-+ vtkCellLinks *links = myGrid->GetCellLinks();
-+#endif
- for (int i=0; i<nbPoints; i++)
- {
- int ncells = links->GetNcells(i);
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_Mesh0DElement.cpp
-@@ -146,6 +146,17 @@ bool SMDS_Mesh0DElement::ChangeNodes(con
- if ( nbNodes == 1 )
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkNew<vtkIdList> cellPoints;
-+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-+ if (nbNodes != cellPoints->GetNumberOfIds())
-+ {
-+ MESSAGE("ChangeNodes problem: not the same number of nodes " << cellPoints->GetNumberOfIds() << " -> " << nbNodes);
-+ return false;
-+ }
-+ myNode = nodes[0];
-+ cellPoints->SetId(0, myNode->getVtkId());
-+#else
- vtkIdType npts = 0;
- vtkIdType* pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
-@@ -156,6 +167,7 @@ bool SMDS_Mesh0DElement::ChangeNodes(con
- }
- myNode = nodes[0];
- pts[0] = myNode->getVtkId();
-+#endif
-
- SMDS_Mesh::_meshList[myMeshId]->setMyModified();
- return true;
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_MeshNode.cpp
-@@ -191,7 +191,7 @@ public:
- SMDS_ElemIteratorPtr SMDS_MeshNode::
- GetInverseElementIterator(SMDSAbs_ElementType type) const
- {
-- vtkCellLinks::Link l = SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks()->GetLink(myVtkID);
-+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID);
- //MESSAGE("myID " << myID << " ncells " << l.ncells);
- return SMDS_ElemIteratorPtr(new SMDS_MeshNode_MyInvIterator(SMDS_Mesh::_meshList[myMeshId], l.cells, l.ncells, type));
- }
-@@ -251,7 +251,7 @@ elementsIterator(SMDSAbs_ElementType typ
- return SMDS_MeshElement::elementsIterator(SMDSAbs_Node);
- else
- {
-- vtkCellLinks::Link l = SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks()->GetLink(myVtkID);
-+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID);
- return SMDS_ElemIteratorPtr(new SMDS_MeshNode_MyIterator(SMDS_Mesh::_meshList[myMeshId], l.cells, l.ncells, type));
- }
- }
-@@ -350,7 +350,7 @@ void SMDS_MeshNode::AddInverseElement(co
- const SMDS_MeshCell *cell = dynamic_cast<const SMDS_MeshCell*> (ME);
- assert(cell);
- SMDS_UnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-- vtkCellLinks *Links = grid->GetCellLinks();
-+ vtkCellLinks *Links = static_cast<vtkCellLinks*>(grid->GetCellLinks());
- Links->ResizeCellList(myVtkID, 1);
- Links->AddCellReference(cell->getVtkId(), myVtkID);
- }
-@@ -366,7 +366,7 @@ void SMDS_MeshNode::ClearInverseElements
-
- bool SMDS_MeshNode::emptyInverseElements()
- {
-- vtkCellLinks::Link l = SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks()->GetLink(myVtkID);
-+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID);
- return (l.ncells == 0);
- }
-
-@@ -378,7 +378,7 @@ bool SMDS_MeshNode::emptyInverseElements
-
- int SMDS_MeshNode::NbInverseElements(SMDSAbs_ElementType type) const
- {
-- vtkCellLinks::Link l = SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks()->GetLink(myVtkID);
-+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(SMDS_Mesh::_meshList[myMeshId]->getGrid()->GetCellLinks())->GetLink(myVtkID);
-
- if ( type == SMDSAbs_All )
- return l.ncells;
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-@@ -139,8 +139,8 @@ int SMDS_UnstructuredGrid::InsertNextLin
- for (; it != setOfNodes.end(); ++it)
- {
- //MESSAGE("reverse link for node " << *it << " cell " << cellid);
-- this->Links->ResizeCellList(*it, 1);
-- this->Links->AddCellReference(cellid, *it);
-+ this->GetLinks()->ResizeCellList(*it, 1);
-+ this->GetLinks()->AddCellReference(cellid, *it);
- }
-
- return cellid;
-@@ -332,9 +332,13 @@ void SMDS_UnstructuredGrid::copyBloc(vtk
- {
- newTypes->SetValue(alreadyCopied, this->Types->GetValue(j));
- idCellsOldToNew[j] = alreadyCopied; // old vtkId --> new vtkId
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkIdType oldLoc = this->GetCellLocationsArray()->GetValue(j);
-+#else
- vtkIdType oldLoc = this->Locations->GetValue(j);
-+#endif
- vtkIdType nbpts;
-- vtkIdType *oldPtsCell = 0;
-+ vtkIdTypePtr oldPtsCell = 0;
- this->Connectivity->GetCell(oldLoc, nbpts, oldPtsCell);
- assert(nbpts < NBMAXNODESINCELL);
- //MESSAGE(j << " " << alreadyCopied << " " << (int)this->Types->GetValue(j) << " " << oldLoc << " " << nbpts );
-@@ -952,6 +956,21 @@ void SMDS_UnstructuredGrid::GetNodeIds(s
- */
- void SMDS_UnstructuredGrid::ModifyCellNodes(int vtkVolId, std::map<int, int> localClonedNodeIds)
- {
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkNew<vtkIdList> cellPoints;
-+ this->GetCellPoints(vtkVolId, cellPoints.GetPointer());
-+ for (vtkIdType i = 0; i < cellPoints->GetNumberOfIds(); i++)
-+ {
-+ if (localClonedNodeIds.count(cellPoints->GetId(i)))
-+ {
-+ vtkIdType oldpt = cellPoints->GetId(i);
-+ cellPoints->SetId(i, localClonedNodeIds[oldpt]);
-+ //MESSAGE(oldpt << " --> " << pts[i]);
-+ //this->RemoveReferenceToCell(oldpt, vtkVolId);
-+ //this->AddReferenceToCell(pts[i], vtkVolId);
-+ }
-+ }
-+#else
- vtkIdType npts = 0;
- vtkIdType *pts; // will refer to the point id's of the face
- this->GetCellPoints(vtkVolId, npts, pts);
-@@ -966,6 +985,7 @@ void SMDS_UnstructuredGrid::ModifyCellNo
- //this->AddReferenceToCell(pts[i], vtkVolId);
- }
- }
-+#endif
- }
-
- /*! reorder the nodes of a face
-@@ -995,11 +1015,20 @@ void SMDS_UnstructuredGrid::BuildLinks()
- this->Links->UnRegister(this);
- }
-
-+#ifdef VTK_CELL_ARRAY_V2
-+ this->Links = SMDS_CellLinks::New();
-+ GetLinks()->Allocate(this->GetNumberOfPoints());
-+ GetLinks()->Register(this);
-+//FIXME: vtk9
-+ GetLinks()->BuildLinks(this);
-+ GetLinks()->Delete();
-+#else
- this->Links = SMDS_CellLinks::New();
- this->Links->Allocate(this->GetNumberOfPoints());
- this->Links->Register(this);
- this->Links->BuildLinks(this, this->Connectivity);
- this->Links->Delete();
-+#endif
- }
-
- /*! Create a volume (prism or hexahedron) by duplication of a face.
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkCellIterator.cpp
-@@ -33,7 +33,8 @@ SMDS_VtkCellIterator::SMDS_VtkCellIterat
- }
- else
- {
-- vtkIdType npts, *pts;
-+ vtkIdType npts;
-+ vtkIdTypePtr pts;
- grid->GetCellPoints( _cellId, npts, pts );
- _vtkIdList->SetNumberOfIds( _nbNodes = npts );
- for (int i = 0; i < _nbNodes; i++)
-@@ -67,7 +68,7 @@ SMDS_VtkCellIteratorToUNV::SMDS_VtkCellI
- //MESSAGE("SMDS_VtkCellInterlacedIterator (UNV)" << _type);
-
- _vtkIdList = vtkIdList::New();
-- vtkIdType* pts;
-+ vtkIdTypePtr pts;
- vtkIdType npts;
- vtkUnstructuredGrid* grid = _mesh->getGrid();
- grid->GetCellPoints((vtkIdType)_cellId, npts, pts);
-@@ -182,7 +183,7 @@ SMDS_VtkCellIteratorPolyH::SMDS_VtkCellI
- {
- //MESSAGE("SMDS_VtkCellIterator Polyhedra");
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(_cellId, nFaces, ptIds);
- int id = 0;
- _nbNodesInFaces = 0;
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkEdge.cpp
-@@ -67,6 +67,19 @@ bool SMDS_VtkEdge::ChangeNodes(const SMD
- bool SMDS_VtkEdge::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes)
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkNew<vtkIdList> cellPoints;
-+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-+ if (nbNodes != cellPoints->GetNumberOfIds())
-+ {
-+ MESSAGE("ChangeNodes problem: not the same number of nodes " << cellPoints->GetNumberOfIds() << " -> " << nbNodes);
-+ return false;
-+ }
-+ for (int i = 0; i < nbNodes; i++)
-+ {
-+ cellPoints->SetId(i, nodes[i]->getVtkId());
-+ }
-+#else
- vtkIdType npts = 0;
- vtkIdType* pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
-@@ -79,6 +92,7 @@ bool SMDS_VtkEdge::ChangeNodes(const SMD
- {
- pts[i] = nodes[i]->getVtkId();
- }
-+#endif
- SMDS_Mesh::_meshList[myMeshId]->setMyModified();
- return true;
- }
-@@ -87,7 +101,7 @@ bool SMDS_VtkEdge::IsMediumNode(const SM
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
- vtkIdType npts = 0;
-- vtkIdType* pts = 0;
-+ vtkIdTypePtr pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
- //MESSAGE("IsMediumNode " << npts << " " << (node->getVtkId() == pts[npts-1]));
- return ((npts == 3) && (node->getVtkId() == pts[2]));
-@@ -137,7 +151,8 @@ const SMDS_MeshNode*
- SMDS_VtkEdge::GetNode(const int ind) const
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-- vtkIdType npts, *pts;
-+ vtkIdType npts;
-+ vtkIdTypePtr pts;
- grid->GetCellPoints( this->myVtkID, npts, pts );
- return SMDS_Mesh::_meshList[myMeshId]->FindNodeVtk( pts[ ind ]);
- }
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkFace.cpp
-@@ -101,6 +101,19 @@ void SMDS_VtkFace::initQuadPoly(const st
- bool SMDS_VtkFace::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes)
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkNew<vtkIdList> cellPoints;
-+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-+ if (nbNodes != cellPoints->GetNumberOfIds())
-+ {
-+ MESSAGE("ChangeNodes problem: not the same number of nodes " << cellPoints->GetNumberOfIds() << " -> " << nbNodes);
-+ return false;
-+ }
-+ for (int i = 0; i < nbNodes; i++)
-+ {
-+ cellPoints->SetId(i, nodes[i]->getVtkId());
-+ }
-+#else
- vtkIdType npts = 0;
- vtkIdType* pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
-@@ -113,6 +126,7 @@ bool SMDS_VtkFace::ChangeNodes(const SMD
- {
- pts[i] = nodes[i]->getVtkId();
- }
-+#endif
- SMDS_Mesh::_meshList[myMeshId]->setMyModified();
- return true;
- }
-@@ -173,7 +187,8 @@ const SMDS_MeshNode*
- SMDS_VtkFace::GetNode(const int ind) const
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-- vtkIdType npts, *pts;
-+ vtkIdType npts;
-+ vtkIdTypePtr pts;
- grid->GetCellPoints( this->myVtkID, npts, pts );
- return SMDS_Mesh::_meshList[myMeshId]->FindNodeVtk( pts[ ind ]);
- }
-@@ -186,7 +201,8 @@ SMDS_VtkFace::GetNode(const int ind) con
- int SMDS_VtkFace::GetNodeIndex( const SMDS_MeshNode* node ) const
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-- vtkIdType npts, *pts;
-+ vtkIdType npts;
-+ vtkIdTypePtr pts;
- grid->GetCellPoints( this->myVtkID, npts, pts );
- for ( vtkIdType i = 0; i < npts; ++i )
- if ( pts[i] == node->getVtkId() )
-@@ -251,7 +267,7 @@ bool SMDS_VtkFace::IsMediumNode(const SM
- return false;
- }
- vtkIdType npts = 0;
-- vtkIdType* pts = 0;
-+ vtkIdTypePtr pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
- vtkIdType nodeId = node->getVtkId();
- for (int rank = 0; rank < npts; rank++)
-@@ -356,11 +372,18 @@ SMDS_NodeIteratorPtr SMDS_VtkFace::inter
- void SMDS_VtkFace::ChangeApex(SMDS_MeshNode* node)
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkNew<vtkIdList> cellPoints;
-+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-+ grid->RemoveReferenceToCell(cellPoints->GetId(0), myVtkID);
-+ cellPoints->SetId(0, node->getVtkId());
-+#else
- vtkIdType npts = 0;
- vtkIdType* pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
- grid->RemoveReferenceToCell(pts[0], myVtkID);
- pts[0] = node->getVtkId();
-+#endif
- node->AddInverseElement(this),
- SMDS_Mesh::_meshList[myMeshId]->setMyModified();
- }
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMDS/SMDS_VtkVolume.cpp
-@@ -133,6 +133,19 @@ void SMDS_VtkVolume::initPoly(const std:
- bool SMDS_VtkVolume::ChangeNodes(const SMDS_MeshNode* nodes[], const int nbNodes)
- {
- vtkUnstructuredGrid* grid = SMDS_Mesh::_meshList[myMeshId]->getGrid();
-+#ifdef VTK_CELL_ARRAY_V2
-+ vtkNew<vtkIdList> cellPoints;
-+ grid->GetCellPoints(myVtkID, cellPoints.GetPointer());
-+ if (nbNodes != cellPoints->GetNumberOfIds())
-+ {
-+ MESSAGE("ChangeNodes problem: not the same number of nodes " << cellPoints->GetNumberOfIds() << " -> " << nbNodes);
-+ return false;
-+ }
-+ for (int i = 0; i < nbNodes; i++)
-+ {
-+ cellPoints->SetId(i, nodes[i]->getVtkId());
-+ }
-+#else
- vtkIdType npts = 0;
- vtkIdType* pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
-@@ -145,6 +158,7 @@ bool SMDS_VtkVolume::ChangeNodes(const S
- {
- pts[i] = nodes[i]->getVtkId();
- }
-+#endif
- SMDS_Mesh::_meshList[myMeshId]->setMyModified();
- return true;
- }
-@@ -207,7 +221,7 @@ int SMDS_VtkVolume::NbFaces() const
- case VTK_POLYHEDRON:
- {
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
- nbFaces = nFaces;
- break;
-@@ -236,7 +250,7 @@ int SMDS_VtkVolume::NbNodes() const
- else
- {
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
- int id = 0;
- for (int i = 0; i < nFaces; i++)
-@@ -276,7 +290,7 @@ int SMDS_VtkVolume::NbEdges() const
- case VTK_POLYHEDRON:
- {
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
- nbEdges = 0;
- int id = 0;
-@@ -312,7 +326,7 @@ int SMDS_VtkVolume::NbFaceNodes(const in
- if (aVtkType == VTK_POLYHEDRON)
- {
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
- int id = 0;
- for (int i = 0; i < nFaces; i++)
-@@ -342,7 +356,7 @@ const SMDS_MeshNode* SMDS_VtkVolume::Get
- if (aVtkType == VTK_POLYHEDRON)
- {
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
- int id = 0;
- for (int i = 0; i < nFaces; i++)
-@@ -372,7 +386,7 @@ std::vector<int> SMDS_VtkVolume::GetQuan
- if (aVtkType == VTK_POLYHEDRON)
- {
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
- int id = 0;
- for (int i = 0; i < nFaces; i++)
-@@ -430,7 +444,7 @@ const SMDS_MeshNode* SMDS_VtkVolume::Get
- if ( aVtkType == VTK_POLYHEDRON)
- {
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
- int id = 0, nbPoints = 0;
- for (int i = 0; i < nFaces; i++)
-@@ -443,7 +457,8 @@ const SMDS_MeshNode* SMDS_VtkVolume::Get
- }
- return 0;
- }
-- vtkIdType npts, *pts;
-+ vtkIdType npts;
-+ vtkIdTypePtr pts;
- grid->GetCellPoints( this->myVtkID, npts, pts );
- const std::vector<int>& interlace = SMDS_MeshCell::fromVtkOrder( VTKCellType( aVtkType ));
- return SMDS_Mesh::_meshList[myMeshId]->FindNodeVtk( pts[ interlace.empty() ? ind : interlace[ind]] );
-@@ -460,7 +475,7 @@ int SMDS_VtkVolume::GetNodeIndex( const
- if ( aVtkType == VTK_POLYHEDRON)
- {
- vtkIdType nFaces = 0;
-- vtkIdType* ptIds = 0;
-+ vtkIdTypePtr ptIds = 0;
- grid->GetFaceStream(this->myVtkID, nFaces, ptIds);
- int id = 0;
- for (int iF = 0; iF < nFaces; iF++)
-@@ -473,7 +488,8 @@ int SMDS_VtkVolume::GetNodeIndex( const
- }
- return -1;
- }
-- vtkIdType npts, *pts;
-+ vtkIdType npts;
-+ vtkIdTypePtr pts;
- grid->GetCellPoints( this->myVtkID, npts, pts );
- for ( vtkIdType i = 0; i < npts; ++i )
- if ( pts[i] == node->getVtkId() )
-@@ -534,7 +550,7 @@ bool SMDS_VtkVolume::IsMediumNode(const
- return false;
- }
- vtkIdType npts = 0;
-- vtkIdType* pts = 0;
-+ vtkIdTypePtr pts = 0;
- grid->GetCellPoints(myVtkID, npts, pts);
- vtkIdType nodeId = node->getVtkId();
- for (int rank = 0; rank < npts; rank++)
-Index: FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp
-+++ FreeCAD-0.19.2/src/3rdParty/salomesmesh/src/SMESH/SMESH_MeshEditor.cpp
-@@ -11348,7 +11348,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGrou
- {
- int oldId = *itn;
- //MESSAGE(" node " << oldId);
-- vtkCellLinks::Link l = grid->GetCellLinks()->GetLink(oldId);
-+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(grid->GetCellLinks())->GetLink(oldId);
- for (int i=0; i<l.ncells; i++)
- {
- int vtkId = l.cells[i];
-@@ -11527,7 +11527,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGrou
- //MESSAGE(" domain " << idom << " volume " << elem->GetID());
- double values[3];
- vtkIdType npts = 0;
-- vtkIdType* pts = 0;
-+ vtkIdTypePtr pts = 0;
- grid->GetCellPoints(vtkVolIds[ivol], npts, pts);
- SMDS_VtkVolume::gravityCenter(grid, pts, npts, values);
- if (id ==0)
-@@ -11708,7 +11708,7 @@ bool SMESH_MeshEditor::DoubleNodesOnGrou
- {
- int oldId = itnod->first;
- //MESSAGE(" node " << oldId);
-- vtkCellLinks::Link l = grid->GetCellLinks()->GetLink(oldId);
-+ vtkCellLinks::Link l = static_cast<vtkCellLinks*>(grid->GetCellLinks())->GetLink(oldId);
- for (int i = 0; i < l.ncells; i++)
- {
- int vtkId = l.cells[i];
-@@ -12165,7 +12165,7 @@ void SMESH_MeshEditor::CreateHoleSkin(do
- MESSAGE("volume to check, vtkId " << vtkId << " smdsId " << meshDS->fromVtkToSmds(vtkId));
- bool volInside = false;
- vtkIdType npts = 0;
-- vtkIdType* pts = 0;
-+ vtkIdTypePtr pts = 0;
- grid->GetCellPoints(vtkId, npts, pts);
- for (int i=0; i<npts; i++)
- {
-Index: FreeCAD-0.19.2/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp
-===================================================================
---- FreeCAD-0.19.2.orig/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp
-+++ FreeCAD-0.19.2/src/Mod/Fem/Gui/ViewProviderFemPostObject.cpp
-@@ -20,7 +20,6 @@
- * *
- ***************************************************************************/
-
--
- #include "PreCompiled.h"
-
- #ifndef _PreComp_
diff --git a/testing/freediameter/APKBUILD b/testing/freediameter/APKBUILD
new file mode 100644
index 00000000000..bfba7316863
--- /dev/null
+++ b/testing/freediameter/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Peter Shkenev <santurysim@gmail.com>
+# Maintainer: Peter Shkenev <santurysim@gmail.com>
+pkgname=freediameter
+pkgver=1.5.0
+_gitcommit="33dbbd20c9107a765dbafb9b1fef16f5f47c65cd"
+pkgrel=1
+pkgdesc="Free implementation of Diameter protocol"
+url="https://github.com/open5gs/freediameter"
+arch="all"
+options="!check" #no test suite
+license="BSD-3-Clause"
+makedepends="cmake libgcrypt-dev libidn-dev gnutls-dev flex bison samurai"
+subpackages="$pkgname-dev $pkgname-libfdcore $pkgname-libfdproto $pkgname-extensions"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/open5gs/freediameter/archive/$_gitcommit.tar.gz
+ "
+builddir="$srcdir/freeDiameter-$_gitcommit"
+
+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=None \
+ -DDISABLE_SCTP=ON \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+libfdcore() {
+ pkgdesc="$pkgdesc (core library)"
+ amove usr/lib/libfdcore.so.*
+}
+
+libfdproto() {
+ pkgdesc="$pkgdesc (protocol library)"
+ amove usr/lib/libfdproto.so.*
+}
+
+extensions() {
+ pkgdesc="$pkgdesc (extensions)"
+ amove usr/lib/freeDiameter
+}
+
+sha512sums="
+91a003447bee8174e89b1244f6d89c67c0686193ea6b5e2b0588156ec648d8ff6ee4b16ce6ccf081e2606916c1f1e2a7037e044f3149e10cd180424b669f136c freediameter-1.5.0.tar.gz
+"
diff --git a/testing/freedoom/APKBUILD b/testing/freedoom/APKBUILD
index 4b120072db9..cd0909e960e 100644
--- a/testing/freedoom/APKBUILD
+++ b/testing/freedoom/APKBUILD
@@ -1,16 +1,19 @@
# Contributor: Antoine Fontaine <antoine.fontaine@epfl.ch>
-# Maintainer: Antoine Fontaine <antoine.fontaine@epfl.ch>
-pkgname="freedoom"
-pkgver="0.12.1"
-pkgrel=0
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=freedoom
+pkgver=0.12.1
+pkgrel=2
pkgdesc="an entirely free software game running on a Doom engine."
url="https://freedoom.github.io"
-arch="noarch !s390x !mips !mips64"
+arch="noarch !s390x"
license="BSD-3-Clause-Clear"
makedepends="python3 py3-pillow make deutex asciidoc asciidoctor"
options="!check"
subpackages="$pkgname-doc"
-source="https://github.com/freedoom/freedoom/releases/download/v$pkgver/freedoom-$pkgver.tar.xz"
+source="
+ https://github.com/freedoom/freedoom/releases/download/v$pkgver/freedoom-$pkgver.tar.xz
+ support-python-pil-10.patch
+ "
build() {
make
@@ -21,4 +24,7 @@ package() {
make DESTDIR="$pkgdir" prefix=/usr install
}
-sha512sums="08a8489e1bbd9418262bfefaa9afe67a281b6f3fd38f77ac822438da434229bb034077e53658c06fa93cbf3ba3c5c25dab5fe1844fe23043e310d21866e12810 freedoom-0.12.1.tar.xz"
+sha512sums="
+08a8489e1bbd9418262bfefaa9afe67a281b6f3fd38f77ac822438da434229bb034077e53658c06fa93cbf3ba3c5c25dab5fe1844fe23043e310d21866e12810 freedoom-0.12.1.tar.xz
+0a11c8f79ab8e289f5940596203f43e11ad2709709b9c9ee4e14304e18ab3d0b0991bc292f77b2fe06ada7addcb63537aeb270b1cf3d3b7455ca8913ceee5e73 support-python-pil-10.patch
+"
diff --git a/testing/freedoom/support-python-pil-10.patch b/testing/freedoom/support-python-pil-10.patch
new file mode 100644
index 00000000000..9e3632728f4
--- /dev/null
+++ b/testing/freedoom/support-python-pil-10.patch
@@ -0,0 +1,40 @@
+Patch-source: https://github.com/freedoom/freedoom/commit/d64ddc6ea
+From d64ddc6ea90406e21b4b93f5a1e7f99abfaac0d9 Mon Sep 17 00:00:00 2001
+From: Steven Elliott <selliott512@gmail.com>
+Date: Sun, 16 Jul 2023 14:52:04 -0400
+Subject: [PATCH] create_caption: Python PIL 10.0.0 support (#1027)
+
+To support Python PIL 10.0.0 this change uses newer API textbbox() when
+available, and older API textsize() when not.
+---
+ graphics/text/create_caption | 17 +++++++++++++++--
+ 1 file changed, 15 insertions(+), 2 deletions(-)
+
+diff --git a/graphics/text/create_caption b/graphics/text/create_caption
+index 7ddbd8d66..22bc0507d 100755
+--- a/graphics/text/create_caption
++++ b/graphics/text/create_caption
+@@ -18,8 +18,21 @@ background_image.load()
+ background_image = background_image.convert("RGBA")
+ image = Image.new("RGBA", background_image.size, (0, 0, 0, 0))
+ draw = ImageDraw.Draw(image)
+-txt1_size = draw.textsize(txt1, font=font)
+-txt2_size = draw.textsize(txt2, font=font)
++
++# Getting the text size is tricky since for newer PIL, such as 10.0.0, only
++# textbbox() is supported, but for older PIL, such 7.2.0, only textsize()
++# is supported. The solution is to default to the newer API, but fallback to
++# the older one when it is not available.
++try:
++ # This newer API returns a four item tuple. The "xy" kwarg is returned in
++ # the first two items, and last two items is the size needed, but with "xy"
++ # added, so passing "(0, 0)" returns the size needed.
++ txt1_size = draw.textbbox(xy=(0, 0), text=txt1, font=font)[2:]
++ txt2_size = draw.textbbox(xy=(0, 0), text=txt2, font=font)[2:]
++except:
++ # This older API simply returns the size needed.
++ txt1_size = draw.textsize(txt1, font=font)
++ txt2_size = draw.textsize(txt2, font=font)
+
+ draw.text(
+ (5, int(image.height - txt1_size[1] - 5)),
diff --git a/testing/freeipmi/APKBUILD b/testing/freeipmi/APKBUILD
deleted file mode 100644
index 46b0e31ad6a..00000000000
--- a/testing/freeipmi/APKBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# Contributor: Sodface <sod@sodface.com>
-# Maintainer: Sodface <sod@sodface.com>
-pkgname=freeipmi
-pkgver=1.6.8
-pkgrel=0
-pkgdesc="IPMI library and utilities"
-url="https://www.gnu.org/software/freeipmi/"
-arch="all !ppc64le"
-license="GPL-3.0-or-later"
-options="!check" # no test suite
-makedepends="argp-standalone libgcrypt-dev"
-subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-openrc"
-source="https://ftp.gnu.org/gnu/freeipmi/freeipmi-$pkgver.tar.gz
- bmc-watchdog.confd
- bmc-watchdog.initd
- ipmidetectd.confd
- ipmidetectd.initd
- ipmiseld.confd
- ipmiseld.initd"
-
-prepare() {
- default_prepare
- update_config_sub
- update_config_guess
-}
-
-build() {
- # musl stropts.h does not define getmsg or putmsg
- # checked for by ipmi-sunbmc-driver.c. Disable it.
- ./configure ac_cv_header_sys_stropts_h=no \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --disable-static \
- --disable-init-scripts
- make
-}
-
-package() {
- make -j1 DESTDIR="$pkgdir" install
- install -Dm 644 "$srcdir"/bmc-watchdog.confd \
- "$pkgdir"/etc/conf.d/bmc-watchdog
- install -Dm755 "$srcdir"/bmc-watchdog.initd \
- "$pkgdir"/etc/init.d/bmc-watchdog
- install -Dm 644 "$srcdir"/ipmidetectd.confd \
- "$pkgdir"/etc/conf.d/ipmidetectd
- install -Dm755 "$srcdir"/ipmidetectd.initd \
- "$pkgdir"/etc/init.d/ipmidetectd
- install -Dm 644 "$srcdir"/ipmiseld.confd \
- "$pkgdir"/etc/conf.d/ipmiseld
- install -Dm755 "$srcdir"/ipmiseld.initd \
- "$pkgdir"/etc/init.d/ipmiseld
-}
-
-sha512sums="
-66cae2aed95ddb3fd9301146d5a1065b61267232d6ced726b106402bf3840a17364a29d7bf6bbe4db7955b77dcd23510f1258aac85ead5c295c876c6fa4333c3 freeipmi-1.6.8.tar.gz
-11bbd920eb67a64a9d3742e860ae146c1a00398f44d4cead49f8f6070f46a09249c05bb647a1b7bf2c4c6c78e1ae393b2e52395f640bc7e5139aade7c99b45b2 bmc-watchdog.confd
-1e064b0b295fbf76e5deddeaa4edf1b0e5d9b642c2e4be9f3c5cce0700c02ec18778eac4a0cd8196fc5d71ffad9921de8df08a8569812252dd3d604c6f67ad5a bmc-watchdog.initd
-f10e908a451c646b2c61338d79e69663c05216a54093745bd2b659041e0b91adb9be4077c92d63f6f3d62cb5510168b6a57e5e86375533e235fd3abb2b72a49c ipmidetectd.confd
-52e90bb45eb32b447250db3df44d7ba37f821a2d699bc586bdb50706b13e638008cd46ad97cb421fa2d2248f2bb3543d99ed95d27bfdd3b82b560a6fe5da153e ipmidetectd.initd
-0a031f29a4692085054d5fc2dfe6d0ad7fb762f7ee96849ce2d562a90d6e3b0f3ae8328ab852dc22bee6221bc5cd8b588bd02075222038fa0f0e2f64ac185799 ipmiseld.confd
-f95ed699a467689dc1c7c047bd2da8fde04eabc890d02a6517e044a3a5cd05e9ebdeb2b8504fdc053920a8ef281bcf4e2be5a38d3bb4746952bba0e96a47c153 ipmiseld.initd
-"
diff --git a/testing/freeipmi/bmc-watchdog.confd b/testing/freeipmi/bmc-watchdog.confd
deleted file mode 100644
index 4d39cf4d8b7..00000000000
--- a/testing/freeipmi/bmc-watchdog.confd
+++ /dev/null
@@ -1,44 +0,0 @@
-#
-# This configuration file controls the behaviour of the bmc-watchdog daemon
-# from FreeIPMI.
-#
-# -u INT, --timer-use=INT
-# Set timer use. The timer use value can be set to one of the
-# following: 1 = BIOS FRB2, 2 = BIOS POST, 3 = OS_LOAD, 4 = SMS
-# OS, 5 = OEM.
-#
-# -p INT, --pre-timeout-interrupt=INT
-# Set pre-timeout interrupt. The pre timeout interrupt can be set
-# to one of the following: 0 = None, 1 = SMI, 2 = NMI, 3 = Messag-
-# ing Interrupt.
-#
-# -a INT, --timeout-action=INT
-# Set timeout action. The timeout action can be set to one of the
-# following: 0 = No action, 1 = Hard Reset, 2 = Power Down, 3 =
-# Power Cycle.
-#
-# -F, --clear-bios-frb2
-# Clear BIOS FRB2 Timer Use Flag.
-#
-# -P, --clear-bios-post
-# Clear BIOS POST Timer Use Flag.
-#
-# -L, --clear-os-load
-# Clear OS Load Timer Use Flag.
-#
-# -S, --clear-sms-os
-# Clear SMS/OS Timer Use Flag.
-#
-# -O, --clear-oem
-# Clear OEM Timer Use Flag.
-#
-# -i SECS, --initial-countdown=SECS
-# Set initial countdown in seconds.
-#
-# -e, --reset-period
-# Time interval to wait before resetting timer. The default is 60
-# seconds.
-#
-# For the remaining options, consult man bmc-watchdog
-#
-OPTIONS="-d -u 4 -p 0 -a 1 -F -P -L -S -O -i 900 -e 60"
diff --git a/testing/freeipmi/bmc-watchdog.initd b/testing/freeipmi/bmc-watchdog.initd
deleted file mode 100644
index 6beab06597c..00000000000
--- a/testing/freeipmi/bmc-watchdog.initd
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/openrc-run
-
-description="BMC Watchdog daemon"
-pidfile="/var/run/$RC_SVCNAME.pid"
-command="/usr/sbin/$RC_SVCNAME"
-
-start() {
- ebegin "Starting $RC_SVCNAME"
- start-stop-daemon --start \
- --exec $command \
- --pidfile $pidfile \
- --make-pidfile \
- --quiet \
- --background \
- -- \
- --daemon
- $OPTIONS
- eend $?
-}
-
-stop() {
- ebegin "Stopping $RC_SVCNAME"
- start-stop-daemon --stop \
- --pidfile $pidfile
- eend $?
-}
diff --git a/testing/freeipmi/ipmidetectd.confd b/testing/freeipmi/ipmidetectd.confd
deleted file mode 100644
index 74245f14c0c..00000000000
--- a/testing/freeipmi/ipmidetectd.confd
+++ /dev/null
@@ -1,5 +0,0 @@
-# This configuration file controls the behaviour of the ipmid daemon
-# from FreeIPMI.
-# See `man 8 ipmitdetectd` for further information.
-
-# OPTIONS="-c /etc/freeipmi/ipmidetectd.conf"
diff --git a/testing/freeipmi/ipmidetectd.initd b/testing/freeipmi/ipmidetectd.initd
deleted file mode 100644
index a791267f851..00000000000
--- a/testing/freeipmi/ipmidetectd.initd
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-
-description="IPMI node detection daemon"
-pidfile="/var/run/$RC_SVCNAME.pid"
-command="/usr/sbin/$RC_SVCNAME"
-
-start() {
- ebegin "Starting $RC_SVCNAME"
- start-stop-daemon --start \
- --exec $command \
- --pidfile $pidfile \
- --make-pidfile \
- --quiet \
- --background \
- -- \
- $OPTIONS
- eend $?
-}
-
-stop() {
- ebegin "Stopping $RC_SVCNAME"
- start-stop-daemon --stop \
- --pidfile $pidfile
- eend $?
-}
diff --git a/testing/freeipmi/ipmiseld.confd b/testing/freeipmi/ipmiseld.confd
deleted file mode 100644
index 8e40a5c0c8d..00000000000
--- a/testing/freeipmi/ipmiseld.confd
+++ /dev/null
@@ -1,5 +0,0 @@
-# This configuration file controls the behaviour of the ipmiseld daemon
-# from FreeIPMI.
-# See `man 8 ipmiseld` for further information.
-
-# OPTIONS="--config-file /etc/freeipmi/ipmiseld.conf"
diff --git a/testing/freeipmi/ipmiseld.initd b/testing/freeipmi/ipmiseld.initd
deleted file mode 100644
index ada5bcdde3c..00000000000
--- a/testing/freeipmi/ipmiseld.initd
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-
-description="IPMI system event log daemon"
-pidfile="/var/run/$RC_SVCNAME.pid"
-command="/usr/sbin/$RC_SVCNAME"
-
-start() {
- ebegin "Starting $RC_SVCNAME"
- start-stop-daemon --start \
- --exec $command \
- --pidfile $pidfile \
- --make-pidfile \
- --quiet \
- --background \
- -- \
- $OPTIONS
- eend $?
-}
-
-stop() {
- ebegin "Stopping $RC_SVCNAME"
- start-stop-daemon --stop \
- --pidfile $pidfile
- eend $?
-}
diff --git a/testing/freetube/APKBUILD b/testing/freetube/APKBUILD
new file mode 100644
index 00000000000..73d76afe70e
--- /dev/null
+++ b/testing/freetube/APKBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
+# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
+pkgname=freetube
+pkgver=0.20.0
+pkgrel=0
+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="
+b82cdaff82d7bd325f3127794160382c97be3b72c5ef4bb3f327a8ada6b609043bc30a1f6af59c38e23237aac7d8b6ea2685c22aa82469c8d08b96cb839a3099 freetube-0.20.0.tar.gz
+2ce2effc794bb663789cefe968b5899122127983dbfa1b240aa33a2be383720b18204e6d01b4a550df72956f02b6636b79c93a58f470a970b09b770f5b8f2fc4 freetube.sh
+d27cb896b65a7e8d52ffe86e5f74eed72b6cf976b28e1a13012d34c7eceba5ff6f20298017738dfa93c0336ffa52b8ee4da7e06b02747062898db7e678819526 tasje-dotdash.patch
+"
diff --git a/testing/freetube/freetube.sh b/testing/freetube/freetube.sh
new file mode 100644
index 00000000000..5d2bb776c70
--- /dev/null
+++ b/testing/freetube/freetube.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec electron /usr/lib/freetube/app.asar "$@"
diff --git a/testing/freetube/tasje-dotdash.patch b/testing/freetube/tasje-dotdash.patch
new file mode 100644
index 00000000000..9f2c2e0be90
--- /dev/null
+++ b/testing/freetube/tasje-dotdash.patch
@@ -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/**/*',
+ ],
diff --git a/testing/frescobaldi/APKBUILD b/testing/frescobaldi/APKBUILD
new file mode 100644
index 00000000000..844ead40b27
--- /dev/null
+++ b/testing/frescobaldi/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Krystian Chachuła <krystian@krystianch.com>
+pkgname=frescobaldi
+pkgver=3.3.0
+pkgrel=1
+pkgdesc="LilyPond sheet music text editor"
+url="https://www.frescobaldi.org/"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="py3-qt5 py3-poppler-qt5 py3-qpageview py3-ly"
+makedepends="py3-gpep517 py3-setuptools py3-wheel gettext"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/frescobaldi/frescobaldi/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ make -C i18n
+
+ make -C linux
+
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
+
+ install -m 644 frescobaldi.1 \
+ "$pkgdir"/usr/share/man/man1/frescobaldi.1
+}
+
+sha512sums="
+0dc851cb2ab001f366d20d3c27159087a643cbb5661cc7388b9ec5209c03d4d47dc9114f378dab0562a1a4cb84c2a67eddd8b1981ceaa057e5ac79f8c277ad05 frescobaldi-3.3.0.tar.gz
+"
diff --git a/testing/freshrss/APKBUILD b/testing/freshrss/APKBUILD
new file mode 100644
index 00000000000..8a70bafb36d
--- /dev/null
+++ b/testing/freshrss/APKBUILD
@@ -0,0 +1,155 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=freshrss
+pkgver=1.23.1
+pkgrel=1
+pkgdesc="Free and self hosted rss feed agregator"
+url="https://freshrss.org"
+arch="noarch"
+license="AGPL-3.0-or-later"
+pkgusers="freshrss"
+pkggroups="www-data"
+_php=php82
+depends="
+ $_php
+ $_php-ctype
+ $_php-curl
+ $_php-dom
+ $_php-fileinfo
+ $_php-fpm
+ $_php-gmp
+ $_php-intl
+ $_php-mbstring
+ $_php-session
+ $_php-xml
+ $_php-zip
+ "
+checkdepends="
+ $_php-phar
+ $_php-tokenizer
+ $_php-xmlwriter
+ phpunit
+ "
+install="$pkgname.pre-install $pkgname-openrc.post-install"
+subpackages="
+ $pkgname-doc
+ $pkgname-openrc
+ $pkgname-lang
+ $pkgname-themes
+ $pkgname-mysql
+ $pkgname-pgsql
+ $pkgname-sqlite"
+source="https://github.com/FreshRSS/FreshRSS/archive/refs/tags/$pkgver/freshrss-$pkgver.tar.gz
+ defaults.patch
+ freshrss.confd
+ fpm-pool.conf
+ freshrss.crontab
+ "
+builddir="$srcdir/FreshRSS-$pkgver"
+
+prepare() {
+ default_prepare
+
+ # Create directory for tests
+ mkdir -p "$srcdir"/data/users/_
+}
+
+check() {
+ DATA_PATH="$srcdir"/data \
+ $_php /usr/bin/phpunit ./tests --bootstrap ./tests/bootstrap.php
+}
+
+package() {
+ rm -f ./*.md
+ rm -rf .devcontainer
+ rm -f .dockerignore
+ rm -f .editorconfig
+ rm -f .eslint*
+ rm -f .jshint*
+ rm -f .style*
+ rm -f .markdownlint*
+ rm -f .hadolint*
+ rm -f .typos.toml
+ rm -f Makefile
+
+ install -d "$pkgdir"/usr/share/doc
+ mv ./docs "$pkgdir"/usr/share/doc/$pkgname
+
+ install -d "$pkgdir"/usr/share/webapps/freshrss
+ cp -r . "$pkgdir"/usr/share/webapps/freshrss/
+
+ find "$pkgdir/usr/share/webapps/freshrss" -name '.git*' -exec rm -rf {} \; || true
+
+ rm -rf "$pkgdir"/usr/share/webapps/freshrss/Docker
+ rm -rf "$pkgdir"/usr/share/webapps/freshrss/tests
+ install -dm755 "$pkgdir"/var/lib/freshrss
+
+ mv "$pkgdir"/usr/share/webapps/freshrss/data "$pkgdir"/var/lib/freshrss/data
+ chgrp -R "www-data" "$pkgdir"/var/lib/freshrss/
+ chown -R "$pkgname" "$pkgdir"/var/lib/freshrss/
+
+ install -dm775 -o "$pkgname" -g www-data "$pkgdir"/var/log/"$pkgname"
+
+ install -m600 -D "$srcdir"/freshrss.crontab "$pkgdir"/etc/crontabs/freshrss
+}
+
+openrc() {
+ install -m644 -D "$srcdir"/fpm-pool.conf "$subpkgdir/etc/$_php/php-fpm.d/$pkgname".conf
+ install -m644 -D "$srcdir/$pkgname".confd "$subpkgdir"/etc/conf.d/"$pkgname"
+
+ install -d -o freshrss -g www-data "$pkgdir"/var/tmp/freshrss
+
+ mkdir -p "$subpkgdir"/etc/init.d/
+ ln -s "php-fpm${_php#php}" "$subpkgdir"/etc/init.d/"$pkgname"
+}
+
+lang() {
+ pkgdesc="translations for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel lang"
+ local lang
+ for lang in "$pkgdir"/usr/share/webapps/freshrss/app/i18n/*; do
+ # keep in base for default language
+ if [ "$(basename "$lang")" != "en" ]; then
+ amove /usr/share/webapps/freshrss/app/i18n/"$(basename "$lang")"
+ fi
+ done
+}
+
+themes() {
+ pkgdesc="themes for $pkgname"
+ local theme
+ for theme in "$pkgdir"/usr/share/webapps/freshrss/p/themes/*; do
+ if [ -d "$theme" ]; then
+ case "$(basename "$theme")" in
+ # keep base-theme and default files, split the rest
+ base-theme | fonts | icons | Origine) ;;
+ *) amove /usr/share/webapps/freshrss/p/themes/"$(basename "$theme")" ;;
+ esac
+ fi
+ done
+}
+
+mysql() {
+ pkgdesc="FreshRSS MySQL support"
+ depends="$pkgname $_php-pdo_mysql"
+ mkdir -p "$subpkgdir"
+}
+
+pgsql() {
+ pkgdesc="FreshRSS PostgreSQL support"
+ depends="$pkgname $_php-pgsql $_php-pdo_pgsql"
+ mkdir -p "$subpkgdir"
+}
+
+sqlite() {
+ pkgdesc="FreshRSS SQLite support"
+ depends="$pkgname $_php-sqlite3 $_php-pdo_sqlite"
+ mkdir -p "$subpkgdir"
+}
+
+sha512sums="
+df4c7eedf3dc8c5c9d0de722e00e3846d1bb1b1605d53a9415b5fd49715b91d6cf22f7f64503a706af32dc6f96415e28d772f7442816e76e266b4aa908984e95 freshrss-1.23.1.tar.gz
+dbd1468439192cd536ae1fc063edcda0a8047504c053f2566486697d454bbc328bb5ba841b597c09c1c4954fa0d71d1c79044fb8a179915b5bcc136fa2b50889 defaults.patch
+304767cc14db425fdb6f0214aca8baaa92ea05e8fc767e79ec96c4d9032509c2b52cb687106dc25b291bc7150305dde0bd0a84d77b0fc8ad872d2331c458bacf freshrss.confd
+b6fe57b31bd48afb067d0c851ff42078e01ee42e3e2f01bbb64f8114429ddce740ce3fbd76eb487acf1b80909eb7e5e2721d5f3b2bdd6264d75d169d032dd2fe fpm-pool.conf
+96cbd84ea28ea193212505d228a5ec2124e7a63da02f3fbfb37460aacb5e3dbd9bd72385267f115e817177b9f640e8861e845e9cf9e121c7d9f7af1d22f449e4 freshrss.crontab
+"
diff --git a/testing/freshrss/defaults.patch b/testing/freshrss/defaults.patch
new file mode 100644
index 00000000000..6dfa447a62c
--- /dev/null
+++ b/testing/freshrss/defaults.patch
@@ -0,0 +1,26 @@
+diff --git a/config.default.php b/config.default.php
+index 87297554..51e42ad7 100644
+--- a/config.default.php
++++ b/config.default.php
+@@ -194,7 +194,7 @@ return array(
+ 'extensions' => [],
+
+ # Disable self-update,
+- 'disable_update' => false,
++ 'disable_update' => true,
+
+ # Trusted IPs (e.g. of last proxy) that are allowed to send unsafe HTTP headers.
+ # The connection IP used during FreshRSS setup is automatically added to this list.
+diff --git a/constants.php b/constants.php
+index 824a7a5f..a09fe6c2 100644
+--- a/constants.php
++++ b/constants.php
+@@ -45,7 +45,7 @@ $dataPath = getenv('DATA_PATH');
+ if (is_string($dataPath) && $dataPath !== '') {
+ define('DATA_PATH', $dataPath);
+ } else {
+- defined('DATA_PATH') or define('DATA_PATH', FRESHRSS_PATH . '/data');
++ defined('DATA_PATH') or define('DATA_PATH', '/var/lib/freshrss/data');
+ }
+
+ defined('UPDATE_FILENAME') or define('UPDATE_FILENAME', DATA_PATH . '/update.php');
diff --git a/testing/freshrss/fpm-pool.conf b/testing/freshrss/fpm-pool.conf
new file mode 100644
index 00000000000..216a9230975
--- /dev/null
+++ b/testing/freshrss/fpm-pool.conf
@@ -0,0 +1,56 @@
+[global]
+error_log = /var/log/freshrss/php-fpm.log
+
+log_level = warning
+
+emergency_restart_threshold = 10
+
+emergency_restart_interval = 1m
+
+process_control_timeout = 10s
+
+
+[freshrss]
+user = freshrss
+group = www-data
+
+listen = /run/freshrss/fastcgi.sock
+
+listen.mode = 0660
+
+pm = ondemand
+
+pm.max_children = 10
+
+pm.process_idle_timeout = 120s
+
+pm.max_requests = 500
+
+pm.status_path =
+
+ping.path = /ping
+
+env[PATH] = /usr/local/bin:/usr/bin:/bin
+env[TMP] = /tmp
+env[TMPDIR] = /tmp
+env[TEMP] = /tmp
+
+php_admin_flag[file_uploads] = true
+
+php_admin_value[memory_limit] = 512M
+php_admin_value[post_max_size] = 513M
+php_admin_value[upload_max_filesize] = 513M
+
+php_admin_value[session.save_path] = /var/tmp/freshrss
+php_admin_value[sys_temp_dir] = /var/tmp/freshrss
+
+php_admin_flag[log_errors] = on
+php_admin_value[error_log] = /var/log/freshrss/php.error.log
+
+php_admin_value[opcache.error_log] = /var/log/freshrss/php.error.log
+
+php_admin_flag[output_buffering] = false
+
+php_admin_flag[mbstring.func_overload] = false
+
+php_admin_value[always_populate_raw_post_data] = -1
diff --git a/testing/freshrss/freshrss-openrc.post-install b/testing/freshrss/freshrss-openrc.post-install
new file mode 100755
index 00000000000..48034186574
--- /dev/null
+++ b/testing/freshrss/freshrss-openrc.post-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+cat << EOF
+*
+* Point your web server to /run/freshrss/fastcgi.sock and
+* start FreshRSS with
+* /etc/init.d/freshrss start.
+*
+EOF
+
+exit 0
diff --git a/testing/freshrss/freshrss.confd b/testing/freshrss/freshrss.confd
new file mode 100755
index 00000000000..ef7582abddc
--- /dev/null
+++ b/testing/freshrss/freshrss.confd
@@ -0,0 +1,4 @@
+name="FreshRSS"
+user="freshrss"
+group="www-data"
+
diff --git a/testing/freshrss/freshrss.crontab b/testing/freshrss/freshrss.crontab
new file mode 100644
index 00000000000..3f371ee1b88
--- /dev/null
+++ b/testing/freshrss/freshrss.crontab
@@ -0,0 +1 @@
+*/15 * * * * php82 -f /usr/share/webapps/freshrss/app/actualize_script.php >> /dev/null 2>&1
diff --git a/testing/freshrss/freshrss.pre-install b/testing/freshrss/freshrss.pre-install
new file mode 100755
index 00000000000..6cb249022ea
--- /dev/null
+++ b/testing/freshrss/freshrss.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S -g 82 www-data 2>/dev/null
+adduser -S -D -H -h /var/lib/freshrss -s /sbin/nologin -G www-data -g FreshRSS freshrss 2>/dev/null
+
+exit 0
diff --git a/testing/fscryptctl/APKBUILD b/testing/fscryptctl/APKBUILD
new file mode 100644
index 00000000000..ee6862d0f0f
--- /dev/null
+++ b/testing/fscryptctl/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Luca Weiss <luca@z3ntu.xyz>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=fscryptctl
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Small C tool for Linux filesystem encryption"
+url="https://github.com/google/fscryptctl"
+arch="all"
+license="Apache-2.0"
+makedepends="linux-headers"
+source="https://github.com/google/fscryptctl/archive/v$pkgver/fscryptctl-$pkgver.tar.gz"
+options="!check" # tests require root
+
+# Skip building docs because pandoc is only available for x86_64 and aarch64
+
+build() {
+ make fscryptctl
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install-bin
+}
+
+sha512sums="
+3ee37d3b10a145b2c50fa56644461313437d97f9ca1a840f6e897f527c5bf6c15af1172a1994b3ff0038f469a74edfa40f7383c08f24b195a78f3f5d35dd895b fscryptctl-1.1.0.tar.gz
+"
diff --git a/testing/fulcrum/APKBUILD b/testing/fulcrum/APKBUILD
new file mode 100644
index 00000000000..ded1777345a
--- /dev/null
+++ b/testing/fulcrum/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Jurvis Tan <jurvis@squareup.com>
+# Maintainer: Jurvis Tan <jurvis@squareup.com>
+pkgname=fulcrum
+_pkgname=Fulcrum
+pkgver=1.9.8
+pkgrel=0
+pkgdesc="Fast & nimble SPV Server for BCH and BTC"
+url="https://github.com/cculianu/Fulcrum"
+arch="all !riscv64" # limited by rocksdb
+license="GPL-3.0-or-later"
+makedepends="rocksdb-dev<7.10 zlib-dev bzip2-dev zeromq-dev qt5-qtbase-dev"
+subpackages="$pkgname-admin:admin:noarch $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cculianu/$_pkgname/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check"
+
+build() {
+ qmake-qt5 PREFIX=/usr $_pkgname.pro
+ make
+}
+
+package() {
+ make install INSTALL_ROOT="$pkgdir"
+ mv "$pkgdir"/usr/bin/$_pkgname "$pkgdir"/usr/bin/$pkgname
+}
+
+admin() {
+ pkgdesc="Fulcrum Admin CLI"
+ depends="python3"
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/${_pkgname}Admin "$subpkgdir"/usr/bin/$pkgname-admin
+}
+
+sha512sums="
+460b0a1fa0f10b5f379b556508d2773e1da64719f72acad2b663c7dce96ccdd35bd4db1f0a24d544a6afa0d870f7cca1fc3926c225e9cae3cbe6ebf4110be66a fulcrum-1.9.8.tar.gz
+"
diff --git a/testing/fusee-nano/APKBUILD b/testing/fusee-nano/APKBUILD
index 5114ad8e3e8..01afa295a5d 100644
--- a/testing/fusee-nano/APKBUILD
+++ b/testing/fusee-nano/APKBUILD
@@ -1,36 +1,44 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=fusee-nano
-pkgver=0.4
+pkgver=0.5.3
pkgrel=0
-pkgdesc="A minimalist re-implementation of the Fusée Gelée exploit, designed to run on embedded Linux devices."
+pkgdesc="Minimalist re-implementation of the Fusée Gelée exploit, designed to run on embedded Linux devices."
url="https://github.com/DavidBuchanan314/fusee-nano"
arch="all"
license="MIT"
options="!check" # No test suite
-makedepends="linux-headers"
+makedepends="linux-headers xxd"
subpackages="$pkgname-udev::noarch"
-source="$pkgname-$pkgver.tar.gz::https://github.com/DavidBuchanan314/fusee-nano/archive/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/DavidBuchanan314/fusee-nano/archive/$pkgver.tar.gz
+ broken-makefile.patch
+ "
build() {
- make
+ make CC="${CC:-cc}"
}
package() {
- mkdir -p "$pkgdir"/usr/share/$pkgname/
- cp -r files/* "$pkgdir"/usr/share/$pkgname/
- install -Dm 755 fusee-nano "$pkgdir"/usr/bin/fusee-nano
+ mkdir -p "$pkgdir"/usr/share/$pkgname/
+ cp -r files/* "$pkgdir"/usr/share/$pkgname/
+ install -Dm 755 fusee-nano "$pkgdir"/usr/bin/fusee-nano
- # Remove openwrt file
- rm "$pkgdir"/usr/share/$pkgname/20-tegra_rcm
+ # Remove openwrt file
+ rm "$pkgdir"/usr/share/$pkgname/20-tegra_rcm
+
+ mkdir -p "$pkgdir"/lib/udev/rules.d/
+ mv "$pkgdir"/usr/share/fusee-nano/*.rules \
+ "$pkgdir"/lib/udev/rules.d/
}
udev() {
- pkgdesc="udev rule for $pkgname"
- install_if="$pkgname=$pkgver-r$pkgrel eudev"
- mkdir -p "$subpkgdir"/lib/udev/rules.d/
- mv "$pkgdir"/usr/share/$pkgname/*.rules \
- "$subpkgdir"/lib/udev/rules.d/
+ pkgdesc="udev rule for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel eudev"
+
+ amove lib/udev/rules.d
}
-sha512sums="18fe586a111a9bc8dd9c6ff57002ac731843c83151bfe2d63dd8890305862a7a93a9737256405dbc1c76f5a3fab94475fa786135c55d712e26600d04e0c26450 fusee-nano-0.4.tar.gz"
+sha512sums="
+c110aa1597aaefbfb9c9ccd50c53d70450ce37854f794e625b4ed3438928e1b690091ff9cde9fd142b5e4d77c95a5e54a2926aa9d136f0bb2d54ebdacc106c81 fusee-nano-0.5.3.tar.gz
+c7f8c09625d357105015b620f012802513c6617e140d168f5e74a4c7c287578b78ca13f633cd6019a5f6494f85cece8c87260d8240035988ffc24afc53b7dcb4 broken-makefile.patch
+"
diff --git a/testing/fusee-nano/broken-makefile.patch b/testing/fusee-nano/broken-makefile.patch
new file mode 100644
index 00000000000..82fc107b076
--- /dev/null
+++ b/testing/fusee-nano/broken-makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index eae7a71..0b88a25 100644
+--- a/Makefile
++++ b/Makefile
+@@ -13,7 +13,7 @@ all: $(TARGET)
+ $(CC) -c -o $@ $< $(CFLAGS)
+
+ $(TARGET): $(OBJ)
+- $(CC) -o $@ $^ $(CFLAGS)
++ $(CC) -o $@ $^ $(CFLAGS) $(LDFLAGS)
+
+ clean:
+ rm $(TARGET) $(OBJ)
diff --git a/testing/fuzzylite/APKBUILD b/testing/fuzzylite/APKBUILD
new file mode 100644
index 00000000000..35901539d0d
--- /dev/null
+++ b/testing/fuzzylite/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: ovf <ovf@mm.st>
+pkgname=fuzzylite
+pkgver=6.0
+pkgrel=0
+pkgdesc="A fuzzy logic control library in C++"
+url="https://fuzzylite.com"
+# only used for vcmi revdep
+arch="aarch64 x86_64"
+license="GPL-3.0-only"
+makedepends="cmake samurai"
+subpackages="$pkgname-libs $pkgname-dev $pkgname-doc"
+source="https://github.com/fuzzylite/fuzzylite/archive/refs/tags/v$pkgver/fuzzylite-$pkgver.tar.gz
+ no-werror.patch
+ "
+builddir="$srcdir/fuzzylite-$pkgver/fuzzylite"
+
+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 \
+ -DCMAKE_BUILD_TYPE=None \
+ -DFL_BACKTRACE=OFF \
+ -DFL_BUILD_STATIC=OFF \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm644 fuzzylite.1 -t "$pkgdir"/usr/share/man/man1/
+}
+
+sha512sums="
+6f5d40d0359458e109ac2aebfbf571f61867a8b49920f4a5e1b5d86bdf578dba038b942c9e05eab0d4620f73e8cded770abe7b5e597a3b4c39dbcf6a1259f4af fuzzylite-6.0.tar.gz
+536439896cfae4bcfc93f7d3a8474424a3e589b55e3ae57c1ab8936d3166dea688ae8f6f0ef414a79238150822d811f0420a3849c94b33c5a7cd011e755bb95b no-werror.patch
+"
diff --git a/testing/fuzzylite/no-werror.patch b/testing/fuzzylite/no-werror.patch
new file mode 100644
index 00000000000..06260b6af14
--- /dev/null
+++ b/testing/fuzzylite/no-werror.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 28435e2..3824c8f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -74,7 +74,7 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin)
+ if(NOT MSVC)
+ #TODO: Remove -Werror before release.
+ #Add Unix compilation flags
+- set(CMAKE_CXX_FLAGS "-pedantic -Wall -Wextra -Werror ${CMAKE_CXX_FLAGS}")
++ set(CMAKE_CXX_FLAGS "-pedantic -Wall -Wextra ${CMAKE_CXX_FLAGS}")
+
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
diff --git a/testing/fwallet/APKBUILD b/testing/fwallet/APKBUILD
new file mode 100644
index 00000000000..cef42dc638c
--- /dev/null
+++ b/testing/fwallet/APKBUILD
@@ -0,0 +1,99 @@
+# Contributor: The one with the braid <info@braid.business>
+# Maintainer: The one with the braid <info@braid.business>
+pkgname=fwallet
+pkgver=1.1.4
+pkgrel=1
+pkgdesc="A beautiful cross-platform wallet application"
+url="https://gitlab.com/TheOneWithTheBraid/f_wallet"
+arch="aarch64 x86_64" # flutter
+license="EUPL-1.2"
+# xdg-user-dirs: pub/path_provider
+depends="
+ xdg-user-dirs
+ "
+makedepends="
+ flutter-desktop
+ libsecret-dev
+ patchelf
+ "
+source="
+ https://gitlab.com/TheOneWithTheBraid/f_wallet/-/archive/${_rev:-"v$pkgver"}/f_wallet-${_rev:-v"$pkgver"}.tar.gz
+
+ system-flutter.patch
+ no-werror.patch
+ flutter-3.19.patch
+ "
+builddir="$srcdir/f_wallet-${_rev:-"v$pkgver"}"
+# net: pub dependencies
+# !check: no tests
+options="net !check"
+
+export _pkgorg="business.braid.f_wallet"
+export _pkgexec="f_wallet"
+
+case "$CARCH" in
+ aarch64) _flutter_arch="arm64" ;;
+ x86_64) _flutter_arch="x64" ;;
+esac
+
+export PUB_CACHE="$srcdir/pub_cache"
+
+export CFLAGS="${CFLAGS/-g/} -O2 -Wno-error -Wno-unknown-warning-option -Wno-unused-command-line-argument"
+export CXXFLAGS="${CXXFLAGS/-g/} -O2 -Wno-error -Wno-unknown-warning-option -Wno-unused-command-line-argument"
+
+export CC=clang
+export CXX=clang++
+export AR=llvm-ar
+export NM=llvm-nm
+export LD=clang++
+
+prepare() {
+ default_prepare
+
+ flutter pub get --enforce-lockfile
+ flutter gen-l10n
+
+ # if there is a binary in the pub_cache, we sure did not build it.
+ for elf in $(scanelf -RA -F "%F" "$PUB_CACHE"); do
+ rm -f "$elf"
+ done
+}
+
+build() {
+ flutter build linux -v --release \
+ --dart-define=FWALLET_IS_STABLE=true \
+ --dart-define=FWALLET_VERSION=$pkgver
+
+ patchelf --set-rpath '$ORIGIN/lib' build/linux/"$_flutter_arch"/release/bundle/$_pkgexec
+ for _elf in build/linux/"$_flutter_arch"/release/bundle/lib/lib*.so; do
+ # running patchelf on libapp (the AOT snapshot of the whole Dart codebase)
+ # breaks it with "[FATAL:flutter/runtime/dart_vm_initializer.cc(89)]
+ # Error while initializing the Dart VM: Invalid vm isolate snapshot seen".
+ #
+ # it has no rpath and only links to libc soname anyway. 🤷â€â™€ï¸
+ [ "$(basename "$_elf")" != "libapp.so" ] || continue
+
+ patchelf --set-rpath '$ORIGIN' "$_elf"
+ done
+}
+
+package() {
+ local bundle="$builddir"/build/linux/$_flutter_arch/release/bundle
+
+ install -Dm755 "$bundle"/$_pkgexec "$pkgdir"/usr/lib/$pkgname/$_pkgexec
+ cp -rv "$bundle"/lib "$pkgdir"/usr/lib/$pkgname/lib
+ cp -rv "$bundle"/data "$pkgdir"/usr/lib/$pkgname/data
+
+ mkdir -p "$pkgdir"/usr/bin
+ ln -sv /usr/lib/$pkgname/$_pkgexec "$pkgdir"/usr/bin/$_pkgexec
+
+ install -Dm644 linux/$_pkgorg.desktop "$pkgdir"/usr/share/applications/$_pkgorg.desktop
+ install -Dm644 assets/logo/logo-circle.svg "$pkgdir"/usr/share/icons/hicolor/scalable/apps/$_pkgorg.svg
+}
+
+sha512sums="
+5ea49d2a766ff9f6ff7c7f6921cb91c5f71d67adfaeba41931ff175cd5332c5aed82a7feb5bd42c3376d1ab6b4e6bd58123bddb21ada352f0891021d03b665a2 f_wallet-v1.1.4.tar.gz
+91014708ab7bb81518ce93db0612209d6479dfa503064d9e9d3186cd5e861165a3f63e286d271d5aac8a1d676868fc3acf51648ac01c16a215062a317ccb6623 system-flutter.patch
+1d2b7d28a09e26ed48d89aa5f5dffb738ba367fa2760b12980225239705e16fa1ec89901d7aecf26c8527de721a5f50f50cc77ea009cd5f25f219d1af8730ed8 no-werror.patch
+68b198c617df5f94bf674348e5fd00d3aedd214d09dc5260257c88aaf0f9d11bafc9f5abde5240ec9495390f58f3674b3407e97a77c282985abc66ee843ad828 flutter-3.19.patch
+"
diff --git a/testing/fwallet/flutter-3.19.patch b/testing/fwallet/flutter-3.19.patch
new file mode 100644
index 00000000000..24302d071e7
--- /dev/null
+++ b/testing/fwallet/flutter-3.19.patch
@@ -0,0 +1,128 @@
+From de451759e1cd35edc55d6cfee88b5dfc97ae491f Mon Sep 17 00:00:00 2001
+From: "lauren n. liberda" <lauren@selfisekai.rocks>
+Date: Fri, 16 Feb 2024 09:19:43 +0100
+Subject: [PATCH] chore: upgrade flutter to 3.19.0
+
+---
+ .gitlab-ci.yml | 2 +-
+ flutter_version | 2 +-
+ pubspec.lock | 48 ++++++++++++++++++++++++++++++++++++++++--------
+ 3 files changed, 42 insertions(+), 10 deletions(-)
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+index c69785f..550dc4d 100644
+--- a/.gitlab-ci.yml
++++ b/.gitlab-ci.yml
+@@ -1,5 +1,5 @@
+ variables:
+- FLUTTER_VERSION: 3.16.9
++ FLUTTER_VERSION: 3.19.0
+
+ image: registry.gitlab.com/theonewiththebraid/flutter-dockerimages:$FLUTTER_VERSION-base
+
+diff --git a/flutter_version b/flutter_version
+index f7be2e1..419f300 100644
+--- a/flutter_version
++++ b/flutter_version
+@@ -1 +1 @@
+-3.16.9
++3.19.0
+diff --git a/pubspec.lock b/pubspec.lock
+index fbe1bf5..b35f21c 100644
+--- a/pubspec.lock
++++ b/pubspec.lock
+@@ -421,6 +421,30 @@ packages:
+ url: "https://pub.dev"
+ source: hosted
+ version: "4.8.1"
++ leak_tracker:
++ dependency: transitive
++ description:
++ name: leak_tracker
++ sha256: "78eb209deea09858f5269f5a5b02be4049535f568c07b275096836f01ea323fa"
++ url: "https://pub.dev"
++ source: hosted
++ version: "10.0.0"
++ leak_tracker_flutter_testing:
++ dependency: transitive
++ description:
++ name: leak_tracker_flutter_testing
++ sha256: b46c5e37c19120a8a01918cfaf293547f47269f7cb4b0058f21531c2465d6ef0
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.0.1"
++ leak_tracker_testing:
++ dependency: transitive
++ description:
++ name: leak_tracker_testing
++ sha256: a597f72a664dbd293f3bfc51f9ba69816f84dcd403cdac7066cb3f6003f3ab47
++ url: "https://pub.dev"
++ source: hosted
++ version: "2.0.1"
+ linkify:
+ dependency: transitive
+ description:
+@@ -449,26 +473,26 @@ packages:
+ dependency: transitive
+ description:
+ name: matcher
+- sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e"
++ sha256: d2323aa2060500f906aa31a895b4030b6da3ebdcc5619d14ce1aada65cd161cb
+ url: "https://pub.dev"
+ source: hosted
+- version: "0.12.16"
++ version: "0.12.16+1"
+ material_color_utilities:
+ dependency: transitive
+ description:
+ name: material_color_utilities
+- sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41"
++ sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
+ url: "https://pub.dev"
+ source: hosted
+- version: "0.5.0"
++ version: "0.8.0"
+ meta:
+ dependency: transitive
+ description:
+ name: meta
+- sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e
++ sha256: d584fa6707a52763a52446f02cc621b077888fb63b93bbcb1143a7be5a0c0c04
+ url: "https://pub.dev"
+ source: hosted
+- version: "1.10.0"
++ version: "1.11.0"
+ mime:
+ dependency: transitive
+ description:
+@@ -489,10 +513,10 @@ packages:
+ dependency: transitive
+ description:
+ name: path
+- sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917"
++ sha256: "087ce49c3f0dc39180befefc60fdb4acd8f8620e5682fe2476afd0b3688bb4af"
+ url: "https://pub.dev"
+ source: hosted
+- version: "1.8.3"
++ version: "1.9.0"
+ path_provider:
+ dependency: "direct main"
+ description:
+@@ -770,6 +794,14 @@ packages:
+ url: "https://pub.dev"
+ source: hosted
+ version: "2.1.4"
++ vm_service:
++ dependency: transitive
++ description:
++ name: vm_service
++ sha256: b3d56ff4341b8f182b96aceb2fa20e3dcb336b9f867bc0eafc0de10f1048e957
++ url: "https://pub.dev"
++ source: hosted
++ version: "13.0.0"
+ web:
+ dependency: transitive
+ description:
+--
+2.43.1
+
diff --git a/testing/fwallet/no-werror.patch b/testing/fwallet/no-werror.patch
new file mode 100644
index 00000000000..ec8df348612
--- /dev/null
+++ b/testing/fwallet/no-werror.patch
@@ -0,0 +1,11 @@
+--- ./linux/CMakeLists.txt.orig
++++ ./linux/CMakeLists.txt
+@@ -41,7 +41,7 @@
+ # of modifying this function.
+ function(APPLY_STANDARD_SETTINGS TARGET)
+ target_compile_features(${TARGET} PUBLIC cxx_std_14)
+- target_compile_options(${TARGET} PRIVATE -Wall -Werror)
++ target_compile_options(${TARGET} PRIVATE -Wall)
+ target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")
+ target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")
+ endfunction()
diff --git a/testing/fwallet/system-flutter.patch b/testing/fwallet/system-flutter.patch
new file mode 100644
index 00000000000..e8f7270ec9a
--- /dev/null
+++ b/testing/fwallet/system-flutter.patch
@@ -0,0 +1,15 @@
+--- a/linux/CMakeLists.txt
++++ b/linux/CMakeLists.txt
+@@ -110,12 +110,6 @@
+ install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
+ COMPONENT Runtime)
+
+-install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
+- COMPONENT Runtime)
+-
+-install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
+- COMPONENT Runtime)
+-
+ foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
+ install(FILES "${bundled_library}"
+ DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
diff --git a/testing/fzy/APKBUILD b/testing/fzy/APKBUILD
index 03eaf4d9086..15b6ecbb40a 100644
--- a/testing/fzy/APKBUILD
+++ b/testing/fzy/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Eivind Uggedal <eu@eju.no>
pkgname=fzy
pkgver=1.0
-pkgrel=2
+pkgrel=3
pkgdesc="A better fuzzy finder"
url="https://github.com/jhawthorn/$pkgname"
arch="all"
diff --git a/testing/g4music/APKBUILD b/testing/g4music/APKBUILD
new file mode 100644
index 00000000000..d9155d61199
--- /dev/null
+++ b/testing/g4music/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=g4music
+pkgver=3.5.1
+pkgrel=0
+pkgdesc="Fast fluent lightweight music player written in GTK4, with a beautiful and adaptive user interface"
+url="https://gitlab.gnome.org/neithern/g4music"
+arch="all"
+license="GPL-3.0-only"
+subpackages="$pkgname-lang"
+makedepends="
+ cmake
+ desktop-file-utils
+ gettext-dev
+ gst-plugins-base-dev
+ gstreamer-dev
+ libadwaita-dev
+ meson
+ vala
+ "
+source="https://gitlab.gnome.org/neithern/g4music/-/archive/v$pkgver/g4music-v$pkgver.tar.gz"
+builddir="$srcdir/g4music-v$pkgver"
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+sha512sums="
+1d992d791c9544e980829a00b00a528ba7d1c37adba327b2d20211e32eadcb1493bb0a77ada45748ea3219395a7a2d19d3fae78721f664aa6df92eecadcfc7ab g4music-v3.5.1.tar.gz
+"
diff --git a/testing/galera/APKBUILD b/testing/galera/APKBUILD
deleted file mode 100644
index b00fd8a6317..00000000000
--- a/testing/galera/APKBUILD
+++ /dev/null
@@ -1,71 +0,0 @@
-# Contributor: Jake Buchholz <tomalok@gmail.com>
-# Maintainer: Jake Buchholz <tomalok@gmail.com>
-pkgname=galera
-pkgver=26.4.7
-pkgrel=2
-_wsrepver=26
-pkgdesc="Galera replication - Codership's implementation of the write set replication (wsrep) interface"
-url="https://galeracluster.com"
-arch="x86 x86_64" # doesn't work for the others
-license="GPL-2.0-or-later"
-depends="mariadb"
-makedepends="bash boost-dev check-dev cmake openssl-dev"
-subpackages="$pkgname-arbitrator $pkgname-arbitrator-doc:arbitrator_doc"
-source="
- https://github.com/codership/galera/archive/release_$pkgver.tar.gz
- https://github.com/codership/wsrep-API/archive/release_v$_wsrepver.tar.gz
- fix_gcomm-test-check_evs2.patch
- musl-page-size.patch
- musl-sched_param.patch
- musl-sys-poll-h.patch
- musl-wordsize.patch
-"
-builddir="$srcdir/$pkgname-release_$pkgver"
-
-prepare() {
- default_prepare
-
- ln -s /usr/bin/python3 python
- export PATH="$PATH:."
-}
-
-build() {
- rmdir wsrep/src
- cp -a ../wsrep-API-release_v$_wsrepver wsrep/src
- cmake .
- make
-}
-
-check() {
- make test
-}
-
-package() {
- mkdir -p "$pkgdir/usr/lib"
- mv libgalera_smm.so "$pkgdir/usr/lib"
-}
-
-arbitrator() {
- url="https://galeracluster.com/library/documentation/arbitrator.html"
- depends=""
- mkdir -p "$subpkgdir/usr/sbin"
- mv "$builddir/garb/garbd" "$subpkgdir/usr/sbin"
-}
-
-arbitrator_doc() {
- url="https://galeracluster.com/library/documentation/arbitrator.html"
- depends=""
- mkdir -p "$subpkgdir/usr/share/man/man8"
- mv "$builddir/man/garbd.8" "$subpkgdir/usr/share/man/man8"
- gzip "$subpkgdir/usr/share/man/man8/garbd.8"
-}
-
-sha512sums="
-cfffe2e19c6459d74fd2c3eb2412ccee53afd33663b17bc786e0c13642974a708b9bcddd4631ff924aee225e0b3e20341b492ef9d0353279461b25590dd59fdd release_26.4.7.tar.gz
-37ddc2c071ec22688ad6bce0cd44285aa00e2c07abce783d5ca6ba655e702feca8397e57c47e961f6ad4d2c14932fc38bac87b8995940b7b38fed655f6cd6671 release_v26.tar.gz
-7e3835046be86bcf36e08de85e3577dc9e56d19b89c0cb9270158d793576428f3d19ff420556a7bc6ddeb0721f6032e23e68952f903e15415e16cf524164663c fix_gcomm-test-check_evs2.patch
-196bae14790d6dad46617d107b5ddac6f01694468fb7a049736c6a21c9857b490863eec66be774eeb01300c0dbf4d9871a1b89da6847d92d67473b3aa80dbd3e musl-page-size.patch
-de08e34bf52cb39353a72a3608053d9204edcddd24f2f7babe2e5eb753d91bd0ca5909ee07a4d6c7ad54e37fba37ad2866403f1805401dcb68b9958514e17ac2 musl-sched_param.patch
-6248970137727c56a4c696bfd88eabaa9dc1dd55c287c4f04051f012470714ca53cb88918cd57027793e2705133237a2e7a608dd01ac36a2ae720448922dd4b4 musl-sys-poll-h.patch
-2baf88a6c16360ba1ac2ddf7a87a33f84b3039ca9819d84cfdd96b702da1a6050be1b4ac1f3fe6eff7f539158cdb6369906c4821545b1292d98899ec6e13b249 musl-wordsize.patch
-"
diff --git a/testing/galera/fix_gcomm-test-check_evs2.patch b/testing/galera/fix_gcomm-test-check_evs2.patch
deleted file mode 100644
index 649183b682e..00000000000
--- a/testing/galera/fix_gcomm-test-check_evs2.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/gcomm/test/check_evs2.cpp
-+++ b/gcomm/test/check_evs2.cpp
-@@ -2583,6 +2583,7 @@
- gu::datetime::SimClock::inc_time(300 * gu::datetime::MSec);
- evs_from_dummy(dn[1])->handle_timers();
- evs_from_dummy(dn[2])->handle_timers();
-+ prop.propagate_until_empty();
- ck_assert(evs_from_dummy(dn[1])->state() == gcomm::evs::Proto::S_GATHER);
- ck_assert(evs_from_dummy(dn[2])->state() == gcomm::evs::Proto::S_GATHER);
diff --git a/testing/galera/musl-page-size.patch b/testing/galera/musl-page-size.patch
deleted file mode 100644
index a0903e42780..00000000000
--- a/testing/galera/musl-page-size.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/galerautils/src/gu_alloc.cpp
-+++ b/galerautils/src/gu_alloc.cpp
-@@ -29,10 +29,11 @@
- if (gu_likely(size <= left_))
- {
- /* to avoid too frequent allocation, make it (at least) 64K */
-- static page_size_type const PAGE_SIZE(gu_page_size_multiple(1 << 16));
-+ /* was PAGE_SIZE but collided with a define */
-+ static page_size_type const PG_SZ(gu_page_size_multiple(1 << 16));
-
- page_size_type const page_size
-- (std::min(std::max(size, PAGE_SIZE), left_));
-+ (std::min(std::max(size, PG_SZ), left_));
-
- Page* ret = new HeapPage (page_size);
-
diff --git a/testing/galera/musl-sched_param.patch b/testing/galera/musl-sched_param.patch
deleted file mode 100644
index ef8640aa4ba..00000000000
--- a/testing/galera/musl-sched_param.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/galerautils/src/gu_thread.cpp
-+++ b/galerautils/src/gu_thread.cpp
-@@ -87,7 +87,8 @@
- #if defined(__sun__)
- struct sched_param spstr = { sp.prio(), { 0, } /* sched_pad array */};
- #else
-- struct sched_param spstr = { sp.prio() };
-+ /* musl has some reserved fields in sched_param... */
-+ struct sched_param spstr = { sp.prio(), 0, 0, 0, 0, 0, 0 };
- #endif
- int err;
- if ((err = pthread_setschedparam(thd, sp.policy(), &spstr)) != 0)
diff --git a/testing/galera/musl-sys-poll-h.patch b/testing/galera/musl-sys-poll-h.patch
deleted file mode 100644
index e3189c7ca2b..00000000000
--- a/testing/galera/musl-sys-poll-h.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/asio/asio/detail/socket_types.hpp
-+++ b/asio/asio/detail/socket_types.hpp
-@@ -58,7 +58,7 @@
- #else
- # include <sys/ioctl.h>
- # if !defined(__SYMBIAN32__)
--# include <sys/poll.h>
-+# include <poll.h> /* avoid "redirecting incorrect #include <sys/poll.h> to <poll.h>" warning */
- # endif
- # include <sys/types.h>
- # include <sys/stat.h>
diff --git a/testing/galera/musl-wordsize.patch b/testing/galera/musl-wordsize.patch
deleted file mode 100644
index 525f5329b5d..00000000000
--- a/testing/galera/musl-wordsize.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/galerautils/src/gu_arch.h
-+++ b/galerautils/src/gu_arch.h
-@@ -50,8 +50,9 @@
- #elif defined(__APPLE__) || defined(__FreeBSD__)
- # include <stdint.h>
- # define GU_WORDSIZE __WORDSIZE
--#else
--# include <bits/wordsize.h>
-+#else /* use this instead of bits/wordsize.h */
-+# include <stdint.h>
-+# include <bits/user.h>
- # define GU_WORDSIZE __WORDSIZE
- #endif
-
diff --git a/testing/gambit/APKBUILD b/testing/gambit/APKBUILD
new file mode 100644
index 00000000000..abb00d1f90b
--- /dev/null
+++ b/testing/gambit/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Bryce Vandegrift <bryce@brycevandegrift.xyz>
+# Maintainer: Bryce Vandegrift <bryce@brycevandegrift.xyz>
+pkgname=gambit
+pkgver=4.9.5
+pkgrel=0
+pkgdesc="Portable and efficient implementation of the Scheme language"
+url="https://gambitscheme.org/"
+arch="all"
+license="LGPL-2.1-only, Apache-2.0"
+makedepends="openssl-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gambit/gambit/archive/v$pkgver.tar.gz
+ tests.patch"
+
+build() {
+ ./configure --prefix=/usr \
+ --libdir=/usr/lib/gambit \
+ --docdir=/usr/share/doc/gambit \
+ --includedir=/usr/include/gambit \
+ --disable-cplusplus \
+ --disable-absolute-shared-libs \
+ --enable-single-host \
+ --enable-gcc-opts \
+ --enable-openssl \
+ --enable-poll \
+ --enable-compiler-name=gambit-gsc
+ make
+ make doc
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+d461fa5cce5d030b93165294a3d1dff12935745485e835cfda9164a794d12b1472506c4b4637b7ee7df0a9218f89a30ed6f44cd88557a7a9bf09b573f523c497 gambit-4.9.5.tar.gz
+53adf263417997e17ecda51299f6639c8b8812c3399243a61e81736c40d96b503c4cfaa2ee195e8066ac0297fd0d601ecd560b150e9af3813f5b3b8a1f9f6be3 tests.patch
+"
diff --git a/testing/gambit/tests.patch b/testing/gambit/tests.patch
new file mode 100644
index 00000000000..c74b293240b
--- /dev/null
+++ b/testing/gambit/tests.patch
@@ -0,0 +1,14 @@
+Some unit-tests expect an installed version of Gambit, redirect to the
+local source.
+
+--- a/tests/run-unit-tests.scm
++++ b/tests/run-unit-tests.scm
+@@ -184,7 +184,7 @@
+
+ (case target
+ ((C)
+- (run "../gsi/gsi" "-:debug-settings=-,io-settings=lu,~~=.." "-f" file))
++ (run "../gsi/gsi" "-:debug-settings=-,io-settings=lu,~~=..,~~lib=../lib" "-f" file))
+ (else
+ (let ((gsi (string-append "../gsi/gsi-" (symbol->string target))))
+ (run gsi "-f" file))))))
diff --git a/testing/game-devices-udev/APKBUILD b/testing/game-devices-udev/APKBUILD
new file mode 100644
index 00000000000..a20363d1df6
--- /dev/null
+++ b/testing/game-devices-udev/APKBUILD
@@ -0,0 +1,23 @@
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=game-devices-udev
+pkgver=0.22
+pkgrel=2
+pkgdesc="udev rules for a bunch of game controllers"
+url="https://codeberg.org/fabiscafe/game-devices-udev"
+arch="noarch"
+license="MIT"
+source="$pkgname-$pkgver.tgz::https://codeberg.org/fabiscafe/game-devices-udev/archive/$pkgver.tar.gz"
+builddir="$srcdir/game-devices-udev"
+options="!check" # just text files
+
+package() {
+ install -Dm644 ./*.rules -t "$pkgdir"/usr/lib/udev/rules.d/
+ install -Dm644 /dev/stdin "$pkgdir"/etc/modules-load.d/game-devices-udev.conf <<-EOF
+ # needed for a lot of controller inputs
+ uinput
+ EOF
+}
+
+sha512sums="
+8dde251f46613505a9cf5f96a6323224384311b5d06d2c41a9c3184a37039463fd5050d656510d2c69c634bbe901dd32f74aa60151833d2ff42aed3ea4d651c3 game-devices-udev-0.22.tgz
+"
diff --git a/testing/gamescope/APKBUILD b/testing/gamescope/APKBUILD
new file mode 100644
index 00000000000..ed9e7f98df5
--- /dev/null
+++ b/testing/gamescope/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: Alisa <corg@disroot.org>
+# Contributor: Maxim Karasev <begs@disroot.org>
+# Maintainer: Alisa <corg@disroot.org>
+pkgname=gamescope
+pkgver=3.12.0
+pkgrel=1
+_openvr=1a0ea26642e517824b66871e6a12280a426cfec3
+_vkroots=26757103dde8133bab432d172b8841df6bb48155
+pkgdesc="SteamOS session compositing window manager"
+url="https://github.com/Plagman/gamescope"
+arch="all"
+license="BSD-2-Clause"
+makedepends="
+ benchmark-dev
+ cmake
+ glm-dev
+ glslang-dev
+ hwdata-dev
+ libcap-dev
+ libdisplay-info-dev
+ libliftoff-dev
+ libx11-dev
+ libxcomposite-dev
+ libxmu-dev
+ libxrender-dev
+ libxres-dev
+ libxtst-dev
+ libxxf86vm-dev
+ meson
+ pipewire-dev
+ sdl2-dev
+ stb
+ vulkan-loader-dev
+ wayland-protocols
+ wlroots0.16-dev
+ xwayland-dev
+ "
+source="https://github.com/Plagman/gamescope/archive/refs/tags/$pkgver/gamescope-$pkgver.tar.gz
+ openvr-$_openvr.tar.gz::https://github.com/ValveSoftware/openvr/archive/$_openvr.tar.gz
+ vkroots-$_vkroots.tar.gz::https://github.com/Joshua-Ashton/vkroots/archive/$_vkroots.tar.gz
+ gcc13.patch
+ null.patch
+ system-wlroots-libliftoff.patch
+ "
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+
+ rmdir subprojects/vkroots
+ ln -sfv "$srcdir"/vkroots-$_vkroots subprojects/vkroots
+ rmdir subprojects/openvr
+ ln -sfv "$srcdir"/openvr-$_openvr subprojects/openvr
+}
+
+build() {
+ CXXFLAGS="$CXXFLAGS -DRTLD_DEEPBIND=0" \
+ abuild-meson \
+ -Db_lto=true \
+ . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install \
+ --no-rebuild \
+ --skip-subprojects \
+ -C output
+}
+
+sha512sums="
+864d61d9caf0bb8b13c71a084dd54a74e4d9104168cdc9ff8bc971e5a78a019fa80bf43c3b58b2e5ade6d461842385c37c3184ceede7e058d4d8d989a9e62bd9 gamescope-3.12.0.tar.gz
+17ce420ed384e16abadddfae4912beba861d34a258c1dee7f39ccd3a83e6e44cca504fb5e994962fc06d97e220ca9a22d952f5e47ac18ba58e8f2c3341c0cf40 openvr-1a0ea26642e517824b66871e6a12280a426cfec3.tar.gz
+606395000264647f0e74aeb4699b63e29de367b5c97b8d26c01b9373cc130ae0cf872ffaa56b826ed6e0b4170654df1af8f4272f8ed6f83fcc6f75750e8d3c2a vkroots-26757103dde8133bab432d172b8841df6bb48155.tar.gz
+83ba06fbf89d84d1e56a69c5feb474ab3d1f2b2ccf686d5bdd4c408065b7aaaf0a847979e8e5e8d815d02b5fc88ce4592f88af7f2b2eaf9668b9cdad0070f17d gcc13.patch
+e32763bec60c9b8927882f5b1866c684bc8f6d220c6c9cad5fdfc6926bcf97bd02d2d105c3d91ff56baf4680e65a8460894e09bb58d859ee8c98c19973f4c684 null.patch
+9fea6675d8c29d740c77d9ce6b69da4a1f54f39bf7a372fe538f154bb97f5cc21436033eeab1f2a154c5aee04410e5194b779c33104ab78b1a8a84ca5d798be2 system-wlroots-libliftoff.patch
+"
diff --git a/testing/gamescope/gcc13.patch b/testing/gamescope/gcc13.patch
new file mode 100644
index 00000000000..6b0b47c94c1
--- /dev/null
+++ b/testing/gamescope/gcc13.patch
@@ -0,0 +1,41 @@
+diff --git a/src/drm.hpp b/src/drm.hpp
+index 2f416c4..849ec96 100644
+--- a/src/drm.hpp
++++ b/src/drm.hpp
+@@ -40,12 +40,13 @@ extern "C" {
+
+ #include "rendervulkan.hpp"
+
++#include <string>
+ #include <unordered_map>
+ #include <utility>
+ #include <atomic>
+ #include <map>
+ #include <unordered_map>
+ #include <mutex>
+ #include <vector>
+
+ struct saved_mode {
+diff --git a/src/main.cpp b/src/main.cpp
+index 99a7a48..4cab9d1 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -2,6 +2,7 @@
+
+ #include <cstdio>
+ #include <thread>
++#include <string>
+ #include <mutex>
+ #include <vector>
+ #include <cstring>
+diff --git a/src/sdlwindow.cpp b/src/sdlwindow.cpp
+index ecf95ce..d886e15 100644
+--- a/src/sdlwindow.cpp
++++ b/src/sdlwindow.cpp
+@@ -1,5 +1,6 @@
+ // For the nested case, reads input from the SDL window and send to wayland
+
++#include <string>
+ #include <thread>
+ #include <mutex>
+
diff --git a/testing/gamescope/null.patch b/testing/gamescope/null.patch
new file mode 100644
index 00000000000..dfe0ef2e6d9
--- /dev/null
+++ b/testing/gamescope/null.patch
@@ -0,0 +1,47 @@
+From 29163332b12cdc1bccb09a3b29501df23c2817d7 Mon Sep 17 00:00:00 2001
+From: psykose <alice@ayaya.dev>
+Date: Wed, 26 Jul 2023 02:35:43 +0000
+Subject: [PATCH] fix null handle for nul surface
+
+not every platform uses nullptr, some use 0LL or ((void*)0) directly.
+
+closes #917
+---
+ src/main.cpp | 2 +-
+ src/rendervulkan.cpp | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/main.cpp b/src/main.cpp
+index 6f7ec3f..fb4ceeb 100644
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -662,7 +662,7 @@ int main(int argc, char **argv)
+ }
+
+ VkInstance instance = vulkan_create_instance();
+- VkSurfaceKHR surface = nullptr;
++ VkSurfaceKHR surface = VK_NULL_HANDLE;
+
+ if ( !BIsNested() )
+ {
+diff --git a/src/rendervulkan.cpp b/src/rendervulkan.cpp
+index 3f7861e..c508979 100644
+--- a/src/rendervulkan.cpp
++++ b/src/rendervulkan.cpp
+@@ -1751,11 +1751,11 @@ void CVulkanCmdBuffer::dispatch(uint32_t x, uint32_t y, uint32_t z)
+ shaperLutDescriptor[i].imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
+ // TODO(Josh): I hate the fact that srgbView = view *as* raw srgb and treat as linear.
+ // I need to change this, it's so utterly stupid and confusing.
+- shaperLutDescriptor[i].imageView = m_shaperLut[i] ? m_shaperLut[i]->srgbView() : nullptr;
++ shaperLutDescriptor[i].imageView = m_shaperLut[i] ? m_shaperLut[i]->srgbView() : VK_NULL_HANDLE;
+
+ lut3DDescriptor[i].sampler = m_device->sampler(nearestState);
+ lut3DDescriptor[i].imageLayout = VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL;
+- lut3DDescriptor[i].imageView = m_lut3D[i] ? m_lut3D[i]->srgbView() : nullptr;
++ lut3DDescriptor[i].imageView = m_lut3D[i] ? m_lut3D[i]->srgbView() : VK_NULL_HANDLE;
+ }
+
+ if (!m_target->isYcbcr())
+--
+2.41.0
+
diff --git a/testing/gamescope/system-wlroots-libliftoff.patch b/testing/gamescope/system-wlroots-libliftoff.patch
new file mode 100644
index 00000000000..4e7dc9e2c8a
--- /dev/null
+++ b/testing/gamescope/system-wlroots-libliftoff.patch
@@ -0,0 +1,10 @@
+--- a/meson.build
++++ b/meson.build
+@@ -6,7 +6,6 @@
+ default_options: [
+ 'cpp_std=c++14',
+ 'warning_level=2',
+- 'force_fallback_for=wlroots,libliftoff',
+ ],
+ )
+
diff --git a/testing/gamja/APKBUILD b/testing/gamja/APKBUILD
index 30732969f77..3958f2da672 100644
--- a/testing/gamja/APKBUILD
+++ b/testing/gamja/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=gamja
-pkgver=1.0.0_beta1
+pkgver=1.0.0_beta9
_pkgver=v${pkgver/_beta/-beta.}
pkgrel=0
pkgdesc="Simple IRC web client"
url="https://sr.ht/~emersion/gamja/"
license="AGPL-3.0"
-arch="noarch !mips64 !riscv64" # blocked by nodejs
+arch="noarch"
makedepends="npm"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~emersion/gamja/archive/$_pkgver.tar.gz"
@@ -31,5 +31,5 @@ package() {
}
sha512sums="
-36e7347ab502affa274421521f83cdcdd1fec16b95d1e4ff32ef8ef73ec92c6ac9519896aaf826eb5afbe017c1d2b0a6f3ff0a35c2f2c90bee1f606028f72dd3 gamja-1.0.0_beta1.tar.gz
+2759f727a89979321f31d61d5194c12dfdb5d67143532188b9995abac079a0d4ce7bb0e5b092ddf1d2271a3ae85470c6469e11b3a9804ac8cbce79aef75c9281 gamja-1.0.0_beta9.tar.gz
"
diff --git a/testing/gammastep/APKBUILD b/testing/gammastep/APKBUILD
index 206e4fedc19..698ef3e8f20 100644
--- a/testing/gammastep/APKBUILD
+++ b/testing/gammastep/APKBUILD
@@ -1,17 +1,25 @@
-#Contributor: Julian Weigt <juw@posteo.de>
-#Maintainer: Julian Weigt <juw@posteo.de>
-#taken from archlinux
+# Contributor: Julian Weigt <juw@posteo.de>
+# Maintainer: Julian Weigt <juw@posteo.de>
+# taken from archlinux
pkgname=gammastep
-pkgver=2.0.7
+pkgver=2.0.9
pkgrel=3
pkgdesc="Adjust the color temperature of your screen according to your surroundings"
arch="all"
url="https://gitlab.com/chinstrap/gammastep"
license="GPL-3.0-only"
-makedepends="autoconf python3 intltool gettext-dev automake libtool wayland-dev geoclue-dev"
-subpackages="$pkgname-lang"
+makedepends="
+ autoconf
+ automake
+ geoclue-dev
+ gettext-dev
+ intltool
+ libtool
+ python3
+ wayland-dev
+ "
+subpackages="$pkgname-lang $pkgname-doc $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://gitlab.com/chinstrap/gammastep/-/archive/v$pkgver/gammastep-v$pkgver.tar.gz"
-subpackages="$pkgname-doc"
builddir="$srcdir/$pkgname-v$pkgver"
@@ -36,4 +44,7 @@ package() {
make DESTDIR="$pkgdir/" install
install -vDm 644 CONTRIBUTING.md NEWS.md README.md -t "$pkgdir/usr/share/doc/$pkgname"
}
-sha512sums="466811636d4c4d5f3fc21272e7ab8c208e2ad8830fbabd48c8d96c2eaa04d07c29da35f409166eaf95acdd0038f926a84d199fabf08df79fb027f45441ef0d08 gammastep-2.0.7.tar.gz"
+
+sha512sums="
+6bd5e2ee21424af87eafff394c7dbe1db19052fbdac2cadd6fbc2af99839f35743125352655dc7b3beccdaec038b480f66125649b61252826c6cbd663444cda0 gammastep-2.0.9.tar.gz
+"
diff --git a/testing/gatling/APKBUILD b/testing/gatling/APKBUILD
index 1fe0437f1ca..fdd0c4a1926 100644
--- a/testing/gatling/APKBUILD
+++ b/testing/gatling/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
+# Maintainer: Simon Rupf <simon@rupf.net>
pkgname=gatling
pkgver=0.16
-pkgrel=0
+pkgrel=4
pkgdesc="High performance web server"
url="https://www.fefe.de/gatling/"
-arch="x86_64 x86 ppc64le"
+arch="all"
license="GPL-2.0-only"
-makedepends="openssl-dev libowfat-dev zlib-dev libcap-dev"
+makedepends="openssl-dev>3 libowfat-dev zlib-dev libcap-dev"
install="gatling.pre-install"
subpackages="$pkgname-doc $pkgname-openrc"
source="https://www.fefe.de/gatling/gatling-$pkgver.tar.xz
@@ -20,6 +20,7 @@ source="https://www.fefe.de/gatling/gatling-$pkgver.tar.xz
build() {
CFLAGS="$CFLAGS -std=c99"
+ make havealloca.h
make prefix=/usr \
CFLAGS="$CFLAGS -I/usr/include/libowfat" \
LDFLAGS="$LDFLAGS" \
@@ -28,7 +29,7 @@ build() {
package() {
install -Dm644 gatling.1 \
- "$pkgdir"/usr/share/doc/man/man1/gatling.1
+ "$pkgdir"/usr/share/man/man1/gatling.1
mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
install -m644 README.ftp README.http README.tls \
@@ -44,7 +45,9 @@ package() {
"$pkgdir"/etc/conf.d/gatling
}
-sha512sums="9446ea0ae862509b1a892e5bdef14d3a2320c3c3e846362b4679c0834aa906ab5b16ef54e4a7c8e7ee839d30317436dd411e891e3105035a9ee31b0facc0b8c1 gatling-0.16.tar.xz
+sha512sums="
+9446ea0ae862509b1a892e5bdef14d3a2320c3c3e846362b4679c0834aa906ab5b16ef54e4a7c8e7ee839d30317436dd411e891e3105035a9ee31b0facc0b8c1 gatling-0.16.tar.xz
02a5be068853de439ccae96d810aa318f96abeeb7cb9291d6ab5a2a83d60f3a0c47d14226b92d996c4ff74e982e8ab2ee4ca83b6728ca0a18aff06bbebdf04a9 build-fixes.patch
b51e5145fa5f67dd933f8b7c06d633545152b253c51891ef4519b83707b0001034506a7a8807a37d104dcab47320a5233093d9d89211b36753ac316e447b54a9 gatling.confd
-456ee7f2c62b682376f301b1727e32e68a53fe5b50bd9d9b1e00225e6d0e6bc62fa328b503ca2ebf899ff4c6ca68d9998785ee83749d4590c3c0196a5aadb133 gatling.initd"
+456ee7f2c62b682376f301b1727e32e68a53fe5b50bd9d9b1e00225e6d0e6bc62fa328b503ca2ebf899ff4c6ca68d9998785ee83749d4590c3c0196a5aadb133 gatling.initd
+"
diff --git a/testing/gaupol/APKBUILD b/testing/gaupol/APKBUILD
index 458b08c4394..e259f06ee77 100644
--- a/testing/gaupol/APKBUILD
+++ b/testing/gaupol/APKBUILD
@@ -1,28 +1,43 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=gaupol
-pkgver=1.10.1
-pkgrel=1
+pkgver=1.12
+pkgrel=2
pkgdesc="Editor for text-based subtitles"
url="https://otsaloma.io/gaupol/"
arch="noarch"
license="GPL-3.0-or-later"
depends="
- python3 gtk+3.0 gspell iso-codes py3-cairo gstreamer
- gst-libav gst-plugins-good gst-plugins-bad gst-plugins-ugly
- py3-gobject3 py3-chardet desktop-file-utils hicolor-icon-theme
+ desktop-file-utils
+ gspell
+ gst-libav
+ gst-plugins-bad
+ gst-plugins-good
+ gst-plugins-ugly
+ gstreamer
+ gtk+3.0
+ hicolor-icon-theme
+ iso-codes
+ py3-cairo
+ py3-chardet
+ py3-gobject3
+ python3
"
-makedepends="gettext-tiny-dev"
-subpackages="$pkgname-doc $pkgname-lang"
+makedepends="gettext-dev py3-setuptools py3-wheel py3-gpep517"
+subpackages="$pkgname-doc $pkgname-lang $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/otsaloma/gaupol/archive/$pkgver.tar.gz"
+options="!check" # no tests
-check() {
- python3 setup.py check
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-f294ea10c73dcf9941f70988ae58066917d7b321141e3a3ba3e12810e5f20a4711feca45d354dddc0e104a1ee2496fad24e529b129bdeee1cdb92010ec20be1d gaupol-1.10.1.tar.gz
+7e8002ceeff0a6c1144a6c23743aff006101a63aee394c4a4eb2742ad37635fe45425964d60ab2d6f10f9e212c72db673f5f1d849f738efcd7d9389054a1de36 gaupol-1.12.tar.gz
"
diff --git a/testing/gb/APKBUILD b/testing/gb/APKBUILD
index 53f501ef357..053f8e684a0 100644
--- a/testing/gb/APKBUILD
+++ b/testing/gb/APKBUILD
@@ -3,7 +3,7 @@
pkgname=gb
pkgver=0.4.4
_errors_ver=0.8.0
-pkgrel=5
+pkgrel=23
pkgdesc="Project based build tool for Go"
options="!check"
url="https://github.com/constabulary/gb"
@@ -16,6 +16,10 @@ source="gb-$pkgver.tar.gz::https://github.com/constabulary/gb/archive/v$pkgver.t
"
builddir="$srcdir/src/github.com/constabulary/$pkgname"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
prepare() {
mkdir -p ${builddir%/*}
mv "$srcdir"/$pkgname-$pkgver "$builddir"/
diff --git a/testing/gdb-esp/APKBUILD b/testing/gdb-esp/APKBUILD
new file mode 100644
index 00000000000..68e10a852eb
--- /dev/null
+++ b/testing/gdb-esp/APKBUILD
@@ -0,0 +1,134 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+_pkgbase=gdb
+_targets="
+ xtensa-esp8266-elf
+ xtensa-esp32-elf
+ xtensa-esp32s2-elf
+ xtensa-esp32s3-elf
+ "
+pkgname="$_pkgbase-esp"
+pkgver=13.2
+_xtensa_overlay_ver=2021r2-patch4
+pkgrel=2
+pkgdesc="The GNU Debugger for embedded targets patched for ESP support"
+# NOTE: gdb-multiarch replaces all the different cross-platform GDB versions
+# and supports architectures ranging from 8 bit microcontrollers
+# all the way up to super scalar multicore 64 bit server CPUs. The
+# list of supported architectures is long and even includes Xtensa.
+# However, the magic ESP MCUs are so illustrious and special, that
+# they are not to be spoken to by the common tools of mere mortals. In
+# fact, every ESP product list is so special that it needs its own magic
+# GDB version sprinkled with its own special stardust-unicorn-Espressif
+# patches to be barely worthy enough to interact with the blessed ESP
+# MCUs.
+#
+# tl;dr: Please don't use this as a role model, gdb-multiarch should normally
+# be all you need. This is only needed due to crappy upstreaming
+# policy of a shitty company.
+url="https://www.sourceware.org/gdb/"
+# riscv64: ld: BFD (GNU Binutils) 2.39 assertion fail elfnn-riscv.c:4816 segfault
+arch="all !riscv64"
+license="GPL-2.0-only GPL-2.0-or-later GPL-3.0-only GPL-3.0-or-later LGPL-2.1-only"
+depends="gdb"
+makedepends="
+ autoconf
+ automake
+ expat-dev
+ gmp-dev
+ libtool
+ linux-headers
+ ncurses-dev
+ perl
+ python3-dev
+ readline-dev
+ texinfo
+ zlib-dev
+ "
+source="
+ https://ftp.gnu.org/gnu/$_pkgbase/$_pkgbase-$pkgver.tar.xz
+ xtensa-overlay-$_xtensa_overlay_ver.tar.gz::https://github.com/espressif/xtensa-overlays/archive/refs/tags/esp-$_xtensa_overlay_ver.tar.gz
+ "
+for target in $_targets; do
+ targetnorm="${target//-/_}"
+ subpackages="$_pkgbase-$target:$targetnorm $subpackages"
+done
+
+options="!check"
+builddir="$srcdir"/$_pkgbase-$pkgver
+
+build() {
+ for target in $_targets; do
+ mkdir -p "$srcdir/build/$target"
+ cd "$srcdir/build/$target"
+
+ # copy ESP specific xtensa settings from overlay
+ dir="${target%%-elf}"
+ dir="${dir//-/_}"
+ dir="$srcdir/xtensa-overlays-esp-$_xtensa_overlay_ver/$dir/gdb"
+ cp -r "$dir"/* "$builddir"/
+ # add some glue for compatibility with recent GDB
+ echo "xtensa_gdbarch_tdep xtensa_tdep (rmap);" \
+ >> "$builddir"/gdb/xtensa-config.c
+
+ "$builddir/configure" \
+ --target=$target \
+ --prefix=/usr \
+ --mandir=/deleteme/man \
+ --infodir=/deleteme/info \
+ --pdfdir=/deleteme/pdf \
+ --htmldir=/deleteme/html \
+ --disable-nls \
+ --disable-werror \
+ --enable-interwork \
+ --enable-languages=c,c++ \
+ --enable-multilib \
+ --with-python=/usr/bin/python3 \
+ --with-system-gdbinit=/etc/gdb/gdbinit \
+ --with-system-readline \
+ --with-system-zlib
+ make
+ done
+}
+
+package() {
+ for target in $_targets; do
+ depends="$depends $_pkgbase-$target"
+ done
+ mkdir -p "$pkgdir"
+}
+
+_install_subpkg() {
+ target="${subpkgname#$_pkgbase-}"
+ pkgdesc="The GNU Debugger for $target"
+ cd "$srcdir/build/$target"
+ make DESTDIR="$subpkgdir" install
+
+ rm -rf "$subpkgdir"/deleteme
+
+ # those are provided by gdb
+ rm -rf "${subpkgdir:?}"/usr/share
+ # those are provided by binutils
+ rm -rf "${subpkgdir:?}"/usr/include
+ rm -rf "${subpkgdir:?}"/usr/lib
+}
+
+xtensa_esp8266_elf() {
+ _install_subpkg
+}
+
+xtensa_esp32_elf() {
+ _install_subpkg
+}
+
+xtensa_esp32s2_elf() {
+ _install_subpkg
+}
+
+xtensa_esp32s3_elf() {
+ _install_subpkg
+}
+
+sha512sums="
+8185d3e11ab60dafff5860a5016577bfe7dd7547ef01ebc867bc247603d82b74ff74c4f29492c7d2aee57076f52be33e289f4c6b414a4b870d4b3004909f4c34 gdb-13.2.tar.xz
+7b872a53b31ad2c02fd2b04e39b8d1c63924437f35433e2495a9dbe341a118b8754fbe087986c335a8b1c588519ad637fa73b7270a28a692ad350d58fe7bac10 xtensa-overlay-2021r2-patch4.tar.gz
+"
diff --git a/testing/gdcm/10-docbook4.patch b/testing/gdcm/10-docbook4.patch
new file mode 100644
index 00000000000..eeb8f317251
--- /dev/null
+++ b/testing/gdcm/10-docbook4.patch
@@ -0,0 +1,175 @@
+--- a/Utilities/doxygen/CMakeLists.txt
++++ b/Utilities/doxygen/CMakeLists.txt
+@@ -268,8 +268,8 @@
+
+ set(DOCBOOK_REWRITE_PREFIX_FOUND FALSE)
+ foreach(line ${xml_catalog})
+- string(REGEX MATCH "^.*systemIdStartString=\"http://docbook.sourceforge.net/release/xsl-ns/\".*" out1 ${line})
+- string(REGEX REPLACE "^.*systemIdStartString=\"http://docbook.sourceforge.net/release/xsl-ns/\".*\"([A-Za-z ]*)\".*" "\\1" output_variable ${line})
++ string(REGEX MATCH "^.*systemIdStartString=\"http://docbook.sourceforge.net/release/xsl/current\".*" out1 ${line})
++ string(REGEX REPLACE "^.*systemIdStartString=\"http://docbook.sourceforge.net/release/xsl/current\".*\"([A-Za-z ]*)\".*" "\\1" output_variable ${line})
+ if(out1)
+ message(STATUS "Your docbook install was found here :${output_variable}")
+ set(DOCBOOK_REWRITE_PREFIX_FOUND TRUE)
+--- a/Utilities/doxygen/man/gdcm2pnm.xml
++++ b/Utilities/doxygen/man/gdcm2pnm.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcm2vtk.xml
++++ b/Utilities/doxygen/man/gdcm2vtk.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmanon.xml
++++ b/Utilities/doxygen/man/gdcmanon.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmclean.xml
++++ b/Utilities/doxygen/man/gdcmclean.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmconv.xml
++++ b/Utilities/doxygen/man/gdcmconv.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmdiff.xml
++++ b/Utilities/doxygen/man/gdcmdiff.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmdump.xml
++++ b/Utilities/doxygen/man/gdcmdump.xml
+@@ -1,5 +1,5 @@
+ <?xml version="1.0" encoding="utf-8"?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmgendir.xml
++++ b/Utilities/doxygen/man/gdcmgendir.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmimg.xml
++++ b/Utilities/doxygen/man/gdcmimg.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcminfo.xml
++++ b/Utilities/doxygen/man/gdcminfo.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmpap3.xml
++++ b/Utilities/doxygen/man/gdcmpap3.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmpdf.xml
++++ b/Utilities/doxygen/man/gdcmpdf.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmraw.xml
++++ b/Utilities/doxygen/man/gdcmraw.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmscanner.xml
++++ b/Utilities/doxygen/man/gdcmscanner.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmscu.xml
++++ b/Utilities/doxygen/man/gdcmscu.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmtar.xml
++++ b/Utilities/doxygen/man/gdcmtar.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmviewer.xml
++++ b/Utilities/doxygen/man/gdcmviewer.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
+--- a/Utilities/doxygen/man/gdcmxml.xml
++++ b/Utilities/doxygen/man/gdcmxml.xml
+@@ -1,5 +1,5 @@
+ <?xml version='1.0' encoding='UTF-8' standalone='no'?>
+-<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl-ns/current/manpages/docbook.xsl" ?>
++<?xml-stylesheet type="text/xsl" href="http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl" ?>
+ <!DOCTYPE Data [ <!ENTITY version SYSTEM 'version.txt'> ]>
+ <refentry xmlns="http://docbook.org/ns/docbook" version="5.0" xmlns:xlink="http://www.w3.org/1999/xlink">
+ <info>
diff --git a/testing/gdcm/30-off_t.patch b/testing/gdcm/30-off_t.patch
new file mode 100644
index 00000000000..2bcea169515
--- /dev/null
+++ b/testing/gdcm/30-off_t.patch
@@ -0,0 +1,211 @@
+--- a/Source/MediaStorageAndFileFormat/gdcmFileStreamer.cxx
++++ b/Source/MediaStorageAndFileFormat/gdcmFileStreamer.cxx
+@@ -49,7 +49,7 @@
+ // http://stackoverflow.com/questions/17863594/size-of-off-t-at-compilation-time
+ // Basically enforce use of off64_t over off_t since on windows off_t is pretty
+ // much guarantee to be 32bits only.
+-static inline int FSeeko(FILE *stream, off64_t offset, int whence)
++static inline int FSeeko(FILE *stream, off_t offset, int whence)
+ {
+ #if _WIN32
+ #if defined(__MINGW32__)
+@@ -62,7 +62,7 @@
+ #endif
+ }
+
+-static inline off64_t FTello(FILE *stream)
++static inline off_t FTello(FILE *stream)
+ {
+ #if _WIN32
+ #if defined(__MINGW32__)
+@@ -75,7 +75,7 @@
+ #endif
+ }
+
+-static inline bool FTruncate( const int fd, const off64_t len )
++static inline bool FTruncate( const int fd, const off_t len )
+ {
+ #if _WIN32
+ #if defined(__MINGW32__)
+@@ -93,7 +93,7 @@
+ #endif
+ }
+
+-static bool prepare_file( FILE * pFile, const off64_t offset, const off64_t inslen )
++static bool prepare_file( FILE * pFile, const off_t offset, const off_t inslen )
+ {
+ // fast path
+ if( inslen == 0 ) return true;
+@@ -108,13 +108,13 @@
+ {
+ if( inslen < 0 )
+ {
+- off64_t bytes_to_move = sb.st_size - offset;
+- off64_t read_start_offset = offset;
++ off_t bytes_to_move = sb.st_size - offset;
++ off_t read_start_offset = offset;
+ while (bytes_to_move != 0)
+ {
+- const size_t bytes_this_time = static_cast<size_t>(std::min((off64_t)BUFFERSIZE, bytes_to_move));
+- const off64_t rd_off = read_start_offset;
+- const off64_t wr_off = rd_off + inslen;
++ const size_t bytes_this_time = static_cast<size_t>(std::min((off_t)BUFFERSIZE, bytes_to_move));
++ const off_t rd_off = read_start_offset;
++ const off_t wr_off = rd_off + inslen;
+ if( FSeeko(pFile, rd_off, SEEK_SET) )
+ {
+ return false;
+@@ -148,14 +148,14 @@
+ #endif
+ if (sb.st_size > offset)
+ {
+- off64_t bytes_to_move = sb.st_size - offset;
+- off64_t read_end_offset = sb.st_size;
++ off_t bytes_to_move = sb.st_size - offset;
++ off_t read_end_offset = sb.st_size;
+ while (bytes_to_move != 0)
+ {
+- const size_t bytes_this_time = static_cast<size_t>(std::min((off64_t)BUFFERSIZE, bytes_to_move));
+- const off64_t rd_off = read_end_offset - bytes_this_time;
+- assert( (off64_t)rd_off >= offset );
+- const off64_t wr_off = rd_off + inslen;
++ const size_t bytes_this_time = static_cast<size_t>(std::min((off_t)BUFFERSIZE, bytes_to_move));
++ const off_t rd_off = read_end_offset - bytes_this_time;
++ assert( (off_t)rd_off >= offset );
++ const off_t wr_off = rd_off + inslen;
+ if( FSeeko(pFile, rd_off, SEEK_SET) )
+ {
+ return false;
+@@ -326,15 +326,15 @@
+ size_t dicomlen = 4 + 4; // Tag + VL for Implicit
+ if( TS.GetNegociatedType() == TransferSyntax::Explicit )
+ dicomlen += 4;
+- off64_t newlen = len;
++ off_t newlen = len;
+ assert( (size_t)newlen == len );
+ newlen += dicomlen;
+ newlen -= actualde;
+- off64_t plength = newlen;
++ off_t plength = newlen;
+ assert( ReservedDataLength >= 0 );
+ if( ReservedDataLength )
+ {
+- if( (newlen + ReservedDataLength) >= (off64_t)len )
++ if( (newlen + ReservedDataLength) >= (off_t)len )
+ {
+ plength = newlen + ReservedDataLength - len;
+ }
+@@ -345,8 +345,8 @@
+ ReservedDataLength -= len;
+ assert( ReservedDataLength >= 0 );
+ }
+- //if( !prepare_file( pFile, (off64_t)thepos + actualde, newlen ) )
+- if( !prepare_file( pFile, (off64_t)thepos + actualde, plength ) )
++ //if( !prepare_file( pFile, (off_t)thepos + actualde, newlen ) )
++ if( !prepare_file( pFile, (off_t)thepos + actualde, plength ) )
+ {
+ return false;
+ }
+@@ -360,18 +360,18 @@
+ else
+ {
+ assert( pFile );
+- const off64_t curpos = FTello(pFile);
++ const off_t curpos = FTello(pFile);
+ assert( curpos == thepos );
+- if( ReservedDataLength >= (off64_t)len )
++ if( ReservedDataLength >= (off_t)len )
+ {
+ // simply update remaining reserved buffer:
+ ReservedDataLength -= len;
+ }
+ else
+ {
+- const off64_t plength = len - ReservedDataLength;
++ const off_t plength = len - ReservedDataLength;
+ assert( plength >= 0 );
+- if( !prepare_file( pFile, (off64_t)curpos, plength) )
++ if( !prepare_file( pFile, (off_t)curpos, plength) )
+ {
+ return false;
+ }
+@@ -392,14 +392,14 @@
+ // Update DataElement:
+ const size_t currentdatalenth = CurrentDataLenth;
+ assert( ReservedDataLength >= 0);
+- //const off64_t refpos = FTello(pFile);
++ //const off_t refpos = FTello(pFile);
+ if( !UpdateDataElement( t ) )
+ {
+ return false;
+ }
+ if( ReservedDataLength > 0)
+ {
+- const off64_t curpos = thepos;
++ const off_t curpos = thepos;
+ if( !prepare_file( pFile, curpos + ReservedDataLength, - ReservedDataLength) )
+ {
+ return false;
+@@ -584,7 +584,7 @@
+ pFile = fopen(outfilename, "r+b");
+ assert( pFile );
+
+- if( !prepare_file( pFile, (off64_t)thepcpos, pclen ) )
++ if( !prepare_file( pFile, (off_t)thepcpos, pclen ) )
+ {
+ return false;
+ }
+@@ -670,7 +670,7 @@
+ size_t actualde;
+ size_t CurrentDataLenth;
+ Tag CurrentGroupTag;
+- off64_t ReservedDataLength{0};
++ off_t ReservedDataLength{0};
+ unsigned short ReservedGroupDataElement{0};
+ public:
+ FileStreamer *Self{nullptr};
+@@ -682,7 +682,7 @@
+ {
+ if( CurrentDataLenth % 2 == 1 )
+ {
+- const off64_t curpos = FTello(pFile);
++ const off_t curpos = FTello(pFile);
+ if( ReservedDataLength >= 1 )
+ {
+ // simply update remaining reserved buffer:
+@@ -690,7 +690,7 @@
+ }
+ else
+ {
+- if( !prepare_file( pFile, (off64_t)curpos, 1) )
++ if( !prepare_file( pFile, (off_t)curpos, 1) )
+ {
+ return false;
+ }
+@@ -702,7 +702,7 @@
+ CurrentDataLenth += 1;
+ }
+ assert( CurrentDataLenth % 2 == 0 );
+- off64_t vlpos = thepos;
++ off_t vlpos = thepos;
+ vlpos -= CurrentDataLenth;
+ vlpos -= 4; // VL
+ if( TS.GetNegociatedType() == TransferSyntax::Explicit )
+@@ -720,7 +720,7 @@
+ }
+ return true;
+ }
+- size_t WriteHelper( off64_t offset, const Tag & tag, const VL & vl )
++ size_t WriteHelper( off_t offset, const Tag & tag, const VL & vl )
+ {
+ FSeeko(pFile, offset, SEEK_SET);
+ std::stringstream ss;
+@@ -765,7 +765,7 @@
+ static int checksize = 0;
+ if( !checksize )
+ {
+- const int soff = sizeof( off64_t );
++ const int soff = sizeof( off_t );
+ const int si64 = sizeof( int64_t );
+ if( soff != si64 ) return false;
+ if( !(sizeof(sb.st_size) > 4) ) // LFS ?
diff --git a/testing/gdcm/40-java.patch b/testing/gdcm/40-java.patch
new file mode 100644
index 00000000000..291fe9c79b5
--- /dev/null
+++ b/testing/gdcm/40-java.patch
@@ -0,0 +1,18 @@
+--- a/Wrapping/Java/gdcm.i
++++ b/Wrapping/Java/gdcm.i
+@@ -247,7 +247,6 @@
+
+ // http://www.swig.org/Doc1.3/Java.html#imclass_pragmas
+ // Need to be located *after* gdcmConfigure.h
+-#ifdef GDCM_AUTOLOAD_GDCMJNI
+ %pragma(java) jniclasscode=%{
+ private final static String GDCMJNI = "gdcmjni";
+ static {
+@@ -339,7 +338,6 @@
+ }
+ }
+ %}
+-#endif
+
+
+ //%include "gdcmTypes.h"
diff --git a/testing/gdcm/50-use_copyright.patch b/testing/gdcm/50-use_copyright.patch
new file mode 100644
index 00000000000..298a9f67c37
--- /dev/null
+++ b/testing/gdcm/50-use_copyright.patch
@@ -0,0 +1,29 @@
+From 541353ba279245fb0297f50dcb23d2da0d45cdc4 Mon Sep 17 00:00:00 2001
+From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur@gmail.com>
+Date: Sun, 28 Jul 2019 16:38:52 +0100
+Subject: [PATCH] 3.0.1 Use copyright
+
+---
+ CMake/UseCopyright.cmake | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/CMake/UseCopyright.cmake b/CMake/UseCopyright.cmake
+index fb4fe1fad..d8bc8e8cb 100644
+--- a/CMake/UseCopyright.cmake
++++ b/CMake/UseCopyright.cmake
+@@ -18,8 +18,10 @@ macro(APPEND_COPYRIGHT)
+ # need to raise an error if COPYRIGHT_MODULE_FILENAME is not set...
+ if(EXISTS ${COPYRIGHT_MODULE_FILENAME} )
+ foreach(filename ${ARGN})
+- file(READ ${filename} content)
+- file(APPEND ${COPYRIGHT_MODULE_FILENAME} ${content})
++ if(EXISTS ${filename} )
++ file(READ ${filename} content)
++ file(APPEND ${COPYRIGHT_MODULE_FILENAME} ${content})
++ endif()
+ endforeach()
+ endif()
+ endmacro()
+--
+2.21.0
+
diff --git a/testing/gdcm/60-fix_export_variables.patch b/testing/gdcm/60-fix_export_variables.patch
new file mode 100644
index 00000000000..b9fc89cf38f
--- /dev/null
+++ b/testing/gdcm/60-fix_export_variables.patch
@@ -0,0 +1,34 @@
+From 204375d9cc8ba863a40fab23241844596bbb54e1 Mon Sep 17 00:00:00 2001
+From: "Ankur Sinha (Ankur Sinha Gmail)" <sanjay.ankur@gmail.com>
+Date: Sat, 23 Nov 2019 12:51:46 +0000
+Subject: [PATCH 2/2] Fix export variables
+
+---
+ CMake/ExportConfiguration/GDCMConfig.cmake.in | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMake/ExportConfiguration/GDCMConfig.cmake.in b/CMake/ExportConfiguration/GDCMConfig.cmake.in
+index f8e9d0ba5..4894d293e 100644
+--- a/CMake/ExportConfiguration/GDCMConfig.cmake.in
++++ b/CMake/ExportConfiguration/GDCMConfig.cmake.in
+@@ -37,14 +37,14 @@ get_filename_component(SELF_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
+ if(EXISTS ${SELF_DIR}/GDCMTargets.cmake)
+ # This is an install tree
+ include(${SELF_DIR}/GDCMTargets.cmake)
+- get_filename_component(GDCM_INCLUDE_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE)
++ get_filename_component(GDCM_INCLUDE_ROOT "@GDCM_INSTALL_INCLUDE_DIR@" ABSOLUTE)
+ set(GDCM_INCLUDE_DIRS ${GDCM_INCLUDE_ROOT})
+- get_filename_component(GDCM_LIB_ROOT "${SELF_DIR}/../../@GDCM_INSTALL_LIB_DIR@" ABSOLUTE)
++ get_filename_component(GDCM_LIB_ROOT "@GDCM_INSTALL_LIB_DIR@" ABSOLUTE)
+ set(GDCM_LIBRARY_DIRS ${GDCM_LIB_ROOT})
+ else()
+ if(EXISTS ${SELF_DIR}/GDCMExports.cmake)
+ # This is a build tree
+- set( GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@")
++ set(GDCM_INCLUDE_DIRS "@GDCM_INCLUDE_PATH@")
+ set(GDCM_LIBRARY_DIRS "@GDCM_LIBRARY_DIR@")
+
+ include(${SELF_DIR}/GDCMExports.cmake)
+--
+2.23.0
+
diff --git a/testing/gdcm/APKBUILD b/testing/gdcm/APKBUILD
new file mode 100644
index 00000000000..914be3b4edf
--- /dev/null
+++ b/testing/gdcm/APKBUILD
@@ -0,0 +1,181 @@
+# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
+# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
+pkgname=gdcm
+pkgver=3.0.23
+pkgrel=2
+pkgdesc="Grassroots DiCoM is a C++ library for DICOM medical files"
+url="https://gdcm.sourceforge.net/"
+# armhf, aarch64: dcmtk missing
+# s390x: vtk missing
+arch="all !aarch64 !armhf !s390x"
+license="BSD-3-Clause"
+makedepends="
+ charls-dev
+ cmake
+ cmake
+ dcmtk-dev
+ docbook-xsl
+ doxygen
+ expat-dev
+ font-freefont
+ fontconfig-dev
+ graphviz
+ json-c-dev
+ libogg-dev
+ libtheora-dev
+ libxml2-dev
+ libxslt-dev
+ mesa-dev
+ openjpeg-dev
+ openssl-dev
+ poppler-dev
+ python3-dev
+ samurai
+ sqlite-dev
+ swig
+ util-linux-dev
+ vtk-dev
+ "
+subpackages="$pkgname-dev"
+# gdcmData.tar.bz2 is broken
+source="gdcm-$pkgver.tar.bz2::https://sourceforge.net/projects/gdcm/files/gdcm%203.x/GDCM%20$pkgver/gdcm-$pkgver.tar.bz2/download
+ https://downloads.sourceforge.net/project/gdcm/gdcmData/gdcmData/gdcmData.tar.gz
+ 10-docbook4.patch
+ 30-off_t.patch
+ 40-java.patch
+ 50-use_copyright.patch
+ 60-fix_export_variables.patch
+ "
+
+# Optional dependency texlive is not available on ppc64le
+#case "$CARCH" in
+# ppc64le|riscv64)
+ _with_doc="OFF"
+# ;;
+# *)
+# makedepends="$makedepends texlive texmf-dist-latexextra texlive-dvi"
+# subpackages="$subpackages $pkgname-doc-html $pkgname-doc-pdf"
+# _with_doc="ON"
+# ;;
+#esac
+subpackages="$subpackages $pkgname-doc py3-$pkgname:py3"
+
+# Optional dependency openjdk8-jdk is not available on riscv64
+case "$CARCH" in
+ riscv64)
+ _with_java="OFF"
+ ;;
+ *)
+ makedepends="$makedepends java-common openjdk8-jdk"
+ subpackages="$subpackages java-$pkgname:java"
+ _with_java="ON"
+ ;;
+esac
+subpackages="$subpackages lib$pkgname:lib"
+
+prepare() {
+ default_prepare
+
+ # Remove bundled utilities (we use Alpine's ones)
+ rm -rf Utilities/gdcmexpat
+ rm -rf Utilities/gdcmopenjpeg
+ rm -rf Utilities/gdcmopenjpeg
+ rm -rf Utilities/gdcmzlib
+ rm -rf Utilities/gdcmuuid
+ rm -rf Utilities/gdcmcharls
+
+ # Remove bundled utilities (we don't use them)
+ rm -rf Utilities/getopt
+ rm -rf Utilities/pvrg
+}
+
+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=None \
+ -DGDCM_INSTALL_PACKAGE_DIR=lib/cmake/gdcm \
+ -DGDCM_BUILD_TESTING:BOOL=ON \
+ -DGDCM_DATA_ROOT=../gdcmData/ \
+ -DGDCM_BUILD_EXAMPLES:BOOL=ON \
+ -DGDCM_DOCUMENTATION:BOOL=$_with_doc \
+ -DGDCM_WRAP_PYTHON:BOOL=ON \
+ -DPYTHON_EXECUTABLE="$(which python3)" \
+ -DGDCM_INSTALL_PYTHONMODULE_DIR="$(python -c 'import sysconfig; print(sysconfig.get_paths()["purelib"])')" \
+ -DGDCM_WRAP_JAVA:BOOL=$_with_java \
+ -DGDCM_WRAP_CSHARP:BOOL=OFF \
+ -DGDCM_BUILD_SHARED_LIBS:BOOL=ON \
+ -DGDCM_BUILD_APPLICATIONS:BOOL=ON \
+ -DGDCM_USE_VTK:BOOL=ON \
+ -DGDCM_USE_SYSTEM_CHARLS:BOOL=ON \
+ -DGDCM_USE_SYSTEM_EXPAT:BOOL=ON \
+ -DGDCM_USE_SYSTEM_OPENJPEG:BOOL=ON \
+ -DGDCM_USE_SYSTEM_ZLIB:BOOL=ON \
+ -DGDCM_USE_SYSTEM_UUID:BOOL=ON \
+ -DGDCM_USE_SYSTEM_LJPEG:BOOL=OFF \
+ -DGDCM_USE_SYSTEM_OPENSSL:BOOL=ON \
+ -DGDCM_USE_JPEGLS:BOOL=ON \
+ -DGDCM_USE_SYSTEM_LIBXML2:BOOL=ON \
+ -DGDCM_USE_SYSTEM_JSON:BOOL=ON \
+ -DGDCM_USE_SYSTEM_POPPLER:BOOL=ON \
+ -DJAVA_HOME=/usr/lib/jvm/default-jvm \
+ -DPYTHON_VERSION_MAJOR=3 \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ local test_excludes="(TestMD5$|TestSHA1$|TestWriter$|TestAnonymizer4$|TestImageChangeTransferSyntax1$|TestImageChangeTransferSyntax2$|TestImageChangeTransferSyntax3$|TestImageChangeTransferSyntax4$|TestImageChangeTransferSyntax6$|TestImageChangeTransferSyntax7$|TestPrinter1$|TestImageReader$|TestImageRegionReader1$|TestImageRegionReader2$|TestImageRegionReader3$|TestImageReaderRandomEmpty$|TestImageWriter$|TestCleaner4$|TestJSON1$|TestImageChangeTransferSyntax5$|TestUIDGeneratorPython4$|TestDCMTKMD5Python$|TestSCUValidation$|TestEcho$|TestFind$|TestWrapPython$|gdcmscu-echo-dicomserver$|gdcmscu-store-dicomserver$|gdcmscu-find-dicomserver$|TestStrictScanner1$|TestStrictScanner2_1$|TestStrictScanner2$|TestStrictScanner2_2$|TestDICOMDIRGenerator1$|TestUIDGeneratorPython$|TestvtkGDCMImageWriter1$|TestvtkGDCMMetaImageWriter$|TestvtkGDCMImageReader2_2$|TestvtkGDCMMetaImageWriter2$|TestFileChangeTransferSyntax1$|TestFileChangeTransferSyntax2$|TestFileChangeTransferSyntax2$|TestFileChangeTransferSyntax4$|TestReaderCanRead$|TestRescaler2$)"
+
+ ctest --test-dir build --output-on-failure -E $test_excludes
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+html() {
+ pkgdesc="Grassroots DiCoM HTML documentation"
+ amove usr/share/doc/gdcm-3.0/html
+}
+
+pdf() {
+ pkgdesc="Grassroots DiCoM PDF documentation"
+ amove usr/share/doc/gdcm-3.0/gdcm-$pkgver.pdf
+}
+
+java() {
+ pkgdesc="$pkgdesc (Java bindings)"
+ mkdir -p "$subpkgdir"/usr/share/java
+ mv "$pkgdir"/usr/lib/gdcm.jar "$subpkgdir"/usr/share/java/gdcm-$pkgver.jar
+ cd "$subpkgdir"/usr/share/java/
+ ln -s gdcm-$pkgver.jar gdcm.jar
+ amove usr/lib/libgdcmjni.so
+}
+
+py3() {
+ pkgdesc="$pkgdesc (Python3 bindings)"
+
+ amove usr/lib/python3*
+}
+
+lib() {
+ pkgdesc="Grassroots DiCoM runtime libraries"
+ amove usr/lib
+ amove usr/share/gdcm*
+
+}
+
+sha512sums="
+2d62e6c023a9597fb086d015110b60bea8e73b21fabbb850a3abf574b75a301e64a7d756582d8832b946904ed795746bb75f79967700923dcd794de248154641 gdcm-3.0.23.tar.bz2
+ddc67a7a0b41b2d6e1e03defb6fb8a06ceeb2e9dd9bb47dfa4f7283d79df7c1e52577b799c00e930719ae6cdda46bded9497a67b8241359f238f5366085ec9ee gdcmData.tar.gz
+87fcf6ea8f6eb34e27bf2ecf5cbd4501092d1f936341dfcf75085780da75fab9be7809521d5cb00a6c4a9e512bfbe7de20233104b19fab245391632e409498a3 10-docbook4.patch
+15520cd087ea401744d46a55e83eb307742ee4b94256476531b9f209be4ffaa2b0653d4ab8266b8c82282a52fceaa1f887d5fdebf83c1da0551c51335f74a08e 30-off_t.patch
+3254dd27821f9239c0379d8f9ca577a6f2a7ff14b55701cca9fb0ac47568c24d1e681bc404f1d97a9ed8ee00f2a11701c7d53eee7186e5ce9f7ca8eca7834326 40-java.patch
+da032530bd27b47ab4ec46652c4fcb65dda02ddeca4a3175f49cbf46efd43a1ff75b126475a694ce2df944e3970c67e378b1cf4db4cacf40d87bd999d37b4eed 50-use_copyright.patch
+6994893b96069874bacc9285b994c7f93314b9570c7dd8b64ee51bb701fd5c8bd9892641e3b9d2d6f11fa4f2b7aebbbe25d72c1e689b5cccad34280f4c5199a5 60-fix_export_variables.patch
+"
diff --git a/testing/gdm-settings/APKBUILD b/testing/gdm-settings/APKBUILD
new file mode 100644
index 00000000000..cc74a3f1803
--- /dev/null
+++ b/testing/gdm-settings/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Thomas Aldrian <aldrian.thom@proton.me>
+pkgname=gdm-settings
+pkgver=4.3
+pkgrel=1
+pkgdesc="A settings app for Gnome's Login Manager, GDM"
+url="https://github.com/gdm-settings/gdm-settings"
+arch="noarch !armhf !s390x" # Blocked by gdm
+license="AGPL-3.0-or-later"
+depends="
+ gdm
+ glib
+ libadwaita
+ polkit
+ py3-gobject3
+ "
+makedepends="
+ blueprint-compiler
+ desktop-file-utils
+ glib-dev
+ gobject-introspection
+ libadwaita-dev
+ meson
+ py3-gobject3-dev
+ "
+checkdepends="appstream"
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gdm-settings/gdm-settings/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+cc586eafdef9f61d90b7f8ae4fbfdf0636e55893ec8a73f989ce66d45d7c6a4c56e8c32b95dbf9bdcfecd7e911815f2f1cc22b7581841f4418991fbf1f4ef248 gdm-settings-4.3.tar.gz
+"
diff --git a/testing/gearmand/APKBUILD b/testing/gearmand/APKBUILD
index a57f854255f..6b505c6a750 100644
--- a/testing/gearmand/APKBUILD
+++ b/testing/gearmand/APKBUILD
@@ -1,22 +1,32 @@
# Contributor: Aaron Hurt <ahurt@ena.com>
# Maintainer:
pkgname=gearmand
-pkgver=1.1.19.1
-pkgrel=3
+pkgver=1.1.21
+pkgrel=0
pkgdesc="A distributed job queue"
url="http://gearman.org"
arch="all"
license="BSD-3-Clause"
-makedepends="boost-dev gperf libevent-dev util-linux-dev
- hiredis-dev openssl-dev sqlite-dev libmemcached-dev"
+depends_dev="libevent-dev"
+makedepends="
+ $depends_dev
+ boost-dev
+ gperf
+ hiredis-dev
+ libmemcached-dev
+ openssl-dev>3
+ sqlite-dev
+ util-linux-dev
+ "
install="$pkgname.pre-install $pkgname.post-deinstall"
-subpackages="$pkgname-doc gearman-dev:gearman_dev gearman-libs:gearman_libs $pkgname-openrc"
+subpackages="$pkgname-doc gearman-dev gearman-libs $pkgname-openrc"
source="https://github.com/gearman/gearmand/releases/download/$pkgver/gearmand-$pkgver.tar.gz
- libtest-cmdline.cc.patch
- libhashkit-common.h.patch
$pkgname.initd
- $pkgname.confd"
+ $pkgname.confd
+ "
+ # libtest-cmdline.cc.patch
+ # libhashkit-common.h.patch
build() {
# Configure with only the most commonly used persistence backends.
# We are explicitly disabling tokyo cabinet, pgsql and mysql to reduce
@@ -36,7 +46,7 @@ build() {
--enable-ssl \
--enable-hiredis \
--enable-jobserver=no
- make
+ make V=1
}
package() {
@@ -48,24 +58,8 @@ package() {
"$pkgdir"/etc/conf.d/$pkgname
}
-gearman_dev() {
- default_dev
-
- pkgdesc="Library providing Gearman client and worker functions (development files)"
- depends="libevent-dev"
-}
-
-gearman_libs() {
- pkgdesc="Library providing Gearman client and worker functions"
-
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libgearman.so* "$subpkgdir"/usr/lib/
-}
-
sha512sums="
-cbcf85dfd7268aa9acc039eac9505385af3be89eeba48270ddb45739e0ccdcf0d2963d821ccbb6a471396fc9ab2521d096f5d6c2fc3d41b3fb050bd82a795f1f gearmand-1.1.19.1.tar.gz
-8d7c7473d8bcc06a6dfcb1975dd5b4992457661c6c2fab5e160f6252222af603003466c26de0c2d241d247ac33bc68f8fae853b7401691f36b2e6c57ff9b65ba libtest-cmdline.cc.patch
-08a1ce2ef071a33efc5c93de5812f83ee2b96ae604eaedb1d40a998ccb4e88a0f588d846d19623de9b8f98df18639168521763d27f1fb3ca046b4c679d61468b libhashkit-common.h.patch
+d8c6561ddcf7aaf3a861c2a05b014473ff9572fefa9e181ae25b0e88bac8ba09ab4852d98fb0c405b186ae78f6fac22c4248977395162dc41a0e35f53904db49 gearmand-1.1.21.tar.gz
d97dbee95c0b96f0a81e42b730afdb9d129eb83e09be101e1bc2b2cd06a95fe1259265b912bf3850a51c6404e2c5883532a008946dfd46992cb488e1221dae97 gearmand.initd
d27a6acbce663aad91055f96e374ddf12d00a1ccded318693be441b7c4dfde43db73c755002ecfc683a3c1e95139cf378f26e3ab39b5ab6584a40e3991efe245 gearmand.confd
"
diff --git a/testing/geckodriver/APKBUILD b/testing/geckodriver/APKBUILD
deleted file mode 100644
index 796c3ccd707..00000000000
--- a/testing/geckodriver/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Nulo <git@nulo.in>
-# Maintainer: Nulo <git@nulo.in>
-pkgname=geckodriver
-pkgver=0.30.0
-pkgrel=0
-pkgdesc="Proxy for using W3C WebDriver compatible clients to interact with Gecko-based browsers."
-url="https://github.com/mozilla/geckodriver"
-# s390x: limited by cargo
-arch="all !s390x !riscv64"
-license="MPL"
-makedepends="cargo"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mozilla/geckodriver/archive/refs/tags/v$pkgver.tar.gz"
-
-build() {
- cargo build --release --bin geckodriver
-}
-
-check() {
- cargo test --release
-}
-
-package() {
- install -Dm0755 target/release/$pkgname -t "$pkgdir"/usr/bin
-}
-
-sha512sums="
-9a36b13c32903cc43fb9192521354e6765df0a33fa9cad19fe77d1322cd6cb78fcc0d368c24318cfcc27d0a13c94b014ae8793752bcc71ccf0567ec571ed8460 geckodriver-0.30.0.tar.gz
-"
diff --git a/testing/gede/APKBUILD b/testing/gede/APKBUILD
index 5ee27f9680c..95003ea5a19 100644
--- a/testing/gede/APKBUILD
+++ b/testing/gede/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gede
-pkgver=2.17.1
-pkgrel=0
+pkgver=2.18.2
+pkgrel=1
pkgdesc="Gede is a GUI to gdb using Qt5"
-url="http://gede.acidron.com/"
+url="http://gede.dexar.se/"
arch="all"
license="BSD-2-Clause"
options="!check" # no tests
depends="ctags"
-makedepends="openssl-dev qt5-qtbase-dev"
+makedepends="openssl-dev>3 qt5-qtbase-dev"
source="https://gede.dexar.se/uploads/source/gede-$pkgver.tar.xz"
build() {
@@ -18,10 +18,10 @@ build() {
make
}
-
package() {
- mkdir -p "$pkgdir"/usr/bin
- install -m0755 src/gede "$pkgdir"/usr/bin/
+ install -Dm755 src/gede -t "$pkgdir"/usr/bin/
}
-sha512sums="a06fb66cea49cb0091f6cb76083cadfe7cfb22a6b62d671657cfe09bfba3beff954fa6114c831398537da1e002e72fd7cad3e658f758821be293574d6878242e gede-2.17.1.tar.xz"
+sha512sums="
+54f5c3209ddb12af3aa5815937de87f9e5169dff9e6067f3497b237f57a044b110e4a29ede6bc66bb256b94e054bba6352f476ce74da6a6bb50c93e65bb87185 gede-2.18.2.tar.xz
+"
diff --git a/testing/gemget/APKBUILD b/testing/gemget/APKBUILD
deleted file mode 100644
index cfd15065572..00000000000
--- a/testing/gemget/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: omni <omni@gitlab.alpinelinux.org>
-# Maintainer: omni <omni@gitlab.alpinelinux.org>
-pkgname=gemget
-pkgver=1.8.0
-pkgrel=2
-pkgdesc="command line downloader for the Gemini protocol"
-url="https://github.com/makeworld-the-better-one/gemget"
-license="MIT"
-arch="all"
-makedepends="go"
-options="!check" # no test files
-source="$pkgname-$pkgver.tar.gz::https://github.com/makeworld-the-better-one/gemget/archive/v$pkgver.tar.gz"
-
-export GOPATH="$srcdir"
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-
-build() {
- go build -v .
-}
-
-package() {
- install -Dm0755 "$pkgname" -t "$pkgdir"/usr/bin
-}
-
-sha512sums="158a6519dc1c63e7398e85e56091deb433a2531b561470265346b9b07a7410b5517b0a082303c472c464fb166a01e803859cc0943426bafd99f894e5699291c3 gemget-1.8.0.tar.gz"
diff --git a/testing/genact/APKBUILD b/testing/genact/APKBUILD
new file mode 100644
index 00000000000..b62e6639c7b
--- /dev/null
+++ b/testing/genact/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=genact
+pkgver=1.4.2
+pkgrel=0
+pkgdesc="A nonsense activity generator"
+url="https://github.com/svenstaro/genact"
+arch="all !s390x" # s390x: https://github.com/nix-rust/nix/issues/1968
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/svenstaro/genact/archive/refs/tags/v$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/genact "$pkgdir"/usr/bin/genact
+}
+
+sha512sums="
+7d862050c44c95b8b3476664aeade12ac5caefe4ec0ffde73329656a176f1ad44db41eeda0f12cbcc0aecdd35a430c18d1278bdd11ece0da4bd0be166ff689d3 genact-1.4.2.tar.gz
+"
diff --git a/testing/genext2fs/APKBUILD b/testing/genext2fs/APKBUILD
deleted file mode 100644
index 2d8c4e1295d..00000000000
--- a/testing/genext2fs/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: George Hopkins <george-hopkins@null.net>
-# Maintainer: George Hopkins <george-hopkins@null.net>
-pkgname=genext2fs
-pkgver=1.5.0
-pkgrel=0
-pkgdesc="Generate ext2 filesystems as a normal user"
-url="http://genext2fs.sourceforge.net/"
-arch="all"
-license="GPL-2.0-only"
-makedepends="autoconf automake bash libarchive-dev"
-subpackages="$pkgname-doc"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/bestouff/genext2fs/archive/v$pkgver.tar.gz
- version.patch
- "
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --enable-libarchive
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="628994f4f5f6d534a42e16db5322e36addb227d0e0ee589ebebbbb6beda9c53774186a932d04fcb978fde1cbe534b8335fdbfea256aecd2d873c03bc5892a8ce genext2fs-1.5.0.tar.gz
-d31f3f69a1e7506f31cca1ff2f40f278ad04e6d7fa991356f53dec50cd4ba481f1b461967cedd710bf02b8a0d598576c864e264a0ac5aed464105b66bace2e93 version.patch"
diff --git a/testing/genext2fs/version.patch b/testing/genext2fs/version.patch
deleted file mode 100644
index 4c9d39f5f70..00000000000
--- a/testing/genext2fs/version.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 1ff83191311140fabccd27707200fc897bccc2dc Mon Sep 17 00:00:00 2001
-From: George Hopkins <george-hopkins@null.net>
-Date: Mon, 31 May 2021 11:40:12 +0200
-Subject: [PATCH] Fix version
-
-https://github.com/bestouff/genext2fs/issues/28
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index d01e94c..4badd25 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2,7 +2,7 @@
- # Process this file with autoconf to produce a configure script.
-
- AC_PREREQ(2.59)
--AC_INIT([genext2fs], [1.4.2])
-+AC_INIT([genext2fs], [1.5.0])
- AC_CONFIG_SRCDIR([genext2fs.c])
-
- builtin(include, [m4/ac_func_snprintf.m4])dnl
---
-2.17.1
-
diff --git a/testing/genimage/APKBUILD b/testing/genimage/APKBUILD
deleted file mode 100644
index bd08986dbba..00000000000
--- a/testing/genimage/APKBUILD
+++ /dev/null
@@ -1,61 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=genimage
-pkgver=15
-pkgrel=0
-pkgdesc="tool to generate multiple filesystem and flash images from a tree"
-url="https://github.com/pengutronix/genimage"
-arch="all"
-license="GPL-2.0-only"
-makedepends="autoconf automake confuse-dev linux-headers"
-checkdepends="
- bash
- cdrkit
- coreutils
- cramfs
- dosfstools
- dtc
- findutils
- genext2fs
- mtd-utils-ubi
- mtools
- qemu-img
- squashfs-tools
- util-linux-misc
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/pengutronix/genimage/archive/refs/tags/v$pkgver.tar.gz"
-
-case "$CARCH" in
- ppc64le) checkdepends="$checkdepends mtd-utils-jffs sfdisk" ;;
- s390x) : ;;
- *) checkdepends="$checkdepends android-tools mtd-utils-jffs sfdisk u-boot-tools" ;;
-esac
-
-prepare() {
- default_prepare
- autoreconf -vif
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc
- make
-}
-
-check() {
- # ext2/3/4 tests fail with incorrect output
- # android-tools and u-boot-tools missing on ppc64le and s390x
- # first hdimage test and jfs test fails on s390x
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-dd63872e8a41872e9af2b87efd604f0a9d6946e6ebbc323a0e81052efd6a9668f9ffe77f068c84e38fb27cb1e00bd63e9b2cdebf9526b4bc6c9e0f7e344762a7 genimage-15.tar.gz
-"
diff --git a/testing/geodns/APKBUILD b/testing/geodns/APKBUILD
index 076310aae3a..9ad786dc708 100644
--- a/testing/geodns/APKBUILD
+++ b/testing/geodns/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
pkgname=geodns
-pkgver=3.2.0
-pkgrel=0
+pkgver=3.3.0
+pkgrel=5
pkgdesc="DNS server with per-client targeted responses"
url="https://github.com/abh/geodns"
arch="all"
@@ -13,14 +13,16 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/abh/geodns/archive/v$pkgver.
$pkgname.confd
"
-export GOMODCACHE="$srcdir/go"
export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- go build -v -ldflags "-s -w"
+ go build -v
cd geodns-logs
- go build -v -ldflags "-s -w"
+ go build -v
}
check() {
@@ -41,7 +43,7 @@ logs() {
}
sha512sums="
-b04ea8f80494fc7def5cc203341d9e3666530145b5a83a8a89d3ef0c3cdcd96fe1d67cdb5a8885d51e52d4f0a96b93c185cd13a95789d1d40171f0adc22a525a geodns-3.2.0.tar.gz
+4240d4827c403ab81cb3bdbb36b5f408144bf5ff20669b46dcd9ce452ca0d29549983a6de2897b2611bd8a7c26540423600affc40dc27ab669d5e730fd2d6ae3 geodns-3.3.0.tar.gz
dc315782eb77627e2cd23a78ebef2f85a0a37a9129f6e16c817d7b9540c8b02987d35fc46882d7752c09caca825c5a77d2d3a27ae19ccccf2bba2e04bc74940c geodns.initd
ce2c7f51151313fa35f132f05cb59458eabb0a74208a79d585d579ce88d0ab168eab389fd59e931b4b19da7fcbca202bf495af345156e47dccb187b746b3ee15 geodns.confd
"
diff --git a/testing/geomyidae/APKBUILD b/testing/geomyidae/APKBUILD
index c345538e07d..8bfb551a520 100644
--- a/testing/geomyidae/APKBUILD
+++ b/testing/geomyidae/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Sascha Paunovic <azarus@posteo.net>
pkgname=geomyidae
pkgver=0.34
-pkgrel=1
+pkgrel=2
pkgdesc="Simple gopherd"
url="gopher://bitreich.org/1/scm/geomyidae"
arch="all"
diff --git a/testing/geonames/APKBUILD b/testing/geonames/APKBUILD
new file mode 100644
index 00000000000..d8e82a46e1d
--- /dev/null
+++ b/testing/geonames/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=geonames
+pkgver=0.3.1
+pkgrel=1
+pkgdesc="A library for parsing and querying a local copy of the geonames.org database"
+arch="all"
+url="https://gitlab.com/ubports/development/core/geonames"
+license="GPL-3.0-only"
+makedepends="
+ bash
+ cmake
+ glib-dev
+ gtk-doc
+ samurai
+ "
+source="https://gitlab.com/ubports/development/core/geonames/-/archive/$pkgver/geonames-$pkgver.tar.gz"
+subpackages="$pkgname-dev $pkgname-lang $pkgname-doc"
+options="!check" # https://gitlab.com/ubports/development/core/geonames/-/issues/2
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+449fd54127385afde1da2c896c2b6e287826ff2949e456537a066bd1a0aaee3fd484074f2d1366c3b65f9ffa4dd9ff28b926aa48a6db3e93f41fa20c4bfe725d geonames-0.3.1.tar.gz
+"
diff --git a/testing/geotagging/APKBUILD b/testing/geotagging/APKBUILD
new file mode 100644
index 00000000000..25cdd388339
--- /dev/null
+++ b/testing/geotagging/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=geotagging
+pkgver=0.7.2
+pkgrel=1
+pkgdesc="Photography geotagging tool"
+url="https://github.com/jmlich/geotagging"
+arch="x86_64 aarch64" # Limited by qt6-qtwebengine
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ exiv2-dev
+ qt6-qtbase-dev
+ qt6-qttools-dev
+ qt6-qtwebengine-dev
+ samurai
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/jmlich/geotagging/archive/refs/tags/$pkgver.tar.gz
+ fix-exiv2.patch
+ "
+options="!check" # No upstream test suite
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_DATADIR=/usr/share/geotagging
+
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+8af30ea133fee81611316dae2f35e74376369f1b497e9d0dbd296b3f816f7ed01d350552d1e223269be5776b0beab4a3610e1c639f7097539e85ddfe1ae4804f geotagging-0.7.2.tar.gz
+f05cb172f704f4c5d03f98825a9788c0afb43d20d9adf39ce2ceaaa6cf60c4e29242b701f9296bc77035ee82cbbe109cebd5894f52528b550d3d7b7afbfc1431 fix-exiv2.patch
+"
diff --git a/testing/geotagging/fix-exiv2.patch b/testing/geotagging/fix-exiv2.patch
new file mode 100644
index 00000000000..569959ffbe1
--- /dev/null
+++ b/testing/geotagging/fix-exiv2.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -111,7 +111,7 @@
+ target_compile_definitions(com.github.jmlich.geotagging
+ PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>)
+ target_link_libraries(com.github.jmlich.geotagging
+- PRIVATE Qt6::Core Qt6::Gui Qt6::Network Qt6::Widgets Qt6::WebEngineWidgets Qt6::WebChannel exiv2lib)
++ PRIVATE Qt6::Core Qt6::Gui Qt6::Network Qt6::Widgets Qt6::WebEngineWidgets Qt6::WebChannel exiv2)
+
+
+ option(DEPLOY_QT_LIBRARIES "Deploy Qt libraries to executable path" OFF)
diff --git a/testing/getdns/APKBUILD b/testing/getdns/APKBUILD
new file mode 100644
index 00000000000..2bab66adcdb
--- /dev/null
+++ b/testing/getdns/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Johannes Heimansberg <git@jhe.dedyn.io>
+# Maintainer: Johannes Heimansberg <git@jhe.dedyn.io>
+pkgname=getdns
+pkgver=1.7.3
+pkgrel=0
+pkgdesc="Modern asynchronous DNS API"
+url="https://getdnsapi.net"
+arch="all"
+license="BSD-3-Clause"
+subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"
+makedepends="cmake
+ libidn2-dev
+ openssl-dev
+ samurai
+ unbound-dev
+ yaml-dev
+"
+checkdepends="check-dev"
+source="$pkgname-$pkgver.tar.gz::https://getdnsapi.net/dist/getdns-$pkgver.tar.gz"
+options="!check" # The DNS lookups executed in the tests time out due to lack of connectivity
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_LIBEVENT2=OFF \
+ -DBUILD_LIBUV=OFF \
+ -DBUILD_LIBEV=OFF \
+ -DBUILD_STUBBY=OFF \
+ -DENABLE_UNBOUND_EVENT_API=OFF \
+ -DENABLE_STATIC=OFF \
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+d5725a24378b6fe0018daefdaba5565d2d4d51109ef66609fc34270a0a69accb95f5f895d0cdfc5caca51d2ec586db126f367439f05aed12507395af26739e2f getdns-1.7.3.tar.gz
+"
diff --git a/testing/getmail6/APKBUILD b/testing/getmail6/APKBUILD
new file mode 100644
index 00000000000..2a4021ca7ff
--- /dev/null
+++ b/testing/getmail6/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
+# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
+pkgname=getmail6
+pkgver=6.18.14
+pkgrel=1
+pkgdesc="mail retriever with support for POP3, IMAP4 and SDPS"
+url="https://getmail6.org/"
+arch="noarch"
+license="GPL-2.0-only"
+checkdepends="py3-pytest"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+depends="python3"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://github.com/getmail6/getmail6/archive/v$pkgver/getmail-$pkgver.tar.gz"
+
+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 -v test/test.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+ mv "$pkgdir/usr/share/doc/getmail-$pkgver" "$pkgdir/usr/share/doc/$pkgname"
+}
+
+sha512sums="
+58450e3080d5be2c5338a156e854dd37c3c9e5d471de4875f76b179a5e981ceeb9ccdc5e3c0a353da60a7fbb00340aae86acd783ad32a4b743b15cf9cd23ca4b getmail-6.18.14.tar.gz
+"
diff --git a/testing/getssl/APKBUILD b/testing/getssl/APKBUILD
index 27122454021..dcc7ced4121 100644
--- a/testing/getssl/APKBUILD
+++ b/testing/getssl/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Leo Unglaub <leo@unglaub.at>
pkgname=getssl
-pkgver=2.22
-pkgrel=1
+pkgver=2.48
+pkgrel=0
pkgdesc="A pure shell implementation of the LetsEncrypt ACME protocol."
url="https://github.com/srvrco/getssl"
arch="noarch"
@@ -13,4 +13,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/srvrco/getssl/archive/v$pkgv
package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="de499636ed01d8f4c9123c061cd54986a956175a2562bec79b0383528e816db085dda7b5ddb8b5512726bb2dc2d763295b35137ce59a52bf2a11ae0846af3361 getssl-2.22.tar.gz"
+
+sha512sums="
+c1b3e8556a0df3c0a23b12dde2add335aece5ddfdb8678bb87ce0ebae8acdb909b337770c3a01d5439b61887e3ce30f5e3d90cdaa9355e22ba4c96fe1066cfcd getssl-2.48.tar.gz
+"
diff --git a/testing/gettext-tiny/APKBUILD b/testing/gettext-tiny/APKBUILD
deleted file mode 100644
index 0dd1b0e8593..00000000000
--- a/testing/gettext-tiny/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
-pkgname=gettext-tiny
-pkgver=0.3.2
-pkgrel=0
-pkgdesc="a software locale translation system"
-url="https://github.com/sabotage-linux/gettext-tiny"
-arch="all"
-options="!check" # No test suite.
-license="MIT"
-depends=""
-# Remove !gettext-dev when we drop GNU gettext.
-depends_dev="musl-libintl !gettext-dev"
-makedepends_build="$depends_dev"
-makedepends_host=""
-makedepends="$makedepends_build $makedepends_host"
-install=""
-subpackages="$pkgname-dev"
-source="http://ftp.barfooze.de/pub/sabotage/tarballs/gettext-tiny-$pkgver.tar.xz
- respect-cflags.patch::https://patch-diff.githubusercontent.com/raw/sabotage-linux/gettext-tiny/pull/58.patch"
-builddir="$srcdir/gettext-tiny-$pkgver"
-
-build() {
- make LIBSRC=libintl/libintl-musl.c prefix=/usr
-}
-
-package() {
- make DESTDIR="$pkgdir" prefix=/usr LIBSRC=libintl/libintl-musl.c install
-}
-
-dev() {
- # when we're ready to drop GNU gettext, uncomment the below line
- # provides="gettext-dev=9999"
- default_dev
-}
-
-sha512sums="0efde2ce995c1bc5e2b983a5c83b8532cb8e99ae9043c5de7085cf550eb2c052bad4641782fb64b2bc70434844a935f0935d9f1a62954d7facbe247fe4ce1e21 gettext-tiny-0.3.2.tar.xz
-61869565f3c329a43f8e2ffd3e03295a4bd0e09efb1b7905a1c48feeaef3aa77722845b9188f28849c070dbe3c64b73abd7aa1908595c36093e8778be75736db respect-cflags.patch"
diff --git a/testing/getting-things-gnome/APKBUILD b/testing/getting-things-gnome/APKBUILD
index 1decde69d58..7e829e21642 100644
--- a/testing/getting-things-gnome/APKBUILD
+++ b/testing/getting-things-gnome/APKBUILD
@@ -1,24 +1,22 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=getting-things-gnome
-pkgver=0.5
-pkgrel=2
+pkgver=0.6
+pkgrel=3
pkgdesc="A personal tasks and TODO-list items organizier for GNOME, inspired by the Getting Things Done methodology"
url="https://wiki.gnome.org/Apps/GTG"
arch="noarch"
license="GPL-3.0-or-later"
depends="python3 py3-cairo py3-xdg py3-dbus py3-gobject3 py3-liblarch py3-lxml"
-makedepends="py3-setuptools gettext meson"
-checkdepends="py3-nose py3-pyflakes py3-mock py3-pycodestyle xvfb-run"
+makedepends="py3-setuptools py3-pytest gettext gtksourceview4 itstool meson"
+checkdepends="py3-nose py3-pyflakes py3-mock py3-pycodestyle py3-caldav py3-vobject xvfb-run"
subpackages="$pkgname-doc $pkgname-lang"
-source="$pkgname-$pkgver.tar.gz::https://github.com/getting-things-gnome/gtg/archive/v$pkgver.tar.gz
- remove-unused-keyword.patch
- "
+source="$pkgname-$pkgver.tar.gz::https://github.com/getting-things-gnome/gtg/archive/v$pkgver.tar.gz"
builddir="$srcdir/gtg-$pkgver"
build() {
abuild-meson output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
check() {
@@ -30,6 +28,5 @@ package() {
}
sha512sums="
-631f5343301d7d72211398152fa081c0fa15154babc7ec900f13a39a2677d0edaf4fea534a83284207e8019926c9108dc1d8f25bdbeae85ef0665dfe1c7b768a getting-things-gnome-0.5.tar.gz
-21abbb30321e8c178dd0d4118196145c72145150915adfad9b220d149cb52828c3ba1714aeaae79e5b69560ad0d37c31358935e2ec7da8d1a8e65fdc533a821d remove-unused-keyword.patch
+68a5229c17b85b87a9a134a08e5e86fbf24d28d6ce55e848c17eef650620d6f56172ee495cb113f4279b34c19127ae03981e2feec5a39dc51be49e387e458600 getting-things-gnome-0.6.tar.gz
"
diff --git a/testing/getting-things-gnome/remove-unused-keyword.patch b/testing/getting-things-gnome/remove-unused-keyword.patch
deleted file mode 100644
index de290a22ba6..00000000000
--- a/testing/getting-things-gnome/remove-unused-keyword.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-This is not applicable upstream as this breaks rebuilding translations whenever it changes, and we don't want that since we just building it once for packaging, not actively developing on it.
-
-So keep this here until https://github.com/getting-things-gnome/gtg/issues/720 is solved
-
-diff --git a/GTG/plugins/meson.build b/GTG/plugins/meson.build
-index 7ecb530..f6b2744 100644
---- a/GTG/plugins/meson.build
-+++ b/GTG/plugins/meson.build
-@@ -23,9 +23,7 @@ foreach plugin : gtg_plugins
- install_dir: plugin_install_dir,
- type: 'desktop',
- args: ['--keyword=name', '--keyword=short-description', '--keyword=description'],
-- build_by_default: true,
-- build_always_stale: true
-- # build always because otherwise new translations won't be applied
-+ build_by_default: true
- )
- subdir(plugin.underscorify())
- endforeach
diff --git a/testing/gf2x/APKBUILD b/testing/gf2x/APKBUILD
index ee7fe1907ce..ee7fe1907ce 100755..100644
--- a/testing/gf2x/APKBUILD
+++ b/testing/gf2x/APKBUILD
diff --git a/testing/gfan/APKBUILD b/testing/gfan/APKBUILD
new file mode 100644
index 00000000000..7661edd867f
--- /dev/null
+++ b/testing/gfan/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=gfan
+pkgver=0.6.2
+pkgrel=1
+pkgdesc="Software package for computing Grobner fans and tropical varieties"
+url="http://home.imf.au.dk/jensen/software/gfan/gfan.html"
+# armhf, armv7, x86: hang during tests
+arch="all !armhf !armv7 !x86"
+license="GPL-2.0-or-later"
+makedepends="cddlib-dev gmp-dev"
+source="http://home.imf.au.dk/jensen/software/gfan/gfan$pkgver.tar.gz"
+builddir="$srcdir/$pkgname$pkgver"
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+ sed -i 's/#include "cdd/#include "cddlib/' src/*.cpp
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make PREFIX="$pkgdir"/usr install
+}
+
+sha512sums="
+5961820750af2522fdc1a86c0254742c3b003607a8707df5d6cd5f0bc6461e4d3db3b1d3cb537979d57eb9dff387974a58aeb91d0b5246d7c701cadc5a2cf4cf gfan0.6.2.tar.gz
+"
diff --git a/testing/ghidra/APKBUILD b/testing/ghidra/APKBUILD
new file mode 100644
index 00000000000..b13b5d86a9c
--- /dev/null
+++ b/testing/ghidra/APKBUILD
@@ -0,0 +1,116 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=ghidra
+pkgver=11.0
+pkgrel=0
+pkgdesc="A Cross Platform and Open Source Electronics Design Automation Suite"
+url="https://ghidra-sre.org/"
+# only x86_64 and aarch64 support provided by upstream
+# aarch64: jdk segfaults
+arch="x86_64"
+license="Apache-2.0"
+makedepends="
+ bash
+ gradle
+ protoc
+ unzip
+ "
+# Note: Ghidra refuses to launch with only JRE installed, so
+# please do not move JDK to makedepends
+depends="
+ openjdk17-jdk
+ wmname
+ "
+subpackages="
+ $pkgname-tutorials
+ $pkgname-doc
+ "
+source="
+ https://github.com/NationalSecurityAgency/ghidra/archive/refs/tags/Ghidra_${pkgver}_build.tar.gz
+ use-system-protoc.patch
+ ghidra.sh
+ ghidra.desktop
+ "
+# This contains binary executables in the exercises section of the
+# documentation. We don't want to spoil the fun by stripping them.
+options="net !check"
+builddir="$srcdir/ghidra-Ghidra_${pkgver}_build"
+
+prepare() {
+ default_prepare
+
+ local protoc_ver
+ protoc_ver="$(protoc --version | grep -o '[0-9][.0-9]*')"
+
+ # protoc version needs to match protobuf runtime version
+ sed \
+ -e "s/com.google.protobuf:protobuf-java:3.17.3/com.google.protobuf:protobuf-java:$protoc_ver/g" \
+ -i Ghidra/Debug/Debugger-gadp/build.gradle
+ sed \
+ -e "s!lib/protobuf-java-3.17.3.jar!lib/protobuf-java-$protoc_ver.jar!g" \
+ -i Ghidra/Debug/Debugger-gadp/Module.manifest
+}
+
+build() {
+ export GRADLE_USER_HOME="$srcdir"/.gradle
+ gradle --parallel -I gradle/support/fetchDependencies.gradle init
+ gradle --parallel buildGhidra
+}
+
+package() {
+ # impedance matching between different arch naming conventions:
+ local arch
+ case "$CARCH" in
+ aarch64)
+ arch="arm_64"
+ ;;
+ *)
+ arch="$CARCH"
+ ;;
+ esac
+
+ install -d "$pkgdir"/usr/share "$pkgdir"/usr/bin
+ unzip \
+ -u "build/dist/ghidra_${pkgver}_DEV_$(date +"%Y%m%d")_linux_$arch.zip" \
+ -d "$pkgdir"/usr/share
+ mv "$pkgdir"/usr/share/ghidra_${pkgver}_DEV "$pkgdir"/usr/share/ghidra
+
+ # remove precompiled 7zip native libs for x86_64 Mac, Windows, and glibc
+ # Linux. Ghidra is falling back to using a java implementation on musl
+ # anyway.
+ rm -rf "$pkgdir"/usr/share/ghidra/Ghidra/Features/FileFormats/data/sevenzipnativelibs
+
+ install -Dm755 "$srcdir"/ghidra.sh "$pkgdir"/usr/bin/ghidra
+ ln -s /usr/share/ghidra/support/analyzeHeadless "$pkgdir"/usr/bin/ghidra-headless
+ install -Dm644 \
+ Ghidra/Framework/Gui/src/main/resources/images/GhidraIcon64.png \
+ "$pkgdir"/usr/share/icons/hicolor/64x64/apps/$pkgname.png
+ install -Dm 644 $srcdir/ghidra.desktop -t $pkgdir/usr/share/applications
+}
+
+tutorials() {
+ pkgdesc="Ghidra tutorial files"
+ # dependency dump:
+ # openjdk17-jdk
+ # wmname
+ # so:libgcc_s.so.1
+ # so:libstdc++.so.6
+ # the tutorials subpackage contains exmaples linked against glibc
+ # which are ment to be decompiled by ghidra
+ options="!strip !tracedeps"
+
+ amove usr/share/ghidra/docs/GhidraClass
+}
+
+doc() {
+ default_doc
+
+ amove usr/share/ghidra/docs
+}
+
+sha512sums="
+9c6ad91a71ea49ce90bff422f45d2ad076898d618614b7aded6dfabf8660ccf05fc6579e4f41d50e49ea6c1dc88c03260ff63210d411e405f88aa78bb2cce29b Ghidra_11.0_build.tar.gz
+f0d87188e4b90cf64f86130cb479dea640328f2f91d27f0af085fcb9262255cdc34f50b997365c2d6ca3d97b98ac62587e89f48cbd29d4ce6cca0b1b76ec39c7 use-system-protoc.patch
+b075d5ac821bf4ed052acada45b882876a5493ab03cfa4d0537c4c5f27b666aa2b37de9ff561313b025f9d16b06b9ad17d59287ecf205c02798dbca2bc04925f ghidra.sh
+a85b8b3276e2ff4ed8bda6470c15d02711ebaa48463c775cd2a36549fad738e9fe073dab80f8c57646490ffc959cdc27e9d25b1dc2a5810b0ddb249b5dc99a9b ghidra.desktop
+"
diff --git a/testing/ghidra/ghidra.desktop b/testing/ghidra/ghidra.desktop
new file mode 100644
index 00000000000..f5d46dc9f4a
--- /dev/null
+++ b/testing/ghidra/ghidra.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=Ghidra
+Comment=Software reverse engineering framework
+Exec=ghidra
+Icon=ghidra
+Categories=Utility;
+Terminal=false
diff --git a/testing/ghidra/ghidra.sh b/testing/ghidra/ghidra.sh
new file mode 100644
index 00000000000..efa7ffde842
--- /dev/null
+++ b/testing/ghidra/ghidra.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+wmname LG3D
+AWT_TOOLKIT=MToolkit exec /usr/share/ghidra/ghidraRun "$@"
diff --git a/testing/ghidra/use-system-protoc.patch b/testing/ghidra/use-system-protoc.patch
new file mode 100644
index 00000000000..8dc0809b737
--- /dev/null
+++ b/testing/ghidra/use-system-protoc.patch
@@ -0,0 +1,97 @@
+diff --git a/Ghidra/Debug/Debugger-rmi-trace/build.gradle b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
+index 40fbc17ab06..17de41dc95c 100644
+--- a/Ghidra/Debug/Debugger-rmi-trace/build.gradle
++++ b/Ghidra/Debug/Debugger-rmi-trace/build.gradle
+@@ -44,12 +44,8 @@ task generateProtoPy {
+ ext.outdir = file("build/generated/source/proto/main/py")
+ outputs.dir(outdir)
+ inputs.files(src)
+- dependsOn(configurations.protocArtifact)
+ doLast {
+- def exe = configurations.protocArtifact.first()
+- if (!isCurrentWindows()) {
+- exe.setExecutable(true)
+- }
++ def exe = "protoc"
+ exec {
+ commandLine exe, "--python_out=$outdir", "-I$srcdir"
+ args src
+diff --git a/Ghidra/Debug/Framework-AsyncComm/Module.manifest b/Ghidra/Debug/Framework-AsyncComm/Module.manifest
+index 89174007c96..582747e6540 100644
+--- a/Ghidra/Debug/Framework-AsyncComm/Module.manifest
++++ b/Ghidra/Debug/Framework-AsyncComm/Module.manifest
+@@ -1 +1 @@
+-MODULE FILE LICENSE: lib/protobuf-java-3.21.8.jar BSD-3-GOOGLE
++MODULE FILE LICENSE: lib/protobuf-java-3.24.4.jar BSD-3-GOOGLE
+diff --git a/Ghidra/Debug/Framework-AsyncComm/build.gradle b/Ghidra/Debug/Framework-AsyncComm/build.gradle
+index a84e1568088..5ff4fa75eee 100644
+--- a/Ghidra/Debug/Framework-AsyncComm/build.gradle
++++ b/Ghidra/Debug/Framework-AsyncComm/build.gradle
+@@ -22,7 +22,7 @@ apply plugin: 'eclipse'
+ eclipse.project.name = 'Debug Framework-AsyncComm'
+
+ dependencies {
+- api 'com.google.protobuf:protobuf-java:3.21.8'
++ api 'com.google.protobuf:protobuf-java:3.24.4'
+ api project(':Generic')
+ api project(':Graph')
+ api project(':ProposedUtils')
+diff --git a/gradle/debugger/hasProtobuf.gradle b/gradle/debugger/hasProtobuf.gradle
+index 23b4ce74bb1..0d9194f53d1 100644
+--- a/gradle/debugger/hasProtobuf.gradle
++++ b/gradle/debugger/hasProtobuf.gradle
+@@ -17,40 +17,10 @@
+ id 'com.google.protobuf' version '0.8.10'
+ }*/
+
+-configurations {
+- allProtocArtifacts
+- protocArtifact
+-}
+-
+ def platform = getCurrentPlatformName()
+
+
+ dependencies {
+- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
+- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
+- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
+- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
+- allProtocArtifacts 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
+-
+- if (isCurrentWindows()) {
+- protocArtifact 'com.google.protobuf:protoc:3.21.8:windows-x86_64@exe'
+- }
+- if (isCurrentLinux()) {
+- if (platform.endsWith("x86_64")) {
+- protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-x86_64@exe'
+- }
+- else {
+- protocArtifact 'com.google.protobuf:protoc:3.21.8:linux-aarch_64@exe'
+- }
+- }
+- if (isCurrentMac()) {
+- if (platform.endsWith("x86_64")) {
+- protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-x86_64@exe'
+- }
+- else {
+- protocArtifact 'com.google.protobuf:protoc:3.21.8:osx-aarch_64@exe'
+- }
+- }
+ }
+
+ /*protobuf {
+@@ -67,12 +37,8 @@ task generateProto {
+ ext.outdir = file("build/generated/source/proto/main/java")
+ outputs.dir(outdir)
+ inputs.files(src)
+- dependsOn(configurations.protocArtifact)
+ doLast {
+- def exe = configurations.protocArtifact.first()
+- if (!isCurrentWindows()) {
+- exe.setExecutable(true)
+- }
++ def exe = "protoc"
+ exec {
+ commandLine exe, "--java_out=$outdir", "-I$srcdir"
+ args src
diff --git a/testing/ghq/APKBUILD b/testing/ghq/APKBUILD
new file mode 100644
index 00000000000..f90e63f53ca
--- /dev/null
+++ b/testing/ghq/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=ghq
+pkgver=1.5.0
+pkgrel=2
+pkgdesc="CLI to manage remote repository clones"
+url="https://github.com/x-motemen/ghq"
+arch="all"
+license="MIT"
+makedepends="asciidoctor go"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/x-motemen/ghq/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -ldflags "-X main.revision=AlpineLinux"
+
+ sed -i '1 s/^.*$/= ghq(1)/' README.adoc
+ asciidoctor -b manpage README.adoc
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 ghq -t "$pkgdir"/usr/bin/
+
+ install -Dvm644 ghq.1 -t "$pkgdir"/usr/share/man/man1/
+ install -Dvm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+
+ install -Dm644 misc/bash/_ghq \
+ "$pkgdir"/usr/share/bash-completion/completions/ghq
+ install -Dm644 misc/zsh/_ghq \
+ "$pkgdir"/usr/share/zsh/site-functions/_ghq
+}
+
+sha512sums="
+b626b86bbad033252902c2f6978d767e33d51e5f5643c39daea930b65b253824ff9b777688d36bc178117bcbe40de6d2d9f3322f38ed1d195d2eacf5e15ec625 ghq-1.5.0.tar.gz
+"
diff --git a/testing/ginac/APKBUILD b/testing/ginac/APKBUILD
index 4ab803cb29f..ccbec4f223e 100755..100644
--- a/testing/ginac/APKBUILD
+++ b/testing/ginac/APKBUILD
@@ -1,27 +1,33 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=ginac
-pkgver=1.8.1
-pkgrel=0
+pkgver=1.8.7
+pkgrel=1
pkgdesc="C++ library for symbolic computations"
url="https://www.ginac.de/"
-arch="all !armv7 !armhf !mips64" # no cln
-license="GPL"
-makedepends="cmake cln-dev flex bison readline-dev python3 texinfo"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="cmake cln-dev flex bison readline-dev python3 texinfo samurai"
subpackages="$pkgname-dev $pkgname-doc"
source="https://www.ginac.de/ginac-$pkgver.tar.bz2"
+case "$CARCH" in
+ x86) options="!check";; # 36 - check_cra (Subprocess aborted)
+esac
+
build() {
- cmake -B build \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ cmake -B build -G Ninja -Wno-dev \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_PREFIX_PATH=/usr \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
+ cmake --build build --target all test_suite
}
check() {
- cmake --build build --target check
+ ctest --test-dir build --output-on-failure -j${JOBS:-2}
}
package() {
@@ -29,5 +35,5 @@ package() {
}
sha512sums="
-95e4a38dd44fd898f37cd8cdbdf0af711bf59b9db31fdb8ee728183f3b8f5dd262632182c925a520c7a0fa0c6f20862e76672f8c668286c7753e7d672247e515 ginac-1.8.1.tar.bz2
+29a5dbe1fa8a40668a32eb0065d1f676b074222d76ed70a05c5841a4be92c4b1a019ae3fc820e1c7007e641ef8ef94d00adab901f89673df0d372a4c8af8e51a ginac-1.8.7.tar.bz2
"
diff --git a/testing/ginger/APKBUILD b/testing/ginger/APKBUILD
index 1b1f2b30d51..f44183745e6 100644
--- a/testing/ginger/APKBUILD
+++ b/testing/ginger/APKBUILD
@@ -2,16 +2,16 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=ginger
pkgver=2.4.0
-pkgrel=4
+pkgrel=7
pkgdesc="WoK plugin for host management"
url="https://kimchi-project.github.io/ginger"
-arch="noarch !mips64 !s390x !riscv64" # blocked by wok
+arch="noarch !s390x !riscv64" # blocked by wok
license="Apache LGPL-2.1"
depends="py3-configobj py3-pyparted wok"
makedepends="automake autoconf libtool
python3-dev gettext-dev py3-pyflakes libxslt"
options="!check" # depends on unit2
-subpackages="$pkgname-lang"
+subpackages="$pkgname-lang $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/kimchi-project/ginger/archive/$pkgver.tar.gz"
prepare() {
diff --git a/testing/gingerbase/APKBUILD b/testing/gingerbase/APKBUILD
index 7f14f8d735a..7252fb20d73 100644
--- a/testing/gingerbase/APKBUILD
+++ b/testing/gingerbase/APKBUILD
@@ -2,16 +2,16 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=gingerbase
pkgver=2.3.0
-pkgrel=4
+pkgrel=7
pkgdesc="Gingerbase: basic host management for WoK"
url="https://kimchi-project.github.io/gingerbase/"
-arch="noarch !mips !mips64 !s390x !riscv64" # blocked by wok
+arch="noarch !s390x !riscv64" # blocked by wok
license="AGPL-2.1"
depends="py3-configobj py3-pyparted wok"
makedepends="automake autoconf libtool
python3-dev gettext-dev py3-pyflakes libxslt"
options="!check" # depends on unit2
-subpackages="$pkgname-lang"
+subpackages="$pkgname-lang $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/kimchi-project/gingerbase/archive/$pkgver.tar.gz"
prepare() {
diff --git a/testing/git-bug/APKBUILD b/testing/git-bug/APKBUILD
new file mode 100644
index 00000000000..5509907b472
--- /dev/null
+++ b/testing/git-bug/APKBUILD
@@ -0,0 +1,67 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=git-bug
+pkgver=0.8.0
+pkgrel=11
+pkgdesc="Distributed, offline-first bug tracker embedded in git, with bridges"
+url="https://github.com/MichaelMure/git-bug"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ go
+ npm
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+source="
+ git-bug-$pkgver.tar.gz::https://github.com/MichaelMure/git-bug/archive/v$pkgver.tar.gz
+ fix-tests.patch
+ Makefile.patch
+ "
+options="net"
+
+export GIT_COMMIT=v$pkgver
+export GIT_LAST_TAG=v$pkgver
+export GIT_EXACT_TAG=v$pkgver
+
+export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+
+ npm ci --prefix webui
+}
+
+build() {
+ make pack-webui
+ make
+}
+
+check() {
+ make test
+ cd webui
+ make test
+}
+
+package() {
+ install -Dm755 git-bug "$pkgdir"/usr/bin/git-bug
+
+ install -Dm 644 misc/completion/bash/git-bug "$pkgdir"/usr/share/bash-completion/completions/git-bug
+ install -Dm 644 misc/completion/fish/git-bug "$pkgdir"/usr/share/fish/vendor_completions.d/git-bug.fish
+ install -Dm 644 misc/completion/zsh/git-bug "$pkgdir"/usr/share/zsh/site-functions/_git-bug
+
+ install -Dm 644 doc/man/*.1 -t "$pkgdir"/usr/share/man/man1
+}
+
+sha512sums="
+85456c916f72c0d2764ccd09418d2db91a9aeed48182de12d6aaec7cd021c55ec323822e4aa9347739cfe232ff2287e1bc7adca37ff2574d822b78fc75121d83 git-bug-0.8.0.tar.gz
+54788f03849ea4022e942355024458008590f8b08c5d5e5a4b1255a461e4b3cce7242d97c948b6411613a3d6cd8b576ca58a49858a00206a91f6f83ca76f32fc fix-tests.patch
+fed7c606b146976cf2c3fc4c2849ae81e8f1dd17505863dcf5dcbafd4715a96d3a1984124e27c70b6a6aaf09f22a5b957fdfde7725132c8b775bdf5a6bce0a24 Makefile.patch
+"
diff --git a/testing/git-bug/Makefile.patch b/testing/git-bug/Makefile.patch
new file mode 100644
index 00000000000..131d1db3973
--- /dev/null
+++ b/testing/git-bug/Makefile.patch
@@ -0,0 +1,14 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,8 +1,8 @@
+ all: build
+
+-GIT_COMMIT:=$(shell git rev-list -1 HEAD)
+-GIT_LAST_TAG:=$(shell git describe --abbrev=0 --tags)
+-GIT_EXACT_TAG:=$(shell git name-rev --name-only --tags HEAD)
++GIT_COMMIT?=$(shell git rev-list -1 HEAD)
++GIT_LAST_TAG?=$(shell git describe --abbrev=0 --tags)
++GIT_EXACT_TAG?=$(shell git name-rev --name-only --tags HEAD)
+ UNAME_S := $(shell uname -s)
+ XARGS:=xargs -r
+ ifeq ($(UNAME_S),Darwin)
diff --git a/testing/git-bug/fix-tests.patch b/testing/git-bug/fix-tests.patch
new file mode 100644
index 00000000000..515bdcfb538
--- /dev/null
+++ b/testing/git-bug/fix-tests.patch
@@ -0,0 +1,40 @@
+See:
+
+* https://github.com/MichaelMure/git-bug/issues/926
+* https://github.com/MichaelMure/git-bug/pull/984
+
+diff --git a/commands/add_test.go b/commands/add_test.go
+index 077995a6..d603e79a 100644
+--- a/commands/add_test.go
++++ b/commands/add_test.go
+@@ -4,12 +4,29 @@ import (
+ "strings"
+ "testing"
+
++ "github.com/fatih/color"
+ "github.com/stretchr/testify/require"
+ )
+
+ func newTestEnvAndBug(t *testing.T) (*testEnv, string) {
+ t.Helper()
+
++ // The Go testing framework either uses os.Stdout directly or a buffer
++ // depending on how the command is initially launched. This results
++ // in os.Stdout.Fd() sometimes being a Terminal, and other times not
++ // being a Terminal which determines whether the ANSI library sends
++ // escape sequences to colorize the text.
++ //
++ // The line below disables all colorization during testing so that the
++ // git-bug command output is consistent in all test scenarios.
++ //
++ // See:
++ // - https://github.com/MichaelMure/git-bug/issues/926
++ // - https://github.com/golang/go/issues/57671
++ // - https://github.com/golang/go/blob/f721fa3be9bb52524f97b409606f9423437535e8/src/cmd/go/internal/test/test.go#L1180-L1208
++ // - https://github.com/golang/go/issues/34877
++ color.NoColor = true
++
+ testEnv, _ := newTestEnvAndUser(t)
+ opts := addOptions{
+ title: "this is a bug title",
+
diff --git a/testing/git-cola/APKBUILD b/testing/git-cola/APKBUILD
index 9197677bd67..818a9245240 100644
--- a/testing/git-cola/APKBUILD
+++ b/testing/git-cola/APKBUILD
@@ -1,31 +1,36 @@
# Contributor: Kiyoshi Aman <kiyoshi.aman@gmail.com>
# Maintainer:
pkgname=git-cola
-pkgver=3.10.1
+pkgver=4.4.1
pkgrel=1
-pkgdesc="GUI application for git built on Python & Qt5"
+pkgdesc="GUI application for git built on Python & Qt"
url="https://git-cola.github.io"
-arch="noarch !armhf" # qtdeclarative
+arch="noarch !armhf !riscv64" # py3-qt6
license="GPL-2.0-or-later"
-depends="python3 py3-qt5"
-checkdepends="py3-nose"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+depends="python3 py3-qt6 py3-qtpy"
+makedepends="py3-setuptools py3-setuptools_scm py3-gpep517 py3-installer py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-doc $pkgname-pyc"
source="git-cola-$pkgver.tar.gz::https://github.com/git-cola/git-cola/archive/v$pkgver.tar.gz"
# testsuite hangs after a while.
options="!check"
build() {
- make PYTHON=python3
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 1
}
+
check() {
- make PYTHON=python3 test
+ pytest
}
package() {
- make PYTHON=python3 prefix=/usr DESTDIR="$pkgdir" install
+ python3 -m installer -d "$pkgdir" \
+ .dist/git_cola*.whl
}
sha512sums="
-79496023bfaa05049079eec2cdaf8449a6598faebedb4a13acf178209edc63e725eb1b003700a1dcfee09072d34e5a49d7053f070e45b498562cc124cd0582d4 git-cola-3.10.1.tar.gz
+3e4e1cb8cd148b34e663c72c6b3d1e887815b5a86558ffbf13a19a5dfd3fb6b37c123290dc514b6f098893587dc67ca34424aaad5482768795e353f0efe92797 git-cola-4.4.1.tar.gz
"
diff --git a/testing/git-extras/APKBUILD b/testing/git-extras/APKBUILD
index 53fe55dac9c..0810196e54b 100644
--- a/testing/git-extras/APKBUILD
+++ b/testing/git-extras/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=git-extras
-pkgver=6.3.0
+pkgver=7.1.0
pkgrel=0
pkgdesc="Little git extras"
url="https://github.com/tj/git-extras"
@@ -16,7 +16,7 @@ package() {
GIT_CONFIG=/dev/null \
make install DESTDIR="$pkgdir" PREFIX=/usr SYSCONFDIR=/etc install
- rm -Rf "$pkgdir"/etc/bash_completion.d
+ rm -Rf "$pkgdir"/etc/bash-completion
install -D -m644 etc/bash_completion.sh \
"$pkgdir"/usr/share/bash-completion/completions/$pkgname
@@ -29,5 +29,5 @@ package() {
}
sha512sums="
-2be0a6f3f3907754638ffd975b0b28908e8c9490418fa170f47a73a2cdc9d0b8fd5d11e4734440ffe3114cd63aa7decf8b1cafc78a63d2794d06f7fcd2925ead git-extras-6.3.0.tar.gz
+955161b40c48ab92578efe487db78ea8d0fff499aaf8d4da2b13e8194a7f9297a84542c8642dd3a7c61c9a4d1e92342b5c586d341e4a003c9838d5e9731127b9 git-extras-7.1.0.tar.gz
"
diff --git a/testing/git-filter-repo/10-no-version-test.patch b/testing/git-filter-repo/10-no-version-test.patch
new file mode 100644
index 00000000000..234ba6faae8
--- /dev/null
+++ b/testing/git-filter-repo/10-no-version-test.patch
@@ -0,0 +1,17 @@
+Link: https://github.com/newren/git-filter-repo/issues/513
+
+--- a/t/t9390-filter-repo.sh
++++ b/t/t9390-filter-repo.sh
+@@ -1800,12 +1800,6 @@
+ )
+ '
+
+-test_expect_success '--version' '
+- git filter-repo --version >actual &&
+- git hash-object ../../git-filter-repo | cut -c 1-12 >expect &&
+- test_cmp expect actual
+-'
+-
+ test_expect_success 'empty author ident' '
+ test_create_repo empty_author_ident &&
+ (
diff --git a/testing/git-filter-repo/20-git-filter-repo.patch b/testing/git-filter-repo/20-git-filter-repo.patch
new file mode 100644
index 00000000000..fe9dfa70dcf
--- /dev/null
+++ b/testing/git-filter-repo/20-git-filter-repo.patch
@@ -0,0 +1,17 @@
+--- a/git-filter-repo
++++ b/git-filter-repo
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python3
++#!/usr/bin/python3
+
+ """
+ git-filter-repo filters git repositories, similar to git filter-branch, BFG
+@@ -64,7 +64,7 @@
+
+ def setup_gettext():
+ TEXTDOMAIN="git-filter-repo"
+- podir = os.environ.get("GIT_TEXTDOMAINDIR") or "@@LOCALEDIR@@"
++ podir = os.environ.get("GIT_TEXTDOMAINDIR") or "/usr/share/locale"
+ if not os.path.isdir(podir): # pragma: no cover
+ podir = None # Python has its own fallback; use that
+
diff --git a/testing/git-filter-repo/APKBUILD b/testing/git-filter-repo/APKBUILD
new file mode 100644
index 00000000000..0bfe8937a25
--- /dev/null
+++ b/testing/git-filter-repo/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Lennart Jablonka <humm@ljabl.com>
+# Maintainer: Lennart Jablonka <humm@ljabl.com>
+pkgname=git-filter-repo
+pkgver=2.38.0
+pkgrel=0
+pkgdesc="quickly rewrite git repository history"
+url="https://github.com/newren/git-filter-repo"
+arch="noarch"
+license="MIT"
+source="
+ 10-no-version-test.patch
+ 20-git-filter-repo.patch
+ https://github.com/newren/git-filter-repo/releases/download/v$pkgver/git-filter-repo-$pkgver.tar.xz
+"
+depends="python3 git"
+checkdepends="bash perl rsync"
+subpackages="$pkgname-doc"
+
+check() {
+ ./t/run_tests
+}
+
+package() {
+ install -Dm755 git-filter-repo "$pkgdir"/usr/bin/git-filter-repo
+ local site=$(python3 -c 'import site; print(site.getsitepackages()[0])')
+ mkdir -p "$pkgdir$site"
+ ln -s -f /usr/bin/git-filter-repo "$pkgdir$site"/git_filter_repo.py
+ install -Dm644 Documentation/man1/git-filter-repo.1 "$pkgdir"/usr/share/man/man1/git-filter-repo.1
+}
+
+sha512sums="
+4dafe4458d2f7416d80269c38318f43eda1c389d9abbbdf9f7d4e8762917d774de119cd8792c192ee8e033e5381857450330ecd3320d87e5fc94423859642863 10-no-version-test.patch
+6591ce9c93efbb1f534784daf2867cf03da43aeda70e25861f26cf31bd638cc3ecccacae14462917749ad0eabcfec386d800ad08558c980d1c6263b84ebd015f 20-git-filter-repo.patch
+786c27c1952a5e3625c924e71958cfd61d9065d32754a3e957f258767ccb5b147778c5d499eb82c7c1bf36a2f5a50b1cde372ebbc927aeeedbd713e5ab6563d8 git-filter-repo-2.38.0.tar.xz
+"
diff --git a/testing/git-revise/APKBUILD b/testing/git-revise/APKBUILD
new file mode 100644
index 00000000000..2386c957d86
--- /dev/null
+++ b/testing/git-revise/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer:
+pkgname=git-revise
+pkgver=0.7.0
+pkgrel=4
+pkgdesc="Handy tool for doing efficient in-memory commit rebases & fixups with git"
+url="https://github.com/mystor/git-revise"
+arch="noarch"
+license="MIT"
+depends="python3 git"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest py3-pytest-xdist py3-tox"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mystor/git-revise/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # tests fail to import self when not system installed
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+2c61df0854b20319286aa6bf663b3a1a1bcddb4b8aa144ce7850fe5a32a26ad861898d00b423a7fe7ace60b7964149470ad2c144eed2b3e1119df0c34acbe04d git-revise-0.7.0.tar.gz
+"
diff --git a/testing/git-secret/APKBUILD b/testing/git-secret/APKBUILD
index b6ec68fabed..8b9ac61e626 100644
--- a/testing/git-secret/APKBUILD
+++ b/testing/git-secret/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=git-secret
-pkgver=0.4.0
+pkgver=0.5.0
pkgrel=0
pkgdesc="A bash-tool to store your private data inside a git repository"
url="https://git-secret.io/"
@@ -26,5 +26,5 @@ package() {
}
sha512sums="
-d38d923bb761730979353869cd932db19b854120ea3ab4c415c8a08f55f4e42e07b76270117d5cad412a7c54dfdd2dc50694b5e41abf654ae07fea00775eee12 git-secret-0.4.0.tar.gz
+c685ee4d7b7d247c37805fc3a16c431eff7f6740899d65f9178514b99e84ff83cb59330e6fb73da627f00bb60d0cca76da8b31004fcc3926dcee3fed15d65b85 git-secret-0.5.0.tar.gz
"
diff --git a/testing/git-warp-time/APKBUILD b/testing/git-warp-time/APKBUILD
deleted file mode 100644
index 951d8d10138..00000000000
--- a/testing/git-warp-time/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=git-warp-time
-pkgver=0.4.4
-pkgrel=0
-pkgdesc="Reset timestamps of Git repository files to the time of the last modifying commit"
-url="https://github.com/alerque/git-warp-time"
-license="GPL-3.0-only"
-arch="all !s390x !riscv64" # blocked by rust/cargo
-makedepends="cargo"
-subpackages="$pkgname-bash-completion $pkgname-fish-completion $pkgname-zsh-completion"
-source="https://github.com/alerque/git-warp-time/archive/v$pkgver/git-warp-time-$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked --all-features
-}
-
-check() {
- cargo test --release --locked --all-features
-}
-
-package() {
- install -Dm755 target/release/git-warp-time "$pkgdir"/usr/bin/git-warp-time
-
- # shell completions
- find target/release -name $pkgname.bash \
- -exec install -Dm644 {} "$pkgdir"/usr/share/bash-completion/completions/$pkgname \;
- find target/release -name $pkgname.fish \
- -exec install -Dm644 {} "$pkgdir"/usr/share/fish/completions/$pkgname.fish \;
- find target/release -name _$pkgname \
- -exec install -Dm644 {} "$pkgdir"/usr/share/zsh/site-functions/_$pkgname \;
-}
-
-sha512sums="
-e9529e4d628664d84f0a76de5ab2c206829be2ee431b21b566fe164528362d5864e1cb79907008ae9fd94fb769ba74b5a758864793fcc5614d5699ebda28330f git-warp-time-0.4.4.tar.gz
-"
diff --git a/testing/git2json/APKBUILD b/testing/git2json/APKBUILD
index 260d6b742eb..a4bf4131111 100644
--- a/testing/git2json/APKBUILD
+++ b/testing/git2json/APKBUILD
@@ -1,23 +1,28 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=git2json
pkgver=0.2.3
-pkgrel=4
+pkgrel=8
pkgdesc="Convert git logs to JSON for easier analysis"
url="https://github.com/tarmstrong/git2json"
arch="noarch"
license="BSD-3-Clause"
-depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/g/git2json/git2json-$pkgver.tar.gz"
-
+options="!check" # no tests included
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="3bac219c79b25a4e0e41c250214131911a7e207c1908a81316eab546df538e03dda2446f8c74a337f502deacf61c61cc76062f85f2313d29d3b6c5059447582d git2json-0.2.3.tar.gz"
+sha512sums="
+3bac219c79b25a4e0e41c250214131911a7e207c1908a81316eab546df538e03dda2446f8c74a337f502deacf61c61cc76062f85f2313d29d3b6c5059447582d git2json-0.2.3.tar.gz
+"
diff --git a/testing/gitoxide/APKBUILD b/testing/gitoxide/APKBUILD
new file mode 100644
index 00000000000..32eb8bd4b76
--- /dev/null
+++ b/testing/gitoxide/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=gitoxide
+pkgver=0.14.0
+pkgrel=1
+pkgdesc="An idiomatic, lean, fast & safe pure Rust implementation of Git"
+url="https://github.com/Byron/gitoxide"
+# armhf, armv7, ppc64le, s390x: fails to build crate sha1-asm
+# riscv64: zlib-ng-dev is not available yet
+arch="all !armhf !armv7 !ppc64le !riscv64 !s390x"
+license="Apache-2.0 OR MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ curl-dev
+ zlib-dev
+ zlib-ng-dev
+ "
+checkdepends="
+ bash
+ git-daemon
+ xz-dev
+ "
+source="https://github.com/Byron/gitoxide/archive/v$pkgver/gitoxide-$pkgver.tar.gz
+ system-curl.patch
+ zlib-ng.patch
+ skip-online-tests.patch
+ "
+
+options="!check" # tests need update to new version
+
+# unwind is required to assure that destructors are called, important for
+# tempfiles (comment from Cargo.toml).
+export CARGO_PROFILE_RELEASE_PANIC="unwind"
+
+_cargo_opts="--frozen --no-default-features --features lean"
+
+
+prepare() {
+ default_prepare
+
+ # Rust target triple.
+ local target=$(rustc -vV | sed -n 's/host: //p')
+
+ # Build against system-provided libz-ng.
+ mkdir -p .cargo
+ cat >> .cargo/config.toml <<-EOF
+ [target.$target]
+ z-ng = { rustc-link-lib = ["z-ng"], rustc-cfg = ["zng"] }
+ EOF
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build $_cargo_opts --release
+}
+
+check() {
+ # CI - skip tests that require TTY.
+ CI=1 make journey-tests
+}
+
+package() {
+ install -D -m755 target/release/gix -t "$pkgdir"/usr/bin/
+ install -D -m755 target/release/ein -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+2bd4c20a71ef3f37e37ef54d271fa5df9f43b7b396923e581ce1ae5f9b87969eabdc300267f365aeb5c06f83f2ccc68e2f709bee006ee54a6e65774f93979642 gitoxide-0.14.0.tar.gz
+e512f0b9904b57b181a5d203ffbed85bd2aed6db44b255bc7e370ec6ef94d0d6dbe8f62b334e8d7b980728cc10f7a3fd694487a73031e8a953604d2e2f1d9192 system-curl.patch
+ad2b931dfcecbf099d3b6c1abc4e9522016f60486b20f23a73bac55fe3061aa97236e877c53a1b1709495885e5f820a721c9d1a86dd99d72e09e21758135b50e zlib-ng.patch
+eabb202211c28ed6209522f39b6ae32e0f51c9ed71943c41a18550f236064f676b1b88d6ff0baa5490c7e76bea43ba06f04653824a6af50355d4eb6cfc92cf9e skip-online-tests.patch
+"
diff --git a/testing/gitoxide/skip-online-tests.patch b/testing/gitoxide/skip-online-tests.patch
new file mode 100644
index 00000000000..e064ae63336
--- /dev/null
+++ b/testing/gitoxide/skip-online-tests.patch
@@ -0,0 +1,20 @@
+--- a/tests/journey/gix.sh
++++ b/tests/journey/gix.sh
+@@ -205,7 +205,7 @@
+ )
+ )
+ )
+- (on_ci
++ (CI= on_ci
+ if test "$kind" = "max"; then
+ (with "https:// protocol"
+ (with "version 1"
+@@ -584,7 +584,7 @@
+ }
+ )
+ fi
+- (on_ci
++ (CI= on_ci
+ if [[ "$kind" = "max" ]]; then
+ (with "https:// protocol"
+ (with "version 1"
diff --git a/testing/gitoxide/system-curl.patch b/testing/gitoxide/system-curl.patch
new file mode 100644
index 00000000000..400e7f14f80
--- /dev/null
+++ b/testing/gitoxide/system-curl.patch
@@ -0,0 +1,27 @@
+--- a/git-transport/Cargo.toml
++++ b/git-transport/Cargo.toml
+@@ -70 +70 @@
+-curl = { version = "0.4", optional = true, features = ["static-curl", "static-ssl", "zlib-ng-compat"] }
++curl = { version = "0.4", optional = true }
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -2230,13 +2230,4 @@
+
+ [[package]]
+-name = "openssl-src"
+-version = "111.22.0+1.1.1q"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8f31f0d509d1c1ae9cada2f9539ff8f37933831fd5098879e482aa687d659853"
+-dependencies = [
+- "cc",
+-]
+-
+-[[package]]
+ name = "openssl-sys"
+ version = "0.9.74"
+@@ -2247,5 +2238,4 @@
+ "cc",
+ "libc",
+- "openssl-src",
+ "pkg-config",
+ "vcpkg",
diff --git a/testing/gitoxide/zlib-ng.patch b/testing/gitoxide/zlib-ng.patch
new file mode 100644
index 00000000000..b1570e11879
--- /dev/null
+++ b/testing/gitoxide/zlib-ng.patch
@@ -0,0 +1,52 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sat, 20 Aug 2022 00:09:00 +0200
+Subject: [PATCH] Build with native zlib-ng (no compat)
+
+Use zlib-ng (libz-ng-sys) with native API (no compat mode) that can
+co-exist with system libz (loaded by e.g. libcurl).
+
+--- a/git-features/Cargo.toml
++++ b/git-features/Cargo.toml
+@@ -46,2 +46,4 @@
+ zlib-rust-backend = ["flate2/rust_backend"]
++## Use zlib-ng (libz-ng-sys) with native API (no compat mode) that can co-exist with system libz.
++zlib-ng = ["flate2/zlib-ng"]
+
+--- a/git-repository/Cargo.toml
++++ b/git-repository/Cargo.toml
+@@ -66,3 +66,2 @@
+ "git-features/parallel",
+- "git-features/zlib-ng-compat",
+ "git-pack/pack-cache-lru-static",
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -33 +33 @@
+-fast = ["git-features/parallel", "git-features/fast-sha1", "git-features/zlib-ng-compat", "git-repository/max-performance"]
++fast = ["git-features/parallel", "git-features/fast-sha1", "git-features/zlib-ng", "git-repository/max-performance"]
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -911,6 +911,7 @@
+ checksum = "f82b0f4c27ad9f8bfd1f3208d882da2b09c301bc1c828fd3a00d0216d2fbbff6"
+ dependencies = [
+ "crc32fast",
++ "libz-ng-sys",
+ "libz-sys",
+ "miniz_oxide",
+ ]
+@@ -2005,6 +2006,16 @@
+ "openssl-sys",
+ "pkg-config",
+ "vcpkg",
++]
++
++[[package]]
++name = "libz-ng-sys"
++version = "1.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4399ae96a9966bf581e726de86969f803a81b7ce795fcd5480e640589457e0f2"
++dependencies = [
++ "cmake",
++ "libc",
+ ]
+
+ [[package]]
diff --git a/testing/glacier-browser/APKBUILD b/testing/glacier-browser/APKBUILD
deleted file mode 100644
index 25ab53f60bf..00000000000
--- a/testing/glacier-browser/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=glacier-browser
-pkgver=0.1.1
-pkgrel=0
-pkgdesc="The Glacier browser"
-url="https://github.com/nemomobile-ux/glacier-browser"
-# armhf blocked by qt5-qtdeclarative
-# s390x, ppc64le and riscv64 blocked by qt5-qtwebengine-dev
-arch="all !armhf !s390x !ppc64le !riscv64"
-license="GPL-2.0-only"
-depends="
- qt5-qtbase-sqlite
- qtquickcontrols-nemo
- "
-makedepends="
- cmake
- libglacierapp-dev
- qt5-qtbase-dev
- qt5-qtdeclarative-dev
- qt5-qttools-dev
- qt5-qtwebengine-dev
- "
-source="https://github.com/nemomobile-ux/glacier-browser/archive/$pkgver/glacier-browser-$pkgver.tar.gz"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-d4ee59f7f21cbfb4279bfdef2aa244898d669b476f63ad9e34665a4384347125c8069768f564071ae621995aa1bd8536db79c582203dfa93b7a65aac890f20f5 glacier-browser-0.1.1.tar.gz
-"
diff --git a/testing/glfw-wayland/APKBUILD b/testing/glfw-wayland/APKBUILD
index bd14c045099..d9717e7a25a 100644
--- a/testing/glfw-wayland/APKBUILD
+++ b/testing/glfw-wayland/APKBUILD
@@ -1,18 +1,27 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer: rfaa <rfaa@rfaa.se>
pkgname=glfw-wayland
-pkgver=3.3.4
-pkgrel=0
+pkgver=3.3.8
+pkgrel=3
pkgdesc="Multi-platform library for OpenGL and Vulkan application development (Wayland)"
options="!check" # tests requires a working wayland session
url="https://www.glfw.org/"
arch="all !armhf" # Limited by extra-cmake-modules
license="Zlib"
-depends_dev="linux-headers mesa-dev extra-cmake-modules wayland-dev wayland-protocols
- libxkbcommon-dev"
-makedepends="$depends_dev cmake"
-subpackages="$pkgname-dev"
-source="glfw-$pkgver.tar.gz::https://github.com/glfw/glfw/archive/$pkgver.tar.gz"
+depends_dev="
+ extra-cmake-modules
+ libxkbcommon-dev
+ linux-headers
+ mesa-dev
+ wayland-dev
+ wayland-protocols
+ "
+makedepends="$depends_dev cmake samurai"
+subpackages="$pkgname-dbg $pkgname-dev"
+source="https://github.com/glfw/glfw/releases/download/$pkgver/glfw-$pkgver.zip
+ request-order.patch
+ silence-gigaspam.patch
+ "
builddir="$srcdir/glfw-$pkgver"
provides="glfw=$pkgver-r$pkgrel"
@@ -22,26 +31,22 @@ build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=ON \
- -DGLFW_USE_WAYLAND=ON
- make -C build
+ -DGLFW_USE_WAYLAND=ON \
+ $CMAKE_CROSSOPTS
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-dev() {
- provides="glfw-dev=$pkgver-r$pkgrel"
- replaces="glfw-dev"
-
- default_dev
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-2b45ab72da7a2c007c0f42ccd56205f9684cfb980e2b1df127850cd057bb2b02ce02c7c64acd54cd433778e7017148f214afedf09badff9d2edf5f9b8d9d2701 glfw-3.3.4.tar.gz
+62baab460f22724ed2c63cf71475377f19c0cd086f4e64d46bdd4c8c38035917c7f66c71d27837ba5159ca323a900a6cfa2693e8b06091e73be838a509b278a1 glfw-3.3.8.zip
+326a44497b10b9e9aff3e0bf9e350f63d1a84a8a098fa1c50d1571012a48050546e6b14fa0af9a8bb8ec93be5c5e219f8b88676e5e3f9ea67b5466c48b474a04 request-order.patch
+297b7a444748ba496640553a5aec320a23e7e27e076e2c566801c745631c3cb5d8453c9f28010cd088798f78b2c98867c436627fb776666c04745761edb72b38 silence-gigaspam.patch
"
diff --git a/testing/glfw-wayland/request-order.patch b/testing/glfw-wayland/request-order.patch
new file mode 100644
index 00000000000..4bb04c8cc5a
--- /dev/null
+++ b/testing/glfw-wayland/request-order.patch
@@ -0,0 +1,49 @@
+Patch-Source: https://github.com/glfw/glfw/pull/2348
+--
+From c4d510cf34aec044eeb912054b8892d325d64c6d Mon Sep 17 00:00:00 2001
+From: lo-v-ol <gh@oleg.uk>
+Date: Mon, 5 Jun 2023 08:56:15 +0100
+Subject: [PATCH] EGL: make a request for client version before no_error
+
+mesa egl requires major version >= 2 for GL_CONTEXT_OPENGL_NO_ERROR_KHR,
+so fulfill the request to set client version beforehand.
+
+without this, a few pieces of software in the wild get
+
+ libEGL debug: bad context attribute 0x31b3
+ libEGL debug: EGL user error 0x3004 (EGL_BAD_ATTRIBUTE) in eglCreateContext
+
+when running glfw under wayland.
+---
+ src/egl_context.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/egl_context.c b/src/egl_context.c
+index 58d9557..5c662cb 100644
+--- a/src/egl_context.c
++++ b/src/egl_context.c
+@@ -546,18 +546,18 @@ GLFWbool _glfwCreateContextEGL(_GLFWwindow* window,
+ flags |= EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR;
+ }
+
+- if (ctxconfig->noerror)
+- {
+- if (_glfw.egl.KHR_create_context_no_error)
+- setAttrib(EGL_CONTEXT_OPENGL_NO_ERROR_KHR, GLFW_TRUE);
+- }
+-
+ if (ctxconfig->major != 1 || ctxconfig->minor != 0)
+ {
+ setAttrib(EGL_CONTEXT_MAJOR_VERSION_KHR, ctxconfig->major);
+ setAttrib(EGL_CONTEXT_MINOR_VERSION_KHR, ctxconfig->minor);
+ }
+
++ if (ctxconfig->noerror)
++ {
++ if (_glfw.egl.KHR_create_context_no_error)
++ setAttrib(EGL_CONTEXT_OPENGL_NO_ERROR_KHR, GLFW_TRUE);
++ }
++
+ if (mask)
+ setAttrib(EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, mask);
+
diff --git a/testing/glfw-wayland/silence-gigaspam.patch b/testing/glfw-wayland/silence-gigaspam.patch
new file mode 100644
index 00000000000..e8a47e8c85b
--- /dev/null
+++ b/testing/glfw-wayland/silence-gigaspam.patch
@@ -0,0 +1,28 @@
+this prints a log line for every single client call..
+for applications that call this, it ends up calling this a hundred times a second and printing the same log line
+--
+diff --git a/src/wl_window.c b/src/wl_window.c
+index 53cbd33..cb2a2fb 100644
+--- a/src/wl_window.c
++++ b/src/wl_window.c
+@@ -1959,16 +1959,16 @@ void _glfwPlatformGetWindowPos(_GLFWwindow* window, int* xpos, int* ypos)
+ // A Wayland client is not aware of its position, so just warn and leave it
+ // as (0, 0)
+
+- _glfwInputError(GLFW_PLATFORM_ERROR,
+- "Wayland: Window position retrieval not supported");
++ //_glfwInputError(GLFW_PLATFORM_ERROR,
++ // "Wayland: Window position retrieval not supported");
+ }
+
+ void _glfwPlatformSetWindowPos(_GLFWwindow* window, int xpos, int ypos)
+ {
+ // A Wayland client can not set its position, so just warn
+
+- _glfwInputError(GLFW_PLATFORM_ERROR,
+- "Wayland: Window position setting not supported");
++ //_glfwInputError(GLFW_PLATFORM_ERROR,
++ // "Wayland: Window position setting not supported");
+ }
+
+ void _glfwPlatformGetWindowSize(_GLFWwindow* window, int* width, int* height)
diff --git a/testing/glmark2/APKBUILD b/testing/glmark2/APKBUILD
index 49ac8656419..646983d1646 100644
--- a/testing/glmark2/APKBUILD
+++ b/testing/glmark2/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Danct12 <danct12@disroot.org>
# Maintainer: Danct12 <danct12@disroot.org>
pkgname=glmark2
-pkgver=2020.04
+pkgver=2023.01
pkgrel=0
pkgdesc="OpenGL 2.0 and ES 2.0 benchmark"
url="https://github.com/glmark2/glmark2"
@@ -9,10 +9,7 @@ arch="all"
license="GPL-3.0-or-later"
subpackages="$pkgname-doc"
makedepends="python3 eudev-dev libjpeg-turbo-dev libpng-dev mesa-dev wayland-dev wayland-protocols"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/glmark2/glmark2/archive/$pkgver.tar.gz
- py3-compat.patch
- "
+source="$pkgname-$pkgver.tar.gz::https://github.com/glmark2/glmark2/archive/$pkgver.tar.gz"
options="!check" # no testsuite
prepare() {
@@ -28,5 +25,6 @@ package() {
python3 ./waf install --destdir="$pkgdir"
}
-sha512sums="68d72403ab5c6b4562faf43ae94159e4b8dcb697f62ea9dc3eac5634a3e22b19e14e215a081ae2a39e5db77e6f0f40d5ceb0281962600526d08121a197105a80 glmark2-2020.04.tar.gz
-f03c39b1bc26d3a38a54f1cf029d4714d502e4f4be8e89a9a86aa116c16f07226714f73e00e99eab9529f20532d47a734f9ebab71bc02d7829a986c91f3f2dab py3-compat.patch"
+sha512sums="
+5aaad56bb341e9c09d8dc78ac8d07d9af39f2414a158fd6e7c2717db2427d1b353408a874a8f38065e241474c674e8220d001652a5dd5a6c893ffe778cff9006 glmark2-2023.01.tar.gz
+"
diff --git a/testing/glmark2/py3-compat.patch b/testing/glmark2/py3-compat.patch
deleted file mode 100644
index 825fba54ecb..00000000000
--- a/testing/glmark2/py3-compat.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 06e4728ba7312efa0fd595e30745e60ce88f1a4f Mon Sep 17 00:00:00 2001
-From: Marvin Schmidt <marv@exherbo.org>
-Date: Sun, 3 May 2020 18:20:05 +0200
-Subject: [PATCH] Build: Fix Python 3 incompatibility
-
----
- wscript | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/wscript b/wscript
-index aefde70..e09fa78 100644
---- a/wscript
-+++ b/wscript
-@@ -20,7 +20,7 @@ FLAVORS = {
- 'x11-gl' : 'glmark2',
- 'x11-glesv2' : 'glmark2-es2',
- }
--FLAVORS_STR = ", ".join(sorted(FLAVORS.keys() + ['all-linux', 'all-win32']))
-+FLAVORS_STR = ", ".join(sorted(list(FLAVORS) + ['all-linux', 'all-win32']))
-
- def linux_flavors():
- return [f for f in FLAVORS.keys() if not f.startswith('win32')]
diff --git a/testing/gloox/APKBUILD b/testing/gloox/APKBUILD
new file mode 100644
index 00000000000..c293f8bcb7a
--- /dev/null
+++ b/testing/gloox/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=gloox
+pkgver=1.0.28
+pkgrel=0
+pkgdesc="C++ Jabber/XMPP client library"
+url="https://camaya.net/gloox/"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="gnutls-dev"
+subpackages="$pkgname-dev"
+source="https://camaya.net/download/gloox-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-gnutls=yes
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+8be06963a54957d53bb285482d2ad01569fb281fcb53b03a29dc4444e1915f2f7d81e3fec1288f127bc09ca37d1c0beb4cb8e4f7079becb32dc223e3ceb50e00 gloox-1.0.28.tar.bz2
+"
diff --git a/testing/glossaico/APKBUILD b/testing/glossaico/APKBUILD
deleted file mode 100644
index fa8786c753c..00000000000
--- a/testing/glossaico/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=glossaico
-pkgver=1.0
-pkgrel=1
-pkgdesc="Language learning application based on LibreLingo"
-url="https://codeberg.org/dimkard/glossaico"
-# armhf and riscv64 blocked by py3-pyside2
-# ppc64le blocked by py3-importlib-metadata
-arch="noarch !armhf !riscv64 !ppc64le"
-license="GPL-3.0-or-later"
-depends="
- py3-importlib-metadata
- py3-librelingo-audios
- py3-librelingo-utils
- py3-librelingo-yaml-loader
- py3-pyside2
- py3-requests
- py3-slugify
- py3-yaml
- python3
- "
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://codeberg.org/dimkard/glossaico/archive/v$pkgver.tar.gz"
-options="!check" # No tests
-builddir="$srcdir/$pkgname"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-42378f47825925171f815b7de7837dc036d06ed98eb169f79128ac54c68c4b270682f9fa97ca3a78f52ae3e0d87446e8c71729a0a8927299dacd302f2e187aa8 glossaico-1.0.tar.gz
-"
diff --git a/testing/glow/APKBUILD b/testing/glow/APKBUILD
new file mode 100644
index 00000000000..1fd8f7bd325
--- /dev/null
+++ b/testing/glow/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=glow
+pkgver=1.5.1
+pkgrel=6
+pkgdesc="Markdown renderer on the CLI, with pizzazz"
+url="https://github.com/charmbracelet/glow"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/charmbracelet/glow/archive/v$pkgver/glow-$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -ldflags "-X main.Version=$pkgver"
+
+ for shell in bash fish zsh; do
+ ./$pkgname completion $shell > $pkgname.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 $pkgname.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+d27005fdd10798957145e3ba4f55b78d15a9bf485f9b28a908dfec219524911f065d6f4248bcc79b30d9653588427e18bfeffab6400b1945ff0603bc95a5d888 glow-1.5.1.tar.gz
+"
diff --git a/testing/glslviewer/APKBUILD b/testing/glslviewer/APKBUILD
new file mode 100644
index 00000000000..00bb7b2be25
--- /dev/null
+++ b/testing/glslviewer/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Leon ROUX <leon.roux@federate.us>
+# Maintainer: Leon ROUX <leon.roux@federate.us>
+pkgname=glslviewer
+pkgver=3.2.4
+pkgrel=0
+pkgdesc="Console-based GLSL Sandbox for 2D/3D shaders"
+_vera="93b2496679c005a723d3e04327199602955ed1dc"
+url="https://github.com/patriciogonzalezvivo/glslViewer"
+license="BSD-3.0"
+arch="all"
+depends="
+ "
+makedepends="
+ cmake
+ ffmpeg-dev
+ libx11-dev
+ libxcursor-dev
+ libxi-dev
+ libxinerama-dev
+ libxrandr-dev
+ mesa-dev
+ musl-dev
+ samurai
+ "
+# ncurses-dev: disabled dependency because of upstream bug
+source="$pkgname-$pkgver.tar.gz::https://github.com/patriciogonzalezvivo/glslViewer/archive/refs/tags/$pkgver.tar.gz
+ vera-$_vera.tar.gz::https://github.com/patriciogonzalezvivo/vera/archive/$_vera.tar.gz
+ "
+builddir="$srcdir/glslViewer-$pkgver"
+options="!check" # does not have any tests
+
+prepare() {
+ default_prepare
+
+ rmdir deps/vera
+ ln -sfv "$srcdir"/vera-$_vera \
+ "$builddir"/deps/vera
+}
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+20766ad1fe288d4e193849809b5633635b2d3a551cd46c9378f80c8817aeb90180847f2e9540e02f6c5729e0fa7fd51c45b4a1fa5f7e4ed6e397c58ef3e32c47 glslviewer-3.2.4.tar.gz
+40cecbd9480f84141f1a22d7a0e730c408cc55729dd4f25d80c6f3fa8098a6e31f088b3b1bfacd3d1507a2bf093dffe3fdb9bc7cb05fdc5586a00bd6956dae16 vera-93b2496679c005a723d3e04327199602955ed1dc.tar.gz
+"
diff --git a/testing/gmenuharness/APKBUILD b/testing/gmenuharness/APKBUILD
new file mode 100644
index 00000000000..4dd796fd32a
--- /dev/null
+++ b/testing/gmenuharness/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=gmenuharness
+pkgver=0.1.4
+pkgrel=0
+pkgdesc="Library to test GMenuModel structures"
+url="https://gitlab.com/ubports/development/core/gmenuharness"
+arch="all"
+license="LGPL-3.0-only"
+depends_dev="
+ glib-dev
+ gtest-dev
+ lomiri-api-dev
+ qt5-qtbase-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ gmock
+ libqtdbustest
+ samurai
+ "
+checkdepends="dbus"
+source="https://gitlab.com/ubports/development/core/gmenuharness/-/archive/$pkgver/gmenuharness-$pkgver.tar.gz"
+subpackages="$pkgname-dev"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+0ff5ab2411b5f7ad104c27dabd1523c63cb9981212f76d13fb4d7241d19cab8336a9bb188d5fcef87cd916ccce037174227c31c36c546e6793f3ec3641b2547c gmenuharness-0.1.4.tar.gz
+"
diff --git a/testing/gmic/APKBUILD b/testing/gmic/APKBUILD
new file mode 100644
index 00000000000..9205ab2dcf1
--- /dev/null
+++ b/testing/gmic/APKBUILD
@@ -0,0 +1,67 @@
+# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
+pkgname=gmic
+pkgver=3.3.3
+pkgrel=0
+pkgdesc="GREYC's Magic for Image Computing"
+url="https://gmic.eu/"
+# s390x: gimp
+arch="all !s390x"
+license="CECILL-2.1"
+makedepends="
+ bash
+ curl-dev
+ eigen-dev
+ fftw-dev
+ gimp-dev
+ graphicsmagick-dev
+ openexr-dev
+ qt5-qtbase-dev
+ tiff-dev
+ "
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-doc
+ $pkgname-dev
+ $pkgname-libs
+ $pkgname-qt
+ gimp-plugin-gmic:gimp
+ "
+source="https://gmic.eu/files/source/gmic_$pkgver.tar.gz
+ notune.patch
+ rpath.patch
+ "
+options="!check" # No test suite
+
+build() {
+ export CFLAGS="$CFLAGS $LDFLAGS"
+ make lib
+ make cli_shared
+ make gimp_shared
+ make gmic_qt_shared
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX="/usr" install
+ install -Dm644 resources/gmic_cluts.gmz -t "$pkgdir"/usr/share/gmic
+}
+
+qt() {
+ pkgdesc="GMIC qt ui"
+
+ amove usr/bin/gmic_qt \
+ usr/share/applications \
+ usr/share/icons
+}
+
+gimp() {
+ pkgdesc="GMIC gimp plugin"
+ install_if="$pkgname=$pkgver-r$pkgrel gimp"
+
+ amove usr/lib/gimp
+}
+
+sha512sums="
+3bdfb8d8c935ead77ea0e6927a25e78d3b45236d1dd3cb515a64b4f04206380da471031d8a3bb7bc6b177ac607b2ca1622a11fe35cd8c5ea29c69fccfbdfb90e gmic_3.3.3.tar.gz
+663773af7c6cd7a06d9bc84972dea60d40b0d2eb6fb9f5aef2da482ebf9ed8218f82f998f4e1846051365307a6740308e793abcc60d34f534e40080d0710c7bf notune.patch
+e9184cac37360d1da22b996c2e44b25ad26ae64d64c114b792b0a83c4383ebd1a698e8dc40f8d003334ed8a45b32b01e32413a14b8ed8976569fd9dc00359bb2 rpath.patch
+"
diff --git a/testing/gmic/notune.patch b/testing/gmic/notune.patch
new file mode 100644
index 00000000000..96cac947acf
--- /dev/null
+++ b/testing/gmic/notune.patch
@@ -0,0 +1,13 @@
+diff --git a/src/Makefile b/src/Makefile
+index 4636079..cddbe0d 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -212,7 +212,7 @@ endif
+ FLTO = -flto
+ OPT_CFLAGS =
+ ifdef IS_GCC
+-OPT_CFLAGS += -O3 -mtune=generic # $(FLTO)
++OPT_CFLAGS += -O3 # $(FLTO)
+ OPT_LIBS = # $(FLTO)
+ endif
+ ifdef IS_CLANG
diff --git a/testing/gmic/rpath.patch b/testing/gmic/rpath.patch
new file mode 100644
index 00000000000..62a46291f2d
--- /dev/null
+++ b/testing/gmic/rpath.patch
@@ -0,0 +1,26 @@
+diff --git a/gmic-qt/gmic_qt.pro b/gmic-qt/gmic_qt.pro
+index dbabde7..b851af8 100644
+--- a/gmic-qt/gmic_qt.pro
++++ b/gmic-qt/gmic_qt.pro
+@@ -417,7 +417,7 @@ SOURCES += \
+
+ equals(GMIC_DYNAMIC_LINKING, "on" )|equals(GMIC_DYNAMIC_LINKING, "ON" ) {
+ message(Dynamic linking with libgmic)
+- LIBS += -Wl,-rpath,. $$GMIC_PATH/libgmic.so
++ LIBS += $$GMIC_PATH/libgmic.so
+ }
+
+ equals(GMIC_DYNAMIC_LINKING, "off" )|equals(GMIC_DYNAMIC_LINKING, "OFF" ) {
+diff --git a/src/Makefile b/src/Makefile
+index 4636079..41aeb28 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -188,7 +188,7 @@ MANDATORY_LIBS = $(shell pkg-config --libs zlib || echo -lz) $(EXTRA_LIBS)
+ ifndef NO_SRIPDLIB
+ MANDATORY_CFLAGS += -std=c++11 -pedantic
+ endif
+-MANDATORY_LIBS += -L. -L$(PREFIX)/$(LIB) -Wl,-rpath,.
++MANDATORY_LIBS += -L. -L$(PREFIX)/$(LIB)
+ ifdef IS_GCC
+ MANDATORY_CFLAGS += -Wall -Wextra -Wfatal-errors -Werror=unknown-pragmas -Werror=unused-label
+ GCC_VER_GTEQ5 = $(shell expr `$(CXX) -dumpversion | cut -f1 -d.` \>= 5)
diff --git a/testing/gmid/APKBUILD b/testing/gmid/APKBUILD
index 03ba90e63fe..7efa4f27c49 100644
--- a/testing/gmid/APKBUILD
+++ b/testing/gmid/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Maxim Karasev <begs@disroot.org>
-# Maintainer: Maxim Karasev <begs@disroot.org>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=gmid
-pkgver=1.7.5
-pkgrel=1
+pkgver=2.0.2
+pkgrel=0
pkgdesc="Fast, small, and secure Gemini server"
url="https://www.omarpolo.com/pages/gmid.html"
-arch="all"
+arch="all !s390x" # test_unknown_host failed
license="ISC GPL-2.0-only"
makedepends="
bison
@@ -13,20 +13,19 @@ makedepends="
libbsd-dev
libevent-dev
libretls-dev
- openssl1.1-compat-dev
+ openssl-dev
"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc $pkgname-doc"
-source="https://git.omarpolo.com/gmid/snapshot/gmid-$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/omar-polo/gmid/archive/$pkgver/gmid-$pkgver.tar.gz
$pkgname.confd
$pkgname.initd
$pkgname.conf
"
-[ "$CARCH" = "mips64" ] && options="!check"
build() {
# Not a gnuautoconf, just a shell script
- ./configure DESTDIR="$pkgdir" PREFIX=/usr
+ ./configure PREFIX=/usr
make
}
@@ -36,17 +35,15 @@ check() {
package() {
make DESTDIR="$pkgdir" BINDIR=/usr/bin MANDIR=/usr/share/man install
- install -Dm644 "$srcdir"/gmid.confd \
- "$pkgdir"/etc/conf.d/gmid
- install -Dm755 "$srcdir"/gmid.initd \
- "$pkgdir"/etc/init.d/gmid
- install -Dm644 "$srcdir"/gmid.conf \
- "$pkgdir"/etc/gmid.conf
+ install -Dm755 contrib/gencert contrib/renew-certs -t "$pkgdir"/usr/bin
+ install -Dm644 "$srcdir"/gmid.confd "$pkgdir"/etc/conf.d/gmid
+ install -Dm755 "$srcdir"/gmid.initd "$pkgdir"/etc/init.d/gmid
+ install -Dm644 "$srcdir"/gmid.conf "$pkgdir"/etc/gmid.conf
}
sha512sums="
-bbb89cc64aa433aede90186d2bb047081dabd8752e053142fd8785f2194ea9be49e462c2f5b2ff7bdc73c2745d2fdcf13426a6f9f39118da2fbcbd6f955a41b0 gmid-1.7.5.tar.gz
+5d4931f86b18de7b1ebec37e4b2343e401a31478c2e4a98bb9e6f13812bba1dbb01deefd3263a65090c2f6e4bf2321392c504d4b3177c30abb2f2acaa9f03361 gmid-2.0.2.tar.gz
b05d3685b66547d171a8feeb47518a9e27226a709a0a4d5a77e2cd51d7026ef4d3e0fc9e00a53e9fa58908b717df0bc0954452ab44d2158c949cdfec10b8cba5 gmid.confd
9d5c2fc00f08ab4fe187bfbd09d386b9daab39b7c984b0a2e6043ce0a66baf9b8a3d6609f8c4c41ed97e1e7161511ab7a7edea0e477bfce5eab10fcf10df27ba gmid.initd
-bac0bd87a9341af0363dd144c0863965989f9693ce820a539d6ebb523626bc4d6673dae2aa7c885f200b60fd26a0073c44a2e61839dac2c1e626ae1b514d165f gmid.conf
+9ebbac15a6e3b34f70a4bbf1a1c4a70f8e6b733ce3b838829fbcc995cfc6681f216f80a8ddca526c60cdc9b9a16de071e5f93faa31b42be65d707ad52897730b gmid.conf
"
diff --git a/testing/gmid/gmid.conf b/testing/gmid/gmid.conf
index 29e8bfb0240..6c75115ff23 100644
--- a/testing/gmid/gmid.conf
+++ b/testing/gmid/gmid.conf
@@ -9,9 +9,7 @@ server "localhost" {
root "/var/gemini/localhost"
# set self-signed TLS cert and key
- # you should generate them manually, for example:
- # openssl req -newkey rsa:4096 -nodes -keyout /etc/ssl/gmid/localhost.key \
- # -nodes -x509 -out /etc/ssl/gmid/localhost.crt -subj "/CN=localhost"
+ # you should generate them manually, see `gencert -h`
cert "/etc/ssl/gmid/localhost.crt"
key "/etc/ssl/gmid/localhost.key"
diff --git a/testing/gmobile/APKBUILD b/testing/gmobile/APKBUILD
new file mode 100644
index 00000000000..485a5f8a706
--- /dev/null
+++ b/testing/gmobile/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: fossdd <fossdd@pwned.life>
+pkgname=gmobile
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="Functions useful in mobile related, glib based projects"
+url="https://gitlab.gnome.org/World/Phosh/gmobile"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ meson
+ glib-dev
+ json-glib-dev
+ gobject-introspection-dev
+ "
+subpackages="$pkgname-dev"
+source="https://sources.phosh.mobi/releases/gmobile/gmobile-$pkgver.tar.xz"
+
+build() {
+ abuild-meson build
+ meson compile -C build
+}
+
+check() {
+ meson test -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C build
+}
+
+sha512sums="
+eb17d0b39d5dbe197a2502fe974af37076317094c4759bbc4924d951fdb1bdb1fe8f13a85419dad756954c165bbd6dfca4ce555f6e3f5a3def4bac8bc913ab1a gmobile-0.1.0.tar.xz
+"
diff --git a/testing/gmsh/APKBUILD b/testing/gmsh/APKBUILD
new file mode 100644
index 00000000000..7ba5c2584dd
--- /dev/null
+++ b/testing/gmsh/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Aiden Grossman <agrossman154@yahoo.com>
+# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
+pkgname=gmsh
+pkgver=4.12.2
+pkgrel=0
+pkgdesc="Automatic 3D finite element mesh generator"
+url="https://gmsh.info/"
+# s390x: opencascade
+# armv7, armhf: segfaults
+# x86: fails tests
+arch="all !x86 !armv7 !armhf !s390x"
+license="GPL-2.0-or-later" # license lists several exceptions
+makedepends="
+ chrpath
+ cmake
+ fltk-dev
+ glu-dev
+ gmp-dev
+ hdf5-dev
+ jpeg-dev
+ mesa-dev
+ opencascade-dev
+ samurai
+ "
+subpackages="$pkgname-dbg $pkgname-doc gmsh-py:py:noarch"
+source="https://gmsh.info/src/gmsh-$pkgver-source.tgz"
+builddir="$srcdir/$pkgname-$pkgver-source"
+
+build() {
+ CFLAGS="$CFLAGS -O2" \
+ CXXFLAGS="$CXXFLAGS -O2" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DRPATH=OFF \
+ -DTESTS="$(want_check && echo ON || echo OFF)"
+ cmake --build build
+}
+
+check() {
+ ctest -j $JOBS --test-dir build --output-on-failure \
+ -E '../tutorials/t12.geo'
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ # Drop redundant /usr/lib from rpath
+ chrpath -d "$pkgdir"/usr/bin/gmsh
+}
+
+py() {
+ depends="$pkgname=$pkgver-r$pkgrel python3"
+ amove usr/bin/onelab.py
+}
+
+sha512sums="
+935148aff89b608f9d671d5fd4f12aed52b5c8ba4453e978d0febcc6934c045f2bba0078b13a64b2cbf4e852b413bbd05873335099ea7a967cc81ef58a7f8367 gmsh-4.12.2-source.tgz
+"
diff --git a/testing/gn/APKBUILD b/testing/gn/APKBUILD
deleted file mode 100644
index e71398e32bf..00000000000
--- a/testing/gn/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: TBK <alpine@jjtc.eu>
-# Maintainer: TBK <alpine@jjtc.eu>
-pkgname=gn
-pkgver=0_git20201222
-pkgrel=0
-pkgdesc="Meta-build system that generates build files for Ninja"
-arch="all !riscv64" # FTBFS: "please add support for your architecture"
-url="https://gn.googlesource.com/gn"
-license="BSD-3-Clause"
-depends="samurai"
-makedepends="python3"
-# archive needs to include .git for the build script to be able to determine the version
-source="https://dev.alpinelinux.org/archive/gn/gn-$pkgver.tar.gz
- python3.patch
- "
-builddir="$srcdir"
-
-build() {
- ./build/gen.py
- ninja -C out
-}
-
-check() {
- ./out/gn_unittests
-}
-
-package() {
- install -Dm755 out/gn "$pkgdir"/usr/bin/gn
-}
-
-sha512sums="1c5a2526b8869c931994fd09cda0d84c82c0112b7fd171ef020acee76a848821cba6e298d91140a7155c82174737ba5bfd50438d79841cd1e95e216f33ea62ac gn-0_git20201222.tar.gz
-3ee020c43b858f27a47e869634e071126e14c6a748b7fbfeec2b49651a0b1ea1f3bab1e0a20e4249056f7434221081945af9ad5ad28bb45300d1457580df06ab python3.patch"
diff --git a/testing/gn/python3.patch b/testing/gn/python3.patch
deleted file mode 100644
index 891534d0f99..00000000000
--- a/testing/gn/python3.patch
+++ /dev/null
@@ -1,236 +0,0 @@
---- a/build/full_test.py
-+++ b/build/full_test.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright 2018 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
---- a/build/gen.py
-+++ b/build/gen.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright 2014 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
---- a/infra/recipes.py
-+++ b/infra/recipes.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- # Copyright 2017 The LUCI Authors. All rights reserved.
- # Use of this source code is governed under the Apache License, Version 2.0
---- a/misc/help_as_html.py
-+++ b/misc/help_as_html.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright 2014 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
---- a/src/gn/exec_process_unittest.cc
-+++ b/src/gn/exec_process_unittest.cc
-@@ -33,7 +33,7 @@
- args.push_back(L"-c");
- args.push_back(base::UTF8ToUTF16(command));
- #else
-- args.push_back("python");
-+ args.push_back("python3");
- args.push_back("-c");
- args.push_back(command);
- #endif
---- a/src/gn/json_project_writer_unittest.cc
-+++ b/src/gn/json_project_writer_unittest.cc
-@@ -37,7 +37,7 @@
- SubstitutionList::MakeForTest("//out/Debug/output1.out");
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
- std::vector<const Target*> targets;
- targets.push_back(&target);
- #if defined(OS_WIN)
-@@ -172,7 +172,7 @@
- SubstitutionList::MakeForTest("//out/Debug/{{source_name_part}}.out");
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
- std::vector<const Target*> targets;
- targets.push_back(&target);
- #if defined(OS_WIN)
---- a/src/gn/ninja_action_target_writer_unittest.cc
-+++ b/src/gn/ninja_action_target_writer_unittest.cc
-@@ -54,14 +54,14 @@
- ASSERT_TRUE(target.OnResolved(&err));
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
-
- std::ostringstream out;
- NinjaActionTargetWriter writer(&target, out);
- writer.Run();
-
- const char* expected = R"(rule __foo_bar___rule
-- command = /usr/bin/python ../../foo/script.py
-+ command = /usr/bin/python3 ../../foo/script.py
- description = ACTION //foo:bar()
- restat = 1
-
-@@ -96,7 +96,7 @@
- ASSERT_TRUE(target.OnResolved(&err));
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
-
- std::ostringstream out;
- NinjaActionTargetWriter writer(&target, out);
-@@ -105,7 +105,7 @@
- // The console pool's name must be mapped exactly to the string "console"
- // which is a special pre-defined pool name in ninja.
- const char* expected = R"(rule __foo_bar___rule
-- command = /usr/bin/python ../../foo/script.py
-+ command = /usr/bin/python3 ../../foo/script.py
- description = ACTION //foo:bar()
- restat = 1
-
-@@ -138,7 +138,7 @@
- ASSERT_TRUE(target.OnResolved(&err));
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
-
- std::ostringstream out;
- NinjaActionTargetWriter writer(&target, out);
-@@ -146,7 +146,7 @@
-
- const char expected_linux[] =
- "rule __foo_bar___rule\n"
-- " command = /usr/bin/python ../../foo/script.py\n"
-+ " command = /usr/bin/python3 ../../foo/script.py\n"
- " description = ACTION //foo:bar()\n"
- " restat = 1\n"
- "\n"
-@@ -207,7 +207,7 @@
- ASSERT_TRUE(target.OnResolved(&err));
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
-
- std::ostringstream out;
- NinjaActionTargetWriter writer(&target, out);
-@@ -215,7 +215,7 @@
-
- const char expected_linux[] =
- "rule __foo_bar___rule\n"
-- " command = /usr/bin/python ../../foo/script.py -i ${in} "
-+ " command = /usr/bin/python3 ../../foo/script.py -i ${in} "
- // Escaping is different between Windows and Posix.
- #if defined(OS_WIN)
- "\"--out=foo$ bar${source_name_part}.o\"\n"
-@@ -273,7 +273,7 @@
- target.config_values().inputs().push_back(SourceFile("//foo/included.txt"));
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
- setup.build_settings()->set_ninja_required_version(Version{1, 9, 0});
-
- std::ostringstream out;
-@@ -282,7 +282,7 @@
-
- const char expected_linux[] =
- "rule __foo_bar___rule\n"
-- " command = /usr/bin/python ../../foo/script.py -i ${in} "
-+ " command = /usr/bin/python3 ../../foo/script.py -i ${in} "
- #if defined(OS_WIN)
- "\"--out=foo$ bar${source_name_part}.o\"\n"
- #else
-@@ -331,7 +331,7 @@
- SubstitutionList::MakeForTest("//out/Debug/{{source_name_part}}.out");
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
-
- std::ostringstream out;
- NinjaActionTargetWriter writer(&target, out);
-@@ -344,7 +344,7 @@
- // These come from rsp_file_contents above.
- " rspfile_content = -j ${source_name_part}\n"
- // These come from the args.
-- " command = /usr/bin/python ../../foo/script.py ${in} "
-+ " command = /usr/bin/python3 ../../foo/script.py ${in} "
- "${source_file_part} ${rspfile}\n"
- " description = ACTION //foo:bar()\n"
- " restat = 1\n"
-@@ -389,7 +389,7 @@
- SubstitutionList::MakeForTest("//out/Debug/{{source_name_part}}.out");
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
-
- std::ostringstream out;
- NinjaActionTargetWriter writer(&target, out);
-@@ -398,7 +398,7 @@
- const char expected_linux[] =
- "rule __foo_bar___rule\n"
- // These come from the args.
-- " command = /usr/bin/python ../../foo/script.py ${in} "
-+ " command = /usr/bin/python3 ../../foo/script.py ${in} "
- "${source_file_part}\n"
- " description = ACTION //foo:bar()\n"
- " restat = 1\n"
-@@ -418,7 +418,7 @@
- TestWithScope setup;
-
- setup.build_settings()->set_python_path(
-- base::FilePath(FILE_PATH_LITERAL("/usr/bin/python")));
-+ base::FilePath(FILE_PATH_LITERAL("/usr/bin/python3")));
-
- Target dep(setup.settings(), Label(SourceDir("//foo/"), "dep"));
- dep.set_output_type(Target::ACTION);
-@@ -445,7 +445,7 @@
- const char expected_linux[] =
- "rule __foo_foo___rule\n"
- // These come from the args.
-- " command = /usr/bin/python ../../foo/script.py\n"
-+ " command = /usr/bin/python3 ../../foo/script.py\n"
- " description = ACTION //foo:foo()\n"
- " restat = 1\n"
- "\n"
-@@ -474,7 +474,7 @@
- const char expected_linux[] =
- "rule __bar_bar___rule\n"
- // These come from the args.
-- " command = /usr/bin/python ../../bar/script.py\n"
-+ " command = /usr/bin/python3 ../../bar/script.py\n"
- " description = ACTION //bar:bar()\n"
- " restat = 1\n"
- "\n"
---- a/src/gn/setup.cc
-+++ b/src/gn/setup.cc
-@@ -762,7 +762,7 @@
- }
- build_settings_.set_python_path(python_path.NormalizePathSeparatorsTo('/'));
- #else
-- build_settings_.set_python_path(base::FilePath("python"));
-+ build_settings_.set_python_path(base::FilePath("python3"));
- #endif
- }
- return true;
---- a/tools/find_unreachable.py
-+++ b/tools/find_unreachable.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- # Copyright 2020 The Chromium Authors. All rights reserved.
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
diff --git a/testing/gnome-common/APKBUILD b/testing/gnome-common/APKBUILD
new file mode 100644
index 00000000000..62036649876
--- /dev/null
+++ b/testing/gnome-common/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=gnome-common
+pkgver=3.18.0
+pkgrel=3
+pkgdesc="Common development macros for GNOME"
+url="https://www.gnome.org"
+arch="noarch"
+license="LGPL-2.1-or-later"
+source="https://download.gnome.org/sources/gnome-common/${pkgver%.*}/gnome-common-$pkgver.tar.xz"
+
+check() {
+ make check
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="b931c9a6668d996560549738bb2d95f86f56fa68ce930c077275bdc8fddbc2d28d215c1190099db1df851417902fca87ec81f1c0e644c5b9630a175e1cde0719 gnome-common-3.18.0.tar.xz"
diff --git a/testing/gnome-latex/APKBUILD b/testing/gnome-latex/APKBUILD
new file mode 100644
index 00000000000..4a8f09652a8
--- /dev/null
+++ b/testing/gnome-latex/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=gnome-latex
+pkgver=3.44.0
+pkgrel=5
+pkgdesc="LaTeX editor for the GNOME desktop"
+url="https://gitlab.gnome.org/swilmet/gnome-latex"
+# s390x, ppc64le and riscv64 blocked by texlive
+arch="all !ppc64le !s390x !riscv64"
+license="GPL-3.0-or-later"
+depends="
+ gsettings-desktop-schemas
+ texlive
+ "
+makedepends="
+ autoconf
+ automake
+ dconf-dev
+ gobject-introspection-dev
+ gsettings-desktop-schemas-dev
+ gspell-dev
+ gtk-doc
+ intltool
+ itstool
+ libgee-dev
+ libtool
+ tepl-dev
+ vala
+ yelp
+ "
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://download.gnome.org/sources/gnome-latex/${pkgver%.*}/gnome-latex-$pkgver.tar.xz
+ "
+
+prepare() {
+ default_prepare
+ autoreconf -fi
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+d1dc7b2321438ebed7a209c7c750123a0dcf8ebcf92f73fd7eb4c79282f51d6b6a8328ee8759326f43e53dbd2ba9d1fadc056c2fcea11e7785e7c27574707e95 gnome-latex-3.44.0.tar.xz
+"
diff --git a/testing/gnome-metronome/APKBUILD b/testing/gnome-metronome/APKBUILD
new file mode 100644
index 00000000000..f55ae0e30b2
--- /dev/null
+++ b/testing/gnome-metronome/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=gnome-metronome
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="Metronome beats the rhythm for you"
+url="https://apps.gnome.org/app/com.adrienplazas.Metronome/"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cargo
+ desktop-file-utils
+ glib-dev
+ gst-plugins-bad-dev
+ gst-plugins-base-dev
+ gstreamer-dev
+ gtk4.0-dev
+ libadwaita-dev
+ meson
+ rust
+"
+subpackages="$pkgname-lang"
+source="https://gitlab.gnome.org/World/metronome/-/archive/$pkgver/metronome-$pkgver.tar.gz"
+builddir="$srcdir/metronome-$pkgver"
+
+
+build() {
+ abuild-meson build
+ meson compile -C build
+}
+
+check() {
+ meson check
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C build
+}
+
+sha512sums="
+006f29f838895546af770d2fdddc8e947372f50c9499010b7ff4d77f2ef54d71dd4e7f8250ea5d20e0ad4842a0d6f9a87db5d6c549fb2f880f332eff56472c47 metronome-1.3.0.tar.gz
+"
diff --git a/testing/gnomecast/APKBUILD b/testing/gnomecast/APKBUILD
new file mode 100644
index 00000000000..f4567d5b33a
--- /dev/null
+++ b/testing/gnomecast/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=gnomecast
+pkgver=1.9.11_git20220423
+_commit=d42d8915838b01c5cadacb322909e08ffa455d4f
+pkgrel=2
+pkgdesc="A native Linux GUI for casting local files to Chromecast devices"
+url="https://github.com/keredson/gnomecast"
+arch="noarch"
+license="GPL-3.0-only"
+depends="
+ ffmpeg
+ gtk+3.0
+ python3
+ py3-bottle
+ py3-dbus
+ py3-gobject3
+ py3-html5lib
+ py3-paste
+ py3-pycaption
+ py3-pychromecast
+ "
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+options="!check" # broken tests
+subpackages="$pkgname-pyc"
+source="
+ https://github.com/keredson/gnomecast/archive/$_commit/gnomecast-$_commit.tar.gz
+
+ no-pandoc.patch
+ "
+builddir="$srcdir/gnomecast-$_commit"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
+}
+
+sha512sums="
+00d254330b337d5bc4713de59d3ed1805ac5afb1dcf919c306c41dc6817345902717dff622f902dafa801c0289f76f7a9c328b70fe094a7829f7ec1f836c531f gnomecast-d42d8915838b01c5cadacb322909e08ffa455d4f.tar.gz
+3e15f74bcae0189a37a0ed716302c858738ef10f8fc24cc335ac54b06c6f6920854ac23bf07c3570d7b329e80dc2c3421b999fcf75e95bd6420c97c574510866 no-pandoc.patch
+"
diff --git a/testing/gnomecast/no-pandoc.patch b/testing/gnomecast/no-pandoc.patch
new file mode 100644
index 00000000000..2717ac45d94
--- /dev/null
+++ b/testing/gnomecast/no-pandoc.patch
@@ -0,0 +1,23 @@
+--- a/setup.py
++++ b/setup.py
+@@ -2,20 +2,10 @@
+
+ from setuptools import setup
+
+-def long_description():
+- os.system('pandoc --from=markdown --to=rst --output=README.rst README.md')
+- readme_fn = os.path.join(os.path.dirname(__file__), 'README.rst')
+- if os.path.exists(readme_fn):
+- with open(readme_fn) as f:
+- return f.read()
+- else:
+- return 'not available'
+-
+ setup(
+ name='gnomecast',
+ version=__import__('gnomecast').__version__,
+ description='A native Linux GUI for Chromecasting local files.',
+- long_description=long_description(),
+ author='Derek Anderson',
+ author_email='public@kered.org',
+ url='https://github.com/keredson/gnomecast',
diff --git a/testing/gnu-apl/APKBUILD b/testing/gnu-apl/APKBUILD
new file mode 100644
index 00000000000..ddecb201648
--- /dev/null
+++ b/testing/gnu-apl/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Dekedro <dekedro@protonmail.com>
+pkgname=gnu-apl
+pkgver=1.8
+pkgrel=1
+pkgdesc="GNU interpreter for the programming language APL"
+url="https://www.gnu.org/software/apl/"
+arch="all !ppc64le" # Fails to build
+license="GPL-3.0-or-later"
+makedepends="autoconf automake libtool"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://ftp.gnu.org/gnu/apl/apl-$pkgver.tar.gz"
+builddir="$srcdir/apl-$pkgver"
+
+prepare() {
+ default_prepare
+ update_config_sub
+}
+
+build() {
+ ./configure CXX_WERROR='no' \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7b903f2d280bba85fd4efb7c5f26e969930c34fdf4667b93adc445521b2eb19cba54f602d823ed56d31d6d596ffce29479c870a110a41f91aa5b7e1747000b54 gnu-apl-1.8.tar.gz
+"
diff --git a/testing/gnunet-gtk/APKBUILD b/testing/gnunet-gtk/APKBUILD
deleted file mode 100644
index 87b3c1fd3ca..00000000000
--- a/testing/gnunet-gtk/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: xrs <xrs@mail36.net>
-# Maintainer: xrs <xrs@mail36.net>
-pkgname=gnunet-gtk
-pkgver=0.11.7
-pkgrel=0
-pkgdesc="Graphical user interface for GNUnet"
-url="https://gnunet.org"
-# s390x and riscv64 blocked by luatek -> texlive -> gnunet
-arch="all !s390x !riscv64"
-# build failure
-arch=""
-license="GPL-3.0-only"
-makedepends="gnunet-dev gtk+3.0-dev glade-dev"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://mirrors.ocf.berkeley.edu/gnu/gnunet/gnunet-gtk-$pkgver.tar.gz"
-options="!check" # The GNUnet project lacks a good CI at the moment.
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-fs-app \
- --disable-conversation-app
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="368d31e876d3ace60e62e744e5a7d375962a6f7e6c2800cf1389185673ec643a91160fccbd380427e5fdcf0683824aa17265b3de4eb8a8493aa20c55596d982f gnunet-gtk-0.11.7.tar.gz"
diff --git a/testing/gnunet/APKBUILD b/testing/gnunet/APKBUILD
deleted file mode 100644
index b43d5c02282..00000000000
--- a/testing/gnunet/APKBUILD
+++ /dev/null
@@ -1,89 +0,0 @@
-# Contributor: xrs <xrs@mail36.net>
-# Maintainer: xrs <xrs@mail36.net>
-pkgname=gnunet
-pkgver=0.14.0
-pkgrel=0
-pkgdesc="A framework for secure and privacy enhancing peer-to-peer networking"
-url="https://gnunet.org"
-# mips64, s390x and riscv64 blocked by luatek -> texlive
-arch="all !mips64 !s390x !riscv64"
-license="AGPL-3.0-only"
-depends="gnutls-utils bash which iptables coreutils runit"
-depends_dev="libgpg-error-dev libgcrypt-dev nettle-dev unbound-dev gnutls-dev
- gnurl-dev libmicrohttpd-dev openssl-dev libunistring-dev libidn2-dev
- nss-dev sqlite-dev zlib-dev miniupnpc-dev gmp-dev gettext openjpeg-dev
- jansson-dev libsodium-dev"
-makedepends="$depends_dev autoconf automake libtool gettext-dev python3
- texlive texlive-luatex texinfo"
-install="$pkgname.pre-install $pkgname.post-install"
-pkgusers="gnunet"
-pkggroups="gnunet gnunetdns"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang $pkgname-openrc"
-options="!check suid" # No check because The GNUnet project lacks a good CI at the moment.
-source="https://mirrors.ocf.berkeley.edu/gnu/gnunet/gnunet-$pkgver.tar.gz
- $pkgname-system.conf
- $pkgname-system-services.initd
- $pkgname-user-services.initd
- setup-$pkgname-user
- "
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-poisoning \
- --enable-logging=verbose
- make
-}
-
-check() {
- make DESTDIR="$pkgdir" check
-}
-
-package() {
- make DESTDIR="$pkgdir" -j1 install # Using more CPUs generates CI-errors.
-
- libexecdir=$pkgdir/usr/lib/gnunet/libexec/
- # Limit access to critical gnunet-helper-dns to group "gnunetdns"
- chgrp gnunetdns $libexecdir/gnunet-helper-dns
- chgrp gnunetdns $libexecdir/gnunet-service-dns
- # Limit access to certain SUID binaries by group "gnunet"
- chgrp gnunet $libexecdir/gnunet-helper-exit
- chgrp gnunet $libexecdir/gnunet-helper-vpn
- chgrp gnunet $libexecdir/gnunet-helper-nat-client
- chgrp gnunet $libexecdir/gnunet-helper-nat-server
- chmod u+s $libexecdir/gnunet-helper-exit
- chmod u+s $libexecdir/gnunet-helper-vpn
- chmod 2750 $libexecdir/gnunet-helper-dns
- chmod 2700 $libexecdir/gnunet-service-dns
- chmod u+s $libexecdir/gnunet-helper-nat-client
- chmod u+s $libexecdir/gnunet-helper-nat-server
-
- install -m644 -D $srcdir/$pkgname-system.conf \
- $pkgdir/etc/$pkgname.conf
- install -m755 -D $srcdir/$pkgname-system-services.initd \
- $pkgdir/etc/init.d/$pkgname-system-services
- install -m755 -D $srcdir/$pkgname-user-services.initd \
- $pkgdir/etc/init.d/$pkgname-user-services
- install -m755 -D $srcdir/setup-$pkgname-user \
- $pkgdir/usr/bin/setup-$pkgname-user
-}
-
-dev() {
- default_dev
-
- # dev() will move gnunet-config from $pkg to $pkg-dev, but it's an
- # intended part of $pkg.
- install -m755 -D $builddir/src/util/.libs/gnunet-config \
- $pkgdir/usr/bin/gnunet-config
-}
-
-sha512sums="422637e8f4343a291a8dedf9d4669f5f75b7b6f614d9dde1a5bfcc1565cce25bbb5ef0f8c3cbfca1753b04176b460431545982e6805dc4bb99191c51d6455f4d gnunet-0.14.0.tar.gz
-a0f55413ed2c6edd6746a751d92ddac95ba70f20eefb07330817870d749456448f44bba95d245911a00f6078e0c2ac626004e3b764be5e5e049c00626c4c5ac0 gnunet-system.conf
-24d230b077c7a47a116ac428c411e0fc62b9c019ac97f95d27a0e57112d554734d9b9bfd1e0b22366b387074b621f98d11fbf87f2c6fbafcc2888acda630b54d gnunet-system-services.initd
-8daf862f7c81bd5b143a05f786c4edce76c91d4d226903288a4d2d88898b9b7ba017cf683a20d918b9ad93aff5f391eb5f928843a2fcd35e6e48f3a611dc9d8d gnunet-user-services.initd
-ed4db7f7500e02fecb8c54ba629d91ae3bb69b6ed61c25831f7c21b6c446b4210af0efea5fac6fb13f14422723b85a742ae63a6ecd60bf5daadfd43abb658d25 setup-gnunet-user"
diff --git a/testing/gnunet/gnunet-system-services.initd b/testing/gnunet/gnunet-system-services.initd
deleted file mode 100644
index 6bc42e6f152..00000000000
--- a/testing/gnunet/gnunet-system-services.initd
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/sbin/openrc-run
-
-name="gnunet-system-services"
-description="A secure and privacy enhancing peer-to-peer overlay network"
-command="/usr/lib/gnunet/libexec/gnunet-service-arm"
-command_args="-c /etc/gnunet.conf"
-command_user="gnunet:gnunet"
-command_background="yes"
-pidfile="/run/${SVCNAME}.pid"
-
-depend() {
- need net
-}
-
-start_pre() {
- checkpath --directory --owner $command_user --mode 2755 \
- /var/lib/gnunet
-}
diff --git a/testing/gnunet/gnunet-system.conf b/testing/gnunet/gnunet-system.conf
deleted file mode 100644
index 303cf5f16d6..00000000000
--- a/testing/gnunet/gnunet-system.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-[arm]
-START_SYSTEM_SERVICES = YES
-START_USER_SERVICES = NO
diff --git a/testing/gnunet/gnunet-user-services.initd b/testing/gnunet/gnunet-user-services.initd
deleted file mode 100644
index 04188ade25b..00000000000
--- a/testing/gnunet/gnunet-user-services.initd
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/sbin/openrc-run
-
-# Extract user name from file name.
-user="${SVCNAME#gnunet-}" # Cut off prefix.
-user="${user%-services}" # Cut off suffix.
-
-description="GNUnet user services for $user"
-command="/usr/lib/gnunet/libexec/gnunet-service-arm"
-command_args="-c /home/$user/.config/gnunet.conf"
-command_user="$user:$user"
-command_background="yes"
-pidfile="/run/${SVCNAME}.$user.pid"
-
-depend() {
- need gnunet-system-services
-}
diff --git a/testing/gnunet/gnunet.post-install b/testing/gnunet/gnunet.post-install
deleted file mode 100644
index 893f8cdc438..00000000000
--- a/testing/gnunet/gnunet.post-install
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-cat << TEXT
-
- To start GNUnet system services:
- > sudo rc-service gnunet-system-services start
-
- To setup GNUnet user services for a regular user:
- > sudo setup-gnunet-user -u USER
-
- To start GNUnet user services for 'USER':
- > sudo rc-service gnunet-USER-services start
-
-TEXT
-
-exit 0
diff --git a/testing/gnunet/gnunet.pre-install b/testing/gnunet/gnunet.pre-install
deleted file mode 100644
index 901356990ab..00000000000
--- a/testing/gnunet/gnunet.pre-install
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/sh
-
-# Add special group gnunetdns for controlling access to "gnunet-helper-dns".
-addgroup -S gnunetdns 2>/dev/null
-
-# Add system user/group gnunet for system services
-addgroup -S gnunet 2>/dev/null
-adduser -S -D -h /var/lib/gnunet -s /sbin/nologin gnunet 2>/dev/null
-adduser gnunet gnunet
-
-exit 0
diff --git a/testing/gnunet/setup-gnunet-user b/testing/gnunet/setup-gnunet-user
deleted file mode 100644
index 8d7b436578d..00000000000
--- a/testing/gnunet/setup-gnunet-user
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/bin/sh
-
-# This scripts helps the user to automate the GNUnet setup for user services.
-
-if [ $(id -u) -ne 0 ]; then
- echo "Please run this script as root."
- echo "Usage: "`basename $0`" -u USER"
- exit
-fi
-if [ $# = 0 ]; then
- echo "Usage: "`basename $0`" -u USER"
- exit
-fi
-
-while getopts ':u:' OPTION ; do
- case "$OPTION" in
- u) USER="$OPTARG";;
- *) echo "Unknown parameter"; exit;;
- esac
-done
-
-CONFIG_PATH="/home/$USER/.config/gnunet.conf"
-DOASUSER="chpst -u $USER env HOME=/home/$USER"
-
-echo "Adding user to group gnunet"
-adduser $USER gnunet 2>/dev/null
-
-echo "Creating user config at $CONFIG_PATH"
-cat > $CONFIG_PATH << EOF
-[arm]
-START_SYSTEM_SERVICES = NO
-START_USER_SERVICES = YES
-EOF
-chown $USER.$USER $CONFIG_PATH
-
-echo "Creating symlink: gnunet-user-services -> gnunet-$USER-services"
-ln -s /etc/init.d/gnunet-user-services /etc/init.d/gnunet-$USER-services
-
-echo "Creating/Renewing GNS certificate authority (CA)"
-$DOASUSER gnunet-gns-proxy-setup-ca
-
-echo "Use GNU Name System in Firefox/Chromium by default? [y,N]"
-read -r yn
-case $yn in
-y|Y )
- PORT=$((8000+$(id -u $USER)))
- $DOASUSER gnunet-config -c $CONFIG_PATH \
- --rewrite \
- --section=gns-proxy \
- --option=IMMEDIATE_START \
- --value=YES
- $DOASUSER gnunet-config -c $CONFIG_PATH \
- --rewrite \
- --section=gns-proxy \
- --option=OPTIONS \
- --value="-p $PORT"
-
- # Firefox
- if [ ! -d /home/$USER/.mozilla/firefox/*.default ];then
- $DOASUSER timeout 3s firefox --headless # dirty: create profile if not existent
- fi
- for ffprofile in /home/$USER/.mozilla/firefox/*.*/; do
- js=$ffprofile/user.js
- if [ -f $js ]; then
- sed -i '/Preferences for using the GNU Name System/d' $js
- sed -i '/network.proxy.socks/d' $js
- sed -i '/network.proxy.socks_port/d' $js
- sed -i '/network.proxy.socks_remote_dns/d' $js
- sed -i '/network.proxy.type/d' $js
- fi
- echo "// Preferences for using the GNU Name System" >> $js
- echo "user_pref(\"network.proxy.socks\", \"localhost\");" >> $js
- echo "user_pref(\"network.proxy.socks_port\", $PORT);" >> $js
- echo "user_pref(\"network.proxy.socks_remote_dns\", true);" >> $js
- echo "user_pref(\"network.proxy.type\", 1);" >> $js
- done
-
- # Chromium
- PROFILE=/home/$USER/.profile
- if [ -f $PROFILE ]; then
- sed -i '/CHROMIUM_USER_FLAGS/d' $PROFILE
- fi
- echo "export CHROMIUM_USER_FLAGS=--proxy-server=socks5://localhost:$PORT" \
- >> $PROFILE
- ;;
-* )
- ;;
-esac
-
-echo "Done."
diff --git a/testing/gnuradio/APKBUILD b/testing/gnuradio/APKBUILD
deleted file mode 100644
index 7ccb42992e4..00000000000
--- a/testing/gnuradio/APKBUILD
+++ /dev/null
@@ -1,92 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=gnuradio
-pkgver=3.9.4.0
-pkgrel=1
-pkgdesc="General purpose DSP and SDR toolkit"
-url="https://www.gnuradio.org"
-# libvolk only supports armv7, aarch64, x86_64. On armv7 other dependencies
-# are not available, so it also not supported for now.
-arch="aarch64 x86_64"
-license="GPL-3.0-or-later"
-checkdepends="xvfb-run"
-makedepends="
- blas-dev
- boost-dev
- cmake
- doxygen
- fftw-dev
- gmp-dev
- graphviz
- gsl-dev
- gsm-dev
- gtk+3.0-dev
- libvolk-dev
- libsndfile-dev
- log4cpp-dev
- mpir-dev
- py3-numpy-dev
- py3-pybind11-dev
- py3-sphinx
- python3-dev
- soapy-sdr-dev
- qt5-qtbase-dev
- qwt-dev
- "
-depends="
- py3-cairo
- py3-gobject3
- py3-mako
- py3-numpy
- py3-qtgraph
- py3-qt5
- py3-scipy
- py3-six
- py3-yaml
- "
-subpackages="$pkgname-doc $pkgname-dev"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/gnuradio/gnuradio/archive/v$pkgver.tar.gz
- disable-test.patch
- "
-
-[ "$CARCH" = "aarch64" ] && options="!check" # tests hang on the builder
-
-build() {
- # inlining failed in call to 'always_inline' 'vsnprintf':
- # function body can be overwritten at link time
- export CXXFLAGS="$CXXFLAGS -U_FORTIFY_SOURCE"
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_VERBOSE_MAKEFILE=ON \
- -DENABLE_GRC=ON \
- -DENABLE_GR_QTGUI=ON \
- -DENABLE_PYTHON=ON \
- -Wno-dev
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-check() {
- # remove failing tests
- case "$CARCH" in
- x86_64)
- sed -i build/gr-blocks/python/blocks/CTestTestfile.cmake \
- -e '/add_test(qa_rotator_cc /d'
- sed -i build/gr-qtgui/python/qtgui/CTestTestfile.cmake \
- -e '/add_test(qa_qtgui /d'
- ;;
- esac
- export CTEST_PARALLEL_LEVEL=$JOBS
- xvfb-run ctest --output-on-failure --test-dir build
-}
-
-sha512sums="
-61c8a943f3cc0b33e4d4994b9e0bf5f79458bb21a2648fe6094dfb9b50edea7452f1bd35e6b1e566e331cf7fb4ea2a342d59bbd8798d5710d80eb037f427a183 gnuradio-3.9.4.0.tar.gz
-168fdf8737e7a52864f9baf13a5061574cb30c67003feb518b1ba906f639cc4fe77d90a71efe2b6cb1da86ac0e226f2311e8116c19be21d6ec653f197cb524e0 disable-test.patch
-"
diff --git a/testing/gnuradio/disable-test.patch b/testing/gnuradio/disable-test.patch
deleted file mode 100644
index 1cf04589e29..00000000000
--- a/testing/gnuradio/disable-test.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/gr-blocks/lib/CMakeLists.txt
-+++ b/gr-blocks/lib/CMakeLists.txt
-@@ -236,7 +236,6 @@
- qa_gr_flowgraph.cc
- qa_gr_hier_block2.cc
- qa_gr_hier_block2_derived.cc
-- qa_gr_top_block.cc
- qa_rotator.cc
- qa_set_msg_handler.cc
- )
diff --git a/testing/gnurl/APKBUILD b/testing/gnurl/APKBUILD
deleted file mode 100644
index ad92107a3fc..00000000000
--- a/testing/gnurl/APKBUILD
+++ /dev/null
@@ -1,86 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
-pkgname=gnurl
-pkgver=7.69.1
-pkgrel=1
-pkgdesc="A micro fork of libcurl"
-url="https://gnunet.org/en/gnurl.html"
-arch="all"
-license="MIT"
-depends="ca-certificates"
-depends_dev="gnutls-dev libidn2-dev zlib-dev"
-checkdepends="python3"
-makedepends="$depends_dev perl"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-source="https://mirror.kumi.systems/gnu/gnunet/gnurl-$pkgver.tar.gz"
-
-# secfixes:
-# 7.66.0-r0:
-# - CVE-2019-5482
-# - CVE-2019-5481
-# 7.65.0-r0:
-# - CVE-2019-5436
-
-build() {
- # Note: The second group of options is based on
- # http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/www/gnurl/Makefile?rev=1.9&content-type=text/x-cvsweb-markup.
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --enable-ipv6 \
- --enable-static \
- --enable-unix-sockets \
- --with-ca-path=/etc/ssl/certs \
- --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
- --with-pic \
- \
- --without-libssh2 \
- --without-libmetalink \
- --without-winidn \
- --without-librtmp \
- --without-nghttp2 \
- --without-nss \
- --without-cyassl \
- --without-ssl \
- --without-winssl \
- --without-darwinssl \
- --disable-sspi \
- --disable-ldap \
- --without-libpsl \
- --disable-rtsp \
- --disable-dict \
- --disable-telnet \
- --disable-tftp \
- --disable-pop3 \
- --disable-imap \
- --disable-smtp \
- --disable-gopher \
- --disable-file \
- --disable-ftp \
- --disable-smb \
- --disable-ntlm-wb \
- --with-gnutls \
- --with-libidn2 \
- --with-libz \
- --without-ca-fallback \
- --without-gssapi \
- --disable-valgrind \
- --without-ngtcp2 \
- --without-nghttp2 \
- --without-nghttp3 \
- --without-quiche
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="aaef41159bcaee5c462658174d952b0ca4612775d8c57f1c8f328e7fad2a6332d6c9fc66461fc487c85309d2328f0bf880cb341975c3734a2323aed3d0d68130 gnurl-7.69.1.tar.gz"
diff --git a/testing/go-acceptlanguageparser/APKBUILD b/testing/go-acceptlanguageparser/APKBUILD
deleted file mode 100644
index b3779fbb671..00000000000
--- a/testing/go-acceptlanguageparser/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-acceptlanguageparser
-_pkgname=goacceptlanguageparser
-_vendor="strukturag"
-pkgver=100
-pkgrel=5
-pkgdesc="Go library for parsing HTTP request header Accept-Language"
-url="https://github.com/$_vendor/$_pkgname"
-arch="noarch"
-license="BSD-3-Clause"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/${_pkgname}_v$pkgver.tar.gz"
-builddir="$srcdir"/${_pkgname}-${_pkgname}_v$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.md \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv *.go "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="319bccac8bd61677b9e1437e54053b70feb4bdc1ce289ca9c68594fe0731b3efc3fbc77a9bfd2dbedc9a0a52d01bdd269981eb7d49a515ff0a6dc27c2811923d go-acceptlanguageparser-100.tar.gz"
diff --git a/testing/go-conf/APKBUILD b/testing/go-conf/APKBUILD
deleted file mode 100644
index 595d6ebdbba..00000000000
--- a/testing/go-conf/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-conf
-_pkgname=goconf
-_vendor=dlintw
-pkgver=0_git20170102
-pkgrel=5
-pkgdesc="goconf package - fork from https://code.google.com/p/goconf/"
-url="https://github.com/$_vendor/$_pkgname"
-arch="noarch"
-license="BSD-3-Clause"
-depends="go"
-subpackages="$pkgname-doc"
-source="https://dev.alpinelinux.org/archive/$_pkgname/$_pkgname-$pkgver.tar.gz"
-giturl="https://github.com/dlintw/$_pkgname.git"
-disturl="larena@dev.alpinelinux.org:/archive/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- cd "$builddir"
- export GOPATH="$srcdir" make all
-}
-
-check() {
- cd "$builddir"
- export GOPATH="$srcdir" make test
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/vendor/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv *.go "$pkgdir"/usr/lib/go/src/vendor/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="b497d81356b8dc93b6421cadfd4e396399ff7eea183fec1509f925d46b3d19367294c2515589d3f1ee3dd20169980615a8bec030a9a7479274b9add2446c0e59 goconf-0_git20170102.tar.gz"
diff --git a/testing/go-context/APKBUILD b/testing/go-context/APKBUILD
deleted file mode 100644
index 0877464882d..00000000000
--- a/testing/go-context/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor:
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-context
-_pkgname=context
-_vendor=gorilla
-pkgver=1.1
-pkgrel=5
-pkgdesc="A golang registry for global request variables"
-url="http://www.gorillatoolkit.org"
-arch="noarch"
-license="BSD-3-Clause"
-subpackages="$pkgname-doc"
-depends="go"
-options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/vendor/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.md \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/vendor/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="a4864abec77e82c63f075c18517b4c486e6196b80f234f667d3d7d29bbd67967f0c0df80a398c0aa9c7a6d4e57326b3c3045f541a258d02c02d6ced5f0bc2327 go-context-1.1.tar.gz"
diff --git a/testing/go-httputils/APKBUILD b/testing/go-httputils/APKBUILD
deleted file mode 100644
index 5017508549d..00000000000
--- a/testing/go-httputils/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-httputils
-_pkgname=httputils
-_vendor="strukturag"
-pkgver=012
-pkgrel=4
-pkgdesc="Go support library for HTTP servers"
-url="https://github.com/$_vendor/$_pkgname"
-arch="noarch"
-license="BSD-3-Clause"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/strukturag/$_pkgname/archive/${_pkgname}_v$pkgver.tar.gz"
-builddir="$srcdir"/${_pkgname}-${_pkgname}_v$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$_pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="e508c121f6b226dcc8f7eea2104e3bf620ada5c8d66e5569cb3e6f33f95d7ce5cac97f4e1b34afb34fc13e280ec9e3ea846b408412ddf3badcfb70674a328d84 go-httputils-012.tar.gz"
diff --git a/testing/go-jsonnet/APKBUILD b/testing/go-jsonnet/APKBUILD
new file mode 100644
index 00000000000..cbf26ec4a88
--- /dev/null
+++ b/testing/go-jsonnet/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=go-jsonnet
+pkgver=0.20.0
+pkgrel=6
+pkgdesc="Implementation of Jsonnet in Go"
+url="https://jsonnet.org"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/google/go-jsonnet/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+case "$CARCH" in
+ s390x|riscv64) options="!check" ;; # blocked by rapidyaml -> jsonnet-dev
+ *) checkdepends="jsonnet-dev" ;;
+esac
+
+build() {
+ for bin in jsonnet jsonnetfmt jsonnet-deps jsonnet-lint; do
+ go build ./cmd/$bin
+ done
+}
+
+check() {
+ # C bindings tests (using Python) depend on the vendored jsonnet C++ source code
+ go test ./...
+}
+
+package() {
+ for bin in jsonnet jsonnetfmt jsonnet-deps jsonnet-lint; do
+ install -Dm755 ./$bin -t "$pkgdir"/usr/bin/
+ done
+}
+
+sha512sums="
+0ba06e254a6442764fd016c912968ab373b7fd21044175bbbc465b8fbda42f669bcbbd30d518427279d44f84b9b7678f7152192116c58c4b0bd1642f24136a3c go-jsonnet-0.20.0.tar.gz
+"
diff --git a/testing/go-mtpfs/APKBUILD b/testing/go-mtpfs/APKBUILD
index 6f81cd597d4..7874e81571e 100644
--- a/testing/go-mtpfs/APKBUILD
+++ b/testing/go-mtpfs/APKBUILD
@@ -1,7 +1,7 @@
-# Maintainer: Dekedro <dekedro@tankers.xyz>
+# Maintainer: Dekedro <dekedro@protonmail.com>
pkgname=go-mtpfs
pkgver=1.0.0
-pkgrel=1
+pkgrel=19
pkgdesc="Mount MTP devices over FUSE"
url="https://github.com/hanwen/go-mtpfs"
arch="all"
@@ -10,6 +10,10 @@ makedepends="go libusb-dev"
options="net !check" # tests require MTP device to be connected
source="$pkgname-$pkgver.tar.gz::https://github.com/hanwen/go-mtpfs/archive/refs/tags/v$pkgver.tar.gz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
go build
}
diff --git a/testing/go-mux/APKBUILD b/testing/go-mux/APKBUILD
deleted file mode 100644
index 302a66b4b2f..00000000000
--- a/testing/go-mux/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-mux
-_pkgname=mux
-_vendor=gorilla
-pkgver=1.7.3
-pkgrel=2
-pkgdesc="A powerful URL router and dispatcher for golang"
-url="http://www.gorillatoolkit.org"
-arch="noarch"
-license="BSD-3-Clause"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/gorilla/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- return 0
-}
-
-package() {
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$_pkgname
- done
- mv *.go "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="90e3da0f680ea0cf8d771cae9cbb5e35867f0e0a08f9ab7d22048b19851b57f1353f435abff7ea1db3c190081e363092e93cd6a57c2a64b6531458c2f6054365 go-mux-1.7.3.tar.gz"
diff --git a/testing/go-nats/APKBUILD b/testing/go-nats/APKBUILD
deleted file mode 100644
index be20d604533..00000000000
--- a/testing/go-nats/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-nats
-pkgver=1.7.2
-pkgrel=2
-pkgdesc="Golang client for NATS, the cloud native messaging system"
-url="https://github.com/nats-io/go-nats"
-arch="noarch !mips64" # blocked by go
-license="MIT"
-depends="go"
-subpackages="$pkgname-doc"
-_vendor="nats-io"
-options="!check"
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$pkgname
- # some programs look for "nats" library
- ln -s go-nats "$pkgdir"/usr/lib/go/src/github.com/$_vendor/nats
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- TODO.* \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$pkgname
-}
-
-sha512sums="60656b1fb963b5b9a92107ff76c1160ddc55d5bf228f7065b141cfed40d9c528b7c1ff10491392709ecd52785185a60613bc1843c5b2d03adaf0f5c69df84bb0 go-nats-1.7.2.tar.gz"
diff --git a/testing/go-nuid/APKBUILD b/testing/go-nuid/APKBUILD
deleted file mode 100644
index e558aec054b..00000000000
--- a/testing/go-nuid/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-nuid
-_pkgname=nuid
-_vendor="nats-io"
-pkgver=1.0.0
-pkgrel=5
-pkgdesc="NATS Unique Identifiers"
-url="https://github.com/$_vendor/$_pkgname"
-arch="noarch"
-license="MIT"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/vendor/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/vendor/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="b4a02aae9b29ee00bc482d7eda6ff9fdb1e64419e0d728ce4c1180027e6e4846444ace2376abf7a0f597c5e08a27594708d48257348555b1c611d6a588e2a734 go-nuid-1.0.0.tar.gz"
diff --git a/testing/go-passbolt-cli/APKBUILD b/testing/go-passbolt-cli/APKBUILD
new file mode 100644
index 00000000000..edceadae8cf
--- /dev/null
+++ b/testing/go-passbolt-cli/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=go-passbolt-cli
+pkgver=0.3.1
+pkgrel=0
+pkgdesc="Command-line tool to interact with Passbolt"
+url="https://github.com/passbolt/go-passbolt-cli"
+arch="all"
+license="MIT"
+makedepends="go"
+source="
+ https://github.com/passbolt/go-passbolt-cli/archive/v$pkgver/go-passbolt-cli-$pkgver.tar.gz
+ passbolt-cli-helper.sh
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o go-passbolt-cli
+}
+
+check() {
+ go test -v ./...
+}
+
+package() {
+ install -Dm755 go-passbolt-cli "$pkgdir"/usr/bin/go-passbolt-cli
+ install -Dm755 "$srcdir"/passbolt-cli-helper.sh "$pkgdir"/usr/bin/passbolt-cli-helper
+}
+
+sha512sums="
+d6f57f897d47597d6c0399ac5a0096fdb1c5ee371fac8ff07d75c679623886f81b90a3bdc6356df0ab0b44323fb73ace2d5128dd87238321f91a8a1d80aed905 go-passbolt-cli-0.3.1.tar.gz
+93daf603af9945e70cd009eb7a9326049622299b3f1f55b41ae98f1eaa07ce8778d27915bf1e96aa7b7d34c492ab0ce11d8481f616b9ca464e497b82bd18289f passbolt-cli-helper.sh
+"
diff --git a/testing/go-passbolt-cli/passbolt-cli-helper.sh b/testing/go-passbolt-cli/passbolt-cli-helper.sh
new file mode 100755
index 00000000000..d47b954f92a
--- /dev/null
+++ b/testing/go-passbolt-cli/passbolt-cli-helper.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+set -eu
+
+requested_name=$1
+id=$2
+
+# OPTIMIZE: Only call api once
+name=$(go-passbolt-cli get resource --id $id | awk '/^Name:/ { print $2 }')
+if [ "$name" != "$requested_name" ]; then
+ echo "Name does not match (expected: $requested_name, returned: $name)" >&2
+ exit 1
+fi
+
+pass=$(go-passbolt-cli get resource --id $id | awk '/^Password:/ { print $2 }')
+
+echo "$pass"
diff --git a/testing/go-phoenix/APKBUILD b/testing/go-phoenix/APKBUILD
deleted file mode 100644
index 37fdf840741..00000000000
--- a/testing/go-phoenix/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-phoenix
-_pkgname=phoenix
-_vendor="strukturag"
-pkgver=1.0.2
-_ver=${pkgver//./}
-pkgrel=5
-pkgdesc="Go library providing support functionality for application startup, configuration, logging, and profiling."
-url="https://github.com/$_vendor/$_pkgname"
-arch="noarch"
-license="BSD-3-Clause"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/strukturag/$_pkgname/archive/${_pkgname}_v$_ver.tar.gz"
-builddir="$srcdir"/$_pkgname-${_pkgname}_v$_ver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="7b673e57135098b99fcc54cbe6b72dbd84a0342e2f8371e3b815e0a7598c2e4d4dccbbe6a71d250b88f9ad9ce285a4e108886ff3d2a77acc7eba1cf19bd4f7a2 go-phoenix-1.0.2.tar.gz"
diff --git a/testing/go-pkac/APKBUILD b/testing/go-pkac/APKBUILD
deleted file mode 100644
index 5282e064c9e..00000000000
--- a/testing/go-pkac/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-pkac
-_pkgname=pkac
-_vendor="longsleep"
-pkgver=0.1.0
-pkgrel=4
-pkgdesc="SPKAC/PKAC HTML keygen element data decoding for Go"
-url="https://github.com/$_vendor/$_pkgname"
-arch="noarch"
-license="BSD-3-Clause"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.md \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="0c279736f116dc585ae2475cb727915c88b2424efa219a115b33f5c2da2272caa8faab0eee93f8473c749d5dea1a10f1ab32b10f7e17a69bf11380a1b066c99a go-pkac-0.1.0.tar.gz"
diff --git a/testing/go-securecookie/APKBUILD b/testing/go-securecookie/APKBUILD
deleted file mode 100644
index 24e15882584..00000000000
--- a/testing/go-securecookie/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-securecookie
-_pkgname=securecookie
-_vendor=gorilla
-pkgver=1.1
-pkgrel=5
-pkgdesc="Encodes and decodes authenticated and optionally encrypted cookie values for Go"
-url="http://www.gorillatoolkit.org"
-arch="noarch"
-license="BSD-3-Clause"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="6473fdeb32f7a5182dc836e9588f3b7c2a29e1a244f36ac2077caad7a60dedeb5acf2da7766d270a5ef0ab1cef2c229e4b296cdf259569af1e9c99a382e31c2b go-securecookie-1.1.tar.gz"
diff --git a/testing/go-sloth/APKBUILD b/testing/go-sloth/APKBUILD
deleted file mode 100644
index 1a1001f4010..00000000000
--- a/testing/go-sloth/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-sloth
-_pkgname=sloth
-_vendor="strukturag"
-pkgver=0.9.2
-pkgrel=5
-pkgdesc="A tiny REST framework for Go"
-url="https://github.com/$_vendor/$_pkgname"
-arch="noarch"
-license="MIT"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check"
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/${_pkgname}-$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS.* \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv *.go "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="2d7550e2cd0f7ae259567a5611886bb70132ca0bf5fc7e85f80f6cb31233cc45120cd8feb862666f31b43fd95de83713e7cfc38687074ea6659b9dd6dbd08332 go-sloth-0.9.2.tar.gz"
diff --git a/testing/go-spreed-turnservicecli/APKBUILD b/testing/go-spreed-turnservicecli/APKBUILD
deleted file mode 100644
index 734dac1d6ee..00000000000
--- a/testing/go-spreed-turnservicecli/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-spreed-turnservicecli
-_pkgname=spreed-turnservicecli
-_vendor="strukturag"
-pkgver=0.1.0
-pkgrel=5
-pkgdesc="TURN service client implementation for Go"
-url="https://github.com/$_vendor/$_pkgname"
-arch="noarch"
-license="AGPL-3.0-only"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check"
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="a9b82985154c8d0ffa85c684204650fd28af4e868f3c20c1f1524144ab208adb7199f694c3a0787f09994485ad64f857321d41773f80ac18f22161f01273459d go-spreed-turnservicecli-0.1.0.tar.gz"
diff --git a/testing/go-swag/APKBUILD b/testing/go-swag/APKBUILD
new file mode 100644
index 00000000000..09808eb35cb
--- /dev/null
+++ b/testing/go-swag/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
+# Maintainer: leso-kn <info@lesosoftware.com>
+pkgname=go-swag
+pkgver=1.8.12
+pkgrel=4
+pkgdesc="Automatically generate RESTful API documentation with Swagger 2.0 for Go"
+url="https://github.com/swaggo/swag"
+arch="all"
+license="MIT"
+makedepends="go"
+# upstream issue (enums-test-32bit): https://github.com/swaggo/swag/issues/1633
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/swaggo/swag/archive/refs/tags/v$pkgver.tar.gz
+ enums-test-32bit.patch
+ "
+builddir="$srcdir/swag-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ make build
+}
+
+check() {
+ # do not NOT as root! some tests fail if run as root.
+ export GOROOT="/usr/lib/go"
+
+ if [ "$CARCH" = "riscv64" ]; then
+ # TestGen_BuildDescriptionWithQuotes makes use of 'go build -buildmode=plugin' which is not supported on riscv64.
+ go test -run '!(^(TestGen_BuildDescriptionWithQuotes)$)' ./...
+ else
+ make test
+ fi
+}
+
+package() {
+ install -Dm0755 swag "$pkgdir"/usr/bin/go-swag
+ ln -s /usr/bin/go-swag "$pkgdir/usr/bin/swag"
+}
+
+sha512sums="
+29c29c0a9bd17c4b783436967c7c2a1a0fcde2ad11dfd4cb6ee26991f26c49c6fdd541c7a5d62628c3aa9b4f56a657d1ecaf46dd48b57264f4420cda2e984fee go-swag-1.8.12.tar.gz
+24a30976e7aab4708cc8e740ff77a99d5ce5b0bde0dffe4598161ab53ebbaa3ac39c19acb83d290cca9a38bc3515cb10ec8310def6a9a016f98ff86075d591a2 enums-test-32bit.patch
+"
diff --git a/testing/go-swag/enums-test-32bit.patch b/testing/go-swag/enums-test-32bit.patch
new file mode 100644
index 00000000000..770388886a1
--- /dev/null
+++ b/testing/go-swag/enums-test-32bit.patch
@@ -0,0 +1,22 @@
+diff --git a/enums_test.go b/enums_test.go
+index dbae10d..ca5f189 100644
+--- a/enums_test.go
++++ b/enums_test.go
+@@ -2,6 +2,7 @@ package swag
+
+ import (
+ "encoding/json"
++ "math"
+ "os"
+ "path/filepath"
+ "testing"
+@@ -21,7 +22,8 @@ func TestParseGlobalEnums(t *testing.T) {
+ assert.NoError(t, err)
+ assert.Equal(t, string(expected), string(b))
+ constsPath := "github.com/swaggo/swag/testdata/enums/consts"
+- assert.Equal(t, 64, p.packages.packages[constsPath].ConstTable["uintSize"].Value)
++ bitsizeHostUint := int(math.Round(math.Log2(float64(^uintptr(0)))))
++ assert.Equal(t, bitsizeHostUint, p.packages.packages[constsPath].ConstTable["uintSize"].Value)
+ assert.Equal(t, int32(62), p.packages.packages[constsPath].ConstTable["maxBase"].Value)
+ assert.Equal(t, 8, p.packages.packages[constsPath].ConstTable["shlByLen"].Value)
+ assert.Equal(t, 255, p.packages.packages[constsPath].ConstTable["hexnum"].Value)
diff --git a/testing/go-uuid/APKBUILD b/testing/go-uuid/APKBUILD
deleted file mode 100644
index 552ff4fbee4..00000000000
--- a/testing/go-uuid/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-uuid
-_pkgname=go.uuid
-pkgver=1.2.0
-pkgrel=4
-pkgdesc="UUID package for Go"
-url="https://github.com/satori/$_pkgname"
-arch="noarch"
-license="MIT"
-depends="go"
-subpackages="$pkgname-doc"
-_vendor="satori"
-options="!check"
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- return 0
-}
-
-package() {
- cd "$builddir"
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="ed1089397ec2bd4f8852ec3d0888a48be73f183e1b2e582c74fcc6363f605bbcf7dcbb26142eeffe23026b72ec85dbe6af52ae1e16234258dd9a2d7a6bdc8dae go-uuid-1.2.0.tar.gz"
diff --git a/testing/go-websocket/APKBUILD b/testing/go-websocket/APKBUILD
deleted file mode 100644
index 414677b3488..00000000000
--- a/testing/go-websocket/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
-pkgname=go-websocket
-_pkgname=websocket
-_vendor=gorilla
-pkgver=1.4.0
-pkgrel=2
-pkgdesc="A WebSocket implementation for Go"
-url="http://www.gorillatoolkit.org"
-arch="noarch"
-license="BSD-2-Clause"
-depends="go"
-subpackages="$pkgname-doc"
-options="!check"
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-package() {
- mkdir -p "$pkgdir"/usr/share/doc/$_vendor/$pkgname \
- "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
- for file in \
- LICENSE \
- README.* \
- COPYRIGHT \
- AUTHORS \
- examples \
- ; do \
- test -e $file && mv $file "$pkgdir"/usr/share/doc/$_vendor/$pkgname
- done
- mv * "$pkgdir"/usr/lib/go/src/github.com/$_vendor/$_pkgname
-}
-
-sha512sums="c358358d8c081e32eb06bde901c1d060de7ca08c2a60541dc06f70936a94de3d6a8ae26dd86ebceeeef6c2b75f9c79a0c4a1f8fc6ee84f5ed7ec9fe6f9c7dee4 go-websocket-1.4.0.tar.gz"
diff --git a/testing/gobang/APKBUILD b/testing/gobang/APKBUILD
new file mode 100644
index 00000000000..8a4126fbe21
--- /dev/null
+++ b/testing/gobang/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+pkgname=gobang
+pkgver=0.1.0_alpha5
+_pkgver=0.1.0-alpha.5
+pkgrel=1
+pkgdesc="Cross-platform TUI database management tool written in Rust"
+url="https://github.com/TaKO8Ki/gobang"
+arch="x86_64 armv7 armhf aarch64 x86" # limited by rust/cargo/ring crate
+license="GPL-2.0-or-later"
+makedepends="
+ cargo
+ cargo-auditable
+ rust
+ "
+source="https://github.com/TaKO8Ki/gobang/archive/refs/tags/v$_pkgver/gobang-v$_pkgver.tar.gz"
+options="!check" # no test suite
+builddir="$srcdir/$pkgname-$_pkgver/"
+
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -D -m755 target/release/gobang -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+364c7ece048846ff19a35fba67a3c16b1ff9c1b22b0caea5b9153294d7f2a2518808e15cad37b9f6adacc001f1883d21947468b73c29746299c3126fe44920cc gobang-v0.1.0-alpha.5.tar.gz
+"
diff --git a/testing/gobuster/APKBUILD b/testing/gobuster/APKBUILD
index 85b92813ff2..952961cb56d 100644
--- a/testing/gobuster/APKBUILD
+++ b/testing/gobuster/APKBUILD
@@ -1,27 +1,30 @@
# Maintainer: Pedro Filipe <xpecex@outlook.com>
pkgname=gobuster
-pkgver=3.1.0
-pkgrel=2
+pkgver=3.6.0
+pkgrel=4
pkgdesc="Directory/File, DNS and VHost busting tool written in Go"
url="https://github.com/OJ/gobuster"
-arch="all !mips !mips64 !s390x"
+arch="all !s390x"
license="Apache-2.0"
makedepends="go"
source="$pkgname-$pkgver.tar.gz::https://github.com/OJ/gobuster/archive/v$pkgver.tar.gz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
- go build -ldflags "-s -w" \
- -gcflags="all=-trimpath=$GOPATH/src" \
- -asmflags="all=-trimpath=$GOPATH/src" \
- -o build/gobuster
+ go build -o build/gobuster
}
check() {
- make test
+ go test -v ./...
}
package() {
install -Dm755 "./build/gobuster" "$pkgdir/usr/bin/gobuster"
}
-sha512sums="956789e83aca3a06e04080ecf8bb723328b717019abf6b749e600c6e632c2c6a39b8ac9293521ed82c309cdcf3402a0a88107b62590d74e8947958f625c3de20 gobuster-3.1.0.tar.gz"
+sha512sums="
+838a90dfa439e7955ac190beee3871b8b3fb7bfa66ba0b42be9433cfa8b4ee695be0688a5726e7f7eea86f6cd517591b3fe4fbd10a8110874afa8c8199ce2108 gobuster-3.6.0.tar.gz
+"
diff --git a/testing/godot/APKBUILD b/testing/godot/APKBUILD
index 7a3800f7f1e..bc2aff8aca5 100644
--- a/testing/godot/APKBUILD
+++ b/testing/godot/APKBUILD
@@ -1,54 +1,145 @@
# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=godot
-pkgver=3.2.3
-pkgrel=3
-pkgdesc="An advanced, feature packed, multi-platform 2D and 3D game engine"
-url="http://www.godotengine.org"
-arch="x86_64" # deactivated for other architecture due to conflicts between binaries
+pkgver=4.1.3
+pkgrel=1
+pkgdesc="Multi-platform 2D and 3D game engine"
+url="https://godotengine.org"
license="MIT"
-# TODO: Use system freetype instead of bundled one.
+# Only armv7 and x86_64 are tested, give other architectures a try
+# build system is completely broken and refuses to detect anything correctly
+arch="x86_64 x86 armv7 aarch64"
makedepends="
alsa-lib-dev
- gcc
- libexecinfo-dev
+ enet-dev
+ freetype-dev
+ glslang-dev
+ graphite2-dev
+ harfbuzz-dev
+ icu-dev
+ libgudev-dev
+ libogg-dev
+ libpng-dev
+ libtheora-dev
+ libvorbis-dev
+ libwebp-dev
libx11-dev
libxcursor-dev
libxi-dev
libxinerama-dev
libxrandr-dev
+ mbedtls2-dev
mesa-dev
+ miniupnpc-dev
+ opusfile-dev
+ pcre2-dev
pulseaudio-dev
- python3
+ python3-dev
scons
- vulkan-headers
- yasm-dev
+ wslay-dev
+ zlib-dev
+ zstd-dev
"
-options="!check" # no testsuites
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/godotengine/godot/archive/$pkgver-stable.tar.gz
- crash_handler_x11.patch
+depends="ca-certificates-bundle"
+subpackages="$pkgname-doc $pkgname-templates"
+source="https://github.com/godotengine/godot/releases/download/$pkgver-stable/godot-$pkgver-stable.tar.xz
+ gcc13.patch
+ no-execinfo.patch
"
-builddir="$srcdir/$pkgname-$pkgver-stable"
+options="!check" # No tests
+builddir="$srcdir"/godot-"$pkgver"-stable
+_sconsflags="
+ builtin_certs=false
+ builtin_enet=false
+ builtin_freetype=false
+ builtin_glslang=false
+ builtin_graphite=false
+ builtin_harfbuzz=false
+ builtin_icu4c=false
+ builtin_libogg=false
+ builtin_libpng=false
+ builtin_libtheora=false
+ builtin_libvorbis=false
+ builtin_libwebp=false
+ builtin_mbedtls=false
+ builtin_miniupnpc=false
+ builtin_opus=false
+ builtin_pcre2=false
+ builtin_wslay=false
+ builtin_zlib=false
+ builtin_zstd=false
+ execinfo=false
+ system_certs_path=/etc/ssl/cert.pem
+ use_sowrap=false
+ speechd=false
+ use_static_cpp=false
+ "
+
+case "$CARCH" in
+aarch64|x86_64)
+ makedepends="$makedepends embree3-dev"
+ _sconsflags="$_sconsflags builtin_embree=false"
+ ;;
+esac
+
+case "$CARCH" in
+x86_64)
+ ;;
+*)
+ # only builds on x86_64
+ _sconsflags="$_sconsflags module_denoise_enabled=false"
+ ;;
+esac
build() {
- scons platform=x11 \
- tools=yes \
- target=release_debug \
- use_llvm=no \
- colored=yes \
- pulseaudio=yes \
- builtin_vulkan=yes \
- builtin_freetype=no \
- bits=64
+ case "$CARCH" in
+ x86_64)
+ local arch="x86_64"
+ ;;
+ x86)
+ local arch="x86_32"
+ ;;
+ armv7)
+ local arch="arm32"
+ ;;
+ aarch64)
+ local arch="arm64"
+ ;;
+ esac
+ export BUILD_NAME="alpine_linux"
+ for target in editor template_release template_debug; do
+ scons -j${JOBS:-1} \
+ platform=linuxbsd \
+ target=$target \
+ arch=$arch \
+ $_sconsflags \
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ LINKFLAGS="$LDFLAGS"
+ done
}
package() {
- install -Dm644 misc/dist/linux/org.godotengine.Godot.desktop "$pkgdir/usr/share/applications/godot.desktop"
- install -Dm644 icon.svg "$pkgdir/usr/share/pixmaps/godot.svg"
+ pkgdesc="$pkgdesc (GUI editor)"
+ install -Dm644 misc/dist/linux/org.godotengine.Godot.desktop \
+ -t "$pkgdir"/usr/share/applications/
+ install -Dm644 misc/dist/linux/org.godotengine.Godot.appdata.xml \
+ -t "$pkgdir"/usr/share/metainfo/
+ install -Dm644 icon.png "$pkgdir"/usr/share/icons/hicolor/256x256/apps/godot.png
+ install -Dm644 icon.svg "$pkgdir"/usr/share/icons/hicolor/scalable/apps/godot.svg
+ install -Dm644 misc/dist/linux/godot.6 -t "$pkgdir"/usr/share/man/man6/
+ install -Dm755 bin/godot.*.editor.* "$pkgdir"/usr/bin/godot
+ install -Dm755 bin/godot.*.template_debug.* "$pkgdir"/usr/bin/godot-template-debug
+ install -Dm755 bin/godot.*.template_release.* "$pkgdir"/usr/bin/godot-template-release
+}
- install -D -m755 bin/godot.x11.opt.tools.64 "$pkgdir/usr/bin/godot"
- install -D -m644 misc/dist/linux/godot.6 "$pkgdir/usr/share/man/man6/godot.6"
+templates() {
+ pkgdesc="$pkgdesc (templates)"
+ amove usr/bin/*template*
}
-sha512sums="229a32f082e412f20533b781ee95a1e7a9039a6329fe3429f9a3388ba3aada311bcc49c2abecdeec7496ef039a81358009126b21daaeeb127c170b77c3def99f godot-3.2.3.tar.gz
-17f46f7260487d72353a5b16499e964360b8e0cb007780a485c756fd5bb36dbb422f8f9844100bf4753bcc99ab04ea58daa4ca1c1972c3fcdc22ca7efdc9efe2 crash_handler_x11.patch"
+
+sha512sums="
+e8dc812fc1bd98ce4d691d51fceb75d943fb40790c5a640e6178eb53b4de8b1078de8e1649e182963cb7beea26b2365c202f6deaea9bb679f789cd546d29f858 godot-4.1.3-stable.tar.xz
+129cf8c0331190a111b8d397b7975ef2087486d3fb083b3e02612d2a07b2601d989842f2ec591e2300819d37c4070f74b8d50194f8f9af3219452b856d534ff8 gcc13.patch
+7563942223564d5235d96a27c840ce0c9d7ceb9690ce1ed02f43c0c4e7b28e85f8311a18b79aeab545bdb83822604f05f98b561d2d00dd3a1b9cea60f528a7d8 no-execinfo.patch
+"
diff --git a/testing/godot/crash_handler_x11.patch b/testing/godot/crash_handler_x11.patch
deleted file mode 100644
index c46c2568502..00000000000
--- a/testing/godot/crash_handler_x11.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Upstream: no
-Backtrace is not available on Musl systems
-
---- a/platform/x11/crash_handler_x11.cpp
-+++ b/platform/x11/crash_handler_x11.cpp
-@@ -49,7 +49,7 @@
- if (OS::get_singleton() == NULL) {
- abort();
- }
--
-+#if defined(__linux__) && defined(__GLIBC__)
- void *bt_buffer[256];
- size_t size = backtrace(bt_buffer, 256);
- String _execpath = OS::get_singleton()->get_executable_path();
-@@ -89,7 +89,6 @@
- free(demangled);
- }
- }
--
- List<String> args;
-
- char str[1024];
-@@ -115,6 +114,7 @@
- free(strings);
- }
- fprintf(stderr, "-- END OF BACKTRACE --\n");
-+#endif
-
- // Abort to pass the error to the OS
- abort();
diff --git a/testing/godot/gcc13.patch b/testing/godot/gcc13.patch
new file mode 100644
index 00000000000..0db5a116aa8
--- /dev/null
+++ b/testing/godot/gcc13.patch
@@ -0,0 +1,10 @@
+--- a/thirdparty/vhacd/inc/vhacdManifoldMesh.h
++++ b/thirdparty/vhacd/inc/vhacdManifoldMesh.h
+@@ -15,6 +15,7 @@
+ #pragma once
+ #ifndef VHACD_MANIFOLD_MESH_H
+ #define VHACD_MANIFOLD_MESH_H
++#include <cstdint>
+ #include "vhacdCircularList.h"
+ #include "vhacdSArray.h"
+ #include "vhacdVector.h"
diff --git a/testing/godot/no-execinfo.patch b/testing/godot/no-execinfo.patch
new file mode 100644
index 00000000000..202bc9c02aa
--- /dev/null
+++ b/testing/godot/no-execinfo.patch
@@ -0,0 +1,27 @@
+diff --git a/platform/linuxbsd/crash_handler_linuxbsd.cpp b/platform/linuxbsd/crash_handler_linuxbsd.cpp
+index 3a24546..ae7430f 100644
+--- a/platform/linuxbsd/crash_handler_linuxbsd.cpp
++++ b/platform/linuxbsd/crash_handler_linuxbsd.cpp
+@@ -37,7 +37,6 @@
+ #include "main/main.h"
+
+ #ifdef DEBUG_ENABLED
+-#define CRASH_HANDLER_ENABLED 1
+ #endif
+
+ #ifdef CRASH_HANDLER_ENABLED
+diff --git a/platform/linuxbsd/detect.py b/platform/linuxbsd/detect.py
+index 3f713d2..e27e1eb 100644
+--- a/platform/linuxbsd/detect.py
++++ b/platform/linuxbsd/detect.py
+@@ -429,8 +429,8 @@ def configure(env: "Environment"):
+ if not env["execinfo"] and platform.libc_ver()[0] != "glibc":
+ # The default crash handler depends on glibc, so if the host uses
+ # a different libc (BSD libc, musl), fall back to libexecinfo.
+- print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.")
+- env["execinfo"] = True
++ # print("Note: Using `execinfo=yes` for the crash handler as required on platforms where glibc is missing.")
++ env["execinfo"] = False
+
+ if env["execinfo"]:
+ env.Append(LIBS=["execinfo"])
diff --git a/testing/gomp/APKBUILD b/testing/gomp/APKBUILD
new file mode 100644
index 00000000000..e7d4a401b5c
--- /dev/null
+++ b/testing/gomp/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Hygna <hygna@proton.me>
+# Maintainer: Hygna <hygna@proton.me>
+pkgname=gomp
+pkgver=1.0.0
+pkgrel=4
+pkgdesc="MPD client inspired by ncmpcpp with builtin cover-art view and LastFM integration."
+url="https://github.com/aditya-K2/gomp"
+arch="all"
+license="GPL-3.0-only"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/aditya-K2/gomp/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests suite
+
+build() {
+ go generate
+ go build
+}
+
+package() {
+ install -Dm 755 gomp "$pkgdir"/usr/bin/gomp
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+ccbdbc0f480e53deea818cd972c51abcdc4218788170f5a1a115363a581abc30bdb207dbc7b2240867fa35c55faa9b7bfc7223e8230a313285c1cf60fe7209ee gomp-1.0.0.tar.gz
+"
diff --git a/testing/googler/APKBUILD b/testing/googler/APKBUILD
deleted file mode 100644
index 3e1d67a1ade..00000000000
--- a/testing/googler/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Ivan Tham <pickfire@riseup.net>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
-pkgname=googler
-pkgver=4.3.2
-pkgrel=2
-pkgdesc="Google Search, Google Site Search, Google News from the terminal"
-url="https://github.com/jarun/googler"
-arch="noarch"
-license="GPL-3.0-or-later"
-depends="python3"
-subpackages="$pkgname-doc
- $pkgname-bash-completion
- $pkgname-fish-completion
- $pkgname-zsh-completion
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/jarun/googler/archive/v$pkgver.tar.gz"
-
-build() {
- make disable-self-upgrade
-}
-
-package() {
- make install DESTDIR="$pkgdir" PREFIX=/usr
-
- install -Dm644 "$builddir"/auto-completion/bash/* \
- -t "$pkgdir"/usr/share/bash-completion/completions
- install -Dm644 "$builddir"/auto-completion/fish/* \
- -t "$pkgdir"/usr/share/fish/completions
- install -Dm644 "$builddir"/auto-completion/zsh/* \
- -t "$pkgdir"/usr/share/zsh/site-functions
-}
-
-sha512sums="899cc45eea9102b9547c1a7697237bb9cc77093c670e09c74b1331c0f267fa3bb66f2fc58cf576f9ce30047757f0038cf447a0a510c5b2ff33ad68491c008dd9 googler-4.3.2.tar.gz"
diff --git a/testing/goomwwm/APKBUILD b/testing/goomwwm/APKBUILD
index 4054f2834ee..746d897eee3 100644
--- a/testing/goomwwm/APKBUILD
+++ b/testing/goomwwm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
pkgname=goomwwm
pkgver=1.0.0
-pkgrel=1
+pkgrel=4
pkgdesc="Get out of my way, Window Manager!"
url="https://github.com/seanpringle/goomwwm"
arch="all"
diff --git a/testing/gopls/APKBUILD b/testing/gopls/APKBUILD
deleted file mode 100644
index 82445dbd555..00000000000
--- a/testing/gopls/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: David Florness <david@florness.com>
-# Maintainer: David Florness <david@florness.com>
-pkgname=gopls
-pkgver=0.7.4
-pkgrel=0
-pkgdesc="Language server for Go programming language"
-url="https://github.com/golang/tools/blob/master/gopls"
-license="BSD-3-Clause"
-arch="all"
-options="chmod-clean"
-makedepends="go"
-source="$pkgname-$pkgver.tar.gz::https://github.com/golang/tools/archive/gopls/v$pkgver.tar.gz"
-builddir="$srcdir/tools-$pkgname-v$pkgver/$pkgname"
-
-export GOPATH="$srcdir"
-
-check() {
- cd test
- go test
-}
-
-build() {
- go build -trimpath -o dist/gopls
-}
-
-package() {
- install -Dm755 dist/gopls "$pkgdir"/usr/bin/gopls
-}
-
-sha512sums="
-d88b1408c25255fabe383a4e27e70b6764ef81b0fd7cacddb2154433c532c3ca6814441361e9ad2cbc7d6e80e848d5085f5c0993a8f1dafc0ef5f8bc04a2af10 gopls-0.7.4.tar.gz
-"
diff --git a/testing/gops/APKBUILD b/testing/gops/APKBUILD
deleted file mode 100644
index 9710fe5c30a..00000000000
--- a/testing/gops/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=gops
-pkgver=0.3.22
-pkgrel=1
-pkgdesc="List and diagnose Go processes currently running on your system"
-url="https://github.com/google/gops"
-license="BSD-3-Clause"
-arch="all"
-makedepends="go"
-source="https://github.com/google/gops/archive/v$pkgver/gops-$pkgver.tar.gz"
-
-export GOPATH="$srcdir"
-export GOFLAGS="$GOFLAGS -trimpath -modcacherw"
-
-build() {
- go build -ldflags "-s -w" -v -o bin/$pkgname
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname
-}
-
-sha512sums="
-8e5e622dad925de1aa0f4afae8de0ff31e0e65042e84fadbcd4b0033a35f839dd8bc04c621307c74c9e5ca2e47403b4daaf694f06aeae958c2e19090d6621c40 gops-0.3.22.tar.gz
-"
diff --git a/testing/goreman/APKBUILD b/testing/goreman/APKBUILD
new file mode 100644
index 00000000000..b14631c0305
--- /dev/null
+++ b/testing/goreman/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=goreman
+pkgver=0.3.15
+pkgrel=5
+pkgdesc="Tool to manage Procfile-based applications"
+url="https://github.com/mattn/goreman"
+arch="all"
+license="MIT"
+makedepends="go"
+source="https://github.com/mattn/goreman/archive/v$pkgver/goreman-$pkgver.tar.gz"
+options="!check" # No test suite
+
+export GOFLAGS="$GOFLAGS -modcacherw -trimpath"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o bin/goreman .
+}
+
+package() {
+ install -Dm755 bin/goreman "$pkgdir"/usr/bin/goreman
+}
+
+sha512sums="
+62b725e537bba7c3bc89c74ea300e2974db1957dc4bb1a9cc9c98970588aeefd33ab3864a5fd4cfc90b9245c329b46dd68fd88dc5664722920de722925b552c6 goreman-0.3.15.tar.gz
+"
diff --git a/testing/gortr/APKBUILD b/testing/gortr/APKBUILD
index d2648aa6bf5..4019390ebfa 100644
--- a/testing/gortr/APKBUILD
+++ b/testing/gortr/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Mike Crute <mike@crute.us>
# Maintainer: Mike Crute <mike@crute.us>
pkgname=gortr
-pkgver=0.14.7
-pkgrel=2
+pkgver=0.14.8
+pkgrel=5
pkgdesc="The RPKI-to-Router server used at Cloudflare"
url="https://rpki.cloudflare.com/"
arch="all"
@@ -18,17 +18,9 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/cloudflare/gortr/archive/v$p
$pkgname.confd
"
-export GOPATH="$srcdir"
-
-prepare() {
- default_prepare
-
- # fix build on riscv64 (requires newer version of golang.org/x/sys)
- go mod edit -replace \
- golang.org/x/sys=golang.org/x/sys@v0.0.0-20210630005230-0f9fa26af87c
- go mod download golang.org/x/sys
-}
-
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
make \
@@ -55,6 +47,8 @@ package() {
install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
-sha512sums="02cd38da2af1af11a3384578c81cc07098b6e0a5abdf17cd70dcc7256c7a0ec687a60d590e7ce7a133faa28d0a768ef206c7a59672a10998e52b8a2dc2752a44 gortr-0.14.7.tar.gz
+sha512sums="
+2d1793948783c40f4156f35e7b0ceb7422a09fe2d23f5d12373c8d3442688530329e1552c35ce63f6aef3b31efba10737095fde1e35e2bbb8a08fe4cbc1c311e gortr-0.14.8.tar.gz
62142d3faa1cb34b39c1e1eb9698feb81dc7c53b3b0db9607b0c8cc10f3b20affc45525641e70fbc0aa0515abd02a48fe7a8a05ea809315ad90f5e139df39801 gortr.initd
-06d5a49b90584a53ed879c12fab2d5a6d3ca0c3d35cd71e2d213b1513bb5335c3f107fabdacb0ff29f301a51e875fb5358076cdc4a366d3e400b6910bfde1ec6 gortr.confd"
+06d5a49b90584a53ed879c12fab2d5a6d3ca0c3d35cd71e2d213b1513bb5335c3f107fabdacb0ff29f301a51e875fb5358076cdc4a366d3e400b6910bfde1ec6 gortr.confd
+"
diff --git a/testing/gosu/APKBUILD b/testing/gosu/APKBUILD
index 97bdd4a0f52..3142bfaa91e 100644
--- a/testing/gosu/APKBUILD
+++ b/testing/gosu/APKBUILD
@@ -1,47 +1,28 @@
# Contributor: David Huffman <storedbox@outlook.com>
# Maintainer: David Huffman <storedbox@outlook.com>
-
-_gosu_repo='github.com/tianon/gosu'
-_gosu_ver=1.12
-_gosu_src="gosu-$_gosu_ver"
-
-_runc_repo='github.com/opencontainers/runc'
-_runc_ver=1.0.0-rc91
-_runc_src="runc-$_runc_ver"
-
pkgname=gosu
-pkgver=$_gosu_ver
+pkgver=1.17
pkgrel=2
pkgdesc="Simple Go-based setuid+setgid+setgroups+exec"
url="https://github.com/tianon/gosu"
-arch="all !mips !mips64" # go is missing
-license="GPL-3.0-or-later"
+arch="all"
+license="Apache-2.0"
makedepends="coreutils go"
-source="https://github.com/tianon/gosu/archive/$_gosu_ver/$_gosu_src.tar.gz
- https://github.com/opencontainers/runc/archive/v$_runc_ver/$_runc_src.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tianon/gosu/archive/refs/tags/$pkgver.tar.gz"
options="!check" # require docker to run tests
-builddir="$srcdir"/$_gosu_repo
-prepare() {
- mkdir -p $_gosu_repo $_runc_repo
- mv -T $_gosu_src $_gosu_repo
- mv -T $_runc_src $_runc_repo
-
- default_prepare
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- CGO_ENABLED=0 \
- GOPATH="$startdir:$srcdir/$_runc_repo/Godeps/_workspace" \
- GO111MODULE=off \
- go build -v -ldflags '-s -w'
+ go build -v
}
package() {
- local bindir="$pkgdir/usr/bin"
- mkdir -p "$bindir"
- cp gosu "$bindir"
+ install -Dm755 gosu -t "$pkgdir"/usr/bin/
}
-sha512sums="3f8874ab3cefee3332d3a89541c395f7de3b5f758c7464f7a1cb5614ceb15ed69119bdc9628eb56a9d9830fe0f93bc72f36bce9669a3c0cc3dae9db4d677a7e3 gosu-1.12.tar.gz
-9e639c0de1b6bc414fc909c4342590e00d8473b06cfa6e38fa47eef0afb00e811f2b9a83913fb5ad0fa1691e88a9dd9d280367b4f8a9e4746a5c8b522d7ad74c runc-1.0.0-rc91.tar.gz"
+sha512sums="
+5a8bd7fce5c9080118dcf2c86332671441e133e44d08baea7dbc9f622e8d1bec1a229d3d7a38846bdcdcb66538222d5871e565e71eea1677fcd5727b836cdbce gosu-1.17.tar.gz
+"
diff --git a/testing/got/APKBUILD b/testing/got/APKBUILD
deleted file mode 100644
index aeaf8dd0551..00000000000
--- a/testing/got/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: omni <omni+alpine@hack.org>
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=got
-_pkgname=got-portable
-pkgver=0.64
-pkgrel=0
-pkgdesc="A VCS which prioritizes ease of use and simplicity over flexibility"
-url="http://gameoftrees.org/"
-arch="all"
-license="ISC"
-makedepends="libbsd-dev util-linux-dev libressl-dev zlib-dev ncurses-dev"
-options="!check"
-subpackages="$pkgname-doc"
-source="https://gameoftrees.org/releases/portable/got-portable-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- ./configure --prefix=/usr --exec_prefix=/usr --mandir=/usr/share/man \
- --sysconfdir=/etc --localstatedir=/var
- make
-}
-
-check() {
- make tests
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="0fb3ae356aaeea62d9e7b85088f7b33a9cc8c875bba521c9b1652919ac1f7d359041ef8ae0ed307637a7b205487e9c83e0c251dede8f2c3e2be64e3a212c82d9 got-portable-0.64.tar.gz"
diff --git a/testing/gotestsum/APKBUILD b/testing/gotestsum/APKBUILD
new file mode 100644
index 00000000000..d0a55a8272f
--- /dev/null
+++ b/testing/gotestsum/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=gotestsum
+pkgver=1.11.0
+pkgrel=2
+pkgdesc="Go test runner with output optimized for humans, JUnit XML for CI integration, and a summary of the test results"
+url="https://github.com/gotestyourself/gotestsum"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gotestyourself/gotestsum/archive/refs/tags/v$pkgver.tar.gz"
+options="net !check" # No check available
+
+build() {
+ go build -o dist/gotestsum .
+}
+
+package() {
+ install -Dm0755 dist/* -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+600845132b0f08198951239d611122eebc7ad535194717f57ce488dc1d795f09856bea08a860e25c72eb7f2a5f573f43a9ca1dec6790098f3c105d127585211e gotestsum-1.11.0.tar.gz
+"
diff --git a/testing/govc/APKBUILD b/testing/govc/APKBUILD
deleted file mode 100644
index 112e128a244..00000000000
--- a/testing/govc/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
-# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
-pkgname=govc
-pkgver=0.27.2
-pkgrel=0
-pkgdesc="vSphere CLI built on top of govmomi"
-url="https://github.com/vmware/govmomi/tree/master/govc"
-arch="all"
-license="Apache-2.0"
-makedepends="go bash coreutils"
-source="https://github.com/vmware/govmomi/archive/v$pkgver/govc-$pkgver.tar.gz"
-builddir="$srcdir/govmomi-$pkgver/govc"
-options="!check" # no tests provided
-
-build() {
- go build -o "$builddir/govc" .
-}
-
-package() {
- install -Dm755 "$builddir/govc" "$pkgdir/usr/bin/govc"
-}
-
-sha512sums="
-90796494913772b275a52d5cc3bc482809dc23ff3689b3a3aedec77cffb5dc9d4aed95822ff62c659b787818729f7ce2135429f6dbf79b0a783f2a81497beff3 govc-0.27.2.tar.gz
-"
diff --git a/testing/goxel/APKBUILD b/testing/goxel/APKBUILD
index abc7447e523..179f3e56467 100644
--- a/testing/goxel/APKBUILD
+++ b/testing/goxel/APKBUILD
@@ -1,29 +1,34 @@
# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=goxel
-pkgver=0.10.7
+pkgver=0.12.0
pkgrel=0
pkgdesc="Open source 3D voxel editor"
url="https://goxel.xyz/"
-arch="x86_64 x86" # only available on x86_64 and x86 due to compiling problems
+arch="all"
license="GPL-3.0-only"
makedepends="scons glfw-dev gtk+3.0-dev"
options="!check" # check function not implemented
-source="https://github.com/guillaumechereau/goxel/archive/v$pkgver/goxel-$pkgver.tar.gz
+source="https://github.com/guillaumechereau/goxel/archive/refs/tags/v$pkgver/goxel-$pkgver.tar.gz
goxel.desktop
fix-musl.patch
"
build() {
- scons mode=release
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ scons mode=release werror=false -j ${JOBS:-2}
}
package() {
install -Dm775 goxel "$pkgdir"/usr/bin/goxel
- install -Dm644 icon.png "$pkgdir"/usr/share/pixmaps/goxel.png
+ install -Dm644 icon.png "$pkgdir"/usr/share/icons/hicolor/1024x1024/apps/goxel.png
install -Dm644 "$srcdir"/goxel.desktop "$pkgdir"/usr/share/applications/goxel.desktop
}
-sha512sums="7d78b97c81c554ccea16d62ace4a53bbb8b09d794f1762dff09f55221d8c059557f684cbab61f2d6f6f08ec9754d8b188cc779073bb05a7ad4ef914cb2c2106b goxel-0.10.7.tar.gz
-99bd1c53c5db15412cd4d8a9454e9e6a0803209a4969bba052b95ba51b17ac43054c8c00d7cd89ab6b85f006a53b2b38d168dc290be3778966af79a67a5928ff fix-musl.patch
-10662d11d73a51d06db753b4f1727e05b1b9a5ef63ee4321cd4f445806f6162af010f89d7f98ff3ba25df14df1fb9bc8693a98d93206af208fdb28b7a49e46e9 goxel.desktop"
+
+sha512sums="
+6895d57eb393996e833b210dda09a442dc49d4cb42b2111114e925d8a0281c4f389d951d339dc2c475f59f66509e93e61deaa985860be9907d4ab222240a7080 goxel-0.12.0.tar.gz
+10662d11d73a51d06db753b4f1727e05b1b9a5ef63ee4321cd4f445806f6162af010f89d7f98ff3ba25df14df1fb9bc8693a98d93206af208fdb28b7a49e46e9 goxel.desktop
+f4305e54a67c4dc36386ba7943294537e38020c010b2483b2446a716f44072ed699358348101b2eb9229ef911b50141daab08a5462172d121f57e7ba9a8db59f fix-musl.patch
+"
diff --git a/testing/goxel/fix-musl.patch b/testing/goxel/fix-musl.patch
index 115ccb8e426..908107bb175 100644
--- a/testing/goxel/fix-musl.patch
+++ b/testing/goxel/fix-musl.patch
@@ -1,13 +1,13 @@
+diff --git a/ext_src/yocto/ext/filesystem.hpp b/ext_src/yocto/ext/filesystem.hpp
+index 860f5b2..c41e0e7 100644
--- a/ext_src/yocto/ext/filesystem.hpp
+++ b/ext_src/yocto/ext/filesystem.hpp
-@@ -1531,8 +1531,8 @@
- return rc == 0 ? (const char*)buffer : "Error in strerror_r!";
- #else
+@@ -1525,7 +1525,7 @@ GHC_INLINE std::string systemErrorText(ErrorNumber code = 0)
+ std::string msg = toUtf8(std::wstring((LPWSTR)msgBuf));
+ LocalFree(msgBuf);
+ return msg;
+-#elif defined(GHC_OS_MACOS) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)) || (defined(GHC_OS_ANDROID) && __ANDROID_API__ < 23) || defined(EMSCRIPTEN)
++#elif true || defined(GHC_OS_MACOS) || ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !defined(_GNU_SOURCE)) || (defined(GHC_OS_ANDROID) && __ANDROID_API__ < 23) || defined(EMSCRIPTEN)
char buffer[512];
-- char* msg = strerror_r(code ? code : errno, buffer, sizeof(buffer));
-- return msg ? msg : buffer;
-+ int msg = strerror_r(code ? code : errno, buffer, sizeof(buffer));
-+ return msg == 0 ? (const char*)buffer : "Error in strerror_r!";
- #endif
- }
-
+ int rc = strerror_r(code ? code : errno, buffer, sizeof(buffer));
+ return rc == 0 ? (const char*)buffer : "Error in strerror_r!";
diff --git a/testing/gpa/APKBUILD b/testing/gpa/APKBUILD
index 34200e87040..35e6bafbb01 100644
--- a/testing/gpa/APKBUILD
+++ b/testing/gpa/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=gpa
pkgver=0.10.0
-pkgrel=1
+pkgrel=2
pkgdesc="A graphical user interface for the GnuPG"
url="https://gnupg.org/related_software/gpa/"
arch="all"
diff --git a/testing/gperftools/APKBUILD b/testing/gperftools/APKBUILD
new file mode 100644
index 00000000000..33bb5dc9159
--- /dev/null
+++ b/testing/gperftools/APKBUILD
@@ -0,0 +1,108 @@
+# Contributor: Alex Denes <caskd@redxen.eu>
+# Maintainer: Alex Denes <caskd@redxen.eu>
+pkgname=gperftools
+pkgver=2.10.80
+pkgrel=1
+pkgdesc="Fast, multi-threaded malloc and nifty performance analysis tools"
+url="https://github.com/gperftools/gperftools"
+# everything else fails even more tests or isn't supported
+arch="x86_64"
+license="BSD-3-Clause"
+makedepends="
+ autoconf
+ automake
+ libtool
+ libunwind-dev
+ linux-headers
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ tcmalloc
+ tcmalloc-minimal:tcmalloc_minimal
+ tcmalloc-debug:tcmalloc_debug
+ tcmalloc-minimal-debug:tcmalloc_minimal_debug
+ tcmalloc-profiler:tcmalloc_profiler
+ "
+checkdepends="
+ curl
+ "
+builddir="$srcdir/gperftools-gperftools-$pkgver"
+source="https://github.com/gperftools/gperftools/archive/refs/tags/gperftools-$pkgver.tar.gz
+ failed-tests.patch
+ pkgconfig.patch
+ "
+
+prepare() {
+ default_prepare
+
+ autoreconf -fvi
+}
+
+build() {
+ case "$CARCH" in
+ x86_64)
+ local frame_pointers="--enable-frame-pointers"
+ ;;
+ esac
+
+ ./configure \
+ --prefix=/usr \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --enable-libunwind \
+ $frame_pointers
+
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+pprof() {
+ pkgdesc="$pkgdesc (pprof tools)"
+ depends="perl"
+
+ amove usr/bin/pprof*
+}
+
+tcmalloc() {
+ pkgdesc="$pkgdesc (tcmalloc, full variant)"
+
+ amove usr/lib/libtcmalloc.so.*
+}
+
+tcmalloc_debug() {
+ pkgdesc="$pkgdesc (tcmalloc, debug variant)"
+
+ amove usr/lib/libtcmalloc_debug.so.*
+}
+
+tcmalloc_minimal() {
+ pkgdesc="$pkgdesc (tcmalloc, minimal variant)"
+
+ amove usr/lib/libtcmalloc_minimal.so.*
+}
+
+tcmalloc_minimal_debug() {
+ pkgdesc="$pkgdesc (tcmalloc, minimal+debug variant)"
+
+ amove usr/lib/libtcmalloc_minimal_debug.so.*
+}
+
+tcmalloc_profiler() {
+ pkgdesc="$pkgdesc (tcmalloc, profiling variant)"
+
+ amove usr/lib/libtcmalloc_and_profiler.so.*
+}
+
+sha512sums="
+b30c68b8e6831c2a8d78d632862a77603a6bfb4833c9a40ba7efe43d12f58e9e203079e56510f0512ebb5bf656b1e2d7f0c2bd8f830bdf03d015c506abdb4a2d gperftools-2.10.80.tar.gz
+d4f7cb16985e8e232c0f2e5794adfc06b30d42b4df860fe21954ce79a7537571a439ce3392c652372a44499bb0f3f5ad640d7b7fb1dbf60aa739b841f4723587 failed-tests.patch
+bfec285aa83fb8cc1d494bcde50caee3faae8c23e1519c64c43bed05f3c3ccf5ef012bbcfac7a0f4dd41d82d6d2d4589bcb42697ff1e41e20ed548eb5b103ada pkgconfig.patch
+"
diff --git a/testing/gperftools/failed-tests.patch b/testing/gperftools/failed-tests.patch
new file mode 100644
index 00000000000..58db9eae775
--- /dev/null
+++ b/testing/gperftools/failed-tests.patch
@@ -0,0 +1,29 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1081,7 +1081,7 @@
+
+ if WITH_HEAP_CHECKER
+
+-TESTS += heap-checker-death_unittest.sh$(EXEEXT)
++#TESTS += heap-checker-death_unittest.sh$(EXEEXT)
+ heap_checker_death_unittest_sh_SOURCES = src/tests/heap-checker-death_unittest.sh
+ noinst_SCRIPTS += $(top_srcdir)/$(heap_checker_death_unittest_sh_SOURCES)
+ heap-checker-death_unittest.sh$(EXEEXT): $(heap_checker_death_unittest_sh_SOURCES) \
+@@ -1090,7 +1090,7 @@
+ cp -p $(top_srcdir)/$(heap_checker_death_unittest_sh_SOURCES) $@
+
+ # These are sub-programs used by heap-checker_unittest.sh
+-TESTS += heap-checker_unittest
++# TESTS += heap-checker_unittest
+ HEAP_CHECKER_UNITTEST_INCLUDES = src/config_for_unittests.h \
+ src/memory_region_map.h \
+ src/base/commandlineflags.h \
+@@ -1190,7 +1190,7 @@
+
+ if WITH_HEAP_CHECKER
+
+-TESTS += heap-checker_debug_unittest
++#TESTS += heap-checker_debug_unittest
+ heap_checker_debug_unittest_SOURCES = $(heap_checker_unittest_SOURCES)
+ heap_checker_debug_unittest_CXXFLAGS = $(heap_checker_unittest_CXXFLAGS)
+ heap_checker_debug_unittest_LDFLAGS = $(heap_checker_unittest_LDFLAGS)
diff --git a/testing/gperftools/pkgconfig.patch b/testing/gperftools/pkgconfig.patch
new file mode 100644
index 00000000000..83642d9eb9d
--- /dev/null
+++ b/testing/gperftools/pkgconfig.patch
@@ -0,0 +1,19 @@
+From: ptrcnull <git@ptrcnull.me>
+Date: Sun, 15 Oct 2023 22:45:06 +0200
+Subject: [PATCH] fix loading .pc file with new pkgconf
+
+see https://gitlab.alpinelinux.org/alpine/aports/-/issues/15364
+
+diff --git a/Makefile.am b/Makefile.am
+index 05465de..aff1899 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1392,7 +1392,7 @@ libtcmalloc.pc: Makefile
+ echo '' >> "$@".tmp
+ echo 'Name: $(PACKAGE)' >> "$@".tmp
+ echo 'Version: $(VERSION)' >> "$@".tmp
+- echo 'Summary: Performance tools for C++' >> "$@".tmp
++ echo 'Description: Performance tools for C++' >> "$@".tmp
+ echo 'URL: https://github.com/gperftools/gperftools' >> "$@".tmp
+ echo 'Requires:' >> "$@".tmp
+ echo 'Libs: -L$${libdir} -ltcmalloc' >> "$@".tmp
diff --git a/testing/gpg-remailer/APKBUILD b/testing/gpg-remailer/APKBUILD
index f9d99ca6b9a..a41679ed4c0 100644
--- a/testing/gpg-remailer/APKBUILD
+++ b/testing/gpg-remailer/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Shiz <hi@shiz.me>
# Maintainer: Shiz <hi@shiz.me>
pkgname=gpg-remailer
-pkgver=3.04.05
+pkgver=3.04.07
pkgrel=0
pkgdesc="Decrypt GPG messages and re-encrypt them to a well-defined group"
url="https://gitlab.com/fbb-git/gpg-remailer"
@@ -28,4 +28,6 @@ package() {
rm -rf "$pkgdir"/usr/share/doc
}
-sha512sums="c3bffe98077131599484c3ea847aeecad4e3e057d69979134bf62347f792473ad8ac1b39076abc5e981745f47b03090172213942ef2de71b365cf780d42601c7 gpg-remailer-3.04.05.tar.gz"
+sha512sums="
+019089eaeffb474fffded265ca7c8d5ff9ba516fbaf2d88d03951ed9ad031e16eeceae2bd10bb09f39e658dff839f9c02b3290b929b8b7b2dc8eb044832c50ad gpg-remailer-3.04.07.tar.gz
+"
diff --git a/testing/gpg-tui/APKBUILD b/testing/gpg-tui/APKBUILD
deleted file mode 100644
index 74b50666f41..00000000000
--- a/testing/gpg-tui/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=gpg-tui
-pkgver=0.8.2
-pkgrel=0
-pkgdesc="Terminal user interface for GnuPG"
-url="https://github.com/orhun/gpg-tui"
-license="MIT"
-arch="all !s390x !mips64 !riscv64" # blocked by rust/cargo
-makedepends="cargo gpgme-dev libxcb-dev libxkbcommon-dev libgpg-error-dev"
-subpackages="
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-fish-completion
- $pkgname-zsh-completion
- "
-source="https://github.com/orhun/gpg-tui/archive/v$pkgver/gpg-tui-$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-
- mkdir completions
- OUT_DIR=completions cargo run --release --bin gpg-tui-completions
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- install -Dm755 target/release/$pkgname "$pkgdir"/usr/bin/$pkgname
-
- install -Dm644 man/$pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
-
- install -Dm644 completions/$pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm644 completions/$pkgname.fish "$pkgdir"/usr/share/fish/completions/$pkgname.fish
- install -Dm644 completions/_$pkgname "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
-}
-
-sha512sums="
-2b3399abcd210be8e8a7a8e8908832ba385b53ebc3fdbf73a8a410fb2bb30e69178a47e5c57792546ace90f5d489f82e0a7744f82c22149f242a6aac9d8106d2 gpg-tui-0.8.2.tar.gz
-"
diff --git a/testing/gping/APKBUILD b/testing/gping/APKBUILD
deleted file mode 100644
index 56624c4212f..00000000000
--- a/testing/gping/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=gping
-pkgver=1.2.6
-pkgrel=0
-pkgdesc="Ping, but with a graph"
-url="https://github.com/orf/gping"
-license="MIT"
-arch="all !s390x !mips64 !riscv64" # blocked by rust/cargo
-makedepends="cargo"
-source="https://github.com/orf/gping/archive/gping-v$pkgver/gping-$pkgver.tar.gz"
-builddir="$srcdir/gping-gping-v$pkgver"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- install -Dm755 target/release/gping "$pkgdir"/usr/bin/gping
-}
-
-sha512sums="
-29c2c6685efe848ccf1396dd2bd729e54d63b500d3ef32ad9c3b4409538dbc95f739d093b0c3b4d2650eddbba62134383849dc4dae0454fd42d3d2010f93dd1e gping-1.2.6.tar.gz
-"
diff --git a/testing/gpm/APKBUILD b/testing/gpm/APKBUILD
deleted file mode 100644
index 319f6e5c277..00000000000
--- a/testing/gpm/APKBUILD
+++ /dev/null
@@ -1,86 +0,0 @@
-# Contributor: Jeff Pohlmeyer <yetanothergeek@gmail.com>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=gpm
-pkgver=1.20.7
-pkgrel=2
-pkgdesc="A mouse server for the console"
-options="!check" # No testsuite
-url="https://www.nico.schottelius.org/software/gpm/"
-arch="all"
-license="GPL-2.0-or-later"
-depends_dev="$pkgname-libs"
-makedepends="$depends_dev texinfo autoconf automake libtool bison linux-headers
- ncurses-dev"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-utils
- $pkgname-openrc"
-source="http://www.nico.schottelius.org/software/gpm/archives/gpm-$pkgver.tar.bz2
- error-format.patch
- fix-highly-illegal-return-of-in-as-char.patch
- fix-signedness-issue.patch
- install-shared-libs-with-+x-perms.patch
- install-unversioned-solibrary.patch
- musl-fixes.patch
- constify-format-strings.patch
- gpm-include-sysmacros.patch
- gcc-10.patch
-
- $pkgname.initd
- $pkgname.confd
- "
-
-# Fix build with gcc >= 10
-export CFLAGS="$CFLAGS -fcommon"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --disable-static
- export CPPFLAGS="$CPPFLAGS -I$builddir/src/headers"
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- # Create solink
- ln -s libgpm.so.2.1.0 "$pkgdir"/usr/lib/libgpm.so
-
- install -m755 -D "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/$pkgname
-}
-
-utils() {
- depends="$pkgname"
- pkgdesc="Mouse utilities for console"
- mkdir -p "$subpkgdir"/usr
- mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
- rmdir "$pkgdir"/usr/lib
-}
-
-sha512sums="
-51c1141ed502f8b6bc846485a8e315bafe3cf2b7c9d1ea8a710d9748ff2058f29c7ab5715fc1730a8437c613181d2050f37b134e9288c69ba8ff7fb0be7ec0d1 gpm-1.20.7.tar.bz2
-b4a883cb3a5b3977e0ba3909d68335b5543ae3a7d9aaa704ec82693a474813996cc6822a086737da17c67e2c2b827e3d4a48ec27d9c82f3070f75c1126651896 error-format.patch
-15c4f1459a28c931362a4f6cd22278b52c998b3b6f7164ee2e0dbd88fdace74b5e3599d3f3ac665c1df79a6ece14faac2b35f57d5d834a7714de2419954e6b5f fix-highly-illegal-return-of-in-as-char.patch
-db7e02b50bb02726ca743d2c7bef7d49edb359bb1594cc18f371662471d425a32f5c9f99743f237046b5a3534d2c6257fdd5cb6d9e08824c6d84725b7ddf0272 fix-signedness-issue.patch
-ec21b7029e0880b342bca5a70522e33d5cabbf77c44c1dd23b16d829d8fcc6cadcdf77b01724a91a6640916673f6d5ab91d18db4cd709ed77f9ce22dec723a13 install-shared-libs-with-+x-perms.patch
-05bdf6a03870175dcee5414d6d2d434b6cd3e06686f0be22d70fc7f9759db8ccea0bf9ae900d95e6d2872845cd66ee0a794afc5ece78c6640be163cad2065c58 install-unversioned-solibrary.patch
-45d3a20a8f9f00f78b21c10143e138add17d414e9b5ecc28d9efee9c2190450c79dca00b13a8247ee7753ff778b09bc88fe8c512366d5b1622981bb5d612f933 musl-fixes.patch
-36a5059c6336010b504ec6fc53c2d3df0811b1f1249c0e04c13066db06667119377a21e58121aaa8d4b620be2a5c21da0b018f168e36a44f85802cc50c936ba5 constify-format-strings.patch
-62d294f900ba1922119ebc87f97e86b1653647e03576c982011bf4f629332cc703f3994d5cc4b9bf2dac3c18636a61e420000d16cfdc7c284185c9442cce5b64 gpm-include-sysmacros.patch
-8de69783f14a2f686eb96d91d2761c879367b14f68801283cd415849f05253686cd11170971f21e5ddc932c02b0621d4aa528ff497a69d27daf29debf896f3ea gcc-10.patch
-d268504bd0cf83706863a8af5c5719b0d192c34ae6a78ff0378521841eca242b39a6e6891080a5fc5512732f84e7439697ba92bfda3ecc1aaebd36b16e946477 gpm.initd
-0e7c96f29222d33301fc9c5c8cf409b7dbe6cbb1e79d76444ae5724e8b793679d3ea597a8ad64187e85680799847632095e469445ae56f893616cb0235a29f3a gpm.confd
-"
diff --git a/testing/gpm/constify-format-strings.patch b/testing/gpm/constify-format-strings.patch
deleted file mode 100644
index 799aac875e9..00000000000
--- a/testing/gpm/constify-format-strings.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-From 7d21d7f469d90c2d55b23926c866bba635aa7e6f Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 14 Feb 2016 18:05:49 -0500
-Subject: [PATCH] report/oops: constify format strings
-
----
- src/headers/gpm.h | 4 ++--
- src/headers/message.h | 2 +-
- src/lib/report-lib.c | 4 ++--
- src/prog/mouse-test.c | 2 +-
- src/report.c | 2 +-
- 5 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/src/headers/gpm.h b/src/headers/gpm.h
-index 57dc618..9e96deb 100644
---- a/src/headers/gpm.h
-+++ b/src/headers/gpm.h
-@@ -280,10 +280,10 @@ int Gpm_GetSnapshot(Gpm_Event *ePtr);
- char *Gpm_get_console( void );
- int Gpm_x_high_y(int base, int pot_y);
- int Gpm_cnt_digits(int number);
--void gpm_oops(int line, char *file, char *text, ... );
-+void gpm_oops(int line, const char *file, const char *text, ... );
-
- /* report.c / report-lib.c */
--void gpm_report(int line, char *file, int stat, char *text, ... );
-+void gpm_report(int line, const char *file, int stat, const char *text, ... );
-
- #ifdef __cplusplus
- };
-diff --git a/src/headers/message.h b/src/headers/message.h
-index a0fed0e..25cad8c 100644
---- a/src/headers/message.h
-+++ b/src/headers/message.h
-@@ -226,7 +226,7 @@
- /* #define GPM_MESS_ "" */
-
- /* functions */
--void gpm_report(int line, char *file, int stat, char *text, ... );
-+void gpm_report(int line, const char *file, int stat, const char *text, ... );
-
- /* rest of wd.h */
- #ifdef HAVE_SYSLOG_H
-diff --git a/src/lib/report-lib.c b/src/lib/report-lib.c
-index c0ae086..b565b77 100644
---- a/src/lib/report-lib.c
-+++ b/src/lib/report-lib.c
-@@ -24,9 +24,9 @@
-
- #include "headers/message.h"
-
--void gpm_report(int line, char *file, int stat, char *text, ... )
-+void gpm_report(int line, const char *file, int stat, const char *text, ... )
- {
-- char *string = NULL;
-+ const char *string = NULL;
- int log_level;
- va_list ap;
-
-diff --git a/src/prog/mouse-test.c b/src/prog/mouse-test.c
-index 0bb1982..ab8d602 100644
---- a/src/prog/mouse-test.c
-+++ b/src/prog/mouse-test.c
-@@ -182,7 +182,7 @@ Gpm_Type *(*I_serial)(int fd, unsigned short flags, struct Gpm_Type *type,
- /*-----------------------------------------------------------------------------
- Place the description here.
- -----------------------------------------------------------------------------*/
--int mousereopen(int oldfd, char *name, Gpm_Type *type)
-+int mousereopen(int oldfd, const char *name, Gpm_Type *type)
- {
- int fd;
- if (!type) type=mice+1; /* ms */
-diff --git a/src/report.c b/src/report.c
-index 6c7c2ee..286c1b7 100644
---- a/src/report.c
-+++ b/src/report.c
-@@ -69,7 +69,7 @@
- *
- */
-
--void gpm_report(int line, char *file, int stat, char *text, ... )
-+void gpm_report(int line, const char *file, int stat, const char *text, ...)
- {
- FILE *console = NULL;
- va_list ap, ap3;
diff --git a/testing/gpm/error-format.patch b/testing/gpm/error-format.patch
deleted file mode 100644
index df7aa651259..00000000000
--- a/testing/gpm/error-format.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 7ba518ff8b5e5c06d0a74b1fecf3b682f14c631c Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 14 Feb 2016 18:07:46 -0500
-Subject: [PATCH] report: avoid -Wformat-security warnings
-
-Some functions warn when you pass a string to a printf style function
-that is a dynamic buffer as its contents cannot be verified. Since we
-don't want to support that here, just use %s.
----
- src/lib/report-lib.c | 2 +-
- src/prog/mouse-test.c | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/lib/report-lib.c b/src/lib/report-lib.c
-index b565b77..03230b4 100644
---- a/src/lib/report-lib.c
-+++ b/src/lib/report-lib.c
-@@ -47,7 +47,7 @@ void gpm_report(int line, const char *file, int stat, const char *text, ... )
- log_level = LOG_CRIT; break;
- }
- #ifdef HAVE_VSYSLOG
-- syslog(log_level, string);
-+ syslog(log_level, "%s", string);
- vsyslog(log_level, text, ap);
- #else
- fprintf(stderr,"%s[%s(%d)]:\n",string,file,line);
-diff --git a/src/prog/mouse-test.c b/src/prog/mouse-test.c
-index ab8d602..d7d1027 100644
---- a/src/prog/mouse-test.c
-+++ b/src/prog/mouse-test.c
-@@ -189,7 +189,7 @@ int mousereopen(int oldfd, const char *name, Gpm_Type *type)
- close(oldfd);
- usleep(100000);
- fd=open(name,O_RDWR);
-- if (fd < 0) gpm_report(GPM_PR_OOPS,name);
-+ if (fd < 0) gpm_report(GPM_PR_OOPS, "%s", name);
- (*I_serial)(fd,type->flags,type,1,&type->name); /* ms initialization */
- return fd;
- }
diff --git a/testing/gpm/fix-highly-illegal-return-of-in-as-char.patch b/testing/gpm/fix-highly-illegal-return-of-in-as-char.patch
deleted file mode 100644
index 6cf0e22a2d6..00000000000
--- a/testing/gpm/fix-highly-illegal-return-of-in-as-char.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 5648239f18ac041fe1a93b8b784bf3ca8e1d83bc Mon Sep 17 00:00:00 2001
-From: nick black <nick.black@sprezzatech.com>
-Date: Fri, 8 Feb 2013 05:52:13 -0500
-Subject: [PATCH] fix highly illegal return of int as char *, and less worrying
- set-but-not-used warning
-
----
- src/twiddler.c | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
-diff --git a/src/twiddler.c b/src/twiddler.c
-index 1d2bd50..972a616 100644
---- a/src/twiddler.c
-+++ b/src/twiddler.c
-@@ -250,7 +250,6 @@ static inline int twiddler_use_item(char *item)
- int twiddler_key(unsigned long message)
- {
- char **table = twiddler_get_table(message);
-- char *val;
- /*
- * These two are needed to avoid transmitting single keys when typing
- * chords. When the number of keys being held down decreases, data
-@@ -269,7 +268,6 @@ int twiddler_key(unsigned long message)
-
- if (!table) return 0;
- message &= 0xff;
-- val = table[message];
-
- if ((message < last_message) && !marked) { /* ok, do it */
- marked++; /* don't retransmit on release */
-@@ -428,8 +426,11 @@ char *twiddler_rest_to_value(char *s)
- buf[ibuf]='\0';
- return strdup(buf);
- }
-- if (*ptr == '\\')
-- return (char *)twiddler_escape_sequence(ptr+1, &len /* unused */);
-+ if (*ptr == '\\') {
-+ buf[ibuf++] = twiddler_escape_sequence(ptr+1, &len /* unused */);
-+ buf[ibuf] = '\0';
-+ return strdup(buf);
-+ }
-
- if (strlen(ptr)==1) return ((char *)((unsigned long)*ptr & 0xFF));
-
diff --git a/testing/gpm/fix-signedness-issue.patch b/testing/gpm/fix-signedness-issue.patch
deleted file mode 100644
index 6b2b6ce75a5..00000000000
--- a/testing/gpm/fix-signedness-issue.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 4337fd9fc2d2ea83654f2ca69245503730231ac3 Mon Sep 17 00:00:00 2001
-From: iljavs <ivansprundel@ioactive.com>
-Date: Mon, 27 Jun 2016 01:17:57 -0700
-Subject: [PATCH] fix signedness issue
-
-This commit fixes a signedness issue, where a negative vc coming from a malicious client could possibly cause memory corruption.
----
- src/daemon/processconn.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/daemon/processconn.c b/src/daemon/processconn.c
-index a5839a3..e92fa63 100644
---- a/src/daemon/processconn.c
-+++ b/src/daemon/processconn.c
-@@ -67,7 +67,8 @@ int processConn(int fd)
- return -1;
- }
-
-- if((vc = request->vc) > MAX_VC) {
-+ vc = request->vc;
-+ if(vc > MAX_VC || vc < 0) {
- gpm_report(GPM_PR_DEBUG, GPM_MESS_REQUEST_ON, vc, MAX_VC);
- free(info);
- close(newfd);
diff --git a/testing/gpm/gcc-10.patch b/testing/gpm/gcc-10.patch
deleted file mode 100644
index 6c2392f6759..00000000000
--- a/testing/gpm/gcc-10.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -upr gpm-1.20.7.orig/src/headers/daemon.h gpm-1.20.7/src/headers/daemon.h
---- gpm-1.20.7.orig/src/headers/daemon.h 2021-07-21 13:08:21.833110930 +0200
-+++ gpm-1.20.7/src/headers/daemon.h 2021-07-21 13:08:44.273115400 +0200
-@@ -180,7 +180,7 @@ extern struct mouse_features mouse_tabl
- extern Gpm_Type mice[];
- extern Gpm_Type *repeated_type;
-
--time_t last_selection_time;
-+extern time_t last_selection_time;
-
-
-
diff --git a/testing/gpm/gpm-include-sysmacros.patch b/testing/gpm/gpm-include-sysmacros.patch
deleted file mode 100644
index 0a18976e94c..00000000000
--- a/testing/gpm/gpm-include-sysmacros.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/daemon/open_console.c
-+++ b/src/daemon/open_console.c
-@@ -22,6 +22,7 @@
- #include <fcntl.h> /* open and co. */
- #include <sys/stat.h> /* stat() */
- #include <sys/types.h> /* major() */
-+#include <sys/sysmacros.h>
- #include <sys/ioctl.h> /* ioctl */
-
- /* Linux specific (to be outsourced in gpm2 */
diff --git a/testing/gpm/gpm.confd b/testing/gpm/gpm.confd
deleted file mode 100644
index eb77c711fef..00000000000
--- a/testing/gpm/gpm.confd
+++ /dev/null
@@ -1,8 +0,0 @@
-# gpm conf.d file for alpine linux
-
-#
-# Specify gpm mouse daemon options here.
-#
-
-#gpm_opts="-m /dev/input/mice -t imps2"
-
diff --git a/testing/gpm/gpm.initd b/testing/gpm/gpm.initd
deleted file mode 100644
index 85b292c3171..00000000000
--- a/testing/gpm/gpm.initd
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/sbin/openrc-run
-
-pidfile=/var/run/gpm.pid
-command=/usr/sbin/gpm
-command_args=${gpm_opts:--m /dev/input/mice -t imps2}
-
-depend() {
- after localmount
- use hotplug logger
-}
diff --git a/testing/gpm/install-shared-libs-with-+x-perms.patch b/testing/gpm/install-shared-libs-with-+x-perms.patch
deleted file mode 100644
index d32619c2dae..00000000000
--- a/testing/gpm/install-shared-libs-with-+x-perms.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 01373f6fd5dd274116c8ec693245677dbf5390e6 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sun, 28 Oct 2012 07:25:40 -0400
-Subject: [PATCH] install shared lib with +x perms
-
-This is executable code, so it should have +x perms on the file.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- src/Makefile.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Makefile.in b/src/Makefile.in
-index d3b1dcd..6b60ad3 100644
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -113,7 +113,7 @@ install: check
- # 2.x goes along; unfortunately that means an additional
- # headache in cases like this
- if test "x@SHLIB@" != "x" ; then \
-- $(INSTALL_DATA) -m 644 lib/libgpm.so.@abi_full@ $(libdir)/libgpm.so.@abi_full@ ; \
-+ $(INSTALL_DATA) -m 755 lib/libgpm.so.@abi_full@ $(libdir)/libgpm.so.@abi_full@ ; \
- cd $(libdir) && $(LN_S) -f libgpm.so.@abi_full@ libgpm.so.@abi_lev@ ; \
- echo "WARNING: We installed a lib, you should now call ldconfig" ; \
- echo "f.i.: ldconfig -n -l $(libdir)/libgpm.so.@abi_full@" ; \
diff --git a/testing/gpm/install-unversioned-solibrary.patch b/testing/gpm/install-unversioned-solibrary.patch
deleted file mode 100644
index 0af762e9da2..00000000000
--- a/testing/gpm/install-unversioned-solibrary.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 06b00d53d8bd513ad5d262dc94a016c6fbf2d3aa Mon Sep 17 00:00:00 2001
-From: Kamil Rytarowski <n54@gmx.com>
-Date: Sat, 4 May 2013 01:30:17 +0200
-Subject: [PATCH] Install unversioned solibrary
-
-Unversioned solibraries are shipped with -devel packages in Linux
-distros. Generate and install it for the consistency.
----
- src/Makefile.in | 7 +++----
- 1 file changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/src/Makefile.in b/src/Makefile.in
-index 6b60ad3..7e9e2ef 100644
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -79,7 +79,7 @@ prog/%: prog/%.o
- # | $(SED) '\''s/\($*\)\.o\([ :]*\)/\1.o \1.lo\2/g'\'' > $(DEPDIR)/$@'
-
- # Do it all!
--all: gpm lib/libgpm.so.@abi_lev@ @LIBGPM_A@ $(PROG)
-+all: gpm lib/libgpm.so.@abi_lev@ lib/libgpm.so @LIBGPM_A@ $(PROG)
-
- gpm: $(GOBJ)
- $(CC) @LDFLAGS@ $(LDFLAGS) -o $@ $(GOBJ) @LIBS@ $(LIBS) -lm
-@@ -168,9 +168,8 @@ lib/libgpm.so.@abi_full@: $(PICS)
- @LDFLAGS@ $(LDFLAGS) -o lib/libgpm.so.@abi_full@ $^ @LIBS@ @SHARED_LIBS@ $(LIBS)
- lib/libgpm.so.@abi_lev@: lib/libgpm.so.@abi_full@
- $(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so.@abi_lev@
--# unneeded, isn't it?
--#lib/libgpm.so: lib/libgpm.so.@abi_full@
--# $(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so
-+lib/libgpm.so: lib/libgpm.so.@abi_full@
-+ $(LN_S) -f libgpm.so.@abi_full@ lib/libgpm.so
-
- include $(DEPFILE)
-
diff --git a/testing/gpm/musl-fixes.patch b/testing/gpm/musl-fixes.patch
deleted file mode 100644
index 6653aaf4752..00000000000
--- a/testing/gpm/musl-fixes.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From d88fb1de5803c366ab62f7de9ee5d83207fb2afe Mon Sep 17 00:00:00 2001
-From: Dima Krasner <dima@dimakrasner.com>
-Date: Wed, 12 Nov 2014 23:06:46 +0200
-Subject: [PATCH] Added musl support to libgpm and the daemon.
-
----
- src/daemon/open_console.c | 1 +
- src/prog/display-buttons.c | 1 +
- src/prog/display-coords.c | 1 +
- src/prog/gpm-root.y | 4 ++--
- 4 files changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/src/daemon/open_console.c b/src/daemon/open_console.c
-index 98297c9..4d6c0af 100644
---- a/src/daemon/open_console.c
-+++ b/src/daemon/open_console.c
-@@ -21,6 +21,7 @@
-
- #include <fcntl.h> /* open and co. */
- #include <sys/stat.h> /* stat() */
-+#include <sys/types.h> /* major() */
- #include <sys/ioctl.h> /* ioctl */
-
- /* Linux specific (to be outsourced in gpm2 */
-diff --git a/src/prog/display-buttons.c b/src/prog/display-buttons.c
-index de8e5b2..38d2f11 100644
---- a/src/prog/display-buttons.c
-+++ b/src/prog/display-buttons.c
-@@ -36,6 +36,7 @@
- #include <stdio.h> /* printf() */
- #include <time.h> /* time() */
- #include <errno.h> /* errno */
-+#include <sys/select.h> /* fd_set and FD_* */
- #include <gpm.h> /* gpm information */
-
- /* display resulting data */
-diff --git a/src/prog/display-coords.c b/src/prog/display-coords.c
-index 1fb810f..82afd12 100644
---- a/src/prog/display-coords.c
-+++ b/src/prog/display-coords.c
-@@ -38,6 +38,7 @@
- #include <stdio.h> /* printf() */
- #include <time.h> /* time() */
- #include <errno.h> /* errno */
-+#include <sys/select.h> /* fd_set and FD_* */
- #include <gpm.h> /* gpm information */
-
- /* display resulting data */
-diff --git a/src/prog/gpm-root.y b/src/prog/gpm-root.y
-index 069d801..188ae35 100644
---- a/src/prog/gpm-root.y
-+++ b/src/prog/gpm-root.y
-@@ -1199,9 +1199,9 @@ int main(int argc, char **argv)
- #if defined(__GLIBC__)
- __sigemptyset(&childaction.sa_mask);
- #else /* __GLIBC__ */
-- childaction.sa_mask=0;
-+ sigemptyset(&childaction.sa_mask);
- #endif /* __GLIBC__ */
-- childaction.sa_flags=SA_INTERRUPT; /* need to break the select() call */
-+ childaction.sa_flags=0;
- sigaction(SIGCHLD,&childaction,NULL);
-
- /*....................................... Connect and get your buffer */
diff --git a/testing/gprbuild/APKBUILD b/testing/gprbuild/APKBUILD
index e917ec2bbf0..7ff36ad2adb 100644
--- a/testing/gprbuild/APKBUILD
+++ b/testing/gprbuild/APKBUILD
@@ -1,28 +1,35 @@
# Contributor: Ian Douglas Scott <ian@iandouglasscott.com>
# Maintainer: Ian Douglas Scott <ian@iandouglasscott.com>
pkgname=gprbuild
-pkgver=2019
-pkgrel=1
+pkgver=22.0.0
+pkgrel=2
pkgdesc="Builder for multi-language systems"
arch="all !riscv64" # blocked by gcc-gnat
url="https://github.com/AdaCore/gprbuild"
license="GPL-3.0-or-later"
+makedepends="bash"
depends="gcc-gnat"
-source="$pkgname-$pkgver.tar.gz::https://community.download.adacore.com/v1/0c03c05cef70b85144ba0e624a46e8952183b666?filename=gprbuild-2019-20190517-194D8-src.tar.gz xmlada-$pkgver.tar.gz::https://community.download.adacore.com/v1/ce0b67754f149cd230ba842effeff0ab3033ed0c?filename=xmlada-2019-20190429-19B9D-src.tar.gz"
+source="gprbuild-$pkgver.tar.gz::https://github.com/AdaCore/gprbuild/archive/refs/tags/v$pkgver.tar.gz
+ xmlada-$pkgver.tar.gz::https://github.com/AdaCore/xmlada/archive/refs/tags/v$pkgver.tar.gz
+ gprconfig_kb-$pkgver.tar.gz::https://github.com/AdaCore/gprconfig_kb/archive/refs/tags/v$pkgver.tar.gz
+ "
# gprbuild doesn't seem to have tests
options="!check"
-_gprbuild_srcdir=$srcdir/$pkgname-$pkgver-20190517-194D8-src
-_xmlada_srcdir=$srcdir/xmlada-$pkgver-20190429-19B9D-src
-
build() {
- cd $_gprbuild_srcdir
- DESTDIR="$PWD/dest" ./bootstrap.sh --prefix=/usr --with-xmlada=$_xmlada_srcdir
+ DESTDIR="$PWD/dest" ./bootstrap.sh \
+ --prefix=/usr \
+ --with-xmlada="$srcdir"/xmlada-$pkgver \
+ --with-kb="$srcdir"/gprconfig_kb-$pkgver
}
package() {
mkdir -p "$pkgdir"
- cp -r $_gprbuild_srcdir/dest/usr "$pkgdir"
+ cp -r dest/usr "$pkgdir"
}
-sha512sums="0388d7e6cdf625fef40b33da764091b3283dd88714c64ecfad4b5e99253f183b1a9b717c19281e6d45cc4277a05fadb2e2ace394d6f30638664b66c97123052b gprbuild-2019.tar.gz
-f8e0e25b0aee9a7a18223ae7761603082af55134f062c767d0cd0dbf0dbcb2058fc7c57532b567fb2c6efa464a53ead57b300578e98962025866e5c3ad73e380 xmlada-2019.tar.gz"
+
+sha512sums="
+7e77d9441454670a7b3b14cff97339e654bb82e7321abd9d612a771e1559f3276057e5163b50ca08b6ab77ebb9fcfd36590ba3c9cfd28d07fce43c7673ad254a gprbuild-22.0.0.tar.gz
+7e8a0cab2f4c300fe3b0d31e00d17334e36798430e49868448caa696044964464f558cffba8f35e35a58b097c968322891119b2abd9f210737ca877f0189f32e xmlada-22.0.0.tar.gz
+69f8490af56b0e07afbfef51c12cd6361a00327af774cd0deacf8260ccc4782e1e8465a074e8a025024570ce43ba1b4b3adfbde9ae4ea372e487d342da6994d4 gprconfig_kb-22.0.0.tar.gz
+"
diff --git a/testing/gpsbabel/APKBUILD b/testing/gpsbabel/APKBUILD
new file mode 100644
index 00000000000..cbba9e13445
--- /dev/null
+++ b/testing/gpsbabel/APKBUILD
@@ -0,0 +1,63 @@
+# Maintainer: Daniel Fancsali <fancsali@gmail.com>
+pkgname=gpsbabel
+pkgver=1.8.0
+pkgrel=5
+pkgdesc="Convert, manipulate, and transfer data from GPS programs or GPS receivers"
+url="https://www.gpsbabel.org/"
+# armv7: qt5-qtwebengine disabled in b3b11fab054468f565777d32493039fe901fcef3
+arch="aarch64 x86_64"
+license="GPL-2.0-or-later"
+makedepends="
+ cmake
+ libusb-dev
+ qt5-qtserialport-dev
+ qt5-qttools-dev
+ qt5-qtwebchannel-dev
+ qt5-qtwebengine-dev
+ samurai
+ shapelib-dev
+ zlib-dev
+ "
+checkdepends="diffutils"
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/GPSBabel/gpsbabel/archive/refs/tags/gpsbabel_${pkgver//./_}.tar.gz"
+builddir="$srcdir/gpsbabel-gpsbabel_${pkgver//./_}"
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto -O2" \
+ CXXFLAGS="$CXXFLAGS -flto=auto -O2" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
+ -DGPSBABEL_WITH_ZLIB=pkgconfig \
+ -DGPSBABEL_WITH_SHAPELIB=pkgconfig \
+ -DGPSBABEL_WITH_LIBUSB=pkgconfig \
+ -DQT_VERSION_MAJOR=6
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure -j${JOBS:-2}
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ # XXX: the above doesn't install anything (broken)
+ install -Dm755 build/gpsbabel build/gui/GPSBabelFE/gpsbabelfe -t "$pkgdir"/usr/bin
+ install -Dm644 gui/*.qm gui/coretool/*.qm -t "$pkgdir"/usr/share/gpsbabel/translations
+ install -Dm644 gui/gmapbase.html -t "$pkgdir"/usr/share/gpsbabel
+ install -Dm644 gui/gpsbabel.desktop -t "$pkgdir"/usr/share/applications
+}
+
+lang() {
+ pkgdesc="translations for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel lang"
+
+ amove usr/share/gpsbabel/translations
+}
+
+sha512sums="
+93137586cf887e185d96f06f59be4456cf9bae976979b9e5caad6ae8017c148d4c4c0fc182e8bd4c8547c3ed040c46f74e6f3cfb5f7b566d54fbc7fd767e27e4 gpsbabel-1.8.0.tar.gz
+"
diff --git a/testing/gpscorrelate/APKBUILD b/testing/gpscorrelate/APKBUILD
new file mode 100644
index 00000000000..176d0d5af75
--- /dev/null
+++ b/testing/gpscorrelate/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=gpscorrelate
+pkgver=2.0_git20230605
+_githash=fd556bc0cf9341511036f0535e76a50c1f50dcec
+pkgrel=0
+pkgdesc="Program to match GPS tracks to photographs and store the matches in EXIF"
+url="https://dfandrich.github.io/gpscorrelate/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ desktop-file-utils
+ exiv2-dev
+ gettext-dev
+ gtk+3.0-dev
+ intltool
+ libintl
+ libxml2-dev
+ libxslt-dev
+ "
+subpackages="$pkgname-cli $pkgname-doc $pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dfandrich/gpscorrelate/archive/$_githash.tar.gz
+ exiv2-0.28.patch
+ "
+builddir="$srcdir/$pkgname-$_githash"
+
+build() {
+ make all build-po
+}
+
+check() {
+ make check
+}
+
+package() {
+ make install install-desktop-file install-po DESTDIR="$pkgdir" prefix=/usr
+}
+
+cli() {
+ pkgdesc="$pkgdesc (cli only)"
+ amove /usr/bin/gpscorrelate
+}
+
+sha512sums="
+6baaf62180aaa86a0d0989808e206030d0d313428c6e51aaabb9b5ded7ecc836a91a8f9ac28b5b04f0a8f2f2d61fe53fc8d8a7d55da20d7f04c2a18ac875ef86 gpscorrelate-2.0_git20230605.tar.gz
+15ff7a1b48ac65c8a94928bf269a5c077b198a1c246a1c07a0b2749c7b228be13613e4816538542cb8e8dd6c29a3738ffe3cf67ea00e8075272f6de4229d7d5b exiv2-0.28.patch
+"
diff --git a/testing/gpscorrelate/exiv2-0.28.patch b/testing/gpscorrelate/exiv2-0.28.patch
new file mode 100644
index 00000000000..48eddd24637
--- /dev/null
+++ b/testing/gpscorrelate/exiv2-0.28.patch
@@ -0,0 +1,87 @@
+Patch-Source: https://gitlab.archlinux.org/archlinux/packaging/packages/gpscorrelate/-/blob/9d84f5a7ec16d73970ab89924a106652348b7063/exiv2-0.28.patch
+--
+diff --git a/exif-gps.cpp b/exif-gps.cpp
+index d464d62..8c91cf4 100644
+--- a/exif-gps.cpp
++++ b/exif-gps.cpp
+@@ -97,7 +97,7 @@ int main(int argc, char* argv[])
+ char* ReadExifDate(const char* File, int* IncludesGPS)
+ {
+ // Open and read the file.
+- Exiv2::Image::AutoPtr Image;
++ Exiv2::Image::UniquePtr Image;
+
+ try {
+ Image = Exiv2::ImageFactory::open(File);
+@@ -154,7 +154,7 @@ char* ReadExifData(const char* File, double* Lat, double* Long, double* Elev, in
+ // much more data than the last, specifically
+ // for display purposes. For the GUI version.
+ // Open and read the file.
+- Exiv2::Image::AutoPtr Image;
++ Exiv2::Image::UniquePtr Image;
+
+ try {
+ Image = Exiv2::ImageFactory::open(File);
+@@ -273,7 +273,7 @@ char* ReadExifData(const char* File, double* Lat, double* Long, double* Elev, in
+
+ // Is the altitude below sea level? If so, negate the value.
+ GPSData = ExifRead["Exif.GPSInfo.GPSAltitudeRef"];
+- if (GPSData.count() >= 1 && GPSData.toLong() == 1)
++ if (GPSData.count() >= 1 && GPSData.toUint32() == 1)
+ {
+ // Negate the elevation.
+ *Elev = -*Elev;
+@@ -292,7 +292,7 @@ char* ReadGPSTimestamp(const char* File, char* DateStamp, char* TimeStamp, int*
+ // much more data than the last, specifically
+ // for display purposes. For the GUI version.
+ // Open and read the file.
+- Exiv2::Image::AutoPtr Image;
++ Exiv2::Image::UniquePtr Image;
+
+ try {
+ Image = Exiv2::ImageFactory::open(File);
+@@ -463,7 +463,7 @@ int WriteGPSData(const char* File, const struct GPSPoint* Point,
+ struct utimbuf utb;
+ if (NoChangeMtime)
+ stat(File, &statbuf);
+- Exiv2::Image::AutoPtr Image;
++ Exiv2::Image::UniquePtr Image;
+
+ try {
+ Image = Exiv2::ImageFactory::open(File);
+@@ -493,7 +493,7 @@ int WriteGPSData(const char* File, const struct GPSPoint* Point,
+ // Do all the easy constant ones first.
+ // GPSVersionID tag: standard says it should be four bytes: 02 02 00 00
+ // (and, must be present).
+- Exiv2::Value::AutoPtr Value = Exiv2::Value::create(Exiv2::unsignedByte);
++ Exiv2::Value::UniquePtr Value = Exiv2::Value::create(Exiv2::unsignedByte);
+ Value->read("2 2 0 0");
+ replace(ExifToWrite, Exiv2::ExifKey("Exif.GPSInfo.GPSVersionID"), Value.get());
+ // Datum: the datum of the measured data. The default is WGS-84.
+@@ -643,7 +643,7 @@ int WriteFixedDatestamp(const char* File, time_t Time)
+ struct utimbuf utb;
+ stat(File, &statbuf);
+
+- Exiv2::Image::AutoPtr Image;
++ Exiv2::Image::UniquePtr Image;
+
+ try {
+ Image = Exiv2::ImageFactory::open(File);
+@@ -672,7 +672,7 @@ int WriteFixedDatestamp(const char* File, time_t Time)
+ ExifToWrite.erase(ExifToWrite.findKey(Exiv2::ExifKey("Exif.GPSInfo.GPSDateStamp")));
+ ExifToWrite["Exif.GPSInfo.GPSDateStamp"] = ScratchBuf;
+
+- Exiv2::Value::AutoPtr Value = Exiv2::Value::create(Exiv2::unsignedRational);
++ Exiv2::Value::UniquePtr Value = Exiv2::Value::create(Exiv2::unsignedRational);
+ snprintf(ScratchBuf, sizeof(ScratchBuf), "%d/1 %d/1 %d/1",
+ TimeStamp.tm_hour, TimeStamp.tm_min,
+ TimeStamp.tm_sec);
+@@ -705,7 +705,7 @@ int RemoveGPSExif(const char* File, int NoChangeMtime, int NoWriteExif)
+ stat(File, &statbuf);
+
+ // Open the file and start reading.
+- Exiv2::Image::AutoPtr Image;
++ Exiv2::Image::UniquePtr Image;
+
+ try {
+ Image = Exiv2::ImageFactory::open(File);
diff --git a/testing/gr-osmosdr/APKBUILD b/testing/gr-osmosdr/APKBUILD
deleted file mode 100644
index cc03ebcbfc6..00000000000
--- a/testing/gr-osmosdr/APKBUILD
+++ /dev/null
@@ -1,60 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=gr-osmosdr
-pkgver=0.2.3
-pkgrel=3
-pkgdesc="osmocom Gnu Radio Blocks"
-url="https://osmocom.org/projects/gr-osmosdr/wiki"
-arch="x86_64 aarch64" # limited by libvolk and gnuradio
-license="GPL-3.0-only"
-subpackages="$pkgname-doc $pkgname-dev"
-makedepends="
- boost-dev
- cmake
- doxygen
- fftw-dev
- gmp-dev
- gnuradio-dev
- graphviz
- hackrf-dev
- librtlsdr-dev
- libsndfile-dev
- libvolk-dev
- log4cpp-dev
- mpir-dev
- py3-numpy-dev
- py3-pybind11-dev
- python3-dev
- soapy-sdr-dev
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/osmocom/gr-osmosdr/archive/v$pkgver.tar.gz
- use-std-shared-ptr.patch
- gnuradio-3.9-compat.patch
- fix-docstrings.patch
- add-python-bindings.patch
- "
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -Wno-dev
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-check() {
- cmake --build build --target test
-}
-
-sha512sums="
-3c82a39972a309aa5b023b9c5e61f1fc80b797380b7a6c6c23cd4fe278cfaba3ab3019f32d38ebc01300868bb892f6aaaa7f12c9ee9b7ab5ba3e38817a40bf3e gr-osmosdr-0.2.3.tar.gz
-c0c06b9f5907db565ddea1c6ee5ebfaaa8e6bf66950581467d8173deb8cbecadc57ff32b3683eb3affd0368b11e399ded58824490cecddbe38b5b174d69b0630 use-std-shared-ptr.patch
-617edcdc27d7a9799caef1a1e778222d7954288cb767f76f81e68def2f66b4ba7640ff08866d696109a0d6bd0473bf996c3707bedadc59e283261d42c209bfbb gnuradio-3.9-compat.patch
-d66309f99144515aeae771a6bf4f64defa35f7a9f9c4c646e807c6d6df5d817346de0a66cb9114716b32990d9837ea9107efb3b2fc0fd32de7453ec235e1f667 fix-docstrings.patch
-94730f15580c8dd46803da78fe36b7c8afefc735330918c4f58beaabb0a12b5898041dfe70167d55a55e682c8536ef441d2b9ea4e3c069a637e3fbb1950716aa add-python-bindings.patch
-"
diff --git a/testing/gr-osmosdr/add-python-bindings.patch b/testing/gr-osmosdr/add-python-bindings.patch
deleted file mode 100644
index e1fea6dd15a..00000000000
--- a/testing/gr-osmosdr/add-python-bindings.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From 1f724162e1e0afd1636658c2e8fed60320f0809a Mon Sep 17 00:00:00 2001
-From: Clayton Smith <argilo@gmail.com>
-Date: Wed, 30 Dec 2020 10:05:36 -0500
-Subject: Add Python bindings
-
-Signed-off-by: Eric Wild <ewild@sysmocom.de>
----
- python/bindings/CMakeLists.txt | 3 +++
- python/bindings/device_python.cc | 27 +++++++++++++++++++++++++++
- python/bindings/python_bindings.cc | 8 ++++++++
- python/bindings/ranges_python.cc | 35 +++++++++++++++++++++++++++++++++++
- python/bindings/time_spec_python.cc | 33 +++++++++++++++++++++++++++++++++
- 5 files changed, 106 insertions(+)
- create mode 100644 python/bindings/device_python.cc
- create mode 100644 python/bindings/ranges_python.cc
- create mode 100644 python/bindings/time_spec_python.cc
-
-diff --git a/python/bindings/CMakeLists.txt b/python/bindings/CMakeLists.txt
-index ed50d7e..f2233cf 100644
---- a/python/bindings/CMakeLists.txt
-+++ b/python/bindings/CMakeLists.txt
-@@ -18,8 +18,11 @@ include(GrPybind)
- ########################################################################
-
- list(APPEND osmosdr_python_files
-+ device_python.cc
- sink_python.cc
- source_python.cc
-+ ranges_python.cc
-+ time_spec_python.cc
- python_bindings.cc)
-
- GR_PYBIND_MAKE_OOT(osmosdr
-diff --git a/python/bindings/device_python.cc b/python/bindings/device_python.cc
-new file mode 100644
-index 0000000..f82a48f
---- /dev/null
-+++ b/python/bindings/device_python.cc
-@@ -0,0 +1,27 @@
-+#include <pybind11/pybind11.h>
-+#include <pybind11/stl.h>
-+
-+namespace py = pybind11;
-+
-+#include <osmosdr/device.h>
-+
-+void bind_device(py::module& m)
-+{
-+ using device_t = ::osmosdr::device_t;
-+
-+ py::class_<device_t>(m, "device_t")
-+ .def(py::init<std::string&>(), py::arg("args") = "")
-+ .def("to_pp_string", &device_t::to_pp_string)
-+ .def("to_string", &device_t::to_string);
-+
-+
-+ using devices_t = ::osmosdr::devices_t;
-+
-+ py::class_<devices_t>(m, "devices_t");
-+
-+
-+ using device = ::osmosdr::device;
-+
-+ py::class_<device>(m, "device")
-+ .def_static("find", &device::find, py::arg("hint") = device_t());
-+}
-diff --git a/python/bindings/python_bindings.cc b/python/bindings/python_bindings.cc
-index fc11ee0..7204b2b 100644
---- a/python/bindings/python_bindings.cc
-+++ b/python/bindings/python_bindings.cc
-@@ -25,6 +25,10 @@ namespace py = pybind11;
- void bind_source(py::module& m);
- // ) END BINDING_FUNCTION_PROTOTYPES
-
-+void bind_device(py::module& m);
-+void bind_ranges(py::module& m);
-+void bind_time_spec(py::module& m);
-+
-
- // We need this hack because import_array() returns NULL
- // for newer Python versions.
-@@ -54,4 +58,8 @@ PYBIND11_MODULE(osmosdr_python, m)
- bind_sink(m);
- bind_source(m);
- // ) END BINDING_FUNCTION_CALLS
-+
-+ bind_device(m);
-+ bind_ranges(m);
-+ bind_time_spec(m);
- }
-diff --git a/python/bindings/ranges_python.cc b/python/bindings/ranges_python.cc
-new file mode 100644
-index 0000000..fce957c
---- /dev/null
-+++ b/python/bindings/ranges_python.cc
-@@ -0,0 +1,35 @@
-+#include <pybind11/pybind11.h>
-+
-+namespace py = pybind11;
-+
-+#include <osmosdr/ranges.h>
-+
-+void bind_ranges(py::module& m)
-+{
-+ m.attr("ALL_MBOARDS") = ::osmosdr::ALL_MBOARDS;
-+ m.attr("ALL_CHANS") = ::osmosdr::ALL_CHANS;
-+
-+
-+ using range_t = ::osmosdr::range_t;
-+
-+ py::class_<range_t>(m, "range_t")
-+ .def(py::init<double>(), py::arg("value") = 0)
-+ .def(py::init<double, double, double>(), py::arg("start"), py::arg("stop"), py::arg("step") = 0)
-+ .def("start", &range_t::start)
-+ .def("stop", &range_t::stop)
-+ .def("step", &range_t::step)
-+ .def("to_pp_string", &range_t::to_pp_string);
-+
-+
-+ using meta_range_t = ::osmosdr::meta_range_t;
-+
-+ py::class_<meta_range_t>(m, "meta_range_t")
-+ .def(py::init())
-+ .def(py::init<double, double, double>(), py::arg("start"), py::arg("stop"), py::arg("step") = 0)
-+ .def("start", &meta_range_t::start)
-+ .def("stop", &meta_range_t::stop)
-+ .def("step", &meta_range_t::step)
-+ .def("clip", &meta_range_t::clip, py::arg("value"), py::arg("clip_step") = false)
-+ .def("values", &meta_range_t::values)
-+ .def("to_pp_string", &meta_range_t::to_pp_string);
-+}
-diff --git a/python/bindings/time_spec_python.cc b/python/bindings/time_spec_python.cc
-new file mode 100644
-index 0000000..d12a3c7
---- /dev/null
-+++ b/python/bindings/time_spec_python.cc
-@@ -0,0 +1,33 @@
-+#include <pybind11/pybind11.h>
-+#include <pybind11/operators.h>
-+
-+namespace py = pybind11;
-+
-+#include <osmosdr/time_spec.h>
-+
-+void bind_time_spec(py::module& m)
-+{
-+ using time_spec_t = ::osmosdr::time_spec_t;
-+
-+ py::class_<time_spec_t>(m, "time_spec_t")
-+ .def_static("get_system_time", &time_spec_t::get_system_time)
-+ .def(py::init<double>(), py::arg("secs") = 0)
-+ .def(py::init<time_t, double>(), py::arg("full_secs"), py::arg("frac_secs") = 0)
-+ .def(py::init<time_t, long, double>(), py::arg("full_secs"), py::arg("tick_count"), py::arg("tick_rate"))
-+ .def_static("from_ticks", &time_spec_t::from_ticks, py::arg("ticks"), py::arg("tick_rate"))
-+ .def("get_tick_count", &time_spec_t::get_tick_count, py::arg("tick_rate"))
-+ .def("to_ticks", &time_spec_t::to_ticks, py::arg("tick_rate"))
-+ .def("get_real_secs", &time_spec_t::get_real_secs)
-+ .def("get_full_secs", &time_spec_t::get_full_secs)
-+ .def("get_frac_secs", &time_spec_t::get_frac_secs)
-+ .def(py::self + py::self)
-+ .def(py::self += py::self)
-+ .def(py::self - py::self)
-+ .def(py::self -= py::self)
-+ .def(py::self == py::self)
-+ .def(py::self != py::self)
-+ .def(py::self < py::self)
-+ .def(py::self > py::self)
-+ .def(py::self <= py::self)
-+ .def(py::self >= py::self);
-+}
---
-cgit v1.2.3
-
diff --git a/testing/gr-osmosdr/fix-docstrings.patch b/testing/gr-osmosdr/fix-docstrings.patch
deleted file mode 100644
index e9f42941db4..00000000000
--- a/testing/gr-osmosdr/fix-docstrings.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From f88dc7df2f6224d1724dc8b02dfa9f2fcde9a9d1 Mon Sep 17 00:00:00 2001
-From: Matt Mills <mmills@2bn.net>
-Date: Thu, 29 Oct 2020 18:47:29 -0600
-Subject: Fix docstrings in python bindings for gr namespace
-
-Signed-off-by: Eric Wild <ewild@sysmocom.de>
----
- python/bindings/docstrings/sink_pydoc_template.h | 2 +-
- python/bindings/docstrings/source_pydoc_template.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/python/bindings/docstrings/sink_pydoc_template.h b/python/bindings/docstrings/sink_pydoc_template.h
-index dad47cf..504105f 100644
---- a/python/bindings/docstrings/sink_pydoc_template.h
-+++ b/python/bindings/docstrings/sink_pydoc_template.h
-@@ -7,7 +7,7 @@
- *
- */
- #include "pydoc_macros.h"
--#define D(...) DOC(gr,osmosdr, __VA_ARGS__ )
-+#define D(...) DOC(osmosdr, __VA_ARGS__ )
- /*
- This file contains placeholders for docstrings for the Python bindings.
- Do not edit! These were automatically extracted during the binding process
-diff --git a/python/bindings/docstrings/source_pydoc_template.h b/python/bindings/docstrings/source_pydoc_template.h
-index f2c3ca4..17aae8e 100644
---- a/python/bindings/docstrings/source_pydoc_template.h
-+++ b/python/bindings/docstrings/source_pydoc_template.h
-@@ -7,7 +7,7 @@
- *
- */
- #include "pydoc_macros.h"
--#define D(...) DOC(gr,osmosdr, __VA_ARGS__ )
-+#define D(...) DOC(osmosdr, __VA_ARGS__ )
- /*
- This file contains placeholders for docstrings for the Python bindings.
- Do not edit! These were automatically extracted during the binding process
---
-cgit v1.2.3
-
diff --git a/testing/gr-osmosdr/gnuradio-3.9-compat.patch b/testing/gr-osmosdr/gnuradio-3.9-compat.patch
deleted file mode 100644
index ec514fd14ad..00000000000
--- a/testing/gr-osmosdr/gnuradio-3.9-compat.patch
+++ /dev/null
@@ -1,2298 +0,0 @@
-From 0d727b3ef8ea56132fd538c9aa54b671950e1297 Mon Sep 17 00:00:00 2001
-From: Matt Mills <mmills@2bn.net>
-Date: Thu, 29 Oct 2020 18:28:13 -0600
-Subject: Replace swig with pybind11 for gr3.9 master compat
-
-Signed-off-by: Eric Wild <ewild@sysmocom.de>
----
- CMakeLists.txt | 16 +-
- docs/doxygen/pydoc_macros.h | 19 ++
- docs/doxygen/swig_doc.py | 332 --------------------
- docs/doxygen/update_pydoc.py | 346 +++++++++++++++++++++
- python/CMakeLists.txt | 20 +-
- python/__init__.py | 29 +-
- python/bindings/CMakeLists.txt | 30 ++
- python/bindings/README.md | 0
- python/bindings/bind_oot_file.py | 53 ++++
- python/bindings/docstrings/README.md | 1 +
- python/bindings/docstrings/sink_pydoc_template.h | 153 +++++++++
- python/bindings/docstrings/source_pydoc_template.h | 162 ++++++++++
- python/bindings/header_utils.py | 78 +++++
- python/bindings/python_bindings.cc | 57 ++++
- python/bindings/sink_python.cc | 320 +++++++++++++++++++
- python/bindings/source_python.cc | 342 ++++++++++++++++++++
- swig/CMakeLists.txt | 57 ----
- swig/osmosdr_swig.i | 82 -----
- 18 files changed, 1583 insertions(+), 514 deletions(-)
- create mode 100644 docs/doxygen/pydoc_macros.h
- delete mode 100644 docs/doxygen/swig_doc.py
- create mode 100644 docs/doxygen/update_pydoc.py
- create mode 100644 python/bindings/CMakeLists.txt
- create mode 100644 python/bindings/README.md
- create mode 100644 python/bindings/bind_oot_file.py
- create mode 100644 python/bindings/docstrings/README.md
- create mode 100644 python/bindings/docstrings/sink_pydoc_template.h
- create mode 100644 python/bindings/docstrings/source_pydoc_template.h
- create mode 100644 python/bindings/header_utils.py
- create mode 100644 python/bindings/python_bindings.cc
- create mode 100644 python/bindings/sink_python.cc
- create mode 100644 python/bindings/source_python.cc
- delete mode 100644 swig/CMakeLists.txt
- delete mode 100644 swig/osmosdr_swig.i
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 74c54f5..b4bb535 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -41,7 +41,7 @@ set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} CACHE STRING "")
- list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
-
- # Find GNURadio (pmt and runtime are core, always included)
--find_package(Gnuradio "3.8" REQUIRED COMPONENTS blocks fft filter)
-+find_package(Gnuradio "3.9" REQUIRED COMPONENTS blocks fft filter)
-
- # Set the version information here
- set(VERSION_MAJOR 0)
-@@ -188,20 +188,11 @@ find_package(Doxygen)
- ##########
-
- find_package(PythonLibs 3)
--find_package(SWIG)
--
--if(SWIG_FOUND)
-- message(STATUS "Minimum SWIG version required is 1.3.31")
-- set(SWIG_VERSION_CHECK FALSE)
-- if("${SWIG_VERSION}" VERSION_GREATER "1.3.30")
-- set(SWIG_VERSION_CHECK TRUE)
-- endif()
--endif(SWIG_FOUND)
-+find_package(pybind11)
-
- GR_REGISTER_COMPONENT("Python support" ENABLE_PYTHON
- PYTHONLIBS_FOUND
-- SWIG_FOUND
-- SWIG_VERSION_CHECK
-+ pybind11_FOUND
- )
-
- ########################################################################
-@@ -269,7 +260,6 @@ add_custom_target(uninstall
- add_subdirectory(include/osmosdr)
- add_subdirectory(lib)
- if(ENABLE_PYTHON)
-- add_subdirectory(swig)
- add_subdirectory(python)
- add_subdirectory(grc)
- add_subdirectory(apps)
-diff --git a/docs/doxygen/pydoc_macros.h b/docs/doxygen/pydoc_macros.h
-new file mode 100644
-index 0000000..98bf7cd
---- /dev/null
-+++ b/docs/doxygen/pydoc_macros.h
-@@ -0,0 +1,19 @@
-+#ifndef PYDOC_MACROS_H
-+#define PYDOC_MACROS_H
-+
-+#define __EXPAND(x) x
-+#define __COUNT(_1, _2, _3, _4, _5, _6, _7, COUNT, ...) COUNT
-+#define __VA_SIZE(...) __EXPAND(__COUNT(__VA_ARGS__, 7, 6, 5, 4, 3, 2, 1))
-+#define __CAT1(a, b) a##b
-+#define __CAT2(a, b) __CAT1(a, b)
-+#define __DOC1(n1) __doc_##n1
-+#define __DOC2(n1, n2) __doc_##n1##_##n2
-+#define __DOC3(n1, n2, n3) __doc_##n1##_##n2##_##n3
-+#define __DOC4(n1, n2, n3, n4) __doc_##n1##_##n2##_##n3##_##n4
-+#define __DOC5(n1, n2, n3, n4, n5) __doc_##n1##_##n2##_##n3##_##n4##_##n5
-+#define __DOC6(n1, n2, n3, n4, n5, n6) __doc_##n1##_##n2##_##n3##_##n4##_##n5##_##n6
-+#define __DOC7(n1, n2, n3, n4, n5, n6, n7) \
-+ __doc_##n1##_##n2##_##n3##_##n4##_##n5##_##n6##_##n7
-+#define DOC(...) __EXPAND(__EXPAND(__CAT2(__DOC, __VA_SIZE(__VA_ARGS__)))(__VA_ARGS__))
-+
-+#endif // PYDOC_MACROS_H
-\ No newline at end of file
-diff --git a/docs/doxygen/swig_doc.py b/docs/doxygen/swig_doc.py
-deleted file mode 100644
-index e3b308e..0000000
---- a/docs/doxygen/swig_doc.py
-+++ /dev/null
-@@ -1,332 +0,0 @@
--#
--# Copyright 2010-2012 Free Software Foundation, Inc.
--#
--# This file was generated by gr_modtool, a tool from the GNU Radio framework
--# This file is a part of gr-osmosdr
--#
--# GNU Radio is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# GNU Radio is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with GNU Radio; see the file COPYING. If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
--#
--"""
--Creates the swig_doc.i SWIG interface file.
--Execute using: python swig_doc.py xml_path outputfilename
--
--The file instructs SWIG to transfer the doxygen comments into the
--python docstrings.
--
--"""
--from __future__ import unicode_literals
--
--import sys, time
--
--from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile
--from doxyxml import DoxyOther, base
--
--def py_name(name):
-- bits = name.split('_')
-- return '_'.join(bits[1:])
--
--def make_name(name):
-- bits = name.split('_')
-- return bits[0] + '_make_' + '_'.join(bits[1:])
--
--
--class Block(object):
-- """
-- Checks if doxyxml produced objects correspond to a gnuradio block.
-- """
--
-- @classmethod
-- def includes(cls, item):
-- if not isinstance(item, DoxyClass):
-- return False
-- # Check for a parsing error.
-- if item.error():
-- return False
-- friendname = make_name(item.name())
-- is_a_block = item.has_member(friendname, DoxyFriend)
-- # But now sometimes the make function isn't a friend so check again.
-- if not is_a_block:
-- is_a_block = di.has_member(friendname, DoxyFunction)
-- return is_a_block
--
--class Block2(object):
-- """
-- Checks if doxyxml produced objects correspond to a new style
-- gnuradio block.
-- """
--
-- @classmethod
-- def includes(cls, item):
-- if not isinstance(item, DoxyClass):
-- return False
-- # Check for a parsing error.
-- if item.error():
-- return False
-- is_a_block2 = item.has_member('make', DoxyFunction) and item.has_member('sptr', DoxyOther)
-- return is_a_block2
--
--
--def utoascii(text):
-- """
-- Convert unicode text into ascii and escape quotes and backslashes.
-- """
-- if text is None:
-- return ''
-- out = text.encode('ascii', 'replace')
-- # swig will require us to replace blackslash with 4 backslashes
-- out = out.replace(b'\\', b'\\\\\\\\')
-- out = out.replace(b'"', b'\\"').decode('ascii')
-- return str(out)
--
--
--def combine_descriptions(obj):
-- """
-- Combines the brief and detailed descriptions of an object together.
-- """
-- description = []
-- bd = obj.brief_description.strip()
-- dd = obj.detailed_description.strip()
-- if bd:
-- description.append(bd)
-- if dd:
-- description.append(dd)
-- return utoascii('\n\n'.join(description)).strip()
--
--def format_params(parameteritems):
-- output = ['Args:']
-- template = ' {0} : {1}'
-- for pi in parameteritems:
-- output.append(template.format(pi.name, pi.description))
-- return '\n'.join(output)
--
--entry_templ = '%feature("docstring") {name} "{docstring}"'
--def make_entry(obj, name=None, templ="{description}", description=None, params=[]):
-- """
-- Create a docstring entry for a swig interface file.
--
-- obj - a doxyxml object from which documentation will be extracted.
-- name - the name of the C object (defaults to obj.name())
-- templ - an optional template for the docstring containing only one
-- variable named 'description'.
-- description - if this optional variable is set then it's value is
-- used as the description instead of extracting it from obj.
-- """
-- if name is None:
-- name=obj.name()
-- if "operator " in name:
-- return ''
-- if description is None:
-- description = combine_descriptions(obj)
-- if params:
-- description += '\n\n'
-- description += utoascii(format_params(params))
-- docstring = templ.format(description=description)
-- if not docstring:
-- return ''
-- return entry_templ.format(
-- name=name,
-- docstring=docstring,
-- )
--
--
--def make_func_entry(func, name=None, description=None, params=None):
-- """
-- Create a function docstring entry for a swig interface file.
--
-- func - a doxyxml object from which documentation will be extracted.
-- name - the name of the C object (defaults to func.name())
-- description - if this optional variable is set then it's value is
-- used as the description instead of extracting it from func.
-- params - a parameter list that overrides using func.params.
-- """
-- #if params is None:
-- # params = func.params
-- #params = [prm.declname for prm in params]
-- #if params:
-- # sig = "Params: (%s)" % ", ".join(params)
-- #else:
-- # sig = "Params: (NONE)"
-- #templ = "{description}\n\n" + sig
-- #return make_entry(func, name=name, templ=utoascii(templ),
-- # description=description)
-- return make_entry(func, name=name, description=description, params=params)
--
--
--def make_class_entry(klass, description=None, ignored_methods=[], params=None):
-- """
-- Create a class docstring for a swig interface file.
-- """
-- if params is None:
-- params = klass.params
-- output = []
-- output.append(make_entry(klass, description=description, params=params))
-- for func in klass.in_category(DoxyFunction):
-- if func.name() not in ignored_methods:
-- name = klass.name() + '::' + func.name()
-- output.append(make_func_entry(func, name=name))
-- return "\n\n".join(output)
--
--
--def make_block_entry(di, block):
-- """
-- Create class and function docstrings of a gnuradio block for a
-- swig interface file.
-- """
-- descriptions = []
-- # Get the documentation associated with the class.
-- class_desc = combine_descriptions(block)
-- if class_desc:
-- descriptions.append(class_desc)
-- # Get the documentation associated with the make function
-- make_func = di.get_member(make_name(block.name()), DoxyFunction)
-- make_func_desc = combine_descriptions(make_func)
-- if make_func_desc:
-- descriptions.append(make_func_desc)
-- # Get the documentation associated with the file
-- try:
-- block_file = di.get_member(block.name() + ".h", DoxyFile)
-- file_desc = combine_descriptions(block_file)
-- if file_desc:
-- descriptions.append(file_desc)
-- except base.Base.NoSuchMember:
-- # Don't worry if we can't find a matching file.
-- pass
-- # And join them all together to make a super duper description.
-- super_description = "\n\n".join(descriptions)
-- # Associate the combined description with the class and
-- # the make function.
-- output = []
-- output.append(make_class_entry(block, description=super_description))
-- output.append(make_func_entry(make_func, description=super_description,
-- params=block.params))
-- return "\n\n".join(output)
--
--def make_block2_entry(di, block):
-- """
-- Create class and function docstrings of a new style gnuradio block for a
-- swig interface file.
-- """
-- descriptions = []
-- # For new style blocks all the relevant documentation should be
-- # associated with the 'make' method.
-- class_description = combine_descriptions(block)
-- make_func = block.get_member('make', DoxyFunction)
-- make_description = combine_descriptions(make_func)
-- description = class_description + "\n\nConstructor Specific Documentation:\n\n" + make_description
-- # Associate the combined description with the class and
-- # the make function.
-- output = []
-- output.append(make_class_entry(
-- block, description=description,
-- ignored_methods=['make'], params=make_func.params))
-- makename = block.name() + '::make'
-- output.append(make_func_entry(
-- make_func, name=makename, description=description,
-- params=make_func.params))
-- return "\n\n".join(output)
--
--def make_swig_interface_file(di, swigdocfilename, custom_output=None):
--
-- output = ["""
--/*
-- * This file was automatically generated using swig_doc.py.
-- *
-- * Any changes to it will be lost next time it is regenerated.
-- */
--"""]
--
-- if custom_output is not None:
-- output.append(custom_output)
--
-- # Create docstrings for the blocks.
-- blocks = di.in_category(Block)
-- blocks2 = di.in_category(Block2)
--
-- make_funcs = set([])
-- for block in blocks:
-- try:
-- make_func = di.get_member(make_name(block.name()), DoxyFunction)
-- # Don't want to risk writing to output twice.
-- if make_func.name() not in make_funcs:
-- make_funcs.add(make_func.name())
-- output.append(make_block_entry(di, block))
-- except block.ParsingError:
-- sys.stderr.write('Parsing error for block {0}\n'.format(block.name()))
-- raise
--
-- for block in blocks2:
-- try:
-- make_func = block.get_member('make', DoxyFunction)
-- make_func_name = block.name() +'::make'
-- # Don't want to risk writing to output twice.
-- if make_func_name not in make_funcs:
-- make_funcs.add(make_func_name)
-- output.append(make_block2_entry(di, block))
-- except block.ParsingError:
-- sys.stderr.write('Parsing error for block {0}\n'.format(block.name()))
-- raise
--
-- # Create docstrings for functions
-- # Don't include the make functions since they have already been dealt with.
-- funcs = [f for f in di.in_category(DoxyFunction)
-- if f.name() not in make_funcs and not f.name().startswith('std::')]
-- for f in funcs:
-- try:
-- output.append(make_func_entry(f))
-- except f.ParsingError:
-- sys.stderr.write('Parsing error for function {0}\n'.format(f.name()))
--
-- # Create docstrings for classes
-- block_names = [block.name() for block in blocks]
-- block_names += [block.name() for block in blocks2]
-- klasses = [k for k in di.in_category(DoxyClass)
-- if k.name() not in block_names and not k.name().startswith('std::')]
-- for k in klasses:
-- try:
-- output.append(make_class_entry(k))
-- except k.ParsingError:
-- sys.stderr.write('Parsing error for class {0}\n'.format(k.name()))
--
-- # Docstrings are not created for anything that is not a function or a class.
-- # If this excludes anything important please add it here.
--
-- output = "\n\n".join(output)
--
-- swig_doc = open(swigdocfilename, 'w')
-- swig_doc.write(output)
-- swig_doc.close()
--
--if __name__ == "__main__":
-- # Parse command line options and set up doxyxml.
-- err_msg = "Execute using: python swig_doc.py xml_path outputfilename"
-- if len(sys.argv) != 3:
-- raise Exception(err_msg)
-- xml_path = sys.argv[1]
-- swigdocfilename = sys.argv[2]
-- di = DoxyIndex(xml_path)
--
-- # gnuradio.gr.msq_queue.insert_tail and delete_head create errors unless docstrings are defined!
-- # This is presumably a bug in SWIG.
-- #msg_q = di.get_member(u'gr_msg_queue', DoxyClass)
-- #insert_tail = msg_q.get_member(u'insert_tail', DoxyFunction)
-- #delete_head = msg_q.get_member(u'delete_head', DoxyFunction)
-- output = []
-- #output.append(make_func_entry(insert_tail, name='gr_py_msg_queue__insert_tail'))
-- #output.append(make_func_entry(delete_head, name='gr_py_msg_queue__delete_head'))
-- custom_output = "\n\n".join(output)
--
-- # Generate the docstrings interface file.
-- make_swig_interface_file(di, swigdocfilename, custom_output=custom_output)
-diff --git a/docs/doxygen/update_pydoc.py b/docs/doxygen/update_pydoc.py
-new file mode 100644
-index 0000000..e6b4544
---- /dev/null
-+++ b/docs/doxygen/update_pydoc.py
-@@ -0,0 +1,346 @@
-+#
-+# Copyright 2010-2012 Free Software Foundation, Inc.
-+#
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gnuradio
-+#
-+# SPDX-License-Identifier: GPL-3.0-or-later
-+#
-+#
-+"""
-+Updates the *pydoc_h files for a module
-+Execute using: python update_pydoc.py xml_path outputfilename
-+
-+The file instructs Pybind11 to transfer the doxygen comments into the
-+python docstrings.
-+
-+"""
-+
-+import os, sys, time, glob, re, json
-+from argparse import ArgumentParser
-+
-+from doxyxml import DoxyIndex, DoxyClass, DoxyFriend, DoxyFunction, DoxyFile
-+from doxyxml import DoxyOther, base
-+
-+def py_name(name):
-+ bits = name.split('_')
-+ return '_'.join(bits[1:])
-+
-+def make_name(name):
-+ bits = name.split('_')
-+ return bits[0] + '_make_' + '_'.join(bits[1:])
-+
-+
-+class Block(object):
-+ """
-+ Checks if doxyxml produced objects correspond to a gnuradio block.
-+ """
-+
-+ @classmethod
-+ def includes(cls, item):
-+ if not isinstance(item, DoxyClass):
-+ return False
-+ # Check for a parsing error.
-+ if item.error():
-+ return False
-+ friendname = make_name(item.name())
-+ is_a_block = item.has_member(friendname, DoxyFriend)
-+ # But now sometimes the make function isn't a friend so check again.
-+ if not is_a_block:
-+ is_a_block = di.has_member(friendname, DoxyFunction)
-+ return is_a_block
-+
-+class Block2(object):
-+ """
-+ Checks if doxyxml produced objects correspond to a new style
-+ gnuradio block.
-+ """
-+
-+ @classmethod
-+ def includes(cls, item):
-+ if not isinstance(item, DoxyClass):
-+ return False
-+ # Check for a parsing error.
-+ if item.error():
-+ return False
-+ is_a_block2 = item.has_member('make', DoxyFunction) and item.has_member('sptr', DoxyOther)
-+ return is_a_block2
-+
-+
-+def utoascii(text):
-+ """
-+ Convert unicode text into ascii and escape quotes and backslashes.
-+ """
-+ if text is None:
-+ return ''
-+ out = text.encode('ascii', 'replace')
-+ # swig will require us to replace blackslash with 4 backslashes
-+ # TODO: evaluate what this should be for pybind11
-+ out = out.replace(b'\\', b'\\\\\\\\')
-+ out = out.replace(b'"', b'\\"').decode('ascii')
-+ return str(out)
-+
-+
-+def combine_descriptions(obj):
-+ """
-+ Combines the brief and detailed descriptions of an object together.
-+ """
-+ description = []
-+ bd = obj.brief_description.strip()
-+ dd = obj.detailed_description.strip()
-+ if bd:
-+ description.append(bd)
-+ if dd:
-+ description.append(dd)
-+ return utoascii('\n\n'.join(description)).strip()
-+
-+def format_params(parameteritems):
-+ output = ['Args:']
-+ template = ' {0} : {1}'
-+ for pi in parameteritems:
-+ output.append(template.format(pi.name, pi.description))
-+ return '\n'.join(output)
-+
-+entry_templ = '%feature("docstring") {name} "{docstring}"'
-+def make_entry(obj, name=None, templ="{description}", description=None, params=[]):
-+ """
-+ Create a docstring key/value pair, where the key is the object name.
-+
-+ obj - a doxyxml object from which documentation will be extracted.
-+ name - the name of the C object (defaults to obj.name())
-+ templ - an optional template for the docstring containing only one
-+ variable named 'description'.
-+ description - if this optional variable is set then it's value is
-+ used as the description instead of extracting it from obj.
-+ """
-+ if name is None:
-+ name=obj.name()
-+ if hasattr(obj,'_parse_data') and hasattr(obj._parse_data,'definition'):
-+ name=obj._parse_data.definition.split(' ')[-1]
-+ if "operator " in name:
-+ return ''
-+ if description is None:
-+ description = combine_descriptions(obj)
-+ if params:
-+ description += '\n\n'
-+ description += utoascii(format_params(params))
-+ docstring = templ.format(description=description)
-+
-+ return {name: docstring}
-+
-+
-+def make_class_entry(klass, description=None, ignored_methods=[], params=None):
-+ """
-+ Create a class docstring key/value pair.
-+ """
-+ if params is None:
-+ params = klass.params
-+ output = {}
-+ output.update(make_entry(klass, description=description, params=params))
-+ for func in klass.in_category(DoxyFunction):
-+ if func.name() not in ignored_methods:
-+ name = klass.name() + '::' + func.name()
-+ output.update(make_entry(func, name=name))
-+ return output
-+
-+
-+def make_block_entry(di, block):
-+ """
-+ Create class and function docstrings of a gnuradio block
-+ """
-+ descriptions = []
-+ # Get the documentation associated with the class.
-+ class_desc = combine_descriptions(block)
-+ if class_desc:
-+ descriptions.append(class_desc)
-+ # Get the documentation associated with the make function
-+ make_func = di.get_member(make_name(block.name()), DoxyFunction)
-+ make_func_desc = combine_descriptions(make_func)
-+ if make_func_desc:
-+ descriptions.append(make_func_desc)
-+ # Get the documentation associated with the file
-+ try:
-+ block_file = di.get_member(block.name() + ".h", DoxyFile)
-+ file_desc = combine_descriptions(block_file)
-+ if file_desc:
-+ descriptions.append(file_desc)
-+ except base.Base.NoSuchMember:
-+ # Don't worry if we can't find a matching file.
-+ pass
-+ # And join them all together to make a super duper description.
-+ super_description = "\n\n".join(descriptions)
-+ # Associate the combined description with the class and
-+ # the make function.
-+ output = {}
-+ output.update(make_class_entry(block, description=super_description))
-+ output.update(make_entry(make_func, description=super_description,
-+ params=block.params))
-+ return output
-+
-+def make_block2_entry(di, block):
-+ """
-+ Create class and function docstrings of a new style gnuradio block
-+ """
-+ # For new style blocks all the relevant documentation should be
-+ # associated with the 'make' method.
-+ class_description = combine_descriptions(block)
-+ make_func = block.get_member('make', DoxyFunction)
-+ make_description = combine_descriptions(make_func)
-+ description = class_description + "\n\nConstructor Specific Documentation:\n\n" + make_description
-+ # Associate the combined description with the class and
-+ # the make function.
-+ output = {}
-+ output.update(make_class_entry(
-+ block, description=description,
-+ ignored_methods=['make'], params=make_func.params))
-+ makename = block.name() + '::make'
-+ output.update(make_entry(
-+ make_func, name=makename, description=description,
-+ params=make_func.params))
-+ return output
-+
-+def get_docstrings_dict(di, custom_output=None):
-+
-+ output = {}
-+ if custom_output:
-+ output.update(custom_output)
-+
-+ # Create docstrings for the blocks.
-+ blocks = di.in_category(Block)
-+ blocks2 = di.in_category(Block2)
-+
-+ make_funcs = set([])
-+ for block in blocks:
-+ try:
-+ make_func = di.get_member(make_name(block.name()), DoxyFunction)
-+ # Don't want to risk writing to output twice.
-+ if make_func.name() not in make_funcs:
-+ make_funcs.add(make_func.name())
-+ output.update(make_block_entry(di, block))
-+ except block.ParsingError:
-+ sys.stderr.write('Parsing error for block {0}\n'.format(block.name()))
-+ raise
-+
-+ for block in blocks2:
-+ try:
-+ make_func = block.get_member('make', DoxyFunction)
-+ make_func_name = block.name() +'::make'
-+ # Don't want to risk writing to output twice.
-+ if make_func_name not in make_funcs:
-+ make_funcs.add(make_func_name)
-+ output.update(make_block2_entry(di, block))
-+ except block.ParsingError:
-+ sys.stderr.write('Parsing error for block {0}\n'.format(block.name()))
-+ raise
-+
-+ # Create docstrings for functions
-+ # Don't include the make functions since they have already been dealt with.
-+ funcs = [f for f in di.in_category(DoxyFunction)
-+ if f.name() not in make_funcs and not f.name().startswith('std::')]
-+ for f in funcs:
-+ try:
-+ output.update(make_entry(f))
-+ except f.ParsingError:
-+ sys.stderr.write('Parsing error for function {0}\n'.format(f.name()))
-+
-+ # Create docstrings for classes
-+ block_names = [block.name() for block in blocks]
-+ block_names += [block.name() for block in blocks2]
-+ klasses = [k for k in di.in_category(DoxyClass)
-+ if k.name() not in block_names and not k.name().startswith('std::')]
-+ for k in klasses:
-+ try:
-+ output.update(make_class_entry(k))
-+ except k.ParsingError:
-+ sys.stderr.write('Parsing error for class {0}\n'.format(k.name()))
-+
-+ # Docstrings are not created for anything that is not a function or a class.
-+ # If this excludes anything important please add it here.
-+
-+ return output
-+
-+def sub_docstring_in_pydoc_h(pydoc_files, docstrings_dict, output_dir, filter_str=None):
-+ if filter_str:
-+ docstrings_dict = {k: v for k, v in docstrings_dict.items() if k.startswith(filter_str)}
-+
-+ with open(os.path.join(output_dir,'docstring_status'),'w') as status_file:
-+
-+ for pydoc_file in pydoc_files:
-+ if filter_str:
-+ filter_str2 = "::".join((filter_str,os.path.split(pydoc_file)[-1].split('_pydoc_template.h')[0]))
-+ docstrings_dict2 = {k: v for k, v in docstrings_dict.items() if k.startswith(filter_str2)}
-+ else:
-+ docstrings_dict2 = docstrings_dict
-+
-+
-+
-+ file_in = open(pydoc_file,'r').read()
-+ for key, value in docstrings_dict2.items():
-+ file_in_tmp = file_in
-+ try:
-+ doc_key = key.split("::")
-+ # if 'gr' in doc_key:
-+ # doc_key.remove('gr')
-+ doc_key = '_'.join(doc_key)
-+ regexp = r'(__doc_{} =\sR\"doc\()[^)]*(\)doc\")'.format(doc_key)
-+ regexp = re.compile(regexp, re.MULTILINE)
-+
-+ (file_in, nsubs) = regexp.subn(r'\1'+value+r'\2', file_in, count=1)
-+ if nsubs == 1:
-+ status_file.write("PASS: " + pydoc_file + "\n")
-+ except KeyboardInterrupt:
-+ raise KeyboardInterrupt
-+ except: # be permissive, TODO log, but just leave the docstring blank
-+ status_file.write("FAIL: " + pydoc_file + "\n")
-+ file_in = file_in_tmp
-+
-+ output_pathname = os.path.join(output_dir, os.path.basename(pydoc_file).replace('_template.h','.h'))
-+ # FIXME: Remove this debug print
-+ print('output docstrings to {}'.format(output_pathname))
-+ with open(output_pathname,'w') as file_out:
-+ file_out.write(file_in)
-+
-+def copy_docstring_templates(pydoc_files, output_dir):
-+ with open(os.path.join(output_dir,'docstring_status'),'w') as status_file:
-+ for pydoc_file in pydoc_files:
-+ file_in = open(pydoc_file,'r').read()
-+ output_pathname = os.path.join(output_dir, os.path.basename(pydoc_file).replace('_template.h','.h'))
-+ # FIXME: Remove this debug print
-+ print('copy docstrings to {}'.format(output_pathname))
-+ with open(output_pathname,'w') as file_out:
-+ file_out.write(file_in)
-+ status_file.write("DONE")
-+
-+def argParse():
-+ """Parses commandline args."""
-+ desc='Scrape the doxygen generated xml for docstrings to insert into python bindings'
-+ parser = ArgumentParser(description=desc)
-+
-+ parser.add_argument("function", help="Operation to perform on docstrings", choices=["scrape","sub","copy"])
-+
-+ parser.add_argument("--xml_path")
-+ parser.add_argument("--bindings_dir")
-+ parser.add_argument("--output_dir")
-+ parser.add_argument("--json_path")
-+ parser.add_argument("--filter", default=None)
-+
-+ return parser.parse_args()
-+
-+if __name__ == "__main__":
-+ # Parse command line options and set up doxyxml.
-+ args = argParse()
-+ if args.function.lower() == 'scrape':
-+ di = DoxyIndex(args.xml_path)
-+ docstrings_dict = get_docstrings_dict(di)
-+ with open(args.json_path, 'w') as fp:
-+ json.dump(docstrings_dict, fp)
-+ elif args.function.lower() == 'sub':
-+ with open(args.json_path, 'r') as fp:
-+ docstrings_dict = json.load(fp)
-+ pydoc_files = glob.glob(os.path.join(args.bindings_dir,'*_pydoc_template.h'))
-+ sub_docstring_in_pydoc_h(pydoc_files, docstrings_dict, args.output_dir, args.filter)
-+ elif args.function.lower() == 'copy':
-+ pydoc_files = glob.glob(os.path.join(args.bindings_dir,'*_pydoc_template.h'))
-+ copy_docstring_templates(pydoc_files, args.output_dir)
-+
-+
-diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
-index 53cb61e..dcae02a 100644
---- a/python/CMakeLists.txt
-+++ b/python/CMakeLists.txt
-@@ -1,21 +1,10 @@
- # Copyright 2011 Free Software Foundation, Inc.
- #
--# This file is part of gr-osmosdr
-+# This file was generated by gr_modtool, a tool from the GNU Radio framework
-+# This file is a part of gr-osmosdr
- #
--# gr-osmosdr is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
-+# SPDX-License-Identifier: GPL-3.0-or-later
- #
--# gr-osmosdr is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with gr-osmosdr; see the file COPYING. If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
-
- ########################################################################
- # Include python install macros
-@@ -25,6 +14,8 @@ if(NOT PYTHONINTERP_FOUND)
- return()
- endif()
-
-+add_subdirectory(bindings)
-+
- ########################################################################
- # Install python sources
- ########################################################################
-@@ -40,4 +31,3 @@ GR_PYTHON_INSTALL(
- include(GrTest)
-
- set(GR_TEST_TARGET_DEPS gnuradio-osmosdr)
--set(GR_TEST_PYTHON_DIRS ${CMAKE_BINARY_DIR}/swig)
-diff --git a/python/__init__.py b/python/__init__.py
-index 1cb090f..e619f4f 100644
---- a/python/__init__.py
-+++ b/python/__init__.py
-@@ -1,25 +1,24 @@
- #
- # Copyright 2008,2009 Free Software Foundation, Inc.
- #
--# This application is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# This application is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License along
--# with this program; if not, write to the Free Software Foundation, Inc.,
--# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-+# SPDX-License-Identifier: GPL-3.0-or-later
- #
-
- # The presence of this file turns this directory into a Python package
-
- '''
--This is the GNU Radio OsmoSDR module.
-+This is the GNU Radio OSMOSDR module. Place your Python package
-+description here (python/__init__.py).
- '''
-+import os
-
--from .osmosdr_swig import *
-+# import pybind11 generated symbols into the osmosdr namespace
-+try:
-+ from .osmosdr_python import *
-+except ImportError:
-+ dirname, filename = os.path.split(os.path.abspath(__file__))
-+ __path__.append(os.path.join(dirname, "bindings"))
-+ from .osmosdr_python import *
-+
-+# import any pure python here
-+#
-diff --git a/python/bindings/CMakeLists.txt b/python/bindings/CMakeLists.txt
-new file mode 100644
-index 0000000..ed50d7e
---- /dev/null
-+++ b/python/bindings/CMakeLists.txt
-@@ -0,0 +1,30 @@
-+# Copyright 2020 Free Software Foundation, Inc.
-+#
-+# This file is part of GNU Radio
-+#
-+# SPDX-License-Identifier: GPL-3.0-or-later
-+#
-+
-+GR_PYTHON_CHECK_MODULE_RAW(
-+ "pygccxml"
-+ "import pygccxml"
-+ PYGCCXML_FOUND
-+ )
-+
-+include(GrPybind)
-+
-+########################################################################
-+# Python Bindings
-+########################################################################
-+
-+list(APPEND osmosdr_python_files
-+ sink_python.cc
-+ source_python.cc
-+ python_bindings.cc)
-+
-+GR_PYBIND_MAKE_OOT(osmosdr
-+ ../..
-+ gr::osmosdr
-+ "${osmosdr_python_files}")
-+
-+install(TARGETS osmosdr_python DESTINATION ${GR_PYTHON_DIR}/osmosdr COMPONENT pythonapi)
-diff --git a/python/bindings/README.md b/python/bindings/README.md
-new file mode 100644
-index 0000000..e69de29
-diff --git a/python/bindings/bind_oot_file.py b/python/bindings/bind_oot_file.py
-new file mode 100644
-index 0000000..55de795
---- /dev/null
-+++ b/python/bindings/bind_oot_file.py
-@@ -0,0 +1,53 @@
-+import warnings
-+import argparse
-+import os
-+from gnuradio.bindtool import BindingGenerator
-+import pathlib
-+import sys
-+
-+parser = argparse.ArgumentParser(description='Bind a GR Out of Tree Block')
-+parser.add_argument('--module', type=str,
-+ help='Name of gr module containing file to bind (e.g. fft digital analog)')
-+
-+parser.add_argument('--output_dir', default='/tmp',
-+ help='Output directory of generated bindings')
-+parser.add_argument('--prefix', help='Prefix of Installed GNU Radio')
-+parser.add_argument('--src', help='Directory of gnuradio source tree',
-+ default=os.path.dirname(os.path.abspath(__file__))+'/../../..')
-+
-+parser.add_argument(
-+ '--filename', help="File to be parsed")
-+
-+parser.add_argument(
-+ '--include', help='Additional Include Dirs, separated', default=(), nargs='+')
-+
-+parser.add_argument(
-+ '--status', help='Location of output file for general status (used during cmake)', default=None
-+)
-+parser.add_argument(
-+ '--flag_automatic', default='0'
-+)
-+parser.add_argument(
-+ '--flag_pygccxml', default='0'
-+)
-+
-+args = parser.parse_args()
-+
-+prefix = args.prefix
-+output_dir = args.output_dir
-+includes = args.include
-+name = args.module
-+
-+namespace = [name]
-+prefix_include_root = name
-+
-+
-+with warnings.catch_warnings():
-+ warnings.filterwarnings("ignore", category=DeprecationWarning)
-+
-+ bg = BindingGenerator(prefix, namespace,
-+ prefix_include_root, output_dir, addl_includes=','.join(args.include), catch_exceptions=False, write_json_output=False, status_output=args.status,
-+ flag_automatic=True if args.flag_automatic.lower() in [
-+ '1', 'true'] else False,
-+ flag_pygccxml=True if args.flag_pygccxml.lower() in ['1', 'true'] else False)
-+ bg.gen_file_binding(args.filename)
-diff --git a/python/bindings/docstrings/README.md b/python/bindings/docstrings/README.md
-new file mode 100644
-index 0000000..295455a
---- /dev/null
-+++ b/python/bindings/docstrings/README.md
-@@ -0,0 +1 @@
-+This directory stores templates for docstrings that are scraped from the include header files for each block
-\ No newline at end of file
-diff --git a/python/bindings/docstrings/sink_pydoc_template.h b/python/bindings/docstrings/sink_pydoc_template.h
-new file mode 100644
-index 0000000..dad47cf
---- /dev/null
-+++ b/python/bindings/docstrings/sink_pydoc_template.h
-@@ -0,0 +1,153 @@
-+/*
-+ * Copyright 2020 Free Software Foundation, Inc.
-+ *
-+ * This file is part of GNU Radio
-+ *
-+ * SPDX-License-Identifier: GPL-3.0-or-later
-+ *
-+ */
-+#include "pydoc_macros.h"
-+#define D(...) DOC(gr,osmosdr, __VA_ARGS__ )
-+/*
-+ This file contains placeholders for docstrings for the Python bindings.
-+ Do not edit! These were automatically extracted during the binding process
-+ and will be overwritten during the build process
-+ */
-+
-+
-+
-+ static const char *__doc_osmosdr_sink = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_sink_0 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_sink_1 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_make = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_num_channels = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_sample_rates = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_sample_rate = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_sample_rate = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_freq_range = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_center_freq = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_center_freq = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_freq_corr = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_freq_corr = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_gain_names = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_gain_range_0 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_gain_range_1 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_gain_mode = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_gain_mode = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_gain_0 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_gain_1 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_gain_0 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_gain_1 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_if_gain = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_bb_gain = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_antennas = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_antenna = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_antenna = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_dc_offset = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_iq_balance = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_bandwidth = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_bandwidth = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_bandwidth_range = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_time_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_time_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_time_sources = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_clock_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_clock_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_clock_sources = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_clock_rate = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_clock_rate = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_time_now = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_get_time_last_pps = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_time_now = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_time_next_pps = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_sink_set_time_unknown_pps = R"doc()doc";
-+
-+
-diff --git a/python/bindings/docstrings/source_pydoc_template.h b/python/bindings/docstrings/source_pydoc_template.h
-new file mode 100644
-index 0000000..f2c3ca4
---- /dev/null
-+++ b/python/bindings/docstrings/source_pydoc_template.h
-@@ -0,0 +1,162 @@
-+/*
-+ * Copyright 2020 Free Software Foundation, Inc.
-+ *
-+ * This file is part of GNU Radio
-+ *
-+ * SPDX-License-Identifier: GPL-3.0-or-later
-+ *
-+ */
-+#include "pydoc_macros.h"
-+#define D(...) DOC(gr,osmosdr, __VA_ARGS__ )
-+/*
-+ This file contains placeholders for docstrings for the Python bindings.
-+ Do not edit! These were automatically extracted during the binding process
-+ and will be overwritten during the build process
-+ */
-+
-+
-+
-+ static const char *__doc_osmosdr_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_source_0 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_source_1 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_make = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_num_channels = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_seek = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_sample_rates = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_sample_rate = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_sample_rate = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_freq_range = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_center_freq = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_center_freq = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_freq_corr = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_freq_corr = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_gain_names = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_gain_range_0 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_gain_range_1 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_gain_mode = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_gain_mode = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_gain_0 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_gain_1 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_gain_0 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_gain_1 = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_if_gain = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_bb_gain = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_antennas = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_antenna = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_antenna = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_dc_offset_mode = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_dc_offset = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_iq_balance_mode = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_iq_balance = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_bandwidth = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_bandwidth = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_bandwidth_range = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_time_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_time_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_time_sources = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_clock_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_clock_source = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_clock_sources = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_clock_rate = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_clock_rate = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_time_now = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_get_time_last_pps = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_time_now = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_time_next_pps = R"doc()doc";
-+
-+
-+ static const char *__doc_osmosdr_source_set_time_unknown_pps = R"doc()doc";
-+
-+
-diff --git a/python/bindings/header_utils.py b/python/bindings/header_utils.py
-new file mode 100644
-index 0000000..165124e
---- /dev/null
-+++ b/python/bindings/header_utils.py
-@@ -0,0 +1,78 @@
-+# Utilities for reading values in header files
-+
-+from argparse import ArgumentParser
-+import re
-+
-+
-+class PybindHeaderParser:
-+ def __init__(self, pathname):
-+ with open(pathname,'r') as f:
-+ self.file_txt = f.read()
-+
-+ def get_flag_automatic(self):
-+ # p = re.compile(r'BINDTOOL_GEN_AUTOMATIC\(([^\s])\)')
-+ # m = p.search(self.file_txt)
-+ m = re.search(r'BINDTOOL_GEN_AUTOMATIC\(([^\s])\)', self.file_txt)
-+ if (m and m.group(1) == '1'):
-+ return True
-+ else:
-+ return False
-+
-+ def get_flag_pygccxml(self):
-+ # p = re.compile(r'BINDTOOL_USE_PYGCCXML\(([^\s])\)')
-+ # m = p.search(self.file_txt)
-+ m = re.search(r'BINDTOOL_USE_PYGCCXML\(([^\s])\)', self.file_txt)
-+ if (m and m.group(1) == '1'):
-+ return True
-+ else:
-+ return False
-+
-+ def get_header_filename(self):
-+ # p = re.compile(r'BINDTOOL_HEADER_FILE\(([^\s]*)\)')
-+ # m = p.search(self.file_txt)
-+ m = re.search(r'BINDTOOL_HEADER_FILE\(([^\s]*)\)', self.file_txt)
-+ if (m):
-+ return m.group(1)
-+ else:
-+ return None
-+
-+ def get_header_file_hash(self):
-+ # p = re.compile(r'BINDTOOL_HEADER_FILE_HASH\(([^\s]*)\)')
-+ # m = p.search(self.file_txt)
-+ m = re.search(r'BINDTOOL_HEADER_FILE_HASH\(([^\s]*)\)', self.file_txt)
-+ if (m):
-+ return m.group(1)
-+ else:
-+ return None
-+
-+ def get_flags(self):
-+ return f'{self.get_flag_automatic()};{self.get_flag_pygccxml()};{self.get_header_filename()};{self.get_header_file_hash()};'
-+
-+
-+
-+def argParse():
-+ """Parses commandline args."""
-+ desc='Reads the parameters from the comment block in the pybind files'
-+ parser = ArgumentParser(description=desc)
-+
-+ parser.add_argument("function", help="Operation to perform on comment block of pybind file", choices=["flag_auto","flag_pygccxml","header_filename","header_file_hash","all"])
-+ parser.add_argument("pathname", help="Pathname of pybind c++ file to read, e.g. blockname_python.cc")
-+
-+ return parser.parse_args()
-+
-+if __name__ == "__main__":
-+ # Parse command line options and set up doxyxml.
-+ args = argParse()
-+
-+ pbhp = PybindHeaderParser(args.pathname)
-+
-+ if args.function == "flag_auto":
-+ print(pbhp.get_flag_automatic())
-+ elif args.function == "flag_pygccxml":
-+ print(pbhp.get_flag_pygccxml())
-+ elif args.function == "header_filename":
-+ print(pbhp.get_header_filename())
-+ elif args.function == "header_file_hash":
-+ print(pbhp.get_header_file_hash())
-+ elif args.function == "all":
-+ print(pbhp.get_flags())
-\ No newline at end of file
-diff --git a/python/bindings/python_bindings.cc b/python/bindings/python_bindings.cc
-new file mode 100644
-index 0000000..fc11ee0
---- /dev/null
-+++ b/python/bindings/python_bindings.cc
-@@ -0,0 +1,57 @@
-+/*
-+ * Copyright 2020 Free Software Foundation, Inc.
-+ *
-+ * This file is part of GNU Radio
-+ *
-+ * SPDX-License-Identifier: GPL-3.0-or-later
-+ *
-+ */
-+
-+#include <pybind11/pybind11.h>
-+
-+#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
-+#include <numpy/arrayobject.h>
-+
-+namespace py = pybind11;
-+
-+// Headers for binding functions
-+/**************************************/
-+/* The following comment block is used for
-+/* gr_modtool to insert function prototypes
-+/* Please do not delete
-+/**************************************/
-+// BINDING_FUNCTION_PROTOTYPES(
-+ void bind_sink(py::module& m);
-+ void bind_source(py::module& m);
-+// ) END BINDING_FUNCTION_PROTOTYPES
-+
-+
-+// We need this hack because import_array() returns NULL
-+// for newer Python versions.
-+// This function is also necessary because it ensures access to the C API
-+// and removes a warning.
-+void* init_numpy()
-+{
-+ import_array();
-+ return NULL;
-+}
-+
-+PYBIND11_MODULE(osmosdr_python, m)
-+{
-+ // Initialize the numpy C API
-+ // (otherwise we will see segmentation faults)
-+ init_numpy();
-+
-+ // Allow access to base block methods
-+ py::module::import("gnuradio.gr");
-+
-+ /**************************************/
-+ /* The following comment block is used for
-+ /* gr_modtool to insert binding function calls
-+ /* Please do not delete
-+ /**************************************/
-+ // BINDING_FUNCTION_CALLS(
-+ bind_sink(m);
-+ bind_source(m);
-+ // ) END BINDING_FUNCTION_CALLS
-+}
-diff --git a/python/bindings/sink_python.cc b/python/bindings/sink_python.cc
-new file mode 100644
-index 0000000..1c6711d
---- /dev/null
-+++ b/python/bindings/sink_python.cc
-@@ -0,0 +1,320 @@
-+/*
-+ * Copyright 2020 Free Software Foundation, Inc.
-+ *
-+ * This file is part of GNU Radio
-+ *
-+ * SPDX-License-Identifier: GPL-3.0-or-later
-+ *
-+ */
-+
-+/***********************************************************************************/
-+/* This file is automatically generated using bindtool and can be manually edited */
-+/* The following lines can be configured to regenerate this file during cmake */
-+/* If manual edits are made, the following tags should be modified accordingly. */
-+/* BINDTOOL_GEN_AUTOMATIC(1) */
-+/* BINDTOOL_USE_PYGCCXML(0) */
-+/* BINDTOOL_HEADER_FILE(sink.h) */
-+/* BINDTOOL_HEADER_FILE_HASH(d4331eb8a19b7a2aa4ed0100039f7a0e) */
-+/***********************************************************************************/
-+
-+#include <pybind11/complex.h>
-+#include <pybind11/pybind11.h>
-+#include <pybind11/stl.h>
-+
-+namespace py = pybind11;
-+
-+#include <osmosdr/sink.h>
-+// pydoc.h is automatically generated in the build directory
-+#include <sink_pydoc.h>
-+
-+void bind_sink(py::module& m)
-+{
-+
-+ using sink = ::osmosdr::sink;
-+
-+
-+ py::class_<sink, gr::hier_block2,
-+ std::shared_ptr<sink>>(m, "sink", D(sink))
-+
-+ .def(py::init(&sink::make),
-+ py::arg("args") = "",
-+ D(sink,make)
-+ )
-+
-+
-+
-+
-+
-+ .def("get_num_channels",&sink::get_num_channels,
-+ D(sink,get_num_channels)
-+ )
-+
-+
-+ .def("get_sample_rates",&sink::get_sample_rates,
-+ D(sink,get_sample_rates)
-+ )
-+
-+
-+ .def("set_sample_rate",&sink::set_sample_rate,
-+ py::arg("rate"),
-+ D(sink,set_sample_rate)
-+ )
-+
-+
-+ .def("get_sample_rate",&sink::get_sample_rate,
-+ D(sink,get_sample_rate)
-+ )
-+
-+
-+ .def("get_freq_range",&sink::get_freq_range,
-+ py::arg("chan") = 0,
-+ D(sink,get_freq_range)
-+ )
-+
-+
-+ .def("set_center_freq",&sink::set_center_freq,
-+ py::arg("freq"),
-+ py::arg("chan") = 0,
-+ D(sink,set_center_freq)
-+ )
-+
-+
-+ .def("get_center_freq",&sink::get_center_freq,
-+ py::arg("chan") = 0,
-+ D(sink,get_center_freq)
-+ )
-+
-+
-+ .def("set_freq_corr",&sink::set_freq_corr,
-+ py::arg("ppm"),
-+ py::arg("chan") = 0,
-+ D(sink,set_freq_corr)
-+ )
-+
-+
-+ .def("get_freq_corr",&sink::get_freq_corr,
-+ py::arg("chan") = 0,
-+ D(sink,get_freq_corr)
-+ )
-+
-+
-+ .def("get_gain_names",&sink::get_gain_names,
-+ py::arg("chan") = 0,
-+ D(sink,get_gain_names)
-+ )
-+
-+
-+ .def("get_gain_range",(osmosdr::gain_range_t (sink::*)(size_t))&sink::get_gain_range,
-+ py::arg("chan") = 0,
-+ D(sink,get_gain_range,0)
-+ )
-+
-+
-+ .def("get_gain_range",(osmosdr::gain_range_t (sink::*)(std::string const &, size_t))&sink::get_gain_range,
-+ py::arg("name"),
-+ py::arg("chan") = 0,
-+ D(sink,get_gain_range,1)
-+ )
-+
-+
-+ .def("set_gain_mode",&sink::set_gain_mode,
-+ py::arg("automatic"),
-+ py::arg("chan") = 0,
-+ D(sink,set_gain_mode)
-+ )
-+
-+
-+ .def("get_gain_mode",&sink::get_gain_mode,
-+ py::arg("chan") = 0,
-+ D(sink,get_gain_mode)
-+ )
-+
-+
-+ .def("set_gain",(double (sink::*)(double, size_t))&sink::set_gain,
-+ py::arg("gain"),
-+ py::arg("chan") = 0,
-+ D(sink,set_gain,0)
-+ )
-+
-+
-+ .def("set_gain",(double (sink::*)(double, std::string const &, size_t))&sink::set_gain,
-+ py::arg("gain"),
-+ py::arg("name"),
-+ py::arg("chan") = 0,
-+ D(sink,set_gain,1)
-+ )
-+
-+
-+ .def("get_gain",(double (sink::*)(size_t))&sink::get_gain,
-+ py::arg("chan") = 0,
-+ D(sink,get_gain,0)
-+ )
-+
-+
-+ .def("get_gain",(double (sink::*)(std::string const &, size_t))&sink::get_gain,
-+ py::arg("name"),
-+ py::arg("chan") = 0,
-+ D(sink,get_gain,1)
-+ )
-+
-+
-+ .def("set_if_gain",&sink::set_if_gain,
-+ py::arg("gain"),
-+ py::arg("chan") = 0,
-+ D(sink,set_if_gain)
-+ )
-+
-+
-+ .def("set_bb_gain",&sink::set_bb_gain,
-+ py::arg("gain"),
-+ py::arg("chan") = 0,
-+ D(sink,set_bb_gain)
-+ )
-+
-+
-+ .def("get_antennas",&sink::get_antennas,
-+ py::arg("chan") = 0,
-+ D(sink,get_antennas)
-+ )
-+
-+
-+ .def("set_antenna",&sink::set_antenna,
-+ py::arg("antenna"),
-+ py::arg("chan") = 0,
-+ D(sink,set_antenna)
-+ )
-+
-+
-+ .def("get_antenna",&sink::get_antenna,
-+ py::arg("chan") = 0,
-+ D(sink,get_antenna)
-+ )
-+
-+
-+ .def("set_dc_offset",&sink::set_dc_offset,
-+ py::arg("offset"),
-+ py::arg("chan") = 0,
-+ D(sink,set_dc_offset)
-+ )
-+
-+
-+ .def("set_iq_balance",&sink::set_iq_balance,
-+ py::arg("balance"),
-+ py::arg("chan") = 0,
-+ D(sink,set_iq_balance)
-+ )
-+
-+
-+ .def("set_bandwidth",&sink::set_bandwidth,
-+ py::arg("bandwidth"),
-+ py::arg("chan") = 0,
-+ D(sink,set_bandwidth)
-+ )
-+
-+
-+ .def("get_bandwidth",&sink::get_bandwidth,
-+ py::arg("chan") = 0,
-+ D(sink,get_bandwidth)
-+ )
-+
-+
-+ .def("get_bandwidth_range",&sink::get_bandwidth_range,
-+ py::arg("chan") = 0,
-+ D(sink,get_bandwidth_range)
-+ )
-+
-+
-+ .def("set_time_source",&sink::set_time_source,
-+ py::arg("source"),
-+ py::arg("mboard") = 0,
-+ D(sink,set_time_source)
-+ )
-+
-+
-+ .def("get_time_source",&sink::get_time_source,
-+ py::arg("mboard"),
-+ D(sink,get_time_source)
-+ )
-+
-+
-+ .def("get_time_sources",&sink::get_time_sources,
-+ py::arg("mboard"),
-+ D(sink,get_time_sources)
-+ )
-+
-+
-+ .def("set_clock_source",&sink::set_clock_source,
-+ py::arg("source"),
-+ py::arg("mboard") = 0,
-+ D(sink,set_clock_source)
-+ )
-+
-+
-+ .def("get_clock_source",&sink::get_clock_source,
-+ py::arg("mboard"),
-+ D(sink,get_clock_source)
-+ )
-+
-+
-+ .def("get_clock_sources",&sink::get_clock_sources,
-+ py::arg("mboard"),
-+ D(sink,get_clock_sources)
-+ )
-+
-+
-+ .def("get_clock_rate",&sink::get_clock_rate,
-+ py::arg("mboard") = 0,
-+ D(sink,get_clock_rate)
-+ )
-+
-+
-+ .def("set_clock_rate",&sink::set_clock_rate,
-+ py::arg("rate"),
-+ py::arg("mboard") = 0,
-+ D(sink,set_clock_rate)
-+ )
-+
-+
-+ .def("get_time_now",&sink::get_time_now,
-+ py::arg("mboard") = 0,
-+ D(sink,get_time_now)
-+ )
-+
-+
-+ .def("get_time_last_pps",&sink::get_time_last_pps,
-+ py::arg("mboard") = 0,
-+ D(sink,get_time_last_pps)
-+ )
-+
-+
-+ .def("set_time_now",&sink::set_time_now,
-+ py::arg("time_spec"),
-+ py::arg("mboard") = 0,
-+ D(sink,set_time_now)
-+ )
-+
-+
-+ .def("set_time_next_pps",&sink::set_time_next_pps,
-+ py::arg("time_spec"),
-+ D(sink,set_time_next_pps)
-+ )
-+
-+
-+ .def("set_time_unknown_pps",&sink::set_time_unknown_pps,
-+ py::arg("time_spec"),
-+ D(sink,set_time_unknown_pps)
-+ )
-+
-+ ;
-+
-+
-+
-+
-+}
-+
-+
-+
-+
-+
-+
-+
-diff --git a/python/bindings/source_python.cc b/python/bindings/source_python.cc
-new file mode 100644
-index 0000000..48bf10c
---- /dev/null
-+++ b/python/bindings/source_python.cc
-@@ -0,0 +1,342 @@
-+/*
-+ * Copyright 2020 Free Software Foundation, Inc.
-+ *
-+ * This file is part of GNU Radio
-+ *
-+ * SPDX-License-Identifier: GPL-3.0-or-later
-+ *
-+ */
-+
-+/***********************************************************************************/
-+/* This file is automatically generated using bindtool and can be manually edited */
-+/* The following lines can be configured to regenerate this file during cmake */
-+/* If manual edits are made, the following tags should be modified accordingly. */
-+/* BINDTOOL_GEN_AUTOMATIC(1) */
-+/* BINDTOOL_USE_PYGCCXML(0) */
-+/* BINDTOOL_HEADER_FILE(source.h) */
-+/* BINDTOOL_HEADER_FILE_HASH(574373c3c7682569b0fd7eea577739da) */
-+/***********************************************************************************/
-+
-+#include <pybind11/complex.h>
-+#include <pybind11/pybind11.h>
-+#include <pybind11/stl.h>
-+
-+namespace py = pybind11;
-+
-+#include <osmosdr/source.h>
-+// pydoc.h is automatically generated in the build directory
-+#include <source_pydoc.h>
-+
-+void bind_source(py::module& m)
-+{
-+
-+ using source = ::osmosdr::source;
-+
-+
-+ py::class_<source, gr::hier_block2,
-+ std::shared_ptr<source>>(m, "source", D(source))
-+
-+ .def(py::init(&source::make),
-+ py::arg("args") = "",
-+ D(source,make)
-+ )
-+
-+
-+
-+
-+
-+ .def("get_num_channels",&source::get_num_channels,
-+ D(source,get_num_channels)
-+ )
-+
-+
-+ .def("seek",&source::seek,
-+ py::arg("seek_point"),
-+ py::arg("whence"),
-+ py::arg("chan") = 0,
-+ D(source,seek)
-+ )
-+
-+
-+ .def("get_sample_rates",&source::get_sample_rates,
-+ D(source,get_sample_rates)
-+ )
-+
-+
-+ .def("set_sample_rate",&source::set_sample_rate,
-+ py::arg("rate"),
-+ D(source,set_sample_rate)
-+ )
-+
-+
-+ .def("get_sample_rate",&source::get_sample_rate,
-+ D(source,get_sample_rate)
-+ )
-+
-+
-+ .def("get_freq_range",&source::get_freq_range,
-+ py::arg("chan") = 0,
-+ D(source,get_freq_range)
-+ )
-+
-+
-+ .def("set_center_freq",&source::set_center_freq,
-+ py::arg("freq"),
-+ py::arg("chan") = 0,
-+ D(source,set_center_freq)
-+ )
-+
-+
-+ .def("get_center_freq",&source::get_center_freq,
-+ py::arg("chan") = 0,
-+ D(source,get_center_freq)
-+ )
-+
-+
-+ .def("set_freq_corr",&source::set_freq_corr,
-+ py::arg("ppm"),
-+ py::arg("chan") = 0,
-+ D(source,set_freq_corr)
-+ )
-+
-+
-+ .def("get_freq_corr",&source::get_freq_corr,
-+ py::arg("chan") = 0,
-+ D(source,get_freq_corr)
-+ )
-+
-+
-+ .def("get_gain_names",&source::get_gain_names,
-+ py::arg("chan") = 0,
-+ D(source,get_gain_names)
-+ )
-+
-+
-+ .def("get_gain_range",(osmosdr::gain_range_t (source::*)(size_t))&source::get_gain_range,
-+ py::arg("chan") = 0,
-+ D(source,get_gain_range,0)
-+ )
-+
-+
-+ .def("get_gain_range",(osmosdr::gain_range_t (source::*)(std::string const &, size_t))&source::get_gain_range,
-+ py::arg("name"),
-+ py::arg("chan") = 0,
-+ D(source,get_gain_range,1)
-+ )
-+
-+
-+ .def("set_gain_mode",&source::set_gain_mode,
-+ py::arg("automatic"),
-+ py::arg("chan") = 0,
-+ D(source,set_gain_mode)
-+ )
-+
-+
-+ .def("get_gain_mode",&source::get_gain_mode,
-+ py::arg("chan") = 0,
-+ D(source,get_gain_mode)
-+ )
-+
-+
-+ .def("set_gain",(double (source::*)(double, size_t))&source::set_gain,
-+ py::arg("gain"),
-+ py::arg("chan") = 0,
-+ D(source,set_gain,0)
-+ )
-+
-+
-+ .def("set_gain",(double (source::*)(double, std::string const &, size_t))&source::set_gain,
-+ py::arg("gain"),
-+ py::arg("name"),
-+ py::arg("chan") = 0,
-+ D(source,set_gain,1)
-+ )
-+
-+
-+ .def("get_gain",(double (source::*)(size_t))&source::get_gain,
-+ py::arg("chan") = 0,
-+ D(source,get_gain,0)
-+ )
-+
-+
-+ .def("get_gain",(double (source::*)(std::string const &, size_t))&source::get_gain,
-+ py::arg("name"),
-+ py::arg("chan") = 0,
-+ D(source,get_gain,1)
-+ )
-+
-+
-+ .def("set_if_gain",&source::set_if_gain,
-+ py::arg("gain"),
-+ py::arg("chan") = 0,
-+ D(source,set_if_gain)
-+ )
-+
-+
-+ .def("set_bb_gain",&source::set_bb_gain,
-+ py::arg("gain"),
-+ py::arg("chan") = 0,
-+ D(source,set_bb_gain)
-+ )
-+
-+
-+ .def("get_antennas",&source::get_antennas,
-+ py::arg("chan") = 0,
-+ D(source,get_antennas)
-+ )
-+
-+
-+ .def("set_antenna",&source::set_antenna,
-+ py::arg("antenna"),
-+ py::arg("chan") = 0,
-+ D(source,set_antenna)
-+ )
-+
-+
-+ .def("get_antenna",&source::get_antenna,
-+ py::arg("chan") = 0,
-+ D(source,get_antenna)
-+ )
-+
-+
-+ .def("set_dc_offset_mode",&source::set_dc_offset_mode,
-+ py::arg("mode"),
-+ py::arg("chan") = 0,
-+ D(source,set_dc_offset_mode)
-+ )
-+
-+
-+ .def("set_dc_offset",&source::set_dc_offset,
-+ py::arg("offset"),
-+ py::arg("chan") = 0,
-+ D(source,set_dc_offset)
-+ )
-+
-+
-+ .def("set_iq_balance_mode",&source::set_iq_balance_mode,
-+ py::arg("mode"),
-+ py::arg("chan") = 0,
-+ D(source,set_iq_balance_mode)
-+ )
-+
-+
-+ .def("set_iq_balance",&source::set_iq_balance,
-+ py::arg("balance"),
-+ py::arg("chan") = 0,
-+ D(source,set_iq_balance)
-+ )
-+
-+
-+ .def("set_bandwidth",&source::set_bandwidth,
-+ py::arg("bandwidth"),
-+ py::arg("chan") = 0,
-+ D(source,set_bandwidth)
-+ )
-+
-+
-+ .def("get_bandwidth",&source::get_bandwidth,
-+ py::arg("chan") = 0,
-+ D(source,get_bandwidth)
-+ )
-+
-+
-+ .def("get_bandwidth_range",&source::get_bandwidth_range,
-+ py::arg("chan") = 0,
-+ D(source,get_bandwidth_range)
-+ )
-+
-+
-+ .def("set_time_source",&source::set_time_source,
-+ py::arg("source"),
-+ py::arg("mboard") = 0,
-+ D(source,set_time_source)
-+ )
-+
-+
-+ .def("get_time_source",&source::get_time_source,
-+ py::arg("mboard"),
-+ D(source,get_time_source)
-+ )
-+
-+
-+ .def("get_time_sources",&source::get_time_sources,
-+ py::arg("mboard"),
-+ D(source,get_time_sources)
-+ )
-+
-+
-+ .def("set_clock_source",&source::set_clock_source,
-+ py::arg("source"),
-+ py::arg("mboard") = 0,
-+ D(source,set_clock_source)
-+ )
-+
-+
-+ .def("get_clock_source",&source::get_clock_source,
-+ py::arg("mboard"),
-+ D(source,get_clock_source)
-+ )
-+
-+
-+ .def("get_clock_sources",&source::get_clock_sources,
-+ py::arg("mboard"),
-+ D(source,get_clock_sources)
-+ )
-+
-+
-+ .def("get_clock_rate",&source::get_clock_rate,
-+ py::arg("mboard") = 0,
-+ D(source,get_clock_rate)
-+ )
-+
-+
-+ .def("set_clock_rate",&source::set_clock_rate,
-+ py::arg("rate"),
-+ py::arg("mboard") = 0,
-+ D(source,set_clock_rate)
-+ )
-+
-+
-+ .def("get_time_now",&source::get_time_now,
-+ py::arg("mboard") = 0,
-+ D(source,get_time_now)
-+ )
-+
-+
-+ .def("get_time_last_pps",&source::get_time_last_pps,
-+ py::arg("mboard") = 0,
-+ D(source,get_time_last_pps)
-+ )
-+
-+
-+ .def("set_time_now",&source::set_time_now,
-+ py::arg("time_spec"),
-+ py::arg("mboard") = 0,
-+ D(source,set_time_now)
-+ )
-+
-+
-+ .def("set_time_next_pps",&source::set_time_next_pps,
-+ py::arg("time_spec"),
-+ D(source,set_time_next_pps)
-+ )
-+
-+
-+ .def("set_time_unknown_pps",&source::set_time_unknown_pps,
-+ py::arg("time_spec"),
-+ D(source,set_time_unknown_pps)
-+ )
-+
-+ ;
-+
-+
-+
-+
-+}
-+
-+
-+
-+
-+
-+
-+
-diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt
-deleted file mode 100644
-index 159f212..0000000
---- a/swig/CMakeLists.txt
-+++ /dev/null
-@@ -1,57 +0,0 @@
--# Copyright 2011 Free Software Foundation, Inc.
--#
--# This file is part of gr-osmosdr
--#
--# gr-osmosdr is free software; you can redistribute it and/or modify
--# it under the terms of the GNU General Public License as published by
--# the Free Software Foundation; either version 3, or (at your option)
--# any later version.
--#
--# gr-osmosdr is distributed in the hope that it will be useful,
--# but WITHOUT ANY WARRANTY; without even the implied warranty of
--# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--# GNU General Public License for more details.
--#
--# You should have received a copy of the GNU General Public License
--# along with gr-osmosdr; see the file COPYING. If not, write to
--# the Free Software Foundation, Inc., 51 Franklin Street,
--# Boston, MA 02110-1301, USA.
--
--########################################################################
--# Include swig generation macros
--########################################################################
--find_package(SWIG)
--find_package(PythonLibs 3)
--if(NOT SWIG_FOUND OR NOT PYTHONLIBS_FOUND)
-- return()
--endif()
--include(GrSwig)
--include(GrPython)
--
--########################################################################
--# Setup swig generation
--########################################################################
--set(GR_SWIG_INCLUDE_DIRS $<TARGET_PROPERTY:gnuradio::runtime_swig,INTERFACE_INCLUDE_DIRECTORIES>)
--set(GR_SWIG_TARGET_DEPS gnuradio::runtime_swig)
--
--set(GR_SWIG_LIBRARIES gnuradio-osmosdr)
--
--set(GR_SWIG_DOC_FILE ${CMAKE_CURRENT_BINARY_DIR}/osmosdr_swig_doc.i)
--set(GR_SWIG_DOC_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/../include/osmosdr)
--
--GR_SWIG_MAKE(osmosdr_swig osmosdr_swig.i)
--
--########################################################################
--# Install the build swig module
--########################################################################
--GR_SWIG_INSTALL(TARGETS osmosdr_swig DESTINATION ${GR_PYTHON_DIR}/osmosdr)
--
--########################################################################
--# Install swig .i files for development
--########################################################################
--install(
-- FILES
-- osmosdr_swig.i
-- ${CMAKE_CURRENT_BINARY_DIR}/osmosdr_swig_doc.i
-- DESTINATION ${GR_INCLUDE_DIR}/osmosdr/swig
--)
-diff --git a/swig/osmosdr_swig.i b/swig/osmosdr_swig.i
-deleted file mode 100644
-index da42e6e..0000000
---- a/swig/osmosdr_swig.i
-+++ /dev/null
-@@ -1,82 +0,0 @@
--/* -*- c++ -*- */
--
--#define OSMOSDR_API
--
--// suppress Warning 319: No access specifier given for base class 'boost::noncopyable' (ignored).
--#pragma SWIG nowarn=319
--
--%include "gnuradio.i" // the common stuff
--
--//load generated python docstrings
--%include "osmosdr_swig_doc.i"
--
--%{
--#include "osmosdr/device.h"
--#include "osmosdr/source.h"
--#include "osmosdr/sink.h"
--%}
--
--// Workaround for a SWIG 2.0.4 bug with templates. Probably needs to be looked in to.
--%{
--#if PY_VERSION_HEX >= 0x03020000
--# define SWIGPY_SLICE_ARG(obj) ((PyObject*) (obj))
--#else
--# define SWIGPY_SLICE_ARG(obj) ((PySliceObject*) (obj))
--#endif
--%}
--
--%template(string_vector_t) std::vector<std::string>;
--
--//%template(size_vector_t) std::vector<size_t>;
--
--%include <osmosdr/pimpl.h>
--
--%ignore osmosdr::device_t::operator[]; //ignore warnings about %extend
--
--%template(string_string_dict_t) std::map<std::string, std::string>; //define before device
--%template(devices_t) std::vector<osmosdr::device_t>;
--%include <osmosdr/device.h>
--
--//%extend std::map<std::string, std::string>{
--// std::string __getitem__(std::string key) {return (*self)[key];}
--// void __setitem__(std::string key, std::string val) {(*self)[key] = val;}
--//};
--
--%template(range_vector_t) std::vector<osmosdr::range_t>; //define before range
--%include <osmosdr/ranges.h>
--
--%include <osmosdr/time_spec.h>
--
--%extend osmosdr::time_spec_t{
-- osmosdr::time_spec_t __add__(const osmosdr::time_spec_t &what)
-- {
-- osmosdr::time_spec_t temp = *self;
-- temp += what;
-- return temp;
-- }
-- osmosdr::time_spec_t __sub__(const osmosdr::time_spec_t &what)
-- {
-- osmosdr::time_spec_t temp = *self;
-- temp -= what;
-- return temp;
-- }
--};
--
--%define OSMOSDR_SWIG_BLOCK_MAGIC2(PKG, BASE_NAME)
--%template(BASE_NAME ## _sptr) std::shared_ptr<PKG ## :: ## BASE_NAME>;
--%pythoncode %{
--BASE_NAME ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
--BASE_NAME = BASE_NAME.make;
--%}
--%enddef
--
--%include "osmosdr/source.h"
--%include "osmosdr/sink.h"
--
--OSMOSDR_SWIG_BLOCK_MAGIC2(osmosdr,source);
--OSMOSDR_SWIG_BLOCK_MAGIC2(osmosdr,sink);
--
--%{
--static const size_t ALL_MBOARDS = osmosdr::ALL_MBOARDS;
--%}
--//static const size_t ALL_MBOARDS;
---
-cgit v1.2.3
-
diff --git a/testing/gr-osmosdr/use-std-shared-ptr.patch b/testing/gr-osmosdr/use-std-shared-ptr.patch
deleted file mode 100644
index b16fd5c1633..00000000000
--- a/testing/gr-osmosdr/use-std-shared-ptr.patch
+++ /dev/null
@@ -1,548 +0,0 @@
-From 159885f9e67101834c100ceb7affc122e3f98bac Mon Sep 17 00:00:00 2001
-From: Clayton Smith <argilo@gmail.com>
-Date: Mon, 28 Dec 2020 22:27:22 -0500
-Subject: Replace boost::shared_ptr with std::shared_ptr
-
-Signed-off-by: Eric Wild <ewild@sysmocom.de>
----
- include/osmosdr/sink.h | 2 +-
- include/osmosdr/source.h | 2 +-
- lib/airspy/airspy_source_c.h | 6 +++---
- lib/airspyhf/airspyhf_source_c.h | 2 +-
- lib/bladerf/bladerf_sink_c.h | 6 +++---
- lib/bladerf/bladerf_source_c.h | 6 +++---
- lib/fcd/fcd_source_c.h | 2 +-
- lib/file/file_sink_c.h | 2 +-
- lib/file/file_source_c.h | 2 +-
- lib/freesrp/freesrp_sink_c.h | 6 +++---
- lib/freesrp/freesrp_source_c.h | 6 +++---
- lib/hackrf/hackrf_sink_c.h | 6 +++---
- lib/hackrf/hackrf_source_c.h | 6 +++---
- lib/redpitaya/redpitaya_sink_c.h | 2 +-
- lib/redpitaya/redpitaya_source_c.h | 2 +-
- lib/rfspace/rfspace_source_c.h | 6 +++---
- lib/rtl/rtl_source_c.h | 6 +++---
- lib/rtl_tcp/rtl_tcp_source_c.h | 2 +-
- lib/rtl_tcp/rtl_tcp_source_f.h | 2 +-
- lib/sdrplay/sdrplay_source_c.h | 6 +++---
- lib/soapy/soapy_sink_c.h | 6 +++---
- lib/soapy/soapy_source_c.h | 6 +++---
- lib/uhd/uhd_sink_c.h | 2 +-
- lib/uhd/uhd_source_c.h | 2 +-
- lib/xtrx/xtrx_obj.h | 2 +-
- lib/xtrx/xtrx_sink_c.h | 2 +-
- lib/xtrx/xtrx_source_c.h | 2 +-
- swig/osmosdr_swig.i | 2 +-
- 28 files changed, 52 insertions(+), 52 deletions(-)
-
-diff --git a/include/osmosdr/sink.h b/include/osmosdr/sink.h
-index 906976e..1f72a5e 100644
---- a/include/osmosdr/sink.h
-+++ b/include/osmosdr/sink.h
-@@ -38,7 +38,7 @@ class sink;
- class OSMOSDR_API sink : virtual public gr::hier_block2
- {
- public:
-- typedef boost::shared_ptr< sink > sptr;
-+ typedef std::shared_ptr< sink > sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of sink.
-diff --git a/include/osmosdr/source.h b/include/osmosdr/source.h
-index 88f8385..3ea716d 100644
---- a/include/osmosdr/source.h
-+++ b/include/osmosdr/source.h
-@@ -38,7 +38,7 @@ class source;
- class OSMOSDR_API source : virtual public gr::hier_block2
- {
- public:
-- typedef boost::shared_ptr< source > sptr;
-+ typedef std::shared_ptr< source > sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of source.
-diff --git a/lib/airspy/airspy_source_c.h b/lib/airspy/airspy_source_c.h
-index a7d817f..81add15 100644
---- a/lib/airspy/airspy_source_c.h
-+++ b/lib/airspy/airspy_source_c.h
-@@ -36,7 +36,7 @@
- class airspy_source_c;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr::blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -44,9 +44,9 @@ class airspy_source_c;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<airspy_source_c> airspy_source_c_sptr;
-+typedef std::shared_ptr<airspy_source_c> airspy_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of airspy_source_c.
-diff --git a/lib/airspyhf/airspyhf_source_c.h b/lib/airspyhf/airspyhf_source_c.h
-index dbdd87a..d9dd952 100644
---- a/lib/airspyhf/airspyhf_source_c.h
-+++ b/lib/airspyhf/airspyhf_source_c.h
-@@ -35,7 +35,7 @@
-
- class airspyhf_source_c;
-
--typedef boost::shared_ptr<airspyhf_source_c> airspyhf_source_c_sptr;
-+typedef std::shared_ptr<airspyhf_source_c> airspyhf_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of airspyhf_source_c.
-diff --git a/lib/bladerf/bladerf_sink_c.h b/lib/bladerf/bladerf_sink_c.h
-index 9f8a496..268f8df 100644
---- a/lib/bladerf/bladerf_sink_c.h
-+++ b/lib/bladerf/bladerf_sink_c.h
-@@ -30,7 +30,7 @@
- class bladerf_sink_c;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr_blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -38,9 +38,9 @@ class bladerf_sink_c;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<bladerf_sink_c> bladerf_sink_c_sptr;
-+typedef std::shared_ptr<bladerf_sink_c> bladerf_sink_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of bladerf_sink_c.
-diff --git a/lib/bladerf/bladerf_source_c.h b/lib/bladerf/bladerf_source_c.h
-index 05f9ddf..0cc26f4 100644
---- a/lib/bladerf/bladerf_source_c.h
-+++ b/lib/bladerf/bladerf_source_c.h
-@@ -30,7 +30,7 @@
- class bladerf_source_c;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr_blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -38,9 +38,9 @@ class bladerf_source_c;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<bladerf_source_c> bladerf_source_c_sptr;
-+typedef std::shared_ptr<bladerf_source_c> bladerf_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of bladerf_source_c.
-diff --git a/lib/fcd/fcd_source_c.h b/lib/fcd/fcd_source_c.h
-index 2b02eb1..876e237 100644
---- a/lib/fcd/fcd_source_c.h
-+++ b/lib/fcd/fcd_source_c.h
-@@ -29,7 +29,7 @@
-
- class fcd_source_c;
-
--typedef boost::shared_ptr< fcd_source_c > fcd_source_c_sptr;
-+typedef std::shared_ptr< fcd_source_c > fcd_source_c_sptr;
-
- fcd_source_c_sptr make_fcd_source_c( const std::string & args = "" );
-
-diff --git a/lib/file/file_sink_c.h b/lib/file/file_sink_c.h
-index 6e59451..dac30f0 100644
---- a/lib/file/file_sink_c.h
-+++ b/lib/file/file_sink_c.h
-@@ -28,7 +28,7 @@
-
- class file_sink_c;
-
--typedef boost::shared_ptr< file_sink_c > file_sink_c_sptr;
-+typedef std::shared_ptr< file_sink_c > file_sink_c_sptr;
-
- file_sink_c_sptr make_file_sink_c( const std::string & args = "" );
-
-diff --git a/lib/file/file_source_c.h b/lib/file/file_source_c.h
-index 3e03037..b3d8b47 100644
---- a/lib/file/file_source_c.h
-+++ b/lib/file/file_source_c.h
-@@ -28,7 +28,7 @@
-
- class file_source_c;
-
--typedef boost::shared_ptr< file_source_c > file_source_c_sptr;
-+typedef std::shared_ptr< file_source_c > file_source_c_sptr;
-
- file_source_c_sptr make_file_source_c( const std::string & args = "" );
-
-diff --git a/lib/freesrp/freesrp_sink_c.h b/lib/freesrp/freesrp_sink_c.h
-index ce75785..23dd8ff 100644
---- a/lib/freesrp/freesrp_sink_c.h
-+++ b/lib/freesrp/freesrp_sink_c.h
-@@ -39,7 +39,7 @@
- class freesrp_sink_c;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr_blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -47,9 +47,9 @@ class freesrp_sink_c;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<freesrp_sink_c> freesrp_sink_c_sptr;
-+typedef std::shared_ptr<freesrp_sink_c> freesrp_sink_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of freesrp_sink_c.
-diff --git a/lib/freesrp/freesrp_source_c.h b/lib/freesrp/freesrp_source_c.h
-index 08f115c..6b1604c 100644
---- a/lib/freesrp/freesrp_source_c.h
-+++ b/lib/freesrp/freesrp_source_c.h
-@@ -40,7 +40,7 @@
- class freesrp_source_c;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr_blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -48,9 +48,9 @@ class freesrp_source_c;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<freesrp_source_c> freesrp_source_c_sptr;
-+typedef std::shared_ptr<freesrp_source_c> freesrp_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of freesrp_source_c.
-diff --git a/lib/hackrf/hackrf_sink_c.h b/lib/hackrf/hackrf_sink_c.h
-index 08ff2ca..ef719f3 100644
---- a/lib/hackrf/hackrf_sink_c.h
-+++ b/lib/hackrf/hackrf_sink_c.h
-@@ -45,7 +45,7 @@ typedef struct circular_buffer
- } circular_buffer_t;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr::blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -53,9 +53,9 @@ typedef struct circular_buffer
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<hackrf_sink_c> hackrf_sink_c_sptr;
-+typedef std::shared_ptr<hackrf_sink_c> hackrf_sink_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of hackrf_sink_c.
-diff --git a/lib/hackrf/hackrf_source_c.h b/lib/hackrf/hackrf_source_c.h
-index 0d38ac0..55a0fbb 100644
---- a/lib/hackrf/hackrf_source_c.h
-+++ b/lib/hackrf/hackrf_source_c.h
-@@ -34,7 +34,7 @@
- class hackrf_source_c;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr::blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -42,9 +42,9 @@ class hackrf_source_c;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<hackrf_source_c> hackrf_source_c_sptr;
-+typedef std::shared_ptr<hackrf_source_c> hackrf_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of hackrf_source_c.
-diff --git a/lib/redpitaya/redpitaya_sink_c.h b/lib/redpitaya/redpitaya_sink_c.h
-index e03a13a..fceaa77 100644
---- a/lib/redpitaya/redpitaya_sink_c.h
-+++ b/lib/redpitaya/redpitaya_sink_c.h
-@@ -29,7 +29,7 @@
-
- class redpitaya_sink_c;
-
--typedef boost::shared_ptr< redpitaya_sink_c > redpitaya_sink_c_sptr;
-+typedef std::shared_ptr< redpitaya_sink_c > redpitaya_sink_c_sptr;
-
- redpitaya_sink_c_sptr make_redpitaya_sink_c( const std::string & args = "" );
-
-diff --git a/lib/redpitaya/redpitaya_source_c.h b/lib/redpitaya/redpitaya_source_c.h
-index 7d536ee..f4a2d80 100644
---- a/lib/redpitaya/redpitaya_source_c.h
-+++ b/lib/redpitaya/redpitaya_source_c.h
-@@ -29,7 +29,7 @@
-
- class redpitaya_source_c;
-
--typedef boost::shared_ptr< redpitaya_source_c > redpitaya_source_c_sptr;
-+typedef std::shared_ptr< redpitaya_source_c > redpitaya_source_c_sptr;
-
- redpitaya_source_c_sptr make_redpitaya_source_c( const std::string & args = "" );
-
-diff --git a/lib/rfspace/rfspace_source_c.h b/lib/rfspace/rfspace_source_c.h
-index d2bf66d..996f47b 100644
---- a/lib/rfspace/rfspace_source_c.h
-+++ b/lib/rfspace/rfspace_source_c.h
-@@ -38,7 +38,7 @@ class rfspace_source_c;
- #endif
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr_blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -46,9 +46,9 @@ class rfspace_source_c;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<rfspace_source_c> rfspace_source_c_sptr;
-+typedef std::shared_ptr<rfspace_source_c> rfspace_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of rfspace_source_c.
-diff --git a/lib/rtl/rtl_source_c.h b/lib/rtl/rtl_source_c.h
-index de3e349..99f14f4 100644
---- a/lib/rtl/rtl_source_c.h
-+++ b/lib/rtl/rtl_source_c.h
-@@ -35,7 +35,7 @@ class rtl_source_c;
- typedef struct rtlsdr_dev rtlsdr_dev_t;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr::blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -43,9 +43,9 @@ typedef struct rtlsdr_dev rtlsdr_dev_t;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<rtl_source_c> rtl_source_c_sptr;
-+typedef std::shared_ptr<rtl_source_c> rtl_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of rtl_source_c.
-diff --git a/lib/rtl_tcp/rtl_tcp_source_c.h b/lib/rtl_tcp/rtl_tcp_source_c.h
-index b07e5dd..2c11018 100644
---- a/lib/rtl_tcp/rtl_tcp_source_c.h
-+++ b/lib/rtl_tcp/rtl_tcp_source_c.h
-@@ -26,7 +26,7 @@
-
- class rtl_tcp_source_c;
-
--typedef boost::shared_ptr< rtl_tcp_source_c > rtl_tcp_source_c_sptr;
-+typedef std::shared_ptr< rtl_tcp_source_c > rtl_tcp_source_c_sptr;
-
- rtl_tcp_source_c_sptr make_rtl_tcp_source_c( const std::string & args = "" );
-
-diff --git a/lib/rtl_tcp/rtl_tcp_source_f.h b/lib/rtl_tcp/rtl_tcp_source_f.h
-index 84ac57a..e9bc87d 100644
---- a/lib/rtl_tcp/rtl_tcp_source_f.h
-+++ b/lib/rtl_tcp/rtl_tcp_source_f.h
-@@ -59,7 +59,7 @@ enum rtlsdr_tuner {
- };
-
- class rtl_tcp_source_f;
--typedef boost::shared_ptr<rtl_tcp_source_f> rtl_tcp_source_f_sptr;
-+typedef std::shared_ptr<rtl_tcp_source_f> rtl_tcp_source_f_sptr;
-
- rtl_tcp_source_f_sptr make_rtl_tcp_source_f (
- size_t itemsize,
-diff --git a/lib/sdrplay/sdrplay_source_c.h b/lib/sdrplay/sdrplay_source_c.h
-index b59f44a..9ea6cb9 100644
---- a/lib/sdrplay/sdrplay_source_c.h
-+++ b/lib/sdrplay/sdrplay_source_c.h
-@@ -36,7 +36,7 @@ class sdrplay_source_c;
- typedef struct sdrplay_dev sdrplay_dev_t;
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr::blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -44,9 +44,9 @@ typedef struct sdrplay_dev sdrplay_dev_t;
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<sdrplay_source_c> sdrplay_source_c_sptr;
-+typedef std::shared_ptr<sdrplay_source_c> sdrplay_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of sdrplay_source_c.
-diff --git a/lib/soapy/soapy_sink_c.h b/lib/soapy/soapy_sink_c.h
-index 4900d15..514f954 100644
---- a/lib/soapy/soapy_sink_c.h
-+++ b/lib/soapy/soapy_sink_c.h
-@@ -36,7 +36,7 @@ namespace SoapySDR
- }
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr_blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -44,9 +44,9 @@ namespace SoapySDR
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<soapy_sink_c> soapy_sink_c_sptr;
-+typedef std::shared_ptr<soapy_sink_c> soapy_sink_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of soapy_sink_c.
-diff --git a/lib/soapy/soapy_source_c.h b/lib/soapy/soapy_source_c.h
-index b4db1ce..7ae6322 100644
---- a/lib/soapy/soapy_source_c.h
-+++ b/lib/soapy/soapy_source_c.h
-@@ -36,7 +36,7 @@ namespace SoapySDR
- }
-
- /*
-- * We use boost::shared_ptr's instead of raw pointers for all access
-+ * We use std::shared_ptr's instead of raw pointers for all access
- * to gr_blocks (and many other data structures). The shared_ptr gets
- * us transparent reference counting, which greatly simplifies storage
- * management issues. This is especially helpful in our hybrid
-@@ -44,9 +44,9 @@ namespace SoapySDR
- *
- * See http://www.boost.org/libs/smart_ptr/smart_ptr.htm
- *
-- * As a convention, the _sptr suffix indicates a boost::shared_ptr
-+ * As a convention, the _sptr suffix indicates a std::shared_ptr
- */
--typedef boost::shared_ptr<soapy_source_c> soapy_source_c_sptr;
-+typedef std::shared_ptr<soapy_source_c> soapy_source_c_sptr;
-
- /*!
- * \brief Return a shared_ptr to a new instance of soapy_source_c.
-diff --git a/lib/uhd/uhd_sink_c.h b/lib/uhd/uhd_sink_c.h
-index 700fe4a..9b673b0 100644
---- a/lib/uhd/uhd_sink_c.h
-+++ b/lib/uhd/uhd_sink_c.h
-@@ -27,7 +27,7 @@
-
- class uhd_sink_c;
-
--typedef boost::shared_ptr< uhd_sink_c > uhd_sink_c_sptr;
-+typedef std::shared_ptr< uhd_sink_c > uhd_sink_c_sptr;
-
- uhd_sink_c_sptr make_uhd_sink_c(const std::string &args = "");
-
-diff --git a/lib/uhd/uhd_source_c.h b/lib/uhd/uhd_source_c.h
-index e80be99..f3b2797 100644
---- a/lib/uhd/uhd_source_c.h
-+++ b/lib/uhd/uhd_source_c.h
-@@ -27,7 +27,7 @@
-
- class uhd_source_c;
-
--typedef boost::shared_ptr< uhd_source_c > uhd_source_c_sptr;
-+typedef std::shared_ptr< uhd_source_c > uhd_source_c_sptr;
-
- uhd_source_c_sptr make_uhd_source_c(const std::string &args = "");
-
-diff --git a/lib/xtrx/xtrx_obj.h b/lib/xtrx/xtrx_obj.h
-index e26947d..8f64260 100644
---- a/lib/xtrx/xtrx_obj.h
-+++ b/lib/xtrx/xtrx_obj.h
-@@ -28,7 +28,7 @@
-
- class xtrx_obj;
-
--typedef boost::shared_ptr<xtrx_obj> xtrx_obj_sptr;
-+typedef std::shared_ptr<xtrx_obj> xtrx_obj_sptr;
-
- class xtrx_obj
- {
-diff --git a/lib/xtrx/xtrx_sink_c.h b/lib/xtrx/xtrx_sink_c.h
-index 1263858..e923900 100644
---- a/lib/xtrx/xtrx_sink_c.h
-+++ b/lib/xtrx/xtrx_sink_c.h
-@@ -36,7 +36,7 @@ static const pmt::pmt_t COMMAND_KEY = pmt::string_to_symbol("tx_command");
-
- class xtrx_sink_c;
-
--typedef boost::shared_ptr< xtrx_sink_c > xtrx_sink_c_sptr;
-+typedef std::shared_ptr< xtrx_sink_c > xtrx_sink_c_sptr;
-
- xtrx_sink_c_sptr make_xtrx_sink_c( const std::string & args = "" );
-
-diff --git a/lib/xtrx/xtrx_source_c.h b/lib/xtrx/xtrx_source_c.h
-index fda9d77..6ec2fb2 100644
---- a/lib/xtrx/xtrx_source_c.h
-+++ b/lib/xtrx/xtrx_source_c.h
-@@ -32,7 +32,7 @@ static const pmt::pmt_t FREQ_KEY = pmt::string_to_symbol("rx_freq");
-
- class xtrx_source_c;
-
--typedef boost::shared_ptr< xtrx_source_c > xtrx_source_c_sptr;
-+typedef std::shared_ptr< xtrx_source_c > xtrx_source_c_sptr;
-
- xtrx_source_c_sptr make_xtrx_source_c( const std::string & args = "" );
-
-diff --git a/swig/osmosdr_swig.i b/swig/osmosdr_swig.i
-index 550008b..da42e6e 100644
---- a/swig/osmosdr_swig.i
-+++ b/swig/osmosdr_swig.i
-@@ -63,7 +63,7 @@
- };
-
- %define OSMOSDR_SWIG_BLOCK_MAGIC2(PKG, BASE_NAME)
--%template(BASE_NAME ## _sptr) boost::shared_ptr<PKG ## :: ## BASE_NAME>;
-+%template(BASE_NAME ## _sptr) std::shared_ptr<PKG ## :: ## BASE_NAME>;
- %pythoncode %{
- BASE_NAME ## _sptr.__repr__ = lambda self: "<gr_block %s (%d)>" % (self.name(), self.unique_id())
- BASE_NAME = BASE_NAME.make;
---
-cgit v1.2.3
-
diff --git a/testing/gr-satellites/APKBUILD b/testing/gr-satellites/APKBUILD
new file mode 100644
index 00000000000..8709db57239
--- /dev/null
+++ b/testing/gr-satellites/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=gr-satellites
+pkgver=5.3.0
+pkgrel=5
+pkgdesc="satellite decoder blocks for GNURadio"
+url="https://github.com/daniestevez/gr-satellites"
+# gnuradio
+arch="aarch64 armv7 x86_64"
+license="GPL-3.0-or-later"
+depends="python3 py3-requests py3-construct"
+makedepends="
+ cmake
+ fmt-dev
+ gnuradio-dev
+ samurai
+ "
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/daniestevez/gr-satellites/archive/v$pkgver/gr-satellites-v$pkgver.tar.gz
+ no-zip-man.patch
+ "
+options="!check" # no integrated tests
+
+build() {
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+cefe7b7795c74f99b8388d3aa9d60749bc00d804ee3e843d9a5d32c41eb6e6fcd2ec2cb4693a872aee7984433e3cae5e4ab592efa402ec010eb009326c1f60ab gr-satellites-v5.3.0.tar.gz
+344ec6352da59e95492f70e389c9317c6e5700bb4cf05f4574aca841fa3660e6c00586124493a9822b1c47d4c28f0b59be2c9bc3ad1d6fc8790d764a3af04da1 no-zip-man.patch
+"
diff --git a/testing/gr-satellites/no-zip-man.patch b/testing/gr-satellites/no-zip-man.patch
new file mode 100644
index 00000000000..08449548fca
--- /dev/null
+++ b/testing/gr-satellites/no-zip-man.patch
@@ -0,0 +1,18 @@
+manpages should not be precompressed
+diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
+index a35ab8b..82ec3cc 100644
+--- a/docs/CMakeLists.txt
++++ b/docs/CMakeLists.txt
+@@ -64,11 +64,8 @@ list(APPEND manpages
+ set(MAN_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/share/man)
+
+ foreach(manpage ${manpages})
+- add_custom_target(generate_manpage_${manpage} ALL
+- COMMAND ${BZIP} -c ${MAN_SRC_DIR}/${manpage} > ${MAN_BUILD_DIR}/${manpage}.bz2
+- )
+ install(FILES
+- ${MAN_BUILD_DIR}/${manpage}.bz2
++ ${MAN_SRC_DIR}/${manpage}
+ DESTINATION ${MAN_INSTALL_DIR}/man1
+ )
+ endforeach(manpage)
diff --git a/testing/gradio/APKBUILD b/testing/gradio/APKBUILD
deleted file mode 100644
index d8f96fb86b4..00000000000
--- a/testing/gradio/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Daniele Debernardi <drebrez@gmail.com>
-# Maintainer: Daniele Debernardi <drebrez@gmail.com>
-pkgname=gradio
-pkgver=7.3
-pkgrel=3
-pkgdesc="A GTK3 app for finding and listening to internet radio stations"
-url="https://github.com/haecker-felix/Gradio"
-arch="all !armhf" # gst-plugins-good missing, which depends on qt5-declarative
-license="GPL-3.0-or-later"
-depends="gst-plugins-good"
-makedepends="meson vala gtk+3.0-dev libsoup-dev json-glib-dev gstreamer-dev gst-plugins-base-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/haecker-felix/$pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/Gradio-$pkgver"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="d2bfd49ead90627b0516c320a5260f14ba2ea9ab5e417dafc38babc7eaaa706395986122d103bde931406f4240212210d2a7dbee6b69bddb901dc5705cac977b gradio-7.3.tar.gz"
diff --git a/testing/grafana-image-renderer/APKBUILD b/testing/grafana-image-renderer/APKBUILD
index 2b1e9f1a9f0..a424a4150dd 100644
--- a/testing/grafana-image-renderer/APKBUILD
+++ b/testing/grafana-image-renderer/APKBUILD
@@ -1,30 +1,43 @@
# Contributor: Konstantin Kulikov <k.kulikov2@gmail.com>
# Maintainer: Konstantin Kulikov <k.kulikov2@gmail.com>
pkgname=grafana-image-renderer
-pkgver=3.3.0
+pkgver=3.10.2
pkgrel=0
pkgdesc="Grafana Backend Plugin that handles rendering of panels & dashboards to PNGs using headless chrome"
url="https://github.com/grafana/grafana-image-renderer"
arch="x86_64" # Requires chromium, aarch64 and armv7 doesn't build because of grpc.
license="Apache-2.0"
makedepends="yarn"
-depends="nodejs ttf-opensans chromium ca-certificates"
+depends="nodejs font-opensans chromium ca-certificates"
options="!check" # Has no test suite.
install="$pkgname.pre-install"
subpackages="$pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://github.com/grafana/grafana-image-renderer/archive/v$pkgver.tar.gz
$pkgname.initd $pkgname.confd $pkgname.json"
+# secfixes:
+# 3.6.1-r0:
+# - CVE-2022-31176
+
build() {
export CHROME_BIN="/usr/bin/chromium-browser"
export PUPPETEER_SKIP_CHROMIUM_DOWNLOAD="true"
- # Don't pollute our aports repo with husky git hooks.
- # This command also acts as implicit "yarn install".
- yarn remove --pure-lockfile --ignore-engines -W husky
-
- # Wants nodejs 13, but alpine ships 14, ignore this requirement.
+ yarn install --pure-lockfile --ignore-engines
yarn --ignore-engines build
+ find . -type f \( \
+ -name '.*' -o \
+ -name '*.cmd' -o \
+ -name '*.bat' -o \
+ -name '*.map' -o \
+ -name '*.md' -o \
+ \( -name '*.ts' -a ! -name '*.d.ts' \) -o \
+ -name 'AUTHORS*' -o \
+ -name 'LICENSE*' -o \
+ -name 'license' -o \
+ -name 'Makefile' -o \
+ -name 'README*' -o \
+ -name 'readme.markdown' \) -delete
}
package() {
@@ -36,8 +49,8 @@ package() {
}
sha512sums="
-28fa21ba1c13fa7b0c6e29fe66a90a24d65d4b6d3421e6aa102aeb05b5c29cba3536a62b00c1577c543af908e28cc17324cd16f44a6849b0ad0713ff6dd58517 grafana-image-renderer-3.3.0.tar.gz
+c83f38caca013517febc8c52a2c2aa0d1d9346e084b3305f3ffe5d15fc1bae19a971751cb69554096afd22bdba98037b5a6cd36ba634e00d7a2bab89cffa576a grafana-image-renderer-3.10.2.tar.gz
06faad0f5abecf434c014ca91dccf3f07f18d96a8f526c3c1d2384cba8db44db5fe2b2165d8fc12a8fe8d121135077b0c70158ee29ebb1bfba8dd2a3110b349c grafana-image-renderer.initd
88a119ad18fbde490ab9213487ae16b8aeeb65437275a1112f7423fa581a7470e6fb68654c2fd439afa68c0333aeefd0711f3fffd53615fa51d0702c80ed1c1b grafana-image-renderer.confd
-2ce48b9ea1da4ce5a16da5acb3fd801480d297ab2c39848020a99dd285640e003eb0d1c26b407f06ef5ad0ff2968b5ae71f56c26870346e6ad86e1f70df4cb78 grafana-image-renderer.json
+8fc756536a429dc3343216e64fa33af8c601d83d03d81bd6096e46b33e5d1249f95be719ea489b13bd1af936771e8eeffd3ff7d8c5cdf622c3188b342c8fbdbd grafana-image-renderer.json
"
diff --git a/testing/grafana-image-renderer/grafana-image-renderer.json b/testing/grafana-image-renderer/grafana-image-renderer.json
index 7f00eb78034..55c8e6687dc 100644
--- a/testing/grafana-image-renderer/grafana-image-renderer.json
+++ b/testing/grafana-image-renderer/grafana-image-renderer.json
@@ -15,14 +15,15 @@
"json": true,
"colorize": false
}
+ },
+
+ "security": {
+ "authToken": "-"
}
},
"rendering": {
"chromeBin": "/usr/bin/chromium-browser",
- "args": [
- "--no-sandbox",
- "--disable-gpu"
- ],
+ "args": ["--no-sandbox", "--disable-gpu"],
"ignoresHttpsErrors": false,
"timezone": null,
@@ -32,15 +33,21 @@
"deviceScaleFactor": 1,
"maxWidth": 3080,
"maxHeight": 3000,
- "maxDeviceScaleFactor": 3,
+ "maxDeviceScaleFactor": 4,
+ "pageZoomLevel": 1,
+ "headed": false,
"mode": "default",
+ "emulateNetworkConditions": false,
"clustering": {
+ "monitor": false,
"mode": "browser",
- "maxConcurrency": 5
+ "maxConcurrency": 5,
+ "timeout": 30
},
"verboseLogging": false,
- "dumpio": false
+ "dumpio": false,
+ "timingMetrics": false
}
}
diff --git a/testing/granite7/APKBUILD b/testing/granite7/APKBUILD
new file mode 100644
index 00000000000..1fe8d467e3f
--- /dev/null
+++ b/testing/granite7/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=granite7
+pkgver=7.4.0
+pkgrel=0
+pkgdesc="Library that extends GTK with common widgets and utilities"
+url="https://github.com/elementary/granite"
+arch="all"
+license="LGPL-3.0"
+depends="
+ gsettings-desktop-schemas
+ hicolor-icon-theme
+ "
+makedepends="
+ glib-dev
+ gobject-introspection-dev
+ gtk4.0-dev
+ libgee-dev
+ meson
+ sassc
+ vala
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-lang
+ "
+source="https://github.com/elementary/granite/archive/$pkgver/granite-$pkgver.tar.gz"
+options="!check" # no tests provided
+builddir="$srcdir/granite-$pkgver/"
+
+build() {
+ abuild-meson . output
+ meson compile -j ${JOBS:-0} -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+dev() {
+ default_dev
+
+ amove usr/bin/granite-7-demo
+ amove usr/share/applications/io.elementary.granite-7.demo.desktop
+}
+
+sha512sums="
+052db438b5314f0308be7f6084c04beae6d14855a02fbd5efd96b357ad264ab917baa2634cdc09172a09f5f7b145a9c2de18920ffd22762935ba98708b558611 granite-7.4.0.tar.gz
+"
diff --git a/testing/grass/APKBUILD b/testing/grass/APKBUILD
new file mode 100644
index 00000000000..a52633c1940
--- /dev/null
+++ b/testing/grass/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=grass
+pkgver=0.12.3
+pkgrel=1
+pkgdesc="Sass compiler written purely in Rust"
+url="https://github.com/connorskees/grass"
+arch="all"
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="
+ https://github.com/connorskees/grass/archive/v$pkgver/grass-v$pkgver.tar.gz
+ "
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked --target="$CTARGET"
+}
+
+build() {
+ cargo auditable build -p grass --release --frozen
+}
+
+check() {
+ cargo test -p grass --tests
+}
+
+package() {
+ install -Dm755 target/release/grass "$pkgdir"/usr/bin/grass
+}
+
+sha512sums="
+ea70ce7627059cd567052edcd0c0259f9f7b5db38d66211ab4c3310470ba27cf19d828731930ae56ec506fe58d5acbc2e7b53b1aef9ae274dea51e3f78efaa23 grass-v0.12.3.tar.gz
+"
diff --git a/testing/grcov/APKBUILD b/testing/grcov/APKBUILD
index c83da260227..77f1f86a4dc 100644
--- a/testing/grcov/APKBUILD
+++ b/testing/grcov/APKBUILD
@@ -1,29 +1,36 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=grcov
-pkgver=0.8.2
-pkgrel=0
+pkgver=0.8.19
+pkgrel=1
pkgdesc="Rust tool to collect and aggregate code coverage data"
-url="https://github.com/eqrion/cbindgen"
+url="https://github.com/mozilla/grcov"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # Limited by cargo
license="MPL-2.0"
depends="gcc" # gcov
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
options="net !check" # Failing due to utf-8 (locale?)
source="$pkgname-$pkgver.tar.gz::https://github.com/mozilla/grcov/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --release --locked --verbose
+ cargo auditable build --release --frozen
}
check() {
- cargo test --release --locked --verbose
+ cargo test --frozen
}
package() {
- install -Dm0755 target/release/grcov -t "$pkgdir"/usr/bin
+ install -Dm755 target/release/grcov -t "$pkgdir"/usr/bin
}
sha512sums="
-ab3e338559850d1b9a9d66263cf3a317f601a01a7d03888b9625f022190afff1b92c26d417fef6dc7f99f5a91b9bce876c299d6361ddcee2dfc45a11bd893418 grcov-0.8.2.tar.gz
+623ebd9ac9951576584371fc90ceffc31f016a8816f02d66e3d980dd4a93bd81839c0630019d9c972a00927191b781645b15ff7d995881460082dd1c07875886 grcov-0.8.19.tar.gz
"
diff --git a/testing/greetd-gtkgreet/APKBUILD b/testing/greetd-gtkgreet/APKBUILD
deleted file mode 100644
index 7f56692f9c3..00000000000
--- a/testing/greetd-gtkgreet/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
-# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
-pkgname=greetd-gtkgreet
-_pkgname=gtkgreet
-pkgver=0.7
-pkgrel=0
-pkgdesc="GTK-based greeter for greetd"
-url="https://git.sr.ht/~kennylevinsen/gtkgreet"
-arch="all !mips64 !s390x !riscv64" # blocked by greetd
-license="GPL-3.0-only"
-depends="greetd"
-makedepends="meson scdoc json-c-dev gtk+3.0-dev gtk-layer-shell-dev"
-options="!check" # no test suite
-subpackages="$pkgname-doc"
-source="greetd-gtkgreet-$pkgver.tar.gz::https://git.sr.ht/~kennylevinsen/gtkgreet/archive/$pkgver.tar.gz
- fix-for-musl-use-uint-ssize.patch"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- abuild-meson output .
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="eea3c90c9f6e4bb4cc8d7cc325668c6452e153dd7097b45694390b843769ee08e3598a7771da3b2765f09dd8f3b9de4910c5160221c8fc7191e2a09709a418f8 greetd-gtkgreet-0.7.tar.gz
-85b51914ba81f37c6d6d39c20d1f228bedceb34e11c963b0938e32b475e10c4f699852fb802bb7fb42a3b1de716a5c55d1038a2e9afe37ddb9f68061da8a30ca fix-for-musl-use-uint-ssize.patch"
diff --git a/testing/greetd-gtkgreet/fix-for-musl-use-uint-ssize.patch b/testing/greetd-gtkgreet/fix-for-musl-use-uint-ssize.patch
deleted file mode 100644
index 58221e74941..00000000000
--- a/testing/greetd-gtkgreet/fix-for-musl-use-uint-ssize.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff --git a/gtkgreet/proto.c b/gtkgreet/proto.c
-index 1ad17c1937..92619494a7 100644
---- a/gtkgreet/proto.c
-+++ b/gtkgreet/proto.c
-@@ -23,10 +23,10 @@ static int write_req(int fd, struct json_object* req) {
- const char* reqstr = json_object_get_string(req);
- uint32_t len = strlen(reqstr);
- char* headerp = (char*)&len;
-- ssize_t off = 0;
-+ size_t off = 0;
-
- while (off < 4) {
-- ssize_t n = write(fd, &headerp[off], 4-off);
-+ size_t n = write(fd, &headerp[off], 4-off);
- if (n < 1) {
- goto error;
- }
-@@ -35,7 +35,7 @@ static int write_req(int fd, struct json_object* req) {
-
- off = 0;
- while (off < len) {
-- ssize_t n = write(fd, &reqstr[off], len-off);
-+ size_t n = write(fd, &reqstr[off], len-off);
- if (n < 1) {
- goto error;
- }
-@@ -51,11 +51,11 @@ static struct json_object* read_resp(int fd) {
- struct json_object* resp = NULL;
- char *respstr = NULL;
- uint32_t len;
-- ssize_t off = 0;
-+ size_t off = 0;
-
- while (off < 4) {
- char* headerp = (char*)&len;
-- ssize_t n = read(fd, &headerp[off], 4-off);
-+ size_t n = read(fd, &headerp[off], 4-off);
- if (n < 1) {
- goto end;
- }
diff --git a/testing/greetd-mini-wl-greeter/APKBUILD b/testing/greetd-mini-wl-greeter/APKBUILD
new file mode 100644
index 00000000000..158e137c3ab
--- /dev/null
+++ b/testing/greetd-mini-wl-greeter/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=greetd-mini-wl-greeter
+pkgver=0_git20230821
+_commit=4caf09d20a9038d2a83349ad0f3e97cfa28ae979
+pkgrel=0
+pkgdesc="Extremely minimal raw Wayland greeter for greetd"
+url="https://github.com/philj56/greetd-mini-wl-greeter"
+arch="all"
+license="MIT"
+makedepends="
+ cairo-dev
+ json-c-dev
+ libepoxy-dev
+ libxkbcommon-dev
+ meson
+ musl-fts-dev
+ pango-dev
+ scdoc
+ wayland-dev
+ wayland-protocols
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ "
+source="https://github.com/philj56/greetd-mini-wl-greeter/archive/$_commit.tar.gz"
+options="!check" # no tests provided
+builddir="$srcdir/greetd-mini-wl-greeter-$_commit/"
+
+build() {
+ LDFLAGS="$LDFLAGS -lfts" abuild-meson . output
+ meson compile -j ${JOBS:-0} -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+a91eda7848d11c184b31967d2ac1b1bacf5fb728bf7e01bcc327ff822107272a379f13f278bc518714bea1ad2600aeb6002c5212c7593463e127725b7f92a907 4caf09d20a9038d2a83349ad0f3e97cfa28ae979.tar.gz
+"
diff --git a/testing/greetd-regreet/APKBUILD b/testing/greetd-regreet/APKBUILD
new file mode 100644
index 00000000000..41efad49a02
--- /dev/null
+++ b/testing/greetd-regreet/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=greetd-regreet
+pkgver=0.1.1
+pkgrel=0
+pkgdesc="Clean and customizable GTK4 based greeter for greetd"
+url="https://github.com/rharish101/ReGreet"
+# s390x, riscv64: greetd
+# armhf: fails to build
+arch="all !armhf !s390x !riscv64"
+license="GPL-3.0-or-later"
+depends="greetd"
+makedepends="cargo gtk4.0-dev cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rharish101/ReGreet/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/ReGreet-$pkgver"
+
+_cargo_opts="--frozen --features gtk4_8"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build $_cargo_opts --release
+}
+
+check() {
+ cargo test $_cargo_opts
+}
+
+package() {
+ install -Dm755 target/release/regreet "$pkgdir"/usr/bin/regreet
+}
+
+sha512sums="
+c2276c9ee3699974a5ebdefe811bfdb15d5642f6d3d20f6ea6b4f5ce3b40a9691ed42441e50f506a503ef523b894ff28d1746844b26bc32dff5db18a1d5e8150 greetd-regreet-0.1.1.tar.gz
+"
diff --git a/testing/greetd-wlgreet/APKBUILD b/testing/greetd-wlgreet/APKBUILD
new file mode 100644
index 00000000000..842d9ada316
--- /dev/null
+++ b/testing/greetd-wlgreet/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=greetd-wlgreet
+_projname=wlgreet
+pkgver=0.4.1
+pkgrel=0
+pkgdesc="Raw wayland greeter for greetd"
+url="https://git.sr.ht/~kennylevinsen/wlgreet"
+# riscv64, s390x: blocked by greetd
+arch="all !riscv64 !s390x"
+license="GPL-3.0-only"
+depends="
+ greetd
+ wayland-libs-client
+ "
+makedepends="
+ cargo
+ cargo-auditable
+ wayland-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~kennylevinsen/wlgreet/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_projname-$pkgver"
+options="!check" # no tests provided
+
+export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+package() {
+ install -D -m755 target/release/wlgreet -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+f5259992a43af751e91a328433594cc4c97805ad5a7c2bd81a0b455128994b8f925fe9e314759f08ce409a186c1e8942a77a60becbca5d974da647c8a045dcfb greetd-wlgreet-0.4.1.tar.gz
+"
diff --git a/testing/greetd/APKBUILD b/testing/greetd/APKBUILD
deleted file mode 100644
index 13dd3fdb1f5..00000000000
--- a/testing/greetd/APKBUILD
+++ /dev/null
@@ -1,60 +0,0 @@
-# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
-# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
-pkgname=greetd
-pkgver=0.8.0
-pkgrel=2
-pkgdesc="Minimal and flexible login manager daemon"
-url="https://git.sr.ht/~kennylevinsen/greetd"
-arch="all !mips64 !s390x !riscv64" # limited by cargo/rust
-license="GPL-3.0-only"
-makedepends="cargo linux-pam-dev scdoc"
-install="$pkgname.pre-install"
-pkgusers="greetd"
-pkggroups="greetd"
-subpackages="$pkgname-doc $pkgname-openrc $pkgname-agreety"
-source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~kennylevinsen/greetd/archive/$pkgver.tar.gz
- $pkgname.pam
- $pkgname.initd
- $pkgname.confd
- config.patch
- "
-builddir="$srcdir/$pkgname-$pkgver"
-
-export RUSTFLAGS="--remap-path-prefix=$builddir=/build/"
-
-build() {
- cargo build --release --locked
- make -C man
-}
-
-check() {
- cargo check --locked
-}
-
-package() {
- install -Dm755 target/release/greetd "$pkgdir"/usr/sbin/greetd
- install -Dm755 target/release/agreety "$pkgdir"/usr/bin/agreety
-
- install -Dm644 config.toml "$pkgdir"/etc/greetd/config.toml
- install -Dm644 "$srcdir"/$pkgname.pam "$pkgdir"/etc/pam.d/$pkgname
-
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
-
- make -C man install PREFIX=/usr DESTDIR="$pkgdir"
-}
-
-agreety() {
- pkgdesc="Simple, text-based greeter"
- depends="$pkgname"
-
- amove usr/bin/agreety
-}
-
-sha512sums="
-40f007e38ca41faac97b3faba60e49d524c9e3afb4b594fcbc04a129701fa6177a915b2998e61f0ca615f4c8bd3078ef9fbd562c8fb72298f5605efd75a3f370 greetd-0.8.0.tar.gz
-0f786b639223bf52445b7248756bc2e83a450a81e0750f853b70095a0438edb0c40ecc50df42cdb82838a068202787d5286ca5ebc363e6e1c4e969f122df5dfa greetd.pam
-51286430587a06851b2f45120e08b091dab252796011a59b66aa91fa9e4f9874ab398ffae0eae0159e0cb87cd27a6e478cede6df03a6c52a52d4625e9152554a greetd.initd
-f6c5d5755fb8cca3d45d6879557fb7fc85c40879bc570e6c9aac462ce9133a2fa0a03cbac1e598f8162a9136d3e6020cea808e16e1797f4d37d4cf7dfc94c11c greetd.confd
-da49e5993e2189567d0661ea63a69dafb650ab4a1dfebdfa346dff2e2c195d1d8fdb1f2cd4f9f64b26fd2c0b453df2886cd19d6afc59680b6fb4c54eab97c729 config.patch
-"
diff --git a/testing/greetd/config.patch b/testing/greetd/config.patch
deleted file mode 100644
index 4ec895dcc63..00000000000
--- a/testing/greetd/config.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Fix faulty default `command` to something that actually works
-(refer to https://todo.sr.ht/~kennylevinsen/greetd/21).
-
-Change the `user` to the one we have created for greetd.
-
---- a/config.toml
-+++ b/config.toml
-@@ -6,11 +6,11 @@
- # The default session, also known as the greeter.
- [default_session]
-
--# `agreety` is the bundled agetty/login-lookalike. You can replace `$SHELL`
-+# `agreety` is the bundled agetty/login-lookalike. You can replace `/bin/sh`
- # with whatever you want started, such as `sway`.
--command = "agreety --cmd $SHELL"
-+command = "agreety --cmd /bin/sh"
-
- # The user to run the command as. The privileges this user must have depends
- # on the greeter. A graphical greeter may for example require the user to be
- # in the `video` group.
--user = "greeter"
-+user = "greetd"
diff --git a/testing/greetd/greetd.confd b/testing/greetd/greetd.confd
deleted file mode 100644
index 9dd5522501b..00000000000
--- a/testing/greetd/greetd.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-# Configuration for /etc/init.d/greetd
-
-# Path to config file to use.
-#cfgfile="/etc/greetd/config.toml"
-
-# Uncomment to use process supervisor.
-#supervisor=supervise-daemon
diff --git a/testing/greetd/greetd.initd b/testing/greetd/greetd.initd
deleted file mode 100644
index 3dd9ef5f411..00000000000
--- a/testing/greetd/greetd.initd
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/sbin/openrc-run
-
-name="greetd"
-description="Greeter daemon"
-
-: ${cfgfile:="/etc/greetd/config.toml"}
-
-command=/usr/sbin/greetd
-command_args="--config $cfgfile ${command_args:-}"
-command_background=yes
-pidfile="/run/$RC_SVCNAME.pid"
-
-required_files="$cfgfile"
-
-depend() {
- need localmount
- provide display-manager
-}
diff --git a/testing/greetd/greetd.pam b/testing/greetd/greetd.pam
deleted file mode 100644
index 075cfa4e7e6..00000000000
--- a/testing/greetd/greetd.pam
+++ /dev/null
@@ -1,5 +0,0 @@
-#%PAM-1.0
-
-auth include system-local-login
-account include system-local-login
-session include system-local-login
diff --git a/testing/greetd/greetd.pre-install b/testing/greetd/greetd.pre-install
deleted file mode 100644
index 5c81aba4b74..00000000000
--- a/testing/greetd/greetd.pre-install
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-name=greetd
-
-addgroup -S $name 2>/dev/null
-adduser -S -D -H -h /run/greetd -s /sbin/nologin -G $name -g $name $name 2>/dev/null
-adduser $name video
-
-exit 0
diff --git a/testing/grip/APKBUILD b/testing/grip/APKBUILD
new file mode 100644
index 00000000000..dd1eb286671
--- /dev/null
+++ b/testing/grip/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=grip
+pkgver=4.2.4
+pkgrel=0
+pkgdesc="CD Player, Secure Ripper, and Encoder"
+url="https://sourceforge.net/projects/grip/"
+arch="all"
+license="GPL-2.0-or-later AND LGPL-2.1-or-later"
+makedepends="
+ cdparanoia-dev
+ curl-dev
+ gtk+2.0-dev
+ id3lib-dev
+ meson
+ "
+subpackages="$pkgname-doc $pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://sourceforge.net/projects/grip/files/$pkgver/grip-$pkgver.tar.gz/download"
+options="!check" # no tests
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+fdc2808b91df617f4d2447114037c31bd5fa0657aa4ea2453e644b155468971c65a364bb0a3c6ed8ff2ba0e44e7117a51bec3081c7defd590f9fbc802a216bf5 grip-4.2.4.tar.gz
+"
diff --git a/testing/gron/APKBUILD b/testing/gron/APKBUILD
index 8c15f410e67..9cf7928d5cc 100644
--- a/testing/gron/APKBUILD
+++ b/testing/gron/APKBUILD
@@ -1,18 +1,18 @@
# Contributor: Tiago Ilieve <tiago.myhro@gmail.com>
# Maintainer: Tiago Ilieve <tiago.myhro@gmail.com>
pkgname=gron
-pkgver=0.6.1
-pkgrel=1
+pkgver=0.7.1
+pkgrel=16
pkgdesc="Make JSON greppable"
url="https://github.com/tomnomnom/gron"
-arch="all !mips64" # go-less
+arch="all"
license="MIT"
makedepends="go>=1.11"
source="gron-$pkgver.tar.gz::https://github.com/tomnomnom/gron/archive/v$pkgver.tar.gz"
-export GOPATH="$srcdir/go"
-export GOCACHE="$srcdir/go-build"
-export GOTEMPDIR="$srcdir/go"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
export GOFLAGS="$GOFLAGS -modcacherw"
@@ -24,7 +24,7 @@ prepare() {
}
build() {
- go build -v -ldflags "-s -w -X main.gronVersion=$pkgver" -o gron
+ go build -v -ldflags "-X main.gronVersion=$pkgver" -o gron
}
check() {
@@ -35,4 +35,6 @@ package() {
install -Dm755 ./gron "$pkgdir"/usr/bin/gron
}
-sha512sums="1076bbb8c21b3138676fc57d093004f9c881794932809c742d2c06c5e025e29940c082ff999dcaae9f3c53d478d4fccb38b17219c0d20fbf2b21634c2ad6f9aa gron-0.6.1.tar.gz"
+sha512sums="
+8bce1915577b12cdd4105874368a8c71240a8437c402fc515598b204f8d84ade3ecc6d3bccac820683bf6fea8cf6dad2e3be7f3a3b2281af35d07524975f51ee gron-0.7.1.tar.gz
+"
diff --git a/testing/grpc-health-check/APKBUILD b/testing/grpc-health-check/APKBUILD
index 2cc42ca3e8d..1393a5e1b1d 100644
--- a/testing/grpc-health-check/APKBUILD
+++ b/testing/grpc-health-check/APKBUILD
@@ -1,30 +1,34 @@
-# Contributor:
# Maintainer: Build Robot <buildrobot@pay.pizza>
pkgname=grpc-health-check
pkgver=0.1.1
-pkgrel=0
-arch="all !s390x !ppc64le !armhf !armv7 !mips64 !riscv64"
+pkgrel=3
+arch="all !s390x !ppc64le !armhf !armv7 !riscv64"
pkgdesc="gRPC health checking protocol"
url="https://github.com/paypizza/grpc-health-check"
license="Apache-2.0"
-makedepends="cargo protoc"
+makedepends="cargo protoc rustfmt cargo-auditable"
source="$pkgname-$pkgver.tar.gz::https://github.com/paypizza/grpc-health-check/archive/$pkgver.tar.gz"
+
prepare() {
default_prepare
- export PROTOC=/usr/bin/protoc
+ cargo fetch --target="$CTARGET"
}
build() {
- cargo build --release --features=mimalloc
+ export PROTOC=/usr/bin/protoc
+ cargo auditable build --release --frozen
}
check() {
- cargo test --release --features=mimalloc
+ export PROTOC=/usr/bin/protoc
+ cargo test --frozen
}
package() {
- make install.bin DESTDIR="$pkgdir/" PREFIX="/usr"
+ install -Dm755 target/release/grpc-health-check -t "$pkgdir"/usr/bin/
}
-sha512sums="4f97a0c7399643843f2599799a1b255c7b712c17d115fc7933c042281611250b69bfcd3c0d4c515fcb413eb22ccd6e1644733a6f671c2ad7be8def4e1f695d5b grpc-health-check-0.1.1.tar.gz"
+sha512sums="
+4f97a0c7399643843f2599799a1b255c7b712c17d115fc7933c042281611250b69bfcd3c0d4c515fcb413eb22ccd6e1644733a6f671c2ad7be8def4e1f695d5b grpc-health-check-0.1.1.tar.gz
+"
diff --git a/testing/grpcui/APKBUILD b/testing/grpcui/APKBUILD
new file mode 100644
index 00000000000..2964313436d
--- /dev/null
+++ b/testing/grpcui/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=grpcui
+pkgver=1.3.3
+pkgrel=2
+pkgdesc="Interactive web UI for gRPC, along the lines of postman"
+url="https://github.com/fullstorydev/grpcui"
+arch="all"
+license="MIT"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fullstorydev/grpcui/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -ldflags "-X main.version=v$pkgver" ./cmd/grpcui/
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 grpcui -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+ad4b715ee51dc0bfc592c84fa046b03f77a038f15feb58e8b869934360359e928016efda5aa101b22a2b7441f35dd497b863a4ef56922b0f9bc8dc391c10a1ff grpcui-1.3.3.tar.gz
+"
diff --git a/testing/grpcurl/APKBUILD b/testing/grpcurl/APKBUILD
new file mode 100644
index 00000000000..365d3b0f54d
--- /dev/null
+++ b/testing/grpcurl/APKBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=grpcurl
+pkgver=1.8.9
+pkgrel=2
+pkgdesc="CLI tool to interact with gRPC servers"
+url="https://github.com/fullstorydev/grpcurl"
+arch="all"
+license="MIT"
+makedepends="go"
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fullstorydev/grpcurl/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -ldflags "-X main.version=v$pkgver" ./cmd/grpcurl/
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+5ef0e918a10ce8fcefebe4d77c6efd73830c9159c423e6fe54da54e4c2942665861bf7b5235b72317aa157328bf0b3681984873a70c39264f8060f9ab927fb99 grpcurl-1.8.9.tar.gz
+"
diff --git a/testing/gsettings-qt/APKBUILD b/testing/gsettings-qt/APKBUILD
new file mode 100644
index 00000000000..7946f7dc06c
--- /dev/null
+++ b/testing/gsettings-qt/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=gsettings-qt
+pkgver=0.2_git20220807
+_commit="d5e002d7e0bce46c315bcc99a44a8bd51f49f488"
+pkgrel=0
+pkgdesc="Library to access GSettings from Qt"
+url="https://gitlab.com/ubports/development/core/gsettings-qt"
+arch="all"
+license="LGPL-3.0-only"
+depends_dev="qt5-qtdeclarative-dev"
+makedepends="$depends_dev qt5-qtbase-dev"
+checkdepends="xvfb-run"
+subpackages="$pkgname-dev"
+source="https://gitlab.com/ubports/development/core/gsettings-qt/-/archive/$_commit/gsettings-qt-$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ qmake-qt5
+ make
+}
+
+check() {
+ LD_LIBRARY_PATH=../src GSETTINGS_BACKEND=memory GSETTINGS_SCHEMA_DIR=. xvfb-run make check
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+sha512sums="
+ead1c8fe4e050fe3b9a6f3881dbfda54e172b01948d59c52536ceb35e244222d75803849565d32e46bc80f9a1651abbeff545141a71545547252ce8786222175 gsettings-qt-d5e002d7e0bce46c315bcc99a44a8bd51f49f488.tar.gz
+"
diff --git a/testing/gsimplecal/APKBUILD b/testing/gsimplecal/APKBUILD
new file mode 100644
index 00000000000..c273ec419c0
--- /dev/null
+++ b/testing/gsimplecal/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Robin Candau <robincandau@protonmail.com>
+# Maintainer: Robin Candau <robincandau@protonmail.com>
+pkgname=gsimplecal
+pkgver=2.5.1
+pkgrel=0
+pkgdesc="Simple and lightweight GTK calendar"
+url="https://dmedvinsky.github.io/gsimplecal/"
+arch="all"
+license="BSD-3-Clause"
+makedepends="autoconf automake pkgconf gtk+3.0-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dmedvinsky/gsimplecal/archive/v$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ ./autogen.sh
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm 644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+sha512sums="
+0234dcecdc43e870bff68891fd620ea43750515ab687d845e692bf28598697b7274c46dca01af5d4cf1ab64c73d7a65612b5104dc000428d09186ce0740b974b gsimplecal-2.5.1.tar.gz
+"
diff --git a/testing/gst-plugins-rs/APKBUILD b/testing/gst-plugins-rs/APKBUILD
new file mode 100644
index 00000000000..a9e5ae6499a
--- /dev/null
+++ b/testing/gst-plugins-rs/APKBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Krassy Boykinov <kboykinov@teamcentrixx.com>
+pkgname=gst-plugins-rs
+pkgver=0.12.4
+pkgrel=0
+pkgdesc="Gstreamer rust plugins"
+url="https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs"
+# ppc64le, s390x, riscv64: ring in gst-plugin-version-helper
+# armv7, armhf, x86: ring in gtk4
+arch="all !armhf !armv7 !ppc64le !riscv64 !s390x !x86"
+license="MIT AND Apache-2.0 AND MPL-2.0 AND LGPL-2.1-or-later"
+makedepends="
+ cargo
+ cargo-c
+ dav1d-dev
+ gst-plugins-bad-dev
+ gst-plugins-base-dev
+ gtk4.0-dev
+ libsodium-dev
+ meson
+ nasm
+ openssl-dev
+ "
+subpackages="$pkgname-dev $pkgname-tools"
+source="https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/archive/$pkgver/gst-plugins-rs-$pkgver.tar.gz
+ dylib.patch
+ "
+options="net !check" # they don't run
+
+export SODIUM_USE_PKG_CONFIG=1
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ export CARGO_PROFILE_RELEASE_OPT_LEVEL=3
+ abuild-meson \
+ --buildtype=release \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+tools() {
+ amove usr/bin
+}
+
+sha512sums="
+1ef76d1ee8778e474590f6f2c7a88cd94b1496cd242b64282710d0fba54fc3f807a7a8e58e58437f44c365d65e5ce8d21bcf72d9aff55033695327849eced00d gst-plugins-rs-0.12.4.tar.gz
+5f354a7776859f62a235947b5a31779688bc681f3c47c3fbf85806c8a12f68023a731067c958e40dfd580af591ea271e4e5184ef3b45a193c9b855486c64fef0 dylib.patch
+"
diff --git a/testing/gst-plugins-rs/dylib.patch b/testing/gst-plugins-rs/dylib.patch
new file mode 100644
index 00000000000..a8ead65159e
--- /dev/null
+++ b/testing/gst-plugins-rs/dylib.patch
@@ -0,0 +1,13 @@
+cargo-c defaults to static for musl otherwise
+diff --git a/cargo_wrapper.py b/cargo_wrapper.py
+index e04ad39..e7b3e03 100644
+--- a/cargo_wrapper.py
++++ b/cargo_wrapper.py
+@@ -89,6 +89,7 @@ if __name__ == "__main__":
+ cargo_cmd += ['build']
+ else:
+ cargo_cmd += ['cbuild']
++ cargo_cmd += ['--library-type=cdylib']
+ if not opts.disable_doc:
+ features += ['doc']
+ if opts.target == 'release':
diff --git a/testing/gst-rtsp-server/APKBUILD b/testing/gst-rtsp-server/APKBUILD
index 31029cd9786..66c62e25a09 100644
--- a/testing/gst-rtsp-server/APKBUILD
+++ b/testing/gst-rtsp-server/APKBUILD
@@ -1,23 +1,40 @@
# Contributor: Andrew Panteleyev <insonifi@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=gst-rtsp-server
-pkgver=1.18.5
+pkgver=1.22.11
pkgrel=0
pkgdesc="GStreamer RTSP server"
url="https://gstreamer.freedesktop.org"
arch="all"
license="LGPL-2.0-or-later"
depends_dev="gst-plugins-base-dev"
-makedepends="$depends_dev gobject-introspection-dev gstreamer-dev meson gst-plugins-bad-dev"
+makedepends="
+ $depends_dev
+ gobject-introspection-dev
+ gst-plugins-bad-dev
+ gstreamer-dev
+ meson
+ "
+checkdepends="gst-plugins-good"
subpackages="$pkgname-dev"
source="https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-$pkgver.tar.xz"
+options="!check" # tests pass locally but not in ci
build() {
+ CFLAGS="$CFLAGS -O2" \
+ CXXFLAGS="$CXXFLAGS -O2" \
+ CPPFLAGS="$CPPFLAGS -O2" \
abuild-meson \
+ -Db_lto=true \
-Dpackage-origin="https://alpinelinux.org" \
-Dpackage-name="GStreamer RTSP server (Alpine Linux)" \
+ -Dtests="$(want_check && echo enabled || echo disabled)" \
. output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
+}
+
+check() {
+ meson test --print-errorlogs --no-rebuild -C output
}
package() {
@@ -25,5 +42,5 @@ package() {
}
sha512sums="
-da06aaaac8fa9039a5ae287b3a383ffcd4c2aecd70b12aaabba64aa67ea1586a9ed3d7f4f792b8e167d6f72574e214aaed6733e3ed3d4017b519af5985779d82 gst-rtsp-server-1.18.5.tar.xz
+cf3c698dbbcaa790b6bb1b1df4bae88be5f54fb70ba4bce5a4a0f907d693616d52b1cf67e73f694dcd7c9588b63a6303949f9f36fde952011a2d2ff80f9b44de gst-rtsp-server-1.22.11.tar.xz
"
diff --git a/testing/gstreamer-vaapi/APKBUILD b/testing/gstreamer-vaapi/APKBUILD
deleted file mode 100644
index 71958ded29d..00000000000
--- a/testing/gstreamer-vaapi/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Taner Tas <taner76@gmail.com>
-# Maintainer: Taner Tas <taner76@gmail.com>
-pkgname=gstreamer-vaapi
-pkgver=1.18.5
-pkgrel=0
-pkgdesc="GStreamer streaming media framework VA API plug-ins"
-url="https://gstreamer.freedesktop.org/"
-arch="all"
-license="LGPL-2.1-or-later"
-makedepends="glib-dev gst-plugins-bad-dev libva-dev libxrandr-dev meson eudev-dev"
-options="!check" # Need actual display with HW accel
-source="https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-$pkgver.tar.xz"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test -C output --print-errorlogs
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-5ab6fc2c6f6bdad41fa76464d3dd47f5812e104190f82b84dfd161911584c1c1c968d5691dc421037093991b3e75b7bf937e76b1d55f40ffb08161ae4c3971ee gstreamer-vaapi-1.18.5.tar.xz
-"
diff --git a/testing/gstreamermm/APKBUILD b/testing/gstreamermm/APKBUILD
index e91abdbe66c..7d0ff37cb38 100644
--- a/testing/gstreamermm/APKBUILD
+++ b/testing/gstreamermm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=gstreamermm
pkgver=1.10.0
-pkgrel=3
+pkgrel=4
pkgdesc="C++ interface for GStreamer"
url="https://gstreamer.freedesktop.org/bindings/cplusplus.html"
arch="all"
@@ -11,7 +11,9 @@ makedepends="glibmm-dev gst-plugins-base-dev"
checkdepends="gtest-dev"
options="!check" #tests are broken
subpackages="$pkgname-dev"
-source="https://download.gnome.org/sources/gstreamermm/${pkgver%.[0-9]*}/gstreamermm-$pkgver.tar.xz"
+source="https://download.gnome.org/sources/gstreamermm/${pkgver%.[0-9]*}/gstreamermm-$pkgver.tar.xz
+ $pkgname-glib-2.68.patch::https://gitlab.gnome.org/GNOME/gstreamermm/-/commit/37116547fb5f9066978e39b4cf9f79f2154ad425.patch
+ "
prepare() {
default_prepare
@@ -32,4 +34,7 @@ package() {
check() {
make check
}
-sha512sums="34eeb9eec5958c96acf7c7791eef80138e5d55fea6ddf1bf9ace6b1ec7f052da2abf04d87089e4c9ead51c631ef7afceaf9fceb946ec3d105da522187c69e429 gstreamermm-1.10.0.tar.xz"
+sha512sums="
+34eeb9eec5958c96acf7c7791eef80138e5d55fea6ddf1bf9ace6b1ec7f052da2abf04d87089e4c9ead51c631ef7afceaf9fceb946ec3d105da522187c69e429 gstreamermm-1.10.0.tar.xz
+ce821e8d733f460c9c093d90c76ba66e649439870ed8797b98d927112cfd0d776e5fb858831f50e7cff38cd660b06914a327589c5c27b5f4f8a3783a633fdc8f gstreamermm-glib-2.68.patch
+"
diff --git a/testing/gtk4-layer-shell/APKBUILD b/testing/gtk4-layer-shell/APKBUILD
new file mode 100644
index 00000000000..1b72a530f66
--- /dev/null
+++ b/testing/gtk4-layer-shell/APKBUILD
@@ -0,0 +1,62 @@
+# Maintainer:
+pkgname=gtk4-layer-shell
+pkgver=1.0.2
+pkgrel=0
+pkgdesc="Create panels and other desktop components in Wayland using the Layer Shell protocol in GTK4"
+url="https://github.com/wmww/gtk4-layer-shell"
+arch="all"
+license="MIT"
+makedepends="
+ gobject-introspection-dev
+ gtk4.0-dev
+ meson
+ vala
+ wayland-dev
+ wayland-protocols
+ "
+checkdepends="
+ font-dejavu
+ py3-gobject3
+ xvfb-run
+ "
+subpackages="$pkgname-dev $pkgname-demo"
+source="$pkgname-$pkgver.tar.gz::https://github.com/wmww/gtk4-layer-shell/archive/v$pkgver.tar.gz
+ no-lua-test.patch
+ "
+
+prepare() {
+ default_prepare
+
+ rm -fv test/smoke-tests/test-lua-example.py
+}
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ -Dexamples=true \
+ -Ddocs=false \
+ -Dtests="$(want_check && echo true || echo false)" \
+ . output
+ meson compile -C output
+}
+
+check() {
+ XDG_RUNTIME_DIR="$(mktemp -d -p "$builddir")" \
+ xvfb-run -a \
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+demo() {
+ pkgdesc="Demo of GTK4 Layer Shell"
+
+ amove usr/bin/gtk4-layer-demo
+}
+
+sha512sums="
+f43a75c20fa41e4bc44430a36cf60a01281ce67a19afb4ed8297633a91803394ba8fe14dfb81db46f5bccc3e3dfe1474175b6c3249cfa614b42b167329b279f3 gtk4-layer-shell-1.0.2.tar.gz
+d581a80a98a701d6ff7cd5555f0b1a7959efb91b72f54e3ba597f78b2094d3f5630f8d96249860c761fee927a271ee624a192edb9bd40e2884f2004136e545ed no-lua-test.patch
+"
diff --git a/testing/gtk4-layer-shell/no-lua-test.patch b/testing/gtk4-layer-shell/no-lua-test.patch
new file mode 100644
index 00000000000..e0d904160aa
--- /dev/null
+++ b/testing/gtk4-layer-shell/no-lua-test.patch
@@ -0,0 +1,13 @@
+a bad arg is passed to lgi
+--
+diff --git a/test/smoke-tests/meson.build b/test/smoke-tests/meson.build
+index e773c54..f2dab96 100644
+--- a/test/smoke-tests/meson.build
++++ b/test/smoke-tests/meson.build
+@@ -2,6 +2,5 @@ smoke_tests = [
+ 'test-c-example',
+ 'test-c-demo',
+ 'test-python-example',
+- 'test-lua-example',
+ 'test-vala-example',
+ ]
diff --git a/testing/gtkgreet/APKBUILD b/testing/gtkgreet/APKBUILD
deleted file mode 100644
index e516e3ee176..00000000000
--- a/testing/gtkgreet/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=gtkgreet
-pkgver=0.7_git20210325
-_gitrev=3471aaaaee4619fd4aded85803b27b4a8dff41a6
-pkgrel=0
-pkgdesc="GTK based greeter for greetd"
-url="https://git.sr.ht/~kennylevinsen/gtkgreet"
-arch="aarch64 armhf armv7 ppc64le x86 x86_64" # limited by greetd <- rust/cargo
-license="GPL-3.0"
-depends="greetd"
-makedepends="
- gtk+3.0-dev
- gtk-layer-shell-dev
- json-c-dev
- meson
- scdoc
- "
-subpackages="$pkgname-doc"
-source="$pkgname-$_gitrev.tar.gz::https://git.sr.ht/~kennylevinsen/gtkgreet/archive/$_gitrev.tar.gz"
-builddir="$srcdir/$pkgname-$_gitrev"
-
-build() {
- abuild-meson \
- -Dlayershell=enabled \
- -Dman-pages=enabled \
- . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-aecf9c6068f612a294a81403fca1abf150e281f6d965d2f76ff3140eec7f6014354329e8242d344d47a340d84b488c1f2069592fb9662f00add072bb4beb97b0 gtkgreet-3471aaaaee4619fd4aded85803b27b4a8dff41a6.tar.gz
-"
diff --git a/testing/gtkhash/APKBUILD b/testing/gtkhash/APKBUILD
new file mode 100644
index 00000000000..a3f35d0e0fb
--- /dev/null
+++ b/testing/gtkhash/APKBUILD
@@ -0,0 +1,89 @@
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=gtkhash
+pkgver=1.5
+pkgrel=0
+pkgdesc="Utility for computing message digests and checksums"
+url="https://gtkhash.org/"
+arch="all !s390x !riscv64 !ppc64le"
+# no librsvg-dev s390x riscv64, no nemo-dev pp64le
+license="GPL-2.0-or-later"
+makedepends="
+ caja-dev
+ cmake
+ glib-dev
+ gtk+3.0-dev
+ gtk-doc
+ libb2-dev
+ libgcrypt-dev
+ librsvg-dev
+ meson
+ nautilus-dev
+ nemo-dev
+ openssl-dev>3
+ thunar-dev
+ zlib-dev
+ "
+checkdepends="xvfb-run" # Not running properly under CI
+subpackages="
+ $pkgname-lang
+ caja-gtkhash-plugin:_caja
+ nemo-gtkhash-plugin:_nemo
+ thunar-gtkhash-plugin:_thunar
+ "
+source="https://github.com/tristanheaven/gtkhash/releases/download/v$pkgver/gtkhash-$pkgver.tar.gz"
+options="!check" # Disable check until failure under CI fixed
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ -Dblake2=true \
+ -Dgcrypt=true \
+ -Dglib-checksums=true \
+ -Dinternal-md6=true \
+ -Dlibcrypto=true \
+ -Dlinux-crypto=true \
+ -Dzlib=true \
+ -Dnative-file-chooser=true \
+ -Dappstream=true \
+ -Dbuild-gtkhash=true \
+ -Dbuild-caja=true \
+ -Dbuild-nautilus=false \
+ -Dbuild-nemo=true \
+ -Dbuild-thunar=true \
+ . output
+ meson compile -C output
+}
+
+# https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/31622#note_220087
+check() {
+ xvfb-run meson test --no-rebuild -C output
+}
+
+_caja() {
+ pkgdesc="$pkgdesc (caja plugin)"
+ amove usr/lib/caja
+ amove usr/share/caja
+}
+
+_nautilus() {
+ pkgdesc="$pkgdesc (nautilus plugin)"
+ amove usr/lib/nautilus
+}
+
+_nemo() {
+ pkgdesc="$pkgdesc (nemo plugin)"
+ amove usr/lib/nemo
+}
+
+_thunar() {
+ pkgdesc="$pkgdesc (thunar plugin)"
+ amove usr/lib/thunarx-3
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+a71ec8780533ecb72f16ae9bc6fdfb5cf58f945c8fab9c16ee5007b04c22af701aaac79895ded9f7b573625020e9597a191fb81a68cec63111c089f1d03e2347 gtkhash-1.5.tar.gz
+"
diff --git a/testing/gtklock/APKBUILD b/testing/gtklock/APKBUILD
new file mode 100644
index 00000000000..64dae183ace
--- /dev/null
+++ b/testing/gtklock/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=gtklock
+pkgver=2.1.0
+pkgrel=0
+pkgdesc="GTK-based lockscreen for Wayland"
+url="https://github.com/jovanlanik/gtklock"
+arch="all"
+license="GPL-3.0-only"
+makedepends="linux-pam-dev glib-dev gtk-layer-shell-dev gtk+3.0-dev wayland-dev scdoc"
+subpackages="$pkgname-doc"
+source="https://github.com/jovanlanik/gtklock/archive/v$pkgver/gtklock-v$pkgver.tar.gz"
+options="!check" # no upstream tests
+
+build() {
+ make
+}
+
+package() {
+ make install DESTDIR="$pkgdir" PREFIX="/usr"
+}
+
+sha512sums="
+63fedae301089d922804398aa957eb784778ec033f0f7fd49e85fef0bbf6a029942e55751bcb05e99ded6c42ea88d601531a3b81cd33509ba0cae4cf81d84ce8 gtklock-v2.1.0.tar.gz
+"
diff --git a/testing/gtksourceviewmm3/APKBUILD b/testing/gtksourceviewmm3/APKBUILD
index fa2f00e4835..d243a109835 100755..100644
--- a/testing/gtksourceviewmm3/APKBUILD
+++ b/testing/gtksourceviewmm3/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=gtksourceviewmm3
pkgver=3.21.3
-pkgrel=0
+pkgrel=2
arch="all"
pkgdesc="C++ wrapper for the gtksourceview widget library"
-url="https://developer.gnome.org/gtksourceviewmm/stable/"
+url="https://gitlab.gnome.org/GNOME/gtksourceviewmm"
license="LGPL-2.1-or-later"
-makedepends="libtool mm-common gtksourceview-dev"
-subpackages="$pkgname-doc $pkgname-dev"
+makedepends="autoconf automake libtool mm-common gtksourceview-dev"
+subpackages="$pkgname-devhelp $pkgname-doc $pkgname-dev"
source="https://download.gnome.org/sources/gtksourceviewmm/${pkgver%.*}/gtksourceviewmm-$pkgver.tar.xz"
builddir="$srcdir/${pkgname:0:-1}-$pkgver"
@@ -33,11 +33,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-doc() {
- default_doc
- # move /usr/share/devhelp to -doc package
- # necessary until abuild's doc() detects 'devhelp' as doc
- # abuild MR: https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/87
- amove /usr/share/devhelp
-}
-sha512sums="bae4b1fc0792fee136b3be5a2514d29cc4ddc1e7ca663c090e5c15a693475fd6c80f081dd7972e53aa1a74f4ae85bc00d71438b7fb0a89d714a3e423cb5228ef gtksourceviewmm-3.21.3.tar.xz"
+sha512sums="
+bae4b1fc0792fee136b3be5a2514d29cc4ddc1e7ca663c090e5c15a693475fd6c80f081dd7972e53aa1a74f4ae85bc00d71438b7fb0a89d714a3e423cb5228ef gtksourceviewmm-3.21.3.tar.xz
+"
diff --git a/testing/gtksourceviewmm4/APKBUILD b/testing/gtksourceviewmm4/APKBUILD
index 90db70d8064..8689a1e3478 100755..100644
--- a/testing/gtksourceviewmm4/APKBUILD
+++ b/testing/gtksourceviewmm4/APKBUILD
@@ -3,13 +3,13 @@
pkgname=gtksourceviewmm4
# Preview release for 4.0.0
pkgver=3.91.1
-pkgrel=0
+pkgrel=2
arch="all"
pkgdesc="C++ wrapper for the gtksourceview widget library"
-url="https://developer.gnome.org/gtksourceviewmm/stable/"
+url="https://gitlab.gnome.org/GNOME/gtksourceviewmm"
license="LGPL-2.1-or-later"
-makedepends="libtool mm-common gtksourceview4-dev"
-subpackages="$pkgname-doc $pkgname-dev"
+makedepends="autoconf automake libtool mm-common gtksourceview4-dev"
+subpackages="$pkgname-devhelp $pkgname-doc $pkgname-dev"
source="https://download.gnome.org/sources/gtksourceviewmm/${pkgver%.*}/gtksourceviewmm-$pkgver.tar.xz"
builddir="$srcdir/${pkgname:0:-1}-$pkgver"
@@ -34,11 +34,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-doc() {
- default_doc
- # move /usr/share/devhelp to -doc package
- # necessary until abuild's doc() detects 'devhelp' as doc
- # abuild MR: https://gitlab.alpinelinux.org/alpine/abuild/-/merge_requests/87
- amove /usr/share/devhelp
-}
-sha512sums="f28f5611ce21bf4bbe15008604a3963bab46a5a631aef1cb99197e7b397950dde0c6875948f433e9f27f279b669366b27623786ae07178391e3fa2b90665823e gtksourceviewmm-3.91.1.tar.xz"
+sha512sums="
+f28f5611ce21bf4bbe15008604a3963bab46a5a631aef1cb99197e7b397950dde0c6875948f433e9f27f279b669366b27623786ae07178391e3fa2b90665823e gtksourceviewmm-3.91.1.tar.xz
+"
diff --git a/testing/gtkwave/APKBUILD b/testing/gtkwave/APKBUILD
new file mode 100644
index 00000000000..7ab9edaac8e
--- /dev/null
+++ b/testing/gtkwave/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=gtkwave
+pkgver=3.3.117
+pkgrel=0
+pkgdesc="A wave viewer which reads LXT, LXT2, VZT, GHW and VCD/EVCD files"
+url="https://gtkwave.sourceforge.net/"
+arch="all"
+license="GPL-2.0-or-later"
+depends="desktop-file-utils"
+makedepends="
+ gtk+3.0-dev
+ bzip2-dev
+ xz-dev
+ dconf-dev
+ gperf
+ "
+subpackages="$pkgname-doc"
+source="https://gtkwave.sourceforge.net/gtkwave-gtk3-$pkgver.tar.gz"
+builddir="$srcdir/gtkwave-gtk3-$pkgver"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-mime-update \
+ --with-gsettings \
+ --disable-tcl \
+ --enable-gtk3
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b90d188f3d6fa2a631b582a0bcbfdc2a31580c0e03e01bff15a54c84e20cd2a7edea01026281d975e28ff6e6760d4c32944d2c405b129acbe7f57d73432318e4 gtkwave-gtk3-3.3.117.tar.gz
+"
diff --git a/testing/guacamole-server/APKBUILD b/testing/guacamole-server/APKBUILD
deleted file mode 100644
index 26f69893581..00000000000
--- a/testing/guacamole-server/APKBUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# Contributor:
-# Maintainer:
-pkgname=guacamole-server
-pkgver=1.3.0
-pkgrel=0
-pkgdesc="clientless remote desktop gateway server"
-url="https://guacamole.apache.org"
-arch="all !mips64" # Tests fail
-license="GPL-3.0-or-later"
-makedepends="cairo-dev libjpeg-turbo-dev libpng-dev ossp-uuid-dev ffmpeg-dev
- freerdp-dev pango-dev libssh2-dev libvncserver-dev pulseaudio-dev
- openssl-dev libvorbis-dev libwebp-dev perl libwebsockets-dev cunit-dev
- "
-subpackages="$pkgname-doc $pkgname-dev"
-source="http://apache.org/dyn/closer.cgi?action=download&filename=guacamole/$pkgver/source/guacamole-server-$pkgver.tar.gz
- "
-
-build() {
- # Disables erroring out on functions that are deprecated
- # like 'av_init_packet' and 'VerifyCertificate'
- CFLAGS="$CFLAGS -Wno-error=deprecated-declarations" \
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-static \
- --with-libavcodec \
- --with-libavutil \
- --with-libswscale \
- --with-ssl \
- --without-winsock \
- --with-vorbis \
- --with-pulse \
- --with-pango \
- --with-terminal \
- --with-vnc \
- --with-rdp \
- --with-ssh \
- --without-telnet \
- --with-webp \
- --with-websockets
- make
-}
-
-check() {
- # 4 Tests fail on s390x
- # test_common 10
- # test_common 12
- # test_common 13
- # test_common 14
- [ "$CARCH" = s390x ] && return 0
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-sha512sums="
-35f2619db5479bc2d6b502c3838dc7bbb697c467c3166e659b5eec5be6aeef699588f8baee0c7847aa3d9a7857eb06789153b8e33b2b3dc883bf769240c87a96 guacamole-server-1.3.0.tar.gz
-"
diff --git a/testing/guake/APKBUILD b/testing/guake/APKBUILD
index 1e30982a0a8..16f3cea0ad2 100644
--- a/testing/guake/APKBUILD
+++ b/testing/guake/APKBUILD
@@ -1,29 +1,53 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=guake
-pkgver=3.8.1
+pkgver=3.10
pkgrel=1
pkgdesc="Drop-down terminal for GNOME"
-url="http://guake-project.org"
+url="http://guake-project.org/"
arch="noarch"
license="GPL-2.0-only"
-depends="py3-pbr"
-makedepends="python3-dev py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Guake/$pkgname/archive/$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
+depends="
+ keybinder3
+ libnotify
+ libutempter
+ libwnck3
+ py3-cairo
+ py3-dbus
+ py3-gobject3
+ py3-pbr
+ py3-yaml
+ python3
+ vte3
+ "
+makedepends="
+ gettext-dev
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ python3-dev
+ "
+subpackages="$pkgname-lang $pkgname-pyc"
+source="$pkgname-$pkgver-2.tar.gz::https://github.com/Guake/guake/archive/refs/tags/$pkgver.tar.gz
+ fix-install.patch
+ "
+options="!check" # no tests
-build() {
- python3 setup.py build
-}
+# secfixes:
+# 3.8.5-r0:
+# - CVE-2021-23556
-check() {
- python3 setup.py check
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ make
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ make COMPILE_SCHEMA=0 DESTDIR="$pkgdir" PREFIX=/usr install
}
sha512sums="
-5fbf4cc37bc501e4533bd27c1c7e1f783e570457867289702ab2122fcb6a55708df151e4307c4cf84a242ac1d2874ef5e8eb9411318e24eca140102a42b426f4 guake-3.8.1.tar.gz
+72e5b7a046ceab0c5fedde25e7baa4e4002edc7f97867db72ed0cacc7347ca5381d74813f1ae1f61167b9c9128d87d60c7b6610b25f7abad024a2e001d3b114a guake-3.10-2.tar.gz
+29207ce672ce166a0249f74fdfd19028b07214d79f7fffd460837ed5c0b3a4bbade6ba7be66b90236f30a09fcc9932e22b1bd3920fc5a1fa77c3a35c4bf98abf fix-install.patch
"
diff --git a/testing/guake/fix-install.patch b/testing/guake/fix-install.patch
new file mode 100644
index 00000000000..e874e45b554
--- /dev/null
+++ b/testing/guake/fix-install.patch
@@ -0,0 +1,19 @@
+diff --git a/Makefile b/Makefile
+index ccbf433..bd0026c 100644
+--- a/Makefile
++++ b/Makefile
+@@ -94,12 +94,12 @@ install-guake:
+ @sed -i -e 's|{{ LOGIN_DESTOP_PATH }}|"$(LOGIN_DESTOP_PATH)"|g' guake/paths.py
+ @sed -i -e 's|{{ AUTOSTART_FOLDER }}|"$(AUTOSTART_FOLDER)"|g' guake/paths.py
+
+- @$(PYTHON_INTERPRETER) -m pip install . --root "$(DESTDIR)" --prefix="/usr" || echo -e "\033[31;1msetup.py install failed, you may need to run \"sudo git config --global --add safe.directory '*'\"\033[0m"
++ @gpep517 build-wheel --wheel-dir dist --output-fd 3 3>&1 >&2
++ @python3 -m installer -d "$(DESTDIR)" dist/*.whl
+
+ @rm -f guake/paths.py
+ @if [ -f guake/paths.py.dev ]; then mv guake/paths.py.dev guake/paths.py; fi
+
+- @update-desktop-database || echo "Could not run update-desktop-database, are you root?"
+ @rm -rfv build *.egg-info
+
+ install-locale:
diff --git a/testing/guetzli/APKBUILD b/testing/guetzli/APKBUILD
index 516212daa42..dd2da63cef9 100755..100644
--- a/testing/guetzli/APKBUILD
+++ b/testing/guetzli/APKBUILD
@@ -3,7 +3,7 @@
pkgname=guetzli
pkgver=0_git20191025 # Last tagged release on Mar 21, 2017, 76 commits behind
_commit=214f2bb42abf5a577c079d00add5d6cc470620d3
-pkgrel=0
+pkgrel=1
pkgdesc="perceptual JPEG encoder that aims for excellent compression density at high visual quality"
url="https://github.com/google/guetzli"
license="Apache-2.0"
diff --git a/testing/gufw/APKBUILD b/testing/gufw/APKBUILD
new file mode 100644
index 00000000000..453f0eabab7
--- /dev/null
+++ b/testing/gufw/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=gufw
+pkgver=24.04
+pkgrel=1
+pkgdesc="GUI for Uncomplicated Firewall"
+url="https://costales.github.io/projects/gufw/"
+arch="noarch"
+options="!check" # no test suite
+license="GPL-3.0-or-later"
+depends="
+ desktop-file-utils
+ gtk-update-icon-cache
+ polkit
+ py3-gobject3
+ python3
+ ufw
+ webkit2gtk
+ "
+makedepends="
+ intltool
+ py3-distutils-extra
+ py3-setuptools
+ "
+source="https://github.com/costales/gufw/archive/$pkgver/gufw-$pkgver.tar.gz"
+subpackages="$pkgname-doc $pkgname-lang $pkgname-pyc"
+
+build() {
+ local PYTHONVERSION="$(python3 -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')"
+ sed \
+ -e 's|/usr/share/gufw/gufw/gufw.py $1|/usr/lib/python'"$PYTHONVERSION"'/site-packages/gufw/gufw.py "$@"|' \
+ -e 's|/bin/bash|/bin/sh|' \
+ -i bin/gufw-pkexec
+ sed \
+ 's|/bin/bash|/bin/sh|' \
+ -i bin/gufw
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir" -O1
+}
+
+sha512sums="
+c9b9d86c35ab574e6e93f3dc62fc1875c33b371c397ab7032e07935db7d594c7e0af37789678007b848ff83a5d1d69724c728687c0c36a4c890aaf56420c2228 gufw-24.04.tar.gz
+"
diff --git a/testing/guile-reader/APKBUILD b/testing/guile-reader/APKBUILD
deleted file mode 100644
index b0c5fd2374e..00000000000
--- a/testing/guile-reader/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
-pkgname=guile-reader
-pkgver=0.6.3
-pkgrel=1
-pkgdesc="A framework for building readers for GNU Guile"
-url="http://www.nongnu.org/guile-reader/"
-arch="all"
-license="GPL-3.0-or-later"
-depends="guile"
-makedepends="gperf guile-dev gmp-dev"
-# Don't split -dev: https://gitlab.alpinelinux.org/alpine/aports/-/issues/12783
-subpackages="$pkgname-doc"
-options="!strip" # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907061
-source="https://download.savannah.nongnu.org/releases/guile-reader/guile-reader-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-0f9f47ee5f24ebb79894863ac96d63b0c7d2801020a212c59d11c7685ff4006a646be988a696a9b623dc0e0605f46d4a9a8680bfabd299878e41eab92e75efd5 guile-reader-0.6.3.tar.gz
-"
diff --git a/testing/guish/APKBUILD b/testing/guish/APKBUILD
new file mode 100644
index 00000000000..fd137ccfcf9
--- /dev/null
+++ b/testing/guish/APKBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Francesco Palumbo <phranz@subfc.net>
+# Contributor: Francesco Palumbo <phranz@subfc.net>
+pkgname=guish
+pkgver=2.6.10
+pkgrel=0
+pkgdesc="Language and swiss army knife to make and modify GUIs"
+# others not supported yet
+arch="x86 x86_64 armhf armv7 aarch64"
+url="https://codeberg.org/phranz/guish"
+license="GPL-3.0-or-later"
+makedepends="libx11-dev libxtst-dev imlib2-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/phranz/guish/archive/$pkgver.tar.gz"
+builddir="$srcdir/guish"
+
+build() {
+ make
+}
+
+check() {
+ make tests
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+sha512sums="
+ddebd1f8383b91e0bf16a77eb05c4ddb5dd7129a33a75bd86b4393df21def2664e8a431bec36becd52af0ca332776707a88786fd843e7fcc85ba6123ee47a65f guish-2.6.10.tar.gz
+"
diff --git a/testing/gutenprint/APKBUILD b/testing/gutenprint/APKBUILD
index 67cc5a55bb6..a9dbc5d1cfd 100644
--- a/testing/gutenprint/APKBUILD
+++ b/testing/gutenprint/APKBUILD
@@ -1,28 +1,24 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
pkgname=gutenprint
-pkgver=5.3.3
-pkgrel=0
+pkgver=5.3.4
+pkgrel=3
pkgdesc="Top quality printer drivers for POSIX systems"
-url="http://gimp-print.sourceforge.net/"
+url="https://gimp-print.sourceforge.net/"
arch="all"
license="GPL-2.0-or-later"
makedepends="
+ bash
cups-dev
- tiff-dev
+ gettext-dev
+ ghostscript-dev
libjpeg-turbo-dev
libpng-dev
- ghostscript-dev
libusb-dev
- autoconf
- automake
- libtool
- gettext-dev
- bash
+ tiff-dev
"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-lang $pkgname-libs $pkgname-cups $pkgname-samples"
-source="https://downloads.sourceforge.net/gimp-print/gutenprint-$pkgver.tar.xz
- fix-build.patch
- "
+source="https://downloads.sourceforge.net/gimp-print/gutenprint-$pkgver.tar.xz"
build() {
./configure \
@@ -47,20 +43,22 @@ package() {
cups() {
pkgdesc="CUPS drivers for Canon, Epson, HP and compatible printers"
- for d in usr/share usr/lib usr/bin usr/sbin etc; do
- mkdir -p "$subpkgdir"/$d || return 1
- mv "$pkgdir"/$d/cups* "$subpkgdir"/$d/
- done
+ amove \
+ usr/share/cups* \
+ usr/lib/cups* \
+ usr/bin/cups* \
+ usr/sbin/cups* \
+ etc/cups
}
samples() {
pkgdesc="Sample test pattern generator for gutenprint-dev"
- mkdir -p "$subpkgdir"/usr/share/gutenprint "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/share/gutenprint/samples \
- "$subpkgdir"/usr/share/gutenprint/
- mv "$pkgdir"/usr/bin/testpattern "$subpkgdir"/usr/bin/
+ amove \
+ usr/share/gutenprint/samples \
+ usr/bin/testpattern
}
-sha512sums="d2c47eb4ccc3c46ccb2f1042682edf7443f5c57439ead72f49ecd10537cf967251bacf7ca7da29fb8dceecc7eebd55ed021f2594ff9fb6509bab543fab1dc8d6 gutenprint-5.3.3.tar.xz
-47f782a4456d6a0b8776533581041b00253089d529f022a92870f588d361d45b2c97d3f099ada94665b1c9469f69a8b58d35a784871fca65801a1bffcd69c1ca fix-build.patch"
+sha512sums="
+63de0b62edbe255a7efaaeab1dcd22577b7b46d7e0e48441b79977f19e76bf3862e4e8e18c55dd1f2e7392d555f9e8ee875ea53b90c689852d2343491a8fbcc8 gutenprint-5.3.4.tar.xz
+"
diff --git a/testing/gutenprint/fix-build.patch b/testing/gutenprint/fix-build.patch
deleted file mode 100644
index 3f661aca3e4..00000000000
--- a/testing/gutenprint/fix-build.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/src/cups/backend_common.h b/src/cups/backend_common.h
-index 2decab2..b756e8c 100644
---- a/src/cups/backend_common.h
-+++ b/src/cups/backend_common.h
-@@ -58,25 +58,25 @@
- #define le16_to_cpu(__x) __x
- #define be16_to_cpu(__x) ntohs(__x)
- #define be32_to_cpu(__x) ntohl(__x)
--#define be64_to_cpu(__x) ((__uint64_t)( \
-- (((__uint64_t)(__x) & (__uint64_t)0x00000000000000ffULL) << 56) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x000000000000ff00ULL) << 40) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x0000000000ff0000ULL) << 24) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x00000000ff000000ULL) << 8) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x000000ff00000000ULL) >> 8) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x0000ff0000000000ULL) >> 24) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x00ff000000000000ULL) >> 40) | \
-- (((__uint64_t)(__x) & (__uint64_t)0xff00000000000000ULL) >> 56)))
-+#define be64_to_cpu(__x) ((uint64_t)( \
-+ (((uint64_t)(__x) & (uint64_t)0x00000000000000ffULL) << 56) | \
-+ (((uint64_t)(__x) & (uint64_t)0x000000000000ff00ULL) << 40) | \
-+ (((uint64_t)(__x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \
-+ (((uint64_t)(__x) & (uint64_t)0x00000000ff000000ULL) << 8) | \
-+ (((uint64_t)(__x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \
-+ (((uint64_t)(__x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \
-+ (((uint64_t)(__x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \
-+ (((uint64_t)(__x) & (uint64_t)0xff00000000000000ULL) >> 56)))
- #else
--#define le64_to_cpu(__x) ((__uint64_t)( \
-- (((__uint64_t)(__x) & (__uint64_t)0x00000000000000ffULL) << 56) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x000000000000ff00ULL) << 40) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x0000000000ff0000ULL) << 24) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x00000000ff000000ULL) << 8) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x000000ff00000000ULL) >> 8) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x0000ff0000000000ULL) >> 24) | \
-- (((__uint64_t)(__x) & (__uint64_t)0x00ff000000000000ULL) >> 40) | \
-- (((__uint64_t)(__x) & (__uint64_t)0xff00000000000000ULL) >> 56)))
-+#define le64_to_cpu(__x) ((uint64_t)( \
-+ (((uint64_t)(__x) & (uint64_t)0x00000000000000ffULL) << 56) | \
-+ (((uint64_t)(__x) & (uint64_t)0x000000000000ff00ULL) << 40) | \
-+ (((uint64_t)(__x) & (uint64_t)0x0000000000ff0000ULL) << 24) | \
-+ (((uint64_t)(__x) & (uint64_t)0x00000000ff000000ULL) << 8) | \
-+ (((uint64_t)(__x) & (uint64_t)0x000000ff00000000ULL) >> 8) | \
-+ (((uint64_t)(__x) & (uint64_t)0x0000ff0000000000ULL) >> 24) | \
-+ (((uint64_t)(__x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \
-+ (((uint64_t)(__x) & (uint64_t)0xff00000000000000ULL) >> 56)))
- #define le32_to_cpu(x) \
- ({ \
- uint32_t __x = (x); \
-diff --git a/src/testpattern/testpatterny.h b/src/testpattern/testpatterny.h
-index 259ea29..fce45eb 100644
---- a/src/testpattern/testpatterny.h
-+++ b/src/testpattern/testpatterny.h
-@@ -43,6 +43,7 @@ extern int yydebug;
- /* Token type. */
- #ifndef YYTOKENTYPE
- # define YYTOKENTYPE
-+#undef PAGESIZE
- enum yytokentype
- {
- tINT = 258,
diff --git a/testing/gx-go/APKBUILD b/testing/gx-go/APKBUILD
index 992d1186529..9df0d782c60 100644
--- a/testing/gx-go/APKBUILD
+++ b/testing/gx-go/APKBUILD
@@ -2,58 +2,39 @@
# Maintainer: Oleg Titov <oleg.titov@gmail.com>
pkgname=gx-go
pkgver=1.9.0
-pkgrel=5
+pkgrel=24
pkgdesc="A tool to use with the gx package manager for packages written in go"
url="https://github.com/whyrusleeping/gx-go"
# riscv64: dependency github.com/minio/sha512-simd does not support riscv64
arch="all !riscv64"
license="MIT"
-options="!check" # Test suite issues
-makedepends="git glide go"
+options="!check net" # Test suite issues
+makedepends="go"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/whyrusleeping/$pkgname/archive/v$pkgver.tar.gz
- glide.yaml
- glide.lock
- "
-builddir="$srcdir/src/github.com/whyrusleeping/$pkgname"
+source="$pkgname-$pkgver.tar.gz::https://github.com/whyrusleeping/gx-go/archive/v$pkgver.tar.gz
+ gomod.patch
+ "
-prepare() {
- export GOPATH="$srcdir"
- export GO111MODULE=off
-
- mkdir -p $(dirname $builddir)
- mv "$srcdir"/$pkgname-$pkgver "$builddir"/
-
- cd "$builddir"
- cp "$srcdir"/glide.yaml "$srcdir"/glide.lock .
- glide install --skip-test
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+prepare() {
default_prepare
+ go mod download
}
build() {
- GOPATH="$srcdir" GOBIN="$GOPATH/bin" make
+ go build -o bin/gx-go
}
package() {
- cd "$srcdir"
install -Dm 755 bin/gx-go "$pkgdir/usr/bin/gx-go"
- cd "$builddir"
install -Dm 644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
}
-glide_init() {
- abuild clean deps unpack prepare
- cd "$builddir"
- export GOPATH="$startdir"
- rm -f glide.yaml glide.lock
- glide init --non-interactive
- glide update
- cp glide.yaml glide.lock "$startdir"
- cd "$startdir" && abuild checksum clean
-}
-
-sha512sums="3df8a99d257098afdf99ba6cbf58d50eab196f823ae53db48865a4f4962e38b84a66ffc99d5a342b43ff9891c8245252a77677b75c770d86f93ef1ad3c9e879f gx-go-1.9.0.tar.gz
-db824fce3e8094e2806c68b18ba5b8decae4cb62068113f6bc97f72de1224bd326b3342297739ee9b5a86bd4f7c9ec2f9b04aa3610cc95903dc1b3bfd7b0934f glide.yaml
-32a2ae3e10d20c0ba1613a592d8b9fd7a6e9678e2bc9f262bb6887c22b65c0a8da2c7aef1f70d35b3d89ae6aa6b50ca26cdddd47c3ee274a8ddc1a8bf0b16016 glide.lock"
+sha512sums="
+3df8a99d257098afdf99ba6cbf58d50eab196f823ae53db48865a4f4962e38b84a66ffc99d5a342b43ff9891c8245252a77677b75c770d86f93ef1ad3c9e879f gx-go-1.9.0.tar.gz
+f7678e3ec2092ab9f4a78097dcaa892acb6288bf680c6f992b789d35d241e575d181d53c32e53b19e07ff6c793aed2188b5856c021287b2204eff82c78683e2f gomod.patch
+"
diff --git a/testing/gx-go/glide.lock b/testing/gx-go/glide.lock
deleted file mode 100644
index e30e2b7bc60..00000000000
--- a/testing/gx-go/glide.lock
+++ /dev/null
@@ -1,86 +0,0 @@
-hash: 95215163a517cde934cd6d76708d61d7593e3d0f75f09c30dab341e8462c4d8a
-updated: 2019-04-01T09:33:13.761921059-06:00
-imports:
-- name: github.com/btcsuite/btcd
- version: aa6e0f35703c1438cc45860ddc0c3f6e6c633c93
- subpackages:
- - btcec
-- name: github.com/gogo/protobuf
- version: 382325bbbb4d1c850eec1f3ec92a1a16f502d68b
- subpackages:
- - proto
-- name: github.com/gxed/hashland
- version: a72cc0875a1e95edd309d3134bc7c11bf2d7360b
- subpackages:
- - keccakpg
- - murmur3
-- name: github.com/ipfs/go-ipfs-api
- version: 26337195b3df044934572dc3ca9ccb175ce057b2
- subpackages:
- - options
-- name: github.com/ipfs/go-ipfs-files
- version: c68472a9b1ec45177ccf8fda607698c86ae0060f
-- name: github.com/kr/fs
- version: 1455def202f6e05b95cc7bfc7e8ae67ae5141eba
-- name: github.com/libp2p/go-flow-metrics
- version: 5b4a5750cdd34754b1a417b4c7c7d1c24790b4d4
-- name: github.com/libp2p/go-libp2p-crypto
- version: b0ed0e663e8b6832bad3f4502b2f6551ff2686cd
- subpackages:
- - pb
-- name: github.com/libp2p/go-libp2p-metrics
- version: a64ed6c7351276b3f21cbfa033ceba9bd096c3af
-- name: github.com/libp2p/go-libp2p-peer
- version: 96d6d7940e6fc555240a92d1b4615049cd451da2
-- name: github.com/libp2p/go-libp2p-protocol
- version: 89147e29c7ab3b76c6f8be5b6fcdf3839aec286f
-- name: github.com/minio/blake2b-simd
- version: 3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4
-- name: github.com/minio/sha256-simd
- version: 05b4dd3047e5d6e86cb4e0477164b850cd896261
-- name: github.com/mitchellh/go-homedir
- version: af06845cf3004701891bf4fdb884bfe4920b3727
-- name: github.com/mr-tron/base58
- version: 6598572f05537592acb5a609ff53c4c7fbba7a3e
- subpackages:
- - base58
-- name: github.com/multiformats/go-multiaddr
- version: ce21123d5172669bbf37a166078bc5f9d345ec2f
-- name: github.com/multiformats/go-multiaddr-dns
- version: 7d0de25ce05c9294aa44f320c03c7e85e11bbb0b
-- name: github.com/multiformats/go-multiaddr-net
- version: bd61b0499a3cfc893a8eb109c5669342b1671881
-- name: github.com/multiformats/go-multihash
- version: 2ca70e715b6950a9382097b770a3f44fd570d388
-- name: github.com/sabhiram/go-gitignore
- version: d3107576ba9425fc1c85f4b3569c4631b805a02e
-- name: github.com/urfave/cli
- version: 693af58b4d51b8fcc7f9d89576da170765980581
-- name: github.com/whyrusleeping/gx
- version: ca314b1e9e6be0432e50a30737c0e0720e67dd0f
- subpackages:
- - gxutil
-- name: github.com/whyrusleeping/gx-go
- version: d92567959e16cc58afd1edc83db02be880f495e9
- subpackages:
- - rewrite
-- name: github.com/whyrusleeping/progmeter
- version: f3e57218a75b913eff88d49a52c1debf9684ea04
-- name: github.com/whyrusleeping/stump
- version: 206f8f13aae1697a6fc1f4a55799faf955971fc5
-- name: github.com/whyrusleeping/tar-utils
- version: 8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc
-- name: golang.org/x/crypto
- version: a5d413f7728c81fb97d96a2b722368945f651e78
- subpackages:
- - blake2s
- - ed25519
- - ed25519/internal/edwards25519
- - sha3
-- name: golang.org/x/sys
- version: f49334f85ddcf0f08d7fb6dd7363e9e6d6b777eb
- subpackages:
- - cpu
- - unix
- - windows
-testImports: []
diff --git a/testing/gx-go/glide.yaml b/testing/gx-go/glide.yaml
deleted file mode 100644
index b5214da7244..00000000000
--- a/testing/gx-go/glide.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
-package: src/github.com/whyrusleeping/gx-go
-import:
-- package: github.com/kr/fs
-- package: github.com/mitchellh/go-homedir
-- package: github.com/urfave/cli
-- package: github.com/whyrusleeping/gx-go
- subpackages:
- - rewrite
-- package: github.com/whyrusleeping/gx
- subpackages:
- - gxutil
-- package: github.com/whyrusleeping/stump
diff --git a/testing/gx-go/gomod.patch b/testing/gx-go/gomod.patch
new file mode 100644
index 00000000000..0372ec55b73
--- /dev/null
+++ b/testing/gx-go/gomod.patch
@@ -0,0 +1,190 @@
+diff --git a/go.mod b/go.mod
+new file mode 100644
+index 0000000..f130106
+--- /dev/null
++++ b/go.mod
+@@ -0,0 +1,41 @@
++module github.com/whyrusleeping/gx-go
++
++go 1.19
++
++require (
++ github.com/kr/fs v0.1.0
++ github.com/mitchellh/go-homedir v1.1.0
++ github.com/urfave/cli v1.22.9
++ github.com/whyrusleeping/gx v0.14.3
++ github.com/whyrusleeping/stump v0.0.0-20160611222256-206f8f13aae1
++)
++
++require (
++ github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32 // indirect
++ github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d // indirect
++ github.com/gogo/protobuf v1.2.1 // indirect
++ github.com/ipfs/go-ipfs-api v0.0.3 // indirect
++ github.com/ipfs/go-ipfs-files v0.0.6 // indirect
++ github.com/libp2p/go-flow-metrics v0.0.1 // indirect
++ github.com/libp2p/go-libp2p-core v0.0.1 // indirect
++ github.com/libp2p/go-libp2p-crypto v0.1.0 // indirect
++ github.com/libp2p/go-libp2p-metrics v0.1.0 // indirect
++ github.com/libp2p/go-libp2p-peer v0.2.0 // indirect
++ github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect
++ github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771 // indirect
++ github.com/mr-tron/base58 v1.1.3 // indirect
++ github.com/multiformats/go-multiaddr v0.2.0 // indirect
++ github.com/multiformats/go-multiaddr-net v0.1.2 // indirect
++ github.com/multiformats/go-multihash v0.0.13 // indirect
++ github.com/multiformats/go-varint v0.0.5 // indirect
++ github.com/russross/blackfriday/v2 v2.0.1 // indirect
++ github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 // indirect
++ github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect
++ github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a // indirect
++ github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
++ github.com/spaolacci/murmur3 v1.1.0 // indirect
++ github.com/whyrusleeping/progmeter v0.0.0-20180725015555-f3e57218a75b // indirect
++ github.com/whyrusleeping/tar-utils v0.0.0-20180509141711-8c6c8ba81d5c // indirect
++ golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 // indirect
++ golang.org/x/sys v0.0.0-20190412213103-97732733099d // indirect
++)
+diff --git a/go.sum b/go.sum
+new file mode 100644
+index 0000000..7a57a81
+--- /dev/null
++++ b/go.sum
+@@ -0,0 +1,137 @@
++github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
++github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
++github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk=
++github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32 h1:qkOC5Gd33k54tobS36cXdAzJbeHaduLtnLQQwNoIi78=
++github.com/btcsuite/btcd v0.0.0-20190213025234-306aecffea32/go.mod h1:DrZx5ec/dmnfpw9KyYoQyYo7d0KEvTkk/5M/vbZjAr8=
++github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
++github.com/btcsuite/btcutil v0.0.0-20190207003914-4c204d697803/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
++github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
++github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
++github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
++github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
++github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
++github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764=
++github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U=
++github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
++github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d h1:U+s90UTSYgptZMwQh2aRr3LuazLJIa+Pg3Kc1ylSYVY=
++github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
++github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
++github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
++github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
++github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
++github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
++github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
++github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
++github.com/gxed/hashland/keccakpg v0.0.1/go.mod h1:kRzw3HkwxFU1mpmPP8v1WyQzwdGfmKFJ6tItnhQ67kU=
++github.com/gxed/hashland/murmur3 v0.0.1/go.mod h1:KjXop02n4/ckmZSnY2+HKcLud/tcmvhST0bie/0lS48=
++github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
++github.com/ipfs/go-cid v0.0.1/go.mod h1:GHWU/WuQdMPmIosc4Yn1bcCT7dSeX4lBafM7iqUPQvM=
++github.com/ipfs/go-ipfs-api v0.0.3 h1:1XZBfVDGj0GyyO5WItLrz2opCwezIm9LfFcBfe+sRxM=
++github.com/ipfs/go-ipfs-api v0.0.3/go.mod h1:EgBqlEzrA22SnNKq4tcP2GDPKxbfF+uRTd2YFmR1uUk=
++github.com/ipfs/go-ipfs-files v0.0.6 h1:sMRtPiSmDrTA2FEiFTtk1vWgO2Dkg7bxXKJ+s8/cDAc=
++github.com/ipfs/go-ipfs-files v0.0.6/go.mod h1:lVYE6sgAdtZN5825beJjSAHibw7WOBNPDWz5LaJeukg=
++github.com/ipfs/go-ipfs-util v0.0.1/go.mod h1:spsl5z8KUnrve+73pOhSVZND1SIxPW5RyBCNzQxlJBc=
++github.com/jbenet/goprocess v0.0.0-20160826012719-b497e2f366b8/go.mod h1:Ly/wlsjFq/qrU3Rar62tu1gASgGw6chQbSh/XgIIXCY=
++github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
++github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
++github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
++github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
++github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
++github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
++github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
++github.com/libp2p/go-flow-metrics v0.0.1 h1:0gxuFd2GuK7IIP5pKljLwps6TvcuYgvG7Atqi3INF5s=
++github.com/libp2p/go-flow-metrics v0.0.1/go.mod h1:Iv1GH0sG8DtYN3SVJ2eG221wMiNpZxBdp967ls1g+k8=
++github.com/libp2p/go-libp2p-core v0.0.1 h1:HSTZtFIq/W5Ue43Zw+uWZyy2Vl5WtF0zDjKN8/DT/1I=
++github.com/libp2p/go-libp2p-core v0.0.1/go.mod h1:g/VxnTZ/1ygHxH3dKok7Vno1VfpvGcGip57wjTU4fco=
++github.com/libp2p/go-libp2p-crypto v0.1.0 h1:k9MFy+o2zGDNGsaoZl0MA3iZ75qXxr9OOoAZF+sD5OQ=
++github.com/libp2p/go-libp2p-crypto v0.1.0/go.mod h1:sPUokVISZiy+nNuTTH/TY+leRSxnFj/2GLjtOTW90hI=
++github.com/libp2p/go-libp2p-metrics v0.1.0 h1:v7YMUTHNobFaQeqaMfJJMbnK3EPlZeb6/KFm4gE9dks=
++github.com/libp2p/go-libp2p-metrics v0.1.0/go.mod h1:rpoJmXWFxnj7qs5sJ02sxSzrhaZvpqBn8GCG6Sx6E1k=
++github.com/libp2p/go-libp2p-peer v0.2.0 h1:EQ8kMjaCUwt/Y5uLgjT8iY2qg0mGUT0N1zUjer50DsY=
++github.com/libp2p/go-libp2p-peer v0.2.0/go.mod h1:RCffaCvUyW2CJmG2gAWVqwePwW7JMgxjsHm7+J5kjWY=
++github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 h1:lYpkrQH5ajf0OXOcUbGjvZxxijuBwbbmlSxLiuofa+g=
++github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1/go.mod h1:pD8RvIylQ358TN4wwqatJ8rNavkEINozVn9DtGI3dfQ=
++github.com/minio/sha256-simd v0.0.0-20190131020904-2d45a736cd16/go.mod h1:2FMWW+8GMoPweT6+pI63m9YE3Lmw4J71hV56Chs1E/U=
++github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771 h1:MHkK1uRtFbVqvAgvWxafZe54+5uBxLluGylDiKgdhwo=
++github.com/minio/sha256-simd v0.1.1-0.20190913151208-6de447530771/go.mod h1:B5e1o+1/KgNmWrSQK08Y6Z1Vb5pwIktudl0J58iy0KM=
++github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
++github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
++github.com/mr-tron/base58 v1.1.0/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
++github.com/mr-tron/base58 v1.1.1/go.mod h1:xcD2VGqlgYjBdcBLw+TuYLr8afG+Hj8g2eTVqeSzSU8=
++github.com/mr-tron/base58 v1.1.2/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
++github.com/mr-tron/base58 v1.1.3 h1:v+sk57XuaCKGXpWtVBX8YJzO7hMGx4Aajh4TQbdEFdc=
++github.com/mr-tron/base58 v1.1.3/go.mod h1:BinMc/sQntlIE1frQmRFPUoPA1Zkr8VRgBdjWI2mNwc=
++github.com/multiformats/go-base32 v0.0.3/go.mod h1:pLiuGC8y0QR3Ue4Zug5UzK9LjgbkL8NSQj0zQ5Nz/AA=
++github.com/multiformats/go-multiaddr v0.0.2/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44=
++github.com/multiformats/go-multiaddr v0.1.0/go.mod h1:xKVEak1K9cS1VdmPZW3LSIb6lgmoS58qz/pzqmAxV44=
++github.com/multiformats/go-multiaddr v0.2.0 h1:lR52sFwcTCuQb6bTfnXF6zA2XfyYvyd+5a9qECv/J90=
++github.com/multiformats/go-multiaddr v0.2.0/go.mod h1:0nO36NvPpyV4QzvTLi/lafl2y95ncPj0vFwVF6k6wJ4=
++github.com/multiformats/go-multiaddr-net v0.1.1/go.mod h1:5JNbcfBOP4dnhoZOv10JJVkJO0pCCEf8mTnipAo2UZQ=
++github.com/multiformats/go-multiaddr-net v0.1.2 h1:P7zcBH9FRETdPkDrylcXVjQLQ2t1JQtNItZULWNWgeg=
++github.com/multiformats/go-multiaddr-net v0.1.2/go.mod h1:QsWt3XK/3hwvNxZJp92iMQKME1qHfpYmyIjFVsSOY6Y=
++github.com/multiformats/go-multibase v0.0.1/go.mod h1:bja2MqRZ3ggyXtZSEDKpl0uO/gviWFaSteVbWT51qgs=
++github.com/multiformats/go-multihash v0.0.1/go.mod h1:w/5tugSrLEbWqlcgJabL3oHFKTwfvkofsjW2Qa1ct4U=
++github.com/multiformats/go-multihash v0.0.8/go.mod h1:YSLudS+Pi8NHE7o6tb3D8vrpKa63epEDmG8nTduyAew=
++github.com/multiformats/go-multihash v0.0.13 h1:06x+mk/zj1FoMsgNejLpy6QTvJqlSt/BhLEy87zidlc=
++github.com/multiformats/go-multihash v0.0.13/go.mod h1:VdAWLKTwram9oKAatUcLxBNUjdtcVwxObEQBtRfuyjc=
++github.com/multiformats/go-varint v0.0.1/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
++github.com/multiformats/go-varint v0.0.5 h1:XVZwSo04Cs3j/jS0uAEPpT3JY6DzMcVLLoWOSnCxOjg=
++github.com/multiformats/go-varint v0.0.5/go.mod h1:3Ls8CIEsrijN6+B7PbrXRPxHRPuXSrVKRY101jdMZYE=
++github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
++github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
++github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
++github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
++github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
++github.com/russross/blackfriday/v2 v2.0.1 h1:lPqVAte+HuHNfhJ/0LC98ESWRz8afy9tM/0RK8m9o+Q=
++github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
++github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94 h1:G04eS0JkAIVZfaJLjla9dNxkJCPiKIGZlw9AfOhzOD0=
++github.com/sabhiram/go-gitignore v0.0.0-20180611051255-d3107576ba94/go.mod h1:b18R55ulyQ/h3RaWyloPyER7fWQVZvimKKhnI5OfrJQ=
++github.com/shurcooL/sanitized_anchor_name v1.0.0 h1:PdmoCO6wvbs+7yrJyMORt4/BmY5IYyJwS/kOiWx8mHo=
++github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
++github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a h1:/eS3yfGjQKG+9kayBkj0ip1BGhq6zJ3eaVksphxAaek=
++github.com/spacemonkeygo/openssl v0.0.0-20181017203307-c2dcc5cca94a/go.mod h1:7AyxJNCJ7SBZ1MfVQCWD6Uqo2oubI2Eq2y2eqf+A5r0=
++github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 h1:RC6RW7j+1+HkWaX/Yh71Ee5ZHaHYt7ZP4sQgUrm6cDU=
++github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572/go.mod h1:w0SWMsp6j9O/dk4/ZpIhL+3CkG8ofA2vuv7k+ltqUMc=
++github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
++github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
++github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
++github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
++github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
++github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
++github.com/urfave/cli v1.22.9 h1:cv3/KhXGBGjEXLC4bH0sLuJ9BewaAbpk5oyMOveu4pw=
++github.com/urfave/cli v1.22.9/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0=
++github.com/whyrusleeping/gx v0.14.3 h1:Tn6kM1Rv2Dz6rI2cpWMOeCspdJFaza+cpv8/wIdUNUE=
++github.com/whyrusleeping/gx v0.14.3/go.mod h1:HfCLLEulN7GrYs60Cm6NIvvdohZamn/kjTWQX8uCb2o=
++github.com/whyrusleeping/json-filter v0.0.0-20160615203754-ff25329a9528/go.mod h1:5a88m1gFWhTL3QwRdNm1fiRNrBTME7Ch8f8pZZZes9g=
++github.com/whyrusleeping/progmeter v0.0.0-20180725015555-f3e57218a75b h1:jMJLc+G2DWK2ZX+C+X4Jv7x2ss+XReNGNMpQ+a3fdqo=
++github.com/whyrusleeping/progmeter v0.0.0-20180725015555-f3e57218a75b/go.mod h1:gyCeSVnUb+LQh0QCWbg0Sl30ckl2YgNC+yvSFvy5mFY=
++github.com/whyrusleeping/stump v0.0.0-20160611222256-206f8f13aae1 h1:57Pu2W5KJQ3qRtqKYqOS4GQtkwxGH4ppL4mLWaPnfZU=
++github.com/whyrusleeping/stump v0.0.0-20160611222256-206f8f13aae1/go.mod h1:Qv7QS+Xqv+q5lhOfseae0ZWF0wliLmab2hmikKoLhgE=
++github.com/whyrusleeping/tar-utils v0.0.0-20180509141711-8c6c8ba81d5c h1:GGsyl0dZ2jJgVT+VvWBf/cNijrHRhkrTjkmp5wg7li0=
++github.com/whyrusleeping/tar-utils v0.0.0-20180509141711-8c6c8ba81d5c/go.mod h1:xxcJeBb7SIUl/Wzkz1eVKJE/CB34YNrqX2TQI6jY9zs=
++golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
++golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
++golang.org/x/crypto v0.0.0-20190225124518-7f87c0fbb88b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
++golang.org/x/crypto v0.0.0-20190228161510-8dd112bcdc25/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
++golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
++golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8 h1:1wopBVtVdWnn03fZelqdXTqk7U7zPQCb+T4rbU9ZEoU=
++golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
++golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
++golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
++golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
++golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190219092855-153ac476189d/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190228124157-a34e9553db1e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190302025703-b6889370fb10/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
++golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI=
++golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
++golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
++golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
++gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
++gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
++gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
++gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
++gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
++gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/testing/gx/APKBUILD b/testing/gx/APKBUILD
index 6a4118a1f8b..4e5ddf238da 100644
--- a/testing/gx/APKBUILD
+++ b/testing/gx/APKBUILD
@@ -2,34 +2,27 @@
# Maintainer: Oleg Titov <oleg.titov@gmail.com>
pkgname=gx
pkgver=0.14.3
-pkgrel=3
+pkgrel=22
pkgdesc="Packaging tool build around the distributed, content addressed filesystem IPFS"
url="https://github.com/whyrusleeping/gx"
arch="all"
license="MIT"
-options="!check chmod-clean" # Test suite issues
-makedepends="git glide go"
+options="!check net" # Test suite issues
+makedepends="go"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/whyrusleeping/gx/archive/v$pkgver.tar.gz
- glide.yaml
- glide.lock
- "
-builddir="$srcdir/src/github.com/whyrusleeping/$pkgname"
+source="$pkgname-$pkgver.tar.gz::https://github.com/whyrusleeping/gx/archive/v$pkgver.tar.gz"
-prepare() {
- export GOPATH="$srcdir"
-
- mkdir -p $(dirname $builddir)
- mv "$srcdir"/$pkgname-$pkgver "$builddir"/
-
- cp "$srcdir"/glide.yaml "$srcdir"/glide.lock .
- glide install --skip-test
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+prepare() {
default_prepare
+ go mod download
}
build() {
- GOPATH="$srcdir" GOBIN="$GOPATH/bin" make
+ make
}
package() {
@@ -37,17 +30,6 @@ package() {
install -Dm 644 -t "$pkgdir/usr/share/licenses/gx" LICENSE
}
-glide_init() {
- abuild clean deps unpack prepare
- cd "$builddir"
- export GOPATH="$startdir"
- rm -f glide.yaml glide.lock
- glide init --non-interactive
- glide update
- cp glide.yaml glide.lock "$startdir"
- cd "$startdir" && abuild checksum clean
-}
-
-sha512sums="14280680254aea69b1295e625788b39404a77defdcdd47399529ee818695965c06c6001de8adb0a44f641e66f9386ca9da3fc2c56a038c4b96a8ddd6252c3d49 gx-0.14.3.tar.gz
-b1ac1cdd2ed760072cab4d63876ad711407bc467bee37ee3740b477f1071a13e0086afef99d15cb9267634ca8496aa92d1a1b399fc99f0479336433c9212810d glide.yaml
-6ddf9614c4244258191f0ba7fe1e41d5f84981795a71edc1f3d117f7ec72f1928d887a2dd9aecdb78c7cdac6c04eedf09e2e0af79f6049c337e122b5c7ac5ee7 glide.lock"
+sha512sums="
+14280680254aea69b1295e625788b39404a77defdcdd47399529ee818695965c06c6001de8adb0a44f641e66f9386ca9da3fc2c56a038c4b96a8ddd6252c3d49 gx-0.14.3.tar.gz
+"
diff --git a/testing/gx/glide.lock b/testing/gx/glide.lock
deleted file mode 100644
index 57726fe30b3..00000000000
--- a/testing/gx/glide.lock
+++ /dev/null
@@ -1,84 +0,0 @@
-hash: c90dd949f9035c5c1ecd184c4eaf04c28fbf02fbc3a30f036a68f15121a29c88
-updated: 2019-03-27T16:14:37.014733407-06:00
-imports:
-- name: github.com/blang/semver
- version: 3c1074078d32d767e08ab2c8564867292da86926
-- name: github.com/btcsuite/btcd
- version: aa6e0f35703c1438cc45860ddc0c3f6e6c633c93
- subpackages:
- - btcec
-- name: github.com/gogo/protobuf
- version: 382325bbbb4d1c850eec1f3ec92a1a16f502d68b
- subpackages:
- - proto
-- name: github.com/gxed/hashland
- version: a72cc0875a1e95edd309d3134bc7c11bf2d7360b
- subpackages:
- - keccakpg
- - murmur3
-- name: github.com/ipfs/go-ipfs-api
- version: 26337195b3df044934572dc3ca9ccb175ce057b2
- subpackages:
- - options
-- name: github.com/ipfs/go-ipfs-files
- version: c68472a9b1ec45177ccf8fda607698c86ae0060f
-- name: github.com/libp2p/go-flow-metrics
- version: 5b4a5750cdd34754b1a417b4c7c7d1c24790b4d4
-- name: github.com/libp2p/go-libp2p-crypto
- version: b0ed0e663e8b6832bad3f4502b2f6551ff2686cd
- subpackages:
- - pb
-- name: github.com/libp2p/go-libp2p-metrics
- version: a64ed6c7351276b3f21cbfa033ceba9bd096c3af
-- name: github.com/libp2p/go-libp2p-peer
- version: 96d6d7940e6fc555240a92d1b4615049cd451da2
-- name: github.com/libp2p/go-libp2p-protocol
- version: 89147e29c7ab3b76c6f8be5b6fcdf3839aec286f
-- name: github.com/minio/blake2b-simd
- version: 3f5f724cb5b182a5c278d6d3d55b40e7f8c2efb4
-- name: github.com/minio/sha256-simd
- version: 05b4dd3047e5d6e86cb4e0477164b850cd896261
-- name: github.com/mitchellh/go-homedir
- version: af06845cf3004701891bf4fdb884bfe4920b3727
-- name: github.com/mr-tron/base58
- version: 6598572f05537592acb5a609ff53c4c7fbba7a3e
- subpackages:
- - base58
-- name: github.com/multiformats/go-multiaddr
- version: ce21123d5172669bbf37a166078bc5f9d345ec2f
-- name: github.com/multiformats/go-multiaddr-dns
- version: 7d0de25ce05c9294aa44f320c03c7e85e11bbb0b
-- name: github.com/multiformats/go-multiaddr-net
- version: bd61b0499a3cfc893a8eb109c5669342b1671881
-- name: github.com/multiformats/go-multihash
- version: 2ca70e715b6950a9382097b770a3f44fd570d388
-- name: github.com/sabhiram/go-gitignore
- version: d3107576ba9425fc1c85f4b3569c4631b805a02e
-- name: github.com/urfave/cli
- version: 693af58b4d51b8fcc7f9d89576da170765980581
-- name: github.com/whyrusleeping/gx
- version: ca314b1e9e6be0432e50a30737c0e0720e67dd0f
- subpackages:
- - gxutil
-- name: github.com/whyrusleeping/json-filter
- version: ff25329a9528f01c5175414f16cc0a6a162a5b8b
-- name: github.com/whyrusleeping/progmeter
- version: f3e57218a75b913eff88d49a52c1debf9684ea04
-- name: github.com/whyrusleeping/stump
- version: 206f8f13aae1697a6fc1f4a55799faf955971fc5
-- name: github.com/whyrusleeping/tar-utils
- version: 8c6c8ba81d5c71fd69c0f48dbde4b2fb422b6dfc
-- name: golang.org/x/crypto
- version: a5d413f7728c81fb97d96a2b722368945f651e78
- subpackages:
- - blake2s
- - ed25519
- - ed25519/internal/edwards25519
- - sha3
-- name: golang.org/x/sys
- version: f49334f85ddcf0f08d7fb6dd7363e9e6d6b777eb
- subpackages:
- - cpu
- - unix
- - windows
-testImports: []
diff --git a/testing/gx/glide.yaml b/testing/gx/glide.yaml
deleted file mode 100644
index dea832a0ea8..00000000000
--- a/testing/gx/glide.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
-package: src/github.com/whyrusleeping/gx
-import:
-- package: github.com/blang/semver
-- package: github.com/ipfs/go-ipfs-api
-- package: github.com/mitchellh/go-homedir
-- package: github.com/multiformats/go-multiaddr
-- package: github.com/multiformats/go-multiaddr-net
-- package: github.com/multiformats/go-multihash
-- package: github.com/sabhiram/go-gitignore
-- package: github.com/urfave/cli
-- package: github.com/whyrusleeping/gx
- subpackages:
- - gxutil
-- package: github.com/whyrusleeping/json-filter
-- package: github.com/whyrusleeping/progmeter
-- package: github.com/whyrusleeping/stump
diff --git a/testing/gyp/APKBUILD b/testing/gyp/APKBUILD
deleted file mode 100644
index dd21e6af556..00000000000
--- a/testing/gyp/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=gyp
-pkgver=20190716
-_commit=fcd686f1880fa52a1ee78d3e98af1b88cb334528
-pkgrel=4
-pkgdesc="Generate Your Projects Meta-Build system"
-options="!check" # Tests currently fail
-url="https://gyp.gsrc.io"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 ninja"
-makedepends="py3-setuptools"
-source="https://github.com/chromium/gyp/archive/$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --root="$pkgdir"
-}
-
-cleanup_srcdir() {
- [ -d src ] && chmod -R +w src
- default_cleanup_srcdir
-}
-
-sha512sums="df0f97d44d37f2055885ecfe9b72db407cc537bb3c309537fa9a206807fd2e25ea3bda8a900fb81dbd12489eb5e806f2aead5e37c32e8c6d7c531735e3439069 fcd686f1880fa52a1ee78d3e98af1b88cb334528.tar.gz"
diff --git a/testing/h1-cli/APKBUILD b/testing/h1-cli/APKBUILD
deleted file mode 100644
index 05292847c68..00000000000
--- a/testing/h1-cli/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Adam Dobrawy <a.dobrawy@hyperone.com>
-# Maintainer: HyperOne staff <pkg-maintainers@hyperone.com>
-pkgname=h1-cli
-_pkgname=${pkgname/-cli/}
-pkgver=1.8.1
-pkgrel=0
-pkgdesc="Command-line interface for HyperOne platform"
-url="https://www.hyperone.com/tools/cli/"
-arch="x86_64"
-license="MIT"
-depends="openssh-client"
-makedepends="nodejs npm"
-subpackages="rbx-cli:rbx"
-source="$pkgname-$pkgver.tar.gz::https://github.com/hyperonecom/$pkgname/archive/v$pkgver.tar.gz"
-options="!strip !check"
-
-build() {
- npm install
- npx pkg -c ./package.json -t "node12-alpine" -o "./dist/h1" "./bin/h1"
- npx pkg -c ./package.json -t "node12-alpine" -o "./dist/rbx" "./bin/rbx"
-}
-
-package() {
- mkdir -p "$pkgdir"/usr/bin
- cp "$builddir/dist/$_pkgname" "$pkgdir"/usr/bin/$_pkgname
-}
-
-rbx() {
- pkgdesc="Command-line interface for Rootbox platform"
- url="http://rootbox.com/"
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/bin
- cp "$builddir/dist/rbx" "$subpkgdir"/usr/bin/rbx
-}
-
-sha512sums="f5ce8f53e542e08de9edbaf71229580a86945fd68cbc62e49031e130db53bc664646b2c3384c317cee113972c665f79a3566943ac6b1b96e138c099b897a2500 h1-cli-1.8.1.tar.gz"
diff --git a/testing/h26forge/APKBUILD b/testing/h26forge/APKBUILD
new file mode 100644
index 00000000000..02773f2f8a1
--- /dev/null
+++ b/testing/h26forge/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Adam Jensen <adam@acj.sh>
+# Maintainer: Adam Jensen <adam@acj.sh>
+pkgname=h26forge
+pkgver=0.1.0_git20231031
+# Project does not have semver-style releases yet
+_release_tag=latest-8dde7ec
+pkgrel=0
+pkgdesc="Analyze, generate, and manipulate syntactically correct but semantically spec-non-compliant video files"
+url="https://github.com/h26forge/h26forge"
+arch="x86_64 aarch64" # dependency crates fail to build on other arches
+license="MIT"
+makedepends="cargo cargo-auditable clang-dev"
+source="$pkgname-$_release_tag.tar.gz::https://github.com/h26forge/h26forge/archive/refs/tags/$_release_tag.tar.gz"
+builddir="$srcdir/$pkgname-$_release_tag"
+
+build() {
+ cargo auditable build --release
+}
+
+check() {
+ cargo test --release
+}
+
+package() {
+ install -Dm755 target/release/"$pkgname" -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+f5a3d9b84449388f705f399fd7a7ebba75b3f30b4ca6c0b54ca740e2dceb3583e75a77c8a5e98c6a4e49792e179900a19d5499aefd9324edae5d557aa157466e h26forge-latest-8dde7ec.tar.gz
+"
diff --git a/testing/h4h5tools/APKBUILD b/testing/h4h5tools/APKBUILD
new file mode 100644
index 00000000000..5caf23cee8b
--- /dev/null
+++ b/testing/h4h5tools/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=h4h5tools
+pkgver=2.2.5
+pkgrel=2
+pkgdesc="Conversion utilities between hdf4 and hdf5"
+url="https://support.hdfgroup.org/products/hdf5_tools/h4toh5/"
+arch="all !riscv64" # limited by hdf4
+license="custom"
+depends_dev="hdf4-dev hdf5-dev zlib-dev portablexdr-dev jpeg-dev"
+makedepends="$depends_dev"
+subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
+source="https://support.hdfgroup.org/ftp/HDF5/releases/h4toh5/h4toh5-$pkgver/src/h4h5tools-$pkgver.tar.gz
+ h4h5tools-format-security-fix.patch
+ "
+options="!check" # Upstream tests appear broken
+
+build() {
+ export LIBS="$LIBS -ldf -lmfhdf -lz -lportablexdr -ljpeg"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/"$pkgname"/COPYING
+}
+
+sha512sums="
+1749c5d4383695296fcc79dc900c2d04be267f01cfb006be8fd0f4baf0e6d51a04d788c76881fedba3d06ad2bf440a0dbceeb98d8b02b5ceade520900a726d40 h4h5tools-2.2.5.tar.gz
+4ca99d14733299892e4c6f8815b761078dad2bbccae34fcff6747ebb230580ecddcf93e5d342cd454d579e37073f1f3437e3ac5a769064119484e90db2b93b80 h4h5tools-format-security-fix.patch
+"
diff --git a/testing/h4h5tools/h4h5tools-format-security-fix.patch b/testing/h4h5tools/h4h5tools-format-security-fix.patch
new file mode 100644
index 00000000000..632a54e9da5
--- /dev/null
+++ b/testing/h4h5tools/h4h5tools-format-security-fix.patch
@@ -0,0 +1,46 @@
+From 42386fc3b0a4ef66baeeaba9e028e6d757a1548f Mon Sep 17 00:00:00 2001
+From: Angel de Vicente <angel.de.vicente@iac.es>
+Date: Sat, 9 Oct 2021 00:56:40 +0100
+Subject: [PATCH] fixed compiling error
+
+---
+ utils/h5toh4/h5toh4.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/utils/h5toh4/h5toh4.c b/utils/h5toh4/h5toh4.c
+index edb5300..dbc0fcf 100644
+--- a/utils/h5toh4/h5toh4.c
++++ b/utils/h5toh4/h5toh4.c
+@@ -302,7 +302,7 @@ main(int argc, char *argv[])
+ {
+ (void) fprintf(stderr, err1, argc);
+ PrintOptions_h5toh4();
+- (void) fprintf(stderr, err4);
++ (void) fprintf(stderr, "%s", err4);
+ return EXIT_FAILURE;
+ }
+
+@@ -317,7 +317,7 @@ main(int argc, char *argv[])
+ if ((token = gtoken(argv[i])) == TOK_ERR)
+ {
+ PrintOptions_h5toh4();
+- (void) fprintf(stderr, err4);
++ (void) fprintf(stderr, "%s", err4);
+ return EXIT_FAILURE;
+ }
+
+@@ -359,9 +359,9 @@ main(int argc, char *argv[])
+
+ case TOK_ERR: /* command syntax error */
+ default:
+- (void) fprintf(stderr, err2);
++ (void) fprintf(stderr, "%s", err2);
+ PrintOptions_h5toh4();
+- (void) fprintf(stderr, err4);
++ (void) fprintf(stderr, "%s", err4);
+ return EXIT_FAILURE;
+ }
+ }
+--
+2.33.0
+
diff --git a/testing/habitctl/APKBUILD b/testing/habitctl/APKBUILD
new file mode 100644
index 00000000000..542d217f646
--- /dev/null
+++ b/testing/habitctl/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=habitctl
+pkgver=0.1.0
+pkgrel=2
+pkgdesc="Minimalist command line tool to track and examine habits"
+url="https://github.com/blinry/habitctl"
+arch="aarch64 armhf armv7 ppc64le x86 x86_64" # limited by rust/cargo
+license="GPL-2.0-or-later"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/blinry/$pkgname/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests provided
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -D -m755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+7fddd078804d863f2bedc442db558b49d506381438ed2af7ca1197799d6135fd4e3ae3d9afc1203b48f78c6e2bc89a628fa6894352f5730e46d7ca84880eefa7 habitctl-0.1.0.tar.gz
+"
diff --git a/testing/hackrf/APKBUILD b/testing/hackrf/APKBUILD
deleted file mode 100644
index e73125a13e8..00000000000
--- a/testing/hackrf/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=hackrf
-pkgver=2021.03.1
-pkgrel=1
-pkgdesc="Driver for HackRF, allowing general purpose software defined radio"
-url="https://github.com/mossmann/hackrf"
-arch="all"
-license="GPL-2.0-only"
-options="!check" # no test suite
-makedepends="libusb-dev fftw-dev cmake"
-subpackages="
- $pkgname-static
- $pkgname-dev
- $pkgname-firmware:firmware:noarch
- $pkgname-libs
- "
-source="$pkgname-$pkgver.tar.xz::https://github.com/mossmann/hackrf/releases/download/v$pkgver/hackrf-$pkgver.tar.xz"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- host
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-firmware() {
- pkgdesc="$pkgdesc (firmware)"
-
- find "$builddir/firmware-bin" -type f -exec install -Dm644 -t "$subpkgdir/usr/share/hackrf/" {} \;
-}
-
-sha512sums="
-4a88b877a9f6fee0c8d9496eb265655af4baa678e862ca6147596cd3a1d85dd50315da6531efa54d050847ce5068c4726393b4897d40576888d10a898ad57139 hackrf-2021.03.1.tar.xz
-"
diff --git a/testing/halp/APKBUILD b/testing/halp/APKBUILD
new file mode 100644
index 00000000000..25a942a1feb
--- /dev/null
+++ b/testing/halp/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=halp
+pkgver=0.1.7
+pkgrel=1
+pkgdesc="A CLI tool to get help with CLI tools"
+url="https://github.com/orhun/halp"
+# s390x, ppc64le, riscv64: blocked by ring crate
+arch="all !s390x !ppc64le !riscv64"
+license="MIT OR Apache-2.0"
+makedepends="cargo cargo-auditable"
+checkdepends="util-linux"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/orhun/halp/archive/v$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+ mkdir -p man
+ OUT_DIR=man/ "./target/release/$pkgname-mangen"
+ mkdir -p completions
+ OUT_DIR=completions/ "./target/release/$pkgname-completions"
+}
+
+check() {
+ OUT_DIR=target cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 "man/$pkgname.1" -t "$pkgdir/usr/share/man/man1"
+ install -Dm 644 "completions/$pkgname.bash" "$pkgdir/usr/share/bash-completion/completions/$pkgname"
+ install -Dm 644 "completions/$pkgname.fish" -t "$pkgdir/usr/share/fish/vendor_completions.d"
+ install -Dm 644 "completions/_$pkgname" -t "$pkgdir/usr/share/zsh/site-functions"
+}
+
+sha512sums="
+6f30e87464c85c6c1d25d9a8e45fba0b245acdb2deab076d8f5306ee8b396fd9b55725277ed889ff3a8574acd9b3c82d19c7ac61469d5eac84a91e3b477090bf halp-0.1.7.tar.gz
+"
diff --git a/testing/hamlib/APKBUILD b/testing/hamlib/APKBUILD
deleted file mode 100644
index 5a166a23e9a..00000000000
--- a/testing/hamlib/APKBUILD
+++ /dev/null
@@ -1,62 +0,0 @@
-# Contributor: Bradford D. Boyle <bradford.d.boyle@gmail.com>
-# Maintainer: Bradford D. Boyle <bradford.d.boyle@gmail.com>
-pkgname=hamlib
-pkgver=4.4
-pkgrel=1
-pkgdesc="Library to control radio transceivers and receivers"
-url="https://hamlib.github.io/"
-arch="all"
-license="LGPL-2.0-or-later"
-makedepends="linux-headers perl-dev python3-dev swig tcl-dev chrpath libusb-dev"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-perl py3-$pkgname:py3 $pkgname-tcl"
-source="https://github.com/Hamlib/Hamlib/releases/download/$pkgver/hamlib-$pkgver.tar.gz"
-
-build() {
- ./configure \
- PYTHON=/usr/bin/python3 \
- --prefix=/usr \
- --sbindir=/usr/bin \
- --with-perl-binding \
- --with-python-binding \
- --with-tcl-binding
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- rm -f "$pkgdir"/usr/lib/*.a
- rm -f "$pkgdir"/usr/lib/tcl8.6/Hamlib/hamlibtcl.a
-}
-
-perl() {
- pkgdesc="Perl bindings for $pkgname"
- depends="perl"
-
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/perl5 "$subpkgdir"/usr/lib/
-
- # fix perl module location
- cd "$subpkgdir"/usr/lib/perl5/site_perl/
- mkdir current
- mv auto current
- mv Hamlib.pm current
- rm perltest.pl
-
- chrpath --delete "$subpkgdir"/usr/lib/perl5/site_perl/current/auto/Hamlib/Hamlib.so
-}
-
-py3() {
- pkgdesc="Python3 bindings for $pkgname"
- depends="python3"
-
- amove usr/lib/python3*
-}
-
-tcl() {
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/tcl8.6 "$subpkgdir"/usr/lib/
-}
-
-sha512sums="
-37366ba180031de34da447c3d4e0086f156b893f57b5ab9bbc38b8e1f4bf9310fa1a9eb2a6d7884f1f11900dbdb811b4071e023aba571ea0ac5d07ddb122bf7b hamlib-4.4.tar.gz
-"
diff --git a/testing/hamster-time-tracker/APKBUILD b/testing/hamster-time-tracker/APKBUILD
new file mode 100644
index 00000000000..0637d26f21f
--- /dev/null
+++ b/testing/hamster-time-tracker/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: Hakan Erduman <hakan@erduman.de>
+# Maintainer: Hakan Erduman <hakan@erduman.de>
+pkgname=hamster-time-tracker
+pkgver=3.0.3
+pkgrel=2
+pkgdesc="time tracking for individuals"
+url="https://github.com/projecthamster/hamster"
+arch="noarch"
+license="GPL-3.0-or-later"
+makedepends="
+ intltool
+ itstool
+ "
+checkdepends="
+ dbus-x11
+ xvfb-run
+ "
+depends_doc="
+ yelp
+ "
+depends="
+ gsettings-desktop-schemas
+ gtk+3.0
+ py3-cairo
+ py3-dbus
+ py3-gobject3
+ py3-xdg
+ python3
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/projecthamster/hamster/archive/refs/tags/v$pkgver.tar.gz
+ no-version-check.patch
+ "
+builddir="$srcdir/hamster-$pkgver"
+subpackages="
+ $pkgname-pyc
+ $pkgname-lang
+ $pkgname-doc
+ $pkgname-bash-completion
+ "
+
+build() {
+ python3 ./waf configure --skip-gsettings --skip-icon-cache-update
+ python3 ./waf build
+}
+
+package() {
+ python3 ./waf install --destdir="$pkgdir"
+ install -Dm644 -t "$pkgdir"/usr/share/glib-2.0/schemas ./data/org.gnome.hamster.gschema.xml
+}
+
+check() {
+ export XDG_RUNTIME_DIR="$builddir"
+ export GSETTINGS_SCHEMA_DIR="$builddir/schemas"
+ install -Dm644 -t "$builddir/schemas" ./data/org.gnome.hamster.gschema.xml
+ glib-compile-schemas "$builddir/schemas"
+ dbus-run-session xvfb-run python3 -m unittest
+}
+
+sha512sums="
+50f15ed22d87bce2dc8fd36f14826916d156eebe4ce0f9166541246d53a97e63b6875bfbcd83de1cda362035f23084a0ef2291f5c04364cd9acb0d7484ae05ff hamster-time-tracker-3.0.3.tar.gz
+9a1e1b6fee41f38b6635d44521b1ad2723d834dd3f222ab3701b84c78906963f3d862190b5317a9fb6985715c17afbba0f1992661d29a501924c0744d71892e7 no-version-check.patch
+"
diff --git a/testing/hamster-time-tracker/no-version-check.patch b/testing/hamster-time-tracker/no-version-check.patch
new file mode 100644
index 00000000000..6622993254c
--- /dev/null
+++ b/testing/hamster-time-tracker/no-version-check.patch
@@ -0,0 +1,24 @@
+our py3-dbus is way newer, and their check depends on the removed distutils
+
+
+diff --git a/src/hamster/client.py b/src/hamster/client.py
+index 8a0c297..ab3d3ba 100644
+--- a/src/hamster/client.py
++++ b/src/hamster/client.py
+@@ -27,3 +27,2 @@ import sys
+ from calendar import timegm
+-from distutils.version import LooseVersion
+ from gi.repository import GObject as gobject
+@@ -44,12 +43,2 @@ from hamster.lib import datetime as dt
+
+-# bug fixed in dbus-python 1.2.14 (released on 2019-11-25)
+-assert not (
+- sys.version_info >= (3, 8)
+- and LooseVersion(dbus.__version__) < LooseVersion("1.2.14")
+- ), """python3.8 changed str(<dbus integers>).
+- That broke hamster (https://github.com/projecthamster/hamster/issues/477).
+- Please upgrade to dbus-python >= 1.2.14.
+- """
+-
+-
+ class Storage(gobject.GObject):
diff --git a/testing/handbrake/APKBUILD b/testing/handbrake/APKBUILD
deleted file mode 100644
index 2637b61baa5..00000000000
--- a/testing/handbrake/APKBUILD
+++ /dev/null
@@ -1,115 +0,0 @@
-# Maintainer: Nathan Angelacos <nangel@alpinelinux.org>
-pkgname=handbrake
-_pkgname=HandBrake
-pkgver=1.4.2
-pkgrel=0
-pkgdesc="Handbrake video transcoder"
-url="https://handbrake.fr"
-arch="all !s390x !mips !mips64"
-license="GPL-2.0-only"
-makedepends="
- autoconf
- automake
- cmake
- coreutils
- dav1d-dev
- dbus-glib-dev
- fdk-aac-dev
- ffmpeg-dev
- fontconfig-dev
- freetype-dev
- fribidi-dev
- glib-dev
- gst-plugins-base-dev
- gtk+3.0-dev
- intltool
- jansson-dev
- lame-dev
- libass-dev
- libbluray-dev
- libbz2
- libdvdnav-dev
- libdvdread-dev
- libgudev-dev
- libnotify-dev
- libogg-dev
- libtheora-dev
- libtool
- libvorbis-dev
- libvpx-dev
- linux-headers
- meson
- nasm
- numactl-dev
- opus-dev
- python3
- speex-dev
- tinyxml-dev
- x264-dev
- x265-dev
- xz-dev
- yasm
- zlib-dev
- zimg-dev
- "
-subpackages="$pkgname-lang $pkgname-gtk"
-source="https://github.com/HandBrake/HandBrake/releases/download/$pkgver/HandBrake-$pkgver-source.tar.bz2
- handbrake-9999-remove-dvdnav-dup.patch
- fix-missing-x265-link-flag.patch
- "
-builddir="$srcdir/$_pkgname-$pkgver"
-options="!check"
-
-case "$CARCH" in
- # Enable support HW acceleration on Intel GPUs (Quick Sync Video).
- x86_64)
- makedepends="$makedepends intel-media-sdk-dev"
- _conf_flags='--enable-qsv'
- ;;
- *) _conf_flags='--disable-qsv';;
-esac
-
-# This is a video transcoder, performance is the most important.
-export CFLAGS=${CFLAGS/-Os/}
-export CXXFLAGS=${CXXFLAGS/-Os/}
-export CPPFLAGS=${CPPFLAGS/-Os/}
-
-prepare() {
- default_prepare
-
- # build against external libs
- sed -i 's:.*contrib/.*::g' \
- make/include/main.defs
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --force \
- --verbose \
- --disable-nvenc \
- --enable-numa \
- --enable-x265 \
- --disable-df-fetch \
- --disable-gtk-update-checks \
- $_conf_flags
-
- make -C build
-}
-
-package() {
- make -C build -j1 install DESTDIR="$pkgdir"
-}
-
-gtk() {
- pkgdesc="HandBrake Video Transcoder - GUI"
-
- amove usr/bin/ghb
- amove usr/share
-}
-
-sha512sums="
-ba8ffe01cd813e9991716eabb2844e1ed414e3a2c547154b89588389e96846af9f2dd47f66d735101fdacd5be1928e34e4bab31e6a189779e77001ffdb0b427e HandBrake-1.4.2-source.tar.bz2
-a3d57dd37d518286a62554cfcc4722d6fd588a0c3966d30785100edc4476febb2b48fc4f9b2a7eb5b5dc049043fabd4398e1e190e10cbd63c25b2936824977d3 handbrake-9999-remove-dvdnav-dup.patch
-a930a00f0d4627dda87fed8b00533f1c531998b8b04bd2323121874115d43e2ab63ed431a98f4ae247c0ee3fa9161d31e6de3413e52c9428844cc81bc215570c fix-missing-x265-link-flag.patch
-"
diff --git a/testing/handbrake/fix-missing-x265-link-flag.patch b/testing/handbrake/fix-missing-x265-link-flag.patch
deleted file mode 100644
index 0e43023630a..00000000000
--- a/testing/handbrake/fix-missing-x265-link-flag.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Patch-Source: https://github.com/void-linux/void-packages/blob/e7116617abefe5b09afceec30682bfe985f6a394/srcpkgs/handbrake/patches/fix-missing-x265-link-flag.patch
-
---- a/gtk/configure.ac
-+++ b/gtk/configure.ac
-@@ -203,7 +203,7 @@
-
- AM_CONDITIONAL([MINGW], [test "x$mingw_flag" = "xyes"])
-
--HB_LIBS="$HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -lturbojpeg -llzma -lzimg"
-+HB_LIBS="$HB_LIBS -lhandbrake -lavformat -lavfilter -lavcodec -lavutil -ldav1d -lswresample -lpostproc -ldvdnav -ldvdread -lmp3lame -lvorbis -lvorbisenc -logg -lswscale -ltheoraenc -ltheoradec -lvpx -lz -lbz2 -lbluray -lass -lfontconfig -lfreetype -lxml2 -ljansson -lopus -lspeex -lturbojpeg -llzma -lzimg -ldl"
- HB_CPPFLAGS="$HB_CPPFLAGS $HBINC"
-
- PKG_CHECK_MODULES([x264], [x264], sys_x264=yes, sys_x264=no)
---- a/test/module.defs
-+++ b/test/module.defs
-@@ -69,6 +69,9 @@
- ifeq (1, $(FEATURE.numa))
- TEST.GCC.l += numa
- endif
-+ifeq (1, $(FEATURE.x265))
-+ TEST.GCC.l += x265
-+endif
- else ifeq ($(HOST.system),kfreebsd)
- TEST.GCC.l += pthread dl m
- else ifneq (,$(filter $(HOST.system),freebsd netbsd))
diff --git a/testing/handbrake/handbrake-9999-remove-dvdnav-dup.patch b/testing/handbrake/handbrake-9999-remove-dvdnav-dup.patch
deleted file mode 100644
index 8f4ddbb3bb7..00000000000
--- a/testing/handbrake/handbrake-9999-remove-dvdnav-dup.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./libhb/dvdnav.c 2013-05-05 16:14:10.265388521 +0200
-+++ ./libhb/dvdnav.c.2 2013-05-05 16:14:18.325388471 +0200
-@@ -1225,16 +1225,7 @@
- {
- for (kk = 0; kk < buttons; kk++)
- {
-- dvdnav_t *dvdnav_copy;
--
-- result = dvdnav_dup( &dvdnav_copy, d->dvdnav );
-- if (result != DVDNAV_STATUS_OK)
-- {
-- hb_log("dvdnav dup failed: %s", dvdnav_err_to_string(d->dvdnav));
-- goto done;
-- }
-- title = try_button( dvdnav_copy, kk, list_title );
-- dvdnav_free_dup( dvdnav_copy );
-+ title = try_button( d->dvdnav, kk, list_title );
-
- if ( title >= 0 )
- {
diff --git a/testing/handlebars/APKBUILD b/testing/handlebars/APKBUILD
index 3c98bfb5034..f0da360e978 100644
--- a/testing/handlebars/APKBUILD
+++ b/testing/handlebars/APKBUILD
@@ -2,23 +2,33 @@
# Maintainer: Rafael del Valle <rvalle@privaz.io>
pkgname=handlebars
_pkgname=handlebars.c
-pkgver=0.7.3
-pkgrel=0
-_mustachespec_ver="1.1.3"
-_handlebarsspec_ver="4.0.5-p1"
+pkgver=1.0.0
+pkgrel=1
+_mustachespec_ver="83b0721610a4e11832e83df19c73ace3289972b9"
+_handlebarsspec_ver="3eb919f19988f37a539779c08342d2ce50aa75d0"
pkgdesc="C implementation of handlebars.js"
url="https://github.com/jbboehr/handlebars.c"
license="LGPL-2.1-or-later"
-arch="all !armv7 !mips !mips64"
-makedepends="autoconf automake bison check-dev flex json-c-dev libtool lmdb-dev
- pcre-dev talloc-dev yaml-dev"
+arch="all !armv7"
+makedepends="
+ autoconf
+ automake
+ bison
+ check-dev
+ flex
+ json-c-dev
+ libtool
+ pcre-dev
+ talloc-dev
+ yaml-dev
+ "
subpackages="$pkgname-dev $pkgname-utils"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/jbboehr/$_pkgname/archive/v$pkgver.tar.gz
- mustache-spec-$_mustachespec_ver.tar.gz::https://github.com/mustache/spec/archive/v$_mustachespec_ver.tar.gz
- handlebars-spec-$_handlebarsspec_ver.tar.gz::https://github.com/jbboehr/handlebars-spec/archive/v$_handlebarsspec_ver.tar.gz
- test_lmdb_cache.patch
+source="$_pkgname-$pkgver.tar.gz::https://github.com/jbboehr/handlebars.c/archive/v$pkgver.tar.gz
+ mustache-spec-$_mustachespec_ver.tar.gz::https://github.com/mustache/spec/archive/$_mustachespec_ver.tar.gz
+ handlebars-spec-$_handlebarsspec_ver.tar.gz::https://github.com/jbboehr/handlebars-spec/archive/$_handlebarsspec_ver.tar.gz
"
builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # bunch of off-by-one talloc failures
prepare() {
mkdir -p spec
@@ -49,11 +59,11 @@ package() {
utils() {
pkgdesc="Handlebars command line utilities"
- mkdir -p "$subpkgdir"/usr
- mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+ amove usr/bin
}
-sha512sums="a5bc93640bdea502bcbb2a1648d2e28b16c3f3ba7c3fb89826a1f0876c5d778a42d760f715b91d225d6c8b8c8f079b2cc3b0420c80e3113f3d4039949ec24b39 handlebars.c-0.7.3.tar.gz
-801a9cbf8a39080b183b20fbf327b420bcd6ed162bb58165dabafeb45fae277a9da506b6639ee7b955f6c206f0b8826d39588a43ffd86ab5ef4be6e9be2bc842 mustache-spec-1.1.3.tar.gz
-81f0ff5ffc2d6b72465bdcbd2325d022faf73ec79586f3d8dfb07b7a6ec9147280872a82184b8d7ecdd8b22611b6b420c02ab437794bcd0aba67d2bf2082bc5d handlebars-spec-4.0.5-p1.tar.gz
-6cdfae1356019c06ce993cba9c5091713e51f22b21f3572aaa2b2d4b1b18cf68f120f1fcb93822a118352e2885bd4c20635ea22aedb31a438e43dc40a6be581a test_lmdb_cache.patch"
+sha512sums="
+37f39db59253a9b8283441cfdec1b3bf5b2a7590c9d55b28679d7115e68ea1dae25b8008e3f443f3a5aa811e3c179ea76f6e70de28849099093f2867a133013d handlebars.c-1.0.0.tar.gz
+edc5cfeba455b932ea2732a19a7016ad84b9fb8bb8d7b0ee71c79f155c298620cce06e548d3c7adc297a69b7a2c85be2519ea4073d05c3519930d3bae0b022ba mustache-spec-83b0721610a4e11832e83df19c73ace3289972b9.tar.gz
+b8adb3ce8b6be1cc1e130fa3728d4f20b5a77e9773ccae9d91e2c161dad5356a23e2b531b56fe1da22846e93d2a94ebc32c70c144c9a2680914104bb4d8163fb handlebars-spec-3eb919f19988f37a539779c08342d2ce50aa75d0.tar.gz
+"
diff --git a/testing/handlebars/test_lmdb_cache.patch b/testing/handlebars/test_lmdb_cache.patch
deleted file mode 100644
index dfc73681d54..00000000000
--- a/testing/handlebars/test_lmdb_cache.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-reported upstream: https://github.com/jbboehr/handlebars.c/issues/71
-
-diff --git a/tests/test_cache.c b/tests/test_cache.c
-index bc010fd..45be590 100644
---- a/tests/test_cache.c
-+++ b/tests/test_cache.c
-@@ -275,7 +275,7 @@ Suite * parser_suite(void)
- REGISTER_TEST_FIXTURE(s, test_simple_cache_reset, "Simple Cache (Reset)");
- #ifdef HAVE_LIBLMDB
- REGISTER_TEST_FIXTURE(s, test_lmdb_cache_gc, "LMDB Cache (GC)");
-- REGISTER_TEST_FIXTURE(s, test_lmdb_cache_reset, "LMDB Cache (Reset)");
-+// REGISTER_TEST_FIXTURE(s, test_lmdb_cache_reset, "LMDB Cache (Reset)");
- #else
- REGISTER_TEST_FIXTURE(s, test_lmdb_cache_error, "LMDB Cache (Error)");
- #endif
diff --git a/testing/hangover-wine/APKBUILD b/testing/hangover-wine/APKBUILD
new file mode 100644
index 00000000000..1eac62e23a1
--- /dev/null
+++ b/testing/hangover-wine/APKBUILD
@@ -0,0 +1,133 @@
+# Maintainer: André Zwing <nerv@dawncrow.de>
+pkgname=hangover-wine
+pkgver=9.5
+pkgrel=0
+pkgdesc="Hangover runs simple Win32 applications on arm64 Linux"
+url="https://github.com/AndreRH/hangover/"
+# Wine already exist for x86_64 and x86, and Hangover is more advantageous on aarch64
+arch="aarch64"
+license="LGPL-2.0-or-later"
+depends="
+ libxi
+ libxrandr
+ "
+depends_dev="$pkgname perl"
+makedepends="
+ alsa-lib-dev
+ autoconf
+ automake
+ bison
+ clang17
+ cups-dev
+ dbus-dev
+ flex-dev
+ fontconfig-dev
+ freetype-dev
+ gnutls-dev
+ gstreamer-dev
+ gst-plugins-base-dev
+ krb5-dev
+ libgphoto2-dev
+ libpcap-dev
+ libusb-dev
+ libxcomposite-dev
+ libxcursor-dev
+ libxi-dev
+ libxinerama-dev
+ libxkbcommon-dev
+ libxrandr-dev
+ libxrender-dev
+ lld
+ llvm17
+ mesa-dev
+ ncurses-dev
+ opencl-dev
+ pcsc-lite-dev
+ pulseaudio-dev
+ sane-dev
+ sdl2-dev
+ udisks2-dev
+ v4l-utils-dev
+ vulkan-loader-dev
+ wayland-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc"
+checkdepends="xvfb-run"
+source="hangover-$pkgver.tar.gz::https://github.com/AndreRH/wine/archive/refs/tags/hangover-$pkgver.tar.gz
+ rpath.patch
+ "
+builddir="$srcdir/wine-hangover-$pkgver"
+options="textrels !check" # As of 2.0.3 most of the tests fails
+# ignore tracing something in a weird rpath just to silence a warning
+# no effect
+somask="ntdll.so win32u.so"
+
+prepare() {
+ default_prepare
+ # fix opencl header detection
+ sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
+}
+
+build() {
+ export CFLAGS="$CFLAGS -O2 -Wno-error=format-security"
+ export CXXFLAGS="$CXXFLAGS -O2 -Wno-error=format-security"
+ export CPPFLAGS="$CPPFLAGS -O2 -Wno-error=format-security"
+
+ # invalid to the msys linker
+ export LDFLAGS="${LDFLAGS/,-Wl,-z,pack-relative-relocs}"
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-dbus \
+ --with-mingw \
+ --with-x \
+ --with-vulkan \
+ --disable-box64cpu \
+ --enable-archs=aarch64,i386 \
+ "$(want_check || echo --disable-tests)"
+ make
+}
+
+check() {
+ xvfb-run make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -Dm755 tools/wineapploader \
+ "$pkgdir"/usr/bin/wineapploader
+
+ local file
+ for file in msiexec notepad regedit regsvr32 wineboot \
+ winecfg wineconsole winefile winemine winepath; do
+ rm -v "$pkgdir"/usr/bin/$file
+ ln -sfv /usr/bin/wineapploader "$pkgdir"/usr/bin/$file
+ done
+
+ llvm-strip --strip-unneeded "$pkgdir"/usr/lib/wine/*-windows/*.dll
+}
+
+dev() {
+ default_dev
+
+ local file
+ for file in widl wmc wrc winebuild winedump function_grep.pl \
+ winedbg winemaker winegcc winecpp wineg++; do
+ amove usr/bin/$file
+ done
+}
+
+doc() {
+ default_doc
+ rm -fr "$subpkgdir"/usr/share/man/*.UTF-8
+}
+sha512sums="
+4cef469a84d2fbf12ac85c3b4d7f7f531ebc48d7e07a5a9b5ce909582e37d34545c6ae969982da7188691443194d64077ec34159466cdee59c702aabf1d86f34 hangover-9.5.tar.gz
+9881abfd0e7e4589cd5724291f9ec06ccb9d88b842c69abb5ea7865b6c27c778a060e60a9776c3620a030555cf61b8cceded55db9f04d5e45d9c627306763bff rpath.patch
+"
diff --git a/testing/hangover-wine/rpath.patch b/testing/hangover-wine/rpath.patch
new file mode 100644
index 00000000000..b694468a27f
--- /dev/null
+++ b/testing/hangover-wine/rpath.patch
@@ -0,0 +1,57 @@
+diff --git a/configure b/configure
+index 296c3e4..e838871 100755
+--- a/configure
++++ b/configure
+@@ -10306,6 +10306,38 @@ then :
+ fi
+ ;;
+ esac
++
++ # do this at the end because it needs double dollar for makefile
++ as_ac_var=`printf "%s\n" "ac_cv_cflags_-Wl,-rpath,\\\\\\$ORIGIN" | $as_tr_sh`
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-rpath,\\\$ORIGIN" >&5
++printf %s "checking whether the compiler supports -Wl,-rpath,\\\$ORIGIN... " >&6; }
++if eval test \${$as_ac_var+y}
++then :
++ printf %s "(cached) " >&6
++else $as_nop
++ ac_wine_try_cflags_saved=$CFLAGS
++CFLAGS="$CFLAGS -Wl,-rpath,\\\$ORIGIN"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++int main(int argc, char **argv) { return 0; }
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++ eval "$as_ac_var=yes"
++else $as_nop
++ eval "$as_ac_var=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++ conftest$ac_exeext conftest.$ac_ext
++CFLAGS=$ac_wine_try_cflags_saved
++fi
++eval ac_res=\$$as_ac_var
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_var"\" = x"yes"
++then :
++ UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"
++fi
+ ;;
+ esac
+
+diff --git a/configure.ac b/configure.ac
+index 140f26a..02497c9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -784,6 +784,9 @@ case $host_os in
+ [WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
+ ;;
+ esac
++
++ # do this at the end because it needs double dollar for makefile
++ WINE_TRY_CFLAGS([-Wl,-rpath,\\\$ORIGIN],[UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"])
+ ;;
+ esac
+
diff --git a/testing/happy/APKBUILD b/testing/happy/APKBUILD
deleted file mode 100644
index 7ad98f71a59..00000000000
--- a/testing/happy/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: River Dillon <oss@outerpassage.net>
-# Maintainer: River Dillon <oss@outerpassage.net>
-pkgname=happy
-pkgver=1.20.0
-pkgrel=2
-pkgdesc="parser generator for Haskell"
-url="https://www.haskell.org/happy/"
-arch="x86_64" # limited by ghc
-license="BSD-2-Clause"
-makedepends="ghc libffi-dev"
-subpackages="$pkgname-doc"
-source="
- https://hackage.haskell.org/package/happy-$pkgver/happy-$pkgver.tar.gz
- https://www.haskell.org/happy/doc/happy-1.18.5-html.tar.gz
- "
-
-build() {
- runhaskell Setup.hs configure \
- "--prefix=/usr" \
- "--datasubdir=$pkgname" \
- "--docdir=\$datadir/doc/$pkgname" \
- "--enable-tests"
- runhaskell Setup.hs build -j "--ghc-options=-j -O1"
-}
-
-check() {
- runhaskell Setup.hs test
-}
-
-package() {
- runhaskell Setup.hs copy "--destdir=$pkgdir"
- docdir="usr/share/doc/$pkgname"
- rm "$pkgdir/$docdir/LICENSE" # no need to include a standard license
- install -Dm644 -t "$pkgdir/$docdir/html/" "$srcdir/$pkgname"/*
-}
-
-sha512sums="2c19e6e13032ead435495aab232192cf0ad9fe5e3e04c79b40b586272fb0208284815cf5c15d609f75387e7fe91ca0932b675bcaa95552f62ad08a12701649ce happy-1.20.0.tar.gz
-10d7e5b7c1fd6b60569c0eccbb148d8395eb5c479dc5c124e2de196872c11ae5e8af4d1d55ea24ed7eae35af27b16772468512f3fda4f571eefdce6639747871 happy-1.18.5-html.tar.gz"
diff --git a/testing/hardened-malloc/APKBUILD b/testing/hardened-malloc/APKBUILD
new file mode 100644
index 00000000000..b35cbccd9d5
--- /dev/null
+++ b/testing/hardened-malloc/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor:
+# Maintainer: Julien Voisin <julien.voisin@dustri.org>
+pkgname=hardened-malloc
+pkgver=12
+pkgrel=1
+pkgdesc="Hardened allocator designed for modern systems."
+url="https://github.com/GrapheneOS/hardened_malloc"
+arch="x86_64 aarch64"
+license="MIT"
+checkdepends="python3"
+source="$pkgname-$pkgver.tar.gz::https://github.com/GrapheneOS/hardened_malloc/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/${pkgname/-/_}-$pkgver"
+
+build() {
+ make VARIANT=light
+ make VARIANT=default
+
+}
+
+check() {
+ make test
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/lib/
+ install -m755 out/libhardened_malloc.so "$pkgdir"/usr/lib/
+ install -m755 out-light/libhardened_malloc-light.so "$pkgdir"/usr/lib/
+
+}
+
+sha512sums="
+d06c23c816058d02aec85d0e5e6fc1fe4ee23ab1406672793e2776c0dc706138c497709d636b10ba5758b69a26db438fd70d6fa302c4b2b9b237df9f202e867c hardened-malloc-12.tar.gz
+"
diff --git a/testing/hare-cairo/APKBUILD b/testing/hare-cairo/APKBUILD
new file mode 100644
index 00000000000..beec68f2d84
--- /dev/null
+++ b/testing/hare-cairo/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=hare-cairo
+pkgver=0_git20231112
+_commit=91e7381f29e57f58e4350b8c72b0dced289da364
+pkgrel=1
+pkgdesc="Hare interface to the cairo 2D graphics library"
+url="https://sr.ht/~une/hare-cairo"
+# Currently doesn't build on riscv64
+arch="x86_64 aarch64" # hare
+license="MPL-1.1"
+makedepends="hare"
+source="
+ $pkgname-codeberg-$_commit.tar.gz::https://codeberg.org/une/hare-cairo/archive/$_commit.tar.gz
+"
+builddir="$srcdir/$pkgname"
+
+build() {
+ make -j1 PREFIX=/usr
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+sha512sums="
+1ac40f5d4a7a2d2eaa11e37a068896d376a1c2c567fe3e9da9609ca59947f88e9579eadf25dcbbb2b6f26b24747e57a7507fa8fcf6553a36729471a70cf6311d hare-cairo-codeberg-91e7381f29e57f58e4350b8c72b0dced289da364.tar.gz
+"
diff --git a/testing/hare-madeline/APKBUILD b/testing/hare-madeline/APKBUILD
new file mode 100644
index 00000000000..06f4917d3a1
--- /dev/null
+++ b/testing/hare-madeline/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=hare-madeline
+pkgver=0.1
+pkgrel=0
+pkgdesc="tiny readline-alike with some batteries included"
+url="https://git.d2evs.net/~ecs/madeline"
+arch="noarch"
+license="WTFPL"
+source="
+ $pkgname-$pkgver.tar.gz::https://git.d2evs.net/~ecs/madeline/archive/v$pkgver.tar.gz
+"
+subpackages="$pkgname-doc"
+builddir="$srcdir/madeline-v$pkgver"
+options="!check" # no tests
+
+package() {
+ install -dm755 "$pkgdir/usr/src/hare/third-party"
+ cp -Rd "graph" "made" "$pkgdir/usr/src/hare/third-party"
+
+ install -Dm644 -t "$pkgdir/usr/share/licenses/$pkgname" "LICENSE"
+ install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" "README"
+}
+
+sha512sums="
+00c4e48472f5d2e1428d9f4c7c905a00a6aab8c6f3ef9b3d2475e042640c86c9112acf745a84da44bbfe2a695fa25fc92d17083249fa647e1de7486099e19d25 hare-madeline-0.1.tar.gz
+"
diff --git a/testing/hare-scfg/APKBUILD b/testing/hare-scfg/APKBUILD
new file mode 100644
index 00000000000..007fee496b5
--- /dev/null
+++ b/testing/hare-scfg/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Francesco Camuffo <dev@fmac.xyz>
+# Contributor: fossdd <fossdd@pwned.life>
+# Maintainer: fossdd <fossdd@pwned.life>
+pkgname=hare-scfg
+pkgver=0.24.0
+pkgrel=0
+pkgdesc="scfg implementation for Hare"
+url="https://git.sr.ht/~chrisppy/hare-scfg"
+arch="noarch !armhf !armv7 !ppc64le !s390x !x86" # blocked by hare
+license="MPL-2.0"
+makedepends="hare"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~chrisppy/hare-scfg/archive/$pkgver.tar.gz"
+
+build() {
+ make -j1 PREFIX=/usr
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+30a1b4dd38f76cb82b91ee8b2bc230e889d34f82711214becde1bb5a133b4aafe1a020bfaf830255a1aa9a1020ed0603cd151a7ef4feb32ce33a38e74adab668 hare-scfg-0.24.0.tar.gz
+"
diff --git a/testing/hare-wayland/APKBUILD b/testing/hare-wayland/APKBUILD
new file mode 100644
index 00000000000..c0a2a7395d2
--- /dev/null
+++ b/testing/hare-wayland/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=hare-wayland
+pkgver=0_git20231129
+_commit=21ba2418387bd00221290b28e8056173a459fd4a
+pkgrel=0
+pkgdesc="Native Hare Wayland bindings"
+url="https://sr.ht/~sircmpwn/hare-wayland"
+arch="x86_64 aarch64 riscv64" # hare
+license="MPL-2.0"
+makedepends="hare hare-xml wayland-dev"
+source="
+ $pkgname-$_commit.tar.gz::https://git.sr.ht/~sircmpwn/hare-wayland/archive/$_commit.tar.gz
+"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ make -j1 PREFIX=/usr
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+sha512sums="
+05d86952b76c8a2d85fe384722e73eb67b0576789db7c47f7f5e2c12227ff2cd111743937e85acc37e2de7b5f455e27e0e2f41474f94caa500239fe68a679b9b hare-wayland-21ba2418387bd00221290b28e8056173a459fd4a.tar.gz
+"
diff --git a/testing/hare-xkb/APKBUILD b/testing/hare-xkb/APKBUILD
new file mode 100644
index 00000000000..570efb95661
--- /dev/null
+++ b/testing/hare-xkb/APKBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=hare-xkb
+pkgver=0_git20231011
+_commit=f26da188280caa8406d4d6345868f41021fdfdec
+pkgrel=0
+pkgdesc="Hare interface to the xkbcommon library"
+url="https://git.sr.ht/~stacyharper/hare-xkb"
+# Currently doesn't build on riscv64
+arch="x86_64 aarch64" # hare
+license="MPL-2.0"
+makedepends="hare"
+source="
+ $pkgname-$_commit.tar.gz::https://git.sr.ht/~stacyharper/hare-xkb/archive/$_commit.tar.gz
+"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ make -j1 PREFIX=/usr
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+9962b86e279892ce12e324fa8c68ffc5cbb3604ac153b787b1e27b4faf66b92411fc7d9dc27a27debd946f1eb9fbdfca6f711f803854872bd64ac772c5d5dd33 hare-xkb-f26da188280caa8406d4d6345868f41021fdfdec.tar.gz
+"
diff --git a/testing/haredo/APKBUILD b/testing/haredo/APKBUILD
new file mode 100644
index 00000000000..1664b82f5da
--- /dev/null
+++ b/testing/haredo/APKBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Umar Getagazov <umar@handlerug.me>
+pkgname=haredo
+pkgver=1.0.4
+pkgrel=1
+pkgdesc="Simple, Unix-idiomatic build automator"
+url="https://sr.ht/~autumnull/haredo"
+arch="x86_64 aarch64 riscv64" # Hare
+license="WTFPL"
+makedepends="hare scdoc"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~autumnull/haredo/archive/$pkgver.tar.gz"
+
+build() {
+ # https://todo.sr.ht/~sircmpwn/hare/784
+ unset LDFLAGS
+ ./bootstrap.sh
+}
+
+check() {
+ PATH="$builddir/bin:$PATH" haredo test
+}
+
+package() {
+ # TODO remove path overwrite when patch is applied
+ # https://lists.sr.ht/~autumnull/haredo-devel/patches/46957
+ PREFIX="$pkgdir"/usr PATH="$builddir/bin:$PATH" ./bootstrap.sh install
+}
+
+sha512sums="
+a2063c706291b8fdec2cee34983ca415d070d51fa1c7cd9cc843be232fecc7c6027c2376f209d6f7e00c332f5eda7b1b28988c0d7135d54e882c9342966566b0 haredo-1.0.4.tar.gz
+"
diff --git a/testing/hari/APKBUILD b/testing/hari/APKBUILD
new file mode 100644
index 00000000000..a053b03e383
--- /dev/null
+++ b/testing/hari/APKBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=hari
+pkgver=0_git20240126
+_commit=f4ea1c986fa7431710f203e3443c533cdc753285
+pkgrel=0
+pkgdesc="UI toolkit for Hare"
+url="https://git.sr.ht/~sircmpwn/hari"
+arch="noarch !armhf !ppc64le !s390x !armv7 !x86" # hare
+license="MPL-2.0"
+makedepends="hare"
+options="!check" # no test suite
+source="
+ $pkgname-$_commit.tar.gz::https://git.sr.ht/~sircmpwn/hari/archive/$_commit.tar.gz
+"
+builddir="$srcdir/$pkgname-$_commit"
+
+package() {
+ mkdir -p "$pkgdir"/usr/src/hare/third-party/
+ cp -r hari "$pkgdir"/usr/src/hare/third-party/
+}
+
+sha512sums="
+271377508a30d0202f81b3e4c757463cd17008635ae253c9588f6a37f16d1b1ed509213e4a5b440add5f0703a737cfdebd8b7a3304b2cb47d0b50a648ed419e3 hari-f4ea1c986fa7431710f203e3443c533cdc753285.tar.gz
+"
diff --git a/testing/harminv/APKBUILD b/testing/harminv/APKBUILD
index ac3d7b5d5c1..b6b0eb895c4 100644
--- a/testing/harminv/APKBUILD
+++ b/testing/harminv/APKBUILD
@@ -1,22 +1,16 @@
# Contributor: Isaac Dunham <ibid.ag@gmail.com>
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=harminv
-pkgver=1.4.1
-pkgrel=5
+pkgver=1.4.2
+pkgrel=1
pkgdesc="Free program to solve the problem of harmonic inversion"
-url="https://github.com/stevengj/harminv"
-arch="all !mips !mips64"
-license="GPL"
+url="https://github.com/NanoComp/harminv"
+arch="all"
+license="GPL-2.0-or-later"
depends_dev="openblas-dev>=0.3.0"
makedepends="$depends_dev gfortran"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
-source="harminv-$pkgver.tar.gz::https://github.com/stevengj/harminv/releases/download/v$pkgver/harminv-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
-}
+source="harminv-$pkgver.tar.gz::https://github.com/NanoComp/harminv/releases/download/v$pkgver/harminv-$pkgver.tar.gz"
build() {
./configure \
@@ -40,4 +34,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="30720804286e4d373bcaae5b1b8238748b3077bfd6e6afb98eba571d8acfd13d927b84d1f6ab2b975bd665063dfc533bd7a0d19f199bf51694c6d93f6c7c947c harminv-1.4.1.tar.gz"
+sha512sums="
+965c62970b66832877e9d17ee7ac67f1e2bba8efbd5aa431f17602d452fa0323a67c3f8f02c93606dc7cca160cdc335251f62903f44723d079378a7cd0a059ee harminv-1.4.2.tar.gz
+"
diff --git a/testing/hashcat/0001-fix-modules-path.patch b/testing/hashcat/0001-fix-modules-path.patch
new file mode 100644
index 00000000000..a10588057fb
--- /dev/null
+++ b/testing/hashcat/0001-fix-modules-path.patch
@@ -0,0 +1,33 @@
+diff --git a/src/Makefile b/src/Makefile
+index e538b6c28..bc741ea8b 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -532,9 +532,9 @@ install_kernels: install_shared
+
+ .PHONY: install_modules
+ install_modules: install_shared modules
+- $(INSTALL) -m 755 -d $(DESTDIR)$(SHARED_FOLDER)/modules
+- $(FIND) modules/ -mindepth 1 -type d -execdir $(INSTALL) -m 755 -d $(DESTDIR)$(SHARED_FOLDER)/modules/{} \;
+- $(FIND) modules/ -mindepth 1 -type f -execdir $(INSTALL) -m 644 {} $(DESTDIR)$(SHARED_FOLDER)/modules/{} \;
++ $(INSTALL) -m 755 -d $(DESTDIR)$(LIBRARY_FOLDER)/hashcat/modules
++ $(FIND) modules/ -mindepth 1 -type d -execdir $(INSTALL) -m 755 -d $(DESTDIR)$(LIBRARY_FOLDER)/hashcat/modules/{} \;
++ $(FIND) modules/ -mindepth 1 -type f -execdir $(INSTALL) -m 644 {} $(DESTDIR)$(LIBRARY_FOLDER)/hashcat/modules/{} \;
+
+ .PHONY: install_library
+ install_library: $(HASHCAT_LIBRARY)
+diff --git a/src/interface.c b/src/interface.c
+index d81b4ec97..5bf3e091a 100644
+--- a/src/interface.c
++++ b/src/interface.c
+@@ -21,9 +21,9 @@ int module_filename (const folder_config_t *folder_config, const int hash_mode,
+ {
+ // native compiled
+ #if defined (_WIN) || defined (__CYGWIN__)
+- return snprintf (out_buf, out_size, "%s/modules/module_%05d.dll", folder_config->shared_dir, hash_mode);
++ return snprintf (out_buf, out_size, "/usr/lib/hashcat/modules/module_%05d.dll", hash_mode);
+ #else
+- return snprintf (out_buf, out_size, "%s/modules/module_%05d.so", folder_config->shared_dir, hash_mode);
++ return snprintf (out_buf, out_size, "/usr/lib/hashcat/modules/module_%05d.so", hash_mode);
+ #endif
+ }
+
diff --git a/testing/hashcat/APKBUILD b/testing/hashcat/APKBUILD
new file mode 100644
index 00000000000..e4d639ccbbc
--- /dev/null
+++ b/testing/hashcat/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=hashcat
+pkgver=6.2.6
+pkgrel=0
+pkgdesc="World's fastest and most advanced password recovery utility"
+url="https://hashcat.net/hashcat/"
+arch="all !s390x" # compiling for big-endian architecture not supported
+license="MIT"
+makedepends="linux-headers findutils opencl-headers xxhash-dev zlib-dev minizip-dev"
+subpackages="$pkgname-doc"
+source="https://github.com/hashcat/hashcat/archive/v$pkgver/hashcat-$pkgver.tar.gz
+ 0001-fix-modules-path.patch"
+options="!check" # no checks provided
+
+build() {
+ make PREFIX="/usr" \
+ USE_SYSTEM_OPENCL=1 \
+ USE_SYSTEM_XXHASH=1 \
+ USE_SYSTEM_ZLIB=1
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX="/usr" install
+}
+
+sha512sums="
+b5e4f40fb5ed0a47977243e1f95bf1deae0b04bd5ca26338395305c42573fe5b17557835f6f5d8b7402812e8eadda2b260d6b927ce99429fd1b87eb26f002f8a hashcat-6.2.6.tar.gz
+9a58e709d69910f0f33cd7b0151b4709b78bd55b8592ad51e9bc5d41b807aaddaf87ed09102da3955f757a84349f59d7e06b073c6031b763418e3334da3de8a7 0001-fix-modules-path.patch
+"
diff --git a/testing/hatop/APKBUILD b/testing/hatop/APKBUILD
new file mode 100644
index 00000000000..558d2cc07af
--- /dev/null
+++ b/testing/hatop/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=hatop
+pkgver=0.8.2
+pkgrel=0
+pkgdesc="Interactive ncurses client for HAProxy"
+url="https://github.com/jhunt/hatop"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="python3"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jhunt/hatop/archive/v$pkgver.tar.gz"
+options="!check" #test script requires docker
+
+package() {
+ install -Dm755 "$builddir"/bin/hatop -t "$pkgdir"/usr/bin/
+ install -Dm644 "$builddir"/man/hatop.1 -t "$pkgdir"/usr/share/man/man1/
+}
+
+sha512sums="
+5e772394d72962bdd014f93ee94ea59814cee33e17c1864af5b3ec97a19c2c33a6ad13f24d0cf0baf78335d9a82cee28b60a03754430b0aa9132c1dd92753cdb hatop-0.8.2.tar.gz
+"
diff --git a/testing/havoc/APKBUILD b/testing/havoc/APKBUILD
deleted file mode 100644
index c27f4b04143..00000000000
--- a/testing/havoc/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=havoc
-pkgver=0.3.1
-pkgrel=0
-pkgdesc="terminal emulator for Wayland"
-arch="all"
-url="https://github.com/ii8/havoc"
-license="PD OR MIT"
-makedepends="wayland-dev wayland-protocols libxkbcommon-dev"
-options="!check" # no test suite
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ii8/havoc/archive/$pkgver.tar.gz"
-
-build() {
- make havoc
-}
-
-package() {
- install -Dm0755 "$pkgname" -t "$pkgdir"/usr/bin
-
- install -Dm0644 "$pkgname".cfg -t "$pkgdir"/usr/share/doc/"$pkgname"
- install -Dm0644 LICENSE -t "$pkgdir"/usr/share/licenses/"$pkgname"
-}
-
-sha512sums="362236bf9317619a7c5099b4c6643c632ef22fa9ff651f55566f25c7e05363befc1a4cf374adf9cf156c249a3a9a3721c1af2ecd310012affcd413413d41cefd havoc-0.3.1.tar.gz"
diff --git a/testing/hctl/APKBUILD b/testing/hctl/APKBUILD
new file mode 100644
index 00000000000..a991afcbdfb
--- /dev/null
+++ b/testing/hctl/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Michał Szmidt <michal.sz@disroot.org>
+# Maintainer: Michał Szmidt <michal.sz@disroot.org>
+pkgname=hctl
+pkgver=0.2.6
+pkgrel=0
+pkgdesc="Ultimate tool to manage (transform, merge, validate) hostlists written in rust for pihole/adguard/unbound dns blocker"
+url="https://github.com/michalszmidt/hctl"
+arch="all"
+license="BSD-3-Clause"
+makedepends="openssl-dev cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/michalszmidt/hctl/archive/refs/tags/$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build -p hctl --frozen --release
+}
+
+check() {
+ cargo test --release --frozen
+}
+
+package() {
+ install -Dm755 target/release/hctl -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+e90273a3f5d386993a611135e8962838894be428600b149b138e2c3604bf669fa7ec04ad98b9a644e903880e626ede0a596b185025dc6abf4018f5effeee2d4c hctl-0.2.6.tar.gz
+"
diff --git a/testing/hd-idle/APKBUILD b/testing/hd-idle/APKBUILD
deleted file mode 100644
index b5cc2979cab..00000000000
--- a/testing/hd-idle/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Dermot Bradley <dermot_bradley@yahoo.com>
-# Maintainer: Dermot Bradley <dermot_bradley@yahoo.com>
-pkgname=hd-idle
-pkgver=1.16
-pkgrel=0
-pkgdesc="spin down idle hard disks"
-url="https://github.com/adelolmo/hd-idle"
-arch="all"
-license="GPL-3.0-only"
-makedepends="
- go
- "
-subpackages="
- $pkgname-doc
- $pkgname-openrc
- "
-options="!check" # There are no testcases
-source="$pkgname-$pkgver.tar.gz::https://github.com/adelolmo/hd-idle/archive/v$pkgver.tar.gz
- hd-idle.confd
- hd-idle.initd
- hd-idle.logrotate
- "
-
-build() {
- go build -o hd-idle hdidle.go main.go
-}
-
-package() {
- install -D -m755 hd-idle "$pkgdir"/usr/sbin/hd-idle
-
- install -m 644 -D "$srcdir"/hd-idle.confd "$pkgdir"/etc/conf.d/hd-idle
- install -m 755 -D "$srcdir"/hd-idle.initd "$pkgdir"/etc/init.d/hd-idle
- install -m 644 -D "$srcdir"/hd-idle.logrotate "$pkgdir"/etc/logrotate.d/hd-idle
-
- mkdir -p "$pkgdir"/usr/share/man/man8
- install -m644 \
- debian/hd-idle.8 \
- "$pkgdir"/usr/share/man/man8/
-}
-
-sha512sums="
-ec2e1f79fddd027715fc9be1aa90ccf2db72bd351de478fd216309e1e2f4f7dbcf9d611620158b1464e539e6bcb458992c282a938e67923f14ba355af08dd362 hd-idle-1.16.tar.gz
-9dfe8a4f4d23e6d5c360184b95fe432608185fe166efb71f959bab8cf86b02a0d87e83ec67fdf78304a0c2a770f36a3039a56df65213981f2b939967b337f9b8 hd-idle.confd
-05b91cb405646ba897ec407df1eaf8ff6e735bd2cb8e3efb9fcacc7365aae2cd5f29f46c75599a53bfd7060132cf7559c7fd309f0ec80467bbea443183cb7fbe hd-idle.initd
-ec89ea63060c4684d892eae45ea686617620a966c873e863e9e7449418bc4d8c28e3175b050e89857c6ac4a969e71cebc99bba792e1e0c0af787fb246b0d9629 hd-idle.logrotate
-"
diff --git a/testing/hd-idle/hd-idle.confd b/testing/hd-idle/hd-idle.confd
deleted file mode 100644
index 71adbb669fc..00000000000
--- a/testing/hd-idle/hd-idle.confd
+++ /dev/null
@@ -1,12 +0,0 @@
-# Configuration for /etc/init.d/hd-idle.conf
-
-LOGFILE="/var/log/hd-idle.log"
-
-# Idle time in seconds
-IDLE_TIME=1200
-
-# Disk command type: scsi or ata
-DISK_TYPE="scsi"
-
-# Device to spindown
-DISK="/dev/sdb"
diff --git a/testing/hd-idle/hd-idle.initd b/testing/hd-idle/hd-idle.initd
deleted file mode 100644
index 08aa75d384c..00000000000
--- a/testing/hd-idle/hd-idle.initd
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/sbin/openrc-run
-
-description="hd-idle"
-
-pidfile="/run/$RC_SVCNAME.pid"
-command="/usr/sbin/hd-idle"
-command_args="-l ${LOGFILE} -i 0 -c ${DISK_TYPE} -a ${DISK} -i ${IDLE_TIME}"
-command_background=yes
-
-depend() {
- need localmount
- after modules
-}
diff --git a/testing/hd-idle/hd-idle.logrotate b/testing/hd-idle/hd-idle.logrotate
deleted file mode 100644
index 30b814d7102..00000000000
--- a/testing/hd-idle/hd-idle.logrotate
+++ /dev/null
@@ -1,10 +0,0 @@
-/var/log/hd-idle.log {
- compress
- delaycompress
- missingok
- notifempty
- sharedscripts
- postrotate
- /etc/init.d/hd-idle --quiet --ifstarted restart || true
- endscript
-}
diff --git a/testing/hdf4/10-hdf-ppc.patch b/testing/hdf4/10-hdf-ppc.patch
new file mode 100644
index 00000000000..039f876ff0a
--- /dev/null
+++ b/testing/hdf4/10-hdf-ppc.patch
@@ -0,0 +1,189 @@
+diff -up hdf-4.2.15/hdf/src/hdfi.h.ppc hdf-4.2.15/hdf/src/hdfi.h
+--- hdf-4.2.15/hdf/src/hdfi.h.ppc 2020-03-03 10:40:50.000000000 -0700
++++ hdf-4.2.15/hdf/src/hdfi.h 2020-04-30 21:04:01.529561298 -0600
+@@ -75,6 +75,7 @@
+ #define DFMT_IA64 0x4441
+ #define DFMT_LINUX64 0x4441
+ #define DFMT_POWERPC64 0x1111
++#define DFMT_LINUXPPC 0x1111
+
+ /* I/O library constants */
+ #define UNIXUNBUFIO 1
+@@ -1017,6 +1018,57 @@ typedef long hdf_pint_t;
+
+ #endif /*Linux 64 */
+
++/* Linux PPC */
++#if defined __powerpc__ && !defined __powerpc64__
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE
++
++#include <sys/file.h> /* for unbuffered i/o stuff */
++#include <sys/stat.h>
++#define DF_MT DFMT_LINUXPPC
++typedef void VOID;
++typedef void *VOIDP;
++typedef char *_fcd;
++typedef char char8;
++typedef unsigned char uchar8;
++typedef char int8;
++typedef unsigned char uint8;
++typedef short int int16;
++typedef unsigned short int uint16;
++typedef int int32;
++typedef unsigned int uint32;
++typedef int intn;
++typedef unsigned int uintn;
++typedef int intf; /* size of INTEGERs in Fortran compiler */
++typedef float float32;
++typedef double float64;
++typedef long hdf_pint_t; /* an integer the same size as a pointer */
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#ifdef HAVE_FMPOOL
++#define FILELIB PAGEBUFIO /* enable page buffering */
++#else
++#define FILELIB UNIXBUFIO
++#endif
++
++/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
++
++/* Determine the memory manager we are going to use. Valid values are: */
++/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
++/* what each does */
++#define JMEMSYS MEM_ANSI
++
++#ifdef __GNUC__
++#define HAVE_STDC
++#define INCLUDES_ARE_ANSI
++#endif
++
++#endif /*Linux PPC */
++
+ /*-----------------------------------------------------*/
+ /* 64-bit Free BSD */
+
+diff -up hdf-4.2.15/mfhdf/fortran/jackets.c.in.ppc hdf-4.2.15/mfhdf/fortran/jackets.c.in
+--- hdf-4.2.15/mfhdf/fortran/jackets.c.in.ppc 2020-03-03 10:40:50.000000000 -0700
++++ hdf-4.2.15/mfhdf/fortran/jackets.c.in 2020-04-30 21:06:39.500403641 -0600
+@@ -34,7 +34,7 @@
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ int ll;
+ #else
+ long ll;
+@@ -65,7 +65,7 @@ struct ncfils { /* This will
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ int ll;
+ #else
+ long ll;
+@@ -420,7 +420,7 @@ stoig(shorts, ints, dims, basis, ndims)
+ }
+ #endif /* FORTRAN_HAS_NO_SHORT */
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ /*
+ * Convert multi-dimensional array of NCLONGs stored in ints to packed
+ * array of longs, in malloc'ed space. Returns pointer to longs or NULL
+@@ -908,7 +908,7 @@ nncvpt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs = *(int *)value;
+@@ -1022,7 +1022,7 @@ nncvpt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, ncount, ndims);
+@@ -1133,7 +1133,7 @@ nncvptg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1190,7 +1190,7 @@ nncvptg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itolg (value, ncount, nbasis, ndims);
+@@ -1326,7 +1326,7 @@ nncvgt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs;
+@@ -1468,7 +1468,7 @@ nncvgt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1606,7 +1606,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1677,7 +1677,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1843,7 +1843,7 @@ nncapt(cdfid, varid, attname, datatype,
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, attlen, 1);
+@@ -2008,7 +2008,7 @@ nncagt(cdfid, varid, attname, value, rco
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes
diff --git a/testing/hdf4/20-hdf-4.2.4-sparc.patch b/testing/hdf4/20-hdf-4.2.4-sparc.patch
new file mode 100644
index 00000000000..38d4fd4ee07
--- /dev/null
+++ b/testing/hdf4/20-hdf-4.2.4-sparc.patch
@@ -0,0 +1,78 @@
+diff -up hdf-4.2.4-snap8/hdf/src/hdfi.h.sparc hdf-4.2.4-snap8/hdf/src/hdfi.h
+--- hdf-4.2.4-snap8/hdf/src/hdfi.h.sparc 2010-02-01 13:28:25.361387271 -0700
++++ hdf-4.2.4-snap8/hdf/src/hdfi.h 2010-02-01 13:31:46.343387138 -0700
+@@ -77,6 +77,7 @@
+ #define DFMT_LINUX64 0x4441
+ #define DFMT_POWERPC64 0x1111
+ #define DFMT_LINUXPPC 0x1111
++#define DFMT_LINUXSPARC 0x1111
+
+ /* I/O library constants */
+ #define UNIXUNBUFIO 1
+@@ -1392,6 +1393,66 @@ typedef long hdf_pint_t;
+
+ #endif /*Linux PPC */
+
++/* Linux Sparc32/64 */
++#if defined __sparc__ || defined __sparc64__
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE
++
++#include <sys/file.h> /* for unbuffered i/o stuff */
++#include <sys/stat.h>
++#define DF_MT DFMT_LINUXPPC
++typedef void VOID;
++typedef void *VOIDP;
++typedef char *_fcd;
++typedef char char8;
++typedef unsigned char uchar8;
++typedef char int8;
++typedef unsigned char uint8;
++typedef short int int16;
++typedef unsigned short int uint16;
++#ifdef _LP64 /* 64-bit environment */
++typedef int int32;
++typedef unsigned int uint32;
++#else /* 32-bit environment */
++typedef long int int32;
++typedef unsigned long int uint32;
++#endif
++typedef int intn;
++typedef unsigned int uintn;
++typedef int intf; /* size of INTEGERs in Fortran compiler */
++typedef float float32;
++typedef double float64;
++#ifdef _LP64 /* 64-bit environment */
++typedef long hdf_pint_t; /* an integer the same size as a pointer */
++#else /* 32-bit environment */
++typedef int hdf_pint_t; /* an integer the same size as a pointer */
++#endif
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#ifdef HAVE_FMPOOL
++#define FILELIB PAGEBUFIO /* enable page buffering */
++#else
++#define FILELIB UNIXBUFIO
++#endif
++
++/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
++
++/* Determine the memory manager we are going to use. Valid values are: */
++/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
++/* what each does */
++#define JMEMSYS MEM_ANSI
++
++#ifdef __GNUC__
++#define HAVE_STDC
++#define INCLUDES_ARE_ANSI
++#endif
++
++#endif /* Linux Sparc32/64 */
++
+ /*-----------------------------------------------------*/
+ /* 64-bit Free BSD */
+
diff --git a/testing/hdf4/30-hdf-s390.patch b/testing/hdf4/30-hdf-s390.patch
new file mode 100644
index 00000000000..ea21e037048
--- /dev/null
+++ b/testing/hdf4/30-hdf-s390.patch
@@ -0,0 +1,317 @@
+diff -up hdf-4.2.15/hdf/src/hdfi.h.s390 hdf-4.2.15/hdf/src/hdfi.h
+--- hdf-4.2.15/hdf/src/hdfi.h.s390 2020-04-30 21:07:16.946922845 -0600
++++ hdf-4.2.15/hdf/src/hdfi.h 2020-04-30 21:07:16.950922901 -0600
+@@ -77,6 +77,7 @@
+ #define DFMT_POWERPC64 0x1111
+ #define DFMT_LINUXPPC 0x1111
+ #define DFMT_LINUXSPARC 0x1111
++#define DFMT_LINUX390 0x1111
+
+ /* I/O library constants */
+ #define UNIXUNBUFIO 1
+@@ -1130,6 +1131,66 @@ typedef int hdf_pint_t;
+
+ #endif /* Linux Sparc32/64 */
+
++/* Linux s390/s390x */
++#if defined __s390__ || defined __s390x__
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE
++
++#include <sys/file.h> /* for unbuffered i/o stuff */
++#include <sys/stat.h>
++#define DF_MT DFMT_LINUX390
++typedef void VOID;
++typedef void *VOIDP;
++typedef char *_fcd;
++typedef char char8;
++typedef unsigned char uchar8;
++typedef char int8;
++typedef unsigned char uint8;
++typedef short int int16;
++typedef unsigned short int uint16;
++#ifdef __s390x__ /* 64-bit environment */
++typedef int int32;
++typedef unsigned int uint32;
++#else /* 32-bit environment */
++typedef long int int32;
++typedef unsigned long int uint32;
++#endif
++typedef int intn;
++typedef unsigned int uintn;
++typedef int intf; /* size of INTEGERs in Fortran compiler */
++typedef float float32;
++typedef double float64;
++#ifdef __s390x__ /* 64-bit environment */
++typedef long hdf_pint_t; /* an integer the same size as a pointer */
++#else /* 32-bit environment */
++typedef int hdf_pint_t; /* an integer the same size as a pointer */
++#endif
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#ifdef HAVE_FMPOOL
++#define FILELIB PAGEBUFIO /* enable page buffering */
++#else
++#define FILELIB UNIXBUFIO
++#endif
++
++/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
++
++/* Determine the memory manager we are going to use. Valid values are: */
++/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
++/* what each does */
++#define JMEMSYS MEM_ANSI
++
++#ifdef __GNUC__
++#define HAVE_STDC
++#define INCLUDES_ARE_ANSI
++#endif
++
++#endif /* Linux s390/s390x */
++
+ /*-----------------------------------------------------*/
+ /* 64-bit Free BSD */
+
+diff -up hdf-4.2.15/mfhdf/fortran/jackets.c.in.s390 hdf-4.2.15/mfhdf/fortran/jackets.c.in
+--- hdf-4.2.15/mfhdf/fortran/jackets.c.in.s390 2020-04-30 21:07:16.942922790 -0600
++++ hdf-4.2.15/mfhdf/fortran/jackets.c.in 2020-04-30 21:10:30.030640644 -0600
+@@ -34,7 +34,7 @@
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ int ll;
+ #else
+ long ll;
+@@ -65,7 +65,7 @@ struct ncfils { /* This will
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ int ll;
+ #else
+ long ll;
+@@ -420,7 +420,7 @@ stoig(shorts, ints, dims, basis, ndims)
+ }
+ #endif /* FORTRAN_HAS_NO_SHORT */
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ /*
+ * Convert multi-dimensional array of NCLONGs stored in ints to packed
+ * array of longs, in malloc'ed space. Returns pointer to longs or NULL
+@@ -908,7 +908,7 @@ nncvpt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs = *(int *)value;
+@@ -1022,7 +1022,7 @@ nncvpt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, ncount, ndims);
+@@ -1133,7 +1133,7 @@ nncvptg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1190,7 +1190,7 @@ nncvptg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itolg (value, ncount, nbasis, ndims);
+@@ -1326,7 +1326,7 @@ nncvgt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs;
+@@ -1468,7 +1468,7 @@ nncvgt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1606,7 +1606,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1677,7 +1677,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1843,7 +1843,7 @@ nncapt(cdfid, varid, attname, datatype,
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ #ifdef HDF
+ if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, attlen, 1);
+@@ -2008,7 +2008,7 @@ nncagt(cdfid, varid, attname, value, rco
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes
+diff -up hdf-4.2.15/mfhdf/libsrc/array.c.s390 hdf-4.2.15/mfhdf/libsrc/array.c
+diff -up hdf-4.2.15/mfhdf/libsrc/cdf.c.s390 hdf-4.2.15/mfhdf/libsrc/cdf.c
+diff -up hdf-4.2.15/mfhdf/libsrc/netcdf.h.in.s390 hdf-4.2.15/mfhdf/libsrc/netcdf.h.in
+--- hdf-4.2.15/mfhdf/libsrc/netcdf.h.in.s390 2020-04-30 21:07:16.957922998 -0600
++++ hdf-4.2.15/mfhdf/libsrc/netcdf.h.in 2020-04-30 21:15:23.731467288 -0600
+@@ -293,7 +293,7 @@ typedef double ncdouble;
+ /*
+ * Variables/attributes of type NC_LONG should use the C type 'nclong'
+ */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ /*
+ * LP64 (also known as 4/8/8) denotes long and pointer as 64 bit types.
+ * http://www.unix.org/version2/whatsnew/lp64_wp.html
+diff -up hdf-4.2.15/mfhdf/libsrc/putget.c.s390 hdf-4.2.15/mfhdf/libsrc/putget.c
+--- hdf-4.2.15/mfhdf/libsrc/putget.c.s390 2020-04-30 21:07:16.959923025 -0600
++++ hdf-4.2.15/mfhdf/libsrc/putget.c 2020-04-30 21:12:13.612268179 -0600
+@@ -665,7 +665,7 @@ Void *values ;
+ case NC_SHORT :
+ return( xdr_NCvshort(xdrs, (unsigned)rem/2, (short *)values) ) ;
+ case NC_LONG :
+-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ return( xdr_int(xdrs, (nclong *)values) ) ;
+ #else
+ return( xdr_long(xdrs, (nclong *)values) ) ;
+diff -up hdf-4.2.15/mfhdf/libsrc/xdrposix.c.s390 hdf-4.2.15/mfhdf/libsrc/xdrposix.c
+--- hdf-4.2.15/mfhdf/libsrc/xdrposix.c.s390 2020-03-03 10:40:50.000000000 -0700
++++ hdf-4.2.15/mfhdf/libsrc/xdrposix.c 2020-04-30 21:14:47.574557550 -0600
+@@ -262,7 +262,7 @@ int nbytes;
+
+ static bool_t xdrposix_getlong();
+ static bool_t xdrposix_putlong();
+-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ static bool_t xdrposix_getint();
+ static bool_t xdrposix_putint();
+ #endif
+@@ -276,7 +276,7 @@ static long * xdrposix_inline();
+ #if (defined __sun && defined _LP64)
+ static rpc_inline_t * xdrposix_inline();
+ #else
+-#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__
++#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__
+ static int32_t * xdrposix_inline();
+ #else
+ static netlong * xdrposix_inline();
+@@ -302,9 +302,9 @@ static struct xdr_ops xdrposix_ops = {
+ xdrposix_getpos, /* get offset in the stream */
+ xdrposix_setpos, /* set offset in the stream */
+ xdrposix_inline, /* prime stream for inline macros */
+-#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__
++#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+ xdrposix_destroy, /* destroy stream */
+-#if !(defined __x86_64__) && !(defined __powerpc64__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */
++#if !(defined __x86_64__) && !(defined __powerpc64__) && !(defined __s390x__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */
+ NULL, /* no xdr_control function defined */
+ #endif
+ /* Solaris 64-bit (arch=v9 and arch=amd64) has 64 bits long and 32 bits int. */
+@@ -442,7 +442,7 @@ xdrposix_getlong(xdrs, lp)
+ long *lp;
+ {
+ unsigned char *up = (unsigned char *)lp ;
+-#if (defined AIX5L64 || defined __powerpc64__ || (defined __hpux && __LP64__))
++#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__))
+ *lp = 0 ;
+ up += (sizeof(long) - 4) ;
+ #endif
+@@ -465,7 +465,7 @@ xdrposix_putlong(xdrs, lp)
+ netlong mycopy = htonl(*lp);
+ up = (unsigned char *)&mycopy;
+ #endif
+-#if (defined AIX5L64 || defined __powerpc64__ || (defined __hpux && __LP64__))
++#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__))
+ up += (sizeof(long) - 4) ;
+ #endif
+
+@@ -560,7 +560,7 @@ static long *
+ #if (defined __sun && defined _LP64)
+ static rpc_inline_t *
+ #else
+-#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__
++#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__
+ static int32_t *
+ #else
+ static netlong *
+@@ -581,7 +581,7 @@ xdrposix_inline(xdrs, len)
+ return (NULL);
+ }
+
+-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__
++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
+
+ static bool_t
+ xdrposix_getint(xdrs, lp)
+diff -up hdf-4.2.15/mfhdf/ncgen/ncgen.l.s390 hdf-4.2.15/mfhdf/ncgen/ncgen.l
+--- hdf-4.2.15/mfhdf/ncgen/ncgen.l.s390 2020-04-30 21:07:16.961923053 -0600
++++ hdf-4.2.15/mfhdf/ncgen/ncgen.l 2020-04-30 21:08:10.175628593 -0600
+@@ -113,7 +113,7 @@ FloatInf|Infinity|Inf { /* float m
+ yyerror(errstr);
+ }
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || defined __s390x__
+ if (dd < INT_MIN || dd > INT_MAX)
+ #else
+ if (dd < LONG_MIN || dd > LONG_MAX)
+diff -up hdf-4.2.15/mfhdf/ncgen/ncgenyy.c.s390 hdf-4.2.15/mfhdf/ncgen/ncgenyy.c
+--- hdf-4.2.15/mfhdf/ncgen/ncgenyy.c.s390 2020-04-30 21:07:16.963923081 -0600
++++ hdf-4.2.15/mfhdf/ncgen/ncgenyy.c 2020-04-30 21:08:53.818030313 -0600
+@@ -991,7 +991,7 @@ YY_RULE_SETUP
+ yyerror(errstr);
+ }
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || __s390x__
+ if (dd < INT_MIN || dd > INT_MAX)
+ #else
+ if (dd < LONG_MIN || dd > LONG_MAX)
diff --git a/testing/hdf4/40-hdf-arm.patch b/testing/hdf4/40-hdf-arm.patch
new file mode 100644
index 00000000000..2e63af1cb1b
--- /dev/null
+++ b/testing/hdf4/40-hdf-arm.patch
@@ -0,0 +1,81 @@
+diff -up hdf-4.2.10/hdf/src/hconv.h.arm hdf-4.2.10/hdf/src/hconv.h
+--- hdf-4.2.10/hdf/src/hconv.h.arm 2014-02-14 09:28:56.692514796 -0700
++++ hdf-4.2.10/hdf/src/hconv.h 2014-02-14 09:30:03.882212944 -0700
+@@ -59,7 +59,7 @@
+ /* CONSTANT DEFINITIONS */
+ /*****************************************************************************/
+ /* Generally Big-Endian machines */
+-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__)
++#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__)
+ # define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */
+ # define UI8_OUT DFKnb1b
+ # define SI16_IN DFKnb2b /* S = Signed */
+diff -up hdf-4.2.10/hdf/src/hdfi.h.arm hdf-4.2.10/hdf/src/hdfi.h
+--- hdf-4.2.10/hdf/src/hdfi.h.arm 2014-02-14 09:28:56.685514824 -0700
++++ hdf-4.2.10/hdf/src/hdfi.h 2014-02-14 09:28:56.693514792 -0700
+@@ -78,6 +78,7 @@
+ #define DFMT_LINUXPPC 0x1111
+ #define DFMT_LINUXSPARC 0x1111
+ #define DFMT_LINUX390 0x1111
++#define DFMT_LINUXARM 0x4441
+
+ /* I/O library constants */
+ #define UNIXUNBUFIO 1
+@@ -1187,6 +1188,57 @@ typedef int hdf_pint_t;
+
+ #endif /* Linux s390/s390x */
+
++/* Linux ARM */
++#if defined __arm__
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE
++
++#include <sys/file.h> /* for unbuffered i/o stuff */
++#include <sys/stat.h>
++#define DF_MT DFMT_LINUXARM
++typedef void VOID;
++typedef void *VOIDP;
++typedef char *_fcd;
++typedef char char8;
++typedef unsigned char uchar8;
++typedef char int8;
++typedef unsigned char uint8;
++typedef short int int16;
++typedef unsigned short int uint16;
++typedef long int int32;
++typedef unsigned long int uint32;
++typedef int intn;
++typedef unsigned int uintn;
++typedef int intf; /* size of INTEGERs in Fortran compiler */
++typedef float float32;
++typedef double float64;
++typedef int hdf_pint_t; /* an integer the same size as a pointer */
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#ifdef HAVE_FMPOOL
++#define FILELIB PAGEBUFIO /* enable page buffering */
++#else
++#define FILELIB UNIXBUFIO
++#endif
++
++/* JPEG #define's - Look in the JPEG docs before changing - (Q) */
++
++/* Determine the memory manager we are going to use. Valid values are: */
++/* MEM_DOS, MEM_ANSI, MEM_NAME, MEM_NOBS. See the JPEG docs for details on */
++/* what each does */
++#define JMEMSYS MEM_ANSI
++
++#ifdef __GNUC__
++#define HAVE_STDC
++#define INCLUDES_ARE_ANSI
++#endif
++
++#endif /* Linux ARM */
++
+ /*-----------------------------------------------------*/
+ /* 64-bit Free BSD */
+
diff --git a/testing/hdf4/50-hdf-aarch64.patch b/testing/hdf4/50-hdf-aarch64.patch
new file mode 100644
index 00000000000..1865e72b3a9
--- /dev/null
+++ b/testing/hdf4/50-hdf-aarch64.patch
@@ -0,0 +1,289 @@
+diff -up hdf-4.2.15/hdf/src/hconv.h.aarch64 hdf-4.2.15/hdf/src/hconv.h
+--- hdf-4.2.15/hdf/src/hconv.h.aarch64 2020-04-30 21:16:25.325499508 -0600
++++ hdf-4.2.15/hdf/src/hconv.h 2020-04-30 21:16:25.338499580 -0600
+@@ -59,7 +59,7 @@
+ /* CONSTANT DEFINITIONS */
+ /*****************************************************************************/
+ /* Generally Big-Endian machines */
+-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__)
++#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) && !defined(__AARCH64EL__)
+ # define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */
+ # define UI8_OUT DFKnb1b
+ # define SI16_IN DFKnb2b /* S = Signed */
+diff -up hdf-4.2.15/hdf/src/hdfi.h.aarch64 hdf-4.2.15/hdf/src/hdfi.h
+--- hdf-4.2.15/hdf/src/hdfi.h.aarch64 2020-04-30 21:16:25.326499514 -0600
++++ hdf-4.2.15/hdf/src/hdfi.h 2020-04-30 21:16:25.340499591 -0600
+@@ -79,6 +79,7 @@
+ #define DFMT_LINUXSPARC 0x1111
+ #define DFMT_LINUX390 0x1111
+ #define DFMT_LINUXARM 0x4441
++#define DFMT_LINUXAARCH64 0x4441
+
+ /* I/O library constants */
+ #define UNIXUNBUFIO 1
+@@ -1341,6 +1342,44 @@ typedef long hdf_pint_t;
+
+ #endif /* IA64 */
+
++/* Linux AArch64 */
++#if defined __aarch64__
++
++#ifdef GOT_MACHINE
++If you get an error on this line more than one machine type has been defined.
++Please check your Makefile.
++#endif
++#define GOT_MACHINE
++
++#include <sys/file.h> /* for unbuffered i/o stuff */
++#include <sys/stat.h>
++#define DF_MT DFMT_LINUXAARCH64
++typedef void VOID;
++typedef void *VOIDP;
++typedef char *_fcd;
++typedef char char8;
++typedef unsigned char uchar8;
++typedef char int8;
++typedef unsigned char uint8;
++typedef short int int16;
++typedef unsigned short int uint16;
++typedef int int32;
++typedef unsigned int uint32;
++typedef int intn;
++typedef unsigned int uintn;
++typedef int intf; /* size of INTEGERs in Fortran compiler */
++typedef float float32;
++typedef double float64;
++typedef long hdf_pint_t; /* an integer the same size as a pointer */
++#define FNAME_POST_UNDERSCORE
++#define _fcdtocp(desc) (desc)
++#ifdef HAVE_FMPOOL
++#define FILELIB PAGEBUFIO /* enable page buffering */
++#else
++#define FILELIB UNIXBUFIO
++#endif
++#endif /* Linux AArch64 */
++
+ #ifndef GOT_MACHINE
+ No machine type has been defined. Your Makefile needs to have someing like
+ -DSUN or -DUNICOS in order for the HDF internal structures to be defined
+diff -up hdf-4.2.15/mfhdf/fortran/jackets.c.in.aarch64 hdf-4.2.15/mfhdf/fortran/jackets.c.in
+--- hdf-4.2.15/mfhdf/fortran/jackets.c.in.aarch64 2020-04-30 21:16:25.318499470 -0600
++++ hdf-4.2.15/mfhdf/fortran/jackets.c.in 2020-04-30 21:20:28.346831868 -0600
+@@ -34,7 +34,7 @@
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ int ll;
+ #else
+ long ll;
+@@ -65,7 +65,7 @@ struct ncfils { /* This will
+
+ struct ncfils { /* This will be a common block from Fortran */
+ double dd;
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ int ll;
+ #else
+ long ll;
+@@ -420,7 +420,7 @@ stoig(shorts, ints, dims, basis, ndims)
+ }
+ #endif /* FORTRAN_HAS_NO_SHORT */
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ /*
+ * Convert multi-dimensional array of NCLONGs stored in ints to packed
+ * array of longs, in malloc'ed space. Returns pointer to longs or NULL
+@@ -908,7 +908,7 @@ nncvpt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs = *(int *)value;
+@@ -1022,7 +1022,7 @@ nncvpt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, ncount, ndims);
+@@ -1133,7 +1133,7 @@ nncvptg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1190,7 +1190,7 @@ nncvptg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itolg (value, ncount, nbasis, ndims);
+@@ -1326,7 +1326,7 @@ nncvgt1(cdfid, varid, indices, value, rc
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long longs;
+@@ -1468,7 +1468,7 @@ nncvgt(cdfid, varid, start, count, value
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1606,7 +1606,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ tmpbasis = nctypelen(NC_LONG);
+ else
+ #endif
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ if (datatype == NC_LONG)
+ tmpbasis = sizeof(int);
+ else
+@@ -1677,7 +1677,7 @@ nncvgtg(cdfid, varid, start, count, stri
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long iocount = dimprod (ncount, ndims); /* product of dimensions */
+@@ -1843,7 +1843,7 @@ nncapt(cdfid, varid, attname, datatype,
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+ if ((nc_type) *datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ long *longs = itol (value, attlen, 1);
+@@ -2008,7 +2008,7 @@ nncagt(cdfid, varid, attname, value, rco
+ return;
+ } /* else */
+ #endif /* FORTRAN_HAS_NO_SHORT */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ #ifdef HDF
+ if ((nc_type) datatype == NC_LONG && handle->file_type!=HDF_FILE) {
+ /* EIP We need to use int buffer to read data in on the platforms where long is 8 bytes
+diff -up hdf-4.2.15/mfhdf/libsrc/array.c.aarch64 hdf-4.2.15/mfhdf/libsrc/array.c
+diff -up hdf-4.2.15/mfhdf/libsrc/cdf.c.aarch64 hdf-4.2.15/mfhdf/libsrc/cdf.c
+diff -up hdf-4.2.15/mfhdf/libsrc/netcdf.h.in.aarch64 hdf-4.2.15/mfhdf/libsrc/netcdf.h.in
+--- hdf-4.2.15/mfhdf/libsrc/netcdf.h.in.aarch64 2020-04-30 21:16:25.347499629 -0600
++++ hdf-4.2.15/mfhdf/libsrc/netcdf.h.in 2020-04-30 21:24:11.366838259 -0600
+@@ -293,7 +293,7 @@ typedef double ncdouble;
+ /*
+ * Variables/attributes of type NC_LONG should use the C type 'nclong'
+ */
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ /*
+ * LP64 (also known as 4/8/8) denotes long and pointer as 64 bit types.
+ * http://www.unix.org/version2/whatsnew/lp64_wp.html
+diff -up hdf-4.2.15/mfhdf/libsrc/putget.c.aarch64 hdf-4.2.15/mfhdf/libsrc/putget.c
+--- hdf-4.2.15/mfhdf/libsrc/putget.c.aarch64 2020-04-30 21:16:25.349499640 -0600
++++ hdf-4.2.15/mfhdf/libsrc/putget.c 2020-04-30 21:21:11.344052951 -0600
+@@ -665,7 +665,7 @@ Void *values ;
+ case NC_SHORT :
+ return( xdr_NCvshort(xdrs, (unsigned)rem/2, (short *)values) ) ;
+ case NC_LONG :
+-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ return( xdr_int(xdrs, (nclong *)values) ) ;
+ #else
+ return( xdr_long(xdrs, (nclong *)values) ) ;
+diff -up hdf-4.2.15/mfhdf/libsrc/xdrposix.c.aarch64 hdf-4.2.15/mfhdf/libsrc/xdrposix.c
+--- hdf-4.2.15/mfhdf/libsrc/xdrposix.c.aarch64 2020-04-30 21:16:25.321499486 -0600
++++ hdf-4.2.15/mfhdf/libsrc/xdrposix.c 2020-04-30 21:23:48.397752506 -0600
+@@ -262,7 +262,7 @@ int nbytes;
+
+ static bool_t xdrposix_getlong();
+ static bool_t xdrposix_putlong();
+-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ static bool_t xdrposix_getint();
+ static bool_t xdrposix_putint();
+ #endif
+@@ -276,7 +276,7 @@ static long * xdrposix_inline();
+ #if (defined __sun && defined _LP64)
+ static rpc_inline_t * xdrposix_inline();
+ #else
+-#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__
++#if ((defined __x86_64__ ) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ static int32_t * xdrposix_inline();
+ #else
+ static netlong * xdrposix_inline();
+@@ -302,9 +302,9 @@ static struct xdr_ops xdrposix_ops = {
+ xdrposix_getpos, /* get offset in the stream */
+ xdrposix_setpos, /* set offset in the stream */
+ xdrposix_inline, /* prime stream for inline macros */
+-#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if (defined __sun && defined _LP64) || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ xdrposix_destroy, /* destroy stream */
+-#if !(defined __x86_64__) && !(defined __powerpc64__) && !(defined __s390x__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */
++#if !(defined __x86_64__) && !(defined __powerpc64__) && !(defined __s390x__) && !(defined __aarch64__) || (defined __sun && defined _LP64) /* i.e. we are on SUN/Intel in 64-bit mode */
+ NULL, /* no xdr_control function defined */
+ #endif
+ /* Solaris 64-bit (arch=v9 and arch=amd64) has 64 bits long and 32 bits int. */
+@@ -560,7 +560,7 @@ static long *
+ #if (defined __sun && defined _LP64)
+ static rpc_inline_t *
+ #else
+-#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__
++#if ((defined __x86_64__) && !(defined __sun && defined _LP64)) || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+ static int32_t *
+ #else
+ static netlong *
+@@ -581,7 +581,7 @@ xdrposix_inline(xdrs, len)
+ return (NULL);
+ }
+
+-#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__
++#if (_MIPS_SZLONG == 64) || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || defined __powerpc64__ || defined __s390x__ || defined __aarch64__
+
+ static bool_t
+ xdrposix_getint(xdrs, lp)
+diff -up hdf-4.2.15/mfhdf/ncgen/ncgen.l.aarch64 hdf-4.2.15/mfhdf/ncgen/ncgen.l
+--- hdf-4.2.15/mfhdf/ncgen/ncgen.l.aarch64 2020-04-30 21:16:25.376499789 -0600
++++ hdf-4.2.15/mfhdf/ncgen/ncgen.l 2020-04-30 21:17:29.876854089 -0600
+@@ -113,7 +113,7 @@ FloatInf|Infinity|Inf { /* float m
+ yyerror(errstr);
+ }
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || defined __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || defined __s390x__ || defined __aarch64__
+ if (dd < INT_MIN || dd > INT_MAX)
+ #else
+ if (dd < LONG_MIN || dd > LONG_MAX)
+diff -up hdf-4.2.15/mfhdf/ncgen/ncgenyy.c.aarch64 hdf-4.2.15/mfhdf/ncgen/ncgenyy.c
+--- hdf-4.2.15/mfhdf/ncgen/ncgenyy.c.aarch64 2020-04-30 21:16:25.382499822 -0600
++++ hdf-4.2.15/mfhdf/ncgen/ncgenyy.c 2020-04-30 21:18:12.880090311 -0600
+@@ -991,7 +991,7 @@ YY_RULE_SETUP
+ yyerror(errstr);
+ }
+
+-#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || __s390x__
++#if defined __alpha || (_MIPS_SZLONG == 64) || defined __ia64 || (defined __sun && defined _LP64) || defined AIX5L64 || defined __x86_64__ || __powerpc64__ || __s390x__ || defined __aarch64__
+ if (dd < INT_MIN || dd > INT_MAX)
+ #else
+ if (dd < LONG_MIN || dd > LONG_MAX)
diff --git a/testing/hdf4/60-hdf-ppc64le.patch b/testing/hdf4/60-hdf-ppc64le.patch
new file mode 100644
index 00000000000..e199a55824b
--- /dev/null
+++ b/testing/hdf4/60-hdf-ppc64le.patch
@@ -0,0 +1,83 @@
+diff -up hdf-4.2.15/hdf/src/hconv.h.ppc64le hdf-4.2.15/hdf/src/hconv.h
+--- hdf-4.2.15/hdf/src/hconv.h.ppc64le 2020-04-30 21:25:25.183973672 -0600
++++ hdf-4.2.15/hdf/src/hconv.h 2020-04-30 21:25:25.191973677 -0600
+@@ -59,7 +59,7 @@
+ /* CONSTANT DEFINITIONS */
+ /*****************************************************************************/
+ /* Generally Big-Endian machines */
+-#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) && !defined(__AARCH64EL__)
++#if !defined(INTEL86) && !defined(MIPSEL) && !defined(DEC_ALPHA) && !defined(I860) && !defined(SUN386) && !(defined(__ia64) && !(defined(hpux) || defined(__hpux))) && !defined(__x86_64__) && !defined(__arm__) && !defined(__AARCH64EL__) && !defined(__LITTLE_ENDIAN__)
+ # define UI8_IN DFKnb1b /* Unsigned Integer, 8 bits */
+ # define UI8_OUT DFKnb1b
+ # define SI16_IN DFKnb2b /* S = Signed */
+diff -up hdf-4.2.15/hdf/src/hdfi.h.ppc64le hdf-4.2.15/hdf/src/hdfi.h
+--- hdf-4.2.15/hdf/src/hdfi.h.ppc64le 2020-04-30 21:25:25.183973672 -0600
++++ hdf-4.2.15/hdf/src/hdfi.h 2020-04-30 21:25:25.192973677 -0600
+@@ -75,6 +75,7 @@
+ #define DFMT_IA64 0x4441
+ #define DFMT_LINUX64 0x4441
+ #define DFMT_POWERPC64 0x1111
++#define DFMT_POWERPC64LE 0x4441
+ #define DFMT_LINUXPPC 0x1111
+ #define DFMT_LINUXSPARC 0x1111
+ #define DFMT_LINUX390 0x1111
+@@ -926,18 +927,24 @@ typedef int hdf_pint_t;
+
+
+ /*-----------------------------------------------------*/
+-/* Power PC 5 64 */
+ #if defined __powerpc64__
+-
++/* powerpc 64 bits */
+ #ifdef GOT_MACHINE
+ If you get an error on this line more than one machine type has been defined.
+ Please check your Makefile.
+ #endif
+ #define GOT_MACHINE
+
++#ifdef __LITTLE_ENDIAN__
++/* Power PC 8 64 little endian */
++#define DF_MT DFMT_POWERPC64LE
++#else
++/* Power PC 5 64 */
++#define DF_MT DFMT_POWERPC64
++#endif
++
+ #include <sys/file.h> /* for unbuffered i/o stuff */
+ #include <sys/stat.h>
+-#define DF_MT DFMT_POWERPC64
+ typedef void VOID;
+ typedef void *VOIDP;
+ typedef char *_fcd;
+@@ -973,8 +980,9 @@ typedef long hdf_pint_t;
+ #define INCLUDES_ARE_ANSI
+ #endif
+
++#endif /* powerpc 64 bits */
++
+ /*-----------------------------------------------------*/
+-#endif /*power PC 5 64 */
+ /* Linux 64 */
+ #if defined(__linux__) && defined __x86_64__ && !(defined SUN) /* i.e. 64-bit Linux but not SunOS on Intel */
+
+diff -up hdf-4.2.15/mfhdf/libsrc/xdrposix.c.ppc64le hdf-4.2.15/mfhdf/libsrc/xdrposix.c
+--- hdf-4.2.15/mfhdf/libsrc/xdrposix.c.ppc64le 2020-04-30 21:25:25.186973674 -0600
++++ hdf-4.2.15/mfhdf/libsrc/xdrposix.c 2020-04-30 21:26:18.190001127 -0600
+@@ -442,7 +442,7 @@ xdrposix_getlong(xdrs, lp)
+ long *lp;
+ {
+ unsigned char *up = (unsigned char *)lp ;
+-#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__))
++#if (defined AIX5L64 || (defined __powerpc64__ && !defined __LITTLE_ENDIAN__) || defined __s390x__ || (defined __hpux && __LP64__))
+ *lp = 0 ;
+ up += (sizeof(long) - 4) ;
+ #endif
+@@ -465,7 +465,7 @@ xdrposix_putlong(xdrs, lp)
+ netlong mycopy = htonl(*lp);
+ up = (unsigned char *)&mycopy;
+ #endif
+-#if (defined AIX5L64 || defined __powerpc64__ || defined __s390x__ || (defined __hpux && __LP64__))
++#if (defined AIX5L64 || (defined __powerpc64__ && !defined __LITTLE_ENDIAN__) || defined __s390x__ || (defined __hpux && __LP64__))
+ up += (sizeof(long) - 4) ;
+ #endif
+
diff --git a/testing/hdf4/APKBUILD b/testing/hdf4/APKBUILD
new file mode 100644
index 00000000000..4d25d7a0f55
--- /dev/null
+++ b/testing/hdf4/APKBUILD
@@ -0,0 +1,117 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=hdf4
+pkgver=4.2.15
+pkgrel=1
+pkgdesc="Data model, library, and file format for storing and managing data"
+url="https://www.hdfgroup.org/solutions/hdf4/"
+arch="all !riscv64" # ftbfs
+license="custom"
+options="!check" # Upstream tests appear broken
+depends_dev="zlib-dev jpeg-dev portablexdr-dev"
+makedepends="$depends_dev bison flex libaec-dev chrpath"
+checkdepends="diffutils" # Flags not supported by busybox diff are used
+subpackages="$pkgname-dev $pkgname-doc $pkgname-tools"
+# Patches from Fedora: https://src.fedoraproject.org/rpms/hdf/tree/rawhide
+# NB: Some of these patches depend on each other in the given order
+source="https://support.hdfgroup.org/ftp/HDF/releases/HDF$pkgver/src/hdf-$pkgver.tar.bz2
+ 10-hdf-ppc.patch
+ 20-hdf-4.2.4-sparc.patch
+ 30-hdf-s390.patch
+ 40-hdf-arm.patch
+ 50-hdf-aarch64.patch
+ 60-hdf-ppc64le.patch"
+builddir="$srcdir"/hdf-"$pkgver"
+
+prepare() {
+ default_prepare
+ update_config_sub
+ update_config_guess
+}
+
+build() {
+ # This flag would required to treat Fortran argument mismatch as a warning,
+ # not an error.
+ # This got fixed in master https://github.com/HDFGroup/hdf4/issues/1
+ # but isn't fixed yet in the latest release.
+ # > export FFLAGS="$FFLAGS -fallow-argument-mismatch"
+ # However, --enable-shared currently requires that fortran is disabled, so
+ # it doesn't matter anyway
+ export LIBS="$LIBS -lportablexdr"
+
+ # We disable netcdf since it's provided by the netcdf-* packages
+ ./configure \
+ --enable-shared \
+ --disable-static \
+ --disable-fortran \
+ --disable-netcdf \
+ --with-szlib \
+ --prefix=/usr \
+ --build=$CBUILD \
+ --host=$CHOST
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install-recursive
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/"$pkgname"/COPYING
+ chrpath -d \
+ "$pkgdir"/usr/lib/libmfhdf.so.0.0.0 \
+ "$pkgdir"/usr/lib/libdf.so.0.0.0 \
+ "$pkgdir"/usr/bin/gif2hdf \
+ "$pkgdir"/usr/bin/hdf24to8 \
+ "$pkgdir"/usr/bin/hdf8to24 \
+ "$pkgdir"/usr/bin/hdfimport \
+ "$pkgdir"/usr/bin/hdftopal \
+ "$pkgdir"/usr/bin/hdiff \
+ "$pkgdir"/usr/bin/jpeg2hdf \
+ "$pkgdir"/usr/bin/paltohdf \
+ "$pkgdir"/usr/bin/vmake \
+ "$pkgdir"/usr/bin/hdf2gif \
+ "$pkgdir"/usr/bin/hdfcomp \
+ "$pkgdir"/usr/bin/hdfls \
+ "$pkgdir"/usr/bin/hdftor8 \
+ "$pkgdir"/usr/bin/hdp \
+ "$pkgdir"/usr/bin/ncdump \
+ "$pkgdir"/usr/bin/r8tohdf \
+ "$pkgdir"/usr/bin/vshow \
+ "$pkgdir"/usr/bin/hdf2jpeg \
+ "$pkgdir"/usr/bin/hdfed \
+ "$pkgdir"/usr/bin/hdfpack \
+ "$pkgdir"/usr/bin/hdfunpac \
+ "$pkgdir"/usr/bin/hrepack \
+ "$pkgdir"/usr/bin/ncgen \
+ "$pkgdir"/usr/bin/ristosds
+}
+
+dev() {
+ default_dev
+ amove usr/lib/libhdf4.settings
+}
+
+doc() {
+ default_doc
+ # Remove conflicts with netcdf-doc
+ rm "$subpkgdir"/usr/share/man/man1/ncdump.1.gz "$subpkgdir"/usr/share/man/man1/ncgen.1.gz
+}
+
+tools() {
+ mkdir -p "$subpkgdir"/usr
+ amove usr/bin
+ # Remove conflicts with netcdf-utils
+ rm "$subpkgdir"/usr/bin/ncgen "$subpkgdir"/usr/bin/ncdump
+}
+
+sha512sums="
+7d4037800ef8950ed74f225355ef5458444bed26fc189fbbd2ce7d36009998013ac1f6ba5d4e60834acf8f6f73550357238745acc35e162679919400a48191e9 hdf-4.2.15.tar.bz2
+c3098bf0c937c406ed133ea94c7b4bb7fb7b78aa37e1fae0402f74e3aed8db79a13a5d0baf6b0cb78835984794e795a51d54b690115a390baf9b89292fd587ad 10-hdf-ppc.patch
+751ef4c537f4a7d50dae95eb3c9879848eada5c1ae80b9906b62b26b77496b42dfe7dd6ffb8359a986e2c0630b46ca59d797864fe93645ddb2923d65f6ca9bcc 20-hdf-4.2.4-sparc.patch
+2b3c04bfa20f1067852538a6593de2659ee480b3f40dc51931989a175b99394ae67f1d3445f697486801d7a9d19a4e10cf10413fb6ee28126cebf0e1379f1447 30-hdf-s390.patch
+b9ea7c626fcf1bfbf75e05459794fc577a28602749464f2eea029fc4d729ceeb96f93273cc9ea8988878444632532888970047370b787b9c4bdea0b0077ff1b3 40-hdf-arm.patch
+fac62b5ab9ceaf9ddd9cc4831994cdf5cc4e0b2f85ee9f943f7311b0acc2b78d18f49e194a31b7ddd0c17dc87a14ec55d6af73258fbc2f0f2e2b86b7f9048f25 50-hdf-aarch64.patch
+824be68ce54c43ea8e556cd9836b8d18162e3a214d532ce40ca7de600693da89dcbc364aae5995c2cd455126550d88606889c5e1c956c4cb9f1928566c705121 60-hdf-ppc64le.patch
+"
diff --git a/testing/hdr10plus-tool/APKBUILD b/testing/hdr10plus-tool/APKBUILD
new file mode 100644
index 00000000000..46533b8aee6
--- /dev/null
+++ b/testing/hdr10plus-tool/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Petr Hodina <phodina@protonmail.com>
+# Maintainer: Petr Hodina <phodina@protonmail.com>
+pkgname=hdr10plus-tool
+pkgver=1.6.0
+pkgrel=0
+pkgdesc="CLI utility to work with HDR10+ in HEVC files"
+url="https://github.com/quietvoid/hdr10plus_tool"
+# arm: fails tests
+arch="all !armhf !armv7"
+license="MIT"
+makedepends="cargo cargo-auditable fontconfig-dev"
+checkdepends="font-opensans"
+source="$pkgname-$pkgver.tar.gz::https://github.com/quietvoid/hdr10plus_tool/archive/refs/tags/$pkgver.tar.gz"
+builddir=$srcdir/hdr10plus_tool-$pkgver
+options="net" # cargo fetch
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen --release
+}
+
+package() {
+ install -Dm755 target/release/hdr10plus_tool -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+bee366c7f2e85274bc5d231e31c4b2662424a754500c4cc6eeb7621cdb3cf66c55eb008957bff080792c513cbee989644d4c2e56159398d90845af42fd935026 hdr10plus-tool-1.6.0.tar.gz
+"
diff --git a/testing/headlines/APKBUILD b/testing/headlines/APKBUILD
deleted file mode 100644
index 5ac48037aad..00000000000
--- a/testing/headlines/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Adam Plumb <adamplumb@gmail.com>
-# Maintainer: Adam Plumb <adamplumb@gmail.com>
-pkgname=headlines
-pkgver=0.5.1
-pkgrel=0
-pkgdesc="GTK4 Reddit client written in C++"
-url="https://gitlab.com/caveman250/Headlines"
-arch="all !s390x !riscv64"
-license="GPL-3.0-only"
-depends="ffmpeg gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad
- youtube-dl"
-makedepends="cmake gtkmm4-dev openssl1.1-compat-dev libadwaita jsoncpp-dev
- libmicrohttpd-dev curl-dev libsecret-dev boost-dev websocket++
- libadwaita-dev"
-source="https://gitlab.com/caveman250/Headlines/-/archive/$pkgver/Headlines-$pkgver.tar.gz"
-builddir="$srcdir/Headlines-$pkgver"
-options="!check"
-
-build() {
- cmake -B build \
- -DDIST_BUILD=ON \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-dbe23da0d77609ed81507dc336d00477444b17ce92c0eb6e38e26af09c87b266307186bbd50d8d83be7a5f533d93f1f0122814ce7c11ed3ecd47578354bd521c Headlines-0.5.1.tar.gz
-"
diff --git a/testing/headscale/APKBUILD b/testing/headscale/APKBUILD
new file mode 100644
index 00000000000..bd309558927
--- /dev/null
+++ b/testing/headscale/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=headscale
+pkgver=0.22.3
+pkgrel=6
+pkgdesc="Open source, self-hosted implementation of the Tailscale control server"
+url="https://github.com/juanfont/headscale"
+arch="all !ppc64le !riscv64" # go build fails
+license="BSD-3-Clause"
+pkgusers="headscale"
+pkggroups="headscale"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-openrc
+ $pkgname-zsh-completion
+ "
+install="$pkgname.pre-install"
+source="https://github.com/juanfont/headscale/archive/v$pkgver/headscale-$pkgver.tar.gz
+ headscale.initd
+ "
+options="net" # fetch dependencies
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+
+ # move socket to a subdirectory to allow running as non-root
+ sed -i 's|/var/run/headscale.sock|/run/headscale/headscale.sock|' config-example.yaml
+}
+
+build() {
+ go build -ldflags "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v$pkgver" ./cmd/headscale
+ mkdir completions
+ ./headscale completion bash > completions/bash
+ ./headscale completion fish > completions/fish
+ ./headscale completion zsh > completions/zsh
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 headscale "$pkgdir"/usr/bin/headscale
+
+ install -Dm755 "$srcdir"/headscale.initd "$pkgdir"/etc/init.d/headscale
+ install -Dm644 config-example.yaml "$pkgdir"/etc/headscale/config.yaml
+
+ # completions
+ install -Dm644 completions/bash "$pkgdir"/usr/share/bash-completion/completions/headscale
+ install -Dm644 completions/fish "$pkgdir"/usr/share/fish/vendor_completions.d/headscale.fish
+ install -Dm644 completions/zsh "$pkgdir"/usr/share/zsh/site-functions/_headscale
+}
+
+sha512sums="
+c3ce7ae023dd0bd5c52e00ec2564b68eb87074a804a9982a3eb6f1e64335621a312cbb650d79571e89bef3f0d8e6d602b732156aa8851b67dfd455ac1156b311 headscale-0.22.3.tar.gz
+0800829bfc087af283afc117406324a0129b30b587c8cc5df85e147ac09fc879d726fc2d0b62ed545fb0190ed887641f07256745da9dea56932dd2d90aa41625 headscale.initd
+"
diff --git a/testing/headscale/headscale.initd b/testing/headscale/headscale.initd
new file mode 100644
index 00000000000..9062a6b73a5
--- /dev/null
+++ b/testing/headscale/headscale.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+
+command="/usr/bin/headscale"
+command_args="serve"
+command_user="headscale:headscale"
+directory="/var/lib/headscale"
+
+output_log="/var/log/headscale.log"
+error_log="/var/log/headscale.log"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -m 755 -o "headscale:headscale" /var/run/headscale
+ checkpath -d -m 755 -o "headscale:headscale" /var/lib/headscale
+
+ checkpath -f -m 644 -o "headscale:headscale" /var/lib/headscale/db.sqlite
+ checkpath -f -m 644 -o "headscale:headscale" /etc/headscale/config.yaml
+ checkpath -f -m 644 -o "headscale:headscale" /var/log/headscale.log
+}
diff --git a/testing/headscale/headscale.pre-install b/testing/headscale/headscale.pre-install
new file mode 100644
index 00000000000..f6f8ce4b763
--- /dev/null
+++ b/testing/headscale/headscale.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S headscale 2>/dev/null
+adduser -S -D -H -h /var/lib/headscale -s /sbin/nologin -G headscale -g headscale headscale 2>/dev/null
+
+exit 0
diff --git a/testing/heh/APKBUILD b/testing/heh/APKBUILD
new file mode 100644
index 00000000000..1c06ac0ae62
--- /dev/null
+++ b/testing/heh/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=heh
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="A terminal UI to edit bytes by the nibble"
+url="https://github.com/ndd7xv/heh"
+arch="all !s390x !x86" # FTBFS
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ndd7xv/heh/archive/refs/tags/v$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+3b1546d478ed8fb8a9a2b58215de1b957666f85f17c2db577a4e888c2b9d63c5e423b7585e19c9e526b42d2f6d0ebd71a17f4ae2f89fe1dc17be6eca2c58d781 heh-0.5.0.tar.gz
+"
diff --git a/testing/helm-ls/APKBUILD b/testing/helm-ls/APKBUILD
new file mode 100644
index 00000000000..b3d469199f3
--- /dev/null
+++ b/testing/helm-ls/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=helm-ls
+pkgver=0.0.12
+pkgrel=1
+pkgdesc="Language server for Helm"
+url="https://github.com/mrjosh/helm-ls"
+arch="all"
+license="MIT"
+makedepends="go"
+options="chmod-clean net"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mrjosh/helm-ls/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -ldflags="-buildid= -X main.Version=$pkgver"
+}
+
+check() {
+ # Depends on yaml-ls
+ go test ./... -skip TestYamllsDiagnosticsIntegration
+}
+
+package() {
+ install -Dm755 "$pkgname" "$pkgdir"/usr/bin/helm_ls
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+163d0619b86c3368e29a0c0aa7fcb4f9ea3d8eeba19d86c95d54d06a3b4ad5b0fa5b455d911863c17e16849394191777bbba698c85a721046ea53b100010ac12 helm-ls-0.0.12.tar.gz
+"
diff --git a/testing/helm/APKBUILD b/testing/helm/APKBUILD
deleted file mode 100644
index db4bdde1d7d..00000000000
--- a/testing/helm/APKBUILD
+++ /dev/null
@@ -1,64 +0,0 @@
-# Contributor: techknowlogick <techknowlogick@gitea.io>
-# Maintainer: techknowlogick <techknowlogick@gitea.io>
-pkgname=helm
-pkgver=3.7.2
-pkgrel=0
-pkgdesc="The Kubernetes Package Manager"
-url="https://helm.sh/"
-arch="all !mips !mips64 !armhf" # mips does not have go, unit tests fails with armhf
-license="Apache-2.0"
-makedepends="bash go"
-options="net"
-subpackages="$pkgname-bash-completion $pkgname-fish-completion $pkgname-zsh-completion"
-source="$pkgname-$pkgver.tar.gz::https://github.com/helm/helm/archive/v$pkgver.tar.gz"
-
-# secfixes:
-# 3.6.0-r0:
-# - CVE-2021-21303
-# 3.6.1-r0:
-# - CVE-2021-32690
-
-case "$CARCH" in
- # Disable check on 32bit systems due to upstream test "TestPlatformPrepareCommand" that does not account for these platforms
- x86|armv7) options="$options !check" ;;
-esac
-
-export GOPATH="$srcdir/go"
-export GOCACHE="$srcdir/go-build"
-export GOTEMPDIR="$srcdir/go"
-
-export GOFLAGS="$GOFLAGS -modcacherw"
-
-prepare() {
- default_prepare
-
- # Update procfs version for riscv64 support.
- go mod edit -replace \
- github.com/prometheus/procfs=github.com/prometheus/procfs@v0.6.0
- go mod download github.com/prometheus/procfs
-}
-
-build() {
- export CGO_ENABLED=0 # breaks on aarch64
- make GOFLAGS="$GOFLAGS"
-
- ./bin/helm completion bash > $pkgname.bash
- ./bin/helm completion fish > $pkgname.fish
- ./bin/helm completion zsh > $pkgname.zsh
-}
-
-check() {
- make test-unit GOFLAGS="$GOFLAGS"
-}
-
-package() {
- install -Dm755 bin/helm -t "$pkgdir/usr/bin"
-
- install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/completions/$pkgname.fish
- install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
-}
-
-sha512sums="
-5072c2130b1073aff82146d1e724c6788b98a620d0a5a60ba6fb01a51042edcd455878ef5e4e46cd5bba9856faa8148dbca16fc42bd0fd1dad947d7aaa4b5fdf helm-3.7.2.tar.gz
-"
diff --git a/testing/helmfile/APKBUILD b/testing/helmfile/APKBUILD
new file mode 100644
index 00000000000..f0b454e7d5b
--- /dev/null
+++ b/testing/helmfile/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=helmfile
+pkgver=0.162.0
+pkgrel=2
+pkgdesc="Declarative spec for deploying helm charts"
+url="https://helmfile.readthedocs.io/"
+# armhf: ftbfs
+arch="all !armhf"
+license="MIT"
+depends="helm"
+makedepends="go"
+checkdepends="bash"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/helmfile/helmfile/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X go.szostok.io/version.version=$pkgver
+ -X go.szostok.io/version.buildDate=$(date -u "+%Y-%m-%dT%H:%M:%S%z" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ -X go.szostok.io/version.commitDate=$(date -u "+%Y-%m-%dT%H:%M:%S%z" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ -X go.szostok.io/version.commit=0000000
+ -X go.szostok.io/version.dirtyBuild=false
+ -X github.com/helmfile/helmfile/pkg/runtime.v1Mode=true
+ "
+ go build -v -o helmfile -ldflags "$_goldflags"
+
+ for shell in bash fish zsh; do
+ ./helmfile completion $shell > $pkgname.$shell
+ done
+}
+
+check() {
+ # e2e/template test requires docker
+ # shellcheck disable=2046
+ go test $(go list ./... | grep -v /e2e)
+}
+
+package() {
+ install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+
+ install -Dm644 helmfile.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/helmfile
+ install -Dm644 helmfile.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_helmfile
+ install -Dm644 helmfile.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/helmfile.fish
+}
+
+sha512sums="
+54c114c4f1deb090e7e6b198469629c783de7638b315972320b35ba53bae95d31d18df6ee3b28ed1bca1f2eba2d6e75dd64dc45ebf4d60af9cf4281b14ab2e91 helmfile-0.162.0.tar.gz
+"
diff --git a/testing/helvum/APKBUILD b/testing/helvum/APKBUILD
index fbdf671b9b3..836b316733c 100644
--- a/testing/helvum/APKBUILD
+++ b/testing/helvum/APKBUILD
@@ -1,20 +1,22 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=helvum
-pkgver=0.3.2
+pkgver=0.5.1
pkgrel=0
pkgdesc="GTK patchbay for pipewire"
-url="https://gitlab.freedesktop.org/ryuukyu/helvum"
-license="GPL-3.0"
+url="https://gitlab.freedesktop.org/pipewire/helvum"
+license="GPL-3.0-only"
arch="all !s390x !riscv64" # blocked by rust/cargo
arch="$arch !x86 !armv7 !armhf" # FTBFS on 32-bit systems
-makedepends="bash cargo meson clang-dev glib-dev gtk4.0-dev pipewire-dev"
-source="https://gitlab.freedesktop.org/ryuukyu/helvum/-/archive/$pkgver/helvum-$pkgver.tar.gz"
+makedepends="bash cargo desktop-file-utils meson clang-dev glib-dev gtk4.0-dev pipewire-dev libadwaita-dev"
+source="https://gitlab.freedesktop.org/pipewire/helvum/-/archive/$pkgver/helvum-$pkgver.tar.gz
+ pipewire-rs-0.7.2.patch
+ "
options="!check" # no test suite
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
@@ -22,5 +24,6 @@ package() {
}
sha512sums="
-a64574699215de1a4435aca6a1b1780677c5c09e83c377ccce1a9393373e2ed7fd993e8f05687fcd775d55ea0c1c8d2406634e3d82c0512666ed3517c9c51f00 helvum-0.3.2.tar.gz
+7d4655a32d0c35c4bcc4164f8bc08654be08613d488a12ec237ef7757242ebd3ca6bc944eb757a234080187eec2c9b558bdba228e8e1a9d9e670c1620f5bb4d1 helvum-0.5.1.tar.gz
+7b2701c5e7f8a195ad3bdb68de3881becfdcc4c11db3de9e16acf4828a159389c34ba8fbdd9918b9474d0df51a7f8d0a7a449b1976dea0fddc007feb9e9372fa pipewire-rs-0.7.2.patch
"
diff --git a/testing/helvum/pipewire-rs-0.7.2.patch b/testing/helvum/pipewire-rs-0.7.2.patch
new file mode 100644
index 00000000000..6d5c3ec3411
--- /dev/null
+++ b/testing/helvum/pipewire-rs-0.7.2.patch
@@ -0,0 +1,17 @@
+Fix build issue by upgrading pipewire-rs to 0.7.2
+
+see: https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/merge_requests/193
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 1152519..b4e4421 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -14,7 +14,7 @@ categories = ["gui", "multimedia"]
+ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+ [dependencies]
+-pipewire = "0.7.1"
++pipewire = "0.7.2"
+ adw = { version = "0.5", package = "libadwaita", features = ["v1_3"] }
+ glib = { version = "0.18", features = ["log"] }
+
diff --git a/testing/heplify-server/APKBUILD b/testing/heplify-server/APKBUILD
index f0e17fa2b3d..276505c4081 100644
--- a/testing/heplify-server/APKBUILD
+++ b/testing/heplify-server/APKBUILD
@@ -1,21 +1,21 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=heplify-server
-pkgver=1.55
-pkgrel=2
+pkgver=1.59.7
+pkgrel=0
pkgdesc="HEP Capture Server & Switch in Go"
url="http://sipcapture.io"
-arch="all !riscv64" # FTBFS
+arch="all !riscv64 !ppc64le" # FTBFS
license="AGPL-3.0-or-later"
makedepends="go"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sipcapture/heplify-server/archive/$pkgver.tar.gz
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sipcapture/heplify-server/archive/refs/tags/v$pkgver.tar.gz
$pkgname.initd
- fix-go-vet-errors.patch
"
case $CARCH in
- riscv64)
+ ppc64le|riscv64)
makedepends="$makedepends lua5.1-dev"
export GOFLAGS="$GOFLAGS -tags=llua"
;;
@@ -24,18 +24,18 @@ case $CARCH in
;;
esac
-
-export GOPATH="$srcdir/go"
-export GOCACHE="$srcdir/go-build"
-export GOTEMPDIR="$srcdir/go"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
export GOFLAGS="$GOFLAGS -modcacherw"
prepare() {
default_prepare
+ go mod download
case $CARCH in
- armhf|armv7|x86|s390x|mips64|riscv64)
+ armhf|armv7|x86|s390x|riscv64)
# -race is not supported on these arches
sed -i '/go test/s/-race//' Makefile
esac
@@ -60,7 +60,6 @@ package() {
}
sha512sums="
-1da175311e5638a356e3ff53799fb90ca309a6d10eb7a56fa51b84430c01e43d67654bfe89bc4d2031f30709db1ad1a90d9c5af344259acdbddc72501a5f572e heplify-server-1.55.tar.gz
-5c2c950e93bdbe5514be67e5012763883795d4ad3d83889d0fa360151b7eb860e9d4d00a47d188ab12722bc8db708cc557fbc3ea6dd912994e801758be62c02b heplify-server.initd
-2d1bdaffc9297e01b1b604bef3e511c5bc81817ddc231096e21036826fe32a9801d7db5ed38892b1dc8943455f3799b42347ef31d5df21db26caca4fe81e6a09 fix-go-vet-errors.patch
+3da594d16977ac967d2c52316f5634fbfb0a7464e44426eb1c8e55d0a47a3a4eea28964f12c53f4ac33deb88476816049544cf95973762ba99554ef368adea39 heplify-server-1.59.7.tar.gz
+72527dd11ee03923e9dbddf10929b3cb3b768d96aa33a7e04dae211d2198539f4d93303790bd2dcf8957c0fcc75afb45b03f6d2a40caabde616dc561e15c84ef heplify-server.initd
"
diff --git a/testing/heplify-server/fix-go-vet-errors.patch b/testing/heplify-server/fix-go-vet-errors.patch
deleted file mode 100644
index d098a203272..00000000000
--- a/testing/heplify-server/fix-go-vet-errors.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From e58baf45920806a959405e4b87223f1dd246a374 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Mon, 7 Jun 2021 18:50:27 +0200
-Subject: [PATCH] Fix go vet errors (#473)
-
-Fixes go vet errors:
-
- # github.com/sipcapture/heplify-server/rotator
- rotator/rotator.go:222:2: unreachable code
- # github.com/sipcapture/heplify-server/decoder
- decoder/decoder.go:299:35: possible misuse of reflect.SliceHeader
-
-see https://github.com/golang/go/issues/40701
----
- decoder/decoder.go | 13 +++++++------
- rotator/rotator.go | 9 +++++----
- 2 files changed, 12 insertions(+), 10 deletions(-)
-
-diff --git a/decoder/decoder.go b/decoder/decoder.go
-index 309e31d..e563953 100644
---- a/decoder/decoder.go
-+++ b/decoder/decoder.go
-@@ -291,12 +291,13 @@ func WriteJSONString(w io.Writer, s string) (int, error) {
-
- func stb(s string) []byte {
- sh := (*reflect.StringHeader)(unsafe.Pointer(&s))
-- bh := reflect.SliceHeader{
-- Data: sh.Data,
-- Len: sh.Len,
-- Cap: sh.Len,
-- }
-- return *(*[]byte)(unsafe.Pointer(&bh))
-+ var res []byte
-+
-+ bh := (*reflect.SliceHeader)((unsafe.Pointer(&res)))
-+ bh.Data = sh.Data
-+ bh.Len = sh.Len
-+ bh.Cap = sh.Len
-+ return res
- }
-
- func toUTF8(s, replacement string) string {
-diff --git a/rotator/rotator.go b/rotator/rotator.go
-index d23fa6c..4f795da 100644
---- a/rotator/rotator.go
-+++ b/rotator/rotator.go
-@@ -194,6 +194,8 @@ func (r *Rotator) getSizeInBtyes() (float64, error) {
-
- func (r *Rotator) GetDatabaseSize(db *sql.DB, schema string) (float64, error) {
- var databaseSize string
-+ var size float64
-+ var err error
- switch schema {
- case "maxusage":
- rows, err := db.Query("select pg_database_size('homer_data');")
-@@ -205,7 +207,7 @@ func (r *Rotator) GetDatabaseSize(db *sql.DB, schema string) (float64, error) {
- return 0, err
- }
- }
-- return strconv.ParseFloat(databaseSize, 64)
-+ size, err = strconv.ParseFloat(databaseSize, 64)
- default:
- rows, err := db.Query("select * from sys_df();")
- checkDBErr(err)
-@@ -216,10 +218,9 @@ func (r *Rotator) GetDatabaseSize(db *sql.DB, schema string) (float64, error) {
- return 0, err
- }
- }
-- percentageUsage, _ := strconv.ParseFloat(strings.TrimSuffix(strings.Split(databaseSize[1:len(databaseSize)-1], ",")[4], "%"), 64)
-- return percentageUsage, nil
-+ size, err = strconv.ParseFloat(strings.TrimSuffix(strings.Split(databaseSize[1:len(databaseSize)-1], ",")[4], "%"), 64)
- }
-- return 0, nil
-+ return size, err
- }
-
- func (r *Rotator) UsageProtection(scheme string) error {
diff --git a/testing/heplify-server/heplify-server.initd b/testing/heplify-server/heplify-server.initd
index a7ac51e2019..3f31a3b7a40 100644
--- a/testing/heplify-server/heplify-server.initd
+++ b/testing/heplify-server/heplify-server.initd
@@ -1,9 +1,9 @@
#!/sbin/openrc-run
description="HEP Capture Server & Switch"
-supervisor=supervise-daemon
command=/usr/bin/heplify-server
command_args="-config /etc/homer/heplify-server.toml"
+command_background=yes
command_user=homer
command_group=homer
pidfile="/run/homer/${RC_SVCNAME}.pid"
@@ -20,7 +20,7 @@ start_pre() {
reload() {
ebegin "Reloading PromTargetIP and PromTargetName in ${RC_SVCNAME} configuration"
- ${supervisor} ${RC_SVCNAME} --signal HUP
+ start-stop-daemon --signal HUP --pidfile "${pidfile}"
eend $?
}
diff --git a/testing/heplify/APKBUILD b/testing/heplify/APKBUILD
index 7a9c1c975c5..02f3aaa65f9 100644
--- a/testing/heplify/APKBUILD
+++ b/testing/heplify/APKBUILD
@@ -1,26 +1,35 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=heplify
-pkgver=1.56
-pkgrel=4
+pkgver=1.66.2
+pkgrel=0
pkgdesc="Multi-Protocol Go HEP Capture Agent made Simple"
url="http://sipcapture.io"
-arch="all !riscv64" # FTBFS
+arch="all !riscv64 !ppc64le" # FTBFS, luajit
license="AGPL-3.0-or-later"
-makedepends="go libpcap-dev linux-headers"
+makedepends="go libpcap-dev linux-headers luajit-dev"
subpackages="$pkgname-openrc"
-source="https://github.com/sipcapture/heplify/archive/$pkgver/heplify-$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/sipcapture/heplify/archive/refs/tags/v$pkgver.tar.gz
$pkgname.initd
$pkgname.confd
"
# net required to download Go dependencies
-options="net"
+options="net !check" #several tests failing
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ go mod download
+}
build() {
- make all
+ go build -ldflags "-s -w" -o heplify main.go
}
check() {
- make test
+ go test -v ./...
}
package() {
@@ -29,8 +38,13 @@ package() {
install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
+cleanup_srcdir() {
+ go clean -modcache
+ default_cleanup_srcdir
+}
+
sha512sums="
-d9eb0dec39c446a7a163b69221b32182733dc7bc1477e29e8e74bffddf961a1416c98d44a792cc9a3aae936002c7eb384e3128d96937736746829bf219f49555 heplify-1.56.tar.gz
-2f012f933f232f78362ee61332dcdec22e83fb70d1feb245f2342cb2dc668b8b53fcee10d73cda8920534370bb57b2884a4cfb77013fa7f584ab4f5a637a2d33 heplify.initd
+1ddc412c2a596e0b546681882dccf904d7b2958e71a3cc268dfdc75744f6c3917a811cfac4268bcc810b7c39fe63144940137acc0963756ebd6356e4fb3ed63a heplify-1.66.2.tar.gz
+0caa79fb124971bf68cd96336d127975ea8427962eed8d9e6fb68d4aa26ed635aa03746b6fcae4932a38c105beb6e267e96c7d41d495c799436cb91005405eee heplify.initd
da89419e17acd25cca30af13cca1a9278283cbe258de30da747fafa41bd567e3337992a8f1773cdc2eb64848ec35c30a132f81a10dada5d4dae431ef29d391f0 heplify.confd
"
diff --git a/testing/heplify/heplify.initd b/testing/heplify/heplify.initd
index c906f8c349d..8a9199748bc 100644
--- a/testing/heplify/heplify.initd
+++ b/testing/heplify/heplify.initd
@@ -1,9 +1,9 @@
#!/sbin/openrc-run
description="Multi-Protocol Go HEP Capture Agent"
-supervisor=supervise-daemon
command=/usr/bin/heplify
command_args=${CMD_OPTS:="-i lo"}
+command_background=yes
pidfile="/run/homer/${RC_SVCNAME}.pid"
depend() {
diff --git a/testing/herbe/APKBUILD b/testing/herbe/APKBUILD
new file mode 100644
index 00000000000..3e95a566fbf
--- /dev/null
+++ b/testing/herbe/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Eloi Torrents <eloitor@disroot.org>
+# Maintainer: Eloi Torrents <eloitor@disroot.org>
+pkgname=herbe
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="Daemon-less notifications without D-Bus"
+url="https://github.com/dudik/herbe"
+arch="all"
+license="MIT"
+makedepends="libxft-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dudik/herbe/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # No tests
+
+build() {
+ make herbe
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX="/usr" install
+}
+
+sha512sums="
+3f49de25fd92194d1354054c207616343d9c21a9d82c6c4e3316ebc5228c0bd90650621438d14cd4730135f328c0438ef054a2b6843f3bd4d15f9cb47a22df12 herbe-1.0.0.tar.gz
+"
diff --git a/testing/hex/APKBUILD b/testing/hex/APKBUILD
index e1219b5baba..f05c53ec96d 100644
--- a/testing/hex/APKBUILD
+++ b/testing/hex/APKBUILD
@@ -1,17 +1,23 @@
# Contributor: guddaff <guddaff@protonmail.com>
# Maintainer: guddaff <guddaff@protonmail.com>
pkgname=hex
-pkgver=0.4.2
-pkgrel=1
+pkgver=0.6.0
+pkgrel=0
pkgdesc="futuristic take on hexdump"
url="https://github.com/sitkevij/hex"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
license="MIT"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
source="$pkgname-$pkgver.tar.gz::https://github.com/sitkevij/hex/archive/refs/tags/v$pkgver.tar.gz"
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --release --locked
+ cargo auditable build --frozen --release
}
check() {
@@ -19,10 +25,10 @@ check() {
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
+ cargo auditable install --locked --path . --root="$pkgdir/usr"
rm "$pkgdir"/usr/.crates*
}
sha512sums="
-5b5706d931c4f6a9a21de5e883b264c9a2831a8be463a5283ac4cd3552eb44c480f45779fa6364dd97390a2d38f252b44313e4567186ec42c594451f295e648f hex-0.4.2.tar.gz
+d5d787a34f1602c9ee1543844b59da83f81d70c1da16397b09ea96205e96f29fffd44a38d5a7f5655cf38626f3d3c73539afcde23d81e8f550758746f9dfc444 hex-0.6.0.tar.gz
"
diff --git a/testing/hexdiff/APKBUILD b/testing/hexdiff/APKBUILD
index 57f6dabe3b7..a505846939e 100644
--- a/testing/hexdiff/APKBUILD
+++ b/testing/hexdiff/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=hexdiff
pkgver=0.0.53
-pkgrel=1
+pkgrel=2
pkgdesc="ncurses hex editor with diff mode for binary file comparison"
url="http://tboudet.free.fr/hexdiff/"
arch="all"
diff --git a/testing/hexedit/APKBUILD b/testing/hexedit/APKBUILD
new file mode 100644
index 00000000000..b44fb9f7b03
--- /dev/null
+++ b/testing/hexedit/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Rdbo <rdbodev@gmail.com>
+# Maintainer: Rdbo <rdbodev@gmail.com>
+pkgname=hexedit
+pkgver=1.6_git20230905
+pkgrel=0
+pkgdesc="View and edit files in hexadecimal or in ASCII"
+url="https://github.com/pixel/hexedit"
+arch="all"
+license="GPL-2.0-only"
+makedepends="autoconf ncurses-dev"
+_commit="3f0d6adf1636b4d7e01e014633eae8fdcdcb9570"
+source="https://github.com/pixel/hexedit/archive/$_commit/hexedit-$_commit.tar.gz"
+options="!check" # the program does not have testing capabilities
+builddir="$srcdir/hexedit-$_commit"
+subpackages="$pkgname-doc"
+
+prepare() {
+ default_prepare
+
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+5a4d6482a8063b3784e51e9f413caac41ad70b650b1473968e4b7f549b357e061aa23044451f482a354f995866c403c02a61d88a562fd3dda2b7bc6cb9187677 hexedit-3f0d6adf1636b4d7e01e014633eae8fdcdcb9570.tar.gz
+"
diff --git a/testing/hexer/APKBUILD b/testing/hexer/APKBUILD
index 31ab503031e..39e0fa42465 100644
--- a/testing/hexer/APKBUILD
+++ b/testing/hexer/APKBUILD
@@ -2,15 +2,15 @@
# Maintainer: Bradley J Chambers <brad.chambers@gmail.com>
pkgname=hexer
pkgver=1.4.0
-pkgrel=9
+pkgrel=14
pkgdesc="LAS and OGR hexagonal density and boundary surface generation"
-url="https://github.com/hobu/hexer"
+url="https://github.com/hobuinc/hexer"
arch="all"
license="LGPL-2.0-or-later"
options="!check"
makedepends="cmake gdal-dev"
subpackages="$pkgname-dev"
-source="hexer-$pkgver.tar.gz::https://github.com/hobu/hexer/archive/$pkgver.tar.gz
+source="hexer-$pkgver.tar.gz::https://github.com/hobuinc/hexer/archive/$pkgver.tar.gz
10-missing-includes.patch
20-compile-test-for-execinfo.patch"
diff --git a/testing/hexinject/APKBUILD b/testing/hexinject/APKBUILD
deleted file mode 100644
index 7572fa90566..00000000000
--- a/testing/hexinject/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Arch3y <arch3y@riseup.net>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=hexinject
-pkgver=1.6
-pkgrel=0
-pkgdesc="A very versatile packet injector and sniffer"
-url="http://hexinject.sourceforge.net/"
-arch="all"
-license="BSD"
-depends=""
-makedepends="libpcap-dev"
-source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz
- fix-build.patch"
-options="!check"
-builddir="$srcdir/$pkgname"
-
-build() {
- cd "$builddir"
- make
-}
-
-package() {
- cd "$builddir"
- install -Dm755 hexinject $pkgdir/usr/bin/hexinject
- install -Dm755 prettypacket $pkgdir/usr/bin/prettypacket
- install -Dm755 hex2raw $pkgdir/usr/bin/hex2raw
-}
-
-sha512sums="7432122a7ca42b7ac066cc55daec2d4a656b08e0f390db1a49f626181080d07687026d04a150573e3341e4e76f87a20b6466deddcc9d022e7d66fadcb8dac1ad hexinject-1.6.tar.gz
-7ab2e5a576e23bb5bfdefc8d9b9a432008d3e75bf4693cab6b0f20661cdf9286487b9c3294b9dfe207d134b8631e2083ac638f0821edc16be1510b8cc4a206aa fix-build.patch"
diff --git a/testing/hexinject/fix-build.patch b/testing/hexinject/fix-build.patch
deleted file mode 100644
index cce8b1e4f3b..00000000000
--- a/testing/hexinject/fix-build.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- hexinject/Makefile.orig 2017-08-29 07:29:31.430661450 +0000
-+++ hexinject/Makefile 2017-08-29 07:29:53.634411237 +0000
-@@ -3,9 +3,9 @@
- LDFLAGS = -lpcap
-
- all:
-- $(CC) $(CFLAGS) $(LDFLAGS) -o hexinject hexinject.c
-- $(CC) $(CFLAGS) $(LDFLAGS) -o prettypacket prettypacket.c
-- $(CC) $(CFLAGS) $(LDFLAGS) -o hex2raw hex2raw.c
-+ $(CC) $(CFLAGS) -o hexinject hexinject.c $(LDFLAGS)
-+ $(CC) $(CFLAGS) -o prettypacket prettypacket.c $(LDFLAGS)
-+ $(CC) $(CFLAGS) -o hex2raw hex2raw.c $(LDFLAGS)
-
- clean:
- rm -f hexinject prettypacket hex2raw *~
diff --git a/testing/hfst/APKBUILD b/testing/hfst/APKBUILD
index ad3b8eb3edf..d727bce8c20 100644
--- a/testing/hfst/APKBUILD
+++ b/testing/hfst/APKBUILD
@@ -2,16 +2,23 @@
# Contributor: Frankie Robertson <frankie@robertson.name>
# Maintainer:
pkgname=hfst
-pkgver=3.13.0
-pkgrel=3
+pkgver=3.16.0
+pkgrel=2
pkgdesc="Helsinki Finite-State Transducer Technology toolkit"
-url="http://www.ling.helsinki.fi/kieliteknologia/tutkimus/$pkgname/"
+url="https://hfst.github.io/"
arch="all"
license="LGPL-3.0-or-later"
-makedepends="python3 bison python3-dev swig"
+makedepends="
+ bison
+ icu-dev
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ swig
+ "
subpackages="$pkgname-dev $pkgname-doc py3-$pkgname:py3 $pkgname-libs"
-source="https://github.com/hfst/hfst/releases/download/v$pkgver/hfst-$pkgver.tar.gz
- missing_unistd_include.patch"
+source="https://github.com/hfst/hfst/releases/download/v$pkgver/hfst-$pkgver.tar.gz"
build() {
./configure \
@@ -27,23 +34,28 @@ build() {
--enable-all-tools \
--disable-static \
PYTHON=python3
- make -j1
+ make
+
+ cd python
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
make DESTDIR="$pkgdir" install
cd python
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
}
py3() {
pkgdesc="$pkgdesc (python3 bindings)"
depends="python3"
- mkdir -p "$subpkgdir"/usr/lib/
- cp -r "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib/
+ amove usr/lib/python3*
}
-sha512sums="9070d23577528ef562cce7229faf15206cbcf615b38500deedc6b5c58be4a0bdb14165f8bb3da644a2f264860ea0e8f2bc663e46284bc55c7b03a45c07845296 hfst-3.13.0.tar.gz
-0bfc63709dbefaaa4084bf78d169283a58ab4ee586e800446f5d92ee179d4c84959802f54e72ffa5366c49a2a30883deb54c562c9dcace21662d5cbdd06789d6 missing_unistd_include.patch"
+sha512sums="
+7c12b8641cd22f1c550c26741d5f46e8a9e1fbd3f9a8b462ce500e38ddac9641e33c59fe3d3474de5499217896fc056605da5fc9bd564fbac254c9949a80f36b hfst-3.16.0.tar.gz
+"
diff --git a/testing/hfst/missing_unistd_include.patch b/testing/hfst/missing_unistd_include.patch
deleted file mode 100644
index 5a5e6734c80..00000000000
--- a/testing/hfst/missing_unistd_include.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- hfst-3.8.2/libhfst/src/implementations/optimized-lookup/transducer.h
-+++ hfst-3.8.2/libhfst/src/implementations/optimized-lookup/transducer_new.h
-@@ -14,6 +14,7 @@
- #ifndef _HFST_OL_TRANSDUCER_TRANSDUCER_H_
- #define _HFST_OL_TRANSDUCER_TRANSDUCER_H_
-
-+#include <unistd.h>
- #include <vector>
- #include <set>
- #include <iostream>
diff --git a/testing/hiawatha/APKBUILD b/testing/hiawatha/APKBUILD
index 187af49d7bf..e3d7c35ee9b 100644
--- a/testing/hiawatha/APKBUILD
+++ b/testing/hiawatha/APKBUILD
@@ -2,17 +2,17 @@
# Contributor: Pascal Ernster <aur at hardfalcon dot net>
# Contributor: Stuart Cardall <developer at it-offshore dot co.uk>
pkgname=hiawatha
-pkgver=10.12
+pkgver=11.5
pkgrel=0
-_php=php8
+_php=php81
pkgdesc='Secure and advanced webserver'
-url='https://www.hiawatha-webserver.org/'
+url='https://hiawatha.leisink.net/'
arch="all"
license='GPL-2.0-only'
options="suid !check"
subpackages="$pkgname-doc $pkgname-openrc $pkgname-letsencrypt::noarch"
makedepends="cmake libxml2-dev libxslt-dev mbedtls-dev"
-source="https://hiawatha-webserver.org/files/hiawatha-10/hiawatha-$pkgver.tar.gz
+source="https://hiawatha.leisink.net/files/hiawatha-$pkgver.tar.gz
hiawatha.initd
hiawatha.conf.sample
letsencrypt.helper
@@ -50,9 +50,10 @@ letsencrypt() {
depends="$_php $_php-openssl"
pkgdesc="PHP scripts to generate SSL certificates with letsencrypt"
- mkdir -p "$subpkgdir"/usr/sbin "$subpkgdir"/usr/share/man/man1
+ mkdir -p "$subpkgdir"/usr/sbin "$subpkgdir"/usr/share/man/man1 "$subpkgdir"/usr/lib/hiawatha
mv "$pkgdir"-doc/usr/share/man/man1/lefh.1.gz "$subpkgdir"/usr/share/man/man1/
- mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
+ mv "$pkgdir"/usr/lib/hiawatha/letsencrypt "$subpkgdir"/usr/lib/hiawatha
+ rmdir -p "$pkgdir"/usr/lib/hiawatha || true
mv "$pkgdir"/usr/sbin/lefh "$subpkgdir"/usr/sbin/
mkdir -p "$subpkgdir"/usr/lib/hiawatha/letsencrypt/scripts
install -Dm750 "$builddir"/extra/letsencrypt/scripts/* "$subpkgdir"/usr/lib/hiawatha/letsencrypt/scripts/
@@ -60,8 +61,8 @@ letsencrypt() {
}
sha512sums="
-3b4866140e3073fdd4226a96362e7c29ab72f1d4a2b689ee1cd36e915f1aaa7e933bad453a2b236057c9fbfb3c5384b6b35589e59e85fdde38730e932ef045f8 hiawatha-10.12.tar.gz
+575013567488b76bf37734a882e6608378a236f4f8cce7bb35a3949c97b894c1efa5963ab589f59fe27e6e1ba06ff0490f0c7bf7cfc87cd77bd5b60ca85a4bb6 hiawatha-11.5.tar.gz
cec0adfb48e1751cf13031f2c28f4590340b2c747aa8e81d18c16bc8789bce69b2d9d99290a93b74b501db3b63190a071033a78abeeb8f60becba2dcaf3b5c40 hiawatha.initd
771bed17b5831bb9d4a28eb94482dd39de8c4b5b35b2c08e1c303a2778254f9e34e40a8d791cc7ef4e73740f474c502685252378e7fe2cba494c782c11f960d4 hiawatha.conf.sample
-704d4968feb0cbc9bc3fcd76a52c43efb708d89048349ea2daf2313bea1034c4b88a73a9473d6a012759e82ad8167408257b6dd3d266ae9eedef541255ba0ab6 letsencrypt.helper
+dbdd0cdf975b226d2ac27257861a1cc6c1f77c8387d632014368a1c835817a33b780f446cd3fdb7d9ca4322eaede1fea28652dde70928cc8a73f0b05dba46f6e letsencrypt.helper
"
diff --git a/testing/hiawatha/letsencrypt.helper b/testing/hiawatha/letsencrypt.helper
index c0e833fdea1..32ea2ac1c92 100644
--- a/testing/hiawatha/letsencrypt.helper
+++ b/testing/hiawatha/letsencrypt.helper
@@ -1,6 +1,6 @@
#!/bin/sh
-phplist="php8 php7"
+phplist="php81 php8 php7"
letsencrypt=/usr/sbin/lefh
find_php() {
diff --git a/testing/hidrd/APKBUILD b/testing/hidrd/APKBUILD
index 24d93ab1dc1..c6e1a23779a 100644
--- a/testing/hidrd/APKBUILD
+++ b/testing/hidrd/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=hidrd
pkgver=0.2.0_git20190603
-pkgrel=0
+pkgrel=1
_commit=6c0ed39708a5777ac620f902f39c8a0e03eefe4e
pkgdesc="HID report descriptor I/O library and conversion tool"
url="https://github.com/DIGImend/hidrd"
diff --git a/testing/hikari/APKBUILD b/testing/hikari/APKBUILD
new file mode 100644
index 00000000000..a51dea472f6
--- /dev/null
+++ b/testing/hikari/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=hikari
+pkgver=2.3.3
+pkgrel=6
+pkgdesc="Stacking Wayland compositor with additional tiling capabilities"
+url="https://hub.darcs.net/raichoo/hikari"
+arch="all"
+license="MIT"
+makedepends="
+ bmake
+ cairo-dev
+ libinput-dev
+ libucl-dev
+ libxkbcommon-dev
+ linux-pam-dev
+ pango-dev
+ pixman-dev
+ wayland-dev
+ wlroots0.15-dev
+ xwayland-dev
+ "
+subpackages="$pkgname-doc $pkgname-unlocker"
+source="https://hikari.acmelabs.space/releases/hikari-$pkgver.tar.gz
+ flag-arg.patch
+ "
+options="suid !check" # no tests, unlocker
+
+build() {
+ bmake WITH_ALL=1 ETC_PREFIX=/ PREFIX=/usr VERSION="$pkgver"
+}
+
+package() {
+ bmake DESTDIR="$pkgdir" ETC_PREFIX=/ PREFIX=/usr install
+}
+
+unlocker() {
+ pkgdesc="$pkgdesc (unlocker)"
+
+ amove usr/bin/hikari-unlocker
+}
+
+sha512sums="
+15b6244ef46b29ad069475e8fadbafb01a65c8f96d1f89dd315d36f79dfea9a542936a5472e42237000f506094c7e08be37961c92a7eeed31477f4ed548f39f3 hikari-2.3.3.tar.gz
+10b46bc1fee6953a3c6a1c74c38d168b167f5fd5832e195de043d6b1c202eac9e7f95ef58a79299007c40355fd345fb74d6f8e754525ab5df788bffc94d10804 flag-arg.patch
+"
diff --git a/testing/hikari/flag-arg.patch b/testing/hikari/flag-arg.patch
new file mode 100644
index 00000000000..41822d4efff
--- /dev/null
+++ b/testing/hikari/flag-arg.patch
@@ -0,0 +1,17 @@
+getopt returns an int.
+on non-x86 architectures where char is unsigned, this breaks starting the
+compositor
+(i think)
+diff --git a/main.c b/main.c
+index 50288b0..a6b03ed 100644
+--- a/main.c
++++ b/main.c
+@@ -144,7 +144,7 @@ parse_options(int argc, char **argv, struct options *options)
+ char *config_path = NULL;
+ char *autostart = NULL;
+
+- char flag;
++ int flag;
+ while ((flag = getopt(argc, argv, "vhc:a:")) != -1) {
+ switch (flag) {
+ case 'a':
diff --git a/testing/hilbish/APKBUILD b/testing/hilbish/APKBUILD
new file mode 100644
index 00000000000..b8ef6d3234b
--- /dev/null
+++ b/testing/hilbish/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=hilbish
+pkgver=2.2.1
+_lunacolors_commit=34a57c964590f89aa065188a588c7b38aff99c28
+_succulent_commit=fc31cc91d9be1c1fa6209477118e8d35a4aab996
+pkgrel=2
+pkgdesc="Extensible shell configured in Lua"
+url="https://rosettea.github.io/Hilbish/"
+arch="all"
+license="MIT"
+depends="lua-inspect"
+makedepends="go"
+subpackages="$pkgname-doc:_doc"
+install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/Rosettea/Hilbish/archive/v$pkgver.tar.gz
+ lunacolors-$_lunacolors_commit.lua::https://github.com/Rosettea/Lunacolors/raw/$_lunacolors_commit/init.lua
+ succulent-$_succulent_commit.lua::https://github.com/Rosettea/Succulent/raw/$_succulent_commit/init.lua
+ "
+builddir="$srcdir/Hilbish-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -o hilbish \
+ -ldflags "-X main.ver=v$pkgver -X main.dataDir=/usr/share/hilbish"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 hilbish -t "$pkgdir"/usr/bin/
+ install -Dm644 .hilbishrc.lua -t "$pkgdir"/usr/share/hilbish/
+ cp -r libs emmyLuaDocs nature docs "$pkgdir"/usr/share/hilbish/
+
+ install -Dm644 "$srcdir"/"lunacolors-$_lunacolors_commit".lua \
+ "$pkgdir"/usr/share/hilbish/libs/lunacolors/init.lua
+ install -Dm644 "$srcdir"/"succulent-$_succulent_commit".lua \
+ "$pkgdir"/usr/share/hilbish/libs/succulent/init.lua
+}
+
+_doc() {
+ pkgdesc="$pkgdesc (documentation)"
+ install_if="$pkgname=$pkgver-r$pkgrel docs"
+
+ amove usr/share/hilbish/docs
+}
+
+sha512sums="
+7ab726fa31d337eff48d9465ed1850cf086bd9d8e08f6fa7c60cab1ee4f0449f617fa32411e6fbdabb067fdb5de175621d16cca015d59edef6b2fb0b89424961 hilbish-2.2.1.tar.gz
+19c21fa66460254774ac795410b4771157d26be98790d94afa9dff4402904bbfa24556a88b9ae391f012536ba02c032857715352ad7b72d7b3175ee670edcad8 lunacolors-34a57c964590f89aa065188a588c7b38aff99c28.lua
+ce34e68fd4ab18267268d476b656946c6aad6530526c73ba8482180215a351255dc6b97ba3fc92bcedad0d27ac7b390e19602129e387326fac0eaf6a61718bc8 succulent-fc31cc91d9be1c1fa6209477118e8d35a4aab996.lua
+"
diff --git a/testing/hilbish/hilbish.post-install b/testing/hilbish/hilbish.post-install
new file mode 100644
index 00000000000..f2172a6d26d
--- /dev/null
+++ b/testing/hilbish/hilbish.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+add-shell '/usr/bin/hilbish'
+exit 0
diff --git a/testing/hilbish/hilbish.post-upgrade b/testing/hilbish/hilbish.post-upgrade
new file mode 120000
index 00000000000..eada67445c1
--- /dev/null
+++ b/testing/hilbish/hilbish.post-upgrade
@@ -0,0 +1 @@
+hilbish.post-install \ No newline at end of file
diff --git a/testing/hilbish/hilbish.pre-deinstall b/testing/hilbish/hilbish.pre-deinstall
new file mode 100644
index 00000000000..884b7f86fcc
--- /dev/null
+++ b/testing/hilbish/hilbish.pre-deinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+remove-shell '/usr/bin/hilbish'
+exit 0
diff --git a/testing/himalaya/APKBUILD b/testing/himalaya/APKBUILD
deleted file mode 100644
index 51e717f651a..00000000000
--- a/testing/himalaya/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=himalaya
-pkgver=0.5.1
-pkgrel=1
-pkgdesc="CLI email client"
-url="https://github.com/soywod/himalaya"
-license="BSD-3-Clause"
-arch="all !s390x !mips64 !riscv64" # blocked by rust/cargo
-makedepends="cargo openssl-dev"
-subpackages="$pkgname-bash-completion $pkgname-fish-completion $pkgname-zsh-completion"
-source="https://github.com/soywod/himalaya/archive/v$pkgver/himalaya-$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-
- ./target/release/himalaya completion bash > $pkgname.bash
- ./target/release/himalaya completion fish > $pkgname.fish
- ./target/release/himalaya completion zsh > $pkgname.zsh
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- install -Dm755 target/release/himalaya "$pkgdir"/usr/bin/himalaya
-
- install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/completions/$pkgname.fish
- install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
-}
-
-sha512sums="
-8e45dff561d11ce7c3df9882d00345862dfca8ece112eb2134f59d9b3a550b3d06faa16697f451704d4f4fc56cb48783910de7fefb9f3a6e8d95fa9b6eb5cecc himalaya-0.5.1.tar.gz
-"
diff --git a/testing/himitsu-firefox/APKBUILD b/testing/himitsu-firefox/APKBUILD
new file mode 100644
index 00000000000..f39e930bef4
--- /dev/null
+++ b/testing/himitsu-firefox/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer:
+pkgname=himitsu-firefox
+pkgver=0.5
+pkgrel=0
+pkgdesc="Firefox integration for Himitsu"
+url="https://himitsustore.org"
+arch="x86_64 aarch64 riscv64" # Hare
+license="GPL-3.0-only"
+makedepends="hare hare-json himitsu-dev zip"
+source="
+ $pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/himitsu-firefox/archive/$pkgver.tar.gz
+"
+install="$pkgname.post-install"
+options="!check"
+
+build() {
+ make -j1 PREFIX=/usr
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install-native
+}
+
+sha512sums="
+2a355ab273156c1e05b4ca9a0e248e068ebf1a564de32559b8692a03cb33f2880785c5aa63faeb69479f98b4adec3d353ac5c68329b24bc332833602b2f67006 himitsu-firefox-0.5.tar.gz
+"
diff --git a/testing/himitsu-firefox/himitsu-firefox.post-install b/testing/himitsu-firefox/himitsu-firefox.post-install
new file mode 100755
index 00000000000..45514924542
--- /dev/null
+++ b/testing/himitsu-firefox/himitsu-firefox.post-install
@@ -0,0 +1,10 @@
+#!/bin/sh
+cat >&2 <<EOF
+*
+* The himitsu-firefox package only includes the native messaging support for
+* the corresponding Firefox add-on. You must install the Firefox add-on
+* manually to actually use it:
+*
+* https://addons.mozilla.org/en-US/firefox/addon/himitsu-integration/
+*
+EOF
diff --git a/testing/himitsu-git/APKBUILD b/testing/himitsu-git/APKBUILD
new file mode 100644
index 00000000000..4b82fa2bcec
--- /dev/null
+++ b/testing/himitsu-git/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=himitsu-git
+_commit=3e6d6786cb74f985a671040a6f506be3306e6042
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="git-credential integration for Himitsu"
+url="https://himitsustore.org"
+arch="x86_64 aarch64 riscv64" # Hare
+license="GPL-3.0-only"
+depends="himitsu"
+makedepends="hare scdoc himitsu-dev"
+source="
+ $pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/himitsu-git/archive/$_commit.tar.gz
+ "
+options="!check"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ make -j1 PREFIX=/usr
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+0e380d2197d93a4f224ece66fc23e9ca474cdc33a103a71cb9764b50100b4712c4ab765741f24b77f1a7adb012210c006b875a6e01771cc9dcbcadcbfe48a1de himitsu-git-0.2.0.tar.gz
+"
diff --git a/testing/himitsu-keyring/APKBUILD b/testing/himitsu-keyring/APKBUILD
new file mode 100644
index 00000000000..b7e5ac9b267
--- /dev/null
+++ b/testing/himitsu-keyring/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+pkgname=himitsu-keyring
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Himitsu keystore frontend"
+url="https://git.sr.ht/~martijnbraam/keyring"
+arch="x86_64 aarch64" # Limited by himitsu
+license="GPL-3.0-or-later"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/keyring/archive/$pkgver.tar.gz"
+depends="python3 py3-gobject3 gtk+3.0 himitsu libhandy1"
+makedepends="py3-setuptools glib-dev meson ninja libhandy1-dev"
+builddir="$srcdir/keyring-$pkgver"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+3bfe6e8f021c2b62c35290c3614c17646c0835409eabd5dcc8abb45c91176867466b7bdd58373f9d61768e2c1083df0e4ebcc708e799bd651343b41b0c55fa63 himitsu-keyring-0.2.0.tar.gz
+"
diff --git a/testing/hinsightd/APKBUILD b/testing/hinsightd/APKBUILD
deleted file mode 100644
index 15ed285ace2..00000000000
--- a/testing/hinsightd/APKBUILD
+++ /dev/null
@@ -1,62 +0,0 @@
-# Contributor: Alexandru Campeanu <tiotags1@gmail.com>
-# Maintainer: Alexandru Campeanu <tiotags1@gmail.com>
-pkgname=hinsightd
-pkgver=0.9.11_git20210831
-pkgrel=0
-pkgdesc="hinsightd a http/1.1 webserver with (hopefully) minimal goals"
-url="https://gitlab.com/tiotags/hin9"
-arch="all"
-license="BSD-3-Clause"
-makedepends="cmake libcap lua-dev openssl-dev zlib-dev liburing-dev linux-headers"
-options="!check" # no test suite
-pkgusers="$pkgname"
-pkggroups="$pkgname"
-subpackages="$pkgname-dbg $pkgname-openrc"
-_commit="f04d7703f6cdbd2e33f8a7289d80a01dba5e970f"
-source="
- https://gitlab.com/tiotags/hin9/-/archive/$_commit/hin9-$_commit.tar.gz
- "
-builddir="$srcdir"/hin9-$_commit
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=None \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- install -D -m755 "$builddir"/build/hin9 \
- "$pkgdir"/usr/sbin/hinsightd
- setcap cap_net_bind_service+eip "$pkgdir"/usr/sbin/hinsightd
-
- # create dirs
- install -d -m2750 -o $pkgusers -g $pkggroups \
- "$pkgdir"/var/log/hinsightd/
- install -d -m755 \
- "$pkgdir"/etc/hinsightd/ \
- "$pkgdir"/var/www/localhost/htdocs
-
- install -m755 -D "$builddir"/external/packaging/$pkgname.initd.sh \
- "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$builddir"/external/packaging/$pkgname.confd.sh \
- "$pkgdir"/etc/conf.d/$pkgname
- install -m644 -D "$builddir"/external/packaging/$pkgname.logrotate.sh \
- "$pkgdir"/etc/logrotate.d/$pkgname
-
- # config files
- local i; for i in default_config.lua main.lua lib.lua
- do
- install -m644 "$builddir"/workdir/"$i" "$pkgdir"/etc/$pkgname/"$i"
- done
-
-}
-
-sha512sums="
-4bea1785f0ad83ffcf5437456e7f1c11e879dfa037fa89ca892a0d4d920bc7495ee68dc72d31025ebc977bcca48ca7e88194fe13e8884ebe2ce8e5d0b2f54cde hin9-f04d7703f6cdbd2e33f8a7289d80a01dba5e970f.tar.gz
-"
diff --git a/testing/hiprompt-gtk-py/APKBUILD b/testing/hiprompt-gtk-py/APKBUILD
new file mode 100644
index 00000000000..6a7befb5f33
--- /dev/null
+++ b/testing/hiprompt-gtk-py/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+pkgname=hiprompt-gtk-py
+pkgver=0_git20230225
+pkgrel=0
+_commit=8d6ef1d042ec2731f84245164094e622f4be3f2d
+pkgdesc="A GTK+ Himitsu prompter for Wayland"
+url="https://git.sr.ht/~sircmpwn/hiprompt-gtk-py"
+arch="noarch"
+license="GPL-3.0-or-later"
+source="$pkgname-$_commit.tar.gz::https://git.sr.ht/~sircmpwn/hiprompt-gtk-py/archive/$_commit.tar.gz"
+depends="python3 py3-gobject3 gtk+3.0"
+makedepends="py3-setuptools glib-dev meson ninja"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+cac43582ae8de7cb0c68cf28309644a10b6e797d8477ff6af06fc18fd14c3a3a86ae6f17e1f549b39dd263cd43482219a2fb10c7e77e5863da5c72f28c66993c hiprompt-gtk-py-8d6ef1d042ec2731f84245164094e622f4be3f2d.tar.gz
+"
diff --git a/testing/hiredict/APKBUILD b/testing/hiredict/APKBUILD
new file mode 100644
index 00000000000..9c574f9bc92
--- /dev/null
+++ b/testing/hiredict/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Eivind Uggedal <eu@eju.no>
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer: fossdd <fossdd@pwned.life>
+pkgname=hiredict
+pkgver=1.3.1
+pkgrel=0
+pkgdesc="C client library for Redict"
+url="https://codeberg.org/redict/hiredict"
+arch="all"
+license="BSD-3-Clause"
+makedepends="openssl-dev>3"
+checkdepends="redict"
+subpackages="$pkgname-ssl $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/redict/hiredict/archive/$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
+
+build() {
+ make USE_SSL=1 PREFIX=/usr DEBUG="$CFLAGS" LDFLAGS="$LDFLAGS"
+}
+
+check() {
+ redict-server \
+ --dir "$builddir" \
+ --enable-debug-command local \
+ --unixsocket "$builddir"/redict.sock&
+ local _redictpid=$!
+
+ make hiredict-test
+
+ # make sure socket is available before we start running tests
+ local _n=100 # wait up to 10 sec
+ while ! [ -e "$builddir"/redict.sock ] && [ $_n -gt 0 ]; do
+ sleep 0.1s
+ _n="$((_n - 1))"
+ done
+
+ ./hiredict-test -s "$builddir"/redict.sock || (kill $_redictpid && false)
+ kill $_redictpid
+}
+
+package() {
+ make USE_SSL=1 PREFIX="$pkgdir"/usr install
+}
+
+ssl() {
+ amove usr/lib/libhiredict_ssl.so*
+}
+
+sha512sums="
+208672d4dbdcc8bf21cff494ea2191b97b9d67b2c4b5a4f94e2c165613315b28b09e9e03de0495a069320df671e3f9d22a43209f175c2aae71550b0d832c0112 hiredict-1.3.1.tar.gz
+"
diff --git a/testing/hkdm/APKBUILD b/testing/hkdm/APKBUILD
deleted file mode 100644
index 6f35430f98b..00000000000
--- a/testing/hkdm/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Caleb Connolly <caleb@connolly.tech>
-pkgname=hkdm
-pkgver=0.1.4
-pkgrel=0
-pkgdesc="Lighter-weight hotkey daemon"
-url="https://gitlab.com/postmarketOS/hkdm"
-arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
-license="GPL-3.0-only"
-source="https://gitlab.com/postmarketOS/hkdm/-/archive/$pkgver/hkdm-$pkgver.tar.gz
- hkdm.openrc
- hkdm.conf"
-makedepends="cargo libevdev-dev"
-_cargo_opts="--frozen --no-default-features"
-
-prepare() {
- default_prepare
- cargo fetch --locked
-}
-
-build() {
- cargo build $_cargo_opts --release
-}
-
-check() {
- cargo test $_cargo_opts
-}
-
-package() {
- install -Dm644 "$builddir"/hkdm.example.toml "$pkgdir"/etc/hkdm/config.d/hkdm.toml.example
- install -Dm644 "$srcdir"/hkdm.conf "$pkgdir"/etc/conf.d/hkdm
- install -Dm755 target/release/hkdm -t "$pkgdir"/usr/sbin/
- install -Dm755 "$srcdir"/hkdm.openrc "$pkgdir"/etc/init.d/hkdm
-}
-
-sha512sums="
-82bc59d96d0642c183a37a0c56109e7cdf1370d104217ba7e8b909f764d540f6f8b5f80d23fc5c607ad213aa85b0ae575156bd9d170b286babc0a5d5ae335ed4 hkdm-0.1.4.tar.gz
-be538eeebeccc2454817a1df11b8ce6063f51df888c852f2e361aa2ebd9ad94b9c82c7c71fa1215be426aa5fa59993e1bb6132c9b2ff352cadc1e2b4125cb392 hkdm.openrc
-8dac666f468bc27fc9b8083f61a6bc0cac493784cd74ac1103fd44daa00103676ea836c48c82bd8cb5772cae07cc42f283b7ff326172cd40e7f91191577788ad hkdm.conf
-"
diff --git a/testing/hkdm/hkdm.conf b/testing/hkdm/hkdm.conf
deleted file mode 100644
index fa6c42c4842..00000000000
--- a/testing/hkdm/hkdm.conf
+++ /dev/null
@@ -1 +0,0 @@
-supervisor=supervise-daemon \ No newline at end of file
diff --git a/testing/hkdm/hkdm.openrc b/testing/hkdm/hkdm.openrc
deleted file mode 100644
index 81cfd9328c4..00000000000
--- a/testing/hkdm/hkdm.openrc
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/sbin/openrc-run
-
-command="/usr/sbin/hkdm"
-
-name="HKDM"
-description="Hotkey Daemon (For) Mobile"
diff --git a/testing/hledger-iadd/APKBUILD b/testing/hledger-iadd/APKBUILD
deleted file mode 100644
index ae0915177da..00000000000
--- a/testing/hledger-iadd/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Dhruvin Gandhi <contact@dhruvin.dev>
-# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
-pkgname=hledger-iadd
-pkgver=1.3.16
-pkgrel=0
-pkgdesc="A terminal UI as drop-in replacement for hledger add"
-url="https://github.com/hpdeifel/hledger-iadd#readme"
-arch="x86_64" # limited by ghc
-license="BSD-3-Clause"
-makedepends="ghc cabal libffi-dev ncurses-dev"
-source="https://hackage.haskell.org/package/hledger-iadd-$pkgver/hledger-iadd-$pkgver.tar.gz
- cabal.project.freeze"
-
-export CABAL_DIR="$srcdir"/cabal
-
-prepare() {
- default_prepare
- cp "$srcdir"/cabal.project.freeze .
-}
-
-build() {
- cabal update
- cabal build --prefix=/usr --enable-relocatable
-}
-
-check() {
- cabal test
-}
-
-package() {
- local ghcver=$(ghc --version | cut -d " " -f 8)
- install -Dm755 \
- "dist-newstyle/build/$arch-linux/ghc-$ghcver/$pkgname-$pkgver/x/$pkgname/build/$pkgname/$pkgname" \
- "$pkgdir"/usr/bin/$pkgname
-}
-
-sha512sums="
-e4a74a21714653d0595c3bfbc43c9545cd9028c85c024c39b067caa22e11bb1b4ffac8c45566b3640a087ece66f21e5dcf666c76f9fd21a0cc3f7e4a1501ff86 hledger-iadd-1.3.16.tar.gz
-1eae83f2da6573e03a925f075288e7e92e71c1fc42f5f0fb6e39298e8575b31e2dfea82499b86824089073586085a00fa07e8c6c838beb38e825f99a0d8cbc2f cabal.project.freeze
-"
diff --git a/testing/hledger-iadd/cabal.project.freeze b/testing/hledger-iadd/cabal.project.freeze
deleted file mode 100644
index abf178ab6d7..00000000000
--- a/testing/hledger-iadd/cabal.project.freeze
+++ /dev/null
@@ -1,177 +0,0 @@
-active-repositories: hackage.haskell.org:merge
-constraints: any.Cabal ==3.4.0.0,
- any.Decimal ==0.5.2,
- any.Glob ==0.10.2,
- any.HUnit ==1.6.2.0,
- any.OneTuple ==0.3.1,
- any.Only ==0.1,
- any.QuickCheck ==2.14.2,
- QuickCheck -old-random +templatehaskell,
- any.StateVar ==1.2.2,
- any.aeson ==2.0.2.0,
- aeson -bytestring-builder -cffi +ordered-keymap,
- any.aeson-pretty ==0.8.9,
- aeson-pretty -lib-only,
- any.ansi-terminal ==0.11.1,
- ansi-terminal -example,
- any.ansi-wl-pprint ==0.6.9,
- ansi-wl-pprint -example,
- any.array ==0.5.4.0,
- any.assoc ==1.0.2,
- any.attoparsec ==0.14.3,
- attoparsec -developer,
- any.base ==4.15.0.0,
- any.base-compat ==0.11.2,
- any.base-compat-batteries ==0.11.2,
- any.base-orphans ==0.8.6,
- any.bifunctors ==5.5.11,
- bifunctors +semigroups +tagged,
- any.binary ==0.8.8.0,
- any.blaze-builder ==0.4.2.2,
- any.blaze-markup ==0.8.2.8,
- any.brick ==0.65,
- brick -demos,
- any.bytestring ==0.10.12.1,
- any.cabal-doctest ==1.0.9,
- any.call-stack ==0.4.0,
- any.case-insensitive ==1.2.1.0,
- any.cassava ==0.5.2.0,
- cassava -bytestring--lt-0_10_4,
- any.cassava-megaparsec ==2.0.4,
- cassava-megaparsec -dev,
- any.clock ==0.8.2,
- clock -llvm,
- any.cmdargs ==0.10.21,
- cmdargs +quotation -testprog,
- any.colour ==2.3.6,
- any.comonad ==5.0.8,
- comonad +containers +distributive +indexed-traversable,
- any.config-ini ==0.2.4.0,
- config-ini -enable-doctests,
- any.containers ==0.6.4.1,
- any.contravariant ==1.5.5,
- contravariant +semigroups +statevar +tagged,
- any.csv ==0.1.2,
- any.data-clist ==0.1.2.3,
- any.data-default ==0.7.1.1,
- any.data-default-class ==0.1.2.0,
- any.data-default-instances-containers ==0.0.1,
- any.data-default-instances-dlist ==0.0.1,
- any.data-default-instances-old-locale ==0.0.1,
- any.data-fix ==0.3.2,
- any.deepseq ==1.4.5.0,
- any.directory ==1.3.6.1,
- any.distributive ==0.6.2.1,
- distributive +semigroups +tagged,
- any.dlist ==1.0,
- dlist -werror,
- any.exceptions ==0.10.4,
- any.extra ==1.7.10,
- any.file-embed ==0.0.15.0,
- any.filepath ==1.4.2.1,
- any.free ==5.1.7,
- any.ghc ==9.0.1,
- any.ghc-bignum ==1.0,
- any.ghc-bignum-orphans ==0.1.1,
- any.ghc-boot ==9.0.1,
- any.ghc-boot-th ==9.0.1,
- any.ghc-heap ==9.0.1,
- any.ghc-prim ==0.7.0,
- any.ghci ==9.0.1,
- any.hashable ==1.4.0.1,
- hashable +containers +integer-gmp -random-initial-seed,
- any.hashtables ==1.3,
- hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
- any.hledger-lib ==1.23,
- any.hpc ==0.6.1.0,
- any.hspec ==2.9.4,
- any.hspec-core ==2.9.4,
- any.hspec-discover ==2.9.4,
- any.hspec-expectations ==0.8.2,
- any.html ==1.0.1.2,
- any.indexed-traversable ==0.1.2,
- any.indexed-traversable-instances ==0.1.1,
- any.integer-logarithms ==1.0.3.1,
- integer-logarithms -check-bounds +integer-gmp,
- any.megaparsec ==9.1.0,
- megaparsec -dev,
- any.microlens ==0.4.12.0,
- any.microlens-mtl ==0.2.0.1,
- any.microlens-th ==0.4.3.10,
- any.mtl ==2.2.2,
- any.old-locale ==1.0.0.7,
- any.optparse-applicative ==0.16.1.0,
- optparse-applicative +process,
- any.parallel ==3.2.2.0,
- any.parsec ==3.1.14.0,
- any.parser-combinators ==1.3.0,
- parser-combinators -dev,
- any.pretty ==1.1.3.6,
- any.pretty-simple ==4.0.0.0,
- pretty-simple -buildexample -buildexe,
- any.prettyprinter ==1.7.1,
- prettyprinter -buildreadme +text,
- any.prettyprinter-ansi-terminal ==1.1.3,
- any.primitive ==0.7.3.0,
- any.process ==1.6.11.0,
- any.profunctors ==5.6.2,
- any.quickcheck-io ==0.2.0,
- any.random ==1.2.1,
- any.regex-base ==0.94.0.2,
- any.regex-tdfa ==1.3.1.1,
- regex-tdfa -force-o2,
- any.rts ==1.0,
- any.safe ==0.3.19,
- any.scientific ==0.3.7.0,
- scientific -bytestring-builder -integer-simple,
- any.semialign ==1.2.0.1,
- semialign +semigroupoids,
- any.semigroupoids ==5.3.6,
- semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
- any.setenv ==0.1.1.3,
- any.splitmix ==0.1.0.4,
- splitmix -optimised-mixer,
- any.stm ==2.5.0.0,
- any.strict ==0.4.0.1,
- strict +assoc,
- any.tabular ==0.2.2.8,
- any.tagged ==0.8.6.1,
- tagged +deepseq +transformers,
- any.tasty ==1.4.2.1,
- tasty +clock +unix,
- any.tasty-hunit ==0.10.0.3,
- any.template-haskell ==2.17.0.0,
- any.terminfo ==0.4.1.4,
- any.text ==1.2.4.1,
- any.text-short ==0.1.4,
- text-short -asserts,
- any.text-zipper ==0.11,
- any.tf-random ==0.5,
- any.th-abstraction ==0.4.3.0,
- any.these ==1.1.1.1,
- these +assoc,
- any.time ==1.9.3,
- any.time-compat ==1.9.6.1,
- time-compat -old-locale,
- any.timeit ==2.0,
- any.transformers ==0.5.6.2,
- any.transformers-base ==0.4.6,
- transformers-base +orphaninstances,
- any.transformers-compat ==0.7.1,
- transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
- any.uglymemo ==0.1.0.1,
- any.unbounded-delays ==0.1.1.1,
- any.unix ==2.7.2.2,
- any.unordered-containers ==0.2.16.0,
- unordered-containers -debug,
- any.utf8-string ==1.0.2,
- any.uuid-types ==1.0.5,
- any.vector ==0.12.3.1,
- vector +boundschecks -internalchecks -unsafechecks -wall,
- any.vty ==5.33,
- any.wcwidth ==0.0.2,
- wcwidth -cli +split-base,
- any.witherable ==0.4.2,
- any.word-wrap ==0.5,
- any.xdg-basedir ==0.2.2
-index-state: hackage.haskell.org 2021-12-14T06:08:15Z
diff --git a/testing/hledger-ui/APKBUILD b/testing/hledger-ui/APKBUILD
deleted file mode 100644
index dfa7d154ab0..00000000000
--- a/testing/hledger-ui/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Dhruvin Gandhi <contact@dhruvin.dev>
-# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
-pkgname=hledger-ui
-pkgver=1.24.1
-pkgrel=0
-pkgdesc="Curses-style terminal interface for the hledger accounting system"
-url="https://hledger.org/hledger-ui.html"
-arch="x86_64" # limited by ghc
-license="GPL-3.0-only"
-makedepends="ghc cabal libffi-dev ncurses-dev"
-subpackages="$pkgname-doc"
-source="https://hackage.haskell.org/package/hledger-ui-$pkgver/hledger-ui-$pkgver.tar.gz
- cabal.project.freeze"
-
-export CABAL_DIR="$srcdir"/cabal
-
-prepare() {
- default_prepare
- cp "$srcdir"/cabal.project.freeze .
-}
-
-build() {
- cabal update
- cabal build --prefix=/usr --enable-relocatable
-}
-
-check() {
- cabal test
-}
-
-package() {
- local ghcver=$(ghc --version | cut -d " " -f 8)
- install -Dm755 \
- "dist-newstyle/build/$arch-linux/ghc-$ghcver/$pkgname-$pkgver/x/$pkgname/build/$pkgname/$pkgname" \
- "$pkgdir"/usr/bin/$pkgname
- install -Dm644 $pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
-}
-
-sha512sums="
-9a71ba18c76a477a12df34adb4d1d11e5a72769b14e27950ff675107faf210dbe9ee18d4e6bf13151789f73591e72b62fb7f3ea581a2ddff6457814d9220f4d4 hledger-ui-1.24.1.tar.gz
-a8c9d31b82ad69cf0ad7324186f3f9b49ee7400b8eb450ce8fa6f99da28c138982bf16b1f1d20bf9ef7380509ea273d1e913d8d0e87192aba69154891aeab1bc cabal.project.freeze
-"
diff --git a/testing/hledger-ui/cabal.project.freeze b/testing/hledger-ui/cabal.project.freeze
deleted file mode 100644
index 7b03fa243a9..00000000000
--- a/testing/hledger-ui/cabal.project.freeze
+++ /dev/null
@@ -1,191 +0,0 @@
-active-repositories: hackage.haskell.org:merge
-constraints: any.Cabal ==3.4.0.0,
- any.Decimal ==0.5.2,
- any.Diff ==0.4.0,
- any.Glob ==0.10.2,
- any.Only ==0.1,
- any.QuickCheck ==2.14.2,
- QuickCheck -old-random +templatehaskell,
- any.StateVar ==1.2.2,
- any.aeson ==1.5.6.0,
- aeson -bytestring-builder -cffi -developer -fast,
- any.aeson-pretty ==0.8.9,
- aeson-pretty -lib-only,
- any.ansi-terminal ==0.11.1,
- ansi-terminal -example,
- any.ansi-wl-pprint ==0.6.9,
- ansi-wl-pprint -example,
- any.array ==0.5.4.0,
- any.assoc ==1.0.2,
- any.async ==2.2.4,
- async -bench,
- any.attoparsec ==0.14.3,
- attoparsec -developer,
- any.base ==4.15.0.0,
- any.base-compat ==0.12.1,
- any.base-compat-batteries ==0.12.1,
- any.base-orphans ==0.8.6,
- any.bifunctors ==5.5.11,
- bifunctors +semigroups +tagged,
- any.binary ==0.8.8.0,
- any.blaze-builder ==0.4.2.2,
- any.blaze-html ==0.9.1.2,
- any.blaze-markup ==0.8.2.8,
- any.brick ==0.65,
- brick -demos,
- any.bytestring ==0.10.12.1,
- any.cabal-doctest ==1.0.9,
- any.call-stack ==0.4.0,
- any.case-insensitive ==1.2.1.0,
- any.cassava ==0.5.2.0,
- cassava -bytestring--lt-0_10_4,
- any.cassava-megaparsec ==2.0.4,
- cassava-megaparsec -dev,
- any.clock ==0.8.2,
- clock -llvm,
- any.cmdargs ==0.10.21,
- cmdargs +quotation -testprog,
- any.colour ==2.3.6,
- any.comonad ==5.0.8,
- comonad +containers +distributive +indexed-traversable,
- any.config-ini ==0.2.4.0,
- config-ini -enable-doctests,
- any.constraints ==0.13.2,
- any.containers ==0.6.4.1,
- any.contravariant ==1.5.5,
- contravariant +semigroups +statevar +tagged,
- any.control-monad-free ==0.6.2,
- any.csv ==0.1.2,
- any.data-clist ==0.1.2.3,
- any.data-default ==0.7.1.1,
- any.data-default-class ==0.1.2.0,
- any.data-default-instances-containers ==0.0.1,
- any.data-default-instances-dlist ==0.0.1,
- any.data-default-instances-old-locale ==0.0.1,
- any.data-fix ==0.3.2,
- any.deepseq ==1.4.5.0,
- any.directory ==1.3.6.1,
- any.distributive ==0.6.2.1,
- distributive +semigroups +tagged,
- any.dlist ==1.0,
- dlist -werror,
- any.doclayout ==0.3.1.1,
- any.emojis ==0.1.2,
- any.enclosed-exceptions ==1.0.3,
- any.exceptions ==0.10.4,
- any.extra ==1.7.10,
- any.file-embed ==0.0.15.0,
- any.filepath ==1.4.2.1,
- any.fsnotify ==0.3.0.1,
- any.ghc-bignum ==1.0,
- any.ghc-boot-th ==9.0.1,
- any.ghc-prim ==0.7.0,
- any.githash ==0.1.6.2,
- any.hashable ==1.3.5.0,
- hashable +integer-gmp -random-initial-seed,
- any.hashtables ==1.2.4.2,
- hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
- any.haskeline ==0.8.1.0,
- any.hinotify ==0.4.1,
- any.hledger ==1.24.1,
- hledger +terminfo +threaded,
- any.hledger-lib ==1.24.1,
- hledger-ui +threaded,
- any.html ==1.0.1.2,
- any.indexed-traversable ==0.1.2,
- any.integer-logarithms ==1.0.3.1,
- integer-logarithms -check-bounds +integer-gmp,
- any.lifted-async ==0.10.2.2,
- any.lifted-base ==0.2.3.12,
- any.lucid ==2.11.0,
- any.math-functions ==0.3.4.2,
- math-functions +system-erf +system-expm1,
- any.megaparsec ==9.2.0,
- megaparsec -dev,
- any.microlens ==0.4.12.0,
- any.microlens-ghc ==0.4.13.1,
- any.microlens-mtl ==0.2.0.1,
- any.microlens-platform ==0.4.2.1,
- any.microlens-th ==0.4.3.10,
- any.mmorph ==1.2.0,
- any.monad-control ==1.0.3.1,
- any.mtl ==2.2.2,
- any.old-locale ==1.0.0.7,
- any.optparse-applicative ==0.16.1.0,
- optparse-applicative +process,
- any.parallel ==3.2.2.0,
- any.parsec ==3.1.14.0,
- any.parser-combinators ==1.3.0,
- parser-combinators -dev,
- any.pretty ==1.1.3.6,
- any.pretty-simple ==4.0.0.0,
- pretty-simple -buildexample -buildexe,
- any.prettyprinter ==1.7.1,
- prettyprinter -buildreadme +text,
- any.prettyprinter-ansi-terminal ==1.1.3,
- any.primitive ==0.7.3.0,
- any.process ==1.6.11.0,
- any.random ==1.2.1,
- any.regex-base ==0.94.0.2,
- any.regex-tdfa ==1.3.1.1,
- regex-tdfa -force-o2,
- any.rts ==1.0,
- any.safe ==0.3.19,
- any.scientific ==0.3.7.0,
- scientific -bytestring-builder -integer-simple,
- any.shakespeare ==2.0.25,
- shakespeare -test_coffee -test_export -test_roy,
- any.shelly ==1.9.0,
- shelly -build-examples -lifted,
- any.split ==0.2.3.4,
- any.splitmix ==0.1.0.4,
- splitmix -optimised-mixer,
- any.stm ==2.5.0.0,
- any.strict ==0.4.0.1,
- strict +assoc,
- any.tabular ==0.2.2.8,
- any.tagged ==0.8.6.1,
- tagged +deepseq +transformers,
- any.tasty ==1.4.2.1,
- tasty +clock +unix,
- any.tasty-hunit ==0.10.0.3,
- any.template-haskell ==2.17.0.0,
- any.temporary ==1.3,
- any.terminfo ==0.4.1.4,
- any.text ==1.2.4.1,
- any.text-short ==0.1.4,
- text-short -asserts,
- any.text-zipper ==0.11,
- any.th-abstraction ==0.4.3.0,
- any.th-compat ==0.1.3,
- any.th-lift ==0.8.2,
- any.these ==1.1.1.1,
- these +assoc,
- any.time ==1.9.3,
- any.time-compat ==1.9.6.1,
- time-compat -old-locale,
- any.timeit ==2.0,
- any.transformers ==0.5.6.2,
- any.transformers-base ==0.4.6,
- transformers-base +orphaninstances,
- any.transformers-compat ==0.7.1,
- transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
- any.type-equality ==1,
- any.uglymemo ==0.1.0.1,
- any.unbounded-delays ==0.1.1.1,
- any.unix ==2.7.2.2,
- any.unix-compat ==0.5.3,
- unix-compat -old-time,
- any.unordered-containers ==0.2.16.0,
- unordered-containers -debug,
- any.utf8-string ==1.0.2,
- any.utility-ht ==0.0.16,
- any.uuid-types ==1.0.5,
- any.vector ==0.12.3.1,
- vector +boundschecks -internalchecks -unsafechecks -wall,
- any.vty ==5.33,
- any.wcwidth ==0.0.2,
- wcwidth -cli +split-base,
- any.wizards ==1.0.3,
- any.word-wrap ==0.5
-index-state: hackage.haskell.org 2021-12-14T06:08:15Z
diff --git a/testing/hledger-web/APKBUILD b/testing/hledger-web/APKBUILD
deleted file mode 100644
index b482b192794..00000000000
--- a/testing/hledger-web/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Dhruvin Gandhi <contact@dhruvin.dev>
-# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
-pkgname=hledger-web
-pkgver=1.24.1
-pkgrel=1
-pkgdesc="Web interface for the hledger accounting system"
-url="https://hledger.org/hledger-web.html"
-arch="x86_64" # limited by ghc
-license="GPL-3.0-only"
-makedepends="ghc cabal libffi-dev ncurses-dev zlib-dev"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="https://hackage.haskell.org/package/hledger-web-$pkgver/hledger-web-$pkgver.tar.gz
- cabal.project.freeze
- hledger-web.initd"
-install="$pkgname.pre-install"
-
-export CABAL_DIR="$srcdir"/cabal
-
-prepare() {
- default_prepare
- cp "$srcdir"/cabal.project.freeze .
-}
-
-build() {
- cabal update
- cabal build --prefix=/usr --enable-relocatable
-}
-
-check() {
- cabal test
-}
-
-package() {
- local ghcver=$(ghc --version | cut -d " " -f 8)
- install -Dm755 \
- "dist-newstyle/build/$arch-linux/ghc-$ghcver/$pkgname-$pkgver/x/$pkgname/build/$pkgname/$pkgname" \
- "$pkgdir"/usr/bin/$pkgname
- install -Dm644 $pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
-}
-
-sha512sums="
-49e6292faad4a1311d1af950a98a546e6ec61f5dfa97539e62a806e63bbd43351861ab4c45f8eb7284e98367fb92e206a217e998c6572ca8b2f37e91bb93daaf hledger-web-1.24.1.tar.gz
-4e9341d76148248016abb82bf090f2bd9b93d698ddc4309625b04ca2fc00d918038f8c7c204a5ef8580b1f852b70d8f684988d494935d80dd84f4b573f9ea38b cabal.project.freeze
-4fd0898b29736c1d7f5b41b1ccca8734f38999e5ba88656e092724a7ce4ed346b4f86d627c99be77934eaa7cd86e33ce20a33a60650f1ad8a527c57387179365 hledger-web.initd
-"
diff --git a/testing/hledger-web/cabal.project.freeze b/testing/hledger-web/cabal.project.freeze
deleted file mode 100644
index 2889c92d7c2..00000000000
--- a/testing/hledger-web/cabal.project.freeze
+++ /dev/null
@@ -1,321 +0,0 @@
-active-repositories: hackage.haskell.org:merge
-constraints: any.Cabal ==3.4.0.0,
- any.Decimal ==0.5.2,
- any.Diff ==0.4.0,
- any.Glob ==0.10.2,
- any.HUnit ==1.6.2.0,
- any.Only ==0.1,
- any.QuickCheck ==2.14.2,
- QuickCheck -old-random +templatehaskell,
- any.aeson ==1.5.6.0,
- aeson -bytestring-builder -cffi -developer -fast,
- any.aeson-pretty ==0.8.9,
- aeson-pretty -lib-only,
- any.alex ==3.2.6,
- alex +small_base,
- any.ansi-terminal ==0.11.1,
- ansi-terminal -example,
- any.ansi-wl-pprint ==0.6.9,
- ansi-wl-pprint -example,
- any.appar ==0.1.8,
- any.array ==0.5.4.0,
- any.asn1-encoding ==0.9.6,
- any.asn1-parse ==0.9.5,
- any.asn1-types ==0.3.4,
- any.assoc ==1.0.2,
- any.async ==2.2.4,
- async -bench,
- any.attoparsec ==0.14.3,
- attoparsec -developer,
- any.attoparsec-iso8601 ==1.0.2.0,
- attoparsec-iso8601 -developer -fast,
- any.auto-update ==0.1.6,
- any.base ==4.15.0.0,
- any.base-compat ==0.12.1,
- any.base-compat-batteries ==0.12.1,
- any.base-orphans ==0.8.6,
- any.base-unicode-symbols ==0.2.4.2,
- base-unicode-symbols +base-4-8 -old-base,
- any.base64 ==0.4.2.3,
- any.base64-bytestring ==1.2.1.0,
- any.basement ==0.0.12,
- any.bifunctors ==5.5.11,
- bifunctors +semigroups +tagged,
- any.binary ==0.8.8.0,
- any.blaze-builder ==0.4.2.2,
- any.blaze-html ==0.9.1.2,
- any.blaze-markup ==0.8.2.8,
- any.bsb-http-chunked ==0.0.0.4,
- any.byteable ==0.1.1,
- any.byteorder ==1.0.4,
- any.bytestring ==0.10.12.1,
- any.cabal-doctest ==1.0.9,
- any.call-stack ==0.4.0,
- any.case-insensitive ==1.2.1.0,
- any.cassava ==0.5.2.0,
- cassava -bytestring--lt-0_10_4,
- any.cassava-megaparsec ==2.0.4,
- cassava-megaparsec -dev,
- any.cereal ==0.5.8.2,
- cereal -bytestring-builder,
- any.cipher-aes ==0.2.11,
- cipher-aes +support_aesni,
- any.clientsession ==0.9.1.2,
- clientsession -test,
- any.clock ==0.8.2,
- clock -llvm,
- any.cmdargs ==0.10.21,
- cmdargs +quotation -testprog,
- any.colour ==2.3.6,
- any.comonad ==5.0.8,
- comonad +containers +distributive +indexed-traversable,
- any.conduit ==1.3.4.2,
- any.conduit-extra ==1.3.5,
- any.connection ==0.3.1,
- any.containers ==0.6.4.1,
- any.control-monad-free ==0.6.2,
- any.cookie ==0.4.5,
- any.cprng-aes ==0.6.1,
- any.crypto-api ==0.13.3,
- crypto-api -all_cpolys,
- any.crypto-cipher-types ==0.0.9,
- any.crypto-random ==0.0.9,
- any.cryptonite ==0.29,
- cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
- any.cryptonite-conduit ==0.2.2,
- any.css-text ==0.1.3.0,
- any.csv ==0.1.2,
- any.data-default ==0.7.1.1,
- any.data-default-class ==0.1.2.0,
- any.data-default-instances-containers ==0.0.1,
- any.data-default-instances-dlist ==0.0.1,
- any.data-default-instances-old-locale ==0.0.1,
- any.data-fix ==0.3.2,
- any.deepseq ==1.4.5.0,
- any.directory ==1.3.6.1,
- any.distributive ==0.6.2.1,
- distributive +semigroups +tagged,
- any.dlist ==1.0,
- dlist -werror,
- any.doclayout ==0.3.1.1,
- any.easy-file ==0.2.2,
- any.email-validate ==2.3.2.15,
- any.emojis ==0.1.2,
- any.entropy ==0.4.1.7,
- entropy -halvm,
- any.exceptions ==0.10.4,
- any.extra ==1.7.10,
- any.fast-logger ==3.1.0,
- any.file-embed ==0.0.15.0,
- any.filepath ==1.4.2.1,
- any.ghc ==9.0.1,
- any.ghc-bignum ==1.0,
- any.ghc-boot ==9.0.1,
- any.ghc-boot-th ==9.0.1,
- any.ghc-byteorder ==4.11.0.0.10,
- any.ghc-heap ==9.0.1,
- any.ghc-prim ==0.7.0,
- any.ghci ==9.0.1,
- any.githash ==0.1.6.2,
- any.happy ==1.20.0,
- any.hashable ==1.3.5.0,
- hashable +integer-gmp -random-initial-seed,
- any.hashtables ==1.2.4.2,
- hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
- any.haskeline ==0.8.1.0,
- any.haskell-lexer ==1.1,
- any.hjsmin ==0.2.0.4,
- any.hledger ==1.24.1,
- hledger +terminfo +threaded,
- any.hledger-lib ==1.24.1,
- hledger-web -dev -library-only +threaded,
- any.hourglass ==0.2.12,
- any.hpc ==0.6.1.0,
- any.hsc2hs ==0.68.8,
- hsc2hs -in-ghc-tree,
- any.hspec ==2.9.4,
- any.hspec-core ==2.9.4,
- any.hspec-discover ==2.9.4,
- any.hspec-expectations ==0.8.2,
- any.html ==1.0.1.2,
- any.html-conduit ==1.3.2.2,
- any.http-api-data ==0.4.3,
- http-api-data -use-text-show,
- any.http-client ==0.7.9,
- http-client +network-uri,
- any.http-client-tls ==0.3.5.3,
- any.http-conduit ==2.3.8,
- http-conduit +aeson,
- any.http-date ==0.0.11,
- any.http-types ==0.12.3,
- any.http2 ==3.0.2,
- http2 -devel -doc -h2spec,
- any.indexed-traversable ==0.1.2,
- any.integer-gmp ==1.1,
- any.integer-logarithms ==1.0.3.1,
- integer-logarithms -check-bounds +integer-gmp,
- any.iproute ==1.7.12,
- any.language-javascript ==0.7.1.0,
- any.libyaml ==0.1.2,
- libyaml -no-unicode -system-libyaml,
- any.lift-type ==0.1.0.1,
- any.lifted-base ==0.2.3.12,
- any.lucid ==2.11.0,
- any.math-functions ==0.3.4.2,
- math-functions +system-erf +system-expm1,
- any.megaparsec ==9.2.0,
- megaparsec -dev,
- any.memory ==0.16.0,
- memory +support_basement +support_bytestring +support_deepseq +support_foundation,
- any.microlens ==0.4.12.0,
- any.microlens-th ==0.4.3.10,
- any.mime-types ==0.1.0.9,
- any.mmorph ==1.2.0,
- any.monad-control ==1.0.3.1,
- any.monad-logger ==0.3.36,
- monad-logger +template_haskell,
- any.monad-loops ==0.4.3,
- monad-loops +base4,
- any.mono-traversable ==1.0.15.3,
- any.mtl ==2.2.2,
- any.network ==3.1.2.5,
- network -devel,
- any.network-byte-order ==0.1.6,
- any.network-uri ==2.6.4.1,
- any.old-locale ==1.0.0.7,
- any.old-time ==1.1.0.3,
- any.optparse-applicative ==0.16.1.0,
- optparse-applicative +process,
- any.parsec ==3.1.14.0,
- any.parser-combinators ==1.3.0,
- parser-combinators -dev,
- any.path-pieces ==0.2.1,
- any.pem ==0.2.4,
- any.persistent ==2.13.2.1,
- any.persistent-template ==2.12.0.0,
- any.pretty ==1.1.3.6,
- any.pretty-show ==1.10,
- any.pretty-simple ==4.0.0.0,
- pretty-simple -buildexample -buildexe,
- any.prettyprinter ==1.7.1,
- prettyprinter -buildreadme +text,
- any.prettyprinter-ansi-terminal ==1.1.3,
- any.primitive ==0.7.3.0,
- any.process ==1.6.11.0,
- any.psqueues ==0.2.7.3,
- any.quickcheck-io ==0.2.0,
- any.random ==1.2.1,
- any.regex-base ==0.94.0.2,
- any.regex-tdfa ==1.3.1.1,
- regex-tdfa -force-o2,
- any.resource-pool ==0.2.3.2,
- resource-pool -developer,
- any.resourcet ==1.2.4.3,
- any.rts ==1.0,
- any.safe ==0.3.19,
- any.scientific ==0.3.7.0,
- scientific -bytestring-builder -integer-simple,
- any.securemem ==0.1.10,
- any.setenv ==0.1.1.3,
- any.shakespeare ==2.0.25,
- shakespeare -test_coffee -test_export -test_roy,
- any.silently ==1.2.5.2,
- any.simple-sendfile ==0.2.30,
- simple-sendfile +allow-bsd,
- any.skein ==1.0.9.4,
- skein -big-endian -force-endianness -reference,
- any.socks ==0.6.1,
- any.split ==0.2.3.4,
- any.splitmix ==0.1.0.4,
- splitmix -optimised-mixer,
- any.stm ==2.5.0.0,
- any.stm-chans ==3.0.0.6,
- any.streaming-commons ==0.2.2.3,
- streaming-commons -use-bytestring-builder,
- any.strict ==0.4.0.1,
- strict +assoc,
- any.tabular ==0.2.2.8,
- any.tagged ==0.8.6.1,
- tagged +deepseq +transformers,
- any.tagsoup ==0.14.8,
- any.tasty ==1.4.2.1,
- tasty +clock +unix,
- any.tasty-hunit ==0.10.0.3,
- any.template-haskell ==2.17.0.0,
- any.temporary ==1.3,
- any.terminfo ==0.4.1.4,
- any.text ==1.2.4.1,
- any.text-short ==0.1.4,
- text-short -asserts,
- any.tf-random ==0.5,
- any.th-abstraction ==0.4.3.0,
- any.th-compat ==0.1.3,
- any.th-lift ==0.8.2,
- any.th-lift-instances ==0.1.18,
- any.these ==1.1.1.1,
- these +assoc,
- any.time ==1.9.3,
- any.time-compat ==1.9.6.1,
- time-compat -old-locale,
- any.time-manager ==0.0.0,
- any.timeit ==2.0,
- any.tls ==1.5.5,
- tls +compat -hans +network,
- any.transformers ==0.5.6.2,
- any.transformers-base ==0.4.6,
- transformers-base +orphaninstances,
- any.transformers-compat ==0.7.1,
- transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
- any.typed-process ==0.2.8.0,
- any.uglymemo ==0.1.0.1,
- any.unbounded-delays ==0.1.1.1,
- any.unix ==2.7.2.2,
- any.unix-compat ==0.5.3,
- unix-compat -old-time,
- any.unix-time ==0.4.7,
- any.unliftio ==0.2.20,
- any.unliftio-core ==0.2.0.1,
- any.unordered-containers ==0.2.16.0,
- unordered-containers -debug,
- any.utf8-string ==1.0.2,
- any.utility-ht ==0.0.16,
- any.uuid-types ==1.0.5,
- any.vault ==0.3.1.5,
- vault +useghc,
- any.vector ==0.12.3.1,
- vector +boundschecks -internalchecks -unsafechecks -wall,
- any.vector-algorithms ==0.8.0.4,
- vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
- any.wai ==3.2.3,
- any.wai-app-static ==3.1.7.2,
- wai-app-static -print,
- any.wai-cors ==0.2.7,
- any.wai-extra ==3.1.7,
- wai-extra -build-example,
- any.wai-handler-launch ==3.0.3.1,
- any.wai-logger ==2.3.7,
- any.warp ==3.3.18,
- warp +allow-sendfilefd -network-bytestring -warp-debug,
- any.wcwidth ==0.0.2,
- wcwidth -cli +split-base,
- any.wizards ==1.0.3,
- any.word8 ==0.1.3,
- any.x509 ==1.7.5,
- any.x509-store ==1.6.7,
- any.x509-system ==1.6.6,
- any.x509-validation ==1.6.11,
- any.xml-conduit ==1.9.1.1,
- any.xml-types ==0.3.8,
- any.xss-sanitize ==0.3.7,
- any.yaml ==0.11.7.0,
- yaml +no-examples +no-exe,
- any.yesod ==1.6.1.2,
- any.yesod-core ==1.6.21.0,
- any.yesod-form ==1.7.0,
- yesod-form +network-uri,
- any.yesod-persistent ==1.6.0.7,
- any.yesod-static ==1.6.1.0,
- any.yesod-test ==1.6.12,
- any.zlib ==0.6.2.3,
- zlib -bundled-c-zlib -non-blocking-ffi -pkg-config
-index-state: hackage.haskell.org 2021-12-13T00:20:07Z
diff --git a/testing/hledger-web/hledger-web.initd b/testing/hledger-web/hledger-web.initd
deleted file mode 100644
index 9373ec1bf60..00000000000
--- a/testing/hledger-web/hledger-web.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-
-name=hledger-web
-command="/usr/bin/$name"
-command_args="${command_args:---serve}"
-command_background="yes"
-command_user="hledger"
-pidfile="/run/$name.pid"
-output_log="/var/log/$name"
-error_log="$output_log"
-
-depend() {
- need net
- after firewall
-}
-
-start_pre() {
- checkpath -F -o $command_user:$command_user \
- /var/log/$name
- checkpath -f -o $command_user:$command_user \
- /var/lib/hledger/.hledger.journal
-}
diff --git a/testing/hledger-web/hledger-web.pre-install b/testing/hledger-web/hledger-web.pre-install
deleted file mode 100644
index 4d51b873ab3..00000000000
--- a/testing/hledger-web/hledger-web.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S hledger 2>/dev/null
-adduser -S -D -H -h /var/lib/hledger -s /sbin/nologin -G hledger -g hledger hledger 2>/dev/null
-
-exit 0
diff --git a/testing/hledger/APKBUILD b/testing/hledger/APKBUILD
deleted file mode 100644
index 8eb95959f19..00000000000
--- a/testing/hledger/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Dhruvin Gandhi <contact@dhruvin.dev>
-# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
-pkgname=hledger
-pkgver=1.24.1
-pkgrel=0
-pkgdesc="Command-line interface for the hledger accounting system"
-url="https://hledger.org/hledger.html"
-arch="x86_64" # limited by ghc
-license="GPL-3.0-only"
-makedepends="ghc cabal libffi-dev ncurses-dev"
-subpackages="$pkgname-doc $pkgname-bash-completion"
-source="https://hackage.haskell.org/package/hledger-$pkgver/hledger-$pkgver.tar.gz
- cabal.project.freeze"
-
-export CABAL_DIR="$srcdir"/cabal
-
-prepare() {
- default_prepare
- cp "$srcdir"/cabal.project.freeze .
-}
-
-build() {
- cabal update
- cabal build --prefix=/usr --enable-relocatable
-}
-
-check() {
- cabal test
-}
-
-package() {
- local ghcver=$(ghc --version | cut -d " " -f 8)
- install -Dm755 \
- "dist-newstyle/build/$arch-linux/ghc-$ghcver/$pkgname-$pkgver/x/$pkgname/build/$pkgname/$pkgname" \
- "$pkgdir"/usr/bin/$pkgname
- install -Dm644 $pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
- install -Dm644 shell-completion/$pkgname-completion.bash \
- "$pkgdir"/usr/share/bash-completion/completions/$pkgname
-}
-
-sha512sums="
-0941258f7c6f699967261eaf9e20c1f81f6694b8f559ac1e729f37cff64dce3b787447f69c222115437318e8ccd6c4273e52befa41b3419f8fb4cc131c7fcdf7 hledger-1.24.1.tar.gz
-fc86ff74ad6a01e844ffba7072ce23c705c9e2c2be81542687d1295ec33fa892ba8d2b1a341eaac3afae27d9bdb84cb523c9c696581c9ba8d6a99a8a62a5e282 cabal.project.freeze
-"
diff --git a/testing/hledger/cabal.project.freeze b/testing/hledger/cabal.project.freeze
deleted file mode 100644
index c9a8df42d4b..00000000000
--- a/testing/hledger/cabal.project.freeze
+++ /dev/null
@@ -1,156 +0,0 @@
-active-repositories: hackage.haskell.org:merge
-constraints: any.Cabal ==3.4.0.0,
- any.Decimal ==0.5.2,
- any.Diff ==0.4.0,
- any.Glob ==0.10.2,
- any.Only ==0.1,
- any.aeson ==1.5.6.0,
- aeson -bytestring-builder -cffi -developer -fast,
- any.aeson-pretty ==0.8.9,
- aeson-pretty -lib-only,
- any.ansi-terminal ==0.11.1,
- ansi-terminal -example,
- any.ansi-wl-pprint ==0.6.9,
- ansi-wl-pprint -example,
- any.array ==0.5.4.0,
- any.assoc ==1.0.2,
- any.attoparsec ==0.14.3,
- attoparsec -developer,
- any.base ==4.15.0.0,
- any.base-compat ==0.12.1,
- any.base-compat-batteries ==0.12.1,
- any.base-orphans ==0.8.6,
- any.bifunctors ==5.5.11,
- bifunctors +semigroups +tagged,
- any.binary ==0.8.8.0,
- any.blaze-builder ==0.4.2.2,
- any.blaze-html ==0.9.1.2,
- any.blaze-markup ==0.8.2.8,
- any.bytestring ==0.10.12.1,
- any.cabal-doctest ==1.0.9,
- any.call-stack ==0.4.0,
- any.case-insensitive ==1.2.1.0,
- any.cassava ==0.5.2.0,
- cassava -bytestring--lt-0_10_4,
- any.cassava-megaparsec ==2.0.4,
- cassava-megaparsec -dev,
- any.clock ==0.8.2,
- clock -llvm,
- any.cmdargs ==0.10.21,
- cmdargs +quotation -testprog,
- any.colour ==2.3.6,
- any.comonad ==5.0.8,
- comonad +containers +distributive +indexed-traversable,
- any.containers ==0.6.4.1,
- any.control-monad-free ==0.6.2,
- any.csv ==0.1.2,
- any.data-default ==0.7.1.1,
- any.data-default-class ==0.1.2.0,
- any.data-default-instances-containers ==0.0.1,
- any.data-default-instances-dlist ==0.0.1,
- any.data-default-instances-old-locale ==0.0.1,
- any.data-fix ==0.3.2,
- any.deepseq ==1.4.5.0,
- any.directory ==1.3.6.1,
- any.distributive ==0.6.2.1,
- distributive +semigroups +tagged,
- any.dlist ==1.0,
- dlist -werror,
- any.doclayout ==0.3.1.1,
- any.emojis ==0.1.2,
- any.exceptions ==0.10.4,
- any.extra ==1.7.10,
- any.file-embed ==0.0.15.0,
- any.filepath ==1.4.2.1,
- any.ghc-bignum ==1.0,
- any.ghc-boot-th ==9.0.1,
- any.ghc-prim ==0.7.0,
- any.githash ==0.1.6.2,
- any.hashable ==1.3.5.0,
- hashable +integer-gmp -random-initial-seed,
- any.hashtables ==1.2.4.2,
- hashtables -bounds-checking -debug -detailed-profiling -portable -sse42 +unsafe-tricks,
- any.haskeline ==0.8.1.0,
- hledger +terminfo +threaded,
- any.hledger-lib ==1.24.1,
- any.html ==1.0.1.2,
- any.indexed-traversable ==0.1.2,
- any.integer-logarithms ==1.0.3.1,
- integer-logarithms -check-bounds +integer-gmp,
- any.lucid ==2.11.0,
- any.math-functions ==0.3.4.2,
- math-functions +system-erf +system-expm1,
- any.megaparsec ==9.2.0,
- megaparsec -dev,
- any.microlens ==0.4.12.0,
- any.microlens-th ==0.4.3.10,
- any.mmorph ==1.2.0,
- any.mtl ==2.2.2,
- any.old-locale ==1.0.0.7,
- any.optparse-applicative ==0.16.1.0,
- optparse-applicative +process,
- any.parsec ==3.1.14.0,
- any.parser-combinators ==1.3.0,
- parser-combinators -dev,
- any.pretty ==1.1.3.6,
- any.pretty-simple ==4.0.0.0,
- pretty-simple -buildexample -buildexe,
- any.prettyprinter ==1.7.1,
- prettyprinter -buildreadme +text,
- any.prettyprinter-ansi-terminal ==1.1.3,
- any.primitive ==0.7.3.0,
- any.process ==1.6.11.0,
- any.random ==1.2.1,
- any.regex-base ==0.94.0.2,
- any.regex-tdfa ==1.3.1.1,
- regex-tdfa -force-o2,
- any.rts ==1.0,
- any.safe ==0.3.19,
- any.scientific ==0.3.7.0,
- scientific -bytestring-builder -integer-simple,
- any.shakespeare ==2.0.25,
- shakespeare -test_coffee -test_export -test_roy,
- any.split ==0.2.3.4,
- any.splitmix ==0.1.0.4,
- splitmix -optimised-mixer,
- any.stm ==2.5.0.0,
- any.strict ==0.4.0.1,
- strict +assoc,
- any.tabular ==0.2.2.8,
- any.tagged ==0.8.6.1,
- tagged +deepseq +transformers,
- any.tasty ==1.4.2.1,
- tasty +clock +unix,
- any.tasty-hunit ==0.10.0.3,
- any.template-haskell ==2.17.0.0,
- any.temporary ==1.3,
- any.terminfo ==0.4.1.4,
- any.text ==1.2.4.1,
- any.text-short ==0.1.4,
- text-short -asserts,
- any.th-abstraction ==0.4.3.0,
- any.th-compat ==0.1.3,
- any.th-lift ==0.8.2,
- any.these ==1.1.1.1,
- these +assoc,
- any.time ==1.9.3,
- any.time-compat ==1.9.6.1,
- time-compat -old-locale,
- any.timeit ==2.0,
- any.transformers ==0.5.6.2,
- any.transformers-compat ==0.7.1,
- transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
- any.uglymemo ==0.1.0.1,
- any.unbounded-delays ==0.1.1.1,
- any.unix ==2.7.2.2,
- any.unordered-containers ==0.2.16.0,
- unordered-containers -debug,
- any.utf8-string ==1.0.2,
- any.utility-ht ==0.0.16,
- any.uuid-types ==1.0.5,
- any.vector ==0.12.3.1,
- vector +boundschecks -internalchecks -unsafechecks -wall,
- any.wcwidth ==0.0.2,
- wcwidth -cli +split-base,
- any.wizards ==1.0.3
-index-state: hackage.haskell.org 2021-12-14T06:08:15Z
diff --git a/testing/homebank/APKBUILD b/testing/homebank/APKBUILD
index ee13c5e0fd2..44f1ee82717 100644
--- a/testing/homebank/APKBUILD
+++ b/testing/homebank/APKBUILD
@@ -1,19 +1,22 @@
# Contributor: 7heo <7heo@mail.com>
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=homebank
-pkgver=5.4.3
-pkgrel=1
+pkgver=5.7.4
+pkgrel=0
pkgdesc="Free personal finance software, money management"
url="http://homebank.free.fr"
arch="all"
license="GPL-2.0-or-later"
-makedepends="bash gtk+3.0-dev libsoup-dev libofx-dev intltool"
+makedepends="gtk+3.0-dev libsoup3-dev libofx-dev intltool"
options="!check" # no test suite
subpackages="$pkgname-lang"
-source="http://homebank.free.fr/public/homebank-$pkgver.tar.gz"
+source="http://homebank.free.fr/public/sources/homebank-$pkgver.tar.gz"
build() {
- ./configure --prefix=/usr
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr
make
}
@@ -21,4 +24,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e2b3b45a6d35205c3d2bf24d4c0c065889fa4e7d92cc9551db873b8b33cc15e6c1dd721936b438db0725509233bf265446b0512e23973cbebae7af4a7dce96ba homebank-5.4.3.tar.gz"
+sha512sums="
+d65127b49a7566f5ad88feb8c614883c43e322ea50d915e49691b169771fac222573da4988ab1c54d9f39b9dfdf2d724cba07269e093c67a04900828d0b87093 homebank-5.7.4.tar.gz
+"
diff --git a/testing/homer-app/0001-change-web-and-config-paths.patch b/testing/homer-app/0001-change-web-and-config-paths.patch
new file mode 100644
index 00000000000..ff41ded7d33
--- /dev/null
+++ b/testing/homer-app/0001-change-web-and-config-paths.patch
@@ -0,0 +1,89 @@
+From 57893a68cec83e6900f810980ea8b8296aa75ea3 Mon Sep 17 00:00:00 2001
+From: Leonardo Arena <rnalrd@alpinelinux.org>
+Date: Wed, 17 Apr 2024 06:33:38 +0000
+Subject: [PATCH] change web and config paths
+
+---
+ etc/webapp_config.json | 14 +++++++-------
+ main.go | 4 ++--
+ 2 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/etc/webapp_config.json b/etc/webapp_config.json
+index c0bfbe3..5f1bb00 100644
+--- a/etc/webapp_config.json
++++ b/etc/webapp_config.json
+@@ -44,7 +44,7 @@
+ },
+ "swagger": {
+ "enable": true,
+- "api_json": "/usr/local/homer/etc/swagger.json",
++ "api_json": "/etc/homer/swagger.json",
+ "api_host": "127.0.0.1:9080"
+ },
+ "loki_config": {
+@@ -72,7 +72,7 @@
+ "help": "Settings for the HOMER Webapp Server. If you have gzip_static = false, please be sure that your dist directory has uncompressed .js files",
+ "host": "0.0.0.0",
+ "port": 9080,
+- "root": "/usr/local/homer/dist",
++ "root": "/usr/share/webapps/homer/dist",
+ "gzip": true,
+ "path": "/",
+ "gzip_static": true,
+@@ -94,12 +94,12 @@
+ "port": 443,
+ "min_tls_version": "1.2",
+ "use_mozilla_profile": true,
+- "cert": "/usr/local/homer/tls/cert.pem",
+- "key": "/usr/local/homer/tls/key.pem"
++ "cert": "/etc/homer/tls/cert.pem",
++ "key": "/etc/homer/tls/key.pem"
+ },
+ "system_settings": {
+ "help": "Settings for HOMER logs",
+- "logpath": "/usr/local/homer/log",
++ "logpath": "/var/log/homer",
+ "logname": "homer-app.log",
+ "_loglevels": "can be: fatal, error, warn, info, debug, trace",
+ "loglevel": "error",
+@@ -107,7 +107,7 @@
+ },
+ "dashboard_settings": {
+ "_comment": "Here you can define a customs dashboards home",
+- "dashboard_home": "/usr/local/homer/etc/dashboard_home.json"
++ "dashboard_home": "/etc/homer/dashboard_home.json"
+ },
+ "auth_settings": {
+ "_comment": "The type param can be internal, ldap, http_auth",
+@@ -196,4 +196,4 @@
+ "1_default"
+ ]
+ }
+-}
+\ No newline at end of file
++}
+diff --git a/main.go b/main.go
+index 159376b..cc682e1 100644
+--- a/main.go
++++ b/main.go
+@@ -191,7 +191,7 @@ func initFlags() {
+ appFlags.DatabaseHomerPassword = flag.String("database-homer-password", "homer_password", "database-homer-password")
+ appFlags.DatabaseHomerConfig = flag.String("database-homer-config", "homer_config", "database-homer-config")
+ appFlags.DatabaseHomerData = flag.String("database-homer-data", "homer_data", "database-homer-data")
+- appFlags.PathWebAppConfig = flag.String("webapp-config-path", "/usr/local/homer/etc", "the path to the webapp config file")
++ appFlags.PathWebAppConfig = flag.String("webapp-config-path", "/etc/homer", "the path to the webapp config file")
+ appFlags.LogName = flag.String("webapp-log-name", "", "the name prefix of the log file.")
+ appFlags.LogPathWebApp = flag.String("webapp-log-path", "", "the path for the log file.")
+ appFlags.APIPrefix = flag.String("webapp-api-prefix", "", "API prefix.")
+@@ -748,7 +748,7 @@ func configureAsHTTPServer() {
+ /* static */
+ rootPath := viper.GetString("http_settings.root")
+ if rootPath == "" {
+- rootPath = "/usr/local/homer/dist"
++ rootPath = "/usr/share/webapps/homer/dist"
+ }
+
+ /* static */
+--
+2.44.0
+
diff --git a/testing/homer-app/APKBUILD b/testing/homer-app/APKBUILD
index 5b23fb4ea57..921656ae190 100644
--- a/testing/homer-app/APKBUILD
+++ b/testing/homer-app/APKBUILD
@@ -1,22 +1,31 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=homer-app
-pkgver=1.2.0
-_uiver=7.8.0
-pkgrel=2
+pkgver=1.4.59
+pkgrel=3
pkgdesc="HOMER 7.x Front-End and API Server"
url="http://sipcapture.io"
arch="x86_64"
license="AGPL-3.0-or-later"
makedepends="go"
install="$pkgname.pre-install"
-options="!check" # no test suite
+options="net"
subpackages="$pkgname-doc $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sipcapture/homer-app/archive/$pkgver.tar.gz
- https://github.com/sipcapture/homer-app/releases/download/$pkgver/homer-ui-$_uiver.tgz
+source="$pkgname-$pkgver.tar.gz::https://github.com/sipcapture/homer-app/archive/refs/tags/$pkgver.tar.gz
+ https://github.com/sipcapture/homer-app/releases/download/$pkgver/homer-ui-$pkgver.tgz
$pkgname.initd
- change-default-locations.patch
+
+ 0001-change-web-and-config-paths.patch
"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ go mod download
+}
+
build() {
make modules
make all
@@ -30,7 +39,6 @@ package() {
install -D -m755 release/homer-app_linux_amd64/homer-app "$pkgdir"/usr/bin/homer-app
install -D -m644 etc/webapp_config.json "$pkgdir"/etc/homer/webapp_config.json
mkdir -p "$pkgdir"/usr/share/webapps/homer \
- "$pkgdir"/var/log/homer \
"$pkgdir"/usr/share/licenses/$pkgname
mv "$srcdir"/dist/3rdpartylicenses.txt \
"$pkgdir"/usr/share/licenses/$pkgname/3rdpartylicenses.txt
@@ -38,7 +46,9 @@ package() {
install -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
}
-sha512sums="40faf2d70d7c6a29fb447dee5f2a41aa7d5ea88a84c7205ff7d47f94f3df9fa96ecbff8586a0dd5a3ef1152bbe7d7decb8089eefab4091fcc84d1c70c6d892b2 homer-app-1.2.0.tar.gz
-a05a9969f407d030ec908c47d47467699fc1a8baec151c9f9d3bc4094226cb20567178f1111987f84dd88953130ab2529bc7400cd861c0801285e204f652bb94 homer-ui-7.8.0.tgz
-2ba4e0403bd6f3b08a3a4d8bf366ec776941b5a29e9728ca2aefbfc663ce64c01f67a2f8f408a777db7921f8f66f93797fb5f056809901d3f25fe39b414b5865 homer-app.initd
-be531ea77a31ad3856f1f5783c671ff3bd3cad5fda43c06f6ef2b063bcb80f402011771f6ac5da73e164ee359b3ba1bb5e0f98dad1baa0c97676692ab646efe6 change-default-locations.patch"
+sha512sums="
+b62ded15ff9ad2651b4e58ecf497b10208cc0a9075eca01a62328c71402c14a7a12b5903a4ea1ce86d38f38052fbbcdda3f498f120fee77a2fd271b87a41fe3c homer-app-1.4.59.tar.gz
+561f858f72a620abe041d0bff8632e57c25fcfa5f13053fa416471deb4d9d766a4c90602b7a6b0987165d2ba61ccbcf66a567e53a99be63c704b341350258c87 homer-ui-1.4.59.tgz
+0eaace71fe329bead88d7180aa5ad80f6924f1e0b3426cfa45811121ff4e907b32a4b08d6db995ae77b9b9ddbdbfc66411c03c2eea9c0393f6b9ed12ad851a77 homer-app.initd
+f4073ebe4dda4d94a62a810179b707b5245a15e80473576253b992fd1c0a5ba3dbc2645c56ad10ce63c12ab494a9d9da5fe172b68f1b5594e28b45c18df99fe9 0001-change-web-and-config-paths.patch
+"
diff --git a/testing/homer-app/change-default-locations.patch b/testing/homer-app/change-default-locations.patch
deleted file mode 100644
index 0a4d7efeefe..00000000000
--- a/testing/homer-app/change-default-locations.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-commit bea36c3b70074c7f8c89ba199e7b706c96cd255c
-Author: Leonardo Arena <rnalrd@alpinelinux.org>
-Date: Thu Jun 25 06:15:02 2020 +0000
-
- change default path locations
-
-diff --git a/etc/webapp_config.json b/etc/webapp_config.json
-index b193189..8e30626 100644
---- a/etc/webapp_config.json
-+++ b/etc/webapp_config.json
-@@ -52,14 +52,14 @@
- "help": "Settings for the HOMER Webapp Server. If you have gzip_static = false, please be sure that your dist directory has uncompressed .js files",
- "host": "0.0.0.0",
- "port": 9080,
-- "root": "/usr/local/homer/dist",
-+ "root": "/usr/share/webapps/homer/dist",
- "gzip": true,
- "gzip_static": true,
- "debug": false
- },
- "system_settings": {
- "help": "Settings for HOMER logs",
-- "logpath": "/usr/local/homer/log",
-+ "logpath": "/var/log/homer",
- "logname": "homer-app.log",
- "_loglevels": "can be: fatal, error, warn, info, debug, trace",
- "loglevel": "error",
-diff --git a/main.go b/main.go
-index aa6e5a0..df0e60c 100644
---- a/main.go
-+++ b/main.go
-@@ -171,7 +171,7 @@ func initFlags() {
- appFlags.DatabaseHomerConfig = flag.String("database-homer-config", "homer_config", "database-homer-config")
- appFlags.DatabaseHomerData = flag.String("database-homer-data", "homer_data", "database-homer-data")
-
-- appFlags.PathWebAppConfig = flag.String("webapp-config-path", "/usr/local/homer/etc", "the path to the webapp config file")
-+ appFlags.PathWebAppConfig = flag.String("webapp-config-path", "/etc/homer", "the path to the webapp config file")
- appFlags.LogName = flag.String("webapp-log-name", "", "the name prefix of the log file.")
- appFlags.LogPathWebApp = flag.String("webapp-log-path", "", "the path for the log file.")
- appFlags.APIPrefix = flag.String("webapp-api-prefix", "", "API prefix.")
-@@ -354,7 +354,7 @@ func configureAsHTTPServer() {
- /* static */
- rootPath := viper.GetString("http_settings.root")
- if rootPath == "" {
-- rootPath = "/usr/local/homer/dist"
-+ rootPath = "/usr/share/webapps/homer/dist"
- }
- /* static */
- e.Use(middleware.Static(rootPath))
diff --git a/testing/homer-app/homer-app.initd b/testing/homer-app/homer-app.initd
index ceeb0109215..88309124111 100644
--- a/testing/homer-app/homer-app.initd
+++ b/testing/homer-app/homer-app.initd
@@ -1,9 +1,9 @@
#!/sbin/openrc-run
description="HOMER App and UI"
-supervisor=supervise-daemon
command=/usr/bin/homer-app
command_args="-webapp-config-path=/etc/homer -webapp-log-path /var/log/homer"
+command_background=yes
command_user=homer
command_group=homer
pidfile="/run/homer/${RC_SVCNAME}.pid"
diff --git a/testing/hopalong/APKBUILD b/testing/hopalong/APKBUILD
index 0f3602a8a31..1b2e6610238 100644
--- a/testing/hopalong/APKBUILD
+++ b/testing/hopalong/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=hopalong
pkgver=0.1
-pkgrel=2
+pkgrel=3
pkgdesc="a simple stacking Wayland compositor"
url="https://github.com/iridescent-desktop/hopalong"
arch="all"
@@ -19,14 +19,8 @@ builddir="$srcdir/hopalong-$pkgver"
options="!check"
build() {
- meson \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --buildtype=plain \
- . output
- meson compile -j 4 -C output
+ abuild-meson . output
+ meson compile -C output
}
check() {
@@ -38,4 +32,6 @@ package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-sha512sums="4a9b5698b3501dfc546b00f36341eac0b15bcbcf380f61a1ff064b55613a25e2f492324c5b9f202917eedc4c0a67b5f8e0be0598446ac4609cef4773d3a1e948 hopalong-0.1.tar.gz"
+sha512sums="
+4a9b5698b3501dfc546b00f36341eac0b15bcbcf380f61a1ff064b55613a25e2f492324c5b9f202917eedc4c0a67b5f8e0be0598446ac4609cef4773d3a1e948 hopalong-0.1.tar.gz
+"
diff --git a/testing/horizon/APKBUILD b/testing/horizon/APKBUILD
index 1a31522cc31..4d8fd3387ba 100644
--- a/testing/horizon/APKBUILD
+++ b/testing/horizon/APKBUILD
@@ -7,7 +7,7 @@
pkgname=horizon
pkgver=0.9.6
-pkgrel=2
+pkgrel=8
pkgdesc="installation environment and image mastering tools for APK-based distributions"
url="https://horizon.adelielinux.org/"
arch="all !s390x"
@@ -15,37 +15,39 @@ options="!check" # Unpackaged dependency ruby-aruba.
license="AGPL-3.0-or-later"
checkdepends="ruby-aruba ruby-rspec valgrind"
makedepends="bcnm-dev boost-dev cmake curl-dev eudev-dev libarchive-dev
- linux-headers parted-dev skalibs-dev util-linux-dev libxkbfile-dev"
+ linux-headers parted-dev skalibs-dev util-linux-dev libxkbfile-dev
+ samurai"
subpackages="$pkgname-image $pkgname-dbg $pkgname-dev $pkgname-doc
$pkgname-tools"
source="https://git.adelielinux.org/adelie/horizon/-/archive/$pkgver/horizon-$pkgver.tar.gz
json-cast-character-to-unsigned-for-comparrison.patch
riscv.patch
+ strerror.patch
+ werror.patch
"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=True \
-DBUILD_TOOLS=ON \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-format-truncation" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
-DINSTALL=ON \
$CMAKE_CROSSOPTS \
-Bbuild
- make -C build
+ cmake --build build
}
check() {
- CTEST_OUTPUT_ON_FAILURE=TRUE make -C build test
+ CTEST_OUTPUT_ON_FAILURE=TRUE ninja -C build test
}
package() {
- make DESTDIR="$pkgdir" -C build install
+ DESTDIR="$pkgdir" cmake --install build
# horizon is not yet supported for building ISOs, so delete it for now
rm -rf "$pkgdir"/usr/share/horizon/iso
@@ -131,4 +133,6 @@ sha512sums="
3ff46980387454f85a326ac3ea123b55cf16fc339faec48fdc77f10334e0bd93e8cf51e6adeed516d2e4309cf4426b9d1ac6760cdd479b196a5f4aa33c1f3a28 horizon-0.9.6.tar.gz
5ab7a35d239210e031739c4149fd8e68570ea0efd278a2eac9330d6e30c601d1310b9c17523563a41424c2a8aa2452e5a9bcbce5d8087330d2697cd1b77b312f json-cast-character-to-unsigned-for-comparrison.patch
2748d443bdec9bfcab3a50d6efd61e3febb195d25581b25a6cbf1a73ddeb209ea79ebee493cc55dc377ff69e1577385d31930ca63db35bbffe34caea1bd41c05 riscv.patch
+3fc8fbd2969b2c45730a5432430a5979572ce1447db124f8f1b8755633e7e109dd2ec9ecb1d7fa0a961ae0630995e22caafe7e362b74903d419b6c57bbbd2dd2 strerror.patch
+4528ccee466bdfed4d2cd6095fb0b2f4f2b2e662c59a8d1a9f26877b4e9d2a8d0b7776932ed87d01dc7ac1e17a29dd5ac47651b91975a33cfe46516d1590f829 werror.patch
"
diff --git a/testing/horizon/strerror.patch b/testing/horizon/strerror.patch
new file mode 100644
index 00000000000..0983d555d9a
--- /dev/null
+++ b/testing/horizon/strerror.patch
@@ -0,0 +1,12 @@
+diff --git a/hscript/meta.cc b/hscript/meta.cc
+index e3d05f2..44872e6 100644
+--- a/hscript/meta.cc
++++ b/hscript/meta.cc
+@@ -11,6 +11,7 @@
+ */
+
+ #include <assert.h>
++#include <cstring>
+ #include <fstream>
+ #include <regex>
+ #include <set>
diff --git a/testing/horizon/werror.patch b/testing/horizon/werror.patch
new file mode 100644
index 00000000000..db81095ed23
--- /dev/null
+++ b/testing/horizon/werror.patch
@@ -0,0 +1,12 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -14,8 +14,7 @@
+ if(MSVC)
+ add_compile_options(/W4 /WX)
+ else()
+- add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-function
+- -Werror)
++ add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-function)
+ endif()
+
+ if(POLICY CMP0100)
diff --git a/testing/horust/APKBUILD b/testing/horust/APKBUILD
new file mode 100644
index 00000000000..3506c67de27
--- /dev/null
+++ b/testing/horust/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: William Desportes <williamdes@wdes.fr>
+# Maintainer: William Desportes <williamdes@wdes.fr>
+pkgname=horust
+pkgver=0.1.7
+pkgrel=1
+pkgdesc="Horust is a supervisor / init system written in rust and designed to be run inside containers"
+url="https://github.com/FedericoPonzi/Horust"
+# s390x, riscv64: nix/libc crates lack support
+arch="all !s390x !riscv64"
+license="MIT"
+makedepends="cargo cargo-auditable"
+checkdepends="bash" # test_single_command uses bash
+subpackages="$pkgname-doc"
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/FedericoPonzi/Horust/archive/v$pkgver.tar.gz
+ "
+builddir="$srcdir/Horust-$pkgver"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ # Add USER ENV for test_should_correctly_deserialize_sample test
+ USER="$(whoami)" cargo test --frozen -- --skip test_termination_all_custom_signals
+}
+
+package() {
+ install -Dm755 target/release/horust -t "$pkgdir"/usr/bin
+ install -Dm0644 README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
+ install -Dm0644 DOCUMENTATION.md -t "$pkgdir"/usr/share/doc/"$pkgname"
+ install -Dm0644 example_services/* -t "$pkgdir"/usr/share/doc/"$pkgname"/example_services
+}
+
+sha512sums="
+caa762f9ccc14ed058732f023e0e347fbf5968d500dea3e3f30c9ba91b4f93aeaaefd4e41e434fca320b8b1416550c9f83383d7406015a3e60de8f71d85418c3 horust-0.1.7.tar.gz
+"
diff --git a/testing/hotspot/APKBUILD b/testing/hotspot/APKBUILD
deleted file mode 100644
index 628558a0608..00000000000
--- a/testing/hotspot/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
-pkgname=hotspot
-pkgver=1.3.0
-pkgrel=0
-pkgdesc="The Linux perf GUI for performance analysis"
-url="https://github.com/KDAB/hotspot"
-# mips, s390x: undefined reference to 'QDataStream::Version qbswap<QDataStream::Version>(QDataStream::Version)'
-# riscv64, armhf: missing qtdeclarative
-arch="all !s390x !armhf !mips !mips64 !riscv64"
-license="GPL-2.0-or-later"
-makedepends="cmake qt5-qtbase-dev elfutils-dev gettext-dev extra-cmake-modules
- threadweaver-dev ki18n-dev kconfigwidgets-dev kcoreaddons-dev kitemviews-dev
- kitemmodels-dev kio-dev solid-dev kwindowsystem-dev"
-options="!check" # wonky tests
-source="https://github.com/KDAB/hotspot/releases/download/v$pkgver/hotspot-v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-v$pkgver"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- ${CMAKE_CROSSOPTS} .
- make
-}
-
-check() {
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir"/usr/share/applications
- cp hotspot.desktop "$pkgdir"/usr/share/applications
-}
-
-sha512sums="8aa89f71cb85c5a73c8265eec27acf35fcc21612af33581c7d8804edbc8565cd587ab79906e85781f2c6db9d7747ba4371a7e10253e21052f280717d5dc1fbd4 hotspot-v1.3.0.tar.gz"
diff --git a/testing/howard-bc/APKBUILD b/testing/howard-bc/APKBUILD
index a975afd7629..af66f0ef6c5 100644
--- a/testing/howard-bc/APKBUILD
+++ b/testing/howard-bc/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Gavin D. Howard <yzena.tech@gmail.com>
# Maintainer: Gavin D. Howard <yzena.tech@gmail.com>
pkgname=howard-bc
-pkgver=5.2.1
+pkgver=6.7.5
pkgrel=0
pkgdesc="POSIX bc with GNU extensions"
-url="https://github.com/gavinhoward/bc"
+url="https://git.gavinhoward.com/gavin/bc"
arch="all"
license="BSD-2-Clause"
subpackages="$pkgname-doc"
-source="https://github.com/gavinhoward/bc/releases/download/$pkgver/bc-$pkgver.tar.xz"
+source="https://git.gavinhoward.com/gavin/bc/releases/download/$pkgver/bc-$pkgver.tar.xz"
builddir="$srcdir/bc-$pkgver"
build() {
@@ -25,5 +25,5 @@ package() {
}
sha512sums="
-8f5cfdfc0b2e1866d8fc1477d7bfc2882cf4d2e4844fcf41ded5f8b52b4d8124c073e845d86b355977f815a5a8a2f22fd98495ec4b5dd41737b808a3a4f4bb56 bc-5.2.1.tar.xz
+5f689fd20801ea7ede725ae5dc4e8744bdf2d72424bffef99c53193a950f4bd83b6eb4c5a07556576d0b3f5b6cd7f9fc7cbcb41d27891f488bb2e97a186f76a4 bc-6.7.5.tar.xz
"
diff --git a/testing/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch b/testing/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
deleted file mode 100644
index 78f3828655d..00000000000
--- a/testing/hplip/0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index ef6480f..2e6449f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -166,7 +166,7 @@ if !HPLIP_CLASS_DRIVER
- dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
- endif #HPLIP_CLASS_DRIVER
-
--dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
-+dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
- dist_noinst_SCRIPTS += dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
-
- if !HPLIP_CLASS_DRIVER
-@@ -594,7 +594,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
- prnt/hpcups/ImageProcessor.h
-
- hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
--hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
-+hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
- #else
- #hpcupsdir = $(cupsfilterdir)
- #hpcups_PROGRAMS = hpcups
-@@ -684,16 +684,6 @@ endif #HPLIP_CLASS_DRIVER
-
- install-data-hook:
- if HPLIP_BUILD
-- if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/" \) ]; then \
-- cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
-- chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
-- ln -sf $(libdir)/libImageProcessor-x86_64.so $(libdir)/libImageProcessor.so ; \
-- fi; \
-- if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d "$(libdir)/" \) ]; then \
-- cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
-- chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
-- ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
-- fi
- if !HPLIP_CLASS_DRIVER
- # If scanner build, add hpaio entry to sane dll.conf.
- if [ "$(scan_build)" = "yes" ]; then \
-diff --git a/Makefile.in b/Makefile.in
-index 5f69a92..aedc3bd 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -103,7 +103,7 @@ DIST_COMMON = $(am__configure_deps) \
-
- # ip library
- @HPLIP_BUILD_TRUE@am__append_12 = libhpip.la
--@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am__append_13 = prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
-+@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am__append_13 = prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
- @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am__append_14 = dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
- @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@am__append_15 = scan/sane/hpaio.desc \
- @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@ installer/text_install.py \
-@@ -723,8 +723,7 @@ am__dist_locatedriver_DATA_DIST = locatedriver
- am__dist_models_DATA_DIST = data/models/models.dat
- am__dist_noinst_DATA_DIST = prnt/drv/hpijs.drv.in.template \
- prnt/drv/hpcups.drv.in.template \
-- prnt/hpcups/libImageProcessor-x86_64.so \
-- prnt/hpcups/libImageProcessor-x86_32.so scan/sane/hpaio.desc \
-+ scan/sane/hpaio.desc \
- installer/text_install.py data/localization/hplip_de.ts \
- data/localization/hplip_es.ts data/localization/hplip_fr.ts \
- data/localization/hplip_it.ts data/localization/hplip_pt.ts \
-@@ -9384,16 +9383,6 @@ uninstall-am: uninstall-apparmor_abstractionDATA \
-
-
- install-data-hook:
--@HPLIP_BUILD_TRUE@ if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/" \) ]; then \
--@HPLIP_BUILD_TRUE@ cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
--@HPLIP_BUILD_TRUE@ chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
--@HPLIP_BUILD_TRUE@ ln -sf $(libdir)/libImageProcessor-x86_64.so $(libdir)/libImageProcessor.so ; \
--@HPLIP_BUILD_TRUE@ fi; \
--@HPLIP_BUILD_TRUE@ if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d "$(libdir)/" \) ]; then \
--@HPLIP_BUILD_TRUE@ cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
--@HPLIP_BUILD_TRUE@ chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
--@HPLIP_BUILD_TRUE@ ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
--@HPLIP_BUILD_TRUE@ fi
- # If scanner build, add hpaio entry to sane dll.conf.
- @HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@ if [ "$(scan_build)" = "yes" ]; then \
- @HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@ $(mkinstalldirs) $(DESTDIR)/etc/sane.d; \
-diff --git a/prnt/hpcups/HPCupsFilter.cpp b/prnt/hpcups/HPCupsFilter.cpp
-index 5b282d8..0bacfaf 100644
---- a/prnt/hpcups/HPCupsFilter.cpp
-+++ b/prnt/hpcups/HPCupsFilter.cpp
-@@ -31,7 +31,6 @@
- \*****************************************************************************/
-
- #include "HPCupsFilter.h"
--#include "ImageProcessor.h"
-
- #include <signal.h>
- #include <sys/wait.h>
-@@ -637,16 +636,10 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
-
-
- sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
-- image_processor_t* imageProcessor = imageProcessorCreate();
-
- while (cupsRasterReadHeader2(cups_raster, &cups_header))
- {
-
-- IMAGE_PROCESSOR_ERROR result = imageProcessorStartPage(imageProcessor, &cups_header);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", result);
-- }
--
- current_page_number++;
-
- if (current_page_number == 1) {
-@@ -745,12 +738,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
- color_raster = rgbRaster;
- black_raster = kRaster;
-
-- result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorProcessLine failed result = %d\n", result);
-- }
--
--
- if ((y == 0) && !is_ljmono) {
- //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer
- //may not skip blank lines before actual data
-@@ -780,12 +767,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
- }
- } // for() loop end
-
-- result = imageProcessorEndPage(imageProcessor);
-- if (result != IPE_SUCCESS){
-- dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", result);
-- }
--
--
- m_Job.NewPage();
- if (err != NO_ERROR) {
- break;
-@@ -800,8 +781,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
- rgbRaster = NULL;
- }
-
-- imageProcessorDestroy(imageProcessor);
--
- unlink(hpPreProcessedRasterFile);
- return ret_status;
- }
diff --git a/testing/hplip/APKBUILD b/testing/hplip/APKBUILD
index d10ddc8209b..3f5a0b72ebf 100644
--- a/testing/hplip/APKBUILD
+++ b/testing/hplip/APKBUILD
@@ -3,38 +3,29 @@
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Contributor: Valery Kartel <valery.kartel@gmail.com>
pkgname=hplip
-pkgver=3.20.5
-pkgrel=5
+pkgver=3.23.12
+pkgrel=2
pkgdesc="Drivers for HP printers and scanners"
-arch="x86 x86_64 aarch64 armv7" # missing sane on several arches
-url="http://hplipopensource.com"
+arch="all"
+url="https://hplipopensource.com/"
license="GPL-2.0-only AND BSD-3-Clause AND MIT"
-makedepends="libjpeg-turbo-dev net-snmp-dev cups-dev libusb-dev sane-dev gawk python3-dev
- autoconf automake libtool"
-subpackages="$pkgname-doc $pkgname-libs sane-backend-hpaio:sane"
+makedepends="dbus-dev libjpeg-turbo-dev net-snmp-dev cups-dev libusb-dev sane-dev gawk python3-dev py3-setuptools"
+subpackages="$pkgname-doc $pkgname-libs $pkgname-ppd sane-backend-hpaio:sane"
source="https://downloads.sourceforge.net/hplip/hplip-$pkgver.tar.gz
- fix-includes.patch
fix-memmove.patch
- types-musl.patch
disable_upgrade.patch
- 0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
- python-3.8-compat.patch
+ more-imageprocessor-removes.patch
+ no-empty-glob.patch
+ types-musl.patch
"
-prepare() {
- default_prepare
- update_config_guess
- touch NEWS README AUTHORS ChangeLog
- autoreconf -vif
-}
-
build() {
./configure --prefix=/usr \
--with-docdir=/usr/share/doc/$pkgname \
--disable-doc-build \
--disable-gui-build \
--disable-fax-build \
- --disable-dbus-build \
+ --disable-imageProcessor-build \
--enable-cups-drv-install \
--enable-cups-ppd-install
make
@@ -46,13 +37,21 @@ check() {
package() {
make -j1 DESTDIR="$pkgdir" install
- rm -fr "$pkgdir"/usr/bin \
- "$pkgdir"/etc/udev \
- "$pkgdir"/etc/sane.d \
- "$pkgdir"/usr/share/hal \
- "$pkgdir"/usr/lib/systemd \
- "$pkgdir"/usr/lib/cups/filter/pstotiff
install -m755 -D prnt/filters/hpps "$pkgdir"/usr/lib/cups/filter/hpps
+
+ cd "$pkgdir"
+ rm -fr usr/bin \
+ etc/udev \
+ etc/sane.d \
+ usr/share/hal \
+ usr/lib/systemd \
+ usr/lib/cups/filter/pstotiff
+}
+
+ppd() {
+ pkgdesc="$pkgdesc (PPD files)"
+ mkdir -p "$subpkgdir"/usr/share/ppd/
+ mv "$pkgdir"/usr/share/ppd/HP "$subpkgdir"/usr/share/ppd/
}
sane() {
@@ -66,10 +65,11 @@ sane() {
echo "hpaio" > "$subpkgdir"/etc/sane.d/dll.d/hpaio
}
-sha512sums="fce3c7b8a2f3b0d2875bafd2ff65a3312fae867b658cd45eea16d9f3663646b6b0b70b58e6c2b46eb24627cdeefb318b6ca9ccf5a0e9790ff19519518992da07 hplip-3.20.5.tar.gz
-173f0c2bbf0daefc717282bf125d3fd94b3914da0754078c45b58b09ab841672aae9238ca8fc0448486a871e40fc50f960da17c1e07ad3f04053d217ed634498 fix-includes.patch
+sha512sums="
+7461ffec38be68421e4204021f53d2b1641e7a67c14f205390d45f487a1af90956fd221f7e1561635508103ae944f19e04d6052d3f8928f2c9685fdcdcf515df hplip-3.23.12.tar.gz
7d247b219595a8be4a9d709f14a9034eee1cef467981ffc29d18ee3c00bee125640b1149d7e57e3332242efd978d7cb3f8f25f21d41fb39e38f9520626cfe1ff fix-memmove.patch
-dbce7d859661b1a03847edf91db755c9b3d1ad7c2d3173741ecd89b954d1595d71f1adcbd481e81821ebd58cd9ae23adcef1cc026cfa09928fb0cba599781cd1 types-musl.patch
ac436b54aecc0c2a7fc0eb5ae8e28d483c1efd5bd9385b0a1480fb78b8ccdd28ef85db86a980aec5ca093e9095d5714f93df095bf606e9a9c919f07c64e29697 disable_upgrade.patch
-0ededf7b27abab1b2f889f19bb3587816d437ed1b8253a68e9e4af99684456057c1529b353c439e11b2235cb84560e90bb841d348fa53b49e4bbc123a41aba81 0025-Remove-all-ImageProcessor-functionality-which-is-clo.patch
-33e034c99d67535326fb2361d2f9c4a70b38ddd0b64b5e6edaf8d6ac3d786fdc9ef35295a5aed53abbf6953998e7260954b3372df66dad310729c71cea201091 python-3.8-compat.patch"
+d8e76cb3757a7659f667e3d54cd0b7572dd8af1f4f87e26694dd3e4b1e0ec5cba7fe2d0ca531e14d568a675aa4a201795a3edb2c8892230e41e0d9408959b726 more-imageprocessor-removes.patch
+69442c4bd2410e69a0d6314ce5db6b4638dd6a08c817b749f7b74e8e98db90eccb05ad3b44b71278e83cc3bbf6009fee8818855c1f08df9d6d8d5a35a078d68e no-empty-glob.patch
+dbce7d859661b1a03847edf91db755c9b3d1ad7c2d3173741ecd89b954d1595d71f1adcbd481e81821ebd58cd9ae23adcef1cc026cfa09928fb0cba599781cd1 types-musl.patch
+"
diff --git a/testing/hplip/fix-includes.patch b/testing/hplip/fix-includes.patch
deleted file mode 100644
index 4389125fda6..00000000000
--- a/testing/hplip/fix-includes.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff -ru hplip-3.16.10.orig/protocol/discovery/mdns.c hplip-3.16.10/protocol/discovery/mdns.c
---- hplip-3.16.10.orig/protocol/discovery/mdns.c 2016-10-21 13:48:34.000000000 +0300
-+++ hplip-3.16.10/protocol/discovery/mdns.c 2016-11-03 14:41:38.828298853 +0200
-@@ -24,10 +24,15 @@
- Author: Sanjay Kumar
- \*****************************************************************************/
-
--//#include <stdio.h>
-+#include <stdio.h>
-+#include <ctype.h>
-+#include <fcntl.h>
-+#include <unistd.h>
- #include <string.h>
- #include <syslog.h>
-+#include <malloc.h>
- #include <sys/socket.h>
-+#include <sys/select.h>
- #include <netinet/in.h>
- #include <netdb.h>
- #include <arpa/inet.h>
diff --git a/testing/hplip/more-imageprocessor-removes.patch b/testing/hplip/more-imageprocessor-removes.patch
new file mode 100644
index 00000000000..e4ea2090629
--- /dev/null
+++ b/testing/hplip/more-imageprocessor-removes.patch
@@ -0,0 +1,67 @@
+on x86 this seems to try symlink it in /usr/lib even when disabled
+--
+diff --git a/Makefile.in b/Makefile.in
+index 3c0621c..25d1635 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -122,8 +122,6 @@ DIST_COMMON = $(am__configure_deps) \
+ @HPLIP_BUILD_TRUE@am__append_12 = libhpip.la
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am__append_13 = prnt/drv/hpijs.drv.in.template \
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ prnt/drv/hpcups.drv.in.template \
+-@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ prnt/hpcups/libImageProcessor-x86_64.so \
+-@FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ prnt/hpcups/libImageProcessor-x86_32.so \
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@ prnt/ipp-usb/HPLIP.conf
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@am__append_14 = dat2drv.py install.py hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
+ @FULL_BUILD_TRUE@@HPLIP_BUILD_TRUE@@HPLIP_CLASS_DRIVER_FALSE@am__append_15 = scan/sane/hpaio.desc \
+@@ -774,8 +772,6 @@ am__dist_locatedriver_DATA_DIST = locatedriver
+ am__dist_models_DATA_DIST = data/models/models.dat
+ am__dist_noinst_DATA_DIST = prnt/drv/hpijs.drv.in.template \
+ prnt/drv/hpcups.drv.in.template \
+- prnt/hpcups/libImageProcessor-x86_64.so \
+- prnt/hpcups/libImageProcessor-x86_32.so \
+ prnt/ipp-usb/HPLIP.conf scan/sane/hpaio.desc \
+ installer/text_install.py data/localization/hplip_de.ts \
+ data/localization/hplip_es.ts data/localization/hplip_fr.ts \
+@@ -5215,11 +5211,10 @@ libapdk_la_CFLAGS = $(libapdk_la_CXXFLAGS) -Iprnt/hpijs
+ @HPCUPS_INSTALL_TRUE@ prnt/hpcups/flate_colorspace.h prnt/hpcups/RunLenEncoding.h prnt/hpcups/common_defines.h \
+ @HPCUPS_INSTALL_TRUE@ prnt/hpcups/genPCLm.h \
+ @HPCUPS_INSTALL_TRUE@ common/utils.c common/utils.h prnt/hpcups/Hbpl1_Wrapper.cpp prnt/hpcups/genPCLm.cpp \
+-@HPCUPS_INSTALL_TRUE@ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp \
+-@HPCUPS_INSTALL_TRUE@ prnt/hpcups/ImageProcessor.h
++@HPCUPS_INSTALL_TRUE@ prnt/hpcups/genJPEGStrips.cpp prnt/hpcups/RunLenEncoding.cpp
+
+ @HPCUPS_INSTALL_TRUE@hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
+-@HPCUPS_INSTALL_TRUE@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
++@HPCUPS_INSTALL_TRUE@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
+ #else
+ #hpcupsdir = $(cupsfilterdir)
+ #hpcups_PROGRAMS = hpcups
+@@ -10191,16 +10186,6 @@ uninstall-am: uninstall-apparmor_abstractionDATA \
+
+
+ install-data-hook:
+-@HPLIP_BUILD_TRUE@ if [ \( "$(UNAME)" = "x86_64" -a -d "$(libdir)/" \) ]; then \
+-@HPLIP_BUILD_TRUE@ cp prnt/hpcups/libImageProcessor-x86_64.so $(libdir)/ ; \
+-@HPLIP_BUILD_TRUE@ chmod 775 $(libdir)/libImageProcessor-x86_64.so ; \
+-@HPLIP_BUILD_TRUE@ ln -sf $(libdir)/libImageProcessor-x86_64.so $(libdir)/libImageProcessor.so ; \
+-@HPLIP_BUILD_TRUE@ fi; \
+-@HPLIP_BUILD_TRUE@ if [ \( \( "$(UNAME)" = "i686" -o "$(UNAME)" = "i386" \) -a -d "$(libdir)/" \) ]; then \
+-@HPLIP_BUILD_TRUE@ cp prnt/hpcups/libImageProcessor-x86_32.so $(libdir)/ ; \
+-@HPLIP_BUILD_TRUE@ chmod 775 $(libdir)/libImageProcessor-x86_32.so ; \
+-@HPLIP_BUILD_TRUE@ ln -sf $(libdir)/libImageProcessor-x86_32.so $(libdir)/libImageProcessor.so ; \
+-@HPLIP_BUILD_TRUE@ fi
+ @HPLIP_BUILD_TRUE@ if [ -d "/usr/share/ipp-usb/quirks/" ]; then \
+ @HPLIP_BUILD_TRUE@ echo "ipp-usb directory exists"; \
+ @HPLIP_BUILD_TRUE@ cp prnt/ipp-usb/HPLIP.conf /usr/share/ipp-usb/quirks/ ; \
+diff --git a/hplipclassdriver.spec b/hplipclassdriver.spec
+index 1dc4cce..25bd09e 100644
+--- a/hplipclassdriver.spec
++++ b/hplipclassdriver.spec
+@@ -10,7 +10,6 @@ Group: Applications
+ ldconfig
+ semodule -i /usr/share/hplip/selinux/mypol.pp
+ #ln -sf /usr/lib/libImageProcessor-x86_64.so /usr/lib/libImageProcessor.so
+-ln -sf /usr/lib/libImageProcessor-x86_32.so /usr/lib/libImageProcessor.so
+ %description
+ The HP Linux Imaging and Printing (HPLIP) system
+ provides a unified single and multi-function connectivity
diff --git a/testing/hplip/no-empty-glob.patch b/testing/hplip/no-empty-glob.patch
new file mode 100644
index 00000000000..49dd78f841f
--- /dev/null
+++ b/testing/hplip/no-empty-glob.patch
@@ -0,0 +1,18 @@
+--- a/createPPD.sh
++++ b/createPPD.sh
+@@ -81,6 +81,7 @@
+ install -d ppd/hpcups
+ ppdc -d ppd/hpcups prnt/drv/hpcups.drv
+ for i in ppd/hpcups/*.ppd; do
++ [ -f "$i" ] || continue
+ gzip -c "$i" > "$i.gz"
+ done
+
+@@ -88,6 +89,7 @@
+ ppdc -d ppd/hpijs prnt/drv/hpijs.drv
+ echo "gzip ppd files..."
+ for i in ppd/hpijs/*.ppd; do
++ [ -f "$i" ] || continue
+ gzip -c "$i" > "$i.gz"
+ done
+ echo "building foomatic_drv.inc..."
diff --git a/testing/hplip/python-3.8-compat.patch b/testing/hplip/python-3.8-compat.patch
deleted file mode 100644
index 10cc034fdd8..00000000000
--- a/testing/hplip/python-3.8-compat.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/configure.in b/configure.in
-index 470486d..d6acb9d 100755
---- a/configure.in
-+++ b/configure.in
-@@ -611,10 +611,6 @@ if test "$class_driver" = "no" && test "$hpijs_only_build" = "no" && test "$lite
- PYTHONINCLUDEDIR=`$PYTHON -c "from distutils.sysconfig import get_python_inc; print (get_python_inc());"`
- AC_MSG_RESULT("using $PYTHONINCLUDEDIR .... python${PYTHON_VERSION}/Python.h")
- AC_ARG_VAR(PYTHONINCLUDEDIR, [path to Python.h C header file])
-- AC_CHECK_HEADERS([python${PYTHON_VERSION}/Python.h python${PYTHON_VERSION}mu/Python.h python${PYTHON_VERSION}m/Python.h ],
-- [FOUND_HEADER=yes; break;])
-- AS_IF([test "x$FOUND_HEADER" != "xyes"],
-- [AC_MSG_ERROR([cannot find python-devel support], 6)])
- fi
-
- if test "$hpijs_only_build" = "no" && test "$scan_build" = "yes" && test "$hpcups_only_build" = "no"; then
diff --git a/testing/hsetroot/APKBUILD b/testing/hsetroot/APKBUILD
index f6f3ec67cce..b586b5c26ff 100644
--- a/testing/hsetroot/APKBUILD
+++ b/testing/hsetroot/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname="hsetroot"
pkgver="1.0.5"
-pkgrel=0
+pkgrel=1
pkgdesc="Yet another wallpaper application"
url="https://github.com/himdel/hsetroot"
arch="all"
diff --git a/testing/hstdb/APKBUILD b/testing/hstdb/APKBUILD
new file mode 100644
index 00000000000..3c6dfee2c3e
--- /dev/null
+++ b/testing/hstdb/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=hstdb
+pkgver=2.1.0
+pkgrel=2
+pkgdesc="Better history management for Zsh"
+url="https://github.com/AlexanderThaller/hstdb"
+# riscv64: textrels
+# s390x: fails to build nix crate
+arch="all !riscv64 !s390x"
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="https://github.com/AlexanderThaller/hstdb/archive/$pkgver/hstdb-$pkgver.tar.gz
+ fix-format_duration-panicing.patch
+ replace-pretty_env_logger.patch
+ default-histfile-path.patch
+ rename-text_excluded.patch
+ strip-features.patch
+ "
+
+# Disable histdb-import that depends on sqlite.
+_cargo_opts="--frozen --no-default-features"
+
+prepare() {
+ cargo fetch --locked
+
+ default_prepare
+
+ # Update Cargo.lock after patching.
+ cargo fetch
+}
+
+build() {
+ cargo auditable build $_cargo_opts --release
+}
+
+check() {
+ cargo test $_cargo_opts
+}
+
+package() {
+ install -D -m755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+1a29c81e52822823967178e53f9135ba66ed156ebe36145e778f48e8390e7e6b8420897d07d40dfc9434d3068fdbafc1831bf441d127d2f3ba42d7a2e686188e hstdb-2.1.0.tar.gz
+ffed0c79621123e5cf8fdce729e7d0e6d9d077e975fd0c5c7c3e83b91e8ff7071edf309c5b165241e3f24b7b20acf04618e5a4e2e856843e9f9b1927c90c7136 fix-format_duration-panicing.patch
+147c543d2dc9055c9072f5eba81be27f0dd911fe3867d460982fedd4db1a50043509df119d3a9759303465a6c97506b3dc37db1c26c7d7557b6ec40248b4a482 replace-pretty_env_logger.patch
+80eaa11a2114e0352ec99bf2db955136cc08fb85a48b978254c2d6ea806d1718058b8972135f33f7ed8a22b800843b6e421ca15e908b891d5f68cddf06f106fb default-histfile-path.patch
+d8a636d5b035bf2ce79db4be34f3011adde6a6015da1db22308e796f14a557b8053caeb2f3ff7b8391198ff97df6702bfbd0c9a81bad22e2d9ec6294f6c97c8b rename-text_excluded.patch
+2c001f5a40e962acf22006854853a52abd258148042b43e32086aeacdaaffa483ffa25d9ba082206bf63e66a22ba45f9eec727299c5fe0b91127b05ddbe28a43 strip-features.patch
+"
diff --git a/testing/hstdb/default-histfile-path.patch b/testing/hstdb/default-histfile-path.patch
new file mode 100644
index 00000000000..bdffebf2842
--- /dev/null
+++ b/testing/hstdb/default-histfile-path.patch
@@ -0,0 +1,33 @@
+Patch-Source: https://github.com/AlexanderThaller/hstdb/pull/55
+--
+From edd0899c6a53db041972a3411c0973d291b1cf77 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sun, 12 Mar 2023 19:36:37 +0100
+Subject: [PATCH] Get default histfile path from HISTFILE env. variable if
+ exists
+
+This is the standard Zsh variable to define the histfile location.
+---
+ src/opt.rs | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+diff --git a/src/opt.rs b/src/opt.rs
+index af7fb97..91cae47 100644
+--- a/src/opt.rs
++++ b/src/opt.rs
+@@ -70,9 +70,11 @@ fn default_histdb_sqlite_path() -> PathBuf {
+ }
+
+ fn default_zsh_histfile_path() -> PathBuf {
+- let base_dirs = base_directory();
+- let home = base_dirs.home_dir();
+- home.join(".histfile")
++ std::env::var_os("HISTFILE").map(PathBuf::from).unwrap_or_else(|| {
++ let base_dirs = base_directory();
++ let home = base_dirs.home_dir();
++ home.join(".histfile")
++ })
+ }
+
+ fn default_socket_path() -> PathBuf {
+
diff --git a/testing/hstdb/fix-format_duration-panicing.patch b/testing/hstdb/fix-format_duration-panicing.patch
new file mode 100644
index 00000000000..05c355016d4
--- /dev/null
+++ b/testing/hstdb/fix-format_duration-panicing.patch
@@ -0,0 +1,332 @@
+Patch-Source: https://github.com/AlexanderThaller/hstdb/commit/977aa3bc96b27e27020eb98668fd24939eb6b56a
+--
+From 977aa3bc96b27e27020eb98668fd24939eb6b56a Mon Sep 17 00:00:00 2001
+From: Alexander Thaller <alexander.thaller@trivago.com>
+Date: Thu, 7 Jul 2022 14:34:49 +0200
+Subject: [PATCH] Fix format_duration panicing when printing negative duration
+ (#50)
+
+---
+ Cargo.lock | 19 ++++---
+ Cargo.toml | 1 +
+ src/main.rs | 2 +-
+ src/opt.rs | 4 +-
+ src/run/mod.rs | 138 ++++++++++++++++++++++++++++++++-----------------
+ 5 files changed, 109 insertions(+), 55 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index 3f62a3f..163a042 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -306,6 +306,12 @@ dependencies = [
+ "termcolor",
+ ]
+
++[[package]]
++name = "exitcode"
++version = "1.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "de853764b47027c2e862a995c34978ffa63c1501f2e15f987ba11bd4f9bba193"
++
+ [[package]]
+ name = "fallible-iterator"
+ version = "0.2.0"
+@@ -453,6 +459,7 @@ dependencies = [
+ "csv",
+ "ctrlc",
+ "directories",
++ "exitcode",
+ "flume",
+ "glob",
+ "hostname",
+@@ -635,9 +642,9 @@ dependencies = [
+
+ [[package]]
+ name = "once_cell"
+-version = "1.12.0"
++version = "1.13.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7709cef83f0c1f58f666e746a08b21e0085f7440fa6a29cc194d68aac97a4225"
++checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
+
+ [[package]]
+ name = "os_str_bytes"
+@@ -820,9 +827,9 @@ dependencies = [
+
+ [[package]]
+ name = "regex"
+-version = "1.5.6"
++version = "1.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1"
++checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+ dependencies = [
+ "aho-corasick",
+ "memchr",
+@@ -837,9 +844,9 @@ checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
+
+ [[package]]
+ name = "regex-syntax"
+-version = "0.6.26"
++version = "0.6.27"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64"
++checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+
+ [[package]]
+ name = "remove_dir_all"
+diff --git a/Cargo.toml b/Cargo.toml
+index 4619534..4630e39 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -41,6 +41,7 @@ sled = "0.34"
+ thiserror = "1"
+ toml = "0.5"
+ uuid = { version = "1", features = ["serde", "v4"] }
++exitcode = "1.1.2"
+
+ [dev-dependencies]
+ tempfile = "3"
+diff --git a/src/main.rs b/src/main.rs
+index fd503ef..238d7f7 100644
+--- a/src/main.rs
++++ b/src/main.rs
+@@ -4,7 +4,6 @@
+ #![forbid(unsafe_code)]
+
+ use clap::Parser;
+-use log::error;
+
+ mod client;
+ mod config;
+@@ -15,6 +14,7 @@ mod run;
+ mod server;
+ mod store;
+
++use log::error;
+ use opt::Opt;
+
+ fn main() {
+diff --git a/src/opt.rs b/src/opt.rs
+index 9099228..af7fb97 100644
+--- a/src/opt.rs
++++ b/src/opt.rs
+@@ -400,10 +400,10 @@ impl Opt {
+ SubCommand::Import(s) => match s {
+ #[cfg(feature = "histdb-import")]
+ Import::Histdb(o) => run::import::histdb(&o.import_file, o.data_dir.data_dir)
+- .map_err(run::Error::Import),
++ .map_err(run::Error::ImportHistdb),
+ Import::Histfile(o) => {
+ run::import::histfile(&o.import_file, o.data_dir.data_dir)
+- .map_err(run::Error::Import)
++ .map_err(run::Error::ImportHistfile)
+ }
+ },
+ SubCommand::Init => {
+diff --git a/src/run/mod.rs b/src/run/mod.rs
+index d11de89..8caebbc 100644
+--- a/src/run/mod.rs
++++ b/src/run/mod.rs
+@@ -28,7 +28,10 @@ use comfy_table::{
+ Cell,
+ Table,
+ };
+-use log::debug;
++use log::{
++ debug,
++ warn,
++};
+ use std::{
+ convert::TryInto,
+ io::Write,
+@@ -69,11 +72,21 @@ pub enum Error {
+ #[error("can not write to stdout: {0}")]
+ WriteStdout(std::io::Error),
+
+- #[error("can not import entries: {0}")]
+- Import(import::Error),
+-
+ #[error("can not read configuration file: {0}")]
+ ReadConfig(config::Error),
++
++ #[error("encountered negative duration when trying to format duration")]
++ NegativeDuration,
++
++ #[cfg(feature = "histdb-import")]
++ #[error("can not import from histdb: {0}")]
++ ImportHistdb(import::Error),
++
++ #[error("can not import from histfile: {0}")]
++ ImportHistfile(import::Error),
++
++ #[error("can not format entry: {0}\nentry: {1:?}")]
++ FormatEntry(Box<Error>, Entry),
+ }
+
+ #[derive(Debug)]
+@@ -144,7 +157,9 @@ pub fn default(filter: &Filter, display: &TableDisplay, data_dir: PathBuf) -> Re
+ let entries = store::new(data_dir).get_entries(filter)?;
+
+ if display.format {
+- default_format(display, entries)
++ default_format(display, entries);
++
++ Ok(())
+ } else {
+ default_no_format(display, entries)
+ }
+@@ -187,40 +202,56 @@ pub fn default_no_format(display: &TableDisplay, entries: Vec<Entry>) -> Result<
+ }
+
+ for entry in entries {
+- let mut row = vec![format_timestamp(entry.time_finished)];
+-
+- if display.host.is_show() {
+- row.push(entry.hostname);
++ if let Err(err) = default_no_format_entry(&mut handle, display, &entry) {
++ warn!("{}", Error::FormatEntry(Box::new(err), entry));
+ }
++ }
+
+- if display.duration.is_show() {
+- row.push(format_duration(entry.time_start, entry.time_finished)?);
+- }
++ Ok(())
++}
+
+- if display.status.is_show() {
+- row.push(format!("{}", entry.result));
+- }
++fn default_no_format_entry<T>(
++ handle: &mut T,
++ display: &TableDisplay,
++ entry: &Entry,
++) -> Result<(), Error>
++where
++ T: Write,
++{
++ let mut row = vec![format_timestamp(entry.time_finished)];
+
+- if display.session.is_show() {
+- row.push(format_uuid(entry.session_id));
+- }
+- if display.pwd.is_show() {
+- row.push(format_pwd(&entry.pwd)?);
+- }
++ if display.host.is_show() {
++ row.push(entry.hostname.clone());
++ }
+
+- row.push(format_command(&entry.command, display.format));
++ if display.duration.is_show() {
++ row.push(format_duration(entry.time_start, entry.time_finished)?);
++ }
+
+- handle
+- .write_all(row.join("\t").as_bytes())
+- .map_err(Error::WriteStdout)?;
++ if display.status.is_show() {
++ row.push(format!("{}", entry.result));
++ }
+
+- handle.write_all(b"\n").map_err(Error::WriteStdout)?;
++ if display.session.is_show() {
++ row.push(format_uuid(entry.session_id));
++ }
++
++ if display.pwd.is_show() {
++ row.push(format_pwd(&entry.pwd)?);
+ }
+
++ row.push(format_command(&entry.command, display.format));
++
++ handle
++ .write_all(row.join("\t").as_bytes())
++ .map_err(Error::WriteStdout)?;
++
++ handle.write_all(b"\n").map_err(Error::WriteStdout)?;
++
+ Ok(())
+ }
+
+-pub fn default_format(display: &TableDisplay, entries: Vec<Entry>) -> Result<(), Error> {
++pub fn default_format(display: &TableDisplay, entries: Vec<Entry>) {
+ let mut table = Table::new();
+ table.load_preset(" ");
+ table.set_content_arrangement(comfy_table::ContentArrangement::Dynamic);
+@@ -254,33 +285,43 @@ pub fn default_format(display: &TableDisplay, entries: Vec<Entry>) -> Result<(),
+ }
+
+ for entry in entries {
+- let mut row = vec![format_timestamp(entry.time_finished)];
+-
+- if display.host.is_show() {
+- row.push(entry.hostname);
++ if let Err(err) = default_format_entry(&mut table, display, &entry) {
++ warn!("{}", Error::FormatEntry(Box::new(err), entry));
+ }
++ }
+
+- if display.duration.is_show() {
+- row.push(format_duration(entry.time_start, entry.time_finished)?);
+- }
++ println!("{}", table);
++}
+
+- if display.status.is_show() {
+- row.push(format!("{}", entry.result));
+- }
++fn default_format_entry(
++ table: &mut Table,
++ display: &TableDisplay,
++ entry: &Entry,
++) -> Result<(), Error> {
++ let mut row = vec![format_timestamp(entry.time_finished)];
+
+- if display.session.is_show() {
+- row.push(format_uuid(entry.session_id));
+- }
+- if display.pwd.is_show() {
+- row.push(format_pwd(&entry.pwd)?);
+- }
++ if display.host.is_show() {
++ row.push(entry.hostname.clone());
++ }
+
+- row.push(format_command(&entry.command, display.format));
++ if display.duration.is_show() {
++ row.push(format_duration(entry.time_start, entry.time_finished)?);
++ }
+
+- table.add_row(row);
++ if display.status.is_show() {
++ row.push(format!("{}", entry.result));
+ }
+
+- println!("{}", table);
++ if display.session.is_show() {
++ row.push(format_uuid(entry.session_id));
++ }
++ if display.pwd.is_show() {
++ row.push(format_pwd(&entry.pwd)?);
++ }
++
++ row.push(format_command(&entry.command, display.format));
++
++ table.add_row(row);
+
+ Ok(())
+ }
+@@ -418,6 +459,11 @@ fn format_duration(
+ ) -> Result<String, Error> {
+ let duration = time_finished - time_start;
+ let duration_ms = duration.num_milliseconds();
++
++ if duration_ms < 0 {
++ return Err(Error::NegativeDuration);
++ }
++
+ let duration_std =
+ std::time::Duration::from_millis(duration_ms.try_into().map_err(Error::ConvertDuration)?);
+
diff --git a/testing/hstdb/rename-text_excluded.patch b/testing/hstdb/rename-text_excluded.patch
new file mode 100644
index 00000000000..4b6c234498a
--- /dev/null
+++ b/testing/hstdb/rename-text_excluded.patch
@@ -0,0 +1,27 @@
+Patch-Source: https://github.com/AlexanderThaller/hstdb/pull/56
+--
+From 958fa44a77846142374f53e2beb1da8c667fc637 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sun, 12 Mar 2023 19:55:13 +0100
+Subject: [PATCH] Rename option --text_excluded to --text-excluded for
+ consistency
+
+All other options use kebab-case. The old name will still work, I've
+specified it as an alias.
+---
+ src/opt.rs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/opt.rs b/src/opt.rs
+index af7fb97..db9f6e1 100644
+--- a/src/opt.rs
++++ b/src/opt.rs
+@@ -193,7 +193,7 @@ struct DefaultArgs {
+ command_text: Option<Regex>,
+
+ /// Only print entries not containing the given regex
+- #[clap(short = 'T', long = "text_excluded")]
++ #[clap(short = 'T', long = "text-excluded", alias = "text_excluded")]
+ command_text_excluded: Option<Regex>,
+
+ /// Only print entries that have been executed in the current directory
diff --git a/testing/hstdb/replace-pretty_env_logger.patch b/testing/hstdb/replace-pretty_env_logger.patch
new file mode 100644
index 00000000000..aa39770027b
--- /dev/null
+++ b/testing/hstdb/replace-pretty_env_logger.patch
@@ -0,0 +1,137 @@
+Patch-Source: https://github.com/AlexanderThaller/hstdb/pull/54
+--
+From 3754ddf5aff975e193b9a40beacbbd4e09d6d1dc Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sun, 12 Mar 2023 01:44:36 +0100
+Subject: [PATCH] Replace outdated pretty_env_logger with env_logger
+
+pretty_env_logger hasn't been updated for 3 years and it pulls outdated
+version of env_logger.
+---
+ Cargo.lock | 40 ++++++----------------------------------
+ Cargo.toml | 2 +-
+ src/opt.rs | 2 +-
+ 3 files changed, 8 insertions(+), 36 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index 163a042..aecf0b9 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -295,14 +295,11 @@ dependencies = [
+
+ [[package]]
+ name = "env_logger"
+-version = "0.7.1"
++version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
++checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+ dependencies = [
+- "atty",
+- "humantime 1.3.0",
+ "log",
+- "regex",
+ "termcolor",
+ ]
+
+@@ -459,14 +456,14 @@ dependencies = [
+ "csv",
+ "ctrlc",
+ "directories",
++ "env_logger",
+ "exitcode",
+ "flume",
+ "glob",
+ "hostname",
+- "humantime 2.1.0",
++ "humantime",
+ "log",
+ "pretty_assertions",
+- "pretty_env_logger",
+ "regex",
+ "rusqlite",
+ "serde",
+@@ -477,15 +474,6 @@ dependencies = [
+ "uuid",
+ ]
+
+-[[package]]
+-name = "humantime"
+-version = "1.3.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
+-dependencies = [
+- "quick-error",
+-]
+-
+ [[package]]
+ name = "humantime"
+ version = "2.1.0"
+@@ -534,9 +522,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.126"
++version = "0.2.140"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
++checksum = "99227334921fae1a979cf0bfdfcc6b3e5ce376ef57e16fb6fb3ea2ed6095f80c"
+
+ [[package]]
+ name = "libsqlite3-sys"
+@@ -747,16 +735,6 @@ dependencies = [
+ "output_vt100",
+ ]
+
+-[[package]]
+-name = "pretty_env_logger"
+-version = "0.4.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d"
+-dependencies = [
+- "env_logger",
+- "log",
+-]
+-
+ [[package]]
+ name = "proc-macro-error"
+ version = "1.0.4"
+@@ -790,12 +768,6 @@ dependencies = [
+ "unicode-ident",
+ ]
+
+-[[package]]
+-name = "quick-error"
+-version = "1.2.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+-
+ [[package]]
+ name = "quote"
+ version = "1.0.20"
+diff --git a/Cargo.toml b/Cargo.toml
+index 4630e39..7eb4fa7 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -33,7 +33,7 @@ glob = "0.3"
+ hostname = "0.3"
+ humantime = "2"
+ log = { version = "0.4", features = ["serde"] }
+-pretty_env_logger = "0.4"
++env_logger = { version = "0.10.0", default-features = false, features = ["color"] }
+ regex = "1"
+ rusqlite = { version = "0.27", optional = true }
+ serde = { version = "1", features = ["derive"] }
+diff --git a/src/opt.rs b/src/opt.rs
+index af7fb97..de1ef24 100644
+--- a/src/opt.rs
++++ b/src/opt.rs
+@@ -356,7 +356,7 @@ impl Opt {
+ if std::env::var_os("RUST_LOG").is_none() {
+ std::env::set_var("RUST_LOG", config.log_level.as_str());
+ }
+- pretty_env_logger::init();
++ env_logger::init();
+
+ sub_command.map_or_else(
+ || {
diff --git a/testing/hstdb/strip-features.patch b/testing/hstdb/strip-features.patch
new file mode 100644
index 00000000000..4081675fa28
--- /dev/null
+++ b/testing/hstdb/strip-features.patch
@@ -0,0 +1,12 @@
+Strip some unnecessary features in dependencies to reduce size and bloat.
+
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -24 +24 @@
+-clap = { version = "3", features = ["derive", "env"] }
++clap = { version = "3", default-features = false, features = ["std", "derive", "env"] }
+@@ -35,2 +32,2 @@
+-env_logger = { version = "0.10.0", default-features = false, features = ["color"] }
+-regex = "1"
++env_logger = { version = "0.10.0", default-features = false }
++regex = { version = "1", default-features = false, features = ["std", "perf", "unicode-case", "unicode-gencat", "unicode-perl"] }
diff --git a/testing/htmlcxx/APKBUILD b/testing/htmlcxx/APKBUILD
index 720ad5598c4..77b8f5278f9 100644
--- a/testing/htmlcxx/APKBUILD
+++ b/testing/htmlcxx/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: shum <shum@posteo.net>
pkgname=htmlcxx
pkgver=0.87
-pkgrel=0
+pkgrel=1
pkgdesc="Simple non-validating CSS1 and HTML parser for C++"
-url="http://htmlcxx.sourceforge.net/"
+url="https://htmlcxx.sourceforge.net/"
arch="all"
license="LGPL-2.0-only"
options="!check" # no testsuite
@@ -12,7 +12,12 @@ subpackages="$pkgname-dev"
source="$pkgname-$pkgver.tar.gz::https://sourceforge.net/projects/htmlcxx/files/v$pkgver/htmlcxx-$pkgver.tar.gz"
build() {
- ./configure --prefix=/usr --build=$CBUILD --host=$CHOST
+ # gcc12 defaults to 17 which fails due to throw()
+ export CXXFLAGS="$CXXFLAGS -std=c++14"
+ ./configure \
+ --prefix=/usr \
+ --build=$CBUILD \
+ --host=$CHOST
make
}
diff --git a/testing/htmldoc/APKBUILD b/testing/htmldoc/APKBUILD
new file mode 100644
index 00000000000..635b9a8a43b
--- /dev/null
+++ b/testing/htmldoc/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=htmldoc
+pkgver=1.9.18
+pkgrel=0
+pkgdesc="HTML conversion software"
+url="https://www.msweet.org/htmldoc"
+arch="all"
+license="GPL-2.0-only"
+options="!check" # no test suite
+makedepends="cups-dev fltk-dev libpng-dev libjpeg-turbo-dev zlib-dev"
+source="https://github.com/michaelrsweet/htmldoc/archive/v$pkgver/htmldoc-v$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+
+build() {
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+529726b719b9175c66a8e0b65902470a1b4faf6c166f3a36295ff58293a1c25324a5e4852f090760d7543f2d546d0d4e58fc70080dbfb0537895956126d0ae00 htmldoc-v1.9.18.tar.gz
+"
diff --git a/testing/htmlq/APKBUILD b/testing/htmlq/APKBUILD
deleted file mode 100644
index d0329cda44b..00000000000
--- a/testing/htmlq/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=htmlq
-pkgver=0.4.0
-pkgrel=0
-pkgdesc="Like jq, but for HTML"
-url="https://github.com/mgdm/htmlq"
-license="MIT"
-arch="all !s390x !mips64 !riscv64" # blocked by rust/cargo
-options="!check" # no test suite
-makedepends="cargo"
-source="https://github.com/mgdm/htmlq/archive/v$pkgver/htmlq-$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-}
-
-package() {
- install -Dm755 target/release/htmlq "$pkgdir"/usr/bin/htmlq
-}
-
-sha512sums="
-3cbb53b66ca894b17c95487fe33a11587449af1b0acd5fa9e804b046e15fdd50a997b5367d0b00c20dce2587cfdf9d15b75cdd97007082928228a53b2f12fde7 htmlq-0.4.0.tar.gz
-"
diff --git a/testing/htslib/APKBUILD b/testing/htslib/APKBUILD
new file mode 100644
index 00000000000..8af6f3ca9bb
--- /dev/null
+++ b/testing/htslib/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=htslib
+pkgver=1.19
+pkgrel=0
+pkgdesc="C library for high-throughput sequencing data formats"
+url="https://github.com/samtools/htslib"
+arch="all"
+license="MIT AND BSD-3-Clause-Modification"
+options="!check" # no test suite
+makedepends="
+ bzip2-dev
+ curl-dev
+ libdeflate-dev
+ xz-dev
+ zlib-dev
+ "
+source="https://github.com/samtools/htslib/releases/download/$pkgver/htslib-$pkgver.tar.bz2"
+subpackages="
+ $pkgname-static
+ $pkgname-dev
+ $pkgname-tools:_tools
+ $pkgname-doc
+ "
+
+build() {
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --enable-libcurl \
+ --with-libdeflate \
+ --with-plugin-dir=/usr/lib/htslib/plugins
+ make
+}
+
+_tools() {
+ pkgdesc="Utilities for high-throughput sequencing data formats"
+ amove usr/bin
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+0001a5aba59bf655470fc3e0444b1b51575391f2b47e50bb66d0722407bfba744611ceaf8405450c4a630d506a583ef42e46bfa0842b2a95ea48cb359164f26a htslib-1.19.tar.bz2
+"
diff --git a/testing/httpie-oauth/APKBUILD b/testing/httpie-oauth/APKBUILD
index 5b6ef89eeef..a1ad687ae57 100644
--- a/testing/httpie-oauth/APKBUILD
+++ b/testing/httpie-oauth/APKBUILD
@@ -2,21 +2,25 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=httpie-oauth
pkgver=1.0.2
-pkgrel=4
+pkgrel=9
pkgdesc="OAuth plugin for HTTPie"
-url="https://github.com/jkbr/httpie-oauth"
+url="https://github.com/httpie/httpie-oauth"
arch="noarch"
license="BSD-3-Clause"
depends="python3 httpie py3-requests-oauthlib"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/h/httpie-oauth/httpie-oauth-$pkgver.tar.gz"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="d2825143e839f82591db59995619f7437fccc42e9f126ca247e19b1533706cfaadaab5c3518d3d994e898fcb3d98ed899cd9a36f07963d701eb019587c2821c6 httpie-oauth-1.0.2.tar.gz"
diff --git a/testing/httrack/APKBUILD b/testing/httrack/APKBUILD
index b778fc09987..a171c6ab9ad 100644
--- a/testing/httrack/APKBUILD
+++ b/testing/httrack/APKBUILD
@@ -3,12 +3,12 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=httrack
pkgver=3.49.2
-pkgrel=3
+pkgrel=5
pkgdesc="Website Copier - Free Software Offline Browser"
url="http://www.httrack.com/"
arch="all"
license="GPL-3.0"
-makedepends="zlib-dev openssl-dev libtool"
+makedepends="zlib-dev openssl-dev>3 libtool"
source="http://mirror.httrack.com/historical/${pkgname}-${pkgver}.tar.gz"
subpackages="$pkgname-doc"
builddir="$srcdir/$pkgname-$pkgver"
diff --git a/testing/hub/APKBUILD b/testing/hub/APKBUILD
index c600650cb86..3c59fd424fa 100644
--- a/testing/hub/APKBUILD
+++ b/testing/hub/APKBUILD
@@ -4,7 +4,7 @@
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=hub
pkgver=2.14.2
-pkgrel=3
+pkgrel=22
pkgdesc="Extends git with extra features for GitHub"
url="https://hub.github.com/"
arch="all"
@@ -21,6 +21,10 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/github/hub/archive/v$pkgver.
builddir="$srcdir/src/github.com/github/hub"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
prepare() {
mkdir -p "${builddir%/*}"
mv $pkgname-$pkgver "$builddir"
@@ -44,7 +48,7 @@ package() {
install -Dm644 "$builddir"/etc/$pkgname.zsh_completion \
"$pkgdir"/usr/share/zsh/site-functions/_$pkgname
install -Dm644 "$builddir"/etc/$pkgname.fish_completion \
- "$pkgdir"/usr/share/fish/completions/$pkgname.fish
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
}
sha512sums="4809d12966cc983f42c8aef482e07bc4226e25fc4deba838e418664ce14ac9d2ac42842d0721a46466a80c0e492392542ecfaaccc2cea0efdd60df8b60a3ca02 hub-2.14.2.tar.gz"
diff --git a/testing/hubble-cli/APKBUILD b/testing/hubble-cli/APKBUILD
new file mode 100644
index 00000000000..c1e06a5b7f0
--- /dev/null
+++ b/testing/hubble-cli/APKBUILD
@@ -0,0 +1,57 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=hubble-cli
+pkgver=0.13.0
+pkgrel=2
+pkgdesc="CLI for the distributed networking and security observability platform"
+url="https://github.com/cilium/hubble"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/cilium/hubble/archive/refs/tags/v$pkgver.tar.gz
+ byteorder-add-s390x-support.patch
+ "
+builddir="$srcdir/hubble-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ go mod vendor -v
+ default_prepare
+}
+
+build() {
+ go build -mod=vendor -v \
+ -ldflags "-X github.com/cilium/hubble/pkg.Version=$pkgver" \
+ -o hubble
+
+ for shell in bash fish zsh; do
+ ./hubble completion $shell > hubble.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 hubble -t "$pkgdir"/usr/bin/
+
+ install -Dm644 hubble.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/hubble
+ install -Dm644 hubble.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/hubble.fish
+ install -Dm644 hubble.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_hubble
+}
+
+sha512sums="
+6ff073dcbb66c6015cb13065cec5620fec7292324df63b5bfbc7af80ea54435588157bce9ddc0cf6a5ecb437ffee60e2bc44a31a0733cf8ee48bd82ac4afab71 hubble-cli-0.13.0.tar.gz
+872ccb44ac714420f87c476743d7be1b644c3a5c7e2a975d47720dc970c632ce82bb678421b053ebbc219d4a3b1f2c9f37aa74f3733a055b0f8c1dbe15fed23f byteorder-add-s390x-support.patch
+"
diff --git a/testing/hubble-cli/byteorder-add-s390x-support.patch b/testing/hubble-cli/byteorder-add-s390x-support.patch
new file mode 100644
index 00000000000..5d7fdac46e8
--- /dev/null
+++ b/testing/hubble-cli/byteorder-add-s390x-support.patch
@@ -0,0 +1,11 @@
+--- a/vendor/github.com/cilium/cilium/pkg/byteorder/byteorder_bigendian.go
++++ b/vendor/github.com/cilium/cilium/pkg/byteorder/byteorder_bigendian.go
+@@ -1,7 +1,7 @@
+ // SPDX-License-Identifier: Apache-2.0
+ // Copyright Authors of Cilium
+
+-//go:build armbe || arm64be || mips || mips64 || ppc64
++//go:build armbe || arm64be || mips || mips64 || ppc64 || s390x
+
+ package byteorder
+
diff --git a/testing/hunspell-ca-es/APKBUILD b/testing/hunspell-ca-es/APKBUILD
new file mode 100644
index 00000000000..0f9cf685fa2
--- /dev/null
+++ b/testing/hunspell-ca-es/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Eloi Torrents <eloitor@disroot.org>
+# Maintainer: Eloi Torrents <eloitor@disroot.org>
+pkgname=hunspell-ca-es
+pkgver=3.0.7
+pkgrel=0
+pkgdesc="Catalan (Spain) hunspell dictionaries"
+url="https://www.softcatala.org/projectes/corrector-ortografic/"
+arch="noarch"
+license="GPL-2.0-or-later, LGPL-2.1-or-later"
+makedepends="unzip"
+options="!check" # no tests available
+source="https://github.com/Softcatala/catalan-dict-tools/releases/download/v$pkgver/ca.$pkgver-hunspell.zip"
+builddir="$srcdir/"
+
+package() {
+ install -d "$pkgdir"/usr/share/hunspell
+ install -m644 catalan.aff "$pkgdir"/usr/share/hunspell/ca_ES.aff
+ install -m644 catalan.dic "$pkgdir"/usr/share/hunspell/ca_ES.dic
+}
+sha512sums="
+39972b3964fa2d0fa822a2cf729efe93208aff5327fd0d8ef1ebe8f3461084c351cba4c0c73e780187f0e77a78f605659eed3ce06754ab0a6d5f2ab93bc9d155 ca.3.0.7-hunspell.zip
+"
diff --git a/testing/hunspell-es-ar/APKBUILD b/testing/hunspell-es-ar/APKBUILD
new file mode 100644
index 00000000000..33c79def80f
--- /dev/null
+++ b/testing/hunspell-es-ar/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=hunspell-es-ar
+pkgver=2.7
+pkgrel=0
+pkgdesc="Spanish (Argentina) hunspell dictionaries"
+url="https://github.com/sbosio/rla-es"
+arch="noarch"
+license="GPL-3.0-or-later AND LGPL3.0-or-later AND MPL-1.1"
+source="es_AR-$pkgver.oxt::https://github.com/sbosio/rla-es/releases/download/v$pkgver/es_AR.oxt"
+# No tests
+options="!check"
+subpackages="$pkgname-doc"
+
+unpack() {
+ msg "Unpacking sources..."
+ mkdir -p "$builddir"
+ cd "$builddir"
+ for u in $source; do
+ local s="$SRCDEST/$(filename_from_uri $u)"
+ case "$s" in
+ *.oxt) unzip $s ;;
+ esac
+ done
+}
+
+package() {
+ install -Dm644 es_AR.dic es_AR.aff -t "$pkgdir"/usr/share/hunspell
+
+ # docs
+ install -Dm644 README.txt -t "$pkgdir"/usr/share/doc/$pkgname
+}
+
+sha512sums="
+7fcd900c8486a27a9ccba7c9a090c6d41242e285fd8c12669fcdd0ff26640f406895050491b4e36e9e920943acee0990ac61a3396367a019f251e29cce92c739 es_AR-2.7.oxt
+"
diff --git a/testing/hurl/APKBUILD b/testing/hurl/APKBUILD
new file mode 100644
index 00000000000..c5bedf02a46
--- /dev/null
+++ b/testing/hurl/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=hurl
+pkgver=4.2.0
+pkgrel=0
+pkgdesc="CLI to run HTTP requests defined in simple plain text format"
+url="https://hurl.dev/"
+arch="all"
+license="Apache-2.0"
+makedepends="cargo curl-dev libxml2-dev cargo-auditable"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Orange-OpenSource/hurl/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # tests require a running local web server
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm755 target/release/hurl target/release/hurlfmt -t "$pkgdir"/usr/bin/
+ install -Dm644 docs/manual/hurl.1 docs/manual/hurlfmt.1 -t "$pkgdir"/usr/share/man/man1/
+}
+
+sha512sums="
+a1f2f83cb41baec4efa498899145008b159510db0d9447d4f0c2856df7eb80feb36483dd3842ef059a55593a6d1fb1ea19faaf18a29752327e8f0667435d3c25 hurl-4.2.0.tar.gz
+"
diff --git a/testing/hut/APKBUILD b/testing/hut/APKBUILD
deleted file mode 100644
index aa2295081d2..00000000000
--- a/testing/hut/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Maxim Karasev <begs@disroot.org>
-# Maintainer: Maxim Karasev <begs@disroot.org>
-pkgname=hut
-pkgver=0.0.0_git20220114
-_commit=67389900272027b60424947c0e6ab05370e8aae1
-pkgrel=0
-pkgdesc="command-line tool for sr.ht"
-url="https://sr.ht/~emersion/hut"
-arch="all"
-license="AGPL-3.0-only"
-makedepends="go scdoc"
-subpackages="$pkgname-doc
- $pkgname-zsh-completion
- $pkgname-bash-completion
- $pkgname-fish-completion"
-source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~emersion/hut/archive/$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
-options="!check" # no test suite
-
-build() {
- make all
-
- ./hut completion zsh >$pkgname.zsh
- ./hut completion bash >$pkgname.bash
- ./hut completion fish >$pkgname.fish
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-
- install -Dm644 $pkgname.zsh \
- "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
-
- install -Dm644 $pkgname.bash \
- "$pkgdir"/usr/share/bash-completion/completions/$pkgname.bash
-
- install -Dm644 $pkgname.fish \
- "$pkgdir"/usr/share/fish/completions/$pkgname.fish
-}
-
-sha512sums="
-aa55664063c14b1e7e3704b80c9d95cb09b6e9757af324ad57d613e4afb7905045854f582634b819d7fbec1b90da0c427132ddd25f7e798880a324e73129e345 hut-0.0.0_git20220114.tar.gz
-"
diff --git a/testing/hw-probe/APKBUILD b/testing/hw-probe/APKBUILD
index 4fc9707299e..2ec5f0dfe03 100644
--- a/testing/hw-probe/APKBUILD
+++ b/testing/hw-probe/APKBUILD
@@ -1,16 +1,28 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=hw-probe
-pkgver=1.6.1
-pkgrel=0
+pkgver=1.6.5
+pkgrel=1
pkgdesc="A tool to probe for hardware and upload result to the Linux Hardware Database"
url="https://github.com/linuxhw/hw-probe"
-arch="noarch !mips !mips64" # blocked by acpica
-license="LGPL-2.1"
+arch="noarch"
+license="LGPL-2.1-or-later OR BSD-4-Clause"
makedepends="perl-dev"
-depends="perl perl-digest-sha1 perl-libwww
-hwinfo curl dmidecode smartmontools hwids-pci hwids-usb hwids-net
-memtester hdparm i2c-tools acpica sysstat xz"
+depends="
+ acpica
+ curl
+ dmidecode
+ hdparm
+ hwdata
+ i2c-tools
+ memtester
+ perl
+ perl-digest-sha1
+ perl-libwww
+ smartmontools
+ sysstat
+ xz
+ "
options="!check" # no test available
source="$pkgname-$pkgver.tar.gz::https://github.com/linuxhw/hw-probe/archive/$pkgver.tar.gz"
@@ -23,5 +35,5 @@ package() {
}
sha512sums="
-3523b1c1e0e0a8911563e31f91ff0d975e8382ff207ca9c2f33f82fab7bcd46e1daada377be46ae8818ce50e9e9a5cd6ea00da3be7e012613263c0fe9921656a hw-probe-1.6.1.tar.gz
+68d6709ca4efe82e0e5de3b580c68f76fa31384af0c53645b6609cee14b944a410e58b12ac13f879d8d86220c1088cfaad17dc6edd24cf27700e449add6f6488 hw-probe-1.6.5.tar.gz
"
diff --git a/testing/hwatch/APKBUILD b/testing/hwatch/APKBUILD
new file mode 100644
index 00000000000..31e593f79ce
--- /dev/null
+++ b/testing/hwatch/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=hwatch
+pkgver=0.3.11
+pkgrel=0
+pkgdesc="A modern alternative to the watch command"
+url="https://github.com/blacknon/hwatch"
+ # !s390x: nix crate
+arch="all !s390x"
+license="MIT"
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/blacknon/hwatch/archive/refs/tags/$pkgver/hwatch-$pkgver.tar.gz"
+# !check: no tests provided
+# net: fetch dependencies
+options="!check net"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+package() {
+ install -D -m755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+ install -D -m644 man/$pkgname.1 -t "$pkgdir"/usr/share/man/man1/
+ install -D -m644 completion/fish/* -t "$pkgdir"/usr/share/fish/vendor_completions.d/
+ install -D -m644 completion/zsh/* -t "$pkgdir"/usr/share/zsh/site-functions/
+}
+
+sha512sums="
+71279a93a0bce62f08c00cd2a7ebcd787e17af1c0d35b7447fda657268faa31c0cd474a8ea3fc4ea988a68d8930dcfa0b9497d01431aee7433e79ecc64938630 hwatch-0.3.11.tar.gz
+"
diff --git a/testing/hx/APKBUILD b/testing/hx/APKBUILD
new file mode 100644
index 00000000000..8cb67daabce
--- /dev/null
+++ b/testing/hx/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=hx
+pkgver=1.0.14
+pkgrel=0
+pkgdesc="Hex editor for the terminal using plain C99 + POSIX libs"
+url="https://github.com/krpors/hx"
+arch="all"
+license="MIT"
+install="$pkgname.post-install"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/krpors/hx/archive/v$pkgver.tar.gz
+ broken-makefile.patch
+ "
+options="!check" # No tests
+
+build() {
+ make hx_version="$pkgver" hx_git_hash="alpine-r$pkgrel" PREFIX=/usr
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ # rename to avoid conflicts
+ mv "$pkgdir"/usr/bin/hx "$pkgdir"/usr/bin/hx-editor
+}
+
+sha512sums="
+e8fcf210aa7f1e9857b3cff6184dc9b4e655840056511be7ba36654d665a8f57e81be032791c7d35511153ec9c6cd2ae3b689a2b3177f9650ca985c1b6827bd3 hx-1.0.14.tar.gz
+1a8d87e6e5f346cebee7f6e7e623e5cb0555e25ddef0fd13ccbaf3a3706c9e4b521be4f88d8621a02ded179a19a4da7e8bd5c8b70c1281b71cdbf49a5c838b97 broken-makefile.patch
+"
diff --git a/testing/hx/broken-makefile.patch b/testing/hx/broken-makefile.patch
new file mode 100644
index 00000000000..e33f1243345
--- /dev/null
+++ b/testing/hx/broken-makefile.patch
@@ -0,0 +1,40 @@
+- don't ignore cflags/ldflags
+- install to usr/share not share
+- don't strip always
+- don't pre-compress manpage with minimum compression
+- don't rebuild for install
+--
+diff --git a/Makefile b/Makefile
+index 6b37510..35cb380 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,14 +4,13 @@ hx_version != git describe --tags 2>/dev/null || echo "1.0.0"
+ CPPFLAGS = -DNDEBUG -DHX_GIT_HASH=\"$(hx_git_hash)\" -DHX_VERSION=\"$(hx_version)\"
+ CPPFLAGS += -D_POSIX_SOURCE # sigaction
+ CPPFLAGS += -D__BSD_VISIBLE # SIGWINCH on FreeBSD.
+-CFLAGS = -std=c99 -Wall -Wextra -pedantic -O3 -MMD -MP
+-LDFLAGS = -O3
++CFLAGS += -std=c99 -Wall -Wextra -pedantic -MMD -MP
+
+ objects := hx.o editor.o charbuf.o util.o undo.o
+
+ PREFIX ?= /usr/local
+ bindir = /bin
+-mandir = /man
++mandir = /share/man
+
+ %.gz: %
+ gzip -k $<
+@@ -24,9 +23,9 @@ debug: CPPFLAGS += -UNDEBUG # undefine the NDEBUG flag to allow assert().
+ debug: CFLAGS += -ggdb -Og
+ debug: LDFLAGS += -ggdb -Og
+
+-install: all
+- install -Dm755 -s ./hx -t $(DESTDIR)$(PREFIX)$(bindir)
+- install -Dm644 ./hx.1.gz -t $(DESTDIR)$(PREFIX)$(mandir)/man1
++install:
++ install -Dm755 ./hx -t $(DESTDIR)$(PREFIX)$(bindir)
++ install -Dm644 ./hx.1 -t $(DESTDIR)$(PREFIX)$(mandir)/man1
+
+ static: all
+ static: LDFLAGS += -static
diff --git a/testing/hx/hx.post-install b/testing/hx/hx.post-install
new file mode 100644
index 00000000000..3171985b23c
--- /dev/null
+++ b/testing/hx/hx.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+cat >&2 <<-EOF
+*
+* binary is renamed from 'hx' to 'hx-editor' to avoid conflicts
+*
+EOF
diff --git a/testing/hy/APKBUILD b/testing/hy/APKBUILD
index d386c9fe34e..0648c0d7b55 100644
--- a/testing/hy/APKBUILD
+++ b/testing/hy/APKBUILD
@@ -1,46 +1,48 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
pkgname=hy
-pkgver=1.0_p3
-_realver=${pkgver%_p*}a${pkgver##*_p}
+pkgver=0.28.0
pkgrel=1
pkgdesc="Dialect of Lisp that's embedded in Python"
url="http://hylang.org/"
arch="noarch"
license="MIT"
-# XXX: py3-astor can be removed with python3 >= 3.10
-depends="python3 py3-funcparserlib py3-astor py3-rply py3-colorama"
-makedepends="py3-setuptools py3-sphinx py3-sphinxcontrib-hydomain py3-sphinx_rtd_theme"
+depends="python3 py3-funcparserlib py3-rply py3-colorama"
+makedepends="py3-setuptools py3-sphinx py3-sphinxcontrib-hydomain py3-sphinx_rtd_theme py3-wheel"
checkdepends="python3-tests py3-pytest py3-pytest-runner py3-tox"
-subpackages="$pkgname-doc"
options="net"
-source="$pkgname-$pkgver.tar.gz::https://github.com/hylang/hy/archive/$_realver.tar.gz"
-builddir="$srcdir/$pkgname-$_realver"
+subpackages="$pkgname-pyc"
+#subpackages="$pkgname-doc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/hylang/hy/archive/$pkgver.tar.gz"
# By default setup.py tries to determine the hy version using
# git-describe(1). Unfourtunatly, this will return the version
# of the aports repository on Alpine.
-export HY_VERSION="$_realver"
+export HY_VERSION="$pkgver"
build() {
python3 setup.py build
- make -C docs/ man
+
+ # TODO: Building the documentation requires py3-sphinx >= 7.X.
+ #cd docs
+ #sphinx-build . _build -b man
}
check() {
# Ignore tests requiring binaries to be installed
- py.test-3 --ignore tests/test_bin.py \
+ pytest --ignore tests/test_bin.py \
--ignore tests/test_hy2py.py
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
- local man
- for man in docs/_build/man/*.?; do
- install -Dm644 "$man" \
- "$pkgdir"/usr/share/man/man${man##*.}/${man##*/}
- done
+ # XXX: See comment regarding documentation above.
+ # local man
+ # for man in docs/_build/*.?; do
+ # install -Dm644 "$man" \
+ # "$pkgdir"/usr/share/man/man${man##*.}/${man##*/}
+ # done
# This file is only needed for setuptools-produced source
# distributions <https://github.com/hylang/hy/commit/bd7b8bf5e19e>.
@@ -48,5 +50,5 @@ package() {
}
sha512sums="
-eb4aa876b58ba75d338aede036f6834616809e2da7a1d9aae4f0c803dcf290de4846bcdf844ca673885adce2518cebcfdf60f58840d4853ea3ff76c591cd1ed9 hy-1.0_p3.tar.gz
+71873e7f8d000f0febd6e8c48870d2a4bfeaab7f842b88194b7373c9926c6bfe59a217814b96bd4f2ec0103c5070b31128b0a794874db7aed5f2f329b224f25a hy-0.28.0.tar.gz
"
diff --git a/testing/hyperlink/APKBUILD b/testing/hyperlink/APKBUILD
new file mode 100644
index 00000000000..9fa4f2a7368
--- /dev/null
+++ b/testing/hyperlink/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=hyperlink
+pkgver=0.1.32
+pkgrel=0
+pkgdesc="Very fast link checker for CI"
+url="https://github.com/untitaker/hyperlink"
+# riscv64: fails to build libc crate
+# armhf: builds freeze and time out
+arch="all !riscv64 !armhf"
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/untitaker/hyperlink/archive/refs/tags/$pkgver.tar.gz
+ bump-getrandom.patch
+ "
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ # Tests try to execute the compiled binary. Without `--release`, they
+ # attempt to run the debug binary, which is not present and tests fail.
+ cargo test --release --frozen
+}
+
+package() {
+ install -Dm 0755 "target/release/$pkgname" "$pkgdir/usr/bin/$pkgname"
+}
+
+sha512sums="
+c5a79963c4d314f532eef0e8fdcdd9398b565c3a656b9f50719e1a60cb233f484409ff60dd9f7a5406a9ef92798c941ac868dc617859e6e55c0475dd58cc558b hyperlink-0.1.32.tar.gz
+6ef21529ce1161a4dd22f029f530463cc5f4e1c77a191876fdc63cfee1e8a453ae25a7b8eafc45218cdc7d7d2156d51dd0d87c8d37e21f4a7e6c1e2b51f70af2 bump-getrandom.patch
+"
diff --git a/testing/hyperlink/bump-getrandom.patch b/testing/hyperlink/bump-getrandom.patch
new file mode 100644
index 00000000000..f5676ccfdf0
--- /dev/null
+++ b/testing/hyperlink/bump-getrandom.patch
@@ -0,0 +1,42 @@
+needs to get updated due to open64 symbol linking issues
+
+diff --git a/Cargo.lock b/Cargo.lock
+index fec9908..e64aa1a 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -307,9 +307,9 @@ dependencies = [
+
+ [[package]]
+ name = "getrandom"
+-version = "0.2.3"
++version = "0.2.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
++checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+ dependencies = [
+ "cfg-if",
+ "libc",
+@@ -451,9 +451,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.94"
++version = "0.2.147"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "18794a8ad5b29321f790b55d93dfba91e125cb1a9edbd4f8e3150acc771c1a5e"
++checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
+ [[package]]
+ name = "log"
+@@ -867,9 +867,9 @@ dependencies = [
+
+ [[package]]
+ name = "wasi"
+-version = "0.10.2+wasi-snapshot-preview1"
++version = "0.11.0+wasi-snapshot-preview1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+ [[package]]
+ name = "winapi"
diff --git a/testing/hypnotix/0001-fix-locale-has-no-attribute-bindtextdomain.patch b/testing/hypnotix/0001-fix-locale-has-no-attribute-bindtextdomain.patch
deleted file mode 100644
index daded32e0c1..00000000000
--- a/testing/hypnotix/0001-fix-locale-has-no-attribute-bindtextdomain.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/usr/lib/hypnotix/hypnotix.py
-+++ b/usr/lib/hypnotix/hypnotix.py
-@@ -30,7 +30,7 @@
- # i18n
- APP = 'hypnotix'
- LOCALE_DIR = "/usr/share/locale"
--locale.bindtextdomain(APP, LOCALE_DIR)
-+#locale.bindtextdomain(APP, LOCALE_DIR)
- gettext.bindtextdomain(APP, LOCALE_DIR)
- gettext.textdomain(APP)
- _ = gettext.gettext
diff --git a/testing/hypnotix/APKBUILD b/testing/hypnotix/APKBUILD
index b98ea147d77..e142fa9c0ff 100644
--- a/testing/hypnotix/APKBUILD
+++ b/testing/hypnotix/APKBUILD
@@ -1,21 +1,31 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=hypnotix
-pkgver=2.0
+pkgver=3.5
pkgrel=0
pkgdesc="IPTV streaming application"
url="https://github.com/linuxmint/hypnotix"
arch="noarch"
license="GPL-3.0-or-later"
depends="
- dconf python3 py3-cairo xapp py3-requests
- py3-setproctitle py3-imdbpy mpv mpv-libs
+ dconf
+ gdk-pixbuf
+ glib
+ py3-cairo
+ py3-gettext
+ py3-imdbpy
+ py3-mpv
+ py3-pillow
+ py3-requests
+ py3-setproctitle
+ py3-unidecode
+ pango
+ python3
+ xapp
"
-makedepends="gettext-tiny"
+makedepends="gettext-dev"
subpackages="$pkgname-lang"
options="!check" # No testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/hypnotix/archive/$pkgver.tar.gz
- 0001-fix-locale-has-no-attribute-bindtextdomain.patch
- "
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/hypnotix/archive/$pkgver.tar.gz"
prepare() {
default_prepare
@@ -27,24 +37,10 @@ build() {
}
package() {
- install -D -t "$pkgdir"/usr/bin usr/bin/hypnotix
- install -D -t "$pkgdir"/usr/lib/hypnotix usr/lib/hypnotix/hypnotix.py
- install -D -t "$pkgdir"/usr/lib/hypnotix usr/lib/hypnotix/common.py
- install -Dm644 -t "$pkgdir"/usr/lib/hypnotix usr/lib/hypnotix/mpv.py
- install -Dm644 -t "$pkgdir"/usr/share/applications usr/share/applications/hypnotix.desktop
- install -Dm644 -t "$pkgdir"/usr/share/glib-2.0/schemas usr/share/glib-2.0/schemas/org.x.hypnotix.gschema.xml
- install -Dm644 -t "$pkgdir"/usr/share/hypnotix usr/share/hypnotix/*.css
- install -Dm644 -t "$pkgdir"/usr/share/hypnotix usr/share/hypnotix/*.ui
- install -Dm644 -t "$pkgdir"/usr/share/hypnotix usr/share/hypnotix/*.png
- install -Dm644 -t "$pkgdir"/usr/share/hypnotix/pictures usr/share/hypnotix/pictures/*.svg
- install -Dm644 -t "$pkgdir"/usr/share/hypnotix/pictures/badges usr/share/hypnotix/pictures/badges/*
- install -Dm644 -t "$pkgdir"/usr/share/icons/hicolor/scalable/apps usr/share/icons/hicolor/scalable/apps/hypnotix.svg
-
- # locales
- cp -a usr/share/locale "$pkgdir"/usr/share/locale
+ mkdir -p "$pkgdir"
+ mv usr/ "$pkgdir"/usr
}
sha512sums="
-a230cabc35e1a958c5fb146c6541980153d60b48130b828c5460a3f82116f279ee9e86e124e8fa6663dcc831715c22f79a96f10b574b6ff91f9e5ff74a157ce5 hypnotix-2.0.tar.gz
-b54f92f043b5d3bcba31266e21a263a0ef3428c3b3afbb4f9fcca11df1230a1e547abaf3bc047e4c975f8941d5a31c46c1ac1dbb9c3281dcb48553f941968478 0001-fix-locale-has-no-attribute-bindtextdomain.patch
+e0c3dd1fe113b669f7e79e57282b8f07d1c8638edfabf0f444bab7a6c58198cfd06f5bc3978c54fb6326e0661dfdbb5242d4cc5bb25743ce4d942b34faf9dddd hypnotix-3.5.tar.gz
"
diff --git a/testing/hyprcursor/APKBUILD b/testing/hyprcursor/APKBUILD
new file mode 100644
index 00000000000..e0a4fb17eaf
--- /dev/null
+++ b/testing/hyprcursor/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Zach DeCook <zachdecook@librem.one>
+# Maintainer: Zach DeCook <zachdecook@librem.one>
+pkgname=hyprcursor
+pkgver=0.1.5
+pkgrel=0
+pkgdesc="The hyprland cursor format, library and utilities."
+url="https://github.com/hyprwm/Hyprcursor"
+arch="all"
+license="BSD-3-Clause"
+source="https://github.com/hyprwm/Hyprcursor/archive/v$pkgver/Hyprcursor-v$pkgver.tar.gz"
+options="!check" # tests are broken
+makedepends="
+ cairo-dev
+ cmake
+ hyprlang
+ librsvg-dev
+ libzip-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-util"
+
+build() {
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ cd build
+ # Test won't work unless environment has a hyprcursor that can be loaded.
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 -t "$pkgdir"/usr/share/doc/hyprcursor docs/*
+ install -Dm644 hyprcursor-util/README.md "$pkgdir"/usr/share/doc/hyprcursor/README.md
+}
+
+util() {
+ # TODO: Depend on xcur2png for -x option
+ amove usr/bin/hyprcursor-util
+}
+
+
+sha512sums="
+3092b6773a34fa1cab10f83fa48274d79a50cd373dfe8a89d0170a78767a66b5e0cbe57cd1b86bc4bb85371c23ac7425f59e61fb50723a895fef4e7f6039fdfc Hyprcursor-v0.1.5.tar.gz
+"
diff --git a/testing/hyprland/APKBUILD b/testing/hyprland/APKBUILD
new file mode 100644
index 00000000000..6c47294ded3
--- /dev/null
+++ b/testing/hyprland/APKBUILD
@@ -0,0 +1,99 @@
+# Contributor: Zach DeCook <zachdecook@librem.one>
+# Maintainer: Zach DeCook <zachdecook@librem.one>
+pkgname=hyprland
+pkgver=0.38.1
+pkgrel=0
+_commit="360ede79d124ffdeebbe8401f1ac4bc0dbec2c91"
+_wlroots_commit="50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b"
+_wlroots_date=20240302
+pkgdesc="Highly customizable dynamic tiling Wayland compositor that doesn't sacrifice on its looks."
+url="https://hyprland.org"
+arch="all"
+license="BSD-3-Clause"
+source="
+ https://github.com/hyprwm/Hyprland/archive/v$pkgver/Hyprland-v$pkgver.tar.gz
+ https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/$_wlroots_commit/wlroots-$_wlroots_commit.tar.gz
+ use-system-installed-udis86.patch
+ bump-soversion.patch.wlroots
+ "
+builddir="$srcdir/Hyprland-$pkgver"
+makedepends="
+ cairo-dev
+ cmake
+ elogind-dev
+ eudev-dev
+ glslang-dev
+ hwdata-dev
+ hyprcursor-dev
+ hyprland-protocols
+ hyprlang
+ jq
+ libcap-dev
+ libdisplay-info-dev
+ libdrm-dev
+ libinput-dev
+ libliftoff-dev
+ libseat-dev
+ libxcb-dev
+ libxkbcommon-dev
+ mesa-dev
+ meson
+ ninja
+ pango-dev
+ pixman-dev
+ tomlplusplus-dev
+ udis86-git-dev
+ vulkan-loader-dev
+ wayland-dev
+ wayland-protocols
+ xcb-util-image-dev
+ xcb-util-renderutil-dev
+ xcb-util-wm-dev
+ xkeyboard-config-dev
+ xwayland-dev
+ "
+subpackages="$pkgname-doc $pkgname-dev $pkgname-wallpapers::noarch"
+
+prepare() {
+ default_prepare
+ # Use downloaded wlroots (instead of git submodule)
+ rmdir subprojects/wlroots
+ mv "$srcdir/wlroots-$_wlroots_commit" "$builddir"/subprojects/wlroots
+ # Change the soversion (appending current hyprland version)
+ cd "$builddir"/subprojects/wlroots
+ git apply "$srcdir"/bump-soversion.patch.wlroots
+ # Make the version number valid
+ sed -i "s/-dev/_git$_wlroots_date/" "$builddir"/subprojects/wlroots/meson.build
+ # Set some variables in version.h.in
+ sed -i "s/@HASH@/$_commit/" "$builddir"/src/version.h.in
+ sed -i "s/@BRANCH@/build-alpine/" "$builddir"/src/version.h.in
+ message="with patches: $(printf %s "$source" | grep '.patch$' | tr '\n' ' ')"
+ sed -i "s~@MESSAGE@~$message~" "$builddir"/src/version.h.in
+ sed -i "s/@TAG@/v$pkgver/" "$builddir"/src/version.h.in
+}
+
+build() {
+ abuild-meson . output
+ meson compile ${JOBS:+-j ${JOBS}} -C output
+}
+
+check() {
+ meson test --no-rebuild -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+wallpapers() {
+ pkgdesc="Wallpapers for Hyprland"
+
+ amove usr/share/hyprland/wall*.png
+}
+
+sha512sums="
+a84c7c7e2b634032eb79d7c73efefaa99fb506f36eed7cea9dac09bfe53b46accef9145ae062b4a9fd3f8121d3abb52fe2465d176c950d498115da8ae111127e Hyprland-v0.38.1.tar.gz
+ce09d175f12cf25021caf18c0eac56aad97d238b3e2c4bfcc071d12d1bb8a44ee5c3aceab72ce3002928ca3c2c833bb5992b4820b44e0d0985c343ae903d056e wlroots-50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b.tar.gz
+d2f7b35552fa0a3e992b9050f7066d983b3b7c193a888018b2e0d6fa9e17fc3deff922fa3989d0bb79e8bd82df2bc16ff0c27a82759ad0ce2e72789506eb07db use-system-installed-udis86.patch
+ca673fbb7a7c91a4902e6357ad90854070e9c7d16dc298787a819aac9d6f4832d4657029427b144709e56bead604d4df162d81892d23d6a2b94634e3bd2380ab bump-soversion.patch.wlroots
+"
diff --git a/testing/hyprland/bump-soversion.patch.wlroots b/testing/hyprland/bump-soversion.patch.wlroots
new file mode 100644
index 00000000000..fad516896e8
--- /dev/null
+++ b/testing/hyprland/bump-soversion.patch.wlroots
@@ -0,0 +1,13 @@
+diff --git a/meson.build b/meson.build
+index 95803a22..fd1bb7be 100644
+--- a/meson.build
++++ b/meson.build
+@@ -15,7 +15,7 @@ version = meson.project_version().split('-')[0]
+ version_major = version.split('.')[0]
+ version_minor = version.split('.')[1]
+ assert(version_major == '0')
+-soversion = version_minor.to_int() - 5
++soversion = 13037
+
+ little_endian = target_machine.endian() == 'little'
+ big_endian = target_machine.endian() == 'big'
diff --git a/testing/hyprland/use-system-installed-udis86.patch b/testing/hyprland/use-system-installed-udis86.patch
new file mode 100644
index 00000000000..d390f56d919
--- /dev/null
+++ b/testing/hyprland/use-system-installed-udis86.patch
@@ -0,0 +1,15 @@
+diff --git a/meson.build b/meson.build
+index de29528e..f2439290 100644
+--- a/meson.build
++++ b/meson.build
+@@ -37,9 +37,7 @@ wlroots = subproject('wlroots', default_options: ['examples=false', 'renderers=g
+ have_xwlr = wlroots.get_variable('features').get('xwayland')
+ xcb_dep = dependency('xcb', required: get_option('xwayland'))
+
+-cmake = import('cmake')
+-udis = cmake.subproject('udis86')
+-udis86 = udis.dependency('libudis86')
++udis86 = dependency('udis86')
+
+ if get_option('xwayland').enabled() and not have_xwlr
+ error('Cannot enable Xwayland in Hyprland: wlroots has been built without Xwayland support')
diff --git a/testing/hyx/APKBUILD b/testing/hyx/APKBUILD
new file mode 100644
index 00000000000..30b7cbca027
--- /dev/null
+++ b/testing/hyx/APKBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Eirik Furuseth <alpine@heplaphon.com>
+pkgname=hyx
+pkgver=2021.06.09
+pkgrel=0
+pkgdesc="Minimalistic, but powerful console hex editor"
+url="https://yx7.cc/code/"
+arch="all"
+license="MIT"
+source="https://yx7.cc/code/hyx/hyx-$pkgver.tar.xz"
+options="!check" # no unit tests
+
+build() {
+ make
+}
+
+package() {
+ install -Dm0755 hyx -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+43f990e29ce097f8e2378a4511a3097e2576fd72e16f3b5c81688702487c8715e7189cb4a368e344c5440a90a1c759d2f76e7831ab401fa814f7e5ff7e145bd8 hyx-2021.06.09.tar.xz
+"
diff --git a/testing/i2util/APKBUILD b/testing/i2util/APKBUILD
index 61f685342f7..21586739ce6 100644
--- a/testing/i2util/APKBUILD
+++ b/testing/i2util/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname="i2util"
pkgver="4.2.1"
-pkgrel=0
+pkgrel=1
pkgdesc="Internet2 utility library"
url="https://github.com/perfsonar/i2util"
arch="all"
diff --git a/testing/i3blocks/APKBUILD b/testing/i3blocks/APKBUILD
deleted file mode 100644
index 310abb457e1..00000000000
--- a/testing/i3blocks/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
-# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
-pkgname=i3blocks
-pkgver=1.5
-pkgrel=0
-pkgdesc="A minimalist scheduler for your status line scripts"
-url="https://github.com/vivien/i3blocks"
-arch="all"
-license="GPL-3.0-or-later"
-options="!check" # no test suite
-makedepends="ronn autoconf automake bash-completion"
-subpackages="$pkgname-bash-completion $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/vivien/i3blocks/archive/$pkgver.tar.gz
- fix-makefile.patch
- "
-
-prepare() {
- default_prepare
- autoreconf -fi
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="759829d59f94070251378d437891c2df05715fbd0b734c34dd41767d61957f301c6125b0058668295b8eeac29038fae6b2e8c194f903398ee736662213d1d534 i3blocks-1.5.tar.gz
-b54fb4b9f2a08a1bfafb7ebcf36c87c850d795af2c6f4509bcfa0853340f96bf13662445e24033a94c6e13b9e0b8a7ab6a52a914b99ee8196e0d2275eaf9b5d1 fix-makefile.patch"
diff --git a/testing/i3blocks/fix-makefile.patch b/testing/i3blocks/fix-makefile.patch
deleted file mode 100644
index 22c41a1a304..00000000000
--- a/testing/i3blocks/fix-makefile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index d755a2b..f8a598e 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -34,9 +34,6 @@ if ENABLE_BASH_COMPLETION
- bashcompletiondir = $(BASH_COMPLETION_DIR)
- bashcompletion_DATA = bash-completion
-
--install-data-local:
-- ( cd '$(DESTDIR)$(BASH_COMPLETION_DIR)' && mv bash-completion i3blocks )
--
- uninstall-local:
- ( cd '$(DESTDIR)$(BASH_COMPLETION_DIR)' && rm -rf i3blocks )
- endif
-
diff --git a/testing/i3status-rust/APKBUILD b/testing/i3status-rust/APKBUILD
index 356fe28ea12..99d5a22f22d 100644
--- a/testing/i3status-rust/APKBUILD
+++ b/testing/i3status-rust/APKBUILD
@@ -2,31 +2,67 @@
# Contributor: Maxim Karasev <begs@disroot.org>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=i3status-rust
-pkgver=0.20.7
+pkgver=0.33.1
pkgrel=0
pkgdesc="i3status replacement in Rust"
url="https://github.com/greshake/i3status-rust"
-arch="all !s390x !mips !mips64 !riscv64" # limited by cargo
+arch="all !s390x" # try unpinning s390x once nix crate is updated to 0.28
license="GPL-3.0-only"
-makedepends="rust cargo dbus-dev openssl-dev libpulse"
-options="net !check" # no tests
-provides="i3status-rs"
+makedepends="
+ cargo
+ cargo-auditable
+ curl-dev
+ dbus-dev
+ lm-sensors-dev
+ notmuch-dev
+ openssl-dev>3
+ pulseaudio-dev
+ "
+options="net"
+provides="i3status-rs=$pkgver-r$pkgrel"
subpackages="$pkgname-doc"
-source="https://github.com/greshake/i3status-rust/archive/v$pkgver/i3status-rust-$pkgver.tar.gz"
+source="
+ https://github.com/greshake/i3status-rust/archive/refs/tags/v$pkgver/i3status-rust-v$pkgver.tar.gz
+ https://dev.alpinelinux.org/archive/i3status-rs/i3status-rs-$pkgver.1
+ "
+
+_common_features="pulseaudio,notmuch,maildir,icu_calendar"
+
+case "$CARCH" in
+ armhf | armv7 | x86)
+ # pipewire crate does not build on 32-bit arches: https://gitlab.freedesktop.org/pipewire/pipewire-rs/-/issues/43
+ _cargo_opts="--no-default-features --features $_common_features"
+ ;;
+ *)
+ makedepends="$makedepends clang-dev pipewire-dev"
+ _cargo_opts="--features $_common_features,pipewire"
+ ;;
+esac
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
build() {
- cargo build --release --verbose --locked
+ cargo auditable build --release --frozen $_cargo_opts
+}
+
+check() {
+ cargo test $_cargo_opts
}
package() {
- install -Dm755 target/release/i3status-rs "$pkgdir"/usr/bin/i3status-rs
+ install -Dm755 target/release/i3status-rs -t "$pkgdir"/usr/bin/
- install -Dm644 man/i3status-rs.1 "$pkgdir"/usr/share/man/man1/i3status-rs.1
+ install -Dm644 "$srcdir"/i3status-rs-$pkgver.1 \
+ "$pkgdir"/usr/share/man/man1/i3status-rs.1
- install -Dm644 -t "$pkgdir"/usr/share/i3status-rust/themes files/themes/*
- install -Dm644 -t "$pkgdir"/usr/share/i3status-rust/icons files/icons/*
+ install -Dm644 files/themes/* -t "$pkgdir"/usr/share/i3status-rust/themes/
+ install -Dm644 files/icons/* -t "$pkgdir"/usr/share/i3status-rust/icons/
}
sha512sums="
-7b7f40bb36768d641b3549bd1ec5a837d0db6d020ce798b45ca5c879e81eeba1a54d52541aebaaf80006769488810789651a94a07fb7af0d9d05ba7ac8de3e86 i3status-rust-0.20.7.tar.gz
+756dd99603c98c4cf3167ffb1c769d766aae1347361459e9d128c10249c2e287983efda6c6496db5429a81f24c5c54a3bc5e54a38b3b2e93f2cb98a6d5dfffe3 i3status-rust-v0.33.1.tar.gz
+45933c5d140e397d84c3096fbe2a5af356f13c17ca3bc8f817af517f0b1d770455ae19177a439d47a95fe8ef94df869d88ee3c050184501969ec71eb6d474cf5 i3status-rs-0.33.1.1
"
diff --git a/testing/i3wm-gaps/APKBUILD b/testing/i3wm-gaps/APKBUILD
deleted file mode 100644
index 7818dfff1ba..00000000000
--- a/testing/i3wm-gaps/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Maintainer: prspkt <prspkt@protonmail.com>
-pkgname=i3wm-gaps
-pkgver=4.20.1
-pkgrel=0
-pkgdesc="Improved dynamic tiling window manager with additional features"
-url="https://github.com/Airblader/i3"
-arch="all"
-license="BSD-3-Clause"
-replaces="i3wm"
-depends_dev="$pkgname=$pkgver-r$pkgrel"
-makedepends="bison flex libxcb-dev xcb-util-cursor-dev
- xcb-util-keysyms-dev xcb-util-wm-dev libev-dev pango-dev cairo-dev
- yajl-dev startup-notification-dev pcre-dev libxkbcommon-dev
- xcb-util-xrm-dev asciidoc perl xmlto meson"
-subpackages="$pkgname-doc"
-source="i3wm-$pkgver.tar.gz::https://github.com/Airblader/i3/archive/$pkgver.tar.gz"
-builddir="$srcdir/i3-$pkgver"
-options="!check" # missing perl bindings for libxcb
-
-build() {
- abuild-meson -Dmans=true -Ddocs=true . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-0f3cab505f5dcd11d4d9ab63aa84d7d90e63ffebe6a867c9592c7979fe57d37db69869d555ea2127b84caa108778a028e03fa8fab1432d897c02723e3c83e6ba i3wm-4.20.1.tar.gz
-"
diff --git a/testing/ibus-anthy/APKBUILD b/testing/ibus-anthy/APKBUILD
deleted file mode 100644
index e0e5ede9664..00000000000
--- a/testing/ibus-anthy/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=ibus-anthy
-pkgver=1.5.14
-pkgrel=0
-pkgdesc="Japanese input method Anthy IMEngine for IBus Framework"
-url="https://github.com/ibus/ibus-anthy"
-arch="all !s390x !mips !mips64" # ibus needs librsvg which isn't available on s390x
-license="GPL-2.0-only"
-depends="ibus py3-gobject3 gtk-update-icon-cache"
-makedepends="
- m4 automake autoconf intltool gobject-introspection
- gobject-introspection-dev ibus-dev anthy-dev
- py3-pytest
-"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ibus/ibus-anthy/archive/$pkgver.tar.gz"
-subpackages="$pkgname-lang"
-options="!check" # Not sure how to run the test suite, undocumented
-
-build() {
- ./autogen.sh \
- --prefix=/usr \
- --libexec=/usr/lib/ibus
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-4d06d4e177df62d22c61bf6ebfda04ddbf545ea1947d0c315e3dfe5e48d9ddc57e5fcc89919ae3b9f7430e6124a5dfb1295f4ca7362fbc35714d627f80fae6d8 ibus-anthy-1.5.14.tar.gz
-"
diff --git a/testing/ibus-hangul/0001-Update-gettext-version.patch b/testing/ibus-hangul/0001-Update-gettext-version.patch
deleted file mode 100644
index 4b77f2041a4..00000000000
--- a/testing/ibus-hangul/0001-Update-gettext-version.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 51b70498e2b26fa82161d1ac8007a448af0d5f20 Mon Sep 17 00:00:00 2001
-From: Cormac Stephenson <c7s@kasku.net>
-Date: Mon, 23 Aug 2021 23:40:33 +0100
-Subject: [PATCH 1/2] Update gettext version
-
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 114a7c0..87ba47f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -51,7 +51,7 @@ AC_ISC_POSIX
- AC_HEADER_STDC
- AM_PROG_LIBTOOL
-
--AM_GNU_GETTEXT_VERSION([0.19.8])
-+AM_GNU_GETTEXT_VERSION(0.20)
- AM_GNU_GETTEXT([external])
-
- # check ibus
---
-2.32.0
-
diff --git a/testing/ibus-hangul/0002-Use-gettext-module.patch b/testing/ibus-hangul/0002-Use-gettext-module.patch
deleted file mode 100644
index fafe9a31ba8..00000000000
--- a/testing/ibus-hangul/0002-Use-gettext-module.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From a1e9c3b022ae893d679ae3102f5b5c63afa31379 Mon Sep 17 00:00:00 2001
-From: Cormac Stephenson <c7s@kasku.net>
-Date: Sun, 29 Aug 2021 16:08:52 +0100
-Subject: [PATCH 2/2] Use gettext module
-
----
- setup/main.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup/main.py b/setup/main.py
-index cb82f05..7915e27 100644
---- a/setup/main.py
-+++ b/setup/main.py
-@@ -294,7 +294,7 @@ class Setup ():
- self.__settings.set_value(key, v)
-
- if __name__ == "__main__":
-- locale.bindtextdomain(config.gettext_package, config.localedir)
-+ gettext.bindtextdomain(config.gettext_package, config.localedir)
-
- GLib.set_prgname("ibus-setup-hangul")
- GLib.set_application_name(_("IBusHangul Setup"))
---
-2.32.0
-
diff --git a/testing/ibus-hangul/APKBUILD b/testing/ibus-hangul/APKBUILD
deleted file mode 100644
index 5fafe5aa029..00000000000
--- a/testing/ibus-hangul/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Contributor: Cormac Stephenson <c7s@kasku.net>
-# Maintainer: Cormac Stephenson <c7s@kasku.net>
-pkgname=ibus-hangul
-pkgver=1.5.4
-pkgrel=0
-pkgdesc="Korean input method engine for IBus"
-url="https://github.com/libhangul/ibus-hangul"
-arch="all"
-license="GPL-2.0-only"
-depends="py3-gobject3 gtk-update-icon-cache"
-makedepends="automake autoconf libtool ibus-dev libhangul-dev gtk+3.0-dev"
-subpackages="$pkgname-lang"
-source="$pkgname-$pkgver.tar.gz::https://github.com/libhangul/ibus-hangul/archive/refs/tags/$pkgver.tar.gz
- 0001-Update-gettext-version.patch
- 0002-Use-gettext-module.patch
-"
-options="!check" # test requires user interaction
-
-prepare() {
- default_prepare
- autoreconf -fi
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --libexec=/usr/lib/ibus
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-9ee5a3364fdfb1ec0177c797009f9723f1c7c9bb096c24ec2a8b12340e230207df4c7fe490534dea237850822cd307c6971dec56e9767b5a9fcef82278875b01 ibus-hangul-1.5.4.tar.gz
-9b8c8e4925bf4c688e96e3c35916aa5bdb1e918747c9d759307d09e37365877b2e80f9be4c08fe52c60bb28252ed644fcae0d9b10d6381673f585b9d84356686 0001-Update-gettext-version.patch
-79d5bcbc7141d38d758e631661dc07285bd16be82b0426668affd43f746756d17713897fe97c3400b762241673dda9e66aa90dfe0708085f704ae67245d5b81e 0002-Use-gettext-module.patch
-"
diff --git a/testing/ibus-libpinyin/APKBUILD b/testing/ibus-libpinyin/APKBUILD
new file mode 100644
index 00000000000..1ce9211f34f
--- /dev/null
+++ b/testing/ibus-libpinyin/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Peng Huang <shawn.p.huang@gmail.com>
+# Contributor: BYVoid <byvoid1@gmail.com>
+# Contributor: Peng Wu <alexepico@gmail.com>
+# Maintainer: Ziyao <ziyao@disroot.org>
+pkgname=ibus-libpinyin
+pkgver=1.15.7
+pkgrel=0
+pkgdesc="Intelligent Pinyin engine based on libpinyin for IBus"
+url="https://github.com/libpinyin/ibus-libpinyin"
+# armhf: no libpinyin
+arch="all !armhf"
+license="GPL-3.0-only"
+makedepends="
+ ibus-dev
+ libpinyin-dev
+ sqlite-dev
+ "
+subpackages="$pkgname-lang"
+source="https://github.com/libpinyin/ibus-libpinyin/releases/download/$pkgver/ibus-libpinyin-$pkgver.tar.gz"
+options="!check" # there are none
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr \
+ --libexecdir=/usr/lib/ibus
+ make
+}
+
+package() {
+ make install DESTDIR=$pkgdir
+
+ # remove duplicate python bytecode
+ find "$pkgdir" -name "*.opt-1.pyc" -delete
+}
+
+sha512sums="
+084dc38178024ef0d13e2291c2b208c7fe431a7e8c5c4c579205480cae56cdd0076f3c2ce755353a2dc8d8e09141540431c189003a93cb85c598ee64d2947610 ibus-libpinyin-1.15.7.tar.gz
+"
diff --git a/testing/ibus-rime/APKBUILD b/testing/ibus-rime/APKBUILD
new file mode 100644
index 00000000000..bc75bb08688
--- /dev/null
+++ b/testing/ibus-rime/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: mio <miyopan@e.email>
+# Maintainer: mio <miyopan@e.email>
+pkgname=ibus-rime
+pkgver=1.5.0
+pkgrel=1
+pkgdesc="Chinese input method Rime for IBus Framework"
+url="https://github.com/rime/ibus-rime"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ ibus-dev
+ libnotify-dev
+ librime-dev
+ samurai
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/rime/ibus-rime/archive/$pkgver.tar.gz"
+options="!check" # No tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+59b05efe7d5c7dd6dd88a213f05967b19f4946ad0685e29c6c87fbc47ffb3059cc16c88403cfbb945bcbf8637b20d34dcfd91d442c23bb6a9a18d60febbaf27b ibus-rime-1.5.0.tar.gz
+"
diff --git a/testing/icdiff/APKBUILD b/testing/icdiff/APKBUILD
deleted file mode 100644
index cfe436b94f4..00000000000
--- a/testing/icdiff/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=icdiff
-pkgver=2.0.4
-pkgrel=1
-pkgdesc="Improved colored diff"
-url="https://www.jefftk.com/icdiff"
-arch="noarch"
-license="Python-2.0"
-depends="python3"
-makedepends="py3-setuptools bash"
-checkdepends="py3-flake8"
-source="https://github.com/jeffkaufman/icdiff/archive/release-$pkgver.tar.gz
- fix-flake8-binary.patch
- "
-builddir="$srcdir/icdiff-release-$pkgver"
-
-prepare() {
- default_prepare
-
- # patch removes executable bit
- chmod +x test.sh icdiff
-}
-
-build() {
- python3 setup.py build
-}
-
-check() {
- ./test.sh python3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-ec600a3f7b1e23516fe9b239b4ddc714c196f78552755b8a8e1ce898e6f93a1079ecca051c86520d0b3429a764dfb50cc4e6ab96418cf7c5ea6921c316d84973 release-2.0.4.tar.gz
-fc6fa3c98b245a9ce1830428c1d59b37f75faaab00dbf44a6d78f84318cfb4bf3fdc826fc86b9ca8a9efbd2a760223525270ea79e4d761e64d4a18597693eb64 fix-flake8-binary.patch
-"
diff --git a/testing/icdiff/fix-flake8-binary.patch b/testing/icdiff/fix-flake8-binary.patch
deleted file mode 100644
index 87098ec55a1..00000000000
--- a/testing/icdiff/fix-flake8-binary.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/test.sh b/test.sh
-old mode 100755
-new mode 100644
-index b44425d817..be8eb15fa9
---- a/test.sh
-+++ b/test.sh
-@@ -129,7 +129,7 @@ if [ "$VERSION" != $(head -n 1 ChangeLog) ]; then
- fail
- fi
-
--if ! command -v 'flake8' >/dev/null 2>&1; then
-+if ! command -v 'flake8-3' >/dev/null 2>&1; then
- echo 'Could not find flake8. Ensure flake8 is installed and on your $PATH.'
- if [ -z "$VIRTUAL_ENV" ]; then
- echo 'It appears you have have forgotten to activate your virtualenv.'
-@@ -139,7 +139,7 @@ if ! command -v 'flake8' >/dev/null 2>&1; then
- fi
-
- echo 'Running flake8 linter...'
--if ! flake8 icdiff; then
-+if ! flake8-3 icdiff; then
- fail
- fi
-
diff --git a/testing/icestorm/0001-fix-format-specifiers.patch b/testing/icestorm/0001-fix-format-specifiers.patch
new file mode 100644
index 00000000000..d489fdb9d5d
--- /dev/null
+++ b/testing/icestorm/0001-fix-format-specifiers.patch
@@ -0,0 +1,95 @@
+Use `%zu` as format specifier for printing `size_t` for better portability.
+--- a/icebram/icebram.cc 2023-12-12 13:01:19.000000000 +0100
++++ b/icebram/icebram.cc 2024-01-10 14:32:01.012119690 +0100
+@@ -457,32 +457,32 @@ update(struct app_opts *opts)
+ // Perform checks
+ if ((hf_to.word_size() > 0) && (hf_from.word_size() > hf_to.word_size())) {
+ if (opts->verbose)
+- fprintf(stderr, "Padding to_hexfile words from %lu bits to %lu bits\n",
++ fprintf(stderr, "Padding to_hexfile words from %zu bits to %zu bits\n",
+ hf_to.word_size(), hf_from.word_size());
+ hf_to.pad_words_to(hf_from.word_size());
+ }
+
+ if (hf_to.word_size() != hf_from.word_size()) {
+- fprintf(stderr, "Hexfiles have different word sizes! (%lu bits vs. %lu bits)\n",
++ fprintf(stderr, "Hexfiles have different word sizes! (%zu bits vs. %zu bits)\n",
+ hf_from.word_size(), hf_to.word_size());
+ return 1;
+ }
+
+ if ((hf_to.size() > 0) && (hf_from.size() > hf_to.size())) {
+ if (opts->verbose)
+- fprintf(stderr, "Padding to_hexfile from %lu words to %lu\n",
++ fprintf(stderr, "Padding to_hexfile from %zu words to %zu\n",
+ hf_to.size(), hf_from.size());
+ hf_to.pad_to(hf_from.size());
+ }
+
+ if (hf_to.size() != hf_from.size()) {
+- fprintf(stderr, "Hexfiles have different number of words! (%lu vs. %lu)\n",
++ fprintf(stderr, "Hexfiles have different number of words! (%zu vs. %zu)\n",
+ hf_from.size(), hf_to.size());
+ return 1;
+ }
+
+ if (hf_from.size() % 256 != 0) {
+- fprintf(stderr, "Hexfile number of words (%lu) is not divisible by 256!\n",
++ fprintf(stderr, "Hexfile number of words (%zu) is not divisible by 256!\n",
+ hf_from.size());
+ return 1;
+ }
+@@ -494,20 +494,20 @@ update(struct app_opts *opts)
+
+ // Debug
+ if (opts->verbose)
+- fprintf(stderr, "Loaded pattern for %lu bits wide and %lu words deep memory.\n",
++ fprintf(stderr, "Loaded pattern for %zu bits wide and %zu words deep memory.\n",
+ hf_from.word_size(), hf_from.size());
+
+ // Generate mapping for slices
+ std::map<std::vector<bool>, std::pair<std::vector<bool>, int>> pattern = hf_from.generate_pattern(hf_to);
+ if (opts->verbose)
+- fprintf(stderr, "Extracted %lu bit slices from from/to hexfile data.\n", pattern.size());
++ fprintf(stderr, "Extracted %zu bit slices from from/to hexfile data.\n", pattern.size());
+
+ // Load FPGA config from stdin
+ AscFile bitstream;
+ bitstream.load_config(std::cin);
+
+ if (opts->verbose)
+- fprintf(stderr, "Found %lu initialized bram cells in asc file.\n", bitstream.n_ebrs());
++ fprintf(stderr, "Found %zu initialized bram cells in asc file.\n", bitstream.n_ebrs());
+
+ // Apply pattern
+ bitstream.apply_pattern(pattern);
+diff --color -rupN a/icepack/icepack.cc b/icepack/icepack.cc
+--- a/icepack/icepack.cc 2023-12-12 13:01:19.000000000 +0100
++++ b/icepack/icepack.cc 2024-01-10 14:30:17.829617241 +0100
+@@ -902,10 +902,10 @@ void FpgaConfig::write_ascii(std::ostrea
+ cic.get_cram_index(bit_x, bit_y, cram_bank, cram_x, cram_y);
+ tile_bits.insert(tile_bit_t(cram_bank, cram_x, cram_y));
+ if (cram_x > int(this->cram[cram_bank].size())) {
+- error("cram_x %d (bit %d, %d) larger than bank size %lu\n", cram_x, bit_x, bit_y, this->cram[cram_bank].size());
++ error("cram_x %d (bit %d, %d) larger than bank size %zu\n", cram_x, bit_x, bit_y, this->cram[cram_bank].size());
+ }
+ if (cram_y > int(this->cram[cram_bank][cram_x].size())) {
+- error("cram_y %d (bit %d, %d) larger than bank %d size %lu\n", cram_y, bit_x, bit_y, cram_bank, this->cram[cram_bank][cram_x].size());
++ error("cram_y %d (bit %d, %d) larger than bank %d size %zu\n", cram_y, bit_x, bit_y, cram_bank, this->cram[cram_bank][cram_x].size());
+ }
+ ofs << (this->cram[cram_bank][cram_x][cram_y] ? '1' : '0');
+ }
+@@ -924,11 +924,11 @@ void FpgaConfig::write_ascii(std::ostrea
+ int bram_bank, bram_x, bram_y;
+ bic.get_bram_index(bit_x+i, bit_y, bram_bank, bram_x, bram_y);
+ if (bram_x >= int(this->bram[bram_bank].size())) {
+- error("%d %d bram_x %d higher than loaded bram size %lu\n",bit_x+i, bit_y, bram_x, this->bram[bram_bank].size());
++ error("%d %d bram_x %d higher than loaded bram size %zu\n",bit_x+i, bit_y, bram_x, this->bram[bram_bank].size());
+ break;
+ }
+ if (bram_y >= int(this->bram[bram_bank][bram_x].size())) {
+- error("bram_y %d higher than loaded bram size %lu\n", bram_y, this->bram[bram_bank][bram_x].size());
++ error("bram_y %d higher than loaded bram size %zu\n", bram_y, this->bram[bram_bank][bram_x].size());
+ break;
+ }
+ if (this->bram[bram_bank][bram_x][bram_y])
diff --git a/testing/icestorm/APKBUILD b/testing/icestorm/APKBUILD
new file mode 100644
index 00000000000..9b36381f1f6
--- /dev/null
+++ b/testing/icestorm/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=icestorm
+pkgver=0_git20231212
+_commit=1a40ae75d4eebee9cce73a2c4d634fd42ed0110f
+pkgrel=0
+pkgdesc="Project IceStorm - Lattice iCE40 FPGAs Bitstream Documentation"
+url="https://github.com/YosysHQ/icestorm"
+arch="all"
+license="ISC"
+makedepends="
+ libftdi1-dev
+ python3
+ "
+source="
+ $pkgname-$_commit.tar.gz::https://github.com/YosysHQ/icestorm/archive/$_commit.tar.gz
+
+ 0001-fix-format-specifiers.patch
+ "
+builddir="$srcdir/icestorm-$_commit"
+options="!check" # no unit tests provided
+
+build() {
+ make PREFIX="/usr"
+}
+
+package() {
+ DESTDIR="$pkgdir" make PREFIX="/usr" install
+}
+
+sha512sums="
+f0bfbc0af651a5d1cc45ecc4ce6cb9f6a8fdf4797f17b2af7e70278f0786b8d063503606cbf624aee558a3e32a3dc7c595694ac335ce7b52bfece9b18b5543da icestorm-1a40ae75d4eebee9cce73a2c4d634fd42ed0110f.tar.gz
+dbb175d424615405b9362b40167152c619c1a5722333b273345660e6c1582517f35f7cafb6423e7ea31c1bfd67faaa74b6dc141cb32e1a4539d3bca440808e38 0001-fix-format-specifiers.patch
+"
diff --git a/testing/icewm/APKBUILD b/testing/icewm/APKBUILD
deleted file mode 100644
index 7f562adffb6..00000000000
--- a/testing/icewm/APKBUILD
+++ /dev/null
@@ -1,59 +0,0 @@
-# Contributor: Paul Bredbury <brebs@sent.com>
-# Maintainer: Paul Bredbury <brebs@sent.com>
-pkgname=icewm
-pkgver=2.9.4
-pkgrel=0
-pkgdesc="Window manager designed for speed, usability and consistency"
-url="https://github.com/ice-wm/icewm"
-arch="all"
-options="!check" # No test suite
-license="LGPL-2.0-only"
-subpackages="$pkgname-doc $pkgname-lang"
-makedepends="alsa-lib-dev
- asciidoctor
- cmake
- fribidi-dev
- glib-dev
- imlib2-dev
- libao-dev
- libintl
- libsm-dev
- libsndfile-dev
- libxcomposite-dev
- libxdamage-dev
- libxft-dev
- libxinerama-dev
- libxpm-dev
- libxrandr-dev
- perl"
-
-source="https://github.com/ice-wm/icewm/releases/download/$pkgver/icewm-$pkgver.tar.lz"
-
-case "$CARCH" in
- s390x|mips*|riscv64)
- ;;
- *)
- makedepends="$makedepends librsvg-dev"
- _arch_opts="-DCONFIG_LIBRSVG=ON"
- ;;
- esac
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCFGDIR=/etc \
- -DENABLE_NLS=OFF \
- -DCONFIG_IMLIB2=ON \
- -DENABLE_LTO=ON \
- -DDOCDIR=/usr/share/doc/icewm $_arch_opts
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-19aedfb15315b7d376bc4a0fabfaadcbd8754927daf752618d6d2b877c6a01d57ced0247454f058da24b355b3d6ec9a7341f1bab7fd17c8c9317b16624ec44c1 icewm-2.9.4.tar.lz
-"
diff --git a/testing/icingaweb2-module-businessprocess/APKBUILD b/testing/icingaweb2-module-businessprocess/APKBUILD
index 660ca6ca6e4..ef1ee2d6740 100644
--- a/testing/icingaweb2-module-businessprocess/APKBUILD
+++ b/testing/icingaweb2-module-businessprocess/APKBUILD
@@ -2,11 +2,11 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=icingaweb2-module-businessprocess
_module=${pkgname/*-/}
-pkgver=2.3.1
+pkgver=2.4.0
pkgrel=0
pkgdesc="Manage Business Processes in Icinga Web 2"
-url="https://www.icinga.org/"
-arch="noarch !x86 !armhf !armv7 !mips !mips64 !s390x"
+url="https://icinga.com/"
+arch="noarch !x86 !armhf !armv7 !s390x"
license="GPL-2.0"
_php=php8
depends="icingaweb2-module-director"
@@ -42,7 +42,6 @@ For Apache:
For lighttpd:
# chown -R lighttpd /etc/icingaweb2/modules/$_module
-
Remember to enable the module with:
# icingacli $_module module enable $_module
@@ -52,5 +51,5 @@ EOF
}
sha512sums="
-ace3808232c4571bb553cf4159657a5c3aeada65ee4a00d5e0d7de11b3c47b646042c5a3ee854bf0944c963438638ed14b19b0a0a5057e67533b028a7d585c82 icingaweb2-module-businessprocess-2.3.1.tar.gz
+c73e6c1d316c67569b17554bdadfc7ce3fb78d7bf5bab972405c00c34f8e98bce6b64e73b26604d008de7a29782e4a4ffbc65854a23cd2ed707c50fb0c673b20 icingaweb2-module-businessprocess-2.4.0.tar.gz
"
diff --git a/testing/icingaweb2-module-fileshipper/APKBUILD b/testing/icingaweb2-module-fileshipper/APKBUILD
index 73845d9cc6f..ae322c22bd1 100644
--- a/testing/icingaweb2-module-fileshipper/APKBUILD
+++ b/testing/icingaweb2-module-fileshipper/APKBUILD
@@ -3,12 +3,12 @@
pkgname=icingaweb2-module-fileshipper
_module=${pkgname/*-/}
pkgver=1.2.0
-pkgrel=0
+pkgrel=3
pkgdesc="Provide CSV, JSON, XML and YAML files as an Import Source for the Icinga Director"
-url="https://www.icinga.org/"
-arch="noarch !armhf !armv7 !mips !mips64 !s390x" # see icingaweb2-module-director
+url="https://icinga.com/"
+arch="noarch !armhf !armv7 !s390x !x86" # see icingaweb2-module-director
license="GPL-2.0"
-_php=php7
+_php=php82
depends="icingaweb2-module-director ${_php}-xml"
pkggroups="icingaweb2"
subpackages="$pkgname-doc"
@@ -51,4 +51,6 @@ EOF
}
-sha512sums="508bde2c160863ced34db57b844e240765a36fd3b3de06c66e7b093a24a93c04c1e83c2a9124554f567d27d19995269a76019fbd03ba5c9351b4dc54e9afc57c icingaweb2-module-fileshipper-1.2.0.tar.gz"
+sha512sums="
+508bde2c160863ced34db57b844e240765a36fd3b3de06c66e7b093a24a93c04c1e83c2a9124554f567d27d19995269a76019fbd03ba5c9351b4dc54e9afc57c icingaweb2-module-fileshipper-1.2.0.tar.gz
+"
diff --git a/testing/icingaweb2-module-generictts/APKBUILD b/testing/icingaweb2-module-generictts/APKBUILD
index 1ac6bc91e84..f071abf04bf 100644
--- a/testing/icingaweb2-module-generictts/APKBUILD
+++ b/testing/icingaweb2-module-generictts/APKBUILD
@@ -2,11 +2,11 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=icingaweb2-module-generictts
_module=${pkgname/*-/}
-pkgver=2.0.0
-pkgrel=2
+pkgver=2.1.0
+pkgrel=0
pkgdesc="Generic ticket system integration into Icinga web 2"
-url="https://www.icinga.org/"
-arch="noarch !armhf !armv7 !mips !mips64"
+url="https://icinga.com/"
+arch="noarch !armhf !armv7 !s390x !x86"
license="GPL-2.0"
_php=php7
depends="icingaweb2-module-director"
@@ -50,4 +50,6 @@ EOF
}
-sha512sums="90ccb2d57e34b9322792806628836c36f34ac40a21ea218a2464d25446a17632acdf7a3f73ba79c9a55b8dd4a04269cc60d243e89b9f9bc0195ed1f4f0cf6c4b icingaweb2-module-generictts-2.0.0.tar.gz"
+sha512sums="
+11cb3c3ca88a392cd125138af4befe7f08425b6bb7048501b7fee37acdbfd554f5ad7053811c9b8aaaae3593195f8fb49af4a5cc4d04519bbf244d756f3daf70 icingaweb2-module-generictts-2.1.0.tar.gz
+"
diff --git a/testing/icingaweb2-module-pnp/APKBUILD b/testing/icingaweb2-module-pnp/APKBUILD
index eab9e81a838..11b51471c53 100644
--- a/testing/icingaweb2-module-pnp/APKBUILD
+++ b/testing/icingaweb2-module-pnp/APKBUILD
@@ -5,8 +5,8 @@ _module=${pkgname/*-/}
pkgver=1.1.0
pkgrel=1
pkgdesc="Integrate PNP graphs into Icinga Web 2"
-url="https://www.icinga.org/"
-arch="noarch !armhf !armv7 !mips !mips64"
+url="https://icinga.com/"
+arch="noarch !armhf !armv7 !s390x !x86" # blocked by icingaweb2-module-director
license="GPL-2.0"
_php=php7
depends="icingaweb2-module-director"
@@ -50,4 +50,6 @@ EOF
}
-sha512sums="4ca0e55a8313303fa45d04169f157665092eb3cf3922c192540d86e31cc2648c25725ff4ad6d9aead376fb84ae7d50efd2d733da5b66e616af3dab40ca7cbba0 icingaweb2-module-pnp-1.1.0.tar.gz"
+sha512sums="
+4ca0e55a8313303fa45d04169f157665092eb3cf3922c192540d86e31cc2648c25725ff4ad6d9aead376fb84ae7d50efd2d733da5b66e616af3dab40ca7cbba0 icingaweb2-module-pnp-1.1.0.tar.gz
+"
diff --git a/testing/icmake/APKBUILD b/testing/icmake/APKBUILD
index 7412387a34c..cbbb923580d 100644
--- a/testing/icmake/APKBUILD
+++ b/testing/icmake/APKBUILD
@@ -1,16 +1,15 @@
# Contributor: Shiz <hi@shiz.me>
# Maintainer: Shiz <hi@shiz.me>
pkgname=icmake
-pkgver=9.02.08
-pkgrel=2
+pkgver=9.03.01
+pkgrel=0
pkgdesc="Make utility using a C-like grammar"
-url="https://fbb-git.github.io/icmake/"
+url="https://fbb-git.gitlab.io/icmake/"
arch="all"
license="GPL-3.0-or-later"
makedepends="bash"
subpackages="$pkgname-doc"
-source="https://gitlab.com/fbb-git/icmake/-/archive/$pkgver/icmake-$pkgver.tar.bz2
- disable-clear-screen.patch"
+source="https://gitlab.com/fbb-git/icmake/-/archive/$pkgver/icmake-$pkgver.tar.bz2"
patch_args="-p2"
builddir="$srcdir/icmake-$pkgver/icmake"
@@ -32,6 +31,5 @@ package() {
}
sha512sums="
-d88877b7d575ce905639b5ee37008718623dfff910da547b11be9e22f1696f30809c438bf702a54a2709b9b4d6cdd929b7e28e41ae2923b8ceffbc058102b76b icmake-9.02.08.tar.bz2
-7eedfec5afca771db4253335a378aac8fa61fbdb9ce6072183e65fd303bce28bdf0bb0e1c3dd28fa6fe6ecfdb931945c56679ec7e3feb1c5980aa30aec85e66d disable-clear-screen.patch
+f3c76c19bf26926306ddce9491ae432a92f097bef2cc6434cb44e849a518c3e63beebdfc8edeb3ad26586ef13a7ed7a6e6074af710eb8a6573dac1f768db8c95 icmake-9.03.01.tar.bz2
"
diff --git a/testing/icmake/disable-clear-screen.patch b/testing/icmake/disable-clear-screen.patch
deleted file mode 100644
index 6034df16041..00000000000
--- a/testing/icmake/disable-clear-screen.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-This patch has been taken from ArchLinux. It should fix the yodl build
-on riscv64 and it's generally very undesirable to use tput(1) for
-buildlogs generated by the Alpine builders.
-
-commit 42d3987d08e41723a2ca8739550bbf5d58e45ea8
-Author: Baptiste Jonglez <git@bitsofnetworks.org>
-Date: Sat Jul 7 12:58:54 2018 +0200
-
- Disable screen clearing
-
- This tends to fail when building in a clean chroot (e.g. yodl) because of
- missing terminal definition, and is of dubious interest anyway.
-
-diff --git a/icmake/scripts/icmbuild.in b/icmake/scripts/icmbuild.in
-index c31e925..dba9607 100644
---- a/icmake/scripts/icmbuild.in
-+++ b/icmake/scripts/icmbuild.in
-@@ -618,7 +618,7 @@ void install(string what, string path)
-
- void clearScreen(int cls)
- {
-- if (cls)
-+ if (0)
- system("tput clear");
- }
-
diff --git a/testing/idesk/APKBUILD b/testing/idesk/APKBUILD
index ebe43551ffd..af1b68a9b3e 100644
--- a/testing/idesk/APKBUILD
+++ b/testing/idesk/APKBUILD
@@ -1,15 +1,23 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=idesk
pkgver=1
-pkgrel=0
+pkgrel=1
pkgdesc="Program to show icons on the desktop"
-url="http://idesk.sourceforge.net/html/index.html"
+url="https://idesk.sourceforge.net/html/index.html"
arch="all"
license="GPL-2.0-only"
makedepends="texinfo automake autoconf imlib2-dev libxft-dev"
-source="https://github.com/antonialoytorrens/idesk/releases/download/v$pkgver/idesk-v$pkgver.tar.gz"
+source="https://github.com/antonialoytorrens/idesk/releases/download/v$pkgver/idesk-v$pkgver.tar.gz
+ imlib2.patch
+ "
builddir="$srcdir/idesk-v$pkgver"
+prepare() {
+ default_prepare
+
+ autoconf
+}
+
build() {
./configure --prefix=/usr
make
@@ -23,4 +31,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3190fca7a5c9fb36b66159107d22b5f6e50b4573afa21a3a4d8b8e3e5953dabda077c924e45d2607b849ee5fea141eb80f5b89ce5288ebc2490679f319edf768 idesk-v1.tar.gz"
+sha512sums="
+3190fca7a5c9fb36b66159107d22b5f6e50b4573afa21a3a4d8b8e3e5953dabda077c924e45d2607b849ee5fea141eb80f5b89ce5288ebc2490679f319edf768 idesk-v1.tar.gz
+6f58e1db76935a8477b02cf07a6fa17234e5fb6e9aa19426eb25df949519dc6ea85b4182436386f0f2fe0478d37d88053e3f4807ae94c6ca62c7444347b0d8c8 imlib2.patch
+"
diff --git a/testing/idesk/imlib2.patch b/testing/idesk/imlib2.patch
new file mode 100644
index 00000000000..6d3988170bd
--- /dev/null
+++ b/testing/idesk/imlib2.patch
@@ -0,0 +1,27 @@
+diff --git a/configure.in b/configure.in
+index 7eac592..eb68ad2 100644
+--- a/configure.in
++++ b/configure.in
+@@ -94,15 +94,15 @@ LIBS="$LIBS $Xext_lib"
+
+ dnl Imlib2 detection
+
+-AC_PATH_GENERIC(imlib2, , [
+- AC_SUBST(IMLIB_LIBS)
+- AC_SUBST(IMLIB_CXXFLAGS) ],
+- AC_MSG_ERROR(Cannot find imlib2: Is imlib2-config in the path?
+- You need Imlib2 to build Idesk. Verify that you have Imlib2-dev))
++# AC_PATH_GENERIC(imlib2, , [
++# AC_SUBST(IMLIB_LIBS)
++# AC_SUBST(IMLIB_CXXFLAGS) ],
++# AC_MSG_ERROR(Cannot find imlib2: Is imlib2-config in the path?
++# You need Imlib2 to build Idesk. Verify that you have Imlib2-dev))
+
+ dnl the above doesn't work for some reason :/
+-IMLIB_LIBS=`imlib2-config --libs`
+-IMLIB_CFLAGS=`imlib2-config --cflags`
++IMLIB_LIBS=`pkg-config --libs imlib2`
++IMLIB_CFLAGS=`pkg-config --cflags imlib2`
+ AC_SUBST(IMLIB_LIBS)
+ AC_SUBST(IMLIB_CXXFLAGS)
+
diff --git a/testing/ideviceinstaller/APKBUILD b/testing/ideviceinstaller/APKBUILD
index 9398d391280..bbe488f6380 100644
--- a/testing/ideviceinstaller/APKBUILD
+++ b/testing/ideviceinstaller/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Kasper K <kasperkantz@outlook.com>
pkgname=ideviceinstaller
pkgver=1.1.1
-pkgrel=0
+pkgrel=3
pkgdesc="Manage apps of iOS devices"
url="https://libimobiledevice.org"
arch="all"
@@ -28,4 +28,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="fd117a5745890746237f381c9fe0e01cf8ea06d9c2341da397c52e5ebc0e058c73797e349a0a81b2777f5333dafc32e5c32e9e2c99ee70a864be159fe73e9568 ideviceinstaller-1.1.1.tar.bz2"
+sha512sums="
+fd117a5745890746237f381c9fe0e01cf8ea06d9c2341da397c52e5ebc0e058c73797e349a0a81b2777f5333dafc32e5c32e9e2c99ee70a864be159fe73e9568 ideviceinstaller-1.1.1.tar.bz2
+"
diff --git a/testing/idevicerestore/APKBUILD b/testing/idevicerestore/APKBUILD
index caf56aaf650..9233de2ef44 100644
--- a/testing/idevicerestore/APKBUILD
+++ b/testing/idevicerestore/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Kasper K <kasperkantz@outlook.com>
pkgname=idevicerestore
pkgver=1.0.0
-pkgrel=0
+pkgrel=3
pkgdesc="Restore/upgrade firmware of iOS devices"
url="https://libimobiledevice.org"
arch="all"
@@ -28,4 +28,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d62bd498fd12cacc0cd531a31b39255ee71e082a47de234a1d7bfc270745aec3ed18479fd67aeb2ccdc80e09980b98820e62b284c770e092fe24b96f3fca71a2 idevicerestore-1.0.0.tar.bz2"
+sha512sums="
+d62bd498fd12cacc0cd531a31b39255ee71e082a47de234a1d7bfc270745aec3ed18479fd67aeb2ccdc80e09980b98820e62b284c770e092fe24b96f3fca71a2 idevicerestore-1.0.0.tar.bz2
+"
diff --git a/testing/idris/APKBUILD b/testing/idris/APKBUILD
deleted file mode 100644
index 40740215ffb..00000000000
--- a/testing/idris/APKBUILD
+++ /dev/null
@@ -1,160 +0,0 @@
-# Contributor: Mitch Tishmack <mitch.tishmack@gmail.com>
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Mitch Tishmack <mitch.tishmack@gmail.com>
-pkgname=idris
-pkgver=1.3.3
-pkgrel=1
-pkgdesc="A Language with Dependent Types"
-url="https://www.idris-lang.org/"
-# Note: same as ghc, if it gets ported elsewhere this should run too.
-# armhf: disabled due to build failure
-arch="" # failed to build
-license="BSD-3-Clause"
-depends="gmp-dev gcc"
-makedepends="ghc cabal libffi-dev ncurses-dev zlib-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/idris-lang/Idris-dev/archive/v$pkgver.tar.gz
- cabal.config
- "
-builddir="$srcdir/Idris-dev-$pkgver"
-
-_cabal_home="$srcdir/cabal"
-
-# Prevent cabal setup from using unbounded memory
-_cabal_install_opts=" --max-backjumps=10000"
-
-cabal_update() {
- msg "Updating constraints"
-
- cd "$builddir"
-
- # Create cabal config and fetch index.
- HOME="$_cabal_home" cabal v1-update
-
- # Resolve deps and generate fresh cabal.config with version constraints.
- rm -f cabal.config
- HOME="$_cabal_home" cabal v1-freeze --shadow-installed-packages
-
- # Add version tag at the first line.
- sed -i "1i--$pkgver" cabal.config
-
- # Remove rts/ghc-boot-sh package if they somehow got inserted
- sed -i -e "s/.*rts.*//g" -e "s/.*ghc-boot-th.*//g" cabal.config
-
- mv cabal.config "$startdir"/
-
- cd "$startdir"
- abuild checksum
-}
-
-
-# Used by the subsequent two functions.
-# This barf of a pipeline converts the cabal freeze config file lines from:
-# constraints: foo ==VERSION,
-# bar ==VERSION
-# etc...
-# To something we can more easily munge into what we need for other purposes
-# aka we end up with:
-# foo==VERSION bar==VERSION ...
-_cabal_constraints_prime() {
- printf "$(grep '==' cabal.config | \
- sed -e 's/constraints[:]//g' | \
- tr -d '[:space:]' | \
- sed -e 's/[,]/ /g')"
-}
-
-# Take the output from above and replace =='s to -'s so we can cabal fetch
-# the specific package-version's via cabal
-_cabal_pkgs() {
- printf "$(_cabal_constraints_prime)" | sed -e 's/==/-/g'
-}
-
-# Similar to the above, but convert to --constraint args used for cabal install
-# so that our cabal install line can use the same constraints for idris in cabal.config.
-#
-# This works around us running against a newer hackage index where one of the packages
-# in the freeze file has a newer version that cabal install libffi could end up
-# selecting due to libffi having more relaxed constraints than idris.
-#
-# That is:
-# --constraint=foo==VERSION --constraint=bar==VERSION
-_cabal_constraints() {
- printf " $(_cabal_constraints_prime)" | sed -e 's/ / --constraint=/g'
-}
-
-prepare() {
- default_prepare
-
- if [ "$(head -n 1 "$srcdir"/cabal.config)" != "--$pkgver" ]; then
- die "Requirements file is outdated, run 'abuild cabal_update'"
- fi
-
- # Create cabal config and fetch index.
- HOME="$_cabal_home" cabal v1-update
-
- # Cabal implicitly loads cabal.config from the project's directory.
- ln -sf "$srcdir"/cabal.config .
-
- # Create Cabal sandbox that will be used for all subsequent cabal
- # invocations. This is something like Python virtual env.
- cmd="cabal v1-sandbox init"
- msg "$cmd"
- HOME="$_cabal_home" $cmd
-
- # Fetch all dependencies.
- # Note: cabal-doctest is a transitive dependency for libffi-0.1 not idris
- cmd="cabal fetch --no-dependencies $(_cabal_pkgs) cabal-doctest-1.0.2 libffi-0.1"
- msg "$cmd"
- HOME="$_cabal_home" $cmd
-}
-
-build() {
- # Build dependencies
- # Note: for libffi force constraints manually via the freeze file to prevent
- # cabal from possibly using newer constraints for libffi that might intersect
- # with those idris uses.
- HOME="$_cabal_home" cabal v1-install $_cabal_install_opts --offline --constraint=cabal-doctest==1.0.2 \
- $(_cabal_constraints) -v libffi-0.1
- HOME="$_cabal_home" cabal v1-install $_cabal_install_opts --offline --only-dependencies -v
-
- # Note: ordering of prefixes is important!
- HOME="$_cabal_home" cabal v1-configure \
- --prefix='/usr' \
- --docdir='$prefix/share/doc' \
- --datadir='$prefix/share' \
- --htmldir='$docdir/html' \
- --libdir='$prefix/lib' \
- --libsubdir="$pkgname" \
- --datasubdir="$pkgname" \
- --dynlibdir="$pkgname" \
- --disable-shared \
- --disable-profiling \
- --disable-library-profiling \
- --flags='GMP FFI standalone'
- HOME="$_cabal_home" cabal v1-build -j
-}
-
-# TODO: Run upstream tests and/or figure out how to set paths to be able
-# to compile hello_world for check.
-check() {
- ./dist/build/idris/idris --version
-}
-
-package() {
- HOME="$_cabal_home" cabal v1-copy --destdir="$pkgdir"
-
- cd "$pkgdir"
-
- # We don't need the haskell shared libraries or interface files.
- rm -r usr/lib/idris
-
- mkdir -p usr/share/doc/idris/ \
- usr/share/licenses/$pkgname/
- mv usr/share/idris/docs usr/share/doc/idris
- mv usr/share/doc/LICENSE usr/share/licenses/$pkgname/
-}
-
-sha512sums="
-fc5c65847c8021ed691c7968043a04fcffaed3a44a6339f611fed616fddefa1b5bc2da8e7e6662dfa552981688a1c96571eadc197e4e50ba060de3c6ddbd03de idris-1.3.3.tar.gz
-497f2f0e37040b93669026dd148ece87c1df1a441598a164fdc3c8093beead6b22e543c4da8eb00ccdcf5482c6d1df4df67a55f5cb502d12c9e3eff668387c21 cabal.config
-"
diff --git a/testing/idris/cabal.config b/testing/idris/cabal.config
deleted file mode 100644
index b6c79f7d2e9..00000000000
--- a/testing/idris/cabal.config
+++ /dev/null
@@ -1,98 +0,0 @@
---1.3.3
-constraints: Cabal ==3.0.1.0,
- aeson ==1.4.7.1,
- annotated-wl-pprint ==0.7.0,
- ansi-terminal ==0.10.3,
- ansi-wl-pprint ==0.6.9,
- array ==0.5.4.0,
- async ==2.2.2,
- attoparsec ==0.13.2.4,
- base ==4.13.0.0,
- base-compat ==0.11.1,
- base-compat-batteries ==0.11.1,
- base-orphans ==0.8.2,
- base64-bytestring ==1.1.0.0,
- binary ==0.8.7.0,
- blaze-builder ==0.4.1.0,
- blaze-html ==0.9.1.2,
- blaze-markup ==0.8.2.5,
- bytestring ==0.10.10.0,
- case-insensitive ==1.2.1.0,
- cheapskate ==0.1.1.2,
- code-page ==0.2,
- colour ==2.3.5,
- constraints ==0.12,
- containers ==0.6.2.1,
- css-text ==0.1.3.0,
- data-default ==0.7.1.1,
- data-default-class ==0.1.2.0,
- data-default-instances-containers ==0.0.1,
- data-default-instances-dlist ==0.0.1,
- data-default-instances-old-locale ==0.0.1,
- deepseq ==1.4.4.0,
- digest ==0.0.1.2,
- directory ==1.3.6.0,
- dlist ==0.8.0.8,
- enclosed-exceptions ==1.0.3,
- exceptions ==0.10.4,
- filepath ==1.4.2.1,
- fingertree ==0.1.4.2,
- fsnotify ==0.3.0.1,
-
- ghc-prim ==0.5.3,
- hashable ==1.3.0.0,
- haskeline ==0.7.5.0,
- hinotify ==0.4,
- hsc2hs ==0.68.7,
- ieee754 ==0.8.0,
- integer-gmp ==1.0.2.0,
- integer-logarithms ==1.0.3,
- lifted-async ==0.10.0.6,
- lifted-base ==0.2.3.12,
- megaparsec ==8.0.0,
- monad-control ==1.0.2.3,
- mtl ==2.2.2,
- network ==3.1.1.1,
- network-uri ==2.6.3.0,
- old-locale ==1.0.0.7,
- optparse-applicative ==0.15.1.0,
- parsec ==3.1.14.0,
- parser-combinators ==1.2.1,
- pretty ==1.1.3.6,
- primitive ==0.7.1.0,
- process ==1.6.8.0,
- random ==1.1,
- regex-base ==0.94.0.0,
- regex-tdfa ==1.3.1.0,
-
- safe ==0.3.19,
- scientific ==0.3.6.2,
- semigroups ==0.19.1,
- shelly ==1.9.0,
- split ==0.2.3.4,
- stm ==2.5.0.0,
- syb ==0.7.1,
- tagged ==0.8.6,
- tagsoup ==0.14.8,
- template-haskell ==2.15.0.0,
- terminal-size ==0.3.2.1,
- terminfo ==0.4.1.4,
- text ==1.2.4.0,
- th-abstraction ==0.3.2.0,
- time ==1.9.3,
- time-compat ==1.9.3,
- transformers ==0.5.6.2,
- transformers-base ==0.4.5.2,
- transformers-compat ==0.6.5,
- type-equality ==1,
- uniplate ==1.6.12,
- unix ==2.7.2.2,
- unix-compat ==0.5.2,
- unordered-containers ==0.2.11.0,
- utf8-string ==1.0.1.1,
- uuid-types ==1.0.3,
- vector ==0.12.1.2,
- vector-binary-instances ==0.2.5.1,
- xss-sanitize ==0.3.6,
- zip-archive ==0.4.1,
- zlib ==0.6.2.1
diff --git a/testing/idris2/APKBUILD b/testing/idris2/APKBUILD
deleted file mode 100644
index a741435e224..00000000000
--- a/testing/idris2/APKBUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=idris2
-pkgver=0.5.1
-pkgrel=1
-pkgdesc="Purely functional programming language with first class types"
-url="https://www.idris-lang.org"
-arch="x86 x86_64" # limited by chez-scheme
-license="BSD-3-Clause"
-depends="chez-scheme gmp-dev"
-makedepends="bash py3-sphinx py3-sphinx_rtd_theme"
-subpackages="$pkgname-doc"
-source="https://github.com/idris-lang/Idris2/archive/v$pkgver/idris2-$pkgver.tar.gz"
-builddir="$srcdir/Idris2-$pkgver"
-
-case "$CARCH" in
-x86) options="!check" ;; # XXX: https://github.com/idris-lang/Idris2/issues/1617
-esac
-
-# TODO: Install idris libs to /usr/lib/idris-$pkgver instead of /usr/idris-$pkgver
-# TODO: Self-hosting step (maybe split into idris2 and idris2-bootstrap?)
-# TODO: Install the Idris 2 API (make install-api)
-
-# TODO: https://github.com/idris-lang/Idris2/issues/737
-# TODO: https://github.com/idris-lang/Idris2/pull/1123
-
-build() {
- # Bootstrap Idris 2 compiler from scheme sources.
- make -j1 bootstrap PREFIX=/usr SCHEME=chez
-
- # Create HTML documentation.
- make -C docs html
-}
-
-check() {
- make -j1 bootstrap-test
-}
-
-package() {
- # Idris2 Makefile doesn't honor ${DESTDIR}
- # See https://github.com/idris-lang/Idris2/pull/1123
- make IDRIS2_PREFIX="$pkgdir/usr" \
- PREFIX="$pkgdir/usr" install
-
- # Install additional documentation files
- mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
- install -m644 CHANGELOG.md CONTRIBUTING.md \
- CONTRIBUTORS README.md "$pkgdir"/usr/share/doc/$pkgname/
- cp -r docs/build/html "$pkgdir"/usr/share/doc/$pkgname/
- # TODO: Use install-libdocs
-}
-
-sha512sums="
-6b4a4092570136a684bdd80765d271bc1ebe163c273ff22d22c808f586183a8e90a326573dd0e4b339e1ab0b88fd31f1cc7bf2820ff7bab2742c4156b816c5b7 idris2-0.5.1.tar.gz
-"
diff --git a/testing/iec16022/APKBUILD b/testing/iec16022/APKBUILD
deleted file mode 100644
index 431e77f1d5c..00000000000
--- a/testing/iec16022/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: mio <miyopan@e.email>
-# Maintainer: mio <miyopan@e.email>
-pkgname=iec16022
-pkgver=0_git20211222
-pkgrel=0
-_gitrev=cdefe2cd993416104d2e607194ecba53150b1420
-pkgdesc="DataMatrix 2D barcode generator"
-url="https://rdoeffinger.github.io/"
-license="GPL-2.0-or-later"
-arch="all"
-makedepends="autoconf automake libtool popt-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/rdoeffinger/iec16022/archive/$_gitrev.tar.gz"
-builddir="$srcdir/$pkgname-$_gitrev"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure --prefix=/usr
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make install DESTDIR="$pkgdir"
-}
-
-sha512sums="
-0d76dc5da822bc1598f724e8c2ac4283bf1588a1d0d8845ded8e3f6a9905466160674a0e7dd6a9d9ed66ac31316a091e1957473dad70ef25c8677fd68858c2fe iec16022-0_git20211222.tar.gz
-"
diff --git a/testing/ifuse/APKBUILD b/testing/ifuse/APKBUILD
index 26f49c57d08..58fe27a80db 100644
--- a/testing/ifuse/APKBUILD
+++ b/testing/ifuse/APKBUILD
@@ -2,12 +2,13 @@
# Maintainer: Kasper K <kasperkantz@outlook.com>
pkgname=ifuse
pkgver=1.1.4
-pkgrel=0
+pkgrel=4
pkgdesc="Fuse filesystem to access the contents of iOS devices"
url="https://libimobiledevice.org"
arch="all"
license="LGPL-2.1-or-later"
-makedepends="libudev-zero-dev libimobiledevice-dev fuse-dev"
+depends="usbmuxd"
+makedepends="eudev-dev libimobiledevice-dev fuse-dev"
subpackages="$pkgname-doc"
source="https://github.com/libimobiledevice/ifuse/releases/download/$pkgver/ifuse-$pkgver.tar.bz2"
@@ -28,4 +29,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="671fabb0828fb6dd5ddba80ef418005305f4ee4676ab1078513a83582e84616f47c8973c25e1fdd8897b08a01a135080898a55d3ad8b31e89c0bb72ee865cdff ifuse-1.1.4.tar.bz2"
+sha512sums="
+671fabb0828fb6dd5ddba80ef418005305f4ee4676ab1078513a83582e84616f47c8973c25e1fdd8897b08a01a135080898a55d3ad8b31e89c0bb72ee865cdff ifuse-1.1.4.tar.bz2
+"
diff --git a/testing/igrep/APKBUILD b/testing/igrep/APKBUILD
new file mode 100644
index 00000000000..76e157a8c1f
--- /dev/null
+++ b/testing/igrep/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=igrep
+pkgver=1.2.0
+pkgrel=0
+pkgdesc="Interactive grep"
+url="https://github.com/konradsz/igrep"
+arch="all"
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/konradsz/igrep/archive/v$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/ig" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+ad488485a4dfa615733eee81d2ad6bd010e15b1a10031f906d64fb095be1ef017ed5cd44f5781f2ab5021fe892f80997211692845a9f89b8b689d5cc543428a2 igrep-1.2.0.tar.gz
+"
diff --git a/testing/igt-gpu-tools/APKBUILD b/testing/igt-gpu-tools/APKBUILD
index 3ba99e177f2..69841caf8a3 100644
--- a/testing/igt-gpu-tools/APKBUILD
+++ b/testing/igt-gpu-tools/APKBUILD
@@ -1,33 +1,54 @@
# Contributor: Dennis Krupenik <dennis@krupenik.com>
# Maintainer: Dennis Krupenik <dennis@krupenik.com>
pkgname=igt-gpu-tools
-pkgver=1.25
+pkgver=1.27.1
pkgrel=1
pkgdesc="collection of tools for development and testing of the DRM drivers"
url="https://gitlab.freedesktop.org/drm/igt-gpu-tools/"
-arch="x86_64" # Mostly used for Intel integrated GPUs
+arch="x86_64" # intel gpus, aarch64 fails to build
license="MIT"
-depends_dev="alsa-lib-dev cairo-dev curl-dev elfutils-dev eudev-dev gsl-dev
- json-c-dev kmod-dev libdrm-dev liboping-dev libpciaccess-dev libunwind-dev
- libxrandr-dev libxv-dev pixman-dev procps-dev xmlrpc-c-dev"
-makedepends="bison flex meson $depends_dev"
+depends_dev="
+ alsa-lib-dev
+ cairo-dev
+ curl-dev
+ elfutils-dev
+ eudev-dev
+ gsl-dev
+ json-c-dev
+ kmod-dev
+ libdrm-dev
+ liboping-dev
+ libpciaccess-dev
+ libunwind-dev
+ libxrandr-dev
+ libxv-dev
+ pixman-dev
+ procps-compat-dev
+ xmlrpc-c-dev
+ "
+makedepends="
+ $depends_dev
+ bison
+ flex
+ meson
+ "
+checkdepends="bash"
subpackages="$pkgname-dev"
-source="https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/archive/igt-gpu-tools-$pkgver/igt-gpu-tools-igt-gpu-tools-$pkgver.tar.bz2
- bash-sh.patch
+source="https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/archive/v$pkgver/igt-gpu-tools-v$pkgver.tar.gz
musl.patch
- fix-meson.patch
"
-builddir="$srcdir/igt-gpu-tools-igt-gpu-tools-$pkgver"
+builddir="$srcdir/igt-gpu-tools-v$pkgver"
build() {
abuild-meson \
-Dvalgrind=disabled \
+ -Dversion_hash=$pkgver \
. build
- meson compile ${JOBS:+-j ${JOBS}} -C build
+ meson compile -C build
}
check() {
- meson test --no-rebuild -v -C build
+ meson test --no-rebuild --print-errorlogs -C build
}
package() {
@@ -35,8 +56,6 @@ package() {
}
sha512sums="
-47a31c0af733e9481e3e8e718adede0a05cb04064d80dae6a7753a346deb71333fb8310664084f4dddfec957629e93c188bc44f2a6895744a10107e4823a9ee6 igt-gpu-tools-igt-gpu-tools-1.25.tar.bz2
-0e24d93cdc56517c78fbcdc64dac63067c9cf49bed66e3b2b6dec6111d67c7e27a2ad7ddb9f1e373746b4b8e9e3535993f8261800fc3729d1f2cdef37e392fc5 bash-sh.patch
-a79a3d4134a75e450b18188189614ad0b3d4218007c8ce68c74f5a928258ca8838ccce5c1f64f920038c44e188896d8d504a36e3cbdf1f8f16c3904bb3b9955f musl.patch
-f843466a5a48229a420ef2df665bf97ad3af120bb50d1de9cab8ad5390f5d2a80df1346f59b90c8e6fc6a211271e56e5dee67c09c42901b1eeb7370d7feff7ca fix-meson.patch
+b77d28f95098e4c51678a0a73ad755a5dd28748c77cf8e8c4f46f6d65444939032d2d0ed3c637e4968682d72a5d8cbabd7b8f47737f7fa279b02667fd4ddae9b igt-gpu-tools-v1.27.1.tar.gz
+f372d8e60519c6d9d72efd32d87fc9851eace59cf7c0b66dc5f8795dcfb9efd4aae5f316cd52396ebaba9e0c338f166f1d4ccf828ea473276ea6ed07f71fae32 musl.patch
"
diff --git a/testing/igt-gpu-tools/bash-sh.patch b/testing/igt-gpu-tools/bash-sh.patch
deleted file mode 100644
index e0daf825796..00000000000
--- a/testing/igt-gpu-tools/bash-sh.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-Portability: run shell scripts with #!/bin/sh
----
---- a/tests/ddx_intel_after_fbdev
-+++ b/tests/ddx_intel_after_fbdev
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # Testcase: Load Intel DDX after fbdev was loaded
- #
---- a/tests/igt_command_line.sh
-+++ b/tests/igt_command_line.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # Copyright © 2014 Intel Corporation
- #
---- a/tests/generate_testlist.sh
-+++ b/tests/generate_testlist.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- OUTPUT=$1
- shift
---- a/scripts/generate_clear_kernel.sh
-+++ b/scripts/generate_clear_kernel.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # SPDX-License-Identifier: MIT
- #
---- a/scripts/who.sh
-+++ b/scripts/who.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # usage: sudo who.sh
- #
---- a/scripts/run-tests.sh
-+++ b/scripts/run-tests.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # Copyright © 2014 Intel Corporation
- #
---- a/meson.sh
-+++ b/meson.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- cat > Makefile <<EOF
-
---- a/man/rst2man.sh
-+++ b/man/rst2man.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
-
- rst2man=$1
- input=$2
diff --git a/testing/igt-gpu-tools/fix-meson.patch b/testing/igt-gpu-tools/fix-meson.patch
deleted file mode 100644
index 142e2fa44fb..00000000000
--- a/testing/igt-gpu-tools/fix-meson.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 963917a3565466832a3b2fc22e9285d34a0bf944 Mon Sep 17 00:00:00 2001
-From: Petri Latvala <petri.latvala@intel.com>
-Date: Thu, 28 Oct 2021 11:05:31 +0300
-Subject: [PATCH] lib/meson.build: Fix underscorify call
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-f.underscorify() is correct, f.underscorify(f) is an error that later
-meson versions don't like at all.
-
-Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/107
-Fixes: 588555f77909 ("lib/i915: Extract helpers for determining scheduler capabilities")
-Cc: Arkadiusz Hiler <arek@hiler.eu>
-Signed-off-by: Petri Latvala <petri.latvala@intel.com>
-Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
----
- lib/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/meson.build b/lib/meson.build
-index c3080fc8..297b0ad2 100644
---- a/lib/meson.build
-+++ b/lib/meson.build
-@@ -155,7 +155,7 @@ lib_version = vcs_tag(input : 'version.h.in', output : 'version.h',
-
- lib_intermediates = []
- foreach f: lib_sources
-- name = f.underscorify(f)
-+ name = f.underscorify()
- lib = static_library('igt-' + name,
- [ f, lib_version ],
- include_directories: inc,
---
-GitLab
-
diff --git a/testing/igt-gpu-tools/musl.patch b/testing/igt-gpu-tools/musl.patch
index 507d6b8e98c..f07a073c71f 100644
--- a/testing/igt-gpu-tools/musl.patch
+++ b/testing/igt-gpu-tools/musl.patch
@@ -1,170 +1,99 @@
-Allow building on musl
-
----
-
---- a/benchmarks/gem_syslatency.c
-+++ b/benchmarks/gem_syslatency.c
-@@ -44,7 +44,11 @@
-
- #include <linux/unistd.h>
-
--#define sigev_notify_thread_id _sigev_un._tid
-+#ifndef __GLIBC__
-+#include "signal_compat.h"
-+#endif
-+
-+#define sigev_notify_thread_id sigev_notify_function
-
- static volatile int done;
-
---- a/lib/igt_aux.c
-+++ b/lib/igt_aux.c
-@@ -31,6 +31,7 @@
- #endif
- #include <stdio.h>
- #include <fcntl.h>
-+#include <limits.h> // PATH_MAX
- #include <sys/stat.h>
- #include <sys/ioctl.h>
- #include <string.h>
-@@ -73,6 +74,12 @@
- #include <libgen.h> /* for dirname() */
- #endif
-
-+#ifndef __GLIBC__
-+#include "signal_compat.h"
-+#endif
-+
-+//#include <asm-generic/siginfo.h>
-+
- /**
- * SECTION:igt_aux
- * @short_description: Auxiliary libraries and support functions
-
+diff --git a/benchmarks/gem_exec_tracer.c b/benchmarks/gem_exec_tracer.c
+index 7e86473..fc2dcf2 100644
+--- a/benchmarks/gem_exec_tracer.c
++++ b/benchmarks/gem_exec_tracer.c
+@@ -271,7 +271,7 @@ static int is_i915(int fd)
+ }
+
+ int
+-ioctl(int fd, unsigned long request, ...)
++ioctl(int fd, int request, ...)
+ {
+ struct trace *t, **p;
+ va_list args;
+diff --git a/lib/igt_aux.h b/lib/igt_aux.h
+index e734c87..1360516 100644
--- a/lib/igt_aux.h
+++ b/lib/igt_aux.h
-@@ -46,7 +46,7 @@
+@@ -48,7 +48,6 @@
+ # ifndef HAVE_GETTID
# define gettid() (pid_t)(syscall(__NR_gettid))
# endif
+-# define sigev_notify_thread_id _sigev_un._tid
#endif
--#define sigev_notify_thread_id _sigev_un._tid
-+#define sigev_notify_thread_id sigev_notify_function
-
+
/* auxialiary igt helpers from igt_aux.c */
- /* generally useful helpers */
-
+diff --git a/lib/igt_halffloat.c b/lib/igt_halffloat.c
+index 08ab05f..7d6a6e6 100644
--- a/lib/igt_halffloat.c
+++ b/lib/igt_halffloat.c
@@ -162,7 +162,7 @@ static inline float _half_to_float(uint16_t val)
return fi.f;
}
-
+
-#if defined(__x86_64__) && !defined(__clang__)
+#if defined(__x86_64__) && !defined(__clang__) && defined(__GLIBC__)
#pragma GCC push_options
#pragma GCC target("f16c")
-
+
+diff --git a/lib/igt_x86.c b/lib/igt_x86.c
+index 6ac700d..ddf5edd 100644
--- a/lib/igt_x86.c
+++ b/lib/igt_x86.c
@@ -190,7 +190,7 @@ char *igt_x86_features_to_string(unsigned features, char *line)
}
#endif
-
+
-#if defined(__x86_64__) && !defined(__clang__)
+#if defined(__x86_64__) && !defined(__clang__) && defined(__GLIBC__)
#pragma GCC push_options
#pragma GCC target("sse4.1")
#pragma GCC diagnostic ignored "-Wpointer-arith"
-
---- /dev/null
-+++ b/lib/signal_compat.h
-@@ -0,0 +1,8 @@
-+#define SIGEV_SIGNAL 0
-+#define SIGEV_NONE 1
-+#define SIGEV_THREAD 2
-+
-+#define SIGEV_SIGNAL 0 /* notify via signal */
-+#define SIGEV_NONE 1 /* other notification: meaningless */
-+#define SIGEV_THREAD 2 /* deliver via thread creation */
-+#define SIGEV_THREAD_ID 4 /* deliver to thread */
-
---- a/tests/drm_read.c
-+++ b/tests/drm_read.c
-@@ -220,7 +220,7 @@ static void test_short_buffer_wakeup(int in, enum pipe pipe)
- pthread_mutex_unlock(&w.mutex);
-
- /* Give each thread a chance to sleep in drm_read() */
-- pthread_yield();
-+ sched_yield();
-
- /* One event should wake all threads as none consume */
- generate_event(w.fd, pipe);
-
---- a/tests/kms_hdmi_inject.c
-+++ b/tests/kms_hdmi_inject.c
-@@ -23,7 +23,7 @@
- */
-
- #include "config.h"
--
-+#include <limits.h>
- #include <dirent.h>
-
- #include "igt.h"
-
---- a/tests/kms_sysfs_edid_timing.c
-+++ b/tests/kms_sysfs_edid_timing.c
-@@ -24,6 +24,7 @@
-
- #include <dirent.h>
- #include <fcntl.h>
-+#include <limits.h>
- #include <sys/stat.h>
-
- #define THRESHOLD_PER_CONNECTOR 10
-
---- a/tests/i915/gem_close_race.c
-+++ b/tests/i915/gem_close_race.c
-@@ -42,6 +42,10 @@
- #include <sys/syscall.h>
- #include "drm.h"
-
-+#ifndef __GLIBC__
-+#include "signal_compat.h"
-+#endif
-+
- #define OBJECT_SIZE (256 * 1024)
-
- #define COPY_BLT_CMD (2<<29|0x53<<22|0x6)
-@@ -51,7 +55,7 @@
- static uint32_t devid;
- static bool has_64bit_relocations;
-
--#define sigev_notify_thread_id _sigev_un._tid
-+#define sigev_notify_thread_id sigev_notify_function
-
- static void selfcopy(int fd, uint32_t handle, int loops)
- {
-
---- a/tests/panfrost_submit.c
-+++ b/tests/panfrost_submit.c
-@@ -68,7 +68,7 @@
- static void check_fb(int fd, struct panfrost_bo *bo)
- {
- int gpu_prod_id = igt_panfrost_get_param(fd, DRM_PANFROST_PARAM_GPU_PROD_ID);
-- __uint32_t *fbo;
-+ uint32_t *fbo;
- int i;
-
- fbo = bo->map;
-
+diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
+index 2a3fb74..781af5e 100644
--- a/tests/kms_atomic.c
+++ b/tests/kms_atomic.c
-@@ -683,7 +683,6 @@
+@@ -830,7 +830,7 @@ static void crtc_invalid_params_fence(igt_pipe_t *pipe,
{
int timeline, fence_fd;
void *map;
- const ptrdiff_t PAGE_SIZE = sysconf(_SC_PAGE_SIZE);
++ const ptrdiff_t intelsize = sysconf(_SC_PAGE_SIZE);
uint64_t old_mode_id = pipe->values[IGT_CRTC_MODE_ID];
-
+
igt_require_sw_sync();
+@@ -838,28 +838,28 @@ static void crtc_invalid_params_fence(igt_pipe_t *pipe,
+ timeline = sw_sync_timeline_create();
+
+ /* invalid out_fence_ptr */
+- map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ map = mmap(NULL, intelsize, PROT_READ, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+ igt_assert(map != MAP_FAILED);
+
+ igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+ crtc_commit_atomic_err(pipe, plane, ATOMIC_RELAX_NONE, EFAULT);
+- munmap(map, PAGE_SIZE);
++ munmap(map, intelsize);
+
+ /* invalid out_fence_ptr */
+- map = mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ map = mmap(NULL, intelsize, PROT_EXEC, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+ igt_assert(map != MAP_FAILED);
+
+ igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+ crtc_commit_atomic_err(pipe, plane, ATOMIC_RELAX_NONE, EFAULT);
+- munmap(map, PAGE_SIZE);
++ munmap(map, intelsize);
+
+ /* invalid out_fence_ptr */
+- map = mmap(NULL, PAGE_SIZE, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++ map = mmap(NULL, intelsize, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+ igt_assert(map != MAP_FAILED);
+
+ igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+ crtc_commit_atomic_err(pipe, plane, ATOMIC_RELAX_NONE, EFAULT);
+- munmap(map, PAGE_SIZE);
++ munmap(map, intelsize);
+
+ /* valid in fence but not allowed prop on crtc */
+ fence_fd = sw_sync_timeline_create_fence(timeline, 1);
diff --git a/testing/iipsrv/APKBUILD b/testing/iipsrv/APKBUILD
new file mode 100644
index 00000000000..31abdbb6ff3
--- /dev/null
+++ b/testing/iipsrv/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Ruven Pillay <ruven@users.sourceforge.net>
+# Maintainer: Ruven Pillay <ruven@users.sourceforge.net>
+pkgname=iipsrv
+pkgver=1.2
+pkgrel=0
+pkgdesc="IIPImage image server: iipsrv. An advanced high-performance image server for high-resolution and scientific images"
+url="https://iipimage.sourceforge.io"
+arch="all"
+options="!check" # No test suite
+license="GPL-3.0-or-later"
+makedepends="tiff-dev fcgi-dev libjpeg-turbo-dev zlib-dev libmemcached-dev openjpeg-dev libpng-dev libwebp-dev"
+install="$pkgname.pre-install"
+source="https://downloads.sourceforge.net/iipimage/IIP%20Server/iipsrv-$pkgver/iipsrv-$pkgver.tar.bz2
+ lighttpd.iipsrv.conf
+ apache.iipsrv.conf
+ iipsrv.initd
+ iipsrv.confd
+ RawTile.patch"
+subpackages="$pkgname-doc $pkgname-openrc $pkgname-lighttpd:lighttpd:noarch $pkgname-apache:apache:noarch"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ # Rename our binary to just iipsrv and copy to /usr/bin
+ mv src/iipsrv.fcgi src/iipsrv
+ install -D -t $pkgdir/usr/bin/ src/iipsrv
+ # Remove FCGI includes
+ rm -fr $pkgdir/usr/include
+ # Add OpenRC files
+ install -Dm644 $srcdir/iipsrv.confd $pkgdir/etc/conf.d/iipsrv
+ install -Dm755 $srcdir/iipsrv.initd $pkgdir/etc/init.d/iipsrv
+}
+
+lighttpd() {
+ pkgdesc="Configuration file for Lighttpd"
+ install_if="$pkgname=$pkgver-r$pkgrel lighttpd"
+ install -Dm644 lighttpd.iipsrv.conf $subpkgdir/etc/lighttpd/iipsrv.conf
+}
+
+apache() {
+ pkgdesc="Configuration file for Apache"
+ install_if="$pkgname=$pkgver-r$pkgrel apache2-proxy"
+ install -Dm644 apache.iipsrv.conf $subpkgdir/etc/apache2/conf.d/iipsrv.conf
+}
+
+sha512sums="
+76d7dee476384e24dc13c8e37ed14999c8c584742303456cbc893eb11b2e5e6effe01f208f84830cefb48694290252908826550bf89d0fb1a8c6c82f1bc30fcd iipsrv-1.2.tar.bz2
+244c16de76c2c13975c7e48db61a9d957833c424f4060f2b762fc6984323339bc0a8fec27ebdbfa25677969e5ee49bde4c2aec11a57c7b25a73689f23d983ffc lighttpd.iipsrv.conf
+905c5c921bb1521963196a60e4cc2059a92fc197e7b37dfb19efeda35213d19721b790b7dc373d71f355329a4eb56d46a7a96e9e7dd52ee30001d4255dcb91a2 apache.iipsrv.conf
+035be8c8c10aa01531027c0ff05d0d2402812ac2bf066d247044a2f023581b3f1cd533532153a66fce67f0a819769639607542dc78e8de78e11b3da4bb7d7fc8 iipsrv.initd
+db17270cac0d142d0b187900415e5927269e0dc6f5d145b545c9855006ecd77cee4816ebeff7b1d9313abb4da9c07ec423c6eb4a7b63e07030a71589e48e330b iipsrv.confd
+6ff8e9b10ea7c3cb97a9570326d2538ea1f14bde41e2be5657d21e048e20ebf2e5d7cf7898dea8a29b6a420807c29af1549417fd217a2655f633e83c8c849509 RawTile.patch
+"
diff --git a/testing/iipsrv/RawTile.patch b/testing/iipsrv/RawTile.patch
new file mode 100644
index 00000000000..2b50a94cea6
--- /dev/null
+++ b/testing/iipsrv/RawTile.patch
@@ -0,0 +1,10 @@
+--- iipsrv-1.2/src/RawTile.h
++++ iipsrv-1.2/src/RawTile.new.h
+@@ -26,6 +26,7 @@
+ #include <string>
+ #include <cstdlib>
+ #include <ctime>
++#include <cstdint>
+
+ #if !( (__cplusplus >= 201103L) || ((defined(_MSC_VER) && _MSC_VER >= 1900)) )
+ #include <stdint.h> // Required for C++98
diff --git a/testing/iipsrv/apache.iipsrv.conf b/testing/iipsrv/apache.iipsrv.conf
new file mode 100644
index 00000000000..5889ba332b2
--- /dev/null
+++ b/testing/iipsrv/apache.iipsrv.conf
@@ -0,0 +1 @@
+ProxyPass "/fcgi-bin/iipsrv.fcgi" "fcgi://localhost:9000/"
diff --git a/testing/iipsrv/iipsrv.confd b/testing/iipsrv/iipsrv.confd
new file mode 100644
index 00000000000..dd51ed7ca7d
--- /dev/null
+++ b/testing/iipsrv/iipsrv.confd
@@ -0,0 +1,5 @@
+export HOST="0.0.0.0"
+export PORT=9000
+export VERBOSITY=1
+export URI_MAP="iiif=>IIIF"
+export LOGFILE="/var/log/iipsrv"
diff --git a/testing/iipsrv/iipsrv.initd b/testing/iipsrv/iipsrv.initd
new file mode 100644
index 00000000000..0266a7acb66
--- /dev/null
+++ b/testing/iipsrv/iipsrv.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+
+description="IIPImage server"
+supervisor=supervise-daemon
+
+command="/usr/bin/iipsrv"
+command_args="--bind $HOST:$PORT"
+command_user="iipsrv:wheel"
+
+start_pre() {
+ # Make sure logfile is writable
+ touch $LOGFILE
+ chown iipsrv:wheel $LOGFILE
+}
diff --git a/testing/iipsrv/iipsrv.pre-install b/testing/iipsrv/iipsrv.pre-install
new file mode 100644
index 00000000000..9067a6df9f0
--- /dev/null
+++ b/testing/iipsrv/iipsrv.pre-install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+addgroup -S -g 82 www-data 2>/dev/null
+addgroup -S iipsrv 2>/dev/null
+adduser -S -D -H -h /var/www -s /sbin/nologin -G iipsrv -g iipsrv iipsrv 2>/dev/null
+addgroup iipsrv www-data 2>/dev/null
+
+exit 0
diff --git a/testing/iipsrv/lighttpd.iipsrv.conf b/testing/iipsrv/lighttpd.iipsrv.conf
new file mode 100644
index 00000000000..56fd497676e
--- /dev/null
+++ b/testing/iipsrv/lighttpd.iipsrv.conf
@@ -0,0 +1,6 @@
+server.modules += ("mod_fastcgi")
+fastcgi.server = (
+ "/fcgi-bin/iipsrv.fcgi" => (
+ ("host"=>"0.0.0.0", "port"=>9000, "check-local"=>"disable")
+ )
+)
diff --git a/testing/iir1/APKBUILD b/testing/iir1/APKBUILD
new file mode 100644
index 00000000000..eb055b0414b
--- /dev/null
+++ b/testing/iir1/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=iir1
+pkgver=1.9.4
+pkgrel=0
+pkgdesc="dsp iir realtime C++ filter library"
+url="https://github.com/berndporr/iir1"
+arch="all"
+license="MIT"
+makedepends="cmake"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/berndporr/iir1/archive/refs/tags/$pkgver.tar.gz"
+#builddir="$srcdir/"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build \
+ -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
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname
+ cp -r "$builddir"/docs "$pkgdir/usr/share/doc/$pkgname/manual"
+}
+
+sha512sums="
+e69b79ba48aa5d5ec2ddb0a31461ac4c15b0489df80fddc1f1f8adc143726fa189dc0dd94a0ed2bb7aa73712f953e27b345a762120ab2d10f54f57a868f0ea42 iir1-1.9.4.tar.gz
+"
diff --git a/testing/ijq/APKBUILD b/testing/ijq/APKBUILD
index 41b3f3c64d1..fe1f427e105 100644
--- a/testing/ijq/APKBUILD
+++ b/testing/ijq/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=ijq
-pkgver=0.3.6
-pkgrel=1
+pkgver=1.1.0
+pkgrel=0
pkgdesc="Interactive jq tool"
url="https://git.sr.ht/~gpanders/ijq/"
license="GPL-3.0-or-later"
@@ -16,6 +16,11 @@ source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~gpanders/ijq/archive/v$pkgve
"
builddir="$srcdir/$pkgname-v$pkgver"
+export GOFLAGS="$GOFLAGS -buildvcs=false"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
make
}
@@ -25,6 +30,6 @@ package() {
}
sha512sums="
-5a88f62e7bb9c749444095da30ed3975d3079d9417b03b861e469a45f3332f7856da5f913251d3ab62d2a57d6295e9491f83c5716478391f5298c1c1f9b24f45 ijq-0.3.6.tar.gz
+4f78044a51433c88f70c20512d3f41eb1bdcc939e4532913cb8bfe8e3258ba2c7fe88607794e3a461a247cd1a4f4f2c1dbc18b122bec3c2a46bbce6df43015a8 ijq-1.1.0.tar.gz
ad49dafd0ae838f98fa6e656eb01bd1216f3e091128310b8d5ad081f5fce266e1dfdf1fe9991883116bc3b29b48828aebabd58481aa822715797c993f6f62e00 makefile.patch
"
diff --git a/testing/ima-evm-utils/APKBUILD b/testing/ima-evm-utils/APKBUILD
deleted file mode 100644
index 6f7825f3a68..00000000000
--- a/testing/ima-evm-utils/APKBUILD
+++ /dev/null
@@ -1,54 +0,0 @@
-# Contributor: Petr Vorel <petr.vorel@gmail.com>
-# Maintainer: Petr Vorel <petr.vorel@gmail.com>
-pkgname=ima-evm-utils
-pkgver=1.3.2
-pkgrel=0
-pkgdesc="Linux Integrity Measurement Architecture (IMA) Extended Verification Module (EVM) tools"
-url="https://sourceforge.net/p/linux-ima/wiki/Home/"
-arch="all"
-license="LGPL-2.1-or-later"
-makedepends="
- attr-dev
- asciidoc
- autoconf
- automake
- bash
- diffutils
- docbook-xsl
- keyutils-dev
- libtool
- libxslt
- linux-headers
- openssl-dev
- tpm2-tss-dev
- xxd
- "
-subpackages="$pkgname-dev $pkgname-doc"
-source="http://downloads.sourceforge.net/project/linux-ima/ima-evm-utils/ima-evm-utils-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-static
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="af96935f953fbec8cdd40ba1a24001fae916633df03f9dee1e96775baec0ffea21a7a13798b3e3c3f375fd493a65fe65b5357887890b46cac0c4dcca5a5b79db ima-evm-utils-1.3.2.tar.gz"
diff --git a/testing/imageflow/APKBUILD b/testing/imageflow/APKBUILD
deleted file mode 100644
index d22a62d98c0..00000000000
--- a/testing/imageflow/APKBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# Contributor: Adam Jensen <adam@acj.sh>
-# Maintainer: Adam Jensen <adam@acj.sh>
-pkgname=imageflow
-pkgver=1.5.8
-_rcver=-rc62 # needed until first official release
-_commit=1f6dc67eef41132d5d3300676daa5d42ae7f8941
-pkgrel=0
-pkgdesc="High-performance image manipulation for web servers"
-url="https://github.com/imazen/imageflow"
-arch="x86_64" # limited by cargo and SIMD dependency
-license="AGPL-3.0-only"
-makedepends="bash cargo zip nasm git openssl-dev wget curl libpng-dev dssim"
-source="$pkgname-$pkgver$_rcver.tar.gz::https://github.com/imazen/imageflow/archive/v$pkgver$_rcver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver$_rcver"
-subpackages="$pkgname-server:_server
- $pkgname-tool:_tool
- "
-
-prepare() {
- # Workaround for environment consistency checks in build
- touch .git
-
- default_prepare
-}
-
-build() {
- # Needed to populate fields displayed at runtime
- version_prefix="v$pkgver$_rcver"
- export GIT_COMMIT="$_commit"
- export GIT_COMMIT_SHORT="${GIT_COMMIT:0:7}"
- export GIT_OPTIONAL_TAG=$version_prefix
- export GIT_DESCRIBE_ALWAYS="$version_prefix"
- export GIT_DESCRIBE_ALWAYS_LONG="$version_prefix-0-alpine"
- export GIT_DESCRIBE_AAL="tags/$version_prefix-0-alpine"
- export GIT_OPTIONAL_BRANCH="n/a"
-
- cargo build --workspace --release --locked
-}
-
-check() {
- cargo test --workspace --release --locked
-}
-
-package() {
- install -Dm644 "$builddir/target/release/libimageflow.so" \
- "$pkgdir/usr/lib/libimageflow.so.$pkgver"
- ln -s "libimageflow.so.$pkgver" "$pkgdir/usr/lib/libimageflow.so.${pkgver:0:1}"
- ln -s "libimageflow.so.$pkgver" "$pkgdir/usr/lib/libimageflow.so"
-}
-
-_server() {
- pkgdesc="$pkgdesc (HTTP server)"
-
- install -Dm755 "$builddir/target/release/imageflow_server" \
- "$subpkgdir/usr/bin/imageflow_server"
-}
-
-_tool() {
- pkgdesc="$pkgdesc (image resizing tool)"
-
- install -Dm755 "$builddir/target/release/imageflow_tool" \
- "$subpkgdir/usr/bin/imageflow_tool"
-}
-
-sha512sums="2668a8a5a27f32889796714549031b2b1023e4df892718765841fb974680f1645c109190f1c94942350574919ca7773e2d41927330c940accd1a0dba1bdd6c0f imageflow-1.5.8-rc62.tar.gz"
diff --git a/testing/imapfilter/APKBUILD b/testing/imapfilter/APKBUILD
index 8d386ddf269..64b42426cbc 100644
--- a/testing/imapfilter/APKBUILD
+++ b/testing/imapfilter/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Andrew Hills <ahills@ednos.net>
# Maintainer: Andrew Hills <ahills@ednos.net>
pkgname=imapfilter
-pkgver=2.7.5
+pkgver=2.8.2
pkgrel=0
pkgdesc="Lua-based filtering for IMAP mailboxes"
url="https://github.com/lefcha/imapfilter"
arch="all"
license="MIT"
-makedepends="$depends_dev lua-dev openssl-dev pcre2-dev libc-dev"
+makedepends="$depends_dev lua-dev openssl-dev>3 pcre2-dev libc-dev"
options="!check" # no testsuite
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/lefcha/imapfilter/archive/v$pkgver.tar.gz"
@@ -24,4 +24,6 @@ package() {
install
}
-sha512sums="a64747d745ecd5a2f61d486cd8fec1bceeb97ce459ec57454311a960dbfce526c15e8bddeb16860b8efd9710de93845adec61ec892355a0bef7bddc4517e1442 imapfilter-2.7.5.tar.gz"
+sha512sums="
+b16e684d6af4e8c3f465e22c008b9231209f1336b1f9a27fbd98460cf987f84e81040250ccb657d3986100b3804f1fc130a409cacc3921180920d26193dd5967 imapfilter-2.8.2.tar.gz
+"
diff --git a/testing/imath/APKBUILD b/testing/imath/APKBUILD
deleted file mode 100644
index 30e6292d188..00000000000
--- a/testing/imath/APKBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# Contributor: Alex Yam <alex@alexyam.com>
-# Maintainer: Alex Yam <alex@alexyam.com>
-pkgname=imath
-_pkgname=Imath
-pkgver=3.1.3
-_python_ver=3.10
-pkgrel=1
-pkgdesc="C++ and python library of 2D and 3D vector, matrix, and math operations for computer graphics"
-url="https://github.com/AcademySoftwareFoundation/Imath"
-arch="all !x86"
-# x86 failed tests:
-# 1/38 Test #1: PyImath.PyImathTest_Python3 .............***Failed
-# AssertionError
-# 21/38 Test #21: Imath.testFun ..............Subprocess aborted***Exception:
-# Assertion failed: bit_cast<unsigned> (pf) == bit_cast<unsigned> (f)
-# 23/38 Test #23: Imath.testInterval .........Subprocess aborted***Exception:
-# Assertion failed: b.min == min && b.max == max
-# 33/38 Test #33: Imath.testBox ..............Subprocess aborted***Exception:
-# Assertion failed: b.min == min && b.max == max
-# 89% tests passed, 4 tests failed out of 38
-license="BSD-3-Clause"
-makedepends="
- boost-dev
- clang-extra-tools
- cmake
- doxygen
- py3-breathe
- py3-numpy-dev
- py3-sphinx
- python3-dev
- "
-subpackages="$pkgname-dev $pkgname-doc py3-$pkgname:_py"
-source="$pkgname-$pkgver.tar.gz::https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/v$pkgver.tar.gz"
-builddir=$srcdir/$_pkgname-$pkgver
-
-build() {
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DDOCS=ON \
- -DPYTHON=ON
- # builds fail randomly without -j 1
- # aarch64: fail: 551004, 551661, 551675
- # armhf: success: 551006, 551679, fail: 551663
- # s390x: success: 551663, fail: 551679
- cmake --build build -j 1
-}
-
-check() {
- cd build && CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-_py() {
- pkgdesc="Imath Python library"
- depends="python3 imath=$pkgver-r$pkgrel"
- amove usr/lib/python3*
-}
-
-sha512sums="a11f5e736bc49098d735c7903f186c15b03efbec082a8cf2e6635546368035cec0d36c7ae64bfd01bd8eeffb2dd247b8dab19e440a3e1fe33008edacc1268f75 imath-3.1.3.tar.gz"
diff --git a/testing/imediff/APKBUILD b/testing/imediff/APKBUILD
new file mode 100644
index 00000000000..44c3d5dd254
--- /dev/null
+++ b/testing/imediff/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Vlad Glagolev <scm@vaygr.net>
+# Maintainer: Vlad Glagolev <scm@vaygr.net>
+pkgname=imediff
+pkgver=2.6
+pkgrel=1
+url="https://github.com/osamuaoki/imediff"
+pkgdesc="ncurses-based 2/3 file merge tool"
+arch="noarch"
+license="GPL-2.0-or-later"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/osamuaoki/imediff/archive/$pkgver.tar.gz"
+options="!check" # outdated test suite
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+4d5abb2285580776e43f2c752bb90e631fb7ed9daaa83e62d488aa000077ed22404086bcc3bc4fe53ce1f166415a94ebae271c48b91cf05ffad55c3b4e5049e3 imediff-2.6.tar.gz
+"
diff --git a/testing/imgdiff/APKBUILD b/testing/imgdiff/APKBUILD
new file mode 100644
index 00000000000..0c669161c04
--- /dev/null
+++ b/testing/imgdiff/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=imgdiff
+pkgver=1.0.2
+pkgrel=18
+pkgdesc="Fast pixel-by-pixel image difference tool"
+url="https://github.com/n7olkachev/imgdiff"
+arch="all"
+license="MIT"
+options="!check" # no test suite
+subpackages="$pkgname-doc"
+makedepends="go"
+source="https://github.com/n7olkachev/imgdiff/archive/v$pkgver/imgdiff-v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o imgdiff cmd/main.go
+}
+
+package() {
+ install -Dm755 imgdiff -t "$pkgdir"/usr/bin/
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/"$pkgname"/
+}
+
+sha512sums="
+40f2718ce6fbb3d66017b45bd8facda0a843892bb69b4d48a9d0ced7add69eedec8f98d4cf978ea8dc6ebf67850fa83fd04bb9120dbe65808511e03fe62072cb imgdiff-v1.0.2.tar.gz
+"
diff --git a/testing/imhex/APKBUILD b/testing/imhex/APKBUILD
deleted file mode 100644
index 4b4c4eaea48..00000000000
--- a/testing/imhex/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: George Hopkins <george-hopkins@null.net>
-# Maintainer: George Hopkins <george-hopkins@null.net>
-pkgname=imhex
-pkgver=1.6.1
-pkgrel=1
-pkgdesc="Hex editor for reverse engineers and programmers"
-url="https://github.com/WerWolv/ImHex"
-arch="all !x86 !armhf !armv7 !mips" # See #11
-license="GPL-2.0-or-later"
-options="!check" # No testsuite
-makedepends="cmake capstone-dev file-dev freetype-dev glfw-dev glm-dev
- openssl-dev nlohmann-json python3-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/WerWolv/ImHex/archive/v$pkgver.tar.gz
- force-release-flags.patch
- "
-builddir="$srcdir"/ImHex-$pkgver
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="9f068887fb0668e29aef986e399d845ac891a51552e3229d61307743fa40b15712898fd590145f0609367926d7a87205a1aca6df02b5e63d309f643006a043bc imhex-1.6.1.tar.gz
-46f2e8bfb1a7827dc2339ae5da97af5e26dfc09b38a935a82cfb590a93b3f980fadabf186cb236f5a972fd7ff56b865d9c0a3c7f1f350193deecbe1a04aabd71 force-release-flags.patch"
diff --git a/testing/imhex/force-release-flags.patch b/testing/imhex/force-release-flags.patch
deleted file mode 100644
index 08df2f7e55a..00000000000
--- a/testing/imhex/force-release-flags.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 3a49b85..25ad587 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -91,8 +91,7 @@ execute_process(
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGIT_COMMIT_HASH=\"\\\"${GIT_COMMIT_HASH}\"\\\"")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGIT_BRANCH=\"\\\"${GIT_BRANCH}\"\\\"")
-
--set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DRELEASE -DIMHEX_VERSION=\"\\\"${PROJECT_VERSION}\"\\\"")
--set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DDEBUG -DIMHEX_VERSION=\"\\\"${PROJECT_VERSION}-Debug\"\\\"")
-+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DRELEASE -DIMHEX_VERSION=\"\\\"${PROJECT_VERSION}\"\\\"")
-
- if (WIN32)
- set(application_type WIN32)
diff --git a/testing/imrsh/APKBUILD b/testing/imrsh/APKBUILD
index 23a10b42e5b..26c0547c6ba 100644
--- a/testing/imrsh/APKBUILD
+++ b/testing/imrsh/APKBUILD
@@ -4,7 +4,7 @@ pkgname=imrsh
# NOTE: this software is not ready to be moved out of the testing repository
pkgver=0_git20210320
_commit=b97ad8e5b58061920f48d32f0343f66d5896a934
-pkgrel=0
+pkgrel=1
pkgdesc="Interactive POSIX shell"
url="https://git.sr.ht/~sircmpwn/imrsh"
license="GPL-3.0"
@@ -17,7 +17,7 @@ options="!check" # no test suite
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
diff --git a/testing/indi-3rdparty/APKBUILD b/testing/indi-3rdparty/APKBUILD
new file mode 100644
index 00000000000..61b118390c0
--- /dev/null
+++ b/testing/indi-3rdparty/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer: Clayton Craft <clayton@craftyguy.net>
+pkgname=indi-3rdparty
+# keep in sync with libindi !
+pkgver=2.0.7
+pkgrel=0
+pkgdesc="INDI 3rd Party drivers "
+url="https://github.com/indilib/indi-3rdparty"
+arch="all !armv7 !armhf !riscv64" # libnova
+license="LGPL-2.1-only"
+makedepends="
+ cfitsio-dev
+ cmake
+ gsl-dev
+ libgphoto2-dev
+ libindi-dev=$pkgver-r$pkgrel
+ libraw-dev
+ libusb-dev
+ samurai
+"
+subpackages="
+ $pkgname-gphoto:_gphoto
+"
+source="https://github.com/indilib/indi-3rdparty/archive/v$pkgver/indi-3rdparty-$pkgver.tar.gz"
+options="!check"
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
+_build_3rdparty() {
+ pkgdesc="$1 3rd party INDI driver"
+ cd "$srcdir/indi-3rdparty-$pkgver/indi-$1"
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None
+
+ cmake --build build
+ DESTDIR="$subpkgdir" cmake --install build
+ cd -
+}
+
+_gphoto() {
+ _build_3rdparty gphoto
+}
+
+sha512sums="
+e4fd21f01e2f801c6aa381fd6d9b0c3b8db4c4fa188029c144edfb2a99661a5a70b8331e742d1534f69aad3690a7f4558196872e95ea91e9a268ff90059d2687 indi-3rdparty-2.0.7.tar.gz
+"
diff --git a/testing/initify/APKBUILD b/testing/initify/APKBUILD
index 822e977d4e2..bfe2474855b 100644
--- a/testing/initify/APKBUILD
+++ b/testing/initify/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=initify
pkgver=0_git20171210
-pkgrel=0
+pkgrel=1
_commit="f9ccbb147924a2371a1ae5a925c1be6858cca5fa"
pkgdesc="Convert systemd services to OpenRC init-scripts."
arch="noarch"
diff --git a/testing/innernet/APKBUILD b/testing/innernet/APKBUILD
new file mode 100644
index 00000000000..8c8179eef70
--- /dev/null
+++ b/testing/innernet/APKBUILD
@@ -0,0 +1,69 @@
+# Contributor: Uli Baum <xeji@cat3.de>
+# Maintainer: Uli Baum <xeji@cat3.de>
+pkgname=innernet
+pkgver=1.6.1
+pkgrel=0
+pkgdesc="A private network system that uses WireGuard under the hood"
+url="https://github.com/tonarino/innernet"
+# s390x: nix crate fails to build
+arch="all !s390x"
+license="MIT"
+makedepends="cargo clang-dev sqlite-dev cargo-auditable"
+subpackages="
+ $pkgname-openrc
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/tonarino/innernet/archive/v$pkgver/innernet-$pkgver.tar.gz
+ $pkgname.initd
+ $pkgname.confd
+ $pkgname-server.initd
+ $pkgname-server.confd
+
+ unbundle-sqlite.patch
+ "
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --release --frozen
+}
+
+package() {
+ install -Dm 755 -t "$pkgdir"/usr/sbin/ \
+ target/release/innernet target/release/innernet-server
+
+ install -Dm 755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm 644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -Dm 755 "$srcdir"/$pkgname-server.initd "$pkgdir"/etc/init.d/$pkgname-server
+ install -Dm 644 "$srcdir"/$pkgname-server.confd "$pkgdir"/etc/conf.d/$pkgname-server
+
+ local binary; for binary in innernet innernet-server; do
+ install -Dm 644 doc/$binary.completions.bash "$pkgdir"/usr/share/bash-completion/completions/$binary
+ install -Dm 644 doc/$binary.completions.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$binary.fish
+ install -Dm 644 doc/$binary.completions.zsh "$pkgdir"/usr/share/zsh/site-functions/_$binary
+ install -Dm 644 doc/$binary.8.gz -t "$pkgdir"/usr/share/man/man8
+ done
+
+ install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+ install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/$pkgname/
+}
+
+sha512sums="
+f8d3bb1e269105ade2c9d4f1b778e13e903ef7c01921b5ab5ce1156f568935b9c032909a72e3f67cf46b67fc32101da26225847bde50d07d1b7d111fb8e000ad innernet-1.6.1.tar.gz
+695a58dd6440ad521c6fbc6f9ca2c9277639d9beed081a74d4afece2446c0c9134845371918e7f0dbd9a7d1c28116abfef88f4ab51ef3abad95e64f29c9ab3b8 innernet.initd
+e7ae351d75ad099f1694037994fcc4900c87ab91da585181912303b4a76eb802fd253157ce93c10a093d37272f75699a4e944d65187d020f93cd2bb33f4d7ec2 innernet.confd
+1d1ada2d24215d22f230d551634fe9fa464ce24430bfea3ea46b95b716e56f213d78b7ee55dac3808d4a31f271ee8f59a8076d7ea43c1feccb6f4581904667a6 innernet-server.initd
+3c3b5c9fc5a72a288eff9dcf58fe535a40b99c419b5f25938ca689049caac9f93ba1d664d51f0dde8ee7e4578fc6eff68741f7ab6b540d471c26bf0cfd064a90 innernet-server.confd
+e83ef3a3920f7598ffccb7f98ef083eb0f08b1c8ebd748cbe2287988d880321dadd0a94883e48915d68e35f1b57606d6bf90e9e56aa20c30419ec2dafce86377 unbundle-sqlite.patch
+"
diff --git a/testing/innernet/innernet-server.confd b/testing/innernet/innernet-server.confd
new file mode 100644
index 00000000000..3d660664793
--- /dev/null
+++ b/testing/innernet/innernet-server.confd
@@ -0,0 +1,4 @@
+# Configuration for /etc/init.d/innernet-server
+
+# extra arguments for command, see innernet-server(8)
+#command_extra_args=""
diff --git a/testing/innernet/innernet-server.initd b/testing/innernet/innernet-server.initd
new file mode 100644
index 00000000000..acf6f3b25b2
--- /dev/null
+++ b/testing/innernet/innernet-server.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+description="innernet VPN coordination server"
+
+# To manage the wireguard interface named "ifname", link this file
+# to /etc/init.d/innernet-server.ifname and start that service
+interface="${RC_SVCNAME##*.}"
+
+command="/usr/sbin/innernet-server"
+command_args="serve $interface $command_extra_args"
+command_background=true
+pidfile="/run/${RC_SVCNAME}.pid"
+
+stop_post() {
+ /usr/sbin/innernet down $interface
+}
+
+depend() {
+ use net
+}
diff --git a/testing/innernet/innernet.confd b/testing/innernet/innernet.confd
new file mode 100644
index 00000000000..e2313e5b67f
--- /dev/null
+++ b/testing/innernet/innernet.confd
@@ -0,0 +1,4 @@
+# Configuration for /etc/init.d/innernet
+
+# extra arguments for command, see innernet(8)
+#command_extra_args="--interval 60"
diff --git a/testing/innernet/innernet.initd b/testing/innernet/innernet.initd
new file mode 100644
index 00000000000..f3316f22c11
--- /dev/null
+++ b/testing/innernet/innernet.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+description="innernet VPN client service"
+
+# To manage the wireguard interface named "ifname", link this file
+# to /etc/init.d/innernet.ifname and start that service
+interface="${RC_SVCNAME##*.}"
+
+command="/usr/sbin/innernet"
+command_args="up $interface --daemon ${command_extra_args:---interval 60}"
+command_background=true
+pidfile="/run/${RC_SVCNAME}.pid"
+
+stop_post() {
+ $command down $interface
+}
+
+depend() {
+ use net
+}
diff --git a/testing/innernet/unbundle-sqlite.patch b/testing/innernet/unbundle-sqlite.patch
new file mode 100644
index 00000000000..c6eb830170b
--- /dev/null
+++ b/testing/innernet/unbundle-sqlite.patch
@@ -0,0 +1,25 @@
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -620,11 +620,10 @@
+ name = "libsqlite3-sys"
+ version = "0.26.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
+ dependencies = [
+- "cc",
+ "pkg-config",
+ "vcpkg",
+ ]
+
+ [[package]]
+--- a/server/Cargo.toml
++++ b/server/Cargo.toml
+@@ -56,7 +56,7 @@
+
+ # Workaround for https://github.com/rusqlite/rusqlite/issues/914
+ [target.'cfg(target_env = "musl")'.dependencies]
+-rusqlite = { version = "0.29", features = ["bundled"] }
++rusqlite = { version = "0.29" }
+
+ [dev-dependencies]
+ anyhow = "1"
diff --git a/testing/inspircd/APKBUILD b/testing/inspircd/APKBUILD
deleted file mode 100755
index 4ced2792907..00000000000
--- a/testing/inspircd/APKBUILD
+++ /dev/null
@@ -1,58 +0,0 @@
-# Contributor: Alex Yam <alex@alexyam.com>
-# Maintainer: Alex Yam <alex@alexyam.com>
-pkgname=inspircd
-pkgver=3.12.0
-pkgrel=0
-pkgdesc="internet relay chat daemon (ircd)"
-url="https://www.inspircd.org/"
-pkgusers="inspircd"
-pkggroups="inspircd"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="
- argon2-dev
- libmaxminddb-dev
- libpq-dev
- mariadb-dev
- openssl1.1-compat-dev
- pcre-dev
- perl
- re2-dev
- sqlite-dev
- tre-dev
- "
-subpackages="$pkgname-doc"
-options="!check" # no test suite
- # ./tools/test-build does configure and make test only (and is broken)
-source="$pkgname-$pkgver.tar.gz::https://github.com/inspircd/inspircd/archive/v$pkgver.tar.gz"
-
-# secfixes:
-# 3.10.0-r0:
-# - CVE-2021-33586
-
-build() {
- # --manual-dir is set to /usr/share/man/man1 for inspircd.1.gz
- ./configure \
- --prefix=/usr \
- --binary-dir=/usr/bin \
- --config-dir=/etc/inspircd \
- --data-dir=/var/lib/inspircd/data \
- --example-dir=/usr/share/inspircd/examples \
- --log-dir=/var/log/inspircd \
- --manual-dir=/usr/share/man/man1 \
- --module-dir=/usr/lib/inspircd/modules \
- --script-dir=/usr/lib/inspircd/scripts \
- --socketengine=epoll \
- --gid=inspircd \
- --uid=inspircd \
- --development
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-b8ad5bef5c4ea493bb77976cf75861efb445792696b536eab875c7c5e1a5fa679a5ad48c73a2bcb448871b4398f8370cde326abf389fc21db7e5fd24cfcdca59 inspircd-3.12.0.tar.gz
-"
diff --git a/testing/intel-compute-runtime/APKBUILD b/testing/intel-compute-runtime/APKBUILD
deleted file mode 100644
index f84550ffc76..00000000000
--- a/testing/intel-compute-runtime/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Dennis Krupenik <dennis@krupenik.com>
-# Maintainer: Dennis Krupenik <dennis@krupenik.com>
-pkgname=intel-compute-runtime
-pkgver=21.09.19150
-pkgrel=0
-pkgdesc="Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ Driver"
-url="https://github.com/intel/compute-runtime"
-arch="x86_64"
-license="MIT"
-depends_dev="intel-gmmlib-dev intel-graphics-compiler-dev libexecinfo-dev libva-dev"
-makedepends="$depends_dev cmake"
-subpackages="$pkgname-dev"
-source="https://github.com/intel/compute-runtime/archive/$pkgver/compute-runtime-$pkgver.tar.gz
- link-execinfo.patch
- pthread-yield.patch
- remove-rtld-deepbind.patch
- remove-select.patch"
-builddir="$srcdir/compute-runtime-$pkgver"
-options="!check" # runs unit tests in preinstall
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DSKIP_UNIT_TESTS=1 \
- $CMAKE_CROSSOPTS .
- nice make -C build -j"$(nproc)"
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-sha512sums="e512e577a835dfe384b6187e687cadf663f7a4f5d720ed8df36c20e735083b99c5467f9ee2f0ceb12db6b4b0522e761f2dbeee2832ce7ccc03f5a520f72d790e compute-runtime-21.09.19150.tar.gz
-5cf4bb4114ffc9940e20f3d3f21edb5b1e6f9157b38c4232cb16ff7fb52e36eedb26b008ed5801c257233375315a950e4e6e47756be01ca9787a1b6f42fbe369 link-execinfo.patch
-855284aad45809046266e0def176f16f28dcd08154d39ffd2e34c92127f52da0f24a5679ec1d5005369f878a9947e69c21fd34cda31b636d04d055956b3cf06b pthread-yield.patch
-5b63d5a480fa72353cf6229d77391163631cdb00e1ce444d75d3681128468726df9f74eb3b44eebd47d62fb2779a61d12d983ebe38902d063a7e54ea3347a52a remove-rtld-deepbind.patch
-8ee0f776f06858cedaed0194618030eb7d0e27e27b7488daf975e3f6eb6df378461b93a300ecd68366ded2ec28d7c53ee35711e2c9cbe2c8634423bb03e9cf57 remove-select.patch"
diff --git a/testing/intel-compute-runtime/link-execinfo.patch b/testing/intel-compute-runtime/link-execinfo.patch
deleted file mode 100644
index b2ee2bc27d6..00000000000
--- a/testing/intel-compute-runtime/link-execinfo.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-add execinfo library
----
---- a/opencl/test/unit_test/offline_compiler/CMakeLists.txt
-+++ b/opencl/test/unit_test/offline_compiler/CMakeLists.txt
-@@ -87,7 +87,7 @@
- )
- target_compile_definitions(ocloc_tests PUBLIC MOCKABLE_VIRTUAL=virtual $<TARGET_PROPERTY:ocloc_lib,INTERFACE_COMPILE_DEFINITIONS>)
-
--target_link_libraries(ocloc_tests gmock-gtest)
-+target_link_libraries(ocloc_tests gmock-gtest execinfo)
-
- if(WIN32)
- target_link_libraries(ocloc_tests dbghelp)
-
---- a/opencl/test/unit_test/offline_compiler/segfault_test/CMakeLists.txt
-+++ b/opencl/test/unit_test/offline_compiler/segfault_test/CMakeLists.txt
-@@ -38,7 +38,7 @@
- target_link_libraries(ocloc_segfault_test dbghelp)
- endif()
- if(UNIX)
-- target_link_libraries(ocloc_segfault_test dl pthread)
-+ target_link_libraries(ocloc_segfault_test dl pthread execinfo)
- endif()
-
- set(CLOC_SEGFAULT_TEST_INCLUDES
-
---- a/shared/offline_compiler/source/CMakeLists.txt
-+++ b/shared/offline_compiler/source/CMakeLists.txt
-@@ -139,7 +139,7 @@
- endif()
-
- if(UNIX)
-- target_link_libraries(${OCLOC_NAME}_lib dl pthread)
-+ target_link_libraries(${OCLOC_NAME}_lib dl pthread execinfo)
- endif()
-
- set(CLOC_LIB_SRCS_LIB ${CLOC_LIB_SRCS_LIB} PARENT_SCOPE)
-
---- a/opencl/source/CMakeLists.txt
-+++ b/opencl/source/CMakeLists.txt
-@@ -81,7 +81,7 @@
- )
- target_compile_definitions(${NEO_STATIC_LIB_NAME} PRIVATE OGL=1)
- else()
-- set(IGDRCL_EXTRA_LIBS dl pthread)
-+ set(IGDRCL_EXTRA_LIBS dl pthread execinfo igc)
- target_include_directories(${NEO_STATIC_LIB_NAME} PUBLIC
- ${NEO_SHARED_DIRECTORY}/os_interface/linux
- ${NEO_SOURCE_DIR}/opencl/source/os_interface/linux
-
diff --git a/testing/intel-compute-runtime/pthread-yield.patch b/testing/intel-compute-runtime/pthread-yield.patch
deleted file mode 100644
index 8ca6a482e10..00000000000
--- a/testing/intel-compute-runtime/pthread-yield.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-pthread_yield -> sched_yield
----
---- a/opencl/test/unit_test/os_interface/linux/drm_gem_close_worker_tests.cpp
-+++ b/opencl/test/unit_test/os_interface/linux/drm_gem_close_worker_tests.cpp
-@@ -121,7 +121,7 @@
-
- //wait for worker to complete or deadCnt drops
- while (!worker->isEmpty() && (deadCnt-- > 0))
-- pthread_yield(); //yield to another threads
-+ sched_yield(); //yield to another threads
-
- worker->close(false);
-
-@@ -142,7 +142,7 @@
-
- //wait for worker to complete or deadCnt drops
- while (!worker->isEmpty() && (deadCnt-- > 0))
-- pthread_yield(); //yield to another threads
-+ sched_yield(); //yield to another threads
-
- //and check if GEM was closed
- EXPECT_EQ(1, this->drmMock->gem_close_cnt.load());
diff --git a/testing/intel-compute-runtime/remove-rtld-deepbind.patch b/testing/intel-compute-runtime/remove-rtld-deepbind.patch
deleted file mode 100644
index d2e1fbbd180..00000000000
--- a/testing/intel-compute-runtime/remove-rtld-deepbind.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-RTLD_DEEPBIND is a glibc thing
----
---- a/shared/source/os_interface/linux/os_library_linux.cpp
-+++ b/shared/source/os_interface/linux/os_library_linux.cpp
-@@ -29,13 +29,7 @@
- if (name.empty()) {
- this->handle = dlopen(0, RTLD_LAZY);
- } else {
--#ifdef SANITIZER_BUILD
-- constexpr auto dlopenFlag = RTLD_LAZY;
--#else
-- constexpr auto dlopenFlag = RTLD_LAZY | RTLD_DEEPBIND;
-- /* Background: https://github.com/intel/compute-runtime/issues/122 */
--#endif
-- this->handle = dlopen(name.c_str(), dlopenFlag);
-+ this->handle = dlopen(name.c_str(), RTLD_LAZY | RTLD_GLOBAL);
- }
- }
-
diff --git a/testing/intel-compute-runtime/remove-select.patch b/testing/intel-compute-runtime/remove-select.patch
deleted file mode 100644
index fddb761bd41..00000000000
--- a/testing/intel-compute-runtime/remove-select.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-do not redefine `select`
----
---- a/opencl/source/builtin_kernels_simulation/opencl_c.h
-+++ b/opencl/source/builtin_kernels_simulation/opencl_c.h
-@@ -220,8 +220,6 @@
- ( \
- (type)var)
-
--#define select(a, b, c) (c ? b : a)
--
- uint get_local_id(int dim);
- uint get_global_id(int dim);
- uint get_local_size(int dim);
-
diff --git a/testing/intel-graphics-compiler/APKBUILD b/testing/intel-graphics-compiler/APKBUILD
deleted file mode 100644
index 3da42be3129..00000000000
--- a/testing/intel-graphics-compiler/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Contributor: Dennis Krupenik <dennis@krupenik.com>
-# Maintainer: Dennis Krupenik <dennis@krupenik.com>
-pkgname=intel-graphics-compiler
-pkgver=1.0.8744
-pkgrel=0
-pkgdesc="Intel® Graphics Compiler for OpenCL™"
-url="https://github.com/intel/intel-graphics-compiler"
-arch="x86_64"
-license="MIT"
-_llvm_ver="11.1.0"
-depends_dev="opencl-clang-dev lld-dev~$_llvm_ver"
-makedepends="$depends_dev bison cmake flex linux-headers lld-static~$_llvm_ver llvm-static~$_llvm_ver python3"
-subpackages="$pkgname-dev"
-source="https://github.com/intel/intel-graphics-compiler/archive/igc-$pkgver.tar.gz
- https://github.com/intel/vc-intrinsics/archive/9aafb518a05be160beffd7812a0f169c10786d04.zip
- xsi_strerror_r.patch
- remove-rtld-deepbind.patch
- "
-builddir="$srcdir/$pkgname-igc-$pkgver"
-options="!check" # no test suite upstream
-
-prepare() {
- default_prepare
- mv ../vc-intrinsics-* ../vc-intrinsics
-}
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DIGC_OPTION__FORCE_SYSTEM_LLVM=1 \
- -DIGC_PREFERRED_LLVM_VERSION=$_llvm_ver \
- -DINSTALL_SPIRVDLL=0 \
- -Wno-dev \
- $CMAKE_CROSSOPTS .
- nice make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-dbbe6c08f32b80be305add570187df883aacefbf90b252c70b5705ecc7732f25873732a85558f0aed2ee8db5bcd1a59aec4d7ba110774922dbb19d4d3522a539 igc-1.0.8744.tar.gz
-19b9c2926ab1c76f8ccc0bd406f1302df9250ce57dec9f5610adba15a5a1e736da6aaa51328df0c2a012db0c1b66ef9f4ee3a19ab9f54b0ecc9dfbef0d5d97ec 9aafb518a05be160beffd7812a0f169c10786d04.zip
-6b1578b028140bd82c888c96e8b1d3d33b924b85657780c6214e24145d42c6965127b5faaea7a25bb0c919484ece9b9f40e714dab362ad5cf0cc064947aec694 xsi_strerror_r.patch
-28c6ce539b81b5c9bf5dbe0d6ee7da31de144da4f320473bf9a190d6ba2e672001f15553248afa194414310ea5cefdf68c344bee74accdcc38ee96accf99822e remove-rtld-deepbind.patch
-"
diff --git a/testing/intel-graphics-compiler/remove-rtld-deepbind.patch b/testing/intel-graphics-compiler/remove-rtld-deepbind.patch
deleted file mode 100644
index 475f0a074ff..00000000000
--- a/testing/intel-graphics-compiler/remove-rtld-deepbind.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- intel-graphics-compiler-igc-1.0.8744/IGC/VectorCompiler/lib/Driver/SPIRVWrapper.cpp 2021-09-16 11:50:38.000000000 +0300
-+++ intel-graphics-compiler-igc-1.0.8744/IGC/VectorCompiler/lib/Driver/SPIRVWrapper.cpp 2021-10-03 15:30:08.879638251 +0300
-@@ -157,8 +157,7 @@
- const std::string SpirvLibPath = findSpirvDLL();
- #if defined(__linux__)
- // Hack to workaround cmoc crashes during loading of SPIRV library
-- static auto DeepBindHack =
-- dlopen(SpirvLibPath.c_str(), RTLD_NOW | RTLD_DEEPBIND);
-+ static auto DeepBindHack = dlopen(SpirvLibPath.c_str(), RTLD_NOW);
- #endif // __linux__
-
- std::string ErrMsg;
diff --git a/testing/intel-graphics-compiler/xsi_strerror_r.patch b/testing/intel-graphics-compiler/xsi_strerror_r.patch
deleted file mode 100644
index 6b32764e5b5..00000000000
--- a/testing/intel-graphics-compiler/xsi_strerror_r.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- intel-graphics-compiler-igc-1.0.8744/visa/iga/IGALibrary/system.cpp 2021-09-16 11:50:38.000000000 +0300
-+++ intel-graphics-compiler-igc-1.0.8744/visa/iga/IGALibrary/system.cpp 2021-10-03 14:59:08.779865094 +0300
-@@ -246,9 +246,8 @@
- {
- std::string msg;
- char buf[256] {0};
-- char *errMsg = nullptr;
-+ char *errMsg = &buf[0];
- #ifdef _WIN32
-- errMsg = &buf[0];
- FormatMessageA(
- FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
- NULL,
-@@ -260,9 +259,9 @@
- if (errMsg)
- msg = errMsg;
- #else
-- errMsg = strerror_r(errCode, buf, sizeof(buf));
-+ strerror_r(errCode, buf, sizeof(buf));
- #endif // _WIN32
-- if (errMsg == nullptr || errMsg[0] == 0)
-+ if (errMsg[0] == 0)
- return "???";
- return std::string(errMsg);
- }
diff --git a/testing/intel-media-sdk/APKBUILD b/testing/intel-media-sdk/APKBUILD
deleted file mode 100644
index 880e5323d2f..00000000000
--- a/testing/intel-media-sdk/APKBUILD
+++ /dev/null
@@ -1,74 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=intel-media-sdk
-pkgver=21.3.5
-pkgrel=0
-pkgdesc="Hardware-accelerated video processing on Intel integrated GPUs"
-url="http://mediasdk.intel.com/"
-arch="x86_64"
-license="MIT"
-depends="libmfx=$pkgver-r$pkgrel"
-depends_dev="libva-dev"
-checkdepends="gtest-dev"
-makedepends="
- $depends_dev
- cmake
- libx11-dev
- ninja
- wayland-dev
- "
-subpackages="$pkgname-tracer $pkgname-dev libmfx"
-source="https://github.com/Intel-Media-SDK/MediaSDK/archive/intel-mediasdk-$pkgver.tar.gz
- musl-compat.patch
- "
-builddir="$srcdir/MediaSDK-intel-mediasdk-$pkgver"
-
-build() {
- # CMAKE_BUILD_TYPE=Release - do not change to None!
- cmake -G Ninja -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=Release \
- -DCMAKE_VERBOSE_MAKEFILE=ON \
- -DENABLE_OPENCL=ON \
- -DENABLE_X11_DRI3=ON \
- -DENABLE_WAYLAND=ON \
- -DENABLE_TEXTLOG=ON \
- -DENABLE_STAT=ON \
- -DBUILD_SAMPLES=OFF \
- -DBUILD_TOOLS=OFF \
- -DBUILD_TUTORIALS=OFF \
- -DBUILD_TESTS=$(want_check && echo ON || echo OFF) \
- -DUSE_SYSTEM_GTEST=$(want_check && echo ON || echo OFF)
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-tracer() {
- pkgdesc="Intel Media SDK Tracer"
- depends="$pkgname=$pkgver-r$pkgrel"
-
- amove usr/bin/mfx-tracer-config
- amove usr/lib/libmfx-tracer.so.*
-}
-
-libmfx() {
- pkgdesc="Intel Media SDK dispatcher library"
- depends=""
-
- amove usr/lib/libmfx.so.*
-}
-
-sha512sums="
-017c8697a1703860ea723607ffe0fd5c8997cef6047e1ea2aba631685c216c1f9bbe3dfa89df7c00561dfeddf88e25d641603df5e09c172e7eb619eab8cf1f41 intel-mediasdk-21.3.5.tar.gz
-c04a538a3699a0d4a94b80e1d4b7de2e01225755b4f57ab5bfd184d97ec3315cc0721cb1854886ae5194563903c48429030eab805abe6442657abf6ee8f03f3b musl-compat.patch
-"
diff --git a/testing/intel-media-sdk/musl-compat.patch b/testing/intel-media-sdk/musl-compat.patch
deleted file mode 100644
index 713228b879a..00000000000
--- a/testing/intel-media-sdk/musl-compat.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/tools/tracer/tracer/tracer_linux.cpp
-+++ b/tools/tracer/tracer/tracer_linux.cpp
-@@ -40,6 +40,11 @@
- #error Unsupported architecture
- #endif
-
-+#ifndef RTLD_DEEPBIND
-+// musl neither defines nor can use RTLD_DEEPBIND
-+ #define RTLD_DEEPBIND 0
-+#endif
-+
- static const char* g_mfxlib;
- static const char* g_mfxlib_in_dir;
-
diff --git a/testing/interception-tools/APKBUILD b/testing/interception-tools/APKBUILD
new file mode 100644
index 00000000000..4ede7550cc9
--- /dev/null
+++ b/testing/interception-tools/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Evan Johnston <evan@d2evs.net>
+# Maintainer: Evan Johnston <evan@d2evs.net>
+pkgname=interception-tools
+pkgver=0.6.8
+pkgrel=1
+pkgdesc="Minimal composable infrastructure on top of libudev and libevdev"
+url="https://gitlab.com/interception/linux/tools"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ boost-dev
+ cmake
+ eudev-dev
+ libevdev-dev
+ samurai
+ yaml-cpp-dev
+ "
+subpackages="$pkgname-openrc"
+source="https://gitlab.com/interception/linux/tools/-/archive/v$pkgver/tools-v$pkgver.tar.gz
+ udevmon.initd
+ modules-load.conf
+ "
+builddir="$srcdir/tools-v$pkgver"
+options="!check" # no tests
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ $crossopts
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm755 "$srcdir"/udevmon.initd \
+ "$pkgdir"/etc/init.d/udevmon
+ install -Dm755 "$srcdir"/modules-load.conf \
+ "$pkgdir"/usr/lib/modules-load.d/$pkgname.conf
+}
+sha512sums="
+1d156641e3457624fc24e813eecd376f16b5537b56ad9ab3df36d94a3658d905d09ec2481bc0cf29e5ef1141c363f34c691295c2a70c982648713365d17fb1be tools-v0.6.8.tar.gz
+727fe6fa86b9e862a14c03a0bec3cb361147e55cd327cb98ec75d0ab67c040f895d00153015beac1259df4557549c2efef0a4251eb8d153fd07c0df90f181d61 udevmon.initd
+a9b069ed121ffeee887e0583d8cb46035ecf1fa90a26a4ecb3aa11ff03178b2b08621f6676db6b2350f290694c04aabcf36f2ce3e0813a76dde9a33555edb112 modules-load.conf
+"
diff --git a/testing/interception-tools/modules-load.conf b/testing/interception-tools/modules-load.conf
new file mode 100644
index 00000000000..42bc0053c78
--- /dev/null
+++ b/testing/interception-tools/modules-load.conf
@@ -0,0 +1 @@
+uinput
diff --git a/testing/interception-tools/udevmon.initd b/testing/interception-tools/udevmon.initd
new file mode 100644
index 00000000000..312a9395037
--- /dev/null
+++ b/testing/interception-tools/udevmon.initd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+
+command=/usr/bin/udevmon
+command_args="-c /etc/interception/udevmon.yaml"
+pidfile=/run/udevmon.pid
+command_background=true
+
+depend() {
+ want dev-settle
+ after dev-settle
+}
diff --git a/testing/intiface-central/APKBUILD b/testing/intiface-central/APKBUILD
new file mode 100644
index 00000000000..c2bac14c82e
--- /dev/null
+++ b/testing/intiface-central/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=intiface-central
+pkgver=2.5.6
+pkgrel=0
+pkgdesc="Frontend application for the Buttplug Sex Toy Control Library"
+url="https://intiface.com/central/"
+arch="aarch64 x86_64" # flutter
+license="GPL-3.0-only"
+makedepends="
+ cargo
+ corrosion
+ dbus-dev
+ eudev-dev
+ flutter-desktop
+ openssl-dev
+ patchelf
+ "
+options="net !check" # no tests
+source="
+ https://github.com/intiface/intiface-central/archive/refs/tags/v$pkgver/intiface-central-$pkgver.tar.gz
+
+ system-corrosion.patch
+ system-flutter.patch
+ pmos-fit-screen.patch
+ no-werror.patch
+
+ intiface-central
+ intiface-central.desktop
+ "
+
+case "$CARCH" in
+ x86_64) _flutter_arch="x64" ;;
+ aarch64) _flutter_arch="arm64" ;;
+esac
+
+prepare() {
+ default_prepare
+
+ flutter pub get --enforce-lockfile
+
+ (
+ cd intiface-engine-flutter-bridge
+
+ cargo fetch --target="$CTARGET" --locked
+ )
+}
+
+build() {
+ flutter build linux --release
+
+ for _elf in build/linux/$_flutter_arch/release/bundle/lib/lib*.so; do
+ # running patchelf on libapp (the AOT snapshot of the whole Dart codebase)
+ # breaks it with "[FATAL:flutter/runtime/dart_vm_initializer.cc(89)]
+ # Error while initializing the Dart VM: Invalid vm isolate snapshot seen".
+ #
+ # it has no rpath and only links to libc soname anyway. 🤷â€â™€ï¸
+ [ "$(basename "$_elf")" != "libapp.so" ] || continue
+
+ patchelf --set-rpath '$ORIGIN' "$_elf"
+ done
+}
+
+package() {
+ local bundle="$builddir"/build/linux/$_flutter_arch/release/bundle
+
+ install -Dm755 "$bundle"/${pkgname/-/_} "$pkgdir"/usr/lib/$pkgname/${pkgname/-/_}
+ cp -r "$bundle"/lib "$pkgdir"/usr/lib/$pkgname/lib
+ cp -r "$bundle"/data "$pkgdir"/usr/lib/$pkgname/data
+
+ install -Dm755 "$srcdir"/$pkgname "$pkgdir"/usr/bin/$pkgname
+
+ install -Dm644 "$srcdir"/$pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+ install -Dm644 assets/icons/intiface_central_icon.png "$pkgdir"/usr/share/icons/hicolor/512x512/apps/$pkgname.png
+}
+
+sha512sums="
+b34be496b653bea69ec421ee7af23670da0a43fbea3c069009da23cb770c658831984ce25ed7e86b6fc572a768e87eb4fad5151667c795d0ef372b874a4b665a intiface-central-2.5.6.tar.gz
+ecad3c5cee9c53fc88b539d3088907539aff0b28980a89d4be2acb3c329a7a2154cb12743c0786e5c4a33de78af06b61b5b35f8eee633989cc943dc14e87dba6 system-corrosion.patch
+91014708ab7bb81518ce93db0612209d6479dfa503064d9e9d3186cd5e861165a3f63e286d271d5aac8a1d676868fc3acf51648ac01c16a215062a317ccb6623 system-flutter.patch
+a090ec306117675c555683a836a5368b7165423509439c5d4a75ffcf9a125ab5d7a2598f2c2253f044fc77785276f696b495aece74d4ab8eea9126404966e061 pmos-fit-screen.patch
+1d2b7d28a09e26ed48d89aa5f5dffb738ba367fa2760b12980225239705e16fa1ec89901d7aecf26c8527de721a5f50f50cc77ea009cd5f25f219d1af8730ed8 no-werror.patch
+a69d49b59ebd0dbeeace74954d72cd97c38aa79597887648f0c8f5ec4ecb191a1b47c43d3007e7c826323800a601951e621ee60ed739f17f67fca2f8855d95b0 intiface-central
+4015b388f997eb3abc2ecd69947bb703926e01de82807a940a42902f46e90d6759f609921215ba865cb6c91f5c6d404115c16a0a7ebe4bcc35315a4910adc081 intiface-central.desktop
+"
diff --git a/testing/intiface-central/intiface-central b/testing/intiface-central/intiface-central
new file mode 100644
index 00000000000..38da4ad2216
--- /dev/null
+++ b/testing/intiface-central/intiface-central
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# fixes "Error loading shared library lib/libintiface_engine_flutter_bridge.so:
+# No such file or directory"
+cd /usr/lib/intiface-central
+
+exec /usr/lib/intiface-central/intiface_central
diff --git a/testing/intiface-central/intiface-central.desktop b/testing/intiface-central/intiface-central.desktop
new file mode 100644
index 00000000000..f3328be2789
--- /dev/null
+++ b/testing/intiface-central/intiface-central.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Type=Application
+Name=Intiface Central
+Icon=intiface-central
+Exec=intiface-central %U
+Categories=Utility;Robotics;
+Keywords=Buttplug;Teledildonics;
+X-Purism-FormFactor=Workstation;Mobile;
diff --git a/testing/intiface-central/no-werror.patch b/testing/intiface-central/no-werror.patch
new file mode 100644
index 00000000000..ec8df348612
--- /dev/null
+++ b/testing/intiface-central/no-werror.patch
@@ -0,0 +1,11 @@
+--- ./linux/CMakeLists.txt.orig
++++ ./linux/CMakeLists.txt
+@@ -41,7 +41,7 @@
+ # of modifying this function.
+ function(APPLY_STANDARD_SETTINGS TARGET)
+ target_compile_features(${TARGET} PUBLIC cxx_std_14)
+- target_compile_options(${TARGET} PRIVATE -Wall -Werror)
++ target_compile_options(${TARGET} PRIVATE -Wall)
+ target_compile_options(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:-O3>")
+ target_compile_definitions(${TARGET} PRIVATE "$<$<NOT:$<CONFIG:Debug>>:NDEBUG>")
+ endfunction()
diff --git a/testing/intiface-central/pmos-fit-screen.patch b/testing/intiface-central/pmos-fit-screen.patch
new file mode 100644
index 00000000000..b0cd7b31d58
--- /dev/null
+++ b/testing/intiface-central/pmos-fit-screen.patch
@@ -0,0 +1,105 @@
+From 369131e50242091de00163d0b1fc16de33336928 Mon Sep 17 00:00:00 2001
+From: "lauren n. liberda" <lauren@selfisekai.rocks>
+Date: Tue, 30 May 2023 03:06:58 +0200
+Subject: [PATCH 1/2] fix window/layout on pmos
+
+---
+ .../intiface_configuration_cubit.dart | 19 ++++++++++++++---
+ lib/intiface_central_app.dart | 21 +++++++++++--------
+ lib/util/intiface_util.dart | 8 +++++++
+ 3 files changed, 36 insertions(+), 12 deletions(-)
+
+diff --git a/lib/bloc/configuration/intiface_configuration_cubit.dart b/lib/bloc/configuration/intiface_configuration_cubit.dart
+index 6d761bf..0f23aa4 100644
+--- a/lib/bloc/configuration/intiface_configuration_cubit.dart
++++ b/lib/bloc/configuration/intiface_configuration_cubit.dart
+@@ -83,6 +83,11 @@
+ WebsocketServerPortState(this.value);
+ }
+
++class Pmos extends IntifaceConfigurationState {
++ final bool value;
++ Pmos(this.value);
++}
++
+ class UseCompactDisplayState extends IntifaceConfigurationState {
+ final bool value;
+ UseCompactDisplayState(this.value);
+@@ -186,9 +191,11 @@
+ // Our initializer runs through all of our known configuration values, either setting them to what they already are,
+ // or providing them with default values.
+
+- // Window settings for desktop. Will be ignored on mobile. Default to expanded.
+- useCompactDisplay = _prefs.getBool("useCompactDisplay") ?? false;
++ pmos = await isPostmarket();
+
++ // Window settings for desktop. Will be ignored on mobile. Default to expanded except pmos.
++ useCompactDisplay = _prefs.getBool("useCompactDisplay") ?? pmos;
++
+ // Crash reporting setting is now CrashReporting2, because it was originally slammed to true but never actually
+ // used anywhere. With the addition of Sentry, it's now defaulted to off so we're not sending data without the
+ // user's approval.
+@@ -207,7 +214,7 @@
+ showExtendedUI = _prefs.getBool("showExtendedUI") ?? false;
+ allowRawMessages = _prefs.getBool("allowRawMessages") ?? false;
+ unreadNews = _prefs.getBool("unreadNews") ?? false;
+- useSideNavigationBar = _prefs.getBool("useSideNavigationBar") ?? isDesktop();
++ useSideNavigationBar = _prefs.getBool("useSideNavigationBar") ?? isDesktop() && !pmos;
+ useLightTheme = _prefs.getBool("useLightTheme") ?? true;
+ restoreWindowLocation = _prefs.getBool("restoreWindowLocation") ?? true;
+
+@@ -264,6 +271,12 @@
+ set currentDeviceConfigEtag(String value) {
+ _prefs.setString("currentDeviceConfigEtag", value);
+ emit(CurrentDeviceConfigEtagState(value));
++ }
++
++ bool get pmos => _prefs.getBool("pmos")!;
++ set pmos(bool value) {
++ _prefs.setBool("pmos", value);
++ emit(Pmos(value));
+ }
+
+ // Slam to false until we figure out how to window resizing.
+diff --git a/lib/intiface_central_app.dart b/lib/intiface_central_app.dart
+index 1fac674..d547773 100644
+--- a/lib/intiface_central_app.dart
++++ b/lib/intiface_central_app.dart
+@@ -153,6 +153,7 @@
+ logInfo("Window location not restored due to configuration settings");
+ }
+
++ if (configCubit.pmos) {
+ windowDisplayModeResize(configCubit.useCompactDisplay, guiSettingsCubit);
+ await windowManager.waitUntilReadyToShow(windowOptions, () async {
+ await windowManager.show();
+@@ -165,6 +166,7 @@
+ }
+ windowDisplayModeResize(event.value, guiSettingsCubit);
+ });
++ }
+
+ // Only add app update checks on desktop, mobile apps will use stores.
+ updateRepo.addProvider(IntifaceCentralDesktopUpdater());
+diff --git a/lib/util/intiface_util.dart b/lib/util/intiface_util.dart
+index 2f2ccb6..fb3031e 100644
+--- a/lib/util/intiface_util.dart
++++ b/lib/util/intiface_util.dart
+@@ -1,3 +1,4 @@
++import 'package:device_info_plus/device_info_plus.dart';
+ import 'package:path_provider/path_provider.dart';
+ import 'package:path/path.dart' as p;
+ import 'dart:io';
+@@ -82,3 +83,10 @@
+ bool isDesktop() => Platform.isLinux || Platform.isMacOS || Platform.isWindows;
+ bool isMobile() => Platform.isAndroid || Platform.isIOS;
+ bool canShowUpdate() => !(const bool.fromEnvironment('NO_VISIBLE_UPDATES'));
++Future<bool> isPostmarket() async {
++ if (!Platform.isLinux) return false;
++
++ DeviceInfoPlugin deviceInfo = DeviceInfoPlugin();
++ LinuxDeviceInfo linuxInfo = await deviceInfo.linuxInfo;
++ return linuxInfo.id == "postmarketos";
++}
+--
+2.40.1
diff --git a/testing/intiface-central/system-corrosion.patch b/testing/intiface-central/system-corrosion.patch
new file mode 100644
index 00000000000..466dee97933
--- /dev/null
+++ b/testing/intiface-central/system-corrosion.patch
@@ -0,0 +1,24 @@
+--- ./linux/rust.cmake.orig
++++ ./linux/rust.cmake
+@@ -2,19 +2,9 @@
+ # many dependencies we would need to install Corrosion on the system.
+ # See instructions on https://github.com/AndrewGaspar/corrosion#cmake-install
+ # Once done, uncomment this line:
+-# find_package(Corrosion REQUIRED)
++find_package(Corrosion REQUIRED)
+
+-include(FetchContent)
+-
+-FetchContent_Declare(
+- Corrosion
+- GIT_REPOSITORY https://github.com/AndrewGaspar/corrosion.git
+- GIT_TAG origin/master # Optionally specify a version tag or branch here
+-)
+-
+-FetchContent_MakeAvailable(Corrosion)
+-
+-corrosion_import_crate(MANIFEST_PATH ../intiface-engine-flutter-bridge/Cargo.toml)
++corrosion_import_crate(MANIFEST_PATH ../intiface-engine-flutter-bridge/Cargo.toml FROZEN)
+
+ # Flutter-specific
+
diff --git a/testing/intiface-central/system-flutter.patch b/testing/intiface-central/system-flutter.patch
new file mode 100644
index 00000000000..e8f7270ec9a
--- /dev/null
+++ b/testing/intiface-central/system-flutter.patch
@@ -0,0 +1,15 @@
+--- a/linux/CMakeLists.txt
++++ b/linux/CMakeLists.txt
+@@ -110,12 +110,6 @@
+ install(TARGETS ${BINARY_NAME} RUNTIME DESTINATION "${CMAKE_INSTALL_PREFIX}"
+ COMPONENT Runtime)
+
+-install(FILES "${FLUTTER_ICU_DATA_FILE}" DESTINATION "${INSTALL_BUNDLE_DATA_DIR}"
+- COMPONENT Runtime)
+-
+-install(FILES "${FLUTTER_LIBRARY}" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
+- COMPONENT Runtime)
+-
+ foreach(bundled_library ${PLUGIN_BUNDLED_LIBRARIES})
+ install(FILES "${bundled_library}"
+ DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
diff --git a/testing/iodine/APKBUILD b/testing/iodine/APKBUILD
deleted file mode 100644
index d1ca65e598d..00000000000
--- a/testing/iodine/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Guy Taylor <thebigguy.co.uk@gmail.com>
-# Maintainer:
-pkgname=iodine
-pkgver=0.7.0
-pkgrel=1
-pkgdesc="IP over DNS tunnel"
-url="http://code.kryo.se/iodine/"
-arch="all"
-license="ISC"
-depends=""
-makedepends="linux-headers zlib-dev"
-subpackages="$pkgname-doc"
-source="http://code.kryo.se/iodine/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
-
-build() {
- cd "$builddir"
- CFLAGS="$CFLAGS -D__GLIBC__=1" make
-}
-
-
-package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" prefix="/usr" install
-}
-
-sha512sums="49fe4f0cf614d3400cbfdade84eb4f50430f8f92004f663a08acc1514e8ff342443a8c3f855828bbca1864a3fafe419b5256f8a80fc4024b364d4c8c953fc0ec iodine-0.7.0.tar.gz"
diff --git a/testing/iozone/APKBUILD b/testing/iozone/APKBUILD
deleted file mode 100644
index 05b22cd48c4..00000000000
--- a/testing/iozone/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=iozone
-pkgver=3.493
-_pkgver=${pkgver//./_}
-pkgrel=0
-pkgdesc="IOzone filesystem benchmark."
-url="http://iozone.org"
-arch="all !mips !mips64 !riscv64"
-license="custom"
-options="!check" # No test suite from upstream
-subpackages="$pkgname-doc"
-source="http://iozone.org/src/current/iozone$_pkgver.tgz
- https://www.iozone.org/docs/Iozone_License.txt
- "
-builddir="$srcdir/${pkgname}$_pkgver/"
-
-build() {
- local target=
- case "$CARCH" in
- x86_64) target="linux-AMD64" ;;
- x86) target="linux" ;;
- aarch64) target="linux-arm" ;;
- armv7) target="linux-arm" ;;
- armhf) target="linux-arm" ;;
- s390x) target="linux-S390X" ;;
- ppc64le) target="linux-powerpc64" ;;
- *) msg "Unable to determine architecture from (CARCH=$CARCH)" ; return 1 ;;
- esac
-
- cd "$builddir"/src/current/
- make $target CFLAGS='-DHAVE_PREADV -DHAVE_PWRITEV'
-}
-
-package() {
- install -m755 -D src/current/iozone \
- "$pkgdir"/usr/bin/iozone
-
- install -Dm644 "$srcdir"/Iozone_License.txt \
- "$pkgdir"/usr/share/licenses/$pkgname/Iozone_License.txt
-
- install -Dm644 "$builddir"/docs/iozone.1 \
- "$pkgdir"/usr/share/man/man1/iozone.1
-}
-
-sha512sums="
-89e41b8344f593cdf049c195a8b78468b3a59dcca3d0932e33feed15c02b4a15e290b5fca3c28a5490cc3d40009aa8c96093bb814cfb18a99bece4b3bb9ba8c8 iozone3_493.tgz
-9589952c15cde6701f239b6031996e504fd62f70ef1e63938544ca8ecf7e38b53ff731919e48285a9354080120b74fcdd9d548ada9a719368726e67b536e6fda Iozone_License.txt
-"
diff --git a/testing/ip2location/APKBUILD b/testing/ip2location/APKBUILD
new file mode 100644
index 00000000000..c403f41d00d
--- /dev/null
+++ b/testing/ip2location/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: IP2Location <support@ip2location.com>
+pkgname=ip2location
+pkgver=8.6.1
+pkgrel=0
+pkgdesc="Lookup country, region and city information by IP addresses"
+url="https://www.ip2location.com/development-libraries/ip2location/c"
+arch="all"
+license="MIT"
+subpackages="$pkgname-dev $pkgname-doc"
+checkdepends="perl"
+makedepends="automake autoconf libtool"
+source="$pkgname-$pkgver.tar.gz::https://github.com/chrislim2888/IP2Location-C-Library/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir"/IP2Location-C-Library-$pkgver
+
+prepare() {
+ default_prepare
+ autoreconf -vif
+}
+
+build() {
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr
+ make
+}
+
+check() {
+ cd data
+ ./ip-country.pl
+ make check
+}
+
+package() {
+ make install DESTDIR="$pkgdir"
+}
+
+sha512sums="
+1c3c8198c7eadbcc8b3f274f46cd9fb56115c5ec3713bd6cf96743f9de4bd3029f2f90ed07c86c47626bbd6de2adb6d0ddf9a656f3fc5ddfc07ea9f1d43b2d06 ip2location-8.6.1.tar.gz
+"
diff --git a/testing/iprange/APKBUILD b/testing/iprange/APKBUILD
index ed47c48e96f..2a8d7608e4a 100644
--- a/testing/iprange/APKBUILD
+++ b/testing/iprange/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jonny Tyers <jtyers@gmail.com>
pkgname=iprange
pkgver=1.0.4
-pkgrel=0
+pkgrel=1
pkgdesc="manages IP ranges (part of FireHOL)"
url="https://github.com/firehol/iprange"
arch="all"
diff --git a/testing/irccd/APKBUILD b/testing/irccd/APKBUILD
index ad478c152ae..a424d8936bc 100644
--- a/testing/irccd/APKBUILD
+++ b/testing/irccd/APKBUILD
@@ -1,54 +1,48 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=irccd
-pkgver=3.0.3
-pkgrel=2
+pkgver=4.0.3
+pkgrel=0
pkgdesc="IRC Client Daemon"
url="http://projects.malikania.fr/irccd"
arch="all"
license="ISC"
-depends="boost-system"
-makedepends="boost-dev cmake doxygen libedit-dev openssl-dev uriparser-dev"
-subpackages="$pkgname-dev $pkgname-doc"
+makedepends="bison cmake curl-dev flex openssl-dev>3"
+subpackages="$pkgname-doc $pkgname-dev $pkgname-openrc"
source="http://releases.malikania.fr/irccd/$pkgver/irccd-$pkgver.tar.xz
irccd.initd
irccd.confd"
pkgusers="irccd"
pkggroups="irccd"
+options="!check" # Fixed in next version.
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake \
+ cmake -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_INSTALL_SYSCONFDIR=/etc \
-DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- -DIRCCD_WITH_TESTS=On \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DIRCCD_WITH_TESTS=Off \
$CMAKE_CROSSOPTS .
- make
-}
-
-check() {
- make test
+ cmake --build build
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
- install -m644 -o "$pkgusers" -g "$pkggroups" \
+ install -Dm644 -o "$pkgusers" -g "$pkggroups" \
"$pkgdir"/etc/irccd.conf.sample "$pkgdir"/etc/irccd.conf
- install -m644 -o "$pkgusers" -g "$pkggroups" \
- "$pkgdir"/etc/irccdctl.conf.sample "$pkgdir"/etc/irccdctl.conf
install -Dm755 "$srcdir"/irccd.initd "$pkgdir"/etc/init.d/irccd
install -Dm644 "$srcdir"/irccd.confd "$pkgdir"/etc/conf.d/irccd
}
-sha512sums="13ec29bc01700263f853cc0e04ddc0b2c9d46a9216a1d9b327be5f0a38f9a089b10bb312f95da763c44f5014dd35ece5a6ecef58acae8ff81990de44ecc1acfc irccd-3.0.3.tar.xz
+sha512sums="
+41643f0e81bde2cea8b26a0108addf2a1b29512ea479c2d5f6b106f5d796b4444f0d2a92ccd0fe306939cc9b33a95d5841cddea62ef9902f32940eddf8ecfa4b irccd-4.0.3.tar.xz
0ae7907a9724a55e30eac5d19c6b1e5e83ddea6ee90a8a377030f521de9c28c9cec103fbce4fc097ac59f55b7048bc9dee395affd9300de3a79ac2e86d0c75d0 irccd.initd
-93ce8795790a21e87cdfb9d31737af73faa200244c448841cd65e52f0523e8f664151e61dbf431df8360473d73c3ca5b3b8b6bcb0ccec52f66e511ae9f2abbdb irccd.confd"
+93ce8795790a21e87cdfb9d31737af73faa200244c448841cd65e52f0523e8f664151e61dbf431df8360473d73c3ca5b3b8b6bcb0ccec52f66e511ae9f2abbdb irccd.confd
+"
diff --git a/testing/ircd-hybrid/APKBUILD b/testing/ircd-hybrid/APKBUILD
index a6b86cd9f43..407beb70eab 100755..100644
--- a/testing/ircd-hybrid/APKBUILD
+++ b/testing/ircd-hybrid/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=ircd-hybrid
-pkgver=8.2.39
+pkgver=8.2.43
pkgrel=0
pkgdesc="lightweight and high-performance internet relay chat daemon (ircd)"
url="https://github.com/ircd-hybrid/ircd-hybrid/"
arch="all"
license="GPL-2.0-or-later"
-makedepends="openssl-dev"
+makedepends="openssl-dev>3"
source="$pkgname-$pkgver.tar.gz::https://github.com/ircd-hybrid/ircd-hybrid/archive/$pkgver.tar.gz"
subpackages="$pkgname-doc"
options="!check" # no test suite
@@ -40,5 +40,5 @@ package() {
}
sha512sums="
-7fcb878b723a2885ad8cdf947bed00908c6a34dab107acf981d57cd2039fc1dbe132b9ec1512e487b8889059fb528ebf7bf7d454dcc9c8f162ca29cb6da374e1 ircd-hybrid-8.2.39.tar.gz
+108ee77e18f3eeb23c960aeaf90b7a0a31d534333df6064be80d93cbe52696812f93af36e53be5df126a3db1587aabda699934f412f6a2b54972d86590f6e40c ircd-hybrid-8.2.43.tar.gz
"
diff --git a/testing/irclog2html/APKBUILD b/testing/irclog2html/APKBUILD
deleted file mode 100644
index 78b519494e0..00000000000
--- a/testing/irclog2html/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=irclog2html
-pkgver=2.17.3
-pkgrel=1
-pkgdesc="Script to convert IRC logs to HTML and other formats"
-url="https://mg.pov.lt/irclog2html/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/i/irclog2html/irclog2html-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- install -Dpm 0644 src/$pkgname/irclog.css \
- "$pkgdir"/usr/share/$pkgname/irclog.css
-}
-
-sha512sums="
-2fce4bf10494e3bf3d71f425c363716b0db846ac40aeec7ef274e4344e36302ddd027b0922804a457c269f67f895e87d1b4e9d0e1dba60ca6f1f4b3e52500bff irclog2html-2.17.3.tar.gz
-"
diff --git a/testing/isoinfo/APKBUILD b/testing/isoinfo/APKBUILD
index c63de7a1ea9..addcc95c27c 100644
--- a/testing/isoinfo/APKBUILD
+++ b/testing/isoinfo/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Hossein Hosni <hosni.hossein@gmail.com>
pkgname=isoinfo
pkgver=0_git20131217 # the git repo doesn't have a release yet
-pkgrel=0
+pkgrel=1
pkgdesc="Utility programs for dumping and verifying iso9660 images"
url="https://github.com/cmatsuoka/isoinfo"
arch="all"
diff --git a/testing/isomd5sum/APKBUILD b/testing/isomd5sum/APKBUILD
index 95678eba2ba..067d82119ad 100644
--- a/testing/isomd5sum/APKBUILD
+++ b/testing/isomd5sum/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Hossein Hosni <hosni.hossein@gmail.com>
pkgname=isomd5sum
pkgver=1.2.3
-pkgrel=1
+pkgrel=2
pkgdesc="Utilities for working with md5sum implanted in ISO images"
url="https://github.com/rhinstaller/isomd5sum"
arch="all !armv7 !armhf"
diff --git a/testing/itd/APKBUILD b/testing/itd/APKBUILD
new file mode 100644
index 00000000000..37d9af87ec2
--- /dev/null
+++ b/testing/itd/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Eloi Torrents <eloitor@disroot.org>
+# Maintainer: Eloi Torrents <eloitor@disroot.org>
+pkgname=itd
+pkgver=1.1.0
+pkgrel=5
+pkgdesc="Daemon that interfaces with InfiniTime firmware on the PineTime smartwatch"
+url="https://gitea.elara.ws/Elara6331/itd"
+arch="all"
+license="GPL-3.0-only"
+depends="bluez dbus"
+makedepends="go"
+source="$pkgname-v$pkgver.tar.gz::https://gitea.elara.ws/Elara6331/itd/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
+
+prepare() {
+ default_prepare
+
+ echo -n $pkgver > version.txt
+}
+
+build() {
+ make all -o version.txt
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+ # just a systemd service
+ rm -r "$pkgdir"/usr/lib
+}
+
+sha512sums="
+5fbaedf936c316defd5486d53ea20daefdfda05932f950a5885149cf2656fd753becd9a98e926b15ce25358906524a40661076d4a922136c1a91b0764ac3e13a itd-v1.1.0.tar.gz
+"
diff --git a/testing/iverilog/APKBUILD b/testing/iverilog/APKBUILD
deleted file mode 100644
index b607154d317..00000000000
--- a/testing/iverilog/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=iverilog
-_pkgver=11_0
-pkgver=${_pkgver%%_*}.${_pkgver##*_}
-pkgrel=0
-pkgdesc="Icarus Verilog compiler and simulation tool"
-url="http://iverilog.icarus.com"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="automake autoconf gperf bison flex"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/steveicarus/iverilog/archive/v$_pkgver.tar.gzu
- autoconf-2.70.patch"
-builddir="$srcdir/$pkgname-$_pkgver"
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
- aclocal && autoconf
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-5d6a65e1c3b6b62e99af708cd5a259cc69c6b789dd6eff69e225903d9b8c115d9e5d6f7635b30c6558197cd0ee6fd8196a163fbd98956e24c211d97328b85056 iverilog-11.0.tar.gz
-1a57dfd29799ff2aeeb27632325b9522b9764faaecf223ff7120bf224ebae8cda2beffb5f2b04bfc148e518332680272cc32491e0bcd103c2d0dffd46a37aa0e autoconf-2.70.patch
-"
diff --git a/testing/iverilog/autoconf-2.70.patch b/testing/iverilog/autoconf-2.70.patch
deleted file mode 100644
index 83864afa618..00000000000
--- a/testing/iverilog/autoconf-2.70.patch
+++ /dev/null
@@ -1,304 +0,0 @@
-From 4b3e1099e5517333dd690ba948bce1236466a395 Mon Sep 17 00:00:00 2001
-From: Martin Whitaker <icarus@martin-whitaker.me.uk>
-Date: Fri, 1 Jan 2021 18:42:01 +0000
-Subject: [PATCH] Fix configure scripts to work with autoconf 2.70.
-
-Numerous deprecated features have now become obsolete. Mostly done by
-running autoupdate, but that left a few fixes to be done manually.
-
-This includes the latest version of AX_PROG_CC_FOR_BUILD from
-https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
----
- INSTALL | 5 ++--
- Makefile.in | 2 +-
- README.txt | 2 +-
- aclocal.m4 | 57 ++++++++++++++++++++++--------------
- configure.in => configure.ac | 45 +++++++++++++---------------
- 5 files changed, 59 insertions(+), 52 deletions(-)
- rename configure.in => configure.ac (87%)
-
-diff --git a/INSTALL b/INSTALL
-index a2c8722cc..95b403761 100644
---- a/INSTALL
-+++ b/INSTALL
-@@ -19,8 +19,8 @@ diffs or instructions to the address given in the `README' so they can
- be considered for the next release. If at some point `config.cache'
- contains results you don't want to keep, you may remove or edit it.
-
-- The file `configure.in' is used to create `configure' by a program
--called `autoconf'. You only need `configure.in' if you want to change
-+ The file `configure.ac' is used to create `configure' by a program
-+called `autoconf'. You only need `configure.ac' if you want to change
- it or regenerate `configure' using a newer version of `autoconf'.
-
- The simplest way to compile this package is:
-@@ -178,4 +178,3 @@ operates.
- script, and exit.
-
- `configure' also accepts some other, not widely useful, options.
--
-diff --git a/Makefile.in b/Makefile.in
-index 974593374..90ecadeb5 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -202,7 +202,7 @@ stamp-_pli_types-h: $(srcdir)/_pli_types.h.in config.status
- ./config.status _pli_types.h
- _pli_types.h: stamp-_pli_types-h
-
--$(srcdir)/configure: $(srcdir)/configure.in $(srcdir)/aclocal.m4
-+$(srcdir)/configure: $(srcdir)/configure.ac $(srcdir)/aclocal.m4
- cd $(srcdir) && autoconf
-
- config.status: $(srcdir)/configure
-diff --git a/README.txt b/README.txt
-index 26533ebcf..d04dab88c 100644
---- a/README.txt
-+++ b/README.txt
-@@ -72,7 +72,7 @@ If you are building from git, you will also need software to generate
- the configure scripts.
-
- - autoconf 2.53 or later
-- This generates configure scripts from configure.in. The 2.53
-+ This generates configure scripts from configure.ac. The 2.53
- or later versions are known to work, autoconf 2.13 is
- reported to *not* work.
-
-diff --git a/aclocal.m4 b/aclocal.m4
-index 1b2dd6a1e..5fcc7cbf2 100644
---- a/aclocal.m4
-+++ b/aclocal.m4
-@@ -6,7 +6,7 @@
- # different builds. Remember to change the default suffix string to some
- # value appropriate for the current version.
- AC_DEFUN([AX_ENABLE_SUFFIX],
--[AC_ARG_ENABLE([suffix],[AC_HELP_STRING([--enable-suffix],
-+[AC_ARG_ENABLE([suffix],[AS_HELP_STRING([--enable-suffix],
- [Use/set the installation command suffix])],
- [true],[enable_suffix=no])
- if test X$enable_suffix = Xyes; then
-@@ -250,7 +250,7 @@ echo "timestamp for $_config_header" > `AS_DIRNAME(["$_config_header"])`/[]$_sta
- ]) #_AC_AM_CONFIG_HEADER_HOOK
-
- # ===========================================================================
--# http://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
-+# https://www.gnu.org/software/autoconf-archive/ax_prog_cc_for_build.html
- # ===========================================================================
- #
- # SYNOPSIS
-@@ -283,31 +283,35 @@ echo "timestamp for $_config_header" > `AS_DIRNAME(["$_config_header"])`/[]$_sta
- # and this notice are preserved. This file is offered as-is, without any
- # warranty.
-
--#serial 8
-+#serial 18
-
- AU_ALIAS([AC_PROG_CC_FOR_BUILD], [AX_PROG_CC_FOR_BUILD])
- AC_DEFUN([AX_PROG_CC_FOR_BUILD], [dnl
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_PROG_CPP])dnl
--AC_REQUIRE([AC_EXEEXT])dnl
--AC_REQUIRE([AC_CANONICAL_HOST])dnl
-+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
-
- dnl Use the standard macros, but make them use other variable names
- dnl
- pushdef([ac_cv_prog_CPP], ac_cv_build_prog_CPP)dnl
-+pushdef([ac_cv_prog_cc_c89], ac_cv_build_prog_cc_c89)dnl
- pushdef([ac_cv_prog_gcc], ac_cv_build_prog_gcc)dnl
- pushdef([ac_cv_prog_cc_works], ac_cv_build_prog_cc_works)dnl
- pushdef([ac_cv_prog_cc_cross], ac_cv_build_prog_cc_cross)dnl
- pushdef([ac_cv_prog_cc_g], ac_cv_build_prog_cc_g)dnl
-+pushdef([ac_cv_c_compiler_gnu], ac_cv_build_c_compiler_gnu)dnl
- pushdef([ac_cv_exeext], ac_cv_build_exeext)dnl
- pushdef([ac_cv_objext], ac_cv_build_objext)dnl
- pushdef([ac_exeext], ac_build_exeext)dnl
- pushdef([ac_objext], ac_build_objext)dnl
- pushdef([CC], CC_FOR_BUILD)dnl
- pushdef([CPP], CPP_FOR_BUILD)dnl
-+pushdef([GCC], GCC_FOR_BUILD)dnl
- pushdef([CFLAGS], CFLAGS_FOR_BUILD)dnl
- pushdef([CPPFLAGS], CPPFLAGS_FOR_BUILD)dnl
-+pushdef([EXEEXT], BUILD_EXEEXT)dnl
- pushdef([LDFLAGS], LDFLAGS_FOR_BUILD)dnl
-+pushdef([OBJEXT], BUILD_OBJEXT)dnl
- pushdef([host], build)dnl
- pushdef([host_alias], build_alias)dnl
- pushdef([host_cpu], build_cpu)dnl
-@@ -318,27 +322,29 @@ pushdef([ac_cv_host_alias], ac_cv_build_alias)dnl
- pushdef([ac_cv_host_cpu], ac_cv_build_cpu)dnl
- pushdef([ac_cv_host_vendor], ac_cv_build_vendor)dnl
- pushdef([ac_cv_host_os], ac_cv_build_os)dnl
--pushdef([ac_cpp], ac_build_cpp)dnl
--pushdef([ac_compile], ac_build_compile)dnl
--pushdef([ac_link], ac_build_link)dnl
-+pushdef([ac_tool_prefix], ac_build_tool_prefix)dnl
-+pushdef([am_cv_CC_dependencies_compiler_type], am_cv_build_CC_dependencies_compiler_type)dnl
-+pushdef([am_cv_prog_cc_c_o], am_cv_build_prog_cc_c_o)dnl
-+pushdef([cross_compiling], cross_compiling_build)dnl
-
--save_cross_compiling=$cross_compiling
--save_ac_tool_prefix=$ac_tool_prefix
--cross_compiling=no
--ac_tool_prefix=
-+cross_compiling_build=no
-
-+ac_build_tool_prefix=
-+AS_IF([test -n "$build"], [ac_build_tool_prefix="$build-"],
-+ [test -n "$build_alias"],[ac_build_tool_prefix="$build_alias-"])
-+
-+AC_LANG_PUSH([C])
- AC_PROG_CC
-+_AC_COMPILER_EXEEXT
-+_AC_COMPILER_OBJEXT
- AC_PROG_CPP
--AC_EXEEXT
--
--ac_tool_prefix=$save_ac_tool_prefix
--cross_compiling=$save_cross_compiling
-
- dnl Restore the old definitions
- dnl
--popdef([ac_link])dnl
--popdef([ac_compile])dnl
--popdef([ac_cpp])dnl
-+popdef([cross_compiling])dnl
-+popdef([am_cv_prog_cc_c_o])dnl
-+popdef([am_cv_CC_dependencies_compiler_type])dnl
-+popdef([ac_tool_prefix])dnl
- popdef([ac_cv_host_os])dnl
- popdef([ac_cv_host_vendor])dnl
- popdef([ac_cv_host_cpu])dnl
-@@ -349,29 +355,36 @@ popdef([host_vendor])dnl
- popdef([host_cpu])dnl
- popdef([host_alias])dnl
- popdef([host])dnl
-+popdef([OBJEXT])dnl
- popdef([LDFLAGS])dnl
-+popdef([EXEEXT])dnl
- popdef([CPPFLAGS])dnl
- popdef([CFLAGS])dnl
-+popdef([GCC])dnl
- popdef([CPP])dnl
- popdef([CC])dnl
- popdef([ac_objext])dnl
- popdef([ac_exeext])dnl
- popdef([ac_cv_objext])dnl
- popdef([ac_cv_exeext])dnl
-+popdef([ac_cv_c_compiler_gnu])dnl
- popdef([ac_cv_prog_cc_g])dnl
- popdef([ac_cv_prog_cc_cross])dnl
- popdef([ac_cv_prog_cc_works])dnl
-+popdef([ac_cv_prog_cc_c89])dnl
- popdef([ac_cv_prog_gcc])dnl
- popdef([ac_cv_prog_CPP])dnl
-
-+dnl restore global variables ac_ext, ac_cpp, ac_compile,
-+dnl ac_link, ac_compiler_gnu (dependant on the current
-+dnl language after popping):
-+AC_LANG_POP([C])
-+
- dnl Finally, set Makefile variables
- dnl
--BUILD_EXEEXT=$ac_build_exeext
--BUILD_OBJEXT=$ac_build_objext
- AC_SUBST(BUILD_EXEEXT)dnl
- AC_SUBST(BUILD_OBJEXT)dnl
- AC_SUBST([CFLAGS_FOR_BUILD])dnl
- AC_SUBST([CPPFLAGS_FOR_BUILD])dnl
- AC_SUBST([LDFLAGS_FOR_BUILD])dnl
- ])
--
-diff --git a/configure.in b/configure.ac
-similarity index 87%
-rename from configure.in
-rename to configure.ac
-index 83e0fe50e..8913fb74c 100644
---- a/configure.in
-+++ b/configure.ac
-@@ -1,21 +1,19 @@
- dnl Process this file with autoconf to produce a configure script.
--AC_INIT(netlist.h)
--AC_CONFIG_HEADER(config.h)
--AC_CONFIG_HEADER(_pli_types.h)
--AC_CONFIG_HEADER(vhdlpp/vhdlpp_config.h)
--AC_CONFIG_HEADER(vvp/config.h)
--AC_CONFIG_HEADER(vpi/vpi_config.h)
--AC_CONFIG_HEADER(libveriuser/config.h)
--AC_CONFIG_HEADER(tgt-vvp/vvp_config.h)
--AC_CONFIG_HEADER(tgt-vhdl/vhdl_config.h)
--AC_CONFIG_HEADER(tgt-pcb/pcb_config.h)
-+AC_INIT
-+AC_CONFIG_SRCDIR([netlist.h])
-+AC_CONFIG_HEADERS([config.h])
-+AC_CONFIG_HEADERS([_pli_types.h])
-+AC_CONFIG_HEADERS([vhdlpp/vhdlpp_config.h])
-+AC_CONFIG_HEADERS([vvp/config.h])
-+AC_CONFIG_HEADERS([vpi/vpi_config.h])
-+AC_CONFIG_HEADERS([libveriuser/config.h])
-+AC_CONFIG_HEADERS([tgt-vvp/vvp_config.h])
-+AC_CONFIG_HEADERS([tgt-vhdl/vhdl_config.h])
-+AC_CONFIG_HEADERS([tgt-pcb/pcb_config.h])
-
- AC_CANONICAL_HOST
- dnl Checks for programs.
- AC_PROG_CC
--# AC_PROG_CC_C99 is only available in autoconf version 2.60 and later.
--AC_PREREQ([2.60])
--AC_PROG_CC_C99
- AC_PROG_CXX
- AC_PROG_RANLIB
- AC_CHECK_TOOL(LD, ld, false)
-@@ -92,7 +90,7 @@ fi
-
- AC_LANG(C++)
-
--AC_ARG_WITH([m32], [AC_HELP_STRING([--with-m32], [Compile 32-bit on x86_64])],
-+AC_ARG_WITH([m32], [AS_HELP_STRING([--with-m32],[Compile 32-bit on x86_64])],
- [ with_m32=yes ],[ with_m32=no ])
-
- AS_IF( [test "x$with_m32" = xyes],
-@@ -170,8 +168,7 @@ AC_FUNC_ALLOCA
- AC_FUNC_FSEEKO
-
- # valgrind checks
--AC_ARG_WITH([valgrind], [AC_HELP_STRING([--with-valgrind],
-- [Add valgrind hooks])],
-+AC_ARG_WITH([valgrind], [AS_HELP_STRING([--with-valgrind],[Add valgrind hooks])],
- [], [check_valgrind=yes])
-
- AS_IF([test "x$check_valgrind" = xyes],
-@@ -182,14 +179,11 @@ AS_IF([test "x$check_valgrind" = xyes],
- [AC_MSG_ERROR([Could not find <valgrind/memcheck.h>])])])
-
- AC_MSG_CHECKING(for sys/times)
--AC_TRY_LINK(
--#include <unistd.h>
-+AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <unistd.h>
- #include <sys/times.h>
--,{clock_t a = times(0)/sysconf(_SC_CLK_TCK);},
--do_times=yes
--AC_DEFINE([HAVE_TIMES], [1], [The times system call is available in the host operating system.]),
--do_times=no
--)
-+]], [[{clock_t a = times(0)/sysconf(_SC_CLK_TCK);}]])],[do_times=yes
-+AC_DEFINE(HAVE_TIMES, 1, The times system call is available in the host operating system.)],[do_times=no
-+])
- AC_MSG_RESULT($do_times)
-
- # --
-@@ -262,7 +256,7 @@ AC_CHECK_FUNCS(fopen64)
- # The following math functions may be defined in the math library so look
- # in the default libraries first and then look in -lm for them. On some
- # systems we may need to use the compiler in C99 mode to get a definition.
--# We requested C99 mode earlier with AC_PROG_CC_C99.
-+# Modern versions of autoconf will enable C99 if it is available.
- AC_SEARCH_LIBS([lround], [m], [AC_DEFINE([HAVE_LROUND], [1])])
- AC_SEARCH_LIBS([llround], [m], [AC_DEFINE([HAVE_LLROUND], [1])])
- AC_SEARCH_LIBS([nan], [m], [AC_DEFINE([HAVE_NAN], [1])])
-@@ -337,4 +331,5 @@ AC_MSG_ERROR(cannot configure white space in libdir: $libdir)
- fi
- AC_MSG_RESULT(ok)
- AX_PROG_CC_FOR_BUILD
--AC_OUTPUT(Makefile ivlpp/Makefile vhdlpp/Makefile vvp/Makefile vpi/Makefile driver/Makefile driver-vpi/Makefile cadpli/Makefile libveriuser/Makefile tgt-null/Makefile tgt-stub/Makefile tgt-vvp/Makefile tgt-vhdl/Makefile tgt-fpga/Makefile tgt-verilog/Makefile tgt-pal/Makefile tgt-vlog95/Makefile tgt-pcb/Makefile tgt-blif/Makefile tgt-sizer/Makefile)
-+AC_CONFIG_FILES([Makefile ivlpp/Makefile vhdlpp/Makefile vvp/Makefile vpi/Makefile driver/Makefile driver-vpi/Makefile cadpli/Makefile libveriuser/Makefile tgt-null/Makefile tgt-stub/Makefile tgt-vvp/Makefile tgt-vhdl/Makefile tgt-fpga/Makefile tgt-verilog/Makefile tgt-pal/Makefile tgt-vlog95/Makefile tgt-pcb/Makefile tgt-blif/Makefile tgt-sizer/Makefile])
-+AC_OUTPUT
diff --git a/testing/j4-dmenu-desktop/APKBUILD b/testing/j4-dmenu-desktop/APKBUILD
index 2313e688eef..ab0a2e17502 100644
--- a/testing/j4-dmenu-desktop/APKBUILD
+++ b/testing/j4-dmenu-desktop/APKBUILD
@@ -1,29 +1,38 @@
# Maintainer: Bradley Saulteaux <bradsoto@gmail.com>
pkgname=j4-dmenu-desktop
pkgver=2.18
-pkgrel=0
+pkgrel=1
pkgdesc="A fast desktop menu"
-options="!check" # Requires a desktop-style system layout not present in builders
-url="https://github.com/enkore/$pkgname"
+url="https://github.com/enkore/j4-dmenu-desktop"
arch="all"
license="GPL-3.0-only"
-depends="dmenu"
-makedepends="cmake git"
-source="$pkgname-$pkgver.tar.gz::$url/archive/r$pkgver.tar.gz"
+depends="dmenu-virtual"
+makedepends="cmake samurai"
+source="$pkgname-$pkgver.tar.gz::https://github.com/enkore/j4-dmenu-desktop/archive/r$pkgver.tar.gz"
builddir="$srcdir"/$pkgname-r$pkgver
+# Requires a desktop-style system layout not present in builders
+# needs catch
+options="!check"
build() {
- cmake -DCMAKE_INSTALL_PREFIX=/usr .
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DWITH_GIT_CATCH=OFF \
+ -DWITH_TESTS="$(want_check && echo ON || echo OFF)"
+
+ cmake --build build
}
check() {
# Test depends on /usr/share/applications existing on the system
- make test
+ ctest --output-on-failure --test-dir build
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="f8b0c825d567d60da0fb418e6f0b24a6d9daa9fb142b194b0a8b249303f4e09b6694fce72bf031007ac67253e488fc7666d4ba7beb032bc74cc2a32aca0f6c96 j4-dmenu-desktop-2.18.tar.gz"
+sha512sums="
+f8b0c825d567d60da0fb418e6f0b24a6d9daa9fb142b194b0a8b249303f4e09b6694fce72bf031007ac67253e488fc7666d4ba7beb032bc74cc2a32aca0f6c96 j4-dmenu-desktop-2.18.tar.gz
+"
diff --git a/testing/jack_capture/APKBUILD b/testing/jack_capture/APKBUILD
index 6715fadc338..a6332f0a49f 100644
--- a/testing/jack_capture/APKBUILD
+++ b/testing/jack_capture/APKBUILD
@@ -1,11 +1,11 @@
-# Contributor: Kevin Thomas <me@kevinthomas.dev>
-# Maintainer: Kevin Thomas <me@kevinthomas.dev>
+# Contributor: Kay Thomas <kaythomas@pm.me>
+# Maintainer: Kay Thomas <kaythomas@pm.me>
pkgname=jack_capture
pkgver=0.9.73_git20210429
# Upstream hasn't cut a release since May 2017 and there have been several
# changes since then. There's currently an open issue to cut a new release.
_commit=fa6f2907e4119a9c59e8d4abed0e32c4422a5523
-pkgrel=1
+pkgrel=2
pkgdesc="Program for recording soundfiles with jack"
url="https://github.com/kmatheussen/jack_capture"
arch="all"
@@ -15,8 +15,6 @@ source="https://github.com/kmatheussen/jack_capture/archive/$_commit/jack_captur
builddir="$srcdir/$pkgname-$_commit"
options="!check" # No testsuite
-[ "$CARCH" = "riscv64" ] && options="$options textrels"
-
build() {
make
}
diff --git a/testing/jackal/APKBUILD b/testing/jackal/APKBUILD
new file mode 100644
index 00000000000..035aabd65fc
--- /dev/null
+++ b/testing/jackal/APKBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Sam Whited <sam@samwhited.com>
+pkgname=jackal
+pkgver=0.64.0
+pkgrel=7
+pkgdesc="Instant messaging server using XMPP"
+url="https://github.com/ortuman/jackal"
+arch="all"
+license="Apache-2.0"
+depends="gettext openssl"
+makedepends="go"
+install="jackal.pre-install jackal.post-install"
+pkgusers="jackal"
+pkggroups="jackal"
+subpackages="$pkgname-openrc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/ortuman/jackal/archive/refs/tags/v$pkgver.tar.gz
+ jackal.initd
+ jackal.logrotate
+ init.sql
+ config.yml.tmpl
+ "
+# !check: checks require unpackaged external tools
+# net: fetch dependencies
+options="!check net"
+
+export GOPATH="$srcdir/go"
+export GOCACHE="$srcdir/go-build"
+export GOTEMPDIR="$srcdir/go"
+
+prepare() {
+ default_prepare
+
+ go mod download
+}
+
+build() {
+ go build ./cmd/jackal
+ go build ./cmd/jackalctl
+}
+
+package() {
+ install -d -o jackal -g jackal "$pkgdir"/etc/jackal
+ install -d -m755 -o jackal -g jackal "$pkgdir"/var/lib/jackal
+ install -D -m644 -o jackal -g jackal "$srcdir"/init.sql "$pkgdir"/var/lib/jackal/init.sql
+ install -D -m644 -o jackal -g jackal sql/postgres.up.psql "$pkgdir"/var/lib/jackal/postgres.up.psql
+
+ install -D -m755 jackal "$pkgdir"/usr/bin/jackal
+ install -D -m755 jackalctl "$pkgdir"/usr/bin/jackalctl
+ install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -D -m644 "$srcdir"/config.yml.tmpl "$pkgdir"/etc/jackal/config.yml.tmpl
+ install -D -m644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
+}
+
+sha512sums="
+40b4f489bd43ce64ea49bdc8b6f97483d9b159c85ed6a8b8d032b35befaa72b4cac6ee8235b2c4bead64c4e2025d03db53ff9bd2eace25ac1c5660a153c623b5 jackal-0.64.0.tar.gz
+5e18714da66506d0ec6bacf051e9060b0e38976addff0aed8d9c8b553505a1fd637de2056aa91e3a46b486e8920c8a7d64990f0d497d35a74de02833bccf7f9f jackal.initd
+d38852e817665b1a408dba66de671e673dc11200142362127ef2f6e34489ca3ed7cdcd6bbd05ab876ba89015d64d30f14f1899a899dd92ccd6a000511930277c jackal.logrotate
+7c4220f2e92ef9230dadbc0dca3f75510f2abc368d57d938ff06e29042a1a284f257fd3bb94ac7fd35ffbef6cb31cbcb643a881e8f06f5802e912f7a92e143b2 init.sql
+1a6ff8979ac80bd0e954cf44aec94ad2540d2151114418a97650b0835494e73a33c414664e52ca036f8e76f3c36eec7cf818b88ae64c59be1b7c0b752a52bc62 config.yml.tmpl
+"
diff --git a/testing/jackal/config.yml.tmpl b/testing/jackal/config.yml.tmpl
new file mode 100644
index 00000000000..b30e30a4af9
--- /dev/null
+++ b/testing/jackal/config.yml.tmpl
@@ -0,0 +1,138 @@
+peppers:
+ keys:
+ v1: ${pepper}
+ use: v1
+
+logger:
+ level: "debug"
+
+# Prometheus metrics, pprof & health check
+http:
+ port: 6060
+
+admin:
+ port: 15280
+
+#hosts:
+# - domain: jackal.im
+# tls:
+# cert_file: ""
+# privkey_file: ""
+
+storage:
+ type: pgsql
+ pgsql:
+ host: 127.0.0.1:5432
+ user: jackal
+ password: ${psql_user}
+ database: jackal
+ max_open_conns: 16
+
+# cache:
+# type: redis
+# redis:
+# addresses:
+# - localhost:6379
+
+#cluster:
+# type: kv
+# kv:
+# type: etcd
+# etcd:
+# username: root
+# endpoints:
+# - http://127.0.0.1:2379
+#
+# server:
+# port: 14369
+
+shapers:
+# - name: super
+# max_sessions: 20
+# rate:
+# limit: 131072
+# burst: 65536
+# matching:
+# jid:
+# regex: ^(ortuman|noelia).+
+
+ - name: normal
+ max_sessions: 10
+ rate:
+ limit: 65536
+ burst: 32768
+
+c2s:
+ listeners:
+ - port: 5222
+ req_timeout: 60s
+ transport: socket
+ sasl:
+ mechanisms:
+ - scram_sha_1
+ - scram_sha_256
+
+ # Authentication gateway
+ # (proto: https://github.com/jackal-xmpp/jackal-proto/blob/master/jackal/proto/authenticator/v1/authenticator.proto)
+ external:
+ address: 127.0.0.1:4567
+ is_secure: false
+
+ - port: 5223
+ direct_tls: true
+ req_timeout: 60s
+ transport: socket
+ sasl:
+ mechanisms:
+ - scram_sha_1
+ - scram_sha_256
+
+s2s:
+ listeners:
+ - port: 5269
+ req_timeout: 60s
+ max_stanza_size: 131072
+
+ - port: 5270
+ direct_tls: true
+ req_timeout: 60s
+ max_stanza_size: 131072
+
+ out:
+ dialback_secret: ${dialback}
+ dial_timeout: 5s
+ req_timeout: 60s
+ max_stanza_size: 131072
+
+modules:
+# enabled:
+# - roster
+# - offline
+# - last # XEP-0012: Last Activity
+# - disco # XEP-0030: Service Discovery
+# - private # XEP-0049: Private XML Storage
+# - vcard # XEP-0054: vcard-temp
+# - version # XEP-0092: Software Version
+# - caps # XEP-0115: Entity Capabilities
+# - blocklist # XEP-0191: Blocking Command
+# - stream_mgmt # XEP-0198: Stream Management
+# - ping # XEP-0199: XMPP Ping
+# - time # XEP-0202: Entity Time
+# - carbons # XEP-0280: Message Carbons
+#
+# version:
+# show_os: true
+#
+# offline:
+# queue_size: 300
+#
+# ping:
+# ack_timeout: 90s
+# interval: 3m
+# send_pings: true
+# timeout_action: kill
+
+#components:
+# secret: a-super-secret-key
+# listeners:
+# - port: 5275
diff --git a/testing/jackal/init.sql b/testing/jackal/init.sql
new file mode 100644
index 00000000000..f40756d61b9
--- /dev/null
+++ b/testing/jackal/init.sql
@@ -0,0 +1,3 @@
+CREATE ROLE jackal WITH LOGIN PASSWORD '${psql_password}';
+CREATE DATABASE jackal;
+GRANT ALL PRIVILEGES ON DATABASE jackal TO jackal;
diff --git a/testing/jackal/jackal.initd b/testing/jackal/jackal.initd
new file mode 100644
index 00000000000..08f5d22c4eb
--- /dev/null
+++ b/testing/jackal/jackal.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+description="Jackal is a server for jackal/XMPP written in Go."
+
+: ${cfgfile:="/etc/jackal/config.yml"}
+
+command="/usr/bin/jackal"
+command_args="--config $cfgfile $command_args"
+command_background=yes
+pidfile="/run/$RC_SVCNAME.pid"
+directory="/var/lib/jackal"
+error_logger="logger -t jackal -p daemon.info >/dev/null 2>&1"
+
+required_files="$cfgfile"
+
+start_pre() {
+ checkpath -d -m 0750 -o jackal:jackal /var/log/jackal
+}
diff --git a/testing/jackal/jackal.logrotate b/testing/jackal/jackal.logrotate
new file mode 100644
index 00000000000..cffa74a5be8
--- /dev/null
+++ b/testing/jackal/jackal.logrotate
@@ -0,0 +1,7 @@
+/var/log/jackal/jackal.log {
+ daily
+ rotate 14
+ compress
+ sharedscripts
+ missingok
+}
diff --git a/testing/jackal/jackal.post-install b/testing/jackal/jackal.post-install
new file mode 100644
index 00000000000..d2714aa045a
--- /dev/null
+++ b/testing/jackal/jackal.post-install
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+echo "--"
+echo "Create a PostgreSQL database and role using /var/lib/jackal/init.sql."
+echo "Be sure to set the database password in the config at /etc/jackal/config.yml."
+echo "Afterwards, the schema can be created with /var/lib/jackal/postgres.up.psql."
+echo "--"
+
+export pepper=$(openssl rand -hex 12)
+export dialback=$(openssl rand -hex 12)
+umask 007
+envsubst < /etc/jackal/config.yml.tmpl > /etc/jackal/config.yml
diff --git a/testing/jackal/jackal.pre-install b/testing/jackal/jackal.pre-install
new file mode 100644
index 00000000000..abeb046940f
--- /dev/null
+++ b/testing/jackal/jackal.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S jackal 2>/dev/null
+adduser -S -D \
+ -h /var/lib/jackal \
+ -s /sbin/nologin \
+ -G jackal \
+ -g "jackal XMPP Server" \
+ jackal 2>/dev/null
+
+exit 0
diff --git a/testing/jackdaw/APKBUILD b/testing/jackdaw/APKBUILD
new file mode 100644
index 00000000000..2a3c02b4059
--- /dev/null
+++ b/testing/jackdaw/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=jackdaw
+pkgver=0.3.1
+pkgrel=1
+pkgdesc="Gathering shiny things from your domain"
+url="https://github.com/skelsec/jackdaw"
+# s390x: py3-igraph
+arch="all !s390x"
+license="MIT"
+depends="
+ py3-aiosmb
+ py3-asyauth
+ py3-asysocks
+ py3-igraph
+ py3-minikerberos
+ py3-msldap
+ py3-networkx
+ py3-sqlalchemy
+ py3-tqdm
+ py3-winacl
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/jackdaw/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+142ae1167feec099f082f873128002909ef91e575e285935d7b78a115e5c39192b25291d1cb5300f0d3fb1f80c40aa306963e0296ed70a607e35f605c5132196 jackdaw-0.3.1.tar.gz
+"
diff --git a/testing/jackett/APKBUILD b/testing/jackett/APKBUILD
new file mode 100644
index 00000000000..3d52c2501e0
--- /dev/null
+++ b/testing/jackett/APKBUILD
@@ -0,0 +1,70 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=jackett
+pkgver=0.21.1946
+pkgrel=0
+pkgdesc="API Support for your favorite torrent trackers"
+url="https://github.com/Jackett/Jackett"
+arch="x86_64 aarch64 armv7"
+license="GPL-3.0-only"
+options="net !check" # no tests
+depends="aspnetcore6-runtime"
+makedepends="dotnet6-sdk"
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/Jackett/Jackett/archive/refs/tags/v$pkgver.tar.gz
+ jackett.initd
+ jackett.confd
+ "
+builddir="$srcdir/Jackett-$pkgver/src"
+pkgusers="jackett"
+pkggroups="jackett"
+
+# map arch to dotnet
+case $CARCH in
+ x86_64) _dotnet_arch="x64" ;;
+ aarch64) _dotnet_arch="arm64" ;;
+ armv7) _dotnet_arch="arm" ;;
+ *) _dotnet_arch="$CARCH" ;;
+esac
+
+# custom variables
+_runtime="linux-musl-$_dotnet_arch"
+_framework="net6.0"
+_output="Jackett.Server/bin/Release"
+_artifacts="$_output/$_framework/$_runtime/publish"
+
+prepare() {
+ default_prepare
+
+ # replace version info
+ local buildprops=Jackett.Common/Jackett.Common.csproj
+ sed -i -e "s/<Version>[0-9.*]\+<\/Version>/<Version>$pkgver<\/Version>/g" "$buildprops"
+}
+
+build() {
+ dotnet publish Jackett.Server \
+ -f "$_framework" \
+ --no-self-contained \
+ -r "$_runtime" \
+ -c Release
+}
+
+package() {
+ local DESTDIR="$pkgdir"/usr/lib/jackett
+
+ mkdir -p "$DESTDIR"
+ cp -af "$_artifacts"/* "$DESTDIR"/
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+
+ # remove erroneously installed mono runtime library
+ rm -rf "$pkgdir"/usr/lib/jackett/libMono.Unix.so
+}
+
+sha512sums="
+1a8728a84f711140cdfa88ec00523ddc47b2c1e1baceec8b492430209ad987787cf5244c5d01900b92332f2b9581487915bf4c92045eeabae63fa86ec0be363a jackett-0.21.1946.tar.gz
+71dc80cee88d0166bcd18a784e9beda0eda6f5b34cf256f65a364375e6407bcf0f6b3eedadc2d1148d48acff9e5489134c28462d92a07c98fb5363e6adf4154a jackett.initd
+c9963ddf11e8ebb35891172226c2486d56f9bafdf7e40c99fab5d34489a5afc37902af55d9cf097d5f9cb713a6bff8b5ce4d04c3d4553b647315ba0d847dbc20 jackett.confd
+"
diff --git a/testing/jackett/jackett.confd b/testing/jackett/jackett.confd
new file mode 100644
index 00000000000..36149654cf8
--- /dev/null
+++ b/testing/jackett/jackett.confd
@@ -0,0 +1,6 @@
+# Jackett configuration options
+
+command_user="jackett:jackett" # user:group
+directory="/var/lib/jackett"
+logdir="/var/log/jackett"
+supervisor="supervise-daemon"
diff --git a/testing/jackett/jackett.initd b/testing/jackett/jackett.initd
new file mode 100644
index 00000000000..f016b81b773
--- /dev/null
+++ b/testing/jackett/jackett.initd
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+
+# fallback values for /etc/conf.d/jackett
+: ${command_user:=jackett:jackett}
+: ${directory:=/var/lib/jackett}
+: ${logdir:=/var/log/jackett}
+
+name=jackett
+description="Jackett daemon"
+command="/usr/lib/jackett/jackett"
+command_args="--NoUpdates --DataFolder=$directory"
+command_background=true
+
+pidfile="/run/$name.pid"
+output_log="$logdir/output.log"
+error_log="$logdir/error.log"
+
+depend() {
+ need net
+ use dns logger netmount
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory" "$logdir"
+ checkpath -f -o "$command_user" "$output_log" "$error_log"
+}
diff --git a/testing/jackett/jackett.pre-install b/testing/jackett/jackett.pre-install
new file mode 100644
index 00000000000..bca67f7824d
--- /dev/null
+++ b/testing/jackett/jackett.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S jackett 2>/dev/null
+adduser -S -D -h /var/lib/jackett -s /sbin/nologin -G jackett -g jackett jackett 2>/dev/null
+
+exit 0
diff --git a/testing/jackline/APKBUILD b/testing/jackline/APKBUILD
new file mode 100644
index 00000000000..50e652aa4e7
--- /dev/null
+++ b/testing/jackline/APKBUILD
@@ -0,0 +1,108 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=jackline
+pkgver=0.1.0
+pkgrel=3
+pkgdesc="Minimalistic and secure XMPP client written in OCaml"
+url="https://github.com/hannesm/jackline"
+# limited by riscv64, loongarch64: ocaml, ppc64le: ocaml-uucp and ocaml-erm_xmpp
+arch="all !riscv64 !loongarch64 !ppc64le"
+license="BSD-2-Clause"
+makedepends="
+ ocaml-ppx_deriving-dev
+ ocaml-erm_xmpp-dev
+ ocaml-tls-dev
+ ocaml-mirage-crypto-dev
+ ocaml-x509-dev
+ ocaml-domain-name-dev
+ ocaml-lwt-dev
+ ocaml-otr-dev
+ ocaml-astring-dev
+ ocaml-ptime-dev
+ ocaml-notty-dev
+ ocaml-sexplib-dev
+ ocaml-hex-dev
+ ocaml-uucp-dev
+ ocaml-uuseg-dev
+ ocaml-uutf-dev
+ ocaml-dns-dev
+ ocaml-cstruct-dev
+ ocaml-base64-dev
+ ocaml-happy-eyeballs-lwt-dev
+ dune
+ ocaml
+ ocaml-ppx_sexp_conv-dev
+ libev-dev
+ gmp-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/hannesm/jackline/archive/refs/tags/v$pkgver.tar.gz
+ use-built-in-uchar-lib.patch
+ "
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+prepare() {
+ default_prepare
+ sed -i "s/%%VERSION_NUM%%/$pkgver/" src/utils.ml
+}
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+a3c9eb7df16912a1a8435a0379f1dca2ec5d287a452cf626c50d9c403db167f64a5a4360b0631a16536ca76cd0fa230bb883344227e028b48ee73264b34a000f jackline-0.1.0.tar.gz
+712de8f691e8573a80ac0a4cdf7f9cc9d61957cab58b7c7ed832e362807a1f80e075d3cfa6411e91198791b589336055b2ecd233dabe2d209bdb9a7287a9dd1e use-built-in-uchar-lib.patch
+"
diff --git a/testing/jackline/use-built-in-uchar-lib.patch b/testing/jackline/use-built-in-uchar-lib.patch
new file mode 100644
index 00000000000..d28c6acb9b5
--- /dev/null
+++ b/testing/jackline/use-built-in-uchar-lib.patch
@@ -0,0 +1,10 @@
+--- a/src/dune
++++ b/src/dune
+@@ -3,6 +3,6 @@
+ (wrapped false)
+ (libraries astring base64 cstruct dns-client.lwt erm_xmpp hex lwt lwt.unix
+ mirage-crypto-pk otr ptime ptime.clock.os sexplib tls tls.lwt
+- uchar uutf x509 ipaddr.unix)
++ uutf x509 ipaddr.unix)
+ (preprocess
+ (per_module ((pps ppx_sexp_conv) xjid user xconfig))))
diff --git a/testing/jalv/APKBUILD b/testing/jalv/APKBUILD
new file mode 100644
index 00000000000..2f9c662e0f0
--- /dev/null
+++ b/testing/jalv/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer:
+pkgname=jalv
+pkgver=1.6.8
+pkgrel=1
+pkgdesc="Simple but fully featured LV2 host for Jack"
+url="https://drobilla.net/software/jalv.html"
+arch="all"
+license="ISC"
+makedepends="
+ gtk+3.0-dev
+ jack-dev
+ lilv-dev
+ lv2-dev
+ meson
+ serd-dev
+ sord-dev
+ sratom-dev
+ suil-dev
+ "
+subpackages="$pkgname-gtk $pkgname-doc"
+source="https://download.drobilla.net/jalv-$pkgver.tar.xz"
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ -Dcxx=enabled \
+ -Dgtk2=disabled \
+ -Dgtk3=enabled \
+ -Dportaudio=disabled \
+ -Dqt5=disabled \
+ -Dsuil=enabled \
+ -Dtests="$(want_check && echo enabled || echo disabled)" \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+gtk() {
+ pkgdesc="$pkgdesc (GTK3 UI)"
+
+ amove \
+ usr/bin/jalv.gtk3 \
+ usr/share/applications/jalv.desktop
+}
+
+sha512sums="
+a3361239cbff8b02a0d46bb06480d727ad45abe1856ad4cec1a1299851392be04fdfa58ba6803ed2a446eb8964c4a44191733b53fe8529c65155b0221323428f jalv-1.6.8.tar.xz
+"
diff --git a/testing/jami-daemon/APKBUILD b/testing/jami-daemon/APKBUILD
new file mode 100644
index 00000000000..250da94c980
--- /dev/null
+++ b/testing/jami-daemon/APKBUILD
@@ -0,0 +1,86 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=jami-daemon
+pkgver=4.0.0_git20230925
+pkgrel=1
+_gitrev=f19b0fad9b99181e9a5e5a892ae354d940db2bb2
+_pjprojectver=1489db073be280629e41d387c1c2561f20b0bfb3
+_dhtnetver=4796de15ed32b41949489c328bc250d17c431c80
+pkgdesc="Free and universal communication platform which preserves the users’ privacy and freedoms (daemon component)"
+url="https://jami.net"
+arch="all !ppc64le !s390x !riscv64" # no webrtc-audio-processing
+license="GPL-3.0-or-later"
+makedepends="
+ alsa-lib-dev
+ asio-dev
+ cmake
+ eudev-dev
+ fmt-dev
+ ffmpeg-dev
+ gnutls-dev
+ jsoncpp-dev
+ libarchive-dev
+ libgit2-dev
+ libsecp256k1-dev
+ libupnp-dev
+ meson
+ msgpack-cxx-dev
+ opendht-dev
+ pulseaudio-dev
+ restinio-dev
+ speex-dev
+ speexdsp-dev
+ sqlite-dev
+ webrtc-audio-processing-dev
+ yaml-cpp-dev
+ zlib-dev
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$_gitrev.tar.gz::https://git.jami.net/savoirfairelinux/jami-daemon/-/archive/$_gitrev/jami-daemon-$_gitrev.tar.gz
+ pjproject-$_pjprojectver.tar.gz.noauto::https://github.com/savoirfairelinux/pjproject/archive/$_pjprojectver/pjproject-$_pjprojectver.tar.gz
+ dhtnet-$_dhtnetver.tar.gz.noauto::https://git.jami.net/savoirfairelinux/dhtnet/-/archive/$_dhtnetver/dhtnet-$_dhtnetver.tar.gz
+ dhtnet-unpack-dir.patch
+ "
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # https://git.jami.net/savoirfairelinux/jami-daemon/-/issues/649
+
+prepare() {
+ default_prepare
+
+ cp -v ../pjproject-$_pjprojectver.tar.gz.noauto \
+ contrib/tarballs/pjproject-$_pjprojectver.tar.gz
+ cp -v ../dhtnet-$_dhtnetver.tar.gz.noauto \
+ contrib/tarballs/dhtnet-$_dhtnetver.tar.gz
+ mkdir -v contrib/native
+}
+
+build() {
+ cd contrib/native
+ ../bootstrap \
+ --disable-downloads \
+ --disable-all \
+ --enable-pjproject \
+ --enable-dhtnet
+ make DEPS_pjproject= DEPS_dhtnet=pjproject
+
+ cd "$builddir"
+ abuild-meson \
+ -Dinterfaces=library \
+ -Dopensl=disabled \
+ -Dportaudio=disabled \
+ -Dtests=false \
+ -Dpkg_config_path="$builddir/contrib/$(cc -dumpmachine)/lib/pkgconfig" \
+ . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+0d8591013d1e26c436de593d1ee974bf334acdb70ac2e7e2fab3d1e426bb52b7a2b3c8de21603c5945dd2f7829caf781982c95dcc5efa7fe225aa6ba49f64fbb jami-daemon-f19b0fad9b99181e9a5e5a892ae354d940db2bb2.tar.gz
+4a7cf995827f3d450627f32dbba463593e7ee9e268e6050c12622cae9c5ee8b6f7aadd1897e218b5665f467d89d40608681e56017d3cf817b69ad7348070afc7 pjproject-1489db073be280629e41d387c1c2561f20b0bfb3.tar.gz.noauto
+c940ea273c25a38ca1d2b63077dddfeed7740405d5c16ac8f8db0a14e3fdf838a69f4c09bd68ef98b72fe04d1a3feb3f61fed2d34fb8e073c492211c121b8fae dhtnet-4796de15ed32b41949489c328bc250d17c431c80.tar.gz.noauto
+812b720831d35fffbaef1bb64cdc085bc72fb0f92f6e8ebe06ff3f1a20cf5a07cdd9dbc6dd00694cc880e7f905dfdc0fa956127b4bcb3ee78c4e08b763d2d807 dhtnet-unpack-dir.patch
+"
diff --git a/testing/jami-daemon/dhtnet-unpack-dir.patch b/testing/jami-daemon/dhtnet-unpack-dir.patch
new file mode 100644
index 00000000000..33ee641c5e8
--- /dev/null
+++ b/testing/jami-daemon/dhtnet-unpack-dir.patch
@@ -0,0 +1,11 @@
+--- a/contrib/src/dhtnet/rules.mak
++++ b/contrib/src/dhtnet/rules.mak
+@@ -30,7 +30,7 @@
+
+ dhtnet: dhtnet-$(DHTNET_VERSION).tar.gz
+ mkdir -p $(UNPACK_DIR)
+- $(UNPACK) -C $(UNPACK_DIR)
++ $(UNPACK) -C $(UNPACK_DIR)/../
+ $(APPLY) $(SRC)/dhtnet/libjami-testable.patch
+ $(MOVE)
+
diff --git a/testing/jami-qt/APKBUILD b/testing/jami-qt/APKBUILD
new file mode 100644
index 00000000000..29c4c7762a8
--- /dev/null
+++ b/testing/jami-qt/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=jami-qt
+pkgver=20230925
+pkgrel=0
+_gitrev=70ce0c091e4aa7abec2826ab826ae0417f593f0d
+_sortfilter=a2a0c72e4db38e1c5478bd3e0f67ff99fae11f00
+pkgdesc="Free and universal communication platform which preserves the users’ privacy and freedoms (Qt client)"
+url="https://jami.net"
+arch="all !s390x !ppc64le !riscv64" # missing jami-daemon dependency
+license="GPL-3.0-or-later"
+depends="qt6-qtbase-sqlite"
+makedepends="
+ cmake
+ jami-daemon-dev
+ libqrencode-dev
+ md4c-dev
+ python3
+ qt6-qt5compat-dev
+ qt6-qtmultimedia-dev
+ qt6-qtnetworkauth-dev
+ qt6-qtpositioning-dev
+ qt6-qtsvg-dev
+ qt6-qttools-dev
+ qt6-qtwebchannel-dev
+ samurai
+ tidyhtml-dev
+ "
+subpackages="$pkgname-doc $pkgname-lang"
+source="$pkgname-$_gitrev.tar.gz::https://git.jami.net/savoirfairelinux/jami-client-qt/-/archive/$_gitrev/jami-client-qt-$_gitrev.tar.gz
+ sortfilterproxymodel-$_sortfilter.tar.gz::https://github.com/atraczyk/SortFilterProxyModel/archive/$_sortfilter.tar.gz
+ drop-qt-version-check.patch
+ system.patch
+ "
+builddir="$srcdir/jami-client-qt-$_gitrev"
+
+prepare() {
+ default_prepare
+
+ rmdir 3rdparty/SortFilterProxyModel
+ ln -sfv "$srcdir"/SortFilterProxyModel-$_sortfilter 3rdparty/SortFilterProxyModel
+}
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ -DENABLE_LIBWRAP=ON \
+ -DWITH_WEBENGINE=false
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+lang() {
+ amove usr/share/jami/translations
+
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+97e15b8be1bfe334270a0f5f1bc6a5a3646f8bcf04027b83fd69b56f75c30a1124a2ee92fb9c0f10a56e523a2f9b2060f909e3f26f20db174b2cc11c162d11ed jami-qt-70ce0c091e4aa7abec2826ab826ae0417f593f0d.tar.gz
+9c02e206829ea12fb77fdd34e4ac42572d38e33d8ed60534f6d6495ac53c8449c57162fe09060a1e1de05b01f6fdbefb63a614860dd402af4911749aa8c012f8 sortfilterproxymodel-a2a0c72e4db38e1c5478bd3e0f67ff99fae11f00.tar.gz
+5bc7d449bd7b1b1176361126ef58737c69262ca7cd2f6c96695c142a793a1eb74e1cfd2a10e6677eed3a47ffb3789c7f727d8ffbd8e708abfa2319b43d3d930f drop-qt-version-check.patch
+6886c36ba43110b1519cb763fad60a4ffa1ea0170a5482a96a730d28c58d03e4164b2d8777a035fa8e07257e589eda14c97ffd3e870c7d0bd5de2e8850638506 system.patch
+"
diff --git a/testing/jami-qt/drop-qt-version-check.patch b/testing/jami-qt/drop-qt-version-check.patch
new file mode 100644
index 00000000000..90c3ee38c28
--- /dev/null
+++ b/testing/jami-qt/drop-qt-version-check.patch
@@ -0,0 +1,19 @@
+Author: Bruno Pagani
+URL: https://github.com/archlinux/svntogit-community/commit/0368876157edf0b25cb0ae1ee1eb99d155bf101f
+Summary: Drop strict Qt version check. Qt is ABI stable and jami is not using any private API
+----
+--- a/src/app/mainapplication.cpp
++++ b/src/app/mainapplication.cpp
+@@ -100,12 +100,6 @@ ScreenInfo::setCurrentFocusWindow(QWindow* window)
+ MainApplication::MainApplication(int& argc, char** argv)
+ : QApplication(argc, argv)
+ {
+- const char* qtVersion = qVersion();
+- qInfo() << "Using Qt runtime version:" << qtVersion;
+- if (strncmp(qtVersion, QT_VERSION_STR, strnlen(qtVersion, sizeof qtVersion)) != 0) {
+- qFatal("Qt build version mismatch! %s", QT_VERSION_STR);
+- }
+-
+ parseArguments();
+ QObject::connect(this, &QApplication::aboutToQuit, [this] { cleanup(); });
+ }
diff --git a/testing/jami-qt/system.patch b/testing/jami-qt/system.patch
new file mode 100644
index 00000000000..5206b4d49cf
--- /dev/null
+++ b/testing/jami-qt/system.patch
@@ -0,0 +1,33 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5f06f2c..4d44325 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -498,20 +498,17 @@ set(BUILD_SFPM_PIC ON CACHE BOOL "enable -fPIC for SFPM" FORCE)
+ add_subdirectory(3rdparty/SortFilterProxyModel)
+ set(SFPM_OBJECTS $<TARGET_OBJECTS:SortFilterProxyModel>)
+
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(tidy REQUIRED tidy)
++pkg_check_modules(md4c REQUIRED md4c-html)
++
+ # md4c
+-set(BUILD_SHARED_LIBS OFF CACHE BOOL "Don't build shared md4c library" FORCE)
+-add_subdirectory(3rdparty/md4c EXCLUDE_FROM_ALL)
+-list(APPEND CLIENT_LINK_DIRS ${MD4C_BINARY_DIR}/src)
+-list(APPEND CLIENT_INCLUDE_DIRS ${MD4C_SOURCE_DIR}/src)
+-list(APPEND CLIENT_LIBS md4c-html)
++list(APPEND CLIENT_INCLUDE_DIRS ${md4c_INCLUDE_DIRS})
++list(APPEND CLIENT_LIBS ${md4c_LIBRARIES})
+
+ # tidy-html5
+-set(BUILD_SHARED_LIB OFF CACHE BOOL "Don't build shared tidy library" FORCE)
+-set(SUPPORT_CONSOLE_APP OFF CACHE BOOL "Don't build tidy console app" FORCE)
+-add_subdirectory(3rdparty/tidy-html5 EXCLUDE_FROM_ALL)
+-list(APPEND CLIENT_LINK_DIRS ${tidy_BINARY_DIR}/Release)
+-list(APPEND CLIENT_INCLUDE_DIRS ${tidy_SOURCE_DIR}/include)
+-list(APPEND CLIENT_LIBS tidy-static)
++list(APPEND CLIENT_INCLUDE_DIRS ${tidy_INCLUDE_DIRS})
++list(APPEND CLIENT_LIBS ${tidy_LIBRARIES})
+
+ # common executable sources
+ qt_add_executable(
diff --git a/testing/janus-gateway/APKBUILD b/testing/janus-gateway/APKBUILD
deleted file mode 100644
index 5822215de27..00000000000
--- a/testing/janus-gateway/APKBUILD
+++ /dev/null
@@ -1,66 +0,0 @@
-# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
-# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
-pkgname=janus-gateway
-pkgver=0.11.6
-pkgrel=0
-pkgdesc="Janus WebRTC Server"
-url="https://janus.conf.meetecho.com/"
-license="GPL-3.0-only"
-arch="all !mips64 !riscv64" # blocked by nodejs/npm
-install="$pkgname.pre-install"
-makedepends="autoconf automake libtool gengetopt lua5.3-dev cmake libsrtp-dev
- libnice-dev jansson-dev libconfig-dev libusrsctp-dev libmicrohttpd-dev
- libwebsockets-dev rabbitmq-c-dev curl-dev libogg-dev libopusenc-dev
- lua duktape-dev npm doxygen graphviz ffmpeg-dev zlib-dev libogg-dev
- libuv-dev sofia-sip-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/meetecho/janus-gateway/archive/refs/tags/v$pkgver.tar.gz
- $pkgname.initd
- $pkgname.confd
- "
-subpackages="$pkgname-doc $pkgname-openrc"
-options="!check" # missing aiortc
-
-# nanomsg not available on armv7
-case "$CARCH" in
- arm*)
- ;;
- *)
- makedepends="$makedepends nanomsg-dev"
- ;;
-esac
-
-prepare() {
- default_prepare
- autoreconf -fi
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --runstatedir=/run \
- --enable-sample-event-handler \
- --enable-rest \
- --enable-javascript-es-module \
- --enable-all-js-modules \
- --enable-post-processing \
- --enable-json-logger \
- --enable-plugin-lua \
- --enable-plugin-sip \
- --enable-plugin-duktape \
- --enable-docs \
- --disable-aes-gcm
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
-}
-
-sha512sums="
-51f5d9dcd57dcd16c0801e2092711445374ce977c16dbb9b12a8370b1525aaa6bcafa10159d9b02618ba62f8e204cfda0bc2cb70f636c4456fca64896a9b8085 janus-gateway-0.11.6.tar.gz
-942d8566219a426671d78b962f1584a910137995a2dbfc9af2a5c2901f30dc8992bbc749543d149d9f3d24bd751090abc226fca405276450ef84acff1cd74cc1 janus-gateway.initd
-f442a419a435f5d1adab673011b7689a5680064f32f712e5e4668c486ce10f1442822c60cb302ee850ddc576a9e9f610a0863f02204e56f1fc68aa3ee312ebe0 janus-gateway.confd
-"
diff --git a/testing/janus-gateway/janus-gateway.confd b/testing/janus-gateway/janus-gateway.confd
deleted file mode 100644
index f4170eeadbb..00000000000
--- a/testing/janus-gateway/janus-gateway.confd
+++ /dev/null
@@ -1,3 +0,0 @@
-JANUS_USER="janus"
-JANUS_GROUP="janus"
-JANUS_OPTS="-D -o"
diff --git a/testing/janus-gateway/janus-gateway.initd b/testing/janus-gateway/janus-gateway.initd
deleted file mode 100644
index 6806daab674..00000000000
--- a/testing/janus-gateway/janus-gateway.initd
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/sbin/openrc-run
-
-PIDFILE=/var/run/janus.pid
-
-depend() {
- need net
-}
-
-start_pre() {
- checkpath -f -o $JANUS_USER:$JANUS_GROUP -m644 /var/log/janus.log
- if [ ! -f /etc/janus/janus.jcfg ] ; then
- eerror "/etc/janus/janus.jcfg file doesn't exists!"
- return 1
- fi
-
-}
-
-start() {
- ebegin "Starting Janus gateway server"
- start-stop-daemon --start --make-pidfile --exec /usr/bin/janus \
- --pidfile "${PIDFILE}" --background --quiet \
- --user "${JANUS_USER}" \
- -- ${JANUS_OPTS} -L /var/log/janus.log
- eend $?
-}
-
-stop() {
- ebegin "Stopping Janus gateway server"
- start-stop-daemon --stop --quiet --pidfile "${PIDFILE}"
- eend $?
-}
-
diff --git a/testing/janus-gateway/janus-gateway.pre-install b/testing/janus-gateway/janus-gateway.pre-install
deleted file mode 100644
index 717dba6fa8b..00000000000
--- a/testing/janus-gateway/janus-gateway.pre-install
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-addgroup -S janus &>/dev/null
-adduser -S -G janus -s /sbin/nologin -D janus &>/dev/null
-exit 0
diff --git a/testing/jaq/APKBUILD b/testing/jaq/APKBUILD
new file mode 100644
index 00000000000..6904518ab19
--- /dev/null
+++ b/testing/jaq/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=jaq
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="jq clone focused on correctness, speed and simplicity"
+url="https://github.com/01mf02/jaq"
+arch="all"
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="
+ https://github.com/01mf02/jaq/archive/v$pkgver/jaq-$pkgver.tar.gz
+ fix-drop-test.patch
+ "
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/jaq -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+00e3b32dc53036d8437708f48734c136a3c2a219ac84106c65d0bbac5797bac51aa2665064402d7b0efbc8710c859286cec20c5232be3d4e26e1896b968e515b jaq-1.3.0.tar.gz
+8307cc6ba54b38ec08c4c33ece617683e326793ce70242826abe6f543cd4306c90db7acdeb2119a02910ac4856c73da42ece11b06aa00ca5a402a8b04ac629ff fix-drop-test.patch
+"
diff --git a/testing/jaq/fix-drop-test.patch b/testing/jaq/fix-drop-test.patch
new file mode 100644
index 00000000000..57c77d1923f
--- /dev/null
+++ b/testing/jaq/fix-drop-test.patch
@@ -0,0 +1,13 @@
+diff --git a/jaq-interpret/src/rc_lazy_list.rs b/jaq-interpret/src/rc_lazy_list.rs
+index 0342de9..20b7076 100644
+--- a/jaq-interpret/src/rc_lazy_list.rs
++++ b/jaq-interpret/src/rc_lazy_list.rs
+@@ -50,7 +50,7 @@ fn drop() {
+ let list = List::from_iter(0..100_000);
+ // clone() ensures that we keep a copy of the whole list around
+ // sum() then evaluates the whole list
+- assert_eq!(list.clone().sum::<usize>(), 4999950000);
++ assert_eq!(list.clone().sum::<u64>(), 4999950000);
+ // at the end, a long, fully evaluated list is dropped,
+ // which would result in a stack overflow without the custom `Drop` impl
+ std::mem::drop(list);
diff --git a/testing/java-asmtools/APKBUILD b/testing/java-asmtools/APKBUILD
index 18ca22cd5f8..4c993dc14de 100644
--- a/testing/java-asmtools/APKBUILD
+++ b/testing/java-asmtools/APKBUILD
@@ -1,22 +1,24 @@
# Contributor: Simon Frankenberger <simon-alpine@fraho.eu>
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=java-asmtools
-_pkgver=7.0-b06
+_pkgver=8.0-b09
pkgver=${_pkgver/-b/.}
-pkgrel=1
+pkgrel=0
pkgdesc="The AsmTools open source project is used to develop tools for the production of proper and improper Java '.class' files"
url="https://github.com/openjdk/asmtools"
-# s390x: ftbfs due to sigfpe
-# aarch64: hangs on build
-# mips, mips64, riscv64: java
-arch="noarch !mips !mips64 !riscv64 !aarch64 !s390x"
+# riscv64: no java
+# s390x: FTBFS due to SIGFPE (see #12275)
+# armhf / armv7 / x86 / ppc64le: requires java 17
+arch="noarch !riscv64 !armhf !armv7 !x86 !ppc64le !s390x"
license="GPL-2.0"
makedepends="java-jdk"
options="!check" # this package has no tests
subpackages="$pkgname-doc:_doc"
-source="asmtools-$_pkgver.tar.bz2::https://github.com/openjdk/asmtools/archive/asmtools-$_pkgver.tar.gz
+source="https://github.com/openjdk/asmtools/archive/$_pkgver/asmtools-$_pkgver.tar.gz
https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.13-bin.zip
-"
+
+ java-version-check.patch
+ "
builddir="$srcdir/asmtools-$_pkgver"
_ant_home="$srcdir"/apache-ant-1.9.13/
@@ -48,5 +50,8 @@ _doc() {
"$_destdir"
}
-sha512sums="c910cd36a93de648b1dde613b856cdde124a4b46469ff2cff62ebd17c83fc35573b212e50e38a396fb1e43fe6427aa60cb4eb6bfe4c0d641e4c057b6e28f114e asmtools-7.0-b06.tar.bz2
-873062cf789e1572ec4ef3cdbb15c0d3a57e5a0794068591565367d4cec15b9f9a24f59734a85170d61b23eb9288d6bafd35a9ae2b015b09c7a175e344cb4e1c apache-ant-1.9.13-bin.zip"
+sha512sums="
+27d4378061d0c703d0220b35b75ce67bcd20dce3f0339cdbd68e8396cf647719ae029720081abac22e186ae9d5ed5c1fb4050adea30f3ef855586eaacba1dca7 asmtools-8.0-b09.tar.gz
+873062cf789e1572ec4ef3cdbb15c0d3a57e5a0794068591565367d4cec15b9f9a24f59734a85170d61b23eb9288d6bafd35a9ae2b015b09c7a175e344cb4e1c apache-ant-1.9.13-bin.zip
+e6687969df9d1386c9d7e2948f0f08f1c447f14d30281372f29efb47a894a709b1a901429087e5e7cb69daa9f3e935f3613750239e9eb848ddaf736b4affd056 java-version-check.patch
+"
diff --git a/testing/java-asmtools/java-version-check.patch b/testing/java-asmtools/java-version-check.patch
new file mode 100644
index 00000000000..a3ee7ba7a10
--- /dev/null
+++ b/testing/java-asmtools/java-version-check.patch
@@ -0,0 +1,17 @@
+Author: Simon Frankenberger <simon-alpine@fraho.eu>
+Subject: Fix java version check
+
+The java version check only detects java 17, 18, 19
+and does not work with java 20+. This patch fixes the regex.
+
+--- old/build/build.xml
++++ new/build/build.xml
+@@ -174,7 +174,7 @@
+ <target name="-check-java-version?">
+ <echo></echo>
+ <condition property="check-java-version.passed">
+- <matches pattern="1[789]+.*" string="${ant.java.version}"/>
++ <matches pattern="(1[789]+|2[0-9]+).*" string="${ant.java.version}"/>
+ </condition>
+ <fail unless="check-java-version.passed">
+ .${line.separator}${line.separator}
diff --git a/testing/java-jtharness/APKBUILD b/testing/java-jtharness/APKBUILD
index b054467e81e..90c37e34cab 100644
--- a/testing/java-jtharness/APKBUILD
+++ b/testing/java-jtharness/APKBUILD
@@ -1,25 +1,24 @@
# Contributor: Simon Frankenberger <simon-alpine@fraho.eu>
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=java-jtharness
-pkgver=6.0_p10
+pkgver=6.0_p12
_pkgver=${pkgver/_p/-b}
-pkgrel=1
+pkgrel=0
pkgdesc="The JT harness is a general purpose, fully-featured, flexible, and configurable test harness"
-url="https://hg.openjdk.java.net/code-tools/jtharness"
-arch="noarch !mips !mips64 !riscv64" # blocked by java-jdk
+url="https://github.com/openjdk/jtharness"
+# riscv64: java
+arch="noarch !riscv64"
license="GPL-2.0"
-makedepends="java-jdk"
+makedepends="java-jdk apache-ant"
options="!check" # this package has no tests
subpackages="$pkgname-doc:_doc $pkgname-examples:_examples"
-source="jtharness-$_pkgver.tar.bz2::https://hg.openjdk.java.net/code-tools/jtharness/archive/jt$_pkgver.tar.bz2
-https://archive.apache.org/dist/ant/binaries/apache-ant-1.9.13-bin.tar.bz2
+source="jtharness-$_pkgver.tar.gz::https://github.com/openjdk/jtharness/archive/refs/tags/jt$_pkgver.tar.gz
https://repo1.maven.org/maven2/asm/asm-all/3.1/asm-all-3.1.jar
https://repo1.maven.org/maven2/junit/junit/4.4/junit-4.4.jar
https://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar
"
builddir="$srcdir/jtharness-jt$_pkgver"
-_ant_home="$srcdir"/apache-ant-1.9.13/
_servletjar="$srcdir"/javax.servlet-api-3.0.1.jar
_bytecodelib="$srcdir"/asm-all-3.1.jar
_junitlib="$srcdir"/junit-4.4.jar
@@ -39,7 +38,7 @@ prepare() {
build() {
cd "$builddir/build"
- JAVA_HOME=/usr/lib/jvm/default-jvm $_ant_home/bin/ant
+ JAVA_HOME=/usr/lib/jvm/default-jvm ant
}
package() {
@@ -65,8 +64,9 @@ _doc() {
"$_destdir"
}
-sha512sums="f910c608dbc7f89066f47b355c18f561cfef429298e2e740fe678cb741ca847de97a821f542d38c96c34ba9bcd30661d852a773b29b75dcdcc91e2e8f9082fe8 jtharness-6.0-b10.tar.bz2
-e9b602aacbac7bf721a830f56ea06cde60a7a674a6d67f05ce82848ac01b2ee84f7003190286fea1030abb523398fa1a280d265377f41f57e7cf7e6d1fe37465 apache-ant-1.9.13-bin.tar.bz2
+sha512sums="
+b4e4437892fa829e37e74aa57becae845d7dbc7fc861f18d4a50a5ed4c9cde22c8fb29791a0a4d6ca0ad5b8be7d3e26476843651ba0cb6eda84b9aef898525dd jtharness-6.0-b12.tar.gz
00990aa9d39fe874f6799dc8d9d1b208b61e6358a949df86014edeacbea63dcdc4ac7870948a54270e1db4b8ec134313b200fe7cdede7aa6746c812c36f0ac13 asm-all-3.1.jar
4ae9fb09ebd9800ba1c9f0bfc43f07f7bc499e41894dea74b50f01fd69690b5d4e8f7949e2afce10fa0da719e8a2df223430e3aef7e2529662c7b70a12c80ab9 junit-4.4.jar
-1e087f1e4632048f1c6ea12e3820a30c7a6e66b13277ec8e784d8c5aba99335cd90cdb08e23756e815324cc9c8dc22d0937c7ccf4b89ee00222cd5e4a1d2a0de javax.servlet-api-3.0.1.jar"
+1e087f1e4632048f1c6ea12e3820a30c7a6e66b13277ec8e784d8c5aba99335cd90cdb08e23756e815324cc9c8dc22d0937c7ccf4b89ee00222cd5e4a1d2a0de javax.servlet-api-3.0.1.jar
+"
diff --git a/testing/java-jtreg/APKBUILD b/testing/java-jtreg/APKBUILD
index 1f305eacbe5..91ed21eae32 100644
--- a/testing/java-jtreg/APKBUILD
+++ b/testing/java-jtreg/APKBUILD
@@ -1,30 +1,59 @@
# Contributor: Simon Frankenberger <simon-alpine@fraho.eu>
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=java-jtreg
-pkgver=5.1_p01
-_pkgver=${pkgver/_p/-b}
-pkgrel=2
+pkgver=7.3.1_p1
+_pkgver=${pkgver/_p/+}
+pkgrel=0
pkgdesc="jtreg is the test harness used by the JDK test framework"
url="https://github.com/openjdk/jtreg"
-arch="noarch !mips !mips64 !riscv64" # blocked by openjdk8
+# oracle dropped support for 32 bit
+# riscv64 blocked by openjdk11
+# s390x, ppc64le due to java-asmtools
+arch="all !x86 !armhf !armv7 !riscv64 !s390x !ppc64le"
license="GPL-2.0"
-depends="java-jtharness java-asmtools"
-makedepends="openjdk8 zip" # explicitly required java 8 to compile
-options="!check" # the tests require an X11 or VNC display
-#subpackages="$pkgname-doc:_doc $pkgname-examples:_examples"
-source="jtreg-$_pkgver.tar.bz2::https://github.com/openjdk/jtreg/archive/jtreg$_pkgver.tar.gz
-
-jtreg-symlink-patch.txt
-jtdiff-symlink-patch.txt
-fix-version-number.patch
-fix-build-script.patch
+depends="java-jtharness java-asmtools apache-ant"
+makedepends="bash openjdk11 zip" # explicitly requires java 11 to compile
+checkdepends="diffutils grep"
+
+# check gets stuck on builder
+[ "$CARCH" = "ppc64le" ] && options="$options !check"
+
+source="jtreg-$_pkgver.tar.gz::https://github.com/openjdk/jtreg/archive/jtreg-$_pkgver.tar.gz
+
+ fix-build.patch
+ headless-tests.patch
+
+ jtreg-symlink-patch.txt
+ jtdiff-symlink-patch.txt
"
-builddir="$srcdir/jtreg-jtreg$_pkgver"
+builddir="$srcdir/jtreg-jtreg-${pkgver/_p/-}"
build() {
- builddir="$builddir" \
- TAG_INFO="jtreg$_pkgver" \
- ash make/build-all.sh /usr/lib/jvm/default-jvm
+ export JTREG_BUILD_VERSION="${_pkgver%+*}" \
+ JTREG_BUILD_NUMBER="${_pkgver/*+}"
+
+ local ant_home=/usr/share/java/apache-ant
+ export ANT="$ant_home"/bin/ant \
+ ANT_JAR="$ant_home"/lib/ant.jar
+
+ local asmtools_home=/usr/share/java/asmtools
+ export ASMTOOLS_JAR="$asmtools_home"/lib/asmtools.jar \
+ ASMTOOLS_LICENSE="$asmtools_home"/LICENSE
+
+ local jtharness_home=/usr/share/java/jtharness
+ export JTHARNESS_JAVATEST_JAR="$jtharness_home"/lib/javatest.jar \
+ JTHARNESS_LICENSE="$jtharness_home"/legal/license.txt \
+ JTHARNESS_COPYRIGHT="$jtharness_home"/legal/copyright.txt
+
+ bash make/build.sh \
+ --jdk /usr/lib/jvm/java-11-openjdk \
+ -- \
+ -j1
+}
+
+check() {
+ sed -i 's/-j1/quick-test/' build/make.sh
+ bash build/make.sh
}
package() {
@@ -64,8 +93,10 @@ _doc() {
"$_destdir"
}
-sha512sums="64277f72847b6c182cd00fee39c817a1c510d7e6eef0dd01f3642d4ca661cd5215330ef4627e3557d4ba9eb212bdca3ef6539f1b5c0f72ba617c5a18063ef990 jtreg-5.1-b01.tar.bz2
+sha512sums="
+3d098a77da247092b48a60aa1c336c8e07340ad9bc760a1d054c754c10d93a72ab72674cc1eb2e27d391043c37a01d6c067a50d9fd3e7bcbc3c960841f93423c jtreg-7.3.1+1.tar.gz
+2c4bcfdc7792bacdb9c5ed81feb52bbbb1cdcbe8ac1cb9c9c6e1e5c6474ede625a748829a75c12cbd0cba57582f69006221ec7d3f7e999d116955022575697ff fix-build.patch
+1b10c0b3f27541d2456166930c925d32db95b6a7d73625df8340a61f781b85d3bfb0d50f3099bdd448b498c0c9be8e7dd8ab0646142592c2538a291ab4a579b8 headless-tests.patch
136e6e58b85d05f3e97467344c95303cbd310ada7c6533a129a6e62786d5e9498a1842b75de9838b432e68d0d863058ac5aeeea2a78e98a2170b4a0c1c113083 jtreg-symlink-patch.txt
67f63317a2aaedd17e822389065ff5d86d574f4cb2e2af375856a9c7356dd048c396517372788b889db376fe4aa73c66d530938b8975d11d7714ac84e3dcd00d jtdiff-symlink-patch.txt
-769de697c43c8aeb68945f5c0f5fd42925e3cae422b732bc1c771d261ef947d1e0c865225e0384208262facad20a74f97c2905c9828215ccc24d997ee06a1356 fix-version-number.patch
-a8dcf8038f8b5578a9b0580d167513933a3582f2f6d0b7230630d7abbb0e4fff1aa98f9d4e5be6a6a2fb2bbc660a5c53bd5d6ad6772bbda20c74dc3d28ba7aae fix-build-script.patch"
+"
diff --git a/testing/java-jtreg/fix-build-script.patch b/testing/java-jtreg/fix-build-script.patch
deleted file mode 100644
index 1bc8e9e6609..00000000000
--- a/testing/java-jtreg/fix-build-script.patch
+++ /dev/null
@@ -1,110 +0,0 @@
---- old/make/Defs.gmk
-+++ new/make/Defs.gmk
-@@ -411,7 +411,7 @@
- SORT = /usr/bin/sort
- TEST = /usr/bin/test
- TIDY = /usr/bin/tidy
--TOUCH = /usr/bin/touch
-+TOUCH = /bin/touch
- UNZIP = /usr/bin/unzip
- WC = /usr/bin/wc
- ZIP = /usr/bin/zip
---- old/make/build-all.sh
-+++ new/make/build-all.sh
-@@ -60,35 +60,10 @@
- if [ $CYGWIN -eq 1 ]; then echo `cygpath -m $1`; else echo $1; fi
- }
-
--get_scm_type() {
-- if [ -d .hg ]; then
-- echo "HG"
-- elif [ -d .git ]; then
-- echo "GIT"
-- else
-- echo "Error: unrecognized repository, it must be Git or Mercurial" >&2
-- exit 1
-- fi
--}
--
--SCM_TYPE=`get_scm_type`
--
- get_root() {
-- case $SCM_TYPE in
-- HG) hg root ;;
-- GIT) git rev-parse --show-toplevel ;;
-- *) echo "Error: unknown SCM" >&2 ; exit 1 ;;
-- esac
-+ echo $builddir
- }
-
--get_tag_info() {
-- case $SCM_TYPE in
-- HG) hg tags | grep jtreg | head -1 ;;
-- GIT) git tag | grep jtreg | tail -1 ;;
-- *) echo "Error: unknown SCM" >&2 ; exit 1 ;;
-- esac
--}
--
- export JAVA_HOME=$1
- export PATH="$JAVA_HOME:$PATH"
-
-@@ -147,7 +122,7 @@
- ANT_VERSION=${ANT_VERSION:-apache-ant-1.9.4}
- ANT_ZIP=${ANT_DIR}/${ANT_VERSION}.zip
- WGet ${APACHE_ANT_URL}/${ANT_VERSION}-bin.zip ${ANT_ZIP}
--echo "ec57a35eb869a307abdfef8712f3688fff70887f ${ANT_ZIP}" | ${SHASUM} --check -
-+echo "ec57a35eb869a307abdfef8712f3688fff70887f ${ANT_ZIP}" | ${SHASUM} -c -
- ${UNZIP} ${UNZIP_OPTS} -d ${ANT_DIR} ${ANT_ZIP}
-
- ANT_JAR=${ANT_DIR}/${ANT_VERSION}/lib/ant.jar
-@@ -210,17 +185,17 @@
- ASM_JAR=${JCOV_DEPS_DIR}/asm-6.2.jar
- ASM_JAR_CHECKSUM='1b6c4ff09ce03f3052429139c2a68e295cae6604'
- WGet ${MAVEN_REPO_URL}/org/ow2/asm/asm/6.2/asm-6.2.jar ${ASM_JAR}
--echo "${ASM_JAR_CHECKSUM} ${ASM_JAR}" | ${SHASUM} --check -
-+echo "${ASM_JAR_CHECKSUM} ${ASM_JAR}" | ${SHASUM} -c -
-
- ASM_TREE_JAR=${JCOV_DEPS_DIR}/asm-tree-6.2.jar
- ASM_TREE_JAR_CHECKSUM='61570e046111559f38d4e0e580c005f75988c0a6'
- WGet ${MAVEN_REPO_URL}/org/ow2/asm/asm-tree/6.2/asm-tree-6.2.jar ${ASM_TREE_JAR}
--echo "${ASM_TREE_JAR_CHECKSUM} ${ASM_TREE_JAR}" | ${SHASUM} --check -
-+echo "${ASM_TREE_JAR_CHECKSUM} ${ASM_TREE_JAR}" | ${SHASUM} -c -
-
- ASM_UTIL_JAR=${JCOV_DEPS_DIR}/asm-utils-6.2.jar
- ASM_UTIL_JAR_CHECKSUM='a9690730f92cc79eeadc20e400ebb41eccce10b1'
- WGet ${MAVEN_REPO_URL}/org/ow2/asm/asm-util/6.2/asm-util-6.2.jar ${ASM_UTIL_JAR}
--echo "${ASM_UTIL_JAR_CHECKSUM} ${ASM_UTIL_JAR}" | ${SHASUM} --check -
-+echo "${ASM_UTIL_JAR_CHECKSUM} ${ASM_UTIL_JAR}" | ${SHASUM} -c -
-
- # Build jcov
- JCOV_SRC_ZIP=${JCOV_BUILD_DIR}/source.zip
-@@ -263,7 +238,7 @@
-
- JUNIT_JAR=${JUNIT_DEPS_DIR}/junit-4.10.jar
- WGet ${MAVEN_REPO_URL}/junit/junit/4.10/junit-4.10.jar ${JUNIT_JAR}
--echo "e4f1766ce7404a08f45d859fb9c226fc9e41a861 ${JUNIT_JAR}" | ${SHASUM} --check -
-+echo "e4f1766ce7404a08f45d859fb9c226fc9e41a861 ${JUNIT_JAR}" | ${SHASUM} -c -
-
- ${UNZIP} ${UNZIP_OPTS} ${JUNIT_JAR} LICENSE.txt -d ${JUNIT_DEPS_DIR}
- JUNIT_LICENSE=${JUNIT_DEPS_DIR}/LICENSE.txt
-@@ -274,18 +249,17 @@
-
- TESTNG_JAR=${TESTNG_DEPS_DIR}/testng-6.9.5.jar
- WGet ${MAVEN_REPO_URL}/org/testng/testng/6.9.5/testng-6.9.5.jar ${TESTNG_JAR}
--echo "5d12ea207fc47c3f341a3f8ecc88a3eac396a777 ${TESTNG_JAR}" | ${SHASUM} --check -
-+echo "5d12ea207fc47c3f341a3f8ecc88a3eac396a777 ${TESTNG_JAR}" | ${SHASUM} -c -
-
- TESTNG_LICENSE=${TESTNG_DEPS_DIR}/LICENSE.txt
- WGet https://raw.githubusercontent.com/cbeust/testng/testng-6.9.5/LICENSE.txt ${TESTNG_LICENSE}
-
- JCOMMANDER_JAR=${TESTNG_DEPS_DIR}/jcommander-1.72.jar
- WGet ${MAVEN_REPO_URL}/com/beust/jcommander/1.72/jcommander-1.72.jar ${JCOMMANDER_JAR}
--echo "6375e521c1e11d6563d4f25a07ce124ccf8cd171 ${JCOMMANDER_JAR}" | ${SHASUM} --check -
-+echo "6375e521c1e11d6563d4f25a07ce124ccf8cd171 ${JCOMMANDER_JAR}" | ${SHASUM} -c -
-
-
- ## Set version and build numbers to the latest tagged version by default
--TAG_INFO=`get_tag_info`
- if [ -z ${BUILD_NUMBER:-} ]; then
- BUILD_NUMBER=`echo $TAG_INFO | sed 's/jtreg\([0-9]\.[0-9]\)-\(b[0-9]*\).*/\2/'`
- fi
diff --git a/testing/java-jtreg/fix-build.patch b/testing/java-jtreg/fix-build.patch
new file mode 100644
index 00000000000..e8417c69f0f
--- /dev/null
+++ b/testing/java-jtreg/fix-build.patch
@@ -0,0 +1,11 @@
+--- old/make/Defs.gmk
++++ new/make/Defs.gmk
+@@ -173,7 +173,7 @@
+ else
+ TIDY = /usr/bin/tidy
+ endif
+-TOUCH = /usr/bin/touch
++TOUCH = /bin/touch
+ UNZIP = /usr/bin/unzip
+ WC = /usr/bin/wc
+ ZIP = /usr/bin/zip
diff --git a/testing/java-jtreg/fix-version-number.patch b/testing/java-jtreg/fix-version-number.patch
deleted file mode 100644
index 086d7e42230..00000000000
--- a/testing/java-jtreg/fix-version-number.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-The 5.1b01 release has the wrong version information set, so correct them
-
---- old/make/Defs.gmk
-+++ new/make/Defs.gmk
-@@ -445,9 +445,9 @@
- # Version tags
- #
- # BUILD_* variables are normally set (overridden) by RE builds
--BUILD_VERSION = 5.0
-+BUILD_VERSION = 5.1
- BUILD_MILESTONE = dev
--BUILD_NUMBER = b00
-+BUILD_NUMBER = b01
-
- # don't eval dates here directly, because that leads to unstable builds
- #BUILD_YEAR:sh = /bin/date +"%Y"
---- old/make/build.properties
-+++ new/make/build.properties
-@@ -65,6 +65,6 @@
- # checkstyle (should be version 5.4 or better)
- checkstyle.home = ${jtreg.build.resources}/checkstyle/5.4
-
--build.version = 5.0
-+build.version = 5.1
- build.milestone = dev
--build.number = b00
-+build.number = b01
diff --git a/testing/java-jtreg/headless-tests.patch b/testing/java-jtreg/headless-tests.patch
new file mode 100644
index 00000000000..656dcf691dc
--- /dev/null
+++ b/testing/java-jtreg/headless-tests.patch
@@ -0,0 +1,17 @@
+From: Simon Frankenberger <simon-alpine@fraho.eu>
+Subject: Run tests in headless mode
+
+Could't figure out how to make them run with xvfb-run, so just disable the ui tests
+
+diff -ru old/test/basic/Basic.gmk new/test/basic/Basic.gmk
+--- old/test/basic/Basic.gmk 2023-03-04 00:55:23.000000000 +0000
++++ new/test/basic/Basic.gmk 2023-04-25 13:41:38.485264258 +0000
+@@ -55,7 +55,7 @@
+
+ #----------------------------------------------------------------------
+
+-ENVVARS="DISPLAY=$${DISPLAY:-`uname -n`:0.0}"
++ENVVARS="-Djava.awt.headless=true"
+
+ ifeq ($(OS_NAME), windows)
+ BASIC_TESTS := $(shell cygpath -m $(abspath $(TESTDIR)/share/basic) )
diff --git a/testing/jbigkit/APKBUILD b/testing/jbigkit/APKBUILD
index 78e9578dcb1..d620ed40d33 100644
--- a/testing/jbigkit/APKBUILD
+++ b/testing/jbigkit/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=jbigkit
pkgver=2.1
-pkgrel=1
+pkgrel=2
pkgdesc="Data compression library/utilities for bi-level high-resolution images"
url="http://www.cl.cam.ac.uk/~mgk25/jbigkit/"
arch="all"
@@ -18,7 +18,7 @@ prepare() {
default_prepare
cd "$builddir"
unset CFLAGS CPPFLAGS LDFLAGS
- if [ "$CARCH" == "x86_64" ]; then
+ if [ "$CARCH" = "x86_64" ]; then
export CFLAGS="$CFLAGS -fPIC"
else
export CFLAGS="$CFLAGS"
diff --git a/testing/jdebp-redo/APKBUILD b/testing/jdebp-redo/APKBUILD
index 130a1564f8e..ab9cdb4052a 100644
--- a/testing/jdebp-redo/APKBUILD
+++ b/testing/jdebp-redo/APKBUILD
@@ -1,6 +1,7 @@
+# Maintainer:
pkgname=jdebp-redo
pkgver=1.4
-pkgrel=0
+pkgrel=1
pkgdesc="Smaller, easier, more powerful, and more reliable than make"
arch="all"
url="http://jdebp.info/Softwares/redo/"
@@ -9,6 +10,7 @@ makedepends="perl"
subpackages="$pkgname-doc"
source="http://jdebp.info/Repository/freebsd/redo-$pkgver.tar.gz"
provides="redo"
+provider_priority=30
options="!check" # No test suite from upstream
builddir="$srcdir/source"
@@ -36,4 +38,6 @@ doc() {
install -Dm644 COPYING "$subpkgdir"/usr/share/licenses/$pkgname/COPYING
}
-sha512sums="c90c75acc53cb478edefb6fa5d6e76807239f94837416cbf814e0d08c4b30bcf5a9edb7b9065358e30395619ad5deb749790819eb8ed45719facbe680e150d63 redo-1.4.tar.gz"
+sha512sums="
+c90c75acc53cb478edefb6fa5d6e76807239f94837416cbf814e0d08c4b30bcf5a9edb7b9065358e30395619ad5deb749790819eb8ed45719facbe680e150d63 redo-1.4.tar.gz
+"
diff --git a/testing/jdupes/APKBUILD b/testing/jdupes/APKBUILD
index 4b67301fbce..ae235f39850 100644
--- a/testing/jdupes/APKBUILD
+++ b/testing/jdupes/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: tcely <tcely@users.noreply.github.com>
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=jdupes
-pkgver=1.19.1
+pkgver=1.27.3
pkgrel=0
pkgdesc="identifying and taking actions upon duplicate files"
options="!check" # No testsuite
@@ -9,8 +9,10 @@ url="https://github.com/jbruchon/jdupes"
arch="all"
license="MIT"
subpackages="$pkgname-doc"
-makedepends="linux-headers"
-source="$pkgname-$pkgver.tar.gz::https://github.com/jbruchon/jdupes/archive/v$pkgver.tar.gz"
+makedepends="linux-headers libjodycode-dev xxhash-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jbruchon/jdupes/archive/v$pkgver.tar.gz
+ system-xxhash.patch
+ "
build() {
make ENABLE_DEDUPE=1
@@ -20,4 +22,7 @@ package() {
make DESTDIR="$pkgdir" PREFIX=/usr install
}
-sha512sums="ffae61dba438ee24199ff983cb6b2a2abff6470082bc6d7e95c7432b8b05a1739cf4ded6ebb9542d1f4a52b57ff0ac450e052b049f3c7e3060304ad6b09a05b4 jdupes-1.19.1.tar.gz"
+sha512sums="
+634ce1d1efa4666c7cc968e99d8d8d7da5e80e6e0ed86a080088ab127b7ecc4cc5266305d8a5c3d9c524721a2adc99c700281aa3dba37efade3cc1b90df1544e jdupes-1.27.3.tar.gz
+6c8430b76fba6cf4458d1a8e3f0c431250a59029a18cfc38f4befe23a94da25153cb1e54eb4b6de3c66a8015ca1c083c46d2cf215f594317c48eed580078ba6b system-xxhash.patch
+"
diff --git a/testing/jdupes/system-xxhash.patch b/testing/jdupes/system-xxhash.patch
new file mode 100644
index 00000000000..9436158c8fb
--- /dev/null
+++ b/testing/jdupes/system-xxhash.patch
@@ -0,0 +1,48 @@
+diff --git a/Makefile b/Makefile
+index 7e09923..93153ac 100644
+--- a/Makefile
++++ b/Makefile
+@@ -120,15 +120,8 @@ ifdef LOW_MEMORY
+ endif
+ endif
+
+-# Use jody_hash instead of xxHash if requested
+-ifdef USE_JODY_HASH
+- COMPILER_OPTIONS += -DUSE_JODY_HASH -DNO_XXHASH2
+- OBJS_CLEAN += xxhash.o
+- else
+- ifndef EXTERNAL_HASH_LIB
+- OBJS += xxhash.o
+- endif
+-endif # USE_JODY_HASH
++CFLAGS += `pkg-config --cflags libxxhash`
++LDFLAGS += `pkg-config --libs libxxhash`
+
+ # Stack size limit can be too small for deep directory trees, so set to 16 MiB
+ # The ld syntax for Windows is the same for both Cygwin and MinGW
+diff --git a/jdupes.c b/jdupes.c
+index e3e5762..bc66c05 100644
+--- a/jdupes.c
++++ b/jdupes.c
+@@ -62,7 +62,7 @@
+ #include "version.h"
+
+ #ifndef USE_JODY_HASH
+- #include "xxhash.h"
++ #include <xxhash.h>
+ #endif
+ #ifdef ENABLE_DEDUPE
+ #ifdef __linux__
+diff --git a/filehash.c b/filehash.c
+index 8b05d87..2975fbb 100644
+--- a/filehash.c
++++ b/filehash.c
+@@ -21,7 +21,7 @@
+ #include "interrupt.h"
+ #include "progress.h"
+ #include "jdupes.h"
+-#include "xxhash.h"
++#include <xxhash.h>
+
+ const char *hash_algo_list[2] = {
+ "xxHash64 v2",
diff --git a/testing/jedi-language-server/APKBUILD b/testing/jedi-language-server/APKBUILD
index fad511432ce..4a9e8779473 100644
--- a/testing/jedi-language-server/APKBUILD
+++ b/testing/jedi-language-server/APKBUILD
@@ -1,35 +1,46 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=jedi-language-server
-pkgver=0.35.1
+pkgver=0.41.4
pkgrel=0
pkgdesc="Python language server exclusively for Jedi"
url="https://github.com/pappasam/jedi-language-server"
arch="noarch"
license="MIT"
depends="
+ py3-cattrs
py3-docstring-to-markdown
py3-gls
py3-jedi
- py3-pydantic
+ py3-lsprotocol
+ py3-typing-extensions
python3
"
-makedepends="pyproject2setuppy"
-checkdepends="py3-pytest py3-pyhamcrest py3-jsonrpc-server"
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ "
+checkdepends="py3-pytest py3-pyhamcrest py3-jsonrpc-server py3-lsp-jsonrpc"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/pappasam/jedi-language-server/archive/v$pkgver.tar.gz"
build() {
- python3 -m pyproject2setuppy.main build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="." pytest -k "not get_version"
+ 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 pyproject2setuppy.main install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/jedi_language_server-$pkgver-py3-none-any.whl
}
sha512sums="
-b62e8e89993a2e6f5bfab0717c31ff20b4d5285c90ce31b2bd34cbc5ea4e8a699518922305d1b3f6e5648312031eac7db46cb8f3b39c7936f31d479ffb069291 jedi-language-server-0.35.1.tar.gz
+a8fcdd5328255b969a8e533f32f87a977362a18adfcdd2cb5552d00abb943dab778cd4a2da2cfd6af2d8fc3d7aec182d18d8b8871c0a715a94ea55d902e658b8 jedi-language-server-0.41.4.tar.gz
"
diff --git a/testing/jfrog-cli/APKBUILD b/testing/jfrog-cli/APKBUILD
index 29a285aa488..18f8d26ed8b 100644
--- a/testing/jfrog-cli/APKBUILD
+++ b/testing/jfrog-cli/APKBUILD
@@ -1,10 +1,10 @@
# Maintainer: Gennady Feldman <gena01@gmail.com>
pkgname=jfrog-cli
-pkgver=2.11.0
-pkgrel=0
+pkgver=2.45.0
+pkgrel=4
pkgdesc="JFrog cli"
url="https://jfrog.com/getcli/"
-arch="all !mips !mips64" # ftbfs
+arch="all"
license="Apache-2.0"
makedepends="go"
options="!check"
@@ -12,8 +12,12 @@ replaces="jfrog-cli-go"
provides="jfrog-cli-go=$pkgver-r$pkgrel"
source="$pkgname-$pkgver.tar.gz::https://github.com/jfrog/jfrog-cli/archive/v$pkgver.tar.gz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
- go build -o bin/jfrog -ldflags '-w -extldflags "-static"' main.go
+ go build -o bin/jfrog main.go
}
package() {
@@ -21,5 +25,5 @@ package() {
}
sha512sums="
-abf8ac6874ae6ee75d69d68ca66e101387d2db54ebb87ff59fd50dbd4a13555a1f4701517d4e37cb332cffdadde28751bafa1c409ebb3453d774e3c14d28adde jfrog-cli-2.11.0.tar.gz
+4534d986a27b0d16a423bfe601ec5bef1b8d21c20a92d9b2af3d009831c11cbcff954c13f12799986eb98c4e2035c32c5141e185f62bf0c1e633a5548a770585 jfrog-cli-2.45.0.tar.gz
"
diff --git a/testing/jhead/APKBUILD b/testing/jhead/APKBUILD
index 1d64d5345f9..2ea4b41b5b3 100644
--- a/testing/jhead/APKBUILD
+++ b/testing/jhead/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Richard Mortier <mort@cantab.net>
# Maintainer: Richard Mortier <mort@cantab.net>
pkgname=jhead
-pkgver=3.06.0.1
-pkgrel=1
+pkgver=3.08
+pkgrel=0
pkgdesc="Exif Jpeg header manipulation tool"
url="http://www.sentex.net/~mwandel/jhead/"
arch="all"
license="custom"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/Matthias-Wandel/jhead/archive/refs/tags/$pkgver.tar.gz"
-options="!check" # no test suite
+options="!check" # fixme: failing tests
# secfixes:
# 3.06.0.1-r0:
@@ -20,16 +20,17 @@ build() {
make all
}
-package() {
- install -Dm755 jhead "$pkgdir"/usr/bin/jhead
+check() {
+ cd tests
+ ./runtests
+ diff expected-txt results-txt
}
-doc() {
- cd "$builddir"
- gzip -v9 jhead.1
- install -Dm644 jhead.1.gz "$subpkgdir"/usr/share/man/man1/jhead.1.gz
- install -Dm644 readme.txt \
- "$subpkgdir"/usr/share/licenses/$pkgname/readme.txt
+package() {
+ install -Dm755 jhead "$pkgdir"/usr/bin/jhead
+ install -Dm644 jhead.1 -t "$pkgdir"/usr/share/man/man1/
}
-sha512sums="7804f4bab1b07eb08ed981364b3634b1c25e0657d57651871aede640254c33f9d2307ba7c9fb3bc81eb06b71ba5d27437275a3fe53859e9e9457e37e12545db9 jhead-3.06.0.1.tar.gz"
+sha512sums="
+eb50e487eaacf2b489ce5e76f09730c8bb0c50a0e2d7c854ebe8bd204ead8f6256e052c49c72af179dc46dd5372c1eff32ff549b947637b242dc7bbe8c7b20d5 jhead-3.08.tar.gz
+"
diff --git a/testing/jicofo/APKBUILD b/testing/jicofo/APKBUILD
new file mode 100644
index 00000000000..334fb76f6a4
--- /dev/null
+++ b/testing/jicofo/APKBUILD
@@ -0,0 +1,63 @@
+# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
+pkgname=jicofo
+pkgver=1.0.1062
+_tag="jitsi-meet_9220"
+pkgrel=0
+pkgdesc="Jitsi meet conference focus"
+url="https://github.com/jitsi/jicofo"
+arch="x86_64 aarch64 s390x"
+license="Apache-2.0"
+options="!check" # No test suite
+depends="openjdk11-jre-headless prosody bash"
+makedepends="maven"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jitsi/jicofo/archive/refs/tags/stable/$_tag.tar.gz
+ $pkgname.initd
+ $pkgname.conf
+ $pkgname.confd
+ $pkgname.logrotate
+ sip-communicator.properties
+ "
+
+builddir="$srcdir/$pkgname-stable-$_tag"
+
+build() {
+ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
+ export PATH=$JAVA_HOME/bin:$PATH
+ mvn clean
+ mvn -DskipTests -Dassembly.skipAssembly=true -Dmaven.repo.local="$builddir/.m2/repository" clean package install
+ mvn dependency:copy-dependencies -DincludeScope=runtime -Dmaven.repo.local="$builddir/.m2/repository"
+}
+
+package() {
+ DESTDIR="$pkgdir"/usr/lib/$pkgname
+ CONFDIR="$pkgdir"/etc/jitsi/jicofo
+
+ # dependencies, libraries and java launch files
+ #install -Dm644 -t "$DESTDIR"/lib ./*/target/dependency/*
+ install -Dm644 -t "$DESTDIR"/lib jicofo/target/dependency/*
+ install -Dm644 jicofo/target/jicofo*.jar "$DESTDIR"/jicofo.jar
+ install -Dm755 -t "$DESTDIR" resources/jicofo.sh
+ install -Dm755 -t "$DESTDIR" resources/collect-dump-logs.sh
+
+ # configuration
+ install -dm755 "$CONFDIR"
+ install -Dm644 "$srcdir/jicofo.conf" "$CONFDIR/jicofo.conf"
+ install -Dm640 "$srcdir"/sip-communicator.properties "$CONFDIR/sip-communicator.properties"
+ install -Dm644 -t "$CONFDIR" "lib/logging.properties"
+
+ # init scripts and logrotate
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm640 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
+}
+
+sha512sums="
+df61ec1065dfb39c53b329bd2a1ac49232e03a75d91f800d8cad31b1f1e07f962c6b464e9908c8291284f522d3e592af0a9ae0a40f03aed784322e1dcc8ab419 jicofo-1.0.1062.tar.gz
+d8a5a2bdde124d6e8aff7d1d26c68146ef3cc8fac988360486dcd86e3247a7cfcc311ba9a4b8e64c04524511db350ad98ad4bb6e7aa1b19162b0231d2b57d40a jicofo.initd
+2e0f56e6d68edf6250714274cd8f0bcaf150b8c0f2dbdece9e97873e0fcf2e6520800f329f7d9407266cd28414523b873c159e2c32336464633b03d9608b8109 jicofo.conf
+f99851031af2a88590b4970106bc27cf8d5f7555f82e4c34bd33498904b36bff7efa1c85e5f2ca778a6f0e19cbe2fdd8bfc9357920f990c4b7c532c768d05cf7 jicofo.confd
+64f34dafc1062187485671a29fa147d651c050d9b52331c2933c6c3f024654cd02961d40b1d178e70d2cac9107be4f881654be871423c27459ef6669bcd5402c jicofo.logrotate
+4d87dce61ab19920f9b790ddf52aa8057f17ad0657a5a763efeebd5df2bd51758baffd5167355421ccd9e21b4e87fbaac6210f11e4c31d6beb0a890ea3ff2486 sip-communicator.properties
+"
diff --git a/testing/jicofo/jicofo.conf b/testing/jicofo/jicofo.conf
new file mode 100644
index 00000000000..1f9c90c06cf
--- /dev/null
+++ b/testing/jicofo/jicofo.conf
@@ -0,0 +1,10 @@
+# Jicofo HOCON configuration. See /usr/share/jicofo/jicofo.jar/reference.conf for
+#available options, syntax, and default values.
+jicofo {
+ xmpp: {
+ client: {
+ client-proxy: focus.jitsi.example.com
+ }
+ }
+}
+
diff --git a/testing/jicofo/jicofo.confd b/testing/jicofo/jicofo.confd
new file mode 100644
index 00000000000..156d29a9831
--- /dev/null
+++ b/testing/jicofo/jicofo.confd
@@ -0,0 +1,36 @@
+## Jitsi Conference Focus settings
+
+# sets the host name of the XMPP server
+JICOFO_HOST=localhost
+
+# sets the XMPP domain (default: none)
+JICOFO_HOSTNAME=jitsi.example.com
+
+# sets the secret used to authenticate as an XMPP component
+JICOFO_SECRET=SECRET2
+
+# sets the port to use for the XMPP component connection
+JICOFO_PORT=5347
+
+# sets the XMPP domain name to use for XMPP user logins
+JICOFO_AUTH_DOMAIN=auth.jitsi.example.com
+
+# sets the username to use for XMPP user logins
+JICOFO_AUTH_USER=focus
+
+# sets the password to use for XMPP user logins
+JICOFO_AUTH_PASSWORD=SECRET3
+
+# extra options to pass to the jicofo daemon
+JICOFO_OPTS=""
+
+# sets the log directory and service log file
+JICOFO_LOGDIR="/var/log/jitsi"
+JICOFO_LOGFILE="$JICOFO_LOGDIR/jicofo.log"
+
+# adds java system props that are passed to jicofo (default are for home and logging config file)
+JAVA_SYS_PROPS="-Xmx3072m\
+ -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi\
+ -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=jicofo\
+ -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=$JICOFO_LOGDIR\
+ -Djava.util.logging.config.file=/etc/jitsi/jicofo/logging.properties"
diff --git a/testing/jicofo/jicofo.initd b/testing/jicofo/jicofo.initd
new file mode 100644
index 00000000000..8cd28a5d264
--- /dev/null
+++ b/testing/jicofo/jicofo.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+
+description="Jitsi Conference Focus"
+
+pidfile="/var/run/jicofo/jicofo.pid"
+# launcher script below will work on OpenRC also
+command="/usr/share/jicofo/jicofo.sh"
+command_args=" --host=$JICOFO_HOST --domain=$JICOFO_HOSTNAME --port=$JICOFO_PORT --user_name=$JICOFO_AUTH_USER --user_domain=$JICOFO_AUTH_DOMAIN ${JICOFO_OPTS}"
+command_user="jicofo:jitsi"
+command_background=true
+
+depend() {
+ need net
+ want jabber-server
+}
+
+start_pre() {
+ checkpath -d -o $command_user -m 770 /var/run/jicofo
+}
+
+start() {
+ ebegin "Starting ${name}"
+ export JICOFO_SECRET JICOFO_AUTH_PASSWORD JICOFO_MAX_MEMORY
+ start-stop-daemon --start --quiet --background --chuid $command_user \
+ -m --pidfile $pidfile \
+ --exec /bin/bash -- -c "JAVA_SYS_PROPS=\"$JAVA_SYS_PROPS\" exec $command $command_args >> $JICOFO_LOGFILE 2>&1"
+ eend $?
+}
diff --git a/testing/jicofo/jicofo.logrotate b/testing/jicofo/jicofo.logrotate
new file mode 100644
index 00000000000..991c6bd15da
--- /dev/null
+++ b/testing/jicofo/jicofo.logrotate
@@ -0,0 +1,10 @@
+/var/log/jitsi/jicofo.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ delaycompress
+ notifempty
+ copytruncate
+ su jicofo jitsi
+}
diff --git a/testing/jicofo/jicofo.pre-install b/testing/jicofo/jicofo.pre-install
new file mode 100644
index 00000000000..974e67a526f
--- /dev/null
+++ b/testing/jicofo/jicofo.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S jitsi 2>/dev/null
+adduser -S -D -H -h /usr/share/jicofo -s /sbin/nologin -G jitsi -g jicofo jicofo 2>/dev/null
+
+exit 0
diff --git a/testing/jicofo/sip-communicator.properties b/testing/jicofo/sip-communicator.properties
new file mode 100644
index 00000000000..2bcf31fb82e
--- /dev/null
+++ b/testing/jicofo/sip-communicator.properties
@@ -0,0 +1 @@
+org.jitsi.jicofo.BRIDGE_MUC=JvbBrewery@internal.auth.jitsi.example.org
diff --git a/testing/jigasi/APKBUILD b/testing/jigasi/APKBUILD
new file mode 100644
index 00000000000..1daa975ad3a
--- /dev/null
+++ b/testing/jigasi/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
+pkgname=jigasi
+pkgver=20240325
+pkgrel=0
+_gitrev=04ad08f0ab9cd079c62f47f9cecc7367ce3f4ba4
+pkgdesc="Jitsi meet SIP gateway"
+url="https://github.com/jitsi/jigasi"
+arch="x86_64"
+license="Apache-2.0"
+depends="openjdk11-jre-headless jicofo jitsi-videobridge jitsi-meet"
+makedepends="maven"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jitsi/jigasi/archive/$_gitrev.tar.gz
+ $pkgname.initd
+ $pkgname.confd
+ $pkgname.logrotate
+ "
+builddir="$srcdir/jigasi-$_gitrev"
+options="!check" # No test suite
+
+build() {
+ mvn clean
+ mvn package -DskipTests -Dassembly.skipAssembly=true -Dmaven.repo.local="$builddir/.m2/repository"
+ mvn dependency:copy-dependencies -DincludeScope=runtime -Dmaven.repo.local="$builddir/.m2/repository"
+}
+
+package() {
+ DESTDIR="$pkgdir/usr/lib/$pkgname"
+ CONFDIR="$pkgdir/etc/jitsi/jigasi"
+
+ # dependencies, libraries and java launch files
+ install -Dm644 -t "$DESTDIR/lib" target/dependency/*
+ install -Dm644 target/jigasi-*-SNAPSHOT.jar "$DESTDIR/jigasi.jar"
+ install -Dm755 -t "$DESTDIR" "jigasi.sh"
+ install -Dm755 -t "$DESTDIR" "script/graceful_shutdown.sh"
+ install -Dm755 -t "$DESTDIR" "script/collect-dump-logs.sh"
+
+
+ # configuration
+ install -dm700 "$CONFDIR"
+ install -Dm640 -t "$CONFDIR" "lib/logging.properties" "jigasi-home/sip-communicator.properties"
+
+ # init scripts and logrotate
+ install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
+}
+
+sha512sums="
+4c5d15f9545d8fb345a9b8a09a369886b4b62a6785e9b4ddd8c0e99c23dd00abd567113ed6ed6145c46e0f0e32c200cd577bdb880be673ddb2f914624fea84a2 jigasi-20240325.tar.gz
+4785f72bc3c60488df409c292f1daffc583169138cf477253cbc80226da4d5b185a044d8d7d2b5bbe39290b852bf27e4443fa1a0eda55e9a385fcf7a53215748 jigasi.initd
+2fc7bdcabbdf46c01c7edb02f22d76e972f9fa060999f8f120759cb78f64475d8d36ef7b07875cbcb2309f8d0220e5cdd86ab0a3ed1c050a50f8026ccea23009 jigasi.confd
+9a3c97e983d1fc67bac3066a7f13cf043bd48e0448044c32ef8c6025f59d7df476ca22ffe305054d7d17c60a366eaa16ca653e1877a373eb1f896a863dd5e343 jigasi.logrotate
+"
diff --git a/testing/jigasi/jigasi.confd b/testing/jigasi/jigasi.confd
new file mode 100644
index 00000000000..090fc57e353
--- /dev/null
+++ b/testing/jigasi/jigasi.confd
@@ -0,0 +1,27 @@
+## Jigasi settings
+
+# SIP account
+JIGASI_SIPUSER=xxx
+
+# SIP password. Store it with $(echo -n $PWD | base64 -)
+JIGASI_SIPPWD=PASSWORD1
+
+# 8-chars random secret, alternative to pwgen 8
+# head -c 8 /dev/urandom | tr '\0-\377' 'a-zA-Z0-9a-zA-Z0-9a-zA-Z0-9a-zA-Z0-9@@@@####'
+JIGASI_SECRET=SECRET4
+
+# Domain name. Use the XMPP domain (JVB_HOSTNAME) here
+JIGASI_HOSTNAME=jitsi.example.com
+
+# Host name (default: localhost)
+JIGASI_HOST=localhost
+
+# Extra options to pass to the jigasi daemon
+JIGASI_OPTS=""
+
+# sets the log directory and service log file
+JIGASI_LOGDIR="/var/log/jitsi"
+JIGASI_LOGFILE="$JIGASI_LOGDIR/jigasi.log"
+
+# Add java system props that are passed to jigasi
+JAVA_SYS_PROPS="-Djava.util.logging.config.file=/etc/jitsi/jigasi/logging.properties"
diff --git a/testing/jigasi/jigasi.initd b/testing/jigasi/jigasi.initd
new file mode 100644
index 00000000000..394fbab8fa9
--- /dev/null
+++ b/testing/jigasi/jigasi.initd
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+
+description="Jitsi Gateway for SIP"
+
+pidfile="/var/run/jigasi/jigasi.pid"
+# launcher script below will work on OpenRC also
+command="/usr/share/jigasi/jigasi.sh"
+command_args=" --host=$JIGASI_HOST --domain=$JIGASI_HOSTNAME --subdomain=callcontrol --secret=$JIGASI_SECRET --logdir=$JIGASI_LOGDIR --configdir=/etc/jitsi --configdirname=jigasi $JIGASI_OPTS"
+command_user="jigasi:jitsi"
+command_background=true
+
+depend() {
+ need net
+ want jabber-server
+}
+
+start_pre() {
+ mkdir -m 770 -p /var/run/jigasi
+ chown "${command_user}" /var/run/jigasi
+ return 0
+}
+
+start() {
+ ebegin "Starting ${name}"
+ start-stop-daemon --start --quiet --background --chuid $command_user \
+ -m --pidfile $pidfile \
+ --exec /bin/bash -- -c "JAVA_SYS_PROPS=\"$JAVA_SYS_PROPS\" exec $command $command_args >> $JIGASI_LOGFILE 2>&1"
+ eend $?
+}
diff --git a/testing/jigasi/jigasi.logrotate b/testing/jigasi/jigasi.logrotate
new file mode 100644
index 00000000000..b9b48d0af13
--- /dev/null
+++ b/testing/jigasi/jigasi.logrotate
@@ -0,0 +1,10 @@
+/var/log/jitsi/jigasi.log {
+ daily
+ missingok
+ rotate 7
+ compress
+ delaycompress
+ notifempty
+ copytruncate
+ su jigasi jitsi
+}
diff --git a/testing/jigasi/jigasi.pre-install b/testing/jigasi/jigasi.pre-install
new file mode 100644
index 00000000000..cd74c1dce0d
--- /dev/null
+++ b/testing/jigasi/jigasi.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S jitsi 2>/dev/null
+adduser -S -D -H -h /usr/share/jigasi -s /sbin/nologin -G jitsi -g jigasi jigasi 2>/dev/null
+
+exit 0
diff --git a/testing/jigasi/sip-communicator.properties b/testing/jigasi/sip-communicator.properties
new file mode 100644
index 00000000000..f8c8be96965
--- /dev/null
+++ b/testing/jigasi/sip-communicator.properties
@@ -0,0 +1,160 @@
+#Sample config with one XMPP and one SIP account configured
+# Replace {sip-pass-hash} with SIP user password hash
+# as well as other account properties
+
+# Name of default JVB room that will be joined if no special header is included
+# in SIP invite
+org.jitsi.jigasi.DEFAULT_JVB_ROOM_NAME=siptest
+
+net.java.sip.communicator.impl.protocol.SingleCallInProgressPolicy.enabled=false
+
+# Should be enabled when using translator mode
+#net.java.sip.communicator.impl.neomedia.audioSystem.audiosilence.captureDevice_list=["AudioSilenceCaptureDevice:noTransferData"]
+
+# Adjust opus encoder complexity
+net.java.sip.communicator.impl.neomedia.codec.audio.opus.encoder.COMPLEXITY=10
+
+# Disables packet logging
+net.java.sip.communicator.packetlogging.PACKET_LOGGING_ENABLED=true
+
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647=acc1403273890647
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.ACCOUNT_UID=SIP\:<<JIGASI_SIPUSER>>
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PASSWORD=<<JIGASI_SIPPWD>>
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PROTOCOL_NAME=SIP
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.SERVER_ADDRESS=<<JIGASI_SIPSERVER>>
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.USER_ID=<<JIGASI_SIPUSER>>
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.KEEP_ALIVE_INTERVAL=25
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.KEEP_ALIVE_METHOD=OPTIONS
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.VOICEMAIL_ENABLED=false
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.AMR-WB/16000=750
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.G722/8000=700
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.GSM/8000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.H263-1998/90000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.H264/90000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.PCMA/8000=600
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.PCMU/8000=650
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.SILK/12000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.SILK/16000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.SILK/24000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.SILK/8000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.VP8/90000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.iLBC/8000=10
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.opus/48000=1000
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.red/90000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.speex/16000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.speex/32000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.speex/8000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.telephone-event/8000=1
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.Encodings.ulpfec/90000=0
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.OVERRIDE_ENCODINGS=true
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.DEFAULT_ENCRYPTION=false
+
+# If an authenticated (hidden) domain is used to connect to a conference,
+# PREVENT_AUTH_LOGIN will prevent the SIP participant from being seen as a
+# hidden participant in the conference
+#net.java.sip.communicator.impl.protocol.sip.acc1403273890647.PREVENT_AUTH_LOGIN=FALSE
+
+# Used when incoming calls are used in multidomain environment, used to detect subdomains
+# used for constructing callResource and eventually contacting jicofo
+net.java.sip.communicator.impl.protocol.sip.acc1403273890647.DOMAIN_BASE=<<DOMAIN_BASE>>
+
+# the pattern to be used as bosh url when using bosh in multidomain environment
+#net.java.sip.communicator.impl.protocol.sip.acc1403273890647.BOSH_URL_PATTERN=https://{host}{subdomain}/http-bind?room={roomName}
+
+# can be enabled to disable audio mixing and use translator, jigasi will act as jvb, just forward every ssrc stream it receives.
+#net.java.sip.communicator.impl.protocol.sip.acc1403273890647.USE_TRANSLATOR_IN_CONFERENCE=true
+
+# We can use the prefix org.jitsi.jigasi.xmpp.acc to override any of the
+# properties that will be used for creating xmpp account for communication.
+
+# The following two props assume we are using jigasi on the same machine as
+# the xmpp server.
+org.jitsi.jigasi.xmpp.acc.IS_SERVER_OVERRIDDEN=true
+org.jitsi.jigasi.xmpp.acc.SERVER_ADDRESS=127.0.0.1
+org.jitsi.jigasi.xmpp.acc.VIDEO_CALLING_DISABLED=true
+org.jitsi.jigasi.xmpp.acc.JINGLE_NODES_ENABLED=false
+org.jitsi.jigasi.xmpp.acc.IM_DISABLED=true
+org.jitsi.jigasi.xmpp.acc.SERVER_STORED_INFO_DISABLED=true
+org.jitsi.jigasi.xmpp.acc.IS_FILE_TRANSFER_DISABLED=true
+# Or you can use bosh for the connection establishment by specifing the URL to use.
+# org.jitsi.jigasi.xmpp.acc.BOSH_URL_PATTERN=https://server.com/http-bind?room={roomName}
+
+#Used when outgoing calls are used in multidomain environment, used to detect subdomains
+#org.jitsi.jigasi.xmpp.acc.DOMAIN_BASE=<<DOMAIN_BASE>>
+#org.jitsi.jigasi.xmpp.acc.BOSH_URL_PATTERN=https://{host}{subdomain}/http-bind?room={roomName}
+
+# can be enabled to disable audio mixing and use translator, jigasi will act as jvb, just forward every ssrc stream it receives.
+#org.jitsi.jigasi.xmpp.acc.USE_TRANSLATOR_IN_CONFERENCE=true
+
+# If you want jigasi to perform authenticated login instead of anonymous login
+# to the XMPP server, you can set the following properties.
+# org.jitsi.jigasi.xmpp.acc.USER_ID=SOME_USER@SOME_DOMAIN
+# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
+# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false
+
+# If you want to use the SIP user part of the incoming/outgoing call SIP URI
+# you can set the following property to true.
+# org.jitsi.jigasi.USE_SIP_USER_AS_XMPP_RESOURCE=true
+
+# Activate this property if you are using self-signed certificates or other
+# type of non-trusted certicates. In this mode your service trust in the
+# remote certificates always.
+# net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true
+
+# Enable this property to be able to shutdown gracefully jigasi using
+# a rest command
+# org.jitsi.jigasi.ENABLE_REST_SHUTDOWN=true
+
+# Options regarding Transcription. Read the README for a detailed description
+# about each property
+
+#org.jitsi.jigasi.ENABLE_TRANSCRIPTION=false
+#org.jitsi.jigasi.ENABLE_SIP=true
+
+# whether to use the more expensive, but better performing
+# "video" model when doing transcription
+# org.jitsi.jigasi.transcription.USE_VIDEO_MODEL = false
+
+# delivering final transcript
+# org.jitsi.jigasi.transcription.DIRECTORY=/var/lib/jigasi/transcripts
+# org.jitsi.jigasi.transcription.BASE_URL=http://localhost/
+# org.jitsi.jigasi.transcription.jetty.port=-1
+# org.jitsi.jigasi.transcription.ADVERTISE_URL=false
+
+# save formats
+# org.jitsi.jigasi.transcription.SAVE_JSON=false
+# org.jitsi.jigasi.transcription.SAVE_TXT=true
+
+# send formats
+# org.jitsi.jigasi.transcription.SEND_JSON=true
+# org.jitsi.jigasi.transcription.SEND_TXT=false
+
+# translation
+# org.jitsi.jigasi.transcription.ENABLE_TRANSLATION=false
+
+# record audio. Currently only wav format is supported
+# org.jitsi.jigasi.transcription.RECORD_AUDIO=false
+# org.jitsi.jigasi.transcription.RECORD_AUDIO_FORMAT=wav
+
+# execute one or more scripts when a transcript or recording is saved
+# org.jitsi.jigasi.transcription.EXECUTE_SCRIPTS=true
+# org.jitsi.jigasi.transcription.SCRIPTS_TO_EXECUTE_LIST_SEPARATOR=","
+# org.jitsi.jigasi.transcription.SCRIPTS_TO_EXECUTE_LIST=script/example_handle_transcript_directory.sh
+
+# properties for optionally sending statistics to a DataDog server
+#org.jitsi.ddclient.prefix=jitsi.jigasi
+#org.jitsi.ddclient.host=localhost
+#org.jitsi.ddclient.port=8125
+
+# sip health checking
+# Enables sip health checking by specifying a number/uri to call
+# the target just needs to auto-connect the call play some audio,
+# the call must be established for less than 10 seconds
+# org.jitsi.jigasi.HEALTH_CHECK_SIP_URI=healthcheck
+#
+# The interval between healthcheck calls, by default is 5 minutes
+# org.jitsi.jigasi.HEALTH_CHECK_INTERVAL=300000
+#
+# The timeout of healthcheck, if there was no successful health check for
+# 10 minutes (default value) we consider jigasi unhealthy
+# org.jitsi.jigasi.HEALTH_CHECK_TIMEOUT=600000
diff --git a/testing/jinja2-cli/APKBUILD b/testing/jinja2-cli/APKBUILD
deleted file mode 100644
index f2f61db86e7..00000000000
--- a/testing/jinja2-cli/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributor: Kaarle Ritvanen <kunkku@alpinelinux.org>
-# Maintainer:
-pkgname=jinja2-cli
-pkgver=0.7.0
-pkgrel=4
-pkgdesc="CLI for Jinja2"
-options="!check" # No testsuite in pypi tarball
-url=https://github.com/mattrobenolt/jinja2-cli
-arch=noarch
-license="BSD-2-Clause"
-depends="python3 py3-jinja2"
-makedepends="py3-setuptools"
-source=https://files.pythonhosted.org/packages/source/j/jinja2-cli/jinja2-cli-$pkgver.tar.gz
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --root "$pkgdir"
-}
-
-sha512sums="b1697560936c3cca9298ca6695087b0aca2177d42e5026cae5651a443df17eef45c4002c70e9a3be3a899ed47e2f451cc2d0b6978b1b30b808b863bba0d2d604 jinja2-cli-0.7.0.tar.gz"
diff --git a/testing/jitsi-meet/APKBUILD b/testing/jitsi-meet/APKBUILD
new file mode 100644
index 00000000000..49914fe2e72
--- /dev/null
+++ b/testing/jitsi-meet/APKBUILD
@@ -0,0 +1,86 @@
+# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
+pkgname=jitsi-meet
+pkgver=1.0.7762
+_tag="jitsi-meet_9220"
+pkgrel=1
+pkgdesc="WebRTC JavaScript video conferences"
+url="https://github.com/jitsi/jitsi-meet"
+arch="x86_64 aarch64 s390x"
+license="Apache-2.0"
+depends="jicofo jitsi-videobridge nginx"
+_depends_prosody="$pkgname prosody"
+makedepends="npm"
+subpackages="$pkgname-doc $pkgname-prosody"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jitsi/jitsi-meet/archive/stable/$_tag.tar.gz
+ openssl3.patch
+ "
+
+builddir="$srcdir/$pkgname-stable-$_tag"
+options="!check" # No test suite
+
+build() {
+ npm ci
+ make
+ make source-package
+}
+
+package() {
+ DESTDIR="$pkgdir"/usr/share/$pkgname
+ CONFDIR="$pkgdir"/etc/jitsi/meet
+
+ install -d "$DESTDIR"
+ install -d "$CONFDIR"
+
+ tar xjf "$pkgname.tar.bz2" -C "$DESTDIR" --strip 1
+ install -Dm644 -t "$DESTDIR" manifest.json
+
+ # Hack https://github.com/jitsi/jitsi-meet/pull/6925
+ for l in $(node -p "Object.keys(require('./lang/languages.json')).join(' ')"); do
+ c=${l:0:2}
+ if [ -f "node_modules/i18n-iso-countries/langs/$c.json" ]; then
+ install -m644 "node_modules/i18n-iso-countries/langs/$c.json" "$DESTDIR/lang/countries-$l.json"
+ fi
+ done
+
+ # get rid of all local references
+ find "$DESTDIR" -type f -name "*.js" -exec sed -i "s#$builddir##g" "{}" \+
+
+ # Non-deterministic race in npm gives 777 permissions to random directories.
+ # See https://github.com/npm/npm/issues/9359 for details.
+ chmod -R 755 "$DESTDIR"
+
+ # configuration files
+ for i in interface_config.js config.js; do
+ install -Dm644 "$DESTDIR/$i" "$CONFDIR/$i"
+ ln -sf "/etc/jitsi/meet/$i" "$DESTDIR/$i"
+ done
+
+ # general documentation
+ install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" doc/debian/jitsi-meet/jitsi-meet.example doc/debian/jitsi-meet/jitsi-meet.example-apache config.js
+ sed -i "s@/usr/share/$pkgname@/usr/share/webapps/$pkgname@" "$pkgdir/usr/share/doc/$pkgname/"*
+ sed -i "s@/etc/jitsi/meet@/etc/webapps/$pkgname@" "$pkgdir/usr/share/doc/$pkgname/"*
+
+ # npm gives ownership of ALL FILES to build user
+ # https://bugs.archlinux.org/task/63396
+ chown -R root:root "$pkgdir"
+}
+
+prosody() {
+ pkgdesc="Jitsi Meet Prosody Plugins"
+ depends="$_depends_prosody"
+
+ cd "$builddir"
+ DESTDIR="$subpkgdir/usr/share/$pkgname"
+ install -d "$DESTDIR"
+ cp -r resources/prosody-plugins "$DESTDIR"
+
+ # prosody documentation
+ install -Dm644 -t "$pkgdir-doc/usr/share/doc/$pkgname" doc/debian/jitsi-meet-prosody/prosody.cfg.lua-jvb.example doc/debian/jitsi-meet-prosody/jaas.cfg.lua
+ sed -i 's@/usr/share/jitsi-meet/prosody-plugins/@/usr/lib/'$pkgname'@' "$pkgdir-doc/usr/share/doc/$pkgname/prosody.cfg.lua-jvb.example"
+
+}
+
+sha512sums="
+3e4a577fcd2c0b9f1bb1d875780ac185cb5c8946cf9dc35f6c89f039284a577b793ddf3b611dc19cfa4edd0c1602351e6e102e4e7bfdc8cc02ccdce9f4095d1e jitsi-meet-1.0.7762.tar.gz
+f752d2eafd7f4e3a331c92b8ad25e6c150d608303fe74f32950a8deb55784853bd7225923d71ab55778b828955e150058e725d85995e4e6f776855015e4e16a9 openssl3.patch
+"
diff --git a/testing/jitsi-meet/openssl3.patch b/testing/jitsi-meet/openssl3.patch
new file mode 100644
index 00000000000..7806252ca07
--- /dev/null
+++ b/testing/jitsi-meet/openssl3.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index 040f8c9..bcbf826 100644
+--- a/Makefile
++++ b/Makefile
+@@ -27,7 +27,7 @@ endif
+ all: compile deploy clean
+
+ compile:
+- NODE_OPTIONS=--max-old-space-size=8192 \
++ NODE_OPTIONS="--max-old-space-size=8192 --openssl-legacy-provider" \
+ $(WEBPACK)
+
+ clean:
diff --git a/testing/jitsi-videobridge/APKBUILD b/testing/jitsi-videobridge/APKBUILD
new file mode 100644
index 00000000000..99a8869de8a
--- /dev/null
+++ b/testing/jitsi-videobridge/APKBUILD
@@ -0,0 +1,67 @@
+# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
+pkgname=jitsi-videobridge
+pkgver=2.3.67
+_tag="jitsi-meet_9220"
+pkgrel=0
+pkgdesc="Videobridge for Jitsi Meet"
+url="https://github.com/jitsi/jitsi-videobridge"
+arch="x86_64 aarch64 ppc64le s390x"
+license="Apache-2.0"
+options="!check" # No test suite
+depends="openjdk11-jre-headless prosody bash"
+makedepends="maven"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jitsi/jitsi-videobridge/archive/stable/$_tag.tar.gz
+ $pkgname.initd
+ $pkgname.confd
+ $pkgname.logrotate
+ jvb.conf
+ sip-communicator.properties
+ "
+
+builddir="$srcdir/$pkgname-stable-$_tag"
+
+build() {
+ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
+ export PATH=$JAVA_HOME/bin:$PATH
+
+ mvn clean
+ mvn package -DskipTests -Dassembly.skipAssembly=true -Dmaven.repo.local="$builddir/.m2/repository" install
+ mvn dependency:copy-dependencies -DincludeScope=runtime -Dmaven.repo.local="$builddir/.m2/repository"
+}
+
+package() {
+ DESTDIR="$pkgdir"/usr/lib/$pkgname
+ CONFDIR="$pkgdir"/etc/jitsi/videobridge
+
+ install -Dm644 -t "$DESTDIR/lib" \
+ jvb/target/dependency/* \
+ jvb/lib/videobridge.rc
+
+ install -Dm644 jvb/target/$pkgname*.jar "$DESTDIR/$pkgname.jar"
+ install -Dm755 -t "$DESTDIR" "jvb/resources/jvb.sh"
+ install -Dm755 -t "$DESTDIR" "resources/graceful_shutdown.sh"
+ install -Dm755 -t "$DESTDIR" "resources/collect-dump-logs.sh"
+
+ # configuration
+ install -dm755 "$CONFDIR"
+ install -Dm644 "$srcdir"/jvb.conf "$CONFDIR/jvb.conf"
+ install -Dm640 "$srcdir"/sip-communicator.properties "$CONFDIR/sip-communicator.properties"
+ install -Dm644 -t "$CONFDIR" "jvb/lib/logging.properties"
+ install -Dm644 "config/20-jvb-udp-buffers.conf" "$pkgdir/etc/sysctl.d/$pkgname.conf"
+
+ # init scripts and logrotate
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm640 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
+}
+
+sha512sums="
+f1840ae8fbcbbe2a4590fdf3213b512bbd24e143589a6c7364fae7493f1c60c3e7edaceaa04c2c7bf53a99454f05acb3f2eee4811643298b6ba82319459c1d7c jitsi-videobridge-2.3.67.tar.gz
+f10f9291187c6c44838312f73a5f5ff4cedb8970a338373ba37b7e141d018413bf176d8fd3f15cb891516238182498ac3c8bc7587880831994e17f1289a3b755 jitsi-videobridge.initd
+c63cd36d1710a81df255ffc9ab62e413546f37c0d244327b03381bb32381242d881a35dc7384af093976dff645e415acd0e1d82769e54c01f5a2c35dc6ef469a jitsi-videobridge.confd
+86806b7fd222d5a3d0fc50daf8f2f0f2ef757011f44c8ce7ddd8836455393a7ac3e6f6d73bb6a929b796c3e877e1220c8bc2a3fe8178ed70cdede16d13ddce85 jitsi-videobridge.logrotate
+ec1c50d94f13faea50c38d7dedf200111df5ed937821f9b427cc30c5f29b8579b5f78400a1934caca0a123a201fe0822f963cea28fb16e92fde858eac5255034 jvb.conf
+ad3bea4485f4c3d74194ab77f40086e6086eb294b68c96732e7a42059981afe33585f5152da7ac9dd81bf4a2a604d15a8d5c0cd54641afb04e58c812de31e996 sip-communicator.properties
+"
diff --git a/testing/jitsi-videobridge/jitsi-videobridge.confd b/testing/jitsi-videobridge/jitsi-videobridge.confd
new file mode 100644
index 00000000000..f9a6dd356ea
--- /dev/null
+++ b/testing/jitsi-videobridge/jitsi-videobridge.confd
@@ -0,0 +1,34 @@
+## Jitsi Videobridge settings
+
+# sets the XMPP domain (default: none)
+JVB_HOSTNAME=jitsi.example.com
+
+# sets the hostname of the XMPP server (default: domain if set, localhost otherwise)
+JVB_HOST=localhost
+
+# sets the port of the XMPP server (default: 5275)
+JVB_PORT=5347
+
+# sets the shared secret used to authenticate to the XMPP server
+JVB_SECRET=SECRET1
+
+# extra options to pass to the JVB daemon
+# --apis defaults to xmpp, which breaks the current jvb2 as of 2020-05-02
+JVB_OPTS="--apis=xmpp,"
+
+# sets the log directory and service log file
+JVB_LOGDIR="/var/log/jitsi"
+JVB_LOGFILE="$JVB_LOGDIR/jvb.log"
+
+# adds java system props that are passed to jvb (default are for home and logging config file)
+JAVA_SYS_PROPS="\
+ -Dnet.java.sip.communicator.SC_HOME_DIR_LOCATION=/etc/jitsi\
+ -Dnet.java.sip.communicator.SC_HOME_DIR_NAME=videobridge\
+ -Dnet.java.sip.communicator.SC_LOG_DIR_LOCATION=$JVB_LOGDIR\
+ -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties\
+ -Dconfig.file=/etc/jitsi/videobridge/jvb.conf"
+
+# application config (not ready yet)
+# https://github.com/jitsi/jitsi-videobridge/issues/1229
+#JAVA_SYS_PROPS="-Dconfig.file=/etc/jitsi/videobridge/application.conf -Djava.util.logging.config.file=/etc/jitsi/videobridge/logging.properties"
+
diff --git a/testing/jitsi-videobridge/jitsi-videobridge.initd b/testing/jitsi-videobridge/jitsi-videobridge.initd
new file mode 100644
index 00000000000..369d2721ac0
--- /dev/null
+++ b/testing/jitsi-videobridge/jitsi-videobridge.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+
+description="Jitsi Videobridge"
+
+pidfile="/run/jvb/jvb.pid"
+# launcher script below will work on OpenRC also
+command="/usr/lib/jitsi-videobridge/jvb.sh"
+command_args="${JVB_OPTS}"
+command_user="jvb:jitsi"
+command_background=true
+
+depend() {
+ need net
+ want jabber-server
+}
+
+start_pre() {
+ checkpath -d -m 770 -o $command_user /run/jvb
+}
+
+start() {
+ ebegin "Starting ${name}"
+ start-stop-daemon --start --quiet --background --chuid $command_user \
+ -m --pidfile $pidfile \
+ --exec /bin/bash -- -c "JAVA_SYS_PROPS=\"$JAVA_SYS_PROPS\" exec $command $command_args >> $JVB_LOGFILE 2>&1"
+ eend $?
+}
+
diff --git a/testing/jitsi-videobridge/jitsi-videobridge.logrotate b/testing/jitsi-videobridge/jitsi-videobridge.logrotate
new file mode 100644
index 00000000000..190e54f9a9c
--- /dev/null
+++ b/testing/jitsi-videobridge/jitsi-videobridge.logrotate
@@ -0,0 +1,12 @@
+/var/log/jitsi/jvb.log {
+ hourly
+ size 100M
+ missingok
+ rotate 24
+ compress
+ delaycompress
+ notifempty
+ copytruncate
+ su jvb jitsi
+}
+
diff --git a/testing/jitsi-videobridge/jitsi-videobridge.pre-install b/testing/jitsi-videobridge/jitsi-videobridge.pre-install
new file mode 100644
index 00000000000..4f90bd8e2cb
--- /dev/null
+++ b/testing/jitsi-videobridge/jitsi-videobridge.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S jitsi 2>/dev/null
+adduser -S -D -H -h /usr/lib/jitsi-videobridge -s /sbin/nologin -G jitsi -g jvb jvb 2>/dev/null
+
+exit 0
diff --git a/testing/jitsi-videobridge/jvb.conf b/testing/jitsi-videobridge/jvb.conf
new file mode 100644
index 00000000000..6e6b342f697
--- /dev/null
+++ b/testing/jitsi-videobridge/jvb.conf
@@ -0,0 +1,13 @@
+videobridge {
+ http-servers {
+ public {
+ port = 9090
+ }
+ }
+ websockets {
+ enabled = true
+ domain = "jitsi.example.com:443"
+ tls = true
+ }
+}
+
diff --git a/testing/jitsi-videobridge/sip-communicator.properties b/testing/jitsi-videobridge/sip-communicator.properties
new file mode 100644
index 00000000000..949dcbe95f9
--- /dev/null
+++ b/testing/jitsi-videobridge/sip-communicator.properties
@@ -0,0 +1,20 @@
+org.ice4j.ice.harvest.DISABLE_AWS_HARVESTER=true
+org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES=meet-jit-si-turnrelay.jitsi.net:443
+
+# Enable broadcasting stats/presence in a MUC
+org.jitsi.videobridge.ENABLE_STATISTICS=true
+org.jitsi.videobridge.STATISTICS_TRANSPORT=muc
+
+# Uncomment and configure to enable XMPP client
+org.jitsi.videobridge.xmpp.user.shard.HOSTNAME=localhost
+org.jitsi.videobridge.xmpp.user.shard.DOMAIN=auth.jitsi.example.com
+org.jitsi.videobridge.xmpp.user.shard.USERNAME=jvb
+org.jitsi.videobridge.xmpp.user.shard.PASSWORD=JVB_SECRET
+org.jitsi.videobridge.xmpp.user.shard.MUC_JIDS=JvbBrewery@internal.auth.jitsi.example.com
+org.jitsi.videobridge.xmpp.user.shard.MUC_NICKNAME=SOME_RANDOM_UUID
+#org.jitsi.videobridge.xmpp.user.shard.DISABLE_CERTIFICATE_VERIFICATION=true
+
+# If you're behind a nat, define local and public IPv4
+#org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=LOCAL_IPV4_GOES_HERE
+#org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=PUBLIC_IPV4_GOES_HERE
+
diff --git a/testing/jreleaser/APKBUILD b/testing/jreleaser/APKBUILD
new file mode 100644
index 00000000000..a026fa086aa
--- /dev/null
+++ b/testing/jreleaser/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Andres Almiray <aalmiray@yahoo.com>
+# Maintainer: Andres Almiray <aalmiray@yahoo.com>
+pkgname=jreleaser
+pkgver=1.11.0
+pkgrel=0
+pkgdesc="Release projects quickly and easily with JReleaser"
+url="https://jreleaser.org/"
+# aarch64: openjdk currently segfaults
+# ppc64le: openjdk hangs
+# riscv64, 32-bit: no jdk11
+arch="all !aarch64 !ppc64le !armv7 !armhf !x86 !riscv64"
+license="Apache-2.0"
+depends="openjdk11-jdk"
+makedepends="gradle"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jreleaser/jreleaser/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" #Check occurs in build
+
+prepare() {
+ default_prepare
+
+ # generate a copy of the wrapper with the chosen version
+ mkdir "$srcdir"/temp
+ cd "$srcdir"/temp
+ echo "rootProject.name = 'wrapper-project'" > settings.gradle
+ # this will fetch an older version of gradle
+ gradle --no-daemon wrapper --gradle-version 8.6
+
+ cd "$builddir"
+
+ # copy wrapper files into source distribution
+ cp -r "$srcdir"/temp/gradlew* "$builddir"
+ cp -r "$srcdir"/temp/gradle/* "$builddir"/gradle/
+}
+
+build() {
+ # build requires Java 11
+ export JAVA_HOME="/usr/lib/jvm/java-11-openjdk"
+ ./gradlew --no-daemon -PreproducibleBuild=true -x :jreleaser:setupJdks :jreleaser:distZip
+}
+
+package() {
+ unzip -qo plugins/jreleaser/build/distributions/jreleaser-$pkgver.zip
+
+ local apphome="/usr/share/java/jreleaser"
+ local destdir="$pkgdir/$apphome"
+
+ rm "jreleaser-$pkgver"/bin/*.bat
+ install -Dm755 "jreleaser-$pkgver"/bin/* -t "$destdir"/bin
+
+ mkdir -p "$pkgdir"/usr/bin
+ ln -sf ../share/java/jreleaser/bin/jreleaser "$pkgdir"/usr/bin/jreleaser
+
+ install -Dm644 "jreleaser-$pkgver"/lib/*.jar -t "$destdir"/lib
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+b3b777b51cbcc103d2fa57ab5807f1ad198415f8582415c8565516c0f70de2df6ba7d7814105f2a570cf713c13ceef4bab1a6bf5bbc6677385a747c4cac21c82 jreleaser-1.11.0.tar.gz
+"
+
diff --git a/testing/jrsonnet-cli/APKBUILD b/testing/jrsonnet-cli/APKBUILD
new file mode 100644
index 00000000000..0c7585374c9
--- /dev/null
+++ b/testing/jrsonnet-cli/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=jrsonnet-cli
+pkgver=0.4.2
+pkgrel=1
+pkgdesc="Rust implementation of Jsonnet language"
+url="https://github.com/CertainLach/jrsonnet"
+# riscv64: libc crate
+arch="all !riscv64"
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="https://github.com/CertainLach/jrsonnet/archive/refs/tags/v$pkgver/jrsonnet-v$pkgver.tar.gz"
+builddir="$srcdir/jrsonnet-$pkgver"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --offline --release -p jrsonnet
+}
+
+check() {
+ cargo test --frozen --offline
+}
+
+package() {
+ install -Dm755 target/release/jrsonnet "$pkgdir"/usr/bin/jrsonnet
+}
+
+sha512sums="
+884feaba07e95d993bd47ecee06b0a3acfd47febf411558430e8dca8e418bade47d85f9a552e34c5e4f8b3f4e44596eb616cf1928cc33fde98f7440e025edd1e jrsonnet-v0.4.2.tar.gz
+"
diff --git a/testing/jshon/APKBUILD b/testing/jshon/APKBUILD
deleted file mode 100644
index 95e3ae8c591..00000000000
--- a/testing/jshon/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=jshon
-pkgver=20131105
-pkgrel=0
-pkgdesc="SON parser designed for maximum convenience within the shell"
-url="http://kmkeen.com/jshon/"
-arch="all"
-license="MIT"
-depends=""
-makedepends="jansson-dev"
-options="!check"
-subpackages="$pkgname-doc"
-source="jshon-$pkgver.tar.gz::https://github.com/keenerd/jshon/archive/$pkgver.tar.gz
- disable-werror.patch
- missing-typesh.patch
- "
-builddir="$srcdir/jshon-$pkgver"
-
-build() {
- cd "$builddir"
- make
-}
-
-check() {
- cd "$builddir"
- make check
-}
-
-package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="0f27cc8d0157bda12e5180f99b4e894326e7240d8cd004dadcadfad09f926852e224e3cd2b03cc6d51f7e7efafea0e5ccb1a0b66ab0d8349326809bc7db8ffb4 jshon-20131105.tar.gz
-0f862ebcf1028cf2ad46610483df6b46e1f380b7b30605e672b342132fb1e123133d9c9672181d13217de5aa58e92522daf0eaa3537eacf810c978fbced364dc disable-werror.patch
-fc9a589cd39493c10e4616628040f19d758893545df59d2dc415d21eae12d8af12d5dd1fc160d0c95694086e5e86c8e9a463332dbab1fbd89babb606da139554 missing-typesh.patch"
diff --git a/testing/jshon/disable-werror.patch b/testing/jshon/disable-werror.patch
deleted file mode 100644
index fff4dc474e6..00000000000
--- a/testing/jshon/disable-werror.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./Makefile
-+++ ./Makefile
-@@ -1,6 +1,6 @@
- # jshon - command line JSON parsing
-
--CFLAGS := -std=c99 -Wall -pedantic -Wextra -Werror ${CFLAGS}
-+CFLAGS := -std=c99 -Wall -pedantic -Wextra ${CFLAGS}
- LDLIBS = -ljansson
- INSTALL=install
- DESTDIR?=/
diff --git a/testing/jshon/missing-typesh.patch b/testing/jshon/missing-typesh.patch
deleted file mode 100644
index d94c2a0ac0b..00000000000
--- a/testing/jshon/missing-typesh.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- ./jshon.c.orig
-+++ ./jshon.c
-@@ -5,6 +5,7 @@
- #include <stdlib.h>
- #include <sys/param.h>
- #include <sys/stat.h>
-+#include <sys/types.h>
- #include <unistd.h>
- #include <jansson.h>
- #include <errno.h>
diff --git a/testing/jsmn/APKBUILD b/testing/jsmn/APKBUILD
new file mode 100644
index 00000000000..2f3252f0a0d
--- /dev/null
+++ b/testing/jsmn/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=jsmn
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="Small stream-oriented header-only JSON parser for C"
+url="https://github.com/zserge/jsmn"
+arch="noarch"
+license="MIT"
+source="https://github.com/zserge/jsmn/archive/v$pkgver/jsmn-v$pkgver.tar.gz"
+
+check() {
+ make test
+}
+
+package() {
+ install -Dm644 jsmn.h "$pkgdir"/usr/include/jsmn.h
+}
+
+sha512sums="
+474fa44740a4fae8389534ad08fe0e11ed3ba54cbedbce39a720984da4d20a21176f6abd1633ff2601a9b19421fd2f88320151c520764b4b05f73ed8abda76aa jsmn-v1.1.0.tar.gz
+"
diff --git a/testing/json-c0.12/APKBUILD b/testing/json-c0.12/APKBUILD
deleted file mode 100644
index ced8d7bace7..00000000000
--- a/testing/json-c0.12/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=json-c0.12
-pkgver=0.12.1
-pkgrel=2
-pkgdesc="A JSON implementation in C"
-url="https://github.com/json-c/json-c/wiki"
-arch="all"
-license="MIT"
-makedepends=" autoconf automake libtool"
-subpackages="$pkgname-dev"
-replaces="json-c"
-source="https://s3.amazonaws.com/json-c_releases/releases/json-c-$pkgver.tar.gz
- "
-
-builddir="$srcdir"/json-c-$pkgver
-prepare() {
- default_prepare
- autoreconf -f -v -i
-}
-
-build() {
- export CFLAGS="$CFLAGS -Wno-error=unused-but-set-variable -Wno-error=implicit-fallthrough"
- ./configure --prefix=/usr \
- --build=$CBUILD \
- --host=$CHOST \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --enable-shared \
- --disable-static \
- ac_cv_func_malloc_0_nonnull=yes \
- ac_cv_func_realloc_0_nonnull=yes
- make -j1
-}
-
-check() {
- make USE_VALGRIND=0 check
-}
-
-package() {
- make -j1 DESTDIR="$pkgdir" install
-}
-
-sha512sums="038676a0ce815e5174161fbd4339524feadc294d517f732fb408ad6aa7c4906423451c13386107569d9f24746a1a101564ca511e92e8276c5bf5b8c022ca42ed json-c-0.12.1.tar.gz"
diff --git a/testing/json2tsv/APKBUILD b/testing/json2tsv/APKBUILD
new file mode 100644
index 00000000000..91b7bedfba9
--- /dev/null
+++ b/testing/json2tsv/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=json2tsv
+pkgver=1.1
+pkgrel=0
+pkgdesc="JSON to TSV converter"
+url="https://codemadness.org/json2tsv.html"
+arch="all"
+license="ISC"
+subpackages="$pkgname-doc $pkgname-jaq::noarch $pkgname-jaq-doc:jaq_doc"
+source="https://codemadness.org/releases/json2tsv/json2tsv-$pkgver.tar.gz"
+options="!check" # No tests
+
+build() {
+ make
+}
+
+package() {
+ make MANPREFIX=/usr/share/man PREFIX=/usr DESTDIR="$pkgdir" install
+
+ # conflicts with jaq package
+ mv "$pkgdir"/usr/bin/jaq "$pkgdir"/usr/bin/json2tsv-jaq
+ mv "$pkgdir"/usr/share/man/man1/jaq.1 "$pkgdir"/usr/share/man/man1/json2tsv-jaq.1
+ gzip -9n "$pkgdir"/usr/share/man/man1/*.1
+}
+
+jaq() {
+ pkgdesc="$pkgdesc (shellscript wrapper)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/bin/json2tsv-jaq
+}
+
+doc() {
+ pkgdesc="$pkgdesc (documentation)"
+ install_if="docs $pkgname-jaq=$pkgver-r$pkgrel"
+
+ amove \
+ usr/share/man/man1/json2tsv.1* \
+ usr/share/doc
+}
+
+jaq_doc() {
+ pkgdesc="$pkgdesc (shellscript wrapper documentation)"
+ install_if="docs $pkgname-jaq=$pkgver-r$pkgrel"
+
+ amove usr/share/man/man1/json2tsv-jaq.1*
+}
+
+sha512sums="
+3166a32ad2ba09e1f54915322ccf68324c67486e5374045b2a70784dc4b97d7cc55af2d516cf4d011942fe18337005032cead10ddf8c7942cfb7c1af44294a8c json2tsv-1.1.tar.gz
+"
diff --git a/testing/jsonnet-bundler/APKBUILD b/testing/jsonnet-bundler/APKBUILD
new file mode 100644
index 00000000000..5da7e641f17
--- /dev/null
+++ b/testing/jsonnet-bundler/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=jsonnet-bundler
+pkgver=0.5.1
+pkgrel=12
+pkgdesc="Jsonnet package manager"
+url="https://github.com/jsonnet-bundler/jsonnet-bundler"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jsonnet-bundler/jsonnet-bundler/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -o jb -ldflags "-X main.Version=v$pkgver" ./cmd/jb
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 jb -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+92432998b64571a141f869deaf2f01d65e963fb192db11724238dd178f815829fcf23a2809d2fd04b991530321bcca698cb6b1d4a6cd854336877d46b89b918b jsonnet-bundler-0.5.1.tar.gz
+"
diff --git a/testing/jsonnet-language-server/APKBUILD b/testing/jsonnet-language-server/APKBUILD
new file mode 100644
index 00000000000..f64b679d9ae
--- /dev/null
+++ b/testing/jsonnet-language-server/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=jsonnet-language-server
+pkgver=0.13.1
+pkgrel=2
+pkgdesc="Jsonnet language server"
+url="https://github.com/grafana/jsonnet-language-server"
+arch="all"
+license="AGPL-3.0-or-later"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/grafana/jsonnet-language-server/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -ldflags "-X main.version=v$pkgver"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+4a3bd06a23c0606aa0d35a827001d390cb7a1fbfb4d4cd75a9e012ecbe2998ff9649489b5d3fdc48c7ce166f09a4ca97bce8d70e6ca46d6f6850bf689f2ffae5 jsonnet-language-server-0.13.1.tar.gz
+"
diff --git a/testing/judy/APKBUILD b/testing/judy/APKBUILD
deleted file mode 100644
index 8c0bb8dd4fe..00000000000
--- a/testing/judy/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=judy
-pkgver=1.0.5
-pkgrel=0
-pkgdesc="C library creating and accessing dynamic arrays"
-url="http://judy.sourceforge.net/"
-arch="all"
-license="LGPL-2.0-only"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://sourceforge.net/projects/judy/files/judy/Judy-$pkgver/Judy-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
-
- update_config_sub
- update_config_guess
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var
- make -j1 # man build require 1
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-1a0d59b092c80d95270a3089cd25ee0ddad1d591101b03784e2e46dfc73bce445a7fb495b449043544a366c09b35b833556053bf3bf65dd00abbd786d26c6980 Judy-1.0.5.tar.gz
-"
diff --git a/testing/junit2html/APKBUILD b/testing/junit2html/APKBUILD
index a681932d199..0b409bc8163 100644
--- a/testing/junit2html/APKBUILD
+++ b/testing/junit2html/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Charles Wimmer <charles@wimmer.net>
# Maintainer: Charles Wimmer <charles@wimmer.net>
pkgname=junit2html
-pkgver=0.1.0
-pkgrel=2
+pkgver=0.2.0
+pkgrel=3
pkgdesc="Simple self-contained python tool to produce a single html file from a single junit xml file"
url="https://gitlab.com/inorton/junit2html"
arch="noarch"
@@ -10,6 +10,7 @@ license="MIT"
depends="python3"
makedepends="py3-setuptools"
builddir="$srcdir/$pkgname-v$pkgver"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://gitlab.com/inorton/junit2html/-/archive/v$pkgver/junit2html-v$pkgver.tar.gz
setup.py.patch
"
@@ -23,8 +24,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="4603b78cc950656df73c89b211cee030783435afc771b53715d677c1a47d5cc0d280e2f2eadec2e6382dbad3d7b88ff9ea3ce4d5b5a0bf6d216d7485659952b2 junit2html-0.1.0.tar.gz
-c3b5a80d3ff23cbf4391d4822ee841b216ec60bc9463d84b1c017a247295145ccdfa821a990dbf26c473e6055f7ef4b364f847628fb897a03d905d7ad0a7540b setup.py.patch"
+sha512sums="
+85902808752d299c9dd94e9158f4913b74f3b8c0639eb52a4ec32cc27774ef096072a3e18560a809f20a7c9ccc8d8ce8b107d6b6fd3d4e68ed51fbe2d90ce344 junit2html-0.2.0.tar.gz
+c3b5a80d3ff23cbf4391d4822ee841b216ec60bc9463d84b1c017a247295145ccdfa821a990dbf26c473e6055f7ef4b364f847628fb897a03d905d7ad0a7540b setup.py.patch
+"
diff --git a/testing/jwt-cli/APKBUILD b/testing/jwt-cli/APKBUILD
new file mode 100644
index 00000000000..8b029d963d7
--- /dev/null
+++ b/testing/jwt-cli/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=jwt-cli
+pkgver=6.0.0
+pkgrel=0
+pkgdesc="Super fast CLI tool to decode and encode JWTs"
+url="https://github.com/mike-engel/jwt-cli"
+# blocked by ring crate
+arch="all !s390x !ppc64le !riscv64"
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mike-engel/jwt-cli/archive/refs/tags/$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/jwt -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+2d0b7dfd98bc16448d1bd67763d7deea4be6ad5069134deacf6a3dcd5c64cf88f7b01fe09bdb03fc80845889706e3e172755b054f349a4c0141adafcd4458943 jwt-cli-6.0.0.tar.gz
+"
diff --git a/testing/k2/APKBUILD b/testing/k2/APKBUILD
new file mode 100644
index 00000000000..f1b1216193f
--- /dev/null
+++ b/testing/k2/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=k2
+pkgver=0_git20220807
+_commit="45fbcc2aede0af9b829547e1390c48adee57e8e3"
+pkgrel=1
+pkgdesc="Chess engine with UCI and Xboard interface"
+url="https://github.com/serg-meus/k2"
+arch="all"
+license="GPL-2.0-only"
+options="!check" # no test suite
+makedepends="qt5-qtbase-dev" # qmake
+source="https://github.com/serg-meus/k2/archive/$_commit.tar.gz"
+builddir="$srcdir/k2-$_commit"
+
+build() {
+ qmake-qt5
+ make -e
+}
+
+package() {
+ install -Dm755 k2 -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+eb69aab7a68ee82faaf3c275b92ae0cfee75d0d869f154b1fc85eb7c08b580f49f88d3d7ff9add8018626b54ea2360da0d9407b427e15db4c0cd23efb721dc48 45fbcc2aede0af9b829547e1390c48adee57e8e3.tar.gz
+"
diff --git a/testing/k3sup/APKBUILD b/testing/k3sup/APKBUILD
new file mode 100644
index 00000000000..9dff8818a80
--- /dev/null
+++ b/testing/k3sup/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=k3sup
+pkgver=0.13.5
+pkgrel=2
+pkgdesc="A light-weight utility to get from zero to KUBECONFIG with k3s"
+url="https://k3sup.dev/"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/alexellis/k3sup/archive/refs/tags/$pkgver/k3sup-$pkgver.tar.gz"
+
+# secfixes:
+# 0.13.4-r0:
+# - CVE-2023-48795
+
+prepare() {
+ default_prepare
+
+ mkdir -p bin/
+}
+
+build() {
+ go build -a \
+ -ldflags "-X github.com/alexellis/k3sup/cmd.Version=$pkgver" \
+ -o bin/k3sup
+
+ for i in bash fish zsh; do
+ ./bin/k3sup completion "$i" > "$builddir"/k3sup.$i
+ done
+}
+
+check() {
+ # shellcheck disable=SC2046
+ go test $(go list ./... | grep -v /vendor/ | xargs) -cover
+}
+
+package() {
+ install -Dm755 bin/k3sup "$pkgdir"/usr/bin/k3sup
+
+ install -Dm644 "$builddir"/$pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 "$builddir"/$pkgname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 "$builddir"/$pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+4172da9d9b15a63e27a0bb6f41b32e6c82af3ce9e0d45c9989fb82ee97f087c2b80e21c6201134152adef235651ba61be900ea2544864e33b748bfcd46a93e8f k3sup-0.13.5.tar.gz
+"
diff --git a/testing/kabmat/APKBUILD b/testing/kabmat/APKBUILD
new file mode 100644
index 00000000000..685ff42b1ef
--- /dev/null
+++ b/testing/kabmat/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=kabmat
+pkgver=2.7.0
+pkgrel=0
+pkgdesc="TUI program for managing kanban boards with vim-like keybindings"
+url="https://github.com/PlankCipher/kabmat"
+arch="all"
+license="GPL-3.0-only"
+makedepends="ncurses-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/PlankCipher/kabmat/archive/v$pkgver.tar.gz
+ makefile.patch
+ "
+options="!check" # No test defined upstream
+
+build() {
+ # extremely broken project that passes 'cflags' to cxx and also ignores everything by default
+ make CFLAGS="-std=c++17 $CFLAGS $CXXFLAGS $LDFLAGS"
+}
+
+package() {
+ make PREFIX="/usr" DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+22bf8fde34d705ceac71ccb54c0f9a5a10be7716b49aecea38b70de595c2350ffbe3126cc6a2c12cd651f74be51783c262c7ec0bc94810872aa470305898e76f kabmat-2.7.0.tar.gz
+9c7909c857fa9b69ae1e4399c51e9b56a3fd4ad4191ae8b9131e2c70c141aa9fc4e180736402d5392ee553f906b26dbb56cf376084361ee64d07d411f2d6d5e9 makefile.patch
+"
diff --git a/testing/kabmat/makefile.patch b/testing/kabmat/makefile.patch
new file mode 100644
index 00000000000..4c38c6d9f81
--- /dev/null
+++ b/testing/kabmat/makefile.patch
@@ -0,0 +1,43 @@
+diff --git a/Makefile b/Makefile
+index 611b1c3..4f796dd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,18 @@
++# Common prefix for installation directories, following GNU conventions.
++# See https://www.gnu.org/prep/standards/html_node/Directory-Variables.html for details.
++
++# Installation prefix
++PREFIX = /usr/local
++DATAROOTDIR = $(PREFIX)/share
++
++# Where to put the executable.
++BINDIR = $(PREFIX)/bin
++# Where to put the manual pages.
++MANDIR = $(DATAROOTDIR)/man
++
+ TARGET = kabmat
+ SRC_DIR = src
+ BUILD_DIR = bin
+-INSTALL_DIR = /usr/bin/
+ DATA_DIR = ~/.local/share/kabmat
+
+ CFLAGS = -std=c++17 -Wall -Wextra
+@@ -31,7 +42,14 @@ clean:
+
+ .PHONY: install
+ install:
+- $(MAKE)
+- sudo cp ./$(TARGET) $(INSTALL_DIR)
+- sudo mkdir -p /usr/local/man/man1
+- sudo cp ./doc/kabmat.1 /usr/local/man/man1/
++ mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(MANDIR)/man1
++ cp ./$(TARGET) $(DESTDIR)$(BINDIR)
++ chmod 0755 $(DESTDIR)$(BINDIR)/$(TARGET)
++ cp ./doc/kabmat.1 $(DESTDIR)$(MANDIR)/man1
++ chmod 0644 $(DESTDIR)$(MANDIR)/man1/kabmat.1
++ $(MAKE) clean
++
++.PHONY: uninstall
++uninstall:
++ rm $(DESTDIR)$(BINDIR)/$(TARGET)
++ rm $(DESTDIR)$(MANDIR)/man1/kabmat.1
diff --git a/testing/kak-lsp/APKBUILD b/testing/kak-lsp/APKBUILD
index 5d9fba8abe1..d7e9016388b 100644
--- a/testing/kak-lsp/APKBUILD
+++ b/testing/kak-lsp/APKBUILD
@@ -1,21 +1,28 @@
# Contributor: Siva Mahadevan <me@svmhdvn.name>
# Maintainer: Siva Mahadevan <me@svmhdvn.name>
pkgname=kak-lsp
-pkgver=11.1.0
+pkgver=15.0.1
pkgrel=0
pkgdesc="Language Server Protocol client for Kakoune implemented in Rust"
url="https://github.com/kak-lsp/kak-lsp"
-arch="all !s390x !mips !mips64 !ppc64le !riscv64" # limited by cargo
+arch="all !s390x !riscv64" # limited by cargo
license="Unlicense OR MIT"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
source="$pkgname-$pkgver.tar.gz::https://github.com/kak-lsp/kak-lsp/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --locked --release
+ cargo auditable build --frozen --release
}
check() {
- cargo test --locked
+ cargo test --frozen
}
package() {
@@ -23,5 +30,5 @@ package() {
}
sha512sums="
-d570c6a488de3e0eae6123a11bd0c15c7e968e4a44125ff9a03b324406820871bd86376477291bdfb1ce14a01253329fbe4edbc5b417d79a1009f788e3b24297 kak-lsp-11.1.0.tar.gz
+46e3d054e30be698a58b23fa5818cc29ebee6ddacdd7189af23a2faa20151bde779bd556034d668f50127ee0cd023b5ad6582c4fedfd22b6d7e40fa0dd928b13 kak-lsp-15.0.1.tar.gz
"
diff --git a/testing/kakoune/APKBUILD b/testing/kakoune/APKBUILD
deleted file mode 100644
index 73aebf23c2d..00000000000
--- a/testing/kakoune/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Jakub Skrzypnik <j.skrzypnik@openmailbox.org>
-pkgname=kakoune
-pkgver=2021.11.08
-pkgrel=0
-pkgdesc="Code editor heavily inspired by Vim, but with less keystrokes"
-url="http://kakoune.org"
-arch="all"
-license="Unlicense"
-makedepends="asciidoc"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mawww/kakoune/archive/v$pkgver.tar.gz
- alpine-linux.kak
- "
-
-builddir="$srcdir/$pkgname-$pkgver/src"
-build() {
- make debug=no
-}
-
-check() {
- make check
-}
-
-package() {
- make PREFIX="/usr" DESTDIR="$pkgdir/" debug=no install
- install -Dm644 $srcdir/alpine-linux.kak $pkgdir/usr/share/kak/autoload/filetype/
-}
-
-sha512sums="
-7ddb5952f07caa0f2861e71805d6bac574f2b90e8eac2358c251c1a99c3b85a914dd313c28da3d7871fd65f9b0c598ae8dc287e847f3ec17ee38b28d2a9fa0ec kakoune-2021.11.08.tar.gz
-c5b11dc28adf785b4e83637fe1d5c9db334616d2d3f6c667823745e273f739c57d0d408b9bec8a65210e3c7ccb80a5b488ebbb3c0c5de8bdec13e1b4b4d02b77 alpine-linux.kak
-"
diff --git a/testing/kakoune/alpine-linux.kak b/testing/kakoune/alpine-linux.kak
deleted file mode 100644
index 7e061926eb6..00000000000
--- a/testing/kakoune/alpine-linux.kak
+++ /dev/null
@@ -1,4 +0,0 @@
-# package build description file
-hook global BufCreate (.*/)?APKBUILD %{
- set-option buffer filetype sh
-}
diff --git a/testing/kanister-tools/APKBUILD b/testing/kanister-tools/APKBUILD
new file mode 100644
index 00000000000..07e4536b58b
--- /dev/null
+++ b/testing/kanister-tools/APKBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=kanister-tools
+pkgver=0.105.0
+pkgrel=2
+pkgdesc="CLI tools for application-level data management on Kubernetes"
+url="https://kanister.io/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/kanisterio/kanister/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/kanister-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X github.com/kanisterio/kanister/pkg/version.VERSION=$pkgver
+ -X github.com/kanisterio/kanister/pkg/version.GIT_COMMIT=AlpineLinux
+ -X github.com/kanisterio/kanister/pkg/version.BUILD_DATE=$(date -u "+%Y-%m-%dT%TZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ "
+ for binary in kanctl kando; do
+ go build -v -o $binary \
+ -ldflags "$_goldflags" \
+ ./cmd/$binary
+
+ for shell in bash fish zsh; do
+ ./$binary completion $shell > $binary.$shell
+ done
+ done
+}
+
+check() {
+ # Only run tests for the built binaries.
+ # Some of the other tests require a Kubernetes cluster to run
+ for binary in kanctl kando; do
+ go test ./pkg/$binary/...
+ done
+}
+
+package() {
+ for binary in kanctl kando; do
+ install -Dm755 $binary -t "$pkgdir"/usr/bin/
+
+ install -Dm644 $binary.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$binary
+ install -Dm644 $binary.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$binary.fish
+ install -Dm644 $binary.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$binary
+ done
+}
+
+sha512sums="
+ed11dbf2049d864bac41fd774150e0f44645aab8ff4edc4399465342099ab5eb7fd25a3c78d3b5174c0c6a445b7a35b4c50ecbf371fc668fd2e11f90c22468a6 kanister-tools-0.105.0.tar.gz
+"
diff --git a/testing/kannel/APKBUILD b/testing/kannel/APKBUILD
index 793050c2c4a..cceeeec2fce 100644
--- a/testing/kannel/APKBUILD
+++ b/testing/kannel/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=kannel
pkgver=1.5.0
-pkgrel=10
+pkgrel=11
pkgdesc="Opensource WAP/SMS Gateway"
url="https://www.kannel.org/"
arch="all"
diff --git a/testing/kapow/APKBUILD b/testing/kapow/APKBUILD
index 0b0e5d2013f..40be1588db4 100644
--- a/testing/kapow/APKBUILD
+++ b/testing/kapow/APKBUILD
@@ -1,14 +1,19 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=kapow
-pkgver=0.5.4
-pkgrel=2
+pkgver=0.7.1
+pkgrel=5
pkgdesc="turn shell commands into HTTP API"
url="https://kapow.readthedocs.io/en/stable/"
license="Apache-2.0"
arch="all"
makedepends="go"
-source="https://github.com/BBVA/kapow/archive/v$pkgver/kapow-$pkgver.tar.gz"
-builddir="$srcdir/kapow-$pkgver"
+source="https://github.com/BBVA/kapow/archive/v$pkgver/kapow-$pkgver.tar.gz
+ fix-cgo.patch
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
make build
@@ -22,4 +27,7 @@ package() {
install -Dm755 build/kapow "$pkgdir"/usr/bin/kapow
}
-sha512sums="a1ee66f2d1404c1b323b8c6b3eaabcd804d61653ad0a28a0b8ffa75d804b8c42cfebf81400a0a5822055ae8135f4f4bcc6ca159aa8c6c701799f4a11cb86d0bb kapow-0.5.4.tar.gz"
+sha512sums="
+823a184bc988fde3e5680728438b5c2af2e2f15b4fde27768b0ae269bd04193252bbc23d295106d686055e6c54f2ab1f2d727e342b7e0774ab3b188b147e0301 kapow-0.7.1.tar.gz
+f0fcc64df68757fe9e9625411627d71468b05859f53828bc4708fbd87cac1aa24819ea14b79864d23fe4e4b9f89a8d5c728d158ac625b9eee7b2cdafef6c9d29 fix-cgo.patch
+"
diff --git a/testing/kapow/fix-cgo.patch b/testing/kapow/fix-cgo.patch
new file mode 100644
index 00000000000..b7d1d590d15
--- /dev/null
+++ b/testing/kapow/fix-cgo.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -24,7 +24,7 @@
+
+ build: deps
+ mkdir -p $(BUILD_DIR)
+- CGO_ENABLED=0 $(GOBUILD) -o $(BUILD_DIR)/$(BINARY_NAME) -v
++ $(GOBUILD) -o $(BUILD_DIR)/$(BINARY_NAME) -v
+
+ test: build jaillover
+ $(GOTEST) -v -coverprofile=$(TMP_DIR)/c.out ./...
diff --git a/testing/katana/APKBUILD b/testing/katana/APKBUILD
new file mode 100644
index 00000000000..4f25da1dbe9
--- /dev/null
+++ b/testing/katana/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=katana
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="Next-generation crawling and spidering framework"
+url="https://github.com/projectdiscovery/katana"
+arch="all"
+license="MIT"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/projectdiscovery/katana/archive/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build \
+ -mod=readonly \
+ -ldflags "-extldflags \"$LDFLAGS\"" \
+ -o "$pkgname" \
+ -v "./cmd/$pkgname/main.go"
+}
+
+check() {
+ go test -v ./...
+}
+
+package() {
+ install -Dm755 "$pkgname" -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+46b6586d9f3433a0b67e548dbb2c74b96be1f162db35f139cd628873608a8bf0052f6bd265503b02530d08bc29c6986ca30d545d229ad748eacd1ca89e300a88 katana-1.1.0.tar.gz
+"
diff --git a/testing/katarakt/APKBUILD b/testing/katarakt/APKBUILD
new file mode 100644
index 00000000000..9629472c7fb
--- /dev/null
+++ b/testing/katarakt/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+pkgname=katarakt
+pkgver=0.2
+pkgrel=0
+pkgdesc="Simple PDF viewer"
+url="https://gitlab.cs.fau.de/Qui_Sum/katarakt"
+arch="all"
+license="BSD-2-Clause"
+makedepends="
+ poppler-qt5-dev
+ qt5-qtbase-dev
+ "
+source="https://gitlab.cs.fau.de/Qui_Sum/katarakt/-/archive/v$pkgver/katarakt-v$pkgver.tar.gz"
+options="!check" # no test suite
+builddir="$srcdir/$pkgname-v$pkgver/"
+
+build() {
+ qmake-qt5 \
+ PREFIX=/usr \
+ QT_INSTALL_PREFIX=/usr \
+ CONFIG+=no_qt_rpath
+ make
+}
+
+package() {
+ install -Dm755 katarakt "$pkgdir"/usr/bin/katarakt
+}
+
+sha512sums="
+a07054e0e9915f6239b8149bbd08c8b5ec095b0e9ffb54e03761ad9e59914f66166e4b8359298721a6b46c2bcf5114f40ad117c4826a32660c1fba28f69b8e68 katarakt-v0.2.tar.gz
+"
diff --git a/testing/kbs2/APKBUILD b/testing/kbs2/APKBUILD
index 628893cc4dd..b2e1a8795fc 100644
--- a/testing/kbs2/APKBUILD
+++ b/testing/kbs2/APKBUILD
@@ -1,34 +1,30 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
+# Maintainer:
pkgname=kbs2
-pkgver=0.4.0
-pkgrel=0
+pkgver=0.7.2
+pkgrel=3
pkgdesc="Secret manager backed by age"
url="https://github.com/woodruffw/kbs2"
arch="all !s390x !riscv64" # blocked by cargo
license="MIT"
-makedepends="cargo libxcb-dev python3"
+makedepends="cargo python3 cargo-auditable"
subpackages="
$pkgname-bash-completion
$pkgname-fish-completion
$pkgname-zsh-completion
"
-source="$pkgname-$pkgver.tar.gz::https://github.com/woodruffw/kbs2/archive/refs/tags/v$pkgver.tar.gz"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/woodruffw/kbs2/archive/refs/tags/v$pkgver.tar.gz
+ cargo-update-libc-lfs64.patch
+ "
+
prepare() {
default_prepare
- cargo fetch --locked
+ cargo fetch --target="$CTARGET" --locked
}
build() {
- cat >> Cargo.toml <<- EOF
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "s"
- panic = "abort"
- EOF
- cargo build --release --frozen
+ cargo auditable build --release --frozen
./target/release/kbs2 --completions bash > kbs2.bash
./target/release/kbs2 --completions fish > kbs2.fish
@@ -45,11 +41,12 @@ package() {
install -Dm644 "$builddir"/kbs2.bash \
"$pkgdir"/usr/share/bash-completion/completions/kbs2
install -Dm644 "$builddir"/kbs2.fish \
- "$pkgdir"/usr/share/fish/completions/kbs2.fish
+ "$pkgdir"/usr/share/fish/vendor_completions.d/kbs2.fish
install -Dm644 "$builddir"/kbs2.zsh \
"$pkgdir"/usr/share/zsh/site-functions/_kbs2
}
sha512sums="
-ec6bbef7abed8343a46e3c4e19760ace9c8cac9eeaed28af692aa466fae4a6d185454e8a1f0bfffd861c37b3340b1aaf0303c68eae7b484ebe74e059f57a915e kbs2-0.4.0.tar.gz
+9d74dfaa17702a44e20332618aa094e52899a1f27a6af35a65ef928f62d5dc0bebe1a8ed20618a89b8ae468d47cb6ef4608d538ec4d5b317f6f5d9338cf8b2b7 kbs2-0.7.2.tar.gz
+8df79f751501a7c9ac85bd75c3c901113fb8e19d422b1074f7bde1d1503f23835a6b80a43f39999aac5f7099ebe24437fd90d66b20b9e9b355a65d774d206a43 cargo-update-libc-lfs64.patch
"
diff --git a/testing/kbs2/cargo-update-libc-lfs64.patch b/testing/kbs2/cargo-update-libc-lfs64.patch
new file mode 100644
index 00000000000..c1db0f7c95c
--- /dev/null
+++ b/testing/kbs2/cargo-update-libc-lfs64.patch
@@ -0,0 +1,16 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index b008628..b3e623e 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -990,9 +990,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.139"
++version = "0.2.147"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
++checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
+ [[package]]
+ name = "linux-raw-sys"
diff --git a/testing/kcgi/APKBUILD b/testing/kcgi/APKBUILD
deleted file mode 100644
index c283b6951bc..00000000000
--- a/testing/kcgi/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=kcgi
-pkgver=0.13.0
-_pkgver=${pkgver//./_}
-pkgrel=0
-pkgdesc="CGI and FastCGI library for C/C++ web applications"
-url="https://kristaps.bsd.lv/kcgi"
-arch="all"
-license="ISC"
-makedepends="bmake zlib-dev"
-checkdepends="curl-dev"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kristapsdz/kcgi/archive/VERSION_$_pkgver.tar.gz"
-builddir="$srcdir/kcgi-VERSION_$_pkgver"
-
-build() {
- # https://github.com/kristapsdz/kcgi/issues/91
- case $CARCH in
- aarch64)
- echo HAVE_SECCOMP_FILTER=0 > configure.local ;;
- esac
-
- ./configure PREFIX=/usr MANDIR=/usr/share/man SBINDIR=/usr/sbin
- bmake
-}
-
-package() {
- bmake DESTDIR="$pkgdir" install
-}
-
-check() {
- bmake regress
-}
-
-sha512sums="
-244b264bce78dc9f1ed2738a2ee7649ccb69ac6703cd0005b7e5f1f2d7e01901daa10188af16bc53e16caca234801334c111ac04b22451a0f10992f2df9b8752 kcgi-0.13.0.tar.gz
-"
diff --git a/testing/kdiff3/APKBUILD b/testing/kdiff3/APKBUILD
deleted file mode 100644
index 2cda349a4e4..00000000000
--- a/testing/kdiff3/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=kdiff3
-pkgver=1.9.4
-pkgrel=0
-# armhf blocked by extra-cmake-modules
-# s390x, riscv64 blocked by polkit -> kparts
-arch="all !armhf !s390x !riscv64"
-url="https://apps.kde.org/kdiff3/"
-pkgdesc="A file and folder diff and merge tool"
-license="GPL-2.0-or-later "
-makedepends="
- boost-dev
- extra-cmake-modules
- kconfig-dev
- kcoreaddons-dev
- kcrash-dev
- kdoctools-dev
- ki18n-dev
- kparts-dev
- kwidgetsaddons-dev
- qt5-qtbase-dev
- "
-checkdepends="xvfb-run"
-source="https://download.kde.org/stable/kdiff3/kdiff3-$pkgver.tar.xz"
-subpackages="$pkgname-doc $pkgname-lang"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-76555eb9253c4cb96d32de01126a4547adb3424997034f0d9aed50cc4df87cb15c038a12f8620a491a968b47a3ea5eafcb0f53978aca4300ca319677bb2b9e63 kdiff3-1.9.4.tar.xz
-"
diff --git a/testing/kdiskmark/APKBUILD b/testing/kdiskmark/APKBUILD
new file mode 100644
index 00000000000..440b7bf3c0b
--- /dev/null
+++ b/testing/kdiskmark/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=kdiskmark
+pkgver=3.1.4
+pkgrel=1
+pkgdesc="Simple open-source disk benchmark tool for Linux distros"
+url="https://github.com/JonMagon/KDiskMark"
+arch="all"
+license="GPL-3.0-or-later"
+depends="fio"
+makedepends="
+ cmake
+ extra-cmake-modules
+ polkit-qt-dev
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ samurai
+ "
+langdir="/usr/share/kdiskmark/kdiskmark/translations"
+subpackages="$pkgname-lang"
+source="https://github.com/JonMagon/KDiskMark/releases/download/$pkgver/KDiskMark-$pkgver-source.tar.gz"
+builddir="$srcdir/KDiskMark-$pkgver"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ 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
+}
+
+sha512sums="
+53f292e4137ac36dfbc09ad400496170bfd13a8c18f1c474bd15b00cdd931918713e034e35d6f3dbda29eb1ee89d8f273dd8e794a9e70c95ec96ebf31f0baedf KDiskMark-3.1.4-source.tar.gz
+"
diff --git a/testing/keama/APKBUILD b/testing/keama/APKBUILD
deleted file mode 100644
index 4f57e4b9fef..00000000000
--- a/testing/keama/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
-pkgname=keama
-pkgver="4.4.1_git20191205"
-_gitrev="2fefb3ff08295c688fd32d43e3e8fdfa7558f867"
-pkgrel=0
-pkgdesc="Kae DHCP Migration Assistant"
-url="https://gitlab.isc.org/isc-projects/dhcp"
-arch="all"
-license="ISC"
-subpackages="$pkgname-doc"
-source="https://gitlab.isc.org/isc-projects/dhcp/-/archive/$_gitrev/dhcp-$_gitrev.tar.gz"
-builddir="$srcdir/dhcp-$_gitrev"
-
-# XXX: Hotfix for building with gcc >= 10
-export CFLAGS="$CFLAGS -fcommon"
-
-prepare() {
- default_prepare
-
- update_config_sub
- update_config_guess
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make -C keama
-}
-
-check() {
- make -C keama check
-}
-
-package() {
- make -C keama install DESTDIR="$pkgdir"
-}
-
-sha512sums="a60093ead04200ae4d82108232b4005bc5993a3b5d5579cf18afb7bbf886aa9e9a61fc34f07c937accbee4f29faa81f3d6e7583f6285bd4920b0f724ecc29769 dhcp-2fefb3ff08295c688fd32d43e3e8fdfa7558f867.tar.gz"
diff --git a/testing/keepassxc-browser/APKBUILD b/testing/keepassxc-browser/APKBUILD
new file mode 100644
index 00000000000..216ccdb5f73
--- /dev/null
+++ b/testing/keepassxc-browser/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=keepassxc-browser
+pkgver=1.8.9
+pkgrel=0
+pkgdesc="KeePassXC Browser Extension"
+url="https://github.com/keepassxreboot/keepassxc-browser/"
+arch="noarch"
+license="GPL-3.0-or-later"
+makedepends="npm"
+source="keepassxc-browser-$pkgver.tar.gz::https://github.com/keepassxreboot/keepassxc-browser/archive/refs/tags/$pkgver.tar.gz"
+options="!check net" # no tests, build fetches assets
+
+prepare() {
+ default_prepare
+ npm ci
+}
+
+build() {
+ # fetching translations requires a user account (and unmet dependencies).
+ npm run build -- --skip-translations
+}
+
+package() {
+ install -Dm644 keepassxc-browser_1.8.9_firefox.zip "$pkgdir/usr/lib/firefox/browser/extensions/keepassxc-browser@keepassxc.org.xpi"
+}
+
+sha512sums="
+15d19c6bd03fc338d9deee1aabf2e81dd1709b515d48b0e051e5891fefb9350af4a1616d1f7e1d1c8e91c78244b44abe0ce44abd993d4c2c8f8c40c987e9bd78 keepassxc-browser-1.8.9.tar.gz
+"
diff --git a/testing/keepassxc-proxy-static/APKBUILD b/testing/keepassxc-proxy-static/APKBUILD
deleted file mode 100644
index 61f9d0f4d78..00000000000
--- a/testing/keepassxc-proxy-static/APKBUILD
+++ /dev/null
@@ -1,60 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-#
-# CAUTION: Don't move this to the community repository until #12941 is fixed,
-# so it can be built with cargo+rustc from aports!
-pkgname=keepassxc-proxy-static
-_projname=keepassxc-proxy-rust
-pkgver=0_git20210116
-_gitrev=338735e6f4ab95f4b53734b05fe64c70694ea219
-pkgrel=1
-pkgdesc="A statically linked proxy between Native Messaging browser extension and KeePassXC (for use with Flatpak)"
-url="https://github.com/varjolintu/keepassxc-proxy-rust"
-arch="x86_64" # limited by rustup, fails to build on aarch64
-license="GPL-3.0-or-later"
-makedepends="rustup"
-install="$pkgname.post-install"
-source="https://github.com/varjolintu/keepassxc-proxy-rust/archive/$_gitrev/$_projname-$_gitrev.tar.gz
- keepassxc-proxy-install.in
- "
-builddir="$srcdir/$_projname-$_gitrev"
-options="!check" # no tests provided
-
-export CARGO_HOME="$srcdir/.cargo"
-export RUSTUP_HOME="$srcdir/.rustup"
-
-prepare() {
- default_prepare
-
- sed "s/@@VERSION@@/$pkgver/" "$srcdir"/keepassxc-proxy-install.in \
- > "$srcdir"/keepassxc-proxy-install
-
- # Optimize binary for size.
- cat >> Cargo.toml <<-EOF
-
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "z"
- panic = "abort"
- EOF
-
- # TODO: This is a workaround for https://gitlab.alpinelinux.org/alpine/aports/-/issues/12941.
- # Remove it and build with cargo+rustc from aports (using `-C target-feature=+crt-static`)
- # after it's fixed.
- rustup-init --target "$CARCH-unknown-linux-musl" --profile minimal --no-modify-path -y
-}
-
-build() {
- PATH="$CARGO_HOME/bin:$PATH" cargo build --locked --release
-}
-
-package() {
- install -D -m755 target/release/keepassxc-proxy "$pkgdir"/usr/libexec/keepassxc-proxy.static
- install -D -m755 "$srcdir"/keepassxc-proxy-install "$pkgdir"/usr/bin/keepassxc-proxy-install
-}
-
-sha512sums="
-9926503b297a7ee72c80d9bfcc4972f76366d897a5ef24bd4fb2394b2eb60e1db75508168333daef2e65e3fcf3a0c755ec539fc3ff0fc71566b3b12951a91b0c keepassxc-proxy-rust-338735e6f4ab95f4b53734b05fe64c70694ea219.tar.gz
-3d31ed8d2a430f1e61960990128a9b7277106fcf74c16952ccefdeca3a3ba5cb9e6917d08d801bff1d4d354566689bda8f54d10f3711b03063d01374913c0387 keepassxc-proxy-install.in
-"
diff --git a/testing/keepassxc-proxy-static/keepassxc-proxy-install.in b/testing/keepassxc-proxy-static/keepassxc-proxy-install.in
deleted file mode 100644
index 12f4fc0d740..00000000000
--- a/testing/keepassxc-proxy-static/keepassxc-proxy-install.in
+++ /dev/null
@@ -1,100 +0,0 @@
-#!/bin/sh
-set -eu
-
-readonly PROGNAME=${0##*/}
-readonly VERSION=@@VERSION@@
-
-readonly PROXY_BIN='/usr/libexec/keepassxc-proxy.static'
-
-readonly NAME='org.keepassxc.keepassxc_browser'
-readonly DESTDIR_FIREFOX='.var/app/org.mozilla.firefox/.mozilla/native-messaging-hosts'
-readonly DESTDIR_CHROMIUM='.var/app/org.chromium.Chromium/.config/chromium/NativeMessagingHosts'
-
-
-help() {
- cat <<-EOF
- Usage:
- $PROGNAME [options] <browser>
-
- Install proxy between Native Messaging browser extension and KeePassXC
- to your browser.
-
- The default <destdir> locations correspond to Flatpak applications:
-
- firefox: ~/$DESTDIR_FIREFOX
- chromium: ~/$DESTDIR_CHROMIUM
-
- TIP: You will also need to expose KeePassXC's BrowserServer socket to
- the Flatpak application:
-
- flatpak override --filesystem=xdg-run/org.keepassxc.KeePassXC.BrowserServer:ro <app-id>
-
- Arguments:
- <browser> One of "firefox" (default), or "chromium".
-
- Options:
- -d <destdir> Override location of the native-messaging-hosts directory
- (defaults are listed above).
- -q Be quiet.
- -V Print keepassxc-proxy version and exit.
- -h Show this message and exit.
- EOF
-}
-
-die() {
- printf "$PROGNAME: %s\n" "$1"
- exit 1
-}
-
-gen_manifest() {
- cat <<-EOF
- {
- "name": "$NAME",
- "description": "KeePassXC integration with native messaging support, workaround for flatpaked Firefox, see https://is.gd/flatpakFirefoxKPXC",
- "path": "$DESTDIR/keepassxc-proxy",
- "type": "stdio",
- EOF
- case "$BROWSER" in
- firefox) cat <<-EOF
- "allowed_extensions": [
- "keepassxc-browser@keepassxc.org"
- ]
- EOF
- ;;
- *) cat <<-EOF
- "allowed_origins": [
- "chrome-extension://oboonakemofpalcgghocfoadofidjkkk/"
- ]
- EOF
- ;;
- esac
- echo '}'
-}
-
-BROWSER=firefox
-DESTDIR=
-QUIET=false
-while getopts ':d:qVh' OPT; do
- case "$OPT" in
- d) DESTDIR=$OPTARG;;
- q) QUIET=true;;
- V) echo "keepassxc-proxy-rust $VERSION"; exit 0;;
- h) help; exit 0;;
- \?) die "unknown option: -$OPTARG";;
- esac
-done
-shift $((OPTIND - 1))
-
-[ $# -eq 1 ] || die "invalid number of arguments, see '$PROGNAME -h'"
-BROWSER=$1
-
-[ "$DESTDIR" ] || case "$BROWSER" in
- firefox) DESTDIR="$HOME/$DESTDIR_FIREFOX";;
- chromium) DESTDIR="$HOME/$DESTDIR_CHROMIUM";;
- *) die "unsupported browser: $BROWSER";;
-esac
-
-$QUIET || echo "Installing keepassxc-proxy for $BROWSER to $DESTDIR" >&2
-
-install -D -m755 "$PROXY_BIN" "$DESTDIR"/keepassxc-proxy
-gen_manifest > "$DESTDIR/$NAME.json"
diff --git a/testing/keepassxc-proxy-static/keepassxc-proxy-static.post-install b/testing/keepassxc-proxy-static/keepassxc-proxy-static.post-install
deleted file mode 100644
index 2fbdc2baf77..00000000000
--- a/testing/keepassxc-proxy-static/keepassxc-proxy-static.post-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-cat >&2 <<-EOF
-*
-* Use command keepassxc-proxy-install to install keepassxc-proxy to your browser.
-*
-EOF
diff --git a/testing/kerberoast/APKBUILD b/testing/kerberoast/APKBUILD
new file mode 100644
index 00000000000..eb7fb985719
--- /dev/null
+++ b/testing/kerberoast/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=kerberoast
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="Kerberos security toolkit for Python"
+url="https://github.com/skelsec/kerberoast"
+arch="noarch"
+license="MIT"
+depends="
+ py3-minikerberos
+ py3-msldap
+ py3-winacl
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/kerberoast/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests in version 0.2.0
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+1617b22fc4aa43fd5597cbb4a720f3771e6dd21c9b76d9164b01aacbf6c1011be6ef5ca6c2b46a54d5d15cb2eea2d9e108393ec3cbf8652a95e266489e58a63c kerberoast-0.2.0.tar.gz
+"
diff --git a/testing/kexec-tools/APKBUILD b/testing/kexec-tools/APKBUILD
deleted file mode 100644
index d28883f8602..00000000000
--- a/testing/kexec-tools/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Duncan Guthrie <dguthrie@posteo.net>
-# Maintainer: Duncan Guthrie <dguthrie@posteo.net>
-pkgname=kexec-tools
-pkgver=2.0.21
-pkgrel=0
-pkgdesc="Directly boot into a new kernel over a currently running one"
-url="https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git/"
-arch="all !riscv64" # not supported on riscv64 yet
-license="GPL-2.0-only"
-makedepends="zlib-dev xz-dev linux-headers"
-subpackages="$pkgname-doc"
-source="https://www.kernel.org/pub/linux/utils/kernel/kexec/kexec-tools-$pkgver.tar.xz
- fix-build-on-Alpine-linux.patch
- "
-options="!check"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --with-zlib \
- --with-lzma
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="f487d2e243c2c4f29fbc9da7d06806f65210f717904655fc84d8d162b9c4614c3dd62e1bb47104a79f0dc2af04e462baf764fb309b5d7e6d287264cb48fd2a3e kexec-tools-2.0.21.tar.xz
-228166102bfc48f81c04f3b13fbf29d6edf2e66918a967f243c8d2652f40c27af565f1db6b1a58783bd12d67184a70e6b00b1ab82e0f0d195dd51009260c3329 fix-build-on-Alpine-linux.patch"
diff --git a/testing/kexec-tools/fix-build-on-Alpine-linux.patch b/testing/kexec-tools/fix-build-on-Alpine-linux.patch
deleted file mode 100644
index ee96f057275..00000000000
--- a/testing/kexec-tools/fix-build-on-Alpine-linux.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d390f1f873fa42fa5791ba48f9acf0f41da33632 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Milan=20P=2E=20Stani=C4=87?= <mps@arvanta.net>
-Date: Sat, 19 Oct 2019 17:10:16 +0000
-Subject: [PATCH] kexec/arch/i386/kexec-x86.c: fix build on Alpine linux x86
- arch
-
----
- kexec/arch/i386/kexec-x86.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/kexec/arch/i386/kexec-x86.c b/kexec/arch/i386/kexec-x86.c
-index 444cb69..6001e76 100644
---- a/kexec/arch/i386/kexec-x86.c
-+++ b/kexec/arch/i386/kexec-x86.c
-@@ -36,8 +36,8 @@
- struct file_type file_type[] = {
- { "multiboot-x86", multiboot_x86_probe, multiboot_x86_load,
- multiboot_x86_usage },
-- { "multiboot2-x86", multiboot2_x86_probe, multiboot2_x86_load,
-- multiboot2_x86_usage },
-+ { "multiboot2-x86", multiboot_x86_probe, multiboot_x86_load,
-+ multiboot_x86_usage },
- { "elf-x86", elf_x86_probe, elf_x86_load, elf_x86_usage },
- { "bzImage", bzImage_probe, bzImage_load, bzImage_usage },
- { "beoboot-x86", beoboot_probe, beoboot_load, beoboot_usage },
---
-2.23.0
-
diff --git a/testing/keybase-client/APKBUILD b/testing/keybase-client/APKBUILD
index 6c126728f1d..a8f7c7e9ee2 100644
--- a/testing/keybase-client/APKBUILD
+++ b/testing/keybase-client/APKBUILD
@@ -2,8 +2,8 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=keybase-client
-pkgver=5.2.1
-pkgrel=3
+pkgver=6.2.8
+pkgrel=2
pkgdesc="CLI client for keybase.io"
url="https://github.com/keybase/client"
arch="all"
@@ -13,11 +13,13 @@ options="!check" # need access to localhost:3000, which doesn't work with our in
source="$pkgname-$pkgver.tar.gz::https://github.com/keybase/client/archive/v$pkgver.tar.gz"
builddir="$srcdir/client-$pkgver"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
cd "$srcdir"
export GOPATH="$PWD"
- export GO15VENDOREXPERIMENT=1
- export GO111MODULE=off
mkdir -p src/github.com/keybase
cp -r "$srcdir/client-$pkgver" src/github.com/keybase/client
@@ -29,4 +31,6 @@ package() {
install -Dm755 "$srcdir/keybase" "$pkgdir/usr/bin/keybase"
}
-sha512sums="5ef045e714209d732c8b421f9a27cd32026dfd83af321bdc2be191ad8d5d458a947cd44b9b644e44c98fdcaefe9a17f0dd5546edd7bf97c3fb3cd97dd08cbc54 keybase-client-5.2.1.tar.gz"
+sha512sums="
+61e590a4de3a240f814d33e90b92a2db3662a871e354c5a48fa72d2ee597701b5fcac4f9f8cb520d99f66e139939b05b37477332dbb03e8816a19755e922caeb keybase-client-6.2.8.tar.gz
+"
diff --git a/testing/keynav/APKBUILD b/testing/keynav/APKBUILD
deleted file mode 100644
index ab6b605bffc..00000000000
--- a/testing/keynav/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Maintainer: Miles Alan <m@milesalan.com>
-pkgname=keynav
-pkgver=0_git20180820
-_gitrev="78f9e076a5618aba43b030fbb9344c415c30c1e5"
-pkgrel=0
-pkgdesc="Quick way to use cursor via the keyboard"
-url="https://www.semicomplete.com/projects/keynav/"
-arch="all"
-license="BSD-3-Clause"
-depends="xorg-server"
-makedepends="cairo-dev libxinerama-dev xdotool-dev glib-dev libxrandr-dev perl"
-checkdepends="xvfb"
-subpackages="$pkgname-doc"
-source="https://github.com/jordansissel/keynav/archive/$_gitrev/keynav-$_gitrev.tar.gz"
-builddir="$srcdir/keynav-$_gitrev"
-
-build() {
- make
-}
-
-check() {
- ./test.sh
-}
-
-package() {
- install -Dm0755 keynav $pkgdir/usr/bin/keynav
- make keynav.1
- install -Dm644 ./*.1 -t $pkgdir/usr/share/man/man1/
-}
-sha512sums="5e0e3c4cf3b89a2ffecfc662d379864f18cfa0f9117564cc1f551757dc46e5a4684c3fea0891ae39da872ece9ef44b8b81fa51f0843457d4895db8517d7bd094 keynav-78f9e076a5618aba43b030fbb9344c415c30c1e5.tar.gz"
diff --git a/testing/keystone/APKBUILD b/testing/keystone/APKBUILD
index a41e195b8e7..fd79ad90237 100644
--- a/testing/keystone/APKBUILD
+++ b/testing/keystone/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=keystone
pkgver=0.9.2
-pkgrel=3
+pkgrel=6
pkgdesc="Keystone assembler framework: Core (Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ & X86) + bindings"
url="https://www.keystone-engine.org/"
arch="all !riscv64" # weird cmake + autoconf hybrid system is weird and hates riscv
license="custom"
makedepends="cmake python3-dev py3-setuptools"
-subpackages="$pkgname-dev $pkgname-python"
+subpackages="$pkgname-dev $pkgname-python-pyc $pkgname-python"
source="$pkgname-$pkgver.tar.gz::https://github.com/keystone-engine/keystone/archive/$pkgver.tar.gz"
prepare() {
@@ -35,7 +35,7 @@ package() {
make -C build-shared DESTDIR="$pkgdir" install
cd "$builddir"/bindings/python
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
python() {
diff --git a/testing/kfc/APKBUILD b/testing/kfc/APKBUILD
new file mode 100644
index 00000000000..cb65a3d731b
--- /dev/null
+++ b/testing/kfc/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=kfc
+pkgver=0.1.4
+pkgrel=0
+pkgdesc="Terminal-emulator color palette setter written in POSIX C99"
+url="https://github.com/mcpcpc/kfc"
+arch="all"
+license="MIT"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mcpcpc/kfc/archive/$pkgver.tar.gz
+ $pkgname-no-x11.patch::https://github.com/mcpcpc/kfc/commit/5c8017255c976ca47bd027dda76df3e07010f667.diff
+ "
+options="!check" # No tests
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+c9f282732149c88c186154ba8f2b3e30d1c3adaf7f15ddc78b97488598d4dd8863dedec595e1799d0ff8c612e206a3e432fa32dda4228f388494fcc1202d22fd kfc-0.1.4.tar.gz
+080c27b7a64470a480290484c38feba91b9a1add1f559b43df0a2795ac486b5a3f1e55de3c218f85b545d61d93d0f81008207ce881413778a27052770b8a654e kfc-no-x11.patch
+"
diff --git a/testing/kgeotag/APKBUILD b/testing/kgeotag/APKBUILD
deleted file mode 100644
index 80fdd47ca7f..00000000000
--- a/testing/kgeotag/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=kgeotag
-pkgver=1.2.0
-pkgrel=0
-# armhf blocked by extra-cmake-modules
-# ppc64le blocked by qt5-qtwebengine -> marble
-# s390x, riscv64 blocked by polkit -> kxmlgui
-arch="all !armhf !ppc64le !s390x !riscv64"
-url="https://apps.kde.org/kgeotag/"
-pkgdesc="Photo geotagging program"
-license="GPL-3.0-or-later"
-makedepends="
- extra-cmake-modules
- kconfigwidgets-dev
- kcoreaddons-dev
- kcrash-dev
- ki18n-dev
- kxmlgui-dev
- libkexiv2-dev
- marble-dev
- qt5-qtbase-dev
- "
-checkdepends="xvfb-run"
-source="https://download.kde.org/stable/kgeotag/$pkgver/kgeotag-$pkgver.tar.xz"
-subpackages="$pkgname-lang"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-818a89babe613602b9843109c10632b09dfe0bba5e28d5332eb17c1c3841a30049dbe298a4b3c8123d72751dfa29eb5994d9d4e683a85f9b121161005c4fee65 kgeotag-1.2.0.tar.xz
-"
diff --git a/testing/khal/APKBUILD b/testing/khal/APKBUILD
deleted file mode 100644
index 9161ab00bd4..00000000000
--- a/testing/khal/APKBUILD
+++ /dev/null
@@ -1,60 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=khal
-_pyname=$pkgname
-pkgver=0.10.4
-pkgrel=1
-pkgdesc="CLI calendar application build around CalDAV"
-url="https://lostpackets.de/khal"
-arch="noarch"
-license="MIT"
-options="net"
-depends="
- python3
- py3-atomicwrites
- py3-click
- py3-click-log
- py3-configobj
- py3-dateutil
- py3-icalendar
- py3-tz
- py3-tzlocal
- py3-urwid
- py3-xdg
- "
-makedepends="py3-setuptools py3-setuptools_scm py3-sphinx py3-sphinxcontrib-newsfeed"
-checkdepends="py3-pytest py3-freezegun vdirsyncer"
-subpackages="$pkgname-doc"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
- make -C doc man PYTHONPATH="$PWD"
-}
-
-check() {
- # skip locale tests
- # many tests are flaky: https://github.com/pimutils/khal/issues/860
- # test_import_from_stdin doesn't work in docker: https://github.com/pimutils/khal/issues/683
- local skip_tests="
- not test_vertical_month_unicode \
- and not test_vertical_month_unicode_weekdeays \
- and not test_vertical_month_unicode_weekdeays_gr \
- and not test_vertical_month_abbr_fr \
- and not test_multi_uid_vdir \
- and not test_event_different_timezones \
- and not test_birthdays \
- and not test_birthdays_no_year \
- and not test_birthdays_29feb \
- and not test_import_from_stdin"
- pytest -v -k "$skip_tests"
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- install -Dm644 doc/build/man/$pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
-}
-
-sha512sums="
-b32f1bfe5d3a3976278726a6570eb345a5ad44f63a52b75f045fd0509d145edd5b76e11a10acffd9c3982edc124f93daec34a37c39299c2311796c0314016eb6 khal-0.10.4.tar.gz
-"
diff --git a/testing/khard/APKBUILD b/testing/khard/APKBUILD
deleted file mode 100644
index d44317d481f..00000000000
--- a/testing/khard/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=khard
-pkgver=0.17.0
-pkgrel=2
-pkgdesc="Console CardDAV client"
-url="https://github.com/scheibler/khard"
-arch="noarch !x86" # deps not available on x86
-license="GPL-3.0-only"
-depends="
- python3
- py3-atomicwrites
- py3-configobj
- py3-ruamel.yaml
- py3-unidecode
- py3-vobject
- "
-makedepends="
- py3-setuptools
- py3-setuptools_scm
- py3-sphinx
- py3-sphinx-autoapi
- py3-sphinx-autodoc-typehints
- "
-checkdepends="py3-pytest"
-subpackages="$pkgname-doc"
-source="https://files.pythonhosted.org/packages/source/k/khard/khard-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
- make -C doc man
-}
-
-check() {
- pytest -v -s
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- install -Dm644 doc/build/man/$pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
- install -Dm644 doc/build/man/$pkgname.conf.5 "$pkgdir"/usr/share/man/man5/$pkgname.conf.5
-}
-
-sha512sums="
-9cb936aeaa327b9837488a752906bf603429ca0c7240703829220119049f5f62e84f7e4c90bb81799307fe446c3aa47fe6ee4112c276b6bb329c959be438ba25 khard-0.17.0.tar.gz
-"
diff --git a/testing/khinsider/APKBUILD b/testing/khinsider/APKBUILD
new file mode 100644
index 00000000000..02a8086e681
--- /dev/null
+++ b/testing/khinsider/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=khinsider
+pkgver=2.0.7
+pkgrel=12
+pkgdesc="A khinsider downloader written in Go"
+url="https://github.com/marcus-crane/khinsider"
+arch="all"
+license="MIT"
+makedepends="go"
+source="https://github.com/marcus-crane/khinsider/archive/v$pkgver/khinsider-v$pkgver.tar.gz"
+options="!check net" # No upstream tests
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+prepare() {
+ default_prepare
+ go mod download
+}
+
+build() {
+ go build
+}
+
+package() {
+ install -Dm755 "$builddir"/khinsider "$pkgdir"/usr/bin/khinsider
+}
+
+sha512sums="
+f91b2c3f27fd1704b1fbeef31f202a50438ef37915b912cb6b391ea0553aa15e361f258cf99691cd434b3b30fd7b296b8fec584f436ccdf384267a001afbc3f5 khinsider-v2.0.7.tar.gz
+"
diff --git a/testing/khronos/APKBUILD b/testing/khronos/APKBUILD
new file mode 100644
index 00000000000..65b2619c2ce
--- /dev/null
+++ b/testing/khronos/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=khronos
+pkgver=4.0.1
+pkgrel=0
+pkgdesc="Track each task's time in a simple inobtrusive way"
+url="https://github.com/lainsce/khronos/"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ desktop-file-utils
+ gtk4.0-dev
+ json-glib-dev
+ libadwaita-dev
+ libgee-dev
+ meson
+ vala
+ "
+subpackages="$pkgname-lang"
+source="https://github.com/lainsce/khronos/archive/refs/tags/$pkgver/khronos-$pkgver.tar.gz"
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+e69c5fda0ea645cd69d65bc55d3b2bfd9b3da1e4099f41fd94fdcbf11e55a30a15a6ccb46d1b678112858d4f8aae36e78f289c146b344c903eb96d689760d253 khronos-4.0.1.tar.gz
+"
diff --git a/testing/kicad-library/APKBUILD b/testing/kicad-library/APKBUILD
deleted file mode 100644
index 0231ed67f83..00000000000
--- a/testing/kicad-library/APKBUILD
+++ /dev/null
@@ -1,58 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=kicad-library
-pkgver=6.0.1
-pkgrel=0
-pkgdesc="Kicad component and footprint libraries"
-url="https://kicad.github.io/"
-# limited by kicad
-arch="noarch !riscv64 !s390x"
-license="GPL-3.0-or-later"
-makedepends="cmake"
-depends="kicad"
-subpackages="$pkgname-3d:three_d"
-source="
- https://gitlab.com/kicad/libraries/kicad-symbols/-/archive/$pkgver/kicad-symbols-$pkgver.tar.bz2
- https://gitlab.com/kicad/libraries/kicad-footprints/-/archive/$pkgver/kicad-footprints-$pkgver.tar.bz2
- https://gitlab.com/kicad/libraries/kicad-packages3D/-/archive/$pkgver/kicad-packages3D-$pkgver.tar.bz2
- "
-options="!check" # package only provides data files, so not tests possible
-
-build() {
- cd "$srcdir"/kicad-symbols-$pkgver
- cmake . \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-
- cd "$srcdir"/kicad-footprints-$pkgver
- cmake . \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-
- cd "$srcdir"/kicad-packages3D-$pkgver
- cmake . \
- -DCMAKE_INSTALL_PREFIX=/usr
- make
-}
-
-package() {
- cd "$srcdir"/kicad-symbols-$pkgver
- make DESTDIR="$pkgdir" install
-
- cd "$srcdir"/kicad-footprints-$pkgver
- make DESTDIR="$pkgdir" install
-}
-
-three_d() {
- cd "$srcdir"/kicad-packages3D-$pkgver
- make DESTDIR="$subpkgdir" install
-
- # Remove .step version of 3D models; only .wrl versions are needed
- find "$subpkgdir" -name '*.step' -exec rm {} \;
-}
-
-sha512sums="
-7521e405da71cbd2e79909aef251b6989493c8ce2f813eeda2f2603caf38dcf4770ffdb89ee56e0278f3551a4ba83a564fe643249636735896f98c58279505c3 kicad-symbols-6.0.1.tar.bz2
-f1f889f9d3e660c53d19bf19cf2cfff648fbddf1131e4388f08069728d19931623b411fddc7ca3908a3634e7e0aa2bbaf4cb2df0b5580cd11a7443a81c3a80d1 kicad-footprints-6.0.1.tar.bz2
-aed9c2d25e4da28081b150324a031d2ceb865ddb83b6020de8490a2e30da4b52ddbb08a922d00b672a4afb7f3e1b87d766cce26ce3ba16b586fdd3fd04af44dc kicad-packages3D-6.0.1.tar.bz2
-"
diff --git a/testing/kicad/APKBUILD b/testing/kicad/APKBUILD
deleted file mode 100644
index c2f35b8129e..00000000000
--- a/testing/kicad/APKBUILD
+++ /dev/null
@@ -1,110 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=kicad
-pkgver=6.0.1
-pkgrel=0
-pkgdesc="A Cross Platform and Open Source Electronics Design Automation Suite"
-url="https://kicad-pcb.org/"
-# No support for s390x/riscv64 in libcontext (shipped with kicad) broken on mips
-arch="all !riscv64 !s390x"
-license="GPL-3.0-or-later"
-makedepends="
- boost-dev
- cairo-dev
- chrpath
- cmake
- curl-dev
- glew-dev
- glm-dev
- ngspice-dev
- py3-wxpython
- python3-dev
- swig
- wxgtk-base-dev
- wxgtk3-dev
- zlib-dev
- "
-depends="python3"
-subpackages="$pkgname-doc"
-source="
- https://gitlab.com/kicad/code/kicad/-/archive/$pkgver/kicad-$pkgver.tar.gz
- "
-
-case "$CARCH" in
- x86_64)
- makedepends="$makedepends opencascade-dev vtk-dev"
- subpackages="$subpackages kicad-opencascade"
- ;;
- *)
- # Dependency opencascade (needed for STEP file support in 3D preview)
- # not available on all other architectures
- ;;
-esac
-
-_build_kicad() {
- mkdir -p "$1"
- cd "$1"
- cmake .. \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DKICAD_USE_OCE=OFF \
- -DKICAD_USE_OCC=$2 \
- -DKICAD_SCRIPTING=ON \
- -DKICAD_SCRIPTING_PYTHON3=ON \
- -DKICAD_SCRIPTING_MODULES=ON \
- -DKICAD_SCRIPTING_WXPYTHON=ON \
- -DKICAD_SCRIPTING_ACTION_MENU=ON \
- -DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON \
- -DwxWidgets_CONFIG_EXECUTABLE=/usr/bin/wx-config-gtk3 \
- -DwxWidgets_INCLUDE_DIRS=/usr/include \
- -DBUILD_GITHUB_PLUGIN=ON
- make
- cd "$builddir"
-}
-
-build() {
- # First build without opencascade
- _build_kicad "build" "OFF"
-
- # Now build with opencascade, if possible
- case "$CARCH" in
- x86_64)
- _build_kicad "build-occ" "ON"
- ;;
- *)
- # Dependency opencascade (needed for STEP file support in 3D preview)
- # not available on all other architectures
- ;;
- esac
-}
-
-check() {
- cd build
- make test
-}
-
-package() {
- cd build
- make DESTDIR="$pkgdir" install
-
- local sitedir=$(python3 -c "import site; print(site.getsitepackages()[0])")
- chrpath -d "$pkgdir/$sitedir"/_pcbnew.so
-}
-
-opencascade() {
- pkgdesc="kicad with support for STEP file in 3D preview"
- replaces="$pkgname"
- provides="$pkgname=$pkgver-r$pkgrel"
- cd "$builddir/build-occ"
- make DESTDIR="$subpkgdir" install
- # Remove documentation. $pkgname-doc is build from the root package.
- rm -rf "$subpkgdir"/usr/shared/doc
-
- local sitedir=$(python3 -c "import site; print(site.getsitepackages()[0])")
- chrpath -d "$subpkgdir/$sitedir"/_pcbnew.so
-}
-
-sha512sums="
-a257c69e0515c6d0c709bb59f632daff6e1e2108e1b1d4553d0cde397d551c3bfd969471dc63efdb12d57202842e1f645026650e2a7ca2c8af8b7150ceaebb3d kicad-6.0.1.tar.gz
-"
diff --git a/testing/kimchi/APKBUILD b/testing/kimchi/APKBUILD
index 1cae05d6ea1..9dd0eb48c06 100644
--- a/testing/kimchi/APKBUILD
+++ b/testing/kimchi/APKBUILD
@@ -2,11 +2,11 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=kimchi
pkgver=3.0.0
-pkgrel=2
+pkgrel=7
pkgdesc="An HTML5 management interface for KVM"
url="https://github.com/kimchi-project/kimchi"
-arch="noarch !mips64 !s390x !riscv64" # blocked by wok and others
-license="Apache-2.0 and LGPL-2.1-or-later"
+arch="noarch !s390x !riscv64" # blocked by wok and others
+license="Apache-2.0 AND LGPL-2.1-or-later"
depends="
gingerbase
libvirt-daemon
@@ -26,7 +26,6 @@ depends="
py3-pillow
py3-psutil
py3-simplejson
- py3-six
py3-yaml
python3
qemu
@@ -47,19 +46,17 @@ makedepends="
libxslt
py3-cherrypy
py3-mock
- py3-pip
py3-pyflakes
py3-pytest
- py3-requests
py3-setuptools
python3-dev
- spice-html5
"
+checkdepends="py3-requests"
options="!check" # depends on jaraco
-subpackages="$pkgname-lang"
+subpackages="$pkgname-lang $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/kimchi-project/kimchi/archive/$pkgver.tar.gz"
-build() {
+build() {
sh ./autogen.sh --system
./configure \
--prefix=/usr \
@@ -77,4 +74,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="0a10a4eb5a08d3bb9e16e9388031a1f01623aa150a66abcb7e25abac065151979777bfdc880ed9c200b028649766234776a64336c2a2e3a67f0d858d0afcda66 kimchi-3.0.0.tar.gz"
+sha512sums="
+0a10a4eb5a08d3bb9e16e9388031a1f01623aa150a66abcb7e25abac065151979777bfdc880ed9c200b028649766234776a64336c2a2e3a67f0d858d0afcda66 kimchi-3.0.0.tar.gz
+"
diff --git a/testing/kind/APKBUILD b/testing/kind/APKBUILD
new file mode 100644
index 00000000000..3031ac85728
--- /dev/null
+++ b/testing/kind/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=kind
+pkgver=0.22.0
+pkgrel=2
+pkgdesc="Kubernetes IN Docker - local clusters for testing Kubernetes"
+url="https://kind.sigs.k8s.io/"
+license="Apache-2.0"
+arch="all"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/kubernetes-sigs/kind/archive/v$pkgver/kind-$pkgver.tar.gz
+ skip-version-test.patch
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build
+
+ ./kind completion bash > $pkgname.bash
+ ./kind completion fish > $pkgname.fish
+ ./kind completion zsh > $pkgname.zsh
+}
+
+check() {
+ go test -tags=nointegration ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+f9e6570cb7696a85a4b03ef1a474a3c41c1f7b2350bd182dbabddf00685d91351853452871a7729220e8643be7c1975de9b49d7178a739349babf05993f36c1e kind-0.22.0.tar.gz
+6993628a0a5c938b0e59b92e04b32bd7d454dc4ee7e5c445c4122dacdb786d0372836c59749c767f5921b9ac96b4452c5d696c2c7d701ea8e10ac256d6d7d67c skip-version-test.patch
+"
diff --git a/testing/kind/skip-version-test.patch b/testing/kind/skip-version-test.patch
new file mode 100644
index 00000000000..8ce38a4a7fc
--- /dev/null
+++ b/testing/kind/skip-version-test.patch
@@ -0,0 +1,11 @@
+--- a/pkg/cmd/kind/version/version_test.go
++++ b/pkg/cmd/kind/version/version_test.go
+@@ -62,6 +62,8 @@ func TestTruncate(t *testing.T) {
+ }
+
+ func TestVersion(t *testing.T) {
++ t.Skip("only works on prerelease versions")
++
+ tests := []struct {
+ name string
+ gitCommit string
diff --git a/testing/kine/APKBUILD b/testing/kine/APKBUILD
index 1ac12748971..27177592516 100644
--- a/testing/kine/APKBUILD
+++ b/testing/kine/APKBUILD
@@ -1,19 +1,25 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=kine
-pkgver=0.5.1
-pkgrel=2
+pkgver=0.10.1
+pkgrel=4
pkgdesc="etcd API with sqlite, Postgres, Mysql, or dqlite backed"
-url="https://github.com/rancher/kine"
-arch="all !mips !mips64"
+url="https://github.com/k3s-io/kine"
+arch="all"
license="Apache-2.0"
makedepends="sqlite-dev go"
subpackages="$pkgname-doc"
options="!check" # no testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/rancher/kine/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/k3s-io/kine/archive/v$pkgver.tar.gz"
provides="etcd-api"
+provider_priority=1
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- go build -v -ldflags="-w -s" .
+ go build -v .
}
package() {
@@ -21,4 +27,6 @@ package() {
install -D -m644 LICENSE "$pkgdir"/usr/share/licenses/kine/LICENSE
}
-sha512sums="0eb5bbfd473fc0a656f0592e655fffd23b83277c3d1f3e6e338f2362b1e168dbf497c503f013a4b56cf2bd1fe5b95f74024ee53bc452765799cc903c12a2df59 kine-0.5.1.tar.gz"
+sha512sums="
+01b94a0ede751d03ef91c8a33be65fc95212147cec5df7eecbb6b6b35af0d1f002abed6c22caedeea38c13f5422b8385d5d7d8ff1d5ade9046964e0a30eec5f7 kine-0.10.1.tar.gz
+"
diff --git a/testing/kirc/APKBUILD b/testing/kirc/APKBUILD
new file mode 100644
index 00000000000..06bbbd985da
--- /dev/null
+++ b/testing/kirc/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=kirc
+pkgver=0.3.2
+pkgrel=0
+pkgdesc="Tiny IRC client written in POSIX C99"
+url="https://github.com/mcpcpc/kirc"
+arch="all"
+license="MIT"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mcpcpc/kirc/archive/$pkgver.tar.gz"
+options="!check" # No tests
+
+prepare() {
+ default_prepare
+ sed -i 's/^\(install:\) all$/\1/' Makefile
+}
+
+build() {
+ make PREFIX=/usr CFLAGS="$CFLAGS -std=c99"
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+12fe29a93d8f95ba60b8e77ab984fcbfee5102c2ddd5633690f24f67be376a36c0f6e0516dd311a2e8d351b249054c68150fb4ffb023822418416ac9fe8c15ff kirc-0.3.2.tar.gz
+"
diff --git a/testing/kismet/APKBUILD b/testing/kismet/APKBUILD
index fc81de38f74..fd8a5f4a96a 100644
--- a/testing/kismet/APKBUILD
+++ b/testing/kismet/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: George Hopkins <george-hopkins@null.net>
# Maintainer: George Hopkins <george-hopkins@null.net>
pkgname=kismet
-_pkgver=2020-12-R3
+_pkgver=2023-07-R1
pkgver=${_pkgver/-R/.}
pkgver=0.${pkgver/-/}
pkgrel=2
@@ -9,8 +9,18 @@ pkgdesc="Wireless network and device detector"
url="https://www.kismetwireless.net/"
arch="all"
license="GPL-2.0-only"
-makedepends="linux-headers libnl3-dev libpcap-dev protobuf-dev protobuf-c-dev
- sqlite-dev zlib-dev"
+makedepends="
+ abseil-cpp-dev
+ libnl3-dev
+ libpcap-dev
+ linux-headers
+ openssl-dev
+ pcre2-dev
+ protobuf-c-dev
+ protobuf-dev
+ sqlite-dev
+ zlib-dev
+ "
subpackages="$pkgname-logtools
$pkgname-linux-bluetooth:linux_bluetooth
$pkgname-linux-wifi:linux_wifi
@@ -18,13 +28,9 @@ subpackages="$pkgname-logtools
$pkgname-nxp-kw41z:nxp_kw41z
"
options="!check" # no test-suite available
-source="$pkgname-$pkgver.tar.xz::https://www.kismetwireless.net/code/kismet-$_pkgver.tar.xz
- sqlite3-longlong.patch
- "
+source="$pkgname-$pkgver.tar.xz::https://www.kismetwireless.net/code/kismet-$_pkgver.tar.xz"
builddir="$srcdir/kismet-$_pkgver"
-[ "$CARCH" = "riscv64" ] && options="$options textrels"
-
prepare() {
default_prepare
update_config_sub
@@ -39,8 +45,9 @@ build() {
--sysconfdir=/etc/kismet \
--disable-libusb \
--disable-libwebsockets \
- --disable-python-tools
- make
+ --disable-python-tools \
+ --disable-wifi-coconut
+ make -j $((JOBS < 16 ? JOBS : 16))
}
package() {
@@ -51,41 +58,37 @@ package() {
logtools() {
pkgdesc="$pkgdesc - log tools"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/kismetdb_* "$subpkgdir"/usr/bin
+ amove usr/bin/kismetdb_*
}
linux_bluetooth() {
pkgdesc="$pkgdesc - Bluetooth capture support"
- depends="$pkgname"
+ depends="$pkgname=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/kismet_cap_linux_bluetooth "$subpkgdir"/usr/bin
+ amove usr/bin/kismet_cap_linux_bluetooth
}
linux_wifi() {
pkgdesc="$pkgdesc - Wi-Fi capture support"
- depends="$pkgname"
+ depends="$pkgname=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/kismet_cap_linux_wifi "$subpkgdir"/usr/bin
+ amove usr/bin/kismet_cap_linux_wifi
}
nrf_51822() {
pkgdesc="$pkgdesc - nRF51822 capture support"
- depends="$pkgname"
+ depends="$pkgname=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/kismet_cap_nrf_51822 "$subpkgdir"/usr/bin
+ amove usr/bin/kismet_cap_nrf_51822
}
nxp_kw41z() {
pkgdesc="$pkgdesc - NXP KW41Z capture support"
- depends="$pkgname"
+ depends="$pkgname=$pkgver-r$pkgrel"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/kismet_cap_nxp_kw41z "$subpkgdir"/usr/bin
+ amove usr/bin/kismet_cap_nxp_kw41z
}
-sha512sums="6c4c95a9963977d5a383e34f662f814a803d0d36d7dbc35d3d0a42d3e67c20e8d46357df0ee544b8dd3c7f527bd43ef9c0d913577d4979f261764fc9761cd6d1 kismet-0.202012.3.tar.xz
-1f49cf45963f32b1eaec9b15e5cab53f46999362f87daf9b39f8f244fa3dd1ac602f0a22eb04682a3a22abcaf2b09fc59060ff12626844e77125b6a28e4350bd sqlite3-longlong.patch"
+sha512sums="
+b8b320b8e09be5be582848ce8a1a66f71a96eccc3c78f52d3f1f18122abbe614ff3b5a55b5fcedf3e6a1fc959a72838adc0d7278ffd6c25a1c179a1caf5584ce kismet-0.202307.1.tar.xz
+"
diff --git a/testing/kismet/sqlite3-longlong.patch b/testing/kismet/sqlite3-longlong.patch
deleted file mode 100644
index 9fa7d83fd6c..00000000000
--- a/testing/kismet/sqlite3-longlong.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-On some systems time_t is defined as long long. In this case, the
-current release does not contain the appropriate getter to read
-values of this type from the database.
-
-https://github.com/kismetwireless/kismet/pull/334
-
-diff -ru a/sqlite3_cpp11.cc b/sqlite3_cpp11.cc
---- a/sqlite3_cpp11.cc 2020-12-06 21:24:46.000000000 +0100
-+++ b/sqlite3_cpp11.cc 2021-01-04 11:21:17.239367923 +0100
-@@ -412,6 +412,11 @@
- }
-
- template<>
-+ long long sqlite3_column_as(std::shared_ptr<sqlite3_stmt> stmt, unsigned int column) {
-+ return (long long) sqlite3_column_int64(stmt.get(), column);
-+ }
-+
-+ template<>
- unsigned long long sqlite3_column_as(std::shared_ptr<sqlite3_stmt> stmt, unsigned int column) {
- return (unsigned long long) sqlite3_column_int64(stmt.get(), column);
- }
diff --git a/testing/kiwix-desktop/APKBUILD b/testing/kiwix-desktop/APKBUILD
deleted file mode 100644
index 5c6b11c4310..00000000000
--- a/testing/kiwix-desktop/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Thomas Kienlen <kommander@laposte.net>
-# Maintainer: Thomas Kienlen <kommander@laposte.net>
-pkgname=kiwix-desktop
-pkgver=2.0.5
-pkgrel=0
-pkgdesc="Offline Wikipedia reader"
-url="https://github.com/kiwix/kiwix-desktop"
-# mips64, ppc64le, s390x and riscv64 blocked by qt5-qtwebengine
-arch="all !armhf !mips64 !ppc64le !s390x !riscv64"
-license="GPL-3.0-or-later"
-makedepends="
- qt5-qtbase-dev
- qt5-qtwebengine-dev
- qt5-qtsvg-dev
- qt5-qtimageformats
- kiwix-lib-dev
- "
-source="https://github.com/kiwix/kiwix-desktop/archive/$pkgver/kiwix-desktop-$pkgver.tar.gz"
-options="!check" # no test suite
-
-build() {
- qmake-qt5 PREFIX="/usr"
- make
-}
-
-package() {
- INSTALL_ROOT="$pkgdir" make install
-}
-
-sha512sums="
-0570230ff06d13a3023859f2c95677d423aabfc6310d4abd5c17b7ba3537f10f7c1a7a0bd6120f3facfdd86f723356378a8c2571c6694ebc2c02e65fbd516b00 kiwix-desktop-2.0.5.tar.gz
-"
diff --git a/testing/kiwix-lib/APKBUILD b/testing/kiwix-lib/APKBUILD
deleted file mode 100644
index 75ea775ef8c..00000000000
--- a/testing/kiwix-lib/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Thomas Kienlen <kommander@laposte.net>
-# Maintainer: Thomas Kienlen <kommander@laposte.net>
-pkgname=kiwix-lib
-_pkgname=libkiwix
-pkgver=9.4.1
-pkgrel=1
-pkgdesc="Common code base for all Kiwix ports"
-url="https://github.com/kiwix/kiwix-lib"
-license="GPL-3.0-or-later"
-arch="all !mips !mips64" # blocked by libzim
-depends="aria2"
-makedepends="
- meson gtest-dev
- libzim-dev pugixml-dev mustache xapian-core-dev libmicrohttpd-dev
- python3 curl-dev
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/kiwix/kiwix-lib/archive/$pkgver.tar.gz"
-subpackages="$pkgname-dev $pkgname-doc"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- meson . build --prefix /usr
- ninja -C build
-}
-
-check() {
- ninja -C build meson-test
-}
-
-package() {
- DESTDIR="$pkgdir" ninja -C build install
-}
-
-sha512sums="95aef7cc016341995c2d3415ac0553d745c8d9345d06df35c269acec7113ff5762cd863756a09d259b64d745b98d7dc8ff898edd805442da0279ee0e0b1b061b kiwix-lib-9.4.1.tar.gz"
diff --git a/testing/kiwix-tools/APKBUILD b/testing/kiwix-tools/APKBUILD
deleted file mode 100644
index 2ad7c3ba589..00000000000
--- a/testing/kiwix-tools/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Thomas Kienlen <kommander@laposte.net>
-# Maintainer: Thomas Kienlen <kommander@laposte.net>
-pkgname=kiwix-tools
-pkgver=3.1.2
-pkgrel=0
-pkgdesc="Kiwix command line tools"
-url="https://github.com/kiwix/kiwix-tools"
-arch="all !mips64"
-license="GPL-3.0-or-later"
-makedepends="
- meson
- kiwix-lib-dev
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/kiwix/kiwix-tools/archive/$pkgver.tar.gz"
-options="!check" # no test suite
-subpackages="$pkgname-doc"
-
-build() {
- meson . build --prefix /usr
- ninja -C build
-}
-
-package() {
- DESTDIR="$pkgdir" ninja -C build install
-}
-
-sha512sums="35787bb209947c2826202fe7a774afeedb768fb351e2d2e496879fa0c950608d2407838f649e4e2867cc0fd0b3050b409a65bb7eb241c0464ae552b54831c77c kiwix-tools-3.1.2.tar.gz"
diff --git a/testing/kjv/APKBUILD b/testing/kjv/APKBUILD
new file mode 100644
index 00000000000..a6114ecc917
--- /dev/null
+++ b/testing/kjv/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Adam Thiede <me@adamthiede.com>
+# Maintainer: Adam Thiede <me@adamthiede.com>
+pkgname=kjv
+_pkgbase=0
+_pkgsnap=20221103
+_commit=1b675c0396806a2a3d134c51fd11d9fed8ea3dc5
+pkgver=${_pkgbase}_git$_pkgsnap
+pkgrel=0
+pkgdesc="Read the Word of God from your terminal"
+url="https://github.com/LukeSmithxyz/kjv"
+arch="noarch"
+license="Unlicense"
+depends="less sed gawk"
+makedepends="make tar"
+checkdepends="shellcheck"
+options="!check"
+source="$pkgname-$pkgver.tar.gz::https://github.com/LukeSmithxyz/kjv/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit/"
+
+check() {
+ make test
+}
+
+package() {
+ make install PREFIX="$pkgdir"/usr
+}
+
+sha512sums="
+b4003456e404adcea109f68bea1e564ad3ba89a11c9fae0d0c458a9e88d1873e2c80af2221e8af5a8e0b546cb286a5732293426b1ed9e525e933c26428fd4158 kjv-0_git20221103.tar.gz
+"
diff --git a/testing/klfc/APKBUILD b/testing/klfc/APKBUILD
index a845b9ef43e..2c6bd11ff1c 100644
--- a/testing/klfc/APKBUILD
+++ b/testing/klfc/APKBUILD
@@ -1,15 +1,17 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer:
pkgname=klfc
-pkgver=1.5.6
-pkgrel=1
+pkgver=1.5.7
+pkgrel=0
pkgdesc="Keyboard Layout Files Creator"
url="https://github.com/39aldo39/klfc"
-arch="" # failed to build, limited by ghc / cabal
+arch="x86_64 aarch64" # limited by ghc / cabal
license="GPL-3.0"
makedepends="cabal ghc"
subpackages="$pkgname-doc"
source="https://github.com/39aldo39/klfc/archive/v$pkgver/klfc-$pkgver.tar.gz
+ ghc9-001.patch
+ ghc9-002.patch
cabal.config
"
options="!check" # it seems that no tests are provided
@@ -18,20 +20,19 @@ options="!check" # it seems that no tests are provided
export CABAL_DIR="$srcdir/.cabal"
cabal_update() {
- abuild unpack
-
msg "Freezing $pkgname dependencies"
# Resolve deps and generate fresh cabal.config with version constraints.
cabal update
+ (
+ cd "$builddir"
+ cabal v1-freeze --shadow-installed-packages
- cd "$builddir"
- cabal freeze --shadow-installed-packages
-
- # Add version tag at the first line.
- sed -i "1i--$pkgver" cabal.config
+ # Add version tag at the first line.
+ sed -i "1i--$pkgver" cabal.config
- mv cabal.config "$startdir"/
+ mv cabal.config "$startdir"/
+ )
cd "$startdir"
abuild checksum || die "Failed to update checksum, run 'abuild checksum' manually"
@@ -44,11 +45,11 @@ prepare() {
die "Requirements file is outdated, run 'abuild cabal_update'"
fi
ln -sf "$srcdir"/cabal.config "$builddir"/cabal.config
-
- cabal update
}
build() {
+ cabal update
+ cabal install --only-dependencies
cabal configure \
--prefix='/usr' \
--bindir='$prefix/bin' \
@@ -63,6 +64,10 @@ build() {
cabal build
}
+check() {
+ cabal test
+}
+
package() {
local docdir="$pkgdir/usr/share/doc/$pkgname"
@@ -75,6 +80,8 @@ package() {
}
sha512sums="
-218190f53b5bfe4f438ef6831cabbccc3359ace821e4ce1937515bc08bb8ae459b5b1361c0ce42f839cfd657e76f089d3f088c5c4e04efdb783a5c2ee52eccf5 klfc-1.5.6.tar.gz
-368d0ff3a6ba3fdc8deec13868240b55cccfd674783bd8837bad2338a424ae30a9978f266e8d418648bb878afde6ddd381f2ad6d9793e4a52d4f60c217a2b082 cabal.config
+bae6c7b3c21419e9fea73b38eaea7c7c27b9cb78b5bccd7ce11e733729f37d8d0b8d20435fa63bfb3c5be6479cca0caccc63d59a99aa04477414eddf9ce20919 klfc-1.5.7.tar.gz
+6acf2cb52be8b22bf8d40186bbea8a211f7237b808d72321d077722d33f9fb5f3da5f7f2ed345b2a8631046c31ed0feaeec3cb4ea24f68439d2af48f366e2a1b ghc9-001.patch
+febe8b7ce38393f8f0576cfd77c4eca56864c05c9028c2f94cf008f73eeca753c6247a71f03728e8f650e612193cf737b95b9ad3fbc96edc251f8fedc3cfe8ce ghc9-002.patch
+5be1e6dbfe1849fb5b7c01ada95ccdbf0c769463bac62dc49732fed8346e6b32bab2a52dadafc9e8cb7608122d85e4bbda4c1dd967a606902e79357e2571fba7 cabal.config
"
diff --git a/testing/klfc/cabal.config b/testing/klfc/cabal.config
index eb14046ebe8..1820689f5db 100644
--- a/testing/klfc/cabal.config
+++ b/testing/klfc/cabal.config
@@ -1,68 +1,68 @@
---1.5.6
+--1.5.7
constraints: aeson ==1.5.6.0,
- ansi-terminal ==0.11,
+ ansi-terminal ==0.11.3,
ansi-wl-pprint ==0.6.9,
array ==0.5.4.0,
assoc ==1.0.2,
- attoparsec ==0.14.1,
- base ==4.13.0.0,
- base-compat ==0.11.2,
- base-compat-batteries ==0.11.2,
- base-orphans ==0.8.4,
- base-prelude ==1.4,
+ attoparsec ==0.14.4,
+ base ==4.15.1.0,
+ base-compat ==0.12.2,
+ base-compat-batteries ==0.12.2,
+ base-orphans ==0.8.7,
+ base-prelude ==1.6.1,
base-unicode-symbols ==0.2.4.2,
- bifunctors ==5.5.11,
- binary ==0.8.7.0,
- bytestring ==0.10.10.1,
+ bifunctors ==5.5.12,
+ binary ==0.8.8.0,
+ bytestring ==0.10.12.1,
case-insensitive ==1.2.1.0,
chunked-data ==0.3.1,
colour ==2.3.6,
comonad ==5.0.8,
- containers ==0.6.2.1,
+ containers ==0.6.4.1,
containers-unicode-symbols ==0.3.1.3,
data-fix ==0.3.2,
- deepseq ==1.4.4.0,
- directory ==1.3.6.0,
+ deepseq ==1.4.5.0,
+ directory ==1.3.6.2,
distributive ==0.6.2.1,
dlist ==1.0,
fail ==4.9.0.0,
- file-embed ==0.0.14.0,
+ file-embed ==0.0.15.0,
filepath ==1.4.2.1,
- ghc-boot-th ==8.8.4,
- ghc-prim ==0.5.3,
- hashable ==1.3.3.0,
- indexed-traversable ==0.1.1,
- integer-gmp ==1.0.2.0,
+ ghc-bignum ==1.1,
+ ghc-boot-th ==9.0.2,
+ ghc-prim ==0.7.0,
+ hashable ==1.3.5.0,
+ indexed-traversable ==0.1.2,
integer-logarithms ==1.0.3.1,
- megaparsec ==9.1.0,
- microlens ==0.4.12.0,
- microlens-ghc ==0.4.13,
- microlens-mtl ==0.2.0.1,
- microlens-platform ==0.4.2,
+ megaparsec ==9.2.1,
+ microlens ==0.4.13.0,
+ microlens-ghc ==0.4.14.0,
+ microlens-mtl ==0.2.0.2,
+ microlens-platform ==0.4.3.2,
microlens-th ==0.4.3.10,
mtl ==2.2.2,
- optparse-applicative ==0.16.1.0,
+ optparse-applicative ==0.17.0.0,
parser-combinators ==1.3.0,
pretty ==1.1.3.6,
- primitive ==0.7.2.0,
- process ==1.6.9.0,
- random ==1.2.0,
- rts ==1.0,
+ primitive ==0.7.4.0,
+ process ==1.6.13.2,
+ random ==1.2.1.1,
+ rts ==1.0.2,
scientific ==0.3.7.0,
- semigroups ==0.19.1,
- splitmix ==0.1.0.3,
+ semigroups ==0.20,
+ splitmix ==0.1.0.4,
strict ==0.4.0.1,
tagged ==0.8.6.1,
- template-haskell ==2.15.0.0,
- text ==1.2.4.0,
- th-abstraction ==0.4.2.0,
+ template-haskell ==2.17.0.0,
+ text ==1.2.5.0,
+ th-abstraction ==0.4.4.0,
these ==1.1.1.1,
time ==1.9.3,
- time-compat ==1.9.6,
+ time-compat ==1.9.6.1,
transformers ==0.5.6.2,
- transformers-compat ==0.7,
+ transformers-compat ==0.7.2,
unix ==2.7.2.2,
- unordered-containers ==0.2.14.0,
+ unordered-containers ==0.2.19.1,
uuid-types ==1.0.5,
- vector ==0.12.3.0,
+ vector ==0.12.3.1,
xml ==1.3.14
diff --git a/testing/klfc/ghc9-001.patch b/testing/klfc/ghc9-001.patch
new file mode 100644
index 00000000000..265877877a3
--- /dev/null
+++ b/testing/klfc/ghc9-001.patch
@@ -0,0 +1,22 @@
+From ad4a431513470f8386dd7a8c28aeef35187193fe Mon Sep 17 00:00:00 2001
+From: Aldo Gunsing <dev@aldogunsing.nl>
+Date: Fri, 17 Dec 2021 00:11:58 +0100
+Subject: [PATCH] More fixes for GHC 9.0
+
+---
+ src/Layout/Modifier.hs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Layout/Modifier.hs b/src/Layout/Modifier.hs
+index 1fe456e..0d5e44c 100644
+--- a/src/Layout/Modifier.hs
++++ b/src/Layout/Modifier.hs
+@@ -22,7 +22,7 @@ module Layout.Modifier
+ , activatedBy
+ ) where
+
+-import BasePrelude hiding (Alt, Control, empty, fromList)
++import BasePrelude hiding (Alt, Control, empty, fromList, singleton)
+ import Prelude.Unicode hiding ((∈))
+ import Data.Foldable.Unicode ((∈))
+ import Data.Monoid.Unicode ((∅), (⊕))
diff --git a/testing/klfc/ghc9-002.patch b/testing/klfc/ghc9-002.patch
new file mode 100644
index 00000000000..eb8f452bf81
--- /dev/null
+++ b/testing/klfc/ghc9-002.patch
@@ -0,0 +1,41 @@
+From fee9bdeb76cc1f9e9e36b91764aff665c9164164 Mon Sep 17 00:00:00 2001
+From: Aldo Gunsing <dev@aldogunsing.nl>
+Date: Thu, 16 Dec 2021 22:38:09 +0100
+Subject: [PATCH] Fix compilation with GHC 9.0 (#40)
+
+See https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.0#simplified-subsumption
+for the required eta-expansion in lensWithDefault'
+
+Hiding singleton from BasePrelude gives a warning for previous GHC versions,
+but this is a minor issue
+---
+ src/Util.hs | 2 +-
+ src/WithPlus.hs | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Util.hs b/src/Util.hs
+index 0dc0884..dc096db 100644
+--- a/src/Util.hs
++++ b/src/Util.hs
+@@ -80,7 +80,7 @@ lensWithDefault guess setter getter f x =
+ (\y → setter (Just y) x) <$> f (fromMaybe (guess x) (getter x))
+
+ lensWithDefault' ∷ α → (Maybe α → σ → σ) → (σ → Maybe α) → Lens' σ α
+-lensWithDefault' = lensWithDefault ∘ const
++lensWithDefault' x = lensWithDefault (const x)
+
+ (!?) ∷ [α] → Int → Maybe α
+ (!?) xs i =
+diff --git a/src/WithPlus.hs b/src/WithPlus.hs
+index 1a46faf..558591d 100644
+--- a/src/WithPlus.hs
++++ b/src/WithPlus.hs
+@@ -9,7 +9,7 @@ module WithPlus
+ , parseString
+ ) where
+
+-import BasePrelude hiding (toList, fromList)
++import BasePrelude hiding (toList, fromList, singleton)
+ import Prelude.Unicode
+ import Data.Monoid.Unicode ((∅))
+ import Util (HumanReadable, split)
diff --git a/testing/klibc/APKBUILD b/testing/klibc/APKBUILD
deleted file mode 100644
index 54dbbb81175..00000000000
--- a/testing/klibc/APKBUILD
+++ /dev/null
@@ -1,221 +0,0 @@
-# Contributor: Olliver Schinagl <oliver@schinagl.nl>
-# Maintainer: Olliver Schinagl <oliver@schinagl.nl>
-pkgname="klibc"
-pkgver="2.0.9"
-pkgrel=0
-pkgdesc="A minimalistic libc subset for use with initramfs"
-url="https://git.kernel.org/pub/scm/libs/klibc/klibc.git/"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="linux-headers perl"
-subpackages="
- ${pkgname}-dash
- ${pkgname}-dev
- ${pkgname}-doc
- ${pkgname}-static:static
- ${pkgname}-fstype:bins
- ${pkgname}-ipconfig:bins
- ${pkgname}-kinit::noarch
- ${pkgname}-klcc::noarch
- ${pkgname}-nfsmount:bins
- ${pkgname}-resume:bins
- ${pkgname}-run-init:bins
- ${pkgname}-utils
- lib${pkgname}:libs
-"
-source="
- https://git.kernel.org/pub/scm/libs/klibc/klibc.git/snapshot/${pkgname}-${pkgver}.tar.gz
-
- lib${pkgname}.post-deinstall
- lib${pkgname}.post-install
-"
-_installdir="/usr/lib/${pkgname}-${CARCH}/"
-
-# secfixes:
-# 2.0.9-r0:
-# - CVE-2021-31870
-# - CVE-2021-31871
-# - CVE-2021-31872
-# - CVE-2021-31873
-
-build() {
- # klibc's header misses the struct declaration, Linux's misses
- # the function declaration. Combine them here.
- if [ ! -e "${builddir}/usr/include/sys/sysinfo.h.orig" ]; then
- mv "${builddir}/usr/include/sys/sysinfo.h" \
- "${builddir}/usr/include/sys/sysinfo.h.orig"
- fi
- cat \
- "/usr/include/linux/sysinfo.h" \
- "${builddir}/usr/include/sys/sysinfo.h.orig" > \
- "${builddir}/usr/include/sys/sysinfo.h"
-
- make \
- KBUILD_REPRODUCIBLE=1 \
- KLIBCKERNELSRC="/usr/"
-}
-
-check() {
- make \
- KBUILD_REPRODUCIBLE=1 \
- KLIBCKERNELSRC="/usr/" \
- test
-}
-
-package() {
- depends="
- lib${pkgname}
- ${pkgname}-dash
- ${pkgname}-kinit
- ${pkgname}-utils
- "
-
-case "${CARCH}" in
- aarch64)
- _klibcarch="arm64"
- ;;
- armhf)
- _klibcarch="arm"
- CPU_ARCH="armv6zk"
- CPU_TUNE="arm1176jzf-s"
- ;;
- armv7)
- _klibcarch="arm"
- CPU_ARCH="armv7"
- CPU_TUNE="generic-armv7-a"
- ;;
- mips|mipsel)
- _klibcarch="mips"
- ;;
- mips64|mips64el)
- _klibcarch="mips64"
- ;;
- ppc)
- _klibcarch="ppc"
- ;;
- ppc64|ppc64le)
- _klibcarch="ppc64"
- ;;
- riscv64)
- _klibcarch="riscv64"
- ;;
- s390x)
- _klibcarch="s390"
- ;;
- x86)
- _klibcarch="i386"
- ;;
- x86_64)
- _klibcarch="x86_64"
- ;;
- *)
- echo 'Unsupported architecture'
- ;;
- esac
- export CPU_ARCH
- export CPU_TUNE
- make \
- INSTALLDIR="${_installdir}" \
- INSTALLROOT="${pkgdir}" \
- KBUILD_REPRODUCIBLE=1 \
- KLIBCKERNELSRC="/usr/" \
- mandir="/usr/share/man" \
- install
-
- # Duplicated in INSTALLDIR/lib and replaced with post.install
- rm -r "${pkgdir:?}/lib"
-
- for _arch in "${pkgdir}/${_installdir}/include/arch/"*; do
- if [ "${_arch##*/}" != "${_klibcarch}" ]; then
- rm -r "${_arch:?}"
- fi
- done
-
- # Replace hardlinks with symlinks
- unlink "${pkgdir}/${_installdir}/bin/gunzip"
- unlink "${pkgdir}/${_installdir}/bin/poweroff"
- unlink "${pkgdir}/${_installdir}/bin/reboot"
- unlink "${pkgdir}/${_installdir}/bin/zcat"
-
- ln -s "gzip" "${pkgdir}/${_installdir}/bin/gunzip"
- ln -s "gzip" "${pkgdir}/${_installdir}/bin/zcat"
-
- ln -s "halt" "${pkgdir}/${_installdir}/bin/poweroff"
- ln -s "halt" "${pkgdir}/${_installdir}/bin/reboot"
-}
-
-klcc() {
- depends="perl"
-
- mkdir -p "${subpkgdir}/usr/bin"
- mv "${pkgdir}/usr/bin/klcc" "${subpkgdir}/usr/bin/"
-}
-
-libs() {
- install="lib${pkgname}.post-deinstall lib${pkgname}.post-install"
-
- mkdir -p "${subpkgdir}/${_installdir}"
- mv "${pkgdir}/${_installdir}/lib" "${subpkgdir}/${_installdir}/"
-}
-
-bins() {
- depends="lib${pkgname}"
-
- mkdir -p "${subpkgdir}/${_installdir}/bin"
- mv "${pkgdir}/${_installdir}/bin/${subpkgname#${pkgname}-}" "${subpkgdir}/${_installdir}/bin/"
-}
-
-dash() {
- depends="lib${pkgname}"
-
- mkdir -p "${subpkgdir}/${_installdir}/bin"
- mv "${pkgdir}/${_installdir}/bin/sh" "${subpkgdir}/${_installdir}/bin/"
-}
-
-kinit() {
- depends="
- ${pkgname}-fstype
- ${pkgname}-ipconfig
- ${pkgname}-nfsmount
- ${pkgname}-resume
- ${pkgname}-run-init
- "
-
- mkdir -p "${subpkgdir}"
-}
-
-utils() {
- depends="lib${pkgname}"
-
- mkdir -p "${subpkgdir}/${_installdir}/"
- mv "${pkgdir}/${_installdir}/bin" "${subpkgdir}/${_installdir}/"
-}
-
-static() {
- mkdir -p "${subpkgdir}/${_installdir}/bin"
-
- find "${builddir}" -type d -name 'static' | while read -r _staticbins; do
- for _bin in "${_staticbins}/"*; do
- if [ -z "${_bin%%*.g}" ]; then
- continue
- fi
-
- install -D -m 755 "${_bin}" \
- "${subpkgdir}/${_installdir}/bin/${_bin##*/}.static"
- done
- done
-
- mv "${pkgdir}/${_installdir}/bin/gunzip" \
- "${subpkgdir}/${_installdir}/bin/gunzip.static"
-
- mv "${pkgdir}/${_installdir}/bin/gzip" \
- "${subpkgdir}/${_installdir}/bin/gzip.static"
-
- mv "${pkgdir}/${_installdir}/bin/zcat" \
- "${subpkgdir}/${_installdir}/bin/zcat.static"
-}
-
-
-sha512sums="a03afd73d1576f45d6abbca396373feb08ff4edbae576fef7789a3b729a38f6272539425cfaa9c7705d5551519b81367fb2c6d1fef57892a0430566b8321a34c klibc-2.0.9.tar.gz
-672f87b240b3349b2ffee2768ef6b1d37f6395d8f00bdf33375c03f967041de14b6365bcecff2d3918130b16c250ec5e3d50f1ac04c9530f0b169bc01e7d39cb libklibc.post-deinstall
-7340bfd2c048b8b7a6edd752d552e1007c202a5b44bf9d0ae741a80dcea1cbfdde38ade50f7d008c723a2b99570156877476273073039da286b604693323e484 libklibc.post-install"
diff --git a/testing/klibc/libklibc.post-deinstall b/testing/klibc/libklibc.post-deinstall
deleted file mode 100755
index b5e49d7057e..00000000000
--- a/testing/klibc/libklibc.post-deinstall
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-set -eu
-
-
-if [ -n "${CARCH:-}" ] || \
- CARCH="$(${APK:-apk} --print-arch 2> "/dev/null")"; then
- for _klibcso in "/lib/klibc-"*".so"; do
- if [ -L "${_klibcso}" ] && \
- _klibclink="$(readlink "${_klibcso}")" && \
- [ ! -e "${_klibclink:-}" ]; then
- unlink "${_klibcso}"
- fi
- done
-fi
-
-exit 0
diff --git a/testing/klibc/libklibc.post-install b/testing/klibc/libklibc.post-install
deleted file mode 100755
index 2ad83264739..00000000000
--- a/testing/klibc/libklibc.post-install
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-set -eu
-
-
-if [ -n "${CARCH:-}" ] || \
- CARCH="$(${APK:-apk} --print-arch 2> "/dev/null")"; then
- for _klibcso in "/lib/klibc-"*".so"; do
- if [ -L "${_klibcso}" ] && \
- ! readlink -f "${_klibcso}"; then
- unlink "${_klibcso}"
- fi
- done
-
- ln -f -s "/usr/lib/klibc-${CARCH}/lib/klibc-"*".so" "/lib/"
-fi
-
-exit 0
diff --git a/testing/kmscon/APKBUILD b/testing/kmscon/APKBUILD
new file mode 100644
index 00000000000..b300f29a22f
--- /dev/null
+++ b/testing/kmscon/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=kmscon
+pkgver=9.0.0
+pkgrel=0
+pkgdesc="Simple terminal emulator based on linux kernel mode setting"
+url="https://github.com/Aetf/kmscon"
+# ppc64le: FTBFS: compiled for a big endian system and target is little endian
+arch="all !ppc64le"
+license="MIT AND LGPL-2.1-or-later AND ( OFL-1.1 AND GPL-2.0-or-later WITH Font-exception-2.0 ) AND MIT AND BSD-2-Clause AND custom"
+makedepends="
+ eudev-dev
+ libdrm-dev
+ libtsm-dev
+ libxkbcommon-dev
+ mesa-dev
+ meson
+ pango-dev
+ pixman-dev
+ "
+checkdepends="mesa-dri-gallium xvfb-run"
+subpackages="$pkgname-doc"
+source="https://github.com/Aetf/kmscon/releases/download/v$pkgver/kmscon-$pkgver.tar.xz"
+# requires opening raw tty
+options="!spdx !check"
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ -Dtests="$(want_check && echo true || echo false)" \
+ . output
+
+ meson compile -C output
+}
+
+check() {
+ xvfb-run -a meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+ rm -rf "$pkgdir"/usr/lib/systemd/
+}
+
+sha512sums="
+2d4bca093c40307e155c9cfa349eef433d7ab6d08f8e134a61fa9c5ccb9ad594575725371075aaf917c2a9dfb3cb3cd148296dce25065a02b3a211650cde9c3c kmscon-9.0.0.tar.xz
+"
diff --git a/testing/knative-client/APKBUILD b/testing/knative-client/APKBUILD
new file mode 100644
index 00000000000..a3ac5b1105b
--- /dev/null
+++ b/testing/knative-client/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=knative-client
+pkgver=1.13.0
+pkgrel=2
+pkgdesc="CLI client for Knative the serverless container platform in Kubernetes"
+url="https://knative.dev/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+checkdepends="bash"
+subpackages="$pkgname-bash-completion $pkgname-zsh-completion"
+source="https://github.com/knative/client/archive/refs/tags/knative-v$pkgver.tar.gz"
+builddir="$srcdir/client-knative-v$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X knative.dev/client/pkg/kn/commands/version.Version=v$pkgver
+ -X knative.dev/client/pkg/kn/commands/version.GitRevision=AlpineLinux
+ -X 'knative.dev/client/pkg/kn/commands/version.BuildDate=$(date -u "+%Y-%m-%d %H:%M:%S" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})'
+ "
+
+ go build -v -ldflags "$_goldflags" ./cmd/kn/
+
+ for shell in bash zsh; do
+ ./kn completion $shell > kn.$shell
+ done
+}
+
+check() {
+ # knative.dev/client/pkg/kn/plugin/verify_test.go needs to access itself during test
+ GOFLAGS="${GOFLAGS/-trimpath/}" go test ./...
+}
+
+package() {
+ install -Dm755 kn -t "$pkgdir"/usr/bin/
+
+ install -Dm644 kn.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/kn
+ install -Dm644 kn.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_kn
+}
+
+sha512sums="
+97c35c3711f9025f7c4cfd155ff1b9d51ee0c31c7f8d08dc8d6844ec07dd22d9b6d98da4410564f62087818fe96bae7f9016f5325ed3252bbe4a6a61fecade55 knative-v1.13.0.tar.gz
+"
diff --git a/testing/knxd/APKBUILD b/testing/knxd/APKBUILD
index 71ed66a4354..5d560a1b693 100644
--- a/testing/knxd/APKBUILD
+++ b/testing/knxd/APKBUILD
@@ -1,22 +1,33 @@
# Maintainer: Cían Hughes <Ci@nHugh.es>
pkgname=knxd
-pkgver=0.14.39
-pkgrel=1
+pkgver=0.14.59
+pkgrel=0
pkgdesc="Knxd is an advanced KNX router/gateway; it can talk to all known KNX interfaces"
arch="all"
url="https://github.com/knxd/knxd"
license="GPL-2.0-only"
-makedepends="fmt-dev linux-headers libev-dev libusb-dev argp-standalone bsd-compat-headers automake autoconf libtool m4"
-source="$pkgname-$pkgver.tar.gz::https://codeload.github.com/knxd/knxd/tar.gz/$pkgver"
-options="!check" # no tests
-
+makedepends="
+ argp-standalone
+ autoconf
+ automake
+ bsd-compat-headers
+ fmt-dev
+ libev-dev
+ libtool
+ libusb-dev
+ linux-headers
+ m4
+ "
subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://codeload.github.com/knxd/knxd/tar.gz/$pkgver
+ $pkgname-$pkgver-fmt10.patch::https://github.com/knxd/knxd/commit/797283251470786bffd6586571407337da899d30.patch"
+options="!check" # no tests
prepare() {
default_prepare
printf "#!/bin/sh\n\necho %s" "$pkgver" > ./tools/version.sh
- ./bootstrap.sh
+ sh ./bootstrap.sh
}
build() {
@@ -32,4 +43,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="e376ca39a0a990c13e11a79a33acead8d19c6ec546f4f924645c59f3980d902e3384189dfbb4a03984d9e3bab44fa7e961a5a2538a31babd1a71c66d0d6cbe90 knxd-0.14.39.tar.gz"
+sha512sums="
+0ae842bf9d753cb793df486a76a4830b702bc3c1e9af12a8e6ba603a8b419b40ad711d4db73c5b581b15bbe938026c7ae28953fc0b18b485c64f72ff99996fda knxd-0.14.59.tar.gz
+9aae4a071272f1bf654a38d98d29879180df04caabf25f5e3a493d38ae4cf357c2d0b2acd7e328ebc4eddaaaeb92441ea79d696c6c86455087efa34c932acb35 knxd-0.14.59-fmt10.patch
+"
diff --git a/testing/ko/APKBUILD b/testing/ko/APKBUILD
new file mode 100644
index 00000000000..0e308d6a312
--- /dev/null
+++ b/testing/ko/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
+pkgname=ko
+pkgver=0.15.2
+pkgrel=1
+pkgdesc="Build containers from Go projects"
+url="https://ko.build/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/ko-build/ko/archive/v$pkgver/ko-$pkgver.tar.gz
+ unset-CGO_ENABLED.patch
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -ldflags "-X github.com/google/ko/pkg/commands.Version=$pkgver"
+
+ for i in bash fish zsh; do
+ ./ko completion $i > ko.$i
+ done
+}
+
+check() {
+ # TestNewPublisherCanPublish test tries to connect to the Docker socket.
+ go test -skip TestNewPublisherCanPublish ./...
+}
+
+package() {
+ install -Dm755 ko -t "$pkgdir"/usr/bin/
+
+ install -Dm644 ko.bash "$pkgdir"/usr/share/bash-completion/completions/ko
+ install -Dm644 ko.fish "$pkgdir"/usr/share/fish/vendor_completions.d/ko.fish
+ install -Dm644 ko.zsh "$pkgdir"/usr/share/zsh/site-functions/_ko
+}
+
+sha512sums="
+3beee6f1540a2badf9f98a6b7a08800e4c49c58cc8d3fede20d309d0b06be1ab8d43f495a96e33c3d4ac319fed402bccfee197f07420c58e37759ffe3ea04c40 ko-0.15.2.tar.gz
+d9d8106872ce929f340978a4ff78c588a3ea7cb135a89669e7900b9568586b753a38a2b0cbfdf0e9610d9fdc2d1bed2f7027132263a926fdc9ef1a6b3fe36bd4 unset-CGO_ENABLED.patch
+"
diff --git a/testing/ko/unset-CGO_ENABLED.patch b/testing/ko/unset-CGO_ENABLED.patch
new file mode 100644
index 00000000000..32e48155925
--- /dev/null
+++ b/testing/ko/unset-CGO_ENABLED.patch
@@ -0,0 +1,20 @@
+--- a/pkg/build/gobuild_test.go
++++ b/pkg/build/gobuild_test.go
+@@ -229,7 +229,6 @@ func TestBuildEnv(t *testing.T) {
+ expectedEnvs: map[string]string{
+ "GOOS": "linux",
+ "GOARCH": "amd64",
+- "CGO_ENABLED": "0",
+ },
+ }, {
+ description: "override a default value",
+--- a/pkg/build/gobuild.go
++++ b/pkg/build/gobuild.go
+@@ -442,7 +442,6 @@ func cycloneDX() sbomber {
+ func buildEnv(platform v1.Platform, userEnv, configEnv []string) ([]string, error) {
+ // Default env
+ env := []string{
+- "CGO_ENABLED=0",
+ "GOOS=" + platform.OS,
+ "GOARCH=" + platform.Architecture,
+ }
diff --git a/testing/kodi-audioencoder-flac/APKBUILD b/testing/kodi-audioencoder-flac/APKBUILD
index 42c39bfa40d..767fb031e3d 100644
--- a/testing/kodi-audioencoder-flac/APKBUILD
+++ b/testing/kodi-audioencoder-flac/APKBUILD
@@ -1,29 +1,30 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-audioencoder-flac
-pkgver=3.0.0
-_realname=Matrix
-pkgrel=0
+pkgver=20.2.0
+_realname=Nexus
+pkgrel=1
pkgdesc="Flac encoder addon for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/audioencoder.flac"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake flac-dev kodi-dev"
+makedepends="cmake flac-dev kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/audioencoder.flac/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/audioencoder.flac-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
- make -C build
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="73dd9526a498dd92076eb98044f75baaeb4dd93251f6a9a2d9e9a9a8553fb9b047b861b8518c2fe2803ce06cd794a5436f80561bedd82de1fc2df727f28d1b7c kodi-audioencoder-flac-3.0.0-Matrix.tar.gz"
+sha512sums="
+83e3a6cd0311af05c7f3ae456bbe3d5627e47bc5d8f163bdfe57f3e70f798db6e9728698c73b3dc9da6cca2204e6a07004edff012f9bbf2e2b062e3fb97d5338 kodi-audioencoder-flac-20.2.0-Nexus.tar.gz
+"
diff --git a/testing/kodi-audioencoder-lame/APKBUILD b/testing/kodi-audioencoder-lame/APKBUILD
index c28ce9ef632..3bef430f9f4 100644
--- a/testing/kodi-audioencoder-lame/APKBUILD
+++ b/testing/kodi-audioencoder-lame/APKBUILD
@@ -1,29 +1,30 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-audioencoder-lame
-pkgver=3.0.2
-_realname=Matrix
-pkgrel=0
+pkgver=20.3.0
+_realname=Nexus
+pkgrel=1
pkgdesc="Lame MP3 encoder addon for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/audioencoder.lame"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake lame-dev kodi-dev"
+makedepends="cmake lame-dev kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/audioencoder.lame/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/audioencoder.lame-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
- make -C build
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="28a8c95804292820e07e96b02b206fe7fcdfe93c0e7113cf5d2f9fb43f718f92fdbe3686441064e55a9de1674a40c3ba9574db5e44d24cbd2397feafd97e74e2 kodi-audioencoder-lame-3.0.2-Matrix.tar.gz"
+sha512sums="
+83956e7874e84f6f1e211352ff031764f8173d554fa22c45eedb96d01275969858378ef52cc8cdb8ab10914e04c5bb460104d511b96f9724c23b4eaa654dd1b9 kodi-audioencoder-lame-20.3.0-Nexus.tar.gz
+"
diff --git a/testing/kodi-audioencoder-vorbis/APKBUILD b/testing/kodi-audioencoder-vorbis/APKBUILD
index 03dd71a4d6d..90e8113f509 100644
--- a/testing/kodi-audioencoder-vorbis/APKBUILD
+++ b/testing/kodi-audioencoder-vorbis/APKBUILD
@@ -1,29 +1,30 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-audioencoder-vorbis
-pkgver=3.0.1
-_realname=Matrix
-pkgrel=0
+pkgver=20.2.0
+_realname=Nexus
+pkgrel=1
pkgdesc="Vorbis encoder addon for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/audioencoder.vorbis"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake libvorbis-dev kodi-dev"
+makedepends="cmake libvorbis-dev kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/audioencoder.vorbis/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/audioencoder.vorbis-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
- make -C build
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="f0e9e152574881943f4c8bad6e8249e502590503104e5c456858e25634004c223e9be91b274b2870dd07327254664f7ffa5549cf573241192088a3287d2511ad kodi-audioencoder-vorbis-3.0.1-Matrix.tar.gz"
+sha512sums="
+8465b4ad73efee6adaa385eeaa75ceca725a8257fbf4867c8094661408fcb7d028f977b913c9f873ff1cbd6fa7e20afdc92b95ed38e48dfcba9c00e3ac4b81ae kodi-audioencoder-vorbis-20.2.0-Nexus.tar.gz
+"
diff --git a/testing/kodi-audioencoder-wav/APKBUILD b/testing/kodi-audioencoder-wav/APKBUILD
index 774ef3471d9..a38e23ba93a 100644
--- a/testing/kodi-audioencoder-wav/APKBUILD
+++ b/testing/kodi-audioencoder-wav/APKBUILD
@@ -1,29 +1,30 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-audioencoder-wav
-pkgver=3.0.0
-_realname=Matrix
-pkgrel=0
+pkgver=20.2.0
+_realname=Nexus
+pkgrel=1
pkgdesc="WAV encoder addon for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/audioencoder.wav"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/audioencoder.wav/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/audioencoder.wav-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
- make -C build
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="68673e432d377b895172e398628c5dfd506bdb46c83c38933d0d674abaf1715d44e488d4c158d27c0480b92a947f21534502aa8ed473e9225c37f62e28b05512 kodi-audioencoder-wav-3.0.0-Matrix.tar.gz"
+sha512sums="
+7249bfbb0f01820353b089456fa766727dda62ab88306671e0e0941079808ee452f2d1f2824c30b6910bac37547a635f76f04ca682f4d8e5cfb3addffbff3459 kodi-audioencoder-wav-20.2.0-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-atari800/APKBUILD b/testing/kodi-game-libretro-atari800/APKBUILD
index cb4ff8f214f..148680c9b6d 100644
--- a/testing/kodi-game-libretro-atari800/APKBUILD
+++ b/testing/kodi-game-libretro-atari800/APKBUILD
@@ -1,33 +1,34 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-atari800
-pkgver=3.1.0.9
-_realname=Matrix
-pkgrel=1
+pkgver=3.1.0.28
+_realname=Nexus
+pkgrel=0
pkgdesc="Atari800 for libretro/libco WIP"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.atari800"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake libretro-atari800 kodi-dev"
depends="kodi-game-libretro libretro-atari800"
+makedepends="cmake kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.atari800/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.atari800-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
- rm -f "$pkgdir"/usr/lib/kodi/addons/game.libretro.atari800/game.libretro.atari800.so
- ln -s /usr/lib/libretro/atari800_libretro.so \
+ DESTDIR="$pkgdir" cmake --install build
+ rm -v "$pkgdir"/usr/lib/kodi/addons/game.libretro.atari800/game.libretro.atari800.so
+ ln -sfv /usr/lib/libretro/atari800_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.atari800/game.libretro.atari800.so
}
-sha512sums="60abf022fceda4141c5244906f2a44776ba1b17b6b982e1b3f63d314c811b6bffcb7a6070c66413f461d31a30fca014990af505047b8d331c16ffcb032a5c015 kodi-game-libretro-atari800-3.1.0.9-Matrix.tar.gz"
+sha512sums="
+4ff46faa3a075cfb2e877c0d44c501434b234cd9cc010706e0a3dde3e0a1dab197dd9a1bead9e7b6219873a03415139feb7050deab25352fdaf2e45bbd7c7d94 kodi-game-libretro-atari800-3.1.0.28-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-bsnes/APKBUILD b/testing/kodi-game-libretro-beetle-bsnes/APKBUILD
index 2675b6b0998..f7fa08d860d 100644
--- a/testing/kodi-game-libretro-beetle-bsnes/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-bsnes/APKBUILD
@@ -1,30 +1,29 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-bsnes
-pkgver=0.9.26.10
-_realname=Matrix
+pkgver=0.9.26.27
+_realname=Nexus
pkgrel=0
pkgdesc="Beetle-BSNES for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-bsnes"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-bsnes"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-bsnes/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-bsnes-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-bsnes/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-bsnes/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-bsnes/game.libretro.beetle-bsnes.so
@@ -33,4 +32,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-bsnes/addon.xml
}
-sha512sums="cc9ec7d760cb27323cc62914c607f8b971c39202db65207cfa7aab8db5c7124ae923f397811c2831e0c38b8f00bb17b2c5d9e5cdb63915ea7cfae837563127f2 kodi-game-libretro-beetle-bsnes-0.9.26.10-Matrix.tar.gz"
+sha512sums="
+d050c2b7691df604ba0841da406777f84da0796752992de84a9ebd5f69b13ee0a3cc5f000afa9ba1825b2093b4dcca7a6bb8138c4b377b170034d21ce7024c66 kodi-game-libretro-beetle-bsnes-0.9.26.27-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-lynx/APKBUILD b/testing/kodi-game-libretro-beetle-lynx/APKBUILD
index e9bcb07cab3..b1ba85497bf 100644
--- a/testing/kodi-game-libretro-beetle-lynx/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-lynx/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-lynx
-pkgver=1.24.0.16
-_realname=Matrix
-pkgrel=1
+pkgver=1.24.0.50
+_realname=Nexus
+pkgrel=0
pkgdesc="Beetle-Lynx for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-lynx"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only AND Zlib"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-lynx"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-lynx/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-lynx-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,7 +23,7 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-lynx/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-lynx/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-lynx/game.libretro.beetle-lynx.so
@@ -32,4 +32,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-lynx/addon.xml
}
-sha512sums="38906104c3ff76c9161b684ef7708e05905ffdd9841027cfaac7f9a0059783d26dccdf321cd223f98ec480978823c888fe04cae9b9e6a9cb132631b1e2a2413c kodi-game-libretro-beetle-lynx-1.24.0.16-Matrix.tar.gz"
+sha512sums="
+b62d0aed7d7730836da80d4454ed565d9252c8eccf89f054456859e252b05b193266e6da5826775d1ed69bba0258f6c40b6284b93117d1d10fe0ae4ed2f2d40d kodi-game-libretro-beetle-lynx-1.24.0.50-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-ngp/APKBUILD b/testing/kodi-game-libretro-beetle-ngp/APKBUILD
index 6fc612cce2e..383f48f3960 100644
--- a/testing/kodi-game-libretro-beetle-ngp/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-ngp/APKBUILD
@@ -1,30 +1,29 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-ngp
-pkgver=0.9.36.14
-_realname=Matrix
+pkgver=1.29.0.35
+_realname=Nexus
pkgrel=0
pkgdesc="Beetle-NGP for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-ngp"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-ngp"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-ngp/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-ngp-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-ngp/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-ngp/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-ngp/game.libretro.beetle-ngp.so
@@ -33,4 +32,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-ngp/addon.xml
}
-sha512sums="9d05158d5e11fffa94308b17898f740890ab79ac5cdc97de8733f1105c29babf339e15cade031dce04b148c8633e8a0c1216b46a11a7d2a2e76d3729c8b5aaa3 kodi-game-libretro-beetle-ngp-0.9.36.14-Matrix.tar.gz"
+sha512sums="
+4f3f78e022ef2a06fb8415dd52319878792f33871ba78294102b8ad403c47dec45733f6c08f7e2ee70eeb9cc13306f68deb5cefeec12d493c6afed766a3a91e7 kodi-game-libretro-beetle-ngp-1.29.0.35-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-pce-fast/APKBUILD b/testing/kodi-game-libretro-beetle-pce-fast/APKBUILD
index 42b308b6e4a..7114e602030 100644
--- a/testing/kodi-game-libretro-beetle-pce-fast/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-pce-fast/APKBUILD
@@ -1,30 +1,29 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-pce-fast
-pkgver=0.9.38.17
-_realname=Matrix
+pkgver=1.31.0.43
+_realname=Nexus
pkgrel=0
pkgdesc="Beetle-PCE-fast for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-pce-fast"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-pce-fast"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-pce-fast/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-pce-fast-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-pce-fast/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-pce-fast/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-pce-fast/game.libretro.beetle-pce-fast.so
@@ -33,4 +32,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-pce-fast/addon.xml
}
-sha512sums="4de653f1973f1115d9cdc98440d7d572a205998ee853199ba7e6a20f397558c413415607601877a15068aa0895571ead1b2f16fa242406de2c7950b423705721 kodi-game-libretro-beetle-pce-fast-0.9.38.17-Matrix.tar.gz"
+sha512sums="
+449f1e05ebff42ed5c82bb7369356805029c2d742ea6d66bbeda48b901a464a2a4cc6f3e64d9797b0fa8f31ade80916ebaf30ac3cdf9e61b34c8e79b364dfd60 kodi-game-libretro-beetle-pce-fast-1.31.0.43-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-pcfx/APKBUILD b/testing/kodi-game-libretro-beetle-pcfx/APKBUILD
index 4a19c748150..07a77188048 100644
--- a/testing/kodi-game-libretro-beetle-pcfx/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-pcfx/APKBUILD
@@ -1,33 +1,34 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-pcfx
-pkgver=0.9.36.15
-_realname=Matrix
+pkgver=0.9.36.36
+_realname=Nexus
pkgrel=0
pkgdesc="Beetle-pcfx for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-pcfx"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-pcfx"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-pcfx/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-pcfx-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-pcfx/game.libretro.beetle-pcfx.so
ln -s /usr/lib/libretro/mednafen_pcfx_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-pcfx/game.libretro.beetle-pcfx.so
}
-sha512sums="d701ba504608c7b666b44426373b20a55e83544808d7e782e10a1a7aad49b3aff89325b9dbf7292fd704fc2ebed5a2f34c63d56f4154240d0856c1b3bea49461 kodi-game-libretro-beetle-pcfx-0.9.36.15-Matrix.tar.gz"
+sha512sums="
+a459a02fd9934d4ea81b87dfc160caf52b77c6e4001d7f08761f465b2b427772f251bf00377e7588681ef737e9f90963daaebe1791379c8927930e187234969c kodi-game-libretro-beetle-pcfx-0.9.36.36-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-psx/APKBUILD b/testing/kodi-game-libretro-beetle-psx/APKBUILD
index 182e0bde31c..df7818169a6 100644
--- a/testing/kodi-game-libretro-beetle-psx/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-psx/APKBUILD
@@ -1,33 +1,34 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-psx
-pkgver=0.9.44.22
-_realname=Matrix
-pkgrel=1
+pkgver=0.9.44.53
+_realname=Nexus
+pkgrel=0
pkgdesc="Beetle-PSX for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-psx"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-or-later"
-makedepends="cmake libretro-beetle-psx kodi-dev"
depends="kodi-game-libretro libretro-beetle-psx"
+makedepends="cmake kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-psx/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-psx-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -f "$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-psx/game.libretro.beetle-psx.so
ln -s /usr/lib/libretro/mednafen_psx_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-psx/game.libretro.beetle-psx.so
}
-sha512sums="d36c7239b161769fa3e9d7274b9d3903355c8ac7ec2f6a3456d2c607acabc0ad3501f86c32656d4e300c84d5eeda7be61c05734a0013ed84146854774c0ad66c kodi-game-libretro-beetle-psx-0.9.44.22-Matrix.tar.gz"
+sha512sums="
+853ab086d35ca5f2a2cab924ef55d443bec63451a5b38951fe89b91822f80dcaf5b541dad293b6bd370785812e62c49ad8b2a9f5e819b2b4393eee4020e9c965 kodi-game-libretro-beetle-psx-0.9.44.53-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-saturn/APKBUILD b/testing/kodi-game-libretro-beetle-saturn/APKBUILD
index 5f1b2a1ccf9..e8a549af524 100644
--- a/testing/kodi-game-libretro-beetle-saturn/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-saturn/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-saturn
-pkgver=1.22.2.18
-_realname=Matrix
-pkgrel=1
+pkgver=1.29.0.40
+_realname=Nexus
+pkgrel=0
pkgdesc="Beetle-Saturn for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-saturn"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-saturn"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-saturn/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-saturn-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,7 +23,7 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-saturn/resources/icon.png \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-saturn/game.libretro.beetle-saturn.so
ln -s /usr/lib/libretro/mednafen_saturn_libretro.so \
@@ -31,4 +31,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-saturn/addon.xml
}
-sha512sums="7e8e7074891a5dc49670cbf1849f1d5c51028466a3b2284bf6cb8ad921d377a504ffc0700de08d8aa938eccea359fecf98175f873a92daa1aeb216eaaa1c1c33 kodi-game-libretro-beetle-saturn-1.22.2.18-Matrix.tar.gz"
+sha512sums="
+20476e6cec3c239eb3024612ba46886176b1fc1c3c97cd09579948d2f7cbf3906c97a5957e0fc0c8e79c05c045d8faec5309e59243eb19eca05be6a577996873 kodi-game-libretro-beetle-saturn-1.29.0.40-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-supergrafx/APKBUILD b/testing/kodi-game-libretro-beetle-supergrafx/APKBUILD
index e340ed8a47a..f2841da586c 100644
--- a/testing/kodi-game-libretro-beetle-supergrafx/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-supergrafx/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-supergrafx
-pkgver=1.23.0.15
-_realname=Matrix
-pkgrel=1
+pkgver=1.29.0.39
+_realname=Nexus
+pkgrel=0
pkgdesc="Beetle-Supergrafx for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-supergrafx"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-supergrafx"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-supergrafx/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-supergrafx-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,7 +23,7 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-supergrafx/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-supergrafx/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-supergrafx/game.libretro.beetle-supergrafx.so
@@ -32,4 +32,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-supergrafx/addon.xml
}
-sha512sums="119142dea17078d9275e38552a1719faa4ee2b34a15f2896d42a32cf551b1abb1024f624da0e979cdead0581703c07bd230f33a3669ccef4b85af1ac287ea847 kodi-game-libretro-beetle-supergrafx-1.23.0.15-Matrix.tar.gz"
+sha512sums="
+6f23cf859d19fc4a5577b8214fb56a379f3776f6bdf53265c9ae3d0e1da4699a45037610f52c366d23be3554a84e06d600fed1a70bd53d99a22163da42bd309d kodi-game-libretro-beetle-supergrafx-1.29.0.39-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-vb/APKBUILD b/testing/kodi-game-libretro-beetle-vb/APKBUILD
index a723e9d171d..19011b245e0 100644
--- a/testing/kodi-game-libretro-beetle-vb/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-vb/APKBUILD
@@ -1,30 +1,29 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-vb
-pkgver=0.9.36.14
-_realname=Matrix
+pkgver=1.31.0.34
+_realname=Nexus
pkgrel=0
pkgdesc="Beetle-VB for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-vb"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-vb"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-vb/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-vb-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-vb/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-vb/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-vb/game.libretro.beetle-vb.so
@@ -34,4 +33,6 @@ package() {
}
-sha512sums="fd287e6d7bdae25f091cb9018298c88d960de3e615f0cb76beec04f9130f2c43d194d28ff1ea998f2c01882e5aff9e512a6b9da323d7151ab784363ec69585c9 kodi-game-libretro-beetle-vb-0.9.36.14-Matrix.tar.gz"
+sha512sums="
+42ab8efca903f90e7abf1ad97b89e89b5d69793c944c795311237551144be71c319b0493404798067c7163e9863aa685c34b4eada31fa4c21de5c05d9d8577c7 kodi-game-libretro-beetle-vb-1.31.0.34-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-beetle-wswan/APKBUILD b/testing/kodi-game-libretro-beetle-wswan/APKBUILD
index ea864f018af..7b20fbcd50c 100644
--- a/testing/kodi-game-libretro-beetle-wswan/APKBUILD
+++ b/testing/kodi-game-libretro-beetle-wswan/APKBUILD
@@ -1,30 +1,29 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-beetle-wswan
-pkgver=0.9.35.16
-_realname=Matrix
+pkgver=0.9.35.41
+_realname=Nexus
pkgrel=0
pkgdesc="Beetle-wswan for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.beetle-wswan"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-beetle-wswan"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.beetle-wswan/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.beetle-wswan-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-wswan/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-wswan/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.beetle-wswan/game.libretro.beetle-wswan.so
@@ -33,4 +32,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.beetle-wswan/addon.xml
}
-sha512sums="767aca213b4bf4f9b0987b5aded334f1cb83ecc388beaafff9ee1c00787031c643379aae04cf63c3f2da8b61e35c09809734a65340483c4c292d6108abf62c75 kodi-game-libretro-beetle-wswan-0.9.35.16-Matrix.tar.gz"
+sha512sums="
+b44d73836867a43ba137e116a6b77c7ba8df68d70a492ea9f48dd394ec88bcdd635dcd497eeec4965bd117ef43b7872d671cc2d3e3194328156df5b6555987bc kodi-game-libretro-beetle-wswan-0.9.35.41-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-desmume/APKBUILD b/testing/kodi-game-libretro-desmume/APKBUILD
index 4ba9f510e27..453fcdfda6b 100644
--- a/testing/kodi-game-libretro-desmume/APKBUILD
+++ b/testing/kodi-game-libretro-desmume/APKBUILD
@@ -1,33 +1,34 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-desmume
-pkgver=0.0.1.9
-_realname=Matrix
-pkgrel=1
+pkgver=0.0.1.28
+_realname=Nexus
+pkgrel=0
pkgdesc="DESMuME GameClient for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.desmume"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-or-later"
-makedepends="cmake libretro-desmume kodi-dev"
depends="kodi-game-libretro libretro-desmume"
+makedepends="cmake kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.desmume/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.desmume-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -f "$pkgdir"/usr/lib/kodi/addons/game.libretro.desmume/game.libretro.desmume.so
ln -s /usr/lib/libretro/desmume_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.desmume/game.libretro.desmume.so
}
-sha512sums="222cad6c58e0dd4bac6b124cf44afa659f6f7ed42af95187548873d1eb7348589af76e7a2b91724e5bc78049bfe52bfe818c003bfb02d213616bb45416934fab kodi-game-libretro-desmume-0.0.1.9-Matrix.tar.gz"
+sha512sums="
+d9d419aaee1c8cfd8fd572ffd822fa74551e34ededed2595512dcf1945f3027a35523a4cda73a3207132e8942259ce4ad123b3fdcd92ad2977291bb3d10750f6 kodi-game-libretro-desmume-0.0.1.28-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-dosbox/APKBUILD b/testing/kodi-game-libretro-dosbox/APKBUILD
index 79baa16ba70..6be1a556dab 100644
--- a/testing/kodi-game-libretro-dosbox/APKBUILD
+++ b/testing/kodi-game-libretro-dosbox/APKBUILD
@@ -1,36 +1,34 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-dosbox
-pkgver=0.74.0.9
-_realname=Matrix
+pkgver=0.74.0.25
+_realname=Nexus
pkgrel=0
pkgdesc="DosBox GameClient for XBMC"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.dosbox"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those arches
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-dosbox"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.dosbox/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.dosbox-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
- rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.dosbox/changelog.txt \
- "$pkgdir"/usr/lib/kodi/addons/game.libretro.dosbox/game.libretro.dosbox.so
+ DESTDIR="$pkgdir" cmake --install build
+ rm "$pkgdir"/usr/lib/kodi/addons/game.libretro.dosbox/game.libretro.dosbox.so
ln -s /usr/lib/libretro/dosbox_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.dosbox/game.libretro.dosbox.so
}
sha512sums="
-1915f3156acfdf525d974b290af5204902e18a2d9505b1391b4fc95dd59d5e2c729610ff5024c6bf56af79d822ad0aba0b9680da8ba932d7357dbcd847414a07 kodi-game-libretro-dosbox-0.74.0.9-Matrix.tar.gz
+13fe96afaac484cab0a1db242bc6f80b8a732543ee1b554dece3b099f7e308338d96564a6ad7c469aee07363ddcfc387aa126613d3ed203faaff19a9cadc08b9 kodi-game-libretro-dosbox-0.74.0.25-Nexus.tar.gz
"
diff --git a/testing/kodi-game-libretro-fbneo/APKBUILD b/testing/kodi-game-libretro-fbneo/APKBUILD
index c6b327e7597..bcf0316f6a1 100644
--- a/testing/kodi-game-libretro-fbneo/APKBUILD
+++ b/testing/kodi-game-libretro-fbneo/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-fbneo
-pkgver=1.0.0.34
-_realname=Matrix
+pkgver=1.0.0.71
+_realname=Nexus
pkgrel=0
pkgdesc="FinalBurn Neo GameClient for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.fbneo"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those architectures
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-or-later"
-makedepends="cmake libretro-fbneo kodi-dev"
depends="kodi-game-libretro libretro-fbneo"
+makedepends="cmake kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.fbneo/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.fbneo-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,12 +23,12 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -f "$pkgdir"/usr/lib/kodi/addons/game.libretro.fbneo/game.libretro.fbneo.so
ln -s /usr/lib/libretro/fbneo_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.fbneo/game.libretro.fbneo.so
}
sha512sums="
-fd2ee01307ca0ef80af735ea06f302d6ec6d5be39d95eaa75c56c360d3d3418d1dfcc41141c00d0d8b835aa54bbd4061880f43c39fbfcb535f3d7b54d82ed244 kodi-game-libretro-fbneo-1.0.0.34-Matrix.tar.gz
+aff721d7d062f1e58c21340d0c2f3500ccd0c45350179b36c14e6015a04386899517908eddceaea80087372d11600e8f7af92c7ae198a0a77acb190e443ec4b6 kodi-game-libretro-fbneo-1.0.0.71-Nexus.tar.gz
"
diff --git a/testing/kodi-game-libretro-frodo/APKBUILD b/testing/kodi-game-libretro-frodo/APKBUILD
index 2f868672e45..af221dda812 100644
--- a/testing/kodi-game-libretro-frodo/APKBUILD
+++ b/testing/kodi-game-libretro-frodo/APKBUILD
@@ -1,33 +1,34 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-frodo
-pkgver=0.0.1.5
-_realname=Matrix
+pkgver=0.0.1.25
+_realname=Nexus
pkgrel=0
pkgdesc="Commodore - C64 (Frodo) game addon for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.frodo"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-frodo"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.frodo/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.frodo-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/lib/kodi/addons/game.libretro.frodo/game.libretro.frodo.so
ln -s /usr/lib/libretro/frodo_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.frodo/game.libretro.frodo.so
}
-sha512sums="3ce19c82ad0021c3f27d91dd2b3ab4fe152091e8faca8a1bc71878ffe15a936529e86b691b0dcf8348d769580a604be163ad35d0f6b1b5d8a978b994ac144db6 kodi-game-libretro-frodo-0.0.1.5-Matrix.tar.gz"
+sha512sums="
+f96e40fa6f177bb45a353a31fe121d1040166419fc589f8aee28ebc0da25083657973c23c673a246b6375c60c909c9d7eeb92738cd3a96212547e48e66f3126e kodi-game-libretro-frodo-0.0.1.25-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-mame2000/APKBUILD b/testing/kodi-game-libretro-mame2000/APKBUILD
index a3567b49e84..f510035af12 100644
--- a/testing/kodi-game-libretro-mame2000/APKBUILD
+++ b/testing/kodi-game-libretro-mame2000/APKBUILD
@@ -1,22 +1,22 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-mame2000
-pkgver=0.37.0.12
-_realname=Matrix
-pkgrel=1
+pkgver=0.37.0.32
+_realname=Nexus
+pkgrel=0
pkgdesc="MAME 2000 GameClient for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.mame2000"
-arch="x86 x86_64" # kodi
+arch="x86_64 armv7" # kodi is available only on these architectures
#aarch64: blocked by libretro-mame2000 (why?)
license="custom"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-mame2000"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.mame2000/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.mame2000-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -24,10 +24,12 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/lib/kodi/addons/game.libretro.mame2000/game.libretro.mame2000.so
ln -s /usr/lib/libretro/mame2000_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.mame2000/game.libretro.mame2000.so
}
-sha512sums="d15e205c769f214796ee5640e62378164980ab093b92d97b7b36d98633f3e956de6dfd7beb60ef06cfd6d1d338adf07c7ea27b50b2741f82485aa3ecff801c7d kodi-game-libretro-mame2000-0.37.0.12-Matrix.tar.gz"
+sha512sums="
+23cd9cebfc222d49d16e820b508fe4303a9f3429f625aa64a3b68ee11264bf887b4172d7cf3d30000a936927e5da59105cc4d4e815f762ae0afd960115f7bc27 kodi-game-libretro-mame2000-0.37.0.32-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-mame2003/APKBUILD b/testing/kodi-game-libretro-mame2003/APKBUILD
index f415e440313..ba9b6a46bc6 100644
--- a/testing/kodi-game-libretro-mame2003/APKBUILD
+++ b/testing/kodi-game-libretro-mame2003/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-mame2003
-pkgver=0.78.0.29
-_realname=Matrix
-pkgrel=1
+pkgver=0.78.0.54
+_realname=Nexus
+pkgrel=0
pkgdesc="MAME 2003 GameClient for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.mame2003"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="custom"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-mame2003"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.mame2003/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.mame2003-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,10 +23,12 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/lib/kodi/addons/game.libretro.mame2003/game.libretro.mame2003.so
ln -s /usr/lib/libretro/mame2003_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.mame2003/game.libretro.mame2003.so
}
-sha512sums="72614af0cdc17b45ddd4fc9ad498eefab2f5763a9a6f8757677ef623c74c52375a959649ad59a22d4b39bd6cf0f51151112f99404524d6e355104e25bdf50a67 kodi-game-libretro-mame2003-0.78.0.29-Matrix.tar.gz"
+sha512sums="
+23eb904bd16b8aff0eb32754635e1498a3df962e1a63c1402f4fead327267fd8c3375b27d1c4d0cd29b62e0552862d213ec6583c943196aac13a3bd3995b1874 kodi-game-libretro-mame2003-0.78.0.54-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-mgba/APKBUILD b/testing/kodi-game-libretro-mgba/APKBUILD
index 245b19e45c5..479afbc0bbb 100644
--- a/testing/kodi-game-libretro-mgba/APKBUILD
+++ b/testing/kodi-game-libretro-mgba/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-mgba
-pkgver=0.8.4.19
-_realname=Matrix
-pkgrel=1
+pkgver=0.11.0.44
+_realname=Nexus
+pkgrel=0
pkgdesc="mGBA for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.mgba"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="MPL-2.0"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-mgba"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.mgba/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.mgba-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,7 +23,7 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.mgba/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.mgba/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.mgba/game.libretro.mgba.so
@@ -32,4 +32,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.mgba/addon.xml
}
-sha512sums="380e7737af4eea765e843424345ccd2efce2e93bc21a207e2f865037323819f2a9935984c10b5ee21d04599ae9b7e97fc54a1574c528a5b4b2998fd79578edca kodi-game-libretro-mgba-0.8.4.19-Matrix.tar.gz"
+sha512sums="
+5ba66fae0349ffc8d0eb3760d1ac8e38cb83f7e75dfb50d942ac304fa60059e63449965a8a2480f1989f40e6527774ba8350f5cbc788d6fef33de1b872469f94 kodi-game-libretro-mgba-0.11.0.44-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-mupen64plus-nx/APKBUILD b/testing/kodi-game-libretro-mupen64plus-nx/APKBUILD
index 710f8e691f9..de79343c67d 100644
--- a/testing/kodi-game-libretro-mupen64plus-nx/APKBUILD
+++ b/testing/kodi-game-libretro-mupen64plus-nx/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-mupen64plus-nx
-pkgver=2.1.0.10
-_realname=Matrix
-pkgrel=1
+pkgver=2.5.0.40
+_realname=Nexus
+pkgrel=0
pkgdesc="N64 emulation library for the libretro API, based on Mupen64Plus"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.mupen64plus-nx"
-arch="x86_64" # blocked by libretro-mupen64plus
+arch="x86_64" # libretro-mupen64plus available only on these architectures
license="GPL-2.0-or-later"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-mupen64plus"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.mupen64plus-nx/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.mupen64plus-nx-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,10 +23,12 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/lib/kodi/addons/game.libretro.mupen64plus-nx/game.libretro.mupen64plus-nx.so
ln -s /usr/lib/libretro/mupen64plus_next_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.mupen64plus-nx/game.libretro.mupen64plus-nx.so
}
-sha512sums="a45751fa5e3a41f20a45832ccba86a9aa47f7a87e0f5936a4407dc46316665d55f9e03cac0c0d3aea9720618943a3d7d75f17a0c6df58da1abda205136d1d280 kodi-game-libretro-mupen64plus-nx-2.1.0.10-Matrix.tar.gz"
+sha512sums="
+15ce92449a473e0cf0114797f1e3cad653138aa388d0b47198173494a4a1f8ca3ca7361e19f276b42c4dd9ef3d17c9f5685896aade1fad38f912b134eb334334 kodi-game-libretro-mupen64plus-nx-2.5.0.40-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro-nestopia/APKBUILD b/testing/kodi-game-libretro-nestopia/APKBUILD
index 8ac2c85087f..235c225683d 100644
--- a/testing/kodi-game-libretro-nestopia/APKBUILD
+++ b/testing/kodi-game-libretro-nestopia/APKBUILD
@@ -1,33 +1,31 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-nestopia
-pkgver=1.51.0.16
-_realname=Matrix
+pkgver=1.52.0.41
+_realname=Nexus
pkgrel=0
pkgdesc="Nestopia GameClient for XBMC"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.nestopia"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those arches
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-or-later"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-nestopia"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.nestopia/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.nestopia-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.nestopia/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.nestopia/resources/screenshot* \
- "$pkgdir"/usr/share/kodi/addons/game.libretro.nestopia/changelog.txt \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.nestopia/game.libretro.nestopia.so
ln -s /usr/lib/libretro/nestopia_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.nestopia/game.libretro.nestopia.so
@@ -35,5 +33,5 @@ package() {
}
sha512sums="
-04ba221323699f4a2a0efdf4f9daae48ab703e641cc3a65254fb654e3227f07b380c43a8d541c1371690cdced9040db5d2471eab26c3871cc3544290baf203db kodi-game-libretro-nestopia-1.51.0.16-Matrix.tar.gz
+86b893f699285c7c7e881f31af98109cd7045d03f93a93621d28f969cfae0c22bdc8e431d48a9313755880d8bf27912d8eb872cbd81041fa701aad83f0da7383 kodi-game-libretro-nestopia-1.52.0.41-Nexus.tar.gz
"
diff --git a/testing/kodi-game-libretro-snes9x/APKBUILD b/testing/kodi-game-libretro-snes9x/APKBUILD
index 9c1fb3f4868..aefba1b7967 100644
--- a/testing/kodi-game-libretro-snes9x/APKBUILD
+++ b/testing/kodi-game-libretro-snes9x/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-snes9x
-pkgver=1.60.0.20
-_realname=Matrix
+pkgver=1.62.3.45
+_realname=Nexus
pkgrel=0
pkgdesc="Snes9X GameClient for XBMC"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.snes9x"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those architectures
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="custom"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-snes9x"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.snes9x/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.snes9x-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,15 +23,14 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.snes9x/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.snes9x/resources/screenshot* \
- "$pkgdir"/usr/share/kodi/addons/game.libretro.snes9x/changelog.txt \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.snes9x/game.libretro.snes9x.so
ln -s /usr/lib/libretro/snes9x_libretro.so \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.snes9x/game.libretro.snes9x.so
}
sha512sums="
-8306989b775e26772b83362d3f9c9a3d581e661422280b57aa718035ce0222da35e1ad7c15ddcf8016cd0851e85c8d48c7487dcc7e04b1d760aed87817894513 kodi-game-libretro-snes9x-1.60.0.20-Matrix.tar.gz
+dd6903283059195975134662c9a1d8b2b1fb82ea1ea494c4a5087ac20c19d7b6ad3534351f1c2e1461041e9168a56f8b198dfb0b726e56e6b047a4c3f6d9abc7 kodi-game-libretro-snes9x-1.62.3.45-Nexus.tar.gz
"
diff --git a/testing/kodi-game-libretro-theodore/APKBUILD b/testing/kodi-game-libretro-theodore/APKBUILD
index 6fb65bfe91c..f6cc8b486a4 100644
--- a/testing/kodi-game-libretro-theodore/APKBUILD
+++ b/testing/kodi-game-libretro-theodore/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro-theodore
-pkgver=0.0.1.11
-_realname=Matrix
-pkgrel=1
+pkgver=0.0.1.32
+_realname=Nexus
+pkgrel=0
pkgdesc="Libretro core for Thomson MO/TO emulation"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro.theodore"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-3.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="kodi-game-libretro libretro-theodore"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro.theodore/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro.theodore-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
@@ -23,7 +23,7 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
rm -r "$pkgdir"/usr/share/kodi/addons/game.libretro.theodore/resources/icon.png \
"$pkgdir"/usr/share/kodi/addons/game.libretro.theodore/resources/screenshot* \
"$pkgdir"/usr/lib/kodi/addons/game.libretro.theodore/game.libretro.theodore.so
@@ -32,4 +32,6 @@ package() {
sed -i '/<assets>/,/<\/assets>/d' "$pkgdir"/usr/share/kodi/addons/game.libretro.theodore/addon.xml
}
-sha512sums="14bdae1c11963bd9a716a4e76870f66bad623fa2330036fe6acc01edbf246dcbae9b2104c860b14230a406abb060fed5f1795de3de6bbec01547e5ce2794e5b0 kodi-game-libretro-theodore-0.0.1.11-Matrix.tar.gz"
+sha512sums="
+c24c015361cd8c35152fe8f651aa31044c7f33836942f0d6696e4fe670f9d5dfcd39d49a5cd803e91518ddedcfa59bf14a8cabc06219dafdf16d4d6860145844 kodi-game-libretro-theodore-0.0.1.32-Nexus.tar.gz
+"
diff --git a/testing/kodi-game-libretro/APKBUILD b/testing/kodi-game-libretro/APKBUILD
index 2f484a5b89b..9f73b7e5840 100644
--- a/testing/kodi-game-libretro/APKBUILD
+++ b/testing/kodi-game-libretro/APKBUILD
@@ -1,25 +1,24 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-game-libretro
-pkgver=2.2.0
-_realname=Matrix
+pkgver=20.1.0
+_realname=Nexus
pkgrel=0
pkgdesc="Libretro compatibility layer for the Kodi Game API"
options="!check" # no test suite
url="https://github.com/kodi-game/game.libretro"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
depends="libretro-core-info"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-game/game.libretro/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/game.libretro-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
@@ -27,4 +26,6 @@ package() {
DESTDIR="$pkgdir" cmake --build build --target install
}
-sha512sums="f1a5671b468ebf0ea3a86b757ae2481115bfb38082043757aa94d6f193b6eea560b37ccafafe63e686b729d80aa89ac58640899900894d0a72472badadbf27ac kodi-game-libretro-2.2.0-Matrix.tar.gz"
+sha512sums="
+df1ea78b978a753b8698e808cd241fafc34d731e38d4f165b713e2bb836e9b1353ea6d8506e2f4915116e5e430286903615faa7eb6c3526f163e7cba88cedabf kodi-game-libretro-20.1.0-Nexus.tar.gz
+"
diff --git a/testing/kodi-inputstream-adaptive/APKBUILD b/testing/kodi-inputstream-adaptive/APKBUILD
index 1951481bd7e..5268c6af3aa 100644
--- a/testing/kodi-inputstream-adaptive/APKBUILD
+++ b/testing/kodi-inputstream-adaptive/APKBUILD
@@ -1,34 +1,41 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-inputstream-adaptive
-pkgver=2.6.23
-_realname=Matrix
+pkgver=20.3.12
+_realname=Nexus
pkgrel=0
pkgdesc="kodi inputstream addon for several manifest types"
-url="https://github.com/peak3d/inputstream.adaptive"
-arch="x86 x86_64 aarch64" # tests fail on armv7
+url="https://github.com/xbmc/inputstream.adaptive"
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake expat-dev kodi-dev"
-source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/peak3d/inputstream.adaptive/archive/$pkgver-$_realname.tar.gz"
+makedepends="cmake expat-dev kodi-dev samurai"
+source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/inputstream.adaptive/archive/$pkgver-$_realname.tar.gz
+ "
builddir="$srcdir/inputstream.adaptive-$pkgver-$_realname"
+options="net" # special bento4
+
+# fails some string comparison
+case "$CARCH" in
+armv7) options="$options !check" ;;
+esac
build() {
- cmake -B build \
+ cmake -B build -G Ninja -Wno-dev \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
- make -C build
+ -DENABLE_INTERNAL_BENTO4=ON
+ cmake --build build
}
check() {
- make -C build test
+ ctest --test-dir build --output-on-failure
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-8aa33acf1c4658d6d515bc92972e42c6a32c3a03a2e51f381b19452f7d214b5f5e770c6a62b78618cf8800157c20767629f9de3fa5920a800c559f720a36f808 kodi-inputstream-adaptive-2.6.23-Matrix.tar.gz
+269f568ae9830b21ea62659b12e7d9a9b7dc27ac3df1c60802ce5a36902ca0e83e69b609bbd44ca82d91a0b8749fdb0e83bb3472d41534c10fc8d197fed0ae8b kodi-inputstream-adaptive-20.3.12-Nexus.tar.gz
"
diff --git a/testing/kodi-inputstream-ffmpegdirect/APKBUILD b/testing/kodi-inputstream-ffmpegdirect/APKBUILD
index 6fa99325195..4d927268694 100644
--- a/testing/kodi-inputstream-ffmpegdirect/APKBUILD
+++ b/testing/kodi-inputstream-ffmpegdirect/APKBUILD
@@ -1,30 +1,35 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-inputstream-ffmpegdirect
-pkgver=1.21.8
-_realname=Matrix
-pkgrel=0
+pkgver=20.5.0
+_realname=Nexus
+pkgrel=1
pkgdesc="Supports streams opened by FFmpeg's libavformat or Kodi's cURL such as plain TS, HLS and DASH (non-DRM) as well as many others"
options="!check" # no test suite
url="https://github.com/xbmc/inputstream.ffmpegdirect"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/xbmc/inputstream.ffmpegdirect/archive/$pkgver-$_realname.tar.gz"
+makedepends="cmake kodi-dev samurai"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xbmc/inputstream.ffmpegdirect/archive/$pkgver-$_realname.tar.gz
+ ctime.patch
+ gcc13.patch
+ "
builddir="$srcdir/inputstream.ffmpegdirect-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
- make -C build
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-d303a96f3a728356d4ed4fe841288de9ee545d8a20e9dae611f9adeffca66eaeee462f44ce15a1fc2e8790a1c6b2b376cc349ed3857baea4d6ac191f0de22854 kodi-inputstream-ffmpegdirect-1.21.8.tar.gz
+9db8e25f04400635e13cf7c79f7079be9c7ffbf427423abcfc449dcd06f6259dcf9ed1ad1eae1563db239978c8399e054e7c6adcbebb5cc70c4de1c01643d074 kodi-inputstream-ffmpegdirect-20.5.0.tar.gz
+9483f8b0b8fafc269f2aeb6156ab7f798154ada57a0dd7cc0578605cfeb90546a7a79de70df67847aaf343a1d86896f9ee2eab9f29872063135902fc370d9f17 ctime.patch
+29d5dcb312cbfa9b73f776688c8db7a3488ae8cff172b7585883d2d0dfef487dc49e8ccbe6de74ad7b4e0d4abeb9c12285a5c06726db55b76a8af3b06289c478 gcc13.patch
"
diff --git a/testing/kodi-inputstream-ffmpegdirect/ctime.patch b/testing/kodi-inputstream-ffmpegdirect/ctime.patch
new file mode 100644
index 00000000000..75936aa9d1c
--- /dev/null
+++ b/testing/kodi-inputstream-ffmpegdirect/ctime.patch
@@ -0,0 +1,12 @@
+diff --git a/src/utils/Properties.h b/src/utils/Properties.h
+index e068052..e992946 100644
+--- a/src/utils/Properties.h
++++ b/src/utils/Properties.h
+@@ -7,6 +7,7 @@
+
+ #pragma once
+
++#include <ctime>
+ #include <string>
+
+ namespace ffmpegdirect
diff --git a/testing/kodi-inputstream-ffmpegdirect/gcc13.patch b/testing/kodi-inputstream-ffmpegdirect/gcc13.patch
new file mode 100644
index 00000000000..05761ba9c42
--- /dev/null
+++ b/testing/kodi-inputstream-ffmpegdirect/gcc13.patch
@@ -0,0 +1,24 @@
+diff --git a/src/utils/DiskUtils.h b/src/utils/DiskUtils.h
+index 79e3426..f900ec5 100644
+--- a/src/utils/DiskUtils.h
++++ b/src/utils/DiskUtils.h
+@@ -7,6 +7,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+
+ namespace ffmpegdirect
+diff --git a/src/utils/HttpProxy.h b/src/utils/HttpProxy.h
+index eb0c99c..00841af 100644
+--- a/src/utils/HttpProxy.h
++++ b/src/utils/HttpProxy.h
+@@ -7,6 +7,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+
+ namespace ffmpegdirect
diff --git a/testing/kodi-inputstream-rtmp/APKBUILD b/testing/kodi-inputstream-rtmp/APKBUILD
index 206b2eab014..e2e4f28ff23 100644
--- a/testing/kodi-inputstream-rtmp/APKBUILD
+++ b/testing/kodi-inputstream-rtmp/APKBUILD
@@ -1,29 +1,30 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-inputstream-rtmp
-pkgver=3.4.0
-_realname=Matrix
-pkgrel=0
+pkgver=20.3.0
+_realname=Nexus
+pkgrel=1
pkgdesc="RTMP input stream add-on for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/inputstream.rtmp"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake rtmpdump-dev kodi-dev"
+makedepends="cmake rtmpdump-dev kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/inputstream.rtmp/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/inputstream.rtmp-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="5016d5454761bc854e3ccaec375123ae5f96777a1639c68c21b94073aa7b1e7a615204739017704ae03f4119a92afb225152a833f3891e302b95da60904bf39c kodi-inputstream-rtmp-3.4.0-Matrix.tar.gz"
+sha512sums="
+4c70d3df184eae19e359460560257012fece6cbd571d9a27c01f0dbdff84f1ce12b88527a1797cdc3c2a12e39edb92a7a82dd1cfd5721b553290a295733df9f6 kodi-inputstream-rtmp-20.3.0-Nexus.tar.gz
+"
diff --git a/testing/kodi-peripheral-joystick/APKBUILD b/testing/kodi-peripheral-joystick/APKBUILD
index ef6149bc49c..dc134e6a7aa 100644
--- a/testing/kodi-peripheral-joystick/APKBUILD
+++ b/testing/kodi-peripheral-joystick/APKBUILD
@@ -1,31 +1,30 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-peripheral-joystick
-pkgver=1.7.2
-_realname=Matrix
+pkgver=20.1.9
+_realname=Nexus
pkgrel=0
pkgdesc="Kodi joystick support (drivers and button maps)"
options="!check" # no test suite
url="https://github.com/xbmc/peripheral.joystick"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those architectures
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev tinyxml-dev"
+makedepends="cmake kodi-dev samurai tinyxml-dev"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/peripheral.joystick/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/peripheral.joystick-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-d838f44281704e2bc7f3280f05b93347dd2e7a10b8e2b31efdc34b8994723f6aa6ca643fce01f515003caf7d85abbd3eed6a3833e6adf88b9fb22184d2c2e1ae kodi-peripheral-joystick-1.7.2-Matrix.tar.gz
+1e906317ae471495b8b39333b30cc11fd8902fd1bf2fadbfbee72d785667227c44f76d009e80c1de2a87b91396a7c75f3ff53fc745395dd6584582c321d64481 kodi-peripheral-joystick-20.1.9-Nexus.tar.gz
"
diff --git a/testing/kodi-pvr-hts/APKBUILD b/testing/kodi-pvr-hts/APKBUILD
index 18ecbd89a1a..b3d90ba73a7 100644
--- a/testing/kodi-pvr-hts/APKBUILD
+++ b/testing/kodi-pvr-hts/APKBUILD
@@ -1,31 +1,33 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-pvr-hts
-pkgver=8.4.0
-_realname=Matrix
-pkgrel=0
+pkgver=20.6.2
+_realname=Nexus
+pkgrel=1
pkgdesc="Kodi's Tvheadend HTSP client addon"
options="!check" # no test suite
url="https://github.com/kodi-pvr/pvr.hts"
-arch="x86 x86_64 aarch64 armv7" # kodi
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="bsd-compat-headers cmake kodi-dev"
-source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-pvr/pvr.hts/archive/$pkgver-$_realname.tar.gz"
+makedepends="cmake kodi-dev samurai"
+source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-pvr/pvr.hts/archive/$pkgver-$_realname.tar.gz
+ ctime.patch
+ "
builddir="$srcdir/pvr.hts-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-929d32e0702b7199cf2e80a7bd7b0ec6654194fbd17f15defa11da7aa41e068bf999cad25ebb7dcb594e5895354824483b4a4e896cc97a7b06b9183d21c0fbff kodi-pvr-hts-8.4.0-Matrix.tar.gz
+8213b2d061abc3eeb8253426c37425826ed00450e43cc1561d154311b19d5280190e3ad09666cb01134a72ac02956395a56a36e78eb97c88f88cb8ded7eaad2f kodi-pvr-hts-20.6.2-Nexus.tar.gz
+e5171f4fd01488e569caff1c4854f99af7201c9eaf5548f636aa0698b45ec062e1004c30bca165e93af9e232ae96875a41bc84f8cfc6a95ee2b8ce1085baa4c7 ctime.patch
"
diff --git a/testing/kodi-pvr-hts/ctime.patch b/testing/kodi-pvr-hts/ctime.patch
new file mode 100644
index 00000000000..1a00c057551
--- /dev/null
+++ b/testing/kodi-pvr-hts/ctime.patch
@@ -0,0 +1,12 @@
+diff --git a/src/tvheadend/entity/Event.h b/src/tvheadend/entity/Event.h
+index 513bdaa..8569312 100644
+--- a/src/tvheadend/entity/Event.h
++++ b/src/tvheadend/entity/Event.h
+@@ -10,6 +10,7 @@
+ #include "Entity.h"
+
+ #include <cstdint>
++#include <ctime>
+ #include <map>
+ #include <string>
+ #include <vector>
diff --git a/testing/kodi-pvr-iptvsimple/APKBUILD b/testing/kodi-pvr-iptvsimple/APKBUILD
index 0fa6ed10f73..bf097608287 100644
--- a/testing/kodi-pvr-iptvsimple/APKBUILD
+++ b/testing/kodi-pvr-iptvsimple/APKBUILD
@@ -1,31 +1,30 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-pvr-iptvsimple
-pkgver=7.6.10
-_realname=Matrix
+pkgver=20.11.0
+_realname=Nexus
pkgrel=0
pkgdesc="IPTV Simple client addon for Kodi"
options="!check" # no test suite
url="https://github.com/kodi-pvr/pvr.iptvsimple"
-arch="x86 x86_64 aarch64 armv7" # kodi is only available on those architectures
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/kodi-pvr/pvr.iptvsimple/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/pvr.iptvsimple-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-76c8ab57e5341b3c7c9324560337c6f7d8f9fce5902f6277ea40e420eefa71d39f9904eb513ea2ae9ff2153a15ca22545e65cbbdf0044e171a15ee50cbd96750 kodi-pvr-iptvsimple-7.6.10-Matrix.tar.gz
+052da2a550c7264f396a64277bffd068d6fbfc1eb252c8270e3b2846a856d642a1d45f69a2115db528a8654afa377316ee9153907afbf6be1a630d581621bea5 kodi-pvr-iptvsimple-20.11.0-Nexus.tar.gz
"
diff --git a/testing/kodi-vfs-libarchive/APKBUILD b/testing/kodi-vfs-libarchive/APKBUILD
index 3fa1ba91c59..a4d076ab9a9 100644
--- a/testing/kodi-vfs-libarchive/APKBUILD
+++ b/testing/kodi-vfs-libarchive/APKBUILD
@@ -1,24 +1,23 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-vfs-libarchive
-pkgver=2.0.1
-_realname=Matrix
-pkgrel=0
+pkgver=20.3.0
+_realname=Nexus
+pkgrel=1
pkgdesc="Libarchive VFS add-on for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/vfs.libarchive"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those arches
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake libarchive-dev lz4-dev kodi-dev"
+makedepends="cmake libarchive-dev lz4-dev kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/vfs.libarchive/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/vfs.libarchive-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
@@ -27,5 +26,5 @@ package() {
}
sha512sums="
-8a72a1ef01beedf6cbbc4349b4f1cec135dc99158cdd1d5fcda0bfbde74ed3cced9f2f8c01dafdb3891109c5b257b16a2448124de2396cb6db50b0316f67efb7 kodi-vfs-libarchive-2.0.1-Matrix.tar.gz
+cedb21992b23b821ae1070f18c41b3329fb8208fc753ba2cdf7354058cb14f8c2f88f63d5d6791c819b27221468441852c7cecb03b649a9ebdafd282a971d1ca kodi-vfs-libarchive-20.3.0-Nexus.tar.gz
"
diff --git a/testing/kodi-vfs-rar/APKBUILD b/testing/kodi-vfs-rar/APKBUILD
index d0a50fc6408..59c093a4c12 100644
--- a/testing/kodi-vfs-rar/APKBUILD
+++ b/testing/kodi-vfs-rar/APKBUILD
@@ -1,24 +1,23 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-vfs-rar
-pkgver=4.0.0
-_realname=Matrix
-pkgrel=0
+pkgver=20.1.0
+_realname=Nexus
+pkgrel=1
pkgdesc="RAR VFS add-on for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/vfs.rar"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those arches
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake kodi-dev"
+makedepends="cmake kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/vfs.rar/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/vfs.rar-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
@@ -27,5 +26,5 @@ package() {
}
sha512sums="
-6287c277419f964b950220a858f098eb9aa9bbab4aaff1277850a84f8dfd90a6d5f4fd6c9ea04e84a3c1744ee69cfc4dd7010e2e29f6578640960220f3f716cc kodi-vfs-rar-4.0.0-Matrix.tar.gz
+01674c857c547eaa9042840d6558598fac0e95b3426d0ea9a8f4815dd40efcf3418e98025283de81281ddd5a5f1f1f52f0b35557c56a0862798d1e760a797e52 kodi-vfs-rar-20.1.0-Nexus.tar.gz
"
diff --git a/testing/kodi-vfs-sacd/APKBUILD b/testing/kodi-vfs-sacd/APKBUILD
index cc8747a288a..516e087deeb 100644
--- a/testing/kodi-vfs-sacd/APKBUILD
+++ b/testing/kodi-vfs-sacd/APKBUILD
@@ -1,24 +1,25 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-vfs-sacd
-pkgver=2.0.0
-_realname=Matrix
-pkgrel=0
+pkgver=20.1.0
+_realname=Nexus
+pkgrel=1
pkgdesc="SACD VFS add-on for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/vfs.sacd"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those arches
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake libssh-dev kodi-dev"
-source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/vfs.sacd/archive/$pkgver-$_realname.tar.gz"
+makedepends="cmake libssh-dev kodi-dev samurai"
+source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/vfs.sacd/archive/$pkgver-$_realname.tar.gz
+ int-conversion.patch
+ "
builddir="$srcdir/vfs.sacd-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
@@ -27,5 +28,6 @@ package() {
}
sha512sums="
-1b701189c81cd38d410de10382942478c017647050ddc6bce14f48558cd7085cae5c085cda213c88a15815be01199f8ef00f0306f4de2d3ca82293b20179f78a kodi-vfs-sacd-2.0.0-Matrix.tar.gz
+50d6272465dc55c4b08479e72f3751eb5efc7075c1aa10c51a7fd7d1bc5b3135961b971f34ffe354cc45679635dc2db460c8b04f3d1dd4afe877d2295feb2ca6 kodi-vfs-sacd-20.1.0-Nexus.tar.gz
+6be95313c2a5a97dc9ed50d90c2311b2486eb4b05e2a4f4aca9e2da8cad1193de4d8bc945a24e77b964b6072f5805018b7cc18b78112bb942fb58f99be62dd6c int-conversion.patch
"
diff --git a/testing/kodi-vfs-sacd/int-conversion.patch b/testing/kodi-vfs-sacd/int-conversion.patch
new file mode 100644
index 00000000000..e54c6d36461
--- /dev/null
+++ b/testing/kodi-vfs-sacd/int-conversion.patch
@@ -0,0 +1,16 @@
+this type is used to hold fds, and is passed around as such
+it's wrong for it to be int.
+--
+diff --git a/lib/libsacd/sacd_input.c b/lib/libsacd/sacd_input.c
+index d96b968..858ce33 100644
+--- a/lib/libsacd/sacd_input.c
++++ b/lib/libsacd/sacd_input.c
+@@ -62,7 +62,7 @@ uint32_t (*sacd_input_total_sectors)(sacd_input_t);
+
+ struct sacd_input_s
+ {
+- void* fd;
++ int fd;
+ uint8_t *input_buffer;
+ ssize_t total_sectors;
+ };
diff --git a/testing/kodi-vfs-sftp/APKBUILD b/testing/kodi-vfs-sftp/APKBUILD
index 9781e291937..eed76973c4f 100644
--- a/testing/kodi-vfs-sftp/APKBUILD
+++ b/testing/kodi-vfs-sftp/APKBUILD
@@ -1,24 +1,23 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=kodi-vfs-sftp
-pkgver=2.0.0
-_realname=Matrix
-pkgrel=0
+pkgver=20.2.0
+_realname=Nexus
+pkgrel=1
pkgdesc="SFTP VFS add-on for Kodi"
options="!check" # no test suite
url="https://github.com/xbmc/vfs.sftp"
-arch="x86 x86_64 aarch64 armv7" # kodi is available only on those arches
+arch="x86_64 aarch64 armv7" # kodi is available only on these architectures
license="GPL-2.0-only"
-makedepends="cmake libssh-dev kodi-dev"
+makedepends="cmake libssh-dev kodi-dev samurai"
source="$pkgname-$pkgver-$_realname.tar.gz::https://github.com/xbmc/vfs.sftp/archive/$pkgver-$_realname.tar.gz"
builddir="$srcdir/vfs.sftp-$pkgver-$_realname"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi \
- -DUSE_LTO=1
+ -DCMAKE_MODULE_PATH=/usr/lib/cmake/kodi
cmake --build build
}
@@ -27,5 +26,5 @@ package() {
}
sha512sums="
-223dc0f7ef53318963e77f4b4c5ddb9bc3afa9f3ea5d8ba202269d71a68f24600b99c6927ee856441fe216fbec9e821af8328c3911ef306dff61bb107a7cf0df kodi-vfs-sftp-2.0.0-Matrix.tar.gz
+aadf58a9ab31f602219e781f19c0d6277b21a494197a4b9efcca75b33455e7d9d99e5c799fb4002e2900e25adc764bd82926be0516473e749767381123651a43 kodi-vfs-sftp-20.2.0-Nexus.tar.gz
"
diff --git a/testing/komikku/APKBUILD b/testing/komikku/APKBUILD
new file mode 100644
index 00000000000..523c95057fc
--- /dev/null
+++ b/testing/komikku/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=komikku
+pkgver=1.39.0
+pkgrel=1
+pkgdesc="manga reader for GNOME"
+url="https://codeberg.org/valos/Komikku"
+arch="noarch !s390x" # limited by blueprint-compiler
+license="GPL-3.0-only"
+depends="
+ libadwaita
+ py3-beautifulsoup4
+ py3-brotli
+ py3-colorthief
+ py3-dateparser
+ py3-emoji
+ py3-gobject3
+ py3-keyring
+ py3-lxml
+ py3-magic
+ py3-natsort
+ py3-piexif
+ py3-pillow
+ py3-pure_protobuf
+ py3-rarfile
+ py3-requests
+ py3-unidecode
+ webkit2gtk-6.0
+ "
+makedepends="
+ blueprint-compiler-dev
+ cmake
+ desktop-file-utils
+ gobject-introspection-dev
+ gtk4.0-dev
+ libadwaita-dev
+ meson
+ "
+subpackages="$pkgname-lang $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/valos/Komikku/archive/v$pkgver.tar.gz"
+builddir="$srcdir/komikku"
+
+build() {
+ abuild-meson build
+
+ ninja -C build
+}
+
+check() {
+ meson test -C build --print-errorlog
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C build
+}
+
+sha512sums="
+c8c8c2d6cb4beadb7eba22d6764bd49c469614ae49c345723a22cf68376262516d733495f1530206fce20333c408062c50fd88533ef841ff8cbaef7ab06e121a komikku-1.39.0.tar.gz
+"
diff --git a/testing/kompose/APKBUILD b/testing/kompose/APKBUILD
index d8612eed5f3..071a6fd758b 100644
--- a/testing/kompose/APKBUILD
+++ b/testing/kompose/APKBUILD
@@ -1,38 +1,45 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=kompose
-pkgver=1.26.0
-pkgrel=0
+pkgver=1.31.2
+pkgrel=2
pkgdesc="Tool to move from docker-compose to Kubernetes"
url="https://kompose.io/"
license="Apache-2.0"
arch="all"
options="chmod-clean !check" # Require access to /tmp + bash, jq, ncurses
makedepends="go"
-subpackages="$pkgname-bash-completion $pkgname-zsh-completion"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kubernetes/kompose/archive/v$pkgver.tar.gz"
-builddir="$srcdir/src/github.com/kubernetes/$pkgname"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/kubernetes/kompose/archive/v$pkgver.tar.gz
+ fix-cgo.patch
+ "
-prepare() {
- mkdir -p "$srcdir/src/github.com/kubernetes/"
- ln -sf "$srcdir/$pkgname-$pkgver" "$srcdir/src/github.com/kubernetes/$pkgname"
- default_prepare
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- GOPATH="$srcdir" make
+ make
+
+ # Generate completion scripts
+ ./kompose completion bash > completion.bash
+ ./kompose completion zsh > completion.zsh
+ ./kompose completion fish > completion.fish
}
package() {
- install -Dm755 $pkgname "$pkgdir/usr/bin"
+ install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
- mkdir -p "$pkgdir"/usr/share/bash-completion/completions \
- "$pkgdir"/usr/share/zsh/site-functions
- # Generate completion scripts
- ./kompose completion bash > "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- ./kompose completion zsh > "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+ install -Dm644 completion.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 completion.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+ install -Dm644 completion.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
}
sha512sums="
-2d22c54941c1ef90317537ed6ad2ecae199fa35b0d5240a9c83b33bebe63a773d88701822c5489efaa4774ac0f124f891e8693453f30bad68cc6eb2d2481f8fb kompose-1.26.0.tar.gz
+44d08269d2c65b4452a5319e8339721fb4c355ea18982b4b0b942511982da9a9d20982f4247499c98ff787496f8ed5c47312f7662065059d8de5fc8380c1d109 kompose-1.31.2.tar.gz
+ff078eb2f3b62fd085a74527233417e5fc1c594657c2041a5b807815d9a8ec47e5dcb380ca95a84bb2294e07c53c3d1f7889e875628ac3533409acd2a3881c4c fix-cgo.patch
"
diff --git a/testing/kompose/fix-cgo.patch b/testing/kompose/fix-cgo.patch
new file mode 100644
index 00000000000..eccf57c6238
--- /dev/null
+++ b/testing/kompose/fix-cgo.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -39,7 +39,7 @@
+
+ .PHONY: bin
+ bin:
+- CGO_ENABLED=0 GO111MODULE=on go build ${BUILD_FLAGS} -o kompose main.go
++ GO111MODULE=on go build ${BUILD_FLAGS} -o kompose main.go
+
+ .PHONY: install
+ install:
diff --git a/testing/kondo/APKBUILD b/testing/kondo/APKBUILD
new file mode 100644
index 00000000000..72a96c036f1
--- /dev/null
+++ b/testing/kondo/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=kondo
+pkgver=0.8
+pkgrel=0
+pkgdesc="Cleans dependencies and build artifacts from your projects"
+url="https://github.com/tbillington/kondo"
+license="MIT"
+arch="all"
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/tbillington/kondo/archive/v$pkgver/kondo-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+
+ target/release/kondo --completions bash > $pkgname.bash
+ target/release/kondo --completions fish > $pkgname.fish
+ target/release/kondo --completions zsh > $pkgname.zsh
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+62cf51c7db440fa36d33206759a60b084a1c98fc718988cfa01c417ad1eb4e6a930e3c66e83d2ae9fc169acb93c98ed18fe8cf4ca3ab5a40d2adbfa27363f9a0 kondo-0.8.tar.gz
+"
diff --git a/testing/kopano-core/0001-python-Use-libmdbx-instead-of-bsddb.patch b/testing/kopano-core/0001-python-Use-libmdbx-instead-of-bsddb.patch
deleted file mode 100644
index 9ab75dab39e..00000000000
--- a/testing/kopano-core/0001-python-Use-libmdbx-instead-of-bsddb.patch
+++ /dev/null
@@ -1,228 +0,0 @@
-From c370923f2896d6569ccb0327acf5a273ffa5afa1 Mon Sep 17 00:00:00 2001
-From: Noel Kuntze <noel.kuntze@thermi.consulting>
-Date: Fri, 20 Aug 2021 10:40:21 +0200
-Subject: [PATCH] python: Use libmdbx instead of bsddb
-
----
- ECtools/backup/kopano_backup/__init__.py | 30 ++++++++---------------
- ECtools/backup/requirements.txt | 2 +-
- ECtools/search/kopano_search/__init__.py | 10 ++++----
- ECtools/search/requirements.txt | 2 +-
- ECtools/spamd/kopano_spamd/__init__.py | 6 ++---
- ECtools/spamd/requirements.txt | 2 +-
- ECtools/utils/kopano_utils/autorespond.py | 6 ++---
- 7 files changed, 24 insertions(+), 34 deletions(-)
-
-diff --git a/ECtools/backup/kopano_backup/__init__.py b/ECtools/backup/kopano_backup/__init__.py
-index ad9d3485f..dd4387c42 100644
---- a/ECtools/backup/kopano_backup/__init__.py
-+++ b/ECtools/backup/kopano_backup/__init__.py
-@@ -18,7 +18,7 @@ try:
- import cPickle as pickle
- except ImportError:
- import _pickle as pickle
--import bsddb3 as bsddb
-+import libmdbx
-
- from MAPI import (
- PT_UNICODE, PT_ERROR, KEEP_OPEN_READWRITE,
-@@ -107,7 +107,7 @@ def fatal(s):
- sys.exit(1)
-
- def dbopen(path):
-- return bsddb.hashopen(path, 'c')
-+ return libmdbx.Env(path)
-
- def _copy_folder_meta(from_dir, to_dir, keep_db=False):
- if not os.path.exists(to_dir):
-@@ -594,7 +594,6 @@ class Service(kopano.Service):
- stats['folders'] += 1
-
- else: # check all items for deletion
-- items_deleted = False
- with closing(dbopen(fpath+'/items')) as db_items:
- with closing(dbopen(fpath+'/index')) as db_index:
- delete_items = []
-@@ -604,23 +603,12 @@ class Service(kopano.Service):
- if backup_deleted and (self.timestamp - backup_deleted).days >= self.options.purge:
- delete_items.append(item)
-
-- if delete_items:
-- items_deleted = True
--
- for item in delete_items:
- stats['items'] += 1
- self.log.debug('purging item: %s', item)
- del db_index[item]
- if item in db_items:
- del db_items[item]
-- if items_deleted:
-- self.log.debug('compacting index database')
-- freed_pages = db_index.db.compact(flags=bsddb.db.DB_FREE_SPACE)
-- self.log.debug('returned %d pages to the underlying filesystem', freed_pages)
-- if items_deleted:
-- self.log.debug('compacting items database')
-- freed_pages = db_items.db.compact(flags=bsddb.db.DB_FREE_SPACE)
-- self.log.debug('returned %d pages to the underlying filesystem', freed_pages)
-
- self.log.info('purged %d folders and %d items', stats['folders'], stats['items'])
-
-@@ -891,11 +879,13 @@ def folder_struct(data_path, options, mapper=None): # XXX deprecate?
-
- def folder_deleted(data_path):
- if os.path.exists(data_path+'/index'):
-- with closing(bsddb.hashopen(data_path+'/index')) as db:
-- idx = db.get(b'folder')
-- if idx and pickle_loads(idx).get(b'backup_deleted'):
-- return pickle_loads(idx).get(b'backup_deleted')
-- return None
-+ # implement usage as "with" and use it.
-+ env=libmdbx.Env(data_path+'/index')
-+ idx=env[b'folder']
-+ if idx:
-+ value=pickle_loads(idx).get(b'backup_deleted')
-+ if value:
-+ return value
-
- def show_contents(data_path, options):
- """ summary of contents of backup directory, at the item or folder level, in CSV format """
-@@ -920,7 +910,7 @@ def show_contents(data_path, options):
-
- # filter items on date using 'index' database
- if os.path.exists(data_path+'/index'):
-- with closing(bsddb.hashopen(data_path+'/index')) as db:
-+ with closing(libmdbx.Env(data_path+'/index')) as db:
- for key, value in db.items():
- d = pickle_loads(value)
- if ((key == b'folder') or
-diff --git a/ECtools/backup/requirements.txt b/ECtools/backup/requirements.txt
-index 6ee1b7b47..2e968c7f0 100644
---- a/ECtools/backup/requirements.txt
-+++ b/ECtools/backup/requirements.txt
-@@ -1,3 +1,3 @@
- MAPI
--bsddb3
-+libmdbx
- kopano
-diff --git a/ECtools/search/kopano_search/__init__.py b/ECtools/search/kopano_search/__init__.py
-index 631b40d68..496392a63 100644
---- a/ECtools/search/kopano_search/__init__.py
-+++ b/ECtools/search/kopano_search/__init__.py
-@@ -11,7 +11,7 @@ from multiprocessing import Queue, Value
- import time
- import sys
-
--import bsddb3 as bsddb
-+import libmdbx
- from queue import Empty
-
- from kopano_search import plaintext
-@@ -78,7 +78,7 @@ def db_get(db_path, key):
- """ get value from db file """
- if not isinstance(key, bytes): # python3
- key = key.encode('ascii')
-- with closing(bsddb.hashopen(db_path, 'c')) as db:
-+ with closing(libmdbx.Env(db_path)) as db:
- value = db.get(key)
- if value is not None:
- return db.get(key).decode('ascii')
-@@ -89,7 +89,7 @@ def db_put(db_path, key, value):
- key = key.encode('ascii')
- with open(db_path+'.lock', 'w') as lockfile:
- fcntl.flock(lockfile.fileno(), fcntl.LOCK_EX)
-- with closing(bsddb.hashopen(db_path, 'c')) as db:
-+ with closing(libmdbx.Env(db_path)) as db:
- db[key] = value
-
- class SearchWorker(kopano.Worker):
-@@ -340,8 +340,8 @@ class Service(kopano.Service):
- worker.start()
- try:
- self.state = db_get(self.state_db, 'SERVER')
-- except bsddb.db.DBAccessError:
-- self.log.error("Cannot access '%s': permission denied", self.state_db)
-+ except libmdbx.MDBXErrorExc as exc:
-+ self.log.error("Cannot access '%s': %s", self.state_db, exc.message)
- sys.exit(1)
-
- if self.state:
-diff --git a/ECtools/search/requirements.txt b/ECtools/search/requirements.txt
-index ba0834df3..04b7c433f 100644
---- a/ECtools/search/requirements.txt
-+++ b/ECtools/search/requirements.txt
-@@ -1,3 +1,3 @@
--bsddb3
-+libmdbx
- kopano
- xapian
-diff --git a/ECtools/spamd/kopano_spamd/__init__.py b/ECtools/spamd/kopano_spamd/__init__.py
-index 7fb8f422d..c31afb277 100644
---- a/ECtools/spamd/kopano_spamd/__init__.py
-+++ b/ECtools/spamd/kopano_spamd/__init__.py
-@@ -8,7 +8,7 @@ import os
- import sys
- import time
-
--import bsddb3 as bsddb
-+import libmdbx
-
- import kopano
- from kopano import Config, log_exc
-@@ -53,13 +53,13 @@ class Importer:
- def mark_spam(self, searchkey):
- if not isinstance(searchkey, bytes): # python3
- searchkey = searchkey.encode('ascii')
-- with closing(bsddb.btopen(self.spamdb, 'c')) as db:
-+ with closing(libmdbx.Env(self.spamdb)) as db:
- db[searchkey] = ''
-
- def was_spam(self, searchkey):
- if not isinstance(searchkey, bytes): # python3
- searchkey = searchkey.encode('ascii')
-- with closing(bsddb.btopen(self.spamdb, 'c')) as db:
-+ with closing(libmdbx.Env(self.spamdb)) as db:
- return searchkey in db
-
- def update(self, item, flags):
-diff --git a/ECtools/spamd/requirements.txt b/ECtools/spamd/requirements.txt
-index 82a553bb6..f0b35cb8a 100644
---- a/ECtools/spamd/requirements.txt
-+++ b/ECtools/spamd/requirements.txt
-@@ -1,2 +1,2 @@
- kopano
--bsddb3
-+libmdbx
-diff --git a/ECtools/utils/kopano_utils/autorespond.py b/ECtools/utils/kopano_utils/autorespond.py
-index 1f83a41d2..0664e3390 100644
---- a/ECtools/utils/kopano_utils/autorespond.py
-+++ b/ECtools/utils/kopano_utils/autorespond.py
-@@ -9,7 +9,7 @@ import time
- import kopano
- from kopano.log import logger
-
--import bsddb3 as bsddb
-+import libmdbx
-
- CONFIG = {
- "autorespond_cc": kopano.Config.boolean(default=False),
-@@ -41,7 +41,7 @@ def send_ooo(server, username, msg, copy_to_sentmail):
-
-
- def check_time(senddb, timelimit, username, to):
-- with closing(bsddb.btopen(senddb, 'c')) as db:
-+ with closing(libmdbx.Env(senddb)) as db:
- key = username + ":" + to
- key = key.encode('utf-8')
- if key in db:
-@@ -52,7 +52,7 @@ def check_time(senddb, timelimit, username, to):
-
-
- def add_time(senddb, username, to):
-- with closing(bsddb.btopen(senddb, 'c')) as db:
-+ with closing(libmdbx.Env(senddb)) as db:
- key = username + ":" + to
- key = key.encode('utf-8')
- db[key] = str(int(time.time()))
---
-2.33.0
-
diff --git a/testing/kopano-core/0002-provider.patch b/testing/kopano-core/0002-provider.patch
deleted file mode 100644
index 70a5ba081b4..00000000000
--- a/testing/kopano-core/0002-provider.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/provider/client/WSUtil.cpp b/provider/client/WSUtil.cpp
-index 2bfa558ec..64d99fa9f 100644
---- a/provider/client/WSUtil.cpp
-+++ b/provider/client/WSUtil.cpp
-@@ -2077,7 +2077,14 @@ static HRESULT CopyMAPISourceKeyToSoapSourceKey(const SBinary *lpsMAPISourceKey,
- {
- if (lpsMAPISourceKey == nullptr || lpsSoapSourceKey == nullptr)
- return MAPI_E_INVALID_PARAMETER;
-- lpsSoapSourceKey->__ptr = soap_new_unsignedByte(nullptr, lpsSoapSourceKey->__size);
-+ if (lpsMAPISourceKey->lpb == nullptr) {
-+ lpsSoapSourceKey->__ptr = nullptr;
-+ lpsSoapSourceKey->__size = 0;
-+ return hrSuccess;
-+ }
-+ lpsSoapSourceKey->__ptr = soap_new_unsignedByte(nullptr, lpsMAPISourceKey->cb);
-+ if (lpsSoapSourceKey->__ptr == nullptr)
-+ throw std::bad_alloc();
- lpsSoapSourceKey->__size = lpsMAPISourceKey->cb;
- memcpy(lpsSoapSourceKey->__ptr, lpsMAPISourceKey->lpb, lpsSoapSourceKey->__size);
- return hrSuccess;
diff --git a/testing/kopano-core/0003-spamd-Correct-owner-and-group-of-spamd-ham_dir-spam_.patch b/testing/kopano-core/0003-spamd-Correct-owner-and-group-of-spamd-ham_dir-spam_.patch
deleted file mode 100644
index bc74f7c6361..00000000000
--- a/testing/kopano-core/0003-spamd-Correct-owner-and-group-of-spamd-ham_dir-spam_.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8c9b91a8177bbf77f5e3e40097b58c0058f64045 Mon Sep 17 00:00:00 2001
-From: Noel Kuntze <noel.kuntze@thermi.consulting>
-Date: Wed, 30 Jun 2021 03:37:39 +0200
-Subject: [PATCH] spamd: Correct owner and group of spamd ham_dir, spam_dir and
- spam_db
-
-Fixes cd1a549bf51673c7c9885bdc339b8a21bd24b867
----
- ECtools/spamd/kopano_spamd/__init__.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/ECtools/spamd/kopano_spamd/__init__.py b/ECtools/spamd/kopano_spamd/__init__.py
-index c31afb277..b38fc9290 100644
---- a/ECtools/spamd/kopano_spamd/__init__.py
-+++ b/ECtools/spamd/kopano_spamd/__init__.py
-@@ -113,6 +113,9 @@ def main():
- service = Service('spamd', config=CONFIG, options=options)
- if service.config['learn_ham'] == True and not os.path.exists(service.config['ham_dir']):
- os.makedirs(service.config['ham_dir'])
-+ for directory in "ham_dir", "spam_dir", "spam_db":
-+ os.chown(service.config[directory], pwd.getpwnam(service.config["run_as_user"]).pw_uid,
-+ pwd.getgrnam(service.config["run_as_group"]).pw_gid)
- service.start()
-
-
---
-2.32.0
-
diff --git a/testing/kopano-core/0004-configure.ac-depend-on-libldap-not-libldap_r-doesn-t.patch b/testing/kopano-core/0004-configure.ac-depend-on-libldap-not-libldap_r-doesn-t.patch
deleted file mode 100644
index e2b3b2d5ea9..00000000000
--- a/testing/kopano-core/0004-configure.ac-depend-on-libldap-not-libldap_r-doesn-t.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 5ff9fe841d118d5d853b2939cc69bb242512eecc Mon Sep 17 00:00:00 2001
-From: Noel Kuntze <noel.kuntze@thermi.consulting>
-Date: Sat, 18 Dec 2021 01:21:13 +0100
-Subject: [PATCH] configure.ac: depend on libldap, not libldap_r (doesn't exist
- anymore in openldap on Alpine)
-
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index fcc7fd92f..b7f641546 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -423,7 +423,7 @@ LDAP_FLAGS=""
- LDAP_LIBS=""
- AC_CHECK_HEADERS([ldap.h], [
- LDAP_FLAGS="-DLDAP_DEPRECATED=1"
-- LDAP_LIBS="-lldap_r"
-+ LDAP_LIBS="-lldap"
- want_ldap=yes
- ])
- AC_SUBST(LDAP_LIBS)
---
-2.34.1
-
diff --git a/testing/kopano-core/APKBUILD b/testing/kopano-core/APKBUILD
deleted file mode 100644
index a4cba5fc2cf..00000000000
--- a/testing/kopano-core/APKBUILD
+++ /dev/null
@@ -1,366 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-core
-subpackages="$pkgname-dbg $pkgname-openrc $pkgname-doc $pkgname-bash-completion"
-pkgver=10.1.1
-pkgrel=6
-pkgdesc="Open Source Groupware Solution"
-# ppc64le, mips64: blocked by py3-libmdbx
-arch="all !ppc64le !mips64"
-url="https://www.kopano.com/"
-license="AGPL-3.0-or-later"
-options="!check" # No test suite
-makedepends="
- autoconf
- automake
- curl-dev
- db-dev
- docbook-xsl
- e2fsprogs
- gnu-libiconv-dev
- gsoap
- gsoap-dev
- icu-dev
- jsoncpp-dev
- krb5-dev
- libhx-dev
- libical-dev
- libtool
- libvmime-dev
- libxml2-dev
- mariadb-dev
- openldap-dev
- php7
- php7-dev
- py3-setuptools
- python3-dev
- sed
- swig3
- xapian-core-dev
- xmlto
- xorgproto
-"
-pkgusers="kopano-core kopano-gateway kopano-ical postfix"
-pkggroups="kopano http kopano-diraccess"
-depends="
- bash-completion
- bison
- boost
- boost-libs
- catdoc
- cyrus-sasl
- gnu-libiconv
- krb5
- libxslt
- mariadb
- openldap
- openrc
- php7
- php7-fpm
- poppler
- postfix
- py3-daemon
- py3-dateutil
- py3-dnspython
- py3-flask
- py3-lockfile
- py3-magic
- py3-libmdbx
- py3-minimock
- py3-nose
- py3-openssl
- py3-soappy
- py3-tlslite-ng
- py3-tzlocal
- w3m
- xapian-bindings-php7
- xapian-bindings-python3
- xorgproto
-"
-
-install="$pkgname.pre-install"
-
-source="
- https://github.com/Kopano-dev/kopano-core/archive/kopanocore-$pkgver.zip
- kopano-ical.initd
- kopano-search.initd
- kopano-spooler.initd
- kopano-dagent.initd
- kopano-monitor.initd
- kopano-server.initd
- kopano-gateway.initd
- kopano-spamd.initd
- kopano-server.conf
- 0001-python-Use-libmdbx-instead-of-bsddb.patch
- 0002-provider.patch
- 0003-spamd-Correct-owner-and-group-of-spamd-ham_dir-spam_.patch
- 0004-configure.ac-depend-on-libldap-not-libldap_r-doesn-t.patch
- fix-icu-69-1.patch
-"
-
-builddir="$srcdir/kopano-core-kopanocore-$pkgver/"
-
-prepare() {
- default_prepare
- sed -i 's/0.9.2k1/0.9.2/g' configure.ac
-
- ./bootstrap.sh
-}
-
-build() {
- PYTHON=/usr/bin/python3 ./configure \
- --prefix=/usr \
- --localstatedir=/var \
- --sysconfdir=/etc \
- --exec-prefix=/usr \
- --sbindir=/usr/bin \
- --datarootdir=/usr/share \
- --includedir=/usr/include \
- --enable-release \
- --enable-epoll \
- --enable-python \
- --disable-static \
- --with-quotatemplate-prefix=/etc/kopano/quotamails \
- --with-searchscripts-prefix=/etc/kopano/searchscripts \
- --with-php=7 \
- --with-php-config=php-config7
-
- make
-}
-
-_cfg_set() {
- local config_attribute="$1"
- local config_attribute_prefix=$(echo -n "$config_attribute" | sed "s|\(_\).*|\1|")
- local config_value="$2"
- local config_file="$3"
-
- # Uncomment And Set Attribute
- if grep -q "$config_attribute" $config_file ;
- then
- # Uncomment (Replaces Optional Comments And Spaces)
- sed -i "s|^#*\s*\($config_attribute.*\)|\1|" $config_file
-
- # Set ("name = value" => "name = newvalue")
- sed -i "s|^\($config_attribute\)\s*\=.*|\1 = $config_value|" $config_file
-
- # Add Attribute At Right Position
- elif [ -n "$config_attribute_prefix" ] \
- && grep -q "$config_attribute_prefix" $config_file ;
- then
- # Find Last Attribut From Prefix-Group
- local config_attribute_last_from_group=$(tac $config_file | grep -m 1 "^#*\s*$config_attribute_prefix" | grep -o "${config_attribute_prefix}[^ =]*")
- sed -i "s|\($config_attribute_last_from_group.*$\)|\1\n$config_attribute = $config_value|" $config_file
-
- # Add Attribute At The End of File
- else
- echo $config_attribute = $config_value >> $config_file
-
- fi
-}
-
-package() {
- mkdir -p "$pkgdir"
- make install -j1 DESTDIR="$(realpath $pkgdir)"
- mkdir -p $pkgdir/usr/share/bash-completion/completions
- mv $pkgdir/usr/share/bash-completion/completions/kopano-bash-completion.sh $pkgdir/usr/share/bash-completion/completions/kopano
-
- rm -Rf "$pkgdir/etc/kopano/license" "$pkgdir/usr/lib/sysusers.d/" "$pkgdir/usr/lib/tmpfiles.d/"
-
- mkdir -p "$pkgdir/usr/share/licenses/$pkgname"
- cp AGPL-3 "$pkgdir/usr/share/licenses/$pkgname"
- mkdir -p "$pkgdir/usr/share/doc/$pkgname"
- cp -R RELNOTES.txt CONTRIBUTING.md "$pkgdir/usr/share/doc/$pkgname"
-
- # General
- share_path="$pkgdir/usr/share/doc/kopano/example-config"
- #cfg_path="$pkgdir/etc/kopano"
- cfg_path="$share_path/"
- run_as_user="kopano-core"
- run_as_group="kopano"
- server_socket="/run/kopano/server.sock"
- server_lo_port="tcp://127.0.0.1:236"
- server_socket_prio="/run/kopano/prio.sock"
- search_socket="/run/kopano/search.sock"
- server_tls_min_proto="TLSv1 TLSv1\.1 TLSv1\.2"
- ssl_ciphers="AES256\+EECDH:AES256\+EDH:\!aNULL"
- server_tls_min_proto="tls1\.2"
- gateway_tls_min_proto="tls1\.2"
- ical_tls_min_proto="tls1\.2"
- ssl_privatekey="/etc/ssl/private/kopano.key"
- ssl_certificate="/etc/ssl/private/kopano.crt"
-
- # admin.cfg
- cfg="$cfg_path/admin.cfg"
- _cfg_set "server_socket" "file://$server_socket" $cfg
-
- # server.cfg
- cfg="$cfg_path/server.cfg"
- _cfg_set "attachment_compression" "0" $cfg
- _cfg_set "disabled_features" "" $cfg
- _cfg_set "hide_everyone" "yes" $cfg
- _cfg_set "search_enabled" "yes" "$cfg"
- _cfg_set "search_socket" "file://$search_socket" "$cfg"
- _cfg_set "mysql_socket" "/run/mysqld/mysqld.sock" $cfg
- _cfg_set "mysql_user" "kopano" $cfg
- _cfg_set "mysql_password" "kopano" $cfg
- #=> service
- _cfg_set "run_as_user" "$run_as_user" $cfg
- _cfg_set "run_as_group" "$run_as_group" $cfg
- _cfg_set "log_method" "file" $cfg
- _cfg_set "log_file" "/var/log/kopano/server.log" $cfg
- _cfg_set "log_level" "3" $cfg
- #=> server-connection (socket only)
- _cfg_set "server_pipe_name" "$server_socket" $cfg
- _cfg_set "server_pipe_priority" "$server_socket_prio" $cfg
- _cfg_set "server_listen" "" $cfg
- _cfg_set "server_listen_tls" "" $cfg
- _cfg_set "server_ssl_prefer_server_ciphers" "yes" $cfg
- _cfg_set "server_tls_min_proto" "$server_tls_min_proto" $cfg
- _cfg_set "server_ssl_ciphers" "$ssl_ciphers" $cfg
- _cfg_set "server_ssl_key_file" "$ssl_privatekey" $cfg
- _cfg_set "server_ssl_key_pass" "" $cfg
- _cfg_set "server_ssl_ca_file" "$ssl_certificate" $cfg
- _cfg_set "server_ssl_ca_path" "/etc/ssl/certs" $cfg
-
- # archiver.cfg
- cfg="$cfg_path/archiver.cfg"
- #=> service
- _cfg_set "log_method" "file" $cfg
- _cfg_set "log_file" "/var/log/kopano/archiver.log" $cfg
- _cfg_set "log_level" "3" $cfg
- #=> server-connection
- _cfg_set "server_socket" "file://$server_socket" $cfg
-
- # backup.cfg
- cfg="$cfg_path/backup.cfg"
- #=> service
- _cfg_set "log_method" "file" $cfg
- _cfg_set "log_file" "/var/log/kopano/backup.log" $cfg
- _cfg_set "log_level" "3" $cfg
- #=> server-connection
- _cfg_set "server_socket" "file://$server_socket" $cfg
-
- # dagent.cfg
- cfg="$cfg_path/dagent.cfg"
- #=> service
- _cfg_set "run_as_user" "$run_as_user" $cfg
- _cfg_set "run_as_group" "$run_as_group" $cfg
- _cfg_set "log_method" "file" $cfg
- _cfg_set "log_file" "/var/log/kopano/dagent.log" $cfg
- _cfg_set "log_level" "3" $cfg
- #=> server-connection
- _cfg_set "server_bind" "127.0.0.1" $cfg
- _cfg_set "server_socket" "file://$server_socket" $cfg
-
- # gateway.cfg
- cfg="$cfg_path/gateway.cfg"
- _cfg_set "imap_public_folders" "yes" "$cfg"
- _cfg_set "process_model" "fork" $cfg
- #=> service (avoid requests to be upgraded to admin privileges)
- _cfg_set "run_as_user" "kopano-gateway" $cfg
- _cfg_set "run_as_group" "kopano" $cfg
- _cfg_set "log_method" "file" $cfg
- _cfg_set "log_file" "/var/log/kopano/gateway.log" $cfg
- _cfg_set "log_level" "3" $cfg
- #=> server-connection
- _cfg_set "server_socket" "server_lo_port" $cfg
- _cfg_set "ssl_prefer_server_ciphers" "yes" $cfg
- _cfg_set "tls_min_proto" "$gateway_tls_min_proto" $cfg
- _cfg_set "ssl_ciphers" "$ssl_ciphers" $cfg
- _cfg_set "ssl_private_key_file" "$ssl_privatekey" $cfg
- _cfg_set "ssl_certificate_file" "$ssl_certificate" $cfg
-
- # ical.cfg
- cfg="$cfg_path/ical.cfg"
- _cfg_set "process_model" "fork" $cfg
- #=> service (avoid requests to be upgraded to kopano-admin)
- _cfg_set "run_as_user" "kopano-ical" $cfg
- _cfg_set "run_as_group" "kopano" $cfg
- _cfg_set "log_method" "file" $cfg
- _cfg_set "log_file" "/var/log/kopano/ical.log" $cfg
- _cfg_set "log_level" "3" $cfg
- #=> server-connection
- _cfg_set "server_socket" "file://$server_socket" $cfg
- _cfg_set "ssl_prefer_server_ciphers" "yes" $cfg
- _cfg_set "tls_min_proto" "$ical_tls_min_proto" $cfg
- _cfg_set "ssl_ciphers" "$ssl_ciphers" $cfg
- _cfg_set "ssl_private_key_file" "$ssl_privatekey" $cfg
- _cfg_set "ssl_certificate_file" "$ssl_certificate" $cfg
-
- # monitor.cfg
- cfg="$cfg_path/monitor.cfg"
- #=> service
- _cfg_set "run_as_user" "$run_as_user" $cfg
- _cfg_set "run_as_group" "$run_as_group" $cfg
- _cfg_set "log_method" "file" $cfg
- _cfg_set "log_file" "/var/log/kopano/monitor.log" $cfg
- _cfg_set "log_level" "3" $cfg
- #=> server-connection
- _cfg_set "server_socket" "file://$server_socket" $cfg
-
- # search.cfg
- cfg="$cfg_path/search.cfg"
- _cfg_set "index_attachements" "yes" "$cfg"
- _cfg_set "server_bind_name" "file://$search_socket" "$cfg"
- _cfg_set "ssl_private_key_file" "$ssl_privatekey" $cfg
- _cfg_set "ssl_certificate_file" "$ssl_certificate" $cfg
- #=> service
- _cfg_set "run_as_user" "$run_as_user" $cfg
- _cfg_set "run_as_group" "$run_as_group" $cfg
- _cfg_set "log_method" "syslog" $cfg
- _cfg_set "log_file" "-" $cfg
- _cfg_set "log_level" "3" $cfg
- _cfg_set "pid_file" "/run/kopano/search.pid" $cfg
- #=> server-connection
- _cfg_set "server_socket" "file://$server_socket" $cfg
-
- # spooler.cfg
- cfg="$cfg_path/spooler.cfg"
- _cfg_set "allow_send_to_everyone" "no" "$cfg"
- #=> service
- _cfg_set "run_as_user" "$run_as_user" $cfg
- _cfg_set "run_as_group" "$run_as_group" $cfg
- _cfg_set "log_method" "syslog" $cfg
- _cfg_set "log_file" "-" $cfg
- _cfg_set "log_level" "3" $cfg
- #=> server-connection
- _cfg_set "server_socket" "file://$server_socket" $cfg
-
- # spamd.cfg
- cfg="$cfg_path/spamd.cfg"
- _cfg_set "run_as_user" "$run_as_user" $cfg
- _cfg_set "run_as_group" "$run_as_group" $cfg
- #=> server-connection
- _cfg_set "server_socket" "file://$server_socket" $cfg
-
- install -dm0770 -okopano-core -gkopano "$pkgdir/var/log/kopano"
- install -dm0770 -okopano-core -gkopano-diraccess "$pkgdir/var/lib/kopano"
- install -dm0550 -okopano-core -gkopano "$pkgdir/etc/kopano"
-
- rm -rf "$pkgdir/usr/lib/systemd"
- # copy init files
- for item in kopano-ical kopano-search kopano-spooler kopano-dagent \
- kopano-monitor kopano-server kopano-gateway kopano-spamd
- do
- install -Dm 755 "$srcdir/$item.initd" "$pkgdir/etc/init.d/$item"
- done
- # copy conf.d file
- install -Dm 644 "$srcdir/kopano-server.conf" "$pkgdir/etc/conf.d/kopano-server"
-}
-
-sha512sums="
-72983d2147bf37b52230d4cd72bbc3950613b640147f6d8eb045d85556940d5895acc59ce4fbe4b95fc09bf21551b08f51744bb6e82c3df134a830c874e5ade7 kopanocore-10.1.1.zip
-0ca7c888b19cf9b33688373b22eb515b103a1d7ab4eb8b9302a4a5b005fa3eaa332f434db1efb372f0d3440567e542ac5ba85e4f8c2dc46597899e3472af506a kopano-ical.initd
-6458f64076bbc398a8cc10a75ed2a9a32851b0a689956b3cb26e7f24364df666f6b173245f90a259a9db0fad8b0436636732c92c2d7fc908e2870fc6cbfad6ef kopano-search.initd
-88b7af9b3e999526d326353b4637a8f64b2684987b22e771d5a3667993e4e715f6722a9ebf17e46fafcdb66520ac8c39dac3f0b16e287053ea05da9946ee6e43 kopano-spooler.initd
-a5db7e50f7e43d3d2f282c873cc9d4a4c2035f09cbe75e8b075040f72d63e8c4fcbf3d7c575b2bee0920e4a067c4eb23149144d71375903faeea6a1167a76702 kopano-dagent.initd
-3e5d19ff8df78177141bdb79370658e88841affbb5fd9f5f50e0ca5bb9119257c905ca58ac93525b0924a702d3610a5fa40e5f5f3c2e8378d9bcf48b23b31878 kopano-monitor.initd
-d962229807e185b82c88465b05f400974273224116216ebd2099cf3ab457e217565ce0839c26ddfdea4eee913b3341b92fd53b02ed30fdd63166a4ac19261a80 kopano-server.initd
-b3581c3a93cdd09bae3fbd9070e8263bf61db52348da1c7f1a9ad4657c684af4b83607ea47d036887938ca6d9d609b2ea77d38da00d4173f4051df3eb640be66 kopano-gateway.initd
-d19e37a561f192c9d975e0b81341fffccc60f72fabc197eeddbd8423deb93ee83ddadea59c056138c9c6c9ec13e9421cc226719c8e7ca31fa8657eb6ae213405 kopano-spamd.initd
-626e40d0a544290aa32210ce15b34ab871edbb670046762004af82dd5db0b3d18cd2f1982af615c393020118133a6b156c3953e5afa85012407efadd4bc49928 kopano-server.conf
-fe52eab1c33e4b0469506e8215216131e2d4c45f225dfec6511ab81f0b88180507a4019637691873dc3e2d21ccf9cacc4de1434000e28f480189253ac23a5f44 0001-python-Use-libmdbx-instead-of-bsddb.patch
-603409480e56a557dc2031bb6790a72a2fb310937f06acbd637f7d5c4617344bb0e037d3730f8b6b03f25d12ff32f8ef33ab87c2611b33e4865c47529cc103ae 0002-provider.patch
-ec72f40ccdb574efcb984ea0aded82668f787eef6d95fd0ca9f953a77d78cb4b3fe04ce233c6dabce72911462d7f11af8aacaa201a78cf125f84970978a5342e 0003-spamd-Correct-owner-and-group-of-spamd-ham_dir-spam_.patch
-9ccb1db734905972d96ea3f02fdfab8bfde55b7c43c606dc220a7a84863823a9526c972c5da830ab99e8f3215c84821ee89062e872f7935152e3c92b1d469b82 0004-configure.ac-depend-on-libldap-not-libldap_r-doesn-t.patch
-81219ded0724370b259be5ec5be7adb8b761e92671bb4137a713e3609678dd5c4d1096e44727c44b6e1d3e33515ce8ad8989b809a5202d9046e13584238cc85b fix-icu-69-1.patch
-"
diff --git a/testing/kopano-core/fix-icu-69-1.patch b/testing/kopano-core/fix-icu-69-1.patch
deleted file mode 100644
index 555b7c50f47..00000000000
--- a/testing/kopano-core/fix-icu-69-1.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/provider/client/ECGenericProp.cpp
-+++ b/provider/client/ECGenericProp.cpp
-@@ -854,7 +854,7 @@
- ++nProblem;
- continue;
- }
-- auto hrT = HrDeleteRealProp(lpPropTagArray->aulPropTag[i],FALSE);
-+ auto hrT = HrDeleteRealProp(lpPropTagArray->aulPropTag[i],false);
- if (hrT == hrSuccess)
- continue;
- // Add the error
diff --git a/testing/kopano-core/kopano-core.pre-install b/testing/kopano-core/kopano-core.pre-install
deleted file mode 100644
index 426b69f81b3..00000000000
--- a/testing/kopano-core/kopano-core.pre-install
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-addgroup -S kopano >/dev/null 2>/dev/null
-addgroup http >/dev/null 2>/dev/null
-adduser -S -D -H -h /var/lib/kopano -s /sbin/nologin -g kopano-core kopano-core >/dev/null 2>/dev/null
-addgroup -S kopano-core kopano >/dev/null 2>/dev/null
-addgroup -S kopano-diraccess >/dev/null 2>/dev/null
-addgroup -S kopano-gateway >/dev/null 2>/dev/null
-addgroup -S kopano-ical >/dev/null 2>/dev/null
-adduser postfix kopano-diraccess >/dev/null 2>/dev/null
-adduser -S -D -H -h /var/lib/kopano/ -s /sbin/nologin -g kopano-gateway kopano-gateway >/dev/null 2>/dev/null
-adduser -S -D -H -h /var/lib/kopano/ -s /sbin/nologin -g kopano-ical kopano-ical >/dev/null 2>/dev/null
-addgroup -S kopano-gateway kopano >/dev/null 2>/dev/null
-addgroup -S kopano-ical kopano >/dev/null 2>/dev/null
-exit 0
diff --git a/testing/kopano-core/kopano-dagent.initd b/testing/kopano-core/kopano-dagent.initd
deleted file mode 100644
index 120661cf30a..00000000000
--- a/testing/kopano-core/kopano-dagent.initd
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-name=$RC_SVCNAME
-command="/usr/bin/kopano-dagent"
-command_args="-l -c /etc/kopano/dagent.cfg"
-depend() {
- need net kopano-server
-}
-
-start_pre() {
- checkpath -d -m 750 -o kopano-core:kopano /var/lib/kopano/dagent
-}
diff --git a/testing/kopano-core/kopano-gateway.initd b/testing/kopano-core/kopano-gateway.initd
deleted file mode 100644
index aeba770cedf..00000000000
--- a/testing/kopano-core/kopano-gateway.initd
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-name=$RC_SVCNAME
-command="/usr/bin/kopano-gateway"
-
-depend() {
- need kopano-server
-}
diff --git a/testing/kopano-core/kopano-ical.initd b/testing/kopano-core/kopano-ical.initd
deleted file mode 100644
index e2d07c2c18e..00000000000
--- a/testing/kopano-core/kopano-ical.initd
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-name=$RC_SVCNAME
-command="/usr/bin/kopano-ical"
-
-depend() {
- need kopano-server
-}
diff --git a/testing/kopano-core/kopano-monitor.initd b/testing/kopano-core/kopano-monitor.initd
deleted file mode 100644
index 99abc802cb5..00000000000
--- a/testing/kopano-core/kopano-monitor.initd
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-name=$RC_SVCNAME
-command="/usr/bin/kopano-monitor"
-
-depend() {
- need kopano-server
-}
diff --git a/testing/kopano-core/kopano-search.initd b/testing/kopano-core/kopano-search.initd
deleted file mode 100644
index c793c70b1b3..00000000000
--- a/testing/kopano-core/kopano-search.initd
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-name=$RC_SVCNAME
-command="/usr/bin/kopano-search"
-
-depend() {
- need kopano-server
-}
-
-start_pre() {
- checkpath -d -m 750 -o kopano-core:kopano /var/lib/kopano/search
-}
diff --git a/testing/kopano-core/kopano-server.conf b/testing/kopano-core/kopano-server.conf
deleted file mode 100644
index 1ca85468053..00000000000
--- a/testing/kopano-core/kopano-server.conf
+++ /dev/null
@@ -1 +0,0 @@
-rc_ulimit="-n 60000"
diff --git a/testing/kopano-core/kopano-server.initd b/testing/kopano-core/kopano-server.initd
deleted file mode 100644
index 62bb69fdef7..00000000000
--- a/testing/kopano-core/kopano-server.initd
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-name=$RC_SVCNAME
-command="/usr/bin/kopano-server"
-
-depend() {
- after mariadb
-}
-
-start_pre() {
- checkpath -d -m 750 -o kopano-core:kopano /run/kopano
-}
diff --git a/testing/kopano-core/kopano-spamd.initd b/testing/kopano-core/kopano-spamd.initd
deleted file mode 100644
index c3801818e85..00000000000
--- a/testing/kopano-core/kopano-spamd.initd
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-name=$RC_SVCNAME
-command="/usr/bin/kopano-spamd"
-
-depend() {
- need kopano-server
-}
diff --git a/testing/kopano-core/kopano-spooler.initd b/testing/kopano-core/kopano-spooler.initd
deleted file mode 100644
index b65da6bce23..00000000000
--- a/testing/kopano-core/kopano-spooler.initd
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-name=$RC_SVCNAME
-command="/usr/bin/kopano-spooler"
-
-depend() {
- need kopano-server
-}
diff --git a/testing/kopano-webapp-desktopnotifications/APKBUILD b/testing/kopano-webapp-desktopnotifications/APKBUILD
deleted file mode 100644
index b8ed23e5d32..00000000000
--- a/testing/kopano-webapp-desktopnotifications/APKBUILD
+++ /dev/null
@@ -1,112 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-desktopnotifications
-pkgdesc="desktop notification plugin for kopano-webapp"
-pkgver=2.0.3
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/desktopnotifications/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src kopano-core"
-source="
- kopano-webapp-desktopnotifications-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/desktopnotifications/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
-
- sed -i -e "s/\(PLUGIN_DESKTOPNOTIFICATION_USER_DEFAULT_ENABLE', \)\(.*\)\();$\)/\1true\3/" config.php
-
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-b806536a173b34a4403581bc60a57f82214fd9d7a247ebbb0c87f1242fb1f341850b9eedb95ef7f4be0c5c33453ce95a19c69145bc04b8867332959cb585f3e9 kopano-webapp-desktopnotifications-2.0.3.zip
-"
diff --git a/testing/kopano-webapp-fetchmail/APKBUILD b/testing/kopano-webapp-fetchmail/APKBUILD
deleted file mode 100644
index 87e51aab94f..00000000000
--- a/testing/kopano-webapp-fetchmail/APKBUILD
+++ /dev/null
@@ -1,109 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-fetchmail
-pkgdesc="fetchmail plugin for kopano-webapp"
-pkgver=1.3
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://github.com/mpietruschka/kopano-webapp-fetchmail"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp php7-mysqli fetchmail"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src kopano-core"
-source="
- kopano-webapp-fetchmail-$pkgver.zip::https://github.com/mpietruschka/kopano-webapp-fetchmail/archive/refs/tags/$pkgver.zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname/kopano-webapp-fetchmail-* kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-96f10a7d9b23f2a24610e2ef8f32e67f39c9435a9b73bc92b478478a85798fbe475aa8387113dfabeb57af636f53e930f50204fee07d6a04b5c8053d467573da kopano-webapp-fetchmail-1.3.zip
-"
diff --git a/testing/kopano-webapp-filepreviewer/APKBUILD b/testing/kopano-webapp-filepreviewer/APKBUILD
deleted file mode 100644
index 41cefbef876..00000000000
--- a/testing/kopano-webapp-filepreviewer/APKBUILD
+++ /dev/null
@@ -1,109 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-filepreviewer
-pkgdesc="filepreviewer plugin for kopano-webapp"
-pkgver=2.2.0
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/filepreviewer/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src kopano-core"
-source="
- kopano-webapp-filepreviewer-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/filepreviewer/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-d56aaae46153bd2350dc13a67a3c75305db12b88047e9bd038dcfc2bae8a991af4c4913641641ab1088548fb3dc49a02f402a2a3aa01640b08d0286b27175950 kopano-webapp-filepreviewer-2.2.0.zip
-"
diff --git a/testing/kopano-webapp-files-backend-owncloud/APKBUILD b/testing/kopano-webapp-files-backend-owncloud/APKBUILD
deleted file mode 100644
index 77c6d71015e..00000000000
--- a/testing/kopano-webapp-files-backend-owncloud/APKBUILD
+++ /dev/null
@@ -1,110 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-files-backend-owncloud
-pkgdesc="owncloud backend for the files plugin for kopano-webapp"
-pkgver=4.0.0
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core
-arch="noarch !ppc64le !mips64 !riscv64"
-url="http://www.kopano.com/"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-files"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src kopano-core"
-source="
- kopano-webapp-files-backend-owncloud-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/files-owncloud-backend/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-# special name
-_pluginname="filesbackendOwncloud"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-57d833241fa590ff8498dbdd23b8280c534c3c0b885135f9d0c4102a529aa27c4899d22b748f93f09306a06bf19a62cacc0fe6a85c0db179e5ea3d347473a4e2 kopano-webapp-files-backend-owncloud-4.0.0.zip
-"
diff --git a/testing/kopano-webapp-files-backend-smb/APKBUILD b/testing/kopano-webapp-files-backend-smb/APKBUILD
deleted file mode 100644
index 54895ba52cf..00000000000
--- a/testing/kopano-webapp-files-backend-smb/APKBUILD
+++ /dev/null
@@ -1,110 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-files-backend-smb
-pkgdesc="smb backend for the files plugin for kopano-webapp"
-pkgver=4.0.0
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core
-arch="noarch !ppc64le !mips64 !riscv64"
-url="http://www.kopano.com/"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-files"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src kopano-core"
-source="
- kopano-webapp-files-backend-smb-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/files-smb-backend/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-# special name
-_pluginname="filesbackendSMB"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-7af79cac8e8bd8be380db380ff01574a8630d7dc234005c1e92e9b6a07cccdde7b784d67ce9ec020d251fb0cbc7971ca96d2ac4abd185880b8f6beedf0d41280 kopano-webapp-files-backend-smb-4.0.0.zip
-"
diff --git a/testing/kopano-webapp-files/APKBUILD b/testing/kopano-webapp-files/APKBUILD
deleted file mode 100644
index 7c63fe60010..00000000000
--- a/testing/kopano-webapp-files/APKBUILD
+++ /dev/null
@@ -1,119 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-files
-pkgdesc="files plugin for kopano-webapp"
-pkgver=3.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/files/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src kopano-core"
-source="
- kopano-webapp-files-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/files/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
- kopano-webapp-files.ini
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
-
- sed -i -e "s|\(PLUGIN_FILESBROWSER_LOGLEVEL', \)\(.*\)\();$\)|\1'ERROR'\3|" config.php
- sed -i -e "s|\(PLUGIN_FILES_CACHE_DIR', \)\(.*\)\();$\)|\1'/var/lib/kopano-webapp/plugins/files'\3|" config.php
-
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
-
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-
- mkdir -p "$pkgdir/etc/php/conf.d"
- cp "$srcdir/$pkgname.ini" "$pkgdir/etc/php/conf.d"
-}
-sha512sums="
-7cd4ad26833920397c4d864077e29f24e34848c086a120e85fd838cffc8326ced19fd8b9c3ccd182e3b64c8f18db363e3a172f00d5adecb24141928fe3e303bd kopano-webapp-files-3.0.1.zip
-8bda45524ba341753a1503e5a8bf2b4f73a365d9cf9b71c0e33cdb1f3b2a32b39186bad39fedc4a955d724884dee6333ceb218a44859151cb1964932c4fab198 kopano-webapp-files.ini
-"
diff --git a/testing/kopano-webapp-files/kopano-webapp-files.ini b/testing/kopano-webapp-files/kopano-webapp-files.ini
deleted file mode 100644
index 8a24027fc17..00000000000
--- a/testing/kopano-webapp-files/kopano-webapp-files.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-extension=curl
-#extension=memcached
diff --git a/testing/kopano-webapp-intranet/APKBUILD b/testing/kopano-webapp-intranet/APKBUILD
deleted file mode 100644
index d1b9707371c..00000000000
--- a/testing/kopano-webapp-intranet/APKBUILD
+++ /dev/null
@@ -1,110 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-intranet
-pkgdesc="intranet plugin for kopano-webapp"
-pkgver=1.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/intranet/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src kopano-core"
-source="
- kopano-webapp-intranet-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/intranet/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
-
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-45b3f8534c72892e900c28a71d1ed5f37b9b1835679454a635865681a71c267a9f465cfc3215d9c0fb5969538ac81d4570e4bc5f43bf49d41508ad84546bf4fd kopano-webapp-intranet-1.0.1.zip
-"
diff --git a/testing/kopano-webapp-mdm/APKBUILD b/testing/kopano-webapp-mdm/APKBUILD
deleted file mode 100644
index 352582c62cd..00000000000
--- a/testing/kopano-webapp-mdm/APKBUILD
+++ /dev/null
@@ -1,114 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-mdm
-pkgdesc="mobile device management plugin for kopano-webapp"
-pkgver=3.3.0
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/mobile-device-management/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp z-push php7-soap"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-mdm-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/mobile-device-management/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
-
- sed -i -e "s/\(PLUGIN_MDM_USER_DEFAULT_ENABLE_MDM', \)\(.*\)\();$\)/\1true\3/" config.php
- sed -i -e "s/\(PLUGIN_MDM_SERVER', \)\(.*\)\();$\)/\1'127.0.0.1:81'\3/" config.php
- sed -i -e "s/\(PLUGIN_MDM_SERVER_SSL', \)\(.*\)\();$\)/\1false\3/" config.php
-
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-d64533242c16a5646fb0a9d2a05e089055129d8ec95b20adcd03a7f88e52203240ec36501c4212cb6d40e774e54886bc327f81b4adcbeaa1126a9529de9fbc55 kopano-webapp-mdm-3.3.0.zip
-"
diff --git a/testing/kopano-webapp-smime/APKBUILD b/testing/kopano-webapp-smime/APKBUILD
deleted file mode 100644
index 52cfbd1e363..00000000000
--- a/testing/kopano-webapp-smime/APKBUILD
+++ /dev/null
@@ -1,112 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-smime
-pkgdesc="smime plugin for kopano-webapp"
-pkgver=2.2.4
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/mobile-device-management/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-smime-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/smime/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
-
- sed -i -e "s/\(PLUGIN_SMIME_CIPHER', \)\(.*\)\();$\)/\1OPENSSL_CIPHER_AES_256_CBC\3/" config.php
-
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-14af8910a32bec884fe2c638faf871d68ecc2a3c137f3ecc8c2033cc53d9b73c6f813ca5976fae82e2e4c51e4c18d5d49218672e808b129c60f77d148dee5e52 kopano-webapp-smime-2.2.4.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-de-at/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-de-at/APKBUILD
deleted file mode 100644
index 3b9fe71ca05..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-de-at/APKBUILD
+++ /dev/null
@@ -1,109 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-de-at
-pkgdesc="German (Austria) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-de-at/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-de-at-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-de-at/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-ea6f5524dc798273d0c08149582bb222372d3364f57fcfde23b319f1a6332cd3a5fe307c2bb22922b7dc10f0d2c025ceb3bdec70a992bf9ef9ed717ba47fb5e6 kopano-webapp-spellchecker-languagepack-de-at-2.0.1.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-de-ch/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-de-ch/APKBUILD
deleted file mode 100644
index b1b2a27f5ca..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-de-ch/APKBUILD
+++ /dev/null
@@ -1,113 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-de-ch
-pkgdesc="German (Switzerland) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-de-ch/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-de-ch-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-de-ch/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv kopano-webapp-spellchecker-languagepack-de-ch "kopano-webapp/plugins/$_pluginname"
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- # copy files into right subdir
- echo "_pluginname: $_pluginname" >&2
-
- echo "Packaging $pkgname with _pluginname $_pluginname" >&2
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-366429da7cf94a337c62dbb9a4f918d87a9f3f0bc84af9ec702e7bf846595d7bde049cca49db5f38ed8b800577766b6578bc9ac4bc173c5a784edfd23eab644d kopano-webapp-spellchecker-languagepack-de-ch-2.0.1.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-de-de/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-de-de/APKBUILD
deleted file mode 100644
index cf7a1945e54..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-de-de/APKBUILD
+++ /dev/null
@@ -1,113 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-de-de
-pkgdesc="German (Germany) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-de-de/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-de-de-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-de-de/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv kopano-webapp-spellchecker-languagepack-de-de "kopano-webapp/plugins/$_pluginname"
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- # copy files into right subdir
- echo "_pluginname: $_pluginname" >&2
-
- echo "Packaging $pkgname with _pluginname $_pluginname" >&2
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-a40092d3a2f835d3c014734addebec9ec8e9dbba2a144d442c61f88e8d46b5cf9c29069feaeaff961813215ce800ec69567fdf9918fed9cdec57b25dd9a80465 kopano-webapp-spellchecker-languagepack-de-de-2.0.1.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-en-gb/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-en-gb/APKBUILD
deleted file mode 100644
index bf496949d80..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-en-gb/APKBUILD
+++ /dev/null
@@ -1,113 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-en-gb
-pkgdesc="English (Great-Britain) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-en-gb/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-en-gb-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-en-gb/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv kopano-webapp-spellchecker-languagepack-en-gb "kopano-webapp/plugins/$_pluginname"
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- # copy files into right subdir
- echo "_pluginname: $_pluginname" >&2
-
- echo "Packaging $pkgname with _pluginname $_pluginname" >&2
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-6fbeab01b7cd3015ca46aa46b30d2129a6a5a1ba129613e338f27de3e4c4d3474297649141b7c20411d3cbbf5d27615e8b7cb9007480cd152b33dcce801b6686 kopano-webapp-spellchecker-languagepack-en-gb-2.0.1.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-en-us/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-en-us/APKBUILD
deleted file mode 100644
index 00003c2ee35..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-en-us/APKBUILD
+++ /dev/null
@@ -1,109 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-en-us
-pkgdesc="English (United States) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-en-us/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-en-us-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-en-us/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-9234816e09988e6042af15a9e5d7d08a1d1c22c41025d659279f6fa895d0a65ce293622b49b395144eb2690a3221a644720e7370af1782a982e3088026be32fb kopano-webapp-spellchecker-languagepack-en-us-2.0.1.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-es-es/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-es-es/APKBUILD
deleted file mode 100644
index 4304c8ec68e..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-es-es/APKBUILD
+++ /dev/null
@@ -1,109 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-es-es
-pkgdesc="Spanish (Spain) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-es-es/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-es-es-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-es-es/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-d279c12faab208f6f3046b8f869d3ac6d15da10b13dccfaa35c2f6756eeef410c91ab5b164adfd844f961bc48ce53c6ef6f305567937c9b1d5267fd0fbd9491a kopano-webapp-spellchecker-languagepack-es-es-2.0.1.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-fr-fr/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-fr-fr/APKBUILD
deleted file mode 100644
index c506296ea52..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-fr-fr/APKBUILD
+++ /dev/null
@@ -1,109 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-fr-fr
-pkgdesc="French (France) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-fr-fr/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-fr-fr-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-fr-fr/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-0e54c2fcc749a946c8c82d2b445cb85692a79109ae7ff7ab94c5c2c186bf6902b085fb3061beb596045d988e6145c45e202323d1af9b05220d50224a3fc4f36c kopano-webapp-spellchecker-languagepack-fr-fr-2.0.1.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-it-it/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-it-it/APKBUILD
deleted file mode 100644
index ba6e11c62e6..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-it-it/APKBUILD
+++ /dev/null
@@ -1,113 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-it-it
-pkgdesc="Italian (Italy) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=1.0.0
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-italian-it/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-italian-it-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-italian-it/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv kopano-webapp-spellchecker-languagepack-italian-it "kopano-webapp/plugins/$_pluginname"
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- # copy files into right subdir
- echo "_pluginname: $_pluginname" >&2
-
- echo "Packaging $pkgname with _pluginname $_pluginname" >&2
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-901ffd3f903bd7a589555ab28d827ba61f83263f1f9f9b234c4460374c3fa05d3092a68f31795ea5ce88f3499fd84dde782bb49b638ef1ad029e8c13a8551550 kopano-webapp-spellchecker-languagepack-italian-it-1.0.0.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-nl-nl/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-nl-nl/APKBUILD
deleted file mode 100644
index 7b03b6b15b6..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-nl-nl/APKBUILD
+++ /dev/null
@@ -1,113 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-nl
-pkgdesc="Dutch (Netherlands) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-nl/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-nl-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-nl/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv kopano-webapp-spellchecker-languagepack-nl "kopano-webapp/plugins/$_pluginname"
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- # copy files into right subdir
- echo "_pluginname: $_pluginname" >&2
-
- echo "Packaging $pkgname with _pluginname $_pluginname" >&2
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-98db2fbc088409b66039f6ede3196f334af6dc97f289e84f0756b66942fa9c66908a159aa108468119f26ce30e0b6d248feb134804c5bb02b07436e9e3003f11 kopano-webapp-spellchecker-languagepack-nl-2.0.1.zip
-"
diff --git a/testing/kopano-webapp-spellchecker-languagepack-pl-pl/APKBUILD b/testing/kopano-webapp-spellchecker-languagepack-pl-pl/APKBUILD
deleted file mode 100644
index 3c67e26e0f1..00000000000
--- a/testing/kopano-webapp-spellchecker-languagepack-pl-pl/APKBUILD
+++ /dev/null
@@ -1,113 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker-languagepack-pl-pl
-pkgdesc="Polish (Poland) languagepack for kopano-webapp's spellchecker plugin"
-pkgver=2.0.0
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core -> kopano-webapp
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker-languagepack-pl-pl/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp-spellchecker"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-languagepack-pl-pl-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker-languagepack-pl-pl/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv kopano-webapp-spellchecker-languagepack-pl-pl "kopano-webapp/plugins/$_pluginname"
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- # copy files into right subdir
- echo "_pluginname: $_pluginname" >&2
-
- echo "Packaging $pkgname with _pluginname $_pluginname" >&2
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-ad3193b01ea6b618aec74833274e1be40326b6b9aaa197d833036302138a46534428371a7e95284baa87dd1320a6f925a9de028189f88d039570f60d884a3fac kopano-webapp-spellchecker-languagepack-pl-pl-2.0.0.zip
-"
diff --git a/testing/kopano-webapp-spellchecker/APKBUILD b/testing/kopano-webapp-spellchecker/APKBUILD
deleted file mode 100644
index aa26ff329b9..00000000000
--- a/testing/kopano-webapp-spellchecker/APKBUILD
+++ /dev/null
@@ -1,111 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp-spellchecker
-pkgdesc="spellchecker plugin for kopano-webapp"
-pkgver=2.0.1
-pkgrel=2
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core
-arch="noarch !ppc64le !mips64 !riscv64"
-url="https://stash.kopano.io/projects/KWA/repos/spellchecker/browse"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="kopano-webapp php-enchant"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-webapp-src"
-source="
- kopano-webapp-spellchecker-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KWA/repos/spellchecker/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
- kopano-webapp-spellchecker.ini
-"
-
-_pluginname="${pkgname//kopano-webapp-/}"
-
-builddir="$srcdir/"
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-prepare() {
- cp -R /usr/share/src/kopano-webapp/ kopano-webapp
- find "kopano-webapp/plugins/" -type d -mindepth 1 -maxdepth 2 -print0 | xargs -0 -- rm -rf
- mv $pkgname kopano-webapp/plugins/$_pluginname
- default_prepare
-}
-
-build() {
- cd kopano-webapp
- ant tools
- cd plugins/$_pluginname
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
-}
-
-package() {
- cd "$srcdir/kopano-webapp/deploy/plugins/$_pluginname/"
- # /usr/share
- mkdir -p "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- cp -R -- * "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/"
- rm -f "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
-
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$pkgdir/var/lib/kopano-webapp/plugins/$_pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/usr/share/webapps/kopano-webapp/plugins/$_pluginname/config.php"
- ## config examples
- install -m 0750 "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.php" "$pkgdir/etc/webapps/kopano-webapp/plugins/$_pluginname/config.example.php"
- fi
-}
-sha512sums="
-59e05779047878fa3d79a56e0689b1336b209feffab352a38e441a3068290132b259b7fb6056f34ef66e9b404b4fb2342499ae8520899d7fac261e8879325ef1 kopano-webapp-spellchecker-2.0.1.zip
-e8bf6c3fa6baf8638116a032a767dc5c4ab9e989c553e8d5f3510e3f6c8de8b23f6917bcb0a6203d1686bf98efb1b0b88d7d5c2c14909a3e3b0a70927fce20bb kopano-webapp-spellchecker.ini
-"
diff --git a/testing/kopano-webapp-spellchecker/kopano-webapp-spellchecker.ini b/testing/kopano-webapp-spellchecker/kopano-webapp-spellchecker.ini
deleted file mode 100644
index 219c2fd4293..00000000000
--- a/testing/kopano-webapp-spellchecker/kopano-webapp-spellchecker.ini
+++ /dev/null
@@ -1 +0,0 @@
-extension=enchant
diff --git a/testing/kopano-webapp/0001-Fix-fatal-errors-in-translation-files.patch b/testing/kopano-webapp/0001-Fix-fatal-errors-in-translation-files.patch
deleted file mode 100644
index 706fed869a1..00000000000
--- a/testing/kopano-webapp/0001-Fix-fatal-errors-in-translation-files.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From ebf9b017d4f24f01277be3ecb645e1d46ce4836d Mon Sep 17 00:00:00 2001
-From: Noel Kuntze <noel.kuntze@thermi.consulting>
-Date: Wed, 14 Jul 2021 20:17:21 +0200
-Subject: [PATCH] Fix fatal errors in translation files
-
----
- server/language/de_DE.UTF-8/LC_MESSAGES/zarafa_webapp.po | 4 ++--
- server/language/nl_NL.UTF-8/LC_MESSAGES/zarafa_webapp.po | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/server/language/de_DE.UTF-8/LC_MESSAGES/zarafa_webapp.po b/server/language/de_DE.UTF-8/LC_MESSAGES/zarafa_webapp.po
-index dcc6b2cb..3994d87c 100644
---- a/server/language/de_DE.UTF-8/LC_MESSAGES/zarafa_webapp.po
-+++ b/server/language/de_DE.UTF-8/LC_MESSAGES/zarafa_webapp.po
-@@ -6265,9 +6265,9 @@ msgstr[1] ""
- msgid "Occurs every %s effective %s for %s occurrence."
- msgid_plural "Occurs every %s effective %s for %s occurrences."
- msgstr[0] ""
--"Findet jeden %s statt, beginnend am %s für %s Wiederholung von %s bis %s."
-+"Findet jeden %s statt, beginnend am %s für %s Wiederholung."
- msgstr[1] ""
--"Findet jeden %s statt, beginnend am %s für %s Wiederholungen von %s bis %s."
-+"Findet jeden %s statt, beginnend am %s für %s Wiederholungen."
-
- #, php-format
- msgid "Occurs every %s %s effective %s for %s occurrence."
-diff --git a/server/language/nl_NL.UTF-8/LC_MESSAGES/zarafa_webapp.po b/server/language/nl_NL.UTF-8/LC_MESSAGES/zarafa_webapp.po
-index 0dc4c5c1..8cda61a4 100644
---- a/server/language/nl_NL.UTF-8/LC_MESSAGES/zarafa_webapp.po
-+++ b/server/language/nl_NL.UTF-8/LC_MESSAGES/zarafa_webapp.po
-@@ -6270,7 +6270,7 @@ msgstr[1] "Vind plaats iedere %s %s, vanaf %s voor %s keren van %s tot %s."
- #, php-format
- msgid "Occurs every %s effective %s for %s occurrence."
- msgid_plural "Occurs every %s effective %s for %s occurrences."
--msgstr[0] "Vind iedere %s plaats, vanaf %s voor % keer."
-+msgstr[0] "Vind iedere %s plaats, vanaf %s voor %s keer."
- msgstr[1] "Vind iedere %s plaats, vanaf %s voor %s keren."
-
- #, php-format
---
-2.32.0
-
diff --git a/testing/kopano-webapp/APKBUILD b/testing/kopano-webapp/APKBUILD
deleted file mode 100644
index 96491d381f5..00000000000
--- a/testing/kopano-webapp/APKBUILD
+++ /dev/null
@@ -1,242 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
-pkgname=kopano-webapp
-pkgdesc="WebApp for Kopano"
-pkgver=5.2.0
-pkgrel=3
-# ppc64le, mips64 and riscv64 blocked by libmdbx -> kopano-core
- arch="noarch !ppc64le !mips64 !riscv64"
-url="http://www.kopano.com/"
-license="AGPL-3.0-only"
-options="!check" # No test suite
-depends="php7 nginx php7-fpm php7-json php7-gettext php7-iconv php7-session php7-openssl php7-simplexml php7-soap"
-# kopano-core necessary for mapi php module
-makedepends="apache-ant openjdk8 kopano-core bash gettext-dev libxml2-utils git nginx php7-soap"
-replaces="zarafa-webapp"
-subpackages="
- kopano-webapp-contactfax:simple_plugin_splitfunc:noarch
- kopano-webapp-gmaps:simple_plugin_splitfunc:noarch
- kopano-webapp-pimfolder:simple_plugin_splitfunc:noarch
- kopano-webapp-src:_src:noarch
-"
-# kopano-webapp-passwd:kopano_webapp_passwd_splitfunc
-
-pkgusers="kopano-webapp"
-pkggroups="kopano-webapp"
-
-install="kopano-webapp.pre-install"
-
-source="kopano-webapp-$pkgver.zip::https://stash.kopano.io/rest/api/latest/projects/KW/repos/kopano-webapp/archive?at=refs%2Ftags%2Fv$pkgver&format=zip
- nginx-location.conf
- php-fpm.example.conf
- kopano-webapp.conf
- kopano-webapp.ini
- compress-static
- 0001-Fix-fatal-errors-in-translation-files.patch
-"
-
-# 0001-Remove-error-dev-stdout.patch"
-# No passwd plugin for now because of no known good upstream and untested code
-#kopano-webapp-passwd-$_pkgverpasswd.tar.gz::https://github.com/silentsakky/zarafa-webapp-passwd/archive/$_commithashpasswd.tar.gz
-
-builddir="$srcdir/"
-
-prepare() {
- olddir="$builddir"
- builddir="$srcdir/$pkgname"
- default_prepare
- builddir="$olddir"
-}
-
-#helper function
-unpack() {
- local u
- verify
- initdcheck
- mkdir -p "$srcdir"
- local gunzip="$(command -v pigz || echo gunzip)"
- [ $gunzip = "/usr/bin/pigz" ] && gunzip="$gunzip -d"
- for u in $source; do
- local s
- local filename="$(filename_from_uri $u)"
- local new_root_dir="$builddir/${filename%%-[0-9]*}"
- if is_remote "$u"; then
- s="$SRCDEST/$filename"
- else
- s="$startdir/$u"
- fi
- case "$s" in
- *.tar)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- tar -C "$new_root_dir" -xf "$s" ;;
- *.tar.gz|*.tgz)
- msg "Unpacking $s..."
- mkdir -p "$new_root_dir"
- $gunzip -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.bz2)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" -jxf "$s" ;;
- *.tar.lz)
- msg "Unpacking $s..."
- tar -C "$new_root_dir" --lzip -xf "$s" ;;
- *.tar.lzma)
- msg "Unpacking $s..."
- unlzma -T 0 -c "$s" | tar -C "$new_root_dir" -x ;;
- *.tar.xz)
- msg "Unpacking $s..."
- local threads_opt
- if [ "$(readlink -f "$(command -v unxz)")" != "/bin/busybox" ]; then
- threads_opt="--threads=0"
- fi
- unxz $threads_opt -c "$s" | tar -C "$new_root_dir" -x ;;
- *.zip)
- msg "Unpacking $s..."
- unzip -n -q "$s" -d "$new_root_dir" ;;
- esac
- done
-}
-
-build() {
- # create translations, compress javascript-files
- cd kopano-webapp/
- ant deploy
- ant deploy-plugins
- # antdeploy-plugins leads to errors
- # execution one by one
- cd "$srcdir"
- for f in kopano-webapp-*; do
- if [ -d "$f" ]; then
- dest="kopano-webapp/plugins/${f//kopano-webapp-/}"
- test="$(find . -name "$f/$f-*" 2>/dev/null | head -n 1)"
- case "${f//kopano-webapp-/}" in
- spellchecker-languagepack-italian)
- dest=kopano-webapp/plugins/spellchecker-languagepack-italian-it
- ;;
- files-backend-owncloud)
- dest=kopano-webapp/plugins/filesbackendOwncloud
- ;;
- files-backend-smb)
- dest=kopano-webapp/plugins/filesbackendSMB
- ;;
- fetchmail)
- mv "$f"/*/ "$dest"
- ;;
- *)
- ;;
- esac
- if [ -d "$test" ]; then
- mv "$test" "$dest"
- else
- mv "$f" "$dest"
- fi
- cd "$dest"*
- ant deploy -Droot-folder="$(pwd)/../../" -Dtarget-folder="$(pwd)/../../deploy/plugins"
- cd "$srcdir"
- fi
- done
-}
-package() {
- # application
- cd "$srcdir/kopano-webapp/deploy"
- install -dm 755 "$pkgdir/usr/share/webapps/$pkgname/"
-
- cp -r -- * "$pkgdir/usr/share/webapps/$pkgname/"
- cp "$srcdir/kopano-webapp/.htaccess" "$pkgdir/usr/share/webapps/$pkgname/"
- rm -R -- "$pkgdir/usr/share/webapps/$pkgname/plugins/"*
-
- # set version
- echo "$pkgver" > "$pkgdir/usr/share/webapps/$pkgname/version"
- ## precompress for nginx
- find "$pkgdir/usr/share/webapps/$pkgname" -type f -exec "$srcdir/compress-static" "{}" \;
- ## config examples
- install -dm 0750 -g kopano-webapp "$pkgdir/etc/webapps/$pkgname/"
- install -Dm 0644 -g kopano-webapp "$srcdir/php-fpm.example.conf" "$srcdir/nginx-location.conf" "$pkgdir/etc/webapps/$pkgname/"
- install -Dm 0644 -g kopano-webapp "$srcdir/kopano-webapp.conf" "$pkgdir/etc/webapps/$pkgname/apache.example.conf"
- install -Dm 0644 -g kopano-webapp "$srcdir/nginx-location.conf" "$pkgdir/etc/webapps/$pkgname/nginx.example.conf"
- ## config mains
- install -Dm 0644 -g kopano-webapp config.php.dist "$pkgdir/etc/webapps/$pkgname/config.php"
- sed -i 's%define("DEBUG_DUMP_FILE", BASE_PATH . "debug.txt");%define("DEBUG_DUMP_FILE", "/var/log/kopano-webapp/debug.txt");%g' debug.php.dist
-
- sed -i -e 's|\(\"DEBUG_LOADER\", \).*$|\1LOAD_RELEASE);|' debug.php.dist
- install -Dm 0644 debug.php.dist "$pkgdir/etc/webapps/$pkgname/debug.php.dist"
- ln -sf "/etc/webapps/$pkgname/config.php" "$pkgdir/usr/share/webapps/$pkgname/config.php"
- ln -sf "/etc/webapps/$pkgname/debug.php" "$pkgdir/usr/share/webapps/$pkgname/debug.php"
- ## php
- install -Dm 0644 "$srcdir/$pkgname.ini" "$pkgdir/etc/php7/conf.d/$pkgname.ini"
- ## php-fpm
- install -Dm 0644 "$srcdir/$pkgname.conf" "$pkgdir/etc/php7/php-fpm.d/$pkgname.conf"
- # /var/lib
- install -dm 0770 -g kopano-webapp "$pkgdir/var/lib/$pkgname/" "$pkgdir/var/lib/$pkgname/plugins" "$pkgdir/var/log/$pkgname"
- install -dm 0770 -g kopano-webapp "$pkgdir/var/lib/$pkgname/tmp"
- touch "$pkgdir/var/log/$pkgname/debug.txt"
- ln -sf "/var/log/$pkgname/debug.txt" "$pkgdir/usr/share/webapps/$pkgname/debug.txt"
- chown root:kopano-webapp "$pkgdir/usr/share/webapps/$pkgname"
- chmod 750 "$pkgdir/usr/share/webapps/$pkgname"
- chmod 660 "$pkgdir/var/log/$pkgname/debug.txt"
- chown root:kopano-webapp "$pkgdir/var/log/$pkgname/debug.txt"
- # fix access
- chmod 644 "$pkgdir/usr/share/webapps/kopano-webapp/client/kopano.js.map"
- # copy dompurify
- install -dm 755 "$pkgdir/usr/share/webapps/kopano-webapp/client/dompurify"
- # we're currently in srcdir/kopano-webapp/deploy
- install -Dm 644 ../client/dompurify/*.js* "$pkgdir/usr/share/webapps/kopano-webapp/client/dompurify/"
- chmod 0755 "$pkgdir/usr/share/webapps/$pkgname/"
-}
-
-simple_plugin_splitfunc() {
- depends="kopano-webapp"
- package_plugin
-}
-# FUNCTIONS
-package_plugin() {
- : "${pluginname:="${subpkgname//kopano-webapp-/}"}"
- echo "Pluginname: $pluginname" >&2
-
- echo "Packaging $pkgname with pluginname $pluginname" >&2
- cd "$srcdir/kopano-webapp/deploy/plugins/$pluginname/"
- # /usr/share
- install -dm 755 "$subpkgdir/usr/share/webapps/kopano-webapp/plugins/$pluginname/"
- cp -R -- * "$subpkgdir/usr/share/webapps/kopano-webapp/plugins/$pluginname/"
- rm -f "$subpkgdir/usr/share/webapps/kopano-webapp/plugins/$pluginname/config.php"
- "$srcdir/compress-static" "$subpkgdir/usr/share/webapps/kopano-webapp/plugins/$pluginname/"
- # /var/lib
- install -dm 0700 -o kopano-webapp -g root "$subpkgdir/var/lib/kopano-webapp/plugins/$pluginname"
- # /etc
- if [ -e "config.php" ]; then
- ## perform settings
- # convert windows line break to unix: http://stackoverflow.com/questions/11680815/removing-windows-newlines-on-linux-sed-vs-awk
- sed -i -e $'s/\r//' config.php
- install -dm 0750 -g kopano-webapp "$subpkgdir/etc/webapps/kopano-webapp/plugins/$pluginname/"
- ## config mains
- install -m 0750 -g kopano-webapp config.php "$subpkgdir/etc/webapps/kopano-webapp/plugins/$pluginname/config.php"
- ln -sf "/etc/webapps/kopano-webapp/plugins/$pluginname/config.php" "$subpkgdir/usr/share/webapps/kopano-webapp/plugins/$pluginname/config.php"
- ## config examples
- install -m 0750 "$subpkgdir/etc/webapps/kopano-webapp/plugins/$pluginname/config.php" "$subpkgdir/etc/webapps/kopano-webapp/plugins/$pluginname/config.example.php"
- fi
- if [ -e "$srcdir/$pluginname.ini" ]; then
- ## php
- mkdir -p "$subpkgdir/etc/php/conf.d"
- cp "$srcdir/$pluginname.ini" "$subpkgdir/etc/php/conf.d"
- fi
-}
-
-_src() {
- pkgdesc="kopano-webapp (sources)"
- destdir="$subpkgdir/usr/share/src/"
- mkdir -p "$destdir"
- cp -R "$srcdir/kopano-webapp/" "$destdir"
- cd "$destdir/kopano-webapp/"
- ant clean
- # everything using the -src package requires tools. Saves some seconds at build time for those packages
- ant tools
-}
-
-sha512sums="
-b81a19e90da8498f94033b76e3020215f152ec4cd1f86a0545964a26f9b8d8e2e68745a4ca70d9efa7ea73154e6ae8d40a9a7b718377541864ecfd1d72f51487 kopano-webapp-5.2.0.zip
-849f08412c6754603cf6d31866ae0b257719530861fcb40fd6acc4530576da59c45792eecf0ff483de41398401a21f1b20e36f1183c8cfbb88053b1b8bd603f4 nginx-location.conf
-bad70098b919c4cacce3152b276da489d7a36ca195b607508ad316211401dc98f07433ef505deb82a91388993e58b398cce2bc3eb295cf812362bae96b40fb35 php-fpm.example.conf
-bdfe3960f88c776264e4caae47404a3647508f545f915a5aa205d486415d32c5ac89f8b4dbd9905a0b0751ec0ed42a2aef690cf8bca20f66e1f322141fad0f01 kopano-webapp.conf
-062103e4ebf63c5dc4589d25e03f5ebe1df711613d5ea27a27265f3041832677ed384a16460e2bf8905c59f800abc84ef30a70512738c2cb335b76d275332ce8 kopano-webapp.ini
-a9421b4206f06ec9e61a79fad5907b3616d030386585ee06af8fc20d376b2023e0ca65fa20ef290029d3a0eb523f6ef8ed3d7a8be48a5340285ed2f004d99f9c compress-static
-f4d77690324eff874c22ff92a3717cc719fd66c0295baf60213cd8fbaa59110a8c4ca238caae9c36d4e606cbe56c7462c18225f917aaebac42b45e6b7683f0df 0001-Fix-fatal-errors-in-translation-files.patch
-"
diff --git a/testing/kopano-webapp/compress-static b/testing/kopano-webapp/compress-static
deleted file mode 100755
index 4d3aa61cf7f..00000000000
--- a/testing/kopano-webapp/compress-static
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/ash
-
-FILES="htm|css|html|js"
-
-process() {
- FILE="$1"
-
- if ! $(echo "$FILE" | egrep '.*\.('$FILES')')
- then
- return 0
- fi
-
-
- if [ -f "$FILE".gz ]
- then
- FILE_ORIG=$(stat -c %Y "$FILE")
- FILE_GZIP=$(stat -c %Y "$FILE".gz)
- if [ $FILE_ORIG -gt $FILE_GZIP ]
- then
- rm "$FILE".gz
- gzip -k -9 "$FILE"
- if [ "$DEBUG" == 1 ]
- then
- echo "Deleted old .gz and created new one at: $FILE.gz"
- sleep $SLEEP_DELAY
- fi
- else
- if [ "$DEBUG" == 1 ]
- then
- echo "Skipping - Already up to date: $FILE.gz"
- fi
- fi
- else
- gzip -k -9 "$FILE"
- echo "Created new: $FILE.gz"
- fi
-}
-process
diff --git a/testing/kopano-webapp/kopano-webapp.conf b/testing/kopano-webapp/kopano-webapp.conf
deleted file mode 100644
index dfcf033c3e3..00000000000
--- a/testing/kopano-webapp/kopano-webapp.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-[kopano-webapp]
-listen = /var/lib/php7/fpm/kopano-webapp.sock
-listen.owner = kopano-webapp
-listen.group = http
-listen.mode = 0660
-
-user = kopano-webapp
-group = kopano
-
-; 5 kopano-webapp users
-pm = ondemand
-pm.max_children = 15
-pm.max_requests = 500
-
-env[HOSTNAME] = $HOSTNAME
-env[PATH] = /usr/local/bin:/usr/bin:/bin
-env[TMP] = /tmp
-env[TMPDIR] = /tmp
-env[TEMP] = /tmp
-env[HOME] = /home
-
-php_flag[short_open_tag] = on
-php_flag[register_globals] = off
-php_flag[magic_quotes_gpc] = off
-php_flag[magic_quotes_runtime] = off
-
-; The maximum POST limit. To upload large files, this value must be larger than upload_max_filesize.
-php_admin_value[upload_max_filesize] = 30M
-php_admin_value[post_max_size] = 31M
-
-php_admin_value[open_basedir] = ${open_basedir}:/usr/share/webapps/kopano-webapp:/etc/webapps/kopano-webapp:/var/lib/kopano-webapp:/var/log/kopano-webapp:/usr/share/php/mapi
-php_admin_value[session.save_path] = /var/lib/kopano-webapp/tmp
diff --git a/testing/kopano-webapp/kopano-webapp.ini b/testing/kopano-webapp/kopano-webapp.ini
deleted file mode 100644
index 8a719d9bce4..00000000000
--- a/testing/kopano-webapp/kopano-webapp.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-extension=mapi
-extension=iconv
-extension=gettext
diff --git a/testing/kopano-webapp/kopano-webapp.pre-install b/testing/kopano-webapp/kopano-webapp.pre-install
deleted file mode 100644
index 5fcbe5d7800..00000000000
--- a/testing/kopano-webapp/kopano-webapp.pre-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-addgroup -S kopano-webapp >/dev/null 2>/dev/null
-addgroup -S http >/dev/null 2>/dev/null
-adduser -S -D -H -h /var/lib/kopano -s /sbin/nologin -G kopano-webapp -g kopano-webapp kopano-webapp >/dev/null 2>/dev/null
-addgroup -S kopano-webapp kopano
-exit 0
diff --git a/testing/kopano-webapp/nginx-location.conf b/testing/kopano-webapp/nginx-location.conf
deleted file mode 100644
index 157997e187c..00000000000
--- a/testing/kopano-webapp/nginx-location.conf
+++ /dev/null
@@ -1,43 +0,0 @@
- ###
- ## In order to run this component you need to define a server-context in.
- ## /etc/nginx/nginx.conf:
- ##
- ## http {
- ## server {
- ## listen 80;
- ## include ${PATH_TO_THIS_LOCATION_FILE};
- ## }
- ## }
- ##
- ## Or include this file in your existing server-context.
- ##
- location /kopano-webapp {
- root /usr/share/webapps;
- index index.php;
- gzip_static on;
- gzip_vary on;
- ## [WARNING] The following header states that the browser should only communicate
- ## with your server over a secure connection for the next 24 months.
- add_header Strict-Transport-Security max-age=63072000;
- add_header X-Frame-Options SAMEORIGIN;
- add_header X-Content-Type-Options nosniff;
-
- # HIDDEN FILES AND FOLDERS
- rewrite ^(.*)\/\.(.*)$ @404 break;
-
- ## Increase this if you want to upload large attachments
- client_max_body_size 20m;
-
- # Pass PHP scripts to PHP-FPM
- location ~* \.php$ {
- if (!-f $request_filename) {
- return 404;
- }
-
- fastcgi_index index.php;
- fastcgi_pass unix:/var/lib/php7/fpm/kopano-webapp.sock;
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_param SCRIPT_NAME $fastcgi_script_name;
- }
- }
diff --git a/testing/kopano-webapp/php-fpm.example.conf b/testing/kopano-webapp/php-fpm.example.conf
deleted file mode 100644
index 97b9777f109..00000000000
--- a/testing/kopano-webapp/php-fpm.example.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-include = /etc/php/fpm.d/*.conf
-
-[global]
-pid = /run/php-fpm/php-fpm.pid
-error_log = syslog
-log_level = notice
diff --git a/testing/kopia/APKBUILD b/testing/kopia/APKBUILD
index fa5fd6766b5..c140219a936 100644
--- a/testing/kopia/APKBUILD
+++ b/testing/kopia/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
pkgname=kopia
-pkgver=0.10.1
-pkgrel=0
+pkgver=0.15.0
+pkgrel=2
pkgdesc="Fast and secure backup tool"
url="https://kopia.io/"
license="Apache-2.0"
@@ -10,33 +10,42 @@ arch="all !armhf !armv7 !x86" # tests fail with out of memory error
makedepends="go"
subpackages="$pkgname-bash-completion $pkgname-zsh-completion"
checkdepends="openssh-keygen"
-source="https://github.com/kopia/kopia/archive/v$pkgver/kopia-$pkgver.tar.gz
+source="
+ https://github.com/kopia/kopia/archive/v$pkgver/kopia-$pkgver.tar.gz
skip-docker-tests.patch
"
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-export GOPATH="$srcdir"
-export CGO_ENABLED=0
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export CGO_ENABLED=1
build() {
- go build -ldflags "-s -w -X github.com/kopia/kopia/repo.BuildVersion=$pkgver"
+ local _goldflags="
+ -X github.com/kopia/kopia/repo.BuildVersion=$pkgver
+ -X github.com/kopia/kopia/repo.BuildInfo=AlpineLinux
+ -X github.com/kopia/kopia/repo.BuildGitHubRepo=kopia/kopia
+ "
+ go build -ldflags "$_goldflags"
./kopia --completion-script-bash > $pkgname.bash
./kopia --completion-script-zsh > $pkgname.zsh
}
check() {
- go test -tags testing ./...
+ # XXX: end to end restore_test fails to get same buffer from backup
+ # shellcheck disable=2046
+ go test $(go list -tags testing ./... | grep -Ev 'end_to_end_test')
}
package() {
- install -Dm755 kopia "$pkgdir"/usr/bin/kopia
+ install -Dm755 kopia -t "$pkgdir"/usr/bin/
install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
}
sha512sums="
-86e502ce16e8756135af3b6b6bf9a768ae020e341ff1127096df921711d6afab77dd3c86941e85a887a750b305ca6ca214f32d26c6770128d4237f4758fd4d9c kopia-0.10.1.tar.gz
+c12e75457d6a77d6968f1e577efdb5703ce6fa99991e3088a73e9b5dfa51fdfa96d8264e62a9fad1b2ee8ce07d98ca3bfd986acbc4dac277b2a84ec3187cfd97 kopia-0.15.0.tar.gz
6c1c8ca52d83c940c561f11adc18298147882b709810edd8c6560c8988ff1bd30dae2adba4c18055d283e7c2c655a6c6f10c3951829826d6fe5eea20c8cb821d skip-docker-tests.patch
"
diff --git a/testing/kops/APKBUILD b/testing/kops/APKBUILD
index dd95442f8e3..943648c7a55 100644
--- a/testing/kops/APKBUILD
+++ b/testing/kops/APKBUILD
@@ -1,20 +1,21 @@
# Contributor: Kaarle Ritvanen <kunkku@alpinelinux.org>
# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
pkgname=kops
-pkgver=1.21.1
-pkgrel=3
+pkgver=1.28.4
+pkgrel=2
pkgdesc="Kubernetes Operations"
url="https://github.com/kubernetes/kops"
arch="x86_64"
license="Apache-2.0"
depends="kubernetes"
-makedepends="go"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kubernetes/kops/archive/v$pkgver.tar.gz
- cilium-builder-skip-test-without-sysfs.patch
- "
+makedepends="go bash"
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kubernetes/kops/archive/v$pkgver.tar.gz"
-export GOMODCACHE=$srcdir/go
-export GOFLAGS="$GOFLAGS -modcacherw"
+export GOFLAGS="$GOFLAGS -modcacherw -mod=readonly"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
make kops
@@ -25,10 +26,9 @@ check() {
}
package() {
- install -Dm0755 .build/local/kops "$pkgdir"/usr/bin/kops
+ install -Dm0755 .build/dist/linux/*/kops "$pkgdir"/usr/bin/kops
}
sha512sums="
-da295c5b3374b44354fbe4ee1dfe49b6591f2cac8d13c77a3db73a25f15eaface3327327965a7e2d7fb38660a8a3082aad37f4f90094eac82ce62f500524c2d0 kops-1.21.1.tar.gz
-b2f76ff1a92d5348ff37be264c789bda8841f7e851b4f05339077bae26c2fd2390def6f9cc8fc087950515e7d41b15a732c8cb7333b46dbf33c06dce0900776e cilium-builder-skip-test-without-sysfs.patch
+ca1f63bd1bec167cafa152fd1d510f6d927f301b05f2910e21ca015ded795fc00b7d9344e291acc3d3a6252143823d1adda8855fea52d5d8f5723534a056bb19 kops-1.28.4.tar.gz
"
diff --git a/testing/kops/cilium-builder-skip-test-without-sysfs.patch b/testing/kops/cilium-builder-skip-test-without-sysfs.patch
deleted file mode 100644
index a71db2790f7..00000000000
--- a/testing/kops/cilium-builder-skip-test-without-sysfs.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-builders do not have sysfs mounted, so test fails
-
-diff --git a/nodeup/pkg/model/networking/cilium_test.go b/nodeup/pkg/model/networking/cilium_test.go
-index 1ea7bec..3088466 100644
---- a/nodeup/pkg/model/networking/cilium_test.go
-+++ b/nodeup/pkg/model/networking/cilium_test.go
-@@ -17,6 +17,7 @@ limitations under the License.
- package networking
-
- import (
-+ "os"
- "runtime"
- "testing"
-
-@@ -30,6 +31,11 @@ func TestCiliumBuilder(t *testing.T) {
- if runtime.GOOS != "linux" {
- t.Skipf("cilium nodeup test will only work on linux")
- }
-+
-+ if _, err := os.Stat("/sys/fs/bpf"); os.IsNotExist(err) {
-+ t.Skipf("cilium nodeup test requires sysfs mounted")
-+ }
-+
- context := &model.NodeupModelContext{
- Cluster: &kops.Cluster{
- Spec: kops.ClusterSpec{
diff --git a/testing/kotlin-language-server/APKBUILD b/testing/kotlin-language-server/APKBUILD
new file mode 100644
index 00000000000..0806101905f
--- /dev/null
+++ b/testing/kotlin-language-server/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=kotlin-language-server
+pkgver=1.3.7
+pkgrel=0
+pkgdesc="Kotlin code completion, linting and more for any editor/IDE using the Language Server Protocol"
+url="https://github.com/fwcd/kotlin-language-server"
+arch="x86_64" # blocked by openjdk11, rest don't build, time out, or fail to build tests
+license="MIT"
+checkdepends="maven"
+depends="openjdk11"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fwcd/kotlin-language-server/archive/refs/tags/$pkgver.tar.gz"
+options="!archcheck"
+
+build() {
+ ./gradlew :server:installDist
+}
+
+check() {
+ ./gradlew :server:test
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/kotlin "$pkgdir"/usr/bin
+ cp -r server/build/install/server "$pkgdir"/usr/share/kotlin/kotlin-language-server
+ ln -sf /usr/share/kotlin/kotlin-language-server/bin/kotlin-language-server "$pkgdir"/usr/bin/kotlin-language-server
+}
+
+sha512sums="
+78ec728cdef1c1ac75804a25f9884f71e5af4c39a9275504aa87f9bd9588cd02eb8da4ffb04de9f50b5afb70e32d73f4ae53097e253b33b40f8162925760fbaf kotlin-language-server-1.3.7.tar.gz
+"
diff --git a/testing/kpatch/02-argp.patch b/testing/kpatch/02-argp.patch
new file mode 100644
index 00000000000..b363bb42dab
--- /dev/null
+++ b/testing/kpatch/02-argp.patch
@@ -0,0 +1,11 @@
+--- a/kpatch-build/Makefile 2022-08-03 22:25:45.096931535 +0200
++++ b/kpatch-build/Makefile 2022-08-03 22:26:00.168298699 +0200
+@@ -2,7 +2,7 @@ include ../Makefile.inc
+
+ CFLAGS += -MMD -MP -I../kmod/patch -Iinsn -Wall -Wsign-compare \
+ -Wconversion -Wno-sign-conversion -g -Werror
+-LDLIBS = -lelf
++LDLIBS = -lelf -largp
+
+ TARGETS = create-diff-object create-klp-module create-kpatch-module
+ SOURCES = create-diff-object.c kpatch-elf.c \
diff --git a/testing/kpatch/03-ppc64.patch b/testing/kpatch/03-ppc64.patch
new file mode 100644
index 00000000000..3fc853b6ff1
--- /dev/null
+++ b/testing/kpatch/03-ppc64.patch
@@ -0,0 +1,15 @@
+--- a/kpatch-build/create-diff-object.c 2022-08-03 22:33:54.297782237 +0200
++++ b/kpatch-build/create-diff-object.c 2022-08-03 22:34:53.442204389 +0200
+@@ -132,12 +132,6 @@ static int is_bundleable(struct symbol *
+ return 0;
+ }
+
+-/* Symbol st_others value for powerpc */
+-#define STO_PPC64_LOCAL_BIT 5
+-#define STO_PPC64_LOCAL_MASK (7 << STO_PPC64_LOCAL_BIT)
+-#define PPC64_LOCAL_ENTRY_OFFSET(other) \
+- (((1 << (((other) & STO_PPC64_LOCAL_MASK) >> STO_PPC64_LOCAL_BIT)) >> 2) << 2)
+-
+ /*
+ * On ppc64le, the function prologue generated by GCC 6+ has the sequence:
+ *
diff --git a/testing/kpatch/APKBUILD b/testing/kpatch/APKBUILD
new file mode 100644
index 00000000000..1ac7c182f3f
--- /dev/null
+++ b/testing/kpatch/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
+# Maintainer: Nicolas Lorin <androw95220@gmail.com>
+pkgname=kpatch
+pkgver=0.9.9
+pkgrel=0
+pkgdesc="live kernel patching"
+url="https://github.com/dynup/kpatch"
+arch="x86_64"
+license="GPL-2.0-only"
+depends="
+ bash
+ binutils
+ elfutils-dev
+ gawk
+ gcc
+ "
+makedepends="argp-standalone"
+options="!check"
+subpackages="kpatch-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dynup/kpatch/archive/v$pkgver.tar.gz
+ 02-argp.patch
+ 03-ppc64.patch
+ "
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX="/usr" install
+ cd "$pkgdir"
+
+ # Remove incompatible init system file
+ rm -r etc/init
+}
+
+sha512sums="
+2e1fd4ee11cbbe0f0838023e13547a58f352ea7a35e257b651fdcccd04de3ddfc418ae0c658a3fd8c26e43c549ae17df935f28acc0c32f0865831796795a4ca9 kpatch-0.9.9.tar.gz
+69b05b0941e40189b246159de4faafdf78527b4f08d6b28e82eabae0f3e10935adcdf237b0ff402dd1bc9e6cc96315f3e65438c7a827246da5c3a119d4fc207b 02-argp.patch
+99256fd74ffa98d00bc614115b1acb3d7f4d829b641cc4e46a342cd4bfdb97fb1197888ca438c0562881f2382a6e7d2dd6995cf8d24915d261385dcea95df27f 03-ppc64.patch
+"
diff --git a/testing/kristall/APKBUILD b/testing/kristall/APKBUILD
deleted file mode 100644
index 710225da26f..00000000000
--- a/testing/kristall/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: omni <omni@gitlab.alpinelinux.org>
-# Maintainer: omni <omni@gitlab.alpinelinux.org>
-pkgname=kristall
-pkgver=0.3_git20210508
-_commit=9e0f8e1f7a551019587ac8c64a96214da3edb45b
-pkgrel=0
-pkgdesc="Qt small-internet client for gemini, gopher, finger and http(s)"
-url="https://kristall.random-projects.net/"
-# armhf: missing qt5-qtdeclarative
-arch="all !armhf"
-license="GPL-3.0-or-later"
-depends="qt5-qtsvg"
-makedepends="qtchooser qt5-qtbase-dev qt5-qtsvg-dev qt5-qtmultimedia-dev
- qt5-qttools-dev coreutils"
-options="!check" # no test suite
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/MasterQ32/kristall/archive/$_commit.tar.gz
- set-kristall-version.patch"
-builddir="$srcdir/$pkgname-$_commit"
-
-build() {
- export pkgver # for set-kristall-version.patch
- make
-}
-
-package() {
- make install PREFIX="$pkgdir"/usr
-}
-
-sha512sums="45de320ec100a7cb7d80aa7f7e5c0feb4ceb03cd131659c35c9660eada4ca00d410036326579d7823f584a8caabe8a32b02553b4b44ddb2462b46ed7773006bc kristall-0.3_git20210508.tar.gz
-4b7cd03af976a04ae2ec03db1f07a4b5a8842306a2a2620b5d328d64cb57f53b19c3909bc757fc8008ac93819f8fae3eadf1955128835a61170c7cda83d96695 set-kristall-version.patch"
diff --git a/testing/kristall/set-kristall-version.patch b/testing/kristall/set-kristall-version.patch
deleted file mode 100644
index 4311ac4f508..00000000000
--- a/testing/kristall/set-kristall-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/kristall.pro
-+++ b/src/kristall.pro
-@@ -9,7 +9,7 @@ greaterThan(QT_MAJOR_VERSION, 4): QT +=
- # deprecated API in order to know how to port your code away from it.
- DEFINES += QT_DEPRECATED_WARNINGS
-
--DEFINES += KRISTALL_VERSION="\"$(shell cd $$PWD; git describe --tags)\""
-+DEFINES += KRISTALL_VERSION="\"$$(pkgver)\""
-
- # You can also make your code fail to compile if it uses deprecated APIs.
- # In order to do so, uncomment the following line.
diff --git a/testing/krita-plugin-gmic/APKBUILD b/testing/krita-plugin-gmic/APKBUILD
new file mode 100644
index 00000000000..d0139f76c69
--- /dev/null
+++ b/testing/krita-plugin-gmic/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer:
+pkgname=krita-plugin-gmic
+# match version to gmic.
+pkgver=3.2.4.1
+pkgrel=3
+pkgdesc="Krita plugin for GMIC"
+url="https://github.com/amyspark/gmic"
+# krita
+arch="all !s390x !armhf !armv7"
+license="CECILL-2.1"
+depends="gmic"
+makedepends="
+ bash
+ cmake
+ extra-cmake-modules
+ fftw-dev
+ kcoreaddons5-dev
+ krita-dev
+ gmic-dev
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ samurai
+ zstd
+ "
+source="https://github.com/amyspark/gmic/releases/download/v$pkgver/gmic-$pkgver-patched.tar.zst
+ gmic-sys.patch
+ no-qt6.patch
+ "
+builddir="$srcdir/gmic-$pkgver-patched"
+options="!check" # no tests
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja -S gmic-qt \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DGMIC_QT_HOST=krita-plugin \
+ -DQT_MAJOR_VERSION=5
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ # comes from gmic
+ rm -fv "$pkgdir"/usr/share/gmic/gmic_cluts.gmz
+}
+
+sha512sums="
+36de14ac7823e94e1988ada4e095ba18408bb9e7ab98f745573fcf759d0835e8182d887aa2c26e980a7974f5c2bdef44227c0cc6b9155849b7aafa49c6821c4c gmic-3.2.4.1-patched.tar.zst
+673c3644dbb55621204975b97346d8bbe4fd4860344dcbde849f84da6b343a412405944bf40d3eb215335127b9fb173b615b67a85a0b5bc36084e9bdcdcd42b4 gmic-sys.patch
+34a605e417fed6233fb8f64108c56398cc2daa1b7bbbb847c1763c97100d1afc5a11929931b61f7fd67de10f215c87992a0e3ab1a8a86a3a9ceeac702e836230 no-qt6.patch
+"
diff --git a/testing/krita-plugin-gmic/gmic-sys.patch b/testing/krita-plugin-gmic/gmic-sys.patch
new file mode 100644
index 00000000000..4af1494d8ba
--- /dev/null
+++ b/testing/krita-plugin-gmic/gmic-sys.patch
@@ -0,0 +1,14 @@
+diff --git a/gmic-qt/CMakeLists.txt b/gmic-qt/CMakeLists.txt
+index 6c76f54..d0fb719 100644
+--- a/gmic-qt/CMakeLists.txt
++++ b/gmic-qt/CMakeLists.txt
+@@ -142,7 +142,8 @@ endif()
+ # Gmic
+ #
+ if (ENABLE_SYSTEM_GMIC)
+- find_package(Gmic REQUIRED CONFIG)
++ set(GMIC_LIB_PATH /usr/lib)
++ #find_package(Gmic REQUIRED CONFIG)
+ endif (ENABLE_SYSTEM_GMIC)
+
+ #
diff --git a/testing/krita-plugin-gmic/no-qt6.patch b/testing/krita-plugin-gmic/no-qt6.patch
new file mode 100644
index 00000000000..be34dc917f6
--- /dev/null
+++ b/testing/krita-plugin-gmic/no-qt6.patch
@@ -0,0 +1,11 @@
+we build krita with qt5, so this has to match
+
+diff --git a/gmic-qt/CMakeLists.txt b/gmic-qt/CMakeLists.txt
+index d0fb719..c106470 100644
+--- a/gmic-qt/CMakeLists.txt
++++ b/gmic-qt/CMakeLists.txt
+@@ -156,3 +156,3 @@ find_package(Threads REQUIRED)
+ #
+-find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)
++find_package(QT NAMES Qt5 REQUIRED COMPONENTS Core)
+ find_package(Qt${QT_VERSION_MAJOR} ${MIN_QT_VERSION}
diff --git a/testing/kstars/APKBUILD b/testing/kstars/APKBUILD
new file mode 100644
index 00000000000..0ba9fa13cfa
--- /dev/null
+++ b/testing/kstars/APKBUILD
@@ -0,0 +1,76 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer: team/kde <clayton@craftyguy.net>
+pkgname=kstars
+pkgver=3.7.0
+pkgrel=0
+pkgdesc="Astronomy software"
+url="https://kde.org/applications/education/kstars"
+# arm, riscv64: no support in deps
+# ppc64le: build fails and I don't care about that arch
+arch="all !armv7 !armhf !ppc64le !riscv64"
+license="GPL-2.0-or-later"
+makedepends="
+ cfitsio-dev
+ cmake
+ eigen-dev
+ extra-cmake-modules
+ gsl-dev
+ kconfig5
+ kconfigwidgets5
+ kcoreaddons5
+ kcrash5
+ kdoctools5-dev
+ ki18n5
+ kio5
+ knewstuff5-dev
+ knotifications5
+ knotifyconfig5-dev
+ kplotting5-dev
+ kwidgetsaddons5
+ kxmlgui5
+ libindi-dev
+ libnova-dev
+ libraw-dev
+ libxisf-dev
+ qt5-qtbase-dev
+ qt5-qtdatavis3d-dev
+ qt5-qtdeclarative-dev
+ qt5-qtquickcontrols2-dev
+ qt5-qtsvg-dev
+ qt5-qtwebsockets-dev
+ qtkeychain-dev
+ samurai
+ stellarsolver-dev
+ wcslib-dev
+"
+subpackages="$pkgname-dev $pkgname-doc"
+source="
+ https://download.kde.org/stable/kstars/kstars-$pkgver.tar.xz
+ tests-disable-ngc4535-autofocus3.patch
+ "
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ # Note: excluded tests fail because they cannot find TZrules.dat and other
+ # things in the 'data' dir. Seems like test framework would allow
+ # specifying or overriding the search dir since data is in $srcdir, but I
+ # couldn't figure it out yet, so disabling tests...
+ ctest --test-dir build --output-on-failure \
+ -E "StarCorrespondenceTest|Test(ArtificialHorizon|CatalogDownload|EkosCapture|EkosFilterWheel|EkosFocus|EkosMeridianFlipState|EkosMount|EkosScheduler|EkosSchedulerOps|EkosSimulator|KSPaths|PolarAlign)"
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+b62ccc4706dcc23aee2098c8b7614514110b22fd8150efe6119be056d9bd17f29fcf1943b0282364b02e02b32d1d7cfd2f1175a2cf79e4f4d0085865b4716c79 kstars-3.7.0.tar.xz
+16967f51398456e259f351f91307d57885cbe9778199521c6b9c157d6b19477a49a055311d3d75ce10b9b3266211344aee153b4c09881dd553ebd28d2692684c tests-disable-ngc4535-autofocus3.patch
+"
diff --git a/testing/kstars/tests-disable-ngc4535-autofocus3.patch b/testing/kstars/tests-disable-ngc4535-autofocus3.patch
new file mode 100644
index 00000000000..08311f54af2
--- /dev/null
+++ b/testing/kstars/tests-disable-ngc4535-autofocus3.patch
@@ -0,0 +1,12 @@
+diff --git a/Tests/fitsviewer/testfitsdata.cpp b/Tests/fitsviewer/testfitsdata.cpp
+index 0a5a4b4..bb2cc35 100644
+--- a/Tests/fitsviewer/testfitsdata.cpp
++++ b/Tests/fitsviewer/testfitsdata.cpp
+@@ -55,7 +55,6 @@ void TestFitsData::testComputeHFR_data()
+ // Normal HFR tests
+ QTest::newRow("NGC4535-1-FOCUS") << "ngc4535-autofocus1.fits" << FITS_FOCUS << 11 << 3.92;
+ QTest::newRow("NGC4535-2-FOCUS") << "ngc4535-autofocus2.fits" << FITS_FOCUS << 17 << 2.13;
+- QTest::newRow("NGC4535-3-FOCUS") << "ngc4535-autofocus3.fits" << FITS_FOCUS << 126 << 1.254911;
+
+ // Focus HFR tests
+ QTest::newRow("NGC4535-1-NORMAL") << "ngc4535-autofocus1.fits" << FITS_NORMAL << 3 << 3.17;
diff --git a/testing/kube-no-trouble/APKBUILD b/testing/kube-no-trouble/APKBUILD
new file mode 100644
index 00000000000..31f09f8f4e5
--- /dev/null
+++ b/testing/kube-no-trouble/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Thomas Deutsch <thomas@tuxpeople.org>
+# Maintainer: Thomas Deutsch <thomas@tuxpeople.org>
+pkgname=kube-no-trouble
+_pkgname=github.com/doitintl/kube-no-trouble
+pkgver=0.7.2
+pkgrel=1
+pkgdesc="Easily check your clusters for use of deprecated APIs"
+url="https://github.com/doitintl/kube-no-trouble"
+arch="all"
+license="MIT"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/doitintl/kube-no-trouble/archive/refs/tags/$pkgver.tar.gz"
+options="net"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local ldflags="
+ -X main.version=$pkgver
+ -X $_pkgname/cmd.version=$pkgver
+ -X $_pkgname/cmd.commit=AlpineLinux
+ -X $_pkgname/cmd.date=$(date -u +%FT%T%Z ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ "
+ go build -ldflags "$ldflags" -o execs/$pkgname cmd/kubent/main.go
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 execs/$pkgname "$pkgdir"/usr/bin/$pkgname
+}
+
+sha512sums="
+171d4a82c4911860bcf262b740523fd1571863e3f98c0d68539b13540c6fda44ec819cd46a9a1503785b377b4aee72f9ed492a2ef1c901ea1d090c9d93882078 kube-no-trouble-0.7.2.tar.gz
+"
diff --git a/testing/kubectl-cert-manager/APKBUILD b/testing/kubectl-cert-manager/APKBUILD
new file mode 100644
index 00000000000..7f616df6f76
--- /dev/null
+++ b/testing/kubectl-cert-manager/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=kubectl-cert-manager
+pkgver=1.14.4
+pkgrel=2
+pkgdesc="Manage and configure cert-manager resources for Kubernetes"
+url="https://cert-manager.io/"
+license="Apache-2.0"
+arch="all !armhf !riscv64" # limited by kubectl
+depends="kubectl"
+makedepends="go"
+source="https://github.com/cert-manager/cert-manager/archive/v$pkgver/kubectl-cert-manager-$pkgver.tar.gz"
+builddir="$srcdir/cert-manager-$pkgver/cmd/ctl"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build \
+ -ldflags "-X github.com/cert-manager/cert-manager/pkg/util.AppVersion=v$pkgver"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 ctl "$pkgdir"/usr/bin/kubectl-cert_manager
+}
+
+sha512sums="
+3f3af43223093ce058a1dee8ae1e1e52dd90029cbd537860754f0cdff9ccb030041ebd65402ecd4e44ee6fde69a3748b622e77d8af4907d7f696f04d8c72c762 kubectl-cert-manager-1.14.4.tar.gz
+"
diff --git a/testing/kubectl-krew/APKBUILD b/testing/kubectl-krew/APKBUILD
new file mode 100644
index 00000000000..d42528ba5e6
--- /dev/null
+++ b/testing/kubectl-krew/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=kubectl-krew
+pkgver=0.4.4
+pkgrel=4
+pkgdesc="Find and install kubectl plugins"
+url="https://krew.sigs.k8s.io/"
+arch="all !armhf !riscv64" # kubectl
+license="Apache-2.0"
+depends="kubectl"
+makedepends="go"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/kubernetes-sigs/krew/archive/refs/tags/v$pkgver.tar.gz
+ test-use-testing-tmpdir.patch
+ "
+builddir="$srcdir/krew-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ GOLDFLAGS="
+ -X sigs.k8s.io/krew/internal/version.gitCommit=AlpineLinux
+ -X sigs.k8s.io/krew/internal/version.gitTag=v$pkgver
+ "
+ go build -tags netgo -ldflags "$GOLDFLAGS" -o bin/$pkgname ./cmd/krew/main.go
+}
+
+check() {
+ # uses github api and gets 403
+ # shellcheck disable=2046
+ KREW_BINARY="$builddir/bin/$pkgname" go test $(go list ./... | grep -Ev '(cmd/internal)')
+}
+
+package() {
+ install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname
+}
+
+sha512sums="
+888362c564500d3f9f00b3207f5d63ee6546f9da6c884736fa55d49e78b91d5085a518f69f41b156cc8dc13667846be98bc2459392ca3d970c89721b6f4b632b kubectl-krew-0.4.4.tar.gz
+797a0f1361d893289217569e09dd5564fe545eaf2f0b3dc40367c63cb124b8120c5600d190732ced7885a020ae56a9417b49bccb8bca2c87faf72bf3e1359a81 test-use-testing-tmpdir.patch
+"
diff --git a/testing/kubectl-krew/test-use-testing-tmpdir.patch b/testing/kubectl-krew/test-use-testing-tmpdir.patch
new file mode 100644
index 00000000000..ff70a23f122
--- /dev/null
+++ b/testing/kubectl-krew/test-use-testing-tmpdir.patch
@@ -0,0 +1,15 @@
+Outdated index files from previous builds break tests. Use t.TempDir() to make
+sure a new index file is used.
+diff --git a/integration_test/testutil_test.go b/integration_test/testutil_test.go
+index 66ebc98..d91635b 100644
+--- a/integration_test/testutil_test.go
++++ b/integration_test/testutil_test.go
+@@ -277,7 +277,7 @@ func (it *ITest) loadReceipt(path string) index.Receipt {
+ // It caches the index tree as in-memory tar after the first run.
+ func (it *ITest) initializeIndex() {
+ initIndexOnce.Do(func() {
+- persistentCacheFile := filepath.Join(os.TempDir(), persistentIndexCache)
++ persistentCacheFile := filepath.Join(it.t.TempDir(), persistentIndexCache)
+ fileInfo, err := os.Stat(persistentCacheFile)
+
+ if err == nil && fileInfo.Mode().IsRegular() {
diff --git a/testing/kubectl-oidc_login/APKBUILD b/testing/kubectl-oidc_login/APKBUILD
new file mode 100644
index 00000000000..88441965eed
--- /dev/null
+++ b/testing/kubectl-oidc_login/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=kubectl-oidc_login
+pkgver=1.28.0
+pkgrel=5
+pkgdesc="kubectl plugin for Kubernetes OpenID Connect authentication"
+url="https://github.com/int128/kubelogin"
+arch="all !armhf !riscv64" # blocked by kubectl
+license="Apache-2.0"
+depends="kubectl"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/int128/kubelogin/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/kubelogin-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -ldflags "-X main.version=$pkgver"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 kubelogin "$pkgdir"/usr/bin/kubectl-oidc_login
+}
+
+sha512sums="
+b39cdb31aab7cb1bedbf5d13a449e289569b6e17c319900d18e741aeb8b88a8eee5534aec57753457e6a5b9b139b85b95f2bdb438b79773a8ae54e3eb57a4358 kubectl-oidc_login-1.28.0.tar.gz
+"
diff --git a/testing/kubeone/APKBUILD b/testing/kubeone/APKBUILD
new file mode 100644
index 00000000000..7da1e6d9d7e
--- /dev/null
+++ b/testing/kubeone/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=kubeone
+pkgver=1.7.3
+# Use the latest stable Kubernetes version at the time as the default (https://dl.k8s.io/release/stable-1.27.txt).
+# See https://docs.kubermatic.com/kubeone/main/tutorials/creating-clusters/#step-5--provisioning-the-cluster for
+# the table of compatible Kubernetes versions.
+_k8sver=1.27.11
+pkgrel=2
+pkgdesc="Automate Kubernetes cluster operations on all platforms"
+url="https://kubeone.io/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/kubermatic/kubeone/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X k8c.io/kubeone/pkg/cmd.commit=AlpineLinux
+ -X k8c.io/kubeone/pkg/cmd.version=$pkgver
+ -X k8c.io/kubeone/pkg/cmd.date=$(date -u "+%Y-%m-%dT%H:%M:%SZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ -X k8c.io/kubeone/pkg/cmd.defaultKubeVersion=$_k8sver
+ -X k8c.io/kubeone/pkg/cmd.defaultCloudProviderName=none
+ "
+
+ go build -v -ldflags "$_goldflags"
+
+ mkdir -p man
+ ./kubeone document man -o man/
+
+ for shell in bash zsh; do
+ ./kubeone completion $shell > kubeone.$shell
+ done
+}
+
+check() {
+ go test ./pkg/... ./test/...
+}
+
+package() {
+ install -Dm755 kubeone -t "$pkgdir"/usr/bin/
+
+ install -Dm644 man/*.1 -t "$pkgdir"/usr/share/man/man1/
+
+ install -Dm644 kubeone.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/kubeone
+ install -Dm644 kubeone.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_kubeone
+}
+
+sha512sums="
+0fe36eeb3fd9ad14a831c48dcd4c22f76d7e7274522c4e6b6623588294a1fd820cd8d795b0135295f40d66bcefcba479546556d079313feb8ec734cb5710081d kubeone-1.7.3.tar.gz
+"
diff --git a/testing/kubepug/APKBUILD b/testing/kubepug/APKBUILD
new file mode 100644
index 00000000000..60d7e3f5d11
--- /dev/null
+++ b/testing/kubepug/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=kubepug
+pkgver=1.7.1
+pkgrel=2
+pkgdesc="Kubernetes pre-upgrade deprecation checker"
+url="https://github.com/rikatz/kubepug"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/rikatz/kubepug/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X sigs.k8s.io/release-utils/version.gitVersion=v$pkgver
+ -X sigs.k8s.io/release-utils/version.gitCommit=AlpineLinux
+ -X sigs.k8s.io/release-utils/version.gitTreeState=clean
+ -X sigs.k8s.io/release-utils/version.buildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ' ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ "
+ go build -v -ldflags "$_goldflags" -o bin/$pkgname
+
+ for shell in bash zsh fish; do
+ ./bin/kubepug completion $shell > kubepug.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/$pkgname -t "$pkgdir"/usr/bin
+
+ install -Dm644 kubepug.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/kubepug
+ install -Dm644 kubepug.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_kubepug
+ install -Dm644 kubepug.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/kubepug.fish
+}
+
+sha512sums="
+a04411b6e51a9ffa49c80c23391546478dc912bafffff85dcdaf931167f9cc4844120360871d177120c7f50b04e01a40fbf0694759dc5973ec5ee18d8d285d6d kubepug-1.7.1.tar.gz
+"
diff --git a/testing/kubernetes/APKBUILD b/testing/kubernetes/APKBUILD
deleted file mode 100644
index 5dc78c60c3a..00000000000
--- a/testing/kubernetes/APKBUILD
+++ /dev/null
@@ -1,228 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Contributor: Mateusz Mikuła <matti@marinelayer.io>
-# Contributor: Tiago Ilieve <tiago.myhro@gmail.com>
-# Contributor: Dave <dj.2dixx@gmail.com>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=kubernetes
-pkgver=1.23.1
-pkgrel=0
-pkgdesc="Container Cluster Manager"
-url="https://kubernetes.io/"
-arch="x86_64 aarch64 ppc64le armv7 x86"
-license="Apache-2.0"
-options="!check chmod-clean" # Tests hang
-
-_kube_proxy_deps="iptables"
-_kubelet_deps="iptables"
-_kubeadm_deps="iproute2 socat ethtool conntrack-tools cri-tools"
-makedepends="go go-bindata linux-headers rsync grep findutils bash
- $_kube_proxy_deps
- $_kubelet_deps
- $_kubeadm_deps
- "
-subpackages="
- kubeadm:_kubeadm
- kubectl:_kubectl
- kubelet:_kubelet
- kubelet-openrc:_kubelet_openrc
- kube-apiserver:_apiserver
- kube-apiserver-openrc:_apiserver_openrc
- kube-controller-manager:_controllermanager
- kube-controller-manager-openrc:_controllermanager_openrc
- kube-proxy:_proxy
- kube-proxy-openrc:_proxy_openrc
- kube-scheduler:_scheduler
- kube-scheduler-openrc:_scheduler_openrc
- kubeadm-bash-completion:_kubeadm_bash:noarch
- kubectl-bash-completion:_kubectl_bash:noarch
- kubeadm-zsh-completion:_kubeadm_zsh:noarch
- kubectl-zsh-completion:_kubectl_zsh:noarch
-"
-
-source="$pkgname-$pkgver.tar.gz::https://github.com/kubernetes/kubernetes/archive/v$pkgver.tar.gz
- make-e2e_node-run-over-distro-bins.patch
- make-test-cmd-run-over-hyperkube-based-kubectl.patch
-
- kube-apiserver.initd
- kube-apiserver.confd
- kube-apiserver.logrotated
-
- kube-controller-manager.initd
- kube-controller-manager.confd
- kube-controller-manager.logrotated
-
- kube-proxy.initd
- kube-proxy.confd
- kube-proxy.logrotated
-
- kube-scheduler.initd
- kube-scheduler.confd
- kube-scheduler.logrotated
-
- kubelet.initd
- kubelet.confd
- kubelet.logrotated"
-
-_agent="kubelet"
-_cli="kubeadm kubectl"
-_services="kube-apiserver kube-controller-manager kube-proxy kube-scheduler"
-
-build() {
- make generated_files
- for _pkgs in $_agent $_cli $_services ; do
- make GOFLAGS="-buildmode=pie -v -tags=providerless" GOLDFLAGS="-extldflags=-static -w -s" WHAT=cmd/$_pkgs
- done
-}
-
-package() {
- for bin in $_agent $_cli $_services; do
- install -Dm755 _output/local/bin/linux/*/$bin "$pkgdir"/usr/bin/$bin
- done
- mkdir -p "$pkgdir"/etc/kubernetes
-}
-
-
-_do_subpkg() {
- local _pkg=$1
- pkgdesc="Kubernetes - $_pkg"
- case "$_pkg" in
- kubelet) depends="$_kubelet_deps" ;;
- kubeadm) depends="$_kubeadm_deps" ;;
- esac
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/$_pkg "$subpkgdir"/usr/bin
- return 0
-}
-
-_kubeadm() { _do_subpkg kubeadm; }
-_kubectl() { _do_subpkg kubectl; }
-
-_kubeadm_bash() { _do_bashcomp kubeadm; }
-_kubectl_bash() { _do_bashcomp kubectl; }
-
-_kubeadm_zsh() { _do_zshcomp kubeadm; }
-_kubectl_zsh() { _do_zshcomp kubectl; }
-
-_kubelet() {
- _do_subpkg kubelet
- install -d "$subpkgdir"/var/lib/kubelet
- install -d "$subpkgdir"/var/log/kubelet
-
- install -Dm644 "$srcdir"/kubelet.logrotated "$subpkgdir"/etc/logrotate.d/kubelet
-}
-
-_kubelet_openrc() {
- pkgdesc="Kubernetes - kubelet (OpenRC init scripts)"
- depends="openrc"
- install_if="openrc kubelet=$pkgver-r$pkgrel"
-
- install -Dm755 "$srcdir"/kubelet.initd "$subpkgdir"/etc/init.d/kubelet
- install -Dm644 "$srcdir"/kubelet.confd "$subpkgdir"/etc/conf.d/kubelet
-}
-
-_apiserver() {
- _do_subpkg kube-apiserver
-
- install -d "$subpkgdir"/var/log/kube-apiserver
- install -Dm644 "$srcdir"/kube-apiserver.logrotated "$subpkgdir"/etc/logrotate.d/kube-apiserver
-}
-
-_apiserver_openrc() {
- pkgdesc="Kubernetes - kube-apiserver (OpenRC init scripts)"
- depends="openrc"
- install_if="openrc kube-apiserver=$pkgver-r$pkgrel"
- install -Dm755 "$srcdir"/kube-apiserver.initd "$subpkgdir"/etc/init.d/kube-apiserver
- install -Dm644 "$srcdir"/kube-apiserver.confd "$subpkgdir"/etc/conf.d/kube-apiserver
-}
-
-_controllermanager() {
- _do_subpkg kube-controller-manager
-
- install -d "$subpkgdir"/var/log/kube-controller-manager
- install -Dm644 "$srcdir"/kube-controller-manager.logrotated "$subpkgdir"/etc/logrotate.d/kube-controller-manager
-}
-
-_controllermanager_openrc() {
- pkgdesc="Kubernetes - kube-controller-manager (OpenRC init scripts)"
- depends="openrc"
- install_if="openrc kube-controller-manager=$pkgver-r$pkgrel"
-
- install -Dm755 "$srcdir"/kube-controller-manager.initd "$subpkgdir"/etc/init.d/kube-controller-manager
- install -Dm644 "$srcdir"/kube-controller-manager.confd "$subpkgdir"/etc/conf.d/kube-controller-manager
-}
-
-_proxy() {
- _do_subpkg kube-proxy
- depends="$_kube_proxy_deps"
-
- install -d "$subpkgdir"/var/lib/kube-proxy
- install -d "$subpkgdir"/var/log/kube-proxy
- install -Dm644 "$srcdir"/kube-proxy.logrotated "$subpkgdir"/etc/logrotate.d/kube-proxy
-}
-
-_proxy_openrc() {
- pkgdesc="Kubernetes - kube-proxy (OpenRC init scripts)"
- depends="openrc"
- install_if="openrc kube-proxy=$pkgver-r$pkgrel"
- install -Dm755 "$srcdir"/kube-proxy.initd "$subpkgdir"/etc/init.d/kube-proxy
- install -Dm644 "$srcdir"/kube-proxy.confd "$subpkgdir"/etc/conf.d/kube-proxy
-}
-
-_scheduler() {
- _do_subpkg kube-scheduler
- install -d "$subpkgdir"/var/log/kube-scheduler
- install -Dm644 "$srcdir"/kube-scheduler.logrotated "$subpkgdir"/etc/logrotate.d/kube-scheduler
-}
-
-_scheduler_openrc() {
- pkgdesc="Kubernetes - kube-scheduler (OpenRC init scripts)"
- depends="openrc"
- install_if="openrc kube-scheduler=$pkgver-r$pkgrel"
- install -Dm755 "$srcdir"/kube-scheduler.initd "$subpkgdir"/etc/init.d/kube-scheduler
- install -Dm644 "$srcdir"/kube-scheduler.confd "$subpkgdir"/etc/conf.d/kube-scheduler
-}
-
-_do_bashcomp() {
- local _pkgname=$1
- pkgdesc="Bash completions for $_pkgname"
- install_if="$_pkgname=$pkgver-r$pkgrel bash-completion"
-
- mkdir -p "$subpkgdir"/usr/share/bash-completion/completions
- "$builddir"/_output/local/bin/linux/*/$_pkgname completion bash>"$subpkgdir"/usr/share/bash-completion/completions/$_pkgname
-}
-
-_do_zshcomp() {
- local _pkgname=$1
- pkgdesc="Zsh completions for $_pkgname"
- install_if="$_pkgname=$pkgver-r$pkgrel zsh"
-
- mkdir -p "$subpkgdir"/usr/share/zsh/site-functions
- "$builddir"/_output/local/bin/linux/*/$_pkgname completion zsh \
- > "$subpkgdir"/usr/share/zsh/site-functions/_$_pkgname
-}
-
-cleanup_srcdir() {
- go clean -modcache
- default_cleanup_srcdir
-}
-
-sha512sums="
-95ccd27680cefa1f0e367259a373236866c85b8b0534bed364101b5177c718de0bcd6631136e84b910a2fce00f4c119aef043782228658f852d6753f6606c316 kubernetes-1.23.1.tar.gz
-c350bb0a63ada0cc3657fe07598101775243083aa1eabda898080b7b01b129e6fdd7ad1a61950cc039b73b081f38de3b856baedf5c075f39916be1547b11d184 make-e2e_node-run-over-distro-bins.patch
-56201491d2dfe3a487931cbf5c6e60af898701b9541a936d80e3823948fcfb98508e3d51f4aaa415ce971f7bd20a7b51f74f025c76b83f58d5a8de8ce0ab679b make-test-cmd-run-over-hyperkube-based-kubectl.patch
-e690daff2adb1013c92124f32e71f8ed9a18c611ae6ae5fcb5ce9674768dbf9d911a05d7e4028488cda886e63b82e8ac0606d14389a05844c1b5538a33dd09d1 kube-apiserver.initd
-302b2a7ec715967c0aa7d1c177d4e55b26e37ebba8d04dd37ecf627d20042fe91cd7e6192ff9d71422129b0ea54a9eec6046f505af550548bd450998924f37ee kube-apiserver.confd
-1a4bcd54dafaedc614e34bbadc2a1163f003b5925d47552fb2c47049c033c147e612171e263d9659d189fc2d95688a0b7153322d8dba97c083c079fdef6c400e kube-apiserver.logrotated
-90b9a9708e6d7c9084de17c8b28cbf6ff543400128d47f4d168883d8d3461b4dcbbb1796950a12ffc79b0f341b3881b48bba7651e3c232c1731a7e6dbddb62b8 kube-controller-manager.initd
-347dcf514abec4bc94036955d0fb2d32f141a39d1a70d7fb37e7bf8eb5792e5c29560d500a08aafcd3e19422d04466004b832bca7108eb2815610feb144688fe kube-controller-manager.confd
-e00cd9297d8ac75fcd504a2bfb80d5c5e145e7d475dd15edf9361dc28721afdc069c5b6e79438b75a774e972028841a17e8f7842dcfb3d7835c436a3e503704c kube-controller-manager.logrotated
-cd43587f69bd9fc6f1fdf0896d99df89377f677f4fa9b367dcaee1bf6f66469577dd79c60833ba0cd60ffdb68deedd0fb9bc00caa2b06854af4e6e56f1ffe365 kube-proxy.initd
-4c8c34ae8668bcfa5167c2d2af006fc46b461a5dafb3ec5b64cb8cdf2a830c22ddb5cf806c93b1404f60dabf91b4153724947fa2d2c494376f20e637eeed5018 kube-proxy.confd
-d7e022ee22da191bda7382f87cb293d9c9d115a3df0c2054bf918279eb866f99c6d5c21e4c98eae84bacf925f7793bbe3087e0bcf6732ccb33844d15e4386fb5 kube-proxy.logrotated
-561bef5633ba4b9021720624443d9c279a561e5fabea76e5d0fbee2e7ad8999029a2511a45895fbec8448026212a3c5b4c197b248a6afa7f8bd945f705524ea7 kube-scheduler.initd
-af88b382ab75657d0ff13c3f8f6d924cef9f2df7807a9a27daa63495981801bc4b607998f65c0758c11a7e070e43c24f7184ba7720711109c74b1c4d57919e34 kube-scheduler.confd
-3692da349dd6ed0f5acc09d7b95ac562ffecb103e2270bebdfe4a7808d48dada9d2debff262d85b11c47f9ca3f0c20000712d03629ed813ff08a3e02d69267e6 kube-scheduler.logrotated
-70fb5c95a02083025f38b099fa50d1a1e8893bc4141955031c4129c0d4aa20fde05c565c3f2e5b6ea31efb954673aeb8289f22eadcedeb7cb89e197898dfc65d kubelet.initd
-ce7d2b5bff5ac6af45f413b4dc2dd62c7bfa9a0b06ab348730da85ceb851ed0d09763215889d3f867ce2250a599ee0113a9bee018068a740500ab10616dd7610 kubelet.confd
-dda5fb57b55926fd2e9cebe6c1593da699afba0398c58dfa8b923c53a9ae6e63d765778577211460047f20863a6095e8e2ab3e7769e38c4f6a1c55c0e3485501 kubelet.logrotated
-"
diff --git a/testing/kubernetes/ensure-cgo-usage.patch b/testing/kubernetes/ensure-cgo-usage.patch
deleted file mode 100644
index a93ea161b0e..00000000000
--- a/testing/kubernetes/ensure-cgo-usage.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From: Tiago Ilieve <tiago.myhro@gmail.com>
-Date: Sat, 27 Oct 2018 10:47:42 +0000
-Subject: [PATCH] Ensure CGO usage
-
-There are checks to define if CGO is required by the platform, but those
-are not enough to ensure its usage in Alpine. This leads to errors like:
-
-/usr/lib/go/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x8): undefined reference to `x_cgo_callers'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x10): undefined reference to `x_cgo_init'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x18): undefined reference to `x_cgo_mmap'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x20): undefined reference to `x_cgo_munmap'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x28): undefined reference to `x_cgo_notify_runtime_init_done'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x30): undefined reference to `x_cgo_sigaction'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x38): undefined reference to `x_cgo_thread_start'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x5b0): undefined reference to `x_cgo_setenv'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x5b8): undefined reference to `x_cgo_unsetenv'
-/usr/lib/gcc/x86_64-alpine-linux-musl/8.2.0/../../../../x86_64-alpine-linux-musl/bin/ld: /tmp/go-link-879017147/go.o:(.data+0x5c0): undefined reference to `_cgo_yield'
-collect2: error: ld returned 1 exit status
-
----
---- a/hack/lib/golang.sh
-+++ b/hack/lib/golang.sh
-@@ -611,7 +611,7 @@
- -asmflags "${goasmflags:-}"
- -ldflags "${goldflags:-}"
- )
-- CGO_ENABLED=0 kube::golang::build_some_binaries "${statics[@]}"
-+ CGO_ENABLED=1 kube::golang::build_some_binaries "${statics[@]}"
- fi
-
- if [[ "${#nonstatics[@]}" != 0 ]]; then
diff --git a/testing/kubernetes/kube-apiserver.confd b/testing/kubernetes/kube-apiserver.confd
deleted file mode 100644
index db74d27f020..00000000000
--- a/testing/kubernetes/kube-apiserver.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-###
-# kubernetes system config
-#
-# The following values are used to configure the kube-apiserver
-#
-
-command_args=""
diff --git a/testing/kubernetes/kube-apiserver.initd b/testing/kubernetes/kube-apiserver.initd
deleted file mode 100755
index df460dc0e01..00000000000
--- a/testing/kubernetes/kube-apiserver.initd
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-supervisor=supervise-daemon
-description="Kubernetes API Server"
-
-if [ -e /var/lib/kubernetes/kube-apiserver-flags.env ]; then
- . /var/lib/kubernetes/kube-apiserver-flags.env;
-fi
-
-command="/usr/bin/kube-apiserver"
-command_args="${command_args} ${KUBE_APISERVER_ARGS}"
-: ${output_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-: ${error_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-
-
-depend() {
- after net
-}
-
diff --git a/testing/kubernetes/kube-apiserver.logrotated b/testing/kubernetes/kube-apiserver.logrotated
deleted file mode 100644
index 4ed84506231..00000000000
--- a/testing/kubernetes/kube-apiserver.logrotated
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/kube-apiserver/*.log {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
diff --git a/testing/kubernetes/kube-controller-manager.confd b/testing/kubernetes/kube-controller-manager.confd
deleted file mode 100644
index 5134f2b2df1..00000000000
--- a/testing/kubernetes/kube-controller-manager.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-###
-# kubernetes system config
-#
-# The following values are used to configure the kube-controller-manager
-#
-
-command_args=""
diff --git a/testing/kubernetes/kube-controller-manager.initd b/testing/kubernetes/kube-controller-manager.initd
deleted file mode 100755
index 92563046485..00000000000
--- a/testing/kubernetes/kube-controller-manager.initd
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-supervisor=supervise-daemon
-description="Kubernetes Controller Manager service"
-
-if [ -e /var/lib/kubernetes/kube-controller-manager-flags.env ]; then
- . /var/lib/kubernetes/kube-controller-manager-flags.env;
-fi
-
-command="/usr/bin/kube-controller-manager"
-command_args="${command_args} ${KUBE_CONTROLLER_MANAGER_ARGS}"
-: ${output_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-: ${error_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-
-depend() {
- after net
-}
diff --git a/testing/kubernetes/kube-controller-manager.logrotated b/testing/kubernetes/kube-controller-manager.logrotated
deleted file mode 100644
index 06efce23406..00000000000
--- a/testing/kubernetes/kube-controller-manager.logrotated
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/kube-controller-manager/*.log {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
diff --git a/testing/kubernetes/kube-proxy.confd b/testing/kubernetes/kube-proxy.confd
deleted file mode 100644
index 00f33f358bb..00000000000
--- a/testing/kubernetes/kube-proxy.confd
+++ /dev/null
@@ -1,4 +0,0 @@
-###
-# Kubernetes kube-proxy config
-#
-command_args=""
diff --git a/testing/kubernetes/kube-proxy.initd b/testing/kubernetes/kube-proxy.initd
deleted file mode 100755
index 3de243d243e..00000000000
--- a/testing/kubernetes/kube-proxy.initd
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-supervisor=supervise-daemon
-description="Kubernetes Proxy service"
-
-if [ -e /var/lib/kubernetes/kube-proxy-flags.env ]; then
- . /var/lib/kubernetes/kube-proxy-flags.env;
-fi
-
-command="/usr/bin/kube-proxy"
-command_args="${command_args} ${KUBE_PROXY_ARGS}"
-: ${output_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-: ${error_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-
-depend() {
- after net
-}
-
diff --git a/testing/kubernetes/kube-proxy.logrotated b/testing/kubernetes/kube-proxy.logrotated
deleted file mode 100644
index e90a1015136..00000000000
--- a/testing/kubernetes/kube-proxy.logrotated
+++ /dev/null
@@ -1,8 +0,0 @@
-/var/log/kube-proxy/*.log {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
-
diff --git a/testing/kubernetes/kube-scheduler.confd b/testing/kubernetes/kube-scheduler.confd
deleted file mode 100644
index 35da3d2228a..00000000000
--- a/testing/kubernetes/kube-scheduler.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-###
-# kubernetes system config
-#
-# The following values are used to configure the kube-scheduler
-#
-
-command_args=""
diff --git a/testing/kubernetes/kube-scheduler.initd b/testing/kubernetes/kube-scheduler.initd
deleted file mode 100755
index bd165f2ed4c..00000000000
--- a/testing/kubernetes/kube-scheduler.initd
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-supervisor=supervise-daemon
-description="Kubernetes Scheduler service"
-
-if [ -e /var/lib/kubernetes/kube-scheduler-flags.env ]; then
- . /var/lib/kubernetes/kube-scheduler-flags.env;
-fi
-
-command="/usr/bin/kube-scheduler"
-command_args="${command_args} ${KUBE_SCHEDULER_ARGS}"
-: ${output_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-: ${error_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-
-depend() {
- after net
-}
diff --git a/testing/kubernetes/kube-scheduler.logrotated b/testing/kubernetes/kube-scheduler.logrotated
deleted file mode 100644
index 6cce6c6f5be..00000000000
--- a/testing/kubernetes/kube-scheduler.logrotated
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/kube-scheduler/*.log {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
diff --git a/testing/kubernetes/kubelet.confd b/testing/kubernetes/kubelet.confd
deleted file mode 100644
index b6d84921842..00000000000
--- a/testing/kubernetes/kubelet.confd
+++ /dev/null
@@ -1 +0,0 @@
-command_args="--cni-bin-dir=/usr/libexec/cni --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --cgroup-driver=cgroupfs --config=/var/lib/kubelet/config.yaml"
diff --git a/testing/kubernetes/kubelet.initd b/testing/kubernetes/kubelet.initd
deleted file mode 100755
index 7031f4cda5e..00000000000
--- a/testing/kubernetes/kubelet.initd
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 2016-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-supervisor=supervise-daemon
-description="Kubelet, a Kubernetes node agent"
-
-if [ -e /var/lib/kubelet/kubeadm-flags.env ]; then
- . /var/lib/kubelet/kubeadm-flags.env;
-fi
-
-command="/usr/bin/kubelet"
-command_args="${command_args} ${KUBELET_KUBEADM_ARGS}"
-pidfile="${KUBELET_PIDFILE:-/run/${RC_SVCNAME}.pid}"
-: ${output_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-: ${error_log:=/var/log/$RC_SVCNAME/$RC_SVCNAME.log}
-
-depend() {
- after net
- need cgroups
-}
diff --git a/testing/kubernetes/kubelet.logrotated b/testing/kubernetes/kubelet.logrotated
deleted file mode 100644
index f87767fe985..00000000000
--- a/testing/kubernetes/kubelet.logrotated
+++ /dev/null
@@ -1,7 +0,0 @@
-/var/log/kubelet/*.log {
- missingok
- size 5M
- rotate 3
- compress
- copytruncate
-}
diff --git a/testing/kubernetes/make-e2e_node-run-over-distro-bins.patch b/testing/kubernetes/make-e2e_node-run-over-distro-bins.patch
deleted file mode 100644
index 8fa737bfd2c..00000000000
--- a/testing/kubernetes/make-e2e_node-run-over-distro-bins.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/hack/make-rules/test-e2e-node.sh b/hack/make-rules/test-e2e-node.sh
-index fb0720a7..43a57c1f 100755
---- a/hack/make-rules/test-e2e-node.sh
-+++ b/hack/make-rules/test-e2e-node.sh
-@@ -240,6 +240,6 @@ else
- --alsologtostderr --v 4 --report-dir=${artifacts} --node-name $(hostname) \
- ${test_args}" --runtime-config="${runtime_config}" \
- --kubelet-config-file="${kubelet_config_file}" \
-- --build-dependencies=true 2>&1 | tee -i "${artifacts}/build-log.txt"
-+ --k8s-bin-dir "/usr/bin" --build-dependencies=true 2>&1 | tee -i "${artifacts}/build-log.txt"
- exit $?
- fi
diff --git a/testing/kubernetes/make-test-cmd-run-over-hyperkube-based-kubectl.patch b/testing/kubernetes/make-test-cmd-run-over-hyperkube-based-kubectl.patch
deleted file mode 100644
index 16f4407e223..00000000000
--- a/testing/kubernetes/make-test-cmd-run-over-hyperkube-based-kubectl.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/hack/lib/test.sh b/hack/lib/test.sh
-index 62a6765f..775d1d96 100644
---- a/hack/lib/test.sh
-+++ b/hack/lib/test.sh
-@@ -77,12 +77,12 @@ kube::test::object_assert() {
- local object=$2
- local request=$3
- local expected=$4
-- local args=${5:-}
-+ local get_args=${5:-}
-
- for j in $(seq 1 "${tries}"); do
- # shellcheck disable=SC2086
- # Disabling because "args" needs to allow for expansion here
-- res=$(eval kubectl get "${kube_flags[@]}" ${args} "${object}" -o go-template=\""${request}"\")
-+ res=$(eval kubectl ${args} get "${kube_flags[@]}" ${get_args} "${object}" -o go-template=\""${request}"\")
- if [[ "${res}" =~ ^$expected$ ]]; then
- echo -n "${green}"
- echo "$(kube::test::get_caller 3): Successful get ${object} ${request}: ${res}"
diff --git a/testing/kubesplit/APKBUILD b/testing/kubesplit/APKBUILD
index 6fc6b59bf3c..a2c7b4bc586 100644
--- a/testing/kubesplit/APKBUILD
+++ b/testing/kubesplit/APKBUILD
@@ -1,31 +1,40 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=kubesplit
-pkgver=0.3.1
-pkgrel=2
+pkgver=0.3.3
+pkgrel=1
pkgdesc="Split multidoc yaml formatted kubernetes descriptors to a set of single resource files"
url="https://github.com/looztra/kubesplit"
arch="noarch"
license="Apache-2.0"
depends="python3 py3-ruamel.yaml yamkix"
-makedepends="py3-setuptools"
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-poetry-core
+ py3-poetry-dynamic-versioning
+ py3-wheel
+ "
checkdepends="py3-pytest py3-pytest-runner"
-source="$pkgname-$pkgver.tar.gz::https://github.com/looztra/kubesplit/archive/v$pkgver.tar.gz
- remove-hard-pytest-requirement.patch"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/looztra/kubesplit/archive/v$pkgver.tar.gz"
build() {
- python3 setup.py build
+ export POETRY_DYNAMIC_VERSIONING_BYPASS="$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-06d9d12cdaf1fc46e372508ff348dbec2dc829885e92b4710147df14e59326138114d48da3b42b6c27f3b5c128a5e7d8f5ce66b48ae810371528fc2e1b371132 kubesplit-0.3.1.tar.gz
-3bfd9e08cd27a249336341d0271943f4c38e1dadf0b031b456cca43af41055a17338c5a213b5eaa43e9c1a76981f9ba45651ccc2ebe85ba3b13ea9efd42471bf remove-hard-pytest-requirement.patch
+b2122caed952de1bc70bafd993f6d16d153f0511ab19481ab346c3399a2660eb493e46b36a7bb3703bfa7beae6c9822067316e2242f03faac7445eeb2649931c kubesplit-0.3.3.tar.gz
"
diff --git a/testing/kubesplit/remove-hard-pytest-requirement.patch b/testing/kubesplit/remove-hard-pytest-requirement.patch
deleted file mode 100644
index 1a06a181525..00000000000
--- a/testing/kubesplit/remove-hard-pytest-requirement.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -urN kubesplit-0.3.1.orig/setup.py kubesplit-0.3.1/setup.py
---- kubesplit-0.3.1.orig/setup.py 2021-07-26 23:14:23.440970320 -0600
-+++ kubesplit-0.3.1/setup.py 2021-07-26 23:15:01.301173153 -0600
-@@ -13,9 +13,9 @@
-
- requirements = ["ruamel.yaml>=0.16.10", "yamkix>=0.9.0"]
-
--setup_requirements = ["pytest-runner"]
-+setup_requirements = []
-
--test_requirements = ["pytest"]
-+test_requirements = []
-
- setup(
- author="Christophe Furmaniak",
diff --git a/testing/kumactl/APKBUILD b/testing/kumactl/APKBUILD
new file mode 100644
index 00000000000..8dd8be59b98
--- /dev/null
+++ b/testing/kumactl/APKBUILD
@@ -0,0 +1,114 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=kumactl
+pkgver=2.6.1
+# Keep this in sync with the version of envoyproxy package
+_envoyver=1.28.1
+pkgrel=2
+pkgdesc="CLI for the multi-zone service mesh Kuma"
+url="https://kuma.io"
+# The only build targets for eBPF module
+# https://github.com/kumahq/kuma/tree/master/pkg/transparentproxy/ebpf/programs
+arch="x86_64 aarch64"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ kuma-cp:_controlplane
+ kuma-cp-openrc:_controlplane_openrc
+ kuma-dp:_dataplane
+ kuma-dp-openrc:_dataplane_openrc
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/kumahq/kuma/archive/refs/tags/$pkgver.tar.gz
+ kuma-cp.initd
+ kuma-cp.confd
+ kuma-dp.initd
+ kuma-dp.confd
+ "
+builddir="$srcdir/kuma-$pkgver"
+
+# secfixes:
+# 2.1.0-r0:
+# - CVE-2020-8911
+# - CVE-2020-8912
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X github.com/kumahq/kuma/pkg/version.Envoy=$_envoyver
+ -X github.com/kumahq/kuma/pkg/version.version=$pkgver
+ -X github.com/kumahq/kuma/pkg/version.gitTag=v$pkgver
+ -X github.com/kumahq/kuma/pkg/version.gitCommit=AlpineLinux
+ -X github.com/kumahq/kuma/pkg/version.buildDate=$(date -u "+%Y-%m-%dT%H:%M:%SZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ "
+ for prog in kumactl kuma-cp kuma-dp; do
+ go build -v -o $prog -ldflags "$_goldflags" ./app/$prog
+ done
+
+ # Only generate shell completions for the client program
+ for shell in bash fish zsh; do
+ ./kumactl completion $shell > kumactl.$shell
+ done
+}
+
+check() {
+ # Only run tests against related modules
+ for prog in kumactl kuma-cp kuma-dp; do
+ # shellcheck disable=2046
+ go test \
+ -ldflags "-X github.com/kumahq/kuma/pkg/version.Envoy=$_envoyver" \
+ $(go list ./app/$prog/... ./pkg/config/app/$prog/...)
+ done
+}
+
+package() {
+ install -Dm755 kumactl kuma-cp kuma-dp -t "$pkgdir"/usr/bin/
+
+ install -Dm644 $pkgname.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+_controlplane() {
+ pkgdesc="Control plane program for the multi-zone service mesh Kuma"
+ amove usr/bin/kuma-cp
+}
+
+_controlplane_openrc() {
+ pkgdesc="Control plane program for the multi-zone service mesh Kuma (OpenRC init scripts)"
+ install_if="openrc kuma-cp=$pkgver-r$pkgrel"
+
+ install -Dm755 "$srcdir"/kuma-cp.initd "$subpkgdir"/etc/init.d/kuma-cp
+ install -Dm644 "$srcdir"/kuma-cp.confd "$subpkgdir"/etc/conf.d/kuma-cp
+}
+
+_dataplane() {
+ pkgdesc="Data plane program for the multi-zone service mesh Kuma"
+ # TODO: package Envoy as it is the direct dependency of kuma-dp
+ # depends="envoyproxy"
+ amove usr/bin/kuma-dp
+}
+
+_dataplane_openrc() {
+ pkgdesc="Data plane program for the multi-zone service mesh Kuma (OpenRC init scripts)"
+ install_if="openrc kuma-dp=$pkgver-r$pkgrel"
+
+ install -Dm755 "$srcdir"/kuma-dp.initd "$subpkgdir"/etc/init.d/kuma-dp
+ install -Dm644 "$srcdir"/kuma-dp.confd "$subpkgdir"/etc/conf.d/kuma-dp
+}
+
+sha512sums="
+2b71ed354f4631723100682e79e7f30fd3e51f296c330142f04f5833fdb9ce1d2608ffb512551e9aef14d50b2a84e6e87210d707321e0c591d4f3e3ae9d91137 kumactl-2.6.1.tar.gz
+001e46b18ab4c1d0b131667d07567d0ec13fcadcc850265f97c4e82a0342285a5607191e0225e9fe8f683ce62551af833286b867e1df784f19935eca779ada79 kuma-cp.initd
+a3285adff02e44f2ae8e38e94fea91d0039d1edd4b42fbe598d60e1d46495fbf7b38cab3a60eb331590f791ad83701094f7f7e331bcc54921746430ed0abd749 kuma-cp.confd
+d9c3fc8c4f8bfe488db871551d632009733c65318a73c8ebca13d216a69de1f11f3a68d782b8c34b7d3258f65acc39bd8d7bb5b2d012d2b7b9f0e727797edf66 kuma-dp.initd
+10caa08a588af0b5889e964094cf7f1f4c5e201dd7cf8e162bda3c050aa64542aed6444b7246208b1c19c138e807c202ad5b7ee42bf187ca219511ab33894a8a kuma-dp.confd
+"
diff --git a/testing/kumactl/kuma-cp.confd b/testing/kumactl/kuma-cp.confd
new file mode 100644
index 00000000000..ecb73d5bc1b
--- /dev/null
+++ b/testing/kumactl/kuma-cp.confd
@@ -0,0 +1,16 @@
+# kuma-cp service configuration options
+
+# extra arguments to pass to kuma-cp
+command_args=""
+
+# user:group to run the process with
+command_user="kuma:kuma"
+
+# location of kuma-cp config file
+#configfile="/etc/kuma/kuma-cp.yaml"
+
+# where to store output logs for kuma-cp process
+logfile="/var/log/kuma/kuma-cp.log"
+
+# comment to use traditional service management
+supervisor=supervise-daemon
diff --git a/testing/kumactl/kuma-cp.initd b/testing/kumactl/kuma-cp.initd
new file mode 100644
index 00000000000..44e931135db
--- /dev/null
+++ b/testing/kumactl/kuma-cp.initd
@@ -0,0 +1,29 @@
+#!/sbin/openrc-run
+
+: ${command_user:="kuma:kuma"}
+
+name=kuma-cp
+description="Kuma control plane"
+command="/usr/bin/kuma-cp"
+command_args="
+ run
+ ${logfile:+"--log-output-path \"$logfile\""}
+ ${configfile:+"--config-file \"$configfile\""}
+ ${command_args:-}
+ "
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+KUMA_MODE="standalone"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" /var/lib/kuma /var/log/kuma
+ if [ -n "$logfile" ]; then
+ checkpath -f -m 640 -o "$command_user" "$logfile"
+ fi
+}
diff --git a/testing/kumactl/kuma-cp.pre-install b/testing/kumactl/kuma-cp.pre-install
new file mode 100644
index 00000000000..45d040046b1
--- /dev/null
+++ b/testing/kumactl/kuma-cp.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S kuma 2>/dev/null
+adduser -S -D -h /var/lib/kuma -s /sbin/nologin -G kuma -g kuma kuma 2>/dev/null
+
+exit 0
diff --git a/testing/kumactl/kuma-dp.confd b/testing/kumactl/kuma-dp.confd
new file mode 100644
index 00000000000..fc28138a8cf
--- /dev/null
+++ b/testing/kumactl/kuma-dp.confd
@@ -0,0 +1,16 @@
+# kuma-dp service configuration options
+
+# extra arguments to pass to kuma-dp
+command_args=""
+
+# user:group to run the process with
+command_user="kuma:kuma"
+
+# binary path to the Envoy executable
+envoypath="/usr/bin/envoy"
+
+# where to store output logs for kuma-dp process
+logfile="/var/log/kuma/kuma-dp.log"
+
+# comment to use traditional service management
+supervisor=supervise-daemon
diff --git a/testing/kumactl/kuma-dp.initd b/testing/kumactl/kuma-dp.initd
new file mode 100644
index 00000000000..5d218a14548
--- /dev/null
+++ b/testing/kumactl/kuma-dp.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+
+: ${command_user:="kuma:kuma"}
+: ${envoypath:="/usr/bin/envoy"}
+
+name=kuma-dp
+description="Kuma data plane proxy"
+command="/usr/bin/kuma-dp"
+command_args="
+ run
+ ${envoypath:+"--binary-path \"$envoypath\""}
+ ${logfile:+"--log-output-path \"$logfile\""}
+ ${command_args:-}
+ "
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" /var/lib/kuma /var/log/kuma
+ if [ -n "$logfile" ]; then
+ checkpath -f -m 640 -o "$command_user" "$logfile"
+ fi
+}
diff --git a/testing/kumactl/kuma-dp.pre-install b/testing/kumactl/kuma-dp.pre-install
new file mode 120000
index 00000000000..fe08a9890ee
--- /dev/null
+++ b/testing/kumactl/kuma-dp.pre-install
@@ -0,0 +1 @@
+kuma-cp.pre-install \ No newline at end of file
diff --git a/testing/laminar/APKBUILD b/testing/laminar/APKBUILD
new file mode 100644
index 00000000000..6e96d5267e2
--- /dev/null
+++ b/testing/laminar/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=laminar
+pkgver=1.3
+pkgrel=3
+pkgdesc="Fast and lightweight Continuous Integration server"
+url="https://laminar.ohwg.net/"
+license="GPL-3.0-or-later"
+arch="all !armhf !armv7 !x86" # FTBFS on 32-bit arches
+arch="$arch !ppc64le !s390x" # tests fail
+install="$pkgname.pre-install"
+makedepends="clang cmake samurai boost-dev capnproto-dev rapidjson-dev sqlite-dev gtest-dev"
+subpackages="
+ $pkgname-doc
+ $pkgname-openrc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ "
+_vue_ver=2.6.12
+_ansi_up_ver=4.0.4
+_chart_ver=3.9.1
+source="https://github.com/ohwgiles/laminar/archive/$pkgver/laminar-$pkgver.tar.gz
+ vue-$_vue_ver.min.js::https://cdnjs.cloudflare.com/ajax/libs/vue/$_vue_ver/vue.min.js
+ ansi_up-$_ansi_up_ver.js::https://raw.githubusercontent.com/drudru/ansi_up/v$_ansi_up_ver/ansi_up.js
+ https://github.com/chartjs/Chart.js/releases/download/v$_chart_ver/chart.js-$_chart_ver.tgz
+ $pkgname.initd
+ no-network.patch
+ laminard-location.patch
+ libstdc++13.patch
+ musl.patch
+ "
+
+prepare() {
+ default_prepare
+
+ sed -i 's/^#LAMINAR/#export LAMINAR/g' etc/laminar.conf
+
+ install -Dm644 "$srcdir"/vue-$_vue_ver.min.js build/js/vue.min.js
+ install -Dm644 "$srcdir"/ansi_up-$_ansi_up_ver.js build/js/ansi_up.js
+ install -Dm644 "$srcdir"/package/dist/chart.min.js build/js/Chart.min.js
+}
+
+check() {
+ ./build/laminar-tests
+}
+
+build() {
+ CC=clang CXX=clang++ \
+ cmake -G Ninja -B build \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLAMINAR_VERSION=$pkgver \
+ -DSYSTEMD_UNITDIR=/no_systemd \
+ -DBUILD_TESTS=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+
+ # we don't use systemd
+ rm -r "$pkgdir"/no_systemd
+}
+
+sha512sums="
+cdcf3544e641bf6250361e8b693de90300014d86ed1053e65a2670243b8901707c16c274ea63cebb613943fa81a9a9037778a00ad4a1296c3f7efb2888fe52a3 laminar-1.3.tar.gz
+04a6d247e71fcb12dd300b04d2768b45e1522e0f3fa636e07f11e1fe4fe4502f361f2eebe87b51e612e1a1b6a59f681c4efce4cb27a1add444763a6c430cb627 vue-2.6.12.min.js
+34c8cb74f687abc77ab84c4a504a04d9b334e9224ceffd35e6e3b31f0ff1c59ee3ddb239e5d731b6839de00485d47db34f338e2943affba04a80f6ecb43eafc3 ansi_up-4.0.4.js
+468d896cb9af83cde05c5e45e2c9e2690fa54db4afd7c13e4c87f670e7a21f522a7763c614eb5e9be0d4b9f319b02270144ef2c0f3a97d7141c114c6abb761eb chart.js-3.9.1.tgz
+c203f573cc44a76f3f66f170b7baa3d9784ceae7532f872985a071e1b06cd1d436ff3e45f39260cdb0333b9bb64312fcbff6eb3ac1230711636f57c92d4922ff laminar.initd
+f5845eaa845358a55b549632f85d8cdd29fe09592ef99ec5df0f22493e4a2b00161dca6266f4180f54a90aae7b5826e3751fe9ca5f23ff1aec0b5817b24bbf6a no-network.patch
+cef3436e6123c2fc71cab4cb565db625cf60e8311410fd08548f140c42745de1114e950b1459011f70bbdf45c220e63db2798b1cdeb01e82df09719208ef9620 laminard-location.patch
+9c0b11f0c141c716185992f49a6ebbc3e168a7ab91de8ac70be890ecf003e67976ee41952d76bfc668144d2520e1434a2b6c74ec63803191d6163716f38993d0 libstdc++13.patch
+6b532e15a9f308a7d1c51c2c346492c0e49710b813efb1cd17ca3520479ab700d844908119a44c8e3eca3fa0d3798d98bc0c572a0ea3e865c6694eda9a656b73 musl.patch
+"
diff --git a/testing/laminar/laminar.initd b/testing/laminar/laminar.initd
new file mode 100644
index 00000000000..c6e4d282655
--- /dev/null
+++ b/testing/laminar/laminar.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+
+name="Laminar CI"
+description="Fast and lightweight Continuous Integration server"
+
+: ${output_logger="logger -t laminard -p daemon.info >/dev/null 2>&1"}
+: ${error_logger="logger -t laminard -p daemon.err >/dev/null 2>&1"}
+
+command="/usr/bin/laminard"
+command_user="laminar:laminar"
+command_background="yes"
+directory="/var/lib/$RC_SVCNAME"
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need localmount
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory"
+
+ source /etc/laminar.conf
+}
diff --git a/testing/laminar/laminar.pre-install b/testing/laminar/laminar.pre-install
new file mode 100644
index 00000000000..5c2edc4555b
--- /dev/null
+++ b/testing/laminar/laminar.pre-install
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+user=laminar
+group=laminar
+gecos="Laminar CI"
+
+addgroup -S $group 2>/dev/null
+adduser -S -D -H -h /var/lib/$user -s /sbin/nologin -G $group -g "$gecos" $user 2>/dev/null
+
+exit 0
diff --git a/testing/laminar/laminard-location.patch b/testing/laminar/laminard-location.patch
new file mode 100644
index 00000000000..6566ade866e
--- /dev/null
+++ b/testing/laminar/laminard-location.patch
@@ -0,0 +1,13 @@
+Install laminard under bin.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -142,7 +142,7 @@ endif()
+ set(SYSTEMD_UNITDIR /lib/systemd/system CACHE PATH "Path to systemd unit files")
+ set(BASH_COMPLETIONS_DIR /usr/share/bash-completion/completions CACHE PATH "Path to bash completions directory")
+ set(ZSH_COMPLETIONS_DIR /usr/share/zsh/site-functions CACHE PATH "Path to zsh completions directory")
+-install(TARGETS laminard RUNTIME DESTINATION sbin)
++install(TARGETS laminard RUNTIME DESTINATION bin)
+ install(TARGETS laminarc RUNTIME DESTINATION bin)
+ install(FILES etc/laminar.conf DESTINATION /etc)
+ install(FILES etc/laminarc-completion.bash DESTINATION ${BASH_COMPLETIONS_DIR} RENAME laminarc)
diff --git a/testing/laminar/libstdc++13.patch b/testing/laminar/libstdc++13.patch
new file mode 100644
index 00000000000..4bf38456020
--- /dev/null
+++ b/testing/laminar/libstdc++13.patch
@@ -0,0 +1,12 @@
+diff --git a/src/database.cpp b/src/database.cpp
+index 8cf77a1..67965b2 100644
+--- a/src/database.cpp
++++ b/src/database.cpp
+@@ -18,6 +18,7 @@
+ ///
+ #include "database.h"
+
++#include <cstdint>
+ #include <sqlite3.h>
+ #include <string.h>
+ #include <math.h>
diff --git a/testing/laminar/musl.patch b/testing/laminar/musl.patch
new file mode 100644
index 00000000000..0763f2e9234
--- /dev/null
+++ b/testing/laminar/musl.patch
@@ -0,0 +1,12 @@
+--- a/test/eventsource.h
++++ b/test/eventsource.h
+@@ -24,6 +24,9 @@
+ #include <rapidjson/document.h>
+ #include <vector>
+
++// Definition needed for musl
++typedef unsigned long ulong;
++
+ class EventSource {
+ public:
+ EventSource(kj::AsyncIoContext& ctx, const char* httpConnectAddr, const char* path) :
diff --git a/testing/laminar/no-network.patch b/testing/laminar/no-network.patch
new file mode 100644
index 00000000000..78521bf4614
--- /dev/null
+++ b/testing/laminar/no-network.patch
@@ -0,0 +1,22 @@
+We install these frontend libraries in the `prepare` step.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ae86ce9..8a108d1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,14 +82,7 @@ add_custom_command(OUTPUT index_html_size.h
+ COMMAND sh -c '( echo -n "\\#define INDEX_HTML_UNCOMPRESSED_SIZE " && wc -c < "${CMAKE_SOURCE_DIR}/src/resources/index.html" ) > index_html_size.h'
+ DEPENDS src/resources/index.html)
+
+-# Download 3rd-party frontend JS libs...
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.12/vue.min.js
+- js/vue.min.js EXPECTED_MD5 fb192338844efe86ec759a40152fcb8e)
+-file(DOWNLOAD https://raw.githubusercontent.com/drudru/ansi_up/v4.0.4/ansi_up.js
+- js/ansi_up.js EXPECTED_MD5 b31968e1a8fed0fa82305e978161f7f5)
+-file(DOWNLOAD https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.9.1/chart.min.js
+- js/Chart.min.js EXPECTED_MD5 7dd5ea7d2cf22a1c42b43c40093d2669)
+-# ...and compile them
++# Compile 3rd-party frontend JS libs...
+ generate_compressed_bins(${CMAKE_BINARY_DIR} js/vue.min.js
+ js/ansi_up.js js/Chart.min.js)
+ # (see resources.cpp where these are fetched)
diff --git a/testing/laze/APKBUILD b/testing/laze/APKBUILD
new file mode 100644
index 00000000000..a6700e78a65
--- /dev/null
+++ b/testing/laze/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: Kaspar Schleiser <kaspar@schleiser.de>
+# Maintainer: Kaspar Schleiser <kaspar@schleiser.de>
+pkgname=laze
+pkgver=0.1.21
+pkgrel=0
+pkgdesc="laze is a build system based on Ninja, aiming to be the next goto-alternative to make"
+url="https://laze-build.org"
+arch="all"
+license="Apache-2.0"
+depends="ninja"
+makedepends="cargo cargo-auditable"
+checkdepends="xz"
+subpackages="$pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/kaspar030/laze/archive/$pkgver/laze-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 "target/release/laze" "$pkgdir/usr/bin/laze"
+
+ # create man pages
+ mkdir -p tmp/man tmp/completions
+ target/release/laze manpage tmp/man
+
+ install -Dm644 "tmp/man/laze.1" "$pkgdir/usr/share/man/man1/laze.1"
+ install -Dm644 "tmp/man/laze-build.1" "$pkgdir/usr/share/man/man1/laze-build.1"
+ install -Dm644 "tmp/man/laze-clean.1" "$pkgdir/usr/share/man/man1/laze-clean.1"
+
+ # create completions
+ for shell in bash zsh fish; do
+ target/release/laze -Ctmp/completions completion --generate $shell \
+ > tmp/completions/$shell
+ done
+
+ install -Dm644 "tmp/completions/bash" \
+ "$pkgdir/usr/share/bash-completion/completions/laze"
+ install -Dm644 "tmp/completions/fish" \
+ "$pkgdir/usr/share/fish/vendor_completions.d/laze.fish"
+ install -Dm644 "tmp/completions/zsh" \
+ "$pkgdir/usr/share/zsh/site-functions/_laze"
+}
+
+sha512sums="
+16026189437f59517e85e64843516d6cdde76f826901c09b6c990a4ae48bf85bd6eb24da1b867b1aa662c74e0ef3e55b8608ee6406abef02f980c7ad3367858e laze-0.1.21.tar.gz
+"
diff --git a/testing/lazydocker/APKBUILD b/testing/lazydocker/APKBUILD
deleted file mode 100644
index 3e81d1514e5..00000000000
--- a/testing/lazydocker/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Thomas Deutsch <thomas@tuxpeople.org>
-# Maintainer: Thomas Deutsch <thomas@tuxpeople.org>
-pkgname=lazydocker
-pkgver=0.12
-pkgrel=2
-pkgdesc="Simple terminal UI for both docker and docker-compose"
-url="https://github.com/jesseduffield/lazydocker"
-arch="all"
-license="MIT"
-makedepends="go"
-options="chmod-clean !check" # checks failing, reported upstream: https://github.com/jesseduffield/lazydocker/issues/236
-source="$pkgname-$pkgver.tar.gz::https://github.com/jesseduffield/lazydocker/archive/v$pkgver.tar.gz"
-
-build() {
- GOPATH="$srcdir" go build
-}
-
-check() {
- GOPATH="$srcdir" go test ./...
-}
-
-package() {
- install -Dm755 $pkgname "$pkgdir"/usr/bin/lazydocker
-}
-
-
-sha512sums="59198b2f8e7c7c0686d4b1ddef3f585411e672055ede5f6a279c28cd8d94ba619078658d5b8f6c43915667f8180feb7d9407ea1003b3bc3b642e1502a165c78e lazydocker-0.12.tar.gz"
diff --git a/testing/lazymc/APKBUILD b/testing/lazymc/APKBUILD
new file mode 100644
index 00000000000..5542c684bc2
--- /dev/null
+++ b/testing/lazymc/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=lazymc
+pkgver=0.2.11
+pkgrel=0
+pkgdesc="Put your Minecraft server to rest when idle"
+url="https://github.com/timvisee/lazymc"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ cargo
+ cargo-auditable
+"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/timvisee/lazymc/archive/refs/tags/v$pkgver.tar.gz
+ lazymc.initd
+ lazymc.confd
+"
+options="net !check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm 755 target/release/lazymc "$pkgdir"/usr/bin/lazymc
+
+ install -Dm 755 "$srcdir"/lazymc.initd "$pkgdir"/etc/init.d/lazymc
+ install -Dm 644 "$srcdir"/lazymc.confd "$pkgdir"/etc/conf.d/lazymc
+
+ "$pkgdir"/usr/bin/lazymc config generate -c "$pkgdir"/etc/lazymc.toml
+}
+
+sha512sums="
+64750b0bc5c4a4f08bf8aa19683b8415fdc62c0215208c4503e6d338c976decccf391aa0b8913676082d07a0e6ec7d45e05aef17e0765698679ca6eb2257a643 lazymc-0.2.11.tar.gz
+29479bc55dbea006944b974ec507c907de43ab33dd7be27d41c42d157824ecc704b4ca4bb20a46dd889d92d5b715af4977ec9e92f2a2a8632ca3af942c873d7d lazymc.initd
+9eb8e36476c471c2ae42e5ca985746f0f020437cdc4e38c25eecde70605d3ee48db539370be991258c0b3e25a0946ce9245754c26d64d7ac2e1994ee573a5502 lazymc.confd
+"
diff --git a/testing/lazymc/lazymc.confd b/testing/lazymc/lazymc.confd
new file mode 100644
index 00000000000..e421bb5e292
--- /dev/null
+++ b/testing/lazymc/lazymc.confd
@@ -0,0 +1,3 @@
+command_user=lazymc:lazymc
+logdir=/var/log/lazymc
+_conf_path=/etc/lazymc.toml
diff --git a/testing/lazymc/lazymc.initd b/testing/lazymc/lazymc.initd
new file mode 100644
index 00000000000..adf427236b7
--- /dev/null
+++ b/testing/lazymc/lazymc.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+supervisor="supervise-daemon"
+
+# fallback values for /etc/conf.d/lazymc
+: ${command_user:=lazymc:lazymc}
+: ${logdir:=/var/log/lazymc}
+: ${_conf_path:=/etc/lazymc.toml}
+
+name=lazymc
+description="Put your Minecraft server to rest when idle"
+command="/usr/bin/lazymc"
+command_args="-c $_conf_path"
+command_background=true
+
+pidfile="/run/$name.pid"
+output_log="$logdir/output.log"
+error_log="$logdir/error.log"
+
+depend() {
+ need net
+ use logger
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$logdir"
+ checkpath -f -o "$command_user" "$output_log" "$error_log"
+}
diff --git a/testing/lazymc/lazymc.pre-install b/testing/lazymc/lazymc.pre-install
new file mode 100644
index 00000000000..426deff112c
--- /dev/null
+++ b/testing/lazymc/lazymc.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S lazymc #2>/dev/null
+adduser -S -D -s /sbin/nologin -G lazymc -g lazymc lazymc #2>/dev/null
+
+exit 0
diff --git a/testing/lbreakout2/APKBUILD b/testing/lbreakout2/APKBUILD
deleted file mode 100644
index ac65b71a8e7..00000000000
--- a/testing/lbreakout2/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lbreakout2
-pkgver=2.6.5
-pkgrel=1
-pkgdesc="Ball-and-paddle game with nice graphics"
-url="https://lgames.sourceforge.io/LBreakout2/"
-arch="all"
-license="GPL-2.0-or-later"
-
-# lbreakout2 needs sdl_net (optional) for multiplayer network on non-Unix systems
-# However, this package does not exist in Alpine repositories and its use has been deprecated
-makedepends="sdl12-compat-dev sdl_mixer-dev libpng-dev"
-subpackages="$pkgname-doc"
-source="http://prdownloads.sourceforge.net/lgames/lbreakout2-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --sysconfdir=/etc \
- --localstatedir=/var/lbreakout2 \
- --prefix=/usr \
- --disable-nls
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm644 lbreakout2.desktop \
- "$pkgdir"/usr/share/applications/lbreakout2.desktop
- install -Dm644 lbreakout32.gif \
- "$pkgdir"/usr/share/icons/hicolor/32x32/apps/lbreakout32.gif
- install -Dm644 lbreakout48.gif \
- "$pkgdir"/usr/share/icons/hicolor/48x48/apps/lbreakout48.gif
-}
-
-sha512sums="
-45c54bc9401131c96eba5fdcc08ca1324904fb50d3967acf7f29034045cbcd4c1d0b65f38eb33d8aace4cfe35f2a2e7a6c2319e4a6d6a1b41274dbe293a1747b lbreakout2-2.6.5.tar.gz
-"
diff --git a/testing/lbreakouthd/APKBUILD b/testing/lbreakouthd/APKBUILD
deleted file mode 100644
index 0dfcf7e806f..00000000000
--- a/testing/lbreakouthd/APKBUILD
+++ /dev/null
@@ -1,57 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lbreakouthd
-pkgver=1.0.8
-pkgrel=0
-pkgdesc="Ball-and-paddle game (LBreakout2 successor)"
-url="https://lgames.sourceforge.io/LBreakoutHD/"
-arch="all"
-license="GPL-2.0-or-later"
-depends="$pkgname-data"
-makedepends="
- sdl2-dev sdl2_image-dev
- sdl2_mixer-dev sdl2_ttf-dev
- "
-subpackages="$pkgname-data::noarch"
-source="https://sourceforge.net/projects/lgames/files/lbreakouthd/lbreakouthd-$pkgver.tar.gz
- fix-undeclared-uint.patch
- "
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
-}
-
-# Fails to build on builders if we enable nls (Native Language Support):
-# ERROR: gettext-tiny-dev-0.3.2-r0: trying to overwrite usr/include/libintl.h owned by musl-libintl-1.2.2-r3
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --sysconfdir=/etc \
- --localstatedir=/var/lbreakouthd \
- --prefix=/usr \
- --disable-nls
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-data() {
- pkgdesc="$pkgdesc (data files)"
- mkdir -p "$subpkgdir"/usr/share/
- mv "$pkgdir"/usr/share/lbreakouthd \
- "$subpkgdir"/usr/share/
-}
-
-sha512sums="
-bea7858f042b533b8cf8718c1417bced886c8a3a05a41b4fdeb6cb63f4919cb2806d74f36edf93cd98dc9f92b9fca9dcf085cc167c6c6e6ce2e3be46a88c22c9 lbreakouthd-1.0.8.tar.gz
-4de6934a7840153354f54c5c6a9c14d22e3d5a76030cd33131c2511d97c363d73912d53d3581fd756ff42dec9c7d4e819056e5a2eee5d92064a88a9337abe5eb fix-undeclared-uint.patch
-"
diff --git a/testing/lbreakouthd/fix-undeclared-uint.patch b/testing/lbreakouthd/fix-undeclared-uint.patch
deleted file mode 100644
index 4e231bd1526..00000000000
--- a/testing/lbreakouthd/fix-undeclared-uint.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/tools.h 2021-06-01 21:37:47.088154398 +0200
-+++ b/src/tools.h 2021-06-01 21:38:22.696329395 +0200
-@@ -17,6 +17,7 @@
-
- using namespace std;
-
-+#include <sys/types.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
diff --git a/testing/lcalc/APKBUILD b/testing/lcalc/APKBUILD
new file mode 100644
index 00000000000..4843e6ae99c
--- /dev/null
+++ b/testing/lcalc/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Eloi Torrents <eloitor@disroot.org>
+# Maintainer: Eloi Torrents <eloitor@disroot.org>
+pkgname=lcalc
+pkgver=2.0.5
+pkgrel=1
+pkgdesc="Michael Rubinstein's L-function calculator"
+url="https://gitlab.com/sagemath/lcalc"
+# blocked by pari
+arch="all !armhf !armv7 !x86"
+license="GPL-2.0-or-later"
+makedepends="gengetopt gmp-dev pari-dev"
+subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"
+source="https://gitlab.com/sagemath/lcalc/uploads/25f029f3c02fcb6c3174972e0ac0e192/lcalc-$pkgver.tar.xz"
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-pari
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+d3b7fa25dd3c2a8f88671076dfb5ab5e933be7feff24bbd160c92a476953f5553f9fb58f72c36b9c668929385084918fc3396e1a0bcc55de12ea8cb647c53929 lcalc-2.0.5.tar.xz
+"
diff --git a/testing/lcov/APKBUILD b/testing/lcov/APKBUILD
index b9f417be5fe..b0d15b007ae 100644
--- a/testing/lcov/APKBUILD
+++ b/testing/lcov/APKBUILD
@@ -1,13 +1,23 @@
# Contributor: Shiva Velmurugan <shiv@shiv.me>
# Maintainer: Shiva Velmurugan <shiv@shiv.me>
pkgname=lcov
-pkgver=1.15
-pkgrel=0
+pkgver=2.0
+pkgrel=2
pkgdesc="LCOV is an extension to GCOV. It provides a graphical frontend for converage information"
url="https://github.com/linux-test-project/lcov"
arch="noarch"
license="GPL-2.0-or-later"
-depends="bash perl"
+depends="
+ bash
+ perl
+ perl-capture-tiny
+ perl-datetime
+ perl-digest-md5
+ perl-json-xs
+ perl-memory-process
+ perl-time-hires
+ perl-timedate
+ "
subpackages="$pkgname-doc"
source="https://github.com/linux-test-project/lcov/releases/download/v$pkgver/lcov-$pkgver.tar.gz"
@@ -15,4 +25,6 @@ package() {
make DESTDIR="$pkgdir" PREFIX="/usr" install
}
-sha512sums="dda0eadbd0ea2093f17cba039309ccda3dbcb7266d083b46bda61e02cd7f049d66de49be1e005157c3e5af910d2703ffbc9cfe7f1242bd67b9787f8508e4d052 lcov-1.15.tar.gz"
+sha512sums="
+b19b6debc93c0de0e7e5b2aaffa6c74d20a1313ea4d20d8731c6a5ea7f4cc40933316d28ef791c91fdc12ca77c9449a388405f3dc0793588e366b72f596ab49b lcov-2.0.tar.gz
+"
diff --git a/testing/ldapdomaindump/APKBUILD b/testing/ldapdomaindump/APKBUILD
new file mode 100644
index 00000000000..36577453961
--- /dev/null
+++ b/testing/ldapdomaindump/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=ldapdomaindump
+pkgver=0.9.4
+pkgrel=1
+pkgdesc="Active Directory information dumper via LDAP"
+url="https://github.com/dirkjanm/ldapdomaindump"
+arch="noarch"
+license="MIT"
+depends="
+ py3-dnspython
+ py3-future
+ py3-ldap3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dirkjanm/ldapdomaindump/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+0da9ab936e391d08829ae12ba893b7a2dd088e1fe37cbce612bd4772a35c3dbcae836711f80a3abffb1e5d786af30b093e45534acab84c7c0ae36064f6980407 ldapdomaindump-0.9.4.tar.gz
+"
diff --git a/testing/ledmon/10-musl-build.patch b/testing/ledmon/10-musl-build.patch
new file mode 100644
index 00000000000..030271b8b87
--- /dev/null
+++ b/testing/ledmon/10-musl-build.patch
@@ -0,0 +1,218 @@
+--- a/src/ledctl.c
++++ b/src/ledctl.c
+@@ -214,15 +214,11 @@
+ *
+ * This is internal function of ledctl utility. The function cleans up a memory
+ * allocated for the application and closes all opened handles. This function is
+- * design to be registered as on_exit() handler function.
++ * design to be registered as atexit() handler function.
+ *
+- * @param[in] status exit status of the ledctl application.
+- * @param[in] ignored function ignores this argument.
+- *
+ * @return The function does not return a value.
+ */
+-static void _ledctl_fini(int status __attribute__ ((unused)),
+- void *ignore __attribute__ ((unused)))
++static void _ledctl_fini(void)
+ {
+ sysfs_reset();
+ list_erase(&ibpi_list);
+@@ -948,7 +944,7 @@
+ * @brief Application's entry point.
+ *
+ * This is the entry point of ledctl utility. This function does all the work.
+- * It allocates and initializes all used structures. Registers on_exit()
++ * It allocates and initializes all used structures. Registers atexit()
+ * handlers.
+ * Then the function parses command line options and commands given and scans
+ * sysfs tree for controllers, block devices and RAID devices. If no error is
+@@ -983,7 +979,7 @@
+ status = _init_ledctl_conf();
+ if (status != LEDCTL_STATUS_SUCCESS)
+ return status;
+- if (on_exit(_ledctl_fini, progname))
++ if (atexit(_ledctl_fini))
+ exit(LEDCTL_STATUS_ONEXIT_ERROR);
+ slot_request_init(&slot_req);
+ status = _cmdline_parse(argc, argv, &slot_req);
+--- a/src/ledmon.c
++++ b/src/ledmon.c
+@@ -58,6 +58,19 @@
+ #include "vmdssd.h"
+
+ /**
++ * This macro is the alternative way to get exit status
++ * in atexit() callback function
++ */
++#define EXIT(x) ((exit)(exit_status = (x)))
++
++static int exit_status;
++
++/**
++ * Flag to print exit status
++ */
++static int ignore;
++
++/**
+ * @brief List of active block devices.
+ *
+ * This list holds all block devices attached to supported storage controllers.
+@@ -151,20 +164,16 @@
+ *
+ * This is internal function of monitor service. It is used to finalize daemon
+ * process i.e. free allocated memory, unlock and remove pidfile and close log
+- * file and syslog. The function is registered as on_exit() handler.
++ * file and syslog. The function is registered as atexit() handler.
+ *
+- * @param[in] status The function ignores this parameter.
+- * @param[in] program_name The name of the binary file. This argument
+- * is passed via on_exit() function.
+- *
+ * @return The function does not return a value.
+ */
+-static void _ledmon_fini(int __attribute__ ((unused)) status, void *program_name)
++static void _ledmon_fini(void)
+ {
+ sysfs_reset();
+ list_erase(&ledmon_block_list);
+ log_close();
+- pidfile_remove(program_name);
++ pidfile_remove(progname);
+ }
+
+ typedef enum {
+@@ -207,30 +216,25 @@
+ *
+ * This is internal function of monitor service. It is used to report an exit
+ * status of the monitor service. The message is logged in to syslog and to log
+- * file. The function is registered as on_exit() hander.
++ * file. The function is registered as atexit() hander.
+ *
+- * @param[in] status Status given in the last call to exit()
+- * function.
+- * @param[in] arg Argument passed to on_exit().
+- *
+ * @return The function does not return a value.
+ */
+-static void _ledmon_status(int status, void *arg)
++static void _ledmon_status(void)
+ {
+ int log_level;
+ char message[4096];
+- int ignore = *((int *)arg);
+
+ if (ignore)
+ return;
+
+- if (status == LEDMON_STATUS_SUCCESS)
++ if (exit_status == LEDMON_STATUS_SUCCESS)
+ log_level = LOG_LEVEL_INFO;
+ else
+ log_level = LOG_LEVEL_ERROR;
+
+ snprintf(message, sizeof(message), "exit status is %s.",
+- ledmon_strstatus(status));
++ ledmon_strstatus(exit_status));
+
+ if (get_log_fd() >= 0)
+ _log(log_level, message);
+@@ -364,10 +368,10 @@
+ break;
+ case 'h':
+ _ledmon_help();
+- exit(EXIT_SUCCESS);
++ EXIT(EXIT_SUCCESS);
+ case 'v':
+ _ledmon_version();
+- exit(EXIT_SUCCESS);
++ EXIT(EXIT_SUCCESS);
+ case ':':
+ case '?':
+ return LEDMON_STATUS_CMDLINE_ERROR;
+@@ -890,14 +894,13 @@
+ int main(int argc, char *argv[])
+ {
+ ledmon_status_code_t status = LEDMON_STATUS_SUCCESS;
+- static int ignore;
+
+ setup_options(&longopt, &shortopt, possible_params,
+ possible_params_size);
+ set_invocation_name(argv[0]);
+ openlog(progname, LOG_PID | LOG_PERROR, LOG_DAEMON);
+
+- if (on_exit(_ledmon_status, &ignore))
++ if (atexit(_ledmon_status))
+ return LEDMON_STATUS_ONEXIT_ERROR;
+
+ if (_cmdline_parse_non_daemonise(argc, argv) != LEDMON_STATUS_SUCCESS)
+@@ -935,18 +938,18 @@
+
+ if (pid < 0) {
+ log_debug("main(): fork() failed (errno=%d).", errno);
+- exit(EXIT_FAILURE);
++ EXIT(EXIT_FAILURE);
+ }
+ if (pid > 0) {
+ ignore = 1; /* parent: don't print exit status */
+- exit(EXIT_SUCCESS);
++ EXIT(EXIT_SUCCESS);
+ }
+
+ pid_t sid = setsid();
+
+ if (sid < 0) {
+ log_debug("main(): setsid() failed (errno=%d).", errno);
+- exit(EXIT_FAILURE);
++ EXIT(EXIT_FAILURE);
+ }
+
+ _close_parent_fds();
+@@ -960,16 +963,16 @@
+
+ if (chdir("/") < 0) {
+ log_debug("main(): chdir() failed (errno=%d).", errno);
+- exit(EXIT_FAILURE);
++ EXIT(EXIT_FAILURE);
+ }
+ if (pidfile_create(progname)) {
+ log_debug("main(): pidfile_creat() failed.");
+- exit(EXIT_FAILURE);
++ EXIT(EXIT_FAILURE);
+ }
+ _ledmon_setup_signals();
+
+- if (on_exit(_ledmon_fini, progname))
+- exit(LEDMON_STATUS_ONEXIT_ERROR);
++ if (atexit(_ledmon_fini))
++ EXIT(LEDMON_STATUS_ONEXIT_ERROR);
+ list_init(&ledmon_block_list, (item_free_t)block_device_fini);
+ sysfs_init();
+ log_info("monitor service has been started...");
+@@ -987,5 +990,5 @@
+ }
+ ledmon_remove_shared_conf();
+ stop_udev_monitor();
+- exit(EXIT_SUCCESS);
++ EXIT(EXIT_SUCCESS);
+ }
+--- a/src/utils.h
++++ b/src/utils.h
+@@ -22,6 +22,7 @@
+ #define _UTILS_H_INCLUDED_
+
+ #include <getopt.h>
++#include <sys/types.h>
+ #include "config_file.h"
+ #include "stdlib.h"
+ #include "stdint.h"
+--- a/src/utils.c
++++ b/src/utils.c
+@@ -33,7 +33,6 @@
+ #include <string.h>
+ #include <sys/stat.h>
+ #include <sys/time.h>
+-#include <sys/types.h>
+ #include <time.h>
+ #include <unistd.h>
+ #include <assert.h>
diff --git a/testing/ledmon/APKBUILD b/testing/ledmon/APKBUILD
new file mode 100644
index 00000000000..578d0de0beb
--- /dev/null
+++ b/testing/ledmon/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Steve McMaster <code@mcmaster.io>
+# Maintainer: Steve McMaster <code@mcmaster.io>
+pkgname=ledmon
+pkgver=0.97
+pkgrel=1
+pkgdesc="Enclosure LED Utilities"
+url="https://github.com/intel/ledmon"
+arch="all"
+# Provided tests expect to run on a host with supported hardware
+options="!check"
+license="GPL-2.0-only"
+makedepends="automake autoconf eudev-dev linux-headers pciutils-dev sg3_utils-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/intel/ledmon/archive/v$pkgver.tar.gz
+ 10-musl-build.patch
+ "
+subpackages="$pkgname-doc"
+
+prepare() {
+ default_prepare
+ autoreconf -vif
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-static
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7a8f6c6f7cbaa10ae17ee60c2dfbce4100524b9b85fdc01a139f1fd2a33779348845df29b93f6c2cbabed4fa92a2a17a80636c2658e13507743bd2242fc08914 ledmon-0.97.tar.gz
+0ad5de757b34fb9f7264091cfdeb3ebd6cb66c1dbe31ebf423573027b065376b075f824eaaf20d79295605e5f671cca0ab17a0da4afeb131dd91a38a6841f098 10-musl-build.patch
+"
diff --git a/testing/legume/APKBUILD b/testing/legume/APKBUILD
new file mode 100644
index 00000000000..5e6d4bec179
--- /dev/null
+++ b/testing/legume/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Sean E. Russell <ser@ser1.net>
+# Maintainer: Sean E. Russell <ser@ser1.net>
+pkgname=legume
+pkgver=1.4.2
+pkgrel=1
+pkgdesc="A distributed issue tracker base on developer code comments such as TODO and FIXME."
+url="https://sr.ht/~ser/legume"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://hg.sr.ht/~ser/legume/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+build() {
+ go build -ldflags "-X main.Version=v$pkgver" -v -o leg ./cmd/leg
+}
+
+check() {
+ [ "$(./leg -V)" = "legume v$pkgver" ]
+
+ go test ./cmd/leg ./fs ./parse ./stream
+}
+
+package() {
+ install -Dm755 leg "$pkgdir"/usr/bin/leg
+ install -Dm644 leg.1 "$pkgdir"/usr/share/man/man1/leg.1
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/"$pkgname"/README.md
+}
+
+sha512sums="
+460cab3111243ea1b6eb5c42bdb5d32488fb60dee7a13e8bc2b6007ff3b1718062c53cce4810b897f1c32e51bd807241c81741ec10e5ae1faa530faf1346435b legume-1.4.2.tar.gz
+"
diff --git a/testing/lemmy-ui/APKBUILD b/testing/lemmy-ui/APKBUILD
new file mode 100644
index 00000000000..9ff575697b9
--- /dev/null
+++ b/testing/lemmy-ui/APKBUILD
@@ -0,0 +1,97 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=lemmy-ui
+pkgver=0.19.3
+# this needs to be synced with lemmy
+_translations_commit=c3e61706e2ff7977db83e964e3010f72cad5e408
+pkgrel=0
+pkgdesc="Link aggregator and forum for the Fediverse - Official webapp"
+url="https://join-lemmy.org/"
+# ppc64le: vips not available
+# riscv64: RuntimeError: memory access out of bounds
+# x86: Zone Allocation failed - process out of memory
+# armhf, armv7, s390x: follow lemmy aport
+arch="aarch64 x86_64"
+license="AGPL-3.0-only"
+depends="nodejs"
+makedepends="npm vips-dev yarn"
+checkdepends="cmd:start-stop-daemon curl"
+install="$pkgname.pre-install"
+pkgusers="lemmy-ui"
+pkggroups="lemmy-ui"
+subpackages="$pkgname-openrc"
+source="https://github.com/LemmyNet/lemmy-ui/archive/$pkgver/lemmy-ui-$pkgver.tar.gz
+ https://github.com/LemmyNet/lemmy-translations/archive/$_translations_commit/lemmy-translations-$pkgver.tar.gz
+ lemmy-ui.confd
+ lemmy-ui.initd
+ "
+
+# Workaround for bad gyp usage causing 'stat64' errors
+export CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE -U_FORTIFY_SOURCE"
+export CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE -U_FORTIFY_SOURCE"
+export CXXFLAGS="$CXXFLAGS -std=c++17 -D_LARGEFILE64_SOURCE -U_FORTIFY_SOURCE"
+
+prepare() {
+ default_prepare
+
+ rmdir -v lemmy-translations
+ ln -sv "$srcdir/lemmy-translations-$_translations_commit" \
+ lemmy-translations
+
+ sed -i "s/unknown version/$pkgver/" src/shared/version.ts
+ yarn install --frozen-lockfile --production
+}
+
+build() {
+ export GIT_DIR="$builddir"
+ NODE_ENV=production yarn build:prod
+ unset GIT_DIR
+}
+
+check() {
+ start-stop-daemon -Sbmp "$startdir"/test.pid -w 5000 \
+ -e 'NODE_ENV=production' -x node dist/js/server.js
+ curl -o "$startdir"/test.out http://127.0.0.1:1234 || true
+ start-stop-daemon -Kp "$startdir"/test.pid
+ grep -q "UI: $pkgver" "$startdir"/test.out
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/webapps/$pkgname
+ cp -r dist node_modules "$pkgdir"/usr/share/webapps/$pkgname/
+
+ # cleanup unused files
+ find "$pkgdir" -type f -a \( \
+ -name "*.ts" \
+ -o -name "webpack*" \
+ -o -name "tsconfig*" \
+ -o -name "babel.config*" \
+ -o -name "README*" \
+ -o -name "readme*" \
+ -o -name "CHANGELOG*" \
+ -o -name "*.map" \
+ -o -name "LICENSE*" \
+ -o -name "License" \
+ -o -name "license" \
+ -o -name "*.md" \
+ \) \
+ -delete
+ find "$pkgdir" -type d -a \( \
+ -name "example" \
+ -o -name "examples" \
+ -o -name "test" \
+ -o -name "tests" \
+ -o -name ".github" \
+ \) \
+ -exec rm -rf '{}' \+
+
+ install -Dm644 "$srcdir"/lemmy-ui.confd "$pkgdir"/etc/conf.d/lemmy-ui
+ install -Dm755 "$srcdir"/lemmy-ui.initd "$pkgdir"/etc/init.d/lemmy-ui
+}
+
+sha512sums="
+cf4dfc6a13b7989751a2a0b1ec807cc40c4fbdc9aed296b6f8f4e24117d7d68ec5be9c7bcd4d572b50f68aefa0be845bea07e5a1de526f5e7a64a31d89e97803 lemmy-ui-0.19.3.tar.gz
+8f3ba3a343e328ee2a5ffeed4f1e6feb7ea580620f004c8f2e9fc8cf00e647e6a7ed5a9c5e68d9bce854819357ac56a9d35b667acb9925701063f0451014f075 lemmy-translations-0.19.3.tar.gz
+cac55baba8fa7cd49e41877e80296b1505aee35444d025c6c612a5c7091f36c92adeab17117d8f58d228f7bbe9f016a9e752a8b9c0f9a940bd8980132577e1a9 lemmy-ui.confd
+59559ffab27cd9562b0f920a72df0a66676f96612960c573132ef1d8914d16ff36300e2514c0fd8e3d16ffd13af58fc129afc88b14f64a16468457e224b97fbd lemmy-ui.initd
+"
diff --git a/testing/lemmy-ui/lemmy-ui.confd b/testing/lemmy-ui/lemmy-ui.confd
new file mode 100644
index 00000000000..a3ec74ece3a
--- /dev/null
+++ b/testing/lemmy-ui/lemmy-ui.confd
@@ -0,0 +1,13 @@
+# Configuration for /etc/init.d/lemmy-ui
+
+# The IP:port lemmy-ui listens on
+LEMMY_UI_HOST="0.0.0.0:1234"
+
+# The internal IP:port for accessing the lemmy backend
+LEMMY_UI_LEMMY_INTERNAL_HOST="127.0.0.1:8536"
+
+# The external domain lemmy is hosted at
+LEMMY_UI_LEMMY_EXTERNAL_HOST="lemmy.example.com"
+
+# Whether to use https
+LEMMY_UI_HTTPS="true"
diff --git a/testing/lemmy-ui/lemmy-ui.initd b/testing/lemmy-ui/lemmy-ui.initd
new file mode 100644
index 00000000000..745d7a11548
--- /dev/null
+++ b/testing/lemmy-ui/lemmy-ui.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+
+name=lemmy-ui
+description="Lemmy UI"
+
+export NODE_ENV=production
+export LEMMY_UI_HOST
+export LEMMY_UI_LEMMY_INTERNAL_HOST
+export LEMMY_UI_LEMMY_EXTERNAL_HOST
+export LEMMY_UI_HTTPS
+
+command="/usr/bin/node"
+command_args="dist/js/server.js"
+command_background=true
+command_user="lemmy-ui:lemmy-ui"
+pidfile="/run/${RC_SVCNAME}.pid"
+directory="/usr/share/webapps/lemmy-ui"
+error_log="/var/log/lemmy-ui.log"
+
+depend() {
+ need localmount net
+ after firewall lemmy
+}
+
+start_pre() {
+ checkpath -f -m 0640 -o "$command_user" "$error_log"
+}
diff --git a/testing/lemmy-ui/lemmy-ui.pre-install b/testing/lemmy-ui/lemmy-ui.pre-install
new file mode 100644
index 00000000000..f9482c0af2b
--- /dev/null
+++ b/testing/lemmy-ui/lemmy-ui.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S lemmy-ui 2>/dev/null
+adduser -S -D -H \
+ -h /var/empty \
+ -s /sbin/nologin \
+ -G lemmy-ui \
+ -g "Lemmy UI" \
+ lemmy-ui 2>/dev/null
+
+exit 0
diff --git a/testing/lemmy/APKBUILD b/testing/lemmy/APKBUILD
new file mode 100644
index 00000000000..5307f618032
--- /dev/null
+++ b/testing/lemmy/APKBUILD
@@ -0,0 +1,76 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=lemmy
+pkgver=0.19.3
+# this needs to be synced with lemmy-ui
+_translations_commit=c3e61706e2ff7977db83e964e3010f72cad5e408
+pkgrel=1
+pkgdesc="Link aggregator and forum for the Fediverse - Backend server"
+url="https://join-lemmy.org/"
+# armhf, armv7: fatal runtime error while compiling lemmy_server crate
+# ppc64le, riscv64, s390x: ring crate
+# x86: follow lemmy-ui aport
+arch="aarch64 x86_64"
+license="AGPL-3.0-only"
+makedepends="
+ cargo
+ cargo-auditable
+ libpq-dev
+ openssl-dev
+ "
+install="$pkgname.pre-install $pkgname-localdb.post-install"
+pkgusers="lemmy"
+pkggroups="lemmy"
+subpackages="$pkgname-openrc $pkgname-localdb::noarch"
+source="https://github.com/LemmyNet/lemmy/archive/$pkgver/lemmy-$pkgver.tar.gz
+ https://github.com/LemmyNet/lemmy-translations/archive/$_translations_commit/lemmy-translations-$pkgver.tar.gz
+ fix-db-init-script.patch
+ lemmy.initd
+ "
+options="!check" # fails to load settings file as it is not found
+
+# html2md required by lemmy_apub fails to build with panic=abort
+export CARGO_PROFILE_RELEASE_PANIC="unwind"
+
+prepare() {
+ default_prepare
+
+ rmdir -v crates/utils/translations
+ ln -sv "$srcdir/lemmy-translations-$_translations_commit" \
+ crates/utils/translations
+
+ sed -i "s/unknown version/$pkgver/" crates/utils/src/version.rs
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/lemmy_server -t "$pkgdir"/usr/bin
+ install -Dm640 -g lemmy config/defaults.hjson \
+ "$pkgdir"/etc/lemmy/lemmy.hjson
+
+ install -Dm755 scripts/db-init.sh -t "$pkgdir"/usr/lib/$pkgname
+ install -Dm755 "$srcdir"/lemmy.initd "$pkgdir"/etc/init.d/lemmy
+}
+
+localdb() {
+ pkgdesc="Use $pkgname with a local PostgreSQL server"
+ install_if="$pkgname=$pkgver-r$pkgrel postgresql"
+ depends="$pkgname=$pkgver-r$pkgrel postgresql-contrib"
+
+ amove usr/lib/$pkgname/db-init.sh
+}
+
+sha512sums="
+e050fafafad45a3354460bb706387e609187e3894de9ac6c93f26f171f48dbefadc3e0d816f29efdde092dc7454a47e5c3b1786443e89763e31e7ce044a56f09 lemmy-0.19.3.tar.gz
+8f3ba3a343e328ee2a5ffeed4f1e6feb7ea580620f004c8f2e9fc8cf00e647e6a7ed5a9c5e68d9bce854819357ac56a9d35b667acb9925701063f0451014f075 lemmy-translations-0.19.3.tar.gz
+fcfb3881abf8ee671bb55e47c71fef8ef1328a04b3278fd9602478260b0de0bdb55b27c1f6127e9729a65e3fc05cbcd245bd1f98b93ea307755ff748a68d770d fix-db-init-script.patch
+7b4cf4242950f48914fbbb49de932a10f793ae3bb14ac3d2b2430edef1cd76cfc6d0228c3041fb09313b00547068fddbd36ed9e74edc330924a6f55732698bf2 lemmy.initd
+"
diff --git a/testing/lemmy/fix-db-init-script.patch b/testing/lemmy/fix-db-init-script.patch
new file mode 100644
index 00000000000..d039f232f0c
--- /dev/null
+++ b/testing/lemmy/fix-db-init-script.patch
@@ -0,0 +1,26 @@
+--- a/scripts/db-init.sh
++++ b/scripts/db-init.sh
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env bash
++#!/bin/sh
+ set -e
+
+ # Default configurations
+@@ -43,7 +43,7 @@
+ do
+ read -p "Database name: " dbname
+ read -p "Username: " username
+- read -p "Password: password"
++ read -p "Password: " password
+ read -p "Port: " port
+ #echo
+
+@@ -68,7 +68,7 @@
+
+ ask_for_db_config
+
+-psql -c "CREATE USER $username WITH PASSWORD '$password' SUPERUSER;" -U postgres
++psql -c "CREATE USER $username WITH PASSWORD '$password';" -U postgres
+ psql -c "CREATE DATABASE $dbname WITH OWNER $username;" -U postgres
+ export LEMMY_DATABASE_URL=postgres://$username:$password@localhost:$port/$dbname
+
diff --git a/testing/lemmy/lemmy-localdb.post-install b/testing/lemmy/lemmy-localdb.post-install
new file mode 100644
index 00000000000..57821bc1804
--- /dev/null
+++ b/testing/lemmy/lemmy-localdb.post-install
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+cat >&2 <<EOF
+*
+* Create a PostgreSQL user and database by running /usr/lib/lemmy/db-init.sh.
+* Edit the config at /etc/lemmy/lemmy.hjson, a lot of optional lines can be deleted.
+* Run the lemmy-ui service, and configure pict-rs if you have enabled it in the config.
+*
+EOF
diff --git a/testing/lemmy/lemmy.initd b/testing/lemmy/lemmy.initd
new file mode 100644
index 00000000000..2c0878c2542
--- /dev/null
+++ b/testing/lemmy/lemmy.initd
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+
+name=lemmy
+description="Lemmy Backend"
+
+: ${cfgfile:="/etc/lemmy/lemmy.hjson"}
+export LEMMY_CONFIG_LOCATION="${cfgfile}"
+
+command="/usr/bin/lemmy_server"
+command_background=true
+command_user="lemmy:lemmy"
+pidfile="/run/${RC_SVCNAME}.pid"
+output_log="/var/log/lemmy.log"
+error_log="/var/log/lemmy.err"
+
+required_files="$cfgfile"
+
+depend() {
+ need localmount net
+ after firewall postgresql
+}
+
+start_pre() {
+ checkpath -f -m 0640 -o "root:lemmy" "$cfgfile"
+ checkpath -f -m 0640 -o "$command_user" "$output_log" "$error_log"
+}
diff --git a/testing/lemmy/lemmy.pre-install b/testing/lemmy/lemmy.pre-install
new file mode 100644
index 00000000000..60c82625b6e
--- /dev/null
+++ b/testing/lemmy/lemmy.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S lemmy 2>/dev/null
+adduser -S -D -H \
+ -h /var/empty \
+ -s /sbin/nologin \
+ -G lemmy \
+ -g "Lemmy Backend" \
+ lemmy 2>/dev/null
+
+exit 0
diff --git a/testing/lemonbar/APKBUILD b/testing/lemonbar/APKBUILD
index 2d3cb3f06f8..c6926dcbc90 100644
--- a/testing/lemonbar/APKBUILD
+++ b/testing/lemonbar/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Camille Scholtz <onodera@openmailbox.org>
pkgname=lemonbar
pkgver=1.4
-pkgrel=0
+pkgrel=1
pkgdesc="featherlight, lemon-scented, bar based on xcb"
url="https://github.com/Lemonboy/bar"
arch="all"
@@ -10,7 +10,7 @@ license="MIT"
depends_dev="libxcb-dev"
makedepends="$depends_dev perl"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::http://github.com/LemonBoy/bar/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/LemonBoy/bar/archive/v$pkgver.tar.gz"
builddir="$srcdir"/bar-"$pkgver"
build() {
diff --git a/testing/leocad/APKBUILD b/testing/leocad/APKBUILD
deleted file mode 100644
index 7f94e3958c4..00000000000
--- a/testing/leocad/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: mio <miyopan@e.email>
-# Maintainer: mio <miyopan@e.email>
-pkgname=leocad
-pkgver=21.06
-_libver=20.03
-pkgrel=0
-pkgdesc="CAD application for creating virtual LEGO models"
-url="https://www.leocad.org/"
-license="GPL-2.0-only"
-arch="all"
-makedepends="qt5-qtbase-dev qt5-qttools-dev zlib-dev"
-subpackages="$pkgname-doc"
-source="https://github.com/leozide/leocad/archive/v$pkgver/leocad-v$pkgver.tar.gz
- https://github.com/leozide/leocad/releases/download/v$pkgver/Library-$_libver.zip
- "
-options="!check" # No tests
-
-build() {
- DISABLE_UPDATE_CHECK=1 LDRAW_LIBRARY_PATH=/usr/share/leocad \
- qmake-qt5 leocad.pro
- make
-}
-
-package() {
- INSTALL_ROOT="$pkgdir" make install
- # Install parts library
- mkdir -p "$pkgdir"/usr/share/leocad
- mv "$srcdir"/library.bin "$pkgdir"/usr/share/leocad/
-}
-sha512sums="
-6cc868d3da15f9fe003a70d3a8ebaf2b4e6562a8728652cb7fc9e3ab5ddd9a90c5e433fd4d37cc9f972dc314399b4edb34fe5d9cd47ad63bf7c5d71e04e3c662 leocad-v21.06.tar.gz
-b339a07cb1e9fc5a35f108bba915a0363361b295ba82980550b7b4f82eaa43be45187cb6084cf123c65b52b2d89038c8abab847d0933f6166cac59404dda671a Library-20.03.zip
-"
diff --git a/testing/leptosfmt/APKBUILD b/testing/leptosfmt/APKBUILD
new file mode 100644
index 00000000000..fc43a3c32f4
--- /dev/null
+++ b/testing/leptosfmt/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=leptosfmt
+pkgver=0.1.18
+pkgrel=0
+pkgdesc="A formatter for the leptos view! macro"
+url="https://github.com/bram209/leptosfmt"
+arch="all"
+license="MIT OR Apache-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/bram209/leptosfmt/archive/refs/tags/$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 target/release/leptosfmt "$pkgdir"/usr/bin/leptosfmt
+
+ for l in -APACHE -MIT
+ do
+ install -Dm 644 LICENSE"$l" "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE"$l"
+ done
+}
+
+sha512sums="
+d060878e6c99899143ab8760fa15f618fc6cc99b06250a9c5feefceec64d8fba616c5f82e8533da52880a2f11e2e914c4eebd86b58948cb6ae4e0a4d17f6853a leptosfmt-0.1.18.tar.gz
+"
diff --git a/testing/level-zero/APKBUILD b/testing/level-zero/APKBUILD
new file mode 100644
index 00000000000..b156c930942
--- /dev/null
+++ b/testing/level-zero/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Leon Marz <main@lmarz.org>
+# Maintainer: Leon Marz <main@lmarz.org>
+pkgname=level-zero
+pkgver=1.16.14
+pkgrel=0
+pkgdesc="oneAPI Level Zero Loader"
+url="https://spec.oneapi.com/versions/latest/elements/l0/source/index.html"
+arch="all"
+license="MIT"
+makedepends="cmake samurai"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/oneapi-src/level-zero/archive/v$pkgver.tar.gz"
+options="!check" # no testsuite
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+dev() {
+ default_dev
+ amove 'usr/lib/libze_tracing_layer.so*'
+ amove 'usr/lib/libze_validation_layer.so*'
+}
+
+sha512sums="
+8c80d75909398245c0173a4198748d1a1e469e21a09138f60b314061ff556e7f529807e02c6ec1f3a47f2871e17c24b7be6d363810a25fee11e73b5c97c7c62a level-zero-1.16.14.tar.gz
+"
diff --git a/testing/levmar-dev/APKBUILD b/testing/levmar-dev/APKBUILD
new file mode 100644
index 00000000000..7cf008d59c1
--- /dev/null
+++ b/testing/levmar-dev/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=levmar-dev
+pkgver=2.6
+pkgrel=0
+pkgdesc="Native ANSI C implementations of the Levenberg-Marquardt optimization algorithm"
+url="https://users.ics.forth.gr/~lourakis/levmar/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="cmake"
+depends="lapack-dev blas-dev"
+source="levmar-$pkgver.tar.gz::https://users.ics.forth.gr/~lourakis/levmar/levmar-$pkgver.tgz"
+builddir="$srcdir/levmar-$pkgver"
+
+build() {
+ cmake -B build \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DNEED_F2C:BOOL=false
+ cmake --build build
+}
+
+check() {
+ ./build/lmdemo
+}
+
+package() {
+ install -Dm644 build/liblevmar.a "$pkgdir"/usr/lib/liblevmar.a
+ install -Dm644 levmar.h "$pkgdir"/usr/include/levmar.h
+}
+
+sha512sums="
+5b4c64b63be9b29d6ad2df435af86cd2c2e3216313378561a670ac6a392a51bbf1951e96c6b1afb77c570f23dd8e194017808e46929fec2d8d9a7fe6cf37022b levmar-2.6.tar.gz
+"
diff --git a/testing/lf/APKBUILD b/testing/lf/APKBUILD
deleted file mode 100644
index ba909f571a7..00000000000
--- a/testing/lf/APKBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Miles Alan <m@milesalan.com>
-pkgname=lf
-pkgver=24
-pkgrel=1
-pkgdesc="Terminal filemanager written in Go with vim-style keybindings"
-options="chmod-clean net"
-url="https://github.com/gokcehan/lf"
-license="MIT"
-arch="all"
-makedepends="go"
-subpackages="
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-zsh-completion
- $pkgname-fish-completion
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/gokcehan/lf/archive/r$pkgver.tar.gz"
-builddir="$srcdir/lf-r$pkgver"
-
-export GOPATH="$srcdir"
-export GOCACHE="$srcdir"
-export GOTMPDIR="$srcdir"
-
-build() {
- go build -v -o bin/$pkgname
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm0755 bin/$pkgname -t "$pkgdir"/usr/bin
-
- # Manpages
- install -Dm0644 lf.1 "$pkgdir"/usr/share/man/man1/lf.1
-
- # .desktop file for menus
- install -Dm0644 lf.desktop -t "$pkgdir"/usr/share/applications
-
- # Shell completions
- install -Dm0644 etc/lf.bash "$pkgdir"/usr/share/bash-completion/completions/lf
- install -Dm0644 etc/lf.zsh "$pkgdir"/usr/share/zsh/site-functions/_lf
- install -Dm0644 etc/lf.fish -t "$pkgdir"/usr/share/fish/completions
-}
-
-sha512sums="
-272a007285a189fa92abf0a890277f9788ff1fd68e82ef1db2780d0a77ca97a0e533677f9256f8a055e39b234963e3d5eb8c6341588a2d7976cc1f96f1f3cdf3 lf-24.tar.gz
-"
diff --git a/testing/lfm/APKBUILD b/testing/lfm/APKBUILD
new file mode 100644
index 00000000000..a92b4f1c9a4
--- /dev/null
+++ b/testing/lfm/APKBUILD
@@ -0,0 +1,27 @@
+# Maintainer:
+pkgname=lfm
+pkgver=3.1
+pkgrel=4
+pkgdesc="Last File Manager"
+url="https://inigo.katxi.org/devel/lfm/"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="py3-setuptools"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://inigo.katxi.org/devel/lfm/lfm-$pkgver.tar.gz
+ interp.patch
+ "
+options="!check" # no tests
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+9e6142c0d871fe19b4b82e5333e03de562ca87a7498bd7fb496cca27e0b42c56a33913f2a7eb46439447ab7adb4a87da44bfcc1548101e15703aaa21ec105af8 lfm-3.1.tar.gz
+4db0a0fb905a814e9b46a336a3bec3ca651e0eaa8a382d61702f7366dbef6bd4b111d2fd0fa6d0adac827ff3bd8b5dfc9aa8ab1f6a9bc002920f7b1cf888f3c8 interp.patch
+"
diff --git a/testing/lfm/interp.patch b/testing/lfm/interp.patch
new file mode 100644
index 00000000000..bb28f505181
--- /dev/null
+++ b/testing/lfm/interp.patch
@@ -0,0 +1,10 @@
+diff --git a/lfm/lfm.py b/lfm/lfm.py
+index 3e1aac0..3aaf8b0 100755
+--- a/lfm/lfm.py
++++ b/lfm/lfm.py
+@@ -1,4 +1,4 @@
+-#!/bin/env python3
++#!/usr/bin/env python3
+ # -*- coding: utf-8 -*-
+
+ # Copyright (C) 2001-17 Iñigo Serna
diff --git a/testing/lgogdownloader/APKBUILD b/testing/lgogdownloader/APKBUILD
index c779b7cd2ef..0ec648ee664 100644
--- a/testing/lgogdownloader/APKBUILD
+++ b/testing/lgogdownloader/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: shum <shum@posteo.net>
# Maintainer: shum <shum@posteo.net>
pkgname=lgogdownloader
-pkgver=3.8
-pkgrel=0
+pkgver=3.12
+pkgrel=1
pkgdesc="Open source downloader for GOG.com games"
url="https://github.com/Sude-/lgogdownloader"
arch="all"
license="WTFPL"
options="!check" # no testsuite
-makedepends="help2man cmake boost-dev tinyxml2-dev jsoncpp-dev rhash-dev curl-dev htmlcxx-dev"
+makedepends="help2man cmake boost-dev tinyxml2-dev jsoncpp-dev rhash-dev curl-dev htmlcxx-dev samurai"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/Sude-/lgogdownloader/archive/refs/tags/v$pkgver.tar.gz"
@@ -16,7 +16,7 @@ build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
-28d5ca08c4cd879437a9616df9832ff4962dd41a810eff36cde1746663fc5d26ebd50ecfc56c7ee1cfc38112efa3705af8e868e6382fe85d0c5c3d5b056cc69c lgogdownloader-3.8.tar.gz
+d86d1542f48488f0fd0c880557bd95c0d5c561342690b4c635aebceab73aab9c605bbaaa72715d26b6578657cd2015138a0d3b804059931f3d9f3cac8e05e568 lgogdownloader-3.12.tar.gz
"
diff --git a/testing/lib3mf/APKBUILD b/testing/lib3mf/APKBUILD
deleted file mode 100644
index 9cf73a1bb65..00000000000
--- a/testing/lib3mf/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=lib3mf
-pkgver=1.8.1
-_googletestver=1.8.1
-pkgrel=0
-pkgdesc="A C++ implementation of the 3D Manufacturing Format file standard"
-url="https://github.com/3MFConsortium/lib3mf"
-arch="all"
-license="BSD-2-Clause"
-subpackages="$pkgname-dev"
-makedepends="zlib-dev libzip-dev cmake util-linux-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/3MFConsortium/lib3mf/archive/v$pkgver.tar.gz"
-options="!check" # Unit tests requires source code of googletest, which is git submodule but not included in the release
-
-prepare() {
- default_prepare
- mkdir -p build
-}
-
-build() {
- cd build
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_INCLUDEDIR=include/lib3mf \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DUSE_INCLUDED_ZLIB=OFF \
- -DUSE_INCLUDED_LIBZIP=OFF \
- -DLIB3MF_TESTS=FALSE \
- ..
- make
-}
-
-package() {
- cd build
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="f7fd75bcb6472de1595a018e5add516d0d78ab0aee92462b686b77f8d2bef05270e7b737cb7e1d31fc5850815056e753874c2f9ec456a455e8461c4010fe914a lib3mf-1.8.1.tar.gz"
diff --git a/testing/libabigail/APKBUILD b/testing/libabigail/APKBUILD
new file mode 100644
index 00000000000..2762fa9c364
--- /dev/null
+++ b/testing/libabigail/APKBUILD
@@ -0,0 +1,96 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=libabigail
+pkgver=2.3
+pkgrel=0
+pkgdesc="The ABI Generic Analysis and Instrumentation Library"
+url="https://sourceware.org/libabigail/"
+arch="all"
+license="Apache-2.0 WITH LLVM-exception"
+makedepends="
+ autoconf
+ automake
+ elfutils-dev
+ libtool
+ libxml2-dev
+ musl-fts-dev
+ py3-sphinx
+ "
+checkdepends="
+ bash
+ python3
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-tools
+ $pkgname-doc
+ $pkgname-bash-completion
+ "
+source="https://mirrors.kernel.org/sourceware/libabigail/libabigail-$pkgver.tar.xz
+ musl-fts.patch
+ apk.patch
+ "
+
+prepare() {
+ default_prepare
+
+ autoreconf -fi
+}
+
+build() {
+ # utilities use a bit more stack size than normal
+ export LDFLAGS="$LDFLAGS -Wl,-z,stack-size=512000"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-rpm=no \
+ --enable-rpm415=no \
+ --enable-debug-self-comparison=no \
+ --enable-deb=no \
+ --enable-tar=yes \
+ --enable-apidoc=no \
+ --enable-manual=yes \
+ --enable-bash-completion=yes \
+ --enable-fedabipkgdiff=no \
+ --enable-python3=yes
+ make
+ make -C doc/manuals man
+}
+
+check() {
+ make check check-self-compare || {
+ cat tests/test-suite.log
+ return 1
+ }
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ make -C doc/manuals DESTDIR="$pkgdir" install-man-and-info-doc
+
+ cd bash-completion
+ install -D -m644 -t "$pkgdir"/usr/share/bash-completion/completions/ \
+ abicompat \
+ abidiff \
+ abidw \
+ abilint \
+ abipkgdiff
+
+}
+
+tools() {
+ pkgdesc="$pkgdesc (CLI tools)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/bin
+}
+
+sha512sums="
+fdf0df51e2c262c723c11bef58cd0b89b27e67be196edeb33444fc06e7e61d3c2c227f59cb961aea6fc0c9b7f6f04e08b787a1cbbeb3d5507b968b8ae7630527 libabigail-2.3.tar.xz
+d789a76dfedf9e74c13906aa72da4f9f4113484a98326f662ed9a2badbd29d7fb5e402272bfe24dbdfaf44992ba6a9be3d8ecbdda275910e00cf4f0abaac96e2 musl-fts.patch
+78bdbb2fd285b5dd2ceaac8a3631e433d4f154b6882c09be7117ef4ead35f872a19b33ca21e1c8d738baa78e3784aebd2d25c731b50a8c3c3c47d616dc33b5fd apk.patch
+"
diff --git a/testing/libabigail/apk.patch b/testing/libabigail/apk.patch
new file mode 100644
index 00000000000..cf2a92368ed
--- /dev/null
+++ b/testing/libabigail/apk.patch
@@ -0,0 +1,16 @@
+Detect .apk as tarballs.
+
+This is based on https://github.com/void-linux/void-packages/blob/c4880df0bb88e6e9ba08bd22f2ada592a6e60fc7/srcpkgs/libabigail/patches/xbps.patch.
+
+--- a/src/abg-tools-utils.cc
++++ b/src/abg-tools-utils.cc
+@@ -690,7 +690,8 @@
+ || string_ends_with(file_path, ".tlz")
+ || string_ends_with(file_path, ".tar.Z")
+ || string_ends_with(file_path, ".taz")
+- || string_ends_with(file_path, ".tz"))
++ || string_ends_with(file_path, ".tz")
++ || string_ends_with(file_path, ".apk"))
+ return FILE_TYPE_TAR;
+
+ ifstream in(file_path.c_str(), ifstream::binary);
diff --git a/testing/libabigail/musl-fts.patch b/testing/libabigail/musl-fts.patch
new file mode 100644
index 00000000000..917ee64c388
--- /dev/null
+++ b/testing/libabigail/musl-fts.patch
@@ -0,0 +1,11 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -261,6 +261,6 @@
+
+-dnl On musl, we need to find fts-standalone
++dnl On musl, we need to find musl-fts
+ AS_CASE(
+ [${host_os}], [*-musl*], [
+- PKG_CHECK_MODULES([FTS], [fts-standalone])
++ PKG_CHECK_MODULES([FTS], [musl-fts])
+ ])
diff --git a/testing/libantic/APKBUILD b/testing/libantic/APKBUILD
new file mode 100644
index 00000000000..79ccebf86ec
--- /dev/null
+++ b/testing/libantic/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=libantic
+pkgver=0.2.5
+pkgrel=0
+pkgdesc="Algebraic Number Theory In C"
+url="https://github.com/wbhart/antic"
+arch="all !s390x" # flint-dev
+license="LGPL-2.1-or-later"
+makedepends="
+ cmake
+ flint-dev
+ gmp-dev
+ mpfr-dev
+ samurai
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/wbhart/antic/archive/v$pkgver/antic-$pkgver.tar.gz"
+builddir="$srcdir/antic-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)"
+
+ cmake --build build
+}
+
+check() {
+ ctest -j4 --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+ffcb7f696abf3ae1b6960368bcbb508711cec00f42e8093782de337a8328f66f00f7f0cf2f6069a6b835a8a70282b50642b36a1acfa387b98ded36a85717eec6 libantic-0.2.5.tar.gz
+"
diff --git a/testing/libantlr3c/APKBUILD b/testing/libantlr3c/APKBUILD
index 5066e33aa54..44d317ac5ed 100644
--- a/testing/libantlr3c/APKBUILD
+++ b/testing/libantlr3c/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=libantlr3c
pkgver=3.4
-pkgrel=1
+pkgrel=3
pkgdesc="C runtime for the ANTLR parsing library"
url="https://www.antlr.org/"
arch="all"
@@ -29,6 +29,10 @@ build() {
make
}
+check() {
+ make check
+}
+
package() {
make DESTDIR="$pkgdir" install
}
diff --git a/testing/libarb/APKBUILD b/testing/libarb/APKBUILD
new file mode 100644
index 00000000000..2f5e1662687
--- /dev/null
+++ b/testing/libarb/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libarb
+pkgver=2.23.0
+pkgrel=2
+pkgdesc="Library for rigorous real and complex arithmetic with arbitrary precision"
+url="https://arblib.org"
+# s390x: blocked by flint
+arch="all !s390x"
+license="LGPL-2.1-or-later"
+makedepends="gmp-dev flint-dev mpfr-dev"
+subpackages="$pkgname-static $pkgname-dev"
+source="https://github.com/fredrik-johansson/arb/archive/$pkgver/arb-$pkgver.tar.gz"
+builddir="$srcdir/arb-$pkgver"
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ # Not an autoconf configure!
+ ./configure \
+ --prefix=/usr \
+ CC="$CC" \
+ CXX="$CXX" \
+ CFLAGS="$CFLAGS"
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cd15c1adc1c8a6b7cd7b98f5d32afec3b04f6849998cd8586924a6ebb5fe1a1a6efc250fa7fc1d346b2331daa02a4d07133ee58edeae3cc6684d306c8b78c4ae arb-2.23.0.tar.gz
+"
diff --git a/testing/libaudec/APKBUILD b/testing/libaudec/APKBUILD
new file mode 100644
index 00000000000..533fee679ae
--- /dev/null
+++ b/testing/libaudec/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer:
+pkgname=libaudec
+pkgver=0.3.4
+pkgrel=3
+pkgdesc="lib audio decoder"
+url="https://git.sr.ht/~alextee/libaudec"
+arch="all"
+license="GPL-3.0-or-later"
+depends_dev="$pkgname"
+makedepends="
+ libsamplerate-dev
+ libsndfile-dev
+ meson
+ "
+subpackages="$pkgname-static $pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~alextee/libaudec/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+build() {
+ abuild-meson \
+ -Dtests="$(want_check && echo true || echo false)" \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --print-errorlogs --no-rebuild -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+tools() {
+ pkgdesc="$pkgdesc (tools)"
+
+ amove usr/bin
+}
+
+sha512sums="
+9c50b866e2f0d1897d7a55a83263e74c3a1cf77772a52bd446632c9a92f2ccbbb3e2e1ecfde8b05fc41e59e4d60a57935a656ec8f40b6680fc4bbe201ea045ef libaudec-0.3.4.tar.gz
+"
diff --git a/testing/libbamf/APKBUILD b/testing/libbamf/APKBUILD
new file mode 100644
index 00000000000..65108da8fbd
--- /dev/null
+++ b/testing/libbamf/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: jpdw34 <jpdw34@gmail.com>
+# Maintainer: jpdw34 <jpdw34@gmail.com>
+pkgname=libbamf
+_pkgname=bamf
+pkgver=0.5.6
+_pkgver=0.5
+pkgrel=1
+pkgdesc="Window matching library"
+url="https://launchpad.net/bamf"
+arch="all"
+license="LGPL-2.1-only OR LGPL-3.0-only"
+depends_dev="libwnck3-dev libgtop-dev"
+makedepends="$depends_dev glib-dev py3-lxml"
+subpackages="$pkgname-doc $pkgname-dev"
+source="https://launchpad.net/$_pkgname/$_pkgver/$pkgver/+download/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --infodir=/usr/share/info \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ rm -rf "$pkgdir/usr/lib/systemd" "$pkgdir/usr/share/upstart"
+}
+
+sha512sums="
+cfb2dcc511bc4c30b6ea167d2502784e5e1f3baada24d916842bd0cf8e920b78e3c120157136f818899a899979a648c666d85a54a8573c56edeb8743b7da7601 bamf-0.5.6.tar.gz
+"
diff --git a/testing/libbaseencode/APKBUILD b/testing/libbaseencode/APKBUILD
deleted file mode 100644
index 4e606dde991..00000000000
--- a/testing/libbaseencode/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=libbaseencode
-pkgver=1.0.12
-pkgrel=0
-pkgdesc="Library for encoding decoding data use base32 or base64"
-url="https://github.com/paolostivanin/libbaseencode"
-license="Apache-2.0"
-arch="all"
-makedepends="cmake"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/paolostivanin/libbaseencode/archive/v$pkgver.tar.gz"
-options="!check" # no working testsuite
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-b6a03bf9ceaf843e1bd7c23a42966b2a038e655661c5ff77846c87b12472c2864e1fb44b9747c9c79eeb24efd2d5df07aa27090e40cb0c8dbcec3f9bbebded33 libbaseencode-1.0.12.tar.gz
-"
diff --git a/testing/libblastrampoline/APKBUILD b/testing/libblastrampoline/APKBUILD
new file mode 100644
index 00000000000..7322e5b6d32
--- /dev/null
+++ b/testing/libblastrampoline/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=libblastrampoline
+pkgver=5.2.0
+pkgrel=0
+pkgdesc="Using PLT trampolines to provide a BLAS and LAPACK demuxing library"
+url="https://github.com/JuliaLinearAlgebra/libblastrampoline"
+# x86: TEXTREL
+# others: not supported by upstream
+arch="aarch64 armv7 x86_64"
+license="MIT"
+makedepends="linux-headers"
+subpackages="$pkgname-dev"
+source="https://github.com/JuliaLinearAlgebra/libblastrampoline/archive/v$pkgver/libblastrampoline-$pkgver.tar.gz"
+options="!check" # tests require nightly julia
+
+_arch=$CARCH
+case "$CARCH" in
+ armv7) _arch='arm';;
+esac
+
+build() {
+ make -C src ARCH="$_arch" CFLAGS="${CFLAGS/-Os/}"
+}
+
+package() {
+ make -C src install ARCH="$_arch" prefix="$pkgdir/usr"
+
+ cd "$pkgdir"
+ find usr/include/libblastrampoline/*LP64 \
+ -type d -mindepth 1 ! -name "$_arch*-linux-musl*" ! -name common \
+ -exec rm -vrf {} +
+}
+
+sha512sums="
+543d6d858daea9daadcb6f795e833f59cb27590015f5d4c84f24594ddc8fb51cdd473c93fa2acc9bf331b39aa252a6901a23b2e40655797a0b3106276095c429 libblastrampoline-5.2.0.tar.gz
+"
diff --git a/testing/libbloom/APKBUILD b/testing/libbloom/APKBUILD
index 02e3390729b..cba699b2881 100644
--- a/testing/libbloom/APKBUILD
+++ b/testing/libbloom/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer:
pkgname=libbloom
-pkgver=1.6
-pkgrel=2
+pkgver=2.0
+pkgrel=0
pkgdesc="Simple and small bloom filter in plain C"
url="https://github.com/jvirkki/libbloom"
-arch="all"
+arch="all !armhf !armv7 !x86" # 32-bit not supported
license="BSD-2-Clause"
subpackages="$pkgname-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/jvirkki/libbloom/archive/v$pkgver.tar.gz"
@@ -25,4 +25,6 @@ package() {
ln -s libbloom.so.$pkgver "$pkgdir"/usr/lib/libbloom.so.${pkgver%.*}
}
-sha512sums="3dd4343d68def05800dd6ffc5a05b05d0702a8c0c9f0a397f105d4389c88a7bffa419734aeb4fa4e1a2c418b12a8192fa27ddcbaeee72906450d64cbfd64db15 libbloom-1.6.tar.gz"
+sha512sums="
+68369966d595c550e10ebc5f81d167aafa2878cfb403627ce43f5f9a7805fa0b360f369eacc66d3c96e35da922966a640ec8595399db76f8bbbba24b0d9e3144 libbloom-2.0.tar.gz
+"
diff --git a/testing/libbraiding/APKBUILD b/testing/libbraiding/APKBUILD
new file mode 100644
index 00000000000..ba300db859c
--- /dev/null
+++ b/testing/libbraiding/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libbraiding
+pkgver=1.2
+pkgrel=2
+pkgdesc="Library for computations on braid groups"
+url="https://github.com/miguelmarco/libbraiding"
+arch="all"
+license="GPL-2.0-or-later"
+options="!check" # no test suite
+subpackages="$pkgname-dev"
+source="https://github.com/miguelmarco/libbraiding/releases/download/$pkgver/libbraiding-$pkgver.tar.gz"
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --disable-static
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+f3dcfa77d5313ecfa91c0b9a61988eb2048dd27ed77f46a5c34fc57adb9eee53b250946a7158918b3198559bd016c723dba98465036d01c482b5c6000ab59d8a libbraiding-1.2.tar.gz
+"
diff --git a/testing/libbs2b/APKBUILD b/testing/libbs2b/APKBUILD
deleted file mode 100644
index b7835689401..00000000000
--- a/testing/libbs2b/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=libbs2b
-pkgver=3.1.0
-pkgrel=0
-pkgdesc="Unofficial fork of Bauer stereophonic-to-binaural DSP library"
-url="https://github.com/alexmarsev/libbs2b"
-arch="all"
-license="MIT"
-options="!check" # no testsuite
-makedepends="autoconf automake libsndfile-dev libtool"
-subpackages="$pkgname-dev $pkgname-tools"
-source="https://downloads.sourceforge.net/sourceforge/bs2b/libbs2b-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- # old configure script with now-nonexistent dist-lzma definition
- sed -i 's/dist-lzma//' configure.ac
- autoreconf -fi
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
-
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-tools() {
- pkgdesc="$pkgdesc (tools)"
- amove usr/bin
-}
-
-sha512sums="
-3fba925fb07b28183f3bf3abe31c13915cb8c3fdd2a7c567819ab912a61463fd5769c4644faa3a114bd68ed7cd51d6fbf5304ab83a02f1004ae34fb93a748fbb libbs2b-3.1.0.tar.gz
-"
diff --git a/testing/libcamera/0001-fix-unit-tests-build.patch b/testing/libcamera/0001-fix-unit-tests-build.patch
deleted file mode 100644
index c8906a951c9..00000000000
--- a/testing/libcamera/0001-fix-unit-tests-build.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-diff --git a/test/gstreamer/gstreamer_multi_stream_test.cpp b/test/gstreamer/gstreamer_multi_stream_test.cpp
-index d3d7a9d3..dad01bb0 100644
---- a/test/gstreamer/gstreamer_multi_stream_test.cpp
-+++ b/test/gstreamer/gstreamer_multi_stream_test.cpp
-@@ -80,11 +80,11 @@ protected:
-
- int run() override
- {
-- g_object_set(libcameraSrc_, "camera-name", cameraName_.c_str(), NULL);
-+ g_object_set(libcameraSrc_, "camera-name", cameraName_.c_str(), nullptr);
-
- /* Build the pipeline */
- gst_bin_add_many(GST_BIN(pipeline_), libcameraSrc_,
-- stream0_, stream1_, NULL);
-+ stream0_, stream1_, nullptr);
-
- g_autoptr(GstPad) src_pad = gst_element_get_static_pad(libcameraSrc_, "src");
- g_autoptr(GstPad) request_pad = gst_element_get_request_pad(libcameraSrc_, "src_%u");
-diff --git a/test/gstreamer/gstreamer_single_stream_test.cpp b/test/gstreamer/gstreamer_single_stream_test.cpp
-index a0dd12cf..66a265bf 100644
---- a/test/gstreamer/gstreamer_single_stream_test.cpp
-+++ b/test/gstreamer/gstreamer_single_stream_test.cpp
-@@ -51,7 +51,7 @@ protected:
- int run() override
- {
- /* Build the pipeline */
-- gst_bin_add_many(GST_BIN(pipeline_), libcameraSrc_, stream0_, NULL);
-+ gst_bin_add_many(GST_BIN(pipeline_), libcameraSrc_, stream0_, nullptr);
- if (gst_element_link(libcameraSrc_, stream0_) != TRUE) {
- g_printerr("Elements could not be linked.\n");
- return TestFail;
diff --git a/testing/libcamera/APKBUILD b/testing/libcamera/APKBUILD
deleted file mode 100644
index de2b40da4e2..00000000000
--- a/testing/libcamera/APKBUILD
+++ /dev/null
@@ -1,97 +0,0 @@
-# Contributor: Luca Weiss <luca@z3ntu.xyz>
-# Maintainer: Luca Weiss <luca@z3ntu.xyz>
-pkgname=libcamera
-pkgver=0_git20211109
-pkgrel=1
-_commit="f2a1817275db8fb77acb5f2771b7577be8642194"
-pkgdesc="Linux camera framework"
-url="https://libcamera.org/"
-arch="all"
-license="LGPL-2.1-or-later AND GPL-2.0-or-later"
-depends_dev="
- boost-dev
- eudev-dev
- glib-dev
- gnutls-dev
- gst-plugins-bad-dev
- qt5-qtbase-dev
- "
-# upstream calls 'date' with a non-POSIX option so we pull in coreutils
-makedepends="$depends_dev
- coreutils
- doxygen
- graphviz
- linux-headers
- meson
- py3-jinja2
- py3-ply
- py3-sphinx
- py3-yaml
- qt5-qttools-dev
- "
-subpackages="
- $pkgname-dev
- $pkgname-doc
- qcam
- $pkgname-gstreamer
- $pkgname-v4l2
- $pkgname-raspberrypi
- "
-source="https://dev.alpinelinux.org/archive/libcamera/libcamera-$_commit.tar.gz
- 0001-fix-unit-tests-build.patch
- qcam.desktop
- "
-options="!check" # gstreamer tests fail
-builddir="$srcdir/libcamera"
-
-_disturl="dev.alpinelinux.org:/archive/$pkgname/"
-
-snapshot() {
- clean
- deps
- mkdir -p "$srcdir" && cd "$srcdir"
- git clone https://git.libcamera.org/libcamera/libcamera.git --recursive
- cd libcamera && git checkout $_commit && cd -
- tar czvf $SRCDEST/$pkgname-$_commit.tar.gz libcamera
- rsync --progress -La $SRCDEST/$pkgname-$_commit.tar.gz $_disturl
-}
-
-build() {
- abuild-meson \
- -Dv4l2=true \
- . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -C output --print-errorlogs
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-qcam() {
- amove usr/bin/qcam
-
- install -Dm644 -t "$pkgdir"/usr/share/applications "$srcdir"/qcam.desktop
-}
-
-gstreamer() {
- amove usr/lib/gstreamer-1.0
-}
-
-v4l2() {
- amove usr/lib/v4l2-compat.so
-}
-
-raspberrypi() {
- amove usr/share/libcamera/ipa/raspberrypi
- amove usr/libexec/libcamera/raspberrypi_ipa_proxy
-}
-
-sha512sums="
-a3dd355eee982f8baec1a537ed022b8aabba0c6ea3f31053d70b23a1e92fb8327113c794c77c9a318943f12f46045b779fe736e09514f3663b47443c7396a399 libcamera-f2a1817275db8fb77acb5f2771b7577be8642194.tar.gz
-869447f535f486a3a6d4b49631a628843fe9fd892e7d69df2d3afb9ee5eda43027504364b3abe5aea070a7ddb9bf6b5bb9c10b9aa8a9cbf9c19e4a3da5735b6b 0001-fix-unit-tests-build.patch
-22167a4eceb6d1b40b0b7c45fdf116c71684f5340de7f767535cb8e160ad9d2ae0f00cb3d461f73a344520a48a4641cf46226841d78bee06bfbfd2a91337f754 qcam.desktop
-"
diff --git a/testing/libcamera/qcam.desktop b/testing/libcamera/qcam.desktop
deleted file mode 100644
index c3585419a8a..00000000000
--- a/testing/libcamera/qcam.desktop
+++ /dev/null
@@ -1,8 +0,0 @@
-[Desktop Entry]
-Name=QCam
-GenericName=Camera Demo App
-Comment=Take photos with camera exposed by libcamera
-Exec=qcam
-Type=Application
-Terminal=false
-StartupNotify=true
diff --git a/testing/libcec-rpi/APKBUILD b/testing/libcec-rpi/APKBUILD
index 7c9c575d60c..40dc9477fc6 100644
--- a/testing/libcec-rpi/APKBUILD
+++ b/testing/libcec-rpi/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libcec-rpi
pkgver=6.0.2
-pkgrel=0
+pkgrel=3
pkgdesc="libcec for the Pulse-Eight USB-CEC adapter for the Raspberry Pi"
url="https://github.com/Pulse-Eight/libcec"
arch="armhf armv7 aarch64" # Only Raspberry Pi platforms
@@ -18,15 +18,18 @@ makedepends="$depends_dev
p8-platform-dev
raspberrypi-libs
raspberrypi-dev
+ samurai
"
subpackages="$pkgname-dev py3-$pkgname:py3"
-source="https://github.com/Pulse-Eight/libcec/archive/libcec-$pkgver.tar.gz"
+source="https://github.com/Pulse-Eight/libcec/archive/libcec-$pkgver.tar.gz
+ fix-null-return.patch
+ "
provides="libcec=$pkgver-r$pkgrel"
builddir="$srcdir"/libcec-libcec-$pkgver
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DBUILD_SHARED_LIBS=1 \
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -48,4 +51,7 @@ py3() {
mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
}
-sha512sums="c16ac268e67b01d4e35fad644e5927e1d9fc7bcaeff698ac5f0eadd31ec63a0bef2a2b2bc37860d1571e1e0cdc55911c2de468c661c7c7ae1d492f80188035cb libcec-6.0.2.tar.gz"
+sha512sums="
+c16ac268e67b01d4e35fad644e5927e1d9fc7bcaeff698ac5f0eadd31ec63a0bef2a2b2bc37860d1571e1e0cdc55911c2de468c661c7c7ae1d492f80188035cb libcec-6.0.2.tar.gz
+0aa63e622ecf3d9009efc06db801c7a5558aa30a0543701e2e12bf052a54155240fc2d2bf339aab1af7288c3e85c7edf5087e4de6ce800398fba05897cf6d22f fix-null-return.patch
+"
diff --git a/testing/libcec-rpi/fix-null-return.patch b/testing/libcec-rpi/fix-null-return.patch
new file mode 100644
index 00000000000..5ace754d987
--- /dev/null
+++ b/testing/libcec-rpi/fix-null-return.patch
@@ -0,0 +1,20 @@
+--- a/include/cecloader.h
++++ b/include/cecloader.h
+@@ -172,7 +172,7 @@
+ if (!g_libCEC)
+ {
+ std::cout << dlerror() << std::endl;
+- return NULL;
++ return false;
+ }
+ }
+
+@@ -181,7 +181,7 @@
+ if (!LibCecBootloader)
+ {
+ std::cout << "cannot find CECStartBootloader" << std::endl;
+- return NULL;
++ return false;
+ }
+
+ bool bReturn = LibCecBootloader();
diff --git a/testing/libcork/APKBUILD b/testing/libcork/APKBUILD
index 16c6a2abb59..196146144a2 100644
--- a/testing/libcork/APKBUILD
+++ b/testing/libcork/APKBUILD
@@ -1,35 +1,35 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libcork
pkgver=0.15.0
-pkgrel=1
+pkgrel=7
pkgdesc="Simple, easily embeddable cross-platform C library"
-url="https://github.com/redjack/libcork"
-# FTBFS, perhaps newer 1.x version is working
-#arch="all"
+url="https://github.com/dcreager/libcork"
+arch="all"
license="BSD-3-Clause"
-makedepends="cmake check-dev"
+makedepends="cmake check-dev samurai"
checkdepends="python3"
-subpackages="$pkgname-dev"
+subpackages="$pkgname-dev $pkgname-tools"
source="$pkgname-$pkgver.tar.gz::https://github.com/dcreager/libcork/archive/$pkgver.tar.gz
fix-dumb-script.patch
+ fix-gcc-10.patch
+ no-git.patch
+ format-security.patch
"
prepare() {
default_prepare
- mkdir build
- echo "$pkgver" > RELEASE-VERSION
+ echo "$pkgver" > RELEASE-VERSION
}
build() {
- cd build
- cmake .. \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DENABLE_STATIC=OFF \
-DCMAKE_INSTALL_LIBDIR=lib
- make
+ cmake --build build
}
check() {
@@ -38,9 +38,19 @@ check() {
}
package() {
- cd build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+tools() {
+ pkgdesc="$pkgdesc (tools)"
+
+ amove usr/bin
}
-sha512sums="8f41cce2101b96707068a21e5bd0a43c23f996c3620e7dd36621ed4bdd3f92851a92ea56ed92db40d7d8fe55ddfbdfcdaac4d2c8b2fc6cb3b1abe3b0e74c6a75 libcork-0.15.0.tar.gz
-c80c3edb45e4051b5b3aac4b4980296e54d78bee0410e833278034a9dcdd971f174be01f8420bb94e294bc229e69d13b200679c600ee56920348af94ccd51b45 fix-dumb-script.patch"
+sha512sums="
+8f41cce2101b96707068a21e5bd0a43c23f996c3620e7dd36621ed4bdd3f92851a92ea56ed92db40d7d8fe55ddfbdfcdaac4d2c8b2fc6cb3b1abe3b0e74c6a75 libcork-0.15.0.tar.gz
+c80c3edb45e4051b5b3aac4b4980296e54d78bee0410e833278034a9dcdd971f174be01f8420bb94e294bc229e69d13b200679c600ee56920348af94ccd51b45 fix-dumb-script.patch
+b0ce51a8f63eb8095160dd018f54134988fce7cb18d9fcdce45aae250ea098339aab786509d3bd3bbdd3d71c6cbd459f9ff3950ebeb21a0ea0774d53b3892067 fix-gcc-10.patch
+26d4ae2e433b4c969c6991fa3607956df9732614cd51628d05286907cfed91dbcce418033e266461c0a3fb5671629f5155b50bf1ba56875ed51dc2b497748a2b no-git.patch
+9a2dcc1bb939cbce1401388dd4aa6c4a8cf83c1f0801cb3836beab3feaeab751ddafa1af972b0ff160989e38081bb157925d2502cc837f70204c56366c156728 format-security.patch
+"
diff --git a/testing/libcork/fix-gcc-10.patch b/testing/libcork/fix-gcc-10.patch
new file mode 100644
index 00000000000..5b3d2e9c701
--- /dev/null
+++ b/testing/libcork/fix-gcc-10.patch
@@ -0,0 +1,1182 @@
+From 8d19023cccdf30f17b5c0178eb1bae5284827a18 Mon Sep 17 00:00:00 2001
+From: mochaaP <git@mochaa.ws>
+Date: Sun, 22 May 2022 06:20:22 +0000
+Subject: [PATCH] Fix compilation errors with the recent gcc
+
+Backported <https://github.com/dcreager/libcork/pull/170>
+
+Make the code compile on the recent gcc. The patch
+does following things:
+
+ - Adopt to the new libcheck api. The old ones like
+ fail, fail_if, fail_unless are deprecated and can't
+ compile on the recent gcc.
+ - Other format-string related fixes like unmatched
+ types.
+
+Co-Authored-By: Yujia Qiao <rapiz3142@gmail.com>
+---
+ tests/helpers.h | 10 ++---
+ tests/test-array.c | 14 +++----
+ tests/test-bitset.c | 4 +-
+ tests/test-buffer.c | 18 ++++----
+ tests/test-core.c | 84 ++++++++++++++++++-------------------
+ tests/test-dllist.c | 18 ++++----
+ tests/test-files.c | 4 +-
+ tests/test-hash-table.c | 56 ++++++++++++-------------
+ tests/test-managed-buffer.c | 14 +++----
+ tests/test-mempool.c | 16 +++----
+ tests/test-ring-buffer.c | 64 ++++++++++++++--------------
+ tests/test-slice.c | 28 ++++++-------
+ tests/test-subprocess.c | 2 +-
+ tests/test-threads.c | 18 ++++----
+ 14 files changed, 175 insertions(+), 175 deletions(-)
+
+diff --git a/tests/helpers.h b/tests/helpers.h
+index 16b968b..8be1d40 100644
+--- a/tests/helpers.h
++++ b/tests/helpers.h
+@@ -66,7 +66,7 @@ setup_allocator(void)
+ do { \
+ call; \
+ if (cork_error_occurred()) { \
+- fail("%s", cork_error_message()); \
++ ck_abort_msg(cork_error_message()); \
+ } \
+ } while (0)
+
+@@ -74,7 +74,7 @@ setup_allocator(void)
+ do { \
+ call; \
+ if (!cork_error_occurred()) { \
+- fail(__VA_ARGS__); \
++ ck_abort_msg(__VA_ARGS__); \
+ } else { \
+ print_expected_failure(); \
+ } \
+@@ -82,15 +82,15 @@ setup_allocator(void)
+ } while (0)
+
+ #define fail_unless_equal(what, format, expected, actual) \
+- (fail_unless((expected) == (actual), \
++ (ck_assert_msg((expected) == (actual), \
+ "%s not equal (expected " format \
+ ", got " format ")", \
+ (what), (expected), (actual)))
+
+ #define fail_unless_streq(what, expected, actual) \
+- (fail_unless(strcmp((expected), (actual)) == 0, \
++ (ck_assert_msg(strcmp((expected), (actual)) == 0, \
+ "%s not equal (expected \"%s\", got \"%s\")", \
+ (char *) (what), (char *) (expected), (char *) (actual)))
+
+-
++#define ck_assert_false_msg(expr, ...) ck_assert_msg(!(expr), ## __VA_ARGS__)
+ #endif /* TESTS_HELPERS_H */
+diff --git a/tests/test-array.c b/tests/test-array.c
+index f9c28cf..22998de 100644
+--- a/tests/test-array.c
++++ b/tests/test-array.c
+@@ -25,18 +25,18 @@
+
+ #define add_element(element, expected_new_size) \
+ fail_if_error(cork_array_append(&array, element)); \
+- fail_unless(cork_array_size(&array) == expected_new_size, \
++ ck_assert_msg(cork_array_size(&array) == expected_new_size, \
+ "Unexpected size of array: got %zu, expected %zu", \
+- cork_array_size(&array), expected_new_size);
++ (size_t)cork_array_size(&array), (size_t)expected_new_size);
+
+ #define add_element0(element, expected_new_size, int_type) \
+ do { \
+ int_type *__element; \
+ fail_if_error(__element = cork_array_append_get(&array)); \
+ *__element = element; \
+- fail_unless(cork_array_size(&array) == expected_new_size, \
++ ck_assert_msg(cork_array_size(&array) == expected_new_size, \
+ "Unexpected size of array: got %zu, expected %zu", \
+- cork_array_size(&array), expected_new_size); \
++ (size_t)cork_array_size(&array), (size_t)expected_new_size); \
+ } while (0)
+
+ #define test_sum(array, expected) \
+@@ -46,7 +46,7 @@
+ for (i = 0; i < cork_array_size(array); i++) { \
+ sum += cork_array_at(array, i); \
+ } \
+- fail_unless(sum == expected, \
++ ck_assert_msg(sum == expected, \
+ "Unexpected sum, got %ld, expected %ld", \
+ (long) sum, (long) expected); \
+ } while (0)
+@@ -60,7 +60,7 @@ START_TEST(test_array_##int_type) \
+ cork_array(int_type) copy; \
+ cork_array_init(&array); \
+ \
+- fail_unless(cork_array_size(&array) == 0, \
++ ck_assert_msg(cork_array_size(&array) == 0, \
+ "Unexpected size of array: got %zu, expected 0", \
+ cork_array_size(&array)); \
+ \
+@@ -109,7 +109,7 @@ test_int(int64_t)
+
+ #define add_string(element, expected_new_size) \
+ fail_if_error(cork_string_array_append(&array, element)); \
+- fail_unless(cork_array_size(&array) == expected_new_size, \
++ ck_assert_msg(cork_array_size(&array) == expected_new_size, \
+ "Unexpected size of array: got %zu, expected %zu", \
+ cork_array_size(&array), (size_t) expected_new_size);
+
+diff --git a/tests/test-bitset.c b/tests/test-bitset.c
+index 2476b69..259eb52 100644
+--- a/tests/test-bitset.c
++++ b/tests/test-bitset.c
+@@ -31,12 +31,12 @@ test_bitset_of_size(size_t bit_count)
+
+ for (i = 0; i < bit_count; i++) {
+ cork_bitset_set(set, i, true);
+- fail_unless(cork_bitset_get(set, i), "Unexpected value for bit %zu", i);
++ ck_assert_msg(cork_bitset_get(set, i), "Unexpected value for bit %zu", i);
+ }
+
+ for (i = 0; i < bit_count; i++) {
+ cork_bitset_set(set, i, false);
+- fail_if(cork_bitset_get(set, i), "Unexpected value for bit %zu", i);
++ ck_assert_false_msg(cork_bitset_get(set, i), "Unexpected value for bit %zu", i);
+ }
+
+ cork_bitset_free(set);
+diff --git a/tests/test-buffer.c b/tests/test-buffer.c
+index 517fcb7..db2be85 100644
+--- a/tests/test-buffer.c
++++ b/tests/test-buffer.c
+@@ -29,18 +29,18 @@
+ static void
+ check_buffers(const struct cork_buffer *buf1, const struct cork_buffer *buf2)
+ {
+- fail_unless(cork_buffer_equal(buf1, buf2),
++ ck_assert_msg(cork_buffer_equal(buf1, buf2),
+ "Buffers should be equal: got %zu:%s, expected %zu:%s",
+- buf1->size, buf1->buf, buf2->size, buf2->buf);
++ buf1->size, (char*)buf1->buf, buf2->size, (char*)buf2->buf);
+ }
+
+ static void
+ check_buffer(const struct cork_buffer *buf, const char *expected)
+ {
+ size_t expected_len = strlen(expected);
+- fail_unless(buf->size == expected_len,
++ ck_assert_msg(buf->size == expected_len,
+ "Unexpected buffer content: got %zu:%s, expected %zu:%s",
+- buf->size, buf->buf, expected_len, expected);
++ buf->size, (char*)buf->buf, expected_len, expected);
+ }
+
+ START_TEST(test_buffer)
+@@ -57,11 +57,11 @@ START_TEST(test_buffer)
+ cork_buffer_init(&buffer1);
+ fail_if_error(cork_buffer_set(&buffer1, SRC, SRC_LEN));
+
+- fail_unless(cork_buffer_char(&buffer1, 0) == 'H',
++ ck_assert_msg(cork_buffer_char(&buffer1, 0) == 'H',
+ "Unexpected character at position 0: got %c, expected %c",
+ (int) cork_buffer_char(&buffer1, 0), (int) 'H');
+
+- fail_unless(cork_buffer_byte(&buffer1, 1) == (uint8_t) 'e',
++ ck_assert_msg(cork_buffer_byte(&buffer1, 1) == (uint8_t) 'e',
+ "Unexpected character at position 1: got %c, expected %c",
+ (int) cork_buffer_byte(&buffer1, 1), (int) 'e');
+
+@@ -128,9 +128,9 @@ START_TEST(test_buffer_append)
+ (buffer3, "%s%s%s", SRC2, SRC3, SRC4));
+ check_buffers(&buffer1, buffer3);
+
+- fail_unless(cork_buffer_equal(&buffer1, buffer3),
++ ck_assert_msg(cork_buffer_equal(&buffer1, buffer3),
+ "Buffers should be equal: got %zu:%s, expected %zu:%s",
+- buffer1.size, buffer1.buf, buffer3->size, buffer3->buf);
++ buffer1.size, (char*)buffer1.buf, buffer3->size, (char*)buffer3->buf);
+
+ cork_buffer_done(&buffer1);
+ cork_buffer_done(&buffer2);
+@@ -177,7 +177,7 @@ START_TEST(test_buffer_slicing)
+ fail_if_error(cork_slice_slice_offset_fast(&slice2, 2));
+ fail_if_error(cork_slice_slice_fast(&slice2, 0, 2));
+ fail_if_error(cork_slice_slice(&slice1, 2, 2));
+- fail_unless(cork_slice_equal(&slice1, &slice2), "Slices should be equal");
++ ck_assert_msg(cork_slice_equal(&slice1, &slice2), "Slices should be equal");
+ cork_slice_finish(&slice2);
+
+ cork_slice_finish(&slice1);
+diff --git a/tests/test-core.c b/tests/test-core.c
+index 506ee8c..c3ac39b 100644
+--- a/tests/test-core.c
++++ b/tests/test-core.c
+@@ -38,10 +38,10 @@ START_TEST(test_bool)
+ bool value;
+
+ value = true;
+- fail_unless(value, "Unexpected true value");
++ ck_assert_msg(value, "Unexpected true value");
+
+ value = false;
+- fail_if(value, "Unexpected false value");
++ ck_assert_false_msg(value, "Unexpected false value");
+ }
+ END_TEST
+
+@@ -55,7 +55,7 @@ START_TEST(test_int_types)
+ #define TEST_INT_TYPE(type) \
+ { \
+ type i = 0; \
+- fail_unless(i == 0, "Unexpected value for " #type); \
++ ck_assert_msg(i == 0, "Unexpected value for " #type); \
+ }
+
+ TEST_INT_TYPE(int8_t);
+@@ -85,7 +85,7 @@ START_TEST(test_int_sizeof)
+
+ #define TEST_SIZEOF(TYPE, type) \
+ { \
+- fail_unless(CORK_SIZEOF_##TYPE == sizeof(type), \
++ ck_assert_msg(CORK_SIZEOF_##TYPE == sizeof(type), \
+ "Incorrect size for " #type ": got %zu, expected %zu", \
+ (size_t) CORK_SIZEOF_##TYPE, \
+ (size_t) sizeof(type)); \
+@@ -117,14 +117,14 @@ test_strndup(const char *string, size_t size)
+
+ copy = cork_strndup(string, size);
+ if (memcmp(string, copy, size) != 0) {
+- fail("cork_strndup failed");
++ ck_abort_msg("cork_strndup failed");
+ }
+ cork_strfree(copy);
+
+ copy = cork_xstrndup(string, size);
+- fail_if(copy == NULL, "cork_xstrndup couldn't allocate copy");
++ ck_assert_false_msg(copy == NULL, "cork_xstrndup couldn't allocate copy");
+ if (memcmp(string, copy, size) != 0) {
+- fail("cork_xstrndup failed");
++ ck_abort_msg("cork_xstrndup failed");
+ }
+ cork_strfree(copy);
+ }
+@@ -151,21 +151,21 @@ START_TEST(test_endianness)
+ { { __VA_ARGS__ } }; \
+ \
+ type from_big = CORK_##TYPE##_BIG_TO_HOST(u.val); \
+- fail_unless(from_big == expected, \
++ ck_assert_msg(from_big == expected, \
+ "Unexpected big-to-host " #type " value"); \
+ \
+ type from_big_in_place = u.val; \
+ CORK_##TYPE##_BIG_TO_HOST_IN_PLACE(from_big_in_place); \
+- fail_unless(from_big_in_place == expected, \
++ ck_assert_msg(from_big_in_place == expected, \
+ "Unexpected in-place big-to-host " #type " value"); \
+ \
+ type to_big = CORK_##TYPE##_HOST_TO_BIG(expected); \
+- fail_unless(to_big == u.val, \
++ ck_assert_msg(to_big == u.val, \
+ "Unexpected host-to-big " #type " value"); \
+ \
+ type to_big_in_place = expected; \
+ CORK_##TYPE##_HOST_TO_BIG_IN_PLACE(to_big_in_place); \
+- fail_unless(to_big_in_place == u.val, \
++ ck_assert_msg(to_big_in_place == u.val, \
+ "Unexpected in-place host-to-big " #type " value"); \
+ \
+ int i; \
+@@ -176,21 +176,21 @@ START_TEST(test_endianness)
+ } \
+ \
+ type from_little = CORK_##TYPE##_LITTLE_TO_HOST(u.val); \
+- fail_unless(from_little == expected, \
++ ck_assert_msg(from_little == expected, \
+ "Unexpected little-to-host " #type " value"); \
+ \
+ type from_little_in_place = u.val; \
+ CORK_##TYPE##_LITTLE_TO_HOST_IN_PLACE(from_little_in_place); \
+- fail_unless(from_little_in_place == expected, \
++ ck_assert_msg(from_little_in_place == expected, \
+ "Unexpected in-place little-to-host " #type " value"); \
+ \
+ type to_little = CORK_##TYPE##_HOST_TO_LITTLE(expected); \
+- fail_unless(to_little == u.val, \
++ ck_assert_msg(to_little == u.val, \
+ "Unexpected host-to-little " #type " value"); \
+ \
+ type to_little_in_place = expected; \
+ CORK_##TYPE##_HOST_TO_LITTLE_IN_PLACE(to_little_in_place); \
+- fail_unless(to_little_in_place == u.val, \
++ ck_assert_msg(to_little_in_place == u.val, \
+ "Unexpected in-place host-to-little " #type " value"); \
+ }
+
+@@ -232,7 +232,7 @@ START_TEST(test_system_error)
+ errno = ENOMEM;
+ cork_error_clear();
+ cork_system_error_set();
+- fail_unless(cork_error_code() == ENOMEM,
++ ck_assert_msg(cork_error_code() == ENOMEM,
+ "Expected a system error");
+ printf("Got error: %s\n", cork_error_message());
+ cork_error_clear();
+@@ -245,7 +245,7 @@ END_TEST
+ */
+
+ #define test_hash_func(func, expected, ...) \
+- fail_unless(func(0, __VA_ARGS__) == expected, \
++ ck_assert_msg(func(0, __VA_ARGS__) == expected, \
+ "Unexpected hash value 0x%08" PRIx32 \
+ " (expected 0x%08" PRIx32 ")", \
+ func(0, __VA_ARGS__), expected);
+@@ -288,7 +288,7 @@ END_TEST
+ cork_big_hash seed = CORK_BIG_HASH_INIT(); \
+ cork_big_hash expected = {cork_u128_from_64(e1, e2)}; \
+ cork_big_hash actual = cork_big_hash_buffer(seed, buf, len); \
+- fail_unless(cork_big_hash_equal(actual, expected), \
++ ck_assert_msg(cork_big_hash_equal(actual, expected), \
+ "\nUnexpected hash value 0x%016" PRIx64 ".%016" PRIx64 \
+ "\n (expected 0x%016" PRIx64 ".%016" PRIx64 ")", \
+ cork_u128_be64(actual.u128, 0), \
+@@ -467,14 +467,14 @@ START_TEST(test_ipv4_address)
+ fail_if_error(cork_ipv4_init(&addr, str)); \
+ char actual[CORK_IPV4_STRING_LENGTH]; \
+ cork_ipv4_to_raw_string(&addr, actual); \
+- fail_unless(strcmp(actual, normalized) == 0, \
++ ck_assert_msg(strcmp(actual, normalized) == 0, \
+ "Unexpected string representation: " \
+ "got \"%s\", expected \"%s\"", \
+ actual, normalized); \
+ \
+ struct cork_ipv4 addr2; \
+ cork_ipv4_init(&addr2, normalized); \
+- fail_unless(cork_ipv4_equal(&addr, &addr2), \
++ ck_assert_msg(cork_ipv4_equal(&addr, &addr2), \
+ "IPv4 instances should be equal"); \
+ }
+
+@@ -500,13 +500,13 @@ START_TEST(test_ipv4_address)
+
+ fprintf(stderr, "Testing network prefixes\n");
+ cork_ipv4_init(&addr4, "1.2.3.4");
+- fail_unless(cork_ipv4_is_valid_network(&addr4, ipv4_cidr_good),
++ ck_assert_msg(cork_ipv4_is_valid_network(&addr4, ipv4_cidr_good),
+ "Bad CIDR block for 1.2.3.4 and %u",
+ ipv4_cidr_good);
+- fail_if(cork_ipv4_is_valid_network(&addr4, ipv4_cidr_bad_value),
++ ck_assert_false_msg(cork_ipv4_is_valid_network(&addr4, ipv4_cidr_bad_value),
+ "IPv4 CIDR check should fail for %u",
+ ipv4_cidr_bad_value);
+- fail_if(cork_ipv4_is_valid_network(&addr4, ipv4_cidr_bad_range),
++ ck_assert_false_msg(cork_ipv4_is_valid_network(&addr4, ipv4_cidr_bad_range),
+ "IPv4 CIDR check should fail for %u",
+ ipv4_cidr_bad_range);
+ }
+@@ -523,14 +523,14 @@ START_TEST(test_ipv6_address)
+ fail_if_error(cork_ipv6_init(&addr, str)); \
+ char actual[CORK_IPV6_STRING_LENGTH]; \
+ cork_ipv6_to_raw_string(&addr, actual); \
+- fail_unless(strcmp(actual, normalized) == 0, \
++ ck_assert_msg(strcmp(actual, normalized) == 0, \
+ "Unexpected string representation: " \
+ "got \"%s\", expected \"%s\"", \
+ actual, normalized); \
+ \
+ struct cork_ipv6 addr2; \
+ cork_ipv6_init(&addr2, normalized); \
+- fail_unless(cork_ipv6_equal(&addr, &addr2), \
++ ck_assert_msg(cork_ipv6_equal(&addr, &addr2), \
+ "IPv6 instances should be equal"); \
+ }
+
+@@ -556,13 +556,13 @@ START_TEST(test_ipv6_address)
+
+ fprintf(stderr, "Testing network prefixes\n");
+ cork_ipv6_init(&addr6, "fe80::200:f8ff:fe21:6000");
+- fail_unless(cork_ipv6_is_valid_network(&addr6, ipv6_cidr_good),
++ ck_assert_msg(cork_ipv6_is_valid_network(&addr6, ipv6_cidr_good),
+ "Bad CIDR block %u",
+ ipv6_cidr_good);
+- fail_if(cork_ipv6_is_valid_network(&addr6, ipv6_cidr_bad_value),
++ ck_assert_false_msg(cork_ipv6_is_valid_network(&addr6, ipv6_cidr_bad_value),
+ "IPv6 CIDR check should fail for %u",
+ ipv6_cidr_bad_value);
+- fail_if(cork_ipv6_is_valid_network(&addr6, ipv6_cidr_bad_range),
++ ck_assert_false_msg(cork_ipv6_is_valid_network(&addr6, ipv6_cidr_bad_range),
+ "IPv6 CIDR check should fail for %u",
+ ipv6_cidr_bad_range);
+ }
+@@ -580,14 +580,14 @@ START_TEST(test_ip_address)
+ fail_if_error(cork_ip_init(&addr, str)); \
+ char actual[CORK_IP_STRING_LENGTH]; \
+ cork_ip_to_raw_string(&addr, actual); \
+- fail_unless(strcmp(actual, normalized) == 0, \
++ ck_assert_msg(strcmp(actual, normalized) == 0, \
+ "Unexpected string representation: " \
+ "got \"%s\", expected \"%s\"", \
+ actual, normalized); \
+ \
+ struct cork_ip addr2; \
+ cork_ip_init(&addr2, normalized); \
+- fail_unless(cork_ip_equal(&addr, &addr2), \
++ ck_assert_msg(cork_ip_equal(&addr, &addr2), \
+ "IP instances should be equal"); \
+ }
+
+@@ -612,18 +612,18 @@ START_TEST(test_ip_address)
+ fprintf(stderr, "Testing IP address versions\n");
+ cork_ip_init(&addr, "192.168.1.1");
+ cork_ipv4_init(&addr4, "192.168.1.1");
+- fail_unless(addr.version == 4,
++ ck_assert_msg(addr.version == 4,
+ "Unexpected IP address version (expected 4, got %u)",
+ addr.version);
+- fail_unless(cork_ipv4_equal(&addr.ip.v4, &addr4),
++ ck_assert_msg(cork_ipv4_equal(&addr.ip.v4, &addr4),
+ "IP addresses should be equal");
+
+ cork_ip_init(&addr, "fe80::1");
+ cork_ipv6_init(&addr6, "fe80::1");
+- fail_unless(addr.version == 6,
++ ck_assert_msg(addr.version == 6,
+ "Unexpected IP address version (expected 6, got %u)",
+ addr.version);
+- fail_unless(cork_ipv6_equal(&addr.ip.v6, &addr6),
++ ck_assert_msg(cork_ipv6_equal(&addr.ip.v6, &addr6),
+ "IP addresses should be equal");
+ }
+ END_TEST
+@@ -637,7 +637,7 @@ static void
+ test_timestamp_bad_format(cork_timestamp ts, const char *format)
+ {
+ struct cork_buffer buf = CORK_BUFFER_INIT();
+- fail_unless_error(cork_timestamp_format_utc(ts, format, &buf));
++ fail_unless_error(cork_timestamp_format_utc(ts, format, &buf), "Error in cork_timestamp_format_utc");
+ cork_buffer_done(&buf);
+ }
+
+@@ -647,7 +647,7 @@ test_timestamp_utc_format(cork_timestamp ts, const char *format,
+ {
+ struct cork_buffer buf = CORK_BUFFER_INIT();
+ fail_if_error(cork_timestamp_format_utc(ts, format, &buf));
+- fail_unless(strcmp(buf.buf, expected) == 0,
++ ck_assert_msg(strcmp(buf.buf, expected) == 0,
+ "Unexpected formatted UTC time "
+ "(got \"%s\", expected \"%s\")",
+ (char *) buf.buf, expected);
+@@ -660,7 +660,7 @@ test_timestamp_local_format(cork_timestamp ts, const char *format,
+ {
+ struct cork_buffer buf = CORK_BUFFER_INIT();
+ fail_if_error(cork_timestamp_format_local(ts, format, &buf));
+- fail_unless(strcmp(buf.buf, expected) == 0,
++ ck_assert_msg(strcmp(buf.buf, expected) == 0,
+ "Unexpected formatted local time "
+ "(got \"%s\", expected \"%s\")",
+ (char *) buf.buf, expected);
+@@ -691,7 +691,7 @@ START_TEST(test_timestamp)
+ DESCRIBE_TEST;
+
+ #define test(unit, expected) \
+- fail_unless(cork_timestamp_##unit(ts) == expected, \
++ ck_assert_msg(cork_timestamp_##unit(ts) == expected, \
+ "Unexpected " #unit " portion of timestamp " \
+ "(got %lu, expected %lu)", \
+ (unsigned long) cork_timestamp_##unit(ts), \
+@@ -958,7 +958,7 @@ END_TEST
+ #define test_u128_cmp(op, op_str, v1, v2, expected) \
+ do { \
+ bool actual = cork_u128_##op((v1), (v2)); \
+- fail_unless(actual == (expected), \
++ ck_assert_msg(actual == (expected), \
+ "%" PRIu64 ":%" PRIu64 \
+ " should %sbe " op_str " " \
+ "%" PRIu64 ":%" PRIu64, \
+@@ -1060,15 +1060,15 @@ START_TEST(test_uid)
+
+ id1 = test_id_01;
+ id2 = test_id_02;
+- fail_if(cork_uid_equal(id1, id2), "Unique IDs aren't unique");
++ ck_assert_false_msg(cork_uid_equal(id1, id2), "Unique IDs aren't unique");
+
+ id1 = test_id_01;
+ id2 = test_id_01;
+- fail_unless(cork_uid_equal(id1, id2), "Unique ID isn't equal to itself");
++ ck_assert_msg(cork_uid_equal(id1, id2), "Unique ID isn't equal to itself");
+
+ id1 = test_id_01;
+ id2 = CORK_UID_NONE;
+- fail_if(cork_uid_equal(id1, id2), "NULL unique ID isn't unique");
++ ck_assert_false_msg(cork_uid_equal(id1, id2), "NULL unique ID isn't unique");
+ }
+ END_TEST
+
+diff --git a/tests/test-dllist.c b/tests/test-dllist.c
+index fd1dfb7..72f4c58 100644
+--- a/tests/test-dllist.c
++++ b/tests/test-dllist.c
+@@ -72,37 +72,37 @@ START_TEST(test_dllist)
+ int64_t sum;
+
+ cork_dllist_init(&list);
+- fail_unless(cork_dllist_size(&list) == 0,
++ ck_assert_msg(cork_dllist_size(&list) == 0,
+ "Unexpected size of list: got %zu, expected 0",
+ cork_dllist_size(&list));
+- fail_unless(cork_dllist_is_empty(&list),
++ ck_assert_msg(cork_dllist_is_empty(&list),
+ "Expected empty list");
+ check_int64_list(&list, "");
+
+ item1.value = 1;
+ cork_dllist_add(&list, &item1.element);
+- fail_unless(cork_dllist_size(&list) == 1,
++ ck_assert_msg(cork_dllist_size(&list) == 1,
+ "Unexpected size of list: got %zu, expected 1",
+ cork_dllist_size(&list));
+ check_int64_list(&list, "1");
+
+ item2.value = 2;
+ cork_dllist_add(&list, &item2.element);
+- fail_unless(cork_dllist_size(&list) == 2,
++ ck_assert_msg(cork_dllist_size(&list) == 2,
+ "Unexpected size of list: got %zu, expected 2",
+ cork_dllist_size(&list));
+ check_int64_list(&list, "1,2");
+
+ item3.value = 3;
+ cork_dllist_add(&list, &item3.element);
+- fail_unless(cork_dllist_size(&list) == 3,
++ ck_assert_msg(cork_dllist_size(&list) == 3,
+ "Unexpected size of list: got %zu, expected 3",
+ cork_dllist_size(&list));
+ check_int64_list(&list, "1,2,3");
+
+ sum = 0;
+- fail_if(cork_dllist_visit(&list, &sum, int64_sum));
+- fail_unless(sum == 6,
++ ck_assert(!cork_dllist_visit(&list, &sum, int64_sum));
++ ck_assert_msg(sum == 6,
+ "Unexpected sum, got %ld, expected 6",
+ (long) sum);
+
+@@ -110,12 +110,12 @@ START_TEST(test_dllist)
+ cork_dllist_foreach(&list, curr, next, struct int64_item, item, element) {
+ sum += item->value;
+ }
+- fail_unless(sum == 6,
++ ck_assert_msg(sum == 6,
+ "Unexpected sum, got %ld, expected 6",
+ (long) sum);
+
+ cork_dllist_remove(&item2.element);
+- fail_unless(cork_dllist_size(&list) == 2,
++ ck_assert_msg(cork_dllist_size(&list) == 2,
+ "Unexpected size of list: got %zu, expected 2",
+ cork_dllist_size(&list));
+ }
+diff --git a/tests/test-files.c b/tests/test-files.c
+index ed76615..ce2858b 100644
+--- a/tests/test-files.c
++++ b/tests/test-files.c
+@@ -31,7 +31,7 @@ static const char *program_path;
+ void
+ verify_path_content(struct cork_path *path, const char *expected)
+ {
+- fail_if(cork_path_get(path) == NULL, "Path should not have NULL content");
++ ck_assert_false_msg(cork_path_get(path) == NULL, "Path should not have NULL content");
+ fail_unless_streq("Paths", expected, cork_path_get(path));
+ }
+
+@@ -357,7 +357,7 @@ test_file_exists(const char *filename, bool expected)
+ cork_path_append(path, filename);
+ file = cork_file_new_from_path(path);
+ fail_if_error(cork_file_exists(file, &actual));
+- fail_unless(actual == expected, "File %s should%s exist",
++ ck_assert_msg(actual == expected, "File %s should%s exist",
+ cork_path_get(path), expected? "": " not");
+ cork_file_free(file);
+ }
+diff --git a/tests/test-hash-table.c b/tests/test-hash-table.c
+index f6baf74..6605d37 100644
+--- a/tests/test-hash-table.c
++++ b/tests/test-hash-table.c
+@@ -68,7 +68,7 @@ test_map_sum(struct cork_hash_table *table, uint64_t expected)
+ {
+ uint64_t sum = 0;
+ cork_hash_table_map(table, &sum, uint64_sum);
+- fail_unless(sum == expected,
++ ck_assert_msg(sum == expected,
+ "Unexpected map sum, got %" PRIu64
+ ", expected %" PRIu64,
+ sum, expected);
+@@ -85,7 +85,7 @@ test_iterator_sum(struct cork_hash_table *table, uint64_t expected)
+ uint64_t *value_ptr = entry->value;
+ sum += *value_ptr;
+ }
+- fail_unless(sum == expected,
++ ck_assert_msg(sum == expected,
+ "Unexpected iterator sum, got %" PRIu64
+ ", expected %" PRIu64 "",
+ sum, expected);
+@@ -150,11 +150,11 @@ START_TEST(test_uint64_hash_table)
+ cork_hash_table_set_equals(table, uint64__equals);
+ cork_hash_table_set_free_key(table, uint64__free);
+ cork_hash_table_set_free_value(table, uint64__free);
+- fail_unless(cork_hash_table_size(table) == 0,
++ ck_assert_msg(cork_hash_table_size(table) == 0,
+ "Hash table should start empty");
+
+ key = 0;
+- fail_unless(cork_hash_table_get(table, &key) == NULL,
++ ck_assert_msg(cork_hash_table_get(table, &key) == NULL,
+ "Shouldn't get value pointer from empty hash table");
+
+ test_map_sum(table, 0);
+@@ -169,32 +169,32 @@ START_TEST(test_uint64_hash_table)
+ fail_if_error(cork_hash_table_put
+ (table, key_ptr, value_ptr,
+ &is_new, &v_key, &v_value));
+- fail_unless(is_new, "Couldn't append {0=>32} to hash table");
++ ck_assert_msg(is_new, "Couldn't append {0=>32} to hash table");
+ old_key = v_key;
+ old_value = v_value;
+
+- fail_unless(old_key == NULL,
++ ck_assert_msg(old_key == NULL,
+ "Unexpected previous key");
+- fail_unless(old_value == NULL,
++ ck_assert_msg(old_value == NULL,
+ "Unexpected previous value");
+
+- fail_unless(cork_hash_table_size(table) == 1,
++ ck_assert_msg(cork_hash_table_size(table) == 1,
+ "Unexpected size after adding {0->32}");
+
+ fail_if_error(entry = cork_hash_table_get_or_create
+ (table, &key, &is_new));
+- fail_if(is_new, "Shouldn't create new {0=>X} entry");
++ ck_assert_false_msg(is_new, "Shouldn't create new {0=>X} entry");
+ value_ptr = entry->value;
+- fail_unless(*value_ptr == 32,
++ ck_assert_msg(*value_ptr == 32,
+ "Unexpected value for {0=>X} entry");
+
+- fail_unless(cork_hash_table_size(table) == 1,
++ ck_assert_msg(cork_hash_table_size(table) == 1,
+ "Unexpected size after retrieving {0->32}");
+
+ key = 1;
+ fail_if_error(entry = cork_hash_table_get_or_create
+ (table, &key, &is_new));
+- fail_unless(is_new, "Should create new {1=>X} entry");
++ ck_assert_msg(is_new, "Should create new {1=>X} entry");
+ key_ptr = cork_new(uint64_t);
+ *key_ptr = key;
+ entry->key = key_ptr;
+@@ -202,7 +202,7 @@ START_TEST(test_uint64_hash_table)
+ *value_ptr = 2;
+ entry->value = value_ptr;
+
+- fail_unless(cork_hash_table_size(table) == 2,
++ ck_assert_msg(cork_hash_table_size(table) == 2,
+ "Unexpected size after adding {1=>2}");
+
+ test_map_sum(table, 34);
+@@ -211,22 +211,22 @@ START_TEST(test_uint64_hash_table)
+ test_iterator_to_string(table, "[0:32, 1:2]");
+
+ key = 0;
+- fail_unless(cork_hash_table_delete(table, &key, NULL, NULL),
++ ck_assert_msg(cork_hash_table_delete(table, &key, NULL, NULL),
+ "Couldn't delete {0=>32}");
+
+- fail_unless(cork_hash_table_size(table) == 1,
++ ck_assert_msg(cork_hash_table_size(table) == 1,
+ "Unexpected size after deleting entry");
+
+ test_map_to_string(table, "[1:2]");
+ test_iterator_to_string(table, "[1:2]");
+
+ key = 3;
+- fail_if(cork_hash_table_delete(table, &key, NULL, NULL),
++ ck_assert_false_msg(cork_hash_table_delete(table, &key, NULL, NULL),
+ "Shouldn't be able to delete nonexistent {3=>X}");
+
+ cork_hash_table_delete_entry(table, entry);
+
+- fail_unless(cork_hash_table_size(table) == 0,
++ ck_assert_msg(cork_hash_table_size(table) == 0,
+ "Unexpected size after deleting last entry");
+
+ /*
+@@ -241,7 +241,7 @@ START_TEST(test_uint64_hash_table)
+ fail_if_error(cork_hash_table_put
+ (table, key_ptr, value_ptr,
+ &is_new, &v_key, &v_value));
+- fail_unless(is_new, "Couldn't append {0=>32} to hash table");
++ ck_assert_msg(is_new, "Couldn't append {0=>32} to hash table");
+ old_key = v_key;
+ old_value = v_value;
+
+@@ -252,12 +252,12 @@ START_TEST(test_uint64_hash_table)
+ fail_if_error(cork_hash_table_put
+ (table, key_ptr, value_ptr,
+ &is_new, &v_key, &v_value));
+- fail_unless(is_new, "Couldn't append {1=>2} to hash table");
++ ck_assert_msg(is_new, "Couldn't append {1=>2} to hash table");
+ old_key = v_key;
+ old_value = v_value;
+
+ cork_hash_table_clear(table);
+- fail_unless(cork_hash_table_size(table) == 0,
++ ck_assert_msg(cork_hash_table_size(table) == 0,
+ "Unexpected size after deleting entries using map");
+
+ /* And we're done, so let's free everything. */
+@@ -280,18 +280,18 @@ START_TEST(test_string_hash_table)
+
+ fail_if_error(cork_hash_table_put
+ (table, "key1", (void *) (uintptr_t) 1, NULL, NULL, NULL));
+- fail_unless(cork_hash_table_size(table) == 1,
++ ck_assert_msg(cork_hash_table_size(table) == 1,
+ "Unexpected size after adding {key1->1}");
+
+ strncpy(key, "key1", sizeof(key));
+- fail_if((value = cork_hash_table_get(table, key)) == NULL,
++ ck_assert_false_msg((value = cork_hash_table_get(table, key)) == NULL,
+ "No entry for key1");
+
+- fail_unless(value == (void *) (uintptr_t) 1,
++ ck_assert_msg(value == (void *) (uintptr_t) 1,
+ "Unexpected value for key1");
+
+ strncpy(key, "key2", sizeof(key));
+- fail_unless((value = cork_hash_table_get(table, key)) == NULL,
++ ck_assert_msg((value = cork_hash_table_get(table, key)) == NULL,
+ "Unexpected entry for key2");
+
+ cork_hash_table_free(table);
+@@ -314,16 +314,16 @@ START_TEST(test_pointer_hash_table)
+
+ fail_if_error(cork_hash_table_put
+ (table, &key1, (void *) (uintptr_t) 1, NULL, NULL, NULL));
+- fail_unless(cork_hash_table_size(table) == 1,
++ ck_assert_msg(cork_hash_table_size(table) == 1,
+ "Unexpected size after adding {key1->1}");
+
+- fail_if((value = cork_hash_table_get(table, &key1)) == NULL,
++ ck_assert_false_msg((value = cork_hash_table_get(table, &key1)) == NULL,
+ "No entry for key1");
+
+- fail_unless(value == (void *) (uintptr_t) 1,
++ ck_assert_msg(value == (void *) (uintptr_t) 1,
+ "Unexpected value for key1");
+
+- fail_unless((value = cork_hash_table_get(table, &key2)) == NULL,
++ ck_assert_msg((value = cork_hash_table_get(table, &key2)) == NULL,
+ "Unexpected entry for key2");
+
+ cork_hash_table_free(table);
+diff --git a/tests/test-managed-buffer.c b/tests/test-managed-buffer.c
+index 9223218..25afc7d 100644
+--- a/tests/test-managed-buffer.c
++++ b/tests/test-managed-buffer.c
+@@ -81,7 +81,7 @@ START_TEST(test_managed_buffer_refcount)
+ cork_managed_buffer_unref(pb2);
+ cork_managed_buffer_unref(pb3);
+
+- fail_unless(flag,
++ ck_assert_msg(flag,
+ "Managed buffer free function never called.");
+ }
+ END_TEST
+@@ -108,7 +108,7 @@ START_TEST(test_managed_buffer_bad_refcount)
+ /* cork_managed_buffer_unref(pb3); OH NO! */
+ (void) pb3;
+
+- fail_if(flag,
++ ck_assert_false_msg(flag,
+ "Managed buffer free function was called unexpectedly.");
+
+ /* free the buffer here to quiet valgrind */
+@@ -176,7 +176,7 @@ START_TEST(test_slice_refcount)
+ cork_slice_finish(&ps2);
+ cork_slice_finish(&ps3);
+
+- fail_unless(flag,
++ ck_assert_msg(flag,
+ "Managed buffer free function never called.");
+ }
+ END_TEST
+@@ -211,7 +211,7 @@ START_TEST(test_slice_bad_refcount)
+ cork_slice_finish(&ps2);
+ /* cork_slice_finish(&ps3); OH NO! */
+
+- fail_if(flag,
++ ck_assert_false_msg(flag,
+ "Managed buffer free function was called unexpectedly.");
+
+ /* free the slice here to quiet valgrind */
+@@ -244,7 +244,7 @@ START_TEST(test_slice_equals_01)
+ fail_if_error(cork_managed_buffer_slice_offset(&ps1, pb, 0));
+ fail_if_error(cork_managed_buffer_slice(&ps2, pb, 0, LEN));
+
+- fail_unless(cork_slice_equal(&ps1, &ps2),
++ ck_assert_msg(cork_slice_equal(&ps1, &ps2),
+ "Slices aren't equal");
+
+ cork_managed_buffer_unref(pb);
+@@ -278,9 +278,9 @@ START_TEST(test_slice_equals_02)
+ fail_if_error(cork_slice_copy(&ps3, &ps2, 2, 3));
+ fail_if_error(cork_slice_slice(&ps2, 2, 3));
+
+- fail_unless(cork_slice_equal(&ps1, &ps2),
++ ck_assert_msg(cork_slice_equal(&ps1, &ps2),
+ "Slices aren't equal");
+- fail_unless(cork_slice_equal(&ps1, &ps3),
++ ck_assert_msg(cork_slice_equal(&ps1, &ps3),
+ "Slices aren't equal");
+
+ cork_managed_buffer_unref(pb);
+diff --git a/tests/test-mempool.c b/tests/test-mempool.c
+index f6675af..8b3e4bb 100644
+--- a/tests/test-mempool.c
++++ b/tests/test-mempool.c
+@@ -36,7 +36,7 @@ START_TEST(test_mempool_01)
+ size_t i;
+ int64_t *objects[OBJECT_COUNT];
+ for (i = 0; i < OBJECT_COUNT; i++) {
+- fail_if((objects[i] = cork_mempool_new_object(mp)) == NULL,
++ ck_assert_false_msg((objects[i] = cork_mempool_new_object(mp)) == NULL,
+ "Cannot allocate object #%zu", i);
+ }
+
+@@ -45,7 +45,7 @@ START_TEST(test_mempool_01)
+ }
+
+ for (i = 0; i < OBJECT_COUNT; i++) {
+- fail_if((objects[i] = cork_mempool_new_object(mp)) == NULL,
++ ck_assert_false_msg((objects[i] = cork_mempool_new_object(mp)) == NULL,
+ "Cannot reallocate object #%zu", i);
+ }
+
+@@ -64,7 +64,7 @@ START_TEST(test_mempool_fail_01)
+ mp = cork_mempool_new(int64_t);
+
+ int64_t *obj;
+- fail_if((obj = cork_mempool_new_object(mp)) == NULL,
++ ck_assert_false_msg((obj = cork_mempool_new_object(mp)) == NULL,
+ "Cannot allocate object");
+
+ /* This should raise an assertion since we never freed obj. */
+@@ -105,25 +105,25 @@ START_TEST(test_mempool_reuse_01)
+ cork_mempool_set_done_object(mp, int64_done);
+
+ int64_t *obj;
+- fail_if((obj = cork_mempool_new_object(mp)) == NULL,
++ ck_assert_false_msg((obj = cork_mempool_new_object(mp)) == NULL,
+ "Cannot allocate object");
+
+ /* The init_object function sets the value to 12 */
+- fail_unless(*obj == 12, "Unexpected value %" PRId64, *obj);
++ ck_assert_msg(*obj == 12, "Unexpected value %" PRId64, *obj);
+
+ /* Set the value to something new, free the object, then reallocate.
+ * Since we know memory pools are LIFO, we should get back the same
+ * object, unchanged. */
+ *obj = 42;
+ cork_mempool_free_object(mp, obj);
+- fail_if((obj = cork_mempool_new_object(mp)) == NULL,
++ ck_assert_false_msg((obj = cork_mempool_new_object(mp)) == NULL,
+ "Cannot allocate object");
+- fail_unless(*obj == 42, "Unexpected value %" PRId64, *obj);
++ ck_assert_msg(*obj == 42, "Unexpected value %" PRId64, *obj);
+
+ cork_mempool_free_object(mp, obj);
+ cork_mempool_free(mp);
+
+- fail_unless(done_call_count ==
++ ck_assert_msg(done_call_count ==
+ OBJECTS_PER_BLOCK(BLOCK_SIZE, sizeof(int64_t)),
+ "done_object called an unexpected number of times: %zu",
+ done_call_count);
+diff --git a/tests/test-ring-buffer.c b/tests/test-ring-buffer.c
+index 3208834..2f2c2ea 100644
+--- a/tests/test-ring-buffer.c
++++ b/tests/test-ring-buffer.c
+@@ -28,40 +28,40 @@ START_TEST(test_ring_buffer_1)
+ struct cork_ring_buffer buf;
+ cork_ring_buffer_init(&buf, 4);
+
+- fail_unless(cork_ring_buffer_add(&buf, (void *) 1) == 0,
++ ck_assert_msg(cork_ring_buffer_add(&buf, (void *) 1) == 0,
+ "Cannot add to ring buffer");
+- fail_unless(cork_ring_buffer_add(&buf, (void *) 2) == 0,
++ ck_assert_msg(cork_ring_buffer_add(&buf, (void *) 2) == 0,
+ "Cannot add to ring buffer");
+- fail_unless(cork_ring_buffer_add(&buf, (void *) 3) == 0,
++ ck_assert_msg(cork_ring_buffer_add(&buf, (void *) 3) == 0,
+ "Cannot add to ring buffer");
+- fail_unless(cork_ring_buffer_add(&buf, (void *) 4) == 0,
++ ck_assert_msg(cork_ring_buffer_add(&buf, (void *) 4) == 0,
+ "Cannot add to ring buffer");
+- fail_if(cork_ring_buffer_add(&buf, (void *) 5) == 0,
++ ck_assert_false_msg(cork_ring_buffer_add(&buf, (void *) 5) == 0,
+ "Shouldn't be able to add to ring buffer");
+
+- fail_unless(((intptr_t) cork_ring_buffer_peek(&buf)) == 1,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_peek(&buf)) == 1,
+ "Unexpected head of ring buffer (peek)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(&buf)) == 1,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(&buf)) == 1,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(&buf)) == 2,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(&buf)) == 2,
+ "Unexpected head of ring buffer (pop)");
+
+- fail_unless(cork_ring_buffer_add(&buf, (void *) 5) == 0,
++ ck_assert_msg(cork_ring_buffer_add(&buf, (void *) 5) == 0,
+ "Cannot add to ring buffer");
+- fail_unless(cork_ring_buffer_add(&buf, (void *) 6) == 0,
++ ck_assert_msg(cork_ring_buffer_add(&buf, (void *) 6) == 0,
+ "Cannot add to ring buffer");
+- fail_if(cork_ring_buffer_add(&buf, (void *) 7) == 0,
++ ck_assert_false_msg(cork_ring_buffer_add(&buf, (void *) 7) == 0,
+ "Shouldn't be able to add to ring buffer");
+
+- fail_unless(((intptr_t) cork_ring_buffer_pop(&buf)) == 3,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(&buf)) == 3,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(&buf)) == 4,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(&buf)) == 4,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(&buf)) == 5,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(&buf)) == 5,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(&buf)) == 6,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(&buf)) == 6,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(cork_ring_buffer_pop(&buf) == NULL,
++ ck_assert_msg(cork_ring_buffer_pop(&buf) == NULL,
+ "Shouldn't be able to pop from ring buffer");
+
+ cork_ring_buffer_done(&buf);
+@@ -73,40 +73,40 @@ START_TEST(test_ring_buffer_2)
+ {
+ struct cork_ring_buffer *buf = cork_ring_buffer_new(4);
+
+- fail_unless(cork_ring_buffer_add(buf, (void *) 1) == 0,
++ ck_assert_msg(cork_ring_buffer_add(buf, (void *) 1) == 0,
+ "Cannot add to ring buffer");
+- fail_unless(cork_ring_buffer_add(buf, (void *) 2) == 0,
++ ck_assert_msg(cork_ring_buffer_add(buf, (void *) 2) == 0,
+ "Cannot add to ring buffer");
+- fail_unless(cork_ring_buffer_add(buf, (void *) 3) == 0,
++ ck_assert_msg(cork_ring_buffer_add(buf, (void *) 3) == 0,
+ "Cannot add to ring buffer");
+- fail_unless(cork_ring_buffer_add(buf, (void *) 4) == 0,
++ ck_assert_msg(cork_ring_buffer_add(buf, (void *) 4) == 0,
+ "Cannot add to ring buffer");
+- fail_if(cork_ring_buffer_add(buf, (void *) 5) == 0,
++ ck_assert_false_msg(cork_ring_buffer_add(buf, (void *) 5) == 0,
+ "Shouldn't be able to add to ring buffer");
+
+- fail_unless(((intptr_t) cork_ring_buffer_peek(buf)) == 1,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_peek(buf)) == 1,
+ "Unexpected head of ring buffer (peek)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(buf)) == 1,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(buf)) == 1,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(buf)) == 2,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(buf)) == 2,
+ "Unexpected head of ring buffer (pop)");
+
+- fail_unless(cork_ring_buffer_add(buf, (void *) 5) == 0,
++ ck_assert_msg(cork_ring_buffer_add(buf, (void *) 5) == 0,
+ "Cannot add to ring buffer");
+- fail_unless(cork_ring_buffer_add(buf, (void *) 6) == 0,
++ ck_assert_msg(cork_ring_buffer_add(buf, (void *) 6) == 0,
+ "Cannot add to ring buffer");
+- fail_if(cork_ring_buffer_add(buf, (void *) 7) == 0,
++ ck_assert_false_msg(cork_ring_buffer_add(buf, (void *) 7) == 0,
+ "Shouldn't be able to add to ring buffer");
+
+- fail_unless(((intptr_t) cork_ring_buffer_pop(buf)) == 3,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(buf)) == 3,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(buf)) == 4,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(buf)) == 4,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(buf)) == 5,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(buf)) == 5,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(((intptr_t) cork_ring_buffer_pop(buf)) == 6,
++ ck_assert_msg(((intptr_t) cork_ring_buffer_pop(buf)) == 6,
+ "Unexpected head of ring buffer (pop)");
+- fail_unless(cork_ring_buffer_pop(buf) == NULL,
++ ck_assert_msg(cork_ring_buffer_pop(buf) == NULL,
+ "Shouldn't be able to pop from ring buffer");
+
+ cork_ring_buffer_free(buf);
+diff --git a/tests/test-slice.c b/tests/test-slice.c
+index 574fea5..0cd81e8 100644
+--- a/tests/test-slice.c
++++ b/tests/test-slice.c
+@@ -34,8 +34,8 @@ START_TEST(test_static_slice)
+ fail_if_error(cork_slice_copy(&copy1, &slice, 8, 4));
+ fail_if_error(cork_slice_light_copy(&lcopy1, &slice, 8, 4));
+ fail_if_error(cork_slice_slice(&slice, 8, 4));
+- fail_unless(cork_slice_equal(&slice, &copy1), "Slices should be equal");
+- fail_unless(cork_slice_equal(&slice, &lcopy1), "Slices should be equal");
++ ck_assert_msg(cork_slice_equal(&slice, &copy1), "Slices should be equal");
++ ck_assert_msg(cork_slice_equal(&slice, &lcopy1), "Slices should be equal");
+ /* We have to finish lcopy1 first, since it's a light copy. */
+ cork_slice_finish(&lcopy1);
+ cork_slice_finish(&slice);
+@@ -60,38 +60,38 @@ START_TEST(test_copy_once_slice)
+ struct cork_slice lcopy2;
+
+ cork_slice_init_copy_once(&slice, SRC, SRC_LEN);
+- fail_unless(slice.buf == SRC, "Unexpected slice buffer");
++ ck_assert_msg(slice.buf == SRC, "Unexpected slice buffer");
+
+ fail_if_error(cork_slice_light_copy(&lcopy1, &slice, 8, 4));
+ /* We should still be using the original SRC buffer directly, since we only
+ * created a light copy. */
+- fail_unless(slice.buf == SRC, "Unexpected slice buffer");
+- fail_unless(slice.buf + 8 == lcopy1.buf, "Unexpected slice buffer");
++ ck_assert_msg(slice.buf == SRC, "Unexpected slice buffer");
++ ck_assert_msg(slice.buf + 8 == lcopy1.buf, "Unexpected slice buffer");
+
+ fail_if_error(cork_slice_copy(&copy1, &slice, 8, 4));
+ fail_if_error(cork_slice_slice(&slice, 8, 4));
+ /* Once we create a full copy, the content should have been moved into a
+ * managed buffer, which will exist somewhere else in memory than the
+ * original SRC pointer. */
+- fail_unless(slice.buf != SRC, "Unexpected slice buffer");
+- fail_unless(slice.buf == copy1.buf, "Unexpected slice buffer");
++ ck_assert_msg(slice.buf != SRC, "Unexpected slice buffer");
++ ck_assert_msg(slice.buf == copy1.buf, "Unexpected slice buffer");
+ /* The light copy that we made previously won't have been moved over to the
+ * new managed buffer, though. */
+- fail_unless(cork_slice_equal(&slice, &copy1), "Slices should be equal");
++ ck_assert_msg(cork_slice_equal(&slice, &copy1), "Slices should be equal");
+
+ /* Once we've switched over to the managed buffer, a new light copy should
+ * still point into the managed buffer. */
+ fail_if_error(cork_slice_light_copy(&lcopy2, &slice, 0, 4));
+- fail_unless(slice.buf != SRC, "Unexpected slice buffer");
+- fail_unless(slice.buf == lcopy2.buf, "Unexpected slice buffer");
++ ck_assert_msg(slice.buf != SRC, "Unexpected slice buffer");
++ ck_assert_msg(slice.buf == lcopy2.buf, "Unexpected slice buffer");
+
+ fail_if_error(cork_slice_copy(&copy2, &slice, 0, 4));
+ /* The second full copy should not create a new managed buffer, it should
+ * just increment the existing managed buffer's refcount. */
+- fail_unless(slice.buf == copy2.buf, "Unexpected slice buffer");
+- fail_unless(copy1.buf == copy2.buf, "Unexpected slice buffer");
+- fail_unless(cork_slice_equal(&slice, &copy2), "Slices should be equal");
+- fail_unless(cork_slice_equal(&copy1, &copy2), "Slices should be equal");
++ ck_assert_msg(slice.buf == copy2.buf, "Unexpected slice buffer");
++ ck_assert_msg(copy1.buf == copy2.buf, "Unexpected slice buffer");
++ ck_assert_msg(cork_slice_equal(&slice, &copy2), "Slices should be equal");
++ ck_assert_msg(cork_slice_equal(&copy1, &copy2), "Slices should be equal");
+
+ /* We have to finish the light copies first. */
+ cork_slice_finish(&lcopy1);
+diff --git a/tests/test-subprocess.c b/tests/test-subprocess.c
+index c7aca91..a7bc37a 100644
+--- a/tests/test-subprocess.c
++++ b/tests/test-subprocess.c
+@@ -56,7 +56,7 @@ verify_consumer__eof(struct cork_stream_consumer *vself)
+ if (actual == NULL) {
+ actual = "";
+ }
+- fail_unless(strcmp(actual, self->expected) == 0,
++ ck_assert_msg(strcmp(actual, self->expected) == 0,
+ "Unexpected %s: got\n%s\nexpected\n%s\n", self->name,
+ actual, self->expected);
+ return 0;
+diff --git a/tests/test-threads.c b/tests/test-threads.c
+index 7ecf949..d17c8cc 100644
+--- a/tests/test-threads.c
++++ b/tests/test-threads.c
+@@ -29,13 +29,13 @@
+ #define test_atomic_op(name, type, fmt, op, expected) \
+ do { \
+ type actual = cork_##name##_atomic_##op(&val, 1); \
+- fail_unless_equal(#name, fmt, expected, actual); \
++ fail_unless_equal(#name, fmt, (type)expected, actual); \
+ } while (0)
+
+ #define test_cas(name, type, fmt, ov, nv) \
+ do { \
+ type actual = cork_##name##_cas(&val, ov, nv); \
+- fail_unless_equal(#name, fmt, ov, actual); \
++ fail_unless_equal(#name, fmt, (type)ov, (type)actual); \
+ } while (0)
+
+ #define test_atomic(name, type, fmt) \
+@@ -47,18 +47,18 @@ START_TEST(test_atomic_##name) \
+ test_atomic_op(name, type, fmt, pre_add, 1); \
+ test_atomic_op(name, type, fmt, add, 3); \
+ test_atomic_op(name, type, fmt, pre_add, 3); \
+- fail_unless_equal(#name, fmt, 4, val); \
++ fail_unless_equal(#name, fmt, (type)4, val); \
+ test_atomic_op(name, type, fmt, sub, 3); \
+ test_atomic_op(name, type, fmt, pre_sub, 3); \
+ test_atomic_op(name, type, fmt, sub, 1); \
+ test_atomic_op(name, type, fmt, pre_sub, 1); \
+- fail_unless_equal(#name, fmt, 0, val); \
++ fail_unless_equal(#name, fmt, (type)0, val); \
+ \
+ test_cas(name, type, fmt, 0, 1); \
+ test_cas(name, type, fmt, 1, 10); \
+ test_cas(name, type, fmt, 10, 2); \
+ test_cas(name, type, fmt, 2, 0); \
+- fail_unless_equal(#name, fmt, 0, val); \
++ fail_unless_equal(#name, fmt, (type)0, val); \
+ } \
+ END_TEST
+
+@@ -112,7 +112,7 @@ START_TEST(test_once)
+ cork_once(once, go);
+ fail_unless_equal("Value", "%d", 1, value);
+
+- fail_unless_equal("Call count", "%zu", 1, call_count);
++ fail_unless_equal("Call count", "%zu", (size_t)1, call_count);
+ }
+ END_TEST
+
+@@ -139,7 +139,7 @@ START_TEST(test_once_recursive)
+ cork_once_recursive(once, go);
+ fail_unless_equal("Value", "%d", 1, value);
+
+- fail_unless_equal("Call count", "%zu", 1, call_count);
++ fail_unless_equal("Call count", "%zu", (size_t)1, call_count);
+ }
+ END_TEST
+
+@@ -152,7 +152,7 @@ START_TEST(test_thread_ids)
+ {
+ DESCRIBE_TEST;
+ cork_thread_id id = cork_current_thread_get_id();
+- fail_if(id == CORK_THREAD_NONE, "Expected a valid thread ID");
++ ck_assert_false_msg(id == CORK_THREAD_NONE, "Expected a valid thread ID");
+ }
+ END_TEST
+
+@@ -277,7 +277,7 @@ START_TEST(test_threads_error_01)
+ fail_if_error(t1 = cork_thread_new
+ ("test", NULL, NULL, cork_error_thread__run));
+ fail_if_error(cork_thread_start(t1));
+- fail_unless_error(cork_thread_join(t1));
++ fail_unless_error(cork_thread_join(t1), "Cannot join the thread");
+ }
+ END_TEST
+
+--
+2.36.1
+
diff --git a/testing/libcork/format-security.patch b/testing/libcork/format-security.patch
new file mode 100644
index 00000000000..af516ea20f7
--- /dev/null
+++ b/testing/libcork/format-security.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/helpers.h b/tests/helpers.h
+index 8be1d40..efc7ea5 100644
+--- a/tests/helpers.h
++++ b/tests/helpers.h
+@@ -66,7 +66,7 @@ setup_allocator(void)
+ do { \
+ call; \
+ if (cork_error_occurred()) { \
+- ck_abort_msg(cork_error_message()); \
++ ck_abort_msg("%s", cork_error_message()); \
+ } \
+ } while (0)
+
diff --git a/testing/libcork/no-git.patch b/testing/libcork/no-git.patch
new file mode 100644
index 00000000000..edca647f66a
--- /dev/null
+++ b/testing/libcork/no-git.patch
@@ -0,0 +1,33 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1e236f9..3f9a494 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,17 +42,17 @@ else(BASE_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-dev)?$")
+ message(FATAL_ERROR "Invalid version number: ${VERSION}")
+ endif(BASE_VERSION MATCHES "^([0-9]+)\\.([0-9]+)\\.([0-9]+)(-dev)?$")
+
+-execute_process(
+- COMMAND git rev-parse HEAD
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- RESULT_VARIABLE GIT_SHA1_RESULT
+- OUTPUT_VARIABLE GIT_SHA1
+- OUTPUT_STRIP_TRAILING_WHITESPACE
+-)
+-if(GIT_SHA1_RESULT)
+- message(FATAL_ERROR
+- "Cannot determine git commit: " ${GIT_SHA1_RESULT})
+-endif(GIT_SHA1_RESULT)
++# execute_process(
++# COMMAND git rev-parse HEAD
++# WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
++# RESULT_VARIABLE GIT_SHA1_RESULT
++# OUTPUT_VARIABLE GIT_SHA1
++# OUTPUT_STRIP_TRAILING_WHITESPACE
++# )
++# if(GIT_SHA1_RESULT)
++# message(FATAL_ERROR
++# "Cannot determine git commit: " ${GIT_SHA1_RESULT})
++# endif(GIT_SHA1_RESULT)
+
+ #-----------------------------------------------------------------------
+ # Check for building on Tilera
diff --git a/testing/libcorkipset/APKBUILD b/testing/libcorkipset/APKBUILD
index 3ce977cea92..8c5d6b839ba 100644
--- a/testing/libcorkipset/APKBUILD
+++ b/testing/libcorkipset/APKBUILD
@@ -1,26 +1,23 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libcorkipset
pkgver=1.1.1
_debver=20150311-8
-pkgrel=0
+pkgrel=4
pkgdesc="Small C helper library for storing sets of IPv4 and IPv6 addresses"
url="https://github.com/rogers0/libcorkipset"
-# libcork is missing
-#arch="all"
+arch="all"
license="BSD-3-Clause"
-makedepends="cmake check-dev libcork-dev"
+makedepends="cmake check-dev libcork-dev samurai"
checkdepends="python3"
-subpackages="$pkgname-dev"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/rogers0/$pkgname/archive/debian/$pkgver+$_debver.tar.gz
+subpackages="$pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rogers0/$pkgname/archive/debian/$pkgver+$_debver.tar.gz
+ fix-gcc-10.patch
"
-
builddir="$srcdir/$pkgname-debian-$pkgver-$_debver"
prepare() {
default_prepare
- mkdir build
for p in debian/patches/*.patch; do
patch -p1 -i "$p"
@@ -33,22 +30,29 @@ prepare() {
}
build() {
- cd build
- cmake .. \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_STYLE=Release
- make
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
}
check() {
cd build
- make test
+ ninja test
}
package() {
- cd build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+tools() {
+ pkgdesc="$pkgdesc (tools)"
+
+ amove usr/bin
}
-sha512sums="5bbce2727da1665e734981959ecb253b4052d8cc6c426fded7e1678b6e2505bc9f4c0ab3cd3b6a03f834f5e20bd1d670cc19f7491fe0ad5b7cb772e7309f5009 libcorkipset-1.1.1.tar.gz"
+sha512sums="
+5bbce2727da1665e734981959ecb253b4052d8cc6c426fded7e1678b6e2505bc9f4c0ab3cd3b6a03f834f5e20bd1d670cc19f7491fe0ad5b7cb772e7309f5009 libcorkipset-1.1.1.tar.gz
+f0441ccc3800f450fa752ae4160dea0686fff2b5b255cfcb91bba8561301519fcc327125c2731ecbb909446ee6973c99d36d0d90f080bffd2d4a422f307e729d fix-gcc-10.patch
+"
diff --git a/testing/libcorkipset/fix-gcc-10.patch b/testing/libcorkipset/fix-gcc-10.patch
new file mode 100644
index 00000000000..48d40356d87
--- /dev/null
+++ b/testing/libcorkipset/fix-gcc-10.patch
@@ -0,0 +1,1548 @@
+From a672165912e67333f87d8655d6fb416ba07aa595 Mon Sep 17 00:00:00 2001
+From: mochaaP <git@mochaa.ws>
+Date: Sun, 22 May 2022 06:51:17 +0000
+Subject: [PATCH] Fix compilation errors with the recent gcc
+
+Ported <https://github.com/dcreager/libcork/pull/170>
+
+Make the code compile on the recent gcc. The patch
+does following things:
+
+ - Adopt to the new libcheck api. The old ones like
+ fail, fail_if, fail_unless are deprecated and can't
+ compile on the recent gcc.
+ - Other format-string related fixes like unmatched
+ types.
+---
+ tests/test-assignment.c | 34 +++++-----
+ tests/test-bdd.c | 142 ++++++++++++++++++++--------------------
+ tests/test-ipmap.c | 72 ++++++++++----------
+ tests/test-ipset.c | 102 ++++++++++++++---------------
+ tests/test-iterator.c | 140 +++++++++++++++++++--------------------
+ 5 files changed, 245 insertions(+), 245 deletions(-)
+
+diff --git a/tests/test-assignment.c b/tests/test-assignment.c
+index 3e871bf..a45e9bb 100644
+--- a/tests/test-assignment.c
++++ b/tests/test-assignment.c
+@@ -30,7 +30,7 @@ START_TEST(test_bdd_assignment_empty_equal)
+ a1 = ipset_assignment_new();
+ a2 = ipset_assignment_new();
+
+- fail_unless(ipset_assignment_equal(a1, a2),
++ ck_assert_msg(ipset_assignment_equal(a1, a2),
+ "Assignments should be equal");
+
+ ipset_assignment_free(a1);
+@@ -52,7 +52,7 @@ START_TEST(test_bdd_assignment_equal_1)
+ ipset_assignment_set(a2, 0, IPSET_TRUE);
+ ipset_assignment_set(a2, 1, IPSET_FALSE);
+
+- fail_unless(ipset_assignment_equal(a1, a2),
++ ck_assert_msg(ipset_assignment_equal(a1, a2),
+ "Assignments should be equal");
+
+ ipset_assignment_free(a1);
+@@ -75,7 +75,7 @@ START_TEST(test_bdd_assignment_equal_2)
+ ipset_assignment_set(a2, 1, IPSET_FALSE);
+ ipset_assignment_set(a2, 4, IPSET_EITHER);
+
+- fail_unless(ipset_assignment_equal(a1, a2),
++ ck_assert_msg(ipset_assignment_equal(a1, a2),
+ "Assignments should be equal");
+
+ ipset_assignment_free(a1);
+@@ -102,7 +102,7 @@ START_TEST(test_bdd_assignment_cut_1)
+
+ ipset_assignment_cut(a2, 2);
+
+- fail_unless(ipset_assignment_equal(a1, a2),
++ ck_assert_msg(ipset_assignment_equal(a1, a2),
+ "Assignments should be equal");
+
+ ipset_assignment_free(a1);
+@@ -129,15 +129,15 @@ START_TEST(test_bdd_assignment_expand_1)
+ uint8_t ea[1];
+ memset(ea, 0, 1);
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Expanded assignment shouldn't be empty");
+ IPSET_BIT_SET(ea, 0, true);
+ IPSET_BIT_SET(ea, 1, false);
+- fail_unless(memcmp(ea, it->values.buf, 1) == 0,
++ ck_assert_msg(memcmp(ea, it->values.buf, 1) == 0,
+ "Expanded assignment doesn't match");
+
+ ipset_expanded_assignment_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "Expanded assignment should have 1 element");
+
+ ipset_expanded_assignment_free(it);
+@@ -160,25 +160,25 @@ START_TEST(test_bdd_assignment_expand_2)
+ uint8_t ea[1];
+ memset(ea, 0, 1);
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Expanded assignment shouldn't be empty");
+ IPSET_BIT_SET(ea, 0, true);
+ IPSET_BIT_SET(ea, 1, false);
+ IPSET_BIT_SET(ea, 2, false);
+- fail_unless(memcmp(ea, it->values.buf, 1) == 0,
++ ck_assert_msg(memcmp(ea, it->values.buf, 1) == 0,
+ "Expanded assignment 1 doesn't match");
+
+ ipset_expanded_assignment_advance(it);
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Expanded assignment should have at least 1 element");
+ IPSET_BIT_SET(ea, 0, true);
+ IPSET_BIT_SET(ea, 1, false);
+ IPSET_BIT_SET(ea, 2, true);
+- fail_unless(memcmp(ea, it->values.buf, 1) == 0,
++ ck_assert_msg(memcmp(ea, it->values.buf, 1) == 0,
+ "Expanded assignment 2 doesn't match");
+
+ ipset_expanded_assignment_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "Expanded assignment should have 2 elements");
+
+ ipset_expanded_assignment_free(it);
+@@ -201,25 +201,25 @@ START_TEST(test_bdd_assignment_expand_3)
+ uint8_t ea[1];
+ memset(ea, 0, 1);
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Expanded assignment shouldn't be empty");
+ IPSET_BIT_SET(ea, 0, true);
+ IPSET_BIT_SET(ea, 1, false);
+ IPSET_BIT_SET(ea, 2, false);
+- fail_unless(memcmp(ea, it->values.buf, 1) == 0,
++ ck_assert_msg(memcmp(ea, it->values.buf, 1) == 0,
+ "Expanded assignment 1 doesn't match");
+
+ ipset_expanded_assignment_advance(it);
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Expanded assignment should have at least 1 element");
+ IPSET_BIT_SET(ea, 0, true);
+ IPSET_BIT_SET(ea, 1, true);
+ IPSET_BIT_SET(ea, 2, false);
+- fail_unless(memcmp(ea, it->values.buf, 1) == 0,
++ ck_assert_msg(memcmp(ea, it->values.buf, 1) == 0,
+ "Expanded assignment 2 doesn't match");
+
+ ipset_expanded_assignment_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "Expanded assignment should have 2 elements");
+
+ ipset_expanded_assignment_free(it);
+diff --git a/tests/test-bdd.c b/tests/test-bdd.c
+index 23b90e7..6a827e8 100644
+--- a/tests/test-bdd.c
++++ b/tests/test-bdd.c
+@@ -70,25 +70,25 @@ START_TEST(test_bit_get)
+ DESCRIBE_TEST;
+ uint16_t a = CORK_UINT16_HOST_TO_BIG(0x6012); /* 0110 0000 0001 0010 */
+
+- fail_unless(IPSET_BIT_GET(&a, 0) == 0, "Bit 0 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 1) == 1, "Bit 1 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 2) == 1, "Bit 2 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 3) == 0, "Bit 3 is incorrect");
+-
+- fail_unless(IPSET_BIT_GET(&a, 4) == 0, "Bit 4 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 5) == 0, "Bit 5 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 6) == 0, "Bit 6 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 7) == 0, "Bit 7 is incorrect");
+-
+- fail_unless(IPSET_BIT_GET(&a, 8) == 0, "Bit 8 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 9) == 0, "Bit 9 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 10) == 0, "Bit 10 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 11) == 1, "Bit 11 is incorrect");
+-
+- fail_unless(IPSET_BIT_GET(&a, 12) == 0, "Bit 12 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 13) == 0, "Bit 13 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 14) == 1, "Bit 14 is incorrect");
+- fail_unless(IPSET_BIT_GET(&a, 15) == 0, "Bit 15 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 0) == 0, "Bit 0 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 1) == 1, "Bit 1 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 2) == 1, "Bit 2 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 3) == 0, "Bit 3 is incorrect");
++
++ ck_assert_msg(IPSET_BIT_GET(&a, 4) == 0, "Bit 4 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 5) == 0, "Bit 5 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 6) == 0, "Bit 6 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 7) == 0, "Bit 7 is incorrect");
++
++ ck_assert_msg(IPSET_BIT_GET(&a, 8) == 0, "Bit 8 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 9) == 0, "Bit 9 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 10) == 0, "Bit 10 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 11) == 1, "Bit 11 is incorrect");
++
++ ck_assert_msg(IPSET_BIT_GET(&a, 12) == 0, "Bit 12 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 13) == 0, "Bit 13 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 14) == 1, "Bit 14 is incorrect");
++ ck_assert_msg(IPSET_BIT_GET(&a, 15) == 0, "Bit 15 is incorrect");
+ }
+ END_TEST
+
+@@ -118,7 +118,7 @@ START_TEST(test_bit_set)
+ IPSET_BIT_SET(&a, 14, 1);
+ IPSET_BIT_SET(&a, 15, 0);
+
+- fail_unless(CORK_UINT16_HOST_TO_BIG(0x6012) == a,
++ ck_assert_msg(CORK_UINT16_HOST_TO_BIG(0x6012) == a,
+ "Incorrect bit result: 0x%04" PRIu16, a);
+ }
+ END_TEST
+@@ -135,10 +135,10 @@ START_TEST(test_bdd_false_terminal)
+
+ ipset_node_id n_false = ipset_terminal_node_id(false);
+
+- fail_unless(ipset_node_get_type(n_false) == IPSET_TERMINAL_NODE,
++ ck_assert_msg(ipset_node_get_type(n_false) == IPSET_TERMINAL_NODE,
+ "False terminal has wrong type");
+
+- fail_unless(ipset_terminal_value(n_false) == false,
++ ck_assert_msg(ipset_terminal_value(n_false) == false,
+ "False terminal has wrong value");
+
+ ipset_node_decref(cache, n_false);
+@@ -154,10 +154,10 @@ START_TEST(test_bdd_true_terminal)
+
+ ipset_node_id n_true = ipset_terminal_node_id(true);
+
+- fail_unless(ipset_node_get_type(n_true) == IPSET_TERMINAL_NODE,
++ ck_assert_msg(ipset_node_get_type(n_true) == IPSET_TERMINAL_NODE,
+ "True terminal has wrong type");
+
+- fail_unless(ipset_terminal_value(n_true) == true,
++ ck_assert_msg(ipset_terminal_value(n_true) == true,
+ "True terminal has wrong value");
+
+ ipset_node_decref(cache, n_true);
+@@ -174,7 +174,7 @@ START_TEST(test_bdd_terminal_reduced_1)
+ ipset_node_id node1 = ipset_terminal_node_id(false);
+ ipset_node_id node2 = ipset_terminal_node_id(false);
+
+- fail_unless(node1 == node2,
++ ck_assert_msg(node1 == node2,
+ "Terminal node isn't reduced");
+
+ ipset_node_decref(cache, node1);
+@@ -199,16 +199,16 @@ START_TEST(test_bdd_nonterminal_1)
+ ipset_node_id node =
+ ipset_node_cache_nonterminal(cache, 0, n_false, n_true);
+
+- fail_unless(ipset_node_get_type(node) == IPSET_NONTERMINAL_NODE,
++ ck_assert_msg(ipset_node_get_type(node) == IPSET_NONTERMINAL_NODE,
+ "Nonterminal has wrong type");
+
+ struct ipset_node *n = ipset_node_cache_get_nonterminal(cache, node);
+
+- fail_unless(n->variable == 0,
++ ck_assert_msg(n->variable == 0,
+ "Nonterminal has wrong variable");
+- fail_unless(n->low == n_false,
++ ck_assert_msg(n->low == n_false,
+ "Nonterminal has wrong low pointer");
+- fail_unless(n->high == n_true,
++ ck_assert_msg(n->high == n_true,
+ "Nonterminal has wrong high pointer");
+
+ ipset_node_decref(cache, node);
+@@ -234,7 +234,7 @@ START_TEST(test_bdd_nonterminal_reduced_1)
+ ipset_node_id node2 =
+ ipset_node_cache_nonterminal(cache, 0, n_false, n_true);
+
+- fail_unless(node1 == node2,
++ ck_assert_msg(node1 == node2,
+ "Nonterminal node isn't reduced");
+
+ ipset_node_decref(cache, node1);
+@@ -257,7 +257,7 @@ START_TEST(test_bdd_nonterminal_reduced_2)
+ ipset_node_id node =
+ ipset_node_cache_nonterminal(cache, 0, n_false, n_false);
+
+- fail_unless(node == n_false,
++ ck_assert_msg(node == n_false,
+ "Nonterminal node isn't reduced");
+
+ ipset_node_decref(cache, node);
+@@ -289,14 +289,14 @@ START_TEST(test_bdd_evaluate_1)
+
+ uint8_t input1[] = { 0x80 }; /* { TRUE } */
+ bool expected1 = false;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bit_array_assignment, input1)
+ == expected1,
+ "BDD evaluates to wrong value");
+
+ uint8_t input2[] = { 0x00 }; /* { FALSE } */
+ bool expected2 = true;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bit_array_assignment, input2)
+ == expected2,
+ "BDD evaluates to wrong value");
+@@ -328,28 +328,28 @@ START_TEST(test_bdd_evaluate_2)
+
+ bool input1[] = { true, true };
+ bool expected1 = false;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bool_array_assignment, input1)
+ == expected1,
+ "BDD evaluates to wrong value");
+
+ bool input2[] = { true, false };
+ bool expected2 = false;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bool_array_assignment, input2)
+ == expected2,
+ "BDD evaluates to wrong value");
+
+ bool input3[] = { false, true };
+ bool expected3 = true;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bool_array_assignment, input3)
+ == expected3,
+ "BDD evaluates to wrong value");
+
+ bool input4[] = { false, false };
+ bool expected4 = false;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bool_array_assignment, input4)
+ == expected4,
+ "BDD evaluates to wrong value");
+@@ -385,7 +385,7 @@ START_TEST(test_bdd_insert_reduced_1)
+ (cache, n_false1, ipset_bool_array_assignment, elem, 2, true);
+
+ /* Verify that we get the same physical node both times. */
+- fail_unless(node0 == node1,
++ ck_assert_msg(node0 == node1,
+ "Insert result isn't reduced");
+
+ ipset_node_decref(cache, n_false0);
+@@ -415,28 +415,28 @@ START_TEST(test_bdd_insert_evaluate_1)
+
+ bool input1[] = { true, true };
+ bool expected1 = true;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bool_array_assignment, input1)
+ == expected1,
+ "BDD evaluates to wrong value");
+
+ bool input2[] = { true, false };
+ bool expected2 = false;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bool_array_assignment, input2)
+ == expected2,
+ "BDD evaluates to wrong value");
+
+ bool input3[] = { false, true };
+ bool expected3 = false;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bool_array_assignment, input3)
+ == expected3,
+ "BDD evaluates to wrong value");
+
+ bool input4[] = { false, false };
+ bool expected4 = false;
+- fail_unless(ipset_node_evaluate
++ ck_assert_msg(ipset_node_evaluate
+ (cache, node, ipset_bool_array_assignment, input4)
+ == expected4,
+ "BDD evaluates to wrong value");
+@@ -477,10 +477,10 @@ START_TEST(test_bdd_size_1)
+
+ /* And verify how big it is. */
+
+- fail_unless(ipset_node_reachable_count(cache, node) == 3u,
++ ck_assert_msg(ipset_node_reachable_count(cache, node) == 3u,
+ "BDD has wrong number of nodes");
+
+- fail_unless(ipset_node_memory_size(cache, node) ==
++ ck_assert_msg(ipset_node_memory_size(cache, node) ==
+ 3u * sizeof(struct ipset_node),
+ "BDD takes up wrong amount of space");
+
+@@ -512,7 +512,7 @@ START_TEST(test_bdd_save_1)
+ struct cork_stream_consumer *stream =
+ cork_buffer_to_stream_consumer(&buf);
+
+- fail_unless(ipset_node_cache_save(stream, cache, node) == 0,
++ ck_assert_msg(ipset_node_cache_save(stream, cache, node) == 0,
+ "Cannot serialize BDD");
+
+ const char *raw_expected =
+@@ -524,12 +524,12 @@ START_TEST(test_bdd_save_1)
+ ;
+ const size_t expected_length = 24;
+
+- fail_unless(expected_length == buf.size,
++ ck_assert_msg(expected_length == buf.size,
+ "Serialized BDD has wrong length "
+ "(expected %zu, got %zu)",
+ expected_length, buf.size);
+
+- fail_unless(memcmp(raw_expected, buf.buf, expected_length) == 0,
++ ck_assert_msg(memcmp(raw_expected, buf.buf, expected_length) == 0,
+ "Serialized BDD has incorrect data");
+
+ cork_stream_consumer_free(stream);
+@@ -568,7 +568,7 @@ START_TEST(test_bdd_save_2)
+ struct cork_stream_consumer *stream =
+ cork_buffer_to_stream_consumer(&buf);
+
+- fail_unless(ipset_node_cache_save(stream, cache, node) == 0,
++ ck_assert_msg(ipset_node_cache_save(stream, cache, node) == 0,
+ "Cannot serialize BDD");
+
+ const char *raw_expected =
+@@ -591,12 +591,12 @@ START_TEST(test_bdd_save_2)
+ ;
+ const size_t expected_length = 47;
+
+- fail_unless(expected_length == buf.size,
++ ck_assert_msg(expected_length == buf.size,
+ "Serialized BDD has wrong length "
+ "(expected %zu, got %zu)",
+ expected_length, buf.size);
+
+- fail_unless(memcmp(raw_expected, buf.buf, expected_length) == 0,
++ ck_assert_msg(memcmp(raw_expected, buf.buf, expected_length) == 0,
+ "Serialized BDD has incorrect data");
+
+ cork_stream_consumer_free(stream);
+@@ -637,10 +637,10 @@ START_TEST(test_bdd_load_1)
+ fseek(temp_file->stream, 0, SEEK_SET);
+
+ ipset_node_id read = ipset_node_cache_load(temp_file->stream, cache);
+- fail_if(cork_error_occurred(),
++ ck_assert_msg(!cork_error_occurred(),
+ "Error reading BDD from stream");
+
+- fail_unless(read == node,
++ ck_assert_msg(read == node,
+ "BDD from stream doesn't match expected");
+
+ temp_file_free(temp_file);
+@@ -705,10 +705,10 @@ START_TEST(test_bdd_load_2)
+ fseek(temp_file->stream, 0, SEEK_SET);
+
+ ipset_node_id read = ipset_node_cache_load(temp_file->stream, cache);
+- fail_if(cork_error_occurred(),
++ ck_assert_msg(!cork_error_occurred(),
+ "Error reading BDD from stream");
+
+- fail_unless(read == node,
++ ck_assert_msg(read == node,
+ "BDD from stream doesn't match expected");
+
+ temp_file_free(temp_file);
+@@ -746,27 +746,27 @@ START_TEST(test_bdd_iterate_1)
+ struct ipset_assignment *expected = ipset_assignment_new();
+ struct ipset_bdd_iterator *it = ipset_node_iterate(cache, node);
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Iterator should not be empty");
+ ipset_assignment_clear(expected);
+ ipset_assignment_set(expected, 0, IPSET_FALSE);
+- fail_unless(ipset_assignment_equal(expected, it->assignment),
++ ck_assert_msg(ipset_assignment_equal(expected, it->assignment),
+ "Iterator assignment 0 doesn't match");
+- fail_unless(true == it->value,
++ ck_assert_msg(true == it->value,
+ "Iterator value 0 doesn't match");
+
+ ipset_bdd_iterator_advance(it);
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Iterator should have more than 1 element");
+ ipset_assignment_clear(expected);
+ ipset_assignment_set(expected, 0, IPSET_TRUE);
+- fail_unless(ipset_assignment_equal(expected, it->assignment),
++ ck_assert_msg(ipset_assignment_equal(expected, it->assignment),
+ "Iterator assignment 1 doesn't match");
+- fail_unless(false == it->value,
++ ck_assert_msg(false == it->value,
+ "Iterator value 1 doesn't match (%u)", it->value);
+
+ ipset_bdd_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "Iterator should have 2 elements");
+
+ ipset_assignment_free(expected);
+@@ -796,39 +796,39 @@ START_TEST(test_bdd_iterate_2)
+ struct ipset_assignment *expected = ipset_assignment_new();
+ struct ipset_bdd_iterator *it = ipset_node_iterate(cache, node);
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Iterator should not be empty");
+ ipset_assignment_clear(expected);
+ ipset_assignment_set(expected, 0, IPSET_FALSE);
+ ipset_assignment_set(expected, 1, IPSET_FALSE);
+- fail_unless(ipset_assignment_equal(expected, it->assignment),
++ ck_assert_msg(ipset_assignment_equal(expected, it->assignment),
+ "Iterator assignment 0 doesn't match");
+- fail_unless(false == it->value,
++ ck_assert_msg(false == it->value,
+ "Iterator value 0 doesn't match");
+
+ ipset_bdd_iterator_advance(it);
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Iterator should have more than 1 element");
+ ipset_assignment_clear(expected);
+ ipset_assignment_set(expected, 0, IPSET_FALSE);
+ ipset_assignment_set(expected, 1, IPSET_TRUE);
+- fail_unless(ipset_assignment_equal(expected, it->assignment),
++ ck_assert_msg(ipset_assignment_equal(expected, it->assignment),
+ "Iterator assignment 1 doesn't match");
+- fail_unless(true == it->value,
++ ck_assert_msg(true == it->value,
+ "Iterator value 1 doesn't match (%u)", it->value);
+
+ ipset_bdd_iterator_advance(it);
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "Iterator should have more than 2 elements");
+ ipset_assignment_clear(expected);
+ ipset_assignment_set(expected, 0, IPSET_TRUE);
+- fail_unless(ipset_assignment_equal(expected, it->assignment),
++ ck_assert_msg(ipset_assignment_equal(expected, it->assignment),
+ "Iterator assignment 2 doesn't match");
+- fail_unless(false == it->value,
++ ck_assert_msg(false == it->value,
+ "Iterator value 2 doesn't match (%u)", it->value);
+
+ ipset_bdd_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "Iterator should have 3 elements");
+
+ ipset_assignment_free(expected);
+diff --git a/tests/test-ipmap.c b/tests/test-ipmap.c
+index 0e600b7..3035995 100644
+--- a/tests/test-ipmap.c
++++ b/tests/test-ipmap.c
+@@ -72,17 +72,17 @@ test_round_trip(struct ip_map *map)
+ struct temp_file *temp_file = temp_file_new();
+ temp_file_open_stream(temp_file);
+
+- fail_unless(ipmap_save(temp_file->stream, map) == 0,
++ ck_assert_msg(ipmap_save(temp_file->stream, map) == 0,
+ "Could not save map");
+
+ fflush(temp_file->stream);
+ fseek(temp_file->stream, 0, SEEK_SET);
+
+ read_map = ipmap_load(temp_file->stream);
+- fail_if(read_map == NULL,
++ ck_assert_msg(!(read_map == NULL),
+ "Could not read map");
+
+- fail_unless(ipmap_is_equal(map, read_map),
++ ck_assert_msg(ipmap_is_equal(map, read_map),
+ "Map not same after saving/loading");
+
+ temp_file_free(temp_file);
+@@ -100,7 +100,7 @@ START_TEST(test_map_starts_empty)
+ struct ip_map map;
+
+ ipmap_init(&map, 0);
+- fail_unless(ipmap_is_empty(&map),
++ ck_assert_msg(ipmap_is_empty(&map),
+ "Map should start empty");
+ ipmap_done(&map);
+ }
+@@ -113,7 +113,7 @@ START_TEST(test_empty_maps_equal)
+
+ ipmap_init(&map1, 0);
+ ipmap_init(&map2, 0);
+- fail_unless(ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(ipmap_is_equal(&map1, &map2),
+ "Empty maps should be equal");
+ ipmap_done(&map1);
+ ipmap_done(&map2);
+@@ -127,7 +127,7 @@ START_TEST(test_different_defaults_unequal)
+
+ ipmap_init(&map1, 0);
+ ipmap_init(&map2, 1);
+- fail_if(ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(!ipmap_is_equal(&map1, &map2),
+ "Empty maps with different defaults "
+ "should be unequal");
+ ipmap_done(&map1);
+@@ -171,7 +171,7 @@ START_TEST(test_ipv4_insert_01)
+ ipmap_init(&map, 0);
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set(&map, &addr, 1);
+- fail_unless(ipmap_ipv4_get(&map, &addr) == 1,
++ ck_assert_msg(ipmap_ipv4_get(&map, &addr) == 1,
+ "Element should be present");
+ ipmap_done(&map);
+ }
+@@ -187,7 +187,7 @@ START_TEST(test_ipv4_insert_02)
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set(&map, &addr, 1);
+ cork_ipv4_init(&addr, "192.168.1.101");
+- fail_unless(ipmap_ipv4_get(&map, &addr) == 0,
++ ck_assert_msg(ipmap_ipv4_get(&map, &addr) == 0,
+ "Element should not be present");
+ ipmap_done(&map);
+ }
+@@ -203,7 +203,7 @@ START_TEST(test_ipv4_insert_03)
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set(&map, &addr, 1);
+ cork_ipv4_init(&addr, "192.168.2.100");
+- fail_unless(ipmap_ipv4_get(&map, &addr) == 0,
++ ck_assert_msg(ipmap_ipv4_get(&map, &addr) == 0,
+ "Element should not be present");
+ ipmap_done(&map);
+ }
+@@ -218,7 +218,7 @@ START_TEST(test_ipv4_insert_network_01)
+ ipmap_init(&map, 0);
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set_network(&map, &addr, 24, 1);
+- fail_unless(ipmap_ipv4_get(&map, &addr) == 1,
++ ck_assert_msg(ipmap_ipv4_get(&map, &addr) == 1,
+ "Element should be present");
+ ipmap_done(&map);
+ }
+@@ -234,7 +234,7 @@ START_TEST(test_ipv4_insert_network_02)
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set_network(&map, &addr, 24, 1);
+ cork_ipv4_init(&addr, "192.168.1.101");
+- fail_unless(ipmap_ipv4_get(&map, &addr) == 1,
++ ck_assert_msg(ipmap_ipv4_get(&map, &addr) == 1,
+ "Element should be present");
+ ipmap_done(&map);
+ }
+@@ -250,7 +250,7 @@ START_TEST(test_ipv4_insert_network_03)
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set_network(&map, &addr, 24, 1);
+ cork_ipv4_init(&addr, "192.168.2.100");
+- fail_unless(ipmap_ipv4_get(&map, &addr) == 0,
++ ck_assert_msg(ipmap_ipv4_get(&map, &addr) == 0,
+ "Element should not be present");
+ ipmap_done(&map);
+ }
+@@ -267,7 +267,7 @@ START_TEST(test_ipv4_overwrite_01)
+ ipmap_ipv4_set_network(&map, &addr, 24, 1);
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set(&map, &addr, 0);
+- fail_unless(ipmap_ipv4_get(&map, &addr) == 0,
++ ck_assert_msg(ipmap_ipv4_get(&map, &addr) == 0,
+ "Element should be overwritten");
+ ipmap_done(&map);
+ }
+@@ -284,7 +284,7 @@ START_TEST(test_ipv4_overwrite_02)
+ ipmap_ipv4_set_network(&map, &addr, 24, 1);
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set(&map, &addr, 2);
+- fail_unless(ipmap_ipv4_get(&map, &addr) == 2,
++ ck_assert_msg(ipmap_ipv4_get(&map, &addr) == 2,
+ "Element should be overwritten");
+ ipmap_done(&map);
+ }
+@@ -299,7 +299,7 @@ START_TEST(test_ipv4_bad_cidr_prefix_01)
+ ipmap_init(&map, 0);
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set_network(&map, &addr, 33, 1);
+- fail_unless(ipmap_is_empty(&map),
++ ck_assert_msg(ipmap_is_empty(&map),
+ "Bad CIDR prefix shouldn't change map");
+ cork_error_clear();
+ ipmap_done(&map);
+@@ -320,7 +320,7 @@ START_TEST(test_ipv4_equality_1)
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipmap_ipv4_set(&map2, &addr, 1);
+
+- fail_unless(ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(ipmap_is_equal(&map1, &map2),
+ "Expected {x} == {x}");
+
+ ipmap_done(&map1);
+@@ -343,7 +343,7 @@ START_TEST(test_ipv4_equality_2)
+ cork_ipv4_init(&addr, "192.168.1.0");
+ ipmap_ipv4_set_network(&map2, &addr, 24, 1);
+
+- fail_unless(ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(ipmap_is_equal(&map1, &map2),
+ "Expected {x} == {x}");
+
+ ipmap_done(&map1);
+@@ -369,7 +369,7 @@ START_TEST(test_ipv4_equality_3)
+ cork_ipv4_init(&addr, "192.168.1.0");
+ ipmap_ipv4_set_network(&map2, &addr, 24, 1);
+
+- fail_unless(ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(ipmap_is_equal(&map1, &map2),
+ "Expected {x} == {x}");
+
+ ipmap_done(&map1);
+@@ -390,7 +390,7 @@ START_TEST(test_ipv4_inequality_1)
+ ipmap_init(&map2, 0);
+ ipmap_ipv4_set_network(&map2, &addr, 24, 1);
+
+- fail_unless(!ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(!ipmap_is_equal(&map1, &map2),
+ "Expected {x} != {x}");
+
+ ipmap_done(&map1);
+@@ -411,7 +411,7 @@ START_TEST(test_ipv4_inequality_2)
+ ipmap_init(&map2, 0);
+ ipmap_ipv4_set(&map2, &addr, 2);
+
+- fail_unless(!ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(!ipmap_is_equal(&map1, &map2),
+ "Expected {x} != {x}");
+
+ ipmap_done(&map1);
+@@ -433,7 +433,7 @@ START_TEST(test_ipv4_memory_size_1)
+ expected = 33 * sizeof(struct ipset_node);
+ actual = ipmap_memory_size(&map);
+
+- fail_unless(expected == actual,
++ ck_assert_msg(expected == actual,
+ "Expected map to be %zu bytes, got %zu bytes",
+ expected, actual);
+
+@@ -455,7 +455,7 @@ START_TEST(test_ipv4_memory_size_2)
+ expected = 25 * sizeof(struct ipset_node);
+ actual = ipmap_memory_size(&map);
+
+- fail_unless(expected == actual,
++ ck_assert_msg(expected == actual,
+ "Expected map to be %zu bytes, got %zu bytes",
+ expected, actual);
+
+@@ -495,7 +495,7 @@ START_TEST(test_ipv6_insert_01)
+ ipmap_init(&map, 0);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ ipmap_ipv6_set(&map, &addr, 1);
+- fail_unless(ipmap_ipv6_get(&map, &addr) == 1,
++ ck_assert_msg(ipmap_ipv6_get(&map, &addr) == 1,
+ "Element should be present");
+ ipmap_done(&map);
+ }
+@@ -511,7 +511,7 @@ START_TEST(test_ipv6_insert_02)
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ ipmap_ipv6_set(&map, &addr, 1);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e2");
+- fail_unless(ipmap_ipv6_get(&map, &addr) == 0,
++ ck_assert_msg(ipmap_ipv6_get(&map, &addr) == 0,
+ "Element should not be present");
+ ipmap_done(&map);
+ }
+@@ -527,7 +527,7 @@ START_TEST(test_ipv6_insert_03)
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ ipmap_ipv6_set(&map, &addr, 1);
+ cork_ipv6_init(&addr, "fe80:1::21e:c2ff:fe9f:e8e1");
+- fail_unless(ipmap_ipv6_get(&map, &addr) == 0,
++ ck_assert_msg(ipmap_ipv6_get(&map, &addr) == 0,
+ "Element should not be present");
+ ipmap_done(&map);
+ }
+@@ -542,7 +542,7 @@ START_TEST(test_ipv6_insert_network_01)
+ ipmap_init(&map, 0);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ ipmap_ipv6_set_network(&map, &addr, 32, 1);
+- fail_unless(ipmap_ipv6_get(&map, &addr) == 1,
++ ck_assert_msg(ipmap_ipv6_get(&map, &addr) == 1,
+ "Element should be present");
+ ipmap_done(&map);
+ }
+@@ -558,7 +558,7 @@ START_TEST(test_ipv6_insert_network_02)
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ ipmap_ipv6_set_network(&map, &addr, 32, 1);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e2");
+- fail_unless(ipmap_ipv6_get(&map, &addr) == 1,
++ ck_assert_msg(ipmap_ipv6_get(&map, &addr) == 1,
+ "Element should be present");
+ ipmap_done(&map);
+ }
+@@ -574,7 +574,7 @@ START_TEST(test_ipv6_insert_network_03)
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ ipmap_ipv6_set_network(&map, &addr, 32, 1);
+ cork_ipv6_init(&addr, "fe80:1::21e:c2ff:fe9f:e8e1");
+- fail_unless(ipmap_ipv6_get(&map, &addr) == 0,
++ ck_assert_msg(ipmap_ipv6_get(&map, &addr) == 0,
+ "Element should not be present");
+ ipmap_done(&map);
+ }
+@@ -589,7 +589,7 @@ START_TEST(test_ipv6_bad_cidr_prefix_01)
+ ipmap_init(&map, 0);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ ipmap_ipv6_set_network(&map, &addr, 129, 1);
+- fail_unless(ipmap_is_empty(&map),
++ ck_assert_msg(ipmap_is_empty(&map),
+ "Bad CIDR prefix shouldn't change map");
+ cork_error_clear();
+ ipmap_done(&map);
+@@ -609,7 +609,7 @@ START_TEST(test_ipv6_equality_1)
+ ipmap_init(&map2, 0);
+ ipmap_ipv6_set(&map2, &addr, 1);
+
+- fail_unless(ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(ipmap_is_equal(&map1, &map2),
+ "Expected {x} == {x}");
+
+ ipmap_done(&map1);
+@@ -632,7 +632,7 @@ START_TEST(test_ipv6_equality_2)
+ cork_ipv6_init(&addr, "fe80::");
+ ipmap_ipv6_set_network(&map2, &addr, 64, 1);
+
+- fail_unless(ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(ipmap_is_equal(&map1, &map2),
+ "Expected {x} == {x}");
+
+ ipmap_done(&map1);
+@@ -658,7 +658,7 @@ START_TEST(test_ipv6_equality_3)
+ cork_ipv6_init(&addr, "fe80::1:0");
+ ipmap_ipv6_set_network(&map2, &addr, 112, 1);
+
+- fail_unless(ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(ipmap_is_equal(&map1, &map2),
+ "Expected {x} == {x}");
+
+ ipmap_done(&map1);
+@@ -679,7 +679,7 @@ START_TEST(test_ipv6_inequality_1)
+ ipmap_init(&map2, 0);
+ ipmap_ipv6_set_network(&map2, &addr, 32, 1);
+
+- fail_unless(!ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(!ipmap_is_equal(&map1, &map2),
+ "Expected {x} != {x}");
+
+ ipmap_done(&map1);
+@@ -700,7 +700,7 @@ START_TEST(test_ipv6_inequality_2)
+ ipmap_init(&map2, 0);
+ ipmap_ipv6_set(&map2, &addr, 2);
+
+- fail_unless(!ipmap_is_equal(&map1, &map2),
++ ck_assert_msg(!ipmap_is_equal(&map1, &map2),
+ "Expected {x} != {x}");
+
+ ipmap_done(&map1);
+@@ -722,7 +722,7 @@ START_TEST(test_ipv6_memory_size_1)
+ expected = 129 * sizeof(struct ipset_node);
+ actual = ipmap_memory_size(&map);
+
+- fail_unless(expected == actual,
++ ck_assert_msg(expected == actual,
+ "Expected map to be %zu bytes, got %zu bytes",
+ expected, actual);
+
+@@ -744,7 +744,7 @@ START_TEST(test_ipv6_memory_size_2)
+ expected = 33 * sizeof(struct ipset_node);
+ actual = ipmap_memory_size(&map);
+
+- fail_unless(expected == actual,
++ ck_assert_msg(expected == actual,
+ "Expected map to be %zu bytes, got %zu bytes",
+ expected, actual);
+
+diff --git a/tests/test-ipset.c b/tests/test-ipset.c
+index 0737e2e..1cf2d16 100644
+--- a/tests/test-ipset.c
++++ b/tests/test-ipset.c
+@@ -72,17 +72,17 @@ test_round_trip(struct ip_set *set)
+ struct temp_file *temp_file = temp_file_new();
+ temp_file_open_stream(temp_file);
+
+- fail_unless(ipset_save(temp_file->stream, set) == 0,
++ ck_assert_msg(ipset_save(temp_file->stream, set) == 0,
+ "Could not save set");
+
+ fflush(temp_file->stream);
+ fseek(temp_file->stream, 0, SEEK_SET);
+
+ read_set = ipset_load(temp_file->stream);
+- fail_if(read_set == NULL,
++ ck_assert_msg(!(read_set == NULL),
+ "Could not read set");
+
+- fail_unless(ipset_is_equal(set, read_set),
++ ck_assert_msg(ipset_is_equal(set, read_set),
+ "Set not same after saving/loading");
+
+ temp_file_free(temp_file);
+@@ -100,7 +100,7 @@ START_TEST(test_set_starts_empty)
+ struct ip_set set;
+
+ ipset_init(&set);
+- fail_unless(ipset_is_empty(&set),
++ ck_assert_msg(ipset_is_empty(&set),
+ "Set should start empty");
+ ipset_done(&set);
+ }
+@@ -113,7 +113,7 @@ START_TEST(test_empty_sets_equal)
+
+ ipset_init(&set1);
+ ipset_init(&set2);
+- fail_unless(ipset_is_equal(&set1, &set2),
++ ck_assert_msg(ipset_is_equal(&set1, &set2),
+ "Empty sets should be equal");
+ ipset_done(&set1);
+ ipset_done(&set2);
+@@ -144,9 +144,9 @@ START_TEST(test_ipv4_insert_01)
+
+ ipset_init(&set);
+ cork_ipv4_init(&addr, "192.168.1.100");
+- fail_if(ipset_ipv4_add(&set, &addr),
++ ck_assert_msg(!ipset_ipv4_add(&set, &addr),
+ "Element should not be present");
+- fail_unless(ipset_ipv4_add(&set, &addr),
++ ck_assert_msg(ipset_ipv4_add(&set, &addr),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -160,11 +160,11 @@ START_TEST(test_ipv4_remove_01)
+
+ ipset_init(&set);
+ cork_ipv4_init(&addr, "192.168.1.100");
+- fail_if(ipset_ipv4_add(&set, &addr),
++ ck_assert_msg(!ipset_ipv4_add(&set, &addr),
+ "Element should not be present");
+- fail_if(ipset_ipv4_remove(&set, &addr),
++ ck_assert_msg(!ipset_ipv4_remove(&set, &addr),
+ "Element should be present");
+- fail_unless(ipset_ipv4_remove(&set, &addr),
++ ck_assert_msg(ipset_ipv4_remove(&set, &addr),
+ "Element should not be present");
+ ipset_done(&set);
+ }
+@@ -178,9 +178,9 @@ START_TEST(test_ipv4_insert_network_01)
+
+ ipset_init(&set);
+ cork_ipv4_init(&addr, "192.168.1.100");
+- fail_if(ipset_ipv4_add_network(&set, &addr, 24),
++ ck_assert_msg(!ipset_ipv4_add_network(&set, &addr, 24),
+ "Element should not be present");
+- fail_unless(ipset_ipv4_add_network(&set, &addr, 24),
++ ck_assert_msg(ipset_ipv4_add_network(&set, &addr, 24),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -194,11 +194,11 @@ START_TEST(test_ipv4_remove_network_01)
+
+ ipset_init(&set);
+ cork_ipv4_init(&addr, "192.168.1.100");
+- fail_if(ipset_ipv4_add_network(&set, &addr, 24),
++ ck_assert_msg(!ipset_ipv4_add_network(&set, &addr, 24),
+ "Element should not be present");
+- fail_if(ipset_ipv4_remove_network(&set, &addr, 24),
++ ck_assert_msg(!ipset_ipv4_remove_network(&set, &addr, 24),
+ "Element should be present");
+- fail_unless(ipset_ipv4_remove_network(&set, &addr, 24),
++ ck_assert_msg(ipset_ipv4_remove_network(&set, &addr, 24),
+ "Element should not be present");
+ ipset_done(&set);
+ }
+@@ -213,7 +213,7 @@ START_TEST(test_ipv4_bad_cidr_prefix_01)
+ ipset_init(&set);
+ cork_ipv4_init(&addr, "192.168.1.100");
+ ipset_ipv4_add_network(&set, &addr, 33);
+- fail_unless(ipset_is_empty(&set),
++ ck_assert_msg(ipset_is_empty(&set),
+ "Bad CIDR prefix shouldn't change set");
+ cork_error_clear();
+ ipset_done(&set);
+@@ -228,9 +228,9 @@ START_TEST(test_ipv4_contains_01)
+
+ ipset_init(&set);
+ cork_ipv4_init(&addr, "192.168.1.100");
+- fail_if(ipset_ipv4_add(&set, &addr),
++ ck_assert_msg(!ipset_ipv4_add(&set, &addr),
+ "Element should not be present");
+- fail_unless(ipset_contains_ipv4(&set, &addr),
++ ck_assert_msg(ipset_contains_ipv4(&set, &addr),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -246,9 +246,9 @@ START_TEST(test_ipv4_contains_02)
+ ipset_init(&set);
+ cork_ipv4_init(&addr, "192.168.1.100");
+ cork_ip_from_ipv4(&ip, &addr);
+- fail_if(ipset_ipv4_add(&set, &addr),
++ ck_assert_msg(!ipset_ipv4_add(&set, &addr),
+ "Element should not be present");
+- fail_unless(ipset_contains_ip(&set, &ip),
++ ck_assert_msg(ipset_contains_ip(&set, &ip),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -262,9 +262,9 @@ START_TEST(test_ipv4_network_contains_01)
+
+ ipset_init(&set);
+ cork_ipv4_init(&addr, "192.168.1.100");
+- fail_if(ipset_ipv4_add_network(&set, &addr, 24),
++ ck_assert_msg(!ipset_ipv4_add_network(&set, &addr, 24),
+ "Element should not be present");
+- fail_unless(ipset_contains_ipv4(&set, &addr),
++ ck_assert_msg(ipset_contains_ipv4(&set, &addr),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -283,7 +283,7 @@ START_TEST(test_ipv4_equality_1)
+ ipset_init(&set2);
+ ipset_ipv4_add(&set2, &addr);
+
+- fail_unless(ipset_is_equal(&set1, &set2),
++ ck_assert_msg(ipset_is_equal(&set1, &set2),
+ "Expected {x} == {x}");
+
+ ipset_done(&set1);
+@@ -305,7 +305,7 @@ START_TEST(test_ipv4_equality_2)
+ ipset_init(&set2);
+ ipset_ipv4_add_network(&set2, &addr, 24);
+
+- fail_unless(ipset_is_equal(&set1, &set2),
++ ck_assert_msg(ipset_is_equal(&set1, &set2),
+ "Expected {x} == {x}");
+
+ ipset_done(&set1);
+@@ -332,7 +332,7 @@ START_TEST(test_ipv4_equality_3)
+ cork_ipv4_init(&addr, "192.168.2.0");
+ ipset_ipv4_add(&set2, &addr);
+
+- fail_unless(ipset_is_equal(&set1, &set2),
++ ck_assert_msg(ipset_is_equal(&set1, &set2),
+ "Expected {x} == {x}");
+
+ ipset_done(&set1);
+@@ -353,7 +353,7 @@ START_TEST(test_ipv4_inequality_1)
+ ipset_init(&set2);
+ ipset_ipv4_add_network(&set2, &addr, 24);
+
+- fail_unless(!ipset_is_equal(&set1, &set2),
++ ck_assert_msg(!ipset_is_equal(&set1, &set2),
+ "Expected {x} != {x}");
+
+ ipset_done(&set1);
+@@ -375,7 +375,7 @@ START_TEST(test_ipv4_memory_size_1)
+ expected = 33 * sizeof(struct ipset_node);
+ actual = ipset_memory_size(&set);
+
+- fail_unless(expected == actual,
++ ck_assert_msg(expected == actual,
+ "Expected set to be %zu bytes, got %zu bytes",
+ expected, actual);
+
+@@ -397,7 +397,7 @@ START_TEST(test_ipv4_memory_size_2)
+ expected = 25 * sizeof(struct ipset_node);
+ actual = ipset_memory_size(&set);
+
+- fail_unless(expected == actual,
++ ck_assert_msg(expected == actual,
+ "Expected set to be %zu bytes, got %zu bytes",
+ expected, actual);
+
+@@ -464,9 +464,9 @@ START_TEST(test_ipv6_insert_01)
+
+ ipset_init(&set);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+- fail_if(ipset_ipv6_add(&set, &addr),
++ ck_assert_msg(!ipset_ipv6_add(&set, &addr),
+ "Element should not be present");
+- fail_unless(ipset_ipv6_add(&set, &addr),
++ ck_assert_msg(ipset_ipv6_add(&set, &addr),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -480,11 +480,11 @@ START_TEST(test_ipv6_remove_01)
+
+ ipset_init(&set);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+- fail_if(ipset_ipv6_add(&set, &addr),
++ ck_assert_msg(!ipset_ipv6_add(&set, &addr),
+ "Element should not be present");
+- fail_if(ipset_ipv6_remove(&set, &addr),
++ ck_assert_msg(!ipset_ipv6_remove(&set, &addr),
+ "Element should be present");
+- fail_unless(ipset_ipv6_remove(&set, &addr),
++ ck_assert_msg(ipset_ipv6_remove(&set, &addr),
+ "Element should not be present");
+ ipset_done(&set);
+ }
+@@ -498,9 +498,9 @@ START_TEST(test_ipv6_insert_network_01)
+
+ ipset_init(&set);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+- fail_if(ipset_ipv6_add_network(&set, &addr, 32),
++ ck_assert_msg(!ipset_ipv6_add_network(&set, &addr, 32),
+ "Element should not be present");
+- fail_unless(ipset_ipv6_add_network(&set, &addr, 32),
++ ck_assert_msg(ipset_ipv6_add_network(&set, &addr, 32),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -514,11 +514,11 @@ START_TEST(test_ipv6_remove_network_01)
+
+ ipset_init(&set);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+- fail_if(ipset_ipv6_add_network(&set, &addr, 32),
++ ck_assert_msg(!ipset_ipv6_add_network(&set, &addr, 32),
+ "ELement should not be present");
+- fail_if(ipset_ipv6_remove_network(&set, &addr, 32),
++ ck_assert_msg(!ipset_ipv6_remove_network(&set, &addr, 32),
+ "Element should be present");
+- fail_unless(ipset_ipv6_remove_network(&set, &addr, 32),
++ ck_assert_msg(ipset_ipv6_remove_network(&set, &addr, 32),
+ "Element should not be present");
+ ipset_done(&set);
+ }
+@@ -533,7 +533,7 @@ START_TEST(test_ipv6_bad_cidr_prefix_01)
+ ipset_init(&set);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ ipset_ipv6_add_network(&set, &addr, 129);
+- fail_unless(ipset_is_empty(&set),
++ ck_assert_msg(ipset_is_empty(&set),
+ "Bad CIDR prefix shouldn't change set");
+ cork_error_clear();
+ ipset_done(&set);
+@@ -548,9 +548,9 @@ START_TEST(test_ipv6_contains_01)
+
+ ipset_init(&set);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+- fail_if(ipset_ipv6_add(&set, &addr),
++ ck_assert_msg(!ipset_ipv6_add(&set, &addr),
+ "Element should not be present");
+- fail_unless(ipset_contains_ipv6(&set, &addr),
++ ck_assert_msg(ipset_contains_ipv6(&set, &addr),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -566,9 +566,9 @@ START_TEST(test_ipv6_contains_02)
+ ipset_init(&set);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+ cork_ip_from_ipv6(&ip, &addr);
+- fail_if(ipset_ipv6_add(&set, &addr),
++ ck_assert_msg(!ipset_ipv6_add(&set, &addr),
+ "Element should not be present");
+- fail_unless(ipset_contains_ip(&set, &ip),
++ ck_assert_msg(ipset_contains_ip(&set, &ip),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -582,9 +582,9 @@ START_TEST(test_ipv6_network_contains_01)
+
+ ipset_init(&set);
+ cork_ipv6_init(&addr, "fe80::21e:c2ff:fe9f:e8e1");
+- fail_if(ipset_ipv6_add_network(&set, &addr, 32),
++ ck_assert_msg(!ipset_ipv6_add_network(&set, &addr, 32),
+ "Element should not be present");
+- fail_unless(ipset_contains_ipv6(&set, &addr),
++ ck_assert_msg(ipset_contains_ipv6(&set, &addr),
+ "Element should be present");
+ ipset_done(&set);
+ }
+@@ -603,7 +603,7 @@ START_TEST(test_ipv6_equality_1)
+ ipset_init(&set2);
+ ipset_ipv6_add(&set2, &addr);
+
+- fail_unless(ipset_is_equal(&set1, &set2),
++ ck_assert_msg(ipset_is_equal(&set1, &set2),
+ "Expected {x} == {x}");
+
+ ipset_done(&set1);
+@@ -625,7 +625,7 @@ START_TEST(test_ipv6_equality_2)
+ ipset_init(&set2);
+ ipset_ipv6_add_network(&set2, &addr, 64);
+
+- fail_unless(ipset_is_equal(&set1, &set2),
++ ck_assert_msg(ipset_is_equal(&set1, &set2),
+ "Expected {x} == {x}");
+
+ ipset_done(&set1);
+@@ -652,7 +652,7 @@ START_TEST(test_ipv6_equality_3)
+ cork_ipv6_init(&addr, "fe80:1::");
+ ipset_ipv6_add(&set2, &addr);
+
+- fail_unless(ipset_is_equal(&set1, &set2),
++ ck_assert_msg(ipset_is_equal(&set1, &set2),
+ "Expected {x} == {x}");
+
+ ipset_done(&set1);
+@@ -673,7 +673,7 @@ START_TEST(test_ipv6_inequality_1)
+ ipset_init(&set2);
+ ipset_ipv6_add_network(&set2, &addr, 32);
+
+- fail_unless(!ipset_is_equal(&set1, &set2),
++ ck_assert_msg(!ipset_is_equal(&set1, &set2),
+ "Expected {x} != {x}");
+
+ ipset_done(&set1);
+@@ -695,7 +695,7 @@ START_TEST(test_ipv6_memory_size_1)
+ expected = 129 * sizeof(struct ipset_node);
+ actual = ipset_memory_size(&set);
+
+- fail_unless(expected == actual,
++ ck_assert_msg(expected == actual,
+ "Expected set to be %zu bytes, got %zu bytes",
+ expected, actual);
+
+@@ -717,7 +717,7 @@ START_TEST(test_ipv6_memory_size_2)
+ expected = 25 * sizeof(struct ipset_node);
+ actual = ipset_memory_size(&set);
+
+- fail_unless(expected == actual,
++ ck_assert_msg(expected == actual,
+ "Expected set to be %zu bytes, got %zu bytes",
+ expected, actual);
+
+diff --git a/tests/test-iterator.c b/tests/test-iterator.c
+index c1aea7f..77240a3 100644
+--- a/tests/test-iterator.c
++++ b/tests/test-iterator.c
+@@ -29,9 +29,9 @@ START_TEST(test_iterate_empty)
+ struct ip_set set;
+ ipset_init(&set);
+ struct ipset_iterator *it = ipset_iterate(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should be empty");
+ ipset_iterator_free(it);
+ ipset_done(&set);
+@@ -47,22 +47,22 @@ START_TEST(test_ipv4_iterate_01)
+ struct cork_ip ip1;
+ cork_ip_init(&ip1, "192.168.0.1");
+
+- fail_if(ipset_ip_add(&set, &ip1),
++ ck_assert_msg(!ipset_ip_add(&set, &ip1),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == IPV4_BIT_SIZE,
++ ck_assert_msg(it->cidr_prefix == IPV4_BIT_SIZE,
+ "IP CIDR prefix 0 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 1 element");
+
+ ipset_iterator_free(it);
+@@ -80,22 +80,22 @@ START_TEST(test_ipv4_iterate_network_01)
+ struct cork_ip ip1;
+ cork_ip_init(&ip1, "192.168.0.0");
+
+- fail_if(ipset_ip_add_network(&set, &ip1, 31),
++ ck_assert_msg(!ipset_ip_add_network(&set, &ip1, 31),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate_networks(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == 31,
++ ck_assert_msg(it->cidr_prefix == 31,
+ "IP CIDR prefix 0 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 1 elements");
+
+ ipset_iterator_free(it);
+@@ -113,22 +113,22 @@ START_TEST(test_ipv4_iterate_network_02)
+ struct cork_ip ip1;
+ cork_ip_init(&ip1, "192.168.0.0");
+
+- fail_if(ipset_ip_add_network(&set, &ip1, 16),
++ ck_assert_msg(!ipset_ip_add_network(&set, &ip1, 16),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate_networks(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == 16,
++ ck_assert_msg(it->cidr_prefix == 16,
+ "IP CIDR prefix 0 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 1 elements");
+
+ ipset_iterator_free(it);
+@@ -154,25 +154,25 @@ START_TEST(test_ipv4_iterate_network_03)
+ struct cork_ip ip2;
+ cork_ip_init(&ip2, "192.168.0.1");
+
+- fail_if(ipset_ip_add(&set, &ip1),
++ ck_assert_msg(!ipset_ip_add(&set, &ip1),
+ "Element should not be present");
+
+- fail_if(ipset_ip_add(&set, &ip2),
++ ck_assert_msg(!ipset_ip_add(&set, &ip2),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate_networks(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == 31,
++ ck_assert_msg(it->cidr_prefix == 31,
+ "IP CIDR prefix 0 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 1 elements");
+
+ ipset_iterator_free(it);
+@@ -190,22 +190,22 @@ START_TEST(test_ipv6_iterate_01)
+ struct cork_ip ip1;
+ cork_ip_init(&ip1, "fe80::1");
+
+- fail_if(ipset_ip_add(&set, &ip1),
++ ck_assert_msg(!ipset_ip_add(&set, &ip1),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == IPV6_BIT_SIZE,
++ ck_assert_msg(it->cidr_prefix == IPV6_BIT_SIZE,
+ "IP CIDR prefix 0 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 1 element");
+
+ ipset_iterator_free(it);
+@@ -223,22 +223,22 @@ START_TEST(test_ipv6_iterate_network_01)
+ struct cork_ip ip1;
+ cork_ip_init(&ip1, "fe80::");
+
+- fail_if(ipset_ip_add_network(&set, &ip1, 127),
++ ck_assert_msg(!ipset_ip_add_network(&set, &ip1, 127),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate_networks(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == 127,
++ ck_assert_msg(it->cidr_prefix == 127,
+ "IP CIDR prefix 0 doesn't match (%u)", it->cidr_prefix);
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 1 element");
+
+ ipset_iterator_free(it);
+@@ -256,22 +256,22 @@ START_TEST(test_ipv6_iterate_network_02)
+ struct cork_ip ip1;
+ cork_ip_init(&ip1, "fe80::");
+
+- fail_if(ipset_ip_add_network(&set, &ip1, 16),
++ ck_assert_msg(!ipset_ip_add_network(&set, &ip1, 16),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate_networks(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == 16,
++ ck_assert_msg(it->cidr_prefix == 16,
+ "IP CIDR prefix 0 doesn't match (%u)", it->cidr_prefix);
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 1 element");
+
+ ipset_iterator_free(it);
+@@ -297,25 +297,25 @@ START_TEST(test_ipv6_iterate_network_03)
+ struct cork_ip ip2;
+ cork_ip_init(&ip2, "fe80::1");
+
+- fail_if(ipset_ip_add(&set, &ip1),
++ ck_assert_msg(!ipset_ip_add(&set, &ip1),
+ "Element should not be present");
+
+- fail_if(ipset_ip_add(&set, &ip2),
++ ck_assert_msg(!ipset_ip_add(&set, &ip2),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate_networks(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == 127,
++ ck_assert_msg(it->cidr_prefix == 127,
+ "IP CIDR prefix 0 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 1 elements");
+
+ ipset_iterator_free(it);
+@@ -337,26 +337,26 @@ START_TEST(test_generic_ip_iterate_01)
+ cork_ip_init(&ip2, "::");
+
+ struct ipset_iterator *it = ipset_iterate_networks(&set, false);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == 0,
++ ck_assert_msg(it->cidr_prefix == 0,
+ "IP CIDR prefix 0 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set should have more than 1 element");
+- fail_unless(cork_ip_equal(&ip2, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip2, &it->addr),
+ "IP address 1 doesn't match");
+- fail_unless(it->cidr_prefix == 0,
++ ck_assert_msg(it->cidr_prefix == 0,
+ "IP CIDR prefix 1 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 2 elements");
+
+ ipset_iterator_free(it);
+@@ -385,32 +385,32 @@ START_TEST(test_generic_ip_iterate_02)
+ struct cork_ip ip2;
+ cork_ip_init(&ip2, "c0a8:0001::");
+
+- fail_if(ipset_ip_add(&set, &ip1),
++ ck_assert_msg(!ipset_ip_add(&set, &ip1),
+ "Element should not be present");
+- fail_if(ipset_ip_add_network(&set, &ip2, 32),
++ ck_assert_msg(!ipset_ip_add_network(&set, &ip2, 32),
+ "Element should not be present");
+
+ struct ipset_iterator *it = ipset_iterate_networks(&set, true);
+- fail_if(it == NULL,
++ ck_assert_msg(!(it == NULL),
+ "IP set iterator is NULL");
+
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set shouldn't be empty");
+- fail_unless(cork_ip_equal(&ip1, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip1, &it->addr),
+ "IP address 0 doesn't match");
+- fail_unless(it->cidr_prefix == 32,
++ ck_assert_msg(it->cidr_prefix == 32,
+ "IP CIDR prefix 0 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_if(it->finished,
++ ck_assert_msg(!(it->finished),
+ "IP set should have more than 1 element");
+- fail_unless(cork_ip_equal(&ip2, &it->addr),
++ ck_assert_msg(cork_ip_equal(&ip2, &it->addr),
+ "IP address 1 doesn't match");
+- fail_unless(it->cidr_prefix == 32,
++ ck_assert_msg(it->cidr_prefix == 32,
+ "IP CIDR prefix 1 doesn't match");
+
+ ipset_iterator_advance(it);
+- fail_unless(it->finished,
++ ck_assert_msg(it->finished,
+ "IP set should contain 2 elements");
+
+ ipset_iterator_free(it);
+--
+2.36.1
+
diff --git a/testing/libcotp/APKBUILD b/testing/libcotp/APKBUILD
index d9c1f29f157..a0a5f8fcb63 100644
--- a/testing/libcotp/APKBUILD
+++ b/testing/libcotp/APKBUILD
@@ -1,19 +1,19 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=libcotp
-pkgver=1.2.4
+pkgver=2.0.2
pkgrel=0
pkgdesc="Library for generating TOTP and HOTP"
url="https://github.com/paolostivanin/libcotp"
license="Apache-2.0"
arch="all"
-makedepends="cmake libgcrypt-dev libbaseencode-dev"
+makedepends="cmake libgcrypt-dev samurai"
subpackages="$pkgname-dev"
source="https://github.com/paolostivanin/libcotp/archive/v$pkgver/libcotp-$pkgver.tar.gz"
options="!check" # needs criterion
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
@@ -25,5 +25,5 @@ package() {
}
sha512sums="
-667e8a31e48c120f5c617c4b47c9a0780e733a08f7cdfc299e7ada7c1be61bb524b00ad5b1ea381d24f187370aa04d0b7d55b9b7228c12c88be209967da82d3f libcotp-1.2.4.tar.gz
+c630ba7787aef66cdd8bf5dad8b439165795a6c875a850b6ffc4462a1f414c4d81a7db784831f68ec7fce6c9f393fd857cb84afb0c63527a5b4be85ca14896d9 libcotp-2.0.2.tar.gz
"
diff --git a/testing/libctl/APKBUILD b/testing/libctl/APKBUILD
index 6788d3610f7..94416222c5b 100644
--- a/testing/libctl/APKBUILD
+++ b/testing/libctl/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Isaac Dunham <ibid.ag@gmail.com>
# Maintainer:
pkgname=libctl
-pkgver=4.5.0
+pkgver=4.5.1
pkgrel=1
pkgdesc="Guile-based library implementing flexible control files for scientific simulations"
url="https://libctl.readthedocs.io/"
@@ -10,7 +10,7 @@ license="GPL-2.0-or-later AND LGPL-2.1-or-later"
depends_dev="guile-dev gmp-dev"
makedepends="$depends_dev gc-dev gfortran autoconf automake libtool"
subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/stevengj/libctl/archive/v$pkgver.tar.gz"
+source="https://github.com/NanoComp/libctl/archive/v$pkgver/libctl-$pkgver.tar.gz"
prepare() {
default_prepare
@@ -34,4 +34,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="afa25e8dbc4b4652e45e7235937a8fe93f75e5e8f812afcca047c165f08ee4077e3cb215579c2f8b0716556ba4216f23ed2f2c69ad954083dde02c1261e02771 libctl-4.5.0.tar.gz"
+sha512sums="
+e78d11196e29f6d3a7d423f4e6fc03230a2d7e40014c9d7a0ad006c81941c272075d6598686b60b0ef9f3be7c013190aef67c331230d1b0c40de3dafca71f4af libctl-4.5.1.tar.gz
+"
diff --git a/testing/libcyaml/APKBUILD b/testing/libcyaml/APKBUILD
new file mode 100644
index 00000000000..f0458de0652
--- /dev/null
+++ b/testing/libcyaml/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=libcyaml
+pkgver=1.4.1
+pkgrel=2
+pkgdesc="C library for reading and writing YAML"
+url="https://github.com/tlsa/libcyaml"
+arch="all"
+license="ISC"
+makedepends="yaml-dev"
+subpackages="$pkgname-static $pkgname-doc $pkgname-dev"
+source="https://github.com/tlsa/libcyaml/archive/v$pkgver/libcyaml-v$pkgver.tar.gz"
+
+build() {
+ make VARIANT=release
+}
+
+check() {
+ make test
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ install -Dm644 docs/guide.md -t "$pkgdir"/usr/share/doc/"$pkgname"/
+ install -Dm644 examples/numerical/* -t "$pkgdir"/usr/share/doc/"$pkgname"/examples/numerical/
+ install -Dm644 examples/planner/* -t "$pkgdir"/usr/share/doc/"$pkgname"/examples/planner/
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/"$pkgname"/
+}
+
+sha512sums="
+ecbb8f9e7091027fe288b3a2c8c995cdea83b5c7fe208a87db3a8e1b72b7201c42adfb1b9bc6628d478b66be9d1f7c8dd134358ce43fa6d6cc6c9d20f6452a36 libcyaml-v1.4.1.tar.gz
+"
diff --git a/testing/libcypher-parser/APKBUILD b/testing/libcypher-parser/APKBUILD
deleted file mode 100644
index d2b02dd18e5..00000000000
--- a/testing/libcypher-parser/APKBUILD
+++ /dev/null
@@ -1,61 +0,0 @@
-# Contributor: Chris Leishman <chris@leishman.org>
-# Maintainer: Chris Leishman <chris@leishman.org>
-pkgname=libcypher-parser
-pkgver=0.6.2
-pkgrel=0
-pkgdesc="Parsing library for the Cypher query language"
-url="https://github.com/cleishm/libcypher-parser"
-arch="all"
-license="Apache-2.0"
-makedepends="$depends_dev automake autoconf libtool check-dev doxygen pkgconfig"
-subpackages="$pkgname-dev $pkgname-doc::noarch cypher-lint cypher-lint-doc::noarch"
-source="https://github.com/cleishm/libcypher-parser/releases/download/v$pkgver/libcypher-parser-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --prefix=/usr
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir"/usr/share/doc/libcypher-parser
-}
-
-doc() {
- depends="$depends_doc"
- pkgdesc="$pkgdesc (documentation)"
- install_if="docs $pkgname=$pkgver-r$pkgrel"
-
- if [ "$subpkgname" = "libcypher-parser-doc" ]; then
- mkdir -p "$subpkgdir"/usr/share
- mv "$pkgdir"/usr/share/doc "$subpkgdir"/usr/share/
- elif [ "$subpkgname" = "cypher-lint-doc" ]; then
- mkdir -p "$subpkgdir"/usr/share
- mv "$pkgdir"/usr/share/man "$subpkgdir"/usr/share/
- find "$subpkgdir"/usr/share/man/ -type f | xargs gzip -9
- else
- die "Unknown doc package $pkgname"
- fi
-
- # remove if empty, ignore error (not empty)
- rmdir "$pkgdir"/usr/share "$pkgdir"/usr || true 2>/dev/null
- return 0
-}
-
-lint() {
- pkgdesc="Lint tool for the Cypher query language"
-
- mkdir -p "$subpkgdir"/usr
- mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
-
- # remove if empty, ignore error (not empty)
- rmdir "$pkgdir"/usr/bin "$pkgdir"/usr || true 2>/dev/null
- return 0
-}
-
-sha512sums="71d1fd966c2d7e5637be1b59a17483cf8a782aa75582f4dcc64e0ea7b3f50c80cbf92cf07df2c601aeaa1186910a0e3b529c58da1318a34357f8c860f8e97361 libcypher-parser-0.6.2.tar.gz"
diff --git a/testing/libdatrie/APKBUILD b/testing/libdatrie/APKBUILD
new file mode 100644
index 00000000000..2c1221fed88
--- /dev/null
+++ b/testing/libdatrie/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=libdatrie
+pkgver=0.2.13
+pkgrel=0
+pkgdesc="library for double-array trie"
+url="https://github.com/tlwg/libdatrie"
+arch="all"
+license="LGPL-2.1-or-later"
+subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"
+source="https://github.com/tlwg/libdatrie/releases/download/v$pkgver/libdatrie-$pkgver.tar.xz"
+
+build() {
+ ./configure \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ # add -j1 to fix error:
+ # make[3]: Entering directory 'src/libdatrie-0.2.13/tools'
+ # rm -f pkg/libdatrie/usr/bin/trietool-0.2
+ # ln -s trietool pkg/libdatrie/usr/bin/trietool-0.2
+ # ln: pkg/libdatrie/usr/bin/trietool-0.2: No such file or directory
+ # make[3]: *** [Makefile:654: install-data-hook] Error 1
+ make DESTDIR="$pkgdir" -j1 install
+}
+
+sha512sums="
+db3c879d825ead5871c12ef3a06bb093cb1708a6e7e20775eaf82356af9dd6ad54c6b5cabbe1773f2494d3dfa2426528fdd49441038b6294b70ccb1a3d90099a libdatrie-0.2.13.tar.xz
+"
diff --git a/testing/libdecor/APKBUILD b/testing/libdecor/APKBUILD
deleted file mode 100644
index 294ced14f6f..00000000000
--- a/testing/libdecor/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=libdecor
-pkgver=0.1.0
-pkgrel=0
-pkgdesc="Client-side decorations library for Wayland clients"
-url="https://gitlab.gnome.org/jadahl/libdecor"
-license="MIT"
-arch="all"
-makedepends="
- meson
- cairo-dev
- dbus-dev
- pango-dev
- wayland-dev
- wayland-protocols
- "
-subpackages="$pkgname-dev"
-source="https://gitlab.gnome.org/jadahl/libdecor/-/archive/$pkgver/libdecor-$pkgver.tar.gz"
-options="!check" # no test suite
-
-build() {
- abuild-meson \
- -Ddemo=false \
- . output
- meson compile -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-7e228b276efc98894085398ac8b4a37fb23a8ce3dfbb16c3d664d833f99e7d6365c43276880ef36d21d6471e1cdcae1925e6daaf95b4904b5701d103e023a916 libdecor-0.1.0.tar.gz
-"
diff --git a/testing/libdng/APKBUILD b/testing/libdng/APKBUILD
new file mode 100644
index 00000000000..e1f0abd732e
--- /dev/null
+++ b/testing/libdng/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Martijn Braam <martijn@brixit.nl>
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+pkgname=libdng
+pkgver=0.1.1
+pkgrel=0
+pkgdesc="Interface library between libtiff and the world to make sure the output is valid DNG"
+url="https://gitlab.com/megapixels-org/libdng"
+arch="all !s390x" # Libtiff does weird things on s390x
+license="MIT"
+source="https://gitlab.com/megapixels-org/libdng/-/archive/$pkgver/libdng-$pkgver.tar.gz"
+makedepends="cmake linux-headers meson tiff-dev scdoc"
+subpackages="$pkgname-doc $pkgname-dev $pkgname-utils"
+
+build() {
+ abuild-meson . output
+ meson compile ${JOBS:+-j ${JOBS}} -C output
+}
+
+check() {
+ meson test --no-rebuild -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+utils() {
+ pkgdesc="DNG manipulation utlities using libdng"
+ amove usr/bin
+}
+
+
+sha512sums="
+e8f8f0d78ff89fc50e2fde1787d528946c171b43b1056eecd645904f93ac57e52a516361667628a1457783169703649a7aebd496c054cd38751f9de21e84be1d libdng-0.1.1.tar.gz
+"
diff --git a/testing/libdotconf/APKBUILD b/testing/libdotconf/APKBUILD
deleted file mode 100644
index dcf0b336f23..00000000000
--- a/testing/libdotconf/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Blake Oliver <oliver22213@me.com>
-# Maintainer: Blake Oliver <oliver22213@me.com>
-pkgname=libdotconf
-pkgver=1.3
-pkgrel=0
-pkgdesc="dot.conf configuration file parser"
-url="https://github.com/williamh/dotconf"
-arch="all"
-license="LGPL-2.1-only"
-makedepends="autoconf automake libtool"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/williamh/dotconf/archive/v$pkgver/libdotconf-$pkgver.tar.gz"
-builddir="$srcdir/dotconf-$pkgver"
-options="!check" # No test suite
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-prepare() {
- autoreconf -fi
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="ccd806685879e2438efaa06949cd685af8bd318d38111babf8c289134b90d01bc2857277f2aa01549a1ffe8a2f2d5bbb0685f46de0d7b987412350af8a28d6d5 libdotconf-1.3.tar.gz"
diff --git a/testing/libeantic/APKBUILD b/testing/libeantic/APKBUILD
new file mode 100644
index 00000000000..4e5ab08e273
--- /dev/null
+++ b/testing/libeantic/APKBUILD
@@ -0,0 +1,73 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=libeantic
+pkgver=2.0.2
+pkgrel=0
+pkgdesc="Embedded algebraic number fields"
+url="https://github.com/flatsurf/e-antic"
+arch="all !s390x" # flint-dev
+license="LGPL-3.0-or-later"
+makedepends="
+ autoconf
+ automake
+ boost-dev
+ flint-dev
+ gmp-dev
+ libantic-dev
+ libarb-dev
+ libtool
+ mpfr-dev
+ py3-setuptools
+ "
+subpackages="$pkgname-dev"
+# todo
+# subpackages="$pkgname-dev py3-pyeantic:py3"
+source="e-antic-$pkgver.tar.gz::https://github.com/flatsurf/e-antic/releases/download/$pkgver/e-antic-$pkgver.tar.gz
+ t-init-test.patch
+ "
+builddir="$srcdir/e-antic-$pkgver"
+
+build() {
+ # better math opts
+ export CFLAGS="$CFLAGS -O3 -flto=auto"
+ export CXXFLAGS="$CXXFLAGS -O3 -flto=auto"
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --without-benchmark \
+ --without-byexample \
+ --without-pytest \
+ --without-doc \
+ --disable-dependency-tracking \
+ --disable-static
+
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ # requires py3-cppyy
+ rm -r "$pkgdir"/usr/lib/python3*
+}
+
+py3() {
+ pkgdesc="$pkgdesc (python module)"
+ depends="python3 py3-cppyy"
+
+ amove usr/lib/python*
+}
+
+sha512sums="
+2c13e8498d3fa21265749f3cc9448737ef0c55cc4f2bf71834e9a6c6816280782cd96e96f4cb33d5b4c0c14208f9a9004bdf21fb4b70dd39425cce6efbe111ee e-antic-2.0.2.tar.gz
+ecb0c89612c1ab2c7d2c8a2feaacf94958994f34e6ce664dd6c9e054d0b244a0f6e9e510149d98b7603b7003e0532f81d43d1fb17dcb8106e540d0c0b060ef63 t-init-test.patch
+"
diff --git a/testing/libeantic/t-init-test.patch b/testing/libeantic/t-init-test.patch
new file mode 100644
index 00000000000..41974ab6463
--- /dev/null
+++ b/testing/libeantic/t-init-test.patch
@@ -0,0 +1,20 @@
+diff --git a/libeantic/test/Makefile.am b/libeantic/test/Makefile.am
+index ce01fb7..759f7c1 100644
+--- a/libeantic/test/Makefile.am
++++ b/libeantic/test/Makefile.am
+@@ -25,7 +25,6 @@ check_PROGRAMS = \
+ fmpz_poly_extra/t-scale_0_1_fmpq \
+ fmpz_poly_extra/t-set_str_pretty \
+ fmpz_poly_extra/t-squarefree_part \
+- renf/t-init \
+ renf/t-init_nth_root_fmpq \
+ renf/t-randtest \
+ renf/t-real_embeddings \
+@@ -83,7 +82,6 @@ fmpz_poly_extra_t_randtest_irreducible_SOURCES = fmpz_poly_extra/t-randtest_irre
+ fmpz_poly_extra_t_scale_0_1_fmpq_SOURCES = fmpz_poly_extra/t-scale_0_1_fmpq.c
+ fmpz_poly_extra_t_set_str_pretty_SOURCES = fmpz_poly_extra/t-set_str_pretty.c
+ fmpz_poly_extra_t_squarefree_part_SOURCES = fmpz_poly_extra/t-squarefree_part.c
+-renf_t_init_SOURCES = renf/t-init.c
+ renf_t_init_nth_root_fmpq_SOURCES = renf/t-init_nth_root_fmpq.c
+ renf_t_randtest_SOURCES = renf/t-randtest.c
+ renf_t_real_embeddings_SOURCES = renf/t-real_embeddings.c
diff --git a/testing/libeatmydata/18.patch b/testing/libeatmydata/18.patch
deleted file mode 100644
index 9858ac40ad9..00000000000
--- a/testing/libeatmydata/18.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Upstream: https://github.com/stewartsmith/libeatmydata/pull/18
-Reason: Libeatmydata redefines open and open64 so it can make those a NO_OP
-for tests. Musl also defines these in fnctl.h, so we have to undefine them
-to not get conflicting definitions
-diff --git a/libeatmydata/libeatmydata.c b/libeatmydata/libeatmydata.c
-index 8fe1b6a..95d940b 100644
---- a/libeatmydata/libeatmydata.c
-+++ b/libeatmydata/libeatmydata.c
-@@ -131,6 +131,8 @@ void LIBEATMYDATA_API sync(void)
- (*libc_sync)();
- }
-
-+#undef open
-+
- int LIBEATMYDATA_API open(const char* pathname, int flags, ...)
- {
- va_list ap;
-@@ -157,6 +159,8 @@ int LIBEATMYDATA_API open(const char* pathname, int flags, ...)
- return (*libc_open)(pathname,flags,mode);
- }
-
-+#undef open64
-+
- #ifndef __USE_FILE_OFFSET64
- int LIBEATMYDATA_API open64(const char* pathname, int flags, ...)
- {
diff --git a/testing/libeatmydata/APKBUILD b/testing/libeatmydata/APKBUILD
deleted file mode 100644
index 4ee571e85f0..00000000000
--- a/testing/libeatmydata/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
-pkgname=libeatmydata
-pkgver=105
-pkgrel=0
-pkgdesc="An LD_PRELOAD library that disables all forms of writing data safely to disk"
-url="https://www.flamingspork.com/projects/libeatmydata/"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="autoconf automake libtool"
-checkdepends="strace"
-source="https://github.com/stewartsmith/libeatmydata/archive/libeatmydata-$pkgver/libeatmydata-$pkgver.tar.gz
- 18.patch
- autoconf-2.71.patch"
-builddir="$srcdir/$pkgname-$pkgname-$pkgver"
-
-prepare() {
- default_prepare
-
- autoreconf -fi
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check-debug
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-225453a12913c08fd91371e3546a256e102438f9a88e7f51726dd5befbcf6c396850c039a38ca3d939558f0369df23d232e24b487564cdf86562645b8b5f92d6 libeatmydata-105.tar.gz
-8fff381b392cf7ee3faf39c41e20d3f152529ec4b2d4ffb503695ff8dce49b86872cbcc56001b2160b617ceb76bb4d1d389939922b1d539413a00fea35904b2a 18.patch
-4eff62d7d14e55e426d98b8ca7be006fd5fdbe8c5c9715d3edb7d8d28694f6827a972d568bfbd797cc2d88af28540c595a1a43102220ebd65059c1aad22958e0 autoconf-2.71.patch
-"
diff --git a/testing/libeatmydata/autoconf-2.71.patch b/testing/libeatmydata/autoconf-2.71.patch
deleted file mode 100644
index 0238fc7e9a8..00000000000
--- a/testing/libeatmydata/autoconf-2.71.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN libeatmydata-libeatmydata-105.orig/m4/pandora_canonical.m4 libeatmydata-libeatmydata-105/m4/pandora_canonical.m4
---- libeatmydata-libeatmydata-105.orig/m4/pandora_canonical.m4 2021-07-26 23:33:42.433846352 -0600
-+++ libeatmydata-libeatmydata-105/m4/pandora_canonical.m4 2021-07-26 23:34:18.850708125 -0600
-@@ -72,8 +72,6 @@
- ])
- ])
-
-- AC_CONFIG_MACRO_DIR([m4])
--
- m4_if(m4_substr(m4_esyscmd(test -d src && echo 0),0,1),0,[
- AC_CONFIG_HEADERS([src/config.h])
- ],[
diff --git a/testing/libebur128/APKBUILD b/testing/libebur128/APKBUILD
deleted file mode 100644
index 609f520a526..00000000000
--- a/testing/libebur128/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=libebur128
-pkgver=1.2.6
-pkgrel=0
-pkgdesc="Library implementing the EBU R128 loudness standard"
-url="https://github.com/jiixyj/libebur128"
-arch="all"
-license="MIT"
-options="!check" # needs extra unpackaged wav files
-makedepends="cmake"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/jiixyj/libebur128/archive/refs/tags/v$pkgver.tar.gz"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_VERBOSE_MAKEFILE=1 \
- -DENABLE_TESTS=OFF
- cmake --build build
-
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-ab188c6d32cd14613119258313a8a3fb1167b55501c9f5b6d3ba738d674bc58f24ac3034c23d9730ed8dc3e95a23619bfb81719e4c79807a9a16c1a5b3423582 libebur128-1.2.6.tar.gz
-"
diff --git a/testing/libecap/APKBUILD b/testing/libecap/APKBUILD
index 409ff225bac..d2ebea40d4e 100644
--- a/testing/libecap/APKBUILD
+++ b/testing/libecap/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Roger Newman <roger.newman@riseup.net>
pkgname=libecap
pkgver=1.0.1
-pkgrel=0
+pkgrel=1
pkgdesc="API for implementing ICAP content analysis and adaptation"
options="!check" # No testsuite
url="http://www.e-cap.org/"
arch="all"
license="BSD-2-Clause"
subpackages="$pkgname-static $pkgname-dev"
-source="http://www.measurement-factory.com/tmp/ecap/$pkgname-$pkgver.tar.gz"
+source="https://www.e-cap.org/archive/libecap-$pkgver.tar.gz"
prepare() {
default_prepare
@@ -39,4 +39,6 @@ static() {
mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib
}
-sha512sums="0054ad11b3f558d7c623060a69207a1b8e679803cabdf1a2bce4b04335d71c016eec770fc9d2cbf3d0a93502c255cb528305f9f8e6df4e095fcb980667045919 libecap-1.0.1.tar.gz"
+sha512sums="
+0054ad11b3f558d7c623060a69207a1b8e679803cabdf1a2bce4b04335d71c016eec770fc9d2cbf3d0a93502c255cb528305f9f8e6df4e095fcb980667045919 libecap-1.0.1.tar.gz
+"
diff --git a/testing/libemf2svg/APKBUILD b/testing/libemf2svg/APKBUILD
index ed8d8fd8283..ce1ba3017d2 100644
--- a/testing/libemf2svg/APKBUILD
+++ b/testing/libemf2svg/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=libemf2svg
pkgver=1.1.0
-pkgrel=1
+pkgrel=2
pkgdesc="MS EMF (Enhanced Metafile) to SVG conversion library"
url="https://github.com/kakwa/libemf2svg"
arch="all"
diff --git a/testing/liberasurecode/APKBUILD b/testing/liberasurecode/APKBUILD
index 51e7e0058b4..845dc916b24 100644
--- a/testing/liberasurecode/APKBUILD
+++ b/testing/liberasurecode/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Ehud Kaldor <ehud@unfairfunction.org>
# Maintainer: Ehud Kaldor <ehud@unfairfunction.org>
pkgname=liberasurecode
-pkgver=1.6.2
-pkgrel=0
+pkgver=1.6.3
+pkgrel=1
pkgdesc="Erasure Code API library written in C with pluggable Erasure Code backends"
url="https://github.com/openstack/liberasurecode"
arch="all"
@@ -36,4 +36,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="027def96275eac67b32b2e3e7144f3042acbcafe5b27b353eb5944e73b55d34931a11324018f131b2acb381007cc79e31a5afd7390fdc517ed30ee592d6f90d5 liberasurecode-1.6.2.tar.gz"
+sha512sums="
+d5daa962324ef19fd195cfa842ec375d9dd5e62e3391b4a1cbf49a850b852b18cfc9be929ab18786d6b839139f6260d5cb4c88a0ba440c06b0e54e04ffb1bee1 liberasurecode-1.6.3.tar.gz
+"
diff --git a/testing/libetebase/APKBUILD b/testing/libetebase/APKBUILD
deleted file mode 100644
index b0990f00438..00000000000
--- a/testing/libetebase/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: pcworld <0188801@gmail.com>
-# Maintainer:
-pkgname=libetebase
-pkgver=0.5.1
-pkgrel=0
-pkgdesc="Etebase C library providing end-to-end encrypted backend as a service"
-url="https://github.com/etesync/libetebase"
-# mips64, s390x and riscv64 blocked by rust/cargo
-arch="all !mips64 !s390x !riscv64"
-license="BSD-3-Clause"
-makedepends="openssl-dev libsodium-dev cargo"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/etesync/libetebase/archive/refs/tags/v$pkgver.tar.gz"
-options="!check"
-
-export SODIUM_USE_PKG_CONFIG=1
-
-build() {
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- # Move the solink-named library to a full path then create
- # symlinks, soname is already set but upstream didn't create
- # these
- # See: https://github.com/etesync/libetebase/issues/4
- mv "$pkgdir/usr/lib/libetebase.so" "$pkgdir/usr/lib/libetebase.so.0.0.0"
- ln -s libetebase.so.0.0.0 "$pkgdir/usr/lib/libetebase.so.0"
- ln -s libetebase.so.0.0.0 "$pkgdir/usr/lib/libetebase.so"
-}
-
-sha512sums="
-73a6c861bd6adfef80fa7bc90b1f229351916ad8ecb508d27756ad12d9e653641531efcd0e1f85c5fc3b0b15c27c8c20a4efcf6a811cb331fb456a65cc19b9eb libetebase-0.5.1.tar.gz
-"
diff --git a/testing/libexosip2/APKBUILD b/testing/libexosip2/APKBUILD
deleted file mode 100644
index f898c2ce506..00000000000
--- a/testing/libexosip2/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Maintainer: David Sugar <tychosoft@gmail.com>
-# Contributor: David Sugar <tychosoft@gmail.com>
-pkgname=libexosip2
-# Needs to be kept in sync with libosip2
-pkgver=5.2.0
-pkgrel=2
-pkgdesc="Extended osip2 library"
-url="http://savannah.nongnu.org/projects/exosip"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="
- autoconf
- automake
- libtool
- c-ares-dev
- libosip2-dev
- openssl-dev
-"
-options="libtool"
-subpackages="$pkgname-dev"
-source="http://download.savannah.nongnu.org/releases/exosip/libexosip2-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
-
- update_config_sub
-}
-
-build() {
- ./autogen.sh
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --disable-tools \
- --enable-pthread \
- --with-gnu-ld \
- --disable-static
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="0abfa695d466a10e67eb89ea5228578e42b713c0aab556e53a76919f7b96069338c3edc151f44566834894244a51cbacda1958612ae58dd2040caa654094d9af libexosip2-5.2.0.tar.gz"
diff --git a/testing/libfaketime/APKBUILD b/testing/libfaketime/APKBUILD
deleted file mode 100644
index a0c4ddbec2f..00000000000
--- a/testing/libfaketime/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
-pkgname=libfaketime
-pkgver=0.9.9
-pkgrel=0
-pkgdesc="intercept system calls related to time and return user-defined values"
-options="!check" # https://github.com/wolfcw/libfaketime/issues/259
-url="https://github.com/wolfcw/libfaketime"
-arch="all"
-makedepends="coreutils"
-license="GPL-2.0-or-later"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/wolfcw/libfaketime/archive/v$pkgver.tar.gz"
-
-build() {
- make
-}
-
-check() {
- make -j1 test
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX="/usr" install
-}
-
-sha512sums="b1aecf456753ccf771f0f80c92d57ffcd2c8349dde93a575862b4570a06812d4bce104f2efbcfd627a85a80fed99dbc37cb156dda0389892bfb4e71df816191f libfaketime-0.9.9.tar.gz"
diff --git a/testing/libfishsound/APKBUILD b/testing/libfishsound/APKBUILD
index c39814b02ab..042ab8462fb 100644
--- a/testing/libfishsound/APKBUILD
+++ b/testing/libfishsound/APKBUILD
@@ -9,7 +9,7 @@ arch="all"
license="BSD-3-Clause"
makedepends="libvorbis-dev speex"
subpackages="$pkgname-dev $pkgname-doc"
-source="http://downloads.xiph.org/releases/libfishsound/libfishsound-$pkgver.tar.gz"
+source="https://downloads.xiph.org/releases/libfishsound/libfishsound-$pkgver.tar.gz"
prepare() {
default_prepare
diff --git a/testing/libfm-qt/APKBUILD b/testing/libfm-qt/APKBUILD
deleted file mode 100644
index a902b0d625b..00000000000
--- a/testing/libfm-qt/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=libfm-qt
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Qt port of libfm"
-url="https://github.com/lxqt/libfm-qt"
-arch="all !s390x !mips !mips64" # s390x, mips, mips64 blocked by libfm
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools qt5-qtx11extras-dev qt5-qttools-dev
- menu-cache-dev libexif-dev libfm-dev qt5-qtbase-dev
- "
-subpackages="$pkgname-dev"
-options="!check" # No testsuite
-source="https://github.com/lxqt/libfm-qt/releases/download/$pkgver/libfm-qt-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-8609709b00a67273e4cb3ca18ad695df172ff3cac2ed70d48e5f607c20a4d4507598b500957bf197bffa65db4ad5843f3fd477a56868c95507a594542f24b5b4 libfm-qt-1.0.0.tar.xz
-"
diff --git a/testing/libfossil/APKBUILD b/testing/libfossil/APKBUILD
new file mode 100644
index 00000000000..642210a3dc3
--- /dev/null
+++ b/testing/libfossil/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=libfossil
+pkgver=0.20240211.1220
+_fslhash=8caf0ac36e
+pkgrel=0
+pkgdesc="Unofficial Fossil SCM library"
+url="https://fossil.wanderinghorse.net/r/libfossil"
+arch="all !ppc64le !riscv64 !s390x" # ftbfs
+license="BSD-2-Clause"
+makedepends="bash tcl zlib-dev"
+subpackages="$pkgname-apps $pkgname-dev"
+source="https://fossil.wanderinghorse.net/r/libfossil/tarball/$_fslhash/libfossil-$_fslhash.tar.gz"
+builddir="$srcdir/$pkgname-$_fslhash"
+options="!check" # no tests provided
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --no-c++ \
+ --no-debug \
+ --no-fnc
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -Dvm644 include/*.h -t "$pkgdir"/usr/include/
+ install -Dvm644 include/fossil-scm/*.h -t "$pkgdir"/usr/include/fossil-scm/
+}
+
+apps() {
+ pkgdesc="$pkgdesc (command-line apps)"
+
+ amove usr/bin
+}
+
+sha512sums="
+61a5d4f358ff786db5ddbfafb545b040813597b9e6fb887135cb2a4f61039eeaa4ba6a7231347e642e6809a1715e4cae331f006e078685fce1ffc26b9701be11 libfossil-8caf0ac36e.tar.gz
+"
diff --git a/testing/libfyaml/APKBUILD b/testing/libfyaml/APKBUILD
index 21f1c6e80d0..d1ac2689ac9 100644
--- a/testing/libfyaml/APKBUILD
+++ b/testing/libfyaml/APKBUILD
@@ -1,23 +1,16 @@
# Contributor: Lucas Ramage <ramage.lucas@protonmail.com>
# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
pkgname=libfyaml
-pkgver=0.7.3
+pkgver=0.9
pkgrel=0
pkgdesc="Fully feature complete YAML parser and emitter"
url="https://github.com/pantoniou/libfyaml"
arch="all"
license="MIT"
-depends="libltdl"
+makedepends="bash libtool linux-headers m4"
checkdepends="check git"
-makedepends="autoconf automake bash libtool"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pantoniou/libfyaml/archive/refs/tags/v$pkgver.tar.gz"
-options="!check" # tests failing, (See: https://github.com/pantoniou/libfyaml/issues/20)
-
-prepare() {
- default_prepare
- ./bootstrap.sh
-}
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/pantoniou/libfyaml/releases/download/v$pkgver/libfyaml-$pkgver.tar.gz"
build() {
./configure \
@@ -41,5 +34,5 @@ check() {
}
sha512sums="
-b5c8a2a2ccc4f603373efe12eae4ec027699900fcc4612f8fcd73e495cf445b0574eea02d94353b4a74e8d46f12b03fd367d681296a2b0af7b46c9d1721103c9 libfyaml-0.7.3.tar.gz
+95979361ed50a46acc6da698e4750562f6e3e46aa5d050180225d93afb74929981d9c1d1ca3b6a77fe21a1546a68a9e3df17cdfef5f93257ad5d0c7ad03ae2eb libfyaml-0.9.tar.gz
"
diff --git a/testing/libgdiplus/APKBUILD b/testing/libgdiplus/APKBUILD
deleted file mode 100644
index 2eefb91d173..00000000000
--- a/testing/libgdiplus/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=libgdiplus
-pkgver=6.0.5
-pkgrel=1
-pkgdesc="Open Source Implementation of the GDI+ API"
-url="https://www.mono-project.com/"
-arch="all"
-license="MIT"
-depends_dev="tiff-dev cairo-dev libexif-dev giflib-dev glib-dev pango-dev"
-makedepends="$depends_dev"
-subpackages="$pkgname-dev"
-source="https://download.mono-project.com/sources/libgdiplus/libgdiplus-$pkgver.tar.gz
- pango.patch
- "
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --with-pango
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="3c8fb07097c1b3bc922e5b0944374e03b1ddbaf0d955265a95b45e9d45ceda6ac41aff61468d92ad1fe48c0c25062f10a5fa5f17cb0c7626e4480a7edbaf73a8 libgdiplus-6.0.5.tar.gz
-254073d30791edf1d1a9ce3910b937da94fa4d8b8c09991a41b3541398970140fad0ec33c94f74acd898e1fb742fc8db24bd95ad741af2790bb40818a92cf278 pango.patch"
diff --git a/testing/libgdiplus/pango.patch b/testing/libgdiplus/pango.patch
deleted file mode 100644
index eb7fe37519d..00000000000
--- a/testing/libgdiplus/pango.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 8f42e17e92c562cc243844b8a004cd03144b1384 Mon Sep 17 00:00:00 2001
-From: Filip Navara <filip.navara@gmail.com>
-Date: Thu, 3 Oct 2019 14:25:27 +0200
-Subject: [PATCH] Reinstate support for Pango 1.44+
-
----
- configure.ac | 3 +--
- src/font.c | 50 ++++++++++++++++++++++++++++++++++--------------
- src/text-pango.c | 1 +
- 3 files changed, 38 insertions(+), 16 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 38667dd9..71b0edef 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -59,12 +59,11 @@ cairo_info="`pkg-config --modversion cairo ` (system)"
- GDIPLUS_PKG_REQ="cairo"
-
- PANGO_REQUIRED_VERSION="1.40.14"
--PANGO_MAX_VERSION="1.43"
- if test $text_v = "pango"; then
- PKG_CHECK_MODULES(PANGO, pango >= $PANGO_REQUIRED_VERSION)
- fi
- if test $text_v = "default"; then
-- PKG_CHECK_MODULES(PANGO, pango >= $PANGO_REQUIRED_VERSION && pango <= $PANGO_MAX_VERSION,
-+ PKG_CHECK_MODULES(PANGO, pango >= $PANGO_REQUIRED_VERSION,
- [text_v=pango], [text_v=cairo])
- fi
- if test $text_v = "pango"; then
-diff --git a/src/font.c b/src/font.c
-index e4e160c7..6f586acd 100644
---- a/src/font.c
-+++ b/src/font.c
-@@ -36,6 +36,15 @@
- #include "general-private.h"
- #include "graphics-private.h"
-
-+#ifdef USE_PANGO_RENDERING
-+#if defined(PANGO_VERSION_CHECK)
-+#if PANGO_VERSION_CHECK(1,44,0)
-+#define PANGO_DEPRECATED_FREETYPE_DEPENDENCY
-+#include <hb-ot.h>
-+#endif
-+#endif
-+#endif
-+
- /* Generic fonts families */
- #if GLIB_CHECK_VERSION(2,32,0)
- static GMutex generic;
-@@ -234,7 +243,7 @@ GdipPrivateAddFontFile (GpFontCollection *fontCollection, GDIPCONST WCHAR *filen
-
- fclose (fileHandle);
- FcConfigAppFontAddFile (fontCollection->config, file);
--
-+
- GdipFree (file);
- return Ok;
- }
-@@ -326,8 +335,8 @@ gdip_createPrivateFontSet (GpFontCollection *font_collection)
- {
- FcObjectSet *os = FcObjectSetBuild (FC_FAMILY, FC_FOUNDRY, FC_FILE, NULL);
- FcPattern *pat = FcPatternCreate ();
-- FcFontSet *col = FcFontList (font_collection->config, pat, os);
--
-+ FcFontSet *col = FcFontList (font_collection->config, pat, os);
-+
- if (font_collection->fontset)
- FcFontSetDestroy (font_collection->fontset);
-
-@@ -736,12 +745,6 @@ enum fsSelection {
- fsSelectionOblique = (1 << 9),
- };
-
--#if defined(PANGO_VERSION_CHECK)
--#if PANGO_VERSION_CHECK(1,44,0)
--#define PANGO_DEPRECATED_FREETYPE_DEPENDENCY
--#endif
--#endif
--
- #if !defined(USE_PANGO_RENDERING) || !defined (PANGO_DEPRECATED_FREETYPE_DEPENDENCY)
- static void
- gdip_get_fontfamily_details_from_freetype (GpFontFamily *family, FT_Face face)
-@@ -808,14 +811,33 @@ gdip_get_pango_font_description (GpFont *font)
- static void
- gdip_get_fontfamily_details_from_harfbuzz (GpFontFamily *family, hb_font_t *font)
- {
-+ hb_font_t *subfont;
- hb_font_extents_t font_extents;
-- hb_font_get_extents_for_direction (font, HB_DIRECTION_LTR, &font_extents);
-+ hb_face_t *face;
-+ hb_position_t position;
-+
-+ face = hb_font_get_face (font);
-+ family->height = hb_face_get_upem (face);
-+
-+ subfont = hb_font_create (face);
-
-- family->celldescent = -font_extents.descender;
-- family->cellascent = font_extents.ascender;
-- family->linespacing = family->cellascent + family->celldescent + font_extents.line_gap;
-+ hb_font_set_scale (subfont, family->height, family->height);
-+ hb_font_get_h_extents (subfont, &font_extents);
-+
-+ family->linespacing = font_extents.line_gap + font_extents.ascender - font_extents.descender;
-+
-+ if (hb_ot_metrics_get_position (subfont, HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_ASCENT, &position)) {
-+ family->cellascent = position;
-+ } else {
-+ family->cellascent = font_extents.ascender;
-+ }
-+ if (hb_ot_metrics_get_position (subfont, HB_OT_METRICS_TAG_HORIZONTAL_CLIPPING_DESCENT, &position)) {
-+ family->celldescent = position;
-+ } else {
-+ family->celldescent = -font_extents.descender;
-+ }
-
-- family->height = hb_face_get_upem (hb_font_get_face (font));
-+ hb_font_destroy (subfont);
- }
- #endif
-
-diff --git a/src/text-pango.c b/src/text-pango.c
-index 1baa9762..938a0d23 100644
---- a/src/text-pango.c
-+++ b/src/text-pango.c
-@@ -652,6 +652,7 @@ pango_MeasureString (GpGraphics *graphics, GDIPCONST WCHAR *stringUnicode, INT l
- } else {
- // Nothing was fitted. Most likely either the input length was zero or LineLimit prevented fitting any lines (the height of the first line is greater than the height of the bounding box).
- charsFitted = 0;
-+ lines = 0;
- }
- *codepointsFitted = charsFitted;
- }
diff --git a/testing/libgivaro/APKBUILD b/testing/libgivaro/APKBUILD
new file mode 100644
index 00000000000..2a691dc010a
--- /dev/null
+++ b/testing/libgivaro/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libgivaro
+pkgver=4.2.0
+pkgrel=2
+pkgdesc="C++ library for arithmetic and algebraic computations"
+url="https://casys.gricad-pages.univ-grenoble-alpes.fr/givaro"
+arch="all"
+license="CECILL-B"
+makedepends="gmp-dev"
+source="https://github.com/linbox-team/givaro/releases/download/v$pkgver/givaro-$pkgver.tar.gz
+ gcc13.patch
+ "
+subpackages="$pkgname-static $pkgname-dev"
+builddir="$srcdir/givaro-$pkgver"
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --program-prefix=
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ rm -r "${pkgdir:?}"/usr/share
+}
+
+sha512sums="
+1a3280563181710d364b77e1efe8c8f52ce3119a08b35f329cfd98136a742431b7e9d102289448d337797f815439682d0cfce1567a5a88d5851b244673a84486 givaro-4.2.0.tar.gz
+6a6c02d78c287d48e10b8a9c5b294867fca1e523f28b55e6ee8596ada014360adbb026eef3282e816532c40a0e803010a870a1f62a990aaeb470507e7f191645 gcc13.patch
+"
diff --git a/testing/libgivaro/gcc13.patch b/testing/libgivaro/gcc13.patch
new file mode 100644
index 00000000000..9541907033f
--- /dev/null
+++ b/testing/libgivaro/gcc13.patch
@@ -0,0 +1,12 @@
+diff --git a/src/library/poly1/givdegree.h b/src/library/poly1/givdegree.h
+index 3753a42..c34cc2a 100644
+--- a/src/library/poly1/givdegree.h
++++ b/src/library/poly1/givdegree.h
+@@ -19,6 +19,7 @@
+ #ifndef __GIVARO_poly1degree_H
+ #define __GIVARO_poly1degree_H
+
++#include <cstdint>
+ #include <iostream>
+
+ namespace Givaro {
diff --git a/testing/libgme/APKBUILD b/testing/libgme/APKBUILD
deleted file mode 100644
index 404569e9a29..00000000000
--- a/testing/libgme/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
-# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
-pkgname=libgme
-pkgver=0.6.3
-pkgrel=0
-pkgdesc="Video game music file emulation/playback library"
-url="https://bitbucket.org/mpyne/game-music-emu/wiki/Home"
-arch="all !mips !mips64" # ftbfs
-license="LGPL-2.1-only"
-depends_dev="sdl-dev zlib-dev sdl2-dev"
-makedepends="cmake"
-subpackages="$pkgname-dev"
-options="!check" # make check not implemented
-source="$pkgname-$pkgver.tar.xz::https://bitbucket.org/mpyne/game-music-emu/downloads/game-music-emu-$pkgver.tar.xz
- ppc-musl.patch"
-builddir="$srcdir/game-music-emu-$pkgver"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
-
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- -DENABLE_UBSAN=OFF \
- $CMAKE_CROSSOPTS
- make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-sha512sums="4b20c69ced696bb879c34bcb7ce0f5f276642458d4cebca8ede673eed7d50664e527626e2077f85a3411a26660f1b3f01e43cccd72945e1edb2994421efeb552 libgme-0.6.3.tar.xz
-5134ab6028467f67fd83750dc5a8bcc5511ca66fdabb2adde121e8b7eaed80785d05db2ffd7be7d0d929a7e06f44c92037006899852e39f92a0f473215e7b8f0 ppc-musl.patch"
diff --git a/testing/libgme/ppc-musl.patch b/testing/libgme/ppc-musl.patch
deleted file mode 100644
index f84cbd68ea9..00000000000
--- a/testing/libgme/ppc-musl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-This removes an invalid assumption that results in both BLARGG_LITTLE_ENDIAN
-and BLARGG_BIG_ENDIAN being defined on little endian musl, as we're already
-covered by __LITTLE_ENDIAN__/__BIG_ENDIAN__ (which is specified as a part
-of the ELFv2 ABI itself to be always present). Glibc was not broken because
-it has its own check before that.
-
---- a/gme/blargg_endian.h
-+++ b/gme/blargg_endian.h
-@@ -36,7 +36,7 @@
- #endif
-
- #if defined (MSB_FIRST) || defined (__BIG_ENDIAN__) || defined (WORDS_BIGENDIAN) || \
-- defined (__sparc__) || BLARGG_CPU_POWERPC || \
-+ defined (__sparc__) || \
- (defined (BIG_ENDIAN) && BIG_ENDIAN+0 != 4321)
- #define BLARGG_BIG_ENDIAN 1
- #elif !defined (__mips__) \ No newline at end of file
diff --git a/testing/libgnomecanvas/APKBUILD b/testing/libgnomecanvas/APKBUILD
deleted file mode 100644
index cc6fb186fcb..00000000000
--- a/testing/libgnomecanvas/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Ivan Tham <pickfire@riseup.net>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
-pkgname=libgnomecanvas
-pkgver=2.30.3
-pkgrel=1
-pkgdesc="GNOME Canvas library"
-url="https://www.gnome.org/"
-arch="all"
-license="GPL-2.0"
-makedepends="intltool libart-lgpl-dev glib-dev pango-dev gtk+2.0-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://download.gnome.org/sources/${pkgname}/${pkgver%.*}/${pkgname}-${pkgver}.tar.bz2"
-builddir="$srcdir/"$pkgname-$pkgver
-
-prepare() {
- default_prepare
-
- update_config_guess
- update_config_sub
-}
-
-build() {
- cd "$builddir"
- ./configure --prefix=/usr
- make
-}
-
-check() {
- cd "$builddir"
- make check
-}
-
-package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="b5bfa2133f5172abd5228d467db4d980dd4ac125cdbf55dcc1d5055dc3330861320c12cccb52ea63ba7f69824504c9d25781cd78001dc7a92b11c6f7e0c550de libgnomecanvas-2.30.3.tar.bz2"
diff --git a/testing/libgpod/0001-323-Segmentation-fault-when-opening-ipod.patch b/testing/libgpod/0001-323-Segmentation-fault-when-opening-ipod.patch
deleted file mode 100644
index 727f18b3702..00000000000
--- a/testing/libgpod/0001-323-Segmentation-fault-when-opening-ipod.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 8dc5015ae036b219c4c9579a156886aa3a722aa5 Mon Sep 17 00:00:00 2001
-From: phantomjinx <p.g.richardson@phantomjinx.co.uk>
-Date: Sat, 9 Aug 2014 19:57:10 +0100
-Subject: [PATCH] #323 Segmentation fault when opening ipod
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-* Patch submitted in bug report from François Melchior / James Burton
----
- src/itdb_itunesdb.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c
-index 4cc771a..1e85476 100644
---- a/src/itdb_itunesdb.c
-+++ b/src/itdb_itunesdb.c
-@@ -1156,6 +1156,7 @@ static gboolean playcounts_plist_read (FImport *fimp, GValue *plist_data)
- GHashTable *pc_dict, *track_dict;
- GValue *to_parse;
- GArray *array;
-+ GValue value;
- gint i;
- guint32 mac_time;
- guint64 *dbid;
-@@ -1175,11 +1176,12 @@ static gboolean playcounts_plist_read (FImport *fimp, GValue *plist_data)
-
- array = (GArray*)g_value_get_boxed (to_parse);
- for (i = 0; i < array->len; i++) {
-- if (!G_VALUE_HOLDS (g_array_index (array, GValue *, i), G_TYPE_HASH_TABLE)) {
-+ value = g_array_index (array, GValue, i);
-+ if (!G_VALUE_HOLDS (&value, G_TYPE_HASH_TABLE)) {
- continue;
- }
-
-- track_dict = g_value_get_boxed (g_array_index (array, GValue *, i));
-+ track_dict = g_value_get_boxed (&value);
- if (track_dict == NULL)
- continue;
-
---
-2.12.2
-
diff --git a/testing/libgpod/0002-Fix-spelling-errors-in-comments-and-strings-using-co.patch b/testing/libgpod/0002-Fix-spelling-errors-in-comments-and-strings-using-co.patch
deleted file mode 100644
index f003a570b01..00000000000
--- a/testing/libgpod/0002-Fix-spelling-errors-in-comments-and-strings-using-co.patch
+++ /dev/null
@@ -1,293 +0,0 @@
-From 8b85cadf2d9e9d26ce6e52336177beb8d1472458 Mon Sep 17 00:00:00 2001
-From: Daniele Forsi <daniele@forsi.it>
-Date: Mon, 24 Mar 2014 20:13:50 +0100
-Subject: [PATCH 1/3] Fix spelling errors in comments and strings using
- codespell
-
-See https://github.com/lucasdemarchi/codespell
----
- README.overview | 2 +-
- docs/reference/tmpl/itunesdb-lowlevel.sgml | 2 +-
- src/db-artwork-writer.c | 2 +-
- src/itdb.h | 4 ++--
- src/itdb_device.c | 6 +++---
- src/itdb_itunesdb.c | 26 +++++++++++++-------------
- src/itdb_photoalbum.c | 2 +-
- src/itdb_sqlite.c | 8 ++++----
- src/itdb_tzinfo.c | 2 +-
- src/ithumb-writer.c | 2 +-
- 10 files changed, 28 insertions(+), 28 deletions(-)
-
-diff --git a/README.overview b/README.overview
-index a02ad5c..4bc2071 100644
---- a/README.overview
-+++ b/README.overview
-@@ -20,7 +20,7 @@ device to get an XML file describing the device capabilities (artwork formats
- supported, serial number, ...) and dumps this XML file to
- iPod_Control/Device/SysInfoExtended for future use by libgpod. libgpod doesn't
- do it directly because sending these SCSI/USB commands might need elevated
--priviledges.
-+privileges.
-
- * the application uses libgpod to read the device content
-
-diff --git a/docs/reference/tmpl/itunesdb-lowlevel.sgml b/docs/reference/tmpl/itunesdb-lowlevel.sgml
-index 1c89c91..c16ed7a 100644
---- a/docs/reference/tmpl/itunesdb-lowlevel.sgml
-+++ b/docs/reference/tmpl/itunesdb-lowlevel.sgml
-@@ -6,7 +6,7 @@ Low-level functions which shouldn't be needed in normal situations
-
- <!-- ##### SECTION Long_Description ##### -->
- <para>
--These functions are not normally needed but are avalable to allow for finer
-+These functions are not normally needed but are available to allow for finer
- control over the iPod database.
- </para>
-
-diff --git a/src/db-artwork-writer.c b/src/db-artwork-writer.c
-index 824b502..5d6de0d 100644
---- a/src/db-artwork-writer.c
-+++ b/src/db-artwork-writer.c
-@@ -1094,7 +1094,7 @@ ipod_artwork_mark_new_doubles (Itdb_iTunesDB *itdb, guint max_id)
- artwork->dbid = 0;
- }
- else
-- { /* first occurence of this artwork */
-+ { /* first occurrence of this artwork */
- artwork->id = ++max_id;
- artwork->dbid = track->dbid;
- g_hash_table_insert (hash, g_strdup (checkstring), artwork);
-diff --git a/src/itdb.h b/src/itdb.h
-index 858cae7..72299ac 100644
---- a/src/itdb.h
-+++ b/src/itdb.h
-@@ -265,7 +265,7 @@ typedef enum {
- /**
- * Itdb_IpodInfo:
- * @model_number: The model number. This is abbreviated. If the first
-- * character is not numeric, it is ommited. e.g.
-+ * character is not numeric, it is omitted. e.g.
- * "MA350 -> A350", "M9829 -> 9829"
- * @capacity: The iPod's capacity in gigabytes
- * @ipod_model: The iPod model
-@@ -1747,7 +1747,7 @@ struct _Itdb_Track
-
- /**
- * ItdbFileError:
-- * @ITDB_FILE_ERROR_SEEK: file corrupt: illegal seek occured
-+ * @ITDB_FILE_ERROR_SEEK: file corrupt: illegal seek occurred
- * @ITDB_FILE_ERROR_CORRUPT: file corrupt
- * @ITDB_FILE_ERROR_NOTFOUND: file not found
- * @ITDB_FILE_ERROR_RENAME: file could not be renamed
-diff --git a/src/itdb_device.c b/src/itdb_device.c
-index 6f1bc0b..e12f488 100644
---- a/src/itdb_device.c
-+++ b/src/itdb_device.c
-@@ -1527,9 +1527,9 @@ itdb_device_musicdirs_number (Itdb_Device *device)
- * @path: the file to look at.
- * @hdr: the header string (4 bytes) in case of LITTLE_ENDIAN
- *
-- * Check if endianess can be determined by looking at header of @path.
-+ * Check if endianness can be determined by looking at header of @path.
- *
-- * Returns: G_LITTLE_ENDIAN, G_BIG_ENDIAN or 0 if endianess could not be
-+ * Returns: G_LITTLE_ENDIAN, G_BIG_ENDIAN or 0 if endianness could not be
- * determined.
- */
- static guint endianess_check_path (const gchar *path, const gchar *hdr)
-@@ -1565,7 +1565,7 @@ static guint endianess_check_path (const gchar *path, const gchar *hdr)
- return byte_order;
- }
-
--/* Attempt to guess the endianess used by this iPod.
-+/* Attempt to guess the endianness used by this iPod.
- *
- * It will overwrite the previous setting.
- *
-diff --git a/src/itdb_itunesdb.c b/src/itdb_itunesdb.c
-index a177e26..4cc771a 100644
---- a/src/itdb_itunesdb.c
-+++ b/src/itdb_itunesdb.c
-@@ -1560,7 +1560,7 @@ static char *extract_mhod_string (FContents *cts, glong seek)
- Itdb_SPLPREF OR Itdb_SPLRULES.
-
- *mhod_len is set to the total length of the mhod (-1 in case an
-- *error occured).
-+ *error occurred).
-
- MHODData.valid is set to FALSE in case of any error. cts->error
- will be set accordingly.
-@@ -1974,13 +1974,13 @@ static void set_error_a_header_smaller_than_b (GError **error,
- }
-
-
--/* finds next occurence of section @a in section b (@b_seek) starting
-+/* finds next occurrence of section @a in section b (@b_seek) starting
- at @start_seek
- */
- /* Return value:
- -1 and cts->error not set: section @a could not be found
-- -1 and cts->error set: some error occured
-- >=0: start of next occurence of section @a
-+ -1 and cts->error set: some error occurred
-+ >=0: start of next occurrence of section @a
- */
- static glong find_next_a_in_b (FContents *cts,
- const gchar *a,
-@@ -2767,7 +2767,7 @@ static glong get_mhit (FImport *fimp, glong mhit_seek)
- * adding a new playlist (named @plname) with the tracks specified in
- * @cts. If @plname is NULL, a standard name will be substituted */
- /* Returns FALSE on error, TRUE on success. On error @fimp->error will
-- * be set apropriately. */
-+ * be set appropriately. */
- static gboolean process_OTG_file (FImport *fimp, FContents *cts,
- const gchar *plname)
- {
-@@ -2911,7 +2911,7 @@ static gboolean read_OTG_playlists (FImport *fimp)
- (this is treated as a programming error) */
- /* Return value:
- TRUE: import successful
-- FALSE: error occured, fimp->error is set */
-+ FALSE: error occurred, fimp->error is set */
- static gboolean parse_tracks (FImport *fimp, glong mhsd_seek)
- {
- FContents *cts;
-@@ -2976,7 +2976,7 @@ static gboolean parse_tracks (FImport *fimp, glong mhsd_seek)
- mhsd (this is treated as a programming error) */
- /* Return value:
- TRUE: import successful
-- FALSE: error occured, fimp->error is set */
-+ FALSE: error occurred, fimp->error is set */
- static gboolean parse_playlists (FImport *fimp, glong mhsd_seek)
- {
- FContents *cts;
-@@ -3443,7 +3443,7 @@ Itdb_iTunesDB *itdb_parse_file (const gchar *filename, GError **error)
- /* ---------------------------------------------------------------------- */
- /* from here on we have the functions for writing the iTunesDB */
-
--/* will expand @cts when necessary in order to accomodate @len bytes
-+/* will expand @cts when necessary in order to accommodate @len bytes
- starting at @seek */
- static void wcontents_maybe_expand (WContents *cts, gulong len,
- gulong seek)
-@@ -3500,7 +3500,7 @@ static void put_string (WContents *cts, gchar *string)
- }
-
- /* Write 4-byte long @header identifcation taking into account
-- * possible reversed endianess */
-+ * possible reversed endianness */
- static void put_header (WContents *cts, gchar *header)
- {
- gchar rdata[4];
-@@ -3874,7 +3874,7 @@ static void mk_mhbd (FExport *fexp, guint32 children)
-
- /* 0x22 */
- put16lint (cts, fexp->itdb->priv->unk_0x22); /* unknown */
-- put64lint (cts, fexp->itdb->priv->id_0x24); /* unkown id */
-+ put64lint (cts, fexp->itdb->priv->id_0x24); /* unknown id */
- put32lint (cts, 0); /* unknown */
- /* 0x30 */
- put16lint (cts, 0); /* set hashing scheme to 0 for now, will be set
-@@ -5993,7 +5993,7 @@ static gboolean itdb_write_file_internal (Itdb_iTunesDB *itdb,
-
- if (!filename) filename = itdb->filename;
-
-- /* set endianess flag */
-+ /* set endianness flag */
- if (!itdb->device->byte_order)
- itdb_device_autodetect_endianess (itdb->device);
-
-@@ -6896,7 +6896,7 @@ gboolean itdb_shuffle_write_file (Itdb_iTunesDB *itdb,
- g_return_val_if_fail (filename, FALSE);
- g_return_val_if_fail (itdb->device, FALSE);
-
-- /* Set endianess flag just in case */
-+ /* Set endianness flag just in case */
- if (!itdb->device->byte_order)
- itdb_device_autodetect_endianess (itdb->device);
-
-@@ -7065,7 +7065,7 @@ gboolean itdb_rename_files (const gchar *mp, GError **error)
- if (plcname_o)
- {
- if (rename (plcname_o, plcname_n) == -1)
-- { /* an error occured */
-+ { /* an error occurred */
- g_set_error (error,
- G_FILE_ERROR,
- g_file_error_from_errno (errno),
-diff --git a/src/itdb_photoalbum.c b/src/itdb_photoalbum.c
-index a2c8c29..403848a 100644
---- a/src/itdb_photoalbum.c
-+++ b/src/itdb_photoalbum.c
-@@ -206,7 +206,7 @@ gchar *itdb_get_photos_thumb_dir (const gchar *mountpoint)
- /**
- * itdb_photodb_parse:
- * @mp: mountpoint of the iPod
-- * @error: will contain the error description when an error occured.
-+ * @error: will contain the error description when an error occurred.
- *
- * Parses the photo database of an iPod mounted at @mp.
- *
-diff --git a/src/itdb_sqlite.c b/src/itdb_sqlite.c
-index b5b2975..21d8eed 100644
---- a/src/itdb_sqlite.c
-+++ b/src/itdb_sqlite.c
-@@ -839,7 +839,7 @@ static int mk_Library(Itdb_iTunesDB *itdb,
- /* name order */
- sqlite3_bind_int(stmt_container, ++idx, pos++);
- /* parent_pid */
-- /* TODO: unkown meaning, always 0? */
-+ /* TODO: unknown meaning, always 0? */
- sqlite3_bind_int(stmt_container, ++idx, 0);
- /* media_kinds */
- sqlite3_bind_int(stmt_container, ++idx, types);
-@@ -900,10 +900,10 @@ static int mk_Library(Itdb_iTunesDB *itdb,
- sqlite3_bind_null(stmt_db_info, ++idx);
- }
- /* bib */
-- /* TODO: unkown meaning, set to NULL */
-+ /* TODO: unknown meaning, set to NULL */
- sqlite3_bind_null(stmt_db_info, ++idx);
- /* rib */
-- /* TODO: unkown meaning, set to NULL */
-+ /* TODO: unknown meaning, set to NULL */
- sqlite3_bind_null(stmt_db_info, ++idx);
-
- res = sqlite3_step(stmt_db_info);
-@@ -1958,7 +1958,7 @@ static void run_post_process_commands(Itdb_iTunesDB *itdb, const char *outpath,
- g_hash_table_destroy(sqlcmd_map);
-
- printf("[%s] %d out of %d post process commands successfully executed\n", __func__, ok_cnt, cnt);
-- /* TODO perhaps we want to roll back when an error has occured ? */
-+ /* TODO perhaps we want to roll back when an error has occurred ? */
- sqlite3_exec(db, "COMMIT;", NULL, NULL, NULL);
- } else {
- printf("[%s]: Error: could not create hash table!\n", __func__);
-diff --git a/src/itdb_tzinfo.c b/src/itdb_tzinfo.c
-index 3c29947..ce8216d 100644
---- a/src/itdb_tzinfo.c
-+++ b/src/itdb_tzinfo.c
-@@ -160,7 +160,7 @@ static gboolean raw_timezone_to_utc_shift_5g (gint16 raw_timezone,
- * going from Tokyo to LA and then to Europe).
- * The calculation below shifts the origin so that 0 corresponds
- * to UTC-12 and the max is 24*60 and corresponds to UTC+12
-- * Finally, we substract 12*60 to that value to get a signed number
-+ * Finally, we subtract 12*60 to that value to get a signed number
- * giving the timezone relative to UTC.
- */
- *utc_shift = raw_timezone*60 - TZ_SHIFT*3600;
-diff --git a/src/ithumb-writer.c b/src/ithumb-writer.c
-index 6b47aa6..b33cc5c 100644
---- a/src/ithumb-writer.c
-+++ b/src/ithumb-writer.c
-@@ -1215,7 +1215,7 @@ static gboolean ithumb_rearrange_thumbnail_file (gpointer _key,
-
- /* printf ("%s: %d\n", filename, g_list_length (thumbs)); */
-
-- /* check if an error occured */
-+ /* check if an error occurred */
- if (*result == FALSE)
- goto out;
-
---
-2.1.4
diff --git a/testing/libgpod/0003-Fixed-PList-deprecation.patch b/testing/libgpod/0003-Fixed-PList-deprecation.patch
deleted file mode 100644
index 6f270bcce94..00000000000
--- a/testing/libgpod/0003-Fixed-PList-deprecation.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From e6994dc234395f68fd7195bbe7424f83c39d0f3d Mon Sep 17 00:00:00 2001
-From: Tuukka Pasanen <tuukka.pasanen@ilmi.fi>
-Date: Thu, 22 Oct 2015 09:53:05 +0300
-Subject: [PATCH 3/3] Fixed PList deprication
-
----
- tools/ipod-lockdown.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tools/ipod-lockdown.c b/tools/ipod-lockdown.c
-index f345726..8503798 100644
---- a/tools/ipod-lockdown.c
-+++ b/tools/ipod-lockdown.c
-@@ -100,7 +100,7 @@ read_sysinfo_extended_by_uuid (const char *uuid)
- plist_get_string_val(ptr, &str);
- if (str != NULL) {
- ptr = plist_new_string(str);
-- plist_dict_insert_item(value, "SerialNumber", ptr);
-+ plist_dict_set_item(value, "SerialNumber", ptr);
- free(str);
- }
-
-@@ -112,15 +112,15 @@ read_sysinfo_extended_by_uuid (const char *uuid)
- plist_get_string_val(ptr, &str);
- if (str != NULL) {
- ptr = plist_new_string(str);
-- plist_dict_insert_item(value, "VisibleBuildID", ptr);
-+ plist_dict_set_item(value, "VisibleBuildID", ptr);
- free(str);
- }
-
- ptr = plist_new_string(uuid);
-- plist_dict_insert_item(value, "FireWireGUID", ptr);
-+ plist_dict_set_item(value, "FireWireGUID", ptr);
-
- ptr = plist_new_string(uuid);
-- plist_dict_insert_item(value, "UniqueDeviceID", ptr);
-+ plist_dict_set_item(value, "UniqueDeviceID", ptr);
-
- plist_to_xml(value, &xml, &xml_length);
-
---
-2.1.4
-
diff --git a/testing/libgpod/APKBUILD b/testing/libgpod/APKBUILD
deleted file mode 100644
index 41b2a919e42..00000000000
--- a/testing/libgpod/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=libgpod
-pkgver=0.8.3
-pkgrel=6
-pkgdesc="A shared library to access the contents of an iPod"
-url="http://www.gtkpod.org/libgpod"
-arch="all"
-license="LGPL-2.1-or-later"
-makedepends="automake autoconf libtool intltool libimobiledevice-dev libplist-dev
- swig mutagen sg3_utils-dev gdk-pixbuf-dev glib-dev sqlite-dev
- gobject-introspection-dev libxml2-dev gtk-doc"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://downloads.sourceforge.net/project/gtkpod/libgpod/libgpod-0.8/libgpod-$pkgver.tar.bz2
- 0001-323-Segmentation-fault-when-opening-ipod.patch
- 0002-Fix-spelling-errors-in-comments-and-strings-using-co.patch
- 0003-Fixed-PList-deprecation.patch
- libgpod-0.8.2-pkgconfig_overlinking.patch
- "
-prepare() {
- default_prepare
- sed -e 's|libplist >= 1.0|libplist-2.0 >= 2.2|' -i configure.ac # support libplist 2.2
- autoreconf -fi
-}
-
-build() {
- MCS=/usr/bin/mcs ./configure \
- --prefix=/usr \
- --with-udev-dir=/lib/udev \
- --enable-udev
- make PREFIX=/usr
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
-}
-
-check() {
- make check
-}
-
-package() {
- make PREFIX=/usr DESTDIR="$pkgdir" install
- rmdir "$pkgdir"/tmp
-}
-
-sha512sums="e39f22054c2d2bdf5fc764aa1f692de17a1a06c7c7e9c60883d126b216dacca7840bf818e7e7e039218fe2a64c0920ba96d8cbbe310e11c1c4e68b82e7cbbd8e libgpod-0.8.3.tar.bz2
-d1a813a45230ca716e0c6ed5497d68089762ce5b4cac9462f1959083fdf40bedbf7449a55d63170800d74372921fad02a9d5a3146e9f8ed652ffd58238360b49 0001-323-Segmentation-fault-when-opening-ipod.patch
-f95d53e616763e4e620862fb2e1abc2fcec29951c2047b7f08bfbee69ce68661772f499f90f87d81a2707583b3d8017d11dcaf75a9028f50b7c3260a9768c285 0002-Fix-spelling-errors-in-comments-and-strings-using-co.patch
-163e33c3e727240561021dd8a4d921bad4724845db00d1d87c963a9e8619dbfda90de9d42944bf33f5b3479b00b3908e550a831489b12c7d4f0e83cdaae697ad 0003-Fixed-PList-deprecation.patch
-c8ebcc18ba7b44aef8fada3f9fea88fdaaf6bae12cf809b08f98e85ab6396ae032bfd7706809cd266be67c694749d4364a9cc591eb750478e095cbbcbe061419 libgpod-0.8.2-pkgconfig_overlinking.patch"
diff --git a/testing/libgpod/libgpod-0.8.2-pkgconfig_overlinking.patch b/testing/libgpod/libgpod-0.8.2-pkgconfig_overlinking.patch
deleted file mode 100644
index a5dafb28576..00000000000
--- a/testing/libgpod/libgpod-0.8.2-pkgconfig_overlinking.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -up libgpod-0.8.2/libgpod-1.0.pc.in.pkgconfig_overlinking libgpod-0.8.2/libgpod-1.0.pc.in
---- libgpod-0.8.2/libgpod-1.0.pc.in.pkgconfig_overlinking 2011-04-15 03:37:34.000000000 -0500
-+++ libgpod-0.8.2/libgpod-1.0.pc.in 2012-08-10 13:53:00.294631805 -0500
-@@ -6,6 +6,6 @@ includedir=@includedir@
- Name: libgpod
- Description: A library to manipulate songs and playlists stored on an ipod
- Version: @VERSION@
--Requires: glib-2.0 >= 2.8.0 gobject-2.0 @GDKPIXBUF_REQ@ @LIBIMOBILEDEVICE_REQ@
-+Requires.private: glib-2.0 >= 2.8.0 gobject-2.0 @GDKPIXBUF_REQ@ @LIBIMOBILEDEVICE_REQ@
- Libs: -L${libdir} -lgpod
- Cflags: -I${includedir}/gpod-1.0
diff --git a/testing/libgrapheme/APKBUILD b/testing/libgrapheme/APKBUILD
new file mode 100644
index 00000000000..90cb24e1cd7
--- /dev/null
+++ b/testing/libgrapheme/APKBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Pedro Lucas Porcellis <porcellis@eletrotupi.com>
+pkgname=libgrapheme
+pkgver=1
+pkgrel=0
+pkgdesc="unicode string library"
+url="https://libs.suckless.org/libgrapheme"
+arch="all"
+license="ISC"
+subpackages="$pkgname-doc $pkgname-dev"
+source="https://dl.suckless.org/libgrapheme/libgrapheme-$pkgver.tar.gz"
+
+build() {
+ make all PREFIX=/usr
+}
+
+check() {
+ make test PREFIX=/usr
+}
+
+package() {
+ make install PREFIX=/usr DESTDIR="$pkgdir"
+}
+sha512sums="
+c0f3300d30707266e44ee01f359204720ae1770788cec509b03be914f8581caae144fb72952d111f108ebef21fd96b5ca2cf69463ee569bce4bba8645942ee05 libgrapheme-1.tar.gz
+"
diff --git a/testing/libguestfs/APKBUILD b/testing/libguestfs/APKBUILD
index e14200cf209..fb5610f90a8 100644
--- a/testing/libguestfs/APKBUILD
+++ b/testing/libguestfs/APKBUILD
@@ -1,119 +1,147 @@
-# Maintainer: Fathi Boudra <fathi.boudra@linaro.org>
+# Contributor: Fathi Boudra <fathi.boudra@linaro.org>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=libguestfs
-pkgver=1.44.1
-pkgrel=0
-pkgdesc="tools for accessing and modifying virtual machine disk images"
+pkgver=1.52.0
+pkgrel=1
+pkgdesc="Access and modify virtual machine disk images"
url="https://libguestfs.org/"
-# only x86_64 is supported unless the qemu-system-x86_64 dependency can be parameterized with $arch
-arch="x86_64"
-# arch="all !mips64" # limited by ocaml
-# arch="$arch !s390x" # limited by libvirt-dev
+# riscv64, loongarch64: blocked by ocaml
+arch="all !riscv64 !loongarch64"
license="GPL-2.0-or-later"
-depends="cdrkit curl gptfdisk qemu-img qemu-system-x86_64"
+depends="
+ cmd:mkisofs
+ curl
+ qemu-img
+ "
makedepends="
- autoconf automake libtool
- acl-dev
- augeas-dev
- bash
- bison
- coreutils
- cpio
- file-dev
- flex
- fuse-dev
- gawk
- gettext-dev
- hivex-dev
- jansson-dev
- gperf
- libcap-dev
- libconfig-dev
- libselinux-dev
- libselinux-utils
- libtirpc-dev
- libvirt-dev
- libxml2-dev
- libxml2-utils
- ncurses-dev
- ocaml
- ocaml-findlib
- pcre-dev
- perl
- psmisc
- python3-dev
- qemu-system-aarch64
- qemu-system-arm
- qemu-system-i386
- qemu-system-ppc64
- qemu-system-s390x
- qemu-system-x86_64
- readline-dev
- xz
- xz-dev
-"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang py3-$pkgname:_py"
-source="
- http://download.libguestfs.org/1.44-stable/libguestfs-$pkgver.tar.gz
- https://raw.githubusercontent.com/alpinelinux/aports/3.9-stable/main/kbd/error.h
- ocaml-m4.patch
-"
-options="!check charset.alias" # Test suite does not support Alpine Linux at this moment
+ acl-dev
+ augeas-dev
+ bash
+ bison
+ cmd:xzcat
+ cmd:zstdcat
+ coreutils
+ file-dev
+ flex
+ fuse-dev
+ gawk
+ gperf
+ hivex-dev
+ jansson-dev
+ libcap-dev
+ libconfig-dev
+ libtirpc-dev
+ libxml2-dev
+ lua5.1-dev
+ musl-libintl
+ ocaml
+ ocaml-findlib
+ pcre2-dev
+ perl
+ python3-dev
+ readline-dev
+ ruby-dev
+ ruby-rake
+ zstd-dev
+ "
+subpackages="
+ $pkgname-static
+ $pkgname-dev
+ $pkgname-doc
+ guestfs-tools
+ lua5.1-$pkgname:_lua51
+ py3-$pkgname:_py
+ ruby-$pkgname:_ruby
+ "
+source="https://download.libguestfs.org/${pkgver%.*}-stable/libguestfs-$pkgver.tar.gz
+ fix-missing-int64_t.patch
+ fix-missing-error-h.patch
+ "
+options="!check" # XXX: Test suite does not support Alpine Linux at this moment
+
+case "$CARCH" in
+ arm*) _qemu="qemu-system-arm";;
+ ppc64le) _qemu="qemu-system-ppc64";;
+ x86_64 | x86) _qemu="qemu-system-x86_64";;
+ *) _qemu="qemu-system-$CARCH";;
+esac
+depends="$depends $_qemu"
prepare() {
default_prepare
- autoreconf -vif
+
# busybox gzip does not support --best
sed -i 's/gzip --best/gzip -9/g' test-data/files/*
- # musl lacks error.h
- cp -a "$srcdir"/error.h "$builddir"/lib/
}
build() {
+ # TODO: build and package appliance
+ # NOTE: libvirt is a huge dependency linked into libguestfs.so,
+ # so it cannot be easily split.
PYTHON=/usr/bin/python3 ./configure \
--prefix=/usr \
--mandir=/usr/share/man \
--sysconfdir=/etc \
+ --disable-nls \
+ --enable-fuse \
--disable-probes \
--disable-daemon \
--disable-appliance \
--disable-ocaml \
--disable-perl \
- --disable-ruby \
+ --enable-ruby \
--disable-haskell \
--disable-php \
--disable-erlang \
- --disable-lua \
+ --enable-lua \
--disable-golang \
--disable-gobject \
- --without-java
- # Building index-parse.c and index-scan.c by hand works around a race
- # condition in the autotools cruft, where two other more copies of yacc
- # race with each other, resulting in a corrupted file.
- make -j1 -C builder index-parse.c
- make -j1 -C builder index-scan.c
- make V=1 INSTALLDIRS=vendor LTLIBINTL=-lintl
+ --disable-rust \
+ --enable-vala=no \
+ --with-readline \
+ --without-java \
+ --without-libvirt \
+ --with-qemu="$_qemu"
+ make V=1
}
-# FIXME test require supermin to create an appliance or a prebuilt binary appliance
-# check() {
-# cd "$builddir"
-# wget http://download.libguestfs.org/binaries/appliance/appliance-1.38.0.tar.xz -O /tmp/appliance-1.38.0.tar.xz
-# $(cd /tmp && tar xf appliance-1.38.0.tar.xz)
-# export LIBGUESTFS_PATH=/tmp/appliance
-# make quickcheck
-# }
-
package() {
- make V=1 INSTALLDIRS=vendor DESTDIR="$pkgdir" install
- make V=1 INSTALLDIRS=vendor DESTDIR="$pkgdir" -C python install
+ # INSTALLDIRS ensures that Perl and Ruby libs are installed in the
+ # vendor dir not the site dir.
+ make V=1 DESTDIR="$pkgdir" INSTALLDIRS="vendor" install
+}
+
+tools() {
+ pkgdesc="$pkgdesc (CLI tools)"
+ depends=""
+
+ amove etc
+ amove usr/bin
+}
+
+_lua51() {
+ pkgdesc="Lua 5.1 bindings for $pkgname"
+ depends=""
+
+ amove usr/lib/lua
}
_py() {
- pkgdesc="$pkgname - Python 3 bindings"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/python3* "$subpkgdir"/usr/lib/
+ pkgdesc="Python 3 bindings for $pkgname"
+ depends=""
+
+ amove usr/lib/python3*
}
-sha512sums="db6eab7350d9318a5ad5f968b24ed77ab411c9be3476b62b2b8448cf06db2462af1e3c9d8b02b54011d43651c281d74db7cb8023426a3f09667aa5b3597c7c33 libguestfs-1.44.1.tar.gz
-c66f6b0d8c8b8d285c740bdbe7130dee272ac01cd5e73b35a58cedf1a77fe8d9e062631b804fb58014d8eb9861c8f28aed07bc022ef31662bcc61b5c85a21752 error.h
-20c0e0abe7c30d55c9335a8579aac654603cf29d0074a2fbada3749529a5a121b30963ad6666d79eadab4126a73d59bcd2b01c3e118f927ac39f90681561249c ocaml-m4.patch"
+_ruby() {
+ pkgdesc="Ruby bindings for $pkgname"
+ depends=""
+
+ amove usr/lib/ruby
+}
+
+sha512sums="
+48dfaabb6b371ab3476b42310d363addf2fd1dfe43876be3bc984953f6919a30c7de13ef235d83fdd39117d71aa6bbfb5fbb645c1b17bc3031798a2a2b3df9d7 libguestfs-1.52.0.tar.gz
+9ca7a2ac8572553394d42eda0e02f8b694651288ce58f1f4c7569eaab81cd3295b0992dcd6452a42b4b284cec54a666fd277eafcee05d54d05b1e84560ac7b06 fix-missing-int64_t.patch
+e4d0cac4ba856d871ca524ebeb4dedf25b3a956fe6a1ab4c93481eba03954fb684621c63085526fc1846b3bffd4cbe30dadfba2b92844d24b8ec277c0e84bf5c fix-missing-error-h.patch
+"
diff --git a/testing/libguestfs/fix-missing-error-h.patch b/testing/libguestfs/fix-missing-error-h.patch
new file mode 100644
index 00000000000..7cdf3eaf8a3
--- /dev/null
+++ b/testing/libguestfs/fix-missing-error-h.patch
@@ -0,0 +1,46 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Thu, 12 Oct 2023 01:05:47 +0200
+Subject: [PATCH] Fix <error.h> not found in libvirt-is-version.c
+
+ libvirt-is-version.c:26:10: fatal error: error.h: No such file or directory
+ 26 | #include <error.h>
+ | ^~~~~~~~~
+
+ libvirt-is-version.c:(.text+0x61): undefined reference to `error'
+ ld: libvirt_is_version-libvirt-is-version.o: in function `main':
+ libvirt-is-version.c:(.text.startup+0xa9): undefined reference to `error'
+
+--- a/lib/Makefile.am
++++ b/lib/Makefile.am
+@@ -178,10 +178,12 @@
+
+ libvirt_is_version_LDADD = \
+ $(LIBVIRT_LIBS) \
+- $(LTLIBINTL)
++ $(LTLIBINTL) \
++ ../gnulib/lib/libgnu.la
+
+ libvirt_is_version_CPPFLAGS = \
+- -DLOCALEBASEDIR=\""$(datadir)/locale"\"
++ -DLOCALEBASEDIR=\""$(datadir)/locale"\" \
++ -I$(top_srcdir)/gnulib/lib -I$(top_builddir)/gnulib/lib
+
+ libvirt_is_version_CFLAGS = \
+ $(WARN_CFLAGS) $(WERROR_CFLAGS) \
+--- a/lib/Makefile.in
++++ b/lib/Makefile.in
+@@ -1115,10 +1115,12 @@
+ @HAVE_LIBVIRT_TRUE@libvirt_is_version_SOURCES = libvirt-is-version.c
+ @HAVE_LIBVIRT_TRUE@libvirt_is_version_LDADD = \
+ @HAVE_LIBVIRT_TRUE@ $(LIBVIRT_LIBS) \
+-@HAVE_LIBVIRT_TRUE@ $(LTLIBINTL)
++@HAVE_LIBVIRT_TRUE@ $(LTLIBINTL) \
++@HAVE_LIBVIRT_TRUE@ ../gnulib/lib/libgnu.la
+
+ @HAVE_LIBVIRT_TRUE@libvirt_is_version_CPPFLAGS = \
+-@HAVE_LIBVIRT_TRUE@ -DLOCALEBASEDIR=\""$(datadir)/locale"\"
++@HAVE_LIBVIRT_TRUE@ -DLOCALEBASEDIR=\""$(datadir)/locale"\" \
++@HAVE_LIBVIRT_TRUE@ -I$(top_srcdir)/gnulib/lib -I$(top_builddir)/gnulib/lib
+
+ @HAVE_LIBVIRT_TRUE@libvirt_is_version_CFLAGS = \
+ @HAVE_LIBVIRT_TRUE@ $(WARN_CFLAGS) $(WERROR_CFLAGS) \
diff --git a/testing/libguestfs/fix-missing-int64_t.patch b/testing/libguestfs/fix-missing-int64_t.patch
new file mode 100644
index 00000000000..0ef8e7f4ef9
--- /dev/null
+++ b/testing/libguestfs/fix-missing-int64_t.patch
@@ -0,0 +1,22 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Thu, 12 Oct 2023 01:05:47 +0200
+Subject: [PATCH] Fix unknown type name 'int64_t'
+
+ guestfs-utils.h:62:32: error: unknown type name 'int64_t'
+ 62 | extern int guestfs_int_is_reg (int64_t mode);
+ | ^~~~~~~
+ guestfs-utils.h:40:1: note: 'int64_t' is defined in header '<stdint.h>'; did you forget to '#include <stdint.h>'?
+ 39 | #include "cleanups.h"
+ +++ |+#include <stdint.h>
+ 40 | #include "guestfs-stringlists-utils.h"
+
+--- a/common/utils/guestfs-utils.h
++++ b/common/utils/guestfs-utils.h
+@@ -34,6 +34,7 @@
+
+ #include <stdio.h>
+ #include <stdbool.h>
++#include <stdint.h>
+
+ #include "guestfs-internal-all.h"
+ #include "cleanups.h"
diff --git a/testing/libguestfs/ocaml-m4.patch b/testing/libguestfs/ocaml-m4.patch
deleted file mode 100644
index 32f2f4fbfee..00000000000
--- a/testing/libguestfs/ocaml-m4.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-guestfs-ocaml.m4: Check caml_alloc_initialized_string
-
-Always check, even if --disable-ocaml is selected
-
----
- m4/guestfs-ocaml.m4 | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/m4/guestfs-ocaml.m4 b/m4/guestfs-ocaml.m4
-index 18f95c2..bf07799 100644
---- a/m4/guestfs-ocaml.m4
-+++ b/m4/guestfs-ocaml.m4
-@@ -214,8 +214,7 @@ AM_CONDITIONAL([HAVE_BYTES_COMPAT_ML],
- [test "x$have_Bytes_module" = "xno"])
-
- dnl Check if OCaml has caml_alloc_initialized_string (added 2017).
--AS_IF([test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno" && \
-- test "x$enable_ocaml" = "xyes"],[
-+AS_IF([test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"],[
- AC_MSG_CHECKING([for caml_alloc_initialized_string])
- cat >conftest.c <<'EOF'
- #include <caml/alloc.h>
---
-2.31.1
-
diff --git a/testing/libhangul/APKBUILD b/testing/libhangul/APKBUILD
deleted file mode 100644
index 922db379500..00000000000
--- a/testing/libhangul/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Contributor: Cormac Stephenson <c7s@kasku.net>
-# Maintainer: Cormac Stephenson <c7s@kasku.net>
-pkgname=libhangul
-pkgver=0.1.0
-pkgrel=0
-pkgdesc="Library for Korean input method logic"
-url="https://github.com/libhangul/libhangul"
-arch="all"
-license="LGPL-2.1-only"
-makedepends="automake autoconf libtool gettext-dev"
-subpackages="$pkgname-dev $pkgname-lang"
-source="https://github.com/libhangul/libhangul/archive/refs/tags/libhangul-$pkgver.tar.gz
- fix-gettext-version.patch
- "
-builddir="$srcdir/libhangul-libhangul-$pkgver"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="f601c18de0f29e8826373c77a7b96938a0a54b8b10a14c4daebf2a93d6fc567edc470608f1573853e28db1f9d7a6c66debdbf6dff0262f9d69d4af7ed730f611 libhangul-0.1.0.tar.gz
-8d41a76c4c186068551ebeb5bbab983e43435178dcd516279d16a7a03648f45fecf3fe9792e061c4b6f0f5bb2791776c7d6c6608dc9e7035e4a48110a4ef1890 fix-gettext-version.patch"
diff --git a/testing/libhangul/fix-gettext-version.patch b/testing/libhangul/fix-gettext-version.patch
deleted file mode 100644
index cf97cc1270e..00000000000
--- a/testing/libhangul/fix-gettext-version.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 8b389be..16a44d8 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -49,7 +49,7 @@ GETTEXT_PACKAGE="$PACKAGE"
- AC_SUBST(GETTEXT_PACKAGE)
- AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE", gettext package name)
- AM_GNU_GETTEXT([external])
--AM_GNU_GETTEXT_VERSION(0.18)
-+AM_GNU_GETTEXT_VERSION(0.20)
- AM_ICONV
-
- # Checks for unit test framework
diff --git a/testing/libhomfly/APKBUILD b/testing/libhomfly/APKBUILD
new file mode 100644
index 00000000000..a8ca960e50e
--- /dev/null
+++ b/testing/libhomfly/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libhomfly
+pkgver=1.02_p6
+_pkgver=${pkgver//_p/r}
+pkgrel=1
+pkgdesc="Library to compute the homfly polynomial of a link"
+url="https://github.com/miguelmarco/libhomfly"
+arch="all"
+license="Unlicense"
+makedepends="gc-dev"
+subpackages="$pkgname-dev"
+source="https://github.com/miguelmarco/libhomfly/releases/download/$_pkgver/libhomfly-$_pkgver.tar.gz"
+builddir=$srcdir/libhomfly-$_pkgver
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+44f81815a0ba4c0358d433eb9769944af2ee02790d78aaa08e791d03ba68ba3dcf0389b4287f687211e6a7ba84e1bea3d2ebe69fc8bb4f12d677b7f54872d618 libhomfly-1.02r6.tar.gz
+"
diff --git a/testing/libhwpwm/APKBUILD b/testing/libhwpwm/APKBUILD
new file mode 100644
index 00000000000..e3bc7196c2a
--- /dev/null
+++ b/testing/libhwpwm/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Zsolt Vadasz <zsolt_vadasz@protonmail.com>
+pkgname=libhwpwm
+pkgver=0.4.4
+pkgrel=0
+pkgdesc="An easy to use library to communicate with the Linux kernel's sysfs PWM interface."
+url="https://github.com/zsoltiv/libhwpwm"
+arch="all"
+license="LGPL-3.0-or-later"
+makedepends="scdoc"
+options="!check" # no tests provided by upstream
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/zsoltiv/libhwpwm/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+package() {
+ make install PREFIX=/usr DESTDIR="$pkgdir"
+ make install-man PREFIX=/usr DESTDIR="$pkgdir"
+}
+
+
+sha512sums="
+280c57a08fa4200fccbd0912fd11d7d53c4ac9acd94cfefdc8d55c8b094c61cb23433f52f36391fcaafe2f87f566e7b7e77d9e0300ad630208f2f04b36fd2820 libhwpwm-0.4.4.tar.gz
+"
diff --git a/testing/libhx/APKBUILD b/testing/libhx/APKBUILD
index 7b2d1fe3d38..ba5b0966fe2 100644
--- a/testing/libhx/APKBUILD
+++ b/testing/libhx/APKBUILD
@@ -1,15 +1,16 @@
# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
pkgname=libhx
-pkgver=3.25
+pkgver=4.21
pkgrel=0
pkgdesc="library for queue, tree, I/O and utility functions"
arch="all"
url="https://inai.de/projects/libhx/"
license="GPL-3.0-only"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://downloads.sourceforge.net/libhx/libHX-$pkgver.tar.xz"
-
+makedepends="linux-headers"
+subpackages="$pkgname-dev"
+source="https://inai.de/files/libhx/libHX-$pkgver.tar.xz"
builddir="$srcdir/libHX-$pkgver"
+
build() {
./configure \
--build=$CBUILD \
@@ -21,4 +22,7 @@ build() {
package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="221000fddd1316b6c452babbcb7e234683e3bad559a4b1a608936a086143ad8f17cec489606f8d50ea66775b9f8305ec52c7401d568f01b33372388f75bdea94 libHX-3.25.tar.xz"
+
+sha512sums="
+cf3c5fd7b1137c9f56b56abe52886a47ec21256cfa393bd31339f1f9f4683cfeca2107f46ac0fc5571962f5daeb9c5c060c6db442667cc99380f6e55183a6ab5 libHX-4.21.tar.xz
+"
diff --git a/testing/libibmad/APKBUILD b/testing/libibmad/APKBUILD
index 10793eddc05..449367abcf1 100644
--- a/testing/libibmad/APKBUILD
+++ b/testing/libibmad/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=libibmad
pkgver=1.3.13
-pkgrel=1
+pkgrel=2
pkgdesc="Generic InfiniBand MAD handling library"
options="!check" # No testsuite
url="https://www.openfabrics.org/downloads/management/"
diff --git a/testing/libibumad/APKBUILD b/testing/libibumad/APKBUILD
index 2fe9c12ddb5..ec1b941e45b 100644
--- a/testing/libibumad/APKBUILD
+++ b/testing/libibumad/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=libibumad
pkgver=1.3.10.2
-pkgrel=2
+pkgrel=3
pkgdesc="Interface to ib_umad module (user_mad) library. (InfiniBand)"
options="!check" # No testsuite
url="https://www.openfabrics.org/downloads/management/"
diff --git a/testing/libideviceactivation/APKBUILD b/testing/libideviceactivation/APKBUILD
index 1cb315ead19..1e3b0925e7d 100644
--- a/testing/libideviceactivation/APKBUILD
+++ b/testing/libideviceactivation/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Kasper K <kasperkantz@outlook.com>
pkgname=libideviceactivation
pkgver=1.1.1
-pkgrel=0
+pkgrel=4
pkgdesc="Library to handle the activation process of iOS devices"
url="https://libimobiledevice.org"
arch="all"
@@ -28,4 +28,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="72d6e7024404d1a45e419ccdb7603268a1d96845c8636696b55d2c6edd3177b881ef0f5bd7aea548e88ef7976c83fbac63d3c3d7a9b76eba83de492c269ab02a libideviceactivation-1.1.1.tar.bz2"
+sha512sums="
+72d6e7024404d1a45e419ccdb7603268a1d96845c8636696b55d2c6edd3177b881ef0f5bd7aea548e88ef7976c83fbac63d3c3d7a9b76eba83de492c269ab02a libideviceactivation-1.1.1.tar.bz2
+"
diff --git a/testing/libigraph/APKBUILD b/testing/libigraph/APKBUILD
new file mode 100644
index 00000000000..8d835e5e900
--- /dev/null
+++ b/testing/libigraph/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=libigraph
+pkgver=0.10.11
+pkgrel=0
+pkgdesc="Library for creating and manipulating graphs"
+url="https://igraph.org"
+# s390x: blocked by openmp
+arch="all !s390x"
+license="GPL-2.0-or-later"
+# bison and flex are needed when building from commit
+makedepends="
+ arpack-dev
+ cmake
+ glpk-dev
+ libxml2-dev
+ openblas-dev
+ plfit-dev
+ samurai
+ "
+subpackages="$pkgname-dev"
+source="https://github.com/igraph/igraph/releases/download/$pkgver/igraph-$pkgver.tar.gz"
+builddir="$srcdir/igraph-$pkgver"
+
+build() {
+ # For building against master branch:
+ #echo "$pkgver" > IGRAPH_VERSION
+
+ cmake -B builddir -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=ON
+ cmake --build builddir
+}
+
+check() {
+ cmake --build builddir --target check
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install builddir
+}
+
+sha512sums="
+d6978589f12ed20b87777394b46f47b4ffc045ef693e5b4fc90163b9482361b2bf0ed2bb04aa99bf4a0653f7e4355cd480b0a165213d90ff7188ef6c86147c86 igraph-0.10.11.tar.gz
+"
diff --git a/testing/libiio/APKBUILD b/testing/libiio/APKBUILD
new file mode 100644
index 00000000000..269cb143f3e
--- /dev/null
+++ b/testing/libiio/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=libiio
+pkgver=0.25
+pkgrel=1
+pkgdesc="Interface to the Linux Industrial Input/Output (IIO) Subsystem"
+url="http://analogdevicesinc.github.io/libiio/"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ avahi-dev
+ bash
+ bison
+ cmake
+ flex
+ libaio-dev
+ libserialport-dev
+ libusb-dev
+ libxml2-dev
+ py3-setuptools
+ samurai
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-pyc
+ py3-$pkgname:python
+ $pkgname-tools
+ "
+source="https://github.com/analogdevicesinc/libiio/archive/v$pkgver/libiio-v$pkgver.tar.gz"
+options="!check" # no actual tests
+
+build() {
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_SBINDIR=bin \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None \
+ -DPYTHON_BINDINGS=ON \
+ -DUDEV_RULES_INSTALL_DIR=/usr/lib/udev/rules.d \
+ -DWITH_MAN=ON \
+ -DWITH_SERIAL_BACKEND=ON \
+ -DWITH_TESTS=ON # these are test binaries but not actual tyests
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+tools() {
+ amove usr/bin/*
+}
+
+python() {
+ pkgdesc="$pkgdesc (python module)"
+
+ amove usr/lib/python*
+}
+
+sha512sums="
+e0f2f5545b4c78d1f0f56b037db6e363aab01aad69af3a095b3546af74dab6effe0b00f5c336ef799a739f76c5f16ab76a6b8e823508861edd2745a9d3fd2599 libiio-v0.25.tar.gz
+"
diff --git a/testing/libime/APKBUILD b/testing/libime/APKBUILD
new file mode 100644
index 00000000000..f51d22d09f0
--- /dev/null
+++ b/testing/libime/APKBUILD
@@ -0,0 +1,76 @@
+# Contributor: Lindsay Zhou <i@lin.moe>
+# Maintainer: Lindsay Zhou <i@lin.moe>
+pkgname=libime
+pkgver=1.1.6
+pkgrel=0
+_kenlm=bcd4af619a2fa45f5876d8855f7876cc09f663af
+pkgdesc="Fcitx input method engine library"
+url="https://github.com/fcitx/libime"
+arch="all"
+license="LGPL-2.1-or-later"
+depends_dev="boost-dev"
+makedepends="
+ $depends_dev
+ cmake
+ extra-cmake-modules
+ fcitx5-dev
+ samurai
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/libime/archive/refs/tags/$pkgver.tar.gz
+ kenlm-$_kenlm.tar.gz::https://github.com/kpu/kenlm/archive/$_kenlm.tar.gz
+ "
+options="net" # build fetches some checksummed language data itself, todo
+
+prepare() {
+ default_prepare
+
+ rmdir src/libime/core/kenlm
+ ln -sfv "$srcdir"/kenlm-$_kenlm src/libime/core/kenlm
+}
+
+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=None \
+ -DENABLE_TEST="$(want_check && echo ON || echo OFF)" \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+core() {
+ pkgdesc="$pkgdesc (core module)"
+
+ amove usr/lib/libIMECore.so.*
+}
+
+pinyin() {
+ pkgdesc="$pkgdesc (pinyin module)"
+
+ amove usr/lib/libIMEPinyin.so.*
+}
+
+table() {
+ pkgdesc="$pkgdesc (table module)"
+
+ amove usr/lib/libIMETable.so.*
+}
+
+sha512sums="
+0c9ed4fcb545fee19a7333b1cf6157a95f8498e1322773b526a9e1469e18091c2458ee2410383a1c23dea051cb1dabceb190664e43a806902a91a050cce44c30 libime-1.1.6.tar.gz
+0ed68ed3b927b8c8353ab3815d17d0706b3357dce8a446176bd48ef6b73989bcf142983008e2b2b5e44769428a684dc1abcf3973f9f99c76b9bfc5f80a3aa363 kenlm-bcd4af619a2fa45f5876d8855f7876cc09f663af.tar.gz
+"
diff --git a/testing/libiml/APKBUILD b/testing/libiml/APKBUILD
new file mode 100644
index 00000000000..de0695e500f
--- /dev/null
+++ b/testing/libiml/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libiml
+pkgver=1.0.5
+pkgrel=3
+pkgdesc="Library for solving linear equations over the integers"
+url="https://cs.uwaterloo.ca/~astorjoh/iml.html"
+arch="all"
+license="BSD-3-Clause"
+makedepends="gmp-dev openblas-dev pkgconf"
+source="https://www.cs.uwaterloo.ca/~astorjoh/iml-$pkgver.tar.bz2"
+subpackages="$pkgname-static $pkgname-dev"
+builddir="$srcdir/iml-$pkgver"
+
+prepare() {
+ default_prepare
+ update_config_guess
+ update_config_sub
+}
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --enable-shared \
+ --with-cblas="$(pkgconf --libs openblas)"
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b5a85982636035cc50acba7dcff5478c6271be3669313f01915b2761302d4c77617c0dd7932daf74433098670d3ffdb2ef19eb24450b40709750a0b7c8f797f1 iml-1.0.5.tar.bz2
+"
diff --git a/testing/libimobiledevice-glue/APKBUILD b/testing/libimobiledevice-glue/APKBUILD
new file mode 100644
index 00000000000..a0035bddad4
--- /dev/null
+++ b/testing/libimobiledevice-glue/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer:
+pkgname=libimobiledevice-glue
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Library for common code of the libimobiledevice project"
+url="https://github.com/libimobiledevice/libimobiledevice-glue"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ libplist-dev
+ "
+subpackages="$pkgname-dev"
+source="https://github.com/libimobiledevice/libimobiledevice-glue/releases/download/$pkgver/libimobiledevice-glue-$pkgver.tar.bz2"
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b9bc696ba857e8d58dea83f3333f80fb94a4802bfa458820fdb3575263f317324b33ca14cadcf2d54cbf15df492ccc16c759e33c1b69698f4dbecc8138e6915d libimobiledevice-glue-1.0.0.tar.bz2
+"
diff --git a/testing/libindi/0001-explicitly-include-sockets.h.patch b/testing/libindi/0001-explicitly-include-sockets.h.patch
new file mode 100644
index 00000000000..9737b23ef0d
--- /dev/null
+++ b/testing/libindi/0001-explicitly-include-sockets.h.patch
@@ -0,0 +1,24 @@
+From e243d8bed70dbfdf3cf855056548eeaa347f9262 Mon Sep 17 00:00:00 2001
+From: Clayton Craft <clayton@craftyguy.net>
+Date: Fri, 23 Feb 2024 23:23:54 -0800
+Subject: [PATCH] explicitly include sockets.h
+
+---
+ libs/sockets/select.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/libs/sockets/select.h b/libs/sockets/select.h
+index 5cbdf72..e8b5b77 100644
+--- a/libs/sockets/select.h
++++ b/libs/sockets/select.h
+@@ -35,6 +35,7 @@ static const SocketFileDescriptor SocketInvalid = INVALID_SOCKET;
+ #include <unistd.h>
+ #include <netdb.h>
+ #include <sys/socket.h> // select
++#include <sys/select.h> // select
+ typedef int SocketFileDescriptor;
+ static const SocketFileDescriptor SocketInvalid = -1;
+ #endif
+--
+2.43.2
+
diff --git a/testing/libindi/APKBUILD b/testing/libindi/APKBUILD
new file mode 100644
index 00000000000..3dea02406d0
--- /dev/null
+++ b/testing/libindi/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer: Clayton Craft <clayton@craftyguy.net>
+pkgname=libindi
+pkgver=2.0.7
+pkgrel=0
+pkgdesc="implementation of the INDI protocol for astronomical instrumentation control"
+url="https://indilib.org"
+arch="all !armv7 !armhf !riscv64" # libnova
+license="LGPL-2.1-only AND GPL-2.0-only AND BSD-3-Clause"
+makedepends="
+ boost1.82-program_options
+ cfitsio-dev
+ cmake
+ curl-dev
+ fftw-dev
+ gsl-dev
+ jpeg-dev
+ libcamera-dev
+ libev-dev
+ libnova-dev
+ libogg-dev
+ libtheora-dev
+ libusb-dev
+ libxisf-dev
+ qt5-qtbase-dev
+ samurai
+ tiff-dev
+"
+subpackages="
+ $pkgname-dev
+"
+source="
+ https://github.com/indilib/indi/archive/v$pkgver/indi-$pkgver.tar.gz
+ 0001-explicitly-include-sockets.h.patch
+ "
+builddir="$srcdir/indi-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None \
+ -DINDI_BUILD_QT5_CLIENT=ON
+ cmake --build build
+}
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+292c0a5b8f07b24c42ea9424be19012c97317206b837d8601ec4d771fa35c314bf00712509f8199ee3da193ea12f0c3e90036a49deece304dc256cdeba60810d indi-2.0.7.tar.gz
+b9a6be6b9e99546b678e7cbbdad03d8266a1d3680d50d8e2d156f9838ce5fcf7e89fb287fc57cffa23b5304c6edd12a0d50e58089d64337ea6a3a268a1dd0ec9 0001-explicitly-include-sockets.h.patch
+"
diff --git a/testing/libirecovery/APKBUILD b/testing/libirecovery/APKBUILD
index a56b00f3a5a..ee0ec9229a3 100644
--- a/testing/libirecovery/APKBUILD
+++ b/testing/libirecovery/APKBUILD
@@ -1,13 +1,17 @@
# Contributor: Kasper K <kasperkantz@outlook.com>
# Maintainer: Kasper K <kasperkantz@outlook.com>
pkgname=libirecovery
-pkgver=1.0.0
+pkgver=1.1.0
pkgrel=0
pkgdesc="Library and utility to talk to iBoot/iBSS via USB on Mac OS X, Windows, and Linux"
url="https://libimobiledevice.org"
arch="all"
license="LGPL-2.1-or-later"
-makedepends="readline-dev libusb-dev"
+makedepends="
+ libimobiledevice-glue-dev
+ libusb-dev
+ readline-dev
+ "
subpackages="$pkgname-dev $pkgname-progs"
source="https://github.com/libimobiledevice/libirecovery/releases/download/$pkgver/libirecovery-$pkgver.tar.bz2"
@@ -34,4 +38,6 @@ progs() {
amove usr/bin
}
-sha512sums="7e6f53766c85c714c2d4088e880f56486bcb4d198a9da1108d31f8f1a2444f45ac319a90a4706d00a24cbddc0af9ce8dddf267ba458fe3fa225cc14ea7150797 libirecovery-1.0.0.tar.bz2"
+sha512sums="
+c37c426651abd2b8532ddf46c9c004fc5993c3ab6f559f920a64db68c4ffd582109348d5954f3cda8915f8dc8195c9b93075587a841655865bdef08234c58fc4 libirecovery-1.1.0.tar.bz2
+"
diff --git a/testing/libiscsi/APKBUILD b/testing/libiscsi/APKBUILD
index 8707449d41b..18a02486fa1 100644
--- a/testing/libiscsi/APKBUILD
+++ b/testing/libiscsi/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname="libiscsi"
pkgver="1.19.0"
-pkgrel=0
+pkgrel=2
pkgdesc="iSCSI client library and utilities"
url="https://github.com/sahlberg/libiscsi"
arch="all"
diff --git a/testing/libite/APKBUILD b/testing/libite/APKBUILD
deleted file mode 100644
index 4fb7399f225..00000000000
--- a/testing/libite/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=libite
-pkgver=2.4.0
-pkgrel=0
-pkgdesc="that missing frog DNA you've been looking for"
-url="https://github.com/troglobit/libite"
-arch="all"
-license="MIT"
-makedepends="autoconf automake libtool"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/troglobit/libite/releases/download/v$pkgver/libite-$pkgver.tar.xz"
-
-prepare() {
- default_prepare
- # Remove a test that does not work on chroot builds.
- sed -i -e "/tempfile/d" tests/Makefile.am
- autoreconf -vif
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-8e79084b616150dd4de491c6b8441d5043c81cf161bb655a32b6b7f8536682b967f4810870d8af4ae92780dedb7302bbc8db093036493506c88126143cb9bbef libite-2.4.0.tar.xz
-"
diff --git a/testing/libjodycode/APKBUILD b/testing/libjodycode/APKBUILD
new file mode 100644
index 00000000000..bc8bdb6c17c
--- /dev/null
+++ b/testing/libjodycode/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer:
+pkgname=libjodycode
+pkgver=3.1
+pkgrel=1
+pkgdesc="Shared code used by several utilities written by Jody Bruchon"
+url="https://github.com/jbruchon/libjodycode"
+arch="all"
+license="MIT"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jbruchon/libjodycode/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ make \
+ NO_SIMD=1 \
+ NO_SSE2=1 \
+ NO_AVX2=1 \
+ CFLAGS="$CFLAGS -DNO_SSE2 -DNO_SIMD -DNO_AVX2 -flto=auto"
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+ rm -v "$pkgdir"/usr/lib/*.a
+}
+
+sha512sums="
+980f1797084594f710cae92b26d10c46a73415d11e89af608c8a87730ea39f497fec0889f9bd88af7c23aa0067dd6642758edc2b2756d9eba6e6a4a50c583751 libjodycode-3.1.tar.gz
+"
diff --git a/testing/libjwt/APKBUILD b/testing/libjwt/APKBUILD
deleted file mode 100644
index 99fa2230ecd..00000000000
--- a/testing/libjwt/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=libjwt
-pkgver=1.13.1
-pkgrel=0
-pkgdesc="JWT C Library"
-url="https://github.com/benmcollins/libjwt"
-arch="all"
-license="MPL-2.0"
-makedepends="autoconf automake jansson-dev libtool openssl-dev"
-checkdepends="check-dev"
-subpackages="$pkgname-static $pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/benmcollins/libjwt/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- autoreconf -i
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --without-examples
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-e2b4a561048dbd57deb784aa6f071e03dd2f77457c702c2e1d479b981e249ca7c9062edcbea57e68ba359c9099ad941cf95d751e9e808c6736553cf1c28d9526 libjwt-1.13.1.tar.gz
-"
diff --git a/testing/libkkc/APKBUILD b/testing/libkkc/APKBUILD
new file mode 100644
index 00000000000..12004bdb8a7
--- /dev/null
+++ b/testing/libkkc/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer:
+pkgname=libkkc
+pkgver=0.3.5
+pkgrel=2
+pkgdesc="Japanese Kana Kanji conversion input method library"
+url="https://github.com/ueno/libkkc"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ intltool
+ json-glib-dev
+ libgee-dev
+ libmarisa-dev
+ py3-marisa
+ "
+subpackages="$pkgname-dev $pkgname-lang kkc-package-data"
+source="https://github.com/ueno/libkkc/releases/download/v$pkgver/libkkc-$pkgver.tar.gz
+ $pkgname-py3.patch::https://github.com/ueno/libkkc/commit/ba1c1bd3eb86d887fc3689c3142732658071b5f7.patch
+ "
+
+prepare() {
+ default_prepare
+ update_config_guess
+ update_config_sub
+}
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --disable-static \
+ --disable-silent-rules \
+ --disable-vapigen
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+data() {
+ pkgdesc="$pkgdesc (data downloader script)"
+ amove usr/bin
+}
+
+lang() {
+ pkgdesc="translations for $pkgname"
+
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/lib/locale "$subpkgdir"/usr/share/
+}
+
+sha512sums="
+f611c3104a22ad38af29746870849d8937b6af2a7fee0952cc25f36ef845b5617a192df7ca63ff2a507384f7a6a13c9c1b4fa3b9a34f3f041bee8793d04b9236 libkkc-0.3.5.tar.gz
+ba74aa8e545d32d40244f86009a49dedb575a6a8dd171baa5fc3e9a7aeac0ea51e4a7e2064a3f2b62f09bfa4751e3a33454a996b0acfe0fab45413dd84881755 libkkc-py3.patch
+"
diff --git a/testing/liblastfm-qt/APKBUILD b/testing/liblastfm-qt/APKBUILD
index 3132ad849e2..b392cb4fc9d 100644
--- a/testing/liblastfm-qt/APKBUILD
+++ b/testing/liblastfm-qt/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: knuxify <knuxify@gmail.com>
pkgname=liblastfm-qt
pkgver=1.1.10_git20190823
-pkgrel=1
+pkgrel=2
_commit=2ce2bfe1879227af8ffafddb82b218faff813db9
pkgdesc="A Qt C++ library for the Last.fm webservices "
url="https://last.fm"
diff --git a/testing/libliftoff/APKBUILD b/testing/libliftoff/APKBUILD
deleted file mode 100644
index 175b064eae2..00000000000
--- a/testing/libliftoff/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=libliftoff
-pkgver=0.1.0
-pkgrel=0
-pkgdesc="Lightweight KMS plane library"
-url="https://github.com/emersion/libliftoff"
-license="MIT"
-arch="all"
-makedepends="meson libdrm-dev"
-subpackages="$pkgname-dev"
-source="https://github.com/emersion/libliftoff/archive/v$pkgver/libliftoff-$pkgver.tar.gz"
-
-build() {
- abuild-meson . build
- meson compile ${JOBS:+-j ${JOBS}} -C build
-}
-
-check() {
- meson test --no-rebuild -C build
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C build
-}
-
-sha512sums="
-bd77e49bfb3b5a4e9b145c8f294b51fd287d82e0f8107f03f4cfe12e5694e35cee43c42e2919607d59f40bad4c5db22e8ef0238084e9b2ad96933f73e157f008 libliftoff-0.1.0.tar.gz
-"
diff --git a/testing/liblinbox/APKBUILD b/testing/liblinbox/APKBUILD
new file mode 100644
index 00000000000..d5be20d3547
--- /dev/null
+++ b/testing/liblinbox/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=liblinbox
+pkgver=1.7.0
+pkgrel=3
+pkgdesc="Library for exact, high-performance linear algebra computation"
+url="https://linalg.org"
+# armhf, armv7, x86: fail tests
+# s390x: blocked by flint
+arch="all !armhf !armv7 !x86 !s390x"
+license="LGPL-2.1-or-later"
+makedepends="
+ fflas-ffpack
+ flint-dev
+ fplll-dev
+ gfortran
+ gmp-dev
+ libiml-dev
+ libm4rie-dev
+ mpfr-dev
+ openblas-dev
+ "
+source="https://github.com/linbox-team/linbox/releases/download/v$pkgver/linbox-$pkgver.tar.gz"
+subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
+builddir="$srcdir/linbox-$pkgver"
+
+build() {
+ export CXXFLAGS="${CXXFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --program-prefix= \
+ --without-archnative
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cb4e848186d1f6357f498d1e3bda6484b4c789c02440f9614a227a2ae206a31fb20b32be40bda74da3f2f8f981bbd58d80fc97c95499b5151bb06eafb867ef9e linbox-1.7.0.tar.gz
+"
diff --git a/testing/liblo/APKBUILD b/testing/liblo/APKBUILD
deleted file mode 100644
index 2cc87dd6f9b..00000000000
--- a/testing/liblo/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=liblo
-pkgver=0.31
-pkgrel=0
-pkgdesc="Open Sound Control protocol implementation for POSIX systems"
-url="http://liblo.sourceforge.net"
-arch="all"
-license="LGPL-2.1-or-later"
-subpackages="$pkgname-dev"
-source="http://downloads.sourceforge.net/liblo/liblo-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="97f9561296c2e53f92db0cfee625687208b490f8bc229b6cffe88b43ca2a8da1ed3217aaa2151245ea483e54ad6c5e92b9cf10a20661766fa6d3bedb5a8cdd01 liblo-0.31.tar.gz"
diff --git a/testing/liblouis/APKBUILD b/testing/liblouis/APKBUILD
deleted file mode 100644
index fcbcac4f06c..00000000000
--- a/testing/liblouis/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=liblouis
-pkgver=3.19.0
-pkgrel=0
-pkgdesc="Braille translator and back-translator"
-url="http://liblouis.org/"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="help2man python3"
-checkdepends="bash"
-subpackages="$pkgname-static $pkgname-dev $pkgname-bin:_bin $pkgname-doc"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/liblouis/liblouis/releases/download/v$pkgver/liblouis-$pkgver.tar.gz
- "
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --enable-ucs4
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-_bin() {
- mkdir -p "$subpkgdir"/usr
- mv "$pkgdir"/usr/bin "$subpkgdir"/usr
-}
-
-sha512sums="
-e2c875e0e2f0e52cf6e5ac9312be2042bad20fc18ee48b2e57329533940d1cb80a07735f3bda166c02fc60c3ef05a6b2f19dd7025949d6fe69849dab637e9ebc liblouis-3.19.0.tar.gz
-"
diff --git a/testing/liblxqt/APKBUILD b/testing/liblxqt/APKBUILD
deleted file mode 100644
index 6ca4a561be9..00000000000
--- a/testing/liblxqt/APKBUILD
+++ /dev/null
@@ -1,57 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=liblxqt
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Common base library for LXQt components"
-url="https://github.com/lxqt/liblxqt"
-# armhf blocked by extra-cmake-modules -> kwindowsystem
-arch="all !armhf"
-license="LGPL-2.0-or-later"
-makedepends="
- cmake
- lxqt-build-tools
- qt5-qttools-dev
- libqtxdg-dev
- kwindowsystem-dev
- qt5-qtx11extras-dev
- libxscrnsaver-dev
- "
-subpackages="$pkgname-dev"
-source="https://github.com/lxqt/liblxqt/releases/download/$pkgver/liblxqt-$pkgver.tar.xz"
-options="!check" # No testsuite
-
-# Enable backlight support when possible
-case "$CARCH" in
- s390x|mips64|riscv64) ;;
- *) makedepends="$makedepends polkit-qt-1-dev" ;;
-esac
-
-build() {
- # Requires polkit-qt-1-dev which requires polkit
- # which is not available on rust-less arches like
- # s390x
- case "$CARCH" in
- s390x|mips64|riscv64) _build_backlight=OFF ;;
- *) _build_backlight=ON ;;
- esac
-
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DBUILD_BACKLIGHT_LINUX_BACKEND=$_build_backlight \
- $CMAKE_CROSSOPTS
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-9b0c081f644285e929f73a2a3aeb051383432ff353f918d4f8cbe57d2f5f330ab7b29329dcc17dd3605fe0904005b1c5009be77ee5ac6e2739b8baaf0fadaa5b liblxqt-1.0.0.tar.xz
-"
diff --git a/testing/libm4ri/APKBUILD b/testing/libm4ri/APKBUILD
new file mode 100644
index 00000000000..0b98a4bac8b
--- /dev/null
+++ b/testing/libm4ri/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libm4ri
+pkgver=20200125
+pkgrel=4
+pkgdesc="Library for fast arithmetic with dense matrices over F2"
+url="https://github.com/malb/m4ri"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ autoconf
+ automake
+ libpng-dev
+ libtool
+ "
+source="https://github.com/malb/m4ri/archive/release-$pkgver/m4ri-$pkgver.tar.gz"
+subpackages="$pkgname-static $pkgname-dev"
+builddir="$srcdir/m4ri-release-$pkgver"
+
+prepare() {
+ default_prepare
+ autoreconf -fi
+}
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --enable-thread-safe \
+ --enable-openmp
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+220c965c2c65aa96d7a138bdaf987e5649199464804bdf80a41f04f645934a07236cd5667a9752c4491bc3727dba6eda1f17779cdcf93d453374f5d7a4976698 m4ri-20200125.tar.gz
+"
diff --git a/testing/libm4rie/APKBUILD b/testing/libm4rie/APKBUILD
new file mode 100644
index 00000000000..8ab2909c795
--- /dev/null
+++ b/testing/libm4rie/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libm4rie
+pkgver=20200125
+pkgrel=3
+pkgdesc="Library for fast arithmetic with dense matrices over GF(2^e) for 2 <= e <= 16"
+url="https://bitbucket.org/malb/m4rie"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="libm4ri-dev"
+source="https://bitbucket.org/malb/m4rie/downloads/m4rie-$pkgver.tar.gz"
+subpackages="$pkgname-static $pkgname-dev"
+builddir="$srcdir/m4rie-$pkgver"
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --enable-openmp
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+761ba9d8eeec381356b45d37a63bac9e70e2b1227435fb717d89a2358df610458fd4f7b7b4af90ad24c918bae81a25c926380761d2c514a762b92d8c661b52e7 m4rie-20200125.tar.gz
+"
diff --git a/testing/libmdbx/APKBUILD b/testing/libmdbx/APKBUILD
index 092ea3fa8ad..9395a84e7a5 100644
--- a/testing/libmdbx/APKBUILD
+++ b/testing/libmdbx/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
pkgname=libmdbx
-pkgver=0.11.1
+pkgver=0.11.8
pkgrel=0
pkgdesc="fast, compact, powerful, embedded, transactional key-value database, with permissive license"
-url="https://github.com/erthink/libmdbx"
-arch="all !mips64"
+url="https://libmdbx.dqdkfa.ru/"
+arch="all"
license="OLDAP-2.8"
-makedepends="linux-headers cmake bash"
+makedepends="linux-headers cmake bash samurai"
subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/erthink/libmdbx/archive/refs/tags/v$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/Thermi/libmdbx/archive/refs/tags/v$pkgver.tar.gz
0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch
fix-example.patch
"
@@ -21,21 +21,19 @@ build() {
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
export CFLAGS="$CFLAGS -fPIC -Wno-int-to-pointer-cast"
- cmake -B build \
+ cmake -G Ninja -B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DMDBX_ENABLE_TESTS=True \
- $CMAKE_CROSSOPTS .
+ $CMAKE_CROSSOPTS
cmake --build build
}
check() {
- cd build
-# export CFLAGS="$CFLAGS -fPIC -Wno-int-to-pointer-cast"
-# cmake . -DMDBX_ENABLE_TESTS=True
- make -f Makefile mdbx-test test-singleprocess build-test TEST_DB=/tmp/mdbx-test.db TEST_LOG=/tmp/mdbx-test.log.gz
+ TEST_DB=/tmp/mdbx-test.db TEST_LOG=/tmp/mdbx-test.log.gz \
+ ninja -C build mdbx-test test-singleprocess build-test
rm /tmp/mdbx-test.*
}
@@ -44,7 +42,7 @@ package() {
}
sha512sums="
-f253f94bb6edae955e4400fb69e6db6efcbfff59f8ff2856495904bbc508b835ac78aa650f8c2c4eeaddf688e7432eca3d71b49f372d469cd90004a1aba40831 libmdbx-0.11.1.tar.gz
+5751de7e288dc63f428a3cbeea5e9e355bfc96163d826b1a9d55c44b1b9b0e22c2dedba56d4ebca2d2edd7c85d7f6724526cf6183b2dd497e2cf7307548e0095 libmdbx-0.11.8.tar.gz
5e5fef4219279b10f0d4371fcbf3e2d4a7d958eb337f9de92aebb6a7d0d6644faa65eb804f46021678997a638ac601b03d9facbbf1164b45ae9075384d300df2 0001-mdbx-Remove-all-checks-for-amalgated-or-git-source-i.patch
baeb79efa7bb5d36af474f6dbefece9c597cf0b4d86cee96b9855da9cba4ee43aa46fab97c0c85c74ac76df9c4e3adc39666775ae14d79c394d07344569940ce fix-example.patch
"
diff --git a/testing/libmdf/APKBUILD b/testing/libmdf/APKBUILD
index 4351a053636..d5639b3259c 100644
--- a/testing/libmdf/APKBUILD
+++ b/testing/libmdf/APKBUILD
@@ -1,18 +1,26 @@
# Contributor: Henrik Holst <henrik.holst@millistream.com>
# Maintainer:
pkgname=libmdf
-pkgver=1.0.23
-pkgrel=2
+pkgver=1.0.27
+pkgrel=0
pkgdesc="Millistream Data Feed API library"
url="https://millistream.com"
arch="all !ppc64le" # Fails to fetch on builders
license="LGPL-3.0-or-later"
-makedepends="openssl-dev zlib-dev"
+makedepends="
+ openssl-dev>3
+ zlib-dev
+ zstd-dev
+ "
subpackages="$pkgname-dev"
source="https://packages.millistream.com/source/libmdf-$pkgver.tar.gz"
build() {
- ./configure --prefix=/usr --disable-static
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr \
+ --disable-static
make
}
@@ -24,4 +32,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="31d7922cb72df6bf5c3df1b3fffd2b5b6df0f00a5c4ff9a69d4018cb7e44d5f845f2ca4fe12d709db580e4ae1e9763ffa3bf8566bb0b8e354cc957aaf81115eb libmdf-1.0.23.tar.gz"
+sha512sums="
+fdcd148d4abb3914c90cf5ddc9ea4b0bb47b79b4c631d3ca4559137a39a670c955669be0893255a10268a0f4ec9dfa3c206d9fdf09f607e119edef5adaefe203 libmdf-1.0.27.tar.gz
+"
diff --git a/testing/libmedc/APKBUILD b/testing/libmedc/APKBUILD
index 21e6f59f328..b0d7e48db99 100644
--- a/testing/libmedc/APKBUILD
+++ b/testing/libmedc/APKBUILD
@@ -1,35 +1,33 @@
# Contributor: Aiden Grossman <agrossman154@yahoo.com>
# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
pkgname=libmedc
-pkgver=4.1.0
-pkgrel=1
+pkgver=4.1.1
+pkgrel=2
pkgdesc="Open source library for numerical simulation"
-url="https://www.salome-platform.org/downloads/current-version"
+url="https://www.salome-platform.org/"
arch="all"
license="GPL-3.0-or-later"
-makedepends="cmake hdf5-dev swig python3-dev"
+makedepends="cmake hdf5-dev swig python3-dev samurai"
options="!check" #test suite is nonfunctional with python bindings
-subpackages="$pkgname-dev $pkgname-doc $pkgname-python:_py"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-python-pyc $pkgname-python:_py"
source="
- https://files.salome-platform.org/Salome/other/med-$pkgver.tar.gz
- hdf5-1.12.patch
- hdf-version.patch
+ https://files.salome-platform.org/Salome/medfile/med-$pkgver.tar.gz
+ hdf5.patch
cmake-config-dir.patch
"
builddir="$srcdir/med-$pkgver"
build() {
- cmake \
- -B ./build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DMEDFILE_BUILD_TESTS=OFF \
- -DMEDFILE_BUILD_PYTHON=ON .
- make -C build
+ -DMEDFILE_BUILD_PYTHON=ON
+ cmake --build build
}
package() {
- DESTDIR="$pkgdir" make -C build install
+ DESTDIR="$pkgdir" cmake --install build
}
_py() {
@@ -39,8 +37,7 @@ _py() {
}
sha512sums="
-94d07663c2f6a3cd497f54b480c3d742476d2a25172feb567980c9e75d49f4661aa2c6aaf570470938265997154e348bc1608065b86d42afda52d4e6361fedf8 med-4.1.0.tar.gz
-65e68a1ddf077f0406498cf26165d5012039c279d6a5da03e29f67edad3fa4bbf6bb0e767fb4bfe279db0f68d0e6ab67c1e973db4ea967ad014bb40dff51b36d hdf5-1.12.patch
-665f765ed752aaa69b844c1428e551aa93e168f39436877afef0353674a0b8cb61f2774d9ab1de45701d1bb6e99b8654018d895f28ac09ad1d592463fd620133 hdf-version.patch
-b794675b97d81a982f06ea3ac07f0a2c6f820cb829055aca9c3259e9157809e674e5de7f7f6502548f3c841f55b27a1521e3734d2aab9291933b131f53b67d59 cmake-config-dir.patch
+f211fa82750a7cc935baa3a50a55d16e40117a0f2254b482492ba8396d82781ca84960995da7a16b2b5be0b93ce76368bf4b311bb8af0e5f0243e7051c9c554c med-4.1.1.tar.gz
+68d9291e73a68d674081314028c0fce7bbd4a7b78b93b7e5078117ce62f2d07318bc33ec95091ce677148ec3926c1ce653d0760c34e74b29257a7be59210f040 hdf5.patch
+8d0f58cd67d205fbacaff0e6da76e2ee5473457b478ede13a551ebe5853c0716c7406b74c3792e1ace33a34d352fccca8dd2940f063a7c060a12529d060a991a cmake-config-dir.patch
"
diff --git a/testing/libmedc/cmake-config-dir.patch b/testing/libmedc/cmake-config-dir.patch
index 067179b45f4..e1f43a47cc3 100644
--- a/testing/libmedc/cmake-config-dir.patch
+++ b/testing/libmedc/cmake-config-dir.patch
@@ -1,10 +1,11 @@
---- c/CMakeLists.txt
-+++ w/CMakeLists.txt
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
@@ -101,7 +101,7 @@
IF(WIN32 AND NOT CYGWIN)
SET(INSTALL_CMAKE_CONFIG_DIR cmake)
ELSE()
-- SET(INSTALL_CMAKE_CONFIG_DIR share/cmake/med-fichier-${MED_STR_VERSION})
-+ SET(INSTALL_CMAKE_CONFIG_DIR lib/cmake/med-fichier-${MED_STR_VERSION})
+- SET(INSTALL_CMAKE_CONFIG_DIR share/cmake/medfile-${MED_STR_VERSION})
++ SET(INSTALL_CMAKE_CONFIG_DIR lib${LIB_SUFFIX}/cmake/medfile-${MED_STR_VERSION})
ENDIF()
SET(INSTALL_INCLUDE_DIR include)
+
diff --git a/testing/libmedc/hdf-version.patch b/testing/libmedc/hdf-version.patch
deleted file mode 100644
index 5262846936d..00000000000
--- a/testing/libmedc/hdf-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- c/src/ci/MEDfileCompatibility.c
-+++ w/src/ci/MEDfileCompatibility.c
-@@ -113,7 +113,7 @@
- #if MED_NUM_MAJEUR != 4
- #error "Don't forget to update the test version here when you change the major version of the library !"
- #endif
--#if H5_VERS_MINOR > 10
-+#if 0
- #error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !"
- #error "Cf. _MEDfileCreate ..."
- #endif
diff --git a/testing/libmedc/hdf5-1.12.patch b/testing/libmedc/hdf5-1.12.patch
deleted file mode 100644
index f9a75e5e39f..00000000000
--- a/testing/libmedc/hdf5-1.12.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-Originally from https://gist.github.com/jedbrown/527ef81ff59a0dccf833da40fdd15a47
-diff --git c/config/cmake_files/medMacros.cmake w/config/cmake_files/medMacros.cmake
-index b79f387..7c82cec 100644
---- c/config/cmake_files/medMacros.cmake
-+++ w/config/cmake_files/medMacros.cmake
-@@ -398,7 +398,7 @@ MACRO(MED_FIND_HDF5)
- ##
- ## Requires 1.10.x version
- ##
-- IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 10 OR NOT HDF_VERSION_RELEASE_REF GREATER 1)
-+ IF (HDF5_VERSION VERSION_LESS 1.10.2)
- MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.")
- ENDIF()
- ##
-diff --git c/src/ci/MEDfileCompatibility.c w/src/ci/MEDfileCompatibility.c
-index b5c42d1..d94e6a8 100644
---- c/src/ci/MEDfileCompatibility.c
-+++ w/src/ci/MEDfileCompatibility.c
-@@ -71,7 +71,7 @@ MEDfileCompatibility(const char* const filename,
- _hversionMMR=10000*_hmajeur+100*_hmineur+_hrelease;
- /* ISCRUTE(_hversionMMR); */
- /* ISCRUTE(HDF_VERSION_NUM_REF); */
-- if ( (_hversionMMR >= HDF_VERSION_NUM_REF) && (_hmineur == HDF_VERSION_MINOR_REF) ) *hdfok = MED_TRUE;
-+ if (_hversionMMR >= HDF_VERSION_NUM_REF) *hdfok = MED_TRUE;
-
- /* TODO : Vérifier si la version mineure HDF du fichier est supérieur
- à la version mineure de la bibliothèque HDF utilisée */
-diff --git c/src/hdfi/_MEDfileCreate.c w/src/hdfi/_MEDfileCreate.c
-index 34c75cc..66073c1 100644
---- c/src/hdfi/_MEDfileCreate.c
-+++ w/src/hdfi/_MEDfileCreate.c
-@@ -84,7 +84,7 @@ med_idt _MEDfileCreate(const char * const filename, const med_access_mode access
- * En HDF5-1.10.0p1 cela n'a aucun effet !
- * Un test autoconf permet de fixer un intervalle de version HDF à MED.
- */
--#if H5_VERS_MINOR > 10
-+#if H5_VERS_MINOR > 12
- #error "Don't forget to change the compatibility version of the library !"
- #endif
-
-diff --git c/src/hdfi/_MEDfileOpen.c w/src/hdfi/_MEDfileOpen.c
-index 7d0b798..6a7de9a 100644
---- c/src/hdfi/_MEDfileOpen.c
-+++ w/src/hdfi/_MEDfileOpen.c
-@@ -72,7 +72,7 @@ med_idt _MEDfileOpen(const char * const filename,const med_access_mode accessmod
-
- • The creation order tracking property, H5P_CRT_ORDER_TRACKED, has been set in the group creation property list (see H5Pset_link_creation_order).
- */
--#if H5_VERS_MINOR > 10
-+#if H5_VERS_MINOR > 12
- #error "Don't forget to change the compatibility version of the library !"
- #endif
- /* L'avantage de bloquer le modèle interne HDF5
-diff --git c/src/hdfi/_MEDmemFileOpen.c w/src/hdfi/_MEDmemFileOpen.c
-index 9449cda..a3f4adc 100644
---- c/src/hdfi/_MEDmemFileOpen.c
-+++ w/src/hdfi/_MEDmemFileOpen.c
-@@ -434,7 +434,7 @@ med_idt _MEDmemFileOpen(const char * const filename, med_memfile * const memfile
- goto ERROR;
- }
-
--#if H5_VERS_MINOR > 10
-+#if H5_VERS_MINOR > 12
- #error "Don't forget to change the compatibility version of the library !"
- #endif
- if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18) ) {
-diff --git c/src/hdfi/_MEDparFileCreate.c w/src/hdfi/_MEDparFileCreate.c
-index c6d9f44..b3b2a41 100644
---- c/src/hdfi/_MEDparFileCreate.c
-+++ w/src/hdfi/_MEDparFileCreate.c
-@@ -64,7 +64,7 @@ med_idt _MEDparFileCreate(const char * const filename, const med_access_mode acc
- * En HDF5-1.10.0p1 cela n'a aucun effet !
- * Un test autoconf permet de fixer un intervalle de version HDF à MED.
- */
--#if H5_VERS_MINOR > 10
-+#if H5_VERS_MINOR > 12
- #error "Don't forget to change the compatibility version of the library !"
- #endif
-
-diff --git c/src/hdfi/_MEDparFileOpen.c w/src/hdfi/_MEDparFileOpen.c
-index 0100729..dfad95c 100644
---- c/src/hdfi/_MEDparFileOpen.c
-+++ w/src/hdfi/_MEDparFileOpen.c
-@@ -55,7 +55,7 @@ med_idt _MEDparFileOpen(const char * const filename,const med_access_mode access
- MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_PARALLEL_MSG);
- goto ERROR;
- }
--#if H5_VERS_MINOR > 10
-+#if H5_VERS_MINOR > 12
- #error "Don't forget to change the compatibility version of the library !"
- #endif
- if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) {
diff --git a/testing/libmedc/hdf5.patch b/testing/libmedc/hdf5.patch
new file mode 100644
index 00000000000..bc4764b444d
--- /dev/null
+++ b/testing/libmedc/hdf5.patch
@@ -0,0 +1,94 @@
+Originally from https://gist.github.com/jedbrown/527ef81ff59a0dccf833da40fdd15a47
+diff -rupN med-4.1.0/config/cmake_files/medMacros.cmake med-4.1.0-new/config/cmake_files/medMacros.cmake
+--- med-4.1.0/config/cmake_files/medMacros.cmake 2021-12-03 09:35:30.675827163 +0100
++++ med-4.1.0-new/config/cmake_files/medMacros.cmake 2021-12-03 09:32:31.894994147 +0100
+@@ -447,7 +447,7 @@ MACRO(MED_FIND_HDF5)
+ ##
+ ## Requires 1.10.x version
+ ##
+- IF (NOT HDF_VERSION_MAJOR_REF EQUAL 1 OR NOT HDF_VERSION_MINOR_REF EQUAL 10 OR NOT HDF_VERSION_RELEASE_REF GREATER 1)
++ IF (HDF5_VERSION VERSION_LESS 1.10.2)
+ MESSAGE(FATAL_ERROR "HDF5 version is ${HDF_VERSION_REF}. Only versions >= 1.10.2 are supported.")
+ ENDIF()
+ ##
+diff -rupN med-4.1.0/src/ci/MEDfileCompatibility.c med-4.1.0-new/src/ci/MEDfileCompatibility.c
+--- med-4.1.0/src/ci/MEDfileCompatibility.c 2021-12-03 09:35:30.676827162 +0100
++++ med-4.1.0-new/src/ci/MEDfileCompatibility.c 2021-12-03 09:33:26.292942149 +0100
+@@ -71,7 +71,7 @@ MEDfileCompatibility(const char* const f
+ _hversionMMR=10000*_hmajeur+100*_hmineur+_hrelease;
+ /* ISCRUTE(_hversionMMR); */
+ /* ISCRUTE(HDF_VERSION_NUM_REF); */
+- if ( (_hversionMMR >= HDF_VERSION_NUM_REF) && (_hmineur == HDF_VERSION_MINOR_REF) ) *hdfok = MED_TRUE;
++ if (_hversionMMR >= HDF_VERSION_NUM_REF) *hdfok = MED_TRUE;
+
+ /* TODO : Vérifier si la version mineure HDF du fichier est supérieure
+ à la version mineure de la bibliothèque HDF utilisée :
+@@ -113,7 +113,7 @@ MEDfileCompatibility(const char* const f
+ #if MED_NUM_MAJEUR != 4
+ #error "Don't forget to update the test version here when you change the major version of the library !"
+ #endif
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to check the compatibility version of the library, depending on the internal hdf model choice !"
+ #error "Cf. _MEDfileCreate ..."
+ #endif
+diff -rupN med-4.1.0/src/hdfi/_MEDfileCreate.c med-4.1.0-new/src/hdfi/_MEDfileCreate.c
+--- med-4.1.0/src/hdfi/_MEDfileCreate.c 2021-12-03 09:35:30.677827161 +0100
++++ med-4.1.0-new/src/hdfi/_MEDfileCreate.c 2021-12-03 09:32:31.894994147 +0100
+@@ -159,7 +159,7 @@ med_idt _MEDfileCreate(const char * cons
+ * En HDF5-1.10.0p1 cela n'a aucun effet !
+ * Un test autoconf permet de fixer un intervalle de version HDF à MED.
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+
+diff -rupN med-4.1.0/src/hdfi/_MEDfileOpen.c med-4.1.0-new/src/hdfi/_MEDfileOpen.c
+--- med-4.1.0/src/hdfi/_MEDfileOpen.c 2021-12-03 09:35:30.677827161 +0100
++++ med-4.1.0-new/src/hdfi/_MEDfileOpen.c 2021-12-03 09:32:31.894994147 +0100
+@@ -72,7 +72,7 @@ med_idt _MEDfileOpen(const char * const
+
+ • The creation order tracking property, H5P_CRT_ORDER_TRACKED, has been set in the group creation property list (see H5Pset_link_creation_order).
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ /* L'avantage de bloquer le modèle interne HDF5
+diff -rupN med-4.1.0/src/hdfi/_MEDmemFileOpen.c med-4.1.0-new/src/hdfi/_MEDmemFileOpen.c
+--- med-4.1.0/src/hdfi/_MEDmemFileOpen.c 2021-12-03 09:35:30.678827160 +0100
++++ med-4.1.0-new/src/hdfi/_MEDmemFileOpen.c 2021-12-03 09:32:31.894994147 +0100
+@@ -434,7 +434,7 @@ med_idt _MEDmemFileOpen(const char * con
+ goto ERROR;
+ }
+
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18) ) {
+diff -rupN med-4.1.0/src/hdfi/_MEDparFileCreate.c med-4.1.0-new/src/hdfi/_MEDparFileCreate.c
+--- med-4.1.0/src/hdfi/_MEDparFileCreate.c 2021-12-03 09:35:30.678827160 +0100
++++ med-4.1.0-new/src/hdfi/_MEDparFileCreate.c 2021-12-03 09:32:31.894994147 +0100
+@@ -64,7 +64,7 @@ med_idt _MEDparFileCreate(const char * c
+ * En HDF5-1.10.0p1 cela n'a aucun effet !
+ * Un test autoconf permet de fixer un intervalle de version HDF à MED.
+ */
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+
+diff -rupN med-4.1.0/src/hdfi/_MEDparFileOpen.c med-4.1.0-new/src/hdfi/_MEDparFileOpen.c
+--- med-4.1.0/src/hdfi/_MEDparFileOpen.c 2021-12-03 09:35:30.679827159 +0100
++++ med-4.1.0-new/src/hdfi/_MEDparFileOpen.c 2021-12-03 09:32:31.894994147 +0100
+@@ -55,7 +55,7 @@ med_idt _MEDparFileOpen(const char * con
+ MED_ERR_(_fid,MED_ERR_INIT,MED_ERR_PROPERTY,MED_ERR_PARALLEL_MSG);
+ goto ERROR;
+ }
+-#if H5_VERS_MINOR > 10
++#if H5_VERS_MINOR > 14
+ #error "Don't forget to change the compatibility version of the library !"
+ #endif
+ if ( H5Pset_libver_bounds( _fapl, H5F_LIBVER_18, H5F_LIBVER_18 ) ) {
diff --git a/testing/libmesode/APKBUILD b/testing/libmesode/APKBUILD
deleted file mode 100644
index eba02d3a2b4..00000000000
--- a/testing/libmesode/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=libmesode
-pkgver=0.10.1
-pkgrel=0
-pkgdesc="Fork of libstrophe for use with Profanity XMPP Client"
-url="https://github.com/profanity-im/libmesode"
-arch="all"
-license="GPL-3.0-only MIT"
-makedepends="expat-dev doxygen openssl-dev automake autoconf libtool"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/profanity-im/libmesode/archive/$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- ./bootstrap.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
- doxygen
-}
-
-doc() {
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/share/html/$pkgname
- mv docs/html/* "$subpkgdir"/usr/share/html/$pkgname/
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- rm -f "$pkgdir"/usr/lib/*.a
-}
-sha512sums="00890ac903ed367872903242116527f229255bcc8988f87005b12a40a903d3b6133dff26229387c49de1ba6d911707adfc73a8a662864843899322c90e10dba7 libmesode-0.10.1.tar.gz"
diff --git a/testing/libmhash/APKBUILD b/testing/libmhash/APKBUILD
index ca3adb283af..6b0a2ac181e 100644
--- a/testing/libmhash/APKBUILD
+++ b/testing/libmhash/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=libmhash
pkgver=0.9.9.9
-pkgrel=2
+pkgrel=3
pkgdesc="Library which provides a uniform interface to a large number of hash algorithms"
-url="http://mhash.sourceforge.net/"
+url="https://mhash.sourceforge.net/"
arch="all"
license="LGPL-2.0-only and LGPL-2.1-or-later"
subpackages="$pkgname-dev $pkgname-doc"
diff --git a/testing/libmpfi/APKBUILD b/testing/libmpfi/APKBUILD
new file mode 100644
index 00000000000..7516eab7d94
--- /dev/null
+++ b/testing/libmpfi/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libmpfi
+pkgver=1.5.4
+pkgrel=2
+pkgdesc="Library for multiple precision interval arithmetic"
+url="https://github.com/arpra-project/mpfi"
+arch="all"
+license="GPL-3.0-only OR LGPL-3.0-only"
+makedepends="
+ autoconf
+ automake
+ gmp-dev
+ libtool
+ mpfr-dev
+ "
+options="!check" # tests are broken
+subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
+source="https://github.com/arpra-project/mpfi/archive/$pkgver/mpfi-$pkgver.tar.gz"
+builddir="$srcdir/mpfi-$pkgver"
+
+prepare() {
+ default_prepare
+ autoreconf -fi
+}
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+3e2df2243f40b20d49b6698db534c668be583eaa5c75d37b70a2e6e5be2c0fcc303df1b991b8e427dca78eca5eb2aef120ea75cefe1587c13a71996e1190ff5d mpfi-1.5.4.tar.gz
+"
diff --git a/testing/libmustache/APKBUILD b/testing/libmustache/APKBUILD
index 342753546b6..aff67624c63 100644
--- a/testing/libmustache/APKBUILD
+++ b/testing/libmustache/APKBUILD
@@ -3,7 +3,7 @@
pkgname=libmustache
_mustachespec_gitrev=b96be9fd4c6d6984828d93169fe7e86d8a8aec2f
pkgver=0.5.0
-pkgrel=0
+pkgrel=1
pkgdesc="C++ implementation of Mustache intended mainly for use as a PHP extension"
url="https://github.com/jbboehr/libmustache"
arch=all
diff --git a/testing/libmygpo-qt/APKBUILD b/testing/libmygpo-qt/APKBUILD
index 4d45afba9a2..99c0ad18deb 100644
--- a/testing/libmygpo-qt/APKBUILD
+++ b/testing/libmygpo-qt/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: knuxify <knuxify@gmail.com>
pkgname=libmygpo-qt
pkgver=1.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="A C++/Qt client library for gpodder.net"
url="http://wiki.gpodder.org/wiki/Libmygpo-qt"
arch="all"
diff --git a/testing/libmysofa/APKBUILD b/testing/libmysofa/APKBUILD
index 1d83bbb902b..e716c4c9457 100644
--- a/testing/libmysofa/APKBUILD
+++ b/testing/libmysofa/APKBUILD
@@ -1,37 +1,52 @@
# Contributor: Taner Tas <taner76@gmail.com>
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=libmysofa
-pkgver=1.2
+pkgver=1.3.2
pkgrel=0
pkgdesc="Set of C functions to read AES SOFA files"
url="https://github.com/hoene/libmysofa"
license="BSD-3-Clause-Clear"
-arch="all !mips64 !riscv64" # blocked by nodejs
+arch="all"
arch="$arch !s390x" # tests fail
makedepends="
cmake
cunit-dev
- nodejs
+ samurai
zlib-dev
"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/hoene/libmysofa/archive/v$pkgver.tar.gz"
+checkdepends="nodejs"
+subpackages="$pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.gz::https://github.com/hoene/libmysofa/archive/v$pkgver.tar.gz
+ install-header.patch
+ "
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE:STRING='None' \
- -DCMAKE_INSTALL_PREFIX:PATH='/usr' \
- -DCMAKE_INSTALL_LIBDIR:PATH='lib' \
- -DCODE_COVERAGE:BOOL='OFF'
- make -C build all
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCODE_COVERAGE=OFF \
+ -DBUILD_TESTS=ON \
+ -DBUILD_STATIC_LIBS=OFF
+ cmake --build build
}
check() {
- make -C build test
+ ctest -j1 --test-dir build --output-on-failure
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+tools() {
+ pkgdesc="$pkgdesc (tools)"
+
+ amove usr/bin
+ amove usr/share
}
-sha512sums="5d6f46b8c3a9c464db25fbb2cda1f7172429f4ac79d95d29396edcb49312cf80fdfc0d46132745892b502be142f80e70126c7bae5891c1423b19bde7df0e8a56 libmysofa-1.2.tar.gz"
+sha512sums="
+de7f5d36079b8be06860f3380c7a359e22f59e3e57d86f5f5df1512a20b321e392e2452a34f3ea979779fb84c7493fd4febd386c89b6da4182d6c0cfb0ce1d75 libmysofa-1.3.2.tar.gz
+35bcc9836db9873826a558146dce9045000f4c4028bc52f0940cf24a60cc515c1765adfa8134c24c72b9cc29dc7b08f9fa111bec9f54127a46df7285a785088c install-header.patch
+"
diff --git a/testing/libmysofa/install-header.patch b/testing/libmysofa/install-header.patch
new file mode 100644
index 00000000000..e1ab25cc98c
--- /dev/null
+++ b/testing/libmysofa/install-header.patch
@@ -0,0 +1,25 @@
+Patch-Source: https://github.com/hoene/libmysofa/commit/1b7d3bb0c5d13a6d2db0b439231ce65f4ad4cca0.patch
+--
+From 1b7d3bb0c5d13a6d2db0b439231ce65f4ad4cca0 Mon Sep 17 00:00:00 2001
+From: "Jason E. Hale" <jhale@FreeBSD.org>
+Date: Tue, 17 Oct 2023 15:10:23 -0400
+Subject: [PATCH] Install header when only building shared library
+
+Fixes #210
+---
+ src/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index dcaa92a..0de9632 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -127,6 +127,8 @@ if(BUILD_SHARED_LIBS)
+ # with the mysofa-static library.
+ set_target_properties(mysofa-shared
+ PROPERTIES ARCHIVE_OUTPUT_NAME mysofa_shared)
++ set_target_properties(mysofa-shared
++ PROPERTIES PUBLIC_HEADER "${public-headers}")
+
+ set_property(
+ TARGET mysofa-shared
diff --git a/testing/libnbd/APKBUILD b/testing/libnbd/APKBUILD
deleted file mode 100644
index d40a2efd22e..00000000000
--- a/testing/libnbd/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
-# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
-pkgname=libnbd
-pkgver=1.6.5
-pkgrel=1
-pkgdesc="NBD client library in userspace"
-url="https://github.com/libguestfs/libnbd"
-arch="all"
-license="LGPL-2.0-or-later"
-makedepends="perl autoconf automake gnutls-dev linux-headers libtool python3-dev
- bash bash-completion"
-checkdepends="qemu-img bash python3"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-bash-completion"
-source="
- http://download.libguestfs.org/libnbd/1.6-stable/libnbd-$pkgver.tar.gz
- "
-
-prepare() {
- default_prepare
- autoreconf -fi
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc
- make
-}
-
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR=$pkgdir install
-}
-
-sha512sums="
-c68fa70dd7ab81d86b2c3c8614c43c4713fd302bccb9f01b70bcb1b4797e79f37b37e3787f7eb85aaa2d7129cd5554e55944a0e187fd786367ac1393dd36b848 libnbd-1.6.5.tar.gz
-"
diff --git a/testing/libneo4j-client/APKBUILD b/testing/libneo4j-client/APKBUILD
index d1a6072ec23..e2ae86f2359 100644
--- a/testing/libneo4j-client/APKBUILD
+++ b/testing/libneo4j-client/APKBUILD
@@ -2,70 +2,59 @@
# Maintainer: Chris Leishman <chris@leishman.org>
pkgname=libneo4j-client
pkgver=2.2.0
-pkgrel=2
+pkgrel=3
pkgdesc="Client library for the Neo4j graph database"
url="https://github.com/cleishm/libneo4j-client"
-arch="x86_64 aarch64 ppc64le"
+arch="aarch64 ppc64le x86_64"
license="Apache-2.0"
-depends="openssl"
-depends_dev="openssl-dev"
-makedepends="$depends_dev automake autoconf libtool check-dev doxygen pkgconfig fts fts-dev libedit-dev libcypher-parser-dev"
-install=""
-subpackages="$pkgname-dev $pkgname-doc::noarch neo4j-client:client neo4j-client-doc::noarch"
+makedepends="
+ autoconf
+ automake
+ check-dev
+ doxygen
+ libcypher-parser-dev
+ libedit-dev
+ libtool
+ musl-fts-dev
+ openssl-dev
+ "
+subpackages="
+ $pkgname-dev
+ neo4j-client
+ neo4j-client-doc
+ "
source="https://github.com/cleishm/libneo4j-client/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/"$pkgname-$pkgver"
build() {
- cd "$builddir"
- ./configure \
- --prefix=/usr
- make
- make doc
+ export CFLAGS="$CFLAGS -Wno-error=maybe-uninitialized -Wno-error=uninitialized -Wno-error=nonnull"
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-doxygen-html \
+ --disable-doxygen-pdf
+ make
+
}
check() {
- cd "$builddir"
- make LIBS="-lfts" check
+ make LIBS="-lfts" check
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir"/usr/share/doc/libneo4j-client
- mv doc/html/* "$pkgdir"/usr/share/doc/libneo4j-client/
-}
-
-doc() {
- depends="$depends_doc"
- pkgdesc="$pkgdesc (documentation)"
- install_if="docs $pkgname=$pkgver-r$pkgrel"
-
- if [ "$subpkgname" = "libneo4j-client-doc" ]; then
- mkdir -p "$subpkgdir"/usr/share
- mv "$pkgdir"/usr/share/doc "$subpkgdir"/usr/share/
- elif [ "$subpkgname" = "neo4j-client-doc" ]; then
- mkdir -p "$subpkgdir"/usr/share
- mv "$pkgdir"/usr/share/man "$subpkgdir"/usr/share/
- find "$subpkgdir"/usr/share/man/ -type f | xargs gzip -9
- else
- die "Unknown doc package $pkgname"
- fi
-
- # remove if empty, ignore error (not empty)
- rmdir "$pkgdir"/usr/share "$pkgdir"/usr || true 2>/dev/null
- return 0
+ make DESTDIR="$pkgdir" install
}
client() {
- depends="libedit libcypher-parser"
- pkgdesc="Command line shell for Neo4j"
-
- mkdir -p "$subpkgdir"/usr
- mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+ pkgdesc="Command line shell for Neo4j"
- # remove if empty, ignore error (not empty)
- rmdir "$pkgdir"/usr/bin "$pkgdir"/usr 2>/dev/null || true
- return 0
+ amove usr/bin/neo4j-client
}
-sha512sums="973f8e49ee780b9ef8710dad057f264db1004523059ece5504af32c2ba5367e9199898d24aa133c017c953b0b750b2a23495765069c9a5ad470e8387a0eb4d9a libneo4j-client-2.2.0.tar.gz"
+sha512sums="
+973f8e49ee780b9ef8710dad057f264db1004523059ece5504af32c2ba5367e9199898d24aa133c017c953b0b750b2a23495765069c9a5ad470e8387a0eb4d9a libneo4j-client-2.2.0.tar.gz
+"
diff --git a/testing/libnest2d/APKBUILD b/testing/libnest2d/APKBUILD
new file mode 100644
index 00000000000..3cb42f7fe31
--- /dev/null
+++ b/testing/libnest2d/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=libnest2d
+pkgver=0.4
+pkgrel=5
+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
+"
diff --git a/testing/libnest2d/allow-disallowed-area.patch b/testing/libnest2d/allow-disallowed-area.patch
new file mode 100644
index 00000000000..479b9c43629
--- /dev/null
+++ b/testing/libnest2d/allow-disallowed-area.patch
@@ -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;
diff --git a/testing/libnfc/APKBUILD b/testing/libnfc/APKBUILD
new file mode 100644
index 00000000000..a7a8dec815f
--- /dev/null
+++ b/testing/libnfc/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Maarten van Gompel <proycon@anaproy.nl>
+# Maintainer: Maarten van Gompel <proycon@anaproy.nl>
+pkgname=libnfc
+pkgver=1.8.0
+pkgrel=1
+pkgdesc="Platform independent Near Field Communication (NFC) library"
+url="http://nfc-tools.org"
+arch="all"
+license="LGPL-3.0-or-later"
+makedepends="
+ bsd-compat-headers
+ libusb-compat-dev
+ linux-headers
+ openssl-dev
+ "
+subpackages="$pkgname-dev $pkgname-tools $pkgname-doc"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/nfc-tools/libnfc/releases/download/libnfc-$pkgver/libnfc-$pkgver.tar.bz2"
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+tools() {
+ pkgdesc="$pkgdesc (tools)"
+
+ amove usr/bin
+}
+
+sha512sums="
+aa8762ecb5b94167d20346f2c81491bb5b634bcedbf2aae3e2efdb301bca89ceb7c2e15148d0934fdc1cce6d77ee0225e28e84893232999fdc09d8a90ae2a7c5 libnfc-1.8.0.tar.bz2
+"
diff --git a/testing/libnova/0001-support-for-linux-musl.patch b/testing/libnova/0001-support-for-linux-musl.patch
new file mode 100644
index 00000000000..e3725c4d57c
--- /dev/null
+++ b/testing/libnova/0001-support-for-linux-musl.patch
@@ -0,0 +1,24 @@
+From 618d262ebd45108bf3b031b89cf93b189a1dae32 Mon Sep 17 00:00:00 2001
+From: Clayton Craft <clayton@craftyguy.net>
+Date: Fri, 23 Feb 2024 22:30:51 -0800
+Subject: [PATCH] support for linux-musl
+
+---
+ config.sub | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/config.sub b/config.sub
+index c894da4..b3968e7 100755
+--- a/config.sub
++++ b/config.sub
+@@ -124,6 +124,7 @@ maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+ case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
+ linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++ linux-musl | \
+ knetbsd*-gnu* | netbsd*-gnu* | \
+ kopensolaris*-gnu* | \
+ storm-chaos* | os2-emx* | rtmk-nova*)
+--
+2.43.2
+
diff --git a/testing/libnova/APKBUILD b/testing/libnova/APKBUILD
new file mode 100644
index 00000000000..80ecd3013dd
--- /dev/null
+++ b/testing/libnova/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer: Clayton Craft <clayton@craftyguy.net>
+pkgname=libnova
+pkgver=0.15.0
+pkgrel=0
+pkgdesc="general purpose, double precision, celestial mechanics, astrometry and astrodynamics library"
+url="https://sourceforge.net/projects/libnova/"
+arch="all !armv7 !armhf !riscv64" # riscv64: no build target upstream
+license="GPL-2.0-only"
+makedepends="
+ autoconf
+ automake
+ libtool
+"
+subpackages="$pkgname-dev"
+source="
+ https://downloads.sourceforge.net/sourceforge/libnova/libnova-$pkgver.tar.gz
+ 0001-support-for-linux-musl.patch
+"
+
+build() {
+ autoreconf -i
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+77ab0ccbfe462c03a21e88656cb4d6389994ea1da0ee8da997f19a83d24ad8fd9e505e70e1580b75332e826e5b7859b5f2af4417f65eb811440493ba586f2574 libnova-0.15.0.tar.gz
+142342e88506a784c437b78d310c4279a5418fd5f7952f64ba99919f232a07a0bea7604569a5f59d11544b3b643fc2fd3666b2aa20a2995827611c9f7daeb26c 0001-support-for-linux-musl.patch
+"
diff --git a/testing/libntl/APKBUILD b/testing/libntl/APKBUILD
new file mode 100644
index 00000000000..70ae58553c8
--- /dev/null
+++ b/testing/libntl/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libntl
+pkgver=11.5.1
+pkgrel=3
+pkgdesc="Library for doing number theory"
+url="https://libntl.org"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="autoconf automake gf2x-dev gmp-dev perl"
+source="https://libntl.org/ntl-$pkgver.tar.gz"
+subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
+builddir="$srcdir/ntl-$pkgver/src"
+
+prepare() {
+ default_prepare
+
+ cd libtool-origin
+ update_config_guess
+ update_config_sub
+}
+
+build() {
+ export CXXFLAGS="${CXXFLAGS/-Os/-O2}" # gotta go fast
+
+ # This configure script wasn't generated by autoconf, however during
+ # configuration an inlying perl scripts will use autoconf utilities...
+ ./configure \
+ NATIVE=off \
+ SHARED=on \
+ TUNE=generic \
+ CXXFLAGS="$CXXFLAGS" \
+ LDFLAGS="$LDFLAGS" \
+ DEF_PREFIX=/usr \
+ NTL_GF2X_LIB=on \
+ NTL_GMP_LIP=on
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cf1f642b8a0f9cdc6dda888e07183817dc67ff494e56a852053aeb15b3d2a0e61fbc05824779c5d1f20b8115fba6f97266acf7e0b0b527c25df5989c86d5928f ntl-11.5.1.tar.gz
+"
diff --git a/testing/libofx/APKBUILD b/testing/libofx/APKBUILD
index 39676c0e25c..0795aa0fe08 100644
--- a/testing/libofx/APKBUILD
+++ b/testing/libofx/APKBUILD
@@ -1,38 +1,47 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Contributor: 7heo <7heo@mail.com>
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=libofx
-pkgver=0.10.3
-pkgrel=0
+pkgver=0.10.9
+pkgrel=1
pkgdesc="OFX banking protocol abstraction library"
url="https://github.com/libofx/libofx"
arch="all"
license="GPL-2.0-or-later"
-makedepends="bash automake autoconf libtool gengetopt opensp-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/libofx/libofx/archive/$pkgver.tar.gz"
+makedepends="
+ cmake
+ curl-dev
+ gengetopt
+ libxml++-2.6-dev
+ opensp-dev
+ samurai
+ "
+subpackages="$pkgname-dev $pkgname-tools"
+source="https://github.com/libofx/libofx/releases/download/$pkgver/libofx-$pkgver.tar.gz"
+options="!check" # fails if /tmp/catalog exists
-prepare() {
- default_prepare
- ./autogen.sh
+build() {
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
}
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-static
- make -j1
+check() {
+ ctest --test-dir build --output-on-failure
}
package() {
- make -j1 DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+tools() {
+ pkgdesc="$pkgdesc (tools)"
+
+ amove usr/bin
+ amove usr/share
}
sha512sums="
-6c024628a6a11d9542c669a438223331a033eb820b1a2c3001c60d1ab3fad45ccdec64f9b54dd206fe0058ead8e14e751eb7a3bd88e8f9e1013b0bdd5b6c5242 libofx-0.10.3.tar.gz
+89425912fa8c800ede9d7177ccd5cb3ea2a2301b42aa6580ddb105406fe68c770e2c461eefdea5bc7e883967c90e3519a219bf0b56d12c7de1030d0964d50cac libofx-0.10.9.tar.gz
"
diff --git a/testing/liboggz/APKBUILD b/testing/liboggz/APKBUILD
index 217aa5d34a3..77ec51d84fa 100644
--- a/testing/liboggz/APKBUILD
+++ b/testing/liboggz/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=liboggz
pkgver=1.1.1
-pkgrel=1
+pkgrel=2
pkgdesc="Provides a simple programming interface for reading and writing Ogg files and streams"
url="https://www.xiph.org/oggz/"
arch="all"
license="BSD-3-Clause"
makedepends="libogg-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="http://downloads.xiph.org/releases/$pkgname/$pkgname-$pkgver.tar.gz"
+source="https://downloads.xiph.org/releases/liboggz/liboggz-$pkgver.tar.gz"
prepare() {
default_prepare
diff --git a/testing/libopenraw/APKBUILD b/testing/libopenraw/APKBUILD
deleted file mode 100644
index d5a673b1ce1..00000000000
--- a/testing/libopenraw/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Saijin-Naib <2107-Saijin-Naib@users.gitlab.alpinelinux.org>
-# Maintainer: Saijin-Naib <2107-Saijin-Naib@users.gitlab.alpinelinux.org>
-pkgname=libopenraw
-pkgver=0.3.0
-pkgrel=0
-pkgdesc="Desktop agnostic effort to support digital camera RAW files"
-url="https://libopenraw.freedesktop.org/"
-arch="all !s390x !mips64 !riscv64"
-license="LGPL-3.0-or-later"
-makedepends="
- autoconf
- autoconf-archive
- automake
- boost-dev
- cargo
- curl-dev
- gdk-pixbuf-dev
- libjpeg-turbo-dev
- libxml2-dev
- m4
- rust
- "
-subpackages="$pkgname-dev"
-source="https://libopenraw.freedesktop.org/download/libopenraw-$pkgver.tar.bz2"
-
-prepare() {
- default_prepare
- update_config_sub
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make install DESTDIR="$pkgdir"
-}
-
-sha512sums="
-bf0c83f1114fc7bab34d81b385120284059c85eeb38b8ccdb73dc678ae4995b90f744948891924dc0ec612297a4d9ea2507d7cec2c29cb09b70b4ee840618361 libopenraw-0.3.0.tar.bz2
-"
diff --git a/testing/libopensles-standalone/APKBUILD b/testing/libopensles-standalone/APKBUILD
new file mode 100644
index 00000000000..4402033b496
--- /dev/null
+++ b/testing/libopensles-standalone/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=libopensles-standalone
+pkgver=0_git20231019
+pkgrel=2
+_commit="6e6e8e5bfa9f53deaa947e8ec4f1a70b892b764f"
+pkgdesc="A lightly patched version of Google's libOpenSLES implementation"
+url="https://gitlab.com/android_translation_layer/libopensles-standalone"
+arch="x86_64 aarch64 armv7"
+license="Apache-2.0"
+makedepends="
+ libsndfile-dev
+ meson
+ openjdk8-jdk
+ sdl2-dev
+ "
+subpackages="$pkgname-dev $pkgname-dbg"
+source="https://gitlab.com/android_translation_layer/libopensles-standalone/-/archive/$_commit/libopensles-standalone-$_commit.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/libopensles-standalone-$_commit"
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+9f26cf3814c1066c8e670753cb2ce8ee6781a656b91d3745df621feb905df60139254ec7baa5257548de538a6c4ace8a414cac699e44e02a15777d8c20c68577 libopensles-standalone-6e6e8e5bfa9f53deaa947e8ec4f1a70b892b764f.tar.gz
+"
diff --git a/testing/libopensmtpd/APKBUILD b/testing/libopensmtpd/APKBUILD
new file mode 100644
index 00000000000..6772b570d15
--- /dev/null
+++ b/testing/libopensmtpd/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Malte Voos <malte@malvo.org>
+# Maintainer: Malte Voos <malte@malvo.org>
+pkgname=libopensmtpd
+pkgver=0.7
+pkgrel=0
+pkgdesc="Library for creating OpenSMTPD filters"
+url="http://imperialat.at/dev/libopensmtpd/"
+arch="all"
+license="ISC"
+makedepends="libevent-dev mandoc"
+options="!check" # no test suite
+subpackages="$pkgname-dev $pkgname-doc"
+source="http://imperialat.at/releases/libopensmtpd-$pkgver.tar.gz"
+
+build() {
+ make -f Makefile.gnu
+}
+
+package() {
+ make -f Makefile.gnu DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+53153eea5ed85309434316fa9bbba032aba9cac30744a6c228892b5fdf67f9df7e05c25832f16845c603892a255dfcf67d432e2a43ec6228f3103cf92ba2394f libopensmtpd-0.7.tar.gz
+"
diff --git a/testing/libosip2/APKBUILD b/testing/libosip2/APKBUILD
deleted file mode 100644
index 7504be1dc33..00000000000
--- a/testing/libosip2/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Maintainer: David Sugar <tychosoft@gmail.com>
-# Contributor: David Sugar <tychosoft@gmail.com>
-pkgname=libosip2
-# Needs to be kept in sync with libexosip2
-pkgver=5.2.0
-pkgrel=0
-pkgdesc="oSIP is an implementation of SIP"
-url="https://www.gnu.org/software/osip/"
-arch="all"
-license="LGPL-2.1-or-later"
-makedepends="autoconf automake libtool"
-options="libtool"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://ftp.gnu.org/gnu/osip/libosip2-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- ./autogen.sh
- update_config_sub
- update_config_guess
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --disable-static \
- --with-gnu-ld
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="cc714ab5669c466ee8f0de78cf74a8b7633f3089bf104c9c1474326840db3d791270159456f9deb877af2df346b04493e8f796b2bb7d2be134f6c08b25a29f83 libosip2-5.2.0.tar.gz"
diff --git a/testing/libqb/APKBUILD b/testing/libqb/APKBUILD
index 5c8e1accb86..f8f7917a922 100644
--- a/testing/libqb/APKBUILD
+++ b/testing/libqb/APKBUILD
@@ -1,13 +1,21 @@
# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
+# Maintainer:
pkgname=libqb
-pkgver=2.0.2
+pkgver=2.0.8
pkgrel=0
pkgdesc="Library providing high performance logging, tracing, ipc, and poll"
url="https://clusterlabs.github.io/libqb"
license="LGPL-2.1-or-later"
arch="all"
-makedepends="autoconf automake libtool libxml2-dev doxygen coreutils"
+makedepends="
+ autoconf
+ automake
+ coreutils
+ doxygen
+ graphviz-dev
+ libtool
+ libxml2-dev
+ "
checkdepends="check-dev"
subpackages="$pkgname-dev $pkgname-doc $pkgname-tools"
source="https://github.com/ClusterLabs/libqb/releases/download/v$pkgver/libqb-$pkgver.tar.xz"
@@ -45,4 +53,6 @@ tools() {
amove usr/sbin
}
-sha512sums="634509032bb4b60fdddf97283bd5be2bbc97bae475c1aa90e53a73df3350c80706d0688b9b5c869c7c37429c54102e46a2d20ab9df49682c93afd6fa7e7bb19a libqb-2.0.2.tar.xz"
+sha512sums="
+9db87b248af87d9aa0520bc0045264a5f0a710fd582a16285990685cb8f8b485ba24b774f2ab7eb719bac5ed3bbf3a315696f7191a5fcf7beea33126a4402a09 libqb-2.0.8.tar.xz
+"
diff --git a/testing/libqd/APKBUILD b/testing/libqd/APKBUILD
new file mode 100644
index 00000000000..c1881c0183f
--- /dev/null
+++ b/testing/libqd/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libqd
+pkgver=2.3.24
+pkgrel=0
+pkgdesc="Double-double and quad-double library for Fortran and C++"
+url="https://www.davidhbailey.com/dhbsoftware"
+# aarch64, ppc64le, s390x: fail tests
+arch="all !aarch64 !ppc64le !s390x"
+license="BSD-3-Clause-LBNL"
+makedepends="autoconf gfortran"
+source="https://www.davidhbailey.com/dhbsoftware/qd-$pkgver.tar.gz"
+subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
+builddir="$srcdir/qd-$pkgver"
+
+build() {
+ export CXXFLAGS="${CXXFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7f233e9d0edcb442da160a49bc97df87acf258c3251828e2d473206022a36581295f38c685ac5f0c78b106605f12698f3d0cc0b4865be220a50b3536820ac1b7 qd-2.3.24.tar.gz
+"
diff --git a/testing/libqmycroft/APKBUILD b/testing/libqmycroft/APKBUILD
deleted file mode 100644
index 562aa0baecc..00000000000
--- a/testing/libqmycroft/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=libqmycroft
-pkgver=0_git20210702
-pkgrel=0
-_commit="79f60584bd83f1a0b3b69b40dbe848e445acd3b0"
-pkgdesc="Mycroft integration library using a mock api to integrate apps as skill in Mycroft"
-url="https://invent.kde.org/libraries/libqmycroft"
-# armhf blocked by extra-cmake-modules
-arch="all !armhf"
-license="Apache-2.0"
-makedepends="
- extra-cmake-modules
- qt5-qtbase-dev
- qt5-qtdeclarative-dev
- qt5-qtmultimedia-dev
- qt5-qtwebsockets-dev
- "
-source="https://invent.kde.org/libraries/libqmycroft/-/archive/$_commit/libqmycroft-$_commit.tar.gz"
-options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-89102c3733c6bba9f23581266818d2a00606b045bf02d81fa13ac3ebd5602fd9d7dacac2939817a79b0b6c3fb52031709c02365630447cd376c79e74507d6609 libqmycroft-79f60584bd83f1a0b3b69b40dbe848e445acd3b0.tar.gz
-"
diff --git a/testing/libqofono/APKBUILD b/testing/libqofono/APKBUILD
new file mode 100644
index 00000000000..5fc8237cb15
--- /dev/null
+++ b/testing/libqofono/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+pkgname=libqofono
+pkgver=0.122
+pkgrel=0
+pkgdesc="Library for accessing the ofono daemon, and a Qt declarative plugin for it"
+url="https://github.com/sailfishos/libqofono"
+# armhf blocked by qt5-qtdeclarative
+arch="all !armhf"
+license="LGPL-2.1-or-later"
+depends_dev="
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt6-qtbase-dev
+ qt6-qtdeclarative-dev
+ "
+makedepends="$depends_dev"
+subpackages="$pkgname-dev $pkgname-qt5:_qt5 $pkgname-qt6:_qt6"
+source="https://github.com/sailfishos/libqofono/archive/$pkgver/libqofono-$pkgver.tar.gz"
+options="!check" # requires running ofono
+
+build() {
+ mkdir build-qt5 && cd build-qt5
+ /usr/lib/qt5/bin/qmake ..
+ make
+
+ mkdir ../build-qt6 && cd ../build-qt6
+ /usr/lib/qt6/bin/qmake ..
+ make
+}
+
+package() {
+ cd build-qt5
+ INSTALL_ROOT="$pkgdir" make install
+
+ cd ../build-qt6
+ INSTALL_ROOT="$pkgdir" make install
+
+ # Remove installed tests
+ rm -r "$pkgdir"/opt
+}
+
+_qt5() {
+ amove usr/lib/libqofono-qt5.so*
+ amove usr/lib/qt5
+}
+
+_qt6() {
+ amove usr/lib/libqofono-qt6.so*
+ amove usr/lib/qt6
+}
+
+sha512sums="
+a9ffaa1a5aad20ed679df85cf312da678c9ab0667f21bd1bca173c7c1169d558f13eb021ec3b5eb1eec4b14597ba9871069f692e0544fd02d4aec552d691ee7b libqofono-0.122.tar.gz
+"
diff --git a/testing/libqtdbusmock/APKBUILD b/testing/libqtdbusmock/APKBUILD
new file mode 100644
index 00000000000..73624e13d51
--- /dev/null
+++ b/testing/libqtdbusmock/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=libqtdbusmock
+pkgver=0.9.1
+pkgrel=0
+pkgdesc="Library for mocking DBus interactions using Qt"
+url='https://gitlab.com/ubports/development/core/libqtdbusmock'
+arch="all"
+license="LGPL-3.0-only"
+makedepends="
+ cmake
+ cmake-extras
+ gmock
+ gtest-dev
+ libqtdbustest
+ networkmanager-dev
+ qt5-qtbase-dev
+ samurai
+ "
+checkdepends="
+ py3-dbusmock
+ procps
+ "
+source="https://gitlab.com/ubports/development/core/libqtdbusmock/-/archive/$pkgver/libqtdbusmock-$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+d33a93aca9d7320f2246f800c62c1e97bc1b4af9e8408c7eeafa697862669ccc3c818a1e97143e93747087c0a55b247e4e6748ddbc2b624f2e07845b842e9028 libqtdbusmock-0.9.1.tar.gz
+"
diff --git a/testing/libqtdbustest/APKBUILD b/testing/libqtdbustest/APKBUILD
new file mode 100644
index 00000000000..5b8f0bf6ec5
--- /dev/null
+++ b/testing/libqtdbustest/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=libqtdbustest
+pkgver=0.3.2
+pkgrel=0
+pkgdesc='Library for testing DBus interactions using Qt'
+url='https://gitlab.com/ubports/development/core/libqtdbustest'
+arch="all"
+license="LGPL-3.0-only"
+makedepends="
+ cmake
+ cmake-extras
+ gmock
+ gtest-dev
+ qt5-qtbase-dev
+ samurai
+ "
+checkdepends="
+ dbus-x11
+ procps
+ py3-dbusmock
+ "
+source="https://gitlab.com/ubports/development/core/libqtdbustest/-/archive/$pkgver/libqtdbustest-$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+963b13f7ea3ad5003b5bf9af1421959c0028b43e8ac52b6f74ee9a1260cb586c753342c689b6f3d78d54f01f549f16e81739eaee53f2753b813d5e1e5132baf6 libqtdbustest-0.3.2.tar.gz
+"
diff --git a/testing/libqtxdg/APKBUILD b/testing/libqtxdg/APKBUILD
deleted file mode 100644
index 6bc560d1851..00000000000
--- a/testing/libqtxdg/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=libqtxdg
-pkgver=3.8.0
-pkgrel=0
-pkgdesc="Qt implementation of freedesktop.org xdg specifications"
-url="https://github.com/lxqt/libqtxdg"
-arch="all"
-license="LGPL-2.0-or-later"
-depends="gtk+3.0"
-makedepends="
- cmake lxqt-build-tools qt5-qtbase-dev
- qt5-qtsvg-dev glib-dev
- "
-checkdepends="xvfb-run"
-subpackages="$pkgname-dev"
-source="https://github.com/lxqt/libqtxdg/releases/download/$pkgver/libqtxdg-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DBUILD_TESTS=Yes \
- $CMAKE_CROSSOPTS .
- cmake --build build
-
-}
-
-check() {
- CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run cmake --build build --target test
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-
- mkdir -p "$pkgdir"/usr/lib
- mv "$pkgdir"/usr/share/cmake "$pkgdir"/usr/lib
-}
-
-sha512sums="
-e9e8d163fe1a60a2d03787ec3feef6ff6e89dfea4df7c0c7b3a72784992baf49ffeb352894d3cb8747ec0cd49576562f7dae3abbde932d13374f51bc77f14ea1 libqtxdg-3.8.0.tar.xz
-"
diff --git a/testing/libreoffice-voikko/APKBUILD b/testing/libreoffice-voikko/APKBUILD
new file mode 100644
index 00000000000..73e1beb1ebe
--- /dev/null
+++ b/testing/libreoffice-voikko/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=libreoffice-voikko
+pkgver=5.0_git20200127
+pkgrel=0
+pkgdesc="Voikko spelling, hyphenation and grammar checker extension for LibreOffice"
+_commit=d7363092551a72cb51d95a1b89a3a4af8dabc6b4
+url="https://voikko.puimula.org/"
+arch="noarch"
+license="MPL-2.0 OR GPL-3.0-or-later"
+depends="libvoikko"
+makedepends="zip"
+options="!check" # no tests
+source="$pkgname-$_commit.tar.gz::https://github.com/voikko/libreoffice-voikko/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ make oxt
+}
+
+package() {
+ make DESTDIR="$pkgdir/usr/lib/libreoffice/share/extensions/voikko" install-unpacked
+}
+
+sha512sums="
+3d08f7efbb13cd8c79c35f27d3be3e7aa76b3b9fa90f7a2a63acb43507930009d6a52383bc63beb2c8179d5710ac5ab6fade261ca73dbec8ea90d0162c12be8d libreoffice-voikko-d7363092551a72cb51d95a1b89a3a4af8dabc6b4.tar.gz
+"
diff --git a/testing/librespot/APKBUILD b/testing/librespot/APKBUILD
index 8987d02042a..05fc7f6df1c 100644
--- a/testing/librespot/APKBUILD
+++ b/testing/librespot/APKBUILD
@@ -1,28 +1,33 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
-# Maintainer: Michael Ekstrand <md@ekstrandom.net>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=librespot
-pkgver=0.3.1
-pkgrel=0
+pkgver=0.4.2
+pkgrel=4
pkgdesc="Open Source Spotify client library"
url="https://github.com/librespot-org/librespot"
-arch="all !s390x !mips64 !riscv64" # limited by cargo
+arch="all !s390x !riscv64" # limited by cargo
license="MIT"
options="!check" # no test suite
-makedepends="cargo>=1.48 alsa-lib-dev"
+makedepends="cargo alsa-lib-dev cargo-auditable"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc"
source="librespot-$pkgver.tar.gz::https://github.com/librespot-org/librespot/archive/v$pkgver.tar.gz
$pkgname.initd
$pkgname.confd
+
+ cargo-bump-libc-lfs64.patch
"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- export CARGO_HOME="$srcdir"/cargo
- export RUSTFLAGS="-C target-feature=-crt-static"
- cargo build \
- --release \
- --features alsa-backend \
- --verbose
+ cargo auditable build --release --frozen \
+ --features alsa-backend
}
package() {
@@ -32,7 +37,8 @@ package() {
}
sha512sums="
-1c14a096d4c0e6c7a8f0decbb1be125d687b491c981c4a802f68b4d2d4a6293d6bb23605237c0952d7af65dd9490a326921d304b9858cf2efd8cdcb0d5edaea6 librespot-0.3.1.tar.gz
-c48ea30e2bd076691a2f1e0e3f6c6329921a8cf25e4f39ca82e07aca5a1c2c519007f081f2b6bbd1566086407a52dce787450b840e8a07e3010227cefda0452a librespot.initd
-4286a3d1cc9678af2f43074c30a0ab7a9f686301468a0fd435d37a62773f0d1501b7201851bef4237324a83361ad93531ceb512a42ee0a63d4d14677760f5ec5 librespot.confd
+62377c0c7b868a5414c3e62b5edcac118f83c0bf1e218c9aa6e8174c875ab63707fc1eef2e64188bf2aac2891cbbd4fddc086cb4b9b4a760ded20c63fe4f8ebe librespot-0.4.2.tar.gz
+c7cf6dd1afc67d02c710cd01baacee3084812cbf326514667c9b053fe0b4b7769fdac9f7fc4c2e3ee9755c6fe6d3b9bf4fda1279e507e0abd254157adf44d4c2 librespot.initd
+7be717bbe23b40d6c52b1e9b1ce4cb6d5f243b75ce5479a28fa3fff97f7e80f565321a839259ae7ee4eba47f490f1c0aec72b52e71d25620a98e4c7bcd696cde librespot.confd
+386e08e1fe5a928f6fbef4a6ad00b39bfcd792121205bff3a644af3010c7451c3746538270806a1c2393aa9d292405d658d50ad2df2d036761624d826a33cc1e cargo-bump-libc-lfs64.patch
"
diff --git a/testing/librespot/cargo-bump-libc-lfs64.patch b/testing/librespot/cargo-bump-libc-lfs64.patch
new file mode 100644
index 00000000000..41ab4e77a3e
--- /dev/null
+++ b/testing/librespot/cargo-bump-libc-lfs64.patch
@@ -0,0 +1,16 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index f21b877..c500357 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1130,9 +1130,9 @@ dependencies = [
+
+ [[package]]
+ name = "libc"
+-version = "0.2.126"
++version = "0.2.147"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
++checksum = "b4668fb0ea861c1df094127ac5f1da3409a82116a4ba74fca2e58ef927159bb3"
+
+ [[package]]
+ name = "libloading"
diff --git a/testing/librespot/librespot.confd b/testing/librespot/librespot.confd
index ea74e317924..0cf3adad61b 100644
--- a/testing/librespot/librespot.confd
+++ b/testing/librespot/librespot.confd
@@ -1 +1,4 @@
librespot_args=""
+
+# uncomment to use process supervisor
+#supervisor=supervise-daemon
diff --git a/testing/librespot/librespot.initd b/testing/librespot/librespot.initd
index 8a7e42ea68c..414526802b7 100644
--- a/testing/librespot/librespot.initd
+++ b/testing/librespot/librespot.initd
@@ -4,10 +4,15 @@ command=/usr/bin/librespot
command_args="${librespot_args}"
pidfile=/run/librespot.pid
command_background=true
-logfile="/var/log/librespot.log"
-start_stop_daemon_args="--user ${librespot_user:-librespot} --group ${librespot_group:-audio} --stdout $logfile --stderr $logfile"
+command_user="${librespot_user:-librespot}:${librespot_group:-librespot}"
+output_log=/var/log/librespot.log
+error_log=/var/log/librespot.log
-depends() {
+depend() {
need localmount net
before firewall
}
+
+start_pre() {
+ checkpath -f -o $command_user $output_log
+}
diff --git a/testing/librespot/librespot.pre-install b/testing/librespot/librespot.pre-install
index 203bd5edf41..272833101c7 100644
--- a/testing/librespot/librespot.pre-install
+++ b/testing/librespot/librespot.pre-install
@@ -1,5 +1,7 @@
#!/bin/sh
-adduser -S -D -H -s /sbin/nologin -G audio -g audio librespot 2>/dev/null
+addgroup -S librespot 2>/dev/null
+adduser -S -D -H -s /sbin/nologin -G librespot -g librespot librespot 2>/dev/null
+addgroup librespot audio 2>/dev/null
exit 0
diff --git a/testing/libretro-3dengine/APKBUILD b/testing/libretro-3dengine/APKBUILD
deleted file mode 100644
index 74d0ee13095..00000000000
--- a/testing/libretro-3dengine/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=libretro-3dengine
-pkgver=0_git20210107
-pkgrel=1
-_commit="4fbe7cb2f90d3c8db994af60085fb2ac93677545"
-pkgdesc="3D engine for libretro GL with additional features"
-url="https://github.com/libretro/libretro-3dengine"
-arch="all"
-license="GPL-3.0-only"
-makedepends="mesa-dev zlib-dev"
-source="$pkgname-$_commit.tar.gz::https://github.com/libretro/libretro-3dengine/archive/$_commit.tar.gz
- patch-unbundle.patch
- "
-builddir="$srcdir/libretro-3dengine-$_commit"
-options="!check" # No tests
-
-build() {
- rm -rf deps
- make
-}
-
-package() {
- install -Dm644 3dengine_libretro.so "$pkgdir"/usr/lib/libretro/3dengine_libretro.so
-}
-
-sha512sums="d149e14d8f255c7a9cddae1304b3ad0a9b470fa6281209160402e818c9f5b8fc8a881730054d764c9198b56eef050680d0b2c46191fab411906c0d5fc9d48b34 libretro-3dengine-4fbe7cb2f90d3c8db994af60085fb2ac93677545.tar.gz
-b2d5693dae7bd88081f8a053a47f9790013d47528384bba201d28343a06acae557a3cf6e952397aacef8b0e7e7662655b1d5affd350ddcb09b7f4bf1d2d825c6 patch-unbundle.patch"
diff --git a/testing/libretro-3dengine/patch-unbundle.patch b/testing/libretro-3dengine/patch-unbundle.patch
deleted file mode 100644
index 0de3d20fc4b..00000000000
--- a/testing/libretro-3dengine/patch-unbundle.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Remove bundled zlib.
---- a/Makefile.common
-+++ b/Makefile.common
-@@ -4,8 +4,7 @@
- -I$(CORE_DIR)/utils \
- -I$(CORE_DIR)/helpers \
- -I$(CORE_DIR)/include \
-- -I$(CORE_DIR)/libretro-common/include \
-- -I$(DEPS_DIR)/zlib
-+ -I$(CORE_DIR)/libretro-common/include
-
- SOURCES_CXX := $(CORE_DIR)/engine/mesh.cpp \
- $(CORE_DIR)/engine/texture.cpp \
-@@ -28,22 +27,6 @@
- $(CORE_DIR)/libretro-common/streams/trans_stream_zlib.c
-
- ifneq ($(STATIC_LINKING), 1)
--#include zlib
--SOURCES_C += $(DEPS_DIR)/zlib/adler32.c \
-- $(DEPS_DIR)/zlib/compress.c \
-- $(DEPS_DIR)/zlib/crc32.c \
-- $(DEPS_DIR)/zlib/deflate.c \
-- $(DEPS_DIR)/zlib/gzclose.c \
-- $(DEPS_DIR)/zlib/gzlib.c \
-- $(DEPS_DIR)/zlib/gzread.c \
-- $(DEPS_DIR)/zlib/gzwrite.c \
-- $(DEPS_DIR)/zlib/inffast.c \
-- $(DEPS_DIR)/zlib/inflate.c \
-- $(DEPS_DIR)/zlib/inftrees.c \
-- $(DEPS_DIR)/zlib/trees.c \
-- $(DEPS_DIR)/zlib/uncompr.c \
-- $(DEPS_DIR)/zlib/zutil.c
--
- SOURCES_C += \
- $(CORE_DIR)/libretro-common/compat/compat_strl.c \
- $(CORE_DIR)/libretro-common/compat/compat_posix_string.c \
---- a/Makefile
-+++ b/Makefile
-@@ -265,6 +265,8 @@
- LD = $(CXX)
- endif
-
-+LIBS += -lz
-+
- %.o: %.cpp
- $(CXX) $(CXXFLAGS) -c $(OBJOUT)$@ $<
-
diff --git a/testing/libretro-atari800/APKBUILD b/testing/libretro-atari800/APKBUILD
index e83f167dedb..49461774fb4 100644
--- a/testing/libretro-atari800/APKBUILD
+++ b/testing/libretro-atari800/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-atari800
-pkgver=0_git20210415
-pkgrel=1
-_commit="86c87b543f2076e7edcff5d7f5031845ca4ffb96"
+pkgver=0_git20220327
+pkgrel=0
+_commit="beab30e7ea10b7ed14d0514064f47d16f76cd995"
pkgdesc="atari800 3.1.0 for libretro/libco"
url="https://github.com/libretro/libretro-atari800"
arch="all"
@@ -22,4 +22,6 @@ package() {
install -Dm644 atari800_libretro.so "$pkgdir"/usr/lib/libretro/atari800_libretro.so
}
-sha512sums="7351779a63179f7850cf320ba63225e32c26bc094c0c4fb2f73171bcc866cab369c011793a7687de65772b37616e973ad5f9c01f3919432e26e2f68b1c0101ab libretro-atari800-86c87b543f2076e7edcff5d7f5031845ca4ffb96.tar.gz"
+sha512sums="
+55ac72ddccfc5e1a37513ddc94d2103a5ecf12373ceacfac3e65d5745211219dd9f36dae206dc282d7f7280f1bf5a97dff0f775da77f7318d83b88e6ec4f80bf libretro-atari800-beab30e7ea10b7ed14d0514064f47d16f76cd995.tar.gz
+"
diff --git a/testing/libretro-beetle-pce-fast/APKBUILD b/testing/libretro-beetle-pce-fast/APKBUILD
index f0fc1d4c834..a500cec0ce2 100644
--- a/testing/libretro-beetle-pce-fast/APKBUILD
+++ b/testing/libretro-beetle-pce-fast/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-beetle-pce-fast
-pkgver=0_git20210412
-pkgrel=1
-_commit="b29972b83e54599239781efd6c0c2d77ad65f3b7"
+pkgver=0_git20220205
+pkgrel=0
+_commit="e8801687f232a6f8828b3ff5dadbc9fe1b0076fc"
pkgdesc="standalone fork of Mednafen PCE Fast to libretro"
url="https://github.com/libretro/beetle-pce-fast-libretro"
arch="all"
@@ -22,4 +22,6 @@ package() {
install -Dm644 mednafen_pce_fast_libretro.so "$pkgdir"/usr/lib/libretro/mednafen_pce_fast_libretro.so
}
-sha512sums="409222bdfdf95da9b47a68f64e3d6a543ad79678e2b2f6771d8fe38713b082844942fe3f4b4f410aff43616a3e7b6746c5a08901b65ad2fb942bb19772999456 libretro-beetle-pce-fast-b29972b83e54599239781efd6c0c2d77ad65f3b7.tar.gz"
+sha512sums="
+75145b4d3fbd8503ec5cf2f96a3b45e379031fe0cf585f6afe993bc394e15807e5f9fd8cc78d217a664d60af40100275cbe35717c5a1251992ce913d407e9292 libretro-beetle-pce-fast-e8801687f232a6f8828b3ff5dadbc9fe1b0076fc.tar.gz
+"
diff --git a/testing/libretro-beetle-pcfx/APKBUILD b/testing/libretro-beetle-pcfx/APKBUILD
index cbc59536559..572efd0f5a0 100644
--- a/testing/libretro-beetle-pcfx/APKBUILD
+++ b/testing/libretro-beetle-pcfx/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-beetle-pcfx
-pkgver=0_git20210412
-pkgrel=1
-_commit="ceff11eab32febfcf8507f0bfe618bcdf80e75ef"
+pkgver=0_git20220409
+pkgrel=0
+_commit="bfc0954e14b261a04dcf8dbe0df8798f16ae3f3c"
pkgdesc="standalone port of Mednafen PCFX to libretro"
url="https://github.com/libretro/beetle-pcfx-libretro"
-arch="all !mips !mips64"
+arch="all"
license="GPL-2.0-only"
makedepends="zlib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/beetle-pcfx-libretro/archive/$_commit.tar.gz"
@@ -22,4 +22,6 @@ package() {
install -Dm644 mednafen_pcfx_libretro.so "$pkgdir"/usr/lib/libretro/mednafen_pcfx_libretro.so
}
-sha512sums="c19e9542c6009e658c81cad8128bf9635009f6a052dce819925ba0721f5b8a7c396cf8c3faba9dd73f97e5a8313853e732fcd75eaa359c09083340d12c6870e6 libretro-beetle-pcfx-ceff11eab32febfcf8507f0bfe618bcdf80e75ef.tar.gz"
+sha512sums="
+3a8542b8e904026083486f3f1e1c4859bae1befa76d2ba811f629ef6dfe6e4bac279e5e1979b913b1c3257fca6e61335e42027c7f6bbd0049f98793f65aaa781 libretro-beetle-pcfx-bfc0954e14b261a04dcf8dbe0df8798f16ae3f3c.tar.gz
+"
diff --git a/testing/libretro-beetle-saturn/APKBUILD b/testing/libretro-beetle-saturn/APKBUILD
index 5dc1136fbb9..ece63be69f6 100644
--- a/testing/libretro-beetle-saturn/APKBUILD
+++ b/testing/libretro-beetle-saturn/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-beetle-saturn
-pkgver=0_git20210412
-pkgrel=1
-_commit="f7515829166660a61c6692160bb2b2d2633df9fc"
+pkgver=0_git20220417
+pkgrel=0
+_commit="dd18f9c477106263b3b7b050f4970d331ff7b23a"
pkgdesc="standalone port of Mednafen Saturn to the libretro API"
url="https://github.com/libretro/beetle-saturn-libretro"
-arch="all !mips !mips64" # fails to build on mips
+arch="all"
license="GPL-2.0-only"
makedepends="zlib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/beetle-saturn-libretro/archive/$_commit.tar.gz"
@@ -22,4 +22,6 @@ package() {
install -Dm644 mednafen_saturn_libretro.so "$pkgdir"/usr/lib/libretro/mednafen_saturn_libretro.so
}
-sha512sums="c1a23fef93a3e38ff81e62c4e355b3be6cd5a74cb6abf21075dc6bb5e0fb6fcd588d8e28e0d77d627473c5f37bc29022a911b45481e513b4fa7f2284e47eec1c libretro-beetle-saturn-f7515829166660a61c6692160bb2b2d2633df9fc.tar.gz"
+sha512sums="
+0e3c06b5f92f4bac0c0cebb38c345b7bbd7e2fbcdfc713c727f73f738d0f99e204fd3e5d312354c2387b5234cd7d0c74a61e876657a9b26e62af91bac52bf9f6 libretro-beetle-saturn-dd18f9c477106263b3b7b050f4970d331ff7b23a.tar.gz
+"
diff --git a/testing/libretro-beetle-supergrafx/APKBUILD b/testing/libretro-beetle-supergrafx/APKBUILD
index 22852626e54..2b1b74a7829 100644
--- a/testing/libretro-beetle-supergrafx/APKBUILD
+++ b/testing/libretro-beetle-supergrafx/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-beetle-supergrafx
-pkgver=0_git20210412
-pkgrel=1
-_commit="7a84c5e3b9e0dc44266d3442130296888f3c573a"
+pkgver=0_git20220218
+pkgrel=0
+_commit="59991a98c232b1a8350a9d67ac554c5b22771d3c"
pkgdesc="standalone port of Mednafen PCE Fast to libretro"
url="https://github.com/libretro/beetle-supergrafx-libretro"
arch="all"
@@ -22,4 +22,6 @@ package() {
install -Dm644 mednafen_supergrafx_libretro.so "$pkgdir"/usr/lib/libretro/mednafen_supergrafx_libretro.so
}
-sha512sums="93b15a63902fea59ee5b61093d7cd5cbe12a3a72a5b5b576a20979dfa82a126b9c0977bef90e96060cda30f34a49c50c256e325ce94a9f67c73bda727bc5265d libretro-beetle-supergrafx-7a84c5e3b9e0dc44266d3442130296888f3c573a.tar.gz"
+sha512sums="
+5a59c069bd9369aa82fcb1a3dbc14b03cd6bae65380d312b6de32510a02a625f13c115138b5bd7d71c540360e8e47ca8cbd53af7ef162727a769daa324d58676 libretro-beetle-supergrafx-59991a98c232b1a8350a9d67ac554c5b22771d3c.tar.gz
+"
diff --git a/testing/libretro-blastem/APKBUILD b/testing/libretro-blastem/APKBUILD
index bea89a8e355..3382370d19c 100644
--- a/testing/libretro-blastem/APKBUILD
+++ b/testing/libretro-blastem/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-blastem
-pkgver=0_git20210312
-pkgrel=1
-_commit="e70b05bf5b5954140cba227fc996ab24c064d494"
+pkgver=0_git20210810
+pkgrel=0
+_commit="0786858437ed71996f43b7af0fbe627eb88152fc"
pkgdesc="fast and accurate Genesis emulator"
url="https://github.com/libretro/blastem"
-arch="all !aarch64 !armv7 !armhf !x86 !mips !mips64 !riscv64"
+arch="all !aarch64 !armv7 !armhf !x86 !riscv64"
license="GPL-3.0-only"
makedepends="mesa-dev zlib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/blastem/archive/$_commit.tar.gz
@@ -24,5 +24,7 @@ package() {
install -Dm644 "$builddir"/blastem_libretro.so "$pkgdir"/usr/lib/libretro/blastem_libretro.so
}
-sha512sums="6b8a47c8eaad455a027a6558be50a6df5414c4c92e87edb5326487e6be5b248b6bfb398ae8c2ff73f535ba20ca1dec1661cceaee23ae50b3676a666758879fb3 libretro-blastem-e70b05bf5b5954140cba227fc996ab24c064d494.tar.gz
-0ffdbdb9aadc147e971589b162c444ecffa72b297351538ab5546b28088e7e345d61268f9feb143f5620202c6dad4bc4ac5b1ffcd330c99aa8b54065f09cb960 patch-unbundle.patch"
+sha512sums="
+ff11a2ec56c5f174e471313c24287156d1182d54ba7abd2f9fda78347434ed65fc1b0622c60d63bcfd7db49a0a8287939570b9f7df2c59f94e5f66fdf2ffd63d libretro-blastem-0786858437ed71996f43b7af0fbe627eb88152fc.tar.gz
+0ffdbdb9aadc147e971589b162c444ecffa72b297351538ab5546b28088e7e345d61268f9feb143f5620202c6dad4bc4ac5b1ffcd330c99aa8b54065f09cb960 patch-unbundle.patch
+"
diff --git a/testing/libretro-bluemsx/APKBUILD b/testing/libretro-bluemsx/APKBUILD
index 3178ec95512..8b0ef3ed33a 100644
--- a/testing/libretro-bluemsx/APKBUILD
+++ b/testing/libretro-bluemsx/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-bluemsx
-pkgver=0_git2021409
-pkgrel=1
-_commit="ec24a00edb1a767a7cd41f26e78698af6b60463d"
+pkgver=0_git20220213
+pkgrel=0
+_commit="92d0c41b4973854114c7b2d06ab727a266d404c5"
pkgdesc="port of blueMSX to the libretro API"
url="https://github.com/libretro/blueMSX-libretro"
arch="all"
@@ -24,5 +24,7 @@ package() {
install -Dm644 bluemsx_libretro.so "$pkgdir"/usr/lib/libretro/bluemsx_libretro.so
}
-sha512sums="f856c9f4fa2920aab720072fdc4f401416c01cff03e2da7f6e00978ac742b30b70420e0c3ea6548f8178e86200a7f0b08fd4183a0f083d371e823fbb2d18346c libretro-bluemsx-ec24a00edb1a767a7cd41f26e78698af6b60463d.tar.gz
-90fcb02d0287400e6bb202f6d223a229e6243471f50bf515bba4625179771ed903d1e49d151d0de6fadf6deecb86edec65547cae757eda869e2b5f7021676300 patch-unbundle.patch"
+sha512sums="
+eedbdc2f47dc2eadd381b7a4abdc37eb132ffb43d1453f951a7b5778543e9cc4468d20cffeced59e85b2d10c6107fe1829c261c0199a012fd418b536f6d4554a libretro-bluemsx-92d0c41b4973854114c7b2d06ab727a266d404c5.tar.gz
+27bd632aace1acbc7c0dd30d0d2576c08dcc52b88a81296e0c1c7e845d92f6ffb901f133a9154a8b05ad36667d1353bd3894b52f226e5a20e48c637b27a3ec11 patch-unbundle.patch
+"
diff --git a/testing/libretro-bluemsx/patch-unbundle.patch b/testing/libretro-bluemsx/patch-unbundle.patch
index b4f3ce1766d..8b076275ea9 100644
--- a/testing/libretro-bluemsx/patch-unbundle.patch
+++ b/testing/libretro-bluemsx/patch-unbundle.patch
@@ -2,35 +2,35 @@ Remove bundled zlib.
--- a/Makefile.common
+++ b/Makefile.common
@@ -24,8 +24,7 @@
- -I$(CORE_DIR)/Src/VideoRender \
- -I$(CORE_DIR)/Src/Z80 \
- -I$(CORE_DIR)/Src/Input \
-- -I$(CORE_DIR)/Src/Libretro \
-- -I$(DEPS_DIR)/zlib
-+ -I$(CORE_DIR)/Src/Libretro
+ -I$(CORE_DIR)/Src/VideoRender \
+ -I$(CORE_DIR)/Src/Z80 \
+ -I$(CORE_DIR)/Src/Input \
+- -I$(CORE_DIR)/Src/Libretro \
+- -I$(DEPS_DIR)/zlib
++ -I$(CORE_DIR)/Src/Libretro
ifneq (,$(findstring msvc2003,$(platform)))
INCFLAGS += -I$(LIBRETRO_COMM_DIR)/include/compat/msvc
-@@ -332,18 +331,6 @@
+@@ -309,18 +308,6 @@
SOURCES_C += $(LIBRETRO_COMM_DIR)/file/retro_dirent.c \
- $(LIBRETRO_COMM_DIR)/compat/compat_snprintf.c \
- $(LIBRETRO_COMM_DIR)/compat/compat_strcasestr.c
+ $(LIBRETRO_COMM_DIR)/compat/compat_snprintf.c \
+ $(LIBRETRO_COMM_DIR)/compat/compat_strcasestr.c
-
-#include zlib
-SOURCES_C += $(DEPS_DIR)/zlib/adler32.c \
-- $(DEPS_DIR)/zlib/compress.c \
-- $(DEPS_DIR)/zlib/crc32.c \
-- $(DEPS_DIR)/zlib/deflate.c \
-- $(DEPS_DIR)/zlib/inffast.c \
-- $(DEPS_DIR)/zlib/inflate.c \
-- $(DEPS_DIR)/zlib/inftrees.c \
-- $(DEPS_DIR)/zlib/trees.c \
-- $(DEPS_DIR)/zlib/uncompr.c \
-- $(DEPS_DIR)/zlib/zutil.c
+- $(DEPS_DIR)/zlib/compress.c \
+- $(DEPS_DIR)/zlib/crc32.c \
+- $(DEPS_DIR)/zlib/deflate.c \
+- $(DEPS_DIR)/zlib/inffast.c \
+- $(DEPS_DIR)/zlib/inflate.c \
+- $(DEPS_DIR)/zlib/inftrees.c \
+- $(DEPS_DIR)/zlib/trees.c \
+- $(DEPS_DIR)/zlib/uncompr.c \
+- $(DEPS_DIR)/zlib/zutil.c
endif
ifeq ($(HAVE_COMPAT), 1)
-@@ -355,3 +342,5 @@
+@@ -332,3 +319,5 @@
COREDEFINES += -DHAVE_WIN32_MSX_MANAGER
SOURCES_CXX += $(CORE_DIR)/Src/IoDevice/msxgr.cpp
endif
diff --git a/testing/libretro-cannonball/APKBUILD b/testing/libretro-cannonball/APKBUILD
index 9a5d6d0ab87..a29e43dbeaa 100644
--- a/testing/libretro-cannonball/APKBUILD
+++ b/testing/libretro-cannonball/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-cannonball
-pkgver=0_git20210309
-pkgrel=1
-_commit="b85f887b641baede72f4a6e0ef6fa5c4bd479159"
+pkgver=0_git20220309
+pkgrel=5
+_commit="8fb0d9561ee110f31f45610661649f0c1ff068ee"
pkgdesc="an enhanced OutRun Engine"
url="https://github.com/libretro/cannonball"
arch="all"
@@ -22,4 +22,6 @@ package() {
install -Dm644 cannonball_libretro.so "$pkgdir"/usr/lib/libretro/cannonball_libretro.so
}
-sha512sums="86f46a3015376b5772f2f2e120f32e24e96bad720e6f6b14bb8fa434dc6f7c9e8aaa81c1fa22e86a55e9840b4845526094f2d0dd364ca547ad9c68ee579a80b4 libretro-cannonball-b85f887b641baede72f4a6e0ef6fa5c4bd479159.tar.gz"
+sha512sums="
+40a93053339498b8bf0ae2dd9f4ed6d7a21ae2d012d3d10922c40c678f150f26ea05e3ad75d62fb6994652a6e7bfce46a0d2f5c2d59bdb1214c11b1aa0ade173 libretro-cannonball-8fb0d9561ee110f31f45610661649f0c1ff068ee.tar.gz
+"
diff --git a/testing/libretro-cap32/APKBUILD b/testing/libretro-cap32/APKBUILD
index 547b1f4b8ee..4499c2637f5 100644
--- a/testing/libretro-cap32/APKBUILD
+++ b/testing/libretro-cap32/APKBUILD
@@ -1,22 +1,18 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-cap32
-pkgver=0_git20210327
-pkgrel=1
-_commit="408da091504dabe9678b25b7a6c3bbef0bc4c140"
+pkgver=0_git20220419
+pkgrel=0
+_commit="20adc49260677f7e99325f1ce14caabc1878e1be"
pkgdesc="caprice32 emulator for libretro"
url="https://github.com/libretro/libretro-cap32"
arch="all"
license="GPL-2.0-only"
-makedepends="zlib-dev"
-source="$pkgname-$_commit.tar.gz::https://github.com/libretro/libretro-cap32/archive/$_commit.tar.gz
- patch-unbundle.patch
- "
+source="$pkgname-$_commit.tar.gz::https://github.com/libretro/libretro-cap32/archive/$_commit.tar.gz"
builddir="$srcdir/libretro-cap32-$_commit"
options="!check" # No tests
build() {
- rm -rf utils/zlib
make
}
@@ -24,5 +20,6 @@ package() {
install -Dm644 cap32_libretro.so "$pkgdir"/usr/lib/libretro/cap32_libretro.so
}
-sha512sums="99ba8366e0e70de12da4c539cf30862041e980471bd5d7def29676e2633b1a3f7f490dc7a3f6184303da365a10a433511318ca96b7c1a18e6800e8108a7e0149 libretro-cap32-408da091504dabe9678b25b7a6c3bbef0bc4c140.tar.gz
-4eb922cacea0cf042faa73607e9ce37f888eff19f487be4c35b6fae610fda09390f383a138747c9467bf363a5bad4bc956d3ebb6cc156ac54c086312b940fadf patch-unbundle.patch"
+sha512sums="
+89a168409d6483b370b69cc2c6702999101820a402bcd4d00f098c2eb0b9f724c9bcfe28eec9e31a0e417092c16ba9be6c6091aadd6ddf420b9bc2e018b88065 libretro-cap32-20adc49260677f7e99325f1ce14caabc1878e1be.tar.gz
+"
diff --git a/testing/libretro-cap32/patch-unbundle.patch b/testing/libretro-cap32/patch-unbundle.patch
deleted file mode 100644
index 5fa1b800ac5..00000000000
--- a/testing/libretro-cap32/patch-unbundle.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Remove bundled zlib.
---- a/Makefile
-+++ b/Makefile
-@@ -7,7 +7,7 @@
-
- SOURCES_C :=
- SOURCES_CXX :=
--LIBS :=
-+LIBS := -lz
-
- ifeq ($(platform),)
- platform = unix
---- a/Makefile.common
-+++ b/Makefile.common
-@@ -10,8 +10,7 @@
- -I$(LIBRETRO_COMM_DIR)/include \
- -I$(GUI) \
- -I$(GUI)/nuklear \
-- -I$(GUI)/retro \
-- -I$(DEPS)/zlib
-+ -I$(GUI)/retro
-
- SOURCES_C := \
- $(CORE_DIR)/libretro/libretro-core.c \
-@@ -34,20 +33,6 @@
- $(CORE_DIR)/libretro/retro_disk_control.c \
- $(CORE_DIR)/libretro/retro_events.c \
- $(CORE_DIR)/libretro/retro_snd.c
--
--SOURCES_C += \
-- $(DEPS)/zlib/adler32.c \
-- $(DEPS)/zlib/inflate.c \
-- $(DEPS)/zlib/inffast.c \
-- $(DEPS)/zlib/inftrees.c \
-- $(DEPS)/zlib/zutil.c \
-- $(DEPS)/zlib/gzread.c \
-- $(DEPS)/zlib/gzwrite.c \
-- $(DEPS)/zlib/gzclose.c \
-- $(DEPS)/zlib/gzlib.c \
-- $(DEPS)/zlib/trees.c \
-- $(DEPS)/zlib/crc32.c \
-- $(DEPS)/zlib/deflate.c
-
- ifneq ($(STATIC_LINKING), 1)
- SOURCES_C += \
diff --git a/testing/libretro-dinothawr/APKBUILD b/testing/libretro-dinothawr/APKBUILD
index 90377adeca4..dcd56aac567 100644
--- a/testing/libretro-dinothawr/APKBUILD
+++ b/testing/libretro-dinothawr/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-dinothawr
-pkgver=0_git20210409
-pkgrel=1
-_commit="90264f4de875407212ada474761097de7a45fa53"
+pkgver=0_git20220401
+pkgrel=0
+_commit="33fb82a8df4e440f96d19bba38668beaa1b414fc"
pkgdesc="block pushing puzzle game on slippery surfaces"
url="https://github.com/libretro/Dinothawr"
arch="all"
@@ -24,5 +24,7 @@ package() {
install -Dm644 dinothawr_libretro.so "$pkgdir"/usr/lib/libretro/dinothawr_libretro.so
}
-sha512sums="92045a73e5a12cc9951f5a676cbd34e745da218eb7f30499236201fc3a419117b68d6fa022ea833a8c3a0d30b9c196519a034770a7238e42c8fc7bc44e06934a libretro-dinothawr-90264f4de875407212ada474761097de7a45fa53.tar.gz
-f4eeac39dcea65bd7bd5d4fcacdf9059a23b789f0373265509b5d196bde3c1052669893f38f4b33dbf4b5c31da74b7ab453bc720cbc37087290e65fb3244276c patch-unbundle.patch"
+sha512sums="
+b43b6046d7502e4d031bc2a5f9ceed48ec89768ee984509674fde62dec2fab32754764bda5cd989097e9e51c801cdee00c7033e74d361f291f5c2f1d20f878f8 libretro-dinothawr-33fb82a8df4e440f96d19bba38668beaa1b414fc.tar.gz
+4d13454c1f67891d6bf1493ce84d5a3826a646a80709d7ec9fc7606e6bd9f7f21082e9c28d3073d4e8f4bf01e13a7e1476d9fe0d832ccb05474995363f360747 patch-unbundle.patch
+"
diff --git a/testing/libretro-dinothawr/patch-unbundle.patch b/testing/libretro-dinothawr/patch-unbundle.patch
index 372c73b72ab..05db4b89af0 100644
--- a/testing/libretro-dinothawr/patch-unbundle.patch
+++ b/testing/libretro-dinothawr/patch-unbundle.patch
@@ -11,57 +11,6 @@ Remove bundled zlib, libvorbis and libogg
using namespace pugi;
---- a/Makefile.common
-+++ b/Makefile.common
-@@ -1,6 +1,5 @@
- LIBRETRO_COMM_DIR := $(CORE_DIR)/libretro-common
--DEPS_DIR := $(CORE_DIR)/deps
--INCFLAGS := -I$(DEPS_DIR) -I$(CORE_DIR)/audio -I$(DEPS_DIR)/pugixml -I$(DEPS_DIR)/vorbis -I$(DEPS_DIR)/ogg -I$(DEPS_DIR)/libz -I$(LIBRETRO_COMM_DIR)/include
-+INCFLAGS := -I$(CORE_DIR)/audio -I$(LIBRETRO_COMM_DIR)/include
-
- SOURCES_ASM :=
-
-@@ -15,40 +14,7 @@
- $(CORE_DIR)/surface_cache.cpp \
- $(CORE_DIR)/surface_cluster.cpp \
- $(CORE_DIR)/tilemap.cpp \
-- $(DEPS_DIR)/pugixml/pugixml.cpp \
- $(CORE_DIR)/audio/mixer.cpp
--
--SOURCES_C := \
-- $(DEPS_DIR)/ogg/bitwise.c \
-- $(DEPS_DIR)/ogg/framing.c \
-- $(DEPS_DIR)/vorbis/bitrate.c \
-- $(DEPS_DIR)/vorbis/block.c \
-- $(DEPS_DIR)/vorbis/codebook.c \
-- $(DEPS_DIR)/vorbis/envelope.c \
-- $(DEPS_DIR)/vorbis/floor0.c \
-- $(DEPS_DIR)/vorbis/floor1.c \
-- $(DEPS_DIR)/vorbis/info.c \
-- $(DEPS_DIR)/vorbis/lpc.c \
-- $(DEPS_DIR)/vorbis/lsp.c \
-- $(DEPS_DIR)/vorbis/mapping0.c \
-- $(DEPS_DIR)/vorbis/mdct.c \
-- $(DEPS_DIR)/vorbis/psy.c \
-- $(DEPS_DIR)/vorbis/registry.c \
-- $(DEPS_DIR)/vorbis/res0.c \
-- $(DEPS_DIR)/vorbis/sharedbook.c \
-- $(DEPS_DIR)/vorbis/smallft.c \
-- $(DEPS_DIR)/vorbis/synthesis.c \
-- $(DEPS_DIR)/vorbis/vorbisfile.c \
-- $(DEPS_DIR)/vorbis/window.c \
-- $(DEPS_DIR)/libz/adler32.c \
-- $(DEPS_DIR)/libz/crc32.c \
-- $(DEPS_DIR)/libz/deflate.c \
-- $(DEPS_DIR)/libz/infback.c \
-- $(DEPS_DIR)/libz/inffast.c \
-- $(DEPS_DIR)/libz/inflate.c \
-- $(DEPS_DIR)/libz/inftrees.c \
-- $(DEPS_DIR)/libz/trees.c \
-- $(DEPS_DIR)/libz/zutil.c
-
- SOURCES_C += $(CORE_DIR)/rpng_front.c
-
--- a/Makefile
+++ b/Makefile
@@ -392,6 +392,8 @@
@@ -127,3 +76,53 @@ Remove bundled zlib, libvorbis and libogg
#include <string>
#include <set>
+--- a/Makefile.common
++++ b/Makefile.common
+@@ -1,6 +1,6 @@
+ LIBRETRO_COMM_DIR := $(CORE_DIR)/libretro-common
+ DEPS_DIR := $(CORE_DIR)/deps
+-INCFLAGS := -I$(DEPS_DIR) -I$(CORE_DIR)/audio -I$(DEPS_DIR)/pugixml -I$(DEPS_DIR)/vorbis -I$(DEPS_DIR)/ogg -I$(DEPS_DIR)/libz -I$(LIBRETRO_COMM_DIR)/include
++INCFLAGS := -I$(CORE_DIR)/audio -I$(LIBRETRO_COMM_DIR)/include
+
+ SOURCES_ASM :=
+
+@@ -15,39 +15,7 @@
+ $(CORE_DIR)/surface_cache.cpp \
+ $(CORE_DIR)/surface_cluster.cpp \
+ $(CORE_DIR)/tilemap.cpp \
+- $(DEPS_DIR)/pugixml/pugixml.cpp \
+ $(CORE_DIR)/audio/mixer.cpp
+-
+-SOURCES_C := \
+- $(DEPS_DIR)/ogg/bitwise.c \
+- $(DEPS_DIR)/ogg/framing.c \
+- $(DEPS_DIR)/vorbis/bitrate.c \
+- $(DEPS_DIR)/vorbis/block.c \
+- $(DEPS_DIR)/vorbis/codebook.c \
+- $(DEPS_DIR)/vorbis/envelope.c \
+- $(DEPS_DIR)/vorbis/floor0.c \
+- $(DEPS_DIR)/vorbis/floor1.c \
+- $(DEPS_DIR)/vorbis/info.c \
+- $(DEPS_DIR)/vorbis/lpc.c \
+- $(DEPS_DIR)/vorbis/lsp.c \
+- $(DEPS_DIR)/vorbis/mapping0.c \
+- $(DEPS_DIR)/vorbis/mdct.c \
+- $(DEPS_DIR)/vorbis/psy.c \
+- $(DEPS_DIR)/vorbis/registry.c \
+- $(DEPS_DIR)/vorbis/res0.c \
+- $(DEPS_DIR)/vorbis/sharedbook.c \
+- $(DEPS_DIR)/vorbis/smallft.c \
+- $(DEPS_DIR)/vorbis/synthesis.c \
+- $(DEPS_DIR)/vorbis/vorbisfile.c \
+- $(DEPS_DIR)/vorbis/window.c \
+- $(DEPS_DIR)/libz/adler32.c \
+- $(DEPS_DIR)/libz/crc32.c \
+- $(DEPS_DIR)/libz/deflate.c \
+- $(DEPS_DIR)/libz/inffast.c \
+- $(DEPS_DIR)/libz/inflate.c \
+- $(DEPS_DIR)/libz/inftrees.c \
+- $(DEPS_DIR)/libz/trees.c \
+- $(DEPS_DIR)/libz/zutil.c
+
+ SOURCES_C += $(CORE_DIR)/rpng_front.c
+
diff --git a/testing/libretro-dolphin/APKBUILD b/testing/libretro-dolphin/APKBUILD
index 038bf790ffa..5f86a68e58d 100644
--- a/testing/libretro-dolphin/APKBUILD
+++ b/testing/libretro-dolphin/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-dolphin
-pkgver=0_git20210405
-pkgrel=0
-_commit="d86c545a40a3065d2a7920f48d045b3435dd1a8d"
+pkgver=0_git20220407
+pkgrel=2
+_commit="6a0b6ee8a4d5363e669f5faf43abc8f17e4278a8"
pkgdesc="libretro core for dolphin"
url="https://github.com/libretro/dolphin"
arch="aarch64 x86_64"
@@ -16,7 +16,7 @@ makedepends="
libusb-dev
libxi-dev
libxrandr-dev
- mbedtls-dev
+ mbedtls2-dev
mesa-dev
xz-dev
zlib-dev
@@ -44,4 +44,6 @@ package() {
"$pkgdir"/usr/lib/libretro/dolphin_libretro.so
}
-sha512sums="05fc7bd661a8ac5a5f0aa2288dc8e48161e0cae365791610c19a44500493516af6d8808937e1f26039b5b3811b5cb06ba671b203d7aa1c65f5692b7cc7321296 libretro-dolphin-d86c545a40a3065d2a7920f48d045b3435dd1a8d.tar.gz"
+sha512sums="
+f0e030fb3272f2e5f2a57a55bf908c0d75559af49f7a97971acc4efd7f5be1ec3347e4f40923559ea61919bd4b4ea2e3abab571f0df5accd5e16529403609675 libretro-dolphin-6a0b6ee8a4d5363e669f5faf43abc8f17e4278a8.tar.gz
+"
diff --git a/testing/libretro-fbneo/APKBUILD b/testing/libretro-fbneo/APKBUILD
index d55f8a5bb4a..374e5ed493b 100644
--- a/testing/libretro-fbneo/APKBUILD
+++ b/testing/libretro-fbneo/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-fbneo
-pkgver=0_git20210504
-pkgrel=1
-_commit="9558e146597dff8390e8808a87f94b839e5dd791"
+pkgver=0_git20220416
+pkgrel=0
+_commit="100c758b1a9b3b647234174b0b1607c8d60cd147"
pkgdesc="FinalBurn Neo, an Emulator for Arcade Games & Select Consoles"
url="https://github.com/libretro/FBNeo"
-arch="all !mips !mips64" # fails to build on mips
+arch="all"
license="custom"
makedepends="zlib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/FBNeo/archive/$_commit.tar.gz
@@ -24,5 +24,7 @@ package() {
install -Dm644 src/burner/libretro/fbneo_libretro.so "$pkgdir"/usr/lib/libretro/fbneo_libretro.so
}
-sha512sums="55a9c3f2789ee0597ae01b7c735ca3aa743469daa5a3f01cdda08a0f955a2d26349f5cd60051502b9c085a0da069cf97b600921fc60f18e71b12e4051101ccc9 libretro-fbneo-9558e146597dff8390e8808a87f94b839e5dd791.tar.gz
-d2791aaa0984f73fc44afbefb37d825f78e5e690dc3c5c29852ae992aab88f049fa4142d63630656d184e0aa7ebd9a52e1db344b557b3794aaea9e2b527390b2 patch-unbundle.patch"
+sha512sums="
+56a0b7f644321cba34f9017beb047afcd704545e190ae49aeaf6d9c749659b1770e00820ab84addab7b263278909669dcb94073ed76881a15a6902d0d1323896 libretro-fbneo-100c758b1a9b3b647234174b0b1607c8d60cd147.tar.gz
+d2791aaa0984f73fc44afbefb37d825f78e5e690dc3c5c29852ae992aab88f049fa4142d63630656d184e0aa7ebd9a52e1db344b557b3794aaea9e2b527390b2 patch-unbundle.patch
+"
diff --git a/testing/libretro-flycast/APKBUILD b/testing/libretro-flycast/APKBUILD
index 4a383cf883b..40e4aa5ec3c 100644
--- a/testing/libretro-flycast/APKBUILD
+++ b/testing/libretro-flycast/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-flycast
-pkgver=0_git20210506
+pkgver=0_git20220406
pkgrel=0
-_commit="6f27e7121d2b9f2c084d18219a9e439c403a1b89"
+_commit="4c293f306bc16a265c2d768af5d0cea138426054"
pkgdesc="libretro core for flycast"
url="https://github.com/libretro/flycast"
arch="x86_64 aarch64"
@@ -40,5 +40,7 @@ package() {
install -Dm644 flycast_libretro.so "$pkgdir"/usr/lib/libretro/flycast_libretro.so
}
-sha512sums="6f58502440035df11f37ba4b5e579fd458c16bb3db56d5bb5ba85b80ed67ac9361508bd4ee52d279ea06a860dcb02aaa0d92221b000d51f968f01da2c7aa99f1 libretro-flycast-6f27e7121d2b9f2c084d18219a9e439c403a1b89.tar.gz
-98edf29148cf990de8ce1c1a15548e122ce30944645d9b92715fe3c86e021439fdeea1dabacbcbff46de211b5c2875bfc330d5a602f59498bbe745708a3d1e15 patch-unbundle.patch"
+sha512sums="
+ea8b1971f88293f8a1655cfe1a1c94b1dc8e915908bd8ec6c599125005ac9ad38ff7accfeadc255159149ed3a306861a924e840037a1d2bd383ad4bdcfd83f39 libretro-flycast-4c293f306bc16a265c2d768af5d0cea138426054.tar.gz
+98edf29148cf990de8ce1c1a15548e122ce30944645d9b92715fe3c86e021439fdeea1dabacbcbff46de211b5c2875bfc330d5a602f59498bbe745708a3d1e15 patch-unbundle.patch
+"
diff --git a/testing/libretro-freeintv/APKBUILD b/testing/libretro-freeintv/APKBUILD
index b7b76315c3d..6814c560573 100644
--- a/testing/libretro-freeintv/APKBUILD
+++ b/testing/libretro-freeintv/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-freeintv
-pkgver=0_git20210512
+pkgver=0_git20220319
pkgrel=0
-_commit="5fc8d85ee9699baaaf0c63399c364f456097fc1e"
+_commit="295dd3c9e4b2d4f652f6a6a904afbe90a8187068"
pkgdesc="libretro core for freeintv"
url="https://github.com/libretro/FreeIntv"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 freeintv_libretro.so "$pkgdir"/usr/lib/libretro/freeintv_libretro.so
}
-sha512sums="079f32e64614ec8f763a42a6227be662b3a39061eb76a278a85642906dda98f20f6441502cc97e5dfbf503d608ca271e5fb28d2d918bf328da91417a410f5aec libretro-freeintv-5fc8d85ee9699baaaf0c63399c364f456097fc1e.tar.gz"
+sha512sums="
+feee4cedcefaa95c4725b84c500c6596d083774f532259048fa5c61f71529297b85d1570a760e9bedda9eb3f0a5925ca03db99579f2695b33c98ee87f5b0cb3a libretro-freeintv-295dd3c9e4b2d4f652f6a6a904afbe90a8187068.tar.gz
+"
diff --git a/testing/libretro-frodo/APKBUILD b/testing/libretro-frodo/APKBUILD
index 1104d5f65fa..4c3f6659367 100644
--- a/testing/libretro-frodo/APKBUILD
+++ b/testing/libretro-frodo/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-frodo
-pkgver=0_git20210312
-pkgrel=1
-_commit="36137aa47885ff6e7b16f1610ef870955c226850"
+pkgver=0_git20221221
+pkgrel=0
+_commit="345a936072ecb2a545396662045bbb266d8d9baf"
pkgdesc="commodore 64 emulator for libretro"
url="https://github.com/libretro/frodo-libretro"
arch="all"
@@ -24,5 +24,7 @@ package() {
install -Dm644 frodo_libretro.so "$pkgdir"/usr/lib/libretro/frodo_libretro.so
}
-sha512sums="4e926469dd4c6789b70a7ee0aa3e261a1f0a8a637a8ee01a12dc982b8cc16c4aeafded51acbd4c611f2a95438ca01d7c9013caaaa965b22898c224ed4ee55fac libretro-frodo-36137aa47885ff6e7b16f1610ef870955c226850.tar.gz
-f4ff866f7b156aeeb021eb31d090f01ed3ce2b5f02e96ec2345e7de3a4e14e3ce52c14cb421acc29871a6f79d692460c420e056f6f843688587e9ac1de4810e6 patch-unbundle.patch"
+sha512sums="
+e70e6e5b21b85eb7e26f128eba632be9bd70fc908bf226d15456665dda1faacf58058d8c45a748bb8794e84ce39f30f0d040e2b17c1e818548f8db22fefbae44 libretro-frodo-345a936072ecb2a545396662045bbb266d8d9baf.tar.gz
+21de704da2a184e0c4059b25a669055c57d0024336902fd29de4e8e1a1b110c67f5babd8c5cab1d7e4141b82979ffd2ed5d682f02815ab17f5d9d715fc732d6e patch-unbundle.patch
+"
diff --git a/testing/libretro-frodo/patch-unbundle.patch b/testing/libretro-frodo/patch-unbundle.patch
index 820c9fbaf57..b4086bba567 100644
--- a/testing/libretro-frodo/patch-unbundle.patch
+++ b/testing/libretro-frodo/patch-unbundle.patch
@@ -2,39 +2,37 @@ Remove bundled zlib.
--- a/Makefile.common
+++ b/Makefile.common
@@ -8,7 +8,6 @@
- -I$(CORE_DIR)/libretro/emu \
- -I$(CORE_DIR)/libretro \
- -I$(CORE_DIR)/Src \
-- -I$(CORE_DIR)/Src/zlib \
- -I$(LIBRETRO_COMM_DIR)/include \
- -I$(CORE_DIR)
+ -I$(CORE_DIR)/libretro/emu \
+ -I$(CORE_DIR)/libretro \
+ -I$(CORE_DIR)/Src \
+- -I$(CORE_DIR)/Src/zlib \
+ -I$(LIBRETRO_COMM_DIR)/include \
+ -I$(CORE_DIR)
-@@ -30,22 +29,6 @@
+@@ -33,20 +32,6 @@
SOURCES_C += $(LIBRETRO_COMM_DIR)/libco/libco.c
endif
-SOURCES_C += \
-- $(CORE_DIR)/Src/zlib/adler32.c \
-- $(CORE_DIR)/Src/zlib/compress.c \
-- $(CORE_DIR)/Src/zlib/crc32.c \
-- $(CORE_DIR)/Src/zlib/deflate.c \
-- $(CORE_DIR)/Src/zlib/gzclose.c \
-- $(CORE_DIR)/Src/zlib/gzlib.c \
-- $(CORE_DIR)/Src/zlib/gzread.c \
-- $(CORE_DIR)/Src/zlib/gzwrite.c \
-- $(CORE_DIR)/Src/zlib/inffast.c \
-- $(CORE_DIR)/Src/zlib/inflate.c \
-- $(CORE_DIR)/Src/zlib/inftrees.c \
-- $(CORE_DIR)/Src/zlib/trees.c \
-- $(CORE_DIR)/Src/zlib/uncompr.c \
-- $(CORE_DIR)/Src/zlib/zutil.c
+- $(CORE_DIR)/Src/zlib/adler32.c \
+- $(CORE_DIR)/Src/zlib/crc32.c \
+- $(CORE_DIR)/Src/zlib/deflate.c \
+- $(CORE_DIR)/Src/zlib/gzclose.c \
+- $(CORE_DIR)/Src/zlib/gzlib.c \
+- $(CORE_DIR)/Src/zlib/gzread.c \
+- $(CORE_DIR)/Src/zlib/gzwrite.c \
+- $(CORE_DIR)/Src/zlib/inffast.c \
+- $(CORE_DIR)/Src/zlib/inflate.c \
+- $(CORE_DIR)/Src/zlib/inftrees.c \
+- $(CORE_DIR)/Src/zlib/trees.c \
+- $(CORE_DIR)/Src/zlib/zutil.c
-
ifeq ($(NOLIBCO), 1)
CPPFLAGS += -DNO_LIBCO
endif
-@@ -113,3 +96,5 @@
- $(GUI_DIR)/dlgMain.cpp \
- $(GUI_DIR)/dlgSnapshot.cpp \
- $(GUI_DIR)/sdlgui.cpp
+@@ -113,3 +98,5 @@
+ $(GUI_DIR)/dlgMain.cpp \
+ $(GUI_DIR)/dlgSnapshot.cpp \
+ $(GUI_DIR)/sdlgui.cpp
+
+LDFLAGS += -lz
diff --git a/testing/libretro-fuse/APKBUILD b/testing/libretro-fuse/APKBUILD
index b501fdf8043..520d3cf0c1c 100644
--- a/testing/libretro-fuse/APKBUILD
+++ b/testing/libretro-fuse/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-fuse
-pkgver=0_git20210419
+pkgver=0_git20220417
pkgrel=0
-_commit="330655e4735ce2ace887dcc641a837fb5747d47f"
+_commit="71557910d4a2f290fc85235f2fc1b81eec006689"
pkgdesc="port of the Fuse Unix Spectrum Emulator to libretro"
url="https://github.com/libretro/fuse-libretro"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 fuse_libretro.so "$pkgdir"/usr/lib/libretro/fuse_libretro.so
}
-sha512sums="425b00bb91611b827d9c8ab418e6ea0de27671799e1a9cadcf7d87cdc4c166eae262949026f734609ce170d86adbabc5e31a6f76bb1eb1937a109a7206a7ad22 libretro-fuse-330655e4735ce2ace887dcc641a837fb5747d47f.tar.gz"
+sha512sums="
+9c34d93fbc36326ad13aa92091e2d14df2f3305c1ce75d2e2ac2a5765a655b14e850147414d82457865b9c33b124aa2ef9d1ad0cf33657c635da97e0efb8e08f libretro-fuse-71557910d4a2f290fc85235f2fc1b81eec006689.tar.gz
+"
diff --git a/testing/libretro-genesis-plus-gx/APKBUILD b/testing/libretro-genesis-plus-gx/APKBUILD
index 9047ba3dce9..80cacedb7fd 100644
--- a/testing/libretro-genesis-plus-gx/APKBUILD
+++ b/testing/libretro-genesis-plus-gx/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-genesis-plus-gx
-pkgver=0_git20210325
+pkgver=0_git20230503
pkgrel=0
-_commit="a110a0598ee87de9294751a6645d9164654ffe1e"
+_commit="790776699bea2a570535e1632481aa27174c8dce"
pkgdesc="an enhanced port of Genesis Plus"
url="https://github.com/libretro/Genesis-Plus-GX"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 genesis_plus_gx_libretro.so "$pkgdir"/usr/lib/libretro/genesis_plus_gx_libretro.so
}
-sha512sums="578e537debb2c6a531073aa846227468edbb64afb193abbd81445a74c6ab9ad89e43cfb7bb21f6f2bbe56f2be5371b846e04437577702be4e7eba40b8e18530b libretro-genesis-plus-gx-a110a0598ee87de9294751a6645d9164654ffe1e.tar.gz"
+sha512sums="
+8ec11fd558606cdb696a81e192437649e160d25f055ce4089e3e50d48bbd7b0e9456bb8ec5decf7c8108528bde6098cc766ed7391160beddda11b744a888226e libretro-genesis-plus-gx-790776699bea2a570535e1632481aa27174c8dce.tar.gz
+"
diff --git a/testing/libretro-gme/APKBUILD b/testing/libretro-gme/APKBUILD
index ca9a885f0e1..35261acacbc 100644
--- a/testing/libretro-gme/APKBUILD
+++ b/testing/libretro-gme/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-gme
-pkgver=0_git20210309
+pkgver=0_git20220410
pkgrel=0
-_commit="f8debd1469dc8b61bc0160297886dbc3132205ea"
+_commit="5fb30ebb8871624cecc07813212fb643fa8449f4"
pkgdesc="port of blargg's Game_Music_Emu library"
url="https://github.com/libretro/libretro-gme"
-arch="all !ppc64le !mips !mips64"
+arch="all !ppc64le"
license="GPL-3.0-only"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/libretro-gme/archive/$_commit.tar.gz"
builddir="$srcdir/libretro-gme-$_commit"
@@ -20,4 +20,6 @@ package() {
install -Dm644 gme_libretro.so "$pkgdir"/usr/lib/libretro/gme_libretro.so
}
-sha512sums="21a423a687065bbcb2c943fbaefa21dcd18beeec45ed7fabdb027e74612e26f7f5797ea024831f3519ea441f9a70b563aeac49d73a4ec701ae6b911bfdb4accc libretro-gme-f8debd1469dc8b61bc0160297886dbc3132205ea.tar.gz"
+sha512sums="
+f3a1156ac716eab3e95b0398ce90f8283f51b697e9a7077c46116dcd229bf89a65a2b20b741f59a64d440246076127f496a75da0a39747a2b926bc4b0d6a2f44 libretro-gme-5fb30ebb8871624cecc07813212fb643fa8449f4.tar.gz
+"
diff --git a/testing/libretro-gong/APKBUILD b/testing/libretro-gong/APKBUILD
index 15ae8c68ae2..4a1857474c9 100644
--- a/testing/libretro-gong/APKBUILD
+++ b/testing/libretro-gong/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-gong
-pkgver=0_git20210420
+pkgver=0_git20220319
pkgrel=0
-_commit="c33d6f32fc76b642297e1b827edbd8434fec027f"
+_commit="c4255f80f8d89f31d9e8471f388eb7bbcb85046e"
pkgdesc="libretro core for gong"
url="https://github.com/libretro/gong"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 gong.so "$pkgdir"/usr/lib/libretro/gong_libretro.so
}
-sha512sums="2ba8d2d274aa892e615500fa79ee00d253ee855233143f29151af731cb8d69f8be155465f7c7047fe5ecd8bc5b05acdab6cf8c0a8b4ad70b517a7ce6b071b8bb libretro-gong-c33d6f32fc76b642297e1b827edbd8434fec027f.tar.gz"
+sha512sums="
+0370f893f8ee0f81b25cb1c86435fb92fcfd15fb8e5f66a81a654d4028e00bfcb6d127df556e00f1cf3a4d5457c01fc417edec96fcb43824d58c65c4ee24f55d libretro-gong-c4255f80f8d89f31d9e8471f388eb7bbcb85046e.tar.gz
+"
diff --git a/testing/libretro-gw/APKBUILD b/testing/libretro-gw/APKBUILD
index 69bbdb12d3e..415a8802ea0 100644
--- a/testing/libretro-gw/APKBUILD
+++ b/testing/libretro-gw/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-gw
-pkgver=0_git20210425
+pkgver=0_git20220410
pkgrel=0
-_commit="6b99e7711d75a8194bede3229e8cca5bc99f0687"
+_commit="d08a08154ce8ed8e9de80582c108f157e4c6b226"
pkgdesc="libretro core for Game & Watch simulators"
url="https://github.com/libretro/gw-libretro"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 gw_libretro.so "$pkgdir"/usr/lib/libretro/gw_libretro.so
}
-sha512sums="5fbdadf2bb14e42c8f87254b4117a835d8130e3ddf6747c8acfdb7db3c9a08ddc43d33328bdc17af5270a7d79c35cb431babe82dacb3e944b497e09b7d780f20 libretro-gw-6b99e7711d75a8194bede3229e8cca5bc99f0687.tar.gz"
+sha512sums="
+9e07a6c477721823e4ec546601a8b9b3df9619ea7bd334ee71586a24c02e6cc2d7841ff26bdd1f192684be14d61b44caab189285082c58767bd83634b74f6baf libretro-gw-d08a08154ce8ed8e9de80582c108f157e4c6b226.tar.gz
+"
diff --git a/testing/libretro-mame2000/APKBUILD b/testing/libretro-mame2000/APKBUILD
index 6f8a3072ea9..ad3ecadfe65 100644
--- a/testing/libretro-mame2000/APKBUILD
+++ b/testing/libretro-mame2000/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-mame2000
-pkgver=0_git20200112
+pkgver=0_git20220413
pkgrel=0
-_commit="e5d4a934c60adc6d42a3f87319312aad89595a15"
+_commit="dd9d6612c29bf5b29bc2f94cab2d43fe3dcd69ee"
pkgdesc="Multiple Arcade Machine Emulator for libretro (2000)"
-url="https://github.com/libretro/mame"
+url="https://github.com/libretro/mame2000-libretro"
arch="all !aarch64"
license="custom"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/mame2000-libretro/archive/$_commit.tar.gz"
@@ -20,4 +20,6 @@ package() {
install -Dm644 mame2000_libretro.so "$pkgdir"/usr/lib/libretro/mame2000_libretro.so
}
-sha512sums="2208624f324b3bdc030d445bca6e4c936b96d66816e14a87b4dc83a9b9b261b1f9d801aabf0d53209da6326c059253ba1c3e1a5ca14768fb1b5b68501e4e1197 libretro-mame2000-e5d4a934c60adc6d42a3f87319312aad89595a15.tar.gz"
+sha512sums="
+ee8905490e035718b10cf9bf4ff61740fe92db35281d3f87bf0111e44872846186d895457ee6ffd397f9e1b8c4bf9fe2b3b7bc13492b65405b85eff2754c82ae libretro-mame2000-dd9d6612c29bf5b29bc2f94cab2d43fe3dcd69ee.tar.gz
+"
diff --git a/testing/libretro-mame2003/APKBUILD b/testing/libretro-mame2003/APKBUILD
index 75429a6ef38..29084944aad 100644
--- a/testing/libretro-mame2003/APKBUILD
+++ b/testing/libretro-mame2003/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-mame2003
-pkgver=0_git20200112
+pkgver=0_git20220206
pkgrel=0
-_commit="82596014905ad38c80c9eb322ab08c625d1d92cd"
+_commit="3eb27d5f161522cf873c0642f14b8e2267b3820f"
pkgdesc="Multiple Arcade Machine Emulator for libretro (2003)"
url="https://github.com/libretro/mame2003-libretro"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 mame2003_libretro.so "$pkgdir"/usr/lib/libretro/mame2003_libretro.so
}
-sha512sums="f00db1fb71a894876ed093280aa9b0f73d5a22e249ecd04f618dd1feee1256345239835ac7df80325c5a6803e2ff0bd53b211b6f6f508c6107fb335f04fed59e libretro-mame2003-82596014905ad38c80c9eb322ab08c625d1d92cd.tar.gz"
+sha512sums="
+3c97fd688b9cac8379e0d4474ea12416c61043671af84b342d295cadd66e8f8f113715fbf933fd1c4fe9018c0da9bb492af55e3d4564b506a4db83b7874ab8fe libretro-mame2003-3eb27d5f161522cf873c0642f14b8e2267b3820f.tar.gz
+"
diff --git a/testing/libretro-mu/APKBUILD b/testing/libretro-mu/APKBUILD
index c9ffa490826..97555139ddb 100644
--- a/testing/libretro-mu/APKBUILD
+++ b/testing/libretro-mu/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-mu
-pkgver=0_git20210517
+pkgver=0_git20220317
pkgrel=0
-_commit="5795ade53199e9d0dd5e4331282c7d14a3899074"
+_commit="1361da04014d77b8bec13e050a71bf7bf8ce5543"
pkgdesc="libretro core for mu"
url="https://github.com/libretro/Mu"
arch="all"
@@ -16,10 +16,11 @@ build() {
make -C libretroBuildSystem
}
-
package() {
install -Dm644 libretroBuildSystem/mu_libretro.so \
"$pkgdir"/usr/lib/libretro/mu_libretro.so
}
-sha512sums="fdb8472513ebe7f3d5f86d5a6c60f770f2fc6a192b28feb355e5d097bbb807b19fcb45aefb0243243295b138b085ba49e289697de163fc3fdedd24436e9c3525 libretro-mu-5795ade53199e9d0dd5e4331282c7d14a3899074.tar.gz"
+sha512sums="
+0b9260603e1deaeb488fc7626466486a36d3544892469fbd4d11f357c52e005758e01fee99122fd61d1d61dece64b79b42b909511bf613ea6ed4d165e330b302 libretro-mu-1361da04014d77b8bec13e050a71bf7bf8ce5543.tar.gz
+"
diff --git a/testing/libretro-neocd/APKBUILD b/testing/libretro-neocd/APKBUILD
index 09bdd5cd28c..74d115f0bec 100644
--- a/testing/libretro-neocd/APKBUILD
+++ b/testing/libretro-neocd/APKBUILD
@@ -1,27 +1,29 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-neocd
-pkgver=0_git20210425
+pkgver=0_git20220325
pkgrel=0
-_commit="fc85ed4f5e3d075945493a3ae103df53b63cb340"
+_commit="327aeceecdf71c8a0c0af3d6dc53686c94fe44ad"
pkgdesc="libretro core for neocd"
url="https://github.com/libretro/neocd_libretro"
arch="all"
license="LGPL-3.0-only"
-makedepends="minizip-dev libogg-dev libvorbis-dev libzip-dev zlib-dev"
+makedepends="minizip-dev libogg-dev libvorbis-dev zlib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/neocd_libretro/archive/$_commit.tar.gz
- patch-unbundle.patch
- "
+ patch-unbundle.patch"
builddir="$srcdir/neocd_libretro-$_commit"
options="!check" # No tests
build() {
- make
+ rm -rf deps/libogg deps/libvorbis deps/libchdr/deps/zlib*
+ make -j1
}
package() {
install -Dm644 neocd_libretro.so "$pkgdir"/usr/lib/libretro/neocd_libretro.so
}
-sha512sums="4926eaa70ee44b6cb88a5067fa72033490b913b9fe73d8c70d4a9d4d7295aaa6e2684e029612ce2f6a23f446e9b5dea8b42b7652c5645252234ea91d3de0e68e libretro-neocd-fc85ed4f5e3d075945493a3ae103df53b63cb340.tar.gz
-eb5da7c40145f4b148ec7b77ff3be301dd17068d20b9a688194c311bd81fbbd548e38cd5634ea27d591498c2c4e67d6599d2b8c2f428a1d56066802f493ed1b9 patch-unbundle.patch"
+sha512sums="
+12c4a848aac6e5ea91deeec64e68e4f9c54181047c53322f0fc912100a61318e99b2939d33d0b94ef8c4bad5dd537cadf875a1d8cc6c5e069b7b3cba1c49d573 libretro-neocd-327aeceecdf71c8a0c0af3d6dc53686c94fe44ad.tar.gz
+bc689c7c686f917dbaff889ddef761a89d2f552ca0905f0c9c554e3d4c8117fc4a972a3dc1322699f0ff558db7a71b6206a383a34ca3739d8ca82a5c11d81da8 patch-unbundle.patch
+"
diff --git a/testing/libretro-neocd/patch-unbundle.patch b/testing/libretro-neocd/patch-unbundle.patch
index ef43cf1ce87..c495d01ea96 100644
--- a/testing/libretro-neocd/patch-unbundle.patch
+++ b/testing/libretro-neocd/patch-unbundle.patch
@@ -1,51 +1,47 @@
---- neocd_libretro-fc85ed4f5e3d075945493a3ae103df53b63cb340/Makefile.common.orig
-+++ neocd_libretro-fc85ed4f5e3d075945493a3ae103df53b63cb340/Makefile.common
-@@ -1,23 +1,25 @@
+Remove bundled dependencies.
+
+We have to keep minizip for now because the newest API is not backward
+compatible with the core codebase.
+--- a/Makefile.common
++++ b/Makefile.common
+@@ -1,22 +1,22 @@
LIBRETRO_DEPS_DIR = $(CORE_DIR)/deps
-LIBOGG_DIR = $(LIBRETRO_DEPS_DIR)/libogg
-LIBVORBIS_DIR = $(LIBRETRO_DEPS_DIR)/libvorbis
LIBCHDR_DIR = $(LIBRETRO_DEPS_DIR)/libchdr
-ZLIB_DIR = $(LIBCHDR_DIR)/deps/zlib-1.2.11
--MINIZIP_DIR = $(LIBRETRO_DEPS_DIR)/minizip
+ MINIZIP_DIR = $(LIBRETRO_DEPS_DIR)/minizip
LZMA_DIR = $(LIBCHDR_DIR)/deps/lzma-19.00
- LIBRETRO_COMMON_DIR = $(LIBRETRO_DEPS_DIR)/libretro-common
+ LIBRETRO_COMM_DIR = $(LIBRETRO_DEPS_DIR)/libretro-common
-+MINIZIP_INCS := $(shell pkg-config --cflags minizip)
-+MINIZIP_LIBS := $(shell pkg-config --libs minizip)
+VORBIS_INCS := $(shell pkg-config --cflags vorbisfile)
+VORBIS_LIBS := $(shell pkg-config --libs vorbisfile)
+OGG_INCS := $(shell pkg-config --cflags ogg)
+OGG_LIBS := $(shell pkg-config --libs ogg)
-+LIBZIP_INCS := $(shell pkg-config --cflags libzip)
-+LIBZIP_LIBS := $(shell pkg-config --libs libzip)
+ZLIB_INCS := $(shell pkg-config --cflags zlib)
+ZLIB_LIBS := $(shell pkg-config --libs zlib)
+
INCFLAGS := \
-I$(CORE_DIR)/src \
- -I$(LIBRETRO_COMMON_DIR)/include \
+ -I$(LIBRETRO_COMM_DIR)/include \
-I$(LIBRETRO_DEPS_DIR)/ \
-I$(LIBCHDR_DIR)/include \
-- -I$(LZMA_DIR)/include \
+ -I$(LZMA_DIR)/include \
- -I$(LIBOGG_DIR)/include \
- -I$(LIBVORBIS_DIR)/include \
- -I$(LIBVORBIS_DIR)/lib \
- -I$(ZLIB_DIR) \
-- -I$(MINIZIP_DIR)
-+ -I$(LZMA_DIR)/include
+ -I$(MINIZIP_DIR)
SOURCES_CXX :=\
- $(CORE_DIR)/src/archive.cpp \
-@@ -106,48 +108,18 @@
- $(LZMA_DIR)/src/LzmaEnc.c \
+@@ -113,46 +113,17 @@
$(LZMA_DIR)/src/Sort.c
--SOURCES_C += \
+ SOURCES_C += \
- $(LIBOGG_DIR)/src/bitwise.c \
- $(LIBOGG_DIR)/src/framing.c
-
-SOURCES_C += \
-- $(LIBVORBIS_DIR)/lib/analysis.c \
- $(LIBVORBIS_DIR)/lib/bitrate.c \
- $(LIBVORBIS_DIR)/lib/block.c \
- $(LIBVORBIS_DIR)/lib/codebook.c \
@@ -79,21 +75,17 @@
- $(ZLIB_DIR)/zutil.c
-
-SOURCES_C += \
-- $(MINIZIP_DIR)/ioapi.c \
-- $(MINIZIP_DIR)/unzip.c
--
+ $(MINIZIP_DIR)/ioapi.c \
+ $(MINIZIP_DIR)/unzip.c
+
ifneq ($(STATIC_LINKING),1)
SOURCES_C += $(SRC_LIBRETRO_COMMON)
endif
+
-+INCFLAGS += ${MINIZIP_INCS}
+INCFLAGS += ${VORBIS_INCS}
+INCFLAGS += ${OGG_INCS}
-+INCFLAGS += ${LIBZIP_INCS}
+INCFLAGS += ${ZLIB_INCS}
+
-+LIBS += ${MINIZIP_LIBS}
+LIBS += ${VORBIS_LIBS}
+LIBS += ${OGG_LIBS}
-+LIBS += ${LIBZIP_LIBS}
+LIBS += ${ZLIB_LIBS}
diff --git a/testing/libretro-nxengine/APKBUILD b/testing/libretro-nxengine/APKBUILD
index 6257261f233..c52472676c9 100644
--- a/testing/libretro-nxengine/APKBUILD
+++ b/testing/libretro-nxengine/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-nxengine
-pkgver=0_git20210309
+pkgver=0_git20220301
pkgrel=0
-_commit="9cc51b58b7b489de23abf92773b85958498dd481"
+_commit="fc102fa3eeda1a0133f80474d6671af4cf7612a6"
pkgdesc="port of NxEngine to the libretro API"
url="https://github.com/libretro/nxengine-libretro"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 nxengine_libretro.so "$pkgdir"/usr/lib/libretro/nxengine_libretro.so
}
-sha512sums="e66228c9b0db6af05a66c6b8e09fc4030ec27e516a2c2f659d9ffc3b6286831bbe43e913a7e7efb5162e622d95e4627d2dca53df4721f1dae6376aa15c2014fd libretro-nxengine-9cc51b58b7b489de23abf92773b85958498dd481.tar.gz"
+sha512sums="
+c0a414dc773e902b2ff66513755deaac0c25363795e6c009ae578b1c18df4851fce8b1dd729e183013311f1e71ce7409a95c6f5d65f185930a1dc34c4a0503cc libretro-nxengine-fc102fa3eeda1a0133f80474d6671af4cf7612a6.tar.gz
+"
diff --git a/testing/libretro-openlara/APKBUILD b/testing/libretro-openlara/APKBUILD
index c986a67916e..bfa545ce713 100644
--- a/testing/libretro-openlara/APKBUILD
+++ b/testing/libretro-openlara/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-openlara
-pkgver=0_git20200225
+pkgver=0_git20210121
pkgrel=0
-_commit="c7fd002610c551cfbbfa4947ea9c3a2574fe51c5"
+_commit="fe88d74673344afc71891717b2474d33f90c165f"
pkgdesc="classic Tomb Raider open-source engine for libretro"
url="https://github.com/libretro/OpenLara"
arch="all"
@@ -23,4 +23,6 @@ package() {
install -Dm644 src/platform/libretro/openlara_libretro.so "$pkgdir"/usr/lib/libretro/openlara_libretro.so
}
-sha512sums="64f6faf0a6b751668d7271e82785146a9fee7e66a1878bc13d6c5edb678ae27910d6e2fcd5e8f5d5ecc5a40b6cc3daac48a4242be47c772194c80defb3864ae3 libretro-openlara-c7fd002610c551cfbbfa4947ea9c3a2574fe51c5.tar.gz"
+sha512sums="
+d2c8c2d1c3ebb185e101eea79e5773c5d5b1ba45757b2532ffbdfd548cae103666790a414db5bb42ca332b99602b38d9f1dcae4b3bbe7ea120eec3bfda6f20c4 libretro-openlara-fe88d74673344afc71891717b2474d33f90c165f.tar.gz
+"
diff --git a/testing/libretro-opera/APKBUILD b/testing/libretro-opera/APKBUILD
index 2e1b38cccc3..f43e93ff2e1 100644
--- a/testing/libretro-opera/APKBUILD
+++ b/testing/libretro-opera/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-opera
-pkgver=0_git20210409
+pkgver=0_git20211214
pkgrel=0
-_commit="71125d59b62e4f7ba7ccf6367bf217ba2f2d3871"
+_commit="3849c969c64b82e622a7655b327fa94bc5a4c7cc"
pkgdesc="port of 4DO/libfreedo to libretro"
url="https://github.com/libretro/opera-libretro"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 opera_libretro.so "$pkgdir"/usr/lib/libretro/opera_libretro.so
}
-sha512sums="aa90a6d3a3948b5fe27cec115a442bbde439c1e69b72c95e42535a479d8356034e6ff5a679f5e4681227fe3359b527983abd41075230affa26626d851d1f391e libretro-opera-71125d59b62e4f7ba7ccf6367bf217ba2f2d3871.tar.gz"
+sha512sums="
+ca57a35fb7ed3007cce818e427e182f50bd7f720f4f8e8a9bfa04ff0daf68eff6347c25d98f1d36dfedc46df51f3aadf15b2b0c3c9d7f881d4fe6539efccf19b libretro-opera-3849c969c64b82e622a7655b327fa94bc5a4c7cc.tar.gz
+"
diff --git a/testing/libretro-parallel-n64/APKBUILD b/testing/libretro-parallel-n64/APKBUILD
index ef3703100cf..d95cfbe665d 100644
--- a/testing/libretro-parallel-n64/APKBUILD
+++ b/testing/libretro-parallel-n64/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-parallel-n64
-pkgver=0_git20210324
+pkgver=0_git20220406
pkgrel=0
-_commit="0a67445ce63513584d92e5c57ea87efe0da9b3bd"
+_commit="b804ab1a199d6ff1f8fef4aa7dfcf663990e430b"
pkgdesc="optimized/rewritten Nintendo 64 emulator made specifically for Libretro"
url="https://github.com/libretro/parallel-n64"
-arch="all !ppc64le !s390x !mips !mips64 !riscv64"
+arch="all !ppc64le !s390x !riscv64"
license="GPL-2.0-only"
makedepends="mesa-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/parallel-n64/archive/$_commit.tar.gz
@@ -25,7 +25,7 @@ package() {
}
sha512sums="
-9ae737e80027ddabe9f91971e912910adaacad0e20ad90e47924e38d0bf8633ee6b0c8cb51598e0da3da5f9f5822226332811ec26bdf91e83d7ad39a39fa89b8 libretro-parallel-n64-0a67445ce63513584d92e5c57ea87efe0da9b3bd.tar.gz
+8e3ceabe97c5bf31c5db463c05b40c76e7a2c2e7e7d1e16c3673c0b87cb882ea506187dca4266224721e334f3e95c38eb918591b7cad972123389a1fe1628808 libretro-parallel-n64-b804ab1a199d6ff1f8fef4aa7dfcf663990e430b.tar.gz
b2e41dc864eefca4cfd62c42371b371dabb28a04c604f3d31185751c87f632371f6d0557ddb7bca32299ce7c0d5908204e3f2afa8fef943b0dbd2a8bd68302af patch-aarch64.patch
d5f8abf349b1bff945a0e3f90aabbdbd159b7ddef8054fc284ab192adfa61ce8ccbeac25e14149a5c438db375c8246931ab59a1905adc3e30f217026780a4d7b patch-arm.patch
"
diff --git a/testing/libretro-pcem/APKBUILD b/testing/libretro-pcem/APKBUILD
index 355bac6b703..ce7609a8a58 100644
--- a/testing/libretro-pcem/APKBUILD
+++ b/testing/libretro-pcem/APKBUILD
@@ -6,7 +6,7 @@ pkgrel=0
_commit="1955c2127990cfdf4c594b35b466e8503d626fa7"
pkgdesc="libretro port of PCem"
url="https://github.com/libretro/libretro-pcem"
-arch="all !aarch64 !armv7 !armhf !ppc64le !s390x !x86 !mips !mips64 !riscv64"
+arch="all !aarch64 !armv7 !armhf !ppc64le !s390x !x86 !riscv64"
license="GPL-2.0-only"
makedepends="linux-headers"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/libretro-pcem/archive/$_commit.tar.gz"
diff --git a/testing/libretro-pcsx-rearmed/APKBUILD b/testing/libretro-pcsx-rearmed/APKBUILD
index 9cd4b560517..42e79142089 100644
--- a/testing/libretro-pcsx-rearmed/APKBUILD
+++ b/testing/libretro-pcsx-rearmed/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-pcsx-rearmed
-pkgver=0_git20210428
+pkgver=0_git20220409
pkgrel=0
-_commit="625cc17f79f3eaeada1b741974bdc608ae4d2dd2"
+_commit="e24732050e902bd5402b2b7da7c391d2ca8fa799"
pkgdesc="ARM optimized PCSX fork for libretro"
url="https://github.com/libretro/pcsx_rearmed"
arch="all !armv7 !armhf"
@@ -12,12 +12,21 @@ source="$pkgname-$_commit.tar.gz::https://github.com/libretro/pcsx_rearmed/archi
builddir="$srcdir/pcsx_rearmed-$_commit"
options="!check" # No tests
+# Handled by multiple conditionals in the Makefile but not working correctly
+# for the aarch64 platform.
+case "$CARCH" in
+aarch64)
+ with_dynarec="DYNAREC=ari64" ;;
+esac
+
build() {
- make -f Makefile.libretro
+ make -f Makefile.libretro $with_dynarec
}
package() {
install -Dm644 pcsx_rearmed_libretro.so "$pkgdir"/usr/lib/libretro/pcsx_rearmed_libretro.so
}
-sha512sums="502ce48b00a4720f715487ee498c1764a257db4ce2d5d5e11f2a48d85be86aa54a2a32d61d8ffd2ee621ed6b3c41dac1fa4564021fe5935f7480adf4a83367ea libretro-pcsx-rearmed-625cc17f79f3eaeada1b741974bdc608ae4d2dd2.tar.gz"
+sha512sums="
+621972462c230c19241a2ba14098987524488ec3d053b609fb9fc870b4ef3b6f2f7a44f6f97b9376a0c17ff7b465b5963962b44fc50dfa982509fdab2403860f libretro-pcsx-rearmed-e24732050e902bd5402b2b7da7c391d2ca8fa799.tar.gz
+"
diff --git a/testing/libretro-picodrive/APKBUILD b/testing/libretro-picodrive/APKBUILD
index 05c108e06d3..414892847c2 100644
--- a/testing/libretro-picodrive/APKBUILD
+++ b/testing/libretro-picodrive/APKBUILD
@@ -1,17 +1,30 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-picodrive
-pkgver=0_git20200305
+pkgver=0_git20220405
pkgrel=0
-_commit="600894ec6eb657586a972a9ecd268f50907a279c"
+_commit="bb6a52fe60e6f3bdcd17effe75e68fd0f8c44ba7"
+_commit_dr_libs="1e42667b0912437d1c101a59ee9d0225ba0dffb5"
+_commit_libchdr="a03e69319164f69d781ab8e453f8cf407387bd13"
+_commit_emu2413="4062e93e9316ee5c488167ade5a83753e5f07ae3"
pkgdesc="fast MegaDrive/MegaCD/32X emulator"
url="https://github.com/libretro/picodrive"
-arch="all !aarch64 !ppc64le !s390x !mips !mips64 !riscv64"
+arch="all !ppc64le !s390x !riscv64"
license="custom"
-source="$pkgname-$_commit.tar.gz::https://github.com/libretro/picodrive/archive/$_commit.tar.gz"
+source="$pkgname-$_commit.tar.gz::https://github.com/libretro/picodrive/archive/$_commit.tar.gz
+ $pkgname-dr_libs-$_commit_dr_libs.tar.gz::https://github.com/mackron/dr_libs/archive/$_commit_dr_libs.tar.gz
+ $pkgname-libchdr-$_commit_libchdr.tar.gz::https://github.com/rtissera/libchdr/archive/$_commit_libchdr.tar.gz
+ $pkgname-emu2413-$_commit_emu2413.tar.gz::https://github.com/digital-sound-antiques/emu2413/archive/$_commit_emu2413.tar.gz"
builddir="$srcdir/picodrive-$_commit"
options="!check" # No tests
+prepare() {
+ default_prepare
+ rm -rf platform/common/dr_libs && mv "$srcdir/dr_libs-$_commit_dr_libs" platform/common/dr_libs
+ rm -rf pico/cd/libchdr && mv "$srcdir/libchdr-$_commit_libchdr" pico/cd/libchdr
+ rm -rf pico/sound/emu2413 && mv "$srcdir/emu2413-$_commit_emu2413" pico/sound/emu2413
+}
+
build() {
make -f Makefile.libretro
}
@@ -20,4 +33,9 @@ package() {
install -Dm644 picodrive_libretro.so "$pkgdir"/usr/lib/libretro/picodrive_libretro.so
}
-sha512sums="66247cf73c60ae88a6bb8fa771b887b1a85b2260d951162670b7fa71dfca919b1a9775fde85557f74779a64b2bf179eef94af96511b11db3cc0a62d8e9bd9223 libretro-picodrive-600894ec6eb657586a972a9ecd268f50907a279c.tar.gz"
+sha512sums="
+505cb28d74944093d04474846e74aa5135058ead836b004a9250f18f53bf8aef239986e3e88ae3ac33879447757bc4d0671ef42661843b1a4d1349ad434b986d libretro-picodrive-bb6a52fe60e6f3bdcd17effe75e68fd0f8c44ba7.tar.gz
+640ac3d0b2a3e47f47e1a2db1a0b3f6df65bc91e476b722e355c417f14f98eff97c878553252ba6877ff98bcd35056c185c66ddd394bf31cc33400b480dd415b libretro-picodrive-dr_libs-1e42667b0912437d1c101a59ee9d0225ba0dffb5.tar.gz
+407b1b310126e223b596ef99b7cbf0baadc06c3cb84e3173a40a2ddcf3b994e86e420fdafd814f11a7d0ac2c9feea30c28ff9ece6834d5f317064185546d4101 libretro-picodrive-libchdr-a03e69319164f69d781ab8e453f8cf407387bd13.tar.gz
+ae75d43973c4d3c8204609a52dd18d1c84ce7962af5219d7f34a3b7313268168adf0bd556771487aa0d2d1e382fe18b0b98ba055ef7ff0109f74adbdb1b913f4 libretro-picodrive-emu2413-4062e93e9316ee5c488167ade5a83753e5f07ae3.tar.gz
+"
diff --git a/testing/libretro-pocketcdg/APKBUILD b/testing/libretro-pocketcdg/APKBUILD
index eb9c77a5465..bfea2e26803 100644
--- a/testing/libretro-pocketcdg/APKBUILD
+++ b/testing/libretro-pocketcdg/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-pocketcdg
-pkgver=0_git20210309
+pkgver=0_git20220327
pkgrel=0
-_commit="03461805d5c8312f9d33d3bd713a83e92d65a6c6"
+_commit="1559b4e309888690722a86b897582f62dd598810"
pkgdesc="PocketCDG libretro port"
url="https://github.com/libretro/libretro-pocketcdg"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 pocketcdg_libretro.so "$pkgdir"/usr/lib/libretro/pocketcdg_libretro.so
}
-sha512sums="db3c0f1563ff2a2f145f077ac423a389bbb39a38974f7287f9735582c999db9d8b76ce1562e3a57122dc68a1f19189b513117e118d89cfe00b5d127d2ff8b247 libretro-pocketcdg-03461805d5c8312f9d33d3bd713a83e92d65a6c6.tar.gz"
+sha512sums="
+8371a641d0ae0c2b6283e4d5538fac9754b801adf866228ff167cf02df212657198f2ee1ddac9ca7169f66dc653c6e70302a2fec2b2ee5576f76f30dfe887fee libretro-pocketcdg-1559b4e309888690722a86b897582f62dd598810.tar.gz
+"
diff --git a/testing/libretro-ppsspp/APKBUILD b/testing/libretro-ppsspp/APKBUILD
index 6594237c528..a55ccf1a750 100644
--- a/testing/libretro-ppsspp/APKBUILD
+++ b/testing/libretro-ppsspp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-ppsspp
pkgver=0_git20210516
-pkgrel=0
+pkgrel=12
_vers="v1.11.3-672-gf1bf596f5"
_commit="f1bf596f5c6301a9f757b18b7823fd9f34f235ef"
_commit_armips="7885552b208493a6a0f21663770c446c3ba65576"
@@ -11,10 +11,10 @@ _commit_rapidjson="73063f5002612c6bf64fe24f851cd5cc0d83eef9"
_commit_spirv_cross="9acb9ec31f5a8ef80ea6b994bb77be787b08d3d1"
pkgdesc="libretro core for ppsspp"
url="https://github.com/hrydgard/ppsspp"
-arch="all !s390x !mips64"
+arch="all !s390x"
license="GPL-2.0-only"
makedepends="cmake
- ffmpeg-dev
+ ffmpeg4-dev
glslang-dev
glslang-static
libpng-dev
@@ -33,16 +33,18 @@ source="$pkgname-$_commit.tar.gz::https://github.com/hrydgard/ppsspp/archive/$_c
$pkgname-spirv-cross-$_commit_spirv_cross.tar.gz::https://github.com/KhronosGroup/spirv-cross/archive/$_commit_spirv_cross.tar.gz
patch-unbundle.patch
patch-disable-git-version.patch
+ gcc12.patch
+ gcc13.patch
"
builddir="$srcdir/ppsspp-$_commit"
options="!check" # No tests
prepare() {
- default_prepare
rm -rf ext/armips && mv "$srcdir"/armips-$_commit_armips ext/armips
rm -rf ext/rapidjson && mv "$srcdir"/rapidjson-$_commit_rapidjson ext/rapidjson
rm -rf ext/SPIRV-Cross && mv "$srcdir"/SPIRV-Cross-$_commit_spirv_cross ext/SPIRV-Cross
rm -rf assets/lang && mv "$srcdir"/ppsspp-lang-$_commit_ppsspp_lang assets/lang
+ default_prepare
sed -i -e "s,@VERSION@,$_vers," git-version.cmake
}
@@ -72,10 +74,14 @@ package() {
install -Dm644 build/lib/ppsspp_libretro.so "$pkgdir"/usr/lib/libretro/ppsspp_libretro.so
}
-sha512sums="7bc671c8da5e7c77a2609022bbbbecff4b21d65a4c32e4497814b42235a4a870c1aafc66abeb0b875ba7ed42873cdc824f901adb7d090cb583e657ba9b06c641 libretro-ppsspp-f1bf596f5c6301a9f757b18b7823fd9f34f235ef.tar.gz
+sha512sums="
+7bc671c8da5e7c77a2609022bbbbecff4b21d65a4c32e4497814b42235a4a870c1aafc66abeb0b875ba7ed42873cdc824f901adb7d090cb583e657ba9b06c641 libretro-ppsspp-f1bf596f5c6301a9f757b18b7823fd9f34f235ef.tar.gz
2a94e2c7b7280c00a39c8fc92d81ed15fc4b3270a124ef882e3cd8878db6ec827aefa06b0e646a60916636a95e4ebfa886e9878ba70c6bcfcd048def457368be libretro-ppsspp-armips-7885552b208493a6a0f21663770c446c3ba65576.tar.gz
691cb38c65ca20700dc5b91c0dc02eec1839f153e042c87f8f4fd480e44c823c0ece9f4752f5e597f2aa4b5cfb22aaf49d76ff990eb2dd5231cc4065dd62566d libretro-ppsspp-ppsspp-lang-3bf6b18eb0ae68861fbfbb7b43cd764771ca42a9.tar.gz
3472e129e710bf5343b8b27a61581a1480c8096493e466440b62702d8b5353745d561931f72b5405a736ad92525be3843ea1cf4b5ea5839721cc6d6b358f19bc libretro-ppsspp-rapidjson-73063f5002612c6bf64fe24f851cd5cc0d83eef9.tar.gz
be77131814691dfbe65de3a2d3ea65de98c7169824997056637bbce39485327ff0f64e7eed8588237615948824e1f9dff1d083472b8cbccd3748a52379411e4e libretro-ppsspp-spirv-cross-9acb9ec31f5a8ef80ea6b994bb77be787b08d3d1.tar.gz
bce348cba279e746b77d3e75bddbdbdbbdb6643385e7a5f9d3f1dcb22a1fd7708acf16cc5e7acc8756e9ab9da9caeaef1a140d245df141acb23c07f9c23080e8 patch-unbundle.patch
-859901bd42934b52f82c28c1f5f3b43277f54d79d58c035c063e615de3a5959a373ef8d9c0199ed1326bbd64b7b12f4582957851d57d2dd66b5ba8488bbb8734 patch-disable-git-version.patch"
+859901bd42934b52f82c28c1f5f3b43277f54d79d58c035c063e615de3a5959a373ef8d9c0199ed1326bbd64b7b12f4582957851d57d2dd66b5ba8488bbb8734 patch-disable-git-version.patch
+ace2abbfe6757f51e9839f179c3d9ce74c14e5b0214f7928aec1de3fd80bb54ffe114d9dfbc061716626841a9a721e1204de4f0d419e280f05f473d7214ff3b1 gcc12.patch
+a744b901dfb86e5b4dd9e7447323649452cf9797050567ab262a6d670cdae20dabb62a582fbbcfb2afed9648314a04b6015257c3b0abb0afb9357e000553d77a gcc13.patch
+"
diff --git a/testing/libretro-ppsspp/gcc12.patch b/testing/libretro-ppsspp/gcc12.patch
new file mode 100644
index 00000000000..9d6b73a155d
--- /dev/null
+++ b/testing/libretro-ppsspp/gcc12.patch
@@ -0,0 +1,12 @@
+diff --git a/Core/HW/Camera.h b/Core/HW/Camera.h
+index c232909..ec58952 100644
+--- a/Core/HW/Camera.h
++++ b/Core/HW/Camera.h
+@@ -20,6 +20,7 @@
+ #include "ppsspp_config.h"
+ #include "Core/HLE/sceUsbCam.h"
+ #include "Log.h"
++#include <pthread.h>
+
+ #include "ext/jpge/jpgd.h"
+ #include "ext/jpge/jpge.h"
diff --git a/testing/libretro-ppsspp/gcc13.patch b/testing/libretro-ppsspp/gcc13.patch
new file mode 100644
index 00000000000..cd49802e370
--- /dev/null
+++ b/testing/libretro-ppsspp/gcc13.patch
@@ -0,0 +1,71 @@
+diff --git a/Common/Data/Format/IniFile.h b/Common/Data/Format/IniFile.h
+index 6499562..a0b6ef2 100644
+--- a/Common/Data/Format/IniFile.h
++++ b/Common/Data/Format/IniFile.h
+@@ -4,6 +4,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <istream>
+ #include <map>
+ #include <string>
+diff --git a/Common/GPU/OpenGL/GLFeatures.h b/Common/GPU/OpenGL/GLFeatures.h
+index 6a8f15b..63ff9c0 100644
+--- a/Common/GPU/OpenGL/GLFeatures.h
++++ b/Common/GPU/OpenGL/GLFeatures.h
+@@ -4,6 +4,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+
+ // TODO: Replace with thin3d's vendor enum.
+diff --git a/Common/Net/NetBuffer.h b/Common/Net/NetBuffer.h
+index 6247aca..19f24b3 100644
+--- a/Common/Net/NetBuffer.h
++++ b/Common/Net/NetBuffer.h
+@@ -1,5 +1,6 @@
+ #pragma once
+
++#include <cstdint>
+ #include "Common/Buffer.h"
+
+ namespace net {
+diff --git a/Common/StringUtils.h b/Common/StringUtils.h
+index 89127be..de8c360 100644
+--- a/Common/StringUtils.h
++++ b/Common/StringUtils.h
+@@ -19,6 +19,7 @@
+
+ #include "Common.h"
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+diff --git a/Core/Reporting.h b/Core/Reporting.h
+index a1b04ab..77e5847 100644
+--- a/Core/Reporting.h
++++ b/Core/Reporting.h
+@@ -17,6 +17,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+
+diff --git a/GPU/Common/IndexGenerator.cpp b/GPU/Common/IndexGenerator.cpp
+index 446d7a6..f3fb34c 100644
+--- a/GPU/Common/IndexGenerator.cpp
++++ b/GPU/Common/IndexGenerator.cpp
+@@ -17,6 +17,7 @@
+
+ #include <cstring>
+
++#include <cstdint>
+ #include "ppsspp_config.h"
+ #include "CPUDetect.h"
+ #include "Common.h"
diff --git a/testing/libretro-snes9x/APKBUILD b/testing/libretro-snes9x/APKBUILD
index 2cbb3defeab..d47705a341b 100644
--- a/testing/libretro-snes9x/APKBUILD
+++ b/testing/libretro-snes9x/APKBUILD
@@ -1,13 +1,14 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-snes9x
-pkgver=0_git20210314
+pkgver=0_git20220414
pkgrel=0
-_commit="0655370850bc84d33acbc8a0ade8232853a195f3"
+_commit="bc65c09c280cb225084099385375d3b513a43455"
pkgdesc="Super Nintendo Entertainment System core for libretro"
url="https://github.com/libretro/snes9x"
arch="all"
license="custom"
+makedepends="zlib-dev"
source="$pkgname-$_commit.tar.gz::https://github.com/libretro/snes9x/archive/$_commit.tar.gz"
builddir="$srcdir/snes9x-$_commit"
options="!check" # No tests
@@ -20,4 +21,6 @@ package() {
install -Dm644 libretro/snes9x_libretro.so "$pkgdir"/usr/lib/libretro/snes9x_libretro.so
}
-sha512sums="34e2f85d8fb024d2e663ea26f3ac51ba95c5a2cab46cd215fabca9d967951e783083c013ba25c0af86f7d660875015645697146fecfceb3b9ca9933b95c082fe libretro-snes9x-0655370850bc84d33acbc8a0ade8232853a195f3.tar.gz"
+sha512sums="
+55f37de84659860e1c76da2fc63fb252ff99be17434b297a084f4c71a96b3cc152d427294a7feb6dab27da43d97836c102e60419e4685802bd83178857872db1 libretro-snes9x-bc65c09c280cb225084099385375d3b513a43455.tar.gz
+"
diff --git a/testing/libretro-theodore/APKBUILD b/testing/libretro-theodore/APKBUILD
index d073eccf275..2979411a87c 100644
--- a/testing/libretro-theodore/APKBUILD
+++ b/testing/libretro-theodore/APKBUILD
@@ -1,15 +1,14 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-theodore
-pkgver=0_git20200107
+pkgver=3.1
pkgrel=0
-_commit="49180a0b55b6b1a2d56f293a42e6e37186f56beb"
pkgdesc="Thomson TO8/TO8D/TO9/TO9+ emulation for libretro"
-url="https://github.com/libretro/theodore"
+url="https://github.com/Zlika/theodore"
arch="all"
license="GPL-3.0-only"
-source="$pkgname-$_commit.tar.gz::https://github.com/libretro/theodore/archive/$_commit.tar.gz"
-builddir="$srcdir/theodore-$_commit"
+source="https://github.com/Zlika/theodore/archive/v$pkgver/theodore-$pkgver.tar.gz"
+builddir="$srcdir/theodore-$pkgver"
options="!check" # No tests
build() {
@@ -20,4 +19,6 @@ package() {
install -Dm644 theodore_libretro.so "$pkgdir"/usr/lib/libretro/theodore_libretro.so
}
-sha512sums="a2e513507bcaeef2c63530e9753b915bef54d6f74de0bd9072ecc2b8a9949fad05d691f421922f611147f0985320a11eae7666d6f465de5673cfa6674de06db2 libretro-theodore-49180a0b55b6b1a2d56f293a42e6e37186f56beb.tar.gz"
+sha512sums="
+6c89d8d61d50cd3dd0e836603c4d3282fe391099df3833ce785d4dc932218ae3debc5fbac6ba5fe7d8eea38eb0c96c37a1296a52bfd17f734216e39c8499fd07 theodore-3.1.tar.gz
+"
diff --git a/testing/libretro-tyrquake/APKBUILD b/testing/libretro-tyrquake/APKBUILD
index 9436d45d42e..b76774a6dc3 100644
--- a/testing/libretro-tyrquake/APKBUILD
+++ b/testing/libretro-tyrquake/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-tyrquake
-pkgver=0_git20210410
+pkgver=0_git20220409
pkgrel=0
-_commit="f627174746989eaab940adc623b6a92a051c0c0b"
+_commit="c516c1fe4266e5f982703d509cc10ceb12167894"
pkgdesc="libretro port of Tyrquake (Quake 1 engine)"
url="https://github.com/libretro/tyrquake"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 tyrquake_libretro.so "$pkgdir"/usr/lib/libretro/tyrquake_libretro.so
}
-sha512sums="4e6cbf88fc75b66b8d4b1719cc5c2417bc65b78d21c39fc383c01977c52a2f269a620dd1164efe98b9bad6e1ee8e96f18352865822bb7f3c7c753267bceed80d libretro-tyrquake-f627174746989eaab940adc623b6a92a051c0c0b.tar.gz"
+sha512sums="
+3e4058a0c9e18a9905b7f22e347891265bce31aec9b72de4ee28348b75b0d6e312b2a6862d055074d543cf6a9c1c9474c5b69748f095b339a8c8b0b314eb5311 libretro-tyrquake-c516c1fe4266e5f982703d509cc10ceb12167894.tar.gz
+"
diff --git a/testing/libretro-xrick/APKBUILD b/testing/libretro-xrick/APKBUILD
index 0dbaad0a90d..e602cbae99f 100644
--- a/testing/libretro-xrick/APKBUILD
+++ b/testing/libretro-xrick/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=libretro-xrick
-pkgver=0_git20210311
+pkgver=0_git20220331
pkgrel=0
-_commit="63065483dde7bed6a6f83d2ba1c953ca52d46199"
+_commit="10d7318c374de3e0eb056e6c7e823c644a7ce078"
pkgdesc="Rick Dangerous implementation for libretro"
url="https://github.com/libretro/xrick-libretro"
arch="all"
@@ -20,4 +20,6 @@ package() {
install -Dm644 xrick_libretro.so "$pkgdir"/usr/lib/libretro/xrick_libretro.so
}
-sha512sums="7dbde8b636d8eb799eba823bf9f821ada28d7e73a13613ac72763d7f94127ce3cd6fe13e9569246b165afa2884ebeab91e5859d727a0715f04bd5c6c33911b0e libretro-xrick-63065483dde7bed6a6f83d2ba1c953ca52d46199.tar.gz"
+sha512sums="
+f717f88cc57b31d0d7968aeedaa56e1866539046e397dedade38a664af22948b9a698abba2117c56eb7c0f5e6d7299223e03ed93b76c0b2b124e962bc3238d40 libretro-xrick-10d7318c374de3e0eb056e6c7e823c644a7ce078.tar.gz
+"
diff --git a/testing/librewolf/APKBUILD b/testing/librewolf/APKBUILD
new file mode 100644
index 00000000000..32c172403ec
--- /dev/null
+++ b/testing/librewolf/APKBUILD
@@ -0,0 +1,752 @@
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Rasmus Thomsen <oss@cogitri.dev>
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Contributor: Sertonix <sertonix@posteo.net>
+# Maintainer: Sertonix <sertonix@posteo.net>
+_pkgname=Librewolf
+pkgname=librewolf
+pkgver=124.0.2_p1
+_releasedate=2024-04-03
+pkgrel=0
+pkgdesc="Community-maintained fork of Firefox, focused on privacy, security and freedom."
+url="https://librewolf.net/"
+# s390x blocked by lld
+# armhf: https://bugzilla.mozilla.org/show_bug.cgi?id=1680495
+# riscv64: vpx symbol is missing #15412
+arch="x86_64 armv7 aarch64 x86 ppc64le"
+license="GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only AND MPL-2.0"
+# ffmpeg 6 -> 112
+depends="
+ ffmpeg-libavcodec
+ mesa-egl
+ mesa-gl
+ pciutils-libs
+ "
+_llvmver=17
+makedepends="
+ alsa-lib-dev
+ automake
+ bsd-compat-headers
+ cargo
+ cbindgen
+ clang$_llvmver
+ clang$_llvmver-libclang
+ compiler-rt
+ dbus
+ dbus-glib-dev
+ gettext
+ gtk+3.0-dev
+ hunspell-dev
+ icu-dev
+ libevent-dev
+ libffi-dev
+ libjpeg-turbo-dev
+ libnotify-dev
+ libogg-dev
+ libtheora-dev
+ libtool
+ libvorbis-dev
+ libvpx-dev
+ libwebp-dev
+ libxcomposite-dev
+ libxt-dev
+ lld
+ llvm$_llvmver-dev
+ m4
+ mesa-dev
+ mesa-dri-gallium
+ nasm
+ nodejs
+ nspr-dev
+ nss-dev
+ patchelf
+ pciutils
+ pipewire-dev
+ pulseaudio-dev
+ py3-zstandard
+ python3
+ scudo-malloc
+ sed
+ wasi-sdk
+ wireless-tools-dev
+ xvfb-run
+ zip
+ "
+subpackages="$pkgname-intl"
+case "$CARCH" in
+riscv64) ;;
+*) subpackages="$subpackages $pkgname-dbg" ;;
+esac
+
+# The source has to change once the codeberg migration is done.
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/${pkgver/_p/-}/librewolf-${pkgver/_p/-}.source.tar.gz
+ disable-moz-stackwalk.patch
+ fix-fortify-system-wrappers.patch
+ fix-rust-target.patch
+ fix-webrtc-glibcisms.patch
+ force-can-use-pack-relative-relocs.patch
+ icu74.patch
+ lfs64.patch
+ no-ccache-stats.patch
+ ppc-musttail.patch
+ python-deps.patch
+ res_nquery.patch
+ rust-lto-thin.patch
+ riscv64-no-lto.patch
+ sandbox-fork.patch
+ sandbox-largefile.patch
+ sandbox-sched_setscheduler.patch
+ sqlite-ppc.patch
+
+ librewolf.desktop
+ distribution.ini
+ vendor-prefs.js
+ "
+# tests are hard to run
+options="!check"
+
+builddir="$srcdir"/$pkgname-${pkgver/_p/-}
+_mozappdir=/usr/lib/$pkgname
+
+# help our shared-object scanner to find the libs
+ldpath="$_mozappdir"
+sonameprefix="$pkgname:"
+
+# secfixes:
+# 103.0-r0:
+# - CVE-2022-2505
+# - CVE-2022-36314
+# - CVE-2022-36315
+# - CVE-2022-36316
+# - CVE-2022-36317
+# - CVE-2022-36318
+# - CVE-2022-36319
+# - CVE-2022-36320
+# 102.0-r0:
+# - CVE-2022-2200
+# - CVE-2022-34468
+# - CVE-2022-34469
+# - CVE-2022-34470
+# - CVE-2022-34471
+# - CVE-2022-34472
+# - CVE-2022-34473
+# - CVE-2022-34474
+# - CVE-2022-34475
+# - CVE-2022-34476
+# - CVE-2022-34477
+# - CVE-2022-34478
+# - CVE-2022-34479
+# - CVE-2022-34480
+# - CVE-2022-34481
+# - CVE-2022-34482
+# - CVE-2022-34483
+# - CVE-2022-34484
+# - CVE-2022-34485
+# 101.0-r0:
+# - CVE-2022-1919
+# - CVE-2022-31736
+# - CVE-2022-31737
+# - CVE-2022-31738
+# - CVE-2022-31739
+# - CVE-2022-31740
+# - CVE-2022-31741
+# - CVE-2022-31742
+# - CVE-2022-31743
+# - CVE-2022-31744
+# - CVE-2022-31745
+# - CVE-2022-31747
+# - CVE-2022-31748
+# 100.0.2-r0:
+# - CVE-2022-1529
+# - CVE-2022-1802
+# 100.0-r0:
+# - CVE-2022-29909
+# - CVE-2022-29910
+# - CVE-2022-29911
+# - CVE-2022-29912
+# - CVE-2022-29914
+# - CVE-2022-29915
+# - CVE-2022-29916
+# - CVE-2022-29917
+# - CVE-2022-29918
+# 99.0-r0:
+# - CVE-2022-1097
+# - CVE-2022-24713
+# - CVE-2022-28281
+# - CVE-2022-28282
+# - CVE-2022-28283
+# - CVE-2022-28284
+# - CVE-2022-28285
+# - CVE-2022-28286
+# - CVE-2022-28287
+# - CVE-2022-28288
+# - CVE-2022-28289
+# 98.0-r0:
+# - CVE-2022-0843
+# - CVE-2022-26381
+# - CVE-2022-26382
+# - CVE-2022-26383
+# - CVE-2022-26384
+# - CVE-2022-26385
+# - CVE-2022-26387
+# 97.0.2-r0:
+# - CVE-2022-26485
+# - CVE-2022-26486
+# 97.0-r0:
+# - CVE-2021-4140
+# - CVE-2022-0511
+# - CVE-2022-22736
+# - CVE-2022-22737
+# - CVE-2022-22738
+# - CVE-2022-22739
+# - CVE-2022-22740
+# - CVE-2022-22741
+# - CVE-2022-22742
+# - CVE-2022-22743
+# - CVE-2022-22744
+# - CVE-2022-22745
+# - CVE-2022-22746
+# - CVE-2022-22747
+# - CVE-2022-22748
+# - CVE-2022-22749
+# - CVE-2022-22750
+# - CVE-2022-22751
+# - CVE-2022-22752
+# - CVE-2022-22753
+# - CVE-2022-22754
+# - CVE-2022-22755
+# - CVE-2022-22756
+# - CVE-2022-22757
+# - CVE-2022-22758
+# - CVE-2022-22759
+# - CVE-2022-22760
+# - CVE-2022-22761
+# - CVE-2022-22762
+# - CVE-2022-22764
+# 95.0-r0:
+# - CVE-2021-43536
+# - CVE-2021-43537
+# - CVE-2021-43538
+# - CVE-2021-43539
+# - CVE-2021-43540
+# - CVE-2021-43541
+# - CVE-2021-43542
+# - CVE-2021-43543
+# - CVE-2021-43544
+# - CVE-2021-43545
+# - CVE-2021-43546
+# 94.0-r0:
+# - CVE-2021-38503
+# - CVE-2021-38504
+# - CVE-2021-38505
+# - CVE-2021-38506
+# - CVE-2021-38507
+# - CVE-2021-38508
+# - CVE-2021-38509
+# - CVE-2021-38510
+# 93.0-r0:
+# - CVE-2021-32810
+# - CVE-2021-38496
+# - CVE-2021-38497
+# - CVE-2021-38498
+# - CVE-2021-38499
+# - CVE-2021-38500
+# - CVE-2021-38501
+# 92.0.1-r0:
+# - CVE-2021-29980
+# - CVE-2021-29981
+# - CVE-2021-29982
+# - CVE-2021-29983
+# - CVE-2021-29984
+# - CVE-2021-29985
+# - CVE-2021-29986
+# - CVE-2021-29987
+# - CVE-2021-29988
+# - CVE-2021-29989
+# - CVE-2021-29990
+# - CVE-2021-29991
+# - CVE-2021-29993
+# - CVE-2021-38491
+# - CVE-2021-38492
+# - CVE-2021-38493
+# - CVE-2021-38494
+# 90.0-r0:
+# - CVE-2021-29970
+# - CVE-2021-29972
+# - CVE-2021-29974
+# - CVE-2021-29975
+# - CVE-2021-29976
+# - CVE-2021-29977
+# - CVE-2021-30547
+# 89.0-r0:
+# - CVE-2021-29959
+# - CVE-2021-29960
+# - CVE-2021-29961
+# - CVE-2021-29962
+# - CVE-2021-29963
+# - CVE-2021-29965
+# - CVE-2021-29966
+# - CVE-2021-29967
+# 88.0.1-r0:
+# - CVE-2021-29952
+# 88.0-r0:
+# - CVE-2021-23994
+# - CVE-2021-23995
+# - CVE-2021-23996
+# - CVE-2021-23997
+# - CVE-2021-23998
+# - CVE-2021-23999
+# - CVE-2021-24000
+# - CVE-2021-24001
+# - CVE-2021-24002
+# - CVE-2021-29944
+# - CVE-2021-29945
+# - CVE-2021-29946
+# - CVE-2021-29947
+# 87.0-r0:
+# - CVE-2021-23968
+# - CVE-2021-23969
+# - CVE-2021-23970
+# - CVE-2021-23971
+# - CVE-2021-23972
+# - CVE-2021-23973
+# - CVE-2021-23974
+# - CVE-2021-23975
+# - CVE-2021-23976
+# - CVE-2021-23977
+# - CVE-2021-23978
+# - CVE-2021-23979
+# - CVE-2021-23981
+# - CVE-2021-23982
+# - CVE-2021-23983
+# - CVE-2021-23984
+# - CVE-2021-23985
+# - CVE-2021-23986
+# - CVE-2021-23987
+# - CVE-2021-23988
+# 85.0-r0:
+# - CVE-2021-23954
+# - CVE-2021-23955
+# - CVE-2021-23956
+# - CVE-2021-23957
+# - CVE-2021-23958
+# - CVE-2021-23959
+# - CVE-2021-23960
+# - CVE-2021-23961
+# - CVE-2021-23962
+# - CVE-2021-23963
+# - CVE-2021-23964
+# - CVE-2021-23965
+# 84.0.2-r0:
+# - CVE-2020-16044
+# 84.0.1-r0:
+# - CVE-2020-16042
+# - CVE-2020-26971
+# - CVE-2020-26972
+# - CVE-2020-26973
+# - CVE-2020-26974
+# - CVE-2020-26975
+# - CVE-2020-26976
+# - CVE-2020-26977
+# - CVE-2020-26978
+# - CVE-2020-26979
+# - CVE-2020-35111
+# - CVE-2020-35112
+# - CVE-2020-35113
+# - CVE-2020-35114
+# 83.0-r0:
+# - CVE-2020-15999
+# - CVE-2020-16012
+# - CVE-2020-26952
+# - CVE-2020-26953
+# - CVE-2020-26954
+# - CVE-2020-26955
+# - CVE-2020-26956
+# - CVE-2020-26957
+# - CVE-2020-26958
+# - CVE-2020-26959
+# - CVE-2020-26960
+# - CVE-2020-26961
+# - CVE-2020-26962
+# - CVE-2020-26963
+# - CVE-2020-26964
+# - CVE-2020-26965
+# - CVE-2020-26966
+# - CVE-2020-26967
+# - CVE-2020-26968
+# - CVE-2020-26969
+# 82.0.3-r0:
+# - CVE-2020-26950
+# 82.0-r0:
+# - CVE-2020-15254
+# - CVE-2020-15680
+# - CVE-2020-15681
+# - CVE-2020-15682
+# - CVE-2020-15683
+# - CVE-2020-15684
+# - CVE-2020-15969
+# 81.0-r0:
+# - CVE-2020-15673
+# - CVE-2020-15674
+# - CVE-2020-15675
+# - CVE-2020-15676
+# - CVE-2020-15677
+# - CVE-2020-15678
+# 80.0-r0:
+# - CVE-2020-6829
+# - CVE-2020-12400
+# - CVE-2020-12401
+# - CVE-2020-15663
+# - CVE-2020-15664
+# - CVE-2020-15665
+# - CVE-2020-15666
+# - CVE-2020-15667
+# - CVE-2020-15668
+# - CVE-2020-15670
+# 79.0-r0:
+# - CVE-2020-6463
+# - CVE-2020-6514
+# - CVE-2020-15652
+# - CVE-2020-15653
+# - CVE-2020-15654
+# - CVE-2020-15655
+# - CVE-2020-15656
+# - CVE-2020-15657
+# - CVE-2020-15658
+# - CVE-2020-15659
+# 78.0-r0:
+# - CVE-2020-12415
+# - CVE-2020-12416
+# - CVE-2020-12417
+# - CVE-2020-12418
+# - CVE-2020-12419
+# - CVE-2020-12420
+# - CVE-2020-12402
+# - CVE-2020-12421
+# - CVE-2020-12422
+# - CVE-2020-12423
+# - CVE-2020-12424
+# - CVE-2020-12425
+# - CVE-2020-12426
+# 77.0-r0:
+# - CVE-2020-12399
+# - CVE-2020-12405
+# - CVE-2020-12406
+# - CVE-2020-12407
+# - CVE-2020-12408
+# - CVE-2020-12409
+# - CVE-2020-12411
+# 76.0-r0:
+# - CVE-2020-6831
+# - CVE-2020-12387
+# - CVE-2020-12388
+# - CVE-2020-12389
+# - CVE-2020-12390
+# - CVE-2020-12391
+# - CVE-2020-12392
+# - CVE-2020-12393
+# - CVE-2020-12394
+# - CVE-2020-12395
+# - CVE-2020-12396
+# 75.0-r0:
+# - CVE-2020-6821
+# - CVE-2020-6822
+# - CVE-2020-6823
+# - CVE-2020-6824
+# - CVE-2020-6825
+# - CVE-2020-6826
+# 74.0.1-r0:
+# - CVE-2020-6819
+# - CVE-2020-6820
+# 74.0-r0:
+# - CVE-2020-6805
+# - CVE-2020-6806
+# - CVE-2020-6807
+# - CVE-2020-6808
+# - CVE-2020-6809
+# - CVE-2020-6810
+# - CVE-2020-6811
+# - CVE-2019-20503
+# - CVE-2020-6812
+# - CVE-2020-6813
+# - CVE-2020-6814
+# - CVE-2020-6815
+# 71.0.1-r0:
+# - CVE-2019-17016
+# - CVE-2019-17017
+# - CVE-2019-17020
+# - CVE-2019-17022
+# - CVE-2019-17023
+# - CVE-2019-17024
+# - CVE-2019-17025
+# - CVE-2019-17026
+# 70.0-r0:
+# - CVE-2018-6156
+# - CVE-2019-15903
+# - CVE-2019-11757
+# - CVE-2019-11759
+# - CVE-2019-11760
+# - CVE-2019-11761
+# - CVE-2019-11762
+# - CVE-2019-11763
+# - CVE-2019-11764
+# - CVE-2019-11765
+# - CVE-2019-17000
+# - CVE-2019-17001
+# - CVE-2019-17002
+# 68.0.2-r0:
+# - CVE-2019-11733
+
+# we need this because cargo verifies checksums of all files in vendor
+# crates when it builds and gives us no way to override or update the
+# file sanely... so just clear out the file list
+_clear_vendor_checksums() {
+ sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json
+}
+
+prepare() {
+ default_prepare
+
+ export CFLAGS="${CFLAGS/-fstack-clash-protection/} -g0 -O2"
+ export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection/} -g0 -O2 -Wno-deprecated-builtins -Wno-deprecated-declarations"
+
+ _clear_vendor_checksums audio_thread_priority
+
+ cat > base-mozconfig <<-EOF
+ ac_add_options --with-app-name=$pkgname
+ export MOZ_APP_REMOTINGNAME=$_pkgname
+ ac_add_options --with-branding=browser/branding/librewolf
+
+ # disable unwanted things
+ ac_add_options --disable-bootstrap
+ ac_add_options --disable-cargo-incremental
+ ac_add_options --disable-crashreporter
+ ac_add_options --disable-debug
+ ac_add_options --disable-debug-symbols
+ ac_add_options --disable-install-strip
+ ac_add_options --disable-jemalloc
+ ac_add_options --disable-strip
+ ac_add_options --disable-tests
+ ac_add_options --disable-updater
+ mk_add_options MOZ_CRASHREPORTER=0
+ mk_add_options MOZ_DATA_REPORTING=0
+ mk_add_options MOZ_SERVICES_HEALTHREPORT=0
+ mk_add_options MOZ_TELEMETRY_REPORTING=0
+
+ # features
+ ac_add_options --enable-alsa
+ ac_add_options --enable-dbus
+ ac_add_options --enable-default-toolkit=cairo-gtk3-wayland
+ ac_add_options --enable-ffmpeg
+ ac_add_options --enable-hardening
+ ac_add_options --enable-linker=lld
+ ac_add_options --enable-necko-wifi
+ ac_add_options --enable-optimize="$CFLAGS"
+ ac_add_options --enable-pulseaudio
+ ac_add_options --enable-release
+ ac_add_options --enable-update-channel=release
+
+ # system libs
+ ac_add_options --enable-system-pixman
+ ac_add_options --with-system-ffi
+ ac_add_options --with-system-icu
+ ac_add_options --with-system-jpeg
+ ac_add_options --with-system-libevent
+ ac_add_options --with-system-libvpx
+ ac_add_options --with-system-nspr
+ ac_add_options --with-system-nss
+ ac_add_options --with-system-png
+ ac_add_options --with-system-webp
+ ac_add_options --with-system-zlib
+
+ # misc
+ ac_add_options --allow-addon-sideload
+ ac_add_options --prefix=/usr
+ ac_add_options --with-distribution-id=org.alpinelinux
+ ac_add_options --with-libclang-path=/usr/lib
+ ac_add_options --with-unsigned-addon-scopes=app,system
+ ac_add_options --with-wasi-sysroot=/usr/share/wasi-sysroot
+ ac_add_options --host=$CHOST
+ ac_add_options --target=$CTARGET
+
+ # objdir
+ mk_add_options MOZ_OBJDIR="$builddir/obj"
+
+ mk_add_options RUSTFLAGS="$RUSTFLAGS"
+ EOF
+}
+
+build() {
+ export MOZ_BUILD_DATE="$(date ${SOURCE_DATE_EPOCH:+ -d@${SOURCE_DATE_EPOCH}} "+%Y%m%d%H%M%S")"
+
+ # for lto
+ ulimit -n 4096
+
+ # can't be set here and fail
+ unset RUSTFLAGS
+
+ local thinlto_jobs=${JOBS:-1}
+ local link_threads=${JOBS:-1}
+
+ case "$CARCH" in
+ # on this platform, lld seems to not utilise >1 threads for thinlto for some reason.
+ # at the same time, having more than 8 also crashes lld for librewolf buildsystems (why?).
+ aarch64)
+ if [ $thinlto_jobs -gt 8 ]; then
+ thinlto_jobs=8
+ fi
+ ;;
+ esac
+
+ case "$CARCH" in
+ arm*|x86)
+ link_threads=1
+ ;;
+ esac
+
+ export LDFLAGS="$LDFLAGS -Wl,--thinlto-jobs=$thinlto_jobs -Wl,--threads=$link_threads"
+
+ export SHELL=/bin/sh
+ export USE_SHORT_LIBNAME=1
+ export MACH_BUILD_PYTHON_NATIVE_PACKAGE_SOURCE=system
+ export MOZBUILD_STATE_PATH="$srcdir"/mozbuild
+ # disable desktop notifications
+ export MOZ_NOSPAM=1
+ # Find our triplet JSON
+ export RUST_TARGET="$CTARGET"
+
+ # has to be same version or older than lld
+ export CC="clang-$_llvmver"
+ export CXX="clang++-$_llvmver"
+
+ # set rpath so linker finds the libs
+ export LDFLAGS="$LDFLAGS -Wl,-rpath,$_mozappdir"
+
+ # let librewolf do this itself.
+ unset CARGO_PROFILE_RELEASE_OPT_LEVEL
+ unset CARGO_PROFILE_RELEASE_LTO
+
+ case "$CARCH" in
+ aarch64|x86_64|ppc64le)
+ msg "building instrumented $pkgname"
+ cat > mozconfig base-mozconfig - <<-EOF
+ ac_add_options --enable-profile-generate=cross
+ EOF
+ ./mach build
+ ./mach package
+
+ msg "profiling $pkgname"
+
+ LLVM_PROFDATA=llvm-profdata \
+ JARLOG_FILE="$PWD"/jarlog \
+ GDK_BACKEND=x11 \
+ LD_LIBRARY_PATH="$PWD"/obj/dist/$pkgname \
+ XDG_RUNTIME_DIR="$(mktemp -d "$builddir/pgo-runtime-XXXXXX")" \
+ MOZ_ENABLE_WAYLAND=0 \
+ xvfb-run -a -s "-screen 0 1920x1080x24 -nolisten local" \
+ dbus-run-session -- \
+ ./mach python build/pgo/profileserver.py
+
+ test -s merged.profdata
+ test -s jarlog
+
+ ./mach clobber
+
+ msg "building optimised $pkgname"
+ cat > mozconfig base-mozconfig - <<-EOF
+ ac_add_options --enable-lto=cross
+ ac_add_options --enable-profile-use=cross
+ ac_add_options --with-pgo-profile-path="$PWD"/merged.profdata
+ ac_add_options --with-pgo-jarlog="$PWD"/jarlog
+ EOF
+ ./mach build
+ ;;
+ armv7|x86|riscv64)
+ # no pgo here as it uses too much memory/broken on riscv
+ msg "building regular $pkgname"
+ cat > mozconfig base-mozconfig - <<-EOF
+ ac_add_options --disable-profiling
+ EOF
+ ./mach build
+ ;;
+ *)
+ msg "implement build for $CARCH"
+ exit 1
+ esac
+}
+
+package() {
+ DESTDIR="$pkgdir" ./mach install
+
+ local _png
+ for _png in ./browser/branding/librewolf/default*.png; do
+ local i=${_png%.png}
+ i=${i##*/default}
+ install -d "$pkgdir"/usr/share/icons/hicolor/"$i"x"$i"/apps/
+ ln -s "$_mozappdir"/browser/chrome/icons/default/default"$i".png \
+ "$pkgdir"/usr/share/icons/hicolor/"$i"x"$i"/apps/$pkgname.png
+ done
+
+ case "$CARCH" in
+ x86|arm*) ;;
+ *) patchelf --add-needed libscudo.so "$pkgdir"/usr/lib/$pkgname/$pkgname ;;
+ esac
+
+ install -Dm644 browser/branding/librewolf/content/about-logo.png \
+ "$pkgdir"/usr/share/icons/hicolor/192x192/apps/$pkgname.png
+ install -Dm644 browser/branding/librewolf/content/about-logo@2x.png \
+ "$pkgdir"/usr/share/icons/hicolor/384x384/apps/$pkgname.png
+ install -Dm644 browser/branding/librewolf/content/about-logo.svg \
+ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/$pkgname.svg
+
+ install -Dm644 "$srcdir"/librewolf.desktop \
+ "$pkgdir"/usr/share/applications/$pkgname.desktop
+
+ install -Dm644 "$srcdir"/distribution.ini \
+ "$pkgdir"/$_mozappdir/distribution/distribution.ini
+
+ # install our vendor prefs
+ install -Dm644 "$srcdir"/vendor-prefs.js \
+ "$pkgdir"/$_mozappdir/browser/defaults/preferences/vendor.js
+
+ # Replace duplicate binary with wrapper
+ # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
+ install -Dm755 /dev/stdin "$pkgdir"/usr/bin/$pkgname <<- EOF
+ #!/bin/sh
+ exec $_mozappdir/$pkgname "\$@"
+ EOF
+ rm "$pkgdir"/$_mozappdir/$pkgname-bin
+ ln -sfv /usr/bin/$pkgname "$pkgdir"/$_mozappdir/$pkgname-bin
+}
+
+intl() {
+ pkgdesc="$pkgname - International ICU data"
+ depends="icu-data-full"
+ install_if="$pkgname=$pkgver-r$pkgrel icu"
+ mkdir -p "$subpkgdir"
+}
+
+sha512sums="
+117106622d8f342a80d56619720b9ccdc20c04f1d3758cfb7fa1b24416f2f9e86182176ca96e8bf78dfa19272edbbca15846978f96daef747e25f619bc8a3266 librewolf-124.0.2_p1.tar.gz
+eb49b791280a8d765e6b056816ad6d7ec20a3b13723ebe648a8ecd2c086a5bc83277a3b4c127a470e7bb7105cfa4ed7611c19ac683545140190cafaa880ad515 disable-moz-stackwalk.patch
+19eea840aa9c1c21e7bd1f832ec078989fe6f08fca40baa271be7e74f1cffeb5ab8d3218a93e664b8d90a41506dede524e2a5174cd47580866109bc6711ea969 fix-fortify-system-wrappers.patch
+cd68b89e29e5f6379fbd5679db27b9a5ef70ea65e51c0d0a8137e1f1fd210e35a8cfb047798e9549bc7275606d7ec5c8d8af1335d29da4699db7acd8bc7ff556 fix-rust-target.patch
+305c874fdea3096e9c4c6aa6520ac64bb1c347c4b59db8360096646593fe684c3b5377874d91cecd33d56d1410b4714fbdea2b514923723ecbeff79d51265d9b fix-webrtc-glibcisms.patch
+b7a2beef126569d71242198f2503bb6a32acd1ea89080ef7bed6ba0f0d10819282c2c346c6f729d81cd90e328e607b88acaac8785ed057cc8cb562e315890334 force-can-use-pack-relative-relocs.patch
+0f6c1f4b32b2f501c03db14b67a94419acf1ac58a5ea9efeacd47dc85d73194e479efcf056949c74a0ef9deebc2ba178564bec45dba871fabfc5c909123e003d icu74.patch
+5fa9382c692e4bd6a2634308f24a6526fd12a60a2563d2090056d43a60505df3ec9881bbf54562e69394467529b3b0dc45955afca46ed329af03cea074fff070 lfs64.patch
+c0437a6753f3f350968fa12d250efdfe1bea77baf0e4c06b072b5cc9e78c774dbf4506bc536337030d349fb3ba4460097b75b0c7c5b8fb2d39d8b0a392948936 no-ccache-stats.patch
+2d8dff86212d6d2a904cbb5a5a1d6c17b89adc929fc6a3f4c6cb669f5e83ecddff5a799225319ba445a187b04d111251af75dd3ce8a039164bc14d2a432a2a04 ppc-musttail.patch
+4de65266f5fc1c5bf1d7cd00a0e4728a1ec96b7680b5ea72d6e9ed463b7a0bba11792b3411d25ef1e26f62408eb7f8b06dc62209dbb0454c779d8858d8d59725 python-deps.patch
+f635243e587b5be2c82e96d8ad11e93f99e3130765e4b9e329ff7424f685d8f7bf385de66ca2698084e95da422d55192053a45412e75915423b327f2415f581d res_nquery.patch
+1c6918dd6655d3a1251bfd4af2e1c561cbb00d540a883b4c1ebf7f5de530d754d9ac07b4b5f56cdab6c511d25c8910ec94043f5733e97501a67abffe1bafaeb1 rust-lto-thin.patch
+b12dbff6513ac8c231d91c257a9accecc034d9ea9c31d99ca0454334ccf80fe7b50d6a356182dc46a9f25064366ea9a177f463cb2544b1cf5368ee6bd71bc095 riscv64-no-lto.patch
+2518f2fc75b5db30058e0735f47d60fdf1e7adfaeee4b33fb2afb1bd9a616ce943fd88f4404d0802d4083703f4acf1d5ad42377218d025bc768807fbaf7e1609 sandbox-fork.patch
+b7d0a6126bdf6c0569f80aabf5b37ed2c7a35712eb8a0404a2d85381552f5555d4f97d213ea26cec6a45dc2785f22439376ed5f8e78b4fd664ef0223307b333e sandbox-largefile.patch
+f8c3555ef6207933cbffbf4fc101a9b4c0d2990c0063162f0f0bde70ef0b46f86bfac42e7110695183424a87948de593f3927b2d8509ede3e4fc7bd8a1fad1ce sandbox-sched_setscheduler.patch
+67bc0be3da973e6859256bf9be4df7100837430e6076fc0bd623f504c35e02e6c191e9c5a3a1d202e5ad4d89f874f254a09e164e39c7bfd97bbc8d4c8d0632a5 sqlite-ppc.patch
+73e9c51977d1a675c38fafeaa7478499d002d0dbfc8741ed7d9810ac39fb190870bd3295b86f7c9f7e8191f0fda7b7d6454d0a4cc1d7c61f3810a4d3a165180f librewolf.desktop
+b6ceaf541ecb16a91398e1f629c7479e37c42c467e78980895ade8fe16feeb307ead50c839bac72f18bf74b7be46382c431a1361b3194cf3dffc6d58d67f82e5 distribution.ini
+bd20f3a9606890d239b9a7fb66f75c7aa860622005613186e3dda8804fd9d8a89a00ace19b34c198e6bb5620b1c5ae36edc82a2edf437251df2dcbca67180ce7 vendor-prefs.js
+"
diff --git a/testing/librewolf/disable-moz-stackwalk.patch b/testing/librewolf/disable-moz-stackwalk.patch
new file mode 100644
index 00000000000..54990d799fc
--- /dev/null
+++ b/testing/librewolf/disable-moz-stackwalk.patch
@@ -0,0 +1,28 @@
+upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1882329
+diff --git a/mozglue/misc/StackWalk.cpp b/mozglue/misc/StackWalk.cpp
+index 2fefc5b..57c56e6 100644
+--- a/mozglue/misc/StackWalk.cpp
++++ b/mozglue/misc/StackWalk.cpp
+@@ -46,5 +46,12 @@ using namespace mozilla;
+
++#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
++# define HAVE___LIBC_STACK_END 1
++#else
++# define HAVE___LIBC_STACK_END 0
++#endif
++
+ #if (defined(linux) && \
+ ((defined(__GNUC__) && (defined(__i386) || defined(PPC))) || \
+- defined(HAVE__UNWIND_BACKTRACE)))
++ defined(HAVE__UNWIND_BACKTRACE)) && \
++ (HAVE___LIBC_STACK_END || ANDROID))
+ # define MOZ_STACKWALK_SUPPORTS_LINUX 1
+@@ -54,8 +61,2 @@ using namespace mozilla;
+
+-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
+-# define HAVE___LIBC_STACK_END 1
+-#else
+-# define HAVE___LIBC_STACK_END 0
+-#endif
+-
+ #if HAVE___LIBC_STACK_END
diff --git a/testing/librewolf/distribution.ini b/testing/librewolf/distribution.ini
new file mode 100644
index 00000000000..89237980d8e
--- /dev/null
+++ b/testing/librewolf/distribution.ini
@@ -0,0 +1,9 @@
+[Global]
+id=alpinelinux
+version=1.0
+about=Librewolf
+
+[Preferences]
+app.distributor=alpinelinux
+app.distributor.channel=librewolf
+app.partner.librewolf=librewolf
diff --git a/testing/librewolf/fix-fortify-system-wrappers.patch b/testing/librewolf/fix-fortify-system-wrappers.patch
new file mode 100644
index 00000000000..a1a89c6520b
--- /dev/null
+++ b/testing/librewolf/fix-fortify-system-wrappers.patch
@@ -0,0 +1,11 @@
+The wrapper features.h gets pulled in by system headers causing thigns to
+break. We work around it by simply not wrap features.h
+
+diff --git a/config/system-headers.mozbuild b/config/system-headers.mozbuild
+index 07d48e7..d2ce2b2 100644
+--- a/config/system-headers.mozbuild
++++ b/config/system-headers.mozbuild
+@@ -227,3 +227,2 @@ system_headers = [
+ "fcntl.h",
+- "features.h",
+ "fenv.h",
diff --git a/testing/librewolf/fix-rust-target.patch b/testing/librewolf/fix-rust-target.patch
new file mode 100644
index 00000000000..9342063c33a
--- /dev/null
+++ b/testing/librewolf/fix-rust-target.patch
@@ -0,0 +1,31 @@
+Allow us to just set RUST_TARGEt ourselves instead of hacking around in mozilla's
+weird custom build system...
+
+--- a/build/moz.configure/rust.configure
++++ b/build/moz.configure/rust.configure
+@@ -225,7 +225,9 @@
+ data.setdefault(key, []).append(namespace(rust_target=t, target=info))
+ return data
+
+-
++@imports('os')
++@imports(_from='mozbuild.util', _import='ensure_unicode')
++@imports(_from='mozbuild.util', _import='system_encoding')
+ def detect_rustc_target(
+ host_or_target, compiler_info, arm_target, rust_supported_targets
+ ):
+@@ -340,13 +342,13 @@
+
+ return None
+
+- rustc_target = find_candidate(candidates)
++ rustc_target = os.environ['RUST_TARGET']
+
+ if rustc_target is None:
+ die("Don't know how to translate {} for rustc".format(host_or_target.alias))
+
+- return rustc_target
++ return ensure_unicode(rustc_target, system_encoding)
+
+
+ @imports('os')
diff --git a/testing/librewolf/fix-webrtc-glibcisms.patch b/testing/librewolf/fix-webrtc-glibcisms.patch
new file mode 100644
index 00000000000..4f9043b58e1
--- /dev/null
+++ b/testing/librewolf/fix-webrtc-glibcisms.patch
@@ -0,0 +1,20 @@
+--- a/third_party/libwebrtc/system_wrappers/source/cpu_features_linux.cc
++++ b/third_party/libwebrtc/system_wrappers/source/cpu_features_linux.cc
+@@ -18,7 +18,7 @@
+ #define WEBRTC_GLIBC_PREREQ(a, b) 0
+ #endif
+
+-#if WEBRTC_GLIBC_PREREQ(2, 16)
++#if !__GLIBC__ || WEBRTC_GLIBC_PREREQ(2, 16)
+ #include <sys/auxv.h>
+ #else
+ #include <errno.h>
+@@ -40,7 +40,7 @@
+ int architecture = 0;
+ uint64_t hwcap = 0;
+ const char* platform = NULL;
+-#if WEBRTC_GLIBC_PREREQ(2, 16)
++#if !__GLIBC__ || WEBRTC_GLIBC_PREREQ(2, 16)
+ hwcap = getauxval(AT_HWCAP);
+ platform = (const char*)getauxval(AT_PLATFORM);
+ #else
diff --git a/testing/librewolf/force-can-use-pack-relative-relocs.patch b/testing/librewolf/force-can-use-pack-relative-relocs.patch
new file mode 100644
index 00000000000..b1161080d8d
--- /dev/null
+++ b/testing/librewolf/force-can-use-pack-relative-relocs.patch
@@ -0,0 +1,11 @@
+--- a/toolkit/moz.configure
++++ b/toolkit/moz.configure
+@@ -1517,7 +1517,7 @@ with only_when("--enable-compile-environ
+ # packed relative relocations rather than elfhack.
+ if android_version:
+ return android_version >= 30
+- return have_arc4random
++ return have_arc4random or True
+
+ @depends(
+ c_compiler,
diff --git a/testing/librewolf/icu74.patch b/testing/librewolf/icu74.patch
new file mode 100644
index 00000000000..1c2e3dbbcfb
--- /dev/null
+++ b/testing/librewolf/icu74.patch
@@ -0,0 +1,37 @@
+https://bugzilla.mozilla.org/show_bug.cgi?id=1862601
+
+# HG changeset patch
+# User André Bargull <andre.bargull@gmail.com>
+# Date 1697435923 -7200
+# Node ID d5f3b0c4f08a426ce00a153c04e177eecb6820e2
+# Parent c63994f8259efdf6e745c960aa9e1409d5477049
+Bug xxx - Part 12: Add new line break classes. r?
+
+diff --git a/intl/lwbrk/LineBreaker.cpp b/intl/lwbrk/LineBreaker.cpp
+--- a/intl/lwbrk/LineBreaker.cpp
++++ b/intl/lwbrk/LineBreaker.cpp
+@@ -443,17 +443,23 @@ static int8_t GetClass(uint32_t u, LineB
+ /* JT = 34, [JT] */ CLASS_CHARACTER,
+ /* JV = 35, [JV] */ CLASS_CHARACTER,
+ /* CLOSE_PARENTHESIS = 36, [CP] */ CLASS_CLOSE_LIKE_CHARACTER,
+ /* CONDITIONAL_JAPANESE_STARTER = 37, [CJ] */ CLASS_CLOSE,
+ /* HEBREW_LETTER = 38, [HL] */ CLASS_CHARACTER,
+ /* REGIONAL_INDICATOR = 39, [RI] */ CLASS_CHARACTER,
+ /* E_BASE = 40, [EB] */ CLASS_BREAKABLE,
+ /* E_MODIFIER = 41, [EM] */ CLASS_CHARACTER,
+- /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER};
++ /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER,
++ /* AKSARA = 43, [AK] */ CLASS_CHARACTER,
++ /* AKSARA_PREBASE = 44, [AP] */ CLASS_CHARACTER,
++ /* AKSARA_START = 45, [AS] */ CLASS_CHARACTER,
++ /* VIRAMA_FINAL = 46, [VF] */ CLASS_CHARACTER,
++ /* VIRAMA = 47, [VI] */ CLASS_CHARACTER,
++ };
+
+ static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass),
+ "Gecko vs ICU LineBreak class mismatch");
+
+ auto cls = GetLineBreakClass(u);
+ MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass));
+
+ // Overrides based on rules for the different line-break values given in
diff --git a/testing/librewolf/lfs64.patch b/testing/librewolf/lfs64.patch
new file mode 100644
index 00000000000..bae8b5d16d2
--- /dev/null
+++ b/testing/librewolf/lfs64.patch
@@ -0,0 +1,35 @@
+force stat() instead of stat64() on 32-bit
+--
+--- a/xpcom/io/nsLocalFileUnix.h
++++ b/xpcom/io/nsLocalFileUnix.h
+@@ -21,7 +21,7 @@
+
+ // stat64 and lstat64 are deprecated on OS X. Normal stat and lstat are
+ // 64-bit by default on OS X 10.6+.
+-#if defined(HAVE_STAT64) && defined(HAVE_LSTAT64) && !defined(XP_DARWIN)
++#if 0 && defined(HAVE_STAT64) && defined(HAVE_LSTAT64) && !defined(XP_DARWIN)
+ # if defined(AIX)
+ # if defined STAT
+ # undef STAT
+--- a/mozglue/baseprofiler/core/shared-libraries-linux.cc
++++ b/mozglue/baseprofiler/core/shared-libraries-linux.cc
+@@ -178,7 +178,7 @@
+ return false;
+ }
+
+-#if defined(__x86_64__) || defined(__aarch64__) || \
++#if 1 || defined(__x86_64__) || defined(__aarch64__) || \
+ (defined(__mips__) && _MIPS_SIM == _ABI64) || \
+ !(defined(GP_OS_linux) || defined(GP_OS_android))
+
+--- a/security/sandbox/linux/broker/SandboxBrokerUtils.h
++++ b/security/sandbox/linux/broker/SandboxBrokerUtils.h
+@@ -15,7 +15,7 @@
+ // calls. We'll intercept those and handle them in the stat functions
+ // but must be sure to use the right structure layout.
+
+-#if defined(__NR_stat64) || defined(__NR_fstatat64)
++#if 0 && (defined(__NR_stat64) || defined(__NR_fstatat64) )
+ typedef struct stat64 statstruct;
+ # define statsyscall stat64
+ # define lstatsyscall lstat64
diff --git a/testing/librewolf/librewolf.desktop b/testing/librewolf/librewolf.desktop
new file mode 100644
index 00000000000..aa22fd9dfac
--- /dev/null
+++ b/testing/librewolf/librewolf.desktop
@@ -0,0 +1,386 @@
+[Desktop Entry]
+Version=1.0
+Name=LibreWolf
+Name[ar]=متصÙØ­ الويب ÙَيَرÙÙكْس
+Name[ast]=Restolador web LibreWolf
+Name[bn]=ফায়ারফকà§à¦¸ ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°
+Name[ca]=Navegador web LibreWolf
+Name[cs]=LibreWolf Webový prohlížeÄ
+Name[da]=LibreWolf - internetbrowser
+Name[el]=ΠεÏιηγητής LibreWolf
+Name[es]=Navegador web LibreWolf
+Name[et]=LibreWolfi veebibrauser
+Name[fa]=مرورگر اینترنتی LibreWolf
+Name[fi]=LibreWolf-selain
+Name[fr]=Navigateur Web LibreWolf
+Name[gl]=Navegador web LibreWolf
+Name[he]=דפדפן ×”×ינטרנט LibreWolf
+Name[hr]=LibreWolf web preglednik
+Name[hu]=LibreWolf webböngésző
+Name[it]=LibreWolf Browser Web
+Name[ja]=LibreWolf ウェブ・ブラウザ
+Name[ko]=LibreWolf 웹 브ë¼ìš°ì €
+Name[ku]=Geroka torê LibreWolf
+Name[lt]=LibreWolf interneto naršyklė
+Name[nb]=LibreWolf Nettleser
+Name[nl]=LibreWolf webbrowser
+Name[nn]=LibreWolf Nettlesar
+Name[no]=LibreWolf Nettleser
+Name[pl]=PrzeglÄ…darka WWW LibreWolf
+Name[pt]=LibreWolf Navegador Web
+Name[pt_BR]=Navegador Web LibreWolf
+Name[ro]=LibreWolf – Navigator Internet
+Name[ru]=Веб-браузер LibreWolf
+Name[sk]=LibreWolf - internetový prehliadaÄ
+Name[sl]=LibreWolf spletni brskalnik
+Name[sv]=LibreWolf webbläsare
+Name[tr]=LibreWolf Web Tarayıcısı
+Name[ug]=LibreWolf توركۆرگۈ
+Name[uk]=Веб-браузер LibreWolf
+Name[vi]=Trình duyệt web LibreWolf
+Name[zh_CN]=LibreWolf 网络æµè§ˆå™¨
+Name[zh_TW]=LibreWolf 網路ç€è¦½å™¨
+Comment=Browse the World Wide Web
+Comment[ar]=تصÙØ­ الشبكة العنكبوتية العالمية
+Comment[ast]=Restola pela Rede
+Comment[bn]=ইনà§à¦Ÿà¦¾à¦°à¦¨à§‡à¦Ÿ বà§à¦°à¦¾à¦‰à¦œ করà§à¦¨
+Comment[ca]=Navegueu per la web
+Comment[cs]=Prohlížení stránek World Wide Webu
+Comment[da]=Surf på internettet
+Comment[de]=Im Internet surfen
+Comment[el]=ΜποÏείτε να πεÏιηγηθείτε στο διαδίκτυο (Web)
+Comment[es]=Navegue por la web
+Comment[et]=Lehitse veebi
+Comment[fa]=صÙحات شبکه جهانی اینترنت را مرور نمایید
+Comment[fi]=Selaa Internetin WWW-sivuja
+Comment[fr]=Naviguer sur le Web
+Comment[gl]=Navegar pola rede
+Comment[he]=גלישה ברחבי ×”×ינטרנט
+Comment[hr]=Pretražite web
+Comment[hu]=A világháló böngészése
+Comment[it]=Esplora il web
+Comment[ja]=ウェブを閲覧ã—ã¾ã™
+Comment[ko]=ì›¹ì„ ëŒì•„ 다닙니다
+Comment[ku]=Li torê bigere
+Comment[lt]=Naršykite internete
+Comment[nb]=Surf på nettet
+Comment[nl]=Verken het internet
+Comment[nn]=Surf på nettet
+Comment[no]=Surf på nettet
+Comment[pl]=PrzeglÄ…danie stron WWW
+Comment[pt]=Navegue na Internet
+Comment[pt_BR]=Navegue na Internet
+Comment[ro]=Navigați pe Internet
+Comment[ru]=ДоÑтуп в Интернет
+Comment[sk]=Prehliadanie internetu
+Comment[sl]=Brskajte po spletu
+Comment[sv]=Surfa på webben
+Comment[tr]=Ä°nternet'te Gezinin
+Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
+Comment[uk]=ПереглÑд Ñторінок Інтернету
+Comment[vi]=Äể duyệt các trang web
+Comment[zh_CN]=æµè§ˆäº’è”网
+Comment[zh_TW]=ç€è¦½ç¶²éš›ç¶²è·¯
+GenericName=Web Browser
+GenericName[ar]=متصÙØ­ ويب
+GenericName[ast]=Restolador Web
+GenericName[bn]=ওয়েব বà§à¦°à¦¾à¦‰à¦œà¦¾à¦°
+GenericName[ca]=Navegador web
+GenericName[cs]=Webový prohlížeÄ
+GenericName[da]=Webbrowser
+GenericName[el]=ΠεÏιηγητής διαδικτÏου
+GenericName[es]=Navegador web
+GenericName[et]=Veebibrauser
+GenericName[fa]=مرورگر اینترنتی
+GenericName[fi]=WWW-selain
+GenericName[fr]=Navigateur Web
+GenericName[gl]=Navegador Web
+GenericName[he]=דפדפן ×ינטרנט
+GenericName[hr]=Web preglednik
+GenericName[hu]=Webböngésző
+GenericName[it]=Browser web
+GenericName[ja]=ウェブ・ブラウザ
+GenericName[ko]=웹 브ë¼ìš°ì €
+GenericName[ku]=Geroka torê
+GenericName[lt]=Interneto naršyklė
+GenericName[nb]=Nettleser
+GenericName[nl]=Webbrowser
+GenericName[nn]=Nettlesar
+GenericName[no]=Nettleser
+GenericName[pl]=PrzeglÄ…darka WWW
+GenericName[pt]=Navegador Web
+GenericName[pt_BR]=Navegador Web
+GenericName[ro]=Navigator Internet
+GenericName[ru]=Веб-браузер
+GenericName[sk]=Internetový prehliadaÄ
+GenericName[sl]=Spletni brskalnik
+GenericName[sv]=Webbläsare
+GenericName[tr]=Web Tarayıcı
+GenericName[ug]=توركۆرگۈ
+GenericName[uk]=Веб-браузер
+GenericName[vi]=Trình duyệt Web
+GenericName[zh_CN]=网络æµè§ˆå™¨
+GenericName[zh_TW]=網路ç€è¦½å™¨
+Keywords=Internet;WWW;Browser;Web;Explorer
+Keywords[ar]=انترنت;إنترنت;متصÙØ­;ويب;وب
+Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
+Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
+Keywords[cs]=Internet;WWW;ProhlížeÄ;Web;Explorer
+Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
+Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
+Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;ΠεÏιηγητής;LibreWolf;ΦιÏεφοχ;ΙντεÏνετ
+Keywords[es]=Explorador;Internet;WWW
+Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
+Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
+Keywords[he]=דפדפן;×ינטרנט;רשת;×תרי×;×תר;פיירפוקס;מוזילה;
+Keywords[hr]=Internet;WWW;preglednik;Web
+Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
+Keywords[it]=Internet;WWW;Browser;Web;Navigatore
+Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
+Keywords[ja]=Internet;WWW;Web;インターãƒãƒƒãƒˆ;ブラウザ;ウェブ;エクスプローラ
+Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
+Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
+Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
+Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокÑ;огнелиÑ
+Keywords[sk]=Internet;WWW;PrehliadaÄ;Web;Explorer
+Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
+Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
+Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглÑдач;оглÑдач;браузер;веб;файрфокÑ;вогнелиÑ;переглÑд
+Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
+Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;æµè§ˆ;上网;ç«ç‹;LibreWolf;ff;互è”网;网站;
+Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;ç€è¦½å™¨;上網;網é ;ç«ç‹
+Exec=librewolf %u
+Icon=librewolf
+Terminal=false
+X-MultipleArgs=false
+Type=Application
+MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;application/pdf;application/json;
+StartupNotify=true
+StartupWMClass=LibreWolf
+Categories=Network;WebBrowser;
+Actions=new-window;new-private-window;profile-manager-window;
+
+[Desktop Action new-window]
+Name=Open a New Window
+Name[ach]=Dirica manyen
+Name[af]=Nuwe venster
+Name[an]=Nueva finestra
+Name[ar]=ناÙذة جديدة
+Name[as]=নতà§à¦¨ উইনà§à¦¡à§‹
+Name[ast]=Ventana nueva
+Name[az]=Yeni Pəncərə
+Name[be]=Ðовае акно
+Name[bg]=Ðов прозорец
+Name[bn_BD]=নতà§à¦¨ উইনà§à¦¡à§‹ (N)
+Name[bn_IN]=নতà§à¦¨ উইনà§à¦¡à§‹
+Name[br]=Prenestr nevez
+Name[brx]=गोदान उइनà¥à¤¡'(N)
+Name[bs]=Novi prozor
+Name[ca]=Finestra nova
+Name[cak]=K'ak'a' tzuwäch
+Name[cs]=Nové okno
+Name[cy]=Ffenestr Newydd
+Name[da]=Nyt vindue
+Name[de]=Neues Fenster
+Name[dsb]=Nowe wokno
+Name[el]=Îέο παÏάθυÏο
+Name[en_GB]=New Window
+Name[en_US]=New Window
+Name[en_ZA]=New Window
+Name[eo]=Nova fenestro
+Name[es_AR]=Nueva ventana
+Name[es_CL]=Nueva ventana
+Name[es_ES]=Nueva ventana
+Name[es_MX]=Nueva ventana
+Name[et]=Uus aken
+Name[eu]=Leiho berria
+Name[fa]=پنجره جدید
+Name[ff]=Henorde Hesere
+Name[fi]=Uusi ikkuna
+Name[fr]=Nouvelle fenêtre
+Name[fy_NL]=Nij finster
+Name[ga_IE]=Fuinneog Nua
+Name[gd]=Uinneag ùr
+Name[gl]=Nova xanela
+Name[gn]=Ovetã pyahu
+Name[gu_IN]=નવી વિનà«àª¡à«‹
+Name[he]=חלון חדש
+Name[hi_IN]=नया विंडो
+Name[hr]=Novi prozor
+Name[hsb]=Nowe wokno
+Name[hu]=Új ablak
+Name[hy_AM]=Õ†Õ¸Ö€ ÕŠÕ¡Õ¿Õ¸Ö‚Õ°Õ¡Õ¶
+Name[id]=Jendela Baru
+Name[is]=Nýr gluggi
+Name[it]=Nuova finestra
+Name[ja]=æ–°ã—ã„ウィンドウ
+Name[ja_JP-mac]=æ–°è¦ã‚¦ã‚¤ãƒ³ãƒ‰ã‚¦
+Name[ka]=áƒáƒ®áƒáƒšáƒ˜ ფáƒáƒœáƒ¯áƒáƒ áƒ
+Name[kk]=Жаңа терезе
+Name[km]=បង្អួចážáŸ’មី
+Name[kn]=ಹೊಸ ಕಿಟಕಿ
+Name[ko]=새 창
+Name[kok]=नवें जनेल
+Name[ks]=نئئ ÙˆÙÙ†ÚˆÙˆ
+Name[lij]=Neuvo barcon
+Name[lo]=ຫນ້າຕ່າງໃຫມ່
+Name[lt]=Naujas langas
+Name[ltg]=Jauns lūgs
+Name[lv]=Jauns logs
+Name[mai]=नव विंडो
+Name[mk]=Ðов прозорец
+Name[ml]=à´ªàµà´¤à´¿à´¯ ജാലകം
+Name[mr]=नवीन पटल
+Name[ms]=Tetingkap Baru
+Name[my]=á€á€„်းဒိုးအသစ်
+Name[nb_NO]=Nytt vindu
+Name[ne_NP]=नयाठसञà¥à¤à¥à¤¯à¤¾à¤²
+Name[nl]=Nieuw venster
+Name[nn_NO]=Nytt vindauge
+Name[or]=ନୂତନ ୱିଣà­à¬¡à­‹
+Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
+Name[pl]=Nowe okno
+Name[pt_BR]=Nova janela
+Name[pt_PT]=Nova janela
+Name[rm]=Nova fanestra
+Name[ro]=Fereastră nouă
+Name[ru]=Ðовое окно
+Name[sat]=नावा विंडो (N)
+Name[si]=නව කවුළුවක්
+Name[sk]=Nové okno
+Name[sl]=Novo okno
+Name[son]=Zanfun taaga
+Name[sq]=Dritare e Re
+Name[sr]=Ðови прозор
+Name[sv_SE]=Nytt fönster
+Name[ta]=பà¯à®¤à®¿à®¯ சாளரமà¯
+Name[te]=కొతà±à°¤ విండో
+Name[th]=หน้าต่างใหม่
+Name[tr]=Yeni pencere
+Name[tsz]=Eraatarakua jimpani
+Name[uk]=Ðове вікно
+Name[ur]=نیا دریچÛ
+Name[uz]=Yangi oyna
+Name[vi]=Cửa sổ mới
+Name[wo]=Palanteer bu bees
+Name[xh]=Ifestile entsha
+Name[zh_CN]=新建窗å£
+Name[zh_TW]=開新視窗
+Exec=librewolf --new-window %u
+
+[Desktop Action new-private-window]
+Name=Open a New Private Window
+Name[ach]=Dirica manyen me mung
+Name[af]=Nuwe privaatvenster
+Name[an]=Nueva finestra privada
+Name[ar]=ناÙذة خاصة جديدة
+Name[as]=নতà§à¦¨ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত উইনà§à¦¡à§‹
+Name[ast]=Ventana privada nueva
+Name[az]=Yeni Məxfi Pəncərə
+Name[be]=Ðовае акно адаÑабленнÑ
+Name[bg]=Ðов прозорец за поверително Ñърфиране
+Name[bn_BD]=নতà§à¦¨ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত উইনà§à¦¡à§‹
+Name[bn_IN]=নতà§à¦¨ বà§à¦¯à¦•à§à¦¤à¦¿à¦—ত উইনà§à¦¡à§‹
+Name[br]=Prenestr merdeiñ prevez nevez
+Name[brx]=गोदान पà¥à¤°à¤¾à¤‡à¤­à¥‡à¤Ÿ उइनà¥à¤¡'
+Name[bs]=Novi privatni prozor
+Name[ca]=Finestra privada nova
+Name[cak]=K'ak'a' ichinan tzuwäch
+Name[cs]=Nové anonymní okno
+Name[cy]=Ffenestr Breifat Newydd
+Name[da]=Nyt privat vindue
+Name[de]=Neues privates Fenster
+Name[dsb]=Nowe priwatne wokno
+Name[el]=Îέο παÏάθυÏο ιδιωτικής πεÏιήγησης
+Name[en_GB]=New Private Window
+Name[en_US]=New Private Window
+Name[en_ZA]=New Private Window
+Name[eo]=Nova privata fenestro
+Name[es_AR]=Nueva ventana privada
+Name[es_CL]=Nueva ventana privada
+Name[es_ES]=Nueva ventana privada
+Name[es_MX]=Nueva ventana privada
+Name[et]=Uus privaatne aken
+Name[eu]=Leiho pribatu berria
+Name[fa]=پنجره ناشناس جدید
+Name[ff]=Henorde Suturo Hesere
+Name[fi]=Uusi yksityinen ikkuna
+Name[fr]=Nouvelle fenêtre de navigation privée
+Name[fy_NL]=Nij priveefinster
+Name[ga_IE]=Fuinneog Nua Phríobháideach
+Name[gd]=Uinneag phrìobhaideach ùr
+Name[gl]=Nova xanela privada
+Name[gn]=Ovetã ñemi pyahu
+Name[gu_IN]=નવી ખાનગી વિનà«àª¡à«‹
+Name[he]=חלון פרטי חדש
+Name[hi_IN]=नयी निजी विंडो
+Name[hr]=Novi privatni prozor
+Name[hsb]=Nowe priwatne wokno
+Name[hu]=Új privát ablak
+Name[hy_AM]=ÕÕ¯Õ½Õ¥Õ¬ Ô³Õ¡Õ²Õ¿Õ¶Õ« Õ¤Õ«Õ¿Õ¡Ö€Õ¯Õ¸Ö‚Õ´
+Name[id]=Jendela Mode Pribadi Baru
+Name[is]=Nýr huliðsgluggi
+Name[it]=Nuova finestra anonima
+Name[ja]=æ–°ã—ã„プライベートウィンドウ
+Name[ja_JP-mac]=æ–°è¦ãƒ—ライベートウインドウ
+Name[ka]=áƒáƒ®áƒáƒšáƒ˜ პირáƒáƒ“ი ფáƒáƒœáƒ¯áƒáƒ áƒ
+Name[kk]=Жаңа жекелік терезе
+Name[km]=បង្អួចឯកជនážáŸ’មី
+Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
+Name[ko]=새 사ìƒí™œ 보호 모드
+Name[kok]=नवो खाजगी विंडो
+Name[ks]=نْو پرایوٹ وینڈو
+Name[lij]=Nêuvo barcón privòu
+Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
+Name[lt]=Naujas privataus naršymo langas
+Name[ltg]=Jauns privatais lūgs
+Name[lv]=Jauns privÄtais logs
+Name[mai]=नया निज विंडो (W)
+Name[mk]=Ðов приватен прозорец
+Name[ml]=à´ªàµà´¤à´¿à´¯ à´¸àµà´µà´•à´¾à´°àµà´¯ ജാലകം
+Name[mr]=नवीन वैयकà¥à¤¤à¤¿à¤• पटल
+Name[ms]=Tetingkap Persendirian Baharu
+Name[my]=New Private Window
+Name[nb_NO]=Nytt privat vindu
+Name[ne_NP]=नयाठनिजी सञà¥à¤à¥à¤¯à¤¾à¤²
+Name[nl]=Nieuw privévenster
+Name[nn_NO]=Nytt privat vindauge
+Name[or]=ନୂତନ ବà­à­Ÿà¬•à­à¬¤à¬¿à¬—ତ ୱିଣà­à¬¡à­‹
+Name[pa_IN]=ਨਵੀਂ ਪà©à¨°à¨¾à¨ˆà¨µà©‡à¨Ÿ ਵਿੰਡੋ
+Name[pl]=Nowe okno prywatne
+Name[pt_BR]=Nova janela privativa
+Name[pt_PT]=Nova janela privada
+Name[rm]=Nova fanestra privata
+Name[ro]=Fereastră privată nouă
+Name[ru]=Ðовое приватное окно
+Name[sat]=नावा निजेराकॠविंडो (W )
+Name[si]=නව පුද්ගලික කවුළුව (W)
+Name[sk]=Nové okno v režime Súkromné prehliadanie
+Name[sl]=Novo zasebno okno
+Name[son]=Sutura zanfun taaga
+Name[sq]=Dritare e Re Private
+Name[sr]=Ðови приватан прозор
+Name[sv_SE]=Nytt privat fönster
+Name[ta]=பà¯à®¤à®¿à®¯ தனிபà¯à®ªà®Ÿà¯à®Ÿ சாளரமà¯
+Name[te]=కొతà±à°¤ ఆంతరంగిక విండో
+Name[th]=หน้าต่างส่วนตัวใหม่
+Name[tr]=Yeni gizli pencere
+Name[tsz]=Juchiiti eraatarakua jimpani
+Name[uk]=Приватне вікно
+Name[ur]=نیا نجی دریچÛ
+Name[uz]=Yangi maxfiy oyna
+Name[vi]=Cửa sổ riêng tư mới
+Name[wo]=Panlanteeru biir bu bees
+Name[xh]=Ifestile yangasese entsha
+Name[zh_CN]=新建éšç§æµè§ˆçª—å£
+Name[zh_TW]=新增隱ç§è¦–窗
+Exec=librewolf --private-window %u
+
+[Desktop Action profile-manager-window]
+Name=Open the Profile Manager
+Name[cs]=Správa profilů
+Name[de]=Profilverwaltung öffnen
+Name[es]=Abrir el Gestor de Perfiles
+Name[fr]=Ouvrir le gestionnaire de profils
+Exec=librewolf --ProfileManager %u
diff --git a/testing/librewolf/no-ccache-stats.patch b/testing/librewolf/no-ccache-stats.patch
new file mode 100644
index 00000000000..4d557a01504
--- /dev/null
+++ b/testing/librewolf/no-ccache-stats.patch
@@ -0,0 +1,13 @@
+prevents a call to ccache
+diff --git a/python/mozbuild/mozbuild/controller/building.py b/python/mozbuild/mozbuild/controller/building.py
+index bf7009a..011c012 100644
+--- a/python/mozbuild/mozbuild/controller/building.py
++++ b/python/mozbuild/mozbuild/controller/building.py
+@@ -570,6 +570,7 @@ class BuildMonitor(MozbuildObject):
+ )
+
+ def ccache_stats(self, ccache=None):
++ return None
+ ccache_stats = None
+
+ if ccache is None:
diff --git a/testing/librewolf/ppc-musttail.patch b/testing/librewolf/ppc-musttail.patch
new file mode 100644
index 00000000000..ebe06c0ebe8
--- /dev/null
+++ b/testing/librewolf/ppc-musttail.patch
@@ -0,0 +1,30 @@
+Patch-Source: https://github.com/chimera-linux/cports/blob/506127954653ccebf9b82df1452cce4ed0dae3b1/contrib/thunderbird/patches/ppc-musttail.patch
+--
+commit 5e66655e1456c9d26637ceaed3f4533b537322c4
+Author: Daniel Kolesa <daniel@octaforge.org>
+Date: Sat May 13 23:00:04 2023 +0200
+
+ disable musttail on ppc
+
+ 41:38.04 LLVM ERROR: failed to perform tail call elimination on a call site marked musttail
+ 41:38.04 PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
+ 41:38.04 Stack dump:
+ 41:38.04 0. Running pass 'Function Pass Manager' on module '/builddir/thunderbird-114.0_beta1/obj-powerpc64le-unknown-linux-musl/toolkit/library/build/../../../gfx/skia/SkOpts.o'.
+ 41:38.04 1. Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on function '@_ZN8portableL15init_lane_masksEPNS_6ParamsEP21SkRasterPipelineStageffff'
+ 41:38.95 clang-16: error: unable to execute command: Aborted
+
+ To be investigated later.
+
+diff --git a/gfx/skia/skia/src/core/SkRasterPipeline.h b/gfx/skia/skia/src/core/SkRasterPipeline.h
+index 766bb0c..88c6cb2 100644
+--- a/gfx/skia/skia/src/core/SkRasterPipeline.h
++++ b/gfx/skia/skia/src/core/SkRasterPipeline.h
+@@ -24,7 +24,7 @@ enum SkColorType : int;
+ struct SkImageInfo;
+ struct skcms_TransferFunction;
+
+-#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32)
++#if __has_cpp_attribute(clang::musttail) && !defined(__EMSCRIPTEN__) && !defined(SK_CPU_ARM32) && !defined(__powerpc__)
+ #define SK_HAS_MUSTTAIL 1
+ #else
+ #define SK_HAS_MUSTTAIL 0
diff --git a/testing/librewolf/python-deps.patch b/testing/librewolf/python-deps.patch
new file mode 100644
index 00000000000..7884095f02a
--- /dev/null
+++ b/testing/librewolf/python-deps.patch
@@ -0,0 +1,10 @@
+diff --git a/python/sites/mach.txt b/python/sites/mach.txt
+index 8945d44..8746f70 100644
+--- a/python/sites/mach.txt
++++ b/python/sites/mach.txt
+@@ -98,3 +98,3 @@ pypi-optional:glean-sdk==55.0.0:telemetry will not be collected
+ # support down to the oldest locally-installed version (5.4.2).
+-pypi-optional:psutil>=5.4.2,<=5.9.4:telemetry will be missing some data
+-pypi-optional:zstandard>=0.11.1,<=0.22.0:zstd archives will not be possible to extract
++pypi-optional:psutil>=5.4.2,<=5.10.0:telemetry will be missing some data
++pypi-optional:zstandard>=0.11.1,<=0.24.0:zstd archives will not be possible to extract
diff --git a/testing/librewolf/res_nquery.patch b/testing/librewolf/res_nquery.patch
new file mode 100644
index 00000000000..1b6474a926d
--- /dev/null
+++ b/testing/librewolf/res_nquery.patch
@@ -0,0 +1,17 @@
+musl doesn't have res_nquery - fall back to res_query
+--- a/netwerk/dns/PlatformDNSUnix.cpp
++++ b/netwerk/dns/PlatformDNSUnix.cpp
+@@ -32,11 +32,11 @@
+ rv = packet.FillBuffer(
+ [&](unsigned char response[DNSPacket::MAX_SIZE]) -> int {
+ int len = 0;
+-#if defined(XP_LINUX)
++#if defined(__GLIBC__)
+ len = res_nquery(&_res, host.get(), ns_c_in,
+ nsIDNSService::RESOLVE_TYPE_HTTPSSVC, response,
+ DNSPacket::MAX_SIZE);
+-#elif defined(XP_MACOSX)
++#elif defined(XP_LINUX) || defined(XP_MACOSX)
+ len =
+ res_query(host.get(), ns_c_in, nsIDNSService::RESOLVE_TYPE_HTTPSSVC,
+ response, DNSPacket::MAX_SIZE);
diff --git a/testing/librewolf/riscv64-no-lto.patch b/testing/librewolf/riscv64-no-lto.patch
new file mode 100644
index 00000000000..90c9b5def1a
--- /dev/null
+++ b/testing/librewolf/riscv64-no-lto.patch
@@ -0,0 +1,16 @@
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -91,11 +91,13 @@
+ ifndef rustflags_sancov
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
++ifeq (,$(findstring riscv64,$(RUST_TARGET)))
+ ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
+ cargo_rustc_flags += -Clto=thin
+ endif
+ # We need -Cembed-bitcode=yes for all crates when using -Clto.
+ RUSTFLAGS += -Cembed-bitcode=yes
++endif
+ endif
+ endif
+ endif
diff --git a/testing/librewolf/rust-lto-thin.patch b/testing/librewolf/rust-lto-thin.patch
new file mode 100644
index 00000000000..788fceab39f
--- /dev/null
+++ b/testing/librewolf/rust-lto-thin.patch
@@ -0,0 +1,12 @@
+set rust crate lto to thin to not use fatlto for gkrust which fails sometimes
+--- a/config/makefiles/rust.mk
++++ b/config/makefiles/rust.mk
+@@ -92,7 +92,7 @@
+ # Never enable when coverage is enabled to work around https://github.com/rust-lang/rust/issues/90045.
+ ifndef MOZ_CODE_COVERAGE
+ ifeq (,$(findstring gkrust_gtest,$(RUST_LIBRARY_FILE)))
+-cargo_rustc_flags += -Clto$(if $(filter full,$(MOZ_LTO_RUST_CROSS)),=fat)
++cargo_rustc_flags += -Clto=thin
+ endif
+ # We need -Cembed-bitcode=yes for all crates when using -Clto.
+ RUSTFLAGS += -Cembed-bitcode=yes
diff --git a/testing/librewolf/sandbox-fork.patch b/testing/librewolf/sandbox-fork.patch
new file mode 100644
index 00000000000..c7222ab494d
--- /dev/null
+++ b/testing/librewolf/sandbox-fork.patch
@@ -0,0 +1,15 @@
+make SYS_fork non-fatal, musl uses it for fork(2)
+
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -1253,6 +1253,10 @@
+ // usually do something reasonable on error.
+ case __NR_clone:
+ return ClonePolicy(Error(EPERM));
++#ifdef __NR_fork
++ case __NR_fork:
++ return Error(ENOSYS);
++#endif
+
+ # ifdef __NR_fadvise64
+ case __NR_fadvise64:
diff --git a/testing/librewolf/sandbox-largefile.patch b/testing/librewolf/sandbox-largefile.patch
new file mode 100644
index 00000000000..f1cf28b51b9
--- /dev/null
+++ b/testing/librewolf/sandbox-largefile.patch
@@ -0,0 +1,17 @@
+--- a/security/sandbox/linux/SandboxFilter.cpp 2020-11-23 22:41:14.556378950 +0100
++++ b/security/sandbox/linux/SandboxFilter.cpp 2020-11-23 22:40:23.595806444 +0100
+@@ -68,7 +68,13 @@
+
+ // The headers define O_LARGEFILE as 0 on x86_64, but we need the
+ // actual value because it shows up in file flags.
+-#define O_LARGEFILE_REAL 00100000
++#if defined(__x86_64__) || defined(__i386__) || defined(__mips__)
++#define O_LARGEFILE_REAL 0100000
++#elif defined(__powerpc__)
++#define O_LARGEFILE_REAL 0200000
++#else
++#define O_LARGEFILE_REAL O_LARGEFILE
++#endif
+
+ // Not part of UAPI, but userspace sees it in F_GETFL; see bug 1650751.
+ #define FMODE_NONOTIFY 0x4000000
diff --git a/testing/librewolf/sandbox-sched_setscheduler.patch b/testing/librewolf/sandbox-sched_setscheduler.patch
new file mode 100644
index 00000000000..ffdf12678bc
--- /dev/null
+++ b/testing/librewolf/sandbox-sched_setscheduler.patch
@@ -0,0 +1,24 @@
+upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1657849
+diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
+index ed958bc..9824433 100644
+--- a/security/sandbox/linux/SandboxFilter.cpp
++++ b/security/sandbox/linux/SandboxFilter.cpp
+@@ -1751,6 +1751,6 @@ class GMPSandboxPolicy : public SandboxPolicyCommon {
+ case __NR_sched_get_priority_max:
++ case __NR_sched_setscheduler:
+ return Allow();
+ case __NR_sched_getparam:
+- case __NR_sched_getscheduler:
+- case __NR_sched_setscheduler: {
++ case __NR_sched_getscheduler: {
+ Arg<pid_t> pid(0);
+@@ -1926,3 +1926,2 @@ class RDDSandboxPolicy final : public SandboxPolicyCommon {
+ case __NR_sched_getscheduler:
+- case __NR_sched_setscheduler:
+ case __NR_sched_getattr:
+@@ -1932,2 +1931,5 @@ class RDDSandboxPolicy final : public SandboxPolicyCommon {
+ }
++ // sched_setscheduler gets special treatment here (bug 1657849):
++ case __NR_sched_setscheduler:
++ return Allow();
+
diff --git a/testing/librewolf/sqlite-ppc.patch b/testing/librewolf/sqlite-ppc.patch
new file mode 100644
index 00000000000..30d80281f71
--- /dev/null
+++ b/testing/librewolf/sqlite-ppc.patch
@@ -0,0 +1,39 @@
+Patch-Source: https://github.com/chimera-linux/cports/blob/0b7b1b1/contrib/firefox/patches/sqlite-ppc.patch
+From 67157b1aa7da0a146b7d2d5abb9237eea1f434ec Mon Sep 17 00:00:00 2001
+From: Daniel Kolesa <daniel@octaforge.org>
+Date: Fri, 23 Sep 2022 02:38:29 +0200
+Subject: [PATCH] fix sqlite3 on ppc with clang
+
+The __ppc__ macro is always defined on clang but not gcc, which
+results in sqlite mistakenly thinking that ppc64le with clang
+is big endian.
+
+Also disable some inline assembly stuff on ppc that is never used
+with gcc and probably was never tested with modern machines.
+
+rebased 2024-01-24 by @ptrcnull:
+upstream removed the __ppc__ check,
+adding a __LITTLE_ENDIAN__ check to match what they do
+---
+ third_party/sqlite3/src/sqlite3.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/third_party/sqlite3/src/sqlite3.c b/third_party/sqlite3/src/sqlite3.c
+index 9443127..8593d8a 100644
+--- a/third_party/sqlite3/src/sqlite3.c
++++ b/third_party/sqlite3/src/sqlite3.c
+@@ -14874,2 +14874,4 @@ typedef INT16_TYPE LogEst;
+ # define SQLITE_BYTEORDER 4321
++# elif defined(__LITTLE_ENDIAN__) && __LITTLE_ENDIAN__==1
++# define SQLITE_BYTEORDER 1234
+ # elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \
+@@ -36340,3 +36342,3 @@ SQLITE_PRIVATE int sqlite3VListNameToNum(VList *pIn, const char *zName, int nNam
+
+-#elif !defined(__STRICT_ANSI__) && (defined(__GNUC__) && defined(__ppc__))
++#elif 0
+
+@@ -207002,2 +207004,4 @@ struct RtreeMatchArg {
+ # define SQLITE_BYTEORDER 4321
++# elif defined(__LITTLE_ENDIAN__) && __LITTLE_ENDIAN__==1
++# define SQLITE_BYTEORDER 1234
+ # elif defined(i386) || defined(__i386__) || defined(_M_IX86) || \
diff --git a/testing/librewolf/vendor-prefs.js b/testing/librewolf/vendor-prefs.js
new file mode 100644
index 00000000000..115617e0f17
--- /dev/null
+++ b/testing/librewolf/vendor-prefs.js
@@ -0,0 +1,9 @@
+// Use LANG environment variable to choose locale
+pref("intl.locale.requested", "");
+
+// Use system-provided dictionaries
+pref("spellchecker.dictionary_path", "/usr/share/hunspell");
+
+// Don't disable our bundled extensions in the application directory
+pref("extensions.autoDisableScopes", 11);
+pref("extensions.shownSelectionUI", true);
diff --git a/testing/libsemanage/APKBUILD b/testing/libsemanage/APKBUILD
index 47d35308641..ff7eebce555 100644
--- a/testing/libsemanage/APKBUILD
+++ b/testing/libsemanage/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Tycho Andersen <tycho@docker.com>
# Maintainer: Tycho Andersen <tycho@docker.com>
pkgname=libsemanage
-pkgver=2.8
+pkgver=3.6
pkgrel=0
pkgdesc="SELinux binary policy manipulation library"
url="https://github.com/SELinuxProject/selinux/wiki"
@@ -18,7 +18,7 @@ makedepends="
python3
"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/libsemanage-$pkgver.tar.gz"
+source="https://github.com/SELinuxProject/selinux/releases/download/$pkgver/libsemanage-$pkgver.tar.gz"
build() {
make PYTHON=python3
@@ -28,4 +28,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="53f09c79da168a79b853f55e0f1c20a96229df9d82929c514bcaf72697446ae836f7f0457fc0056d2418cc6d0712157faf0152881518fe84a1b1b9b9af17e7ef libsemanage-2.8.tar.gz"
+sha512sums="
+8998b6a1b254a9673b99ae4d70a1edc769bb728a44f573cdf62e0a9c9392b77644ee2d70e1936a2f8a9a7f8b063ce98a981f4b8b7060f5b82791889330d69364 libsemanage-3.6.tar.gz
+"
diff --git a/testing/libsemigroups/APKBUILD b/testing/libsemigroups/APKBUILD
new file mode 100644
index 00000000000..66b2ad77b2f
--- /dev/null
+++ b/testing/libsemigroups/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libsemigroups
+pkgver=2.7.3
+pkgrel=0
+pkgdesc="Library for computing semigroups and monoids"
+url="https://github.com/libsemigroups/libsemigroups"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="eigen-dev fmt-dev"
+subpackages="$pkgname-static $pkgname-dev"
+source="https://github.com/libsemigroups/libsemigroups/releases/download/v$pkgver/libsemigroups-$pkgver.tar.gz"
+
+build() {
+ export CXXFLAGS="${CXXFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --enable-eigen \
+ --enable-fmt \
+ --with-external-eigen \
+ --with-external-fmt
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+001cfdfc55ee9a0bb3fe0914229905083e8eaaec682952bb23b2dc44680631909478bf32e67e93488a7347bfb674305b0cc3b713afa9bce1997a0b1a5693ad36 libsemigroups-2.7.3.tar.gz
+"
diff --git a/testing/libserialport/APKBUILD b/testing/libserialport/APKBUILD
index 24a45919b80..678b2ca6b90 100644
--- a/testing/libserialport/APKBUILD
+++ b/testing/libserialport/APKBUILD
@@ -1,19 +1,20 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=libserialport
pkgver=0.1.1
-pkgrel=0
+pkgrel=1
pkgdesc="A minimal C library handling OS-specific details when using serial ports"
url="https://sigrok.org/wiki/Libserialport"
arch="all"
license="GPL-3.0-only"
-makedepends="linux-headers"
-source="http://sigrok.org/download/source/libserialport/libserialport-$pkgver.tar.gz"
+makedepends="linux-headers automake autoconf libtool"
+source="https://github.com/sigrokproject/libserialport/archive/libserialport-$pkgver/libserialport-$pkgver.tar.gz"
+builddir="$srcdir/libserialport-libserialport-$pkgver"
subpackages="$pkgname-dev"
prepare() {
default_prepare
- update_config_guess
+ ./autogen.sh
}
build() {
@@ -29,4 +30,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7d379d1099173841e6d4df04c8c12dc6a4ebdfa0323ef35da6f3dea20db55d4f6ad81c1f6679f5aac7fe83270176428a817daa8627c336505335a07e06350a85 libserialport-0.1.1.tar.gz"
+sha512sums="
+b3978ac779f7eb6abb0cf7b4c623e107ba4ad3e6cee9da264500309783f1b28934b511b483d298105eed31eaf96196c93c45fdd89bd13bae04f2449d774f33af libserialport-0.1.1.tar.gz
+"
diff --git a/testing/libsigrok/APKBUILD b/testing/libsigrok/APKBUILD
index e41bb7d111d..c18812d67a4 100644
--- a/testing/libsigrok/APKBUILD
+++ b/testing/libsigrok/APKBUILD
@@ -1,8 +1,8 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-
pkgname=libsigrok
pkgver=0.5.2
-pkgrel=0
+pkgrel=2
pkgdesc="A C library providing access to logic analyzers and related file formats"
url="https://sigrok.org/wiki/Libsigrok"
makedepends="libzip-dev glib-dev libserialport-dev libusb-dev libftdi1-dev
@@ -34,9 +34,8 @@ check() {
package() {
make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir/lib/udev/rules.d"
- cp contrib/60-libsigrok.rules "$pkgdir/lib/udev/rules.d/60-libsigrok.rules"
- cp contrib/61-libsigrok-plugdev.rules "$pkgdir/lib/udev/rules.d/60-libsigrok.rules"
+ install -Dm644 contrib/60-libsigrok.rules "$pkgdir/lib/udev/rules.d/60-libsigrok.rules"
+ install -Dm644 contrib/61-libsigrok-plugdev.rules "$pkgdir/lib/udev/rules.d/61-libsigrok-plugdev.rules"
}
sha512sums="cf673dad6280302d69050c29490621f66c6d6a73932d019a53ec3501316d3f2e23e7667a04f866dbe6ed73f86a63de73d2173e2b6cea563631d705e06f887092 libsigrok-0.5.2.tar.gz"
diff --git a/testing/libsigrokdecode/APKBUILD b/testing/libsigrokdecode/APKBUILD
index f64dbace646..510667ec565 100644
--- a/testing/libsigrokdecode/APKBUILD
+++ b/testing/libsigrokdecode/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname="libsigrokdecode"
+pkgname=libsigrokdecode
pkgver=0.5.3
-pkgrel=2
+pkgrel=4
pkgdesc="A C library to decode protocol data captured by logic analyzers"
url="https://sigrok.org/wiki/Libsigrokdecode"
makedepends="glib-dev libserialport-dev libzip-dev libusb-dev libftdi1-dev
@@ -12,7 +12,7 @@ arch="all"
license="GPL-3.0-only"
source="http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-$pkgver.tar.gz
version.patch
- python-3.10.patch
+ python-3.12.patch
"
subpackages="$pkgname-dev"
@@ -37,5 +37,5 @@ package() {
sha512sums="
23393504b68135ed4ae8e8a654df024620af02e84fa3955956c61899388812229108155b4ae8d946e61f33dc8a8807db090d608350548a7a717d966442b07b9e libsigrokdecode-0.5.3.tar.gz
6d8fa69a891b4333fe77213cf75df218090e58b51d6c92197351d95a977634f2228a63c9c0c75fcb1d816c59ee9eaf410d5e79827ac7c79b0784262ea0f9c3fd version.patch
-6c9533cf9afa51167cee5eb0522e69a5854a77b9018babbf8999c7a64fffcbbb71dd6c636e69167745d8ebad41076e3f98fb2f710e7684517dd5431eadb6b0f3 python-3.10.patch
+22227cafc70d493cba413956861d6f6a43ad071a27f07bf328a4c811c6b78d5241dd31ce461bc086b684d4a2057cd35db305750e8030ee0e2b30512668b5d5bd python-3.12.patch
"
diff --git a/testing/libsigrokdecode/python-3.10.patch b/testing/libsigrokdecode/python-3.10.patch
deleted file mode 100644
index beec673c4c9..00000000000
--- a/testing/libsigrokdecode/python-3.10.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 9b0ad5177bd692f7556a4756bdbd2da81d9c34ce Mon Sep 17 00:00:00 2001
-From: =?utf8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
-Date: Tue, 4 Aug 2020 09:19:44 +0200
-Subject: [PATCH] configure.ac: Add support for Python 3.9.
-
----
- configure.ac | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index f9958b3..2917cb3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -100,7 +100,7 @@ SR_PKG_CHECK_SUMMARY([srd_pkglibs_summary])
- # first, since usually only that variant will add "-lpython3.8".
- # https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
- SR_PKG_CHECK([python3], [SRD_PKGLIBS],
-- [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
-+ [python-3.10-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
- AS_IF([test "x$sr_have_python3" = xno],
- [AC_MSG_ERROR([Cannot find Python 3 development headers.])])
-
---
-2.24.0.rc2
-
diff --git a/testing/libsigrokdecode/python-3.12.patch b/testing/libsigrokdecode/python-3.12.patch
new file mode 100644
index 00000000000..c854edd5227
--- /dev/null
+++ b/testing/libsigrokdecode/python-3.12.patch
@@ -0,0 +1,25 @@
+From 9b0ad5177bd692f7556a4756bdbd2da81d9c34ce Mon Sep 17 00:00:00 2001
+From: =?utf8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
+Date: Tue, 4 Aug 2020 09:19:44 +0200
+Subject: [PATCH] configure.ac: Add support for Python 3.9.
+
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f9958b3..2917cb3 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -100,7 +100,7 @@ SR_PKG_CHECK_SUMMARY([srd_pkglibs_summary])
+ # first, since usually only that variant will add "-lpython3.8".
+ # https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build
+ SR_PKG_CHECK([python3], [SRD_PKGLIBS],
+- [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
++ [python-3.12-embed], [python-3.11-embed], [python-3.8-embed], [python-3.8 >= 3.8], [python-3.7 >= 3.7], [python-3.6 >= 3.6], [python-3.5 >= 3.5], [python-3.4 >= 3.4], [python-3.3 >= 3.3], [python-3.2 >= 3.2], [python3 >= 3.2])
+ AS_IF([test "x$sr_have_python3" = xno],
+ [AC_MSG_ERROR([Cannot find Python 3 development headers.])])
+
+--
+2.24.0.rc2
+
diff --git a/testing/libsirocco/APKBUILD b/testing/libsirocco/APKBUILD
new file mode 100644
index 00000000000..da9ddabc813
--- /dev/null
+++ b/testing/libsirocco/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libsirocco
+pkgver=2.1.0
+pkgrel=2
+pkgdesc="Library for computing homotopy continuation of roots"
+url="https://github.com/miguelmarco/SIROCCO2"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="gmp-dev mpfr-dev"
+subpackages="$pkgname-dev"
+source="https://github.com/miguelmarco/SIROCCO2/releases/download/$pkgver/libsirocco-$pkgver.tar.gz"
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+1afd32efbe81b44a02b9ca41345bb4c70ec7d936d878aac2d6cdf7587d753cb26026ea36bfe43f2963afdb221544e594b58bf32a5b70b54ce619e59594a8535f libsirocco-2.1.0.tar.gz
+"
diff --git a/testing/libsixel/APKBUILD b/testing/libsixel/APKBUILD
deleted file mode 100644
index 3fe145f211d..00000000000
--- a/testing/libsixel/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Maxim Karasev <begs@disroot.org>
-# Contributor: Dmitry Kruchko <corg@disroot.org>
-# Maintainer: Maxim Karasev <begs@disroot.org>
-pkgname=libsixel
-_commit=bc93c8ce570b35b8f3bb429ea5892ac260e4c8b1
-pkgver=1.10.3_git20211017
-pkgrel=1
-pkgdesc="SIXEL encoder/decoder implementation"
-url="https://github.com/libsixel/libsixel"
-arch="all"
-license="MIT"
-makedepends="meson libpng-dev libjpeg-turbo-dev zlib-dev libtool"
-subpackages="
- $pkgname-dev
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-zsh-completion
- "
-source="https://github.com/libsixel/libsixel/archive/$_commit.tar.gz"
-builddir="$srcdir/libsixel-$_commit"
-
-build() {
- abuild-meson . output
- meson compile -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-d7ea52073a9e3015922f44f887d7f6f693d9271b2e2c8ab88823adb31b1591282b6e65343d26820fe6d4c049143fde6871a2c818c8aefc6b621616e05ac92826 bc93c8ce570b35b8f3bb429ea5892ac260e4c8b1.tar.gz
-"
diff --git a/testing/libsmi/APKBUILD b/testing/libsmi/APKBUILD
deleted file mode 100644
index 61c639fb3e9..00000000000
--- a/testing/libsmi/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Mikolaj Chwalisz <chwalisz@tkn.tu-berlin.de>
-# Maintainer: Mikolaj Chwalisz <chwalisz@tkn.tu-berlin.de>
-pkgname=libsmi
-pkgver=0.5.0
-pkgrel=1
-pkgdesc="Library to access SMI management information"
-url="https://www.ibr.cs.tu-bs.de/projects/libsmi/"
-arch="all"
-license="BSD-3-Clause AND MIT"
-makedepends="$depends_dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://www.ibr.cs.tu-bs.de/projects/libsmi/download/libsmi-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- update_config_sub
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --libexecdir=/usr/lib
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="be82e6b7054426e4634ac9d90467b89a51a9c836273c9d516f07ff3cec3a8dcc8b3bb0e0396d5facec3d9c952b17fb67f24ff2d3959e7e5cf9eced72023a0708 libsmi-0.5.0.tar.gz"
diff --git a/testing/libsoundio/APKBUILD b/testing/libsoundio/APKBUILD
deleted file mode 100644
index b22ed2e1a3e..00000000000
--- a/testing/libsoundio/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Mark Jynx <markjynx@cock.li>
-pkgname="libsoundio"
-pkgver="2.0.0"
-pkgrel=1
-pkgdesc="C library for cross-platform real-time audio input and output"
-url="http://libsound.io"
-arch="all"
-options="!check" # Tests are not automated
-license="MIT"
-depends_dev="alsa-lib-dev"
-makedepends="cmake $depends_dev"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/andrewrk/libsoundio/archive/$pkgver.tar.gz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_STATIC_LIBS=OFF \
- -DBUILD_EXAMPLE_PROGRAMS=OFF \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- ${CMAKE_CROSSOPTS} .
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="347a9be1789a41e778ea8d0efa1d00e03e725a4ab65e3aaf6c71e49138643f08a50a81bd60087d86a3b4d63beaeec617e47ba6b81f829ece8a3ac17418eb5309 libsoundio-2.0.0.tar.gz"
diff --git a/testing/libspatialindex/APKBUILD b/testing/libspatialindex/APKBUILD
index d60bed334b9..1de655215db 100755..100644
--- a/testing/libspatialindex/APKBUILD
+++ b/testing/libspatialindex/APKBUILD
@@ -3,7 +3,7 @@
pkgname=libspatialindex
pkgver=0_git20210205
_commit=8ee223632f95c81f49f5eb2d547ad973475c4601
-pkgrel=0
+pkgrel=1
pkgdesc="extensible framework for robust spatial indexing methods"
url="https://libspatialindex.org/"
arch="all"
@@ -15,7 +15,7 @@ builddir="$srcdir/$pkgname-$_commit"
build() {
cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_PREFIX_PATH=/usr \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_TESTING=ON
diff --git a/testing/libspiro/APKBUILD b/testing/libspiro/APKBUILD
deleted file mode 100644
index 9c91214a399..00000000000
--- a/testing/libspiro/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Ed Robinson <ed@reevoo.com>
-# Maintainer: Ed Robinson <ed@reevoo.com>
-pkgname=libspiro
-pkgver=20200505
-pkgrel=0
-pkgdesc="Spiro is the creation of Raph Levien. It simplifies the drawing of beautiful curves."
-url="https://github.com/fontforge/libspiro"
-arch="all"
-license="GPL-3.0-or-later"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/fontforge/libspiro/releases/download/$pkgver/libspiro-dist-$pkgver.tar.gz"
-
-# secfixes:
-# 20200505-r0:
-# - CVE-2019-19847
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --disable-static
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="84627e8925bd6090cd7d234a0b5f3ee109d3341d24c038a0fb1ce4c09ab97fe8fc7eb92bc5df040d559c5ebe3b4fc8f51652a2538e155be9b2f3c78b96b706ee libspiro-dist-20200505.tar.gz"
diff --git a/testing/libspng/APKBUILD b/testing/libspng/APKBUILD
deleted file mode 100644
index 03eaa3be7c8..00000000000
--- a/testing/libspng/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Alex Yam <alex@alexyam.com>
-# Maintainer: Alex Yam <alex@alexyam.com>
-pkgname=libspng
-pkgver=0.7.1
-pkgrel=0
-pkgdesc="modern alternative to libpng"
-url="https://github.com/randy408/libspng"
-arch="all"
-license="BSD-2-Clause"
-makedepends="meson zlib-dev"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/randy408/libspng/archive/refs/tags/v$pkgver.tar.gz"
-
-build() {
- abuild-meson \
- -Ddefault_library=both \
- . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="4466919dbe33bbbb22ec8cb54eec920191d7cfd2b699769ff9b62fb8f0daf8b9bad15aacd5cb11ac92221dff3b10171d2ee62acb09868ad99b48f88cca74bc2f libspng-0.7.1.tar.gz"
diff --git a/testing/libstatgrab/APKBUILD b/testing/libstatgrab/APKBUILD
deleted file mode 100644
index 28db5605fb4..00000000000
--- a/testing/libstatgrab/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=libstatgrab
-pkgver=0.92.1
-pkgrel=0
-pkgdesc="Cross platform library for accessing system statistics"
-url="https://libstatgrab.org/"
-arch="all"
-license="LGPL-2.0-or-later"
-depends_dev="ncurses-dev"
-checkdepends="perl"
-makedepends="autoconf automake libtool utmps-dev linux-headers $depends_dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/libstatgrab/libstatgrab/releases/download/LIBSTATGRAB_0_92_1/libstatgrab-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-static
- make
-}
-
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-e1f14df8abbb044d02b0ecebc23fbe9effaa0bac6738686e661de015564df5a4d872edef6d07fd150db25764b449d47ef54beecbe12c51987a679b07edc53c97 libstatgrab-0.92.1.tar.gz
-"
diff --git a/testing/libstirshaken/0001-eradicate-Werror.patch b/testing/libstirshaken/0001-eradicate-Werror.patch
new file mode 100644
index 00000000000..a9b8a8e7a44
--- /dev/null
+++ b/testing/libstirshaken/0001-eradicate-Werror.patch
@@ -0,0 +1,36 @@
+From 8aa458351ef544dc65194214368815268953ccf9 Mon Sep 17 00:00:00 2001
+From: Leonardo Arena <rnalrd@alpinelinux.org>
+Date: Thu, 8 Feb 2024 09:08:06 +0000
+Subject: [PATCH] eradicate -Werror
+
+---
+ Makefile.am | 2 +-
+ configure.ac | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index f9e38df..3d80a7f 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,5 +1,5 @@
+ ACLOCAL_AMFLAGS = -I build/m4
+-AM_CFLAGS = -I./src -Iinclude -I$(srcdir)/include $(KS_CFLAGS) $(CURL_CFLAGS) $(JWT_CFLAGS) $(openssl_CFLAGS) -Wall -Wno-gnu-zero-variadic-macro-arguments -pedantic -Werror
++AM_CFLAGS = -I./src -Iinclude -I$(srcdir)/include $(KS_CFLAGS) $(CURL_CFLAGS) $(JWT_CFLAGS) $(openssl_CFLAGS) -Wall -Wno-gnu-zero-variadic-macro-arguments -pedantic
+
+ lib_LTLIBRARIES = libstirshaken.la
+ libstirshaken_la_SOURCES = src/stir_shaken.c src/stir_shaken_service.c src/stir_shaken_passport.c src/stir_shaken_verify.c src/stir_shaken_ssl.c src/stir_shaken_acme.c src/stir_shaken_sp.c src/stir_shaken_version.c
+diff --git a/configure.ac b/configure.ac
+index 0674352..ed24061 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1,6 +1,6 @@
+ AC_INIT([libstirshaken], [m4_esyscmd_s([git rev-parse HEAD])], [https://github.com/signalwire/libstirshaken], [libstirshaken], [signalwire.com])
+
+-AM_INIT_AUTOMAKE([subdir-objects -Wall -Werror foreign])
++AM_INIT_AUTOMAKE([subdir-objects -Wall foreign])
+
+ AC_CONFIG_MACRO_DIRS([build/m4])
+
+--
+2.42.0
+
diff --git a/testing/libstirshaken/APKBUILD b/testing/libstirshaken/APKBUILD
new file mode 100755
index 00000000000..51c64d69a33
--- /dev/null
+++ b/testing/libstirshaken/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+
+_gitcommit="6d99ee01ecb3d2930d5440b0e78e2cb3b1f3f326"
+
+pkgname=libstirshaken
+pkgver=0_git20240208
+pkgrel=2
+pkgdesc="C library implementing STIR-shaken STI-SP AS/VS, STI-CA"
+url="https://github.com/signalwire/libstirshaken"
+arch="all"
+license="MIT"
+subpackages="$pkgname-dev $pkgname-tools"
+makedepends="autoconf automake bash curl-dev libjwt-dev libks-dev libtool util-linux-dev"
+options="!check" # FAIL: Failed to write cert to disk. test/stir_shaken_test_8.c:116
+source="$pkgname-$pkgver.tar.gz::https://github.com/signalwire/libstirshaken/archive/$_gitcommit.tar.gz
+ 0001-eradicate-Werror.patch
+ "
+builddir="$srcdir/$pkgname-$_gitcommit"
+
+build() {
+ autoreconf -i
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+}
+
+check() {
+ make check
+}
+
+tools() {
+ pkgdesc="libstirshaken binary tools"
+ amove usr/bin
+}
+
+sha512sums="
+93ca507f11e28be4c5fdee41e3a3de6d755bb1c0db7ff55b28cc4e35f4ce583f39ec6e43f090e5d3506afc72f94ecd049d2b726bfd31085d683a0436bf9d1e15 libstirshaken-0_git20240208.tar.gz
+4f3a10416970d33c15736c1b3e751a91e603841d30e7fee18e77dbc46a15740967117230d6e032c7df3c5b3e05203141bb58ba52fd7e0ce918c85661f55d33c3 0001-eradicate-Werror.patch
+"
diff --git a/testing/libstrophe/APKBUILD b/testing/libstrophe/APKBUILD
deleted file mode 100644
index 6833e402862..00000000000
--- a/testing/libstrophe/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: j.r <j.r@jugendhacker.de>
-pkgname=libstrophe
-pkgver=0.11.0
-pkgrel=1
-pkgdesc="Simple, lightweight C library for writing XMPP clients"
-url="https://strophe.im/libstrophe/"
-arch="all"
-license="GPL-3.0-only MIT"
-makedepends="expat-dev openssl-dev"
-subpackages="$pkgname-dev"
-source="https://github.com/strophe/libstrophe/releases/download/$pkgver/libstrophe-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-e4b0d4a80e0ab5ada451ce55e44ec9247d4df5280ebe6453e49450aa7fa371461eb42fc9f39a0df12637146c6ce4202a1f770378686777228790c0213941d9ea libstrophe-0.11.0.tar.gz
-"
diff --git a/testing/libsv/APKBUILD b/testing/libsv/APKBUILD
new file mode 100644
index 00000000000..ddd84151698
--- /dev/null
+++ b/testing/libsv/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: qaqland <qaq@qaq.land>
+# Maintainer: qaqland <qaq@qaq.land>
+pkgname=libsv
+pkgver=1.2
+pkgrel=0
+pkgdesc="Public domain cross-platform semantic versioning in c99"
+url="https://github.com/uael/sv"
+arch="all"
+license="Unlicense"
+makedepends="cmake samurai"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/uael/sv/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/sv-$pkgver"
+
+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=None \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+9dd3747a8db2eb3852e01086ec5e1f7652e836f5e5e0cd3d593ce3afed9ef86b161e0b476d156fb298d66172d579e246863d76fc639aef48657b0e5547c52b4d libsv-1.2.tar.gz
+"
diff --git a/testing/libsymmetrica/APKBUILD b/testing/libsymmetrica/APKBUILD
new file mode 100644
index 00000000000..75aa968d58d
--- /dev/null
+++ b/testing/libsymmetrica/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libsymmetrica
+pkgver=3.0.1
+pkgrel=2
+pkgdesc="Library with a collection of routines for combinatorial mathematics"
+url="https://gitlab.com/sagemath/symmetrica"
+arch="all"
+license="ISC"
+makedepends="autoconf automake libtool"
+source="https://gitlab.com/sagemath/symmetrica/-/archive/$pkgver/symmetrica-$pkgver.tar.gz"
+subpackages="$pkgname-static $pkgname-dev"
+builddir="$srcdir/symmetrica-$pkgver"
+
+prepare() {
+ default_prepare
+ autoreconf -fi
+}
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ # It has just a README.md from repository.
+ rm -r "${pkgdir:?}"/usr/share
+}
+
+sha512sums="
+fd663ba1bf0d6ca91aa67cbb642f2a9150c7e938f3fef54b4227f67e1269b9f5b64af597aaebf158ce936441025d348db907fa0cbf0d7ddeca19985e8ea565de symmetrica-3.0.1.tar.gz
+"
diff --git a/testing/libsysstat/APKBUILD b/testing/libsysstat/APKBUILD
deleted file mode 100644
index da4b8c5030d..00000000000
--- a/testing/libsysstat/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=libsysstat
-pkgver=0.4.6
-pkgrel=0
-pkgdesc="Library used to query system info and statistics"
-url="https://github.com/lxqt/libsysstat"
-arch="all"
-license="LGPL-2.1-or-later"
-subpackages="$pkgname-dev"
-makedepends="lxqt-build-tools cmake qt5-qtbase-dev"
-options="!check" # No testsuite
-source="https://github.com/lxqt/libsysstat/releases/download/$pkgver/libsysstat-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- $CMAKE_CROSSOPTS .
- cmake --build build
-
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-dd0e6f67509658691082b043e06589c6a89eea016a0e68cdb7d377f25a0bc63aa476b5eb90f230593daab462a9e22f6f636c0723110fb36faeea7c0aa6d0b85b libsysstat-0.4.6.tar.xz
-"
diff --git a/testing/libtbox/APKBUILD b/testing/libtbox/APKBUILD
new file mode 100644
index 00000000000..353a63965ae
--- /dev/null
+++ b/testing/libtbox/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: qaqland <qaq@qaq.land>
+# Maintainer: qaqland <qaq@qaq.land>
+pkgname=libtbox
+pkgver=1.7.5
+pkgrel=1
+pkgdesc="A glib-like multi-platform c library"
+url="https://github.com/tboox/tbox"
+arch="all"
+license="Apache-2.0"
+subpackages="$pkgname-dev"
+makedepends="linux-headers"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tboox/tbox/archive/refs/tags/v$pkgver.tar.gz
+ $pkgname.pc
+ "
+builddir="$srcdir/tbox-$pkgver"
+
+prepare() {
+ default_prepare
+ chmod -x ./*.md
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --kind=shared \
+ --force_utf8=yes \
+ --charset=yes \
+ --float=yes \
+ --hash=yes
+ make
+}
+
+check() {
+ make run
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ rm "$pkgdir/usr/bin/demo"
+
+ mkdir -p "$pkgdir/usr/lib/pkgconfig/"
+ sed "s/@VERSION@/$pkgver/" "$srcdir/$pkgname.pc" > "$pkgdir/usr/lib/pkgconfig/$pkgname.pc"
+}
+
+sha512sums="
+e451b0e24db3c80028ec841f0696bcb9e086745f399de1a996955b6508f0504dc22931e0ef70f298a4776619e4b96dbe5f517275d26263b3ad1076d6b5292682 libtbox-1.7.5.tar.gz
+9b9e41014af55df80419fde320784e396a6a54005cf09393567f43ce146b94494090927fdfa2685edf3b72bc5ff4d155c99a037d4ea8c9a3cb649187ac4c9a32 libtbox.pc
+"
diff --git a/testing/libtbox/libtbox.pc b/testing/libtbox/libtbox.pc
new file mode 100644
index 00000000000..9d78fb84203
--- /dev/null
+++ b/testing/libtbox/libtbox.pc
@@ -0,0 +1,9 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: libtbox
+Description: A glib-like multi-platform c library
+Version: @VERSION@
+Libs: -ltbox
diff --git a/testing/libthai/APKBUILD b/testing/libthai/APKBUILD
new file mode 100644
index 00000000000..897be0ae911
--- /dev/null
+++ b/testing/libthai/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=libthai
+pkgver=0.1.29
+pkgrel=0
+pkgdesc="Thai language library"
+url="https://github.com/tlwg/libthai"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="doxygen libdatrie libdatrie-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/tlwg/libthai/releases/download/v$pkgver/libthai-$pkgver.tar.xz"
+
+build() {
+ ./configure \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+0ba1261581a1705a2a2546a3071acb3c63892dbf111f0dad415667165a6b9542a5e4549061c67b11ec53de7c9e70fceb3c04d794fd12a22d991a539dbacebda1 libthai-0.1.29.tar.xz
+"
diff --git a/testing/libtickit/APKBUILD b/testing/libtickit/APKBUILD
deleted file mode 100644
index 62c59e03f7e..00000000000
--- a/testing/libtickit/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Roberto Oliveira <robertoguimaraes8@gmail.com>
-# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
-pkgname=libtickit
-pkgver=0.4.2a
-pkgrel=0
-pkgdesc="library that provides an abstracted mechanism for building interactive full-screen terminal programs"
-url="http://www.leonerd.org.uk/code/libtickit/"
-arch="all" # disable x86* due to testsuite failure
-license="MIT"
-makedepends="libtermkey-dev libtool"
-checkdepends="perl-test-harness-utils"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-source="http://www.leonerd.org.uk/code/libtickit/libtickit-$pkgver.tar.gz
- missing-include.patch
- "
-
-prepare() {
- default_prepare
- sed -i -e "s/PREFIX=\/usr\/local/PREFIX=\/usr/g" Makefile
-}
-
-build() {
- make PREFIX=/usr
-}
-
-check() {
- # test is flawed
- rm t/11term-output-screen.c
- TERM=linux make test
-}
-
-package() {
- make install DESTDIR="$pkgdir"
-}
-
-static() {
- depends=""
- pkgdesc="$pkgdesc (static library)"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib
-}
-
-sha512sums="
-8bec53a52f731a2a312b78205e504de4e488c28855443718fe8fa0e0519d7c8749c4800e633c156e7066aac13a64430c50816df3615643d90a9ab829fbf31cfd libtickit-0.4.2a.tar.gz
-2936e5bdb60e9f2320be0dccec75cebd1aa3dce5343ad4c315405ed1e83da53fd11ab3ae4f782706aed60151e81e44405491c605f6c4e878cb18104eaa1113f4 missing-include.patch
-"
diff --git a/testing/libtickit/missing-include.patch b/testing/libtickit/missing-include.patch
deleted file mode 100644
index 5183e1b6ea8..00000000000
--- a/testing/libtickit/missing-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/include/tickit.h b/include/tickit.h
-index 1315b47..d1bba1c 100644
---- a/include/tickit.h
-+++ b/include/tickit.h
-@@ -17,6 +17,7 @@ extern "C" {
- #include <stdbool.h>
-
- #include <sys/time.h>
-+#include <sys/types.h> /* pid_t */
-
- #ifdef __GNUC__
- # define DEPRECATED __attribute__((deprecated))
diff --git a/testing/libtins/APKBUILD b/testing/libtins/APKBUILD
index 0da72c01993..8241c00f381 100644
--- a/testing/libtins/APKBUILD
+++ b/testing/libtins/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=libtins
-pkgver=4.3
-pkgrel=2
+pkgver=4.5
+pkgrel=0
pkgdesc="A high-level, multiplatform C++ network packet sniffing and crafting library"
url="http://libtins.github.io/"
arch="all"
license="BSD-2-Clause"
options="!check"
-makedepends="libpcap-dev openssl-dev boost-dev cmake"
+makedepends="libpcap-dev openssl-dev>3 boost-dev cmake"
subpackages="$pkgname-dev $pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/mfontanini/libtins/archive/v$pkgver.tar.gz"
@@ -30,4 +30,6 @@ package() {
make DESTDIR="$pkgdir" install
install -Dm644 ../LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-sha512sums="29d606004fe9a440c9a53eede42fd5c6dbd049677d2cca2c5cfd26311ee2ca4c64ca3e665fbc81efd5bfab5577a5181ed0754c617e139317d9ae0cabba05aff7 libtins-4.3.tar.gz"
+sha512sums="
+d8887949cb545dbaf4247c8405feb5cc1032f370bb418dd5344043dc97555b1b826a8d33cfc7dd0a7a9a9af6f3a46bd6fcbed89f98d5eb23fdd10294f823fcd6 libtins-4.5.tar.gz
+"
diff --git a/testing/libtommath/APKBUILD b/testing/libtommath/APKBUILD
index 1bf191ae195..2d8f438d470 100644
--- a/testing/libtommath/APKBUILD
+++ b/testing/libtommath/APKBUILD
@@ -1,35 +1,30 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=libtommath
-pkgver=0_git20210921
-_gitrev=8355b88db088e41d6f7e19a8d58d46c9ed0333d3
+pkgver=1.2.1
pkgrel=0
pkgdesc="number theoretic multiple-precision integer library"
url="https://www.libtom.net/LibTomMath/"
-# arch: all except x86 and x86_64 failed 2 tests:
-# test_mp_sqrtmod_prime, line 726: DO(mp_sqrtmod_prime(&b, &a, &c)) failed: Value out of range
-# test_mp_kronecker, line 345: EXPECT(i == kronecker[cnt].c[m + 10]) failed
-arch="all !armhf !armv7 !aarch64 !ppc64le !s390x !mips !mips64"
+arch="all"
license="Unlicense"
makedepends="libtool"
-checkdepends="coreutils" # Using BusyBox's "timeout" resulted in - unrecognized option: foreground
subpackages="$pkgname-dev"
-source="$pkgname-$_gitrev.tar.gz::https://github.com/libtom/libtommath/archive/$_gitrev.tar.gz"
-builddir=$srcdir/$pkgname-$_gitrev
+source="$pkgname-$pkgver.tar.xz::https://github.com/libtom/libtommath/releases/download/v$pkgver/ltm-$pkgver.tar.xz"
+
+# secfixes:
+# 1.2.1-r0:
+# - CVE-2023-36328
build() {
make -f makefile.shared
}
check() {
- # testme.sh runs its own CC and make
- # resulting in .lo files in $builddir that break package() with error:
- # "libtool: error: 'mp_2expt.lo' is not a valid libtool object"
- # clone $builddir to testdir for running testme.sh
- cp -rp $builddir $builddir/../testdir
- cd $builddir/../testdir
- ./testme.sh
- cat test_gcc.log
+ # make test creates a stand-alone test binary that executes several test routines.
+ # clone $builddir to testdir for running tests
+ cp -rp $builddir $srcdir/testdir
+ cd $srcdir/testdir
+ make test
}
package() {
@@ -37,5 +32,5 @@ package() {
}
sha512sums="
-5f763bf0d38e8a6bab741dc3100894baece89eccbf5c76f78bc144a2a2499486bde552f5c9817722563717cc12e86e55cd69ef977f8d9f48d72893663f811914 libtommath-8355b88db088e41d6f7e19a8d58d46c9ed0333d3.tar.gz
+50c9459357aa7f5076af93de6701c617da0dbbf2230a2f4468062704a6cd6e9d3c2fbb27016f68a7e1d6b35d6ddb2088630b24ea6acc20ed8c19594913d36e95 libtommath-1.2.1.tar.xz
"
diff --git a/testing/libtpms/APKBUILD b/testing/libtpms/APKBUILD
deleted file mode 100644
index 396d5552ae6..00000000000
--- a/testing/libtpms/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
-# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
-pkgname=libtpms
-pkgver=0.9.2
-pkgrel=0
-pkgdesc="library providing software emulation of a Trusted Platform Module (TPM 1.2 and TPM 2.0)"
-url="https://github.com/stefanberger/libtpms"
-arch="aarch64 armhf x86 x86_64"
-license="BSD-3-Clause"
-makedepends="autoconf automake build-base gawk libtool make openssl-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- NOCONFIGURE=1 ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --libdir=/usr/lib \
- --with-tpm2 \
- --with-openssl
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-387c486effab97ca6d912fd207177a0e67693951d5488475a449ebad6fb18f81731d3d6b030620e7f0768145b07fed07992141bcd8f8f744ebe322345b86e20d libtpms-0.9.2.tar.gz
-"
diff --git a/testing/libtree/APKBUILD b/testing/libtree/APKBUILD
deleted file mode 100644
index 4b8fb263831..00000000000
--- a/testing/libtree/APKBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=libtree
-pkgver=2.0.0
-pkgrel=0
-pkgdesc="ldd as a tree with an option to bundle dependencies into a single folder"
-url="https://github.com/haampie/libtree"
-arch="all"
-license="MIT"
-depends="cmd:chrpath cmd:strip"
-makedepends="
- cmake
- cxxopts-dev
- elfio-dev
- termcolor-dev
- "
-checkdepends="
- bash
- diffutils
- gtest-dev
- "
-subpackages="$pkgname-doc"
-source="https://github.com/haampie/libtree/archive/v$pkgver/libtree-$pkgver.tar.gz
- alpine-skip-default.patch
- fix-default-platform.patch
- "
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DLIBTREE_BUILD_TESTS=$(want_check && echo ON || echo OFF) \
- -DLIBTREE_DEFAULT_PLATFORM=$CARCH \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-9272afd8540110f43ade864a2df58d8b8a7690c79cd29a9804b43e7e550bc05a4da530a763a27bd85a474673055e7a5ba63c0aa0bcaf8b246fbfc73a4f36c870 libtree-2.0.0.tar.gz
-ff0fc62afe71ef21f3e0dba5f4983c81f29fd2164ea4703343a5c6dd830fdf9a080359d07a1a47f5c7cce4890eb6fb308e36184b7fa8a80716476606ccb36268 alpine-skip-default.patch
-52570245e0fabc17f5bf1c14c427e56a08eb7b4623c4da272a102ff7ced9290c5a11c2bf5e11f3b8c5bfea8d5d24edb82c622c4ac9e6eeacd11e9286b2c5f6c4 fix-default-platform.patch
-"
diff --git a/testing/libtree/alpine-skip-default.patch b/testing/libtree/alpine-skip-default.patch
deleted file mode 100644
index 974cd4ace4d..00000000000
--- a/testing/libtree/alpine-skip-default.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Sat, 11 Dec 2021 13:49:00 +0100
-Subject: [PATCH] Add option --skip-default
-
-The built-in skip/exclude list (include/libtree/excludelist.hpp) has been
-taken [1] from the AppImages project [2] and it's quite
-major-glibc-distros-centric, so not very useful on Alpine Linux.
-
-This patch disables the usage of this list, unless --skip-default is used.
-
-[1]: https://github.com/haampie/libtree/commit/6f5e6bb3aa69f73d8ba0c02c11a876280f78497f
-[2]: https://raw.githubusercontent.com/probonopd/AppImages/master/excludelist
-
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -38,7 +38,8 @@
- ("l,ldconf", "Path to custom ld.conf to test settings", cxxopts::value<std::string>()->default_value("/etc/ld.so.conf"))
- ("s,skip", "Skip library and its dependencies from being deployed or inspected", cxxopts::value<std::vector<std::string>>())
- ("platform", "Platform used for interpolation in rpaths", cxxopts::value<std::string>()->default_value(default_platform))
-- ("b,binary", "Binary to inspect", cxxopts::value<std::vector<std::string>>());
-+ ("b,binary", "Binary to inspect", cxxopts::value<std::vector<std::string>>())
-+ ("skip-default", "Skip libraries on the AppImages' exclude list (Alpine-specific option; this is always enabled in the original libtree)", cxxopts::value<bool>()->default_value("false"));
-
- options.add_options("B. Copying libs")
- ("d,destination", "OPTIONAL: When a destination is set to a folder, all binaries and their dependencies are copied over", cxxopts::value<std::string>())
-@@ -79,6 +80,11 @@
- return 0;
- }
-
-+ if (!result["skip-default"].count())
-+ generatedExcludelist.clear();
-+
-+ generatedExcludelist.insert(std::string("libc.musl-") + platform + ".so.1");
-+
- if (result["skip"].count()) {
- auto const &list = result["skip"].as<std::vector<std::string>>();
- for (auto const &lib : list)
diff --git a/testing/libtree/fix-default-platform.patch b/testing/libtree/fix-default-platform.patch
deleted file mode 100644
index a7c87d634ec..00000000000
--- a/testing/libtree/fix-default-platform.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Sat, 11 Dec 2021 23:20:00 +0100
-Subject: [PATCH] Allow to override default_platform
-
-`getauxval(AT_PLATFORM)` works as intended only on x86_64 and aarch64.
-It returns v8lmain on armhf and armv7, power9main on ppc64le, i686main
-on x86.
-
-This is a low-effort patch, a better solution would be utsname.
-
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -18,7 +21,9 @@
- int main(int argc, char ** argv) {
- cxxopts::Options options("libtree", "Show the dependency tree of binaries and optionally bundle them into a single folder.");
-
--#if defined(LIBTREE_HAS_AUXV_HEADER)
-+#if defined(LIBTREE_DEFAULT_PLATFORM)
-+ auto default_platform = LIBTREE_DEFAULT_PLATFORM;
-+#elif defined(LIBTREE_HAS_AUXV_HEADER)
- auto default_platform = reinterpret_cast<char const *>(getauxval(AT_PLATFORM));
- #else
- // Default to x86_64 substitution for PLATFORM if getauxval is not available.
---- a/CMakeLists.txt
-+++ b.CMakeLists.txt
-@@ -35,6 +35,7 @@
- add_executable(libtree ${CMAKE_CURRENT_SOURCE_DIR}/src/main.cpp)
- target_link_libraries(libtree libtree_lib cxxopts::cxxopts)
- target_compile_definitions(libtree PRIVATE $<$<BOOL:${LIBTREE_HAS_AUXV_HEADER}>:LIBTREE_HAS_AUXV_HEADER>)
-+target_compile_definitions(libtree PRIVATE LIBTREE_DEFAULT_PLATFORM=\"${LIBTREE_DEFAULT_PLATFORM}\")
-
- set_property(TARGET libtree_lib PROPERTY CXX_STANDARD 17)
- set_property(TARGET libtree PROPERTY CXX_STANDARD 17)
diff --git a/testing/libtsm/APKBUILD b/testing/libtsm/APKBUILD
new file mode 100644
index 00000000000..35258ba7d57
--- /dev/null
+++ b/testing/libtsm/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=libtsm
+pkgver=4.0.2
+pkgrel=0
+pkgdesc="Terminal-emulator State Machine"
+url="https://github.com/Aetf/libtsm"
+arch="all"
+license="MIT AND BSD-2-Clause"
+makedepends="cmake samurai"
+checkdepends="check-dev"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Aetf/libtsm/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)"
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+58eb955012fd154b7c165d799d0f80c9a71a504481e78471103fd299f2e73f3b7d89487387166895a9a5996165344335baa56f0550317caaa2eec6b0bad55e59 libtsm-4.0.2.tar.gz
+"
diff --git a/testing/libubox/APKBUILD b/testing/libubox/APKBUILD
new file mode 100644
index 00000000000..da21285b060
--- /dev/null
+++ b/testing/libubox/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
+pkgname=libubox
+pkgver=20230523
+pkgrel=0
+pkgdesc="OpenWrt utility and data structures library"
+url="https://git.openwrt.org/project/ustream-ssl.git"
+arch="all"
+license="ISC"
+depends=""
+depends_dev="libubox json-c-dev"
+makedepends="cmake $depends_dev"
+subpackages="libblobmsg jshn $pkgname-static $pkgname-dev"
+_owrtgit=75a3b870
+_owrtver="${pkgver:0:4}-${pkgver:4:2}-${pkgver:6:2}-${_owrtgit}"
+source="https://sources.openwrt.org/libubox-${_owrtver}.tar.xz"
+builddir="$srcdir/libubox-${_owrtver}"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ CFLAGS="$CFLAGS -fPIC -DPIC" cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ -DBUILD_LUA=OFF \
+ -DBUILD_EXAMPLES=OFF \
+ $CMAKE_CROSSOPTS .
+ cmake --build build
+}
+
+jshn() {
+ amove usr/bin/jshn
+ amove usr/share/libubox/jshn.sh
+}
+
+libblobmsg() {
+ amove usr/lib/libblobmsg_json.so
+ amove usr/lib/libjson_script.so
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+67cac344dc58bccd54937a8a32d8492be8b8d007b2419c3b90e6290d5ac995934c9de6f29f3a0e48382b9ef2af83ec2e4a2a97c346b4de2d42999b70eecfaf88 libubox-2023-05-23-75a3b870.tar.xz
+"
diff --git a/testing/libucl/APKBUILD b/testing/libucl/APKBUILD
new file mode 100644
index 00000000000..8f16e09b373
--- /dev/null
+++ b/testing/libucl/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=libucl
+pkgver=0.9.0
+pkgrel=0
+pkgdesc="Universal configuration library parser"
+url="https://github.com/vstakhov/libucl"
+arch="all"
+license="BSD-2-Clause"
+makedepends="
+ autoconf
+ automake
+ libtool
+ "
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/vstakhov/libucl/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # fail for no reason
+
+prepare() {
+ default_prepare
+ autoreconf -fvi
+}
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --build=$CBUILD \
+ --host=$CHOST
+
+ make
+}
+
+check() {
+ make -j1 check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+a7bcb03dc3b5e3b8e5c141fb3edee0c749e20d63ad69fba4d3c6ca56ef56b1130287b0f497de37bf9789c2263a46121c662fedc7a870354c2849d2e14d90cab5 libucl-0.9.0.tar.gz
+"
diff --git a/testing/libuecc/APKBUILD b/testing/libuecc/APKBUILD
index 3fa9028d842..8add61d168e 100644
--- a/testing/libuecc/APKBUILD
+++ b/testing/libuecc/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
-# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=libuecc
pkgver=7
-pkgrel=2
+pkgrel=3
pkgdesc="Very small Elliptic Curve Cryptography library"
url="https://git.universe-factory.net/libuecc"
arch="all"
diff --git a/testing/libui/APKBUILD b/testing/libui/APKBUILD
index df6b4635261..508b500503d 100644
--- a/testing/libui/APKBUILD
+++ b/testing/libui/APKBUILD
@@ -1,4 +1,4 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
+# Maintainer:
pkgname=libui
pkgver=4.1_alpha20211213
_commit=fea45b2d5b75839be0af9acc842a147c5cba9295
@@ -20,7 +20,7 @@ build() {
pwd
echo $builddir
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
diff --git a/testing/libunicode/APKBUILD b/testing/libunicode/APKBUILD
new file mode 100644
index 00000000000..79befe2d44f
--- /dev/null
+++ b/testing/libunicode/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=libunicode
+pkgver=0.4.0
+pkgrel=0
+pkgdesc="Modern C++17 Unicode library"
+url="https://contour-terminal.org"
+arch="x86_64 aarch64" # 'intrinsics' has not been declared
+license="Apache-2.0"
+makedepends="
+ catch2-3
+ cmake
+ fmt-dev
+ python3
+ samurai
+ unicode-character-database
+"
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-tools
+"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/contour-terminal/libunicode/archive/refs/tags/v$pkgver.tar.gz
+ rm-catch2-supression.patch
+"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=ON \
+ -DLIBUNICODE_UCD_DIR=/usr/share/unicode \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIBUNICODE_TESTING=ON
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build -C Release --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+tools() {
+ pkgdesc="$pkgdesc - query tools"
+
+ mkdir -p "$subpkgdir"/usr/bin
+ mv "$pkgdir"/usr/bin/unicode-query -t "$subpkgdir"/usr/bin
+}
+
+sha512sums="
+48be9f3397f97432ae6a4d6e116fd8e77abf7d085b5dbb74c45828671fd45b6f5ee0e54751cf4aeeec61ab025b6831232cdb9ed1c34e1e7a4ebf84bbe1b4f84b libunicode-0.4.0.tar.gz
+449d88a998259688efec173d36d9bef1171e92f1b2cb3c28b9960417479e1300a849ff9a0fb40453f75375df5d795d2a479bef6eb75a761d66fea9a3f5fb89c6 rm-catch2-supression.patch
+"
diff --git a/testing/libunicode/rm-catch2-supression.patch b/testing/libunicode/rm-catch2-supression.patch
new file mode 100644
index 00000000000..4e47af0d3fe
--- /dev/null
+++ b/testing/libunicode/rm-catch2-supression.patch
@@ -0,0 +1,17 @@
+--- a/src/libunicode/CMakeLists.txt
++++ b/src/libunicode/CMakeLists.txt
+@@ -220,14 +220,6 @@
+ word_segmenter_test.cpp
+ )
+
+- # supress conversion warnings for Catch2
+- # https://github.com/catchorg/Catch2/issues/2583
+- # https://github.com/SFML/SFML/blob/e45628e2ebc5843baa3739781276fa85a54d4653/test/CMakeLists.txt#L18-L22
+- set_target_properties(Catch2 PROPERTIES COMPILE_OPTIONS "" EXPORT_COMPILE_COMMANDS OFF)
+- set_target_properties(Catch2WithMain PROPERTIES EXPORT_COMPILE_COMMANDS OFF)
+- get_target_property(CATCH2_INCLUDE_DIRS Catch2 INTERFACE_INCLUDE_DIRECTORIES)
+- target_include_directories(Catch2 SYSTEM INTERFACE ${CATCH2_INCLUDE_DIRS})
+-
+ target_link_libraries(unicode_test unicode Catch2::Catch2WithMain fmt::fmt-header-only)
+ add_test(unicode_test unicode_test)
+ endif()
diff --git a/testing/libuninameslist/APKBUILD b/testing/libuninameslist/APKBUILD
index f7c3e679410..b52e0dce833 100644
--- a/testing/libuninameslist/APKBUILD
+++ b/testing/libuninameslist/APKBUILD
@@ -1,23 +1,21 @@
# Contributor: Ed Robinson <ed@reevoo.com>
# Maintainer: Ed Robinson <ed@reevoo.com>
pkgname=libuninameslist
-pkgver=20210626
+pkgver=20230916
pkgrel=0
pkgdesc="A Library of Unicode names and annotation data"
url="https://github.com/fontforge/libuninameslist"
arch="all"
license="BSD-3-Clause"
-makedepends="autoconf automake libtool"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
+subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/fontforge/libuninameslist/releases/download/$pkgver/libuninameslist-dist-$pkgver.tar.gz"
-prepare() {
- default_prepare
- autoreconf -fi
-}
-
build() {
- ./configure --prefix=/usr
+ ./configure \
+ --prefix=/usr \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --disable-static
make
}
@@ -29,12 +27,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-static() {
- depends=""
- pkgdesc="$pkgdesc (static library)"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/*.a "$subpkgdir"/usr/lib
-}
sha512sums="
-aa28179b837609ccea4c15c1870fc8210c11fbb6e73d8a6e0843e8faa957fe6efd1824ec5818a2f46be427ba3a98f6a04f59102f6e1d01d38098f488c940d766 libuninameslist-dist-20210626.tar.gz
+32d5c59b0bdc07332dc24d4d6adc4f9173c8e9f41cad1adf1c6f5b9dd0ef8dd62a4ca3c8151d8ef4b5cb7f9ea4df63d8b63e906658b7d7062c5a17edd452c3e5 libuninameslist-dist-20230916.tar.gz
"
diff --git a/testing/libupnpp/APKBUILD b/testing/libupnpp/APKBUILD
deleted file mode 100644
index 456aae8ce86..00000000000
--- a/testing/libupnpp/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
-# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
-pkgname=libupnpp
-pkgver=0.21.0
-pkgrel=0
-pkgdesc="C++ wrapper for libupnp"
-url="https://framagit.org/medoc92/libupnpp"
-arch="all"
-license="LGPL-2.0-or-later"
-options="!check"
-makedepends="curl-dev expat-dev libnpupnp-dev"
-subpackages="$pkgname-dev"
-source="libupnpp-$pkgver.tar.gz::https://www.lesbonscomptes.com/upmpdcli/downloads/libupnpp-$pkgver.tar.gz"
-
-build() {
- ./configure --prefix=/usr
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="1032ef83e6880c1e4ae4903f6e175640b1d3da7090bfb04bf480f70d58436ef89e6a43886c86dcda2c4aab8370cbd0d5260601ac359a3dded0688ac2748d30fd libupnpp-0.21.0.tar.gz"
diff --git a/testing/libva-utils/APKBUILD b/testing/libva-utils/APKBUILD
deleted file mode 100644
index 842df52f908..00000000000
--- a/testing/libva-utils/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Contributor: Taner Tas <taner76@gmail.com>
-# Maintainer: Taner Tas <taner76@gmail.com>
-pkgname=libva-utils
-pkgver=2.12.0
-pkgrel=0
-pkgdesc="Intel VA-API Media Applications and Scripts for libva"
-options="!check" # Most tests fail
-url="https://github.com/01org/libva-utils"
-arch="all"
-license="MIT"
-makedepends="
- meson
- libva-dev
- libdrm-dev
- wayland-dev
- "
-source="https://github.com/01org/libva-utils/archive/$pkgver/libva-utils-$pkgver.tar.gz"
-
-build() {
- abuild-meson \
- -Ddrm=true \
- -Dx11=true \
- -Dwayland=true \
- -Dtests=false \
- . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-38ef214fa8cb67b5252915e134333fab46d911cc4c9884576013083023e782bccf045ec01534024e901de1143f1ae85f52cdf6e6fe087cb9f3bf727c206d9746 libva-utils-2.12.0.tar.gz
-"
diff --git a/testing/libva-vdpau-driver/APKBUILD b/testing/libva-vdpau-driver/APKBUILD
deleted file mode 100644
index d76e51b8a94..00000000000
--- a/testing/libva-vdpau-driver/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=libva-vdpau-driver
-pkgver=0.7.4
-pkgrel=2
-pkgdesc="VDPAU backend for VA API"
-options="!check" # No testsuite
-url="https://freedesktop.org/wiki/Software/vaapi"
-arch="all !mips !mips64" # fails to build on mips
-license="GPL-2.0-or-later"
-makedepends="libva-dev mesa-dev libvdpau-dev"
-source="https://freedesktop.org/software/vaapi/releases/libva-vdpau-driver/libva-vdpau-driver-$pkgver.tar.bz2
- libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch
- libva-vdpau-driver-0.7.4-glext-missing-definition.patch
- libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
- musl-fixes.patch"
-
-prepare() {
- default_prepare
- update_config_sub
-
- sed -e '/v4l2_buffer/d' \
- -e '/v4l2_format/d' \
- -i src/vdpau_video.c \
- -i src/vdpau_video.h
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="89f98dc1d7d590fb68f440dd1e37e025d64a621324e013e85dd1367681c07b09132fd2089539fc5b48934624648887a8a97539b4f07ddf9f56a8a456ad030094 libva-vdpau-driver-0.7.4.tar.bz2
-f60e84f88eca17e762e3d5a53404d0215bca27051c02ff3e4441ad2c2897c0c04297b8e7b4693c37404bde95d7b5d7a6392b4c17ab1ece5f1bd78e6af376b301 libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch
-5be5b00e3bc6df790bf1f0cde9606053ef70ee3c36f97dd1ba2eaa38251ce86124586a34c5e3d7fc20c331f9894b23ec22e7ae9d007aa15940221f2547ee64ee libva-vdpau-driver-0.7.4-glext-missing-definition.patch
-0890112bed4013de70272972be14f608b22935938160f65a2165cca715c1e8ec7e8c92c5b5c66c655932d1adbaf0aad2f979f0d541890daee385e544a6890f82 libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
-1152b2b9a6c33a5216757d41bbbb849e291066cfbd2a3657aad0e430544fc6e9020477ba66ef1178841d3321b28055510dd06a40f59cdc8f10b5651305d17014 musl-fixes.patch"
diff --git a/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch b/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch
deleted file mode 100644
index 74caee3483d..00000000000
--- a/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-VAEncH264VUIBufferType.patch
+++ /dev/null
@@ -1,29 +0,0 @@
->From fda3706eb74ba5ad874853969f3df3e372739c8d Mon Sep 17 00:00:00 2001
-From: "Xiang, Haihao" <haihao.xiang@intel.com>
-Date: Fri, 21 Jun 2013 12:55:30 +0800
-Subject: [PATCH] VAEncH264VUIBufferType and VAEncH264SEIBufferType are
- dropped from VA API
-
-The driver doesn't use them indeed
-
-Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
----
- src/vdpau_dump.c | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/src/vdpau_dump.c b/src/vdpau_dump.c
-index 899888b..610e7cd 100644
---- a/src/vdpau_dump.c
-+++ b/src/vdpau_dump.c
-@@ -59,8 +59,6 @@ const char *string_of_VABufferType(VABufferType type)
- _(VAEncSequenceParameterBufferType);
- _(VAEncPictureParameterBufferType);
- _(VAEncSliceParameterBufferType);
-- _(VAEncH264VUIBufferType);
-- _(VAEncH264SEIBufferType);
- #endif
- #if VA_CHECK_VERSION(0,31,1)
- _(VAQMatrixBufferType);
---
-1.7.9.5
-
diff --git a/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-glext-missing-definition.patch b/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-glext-missing-definition.patch
deleted file mode 100644
index b56d2683430..00000000000
--- a/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-glext-missing-definition.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/src/utils_glx.h~ 2012-10-05 16:02:58.000000000 +0100
-+++ b/src/utils_glx.h 2012-10-19 08:44:12.469642440 +0100
-@@ -48,6 +48,13 @@
- typedef void (*PFNGLXRELEASETEXIMAGEEXTPROC)(Display *, GLXDrawable, int);
- #endif
-
-+#if GL_GLEXT_VERSION >= 85
-+/* XXX: PFNGLMULTITEXCOORD2FPROC got out of the GL_VERSION_1_3_DEPRECATED
-+ block and is not defined if GL_VERSION_1_3 is defined in <GL/gl.h>
-+ Redefine the type here as an interim solution */
-+typedef void (*PFNGLMULTITEXCOORD2FPROC) (GLenum target, GLfloat s, GLfloat t);
-+#endif
-+
- #ifndef GL_FRAMEBUFFER_BINDING
- #define GL_FRAMEBUFFER_BINDING GL_FRAMEBUFFER_BINDING_EXT
- #endif
diff --git a/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch b/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
deleted file mode 100644
index ab3a4799863..00000000000
--- a/testing/libva-vdpau-driver/libva-vdpau-driver-0.7.4-libvdpau-0.8.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/vdpau_decode.c
-+++ b/src/vdpau_decode.c
-@@ -1289,7 +1289,7 @@
- driver_data,
- obj_context->vdp_decoder,
- obj_surface->vdp_surface,
-- (VdpPictureInfo)&obj_context->vdp_picture_info,
-+ (VdpPictureInfo *)&obj_context->vdp_picture_info,
- obj_context->vdp_bitstream_buffers_count,
- obj_context->vdp_bitstream_buffers
- );
diff --git a/testing/libva-vdpau-driver/musl-fixes.patch b/testing/libva-vdpau-driver/musl-fixes.patch
deleted file mode 100644
index d7f65328698..00000000000
--- a/testing/libva-vdpau-driver/musl-fixes.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -upr libva-vdpau-driver-0.7.4.orig/src/utils.c libva-vdpau-driver-0.7.4/src/utils.c
---- libva-vdpau-driver-0.7.4.orig/src/utils.c 2016-11-12 22:47:31.377199801 +0100
-+++ libva-vdpau-driver-0.7.4/src/utils.c 2016-11-12 22:48:09.130062386 +0100
-@@ -21,6 +21,7 @@
- #include "sysdeps.h"
- #include "utils.h"
- #include <time.h>
-+#include <sys/time.h>
- #include <errno.h>
-
- #define DEBUG 1
diff --git a/testing/libvisio2svg/APKBUILD b/testing/libvisio2svg/APKBUILD
index e49212a89ac..bd0be91012e 100644
--- a/testing/libvisio2svg/APKBUILD
+++ b/testing/libvisio2svg/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=libvisio2svg
pkgver=0.5.5
-pkgrel=1
+pkgrel=3
pkgdesc="Library/Utilities to convert Microsoft (MS) Visio Documents and Stencils (VSS and VSD) to SVG"
url="https://github.com/kakwa/libvisio2svg"
arch="all"
diff --git a/testing/libvmaf/APKBUILD b/testing/libvmaf/APKBUILD
new file mode 100644
index 00000000000..ab61f93c047
--- /dev/null
+++ b/testing/libvmaf/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Sam Nystrom <sam@samnystrom.dev>
+# Maintainer: Sam Nystrom <sam@samnystrom.dev>
+pkgname=libvmaf
+pkgver=3.0.0
+pkgrel=0
+pkgdesc="Perceptual video quality assessment based on multi-method fusion"
+url="https://github.com/Netflix/vmaf"
+arch="all"
+license="BSD-2-Clause-Patent"
+makedepends="meson nasm xxd"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Netflix/vmaf/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/vmaf-$pkgver/libvmaf"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+9e356bb274ce7d5d85a64d2a1a122ea9d267809edd83bb6e663fb348a1a46355882eb9044982bf679f03df7f93c6f66c9b0d9a94661979b2c722db30b21c4f32 libvmaf-3.0.0.tar.gz
+"
diff --git a/testing/libvmime/APKBUILD b/testing/libvmime/APKBUILD
index c489d0d1921..80ecd5cca6f 100644
--- a/testing/libvmime/APKBUILD
+++ b/testing/libvmime/APKBUILD
@@ -1,28 +1,43 @@
# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
pkgname=libvmime
-pkgver=0.9.2k4
-pkgrel=2
+pkgver=0.9.2_p4
+_pkgver=${pkgver//_p/k}
+pkgrel=10
pkgdesc="Library for working with RFC 5322, MIME messages and IMAP/POP/SMTP"
-arch="all"
-url="http://www.vmime.org"
+# ftbfs
+#arch="all"
+url="https://www.vmime.org/"
license="GPL-3.0-only"
# cmake config file isn't suitable for explicitely setting the TLS lib when it finds gnutls
-makedepends="libgsasl-dev openssl-dev cmake gtk+3.0-dev doxygen
- cppunit-dev graphviz !gnutls-dev"
+makedepends="
+ !gnutls-dev
+ cmake
+ cppunit-dev
+ doxygen
+ graphviz
+ gtk+3.0-dev
+ libgsasl-dev
+ icu-dev
+ openssl-dev
+ samurai
+ "
+checkdepends="icu-data-full"
subpackages="$pkgname-dbg $pkgname-dev"
-source="libvmime-$pkgver.tar.gz::https://github.com/Kopano-dev/vmime/archive/v$pkgver.tar.gz
- fix-icu-69-1.patch
+source="libvmime-$pkgver.tar.gz::https://github.com/Kopano-dev/vmime/archive/v$_pkgver.tar.gz
+ fix-icu-70-1.patch
+ gsasl-2.2.0.patch::https://github.com/kisli/vmime/commit/c750e899b8b3a76379167148468e164b7e52f6e2.patch
"
-builddir="$srcdir/vmime-$pkgver"
+builddir="$srcdir/vmime-$_pkgver"
# can't build in other directory because cmake config is broken here.
# library will not exist at package time.
build() {
- cmake -DCMAKE_BUILD_TYPE=None \
+ cmake -B . -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr/ \
-DVMIME_BUILD_TESTS=ON \
- -DVMIME_TLS_SUPPORT_LIB=openssl -B .
+ -DVMIME_TLS_SUPPORT_LIB=openssl
cmake --build .
}
@@ -31,12 +46,12 @@ check() {
}
package() {
- #cmake --install . ="$pkgdir"
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install .
mv "$pkgdir/usr/cmake" "$pkgdir/usr/lib/cmake"
}
sha512sums="
-90ebce51151944fe9cf09a8385b4ffe4db199c87e79579f66d70221f45a4bf4b048f3115077cff83536119af40ebe89eddacc301b54b7fb017438f44bd0f273c libvmime-0.9.2k4.tar.gz
-65c0c1ec56a9a56167bb8b18e01feee4ea65fa958f5e2f233aa13d0472a803574d8b2751b2e6011edcd1db119f91c66e2401fd4916eecbb3af04dc2e527c125c fix-icu-69-1.patch
+90ebce51151944fe9cf09a8385b4ffe4db199c87e79579f66d70221f45a4bf4b048f3115077cff83536119af40ebe89eddacc301b54b7fb017438f44bd0f273c libvmime-0.9.2_p4.tar.gz
+65c0c1ec56a9a56167bb8b18e01feee4ea65fa958f5e2f233aa13d0472a803574d8b2751b2e6011edcd1db119f91c66e2401fd4916eecbb3af04dc2e527c125c fix-icu-70-1.patch
+6a07daff1b3830a913df722ed736465e8bbe022ee18b3ba1b704d58d3db16d8bbaeba5daa2e0705792b69aa2ced96b7d3c21a5e43a87b6585eaa318db069054e gsasl-2.2.0.patch
"
diff --git a/testing/libvmime/fix-icu-69-1.patch b/testing/libvmime/fix-icu-70-1.patch
index 4b362e1c834..4b362e1c834 100644
--- a/testing/libvmime/fix-icu-69-1.patch
+++ b/testing/libvmime/fix-icu-70-1.patch
diff --git a/testing/libvoikko/APKBUILD b/testing/libvoikko/APKBUILD
new file mode 100644
index 00000000000..77b031706a6
--- /dev/null
+++ b/testing/libvoikko/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=libvoikko
+pkgver=4.3.2
+pkgrel=1
+pkgdesc="Voikko spelling, hyphenation and grammar checker"
+url="https://voikko.puimula.org/"
+arch="all"
+license="MPL-1.1 GPL-2.0-or-later LGPL-2.1-or-later"
+makedepends="foma python3"
+options="!check" # test suite is broken
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.puimula.org/voikko-sources/libvoikko/libvoikko-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-static \
+ --enable-hfst=false \
+ --with-dictionary-path=/usr/share/voikko
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ # python bindings
+ local sitedir=$(python3 -c "import site; print(site.getsitepackages()[0])")
+ mkdir -p "$pkgdir/$sitedir/"
+ cp python/libvoikko.py "$pkgdir/$sitedir/libvoikko.py"
+}
+
+sha512sums="
+d510a9344501f86b2f644c1237faf8709f02b5d17bca76f7934c8422495aeee307f12c60dde47df15a39c24c3311253d3dea2d0648050fc3a056a22497de695c libvoikko-4.3.2.tar.gz
+"
diff --git a/testing/libvolk/APKBUILD b/testing/libvolk/APKBUILD
deleted file mode 100644
index 762b91fc9ca..00000000000
--- a/testing/libvolk/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=libvolk
-pkgver=2.5.0
-_cpufeaturesver=0.6.0
-pkgrel=1
-pkgdesc="Vector-Optimized Library of Kernels"
-url="https://www.libvolk.org/"
-# libvolk provides hand-written SIMD code. Hence, support needs to be manually
-# added to new platforms. Currently only supported are:
-arch="armv7 aarch64 x86_64"
-license="GPL-3.0-or-later"
-depends="python3"
-makedepends="cmake py3-mako boost-dev orc-dev"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/gnuradio/volk/archive/v$pkgver.tar.gz
- cpu_features-$_cpufeaturesver.tar.gz::https://github.com/google/cpu_features/archive/v$_cpufeaturesver.tar.gz
- "
-builddir="$srcdir/volk-$pkgver"
-
-prepare() {
- default_prepare
-
- rm -r cpu_features
- ln -s "../cpu_features-$_cpufeaturesver" cpu_features
-}
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-check() {
- cmake --build build --target test
-}
-
-sha512sums="
-60b9d3aae57a3c0b40d5d5830f585b141245eb61e3d9991576f2bd8daad93bbe9938c963427e150edaff8f93b5e3d851a5736950d6573a955c4516255f43c00d libvolk-2.5.0.tar.gz
-006a2e05253712cf605ecabccdda63dd9325445f8d145d5e2432c4342332e652f318810997321849be131082db435d88143020fdc85268fba204586cf37eef0d cpu_features-0.6.0.tar.gz
-"
diff --git a/testing/libwbxml/APKBUILD b/testing/libwbxml/APKBUILD
index 1aa5c6ecb63..530c68998c1 100644
--- a/testing/libwbxml/APKBUILD
+++ b/testing/libwbxml/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=libwbxml
-pkgver=0.11.7
+pkgver=0.11.8
pkgrel=0
pkgdesc="A library to encode and decode WBXML (WAP Binary XML)."
url="https://github.com/libwbxml/libwbxml"
@@ -35,4 +35,6 @@ package() {
mv "$pkgdir"/usr/share/cmake "$pkgdir"/usr/lib
}
-sha512sums="fc855650661593596a158527682d2c40d800c1fa44169d79e9ca9c6d64d67b6c660807ed89b1bddd644f114c27711356627ac919af91fd7f19d409879505512f libwbxml-0.11.7.tar.gz"
+sha512sums="
+14b74e3d25f21ce4bf05f4ed546087817c698b5a44190c569b7691e26510b117118bf828e15beccaa4bdd2e744c45f9b5695b38eb7994f3af0f4f81f90ecff69 libwbxml-0.11.8.tar.gz
+"
diff --git a/testing/libwhich/APKBUILD b/testing/libwhich/APKBUILD
new file mode 100644
index 00000000000..546008c2bec
--- /dev/null
+++ b/testing/libwhich/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=libwhich
+pkgver=1.2.0
+pkgrel=0
+pkgdesc="Like which(1), but for dynamic libraries"
+url="https://github.com/vtjnash/libwhich"
+arch="all"
+license="MIT"
+checkdepends="sed zlib-dev"
+source="https://github.com/vtjnash/libwhich/archive/v$pkgver/libwhich-$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make install DESTDIR="$pkgdir"
+}
+
+sha512sums="
+004d6a0a06e7486f51118fd02167e2f3c0757956bbe40448f1443c7f8eeb8d322cdae1e61e1169e75166fc16ef10528b893198faadfb9024f8c39453e4204616 libwhich-1.2.0.tar.gz
+"
diff --git a/testing/libxisf/APKBUILD b/testing/libxisf/APKBUILD
new file mode 100644
index 00000000000..dd7a614317a
--- /dev/null
+++ b/testing/libxisf/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer: Clayton Craft <clayton@craftyguy.net>
+pkgname=libxisf
+pkgver=0.2.12
+pkgrel=0
+pkgdesc="library to load and write XISF format from PixInsight"
+url="https://gitea.nouspiro.space/nou/libXISF"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="cmake samurai"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://gitea.nouspiro.space/nou/libXISF/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
+
+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=None \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+f946ecfb14a74d9d9526d11ae33a43453eb376988f77e679e231100df62c12ced2500a151d1f6cc3422c3858f99c83692e45f6e0504cefd0871b10b69615682a libxisf-0.2.12.tar.gz
+"
diff --git a/testing/libxml++/APKBUILD b/testing/libxml++/APKBUILD
index 0c9be67e674..0054c103359 100644
--- a/testing/libxml++/APKBUILD
+++ b/testing/libxml++/APKBUILD
@@ -1,32 +1,40 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=libxml++
-pkgver=3.2.2
-pkgrel=0
+pkgver=5.0.3
+pkgrel=1
pkgdesc="C++ wrapper for the libxml XML parser library"
-url="http://libxmlplusplus.sourceforge.net/"
+url="https://libxmlplusplus.sourceforge.net/"
arch="all"
license="LGPL-2.1-or-later"
-makedepends="meson libxml2-dev glibmm-dev python3 perl doxygen graphviz"
-subpackages="$pkgname-dev $pkgname-doc"
+makedepends="
+ libxml2-dev
+ meson
+ mm-common
+ python3
+ "
+subpackages="$pkgname-dev"
source="https://download.gnome.org/sources/libxml++/${pkgver%.[0-9]*}/libxml++-$pkgver.tar.xz"
+options="!check" # fail against new libxml
build() {
abuild-meson \
+ -Db_lto=true \
-Dbuild-tests=true \
-Dbuild-examples=false \
- -Dbuild-documentation=true \
+ -Dbuild-documentation=false \
. output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
check() {
- meson test --no-rebuild -v -C output
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
- ln -s libxml++-3.0.pc "$pkgdir"/usr/lib/pkgconfig/libxml++.pc
}
-sha512sums="c000d438aae487b92de2a1c60277d5e3ad3bf93824fc8fa99684778ea2334a45bf621f8d253190bdadedc591772d9beee53a98ebc3e20015d2ca68e097c0a253 libxml++-3.2.2.tar.xz"
+sha512sums="
+418723a96f018fb8e332847d0ab601eda38c99d6be48c83b6cda6f07789e5ecac76bb417540e29d0abace2828a74eb1e08695ff2fc92ebf3e7458364547ef675 libxml++-5.0.3.tar.xz
+"
diff --git a/testing/libxmp/APKBUILD b/testing/libxmp/APKBUILD
new file mode 100644
index 00000000000..8bb63e845a3
--- /dev/null
+++ b/testing/libxmp/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+pkgname=libxmp
+pkgver=4.6.0
+pkgrel=0
+pkgdesc="Libxmp is a library that renders module files to PCM data"
+url="https://github.com/libxmp/libxmp/"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="cmake samurai"
+subpackages="$pkgname-dev"
+source="https://github.com/libxmp/libxmp/releases/download/libxmp-$pkgver/libxmp-$pkgver.tar.gz"
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto -DNDEBUG" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_STATIC=OFF \
+ -DWITH_UNIT_TESTS="$(want_check && echo ON || echo OFF)"
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+d287544c9b569515f1a3fa92d8d930097b252e84f86cba5dd70e9b4460d0fa70754ece45dcc7ec314e434d821b43207d700afb12c9df80b467d73e9d029baafe libxmp-4.6.0.tar.gz
+"
diff --git a/testing/libzim/APKBUILD b/testing/libzim/APKBUILD
deleted file mode 100644
index 8b5ad2943e6..00000000000
--- a/testing/libzim/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=libzim
-pkgver=6.3.0
-pkgrel=2
-pkgdesc="Reference implementation of the ZIM file format"
-url="https://openzim.org/"
-arch="all !mips !mips64" # tests crash
-license="GPL-2.0-or-later"
-makedepends="
- icu-dev
- libexecinfo-dev
- meson
- xapian-core-dev
- xz-dev
- zlib-dev
- zstd-dev
- "
-checkdepends="
- cython
- gtest-dev
- python3-dev
- "
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/openzim/libzim/archive/$pkgver.tar.gz"
-
-build() {
- LDFLAGS="$LDFLAGS -lexecinfo"
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-
- install -Dm 644 -t "$pkgdir/usr/share/doc/$pkgname/" README.md
-}
-
-sha512sums="822e293bb1dc376256063326951571b705e5735132a137f5966d0f6ed0bb8c8289765680503b449c271ffce7e771da1f304d9ab9455cfc968a2d9943a5955090 libzim-6.3.0.tar.gz"
diff --git a/testing/libzn_poly/APKBUILD b/testing/libzn_poly/APKBUILD
new file mode 100644
index 00000000000..8870c93ca45
--- /dev/null
+++ b/testing/libzn_poly/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=libzn_poly
+pkgver=0.9.2
+pkgrel=2
+pkgdesc="Library for polynomial arithmetic over Z/nZ"
+url="https://gitlab.com/sagemath/zn_poly"
+arch="all"
+# https://gitlab.com/sagemath/zn_poly/-/blob/master/COPYING
+license="( GPL-2.0-only OR GPL-3.0-only ) AND GPL-2.0-or-later AND LGPL-2.1-or-later"
+makedepends="gmp-dev python3"
+subpackages="$pkgname-static $pkgname-dev"
+source="https://gitlab.com/sagemath/zn_poly/-/archive/$pkgver/zn_poly-$pkgver.tar.gz"
+builddir="$srcdir/zn_poly-$pkgver"
+
+build() {
+ ## We need to explicitly set PIC because ld yields:
+ # src/misc.o: warning: relocation against `ZNP_version_string' in read-only section `.text'
+ # src/mulmid.o: relocation R_X86_64_PC32 against symbol `ZNP_tuning_info' can not be used when making a shared object; recompile with -fPIC
+ # final link failed: bad value
+ export CFLAGS="$CFLAGS -fPIC"
+
+ python3 makemakefile.py \
+ --cflags="${CFLAGS/-Os/-O3}" \
+ --cxxflags="${CXXFLAGS/-Os/-O3}" \
+ --ldflags="$LDFLAGS" > GNUmakefile
+ make all libzn_poly.so
+}
+
+check() {
+ make check
+}
+
+package() {
+ install -Dm644 include/zn_poly.h -t "$pkgdir"/usr/include/zn_poly
+ install -Dm644 include/wide_arith.h -t "$pkgdir"/usr/include/zn_poly
+ install -Dm755 libzn_poly.a -t "$pkgdir"/usr/lib
+ install -Dm755 libzn_poly-"$pkgver".so -t "$pkgdir"/usr/lib
+ ln -s libzn_poly-"$pkgver".so "$pkgdir"/usr/lib/libzn_poly-"${pkgver%.*}".so
+ ln -s libzn_poly-"${pkgver%.*}".so "$pkgdir"/usr/lib/libzn_poly.so
+}
+
+sha512sums="
+472994bdefdcc353983a5c831af0a49777582c422d069867802a268d8ab4c7b040cd88284dc066632e893d3a4cf5b4a88ac5f1910504b8b5d3c84306c56333bd zn_poly-0.9.2.tar.gz
+"
diff --git a/testing/libzookeeper/APKBUILD b/testing/libzookeeper/APKBUILD
deleted file mode 100644
index 0ff7375edff..00000000000
--- a/testing/libzookeeper/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Maciej Klak <klak.maciej@gmail.com>
-# Maintainer: Maciej Klak <klak.maciej@gmail.com>
-pkgname=libzookeeper
-pkgver=3.4.14
-pkgrel=1
-pkgdesc="The Apache ZooKeeper system for distributed coordination is a high-performance service for building distributed applications."
-url="https://zookeeper.apache.org"
-arch="all"
-license="Apache-2.0"
-subpackages="$pkgname-dev"
-options="!check" # No test suite
-source="http://www-eu.apache.org/dist/zookeeper/zookeeper-$pkgver/zookeeper-$pkgver.tar.gz
- fix-sprintf-overflow.patch"
-builddir="$srcdir/zookeeper-$pkgver/zookeeper-client/zookeeper-client-c"
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
-}
-
-build() {
- ./configure --prefix=/usr
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="b2e03d95f8cf18b97a46e2f53871cef5a5da9d5d80b97009375aed7fb35368c440ca944c7e8b64efabbc065f6fb98bb86239f7c1491f0490efc71876d5a7f424 zookeeper-3.4.14.tar.gz
-91c6ef3f4c8edf1e95ccbd85fc961760f21f4943631fc8a7f6e2a7984ca0fc6b381075ac55f7b91c6439e9c7dc2fdb74d016238250e5c156bbd1f4bc11e2abaa fix-sprintf-overflow.patch"
diff --git a/testing/libzookeeper/fix-sprintf-overflow.patch b/testing/libzookeeper/fix-sprintf-overflow.patch
deleted file mode 100644
index b0ea6db1e0c..00000000000
--- a/testing/libzookeeper/fix-sprintf-overflow.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/zookeeper.c
-+++ b/src/zookeeper.c
-@@ -3477,7 +3477,7 @@
-
- static const char* format_endpoint_info(const struct sockaddr_storage* ep)
- {
-- static char buf[128];
-+ static char buf[128 + 6]; // include space for the port :xxxxx
- char addrstr[128];
- void *inaddr;
- #ifdef WIN32
diff --git a/testing/licenseheaders/APKBUILD b/testing/licenseheaders/APKBUILD
index f66adf5afe3..50d198a4470 100644
--- a/testing/licenseheaders/APKBUILD
+++ b/testing/licenseheaders/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=licenseheaders
-pkgver=0.8.6
-pkgrel=1
+pkgver=0.8.8
+pkgrel=3
pkgdesc="Add/Replace license headers in a directory tree of source files"
url="https://github.com/johann-petrak/licenseheaders"
arch="noarch"
@@ -10,6 +10,7 @@ license="MIT"
depends="python3 py3-regex"
makedepends="py3-setuptools"
options="!check" # no tests
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/l/licenseheaders/licenseheaders-$pkgver.tar.gz"
build() {
@@ -17,7 +18,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="84f0250e332910c8814be1acc27c3c69a2b4ec4d565a9ba2fc04076cf3de4625ee6d0ffd39666a9f6bd91600c526e76a9960a58be087498eec959923cf4885a4 licenseheaders-0.8.6.tar.gz"
+sha512sums="
+3894d843493a7ac27763bc02265de2b7169989b1e6868146e64e4092355bc665e37b7d82e23c81f70040696298530d5ac424c255d8494573b5ace0abf93bc071 licenseheaders-0.8.8.tar.gz
+"
diff --git a/testing/lidarr/0001-disable-restart.patch b/testing/lidarr/0001-disable-restart.patch
new file mode 100644
index 00000000000..8dc5aebe628
--- /dev/null
+++ b/testing/lidarr/0001-disable-restart.patch
@@ -0,0 +1,20 @@
+Disable the restart functionality so the daemon can manage it.
+
+---
+ src/NzbDrone.Core/Lifecycle/LifecycleService.cs | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/NzbDrone.Core/Lifecycle/LifecycleService.cs b/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
+index 9ed36a42e..565641284 100644
+--- a/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
++++ b/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
+@@ -46,8 +46,7 @@ public void Shutdown()
+ public void Restart()
+ {
+ _logger.Info("Restart requested.");
+-
+- _eventAggregator.PublishEvent(new ApplicationShutdownRequested(true));
++ _eventAggregator.PublishEvent(new ApplicationShutdownRequested());
+
+ if (_runtimeInfo.IsWindowsService)
+ {
diff --git a/testing/lidarr/APKBUILD b/testing/lidarr/APKBUILD
new file mode 100644
index 00000000000..7d933812801
--- /dev/null
+++ b/testing/lidarr/APKBUILD
@@ -0,0 +1,102 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=lidarr
+pkgver=2.1.7.4030
+pkgrel=0
+pkgdesc="Music download automation for usenet and torrents."
+url="https://github.com/Lidarr/Lidarr"
+arch="x86_64 aarch64 armv7"
+license="GPL-3.0-only"
+options="net !check" # no tests
+depends="
+ aspnetcore6-runtime
+ chromaprint
+ sqlite-libs
+ "
+makedepends="
+ dotnet6-sdk
+ yarn
+ "
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/Lidarr/Lidarr/archive/refs/tags/v$pkgver.tar.gz
+ 0001-disable-restart.patch
+ lidarr.initd
+ lidarr.confd
+ package_info
+ "
+builddir="$srcdir/Lidarr-$pkgver"
+pkgusers="lidarr"
+pkggroups="lidarr"
+
+# map arch to dotnet
+case $CARCH in
+ x86_64) _dotnet_arch="x64" ;;
+ aarch64) _dotnet_arch="arm64" ;;
+ armv7) _dotnet_arch="arm" ;;
+ *) _dotnet_arch="$CARCH" ;;
+esac
+
+# custom variables
+_runtime="linux-musl-$_dotnet_arch"
+_framework="net6.0"
+_output="_output"
+_artifacts="$_output/$_framework/$_runtime/publish"
+
+prepare() {
+ default_prepare
+
+ # increase max opened files
+ ulimit -n 4096
+
+ # replace version info
+ local buildprops=src/Directory.Build.props
+ sed -i "/<AssemblyVersion>/s/>.*<\//>$pkgver<\//" "$buildprops"
+ sed -i "/<AssemblyConfiguration>/s/>.*<\//>master<\//" "$buildprops"
+
+ export BROWSERSLIST_IGNORE_OLD_DATA=true
+ yarn install --frozen-lockfile --network-timeout 120000
+}
+
+build() {
+ dotnet build src \
+ -p:RuntimeIdentifiers="$_runtime" \
+ -p:Configuration=Release \
+ -p:SelfContained=false \
+ -t:PublishAllRids
+ yarn build --env production --no-stats
+
+ # use fpcalc from chromaprint package
+ rm -f "$_artifacts"/fpcalc
+
+ # cleanup
+ find "$_artifacts" \( \
+ -name "ServiceUninstall.*" -o \
+ -name "ServiceInstall.*" -o \
+ -name "Lidarr.Windows.*" \) -delete
+
+ mv "$_output"/UI "$_artifacts"
+}
+
+package() {
+ local DESTDIR="$pkgdir"/usr/lib/lidarr
+
+ # use package_info to disable update feature
+ install -Dm644 "$srcdir"/package_info "$DESTDIR"/package_info
+ echo "PackageVersion=$pkgver-r$pkgrel" >>"$DESTDIR"/package_info
+
+ cp -af "$_artifacts" "$DESTDIR"/bin
+ chown -R "$pkgusers:$pkggroups" "$DESTDIR"
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+0f3a1ba1f0f8675c1a445e015583e443e51a0f4355df753cb2607d449e585cbded788644c7040a81b420334fcc79d61ae7755e63c1901292b7b2c847f7ba818c lidarr-2.1.7.4030.tar.gz
+753520379a6c5f2899b4ddfd820d5573598a32cb105f74c6fd978a3f2c98895cf709ef2d9afe2bae8c4856da86cb6a1364f5713ea7ef6a36bb21b5a5840c1471 0001-disable-restart.patch
+194dce13e5220d71ffe262d40dbd1b124166f158500a420a8032279baa8f046c1772857cb7f4ab9428384481b962ff4939de0e2cdc6197f91cd35d1c0871a8e4 lidarr.initd
+babbb145648ad296b53271db5c642edddb9d0a5173479c4e383c48aab1d6b616c176e1ef73ae78078f41b4e6ca0e5768a96b36d844a3669f59179226ba8e97ad lidarr.confd
+67c4dd1cf8259296d994c350dfd3962d23333071889ce0b4ef6b2f4cbb4349490c5dbe4dcc202c99bab7a5c4b7611be56d7c8835b2b13924526c45311db1c3fb package_info
+"
diff --git a/testing/lidarr/lidarr.confd b/testing/lidarr/lidarr.confd
new file mode 100644
index 00000000000..d4201334c6e
--- /dev/null
+++ b/testing/lidarr/lidarr.confd
@@ -0,0 +1,10 @@
+# Lidarr configuration options
+
+command_user="lidarr:lidarr" # user:group
+directory="/var/lib/lidarr"
+umask=0002
+supervisor="supervise-daemon"
+
+#logdir="/var/log/lidarr"
+#error_log="$logdir/error.log"
+#output_log="$logdir/output.log"
diff --git a/testing/lidarr/lidarr.initd b/testing/lidarr/lidarr.initd
new file mode 100644
index 00000000000..1363dbbf392
--- /dev/null
+++ b/testing/lidarr/lidarr.initd
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+
+# fallback values for /etc/conf.d/lidarr
+: ${command_user:=lidarr:lidarr}
+: ${directory:=/var/lib/lidarr}
+: ${umask:=0002}
+
+name=lidarr
+description="Lidarr daemon"
+command="/usr/lib/lidarr/bin/Lidarr"
+command_args="-nobrowser -data=$directory"
+command_background=true
+pidfile="/run/$name.pid"
+
+depend() {
+ need net
+ use dns logger netmount
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory"
+
+ if [ -n "$logdir" ]; then
+ checkpath -d -o "$command_user" "$logdir"
+ fi
+
+ if [ -n "$output_log" ]; then
+ checkpath -f -o "$command_user" "$output_log"
+ fi
+
+ if [ -n "$error_log" ]; then
+ checkpath -f -o "$command_user" "$error_log"
+ fi
+}
diff --git a/testing/lidarr/lidarr.pre-install b/testing/lidarr/lidarr.pre-install
new file mode 100644
index 00000000000..6ba2680d0e0
--- /dev/null
+++ b/testing/lidarr/lidarr.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S lidarr 2>/dev/null
+adduser -S -D -h /var/lib/lidarr -s /sbin/nologin -G lidarr -g lidarr lidarr 2>/dev/null
+
+exit 0
diff --git a/testing/lidarr/package_info b/testing/lidarr/package_info
new file mode 100644
index 00000000000..c2e444817cd
--- /dev/null
+++ b/testing/lidarr/package_info
@@ -0,0 +1,4 @@
+# PackageVersion is added by APKBUILD
+PackageAuthor=[alpine](https://pkgs.alpinelinux.org/packages)
+UpdateMethod=External
+Branch=master
diff --git a/testing/liferea/APKBUILD b/testing/liferea/APKBUILD
deleted file mode 100644
index 8f0cb811243..00000000000
--- a/testing/liferea/APKBUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# Contributor: Erwan Rouchet <lucidiot@brainshit.fr>
-# Maintainer: Erwan Rouchet <lucidiot@brainshit.fr>
-pkgname=liferea
-pkgver=1.13.7
-pkgrel=0
-pkgdesc="Desktop news aggregator for online news feeds and weblogs"
-arch="all !riscv64 !mips64" # webkit2gtk, libpeas
-url="https://lzone.de/liferea"
-license="GPL-2.0-or-later"
-depends="py3-gobject3 libpeas-python3"
-makedepends="
- glib-dev
- intltool
- gobject-introspection-dev
- libxml2-dev
- libxslt-dev
- sqlite-dev
- gtk+3.0-dev
- pango-dev
- webkit2gtk-dev
- json-glib-dev
- gsettings-desktop-schemas-dev
- libpeas-dev
- "
-source="https://github.com/lwindolf/liferea/releases/download/v$pkgver/liferea-$pkgver.tar.bz2"
-subpackages="$pkgname-doc $pkgname-lang"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-schemas-compile
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-doc() {
- default_doc
- mkdir -p "$subpkgdir/usr/share/liferea"
- mv "$pkgdir/usr/share/liferea/doc" "$subpkgdir/usr/share/liferea/"
-}
-
-sha512sums="
-ca2cd658a52b6ab0a42390611fd7e534944fd646514185efb9e649cf819378ae3c9afd2bfcb406fc145f1877cce6c767ad730be7d23cd065e4151b74687638e3 liferea-1.13.7.tar.bz2
-"
diff --git a/testing/lightdm-settings/APKBUILD b/testing/lightdm-settings/APKBUILD
new file mode 100644
index 00000000000..0281759f2c6
--- /dev/null
+++ b/testing/lightdm-settings/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Jakko <jahau@rocketmail.com>
+# Maintainer: Jakko <jahau@rocketmail.com>
+pkgname=lightdm-settings
+pkgver=2.0.2
+pkgrel=0
+pkgdesc="LightDM configuration tool – supports slick-greeter only"
+url="https://github.com/linuxmint/lightdm-settings"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="py3-setproctitle xrandr"
+makedepends="gettext-dev"
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/lightdm-settings/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ make
+}
+
+package() {
+ install -Dm755 usr/bin/lightdm-settings \
+ "$pkgdir"/usr/bin/lightdm-settings
+
+ install -Dm755 usr/lib/lightdm-settings/SettingsWidgets.py \
+ "$pkgdir"/usr/lib/lightdm-settings/SettingsWidgets.py
+
+ install -Dm755 usr/lib/lightdm-settings/lightdm-settings \
+ "$pkgdir"/usr/lib/lightdm-settings/lightdm-settings
+
+ cp -a usr/share "$pkgdir"/usr/share
+}
+
+sha512sums="
+aa64955f26bb6ea47ae9136e8299f48b3eaa803ca913a646af09f61d447a80bde67fa1d54c494577c7d72533e834d05c230031e252739dbe5389473b4f4bd55a lightdm-settings-2.0.2.tar.gz
+"
diff --git a/testing/lighthouse/APKBUILD b/testing/lighthouse/APKBUILD
deleted file mode 100644
index 6a5f6692fc0..00000000000
--- a/testing/lighthouse/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=lighthouse
-pkgver=2.0.1
-pkgrel=1
-pkgdesc="Ethereum 2.0 Client"
-url="https://lighthouse.sigmaprime.io/"
-arch="x86_64 aarch64" # limited by upstream
-license="Apache-2.0"
-makedepends="cargo cmake openssl-dev protoc"
-options="!check" # disable check as it takes too long
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sigp/lighthouse/archive/v$pkgver/lighthouse-$pkgver.tar.gz"
-
-export OPENSSL_NO_VENDOR=true
-export RUSTFLAGS="$RUSTFLAGS -L /usr/lib/"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked \
- --workspace \
- --exclude ef_tests \
- --exclude eth1 \
- --exclude genesis
-}
-
-package() {
- install -D -m755 "target/release/lighthouse" "$pkgdir/usr/bin/lighthouse"
-
- install -Dm 644 -t "$pkgdir/usr/share/doc/lighthouse" README.md
-}
-
-sha512sums="
-c4edabae566fec8cc1c88b7efa73683cf963d15bf1f44a4da35dc9361ad82d684c2844ff02c4a2fdbab7a790e16a9ccd3822c696412be3f769e986b49ff1e0f0 lighthouse-2.0.1.tar.gz
-"
diff --git a/testing/lilv/APKBUILD b/testing/lilv/APKBUILD
deleted file mode 100644
index f083baf2185..00000000000
--- a/testing/lilv/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=lilv
-pkgver=0.24.12
-pkgrel=3
-pkgdesc="C library for simpler use of LV2 plugins"
-url="https://drobilla.net/software/lilv"
-arch="all"
-license="ISC"
-makedepends="lv2-dev python3 serd-dev libsndfile-dev sord-dev sratom-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="http://download.drobilla.net/lilv-$pkgver.tar.bz2"
-options="!check" # No tests
-
-build() {
- python3 waf configure --prefix=/usr
- python3 waf build
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="ea22db4e995792b62d60d793169c792549b8fb0255c2cf7a85780dd149811921e2fae5eaea0fb83465f01b14dfa66361af3be40bf7cb3733e98655b943f4faee lilv-0.24.12.tar.bz2"
diff --git a/testing/limkd/APKBUILD b/testing/limkd/APKBUILD
new file mode 100644
index 00000000000..cd324239eb0
--- /dev/null
+++ b/testing/limkd/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Miles Alan <m@milesalan.com>
+pkgname=limkd
+pkgver=0.1.2
+pkgrel=0
+pkgdesc="Libinput multipress key daemon"
+url="https://git.sr.ht/~mil/limkd"
+arch="aarch64 x86_64" # Limited by zig aport
+license="GPL-3.0-or-later"
+makedepends="
+ libinput-dev
+ libevdev-dev
+ zig
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://git.sr.ht/~mil/limkd/archive/$pkgver.tar.gz
+ "
+subpackages="$pkgname-doc"
+
+# We may want other than "baseline" for other targets, when enabled by zig
+case "$CARCH" in
+ aarch64|x86_64) cputarget=baseline ;;
+esac
+
+build() {
+ zig build -Drelease-safe=true ${cputarget:+-Dcpu="$cputarget"}
+}
+
+package() {
+ install -Dm755 zig-out/bin/limkd -t "$pkgdir/usr/bin/"
+ install -Dm644 limkd.1 -t "$pkgdir/usr/share/man/man1/"
+}
+
+sha512sums="
+2b4bdfef19759e12607e125318d4fbb45b0ea897c81c0d45a6f67d262c2225ed02bc785276a3ce5c8051b33ab9d0b6d6c20b928d136d08fec226e9d7c82756ab limkd-0.1.2.tar.gz
+"
diff --git a/testing/limnoria/APKBUILD b/testing/limnoria/APKBUILD
new file mode 100644
index 00000000000..cf47f4009c5
--- /dev/null
+++ b/testing/limnoria/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=limnoria
+pkgver=20220927
+_pkgver=2022-09-27
+pkgrel=3
+pkgdesc="A robust, full-featured, and user/programmer-friendly Python IRC bot, with many existing plugins"
+url="https://limnoria.net/"
+arch="noarch"
+license="BSD-3-Clause"
+depends="python3 py3-cryptography"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest py3-mock"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://github.com/progval/Limnoria/archive/refs/tags/master-$_pkgver.tar.gz"
+builddir="$srcdir/Limnoria-master-$_pkgver"
+options="!check" # check requires installing limnoria before testing
+# https://github.com/progval/Limnoria/blob/master/.github/workflows/test.yml
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+9e8d57c34d1ff23e1772be618d9f9a8fae909200d3002ea97a95a5ba6545781d68194c4c796fa7f8683a0f3a267566ade01dd74f26110e7e0febef8ff739d88a master-2022-09-27.tar.gz
+"
diff --git a/testing/links-graphics/APKBUILD b/testing/links-graphics/APKBUILD
index 770abd75678..fd1ca8757dd 100644
--- a/testing/links-graphics/APKBUILD
+++ b/testing/links-graphics/APKBUILD
@@ -1,25 +1,38 @@
# Contributor: Jeremy O'Brien <neutral@fastmail.com>
-# Maintainer: Jeremy O'Brien <neutral@fastmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=links-graphics
-pkgver=2.20.1
+pkgver=2.29
pkgrel=1
pkgdesc="Web browser running in both graphics and text mode"
-builddir="$srcdir"/links-$pkgver
-url="http://atrey.karlin.mff.cuni.cz/~clock/twibright/links"
+url="http://links.twibright.com/"
arch="all"
-options="!check" # No test suite.
license="GPL-2.0-or-later"
+makedepends="
+ bzip2-dev
+ jpeg-dev
+ libevent-dev
+ libpng-dev
+ openssl-dev
+ xorg-server-dev
+ zlib-dev
+ zstd-dev
+ "
subpackages="$pkgname-doc"
-makedepends="bzip2-dev openssl-dev zlib-dev libevent-dev zstd-dev xorg-server-dev jpeg-dev libpng-dev"
-provides="links"
source="http://links.twibright.com/download/links-$pkgver.tar.bz2"
+builddir="$srcdir/links-$pkgver"
+options="!check" # No test suite.
+
+provides="links"
+provider_priority=20
build() {
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
+ --sysconfdir=/etc \
--mandir=/usr/share/man \
+ --localstatedir=/var \
--disable-javascript \
--enable-graphics \
--with-x \
@@ -32,4 +45,7 @@ build() {
package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c7258e303a2012e9016385abd1e8882ffec47dd3baf479a54448742e41b03508d874387af6ea97c7ef9c4d37f2eecbe7bc0121d923df79b0f455f4f466747ca2 links-2.20.1.tar.bz2"
+
+sha512sums="
+5ea8b2fd0eb74d9dc2b45614aef6ee878fe686dff9bcee75ac6ea01f6a7331670f7709233d31986fc64ad86ce549616a4471057837b6caf15af6d1c5c503ac75 links-2.29.tar.bz2
+"
diff --git a/testing/linphone/APKBUILD b/testing/linphone/APKBUILD
index db68e01173b..da6d0fdff83 100644
--- a/testing/linphone/APKBUILD
+++ b/testing/linphone/APKBUILD
@@ -1,49 +1,66 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=linphone
-pkgver=4.5.16
+pkgver=5.3.38
pkgrel=0
pkgdesc="An opensource SIP phone for voice/video calls and instant messaging"
url="https://linphone.org/"
-# mips64 and riscv64 blocked by java -> belle-sip
-arch="all !mips64 !riscv64"
+# riscv64 blocked by java -> belle-sip
+arch="all !riscv64"
license="GPL-2.0-or-later"
options="!check" # no test available
-makedepends="cmake ortp-dev readline-dev sqlite-dev
- bctoolbox-dev libxml2-dev zlib-dev libnotify-dev
- speex-dev mediastreamer2-dev belle-sip-dev belcard-dev belr-dev
- libxv-dev v4l-utils-dev graphviz-dev xerces-c-dev"
-subpackages="$pkgname-dev"
-source="https://gitlab.linphone.org/BC/public/liblinphone/-/archive/$pkgver/liblinphone-$pkgver.tar.gz"
+# needed for linphonec
+depends="belcard"
+makedepends="
+ bctoolbox-dev
+ belcard-dev
+ belle-sip-dev
+ belr-dev
+ cmake
+ graphviz-dev
+ libnotify-dev
+ libxml2-dev
+ libxv-dev
+ mediastreamer2-dev
+ ortp-dev
+ readline-dev
+ samurai
+ speex-dev
+ sqlite-dev
+ v4l-utils-dev
+ xerces-c-dev
+ zlib-dev
+ zxing-cpp-dev
+ "
+subpackages="$pkgname-dev $pkgname-libs"
+source="https://gitlab.linphone.org/BC/public/liblinphone/-/archive/$pkgver/liblinphone-$pkgver.tar.gz
+ fix-cmake-path.patch
+ "
builddir="$srcdir/lib$pkgname-$pkgver"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_SKIP_BUILD_RPATH=ON \
- -DENABLE_SHARED=YES \
- -DENABLE_STATIC=NO \
+ -DCMAKE_SKIP_RPATH=ON \
-DENABLE_CONSOLE_UI=YES \
- -DENABLE_TOOLS=YES \
+ -DENABLE_CXX_WRAPPER=NO \
-DENABLE_DAEMON=YES \
- -DENABLE_SQLITE_STORAGE=YES \
- -DENABLE_STRICT=NO \
- -DENABLE_VIDEO=YES \
- -DENABLE_VCARD=YES \
- -DENABLE_NLS=NO \
+ -DENABLE_DB_STORAGE=NO \
+ -DENABLE_DOC=NO \
+ -DENABLE_FLEXIAPI=NO \
+ -DENABLE_GTK_UI=NO \
-DENABLE_LIME=NO \
+ -DENABLE_LIME_X3DH=NO \
-DENABLE_NOTIFY=YES \
- -DENABLE_GTK_UI=NO \
- -DENABLE_ASSISTANT=NO \
+ -DBUILD_SHARED_LIBS=YES \
+ -DENABLE_STATIC=NO \
-DENABLE_STRICT=NO \
- -DENABLE_ROOTCA_DOWNLOAD=NO \
- -DENABLE_ADVANCED_IM=NO \
- -DENABLE_DB_STORAGE=NO \
- -DENABLE_LIME_X3DH=NO \
+ -DENABLE_STRICT=NO \
+ -DENABLE_TOOLS=YES \
-DENABLE_UNIT_TESTS=NO \
- -DENABLE_CXX_WRAPPER=NO \
- -DENABLE_DOC=NO
+ -DENABLE_VCARD=YES \
+ -DENABLE_VIDEO=YES
cmake --build build
}
@@ -53,13 +70,12 @@ package() {
dev() {
default_dev
- mkdir -p "$subpkgdir"/usr/lib/cmake/Linphone
- mv "$pkgdir"/usr/share/Linphone/cmake/* "$subpkgdir"/usr/lib/cmake/Linphone
# Fix includes
- sed -i -e 's/INTERFACE_INCLUDE_DIRECTORIES.*/INTERFACE_INCLUDE_DIRECTORIES\ \"\/usr\/include\"/g' "$subpkgdir"/usr/lib/cmake/Linphone/LinphoneTargets.cmake
+ sed -i -e 's/INTERFACE_INCLUDE_DIRECTORIES.*/INTERFACE_INCLUDE_DIRECTORIES\ \"\/usr\/include\"/g' "$subpkgdir"/usr/lib/cmake/LibLinphone/LibLinphoneTargets.cmake
}
sha512sums="
-1640866589e28e814a8fe780acebc4ab6b9fb7383d26d2d5f6f2682e43f5ecf9bb1277c3a86ec1821bf3ce61e12282f56ad95a3b3761f105a5bdcad445f2a0a8 liblinphone-4.5.16.tar.gz
+3a73cae2665bcc40939000bd7d474551499cfc5a075e49ee6d4afa723c127fa599589e0fabd15de34f28d87529bfe002fa8cdfa4ae42ec31cf734fbeaa862f74 liblinphone-5.3.38.tar.gz
+57f3c1ab1172133167991429150e3bbff6213817deea988c302d367a6a0b1315030f2027b6493a64c9b41f3d112d95eeea4a20ae3dc07c3ebb3be3aa95e42d3f fix-cmake-path.patch
"
diff --git a/testing/linphone/fix-cmake-path.patch b/testing/linphone/fix-cmake-path.patch
new file mode 100644
index 00000000000..5ee0f9786ab
--- /dev/null
+++ b/testing/linphone/fix-cmake-path.patch
@@ -0,0 +1,31 @@
+Adapted from https://github.com/OpenMandrivaAssociation/linphone/blob/master/liblinphone-5.3.6-cmake-config-location.patch
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -397,7 +397,7 @@
+ endif()
+
+ include(CMakePackageConfigHelpers)
+-set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake")
++set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/")
+ configure_package_config_file("cmake/${PROJECT_NAME}Config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ INSTALL_DESTINATION "${CMAKE_MODULES_INSTALL_DIR}"
+ PATH_VARS LIBLINPHONE_PLUGINS_DIR
+--- a/wrappers/cpp/CMakeLists.txt
++++ b/wrappers/cpp/CMakeLists.txt
+@@ -98,12 +98,12 @@
+
+ install(EXPORT LinphoneCxxTargets
+ FILE LinphoneCxxTargets.cmake
+- DESTINATION "${CMAKE_INSTALL_DATADIR}/LinphoneCxx/cmake"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/LinphoneCxx"
+ )
+ install(FILES
+ "${CMAKE_CURRENT_BINARY_DIR}/LinphoneCxxConfig.cmake"
+ "${CMAKE_CURRENT_BINARY_DIR}/LinphoneCxxVersion.cmake"
+- DESTINATION "${CMAKE_INSTALL_DATADIR}/LinphoneCxx/cmake"
++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/LinphoneCxx"
+ )
+
+ if(ENABLE_DOC OR ENABLE_CXX_WRAPPER)
+
diff --git a/testing/linux-amlogic/0001-ARM64-defconfig-enable-CEC-support.patch b/testing/linux-amlogic/0001-ARM64-defconfig-enable-CEC-support.patch
deleted file mode 100644
index 41791a5c25a..00000000000
--- a/testing/linux-amlogic/0001-ARM64-defconfig-enable-CEC-support.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 0c815d66dbaa54b53e4b54105992ce44dfe8c36f Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Mon, 13 Nov 2017 12:09:40 +0100
-Subject: [PATCH] ARM64: defconfig: enable CEC support
-
-Turn on CONFIG_CEC_SUPPORT and CONFIG_CEC_PLATFORM_DRIVERS
-Turn on CONFIG_VIDEO_MESON_AO_CEC as module
-Turn on CONFIG_DRM_DW_HDMI_CEC as module
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- arch/arm64/configs/defconfig | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index db8d364..ab1cb51 100644
---- a/arch/arm64/configs/defconfig
-+++ b/arch/arm64/configs/defconfig
-@@ -413,6 +413,7 @@ CONFIG_MEDIA_SUPPORT=m
- CONFIG_MEDIA_CAMERA_SUPPORT=y
- CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
- CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-+CONFIG_MEDIA_CEC_SUPPORT=y
- CONFIG_MEDIA_CONTROLLER=y
- CONFIG_VIDEO_V4L2_SUBDEV_API=y
- # CONFIG_DVB_NET is not set
-@@ -424,6 +425,8 @@ CONFIG_VIDEO_SAMSUNG_S5P_MFC=m
- CONFIG_VIDEO_SAMSUNG_EXYNOS_GSC=m
- CONFIG_VIDEO_RENESAS_FCP=m
- CONFIG_VIDEO_RENESAS_VSP1=m
-+CONFIG_CEC_PLATFORM_DRIVERS=y
-+CONFIG_VIDEO_MESON_AO_CEC=m
- CONFIG_DRM=m
- CONFIG_DRM_NOUVEAU=m
- CONFIG_DRM_EXYNOS=m
-@@ -444,6 +447,7 @@ CONFIG_DRM_RCAR_LVDS=m
- CONFIG_DRM_TEGRA=m
- CONFIG_DRM_PANEL_SIMPLE=m
- CONFIG_DRM_I2C_ADV7511=m
-+CONFIG_DRM_DW_HDMI_CEC=m
- CONFIG_DRM_VC4=m
- CONFIG_DRM_HISI_HIBMC=m
- CONFIG_DRM_HISI_KIRIN=m
diff --git a/testing/linux-amlogic/0001-arm64-dts-meson-Fix-IRQ-trigger-type-for-macirq.patch b/testing/linux-amlogic/0001-arm64-dts-meson-Fix-IRQ-trigger-type-for-macirq.patch
deleted file mode 100644
index 5bcec06be2a..00000000000
--- a/testing/linux-amlogic/0001-arm64-dts-meson-Fix-IRQ-trigger-type-for-macirq.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e2c70445f3533e8fa62f8c645713508148f8e4f6 Mon Sep 17 00:00:00 2001
-From: Carlo Caione <ccaione@baylibre.com>
-Date: Tue, 4 Dec 2018 16:04:46 +0000
-Subject: [PATCH] arm64: dts: meson: Fix IRQ trigger type for macirq
-
-A long running stress test on a custom board shipping an AXG SoCs and a
-Realtek RTL8211F PHY revealed that after a few hours the connection
-speed would drop drastically, from ~1000Mbps to ~3Mbps. At the same time
-the 'macirq' (eth0) IRQ would stop being triggered at all and as
-consequence the GMAC IRQs never ACKed.
-
-After a painful investigation the problem seemed to be due to a wrong
-defined IRQ type for the GMAC IRQ that should be LEVEL_HIGH instead of
-EDGE_RISING.
-
-Signed-off-by: Carlo Caione <ccaione@baylibre.com>
-Acked-by: Neil Armstrong <narmstrong@baylibre.com>
----
- arch/arm/boot/dts/meson.dtsi | 2 +-
- arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 2 +-
- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/arch/arm/boot/dts/meson.dtsi b/arch/arm/boot/dts/meson.dtsi
-index 0d9faf1a51ea..a86b89086334 100644
---- a/arch/arm/boot/dts/meson.dtsi
-+++ b/arch/arm/boot/dts/meson.dtsi
-@@ -263,7 +263,7 @@
- compatible = "amlogic,meson6-dwmac", "snps,dwmac";
- reg = <0xc9410000 0x10000
- 0xc1108108 0x4>;
-- interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
-+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "macirq";
- status = "disabled";
- };
-diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
-index c518130e5ce7..81dcbde9e674 100644
---- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
-@@ -461,7 +461,7 @@
- compatible = "amlogic,meson-gxbb-dwmac", "snps,dwmac";
- reg = <0x0 0xff3f0000 0x0 0x10000
- 0x0 0xff634540 0x0 0x8>;
-- interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
-+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "macirq";
- clocks = <&clkc CLKID_ETH>,
- <&clkc CLKID_FCLK_DIV2>,
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-index 5d2820ef9a88..d03737acbae1 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-@@ -511,7 +511,7 @@
- compatible = "amlogic,meson-gx-dwmac", "amlogic,meson-gxbb-dwmac", "snps,dwmac";
- reg = <0x0 0xc9410000 0x0 0x10000
- 0x0 0xc8834540 0x0 0x4>;
-- interrupts = <GIC_SPI 8 IRQ_TYPE_EDGE_RISING>;
-+ interrupts = <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
- interrupt-names = "macirq";
- status = "disabled";
- };
diff --git a/testing/linux-amlogic/0001-drm-meson-fix-max-mode_config-height-width.patch b/testing/linux-amlogic/0001-drm-meson-fix-max-mode_config-height-width.patch
deleted file mode 100644
index b9c5c2ca500..00000000000
--- a/testing/linux-amlogic/0001-drm-meson-fix-max-mode_config-height-width.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From a2b8a766c2fb57096c065e539d93f9f4fbd7ace4 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Thu, 4 Oct 2018 10:42:43 +0200
-Subject: [PATCH] drm/meson: fix max mode_config height/width
-
-The mode_config max_width/max_height determines the maximum framebuffer
-size the pixel reader can handle. But the values were set thinking they
-were determining the maximum screen dimensions.
-
-This patch changes the values to the maximum height/width the CANVAS block
-can handle rounded to some coherent values.
-
-Fixes: a41e82e6c457 ("drm/meson: Add support for components")
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
----
- drivers/gpu/drm/meson/meson_drv.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
-index 3ee4d4a4ecba..b3c04ecc75f3 100644
---- a/drivers/gpu/drm/meson/meson_drv.c
-+++ b/drivers/gpu/drm/meson/meson_drv.c
-@@ -263,8 +263,8 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
- goto free_drm;
-
- drm_mode_config_init(drm);
-- drm->mode_config.max_width = 3840;
-- drm->mode_config.max_height = 2160;
-+ drm->mode_config.max_width = 16384;
-+ drm->mode_config.max_height = 8192;
- drm->mode_config.funcs = &meson_mode_config_funcs;
-
- /* Hardware Initialization */
diff --git a/testing/linux-amlogic/0002-ASoC-meson-add-meson-audio-core-driver.patch b/testing/linux-amlogic/0002-ASoC-meson-add-meson-audio-core-driver.patch
deleted file mode 100644
index 6acbf80c86e..00000000000
--- a/testing/linux-amlogic/0002-ASoC-meson-add-meson-audio-core-driver.patch
+++ /dev/null
@@ -1,288 +0,0 @@
-From 4770a464de7b87bc849e4e110f197ef9fa7bccf6 Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Thu, 30 Mar 2017 11:49:55 +0200
-Subject: [PATCH] ASoC: meson: add meson audio core driver
-
-This patch adds support for the audio core driver for the Amlogic Meson SoC
-family. The purpose of this driver is to properly reset the audio block and
-provide register access for the different devices scattered in this address
-space. This includes output and input DMAs, pcm, i2s and spdif dai, card
-level routing, internal codec for the gxl variant
-
-For more information, please refer to the section 5 of the public datasheet
-of the S905 (gxbb). This datasheet is available here: [0].
-
-[0]: http://dn.odroid.com/S905/DataSheet/S905_Public_Datasheet_V1.1.4.pdf
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- sound/soc/meson/Kconfig | 10 +++
- sound/soc/meson/Makefile | 4 +
- sound/soc/meson/audio-core.c | 190 +++++++++++++++++++++++++++++++++++++++++++
- sound/soc/meson/audio-core.h | 28 +++++++
- 4 files changed, 232 insertions(+)
- create mode 100644 sound/soc/meson/audio-core.c
- create mode 100644 sound/soc/meson/audio-core.h
-
-diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
-index 8af8bc3..ed432d4 100644
---- a/sound/soc/meson/Kconfig
-+++ b/sound/soc/meson/Kconfig
-@@ -63,3 +63,13 @@ config SND_MESON_AXG_SPDIFOUT
- in the Amlogic AXG SoC family
-
- endmenu
-+
-+menuconfig SND_SOC_MESON
-+ tristate "ASoC support for Amlogic Meson SoCs"
-+ depends on ARCH_MESON
-+ select MFD_CORE
-+ select REGMAP_MMIO
-+ help
-+ Say Y or M if you want to add support for codecs attached to
-+ the Amlogic Meson SoCs Audio interfaces. You will also need to
-+ select the audio interfaces to support below.
-diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile
-index c5e003b..768d7c4 100644
---- a/sound/soc/meson/Makefile
-+++ b/sound/soc/meson/Makefile
-@@ -19,3 +19,7 @@ obj-$(CONFIG_SND_MESON_AXG_TDMIN) += snd-soc-meson-axg-tdmin.o
- obj-$(CONFIG_SND_MESON_AXG_TDMOUT) += snd-soc-meson-axg-tdmout.o
- obj-$(CONFIG_SND_MESON_AXG_SOUND_CARD) += snd-soc-meson-axg-sound-card.o
- obj-$(CONFIG_SND_MESON_AXG_SPDIFOUT) += snd-soc-meson-axg-spdifout.o
-+
-+snd-soc-meson-audio-core-objs := audio-core.o
-+
-+obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o
-\ No newline at end of file
-diff --git a/sound/soc/meson/audio-core.c b/sound/soc/meson/audio-core.c
-new file mode 100644
-index 0000000..99993ec
---- /dev/null
-+++ b/sound/soc/meson/audio-core.c
-@@ -0,0 +1,190 @@
-+/*
-+ * Copyright (C) 2017 BayLibre, SAS
-+ * Author: Jerome Brunet <jbrunet@baylibre.com>
-+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/clk.h>
-+#include <linux/mfd/core.h>
-+#include <linux/module.h>
-+#include <linux/of.h>
-+#include <linux/platform_device.h>
-+#include <linux/regmap.h>
-+#include <linux/reset.h>
-+
-+#include "audio-core.h"
-+
-+#define DRV_NAME "meson-audio-core"
-+
-+static const char * const acore_clock_names[] = { "aiu_top",
-+ "aiu_glue",
-+ "audin" };
-+
-+static int meson_acore_init_clocks(struct device *dev)
-+{
-+ struct clk *clock;
-+ int i, ret;
-+
-+ for (i = 0; i < ARRAY_SIZE(acore_clock_names); i++) {
-+ clock = devm_clk_get(dev, acore_clock_names[i]);
-+ if (IS_ERR(clock)) {
-+ if (PTR_ERR(clock) != -EPROBE_DEFER)
-+ dev_err(dev, "Failed to get %s clock\n",
-+ acore_clock_names[i]);
-+ return PTR_ERR(clock);
-+ }
-+
-+ ret = clk_prepare_enable(clock);
-+ if (ret) {
-+ dev_err(dev, "Failed to enable %s clock\n",
-+ acore_clock_names[i]);
-+ return ret;
-+ }
-+
-+ ret = devm_add_action_or_reset(dev,
-+ (void(*)(void *))clk_disable_unprepare,
-+ clock);
-+ if (ret)
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static const char * const acore_reset_names[] = { "aiu",
-+ "audin" };
-+
-+static int meson_acore_init_resets(struct device *dev)
-+{
-+ struct reset_control *reset;
-+ int i, ret;
-+
-+ for (i = 0; i < ARRAY_SIZE(acore_reset_names); i++) {
-+ reset = devm_reset_control_get_exclusive(dev,
-+ acore_reset_names[i]);
-+ if (IS_ERR(reset)) {
-+ if (PTR_ERR(reset) != -EPROBE_DEFER)
-+ dev_err(dev, "Failed to get %s reset\n",
-+ acore_reset_names[i]);
-+ return PTR_ERR(reset);
-+ }
-+
-+ ret = reset_control_reset(reset);
-+ if (ret) {
-+ dev_err(dev, "Failed to pulse %s reset\n",
-+ acore_reset_names[i]);
-+ return ret;
-+ }
-+ }
-+
-+ return 0;
-+}
-+
-+static const struct regmap_config meson_acore_regmap_config = {
-+ .reg_bits = 32,
-+ .val_bits = 32,
-+ .reg_stride = 4,
-+};
-+
-+static const struct mfd_cell meson_acore_devs[] = {
-+ {
-+ .name = "meson-i2s-dai",
-+ .of_compatible = "amlogic,meson-i2s-dai",
-+ },
-+ {
-+ .name = "meson-spdif-dai",
-+ .of_compatible = "amlogic,meson-spdif-dai",
-+ },
-+ {
-+ .name = "meson-aiu-i2s-dma",
-+ .of_compatible = "amlogic,meson-aiu-i2s-dma",
-+ },
-+ {
-+ .name = "meson-aiu-spdif-dma",
-+ .of_compatible = "amlogic,meson-aiu-spdif-dma",
-+ },
-+};
-+
-+static int meson_acore_probe(struct platform_device *pdev)
-+{
-+ struct device *dev = &pdev->dev;
-+ struct meson_audio_core_data *data;
-+ struct resource *res;
-+ void __iomem *regs;
-+ int ret;
-+
-+ data = devm_kzalloc(dev, sizeof(*data), GFP_KERNEL);
-+ if (!data)
-+ return -ENOMEM;
-+ platform_set_drvdata(pdev, data);
-+
-+ ret = meson_acore_init_clocks(dev);
-+ if (ret)
-+ return ret;
-+
-+ ret = meson_acore_init_resets(dev);
-+ if (ret)
-+ return ret;
-+
-+ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "aiu");
-+ regs = devm_ioremap_resource(dev, res);
-+ if (IS_ERR(regs))
-+ return PTR_ERR(regs);
-+
-+ data->aiu = devm_regmap_init_mmio(dev, regs,
-+ &meson_acore_regmap_config);
-+ if (IS_ERR(data->aiu)) {
-+ dev_err(dev, "Couldn't create the AIU regmap\n");
-+ return PTR_ERR(data->aiu);
-+ }
-+
-+ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "audin");
-+ regs = devm_ioremap_resource(dev, res);
-+ if (IS_ERR(regs))
-+ return PTR_ERR(regs);
-+
-+ data->audin = devm_regmap_init_mmio(dev, regs,
-+ &meson_acore_regmap_config);
-+ if (IS_ERR(data->audin)) {
-+ dev_err(dev, "Couldn't create the AUDIN regmap\n");
-+ return PTR_ERR(data->audin);
-+ }
-+
-+ return devm_mfd_add_devices(dev, PLATFORM_DEVID_AUTO, meson_acore_devs,
-+ ARRAY_SIZE(meson_acore_devs), NULL, 0,
-+ NULL);
-+}
-+
-+static const struct of_device_id meson_acore_of_match[] = {
-+ { .compatible = "amlogic,meson-audio-core", },
-+ { .compatible = "amlogic,meson-gxbb-audio-core", },
-+ { .compatible = "amlogic,meson-gxl-audio-core", },
-+ {}
-+};
-+MODULE_DEVICE_TABLE(of, meson_acore_of_match);
-+
-+static struct platform_driver meson_acore_pdrv = {
-+ .probe = meson_acore_probe,
-+ .driver = {
-+ .name = DRV_NAME,
-+ .of_match_table = meson_acore_of_match,
-+ },
-+};
-+module_platform_driver(meson_acore_pdrv);
-+
-+MODULE_DESCRIPTION("Meson Audio Core Driver");
-+MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
-+MODULE_LICENSE("GPL v2");
-diff --git a/sound/soc/meson/audio-core.h b/sound/soc/meson/audio-core.h
-new file mode 100644
-index 0000000..6e7a24c
---- /dev/null
-+++ b/sound/soc/meson/audio-core.h
-@@ -0,0 +1,28 @@
-+/*
-+ * Copyright (C) 2017 BayLibre, SAS
-+ * Author: Jerome Brunet <jbrunet@baylibre.com>
-+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef _MESON_AUDIO_CORE_H_
-+#define _MESON_AUDIO_CORE_H_
-+
-+struct meson_audio_core_data {
-+ struct regmap *aiu;
-+ struct regmap *audin;
-+};
-+
-+#endif /* _MESON_AUDIO_CORE_H_ */
diff --git a/testing/linux-amlogic/0003-ASoC-meson-add-register-definitions.patch b/testing/linux-amlogic/0003-ASoC-meson-add-register-definitions.patch
deleted file mode 100644
index cb4027a2c4d..00000000000
--- a/testing/linux-amlogic/0003-ASoC-meson-add-register-definitions.patch
+++ /dev/null
@@ -1,358 +0,0 @@
-From dc1d93ea8dc61686364e2659c1ac1392681b64b4 Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Thu, 30 Mar 2017 12:00:10 +0200
-Subject: [PATCH] ASoC: meson: add register definitions
-
-Add the register definition for the AIU and AUDIN blocks
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- sound/soc/meson/aiu-regs.h | 182 +++++++++++++++++++++++++++++++++++++++++++
- sound/soc/meson/audin-regs.h | 148 +++++++++++++++++++++++++++++++++++
- 2 files changed, 330 insertions(+)
- create mode 100644 sound/soc/meson/aiu-regs.h
- create mode 100644 sound/soc/meson/audin-regs.h
-
-diff --git a/sound/soc/meson/aiu-regs.h b/sound/soc/meson/aiu-regs.h
-new file mode 100644
-index 0000000..67391e6
---- /dev/null
-+++ b/sound/soc/meson/aiu-regs.h
-@@ -0,0 +1,182 @@
-+/*
-+ * Copyright (C) 2017 BayLibre, SAS
-+ * Author: Jerome Brunet <jbrunet@baylibre.com>
-+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef _AIU_REGS_H_
-+#define _AIU_REGS_H_
-+
-+#define AIU_958_BPF 0x000
-+#define AIU_958_BRST 0x004
-+#define AIU_958_LENGTH 0x008
-+#define AIU_958_PADDSIZE 0x00C
-+#define AIU_958_MISC 0x010
-+#define AIU_958_FORCE_LEFT 0x014 /* Unknown */
-+#define AIU_958_DISCARD_NUM 0x018
-+#define AIU_958_DCU_FF_CTRL 0x01C
-+#define AIU_958_CHSTAT_L0 0x020
-+#define AIU_958_CHSTAT_L1 0x024
-+#define AIU_958_CTRL 0x028
-+#define AIU_958_RPT 0x02C
-+#define AIU_I2S_MUTE_SWAP 0x030
-+#define AIU_I2S_SOURCE_DESC 0x034
-+#define AIU_I2S_MED_CTRL 0x038
-+#define AIU_I2S_MED_THRESH 0x03C
-+#define AIU_I2S_DAC_CFG 0x040
-+#define AIU_I2S_SYNC 0x044 /* Unknown */
-+#define AIU_I2S_MISC 0x048
-+#define AIU_I2S_OUT_CFG 0x04C
-+#define AIU_I2S_FF_CTRL 0x050 /* Unknown */
-+#define AIU_RST_SOFT 0x054
-+#define AIU_CLK_CTRL 0x058
-+#define AIU_MIX_ADCCFG 0x05C
-+#define AIU_MIX_CTRL 0x060
-+#define AIU_CLK_CTRL_MORE 0x064
-+#define AIU_958_POP 0x068
-+#define AIU_MIX_GAIN 0x06C
-+#define AIU_958_SYNWORD1 0x070
-+#define AIU_958_SYNWORD2 0x074
-+#define AIU_958_SYNWORD3 0x078
-+#define AIU_958_SYNWORD1_MASK 0x07C
-+#define AIU_958_SYNWORD2_MASK 0x080
-+#define AIU_958_SYNWORD3_MASK 0x084
-+#define AIU_958_FFRDOUT_THD 0x088
-+#define AIU_958_LENGTH_PER_PAUSE 0x08C
-+#define AIU_958_PAUSE_NUM 0x090
-+#define AIU_958_PAUSE_PAYLOAD 0x094
-+#define AIU_958_AUTO_PAUSE 0x098
-+#define AIU_958_PAUSE_PD_LENGTH 0x09C
-+#define AIU_CODEC_DAC_LRCLK_CTRL 0x0A0
-+#define AIU_CODEC_ADC_LRCLK_CTRL 0x0A4
-+#define AIU_HDMI_CLK_DATA_CTRL 0x0A8
-+#define AIU_CODEC_CLK_DATA_CTRL 0x0AC
-+#define AIU_ACODEC_CTRL 0x0B0
-+#define AIU_958_CHSTAT_R0 0x0C0
-+#define AIU_958_CHSTAT_R1 0x0C4
-+#define AIU_958_VALID_CTRL 0x0C8
-+#define AIU_AUDIO_AMP_REG0 0x0F0 /* Unknown */
-+#define AIU_AUDIO_AMP_REG1 0x0F4 /* Unknown */
-+#define AIU_AUDIO_AMP_REG2 0x0F8 /* Unknown */
-+#define AIU_AUDIO_AMP_REG3 0x0FC /* Unknown */
-+#define AIU_AIFIFO2_CTRL 0x100
-+#define AIU_AIFIFO2_STATUS 0x104
-+#define AIU_AIFIFO2_GBIT 0x108
-+#define AIU_AIFIFO2_CLB 0x10C
-+#define AIU_CRC_CTRL 0x110
-+#define AIU_CRC_STATUS 0x114
-+#define AIU_CRC_SHIFT_REG 0x118
-+#define AIU_CRC_IREG 0x11C
-+#define AIU_CRC_CAL_REG1 0x120
-+#define AIU_CRC_CAL_REG0 0x124
-+#define AIU_CRC_POLY_COEF1 0x128
-+#define AIU_CRC_POLY_COEF0 0x12C
-+#define AIU_CRC_BIT_SIZE1 0x130
-+#define AIU_CRC_BIT_SIZE0 0x134
-+#define AIU_CRC_BIT_CNT1 0x138
-+#define AIU_CRC_BIT_CNT0 0x13C
-+#define AIU_AMCLK_GATE_HI 0x140
-+#define AIU_AMCLK_GATE_LO 0x144
-+#define AIU_AMCLK_MSR 0x148
-+#define AIU_AUDAC_CTRL0 0x14C /* Unknown */
-+#define AIU_DELTA_SIGMA0 0x154 /* Unknown */
-+#define AIU_DELTA_SIGMA1 0x158 /* Unknown */
-+#define AIU_DELTA_SIGMA2 0x15C /* Unknown */
-+#define AIU_DELTA_SIGMA3 0x160 /* Unknown */
-+#define AIU_DELTA_SIGMA4 0x164 /* Unknown */
-+#define AIU_DELTA_SIGMA5 0x168 /* Unknown */
-+#define AIU_DELTA_SIGMA6 0x16C /* Unknown */
-+#define AIU_DELTA_SIGMA7 0x170 /* Unknown */
-+#define AIU_DELTA_SIGMA_LCNTS 0x174 /* Unknown */
-+#define AIU_DELTA_SIGMA_RCNTS 0x178 /* Unknown */
-+#define AIU_MEM_I2S_START_PTR 0x180
-+#define AIU_MEM_I2S_RD_PTR 0x184
-+#define AIU_MEM_I2S_END_PTR 0x188
-+#define AIU_MEM_I2S_MASKS 0x18C
-+#define AIU_MEM_I2S_CONTROL 0x190
-+#define AIU_MEM_IEC958_START_PTR 0x194
-+#define AIU_MEM_IEC958_RD_PTR 0x198
-+#define AIU_MEM_IEC958_END_PTR 0x19C
-+#define AIU_MEM_IEC958_MASKS 0x1A0
-+#define AIU_MEM_IEC958_CONTROL 0x1A4
-+#define AIU_MEM_AIFIFO2_START_PTR 0x1A8
-+#define AIU_MEM_AIFIFO2_CURR_PTR 0x1AC
-+#define AIU_MEM_AIFIFO2_END_PTR 0x1B0
-+#define AIU_MEM_AIFIFO2_BYTES_AVAIL 0x1B4
-+#define AIU_MEM_AIFIFO2_CONTROL 0x1B8
-+#define AIU_MEM_AIFIFO2_MAN_WP 0x1BC
-+#define AIU_MEM_AIFIFO2_MAN_RP 0x1C0
-+#define AIU_MEM_AIFIFO2_LEVEL 0x1C4
-+#define AIU_MEM_AIFIFO2_BUF_CNTL 0x1C8
-+#define AIU_MEM_I2S_MAN_WP 0x1CC
-+#define AIU_MEM_I2S_MAN_RP 0x1D0
-+#define AIU_MEM_I2S_LEVEL 0x1D4
-+#define AIU_MEM_I2S_BUF_CNTL 0x1D8
-+#define AIU_MEM_I2S_BUF_WRAP_COUNT 0x1DC
-+#define AIU_MEM_I2S_MEM_CTL 0x1E0
-+#define AIU_MEM_IEC958_MEM_CTL 0x1E4
-+#define AIU_MEM_IEC958_WRAP_COUNT 0x1E8
-+#define AIU_MEM_IEC958_IRQ_LEVEL 0x1EC
-+#define AIU_MEM_IEC958_MAN_WP 0x1F0
-+#define AIU_MEM_IEC958_MAN_RP 0x1F4
-+#define AIU_MEM_IEC958_LEVEL 0x1F8
-+#define AIU_MEM_IEC958_BUF_CNTL 0x1FC
-+#define AIU_AIFIFO_CTRL 0x200
-+#define AIU_AIFIFO_STATUS 0x204
-+#define AIU_AIFIFO_GBIT 0x208
-+#define AIU_AIFIFO_CLB 0x20C
-+#define AIU_MEM_AIFIFO_START_PTR 0x210
-+#define AIU_MEM_AIFIFO_CURR_PTR 0x214
-+#define AIU_MEM_AIFIFO_END_PTR 0x218
-+#define AIU_MEM_AIFIFO_BYTES_AVAIL 0x21C
-+#define AIU_MEM_AIFIFO_CONTROL 0x220
-+#define AIU_MEM_AIFIFO_MAN_WP 0x224
-+#define AIU_MEM_AIFIFO_MAN_RP 0x228
-+#define AIU_MEM_AIFIFO_LEVEL 0x22C
-+#define AIU_MEM_AIFIFO_BUF_CNTL 0x230
-+#define AIU_MEM_AIFIFO_BUF_WRAP_COUNT 0x234
-+#define AIU_MEM_AIFIFO2_BUF_WRAP_COUNT 0x238
-+#define AIU_MEM_AIFIFO_MEM_CTL 0x23C
-+#define AIFIFO_TIME_STAMP_CNTL 0x240
-+#define AIFIFO_TIME_STAMP_SYNC_0 0x244
-+#define AIFIFO_TIME_STAMP_SYNC_1 0x248
-+#define AIFIFO_TIME_STAMP_0 0x24C
-+#define AIFIFO_TIME_STAMP_1 0x250
-+#define AIFIFO_TIME_STAMP_2 0x254
-+#define AIFIFO_TIME_STAMP_3 0x258
-+#define AIFIFO_TIME_STAMP_LENGTH 0x25C
-+#define AIFIFO2_TIME_STAMP_CNTL 0x260
-+#define AIFIFO2_TIME_STAMP_SYNC_0 0x264
-+#define AIFIFO2_TIME_STAMP_SYNC_1 0x268
-+#define AIFIFO2_TIME_STAMP_0 0x26C
-+#define AIFIFO2_TIME_STAMP_1 0x270
-+#define AIFIFO2_TIME_STAMP_2 0x274
-+#define AIFIFO2_TIME_STAMP_3 0x278
-+#define AIFIFO2_TIME_STAMP_LENGTH 0x27C
-+#define IEC958_TIME_STAMP_CNTL 0x280
-+#define IEC958_TIME_STAMP_SYNC_0 0x284
-+#define IEC958_TIME_STAMP_SYNC_1 0x288
-+#define IEC958_TIME_STAMP_0 0x28C
-+#define IEC958_TIME_STAMP_1 0x290
-+#define IEC958_TIME_STAMP_2 0x294
-+#define IEC958_TIME_STAMP_3 0x298
-+#define IEC958_TIME_STAMP_LENGTH 0x29C
-+#define AIU_MEM_AIFIFO2_MEM_CTL 0x2A0
-+#define AIU_I2S_CBUS_DDR_CNTL 0x2A4
-+#define AIU_I2S_CBUS_DDR_WDATA 0x2A8
-+#define AIU_I2S_CBUS_DDR_ADDR 0x2AC
-+
-+#endif /* _AIU_REGS_H_ */
-diff --git a/sound/soc/meson/audin-regs.h b/sound/soc/meson/audin-regs.h
-new file mode 100644
-index 0000000..f224610
---- /dev/null
-+++ b/sound/soc/meson/audin-regs.h
-@@ -0,0 +1,148 @@
-+/*
-+ * Copyright (C) 2017 BayLibre, SAS
-+ * Author: Jerome Brunet <jbrunet@baylibre.com>
-+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef _AUDIN_REGS_H_
-+#define _AUDIN_REGS_H_
-+
-+/*
-+ * Note :
-+ * Datasheet issue page 196
-+ * AUDIN_MUTE_VAL 0x35 => impossible: Already assigned to AUDIN_FIFO1_PTR
-+ * AUDIN_FIFO1_PTR is more likely to be correct here since surrounding registers
-+ * also deal with AUDIN_FIFO1
-+ *
-+ * Clarification needed from Amlogic
-+ */
-+
-+#define AUDIN_SPDIF_MODE 0x000
-+#define AUDIN_SPDIF_FS_CLK_RLTN 0x004
-+#define AUDIN_SPDIF_CHNL_STS_A 0x008
-+#define AUDIN_SPDIF_CHNL_STS_B 0x00C
-+#define AUDIN_SPDIF_MISC 0x010
-+#define AUDIN_SPDIF_NPCM_PCPD 0x014
-+#define AUDIN_SPDIF_END 0x03C /* Unknown */
-+#define AUDIN_I2SIN_CTRL 0x040
-+#define AUDIN_SOURCE_SEL 0x044
-+#define AUDIN_DECODE_FORMAT 0x048
-+#define AUDIN_DECODE_CONTROL_STATUS 0x04C
-+#define AUDIN_DECODE_CHANNEL_STATUS_A_0 0x050
-+#define AUDIN_DECODE_CHANNEL_STATUS_A_1 0x054
-+#define AUDIN_DECODE_CHANNEL_STATUS_A_2 0x058
-+#define AUDIN_DECODE_CHANNEL_STATUS_A_3 0x05C
-+#define AUDIN_DECODE_CHANNEL_STATUS_A_4 0x060
-+#define AUDIN_DECODE_CHANNEL_STATUS_A_5 0x064
-+#define AUDIN_FIFO0_START 0x080
-+#define AUDIN_FIFO0_END 0x084
-+#define AUDIN_FIFO0_PTR 0x088
-+#define AUDIN_FIFO0_INTR 0x08C
-+#define AUDIN_FIFO0_RDPTR 0x090
-+#define AUDIN_FIFO0_CTRL 0x094
-+#define AUDIN_FIFO0_CTRL1 0x098
-+#define AUDIN_FIFO0_LVL0 0x09C
-+#define AUDIN_FIFO0_LVL1 0x0A0
-+#define AUDIN_FIFO0_LVL2 0x0A4
-+#define AUDIN_FIFO0_REQID 0x0C0
-+#define AUDIN_FIFO0_WRAP 0x0C4
-+#define AUDIN_FIFO1_START 0x0CC
-+#define AUDIN_FIFO1_END 0x0D0
-+#define AUDIN_FIFO1_PTR 0x0D4
-+#define AUDIN_FIFO1_INTR 0x0D8
-+#define AUDIN_FIFO1_RDPTR 0x0DC
-+#define AUDIN_FIFO1_CTRL 0x0E0
-+#define AUDIN_FIFO1_CTRL1 0x0E4
-+#define AUDIN_FIFO1_LVL0 0x100
-+#define AUDIN_FIFO1_LVL1 0x104
-+#define AUDIN_FIFO1_LVL2 0x108
-+#define AUDIN_FIFO1_REQID 0x10C
-+#define AUDIN_FIFO1_WRAP 0x110
-+#define AUDIN_FIFO2_START 0x114
-+#define AUDIN_FIFO2_END 0x118
-+#define AUDIN_FIFO2_PTR 0x11C
-+#define AUDIN_FIFO2_INTR 0x120
-+#define AUDIN_FIFO2_RDPTR 0x124
-+#define AUDIN_FIFO2_CTRL 0x128
-+#define AUDIN_FIFO2_CTRL1 0x12C
-+#define AUDIN_FIFO2_LVL0 0x130
-+#define AUDIN_FIFO2_LVL1 0x134
-+#define AUDIN_FIFO2_LVL2 0x138
-+#define AUDIN_FIFO2_REQID 0x13C
-+#define AUDIN_FIFO2_WRAP 0x140
-+#define AUDIN_INT_CTRL 0x144
-+#define AUDIN_FIFO_INT 0x148
-+#define PCMIN_CTRL0 0x180
-+#define PCMIN_CTRL1 0x184
-+#define PCMIN1_CTRL0 0x188
-+#define PCMIN1_CTRL1 0x18C
-+#define PCMOUT_CTRL0 0x1C0
-+#define PCMOUT_CTRL1 0x1C4
-+#define PCMOUT_CTRL2 0x1C8
-+#define PCMOUT_CTRL3 0x1CC
-+#define PCMOUT1_CTRL0 0x1D0
-+#define PCMOUT1_CTRL1 0x1D4
-+#define PCMOUT1_CTRL2 0x1D8
-+#define PCMOUT1_CTRL3 0x1DC
-+#define AUDOUT_CTRL 0x200
-+#define AUDOUT_CTRL1 0x204
-+#define AUDOUT_BUF0_STA 0x208
-+#define AUDOUT_BUF0_EDA 0x20C
-+#define AUDOUT_BUF0_WPTR 0x210
-+#define AUDOUT_BUF1_STA 0x214
-+#define AUDOUT_BUF1_EDA 0x218
-+#define AUDOUT_BUF1_WPTR 0x21C
-+#define AUDOUT_FIFO_RPTR 0x220
-+#define AUDOUT_INTR_PTR 0x224
-+#define AUDOUT_FIFO_STS 0x228
-+#define AUDOUT1_CTRL 0x240
-+#define AUDOUT1_CTRL1 0x244
-+#define AUDOUT1_BUF0_STA 0x248
-+#define AUDOUT1_BUF0_EDA 0x24C
-+#define AUDOUT1_BUF0_WPTR 0x250
-+#define AUDOUT1_BUF1_STA 0x254
-+#define AUDOUT1_BUF1_EDA 0x258
-+#define AUDOUT1_BUF1_WPTR 0x25C
-+#define AUDOUT1_FIFO_RPTR 0x260
-+#define AUDOUT1_INTR_PTR 0x264
-+#define AUDOUT1_FIFO_STS 0x268
-+#define AUDIN_HDMI_MEAS_CTRL 0x280
-+#define AUDIN_HDMI_MEAS_CYCLES_M1 0x284
-+#define AUDIN_HDMI_MEAS_INTR_MASKN 0x288
-+#define AUDIN_HDMI_MEAS_INTR_STAT 0x28C
-+#define AUDIN_HDMI_REF_CYCLES_STAT_0 0x290
-+#define AUDIN_HDMI_REF_CYCLES_STAT_1 0x294
-+#define AUDIN_HDMIRX_AFIFO_STAT 0x298
-+#define AUDIN_FIFO0_PIO_STS 0x2C0
-+#define AUDIN_FIFO0_PIO_RDL 0x2C4
-+#define AUDIN_FIFO0_PIO_RDH 0x2C8
-+#define AUDIN_FIFO1_PIO_STS 0x2CC
-+#define AUDIN_FIFO1_PIO_RDL 0x2D0
-+#define AUDIN_FIFO1_PIO_RDH 0x2D4
-+#define AUDIN_FIFO2_PIO_STS 0x2D8
-+#define AUDIN_FIFO2_PIO_RDL 0x2DC
-+#define AUDIN_FIFO2_PIO_RDH 0x2E0
-+#define AUDOUT_FIFO_PIO_STS 0x2E4
-+#define AUDOUT_FIFO_PIO_WRL 0x2E8
-+#define AUDOUT_FIFO_PIO_WRH 0x2EC
-+#define AUDOUT1_FIFO_PIO_STS 0x2F0 /* Unknown */
-+#define AUDOUT1_FIFO_PIO_WRL 0x2F4 /* Unknown */
-+#define AUDOUT1_FIFO_PIO_WRH 0x2F8 /* Unknown */
-+#define AUD_RESAMPLE_CTRL0 0x2FC
-+#define AUD_RESAMPLE_CTRL1 0x300
-+#define AUD_RESAMPLE_STATUS 0x304
-+
-+#endif /* _AUDIN_REGS_H_ */
diff --git a/testing/linux-amlogic/0004-ASoC-meson-add-aiu-i2s-dma-support.patch b/testing/linux-amlogic/0004-ASoC-meson-add-aiu-i2s-dma-support.patch
deleted file mode 100644
index 900659845e2..00000000000
--- a/testing/linux-amlogic/0004-ASoC-meson-add-aiu-i2s-dma-support.patch
+++ /dev/null
@@ -1,422 +0,0 @@
-From ef53207463b1ffa58dbc8b994cb470f35bf12420 Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Thu, 30 Mar 2017 12:14:40 +0200
-Subject: [PATCH] ASoC: meson: add aiu i2s dma support
-
-Add support for the i2s output dma which is part of the AIU block
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- sound/soc/meson/Kconfig | 7 +
- sound/soc/meson/Makefile | 4 +-
- sound/soc/meson/aiu-i2s-dma.c | 370 ++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 380 insertions(+), 1 deletion(-)
- create mode 100644 sound/soc/meson/aiu-i2s-dma.c
-
-diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
-index ed432d4..6e030b5 100644
---- a/sound/soc/meson/Kconfig
-+++ b/sound/soc/meson/Kconfig
-@@ -73,3 +73,10 @@ menuconfig SND_SOC_MESON
- Say Y or M if you want to add support for codecs attached to
- the Amlogic Meson SoCs Audio interfaces. You will also need to
- select the audio interfaces to support below.
-+
-+config SND_SOC_MESON_I2S
-+ tristate "Meson i2s interface"
-+ depends on SND_SOC_MESON
-+ help
-+ Say Y or M if you want to add support for i2s dma driver for Amlogic
-+ Meson SoCs.
-diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile
-index 768d7c4..5796007 100644
---- a/sound/soc/meson/Makefile
-+++ b/sound/soc/meson/Makefile
-@@ -21,5 +21,7 @@ obj-$(CONFIG_SND_MESON_AXG_SOUND_CARD) += snd-soc-meson-axg-sound-card.o
- obj-$(CONFIG_SND_MESON_AXG_SPDIFOUT) += snd-soc-meson-axg-spdifout.o
-
- snd-soc-meson-audio-core-objs := audio-core.o
-+snd-soc-meson-aiu-i2s-dma-objs := aiu-i2s-dma.o
-
--obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o
-\ No newline at end of file
-+obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o
-+obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o
-\ No newline at end of file
-diff --git a/sound/soc/meson/aiu-i2s-dma.c b/sound/soc/meson/aiu-i2s-dma.c
-new file mode 100644
-index 0000000..2684bd0
---- /dev/null
-+++ b/sound/soc/meson/aiu-i2s-dma.c
-@@ -0,0 +1,370 @@
-+/*
-+ * Copyright (C) 2017 BayLibre, SAS
-+ * Author: Jerome Brunet <jbrunet@baylibre.com>
-+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/clk.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/module.h>
-+#include <linux/of.h>
-+#include <linux/platform_device.h>
-+#include <linux/regmap.h>
-+
-+#include <sound/pcm_params.h>
-+#include <sound/soc.h>
-+
-+#include "aiu-regs.h"
-+#include "audio-core.h"
-+
-+#define DRV_NAME "meson-aiu-i2s-dma"
-+
-+struct aiu_i2s_dma {
-+ struct meson_audio_core_data *core;
-+ struct clk *fast;
-+ int irq;
-+};
-+
-+#define AIU_MEM_I2S_BUF_CNTL_INIT BIT(0)
-+#define AIU_MEM_I2S_CONTROL_INIT BIT(0)
-+#define AIU_MEM_I2S_CONTROL_FILL_EN BIT(1)
-+#define AIU_MEM_I2S_CONTROL_EMPTY_EN BIT(2)
-+#define AIU_MEM_I2S_CONTROL_MODE_16BIT BIT(6)
-+#define AIU_MEM_I2S_CONTROL_BUSY BIT(7)
-+#define AIU_MEM_I2S_CONTROL_DATA_READY BIT(8)
-+#define AIU_MEM_I2S_CONTROL_LEVEL_CNTL BIT(9)
-+#define AIU_MEM_I2S_MASKS_IRQ_BLOCK_MASK GENMASK(31, 16)
-+#define AIU_MEM_I2S_MASKS_IRQ_BLOCK(n) ((n) << 16)
-+#define AIU_MEM_I2S_MASKS_CH_MEM_MASK GENMASK(15, 8)
-+#define AIU_MEM_I2S_MASKS_CH_MEM(ch) ((ch) << 8)
-+#define AIU_MEM_I2S_MASKS_CH_RD_MASK GENMASK(7, 0)
-+#define AIU_MEM_I2S_MASKS_CH_RD(ch) ((ch) << 0)
-+#define AIU_RST_SOFT_I2S_FAST_DOMAIN BIT(0)
-+#define AIU_RST_SOFT_I2S_SLOW_DOMAIN BIT(1)
-+
-+/*
-+ * The DMA works by i2s "blocks" (or DMA burst). The burst size and the memory
-+ * layout expected depends on the mode of operation.
-+ *
-+ * - Normal mode: The channels are expected to be packed in 32 bytes groups
-+ * interleaved the buffer. AIU_MEM_I2S_MASKS_CH_MEM is a bitfield representing
-+ * the channels present in memory. AIU_MEM_I2S_MASKS_CH_MEM represents the
-+ * channels read by the DMA. This is very flexible but the unsual memory layout
-+ * makes it less easy to deal with. The burst size is 32 bytes times the number
-+ * of channels read.
-+ *
-+ * - Split mode:
-+ * Classical channel interleaved frame organisation. In this mode,
-+ * AIU_MEM_I2S_MASKS_CH_MEM and AIU_MEM_I2S_MASKS_CH_MEM must be set to 0xff and
-+ * the burst size is fixed to 256 bytes. The input can be either 2 or 8
-+ * channels.
-+ *
-+ * The following driver implements the split mode.
-+ */
-+
-+#define AIU_I2S_DMA_BURST 256
-+
-+static struct snd_pcm_hardware aiu_i2s_dma_hw = {
-+ .info = (SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_PAUSE),
-+
-+ .formats = (SNDRV_PCM_FMTBIT_S16_LE |
-+ SNDRV_PCM_FMTBIT_S24_LE |
-+ SNDRV_PCM_FMTBIT_S32_LE),
-+
-+ /*
-+ * TODO: The DMA can change the endianness, the msb position
-+ * and deal with unsigned - support this later on
-+ */
-+
-+ .rate_min = 8000,
-+ .rate_max = 192000,
-+ .channels_min = 2,
-+ .channels_max = 8,
-+ .period_bytes_min = AIU_I2S_DMA_BURST,
-+ .period_bytes_max = AIU_I2S_DMA_BURST * 65535,
-+ .periods_min = 2,
-+ .periods_max = UINT_MAX,
-+ .buffer_bytes_max = 1 * 1024 * 1024,
-+ .fifo_size = 0,
-+};
-+
-+static struct aiu_i2s_dma *aiu_i2s_dma_priv(struct snd_pcm_substream *s)
-+{
-+ struct snd_soc_pcm_runtime *rtd = s->private_data;
-+ struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
-+
-+ return snd_soc_component_get_drvdata(component);
-+}
-+
-+static snd_pcm_uframes_t
-+aiu_i2s_dma_pointer(struct snd_pcm_substream *substream)
-+{
-+ struct snd_pcm_runtime *runtime = substream->runtime;
-+ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream);
-+ unsigned int addr;
-+ int ret;
-+
-+ ret = regmap_read(priv->core->aiu, AIU_MEM_I2S_RD_PTR,
-+ &addr);
-+ if (ret)
-+ return 0;
-+
-+ return bytes_to_frames(runtime, addr - (unsigned int)runtime->dma_addr);
-+}
-+
-+static void __dma_enable(struct aiu_i2s_dma *priv, bool enable)
-+{
-+ unsigned int en_mask = (AIU_MEM_I2S_CONTROL_FILL_EN |
-+ AIU_MEM_I2S_CONTROL_EMPTY_EN);
-+
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_CONTROL, en_mask,
-+ enable ? en_mask : 0);
-+
-+}
-+
-+static int aiu_i2s_dma_trigger(struct snd_pcm_substream *substream, int cmd)
-+{
-+ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream);
-+
-+ switch (cmd) {
-+ case SNDRV_PCM_TRIGGER_START:
-+ case SNDRV_PCM_TRIGGER_RESUME:
-+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
-+ __dma_enable(priv, true);
-+ break;
-+ case SNDRV_PCM_TRIGGER_SUSPEND:
-+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
-+ case SNDRV_PCM_TRIGGER_STOP:
-+ __dma_enable(priv, false);
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static void __dma_init_mem(struct aiu_i2s_dma *priv)
-+{
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_CONTROL,
-+ AIU_MEM_I2S_CONTROL_INIT,
-+ AIU_MEM_I2S_CONTROL_INIT);
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_BUF_CNTL,
-+ AIU_MEM_I2S_BUF_CNTL_INIT,
-+ AIU_MEM_I2S_BUF_CNTL_INIT);
-+
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_CONTROL,
-+ AIU_MEM_I2S_CONTROL_INIT,
-+ 0);
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_BUF_CNTL,
-+ AIU_MEM_I2S_BUF_CNTL_INIT,
-+ 0);
-+}
-+
-+static int aiu_i2s_dma_prepare(struct snd_pcm_substream *substream)
-+{
-+ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream);
-+
-+ __dma_init_mem(priv);
-+
-+ return 0;
-+}
-+
-+static int aiu_i2s_dma_hw_params(struct snd_pcm_substream *substream,
-+ struct snd_pcm_hw_params *params)
-+{
-+ struct snd_pcm_runtime *runtime = substream->runtime;
-+ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream);
-+ int ret;
-+ u32 burst_num, mem_ctl;
-+ dma_addr_t end_ptr;
-+
-+ ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params));
-+ if (ret < 0)
-+ return ret;
-+
-+ /* Setup memory layout */
-+ if (params_physical_width(params) == 16)
-+ mem_ctl = AIU_MEM_I2S_CONTROL_MODE_16BIT;
-+ else
-+ mem_ctl = 0;
-+
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_I2S_CONTROL,
-+ AIU_MEM_I2S_CONTROL_MODE_16BIT,
-+ mem_ctl);
-+
-+ /* Initialize memory pointers */
-+ regmap_write(priv->core->aiu, AIU_MEM_I2S_START_PTR, runtime->dma_addr);
-+ regmap_write(priv->core->aiu, AIU_MEM_I2S_RD_PTR, runtime->dma_addr);
-+
-+ /* The end pointer is the address of the last valid block */
-+ end_ptr = runtime->dma_addr + runtime->dma_bytes - AIU_I2S_DMA_BURST;
-+ regmap_write(priv->core->aiu, AIU_MEM_I2S_END_PTR, end_ptr);
-+
-+ /* Memory masks */
-+ burst_num = params_period_bytes(params) / AIU_I2S_DMA_BURST;
-+ regmap_write(priv->core->aiu, AIU_MEM_I2S_MASKS,
-+ AIU_MEM_I2S_MASKS_CH_RD(0xff) |
-+ AIU_MEM_I2S_MASKS_CH_MEM(0xff) |
-+ AIU_MEM_I2S_MASKS_IRQ_BLOCK(burst_num));
-+
-+ return 0;
-+}
-+
-+static int aiu_i2s_dma_hw_free(struct snd_pcm_substream *substream)
-+{
-+ return snd_pcm_lib_free_pages(substream);
-+}
-+
-+
-+static irqreturn_t aiu_i2s_dma_irq_block(int irq, void *dev_id)
-+{
-+ struct snd_pcm_substream *playback = dev_id;
-+
-+ snd_pcm_period_elapsed(playback);
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static int aiu_i2s_dma_open(struct snd_pcm_substream *substream)
-+{
-+ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream);
-+ int ret;
-+
-+ snd_soc_set_runtime_hwparams(substream, &aiu_i2s_dma_hw);
-+
-+ /*
-+ * Make sure the buffer and period size are multiple of the DMA burst
-+ * size
-+ */
-+ ret = snd_pcm_hw_constraint_step(substream->runtime, 0,
-+ SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
-+ AIU_I2S_DMA_BURST);
-+ if (ret)
-+ return ret;
-+
-+ ret = snd_pcm_hw_constraint_step(substream->runtime, 0,
-+ SNDRV_PCM_HW_PARAM_PERIOD_BYTES,
-+ AIU_I2S_DMA_BURST);
-+ if (ret)
-+ return ret;
-+
-+ /* Request the I2S DDR irq */
-+ ret = request_irq(priv->irq, aiu_i2s_dma_irq_block, 0,
-+ DRV_NAME, substream);
-+ if (ret)
-+ return ret;
-+
-+ /* Power up the i2s fast domain - can't write the registers w/o it */
-+ ret = clk_prepare_enable(priv->fast);
-+ if (ret)
-+ return ret;
-+
-+ /* Make sure the dma is initially disabled */
-+ __dma_enable(priv, false);
-+
-+ return 0;
-+}
-+
-+static int aiu_i2s_dma_close(struct snd_pcm_substream *substream)
-+{
-+ struct aiu_i2s_dma *priv = aiu_i2s_dma_priv(substream);
-+
-+ clk_disable_unprepare(priv->fast);
-+ free_irq(priv->irq, substream);
-+
-+ return 0;
-+}
-+
-+static const struct snd_pcm_ops aiu_i2s_dma_ops = {
-+ .open = aiu_i2s_dma_open,
-+ .close = aiu_i2s_dma_close,
-+ .ioctl = snd_pcm_lib_ioctl,
-+ .hw_params = aiu_i2s_dma_hw_params,
-+ .hw_free = aiu_i2s_dma_hw_free,
-+ .prepare = aiu_i2s_dma_prepare,
-+ .pointer = aiu_i2s_dma_pointer,
-+ .trigger = aiu_i2s_dma_trigger,
-+};
-+
-+static int aiu_i2s_dma_new(struct snd_soc_pcm_runtime *rtd)
-+{
-+ struct snd_card *card = rtd->card->snd_card;
-+ size_t size = aiu_i2s_dma_hw.buffer_bytes_max;
-+
-+ return snd_pcm_lib_preallocate_pages_for_all(rtd->pcm,
-+ SNDRV_DMA_TYPE_DEV,
-+ card->dev, size, size);
-+}
-+
-+static const struct snd_soc_component_driver aiu_i2s_platform = {
-+ .ops = &aiu_i2s_dma_ops,
-+ .pcm_new = aiu_i2s_dma_new,
-+ .name = DRV_NAME,
-+};
-+
-+static int aiu_i2s_dma_probe(struct platform_device *pdev)
-+{
-+ struct device *dev = &pdev->dev;
-+ struct aiu_i2s_dma *priv;
-+
-+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
-+ if (!priv)
-+ return -ENOMEM;
-+
-+ platform_set_drvdata(pdev, priv);
-+ priv->core = dev_get_drvdata(dev->parent);
-+
-+ priv->fast = devm_clk_get(dev, "fast");
-+ if (IS_ERR(priv->fast)) {
-+ if (PTR_ERR(priv->fast) != -EPROBE_DEFER)
-+ dev_err(dev, "Can't get i2s fast domain clock\n");
-+ return PTR_ERR(priv->fast);
-+ }
-+
-+ priv->irq = platform_get_irq(pdev, 0);
-+ if (priv->irq <= 0) {
-+ dev_err(dev, "Can't get i2s ddr irq\n");
-+ return priv->irq;
-+ }
-+
-+ return devm_snd_soc_register_component(dev, &aiu_i2s_platform,
-+ NULL, 0);
-+}
-+
-+static const struct of_device_id aiu_i2s_dma_of_match[] = {
-+ { .compatible = "amlogic,meson-aiu-i2s-dma", },
-+ { .compatible = "amlogic,meson-gxbb-aiu-i2s-dma", },
-+ { .compatible = "amlogic,meson-gxl-aiu-i2s-dma", },
-+ {}
-+};
-+MODULE_DEVICE_TABLE(of, aiu_i2s_dma_of_match);
-+
-+static struct platform_driver aiu_i2s_dma_pdrv = {
-+ .probe = aiu_i2s_dma_probe,
-+ .driver = {
-+ .name = DRV_NAME,
-+ .of_match_table = aiu_i2s_dma_of_match,
-+ },
-+};
-+module_platform_driver(aiu_i2s_dma_pdrv);
-+
-+MODULE_DESCRIPTION("Meson AIU i2s DMA ASoC Driver");
-+MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
-+MODULE_LICENSE("GPL v2");
diff --git a/testing/linux-amlogic/0005-ASoC-meson-add-initial-i2s-dai-support.patch b/testing/linux-amlogic/0005-ASoC-meson-add-initial-i2s-dai-support.patch
deleted file mode 100644
index e1be6fab36d..00000000000
--- a/testing/linux-amlogic/0005-ASoC-meson-add-initial-i2s-dai-support.patch
+++ /dev/null
@@ -1,516 +0,0 @@
-From 9031b415030a316ec4ca513185e2d2c0fbb894c4 Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Thu, 30 Mar 2017 12:17:27 +0200
-Subject: [PATCH] ASoC: meson: add initial i2s dai support
-
-Add support for the i2s dai found on Amlogic Meson SoC family.
-With this initial implementation, only playback is supported.
-Capture will be part of furture work.
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- sound/soc/meson/Kconfig | 2 +-
- sound/soc/meson/Makefile | 4 +-
- sound/soc/meson/i2s-dai.c | 465 ++++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 469 insertions(+), 2 deletions(-)
- create mode 100644 sound/soc/meson/i2s-dai.c
-
-diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
-index 6e030b5..5904e9e 100644
---- a/sound/soc/meson/Kconfig
-+++ b/sound/soc/meson/Kconfig
-@@ -78,5 +78,5 @@ config SND_SOC_MESON_I2S
- tristate "Meson i2s interface"
- depends on SND_SOC_MESON
- help
-- Say Y or M if you want to add support for i2s dma driver for Amlogic
-+ Say Y or M if you want to add support for i2s driver for Amlogic
- Meson SoCs.
-diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile
-index 5796007..b8641f9 100644
---- a/sound/soc/meson/Makefile
-+++ b/sound/soc/meson/Makefile
-@@ -22,6 +22,8 @@ obj-$(CONFIG_SND_MESON_AXG_SPDIFOUT) += snd-soc-meson-axg-spdifout.o
-
- snd-soc-meson-audio-core-objs := audio-core.o
- snd-soc-meson-aiu-i2s-dma-objs := aiu-i2s-dma.o
-+snd-soc-meson-i2s-dai-objs := i2s-dai.o
-
- obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o
--obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o
-\ No newline at end of file
-+obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o
-+obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-i2s-dai.o
-\ No newline at end of file
-diff --git a/sound/soc/meson/i2s-dai.c b/sound/soc/meson/i2s-dai.c
-new file mode 100644
-index 0000000..1008af8
---- /dev/null
-+++ b/sound/soc/meson/i2s-dai.c
-@@ -0,0 +1,465 @@
-+/*
-+ * Copyright (C) 2017 BayLibre, SAS
-+ * Author: Jerome Brunet <jbrunet@baylibre.com>
-+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/clk.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/module.h>
-+#include <linux/of.h>
-+#include <linux/platform_device.h>
-+#include <linux/regmap.h>
-+
-+#include <sound/pcm_params.h>
-+#include <sound/soc.h>
-+#include <sound/soc-dai.h>
-+
-+#include "aiu-regs.h"
-+#include "audio-core.h"
-+
-+#define DRV_NAME "meson-i2s-dai"
-+
-+struct meson_i2s_dai {
-+ struct meson_audio_core_data *core;
-+ struct clk *mclk;
-+ struct clk *bclks;
-+ struct clk *iface;
-+ struct clk *fast;
-+ bool bclks_idle;
-+};
-+
-+#define AIU_CLK_CTRL_I2S_DIV_EN BIT(0)
-+#define AIU_CLK_CTRL_I2S_DIV_MASK GENMASK(3, 2)
-+#define AIU_CLK_CTRL_AOCLK_POLARITY_MASK BIT(6)
-+#define AIU_CLK_CTRL_AOCLK_POLARITY_NORMAL (0 << 6)
-+#define AIU_CLK_CTRL_AOCLK_POLARITY_INVERTED (1 << 6)
-+#define AIU_CLK_CTRL_ALRCLK_POLARITY_MASK BIT(7)
-+#define AIU_CLK_CTRL_ALRCLK_POLARITY_NORMAL (0 << 7)
-+#define AIU_CLK_CTRL_ALRCLK_POLARITY_INVERTED (1 << 7)
-+#define AIU_CLK_CTRL_ALRCLK_SKEW_MASK GENMASK(9, 8)
-+#define AIU_CLK_CTRL_ALRCLK_LEFT_J (0 << 8)
-+#define AIU_CLK_CTRL_ALRCLK_I2S (1 << 8)
-+#define AIU_CLK_CTRL_ALRCLK_RIGHT_J (2 << 8)
-+#define AIU_CLK_CTRL_MORE_I2S_DIV_MASK GENMASK(5, 0)
-+#define AIU_CLK_CTRL_MORE_I2S_DIV(div) (((div) - 1) << 0)
-+#define AIU_CODEC_DAC_LRCLK_CTRL_DIV_MASK GENMASK(11, 0)
-+#define AIU_CODEC_DAC_LRCLK_CTRL_DIV(div) (((div) - 1) << 0)
-+#define AIU_I2S_DAC_CFG_PAYLOAD_SIZE_MASK GENMASK(1, 0)
-+#define AIU_I2S_DAC_CFG_AOCLK_32 (0 << 0)
-+#define AIU_I2S_DAC_CFG_AOCLK_48 (2 << 0)
-+#define AIU_I2S_DAC_CFG_AOCLK_64 (3 << 0)
-+#define AIU_I2S_MISC_HOLD_EN BIT(2)
-+#define AIU_I2S_SOURCE_DESC_MODE_8CH BIT(0)
-+#define AIU_I2S_SOURCE_DESC_MODE_24BIT BIT(5)
-+#define AIU_I2S_SOURCE_DESC_MODE_32BIT BIT(9)
-+#define AIU_I2S_SOURCE_DESC_MODE_SPLIT BIT(11)
-+
-+static void __hold(struct meson_i2s_dai *priv, bool enable)
-+{
-+ regmap_update_bits(priv->core->aiu, AIU_I2S_MISC,
-+ AIU_I2S_MISC_HOLD_EN,
-+ enable ? AIU_I2S_MISC_HOLD_EN : 0);
-+}
-+
-+static void __divider_enable(struct meson_i2s_dai *priv, bool enable)
-+{
-+ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL,
-+ AIU_CLK_CTRL_I2S_DIV_EN,
-+ enable ? AIU_CLK_CTRL_I2S_DIV_EN : 0);
-+}
-+
-+static void __playback_start(struct meson_i2s_dai *priv)
-+{
-+ __divider_enable(priv, true);
-+ __hold(priv, false);
-+}
-+
-+static void __playback_stop(struct meson_i2s_dai *priv, bool clk_force)
-+{
-+ __hold(priv, true);
-+ /* Disable the bit clks if necessary */
-+ if (clk_force || !priv->bclks_idle)
-+ __divider_enable(priv, false);
-+}
-+
-+static int meson_i2s_dai_trigger(struct snd_pcm_substream *substream, int cmd,
-+ struct snd_soc_dai *dai)
-+{
-+ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai);
-+ bool clk_force_stop = false;
-+
-+ switch (cmd) {
-+ case SNDRV_PCM_TRIGGER_START:
-+ case SNDRV_PCM_TRIGGER_RESUME:
-+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
-+ __playback_start(priv);
-+ return 0;
-+
-+ case SNDRV_PCM_TRIGGER_STOP:
-+ case SNDRV_PCM_TRIGGER_SUSPEND:
-+ clk_force_stop = true;
-+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
-+ __playback_stop(priv, clk_force_stop);
-+ return 0;
-+
-+ default:
-+ return -EINVAL;
-+ }
-+}
-+
-+static int __bclks_set_rate(struct meson_i2s_dai *priv, unsigned int srate,
-+ unsigned int width)
-+{
-+ unsigned int fs;
-+
-+ /* Get the oversampling factor */
-+ fs = DIV_ROUND_CLOSEST(clk_get_rate(priv->mclk), srate);
-+
-+ /*
-+ * This DAI is usually connected to the dw-hdmi which does not support
-+ * bclk being 32 * lrclk or 48 * lrclk
-+ * Restrict to blck = 64 * lrclk
-+ */
-+ if (fs % 64)
-+ return -EINVAL;
-+
-+ /* Set the divider between lrclk and bclk */
-+ regmap_update_bits(priv->core->aiu, AIU_I2S_DAC_CFG,
-+ AIU_I2S_DAC_CFG_PAYLOAD_SIZE_MASK,
-+ AIU_I2S_DAC_CFG_AOCLK_64);
-+
-+ regmap_update_bits(priv->core->aiu, AIU_CODEC_DAC_LRCLK_CTRL,
-+ AIU_CODEC_DAC_LRCLK_CTRL_DIV_MASK,
-+ AIU_CODEC_DAC_LRCLK_CTRL_DIV(64));
-+
-+ /* Use CLK_MORE for the i2s divider */
-+ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL,
-+ AIU_CLK_CTRL_I2S_DIV_MASK,
-+ 0);
-+
-+ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL_MORE,
-+ AIU_CLK_CTRL_MORE_I2S_DIV_MASK,
-+ AIU_CLK_CTRL_MORE_I2S_DIV(fs / 64));
-+
-+ return 0;
-+}
-+
-+static int __setup_desc(struct meson_i2s_dai *priv, unsigned int width,
-+ unsigned int channels)
-+{
-+ u32 desc = 0;
-+
-+ switch (width) {
-+ case 24:
-+ /*
-+ * For some reason, 24 bits wide audio don't play well
-+ * if the 32 bits mode is not set
-+ */
-+ desc |= (AIU_I2S_SOURCE_DESC_MODE_24BIT |
-+ AIU_I2S_SOURCE_DESC_MODE_32BIT);
-+ break;
-+ case 16:
-+ break;
-+
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ switch (channels) {
-+ case 2: /* Nothing to do */
-+ break;
-+ case 8:
-+ /* TODO: Still requires testing ... */
-+ desc |= AIU_I2S_SOURCE_DESC_MODE_8CH;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ regmap_update_bits(priv->core->aiu, AIU_I2S_SOURCE_DESC,
-+ AIU_I2S_SOURCE_DESC_MODE_8CH |
-+ AIU_I2S_SOURCE_DESC_MODE_24BIT |
-+ AIU_I2S_SOURCE_DESC_MODE_32BIT,
-+ desc);
-+
-+ return 0;
-+}
-+
-+static int meson_i2s_dai_hw_params(struct snd_pcm_substream *substream,
-+ struct snd_pcm_hw_params *params,
-+ struct snd_soc_dai *dai)
-+{
-+ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai);
-+ unsigned int width = params_width(params);
-+ unsigned int channels = params_channels(params);
-+ unsigned int rate = params_rate(params);
-+ int ret;
-+
-+ ret = __setup_desc(priv, width, channels);
-+ if (ret) {
-+ dev_err(dai->dev, "Unable set to set i2s description\n");
-+ return ret;
-+ }
-+
-+ ret = __bclks_set_rate(priv, rate, width);
-+ if (ret) {
-+ dev_err(dai->dev, "Unable set to the i2s clock rates\n");
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static int meson_i2s_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
-+{
-+ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai);
-+ u32 val;
-+
-+ if ((fmt & SND_SOC_DAIFMT_MASTER_MASK) != SND_SOC_DAIFMT_CBS_CFS)
-+ return -EINVAL;
-+
-+ /* DAI output mode */
-+ switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
-+ case SND_SOC_DAIFMT_I2S:
-+ val = AIU_CLK_CTRL_ALRCLK_I2S;
-+ break;
-+ case SND_SOC_DAIFMT_LEFT_J:
-+ val = AIU_CLK_CTRL_ALRCLK_LEFT_J;
-+ break;
-+ case SND_SOC_DAIFMT_RIGHT_J:
-+ val = AIU_CLK_CTRL_ALRCLK_RIGHT_J;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL,
-+ AIU_CLK_CTRL_ALRCLK_SKEW_MASK,
-+ val);
-+
-+ /* DAI clock polarity */
-+ switch (fmt & SND_SOC_DAIFMT_INV_MASK) {
-+ case SND_SOC_DAIFMT_IB_IF:
-+ /* Invert both clocks */
-+ val = AIU_CLK_CTRL_ALRCLK_POLARITY_INVERTED |
-+ AIU_CLK_CTRL_AOCLK_POLARITY_INVERTED;
-+ break;
-+ case SND_SOC_DAIFMT_IB_NF:
-+ /* Invert bit clock */
-+ val = AIU_CLK_CTRL_ALRCLK_POLARITY_NORMAL |
-+ AIU_CLK_CTRL_AOCLK_POLARITY_INVERTED;
-+ break;
-+ case SND_SOC_DAIFMT_NB_IF:
-+ /* Invert frame clock */
-+ val = AIU_CLK_CTRL_ALRCLK_POLARITY_INVERTED |
-+ AIU_CLK_CTRL_AOCLK_POLARITY_NORMAL;
-+ break;
-+ case SND_SOC_DAIFMT_NB_NF:
-+ /* Normal clocks */
-+ val = AIU_CLK_CTRL_ALRCLK_POLARITY_NORMAL |
-+ AIU_CLK_CTRL_AOCLK_POLARITY_NORMAL;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL,
-+ AIU_CLK_CTRL_ALRCLK_POLARITY_MASK |
-+ AIU_CLK_CTRL_AOCLK_POLARITY_MASK,
-+ val);
-+
-+ switch (fmt & SND_SOC_DAIFMT_CLOCK_MASK) {
-+ case SND_SOC_DAIFMT_CONT:
-+ priv->bclks_idle = true;
-+ break;
-+ case SND_SOC_DAIFMT_GATED:
-+ priv->bclks_idle = false;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static int meson_i2s_dai_set_sysclk(struct snd_soc_dai *dai, int clk_id,
-+ unsigned int freq, int dir)
-+{
-+ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai);
-+ int ret;
-+
-+ if (WARN_ON(clk_id != 0))
-+ return -EINVAL;
-+
-+ if (dir == SND_SOC_CLOCK_IN)
-+ return 0;
-+
-+ ret = clk_set_rate(priv->mclk, freq);
-+ if (ret) {
-+ dev_err(dai->dev, "Failed to set sysclk to %uHz", freq);
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static int meson_i2s_dai_startup(struct snd_pcm_substream *substream,
-+ struct snd_soc_dai *dai)
-+{
-+ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai);
-+ int ret;
-+
-+ /* Power up the i2s fast domain - can't write the registers w/o it */
-+ ret = clk_prepare_enable(priv->fast);
-+ if (ret)
-+ goto out_clk_fast;
-+
-+ /* Make sure nothing gets out of the DAI yet */
-+ __hold(priv, true);
-+
-+ /* I2S encoder needs the mixer interface gate */
-+ ret = clk_prepare_enable(priv->iface);
-+ if (ret)
-+ goto out_clk_iface;
-+
-+ /* Enable the i2s master clock */
-+ ret = clk_prepare_enable(priv->mclk);
-+ if (ret)
-+ goto out_mclk;
-+
-+ /* Enable the bit clock gate */
-+ ret = clk_prepare_enable(priv->bclks);
-+ if (ret)
-+ goto out_bclks;
-+
-+ /* Make sure the interface expect a memory layout we can work with */
-+ regmap_update_bits(priv->core->aiu, AIU_I2S_SOURCE_DESC,
-+ AIU_I2S_SOURCE_DESC_MODE_SPLIT,
-+ AIU_I2S_SOURCE_DESC_MODE_SPLIT);
-+
-+ return 0;
-+
-+out_bclks:
-+ clk_disable_unprepare(priv->mclk);
-+out_mclk:
-+ clk_disable_unprepare(priv->iface);
-+out_clk_iface:
-+ clk_disable_unprepare(priv->fast);
-+out_clk_fast:
-+ return ret;
-+}
-+
-+static void meson_i2s_dai_shutdown(struct snd_pcm_substream *substream,
-+ struct snd_soc_dai *dai)
-+{
-+ struct meson_i2s_dai *priv = snd_soc_dai_get_drvdata(dai);
-+
-+ clk_disable_unprepare(priv->bclks);
-+ clk_disable_unprepare(priv->mclk);
-+ clk_disable_unprepare(priv->iface);
-+ clk_disable_unprepare(priv->fast);
-+}
-+
-+static const struct snd_soc_dai_ops meson_i2s_dai_ops = {
-+ .startup = meson_i2s_dai_startup,
-+ .shutdown = meson_i2s_dai_shutdown,
-+ .trigger = meson_i2s_dai_trigger,
-+ .hw_params = meson_i2s_dai_hw_params,
-+ .set_fmt = meson_i2s_dai_set_fmt,
-+ .set_sysclk = meson_i2s_dai_set_sysclk,
-+};
-+
-+static struct snd_soc_dai_driver meson_i2s_dai = {
-+ .playback = {
-+ .stream_name = "Playback",
-+ .channels_min = 2,
-+ .channels_max = 8,
-+ .rates = SNDRV_PCM_RATE_8000_192000,
-+ .formats = (SNDRV_PCM_FMTBIT_S16_LE |
-+ SNDRV_PCM_FMTBIT_S24_LE)
-+ },
-+ .ops = &meson_i2s_dai_ops,
-+};
-+
-+static const struct snd_soc_component_driver meson_i2s_dai_component = {
-+ .name = DRV_NAME,
-+};
-+
-+static int meson_i2s_dai_probe(struct platform_device *pdev)
-+{
-+ struct device *dev = &pdev->dev;
-+ struct meson_i2s_dai *priv;
-+
-+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
-+ if (!priv)
-+ return -ENOMEM;
-+
-+ platform_set_drvdata(pdev, priv);
-+ priv->core = dev_get_drvdata(dev->parent);
-+
-+ priv->fast = devm_clk_get(dev, "fast");
-+ if (IS_ERR(priv->fast)) {
-+ if (PTR_ERR(priv->fast) != -EPROBE_DEFER)
-+ dev_err(dev, "Can't get the i2s fast domain clock\n");
-+ return PTR_ERR(priv->fast);
-+ }
-+
-+ priv->iface = devm_clk_get(dev, "iface");
-+ if (IS_ERR(priv->iface)) {
-+ if (PTR_ERR(priv->iface) != -EPROBE_DEFER)
-+ dev_err(dev, "Can't get i2s dai clock gate\n");
-+ return PTR_ERR(priv->iface);
-+ }
-+
-+ priv->bclks = devm_clk_get(dev, "bclks");
-+ if (IS_ERR(priv->bclks)) {
-+ if (PTR_ERR(priv->bclks) != -EPROBE_DEFER)
-+ dev_err(dev, "Can't get bit clocks gate\n");
-+ return PTR_ERR(priv->bclks);
-+ }
-+
-+ priv->mclk = devm_clk_get(dev, "mclk");
-+ if (IS_ERR(priv->mclk)) {
-+ if (PTR_ERR(priv->mclk) != -EPROBE_DEFER)
-+ dev_err(dev, "failed to get the i2s master clock\n");
-+ return PTR_ERR(priv->mclk);
-+ }
-+
-+ return devm_snd_soc_register_component(dev, &meson_i2s_dai_component,
-+ &meson_i2s_dai, 1);
-+}
-+
-+static const struct of_device_id meson_i2s_dai_of_match[] = {
-+ { .compatible = "amlogic,meson-i2s-dai", },
-+ { .compatible = "amlogic,meson-gxbb-i2s-dai", },
-+ { .compatible = "amlogic,meson-gxl-i2s-dai", },
-+ {}
-+};
-+MODULE_DEVICE_TABLE(of, meson_i2s_dai_of_match);
-+
-+static struct platform_driver meson_i2s_dai_pdrv = {
-+ .probe = meson_i2s_dai_probe,
-+ .driver = {
-+ .name = DRV_NAME,
-+ .of_match_table = meson_i2s_dai_of_match,
-+ },
-+};
-+module_platform_driver(meson_i2s_dai_pdrv);
-+
-+MODULE_DESCRIPTION("Meson i2s DAI ASoC Driver");
-+MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
-+MODULE_LICENSE("GPL v2");
diff --git a/testing/linux-amlogic/0006-ASoC-meson-add-aiu-spdif-dma-support.patch b/testing/linux-amlogic/0006-ASoC-meson-add-aiu-spdif-dma-support.patch
deleted file mode 100644
index 31cef2e53dc..00000000000
--- a/testing/linux-amlogic/0006-ASoC-meson-add-aiu-spdif-dma-support.patch
+++ /dev/null
@@ -1,443 +0,0 @@
-From 32a55958cc2d89e2feee831ca4e6ceae8458e950 Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Thu, 30 Mar 2017 13:43:52 +0200
-Subject: [PATCH] ASoC: meson: add aiu spdif dma support
-
-Add support for the spdif output dma which is part of the AIU block
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- sound/soc/meson/Kconfig | 7 +
- sound/soc/meson/Makefile | 4 +-
- sound/soc/meson/aiu-spdif-dma.c | 388 ++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 398 insertions(+), 1 deletion(-)
- create mode 100644 sound/soc/meson/aiu-spdif-dma.c
-
-diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
-index 5904e9e..712303f 100644
---- a/sound/soc/meson/Kconfig
-+++ b/sound/soc/meson/Kconfig
-@@ -80,3 +80,10 @@ config SND_SOC_MESON_I2S
- help
- Say Y or M if you want to add support for i2s driver for Amlogic
- Meson SoCs.
-+
-+config SND_SOC_MESON_SPDIF
-+ tristate "Meson spdif interface"
-+ depends on SND_SOC_MESON
-+ help
-+ Say Y or M if you want to add support for spdif dma driver for Amlogic
-+ Meson SoCs.
-diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile
-index b8641f9..dc5164a7 100644
---- a/sound/soc/meson/Makefile
-+++ b/sound/soc/meson/Makefile
-@@ -22,8 +22,10 @@ obj-$(CONFIG_SND_MESON_AXG_SPDIFOUT) += snd-soc-meson-axg-spdifout.o
-
- snd-soc-meson-audio-core-objs := audio-core.o
- snd-soc-meson-aiu-i2s-dma-objs := aiu-i2s-dma.o
-+snd-soc-meson-aiu-spdif-dma-objs := aiu-spdif-dma.o
- snd-soc-meson-i2s-dai-objs := i2s-dai.o
-
- obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o
- obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o
--obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-i2s-dai.o
-\ No newline at end of file
-+obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-i2s-dai.o
-+obj-$(CONFIG_SND_SOC_MESON_SPDIF) += snd-soc-meson-aiu-spdif-dma.o
-\ No newline at end of file
-diff --git a/sound/soc/meson/aiu-spdif-dma.c b/sound/soc/meson/aiu-spdif-dma.c
-new file mode 100644
-index 0000000..81c3b85
---- /dev/null
-+++ b/sound/soc/meson/aiu-spdif-dma.c
-@@ -0,0 +1,388 @@
-+/*
-+ * Copyright (C) 2017 BayLibre, SAS
-+ * Author: Jerome Brunet <jbrunet@baylibre.com>
-+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/clk.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/module.h>
-+#include <linux/of.h>
-+#include <linux/platform_device.h>
-+#include <linux/regmap.h>
-+
-+#include <sound/pcm_params.h>
-+#include <sound/soc.h>
-+
-+#include "aiu-regs.h"
-+#include "audio-core.h"
-+
-+#define DRV_NAME "meson-aiu-spdif-dma"
-+
-+struct aiu_spdif_dma {
-+ struct meson_audio_core_data *core;
-+ struct clk *fast;
-+ int irq;
-+};
-+
-+#define AIU_958_DCU_FF_CTRL_EN BIT(0)
-+#define AIU_958_DCU_FF_CTRL_AUTO_DISABLE BIT(1)
-+#define AIU_958_DCU_FF_CTRL_IRQ_MODE_MASK GENMASK(3, 2)
-+#define AIU_958_DCU_FF_CTRL_IRQ_OUT_THD BIT(2)
-+#define AIU_958_DCU_FF_CTRL_IRQ_FRAME_READ BIT(3)
-+#define AIU_958_DCU_FF_CTRL_SYNC_HEAD_EN BIT(4)
-+#define AIU_958_DCU_FF_CTRL_BYTE_SEEK BIT(5)
-+#define AIU_958_DCU_FF_CTRL_CONTINUE BIT(6)
-+#define AIU_MEM_IEC958_BUF_CNTL_INIT BIT(0)
-+#define AIU_MEM_IEC958_CONTROL_INIT BIT(0)
-+#define AIU_MEM_IEC958_CONTROL_FILL_EN BIT(1)
-+#define AIU_MEM_IEC958_CONTROL_EMPTY_EN BIT(2)
-+#define AIU_MEM_IEC958_CONTROL_ENDIAN_MASK GENMASK(5, 3)
-+#define AIU_MEM_IEC958_CONTROL_RD_DDR BIT(6)
-+#define AIU_MEM_IEC958_CONTROL_MODE_16BIT BIT(7)
-+#define AIU_MEM_IEC958_MASKS_CH_MEM_MASK GENMASK(15, 8)
-+#define AIU_MEM_IEC958_MASKS_CH_MEM(ch) ((ch) << 8)
-+#define AIU_MEM_IEC958_MASKS_CH_RD_MASK GENMASK(7, 0)
-+#define AIU_MEM_IEC958_MASKS_CH_RD(ch) ((ch) << 0)
-+
-+#define AIU_SPDIF_DMA_BURST 8
-+#define AIU_SPDIF_BPF_MAX USHRT_MAX
-+
-+static struct snd_pcm_hardware aiu_spdif_dma_hw = {
-+ .info = (SNDRV_PCM_INFO_INTERLEAVED |
-+ SNDRV_PCM_INFO_MMAP |
-+ SNDRV_PCM_INFO_MMAP_VALID |
-+ SNDRV_PCM_INFO_PAUSE),
-+
-+ .formats = (SNDRV_PCM_FMTBIT_S16_LE |
-+ SNDRV_PCM_FMTBIT_S24_LE |
-+ SNDRV_PCM_FMTBIT_S32_LE),
-+
-+ .rates = (SNDRV_PCM_RATE_32000 |
-+ SNDRV_PCM_RATE_44100 |
-+ SNDRV_PCM_RATE_48000 |
-+ SNDRV_PCM_RATE_96000 |
-+ SNDRV_PCM_RATE_192000),
-+ /*
-+ * TODO: The DMA can change the endianness, the msb position
-+ * and deal with unsigned - support this later on
-+ */
-+
-+ .channels_min = 2,
-+ .channels_max = 2,
-+ .period_bytes_min = AIU_SPDIF_DMA_BURST,
-+ .period_bytes_max = AIU_SPDIF_BPF_MAX,
-+ .periods_min = 2,
-+ .periods_max = UINT_MAX,
-+ .buffer_bytes_max = 1 * 1024 * 1024,
-+ .fifo_size = 0,
-+};
-+
-+static struct aiu_spdif_dma *aiu_spdif_dma_priv(struct snd_pcm_substream *s)
-+{
-+ struct snd_soc_pcm_runtime *rtd = s->private_data;
-+ struct snd_soc_component *component = snd_soc_rtdcom_lookup(rtd, DRV_NAME);
-+
-+ return snd_soc_component_get_drvdata(component);
-+}
-+
-+static snd_pcm_uframes_t
-+aiu_spdif_dma_pointer(struct snd_pcm_substream *substream)
-+{
-+ struct snd_pcm_runtime *runtime = substream->runtime;
-+ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream);
-+ unsigned int addr;
-+ int ret;
-+
-+ ret = regmap_read(priv->core->aiu, AIU_MEM_IEC958_RD_PTR,
-+ &addr);
-+ if (ret)
-+ return 0;
-+
-+ return bytes_to_frames(runtime, addr - (unsigned int)runtime->dma_addr);
-+}
-+
-+static void __dma_enable(struct aiu_spdif_dma *priv, bool enable)
-+{
-+ unsigned int en_mask = (AIU_MEM_IEC958_CONTROL_FILL_EN |
-+ AIU_MEM_IEC958_CONTROL_EMPTY_EN);
-+
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL, en_mask,
-+ enable ? en_mask : 0);
-+}
-+
-+static void __dcu_fifo_enable(struct aiu_spdif_dma *priv, bool enable)
-+{
-+ regmap_update_bits(priv->core->aiu, AIU_958_DCU_FF_CTRL,
-+ AIU_958_DCU_FF_CTRL_EN,
-+ enable ? AIU_958_DCU_FF_CTRL_EN : 0);
-+}
-+
-+static int aiu_spdif_dma_trigger(struct snd_pcm_substream *substream, int cmd)
-+{
-+ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream);
-+
-+ switch (cmd) {
-+ case SNDRV_PCM_TRIGGER_START:
-+ case SNDRV_PCM_TRIGGER_RESUME:
-+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
-+ __dcu_fifo_enable(priv, true);
-+ __dma_enable(priv, true);
-+ break;
-+ case SNDRV_PCM_TRIGGER_SUSPEND:
-+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
-+ case SNDRV_PCM_TRIGGER_STOP:
-+ __dma_enable(priv, false);
-+ __dcu_fifo_enable(priv, false);
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static void __dma_init_mem(struct aiu_spdif_dma *priv)
-+{
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL,
-+ AIU_MEM_IEC958_CONTROL_INIT,
-+ AIU_MEM_IEC958_CONTROL_INIT);
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_BUF_CNTL,
-+ AIU_MEM_IEC958_BUF_CNTL_INIT,
-+ AIU_MEM_IEC958_BUF_CNTL_INIT);
-+
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL,
-+ AIU_MEM_IEC958_CONTROL_INIT,
-+ 0);
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_BUF_CNTL,
-+ AIU_MEM_IEC958_BUF_CNTL_INIT,
-+ 0);
-+}
-+
-+static int aiu_spdif_dma_prepare(struct snd_pcm_substream *substream)
-+{
-+ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream);
-+
-+ __dma_init_mem(priv);
-+
-+ return 0;
-+}
-+
-+static int __setup_memory_layout(struct aiu_spdif_dma *priv,
-+ unsigned int width)
-+{
-+ u32 mem_ctl = AIU_MEM_IEC958_CONTROL_RD_DDR;
-+
-+ if (width == 16)
-+ mem_ctl |= AIU_MEM_IEC958_CONTROL_MODE_16BIT;
-+
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL,
-+ AIU_MEM_IEC958_CONTROL_ENDIAN_MASK |
-+ AIU_MEM_IEC958_CONTROL_MODE_16BIT |
-+ AIU_MEM_IEC958_CONTROL_RD_DDR,
-+ mem_ctl);
-+
-+ return 0;
-+}
-+
-+static int aiu_spdif_dma_hw_params(struct snd_pcm_substream *substream,
-+ struct snd_pcm_hw_params *params)
-+{
-+ struct snd_pcm_runtime *runtime = substream->runtime;
-+ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream);
-+ int ret;
-+ dma_addr_t end_ptr;
-+
-+ ret = snd_pcm_lib_malloc_pages(substream, params_buffer_bytes(params));
-+ if (ret < 0)
-+ return ret;
-+
-+ ret = __setup_memory_layout(priv, params_physical_width(params));
-+ if (ret)
-+ return ret;
-+
-+ /* Initialize memory pointers */
-+ regmap_write(priv->core->aiu,
-+ AIU_MEM_IEC958_START_PTR, runtime->dma_addr);
-+ regmap_write(priv->core->aiu,
-+ AIU_MEM_IEC958_RD_PTR, runtime->dma_addr);
-+
-+ /* The end pointer is the address of the last valid block */
-+ end_ptr = runtime->dma_addr + runtime->dma_bytes - AIU_SPDIF_DMA_BURST;
-+ regmap_write(priv->core->aiu, AIU_MEM_IEC958_END_PTR, end_ptr);
-+
-+ /* Memory masks */
-+ regmap_write(priv->core->aiu, AIU_MEM_IEC958_MASKS,
-+ AIU_MEM_IEC958_MASKS_CH_RD(0xff) |
-+ AIU_MEM_IEC958_MASKS_CH_MEM(0xff));
-+
-+ /* Setup the number bytes read by the FIFO between each IRQ */
-+ regmap_write(priv->core->aiu, AIU_958_BPF, params_period_bytes(params));
-+
-+ /*
-+ * AUTO_DISABLE and SYNC_HEAD are enabled by default but
-+ * this should be disabled in PCM (uncompressed) mode
-+ */
-+ regmap_update_bits(priv->core->aiu, AIU_958_DCU_FF_CTRL,
-+ AIU_958_DCU_FF_CTRL_AUTO_DISABLE |
-+ AIU_958_DCU_FF_CTRL_IRQ_MODE_MASK |
-+ AIU_958_DCU_FF_CTRL_SYNC_HEAD_EN,
-+ AIU_958_DCU_FF_CTRL_IRQ_FRAME_READ);
-+
-+ return 0;
-+}
-+
-+static int aiu_spdif_dma_hw_free(struct snd_pcm_substream *substream)
-+{
-+ return snd_pcm_lib_free_pages(substream);
-+}
-+
-+static irqreturn_t aiu_spdif_dma_irq(int irq, void *dev_id)
-+{
-+ struct snd_pcm_substream *playback = dev_id;
-+
-+ snd_pcm_period_elapsed(playback);
-+
-+ return IRQ_HANDLED;
-+}
-+
-+static int aiu_spdif_dma_open(struct snd_pcm_substream *substream)
-+{
-+ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream);
-+ int ret;
-+
-+ snd_soc_set_runtime_hwparams(substream, &aiu_spdif_dma_hw);
-+
-+ /*
-+ * Make sure the buffer and period size are multiple of the DMA burst
-+ * size
-+ */
-+ ret = snd_pcm_hw_constraint_step(substream->runtime, 0,
-+ SNDRV_PCM_HW_PARAM_BUFFER_BYTES,
-+ AIU_SPDIF_DMA_BURST);
-+ if (ret)
-+ return ret;
-+
-+ ret = snd_pcm_hw_constraint_step(substream->runtime, 0,
-+ SNDRV_PCM_HW_PARAM_PERIOD_BYTES,
-+ AIU_SPDIF_DMA_BURST);
-+ if (ret)
-+ return ret;
-+
-+ /* Request the SPDIF DDR irq */
-+ ret = request_irq(priv->irq, aiu_spdif_dma_irq, 0,
-+ DRV_NAME, substream);
-+ if (ret)
-+ return ret;
-+
-+ /* Power up the spdif fast domain - can't write the register w/o it */
-+ ret = clk_prepare_enable(priv->fast);
-+ if (ret)
-+ return ret;
-+
-+ /* Make sure the dma is initially halted */
-+ __dma_enable(priv, false);
-+ __dcu_fifo_enable(priv, false);
-+
-+ return 0;
-+}
-+
-+static int aiu_spdif_dma_close(struct snd_pcm_substream *substream)
-+{
-+ struct aiu_spdif_dma *priv = aiu_spdif_dma_priv(substream);
-+
-+ clk_disable_unprepare(priv->fast);
-+ free_irq(priv->irq, substream);
-+
-+ return 0;
-+}
-+
-+static const struct snd_pcm_ops aiu_spdif_dma_ops = {
-+ .open = aiu_spdif_dma_open,
-+ .close = aiu_spdif_dma_close,
-+ .ioctl = snd_pcm_lib_ioctl,
-+ .hw_params = aiu_spdif_dma_hw_params,
-+ .hw_free = aiu_spdif_dma_hw_free,
-+ .prepare = aiu_spdif_dma_prepare,
-+ .pointer = aiu_spdif_dma_pointer,
-+ .trigger = aiu_spdif_dma_trigger,
-+};
-+
-+static int aiu_spdif_dma_new(struct snd_soc_pcm_runtime *rtd)
-+{
-+ struct snd_card *card = rtd->card->snd_card;
-+ size_t size = aiu_spdif_dma_hw.buffer_bytes_max;
-+
-+ return snd_pcm_lib_preallocate_pages_for_all(rtd->pcm,
-+ SNDRV_DMA_TYPE_DEV,
-+ card->dev, size, size);
-+}
-+
-+static const struct snd_soc_component_driver aiu_spdif_platform = {
-+ .ops = &aiu_spdif_dma_ops,
-+ .pcm_new = aiu_spdif_dma_new,
-+ .name = DRV_NAME,
-+};
-+
-+static int aiu_spdif_dma_probe(struct platform_device *pdev)
-+{
-+ struct device *dev = &pdev->dev;
-+ struct aiu_spdif_dma *priv;
-+
-+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
-+ if (!priv)
-+ return -ENOMEM;
-+
-+ platform_set_drvdata(pdev, priv);
-+ priv->core = dev_get_drvdata(dev->parent);
-+
-+ priv->fast = devm_clk_get(dev, "fast");
-+ if (IS_ERR(priv->fast)) {
-+ if (PTR_ERR(priv->fast) != -EPROBE_DEFER)
-+ dev_err(dev, "Can't get spdif fast domain clock\n");
-+ return PTR_ERR(priv->fast);
-+ }
-+
-+ priv->irq = platform_get_irq(pdev, 0);
-+ if (priv->irq <= 0) {
-+ dev_err(dev, "Can't get spdif ddr irq\n");
-+ return priv->irq;
-+ }
-+
-+ return devm_snd_soc_register_component(dev, &aiu_spdif_platform,
-+ NULL, 0);
-+}
-+
-+static const struct of_device_id aiu_spdif_dma_of_match[] = {
-+ { .compatible = "amlogic,meson-aiu-spdif-dma", },
-+ { .compatible = "amlogic,meson-gxbb-aiu-spdif-dma", },
-+ { .compatible = "amlogic,meson-gxl-aiu-spdif-dma", },
-+ {}
-+};
-+MODULE_DEVICE_TABLE(of, aiu_spdif_dma_of_match);
-+
-+static struct platform_driver aiu_spdif_dma_pdrv = {
-+ .probe = aiu_spdif_dma_probe,
-+ .driver = {
-+ .name = DRV_NAME,
-+ .of_match_table = aiu_spdif_dma_of_match,
-+ },
-+};
-+module_platform_driver(aiu_spdif_dma_pdrv);
-+
-+MODULE_DESCRIPTION("Meson AIU spdif DMA ASoC Driver");
-+MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
-+MODULE_LICENSE("GPL");
diff --git a/testing/linux-amlogic/0007-ASoC-meson-add-initial-spdif-dai-support.patch b/testing/linux-amlogic/0007-ASoC-meson-add-initial-spdif-dai-support.patch
deleted file mode 100644
index c60779b4658..00000000000
--- a/testing/linux-amlogic/0007-ASoC-meson-add-initial-spdif-dai-support.patch
+++ /dev/null
@@ -1,430 +0,0 @@
-From 67e2a1601f80648f5c318728218b788c51081fa3 Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Thu, 30 Mar 2017 13:46:03 +0200
-Subject: [PATCH] ASoC: meson: add initial spdif dai support
-
-Add support for the spdif dai found on Amlogic Meson SoC family.
-With this initial implementation, only uncompressed pcm playback
-from the spdif dma is supported. Future work will add compressed
-support, pcm playback from i2s dma and capture.
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- sound/soc/meson/Kconfig | 3 +-
- sound/soc/meson/Makefile | 4 +-
- sound/soc/meson/spdif-dai.c | 374 ++++++++++++++++++++++++++++++++++++++++++++
- 3 files changed, 379 insertions(+), 2 deletions(-)
- create mode 100644 sound/soc/meson/spdif-dai.c
-
-diff --git a/sound/soc/meson/Kconfig b/sound/soc/meson/Kconfig
-index 712303f..bc3d6f2 100644
---- a/sound/soc/meson/Kconfig
-+++ b/sound/soc/meson/Kconfig
-@@ -84,6 +84,7 @@ config SND_SOC_MESON_I2S
- config SND_SOC_MESON_SPDIF
- tristate "Meson spdif interface"
- depends on SND_SOC_MESON
-+ select SND_PCM_IEC958
- help
-- Say Y or M if you want to add support for spdif dma driver for Amlogic
-+ Say Y or M if you want to add support for spdif driver for Amlogic
- Meson SoCs.
-diff --git a/sound/soc/meson/Makefile b/sound/soc/meson/Makefile
-index dc5164a7..44f79d8 100644
---- a/sound/soc/meson/Makefile
-+++ b/sound/soc/meson/Makefile
-@@ -24,8 +24,10 @@ snd-soc-meson-audio-core-objs := audio-core.o
- snd-soc-meson-aiu-i2s-dma-objs := aiu-i2s-dma.o
- snd-soc-meson-aiu-spdif-dma-objs := aiu-spdif-dma.o
- snd-soc-meson-i2s-dai-objs := i2s-dai.o
-+snd-soc-meson-spdif-dai-objs := spdif-dai.o
-
- obj-$(CONFIG_SND_SOC_MESON) += snd-soc-meson-audio-core.o
- obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-aiu-i2s-dma.o
- obj-$(CONFIG_SND_SOC_MESON_I2S) += snd-soc-meson-i2s-dai.o
--obj-$(CONFIG_SND_SOC_MESON_SPDIF) += snd-soc-meson-aiu-spdif-dma.o
-\ No newline at end of file
-+obj-$(CONFIG_SND_SOC_MESON_SPDIF) += snd-soc-meson-aiu-spdif-dma.o
-+obj-$(CONFIG_SND_SOC_MESON_SPDIF) += snd-soc-meson-spdif-dai.o
-\ No newline at end of file
-diff --git a/sound/soc/meson/spdif-dai.c b/sound/soc/meson/spdif-dai.c
-new file mode 100644
-index 0000000..e763000
---- /dev/null
-+++ b/sound/soc/meson/spdif-dai.c
-@@ -0,0 +1,374 @@
-+/*
-+ * Copyright (C) 2017 BayLibre, SAS
-+ * Author: Jerome Brunet <jbrunet@baylibre.com>
-+ * Copyright (C) 2017 Amlogic, Inc. All rights reserved.
-+ *
-+ * This program is free software; you can redistribute it and/or
-+ * modify it under the terms of the GNU General Public License as
-+ * published by the Free Software Foundation; either version 2 of the
-+ * License, or (at your option) any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful, but
-+ * WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-+ * General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program; if not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include <linux/clk.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/module.h>
-+#include <linux/of.h>
-+#include <linux/platform_device.h>
-+#include <linux/regmap.h>
-+
-+#include <sound/pcm_params.h>
-+#include <sound/soc.h>
-+#include <sound/soc-dai.h>
-+#include <sound/pcm_iec958.h>
-+
-+#include "aiu-regs.h"
-+#include "audio-core.h"
-+
-+#define DRV_NAME "meson-spdif-dai"
-+
-+struct meson_spdif_dai {
-+ struct meson_audio_core_data *core;
-+ struct clk *iface;
-+ struct clk *fast;
-+ struct clk *mclk_i958;
-+ struct clk *mclk;
-+};
-+
-+#define AIU_CLK_CTRL_958_DIV_EN BIT(1)
-+#define AIU_CLK_CTRL_958_DIV_MASK GENMASK(5, 4)
-+#define AIU_CLK_CTRL_958_DIV_MORE BIT(12)
-+#define AIU_MEM_IEC958_CONTROL_MODE_LINEAR BIT(8)
-+#define AIU_958_CTRL_HOLD_EN BIT(0)
-+#define AIU_958_MISC_NON_PCM BIT(0)
-+#define AIU_958_MISC_MODE_16BITS BIT(1)
-+#define AIU_958_MISC_16BITS_ALIGN_MASK GENMASK(6, 5)
-+#define AIU_958_MISC_16BITS_ALIGN(val) ((val) << 5)
-+#define AIU_958_MISC_MODE_32BITS BIT(7)
-+#define AIU_958_MISC_32BITS_SHIFT_MASK GENMASK(10, 8)
-+#define AIU_958_MISC_32BITS_SHIFT(val) ((val) << 8)
-+#define AIU_958_MISC_U_FROM_STREAM BIT(12)
-+#define AIU_958_MISC_FORCE_LR BIT(13)
-+
-+#define AIU_CS_WORD_LEN 4
-+
-+static void __hold(struct meson_spdif_dai *priv, bool enable)
-+{
-+ regmap_update_bits(priv->core->aiu, AIU_958_CTRL,
-+ AIU_958_CTRL_HOLD_EN,
-+ enable ? AIU_958_CTRL_HOLD_EN : 0);
-+}
-+
-+static void __divider_enable(struct meson_spdif_dai *priv, bool enable)
-+{
-+ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL,
-+ AIU_CLK_CTRL_958_DIV_EN,
-+ enable ? AIU_CLK_CTRL_958_DIV_EN : 0);
-+}
-+
-+static void __playback_start(struct meson_spdif_dai *priv)
-+{
-+ __divider_enable(priv, true);
-+ __hold(priv, false);
-+}
-+
-+static void __playback_stop(struct meson_spdif_dai *priv)
-+{
-+ __hold(priv, true);
-+ __divider_enable(priv, false);
-+}
-+
-+static int meson_spdif_dai_trigger(struct snd_pcm_substream *substream, int cmd,
-+ struct snd_soc_dai *dai)
-+{
-+ struct meson_spdif_dai *priv = snd_soc_dai_get_drvdata(dai);
-+
-+ switch (cmd) {
-+ case SNDRV_PCM_TRIGGER_START:
-+ case SNDRV_PCM_TRIGGER_RESUME:
-+ case SNDRV_PCM_TRIGGER_PAUSE_RELEASE:
-+ __playback_start(priv);
-+ return 0;
-+
-+ case SNDRV_PCM_TRIGGER_STOP:
-+ case SNDRV_PCM_TRIGGER_SUSPEND:
-+ case SNDRV_PCM_TRIGGER_PAUSE_PUSH:
-+ __playback_stop(priv);
-+ return 0;
-+
-+ default:
-+ return -EINVAL;
-+ }
-+}
-+
-+static int __setup_spdif_clk(struct meson_spdif_dai *priv, unsigned int rate)
-+{
-+ unsigned int mrate;
-+
-+ /* Leave the internal divisor alone */
-+ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL,
-+ AIU_CLK_CTRL_958_DIV_MASK |
-+ AIU_CLK_CTRL_958_DIV_MORE,
-+ 0);
-+
-+ /* 2 * 32bits per subframe * 2 channels = 128 */
-+ mrate = rate * 128;
-+ return clk_set_rate(priv->mclk, mrate);
-+}
-+
-+static int __setup_cs_word(struct meson_spdif_dai *priv,
-+ struct snd_pcm_hw_params *params)
-+{
-+ u8 cs[AIU_CS_WORD_LEN];
-+ u32 val;
-+ int ret;
-+
-+ ret = snd_pcm_create_iec958_consumer_hw_params(params, cs,
-+ AIU_CS_WORD_LEN);
-+ if (ret < 0)
-+ return -EINVAL;
-+
-+ /* Write the 1st half word */
-+ val = cs[1] | cs[0] << 8;
-+ regmap_write(priv->core->aiu, AIU_958_CHSTAT_L0, val);
-+ regmap_write(priv->core->aiu, AIU_958_CHSTAT_R0, val);
-+
-+ /* Write the 2nd half word */
-+ val = cs[3] | cs[2] << 8;
-+ regmap_write(priv->core->aiu, AIU_958_CHSTAT_L1, val);
-+ regmap_write(priv->core->aiu, AIU_958_CHSTAT_R1, val);
-+
-+ return 0;
-+}
-+
-+static int __setup_pcm_fmt(struct meson_spdif_dai *priv,
-+ unsigned int width)
-+{
-+ u32 val = 0;
-+
-+ switch (width) {
-+ case 16:
-+ val |= AIU_958_MISC_MODE_16BITS;
-+ val |= AIU_958_MISC_16BITS_ALIGN(2);
-+ break;
-+ case 32:
-+ case 24:
-+ /*
-+ * Looks like this should only be set for 32bits mode, but the
-+ * vendor kernel sets it like this for 24bits as well, let's
-+ * try and see
-+ */
-+ val |= AIU_958_MISC_MODE_32BITS;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ /* No idea what this actually does, copying the vendor kernel for now */
-+ val |= AIU_958_MISC_FORCE_LR;
-+ val |= AIU_958_MISC_U_FROM_STREAM;
-+
-+ regmap_update_bits(priv->core->aiu, AIU_958_MISC,
-+ AIU_958_MISC_NON_PCM |
-+ AIU_958_MISC_MODE_16BITS |
-+ AIU_958_MISC_16BITS_ALIGN_MASK |
-+ AIU_958_MISC_MODE_32BITS |
-+ AIU_958_MISC_FORCE_LR,
-+ val);
-+
-+ return 0;
-+}
-+
-+static int meson_spdif_dai_hw_params(struct snd_pcm_substream *substream,
-+ struct snd_pcm_hw_params *params,
-+ struct snd_soc_dai *dai)
-+{
-+ struct meson_spdif_dai *priv = snd_soc_dai_get_drvdata(dai);
-+ int ret;
-+
-+ ret = __setup_spdif_clk(priv, params_rate(params));
-+ if (ret) {
-+ dev_err(dai->dev, "Unable to set the spdif clock\n");
-+ return ret;
-+ }
-+
-+ ret = __setup_cs_word(priv, params);
-+ if (ret) {
-+ dev_err(dai->dev, "Unable to set the channel status word\n");
-+ return ret;
-+ }
-+
-+ ret = __setup_pcm_fmt(priv, params_width(params));
-+ if (ret) {
-+ dev_err(dai->dev, "Unable to set the pcm format\n");
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static int meson_spdif_dai_startup(struct snd_pcm_substream *substream,
-+ struct snd_soc_dai *dai)
-+{
-+ struct meson_spdif_dai *priv = snd_soc_dai_get_drvdata(dai);
-+ int ret;
-+
-+ /* Power up the spdif fast domain - can't write the registers w/o it */
-+ ret = clk_prepare_enable(priv->fast);
-+ if (ret)
-+ goto out_clk_fast;
-+
-+ /* Make sure nothing gets out of the DAI yet*/
-+ __hold(priv, true);
-+
-+ ret = clk_set_parent(priv->mclk, priv->mclk_i958);
-+ if (ret)
-+ return ret;
-+
-+ /* Enable the clock gate */
-+ ret = clk_prepare_enable(priv->iface);
-+ if (ret)
-+ goto out_clk_iface;
-+
-+ /* Enable the spdif clock */
-+ ret = clk_prepare_enable(priv->mclk);
-+ if (ret)
-+ goto out_mclk;
-+
-+ /*
-+ * Make sure the interface expect a memory layout we can work with
-+ * MEM prefixed register usually belong to the DMA, but when the spdif
-+ * DAI takes data from the i2s buffer, we need to make sure it works in
-+ * split mode and not the "normal mode" (channel samples packed in
-+ * 32 bytes groups)
-+ */
-+ regmap_update_bits(priv->core->aiu, AIU_MEM_IEC958_CONTROL,
-+ AIU_MEM_IEC958_CONTROL_MODE_LINEAR,
-+ AIU_MEM_IEC958_CONTROL_MODE_LINEAR);
-+
-+ return 0;
-+
-+out_mclk:
-+ clk_disable_unprepare(priv->iface);
-+out_clk_iface:
-+ clk_disable_unprepare(priv->fast);
-+out_clk_fast:
-+ return ret;
-+}
-+
-+static void meson_spdif_dai_shutdown(struct snd_pcm_substream *substream,
-+ struct snd_soc_dai *dai)
-+{
-+ struct meson_spdif_dai *priv = snd_soc_dai_get_drvdata(dai);
-+
-+ clk_disable_unprepare(priv->iface);
-+ clk_disable_unprepare(priv->mclk);
-+ clk_disable_unprepare(priv->fast);
-+}
-+
-+static const struct snd_soc_dai_ops meson_spdif_dai_ops = {
-+ .startup = meson_spdif_dai_startup,
-+ .shutdown = meson_spdif_dai_shutdown,
-+ .trigger = meson_spdif_dai_trigger,
-+ .hw_params = meson_spdif_dai_hw_params,
-+};
-+
-+static struct snd_soc_dai_driver meson_spdif_dai = {
-+ .playback = {
-+ .stream_name = "Playback",
-+ .channels_min = 2,
-+ .channels_max = 2,
-+ .rates = (SNDRV_PCM_RATE_32000 |
-+ SNDRV_PCM_RATE_44100 |
-+ SNDRV_PCM_RATE_48000 |
-+ SNDRV_PCM_RATE_96000 |
-+ SNDRV_PCM_RATE_192000),
-+ .formats = (SNDRV_PCM_FMTBIT_S16_LE |
-+ SNDRV_PCM_FMTBIT_S24_LE)
-+ },
-+ .ops = &meson_spdif_dai_ops,
-+};
-+
-+static const struct snd_soc_component_driver meson_spdif_dai_component = {
-+ .name = DRV_NAME,
-+};
-+
-+static int meson_spdif_dai_probe(struct platform_device *pdev)
-+{
-+ struct device *dev = &pdev->dev;
-+ struct meson_spdif_dai *priv;
-+
-+ priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
-+ if (!priv)
-+ return -ENOMEM;
-+
-+ platform_set_drvdata(pdev, priv);
-+ priv->core = dev_get_drvdata(dev->parent);
-+
-+ priv->fast = devm_clk_get(dev, "fast");
-+ if (IS_ERR(priv->fast)) {
-+ if (PTR_ERR(priv->fast) != -EPROBE_DEFER)
-+ dev_err(dev, "Can't get spdif fast domain clockt\n");
-+ return PTR_ERR(priv->fast);
-+ }
-+
-+ priv->iface = devm_clk_get(dev, "iface");
-+ if (IS_ERR(priv->iface)) {
-+ if (PTR_ERR(priv->iface) != -EPROBE_DEFER)
-+ dev_err(dev,
-+ "Can't get the dai clock gate\n");
-+ return PTR_ERR(priv->iface);
-+ }
-+
-+ priv->mclk_i958 = devm_clk_get(dev, "mclk_i958");
-+ if (IS_ERR(priv->mclk_i958)) {
-+ if (PTR_ERR(priv->mclk_i958) != -EPROBE_DEFER)
-+ dev_err(dev, "Can't get the spdif master clock\n");
-+ return PTR_ERR(priv->mclk_i958);
-+ }
-+
-+ /*
-+ * TODO: the spdif dai can also get its data from the i2s fifo.
-+ * For this use-case, the DAI driver will need to get the i2s master
-+ * clock in order to reparent the spdif clock from cts_mclk_i958 to
-+ * cts_amclk
-+ */
-+
-+ priv->mclk = devm_clk_get(dev, "mclk");
-+ if (IS_ERR(priv->mclk)) {
-+ if (PTR_ERR(priv->mclk) != -EPROBE_DEFER)
-+ dev_err(dev, "Can't get the spdif input mux clock\n");
-+ return PTR_ERR(priv->mclk);
-+ }
-+
-+ return devm_snd_soc_register_component(dev, &meson_spdif_dai_component,
-+ &meson_spdif_dai, 1);
-+}
-+
-+static const struct of_device_id meson_spdif_dai_of_match[] = {
-+ { .compatible = "amlogic,meson-spdif-dai", },
-+ { .compatible = "amlogic,meson-gxbb-spdif-dai", },
-+ { .compatible = "amlogic,meson-gxl-spdif-dai", },
-+ {}
-+};
-+MODULE_DEVICE_TABLE(of, meson_spdif_dai_of_match);
-+
-+static struct platform_driver meson_spdif_dai_pdrv = {
-+ .probe = meson_spdif_dai_probe,
-+ .driver = {
-+ .name = DRV_NAME,
-+ .of_match_table = meson_spdif_dai_of_match,
-+ },
-+};
-+module_platform_driver(meson_spdif_dai_pdrv);
-+
-+MODULE_DESCRIPTION("Meson spdif DAI ASoC Driver");
-+MODULE_AUTHOR("Jerome Brunet <jbrunet@baylibre.com>");
-+MODULE_LICENSE("GPL v2");
diff --git a/testing/linux-amlogic/0008-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch b/testing/linux-amlogic/0008-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch
deleted file mode 100644
index 2f8854bf36a..00000000000
--- a/testing/linux-amlogic/0008-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 93621178cb2f756c8ca8901801c2ce914ac7dc6b Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Fri, 31 Mar 2017 15:55:03 +0200
-Subject: [PATCH] ARM64: defconfig: enable audio support for meson SoCs as
- module
-
-Add audio support for meson SoCs. This includes the audio core
-driver and the i2s and spdif output interfaces
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- arch/arm64/configs/defconfig | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
-index ab1cb51..a4bf54b 100644
---- a/arch/arm64/configs/defconfig
-+++ b/arch/arm64/configs/defconfig
-@@ -464,6 +464,9 @@ CONFIG_SOUND=y
- CONFIG_SND=y
- CONFIG_SND_SOC=y
- CONFIG_SND_BCM2835_SOC_I2S=m
-+CONFIG_SND_SOC_MESON=m
-+CONFIG_SND_SOC_MESON_I2S=m
-+CONFIG_SND_SOC_MESON_SPDIF=m
- CONFIG_SND_SOC_ROCKCHIP=m
- CONFIG_SND_SOC_ROCKCHIP_I2S=m
- CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
diff --git a/testing/linux-amlogic/0008-drm-meson-Add-HDMI-1.4-4k-modes.patch b/testing/linux-amlogic/0008-drm-meson-Add-HDMI-1.4-4k-modes.patch
deleted file mode 100644
index 194ba6e2de8..00000000000
--- a/testing/linux-amlogic/0008-drm-meson-Add-HDMI-1.4-4k-modes.patch
+++ /dev/null
@@ -1,165 +0,0 @@
-From 24b38ca3bd2579d4bac18f57526c93bc63354959 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Fri, 20 Jul 2018 15:29:18 +0200
-Subject: [PATCH] drm/meson: Add HDMI 1.4 4k modes
-
-Add the timings for the HDMI 1.4 4K modes support :
-- 3840x2160@30
-- 3840x2160@25
-- 3840x2160@24
-
-Since the 297000Hz pixel clock is already managed and the modes are
-compatible with the HDMI 1.4 current HDMI PHY+Controller support, only
-the missing timings values needs to be added.
-
----
- drivers/gpu/drm/meson/meson_venc.c | 129 +++++++++++++++++++++++++++++++++++++
- 1 file changed, 129 insertions(+)
-
-diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
-index 14aac66..d68ccbf 100644
---- a/drivers/gpu/drm/meson/meson_venc.c
-+++ b/drivers/gpu/drm/meson/meson_venc.c
-@@ -698,6 +698,132 @@ union meson_hdmi_venc_mode meson_hdmi_encp_mode_1080p60 = {
- },
- };
-
-+union meson_hdmi_venc_mode meson_hdmi_encp_mode_2160p24 = {
-+ .encp = {
-+ .dvi_settings = 0x1,
-+ .video_mode = 0x4040,
-+ .video_mode_adv = 0x8,
-+ /* video_sync_mode */
-+ /* video_yc_dly */
-+ /* video_rgb_ctrl */
-+ .video_filt_ctrl = 0x1000,
-+ .video_filt_ctrl_present = true,
-+ /* video_ofld_voav_ofst */
-+ .yfp1_htime = 140,
-+ .yfp2_htime = 140+3840,
-+ .max_pxcnt = 3840+1660-1,
-+ .hspuls_begin = 2156+1920,
-+ .hspuls_end = 44,
-+ .hspuls_switch = 44,
-+ .vspuls_begin = 140,
-+ .vspuls_end = 2059+1920,
-+ .vspuls_bline = 0,
-+ .vspuls_eline = 4,
-+ .havon_begin = 148,
-+ .havon_end = 3987,
-+ .vavon_bline = 89,
-+ .vavon_eline = 2248,
-+ /* eqpuls_begin */
-+ /* eqpuls_end */
-+ /* eqpuls_bline */
-+ /* eqpuls_eline */
-+ .hso_begin = 44,
-+ .hso_end = 2156+1920,
-+ .vso_begin = 2100+1920,
-+ .vso_end = 2164+1920,
-+ .vso_bline = 51,
-+ .vso_eline = 53,
-+ .vso_eline_present = true,
-+ /* sy_val */
-+ /* sy2_val */
-+ .max_lncnt = 2249,
-+ },
-+};
-+
-+union meson_hdmi_venc_mode meson_hdmi_encp_mode_2160p25 = {
-+ .encp = {
-+ .dvi_settings = 0x1,
-+ .video_mode = 0x4040,
-+ .video_mode_adv = 0x8,
-+ /* video_sync_mode */
-+ /* video_yc_dly */
-+ /* video_rgb_ctrl */
-+ .video_filt_ctrl = 0x1000,
-+ .video_filt_ctrl_present = true,
-+ /* video_ofld_voav_ofst */
-+ .yfp1_htime = 140,
-+ .yfp2_htime = 140+3840,
-+ .max_pxcnt = 3840+1440-1,
-+ .hspuls_begin = 2156+1920,
-+ .hspuls_end = 44,
-+ .hspuls_switch = 44,
-+ .vspuls_begin = 140,
-+ .vspuls_end = 2059+1920,
-+ .vspuls_bline = 0,
-+ .vspuls_eline = 4,
-+ .havon_begin = 148,
-+ .havon_end = 3987,
-+ .vavon_bline = 89,
-+ .vavon_eline = 2248,
-+ /* eqpuls_begin */
-+ /* eqpuls_end */
-+ /* eqpuls_bline */
-+ /* eqpuls_eline */
-+ .hso_begin = 44,
-+ .hso_end = 2156+1920,
-+ .vso_begin = 2100+1920,
-+ .vso_end = 2164+1920,
-+ .vso_bline = 51,
-+ .vso_eline = 53,
-+ .vso_eline_present = true,
-+ /* sy_val */
-+ /* sy2_val */
-+ .max_lncnt = 2249,
-+ },
-+};
-+
-+union meson_hdmi_venc_mode meson_hdmi_encp_mode_2160p30 = {
-+ .encp = {
-+ .dvi_settings = 0x1,
-+ .video_mode = 0x4040,
-+ .video_mode_adv = 0x8,
-+ /* video_sync_mode */
-+ /* video_yc_dly */
-+ /* video_rgb_ctrl */
-+ .video_filt_ctrl = 0x1000,
-+ .video_filt_ctrl_present = true,
-+ /* video_ofld_voav_ofst */
-+ .yfp1_htime = 140,
-+ .yfp2_htime = 140+3840,
-+ .max_pxcnt = 3840+560-1,
-+ .hspuls_begin = 2156+1920,
-+ .hspuls_end = 44,
-+ .hspuls_switch = 44,
-+ .vspuls_begin = 140,
-+ .vspuls_end = 2059+1920,
-+ .vspuls_bline = 0,
-+ .vspuls_eline = 4,
-+ .havon_begin = 148,
-+ .havon_end = 3987,
-+ .vavon_bline = 89,
-+ .vavon_eline = 2248,
-+ /* eqpuls_begin */
-+ /* eqpuls_end */
-+ /* eqpuls_bline */
-+ /* eqpuls_eline */
-+ .hso_begin = 44,
-+ .hso_end = 2156+1920,
-+ .vso_begin = 2100+1920,
-+ .vso_end = 2164+1920,
-+ .vso_bline = 51,
-+ .vso_eline = 53,
-+ .vso_eline_present = true,
-+ /* sy_val */
-+ /* sy2_val */
-+ .max_lncnt = 2249,
-+ },
-+};
-+
- struct meson_hdmi_venc_vic_mode {
- unsigned int vic;
- union meson_hdmi_venc_mode *mode;
-@@ -718,6 +844,9 @@ struct meson_hdmi_venc_vic_mode {
- { 34, &meson_hdmi_encp_mode_1080p30 },
- { 31, &meson_hdmi_encp_mode_1080p50 },
- { 16, &meson_hdmi_encp_mode_1080p60 },
-+ { 93, &meson_hdmi_encp_mode_2160p24 },
-+ { 94, &meson_hdmi_encp_mode_2160p25 },
-+ { 95, &meson_hdmi_encp_mode_2160p30 },
- { 0, NULL}, /* sentinel */
- };
-
diff --git a/testing/linux-amlogic/0009-ARM64-dts-meson-gx-add-audio-controller-nodes.patch b/testing/linux-amlogic/0009-ARM64-dts-meson-gx-add-audio-controller-nodes.patch
deleted file mode 100644
index f16edd0d1b6..00000000000
--- a/testing/linux-amlogic/0009-ARM64-dts-meson-gx-add-audio-controller-nodes.patch
+++ /dev/null
@@ -1,187 +0,0 @@
-From 7ecd280bd317cff3c608b32b2a185929b2ec17ca Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Thu, 30 Mar 2017 15:19:04 +0200
-Subject: [PATCH] ARM64: dts: meson-gx: add audio controller nodes
-
-Add audio controller nodes for Amlogic meson gxbb and gxl.
-This includes the audio-core node, the i2s and spdif DAIs, i2s and spdif
-aiu DMAs.
-
-Audio on this SoC family is still a work in progress. More nodes are likely
-to be added later on (pcm DAIs, input DMAs, etc ...)
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 35 ++++++++++++++++++++++++++
- arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 39 +++++++++++++++++++++++++++++
- arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 38 ++++++++++++++++++++++++++++
- 3 files changed, 112 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-index b8dc4db..6b64b63 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-@@ -203,6 +203,41 @@
- #reset-cells = <1>;
- };
-
-+ audio: audio@5400 {
-+ compatible = "amlogic,meson-audio-core";
-+ reg = <0x0 0x5400 0x0 0x2ac>,
-+ <0x0 0xa000 0x0 0x304>;
-+ reg-names = "aiu", "audin";
-+ status = "disabled";
-+
-+ aiu_i2s_dma: aiu_i2s_dma {
-+ #sound-dai-cells = <0>;
-+ compatible = "amlogic,meson-aiu-i2s-dma";
-+ interrupts = <GIC_SPI 48 IRQ_TYPE_EDGE_RISING>;
-+ status = "disabled";
-+ };
-+
-+ aiu_spdif_dma: aiu_spdif_dma {
-+ #sound-dai-cells = <0>;
-+ compatible = "amlogic,meson-aiu-spdif-dma";
-+ interrupts = <GIC_SPI 50 IRQ_TYPE_EDGE_RISING>;
-+ status = "disabled";
-+ };
-+
-+ i2s_dai: i2s_dai {
-+ #sound-dai-cells = <0>;
-+ compatible = "amlogic,meson-i2s-dai";
-+ status = "disabled";
-+ };
-+
-+ spdif_dai: spdif_dai {
-+ #sound-dai-cells = <0>;
-+ compatible = "amlogic,meson-spdif-dai";
-+ status = "disabled";
-+ };
-+
-+ };
-+
- uart_A: serial@84c0 {
- compatible = "amlogic,meson-gx-uart";
- reg = <0x0 0x84c0 0x0 0x18>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-index 98cbba6..7913249 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-@@ -659,6 +659,35 @@
- };
- };
-
-+&audio {
-+ clocks = <&clkc CLKID_AIU>,
-+ <&clkc CLKID_AIU_GLUE>,
-+ <&clkc CLKID_I2S_SPDIF>;
-+ clock-names = "aiu_top", "aiu_glue", "audin";
-+ resets = <&reset RESET_AIU>,
-+ <&reset RESET_AUDIN>;
-+ reset-names = "aiu", "audin";
-+};
-+
-+&aiu_i2s_dma {
-+ clocks = <&clkc CLKID_I2S_OUT>;
-+ clock-names = "fast";
-+};
-+
-+&aiu_spdif_dma {
-+ clocks = <&clkc CLKID_IEC958>;
-+ clock-names = "fast";
-+
-+};
-+
-+&i2s_dai {
-+ clocks = <&clkc CLKID_I2S_OUT>,
-+ <&clkc CLKID_MIXER_IFACE>,
-+ <&clkc CLKID_AOCLK_GATE>,
-+ <&clkc CLKID_CTS_AMCLK>;
-+ clock-names = "fast", "iface", "bclks", "mclk";
-+};
-+
- &pwrc_vpu {
- resets = <&reset RESET_VIU>,
- <&reset RESET_VENC>,
-@@ -741,6 +770,15 @@
- num-cs = <1>;
- };
-
-+&spdif_dai {
-+ clocks = <&clkc CLKID_IEC958>,
-+ <&clkc CLKID_IEC958_GATE>,
-+ <&clkc CLKID_CTS_MCLK_I958>,
-+ <&clkc CLKID_CTS_AMCLK>,
-+ <&clkc CLKID_CTS_I958>;
-+ clock-names = "fast", "iface", "mclk_i958", "mclk_i2s", "mclk";
-+};
-+
- &spifc {
- clocks = <&clkc CLKID_SPI>;
- };
-@@ -774,3 +812,4 @@
- compatible = "amlogic,meson-gxbb-vpu", "amlogic,meson-gx-vpu";
- power-domains = <&pwrc_vpu>;
- };
-+
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-index c87a80e..20922cd 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-@@ -660,6 +660,34 @@
- };
- };
-
-+&audio {
-+ clocks = <&clkc CLKID_AIU>,
-+ <&clkc CLKID_AIU_GLUE>,
-+ <&clkc CLKID_I2S_SPDIF>;
-+ clock-names = "aiu_top", "aiu_glue", "audin";
-+ resets = <&reset RESET_AIU>,
-+ <&reset RESET_AUDIN>;
-+ reset-names = "aiu", "audin";
-+};
-+
-+&aiu_i2s_dma {
-+ clocks = <&clkc CLKID_I2S_OUT>;
-+ clock-names = "fast";
-+};
-+
-+&aiu_spdif_dma {
-+ clocks = <&clkc CLKID_IEC958>;
-+ clock-names = "fast";
-+};
-+
-+&i2s_dai {
-+ clocks = <&clkc CLKID_I2S_OUT>,
-+ <&clkc CLKID_MIXER_IFACE>,
-+ <&clkc CLKID_AOCLK_GATE>,
-+ <&clkc CLKID_CTS_AMCLK>;
-+ clock-names = "fast", "iface", "bclks", "mclk";
-+};
-+
- &pwrc_vpu {
- resets = <&reset RESET_VIU>,
- <&reset RESET_VENC>,
-@@ -742,6 +770,15 @@
- num-cs = <1>;
- };
-
-+&spdif_dai {
-+ clocks = <&clkc CLKID_IEC958>,
-+ <&clkc CLKID_IEC958_GATE>,
-+ <&clkc CLKID_CTS_MCLK_I958>,
-+ <&clkc CLKID_CTS_AMCLK>,
-+ <&clkc CLKID_CTS_I958>;
-+ clock-names = "fast", "iface", "mclk_i958", "mclk_i2s", "mclk";
-+};
-+
- &spifc {
- clocks = <&clkc CLKID_SPI>;
- };
-@@ -775,3 +812,4 @@
- compatible = "amlogic,meson-gxl-vpu", "amlogic,meson-gx-vpu";
- power-domains = <&pwrc_vpu>;
- };
-+
diff --git a/testing/linux-amlogic/0009-drm-meson-Use-drm_fbdev_generic_setup.patch b/testing/linux-amlogic/0009-drm-meson-Use-drm_fbdev_generic_setup.patch
deleted file mode 100644
index fc3511a1114..00000000000
--- a/testing/linux-amlogic/0009-drm-meson-Use-drm_fbdev_generic_setup.patch
+++ /dev/null
@@ -1,100 +0,0 @@
-From a753ec94679503680fcf86ffad3f3d3eb817c6b9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= <noralf@tronnes.org>
-Date: Sat, 8 Sep 2018 15:46:33 +0200
-Subject: [PATCH] drm/meson: Use drm_fbdev_generic_setup()
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The CMA helper is already using the drm_fb_helper_generic_probe part of
-the generic fbdev emulation. This patch makes full use of the generic
-fbdev emulation by using its drm_client callbacks. This means that
-drm_mode_config_funcs->output_poll_changed and drm_driver->lastclose are
-now handled by the emulation code. Additionally fbdev unregister happens
-automatically on drm_dev_unregister().
-
-The drm_fbdev_generic_setup() call is put after drm_dev_register() in the
-driver. This is done to highlight the fact that fbdev emulation is an
-internal client that makes use of the driver, it is not part of the
-driver as such. If fbdev setup fails, an error is printed, but the driver
-succeeds probing.
-
-Cc: Neil Armstrong <narmstrong@baylibre.com>
-Signed-off-by: Noralf Trønnes <noralf@tronnes.org>
-
----
- drivers/gpu/drm/meson/meson_drv.c | 19 ++-----------------
- drivers/gpu/drm/meson/meson_drv.h | 1 -
- 2 files changed, 2 insertions(+), 18 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
-index b55e03d..3997e3e 100644
---- a/drivers/gpu/drm/meson/meson_drv.c
-+++ b/drivers/gpu/drm/meson/meson_drv.c
-@@ -69,15 +69,7 @@
- * - Powering Up HDMI controller and PHY
- */
-
--static void meson_fb_output_poll_changed(struct drm_device *dev)
--{
-- struct meson_drm *priv = dev->dev_private;
--
-- drm_fbdev_cma_hotplug_event(priv->fbdev);
--}
--
- static const struct drm_mode_config_funcs meson_mode_config_funcs = {
-- .output_poll_changed = meson_fb_output_poll_changed,
- .atomic_check = drm_atomic_helper_check,
- .atomic_commit = drm_atomic_helper_commit,
- .fb_create = drm_gem_fb_create,
-@@ -314,13 +306,6 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
-
- drm_mode_config_reset(drm);
-
-- priv->fbdev = drm_fbdev_cma_init(drm, 32,
-- drm->mode_config.num_connector);
-- if (IS_ERR(priv->fbdev)) {
-- ret = PTR_ERR(priv->fbdev);
-- goto free_drm;
-- }
--
- drm_kms_helper_poll_init(drm);
-
- platform_set_drvdata(pdev, priv);
-@@ -329,6 +314,8 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
- if (ret)
- goto free_drm;
-
-+ drm_fbdev_generic_setup(drm, 32);
-+
- return 0;
-
- free_drm:
-@@ -345,7 +332,6 @@ static int meson_drv_bind(struct device *dev)
- static void meson_drv_unbind(struct device *dev)
- {
- struct drm_device *drm = dev_get_drvdata(dev);
-- struct meson_drm *priv = drm->dev_private;
-
- if (priv->canvas) {
- meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
-@@ -356,7 +342,6 @@ static void meson_drv_unbind(struct device *dev)
-
- drm_dev_unregister(drm);
- drm_kms_helper_poll_fini(drm);
-- drm_fbdev_cma_fini(priv->fbdev);
- drm_mode_config_cleanup(drm);
- drm_dev_put(drm);
-
-diff --git a/drivers/gpu/drm/meson/meson_drv.h b/drivers/gpu/drm/meson/meson_drv.h
-index a955354..4dccf4c 100644
---- a/drivers/gpu/drm/meson/meson_drv.h
-+++ b/drivers/gpu/drm/meson/meson_drv.h
-@@ -40,7 +40,6 @@ struct meson_drm {
-
- struct drm_device *drm;
- struct drm_crtc *crtc;
-- struct drm_fbdev_cma *fbdev;
- struct drm_plane *primary_plane;
- struct drm_plane *overlay_plane;
-
diff --git a/testing/linux-amlogic/0010-fixup-drm-meson-Use-optional-canvas-provider.patch b/testing/linux-amlogic/0010-fixup-drm-meson-Use-optional-canvas-provider.patch
deleted file mode 100644
index 9ea9352c9b5..00000000000
--- a/testing/linux-amlogic/0010-fixup-drm-meson-Use-optional-canvas-provider.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 07145ad0791209d3782eca4800406e7028e40a24 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 7 Nov 2018 11:24:43 +0100
-Subject: [PATCH] fixup! drm/meson: Use optional canvas provider
-
----
- drivers/gpu/drm/meson/meson_drv.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
-index 3997e3e..3ee4d4a4e 100644
---- a/drivers/gpu/drm/meson/meson_drv.c
-+++ b/drivers/gpu/drm/meson/meson_drv.c
-@@ -332,6 +332,7 @@ static int meson_drv_bind(struct device *dev)
- static void meson_drv_unbind(struct device *dev)
- {
- struct drm_device *drm = dev_get_drvdata(dev);
-+ struct meson_drm *priv = drm->dev_private;
-
- if (priv->canvas) {
- meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
diff --git a/testing/linux-amlogic/0010-snd-meson-activate-HDMI-audio-path.patch b/testing/linux-amlogic/0010-snd-meson-activate-HDMI-audio-path.patch
deleted file mode 100644
index 8a3ea861f26..00000000000
--- a/testing/linux-amlogic/0010-snd-meson-activate-HDMI-audio-path.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From c89e4a9d376b72bb00c1c71795b86fe81914a3ea Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Fri, 7 Jul 2017 17:39:21 +0200
-Subject: [PATCH] snd: meson: activate HDMI audio path
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- sound/soc/meson/i2s-dai.c | 22 ++++++++++++++++++++++
- 1 file changed, 22 insertions(+)
-
-diff --git a/sound/soc/meson/i2s-dai.c b/sound/soc/meson/i2s-dai.c
-index 1008af8..63fe098 100644
---- a/sound/soc/meson/i2s-dai.c
-+++ b/sound/soc/meson/i2s-dai.c
-@@ -56,8 +56,19 @@ struct meson_i2s_dai {
- #define AIU_CLK_CTRL_ALRCLK_RIGHT_J (2 << 8)
- #define AIU_CLK_CTRL_MORE_I2S_DIV_MASK GENMASK(5, 0)
- #define AIU_CLK_CTRL_MORE_I2S_DIV(div) (((div) - 1) << 0)
-+#define AIU_CLK_CTRL_MORE_HDMI_TX_SEL_MASK BIT(6)
-+#define AIU_CLK_CTRL_MORE_HDMI_TX_I958_CLK (0 << 6)
-+#define AIU_CLK_CTRL_MORE_HDMI_TX_INT_CLK (1 << 6)
- #define AIU_CODEC_DAC_LRCLK_CTRL_DIV_MASK GENMASK(11, 0)
- #define AIU_CODEC_DAC_LRCLK_CTRL_DIV(div) (((div) - 1) << 0)
-+#define AIU_HDMI_CLK_DATA_CTRL_CLK_SEL_MASK GENMASK(1, 0)
-+#define AIU_HDMI_CLK_DATA_CTRL_CLK_DISABLE (0 << 0)
-+#define AIU_HDMI_CLK_DATA_CTRL_CLK_PCM (1 << 0)
-+#define AIU_HDMI_CLK_DATA_CTRL_CLK_I2S (2 << 0)
-+#define AIU_HDMI_CLK_DATA_CTRL_DATA_SEL_MASK GENMASK(5, 4)
-+#define AIU_HDMI_CLK_DATA_CTRL_DATA_MUTE (0 << 4)
-+#define AIU_HDMI_CLK_DATA_CTRL_DATA_PCM (1 << 4)
-+#define AIU_HDMI_CLK_DATA_CTRL_DATA_I2S (2 << 4)
- #define AIU_I2S_DAC_CFG_PAYLOAD_SIZE_MASK GENMASK(1, 0)
- #define AIU_I2S_DAC_CFG_AOCLK_32 (0 << 0)
- #define AIU_I2S_DAC_CFG_AOCLK_48 (2 << 0)
-@@ -221,6 +232,17 @@ static int meson_i2s_dai_hw_params(struct snd_pcm_substream *substream,
- return ret;
- }
-
-+ /* Quick and dirty hack for HDMI */
-+ regmap_update_bits(priv->core->aiu, AIU_HDMI_CLK_DATA_CTRL,
-+ AIU_HDMI_CLK_DATA_CTRL_CLK_SEL_MASK |
-+ AIU_HDMI_CLK_DATA_CTRL_DATA_SEL_MASK,
-+ AIU_HDMI_CLK_DATA_CTRL_CLK_I2S |
-+ AIU_HDMI_CLK_DATA_CTRL_DATA_I2S);
-+
-+ regmap_update_bits(priv->core->aiu, AIU_CLK_CTRL_MORE,
-+ AIU_CLK_CTRL_MORE_HDMI_TX_SEL_MASK,
-+ AIU_CLK_CTRL_MORE_HDMI_TX_INT_CLK);
-+
- return 0;
- }
-
diff --git a/testing/linux-amlogic/0011-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch b/testing/linux-amlogic/0011-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch
deleted file mode 100644
index 25c5a7f968e..00000000000
--- a/testing/linux-amlogic/0011-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From d46542e83265b476b32b94729e609a9a7767deac Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Tue, 14 Feb 2017 19:18:04 +0100
-Subject: [PATCH] drm/meson: select dw-hdmi i2s audio for meson hdmi
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- drivers/gpu/drm/meson/Kconfig | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig
-index 3ce51d8..02d400b 100644
---- a/drivers/gpu/drm/meson/Kconfig
-+++ b/drivers/gpu/drm/meson/Kconfig
-@@ -13,3 +13,4 @@ config DRM_MESON_DW_HDMI
- depends on DRM_MESON
- default y if DRM_MESON
- select DRM_DW_HDMI
-+ select DRM_DW_HDMI_I2S_AUDIO
diff --git a/testing/linux-amlogic/0012-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch b/testing/linux-amlogic/0012-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch
deleted file mode 100644
index 0b84218aa9e..00000000000
--- a/testing/linux-amlogic/0012-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 0eb1a7bb3fd9e1ff2f368bb20490c7a032fc96e6 Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Wed, 20 Sep 2017 18:01:26 +0200
-Subject: [PATCH] ARM64: dts: meson-gx: add sound-dai-cells to HDMI node
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 1 +
- arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-index 7913249..2a4d506 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-@@ -305,6 +305,7 @@
- <&clkc CLKID_CLK81>,
- <&clkc CLKID_GCLK_VENCI_INT0>;
- clock-names = "isfr", "iahb", "venci";
-+ #sound-dai-cells = <0>;
- };
-
- &sysctrl {
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-index 20922cd..9f4b618 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-@@ -257,6 +257,7 @@
- <&clkc CLKID_CLK81>,
- <&clkc CLKID_GCLK_VENCI_INT0>;
- clock-names = "isfr", "iahb", "venci";
-+ #sound-dai-cells = <0>;
- };
-
- &sysctrl {
diff --git a/testing/linux-amlogic/0012-drm-meson-add-support-for-1080p25-mode.patch b/testing/linux-amlogic/0012-drm-meson-add-support-for-1080p25-mode.patch
deleted file mode 100644
index bd267a5c032..00000000000
--- a/testing/linux-amlogic/0012-drm-meson-add-support-for-1080p25-mode.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From 1f929f36f48f0f957f6c73cec309235243bd42f9 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Mon, 12 Nov 2018 16:10:31 +0100
-Subject: [PATCH] drm/meson: add support for 1080p25 mode
-
----
- drivers/gpu/drm/meson/meson_venc.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
-index d68ccbf..0fbe525 100644
---- a/drivers/gpu/drm/meson/meson_venc.c
-+++ b/drivers/gpu/drm/meson/meson_venc.c
-@@ -841,6 +841,7 @@ struct meson_hdmi_venc_vic_mode {
- { 5, &meson_hdmi_encp_mode_1080i60 },
- { 20, &meson_hdmi_encp_mode_1080i50 },
- { 32, &meson_hdmi_encp_mode_1080p24 },
-+ { 33, &meson_hdmi_encp_mode_1080p50 },
- { 34, &meson_hdmi_encp_mode_1080p30 },
- { 31, &meson_hdmi_encp_mode_1080p50 },
- { 16, &meson_hdmi_encp_mode_1080p60 },
diff --git a/testing/linux-amlogic/0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch b/testing/linux-amlogic/0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch
deleted file mode 100644
index 3ad65fc4730..00000000000
--- a/testing/linux-amlogic/0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch
+++ /dev/null
@@ -1,861 +0,0 @@
-From f0417a0c309fb02a5896abb868a52a1a3e23d610 Mon Sep 17 00:00:00 2001
-From: Jerome Brunet <jbrunet@baylibre.com>
-Date: Wed, 20 Sep 2017 18:10:08 +0200
-Subject: [PATCH] ARM64: dts: meson: activate hdmi audio HDMI enabled boards
-
-This patch activate audio over HDMI on selected boards
-
-Please note that this audio support is based on WIP changes
-This should be considered as preview and it does not reflect
-the audio I expect to see merged
-
-Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- .../arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 45 ++++++++++++++++++++++
- .../boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 45 ++++++++++++++++++++++
- .../boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts | 45 ++++++++++++++++++++++
- .../arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 45 ++++++++++++++++++++++
- arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi | 45 ++++++++++++++++++++++
- arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi | 45 ++++++++++++++++++++++
- .../dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 45 ++++++++++++++++++++++
- .../dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 45 ++++++++++++++++++++++
- .../dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts | 45 ++++++++++++++++++++++
- .../boot/dts/amlogic/meson-gxl-s905x-p212.dts | 45 ++++++++++++++++++++++
- .../boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 45 ++++++++++++++++++++++
- .../arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts | 45 ++++++++++++++++++++++
- 12 files changed, 540 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
-index 765247b..fb9ad6f 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
-@@ -102,6 +102,39 @@
- };
- };
- };
-+
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
- };
-
- &cec_AO {
-@@ -111,6 +144,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &cvbs_vdac_port {
- cvbs_vdac_out: endpoint {
- remote-endpoint = <&cvbs_connector_in>;
-@@ -133,6 +174,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &ir {
- status = "okay";
- pinctrl-0 = <&remote_input_ao_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
-index cbe99bd..5b10de9 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
-@@ -88,6 +88,39 @@
- clock-names = "ext_clock";
- };
-
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
-+
- vcc1v8: regulator-vcc1v8 {
- compatible = "regulator-fixed";
- regulator-name = "VCC1.8V";
-@@ -131,6 +164,14 @@
- };
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &cec_AO {
- status = "okay";
- pinctrl-0 = <&ao_cec_pins>;
-@@ -185,6 +226,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &ir {
- status = "okay";
- pinctrl-0 = <&remote_input_ao_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
-index 4cf7f6e..ff87bdc 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
-@@ -119,6 +119,39 @@
- clock-names = "ext_clock";
- };
-
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
-+
- cvbs-connector {
- compatible = "composite-video-connector";
-
-@@ -154,6 +187,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &ethmac {
- status = "okay";
- pinctrl-0 = <&eth_rmii_pins>;
-@@ -190,6 +231,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &ir {
- status = "okay";
- pinctrl-0 = <&remote_input_ao_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
-index 54954b3..3da3309 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
-@@ -110,6 +110,39 @@
- };
- };
- };
-+
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
- };
-
- &cec_AO {
-@@ -119,6 +152,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &ethmac {
- status = "okay";
- pinctrl-0 = <&eth_rgmii_pins>;
-@@ -181,6 +222,10 @@
- pinctrl-names = "default";
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &ir {
- status = "okay";
- pinctrl-0 = <&remote_input_ao_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
-index ce86226..84eb93b 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
-@@ -113,6 +113,39 @@
- };
- };
- };
-+
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
- };
-
- &cec_AO {
-@@ -122,6 +155,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &cvbs_vdac_port {
- cvbs_vdac_out: endpoint {
- remote-endpoint = <&cvbs_connector_in>;
-@@ -140,6 +181,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &ir {
- status = "okay";
- pinctrl-0 = <&remote_input_ao_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
-index 70325b2..7d1f172 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
-@@ -105,6 +105,47 @@
- };
- };
- };
-+
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
-+};
-+
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
- };
-
- &cec_AO {
-@@ -159,6 +200,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &ir {
- status = "okay";
- pinctrl-0 = <&remote_input_ao_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-index d32cf38..f053595 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-@@ -65,6 +65,39 @@
- };
- };
- };
-+
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
- };
-
- &cec_AO {
-@@ -74,6 +107,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &hdmi_tx {
- status = "okay";
- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
-@@ -86,6 +127,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &i2c_A {
- status = "okay";
- pinctrl-0 = <&i2c_a_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-index f63bceb..f56969e 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-@@ -84,6 +84,39 @@
- regulator-always-on;
- };
-
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
-+
- vcc_3v3: regulator-vcc_3v3 {
- compatible = "regulator-fixed";
- regulator-name = "VCC_3V3";
-@@ -130,6 +163,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &cvbs_vdac_port {
- cvbs_vdac_out: endpoint {
- remote-endpoint = <&cvbs_connector_in>;
-@@ -151,6 +192,10 @@
- pinctrl-names = "default";
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &hdmi_tx {
- status = "okay";
- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
-index 6739697..e3e777f 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
-@@ -102,6 +102,39 @@
- };
- };
- };
-+
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
- };
-
- &cec_AO {
-@@ -111,6 +144,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &cvbs_vdac_port {
- cvbs_vdac_out: endpoint {
- remote-endpoint = <&cvbs_connector_in>;
-@@ -135,6 +176,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &ir {
- status = "okay";
- pinctrl-0 = <&remote_input_ao_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
-index 5896e8a..f8c66a7 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
-@@ -32,6 +32,39 @@
- };
- };
- };
-+
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
- };
-
- &cec_AO {
-@@ -41,12 +74,24 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &cvbs_vdac_port {
- cvbs_vdac_out: endpoint {
- remote-endpoint = <&cvbs_connector_in>;
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &hdmi_tx {
- status = "okay";
- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
-index 313f88f..4fbfa5a 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
-@@ -85,6 +85,39 @@
- };
- };
-
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
-+
- pwmleds {
- compatible = "pwm-leds";
-
-@@ -205,6 +238,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &cpu0 {
- #cooling-cells = <2>;
- };
-@@ -279,6 +320,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &i2c_A {
- status = "okay";
- pinctrl-0 = <&i2c_a_pins>;
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
-index f7a1cff..b9c5e64 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-nexbox-a1.dts
-@@ -75,6 +75,39 @@
- };
- };
- };
-+
-+ sound {
-+ compatible = "simple-audio-card";
-+ simple-audio-card,name = "meson-gx-audio";
-+
-+ assigned-clocks = <&clkc CLKID_MPLL2>,
-+ <&clkc CLKID_MPLL0>,
-+ <&clkc CLKID_MPLL1>;
-+ assigned-clock-parents = <0>, <0>, <0>;
-+ assigned-clock-rates = <294912000>,
-+ <270950400>,
-+ <393216000>;
-+
-+ simple-audio-card,dai-link@0 {
-+ /* HDMI Output */
-+ format = "i2s";
-+ mclk-fs = <256>;
-+ bitclock-master = <&i2s_dai>;
-+ frame-master = <&i2s_dai>;
-+
-+ plat {
-+ sound-dai = <&aiu_i2s_dma>;
-+ };
-+
-+ cpu {
-+ sound-dai = <&i2s_dai>;
-+ };
-+
-+ codec {
-+ sound-dai = <&hdmi_tx>;
-+ };
-+ };
-+ };
- };
-
- &cec_AO {
-@@ -84,6 +117,14 @@
- hdmi-phandle = <&hdmi_tx>;
- };
-
-+&audio {
-+ status = "okay";
-+};
-+
-+&aiu_i2s_dma {
-+ status = "okay";
-+};
-+
- &cvbs_vdac_port {
- cvbs_vdac_out: endpoint {
- remote-endpoint = <&cvbs_connector_in>;
-@@ -129,6 +170,10 @@
- };
- };
-
-+&i2s_dai {
-+ status = "okay";
-+};
-+
- &ir {
- status = "okay";
- pinctrl-0 = <&remote_input_ao_pins>;
diff --git a/testing/linux-amlogic/0014-drm-bridge-dw-hdmi-Add-SCDC-and-TMDS-Scrambling-supp.patch b/testing/linux-amlogic/0014-drm-bridge-dw-hdmi-Add-SCDC-and-TMDS-Scrambling-supp.patch
deleted file mode 100644
index 832af82c2ae..00000000000
--- a/testing/linux-amlogic/0014-drm-bridge-dw-hdmi-Add-SCDC-and-TMDS-Scrambling-supp.patch
+++ /dev/null
@@ -1,147 +0,0 @@
-From 2ffa6ba6e67706f195b1938c5f7e8a385252bd8e Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 14 Nov 2018 16:48:50 +0100
-Subject: [PATCH] drm/bridge: dw-hdmi: Add SCDC and TMDS Scrambling support
-
-Add support for SCDC Setup for TMDS Clock > 3.4GHz and enable TMDS
-Scrambling when supported or mandatory.
-
-This patch also adds an helper to setup the control bit to support
-the hight TMDS Bit Period/TMDS Clock-Period Ratio as required with
-TMDS Clock > 3.4GHz for HDMI2.0 3840x2160@60/50 modes.
-
-These changes were based on work done by Huicong Xu <xhc@rock-chips.com>
-and Nickey Yang <nickey.yang@rock-chips.com> to support HDMI2.0 modes
-on the Rockchip 4.4 BSP kernel at [1]
-
-[1] https://github.com/rockchip-linux/kernel/tree/release-4.4
-
-Cc: Nickey Yang <nickey.yang@rock-chips.com>
-Cc: Huicong Xu <xhc@rock-chips.com>
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 45 ++++++++++++++++++++++++++++---
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.h | 1 +
- include/drm/bridge/dw_hdmi.h | 1 +
- 3 files changed, 44 insertions(+), 3 deletions(-)
-
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 1fc1270..2a30d83 100644
---- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -28,6 +28,7 @@
- #include <drm/drm_crtc_helper.h>
- #include <drm/drm_edid.h>
- #include <drm/drm_encoder_slave.h>
-+#include <drm/drm_scdc_helper.h>
- #include <drm/bridge/dw_hdmi.h>
-
- #include <uapi/linux/media-bus-format.h>
-@@ -1026,6 +1027,20 @@ void dw_hdmi_phy_i2c_write(struct dw_hdmi *hdmi, unsigned short data,
- }
- EXPORT_SYMBOL_GPL(dw_hdmi_phy_i2c_write);
-
-+void dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi *hdmi)
-+{
-+ unsigned long mtmdsclock = hdmi->hdmi_data.video_mode.mpixelclock;
-+
-+ /* Control for TMDS Bit Period/TMDS Clock-Period Ratio */
-+ if (hdmi->connector.display_info.hdmi.scdc.supported) {
-+ if (mtmdsclock > 340000000)
-+ drm_scdc_set_high_tmds_clock_ratio(hdmi->ddc, 1);
-+ else
-+ drm_scdc_set_high_tmds_clock_ratio(hdmi->ddc, 0);
-+ }
-+}
-+EXPORT_SYMBOL_GPL(dw_hdmi_set_high_tmds_clock_ratio);
-+
- static void dw_hdmi_phy_enable_powerdown(struct dw_hdmi *hdmi, bool enable)
- {
- hdmi_mask_writeb(hdmi, !enable, HDMI_PHY_CONF0,
-@@ -1351,11 +1366,12 @@ static void hdmi_tx_hdcp_config(struct dw_hdmi *hdmi)
-
- static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
- {
-+ bool is_hdmi2_sink = hdmi->connector.display_info.hdmi.scdc.supported;
- struct hdmi_avi_infoframe frame;
- u8 val;
-
- /* Initialise info frame from DRM mode */
-- drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, false);
-+ drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, is_hdmi2_sink);
-
- if (hdmi_bus_fmt_is_yuv444(hdmi->hdmi_data.enc_out_bus_format))
- frame.colorspace = HDMI_COLORSPACE_YUV444;
-@@ -1514,7 +1530,8 @@ static void hdmi_config_vendor_specific_infoframe(struct dw_hdmi *hdmi,
- static void hdmi_av_composer(struct dw_hdmi *hdmi,
- const struct drm_display_mode *mode)
- {
-- u8 inv_val;
-+ u8 inv_val, bytes;
-+ struct drm_hdmi_info *hdmi_info = &hdmi->connector.display_info.hdmi;
- struct hdmi_vmode *vmode = &hdmi->hdmi_data.video_mode;
- int hblank, vblank, h_de_hs, v_de_vs, hsync_len, vsync_len;
- unsigned int vdisplay;
-@@ -1524,7 +1541,9 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
- dev_dbg(hdmi->dev, "final pixclk = %d\n", vmode->mpixelclock);
-
- /* Set up HDMI_FC_INVIDCONF */
-- inv_val = (hdmi->hdmi_data.hdcp_enable ?
-+ inv_val = (hdmi->hdmi_data.hdcp_enable ||
-+ vmode->mpixelclock > 340000000 ||
-+ hdmi_info->scdc.scrambling.low_rates ?
- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE :
- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE);
-
-@@ -1573,6 +1592,26 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
- vsync_len /= 2;
- }
-
-+ /* Scrambling Control */
-+ if (hdmi_info->scdc.supported) {
-+ if (vmode->mpixelclock > 340000000 ||
-+ hdmi_info->scdc.scrambling.low_rates) {
-+ drm_scdc_readb(&hdmi->i2c->adap, SCDC_SINK_VERSION,
-+ &bytes);
-+ drm_scdc_writeb(&hdmi->i2c->adap, SCDC_SOURCE_VERSION,
-+ bytes);
-+ drm_scdc_set_scrambling(&hdmi->i2c->adap, 1);
-+ hdmi_writeb(hdmi, (u8)~HDMI_MC_SWRSTZ_TMDSSWRST_REQ,
-+ HDMI_MC_SWRSTZ);
-+ hdmi_writeb(hdmi, 1, HDMI_FC_SCRAMBLER_CTRL);
-+ } else {
-+ hdmi_writeb(hdmi, 0, HDMI_FC_SCRAMBLER_CTRL);
-+ hdmi_writeb(hdmi, (u8)~HDMI_MC_SWRSTZ_TMDSSWRST_REQ,
-+ HDMI_MC_SWRSTZ);
-+ drm_scdc_set_scrambling(&hdmi->i2c->adap, 0);
-+ }
-+ }
-+
- /* Set up horizontal active pixel width */
- hdmi_writeb(hdmi, mode->hdisplay >> 8, HDMI_FC_INHACTV1);
- hdmi_writeb(hdmi, mode->hdisplay, HDMI_FC_INHACTV0);
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
-index 9d90eb9..3f3c616 100644
---- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
-+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.h
-@@ -255,6 +255,7 @@
- #define HDMI_FC_MASK2 0x10DA
- #define HDMI_FC_POL2 0x10DB
- #define HDMI_FC_PRCONF 0x10E0
-+#define HDMI_FC_SCRAMBLER_CTRL 0x10E1
-
- #define HDMI_FC_GMD_STAT 0x1100
- #define HDMI_FC_GMD_EN 0x1101
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index ccb5aa8..d7cc5d0 100644
---- a/include/drm/bridge/dw_hdmi.h
-+++ b/include/drm/bridge/dw_hdmi.h
-@@ -156,6 +156,7 @@ void dw_hdmi_setup_rx_sense(struct dw_hdmi *hdmi, bool hpd, bool rx_sense);
- void dw_hdmi_set_sample_rate(struct dw_hdmi *hdmi, unsigned int rate);
- void dw_hdmi_audio_enable(struct dw_hdmi *hdmi);
- void dw_hdmi_audio_disable(struct dw_hdmi *hdmi);
-+void dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi *hdmi);
-
- /* PHY configuration */
- void dw_hdmi_phy_i2c_set_addr(struct dw_hdmi *hdmi, u8 address);
diff --git a/testing/linux-amlogic/0014-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch b/testing/linux-amlogic/0014-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch
deleted file mode 100644
index 702f0c71415..00000000000
--- a/testing/linux-amlogic/0014-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From 68854b3c7771ad5754ad46d42f45f626ca87b4ac Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Mon, 2 Jul 2018 12:21:55 +0200
-Subject: [PATCH] drm: bridge: dw-hdmi: Use AUTO CTS setup mode when non-AHB
- audio
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 41 ++++++++++++++++++++-----------
- 1 file changed, 26 insertions(+), 15 deletions(-)
-
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 5971976..1fc1270 100644
---- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -430,8 +430,12 @@ static void hdmi_set_cts_n(struct dw_hdmi *hdmi, unsigned int cts,
- /* nshift factor = 0 */
- hdmi_modb(hdmi, 0, HDMI_AUD_CTS3_N_SHIFT_MASK, HDMI_AUD_CTS3);
-
-- hdmi_writeb(hdmi, ((cts >> 16) & HDMI_AUD_CTS3_AUDCTS19_16_MASK) |
-- HDMI_AUD_CTS3_CTS_MANUAL, HDMI_AUD_CTS3);
-+ /* Use Auto CTS mode with CTS is unknown */
-+ if (cts)
-+ hdmi_writeb(hdmi, ((cts >> 16) & HDMI_AUD_CTS3_AUDCTS19_16_MASK) |
-+ HDMI_AUD_CTS3_CTS_MANUAL, HDMI_AUD_CTS3);
-+ else
-+ hdmi_writeb(hdmi, 0, HDMI_AUD_CTS3);
- hdmi_writeb(hdmi, (cts >> 8) & 0xff, HDMI_AUD_CTS2);
- hdmi_writeb(hdmi, cts & 0xff, HDMI_AUD_CTS1);
-
-@@ -501,24 +505,31 @@ static void hdmi_set_clk_regenerator(struct dw_hdmi *hdmi,
- {
- unsigned long ftdms = pixel_clk;
- unsigned int n, cts;
-+ u8 config3;
- u64 tmp;
-
- n = hdmi_compute_n(sample_rate, pixel_clk);
-
-- /*
-- * Compute the CTS value from the N value. Note that CTS and N
-- * can be up to 20 bits in total, so we need 64-bit math. Also
-- * note that our TDMS clock is not fully accurate; it is accurate
-- * to kHz. This can introduce an unnecessary remainder in the
-- * calculation below, so we don't try to warn about that.
-- */
-- tmp = (u64)ftdms * n;
-- do_div(tmp, 128 * sample_rate);
-- cts = tmp;
-+ config3 = hdmi_readb(hdmi, HDMI_CONFIG3_ID);
-
-- dev_dbg(hdmi->dev, "%s: fs=%uHz ftdms=%lu.%03luMHz N=%d cts=%d\n",
-- __func__, sample_rate, ftdms / 1000000, (ftdms / 1000) % 1000,
-- n, cts);
-+ if (config3 & HDMI_CONFIG3_AHBAUDDMA) {
-+ /*
-+ * Compute the CTS value from the N value. Note that CTS and N
-+ * can be up to 20 bits in total, so we need 64-bit math. Also
-+ * note that our TDMS clock is not fully accurate; it is
-+ * accurate to kHz. This can introduce an unnecessary remainder
-+ * in the calculation below, so we don't try to warn about that.
-+ */
-+ tmp = (u64)ftdms * n;
-+ do_div(tmp, 128 * sample_rate);
-+ cts = tmp;
-+
-+ dev_dbg(hdmi->dev, "%s: fs=%uHz ftdms=%lu.%03luMHz N=%d cts=%d\n",
-+ __func__, sample_rate,
-+ ftdms / 1000000, (ftdms / 1000) % 1000,
-+ n, cts);
-+ } else
-+ cts = 0;
-
- spin_lock_irq(&hdmi->audio_lock);
- hdmi->audio_n = n;
diff --git a/testing/linux-amlogic/0015-drm-meson-add-HDMI-div40-TMDS-mode.patch b/testing/linux-amlogic/0015-drm-meson-add-HDMI-div40-TMDS-mode.patch
deleted file mode 100644
index 3af3749c724..00000000000
--- a/testing/linux-amlogic/0015-drm-meson-add-HDMI-div40-TMDS-mode.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From cd02f4b3e7ad491111dbd6e1eccf3db9bbc1bc81 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Mon, 12 Nov 2018 16:08:13 +0100
-Subject: [PATCH] drm/meson: add HDMI div40 TMDS mode
-
-Add support for TMDS Clock > 3.4GHz for HDMI2.0 display modes.
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/meson/meson_dw_hdmi.c | 24 ++++++++++++++++++++----
- 1 file changed, 20 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
-index d8c5cc3..118c49e 100644
---- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
-+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
-@@ -365,7 +365,8 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
- unsigned int wr_clk =
- readl_relaxed(priv->io_base + _REG(VPU_HDMI_SETTING));
-
-- DRM_DEBUG_DRIVER("%d:\"%s\"\n", mode->base.id, mode->name);
-+ DRM_DEBUG_DRIVER("%d:\"%s\" div%d\n", mode->base.id, mode->name,
-+ mode->clock > 340000 ? 40 : 10);
-
- /* Enable clocks */
- regmap_update_bits(priv->hhi, HHI_HDMI_CLK_CNTL, 0xffff, 0x100);
-@@ -385,9 +386,17 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
- /* Enable normal output to PHY */
- dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_BIST_CNTL, BIT(12));
-
-- /* TMDS pattern setup (TOFIX pattern for 4k2k scrambling) */
-- dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_01, 0x001f001f);
-- dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_23, 0x001f001f);
-+ /* TMDS pattern setup (TOFIX Handle the YUV420 case) */
-+ if (mode->clock > 340000) {
-+ dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_01, 0);
-+ dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_23,
-+ 0x03ff03ff);
-+ } else {
-+ dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_01,
-+ 0x001f001f);
-+ dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_23,
-+ 0x001f001f);
-+ }
-
- /* Load TMDS pattern */
- dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_CNTL, 0x1);
-@@ -413,6 +422,8 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
- /* Disable clock, fifo, fifo_wr */
- regmap_update_bits(priv->hhi, HHI_HDMI_PHY_CNTL1, 0xf, 0);
-
-+ dw_hdmi_set_high_tmds_clock_ratio(hdmi);
-+
- msleep(100);
-
- /* Reset PHY 3 times in a row */
-@@ -562,6 +573,11 @@ dw_hdmi_mode_valid(struct drm_connector *connector,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal, mode->type, mode->flags);
-
-+ /* If sink max TMDS clock < 340MHz, we reject the HDMI2.0 modes */
-+ if (mode->clock > 340000 &&
-+ connector->display_info.max_tmds_clock < 340000)
-+ return MODE_BAD;
-+
- /* Check against non-VIC supported modes */
- if (!vic) {
- status = meson_venc_hdmi_supported_mode(mode);
diff --git a/testing/linux-amlogic/0016-drm-meson-add-support-for-HDMI2.0-2160p-modes.patch b/testing/linux-amlogic/0016-drm-meson-add-support-for-HDMI2.0-2160p-modes.patch
deleted file mode 100644
index 4a860acdbcf..00000000000
--- a/testing/linux-amlogic/0016-drm-meson-add-support-for-HDMI2.0-2160p-modes.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b48d4a78b2c3dd2db65ac391be3e12e323b6759e Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Mon, 12 Nov 2018 16:10:07 +0100
-Subject: [PATCH] drm/meson: add support for HDMI2.0 2160p modes
-
-Now we support the TMDS Clock > 3.4GHz and support the SCDC Control
-operation in the DW-HDMI Controller, we can enable support for the
-HDMI2.0 3840x2160@60/50 RGB444 display modes.
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/meson/meson_venc.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
-index 0fbe525..1bcd642 100644
---- a/drivers/gpu/drm/meson/meson_venc.c
-+++ b/drivers/gpu/drm/meson/meson_venc.c
-@@ -848,6 +848,8 @@ struct meson_hdmi_venc_vic_mode {
- { 93, &meson_hdmi_encp_mode_2160p24 },
- { 94, &meson_hdmi_encp_mode_2160p25 },
- { 95, &meson_hdmi_encp_mode_2160p30 },
-+ { 96, &meson_hdmi_encp_mode_2160p25 },
-+ { 97, &meson_hdmi_encp_mode_2160p30 },
- { 0, NULL}, /* sentinel */
- };
-
diff --git a/testing/linux-amlogic/0017-drm-bridge-dw-hdmi-add-support-for-YUV420-output.patch b/testing/linux-amlogic/0017-drm-bridge-dw-hdmi-add-support-for-YUV420-output.patch
deleted file mode 100644
index 9c36ea2b488..00000000000
--- a/testing/linux-amlogic/0017-drm-bridge-dw-hdmi-add-support-for-YUV420-output.patch
+++ /dev/null
@@ -1,198 +0,0 @@
-From 3e7f3ec3de8753faefdeb02ed6d00cc580e6ad52 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 14 Nov 2018 17:19:36 +0100
-Subject: [PATCH] drm/bridge: dw-hdmi: add support for YUV420 output
-
-In order to support the HDMI2.0 YUV420 display modes, this patch
-adds support for the YUV420 TMDS Clock divided by 2 and the controller
-passthrough mode.
-
-This patch is based on work from Zheng Yang <zhengyang@rock-chips.com> in
-the Rockchip Linux 4.4 BSP at [1]
-
-[1] https://github.com/rockchip-linux/kernel/tree/release-4.4
-
-Cc: Zheng Yang <zhengyang@rock-chips.com>
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 63 ++++++++++++++++++++++++-------
- 1 file changed, 50 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 2a30d83..c3e4ed1 100644
---- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -94,6 +94,7 @@ struct hdmi_vmode {
- unsigned int mpixelclock;
- unsigned int mpixelrepetitioninput;
- unsigned int mpixelrepetitionoutput;
-+ unsigned int mtmdsclock;
- };
-
- struct hdmi_data_info {
-@@ -549,7 +550,7 @@ static void hdmi_init_clk_regenerator(struct dw_hdmi *hdmi)
- static void hdmi_clk_regenerator_update_pixel_clock(struct dw_hdmi *hdmi)
- {
- mutex_lock(&hdmi->audio_mutex);
-- hdmi_set_clk_regenerator(hdmi, hdmi->hdmi_data.video_mode.mpixelclock,
-+ hdmi_set_clk_regenerator(hdmi, hdmi->hdmi_data.video_mode.mtmdsclock,
- hdmi->sample_rate);
- mutex_unlock(&hdmi->audio_mutex);
- }
-@@ -558,7 +559,7 @@ void dw_hdmi_set_sample_rate(struct dw_hdmi *hdmi, unsigned int rate)
- {
- mutex_lock(&hdmi->audio_mutex);
- hdmi->sample_rate = rate;
-- hdmi_set_clk_regenerator(hdmi, hdmi->hdmi_data.video_mode.mpixelclock,
-+ hdmi_set_clk_regenerator(hdmi, hdmi->hdmi_data.video_mode.mtmdsclock,
- hdmi->sample_rate);
- mutex_unlock(&hdmi->audio_mutex);
- }
-@@ -659,6 +660,20 @@ static bool hdmi_bus_fmt_is_yuv422(unsigned int bus_format)
- }
- }
-
-+static bool hdmi_bus_fmt_is_yuv420(unsigned int bus_format)
-+{
-+ switch (bus_format) {
-+ case MEDIA_BUS_FMT_UYYVYY8_0_5X24:
-+ case MEDIA_BUS_FMT_UYYVYY10_0_5X30:
-+ case MEDIA_BUS_FMT_UYYVYY12_0_5X36:
-+ case MEDIA_BUS_FMT_UYYVYY16_0_5X48:
-+ return true;
-+
-+ default:
-+ return false;
-+ }
-+}
-+
- static int hdmi_bus_fmt_color_depth(unsigned int bus_format)
- {
- switch (bus_format) {
-@@ -888,7 +903,8 @@ static void hdmi_video_packetize(struct dw_hdmi *hdmi)
- u8 val, vp_conf;
-
- if (hdmi_bus_fmt_is_rgb(hdmi->hdmi_data.enc_out_bus_format) ||
-- hdmi_bus_fmt_is_yuv444(hdmi->hdmi_data.enc_out_bus_format)) {
-+ hdmi_bus_fmt_is_yuv444(hdmi->hdmi_data.enc_out_bus_format) ||
-+ hdmi_bus_fmt_is_yuv420(hdmi->hdmi_data.enc_out_bus_format)) {
- switch (hdmi_bus_fmt_color_depth(
- hdmi->hdmi_data.enc_out_bus_format)) {
- case 8:
-@@ -1029,7 +1045,7 @@ EXPORT_SYMBOL_GPL(dw_hdmi_phy_i2c_write);
-
- void dw_hdmi_set_high_tmds_clock_ratio(struct dw_hdmi *hdmi)
- {
-- unsigned long mtmdsclock = hdmi->hdmi_data.video_mode.mpixelclock;
-+ unsigned long mtmdsclock = hdmi->hdmi_data.video_mode.mtmdsclock;
-
- /* Control for TMDS Bit Period/TMDS Clock-Period Ratio */
- if (hdmi->connector.display_info.hdmi.scdc.supported) {
-@@ -1370,6 +1386,9 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
- struct hdmi_avi_infoframe frame;
- u8 val;
-
-+ if (hdmi_bus_fmt_is_yuv420(hdmi->hdmi_data.enc_out_bus_format))
-+ is_hdmi2_sink = true;
-+
- /* Initialise info frame from DRM mode */
- drm_hdmi_avi_infoframe_from_display_mode(&frame, mode, is_hdmi2_sink);
-
-@@ -1377,6 +1396,8 @@ static void hdmi_config_AVI(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
- frame.colorspace = HDMI_COLORSPACE_YUV444;
- else if (hdmi_bus_fmt_is_yuv422(hdmi->hdmi_data.enc_out_bus_format))
- frame.colorspace = HDMI_COLORSPACE_YUV422;
-+ else if (hdmi_bus_fmt_is_yuv420(hdmi->hdmi_data.enc_out_bus_format))
-+ frame.colorspace = HDMI_COLORSPACE_YUV420;
- else
- frame.colorspace = HDMI_COLORSPACE_RGB;
-
-@@ -1534,15 +1555,18 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
- struct drm_hdmi_info *hdmi_info = &hdmi->connector.display_info.hdmi;
- struct hdmi_vmode *vmode = &hdmi->hdmi_data.video_mode;
- int hblank, vblank, h_de_hs, v_de_vs, hsync_len, vsync_len;
-- unsigned int vdisplay;
-+ unsigned int vdisplay, hdisplay;
-
-- vmode->mpixelclock = mode->clock * 1000;
-+ vmode->mtmdsclock = vmode->mpixelclock = mode->clock * 1000;
-
- dev_dbg(hdmi->dev, "final pixclk = %d\n", vmode->mpixelclock);
-
-+ if (hdmi_bus_fmt_is_yuv420(hdmi->hdmi_data.enc_out_bus_format))
-+ vmode->mtmdsclock /= 2;
-+
- /* Set up HDMI_FC_INVIDCONF */
- inv_val = (hdmi->hdmi_data.hdcp_enable ||
-- vmode->mpixelclock > 340000000 ||
-+ vmode->mtmdsclock > 340000000 ||
- hdmi_info->scdc.scrambling.low_rates ?
- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_ACTIVE :
- HDMI_FC_INVIDCONF_HDCP_KEEPOUT_INACTIVE);
-@@ -1576,6 +1600,22 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
-
- hdmi_writeb(hdmi, inv_val, HDMI_FC_INVIDCONF);
-
-+ hdisplay = mode->hdisplay;
-+ hblank = mode->htotal - mode->hdisplay;
-+ h_de_hs = mode->hsync_start - mode->hdisplay;
-+ hsync_len = mode->hsync_end - mode->hsync_start;
-+
-+ /*
-+ * When we're setting a YCbCr420 mode, we need
-+ * to adjust the horizontal timing to suit.
-+ */
-+ if (hdmi_bus_fmt_is_yuv420(hdmi->hdmi_data.enc_out_bus_format)) {
-+ hdisplay /= 2;
-+ hblank /= 2;
-+ h_de_hs /= 2;
-+ hsync_len /= 2;
-+ }
-+
- vdisplay = mode->vdisplay;
- vblank = mode->vtotal - mode->vdisplay;
- v_de_vs = mode->vsync_start - mode->vdisplay;
-@@ -1594,7 +1634,7 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
-
- /* Scrambling Control */
- if (hdmi_info->scdc.supported) {
-- if (vmode->mpixelclock > 340000000 ||
-+ if (vmode->mtmdsclock > 340000000 ||
- hdmi_info->scdc.scrambling.low_rates) {
- drm_scdc_readb(&hdmi->i2c->adap, SCDC_SINK_VERSION,
- &bytes);
-@@ -1613,15 +1653,14 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
- }
-
- /* Set up horizontal active pixel width */
-- hdmi_writeb(hdmi, mode->hdisplay >> 8, HDMI_FC_INHACTV1);
-- hdmi_writeb(hdmi, mode->hdisplay, HDMI_FC_INHACTV0);
-+ hdmi_writeb(hdmi, hdisplay >> 8, HDMI_FC_INHACTV1);
-+ hdmi_writeb(hdmi, hdisplay, HDMI_FC_INHACTV0);
-
- /* Set up vertical active lines */
- hdmi_writeb(hdmi, vdisplay >> 8, HDMI_FC_INVACTV1);
- hdmi_writeb(hdmi, vdisplay, HDMI_FC_INVACTV0);
-
- /* Set up horizontal blanking pixel region width */
-- hblank = mode->htotal - mode->hdisplay;
- hdmi_writeb(hdmi, hblank >> 8, HDMI_FC_INHBLANK1);
- hdmi_writeb(hdmi, hblank, HDMI_FC_INHBLANK0);
-
-@@ -1629,7 +1668,6 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
- hdmi_writeb(hdmi, vblank, HDMI_FC_INVBLANK);
-
- /* Set up HSYNC active edge delay width (in pixel clks) */
-- h_de_hs = mode->hsync_start - mode->hdisplay;
- hdmi_writeb(hdmi, h_de_hs >> 8, HDMI_FC_HSYNCINDELAY1);
- hdmi_writeb(hdmi, h_de_hs, HDMI_FC_HSYNCINDELAY0);
-
-@@ -1637,7 +1675,6 @@ static void hdmi_av_composer(struct dw_hdmi *hdmi,
- hdmi_writeb(hdmi, v_de_vs, HDMI_FC_VSYNCINDELAY);
-
- /* Set up HSYNC active pulse width (in pixel clks) */
-- hsync_len = mode->hsync_end - mode->hsync_start;
- hdmi_writeb(hdmi, hsync_len >> 8, HDMI_FC_HSYNCINWIDTH1);
- hdmi_writeb(hdmi, hsync_len, HDMI_FC_HSYNCINWIDTH0);
-
diff --git a/testing/linux-amlogic/0017-soc-amlogic-add-meson-canvas-driver.patch b/testing/linux-amlogic/0017-soc-amlogic-add-meson-canvas-driver.patch
deleted file mode 100644
index 4bb5731f308..00000000000
--- a/testing/linux-amlogic/0017-soc-amlogic-add-meson-canvas-driver.patch
+++ /dev/null
@@ -1,314 +0,0 @@
-From 47756c823298bef3895fa2837c4b3e97062e9842 Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <maxi.jourdan@wanadoo.fr>
-Date: Fri, 20 Apr 2018 13:17:07 +0200
-Subject: [PATCH] soc: amlogic: add meson-canvas driver
-
-Amlogic SoCs have a repository of 256 canvas which they use to
-describe pixel buffers.
-
-They contain metadata like width, height, block mode, endianness [..]
-
-Many IPs within those SoCs like vdec/vpu rely on those canvas to read/write
-pixels.
-
-Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
-Tested-by: Neil Armstrong <narmstrong@baylibre.com>
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- drivers/soc/amlogic/Kconfig | 7 ++
- drivers/soc/amlogic/Makefile | 1 +
- drivers/soc/amlogic/meson-canvas.c | 185 +++++++++++++++++++++++++++++++
- include/linux/soc/amlogic/meson-canvas.h | 65 +++++++++++
- 4 files changed, 258 insertions(+)
- create mode 100644 drivers/soc/amlogic/meson-canvas.c
- create mode 100644 include/linux/soc/amlogic/meson-canvas.h
-
-diff --git a/drivers/soc/amlogic/Kconfig b/drivers/soc/amlogic/Kconfig
-index b04f6e4..2f282b4 100644
---- a/drivers/soc/amlogic/Kconfig
-+++ b/drivers/soc/amlogic/Kconfig
-@@ -1,5 +1,12 @@
- menu "Amlogic SoC drivers"
-
-+config MESON_CANVAS
-+ tristate "Amlogic Meson Canvas driver"
-+ depends on ARCH_MESON || COMPILE_TEST
-+ default n
-+ help
-+ Say yes to support the canvas IP for Amlogic SoCs.
-+
- config MESON_GX_SOCINFO
- bool "Amlogic Meson GX SoC Information driver"
- depends on ARCH_MESON || COMPILE_TEST
-diff --git a/drivers/soc/amlogic/Makefile b/drivers/soc/amlogic/Makefile
-index 8fa3218..0ab16d3 100644
---- a/drivers/soc/amlogic/Makefile
-+++ b/drivers/soc/amlogic/Makefile
-@@ -1,3 +1,4 @@
-+obj-$(CONFIG_MESON_CANVAS) += meson-canvas.o
- obj-$(CONFIG_MESON_GX_SOCINFO) += meson-gx-socinfo.o
- obj-$(CONFIG_MESON_GX_PM_DOMAINS) += meson-gx-pwrc-vpu.o
- obj-$(CONFIG_MESON_MX_SOCINFO) += meson-mx-socinfo.o
-diff --git a/drivers/soc/amlogic/meson-canvas.c b/drivers/soc/amlogic/meson-canvas.c
-new file mode 100644
-index 0000000..fce33ca
---- /dev/null
-+++ b/drivers/soc/amlogic/meson-canvas.c
-@@ -0,0 +1,185 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Copyright (C) 2015 Amlogic, Inc. All rights reserved.
-+ * Copyright (C) 2014 Endless Mobile
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/module.h>
-+#include <linux/regmap.h>
-+#include <linux/soc/amlogic/meson-canvas.h>
-+#include <linux/of_address.h>
-+#include <linux/of_platform.h>
-+#include <linux/io.h>
-+
-+#define NUM_CANVAS 256
-+
-+/* DMC Registers */
-+#define DMC_CAV_LUT_DATAL 0x00
-+ #define CANVAS_WIDTH_LBIT 29
-+ #define CANVAS_WIDTH_LWID 3
-+#define DMC_CAV_LUT_DATAH 0x04
-+ #define CANVAS_WIDTH_HBIT 0
-+ #define CANVAS_HEIGHT_BIT 9
-+ #define CANVAS_WRAP_BIT 22
-+ #define CANVAS_BLKMODE_BIT 24
-+ #define CANVAS_ENDIAN_BIT 26
-+#define DMC_CAV_LUT_ADDR 0x08
-+ #define CANVAS_LUT_WR_EN BIT(9)
-+ #define CANVAS_LUT_RD_EN BIT(8)
-+
-+struct meson_canvas {
-+ struct device *dev;
-+ void __iomem *reg_base;
-+ spinlock_t lock; /* canvas device lock */
-+ u8 used[NUM_CANVAS];
-+};
-+
-+static void canvas_write(struct meson_canvas *canvas, u32 reg, u32 val)
-+{
-+ writel_relaxed(val, canvas->reg_base + reg);
-+}
-+
-+static u32 canvas_read(struct meson_canvas *canvas, u32 reg)
-+{
-+ return readl_relaxed(canvas->reg_base + reg);
-+}
-+
-+struct meson_canvas *meson_canvas_get(struct device *dev)
-+{
-+ struct device_node *canvas_node;
-+ struct platform_device *canvas_pdev;
-+
-+ canvas_node = of_parse_phandle(dev->of_node, "amlogic,canvas", 0);
-+ if (!canvas_node)
-+ return ERR_PTR(-ENODEV);
-+
-+ canvas_pdev = of_find_device_by_node(canvas_node);
-+ if (!canvas_pdev)
-+ return ERR_PTR(-EPROBE_DEFER);
-+
-+ return dev_get_drvdata(&canvas_pdev->dev);
-+}
-+EXPORT_SYMBOL_GPL(meson_canvas_get);
-+
-+int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index,
-+ u32 addr, u32 stride, u32 height,
-+ unsigned int wrap,
-+ unsigned int blkmode,
-+ unsigned int endian)
-+{
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&canvas->lock, flags);
-+ if (!canvas->used[canvas_index]) {
-+ dev_err(canvas->dev,
-+ "Trying to setup non allocated canvas %u\n",
-+ canvas_index);
-+ spin_unlock_irqrestore(&canvas->lock, flags);
-+ return -EINVAL;
-+ }
-+
-+ canvas_write(canvas, DMC_CAV_LUT_DATAL,
-+ ((addr + 7) >> 3) |
-+ (((stride + 7) >> 3) << CANVAS_WIDTH_LBIT));
-+
-+ canvas_write(canvas, DMC_CAV_LUT_DATAH,
-+ ((((stride + 7) >> 3) >> CANVAS_WIDTH_LWID) <<
-+ CANVAS_WIDTH_HBIT) |
-+ (height << CANVAS_HEIGHT_BIT) |
-+ (wrap << CANVAS_WRAP_BIT) |
-+ (blkmode << CANVAS_BLKMODE_BIT) |
-+ (endian << CANVAS_ENDIAN_BIT));
-+
-+ canvas_write(canvas, DMC_CAV_LUT_ADDR,
-+ CANVAS_LUT_WR_EN | canvas_index);
-+
-+ /* Force a read-back to make sure everything is flushed. */
-+ canvas_read(canvas, DMC_CAV_LUT_DATAH);
-+ spin_unlock_irqrestore(&canvas->lock, flags);
-+
-+ return 0;
-+}
-+EXPORT_SYMBOL_GPL(meson_canvas_config);
-+
-+int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index)
-+{
-+ int i;
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&canvas->lock, flags);
-+ for (i = 0; i < NUM_CANVAS; ++i) {
-+ if (!canvas->used[i]) {
-+ canvas->used[i] = 1;
-+ spin_unlock_irqrestore(&canvas->lock, flags);
-+ *canvas_index = i;
-+ return 0;
-+ }
-+ }
-+ spin_unlock_irqrestore(&canvas->lock, flags);
-+
-+ dev_err(canvas->dev, "No more canvas available\n");
-+ return -ENODEV;
-+}
-+EXPORT_SYMBOL_GPL(meson_canvas_alloc);
-+
-+int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index)
-+{
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&canvas->lock, flags);
-+ if (!canvas->used[canvas_index]) {
-+ dev_err(canvas->dev,
-+ "Trying to free unused canvas %u\n", canvas_index);
-+ spin_unlock_irqrestore(&canvas->lock, flags);
-+ return -EINVAL;
-+ }
-+ canvas->used[canvas_index] = 0;
-+ spin_unlock_irqrestore(&canvas->lock, flags);
-+
-+ return 0;
-+}
-+EXPORT_SYMBOL_GPL(meson_canvas_free);
-+
-+static int meson_canvas_probe(struct platform_device *pdev)
-+{
-+ struct resource *res;
-+ struct meson_canvas *canvas;
-+ struct device *dev = &pdev->dev;
-+
-+ canvas = devm_kzalloc(dev, sizeof(*canvas), GFP_KERNEL);
-+ if (!canvas)
-+ return -ENOMEM;
-+
-+ res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-+ canvas->reg_base = devm_ioremap_resource(dev, res);
-+ if (IS_ERR(canvas->reg_base))
-+ return PTR_ERR(canvas->reg_base);
-+
-+ canvas->dev = dev;
-+ spin_lock_init(&canvas->lock);
-+ dev_set_drvdata(dev, canvas);
-+
-+ return 0;
-+}
-+
-+static const struct of_device_id canvas_dt_match[] = {
-+ { .compatible = "amlogic,canvas" },
-+ {}
-+};
-+MODULE_DEVICE_TABLE(of, canvas_dt_match);
-+
-+static struct platform_driver meson_canvas_driver = {
-+ .probe = meson_canvas_probe,
-+ .driver = {
-+ .name = "amlogic-canvas",
-+ .of_match_table = canvas_dt_match,
-+ },
-+};
-+module_platform_driver(meson_canvas_driver);
-+
-+MODULE_DESCRIPTION("Amlogic Canvas driver");
-+MODULE_AUTHOR("Maxime Jourdan <mjourdan@baylibre.com>");
-+MODULE_LICENSE("GPL");
-diff --git a/include/linux/soc/amlogic/meson-canvas.h b/include/linux/soc/amlogic/meson-canvas.h
-new file mode 100644
-index 0000000..b4dde2f
---- /dev/null
-+++ b/include/linux/soc/amlogic/meson-canvas.h
-@@ -0,0 +1,65 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ */
-+#ifndef __SOC_MESON_CANVAS_H
-+#define __SOC_MESON_CANVAS_H
-+
-+#include <linux/kernel.h>
-+
-+#define MESON_CANVAS_WRAP_NONE 0x00
-+#define MESON_CANVAS_WRAP_X 0x01
-+#define MESON_CANVAS_WRAP_Y 0x02
-+
-+#define MESON_CANVAS_BLKMODE_LINEAR 0x00
-+#define MESON_CANVAS_BLKMODE_32x32 0x01
-+#define MESON_CANVAS_BLKMODE_64x64 0x02
-+
-+#define MESON_CANVAS_ENDIAN_SWAP16 0x1
-+#define MESON_CANVAS_ENDIAN_SWAP32 0x3
-+#define MESON_CANVAS_ENDIAN_SWAP64 0x7
-+#define MESON_CANVAS_ENDIAN_SWAP128 0xf
-+
-+struct meson_canvas;
-+
-+/**
-+ * meson_canvas_get() - get a canvas provider instance
-+ *
-+ * @dev: consumer device pointer
-+ */
-+struct meson_canvas *meson_canvas_get(struct device *dev);
-+
-+/**
-+ * meson_canvas_alloc() - take ownership of a canvas
-+ *
-+ * @canvas: canvas provider instance retrieved from meson_canvas_get()
-+ * @canvas_index: will be filled with the canvas ID
-+ */
-+int meson_canvas_alloc(struct meson_canvas *canvas, u8 *canvas_index);
-+
-+/**
-+ * meson_canvas_free() - remove ownership from a canvas
-+ *
-+ * @canvas: canvas provider instance retrieved from meson_canvas_get()
-+ * @canvas_index: canvas ID that was obtained via meson_canvas_alloc()
-+ */
-+int meson_canvas_free(struct meson_canvas *canvas, u8 canvas_index);
-+
-+/**
-+ * meson_canvas_config() - configure a canvas
-+ *
-+ * @canvas: canvas provider instance retrieved from meson_canvas_get()
-+ * @canvas_index: canvas ID that was obtained via meson_canvas_alloc()
-+ * @addr: physical address to the pixel buffer
-+ * @stride: width of the buffer
-+ * @height: height of the buffer
-+ * @wrap: undocumented
-+ * @blkmode: block mode (linear, 32x32, 64x64)
-+ * @endian: byte swapping (swap16, swap32, swap64, swap128)
-+ */
-+int meson_canvas_config(struct meson_canvas *canvas, u8 canvas_index,
-+ u32 addr, u32 stride, u32 height,
-+ unsigned int wrap, unsigned int blkmode,
-+ unsigned int endian);
-+
-+#endif
diff --git a/testing/linux-amlogic/0018-ARM64-dts-meson-gx-add-dmcbus-and-canvas-nodes.patch b/testing/linux-amlogic/0018-ARM64-dts-meson-gx-add-dmcbus-and-canvas-nodes.patch
deleted file mode 100644
index b09c7c8488e..00000000000
--- a/testing/linux-amlogic/0018-ARM64-dts-meson-gx-add-dmcbus-and-canvas-nodes.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From b2b84d801a2e8145b2a08e0d310682fc5e88b0ad Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <maxi.jourdan@wanadoo.fr>
-Date: Fri, 20 Apr 2018 16:09:09 +0200
-Subject: [PATCH] ARM64: dts: meson-gx: add dmcbus and canvas nodes.
-
-DMC is a small memory region with various registers,
-including the ones needed for the canvas module.
-
-Reviewed-by: Jerome Brunet <jbrunet@baylibre.com>
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-index 6b64b63..fb64354 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-@@ -458,6 +458,19 @@
- };
- };
-
-+ dmcbus: bus@c8838000 {
-+ compatible = "simple-bus";
-+ reg = <0x0 0xc8838000 0x0 0x400>;
-+ #address-cells = <2>;
-+ #size-cells = <2>;
-+ ranges = <0x0 0x0 0x0 0xc8838000 0x0 0x400>;
-+
-+ canvas: video-lut@48 {
-+ compatible = "amlogic,canvas";
-+ reg = <0x0 0x48 0x0 0x14>;
-+ };
-+ };
-+
- hiubus: bus@c883c000 {
- compatible = "simple-bus";
- reg = <0x0 0xc883c000 0x0 0x2000>;
diff --git a/testing/linux-amlogic/0018-drm-bridge-dw-hdmi-support-dynamically-get-input-out.patch b/testing/linux-amlogic/0018-drm-bridge-dw-hdmi-support-dynamically-get-input-out.patch
deleted file mode 100644
index bc86f579892..00000000000
--- a/testing/linux-amlogic/0018-drm-bridge-dw-hdmi-support-dynamically-get-input-out.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 2dcf2d31652207dfe20d7606804ca3b763b7f094 Mon Sep 17 00:00:00 2001
-From: Zheng Yang <zhengyang@rock-chips.com>
-Date: Tue, 27 Jun 2017 16:22:01 +0800
-Subject: [PATCH] drm/bridge: dw-hdmi: support dynamically get input/out color
- info
-
-To get input/output bus_format/enc_format dynamically, this patch
-introduce following funstion in plat_data:
- - get_input_bus_format
- - get_output_bus_format
- - get_enc_in_encoding
- - get_enc_out_encoding
-
-Signed-off-by: Zheng Yang <zhengyang@rock-chips.com>
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 28 +++++++++++++++++++++-------
- include/drm/bridge/dw_hdmi.h | 5 +++++
- 2 files changed, 26 insertions(+), 7 deletions(-)
-
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index c3e4ed1..6473df3 100644
---- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -1774,6 +1774,7 @@ static void hdmi_disable_overflow_interrupts(struct dw_hdmi *hdmi)
- static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
- {
- int ret;
-+ void *data = hdmi->plat_data->phy_data;
-
- hdmi_disable_overflow_interrupts(hdmi);
-
-@@ -1785,10 +1786,13 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
- dev_dbg(hdmi->dev, "CEA mode used vic=%d\n", hdmi->vic);
- }
-
-- if ((hdmi->vic == 6) || (hdmi->vic == 7) ||
-- (hdmi->vic == 21) || (hdmi->vic == 22) ||
-- (hdmi->vic == 2) || (hdmi->vic == 3) ||
-- (hdmi->vic == 17) || (hdmi->vic == 18))
-+ if (hdmi->plat_data->get_enc_out_encoding)
-+ hdmi->hdmi_data.enc_out_encoding =
-+ hdmi->plat_data->get_enc_out_encoding(data);
-+ else if ((hdmi->vic == 6) || (hdmi->vic == 7) ||
-+ (hdmi->vic == 21) || (hdmi->vic == 22) ||
-+ (hdmi->vic == 2) || (hdmi->vic == 3) ||
-+ (hdmi->vic == 17) || (hdmi->vic == 18))
- hdmi->hdmi_data.enc_out_encoding = V4L2_YCBCR_ENC_601;
- else
- hdmi->hdmi_data.enc_out_encoding = V4L2_YCBCR_ENC_709;
-@@ -1797,21 +1801,31 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
- hdmi->hdmi_data.video_mode.mpixelrepetitioninput = 0;
-
- /* TOFIX: Get input format from plat data or fallback to RGB888 */
-- if (hdmi->plat_data->input_bus_format)
-+ if (hdmi->plat_data->get_input_bus_format)
-+ hdmi->hdmi_data.enc_in_bus_format =
-+ hdmi->plat_data->get_input_bus_format(data);
-+ else if (hdmi->plat_data->input_bus_format)
- hdmi->hdmi_data.enc_in_bus_format =
- hdmi->plat_data->input_bus_format;
- else
- hdmi->hdmi_data.enc_in_bus_format = MEDIA_BUS_FMT_RGB888_1X24;
-
- /* TOFIX: Get input encoding from plat data or fallback to none */
-- if (hdmi->plat_data->input_bus_encoding)
-+ if (hdmi->plat_data->get_enc_in_encoding)
-+ hdmi->hdmi_data.enc_in_encoding =
-+ hdmi->plat_data->get_enc_in_encoding(data);
-+ else if (hdmi->plat_data->input_bus_encoding)
- hdmi->hdmi_data.enc_in_encoding =
- hdmi->plat_data->input_bus_encoding;
- else
- hdmi->hdmi_data.enc_in_encoding = V4L2_YCBCR_ENC_DEFAULT;
-
- /* TOFIX: Default to RGB888 output format */
-- hdmi->hdmi_data.enc_out_bus_format = MEDIA_BUS_FMT_RGB888_1X24;
-+ if (hdmi->plat_data->get_output_bus_format)
-+ hdmi->hdmi_data.enc_out_bus_format =
-+ hdmi->plat_data->get_output_bus_format(data);
-+ else
-+ hdmi->hdmi_data.enc_out_bus_format = MEDIA_BUS_FMT_RGB888_1X24;
-
- hdmi->hdmi_data.pix_repet_factor = 0;
- hdmi->hdmi_data.hdcp_enable = 0;
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index d7cc5d0..27f9cce 100644
---- a/include/drm/bridge/dw_hdmi.h
-+++ b/include/drm/bridge/dw_hdmi.h
-@@ -141,6 +141,11 @@ struct dw_hdmi_plat_data {
- int (*configure_phy)(struct dw_hdmi *hdmi,
- const struct dw_hdmi_plat_data *pdata,
- unsigned long mpixelclock);
-+
-+ unsigned long (*get_input_bus_format)(void *data);
-+ unsigned long (*get_output_bus_format)(void *data);
-+ unsigned long (*get_enc_in_encoding)(void *data);
-+ unsigned long (*get_enc_out_encoding)(void *data);
- };
-
- struct dw_hdmi *dw_hdmi_probe(struct platform_device *pdev,
diff --git a/testing/linux-amlogic/0019-drm-bridge-dw-hdmi-allow-ycbcr420-modes-for-0x200a.patch b/testing/linux-amlogic/0019-drm-bridge-dw-hdmi-allow-ycbcr420-modes-for-0x200a.patch
deleted file mode 100644
index 54939c84e9c..00000000000
--- a/testing/linux-amlogic/0019-drm-bridge-dw-hdmi-allow-ycbcr420-modes-for-0x200a.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 94d815707144fb76f2e6f718a864f10a8d3f6306 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 14 Nov 2018 17:39:46 +0100
-Subject: [PATCH] drm/bridge: dw-hdmi: allow ycbcr420 modes for >= 0x200a
-
-Now the DW-HDMI Controller supports the HDMI2.0 modes, enable support
-for these modes in the connector if the platform supports them.
-We limit these modes to DW-HDMI IP version >= 0x200a which
-are designed to support HDMI2.0 display modes.
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 6 ++++++
- include/drm/bridge/dw_hdmi.h | 1 +
- 2 files changed, 7 insertions(+)
-
-diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-index 6473df3..d10277f 100644
---- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-+++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
-@@ -2575,6 +2575,12 @@ __dw_hdmi_probe(struct platform_device *pdev,
- if (hdmi->phy.ops->setup_hpd)
- hdmi->phy.ops->setup_hpd(hdmi, hdmi->phy.data);
-
-+ if (hdmi->version >= 0x200a)
-+ hdmi->connector.ycbcr_420_allowed =
-+ hdmi->plat_data->ycbcr_420_allowed;
-+ else
-+ hdmi->connector.ycbcr_420_allowed = false;
-+
- memset(&pdevinfo, 0, sizeof(pdevinfo));
- pdevinfo.parent = dev;
- pdevinfo.id = PLATFORM_DEVID_AUTO;
-diff --git a/include/drm/bridge/dw_hdmi.h b/include/drm/bridge/dw_hdmi.h
-index 27f9cce..c04f497a 100644
---- a/include/drm/bridge/dw_hdmi.h
-+++ b/include/drm/bridge/dw_hdmi.h
-@@ -128,6 +128,7 @@ struct dw_hdmi_plat_data {
- const struct drm_display_mode *mode);
- unsigned long input_bus_format;
- unsigned long input_bus_encoding;
-+ bool ycbcr_420_allowed;
-
- /* Vendor PHY support */
- const struct dw_hdmi_phy_ops *phy_ops;
diff --git a/testing/linux-amlogic/0020-drm-meson-Add-YUV420-output-support.patch b/testing/linux-amlogic/0020-drm-meson-Add-YUV420-output-support.patch
deleted file mode 100644
index ab69cd67c9b..00000000000
--- a/testing/linux-amlogic/0020-drm-meson-Add-YUV420-output-support.patch
+++ /dev/null
@@ -1,582 +0,0 @@
-From fb1abdc9ba8015b1a5c2a6c53ffc08fa0676db04 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Thu, 15 Nov 2018 16:41:23 +0100
-Subject: [PATCH] drm/meson: Add YUV420 output support
-
-This patch adds support for the YUV420 output from the Amlogic Meson SoCs
-Video Processing Unit to the HDMI Controller.
-
-The YUV420 is obtained by generating a YUV444 pixel stream like
-the classic HDMI display modes, but then the Video Encoder output
-can be configured to down-sample the YUV444 pixel stream to a YUV420
-stream.
-In addition if pixel stream down-sampling, the Y Cb Cr components must
-also be mapped differently to align with the HDMI2.0 specifications.
-
-This mode needs a different clock generation scheme since the TMDS PHY
-clock must match the 10x ration with the YUV420 pixel clock, but
-the video encoder must run at 2x the pixel clock.
-
-This patch adds the TMDS PHY clock value in all the video clock setup
-in order to better support these specific uses cases and switch
-to the Common Clock framework for clocks handling in the future.
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/meson/meson_dw_hdmi.c | 108 +++++++++++++++++++++++++++-----
- drivers/gpu/drm/meson/meson_vclk.c | 95 +++++++++++++++++++++-------
- drivers/gpu/drm/meson/meson_vclk.h | 7 ++-
- drivers/gpu/drm/meson/meson_venc.c | 6 +-
- drivers/gpu/drm/meson/meson_venc.h | 11 ++++
- drivers/gpu/drm/meson/meson_venc_cvbs.c | 3 +-
- 6 files changed, 184 insertions(+), 46 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
-index 118c49e..0b9ecbf 100644
---- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
-+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
-@@ -141,6 +141,8 @@ struct meson_dw_hdmi {
- struct regulator *hdmi_supply;
- u32 irq_stat;
- struct dw_hdmi *hdmi;
-+ unsigned long input_bus_format;
-+ unsigned long output_bus_format;
- };
- #define encoder_to_meson_dw_hdmi(x) \
- container_of(x, struct meson_dw_hdmi, encoder)
-@@ -323,25 +325,36 @@ static void dw_hdmi_set_vclk(struct meson_dw_hdmi *dw_hdmi,
- {
- struct meson_drm *priv = dw_hdmi->priv;
- int vic = drm_match_cea_mode(mode);
-+ unsigned int phy_freq;
- unsigned int vclk_freq;
- unsigned int venc_freq;
- unsigned int hdmi_freq;
-
- vclk_freq = mode->clock;
-
-+ /* For 420, pixel clock is half unlike venc clock */
-+ if (dw_hdmi->input_bus_format == MEDIA_BUS_FMT_UYYVYY8_0_5X24)
-+ vclk_freq /= 2;
-+
-+ /* TMDS clock is pixel_clock * 10 */
-+ phy_freq = vclk_freq * 10;
-+
- if (!vic) {
-- meson_vclk_setup(priv, MESON_VCLK_TARGET_DMT, vclk_freq,
-- vclk_freq, vclk_freq, false);
-+ meson_vclk_setup(priv, MESON_VCLK_TARGET_DMT, phy_freq,
-+ vclk_freq, vclk_freq, vclk_freq, false);
- return;
- }
-
-+ /* 480i/576i needs global pixel doubling */
- if (mode->flags & DRM_MODE_FLAG_DBLCLK)
- vclk_freq *= 2;
-
- venc_freq = vclk_freq;
- hdmi_freq = vclk_freq;
-
-- if (meson_venc_hdmi_venc_repeat(vic))
-+ /* VENC double pixels for 1080i, 720p and YUV420 modes */
-+ if (meson_venc_hdmi_venc_repeat(vic) ||
-+ dw_hdmi->input_bus_format == MEDIA_BUS_FMT_UYYVYY8_0_5X24)
- venc_freq *= 2;
-
- vclk_freq = max(venc_freq, hdmi_freq);
-@@ -349,11 +362,11 @@ static void dw_hdmi_set_vclk(struct meson_dw_hdmi *dw_hdmi,
- if (mode->flags & DRM_MODE_FLAG_DBLCLK)
- venc_freq /= 2;
-
-- DRM_DEBUG_DRIVER("vclk:%d venc=%d hdmi=%d enci=%d\n",
-- vclk_freq, venc_freq, hdmi_freq,
-+ DRM_DEBUG_DRIVER("vclk:%d phy=%d venc=%d hdmi=%d enci=%d\n",
-+ phy_freq, vclk_freq, venc_freq, hdmi_freq,
- priv->venc.hdmi_use_enci);
-
-- meson_vclk_setup(priv, MESON_VCLK_TARGET_HDMI, vclk_freq,
-+ meson_vclk_setup(priv, MESON_VCLK_TARGET_HDMI, phy_freq, vclk_freq,
- venc_freq, hdmi_freq, priv->venc.hdmi_use_enci);
- }
-
-@@ -387,7 +400,8 @@ static int dw_hdmi_phy_init(struct dw_hdmi *hdmi, void *data,
- dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_BIST_CNTL, BIT(12));
-
- /* TMDS pattern setup (TOFIX Handle the YUV420 case) */
-- if (mode->clock > 340000) {
-+ if (mode->clock > 340000 &&
-+ dw_hdmi->input_bus_format == MEDIA_BUS_FMT_YUV8_1X24) {
- dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_01, 0);
- dw_hdmi_top_write(dw_hdmi, HDMITX_TOP_TMDS_CLK_PTTN_23,
- 0x03ff03ff);
-@@ -560,6 +574,8 @@ dw_hdmi_mode_valid(struct drm_connector *connector,
- const struct drm_display_mode *mode)
- {
- struct meson_drm *priv = connector->dev->dev_private;
-+ bool is_hdmi2_sink = connector->display_info.hdmi.scdc.supported;
-+ unsigned int phy_freq;
- unsigned int vclk_freq;
- unsigned int venc_freq;
- unsigned int hdmi_freq;
-@@ -573,9 +589,11 @@ dw_hdmi_mode_valid(struct drm_connector *connector,
- mode->vdisplay, mode->vsync_start,
- mode->vsync_end, mode->vtotal, mode->type, mode->flags);
-
-- /* If sink max TMDS clock < 340MHz, we reject the HDMI2.0 modes */
-+ /* If sink does not support 540MHz, reject the non-420 HDMI2 modes */
- if (mode->clock > 340000 &&
-- connector->display_info.max_tmds_clock < 340000)
-+ connector->display_info.max_tmds_clock < 340000 &&
-+ !drm_mode_is_420_only(&connector->display_info, mode) &&
-+ !drm_mode_is_420_also(&connector->display_info, mode))
- return MODE_BAD;
-
- /* Check against non-VIC supported modes */
-@@ -591,6 +609,15 @@ dw_hdmi_mode_valid(struct drm_connector *connector,
-
- vclk_freq = mode->clock;
-
-+ /* For 420, pixel clock is half unlike venc clock */
-+ if (drm_mode_is_420_only(&connector->display_info, mode) ||
-+ (!is_hdmi2_sink &&
-+ drm_mode_is_420_also(&connector->display_info, mode)))
-+ vclk_freq /= 2;
-+
-+ /* TMDS clock is pixel_clock * 10 */
-+ phy_freq = vclk_freq * 10;
-+
- /* 480i/576i needs global pixel doubling */
- if (mode->flags & DRM_MODE_FLAG_DBLCLK)
- vclk_freq *= 2;
-@@ -598,8 +625,11 @@ dw_hdmi_mode_valid(struct drm_connector *connector,
- venc_freq = vclk_freq;
- hdmi_freq = vclk_freq;
-
-- /* VENC double pixels for 1080i and 720p modes */
-- if (meson_venc_hdmi_venc_repeat(vic))
-+ /* VENC double pixels for 1080i, 720p and YUV420 modes */
-+ if (meson_venc_hdmi_venc_repeat(vic) ||
-+ drm_mode_is_420_only(&connector->display_info, mode) ||
-+ (!is_hdmi2_sink &&
-+ drm_mode_is_420_also(&connector->display_info, mode)))
- venc_freq *= 2;
-
- vclk_freq = max(venc_freq, hdmi_freq);
-@@ -607,10 +637,10 @@ dw_hdmi_mode_valid(struct drm_connector *connector,
- if (mode->flags & DRM_MODE_FLAG_DBLCLK)
- venc_freq /= 2;
-
-- dev_dbg(connector->dev->dev, "%s: vclk:%d venc=%d hdmi=%d\n", __func__,
-- vclk_freq, venc_freq, hdmi_freq);
-+ dev_dbg(connector->dev->dev, "%s: vclk:%d phy=%d venc=%d hdmi=%d\n",
-+ __func__, phy_freq, vclk_freq, venc_freq, hdmi_freq);
-
-- return meson_vclk_vic_supported_freq(vclk_freq);
-+ return meson_vclk_vic_supported_freq(phy_freq, vclk_freq);
- }
-
- /* Encoder */
-@@ -628,6 +658,21 @@ static int meson_venc_hdmi_encoder_atomic_check(struct drm_encoder *encoder,
- struct drm_crtc_state *crtc_state,
- struct drm_connector_state *conn_state)
- {
-+ struct meson_dw_hdmi *dw_hdmi = encoder_to_meson_dw_hdmi(encoder);
-+ struct drm_display_info *info = &conn_state->connector->display_info;
-+ struct drm_display_mode *mode = &crtc_state->mode;
-+ bool is_hdmi2_sink =
-+ conn_state->connector->display_info.hdmi.scdc.supported;
-+
-+ if (drm_mode_is_420_only(info, mode) ||
-+ (!is_hdmi2_sink && drm_mode_is_420_also(info, mode))) {
-+ dw_hdmi->input_bus_format = MEDIA_BUS_FMT_UYYVYY8_0_5X24;
-+ dw_hdmi->output_bus_format = MEDIA_BUS_FMT_UYYVYY8_0_5X24;
-+ } else {
-+ dw_hdmi->input_bus_format = MEDIA_BUS_FMT_YUV8_1X24;
-+ dw_hdmi->output_bus_format = MEDIA_BUS_FMT_RGB888_1X24;
-+ }
-+
- return 0;
- }
-
-@@ -665,18 +710,30 @@ static void meson_venc_hdmi_encoder_mode_set(struct drm_encoder *encoder,
- struct meson_dw_hdmi *dw_hdmi = encoder_to_meson_dw_hdmi(encoder);
- struct meson_drm *priv = dw_hdmi->priv;
- int vic = drm_match_cea_mode(mode);
-+ unsigned int ycrcb_map = MESON_VENC_MAP_CB_Y_CR;
-+ bool yuv420_mode = false;
-
- DRM_DEBUG_DRIVER("%d:\"%s\" vic %d\n",
- mode->base.id, mode->name, vic);
-
-+ if (dw_hdmi->input_bus_format == MEDIA_BUS_FMT_UYYVYY8_0_5X24) {
-+ ycrcb_map = MESON_VENC_MAP_CR_Y_CB;
-+ yuv420_mode = true;
-+ }
-+
- /* VENC + VENC-DVI Mode setup */
-- meson_venc_hdmi_mode_set(priv, vic, mode);
-+ meson_venc_hdmi_mode_set(priv, vic, ycrcb_map, yuv420_mode, mode);
-
- /* VCLK Set clock */
- dw_hdmi_set_vclk(dw_hdmi, mode);
-
-- /* Setup YUV444 to HDMI-TX, no 10bit diphering */
-- writel_relaxed(0, priv->io_base + _REG(VPU_HDMI_FMT_CTRL));
-+ if (dw_hdmi->input_bus_format == MEDIA_BUS_FMT_UYYVYY8_0_5X24)
-+ /* Setup YUV420 to HDMI-TX, no 10bit diphering */
-+ writel_relaxed(2 | (2 << 2),
-+ priv->io_base + _REG(VPU_HDMI_FMT_CTRL));
-+ else
-+ /* Setup YUV444 to HDMI-TX, no 10bit diphering */
-+ writel_relaxed(0, priv->io_base + _REG(VPU_HDMI_FMT_CTRL));
- }
-
- static const struct drm_encoder_helper_funcs
-@@ -714,6 +771,20 @@ static const struct regmap_config meson_dw_hdmi_regmap_config = {
- .max_register = 0x10000,
- };
-
-+static unsigned long meson_dw_hdmi_get_in_bus_format(void *data)
-+{
-+ struct meson_dw_hdmi *dw_hdmi = (struct meson_dw_hdmi *)data;
-+
-+ return dw_hdmi->input_bus_format;
-+}
-+
-+static unsigned long meson_dw_hdmi_get_out_bus_format(void *data)
-+{
-+ struct meson_dw_hdmi *dw_hdmi = (struct meson_dw_hdmi *)data;
-+
-+ return dw_hdmi->output_bus_format;
-+}
-+
- static bool meson_hdmi_connector_is_available(struct device *dev)
- {
- struct device_node *ep, *remote;
-@@ -890,6 +961,9 @@ static int meson_dw_hdmi_bind(struct device *dev, struct device *master,
- dw_plat_data->phy_data = meson_dw_hdmi;
- dw_plat_data->input_bus_format = MEDIA_BUS_FMT_YUV8_1X24;
- dw_plat_data->input_bus_encoding = V4L2_YCBCR_ENC_709;
-+ dw_plat_data->get_input_bus_format = meson_dw_hdmi_get_in_bus_format;
-+ dw_plat_data->get_output_bus_format = meson_dw_hdmi_get_out_bus_format;
-+ dw_plat_data->ycbcr_420_allowed = true;
-
- platform_set_drvdata(pdev, meson_dw_hdmi);
-
-diff --git a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c
-index 5accceb..27c9c5e 100644
---- a/drivers/gpu/drm/meson/meson_vclk.c
-+++ b/drivers/gpu/drm/meson/meson_vclk.c
-@@ -337,12 +337,17 @@ enum {
- /* 2970 /1 /1 /1 /5 /2 => /1 /1 */
- MESON_VCLK_HDMI_297000,
- /* 5940 /1 /1 /2 /5 /1 => /1 /1 */
-- MESON_VCLK_HDMI_594000
-+ MESON_VCLK_HDMI_594000,
-+/* 2970 /1 /1 /1 /5 /1 => /1 /2 */
-+ MESON_VCLK_HDMI_594000_YUV420,
- };
-
- struct meson_vclk_params {
-+ unsigned int pll_freq;
-+ unsigned int phy_freq;
-+ unsigned int vclk_freq;
-+ unsigned int venc_freq;
- unsigned int pixel_freq;
-- unsigned int pll_base_freq;
- unsigned int pll_od1;
- unsigned int pll_od2;
- unsigned int pll_od3;
-@@ -350,8 +355,11 @@ struct meson_vclk_params {
- unsigned int vclk_div;
- } params[] = {
- [MESON_VCLK_HDMI_ENCI_54000] = {
-+ .pll_freq = 4320000,
-+ .phy_freq = 270000,
-+ .vclk_freq = 54000,
-+ .venc_freq = 54000,
- .pixel_freq = 54000,
-- .pll_base_freq = 4320000,
- .pll_od1 = 4,
- .pll_od2 = 4,
- .pll_od3 = 1,
-@@ -359,8 +367,11 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_DDR_54000] = {
-- .pixel_freq = 54000,
-- .pll_base_freq = 4320000,
-+ .pll_freq = 4320000,
-+ .phy_freq = 270000,
-+ .vclk_freq = 54000,
-+ .venc_freq = 54000,
-+ .pixel_freq = 27000,
- .pll_od1 = 4,
- .pll_od2 = 4,
- .pll_od3 = 1,
-@@ -368,8 +379,11 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_DDR_148500] = {
-- .pixel_freq = 148500,
-- .pll_base_freq = 2970000,
-+ .pll_freq = 2970000,
-+ .phy_freq = 742500,
-+ .vclk_freq = 148500,
-+ .venc_freq = 148500,
-+ .pixel_freq = 74250,
- .pll_od1 = 4,
- .pll_od2 = 1,
- .pll_od3 = 1,
-@@ -377,8 +391,11 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_74250] = {
-+ .pll_freq = 2970000,
-+ .phy_freq = 742500,
-+ .vclk_freq = 74250,
-+ .venc_freq = 74250,
- .pixel_freq = 74250,
-- .pll_base_freq = 2970000,
- .pll_od1 = 2,
- .pll_od2 = 2,
- .pll_od3 = 2,
-@@ -386,8 +403,11 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_148500] = {
-+ .pll_freq = 2970000,
-+ .phy_freq = 1485000,
-+ .vclk_freq = 148500,
-+ .venc_freq = 148500,
- .pixel_freq = 148500,
-- .pll_base_freq = 2970000,
- .pll_od1 = 1,
- .pll_od2 = 2,
- .pll_od3 = 2,
-@@ -395,8 +415,11 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_297000] = {
-+ .pll_freq = 2970000,
-+ .phy_freq = 2970000,
-+ .venc_freq = 297000,
-+ .vclk_freq = 297000,
- .pixel_freq = 297000,
-- .pll_base_freq = 2970000,
- .pll_od1 = 1,
- .pll_od2 = 1,
- .pll_od3 = 1,
-@@ -404,14 +427,29 @@ struct meson_vclk_params {
- .vclk_div = 2,
- },
- [MESON_VCLK_HDMI_594000] = {
-+ .pll_freq = 5940000,
-+ .phy_freq = 5940000,
-+ .venc_freq = 594000,
-+ .vclk_freq = 594000,
- .pixel_freq = 594000,
-- .pll_base_freq = 5940000,
- .pll_od1 = 1,
- .pll_od2 = 1,
- .pll_od3 = 2,
- .vid_pll_div = VID_PLL_DIV_5,
- .vclk_div = 1,
- },
-+ [MESON_VCLK_HDMI_594000_YUV420] = {
-+ .pll_freq = 2970000,
-+ .phy_freq = 2970000,
-+ .venc_freq = 594000,
-+ .vclk_freq = 594000,
-+ .pixel_freq = 297000,
-+ .pll_od1 = 1,
-+ .pll_od2 = 1,
-+ .pll_od3 = 1,
-+ .vid_pll_div = VID_PLL_DIV_5,
-+ .vclk_div = 1,
-+ },
- { /* sentinel */ },
- };
-
-@@ -616,6 +654,7 @@ static void meson_hdmi_pll_generic_set(struct meson_drm *priv,
- unsigned int od, m, frac, od1, od2, od3;
-
- if (meson_hdmi_pll_find_params(priv, pll_freq, &m, &frac, &od)) {
-+ /* OD2 goes to the PHY, and needs to be *10, so keep OD3=1 */
- od3 = 1;
- if (od < 4) {
- od1 = 2;
-@@ -638,21 +677,28 @@ static void meson_hdmi_pll_generic_set(struct meson_drm *priv,
- }
-
- enum drm_mode_status
--meson_vclk_vic_supported_freq(unsigned int freq)
-+meson_vclk_vic_supported_freq(unsigned int phy_freq,
-+ unsigned int vclk_freq)
- {
- int i;
-
-- DRM_DEBUG_DRIVER("freq = %d\n", freq);
-+ DRM_DEBUG_DRIVER("phy_freq = %d vclk_freq = %d\n",
-+ phy_freq, vclk_freq);
-
- for (i = 0 ; params[i].pixel_freq ; ++i) {
- DRM_DEBUG_DRIVER("i = %d pixel_freq = %d alt = %d\n",
- i, params[i].pixel_freq,
- FREQ_1000_1001(params[i].pixel_freq));
-+ DRM_DEBUG_DRIVER("i = %d phy_freq = %d alt = %d\n",
-+ i, params[i].phy_freq,
-+ FREQ_1000_1001(params[i].phy_freq/10)*10);
- /* Match strict frequency */
-- if (freq == params[i].pixel_freq)
-+ if (phy_freq == params[i].phy_freq &&
-+ vclk_freq == params[i].vclk_freq)
- return MODE_OK;
- /* Match 1000/1001 variant */
-- if (freq == FREQ_1000_1001(params[i].pixel_freq))
-+ if (phy_freq == (FREQ_1000_1001(params[i].phy_freq/10)*10) &&
-+ vclk_freq == FREQ_1000_1001(params[i].vclk_freq))
- return MODE_OK;
- }
-
-@@ -666,7 +712,7 @@ static void meson_vclk_set(struct meson_drm *priv, unsigned int pll_base_freq,
- unsigned int hdmi_tx_div, unsigned int venc_div,
- bool hdmi_use_enci, bool vic_alternate_clock)
- {
-- unsigned int m, frac;
-+ unsigned int m = 0, frac = 0;
-
- /* Set HDMI-TX sys clock */
- regmap_update_bits(priv->hhi, HHI_HDMI_CLK_CNTL,
-@@ -863,8 +909,9 @@ static void meson_vclk_set(struct meson_drm *priv, unsigned int pll_base_freq,
- }
-
- void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
-- unsigned int vclk_freq, unsigned int venc_freq,
-- unsigned int dac_freq, bool hdmi_use_enci)
-+ unsigned int phy_freq, unsigned int vclk_freq,
-+ unsigned int venc_freq, unsigned int dac_freq,
-+ bool hdmi_use_enci)
- {
- bool vic_alternate_clock = false;
- unsigned int freq;
-@@ -883,7 +930,7 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
- * - venc_div = 1
- * - encp encoder
- */
-- meson_vclk_set(priv, vclk_freq * 10, 0, 0, 0,
-+ meson_vclk_set(priv, phy_freq, 0, 0, 0,
- VID_PLL_DIV_5, 2, 1, 1, false, false);
- return;
- }
-@@ -905,9 +952,11 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
- }
-
- for (freq = 0 ; params[freq].pixel_freq ; ++freq) {
-- if (vclk_freq == params[freq].pixel_freq ||
-- vclk_freq == FREQ_1000_1001(params[freq].pixel_freq)) {
-- if (vclk_freq != params[freq].pixel_freq)
-+ if ((phy_freq == params[freq].phy_freq ||
-+ phy_freq == FREQ_1000_1001(params[freq].phy_freq/10)*10) &&
-+ (vclk_freq == params[freq].vclk_freq ||
-+ vclk_freq == FREQ_1000_1001(params[freq].vclk_freq))) {
-+ if (vclk_freq != params[freq].vclk_freq)
- vic_alternate_clock = true;
- else
- vic_alternate_clock = false;
-@@ -936,7 +985,7 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
- return;
- }
-
-- meson_vclk_set(priv, params[freq].pll_base_freq,
-+ meson_vclk_set(priv, params[freq].pll_freq,
- params[freq].pll_od1, params[freq].pll_od2,
- params[freq].pll_od3, params[freq].vid_pll_div,
- params[freq].vclk_div, hdmi_tx_div, venc_div,
-diff --git a/drivers/gpu/drm/meson/meson_vclk.h b/drivers/gpu/drm/meson/meson_vclk.h
-index 4bd8752..c4d19dd 100644
---- a/drivers/gpu/drm/meson/meson_vclk.h
-+++ b/drivers/gpu/drm/meson/meson_vclk.h
-@@ -33,10 +33,11 @@ enum {
- enum drm_mode_status
- meson_vclk_dmt_supported_freq(struct meson_drm *priv, unsigned int freq);
- enum drm_mode_status
--meson_vclk_vic_supported_freq(unsigned int freq);
-+meson_vclk_vic_supported_freq(unsigned int phy_freq, unsigned int vclk_freq);
-
- void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
-- unsigned int vclk_freq, unsigned int venc_freq,
-- unsigned int dac_freq, bool hdmi_use_enci);
-+ unsigned int phy_freq, unsigned int vclk_freq,
-+ unsigned int venc_freq, unsigned int dac_freq,
-+ bool hdmi_use_enci);
-
- #endif /* __MESON_VCLK_H */
-diff --git a/drivers/gpu/drm/meson/meson_venc.c b/drivers/gpu/drm/meson/meson_venc.c
-index 1bcd642..ab72ddd 100644
---- a/drivers/gpu/drm/meson/meson_venc.c
-+++ b/drivers/gpu/drm/meson/meson_venc.c
-@@ -956,6 +956,8 @@ bool meson_venc_hdmi_venc_repeat(int vic)
- EXPORT_SYMBOL_GPL(meson_venc_hdmi_venc_repeat);
-
- void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic,
-+ unsigned int ycrcb_map,
-+ bool yuv420_mode,
- struct drm_display_mode *mode)
- {
- union meson_hdmi_venc_mode *vmode = NULL;
-@@ -1505,8 +1507,8 @@ void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic,
- writel_relaxed((use_enci ? 1 : 2) |
- (mode->flags & DRM_MODE_FLAG_PHSYNC ? 1 << 2 : 0) |
- (mode->flags & DRM_MODE_FLAG_PVSYNC ? 1 << 3 : 0) |
-- 4 << 5 |
-- (venc_repeat ? 1 << 8 : 0) |
-+ (ycrcb_map << 5) |
-+ (venc_repeat || yuv420_mode ? 1 << 8 : 0) |
- (hdmi_repeat ? 1 << 12 : 0),
- priv->io_base + _REG(VPU_HDMI_SETTING));
-
-diff --git a/drivers/gpu/drm/meson/meson_venc.h b/drivers/gpu/drm/meson/meson_venc.h
-index 97eaebb..5580bf3 100644
---- a/drivers/gpu/drm/meson/meson_venc.h
-+++ b/drivers/gpu/drm/meson/meson_venc.h
-@@ -33,6 +33,15 @@ enum {
- MESON_VENC_MODE_HDMI,
- };
-
-+enum {
-+ MESON_VENC_MAP_CR_Y_CB = 0,
-+ MESON_VENC_MAP_Y_CB_CR,
-+ MESON_VENC_MAP_Y_CR_CB,
-+ MESON_VENC_MAP_CB_CR_Y,
-+ MESON_VENC_MAP_CB_Y_CR,
-+ MESON_VENC_MAP_CR_CB_Y,
-+};
-+
- struct meson_cvbs_enci_mode {
- unsigned int mode_tag;
- unsigned int hso_begin; /* HSO begin position */
-@@ -70,6 +79,8 @@ extern struct meson_cvbs_enci_mode meson_cvbs_enci_ntsc;
- void meson_venci_cvbs_mode_set(struct meson_drm *priv,
- struct meson_cvbs_enci_mode *mode);
- void meson_venc_hdmi_mode_set(struct meson_drm *priv, int vic,
-+ unsigned int ycrcb_map,
-+ bool yuv420_mode,
- struct drm_display_mode *mode);
- unsigned int meson_venci_get_field(struct meson_drm *priv);
-
-diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c
-index f7945ba..38a1117 100644
---- a/drivers/gpu/drm/meson/meson_venc_cvbs.c
-+++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c
-@@ -207,7 +207,8 @@ static void meson_venc_cvbs_encoder_mode_set(struct drm_encoder *encoder,
- /* Setup 27MHz vclk2 for ENCI and VDAC */
- meson_vclk_setup(priv, MESON_VCLK_TARGET_CVBS,
- MESON_VCLK_CVBS, MESON_VCLK_CVBS,
-- MESON_VCLK_CVBS, true);
-+ MESON_VCLK_CVBS, MESON_VCLK_CVBS,
-+ true);
- break;
- }
- }
diff --git a/testing/linux-amlogic/0020-drm-meson-Use-optional-canvas-provider.patch b/testing/linux-amlogic/0020-drm-meson-Use-optional-canvas-provider.patch
deleted file mode 100644
index 3988b698554..00000000000
--- a/testing/linux-amlogic/0020-drm-meson-Use-optional-canvas-provider.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From 21a926d5d6a2973c1a1665482accac7548c1a67d Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Mon, 15 Oct 2018 14:37:18 +0200
-Subject: [PATCH] drm/meson: Use optional canvas provider
-
-This is the first step into converting the meson/drm driver to use
-the canvas module.
-
-If a canvas provider node is detected in DT, use it. Otherwise,
-fall back to what is currently being done.
-
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- drivers/gpu/drm/meson/Kconfig | 1 +
- drivers/gpu/drm/meson/meson_crtc.c | 14 +++++++----
- drivers/gpu/drm/meson/meson_drv.c | 46 +++++++++++++++++++++++--------------
- drivers/gpu/drm/meson/meson_drv.h | 4 ++++
- drivers/gpu/drm/meson/meson_plane.c | 8 ++++++-
- 5 files changed, 51 insertions(+), 22 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/Kconfig b/drivers/gpu/drm/meson/Kconfig
-index 02d400b..8929058 100644
---- a/drivers/gpu/drm/meson/Kconfig
-+++ b/drivers/gpu/drm/meson/Kconfig
-@@ -7,6 +7,7 @@ config DRM_MESON
- select DRM_GEM_CMA_HELPER
- select VIDEOMODE_HELPERS
- select REGMAP_MMIO
-+ select MESON_CANVAS
-
- config DRM_MESON_DW_HDMI
- tristate "HDMI Synopsys Controller support for Amlogic Meson Display"
-diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c
-index 7c0bdc8..8744244 100644
---- a/drivers/gpu/drm/meson/meson_crtc.c
-+++ b/drivers/gpu/drm/meson/meson_crtc.c
-@@ -197,10 +197,16 @@ void meson_crtc_irq(struct meson_drm *priv)
- } else
- meson_vpp_disable_interlace_vscaler_osd1(priv);
-
-- meson_canvas_setup(priv, MESON_CANVAS_ID_OSD1,
-- priv->viu.osd1_addr, priv->viu.osd1_stride,
-- priv->viu.osd1_height, MESON_CANVAS_WRAP_NONE,
-- MESON_CANVAS_BLKMODE_LINEAR);
-+ if (priv->canvas)
-+ meson_canvas_config(priv->canvas, priv->canvas_id_osd1,
-+ priv->viu.osd1_addr, priv->viu.osd1_stride,
-+ priv->viu.osd1_height, MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR, 0);
-+ else
-+ meson_canvas_setup(priv, MESON_CANVAS_ID_OSD1,
-+ priv->viu.osd1_addr, priv->viu.osd1_stride,
-+ priv->viu.osd1_height, MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR);
-
- /* Enable OSD1 */
- writel_bits_relaxed(VPP_OSD1_POSTBLEND, VPP_OSD1_POSTBLEND,
-diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
-index d344312..b39c38c 100644
---- a/drivers/gpu/drm/meson/meson_drv.c
-+++ b/drivers/gpu/drm/meson/meson_drv.c
-@@ -216,24 +216,33 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
- goto free_drm;
- }
-
-- res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dmc");
-- if (!res) {
-- ret = -EINVAL;
-- goto free_drm;
-- }
-- /* Simply ioremap since it may be a shared register zone */
-- regs = devm_ioremap(dev, res->start, resource_size(res));
-- if (!regs) {
-- ret = -EADDRNOTAVAIL;
-- goto free_drm;
-- }
-+ priv->canvas = meson_canvas_get(dev);
-+ if (!IS_ERR(priv->canvas)) {
-+ ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_osd1);
-+ if (ret)
-+ goto free_drm;
-+ } else {
-+ priv->canvas = NULL;
-
-- priv->dmc = devm_regmap_init_mmio(dev, regs,
-- &meson_regmap_config);
-- if (IS_ERR(priv->dmc)) {
-- dev_err(&pdev->dev, "Couldn't create the DMC regmap\n");
-- ret = PTR_ERR(priv->dmc);
-- goto free_drm;
-+ res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dmc");
-+ if (!res) {
-+ ret = -EINVAL;
-+ goto free_drm;
-+ }
-+ /* Simply ioremap since it may be a shared register zone */
-+ regs = devm_ioremap(dev, res->start, resource_size(res));
-+ if (!regs) {
-+ ret = -EADDRNOTAVAIL;
-+ goto free_drm;
-+ }
-+
-+ priv->dmc = devm_regmap_init_mmio(dev, regs,
-+ &meson_regmap_config);
-+ if (IS_ERR(priv->dmc)) {
-+ dev_err(&pdev->dev, "Couldn't create the DMC regmap\n");
-+ ret = PTR_ERR(priv->dmc);
-+ goto free_drm;
-+ }
- }
-
- priv->vsync_irq = platform_get_irq(pdev, 0);
-@@ -315,6 +324,9 @@ static void meson_drv_unbind(struct device *dev)
- struct drm_device *drm = dev_get_drvdata(dev);
- struct meson_drm *priv = drm->dev_private;
-
-+ if (priv->canvas)
-+ meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
-+
- drm_dev_unregister(drm);
- drm_kms_helper_poll_fini(drm);
- drm_fbdev_cma_fini(priv->fbdev);
-diff --git a/drivers/gpu/drm/meson/meson_drv.h b/drivers/gpu/drm/meson/meson_drv.h
-index 8450d6ac..728d0ca 100644
---- a/drivers/gpu/drm/meson/meson_drv.h
-+++ b/drivers/gpu/drm/meson/meson_drv.h
-@@ -22,6 +22,7 @@
- #include <linux/platform_device.h>
- #include <linux/regmap.h>
- #include <linux/of.h>
-+#include <linux/soc/amlogic/meson-canvas.h>
- #include <drm/drmP.h>
-
- struct meson_drm {
-@@ -31,6 +32,9 @@ struct meson_drm {
- struct regmap *dmc;
- int vsync_irq;
-
-+ struct meson_canvas *canvas;
-+ u8 canvas_id_osd1;
-+
- struct drm_device *drm;
- struct drm_crtc *crtc;
- struct drm_fbdev_cma *fbdev;
-diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c
-index 12c80df..51bec8e 100644
---- a/drivers/gpu/drm/meson/meson_plane.c
-+++ b/drivers/gpu/drm/meson/meson_plane.c
-@@ -90,6 +90,7 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
- .y2 = state->crtc_y + state->crtc_h,
- };
- unsigned long flags;
-+ u8 canvas_id_osd1;
-
- /*
- * Update Coordinates
-@@ -104,8 +105,13 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
- (0xFF << OSD_GLOBAL_ALPHA_SHIFT) |
- OSD_BLK0_ENABLE;
-
-+ if (priv->canvas)
-+ canvas_id_osd1 = priv->canvas_id_osd1;
-+ else
-+ canvas_id_osd1 = MESON_CANVAS_ID_OSD1;
-+
- /* Set up BLK0 to point to the right canvas */
-- priv->viu.osd1_blk0_cfg[0] = ((MESON_CANVAS_ID_OSD1 << OSD_CANVAS_SEL) |
-+ priv->viu.osd1_blk0_cfg[0] = ((canvas_id_osd1 << OSD_CANVAS_SEL) |
- OSD_ENDIANNESS_LE);
-
- /* On GXBB, Use the old non-HDR RGB2YUV converter */
diff --git a/testing/linux-amlogic/0021-arm64-dts-meson-gx-Add-canvas-provider-node-to-the-v.patch b/testing/linux-amlogic/0021-arm64-dts-meson-gx-Add-canvas-provider-node-to-the-v.patch
deleted file mode 100644
index fa25f46426a..00000000000
--- a/testing/linux-amlogic/0021-arm64-dts-meson-gx-Add-canvas-provider-node-to-the-v.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7d3414ae548dd7d6e7caad845322b0dedcf05cb1 Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Mon, 15 Oct 2018 14:38:24 +0200
-Subject: [PATCH] arm64: dts: meson-gx: Add canvas provider node to the vpu
-
-Allows the vpu driver to optionally use a canvas provider node.
-
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-index fb64354..5012607 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-@@ -540,6 +540,7 @@
- interrupts = <GIC_SPI 3 IRQ_TYPE_EDGE_RISING>;
- #address-cells = <1>;
- #size-cells = <0>;
-+ amlogic,canvas = <&canvas>;
-
- /* CVBS VDAC output port */
- cvbs_vdac_port: port@0 {
diff --git a/testing/linux-amlogic/0021-drm-meson-Output-in-YUV444-if-sink-supports-it.patch b/testing/linux-amlogic/0021-drm-meson-Output-in-YUV444-if-sink-supports-it.patch
deleted file mode 100644
index 50aa112db25..00000000000
--- a/testing/linux-amlogic/0021-drm-meson-Output-in-YUV444-if-sink-supports-it.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From c9cf1e80259276c3da76bc03ab0aaa9dfac481ae Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Sun, 18 Nov 2018 14:06:11 +0100
-Subject: [PATCH] drm/meson: Output in YUV444 if sink supports it
-
-With the YUV420 handling, we can no dynamically setup the HDMI output
-pixel format depending on the mode and connector info.
-So now, we can output in YUV444, which is the native video pipeline
-format, directly the the HDMI Sink it it's supported, without
-involving the HDMI Controller CSC.
-
----
- drivers/gpu/drm/meson/meson_dw_hdmi.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
-index 0b9ecbf..6df124c 100644
---- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
-+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
-@@ -670,7 +670,10 @@ static int meson_venc_hdmi_encoder_atomic_check(struct drm_encoder *encoder,
- dw_hdmi->output_bus_format = MEDIA_BUS_FMT_UYYVYY8_0_5X24;
- } else {
- dw_hdmi->input_bus_format = MEDIA_BUS_FMT_YUV8_1X24;
-- dw_hdmi->output_bus_format = MEDIA_BUS_FMT_RGB888_1X24;
-+ if (info->color_formats & DRM_COLOR_FORMAT_YCRCB444)
-+ dw_hdmi->output_bus_format = MEDIA_BUS_FMT_YUV8_1X24;
-+ else
-+ dw_hdmi->output_bus_format = MEDIA_BUS_FMT_RGB888_1X24;
- }
-
- return 0;
diff --git a/testing/linux-amlogic/0022-drm-meson-Support-Overlay-plane-for-video-rendering.patch b/testing/linux-amlogic/0022-drm-meson-Support-Overlay-plane-for-video-rendering.patch
deleted file mode 100644
index 704b26c8786..00000000000
--- a/testing/linux-amlogic/0022-drm-meson-Support-Overlay-plane-for-video-rendering.patch
+++ /dev/null
@@ -1,1258 +0,0 @@
-From cfcbd82639be569a7ef6f71e991d7506b5e372ab Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Thu, 2 Aug 2018 10:00:01 +0200
-Subject: [PATCH] drm/meson: Support Overlay plane for video rendering
-
-The Amlogic Meson GX SoCs support an Overlay plane behind the primary
-plane for video rendering.
-
-This Overlay plane support various YUV layouts :
-- YUYV
-- NV12 / NV21
-- YUV444 / 422 / 420 / 411 / 410
-
-The scaler supports a wide range of scaling ratios, but for simplicity,
-plane atomic check limits the scaling from x5 to /5 in vertical and
-horizontal scaling.
-
-The z-order is fixed and always behind the primary plane and cannot be changed.
-
-The scaling parameter algorithm was taken from the Amlogic vendor kernel
-code and rewritten to match the atomic universal plane requirements.
-
-The video rendering using this overlay plane support has been tested using
-the new Kodi DRM-KMS Prime rendering path along the in-review V4L2 Mem2Mem
-Hardware Video Decoder up to 3840x2160 NV12 frames on various display modes.
-
----
- drivers/gpu/drm/meson/Makefile | 2 +-
- drivers/gpu/drm/meson/meson_canvas.c | 7 +-
- drivers/gpu/drm/meson/meson_canvas.h | 11 +-
- drivers/gpu/drm/meson/meson_crtc.c | 216 +++++++++++-
- drivers/gpu/drm/meson/meson_drv.c | 29 +-
- drivers/gpu/drm/meson/meson_drv.h | 52 +++
- drivers/gpu/drm/meson/meson_overlay.c | 586 ++++++++++++++++++++++++++++++++
- drivers/gpu/drm/meson/meson_overlay.h | 14 +
- drivers/gpu/drm/meson/meson_registers.h | 3 +
- drivers/gpu/drm/meson/meson_viu.c | 15 +
- drivers/gpu/drm/meson/meson_vpp.c | 44 ++-
- 11 files changed, 971 insertions(+), 8 deletions(-)
- create mode 100644 drivers/gpu/drm/meson/meson_overlay.c
- create mode 100644 drivers/gpu/drm/meson/meson_overlay.h
-
-diff --git a/drivers/gpu/drm/meson/Makefile b/drivers/gpu/drm/meson/Makefile
-index c5c4cc3..7709f2f 100644
---- a/drivers/gpu/drm/meson/Makefile
-+++ b/drivers/gpu/drm/meson/Makefile
-@@ -1,5 +1,5 @@
- meson-drm-y := meson_drv.o meson_plane.o meson_crtc.o meson_venc_cvbs.o
--meson-drm-y += meson_viu.o meson_vpp.o meson_venc.o meson_vclk.o meson_canvas.o
-+meson-drm-y += meson_viu.o meson_vpp.o meson_venc.o meson_vclk.o meson_canvas.o meson_overlay.o
-
- obj-$(CONFIG_DRM_MESON) += meson-drm.o
- obj-$(CONFIG_DRM_MESON_DW_HDMI) += meson_dw_hdmi.o
-diff --git a/drivers/gpu/drm/meson/meson_canvas.c b/drivers/gpu/drm/meson/meson_canvas.c
-index 08f6073..5de11aa 100644
---- a/drivers/gpu/drm/meson/meson_canvas.c
-+++ b/drivers/gpu/drm/meson/meson_canvas.c
-@@ -39,6 +39,7 @@
- #define CANVAS_WIDTH_HBIT 0
- #define CANVAS_HEIGHT_BIT 9
- #define CANVAS_BLKMODE_BIT 24
-+#define CANVAS_ENDIAN_BIT 26
- #define DMC_CAV_LUT_ADDR 0x50 /* 0x14 offset in data sheet */
- #define CANVAS_LUT_WR_EN (0x2 << 8)
- #define CANVAS_LUT_RD_EN (0x1 << 8)
-@@ -47,7 +48,8 @@ void meson_canvas_setup(struct meson_drm *priv,
- uint32_t canvas_index, uint32_t addr,
- uint32_t stride, uint32_t height,
- unsigned int wrap,
-- unsigned int blkmode)
-+ unsigned int blkmode,
-+ unsigned int endian)
- {
- unsigned int val;
-
-@@ -60,7 +62,8 @@ void meson_canvas_setup(struct meson_drm *priv,
- CANVAS_WIDTH_HBIT) |
- (height << CANVAS_HEIGHT_BIT) |
- (wrap << 22) |
-- (blkmode << CANVAS_BLKMODE_BIT));
-+ (blkmode << CANVAS_BLKMODE_BIT) |
-+ (endian << CANVAS_ENDIAN_BIT));
-
- regmap_write(priv->dmc, DMC_CAV_LUT_ADDR,
- CANVAS_LUT_WR_EN | canvas_index);
-diff --git a/drivers/gpu/drm/meson/meson_canvas.h b/drivers/gpu/drm/meson/meson_canvas.h
-index af1759d..85dbf26 100644
---- a/drivers/gpu/drm/meson/meson_canvas.h
-+++ b/drivers/gpu/drm/meson/meson_canvas.h
-@@ -23,6 +23,9 @@
- #define __MESON_CANVAS_H
-
- #define MESON_CANVAS_ID_OSD1 0x4e
-+#define MESON_CANVAS_ID_VD1_0 0x60
-+#define MESON_CANVAS_ID_VD1_1 0x61
-+#define MESON_CANVAS_ID_VD1_2 0x62
-
- /* Canvas configuration. */
- #define MESON_CANVAS_WRAP_NONE 0x00
-@@ -33,10 +36,16 @@
- #define MESON_CANVAS_BLKMODE_32x32 0x01
- #define MESON_CANVAS_BLKMODE_64x64 0x02
-
-+#define MESON_CANVAS_ENDIAN_SWAP16 0x1
-+#define MESON_CANVAS_ENDIAN_SWAP32 0x3
-+#define MESON_CANVAS_ENDIAN_SWAP64 0x7
-+#define MESON_CANVAS_ENDIAN_SWAP128 0xf
-+
- void meson_canvas_setup(struct meson_drm *priv,
- uint32_t canvas_index, uint32_t addr,
- uint32_t stride, uint32_t height,
- unsigned int wrap,
-- unsigned int blkmode);
-+ unsigned int blkmode,
-+ unsigned int endian);
-
- #endif /* __MESON_CANVAS_H */
-diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c
-index 8744244..1d9d22c 100644
---- a/drivers/gpu/drm/meson/meson_crtc.c
-+++ b/drivers/gpu/drm/meson/meson_crtc.c
-@@ -25,6 +25,7 @@
- #include <linux/module.h>
- #include <linux/mutex.h>
- #include <linux/platform_device.h>
-+#include <linux/bitfield.h>
- #include <drm/drmP.h>
- #include <drm/drm_atomic.h>
- #include <drm/drm_atomic_helper.h>
-@@ -98,6 +99,10 @@ static void meson_crtc_atomic_enable(struct drm_crtc *crtc,
- writel(crtc_state->mode.hdisplay,
- priv->io_base + _REG(VPP_POSTBLEND_H_SIZE));
-
-+ /* VD1 Preblend vertical start/end */
-+ writel(FIELD_PREP(GENMASK(11, 0), 2303),
-+ priv->io_base + _REG(VPP_PREBLEND_VD1_V_START_END));
-+
- writel_bits_relaxed(VPP_POSTBLEND_ENABLE, VPP_POSTBLEND_ENABLE,
- priv->io_base + _REG(VPP_MISC));
-
-@@ -114,11 +119,17 @@ static void meson_crtc_atomic_disable(struct drm_crtc *crtc,
-
- drm_crtc_vblank_off(crtc);
-
-+ DRM_DEBUG_DRIVER("\n");
-+
- priv->viu.osd1_enabled = false;
- priv->viu.osd1_commit = false;
-
-+ priv->viu.vd1_enabled = false;
-+ priv->viu.vd1_commit = false;
-+
- /* Disable VPP Postblend */
-- writel_bits_relaxed(VPP_POSTBLEND_ENABLE, 0,
-+ writel_bits_relaxed(VPP_OSD1_POSTBLEND | VPP_VD1_POSTBLEND |
-+ VPP_VD1_PREBLEND | VPP_POSTBLEND_ENABLE, 0,
- priv->io_base + _REG(VPP_MISC));
-
- if (crtc->state->event && !crtc->state->active) {
-@@ -153,6 +164,7 @@ static void meson_crtc_atomic_flush(struct drm_crtc *crtc,
- struct meson_drm *priv = meson_crtc->priv;
-
- priv->viu.osd1_commit = true;
-+ priv->viu.vd1_commit = true;
- }
-
- static const struct drm_crtc_helper_funcs meson_crtc_helper_funcs = {
-@@ -206,7 +218,7 @@ void meson_crtc_irq(struct meson_drm *priv)
- meson_canvas_setup(priv, MESON_CANVAS_ID_OSD1,
- priv->viu.osd1_addr, priv->viu.osd1_stride,
- priv->viu.osd1_height, MESON_CANVAS_WRAP_NONE,
-- MESON_CANVAS_BLKMODE_LINEAR);
-+ MESON_CANVAS_BLKMODE_LINEAR, 0);
-
- /* Enable OSD1 */
- writel_bits_relaxed(VPP_OSD1_POSTBLEND, VPP_OSD1_POSTBLEND,
-@@ -215,6 +227,206 @@ void meson_crtc_irq(struct meson_drm *priv)
- priv->viu.osd1_commit = false;
- }
-
-+ /* Update the VD1 registers */
-+ if (priv->viu.vd1_enabled && priv->viu.vd1_commit) {
-+
-+ switch (priv->viu.vd1_planes) {
-+ case 3:
-+ if (priv->canvas)
-+ meson_canvas_config(priv->canvas,
-+ priv->canvas_id_vd1_2,
-+ priv->viu.vd1_addr2,
-+ priv->viu.vd1_stride2,
-+ priv->viu.vd1_height2,
-+ MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+ else
-+ meson_canvas_setup(priv, MESON_CANVAS_ID_VD1_2,
-+ priv->viu.vd1_addr2,
-+ priv->viu.vd1_stride2,
-+ priv->viu.vd1_height2,
-+ MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+ /* fallthrough */
-+ case 2:
-+ if (priv->canvas)
-+ meson_canvas_config(priv->canvas,
-+ priv->canvas_id_vd1_1,
-+ priv->viu.vd1_addr1,
-+ priv->viu.vd1_stride1,
-+ priv->viu.vd1_height1,
-+ MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+ else
-+ meson_canvas_setup(priv, MESON_CANVAS_ID_VD1_1,
-+ priv->viu.vd1_addr2,
-+ priv->viu.vd1_stride2,
-+ priv->viu.vd1_height2,
-+ MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+ /* fallthrough */
-+ case 1:
-+ if (priv->canvas)
-+ meson_canvas_config(priv->canvas,
-+ priv->canvas_id_vd1_0,
-+ priv->viu.vd1_addr0,
-+ priv->viu.vd1_stride0,
-+ priv->viu.vd1_height0,
-+ MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+ else
-+ meson_canvas_setup(priv, MESON_CANVAS_ID_VD1_0,
-+ priv->viu.vd1_addr2,
-+ priv->viu.vd1_stride2,
-+ priv->viu.vd1_height2,
-+ MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+ };
-+
-+ writel_relaxed(priv->viu.vd1_if0_gen_reg,
-+ priv->io_base + _REG(VD1_IF0_GEN_REG));
-+ writel_relaxed(priv->viu.vd1_if0_gen_reg,
-+ priv->io_base + _REG(VD2_IF0_GEN_REG));
-+ writel_relaxed(priv->viu.vd1_if0_gen_reg2,
-+ priv->io_base + _REG(VD1_IF0_GEN_REG2));
-+ writel_relaxed(priv->viu.viu_vd1_fmt_ctrl,
-+ priv->io_base + _REG(VIU_VD1_FMT_CTRL));
-+ writel_relaxed(priv->viu.viu_vd1_fmt_ctrl,
-+ priv->io_base + _REG(VIU_VD2_FMT_CTRL));
-+ writel_relaxed(priv->viu.viu_vd1_fmt_w,
-+ priv->io_base + _REG(VIU_VD1_FMT_W));
-+ writel_relaxed(priv->viu.viu_vd1_fmt_w,
-+ priv->io_base + _REG(VIU_VD2_FMT_W));
-+ writel_relaxed(priv->viu.vd1_if0_canvas0,
-+ priv->io_base + _REG(VD1_IF0_CANVAS0));
-+ writel_relaxed(priv->viu.vd1_if0_canvas0,
-+ priv->io_base + _REG(VD1_IF0_CANVAS1));
-+ writel_relaxed(priv->viu.vd1_if0_canvas0,
-+ priv->io_base + _REG(VD2_IF0_CANVAS0));
-+ writel_relaxed(priv->viu.vd1_if0_canvas0,
-+ priv->io_base + _REG(VD2_IF0_CANVAS1));
-+ writel_relaxed(priv->viu.vd1_if0_luma_x0,
-+ priv->io_base + _REG(VD1_IF0_LUMA_X0));
-+ writel_relaxed(priv->viu.vd1_if0_luma_x0,
-+ priv->io_base + _REG(VD1_IF0_LUMA_X1));
-+ writel_relaxed(priv->viu.vd1_if0_luma_x0,
-+ priv->io_base + _REG(VD2_IF0_LUMA_X0));
-+ writel_relaxed(priv->viu.vd1_if0_luma_x0,
-+ priv->io_base + _REG(VD2_IF0_LUMA_X1));
-+ writel_relaxed(priv->viu.vd1_if0_luma_y0,
-+ priv->io_base + _REG(VD1_IF0_LUMA_Y0));
-+ writel_relaxed(priv->viu.vd1_if0_luma_y0,
-+ priv->io_base + _REG(VD1_IF0_LUMA_Y1));
-+ writel_relaxed(priv->viu.vd1_if0_luma_y0,
-+ priv->io_base + _REG(VD2_IF0_LUMA_Y0));
-+ writel_relaxed(priv->viu.vd1_if0_luma_y0,
-+ priv->io_base + _REG(VD2_IF0_LUMA_Y1));
-+ writel_relaxed(priv->viu.vd1_if0_chroma_x0,
-+ priv->io_base + _REG(VD1_IF0_CHROMA_X0));
-+ writel_relaxed(priv->viu.vd1_if0_chroma_x0,
-+ priv->io_base + _REG(VD1_IF0_CHROMA_X1));
-+ writel_relaxed(priv->viu.vd1_if0_chroma_x0,
-+ priv->io_base + _REG(VD2_IF0_CHROMA_X0));
-+ writel_relaxed(priv->viu.vd1_if0_chroma_x0,
-+ priv->io_base + _REG(VD2_IF0_CHROMA_X1));
-+ writel_relaxed(priv->viu.vd1_if0_chroma_y0,
-+ priv->io_base + _REG(VD1_IF0_CHROMA_Y0));
-+ writel_relaxed(priv->viu.vd1_if0_chroma_y0,
-+ priv->io_base + _REG(VD1_IF0_CHROMA_Y1));
-+ writel_relaxed(priv->viu.vd1_if0_chroma_y0,
-+ priv->io_base + _REG(VD2_IF0_CHROMA_Y0));
-+ writel_relaxed(priv->viu.vd1_if0_chroma_y0,
-+ priv->io_base + _REG(VD2_IF0_CHROMA_Y1));
-+ writel_relaxed(priv->viu.vd1_if0_repeat_loop,
-+ priv->io_base + _REG(VD1_IF0_RPT_LOOP));
-+ writel_relaxed(priv->viu.vd1_if0_repeat_loop,
-+ priv->io_base + _REG(VD2_IF0_RPT_LOOP));
-+ writel_relaxed(priv->viu.vd1_if0_luma0_rpt_pat,
-+ priv->io_base + _REG(VD1_IF0_LUMA0_RPT_PAT));
-+ writel_relaxed(priv->viu.vd1_if0_luma0_rpt_pat,
-+ priv->io_base + _REG(VD2_IF0_LUMA0_RPT_PAT));
-+ writel_relaxed(priv->viu.vd1_if0_luma0_rpt_pat,
-+ priv->io_base + _REG(VD1_IF0_LUMA1_RPT_PAT));
-+ writel_relaxed(priv->viu.vd1_if0_luma0_rpt_pat,
-+ priv->io_base + _REG(VD2_IF0_LUMA1_RPT_PAT));
-+ writel_relaxed(priv->viu.vd1_if0_chroma0_rpt_pat,
-+ priv->io_base + _REG(VD1_IF0_CHROMA0_RPT_PAT));
-+ writel_relaxed(priv->viu.vd1_if0_chroma0_rpt_pat,
-+ priv->io_base + _REG(VD2_IF0_CHROMA0_RPT_PAT));
-+ writel_relaxed(priv->viu.vd1_if0_chroma0_rpt_pat,
-+ priv->io_base + _REG(VD1_IF0_CHROMA1_RPT_PAT));
-+ writel_relaxed(priv->viu.vd1_if0_chroma0_rpt_pat,
-+ priv->io_base + _REG(VD2_IF0_CHROMA1_RPT_PAT));
-+ writel_relaxed(0, priv->io_base + _REG(VD1_IF0_LUMA_PSEL));
-+ writel_relaxed(0, priv->io_base + _REG(VD1_IF0_CHROMA_PSEL));
-+ writel_relaxed(0, priv->io_base + _REG(VD2_IF0_LUMA_PSEL));
-+ writel_relaxed(0, priv->io_base + _REG(VD2_IF0_CHROMA_PSEL));
-+ writel_relaxed(priv->viu.vd1_range_map_y,
-+ priv->io_base + _REG(VD1_IF0_RANGE_MAP_Y));
-+ writel_relaxed(priv->viu.vd1_range_map_cb,
-+ priv->io_base + _REG(VD1_IF0_RANGE_MAP_CB));
-+ writel_relaxed(priv->viu.vd1_range_map_cr,
-+ priv->io_base + _REG(VD1_IF0_RANGE_MAP_CR));
-+ writel_relaxed(0x78404,
-+ priv->io_base + _REG(VPP_SC_MISC));
-+ writel_relaxed(priv->viu.vpp_pic_in_height,
-+ priv->io_base + _REG(VPP_PIC_IN_HEIGHT));
-+ writel_relaxed(priv->viu.vpp_postblend_vd1_h_start_end,
-+ priv->io_base + _REG(VPP_POSTBLEND_VD1_H_START_END));
-+ writel_relaxed(priv->viu.vpp_blend_vd2_h_start_end,
-+ priv->io_base + _REG(VPP_BLEND_VD2_H_START_END));
-+ writel_relaxed(priv->viu.vpp_postblend_vd1_v_start_end,
-+ priv->io_base + _REG(VPP_POSTBLEND_VD1_V_START_END));
-+ writel_relaxed(priv->viu.vpp_blend_vd2_v_start_end,
-+ priv->io_base + _REG(VPP_BLEND_VD2_V_START_END));
-+ writel_relaxed(priv->viu.vpp_hsc_region12_startp,
-+ priv->io_base + _REG(VPP_HSC_REGION12_STARTP));
-+ writel_relaxed(priv->viu.vpp_hsc_region34_startp,
-+ priv->io_base + _REG(VPP_HSC_REGION34_STARTP));
-+ writel_relaxed(priv->viu.vpp_hsc_region4_endp,
-+ priv->io_base + _REG(VPP_HSC_REGION4_ENDP));
-+ writel_relaxed(priv->viu.vpp_hsc_start_phase_step,
-+ priv->io_base + _REG(VPP_HSC_START_PHASE_STEP));
-+ writel_relaxed(priv->viu.vpp_hsc_region1_phase_slope,
-+ priv->io_base + _REG(VPP_HSC_REGION1_PHASE_SLOPE));
-+ writel_relaxed(priv->viu.vpp_hsc_region3_phase_slope,
-+ priv->io_base + _REG(VPP_HSC_REGION3_PHASE_SLOPE));
-+ writel_relaxed(priv->viu.vpp_line_in_length,
-+ priv->io_base + _REG(VPP_LINE_IN_LENGTH));
-+ writel_relaxed(priv->viu.vpp_preblend_h_size,
-+ priv->io_base + _REG(VPP_PREBLEND_H_SIZE));
-+ writel_relaxed(priv->viu.vpp_vsc_region12_startp,
-+ priv->io_base + _REG(VPP_VSC_REGION12_STARTP));
-+ writel_relaxed(priv->viu.vpp_vsc_region34_startp,
-+ priv->io_base + _REG(VPP_VSC_REGION34_STARTP));
-+ writel_relaxed(priv->viu.vpp_vsc_region4_endp,
-+ priv->io_base + _REG(VPP_VSC_REGION4_ENDP));
-+ writel_relaxed(priv->viu.vpp_vsc_start_phase_step,
-+ priv->io_base + _REG(VPP_VSC_START_PHASE_STEP));
-+ writel_relaxed(priv->viu.vpp_vsc_ini_phase,
-+ priv->io_base + _REG(VPP_VSC_INI_PHASE));
-+ writel_relaxed(priv->viu.vpp_vsc_phase_ctrl,
-+ priv->io_base + _REG(VPP_VSC_PHASE_CTRL));
-+ writel_relaxed(priv->viu.vpp_hsc_phase_ctrl,
-+ priv->io_base + _REG(VPP_HSC_PHASE_CTRL));
-+ writel_relaxed(0x42, priv->io_base + _REG(VPP_SCALE_COEF_IDX));
-+
-+ /* Enable VD1 */
-+ writel_bits_relaxed(VPP_VD1_PREBLEND | VPP_VD1_POSTBLEND |
-+ VPP_COLOR_MNG_ENABLE,
-+ VPP_VD1_PREBLEND | VPP_VD1_POSTBLEND |
-+ VPP_COLOR_MNG_ENABLE,
-+ priv->io_base + _REG(VPP_MISC));
-+
-+ priv->viu.vd1_commit = false;
-+ }
-+
- drm_crtc_handle_vblank(priv->crtc);
-
- spin_lock_irqsave(&priv->drm->event_lock, flags);
-diff --git a/drivers/gpu/drm/meson/meson_drv.c b/drivers/gpu/drm/meson/meson_drv.c
-index b39c38c..b55e03d 100644
---- a/drivers/gpu/drm/meson/meson_drv.c
-+++ b/drivers/gpu/drm/meson/meson_drv.c
-@@ -41,6 +41,7 @@
-
- #include "meson_drv.h"
- #include "meson_plane.h"
-+#include "meson_overlay.h"
- #include "meson_crtc.h"
- #include "meson_venc_cvbs.h"
-
-@@ -221,6 +222,24 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
- ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_osd1);
- if (ret)
- goto free_drm;
-+ ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_0);
-+ if (ret) {
-+ meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
-+ goto free_drm;
-+ }
-+ ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_1);
-+ if (ret) {
-+ meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
-+ meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0);
-+ goto free_drm;
-+ }
-+ ret = meson_canvas_alloc(priv->canvas, &priv->canvas_id_vd1_2);
-+ if (ret) {
-+ meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
-+ meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0);
-+ meson_canvas_free(priv->canvas, priv->canvas_id_vd1_1);
-+ goto free_drm;
-+ }
- } else {
- priv->canvas = NULL;
-
-@@ -281,6 +300,10 @@ static int meson_drv_bind_master(struct device *dev, bool has_components)
- if (ret)
- goto free_drm;
-
-+ ret = meson_overlay_create(priv);
-+ if (ret)
-+ goto free_drm;
-+
- ret = meson_crtc_create(priv);
- if (ret)
- goto free_drm;
-@@ -324,8 +347,12 @@ static void meson_drv_unbind(struct device *dev)
- struct drm_device *drm = dev_get_drvdata(dev);
- struct meson_drm *priv = drm->dev_private;
-
-- if (priv->canvas)
-+ if (priv->canvas) {
- meson_canvas_free(priv->canvas, priv->canvas_id_osd1);
-+ meson_canvas_free(priv->canvas, priv->canvas_id_vd1_0);
-+ meson_canvas_free(priv->canvas, priv->canvas_id_vd1_1);
-+ meson_canvas_free(priv->canvas, priv->canvas_id_vd1_2);
-+ }
-
- drm_dev_unregister(drm);
- drm_kms_helper_poll_fini(drm);
-diff --git a/drivers/gpu/drm/meson/meson_drv.h b/drivers/gpu/drm/meson/meson_drv.h
-index 728d0ca..c971557 100644
---- a/drivers/gpu/drm/meson/meson_drv.h
-+++ b/drivers/gpu/drm/meson/meson_drv.h
-@@ -34,11 +34,15 @@ struct meson_drm {
-
- struct meson_canvas *canvas;
- u8 canvas_id_osd1;
-+ u8 canvas_id_vd1_0;
-+ u8 canvas_id_vd1_1;
-+ u8 canvas_id_vd1_2;
-
- struct drm_device *drm;
- struct drm_crtc *crtc;
- struct drm_fbdev_cma *fbdev;
- struct drm_plane *primary_plane;
-+ struct drm_plane *overlay_plane;
-
- /* Components Data */
- struct {
-@@ -50,6 +54,54 @@ struct meson_drm {
- uint32_t osd1_addr;
- uint32_t osd1_stride;
- uint32_t osd1_height;
-+
-+ bool vd1_enabled;
-+ bool vd1_commit;
-+ unsigned int vd1_planes;
-+ uint32_t vd1_if0_gen_reg;
-+ uint32_t vd1_if0_luma_x0;
-+ uint32_t vd1_if0_luma_y0;
-+ uint32_t vd1_if0_chroma_x0;
-+ uint32_t vd1_if0_chroma_y0;
-+ uint32_t vd1_if0_repeat_loop;
-+ uint32_t vd1_if0_luma0_rpt_pat;
-+ uint32_t vd1_if0_chroma0_rpt_pat;
-+ uint32_t vd1_range_map_y;
-+ uint32_t vd1_range_map_cb;
-+ uint32_t vd1_range_map_cr;
-+ uint32_t viu_vd1_fmt_w;
-+ uint32_t vd1_if0_canvas0;
-+ uint32_t vd1_if0_gen_reg2;
-+ uint32_t viu_vd1_fmt_ctrl;
-+ uint32_t vd1_addr0;
-+ uint32_t vd1_addr1;
-+ uint32_t vd1_addr2;
-+ uint32_t vd1_stride0;
-+ uint32_t vd1_stride1;
-+ uint32_t vd1_stride2;
-+ uint32_t vd1_height0;
-+ uint32_t vd1_height1;
-+ uint32_t vd1_height2;
-+ uint32_t vpp_pic_in_height;
-+ uint32_t vpp_postblend_vd1_h_start_end;
-+ uint32_t vpp_postblend_vd1_v_start_end;
-+ uint32_t vpp_hsc_region12_startp;
-+ uint32_t vpp_hsc_region34_startp;
-+ uint32_t vpp_hsc_region4_endp;
-+ uint32_t vpp_hsc_start_phase_step;
-+ uint32_t vpp_hsc_region1_phase_slope;
-+ uint32_t vpp_hsc_region3_phase_slope;
-+ uint32_t vpp_line_in_length;
-+ uint32_t vpp_preblend_h_size;
-+ uint32_t vpp_vsc_region12_startp;
-+ uint32_t vpp_vsc_region34_startp;
-+ uint32_t vpp_vsc_region4_endp;
-+ uint32_t vpp_vsc_start_phase_step;
-+ uint32_t vpp_vsc_ini_phase;
-+ uint32_t vpp_vsc_phase_ctrl;
-+ uint32_t vpp_hsc_phase_ctrl;
-+ uint32_t vpp_blend_vd2_h_start_end;
-+ uint32_t vpp_blend_vd2_v_start_end;
- } viu;
-
- struct {
-diff --git a/drivers/gpu/drm/meson/meson_overlay.c b/drivers/gpu/drm/meson/meson_overlay.c
-new file mode 100644
-index 0000000..9aebc5e
---- /dev/null
-+++ b/drivers/gpu/drm/meson/meson_overlay.c
-@@ -0,0 +1,586 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Neil Armstrong <narmstrong@baylibre.com>
-+ * Copyright (C) 2015 Amlogic, Inc. All rights reserved.
-+ */
-+
-+#include <linux/kernel.h>
-+#include <linux/module.h>
-+#include <linux/mutex.h>
-+#include <linux/bitfield.h>
-+#include <linux/platform_device.h>
-+#include <drm/drmP.h>
-+#include <drm/drm_atomic.h>
-+#include <drm/drm_atomic_helper.h>
-+#include <drm/drm_plane_helper.h>
-+#include <drm/drm_gem_cma_helper.h>
-+#include <drm/drm_fb_cma_helper.h>
-+#include <drm/drm_rect.h>
-+
-+#include "meson_overlay.h"
-+#include "meson_vpp.h"
-+#include "meson_viu.h"
-+#include "meson_canvas.h"
-+#include "meson_registers.h"
-+
-+/* VD1_IF0_GEN_REG */
-+#define VD_URGENT_CHROMA BIT(28)
-+#define VD_URGENT_LUMA BIT(27)
-+#define VD_HOLD_LINES(lines) FIELD_PREP(GENMASK(24, 19), lines)
-+#define VD_DEMUX_MODE_RGB BIT(16)
-+#define VD_BYTES_PER_PIXEL(val) FIELD_PREP(GENMASK(15, 14), val)
-+#define VD_CHRO_RPT_LASTL_CTRL BIT(6)
-+#define VD_LITTLE_ENDIAN BIT(4)
-+#define VD_SEPARATE_EN BIT(1)
-+#define VD_ENABLE BIT(0)
-+
-+/* VD1_IF0_CANVAS0 */
-+#define CANVAS_ADDR2(addr) FIELD_PREP(GENMASK(23, 16), addr)
-+#define CANVAS_ADDR1(addr) FIELD_PREP(GENMASK(15, 8), addr)
-+#define CANVAS_ADDR0(addr) FIELD_PREP(GENMASK(7, 0), addr)
-+
-+/* VD1_IF0_LUMA_X0 VD1_IF0_CHROMA_X0 */
-+#define VD_X_START(value) FIELD_PREP(GENMASK(14, 0), value)
-+#define VD_X_END(value) FIELD_PREP(GENMASK(30, 16), value)
-+
-+/* VD1_IF0_LUMA_Y0 VD1_IF0_CHROMA_Y0 */
-+#define VD_Y_START(value) FIELD_PREP(GENMASK(12, 0), value)
-+#define VD_Y_END(value) FIELD_PREP(GENMASK(28, 16), value)
-+
-+/* VD1_IF0_GEN_REG2 */
-+#define VD_COLOR_MAP(value) FIELD_PREP(GENMASK(1, 0), value)
-+
-+/* VIU_VD1_FMT_CTRL */
-+#define VD_HORZ_Y_C_RATIO(value) FIELD_PREP(GENMASK(22, 21), value)
-+#define VD_HORZ_FMT_EN BIT(20)
-+#define VD_VERT_RPT_LINE0 BIT(16)
-+#define VD_VERT_INITIAL_PHASE(value) FIELD_PREP(GENMASK(11, 8), value)
-+#define VD_VERT_PHASE_STEP(value) FIELD_PREP(GENMASK(7, 1), value)
-+#define VD_VERT_FMT_EN BIT(0)
-+
-+/* VPP_POSTBLEND_VD1_H_START_END */
-+#define VD_H_END(value) FIELD_PREP(GENMASK(11, 0), value)
-+#define VD_H_START(value) FIELD_PREP(GENMASK(27, 16), value)
-+
-+/* VPP_POSTBLEND_VD1_V_START_END */
-+#define VD_V_END(value) FIELD_PREP(GENMASK(11, 0), value)
-+#define VD_V_START(value) FIELD_PREP(GENMASK(27, 16), value)
-+
-+/* VPP_BLEND_VD2_V_START_END */
-+#define VD2_V_END(value) FIELD_PREP(GENMASK(11, 0), value)
-+#define VD2_V_START(value) FIELD_PREP(GENMASK(27, 16), value)
-+
-+/* VIU_VD1_FMT_W */
-+#define VD_V_WIDTH(value) FIELD_PREP(GENMASK(11, 0), value)
-+#define VD_H_WIDTH(value) FIELD_PREP(GENMASK(27, 16), value)
-+
-+/* VPP_HSC_REGION12_STARTP VPP_HSC_REGION34_STARTP */
-+#define VD_REGION24_START(value) FIELD_PREP(GENMASK(11, 0), value)
-+#define VD_REGION13_END(value) FIELD_PREP(GENMASK(27, 16), value)
-+
-+struct meson_overlay {
-+ struct drm_plane base;
-+ struct meson_drm *priv;
-+};
-+#define to_meson_overlay(x) container_of(x, struct meson_overlay, base)
-+
-+#define FRAC_16_16(mult, div) (((mult) << 16) / (div))
-+
-+static int meson_overlay_atomic_check(struct drm_plane *plane,
-+ struct drm_plane_state *state)
-+{
-+ struct drm_crtc_state *crtc_state;
-+
-+ if (!state->crtc)
-+ return 0;
-+
-+ crtc_state = drm_atomic_get_crtc_state(state->state, state->crtc);
-+ if (IS_ERR(crtc_state))
-+ return PTR_ERR(crtc_state);
-+
-+ return drm_atomic_helper_check_plane_state(state, crtc_state,
-+ FRAC_16_16(1, 5),
-+ FRAC_16_16(5, 1),
-+ true, true);
-+}
-+
-+/* Takes a fixed 16.16 number and converts it to integer. */
-+static inline int64_t fixed16_to_int(int64_t value)
-+{
-+ return value >> 16;
-+}
-+
-+static const uint8_t skip_tab[6] = {
-+ 0x24, 0x04, 0x68, 0x48, 0x28, 0x08,
-+};
-+
-+static void meson_overlay_get_vertical_phase(unsigned int ratio_y, int *phase,
-+ int *repeat, bool interlace)
-+{
-+ int offset_in = 0;
-+ int offset_out = 0;
-+ int repeat_skip = 0;
-+
-+ if (!interlace && ratio_y > (1 << 18))
-+ offset_out = (1 * ratio_y) >> 10;
-+
-+ while ((offset_in + (4 << 8)) <= offset_out) {
-+ repeat_skip++;
-+ offset_in += 4 << 8;
-+ }
-+
-+ *phase = (offset_out - offset_in) >> 2;
-+
-+ if (*phase > 0x100)
-+ repeat_skip++;
-+
-+ *phase = *phase & 0xff;
-+
-+ if (repeat_skip > 5)
-+ repeat_skip = 5;
-+
-+ *repeat = skip_tab[repeat_skip];
-+}
-+
-+static void meson_overlay_setup_scaler_params(struct meson_drm *priv,
-+ struct drm_plane *plane,
-+ bool interlace_mode)
-+{
-+ struct drm_crtc_state *crtc_state = priv->crtc->state;
-+ int video_top, video_left, video_width, video_height;
-+ struct drm_plane_state *state = plane->state;
-+ unsigned int vd_start_lines, vd_end_lines;
-+ unsigned int hd_start_lines, hd_end_lines;
-+ unsigned int crtc_height, crtc_width;
-+ unsigned int vsc_startp, vsc_endp;
-+ unsigned int hsc_startp, hsc_endp;
-+ unsigned int crop_top, crop_left;
-+ int vphase, vphase_repeat_skip;
-+ unsigned int ratio_x, ratio_y;
-+ int temp_height, temp_width;
-+ unsigned int w_in, h_in;
-+ int temp, start, end;
-+
-+ if (!crtc_state) {
-+ DRM_ERROR("Invalid crtc_state\n");
-+ return;
-+ }
-+
-+ crtc_height = crtc_state->mode.vdisplay;
-+ crtc_width = crtc_state->mode.hdisplay;
-+
-+ w_in = fixed16_to_int(state->src_w);
-+ h_in = fixed16_to_int(state->src_h);
-+ crop_top = fixed16_to_int(state->src_x);
-+ crop_left = fixed16_to_int(state->src_x);
-+
-+ video_top = state->crtc_y;
-+ video_left = state->crtc_x;
-+ video_width = state->crtc_w;
-+ video_height = state->crtc_h;
-+
-+ DRM_DEBUG("crtc_width %d crtc_height %d interlace %d\n",
-+ crtc_width, crtc_height, interlace_mode);
-+ DRM_DEBUG("w_in %d h_in %d crop_top %d crop_left %d\n",
-+ w_in, h_in, crop_top, crop_left);
-+ DRM_DEBUG("video top %d left %d width %d height %d\n",
-+ video_top, video_left, video_width, video_height);
-+
-+ ratio_x = (w_in << 18) / video_width;
-+ ratio_y = (h_in << 18) / video_height;
-+
-+ if (ratio_x * video_width < (w_in << 18))
-+ ratio_x++;
-+
-+ DRM_DEBUG("ratio x 0x%x y 0x%x\n", ratio_x, ratio_y);
-+
-+ meson_overlay_get_vertical_phase(ratio_y, &vphase, &vphase_repeat_skip,
-+ interlace_mode);
-+
-+ DRM_DEBUG("vphase 0x%x skip %d\n", vphase, vphase_repeat_skip);
-+
-+ /* Vertical */
-+
-+ start = video_top + video_height / 2 - ((h_in << 17) / ratio_y);
-+ end = (h_in << 18) / ratio_y + start - 1;
-+
-+ if (video_top < 0 && start < 0)
-+ vd_start_lines = (-(start) * ratio_y) >> 18;
-+ else if (start < video_top)
-+ vd_start_lines = ((video_top - start) * ratio_y) >> 18;
-+ else
-+ vd_start_lines = 0;
-+
-+ if (video_top < 0)
-+ temp_height = min_t(unsigned int,
-+ video_top + video_height - 1,
-+ crtc_height - 1);
-+ else
-+ temp_height = min_t(unsigned int,
-+ video_top + video_height - 1,
-+ crtc_height - 1) - video_top + 1;
-+
-+ temp = vd_start_lines + (temp_height * ratio_y >> 18);
-+ vd_end_lines = (temp <= (h_in - 1)) ? temp : (h_in - 1);
-+
-+ vd_start_lines += crop_left;
-+ vd_end_lines += crop_left;
-+
-+ /*
-+ * TOFIX: Input frames are handled and scaled like progressive frames,
-+ * proper handling of interlaced field input frames need to be figured
-+ * out using the proper framebuffer flags set by userspace.
-+ */
-+ if (interlace_mode) {
-+ start >>= 1;
-+ end >>= 1;
-+ }
-+
-+ vsc_startp = max_t(int, start,
-+ max_t(int, 0, video_top));
-+ vsc_endp = min_t(int, end,
-+ min_t(int, crtc_height - 1,
-+ video_top + video_height - 1));
-+
-+ DRM_DEBUG("vsc startp %d endp %d start_lines %d end_lines %d\n",
-+ vsc_startp, vsc_endp, vd_start_lines, vd_end_lines);
-+
-+ /* Horizontal */
-+
-+ start = video_left + video_width / 2 - ((w_in << 17) / ratio_x);
-+ end = (w_in << 18) / ratio_x + start - 1;
-+
-+ if (video_left < 0 && start < 0)
-+ hd_start_lines = (-(start) * ratio_x) >> 18;
-+ else if (start < video_left)
-+ hd_start_lines = ((video_left - start) * ratio_x) >> 18;
-+ else
-+ hd_start_lines = 0;
-+
-+ if (video_left < 0)
-+ temp_width = min_t(unsigned int,
-+ video_left + video_width - 1,
-+ crtc_width - 1);
-+ else
-+ temp_width = min_t(unsigned int,
-+ video_left + video_width - 1,
-+ crtc_width - 1) - video_left + 1;
-+
-+ temp = hd_start_lines + (temp_width * ratio_x >> 18);
-+ hd_end_lines = (temp <= (w_in - 1)) ? temp : (w_in - 1);
-+
-+ priv->viu.vpp_line_in_length = hd_end_lines - hd_start_lines + 1;
-+ hsc_startp = max_t(int, start, max_t(int, 0, video_left));
-+ hsc_endp = min_t(int, end, min_t(int, crtc_width - 1,
-+ video_left + video_width - 1));
-+
-+ hd_start_lines += crop_top;
-+ hd_end_lines += crop_top;
-+
-+ DRM_DEBUG("hsc startp %d endp %d start_lines %d end_lines %d\n",
-+ hsc_startp, hsc_endp, hd_start_lines, hd_end_lines);
-+
-+ priv->viu.vpp_vsc_start_phase_step = ratio_y << 6;
-+
-+ priv->viu.vpp_vsc_ini_phase = vphase << 8;
-+ priv->viu.vpp_vsc_phase_ctrl = (1 << 13) | (4 << 8) |
-+ vphase_repeat_skip;
-+
-+ priv->viu.vd1_if0_luma_x0 = VD_X_START(hd_start_lines) |
-+ VD_X_END(hd_end_lines);
-+ priv->viu.vd1_if0_chroma_x0 = VD_X_START(hd_start_lines >> 1) |
-+ VD_X_END(hd_end_lines >> 1);
-+
-+ priv->viu.viu_vd1_fmt_w =
-+ VD_H_WIDTH(hd_end_lines - hd_start_lines + 1) |
-+ VD_V_WIDTH(hd_end_lines/2 - hd_start_lines/2 + 1);
-+
-+ priv->viu.vd1_if0_luma_y0 = VD_Y_START(vd_start_lines) |
-+ VD_Y_END(vd_end_lines);
-+
-+ priv->viu.vd1_if0_chroma_y0 = VD_Y_START(vd_start_lines >> 1) |
-+ VD_Y_END(vd_end_lines >> 1);
-+
-+ priv->viu.vpp_pic_in_height = h_in;
-+
-+ priv->viu.vpp_postblend_vd1_h_start_end = VD_H_START(hsc_startp) |
-+ VD_H_END(hsc_endp);
-+ priv->viu.vpp_blend_vd2_h_start_end = VD_H_START(hd_start_lines) |
-+ VD_H_END(hd_end_lines);
-+ priv->viu.vpp_hsc_region12_startp = VD_REGION13_END(0) |
-+ VD_REGION24_START(hsc_startp);
-+ priv->viu.vpp_hsc_region34_startp =
-+ VD_REGION13_END(hsc_startp) |
-+ VD_REGION24_START(hsc_endp - hsc_startp);
-+ priv->viu.vpp_hsc_region4_endp = hsc_endp - hsc_startp;
-+ priv->viu.vpp_hsc_start_phase_step = ratio_x << 6;
-+ priv->viu.vpp_hsc_region1_phase_slope = 0;
-+ priv->viu.vpp_hsc_region3_phase_slope = 0;
-+ priv->viu.vpp_hsc_phase_ctrl = (1 << 21) | (4 << 16);
-+
-+ priv->viu.vpp_line_in_length = hd_end_lines - hd_start_lines + 1;
-+ priv->viu.vpp_preblend_h_size = hd_end_lines - hd_start_lines + 1;
-+
-+ priv->viu.vpp_postblend_vd1_v_start_end = VD_V_START(vsc_startp) |
-+ VD_V_END(vsc_endp);
-+ priv->viu.vpp_blend_vd2_v_start_end =
-+ VD2_V_START((vd_end_lines + 1) >> 1) |
-+ VD2_V_END(vd_end_lines);
-+
-+ priv->viu.vpp_vsc_region12_startp = 0;
-+ priv->viu.vpp_vsc_region34_startp =
-+ VD_REGION13_END(vsc_endp - vsc_startp) |
-+ VD_REGION24_START(vsc_endp - vsc_startp);
-+ priv->viu.vpp_vsc_region4_endp = vsc_endp - vsc_startp;
-+ priv->viu.vpp_vsc_start_phase_step = ratio_y << 6;
-+}
-+
-+static void meson_overlay_atomic_update(struct drm_plane *plane,
-+ struct drm_plane_state *old_state)
-+{
-+ struct meson_overlay *meson_overlay = to_meson_overlay(plane);
-+ struct drm_plane_state *state = plane->state;
-+ struct drm_framebuffer *fb = state->fb;
-+ struct meson_drm *priv = meson_overlay->priv;
-+ struct drm_gem_cma_object *gem;
-+ unsigned long flags;
-+ bool interlace_mode;
-+
-+ DRM_DEBUG_DRIVER("\n");
-+
-+ /* Fallback is canvas provider is not available */
-+ if (!priv->canvas) {
-+ priv->canvas_id_vd1_0 = MESON_CANVAS_ID_VD1_0;
-+ priv->canvas_id_vd1_1 = MESON_CANVAS_ID_VD1_1;
-+ priv->canvas_id_vd1_2 = MESON_CANVAS_ID_VD1_2;
-+ }
-+
-+ interlace_mode = state->crtc->mode.flags & DRM_MODE_FLAG_INTERLACE;
-+
-+ spin_lock_irqsave(&priv->drm->event_lock, flags);
-+
-+ priv->viu.vd1_if0_gen_reg = VD_URGENT_CHROMA |
-+ VD_URGENT_LUMA |
-+ VD_HOLD_LINES(9) |
-+ VD_CHRO_RPT_LASTL_CTRL |
-+ VD_ENABLE;
-+
-+ /* Setup scaler params */
-+ meson_overlay_setup_scaler_params(priv, plane, interlace_mode);
-+
-+ priv->viu.vd1_if0_repeat_loop = 0;
-+ priv->viu.vd1_if0_luma0_rpt_pat = interlace_mode ? 8 : 0;
-+ priv->viu.vd1_if0_chroma0_rpt_pat = interlace_mode ? 8 : 0;
-+ priv->viu.vd1_range_map_y = 0;
-+ priv->viu.vd1_range_map_cb = 0;
-+ priv->viu.vd1_range_map_cr = 0;
-+
-+ /* Default values for RGB888/YUV444 */
-+ priv->viu.vd1_if0_gen_reg2 = 0;
-+ priv->viu.viu_vd1_fmt_ctrl = 0;
-+
-+ switch (fb->format->format) {
-+ /* TOFIX DRM_FORMAT_RGB888 should be supported */
-+ case DRM_FORMAT_YUYV:
-+ priv->viu.vd1_if0_gen_reg |= VD_BYTES_PER_PIXEL(1);
-+ priv->viu.vd1_if0_canvas0 =
-+ CANVAS_ADDR2(priv->canvas_id_vd1_0) |
-+ CANVAS_ADDR1(priv->canvas_id_vd1_0) |
-+ CANVAS_ADDR0(priv->canvas_id_vd1_0);
-+ priv->viu.viu_vd1_fmt_ctrl = VD_HORZ_Y_C_RATIO(1) | /* /2 */
-+ VD_HORZ_FMT_EN |
-+ VD_VERT_RPT_LINE0 |
-+ VD_VERT_INITIAL_PHASE(12) |
-+ VD_VERT_PHASE_STEP(16) | /* /2 */
-+ VD_VERT_FMT_EN;
-+ break;
-+ case DRM_FORMAT_NV12:
-+ case DRM_FORMAT_NV21:
-+ priv->viu.vd1_if0_gen_reg |= VD_SEPARATE_EN;
-+ priv->viu.vd1_if0_canvas0 =
-+ CANVAS_ADDR2(priv->canvas_id_vd1_1) |
-+ CANVAS_ADDR1(priv->canvas_id_vd1_1) |
-+ CANVAS_ADDR0(priv->canvas_id_vd1_0);
-+ if (fb->format->format == DRM_FORMAT_NV12)
-+ priv->viu.vd1_if0_gen_reg2 = VD_COLOR_MAP(1);
-+ else
-+ priv->viu.vd1_if0_gen_reg2 = VD_COLOR_MAP(2);
-+ priv->viu.viu_vd1_fmt_ctrl = VD_HORZ_Y_C_RATIO(1) | /* /2 */
-+ VD_HORZ_FMT_EN |
-+ VD_VERT_RPT_LINE0 |
-+ VD_VERT_INITIAL_PHASE(12) |
-+ VD_VERT_PHASE_STEP(8) | /* /4 */
-+ VD_VERT_FMT_EN;
-+ break;
-+ case DRM_FORMAT_YUV444:
-+ case DRM_FORMAT_YUV422:
-+ case DRM_FORMAT_YUV420:
-+ case DRM_FORMAT_YUV411:
-+ case DRM_FORMAT_YUV410:
-+ priv->viu.vd1_if0_gen_reg |= VD_SEPARATE_EN;
-+ priv->viu.vd1_if0_canvas0 =
-+ CANVAS_ADDR2(priv->canvas_id_vd1_2) |
-+ CANVAS_ADDR1(priv->canvas_id_vd1_1) |
-+ CANVAS_ADDR0(priv->canvas_id_vd1_0);
-+ switch (fb->format->format) {
-+ case DRM_FORMAT_YUV422:
-+ priv->viu.viu_vd1_fmt_ctrl =
-+ VD_HORZ_Y_C_RATIO(1) | /* /2 */
-+ VD_HORZ_FMT_EN |
-+ VD_VERT_RPT_LINE0 |
-+ VD_VERT_INITIAL_PHASE(12) |
-+ VD_VERT_PHASE_STEP(16) | /* /2 */
-+ VD_VERT_FMT_EN;
-+ break;
-+ case DRM_FORMAT_YUV420:
-+ priv->viu.viu_vd1_fmt_ctrl =
-+ VD_HORZ_Y_C_RATIO(1) | /* /2 */
-+ VD_HORZ_FMT_EN |
-+ VD_VERT_RPT_LINE0 |
-+ VD_VERT_INITIAL_PHASE(12) |
-+ VD_VERT_PHASE_STEP(8) | /* /4 */
-+ VD_VERT_FMT_EN;
-+ break;
-+ case DRM_FORMAT_YUV411:
-+ priv->viu.viu_vd1_fmt_ctrl =
-+ VD_HORZ_Y_C_RATIO(2) | /* /4 */
-+ VD_HORZ_FMT_EN |
-+ VD_VERT_RPT_LINE0 |
-+ VD_VERT_INITIAL_PHASE(12) |
-+ VD_VERT_PHASE_STEP(16) | /* /2 */
-+ VD_VERT_FMT_EN;
-+ break;
-+ case DRM_FORMAT_YUV410:
-+ priv->viu.viu_vd1_fmt_ctrl =
-+ VD_HORZ_Y_C_RATIO(2) | /* /4 */
-+ VD_HORZ_FMT_EN |
-+ VD_VERT_RPT_LINE0 |
-+ VD_VERT_INITIAL_PHASE(12) |
-+ VD_VERT_PHASE_STEP(8) | /* /4 */
-+ VD_VERT_FMT_EN;
-+ break;
-+ }
-+ break;
-+ }
-+
-+ /* Update Canvas with buffer address */
-+ priv->viu.vd1_planes = drm_format_num_planes(fb->format->format);
-+
-+ switch (priv->viu.vd1_planes) {
-+ case 3:
-+ gem = drm_fb_cma_get_gem_obj(fb, 2);
-+ priv->viu.vd1_addr2 = gem->paddr + fb->offsets[2];
-+ priv->viu.vd1_stride2 = fb->pitches[2];
-+ priv->viu.vd1_height2 =
-+ drm_format_plane_height(fb->height,
-+ fb->format->format, 2);
-+ DRM_DEBUG("plane 2 addr 0x%x stride %d height %d\n",
-+ priv->viu.vd1_addr2,
-+ priv->viu.vd1_stride2,
-+ priv->viu.vd1_height2);
-+ /* fallthrough */
-+ case 2:
-+ gem = drm_fb_cma_get_gem_obj(fb, 1);
-+ priv->viu.vd1_addr1 = gem->paddr + fb->offsets[1];
-+ priv->viu.vd1_stride1 = fb->pitches[1];
-+ priv->viu.vd1_height1 =
-+ drm_format_plane_height(fb->height,
-+ fb->format->format, 1);
-+ DRM_DEBUG("plane 1 addr 0x%x stride %d height %d\n",
-+ priv->viu.vd1_addr1,
-+ priv->viu.vd1_stride1,
-+ priv->viu.vd1_height1);
-+ /* fallthrough */
-+ case 1:
-+ gem = drm_fb_cma_get_gem_obj(fb, 0);
-+ priv->viu.vd1_addr0 = gem->paddr + fb->offsets[0];
-+ priv->viu.vd1_stride0 = fb->pitches[0];
-+ priv->viu.vd1_height0 =
-+ drm_format_plane_height(fb->height,
-+ fb->format->format, 0);
-+ DRM_DEBUG("plane 0 addr 0x%x stride %d height %d\n",
-+ priv->viu.vd1_addr0,
-+ priv->viu.vd1_stride0,
-+ priv->viu.vd1_height0);
-+ }
-+
-+ priv->viu.vd1_enabled = true;
-+
-+ spin_unlock_irqrestore(&priv->drm->event_lock, flags);
-+
-+ DRM_DEBUG_DRIVER("\n");
-+}
-+
-+static void meson_overlay_atomic_disable(struct drm_plane *plane,
-+ struct drm_plane_state *old_state)
-+{
-+ struct meson_overlay *meson_overlay = to_meson_overlay(plane);
-+ struct meson_drm *priv = meson_overlay->priv;
-+
-+ DRM_DEBUG_DRIVER("\n");
-+
-+ priv->viu.vd1_enabled = false;
-+
-+ /* Disable VD1 */
-+ writel_bits_relaxed(VPP_VD1_POSTBLEND | VPP_VD1_PREBLEND, 0,
-+ priv->io_base + _REG(VPP_MISC));
-+
-+}
-+
-+static const struct drm_plane_helper_funcs meson_overlay_helper_funcs = {
-+ .atomic_check = meson_overlay_atomic_check,
-+ .atomic_disable = meson_overlay_atomic_disable,
-+ .atomic_update = meson_overlay_atomic_update,
-+};
-+
-+static const struct drm_plane_funcs meson_overlay_funcs = {
-+ .update_plane = drm_atomic_helper_update_plane,
-+ .disable_plane = drm_atomic_helper_disable_plane,
-+ .destroy = drm_plane_cleanup,
-+ .reset = drm_atomic_helper_plane_reset,
-+ .atomic_duplicate_state = drm_atomic_helper_plane_duplicate_state,
-+ .atomic_destroy_state = drm_atomic_helper_plane_destroy_state,
-+};
-+
-+static const uint32_t supported_drm_formats[] = {
-+ DRM_FORMAT_YUYV,
-+ DRM_FORMAT_NV12,
-+ DRM_FORMAT_NV21,
-+ DRM_FORMAT_YUV444,
-+ DRM_FORMAT_YUV422,
-+ DRM_FORMAT_YUV420,
-+ DRM_FORMAT_YUV411,
-+ DRM_FORMAT_YUV410,
-+};
-+
-+int meson_overlay_create(struct meson_drm *priv)
-+{
-+ struct meson_overlay *meson_overlay;
-+ struct drm_plane *plane;
-+
-+ DRM_DEBUG_DRIVER("\n");
-+
-+ meson_overlay = devm_kzalloc(priv->drm->dev, sizeof(*meson_overlay),
-+ GFP_KERNEL);
-+ if (!meson_overlay)
-+ return -ENOMEM;
-+
-+ meson_overlay->priv = priv;
-+ plane = &meson_overlay->base;
-+
-+ drm_universal_plane_init(priv->drm, plane, 0xFF,
-+ &meson_overlay_funcs,
-+ supported_drm_formats,
-+ ARRAY_SIZE(supported_drm_formats),
-+ NULL,
-+ DRM_PLANE_TYPE_OVERLAY, "meson_overlay_plane");
-+
-+ drm_plane_helper_add(plane, &meson_overlay_helper_funcs);
-+
-+ priv->overlay_plane = plane;
-+
-+ DRM_DEBUG_DRIVER("\n");
-+
-+ return 0;
-+}
-diff --git a/drivers/gpu/drm/meson/meson_overlay.h b/drivers/gpu/drm/meson/meson_overlay.h
-new file mode 100644
-index 0000000..dae24f5
---- /dev/null
-+++ b/drivers/gpu/drm/meson/meson_overlay.h
-@@ -0,0 +1,14 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Neil Armstrong <narmstrong@baylibre.com>
-+ */
-+
-+#ifndef __MESON_OVERLAY_H
-+#define __MESON_OVERLAY_H
-+
-+#include "meson_drv.h"
-+
-+int meson_overlay_create(struct meson_drm *priv);
-+
-+#endif /* __MESON_OVERLAY_H */
-diff --git a/drivers/gpu/drm/meson/meson_registers.h b/drivers/gpu/drm/meson/meson_registers.h
-index bca8714..5c7e02c 100644
---- a/drivers/gpu/drm/meson/meson_registers.h
-+++ b/drivers/gpu/drm/meson/meson_registers.h
-@@ -286,6 +286,7 @@
- #define VIU_OSD1_MATRIX_COEF22_30 0x1a9d
- #define VIU_OSD1_MATRIX_COEF31_32 0x1a9e
- #define VIU_OSD1_MATRIX_COEF40_41 0x1a9f
-+#define VD1_IF0_GEN_REG3 0x1aa7
- #define VIU_OSD1_EOTF_CTL 0x1ad4
- #define VIU_OSD1_EOTF_COEF00_01 0x1ad5
- #define VIU_OSD1_EOTF_COEF02_10 0x1ad6
-@@ -297,6 +298,7 @@
- #define VIU_OSD1_OETF_CTL 0x1adc
- #define VIU_OSD1_OETF_LUT_ADDR_PORT 0x1add
- #define VIU_OSD1_OETF_LUT_DATA_PORT 0x1ade
-+#define AFBC_ENABLE 0x1ae0
-
- /* vpp */
- #define VPP_DUMMY_DATA 0x1d00
-@@ -349,6 +351,7 @@
- #define VPP_VD2_PREBLEND BIT(15)
- #define VPP_OSD1_PREBLEND BIT(16)
- #define VPP_OSD2_PREBLEND BIT(17)
-+#define VPP_COLOR_MNG_ENABLE BIT(28)
- #define VPP_OFIFO_SIZE 0x1d27
- #define VPP_FIFO_STATUS 0x1d28
- #define VPP_SMOKE_CTRL 0x1d29
-diff --git a/drivers/gpu/drm/meson/meson_viu.c b/drivers/gpu/drm/meson/meson_viu.c
-index 6bcfa52..2dffb98 100644
---- a/drivers/gpu/drm/meson/meson_viu.c
-+++ b/drivers/gpu/drm/meson/meson_viu.c
-@@ -329,6 +329,21 @@ void meson_viu_init(struct meson_drm *priv)
- 0xff << OSD_REPLACE_SHIFT,
- priv->io_base + _REG(VIU_OSD2_CTRL_STAT2));
-
-+ /* Disable VD1 AFBC */
-+ /* di_mif0_en=0 mif0_to_vpp_en=0 di_mad_en=0 */
-+ writel_bits_relaxed(0x7 << 16, 0,
-+ priv->io_base + _REG(VIU_MISC_CTRL0));
-+ /* afbc vd1 set=0 */
-+ writel_bits_relaxed(BIT(20), 0,
-+ priv->io_base + _REG(VIU_MISC_CTRL0));
-+ writel_relaxed(0, priv->io_base + _REG(AFBC_ENABLE));
-+
-+ writel_relaxed(0x00FF00C0,
-+ priv->io_base + _REG(VD1_IF0_LUMA_FIFO_SIZE));
-+ writel_relaxed(0x00FF00C0,
-+ priv->io_base + _REG(VD2_IF0_LUMA_FIFO_SIZE));
-+
-+
- priv->viu.osd1_enabled = false;
- priv->viu.osd1_commit = false;
- priv->viu.osd1_interlace = false;
-diff --git a/drivers/gpu/drm/meson/meson_vpp.c b/drivers/gpu/drm/meson/meson_vpp.c
-index 27356f8..5dc24a9 100644
---- a/drivers/gpu/drm/meson/meson_vpp.c
-+++ b/drivers/gpu/drm/meson/meson_vpp.c
-@@ -122,6 +122,31 @@ static void meson_vpp_write_scaling_filter_coefs(struct meson_drm *priv,
- priv->io_base + _REG(VPP_OSD_SCALE_COEF));
- }
-
-+static const uint32_t vpp_filter_coefs_bicubic[] = {
-+ 0x00800000, 0x007f0100, 0xff7f0200, 0xfe7f0300,
-+ 0xfd7e0500, 0xfc7e0600, 0xfb7d0800, 0xfb7c0900,
-+ 0xfa7b0b00, 0xfa7a0dff, 0xf9790fff, 0xf97711ff,
-+ 0xf87613ff, 0xf87416fe, 0xf87218fe, 0xf8701afe,
-+ 0xf76f1dfd, 0xf76d1ffd, 0xf76b21fd, 0xf76824fd,
-+ 0xf76627fc, 0xf76429fc, 0xf7612cfc, 0xf75f2ffb,
-+ 0xf75d31fb, 0xf75a34fb, 0xf75837fa, 0xf7553afa,
-+ 0xf8523cfa, 0xf8503ff9, 0xf84d42f9, 0xf84a45f9,
-+ 0xf84848f8
-+};
-+
-+static void meson_vpp_write_vd_scaling_filter_coefs(struct meson_drm *priv,
-+ const unsigned int *coefs,
-+ bool is_horizontal)
-+{
-+ int i;
-+
-+ writel_relaxed(is_horizontal ? BIT(8) : 0,
-+ priv->io_base + _REG(VPP_SCALE_COEF_IDX));
-+ for (i = 0; i < 33; i++)
-+ writel_relaxed(coefs[i],
-+ priv->io_base + _REG(VPP_SCALE_COEF));
-+}
-+
- void meson_vpp_init(struct meson_drm *priv)
- {
- /* set dummy data default YUV black */
-@@ -150,17 +175,34 @@ void meson_vpp_init(struct meson_drm *priv)
-
- /* Force all planes off */
- writel_bits_relaxed(VPP_OSD1_POSTBLEND | VPP_OSD2_POSTBLEND |
-- VPP_VD1_POSTBLEND | VPP_VD2_POSTBLEND, 0,
-+ VPP_VD1_POSTBLEND | VPP_VD2_POSTBLEND |
-+ VPP_VD1_PREBLEND | VPP_VD2_PREBLEND, 0,
- priv->io_base + _REG(VPP_MISC));
-
-+ /* Setup default VD settings */
-+ writel_relaxed(4096,
-+ priv->io_base + _REG(VPP_PREBLEND_VD1_H_START_END));
-+ writel_relaxed(4096,
-+ priv->io_base + _REG(VPP_BLEND_VD2_H_START_END));
-+
- /* Disable Scalers */
- writel_relaxed(0, priv->io_base + _REG(VPP_OSD_SC_CTRL0));
- writel_relaxed(0, priv->io_base + _REG(VPP_OSD_VSC_CTRL0));
- writel_relaxed(0, priv->io_base + _REG(VPP_OSD_HSC_CTRL0));
-+ writel_relaxed(4 | (4 << 8) | BIT(15),
-+ priv->io_base + _REG(VPP_SC_MISC));
-+
-+ writel_relaxed(1, priv->io_base + _REG(VPP_VADJ_CTRL));
-
- /* Write in the proper filter coefficients. */
- meson_vpp_write_scaling_filter_coefs(priv,
- vpp_filter_coefs_4point_bspline, false);
- meson_vpp_write_scaling_filter_coefs(priv,
- vpp_filter_coefs_4point_bspline, true);
-+
-+ /* Write the VD proper filter coefficients. */
-+ meson_vpp_write_vd_scaling_filter_coefs(priv, vpp_filter_coefs_bicubic,
-+ false);
-+ meson_vpp_write_vd_scaling_filter_coefs(priv, vpp_filter_coefs_bicubic,
-+ true);
- }
diff --git a/testing/linux-amlogic/0023-drm-meson-Fix-an-Alpha-Primary-Plane-bug-on-Meson-GX.patch b/testing/linux-amlogic/0023-drm-meson-Fix-an-Alpha-Primary-Plane-bug-on-Meson-GX.patch
deleted file mode 100644
index 23d0bc366f1..00000000000
--- a/testing/linux-amlogic/0023-drm-meson-Fix-an-Alpha-Primary-Plane-bug-on-Meson-GX.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 90c2e40067b0591a1419472da186463f3f84613b Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Thu, 22 Nov 2018 17:27:20 +0100
-Subject: [PATCH] drm/meson: Fix an Alpha Primary Plane bug on Meson GXL/GXM
- SoCs
-
-On the Amlogic GXL & GXM SoCs, a bug occurs in the OSD1 plane when
-alpha is used where the alpha is not aligned with the pixel content.
-
-The woraround Amlogic implemented is the reset the OSD1 plane hardware
-block each time the plane is updated, solving the issue.
-
-In the reset, we still need to save the content of 2 registers which
-depends on the status of the plane, in addition to reload the scaler
-conversion matrix in the same time.
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/meson/meson_crtc.c | 1 +
- drivers/gpu/drm/meson/meson_plane.c | 12 ++++++++++++
- drivers/gpu/drm/meson/meson_viu.c | 27 +++++++++++++++++++++++++++
- drivers/gpu/drm/meson/meson_viu.h | 1 +
- 4 files changed, 41 insertions(+)
-
-diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c
-index f8e260b..5312cce 100644
---- a/drivers/gpu/drm/meson/meson_crtc.c
-+++ b/drivers/gpu/drm/meson/meson_crtc.c
-@@ -202,6 +202,7 @@ void meson_crtc_irq(struct meson_drm *priv)
-
- /* Update the OSD registers */
- if (priv->viu.osd1_enabled && priv->viu.osd1_commit) {
-+
- writel_relaxed(priv->viu.osd1_ctrl_stat,
- priv->io_base + _REG(VIU_OSD1_CTRL_STAT));
- writel_relaxed(priv->viu.osd1_blk0_cfg[0],
-diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c
-index 12a47b4..8372288 100644
---- a/drivers/gpu/drm/meson/meson_plane.c
-+++ b/drivers/gpu/drm/meson/meson_plane.c
-@@ -79,6 +79,7 @@
- struct meson_plane {
- struct drm_plane base;
- struct meson_drm *priv;
-+ bool enabled;
- };
- #define to_meson_plane(x) container_of(x, struct meson_plane, base)
-
-@@ -303,6 +304,15 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
- priv->viu.osd1_stride = fb->pitches[0];
- priv->viu.osd1_height = fb->height;
-
-+ if (!meson_plane->enabled) {
-+ /* Reset OSD1 at updates on GXL+ SoCs */
-+ if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") ||
-+ meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu"))
-+ meson_viu_reset(priv);
-+
-+ meson_plane->enabled = true;
-+ }
-+
- spin_unlock_irqrestore(&priv->drm->event_lock, flags);
- }
-
-@@ -316,6 +326,8 @@ static void meson_plane_atomic_disable(struct drm_plane *plane,
- writel_bits_relaxed(VPP_OSD1_POSTBLEND, 0,
- priv->io_base + _REG(VPP_MISC));
-
-+ meson_plane->enabled = false;
-+
- }
-
- static const struct drm_plane_helper_funcs meson_plane_helper_funcs = {
-diff --git a/drivers/gpu/drm/meson/meson_viu.c b/drivers/gpu/drm/meson/meson_viu.c
-index 2dffb98..a41dd6c 100644
---- a/drivers/gpu/drm/meson/meson_viu.c
-+++ b/drivers/gpu/drm/meson/meson_viu.c
-@@ -296,6 +296,33 @@ static void meson_viu_load_matrix(struct meson_drm *priv)
- true);
- }
-
-+/* VIU OSD1 Reset as workaround for GXL+ Alpha OSD Bug */
-+void meson_viu_reset(struct meson_drm *priv)
-+{
-+ uint32_t osd1_fifo_ctrl_stat, osd1_ctrl_stat2;
-+
-+ /* Save these 2 registers state */
-+ osd1_fifo_ctrl_stat = readl_relaxed(
-+ priv->io_base + _REG(VIU_OSD1_FIFO_CTRL_STAT));
-+ osd1_ctrl_stat2 = readl_relaxed(
-+ priv->io_base + _REG(VIU_OSD1_CTRL_STAT2));
-+
-+ /* Reset OSD1 */
-+ writel_bits_relaxed(BIT(0), BIT(0),
-+ priv->io_base + _REG(VIU_SW_RESET));
-+ writel_bits_relaxed(BIT(0), 0,
-+ priv->io_base + _REG(VIU_SW_RESET));
-+
-+ /* Rewrite these registers state lost in the reset */
-+ writel_relaxed(osd1_fifo_ctrl_stat,
-+ priv->io_base + _REG(VIU_OSD1_FIFO_CTRL_STAT));
-+ writel_relaxed(osd1_ctrl_stat2,
-+ priv->io_base + _REG(VIU_OSD1_CTRL_STAT2));
-+
-+ /* Reload the conversion matrix */
-+ meson_viu_load_matrix(priv);
-+}
-+
- void meson_viu_init(struct meson_drm *priv)
- {
- uint32_t reg;
-diff --git a/drivers/gpu/drm/meson/meson_viu.h b/drivers/gpu/drm/meson/meson_viu.h
-index 073b191..e4a6e2f 100644
---- a/drivers/gpu/drm/meson/meson_viu.h
-+++ b/drivers/gpu/drm/meson/meson_viu.h
-@@ -59,6 +59,7 @@
- #define OSD_REPLACE_EN BIT(14)
- #define OSD_REPLACE_SHIFT 6
-
-+void meson_viu_reset(struct meson_drm *priv);
- void meson_viu_init(struct meson_drm *priv);
-
- #endif /* __MESON_VIU_H */
diff --git a/testing/linux-amlogic/0023-drm-meson-move-OSD-scaler-management-into-plane-atom.patch b/testing/linux-amlogic/0023-drm-meson-move-OSD-scaler-management-into-plane-atom.patch
deleted file mode 100644
index 54b356de642..00000000000
--- a/testing/linux-amlogic/0023-drm-meson-move-OSD-scaler-management-into-plane-atom.patch
+++ /dev/null
@@ -1,198 +0,0 @@
-From b92e7773bdb2d5c86091cbb2d03cc55ec6365115 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Mon, 29 Oct 2018 17:04:05 +0100
-Subject: [PATCH] drm/meson: move OSD scaler management into plane atomic
- update
-
-In preparation to support the Primary Plane scaling, move the basic
-OSD Interlace-Only scaler setup code into the primary plane atomic
-update callback and handle the vsync scaler update like the overlay
-plane scaling registers update.
-
----
- drivers/gpu/drm/meson/meson_crtc.c | 35 ++++++++++++++++------------
- drivers/gpu/drm/meson/meson_drv.h | 10 ++++++++
- drivers/gpu/drm/meson/meson_plane.c | 39 ++++++++++++++++++++++++++++++-
- drivers/gpu/drm/meson/meson_vpp.c | 46 -------------------------------------
- 4 files changed, 68 insertions(+), 62 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_crtc.c b/drivers/gpu/drm/meson/meson_crtc.c
-index 1d9d22c..6099997 100644
---- a/drivers/gpu/drm/meson/meson_crtc.c
-+++ b/drivers/gpu/drm/meson/meson_crtc.c
-@@ -193,21 +193,26 @@ void meson_crtc_irq(struct meson_drm *priv)
- priv->io_base + _REG(VIU_OSD1_BLK0_CFG_W3));
- writel_relaxed(priv->viu.osd1_blk0_cfg[4],
- priv->io_base + _REG(VIU_OSD1_BLK0_CFG_W4));
--
-- /* If output is interlace, make use of the Scaler */
-- if (priv->viu.osd1_interlace) {
-- struct drm_plane *plane = priv->primary_plane;
-- struct drm_plane_state *state = plane->state;
-- struct drm_rect dest = {
-- .x1 = state->crtc_x,
-- .y1 = state->crtc_y,
-- .x2 = state->crtc_x + state->crtc_w,
-- .y2 = state->crtc_y + state->crtc_h,
-- };
--
-- meson_vpp_setup_interlace_vscaler_osd1(priv, &dest);
-- } else
-- meson_vpp_disable_interlace_vscaler_osd1(priv);
-+ writel_relaxed(priv->viu.osd_sc_ctrl0,
-+ priv->io_base + _REG(VPP_OSD_SC_CTRL0));
-+ writel_relaxed(priv->viu.osd_sc_i_wh_m1,
-+ priv->io_base + _REG(VPP_OSD_SCI_WH_M1));
-+ writel_relaxed(priv->viu.osd_sc_o_h_start_end,
-+ priv->io_base + _REG(VPP_OSD_SCO_H_START_END));
-+ writel_relaxed(priv->viu.osd_sc_o_v_start_end,
-+ priv->io_base + _REG(VPP_OSD_SCO_V_START_END));
-+ writel_relaxed(priv->viu.osd_sc_v_ini_phase,
-+ priv->io_base + _REG(VPP_OSD_VSC_INI_PHASE));
-+ writel_relaxed(priv->viu.osd_sc_v_phase_step,
-+ priv->io_base + _REG(VPP_OSD_VSC_PHASE_STEP));
-+ writel_relaxed(priv->viu.osd_sc_h_ini_phase,
-+ priv->io_base + _REG(VPP_OSD_HSC_INI_PHASE));
-+ writel_relaxed(priv->viu.osd_sc_h_phase_step,
-+ priv->io_base + _REG(VPP_OSD_HSC_PHASE_STEP));
-+ writel_relaxed(priv->viu.osd_sc_h_ctrl0,
-+ priv->io_base + _REG(VPP_OSD_HSC_CTRL0));
-+ writel_relaxed(priv->viu.osd_sc_v_ctrl0,
-+ priv->io_base + _REG(VPP_OSD_VSC_CTRL0));
-
- if (priv->canvas)
- meson_canvas_config(priv->canvas, priv->canvas_id_osd1,
-diff --git a/drivers/gpu/drm/meson/meson_drv.h b/drivers/gpu/drm/meson/meson_drv.h
-index c971557..a955354 100644
---- a/drivers/gpu/drm/meson/meson_drv.h
-+++ b/drivers/gpu/drm/meson/meson_drv.h
-@@ -54,6 +54,16 @@ struct meson_drm {
- uint32_t osd1_addr;
- uint32_t osd1_stride;
- uint32_t osd1_height;
-+ uint32_t osd_sc_ctrl0;
-+ uint32_t osd_sc_i_wh_m1;
-+ uint32_t osd_sc_o_h_start_end;
-+ uint32_t osd_sc_o_v_start_end;
-+ uint32_t osd_sc_v_ini_phase;
-+ uint32_t osd_sc_v_phase_step;
-+ uint32_t osd_sc_h_ini_phase;
-+ uint32_t osd_sc_h_phase_step;
-+ uint32_t osd_sc_h_ctrl0;
-+ uint32_t osd_sc_v_ctrl0;
-
- bool vd1_enabled;
- bool vd1_commit;
-diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c
-index 51bec8e..f915a79 100644
---- a/drivers/gpu/drm/meson/meson_plane.c
-+++ b/drivers/gpu/drm/meson/meson_plane.c
-@@ -143,13 +143,50 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
- break;
- };
-
-+ /*
-+ * When the output is interlaced, the OSD must switch between
-+ * each field using the INTERLACE_SEL_ODD (0) of VIU_OSD1_BLK0_CFG_W0
-+ * at each vsync.
-+ * But the vertical scaler can provide such funtionnality if
-+ * is configured for 2:1 scaling with interlace options enabled.
-+ */
- if (state->crtc->mode.flags & DRM_MODE_FLAG_INTERLACE) {
- priv->viu.osd1_interlace = true;
-
- dest.y1 /= 2;
- dest.y2 /= 2;
-- } else
-+
-+ priv->viu.osd_sc_ctrl0 = BIT(3)| /* Enable scaler */
-+ BIT(2); /* Select OSD1 */
-+
-+ /* 2:1 scaling */
-+ priv->viu.osd_sc_i_wh_m1 = ((drm_rect_width(&dest) - 1) << 16) |
-+ (drm_rect_height(&dest) - 1);
-+ priv->viu.osd_sc_o_h_start_end = (dest.x1 << 16) | dest.x2;
-+ priv->viu.osd_sc_o_v_start_end = (dest.y1 << 16) | dest.y2;
-+
-+ /* 2:1 vertical scaling values */
-+ priv->viu.osd_sc_v_ini_phase = BIT(16);
-+ priv->viu.osd_sc_v_phase_step = BIT(25);
-+ priv->viu.osd_sc_v_ctrl0 =
-+ (4 << 0) | /* osd_vsc_bank_length */
-+ (4 << 3) | /* osd_vsc_top_ini_rcv_num0 */
-+ (1 << 8) | /* osd_vsc_top_rpt_p0_num0 */
-+ (6 << 11) | /* osd_vsc_bot_ini_rcv_num0 */
-+ (2 << 16) | /* osd_vsc_bot_rpt_p0_num0 */
-+ BIT(23) | /* osd_prog_interlace */
-+ BIT(24); /* Enable vertical scaler */
-+
-+ /* No horizontal scaling */
-+ priv->viu.osd_sc_h_ini_phase = 0;
-+ priv->viu.osd_sc_h_phase_step = 0;
-+ priv->viu.osd_sc_h_ctrl0 = 0;
-+ } else {
- priv->viu.osd1_interlace = false;
-+ priv->viu.osd_sc_ctrl0 = 0;
-+ priv->viu.osd_sc_h_ctrl0 = 0;
-+ priv->viu.osd_sc_v_ctrl0 = 0;
-+ }
-
- /*
- * The format of these registers is (x2 << 16 | x1),
-diff --git a/drivers/gpu/drm/meson/meson_vpp.c b/drivers/gpu/drm/meson/meson_vpp.c
-index 5dc24a9..f9efb43 100644
---- a/drivers/gpu/drm/meson/meson_vpp.c
-+++ b/drivers/gpu/drm/meson/meson_vpp.c
-@@ -51,52 +51,6 @@ void meson_vpp_setup_mux(struct meson_drm *priv, unsigned int mux)
- writel(mux, priv->io_base + _REG(VPU_VIU_VENC_MUX_CTRL));
- }
-
--/*
-- * When the output is interlaced, the OSD must switch between
-- * each field using the INTERLACE_SEL_ODD (0) of VIU_OSD1_BLK0_CFG_W0
-- * at each vsync.
-- * But the vertical scaler can provide such funtionnality if
-- * is configured for 2:1 scaling with interlace options enabled.
-- */
--void meson_vpp_setup_interlace_vscaler_osd1(struct meson_drm *priv,
-- struct drm_rect *input)
--{
-- writel_relaxed(BIT(3) /* Enable scaler */ |
-- BIT(2), /* Select OSD1 */
-- priv->io_base + _REG(VPP_OSD_SC_CTRL0));
--
-- writel_relaxed(((drm_rect_width(input) - 1) << 16) |
-- (drm_rect_height(input) - 1),
-- priv->io_base + _REG(VPP_OSD_SCI_WH_M1));
-- /* 2:1 scaling */
-- writel_relaxed(((input->x1) << 16) | (input->x2),
-- priv->io_base + _REG(VPP_OSD_SCO_H_START_END));
-- writel_relaxed(((input->y1 >> 1) << 16) | (input->y2 >> 1),
-- priv->io_base + _REG(VPP_OSD_SCO_V_START_END));
--
-- /* 2:1 scaling values */
-- writel_relaxed(BIT(16), priv->io_base + _REG(VPP_OSD_VSC_INI_PHASE));
-- writel_relaxed(BIT(25), priv->io_base + _REG(VPP_OSD_VSC_PHASE_STEP));
--
-- writel_relaxed(0, priv->io_base + _REG(VPP_OSD_HSC_CTRL0));
--
-- writel_relaxed((4 << 0) /* osd_vsc_bank_length */ |
-- (4 << 3) /* osd_vsc_top_ini_rcv_num0 */ |
-- (1 << 8) /* osd_vsc_top_rpt_p0_num0 */ |
-- (6 << 11) /* osd_vsc_bot_ini_rcv_num0 */ |
-- (2 << 16) /* osd_vsc_bot_rpt_p0_num0 */ |
-- BIT(23) /* osd_prog_interlace */ |
-- BIT(24), /* Enable vertical scaler */
-- priv->io_base + _REG(VPP_OSD_VSC_CTRL0));
--}
--
--void meson_vpp_disable_interlace_vscaler_osd1(struct meson_drm *priv)
--{
-- writel_relaxed(0, priv->io_base + _REG(VPP_OSD_SC_CTRL0));
-- writel_relaxed(0, priv->io_base + _REG(VPP_OSD_VSC_CTRL0));
-- writel_relaxed(0, priv->io_base + _REG(VPP_OSD_HSC_CTRL0));
--}
--
- static unsigned int vpp_filter_coefs_4point_bspline[] = {
- 0x15561500, 0x14561600, 0x13561700, 0x12561800,
- 0x11551a00, 0x11541b00, 0x10541c00, 0x0f541d00,
diff --git a/testing/linux-amlogic/0024-drm-meson-Add-primary-plane-scaling.patch b/testing/linux-amlogic/0024-drm-meson-Add-primary-plane-scaling.patch
deleted file mode 100644
index 472355a105b..00000000000
--- a/testing/linux-amlogic/0024-drm-meson-Add-primary-plane-scaling.patch
+++ /dev/null
@@ -1,285 +0,0 @@
-From 7489078416fdb581625f99ec87b828c2e22794ee Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Tue, 30 Oct 2018 14:29:10 +0100
-Subject: [PATCH] drm/meson: Add primary plane scaling
-
-This patch adds support for the Primary Plane scaling.
-
-On the Amlogic GX SoCs, the primary plane is used as On-Screen-Display
-layer on top of video, and it's needed to keep the OSD layer to a lower
-size as the physical display size to :
-- lower the memory bandwidth
-- lower the OSD rendering
-- lower the memory usage
-
-This use-case is used when setting the display mode to 3840x2160 and the
-OSD layer is rendered using the GPU. In this case, the GXBB & GXL cannot
-work on more than 2000x2000 buffer, thus needing the OSD layer to be kept
-at 1920x1080 and upscaled to 3840x2160 in hardware.
-
-The primary plane atomic check still allow 1:1 scaling, allowing native
-3840x2160 if needed by user-space applications.
-
----
- drivers/gpu/drm/meson/meson_plane.c | 186 +++++++++++++++++++++++++++---------
- 1 file changed, 141 insertions(+), 45 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_plane.c b/drivers/gpu/drm/meson/meson_plane.c
-index f915a79..12a47b4 100644
---- a/drivers/gpu/drm/meson/meson_plane.c
-+++ b/drivers/gpu/drm/meson/meson_plane.c
-@@ -24,6 +24,7 @@
- #include <linux/kernel.h>
- #include <linux/module.h>
- #include <linux/mutex.h>
-+#include <linux/bitfield.h>
- #include <linux/platform_device.h>
- #include <drm/drmP.h>
- #include <drm/drm_atomic.h>
-@@ -39,12 +40,50 @@
- #include "meson_canvas.h"
- #include "meson_registers.h"
-
-+/* OSD_SCI_WH_M1 */
-+#define SCI_WH_M1_W(w) FIELD_PREP(GENMASK(28, 16), w)
-+#define SCI_WH_M1_H(h) FIELD_PREP(GENMASK(12, 0), h)
-+
-+/* OSD_SCO_H_START_END */
-+/* OSD_SCO_V_START_END */
-+#define SCO_HV_START(start) FIELD_PREP(GENMASK(27, 16), start)
-+#define SCO_HV_END(end) FIELD_PREP(GENMASK(11, 0), end)
-+
-+/* OSD_SC_CTRL0 */
-+#define SC_CTRL0_PATH_EN BIT(3)
-+#define SC_CTRL0_SEL_OSD1 BIT(2)
-+
-+/* OSD_VSC_CTRL0 */
-+#define VSC_BANK_LEN(value) FIELD_PREP(GENMASK(2, 0), value)
-+#define VSC_TOP_INI_RCV_NUM(value) FIELD_PREP(GENMASK(6, 3), value)
-+#define VSC_TOP_RPT_L0_NUM(value) FIELD_PREP(GENMASK(9, 8), value)
-+#define VSC_BOT_INI_RCV_NUM(value) FIELD_PREP(GENMASK(14, 11), value)
-+#define VSC_BOT_RPT_L0_NUM(value) FIELD_PREP(GENMASK(17, 16), value)
-+#define VSC_PROG_INTERLACE BIT(23)
-+#define VSC_VERTICAL_SCALER_EN BIT(24)
-+
-+/* OSD_VSC_INI_PHASE */
-+#define VSC_INI_PHASE_BOT(bottom) FIELD_PREP(GENMASK(31, 16), bottom)
-+#define VSC_INI_PHASE_TOP(top) FIELD_PREP(GENMASK(15, 0), top)
-+
-+/* OSD_HSC_CTRL0 */
-+#define HSC_BANK_LENGTH(value) FIELD_PREP(GENMASK(2, 0), value)
-+#define HSC_INI_RCV_NUM0(value) FIELD_PREP(GENMASK(6, 3), value)
-+#define HSC_RPT_P0_NUM0(value) FIELD_PREP(GENMASK(9, 8), value)
-+#define HSC_HORIZ_SCALER_EN BIT(22)
-+
-+/* VPP_OSD_VSC_PHASE_STEP */
-+/* VPP_OSD_HSC_PHASE_STEP */
-+#define SC_PHASE_STEP(value) FIELD_PREP(GENMASK(27, 0), value)
-+
- struct meson_plane {
- struct drm_plane base;
- struct meson_drm *priv;
- };
- #define to_meson_plane(x) container_of(x, struct meson_plane, base)
-
-+#define FRAC_16_16(mult, div) (((mult) << 16) / (div))
-+
- static int meson_plane_atomic_check(struct drm_plane *plane,
- struct drm_plane_state *state)
- {
-@@ -57,10 +96,15 @@ static int meson_plane_atomic_check(struct drm_plane *plane,
- if (IS_ERR(crtc_state))
- return PTR_ERR(crtc_state);
-
-+ /*
-+ * Only allow :
-+ * - Upscaling up to 5x, vertical and horizontal
-+ * - Final coordinates must match crtc size
-+ */
- return drm_atomic_helper_check_plane_state(state, crtc_state,
-+ FRAC_16_16(1, 5),
- DRM_PLANE_HELPER_NO_SCALING,
-- DRM_PLANE_HELPER_NO_SCALING,
-- true, true);
-+ false, true);
- }
-
- /* Takes a fixed 16.16 number and converts it to integer. */
-@@ -74,22 +118,19 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
- {
- struct meson_plane *meson_plane = to_meson_plane(plane);
- struct drm_plane_state *state = plane->state;
-- struct drm_framebuffer *fb = state->fb;
-+ struct drm_rect dest = drm_plane_state_dest(state);
- struct meson_drm *priv = meson_plane->priv;
-+ struct drm_framebuffer *fb = state->fb;
- struct drm_gem_cma_object *gem;
-- struct drm_rect src = {
-- .x1 = (state->src_x),
-- .y1 = (state->src_y),
-- .x2 = (state->src_x + state->src_w),
-- .y2 = (state->src_y + state->src_h),
-- };
-- struct drm_rect dest = {
-- .x1 = state->crtc_x,
-- .y1 = state->crtc_y,
-- .x2 = state->crtc_x + state->crtc_w,
-- .y2 = state->crtc_y + state->crtc_h,
-- };
- unsigned long flags;
-+ int vsc_ini_rcv_num, vsc_ini_rpt_p0_num;
-+ int vsc_bot_rcv_num, vsc_bot_rpt_p0_num;
-+ int hsc_ini_rcv_num, hsc_ini_rpt_p0_num;
-+ int hf_phase_step, vf_phase_step;
-+ int src_w, src_h, dst_w, dst_h;
-+ int bot_ini_phase;
-+ int hf_bank_len;
-+ int vf_bank_len;
- u8 canvas_id_osd1;
-
- /*
-@@ -143,6 +184,27 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
- break;
- };
-
-+ /* Default scaler parameters */
-+ vsc_bot_rcv_num = 0;
-+ vsc_bot_rpt_p0_num = 0;
-+ hf_bank_len = 4;
-+ vf_bank_len = 4;
-+
-+ if (state->crtc->mode.flags & DRM_MODE_FLAG_INTERLACE) {
-+ vsc_bot_rcv_num = 6;
-+ vsc_bot_rpt_p0_num = 2;
-+ }
-+
-+ hsc_ini_rcv_num = hf_bank_len;
-+ vsc_ini_rcv_num = vf_bank_len;
-+ hsc_ini_rpt_p0_num = (hf_bank_len / 2) - 1;
-+ vsc_ini_rpt_p0_num = (vf_bank_len / 2) - 1;
-+
-+ src_w = fixed16_to_int(state->src_w);
-+ src_h = fixed16_to_int(state->src_h);
-+ dst_w = state->crtc_w;
-+ dst_h = state->crtc_h;
-+
- /*
- * When the output is interlaced, the OSD must switch between
- * each field using the INTERLACE_SEL_ODD (0) of VIU_OSD1_BLK0_CFG_W0
-@@ -151,41 +213,73 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
- * is configured for 2:1 scaling with interlace options enabled.
- */
- if (state->crtc->mode.flags & DRM_MODE_FLAG_INTERLACE) {
-- priv->viu.osd1_interlace = true;
--
- dest.y1 /= 2;
- dest.y2 /= 2;
-+ dst_h /= 2;
-+ }
-
-- priv->viu.osd_sc_ctrl0 = BIT(3)| /* Enable scaler */
-- BIT(2); /* Select OSD1 */
-+ hf_phase_step = ((src_w << 18) / dst_w) << 6;
-+ vf_phase_step = (src_h << 20) / dst_h;
-
-- /* 2:1 scaling */
-- priv->viu.osd_sc_i_wh_m1 = ((drm_rect_width(&dest) - 1) << 16) |
-- (drm_rect_height(&dest) - 1);
-- priv->viu.osd_sc_o_h_start_end = (dest.x1 << 16) | dest.x2;
-- priv->viu.osd_sc_o_v_start_end = (dest.y1 << 16) | dest.y2;
-+ if (state->crtc->mode.flags & DRM_MODE_FLAG_INTERLACE)
-+ bot_ini_phase = ((vf_phase_step / 2) >> 4);
-+ else
-+ bot_ini_phase = 0;
-+
-+ vf_phase_step = (vf_phase_step << 4);
-+
-+ /* In interlaced mode, scaler is always active */
-+ if (src_h != dst_h || src_w != dst_w) {
-+ priv->viu.osd_sc_i_wh_m1 = SCI_WH_M1_W(src_w - 1) |
-+ SCI_WH_M1_H(src_h - 1);
-+ priv->viu.osd_sc_o_h_start_end = SCO_HV_START(dest.x1) |
-+ SCO_HV_END(dest.x2 - 1);
-+ priv->viu.osd_sc_o_v_start_end = SCO_HV_START(dest.y1) |
-+ SCO_HV_END(dest.y2 - 1);
-+ /* Enable OSD Scaler */
-+ priv->viu.osd_sc_ctrl0 = SC_CTRL0_PATH_EN | SC_CTRL0_SEL_OSD1;
-+ } else {
-+ priv->viu.osd_sc_i_wh_m1 = 0;
-+ priv->viu.osd_sc_o_h_start_end = 0;
-+ priv->viu.osd_sc_o_v_start_end = 0;
-+ priv->viu.osd_sc_ctrl0 = 0;
-+ }
-
-- /* 2:1 vertical scaling values */
-- priv->viu.osd_sc_v_ini_phase = BIT(16);
-- priv->viu.osd_sc_v_phase_step = BIT(25);
-+ /* In interlaced mode, vertical scaler is always active */
-+ if (src_h != dst_h) {
- priv->viu.osd_sc_v_ctrl0 =
-- (4 << 0) | /* osd_vsc_bank_length */
-- (4 << 3) | /* osd_vsc_top_ini_rcv_num0 */
-- (1 << 8) | /* osd_vsc_top_rpt_p0_num0 */
-- (6 << 11) | /* osd_vsc_bot_ini_rcv_num0 */
-- (2 << 16) | /* osd_vsc_bot_rpt_p0_num0 */
-- BIT(23) | /* osd_prog_interlace */
-- BIT(24); /* Enable vertical scaler */
--
-- /* No horizontal scaling */
-+ VSC_BANK_LEN(vf_bank_len) |
-+ VSC_TOP_INI_RCV_NUM(vsc_ini_rcv_num) |
-+ VSC_TOP_RPT_L0_NUM(vsc_ini_rpt_p0_num) |
-+ VSC_VERTICAL_SCALER_EN;
-+
-+ if (state->crtc->mode.flags & DRM_MODE_FLAG_INTERLACE)
-+ priv->viu.osd_sc_v_ctrl0 |=
-+ VSC_BOT_INI_RCV_NUM(vsc_bot_rcv_num) |
-+ VSC_BOT_RPT_L0_NUM(vsc_bot_rpt_p0_num) |
-+ VSC_PROG_INTERLACE;
-+
-+ priv->viu.osd_sc_v_phase_step = SC_PHASE_STEP(vf_phase_step);
-+ priv->viu.osd_sc_v_ini_phase = VSC_INI_PHASE_BOT(bot_ini_phase);
-+ } else {
-+ priv->viu.osd_sc_v_ctrl0 = 0;
-+ priv->viu.osd_sc_v_phase_step = 0;
-+ priv->viu.osd_sc_v_ini_phase = 0;
-+ }
-+
-+ /* Horizontal scaler is only used if width does not match */
-+ if (src_w != dst_w) {
-+ priv->viu.osd_sc_h_ctrl0 =
-+ HSC_BANK_LENGTH(hf_bank_len) |
-+ HSC_INI_RCV_NUM0(hsc_ini_rcv_num) |
-+ HSC_RPT_P0_NUM0(hsc_ini_rpt_p0_num) |
-+ HSC_HORIZ_SCALER_EN;
-+ priv->viu.osd_sc_h_phase_step = SC_PHASE_STEP(hf_phase_step);
- priv->viu.osd_sc_h_ini_phase = 0;
-- priv->viu.osd_sc_h_phase_step = 0;
-- priv->viu.osd_sc_h_ctrl0 = 0;
- } else {
-- priv->viu.osd1_interlace = false;
-- priv->viu.osd_sc_ctrl0 = 0;
- priv->viu.osd_sc_h_ctrl0 = 0;
-- priv->viu.osd_sc_v_ctrl0 = 0;
-+ priv->viu.osd_sc_h_phase_step = 0;
-+ priv->viu.osd_sc_h_ini_phase = 0;
- }
-
- /*
-@@ -193,10 +287,12 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
- * where x2 is exclusive.
- * e.g. +30x1920 would be (1919 << 16) | 30
- */
-- priv->viu.osd1_blk0_cfg[1] = ((fixed16_to_int(src.x2) - 1) << 16) |
-- fixed16_to_int(src.x1);
-- priv->viu.osd1_blk0_cfg[2] = ((fixed16_to_int(src.y2) - 1) << 16) |
-- fixed16_to_int(src.y1);
-+ priv->viu.osd1_blk0_cfg[1] =
-+ ((fixed16_to_int(state->src.x2) - 1) << 16) |
-+ fixed16_to_int(state->src.x1);
-+ priv->viu.osd1_blk0_cfg[2] =
-+ ((fixed16_to_int(state->src.y2) - 1) << 16) |
-+ fixed16_to_int(state->src.y1);
- priv->viu.osd1_blk0_cfg[3] = ((dest.x2 - 1) << 16) | dest.x1;
- priv->viu.osd1_blk0_cfg[4] = ((dest.y2 - 1) << 16) | dest.y1;
-
diff --git a/testing/linux-amlogic/0026-pinctrl-meson-gxl-remove-invalid-GPIOX-tsin_a-pins.patch b/testing/linux-amlogic/0026-pinctrl-meson-gxl-remove-invalid-GPIOX-tsin_a-pins.patch
deleted file mode 100644
index d07847edac2..00000000000
--- a/testing/linux-amlogic/0026-pinctrl-meson-gxl-remove-invalid-GPIOX-tsin_a-pins.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 90af79faeb239f3a32974d99a2b58d4ce37cd0c1 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 7 Nov 2018 11:34:47 +0100
-Subject: [PATCH] pinctrl: meson-gxl: remove invalid GPIOX tsin_a pins
-
-The GPIOX tsin_a pins wrongly uses the SDCard pinctrl bits, this
-patch completely removes these pins entries until we find out what
-are the correct bits and registers to be used instead.
-
-Fixes: 5a6ae9b80139 ("pinctrl: meson-gxl: add tsin_a pins")
-
----
- drivers/pinctrl/meson/pinctrl-meson-gxl.c | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
-
-diff --git a/drivers/pinctrl/meson/pinctrl-meson-gxl.c b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
-index 158f618..0c0a501 100644
---- a/drivers/pinctrl/meson/pinctrl-meson-gxl.c
-+++ b/drivers/pinctrl/meson/pinctrl-meson-gxl.c
-@@ -239,13 +239,9 @@ static const unsigned int eth_link_led_pins[] = { GPIOZ_14 };
- static const unsigned int eth_act_led_pins[] = { GPIOZ_15 };
-
- static const unsigned int tsin_a_d0_pins[] = { GPIODV_0 };
--static const unsigned int tsin_a_d0_x_pins[] = { GPIOX_10 };
- static const unsigned int tsin_a_clk_pins[] = { GPIODV_8 };
--static const unsigned int tsin_a_clk_x_pins[] = { GPIOX_11 };
- static const unsigned int tsin_a_sop_pins[] = { GPIODV_9 };
--static const unsigned int tsin_a_sop_x_pins[] = { GPIOX_8 };
- static const unsigned int tsin_a_d_valid_pins[] = { GPIODV_10 };
--static const unsigned int tsin_a_d_valid_x_pins[] = { GPIOX_9 };
- static const unsigned int tsin_a_fail_pins[] = { GPIODV_11 };
- static const unsigned int tsin_a_dp_pins[] = {
- GPIODV_1, GPIODV_2, GPIODV_3, GPIODV_4, GPIODV_5, GPIODV_6, GPIODV_7,
-@@ -432,10 +428,6 @@ static struct meson_pmx_group meson_gxl_periphs_groups[] = {
- GROUP(spi_miso, 5, 2),
- GROUP(spi_ss0, 5, 1),
- GROUP(spi_sclk, 5, 0),
-- GROUP(tsin_a_sop_x, 6, 3),
-- GROUP(tsin_a_d_valid_x, 6, 2),
-- GROUP(tsin_a_d0_x, 6, 1),
-- GROUP(tsin_a_clk_x, 6, 0),
-
- /* Bank Z */
- GROUP(eth_mdio, 4, 23),
-@@ -698,8 +690,8 @@ static const char * const eth_led_groups[] = {
- };
-
- static const char * const tsin_a_groups[] = {
-- "tsin_a_clk", "tsin_a_clk_x", "tsin_a_sop", "tsin_a_sop_x",
-- "tsin_a_d_valid", "tsin_a_d_valid_x", "tsin_a_d0", "tsin_a_d0_x",
-+ "tsin_a_clk", "tsin_a_sop",
-+ "tsin_a_d_valid", "tsin_a_d0",
- "tsin_a_dp", "tsin_a_fail",
- };
-
diff --git a/testing/linux-amlogic/0027-arm64-dts-meson-gx-Add-hdmi_5v-regulator-as-hdmi-tx-.patch b/testing/linux-amlogic/0027-arm64-dts-meson-gx-Add-hdmi_5v-regulator-as-hdmi-tx-.patch
deleted file mode 100644
index f1ee60638e1..00000000000
--- a/testing/linux-amlogic/0027-arm64-dts-meson-gx-Add-hdmi_5v-regulator-as-hdmi-tx-.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-From 6c4496753e3bea38dd4b42266c8402d048bde635 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Thu, 8 Nov 2018 14:24:38 +0100
-Subject: [PATCH] arm64: dts: meson-gx: Add hdmi_5v regulator as hdmi tx supply
-
-The hdmi_5v regulator must be enabled to provide power to the physical HDMI
-PHY and enables the HDMI 5V presence loopback for the monitor.
-
-Fixes: b409f625a6d5 ("ARM64: dts: meson-gx: Add HDMI_5V regulator on selected boards")
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 1 +
- arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 1 +
- arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 1 +
- arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts | 1 +
- arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts | 1 +
- 5 files changed, 5 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
-index fb9ad6f..774f8af 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
-@@ -166,6 +166,7 @@
- status = "okay";
- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
- pinctrl-names = "default";
-+ hdmi-supply = <&hdmi_5v>;
- };
-
- &hdmi_tx_tmds_port {
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-index f053595..e5ef9b0 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-@@ -119,6 +119,7 @@
- status = "okay";
- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
- pinctrl-names = "default";
-+ hdmi-supply = <&hdmi_5v>;
- };
-
- &hdmi_tx_tmds_port {
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-index f56969e..ca0228e 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-@@ -200,6 +200,7 @@
- status = "okay";
- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
- pinctrl-names = "default";
-+ hdmi-supply = <&hdmi_5v>;
- };
-
- &hdmi_tx_tmds_port {
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
-index f8c66a7..29c9837 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dts
-@@ -96,6 +96,7 @@
- status = "okay";
- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
- pinctrl-names = "default";
-+ hdmi-supply = <&hdmi_5v>;
- };
-
- &hdmi_tx_tmds_port {
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
-index 4fbfa5a..fe8e726 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
-@@ -312,6 +312,7 @@
- status = "okay";
- pinctrl-0 = <&hdmi_hpd_pins>, <&hdmi_i2c_pins>;
- pinctrl-names = "default";
-+ hdmi-supply = <&hdmi_5v>;
- };
-
- &hdmi_tx_tmds_port {
diff --git a/testing/linux-amlogic/0028-arm64-dts-meson-gxl-libretech-cc-fix-GPIO-lines-name.patch b/testing/linux-amlogic/0028-arm64-dts-meson-gxl-libretech-cc-fix-GPIO-lines-name.patch
deleted file mode 100644
index ca8d27efb3a..00000000000
--- a/testing/linux-amlogic/0028-arm64-dts-meson-gxl-libretech-cc-fix-GPIO-lines-name.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From a0d84363005399bb41b3eee556aa813a129bbcdf Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 7 Nov 2018 11:45:47 +0100
-Subject: [PATCH] arm64: dts: meson-gxl-libretech-cc: fix GPIO lines names
-
-The gpio line names were set in the pinctrl node instead of the gpio node,
-at the time it was merged, it worked, but was obviously wrong.
-This patch moves the properties to the gpio nodes.
-
-Fixes: 47884c5c746e ("ARM64: dts: meson-gxl-libretech-cc: Add GPIO lines names")
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-index ca0228e..bb2a8c7 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-libretech-cc.dts
-@@ -209,7 +209,7 @@
- };
- };
-
--&pinctrl_aobus {
-+&gpio_ao {
- gpio-line-names = "UART TX",
- "UART RX",
- "Blue LED",
-@@ -224,7 +224,7 @@
- "7J1 Header Pin15";
- };
-
--&pinctrl_periphs {
-+&gpio {
- gpio-line-names = /* Bank GPIOZ */
- "", "", "", "", "", "", "",
- "", "", "", "", "", "", "",
diff --git a/testing/linux-amlogic/0029-arm64-dts-meson-gxbb-nanopi-k2-fix-GPIO-lines-names.patch b/testing/linux-amlogic/0029-arm64-dts-meson-gxbb-nanopi-k2-fix-GPIO-lines-names.patch
deleted file mode 100644
index 4ee05f01f14..00000000000
--- a/testing/linux-amlogic/0029-arm64-dts-meson-gxbb-nanopi-k2-fix-GPIO-lines-names.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 29cf4c3c228fd4cea4f46db9fa5e9386b3e794e6 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 7 Nov 2018 11:45:48 +0100
-Subject: [PATCH] arm64: dts: meson-gxbb-nanopi-k2: fix GPIO lines names
-
-The gpio line names were set in the pinctrl node instead of the gpio node,
-at the time it was merged, it worked, but was obviously wrong.
-This patch moves the properties to the gpio nodes.
-
-Fixes: 12ada0513d7a ("ARM64: dts: meson-gxbb-nanopi-k2: Add GPIO lines names")
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
-index 5b10de9..8ea5ed5 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
-@@ -236,7 +236,7 @@
- pinctrl-names = "default";
- };
-
--&pinctrl_aobus {
-+&gpio_ao {
- gpio-line-names = "UART TX", "UART RX", "Power Control", "Power Key In",
- "VCCK En", "CON1 Header Pin31",
- "I2S Header Pin6", "IR In", "I2S Header Pin7",
-@@ -246,7 +246,7 @@
- "";
- };
-
--&pinctrl_periphs {
-+&gpio {
- gpio-line-names = /* Bank GPIOZ */
- "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk",
- "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2",
diff --git a/testing/linux-amlogic/0030-arm64-dts-meson-gxbb-odroidc2-fix-GPIO-lines-names.patch b/testing/linux-amlogic/0030-arm64-dts-meson-gxbb-odroidc2-fix-GPIO-lines-names.patch
deleted file mode 100644
index 57e37258f58..00000000000
--- a/testing/linux-amlogic/0030-arm64-dts-meson-gxbb-odroidc2-fix-GPIO-lines-names.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From fe156961d17219329389eee52306a731b8151b49 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 7 Nov 2018 11:45:49 +0100
-Subject: [PATCH] arm64: dts: meson-gxbb-odroidc2: fix GPIO lines names
-
-The gpio line names were set in the pinctrl node instead of the gpio node,
-at the time it was merged, it worked, but was obviously wrong.
-This patch moves the properties to the gpio nodes.
-
-Fixes: b03c7d6438bb ("ARM64: dts: meson-gxbb-odroidc2: Add GPIO lines names")
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
-index 3da3309..73cc801 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts
-@@ -232,7 +232,7 @@
- pinctrl-names = "default";
- };
-
--&pinctrl_aobus {
-+&gpio_ao {
- gpio-line-names = "UART TX", "UART RX", "VCCK En", "TF 3V3/1V8 En",
- "USB HUB nRESET", "USB OTG Power En",
- "J7 Header Pin2", "IR In", "J7 Header Pin4",
-@@ -242,7 +242,7 @@
- "";
- };
-
--&pinctrl_periphs {
-+&gpio {
- gpio-line-names = /* Bank GPIOZ */
- "Eth MDIO", "Eth MDC", "Eth RGMII RX Clk",
- "Eth RX DV", "Eth RX D0", "Eth RX D1", "Eth RX D2",
diff --git a/testing/linux-amlogic/0031-arm64-dts-meson-gxl-khadas-vim-fix-GPIO-lines-names.patch b/testing/linux-amlogic/0031-arm64-dts-meson-gxl-khadas-vim-fix-GPIO-lines-names.patch
deleted file mode 100644
index 3e686149e6f..00000000000
--- a/testing/linux-amlogic/0031-arm64-dts-meson-gxl-khadas-vim-fix-GPIO-lines-names.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 06df453970ccfbd1affb8ecd6ea50808fa132774 Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Wed, 7 Nov 2018 11:45:50 +0100
-Subject: [PATCH] arm64: dts: meson-gxl-khadas-vim: fix GPIO lines names
-
-The gpio line names were set in the pinctrl node instead of the gpio node,
-at the time it was merged, it worked, but was obviously wrong.
-This patch moves the properties to the gpio nodes.
-
-Fixes: 60795933b709 ("ARM64: dts: meson-gxl-khadas-vim: Add GPIO lines names")
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-index e5ef9b0..1a4b3f3 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
-@@ -158,7 +158,7 @@
- linux,rc-map-name = "rc-geekbox";
- };
-
--&pinctrl_aobus {
-+&gpio_ao {
- gpio-line-names = "UART TX",
- "UART RX",
- "Power Key In",
-@@ -173,7 +173,7 @@
- "";
- };
-
--&pinctrl_periphs {
-+&gpio {
- gpio-line-names = /* Bank GPIOZ */
- "", "", "", "", "", "", "",
- "", "", "", "", "", "", "",
diff --git a/testing/linux-amlogic/0032-drm-meson-Add-support-for-VIC-alternate-timings.patch b/testing/linux-amlogic/0032-drm-meson-Add-support-for-VIC-alternate-timings.patch
deleted file mode 100644
index 42673f4bc2a..00000000000
--- a/testing/linux-amlogic/0032-drm-meson-Add-support-for-VIC-alternate-timings.patch
+++ /dev/null
@@ -1,328 +0,0 @@
-From 96c3cc9c6943cb27ee519cafe17cb563c3fcc28d Mon Sep 17 00:00:00 2001
-From: Neil Armstrong <narmstrong@baylibre.com>
-Date: Tue, 6 Nov 2018 11:54:35 +0100
-Subject: [PATCH] drm/meson: Add support for VIC alternate timings
-
-This change is an attempt to handle the alternate clock for the CEA mode.
-60Hz vs. 59.94Hz, 30Hz vs 29.97Hz or 24Hz vs 23.97Hz on the Amlogic Meson SoC
-DRM Driver pixel clock generation.
-
-The actual clock generation will be moved to the Common Clock framework once
-all the video clock are handled by the Amlogic Meson SoC clock driver,
-then these alternate timings will be handled in the same time in a cleaner
-fashion.
-
-Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
-
----
- drivers/gpu/drm/meson/meson_dw_hdmi.c | 12 +---
- drivers/gpu/drm/meson/meson_vclk.c | 127 +++++++++++++++++++++++-----------
- drivers/gpu/drm/meson/meson_vclk.h | 2 +
- 3 files changed, 89 insertions(+), 52 deletions(-)
-
-diff --git a/drivers/gpu/drm/meson/meson_dw_hdmi.c b/drivers/gpu/drm/meson/meson_dw_hdmi.c
-index df7247c..d8c5cc3 100644
---- a/drivers/gpu/drm/meson/meson_dw_hdmi.c
-+++ b/drivers/gpu/drm/meson/meson_dw_hdmi.c
-@@ -594,17 +594,7 @@ dw_hdmi_mode_valid(struct drm_connector *connector,
- dev_dbg(connector->dev->dev, "%s: vclk:%d venc=%d hdmi=%d\n", __func__,
- vclk_freq, venc_freq, hdmi_freq);
-
-- /* Finally filter by configurable vclk frequencies for VIC modes */
-- switch (vclk_freq) {
-- case 54000:
-- case 74250:
-- case 148500:
-- case 297000:
-- case 594000:
-- return MODE_OK;
-- }
--
-- return MODE_CLOCK_RANGE;
-+ return meson_vclk_vic_supported_freq(vclk_freq);
- }
-
- /* Encoder */
-diff --git a/drivers/gpu/drm/meson/meson_vclk.c b/drivers/gpu/drm/meson/meson_vclk.c
-index ae54732..5accceb 100644
---- a/drivers/gpu/drm/meson/meson_vclk.c
-+++ b/drivers/gpu/drm/meson/meson_vclk.c
-@@ -117,6 +117,8 @@
- #define HDMI_PLL_RESET BIT(28)
- #define HDMI_PLL_LOCK BIT(31)
-
-+#define FREQ_1000_1001(_freq) DIV_ROUND_CLOSEST(_freq * 1000, 1001)
-+
- /* VID PLL Dividers */
- enum {
- VID_PLL_DIV_1 = 0,
-@@ -323,7 +325,7 @@ static void meson_venci_cvbs_clock_config(struct meson_drm *priv)
- enum {
- /* PLL O1 O2 O3 VP DV EN TX */
- /* 4320 /4 /4 /1 /5 /1 => /2 /2 */
-- MESON_VCLK_HDMI_ENCI_54000 = 1,
-+ MESON_VCLK_HDMI_ENCI_54000 = 0,
- /* 4320 /4 /4 /1 /5 /1 => /1 /2 */
- MESON_VCLK_HDMI_DDR_54000,
- /* 2970 /4 /1 /1 /5 /1 => /1 /2 */
-@@ -339,6 +341,7 @@ enum {
- };
-
- struct meson_vclk_params {
-+ unsigned int pixel_freq;
- unsigned int pll_base_freq;
- unsigned int pll_od1;
- unsigned int pll_od2;
-@@ -347,6 +350,7 @@ struct meson_vclk_params {
- unsigned int vclk_div;
- } params[] = {
- [MESON_VCLK_HDMI_ENCI_54000] = {
-+ .pixel_freq = 54000,
- .pll_base_freq = 4320000,
- .pll_od1 = 4,
- .pll_od2 = 4,
-@@ -355,6 +359,7 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_DDR_54000] = {
-+ .pixel_freq = 54000,
- .pll_base_freq = 4320000,
- .pll_od1 = 4,
- .pll_od2 = 4,
-@@ -363,6 +368,7 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_DDR_148500] = {
-+ .pixel_freq = 148500,
- .pll_base_freq = 2970000,
- .pll_od1 = 4,
- .pll_od2 = 1,
-@@ -371,6 +377,7 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_74250] = {
-+ .pixel_freq = 74250,
- .pll_base_freq = 2970000,
- .pll_od1 = 2,
- .pll_od2 = 2,
-@@ -379,6 +386,7 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_148500] = {
-+ .pixel_freq = 148500,
- .pll_base_freq = 2970000,
- .pll_od1 = 1,
- .pll_od2 = 2,
-@@ -387,6 +395,7 @@ struct meson_vclk_params {
- .vclk_div = 1,
- },
- [MESON_VCLK_HDMI_297000] = {
-+ .pixel_freq = 297000,
- .pll_base_freq = 2970000,
- .pll_od1 = 1,
- .pll_od2 = 1,
-@@ -395,6 +404,7 @@ struct meson_vclk_params {
- .vclk_div = 2,
- },
- [MESON_VCLK_HDMI_594000] = {
-+ .pixel_freq = 594000,
- .pll_base_freq = 5940000,
- .pll_od1 = 1,
- .pll_od2 = 1,
-@@ -402,6 +412,7 @@ struct meson_vclk_params {
- .vid_pll_div = VID_PLL_DIV_5,
- .vclk_div = 1,
- },
-+ { /* sentinel */ },
- };
-
- static inline unsigned int pll_od_to_reg(unsigned int od)
-@@ -626,12 +637,37 @@ static void meson_hdmi_pll_generic_set(struct meson_drm *priv,
- pll_freq);
- }
-
-+enum drm_mode_status
-+meson_vclk_vic_supported_freq(unsigned int freq)
-+{
-+ int i;
-+
-+ DRM_DEBUG_DRIVER("freq = %d\n", freq);
-+
-+ for (i = 0 ; params[i].pixel_freq ; ++i) {
-+ DRM_DEBUG_DRIVER("i = %d pixel_freq = %d alt = %d\n",
-+ i, params[i].pixel_freq,
-+ FREQ_1000_1001(params[i].pixel_freq));
-+ /* Match strict frequency */
-+ if (freq == params[i].pixel_freq)
-+ return MODE_OK;
-+ /* Match 1000/1001 variant */
-+ if (freq == FREQ_1000_1001(params[i].pixel_freq))
-+ return MODE_OK;
-+ }
-+
-+ return MODE_CLOCK_RANGE;
-+}
-+EXPORT_SYMBOL_GPL(meson_vclk_vic_supported_freq);
-+
- static void meson_vclk_set(struct meson_drm *priv, unsigned int pll_base_freq,
- unsigned int od1, unsigned int od2, unsigned int od3,
- unsigned int vid_pll_div, unsigned int vclk_div,
- unsigned int hdmi_tx_div, unsigned int venc_div,
-- bool hdmi_use_enci)
-+ bool hdmi_use_enci, bool vic_alternate_clock)
- {
-+ unsigned int m, frac;
-+
- /* Set HDMI-TX sys clock */
- regmap_update_bits(priv->hhi, HHI_HDMI_CLK_CNTL,
- CTS_HDMI_SYS_SEL_MASK, 0);
-@@ -646,34 +682,38 @@ static void meson_vclk_set(struct meson_drm *priv, unsigned int pll_base_freq,
- } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxbb-vpu")) {
- switch (pll_base_freq) {
- case 2970000:
-- meson_hdmi_pll_set_params(priv, 0x3d, 0xe00,
-- od1, od2, od3);
-+ m = 0x3d;
-+ frac = vic_alternate_clock ? 0xd02 : 0xe00;
- break;
- case 4320000:
-- meson_hdmi_pll_set_params(priv, 0x5a, 0,
-- od1, od2, od3);
-+ m = vic_alternate_clock ? 0x59 : 0x5a;
-+ frac = vic_alternate_clock ? 0xe8f : 0;
- break;
- case 5940000:
-- meson_hdmi_pll_set_params(priv, 0x7b, 0xc00,
-- od1, od2, od3);
-+ m = 0x7b;
-+ frac = vic_alternate_clock ? 0xa05 : 0xc00;
- break;
- }
-+
-+ meson_hdmi_pll_set_params(priv, m, frac, od1, od2, od3);
- } else if (meson_vpu_is_compatible(priv, "amlogic,meson-gxm-vpu") ||
- meson_vpu_is_compatible(priv, "amlogic,meson-gxl-vpu")) {
- switch (pll_base_freq) {
- case 2970000:
-- meson_hdmi_pll_set_params(priv, 0x7b, 0x300,
-- od1, od2, od3);
-+ m = 0x7b;
-+ frac = vic_alternate_clock ? 0x281 : 0x300;
- break;
- case 4320000:
-- meson_hdmi_pll_set_params(priv, 0xb4, 0,
-- od1, od2, od3);
-+ m = vic_alternate_clock ? 0xb3 : 0xb4;
-+ frac = vic_alternate_clock ? 0x347 : 0;
- break;
- case 5940000:
-- meson_hdmi_pll_set_params(priv, 0xf7, 0x200,
-- od1, od2, od3);
-+ m = 0xf7;
-+ frac = vic_alternate_clock ? 0x102 : 0x200;
- break;
- }
-+
-+ meson_hdmi_pll_set_params(priv, m, frac, od1, od2, od3);
- }
-
- /* Setup vid_pll divider */
-@@ -826,6 +866,7 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
- unsigned int vclk_freq, unsigned int venc_freq,
- unsigned int dac_freq, bool hdmi_use_enci)
- {
-+ bool vic_alternate_clock = false;
- unsigned int freq;
- unsigned int hdmi_tx_div;
- unsigned int venc_div;
-@@ -843,7 +884,7 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
- * - encp encoder
- */
- meson_vclk_set(priv, vclk_freq * 10, 0, 0, 0,
-- VID_PLL_DIV_5, 2, 1, 1, false);
-+ VID_PLL_DIV_5, 2, 1, 1, false, false);
- return;
- }
-
-@@ -863,31 +904,35 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
- return;
- }
-
-- switch (vclk_freq) {
-- case 54000:
-- if (hdmi_use_enci)
-- freq = MESON_VCLK_HDMI_ENCI_54000;
-- else
-- freq = MESON_VCLK_HDMI_DDR_54000;
-- break;
-- case 74250:
-- freq = MESON_VCLK_HDMI_74250;
-- break;
-- case 148500:
-- if (dac_freq != 148500)
-- freq = MESON_VCLK_HDMI_DDR_148500;
-- else
-- freq = MESON_VCLK_HDMI_148500;
-- break;
-- case 297000:
-- freq = MESON_VCLK_HDMI_297000;
-- break;
-- case 594000:
-- freq = MESON_VCLK_HDMI_594000;
-- break;
-- default:
-- pr_err("Fatal Error, invalid HDMI vclk freq %d\n",
-- vclk_freq);
-+ for (freq = 0 ; params[freq].pixel_freq ; ++freq) {
-+ if (vclk_freq == params[freq].pixel_freq ||
-+ vclk_freq == FREQ_1000_1001(params[freq].pixel_freq)) {
-+ if (vclk_freq != params[freq].pixel_freq)
-+ vic_alternate_clock = true;
-+ else
-+ vic_alternate_clock = false;
-+
-+ if (freq == MESON_VCLK_HDMI_ENCI_54000 &&
-+ !hdmi_use_enci)
-+ continue;
-+
-+ if (freq == MESON_VCLK_HDMI_DDR_54000 &&
-+ hdmi_use_enci)
-+ continue;
-+
-+ if (freq == MESON_VCLK_HDMI_DDR_148500 &&
-+ dac_freq == vclk_freq)
-+ continue;
-+
-+ if (freq == MESON_VCLK_HDMI_148500 &&
-+ dac_freq != vclk_freq)
-+ continue;
-+ break;
-+ }
-+ }
-+
-+ if (!params[freq].pixel_freq) {
-+ pr_err("Fatal Error, invalid HDMI vclk freq %d\n", vclk_freq);
- return;
- }
-
-@@ -895,6 +940,6 @@ void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
- params[freq].pll_od1, params[freq].pll_od2,
- params[freq].pll_od3, params[freq].vid_pll_div,
- params[freq].vclk_div, hdmi_tx_div, venc_div,
-- hdmi_use_enci);
-+ hdmi_use_enci, vic_alternate_clock);
- }
- EXPORT_SYMBOL_GPL(meson_vclk_setup);
-diff --git a/drivers/gpu/drm/meson/meson_vclk.h b/drivers/gpu/drm/meson/meson_vclk.h
-index 869fa3a..4bd8752 100644
---- a/drivers/gpu/drm/meson/meson_vclk.h
-+++ b/drivers/gpu/drm/meson/meson_vclk.h
-@@ -32,6 +32,8 @@ enum {
-
- enum drm_mode_status
- meson_vclk_dmt_supported_freq(struct meson_drm *priv, unsigned int freq);
-+enum drm_mode_status
-+meson_vclk_vic_supported_freq(unsigned int freq);
-
- void meson_vclk_setup(struct meson_drm *priv, unsigned int target,
- unsigned int vclk_freq, unsigned int venc_freq,
diff --git a/testing/linux-amlogic/0033-media-meson-add-v4l2-m2m-video-decoder-driver.patch b/testing/linux-amlogic/0033-media-meson-add-v4l2-m2m-video-decoder-driver.patch
deleted file mode 100644
index 3604a6e456a..00000000000
--- a/testing/linux-amlogic/0033-media-meson-add-v4l2-m2m-video-decoder-driver.patch
+++ /dev/null
@@ -1,2969 +0,0 @@
-From 2c28b1d1f1487bf4aecb36986c2d7b73eb8ac94d Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Wed, 29 Aug 2018 15:17:22 +0200
-Subject: [PATCH] media: meson: add v4l2 m2m video decoder driver
-
-Amlogic SoCs feature a powerful video decoder unit able to
-decode many formats, with a performance of usually up to 4k60.
-
-This is a driver for this IP that is based around the v4l2 m2m framework.
-
-It features decoding for:
-- MPEG 1
-- MPEG 2
-
-Supported SoCs are: GXBB (S905), GXL (S905X/W/D), GXM (S912)
-
-There is also a hardware bitstream parser (ESPARSER) that is handled here.
-
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- drivers/media/platform/Kconfig | 10 +
- drivers/media/platform/meson/Makefile | 1 +
- drivers/media/platform/meson/vdec/Makefile | 8 +
- drivers/media/platform/meson/vdec/codec_mpeg12.c | 209 +++++
- drivers/media/platform/meson/vdec/codec_mpeg12.h | 14 +
- drivers/media/platform/meson/vdec/dos_regs.h | 98 ++
- drivers/media/platform/meson/vdec/esparser.c | 322 +++++++
- drivers/media/platform/meson/vdec/esparser.h | 32 +
- drivers/media/platform/meson/vdec/vdec.c | 1034 +++++++++++++++++++++
- drivers/media/platform/meson/vdec/vdec.h | 251 +++++
- drivers/media/platform/meson/vdec/vdec_1.c | 231 +++++
- drivers/media/platform/meson/vdec/vdec_1.h | 14 +
- drivers/media/platform/meson/vdec/vdec_helpers.c | 412 ++++++++
- drivers/media/platform/meson/vdec/vdec_helpers.h | 48 +
- drivers/media/platform/meson/vdec/vdec_platform.c | 101 ++
- drivers/media/platform/meson/vdec/vdec_platform.h | 30 +
- 16 files changed, 2815 insertions(+)
- create mode 100644 drivers/media/platform/meson/vdec/Makefile
- create mode 100644 drivers/media/platform/meson/vdec/codec_mpeg12.c
- create mode 100644 drivers/media/platform/meson/vdec/codec_mpeg12.h
- create mode 100644 drivers/media/platform/meson/vdec/dos_regs.h
- create mode 100644 drivers/media/platform/meson/vdec/esparser.c
- create mode 100644 drivers/media/platform/meson/vdec/esparser.h
- create mode 100644 drivers/media/platform/meson/vdec/vdec.c
- create mode 100644 drivers/media/platform/meson/vdec/vdec.h
- create mode 100644 drivers/media/platform/meson/vdec/vdec_1.c
- create mode 100644 drivers/media/platform/meson/vdec/vdec_1.h
- create mode 100644 drivers/media/platform/meson/vdec/vdec_helpers.c
- create mode 100644 drivers/media/platform/meson/vdec/vdec_helpers.h
- create mode 100644 drivers/media/platform/meson/vdec/vdec_platform.c
- create mode 100644 drivers/media/platform/meson/vdec/vdec_platform.h
-
-diff --git a/drivers/media/platform/Kconfig b/drivers/media/platform/Kconfig
-index 54fe90a..6bffb0c 100644
---- a/drivers/media/platform/Kconfig
-+++ b/drivers/media/platform/Kconfig
-@@ -482,6 +482,16 @@ config VIDEO_QCOM_VENUS
- on various Qualcomm SoCs.
- To compile this driver as a module choose m here.
-
-+config VIDEO_MESON_VDEC
-+ tristate "Amlogic video decoder driver"
-+ depends on VIDEO_DEV && VIDEO_V4L2 && HAS_DMA
-+ depends on ARCH_MESON || COMPILE_TEST
-+ select VIDEOBUF2_DMA_CONTIG
-+ select V4L2_MEM2MEM_DEV
-+ select MESON_CANVAS
-+ help
-+ Support for the video decoder found in gxbb/gxl/gxm chips.
-+
- endif # V4L_MEM2MEM_DRIVERS
-
- # TI VIDEO PORT Helper Modules
-diff --git a/drivers/media/platform/meson/Makefile b/drivers/media/platform/meson/Makefile
-index 597beb8..f7c6e10 100644
---- a/drivers/media/platform/meson/Makefile
-+++ b/drivers/media/platform/meson/Makefile
-@@ -1 +1,2 @@
- obj-$(CONFIG_VIDEO_MESON_AO_CEC) += ao-cec.o
-+obj-$(CONFIG_VIDEO_MESON_VDEC) += vdec/
-diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile
-new file mode 100644
-index 0000000..6bea129
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/Makefile
-@@ -0,0 +1,8 @@
-+# SPDX-License-Identifier: GPL-2.0
-+# Makefile for Amlogic meson video decoder driver
-+
-+meson-vdec-objs = esparser.o vdec.o vdec_helpers.o vdec_platform.o
-+meson-vdec-objs += vdec_1.o
-+meson-vdec-objs += codec_mpeg12.o
-+
-+obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o
-diff --git a/drivers/media/platform/meson/vdec/codec_mpeg12.c b/drivers/media/platform/meson/vdec/codec_mpeg12.c
-new file mode 100644
-index 0000000..1bd6fb7
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/codec_mpeg12.c
-@@ -0,0 +1,209 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#include <media/v4l2-mem2mem.h>
-+#include <media/videobuf2-dma-contig.h>
-+
-+#include "vdec_helpers.h"
-+#include "dos_regs.h"
-+
-+#define SIZE_WORKSPACE SZ_128K
-+/* Offset substracted by the firmware from the workspace paddr */
-+#define WORKSPACE_OFFSET (5 * SZ_1K)
-+
-+/* map firmware registers to known MPEG1/2 functions */
-+#define MREG_SEQ_INFO AV_SCRATCH_4
-+ #define MPEG2_SEQ_DAR_MASK GENMASK(3, 0)
-+ #define MPEG2_DAR_4_3 2
-+ #define MPEG2_DAR_16_9 3
-+ #define MPEG2_DAR_221_100 4
-+#define MREG_PIC_INFO AV_SCRATCH_5
-+#define MREG_PIC_WIDTH AV_SCRATCH_6
-+#define MREG_PIC_HEIGHT AV_SCRATCH_7
-+#define MREG_BUFFERIN AV_SCRATCH_8
-+#define MREG_BUFFEROUT AV_SCRATCH_9
-+#define MREG_CMD AV_SCRATCH_A
-+#define MREG_CO_MV_START AV_SCRATCH_B
-+#define MREG_ERROR_COUNT AV_SCRATCH_C
-+#define MREG_FRAME_OFFSET AV_SCRATCH_D
-+#define MREG_WAIT_BUFFER AV_SCRATCH_E
-+#define MREG_FATAL_ERROR AV_SCRATCH_F
-+
-+#define PICINFO_PROG 0x00008000
-+#define PICINFO_TOP_FIRST 0x00002000
-+
-+struct codec_mpeg12 {
-+ /* Buffer for the MPEG1/2 Workspace */
-+ void *workspace_vaddr;
-+ dma_addr_t workspace_paddr;
-+};
-+
-+static const u8 eos_sequence[SZ_1K] = { 0x00, 0x00, 0x01, 0xB7 };
-+
-+static const u8 *codec_mpeg12_eos_sequence(u32 *len)
-+{
-+ *len = ARRAY_SIZE(eos_sequence);
-+ return eos_sequence;
-+}
-+
-+static int codec_mpeg12_can_recycle(struct amvdec_core *core)
-+{
-+ return !amvdec_read_dos(core, MREG_BUFFERIN);
-+}
-+
-+static void codec_mpeg12_recycle(struct amvdec_core *core, u32 buf_idx)
-+{
-+ amvdec_write_dos(core, MREG_BUFFERIN, buf_idx + 1);
-+}
-+
-+static int codec_mpeg12_start(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ struct codec_mpeg12 *mpeg12 = sess->priv;
-+ int ret;
-+
-+ mpeg12 = kzalloc(sizeof(*mpeg12), GFP_KERNEL);
-+ if (!mpeg12)
-+ return -ENOMEM;
-+
-+ /* Allocate some memory for the MPEG1/2 decoder's state */
-+ mpeg12->workspace_vaddr = dma_alloc_coherent(core->dev, SIZE_WORKSPACE,
-+ &mpeg12->workspace_paddr,
-+ GFP_KERNEL);
-+ if (!mpeg12->workspace_vaddr) {
-+ dev_err(core->dev, "Failed to request MPEG 1/2 Workspace\n");
-+ ret = -ENOMEM;
-+ goto free_mpeg12;
-+ }
-+
-+ ret = amvdec_set_canvases(sess, (u32[]){ AV_SCRATCH_0, 0 },
-+ (u32[]){ 8, 0 });
-+ if (ret)
-+ goto free_workspace;
-+
-+ amvdec_write_dos(core, POWER_CTL_VLD, BIT(4));
-+ amvdec_write_dos(core, MREG_CO_MV_START,
-+ mpeg12->workspace_paddr + WORKSPACE_OFFSET);
-+
-+ amvdec_write_dos(core, MPEG1_2_REG, 0);
-+ amvdec_write_dos(core, PSCALE_CTRL, 0);
-+ amvdec_write_dos(core, PIC_HEAD_INFO, 0x380);
-+ amvdec_write_dos(core, M4_CONTROL_REG, 0);
-+ amvdec_write_dos(core, MREG_BUFFERIN, 0);
-+ amvdec_write_dos(core, MREG_BUFFEROUT, 0);
-+ amvdec_write_dos(core, MREG_CMD, (sess->width << 16) | sess->height);
-+ amvdec_write_dos(core, MREG_ERROR_COUNT, 0);
-+ amvdec_write_dos(core, MREG_FATAL_ERROR, 0);
-+ amvdec_write_dos(core, MREG_WAIT_BUFFER, 0);
-+
-+ sess->keyframe_found = 1;
-+ sess->priv = mpeg12;
-+
-+ return 0;
-+
-+free_workspace:
-+ dma_free_coherent(core->dev, SIZE_WORKSPACE, mpeg12->workspace_vaddr,
-+ mpeg12->workspace_paddr);
-+free_mpeg12:
-+ kfree(mpeg12);
-+
-+ return ret;
-+}
-+
-+static int codec_mpeg12_stop(struct amvdec_session *sess)
-+{
-+ struct codec_mpeg12 *mpeg12 = sess->priv;
-+ struct amvdec_core *core = sess->core;
-+
-+ if (mpeg12->workspace_vaddr)
-+ dma_free_coherent(core->dev, SIZE_WORKSPACE,
-+ mpeg12->workspace_vaddr,
-+ mpeg12->workspace_paddr);
-+
-+ return 0;
-+}
-+
-+static void codec_mpeg12_update_dar(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u32 seq = amvdec_read_dos(core, MREG_SEQ_INFO);
-+ u32 ar = seq & MPEG2_SEQ_DAR_MASK;
-+
-+ switch (ar) {
-+ case MPEG2_DAR_4_3:
-+ amvdec_set_par_from_dar(sess, 4, 3);
-+ break;
-+ case MPEG2_DAR_16_9:
-+ amvdec_set_par_from_dar(sess, 16, 9);
-+ break;
-+ case MPEG2_DAR_221_100:
-+ amvdec_set_par_from_dar(sess, 221, 100);
-+ break;
-+ default:
-+ sess->pixelaspect.numerator = 1;
-+ sess->pixelaspect.denominator = 1;
-+ break;
-+ };
-+}
-+
-+static irqreturn_t codec_mpeg12_threaded_isr(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u32 reg;
-+ u32 pic_info;
-+ u32 is_progressive;
-+ u32 buffer_index;
-+ u32 field = V4L2_FIELD_NONE;
-+ u32 offset;
-+
-+ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1);
-+ reg = amvdec_read_dos(core, MREG_FATAL_ERROR);
-+ if (reg == 1) {
-+ dev_err(core->dev, "MPEG1/2 fatal error\n");
-+ amvdec_abort(sess);
-+ return IRQ_HANDLED;
-+ }
-+
-+ reg = amvdec_read_dos(core, MREG_BUFFEROUT);
-+ if (!reg)
-+ return IRQ_HANDLED;
-+
-+ /* Unclear what this means */
-+ if ((reg & GENMASK(23, 17)) == GENMASK(23, 17))
-+ goto end;
-+
-+ pic_info = amvdec_read_dos(core, MREG_PIC_INFO);
-+ is_progressive = pic_info & PICINFO_PROG;
-+
-+ if (!is_progressive)
-+ field = (pic_info & PICINFO_TOP_FIRST) ?
-+ V4L2_FIELD_INTERLACED_TB :
-+ V4L2_FIELD_INTERLACED_BT;
-+
-+ codec_mpeg12_update_dar(sess);
-+ buffer_index = ((reg & 0xf) - 1) & 7;
-+ offset = amvdec_read_dos(core, MREG_FRAME_OFFSET);
-+ amvdec_dst_buf_done_idx(sess, buffer_index, offset, field);
-+
-+end:
-+ amvdec_write_dos(core, MREG_BUFFEROUT, 0);
-+ return IRQ_HANDLED;
-+}
-+
-+static irqreturn_t codec_mpeg12_isr(struct amvdec_session *sess)
-+{
-+ return IRQ_WAKE_THREAD;
-+}
-+
-+struct amvdec_codec_ops codec_mpeg12_ops = {
-+ .start = codec_mpeg12_start,
-+ .stop = codec_mpeg12_stop,
-+ .isr = codec_mpeg12_isr,
-+ .threaded_isr = codec_mpeg12_threaded_isr,
-+ .can_recycle = codec_mpeg12_can_recycle,
-+ .recycle = codec_mpeg12_recycle,
-+ .eos_sequence = codec_mpeg12_eos_sequence,
-+};
-diff --git a/drivers/media/platform/meson/vdec/codec_mpeg12.h b/drivers/media/platform/meson/vdec/codec_mpeg12.h
-new file mode 100644
-index 0000000..43cab5f
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/codec_mpeg12.h
-@@ -0,0 +1,14 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#ifndef __MESON_VDEC_CODEC_MPEG12_H_
-+#define __MESON_VDEC_CODEC_MPEG12_H_
-+
-+#include "vdec.h"
-+
-+extern struct amvdec_codec_ops codec_mpeg12_ops;
-+
-+#endif
-diff --git a/drivers/media/platform/meson/vdec/dos_regs.h b/drivers/media/platform/meson/vdec/dos_regs.h
-new file mode 100644
-index 0000000..abd8105
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/dos_regs.h
-@@ -0,0 +1,98 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#ifndef __MESON_VDEC_DOS_REGS_H_
-+#define __MESON_VDEC_DOS_REGS_H_
-+
-+/* DOS registers */
-+#define VDEC_ASSIST_AMR1_INT8 0x00b4
-+
-+#define ASSIST_MBOX1_CLR_REG 0x01d4
-+#define ASSIST_MBOX1_MASK 0x01d8
-+
-+#define MPSR 0x0c04
-+#define MCPU_INTR_MSK 0x0c10
-+#define CPSR 0x0c84
-+
-+#define IMEM_DMA_CTRL 0x0d00
-+#define IMEM_DMA_ADR 0x0d04
-+#define IMEM_DMA_COUNT 0x0d08
-+#define LMEM_DMA_CTRL 0x0d40
-+
-+#define MC_STATUS0 0x2424
-+#define MC_CTRL1 0x242c
-+
-+#define PSCALE_RST 0x2440
-+#define PSCALE_CTRL 0x2444
-+#define PSCALE_BMEM_ADDR 0x247c
-+#define PSCALE_BMEM_DAT 0x2480
-+
-+#define DBLK_CTRL 0x2544
-+#define DBLK_STATUS 0x254c
-+
-+#define GCLK_EN 0x260c
-+#define MDEC_PIC_DC_CTRL 0x2638
-+#define MDEC_PIC_DC_STATUS 0x263c
-+#define ANC0_CANVAS_ADDR 0x2640
-+#define MDEC_PIC_DC_THRESH 0x26e0
-+
-+/* Firmware interface registers */
-+#define AV_SCRATCH_0 0x2700
-+#define AV_SCRATCH_1 0x2704
-+#define AV_SCRATCH_2 0x2708
-+#define AV_SCRATCH_3 0x270c
-+#define AV_SCRATCH_4 0x2710
-+#define AV_SCRATCH_5 0x2714
-+#define AV_SCRATCH_6 0x2718
-+#define AV_SCRATCH_7 0x271c
-+#define AV_SCRATCH_8 0x2720
-+#define AV_SCRATCH_9 0x2724
-+#define AV_SCRATCH_A 0x2728
-+#define AV_SCRATCH_B 0x272c
-+#define AV_SCRATCH_C 0x2730
-+#define AV_SCRATCH_D 0x2734
-+#define AV_SCRATCH_E 0x2738
-+#define AV_SCRATCH_F 0x273c
-+#define AV_SCRATCH_G 0x2740
-+#define AV_SCRATCH_H 0x2744
-+#define AV_SCRATCH_I 0x2748
-+#define AV_SCRATCH_J 0x274c
-+#define AV_SCRATCH_K 0x2750
-+#define AV_SCRATCH_L 0x2754
-+
-+#define MPEG1_2_REG 0x3004
-+#define PIC_HEAD_INFO 0x300c
-+#define POWER_CTL_VLD 0x3020
-+#define M4_CONTROL_REG 0x30a4
-+
-+/* Stream Buffer (stbuf) regs */
-+#define VLD_MEM_VIFIFO_START_PTR 0x3100
-+#define VLD_MEM_VIFIFO_CURR_PTR 0x3104
-+#define VLD_MEM_VIFIFO_END_PTR 0x3108
-+#define VLD_MEM_VIFIFO_CONTROL 0x3110
-+ #define MEM_FIFO_CNT_BIT 16
-+ #define MEM_FILL_ON_LEVEL BIT(10)
-+ #define MEM_CTRL_EMPTY_EN BIT(2)
-+ #define MEM_CTRL_FILL_EN BIT(1)
-+#define VLD_MEM_VIFIFO_WP 0x3114
-+#define VLD_MEM_VIFIFO_RP 0x3118
-+#define VLD_MEM_VIFIFO_LEVEL 0x311c
-+#define VLD_MEM_VIFIFO_BUF_CNTL 0x3120
-+ #define MEM_BUFCTRL_MANUAL BIT(1)
-+#define VLD_MEM_VIFIFO_WRAP_COUNT 0x3144
-+
-+#define DCAC_DMA_CTRL 0x3848
-+
-+#define DOS_SW_RESET0 0xfc00
-+#define DOS_GCLK_EN0 0xfc04
-+#define DOS_GEN_CTRL0 0xfc08
-+#define DOS_MEM_PD_VDEC 0xfcc0
-+#define DOS_MEM_PD_HEVC 0xfccc
-+#define DOS_SW_RESET3 0xfcd0
-+#define DOS_GCLK_EN3 0xfcd4
-+#define DOS_VDEC_MCRCC_STALL_CTRL 0xfd00
-+
-+#endif
-diff --git a/drivers/media/platform/meson/vdec/esparser.c b/drivers/media/platform/meson/vdec/esparser.c
-new file mode 100644
-index 0000000..9498812
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/esparser.c
-@@ -0,0 +1,322 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ *
-+ * The Elementary Stream Parser is a HW bitstream parser.
-+ * It reads bitstream buffers and feeds them to the VIFIFO
-+ */
-+
-+#include <linux/init.h>
-+#include <linux/ioctl.h>
-+#include <linux/list.h>
-+#include <linux/module.h>
-+#include <linux/of_device.h>
-+#include <linux/reset.h>
-+#include <media/videobuf2-dma-contig.h>
-+#include <media/v4l2-mem2mem.h>
-+
-+#include "dos_regs.h"
-+#include "esparser.h"
-+#include "vdec_helpers.h"
-+
-+/* PARSER REGS (CBUS) */
-+#define PARSER_CONTROL 0x00
-+ #define ES_PACK_SIZE_BIT 8
-+ #define ES_WRITE BIT(5)
-+ #define ES_SEARCH BIT(1)
-+ #define ES_PARSER_START BIT(0)
-+#define PARSER_FETCH_ADDR 0x4
-+#define PARSER_FETCH_CMD 0x8
-+#define PARSER_CONFIG 0x14
-+ #define PS_CFG_MAX_FETCH_CYCLE_BIT 0
-+ #define PS_CFG_STARTCODE_WID_24_BIT 10
-+ #define PS_CFG_MAX_ES_WR_CYCLE_BIT 12
-+ #define PS_CFG_PFIFO_EMPTY_CNT_BIT 16
-+#define PFIFO_WR_PTR 0x18
-+#define PFIFO_RD_PTR 0x1c
-+#define PARSER_SEARCH_PATTERN 0x24
-+ #define ES_START_CODE_PATTERN 0x00000100
-+#define PARSER_SEARCH_MASK 0x28
-+ #define ES_START_CODE_MASK 0xffffff00
-+ #define FETCH_ENDIAN_BIT 27
-+#define PARSER_INT_ENABLE 0x2c
-+ #define PARSER_INT_HOST_EN_BIT 8
-+#define PARSER_INT_STATUS 0x30
-+ #define PARSER_INTSTAT_SC_FOUND 1
-+#define PARSER_ES_CONTROL 0x5c
-+#define PARSER_VIDEO_START_PTR 0x80
-+#define PARSER_VIDEO_END_PTR 0x84
-+#define PARSER_VIDEO_WP 0x88
-+#define PARSER_VIDEO_HOLE 0x90
-+
-+#define SEARCH_PATTERN_LEN 512
-+
-+static DECLARE_WAIT_QUEUE_HEAD(wq);
-+static int search_done;
-+
-+static irqreturn_t esparser_isr(int irq, void *dev)
-+{
-+ int int_status;
-+ struct amvdec_core *core = dev;
-+
-+ int_status = amvdec_read_parser(core, PARSER_INT_STATUS);
-+ amvdec_write_parser(core, PARSER_INT_STATUS, int_status);
-+
-+ if (int_status & PARSER_INTSTAT_SC_FOUND) {
-+ amvdec_write_parser(core, PFIFO_RD_PTR, 0);
-+ amvdec_write_parser(core, PFIFO_WR_PTR, 0);
-+ search_done = 1;
-+ wake_up_interruptible(&wq);
-+ }
-+
-+ return IRQ_HANDLED;
-+}
-+
-+/* Pad the packet to at least 4KiB bytes otherwise the VDEC unit won't trigger
-+ * ISRs.
-+ * Also append a start code 000001ff at the end to trigger
-+ * the ESPARSER interrupt.
-+ */
-+static u32 esparser_pad_start_code(struct vb2_buffer *vb)
-+{
-+ u32 payload_size = vb2_get_plane_payload(vb, 0);
-+ u32 pad_size = 0;
-+ u8 *vaddr = vb2_plane_vaddr(vb, 0) + payload_size;
-+
-+ if (payload_size < ESPARSER_MIN_PACKET_SIZE) {
-+ pad_size = ESPARSER_MIN_PACKET_SIZE - payload_size;
-+ memset(vaddr, 0, pad_size);
-+ }
-+
-+ memset(vaddr + pad_size, 0, SEARCH_PATTERN_LEN);
-+ vaddr[pad_size] = 0x00;
-+ vaddr[pad_size + 1] = 0x00;
-+ vaddr[pad_size + 2] = 0x01;
-+ vaddr[pad_size + 3] = 0xff;
-+
-+ return pad_size;
-+}
-+
-+static int
-+esparser_write_data(struct amvdec_core *core, dma_addr_t addr, u32 size)
-+{
-+ amvdec_write_parser(core, PFIFO_RD_PTR, 0);
-+ amvdec_write_parser(core, PFIFO_WR_PTR, 0);
-+ amvdec_write_parser(core, PARSER_CONTROL,
-+ ES_WRITE |
-+ ES_PARSER_START |
-+ ES_SEARCH |
-+ (size << ES_PACK_SIZE_BIT));
-+
-+ amvdec_write_parser(core, PARSER_FETCH_ADDR, addr);
-+ amvdec_write_parser(core, PARSER_FETCH_CMD,
-+ (7 << FETCH_ENDIAN_BIT) |
-+ (size + SEARCH_PATTERN_LEN));
-+
-+ search_done = 0;
-+ return wait_event_interruptible_timeout(wq, search_done, (HZ / 5));
-+}
-+
-+static u32 esparser_vififo_get_free_space(struct amvdec_session *sess)
-+{
-+ u32 vififo_usage;
-+ struct amvdec_ops *vdec_ops = sess->fmt_out->vdec_ops;
-+ struct amvdec_core *core = sess->core;
-+
-+ vififo_usage = vdec_ops->vififo_level(sess);
-+ vififo_usage += amvdec_read_parser(core, PARSER_VIDEO_HOLE);
-+ vififo_usage += (6 * SZ_1K); // 6 KiB internal fifo
-+
-+ if (vififo_usage > sess->vififo_size) {
-+ dev_warn(sess->core->dev,
-+ "VIFIFO usage (%u) > VIFIFO size (%u)\n",
-+ vififo_usage, sess->vififo_size);
-+ return 0;
-+ }
-+
-+ return sess->vififo_size - vififo_usage;
-+}
-+
-+int esparser_queue_eos(struct amvdec_core *core, const u8 *data, u32 len)
-+{
-+ struct device *dev = core->dev;
-+ void *eos_vaddr;
-+ dma_addr_t eos_paddr;
-+ int ret;
-+
-+ eos_vaddr = dma_alloc_coherent(dev,
-+ len + SEARCH_PATTERN_LEN,
-+ &eos_paddr, GFP_KERNEL);
-+ if (!eos_vaddr)
-+ return -ENOMEM;
-+
-+ memset(eos_vaddr, 0, len + SEARCH_PATTERN_LEN);
-+ memcpy(eos_vaddr, data, len);
-+ ret = esparser_write_data(core, eos_paddr, len);
-+ dma_free_coherent(dev, len + SEARCH_PATTERN_LEN,
-+ eos_vaddr, eos_paddr);
-+
-+ return ret;
-+}
-+
-+static u32 esparser_get_offset(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u32 offset = amvdec_read_parser(core, PARSER_VIDEO_WP) -
-+ sess->vififo_paddr;
-+
-+ if (offset < sess->last_offset)
-+ sess->wrap_count++;
-+
-+ sess->last_offset = offset;
-+ offset += (sess->wrap_count * sess->vififo_size);
-+
-+ return offset;
-+}
-+
-+static int
-+esparser_queue(struct amvdec_session *sess, struct vb2_v4l2_buffer *vbuf)
-+{
-+ int ret;
-+ struct vb2_buffer *vb = &vbuf->vb2_buf;
-+ struct amvdec_core *core = sess->core;
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
-+ u32 num_dst_bufs = 0;
-+ u32 payload_size = vb2_get_plane_payload(vb, 0);
-+ dma_addr_t phy = vb2_dma_contig_plane_dma_addr(vb, 0);
-+ u32 offset;
-+ u32 pad_size;
-+
-+ if (codec_ops->num_pending_bufs)
-+ num_dst_bufs = codec_ops->num_pending_bufs(sess);
-+
-+ num_dst_bufs += v4l2_m2m_num_dst_bufs_ready(sess->m2m_ctx);
-+
-+ if (esparser_vififo_get_free_space(sess) < payload_size ||
-+ atomic_read(&sess->esparser_queued_bufs) >= num_dst_bufs)
-+ return -EAGAIN;
-+
-+ v4l2_m2m_src_buf_remove_by_buf(sess->m2m_ctx, vbuf);
-+
-+ offset = esparser_get_offset(sess);
-+
-+ amvdec_add_ts_reorder(sess, vb->timestamp, offset);
-+ dev_dbg(core->dev, "esparser: ts = %llu pld_size = %u offset = %08X\n",
-+ vb->timestamp, payload_size, offset);
-+
-+ pad_size = esparser_pad_start_code(vb);
-+ ret = esparser_write_data(core, phy, payload_size + pad_size);
-+
-+ if (ret <= 0) {
-+ dev_warn(core->dev, "esparser: input parsing error\n");
-+ amvdec_remove_ts(sess, vb->timestamp);
-+ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR);
-+ amvdec_write_parser(core, PARSER_FETCH_CMD, 0);
-+
-+ return 0;
-+ }
-+
-+ /* We need to wait until we parse the first keyframe.
-+ * All buffers prior to the first keyframe must be dropped.
-+ */
-+ if (!sess->keyframe_found)
-+ usleep_range(1000, 2000);
-+
-+ if (sess->keyframe_found)
-+ atomic_inc(&sess->esparser_queued_bufs);
-+ else
-+ amvdec_remove_ts(sess, vb->timestamp);
-+
-+ vbuf->flags = 0;
-+ vbuf->field = V4L2_FIELD_NONE;
-+ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_DONE);
-+
-+ return 0;
-+}
-+
-+void esparser_queue_all_src(struct work_struct *work)
-+{
-+ struct v4l2_m2m_buffer *buf, *n;
-+ struct amvdec_session *sess =
-+ container_of(work, struct amvdec_session, esparser_queue_work);
-+
-+ mutex_lock(&sess->lock);
-+ v4l2_m2m_for_each_src_buf_safe(sess->m2m_ctx, buf, n) {
-+ if (esparser_queue(sess, &buf->vb) < 0)
-+ break;
-+ }
-+ mutex_unlock(&sess->lock);
-+}
-+
-+int esparser_power_up(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ struct amvdec_ops *vdec_ops = sess->fmt_out->vdec_ops;
-+
-+ reset_control_reset(core->esparser_reset);
-+ amvdec_write_parser(core, PARSER_CONFIG,
-+ (10 << PS_CFG_PFIFO_EMPTY_CNT_BIT) |
-+ (1 << PS_CFG_MAX_ES_WR_CYCLE_BIT) |
-+ (16 << PS_CFG_MAX_FETCH_CYCLE_BIT));
-+
-+ amvdec_write_parser(core, PFIFO_RD_PTR, 0);
-+ amvdec_write_parser(core, PFIFO_WR_PTR, 0);
-+
-+ amvdec_write_parser(core, PARSER_SEARCH_PATTERN,
-+ ES_START_CODE_PATTERN);
-+ amvdec_write_parser(core, PARSER_SEARCH_MASK, ES_START_CODE_MASK);
-+
-+ amvdec_write_parser(core, PARSER_CONFIG,
-+ (10 << PS_CFG_PFIFO_EMPTY_CNT_BIT) |
-+ (1 << PS_CFG_MAX_ES_WR_CYCLE_BIT) |
-+ (16 << PS_CFG_MAX_FETCH_CYCLE_BIT) |
-+ (2 << PS_CFG_STARTCODE_WID_24_BIT));
-+
-+ amvdec_write_parser(core, PARSER_CONTROL,
-+ (ES_SEARCH | ES_PARSER_START));
-+
-+ amvdec_write_parser(core, PARSER_VIDEO_START_PTR, sess->vififo_paddr);
-+ amvdec_write_parser(core, PARSER_VIDEO_END_PTR,
-+ sess->vififo_paddr + sess->vififo_size - 8);
-+ amvdec_write_parser(core, PARSER_ES_CONTROL,
-+ amvdec_read_parser(core, PARSER_ES_CONTROL) & ~1);
-+
-+ if (vdec_ops->conf_esparser)
-+ vdec_ops->conf_esparser(sess);
-+
-+ amvdec_write_parser(core, PARSER_INT_STATUS, 0xffff);
-+ amvdec_write_parser(core, PARSER_INT_ENABLE,
-+ BIT(PARSER_INT_HOST_EN_BIT));
-+
-+ return 0;
-+}
-+
-+int esparser_init(struct platform_device *pdev, struct amvdec_core *core)
-+{
-+ struct device *dev = &pdev->dev;
-+ int ret;
-+ int irq;
-+
-+ irq = platform_get_irq_byname(pdev, "esparser");
-+ if (irq < 0) {
-+ dev_err(dev, "Failed getting ESPARSER IRQ from dtb\n");
-+ return irq;
-+ }
-+
-+ ret = devm_request_irq(dev, irq, esparser_isr, IRQF_SHARED,
-+ "esparserirq", core);
-+ if (ret) {
-+ dev_err(dev, "Failed requesting ESPARSER IRQ\n");
-+ return ret;
-+ }
-+
-+ core->esparser_reset =
-+ devm_reset_control_get_exclusive(dev, "esparser");
-+ if (IS_ERR(core->esparser_reset)) {
-+ dev_err(dev, "Failed to get esparser_reset\n");
-+ return PTR_ERR(core->esparser_reset);
-+ }
-+
-+ return 0;
-+}
-diff --git a/drivers/media/platform/meson/vdec/esparser.h b/drivers/media/platform/meson/vdec/esparser.h
-new file mode 100644
-index 0000000..ff51fe7
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/esparser.h
-@@ -0,0 +1,32 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#ifndef __MESON_VDEC_ESPARSER_H_
-+#define __MESON_VDEC_ESPARSER_H_
-+
-+#include <linux/platform_device.h>
-+
-+#include "vdec.h"
-+
-+int esparser_init(struct platform_device *pdev, struct amvdec_core *core);
-+int esparser_power_up(struct amvdec_session *sess);
-+
-+/**
-+ * esparser_queue_eos() - write End Of Stream sequence to the ESPARSER
-+ *
-+ * @core vdec core struct
-+ */
-+int esparser_queue_eos(struct amvdec_core *core, const u8 *data, u32 len);
-+
-+/**
-+ * esparser_queue_all_src() - work handler that writes as many src buffers
-+ * as possible to the ESPARSER
-+ */
-+void esparser_queue_all_src(struct work_struct *work);
-+
-+#define ESPARSER_MIN_PACKET_SIZE SZ_4K
-+
-+#endif
-diff --git a/drivers/media/platform/meson/vdec/vdec.c b/drivers/media/platform/meson/vdec/vdec.c
-new file mode 100644
-index 0000000..d8db52c
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec.c
-@@ -0,0 +1,1034 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#include <linux/of_device.h>
-+#include <linux/clk.h>
-+#include <linux/io.h>
-+#include <linux/module.h>
-+#include <linux/platform_device.h>
-+#include <linux/mfd/syscon.h>
-+#include <linux/slab.h>
-+#include <media/v4l2-ioctl.h>
-+#include <media/v4l2-event.h>
-+#include <media/v4l2-ctrls.h>
-+#include <media/v4l2-mem2mem.h>
-+#include <media/v4l2-dev.h>
-+#include <media/videobuf2-dma-contig.h>
-+
-+#include "vdec.h"
-+#include "esparser.h"
-+#include "vdec_helpers.h"
-+
-+struct dummy_buf {
-+ struct vb2_v4l2_buffer vb;
-+ struct list_head list;
-+};
-+
-+/* 16 MiB for parsed bitstream swap exchange */
-+#define SIZE_VIFIFO SZ_16M
-+
-+static u32 get_output_size(u32 width, u32 height)
-+{
-+ return ALIGN(width * height, SZ_64K);
-+}
-+
-+u32 amvdec_get_output_size(struct amvdec_session *sess)
-+{
-+ return get_output_size(sess->width, sess->height);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_get_output_size);
-+
-+static int vdec_codec_needs_recycle(struct amvdec_session *sess)
-+{
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
-+
-+ return codec_ops->can_recycle && codec_ops->recycle;
-+}
-+
-+static int vdec_recycle_thread(void *data)
-+{
-+ struct amvdec_session *sess = data;
-+ struct amvdec_core *core = sess->core;
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
-+ struct amvdec_buffer *tmp, *n;
-+
-+ while (!kthread_should_stop()) {
-+ mutex_lock(&sess->bufs_recycle_lock);
-+ list_for_each_entry_safe(tmp, n, &sess->bufs_recycle, list) {
-+ if (!codec_ops->can_recycle(core))
-+ break;
-+
-+ codec_ops->recycle(core, tmp->vb->index);
-+ list_del(&tmp->list);
-+ kfree(tmp);
-+ }
-+ mutex_unlock(&sess->bufs_recycle_lock);
-+
-+ usleep_range(5000, 10000);
-+ }
-+
-+ return 0;
-+}
-+
-+static int vdec_poweron(struct amvdec_session *sess)
-+{
-+ int ret;
-+ struct amvdec_ops *vdec_ops = sess->fmt_out->vdec_ops;
-+
-+ ret = clk_prepare_enable(sess->core->dos_parser_clk);
-+ if (ret)
-+ return ret;
-+
-+ ret = clk_prepare_enable(sess->core->dos_clk);
-+ if (ret)
-+ goto disable_dos_parser;
-+
-+ ret = vdec_ops->start(sess);
-+ if (ret)
-+ goto disable_dos;
-+
-+ esparser_power_up(sess);
-+
-+ return 0;
-+
-+disable_dos:
-+ clk_disable_unprepare(sess->core->dos_clk);
-+disable_dos_parser:
-+ clk_disable_unprepare(sess->core->dos_parser_clk);
-+
-+ return ret;
-+}
-+
-+static void vdec_wait_inactive(struct amvdec_session *sess)
-+{
-+ /* We consider 50ms with no IRQ to be inactive. */
-+ while (time_is_after_jiffies64(sess->last_irq_jiffies +
-+ msecs_to_jiffies(50)))
-+ msleep(25);
-+}
-+
-+static void vdec_poweroff(struct amvdec_session *sess)
-+{
-+ struct amvdec_ops *vdec_ops = sess->fmt_out->vdec_ops;
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
-+
-+ vdec_wait_inactive(sess);
-+ if (codec_ops->drain)
-+ codec_ops->drain(sess);
-+
-+ vdec_ops->stop(sess);
-+ clk_disable_unprepare(sess->core->dos_clk);
-+ clk_disable_unprepare(sess->core->dos_parser_clk);
-+}
-+
-+static void
-+vdec_queue_recycle(struct amvdec_session *sess, struct vb2_buffer *vb)
-+{
-+ struct amvdec_buffer *new_buf;
-+
-+ new_buf = kmalloc(sizeof(*new_buf), GFP_KERNEL);
-+ new_buf->vb = vb;
-+
-+ mutex_lock(&sess->bufs_recycle_lock);
-+ list_add_tail(&new_buf->list, &sess->bufs_recycle);
-+ mutex_unlock(&sess->bufs_recycle_lock);
-+}
-+
-+static void vdec_m2m_device_run(void *priv)
-+{
-+ struct amvdec_session *sess = priv;
-+
-+ schedule_work(&sess->esparser_queue_work);
-+}
-+
-+static void vdec_m2m_job_abort(void *priv)
-+{
-+ struct amvdec_session *sess = priv;
-+
-+ v4l2_m2m_job_finish(sess->m2m_dev, sess->m2m_ctx);
-+}
-+
-+static const struct v4l2_m2m_ops vdec_m2m_ops = {
-+ .device_run = vdec_m2m_device_run,
-+ .job_abort = vdec_m2m_job_abort,
-+};
-+
-+static int vdec_queue_setup(struct vb2_queue *q,
-+ unsigned int *num_buffers, unsigned int *num_planes,
-+ unsigned int sizes[], struct device *alloc_devs[])
-+{
-+ struct amvdec_session *sess = vb2_get_drv_priv(q);
-+ const struct amvdec_format *fmt_out = sess->fmt_out;
-+ u32 output_size = amvdec_get_output_size(sess);
-+ u32 buffers_total;
-+
-+ if (*num_planes) {
-+ switch (q->type) {
-+ case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
-+ if (*num_planes != 1 || sizes[0] < output_size)
-+ return -EINVAL;
-+ break;
-+ case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
-+ switch (sess->pixfmt_cap) {
-+ case V4L2_PIX_FMT_NV12M:
-+ if (*num_planes != 2 ||
-+ sizes[0] < output_size ||
-+ sizes[1] < output_size / 2)
-+ return -EINVAL;
-+ break;
-+ case V4L2_PIX_FMT_YUV420M:
-+ if (*num_planes != 3 ||
-+ sizes[0] < output_size ||
-+ sizes[1] < output_size / 4 ||
-+ sizes[2] < output_size / 4)
-+ return -EINVAL;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+ break;
-+ }
-+
-+ return 0;
-+ }
-+
-+ switch (q->type) {
-+ case V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE:
-+ sizes[0] = amvdec_get_output_size(sess);
-+ *num_planes = 1;
-+ break;
-+ case V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE:
-+ switch (sess->pixfmt_cap) {
-+ case V4L2_PIX_FMT_NV12M:
-+ sizes[0] = output_size;
-+ sizes[1] = output_size / 2;
-+ *num_planes = 2;
-+ break;
-+ case V4L2_PIX_FMT_YUV420M:
-+ sizes[0] = output_size;
-+ sizes[1] = output_size / 4;
-+ sizes[2] = output_size / 4;
-+ *num_planes = 3;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ buffers_total = q->num_buffers + *num_buffers;
-+
-+ if (buffers_total < fmt_out->min_buffers)
-+ *num_buffers = fmt_out->min_buffers - q->num_buffers;
-+ if (buffers_total > fmt_out->max_buffers)
-+ *num_buffers = fmt_out->max_buffers - q->num_buffers;
-+
-+ /* We need to program the complete CAPTURE buffer list
-+ * in registers during start_streaming, and the firmwares
-+ * are free to choose any of them to write frames to. As such,
-+ * we need all of them to be queued into the driver
-+ */
-+ q->min_buffers_needed = q->num_buffers + *num_buffers;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static void vdec_vb2_buf_queue(struct vb2_buffer *vb)
-+{
-+ struct vb2_v4l2_buffer *vbuf = to_vb2_v4l2_buffer(vb);
-+ struct amvdec_session *sess = vb2_get_drv_priv(vb->vb2_queue);
-+ struct v4l2_m2m_ctx *m2m_ctx = sess->m2m_ctx;
-+
-+ v4l2_m2m_buf_queue(m2m_ctx, vbuf);
-+
-+ if (!sess->streamon_out || !sess->streamon_cap)
-+ return;
-+
-+ if (vb->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE &&
-+ vdec_codec_needs_recycle(sess))
-+ vdec_queue_recycle(sess, vb);
-+
-+ schedule_work(&sess->esparser_queue_work);
-+}
-+
-+static int vdec_start_streaming(struct vb2_queue *q, unsigned int count)
-+{
-+ struct amvdec_session *sess = vb2_get_drv_priv(q);
-+ struct amvdec_core *core = sess->core;
-+ struct vb2_v4l2_buffer *buf;
-+ int ret;
-+
-+ if (core->cur_sess && core->cur_sess != sess) {
-+ ret = -EBUSY;
-+ goto bufs_done;
-+ }
-+
-+ if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
-+ sess->streamon_out = 1;
-+ else
-+ sess->streamon_cap = 1;
-+
-+ if (!sess->streamon_out || !sess->streamon_cap)
-+ return 0;
-+
-+ sess->vififo_size = SIZE_VIFIFO;
-+ sess->vififo_vaddr =
-+ dma_alloc_coherent(sess->core->dev, sess->vififo_size,
-+ &sess->vififo_paddr, GFP_KERNEL);
-+ if (!sess->vififo_vaddr) {
-+ dev_err(sess->core->dev, "Failed to request VIFIFO buffer\n");
-+ ret = -ENOMEM;
-+ goto bufs_done;
-+ }
-+
-+ sess->should_stop = 0;
-+ sess->keyframe_found = 0;
-+ sess->last_offset = 0;
-+ sess->wrap_count = 0;
-+ sess->pixelaspect.numerator = 1;
-+ sess->pixelaspect.denominator = 1;
-+ atomic_set(&sess->esparser_queued_bufs, 0);
-+
-+ ret = vdec_poweron(sess);
-+ if (ret)
-+ goto vififo_free;
-+
-+ sess->sequence_cap = 0;
-+ if (vdec_codec_needs_recycle(sess))
-+ sess->recycle_thread = kthread_run(vdec_recycle_thread, sess,
-+ "vdec_recycle");
-+
-+ core->cur_sess = sess;
-+
-+ return 0;
-+
-+vififo_free:
-+ dma_free_coherent(sess->core->dev, sess->vififo_size,
-+ sess->vififo_vaddr, sess->vififo_paddr);
-+bufs_done:
-+ while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx)))
-+ v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED);
-+ while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx)))
-+ v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED);
-+
-+ if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
-+ sess->streamon_out = 0;
-+ else
-+ sess->streamon_cap = 0;
-+
-+ return ret;
-+}
-+
-+static void vdec_free_canvas(struct amvdec_session *sess)
-+{
-+ int i;
-+
-+ for (i = 0; i < sess->canvas_num; ++i)
-+ meson_canvas_free(sess->core->canvas, sess->canvas_alloc[i]);
-+
-+ sess->canvas_num = 0;
-+}
-+
-+static void vdec_reset_timestamps(struct amvdec_session *sess)
-+{
-+ struct amvdec_timestamp *tmp, *n;
-+
-+ list_for_each_entry_safe(tmp, n, &sess->timestamps, list) {
-+ list_del(&tmp->list);
-+ kfree(tmp);
-+ }
-+}
-+
-+static void vdec_reset_bufs_recycle(struct amvdec_session *sess)
-+{
-+ struct amvdec_buffer *tmp, *n;
-+
-+ list_for_each_entry_safe(tmp, n, &sess->bufs_recycle, list) {
-+ list_del(&tmp->list);
-+ kfree(tmp);
-+ }
-+}
-+
-+static void vdec_stop_streaming(struct vb2_queue *q)
-+{
-+ struct amvdec_session *sess = vb2_get_drv_priv(q);
-+ struct amvdec_core *core = sess->core;
-+ struct vb2_v4l2_buffer *buf;
-+
-+ if (sess->streamon_out && sess->streamon_cap) {
-+ if (vdec_codec_needs_recycle(sess))
-+ kthread_stop(sess->recycle_thread);
-+
-+ vdec_poweroff(sess);
-+ vdec_free_canvas(sess);
-+ dma_free_coherent(sess->core->dev, sess->vififo_size,
-+ sess->vififo_vaddr, sess->vififo_paddr);
-+ vdec_reset_timestamps(sess);
-+ vdec_reset_bufs_recycle(sess);
-+ kfree(sess->priv);
-+ sess->priv = NULL;
-+ core->cur_sess = NULL;
-+ }
-+
-+ if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
-+ while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx)))
-+ v4l2_m2m_buf_done(buf, VB2_BUF_STATE_ERROR);
-+
-+ sess->streamon_out = 0;
-+ } else {
-+ while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx)))
-+ v4l2_m2m_buf_done(buf, VB2_BUF_STATE_ERROR);
-+
-+ sess->streamon_cap = 0;
-+ }
-+}
-+
-+static const struct vb2_ops vdec_vb2_ops = {
-+ .queue_setup = vdec_queue_setup,
-+ .start_streaming = vdec_start_streaming,
-+ .stop_streaming = vdec_stop_streaming,
-+ .buf_queue = vdec_vb2_buf_queue,
-+ .wait_prepare = vb2_ops_wait_prepare,
-+ .wait_finish = vb2_ops_wait_finish,
-+};
-+
-+static int
-+vdec_querycap(struct file *file, void *fh, struct v4l2_capability *cap)
-+{
-+ strscpy(cap->driver, "meson-vdec", sizeof(cap->driver));
-+ strscpy(cap->card, "Amlogic Video Decoder", sizeof(cap->card));
-+ strscpy(cap->bus_info, "platform:meson-vdec", sizeof(cap->bus_info));
-+
-+ return 0;
-+}
-+
-+static const struct amvdec_format *
-+find_format(const struct amvdec_format *fmts, u32 size, u32 pixfmt)
-+{
-+ unsigned int i;
-+
-+ for (i = 0; i < size; i++) {
-+ if (fmts[i].pixfmt == pixfmt)
-+ return &fmts[i];
-+ }
-+
-+ return NULL;
-+}
-+
-+static unsigned int
-+vdec_supports_pixfmt_cap(const struct amvdec_format *fmt_out, u32 pixfmt_cap)
-+{
-+ int i;
-+
-+ for (i = 0; fmt_out->pixfmts_cap[i]; i++)
-+ if (fmt_out->pixfmts_cap[i] == pixfmt_cap)
-+ return 1;
-+
-+ return 0;
-+}
-+
-+static const struct amvdec_format *
-+vdec_try_fmt_common(struct amvdec_session *sess, u32 size,
-+ struct v4l2_format *f)
-+{
-+ struct v4l2_pix_format_mplane *pixmp = &f->fmt.pix_mp;
-+ struct v4l2_plane_pix_format *pfmt = pixmp->plane_fmt;
-+ const struct amvdec_format *fmts = sess->core->platform->formats;
-+ const struct amvdec_format *fmt_out;
-+
-+ memset(pfmt[0].reserved, 0, sizeof(pfmt[0].reserved));
-+ memset(pixmp->reserved, 0, sizeof(pixmp->reserved));
-+
-+ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
-+ fmt_out = find_format(fmts, size, pixmp->pixelformat);
-+ if (!fmt_out) {
-+ pixmp->pixelformat = V4L2_PIX_FMT_MPEG2;
-+ fmt_out = find_format(fmts, size, pixmp->pixelformat);
-+ }
-+
-+ pfmt[0].sizeimage =
-+ get_output_size(pixmp->width, pixmp->height);
-+ pfmt[0].bytesperline = 0;
-+ pixmp->num_planes = 1;
-+ } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
-+ fmt_out = sess->fmt_out;
-+ if (!vdec_supports_pixfmt_cap(fmt_out, pixmp->pixelformat))
-+ pixmp->pixelformat = fmt_out->pixfmts_cap[0];
-+
-+ memset(pfmt[1].reserved, 0, sizeof(pfmt[1].reserved));
-+ if (pixmp->pixelformat == V4L2_PIX_FMT_NV12M) {
-+ pfmt[0].sizeimage =
-+ get_output_size(pixmp->width, pixmp->height);
-+ pfmt[0].bytesperline = ALIGN(pixmp->width, 64);
-+
-+ pfmt[1].sizeimage =
-+ get_output_size(pixmp->width, pixmp->height) / 2;
-+ pfmt[1].bytesperline = ALIGN(pixmp->width, 64);
-+ pixmp->num_planes = 2;
-+ } else if (pixmp->pixelformat == V4L2_PIX_FMT_YUV420M) {
-+ pfmt[0].sizeimage =
-+ get_output_size(pixmp->width, pixmp->height);
-+ pfmt[0].bytesperline = ALIGN(pixmp->width, 64);
-+
-+ pfmt[1].sizeimage =
-+ get_output_size(pixmp->width, pixmp->height) / 4;
-+ pfmt[1].bytesperline = ALIGN(pixmp->width, 64) / 2;
-+
-+ pfmt[2].sizeimage =
-+ get_output_size(pixmp->width, pixmp->height) / 4;
-+ pfmt[2].bytesperline = ALIGN(pixmp->width, 64) / 2;
-+ pixmp->num_planes = 3;
-+ }
-+ } else {
-+ return NULL;
-+ }
-+
-+ pixmp->width = clamp(pixmp->width, (u32)256, fmt_out->max_width);
-+ pixmp->height = clamp(pixmp->height, (u32)144, fmt_out->max_height);
-+
-+ if (pixmp->field == V4L2_FIELD_ANY)
-+ pixmp->field = V4L2_FIELD_NONE;
-+
-+ return fmt_out;
-+}
-+
-+static int vdec_try_fmt(struct file *file, void *fh, struct v4l2_format *f)
-+{
-+ struct amvdec_session *sess =
-+ container_of(file->private_data, struct amvdec_session, fh);
-+
-+ vdec_try_fmt_common(sess, sess->core->platform->num_formats, f);
-+
-+ return 0;
-+}
-+
-+static int vdec_g_fmt(struct file *file, void *fh, struct v4l2_format *f)
-+{
-+ struct amvdec_session *sess =
-+ container_of(file->private_data, struct amvdec_session, fh);
-+ struct v4l2_pix_format_mplane *pixmp = &f->fmt.pix_mp;
-+
-+ if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
-+ pixmp->pixelformat = sess->pixfmt_cap;
-+ else if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
-+ pixmp->pixelformat = sess->fmt_out->pixfmt;
-+
-+ if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
-+ pixmp->width = sess->width;
-+ pixmp->height = sess->height;
-+ pixmp->colorspace = sess->colorspace;
-+ pixmp->ycbcr_enc = sess->ycbcr_enc;
-+ pixmp->quantization = sess->quantization;
-+ pixmp->xfer_func = sess->xfer_func;
-+ } else if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
-+ pixmp->width = sess->width;
-+ pixmp->height = sess->height;
-+ }
-+
-+ vdec_try_fmt_common(sess, sess->core->platform->num_formats, f);
-+
-+ return 0;
-+}
-+
-+static int vdec_s_fmt(struct file *file, void *fh, struct v4l2_format *f)
-+{
-+ struct amvdec_session *sess =
-+ container_of(file->private_data, struct amvdec_session, fh);
-+ struct v4l2_pix_format_mplane *pixmp = &f->fmt.pix_mp;
-+ u32 num_formats = sess->core->platform->num_formats;
-+ const struct amvdec_format *fmt_out;
-+ struct v4l2_pix_format_mplane orig_pixmp;
-+ struct v4l2_format format;
-+ u32 pixfmt_out = 0, pixfmt_cap = 0;
-+
-+ orig_pixmp = *pixmp;
-+
-+ fmt_out = vdec_try_fmt_common(sess, num_formats, f);
-+
-+ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
-+ pixfmt_out = pixmp->pixelformat;
-+ pixfmt_cap = sess->pixfmt_cap;
-+ } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
-+ pixfmt_cap = pixmp->pixelformat;
-+ pixfmt_out = sess->fmt_out->pixfmt;
-+ }
-+
-+ memset(&format, 0, sizeof(format));
-+
-+ format.type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
-+ format.fmt.pix_mp.pixelformat = pixfmt_out;
-+ format.fmt.pix_mp.width = orig_pixmp.width;
-+ format.fmt.pix_mp.height = orig_pixmp.height;
-+ vdec_try_fmt_common(sess, num_formats, &format);
-+
-+ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
-+ sess->width = format.fmt.pix_mp.width;
-+ sess->height = format.fmt.pix_mp.height;
-+ sess->colorspace = pixmp->colorspace;
-+ sess->ycbcr_enc = pixmp->ycbcr_enc;
-+ sess->quantization = pixmp->quantization;
-+ sess->xfer_func = pixmp->xfer_func;
-+ }
-+
-+ memset(&format, 0, sizeof(format));
-+
-+ format.type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
-+ format.fmt.pix_mp.pixelformat = pixfmt_cap;
-+ format.fmt.pix_mp.width = orig_pixmp.width;
-+ format.fmt.pix_mp.height = orig_pixmp.height;
-+ vdec_try_fmt_common(sess, num_formats, &format);
-+
-+ sess->width = format.fmt.pix_mp.width;
-+ sess->height = format.fmt.pix_mp.height;
-+
-+ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
-+ sess->fmt_out = fmt_out;
-+ else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
-+ sess->pixfmt_cap = format.fmt.pix_mp.pixelformat;
-+
-+ return 0;
-+}
-+
-+static int vdec_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc *f)
-+{
-+ struct amvdec_session *sess =
-+ container_of(file->private_data, struct amvdec_session, fh);
-+ const struct vdec_platform *platform = sess->core->platform;
-+ const struct amvdec_format *fmt_out;
-+
-+ memset(f->reserved, 0, sizeof(f->reserved));
-+
-+ if (f->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
-+ if (f->index >= platform->num_formats)
-+ return -EINVAL;
-+
-+ fmt_out = &platform->formats[f->index];
-+ f->pixelformat = fmt_out->pixfmt;
-+ } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
-+ fmt_out = sess->fmt_out;
-+ if (f->index >= 4 || !fmt_out->pixfmts_cap[f->index])
-+ return -EINVAL;
-+
-+ f->pixelformat = fmt_out->pixfmts_cap[f->index];
-+ } else {
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static int vdec_enum_framesizes(struct file *file, void *fh,
-+ struct v4l2_frmsizeenum *fsize)
-+{
-+ struct amvdec_session *sess =
-+ container_of(file->private_data, struct amvdec_session, fh);
-+ const struct amvdec_format *formats = sess->core->platform->formats;
-+ const struct amvdec_format *fmt;
-+ u32 num_formats = sess->core->platform->num_formats;
-+
-+ fmt = find_format(formats, num_formats, fsize->pixel_format);
-+ if (!fmt || fsize->index)
-+ return -EINVAL;
-+
-+ fsize->type = V4L2_FRMSIZE_TYPE_STEPWISE;
-+
-+ fsize->stepwise.min_width = 256;
-+ fsize->stepwise.max_width = fmt->max_width;
-+ fsize->stepwise.step_width = 1;
-+ fsize->stepwise.min_height = 144;
-+ fsize->stepwise.max_height = fmt->max_height;
-+ fsize->stepwise.step_height = 1;
-+
-+ return 0;
-+}
-+
-+static int
-+vdec_try_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd)
-+{
-+ switch (cmd->cmd) {
-+ case V4L2_DEC_CMD_STOP:
-+ if (cmd->flags & V4L2_DEC_CMD_STOP_TO_BLACK)
-+ return -EINVAL;
-+ break;
-+ default:
-+ return -EINVAL;
-+ }
-+
-+ return 0;
-+}
-+
-+static int
-+vdec_decoder_cmd(struct file *file, void *fh, struct v4l2_decoder_cmd *cmd)
-+{
-+ struct amvdec_session *sess =
-+ container_of(file->private_data, struct amvdec_session, fh);
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
-+ struct device *dev = sess->core->dev;
-+ int ret;
-+
-+ ret = vdec_try_decoder_cmd(file, fh, cmd);
-+ if (ret)
-+ return ret;
-+
-+ if (!(sess->streamon_out & sess->streamon_cap))
-+ return 0;
-+
-+ dev_dbg(dev, "Received V4L2_DEC_CMD_STOP\n");
-+ sess->should_stop = 1;
-+
-+ vdec_wait_inactive(sess);
-+
-+ if (codec_ops->drain) {
-+ codec_ops->drain(sess);
-+ } else if (codec_ops->eos_sequence) {
-+ u32 len;
-+ const u8 *data = codec_ops->eos_sequence(&len);
-+
-+ esparser_queue_eos(sess->core, data, len);
-+ }
-+
-+ return ret;
-+}
-+
-+static int vdec_subscribe_event(struct v4l2_fh *fh,
-+ const struct v4l2_event_subscription *sub)
-+{
-+ switch (sub->type) {
-+ case V4L2_EVENT_EOS:
-+ return v4l2_event_subscribe(fh, sub, 2, NULL);
-+ default:
-+ return -EINVAL;
-+ }
-+}
-+
-+static int vdec_cropcap(struct file *file, void *fh,
-+ struct v4l2_cropcap *crop)
-+{
-+ struct amvdec_session *sess =
-+ container_of(file->private_data, struct amvdec_session, fh);
-+
-+ if (crop->type != V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE)
-+ return -EINVAL;
-+
-+ crop->pixelaspect = sess->pixelaspect;
-+ return 0;
-+}
-+
-+static const struct v4l2_ioctl_ops vdec_ioctl_ops = {
-+ .vidioc_querycap = vdec_querycap,
-+ .vidioc_enum_fmt_vid_cap_mplane = vdec_enum_fmt,
-+ .vidioc_enum_fmt_vid_out_mplane = vdec_enum_fmt,
-+ .vidioc_s_fmt_vid_cap_mplane = vdec_s_fmt,
-+ .vidioc_s_fmt_vid_out_mplane = vdec_s_fmt,
-+ .vidioc_g_fmt_vid_cap_mplane = vdec_g_fmt,
-+ .vidioc_g_fmt_vid_out_mplane = vdec_g_fmt,
-+ .vidioc_try_fmt_vid_cap_mplane = vdec_try_fmt,
-+ .vidioc_try_fmt_vid_out_mplane = vdec_try_fmt,
-+ .vidioc_reqbufs = v4l2_m2m_ioctl_reqbufs,
-+ .vidioc_querybuf = v4l2_m2m_ioctl_querybuf,
-+ .vidioc_prepare_buf = v4l2_m2m_ioctl_prepare_buf,
-+ .vidioc_qbuf = v4l2_m2m_ioctl_qbuf,
-+ .vidioc_expbuf = v4l2_m2m_ioctl_expbuf,
-+ .vidioc_dqbuf = v4l2_m2m_ioctl_dqbuf,
-+ .vidioc_streamon = v4l2_m2m_ioctl_streamon,
-+ .vidioc_streamoff = v4l2_m2m_ioctl_streamoff,
-+ .vidioc_enum_framesizes = vdec_enum_framesizes,
-+ .vidioc_subscribe_event = vdec_subscribe_event,
-+ .vidioc_unsubscribe_event = v4l2_event_unsubscribe,
-+ .vidioc_try_decoder_cmd = vdec_try_decoder_cmd,
-+ .vidioc_decoder_cmd = vdec_decoder_cmd,
-+ .vidioc_cropcap = vdec_cropcap,
-+};
-+
-+static int m2m_queue_init(void *priv, struct vb2_queue *src_vq,
-+ struct vb2_queue *dst_vq)
-+{
-+ struct amvdec_session *sess = priv;
-+ int ret;
-+
-+ src_vq->type = V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE;
-+ src_vq->io_modes = VB2_MMAP | VB2_DMABUF;
-+ src_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
-+ src_vq->ops = &vdec_vb2_ops;
-+ src_vq->mem_ops = &vb2_dma_contig_memops;
-+ src_vq->drv_priv = sess;
-+ src_vq->buf_struct_size = sizeof(struct dummy_buf);
-+ src_vq->min_buffers_needed = 1;
-+ src_vq->dev = sess->core->dev;
-+ src_vq->lock = &sess->lock;
-+ ret = vb2_queue_init(src_vq);
-+ if (ret)
-+ return ret;
-+
-+ dst_vq->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
-+ dst_vq->io_modes = VB2_MMAP | VB2_DMABUF;
-+ dst_vq->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_COPY;
-+ dst_vq->ops = &vdec_vb2_ops;
-+ dst_vq->mem_ops = &vb2_dma_contig_memops;
-+ dst_vq->drv_priv = sess;
-+ dst_vq->buf_struct_size = sizeof(struct dummy_buf);
-+ dst_vq->min_buffers_needed = 1;
-+ dst_vq->dev = sess->core->dev;
-+ dst_vq->lock = &sess->lock;
-+ ret = vb2_queue_init(dst_vq);
-+ if (ret) {
-+ vb2_queue_release(src_vq);
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+
-+static int vdec_open(struct file *file)
-+{
-+ struct amvdec_core *core = video_drvdata(file);
-+ struct device *dev = core->dev;
-+ const struct amvdec_format *formats = core->platform->formats;
-+ struct amvdec_session *sess;
-+ int ret;
-+
-+ sess = kzalloc(sizeof(*sess), GFP_KERNEL);
-+ if (!sess)
-+ return -ENOMEM;
-+
-+ sess->core = core;
-+
-+ sess->m2m_dev = v4l2_m2m_init(&vdec_m2m_ops);
-+ if (IS_ERR(sess->m2m_dev)) {
-+ dev_err(dev, "Fail to v4l2_m2m_init\n");
-+ ret = PTR_ERR(sess->m2m_dev);
-+ goto err_free_sess;
-+ }
-+
-+ sess->m2m_ctx = v4l2_m2m_ctx_init(sess->m2m_dev, sess, m2m_queue_init);
-+ if (IS_ERR(sess->m2m_ctx)) {
-+ dev_err(dev, "Fail to v4l2_m2m_ctx_init\n");
-+ ret = PTR_ERR(sess->m2m_ctx);
-+ goto err_m2m_release;
-+ }
-+
-+ sess->pixfmt_cap = formats[0].pixfmts_cap[0];
-+ sess->fmt_out = &formats[0];
-+ sess->width = 1280;
-+ sess->height = 720;
-+ sess->pixelaspect.numerator = 1;
-+ sess->pixelaspect.denominator = 1;
-+
-+ INIT_LIST_HEAD(&sess->timestamps);
-+ INIT_LIST_HEAD(&sess->bufs_recycle);
-+ INIT_WORK(&sess->esparser_queue_work, esparser_queue_all_src);
-+ mutex_init(&sess->lock);
-+ mutex_init(&sess->bufs_recycle_lock);
-+ spin_lock_init(&sess->ts_spinlock);
-+
-+ v4l2_fh_init(&sess->fh, core->vdev_dec);
-+ v4l2_fh_add(&sess->fh);
-+ sess->fh.m2m_ctx = sess->m2m_ctx;
-+ file->private_data = &sess->fh;
-+
-+ return 0;
-+
-+err_m2m_release:
-+ v4l2_m2m_release(sess->m2m_dev);
-+err_free_sess:
-+ kfree(sess);
-+ return ret;
-+}
-+
-+static int vdec_close(struct file *file)
-+{
-+ struct amvdec_session *sess =
-+ container_of(file->private_data, struct amvdec_session, fh);
-+
-+ v4l2_m2m_ctx_release(sess->m2m_ctx);
-+ v4l2_m2m_release(sess->m2m_dev);
-+ v4l2_fh_del(&sess->fh);
-+ v4l2_fh_exit(&sess->fh);
-+
-+ mutex_destroy(&sess->lock);
-+ mutex_destroy(&sess->bufs_recycle_lock);
-+
-+ kfree(sess);
-+
-+ return 0;
-+}
-+
-+static const struct v4l2_file_operations vdec_fops = {
-+ .owner = THIS_MODULE,
-+ .open = vdec_open,
-+ .release = vdec_close,
-+ .unlocked_ioctl = video_ioctl2,
-+ .poll = v4l2_m2m_fop_poll,
-+ .mmap = v4l2_m2m_fop_mmap,
-+};
-+
-+static irqreturn_t vdec_isr(int irq, void *data)
-+{
-+ struct amvdec_core *core = data;
-+ struct amvdec_session *sess = core->cur_sess;
-+
-+ sess->last_irq_jiffies = get_jiffies_64();
-+
-+ return sess->fmt_out->codec_ops->isr(sess);
-+}
-+
-+static irqreturn_t vdec_threaded_isr(int irq, void *data)
-+{
-+ struct amvdec_core *core = data;
-+ struct amvdec_session *sess = core->cur_sess;
-+
-+ return sess->fmt_out->codec_ops->threaded_isr(sess);
-+}
-+
-+static const struct of_device_id vdec_dt_match[] = {
-+ { .compatible = "amlogic,gxbb-vdec",
-+ .data = &vdec_platform_gxbb },
-+ { .compatible = "amlogic,gxm-vdec",
-+ .data = &vdec_platform_gxm },
-+ { .compatible = "amlogic,gxl-vdec",
-+ .data = &vdec_platform_gxl },
-+ {}
-+};
-+MODULE_DEVICE_TABLE(of, vdec_dt_match);
-+
-+static int vdec_probe(struct platform_device *pdev)
-+{
-+ struct device *dev = &pdev->dev;
-+ struct video_device *vdev;
-+ struct amvdec_core *core;
-+ struct resource *r;
-+ const struct of_device_id *of_id;
-+ int irq;
-+ int ret;
-+
-+ core = devm_kzalloc(dev, sizeof(*core), GFP_KERNEL);
-+ if (!core)
-+ return -ENOMEM;
-+
-+ core->dev = dev;
-+ platform_set_drvdata(pdev, core);
-+
-+ r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dos");
-+ core->dos_base = devm_ioremap_resource(dev, r);
-+ if (IS_ERR(core->dos_base)) {
-+ dev_err(dev, "Couldn't remap DOS memory\n");
-+ return PTR_ERR(core->dos_base);
-+ }
-+
-+ r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "esparser");
-+ core->esparser_base = devm_ioremap_resource(dev, r);
-+ if (IS_ERR(core->esparser_base)) {
-+ dev_err(dev, "Couldn't remap ESPARSER memory\n");
-+ return PTR_ERR(core->esparser_base);
-+ }
-+
-+ core->regmap_ao = syscon_regmap_lookup_by_phandle(dev->of_node,
-+ "amlogic,ao-sysctrl");
-+ if (IS_ERR(core->regmap_ao)) {
-+ dev_err(dev, "Couldn't regmap AO sysctrl\n");
-+ return PTR_ERR(core->regmap_ao);
-+ }
-+
-+ core->canvas = meson_canvas_get(dev);
-+ if (!core->canvas)
-+ return PTR_ERR(core->canvas);
-+
-+ core->dos_parser_clk = devm_clk_get(dev, "dos_parser");
-+ if (IS_ERR(core->dos_parser_clk))
-+ return -EPROBE_DEFER;
-+
-+ core->dos_clk = devm_clk_get(dev, "dos");
-+ if (IS_ERR(core->dos_clk))
-+ return -EPROBE_DEFER;
-+
-+ core->vdec_1_clk = devm_clk_get(dev, "vdec_1");
-+ if (IS_ERR(core->vdec_1_clk))
-+ return -EPROBE_DEFER;
-+
-+ core->vdec_hevc_clk = devm_clk_get(dev, "vdec_hevc");
-+ if (IS_ERR(core->vdec_hevc_clk))
-+ return -EPROBE_DEFER;
-+
-+ irq = platform_get_irq_byname(pdev, "vdec");
-+ if (irq < 0)
-+ return irq;
-+
-+ ret = devm_request_threaded_irq(core->dev, irq, vdec_isr,
-+ vdec_threaded_isr, IRQF_ONESHOT,
-+ "vdec", core);
-+ if (ret)
-+ return ret;
-+
-+ ret = esparser_init(pdev, core);
-+ if (ret)
-+ return ret;
-+
-+ ret = v4l2_device_register(dev, &core->v4l2_dev);
-+ if (ret) {
-+ dev_err(dev, "Couldn't register v4l2 device\n");
-+ return -ENOMEM;
-+ }
-+
-+ vdev = video_device_alloc();
-+ if (!vdev) {
-+ ret = -ENOMEM;
-+ goto err_vdev_release;
-+ }
-+
-+ of_id = of_match_node(vdec_dt_match, dev->of_node);
-+ core->platform = of_id->data;
-+ core->vdev_dec = vdev;
-+ core->dev_dec = dev;
-+ mutex_init(&core->lock);
-+
-+ strscpy(vdev->name, "meson-video-decoder", sizeof(vdev->name));
-+ vdev->release = video_device_release;
-+ vdev->fops = &vdec_fops;
-+ vdev->ioctl_ops = &vdec_ioctl_ops;
-+ vdev->vfl_dir = VFL_DIR_M2M;
-+ vdev->v4l2_dev = &core->v4l2_dev;
-+ vdev->lock = &core->lock;
-+ vdev->device_caps = V4L2_CAP_VIDEO_M2M_MPLANE | V4L2_CAP_STREAMING;
-+
-+ video_set_drvdata(vdev, core);
-+
-+ ret = video_register_device(vdev, VFL_TYPE_GRABBER, -1);
-+ if (ret) {
-+ dev_err(dev, "Failed registering video device\n");
-+ goto err_vdev_release;
-+ }
-+
-+ return 0;
-+
-+err_vdev_release:
-+ video_device_release(vdev);
-+ return ret;
-+}
-+
-+static int vdec_remove(struct platform_device *pdev)
-+{
-+ struct amvdec_core *core = platform_get_drvdata(pdev);
-+
-+ video_unregister_device(core->vdev_dec);
-+
-+ return 0;
-+}
-+
-+static struct platform_driver meson_vdec_driver = {
-+ .probe = vdec_probe,
-+ .remove = vdec_remove,
-+ .driver = {
-+ .name = "meson-vdec",
-+ .of_match_table = vdec_dt_match,
-+ },
-+};
-+module_platform_driver(meson_vdec_driver);
-+
-+MODULE_DESCRIPTION("Meson video decoder driver for GXBB/GXL/GXM");
-+MODULE_AUTHOR("Maxime Jourdan <mjourdan@baylibre.com>");
-+MODULE_LICENSE("GPL");
-diff --git a/drivers/media/platform/meson/vdec/vdec.h b/drivers/media/platform/meson/vdec/vdec.h
-new file mode 100644
-index 0000000..4e8c3f1
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec.h
-@@ -0,0 +1,251 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#ifndef __MESON_VDEC_CORE_H_
-+#define __MESON_VDEC_CORE_H_
-+
-+#include <linux/regmap.h>
-+#include <linux/list.h>
-+#include <media/videobuf2-v4l2.h>
-+#include <media/v4l2-ctrls.h>
-+#include <media/v4l2-device.h>
-+#include <linux/soc/amlogic/meson-canvas.h>
-+
-+#include "vdec_platform.h"
-+
-+/* 32 buffers in 3-plane YUV420 */
-+#define MAX_CANVAS (32 * 3)
-+
-+struct amvdec_buffer {
-+ struct list_head list;
-+ struct vb2_buffer *vb;
-+};
-+
-+/**
-+ * struct amvdec_timestamp - stores a src timestamp along with a VIFIFO offset
-+ *
-+ * @list: used to make lists out of this struct
-+ * @ts: timestamp
-+ * @offset: offset in the VIFIFO where the associated packet was written
-+ */
-+struct amvdec_timestamp {
-+ struct list_head list;
-+ u64 ts;
-+ u32 offset;
-+};
-+
-+struct amvdec_session;
-+
-+/**
-+ * struct amvdec_core - device parameters, singleton
-+ *
-+ * @dos_base: DOS memory base address
-+ * @esparser_base: PARSER memory base address
-+ * @regmap_ao: regmap for the AO bus
-+ * @dev: core device
-+ * @dev_dec: decoder device
-+ * @platform: platform-specific data
-+ * @canvas: canvas provider reference
-+ * @dos_parser_clk: DOS_PARSER clock
-+ * @dos_clk: DOS clock
-+ * @vdec_1_clk: VDEC_1 clock
-+ * @vdec_hevc_clk: VDEC_HEVC clock
-+ * @esparser_reset: RESET for the PARSER
-+ * @vdec_dec: video device for the decoder
-+ * @v4l2_dev: v4l2 device
-+ * @cur_sess: current decoding session
-+ * @lock: lock for this structure
-+ */
-+struct amvdec_core {
-+ void __iomem *dos_base;
-+ void __iomem *esparser_base;
-+ struct regmap *regmap_ao;
-+
-+ struct device *dev;
-+ struct device *dev_dec;
-+ const struct vdec_platform *platform;
-+
-+ struct meson_canvas *canvas;
-+
-+ struct clk *dos_parser_clk;
-+ struct clk *dos_clk;
-+ struct clk *vdec_1_clk;
-+ struct clk *vdec_hevc_clk;
-+
-+ struct reset_control *esparser_reset;
-+
-+ struct video_device *vdev_dec;
-+ struct v4l2_device v4l2_dev;
-+
-+ struct amvdec_session *cur_sess;
-+ struct mutex lock;
-+};
-+
-+/**
-+ * struct amvdec_ops - vdec operations
-+ *
-+ * @start: mandatory call when the vdec needs to initialize
-+ * @stop: mandatory call when the vdec needs to stop
-+ * @conf_esparser: mandatory call to let the vdec configure the ESPARSER
-+ * @vififo_level: mandatory call to get the current amount of data
-+ * in the VIFIFO
-+ * @use_offsets: mandatory call. Returns 1 if the VDEC supports vififo offsets
-+ */
-+struct amvdec_ops {
-+ int (*start)(struct amvdec_session *sess);
-+ int (*stop)(struct amvdec_session *sess);
-+ void (*conf_esparser)(struct amvdec_session *sess);
-+ u32 (*vififo_level)(struct amvdec_session *sess);
-+};
-+
-+/**
-+ * struct amvdec_codec_ops - codec operations
-+ *
-+ * @start: mandatory call when the codec needs to initialize
-+ * @stop: mandatory call when the codec needs to stop
-+ * @load_extended_firmware: optional call to load additional firmware bits
-+ * @num_pending_bufs: optional call to get the number of dst buffers on hold
-+ * @can_recycle: optional call to know if the codec is ready to recycle
-+ * a dst buffer
-+ * @recycle: optional call to tell the codec to recycle a dst buffer. Must go
-+ * in pair with @can_recycle
-+ * @drain: optional call if the codec has a custom way of draining
-+ * @eos_sequence: optional call to get an end sequence to send to esparser
-+ * for flush. Mutually exclusive with @drain.
-+ * @isr: mandatory call when the ISR triggers
-+ * @threaded_isr: mandatory call for the threaded ISR
-+ */
-+struct amvdec_codec_ops {
-+ int (*start)(struct amvdec_session *sess);
-+ int (*stop)(struct amvdec_session *sess);
-+ int (*load_extended_firmware)(struct amvdec_session *sess,
-+ const u8 *data, u32 len);
-+ u32 (*num_pending_bufs)(struct amvdec_session *sess);
-+ int (*can_recycle)(struct amvdec_core *core);
-+ void (*recycle)(struct amvdec_core *core, u32 buf_idx);
-+ void (*drain)(struct amvdec_session *sess);
-+ const u8 * (*eos_sequence)(u32 *len);
-+ irqreturn_t (*isr)(struct amvdec_session *sess);
-+ irqreturn_t (*threaded_isr)(struct amvdec_session *sess);
-+};
-+
-+/**
-+ * struct amvdec_format - describes one of the OUTPUT (src) format supported
-+ *
-+ * @pixfmt: V4L2 pixel format
-+ * @min_buffers: minimum amount of CAPTURE (dst) buffers
-+ * @max_buffers: maximum amount of CAPTURE (dst) buffers
-+ * @max_width: maximum picture width supported
-+ * @max_height: maximum picture height supported
-+ * @vdec_ops: the VDEC operations that support this format
-+ * @codec_ops: the codec operations that support this format
-+ * @firmware_path: Path to the firmware that supports this format
-+ * @pixfmts_cap: list of CAPTURE pixel formats available with pixfmt
-+ */
-+struct amvdec_format {
-+ u32 pixfmt;
-+ u32 min_buffers;
-+ u32 max_buffers;
-+ u32 max_width;
-+ u32 max_height;
-+
-+ struct amvdec_ops *vdec_ops;
-+ struct amvdec_codec_ops *codec_ops;
-+
-+ char *firmware_path;
-+ u32 pixfmts_cap[4];
-+};
-+
-+/**
-+ * struct amvdec_session - decoding session parameters
-+ *
-+ * @core: reference to the vdec core struct
-+ * @fh: v4l2 file handle
-+ * @m2m_dev: v4l2 m2m device
-+ * @m2m_ctx: v4l2 m2m context
-+ * @lock: session lock
-+ * @fmt_out: vdec pixel format for the OUTPUT queue
-+ * @pixfmt_cap: V4L2 pixel format for the CAPTURE queue
-+ * @width: current picture width
-+ * @height: current picture height
-+ * @colorspace: current colorspace
-+ * @ycbcr_enc: current ycbcr_enc
-+ * @quantization: current quantization
-+ * @xfer_func: current transfer function
-+ * @pixelaspect: Pixel Aspect Ratio reported by the decoder
-+ * @esparser_queued_bufs: number of buffers currently queued into ESPARSER
-+ * @esparser_queue_work: work struct for the ESPARSER to process src buffers
-+ * @streamon_cap: stream on flag for capture queue
-+ * @streamon_out: stream on flag for output queue
-+ * @sequence_cap: capture sequence counter
-+ * @should_stop: flag set if userspace signaled EOS via command
-+ * or empty buffer
-+ * @keyframe_found: flag set once a keyframe has been parsed
-+ * @canvas_alloc: array of all the canvas IDs allocated
-+ * @canvas_num: number of canvas IDs allocated
-+ * @vififo_vaddr: virtual address for the VIFIFO
-+ * @vififo_paddr: physical address for the VIFIFO
-+ * @vififo_size: size of the VIFIFO dma alloc
-+ * @bufs_recycle: list of buffers that need to be recycled
-+ * @bufs_recycle_lock: lock for the bufs_recycle list
-+ * @recycle_thread: task struct for the recycling thread
-+ * @timestamps: chronological list of src timestamps
-+ * @ts_spinlock: spinlock for the timestamps list
-+ * @last_irq_jiffies: tracks last time the vdec triggered an IRQ
-+ * @priv: codec private data
-+ */
-+struct amvdec_session {
-+ struct amvdec_core *core;
-+
-+ struct v4l2_fh fh;
-+ struct v4l2_m2m_dev *m2m_dev;
-+ struct v4l2_m2m_ctx *m2m_ctx;
-+ struct mutex lock;
-+
-+ const struct amvdec_format *fmt_out;
-+ u32 pixfmt_cap;
-+
-+ u32 width;
-+ u32 height;
-+ u32 colorspace;
-+ u8 ycbcr_enc;
-+ u8 quantization;
-+ u8 xfer_func;
-+
-+ struct v4l2_fract pixelaspect;
-+
-+ atomic_t esparser_queued_bufs;
-+ struct work_struct esparser_queue_work;
-+
-+ unsigned int streamon_cap, streamon_out;
-+ unsigned int sequence_cap;
-+ unsigned int should_stop;
-+ unsigned int keyframe_found;
-+
-+ u8 canvas_alloc[MAX_CANVAS];
-+ u32 canvas_num;
-+
-+ void *vififo_vaddr;
-+ dma_addr_t vififo_paddr;
-+ u32 vififo_size;
-+
-+ struct list_head bufs_recycle;
-+ struct mutex bufs_recycle_lock;
-+ struct task_struct *recycle_thread;
-+
-+ struct list_head timestamps;
-+ spinlock_t ts_spinlock;
-+
-+ u64 last_irq_jiffies;
-+ u32 last_offset;
-+ u32 wrap_count;
-+
-+ void *priv;
-+};
-+
-+u32 amvdec_get_output_size(struct amvdec_session *sess);
-+
-+#endif
-diff --git a/drivers/media/platform/meson/vdec/vdec_1.c b/drivers/media/platform/meson/vdec/vdec_1.c
-new file mode 100644
-index 0000000..88b8bed
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec_1.c
-@@ -0,0 +1,231 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ *
-+ * VDEC_1 is a video decoding block that allows decoding of
-+ * MPEG 1/2/4, H.263, H.264, MJPEG, VC1
-+ */
-+
-+#include <linux/firmware.h>
-+#include <linux/clk.h>
-+
-+#include "vdec_1.h"
-+#include "vdec_helpers.h"
-+#include "dos_regs.h"
-+
-+/* AO Registers */
-+#define AO_RTI_GEN_PWR_SLEEP0 0xe8
-+#define AO_RTI_GEN_PWR_ISO0 0xec
-+ #define GEN_PWR_VDEC_1 (BIT(3) | BIT(2))
-+
-+#define MC_SIZE (4096 * 4)
-+
-+static int
-+vdec_1_load_firmware(struct amvdec_session *sess, const char *fwname)
-+{
-+ const struct firmware *fw;
-+ struct amvdec_core *core = sess->core;
-+ struct device *dev = core->dev_dec;
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
-+ static void *mc_addr;
-+ static dma_addr_t mc_addr_map;
-+ int ret;
-+ u32 i = 1000;
-+
-+ ret = request_firmware(&fw, fwname, dev);
-+ if (ret < 0)
-+ return -EINVAL;
-+
-+ if (fw->size < MC_SIZE) {
-+ dev_err(dev, "Firmware size %zu is too small. Expected %u.\n",
-+ fw->size, MC_SIZE);
-+ ret = -EINVAL;
-+ goto release_firmware;
-+ }
-+
-+ mc_addr = dma_alloc_coherent(core->dev, MC_SIZE,
-+ &mc_addr_map, GFP_KERNEL);
-+ if (!mc_addr) {
-+ dev_err(dev,
-+ "Failed allocating memory for firmware loading\n");
-+ ret = -ENOMEM;
-+ goto release_firmware;
-+ }
-+
-+ memcpy(mc_addr, fw->data, MC_SIZE);
-+
-+ amvdec_write_dos(core, MPSR, 0);
-+ amvdec_write_dos(core, CPSR, 0);
-+
-+ amvdec_clear_dos_bits(core, MDEC_PIC_DC_CTRL, BIT(31));
-+
-+ amvdec_write_dos(core, IMEM_DMA_ADR, mc_addr_map);
-+ amvdec_write_dos(core, IMEM_DMA_COUNT, MC_SIZE / 4);
-+ amvdec_write_dos(core, IMEM_DMA_CTRL, (0x8000 | (7 << 16)));
-+
-+ while (--i && amvdec_read_dos(core, IMEM_DMA_CTRL) & 0x8000) { }
-+
-+ if (i == 0) {
-+ dev_err(dev, "Firmware load fail (DMA hang?)\n");
-+ ret = -EINVAL;
-+ goto free_mc;
-+ }
-+
-+ if (codec_ops->load_extended_firmware)
-+ ret = codec_ops->load_extended_firmware(sess,
-+ fw->data + MC_SIZE,
-+ fw->size - MC_SIZE);
-+
-+free_mc:
-+ dma_free_coherent(core->dev, MC_SIZE, mc_addr, mc_addr_map);
-+release_firmware:
-+ release_firmware(fw);
-+ return ret;
-+}
-+
-+int vdec_1_stbuf_power_up(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+
-+ amvdec_write_dos(core, VLD_MEM_VIFIFO_CONTROL, 0);
-+ amvdec_write_dos(core, VLD_MEM_VIFIFO_WRAP_COUNT, 0);
-+ amvdec_write_dos(core, POWER_CTL_VLD, BIT(4));
-+
-+ amvdec_write_dos(core, VLD_MEM_VIFIFO_START_PTR, sess->vififo_paddr);
-+ amvdec_write_dos(core, VLD_MEM_VIFIFO_CURR_PTR, sess->vififo_paddr);
-+ amvdec_write_dos(core, VLD_MEM_VIFIFO_END_PTR,
-+ sess->vififo_paddr + sess->vififo_size - 8);
-+
-+ amvdec_write_dos_bits(core, VLD_MEM_VIFIFO_CONTROL, 1);
-+ amvdec_clear_dos_bits(core, VLD_MEM_VIFIFO_CONTROL, 1);
-+
-+ amvdec_write_dos(core, VLD_MEM_VIFIFO_BUF_CNTL, MEM_BUFCTRL_MANUAL);
-+ amvdec_write_dos(core, VLD_MEM_VIFIFO_WP, sess->vififo_paddr);
-+
-+ amvdec_write_dos_bits(core, VLD_MEM_VIFIFO_BUF_CNTL, 1);
-+ amvdec_clear_dos_bits(core, VLD_MEM_VIFIFO_BUF_CNTL, 1);
-+
-+ amvdec_write_dos_bits(core, VLD_MEM_VIFIFO_CONTROL,
-+ (0x11 << MEM_FIFO_CNT_BIT) | MEM_FILL_ON_LEVEL |
-+ MEM_CTRL_FILL_EN | MEM_CTRL_EMPTY_EN);
-+
-+ return 0;
-+}
-+
-+static void vdec_1_conf_esparser(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+
-+ /* VDEC_1 specific ESPARSER stuff */
-+ amvdec_write_dos(core, DOS_GEN_CTRL0, 0);
-+ amvdec_write_dos(core, VLD_MEM_VIFIFO_BUF_CNTL, 1);
-+ amvdec_clear_dos_bits(core, VLD_MEM_VIFIFO_BUF_CNTL, 1);
-+}
-+
-+static u32 vdec_1_vififo_level(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+
-+ return amvdec_read_dos(core, VLD_MEM_VIFIFO_LEVEL);
-+}
-+
-+static int vdec_1_stop(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
-+
-+ amvdec_write_dos(core, MPSR, 0);
-+ amvdec_write_dos(core, CPSR, 0);
-+ amvdec_write_dos(core, ASSIST_MBOX1_MASK, 0);
-+
-+ amvdec_write_dos(core, DOS_SW_RESET0, BIT(12) | BIT(11));
-+ amvdec_write_dos(core, DOS_SW_RESET0, 0);
-+ amvdec_read_dos(core, DOS_SW_RESET0);
-+
-+ /* enable vdec1 isolation */
-+ regmap_write(core->regmap_ao, AO_RTI_GEN_PWR_ISO0, 0xc0);
-+ /* power off vdec1 memories */
-+ amvdec_write_dos(core, DOS_MEM_PD_VDEC, 0xffffffff);
-+ /* power off vdec1 */
-+ regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0,
-+ GEN_PWR_VDEC_1, GEN_PWR_VDEC_1);
-+
-+ clk_disable_unprepare(core->vdec_1_clk);
-+
-+ if (sess->priv)
-+ codec_ops->stop(sess);
-+
-+ return 0;
-+}
-+
-+static int vdec_1_start(struct amvdec_session *sess)
-+{
-+ int ret;
-+ struct amvdec_core *core = sess->core;
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
-+
-+ /* Configure the vdec clk to the maximum available */
-+ clk_set_rate(core->vdec_1_clk, 666666666);
-+ ret = clk_prepare_enable(core->vdec_1_clk);
-+ if (ret)
-+ return ret;
-+
-+ regmap_update_bits(core->regmap_ao, AO_RTI_GEN_PWR_SLEEP0,
-+ GEN_PWR_VDEC_1, 0);
-+ udelay(10);
-+
-+ /* Reset VDEC1 */
-+ amvdec_write_dos(core, DOS_SW_RESET0, 0xfffffffc);
-+ amvdec_write_dos(core, DOS_SW_RESET0, 0x00000000);
-+
-+ amvdec_write_dos(core, DOS_GCLK_EN0, 0x3ff);
-+
-+ /* enable VDEC Memories */
-+ amvdec_write_dos(core, DOS_MEM_PD_VDEC, 0);
-+ /* Remove VDEC1 Isolation */
-+ regmap_write(core->regmap_ao, AO_RTI_GEN_PWR_ISO0, 0);
-+ /* Reset DOS top registers */
-+ amvdec_write_dos(core, DOS_VDEC_MCRCC_STALL_CTRL, 0);
-+
-+ amvdec_write_dos(core, GCLK_EN, 0x3ff);
-+ amvdec_clear_dos_bits(core, MDEC_PIC_DC_CTRL, BIT(31));
-+
-+ vdec_1_stbuf_power_up(sess);
-+
-+ ret = vdec_1_load_firmware(sess, sess->fmt_out->firmware_path);
-+ if (ret)
-+ goto stop;
-+
-+ ret = codec_ops->start(sess);
-+ if (ret)
-+ goto stop;
-+
-+ /* Enable IRQ */
-+ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1);
-+ amvdec_write_dos(core, ASSIST_MBOX1_MASK, 1);
-+
-+ /* Enable 2-plane output */
-+ if (sess->pixfmt_cap == V4L2_PIX_FMT_NV12M)
-+ amvdec_write_dos_bits(core, MDEC_PIC_DC_CTRL, BIT(17));
-+ else
-+ amvdec_clear_dos_bits(core, MDEC_PIC_DC_CTRL, BIT(17));
-+
-+ /* Enable firmware processor */
-+ amvdec_write_dos(core, MPSR, 1);
-+ /* Let the firmware settle */
-+ udelay(10);
-+
-+ return 0;
-+
-+stop:
-+ vdec_1_stop(sess);
-+ return ret;
-+}
-+
-+struct amvdec_ops vdec_1_ops = {
-+ .start = vdec_1_start,
-+ .stop = vdec_1_stop,
-+ .conf_esparser = vdec_1_conf_esparser,
-+ .vififo_level = vdec_1_vififo_level,
-+};
-diff --git a/drivers/media/platform/meson/vdec/vdec_1.h b/drivers/media/platform/meson/vdec/vdec_1.h
-new file mode 100644
-index 0000000..042d930
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec_1.h
-@@ -0,0 +1,14 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#ifndef __MESON_VDEC_VDEC_1_H_
-+#define __MESON_VDEC_VDEC_1_H_
-+
-+#include "vdec.h"
-+
-+extern struct amvdec_ops vdec_1_ops;
-+
-+#endif
-diff --git a/drivers/media/platform/meson/vdec/vdec_helpers.c b/drivers/media/platform/meson/vdec/vdec_helpers.c
-new file mode 100644
-index 0000000..02090c5
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec_helpers.c
-@@ -0,0 +1,412 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#include <linux/gcd.h>
-+#include <media/v4l2-mem2mem.h>
-+#include <media/v4l2-event.h>
-+#include <media/videobuf2-dma-contig.h>
-+
-+#include "vdec_helpers.h"
-+
-+#define NUM_CANVAS_NV12 2
-+#define NUM_CANVAS_YUV420 3
-+
-+u32 amvdec_read_dos(struct amvdec_core *core, u32 reg)
-+{
-+ return readl_relaxed(core->dos_base + reg);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_read_dos);
-+
-+void amvdec_write_dos(struct amvdec_core *core, u32 reg, u32 val)
-+{
-+ writel_relaxed(val, core->dos_base + reg);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_write_dos);
-+
-+void amvdec_write_dos_bits(struct amvdec_core *core, u32 reg, u32 val)
-+{
-+ amvdec_write_dos(core, reg, amvdec_read_dos(core, reg) | val);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_write_dos_bits);
-+
-+void amvdec_clear_dos_bits(struct amvdec_core *core, u32 reg, u32 val)
-+{
-+ amvdec_write_dos(core, reg, amvdec_read_dos(core, reg) & ~val);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_clear_dos_bits);
-+
-+u32 amvdec_read_parser(struct amvdec_core *core, u32 reg)
-+{
-+ return readl_relaxed(core->esparser_base + reg);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_read_parser);
-+
-+void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val)
-+{
-+ writel_relaxed(val, core->esparser_base + reg);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_write_parser);
-+
-+static int canvas_alloc(struct amvdec_session *sess, u8 *canvas_id)
-+{
-+ int ret;
-+
-+ if (sess->canvas_num >= MAX_CANVAS) {
-+ dev_err(sess->core->dev, "Reached max number of canvas\n");
-+ return -ENOMEM;
-+ }
-+
-+ ret = meson_canvas_alloc(sess->core->canvas, canvas_id);
-+ if (ret)
-+ return ret;
-+
-+ sess->canvas_alloc[sess->canvas_num++] = *canvas_id;
-+ return 0;
-+}
-+
-+static int set_canvas_yuv420m(struct amvdec_session *sess,
-+ struct vb2_buffer *vb, u32 width,
-+ u32 height, u32 reg)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u8 canvas_id[NUM_CANVAS_YUV420]; /* Y U V */
-+ dma_addr_t buf_paddr[NUM_CANVAS_YUV420]; /* Y U V */
-+ int ret, i;
-+
-+ for (i = 0; i < NUM_CANVAS_YUV420; ++i) {
-+ ret = canvas_alloc(sess, &canvas_id[i]);
-+ if (ret)
-+ return ret;
-+
-+ buf_paddr[i] =
-+ vb2_dma_contig_plane_dma_addr(vb, i);
-+ }
-+
-+ /* Y plane */
-+ meson_canvas_config(core->canvas, canvas_id[0], buf_paddr[0],
-+ width, height, MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+
-+ /* U plane */
-+ meson_canvas_config(core->canvas, canvas_id[1], buf_paddr[1],
-+ width / 2, height / 2, MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+
-+ /* V plane */
-+ meson_canvas_config(core->canvas, canvas_id[2], buf_paddr[2],
-+ width / 2, height / 2, MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+
-+ amvdec_write_dos(core, reg,
-+ ((canvas_id[2]) << 16) |
-+ ((canvas_id[1]) << 8) |
-+ (canvas_id[0]));
-+
-+ return 0;
-+}
-+
-+static int set_canvas_nv12m(struct amvdec_session *sess,
-+ struct vb2_buffer *vb, u32 width,
-+ u32 height, u32 reg)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u8 canvas_id[NUM_CANVAS_NV12]; /* Y U/V */
-+ dma_addr_t buf_paddr[NUM_CANVAS_NV12]; /* Y U/V */
-+ int ret, i;
-+
-+ for (i = 0; i < NUM_CANVAS_NV12; ++i) {
-+ ret = canvas_alloc(sess, &canvas_id[i]);
-+ if (ret)
-+ return ret;
-+
-+ buf_paddr[i] =
-+ vb2_dma_contig_plane_dma_addr(vb, i);
-+ }
-+
-+ /* Y plane */
-+ meson_canvas_config(core->canvas, canvas_id[0], buf_paddr[0],
-+ width, height, MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+
-+ /* U/V plane */
-+ meson_canvas_config(core->canvas, canvas_id[1], buf_paddr[1],
-+ width, height / 2, MESON_CANVAS_WRAP_NONE,
-+ MESON_CANVAS_BLKMODE_LINEAR,
-+ MESON_CANVAS_ENDIAN_SWAP64);
-+
-+ amvdec_write_dos(core, reg,
-+ ((canvas_id[1]) << 16) |
-+ ((canvas_id[1]) << 8) |
-+ (canvas_id[0]));
-+
-+ return 0;
-+}
-+
-+int amvdec_set_canvases(struct amvdec_session *sess,
-+ u32 reg_base[], u32 reg_num[])
-+{
-+ struct v4l2_m2m_buffer *buf;
-+ u32 pixfmt = sess->pixfmt_cap;
-+ u32 width = ALIGN(sess->width, 64);
-+ u32 height = ALIGN(sess->height, 64);
-+ u32 reg_cur = reg_base[0];
-+ u32 reg_num_cur = 0;
-+ u32 reg_base_cur = 0;
-+ int ret;
-+
-+ v4l2_m2m_for_each_dst_buf(sess->m2m_ctx, buf) {
-+ if (!reg_base[reg_base_cur])
-+ return -EINVAL;
-+
-+ reg_cur = reg_base[reg_base_cur] + reg_num_cur * 4;
-+
-+ switch (pixfmt) {
-+ case V4L2_PIX_FMT_NV12M:
-+ ret = set_canvas_nv12m(sess, &buf->vb.vb2_buf, width,
-+ height, reg_cur);
-+ if (ret)
-+ return ret;
-+ break;
-+ case V4L2_PIX_FMT_YUV420M:
-+ ret = set_canvas_yuv420m(sess, &buf->vb.vb2_buf, width,
-+ height, reg_cur);
-+ if (ret)
-+ return ret;
-+ break;
-+ default:
-+ dev_err(sess->core->dev, "Unsupported pixfmt %08X\n",
-+ pixfmt);
-+ return -EINVAL;
-+ };
-+
-+ reg_num_cur++;
-+ if (reg_num_cur >= reg_num[reg_base_cur]) {
-+ reg_base_cur++;
-+ reg_num_cur = 0;
-+ }
-+ }
-+
-+ return 0;
-+}
-+EXPORT_SYMBOL_GPL(amvdec_set_canvases);
-+
-+void amvdec_add_ts_reorder(struct amvdec_session *sess, u64 ts, u32 offset)
-+{
-+ struct amvdec_timestamp *new_ts, *tmp;
-+ unsigned long flags;
-+
-+ new_ts = kmalloc(sizeof(*new_ts), GFP_KERNEL);
-+ new_ts->ts = ts;
-+ new_ts->offset = offset;
-+
-+ spin_lock_irqsave(&sess->ts_spinlock, flags);
-+
-+ if (list_empty(&sess->timestamps))
-+ goto add_tail;
-+
-+ list_for_each_entry(tmp, &sess->timestamps, list) {
-+ if (ts <= tmp->ts) {
-+ list_add_tail(&new_ts->list, &tmp->list);
-+ goto unlock;
-+ }
-+ }
-+
-+add_tail:
-+ list_add_tail(&new_ts->list, &sess->timestamps);
-+unlock:
-+ spin_unlock_irqrestore(&sess->ts_spinlock, flags);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_add_ts_reorder);
-+
-+void amvdec_remove_ts(struct amvdec_session *sess, u64 ts)
-+{
-+ struct amvdec_timestamp *tmp;
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&sess->ts_spinlock, flags);
-+ list_for_each_entry(tmp, &sess->timestamps, list) {
-+ if (tmp->ts == ts) {
-+ list_del(&tmp->list);
-+ kfree(tmp);
-+ goto unlock;
-+ }
-+ }
-+ dev_warn(sess->core->dev_dec,
-+ "Couldn't remove buffer with timestamp %llu from list\n", ts);
-+
-+unlock:
-+ spin_unlock_irqrestore(&sess->ts_spinlock, flags);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_remove_ts);
-+
-+static void dst_buf_done(struct amvdec_session *sess,
-+ struct vb2_v4l2_buffer *vbuf,
-+ u32 field,
-+ u64 timestamp)
-+{
-+ struct device *dev = sess->core->dev_dec;
-+ u32 output_size = amvdec_get_output_size(sess);
-+
-+ switch (sess->pixfmt_cap) {
-+ case V4L2_PIX_FMT_NV12M:
-+ vbuf->vb2_buf.planes[0].bytesused = output_size;
-+ vbuf->vb2_buf.planes[1].bytesused = output_size / 2;
-+ break;
-+ case V4L2_PIX_FMT_YUV420M:
-+ vbuf->vb2_buf.planes[0].bytesused = output_size;
-+ vbuf->vb2_buf.planes[1].bytesused = output_size / 4;
-+ vbuf->vb2_buf.planes[2].bytesused = output_size / 4;
-+ break;
-+ }
-+
-+ vbuf->vb2_buf.timestamp = timestamp;
-+ vbuf->sequence = sess->sequence_cap++;
-+
-+ if (sess->should_stop &&
-+ atomic_read(&sess->esparser_queued_bufs) <= 2) {
-+ const struct v4l2_event ev = { .type = V4L2_EVENT_EOS };
-+
-+ dev_dbg(dev, "Signaling EOS\n");
-+ v4l2_event_queue_fh(&sess->fh, &ev);
-+ vbuf->flags |= V4L2_BUF_FLAG_LAST;
-+ } else if (sess->should_stop)
-+ dev_dbg(dev, "should_stop, %u bufs remain\n",
-+ atomic_read(&sess->esparser_queued_bufs));
-+
-+ dev_dbg(dev, "Buffer %u done\n", vbuf->vb2_buf.index);
-+ vbuf->field = field;
-+ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_DONE);
-+
-+ /* Buffer done probably means the vififo got freed */
-+ schedule_work(&sess->esparser_queue_work);
-+}
-+
-+void amvdec_dst_buf_done(struct amvdec_session *sess,
-+ struct vb2_v4l2_buffer *vbuf, u32 field)
-+{
-+ struct device *dev = sess->core->dev_dec;
-+ struct amvdec_timestamp *tmp;
-+ struct list_head *timestamps = &sess->timestamps;
-+ u64 timestamp;
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&sess->ts_spinlock, flags);
-+ if (list_empty(timestamps)) {
-+ dev_err(dev, "Buffer %u done but list is empty\n",
-+ vbuf->vb2_buf.index);
-+
-+ v4l2_m2m_buf_done(vbuf, VB2_BUF_STATE_ERROR);
-+ spin_unlock_irqrestore(&sess->ts_spinlock, flags);
-+ return;
-+ }
-+
-+ tmp = list_first_entry(timestamps, struct amvdec_timestamp, list);
-+ timestamp = tmp->ts;
-+ list_del(&tmp->list);
-+ kfree(tmp);
-+ spin_unlock_irqrestore(&sess->ts_spinlock, flags);
-+
-+ dst_buf_done(sess, vbuf, field, timestamp);
-+ atomic_dec(&sess->esparser_queued_bufs);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_dst_buf_done);
-+
-+static void amvdec_dst_buf_done_offset(struct amvdec_session *sess,
-+ struct vb2_v4l2_buffer *vbuf,
-+ u32 offset,
-+ u32 field)
-+{
-+ struct device *dev = sess->core->dev_dec;
-+ struct amvdec_timestamp *match = NULL;
-+ struct amvdec_timestamp *tmp, *n;
-+ u64 timestamp = 0;
-+ unsigned long flags;
-+
-+ spin_lock_irqsave(&sess->ts_spinlock, flags);
-+
-+ /* Look for our vififo offset to get the corresponding timestamp. */
-+ list_for_each_entry_safe(tmp, n, &sess->timestamps, list) {
-+ s64 delta = (s64)offset - tmp->offset;
-+
-+ /* Offsets reported by codecs usually differ slightly,
-+ * so we need some wiggle room.
-+ * 4KiB being the minimum packet size, there is no risk here.
-+ */
-+ if (delta > (-1 * (s32)SZ_4K) && delta < SZ_4K) {
-+ match = tmp;
-+ break;
-+ }
-+
-+ /* Delete any timestamp entry that appears before our target
-+ * (not all src packets/timestamps lead to a frame)
-+ */
-+ if (delta > 0 || delta < -1 * (s32)sess->vififo_size) {
-+ atomic_dec(&sess->esparser_queued_bufs);
-+ list_del(&tmp->list);
-+ kfree(tmp);
-+ }
-+ }
-+
-+ if (!match) {
-+ dev_dbg(dev, "Buffer %u done but can't match offset (%08X)\n",
-+ vbuf->vb2_buf.index, offset);
-+ } else {
-+ timestamp = match->ts;
-+ list_del(&match->list);
-+ kfree(match);
-+ }
-+ spin_unlock_irqrestore(&sess->ts_spinlock, flags);
-+
-+ dst_buf_done(sess, vbuf, field, timestamp);
-+ if (match)
-+ atomic_dec(&sess->esparser_queued_bufs);
-+}
-+
-+void amvdec_dst_buf_done_idx(struct amvdec_session *sess,
-+ u32 buf_idx, u32 offset, u32 field)
-+{
-+ struct vb2_v4l2_buffer *vbuf;
-+ struct device *dev = sess->core->dev_dec;
-+
-+ vbuf = v4l2_m2m_dst_buf_remove_by_idx(sess->m2m_ctx, buf_idx);
-+ if (!vbuf) {
-+ dev_err(dev,
-+ "Buffer %u done but it doesn't exist in m2m_ctx\n",
-+ buf_idx);
-+ return;
-+ }
-+
-+ if (offset != -1)
-+ amvdec_dst_buf_done_offset(sess, vbuf, offset, field);
-+ else
-+ amvdec_dst_buf_done(sess, vbuf, field);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_dst_buf_done_idx);
-+
-+void amvdec_set_par_from_dar(struct amvdec_session *sess,
-+ u32 dar_num, u32 dar_den)
-+{
-+ u32 div;
-+
-+ sess->pixelaspect.numerator = sess->height * dar_num;
-+ sess->pixelaspect.denominator = sess->width * dar_den;
-+ div = gcd(sess->pixelaspect.numerator, sess->pixelaspect.denominator);
-+ sess->pixelaspect.numerator /= div;
-+ sess->pixelaspect.denominator /= div;
-+}
-+EXPORT_SYMBOL_GPL(amvdec_set_par_from_dar);
-+
-+void amvdec_abort(struct amvdec_session *sess)
-+{
-+ dev_info(sess->core->dev, "Aborting decoding session!\n");
-+ vb2_queue_error(&sess->m2m_ctx->cap_q_ctx.q);
-+ vb2_queue_error(&sess->m2m_ctx->out_q_ctx.q);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_abort);
-diff --git a/drivers/media/platform/meson/vdec/vdec_helpers.h b/drivers/media/platform/meson/vdec/vdec_helpers.h
-new file mode 100644
-index 0000000..b9250a8
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec_helpers.h
-@@ -0,0 +1,48 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#ifndef __MESON_VDEC_HELPERS_H_
-+#define __MESON_VDEC_HELPERS_H_
-+
-+#include "vdec.h"
-+
-+/**
-+ * amvdec_set_canvases() - Map VB2 buffers to canvases
-+ *
-+ * @sess: current session
-+ * @reg_base: Registry bases of where to write the canvas indexes
-+ * @reg_num: number of contiguous registers after each reg_base (including it)
-+ */
-+int amvdec_set_canvases(struct amvdec_session *sess,
-+ u32 reg_base[], u32 reg_num[]);
-+
-+u32 amvdec_read_dos(struct amvdec_core *core, u32 reg);
-+void amvdec_write_dos(struct amvdec_core *core, u32 reg, u32 val);
-+void amvdec_write_dos_bits(struct amvdec_core *core, u32 reg, u32 val);
-+void amvdec_clear_dos_bits(struct amvdec_core *core, u32 reg, u32 val);
-+u32 amvdec_read_parser(struct amvdec_core *core, u32 reg);
-+void amvdec_write_parser(struct amvdec_core *core, u32 reg, u32 val);
-+
-+void amvdec_dst_buf_done_idx(struct amvdec_session *sess, u32 buf_idx,
-+ u32 offset, u32 field);
-+void amvdec_dst_buf_done(struct amvdec_session *sess,
-+ struct vb2_v4l2_buffer *vbuf, u32 field);
-+
-+/**
-+ * amvdec_add_ts_reorder() - Add a timestamp to the list in chronological order
-+ *
-+ * @sess: current session
-+ * @ts: timestamp to add
-+ * @offset: offset in the VIFIFO where the associated packet was written
-+ */
-+void amvdec_add_ts_reorder(struct amvdec_session *sess, u64 ts, u32 offset);
-+void amvdec_remove_ts(struct amvdec_session *sess, u64 ts);
-+
-+void amvdec_set_par_from_dar(struct amvdec_session *sess,
-+ u32 dar_num, u32 dar_den);
-+
-+void amvdec_abort(struct amvdec_session *sess);
-+#endif
-diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c
-new file mode 100644
-index 0000000..46eeb74
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec_platform.c
-@@ -0,0 +1,101 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#include "vdec_platform.h"
-+#include "vdec.h"
-+
-+#include "vdec_1.h"
-+#include "codec_mpeg12.h"
-+
-+static const struct amvdec_format vdec_formats_gxbb[] = {
-+ {
-+ .pixfmt = V4L2_PIX_FMT_MPEG1,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg12_ops,
-+ .firmware_path = "meson/gx/vmpeg12_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_MPEG2,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg12_ops,
-+ .firmware_path = "meson/gx/vmpeg12_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ },
-+};
-+
-+static const struct amvdec_format vdec_formats_gxl[] = {
-+ {
-+ .pixfmt = V4L2_PIX_FMT_MPEG1,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg12_ops,
-+ .firmware_path = "meson/gx/vmpeg12_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_MPEG2,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg12_ops,
-+ .firmware_path = "meson/gx/vmpeg12_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ },
-+};
-+
-+static const struct amvdec_format vdec_formats_gxm[] = {
-+ {
-+ .pixfmt = V4L2_PIX_FMT_MPEG1,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg12_ops,
-+ .firmware_path = "meson/gx/vmpeg12_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_MPEG2,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg12_ops,
-+ .firmware_path = "meson/gx/vmpeg12_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ },
-+};
-+
-+const struct vdec_platform vdec_platform_gxbb = {
-+ .formats = vdec_formats_gxbb,
-+ .num_formats = ARRAY_SIZE(vdec_formats_gxbb),
-+ .revision = VDEC_REVISION_GXBB,
-+};
-+
-+const struct vdec_platform vdec_platform_gxl = {
-+ .formats = vdec_formats_gxl,
-+ .num_formats = ARRAY_SIZE(vdec_formats_gxl),
-+ .revision = VDEC_REVISION_GXL,
-+};
-+
-+const struct vdec_platform vdec_platform_gxm = {
-+ .formats = vdec_formats_gxm,
-+ .num_formats = ARRAY_SIZE(vdec_formats_gxm),
-+ .revision = VDEC_REVISION_GXM,
-+};
-diff --git a/drivers/media/platform/meson/vdec/vdec_platform.h b/drivers/media/platform/meson/vdec/vdec_platform.h
-new file mode 100644
-index 0000000..f602532
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec_platform.h
-@@ -0,0 +1,30 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 BayLibre, SAS
-+ * Author: Maxime Jourdan <mjourdan@baylibre.com>
-+ */
-+
-+#ifndef __MESON_VDEC_PLATFORM_H_
-+#define __MESON_VDEC_PLATFORM_H_
-+
-+#include "vdec.h"
-+
-+struct amvdec_format;
-+
-+enum vdec_revision {
-+ VDEC_REVISION_GXBB,
-+ VDEC_REVISION_GXL,
-+ VDEC_REVISION_GXM,
-+};
-+
-+struct vdec_platform {
-+ const struct amvdec_format *formats;
-+ const u32 num_formats;
-+ enum vdec_revision revision;
-+};
-+
-+extern const struct vdec_platform vdec_platform_gxbb;
-+extern const struct vdec_platform vdec_platform_gxm;
-+extern const struct vdec_platform vdec_platform_gxl;
-+
-+#endif
diff --git a/testing/linux-amlogic/0034-MAINTAINERS-Add-meson-video-decoder.patch b/testing/linux-amlogic/0034-MAINTAINERS-Add-meson-video-decoder.patch
deleted file mode 100644
index 76a6a3826bf..00000000000
--- a/testing/linux-amlogic/0034-MAINTAINERS-Add-meson-video-decoder.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a4089c61b05e61349ff10539fc20ee480d44b303 Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Tue, 4 Sep 2018 10:07:08 +0200
-Subject: [PATCH] MAINTAINERS: Add meson video decoder
-
-Add an entry for the meson video decoder for amlogic SoCs.
-
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- MAINTAINERS | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/MAINTAINERS b/MAINTAINERS
-index 9e9b19e..ede389b 100644
---- a/MAINTAINERS
-+++ b/MAINTAINERS
-@@ -9520,6 +9520,14 @@ F: drivers/media/platform/meson/ao-cec.c
- F: Documentation/devicetree/bindings/media/meson-ao-cec.txt
- T: git git://linuxtv.org/media_tree.git
-
-+MESON VIDEO DECODER DRIVER FOR AMLOGIC SOCS
-+M: Maxime Jourdan <mjourdan@baylibre.com>
-+L: linux-media@lists.freedesktop.org
-+L: linux-amlogic@lists.infradead.org
-+S: Supported
-+F: drivers/media/platform/meson/vdec/
-+T: git git://linuxtv.org/media_tree.git
-+
- MICROBLAZE ARCHITECTURE
- M: Michal Simek <monstr@monstr.eu>
- W: http://www.monstr.eu/fdt/
diff --git a/testing/linux-amlogic/0035-arm64-dts-meson-gx-add-vdec-entry.patch b/testing/linux-amlogic/0035-arm64-dts-meson-gx-add-vdec-entry.patch
deleted file mode 100644
index 4b1f168f7e8..00000000000
--- a/testing/linux-amlogic/0035-arm64-dts-meson-gx-add-vdec-entry.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 771e9830bdd1361594a874ded57fe497f443d7dd Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Wed, 29 Aug 2018 15:24:02 +0200
-Subject: [PATCH] arm64: dts: meson-gx: add vdec entry
-
-Add the video decoder dts entry
-
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 14 ++++++++++++++
- 1 file changed, 14 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-index 5012607..5d2820e 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
-@@ -445,6 +445,20 @@
- };
- };
-
-+ vdec: video-decoder@c8820000 {
-+ compatible = "amlogic,gx-vdec";
-+ reg = <0x0 0xc8820000 0x0 0x10000>,
-+ <0x0 0xc110a580 0x0 0xe4>;
-+ reg-names = "dos", "esparser";
-+
-+ interrupts = <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,
-+ <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>;
-+ interrupt-names = "vdec", "esparser";
-+
-+ amlogic,ao-sysctrl = <&sysctrl_AO>;
-+ amlogic,canvas = <&canvas>;
-+ };
-+
- periphs: periphs@c8834000 {
- compatible = "simple-bus";
- reg = <0x0 0xc8834000 0x0 0x2000>;
diff --git a/testing/linux-amlogic/0036-arm64-dts-meson-add-vdec-entries.patch b/testing/linux-amlogic/0036-arm64-dts-meson-add-vdec-entries.patch
deleted file mode 100644
index 0770272005f..00000000000
--- a/testing/linux-amlogic/0036-arm64-dts-meson-add-vdec-entries.patch
+++ /dev/null
@@ -1,63 +0,0 @@
-From 75863ab0baf29e4b0212a34f9ab7ef2763a38824 Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Wed, 29 Aug 2018 15:24:22 +0200
-Subject: [PATCH] arm64: dts: meson: add vdec entries
-
-This enables the video decoder for gxbb, gxl and gxm chips
-
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 10 ++++++++++
- arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 10 ++++++++++
- arch/arm64/boot/dts/amlogic/meson-gxm.dtsi | 4 ++++
- 3 files changed, 24 insertions(+)
-
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-index 2a4d506..96145e4 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
-@@ -814,3 +814,13 @@
- power-domains = <&pwrc_vpu>;
- };
-
-+&vdec {
-+ compatible = "amlogic,gxbb-vdec";
-+ clocks = <&clkc CLKID_DOS_PARSER>,
-+ <&clkc CLKID_DOS>,
-+ <&clkc CLKID_VDEC_1>,
-+ <&clkc CLKID_VDEC_HEVC>;
-+ clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
-+ resets = <&reset RESET_PARSER>;
-+ reset-names = "esparser";
-+};
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-index 9f4b618..6ca93ae 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
-@@ -814,3 +814,13 @@
- power-domains = <&pwrc_vpu>;
- };
-
-+&vdec {
-+ compatible = "amlogic,gxl-vdec";
-+ clocks = <&clkc CLKID_DOS_PARSER>,
-+ <&clkc CLKID_DOS>,
-+ <&clkc CLKID_VDEC_1>,
-+ <&clkc CLKID_VDEC_HEVC>;
-+ clock-names = "dos_parser", "dos", "vdec_1", "vdec_hevc";
-+ resets = <&reset RESET_PARSER>;
-+ reset-names = "esparser";
-+};
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
-index 247888d..2f35649 100644
---- a/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxm.dtsi
-@@ -117,3 +117,7 @@
- &dwc3 {
- phys = <&usb3_phy>, <&usb2_phy0>, <&usb2_phy1>, <&usb2_phy2>;
- };
-+
-+&vdec {
-+ compatible = "amlogic,gxm-vdec";
-+};
diff --git a/testing/linux-amlogic/0037-meson-vdec-introduce-controls-and-V4L2_CID_MIN_BUFFE.patch b/testing/linux-amlogic/0037-meson-vdec-introduce-controls-and-V4L2_CID_MIN_BUFFE.patch
deleted file mode 100644
index 3c120117b1c..00000000000
--- a/testing/linux-amlogic/0037-meson-vdec-introduce-controls-and-V4L2_CID_MIN_BUFFE.patch
+++ /dev/null
@@ -1,153 +0,0 @@
-From e36802c6297adb0c560f3a6c1672546eb380c458 Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Wed, 10 Oct 2018 17:22:27 +0200
-Subject: [PATCH] meson: vdec: introduce controls and
- V4L2_CID_MIN_BUFFERS_FOR_CAPTURE
-
----
- drivers/media/platform/meson/vdec/Makefile | 2 +-
- drivers/media/platform/meson/vdec/vdec.c | 7 ++++
- drivers/media/platform/meson/vdec/vdec.h | 2 ++
- drivers/media/platform/meson/vdec/vdec_ctrls.c | 45 ++++++++++++++++++++++++++
- drivers/media/platform/meson/vdec/vdec_ctrls.h | 8 +++++
- 5 files changed, 63 insertions(+), 1 deletion(-)
- create mode 100644 drivers/media/platform/meson/vdec/vdec_ctrls.c
- create mode 100644 drivers/media/platform/meson/vdec/vdec_ctrls.h
-
-diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile
-index 6bea129..eba8608 100644
---- a/drivers/media/platform/meson/vdec/Makefile
-+++ b/drivers/media/platform/meson/vdec/Makefile
-@@ -1,7 +1,7 @@
- # SPDX-License-Identifier: GPL-2.0
- # Makefile for Amlogic meson video decoder driver
-
--meson-vdec-objs = esparser.o vdec.o vdec_helpers.o vdec_platform.o
-+meson-vdec-objs = esparser.o vdec.o vdec_ctrls.o vdec_helpers.o vdec_platform.o
- meson-vdec-objs += vdec_1.o
- meson-vdec-objs += codec_mpeg12.o
-
-diff --git a/drivers/media/platform/meson/vdec/vdec.c b/drivers/media/platform/meson/vdec/vdec.c
-index d8db52c..1c5d3e9 100644
---- a/drivers/media/platform/meson/vdec/vdec.c
-+++ b/drivers/media/platform/meson/vdec/vdec.c
-@@ -21,6 +21,7 @@
- #include "vdec.h"
- #include "esparser.h"
- #include "vdec_helpers.h"
-+#include "vdec_ctrls.h"
-
- struct dummy_buf {
- struct vb2_v4l2_buffer vb;
-@@ -290,6 +291,7 @@ static int vdec_start_streaming(struct vb2_queue *q, unsigned int count)
- sess->keyframe_found = 0;
- sess->last_offset = 0;
- sess->wrap_count = 0;
-+ sess->dpb_size = 0;
- sess->pixelaspect.numerator = 1;
- sess->pixelaspect.denominator = 1;
- atomic_set(&sess->esparser_queued_bufs, 0);
-@@ -812,6 +814,10 @@ static int vdec_open(struct file *file)
- goto err_m2m_release;
- }
-
-+ ret = amvdec_init_ctrls(&sess->ctrl_handler);
-+ if (ret)
-+ goto err_m2m_release;
-+
- sess->pixfmt_cap = formats[0].pixfmts_cap[0];
- sess->fmt_out = &formats[0];
- sess->width = 1280;
-@@ -827,6 +833,7 @@ static int vdec_open(struct file *file)
- spin_lock_init(&sess->ts_spinlock);
-
- v4l2_fh_init(&sess->fh, core->vdev_dec);
-+ sess->fh.ctrl_handler = &sess->ctrl_handler;
- v4l2_fh_add(&sess->fh);
- sess->fh.m2m_ctx = sess->m2m_ctx;
- file->private_data = &sess->fh;
-diff --git a/drivers/media/platform/meson/vdec/vdec.h b/drivers/media/platform/meson/vdec/vdec.h
-index 4e8c3f1..6be7de2 100644
---- a/drivers/media/platform/meson/vdec/vdec.h
-+++ b/drivers/media/platform/meson/vdec/vdec.h
-@@ -203,6 +203,7 @@ struct amvdec_session {
- struct v4l2_fh fh;
- struct v4l2_m2m_dev *m2m_dev;
- struct v4l2_m2m_ctx *m2m_ctx;
-+ struct v4l2_ctrl_handler ctrl_handler;
- struct mutex lock;
-
- const struct amvdec_format *fmt_out;
-@@ -242,6 +243,7 @@ struct amvdec_session {
- u64 last_irq_jiffies;
- u32 last_offset;
- u32 wrap_count;
-+ u32 dpb_size;
-
- void *priv;
- };
-diff --git a/drivers/media/platform/meson/vdec/vdec_ctrls.c b/drivers/media/platform/meson/vdec/vdec_ctrls.c
-new file mode 100644
-index 0000000..cd6dd6d
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec_ctrls.c
-@@ -0,0 +1,45 @@
-+#include "vdec_ctrls.h"
-+
-+static int vdec_op_g_volatile_ctrl(struct v4l2_ctrl *ctrl)
-+{
-+ struct amvdec_session *sess =
-+ container_of(ctrl->handler, struct amvdec_session, ctrl_handler);
-+
-+ switch (ctrl->id) {
-+ case V4L2_CID_MIN_BUFFERS_FOR_CAPTURE:
-+ ctrl->val = sess->dpb_size;
-+ break;
-+ default:
-+ return -EINVAL;
-+ };
-+
-+ return 0;
-+}
-+
-+static const struct v4l2_ctrl_ops vdec_ctrl_ops = {
-+ .g_volatile_ctrl = vdec_op_g_volatile_ctrl,
-+};
-+
-+int amvdec_init_ctrls(struct v4l2_ctrl_handler *ctrl_handler)
-+{
-+ int ret;
-+ struct v4l2_ctrl *ctrl;
-+
-+ ret = v4l2_ctrl_handler_init(ctrl_handler, 1);
-+ if (ret)
-+ return ret;
-+
-+ ctrl = v4l2_ctrl_new_std(ctrl_handler, &vdec_ctrl_ops,
-+ V4L2_CID_MIN_BUFFERS_FOR_CAPTURE, 1, 32, 1, 1);
-+ if (ctrl)
-+ ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE;
-+
-+ ret = ctrl_handler->error;
-+ if (ret) {
-+ v4l2_ctrl_handler_free(ctrl_handler);
-+ return ret;
-+ }
-+
-+ return 0;
-+}
-+EXPORT_SYMBOL_GPL(amvdec_init_ctrls);
-diff --git a/drivers/media/platform/meson/vdec/vdec_ctrls.h b/drivers/media/platform/meson/vdec/vdec_ctrls.h
-new file mode 100644
-index 0000000..4bcc5e6
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/vdec_ctrls.h
-@@ -0,0 +1,8 @@
-+#ifndef __MESON_VDEC_CTRLS_H_
-+#define __MESON_VDEC_CTRLS_H_
-+
-+#include "vdec.h"
-+
-+int amvdec_init_ctrls(struct v4l2_ctrl_handler *ctrl_handler);
-+
-+#endif
diff --git a/testing/linux-amlogic/0038-media-videodev2-add-V4L2_FMT_FLAG_NO_SOURCE_CHANGE.patch b/testing/linux-amlogic/0038-media-videodev2-add-V4L2_FMT_FLAG_NO_SOURCE_CHANGE.patch
deleted file mode 100644
index 7229bb2ec6d..00000000000
--- a/testing/linux-amlogic/0038-media-videodev2-add-V4L2_FMT_FLAG_NO_SOURCE_CHANGE.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 80f9e75b2fce22552fdf56ade990f3f98567e29e Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Thu, 4 Oct 2018 15:37:39 +0200
-Subject: [PATCH] media: videodev2: add V4L2_FMT_FLAG_NO_SOURCE_CHANGE
-
-When a v4l2 driver exposes V4L2_EVENT_SOURCE_CHANGE, some (usually
-OUTPUT) formats may not be able to trigger this event.
-
-Add a enum_fmt format flag to tag those specific formats.
-
-Signed-off-by: Maxime Jourdan <mjourdan@baylibre.com>
-
----
- Documentation/media/uapi/v4l/vidioc-enum-fmt.rst | 5 +++++
- include/uapi/linux/videodev2.h | 5 +++--
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst b/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst
-index 019c513..e0040b3 100644
---- a/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst
-+++ b/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst
-@@ -116,6 +116,11 @@ one until ``EINVAL`` is returned.
- - This format is not native to the device but emulated through
- software (usually libv4l2), where possible try to use a native
- format instead for better performance.
-+ * - ``V4L2_FMT_FLAG_NO_SOURCE_CHANGE``
-+ - 0x0004
-+ - The event ``V4L2_EVENT_SOURCE_CHANGE`` is not supported
-+ for this format.
-+
-
-
- Return Value
-diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
-index 1aae2e4..f44bdef 100644
---- a/include/uapi/linux/videodev2.h
-+++ b/include/uapi/linux/videodev2.h
-@@ -733,8 +733,9 @@ struct v4l2_fmtdesc {
- __u32 reserved[4];
- };
-
--#define V4L2_FMT_FLAG_COMPRESSED 0x0001
--#define V4L2_FMT_FLAG_EMULATED 0x0002
-+#define V4L2_FMT_FLAG_COMPRESSED 0x0001
-+#define V4L2_FMT_FLAG_EMULATED 0x0002
-+#define V4L2_FMT_FLAG_NO_SOURCE_CHANGE 0x0004
-
- /* Frame Size and frame rate enumeration */
- /*
diff --git a/testing/linux-amlogic/0039-meson-vdec-allow-subscribing-to-V4L2_EVENT_SOURCE_CH.patch b/testing/linux-amlogic/0039-meson-vdec-allow-subscribing-to-V4L2_EVENT_SOURCE_CH.patch
deleted file mode 100644
index 4a29d883917..00000000000
--- a/testing/linux-amlogic/0039-meson-vdec-allow-subscribing-to-V4L2_EVENT_SOURCE_CH.patch
+++ /dev/null
@@ -1,270 +0,0 @@
-From 4ba289cf4940b6b8ddf1e332fc7248a27f54cfc8 Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Wed, 10 Oct 2018 15:44:56 +0200
-Subject: [PATCH] meson: vdec: allow subscribing to V4L2_EVENT_SOURCE_CHANGE
-
-Flag MPEG1/MPEG2 as NO_SOURCE_CHANGE.
-
----
- drivers/media/platform/meson/vdec/vdec.c | 20 ++++++++++++++--
- drivers/media/platform/meson/vdec/vdec.h | 13 +++++++++++
- drivers/media/platform/meson/vdec/vdec_helpers.c | 28 +++++++++++++++++++++++
- drivers/media/platform/meson/vdec/vdec_helpers.h | 1 +
- drivers/media/platform/meson/vdec/vdec_platform.c | 6 +++++
- 5 files changed, 66 insertions(+), 2 deletions(-)
-
-diff --git a/drivers/media/platform/meson/vdec/vdec.c b/drivers/media/platform/meson/vdec/vdec.c
-index 1c5d3e9..ca64045 100644
---- a/drivers/media/platform/meson/vdec/vdec.c
-+++ b/drivers/media/platform/meson/vdec/vdec.c
-@@ -230,7 +230,8 @@ static int vdec_queue_setup(struct vb2_queue *q,
- * are free to choose any of them to write frames to. As such,
- * we need all of them to be queued into the driver
- */
-- q->min_buffers_needed = q->num_buffers + *num_buffers;
-+ sess->num_dst_bufs = q->num_buffers + *num_buffers;
-+ q->min_buffers_needed = sess->num_dst_bufs;
- break;
- default:
- return -EINVAL;
-@@ -260,6 +261,7 @@ static void vdec_vb2_buf_queue(struct vb2_buffer *vb)
- static int vdec_start_streaming(struct vb2_queue *q, unsigned int count)
- {
- struct amvdec_session *sess = vb2_get_drv_priv(q);
-+ struct amvdec_codec_ops *codec_ops = sess->fmt_out->codec_ops;
- struct amvdec_core *core = sess->core;
- struct vb2_v4l2_buffer *buf;
- int ret;
-@@ -277,6 +279,13 @@ static int vdec_start_streaming(struct vb2_queue *q, unsigned int count)
- if (!sess->streamon_out || !sess->streamon_cap)
- return 0;
-
-+ if (sess->status == STATUS_NEEDS_RESUME &&
-+ q->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
-+ codec_ops->resume(sess);
-+ sess->status = STATUS_RUNNING;
-+ return 0;
-+ }
-+
- sess->vififo_size = SIZE_VIFIFO;
- sess->vififo_vaddr =
- dma_alloc_coherent(sess->core->dev, sess->vififo_size,
-@@ -305,6 +314,7 @@ static int vdec_start_streaming(struct vb2_queue *q, unsigned int count)
- sess->recycle_thread = kthread_run(vdec_recycle_thread, sess,
- "vdec_recycle");
-
-+ sess->status = STATUS_RUNNING;
- core->cur_sess = sess;
-
- return 0;
-@@ -362,7 +372,9 @@ static void vdec_stop_streaming(struct vb2_queue *q)
- struct amvdec_core *core = sess->core;
- struct vb2_v4l2_buffer *buf;
-
-- if (sess->streamon_out && sess->streamon_cap) {
-+ if (sess->status == STATUS_RUNNING ||
-+ (sess->status == STATUS_NEEDS_RESUME &&
-+ (!sess->streamon_out || !sess->streamon_cap))) {
- if (vdec_codec_needs_recycle(sess))
- kthread_stop(sess->recycle_thread);
-
-@@ -375,6 +387,7 @@ static void vdec_stop_streaming(struct vb2_queue *q)
- kfree(sess->priv);
- sess->priv = NULL;
- core->cur_sess = NULL;
-+ sess->status = STATUS_STOPPED;
- }
-
- if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) {
-@@ -611,6 +624,7 @@ static int vdec_enum_fmt(struct file *file, void *fh, struct v4l2_fmtdesc *f)
-
- fmt_out = &platform->formats[f->index];
- f->pixelformat = fmt_out->pixfmt;
-+ f->flags = fmt_out->flags;
- } else if (f->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
- fmt_out = sess->fmt_out;
- if (f->index >= 4 || !fmt_out->pixfmts_cap[f->index])
-@@ -703,6 +717,8 @@ static int vdec_subscribe_event(struct v4l2_fh *fh,
- switch (sub->type) {
- case V4L2_EVENT_EOS:
- return v4l2_event_subscribe(fh, sub, 2, NULL);
-+ case V4L2_EVENT_SOURCE_CHANGE:
-+ return v4l2_src_change_event_subscribe(fh, sub);
- default:
- return -EINVAL;
- }
-diff --git a/drivers/media/platform/meson/vdec/vdec.h b/drivers/media/platform/meson/vdec/vdec.h
-index 6be7de2..8f8ce62 100644
---- a/drivers/media/platform/meson/vdec/vdec.h
-+++ b/drivers/media/platform/meson/vdec/vdec.h
-@@ -101,6 +101,7 @@ struct amvdec_ops {
- u32 (*vififo_level)(struct amvdec_session *sess);
- };
-
-+
- /**
- * struct amvdec_codec_ops - codec operations
- *
-@@ -127,6 +128,7 @@ struct amvdec_codec_ops {
- int (*can_recycle)(struct amvdec_core *core);
- void (*recycle)(struct amvdec_core *core, u32 buf_idx);
- void (*drain)(struct amvdec_session *sess);
-+ void (*resume)(struct amvdec_session *sess);
- const u8 * (*eos_sequence)(u32 *len);
- irqreturn_t (*isr)(struct amvdec_session *sess);
- irqreturn_t (*threaded_isr)(struct amvdec_session *sess);
-@@ -140,6 +142,7 @@ struct amvdec_codec_ops {
- * @max_buffers: maximum amount of CAPTURE (dst) buffers
- * @max_width: maximum picture width supported
- * @max_height: maximum picture height supported
-+ * @flags: enum flags associated with this pixfmt
- * @vdec_ops: the VDEC operations that support this format
- * @codec_ops: the codec operations that support this format
- * @firmware_path: Path to the firmware that supports this format
-@@ -151,6 +154,7 @@ struct amvdec_format {
- u32 max_buffers;
- u32 max_width;
- u32 max_height;
-+ u32 flags;
-
- struct amvdec_ops *vdec_ops;
- struct amvdec_codec_ops *codec_ops;
-@@ -159,6 +163,12 @@ struct amvdec_format {
- u32 pixfmts_cap[4];
- };
-
-+enum amvdec_status {
-+ STATUS_STOPPED,
-+ STATUS_RUNNING,
-+ STATUS_NEEDS_RESUME,
-+};
-+
- /**
- * struct amvdec_session - decoding session parameters
- *
-@@ -195,6 +205,7 @@ struct amvdec_format {
- * @timestamps: chronological list of src timestamps
- * @ts_spinlock: spinlock for the timestamps list
- * @last_irq_jiffies: tracks last time the vdec triggered an IRQ
-+ * @status: current decoding status
- * @priv: codec private data
- */
- struct amvdec_session {
-@@ -225,6 +236,7 @@ struct amvdec_session {
- unsigned int sequence_cap;
- unsigned int should_stop;
- unsigned int keyframe_found;
-+ unsigned int num_dst_bufs;
-
- u8 canvas_alloc[MAX_CANVAS];
- u32 canvas_num;
-@@ -245,6 +257,7 @@ struct amvdec_session {
- u32 wrap_count;
- u32 dpb_size;
-
-+ enum amvdec_status status;
- void *priv;
- };
-
-diff --git a/drivers/media/platform/meson/vdec/vdec_helpers.c b/drivers/media/platform/meson/vdec/vdec_helpers.c
-index 02090c5..b982b28 100644
---- a/drivers/media/platform/meson/vdec/vdec_helpers.c
-+++ b/drivers/media/platform/meson/vdec/vdec_helpers.c
-@@ -403,6 +403,34 @@ void amvdec_set_par_from_dar(struct amvdec_session *sess,
- }
- EXPORT_SYMBOL_GPL(amvdec_set_par_from_dar);
-
-+void amvdec_src_change(struct amvdec_session *sess, u32 width, u32 height, u32 dpb_size)
-+{
-+ static const struct v4l2_event ev = {
-+ .type = V4L2_EVENT_SOURCE_CHANGE,
-+ .u.src_change.changes = V4L2_EVENT_SRC_CH_RESOLUTION };
-+
-+ sess->dpb_size = dpb_size;
-+
-+ /* Check if the capture queue is already configured well for our
-+ * usecase. If so, keep decoding with it and do not send the event
-+ */
-+ if (sess->width == width &&
-+ sess->height == height &&
-+ dpb_size <= sess->num_dst_bufs) {
-+ sess->fmt_out->codec_ops->resume(sess);
-+ return;
-+ }
-+
-+ sess->width = width;
-+ sess->height = height;
-+ sess->status = STATUS_NEEDS_RESUME;
-+
-+ dev_dbg(sess->core->dev, "Res. changed (%ux%u), DPB size %u\n",
-+ width, height, dpb_size);
-+ v4l2_event_queue_fh(&sess->fh, &ev);
-+}
-+EXPORT_SYMBOL_GPL(amvdec_src_change);
-+
- void amvdec_abort(struct amvdec_session *sess)
- {
- dev_info(sess->core->dev, "Aborting decoding session!\n");
-diff --git a/drivers/media/platform/meson/vdec/vdec_helpers.h b/drivers/media/platform/meson/vdec/vdec_helpers.h
-index b9250a8..060799b 100644
---- a/drivers/media/platform/meson/vdec/vdec_helpers.h
-+++ b/drivers/media/platform/meson/vdec/vdec_helpers.h
-@@ -44,5 +44,6 @@ void amvdec_remove_ts(struct amvdec_session *sess, u64 ts);
- void amvdec_set_par_from_dar(struct amvdec_session *sess,
- u32 dar_num, u32 dar_den);
-
-+void amvdec_src_change(struct amvdec_session *sess, u32 width, u32 height, u32 dpb_size);
- void amvdec_abort(struct amvdec_session *sess);
- #endif
-diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c
-index 46eeb74..291f1ee 100644
---- a/drivers/media/platform/meson/vdec/vdec_platform.c
-+++ b/drivers/media/platform/meson/vdec/vdec_platform.c
-@@ -17,6 +17,7 @@ static const struct amvdec_format vdec_formats_gxbb[] = {
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
-+ .flags = V4L2_FMT_FLAG_NO_SOURCE_CHANGE,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/gx/vmpeg12_mc",
-@@ -27,6 +28,7 @@ static const struct amvdec_format vdec_formats_gxbb[] = {
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
-+ .flags = V4L2_FMT_FLAG_NO_SOURCE_CHANGE,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/gx/vmpeg12_mc",
-@@ -41,6 +43,7 @@ static const struct amvdec_format vdec_formats_gxl[] = {
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
-+ .flags = V4L2_FMT_FLAG_NO_SOURCE_CHANGE,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/gx/vmpeg12_mc",
-@@ -51,6 +54,7 @@ static const struct amvdec_format vdec_formats_gxl[] = {
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
-+ .flags = V4L2_FMT_FLAG_NO_SOURCE_CHANGE,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/gx/vmpeg12_mc",
-@@ -65,6 +69,7 @@ static const struct amvdec_format vdec_formats_gxm[] = {
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
-+ .flags = V4L2_FMT_FLAG_NO_SOURCE_CHANGE,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/gx/vmpeg12_mc",
-@@ -75,6 +80,7 @@ static const struct amvdec_format vdec_formats_gxm[] = {
- .max_buffers = 8,
- .max_width = 1920,
- .max_height = 1080,
-+ .flags = V4L2_FMT_FLAG_NO_SOURCE_CHANGE,
- .vdec_ops = &vdec_1_ops,
- .codec_ops = &codec_mpeg12_ops,
- .firmware_path = "meson/gx/vmpeg12_mc",
diff --git a/testing/linux-amlogic/0040-media-meson-vdec-add-H.264-decoding-support.patch b/testing/linux-amlogic/0040-media-meson-vdec-add-H.264-decoding-support.patch
deleted file mode 100644
index aa66ec743e7..00000000000
--- a/testing/linux-amlogic/0040-media-meson-vdec-add-H.264-decoding-support.patch
+++ /dev/null
@@ -1,591 +0,0 @@
-From a41f52edc3681c11517c4d7ceb374f3189ea3310 Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Wed, 29 Aug 2018 15:42:56 +0200
-Subject: [PATCH] media: meson: vdec: add H.264 decoding support
-
-Add support for V4L2_PIX_FMT_H264
-
----
- drivers/media/platform/meson/vdec/Makefile | 2 +-
- drivers/media/platform/meson/vdec/codec_h264.c | 478 ++++++++++++++++++++++
- drivers/media/platform/meson/vdec/codec_h264.h | 13 +
- drivers/media/platform/meson/vdec/vdec_platform.c | 31 ++
- 4 files changed, 523 insertions(+), 1 deletion(-)
- create mode 100644 drivers/media/platform/meson/vdec/codec_h264.c
- create mode 100644 drivers/media/platform/meson/vdec/codec_h264.h
-
-diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile
-index eba8608..01dc960 100644
---- a/drivers/media/platform/meson/vdec/Makefile
-+++ b/drivers/media/platform/meson/vdec/Makefile
-@@ -3,6 +3,6 @@
-
- meson-vdec-objs = esparser.o vdec.o vdec_ctrls.o vdec_helpers.o vdec_platform.o
- meson-vdec-objs += vdec_1.o
--meson-vdec-objs += codec_mpeg12.o
-+meson-vdec-objs += codec_mpeg12.o codec_h264.o
-
- obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o
-diff --git a/drivers/media/platform/meson/vdec/codec_h264.c b/drivers/media/platform/meson/vdec/codec_h264.c
-new file mode 100644
-index 0000000..6ac0115
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/codec_h264.c
-@@ -0,0 +1,478 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 Maxime Jourdan <maxi.jourdan@wanadoo.fr>
-+ */
-+
-+#include <media/v4l2-mem2mem.h>
-+#include <media/videobuf2-dma-contig.h>
-+
-+#include "vdec_helpers.h"
-+#include "dos_regs.h"
-+
-+#define SIZE_EXT_FW (20 * SZ_1K)
-+#define SIZE_WORKSPACE 0x1ee000
-+#define SIZE_SEI (8 * SZ_1K)
-+
-+/* Offset added by the firmware which must be substracted
-+ * from the workspace phyaddr
-+ */
-+#define WORKSPACE_BUF_OFFSET 0x1000000
-+
-+/* ISR status */
-+#define CMD_MASK GENMASK(7, 0)
-+#define CMD_SRC_CHANGE 1
-+#define CMD_FRAMES_READY 2
-+#define CMD_FATAL_ERROR 6
-+#define CMD_BAD_WIDTH 7
-+#define CMD_BAD_HEIGHT 8
-+
-+#define SEI_DATA_READY BIT(15)
-+
-+/* Picture type */
-+#define PIC_TOP_BOT 5
-+#define PIC_BOT_TOP 6
-+
-+/* Size of Motion Vector per macroblock */
-+#define MB_MV_SIZE 96
-+
-+/* Frame status data */
-+#define PIC_STRUCT_BIT 5
-+#define PIC_STRUCT_MASK GENMASK(2, 0)
-+#define BUF_IDX_MASK GENMASK(4, 0)
-+#define ERROR_FLAG BIT(9)
-+#define OFFSET_BIT 16
-+#define OFFSET_MASK GENMASK(15, 0)
-+
-+/* Bitstream parsed data */
-+#define MB_TOTAL_BIT 8
-+#define MB_TOTAL_MASK GENMASK(15, 0)
-+#define MB_WIDTH_MASK GENMASK(7, 0)
-+#define MAX_REF_BIT 24
-+#define MAX_REF_MASK GENMASK(6, 0)
-+#define AR_IDC_BIT 16
-+#define AR_IDC_MASK GENMASK(7, 0)
-+#define AR_PRESENT_FLAG BIT(0)
-+#define AR_EXTEND 0xff
-+
-+/* Buffer to send to the ESPARSER to signal End Of Stream for H.264.
-+ * This is a 16x16 encoded picture that will trigger drain firmware-side.
-+ * There is no known alternative.
-+ */
-+static const u8 eos_sequence[SZ_1K] = {
-+ 0x00, 0x00, 0x00, 0x01, 0x06, 0x05, 0xff, 0xe4, 0xdc, 0x45, 0xe9, 0xbd,
-+ 0xe6, 0xd9, 0x48, 0xb7, 0x96, 0x2c, 0xd8, 0x20, 0xd9, 0x23, 0xee, 0xef,
-+ 0x78, 0x32, 0x36, 0x34, 0x20, 0x2d, 0x20, 0x63, 0x6f, 0x72, 0x65, 0x20,
-+ 0x36, 0x37, 0x20, 0x72, 0x31, 0x31, 0x33, 0x30, 0x20, 0x38, 0x34, 0x37,
-+ 0x35, 0x39, 0x37, 0x37, 0x20, 0x2d, 0x20, 0x48, 0x2e, 0x32, 0x36, 0x34,
-+ 0x2f, 0x4d, 0x50, 0x45, 0x47, 0x2d, 0x34, 0x20, 0x41, 0x56, 0x43, 0x20,
-+ 0x63, 0x6f, 0x64, 0x65, 0x63, 0x20, 0x2d, 0x20, 0x43, 0x6f, 0x70, 0x79,
-+ 0x6c, 0x65, 0x66, 0x74, 0x20, 0x32, 0x30, 0x30, 0x33, 0x2d, 0x32, 0x30,
-+ 0x30, 0x39, 0x20, 0x2d, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f,
-+ 0x77, 0x77, 0x77, 0x2e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x6c, 0x61, 0x6e,
-+ 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x78, 0x32, 0x36, 0x34, 0x2e, 0x68, 0x74,
-+ 0x6d, 0x6c, 0x20, 0x2d, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
-+ 0x3a, 0x20, 0x63, 0x61, 0x62, 0x61, 0x63, 0x3d, 0x31, 0x20, 0x72, 0x65,
-+ 0x66, 0x3d, 0x31, 0x20, 0x64, 0x65, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x3d,
-+ 0x31, 0x3a, 0x30, 0x3a, 0x30, 0x20, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73,
-+ 0x65, 0x3d, 0x30, 0x78, 0x31, 0x3a, 0x30, 0x78, 0x31, 0x31, 0x31, 0x20,
-+ 0x6d, 0x65, 0x3d, 0x68, 0x65, 0x78, 0x20, 0x73, 0x75, 0x62, 0x6d, 0x65,
-+ 0x3d, 0x36, 0x20, 0x70, 0x73, 0x79, 0x5f, 0x72, 0x64, 0x3d, 0x31, 0x2e,
-+ 0x30, 0x3a, 0x30, 0x2e, 0x30, 0x20, 0x6d, 0x69, 0x78, 0x65, 0x64, 0x5f,
-+ 0x72, 0x65, 0x66, 0x3d, 0x30, 0x20, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e,
-+ 0x67, 0x65, 0x3d, 0x31, 0x36, 0x20, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x61,
-+ 0x5f, 0x6d, 0x65, 0x3d, 0x31, 0x20, 0x74, 0x72, 0x65, 0x6c, 0x6c, 0x69,
-+ 0x73, 0x3d, 0x30, 0x20, 0x38, 0x78, 0x38, 0x64, 0x63, 0x74, 0x3d, 0x30,
-+ 0x20, 0x63, 0x71, 0x6d, 0x3d, 0x30, 0x20, 0x64, 0x65, 0x61, 0x64, 0x7a,
-+ 0x6f, 0x6e, 0x65, 0x3d, 0x32, 0x31, 0x2c, 0x31, 0x31, 0x20, 0x63, 0x68,
-+ 0x72, 0x6f, 0x6d, 0x61, 0x5f, 0x71, 0x70, 0x5f, 0x6f, 0x66, 0x66, 0x73,
-+ 0x65, 0x74, 0x3d, 0x2d, 0x32, 0x20, 0x74, 0x68, 0x72, 0x65, 0x61, 0x64,
-+ 0x73, 0x3d, 0x31, 0x20, 0x6e, 0x72, 0x3d, 0x30, 0x20, 0x64, 0x65, 0x63,
-+ 0x69, 0x6d, 0x61, 0x74, 0x65, 0x3d, 0x31, 0x20, 0x6d, 0x62, 0x61, 0x66,
-+ 0x66, 0x3d, 0x30, 0x20, 0x62, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x73, 0x3d,
-+ 0x30, 0x20, 0x6b, 0x65, 0x79, 0x69, 0x6e, 0x74, 0x3d, 0x32, 0x35, 0x30,
-+ 0x20, 0x6b, 0x65, 0x79, 0x69, 0x6e, 0x74, 0x5f, 0x6d, 0x69, 0x6e, 0x3d,
-+ 0x32, 0x35, 0x20, 0x73, 0x63, 0x65, 0x6e, 0x65, 0x63, 0x75, 0x74, 0x3d,
-+ 0x34, 0x30, 0x20, 0x72, 0x63, 0x3d, 0x61, 0x62, 0x72, 0x20, 0x62, 0x69,
-+ 0x74, 0x72, 0x61, 0x74, 0x65, 0x3d, 0x31, 0x30, 0x20, 0x72, 0x61, 0x74,
-+ 0x65, 0x74, 0x6f, 0x6c, 0x3d, 0x31, 0x2e, 0x30, 0x20, 0x71, 0x63, 0x6f,
-+ 0x6d, 0x70, 0x3d, 0x30, 0x2e, 0x36, 0x30, 0x20, 0x71, 0x70, 0x6d, 0x69,
-+ 0x6e, 0x3d, 0x31, 0x30, 0x20, 0x71, 0x70, 0x6d, 0x61, 0x78, 0x3d, 0x35,
-+ 0x31, 0x20, 0x71, 0x70, 0x73, 0x74, 0x65, 0x70, 0x3d, 0x34, 0x20, 0x69,
-+ 0x70, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x3d, 0x31, 0x2e, 0x34, 0x30,
-+ 0x20, 0x61, 0x71, 0x3d, 0x31, 0x3a, 0x31, 0x2e, 0x30, 0x30, 0x00, 0x80,
-+ 0x00, 0x00, 0x00, 0x01, 0x67, 0x4d, 0x40, 0x0a, 0x9a, 0x74, 0xf4, 0x20,
-+ 0x00, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x06, 0x51, 0xe2, 0x44, 0xd4,
-+ 0x00, 0x00, 0x00, 0x01, 0x68, 0xee, 0x32, 0xc8, 0x00, 0x00, 0x00, 0x01,
-+ 0x65, 0x88, 0x80, 0x20, 0x00, 0x08, 0x7f, 0xea, 0x6a, 0xe2, 0x99, 0xb6,
-+ 0x57, 0xae, 0x49, 0x30, 0xf5, 0xfe, 0x5e, 0x46, 0x0b, 0x72, 0x44, 0xc4,
-+ 0xe1, 0xfc, 0x62, 0xda, 0xf1, 0xfb, 0xa2, 0xdb, 0xd6, 0xbe, 0x5c, 0xd7,
-+ 0x24, 0xa3, 0xf5, 0xb9, 0x2f, 0x57, 0x16, 0x49, 0x75, 0x47, 0x77, 0x09,
-+ 0x5c, 0xa1, 0xb4, 0xc3, 0x4f, 0x60, 0x2b, 0xb0, 0x0c, 0xc8, 0xd6, 0x66,
-+ 0xba, 0x9b, 0x82, 0x29, 0x33, 0x92, 0x26, 0x99, 0x31, 0x1c, 0x7f, 0x9b
-+};
-+
-+static const u8 *codec_h264_eos_sequence(u32 *len)
-+{
-+ *len = ARRAY_SIZE(eos_sequence);
-+ return eos_sequence;
-+}
-+
-+struct codec_h264 {
-+ /* H.264 decoder requires an extended firmware */
-+ void *ext_fw_vaddr;
-+ dma_addr_t ext_fw_paddr;
-+
-+ /* Buffer for the H.264 Workspace */
-+ void *workspace_vaddr;
-+ dma_addr_t workspace_paddr;
-+
-+ /* Buffer for the H.264 references MV */
-+ void *ref_vaddr;
-+ dma_addr_t ref_paddr;
-+ u32 ref_size;
-+
-+ /* Buffer for parsed SEI data */
-+ void *sei_vaddr;
-+ dma_addr_t sei_paddr;
-+
-+ u32 mb_width;
-+ u32 mb_height;
-+ u32 max_refs;
-+};
-+
-+static int codec_h264_can_recycle(struct amvdec_core *core)
-+{
-+ return !amvdec_read_dos(core, AV_SCRATCH_7) ||
-+ !amvdec_read_dos(core, AV_SCRATCH_8);
-+}
-+
-+static void codec_h264_recycle(struct amvdec_core *core, u32 buf_idx)
-+{
-+ /* Tell the decoder he can recycle this buffer.
-+ * AV_SCRATCH_8 serves the same purpose.
-+ */
-+ if (!amvdec_read_dos(core, AV_SCRATCH_7))
-+ amvdec_write_dos(core, AV_SCRATCH_7, buf_idx + 1);
-+ else
-+ amvdec_write_dos(core, AV_SCRATCH_8, buf_idx + 1);
-+}
-+
-+static int codec_h264_start(struct amvdec_session *sess) {
-+ u32 workspace_offset;
-+ struct amvdec_core *core = sess->core;
-+ struct codec_h264 *h264 = sess->priv;
-+
-+ /* Allocate some memory for the H.264 decoder's state */
-+ h264->workspace_vaddr = dma_alloc_coherent(core->dev, SIZE_WORKSPACE,
-+ &h264->workspace_paddr, GFP_KERNEL);
-+ if (!h264->workspace_vaddr) {
-+ dev_err(core->dev, "Failed to alloc H.264 Workspace\n");
-+ return -ENOMEM;
-+ }
-+
-+ /* Allocate some memory for the H.264 SEI dump */
-+ h264->sei_vaddr = dma_alloc_coherent(core->dev, SIZE_SEI,
-+ &h264->sei_paddr, GFP_KERNEL);
-+ if (!h264->sei_vaddr) {
-+ dev_err(core->dev, "Failed to alloc H.264 SEI\n");
-+ return -ENOMEM;
-+ }
-+
-+ amvdec_write_dos_bits(core, POWER_CTL_VLD, BIT(9) | BIT(6));
-+
-+ workspace_offset = h264->workspace_paddr - WORKSPACE_BUF_OFFSET;
-+ amvdec_write_dos(core, AV_SCRATCH_1, workspace_offset);
-+ amvdec_write_dos(core, AV_SCRATCH_G, h264->ext_fw_paddr);
-+ amvdec_write_dos(core, AV_SCRATCH_I, h264->sei_paddr - workspace_offset);
-+
-+ /* Enable "error correction" */
-+ amvdec_write_dos(core, AV_SCRATCH_F,
-+ (amvdec_read_dos(core, AV_SCRATCH_F) & 0xffffffc3) |
-+ BIT(4) | BIT(7));
-+
-+ amvdec_write_dos(core, MDEC_PIC_DC_THRESH, 0x404038aa);
-+
-+ return 0;
-+}
-+
-+static int codec_h264_stop(struct amvdec_session *sess)
-+{
-+ struct codec_h264 *h264 = sess->priv;
-+ struct amvdec_core *core = sess->core;
-+
-+ if (h264->ext_fw_vaddr)
-+ dma_free_coherent(core->dev, SIZE_EXT_FW,
-+ h264->ext_fw_vaddr, h264->ext_fw_paddr);
-+
-+ if (h264->workspace_vaddr)
-+ dma_free_coherent(core->dev, SIZE_WORKSPACE,
-+ h264->workspace_vaddr, h264->workspace_paddr);
-+
-+ if (h264->ref_vaddr)
-+ dma_free_coherent(core->dev, h264->ref_size,
-+ h264->ref_vaddr, h264->ref_paddr);
-+
-+ if (h264->sei_vaddr)
-+ dma_free_coherent(core->dev, SIZE_SEI,
-+ h264->sei_vaddr, h264->sei_paddr);
-+
-+ return 0;
-+}
-+
-+static int codec_h264_load_extended_firmware(struct amvdec_session *sess,
-+ const u8 *data, u32 len)
-+{
-+ struct codec_h264 *h264;
-+ struct amvdec_core *core = sess->core;
-+
-+ if (len < SIZE_EXT_FW)
-+ return -EINVAL;
-+
-+ h264 = kzalloc(sizeof(*h264), GFP_KERNEL);
-+ if (!h264)
-+ return -ENOMEM;
-+
-+ h264->ext_fw_vaddr = dma_alloc_coherent(core->dev, SIZE_EXT_FW,
-+ &h264->ext_fw_paddr, GFP_KERNEL);
-+ if (!h264->ext_fw_vaddr) {
-+ dev_err(core->dev, "Failed to alloc H.264 extended fw\n");
-+ kfree(h264);
-+ return -ENOMEM;
-+ }
-+
-+ memcpy(h264->ext_fw_vaddr, data, SIZE_EXT_FW);
-+ sess->priv = h264;
-+
-+ return 0;
-+}
-+
-+static const struct v4l2_fract par_table[] = {
-+ { 1, 1 }, { 1, 1 }, { 12, 11 }, { 10, 11 },
-+ { 16, 11 }, { 40, 33 }, { 24, 11 }, { 20, 11 },
-+ { 32, 11 }, { 80, 33 }, { 18, 11 }, { 15, 11 },
-+ { 64, 33 }, { 160, 99 }, { 4, 3 }, { 3, 2 },
-+ { 2, 1 }
-+};
-+
-+static void codec_h264_set_par(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u32 seq_info = amvdec_read_dos(core, AV_SCRATCH_2);
-+ u32 ar_idc = (seq_info >> AR_IDC_BIT) & AR_IDC_MASK;
-+
-+ if (!(seq_info & AR_PRESENT_FLAG))
-+ return;
-+
-+ if (ar_idc == AR_EXTEND) {
-+ u32 ar_info = amvdec_read_dos(core, AV_SCRATCH_3);
-+ sess->pixelaspect.numerator = ar_info & 0xffff;
-+ sess->pixelaspect.denominator = (ar_info >> 16) & 0xffff;
-+ return;
-+ }
-+
-+ if (ar_idc >= ARRAY_SIZE(par_table))
-+ return;
-+
-+ sess->pixelaspect = par_table[ar_idc];
-+}
-+
-+static void codec_h264_resume(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ struct codec_h264 *h264 = sess->priv;
-+ u32 mb_width, mb_height, mb_total;
-+
-+ amvdec_set_canvases(sess, (u32[]){ ANC0_CANVAS_ADDR, 0 },
-+ (u32[]){ 24, 0 });
-+
-+ dev_dbg(core->dev,
-+ "max_refs = %u; actual_dpb_size = %u\n",
-+ h264->max_refs, sess->num_dst_bufs);
-+
-+ /* Align to a multiple of 4 macroblocks */
-+ mb_width = ALIGN(h264->mb_width, 4);
-+ mb_height = ALIGN(h264->mb_height, 4);
-+ mb_total = mb_width * mb_height;
-+
-+ h264->ref_size = mb_total * MB_MV_SIZE * h264->max_refs;
-+ h264->ref_vaddr = dma_alloc_coherent(core->dev, h264->ref_size,
-+ &h264->ref_paddr, GFP_KERNEL);
-+ if (!h264->ref_vaddr) {
-+ dev_err(core->dev, "Failed to alloc refs (%u)\n",
-+ h264->ref_size);
-+ amvdec_abort(sess);
-+ return;
-+ }
-+
-+ /* Address to store the references' MVs */
-+ amvdec_write_dos(core, AV_SCRATCH_1, h264->ref_paddr);
-+ /* End of ref MV */
-+ amvdec_write_dos(core, AV_SCRATCH_4, h264->ref_paddr + h264->ref_size);
-+
-+ amvdec_write_dos(core, AV_SCRATCH_0, (h264->max_refs << 24) |
-+ (sess->num_dst_bufs << 16) |
-+ ((h264->max_refs - 1) << 8));
-+}
-+
-+/* Configure the H.264 decoder when the parser detected a parameter set change
-+ */
-+static void codec_h264_src_change(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ struct codec_h264 *h264 = sess->priv;
-+ u32 parsed_info, mb_total;
-+ u32 crop_infor, crop_bottom, crop_right;
-+ u32 frame_width, frame_height;
-+
-+ sess->keyframe_found = 1;
-+
-+ parsed_info = amvdec_read_dos(core, AV_SCRATCH_1);
-+
-+ /* Total number of 16x16 macroblocks */
-+ mb_total = (parsed_info >> MB_TOTAL_BIT) & MB_TOTAL_MASK;
-+ /* Number of macroblocks per line */
-+ h264->mb_width = parsed_info & MB_WIDTH_MASK;
-+ /* Number of macroblock lines */
-+ h264->mb_height = mb_total / h264->mb_width;
-+
-+ h264->max_refs = ((parsed_info >> MAX_REF_BIT) & MAX_REF_MASK) + 1;
-+
-+ crop_infor = amvdec_read_dos(core, AV_SCRATCH_6);
-+ crop_bottom = (crop_infor & 0xff);
-+ crop_right = (crop_infor >> 16) & 0xff;
-+
-+ frame_width = h264->mb_width * 16 - crop_right;
-+ frame_height = h264->mb_height * 16 - crop_bottom;
-+
-+ dev_info(core->dev, "frame: %ux%u; crop: %u %u\n",
-+ frame_width, frame_height, crop_right, crop_bottom);
-+
-+ codec_h264_set_par(sess);
-+ amvdec_src_change(sess, frame_width, frame_height, h264->max_refs + 5);
-+}
-+
-+/**
-+ * The offset is split in half in 2 different registers
-+ */
-+static u32 get_offset_msb(struct amvdec_core *core, int frame_num)
-+{
-+ int take_msb = frame_num % 2;
-+ int reg_offset = (frame_num / 2) * 4;
-+ u32 offset_msb = amvdec_read_dos(core, AV_SCRATCH_A + reg_offset);
-+
-+ if (take_msb)
-+ return offset_msb & 0xffff0000;
-+
-+ return (offset_msb & 0x0000ffff) << 16;
-+}
-+
-+static void codec_h264_frames_ready(struct amvdec_session *sess, u32 status)
-+{
-+ struct amvdec_core *core = sess->core;
-+ int error_count;
-+ int num_frames;
-+ int i;
-+
-+ error_count = amvdec_read_dos(core, AV_SCRATCH_D);
-+ num_frames = (status >> 8) & 0xff;
-+ if (error_count) {
-+ dev_warn(core->dev,
-+ "decoder error(s) happened, count %d\n", error_count);
-+ amvdec_write_dos(core, AV_SCRATCH_D, 0);
-+ }
-+
-+ for (i = 0; i < num_frames; i++) {
-+ u32 frame_status = amvdec_read_dos(core, AV_SCRATCH_1 + i * 4);
-+ u32 buffer_index = frame_status & BUF_IDX_MASK;
-+ u32 pic_struct = (frame_status >> PIC_STRUCT_BIT) &
-+ PIC_STRUCT_MASK;
-+ u32 offset = (frame_status >> OFFSET_BIT) & OFFSET_MASK;
-+ u32 field = V4L2_FIELD_NONE;
-+
-+ /* A buffer decode error means it was decoded,
-+ * but part of the picture will have artifacts.
-+ * Typical reason is a temporarily corrupted bitstream
-+ */
-+ if (frame_status & ERROR_FLAG)
-+ dev_dbg(core->dev, "Buffer %d decode error\n",
-+ buffer_index);
-+
-+ if (pic_struct == PIC_TOP_BOT)
-+ field = V4L2_FIELD_INTERLACED_TB;
-+ else if (pic_struct == PIC_BOT_TOP)
-+ field = V4L2_FIELD_INTERLACED_BT;
-+
-+ offset |= get_offset_msb(core, i);
-+ amvdec_dst_buf_done_idx(sess, buffer_index, offset, field);
-+ }
-+}
-+
-+static irqreturn_t codec_h264_threaded_isr(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u32 status;
-+ u32 size;
-+ u8 cmd;
-+
-+ status = amvdec_read_dos(core, AV_SCRATCH_0);
-+ cmd = status & CMD_MASK;
-+
-+ switch (cmd) {
-+ case CMD_SRC_CHANGE:
-+ codec_h264_src_change(sess);
-+ break;
-+ case CMD_FRAMES_READY:
-+ codec_h264_frames_ready(sess, status);
-+ break;
-+ case CMD_FATAL_ERROR:
-+ dev_err(core->dev, "H.264 decoder fatal error\n");
-+ goto abort;
-+ case CMD_BAD_WIDTH:
-+ size = (amvdec_read_dos(core, AV_SCRATCH_1) + 1) * 16;
-+ dev_err(core->dev, "Unsupported video width: %u\n", size);
-+ goto abort;
-+ case CMD_BAD_HEIGHT:
-+ size = (amvdec_read_dos(core, AV_SCRATCH_1) + 1) * 16;
-+ dev_err(core->dev, "Unsupported video height: %u\n", size);
-+ goto abort;
-+ case 0: /* Unused but not worth printing for */
-+ case 9:
-+ break;
-+ default:
-+ dev_info(core->dev, "Unexpected H264 ISR: %08X\n", cmd);
-+ break;
-+ }
-+
-+ if (cmd && cmd != CMD_SRC_CHANGE)
-+ amvdec_write_dos(core, AV_SCRATCH_0, 0);
-+
-+ /* Decoder has some SEI data for us ; ignore */
-+ if (amvdec_read_dos(core, AV_SCRATCH_J) & SEI_DATA_READY)
-+ amvdec_write_dos(core, AV_SCRATCH_J, 0);
-+
-+ return IRQ_HANDLED;
-+abort:
-+ amvdec_abort(sess);
-+ return IRQ_HANDLED;
-+}
-+
-+static irqreturn_t codec_h264_isr(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+
-+ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1);
-+
-+ return IRQ_WAKE_THREAD;
-+}
-+
-+struct amvdec_codec_ops codec_h264_ops = {
-+ .start = codec_h264_start,
-+ .stop = codec_h264_stop,
-+ .load_extended_firmware = codec_h264_load_extended_firmware,
-+ .isr = codec_h264_isr,
-+ .threaded_isr = codec_h264_threaded_isr,
-+ .can_recycle = codec_h264_can_recycle,
-+ .recycle = codec_h264_recycle,
-+ .eos_sequence = codec_h264_eos_sequence,
-+ .resume = codec_h264_resume,
-+};
-diff --git a/drivers/media/platform/meson/vdec/codec_h264.h b/drivers/media/platform/meson/vdec/codec_h264.h
-new file mode 100644
-index 0000000..7a15976
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/codec_h264.h
-@@ -0,0 +1,13 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 Maxime Jourdan <maxi.jourdan@wanadoo.fr>
-+ */
-+
-+#ifndef __MESON_VDEC_CODEC_H264_H_
-+#define __MESON_VDEC_CODEC_H264_H_
-+
-+#include "vdec.h"
-+
-+extern struct amvdec_codec_ops codec_h264_ops;
-+
-+#endif
-\ No newline at end of file
-diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c
-index 291f1ee..baecf59 100644
---- a/drivers/media/platform/meson/vdec/vdec_platform.c
-+++ b/drivers/media/platform/meson/vdec/vdec_platform.c
-@@ -9,9 +9,20 @@
-
- #include "vdec_1.h"
- #include "codec_mpeg12.h"
-+#include "codec_h264.h"
-
- static const struct amvdec_format vdec_formats_gxbb[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_H264,
-+ .min_buffers = 2,
-+ .max_buffers = 24,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_h264_ops,
-+ .firmware_path = "meson/gxbb/vh264_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_MPEG1,
- .min_buffers = 8,
- .max_buffers = 8,
-@@ -38,6 +49,16 @@ static const struct amvdec_format vdec_formats_gxbb[] = {
-
- static const struct amvdec_format vdec_formats_gxl[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_H264,
-+ .min_buffers = 2,
-+ .max_buffers = 24,
-+ .max_width = 3840,
-+ .max_height = 2160,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_h264_ops,
-+ .firmware_path = "meson/gxl/vh264_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_MPEG1,
- .min_buffers = 8,
- .max_buffers = 8,
-@@ -64,6 +85,16 @@ static const struct amvdec_format vdec_formats_gxl[] = {
-
- static const struct amvdec_format vdec_formats_gxm[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_H264,
-+ .min_buffers = 2,
-+ .max_buffers = 24,
-+ .max_width = 3840,
-+ .max_height = 2160,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_h264_ops,
-+ .firmware_path = "meson/gxm/vh264_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_MPEG1,
- .min_buffers = 8,
- .max_buffers = 8,
diff --git a/testing/linux-amlogic/0041-media-meson-vdec-add-MPEG4-decoding-support.patch b/testing/linux-amlogic/0041-media-meson-vdec-add-MPEG4-decoding-support.patch
deleted file mode 100644
index 01fd5ae030f..00000000000
--- a/testing/linux-amlogic/0041-media-meson-vdec-add-MPEG4-decoding-support.patch
+++ /dev/null
@@ -1,313 +0,0 @@
-From e222a1cf4bd62745407a9404565d76b8a5770f12 Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Wed, 29 Aug 2018 16:01:55 +0200
-Subject: [PATCH] media: meson: vdec: add MPEG4 decoding support
-
-Add support for V4L2_PIX_FMT_MPEG4, V4L2_PIX_FMT_XVID and
-V4L2_PIX_FMT_H.263
-
----
- drivers/media/platform/meson/vdec/Makefile | 2 +-
- drivers/media/platform/meson/vdec/codec_mpeg4.c | 139 ++++++++++++++++++++++
- drivers/media/platform/meson/vdec/codec_mpeg4.h | 13 ++
- drivers/media/platform/meson/vdec/vdec_platform.c | 91 ++++++++++++++
- 4 files changed, 244 insertions(+), 1 deletion(-)
- create mode 100644 drivers/media/platform/meson/vdec/codec_mpeg4.c
- create mode 100644 drivers/media/platform/meson/vdec/codec_mpeg4.h
-
-diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile
-index 01dc960..bb7a134 100644
---- a/drivers/media/platform/meson/vdec/Makefile
-+++ b/drivers/media/platform/meson/vdec/Makefile
-@@ -3,6 +3,6 @@
-
- meson-vdec-objs = esparser.o vdec.o vdec_ctrls.o vdec_helpers.o vdec_platform.o
- meson-vdec-objs += vdec_1.o
--meson-vdec-objs += codec_mpeg12.o codec_h264.o
-+meson-vdec-objs += codec_mpeg12.o codec_h264.o codec_mpeg4.o
-
- obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o
-diff --git a/drivers/media/platform/meson/vdec/codec_mpeg4.c b/drivers/media/platform/meson/vdec/codec_mpeg4.c
-new file mode 100644
-index 0000000..1d574e5
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/codec_mpeg4.c
-@@ -0,0 +1,139 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 Maxime Jourdan <maxi.jourdan@wanadoo.fr>
-+ */
-+
-+#include <media/v4l2-mem2mem.h>
-+#include <media/videobuf2-dma-contig.h>
-+
-+#include "vdec_helpers.h"
-+#include "dos_regs.h"
-+
-+#define SIZE_WORKSPACE SZ_1M
-+/* Offset added by firmware, to substract from workspace paddr */
-+#define DCAC_BUFF_START_IP 0x02b00000
-+
-+/* map firmware registers to known MPEG4 functions */
-+#define MREG_BUFFERIN AV_SCRATCH_8
-+#define MREG_BUFFEROUT AV_SCRATCH_9
-+#define MP4_NOT_CODED_CNT AV_SCRATCH_A
-+#define MP4_OFFSET_REG AV_SCRATCH_C
-+#define MEM_OFFSET_REG AV_SCRATCH_F
-+#define MREG_FATAL_ERROR AV_SCRATCH_L
-+
-+#define BUF_IDX_MASK GENMASK(2, 0)
-+#define INTERLACE_FLAG BIT(7)
-+#define TOP_FIELD_FIRST_FLAG BIT(6)
-+
-+struct codec_mpeg4 {
-+ /* Buffer for the MPEG4 Workspace */
-+ void *workspace_vaddr;
-+ dma_addr_t workspace_paddr;
-+};
-+
-+static int codec_mpeg4_can_recycle(struct amvdec_core *core)
-+{
-+ return !amvdec_read_dos(core, MREG_BUFFERIN);
-+}
-+
-+static void codec_mpeg4_recycle(struct amvdec_core *core, u32 buf_idx)
-+{
-+ amvdec_write_dos(core, MREG_BUFFERIN, ~BIT(buf_idx));
-+}
-+
-+static int codec_mpeg4_start(struct amvdec_session *sess) {
-+ struct amvdec_core *core = sess->core;
-+ struct codec_mpeg4 *mpeg4 = sess->priv;
-+ int ret;
-+
-+ mpeg4 = kzalloc(sizeof(*mpeg4), GFP_KERNEL);
-+ if (!mpeg4)
-+ return -ENOMEM;
-+
-+ /* Allocate some memory for the MPEG4 decoder's state */
-+ mpeg4->workspace_vaddr = dma_alloc_coherent(core->dev, SIZE_WORKSPACE,
-+ &mpeg4->workspace_paddr,
-+ GFP_KERNEL);
-+ if (!mpeg4->workspace_vaddr) {
-+ dev_err(core->dev, "Failed to request MPEG4 Workspace\n");
-+ ret = -ENOMEM;
-+ goto free_mpeg4;
-+ }
-+
-+ /* Canvas regs: AV_SCRATCH_0-AV_SCRATCH_4;AV_SCRATCH_G-AV_SCRATCH_J */
-+ amvdec_set_canvases(sess, (u32[]){ AV_SCRATCH_0, AV_SCRATCH_G, 0 },
-+ (u32[]){ 4, 4, 0 });
-+
-+ amvdec_write_dos(core, MEM_OFFSET_REG,
-+ mpeg4->workspace_paddr - DCAC_BUFF_START_IP);
-+ amvdec_write_dos(core, PSCALE_CTRL, 0);
-+ amvdec_write_dos(core, MP4_NOT_CODED_CNT, 0);
-+ amvdec_write_dos(core, MREG_BUFFERIN, 0);
-+ amvdec_write_dos(core, MREG_BUFFEROUT, 0);
-+ amvdec_write_dos(core, MREG_FATAL_ERROR, 0);
-+ amvdec_write_dos(core, MDEC_PIC_DC_THRESH, 0x404038aa);
-+
-+ sess->keyframe_found = 1;
-+ sess->priv = mpeg4;
-+
-+ return 0;
-+
-+free_mpeg4:
-+ kfree(mpeg4);
-+ return ret;
-+}
-+
-+static int codec_mpeg4_stop(struct amvdec_session *sess)
-+{
-+ struct codec_mpeg4 *mpeg4 = sess->priv;
-+ struct amvdec_core *core = sess->core;
-+
-+ if (mpeg4->workspace_vaddr) {
-+ dma_free_coherent(core->dev, SIZE_WORKSPACE,
-+ mpeg4->workspace_vaddr,
-+ mpeg4->workspace_paddr);
-+ mpeg4->workspace_vaddr = 0;
-+ }
-+
-+ return 0;
-+}
-+
-+static irqreturn_t codec_mpeg4_isr(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u32 reg;
-+ u32 buffer_index;
-+ u32 field = V4L2_FIELD_NONE;
-+
-+ reg = amvdec_read_dos(core, MREG_FATAL_ERROR);
-+ if (reg == 1) {
-+ dev_err(core->dev, "mpeg4 fatal error\n");
-+ amvdec_abort(sess);
-+ return IRQ_HANDLED;
-+ }
-+
-+ reg = amvdec_read_dos(core, MREG_BUFFEROUT);
-+ if (!reg)
-+ goto end;
-+
-+ buffer_index = reg & BUF_IDX_MASK;
-+ if (reg & INTERLACE_FLAG)
-+ field = (reg & TOP_FIELD_FIRST_FLAG) ?
-+ V4L2_FIELD_INTERLACED_TB :
-+ V4L2_FIELD_INTERLACED_BT;
-+
-+ amvdec_dst_buf_done_idx(sess, buffer_index, -1, field);
-+ amvdec_write_dos(core, MREG_BUFFEROUT, 0);
-+
-+end:
-+ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1);
-+ return IRQ_HANDLED;
-+}
-+
-+struct amvdec_codec_ops codec_mpeg4_ops = {
-+ .start = codec_mpeg4_start,
-+ .stop = codec_mpeg4_stop,
-+ .isr = codec_mpeg4_isr,
-+ .can_recycle = codec_mpeg4_can_recycle,
-+ .recycle = codec_mpeg4_recycle,
-+};
-diff --git a/drivers/media/platform/meson/vdec/codec_mpeg4.h b/drivers/media/platform/meson/vdec/codec_mpeg4.h
-new file mode 100644
-index 0000000..b91b26413
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/codec_mpeg4.h
-@@ -0,0 +1,13 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 Maxime Jourdan <maxi.jourdan@wanadoo.fr>
-+ */
-+
-+#ifndef __MESON_VDEC_CODEC_MPEG4_H_
-+#define __MESON_VDEC_CODEC_MPEG4_H_
-+
-+#include "vdec.h"
-+
-+extern struct amvdec_codec_ops codec_mpeg4_ops;
-+
-+#endif
-\ No newline at end of file
-diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c
-index baecf59..80b43fd 100644
---- a/drivers/media/platform/meson/vdec/vdec_platform.c
-+++ b/drivers/media/platform/meson/vdec/vdec_platform.c
-@@ -10,9 +10,40 @@
- #include "vdec_1.h"
- #include "codec_mpeg12.h"
- #include "codec_h264.h"
-+#include "codec_mpeg4.h"
-
- static const struct amvdec_format vdec_formats_gxbb[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_MPEG4,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/vmpeg4_mc_5",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_H263,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/h263_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_XVID,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/vmpeg4_mc_5",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_H264,
- .min_buffers = 2,
- .max_buffers = 24,
-@@ -49,6 +80,36 @@ static const struct amvdec_format vdec_formats_gxbb[] = {
-
- static const struct amvdec_format vdec_formats_gxl[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_MPEG4,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/vmpeg4_mc_5",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_H263,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/h263_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_XVID,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/vmpeg4_mc_5",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_H264,
- .min_buffers = 2,
- .max_buffers = 24,
-@@ -85,6 +146,36 @@ static const struct amvdec_format vdec_formats_gxl[] = {
-
- static const struct amvdec_format vdec_formats_gxm[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_MPEG4,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/vmpeg4_mc_5",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_H263,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/h263_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
-+ .pixfmt = V4L2_PIX_FMT_XVID,
-+ .min_buffers = 8,
-+ .max_buffers = 8,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mpeg4_ops,
-+ .firmware_path = "meson/gx/vmpeg4_mc_5",
-+ .pixfmts_cap = { V4L2_PIX_FMT_NV12M, V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_H264,
- .min_buffers = 2,
- .max_buffers = 24,
diff --git a/testing/linux-amlogic/0042-media-meson-vdec-add-MJPEG-decoding-support.patch b/testing/linux-amlogic/0042-media-meson-vdec-add-MJPEG-decoding-support.patch
deleted file mode 100644
index b72f817fe66..00000000000
--- a/testing/linux-amlogic/0042-media-meson-vdec-add-MJPEG-decoding-support.patch
+++ /dev/null
@@ -1,253 +0,0 @@
-From 9a662159440cf5e0f55275ef63588e35c91c581e Mon Sep 17 00:00:00 2001
-From: Maxime Jourdan <mjourdan@baylibre.com>
-Date: Sun, 21 Oct 2018 15:14:27 +0200
-Subject: [PATCH] media: meson: vdec: add MJPEG decoding support
-
-Add support for V4L2_PIX_FMT_MJPEG
-
----
- drivers/media/platform/meson/vdec/Makefile | 2 +-
- drivers/media/platform/meson/vdec/codec_mjpeg.c | 140 ++++++++++++++++++++++
- drivers/media/platform/meson/vdec/codec_mjpeg.h | 13 ++
- drivers/media/platform/meson/vdec/vdec_platform.c | 31 +++++
- 4 files changed, 185 insertions(+), 1 deletion(-)
- create mode 100644 drivers/media/platform/meson/vdec/codec_mjpeg.c
- create mode 100644 drivers/media/platform/meson/vdec/codec_mjpeg.h
-
-diff --git a/drivers/media/platform/meson/vdec/Makefile b/drivers/media/platform/meson/vdec/Makefile
-index bb7a134..acf07f3 100644
---- a/drivers/media/platform/meson/vdec/Makefile
-+++ b/drivers/media/platform/meson/vdec/Makefile
-@@ -3,6 +3,6 @@
-
- meson-vdec-objs = esparser.o vdec.o vdec_ctrls.o vdec_helpers.o vdec_platform.o
- meson-vdec-objs += vdec_1.o
--meson-vdec-objs += codec_mpeg12.o codec_h264.o codec_mpeg4.o
-+meson-vdec-objs += codec_mpeg12.o codec_h264.o codec_mpeg4.o codec_mjpeg.o
-
- obj-$(CONFIG_VIDEO_MESON_VDEC) += meson-vdec.o
-diff --git a/drivers/media/platform/meson/vdec/codec_mjpeg.c b/drivers/media/platform/meson/vdec/codec_mjpeg.c
-new file mode 100644
-index 0000000..abea9e3
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/codec_mjpeg.c
-@@ -0,0 +1,140 @@
-+// SPDX-License-Identifier: GPL-2.0+
-+/*
-+ * Copyright (C) 2018 Maxime Jourdan <maxi.jourdan@wanadoo.fr>
-+ */
-+
-+#include <media/v4l2-mem2mem.h>
-+#include <media/videobuf2-dma-contig.h>
-+
-+#include "vdec_helpers.h"
-+#include "dos_regs.h"
-+
-+/* map FW registers to known MJPEG functions */
-+#define MREG_DECODE_PARAM AV_SCRATCH_2
-+#define MREG_TO_AMRISC AV_SCRATCH_8
-+#define MREG_FROM_AMRISC AV_SCRATCH_9
-+#define MREG_FRAME_OFFSET AV_SCRATCH_A
-+
-+static int codec_mjpeg_can_recycle(struct amvdec_core *core)
-+{
-+ return !amvdec_read_dos(core, MREG_TO_AMRISC);
-+}
-+
-+static void codec_mjpeg_recycle(struct amvdec_core *core, u32 buf_idx)
-+{
-+ amvdec_write_dos(core, MREG_TO_AMRISC, buf_idx + 1);
-+}
-+
-+/* 4 point triangle */
-+static const uint32_t filt_coef[] = {
-+ 0x20402000, 0x20402000, 0x1f3f2101, 0x1f3f2101,
-+ 0x1e3e2202, 0x1e3e2202, 0x1d3d2303, 0x1d3d2303,
-+ 0x1c3c2404, 0x1c3c2404, 0x1b3b2505, 0x1b3b2505,
-+ 0x1a3a2606, 0x1a3a2606, 0x19392707, 0x19392707,
-+ 0x18382808, 0x18382808, 0x17372909, 0x17372909,
-+ 0x16362a0a, 0x16362a0a, 0x15352b0b, 0x15352b0b,
-+ 0x14342c0c, 0x14342c0c, 0x13332d0d, 0x13332d0d,
-+ 0x12322e0e, 0x12322e0e, 0x11312f0f, 0x11312f0f,
-+ 0x10303010
-+};
-+
-+static void codec_mjpeg_init_scaler(struct amvdec_core *core)
-+{
-+ int i;
-+
-+ /* PSCALE cbus bmem enable */
-+ amvdec_write_dos(core, PSCALE_CTRL, 0xc000);
-+
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 0);
-+ for (i = 0; i < ARRAY_SIZE(filt_coef); ++i) {
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, filt_coef[i]);
-+ }
-+
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 74);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x0008);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x60000000);
-+
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 82);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x0008);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x60000000);
-+
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 78);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x0008);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x60000000);
-+
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 86);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x0008);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x60000000);
-+
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 73);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x10000);
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 81);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x10000);
-+
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 77);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x10000);
-+ amvdec_write_dos(core, PSCALE_BMEM_ADDR, 85);
-+ amvdec_write_dos(core, PSCALE_BMEM_DAT, 0x10000);
-+
-+ amvdec_write_dos(core, PSCALE_RST, 0x7);
-+ amvdec_write_dos(core, PSCALE_RST, 0);
-+}
-+
-+static int codec_mjpeg_start(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+
-+ amvdec_write_dos(core, AV_SCRATCH_0, 12);
-+ amvdec_write_dos(core, AV_SCRATCH_1, 0x031a);
-+
-+ amvdec_set_canvases(sess, (u32[]){ AV_SCRATCH_4, 0 },
-+ (u32[]){ 4, 0 });
-+ codec_mjpeg_init_scaler(core);
-+
-+ amvdec_write_dos(core, MREG_TO_AMRISC, 0);
-+ amvdec_write_dos(core, MREG_FROM_AMRISC, 0);
-+ amvdec_write_dos(core, MCPU_INTR_MSK, 0xffff);
-+ amvdec_write_dos(core, MREG_DECODE_PARAM,
-+ (sess->height << 4) | 0x8000);
-+ amvdec_write_dos(core, VDEC_ASSIST_AMR1_INT8, 8);
-+
-+ /* Intra-only codec */
-+ sess->keyframe_found = 1;
-+
-+ return 0;
-+}
-+
-+static int codec_mjpeg_stop(struct amvdec_session *sess)
-+{
-+ return 0;
-+}
-+
-+static irqreturn_t codec_mjpeg_isr(struct amvdec_session *sess)
-+{
-+ struct amvdec_core *core = sess->core;
-+ u32 reg;
-+ u32 buffer_index;
-+ u32 offset;
-+
-+ amvdec_write_dos(core, ASSIST_MBOX1_CLR_REG, 1);
-+
-+ reg = amvdec_read_dos(core, MREG_FROM_AMRISC);
-+ if (!(reg & 0x7))
-+ return IRQ_HANDLED;
-+
-+ buffer_index = ((reg & 0x7) - 1) & 3;
-+ offset = amvdec_read_dos(core, MREG_FRAME_OFFSET);
-+ amvdec_dst_buf_done_idx(sess, buffer_index, offset, V4L2_FIELD_NONE);
-+
-+ amvdec_write_dos(core, MREG_FROM_AMRISC, 0);
-+ return IRQ_HANDLED;
-+}
-+
-+struct amvdec_codec_ops codec_mjpeg_ops = {
-+ .start = codec_mjpeg_start,
-+ .stop = codec_mjpeg_stop,
-+ .isr = codec_mjpeg_isr,
-+ .can_recycle = codec_mjpeg_can_recycle,
-+ .recycle = codec_mjpeg_recycle,
-+};
-diff --git a/drivers/media/platform/meson/vdec/codec_mjpeg.h b/drivers/media/platform/meson/vdec/codec_mjpeg.h
-new file mode 100644
-index 0000000..cc1cf73
---- /dev/null
-+++ b/drivers/media/platform/meson/vdec/codec_mjpeg.h
-@@ -0,0 +1,13 @@
-+/* SPDX-License-Identifier: GPL-2.0+ */
-+/*
-+ * Copyright (C) 2018 Maxime Jourdan <maxi.jourdan@wanadoo.fr>
-+ */
-+
-+#ifndef __MESON_VDEC_CODEC_MJPEG_H_
-+#define __MESON_VDEC_CODEC_MJPEG_H_
-+
-+#include "vdec.h"
-+
-+extern struct amvdec_codec_ops codec_mjpeg_ops;
-+
-+#endif
-\ No newline at end of file
-diff --git a/drivers/media/platform/meson/vdec/vdec_platform.c b/drivers/media/platform/meson/vdec/vdec_platform.c
-index 80b43fd..61def15 100644
---- a/drivers/media/platform/meson/vdec/vdec_platform.c
-+++ b/drivers/media/platform/meson/vdec/vdec_platform.c
-@@ -11,9 +11,20 @@
- #include "codec_mpeg12.h"
- #include "codec_h264.h"
- #include "codec_mpeg4.h"
-+#include "codec_mjpeg.h"
-
- static const struct amvdec_format vdec_formats_gxbb[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_MJPEG,
-+ .min_buffers = 4,
-+ .max_buffers = 4,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mjpeg_ops,
-+ .firmware_path = "meson/gx/vmjpeg_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_MPEG4,
- .min_buffers = 8,
- .max_buffers = 8,
-@@ -80,6 +91,16 @@ static const struct amvdec_format vdec_formats_gxbb[] = {
-
- static const struct amvdec_format vdec_formats_gxl[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_MJPEG,
-+ .min_buffers = 4,
-+ .max_buffers = 4,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mjpeg_ops,
-+ .firmware_path = "meson/gx/vmjpeg_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_MPEG4,
- .min_buffers = 8,
- .max_buffers = 8,
-@@ -146,6 +167,16 @@ static const struct amvdec_format vdec_formats_gxl[] = {
-
- static const struct amvdec_format vdec_formats_gxm[] = {
- {
-+ .pixfmt = V4L2_PIX_FMT_MJPEG,
-+ .min_buffers = 4,
-+ .max_buffers = 4,
-+ .max_width = 1920,
-+ .max_height = 1080,
-+ .vdec_ops = &vdec_1_ops,
-+ .codec_ops = &codec_mjpeg_ops,
-+ .firmware_path = "meson/gx/vmjpeg_mc",
-+ .pixfmts_cap = { V4L2_PIX_FMT_YUV420M, 0 },
-+ }, {
- .pixfmt = V4L2_PIX_FMT_MPEG4,
- .min_buffers = 8,
- .max_buffers = 8,
diff --git a/testing/linux-amlogic/0043-clk-meson-gxbb-set-fclk_div3-as-CLK_IS_CRITICAL.patch b/testing/linux-amlogic/0043-clk-meson-gxbb-set-fclk_div3-as-CLK_IS_CRITICAL.patch
deleted file mode 100644
index 33671060cc3..00000000000
--- a/testing/linux-amlogic/0043-clk-meson-gxbb-set-fclk_div3-as-CLK_IS_CRITICAL.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 6b98d7c6cd508cfb4a2d4a1e87e192ffcabeda9e Mon Sep 17 00:00:00 2001
-From: Christian Hewitt <christianshewitt@gmail.com>
-Date: Sat, 13 Oct 2018 14:04:46 +0400
-Subject: [PATCH] clk: meson-gxbb: set fclk_div3 as CLK_IS_CRITICAL
-
-On the Khadas VIM2 (GXM) and LePotato (GXL) board there are problems
-with reboot; e.g. a ~60 second delay between issuing reboot and the
-board power cycling (and in some OS configurations reboot will fail
-and require manual power cycling).
-
-Similar to 'commit c987ac6f1f088663b6dad39281071aeb31d450a8 ("clk:
-meson-gxbb: set fclk_div2 as CLK_IS_CRITICAL")' the SCPI Cortex-M4
-Co-Processor seems to depend on FCLK_DIV3 being operational.
-
-Bisect gives 'commit 05f814402d6174369b3b29832cbb5eb5ed287059 ("clk:
-meson: add fdiv clock gates") between 4.16 and 4.16-rc1 as the first
-bad commit. This added support for the missing clock gates before the
-fixed PLL fixed dividers (FCLK_DIVx) and the clock framework which
-disabled all the unused fixed dividers, thus it disabled a critical
-clock path for the SCPI Co-Processor.
-
-This change simply sets the FCLK_DIV3 gate as critical to ensure
-nothing can disable it.
-
-Signed-off-by: Christian Hewitt <christianshewitt@gmail.com>
-
----
- drivers/clk/meson/gxbb.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/drivers/clk/meson/gxbb.c b/drivers/clk/meson/gxbb.c
-index 6628ffa..01f7615 100644
---- a/drivers/clk/meson/gxbb.c
-+++ b/drivers/clk/meson/gxbb.c
-@@ -513,6 +513,7 @@ static struct clk_fixed_factor gxbb_fclk_div3_div = {
- .ops = &clk_fixed_factor_ops,
- .parent_names = (const char *[]){ "fixed_pll" },
- .num_parents = 1,
-+ .flags = CLK_IS_CRITICAL,
- },
- };
-
diff --git a/testing/linux-amlogic/APKBUILD b/testing/linux-amlogic/APKBUILD
deleted file mode 100644
index b7770f50308..00000000000
--- a/testing/linux-amlogic/APKBUILD
+++ /dev/null
@@ -1,355 +0,0 @@
-# Maintainer: He Yangxuan <yangxuan8282@gmail.com>
-
-pkgname=linux-amlogic
-pkgver=4.19.8
-pkgrel=0
-pkgdesc="Linux kernel for Amlogic"
-url=https://github.com/torvalds/linux
-_commit=178574b66509c9ff7df4ad26c84a8884567e93b4
-depends="mkinitfs"
-_depends_dev="perl gmp-dev elfutils-dev bash"
-makedepends="$_depends_dev sed installkernel bc linux-headers linux-firmware openssl-dev bison flex"
-options="!strip !check"
-source="$url/archive/${_commit}.tar.gz
- config-changes-amlogic.aarch64
- defconfig
- 0001-ARM64-defconfig-enable-CEC-support.patch
- 0002-ASoC-meson-add-meson-audio-core-driver.patch
- 0003-ASoC-meson-add-register-definitions.patch
- 0004-ASoC-meson-add-aiu-i2s-dma-support.patch
- 0005-ASoC-meson-add-initial-i2s-dai-support.patch
- 0006-ASoC-meson-add-aiu-spdif-dma-support.patch
- 0007-ASoC-meson-add-initial-spdif-dai-support.patch
- 0008-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch
- 0009-ARM64-dts-meson-gx-add-audio-controller-nodes.patch
- 0010-snd-meson-activate-HDMI-audio-path.patch
- 0011-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch
- 0012-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch
- 0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch
- 0014-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch
- 0017-soc-amlogic-add-meson-canvas-driver.patch
- 0018-ARM64-dts-meson-gx-add-dmcbus-and-canvas-nodes.patch
- 0020-drm-meson-Use-optional-canvas-provider.patch
- 0021-arm64-dts-meson-gx-Add-canvas-provider-node-to-the-v.patch
- 0022-drm-meson-Support-Overlay-plane-for-video-rendering.patch
- 0023-drm-meson-move-OSD-scaler-management-into-plane-atom.patch
- 0024-drm-meson-Add-primary-plane-scaling.patch
- 0026-pinctrl-meson-gxl-remove-invalid-GPIOX-tsin_a-pins.patch
- 0027-arm64-dts-meson-gx-Add-hdmi_5v-regulator-as-hdmi-tx-.patch
- 0028-arm64-dts-meson-gxl-libretech-cc-fix-GPIO-lines-name.patch
- 0029-arm64-dts-meson-gxbb-nanopi-k2-fix-GPIO-lines-names.patch
- 0030-arm64-dts-meson-gxbb-odroidc2-fix-GPIO-lines-names.patch
- 0031-arm64-dts-meson-gxl-khadas-vim-fix-GPIO-lines-names.patch
- 0032-drm-meson-Add-support-for-VIC-alternate-timings.patch
- 0033-media-meson-add-v4l2-m2m-video-decoder-driver.patch
- 0034-MAINTAINERS-Add-meson-video-decoder.patch
- 0035-arm64-dts-meson-gx-add-vdec-entry.patch
- 0036-arm64-dts-meson-add-vdec-entries.patch
- 0037-meson-vdec-introduce-controls-and-V4L2_CID_MIN_BUFFE.patch
- 0038-media-videodev2-add-V4L2_FMT_FLAG_NO_SOURCE_CHANGE.patch
- 0039-meson-vdec-allow-subscribing-to-V4L2_EVENT_SOURCE_CH.patch
- 0040-media-meson-vdec-add-H.264-decoding-support.patch
- 0041-media-meson-vdec-add-MPEG4-decoding-support.patch
- 0042-media-meson-vdec-add-MJPEG-decoding-support.patch
- 0043-clk-meson-gxbb-set-fclk_div3-as-CLK_IS_CRITICAL.patch
- 0008-drm-meson-Add-HDMI-1.4-4k-modes.patch
- 0009-drm-meson-Use-drm_fbdev_generic_setup.patch
- 0010-fixup-drm-meson-Use-optional-canvas-provider.patch
- 0012-drm-meson-add-support-for-1080p25-mode.patch
- 0014-drm-bridge-dw-hdmi-Add-SCDC-and-TMDS-Scrambling-supp.patch
- 0015-drm-meson-add-HDMI-div40-TMDS-mode.patch
- 0016-drm-meson-add-support-for-HDMI2.0-2160p-modes.patch
- 0017-drm-bridge-dw-hdmi-add-support-for-YUV420-output.patch
- 0018-drm-bridge-dw-hdmi-support-dynamically-get-input-out.patch
- 0019-drm-bridge-dw-hdmi-allow-ycbcr420-modes-for-0x200a.patch
- 0020-drm-meson-Add-YUV420-output-support.patch
- 0021-drm-meson-Output-in-YUV444-if-sink-supports-it.patch
- 0023-drm-meson-Fix-an-Alpha-Primary-Plane-bug-on-Meson-GX.patch
- 0001-arm64-dts-meson-Fix-IRQ-trigger-type-for-macirq.patch
- 0001-drm-meson-fix-max-mode_config-height-width.patch
- add-phicomm-n1.patch
- bt-btbcm.patch
- text_offset.patch
- "
-subpackages=""
-arch="aarch64"
-license="GPL-2.0"
-_flavors=
-for _i in $source; do
- case $_i in
- config-*.$CARCH)
- _f=${_i%.$CARCH}
- _f=${_f#config-changes-}
- _flavors="$_flavors ${_f}"
- [ "linux-$_f" != "$pkgname" ] && subpackages="$subpackages linux-${_f}::$CBUILD_ARCH"
- subpackages="$subpackages linux-${_f}-dev:_dev:$CBUILD_ARCH"
- ;;
- esac
-done
-
-case "$CARCH" in
- aarch64) _carch="arm64" ;;
- arm*) _carch="arm" ;;
-esac
-
-HOSTCC="${CC:-gcc}"
-HOSTCC="${HOSTCC#${CROSS_COMPILE}}"
-
-prepare() {
- local _patch_failed=
- cd "$srcdir"/linux-$_commit
-
- for i in $source; do
- case $i in
- *.patch)
- msg "Applying $i..."
- if ! patch -s -p1 -N -i "$srcdir"/${i##*/}; then
- echo $i >>failed
- _patch_failed=1
- fi
- ;;
- esac
- done
-
- if ! [ -z "$_patch_failed" ]; then
- error "The following patches failed:"
- cat failed
- return 1
- fi
-
- # remove localversion from patch if any
- rm -f localversion*
-
- local flavor=
- for flavor in $_flavors; do
- local builddir="$srcdir"/build-$flavor
- mkdir -p "$builddir"
- echo "-$pkgrel-$flavor" > "$builddir"/localversion-alpine
- _genconfig $flavor
- make -C "$srcdir"/linux-$_commit \
- O="$builddir" \
- ARCH="$_carch" \
- HOSTCC="$HOSTCC" \
- olddefconfig
- _verifyconfig $flavor
- done
-}
-
-# generate config from defconfig and apply local changes.
-# config-changes-$flavor.$CARCH holds a list of = delimited
-# config command and values used by kernel scripts/config script.
-_genconfig() {
- local flavor=$1 defconfig=
- local builddir="$srcdir"/build-$flavor
- local defconfig=
- case $flavor in
- amlogic) defconfig=defconfig ;;
- *) die "Unknown flavor: $flavor" ;;
- esac
-
- cp "$srcdir"/$defconfig \
- "$builddir"/.config
-
- while read line; do
- [ ${line:0:1} = "#" ] && continue
- local option=${line%%=*} str=
- local cmd=$(echo $line | cut -d= -f2)
- case "$cmd" in
- enable|disable|module) str= ;;
- set-str|set-val) str=${line##*=} ;;
- *) die "Command $cmd not accepted" ;;
- esac
- msg "[$flavor] $cmd: $option $str"
- "$srcdir"/linux-$_commit/scripts/config \
- --file "$builddir"/.config \
- --${cmd} "$option" "${str//\"/}"
- done < "$srcdir"/config-changes-$flavor.${CARCH}
-}
-
-# verify if options are set to correct value
-_verifyconfig() {
- local flavor=$1
- local builddir="$srcdir"/build-$flavor
- while read line; do
- [ ${line:0:1} = "#" ] && continue
- local option=${line%%=*} str= invert=
- local cmd=$(echo $line | cut -d= -f2)
- case "$cmd" in
- enable) str="$option=y" ;;
- disable) str="$option"; invert="-v" ;;
- module) str="$option=m" ;;
- set-val) str="$option=${line##*=}" ;;
- set-str) str=${line##*=}
- str="$option=\"${str//\"/}\"" ;;
- esac
- grep -q $invert "^$str" "$builddir"/.config || \
- die "Config: $option not properly set!"
- done < "$srcdir"/config-changes-$flavor.${CARCH}
-}
-
-build() {
- unset LDFLAGS
- for i in $_flavors; do
- cd "$srcdir"/build-$i
- make ARCH="$_carch" CC="${CC:-gcc}" \
- KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
- done
-}
-
-_package() {
- local _buildflavor="$1" _outdir="$2"
- local _abi_release=${pkgver}-${pkgrel}-${_buildflavor}
-
- cd "$srcdir"/build-$_buildflavor
-
- mkdir -p "$_outdir"/boot "$_outdir"/lib/modules
-
- local _install
- case "$CARCH" in
- arm*)
- _install="zinstall dtbs_install"
- ;;
- aarch64)
- _install="install dtbs_install"
- ;;
- *)
- _install=install
- ;;
- esac
-
- cd "$srcdir"/build-$_buildflavor
- local INSTALL_DTBS_PATH="$_outdir"/boot/dtbs
- make -j1 modules_install $_install \
- ARCH="$_carch" \
- INSTALL_MOD_PATH="$_outdir" \
- INSTALL_PATH="$_outdir"/boot \
- INSTALL_DTBS_PATH="$INSTALL_DTBS_PATH"
-
- rm -f "$_outdir"/lib/modules/${_abi_release}/build \
- "$_outdir"/lib/modules/${_abi_release}/source
- rm -rf "$_outdir"/lib/firmware
-
- install -D -m644 include/config/kernel.release \
- "$_outdir"/usr/share/kernel/$_buildflavor/kernel.release
-
- if [ "$CARCH" = "aarch64" ]; then
- mv -f "$INSTALL_DTBS_PATH"/amlogic/*.dtb \
- "$INSTALL_DTBS_PATH"
- rmdir "$INSTALL_DTBS_PATH"/amlogic
- fi
-}
-
-# main flavor installs in $pkgdir
-package() {
- depends="$depends linux-firmware-brcm"
- _package amlogic "$pkgdir"
-}
-
-_dev() {
- local _flavor=$(echo $subpkgname | sed -E 's/(^linux-|-dev$)//g')
- local _abi_release=${pkgver}-${pkgrel}-$_flavor
- # copy the only the parts that we really need for build 3rd party
- # kernel modules and install those as /usr/src/linux-headers,
- # simlar to what ubuntu does
- #
- # this way you dont need to install the 300-400 kernel sources to
- # build a tiny kernel module
- #
- pkgdesc="Headers and script for third party modules for $_flavor kernel"
- depends="$_depends_dev"
- local dir="$subpkgdir"/usr/src/linux-headers-${_abi_release}
-
- # first we import config, run prepare to set up for building
- # external modules, and create the scripts
- mkdir -p "$dir"
- cp "$srcdir"/build-$_flavor/.config "$dir"/.config
- make -j1 -C "$srcdir"/linux-$_commit O="$dir" HOSTCC="${CC:-gcc}" \
- silentoldconfig prepare modules_prepare scripts
-
- # remove the stuff that points to real sources. we want 3rd party
- # modules to believe this is the soruces
- rm "$dir"/Makefile "$dir"/source
-
- # copy the needed stuff from real sources
- #
- # this is taken from ubuntu kernel build script
- # http://kernel.ubuntu.com/git/ubuntu/ubuntu-zesty.git/tree/debian/rules.d/3-binary-indep.mk
- cd "$srcdir"/linux-$_commit
- find . -path './include/*' -prune \
- -o -path './scripts/*' -prune -o -type f \
- \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
- -name '*.sh' -o -name '*.pl' -o -name '*.lds' \) \
- -print | cpio -pdm "$dir"
-
- cp -a scripts include "$dir"
- find $(find arch -name include -type d -print) -type f \
- | cpio -pdm "$dir"
-
- install -Dm644 "$srcdir"/build-$_flavor/Module.symvers \
- "$dir"/Module.symvers
-
- mkdir -p "$subpkgdir"/lib/modules/${_abi_release}
- ln -sf /usr/src/linux-headers-${_abi_release} \
- "$subpkgdir"/lib/modules/${_abi_release}/build
-}
-
-sha512sums="642e3de14702d3034f9108c7b6661294722f4cf455b9167c349111642586d9a48732070e46092e7084f3ffbc26f01bae50f8da52eeceb7cf0f40e1441f9d895e 178574b66509c9ff7df4ad26c84a8884567e93b4.tar.gz
-7186849193386fc06caab6db9ebf3d5b7efe2511f1c3836bb70d713340eb69b1f123f8372f15ee7f8dd61eeff5ce772b35db8557133ef64a2a1a5ca9e7cd30c9 config-changes-amlogic.aarch64
-2784f8c05c1c66f2bff73d0cdd415781e6529f269223607c18302803125092e7cb6c94083146deecc3226672f7f4754246cc62808f9384f697782ec55786883d defconfig
-09e8d284608ac0e86db8b36bdefdb17c8ad8e9b3bdf443ee5a687f1591d88d26cffef1a36919b0547acef49394d903ff8067d46f75b55eccadec415971bf0b34 0001-ARM64-defconfig-enable-CEC-support.patch
-55d3e84c4e01b94a3bf256a980bd23a8d02c3ea7f4103d350400eb28cc31336bb35f9404ee34ba80f7d3d7427d73ed4ee75119a916ae0e88d911bb83b0303229 0002-ASoC-meson-add-meson-audio-core-driver.patch
-b5a65140612b011f22d4bfbb4ab41a4c0fe07bab43f8033195a42b02c5d74c69c7fbc2b186f8d6ff08ed7b66ccbfd9d8d7945f81812ae5021b1d37154acdb12f 0003-ASoC-meson-add-register-definitions.patch
-441b0385e88bb7ddb324363536413e6538d4b0367181ae5ceada806a8efe3d1b5daa643bd3ab99db6fa7a2d5ea0944a15a63672fa26bfc7850959ce2d7238aa1 0004-ASoC-meson-add-aiu-i2s-dma-support.patch
-4615d01a2548ce5057446ff32c52bca1cea189fc74d902ea22dc90e73c2eb21ef5b4b58c6a4ebbdf3c6cad5bac483dabdee025438ebc0bdf1b4368af0fce1b87 0005-ASoC-meson-add-initial-i2s-dai-support.patch
-d1dc1d99393a885776144dea27c0789d9e7968de1164bc85b07cc8d444cdcc898ce2f7ff1f9515ae2424789cbb76b84a8ed56008c1880fef60be79000bf55452 0006-ASoC-meson-add-aiu-spdif-dma-support.patch
-b101c64312509738b078732f73b265fa81bb94806bb39524e85d171949505dc0548fc3ece498cca6586b8ca4af08b271b6c02f028040f8cf16ec5eee94ddafa1 0007-ASoC-meson-add-initial-spdif-dai-support.patch
-98fd62a02fa76a957d15da9456c85def94a790429c3357b4b06a63d4224b624ffe763410ffdbc09ff560ba0a17a5299b722e2c9cefbb4a59455cfbe7379850b3 0008-ARM64-defconfig-enable-audio-support-for-meson-SoCs-.patch
-a286d6ecb284f505ebd29c04c5e95b1e7ba1a4a3c5ffb17580c2387ab78360cba7be6806772a058be8326f7a299f59c84051ed022b2c99372412d935f12f7c6a 0009-ARM64-dts-meson-gx-add-audio-controller-nodes.patch
-e84ab2a28d08570590ad06219e1a99a8cc47a589d4170f5ff1bf6eeb1b50c1e4e21857a5633495d2271ae702b9bfdc8aa76bb56d572b236d54a4ec08566f13d6 0010-snd-meson-activate-HDMI-audio-path.patch
-35962172f6c2682f0e3ba438ca9e62ddd679a0cd665e6bc6208167a753877a02a1d4db8d78b230de44ab494016cf9d47f0e61d31121cb0b8b676b689f1258f71 0011-drm-meson-select-dw-hdmi-i2s-audio-for-meson-hdmi.patch
-db2c10c9e4b58e7f0b72a0b8b81ef39544d0e14ef5814dda4d6d5d98d181c9c0f5993ac0e6bc98ea8c79b5d22a3c4eb38793ddb22e7e2553f4643027767a597e 0012-ARM64-dts-meson-gx-add-sound-dai-cells-to-HDMI-node.patch
-4f0073aa0a4ed1297b00817bb6cad704362c32fda284780e7a73505dab8e3cfdec5eb851fccdf7e6bf16c1788bc0f8f6ca58b0898adacca678f46ca940aa493a 0013-ARM64-dts-meson-activate-hdmi-audio-HDMI-enabled-boa.patch
-998c39cf37d2258582d6d60a7e6a702601430645b01c971c162bb219684e363fd11d0572cefb15f00551fe6bc95d97d1c101e6f36b1ae015083edeb5742b3df3 0014-drm-bridge-dw-hdmi-Use-AUTO-CTS-setup-mode-when-non-.patch
-03c2649558bedc2bf34f0e139db489d6891bda6041384d0023cf700be31d1fb1f983c8bc7d58754acd0a57986432b0330996c82f7dc7fd4a6044589725fc4c9c 0017-soc-amlogic-add-meson-canvas-driver.patch
-7c1e84356a62a175326f56e71e6984aa4a00ab4b50ac09cce8a078890f2c2ac700d53c53b1229e8dbfb82f36bac32b3082ccdf91a8f92545148bd705784b38e4 0018-ARM64-dts-meson-gx-add-dmcbus-and-canvas-nodes.patch
-f2a94fde352734e1de54f10703d792c62c95ae4b68c2c0ce9eb78fded934084fab4b999c930f7228982044052e5b331cce60cf72dcc1f181bcc88eaf68116bb8 0020-drm-meson-Use-optional-canvas-provider.patch
-635410e2f6476ee1f1114d31c06f997d5997e117d857ef67f7acb456b52941a4b4aa0cdd94ce9788a017a07d75143d783e900e03eac009d030c90fbe95798003 0021-arm64-dts-meson-gx-Add-canvas-provider-node-to-the-v.patch
-df666c95cc1d0dc4c9dd93f79778c5880afd89c320a0edb22dc3f017388cd2df88806aae4c7cde4c412e6643fcd1a8df4c6f15b41b0b0e6b020eced9cedf8d9a 0022-drm-meson-Support-Overlay-plane-for-video-rendering.patch
-8e3f62fc50c8478951f8a2e6c5d8c8f38f56ed4d68f9c0fb55c23c46d3ae2182e8a6e5f23171aac08867da4bb16d7c98741a80a3ae6a3acfc41568350be59a57 0023-drm-meson-move-OSD-scaler-management-into-plane-atom.patch
-63c41b6db1386530339bd3b6d87849bb38a8d51ec8fcd0bf3c1bcb77c567c589e069dee02f066030f608288fd510e3af244ff45b346e0addc31614867daab334 0024-drm-meson-Add-primary-plane-scaling.patch
-64682336c72ac1e505e19e4a099bb2c6f8ba6e8df2ed3b149e355c50b27a29337ac1de7768dd0fd3274bda4fe2f6cc53d068d8a1e6325d27c42e372a0324cbd2 0026-pinctrl-meson-gxl-remove-invalid-GPIOX-tsin_a-pins.patch
-332aa83ae3c581b81dae9b37df047fa5e553b0c31790713395ab562aa03ac32fbf909ab6372aba22d06cb82c509efef68af90aeaf66ca5cf70c0861c69039139 0027-arm64-dts-meson-gx-Add-hdmi_5v-regulator-as-hdmi-tx-.patch
-0cb8ed9fb52cfdcfac8dbbab5b08f4b5fe1b8716655fe77f37ff1ee39355fac89314dd318856582c62dce1fd56232b4a2725c60a2d07ef15efba86160eb093f0 0028-arm64-dts-meson-gxl-libretech-cc-fix-GPIO-lines-name.patch
-f4d251863ac20a95642a60f7c6c51694d36a12f745864fccbb6513b2e53fb0039fa316f4bcd245abe306d2d0aeb0037498f9e21333ab1d84e58fb5d287632093 0029-arm64-dts-meson-gxbb-nanopi-k2-fix-GPIO-lines-names.patch
-c481cde9a8bf2609b99e1a7a94bdfead78afe8665347dfffcde8747b8e2817356123e0e44b71de4c5b85224aa20c3c63d5ce3f44e49e3969f0ea28f4df94dc62 0030-arm64-dts-meson-gxbb-odroidc2-fix-GPIO-lines-names.patch
-768d954c5580b68e999bf3ed051219187c96de88f27be54e52242687f2ef505c0616dabbc5bee42fdc6d20d53d973f2e64ef4809649fb2e666d8727ed314f3fd 0031-arm64-dts-meson-gxl-khadas-vim-fix-GPIO-lines-names.patch
-e23b9303036d736a3f9abed22712848da514f6388de66b3029bde551a85b7d42d1506ee960a539457c8dd7d8b6c07e80919ca0714a9435bdcaa85ca2e201d69f 0032-drm-meson-Add-support-for-VIC-alternate-timings.patch
-671da78856f524f7e491e35dcb2764acb6ff0e99eee4df6c9e9538dc321c6c2e4481fd8c39daa2cb32d23d38c96823e5ab04db0342b2daabd5d1b7efdb0d6288 0033-media-meson-add-v4l2-m2m-video-decoder-driver.patch
-8d13b4e5c503a196b29263a85d3bc2d9cd1b95d186e6347532b8ae7efc35c93ed72d3f9c4a7ff12b5c2186b3f7d3b35247858e66a96382ba3a2630db35cdf794 0034-MAINTAINERS-Add-meson-video-decoder.patch
-c1817a1b59a4a38f7a0689c1e2603398f538d9270a93b40e2ce3e9633b71943beb385206d802673b18f244fb5d9a6c9b2e0498d7803432cf98750843fb91ce5f 0035-arm64-dts-meson-gx-add-vdec-entry.patch
-bdd5bd9e4203e3e7bd6412b2068963e22a974316b8ee1a707933808f1ec03ab43aa174804e7fd21f2f7062dc25226e4f2047a863366f132d8687d098a203c6d1 0036-arm64-dts-meson-add-vdec-entries.patch
-9c3b9170bbc5fbf3331052e5a99864b76cee6c2c50629f22d33d6e0b01de164e34db4a57c3864e6cb10ff9486999842c9d5f5d38bcb65ef98ccca34c3a6366be 0037-meson-vdec-introduce-controls-and-V4L2_CID_MIN_BUFFE.patch
-6bd52ae9872d79b5b2199d23bbef6f73b7530c54df702edf0ce040ba799c60265d199f75fcd4301587100fe60a6d43988bdffdfcb6f98be0c0d8a79f27d206bf 0038-media-videodev2-add-V4L2_FMT_FLAG_NO_SOURCE_CHANGE.patch
-516113c435158775f85a3904e5941bcfe641428cfce1945722a2ab8f7897a8493dca634f3527fa4d8fb0433635efcd48353a2feadee94e3467057ce4ff966964 0039-meson-vdec-allow-subscribing-to-V4L2_EVENT_SOURCE_CH.patch
-0332979243ae7c182006050c3c2b34c9035ce9f3b084659ec0c3fd39c6772d42c0f5420628150113d2d149d8b1a2481d42650aae08ac054d25cf19178ba64ebc 0040-media-meson-vdec-add-H.264-decoding-support.patch
-d696a4a726801786e65fcb69f70c5271a982b2d494a8036d7d8a3e201f910d0e1dc411283128b3460bf2371cb43817d760c0de866cfc22a985f1ff052b98cbff 0041-media-meson-vdec-add-MPEG4-decoding-support.patch
-1381cbabd3e040d6e14c1f270904b2c41c6758f2757c3871d1a09d41ab4ce8f85cde95ed1cc989fe59addfa3eae6246f7cc25b63f213f9b28cc73ec86a1c3deb 0042-media-meson-vdec-add-MJPEG-decoding-support.patch
-36281f344133b7f4130d69685b1802524a597e110e792f0cae43991eb3a15282d77779cca8033679b943660cd23c9da54c62178b99999e91dc8581052cb53945 0043-clk-meson-gxbb-set-fclk_div3-as-CLK_IS_CRITICAL.patch
-ddcb198b0e052975764dfaf140763247e80632eee5f49e3316dc4f1b6220da80fdca0dc32ec618b27fb0487b3ff0676f2a2ed07d5cecfad350bafba0b79ddfed 0008-drm-meson-Add-HDMI-1.4-4k-modes.patch
-a58680d93e56fbc95e9e255b79822fcb7960d1f58dbf819dda729b21b61949f42ac58454a6403e77b0d12708613425f331531de700a74c18b262f1336849d5a1 0009-drm-meson-Use-drm_fbdev_generic_setup.patch
-b103daed449e59ce1d73e929c694f042e461241ef9d09592828414ab04a9c7ce07c16f636461d8bc5ba49650b9f584a861d5bd4267e90899b8bd72ec113bee4e 0010-fixup-drm-meson-Use-optional-canvas-provider.patch
-5e25559535d0a1529c8b5e31e9dab82c0d41f70e515a2ca4ed614177e127c0933cc1d54566ef6f063b19dbd19f3b1d67cb51ad4d8a87877140cf166c5969a6f0 0012-drm-meson-add-support-for-1080p25-mode.patch
-8de5c1f61e8467504f96db3c615658f40bb217d57a1a0c03b505cd8e310961dce38a191cd40ccecd48ed204fac1c3d3facb371e07ff590b8683afc4420e7f303 0014-drm-bridge-dw-hdmi-Add-SCDC-and-TMDS-Scrambling-supp.patch
-8fe6432a889ee13081185eeb8602ea48465b7d858f0b573f5a5c4d35e6ed76edc47f697b0c1729a31e9a319e0712bb0eaa111077d86570d2954dcbe6fceb7b60 0015-drm-meson-add-HDMI-div40-TMDS-mode.patch
-358f064f42c9e21afeccb867c062fc18484f91ed7805752edaf74492774962c16348099de004ce130134610f8c5d076fd715ca0de3eb30d0abd23f90236c6a7b 0016-drm-meson-add-support-for-HDMI2.0-2160p-modes.patch
-9bd13d763a007ffb9d0e9f9f4c9b5018752c010a39780e467d463153cc79a32774120d7af83496ba706b971dd3bd9bb600fad4795b3c0796e22eb42b23374a90 0017-drm-bridge-dw-hdmi-add-support-for-YUV420-output.patch
-f15dd5116fe7464009ade33a9c6d305a7720767e1b31acbf7653cd9d2f83b428e734712739e8bb4cfd04407640187f5528f80d7e8b89992a75f2316b6f8513c6 0018-drm-bridge-dw-hdmi-support-dynamically-get-input-out.patch
-2399c1c95455f2e4d0d03d2c84cf454251b7c8a151da555e7665bede91b7b62f96391efac3ca9a5b90761e105409bd033f348e25bc163a439a2ff7efd82e2184 0019-drm-bridge-dw-hdmi-allow-ycbcr420-modes-for-0x200a.patch
-26eb2b101ab563558649f38a5102773b2d79eeb39cf04a3f8d512361beed70ad585825233716acb58853887bc863ba76ce87f6eaf6d8c5c22e4caa99a5ce294a 0020-drm-meson-Add-YUV420-output-support.patch
-fac806a77816f655354499ab597974659e5d6dc74d04ac74cd81bacd6a264ac13ab33bc230a2c233d98d6e3b0342f329c2af0c6359d9ae8b6b456add06809822 0021-drm-meson-Output-in-YUV444-if-sink-supports-it.patch
-e365ba0479201f1c4fb08f872447f2496d4c8d75c8e3f632eeb3f7091e56d0659d4b6f580d384183e0e9c80ccf659b1704ecbaca88b66ca34c78c250c0f55a29 0023-drm-meson-Fix-an-Alpha-Primary-Plane-bug-on-Meson-GX.patch
-0aca4ad6af15ea8f8e2e8a05aa3c5a16e1a909ee0f80cb1f64e0ee027a7050b0bbd5815520e146f96641b92e5d39688677de39d4294be6a25ea1a2e519df257b 0001-arm64-dts-meson-Fix-IRQ-trigger-type-for-macirq.patch
-613d619e86883d83d53d045ed589d91c74a9f2031de953d2f3e4cdf374ae32841a69b28abfd0d8314a5739f51fbd3ab02c7f8baf4c5060db725d21f7a677db7f 0001-drm-meson-fix-max-mode_config-height-width.patch
-ea41c0b63d8890cf5db69a37ead0fb9863299a344cee2d3606cc8c049405a563e139dceb6c908abc57b5b545d3daee16f7b9c6f7f1284cb9cf676ff5830d5c96 add-phicomm-n1.patch
-dcc02a2e35e530490f18dd1f7e304aebd7c268ed8a46971d94e9da7dfd65b287002e6b921e46db5ce118177c9ab79fbe3640565cb2df19809b6eff514122fb43 bt-btbcm.patch
-298ded76cf87f08c9357505e9dd7582d886a5e59111eee81ecb136b2dd1f3f404899a32029696038cb2299760568b2b0345c92dfd961591b28ec2964460f09b1 text_offset.patch"
diff --git a/testing/linux-amlogic/add-phicomm-n1.patch b/testing/linux-amlogic/add-phicomm-n1.patch
deleted file mode 100644
index 3c3b16e32c4..00000000000
--- a/testing/linux-amlogic/add-phicomm-n1.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-diff --git a/arch/arm64/boot/dts/amlogic/Makefile b/arch/arm64/boot/dts/amlogic/Makefile
-index a97c0e2..ebd96da 100644
---- a/arch/arm64/boot/dts/amlogic/Makefile
-+++ b/arch/arm64/boot/dts/amlogic/Makefile
-@@ -17,6 +17,7 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-nexbox-a95x.dtb
- dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905x-p212.dtb
- dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p230.dtb
- dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-p231.dtb
-+dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905d-phicomm-n1.dtb
- dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s805x-p241.dtb
- dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-p281.dtb
- dtb-$(CONFIG_ARCH_MESON) += meson-gxl-s905w-tx3-mini.dtb
-diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
-new file mode 100644
-index 0000000..7903dad
---- /dev/null
-+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905d-phicomm-n1.dts
-@@ -0,0 +1,42 @@
-+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-+/*
-+ * Copyright (c) 2018 He Yangxuan
-+ */
-+
-+/dts-v1/;
-+
-+#include "meson-gxl-s905d-p230.dts"
-+
-+/ {
-+ compatible = "phicomm,n1", "amlogic,s905d", "amlogic,meson-gxl";
-+ model = "Phicomm N1";
-+
-+ aliases {
-+ serial1 = &uart_A;
-+ };
-+
-+ cvbs-connector {
-+ status = "disabled";
-+ };
-+};
-+
-+&cvbs_vdac_port {
-+ status = "disabled";
-+};
-+
-+&external_phy {
-+ /* Realtek RTL8211F (0x001cc916) */
-+ eee-broken-1000t;
-+};
-+
-+/* This is connected to the Bluetooth module: */
-+&uart_A {
-+ status = "okay";
-+ pinctrl-0 = <&uart_a_pins>, <&uart_a_cts_rts_pins>;
-+ pinctrl-names = "default";
-+
-+ bluetooth {
-+ compatible = "brcm,bcm43438-bt";
-+ shutdown-gpios = <&gpio GPIOX_17 GPIO_ACTIVE_HIGH>;
-+ };
-+};
diff --git a/testing/linux-amlogic/bt-btbcm.patch b/testing/linux-amlogic/bt-btbcm.patch
deleted file mode 100644
index cb56ab0e66b..00000000000
--- a/testing/linux-amlogic/bt-btbcm.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/drivers/bluetooth/btbcm.c 2018-07-09 00:34:02.000000000 +0100
-+++ b/drivers/bluetooth/btbcm.c 2018-07-12 11:38:12.323462430 +0100
-@@ -326,7 +326,7 @@ static const struct bcm_subver_table bcm
- { 0x4406, "BCM4324B3" }, /* 002.004.006 */
- { 0x610c, "BCM4354" }, /* 003.001.012 */
- { 0x2122, "BCM4343A0" }, /* 001.001.034 */
-- { 0x2209, "BCM43430A1" }, /* 001.002.009 */
-+ { 0x2209, "BCM43438A1" }, /* 001.002.009 */
- { 0x6119, "BCM4345C0" }, /* 003.001.025 */
- { 0x230f, "BCM4356A2" }, /* 001.003.015 */
- { }
diff --git a/testing/linux-amlogic/config-changes-amlogic.aarch64 b/testing/linux-amlogic/config-changes-amlogic.aarch64
deleted file mode 100644
index ef386cc05a1..00000000000
--- a/testing/linux-amlogic/config-changes-amlogic.aarch64
+++ /dev/null
@@ -1,13 +0,0 @@
-# format is config=command(=string/value)
-# where command can be one of:
-# enable,disable,module,set-str,set-value
-CONFIG_DRM_UDL=module
-CONFIG_FB_UDL=module
-CONFIG_SLAB_FREELIST_RANDOM=enable
-CONFIG_SLAB_FREELIST_HARDENED=enable
-CONFIG_STRICT_DEVMEM=enable
-CONFIG_IO_STRICT_DEVMEM=enable
-CONFIG_ENCRYPTED_KEYS=module
-CONFIG_KEY_DH_OPERATIONS=enable
-CONFIG_HARDENED_USERCOPY=enable
-CONFIG_IP_PNP=disable
diff --git a/testing/linux-amlogic/defconfig b/testing/linux-amlogic/defconfig
deleted file mode 100644
index e7439edb1f0..00000000000
--- a/testing/linux-amlogic/defconfig
+++ /dev/null
@@ -1,882 +0,0 @@
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_SYSVIPC=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_AUDIT=y
-CONFIG_NO_HZ_IDLE=y
-CONFIG_HIGH_RES_TIMERS=y
-CONFIG_BSD_PROCESS_ACCT=y
-CONFIG_BSD_PROCESS_ACCT_V3=y
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-CONFIG_TASK_XACCT=y
-CONFIG_TASK_IO_ACCOUNTING=y
-CONFIG_IKCONFIG=y
-CONFIG_IKCONFIG_PROC=y
-CONFIG_LOG_BUF_SHIFT=19
-CONFIG_MEMCG=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_BLK_CGROUP=y
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CGROUP_HUGETLB=y
-CONFIG_CPUSETS=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-CONFIG_CGROUP_PERF=y
-CONFIG_NAMESPACES=y
-CONFIG_USER_NS=y
-CONFIG_SCHED_AUTOGROUP=y
-CONFIG_BLK_DEV_INITRD=y
-CONFIG_SYSCTL_SYSCALL=y
-CONFIG_KALLSYMS_ALL=y
-CONFIG_EMBEDDED=y
-# CONFIG_COMPAT_BRK is not set
-CONFIG_PROFILING=y
-CONFIG_JUMP_LABEL=y
-CONFIG_MODULES=y
-CONFIG_MODULE_UNLOAD=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEBUG_FS is not set
-CONFIG_PARTITION_ADVANCED=y
-CONFIG_MAC_PARTITION=y
-CONFIG_LDM_PARTITION=y
-# CONFIG_IOSCHED_DEADLINE is not set
-CONFIG_DEFAULT_NOOP=y
-# CONFIG_MQ_IOSCHED_DEADLINE is not set
-# CONFIG_MQ_IOSCHED_KYBER is not set
-CONFIG_ARCH_MESON=y
-# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
-# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set
-# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set
-CONFIG_ARM64_VA_BITS_48=y
-CONFIG_SCHED_MC=y
-CONFIG_PREEMPT=y
-CONFIG_KSM=y
-CONFIG_TRANSPARENT_HUGEPAGE=y
-CONFIG_CLEANCACHE=y
-CONFIG_FRONTSWAP=y
-CONFIG_CMA=y
-CONFIG_ZSMALLOC=m
-CONFIG_SECCOMP=y
-CONFIG_KEXEC=y
-CONFIG_XEN=y
-# CONFIG_ARM64_LSE_ATOMICS is not set
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_BINFMT_MISC=y
-CONFIG_COMPAT=y
-CONFIG_HIBERNATION=y
-CONFIG_CPU_IDLE=y
-CONFIG_ARM_CPUIDLE=y
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=y
-CONFIG_CPU_FREQ_GOV_USERSPACE=y
-CONFIG_CPU_FREQ_GOV_ONDEMAND=y
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
-CONFIG_CPUFREQ_DT=y
-CONFIG_ARM_BIG_LITTLE_CPUFREQ=y
-CONFIG_ARM_SCPI_CPUFREQ=y
-CONFIG_NET=y
-CONFIG_PACKET=y
-CONFIG_PACKET_DIAG=m
-CONFIG_UNIX=y
-CONFIG_UNIX_DIAG=m
-CONFIG_XFRM_USER=y
-CONFIG_NET_KEY=m
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_PNP=y
-CONFIG_IP_PNP_DHCP=y
-CONFIG_IP_PNP_BOOTP=y
-CONFIG_IP_PNP_RARP=y
-CONFIG_NET_IPIP=y
-CONFIG_SYN_COOKIES=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_TCP_CONG_ADVANCED=y
-CONFIG_TCP_CONG_BBR=m
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_IPV6_ROUTE_INFO=y
-CONFIG_IPV6_OPTIMISTIC_DAD=y
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-CONFIG_INET6_IPCOMP=m
-CONFIG_INET6_XFRM_MODE_TRANSPORT=m
-CONFIG_INET6_XFRM_MODE_TUNNEL=m
-CONFIG_INET6_XFRM_MODE_BEET=m
-CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION=m
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_TUNNEL=y
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_NETFILTER=y
-CONFIG_NF_CONNTRACK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NETFILTER_XT_SET=m
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HMARK=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_BPF=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_IPVS=m
-# CONFIG_NETFILTER_XT_MATCH_L2TP is not set
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-CONFIG_IP_SET=m
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-CONFIG_IP_VS=m
-CONFIG_IP_VS_PROTO_TCP=y
-CONFIG_IP_VS_PROTO_UDP=y
-CONFIG_IP_VS_PROTO_ESP=y
-CONFIG_IP_VS_PROTO_AH=y
-CONFIG_IP_VS_PROTO_SCTP=y
-CONFIG_IP_VS_RR=m
-CONFIG_IP_VS_WRR=m
-CONFIG_IP_VS_LC=m
-CONFIG_IP_VS_WLC=m
-CONFIG_IP_VS_LBLC=m
-CONFIG_IP_VS_LBLCR=m
-CONFIG_IP_VS_DH=m
-CONFIG_IP_VS_SH=m
-CONFIG_IP_VS_SED=m
-CONFIG_IP_VS_NQ=m
-CONFIG_IP_VS_FTP=m
-CONFIG_IP_VS_PE_SIP=m
-CONFIG_NF_CONNTRACK_IPV4=y
-CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=y
-CONFIG_IP_NF_TARGET_REJECT=y
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-CONFIG_NF_CONNTRACK_IPV6=y
-CONFIG_IP6_NF_IPTABLES=y
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RPFILTER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_FILTER=y
-CONFIG_IP6_NF_TARGET_REJECT=y
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_IP6_NF_TARGET_NPT=m
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-CONFIG_ATM=m
-CONFIG_L2TP=y
-CONFIG_L2TP_DEBUGFS=y
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=y
-CONFIG_L2TP_ETH=y
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_VLAN_FILTERING=y
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-CONFIG_ATALK=m
-CONFIG_6LOWPAN=m
-CONFIG_NET_SCHED=y
-CONFIG_NET_SCH_CBQ=m
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-CONFIG_NET_SCH_RED=m
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-CONFIG_NET_SCH_GRED=m
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-CONFIG_NET_SCH_DRR=m
-CONFIG_NET_SCH_MQPRIO=m
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_CODEL=m
-CONFIG_NET_SCH_FQ_CODEL=m
-CONFIG_NET_SCH_FQ=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_SCH_PLUG=m
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-CONFIG_CLS_U32_MARK=y
-CONFIG_NET_CLS_RSVP=m
-CONFIG_NET_CLS_RSVP6=m
-CONFIG_NET_CLS_FLOW=m
-CONFIG_NET_CLS_CGROUP=m
-CONFIG_NET_EMATCH=y
-CONFIG_NET_EMATCH_CMP=m
-CONFIG_NET_EMATCH_META=m
-CONFIG_NET_EMATCH_TEXT=m
-CONFIG_NET_EMATCH_IPSET=m
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=m
-CONFIG_NET_ACT_GACT=m
-CONFIG_GACT_PROB=y
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-CONFIG_NET_ACT_PEDIT=m
-CONFIG_NET_ACT_SIMP=m
-CONFIG_NET_ACT_SKBEDIT=m
-CONFIG_NET_ACT_CSUM=m
-CONFIG_BATMAN_ADV=m
-CONFIG_OPENVSWITCH=m
-CONFIG_BPF_JIT=y
-CONFIG_NET_PKTGEN=m
-CONFIG_HAMRADIO=y
-CONFIG_AX25=m
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_YAM=m
-CONFIG_CAN=m
-CONFIG_BT=m
-CONFIG_BT_RFCOMM=m
-CONFIG_BT_RFCOMM_TTY=y
-CONFIG_BT_BNEP=m
-CONFIG_BT_BNEP_MC_FILTER=y
-CONFIG_BT_BNEP_PROTO_FILTER=y
-CONFIG_BT_HIDP=m
-CONFIG_BT_6LOWPAN=m
-CONFIG_BT_LEDS=y
-# CONFIG_BT_DEBUGFS is not set
-CONFIG_BT_HCIBTUSB=m
-CONFIG_BT_HCIBTSDIO=m
-CONFIG_BT_HCIUART=m
-CONFIG_BT_HCIUART_BCSP=y
-CONFIG_BT_HCIUART_LL=y
-CONFIG_BT_HCIUART_3WIRE=y
-CONFIG_BT_HCIUART_BCM=y
-CONFIG_BT_HCIBCM203X=m
-CONFIG_BT_HCIBPA10X=m
-CONFIG_BT_HCIBFUSB=m
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-CONFIG_BT_ATH3K=m
-CONFIG_CFG80211=m
-CONFIG_MAC80211=m
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-CONFIG_WIMAX=m
-CONFIG_RFKILL=m
-CONFIG_RFKILL_INPUT=y
-CONFIG_NET_9P=y
-CONFIG_NET_9P_VIRTIO=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_DMA_CMA=y
-CONFIG_CMA_SIZE_MBYTES=256
-CONFIG_BRCMSTB_GISB_ARB=y
-CONFIG_VEXPRESS_CONFIG=y
-CONFIG_MTD=y
-CONFIG_MTD_CMDLINE_PARTS=m
-CONFIG_MTD_BLOCK=y
-CONFIG_MTD_OOPS=m
-CONFIG_MTD_M25P80=y
-CONFIG_MTD_NAND=y
-CONFIG_MTD_NAND_DENALI_DT=y
-CONFIG_MTD_SPI_NOR=y
-CONFIG_MTD_UBI=m
-CONFIG_ZRAM=m
-CONFIG_ZRAM_WRITEBACK=y
-CONFIG_BLK_DEV_LOOP=y
-CONFIG_BLK_DEV_CRYPTOLOOP=m
-CONFIG_BLK_DEV_DRBD=m
-CONFIG_BLK_DEV_NBD=m
-CONFIG_BLK_DEV_RAM=m
-CONFIG_VIRTIO_BLK=y
-CONFIG_SRAM=y
-CONFIG_EEPROM_AT25=m
-CONFIG_SCSI=y
-# CONFIG_SCSI_PROC_FS is not set
-CONFIG_BLK_DEV_SD=y
-CONFIG_CHR_DEV_ST=m
-CONFIG_CHR_DEV_OSST=m
-CONFIG_BLK_DEV_SR=m
-CONFIG_CHR_DEV_SG=m
-CONFIG_SCSI_SAS_LIBSAS=y
-CONFIG_ISCSI_TCP=m
-CONFIG_ISCSI_BOOT_SYSFS=m
-CONFIG_MD=y
-CONFIG_MD_LINEAR=m
-CONFIG_BLK_DEV_DM=m
-CONFIG_DM_CRYPT=m
-CONFIG_DM_SNAPSHOT=m
-CONFIG_DM_THIN_PROVISIONING=m
-CONFIG_DM_CACHE=m
-CONFIG_DM_MIRROR=m
-CONFIG_DM_LOG_USERSPACE=m
-CONFIG_DM_RAID=m
-CONFIG_DM_ZERO=m
-CONFIG_DM_DELAY=m
-CONFIG_NETDEVICES=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_IFB=m
-CONFIG_MACVLAN=m
-CONFIG_MACVTAP=m
-CONFIG_VXLAN=m
-CONFIG_NETCONSOLE=m
-CONFIG_TUN=y
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=y
-CONFIG_AMD_XGBE=y
-CONFIG_MACB=y
-CONFIG_HNS_DSAF=y
-CONFIG_HNS_ENET=y
-CONFIG_MVMDIO=y
-CONFIG_QCOM_EMAC=m
-CONFIG_SMC91X=y
-CONFIG_SMSC911X=y
-CONFIG_STMMAC_ETH=y
-# CONFIG_DWMAC_GENERIC is not set
-CONFIG_MDIO_BITBANG=y
-CONFIG_MDIO_BUS_MUX_MMIOREG=y
-CONFIG_MESON_GXL_PHY=y
-CONFIG_MICREL_PHY=y
-CONFIG_REALTEK_PHY=m
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOATM=m
-CONFIG_PPPOE=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_B43=m
-CONFIG_B43_DEBUG=y
-CONFIG_B43LEGACY=m
-CONFIG_BRCMFMAC=m
-CONFIG_BRCMFMAC_USB=y
-CONFIG_HOSTAP=m
-CONFIG_HOSTAP_FIRMWARE=y
-CONFIG_HOSTAP_FIRMWARE_NVRAM=y
-CONFIG_RTL8187=m
-CONFIG_RTL8192CU=m
-CONFIG_RTL8XXXU=m
-CONFIG_RTL8XXXU_UNTESTED=y
-CONFIG_WL18XX=m
-CONFIG_WLCORE_SDIO=m
-# CONFIG_XEN_NETDEV_FRONTEND is not set
-CONFIG_INPUT_MOUSEDEV=y
-CONFIG_INPUT_MOUSEDEV_PSAUX=y
-CONFIG_INPUT_EVDEV=y
-CONFIG_KEYBOARD_ADC=m
-CONFIG_KEYBOARD_GPIO=y
-CONFIG_KEYBOARD_CROS_EC=y
-CONFIG_INPUT_MISC=y
-CONFIG_INPUT_UINPUT=y
-# CONFIG_SERIO_SERPORT is not set
-CONFIG_SERIO_AMBAKMI=y
-CONFIG_LEGACY_PTY_COUNT=16
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-CONFIG_SERIAL_8250_DW=y
-CONFIG_SERIAL_OF_PLATFORM=y
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_MESON=y
-CONFIG_SERIAL_MESON_CONSOLE=y
-CONFIG_SERIAL_XILINX_PS_UART=y
-CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_TTY_PRINTK=y
-CONFIG_VIRTIO_CONSOLE=y
-CONFIG_RAW_DRIVER=y
-CONFIG_I2C_CHARDEV=y
-CONFIG_I2C_MUX_PCA954x=y
-CONFIG_I2C_DESIGNWARE_PLATFORM=y
-CONFIG_I2C_MESON=y
-CONFIG_I2C_RK3X=y
-CONFIG_I2C_CROS_EC_TUNNEL=y
-CONFIG_I2C_SLAVE=y
-CONFIG_SPI=y
-CONFIG_SPI_MESON_SPICC=y
-CONFIG_SPI_MESON_SPIFC=m
-CONFIG_SPI_PL022=y
-CONFIG_SPI_SPIDEV=m
-CONFIG_SPMI=y
-CONFIG_PINCTRL_SINGLE=y
-CONFIG_PINCTRL_MAX77620=y
-CONFIG_GPIO_DWAPB=y
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_XGENE=y
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-CONFIG_GPIO_MAX77620=y
-CONFIG_POWER_RESET_VEXPRESS=y
-CONFIG_POWER_RESET_XGENE=y
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_SENSORS_ARM_SCPI=y
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_THERMAL=y
-CONFIG_THERMAL_GOV_POWER_ALLOCATOR=y
-CONFIG_CPU_THERMAL=y
-CONFIG_THERMAL_EMULATION=y
-CONFIG_WATCHDOG=y
-CONFIG_MESON_GXBB_WATCHDOG=m
-CONFIG_MESON_WATCHDOG=m
-CONFIG_SSB_SDIOHOST=y
-CONFIG_BCMA_HOST_SOC=y
-CONFIG_BCMA_DRIVER_GMAC_CMN=y
-CONFIG_BCMA_DRIVER_GPIO=y
-CONFIG_BCMA_DEBUG=y
-CONFIG_MFD_CROS_EC=y
-CONFIG_MFD_CROS_EC_I2C=y
-CONFIG_MFD_CROS_EC_SPI=y
-CONFIG_MFD_MAX77620=y
-CONFIG_MFD_RK808=y
-CONFIG_MFD_SEC_CORE=y
-CONFIG_REGULATOR=y
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-CONFIG_REGULATOR_FAN53555=y
-CONFIG_REGULATOR_GPIO=y
-CONFIG_REGULATOR_MAX77620=y
-CONFIG_REGULATOR_PWM=y
-CONFIG_REGULATOR_QCOM_SPMI=y
-CONFIG_REGULATOR_RK808=y
-CONFIG_REGULATOR_S2MPS11=y
-CONFIG_RC_CORE=m
-CONFIG_RC_DECODERS=y
-CONFIG_IR_NEC_DECODER=m
-CONFIG_IR_RC5_DECODER=m
-CONFIG_IR_RC6_DECODER=m
-CONFIG_IR_JVC_DECODER=m
-CONFIG_IR_SONY_DECODER=m
-CONFIG_IR_SANYO_DECODER=m
-CONFIG_IR_SHARP_DECODER=m
-CONFIG_IR_MCE_KBD_DECODER=m
-CONFIG_IR_XMP_DECODER=m
-CONFIG_RC_DEVICES=y
-CONFIG_IR_MESON=m
-CONFIG_MEDIA_SUPPORT=y
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-CONFIG_MEDIA_ANALOG_TV_SUPPORT=y
-CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y
-CONFIG_MEDIA_CEC_SUPPORT=y
-CONFIG_MEDIA_CONTROLLER=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-# CONFIG_DVB_NET is not set
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_AML_MESON_VDEC=y
-CONFIG_CEC_PLATFORM_DRIVERS=y
-CONFIG_VIDEO_MESON_AO_CEC=m
-CONFIG_DRM=y
-CONFIG_DRM_FBDEV_OVERALLOC=300
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_DRM_I2C_ADV7511=m
-CONFIG_DRM_MESON=y
-CONFIG_FB_ARMCLCD=y
-# CONFIG_LCD_CLASS_DEVICE is not set
-# CONFIG_BACKLIGHT_GENERIC is not set
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_SOUND=y
-CONFIG_SND=y
-CONFIG_SND_SOC=y
-CONFIG_SND_SOC_MESON=y
-CONFIG_SND_SOC_MESON_I2S=y
-CONFIG_SND_SOC_MESON_SPDIF=y
-CONFIG_SND_SOC_AK4613=y
-CONFIG_SND_SOC_DIO2125=y
-CONFIG_SND_SOC_ES7134=y
-CONFIG_SND_SIMPLE_CARD=y
-CONFIG_HID_A4TECH=y
-CONFIG_HID_APPLE=y
-CONFIG_HID_BELKIN=y
-CONFIG_HID_CHERRY=y
-CONFIG_HID_CHICONY=y
-CONFIG_HID_CYPRESS=y
-CONFIG_HID_EZKEY=y
-CONFIG_HID_ITE=y
-CONFIG_HID_KENSINGTON=y
-CONFIG_HID_LOGITECH=y
-CONFIG_HID_MICROSOFT=y
-CONFIG_HID_MONTEREY=y
-CONFIG_HID_SONY=y
-CONFIG_SONY_FF=y
-CONFIG_USB=y
-CONFIG_USB_OTG=y
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-CONFIG_USB_STORAGE=y
-CONFIG_USB_DWC3=y
-CONFIG_USB_DWC2=y
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_UDC=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_ISP1760=y
-CONFIG_USB_HSIC_USB3503=y
-CONFIG_USB_ULPI=y
-CONFIG_USB_GADGET=y
-CONFIG_USB_SNP_UDC_PLAT=y
-CONFIG_MMC=y
-CONFIG_MMC_BLOCK_MINORS=32
-CONFIG_MMC_ARMMMCI=y
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_OF_ARASAN=y
-CONFIG_MMC_SDHCI_CADENCE=y
-CONFIG_MMC_MESON_GX=y
-CONFIG_MMC_MESON_MX_SDIO=y
-CONFIG_MMC_SPI=y
-CONFIG_MMC_DW=y
-CONFIG_MMC_DW_EXYNOS=y
-CONFIG_MMC_DW_K3=y
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_GPIO=y
-CONFIG_LEDS_SYSCON=y
-CONFIG_LEDS_TRIGGER_HEARTBEAT=y
-CONFIG_LEDS_TRIGGER_CPU=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_DRV_MAX77686=y
-CONFIG_RTC_DRV_RK808=m
-CONFIG_RTC_DRV_S5M=y
-CONFIG_RTC_DRV_DS3232=y
-CONFIG_RTC_DRV_PL031=y
-CONFIG_DMADEVICES=y
-CONFIG_PL330_DMA=y
-CONFIG_QCOM_HIDMA_MGMT=y
-CONFIG_QCOM_HIDMA=y
-CONFIG_VIRTIO_BALLOON=y
-CONFIG_VIRTIO_MMIO=y
-CONFIG_XEN_GNTDEV=y
-CONFIG_XEN_GRANT_DEV_ALLOC=y
-CONFIG_STAGING=y
-CONFIG_RTL8723BS=m
-CONFIG_R8712U=m
-CONFIG_R8188EU=m
-CONFIG_VT6656=m
-CONFIG_MTD_SPINAND_MT29F=m
-CONFIG_COMMON_CLK_VERSATILE=y
-CONFIG_CLK_SP810=y
-CONFIG_CLK_VEXPRESS_OSC=y
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCPI=y
-CONFIG_COMMON_CLK_CS2000_CP=y
-CONFIG_COMMON_CLK_S2MPS11=y
-CONFIG_CLK_QORIQ=y
-CONFIG_COMMON_CLK_PWM=y
-# CONFIG_HISILICON_ERRATUM_161010101 is not set
-# CONFIG_ARM64_ERRATUM_858921 is not set
-CONFIG_ARM_TIMER_SP804=y
-CONFIG_MAILBOX=y
-CONFIG_ARM_MHU=y
-CONFIG_PLATFORM_MHU=y
-# CONFIG_IOMMU_SUPPORT is not set
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_IIO=y
-CONFIG_PWM=y
-CONFIG_PWM_MESON=m
-CONFIG_PHY_XGENE=y
-CONFIG_PHY_SAMSUNG_USB2=y
-CONFIG_MESON_EFUSE=y
-CONFIG_MESON_MX_EFUSE=y
-CONFIG_TEE=y
-CONFIG_OPTEE=y
-CONFIG_ARM_SCPI_PROTOCOL=y
-CONFIG_EXT2_FS=y
-CONFIG_EXT3_FS=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-CONFIG_JBD2_DEBUG=y
-CONFIG_REISERFS_FS=y
-CONFIG_JFS_FS=y
-CONFIG_JFS_POSIX_ACL=y
-CONFIG_JFS_SECURITY=y
-CONFIG_JFS_STATISTICS=y
-CONFIG_XFS_FS=m
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_RT=y
-CONFIG_GFS2_FS=m
-CONFIG_OCFS2_FS=m
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-CONFIG_NILFS2_FS=m
-CONFIG_F2FS_FS=y
-CONFIG_F2FS_FS_SECURITY=y
-CONFIG_F2FS_CHECK_FS=y
-CONFIG_F2FS_FS_ENCRYPTION=y
-CONFIG_FANOTIFY=y
-CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
-CONFIG_QFMT_V1=m
-CONFIG_QFMT_V2=m
-CONFIG_AUTOFS4_FS=y
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_OVERLAY_FS=m
-CONFIG_FSCACHE=y
-CONFIG_FSCACHE_STATS=y
-CONFIG_FSCACHE_HISTOGRAM=y
-CONFIG_CACHEFILES=y
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-CONFIG_MSDOS_FS=y
-CONFIG_VFAT_FS=y
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-CONFIG_FAT_DEFAULT_UTF8=y
-CONFIG_NTFS_FS=m
-CONFIG_NTFS_RW=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_HUGETLBFS=y
-CONFIG_CONFIGFS_FS=y
-CONFIG_ECRYPT_FS=m
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-CONFIG_JFFS2_FS=m
-CONFIG_JFFS2_SUMMARY=y
-CONFIG_UBIFS_FS=m
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_LZ4=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-CONFIG_SQUASHFS_ZSTD=y
-CONFIG_PSTORE=y
-CONFIG_NFS_FS=y
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=y
-CONFIG_NFS_SWAP=y
-CONFIG_NFS_V4_1=y
-CONFIG_NFS_V4_2=y
-CONFIG_NFS_V4_1_MIGRATION=y
-CONFIG_ROOT_NFS=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-CONFIG_NFSD_BLOCKLAYOUT=y
-CONFIG_NFSD_SCSILAYOUT=y
-CONFIG_NFSD_FLEXFILELAYOUT=y
-CONFIG_CIFS=m
-CONFIG_CIFS_WEAK_PW_HASH=y
-CONFIG_CIFS_UPCALL=y
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-CONFIG_CIFS_ACL=y
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_FSCACHE=y
-CONFIG_9P_FS=m
-CONFIG_9P_FS_POSIX_ACL=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=y
-CONFIG_NLS_CODEPAGE_737=m
-CONFIG_NLS_CODEPAGE_775=m
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-CONFIG_NLS_CODEPAGE_857=m
-CONFIG_NLS_CODEPAGE_860=m
-CONFIG_NLS_CODEPAGE_861=m
-CONFIG_NLS_CODEPAGE_862=m
-CONFIG_NLS_CODEPAGE_863=m
-CONFIG_NLS_CODEPAGE_864=m
-CONFIG_NLS_CODEPAGE_865=m
-CONFIG_NLS_CODEPAGE_866=m
-CONFIG_NLS_CODEPAGE_869=m
-CONFIG_NLS_CODEPAGE_936=m
-CONFIG_NLS_CODEPAGE_950=m
-CONFIG_NLS_CODEPAGE_932=m
-CONFIG_NLS_CODEPAGE_949=m
-CONFIG_NLS_CODEPAGE_874=m
-CONFIG_NLS_ISO8859_8=m
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=y
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-CONFIG_NLS_ISO8859_3=m
-CONFIG_NLS_ISO8859_4=m
-CONFIG_NLS_ISO8859_5=m
-CONFIG_NLS_ISO8859_6=m
-CONFIG_NLS_ISO8859_7=m
-CONFIG_NLS_ISO8859_9=m
-CONFIG_NLS_ISO8859_13=m
-CONFIG_NLS_ISO8859_14=m
-CONFIG_NLS_ISO8859_15=m
-CONFIG_NLS_KOI8_R=m
-CONFIG_NLS_KOI8_U=m
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=y
-CONFIG_VHOST_NET=m
-CONFIG_VHOST_CROSS_ENDIAN_LEGACY=y
-CONFIG_PRINTK_TIME=y
-CONFIG_DYNAMIC_DEBUG=y
-CONFIG_DEBUG_FS=y
-CONFIG_MAGIC_SYSRQ=y
-CONFIG_DETECT_HUNG_TASK=y
-# CONFIG_SCHED_DEBUG is not set
-# CONFIG_DEBUG_PREEMPT is not set
-# CONFIG_FTRACE is not set
-CONFIG_MEMTEST=y
-# CONFIG_STRICT_DEVMEM is not set
-CONFIG_SECURITY=y
-CONFIG_CRYPTO_ECHAINIV=y
-CONFIG_CRYPTO_LZ4=m
-CONFIG_CRYPTO_LZ4HC=m
-CONFIG_CRYPTO_ANSI_CPRNG=y
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA1_ARM64_CE=y
-CONFIG_CRYPTO_SHA2_ARM64_CE=y
-CONFIG_CRYPTO_GHASH_ARM64_CE=y
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=y
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=y
-CONFIG_CRYPTO_CHACHA20_NEON=y
-CONFIG_CRYPTO_AES_ARM64_BS=y
-CONFIG_CORDIC=m
diff --git a/testing/linux-amlogic/text_offset.patch b/testing/linux-amlogic/text_offset.patch
deleted file mode 100644
index fff476e6562..00000000000
--- a/testing/linux-amlogic/text_offset.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
-index 106039d..651d990 100644
---- a/arch/arm64/Makefile
-+++ b/arch/arm64/Makefile
-@@ -88,7 +88,7 @@ TEXT_OFFSET := $(shell awk "BEGIN {srand(); printf \"0x%06x\n\", \
- int(2 * 1024 * 1024 / (2 ^ $(CONFIG_ARM64_PAGE_SHIFT)) * \
- rand()) * (2 ^ $(CONFIG_ARM64_PAGE_SHIFT))}")
- else
--TEXT_OFFSET := 0x00080000
-+TEXT_OFFSET := 0x01080000
- endif
-
- # KASAN_SHADOW_OFFSET = VA_START + (1 << (VA_BITS - KASAN_SHADOW_SCALE_SHIFT))
-diff --git a/arch/arm64/kernel/head.S b/arch/arm64/kernel/head.S
-index b085306..68edc91 100644
---- a/arch/arm64/kernel/head.S
-+++ b/arch/arm64/kernel/head.S
-@@ -51,7 +51,7 @@
- #elif (PAGE_OFFSET & 0x1fffff) != 0
- #error PAGE_OFFSET must be at least 2MB aligned
- #elif TEXT_OFFSET > 0x1fffff
--#error TEXT_OFFSET must be less than 2MB
-+//#error TEXT_OFFSET must be less than 2MB
- #endif
-
- /*
diff --git a/testing/linux-apfs-rw-src/APKBUILD b/testing/linux-apfs-rw-src/APKBUILD
index eff37c6381b..07366d59d28 100644
--- a/testing/linux-apfs-rw-src/APKBUILD
+++ b/testing/linux-apfs-rw-src/APKBUILD
@@ -1,36 +1,33 @@
-# Maintainer: Dekedro <dekedro@tankers.xyz>
+# Maintainer: Dekedro <dekedro@protonmail.com>
pkgname=linux-apfs-rw-src
_modname=linux-apfs-rw
-pkgver=0_git20210823
-_commit=0b5ba5e5a953786615f9fe30e2d49ce24187b451
+pkgver=0.3.8
pkgrel=0
pkgdesc="APFS module for linux, with experimental write support (sources, AKMS)"
url="https://github.com/linux-apfs/linux-apfs-rw"
arch="noarch"
license="GPL-2.0-only"
options="!check" # no tests
-source="$_modname-$pkgver.tar.gz::https://github.com/linux-apfs/linux-apfs-rw/archive/$_commit.tar.gz
- modules-load.conf"
-builddir="$srcdir/$_modname-$_commit"
+source="$_modname-$pkgver.tar.gz::https://github.com/linux-apfs/linux-apfs-rw/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_modname-$pkgver"
prepare() {
default_prepare
- cat >AKMBUILD <<- EOF
- modname=$_modname
- modver=$pkgver-r$pkgrel
- built_modules='apfs.ko'
+ cat > AKMBUILD <<- EOF
+ modname=$_modname
+ modver=$pkgver-r$pkgrel
+ built_modules='apfs.ko'
EOF
+ printf '#define GIT_COMMIT\t"%s"\n' "$pkgver-alpine-r$pkgrel" > version.h
}
package() {
install -Dm644 -t "$pkgdir/usr/src/$_modname-$pkgver" -- *.c *.h \
Makefile AKMBUILD
- install -Dm644 "$srcdir"/modules-load.conf \
- "$pkgdir"/usr/lib/modules-load.d/$_modname.conf
+ cp -a lzfse "$pkgdir/usr/src/$_modname-$pkgver/"
}
sha512sums="
-b8999e68b4ff83808dfef46f4127ec58bbd0736ad001d11e905379b2e880878d22bad8607122064a3f2b455255ed4a7e6eb6a04b2c98ffdd700cfd3bea529827 linux-apfs-rw-0_git20210823.tar.gz
-d49b16b7d824cf9fa21461723827791b50035f521046718d1bbbf4ea3b60ecd12822e8e7adbb3dab9f946bfcd04217810c1358d7e194199e84fc6339cc1568a8 modules-load.conf
+09947f67827da4e3c6a8f4c3ba8de6ccceeee397fb8010771298a0207218d09ef47b9707125e8c29f78a2aa052f95e59f7f38d3a2e3864b4fb84ffb66ee6c575 linux-apfs-rw-0.3.8.tar.gz
"
diff --git a/testing/linux-apfs-rw-src/modules-load.conf b/testing/linux-apfs-rw-src/modules-load.conf
deleted file mode 100644
index 4caec4511d3..00000000000
--- a/testing/linux-apfs-rw-src/modules-load.conf
+++ /dev/null
@@ -1 +0,0 @@
-apfs
diff --git a/testing/linux-asahi/385ea7b5023486aba7919cec8b6b3f6a843a1013.patch b/testing/linux-asahi/385ea7b5023486aba7919cec8b6b3f6a843a1013.patch
new file mode 100644
index 00000000000..ffe87db0242
--- /dev/null
+++ b/testing/linux-asahi/385ea7b5023486aba7919cec8b6b3f6a843a1013.patch
@@ -0,0 +1,78 @@
+From 385ea7b5023486aba7919cec8b6b3f6a843a1013 Mon Sep 17 00:00:00 2001
+From: Hector Martin <marcan@marcan.st>
+Date: Fri, 15 Dec 2023 20:38:32 +0900
+Subject: [PATCH] READ COMMIT MESSAGE! macaudio: Enable first round of models
+
+Enables j313, j293, j493, j314, j414, j274, j375, j473, j474, j475
+
+*** WARNING FOR DISTRO PACKAGERS WANTING TO APPLY THIS: ***
+*** YOU ABSOLUTELY NEED THIS PATCH IN YOUR LSP-PLUGINS PACKAGE ***
+
+https://github.com/lsp-plugins/lsp-dsp-lib/pull/20
+
+Do NOT enable speakers without that patch, on any model. It can/will
+result in nasty noise that could damage them.
+
+Signed-off-by: Hector Martin <marcan@marcan.st>
+---
+ sound/soc/apple/macaudio.c | 20 ++++++++++++--------
+ 1 file changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/sound/soc/apple/macaudio.c b/sound/soc/apple/macaudio.c
+index f5b349057a67e1..d2ced87e88c0e1 100644
+--- a/sound/soc/apple/macaudio.c
++++ b/sound/soc/apple/macaudio.c
+@@ -1490,23 +1490,27 @@ struct macaudio_platform_cfg macaudio_j180_cfg = {
+ false, AMP_SN012776, SPKR_1W1T, false, 10, -20,
+ };
+ struct macaudio_platform_cfg macaudio_j274_cfg = {
+- false, AMP_TAS5770, SPKR_1W, false, 20, -20,
++ true, AMP_TAS5770, SPKR_1W, false, 20, -20,
+ };
+
+ struct macaudio_platform_cfg macaudio_j293_cfg = {
+- false, AMP_TAS5770, SPKR_2W, true, 15, -20,
++ true, AMP_TAS5770, SPKR_2W, true, 15, -20,
+ };
+
+ struct macaudio_platform_cfg macaudio_j313_cfg = {
+- false, AMP_TAS5770, SPKR_1W, true, 10, -20,
++ true, AMP_TAS5770, SPKR_1W, true, 10, -20,
+ };
+
+-struct macaudio_platform_cfg macaudio_j314_j316_cfg = {
++struct macaudio_platform_cfg macaudio_j314_cfg = {
++ true, AMP_SN012776, SPKR_2W1T, true, 15, -20,
++};
++
++struct macaudio_platform_cfg macaudio_j316_cfg = {
+ false, AMP_SN012776, SPKR_2W1T, true, 15, -20,
+ };
+
+ struct macaudio_platform_cfg macaudio_j37x_j47x_cfg = {
+- false, AMP_SN012776, SPKR_1W, false, 20, -20,
++ true, AMP_SN012776, SPKR_1W, false, 20, -20,
+ };
+
+ struct macaudio_platform_cfg macaudio_j413_cfg = {
+@@ -1522,7 +1526,7 @@ struct macaudio_platform_cfg macaudio_j45x_cfg = {
+ };
+
+ struct macaudio_platform_cfg macaudio_j493_cfg = {
+- false, AMP_SN012776, SPKR_2W, true, 15, -20,
++ true, AMP_SN012776, SPKR_2W, true, 15, -20,
+ };
+
+ struct macaudio_platform_cfg macaudio_fallback_cfg = {
+@@ -1558,9 +1562,9 @@ static const struct of_device_id macaudio_snd_device_id[] = {
+ /* j313 AID4 tas5770 10 2× 1W */
+ { .compatible = "apple,j313-macaudio", .data = &macaudio_j313_cfg },
+ /* j314 AID8 sn012776 15 2× 2W+1T */
+- { .compatible = "apple,j314-macaudio", .data = &macaudio_j314_j316_cfg },
++ { .compatible = "apple,j314-macaudio", .data = &macaudio_j314_cfg },
+ /* j316 AID9 sn012776 15 2× 2W+1T */
+- { .compatible = "apple,j316-macaudio", .data = &macaudio_j314_j316_cfg },
++ { .compatible = "apple,j316-macaudio", .data = &macaudio_j316_cfg },
+ /* j375 AID10 sn012776 15 1× 1W */
+ { .compatible = "apple,j375-macaudio", .data = &macaudio_j37x_j47x_cfg },
+ /* j413 AID13 sn012776 15 2× 1W+1T */
diff --git a/testing/linux-asahi/6a24102c06c95951ab992e2d41336cc6d4bfdf23.patch b/testing/linux-asahi/6a24102c06c95951ab992e2d41336cc6d4bfdf23.patch
new file mode 100644
index 00000000000..44d5b2dabfc
--- /dev/null
+++ b/testing/linux-asahi/6a24102c06c95951ab992e2d41336cc6d4bfdf23.patch
@@ -0,0 +1,47 @@
+From 6a24102c06c95951ab992e2d41336cc6d4bfdf23 Mon Sep 17 00:00:00 2001
+From: Hector Martin <marcan@marcan.st>
+Date: Fri, 15 Dec 2023 20:40:53 +0900
+Subject: [PATCH] READ COMMIT MESSAGE! macaudio: Enable second round of models
+
+Enables j316, j413, j415, j416
+
+*** WARNING FOR DISTRO PACKAGERS WANTING TO APPLY THIS: ***
+*** YOU ABSOLUTELY NEED THIS PATCH IN YOUR LSP-PLUGINS PACKAGE ***
+
+https://github.com/lsp-plugins/lsp-dsp-lib/pull/20
+
+Do NOT enable speakers without that patch, on any model. It can/will
+result in nasty noise that could damage them.
+
+Signed-off-by: Hector Martin <marcan@marcan.st>
+---
+ sound/soc/apple/macaudio.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/sound/soc/apple/macaudio.c b/sound/soc/apple/macaudio.c
+index d2ced87e88c0e1..f347f08b7ad01e 100644
+--- a/sound/soc/apple/macaudio.c
++++ b/sound/soc/apple/macaudio.c
+@@ -1506,7 +1506,7 @@ struct macaudio_platform_cfg macaudio_j314_cfg = {
+ };
+
+ struct macaudio_platform_cfg macaudio_j316_cfg = {
+- false, AMP_SN012776, SPKR_2W1T, true, 15, -20,
++ true, AMP_SN012776, SPKR_2W1T, true, 15, -20,
+ };
+
+ struct macaudio_platform_cfg macaudio_j37x_j47x_cfg = {
+@@ -1514,11 +1514,11 @@ struct macaudio_platform_cfg macaudio_j37x_j47x_cfg = {
+ };
+
+ struct macaudio_platform_cfg macaudio_j413_cfg = {
+- false, AMP_SN012776, SPKR_1W1T, true, 15, -20,
++ true, AMP_SN012776, SPKR_1W1T, true, 15, -20,
+ };
+
+ struct macaudio_platform_cfg macaudio_j415_cfg = {
+- false, AMP_SN012776, SPKR_2W1T, true, 15, -20,
++ true, AMP_SN012776, SPKR_2W1T, true, 15, -20,
+ };
+
+ struct macaudio_platform_cfg macaudio_j45x_cfg = {
diff --git a/testing/linux-asahi/APKBUILD b/testing/linux-asahi/APKBUILD
new file mode 100644
index 00000000000..2826dbc6962
--- /dev/null
+++ b/testing/linux-asahi/APKBUILD
@@ -0,0 +1,219 @@
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+
+_flavor=asahi
+pkgname=linux-${_flavor}
+pkgver=6.6_p15
+
+_rel=${pkgver#*_p}
+kver=${pkgver%_p*}
+kver=${kver//_/-}
+_asahiver=$kver-$_rel
+pkgdesc="Apple Silicon (M1 development kernel)"
+pkgrel=2
+url="https://www.kernel.org"
+depends="initramfs-generator speakersafetyd"
+_depends_dev="perl gmp-dev elfutils-dev flex bison"
+makedepends="$_depends_dev sed bc linux-headers installkernel
+ linux-firmware-any openssl-dev diffutils findutils
+ clang16-libclang
+ rust
+ rustfmt
+ rust-bindgen
+ rust-src
+ "
+options="!strip !check"
+_config=${config:-config-asahi.${CARCH}}
+subpackages="$pkgname-dev:_dev:$CBUILD_ARCH"
+source="linux-asahi-$_asahiver.tar.gz::https://github.com/AsahiLinux/linux/archive/refs/tags/asahi-$_asahiver.tar.gz
+ config-asahi.aarch64
+
+ 385ea7b5023486aba7919cec8b6b3f6a843a1013.patch
+ 6a24102c06c95951ab992e2d41336cc6d4bfdf23.patch
+ "
+
+builddir="$srcdir/linux-asahi-$_asahiver"
+arch="aarch64"
+license="GPL-2.0-only"
+
+unset _flavors
+for _i in $source; do
+ case $_i in
+ config-*.$CARCH)
+ _f=${_i%.$CARCH}
+ _f=${_f#config-}
+ _flavors="$_flavors ${_f}"
+ if [ "linux-$_f" != "$pkgname" ]; then
+ subpackages="$subpackages linux-${_f}::$CBUILD_ARCH linux-${_f}-dev:_dev:$CBUILD_ARCH"
+ fi
+ ;;
+ esac
+done
+
+_carch=${CARCH}
+case "$_carch" in
+aarch64*) _carch="arm64" ;;
+arm*) _carch="arm" ;;
+esac
+
+prepare() {
+ default_prepare
+ rm "$builddir"/localversion*
+ echo "-$_rel-asahi" > "$builddir"/localversion-alpine
+ oldconfig
+}
+
+oldconfig() {
+ for i in $_flavors; do
+ local _config=config-$i.${CARCH}
+ local _builddir="$srcdir"/build-$i
+ mkdir -p "$_builddir"
+
+ cp "$srcdir"/$_config "$_builddir"/.config
+ make -C $builddir \
+ O="$_builddir" \
+ ARCH="$_carch" \
+ listnewconfig oldconfig
+ done
+}
+
+build() {
+ unset LDFLAGS
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+ for i in $_flavors; do
+ local _builddir="$srcdir"/build-$i
+ make -C "$srcdir"/build-$i \
+ ARCH="$_carch" CC="${CC:-gcc}" \
+ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
+ done
+}
+
+_package() {
+ local _buildflavor="$1" _outdir="$2"
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+
+ cd "$srcdir"/build-$_buildflavor
+ local _abi_release="$(make -s kernelrelease)"
+
+ mkdir -p "$_outdir"/boot "$_outdir"/lib/modules
+
+ make -j1 modules_install zinstall dtbs_install \
+ ARCH="$_carch" \
+ INSTALL_MOD_PATH="$_outdir" \
+ INSTALL_MOD_STRIP=1 \
+ INSTALL_PATH="$_outdir"/boot \
+ INSTALL_DTBS_PATH="$_outdir/boot/dtbs-$_buildflavor"
+
+ rm -f -- "$_outdir"/lib/modules/${_abi_release}/build \
+ "$_outdir"/lib/modules/${_abi_release}/source
+ rm -rf -- "$_outdir"/lib/firmware
+
+ install -D -m644 include/config/kernel.release \
+ "$_outdir"/usr/share/kernel/$_buildflavor/kernel.release
+}
+
+# main flavor installs in $pkgdir
+package() {
+ depends="$depends linux-firmware-any"
+
+ _package asahi "$pkgdir"
+}
+
+_dev() {
+ local _flavor=$(echo $subpkgname | sed -E 's/(^linux-|-dev$)//g')
+ local O="$srcdir/build-$_flavor"
+ local _abi_release="$(make -C "$O" -s kernelrelease)"
+ # copy the only the parts that we really need for build 3rd party
+ # kernel modules and install those as /usr/src/linux-headers,
+ # simlar to what ubuntu does
+ #
+ # this way you dont need to install the 300-400 kernel sources to
+ # build a tiny kernel module
+ #
+ pkgdesc="Headers and script for third party modules for $_flavor kernel"
+ depends="$_depends_dev"
+ local dir="$subpkgdir"/usr/src/linux-headers-${_abi_release}
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+
+ # kernel sources
+ cd "$builddir"
+
+ msg "Installing build files"
+ install -Dt "$dir" -m644 Makefile localversion* \
+ "$O/.config" "$O/Module.symvers" "$O/System.map" \
+ "$O/vmlinux"
+ install -Dt "$dir"/kernel -m644 kernel/Makefile
+ cp -t "$dir" -a scripts "$O/scripts"
+
+ msg "Installing headers..."
+ cp -t "$dir" -a include "$O/include"
+
+ install -Dt "$dir/arch/$_carch" -m644 $builddir/arch/$_carch/Makefile
+ install -Dt "$dir/arch/$_carch/kernel" -m644 "$O"/arch/$_carch/kernel/asm-offsets.s
+ cp -t "$dir/arch/$_carch" -a arch/$_carch/include $O/arch/$_carch/include
+
+ install -Dt "$dir/drivers/md" -m644 drivers/md/*.h
+ install -Dt "$dir/net/mac80211" -m644 net/mac80211/*.h
+
+ # https://bugs.archlinux.org/task/13146
+ install -Dt "$dir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
+
+ # https://bugs.archlinux.org/task/20402
+ install -Dt "$dir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
+ install -Dt "$dir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
+ install -Dt "$dir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
+
+ # https://bugs.archlinux.org/task/71392
+ install -Dt "$dir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
+
+ msg "Installing KConfig files..."
+ find . -name 'Kconfig*' -exec install -Dm644 {} "$dir/{}" \;
+
+ msg "Removing unneeded architectures..."
+ local arch
+ for arch in "$dir"/arch/*/; do
+ case $(basename "$arch") in
+ $_carch) continue ;;
+ esac
+ echo " - Removing $(basename "$arch")"
+ rm -r "$arch"
+ done
+
+ msg "Removing documentation"
+ rm -r "$dir"/Documentation
+
+ msg "Removing broken symlinks..."
+ find -L "$dir" -type l -printf 'Removing %P\n' -delete
+
+ msg "Removing loose objects..."
+ find "$dir" -type f -name '*.o' -printf 'Removing %P\n' -delete
+
+ msg "Stripping build tools..."
+ local file
+ find "$dir" -type f -perm -u+x ! -name vmlinux -print0 | while read -rd '' file; do
+ case "$(file -bi "$file")" in
+ application/x-sharedlib\;*) # Libraries (.so)
+ strip -v $STRIP_SHARED "$file" ;;
+ application/x-archive\;*) # Libraries (.a)
+ strip -v $STRIP_STATIC "$file" ;;
+ application/x-executable\;*) # Binaries
+ strip -v $STRIP_BINARIES "$file" ;;
+ application/x-pie-executable\;*) # Relocatable binaries
+ strip -v $STRIP_SHARED "$file" ;;
+ esac
+ done
+
+ msg "Stripping vmlinux..."
+ strip -v $STRIP_STATIC "$dir/vmlinux"
+
+ msg "Adding symlink..."
+ mkdir -p "$subpkgdir"/lib/modules/${_abi_release}
+ ln -sf /usr/src/linux-headers-${_abi_release} \
+ "$subpkgdir"/lib/modules/${_abi_release}/build
+}
+
+sha512sums="
+b261e3813f1c0f5bae3a24e7ed0dce41470cfe2ee965ab0121d41793aa08f72d0d91be633f7ba0317f265a6e98a7a134cf86a29e7d48dbb58c5f5f7a3a13cc53 linux-asahi-6.6-15.tar.gz
+0ed687414c03c7ef83842b0bc1ff95ec4f2f73a7eb9b3ca28e0c3f78ad7f3f03cfcc5c1c216548d3f5ec2ff10f59314c44776418807959b04558632d7f683209 config-asahi.aarch64
+0ceb12811db6c517871bf741605055a2c970d045de582e37d8f05d8717e4b26f995f06d479be5c2e6c08a6eb6d00bd3cce6ed9ea8e416afb39c664cf571f480c 385ea7b5023486aba7919cec8b6b3f6a843a1013.patch
+ae7f79b79e695775ae81c2ef77b9009dfcee488e727fc2a543194a267c19dabf53f1d44bcc8bf8cfa3f388a84bf5658c1e0a8d291ec1005d668cfa5c7ee4fbb0 6a24102c06c95951ab992e2d41336cc6d4bfdf23.patch
+"
diff --git a/testing/linux-asahi/config-asahi.aarch64 b/testing/linux-asahi/config-asahi.aarch64
new file mode 100644
index 00000000000..48d9e9a14a6
--- /dev/null
+++ b/testing/linux-asahi/config-asahi.aarch64
@@ -0,0 +1,6762 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm64 6.6.0 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="gcc (Alpine 13.2.1_git20231014) 13.2.1 20231014"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=130201
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=24100
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=24100
+CONFIG_LLD_VERSION=0
+CONFIG_RUST_IS_AVAILABLE=y
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_CONSTRUCTORS=y
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="localhost"
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+CONFIG_WATCH_QUEUE=y
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_IRQ_IPI_MUX=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# CONFIG_GENERIC_IRQ_DEBUGFS is not set
+# end of IRQ subsystem
+
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+# CONFIG_NO_HZ_IDLE is not set
+CONFIG_NO_HZ_FULL=y
+CONFIG_CONTEXT_TRACKING_USER=y
+# CONFIG_CONTEXT_TRACKING_USER_FORCE is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+# CONFIG_BPF_JIT is not set
+CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PREEMPT is not set
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+CONFIG_PREEMPT_DYNAMIC=y
+# CONFIG_SCHED_CORE is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_VIRT_CPU_ACCOUNTING=y
+CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU_GENERIC=y
+CONFIG_TASKS_RCU=y
+CONFIG_TASKS_TRACE_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+CONFIG_RCU_NOCB_CPU=y
+CONFIG_RCU_NOCB_CPU_DEFAULT_ALL=y
+CONFIG_RCU_LAZY=y
+# end of RCU Subsystem
+
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+# CONFIG_PRINTK_INDEX is not set
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+CONFIG_UCLAMP_TASK=y
+CONFIG_UCLAMP_BUCKETS_COUNT=5
+# end of Scheduler features
+
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC11_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_SCHED_MM_CID=y
+# CONFIG_UCLAMP_TASK_GROUP is not set
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_RDMA=y
+CONFIG_CGROUP_FREEZER=y
+# CONFIG_CGROUP_HUGETLB is not set
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+# CONFIG_CGROUP_BPF is not set
+CONFIG_CGROUP_MISC=y
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_SCHED_AUTOGROUP=y
+# CONFIG_RELAY is not set
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+CONFIG_RD_XZ=y
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+CONFIG_RD_ZSTD=y
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+# CONFIG_EXPERT is not set
+CONFIG_MULTIUSER=y
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+CONFIG_CACHESTAT_SYSCALL=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+# CONFIG_PROFILING is not set
+CONFIG_RUST=y
+CONFIG_RUSTC_VERSION_TEXT="rustc 1.72.1 (d5c2e9c34 2023-09-13) (Alpine Linux 1.72.1-r0)"
+CONFIG_BINDGEN_VERSION_TEXT="bindgen 0.66.1"
+
+#
+# Kexec and crash features
+#
+# CONFIG_KEXEC is not set
+# CONFIG_KEXEC_FILE is not set
+# CONFIG_CRASH_DUMP is not set
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_ARM64=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_64BIT=y
+CONFIG_MMU=y
+CONFIG_ARM64_PAGE_SHIFT=14
+CONFIG_ARM64_CONT_PTE_SHIFT=7
+CONFIG_ARM64_CONT_PMD_SHIFT=5
+CONFIG_ARCH_MMAP_RND_BITS_MIN=16
+CONFIG_ARCH_MMAP_RND_BITS_MAX=31
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=9
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_SMP=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=4
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
+CONFIG_ARM64_ACTLR_STATE=y
+
+#
+# Platform selection
+#
+# CONFIG_ARCH_ACTIONS is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_ALPINE is not set
+CONFIG_ARCH_APPLE=y
+# CONFIG_ARCH_BCM is not set
+# CONFIG_ARCH_BERLIN is not set
+# CONFIG_ARCH_BITMAIN is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_SPARX5 is not set
+# CONFIG_ARCH_K3 is not set
+# CONFIG_ARCH_LG1K is not set
+# CONFIG_ARCH_HISI is not set
+# CONFIG_ARCH_KEEMBAY is not set
+# CONFIG_ARCH_MEDIATEK is not set
+# CONFIG_ARCH_MESON is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_NXP is not set
+# CONFIG_ARCH_MA35 is not set
+# CONFIG_ARCH_NPCM is not set
+# CONFIG_ARCH_QCOM is not set
+# CONFIG_ARCH_REALTEK is not set
+# CONFIG_ARCH_RENESAS is not set
+# CONFIG_ARCH_ROCKCHIP is not set
+# CONFIG_ARCH_SEATTLE is not set
+# CONFIG_ARCH_INTEL_SOCFPGA is not set
+# CONFIG_ARCH_STM32 is not set
+# CONFIG_ARCH_SYNQUACER is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_SPRD is not set
+# CONFIG_ARCH_THUNDER is not set
+# CONFIG_ARCH_THUNDER2 is not set
+# CONFIG_ARCH_UNIPHIER is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_VISCONTI is not set
+# CONFIG_ARCH_XGENE is not set
+# CONFIG_ARCH_ZYNQMP is not set
+# end of Platform selection
+
+#
+# Kernel Features
+#
+
+#
+# ARM errata workarounds via the alternatives framework
+#
+# CONFIG_AMPERE_ERRATUM_AC03_CPU_38 is not set
+# CONFIG_ARM64_ERRATUM_826319 is not set
+# CONFIG_ARM64_ERRATUM_827319 is not set
+# CONFIG_ARM64_ERRATUM_824069 is not set
+# CONFIG_ARM64_ERRATUM_819472 is not set
+# CONFIG_ARM64_ERRATUM_832075 is not set
+# CONFIG_ARM64_ERRATUM_834220 is not set
+# CONFIG_ARM64_ERRATUM_843419 is not set
+CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
+# CONFIG_ARM64_ERRATUM_1024718 is not set
+# CONFIG_ARM64_ERRATUM_1165522 is not set
+# CONFIG_ARM64_ERRATUM_1319367 is not set
+# CONFIG_ARM64_ERRATUM_1530923 is not set
+# CONFIG_ARM64_ERRATUM_2441007 is not set
+# CONFIG_ARM64_ERRATUM_1286807 is not set
+# CONFIG_ARM64_ERRATUM_1463225 is not set
+# CONFIG_ARM64_ERRATUM_1542419 is not set
+# CONFIG_ARM64_ERRATUM_1508412 is not set
+# CONFIG_ARM64_ERRATUM_2051678 is not set
+# CONFIG_ARM64_ERRATUM_2077057 is not set
+# CONFIG_ARM64_ERRATUM_2658417 is not set
+CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y
+CONFIG_ARM64_ERRATUM_2054223=y
+# CONFIG_ARM64_ERRATUM_2067961 is not set
+# CONFIG_ARM64_ERRATUM_2441009 is not set
+# CONFIG_ARM64_ERRATUM_2457168 is not set
+# CONFIG_ARM64_ERRATUM_2645198 is not set
+# CONFIG_ARM64_ERRATUM_2966298 is not set
+# CONFIG_CAVIUM_ERRATUM_22375 is not set
+# CONFIG_CAVIUM_ERRATUM_23154 is not set
+# CONFIG_CAVIUM_ERRATUM_27456 is not set
+# CONFIG_CAVIUM_ERRATUM_30115 is not set
+# CONFIG_CAVIUM_TX2_ERRATUM_219 is not set
+# CONFIG_FUJITSU_ERRATUM_010001 is not set
+# CONFIG_HISILICON_ERRATUM_161600802 is not set
+# CONFIG_QCOM_FALKOR_ERRATUM_1003 is not set
+# CONFIG_QCOM_FALKOR_ERRATUM_1009 is not set
+# CONFIG_QCOM_QDF2400_ERRATUM_0065 is not set
+# CONFIG_QCOM_FALKOR_ERRATUM_E1041 is not set
+# CONFIG_NVIDIA_CARMEL_CNP_ERRATUM is not set
+# CONFIG_ROCKCHIP_ERRATUM_3588001 is not set
+# CONFIG_SOCIONEXT_SYNQUACER_PREITS is not set
+# end of ARM errata workarounds via the alternatives framework
+
+# CONFIG_ARM64_4K_PAGES is not set
+CONFIG_ARM64_16K_PAGES=y
+# CONFIG_ARM64_64K_PAGES is not set
+# CONFIG_ARM64_VA_BITS_47 is not set
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_ARM64_VA_BITS=48
+CONFIG_ARM64_PA_BITS_48=y
+CONFIG_ARM64_PA_BITS=48
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SCHED_MC=y
+CONFIG_SCHED_CLUSTER=y
+CONFIG_SCHED_SMT=y
+CONFIG_NR_CPUS=16
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_NUMA is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+CONFIG_HZ_300=y
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=300
+CONFIG_SCHED_HRTICK=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
+CONFIG_ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_TRANS_TABLE=y
+# CONFIG_XEN is not set
+CONFIG_ARCH_FORCE_MAX_ORDER=11
+CONFIG_UNMAP_KERNEL_AT_EL0=y
+CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
+CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
+# CONFIG_ARM64_SW_TTBR0_PAN is not set
+CONFIG_ARM64_TAGGED_ADDR_ABI=y
+
+#
+# ARMv8.1 architectural features
+#
+CONFIG_ARM64_HW_AFDBM=y
+CONFIG_ARM64_PAN=y
+CONFIG_AS_HAS_LSE_ATOMICS=y
+CONFIG_ARM64_LSE_ATOMICS=y
+CONFIG_ARM64_USE_LSE_ATOMICS=y
+# end of ARMv8.1 architectural features
+
+#
+# ARMv8.2 architectural features
+#
+CONFIG_AS_HAS_ARMV8_2=y
+CONFIG_AS_HAS_SHA3=y
+# CONFIG_ARM64_PMEM is not set
+CONFIG_ARM64_RAS_EXTN=y
+CONFIG_ARM64_CNP=y
+# end of ARMv8.2 architectural features
+
+#
+# ARMv8.3 architectural features
+#
+CONFIG_ARM64_PTR_AUTH=y
+CONFIG_ARM64_PTR_AUTH_KERNEL=y
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
+CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
+CONFIG_AS_HAS_ARMV8_3=y
+CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
+CONFIG_AS_HAS_LDAPR=y
+# end of ARMv8.3 architectural features
+
+#
+# ARMv8.4 architectural features
+#
+CONFIG_ARM64_AMU_EXTN=y
+CONFIG_AS_HAS_ARMV8_4=y
+CONFIG_ARM64_TLB_RANGE=y
+# end of ARMv8.4 architectural features
+
+#
+# ARMv8.5 architectural features
+#
+CONFIG_AS_HAS_ARMV8_5=y
+CONFIG_ARM64_BTI=y
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
+CONFIG_ARM64_E0PD=y
+CONFIG_ARM64_AS_HAS_MTE=y
+CONFIG_ARM64_MTE=y
+# end of ARMv8.5 architectural features
+
+#
+# ARMv8.7 architectural features
+#
+CONFIG_ARM64_EPAN=y
+# end of ARMv8.7 architectural features
+
+CONFIG_ARM64_SVE=y
+CONFIG_ARM64_SME=y
+# CONFIG_ARM64_PSEUDO_NMI is not set
+CONFIG_ARM64_MEMORY_MODEL_CONTROL=y
+CONFIG_RELOCATABLE=y
+# CONFIG_RANDOMIZE_BASE is not set
+CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+# end of Kernel Features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE=""
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_DMI=y
+# end of Boot options
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_HIBERNATION_SNAPSHOT_DEV=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+CONFIG_WQ_POWER_EFFICIENT_DEFAULT=y
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+CONFIG_ENERGY_MODEL=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_CPU_IDLE_GOV_TEO=y
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+
+#
+# ARM CPU Idle Drivers
+#
+CONFIG_ARM_PSCI_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
+CONFIG_ARM_APPLE_CPUIDLE=y
+# end of ARM CPU Idle Drivers
+# end of CPU Idle
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+CONFIG_CPU_FREQ_STAT=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=m
+CONFIG_CPUFREQ_DT_PLATDEV=y
+CONFIG_ARM_APPLE_SOC_CPUFREQ=m
+CONFIG_ARM_SCMI_CPUFREQ=m
+# end of CPU Frequency scaling
+# end of CPU Power Management
+
+CONFIG_ARCH_SUPPORTS_ACPI=y
+# CONFIG_ACPI is not set
+CONFIG_IRQ_BYPASS_MANAGER=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQFD=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_DIRTY_RING=y
+CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
+CONFIG_NEED_KVM_DIRTY_RING_WITH_BITMAP=y
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_MMIO=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_KVM_VFIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
+CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+# CONFIG_NVHE_EL2_DEBUG is not set
+
+#
+# General architecture-dependent options
+#
+CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+# CONFIG_KPROBES is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_KEEPINITRD=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_RUST=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_GATHER_TABLE_FREE=y
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_ARCH_STACKLEAK=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
+# CONFIG_SHADOW_CALL_STACK is not set
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=16
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+# CONFIG_COMPAT_32BIT_TIME is not set
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET=y
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_HAVE_ARCH_COMPILER_H=y
+CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+# CONFIG_LOCK_EVENT_COUNTS is not set
+CONFIG_ARCH_HAS_RELR=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
+
+#
+# GCOV-based kernel profiling
+#
+# CONFIG_GCOV_KERNEL is not set
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGINS is not set
+CONFIG_FUNCTION_ALIGNMENT_4B=y
+CONFIG_FUNCTION_ALIGNMENT=4
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+# CONFIG_MODULE_DEBUG is not set
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_MODULE_SIG is not set
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_CGROUP_IOCOST is not set
+# CONFIG_BLK_CGROUP_IOPRIO is not set
+CONFIG_BLK_DEBUG_FS=y
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=m
+CONFIG_MQ_IOSCHED_KYBER=m
+CONFIG_IOSCHED_BFQ=m
+CONFIG_BFQ_GROUP_IOSCHED=y
+# CONFIG_BFQ_CGROUP_DEBUG is not set
+# end of IO Schedulers
+
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_STATE=y
+CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y
+CONFIG_ARCH_HAVE_ELF_PROT=y
+CONFIG_ARCH_USE_GNU_PROPERTY=y
+CONFIG_ELFCORE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_ZPOOL=y
+CONFIG_SWAP=y
+CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_DEFAULT_ON is not set
+# CONFIG_ZSWAP_EXCLUSIVE_LOADS_DEFAULT_ON is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
+CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
+CONFIG_ZBUD=y
+CONFIG_Z3FOLD=y
+CONFIG_ZSMALLOC=y
+# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_ZSMALLOC_CHAIN_SIZE=8
+
+#
+# SLAB allocator options
+#
+# CONFIG_SLAB_DEPRECATED is not set
+CONFIG_SLUB=y
+# CONFIG_SLAB_MERGE_DEFAULT is not set
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_SLUB_CPU_PARTIAL is not set
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of SLAB allocator options
+
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_FAST_GUP=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+# CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
+CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+# CONFIG_CMA is not set
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
+CONFIG_ARCH_USES_PG_ARCH_X=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_PERCPU_STATS is not set
+# CONFIG_GUP_TEST is not set
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+CONFIG_LRU_GEN=y
+# CONFIG_LRU_GEN_ENABLED is not set
+# CONFIG_LRU_GEN_STATS is not set
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CONFIG_PER_VMA_LOCK=y
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
+# end of Memory Management options
+
+CONFIG_NET=y
+CONFIG_NET_INGRESS=y
+CONFIG_NET_EGRESS=y
+CONFIG_NET_XGRESS=y
+CONFIG_NET_REDIRECT=y
+CONFIG_SKB_EXTENSIONS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
+CONFIG_UNIX_DIAG=m
+CONFIG_TLS=m
+# CONFIG_TLS_DEVICE is not set
+# CONFIG_TLS_TOE is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+CONFIG_XFRM_INTERFACE=m
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_AH=m
+CONFIG_XFRM_ESP=m
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+# CONFIG_XDP_SOCKETS is not set
+CONFIG_NET_HANDSHAKE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE_COMMON=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+# CONFIG_IP_PIMSM_V1 is not set
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_NET_UDP_TUNNEL=m
+CONFIG_NET_FOU=m
+CONFIG_NET_FOU_IP_TUNNELS=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+# CONFIG_INET_ESP_OFFLOAD is not set
+# CONFIG_INET_ESPINTCP is not set
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TABLE_PERTURB_ORDER=16
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_INET_RAW_DIAG is not set
+# CONFIG_INET_DIAG_DESTROY is not set
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_NV=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_TCP_CONG_DCTCP=m
+CONFIG_TCP_CONG_CDG=m
+CONFIG_TCP_CONG_BBR=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=m
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+# CONFIG_INET6_ESP_OFFLOAD is not set
+# CONFIG_INET6_ESPINTCP is not set
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_VTI=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_FOU=m
+CONFIG_IPV6_FOU_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
+# CONFIG_IPV6_SEG6_LWTUNNEL is not set
+# CONFIG_IPV6_SEG6_HMAC is not set
+# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
+# CONFIG_NETLABEL is not set
+CONFIG_MPTCP=y
+CONFIG_INET_MPTCP_DIAG=m
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NET_PTP_CLASSIFY=y
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=m
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_SKIP_EGRESS=y
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
+CONFIG_NETFILTER_BPF_LINK=y
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NETFILTER_NETLINK_OSF=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_SYSLOG=m
+CONFIG_NETFILTER_CONNCOUNT=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CONNTRACK_OVS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_GRE=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
+CONFIG_NF_NAT_OVS=y
+CONFIG_NETFILTER_SYNPROXY=m
+CONFIG_NF_TABLES=m
+CONFIG_NF_TABLES_INET=y
+CONFIG_NF_TABLES_NETDEV=y
+CONFIG_NFT_NUMGEN=m
+CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
+CONFIG_NFT_CONNLIMIT=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_TUNNEL=m
+CONFIG_NFT_QUEUE=m
+CONFIG_NFT_QUOTA=m
+CONFIG_NFT_REJECT=m
+CONFIG_NFT_REJECT_INET=m
+CONFIG_NFT_COMPAT=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_FIB=m
+CONFIG_NFT_FIB_INET=m
+CONFIG_NFT_XFRM=m
+CONFIG_NFT_SOCKET=m
+CONFIG_NFT_OSF=m
+CONFIG_NFT_TPROXY=m
+CONFIG_NFT_SYNPROXY=m
+CONFIG_NF_DUP_NETDEV=m
+CONFIG_NFT_DUP_NETDEV=m
+CONFIG_NFT_FWD_NETDEV=m
+CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_REJECT_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
+# CONFIG_NF_FLOW_TABLE_PROCFS is not set
+CONFIG_NETFILTER_XTABLES=m
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_NAT=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+# CONFIG_NETFILTER_XT_MATCH_BPF is not set
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_L2TP=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+# end of Core Netfilter Configuration
+
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPMARK=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_IPMAC=m
+CONFIG_IP_SET_HASH_MAC=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_IPV6=y
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_MH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+CONFIG_IP_VS_TWOS=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS MH scheduler
+#
+CONFIG_IP_VS_MH_TAB_INDEX=12
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_SOCKET_IPV4=m
+CONFIG_NF_TPROXY_IPV4=m
+CONFIG_NF_TABLES_IPV4=y
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
+CONFIG_NFT_FIB_IPV4=m
+CONFIG_NF_TABLES_ARP=y
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_SYNPROXY=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+# CONFIG_IP_NF_SECURITY is not set
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+# end of IP: Netfilter Configuration
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_SOCKET_IPV6=m
+CONFIG_NF_TPROXY_IPV6=m
+CONFIG_NF_TABLES_IPV6=y
+CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
+CONFIG_NF_LOG_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_TARGET_SYNPROXY=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+# CONFIG_IP6_NF_SECURITY is not set
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+# end of IPv6: Netfilter Configuration
+
+CONFIG_NF_DEFRAG_IPV6=m
+# CONFIG_NF_TABLES_BRIDGE is not set
+# CONFIG_NF_CONNTRACK_BRIDGE is not set
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+# CONFIG_BPFILTER is not set
+# CONFIG_IP_DCCP is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_INET_SCTP_DIAG=m
+CONFIG_RDS=m
+# CONFIG_RDS_TCP is not set
+# CONFIG_RDS_DEBUG is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+# CONFIG_L2TP is not set
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+# CONFIG_BRIDGE_MRP is not set
+# CONFIG_BRIDGE_CFM is not set
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_CBS=m
+CONFIG_NET_SCH_ETF=m
+CONFIG_NET_SCH_MQPRIO_LIB=m
+# CONFIG_NET_SCH_TAPRIO is not set
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_SKBPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_CAKE=m
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_HHF=m
+CONFIG_NET_SCH_PIE=m
+CONFIG_NET_SCH_FQ_PIE=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+CONFIG_NET_SCH_ETS=m
+# CONFIG_NET_SCH_DEFAULT is not set
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_FLOW=m
+# CONFIG_NET_CLS_CGROUP is not set
+# CONFIG_NET_CLS_BPF is not set
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_CLS_MATCHALL=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_EMATCH_IPT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+# CONFIG_NET_ACT_SAMPLE is not set
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_ACT_MPLS is not set
+CONFIG_NET_ACT_VLAN=m
+# CONFIG_NET_ACT_BPF is not set
+CONFIG_NET_ACT_CONNMARK=m
+# CONFIG_NET_ACT_CTINFO is not set
+CONFIG_NET_ACT_SKBMOD=m
+CONFIG_NET_ACT_IFE=m
+CONFIG_NET_ACT_TUNNEL_KEY=m
+# CONFIG_NET_ACT_CT is not set
+# CONFIG_NET_ACT_GATE is not set
+CONFIG_NET_IFE_SKBMARK=m
+CONFIG_NET_IFE_SKBPRIO=m
+CONFIG_NET_IFE_SKBTCINDEX=m
+# CONFIG_NET_TC_SKB_EXT is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=y
+CONFIG_BATMAN_ADV=m
+# CONFIG_BATMAN_ADV_BATMAN_V is not set
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+CONFIG_BATMAN_ADV_MCAST=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_OPENVSWITCH_GRE=m
+CONFIG_VSOCKETS=m
+CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
+CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO_VSOCKETS_COMMON=m
+CONFIG_NETLINK_DIAG=m
+CONFIG_MPLS=y
+CONFIG_NET_MPLS_GSO=m
+CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
+CONFIG_NET_NSH=m
+# CONFIG_HSR is not set
+CONFIG_NET_SWITCHDEV=y
+CONFIG_NET_L3_MASTER_DEV=y
+CONFIG_QRTR=m
+# CONFIG_QRTR_TUN is not set
+CONFIG_QRTR_MHI=m
+CONFIG_NET_NCSI=y
+# CONFIG_NCSI_OEM_CMD_GET_MAC is not set
+# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_MAX_SKB_FRAGS=17
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# end of Network testing
+# end of Networking options
+
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_YAM=m
+# end of AX.25 network device drivers
+
+# CONFIG_CAN is not set
+CONFIG_BT=m
+CONFIG_BT_BREDR=y
+# CONFIG_BT_RFCOMM is not set
+# CONFIG_BT_BNEP is not set
+CONFIG_BT_HIDP=m
+# CONFIG_BT_HS is not set
+# CONFIG_BT_LE is not set
+# CONFIG_BT_LEDS is not set
+# CONFIG_BT_MSFTEXT is not set
+# CONFIG_BT_AOSPEXT is not set
+# CONFIG_BT_DEBUGFS is not set
+# CONFIG_BT_FEATURE_DEBUG is not set
+
+#
+# Bluetooth device drivers
+#
+CONFIG_BT_INTEL=m
+CONFIG_BT_BCM=m
+CONFIG_BT_RTL=m
+CONFIG_BT_QCA=m
+CONFIG_BT_HCIBTUSB=m
+# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set
+CONFIG_BT_HCIBTUSB_POLL_SYNC=y
+CONFIG_BT_HCIBTUSB_BCM=y
+# CONFIG_BT_HCIBTUSB_MTK is not set
+CONFIG_BT_HCIBTUSB_RTL=y
+# CONFIG_BT_HCIBTSDIO is not set
+CONFIG_BT_HCIUART=m
+CONFIG_BT_HCIUART_SERDEV=y
+CONFIG_BT_HCIUART_H4=y
+# CONFIG_BT_HCIUART_NOKIA is not set
+# CONFIG_BT_HCIUART_BCSP is not set
+# CONFIG_BT_HCIUART_ATH3K is not set
+CONFIG_BT_HCIUART_LL=y
+# CONFIG_BT_HCIUART_3WIRE is not set
+# CONFIG_BT_HCIUART_INTEL is not set
+CONFIG_BT_HCIUART_BCM=y
+# CONFIG_BT_HCIUART_RTL is not set
+CONFIG_BT_HCIUART_QCA=y
+# CONFIG_BT_HCIUART_AG6XX is not set
+# CONFIG_BT_HCIUART_MRVL is not set
+# CONFIG_BT_HCIBCM203X is not set
+CONFIG_BT_HCIBCM4377=m
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+# CONFIG_BT_MRVL is not set
+# CONFIG_BT_ATH3K is not set
+# CONFIG_BT_MTKSDIO is not set
+# CONFIG_BT_MTKUART is not set
+# CONFIG_BT_VIRTIO is not set
+# CONFIG_BT_NXPUART is not set
+# end of Bluetooth device drivers
+
+# CONFIG_AF_RXRPC is not set
+CONFIG_AF_KCM=m
+CONFIG_STREAM_PARSER=y
+# CONFIG_MCTP is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+# CONFIG_CFG80211_DEBUGFS is not set
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_DEBUGFS is not set
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+CONFIG_NFC=m
+# CONFIG_NFC_DIGITAL is not set
+CONFIG_NFC_NCI=m
+# CONFIG_NFC_NCI_SPI is not set
+# CONFIG_NFC_NCI_UART is not set
+# CONFIG_NFC_HCI is not set
+
+#
+# Near Field Communication (NFC) devices
+#
+# CONFIG_NFC_VIRTUAL_NCI is not set
+# CONFIG_NFC_FDP is not set
+# CONFIG_NFC_PN533_USB is not set
+# CONFIG_NFC_PN533_I2C is not set
+# CONFIG_NFC_PN532_UART is not set
+# CONFIG_NFC_MRVL_USB is not set
+# CONFIG_NFC_ST_NCI_I2C is not set
+# CONFIG_NFC_ST_NCI_SPI is not set
+# CONFIG_NFC_NXP_NCI is not set
+CONFIG_NFC_S3FWRN5=m
+CONFIG_NFC_S3FWRN5_I2C=m
+# CONFIG_NFC_S3FWRN82_UART is not set
+# end of Near Field Communication (NFC) devices
+
+# CONFIG_PSAMPLE is not set
+CONFIG_NET_IFE=m
+CONFIG_LWTUNNEL=y
+CONFIG_LWTUNNEL_BPF=y
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_SOCK_MSG=y
+CONFIG_PAGE_POOL=y
+CONFIG_PAGE_POOL_STATS=y
+CONFIG_FAILOVER=y
+CONFIG_ETHTOOL_NETLINK=y
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEPORTBUS=y
+# CONFIG_HOTPLUG_PCI_PCIE is not set
+# CONFIG_PCIEAER is not set
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+# CONFIG_PCIE_PTM is not set
+CONFIG_PCI_MSI=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_PF_STUB is not set
+CONFIG_PCI_ATS=y
+CONFIG_PCI_ECAM=y
+CONFIG_PCI_IOV=y
+# CONFIG_PCI_PRI is not set
+CONFIG_PCI_PASID=y
+CONFIG_PCI_LABEL=y
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=4
+CONFIG_HOTPLUG_PCI=y
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+# CONFIG_HOTPLUG_PCI_SHPC is not set
+
+#
+# PCI controller drivers
+#
+# CONFIG_PCIE_ALTERA is not set
+CONFIG_PCIE_APPLE_MSI_DOORBELL_ADDR=0xfffff000
+CONFIG_PCIE_APPLE=y
+# CONFIG_PCI_HOST_THUNDER_PEM is not set
+# CONFIG_PCI_HOST_THUNDER_ECAM is not set
+# CONFIG_PCI_FTPCI100 is not set
+CONFIG_PCI_HOST_COMMON=y
+CONFIG_PCI_HOST_GENERIC=y
+# CONFIG_PCIE_MICROCHIP_HOST is not set
+# CONFIG_PCI_XGENE is not set
+# CONFIG_PCIE_XILINX is not set
+
+#
+# Cadence-based PCIe controllers
+#
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
+# CONFIG_PCIE_CADENCE_PLAT_EP is not set
+# CONFIG_PCI_J721E_HOST is not set
+# CONFIG_PCI_J721E_EP is not set
+# end of Cadence-based PCIe controllers
+
+#
+# DesignWare-based PCIe controllers
+#
+# CONFIG_PCIE_AL is not set
+# CONFIG_PCI_MESON is not set
+# CONFIG_PCI_HISI is not set
+# CONFIG_PCIE_KIRIN is not set
+# CONFIG_PCIE_DW_PLAT_HOST is not set
+# CONFIG_PCIE_DW_PLAT_EP is not set
+# end of DesignWare-based PCIe controllers
+
+#
+# Mobiveil-based PCIe controllers
+#
+# end of Mobiveil-based PCIe controllers
+# end of PCI controller drivers
+
+#
+# PCI Endpoint
+#
+CONFIG_PCI_ENDPOINT=y
+CONFIG_PCI_ENDPOINT_CONFIGFS=y
+CONFIG_PCI_EPF_TEST=m
+# CONFIG_PCI_EPF_NTB is not set
+# end of PCI Endpoint
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# end of PCI switch controller drivers
+
+# CONFIG_CXL_BUS is not set
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_DEVTMPFS_SAFE is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_FW_LOADER_COMPRESS is not set
+CONFIG_FW_CACHE=y
+# CONFIG_FW_UPLOAD is not set
+# end of Firmware loader
+
+CONFIG_WANT_DEV_COREDUMP=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_SPMI=y
+CONFIG_REGMAP_MMIO=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DMA_FENCE_TRACE is not set
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_BRCMSTB_GISB_ARB is not set
+# CONFIG_MOXTET is not set
+# CONFIG_VEXPRESS_CONFIG is not set
+CONFIG_MHI_BUS=m
+# CONFIG_MHI_BUS_DEBUG is not set
+# CONFIG_MHI_BUS_PCI_GENERIC is not set
+# CONFIG_MHI_BUS_EP is not set
+# end of Bus devices
+
+#
+# Cache Drivers
+#
+# end of Cache Drivers
+
+CONFIG_CONNECTOR=m
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+CONFIG_ARM_SCMI_PROTOCOL=y
+# CONFIG_ARM_SCMI_RAW_MODE_SUPPORT is not set
+CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
+CONFIG_ARM_SCMI_HAVE_SHMEM=y
+CONFIG_ARM_SCMI_TRANSPORT_SMC=y
+# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set
+# CONFIG_ARM_SCMI_TRANSPORT_VIRTIO is not set
+CONFIG_ARM_SCMI_POWER_DOMAIN=y
+# CONFIG_ARM_SCMI_POWER_CONTROL is not set
+# end of ARM System Control and Management Interface Protocol
+
+CONFIG_DMIID=y
+# CONFIG_DMI_SYSFS is not set
+# CONFIG_FW_CFG_SYSFS is not set
+# CONFIG_SYSFB_SIMPLEFB is not set
+# CONFIG_ARM_FFA_TRANSPORT is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=y
+# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB=y
+# CONFIG_EFI_ZBOOT is not set
+CONFIG_EFI_ARMSTUB_DTB_LOADER=y
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+CONFIG_EFI_CAPSULE_LOADER=y
+# CONFIG_EFI_TEST is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_EARLYCON=y
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+CONFIG_ARM_PSCI_FW=y
+# CONFIG_ARM_PSCI_CHECKER is not set
+CONFIG_HAVE_ARM_SMCCC=y
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
+CONFIG_ARM_SMCCC_SOC_ID=y
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
+# CONFIG_GNSS is not set
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+# CONFIG_OF_OVERLAY is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+CONFIG_CDROM=m
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+# CONFIG_ZRAM is not set
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=8
+# CONFIG_BLK_DEV_DRBD is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_UBLK is not set
+
+#
+# NVME Support
+#
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=m
+# CONFIG_NVME_MULTIPATH is not set
+# CONFIG_NVME_VERBOSE_ERRORS is not set
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_AUTH is not set
+CONFIG_NVME_APPLE=y
+# CONFIG_NVME_TARGET is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HI6421V600_IRQ is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+CONFIG_SRAM=y
+# CONFIG_DW_XDATA_PCIE is not set
+CONFIG_PCI_ENDPOINT_TEST=m
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_HISI_HIKEY_USB is not set
+# CONFIG_OPEN_DICE is not set
+# CONFIG_VCPU_STALL_DETECTOR is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=m
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+CONFIG_EEPROM_93CX6=m
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_VMWARE_VMCI is not set
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_BCM_VK is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_UACCE is not set
+# CONFIG_PVPANIC is not set
+# CONFIG_GP_PCI1XXXX is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+# CONFIG_SCSI_PROC_FS is not set
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+CONFIG_BLK_DEV_SR=m
+CONFIG_CHR_DEV_SG=m
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# end of SCSI Transports
+
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_MPT3SAS is not set
+# CONFIG_SCSI_MPT2SAS is not set
+# CONFIG_SCSI_MPI3MR is not set
+# CONFIG_SCSI_SMARTPQI is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_MYRB is not set
+# CONFIG_SCSI_MYRS is not set
+# CONFIG_SCSI_SNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FDOMAIN_PCI is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_WD719X is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+# CONFIG_SCSI_VIRTIO is not set
+# CONFIG_SCSI_DH is not set
+# end of SCSI device support
+
+# CONFIG_ATA is not set
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+# CONFIG_MD_BITMAP_FILE is not set
+# CONFIG_MD_LINEAR is not set
+# CONFIG_MD_RAID0 is not set
+# CONFIG_MD_RAID1 is not set
+# CONFIG_MD_RAID10 is not set
+# CONFIG_MD_RAID456 is not set
+# CONFIG_MD_MULTIPATH is not set
+# CONFIG_MD_FAULTY is not set
+# CONFIG_MD_CLUSTER is not set
+# CONFIG_BCACHE is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+# CONFIG_DM_UNSTRIPED is not set
+CONFIG_DM_CRYPT=m
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_THIN_PROVISIONING is not set
+# CONFIG_DM_CACHE is not set
+# CONFIG_DM_WRITECACHE is not set
+# CONFIG_DM_EBS is not set
+# CONFIG_DM_ERA is not set
+# CONFIG_DM_CLONE is not set
+CONFIG_DM_MIRROR=m
+# CONFIG_DM_LOG_USERSPACE is not set
+# CONFIG_DM_RAID is not set
+CONFIG_DM_ZERO=m
+# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_DUST is not set
+# CONFIG_DM_UEVENT is not set
+# CONFIG_DM_FLAKEY is not set
+# CONFIG_DM_VERITY is not set
+# CONFIG_DM_SWITCH is not set
+# CONFIG_DM_LOG_WRITES is not set
+# CONFIG_DM_INTEGRITY is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# end of IEEE 1394 (FireWire) support
+
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_WIREGUARD=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_IFB=m
+# CONFIG_NET_TEAM is not set
+CONFIG_MACVLAN=m
+CONFIG_MACVTAP=m
+CONFIG_IPVLAN_L3S=y
+CONFIG_IPVLAN=m
+CONFIG_IPVTAP=m
+# CONFIG_VXLAN is not set
+# CONFIG_GENEVE is not set
+CONFIG_BAREUDP=m
+CONFIG_GTP=m
+# CONFIG_AMT is not set
+CONFIG_MACSEC=m
+# CONFIG_NETCONSOLE is not set
+CONFIG_TUN=m
+CONFIG_TAP=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_NLMON=m
+CONFIG_NET_VRF=m
+# CONFIG_MHI_NET is not set
+# CONFIG_ARCNET is not set
+CONFIG_ETHERNET=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
+# CONFIG_NET_VENDOR_ALACRITECH is not set
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_ALTERA_TSE is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+CONFIG_NET_VENDOR_AQUANTIA=y
+CONFIG_AQTION=m
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_ASIX is not set
+# CONFIG_NET_VENDOR_ATHEROS is not set
+CONFIG_NET_VENDOR_BROADCOM=y
+# CONFIG_B44 is not set
+# CONFIG_BCMGENET is not set
+# CONFIG_BNX2 is not set
+# CONFIG_CNIC is not set
+CONFIG_TIGON3=m
+CONFIG_TIGON3_HWMON=y
+# CONFIG_BNX2X is not set
+# CONFIG_SYSTEMPORT is not set
+# CONFIG_BNXT is not set
+# CONFIG_NET_VENDOR_CADENCE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
+# CONFIG_NET_VENDOR_DAVICOM is not set
+# CONFIG_DNET is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_ENGLEDER is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+# CONFIG_NET_VENDOR_FUNGIBLE is not set
+# CONFIG_NET_VENDOR_GOOGLE is not set
+# CONFIG_NET_VENDOR_HISILICON is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_JME is not set
+# CONFIG_NET_VENDOR_ADI is not set
+# CONFIG_NET_VENDOR_LITEX is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_MICROSEMI is not set
+# CONFIG_NET_VENDOR_MICROSOFT is not set
+# CONFIG_NET_VENDOR_MYRI is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NET_VENDOR_NI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NETERION is not set
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_ETHOC is not set
+# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
+# CONFIG_NET_VENDOR_PENSANDO is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_RDC is not set
+# CONFIG_NET_VENDOR_REALTEK is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
+# CONFIG_NET_VENDOR_STMICRO is not set
+# CONFIG_NET_VENDOR_SUN is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
+# CONFIG_NET_VENDOR_VERTEXCOM is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WANGXUN is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_NET_VENDOR_XILINX is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLINK=m
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+# CONFIG_LED_TRIGGER_PHY is not set
+CONFIG_PHYLIB_LEDS=y
+CONFIG_FIXED_PHY=y
+# CONFIG_SFP is not set
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AMD_PHY is not set
+# CONFIG_ADIN_PHY is not set
+# CONFIG_ADIN1100_PHY is not set
+CONFIG_AQUANTIA_PHY=m
+CONFIG_AX88796B_PHY=m
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM54140_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM84881_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
+# CONFIG_MARVELL_88X2222_PHY is not set
+# CONFIG_MAXLINEAR_GPHY is not set
+# CONFIG_MEDIATEK_GE_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_MICROCHIP_T1S_PHY is not set
+CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_T1_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+# CONFIG_MOTORCOMM_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_NXP_CBTX_PHY is not set
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
+# CONFIG_NXP_TJA11XX_PHY is not set
+# CONFIG_NCN26000_PHY is not set
+# CONFIG_AT803X_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+CONFIG_REALTEK_PHY=m
+# CONFIG_RENESAS_PHY is not set
+# CONFIG_ROCKCHIP_PHY is not set
+CONFIG_SMSC_PHY=m
+# CONFIG_STE10XP is not set
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+# CONFIG_DP83869_PHY is not set
+# CONFIG_DP83TD510_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PSE_CONTROLLER is not set
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_MDIO_BITBANG=m
+# CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_MDIO_GPIO is not set
+# CONFIG_MDIO_HISI_FEMAC is not set
+# CONFIG_MDIO_MVUSB is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_IPQ4019 is not set
+# CONFIG_MDIO_IPQ8064 is not set
+# CONFIG_MDIO_THUNDER is not set
+
+#
+# MDIO Multiplexers
+#
+CONFIG_MDIO_BUS_MUX=m
+CONFIG_MDIO_BUS_MUX_GPIO=m
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
+CONFIG_MDIO_BUS_MUX_MMIOREG=m
+
+#
+# PCS device drivers
+#
+# end of PCS device drivers
+
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOE=m
+# CONFIG_PPPOE_HASH_BITS_1 is not set
+# CONFIG_PPPOE_HASH_BITS_2 is not set
+CONFIG_PPPOE_HASH_BITS_4=y
+# CONFIG_PPPOE_HASH_BITS_8 is not set
+CONFIG_PPPOE_HASH_BITS=4
+CONFIG_PPTP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+# CONFIG_SLIP is not set
+CONFIG_SLHC=m
+CONFIG_USB_NET_DRIVERS=m
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+# CONFIG_USB_NET_CDC_EEM is not set
+CONFIG_USB_NET_CDC_NCM=m
+# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set
+# CONFIG_USB_NET_CDC_MBIM is not set
+CONFIG_USB_NET_DM9601=m
+# CONFIG_USB_NET_SR9700 is not set
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+# CONFIG_USB_NET_GL620A is not set
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+# CONFIG_USB_ALI_M5632 is not set
+# CONFIG_USB_AN2720 is not set
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+# CONFIG_USB_EPSON2888 is not set
+# CONFIG_USB_KC2190 is not set
+# CONFIG_USB_NET_ZAURUS is not set
+# CONFIG_USB_NET_CX82310_ETH is not set
+# CONFIG_USB_NET_KALMIA is not set
+# CONFIG_USB_NET_QMI_WWAN is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_NET_INT51X1 is not set
+CONFIG_USB_IPHETH=m
+# CONFIG_USB_SIERRA_NET is not set
+# CONFIG_USB_VL600 is not set
+# CONFIG_USB_NET_CH9200 is not set
+# CONFIG_USB_NET_AQC111 is not set
+CONFIG_USB_RTL8153_ECM=m
+CONFIG_WLAN=y
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+CONFIG_ATH_COMMON=m
+CONFIG_WLAN_VENDOR_ATH=y
+# CONFIG_ATH_DEBUG is not set
+CONFIG_ATH5K=m
+# CONFIG_ATH5K_DEBUG is not set
+CONFIG_ATH5K_PCI=y
+CONFIG_ATH9K_HW=m
+CONFIG_ATH9K_COMMON=m
+CONFIG_ATH9K_BTCOEX_SUPPORT=y
+CONFIG_ATH9K=m
+# CONFIG_ATH9K_PCI is not set
+CONFIG_ATH9K_AHB=y
+# CONFIG_ATH9K_DEBUGFS is not set
+# CONFIG_ATH9K_DYNACK is not set
+# CONFIG_ATH9K_WOW is not set
+CONFIG_ATH9K_RFKILL=y
+# CONFIG_ATH9K_CHANNEL_CONTEXT is not set
+CONFIG_ATH9K_PCOEM=y
+CONFIG_ATH9K_HTC=m
+# CONFIG_ATH9K_HTC_DEBUGFS is not set
+# CONFIG_ATH9K_HWRNG is not set
+CONFIG_CARL9170=m
+CONFIG_CARL9170_LEDS=y
+CONFIG_CARL9170_WPC=y
+CONFIG_CARL9170_HWRNG=y
+CONFIG_ATH6KL=m
+CONFIG_ATH6KL_SDIO=m
+CONFIG_ATH6KL_USB=m
+CONFIG_ATH6KL_DEBUG=y
+CONFIG_AR5523=m
+CONFIG_WIL6210=m
+CONFIG_WIL6210_ISR_COR=y
+CONFIG_WIL6210_DEBUGFS=y
+CONFIG_ATH10K=m
+CONFIG_ATH10K_CE=y
+CONFIG_ATH10K_PCI=m
+# CONFIG_ATH10K_AHB is not set
+# CONFIG_ATH10K_SDIO is not set
+# CONFIG_ATH10K_USB is not set
+# CONFIG_ATH10K_DEBUG is not set
+# CONFIG_ATH10K_DEBUGFS is not set
+CONFIG_WCN36XX=m
+# CONFIG_WCN36XX_DEBUGFS is not set
+CONFIG_ATH11K=m
+CONFIG_ATH11K_PCI=m
+# CONFIG_ATH11K_DEBUG is not set
+# CONFIG_ATH12K is not set
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+CONFIG_WLAN_VENDOR_BROADCOM=y
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_BRCMUTIL=m
+# CONFIG_BRCMSMAC is not set
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_PROTO_MSGBUF=y
+# CONFIG_BRCMFMAC_SDIO is not set
+CONFIG_BRCMFMAC_USB=y
+CONFIG_BRCMFMAC_PCIE=y
+# CONFIG_BRCM_TRACING is not set
+# CONFIG_BRCMDBG is not set
+# CONFIG_WLAN_VENDOR_CISCO is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+# CONFIG_WLAN_VENDOR_MARVELL is not set
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
+# CONFIG_WLAN_VENDOR_MICROCHIP is not set
+# CONFIG_WLAN_VENDOR_PURELIFI is not set
+# CONFIG_WLAN_VENDOR_RALINK is not set
+CONFIG_WLAN_VENDOR_REALTEK=y
+CONFIG_RTL8180=m
+CONFIG_RTL8187=m
+CONFIG_RTL8187_LEDS=y
+CONFIG_RTL_CARDS=m
+# CONFIG_RTL8192CE is not set
+# CONFIG_RTL8192SE is not set
+# CONFIG_RTL8192DE is not set
+# CONFIG_RTL8723AE is not set
+# CONFIG_RTL8723BE is not set
+# CONFIG_RTL8188EE is not set
+# CONFIG_RTL8192EE is not set
+# CONFIG_RTL8821AE is not set
+CONFIG_RTL8192CU=m
+CONFIG_RTLWIFI=m
+CONFIG_RTLWIFI_USB=m
+# CONFIG_RTLWIFI_DEBUG is not set
+CONFIG_RTL8192C_COMMON=m
+CONFIG_RTL8XXXU=m
+CONFIG_RTL8XXXU_UNTESTED=y
+CONFIG_RTW88=m
+# CONFIG_RTW88_8822BE is not set
+# CONFIG_RTW88_8822BS is not set
+# CONFIG_RTW88_8822BU is not set
+# CONFIG_RTW88_8822CE is not set
+# CONFIG_RTW88_8822CS is not set
+# CONFIG_RTW88_8822CU is not set
+# CONFIG_RTW88_8723DE is not set
+# CONFIG_RTW88_8723DS is not set
+# CONFIG_RTW88_8723DU is not set
+# CONFIG_RTW88_8821CE is not set
+# CONFIG_RTW88_8821CS is not set
+# CONFIG_RTW88_8821CU is not set
+CONFIG_RTW89=m
+# CONFIG_RTW89_8851BE is not set
+# CONFIG_RTW89_8852AE is not set
+# CONFIG_RTW89_8852BE is not set
+# CONFIG_RTW89_8852CE is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_SILABS is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+# CONFIG_WLAN_VENDOR_TI is not set
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_VIRT_WIFI is not set
+# CONFIG_WAN is not set
+
+#
+# Wireless WAN
+#
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
+# CONFIG_VMXNET3 is not set
+# CONFIG_NETDEVSIM is not set
+CONFIG_NET_FAILOVER=y
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=y
+CONFIG_INPUT_FF_MEMLESS=y
+# CONFIG_INPUT_SPARSEKMAP is not set
+CONFIG_INPUT_MATRIXKMAP=m
+CONFIG_INPUT_VIVALDIFMAP=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=y
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_PINEPHONE is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_BYD=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_FOCALTECH=y
+CONFIG_MOUSE_PS2_SMBUS=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+# CONFIG_MOUSE_ELAN_I2C is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+# CONFIG_TOUCHSCREEN_AD7879 is not set
+CONFIG_TOUCHSCREEN_APPLE_Z2=m
+# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
+# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set
+# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+# CONFIG_TOUCHSCREEN_BU21029 is not set
+# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
+# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+# CONFIG_TOUCHSCREEN_EETI is not set
+# CONFIG_TOUCHSCREEN_EGALAX is not set
+# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
+# CONFIG_TOUCHSCREEN_EXC3000 is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GOODIX is not set
+# CONFIG_TOUCHSCREEN_HIDEEP is not set
+# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
+# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
+# CONFIG_TOUCHSCREEN_ILI210X is not set
+# CONFIG_TOUCHSCREEN_ILITEK is not set
+# CONFIG_TOUCHSCREEN_S6SY761 is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_EKTF2127 is not set
+# CONFIG_TOUCHSCREEN_ELAN is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
+# CONFIG_TOUCHSCREEN_MAX11801 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+# CONFIG_TOUCHSCREEN_MMS114 is not set
+# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
+# CONFIG_TOUCHSCREEN_MSG2638 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
+# CONFIG_TOUCHSCREEN_IMAGIS is not set
+# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
+# CONFIG_TOUCHSCREEN_TSC2004 is not set
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_TOUCHSCREEN_RM_TS is not set
+# CONFIG_TOUCHSCREEN_SILEAD is not set
+# CONFIG_TOUCHSCREEN_SIS_I2C is not set
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_STMFTS is not set
+# CONFIG_TOUCHSCREEN_SUR40 is not set
+# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
+# CONFIG_TOUCHSCREEN_SX8654 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+# CONFIG_TOUCHSCREEN_ZET6223 is not set
+# CONFIG_TOUCHSCREEN_ZFORCE is not set
+# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
+# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
+# CONFIG_TOUCHSCREEN_ZINITIX is not set
+# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
+# CONFIG_INPUT_BMA150 is not set
+# CONFIG_INPUT_E3X0_BUTTON is not set
+# CONFIG_INPUT_MMA8450 is not set
+# CONFIG_INPUT_GPIO_BEEPER is not set
+# CONFIG_INPUT_GPIO_DECODER is not set
+# CONFIG_INPUT_GPIO_VIBRA is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_KXTJ9 is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_REGULATOR_HAPTIC is not set
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_DA7280_HAPTICS is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_IBM_PANEL is not set
+# CONFIG_INPUT_IMS_PCU is not set
+# CONFIG_INPUT_IQS269A is not set
+# CONFIG_INPUT_IQS626A is not set
+# CONFIG_INPUT_IQS7222 is not set
+# CONFIG_INPUT_CMA3000 is not set
+# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
+# CONFIG_INPUT_DRV2667_HAPTICS is not set
+CONFIG_INPUT_MACSMC_HID=y
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+CONFIG_SERIO_AMBAKMI=y
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_LEGACY_TIOCSTI is not set
+CONFIG_LDISC_AUTOLOAD=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCILIB=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+# CONFIG_SERIAL_8250_MANY_PORTS is not set
+# CONFIG_SERIAL_8250_PCI1XXXX is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+# CONFIG_SERIAL_8250_RSA is not set
+CONFIG_SERIAL_8250_DWLIB=y
+CONFIG_SERIAL_8250_FSL=y
+CONFIG_SERIAL_8250_DW=y
+# CONFIG_SERIAL_8250_RT288X is not set
+CONFIG_SERIAL_8250_PERICOM=y
+CONFIG_SERIAL_OF_PLATFORM=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set
+CONFIG_SERIAL_SAMSUNG=y
+CONFIG_SERIAL_SAMSUNG_UARTS=4
+CONFIG_SERIAL_SAMSUNG_CONSOLE=y
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_NULL_TTY is not set
+CONFIG_HVC_DRIVER=y
+# CONFIG_HVC_DCC is not set
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
+CONFIG_VIRTIO_CONSOLE=y
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_SSIF_IPMI_BMC is not set
+# CONFIG_IPMB_DEVICE_INTERFACE is not set
+CONFIG_HW_RANDOM=m
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_BA431 is not set
+# CONFIG_HW_RANDOM_VIRTIO is not set
+# CONFIG_HW_RANDOM_CCTRNG is not set
+# CONFIG_HW_RANDOM_XIPHERA is not set
+CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
+CONFIG_HW_RANDOM_CN10K=m
+# CONFIG_APPLICOM is not set
+CONFIG_DEVMEM=y
+CONFIG_DEVPORT=y
+# CONFIG_TCG_TPM is not set
+# CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
+# end of Character devices
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=y
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_GPMUX is not set
+# CONFIG_I2C_MUX_LTC4306 is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+# CONFIG_I2C_MUX_PCA954x is not set
+# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
+# CONFIG_I2C_DEMUX_PINCTRL is not set
+# CONFIG_I2C_MUX_MLXCPLD is not set
+# end of Multiplexer I2C Chip support
+
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CADENCE is not set
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=y
+# CONFIG_I2C_DESIGNWARE_SLAVE is not set
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+CONFIG_I2C_GPIO=m
+# CONFIG_I2C_GPIO_FAULT_INJECTOR is not set
+# CONFIG_I2C_HISI is not set
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_I2C_OCORES is not set
+CONFIG_I2C_APPLE=y
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_RK3X is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_THUNDERX is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_CP2615 is not set
+# CONFIG_I2C_PCI1XXXX is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_VIRTIO is not set
+# end of I2C Hardware Bus support
+
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_SLAVE=y
+# CONFIG_I2C_SLAVE_EEPROM is not set
+# CONFIG_I2C_SLAVE_TESTUNIT is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+CONFIG_SPI_APPLE=y
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_CADENCE is not set
+# CONFIG_SPI_CADENCE_QUADSPI is not set
+# CONFIG_SPI_CADENCE_XSPI is not set
+CONFIG_SPI_DESIGNWARE=m
+CONFIG_SPI_DW_DMA=y
+# CONFIG_SPI_DW_PCI is not set
+CONFIG_SPI_DW_MMIO=m
+CONFIG_SPI_GPIO=y
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_MICROCHIP_CORE is not set
+# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PCI1XXXX is not set
+# CONFIG_SPI_PL022 is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
+# CONFIG_SPI_SN_F_OSPI is not set
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_THUNDERX is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+# CONFIG_SPI_AMD is not set
+
+#
+# SPI Multiplexer support
+#
+# CONFIG_SPI_MUX is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_SPI_SLAVE is not set
+CONFIG_SPMI=y
+# CONFIG_SPMI_HISI3670 is not set
+CONFIG_SPMI_APPLE=y
+# CONFIG_HSI is not set
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+# CONFIG_DP83640_PHY is not set
+# CONFIG_PTP_1588_CLOCK_INES is not set
+CONFIG_PTP_1588_CLOCK_KVM=y
+# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
+# CONFIG_PTP_1588_CLOCK_IDTCM is not set
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCTRL_APPLE_GPIO=y
+# CONFIG_PINCTRL_CY8C95X0 is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
+# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_STMFX is not set
+# CONFIG_PINCTRL_SX150X is not set
+
+#
+# Renesas pinctrl drivers
+#
+# end of Renesas pinctrl drivers
+
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
+# CONFIG_GPIO_DWAPB is not set
+# CONFIG_GPIO_EXAR is not set
+# CONFIG_GPIO_FTGPIO010 is not set
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HISI is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
+# CONFIG_GPIO_MB86S7X is not set
+# CONFIG_GPIO_PL061 is not set
+# CONFIG_GPIO_SIFIVE is not set
+CONFIG_GPIO_SYSCON=y
+# CONFIG_GPIO_XGENE is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_AMD_FCH is not set
+# end of Memory mapped GPIO drivers
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_FXL6408 is not set
+# CONFIG_GPIO_DS4520 is not set
+# CONFIG_GPIO_GW_PLD is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCA9570 is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# end of I2C GPIO expanders
+
+#
+# MFD GPIO expanders
+#
+CONFIG_GPIO_MACSMC=y
+# end of MFD GPIO expanders
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
+# CONFIG_GPIO_RDC321X is not set
+# end of PCI GPIO expanders
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+# end of SPI GPIO expanders
+
+#
+# USB GPIO expanders
+#
+# end of USB GPIO expanders
+
+#
+# Virtual GPIO drivers
+#
+# CONFIG_GPIO_AGGREGATOR is not set
+# CONFIG_GPIO_LATCH is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_VIRTIO is not set
+# CONFIG_GPIO_SIM is not set
+# end of Virtual GPIO drivers
+
+# CONFIG_W1 is not set
+CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_BRCMSTB is not set
+# CONFIG_POWER_RESET_GPIO is not set
+# CONFIG_POWER_RESET_GPIO_RESTART is not set
+CONFIG_POWER_RESET_MACSMC=y
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_REGULATOR is not set
+# CONFIG_POWER_RESET_RESTART is not set
+# CONFIG_POWER_RESET_XGENE is not set
+CONFIG_POWER_RESET_SYSCON=y
+# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
+CONFIG_REBOOT_MODE=y
+CONFIG_SYSCON_REBOOT_MODE=y
+# CONFIG_NVMEM_REBOOT_MODE is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_IP5XXX_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_CHARGER_ADP5061 is not set
+# CONFIG_BATTERY_CW2015 is not set
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
+# CONFIG_BATTERY_SBS is not set
+# CONFIG_CHARGER_SBS is not set
+# CONFIG_MANAGER_SBS is not set
+# CONFIG_BATTERY_BQ27XXX is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_MANAGER is not set
+# CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
+# CONFIG_CHARGER_BQ24735 is not set
+# CONFIG_CHARGER_BQ2515X is not set
+# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_BQ25980 is not set
+# CONFIG_CHARGER_BQ256XX is not set
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_RT9467 is not set
+# CONFIG_CHARGER_RT9471 is not set
+# CONFIG_CHARGER_UCS1002 is not set
+# CONFIG_CHARGER_BD99954 is not set
+# CONFIG_BATTERY_UG3105 is not set
+CONFIG_CHARGER_MACSMC=y
+CONFIG_HWMON=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM1177 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
+# CONFIG_SENSORS_AS370 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
+# CONFIG_SENSORS_ARM_SCMI is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_CORSAIR_CPRO is not set
+# CONFIG_SENSORS_CORSAIR_PSU is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_FTSTEUTATES is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_HS3001 is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC2992 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX127 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX31760 is not set
+# CONFIG_MAX31827 is not set
+# CONFIG_SENSORS_MAX6620 is not set
+# CONFIG_SENSORS_MAX6621 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6642 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MC34VR500 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_TPS23861 is not set
+# CONFIG_SENSORS_MR75203 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NCT6775_I2C is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NCT7904 is not set
+# CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
+# CONFIG_SENSORS_OCC_P8_I2C is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+CONFIG_SENSORS_PWM_FAN=m
+# CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHT3x is not set
+# CONFIG_SENSORS_SHT4x is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC2305 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_STTS751 is not set
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+# CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA238 is not set
+# CONFIG_SENSORS_INA3221 is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP108 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_TMP464 is not set
+# CONFIG_SENSORS_TMP513 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83773G is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+CONFIG_THERMAL=y
+# CONFIG_THERMAL_NETLINK is not set
+# CONFIG_THERMAL_STATISTICS is not set
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_OF=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
+CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
+CONFIG_THERMAL_GOV_USER_SPACE=y
+# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
+# CONFIG_CPU_THERMAL is not set
+CONFIG_DEVFREQ_THERMAL=y
+# CONFIG_THERMAL_EMULATION is not set
+# CONFIG_THERMAL_MMIO is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=y
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+# CONFIG_WATCHDOG_SYSFS is not set
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_XILINX_WINDOW_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_ARM_SP805_WATCHDOG is not set
+# CONFIG_ARM_SBSA_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_ARM_SMC_WATCHDOG is not set
+CONFIG_APPLE_WATCHDOG=y
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_HP_WATCHDOG is not set
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_ACT8945A is not set
+CONFIG_MFD_APPLE_SPMI_PMU=y
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_SMPRO is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+# CONFIG_MFD_AXP20X_I2C is not set
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_MFD_MAX5970 is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_HI6421_SPMI is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77541 is not set
+# CONFIG_MFD_MAX77620 is not set
+# CONFIG_MFD_MAX77650 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77714 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6370 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_MFD_OCELOT is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_NTXEC is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_SY7636A is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RT5120 is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_RK8XX_I2C is not set
+# CONFIG_MFD_RK8XX_SPI is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+CONFIG_MFD_SIMPLE_MFD_SPMI=y
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS65219 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS6594_I2C is not set
+# CONFIG_MFD_TPS6594_SPI is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
+# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_STMFX is not set
+# CONFIG_MFD_ATC260X_I2C is not set
+# CONFIG_MFD_QCOM_PM8008 is not set
+# CONFIG_RAVE_SP_CORE is not set
+# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
+# CONFIG_MFD_RSMU_I2C is not set
+# CONFIG_MFD_RSMU_SPI is not set
+# end of Multifunction device drivers
+
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_88PG86X is not set
+# CONFIG_REGULATOR_ACT8865 is not set
+# CONFIG_REGULATOR_AD5398 is not set
+# CONFIG_REGULATOR_ARM_SCMI is not set
+# CONFIG_REGULATOR_AW37503 is not set
+# CONFIG_REGULATOR_DA9121 is not set
+# CONFIG_REGULATOR_DA9210 is not set
+# CONFIG_REGULATOR_DA9211 is not set
+# CONFIG_REGULATOR_FAN53555 is not set
+# CONFIG_REGULATOR_FAN53880 is not set
+# CONFIG_REGULATOR_GPIO is not set
+# CONFIG_REGULATOR_ISL9305 is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_LTC3589 is not set
+# CONFIG_REGULATOR_LTC3676 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8893 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_MAX20086 is not set
+# CONFIG_REGULATOR_MAX20411 is not set
+# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP5416 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MP886X is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
+# CONFIG_REGULATOR_MT6311 is not set
+# CONFIG_REGULATOR_MT6315 is not set
+# CONFIG_REGULATOR_PCA9450 is not set
+# CONFIG_REGULATOR_PF8X00 is not set
+# CONFIG_REGULATOR_PFUZE100 is not set
+# CONFIG_REGULATOR_PV88060 is not set
+# CONFIG_REGULATOR_PV88080 is not set
+# CONFIG_REGULATOR_PV88090 is not set
+# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_QCOM_SPMI is not set
+# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
+# CONFIG_REGULATOR_RAA215300 is not set
+# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
+# CONFIG_REGULATOR_RT4801 is not set
+# CONFIG_REGULATOR_RT4803 is not set
+# CONFIG_REGULATOR_RT5190A is not set
+# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RT5759 is not set
+# CONFIG_REGULATOR_RT6160 is not set
+# CONFIG_REGULATOR_RT6190 is not set
+# CONFIG_REGULATOR_RT6245 is not set
+# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTMV20 is not set
+# CONFIG_REGULATOR_RTQ6752 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
+# CONFIG_REGULATOR_SLG51000 is not set
+# CONFIG_REGULATOR_SY8106A is not set
+# CONFIG_REGULATOR_SY8824X is not set
+# CONFIG_REGULATOR_SY8827N is not set
+# CONFIG_REGULATOR_TPS51632 is not set
+# CONFIG_REGULATOR_TPS62360 is not set
+# CONFIG_REGULATOR_TPS6286X is not set
+# CONFIG_REGULATOR_TPS6287X is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS65132 is not set
+# CONFIG_REGULATOR_TPS6524X is not set
+# CONFIG_REGULATOR_VCTRL is not set
+# CONFIG_REGULATOR_QCOM_LABIBB is not set
+# CONFIG_RC_CORE is not set
+
+#
+# CEC support
+#
+# CONFIG_MEDIA_CEC_SUPPORT is not set
+# end of CEC support
+
+CONFIG_MEDIA_SUPPORT=m
+CONFIG_MEDIA_SUPPORT_FILTER=y
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+
+#
+# Media device types
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
+# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
+# CONFIG_MEDIA_RADIO_SUPPORT is not set
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+# CONFIG_MEDIA_TEST_SUPPORT is not set
+# end of Media device types
+
+CONFIG_VIDEO_DEV=m
+CONFIG_MEDIA_CONTROLLER=y
+
+#
+# Video4Linux options
+#
+CONFIG_VIDEO_V4L2_I2C=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_V4L2_FLASH_LED_CLASS=m
+CONFIG_V4L2_FWNODE=m
+CONFIG_V4L2_ASYNC=m
+# end of Video4Linux options
+
+#
+# Media controller options
+#
+# end of Media controller options
+
+#
+# Media drivers
+#
+
+#
+# Drivers filtered as selected at 'Filter media drivers'
+#
+
+#
+# Media drivers
+#
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+# CONFIG_USB_GSPCA is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_VIDEO_USBTV is not set
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+# CONFIG_VIDEO_EM28XX is not set
+
+#
+# Software defined radio USB devices
+#
+# CONFIG_USB_AIRSPY is not set
+# CONFIG_USB_HACKRF is not set
+# CONFIG_USB_MSI2500 is not set
+# CONFIG_MEDIA_PCI_SUPPORT is not set
+CONFIG_MEDIA_PLATFORM_DRIVERS=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+# CONFIG_SDR_PLATFORM_DRIVERS is not set
+# CONFIG_V4L_MEM2MEM_DRIVERS is not set
+# CONFIG_VIDEO_MUX is not set
+
+#
+# Allegro DVT media platform drivers
+#
+
+#
+# Amlogic media platform drivers
+#
+
+#
+# Amphion drivers
+#
+
+#
+# Apple media platform drivers
+#
+CONFIG_VIDEO_APPLE_ISP=m
+
+#
+# Aspeed media platform drivers
+#
+
+#
+# Atmel media platform drivers
+#
+
+#
+# Cadence media platform drivers
+#
+# CONFIG_VIDEO_CADENCE_CSI2RX is not set
+# CONFIG_VIDEO_CADENCE_CSI2TX is not set
+
+#
+# Chips&Media media platform drivers
+#
+
+#
+# Intel media platform drivers
+#
+
+#
+# Marvell media platform drivers
+#
+# CONFIG_VIDEO_CAFE_CCIC is not set
+
+#
+# Mediatek media platform drivers
+#
+
+#
+# Microchip Technology, Inc. media platform drivers
+#
+
+#
+# NVidia media platform drivers
+#
+
+#
+# NXP media platform drivers
+#
+
+#
+# Qualcomm media platform drivers
+#
+
+#
+# Renesas media platform drivers
+#
+
+#
+# Rockchip media platform drivers
+#
+
+#
+# Samsung media platform drivers
+#
+
+#
+# STMicroelectronics media platform drivers
+#
+
+#
+# Sunxi media platform drivers
+#
+
+#
+# Texas Instruments drivers
+#
+
+#
+# Verisilicon media platform drivers
+#
+
+#
+# VIA media platform drivers
+#
+
+#
+# Xilinx media platform drivers
+#
+# CONFIG_VIDEO_XILINX is not set
+CONFIG_UVC_COMMON=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_V4L2=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+# end of Media drivers
+
+CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y
+
+#
+# Media ancillary drivers
+#
+CONFIG_VIDEO_CAMERA_SENSOR=y
+# CONFIG_VIDEO_AR0521 is not set
+# CONFIG_VIDEO_HI556 is not set
+# CONFIG_VIDEO_HI846 is not set
+# CONFIG_VIDEO_HI847 is not set
+# CONFIG_VIDEO_IMX208 is not set
+# CONFIG_VIDEO_IMX214 is not set
+# CONFIG_VIDEO_IMX219 is not set
+# CONFIG_VIDEO_IMX258 is not set
+# CONFIG_VIDEO_IMX274 is not set
+# CONFIG_VIDEO_IMX290 is not set
+# CONFIG_VIDEO_IMX296 is not set
+# CONFIG_VIDEO_IMX319 is not set
+# CONFIG_VIDEO_IMX334 is not set
+# CONFIG_VIDEO_IMX335 is not set
+# CONFIG_VIDEO_IMX355 is not set
+# CONFIG_VIDEO_IMX412 is not set
+# CONFIG_VIDEO_IMX415 is not set
+# CONFIG_VIDEO_MT9M001 is not set
+# CONFIG_VIDEO_MT9M111 is not set
+# CONFIG_VIDEO_MT9P031 is not set
+# CONFIG_VIDEO_MT9T112 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_MT9V032 is not set
+# CONFIG_VIDEO_MT9V111 is not set
+# CONFIG_VIDEO_OG01A1B is not set
+# CONFIG_VIDEO_OV01A10 is not set
+# CONFIG_VIDEO_OV02A10 is not set
+# CONFIG_VIDEO_OV08D10 is not set
+# CONFIG_VIDEO_OV08X40 is not set
+# CONFIG_VIDEO_OV13858 is not set
+# CONFIG_VIDEO_OV13B10 is not set
+# CONFIG_VIDEO_OV2640 is not set
+# CONFIG_VIDEO_OV2659 is not set
+# CONFIG_VIDEO_OV2680 is not set
+# CONFIG_VIDEO_OV2685 is not set
+# CONFIG_VIDEO_OV4689 is not set
+# CONFIG_VIDEO_OV5640 is not set
+# CONFIG_VIDEO_OV5645 is not set
+# CONFIG_VIDEO_OV5647 is not set
+# CONFIG_VIDEO_OV5648 is not set
+# CONFIG_VIDEO_OV5670 is not set
+# CONFIG_VIDEO_OV5675 is not set
+# CONFIG_VIDEO_OV5693 is not set
+# CONFIG_VIDEO_OV5695 is not set
+# CONFIG_VIDEO_OV6650 is not set
+# CONFIG_VIDEO_OV7251 is not set
+# CONFIG_VIDEO_OV7640 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_OV772X is not set
+# CONFIG_VIDEO_OV7740 is not set
+# CONFIG_VIDEO_OV8856 is not set
+# CONFIG_VIDEO_OV8858 is not set
+# CONFIG_VIDEO_OV8865 is not set
+# CONFIG_VIDEO_OV9282 is not set
+# CONFIG_VIDEO_OV9640 is not set
+# CONFIG_VIDEO_OV9650 is not set
+# CONFIG_VIDEO_RDACM20 is not set
+# CONFIG_VIDEO_RDACM21 is not set
+# CONFIG_VIDEO_RJ54N1 is not set
+# CONFIG_VIDEO_S5C73M3 is not set
+# CONFIG_VIDEO_S5K5BAF is not set
+# CONFIG_VIDEO_S5K6A3 is not set
+# CONFIG_VIDEO_ST_VGXY61 is not set
+# CONFIG_VIDEO_CCS is not set
+# CONFIG_VIDEO_ET8EK8 is not set
+
+#
+# Lens drivers
+#
+# CONFIG_VIDEO_AD5820 is not set
+# CONFIG_VIDEO_AK7375 is not set
+# CONFIG_VIDEO_DW9714 is not set
+# CONFIG_VIDEO_DW9719 is not set
+# CONFIG_VIDEO_DW9768 is not set
+# CONFIG_VIDEO_DW9807_VCM is not set
+# end of Lens drivers
+
+#
+# Flash devices
+#
+# CONFIG_VIDEO_ADP1653 is not set
+# CONFIG_VIDEO_LM3560 is not set
+# CONFIG_VIDEO_LM3646 is not set
+# end of Flash devices
+
+#
+# audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'
+#
+
+#
+# Video and audio decoders
+#
+
+#
+# Video serializers and deserializers
+#
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
+# end of Video serializers and deserializers
+
+#
+# SPI I2C drivers auto-selected by 'Autoselect ancillary drivers'
+#
+
+#
+# Media SPI Adapters
+#
+# CONFIG_VIDEO_GS1662 is not set
+# end of Media SPI Adapters
+
+CONFIG_MEDIA_TUNER=m
+
+#
+# Tuner drivers auto-selected by 'Autoselect ancillary drivers'
+#
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_XC5000=m
+# end of Media ancillary drivers
+
+#
+# Graphics support
+#
+CONFIG_APERTURE_HELPERS=y
+CONFIG_VIDEO_CMDLINE=y
+CONFIG_VIDEO_NOMODESET=y
+# CONFIG_AUXDISPLAY is not set
+CONFIG_DRM=y
+CONFIG_DRM_MIPI_DSI=y
+# CONFIG_DRM_DEBUG_MM is not set
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
+CONFIG_DRM_GEM_DMA_HELPER=y
+CONFIG_DRM_GEM_SHMEM_HELPER=y
+CONFIG_DRM_SCHED=y
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
+# end of I2C encoder or helper chips
+
+#
+# ARM devices
+#
+# CONFIG_DRM_HDLCD is not set
+# CONFIG_DRM_MALI_DISPLAY is not set
+# CONFIG_DRM_KOMEDA is not set
+# end of ARM devices
+
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_AMDGPU is not set
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_VGEM is not set
+# CONFIG_DRM_VKMS is not set
+CONFIG_RUST_DRM_SCHED=y
+CONFIG_RUST_DRM_GEM_SHMEM_HELPER=y
+CONFIG_RUST_APPLE_RTKIT=y
+CONFIG_DRM_ASAHI=m
+# CONFIG_DRM_ASAHI_DEBUG_ALLOCATOR is not set
+# CONFIG_DRM_VMWGFX is not set
+# CONFIG_DRM_UDL is not set
+# CONFIG_DRM_AST is not set
+# CONFIG_DRM_MGAG200 is not set
+# CONFIG_DRM_QXL is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
+# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
+# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
+# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
+# CONFIG_DRM_PANEL_DSI_CM is not set
+# CONFIG_DRM_PANEL_LVDS is not set
+# CONFIG_DRM_PANEL_SIMPLE is not set
+# CONFIG_DRM_PANEL_EDP is not set
+# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
+# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
+# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
+# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
+# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
+# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
+# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
+# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
+# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
+# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
+# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
+# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
+# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
+# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
+# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
+# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
+# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
+# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
+# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
+# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
+# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
+# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
+# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
+# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
+# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
+# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
+# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
+# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
+# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
+# end of Display Panels
+
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
+# CONFIG_DRM_CHRONTEL_CH7033 is not set
+# CONFIG_DRM_DISPLAY_CONNECTOR is not set
+# CONFIG_DRM_ITE_IT6505 is not set
+# CONFIG_DRM_LONTIUM_LT8912B is not set
+# CONFIG_DRM_LONTIUM_LT9211 is not set
+# CONFIG_DRM_LONTIUM_LT9611 is not set
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_ITE_IT66121 is not set
+# CONFIG_DRM_LVDS_CODEC is not set
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
+# CONFIG_DRM_NWL_MIPI_DSI is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+# CONFIG_DRM_PARADE_PS8640 is not set
+# CONFIG_DRM_SAMSUNG_DSIM is not set
+# CONFIG_DRM_SIL_SII8620 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_SII9234 is not set
+# CONFIG_DRM_SIMPLE_BRIDGE is not set
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
+# CONFIG_DRM_TOSHIBA_TC358762 is not set
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TOSHIBA_TC358768 is not set
+# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TI_DLPC3433 is not set
+# CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI83 is not set
+# CONFIG_DRM_TI_SN65DSI86 is not set
+# CONFIG_DRM_TI_TPD12S015 is not set
+# CONFIG_DRM_ANALOGIX_ANX6345 is not set
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
+# CONFIG_DRM_I2C_ADV7511 is not set
+# CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_CDNS_MHDP8546 is not set
+# end of Display Interface Bridges
+
+# CONFIG_DRM_LOONGSON is not set
+# CONFIG_DRM_ETNAVIV is not set
+# CONFIG_DRM_HISI_HIBMC is not set
+# CONFIG_DRM_HISI_KIRIN is not set
+# CONFIG_DRM_LOGICVC is not set
+# CONFIG_DRM_ARCPGU is not set
+# CONFIG_DRM_BOCHS is not set
+# CONFIG_DRM_CIRRUS_QEMU is not set
+# CONFIG_DRM_GM12U320 is not set
+# CONFIG_DRM_PANEL_MIPI_DBI is not set
+CONFIG_DRM_SIMPLEDRM=y
+# CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
+# CONFIG_TINYDRM_ILI9225 is not set
+# CONFIG_TINYDRM_ILI9341 is not set
+# CONFIG_TINYDRM_ILI9486 is not set
+# CONFIG_TINYDRM_MI0283QT is not set
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
+# CONFIG_TINYDRM_ST7735R is not set
+# CONFIG_DRM_PL111 is not set
+# CONFIG_DRM_LIMA is not set
+# CONFIG_DRM_PANFROST is not set
+# CONFIG_DRM_TIDSS is not set
+CONFIG_DRM_ADP=m
+# CONFIG_DRM_GUD is not set
+# CONFIG_DRM_SSD130X is not set
+CONFIG_DRM_APPLE=y
+# CONFIG_DRM_LEGACY is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB=y
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_ARMCLCD is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_EFI is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_SSD1307 is not set
+# CONFIG_FB_SM712 is not set
+CONFIG_FB_CORE=y
+CONFIG_FB_NOTIFY=y
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB_DEVICE=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_DMAMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_KTD253 is not set
+# CONFIG_BACKLIGHT_KTZ8866 is not set
+# CONFIG_BACKLIGHT_PWM is not set
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+CONFIG_BACKLIGHT_GPIO=y
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_BACKLIGHT_ARCXCNN is not set
+# CONFIG_BACKLIGHT_LED is not set
+# end of Backlight & LCD device support
+
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
+# end of Console display driver support
+
+# CONFIG_LOGO is not set
+# end of Graphics support
+
+# CONFIG_DRM_ACCEL is not set
+CONFIG_SOUND=y
+CONFIG_SND=y
+CONFIG_SND_TIMER=y
+CONFIG_SND_PCM=y
+CONFIG_SND_DMAENGINE_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_SEQ_DEVICE=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+# CONFIG_SND_OSSEMUL is not set
+CONFIG_SND_PCM_TIMER=y
+# CONFIG_SND_HRTIMER is not set
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+CONFIG_SND_CTL_FAST_LOOKUP=y
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_CTL_INPUT_VALIDATION is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_SEQ_MIDI_EVENT=m
+CONFIG_SND_SEQ_MIDI=m
+# CONFIG_SND_SEQ_UMP is not set
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+# CONFIG_SND_PCMTEST is not set
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_SERIAL_GENERIC is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SE6X is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# HD-Audio
+#
+# CONFIG_SND_HDA_INTEL is not set
+# end of HD-Audio
+
+CONFIG_SND_HDA_PREALLOC_SIZE=4096
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
+CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_USB_HIFACE=m
+# CONFIG_SND_BCD2000 is not set
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
+CONFIG_SND_SOC=y
+# CONFIG_SND_SOC_ADI is not set
+# CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
+CONFIG_SND_SOC_APPLE_MCA=m
+CONFIG_SND_SOC_APPLE_MACAUDIO=m
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_AUDMIX is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_XCVR is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+# end of SoC Audio for Freescale CPUs
+
+# CONFIG_SND_SOC_CHV3_I2S is not set
+# CONFIG_SND_I2S_HI6210_I2S is not set
+# CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
+# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
+
+#
+# STMicroelectronics STM32 SOC audio support
+#
+# end of STMicroelectronics STM32 SOC audio support
+
+# CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=y
+
+#
+# CODEC drivers
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_ADAU1372_I2C is not set
+# CONFIG_SND_SOC_ADAU1372_SPI is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
+# CONFIG_SND_SOC_ADAU7002 is not set
+# CONFIG_SND_SOC_ADAU7118_HW is not set
+# CONFIG_SND_SOC_ADAU7118_I2C is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
+# CONFIG_SND_SOC_AK4458 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_AK5558 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88395 is not set
+# CONFIG_SND_SOC_AW88261 is not set
+# CONFIG_SND_SOC_BD28623 is not set
+# CONFIG_SND_SOC_BT_SCO is not set
+# CONFIG_SND_SOC_CHV3_CODEC is not set
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS35L33 is not set
+# CONFIG_SND_SOC_CS35L34 is not set
+# CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
+# CONFIG_SND_SOC_CS35L41_SPI is not set
+# CONFIG_SND_SOC_CS35L41_I2C is not set
+# CONFIG_SND_SOC_CS35L45_SPI is not set
+# CONFIG_SND_SOC_CS35L45_I2C is not set
+# CONFIG_SND_SOC_CS35L56_I2C is not set
+# CONFIG_SND_SOC_CS35L56_SPI is not set
+CONFIG_SND_SOC_CS42L42_CORE=y
+CONFIG_SND_SOC_CS42L42=m
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+CONFIG_SND_SOC_CS42L83=y
+CONFIG_SND_SOC_CS42L84=y
+# CONFIG_SND_SOC_CS4234 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
+# CONFIG_SND_SOC_CS4349 is not set
+# CONFIG_SND_SOC_CS53L30 is not set
+# CONFIG_SND_SOC_CX2072X is not set
+# CONFIG_SND_SOC_DA7213 is not set
+CONFIG_SND_SOC_DMIC=m
+# CONFIG_SND_SOC_ES7134 is not set
+# CONFIG_SND_SOC_ES7241 is not set
+# CONFIG_SND_SOC_ES8316 is not set
+# CONFIG_SND_SOC_ES8326 is not set
+# CONFIG_SND_SOC_ES8328_I2C is not set
+# CONFIG_SND_SOC_ES8328_SPI is not set
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_HDA is not set
+# CONFIG_SND_SOC_ICS43432 is not set
+# CONFIG_SND_SOC_IDT821034 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98088 is not set
+# CONFIG_SND_SOC_MAX98090 is not set
+# CONFIG_SND_SOC_MAX98357A is not set
+# CONFIG_SND_SOC_MAX98504 is not set
+# CONFIG_SND_SOC_MAX9867 is not set
+# CONFIG_SND_SOC_MAX98927 is not set
+# CONFIG_SND_SOC_MAX98520 is not set
+# CONFIG_SND_SOC_MAX98373_I2C is not set
+# CONFIG_SND_SOC_MAX98388 is not set
+# CONFIG_SND_SOC_MAX98390 is not set
+# CONFIG_SND_SOC_MAX98396 is not set
+# CONFIG_SND_SOC_MAX9860 is not set
+# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1789_I2C is not set
+# CONFIG_SND_SOC_PCM179X_I2C is not set
+# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM186X_I2C is not set
+# CONFIG_SND_SOC_PCM186X_SPI is not set
+# CONFIG_SND_SOC_PCM3060_I2C is not set
+# CONFIG_SND_SOC_PCM3060_SPI is not set
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
+# CONFIG_SND_SOC_PCM5102A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+# CONFIG_SND_SOC_PEB2466 is not set
+# CONFIG_SND_SOC_RK3328 is not set
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+# CONFIG_SND_SOC_RT5640 is not set
+# CONFIG_SND_SOC_RT5659 is not set
+# CONFIG_SND_SOC_RT9120 is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
+CONFIG_SND_SOC_SIMPLE_AMPLIFIER=m
+CONFIG_SND_SOC_SIMPLE_MUX=m
+# CONFIG_SND_SOC_SMA1303 is not set
+# CONFIG_SND_SOC_SPDIF is not set
+# CONFIG_SND_SOC_SRC4XXX_I2C is not set
+# CONFIG_SND_SOC_SSM2305 is not set
+# CONFIG_SND_SOC_SSM2518 is not set
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM3515 is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS2562 is not set
+CONFIG_SND_SOC_TAS2764=m
+CONFIG_SND_SOC_TAS2770=m
+CONFIG_SND_SOC_TAS2780=m
+# CONFIG_SND_SOC_TAS2781_I2C is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TAS5805M is not set
+# CONFIG_SND_SOC_TAS6424 is not set
+# CONFIG_SND_SOC_TDA7419 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TFA989X is not set
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TLV320ADCX140 is not set
+# CONFIG_SND_SOC_TS3A227E is not set
+# CONFIG_SND_SOC_TSCS42XX is not set
+# CONFIG_SND_SOC_TSCS454 is not set
+# CONFIG_SND_SOC_UDA1334 is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8524 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731_I2C is not set
+# CONFIG_SND_SOC_WM8731_SPI is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8782 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8904 is not set
+# CONFIG_SND_SOC_WM8940 is not set
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8961 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_ZL38060 is not set
+# CONFIG_SND_SOC_MAX9759 is not set
+# CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
+# CONFIG_SND_SOC_NAU8315 is not set
+# CONFIG_SND_SOC_NAU8540 is not set
+# CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_NAU8821 is not set
+# CONFIG_SND_SOC_NAU8822 is not set
+# CONFIG_SND_SOC_NAU8824 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
+# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
+# end of CODEC drivers
+
+CONFIG_SND_SIMPLE_CARD_UTILS=m
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD=m
+# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
+# CONFIG_SND_TEST_COMPONENT is not set
+CONFIG_SND_VIRTIO=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+CONFIG_HID_APPLE=y
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_ASUS is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_BIGBEN_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CORSAIR is not set
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CP2112 is not set
+# CONFIG_HID_CREATIVE_SB0540 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELAN is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EVISION is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_FT260 is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
+# CONFIG_HID_VIVALDI is not set
+# CONFIG_HID_GT683R is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+CONFIG_HID_UCLOGIC=m
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_VRC2 is not set
+# CONFIG_HID_XIAOMI is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LED is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LETSKETCH is not set
+# CONFIG_HID_LOGITECH is not set
+CONFIG_HID_MAGICMOUSE=y
+# CONFIG_HID_MALTRON is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MEGAWORLD_FF is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NINTENDO is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_NVIDIA_SHIELD is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PLAYSTATION is not set
+# CONFIG_HID_PXRC is not set
+# CONFIG_HID_RAZER is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SEMITEK is not set
+# CONFIG_HID_SIGMAMICRO is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_TOPRE is not set
+# CONFIG_HID_THINGM is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_U2FZERO is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_WIIMOTE is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# HID-BPF support
+#
+# end of HID-BPF support
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+# CONFIG_HID_PID is not set
+CONFIG_USB_HIDDEV=y
+# end of USB HID support
+
+CONFIG_I2C_HID=y
+CONFIG_I2C_HID_OF=y
+# CONFIG_I2C_HID_OF_ELAN is not set
+# CONFIG_I2C_HID_OF_GOODIX is not set
+CONFIG_I2C_HID_CORE=y
+
+#
+# SPI HID support
+#
+CONFIG_SPI_HID_APPLE_OF=y
+# end of SPI HID support
+
+CONFIG_SPI_HID_APPLE_CORE=y
+
+#
+# DockChannel HID support
+#
+CONFIG_HID_DOCKCHANNEL=y
+# end of DockChannel HID support
+
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_LED_TRIG is not set
+CONFIG_USB_ULPI_BUS=y
+CONFIG_USB_CONN_GPIO=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_FEW_INIT_RETRIES is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_PRODUCTLIST is not set
+# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
+# CONFIG_USB_OTG_FSM is not set
+# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+CONFIG_USB_MON=m
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=y
+# CONFIG_USB_XHCI_DBGCAP is not set
+CONFIG_USB_XHCI_PCI=y
+# CONFIG_USB_XHCI_PCI_RENESAS is not set
+CONFIG_USB_XHCI_PCI_ASMEDIA=y
+CONFIG_USB_XHCI_PLATFORM=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=y
+# CONFIG_USB_EHCI_FSL is not set
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+CONFIG_USB_UHCI_HCD=y
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+# CONFIG_USB_PRINTER is not set
+CONFIG_USB_WDM=m
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_REALTEK is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_STORAGE_ENE_UB6250 is not set
+CONFIG_USB_UAS=y
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USBIP_CORE is not set
+
+#
+# USB dual-mode controller drivers
+#
+# CONFIG_USB_CDNS_SUPPORT is not set
+# CONFIG_USB_MUSB_HDRC is not set
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_ULPI=y
+# CONFIG_USB_DWC3_HOST is not set
+# CONFIG_USB_DWC3_GADGET is not set
+CONFIG_USB_DWC3_DUAL_ROLE=y
+
+#
+# Platform Glue Driver Support
+#
+CONFIG_USB_DWC3_HAPS=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
+# CONFIG_USB_DWC2 is not set
+# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+# CONFIG_USB_SERIAL_GENERIC is not set
+# CONFIG_USB_SERIAL_SIMPLE is not set
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+CONFIG_USB_SERIAL_CP210X=m
+# CONFIG_USB_SERIAL_CYPRESS_M8 is not set
+# CONFIG_USB_SERIAL_EMPEG is not set
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_F81232 is not set
+# CONFIG_USB_SERIAL_F8153X is not set
+CONFIG_USB_SERIAL_GARMIN=m
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_IUU is not set
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+# CONFIG_USB_SERIAL_KOBIL_SCT is not set
+CONFIG_USB_SERIAL_MCT_U232=m
+# CONFIG_USB_SERIAL_METRO is not set
+CONFIG_USB_SERIAL_MOS7720=m
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_MXUPORT is not set
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_QCAUX is not set
+# CONFIG_USB_SERIAL_QUALCOMM is not set
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+# CONFIG_USB_SERIAL_SYMBOL is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_OPTICON is not set
+# CONFIG_USB_SERIAL_XSENS_MT is not set
+# CONFIG_USB_SERIAL_WISHBONE is not set
+# CONFIG_USB_SERIAL_SSU100 is not set
+# CONFIG_USB_SERIAL_QT2 is not set
+# CONFIG_USB_SERIAL_UPD78F0730 is not set
+# CONFIG_USB_SERIAL_XR is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+CONFIG_APPLE_MFI_FASTCHARGE=m
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+CONFIG_USB_EZUSB_FX2=m
+# CONFIG_USB_HUB_USB251XB is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+# CONFIG_USB_ONBOARD_HUB is not set
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=m
+# CONFIG_USB_ISP1301 is not set
+CONFIG_USB_ULPI=y
+CONFIG_USB_ULPI_VIEWPORT=y
+# end of USB Physical Layer drivers
+
+CONFIG_USB_GADGET=y
+# CONFIG_USB_GADGET_DEBUG_FILES is not set
+# CONFIG_USB_GADGET_DEBUG_FS is not set
+CONFIG_USB_GADGET_VBUS_DRAW=2
+CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2
+CONFIG_U_SERIAL_CONSOLE=y
+
+#
+# USB Peripheral Controller
+#
+# CONFIG_USB_GR_UDC is not set
+# CONFIG_USB_R8A66597 is not set
+# CONFIG_USB_PXA27X is not set
+# CONFIG_USB_MV_UDC is not set
+# CONFIG_USB_MV_U3D is not set
+CONFIG_USB_SNP_CORE=m
+CONFIG_USB_SNP_UDC_PLAT=m
+# CONFIG_USB_M66592 is not set
+# CONFIG_USB_BDC_UDC is not set
+# CONFIG_USB_AMD5536UDC is not set
+# CONFIG_USB_NET2272 is not set
+# CONFIG_USB_NET2280 is not set
+# CONFIG_USB_GOKU is not set
+# CONFIG_USB_EG20T is not set
+# CONFIG_USB_GADGET_XILINX is not set
+# CONFIG_USB_MAX3420_UDC is not set
+# CONFIG_USB_DUMMY_HCD is not set
+# end of USB Peripheral Controller
+
+CONFIG_USB_LIBCOMPOSITE=m
+CONFIG_USB_F_ACM=m
+CONFIG_USB_U_SERIAL=m
+CONFIG_USB_U_ETHER=m
+CONFIG_USB_F_SERIAL=m
+CONFIG_USB_F_OBEX=m
+CONFIG_USB_F_NCM=m
+CONFIG_USB_F_ECM=m
+CONFIG_USB_F_EEM=m
+CONFIG_USB_F_SUBSET=m
+CONFIG_USB_F_RNDIS=m
+CONFIG_USB_F_MASS_STORAGE=m
+CONFIG_USB_F_FS=m
+CONFIG_USB_CONFIGFS=m
+CONFIG_USB_CONFIGFS_SERIAL=y
+CONFIG_USB_CONFIGFS_ACM=y
+CONFIG_USB_CONFIGFS_OBEX=y
+CONFIG_USB_CONFIGFS_NCM=y
+CONFIG_USB_CONFIGFS_ECM=y
+CONFIG_USB_CONFIGFS_ECM_SUBSET=y
+CONFIG_USB_CONFIGFS_RNDIS=y
+CONFIG_USB_CONFIGFS_EEM=y
+CONFIG_USB_CONFIGFS_MASS_STORAGE=y
+# CONFIG_USB_CONFIGFS_F_LB_SS is not set
+CONFIG_USB_CONFIGFS_F_FS=y
+# CONFIG_USB_CONFIGFS_F_UAC1 is not set
+# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set
+# CONFIG_USB_CONFIGFS_F_UAC2 is not set
+# CONFIG_USB_CONFIGFS_F_MIDI is not set
+# CONFIG_USB_CONFIGFS_F_MIDI2 is not set
+# CONFIG_USB_CONFIGFS_F_HID is not set
+# CONFIG_USB_CONFIGFS_F_UVC is not set
+# CONFIG_USB_CONFIGFS_F_PRINTER is not set
+
+#
+# USB Gadget precomposed configurations
+#
+# CONFIG_USB_ZERO is not set
+# CONFIG_USB_AUDIO is not set
+# CONFIG_USB_ETH is not set
+# CONFIG_USB_G_NCM is not set
+# CONFIG_USB_GADGETFS is not set
+# CONFIG_USB_FUNCTIONFS is not set
+# CONFIG_USB_MASS_STORAGE is not set
+CONFIG_USB_G_SERIAL=m
+# CONFIG_USB_MIDI_GADGET is not set
+# CONFIG_USB_G_PRINTER is not set
+CONFIG_USB_CDC_COMPOSITE=m
+# CONFIG_USB_G_ACM_MS is not set
+# CONFIG_USB_G_MULTI is not set
+# CONFIG_USB_G_HID is not set
+# CONFIG_USB_G_DBGP is not set
+# CONFIG_USB_G_WEBCAM is not set
+# CONFIG_USB_RAW_GADGET is not set
+# end of USB Gadget precomposed configurations
+
+CONFIG_TYPEC=y
+CONFIG_TYPEC_TCPM=y
+CONFIG_TYPEC_TCPCI=y
+# CONFIG_TYPEC_RT1711H is not set
+# CONFIG_TYPEC_TCPCI_MAXIM is not set
+CONFIG_TYPEC_FUSB302=m
+CONFIG_TYPEC_UCSI=m
+# CONFIG_UCSI_CCG is not set
+# CONFIG_UCSI_STM32G0 is not set
+CONFIG_TYPEC_TPS6598X=y
+# CONFIG_TYPEC_ANX7411 is not set
+# CONFIG_TYPEC_RT1719 is not set
+# CONFIG_TYPEC_HD3SS3220 is not set
+# CONFIG_TYPEC_STUSB160X is not set
+# CONFIG_TYPEC_WUSB3801 is not set
+
+#
+# USB Type-C Multiplexer/DeMultiplexer Switch support
+#
+# CONFIG_TYPEC_MUX_FSA4480 is not set
+# CONFIG_TYPEC_MUX_GPIO_SBU is not set
+# CONFIG_TYPEC_MUX_PI3USB30532 is not set
+# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
+# end of USB Type-C Multiplexer/DeMultiplexer Switch support
+
+#
+# USB Type-C Alternate Mode drivers
+#
+CONFIG_TYPEC_DP_ALTMODE=m
+# CONFIG_TYPEC_NVIDIA_ALTMODE is not set
+# end of USB Type-C Alternate Mode drivers
+
+CONFIG_USB_ROLE_SWITCH=y
+CONFIG_MMC=m
+CONFIG_PWRSEQ_EMMC=m
+CONFIG_PWRSEQ_SIMPLE=m
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_ARMMMCI is not set
+CONFIG_MMC_SDHCI=m
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+CONFIG_MMC_SDHCI_PCI=m
+CONFIG_MMC_RICOH_MMC=y
+CONFIG_MMC_SDHCI_PLTFM=m
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set
+# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+# CONFIG_MMC_DW is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+CONFIG_MMC_CQHCI=m
+CONFIG_MMC_HSQ=m
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_MMC_SDHCI_XENON is not set
+# CONFIG_MMC_SDHCI_OMAP is not set
+# CONFIG_MMC_SDHCI_AM654 is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_FLASH=y
+CONFIG_LEDS_CLASS_MULTICOLOR=y
+CONFIG_LEDS_BRIGHTNESS_HW_CHANGED=y
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_AN30259A is not set
+# CONFIG_LEDS_AW200XX is not set
+# CONFIG_LEDS_AW2013 is not set
+# CONFIG_LEDS_BCM6328 is not set
+# CONFIG_LEDS_BCM6358 is not set
+# CONFIG_LEDS_CR0014114 is not set
+# CONFIG_LEDS_EL15203000 is not set
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3532 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_LM3692X is not set
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP3952 is not set
+# CONFIG_LEDS_LP50XX is not set
+# CONFIG_LEDS_LP55XX_COMMON is not set
+# CONFIG_LEDS_LP8860 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+CONFIG_LEDS_PWM=m
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2606MVV is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_TLC591XX is not set
+# CONFIG_LEDS_LM355x is not set
+# CONFIG_LEDS_IS31FL319X is not set
+# CONFIG_LEDS_IS31FL32XX is not set
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+# CONFIG_LEDS_BLINKM is not set
+# CONFIG_LEDS_SYSCON is not set
+# CONFIG_LEDS_MLXREG is not set
+CONFIG_LEDS_USER=y
+CONFIG_LEDS_SPI_BYTE=m
+# CONFIG_LEDS_LM3697 is not set
+
+#
+# Flash and Torch LED drivers
+#
+# CONFIG_LEDS_AAT1290 is not set
+# CONFIG_LEDS_AS3645A is not set
+# CONFIG_LEDS_KTD2692 is not set
+# CONFIG_LEDS_LM3601X is not set
+# CONFIG_LEDS_RT4505 is not set
+# CONFIG_LEDS_RT8515 is not set
+# CONFIG_LEDS_SGM3140 is not set
+
+#
+# RGB LED drivers
+#
+# CONFIG_LEDS_GROUP_MULTICOLOR is not set
+# CONFIG_LEDS_PWM_MULTICOLOR is not set
+# CONFIG_LEDS_QCOM_LPG is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_TRIGGER_TIMER is not set
+# CONFIG_LEDS_TRIGGER_ONESHOT is not set
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+CONFIG_LEDS_TRIGGER_BACKLIGHT=m
+# CONFIG_LEDS_TRIGGER_CPU is not set
+# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+# CONFIG_LEDS_TRIGGER_PANIC is not set
+# CONFIG_LEDS_TRIGGER_NETDEV is not set
+# CONFIG_LEDS_TRIGGER_PATTERN is not set
+# CONFIG_LEDS_TRIGGER_AUDIO is not set
+CONFIG_LEDS_TRIGGER_TTY=m
+
+#
+# Simple LED drivers
+#
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_SUPPORT=y
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+CONFIG_RTC_DEBUG=y
+CONFIG_RTC_NVMEM=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_NCT3018Y is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_ISL12026 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF85363 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
+# CONFIG_RTC_DRV_RV3032 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_SD3078 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1302 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6916 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+# CONFIG_RTC_DRV_EFI is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_ZYNQMP is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PL030 is not set
+# CONFIG_RTC_DRV_PL031 is not set
+# CONFIG_RTC_DRV_CADENCE is not set
+# CONFIG_RTC_DRV_FTRTC010 is not set
+# CONFIG_RTC_DRV_R7301 is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_GOLDFISH is not set
+CONFIG_RTC_DRV_MACSMC=y
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_OF=y
+# CONFIG_ALTERA_MSGDMA is not set
+# CONFIG_AMBA_PL08X is not set
+CONFIG_APPLE_ADMAC=y
+# CONFIG_DW_AXI_DMAC is not set
+# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_QDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+# CONFIG_MV_XOR_V2 is not set
+# CONFIG_PL330_DMA is not set
+# CONFIG_PLX_DMA is not set
+# CONFIG_XILINX_DMA is not set
+# CONFIG_XILINX_XDMA is not set
+# CONFIG_XILINX_ZYNQMP_DMA is not set
+# CONFIG_XILINX_ZYNQMP_DPDMA is not set
+# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_HIDMA is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+# CONFIG_DW_EDMA is not set
+# CONFIG_SF_PDMA is not set
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_SW_SYNC is not set
+CONFIG_UDMABUF=y
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
+# CONFIG_DMABUF_SELFTESTS is not set
+CONFIG_DMABUF_HEAPS=y
+CONFIG_DMABUF_SYSFS_STATS=y
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+# end of DMABUF options
+
+# CONFIG_UIO is not set
+# CONFIG_VFIO is not set
+# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRTIO_ANCHOR=y
+CONFIG_VIRTIO=y
+# CONFIG_VIRTIO_MENU is not set
+# CONFIG_VDPA is not set
+# CONFIG_VHOST_MENU is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
+CONFIG_STAGING=y
+# CONFIG_PRISM2_USB is not set
+CONFIG_RTL8192U=m
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+# CONFIG_RTL8192E is not set
+# CONFIG_RTL8723BS is not set
+# CONFIG_R8712U is not set
+# CONFIG_RTS5208 is not set
+# CONFIG_VT6655 is not set
+# CONFIG_VT6656 is not set
+# CONFIG_FB_SM750 is not set
+# CONFIG_STAGING_MEDIA is not set
+# CONFIG_STAGING_BOARD is not set
+# CONFIG_LTE_GDM724X is not set
+# CONFIG_FB_TFT is not set
+# CONFIG_KS7010 is not set
+# CONFIG_PI433 is not set
+# CONFIG_XIL_AXIS_FIFO is not set
+# CONFIG_FIELDBUS_DEV is not set
+# CONFIG_QLGE is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_GOLDFISH is not set
+# CONFIG_CHROME_PLATFORMS is not set
+# CONFIG_MELLANOX_PLATFORM is not set
+# CONFIG_SURFACE_PLATFORMS is not set
+CONFIG_APPLE_PLATFORMS=y
+CONFIG_APPLE_SMC=y
+CONFIG_APPLE_SMC_RTKIT=y
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Clock driver for ARM Reference designs
+#
+# CONFIG_CLK_ICST is not set
+# CONFIG_CLK_SP810 is not set
+# end of Clock driver for ARM Reference designs
+
+# CONFIG_LMK04832 is not set
+CONFIG_COMMON_CLK_APPLE_NCO=y
+# CONFIG_COMMON_CLK_MAX9485 is not set
+# CONFIG_COMMON_CLK_SCMI is not set
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
+# CONFIG_COMMON_CLK_XGENE is not set
+# CONFIG_COMMON_CLK_PWM is not set
+# CONFIG_COMMON_CLK_RS9_PCIE is not set
+# CONFIG_COMMON_CLK_SI521XX is not set
+# CONFIG_COMMON_CLK_VC3 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_VC7 is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+# CONFIG_XILINX_VCU is not set
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_HISILICON_ERRATUM_161010101=y
+CONFIG_ARM64_ERRATUM_858921=y
+# end of Clock Source drivers
+
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IO_PGTABLE=y
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
+# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+# CONFIG_IOMMU_IO_PGTABLE_ARMV7S is not set
+CONFIG_IOMMU_IO_PGTABLE_DART=y
+# end of Generic IOMMU Pagetable Support
+
+# CONFIG_IOMMU_DEBUGFS is not set
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+# CONFIG_IOMMUFD is not set
+CONFIG_APPLE_DART=y
+# CONFIG_ARM_SMMU is not set
+# CONFIG_ARM_SMMU_V3 is not set
+# CONFIG_VIRTIO_IOMMU is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+# CONFIG_RPMSG_VIRTIO is not set
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Apple SoC drivers
+#
+CONFIG_APPLE_PMGR_PWRSTATE=y
+CONFIG_APPLE_PMGR_MISC=y
+CONFIG_APPLE_MBOX=y
+CONFIG_APPLE_RTKIT=y
+CONFIG_APPLE_RTKIT_HELPER=y
+CONFIG_APPLE_SART=y
+CONFIG_APPLE_DOCKCHANNEL=y
+# end of Apple SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# CONFIG_SOC_BRCMSTB is not set
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# CONFIG_QUICC_ENGINE is not set
+# CONFIG_FSL_RCPM is not set
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+#
+# Enable LiteX SoC Builder specific drivers
+#
+# CONFIG_LITEX_SOC_CONTROLLER is not set
+# end of Enable LiteX SoC Builder specific drivers
+
+# CONFIG_WPCM450_SOC is not set
+
+#
+# Qualcomm SoC drivers
+#
+CONFIG_QCOM_QMI_HELPERS=m
+# end of Qualcomm SoC drivers
+
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
+CONFIG_DEVFREQ_GOV_PERFORMANCE=m
+CONFIG_DEVFREQ_GOV_POWERSAVE=m
+CONFIG_DEVFREQ_GOV_USERSPACE=m
+# CONFIG_DEVFREQ_GOV_PASSIVE is not set
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_PM_DEVFREQ_EVENT=y
+CONFIG_EXTCON=y
+
+#
+# Extcon Device Drivers
+#
+# CONFIG_EXTCON_FSA9480 is not set
+# CONFIG_EXTCON_GPIO is not set
+# CONFIG_EXTCON_MAX3355 is not set
+# CONFIG_EXTCON_PTN5150 is not set
+# CONFIG_EXTCON_RT8973A is not set
+# CONFIG_EXTCON_SM5502 is not set
+# CONFIG_EXTCON_USB_GPIO is not set
+# CONFIG_EXTCON_USBC_TUSB320 is not set
+# CONFIG_MEMORY is not set
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+CONFIG_PWM_APPLE=m
+# CONFIG_PWM_ATMEL_TCB is not set
+# CONFIG_PWM_CLK is not set
+# CONFIG_PWM_DWC is not set
+# CONFIG_PWM_FSL_FTM is not set
+# CONFIG_PWM_PCA9685 is not set
+# CONFIG_PWM_XILINX is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ARM_GIC_V3_ITS_PCI=y
+# CONFIG_AL_FIC is not set
+# CONFIG_XILINX_INTC is not set
+CONFIG_PARTITION_PERCPU=y
+CONFIG_APPLE_AIC=y
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_SCMI=y
+# CONFIG_RESET_TI_SYSCON is not set
+# CONFIG_RESET_TI_TPS380X is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
+CONFIG_PHY_APPLE_ATC=y
+CONFIG_PHY_APPLE_DPTX=y
+
+#
+# PHY drivers for Broadcom platforms
+#
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# end of PHY drivers for Broadcom platforms
+
+# CONFIG_PHY_CADENCE_TORRENT is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
+# CONFIG_PHY_CADENCE_DPHY_RX is not set
+# CONFIG_PHY_CADENCE_SIERRA is not set
+# CONFIG_PHY_CADENCE_SALVO is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_LAN966X_SERDES is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_TUSB1210 is not set
+# end of PHY Subsystem
+
+CONFIG_POWERCAP=y
+# CONFIG_IDLE_INJECT is not set
+# CONFIG_ARM_SCMI_POWERCAP is not set
+# CONFIG_DTPM is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+# CONFIG_ARM_CCI_PMU is not set
+# CONFIG_ARM_CCN is not set
+# CONFIG_ARM_CMN is not set
+CONFIG_ARM_PMU=y
+# CONFIG_ARM_SMMU_V3_PMU is not set
+CONFIG_ARM_PMUV3=y
+# CONFIG_ARM_DSU_PMU is not set
+# CONFIG_ARM_SPE_PMU is not set
+CONFIG_APPLE_M1_CPU_PMU=y
+# CONFIG_HISI_PCIE_PMU is not set
+# CONFIG_HNS3_PMU is not set
+# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set
+# end of Performance monitor support
+
+CONFIG_RAS=y
+# CONFIG_USB4 is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID_BINDER_IPC is not set
+# end of Android
+
+# CONFIG_LIBNVDIMM is not set
+CONFIG_DAX=y
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+
+#
+# Layout Types
+#
+# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
+# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
+# end of Layout Types
+
+CONFIG_NVMEM_APPLE_EFUSES=y
+CONFIG_NVMEM_RMEM=m
+CONFIG_NVMEM_SPMI_MFD=y
+# CONFIG_NVMEM_SPMI_SDAM is not set
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# CONFIG_HISI_PTT is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+# CONFIG_TEE is not set
+CONFIG_MULTIPLEXER=y
+
+#
+# Multiplexer drivers
+#
+# CONFIG_MUX_ADG792A is not set
+# CONFIG_MUX_ADGS1408 is not set
+CONFIG_MUX_APPLE_DPXBAR=m
+# CONFIG_MUX_GPIO is not set
+# CONFIG_MUX_MMIO is not set
+# end of Multiplexer drivers
+
+CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# CONFIG_PECI is not set
+# CONFIG_HTE is not set
+# CONFIG_CDX_BUS is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+CONFIG_BUFFER_HEAD=y
+CONFIG_LEGACY_DIRECT_IO=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=y
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+# CONFIG_BTRFS_FS_REF_VERIFY is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_F2FS_FS=y
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+# CONFIG_F2FS_CHECK_FS is not set
+# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZO=y
+CONFIG_F2FS_FS_LZORLE=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZ4HC=y
+CONFIG_F2FS_FS_ZSTD=y
+# CONFIG_F2FS_IOSTAT is not set
+# CONFIG_F2FS_UNFAIR_RWSEM is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_EXPORTFS_BLOCK_OPS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FS_ENCRYPTION=y
+CONFIG_FS_ENCRYPTION_ALGS=y
+# CONFIG_FS_VERITY is not set
+CONFIG_FSNOTIFY=y
+# CONFIG_DNOTIFY is not set
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+CONFIG_FANOTIFY_ACCESS_PERMISSIONS=y
+# CONFIG_QUOTA is not set
+# CONFIG_AUTOFS_FS is not set
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_VIRTIO_FS=m
+CONFIG_OVERLAY_FS=m
+# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
+# CONFIG_OVERLAY_FS_INDEX is not set
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
+# CONFIG_OVERLAY_FS_METACOPY is not set
+# CONFIG_OVERLAY_FS_DEBUG is not set
+
+#
+# Caches
+#
+CONFIG_NETFS_SUPPORT=m
+# CONFIG_NETFS_STATS is not set
+# CONFIG_FSCACHE is not set
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
+CONFIG_EXFAT_FS=m
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+# CONFIG_NTFS_RW is not set
+CONFIG_NTFS3_FS=m
+# CONFIG_NTFS3_64BIT_CLUSTER is not set
+# CONFIG_NTFS3_LZX_XPRESS is not set
+# CONFIG_NTFS3_FS_POSIX_ACL is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_TMPFS_INODE64 is not set
+# CONFIG_TMPFS_QUOTA is not set
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_CONFIGFS_FS=y
+CONFIG_EFIVAR_FS=m
+# end of Pseudo filesystems
+
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_ECRYPT_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=y
+# CONFIG_SQUASHFS_FILE_CACHE is not set
+CONFIG_SQUASHFS_FILE_DIRECT=y
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+CONFIG_SQUASHFS_DECOMP_MULTI=y
+CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
+CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y
+CONFIG_SQUASHFS_MOUNT_DECOMP_THREADS=y
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_ZSTD=y
+CONFIG_SQUASHFS_4K_DEVBLK_SIZE=y
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_PSTORE=y
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
+CONFIG_PSTORE_COMPRESS=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_PMSG is not set
+# CONFIG_PSTORE_RAM is not set
+# CONFIG_PSTORE_BLK is not set
+# CONFIG_SYSV_FS is not set
+CONFIG_UFS_FS=m
+CONFIG_UFS_FS_WRITE=y
+# CONFIG_UFS_DEBUG is not set
+CONFIG_EROFS_FS=m
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_ZIP=y
+# CONFIG_EROFS_FS_ZIP_LZMA is not set
+# CONFIG_EROFS_FS_ZIP_DEFLATE is not set
+# CONFIG_EROFS_FS_PCPU_KTHREAD is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_BLOCK=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+CONFIG_NFS_V4_1_MIGRATION=y
+CONFIG_NFS_V4_SECURITY_LABEL=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
+CONFIG_NFS_V4_2_READ_PLUS=y
+CONFIG_NFSD=m
+# CONFIG_NFSD_V2 is not set
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+CONFIG_NFSD_PNFS=y
+CONFIG_NFSD_BLOCKLAYOUT=y
+CONFIG_NFSD_SCSILAYOUT=y
+CONFIG_NFSD_FLEXFILELAYOUT=y
+CONFIG_NFSD_V4_2_INTER_SSC=y
+CONFIG_NFSD_V4_SECURITY_LABEL=y
+CONFIG_GRACE_PERIOD=m
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_NFS_V4_2_SSC_HELPER=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
+# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
+# CONFIG_SUNRPC_DEBUG is not set
+CONFIG_CEPH_FS=m
+CONFIG_CEPH_FS_POSIX_ACL=y
+# CONFIG_CEPH_FS_SECURITY_LABEL is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SWN_UPCALL=y
+CONFIG_SMB_SERVER=m
+CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
+# CONFIG_SMB_SERVER_KERBEROS5 is not set
+CONFIG_SMBFS=m
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+CONFIG_NLS_CODEPAGE_866=m
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+# CONFIG_NLS_ISO8859_3 is not set
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+CONFIG_NLS_ISO8859_15=m
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+CONFIG_NLS_UTF8=m
+CONFIG_NLS_UCS2_UTILS=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_REQUEST_CACHE is not set
+CONFIG_PERSISTENT_KEYRINGS=y
+# CONFIG_TRUSTED_KEYS is not set
+CONFIG_ENCRYPTED_KEYS=y
+# CONFIG_USER_DECRYPTED_DATA is not set
+CONFIG_KEY_DH_OPERATIONS=y
+# CONFIG_KEY_NOTIFICATIONS is not set
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_NETWORK is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_HARDENED_USERCOPY is not set
+# CONFIG_FORTIFY_SOURCE is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_LOADPIN is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_SECURITY_SAFESETID is not set
+# CONFIG_SECURITY_LOCKDOWN_LSM is not set
+# CONFIG_SECURITY_LANDLOCK is not set
+# CONFIG_INTEGRITY is not set
+# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_LSM=""
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
+CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+# CONFIG_INIT_STACK_ALL_ZERO is not set
+# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+# CONFIG_ZERO_CALL_USED_REGS is not set
+# end of Memory initialization
+
+#
+# Hardening of kernel data structures
+#
+# CONFIG_LIST_HARDENED is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Hardening of kernel data structures
+
+CONFIG_RANDSTRUCT_NONE=y
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_XOR_BLOCKS=y
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_SIG2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_KPP=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_NULL=y
+CONFIG_CRYPTO_NULL2=y
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_TEST is not set
+# end of Crypto core or helper
+
+#
+# Public-key cryptography
+#
+CONFIG_CRYPTO_RSA=y
+CONFIG_CRYPTO_DH=y
+# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
+CONFIG_CRYPTO_ECC=m
+CONFIG_CRYPTO_ECDH=m
+# CONFIG_CRYPTO_ECDSA is not set
+CONFIG_CRYPTO_ECRDSA=m
+# CONFIG_CRYPTO_SM2 is not set
+CONFIG_CRYPTO_CURVE25519=m
+# end of Public-key cryptography
+
+#
+# Block ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARIA is not set
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+CONFIG_CRYPTO_SEED=m
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_SM4=m
+CONFIG_CRYPTO_SM4_GENERIC=m
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# end of Block ciphers
+
+#
+# Length-preserving ciphers and modes
+#
+CONFIG_CRYPTO_ADIANTUM=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CFB is not set
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_HCTR2 is not set
+CONFIG_CRYPTO_KEYWRAP=m
+CONFIG_CRYPTO_LRW=m
+# CONFIG_CRYPTO_OFB is not set
+# CONFIG_CRYPTO_PCBC is not set
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_NHPOLY1305=m
+# end of Length-preserving ciphers and modes
+
+#
+# AEAD (authenticated encryption with associated data) ciphers
+#
+# CONFIG_CRYPTO_AEGIS128 is not set
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_GENIV=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
+CONFIG_CRYPTO_ESSIV=m
+# end of AEAD (authenticated encryption with associated data) ciphers
+
+#
+# Hashes, digests, and MACs
+#
+CONFIG_CRYPTO_BLAKE2B=y
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_SHA3=y
+CONFIG_CRYPTO_SM3=m
+CONFIG_CRYPTO_SM3_GENERIC=m
+CONFIG_CRYPTO_STREEBOG=m
+# CONFIG_CRYPTO_VMAC is not set
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_XCBC is not set
+CONFIG_CRYPTO_XXHASH=y
+# end of Hashes, digests, and MACs
+
+#
+# CRCs (cyclic redundancy checks)
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=y
+CONFIG_CRYPTO_CRCT10DIF=y
+# end of CRCs (cyclic redundancy checks)
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=y
+# CONFIG_CRYPTO_LZO is not set
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+CONFIG_CRYPTO_ZSTD=y
+# end of Compression
+
+#
+# Random number generation
+#
+CONFIG_CRYPTO_ANSI_CPRNG=y
+CONFIG_CRYPTO_DRBG_MENU=y
+CONFIG_CRYPTO_DRBG_HMAC=y
+CONFIG_CRYPTO_DRBG_HASH=y
+CONFIG_CRYPTO_DRBG_CTR=y
+CONFIG_CRYPTO_DRBG=y
+CONFIG_CRYPTO_JITTERENTROPY=y
+# CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set
+CONFIG_CRYPTO_KDF800108_CTR=y
+# end of Random number generation
+
+#
+# Userspace interface
+#
+CONFIG_CRYPTO_USER_API=y
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+CONFIG_CRYPTO_USER_API_RNG=y
+# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
+CONFIG_CRYPTO_USER_API_AEAD=y
+CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
+# CONFIG_CRYPTO_STATS is not set
+# end of Userspace interface
+
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_CRYPTO_NHPOLY1305_NEON=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
+
+#
+# Accelerated Cryptographic Algorithms for CPU (arm64)
+#
+CONFIG_CRYPTO_GHASH_ARM64_CE=m
+CONFIG_CRYPTO_POLY1305_NEON=m
+CONFIG_CRYPTO_SHA1_ARM64_CE=m
+CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA2_ARM64_CE=m
+CONFIG_CRYPTO_SHA512_ARM64=m
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+# CONFIG_CRYPTO_SM3_NEON is not set
+CONFIG_CRYPTO_SM3_ARM64_CE=m
+# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
+CONFIG_CRYPTO_AES_ARM64=m
+CONFIG_CRYPTO_AES_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
+CONFIG_CRYPTO_SM4_ARM64_CE=m
+# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set
+# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
+# CONFIG_CRYPTO_SM4_ARM64_CE_CCM is not set
+# CONFIG_CRYPTO_SM4_ARM64_CE_GCM is not set
+# end of Accelerated Cryptographic Algorithms for CPU (arm64)
+
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
+# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
+CONFIG_CRYPTO_DEV_CCP=y
+CONFIG_CRYPTO_DEV_CCP_DD=m
+CONFIG_CRYPTO_DEV_SP_CCP=y
+CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
+# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
+CONFIG_CRYPTO_DEV_NITROX=m
+CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
+# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_C62X is not set
+# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
+# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set
+# CONFIG_CRYPTO_DEV_VIRTIO is not set
+# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
+CONFIG_CRYPTO_DEV_CCREE=m
+# CONFIG_CRYPTO_DEV_HISI_SEC is not set
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
+CONFIG_PKCS7_MESSAGE_PARSER=y
+# CONFIG_PKCS7_TEST_KEY is not set
+# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
+# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
+
+#
+# Certificates for signature checking
+#
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
+# end of Certificates for signature checking
+
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=y
+CONFIG_RAID6_PQ_BENCHMARK=y
+CONFIG_LINEAR_RANGES=y
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+CONFIG_CORDIC=m
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+# CONFIG_INDIRECT_PIO is not set
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_GF128MUL=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC64_ROCKSOFT is not set
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+# CONFIG_CRC64 is not set
+# CONFIG_CRC4 is not set
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=y
+# CONFIG_CRC8 is not set
+CONFIG_XXHASH=y
+CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=y
+CONFIG_LZ4HC_COMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMMON=y
+CONFIG_ZSTD_COMPRESS=y
+CONFIG_ZSTD_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+# CONFIG_XZ_DEC_MICROLZMA is not set
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_ZSTD=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_INTERVAL_TREE=y
+CONFIG_XARRAY_MULTI=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_DMA_OPS=y
+CONFIG_NEED_SG_DMA_FLAGS=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_SWIOTLB=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
+CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y
+# CONFIG_DMA_RESTRICTED_POOL is not set
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_DIRECT_REMAP=y
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_DMA_MAP_BENCHMARK is not set
+CONFIG_SGL_ALLOC=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+CONFIG_CLZ_TAB=y
+CONFIG_IRQ_POLL=y
+CONFIG_MPILIB=y
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_6x10 is not set
+CONFIG_FONT_10x18=y
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+CONFIG_FONT_TER16x32=y
+# CONFIG_FONT_6x8 is not set
+CONFIG_SG_POOL=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_STACKDEPOT=y
+CONFIG_SBITMAP=y
+# end of Library routines
+
+CONFIG_GENERIC_IOREMAP=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
+# end of printk and dmesg options
+
+# CONFIG_DEBUG_KERNEL is not set
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_AS_HAS_NON_CONST_LEB128=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
+CONFIG_DEBUG_FS=y
+CONFIG_DEBUG_FS_ALLOW_ALL=y
+# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set
+# CONFIG_DEBUG_FS_ALLOW_NONE is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_UBSAN is not set
+CONFIG_HAVE_KCSAN_COMPILER=y
+# end of Generic Kernel Debugging Instruments
+
+#
+# Networking Debugging
+#
+# end of Networking Debugging
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_PAGE_TABLE_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_ARCH_HAS_DEBUG_WX=y
+# CONFIG_DEBUG_WX is not set
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_PER_VMA_LOCK_STATS is not set
+# CONFIG_SHRINKER_DEBUG is not set
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+# CONFIG_DEBUG_VM_PGTABLE is not set
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_KASAN_SW_TAGS=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
+# end of Memory Debugging
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
+CONFIG_SCHED_INFO=y
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_DEBUG_IRQFLAGS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+
+#
+# Debug kernel data structures
+#
+# end of Debug kernel data structures
+
+#
+# RCU Debugging
+#
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=21000
+# CONFIG_RCU_CPU_STALL_CPUTIME is not set
+# end of RCU Debugging
+
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_IO_STRICT_DEVMEM=y
+
+#
+# arm64 Debugging
+#
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_ARM64_RELOC_TEST is not set
+# CONFIG_CORESIGHT is not set
+# end of arm64 Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+
+#
+# Rust hacking
+#
+# CONFIG_RUST_DEBUG_ASSERTIONS is not set
+CONFIG_RUST_OVERFLOW_CHECKS=y
+# CONFIG_RUST_BUILD_ASSERT_ALLOW is not set
+# end of Rust hacking
+# end of Kernel hacking
diff --git a/testing/linux-elm/APKBUILD b/testing/linux-elm/APKBUILD
index ab3601276a9..84f3c22923a 100644
--- a/testing/linux-elm/APKBUILD
+++ b/testing/linux-elm/APKBUILD
@@ -4,19 +4,18 @@ _flavor=elm
pkgname=linux-${_flavor}
# NOTE: this kernel is intended for testing
# please resist urge to upgrade it blindly
-pkgver=5.16.0
+pkgver=6.8.2
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=$pkgver;;
esac
pkgrel=0
-pkgdesc="Linux latest stable kernel for elm chromebooks"
+pkgdesc="Linux latest stable kernel for $_flavor chromebooks"
url="https://www.kernel.org"
_depends_dev="perl gmp-dev bash flex bison"
makedepends="$_depends_dev sed installkernel bc linux-headers linux-firmware-any
- openssl1.1-compat-dev diffutils findutils vboot-utils u-boot-tools dtc"
+ openssl-dev diffutils findutils vboot-utils u-boot-tools dtc"
options="!strip !check"
-_config=${config:-config-elm.${CARCH}}
install=
#subpackages="$pkgname-dev:_dev:$CBUILD_ARCH"
@@ -28,36 +27,16 @@ case $pkgver in
esac
source="$source
- config-elm.aarch64
- kernel.its.elm
- fix-mmc1-speed.patch
- fix-spi-nor-max-frequency.patch
+ config
+ kernel.its.$_flavor
fix-mmc-order.patch
+ mps-ter12x24-font-kernel.patch
"
arch="aarch64"
+_carch="arm64"
license="GPL-2.0"
-_flavors=
-for _i in $source; do
- case $_i in
- config-*.$CARCH)
- _f=${_i%.$CARCH}
- _f=${_f#config-}
- _flavors="$_flavors ${_f}"
- if [ "linux-$_f" != "$pkgname" ]; then
- subpackages="$subpackages linux-${_f}::$CBUILD_ARCH linux-${_f}-dev:_dev:$CBUILD_ARCH"
- fi
- ;;
- esac
-done
-
-_carch=${CARCH}
-case "$_carch" in
-aarch64*) _carch="arm64" ;;
-arm*) _carch="arm" ;;
-esac
-
prepare() {
local _patch_failed=
cd "$srcdir"/linux-$_kernver
@@ -93,29 +72,23 @@ prepare() {
}
oldconfig() {
- for i in $_flavors; do
- local _config=config-$i.${CARCH}
- local _builddir="$srcdir"/build-$i.$CARCH
- mkdir -p "$_builddir"
- echo "-$pkgrel-$i" > "$_builddir"/localversion-alpine \
+ local _builddir="$srcdir"/linux-$_kernver
+ echo "-$pkgrel-$_flavor" > "$_builddir"/localversion-alpine \
|| return 1
- cp "$srcdir"/$_config "$_builddir"/.config
+ cp "$srcdir"/config "$_builddir"/.config
make -C "$srcdir"/linux-$_kernver \
O="$_builddir" \
ARCH="$_carch" \
listnewconfig oldconfig
- done
}
build() {
unset LDFLAGS
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
- for i in $_flavors; do
- cd "$srcdir"/build-$i.$CARCH
- make ARCH="$_carch" CC="${CC:-gcc}" \
- KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
- done
+ cd "$srcdir"/linux-$_kernver
+ make ARCH="$_carch" CC="${CC:-gcc}" \
+ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
}
_package() {
@@ -123,7 +96,7 @@ _package() {
local _abi_release=${pkgver}-${pkgrel}-${_buildflavor}
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
- cd "$srcdir"/build-$_buildflavor.$CARCH
+ cd "$srcdir"/linux-$_kernver
# modules_install seems to regenerate a defect Modules.symvers on s390x. Work
# around it by backing it up and restore it after modules_install
cp Module.symvers Module.symvers.backup
@@ -155,14 +128,14 @@ _package() {
# main flavor installs in $pkgdir
package() {
- _package elm "$pkgdir"
- local _builddir="$srcdir"/build-$_flavor.$CARCH
+ _package $_flavor "$pkgdir"
+ local _builddir="$srcdir"/linux-$_kernver
cd $_builddir
- cp $srcdir/kernel.its.elm .
- mkimage -D "-I dts -O dtb -p 2048" -f kernel.its.elm vmlinux.uimg
+ cp $srcdir/kernel.its.$_flavor .
+ mkimage -D "-I dts -O dtb -p 2048" -f kernel.its.$_flavor vmlinux.uimg
dd if=/dev/zero of=bootloader.bin bs=512 count=1
- echo "console=tty1 earlyprintk=tty1 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd loglevel=7" > cmdline
+ echo "console=tty0 earlyprintk=tty0 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw mitigations=off loglevel=7" > cmdline
vbutil_kernel \
--pack $pkgdir/boot/vmlinux.kpart-$pkgver-$pkgrel-$_flavor \
--version 1 \
@@ -175,7 +148,7 @@ package() {
--bootloader bootloader.bin
rm cmdline bootloader.bin
- rm $pkgdir/boot/vmlinuz-elm
+ rm $pkgdir/boot/vmlinuz-$_flavor
cd $pkgdir/boot
ln -s vmlinux.kpart-$pkgver-$pkgrel-$_flavor vmlinux.kpart
}
@@ -233,10 +206,10 @@ _dev() {
}
sha512sums="
-7a257dd576bc8493595ec7d6f3c9cb6e22c772a8b2dbe735d2485c4f5c56e26a08695546e7e0f1f1cd04a533f25e829361958d4da0b98bf0ba8094dd57a85aaf linux-5.16.tar.xz
-8706ca23b3f2c7c92c44fd46bfa6aaf5ae89b213750cad1ba32704589724324fbbe4332fb54d79c5c74f1ebe5785149a92f29858b74e0557740e7f1fbb2b4812 config-elm.aarch64
+5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 linux-6.8.tar.xz
+a8e32b89f7680670c69c62f356846bb65b57614f979114627a9a2f945d7dc97c921d30197dffa993e5b18e499ba8c7196046ffdf0e721528a5378d1ee65a9ba5 patch-6.8.2.xz
+4fdd734d57e6c434765bf86e80ca4163a2491079b29ae53a00f2c28ac89d0aec4c1188bd59f12607e94a2fa2eaae7ae9cc87e1513a0f246384d038e649d8f2ab config
112af92af4a3f61867ffc20076d057845aa8c9139e58153d0c88f4d7185d9a9628fa79d4edfa8855f095fb70d257bfbd7c4573a7431d4b17706415b411a50775 kernel.its.elm
-65c57a6d9a5bd5b6ec8798d1c46091bb72377ed1349b66e9a0a1a50ffa077f044f2bfdd30eab974c9c9774fc62d8dd5020a38432d108fce7f4fc1ed6648ea703 fix-mmc1-speed.patch
-9e17fb96b81590da0f9b0917ddd2b9d195bab5cde2a4e7feb19991c50a8ac8e4502445715153ced8666e5b6575137c1d49899bb0ae9ab4505ed8f1ff7e569269 fix-spi-nor-max-frequency.patch
00e7afdab1dc89a6e0426829685d85cebb98fb95cb13a253d01326fd22f78ddf792bbe3b5be4c9bc93784f1fa93f87f604a4b6c6710660319db6f2e35dd09835 fix-mmc-order.patch
+fcea50a1ba2356d64a9c3ee0b7b7c326654996956d68eb445fafdb4320b4104b6321f768f0ce4ceb5cd4696be3a7332908ba1de7054fb20bf8c97f4234bfa6a4 mps-ter12x24-font-kernel.patch
"
diff --git a/testing/linux-elm/config b/testing/linux-elm/config
new file mode 100644
index 00000000000..72f22ff53b4
--- /dev/null
+++ b/testing/linux-elm/config
@@ -0,0 +1,6836 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm64 6.8.2 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=130201
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=24200
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=24200
+CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="localhost"
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# end of IRQ subsystem
+
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
+# CONFIG_BPF_SYSCALL is not set
+# CONFIG_BPF_JIT is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+# CONFIG_PREEMPT_DYNAMIC is not set
+# CONFIG_SCHED_CORE is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_SCHED_THERMAL_PRESSURE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+# CONFIG_TASK_XACCT is not set
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# CONFIG_UCLAMP_TASK is not set
+# end of Scheduler features
+
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC10_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
+CONFIG_CC_NO_STRINGOP_OVERFLOW=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_SCHED_MM_CID=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_RDMA=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+# CONFIG_CGROUP_PERF is not set
+# CONFIG_CGROUP_MISC is not set
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_SCHED_AUTOGROUP=y
+# CONFIG_RELAY is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+CONFIG_MULTIUSER=y
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+CONFIG_CACHESTAT_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+# CONFIG_PROFILING is not set
+
+#
+# Kexec and crash features
+#
+# CONFIG_KEXEC is not set
+# CONFIG_KEXEC_FILE is not set
+# CONFIG_CRASH_DUMP is not set
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_ARM64=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_64BIT=y
+CONFIG_MMU=y
+CONFIG_ARM64_PAGE_SHIFT=12
+CONFIG_ARM64_CONT_PTE_SHIFT=4
+CONFIG_ARM64_CONT_PMD_SHIFT=4
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_BITS_MAX=33
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
+CONFIG_NO_IOPORT_MAP=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_SMP=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=4
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
+
+#
+# Platform selection
+#
+# CONFIG_ARCH_ACTIONS is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_ALPINE is not set
+# CONFIG_ARCH_APPLE is not set
+# CONFIG_ARCH_BCM is not set
+# CONFIG_ARCH_BERLIN is not set
+# CONFIG_ARCH_BITMAIN is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_SPARX5 is not set
+# CONFIG_ARCH_K3 is not set
+# CONFIG_ARCH_LG1K is not set
+# CONFIG_ARCH_HISI is not set
+# CONFIG_ARCH_KEEMBAY is not set
+CONFIG_ARCH_MEDIATEK=y
+# CONFIG_ARCH_MESON is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_NXP is not set
+# CONFIG_ARCH_MA35 is not set
+# CONFIG_ARCH_NPCM is not set
+# CONFIG_ARCH_PENSANDO is not set
+# CONFIG_ARCH_QCOM is not set
+# CONFIG_ARCH_REALTEK is not set
+# CONFIG_ARCH_RENESAS is not set
+# CONFIG_ARCH_ROCKCHIP is not set
+# CONFIG_ARCH_SEATTLE is not set
+# CONFIG_ARCH_INTEL_SOCFPGA is not set
+# CONFIG_ARCH_STM32 is not set
+# CONFIG_ARCH_SYNQUACER is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_SPRD is not set
+# CONFIG_ARCH_THUNDER is not set
+# CONFIG_ARCH_THUNDER2 is not set
+# CONFIG_ARCH_UNIPHIER is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_VISCONTI is not set
+# CONFIG_ARCH_XGENE is not set
+# CONFIG_ARCH_ZYNQMP is not set
+# end of Platform selection
+
+#
+# Kernel Features
+#
+
+#
+# ARM errata workarounds via the alternatives framework
+#
+# CONFIG_AMPERE_ERRATUM_AC03_CPU_38 is not set
+CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
+CONFIG_ARM64_ERRATUM_826319=y
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_ERRATUM_1742098=y
+CONFIG_ARM64_ERRATUM_845719=y
+CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
+CONFIG_ARM64_ERRATUM_1024718=y
+CONFIG_ARM64_ERRATUM_1418040=y
+CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
+CONFIG_ARM64_ERRATUM_1165522=y
+CONFIG_ARM64_ERRATUM_1319367=y
+CONFIG_ARM64_ERRATUM_1530923=y
+CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
+CONFIG_ARM64_ERRATUM_2441007=y
+CONFIG_ARM64_ERRATUM_1286807=y
+CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1542419=y
+CONFIG_ARM64_ERRATUM_1508412=y
+# CONFIG_ARM64_ERRATUM_2051678 is not set
+# CONFIG_ARM64_ERRATUM_2077057 is not set
+# CONFIG_ARM64_ERRATUM_2658417 is not set
+CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y
+CONFIG_ARM64_ERRATUM_2054223=y
+# CONFIG_ARM64_ERRATUM_2067961 is not set
+# CONFIG_ARM64_ERRATUM_2441009 is not set
+# CONFIG_ARM64_ERRATUM_2457168 is not set
+# CONFIG_ARM64_ERRATUM_2645198 is not set
+# CONFIG_ARM64_ERRATUM_2966298 is not set
+# CONFIG_ARM64_ERRATUM_3117295 is not set
+CONFIG_CAVIUM_ERRATUM_22375=y
+CONFIG_CAVIUM_ERRATUM_23154=y
+CONFIG_CAVIUM_ERRATUM_27456=y
+CONFIG_CAVIUM_ERRATUM_30115=y
+CONFIG_CAVIUM_TX2_ERRATUM_219=y
+CONFIG_FUJITSU_ERRATUM_010001=y
+CONFIG_HISILICON_ERRATUM_161600802=y
+CONFIG_QCOM_FALKOR_ERRATUM_1003=y
+CONFIG_QCOM_FALKOR_ERRATUM_1009=y
+CONFIG_QCOM_QDF2400_ERRATUM_0065=y
+CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
+CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
+# CONFIG_ROCKCHIP_ERRATUM_3588001 is not set
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
+# end of ARM errata workarounds via the alternatives framework
+
+CONFIG_ARM64_4K_PAGES=y
+# CONFIG_ARM64_16K_PAGES is not set
+# CONFIG_ARM64_64K_PAGES is not set
+# CONFIG_ARM64_VA_BITS_39 is not set
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_ARM64_VA_BITS=48
+CONFIG_ARM64_PA_BITS_48=y
+CONFIG_ARM64_PA_BITS=48
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SCHED_MC=y
+# CONFIG_SCHED_CLUSTER is not set
+CONFIG_SCHED_SMT=y
+CONFIG_NR_CPUS=8
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_NUMA is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
+CONFIG_ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_TRANS_TABLE=y
+# CONFIG_XEN is not set
+CONFIG_ARCH_FORCE_MAX_ORDER=10
+CONFIG_UNMAP_KERNEL_AT_EL0=y
+CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
+CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
+# CONFIG_ARM64_SW_TTBR0_PAN is not set
+CONFIG_ARM64_TAGGED_ADDR_ABI=y
+CONFIG_COMPAT=y
+CONFIG_KUSER_HELPERS=y
+# CONFIG_COMPAT_ALIGNMENT_FIXUPS is not set
+CONFIG_ARMV8_DEPRECATED=y
+CONFIG_SWP_EMULATION=y
+CONFIG_CP15_BARRIER_EMULATION=y
+CONFIG_SETEND_EMULATION=y
+
+#
+# ARMv8.1 architectural features
+#
+CONFIG_ARM64_HW_AFDBM=y
+CONFIG_ARM64_PAN=y
+CONFIG_AS_HAS_LSE_ATOMICS=y
+CONFIG_ARM64_LSE_ATOMICS=y
+CONFIG_ARM64_USE_LSE_ATOMICS=y
+# end of ARMv8.1 architectural features
+
+#
+# ARMv8.2 architectural features
+#
+CONFIG_AS_HAS_ARMV8_2=y
+CONFIG_AS_HAS_SHA3=y
+# CONFIG_ARM64_PMEM is not set
+CONFIG_ARM64_RAS_EXTN=y
+CONFIG_ARM64_CNP=y
+# end of ARMv8.2 architectural features
+
+#
+# ARMv8.3 architectural features
+#
+CONFIG_ARM64_PTR_AUTH=y
+CONFIG_ARM64_PTR_AUTH_KERNEL=y
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
+CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
+CONFIG_AS_HAS_ARMV8_3=y
+CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
+CONFIG_AS_HAS_LDAPR=y
+# end of ARMv8.3 architectural features
+
+#
+# ARMv8.4 architectural features
+#
+CONFIG_ARM64_AMU_EXTN=y
+CONFIG_AS_HAS_ARMV8_4=y
+CONFIG_ARM64_TLB_RANGE=y
+# end of ARMv8.4 architectural features
+
+#
+# ARMv8.5 architectural features
+#
+CONFIG_AS_HAS_ARMV8_5=y
+CONFIG_ARM64_BTI=y
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
+CONFIG_ARM64_E0PD=y
+CONFIG_ARM64_AS_HAS_MTE=y
+CONFIG_ARM64_MTE=y
+# end of ARMv8.5 architectural features
+
+#
+# ARMv8.7 architectural features
+#
+CONFIG_ARM64_EPAN=y
+# end of ARMv8.7 architectural features
+
+CONFIG_ARM64_SVE=y
+# CONFIG_ARM64_SME is not set
+# CONFIG_ARM64_PSEUDO_NMI is not set
+CONFIG_RELOCATABLE=y
+# CONFIG_RANDOMIZE_BASE is not set
+CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+# end of Kernel Features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE=""
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_DMI=y
+# end of Boot options
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_HIBERNATION_SNAPSHOT_DEV=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_AUTOSLEEP=y
+# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+CONFIG_ENERGY_MODEL=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_CPU_IDLE_GOV_TEO=y
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+
+#
+# ARM CPU Idle Drivers
+#
+CONFIG_ARM_PSCI_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
+# end of ARM CPU Idle Drivers
+# end of CPU Idle
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+# CONFIG_CPU_FREQ_STAT is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+# CONFIG_CPUFREQ_DT is not set
+# CONFIG_CPUFREQ_DT_PLATDEV is not set
+CONFIG_ARM_MEDIATEK_CPUFREQ=y
+CONFIG_ARM_MEDIATEK_CPUFREQ_HW=m
+CONFIG_ARM_SCMI_CPUFREQ=m
+# end of CPU Frequency scaling
+# end of CPU Power Management
+
+CONFIG_ARCH_SUPPORTS_ACPI=y
+# CONFIG_ACPI is not set
+CONFIG_HAVE_KVM=y
+CONFIG_KVM_COMMON=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_DIRTY_RING=y
+CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
+CONFIG_NEED_KVM_DIRTY_RING_WITH_BITMAP=y
+CONFIG_KVM_MMIO=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_KVM_VFIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
+CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
+CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+# CONFIG_NVHE_EL2_DEBUG is not set
+
+#
+# General architecture-dependent options
+#
+CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+# CONFIG_KPROBES is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_KEEPINITRD=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_GATHER_TABLE_FREE=y
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_ARCH_STACKLEAK=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
+# CONFIG_SHADOW_CALL_STACK is not set
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET=y
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_HAVE_ARCH_COMPILER_H=y
+CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_HAS_RELR=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
+CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGINS is not set
+CONFIG_FUNCTION_ALIGNMENT_4B=y
+CONFIG_FUNCTION_ALIGNMENT=4
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULE_SIG_FORMAT=y
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_MODULE_SIG=y
+# CONFIG_MODULE_SIG_FORCE is not set
+# CONFIG_MODULE_SIG_ALL is not set
+CONFIG_MODULE_SIG_SHA256=y
+# CONFIG_MODULE_SIG_SHA384 is not set
+# CONFIG_MODULE_SIG_SHA512 is not set
+# CONFIG_MODULE_SIG_SHA3_256 is not set
+# CONFIG_MODULE_SIG_SHA3_384 is not set
+# CONFIG_MODULE_SIG_SHA3_512 is not set
+CONFIG_MODULE_SIG_HASH="sha256"
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_WRITE_MOUNTED is not set
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
+CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_CGROUP_IOCOST is not set
+# CONFIG_BLK_CGROUP_IOPRIO is not set
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_AIX_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+# CONFIG_CMDLINE_PARTITION is not set
+# end of Partition Types
+
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=m
+CONFIG_MQ_IOSCHED_KYBER=m
+CONFIG_IOSCHED_BFQ=m
+CONFIG_BFQ_GROUP_IOSCHED=y
+# CONFIG_BFQ_CGROUP_DEBUG is not set
+# end of IO Schedulers
+
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_STATE=y
+CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y
+CONFIG_ARCH_HAVE_ELF_PROT=y
+CONFIG_ARCH_USE_GNU_PROPERTY=y
+CONFIG_ELFCORE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_ZPOOL=y
+CONFIG_SWAP=y
+CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_DEFAULT_ON is not set
+# CONFIG_ZSWAP_EXCLUSIVE_LOADS_DEFAULT_ON is not set
+# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
+CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
+CONFIG_ZBUD=y
+CONFIG_Z3FOLD=y
+CONFIG_ZSMALLOC=y
+# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_ZSMALLOC_CHAIN_SIZE=8
+
+#
+# Slab allocator options
+#
+CONFIG_SLUB=y
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_SLUB_CPU_PARTIAL is not set
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of Slab allocator options
+
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_FAST_GUP=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+# CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
+CONFIG_MIGRATION=y
+CONFIG_PCP_BATCH_SCALE_MAX=5
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_ARCH_WANTS_THP_SWAP=y
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+# CONFIG_CMA is not set
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
+CONFIG_ARCH_USES_PG_ARCH_X=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_PERCPU_STATS is not set
+
+#
+# GUP_TEST needs to have DEBUG_FS enabled
+#
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+CONFIG_LRU_GEN=y
+CONFIG_LRU_GEN_ENABLED=y
+# CONFIG_LRU_GEN_STATS is not set
+CONFIG_LRU_GEN_WALKS_MMU=y
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CONFIG_PER_VMA_LOCK=y
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
+# end of Memory Management options
+
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+CONFIG_NET_INGRESS=y
+CONFIG_NET_EGRESS=y
+CONFIG_NET_XGRESS=y
+CONFIG_NET_REDIRECT=y
+CONFIG_SKB_EXTENSIONS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
+CONFIG_UNIX_DIAG=m
+CONFIG_TLS=m
+# CONFIG_TLS_DEVICE is not set
+# CONFIG_TLS_TOE is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_INTERFACE is not set
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_AH=m
+CONFIG_XFRM_ESP=m
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_NET_HANDSHAKE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE_COMMON=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_NET_UDP_TUNNEL=m
+CONFIG_NET_FOU=m
+CONFIG_NET_FOU_IP_TUNNELS=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+# CONFIG_INET_ESP_OFFLOAD is not set
+# CONFIG_INET_ESPINTCP is not set
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TABLE_PERTURB_ORDER=16
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+CONFIG_INET_RAW_DIAG=m
+# CONFIG_INET_DIAG_DESTROY is not set
+CONFIG_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+CONFIG_TCP_CONG_CUBIC=y
+# CONFIG_TCP_CONG_WESTWOOD is not set
+# CONFIG_TCP_CONG_HTCP is not set
+# CONFIG_TCP_CONG_HSTCP is not set
+# CONFIG_TCP_CONG_HYBLA is not set
+# CONFIG_TCP_CONG_VEGAS is not set
+# CONFIG_TCP_CONG_NV is not set
+# CONFIG_TCP_CONG_SCALABLE is not set
+# CONFIG_TCP_CONG_LP is not set
+# CONFIG_TCP_CONG_VENO is not set
+# CONFIG_TCP_CONG_YEAH is not set
+# CONFIG_TCP_CONG_ILLINOIS is not set
+# CONFIG_TCP_CONG_DCTCP is not set
+# CONFIG_TCP_CONG_CDG is not set
+# CONFIG_TCP_CONG_BBR is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_SIGPOOL=y
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=m
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+# CONFIG_INET6_ESP_OFFLOAD is not set
+# CONFIG_INET6_ESPINTCP is not set
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_VTI=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_FOU=m
+CONFIG_IPV6_FOU_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
+CONFIG_IPV6_SEG6_LWTUNNEL=y
+CONFIG_IPV6_SEG6_HMAC=y
+# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
+CONFIG_MPTCP=y
+CONFIG_INET_MPTCP_DIAG=m
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=m
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_SKIP_EGRESS=y
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NETFILTER_NETLINK_OSF=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_SYSLOG=m
+CONFIG_NETFILTER_CONNCOUNT=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_GRE=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
+CONFIG_NF_TABLES=m
+CONFIG_NF_TABLES_INET=y
+CONFIG_NF_TABLES_NETDEV=y
+CONFIG_NFT_NUMGEN=m
+CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
+CONFIG_NFT_CONNLIMIT=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_TUNNEL=m
+CONFIG_NFT_QUEUE=m
+CONFIG_NFT_QUOTA=m
+CONFIG_NFT_REJECT=m
+CONFIG_NFT_REJECT_INET=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_FIB=m
+CONFIG_NFT_FIB_INET=m
+CONFIG_NFT_XFRM=m
+CONFIG_NFT_SOCKET=m
+CONFIG_NFT_OSF=m
+CONFIG_NFT_TPROXY=m
+# CONFIG_NFT_SYNPROXY is not set
+CONFIG_NF_DUP_NETDEV=m
+CONFIG_NFT_DUP_NETDEV=m
+CONFIG_NFT_FWD_NETDEV=m
+CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_REJECT_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
+# CONFIG_NF_FLOW_TABLE_PROCFS is not set
+# CONFIG_NETFILTER_XTABLES is not set
+# end of Core Netfilter Configuration
+
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPMARK=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_IPMAC=m
+CONFIG_IP_SET_HASH_MAC=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_SOCKET_IPV4=m
+CONFIG_NF_TPROXY_IPV4=m
+CONFIG_NF_TABLES_IPV4=y
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
+CONFIG_NFT_FIB_IPV4=m
+CONFIG_NF_TABLES_ARP=y
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+# CONFIG_IP_NF_IPTABLES is not set
+# CONFIG_IP_NF_ARPTABLES is not set
+# end of IP: Netfilter Configuration
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_SOCKET_IPV6=m
+CONFIG_NF_TPROXY_IPV6=m
+CONFIG_NF_TABLES_IPV6=y
+CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
+CONFIG_NF_LOG_IPV6=m
+# CONFIG_IP6_NF_IPTABLES is not set
+# end of IPv6: Netfilter Configuration
+
+CONFIG_NF_DEFRAG_IPV6=m
+# CONFIG_NF_TABLES_BRIDGE is not set
+CONFIG_NF_CONNTRACK_BRIDGE=m
+# CONFIG_IP_DCCP is not set
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_INET_SCTP_DIAG=m
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+# CONFIG_BRIDGE_MRP is not set
+# CONFIG_BRIDGE_CFM is not set
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+# CONFIG_NET_SCH_RED is not set
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+# CONFIG_NET_SCH_CBS is not set
+# CONFIG_NET_SCH_ETF is not set
+CONFIG_NET_SCH_MQPRIO_LIB=m
+# CONFIG_NET_SCH_TAPRIO is not set
+# CONFIG_NET_SCH_GRED is not set
+CONFIG_NET_SCH_NETEM=m
+# CONFIG_NET_SCH_DRR is not set
+CONFIG_NET_SCH_MQPRIO=m
+# CONFIG_NET_SCH_SKBPRIO is not set
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+# CONFIG_NET_SCH_CAKE is not set
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_HHF=m
+CONFIG_NET_SCH_PIE=m
+CONFIG_NET_SCH_FQ_PIE=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+CONFIG_NET_SCH_ETS=m
+# CONFIG_NET_SCH_DEFAULT is not set
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_FLOW=m
+# CONFIG_NET_CLS_CGROUP is not set
+# CONFIG_NET_CLS_BPF is not set
+CONFIG_NET_CLS_FLOWER=m
+# CONFIG_NET_CLS_MATCHALL is not set
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=y
+CONFIG_NET_ACT_GACT=y
+# CONFIG_GACT_PROB is not set
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_SAMPLE=m
+CONFIG_NET_ACT_NAT=m
+# CONFIG_NET_ACT_PEDIT is not set
+# CONFIG_NET_ACT_SIMP is not set
+# CONFIG_NET_ACT_SKBEDIT is not set
+# CONFIG_NET_ACT_CSUM is not set
+# CONFIG_NET_ACT_MPLS is not set
+# CONFIG_NET_ACT_VLAN is not set
+# CONFIG_NET_ACT_BPF is not set
+CONFIG_NET_ACT_CONNMARK=m
+# CONFIG_NET_ACT_CTINFO is not set
+CONFIG_NET_ACT_SKBMOD=m
+CONFIG_NET_ACT_IFE=m
+CONFIG_NET_ACT_TUNNEL_KEY=m
+# CONFIG_NET_ACT_CT is not set
+# CONFIG_NET_ACT_GATE is not set
+CONFIG_NET_IFE_SKBMARK=m
+CONFIG_NET_IFE_SKBPRIO=m
+CONFIG_NET_IFE_SKBTCINDEX=m
+# CONFIG_NET_TC_SKB_EXT is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=m
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+CONFIG_NETLINK_DIAG=m
+CONFIG_MPLS=y
+CONFIG_NET_MPLS_GSO=m
+CONFIG_MPLS_ROUTING=m
+# CONFIG_MPLS_IPTUNNEL is not set
+CONFIG_NET_NSH=m
+CONFIG_HSR=m
+# CONFIG_NET_SWITCHDEV is not set
+# CONFIG_NET_L3_MASTER_DEV is not set
+# CONFIG_QRTR is not set
+# CONFIG_NET_NCSI is not set
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_MAX_SKB_FRAGS=17
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# end of Network testing
+# end of Networking options
+
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_YAM=m
+# end of AX.25 network device drivers
+
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+# CONFIG_CAN_J1939 is not set
+# CONFIG_CAN_ISOTP is not set
+CONFIG_BT=m
+CONFIG_BT_BREDR=y
+# CONFIG_BT_RFCOMM is not set
+# CONFIG_BT_BNEP is not set
+# CONFIG_BT_HIDP is not set
+CONFIG_BT_LE=y
+CONFIG_BT_LE_L2CAP_ECRED=y
+# CONFIG_BT_LEDS is not set
+# CONFIG_BT_MSFTEXT is not set
+# CONFIG_BT_AOSPEXT is not set
+# CONFIG_BT_FEATURE_DEBUG is not set
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_BT_HCIBTUSB is not set
+# CONFIG_BT_HCIBTSDIO is not set
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+# CONFIG_BT_MTKSDIO is not set
+# CONFIG_BT_VIRTIO is not set
+# end of Bluetooth device drivers
+
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+CONFIG_STREAM_PARSER=y
+# CONFIG_MCTP is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_GPIO=m
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+CONFIG_PSAMPLE=m
+CONFIG_NET_IFE=m
+CONFIG_LWTUNNEL=y
+# CONFIG_LWTUNNEL_BPF is not set
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_SOCK_MSG=y
+CONFIG_PAGE_POOL=y
+CONFIG_PAGE_POOL_STATS=y
+CONFIG_FAILOVER=m
+CONFIG_ETHTOOL_NETLINK=y
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+# CONFIG_PCI is not set
+# CONFIG_PCCARD is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_DEVTMPFS_SAFE is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_FW_LOADER_COMPRESS is not set
+CONFIG_FW_CACHE=y
+# CONFIG_FW_UPLOAD is not set
+# end of Firmware loader
+
+CONFIG_WANT_DEV_COREDUMP=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_DEVICES=y
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DMA_FENCE_TRACE is not set
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_MOXTET is not set
+# CONFIG_VEXPRESS_CONFIG is not set
+# CONFIG_MHI_BUS is not set
+# CONFIG_MHI_BUS_EP is not set
+# end of Bus devices
+
+#
+# Cache Drivers
+#
+# end of Cache Drivers
+
+CONFIG_CONNECTOR=m
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+CONFIG_ARM_SCMI_PROTOCOL=m
+CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
+CONFIG_ARM_SCMI_HAVE_SHMEM=y
+CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y
+CONFIG_ARM_SCMI_TRANSPORT_SMC=y
+# CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE is not set
+# CONFIG_ARM_SCMI_TRANSPORT_VIRTIO is not set
+# CONFIG_ARM_SCMI_POWER_CONTROL is not set
+# end of ARM System Control and Management Interface Protocol
+
+CONFIG_ARM_SCPI_PROTOCOL=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_SYSFB=y
+CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_ARM_FFA_TRANSPORT is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=m
+# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB=y
+# CONFIG_EFI_ZBOOT is not set
+CONFIG_EFI_ARMSTUB_DTB_LOADER=y
+CONFIG_EFI_BOOTLOADER_CONTROL=y
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+CONFIG_ARM_PSCI_FW=y
+# CONFIG_ARM_PSCI_CHECKER is not set
+
+#
+# Qualcomm firmware drivers
+#
+# end of Qualcomm firmware drivers
+
+CONFIG_HAVE_ARM_SMCCC=y
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
+CONFIG_ARM_SMCCC_SOC_ID=y
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
+# CONFIG_GNSS is not set
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_OF_RESOLVE=y
+CONFIG_OF_OVERLAY=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+CONFIG_CDROM=m
+CONFIG_ZRAM=m
+# CONFIG_ZRAM_DEF_COMP_LZORLE is not set
+CONFIG_ZRAM_DEF_COMP_ZSTD=y
+# CONFIG_ZRAM_DEF_COMP_LZO is not set
+CONFIG_ZRAM_DEF_COMP="zstd"
+# CONFIG_ZRAM_WRITEBACK is not set
+# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
+# CONFIG_ZRAM_MULTI_COMP is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_UBLK is not set
+
+#
+# NVME Support
+#
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_TARGET is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HI6421V600_IRQ is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_HISI_HIKEY_USB is not set
+# CONFIG_OPEN_DICE is not set
+# CONFIG_VCPU_STALL_DETECTOR is not set
+# CONFIG_NSM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_MAX6875 is not set
+CONFIG_EEPROM_93CX6=m
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_ECHO is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_UACCE is not set
+# CONFIG_PVPANIC is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_CHR_DEV_SG is not set
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# end of SCSI Transports
+
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_DEBUG is not set
+CONFIG_SCSI_VIRTIO=m
+# CONFIG_SCSI_DH is not set
+# end of SCSI device support
+
+# CONFIG_ATA is not set
+CONFIG_MD=y
+# CONFIG_BLK_DEV_MD is not set
+# CONFIG_MD_BITMAP_FILE is not set
+# CONFIG_BCACHE is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+# CONFIG_DM_UNSTRIPED is not set
+CONFIG_DM_CRYPT=m
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_THIN_PROVISIONING is not set
+# CONFIG_DM_CACHE is not set
+# CONFIG_DM_WRITECACHE is not set
+# CONFIG_DM_EBS is not set
+# CONFIG_DM_ERA is not set
+# CONFIG_DM_CLONE is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_RAID is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_DUST is not set
+# CONFIG_DM_UEVENT is not set
+# CONFIG_DM_FLAKEY is not set
+# CONFIG_DM_VERITY is not set
+# CONFIG_DM_SWITCH is not set
+# CONFIG_DM_LOG_WRITES is not set
+# CONFIG_DM_INTEGRITY is not set
+# CONFIG_TARGET_CORE is not set
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_WIREGUARD=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_EQUALIZER=m
+CONFIG_IFB=m
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_IPVLAN is not set
+# CONFIG_VXLAN is not set
+# CONFIG_GENEVE is not set
+CONFIG_BAREUDP=m
+CONFIG_GTP=m
+CONFIG_AMT=m
+CONFIG_MACSEC=m
+# CONFIG_NETCONSOLE is not set
+CONFIG_TUN=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_NLMON=m
+# CONFIG_ETHERNET is not set
+CONFIG_PHYLINK=m
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+CONFIG_LED_TRIGGER_PHY=y
+CONFIG_PHYLIB_LEDS=y
+CONFIG_FIXED_PHY=y
+# CONFIG_SFP is not set
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AMD_PHY is not set
+# CONFIG_ADIN_PHY is not set
+# CONFIG_ADIN1100_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+CONFIG_AX88796B_PHY=m
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM54140_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM84881_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
+# CONFIG_MARVELL_88X2222_PHY is not set
+# CONFIG_MAXLINEAR_GPHY is not set
+# CONFIG_MEDIATEK_GE_PHY is not set
+# CONFIG_MEDIATEK_GE_SOC_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_MICROCHIP_T1S_PHY is not set
+CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_T1_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+# CONFIG_MOTORCOMM_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_NXP_CBTX_PHY is not set
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
+# CONFIG_NXP_TJA11XX_PHY is not set
+# CONFIG_NCN26000_PHY is not set
+CONFIG_AT803X_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_REALTEK_PHY=m
+# CONFIG_RENESAS_PHY is not set
+CONFIG_ROCKCHIP_PHY=y
+CONFIG_SMSC_PHY=m
+CONFIG_STE10XP=m
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+# CONFIG_DP83869_PHY is not set
+# CONFIG_DP83TD510_PHY is not set
+# CONFIG_DP83TG720_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PSE_CONTROLLER is not set
+CONFIG_CAN_DEV=m
+# CONFIG_CAN_VCAN is not set
+# CONFIG_CAN_VXCAN is not set
+# CONFIG_CAN_NETLINK is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_MDIO_HISI_FEMAC is not set
+# CONFIG_MDIO_MVUSB is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_IPQ4019 is not set
+# CONFIG_MDIO_IPQ8064 is not set
+
+#
+# MDIO Multiplexers
+#
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+
+#
+# PCS device drivers
+#
+# end of PCS device drivers
+
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOE=m
+# CONFIG_PPPOE_HASH_BITS_1 is not set
+# CONFIG_PPPOE_HASH_BITS_2 is not set
+CONFIG_PPPOE_HASH_BITS_4=y
+# CONFIG_PPPOE_HASH_BITS_8 is not set
+CONFIG_PPPOE_HASH_BITS=4
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
+CONFIG_USB_NET_DRIVERS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_HUAWEI_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9700=m
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_USB_NET_CH9200=m
+CONFIG_USB_NET_AQC111=m
+CONFIG_USB_RTL8153_ECM=m
+CONFIG_WLAN=y
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+# CONFIG_WLAN_VENDOR_ATH is not set
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+CONFIG_WLAN_VENDOR_MARVELL=y
+# CONFIG_LIBERTAS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_USB=m
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+CONFIG_MT7601U=m
+# CONFIG_MT76x0U is not set
+# CONFIG_MT76x2U is not set
+# CONFIG_MT7663U is not set
+# CONFIG_MT7663S is not set
+# CONFIG_MT7921S is not set
+# CONFIG_MT7921U is not set
+# CONFIG_MT7925U is not set
+CONFIG_WLAN_VENDOR_MICROCHIP=y
+# CONFIG_WILC1000_SDIO is not set
+# CONFIG_WILC1000_SPI is not set
+# CONFIG_WLAN_VENDOR_PURELIFI is not set
+# CONFIG_WLAN_VENDOR_RALINK is not set
+# CONFIG_WLAN_VENDOR_REALTEK is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_SILABS is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+# CONFIG_WLAN_VENDOR_TI is not set
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
+CONFIG_MAC80211_HWSIM=m
+CONFIG_VIRT_WIFI=m
+# CONFIG_WAN is not set
+
+#
+# Wireless WAN
+#
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
+CONFIG_NET_FAILOVER=m
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=m
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=y
+CONFIG_INPUT_VIVALDIFMAP=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADC is not set
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_PINEPHONE is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=y
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+# CONFIG_KEYBOARD_MT6779 is not set
+CONFIG_KEYBOARD_MTK_PMIC=m
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
+CONFIG_INPUT_MOUSE=y
+# CONFIG_MOUSE_PS2 is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+CONFIG_MOUSE_ELAN_I2C=m
+CONFIG_MOUSE_ELAN_I2C_I2C=y
+CONFIG_MOUSE_ELAN_I2C_SMBUS=y
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+CONFIG_MOUSE_SYNAPTICS_I2C=m
+CONFIG_MOUSE_SYNAPTICS_USB=m
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADC is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=m
+# CONFIG_JOYSTICK_IFORCE_232 is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_ZHENHUA is not set
+# CONFIG_JOYSTICK_AS5011 is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+# CONFIG_JOYSTICK_PSXPAD_SPI is not set
+# CONFIG_JOYSTICK_PXRC is not set
+# CONFIG_JOYSTICK_QWIIC is not set
+# CONFIG_JOYSTICK_FSIA6B is not set
+# CONFIG_JOYSTICK_SENSEHAT is not set
+# CONFIG_JOYSTICK_SEESAW is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_ADC is not set
+# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
+# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+# CONFIG_TOUCHSCREEN_BU21029 is not set
+# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
+# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+# CONFIG_TOUCHSCREEN_EETI is not set
+# CONFIG_TOUCHSCREEN_EGALAX is not set
+# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
+# CONFIG_TOUCHSCREEN_EXC3000 is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GOODIX is not set
+# CONFIG_TOUCHSCREEN_HIDEEP is not set
+# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
+# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
+# CONFIG_TOUCHSCREEN_ILI210X is not set
+# CONFIG_TOUCHSCREEN_ILITEK is not set
+# CONFIG_TOUCHSCREEN_S6SY761 is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_EKTF2127 is not set
+CONFIG_TOUCHSCREEN_ELAN=m
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
+# CONFIG_TOUCHSCREEN_MAX11801 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+# CONFIG_TOUCHSCREEN_MMS114 is not set
+CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
+# CONFIG_TOUCHSCREEN_MSG2638 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
+# CONFIG_TOUCHSCREEN_IMAGIS is not set
+# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
+# CONFIG_TOUCHSCREEN_TSC2004 is not set
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_TOUCHSCREEN_RM_TS is not set
+# CONFIG_TOUCHSCREEN_SILEAD is not set
+# CONFIG_TOUCHSCREEN_SIS_I2C is not set
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_STMFTS is not set
+# CONFIG_TOUCHSCREEN_SUR40 is not set
+# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
+# CONFIG_TOUCHSCREEN_SX8654 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+# CONFIG_TOUCHSCREEN_ZET6223 is not set
+# CONFIG_TOUCHSCREEN_ZFORCE is not set
+# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
+# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
+# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
+# CONFIG_TOUCHSCREEN_ZINITIX is not set
+# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
+# CONFIG_INPUT_BMA150 is not set
+# CONFIG_INPUT_E3X0_BUTTON is not set
+# CONFIG_INPUT_MMA8450 is not set
+# CONFIG_INPUT_GPIO_BEEPER is not set
+# CONFIG_INPUT_GPIO_DECODER is not set
+# CONFIG_INPUT_GPIO_VIBRA is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_KXTJ9 is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_REGULATOR_HAPTIC is not set
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PALMAS_PWRBUTTON is not set
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_DA7280_HAPTICS is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_IMS_PCU is not set
+# CONFIG_INPUT_IQS269A is not set
+# CONFIG_INPUT_IQS626A is not set
+# CONFIG_INPUT_IQS7222 is not set
+# CONFIG_INPUT_CMA3000 is not set
+# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
+# CONFIG_INPUT_DRV2667_HAPTICS is not set
+CONFIG_RMI4_CORE=y
+# CONFIG_RMI4_I2C is not set
+# CONFIG_RMI4_SPI is not set
+# CONFIG_RMI4_SMB is not set
+CONFIG_RMI4_F03=y
+CONFIG_RMI4_F03_SERIO=y
+CONFIG_RMI4_2D_SENSOR=y
+CONFIG_RMI4_F11=y
+CONFIG_RMI4_F12=y
+CONFIG_RMI4_F30=y
+# CONFIG_RMI4_F34 is not set
+# CONFIG_RMI4_F3A is not set
+# CONFIG_RMI4_F55 is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=m
+# CONFIG_SERIO_AMBAKMI is not set
+# CONFIG_SERIO_LIBPS2 is not set
+CONFIG_SERIO_RAW=m
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_LEGACY_TIOCSTI is not set
+CONFIG_LDISC_AUTOLOAD=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+# CONFIG_SERIAL_8250_FINTEK is not set
+# CONFIG_SERIAL_8250_CONSOLE is not set
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_FSL=y
+# CONFIG_SERIAL_8250_DW is not set
+# CONFIG_SERIAL_8250_RT288X is not set
+CONFIG_SERIAL_8250_MT6577=y
+CONFIG_SERIAL_OF_PLATFORM=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+# CONFIG_SERIAL_AMBA_PL011 is not set
+# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NULL_TTY is not set
+CONFIG_HVC_DRIVER=y
+# CONFIG_HVC_DCC is not set
+# CONFIG_SERIAL_DEV_BUS is not set
+CONFIG_VIRTIO_CONSOLE=m
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=m
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+# CONFIG_HW_RANDOM_BA431 is not set
+CONFIG_HW_RANDOM_VIRTIO=m
+CONFIG_HW_RANDOM_MTK=m
+# CONFIG_HW_RANDOM_CCTRNG is not set
+# CONFIG_HW_RANDOM_XIPHERA is not set
+CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
+CONFIG_DEVMEM=y
+CONFIG_DEVPORT=y
+# CONFIG_TCG_TPM is not set
+# CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
+# end of Character devices
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=y
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_GPMUX is not set
+# CONFIG_I2C_MUX_LTC4306 is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+# CONFIG_I2C_MUX_PCA954x is not set
+# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
+# CONFIG_I2C_DEMUX_PINCTRL is not set
+# CONFIG_I2C_MUX_MLXCPLD is not set
+# end of Multiplexer I2C Chip support
+
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CADENCE is not set
+# CONFIG_I2C_CBUS_GPIO is not set
+# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
+# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_HISI is not set
+CONFIG_I2C_MT65XX=y
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_RK3X is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_CP2615 is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TINY_USB=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_CROS_EC_TUNNEL=y
+# CONFIG_I2C_VIRTIO is not set
+# end of I2C Hardware Bus support
+
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_SLAVE is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_CADENCE is not set
+# CONFIG_SPI_CADENCE_QUADSPI is not set
+# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_GPIO=y
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_MICROCHIP_CORE is not set
+# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
+CONFIG_SPI_MT65XX=y
+CONFIG_SPI_MTK_NOR=y
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PL022 is not set
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
+CONFIG_SPI_SLAVE_MT27XX=m
+# CONFIG_SPI_SN_F_OSPI is not set
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+# CONFIG_SPI_AMD is not set
+
+#
+# SPI Multiplexer support
+#
+# CONFIG_SPI_MUX is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=y
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_SLAVE_TIME=m
+CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m
+CONFIG_SPI_DYNAMIC=y
+CONFIG_SPMI=m
+# CONFIG_SPMI_HISI3670 is not set
+CONFIG_SPMI_MTK_PMIF=m
+# CONFIG_HSI is not set
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+CONFIG_PPS_CLIENT_KTIMER=m
+CONFIG_PPS_CLIENT_LDISC=m
+CONFIG_PPS_CLIENT_GPIO=m
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+# CONFIG_PTP_1588_CLOCK is not set
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_PINCTRL_AS3722 is not set
+# CONFIG_PINCTRL_CY8C95X0 is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
+# CONFIG_PINCTRL_PALMAS is not set
+# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_STMFX is not set
+# CONFIG_PINCTRL_SX150X is not set
+
+#
+# MediaTek pinctrl drivers
+#
+CONFIG_EINT_MTK=y
+CONFIG_PINCTRL_MTK=y
+CONFIG_PINCTRL_MTK_V2=y
+CONFIG_PINCTRL_MTK_MOORE=y
+CONFIG_PINCTRL_MTK_PARIS=y
+CONFIG_PINCTRL_MT2712=y
+CONFIG_PINCTRL_MT6765=y
+CONFIG_PINCTRL_MT6779=y
+CONFIG_PINCTRL_MT6795=y
+CONFIG_PINCTRL_MT6797=y
+CONFIG_PINCTRL_MT7622=y
+CONFIG_PINCTRL_MT7981=y
+CONFIG_PINCTRL_MT7986=y
+CONFIG_PINCTRL_MT8167=y
+CONFIG_PINCTRL_MT8173=y
+CONFIG_PINCTRL_MT8183=y
+CONFIG_PINCTRL_MT8186=y
+# CONFIG_PINCTRL_MT8188 is not set
+CONFIG_PINCTRL_MT8192=y
+# CONFIG_PINCTRL_MT8195 is not set
+CONFIG_PINCTRL_MT8365=y
+CONFIG_PINCTRL_MT8516=y
+CONFIG_PINCTRL_MT6397=y
+# end of MediaTek pinctrl drivers
+
+#
+# Renesas pinctrl drivers
+#
+# end of Renesas pinctrl drivers
+
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
+# CONFIG_GPIO_DWAPB is not set
+# CONFIG_GPIO_FTGPIO010 is not set
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HISI is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
+# CONFIG_GPIO_MB86S7X is not set
+# CONFIG_GPIO_PL061 is not set
+# CONFIG_GPIO_SIFIVE is not set
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_XGENE is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_AMD_FCH is not set
+# end of Memory mapped GPIO drivers
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_FXL6408 is not set
+# CONFIG_GPIO_DS4520 is not set
+# CONFIG_GPIO_GW_PLD is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCA9570 is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# end of I2C GPIO expanders
+
+#
+# MFD GPIO expanders
+#
+CONFIG_GPIO_PALMAS=y
+# CONFIG_GPIO_TPS6586X is not set
+# end of MFD GPIO expanders
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+# end of SPI GPIO expanders
+
+#
+# USB GPIO expanders
+#
+# end of USB GPIO expanders
+
+#
+# Virtual GPIO drivers
+#
+CONFIG_GPIO_AGGREGATOR=m
+# CONFIG_GPIO_LATCH is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_VIRTIO is not set
+# CONFIG_GPIO_SIM is not set
+# end of Virtual GPIO drivers
+
+# CONFIG_W1 is not set
+CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_AS3722 is not set
+# CONFIG_POWER_RESET_GPIO is not set
+# CONFIG_POWER_RESET_GPIO_RESTART is not set
+# CONFIG_POWER_RESET_LTC2952 is not set
+CONFIG_POWER_RESET_MT6323=y
+# CONFIG_POWER_RESET_REGULATOR is not set
+# CONFIG_POWER_RESET_RESTART is not set
+# CONFIG_POWER_RESET_XGENE is not set
+# CONFIG_POWER_RESET_SYSCON is not set
+# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
+# CONFIG_SYSCON_REBOOT_MODE is not set
+# CONFIG_NVMEM_REBOOT_MODE is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_GENERIC_ADC_BATTERY is not set
+# CONFIG_IP5XXX_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_CHARGER_ADP5061 is not set
+# CONFIG_BATTERY_CW2015 is not set
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
+CONFIG_BATTERY_SBS=m
+CONFIG_CHARGER_SBS=m
+CONFIG_MANAGER_SBS=m
+# CONFIG_BATTERY_BQ27XXX is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_MANAGER is not set
+# CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
+# CONFIG_CHARGER_MT6360 is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
+# CONFIG_CHARGER_BQ24735 is not set
+# CONFIG_CHARGER_BQ2515X is not set
+# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_BQ25980 is not set
+# CONFIG_CHARGER_BQ256XX is not set
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_CHARGER_TPS65090 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_RT9467 is not set
+# CONFIG_CHARGER_RT9471 is not set
+CONFIG_CHARGER_CROS_USBPD=m
+CONFIG_CHARGER_CROS_PCHG=m
+# CONFIG_CHARGER_UCS1002 is not set
+# CONFIG_CHARGER_BD99954 is not set
+# CONFIG_BATTERY_UG3105 is not set
+# CONFIG_FUEL_GAUGE_MM8013 is not set
+CONFIG_HWMON=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM1177 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
+# CONFIG_SENSORS_AS370 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
+CONFIG_SENSORS_ARM_SCMI=m
+CONFIG_SENSORS_ARM_SCPI=m
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_CORSAIR_CPRO is not set
+# CONFIG_SENSORS_CORSAIR_PSU is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_FTSTEUTATES is not set
+# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_HS3001 is not set
+CONFIG_SENSORS_IIO_HWMON=m
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWERZ is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC2991 is not set
+# CONFIG_SENSORS_LTC2992 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX127 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX31760 is not set
+# CONFIG_MAX31827 is not set
+# CONFIG_SENSORS_MAX6620 is not set
+# CONFIG_SENSORS_MAX6621 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MC34VR500 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_TPS23861 is not set
+# CONFIG_SENSORS_MR75203 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+CONFIG_SENSORS_LM90=m
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NTC_THERMISTOR is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NCT6775_I2C is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NCT7904 is not set
+# CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
+# CONFIG_SENSORS_OCC_P8_I2C is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+# CONFIG_SENSORS_PWM_FAN is not set
+# CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHT3x is not set
+# CONFIG_SENSORS_SHT4x is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC2305 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_STTS751 is not set
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+# CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA238 is not set
+# CONFIG_SENSORS_INA3221 is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP108 is not set
+CONFIG_SENSORS_TMP401=m
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_TMP464 is not set
+# CONFIG_SENSORS_TMP513 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_W83773G is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+CONFIG_THERMAL=y
+CONFIG_THERMAL_NETLINK=y
+# CONFIG_THERMAL_STATISTICS is not set
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_OF=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_BANG_BANG is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_BANG_BANG=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
+CONFIG_CPU_THERMAL=y
+CONFIG_CPU_FREQ_THERMAL=y
+# CONFIG_CPU_IDLE_THERMAL is not set
+CONFIG_DEVFREQ_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+# CONFIG_THERMAL_MMIO is not set
+
+#
+# Mediatek thermal drivers
+#
+CONFIG_MTK_THERMAL=y
+CONFIG_MTK_SOC_THERMAL=m
+CONFIG_MTK_LVTS_THERMAL=m
+# end of Mediatek thermal drivers
+
+CONFIG_GENERIC_ADC_THERMAL=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=m
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+# CONFIG_WATCHDOG_SYSFS is not set
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_XILINX_WINDOW_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_ARM_SP805_WATCHDOG is not set
+# CONFIG_ARM_SBSA_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+CONFIG_MEDIATEK_WATCHDOG=m
+# CONFIG_ARM_SMC_WATCHDOG is not set
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+CONFIG_SSB=m
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+# CONFIG_SSB_DRIVER_GPIO is not set
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_ACT8945A is not set
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_SMPRO is not set
+CONFIG_MFD_AS3722=m
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+# CONFIG_MFD_AXP20X_I2C is not set
+CONFIG_MFD_CROS_EC_DEV=y
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_MFD_MAX5970 is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_HI6421_SPMI is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77541 is not set
+# CONFIG_MFD_MAX77620 is not set
+# CONFIG_MFD_MAX77650 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77714 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+CONFIG_MFD_MT6360=m
+# CONFIG_MFD_MT6370 is not set
+CONFIG_MFD_MT6397=y
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_MFD_OCELOT is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_NTXEC is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_SY7636A is not set
+# CONFIG_MFD_RT4831 is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RT5120 is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_RK8XX_I2C is not set
+# CONFIG_MFD_RK8XX_SPI is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+CONFIG_MFD_PALMAS=y
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+CONFIG_MFD_TPS65090=y
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS65219 is not set
+CONFIG_MFD_TPS6586X=y
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS6594_I2C is not set
+# CONFIG_MFD_TPS6594_SPI is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
+# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_STMFX is not set
+# CONFIG_MFD_ATC260X_I2C is not set
+# CONFIG_MFD_QCOM_PM8008 is not set
+# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
+# CONFIG_MFD_RSMU_I2C is not set
+# CONFIG_MFD_RSMU_SPI is not set
+# end of Multifunction device drivers
+
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+CONFIG_REGULATOR_USERSPACE_CONSUMER=m
+# CONFIG_REGULATOR_NETLINK_EVENTS is not set
+# CONFIG_REGULATOR_88PG86X is not set
+# CONFIG_REGULATOR_ACT8865 is not set
+# CONFIG_REGULATOR_AD5398 is not set
+CONFIG_REGULATOR_ARM_SCMI=m
+CONFIG_REGULATOR_AS3722=m
+# CONFIG_REGULATOR_AW37503 is not set
+CONFIG_REGULATOR_CROS_EC=m
+# CONFIG_REGULATOR_DA9121 is not set
+# CONFIG_REGULATOR_DA9210 is not set
+CONFIG_REGULATOR_DA9211=y
+# CONFIG_REGULATOR_FAN53555 is not set
+# CONFIG_REGULATOR_FAN53880 is not set
+CONFIG_REGULATOR_GPIO=y
+# CONFIG_REGULATOR_ISL9305 is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_LTC3589 is not set
+# CONFIG_REGULATOR_LTC3676 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77503 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8893 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+CONFIG_REGULATOR_MAX8973=m
+# CONFIG_REGULATOR_MAX20086 is not set
+# CONFIG_REGULATOR_MAX20411 is not set
+# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP5416 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MP886X is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
+CONFIG_REGULATOR_MT6311=y
+# CONFIG_REGULATOR_MT6315 is not set
+CONFIG_REGULATOR_MT6323=y
+# CONFIG_REGULATOR_MT6331 is not set
+# CONFIG_REGULATOR_MT6332 is not set
+# CONFIG_REGULATOR_MT6357 is not set
+CONFIG_REGULATOR_MT6358=y
+CONFIG_REGULATOR_MT6359=m
+CONFIG_REGULATOR_MT6360=m
+CONFIG_REGULATOR_MT6380=y
+CONFIG_REGULATOR_MT6397=y
+CONFIG_REGULATOR_PALMAS=y
+# CONFIG_REGULATOR_PCA9450 is not set
+# CONFIG_REGULATOR_PF8X00 is not set
+# CONFIG_REGULATOR_PFUZE100 is not set
+# CONFIG_REGULATOR_PV88060 is not set
+# CONFIG_REGULATOR_PV88080 is not set
+# CONFIG_REGULATOR_PV88090 is not set
+CONFIG_REGULATOR_PWM=y
+# CONFIG_REGULATOR_QCOM_SPMI is not set
+# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
+# CONFIG_REGULATOR_RAA215300 is not set
+# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
+# CONFIG_REGULATOR_RT4801 is not set
+# CONFIG_REGULATOR_RT4803 is not set
+# CONFIG_REGULATOR_RT5190A is not set
+# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RT5759 is not set
+# CONFIG_REGULATOR_RT6160 is not set
+# CONFIG_REGULATOR_RT6190 is not set
+# CONFIG_REGULATOR_RT6245 is not set
+# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTMV20 is not set
+# CONFIG_REGULATOR_RTQ6752 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
+# CONFIG_REGULATOR_SLG51000 is not set
+# CONFIG_REGULATOR_SY8106A is not set
+# CONFIG_REGULATOR_SY8824X is not set
+# CONFIG_REGULATOR_SY8827N is not set
+CONFIG_REGULATOR_TPS51632=m
+CONFIG_REGULATOR_TPS62360=m
+# CONFIG_REGULATOR_TPS6286X is not set
+# CONFIG_REGULATOR_TPS6287X is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+CONFIG_REGULATOR_TPS65090=m
+# CONFIG_REGULATOR_TPS65132 is not set
+# CONFIG_REGULATOR_TPS6524X is not set
+# CONFIG_REGULATOR_TPS6586X is not set
+CONFIG_REGULATOR_VCTRL=m
+# CONFIG_REGULATOR_QCOM_LABIBB is not set
+# CONFIG_RC_CORE is not set
+CONFIG_CEC_CORE=m
+CONFIG_CEC_NOTIFIER=y
+
+#
+# CEC support
+#
+CONFIG_MEDIA_CEC_SUPPORT=y
+# CONFIG_CEC_CH7322 is not set
+CONFIG_CEC_CROS_EC=m
+# CONFIG_CEC_GPIO is not set
+# CONFIG_USB_PULSE8_CEC is not set
+# CONFIG_USB_RAINSHADOW_CEC is not set
+# end of CEC support
+
+CONFIG_MEDIA_SUPPORT=m
+CONFIG_MEDIA_SUPPORT_FILTER=y
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+
+#
+# Media device types
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
+# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
+# CONFIG_MEDIA_RADIO_SUPPORT is not set
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+# CONFIG_MEDIA_TEST_SUPPORT is not set
+# end of Media device types
+
+CONFIG_VIDEO_DEV=m
+CONFIG_MEDIA_CONTROLLER=y
+
+#
+# Video4Linux options
+#
+CONFIG_VIDEO_V4L2_I2C=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_V4L2_H264=m
+CONFIG_V4L2_VP9=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+# CONFIG_V4L2_FLASH_LED_CLASS is not set
+CONFIG_V4L2_FWNODE=m
+CONFIG_V4L2_ASYNC=m
+# end of Video4Linux options
+
+#
+# Media controller options
+#
+# end of Media controller options
+
+#
+# Media drivers
+#
+
+#
+# Drivers filtered as selected at 'Filter media drivers'
+#
+
+#
+# Media drivers
+#
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+# CONFIG_USB_GSPCA is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_VIDEO_USBTV is not set
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+CONFIG_VIDEO_EM28XX=m
+CONFIG_VIDEO_EM28XX_V4L2=m
+CONFIG_VIDEO_EM28XX_ALSA=m
+
+#
+# Software defined radio USB devices
+#
+CONFIG_USB_AIRSPY=m
+CONFIG_USB_HACKRF=m
+CONFIG_USB_MSI2500=m
+CONFIG_MEDIA_PLATFORM_DRIVERS=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+# CONFIG_SDR_PLATFORM_DRIVERS is not set
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+# CONFIG_VIDEO_MUX is not set
+
+#
+# Allegro DVT media platform drivers
+#
+
+#
+# Amlogic media platform drivers
+#
+
+#
+# Amphion drivers
+#
+
+#
+# Aspeed media platform drivers
+#
+
+#
+# Atmel media platform drivers
+#
+
+#
+# Cadence media platform drivers
+#
+# CONFIG_VIDEO_CADENCE_CSI2RX is not set
+# CONFIG_VIDEO_CADENCE_CSI2TX is not set
+
+#
+# Chips&Media media platform drivers
+#
+
+#
+# Intel media platform drivers
+#
+
+#
+# Marvell media platform drivers
+#
+
+#
+# Mediatek media platform drivers
+#
+CONFIG_VIDEO_MEDIATEK_JPEG=m
+CONFIG_VIDEO_MEDIATEK_MDP=m
+CONFIG_VIDEO_MEDIATEK_VCODEC_VPU=y
+CONFIG_VIDEO_MEDIATEK_VCODEC=m
+CONFIG_VIDEO_MEDIATEK_VPU=m
+
+#
+# Microchip Technology, Inc. media platform drivers
+#
+
+#
+# Nuvoton media platform drivers
+#
+
+#
+# NVidia media platform drivers
+#
+
+#
+# NXP media platform drivers
+#
+
+#
+# Qualcomm media platform drivers
+#
+
+#
+# Renesas media platform drivers
+#
+
+#
+# Rockchip media platform drivers
+#
+
+#
+# Samsung media platform drivers
+#
+
+#
+# STMicroelectronics media platform drivers
+#
+
+#
+# Sunxi media platform drivers
+#
+
+#
+# Texas Instruments drivers
+#
+
+#
+# Verisilicon media platform drivers
+#
+
+#
+# VIA media platform drivers
+#
+
+#
+# Xilinx media platform drivers
+#
+# CONFIG_VIDEO_XILINX is not set
+CONFIG_UVC_COMMON=m
+CONFIG_VIDEO_TVEEPROM=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_V4L2=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+# end of Media drivers
+
+CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y
+
+#
+# Media ancillary drivers
+#
+CONFIG_VIDEO_CAMERA_SENSOR=y
+# CONFIG_VIDEO_ALVIUM_CSI2 is not set
+# CONFIG_VIDEO_AR0521 is not set
+# CONFIG_VIDEO_GC0308 is not set
+# CONFIG_VIDEO_GC2145 is not set
+# CONFIG_VIDEO_HI556 is not set
+# CONFIG_VIDEO_HI846 is not set
+# CONFIG_VIDEO_HI847 is not set
+# CONFIG_VIDEO_IMX208 is not set
+# CONFIG_VIDEO_IMX214 is not set
+# CONFIG_VIDEO_IMX219 is not set
+# CONFIG_VIDEO_IMX258 is not set
+# CONFIG_VIDEO_IMX274 is not set
+# CONFIG_VIDEO_IMX290 is not set
+# CONFIG_VIDEO_IMX296 is not set
+# CONFIG_VIDEO_IMX319 is not set
+# CONFIG_VIDEO_IMX334 is not set
+# CONFIG_VIDEO_IMX335 is not set
+# CONFIG_VIDEO_IMX355 is not set
+# CONFIG_VIDEO_IMX412 is not set
+# CONFIG_VIDEO_IMX415 is not set
+# CONFIG_VIDEO_MT9M001 is not set
+# CONFIG_VIDEO_MT9M111 is not set
+# CONFIG_VIDEO_MT9M114 is not set
+# CONFIG_VIDEO_MT9P031 is not set
+# CONFIG_VIDEO_MT9T112 is not set
+CONFIG_VIDEO_MT9V011=m
+# CONFIG_VIDEO_MT9V032 is not set
+# CONFIG_VIDEO_MT9V111 is not set
+# CONFIG_VIDEO_OG01A1B is not set
+# CONFIG_VIDEO_OV01A10 is not set
+# CONFIG_VIDEO_OV02A10 is not set
+# CONFIG_VIDEO_OV08D10 is not set
+# CONFIG_VIDEO_OV08X40 is not set
+# CONFIG_VIDEO_OV13858 is not set
+# CONFIG_VIDEO_OV13B10 is not set
+CONFIG_VIDEO_OV2640=m
+# CONFIG_VIDEO_OV2659 is not set
+# CONFIG_VIDEO_OV2680 is not set
+# CONFIG_VIDEO_OV2685 is not set
+# CONFIG_VIDEO_OV4689 is not set
+# CONFIG_VIDEO_OV5640 is not set
+# CONFIG_VIDEO_OV5645 is not set
+# CONFIG_VIDEO_OV5647 is not set
+# CONFIG_VIDEO_OV5648 is not set
+# CONFIG_VIDEO_OV5670 is not set
+# CONFIG_VIDEO_OV5675 is not set
+# CONFIG_VIDEO_OV5693 is not set
+# CONFIG_VIDEO_OV5695 is not set
+# CONFIG_VIDEO_OV64A40 is not set
+# CONFIG_VIDEO_OV6650 is not set
+# CONFIG_VIDEO_OV7251 is not set
+# CONFIG_VIDEO_OV7640 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_OV772X is not set
+# CONFIG_VIDEO_OV7740 is not set
+# CONFIG_VIDEO_OV8856 is not set
+# CONFIG_VIDEO_OV8858 is not set
+# CONFIG_VIDEO_OV8865 is not set
+# CONFIG_VIDEO_OV9282 is not set
+# CONFIG_VIDEO_OV9640 is not set
+# CONFIG_VIDEO_OV9650 is not set
+# CONFIG_VIDEO_RDACM20 is not set
+# CONFIG_VIDEO_RDACM21 is not set
+# CONFIG_VIDEO_RJ54N1 is not set
+# CONFIG_VIDEO_S5C73M3 is not set
+# CONFIG_VIDEO_S5K5BAF is not set
+# CONFIG_VIDEO_S5K6A3 is not set
+# CONFIG_VIDEO_ST_VGXY61 is not set
+# CONFIG_VIDEO_CCS is not set
+# CONFIG_VIDEO_ET8EK8 is not set
+
+#
+# Camera ISPs
+#
+# CONFIG_VIDEO_THP7312 is not set
+# end of Camera ISPs
+
+#
+# Lens drivers
+#
+# CONFIG_VIDEO_AD5820 is not set
+# CONFIG_VIDEO_AK7375 is not set
+# CONFIG_VIDEO_DW9714 is not set
+# CONFIG_VIDEO_DW9719 is not set
+# CONFIG_VIDEO_DW9768 is not set
+# CONFIG_VIDEO_DW9807_VCM is not set
+# end of Lens drivers
+
+#
+# Flash devices
+#
+# CONFIG_VIDEO_ADP1653 is not set
+# CONFIG_VIDEO_LM3560 is not set
+# CONFIG_VIDEO_LM3646 is not set
+# end of Flash devices
+
+#
+# audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'
+#
+CONFIG_VIDEO_MSP3400=m
+CONFIG_VIDEO_SAA711X=m
+CONFIG_VIDEO_TVP5150=m
+
+#
+# Video and audio decoders
+#
+
+#
+# Video serializers and deserializers
+#
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
+# end of Video serializers and deserializers
+
+#
+# SPI I2C drivers auto-selected by 'Autoselect ancillary drivers'
+#
+
+#
+# Media SPI Adapters
+#
+# CONFIG_VIDEO_GS1662 is not set
+# end of Media SPI Adapters
+
+CONFIG_MEDIA_TUNER=m
+
+#
+# Tuner drivers auto-selected by 'Autoselect ancillary drivers'
+#
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MSI001=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_XC5000=m
+# end of Media ancillary drivers
+
+#
+# Graphics support
+#
+CONFIG_APERTURE_HELPERS=y
+CONFIG_VIDEO_CMDLINE=y
+CONFIG_VIDEO_NOMODESET=y
+# CONFIG_AUXDISPLAY is not set
+CONFIG_DRM=y
+CONFIG_DRM_MIPI_DSI=y
+# CONFIG_DRM_DEBUG_MM is not set
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
+CONFIG_DRM_DP_AUX_BUS=y
+CONFIG_DRM_DISPLAY_HELPER=y
+CONFIG_DRM_DISPLAY_DP_HELPER=y
+CONFIG_DRM_DP_AUX_CHARDEV=y
+# CONFIG_DRM_DP_CEC is not set
+CONFIG_DRM_GEM_DMA_HELPER=m
+CONFIG_DRM_GEM_SHMEM_HELPER=y
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
+# end of I2C encoder or helper chips
+
+#
+# ARM devices
+#
+# CONFIG_DRM_HDLCD is not set
+# CONFIG_DRM_MALI_DISPLAY is not set
+# CONFIG_DRM_KOMEDA is not set
+# end of ARM devices
+
+CONFIG_DRM_VGEM=m
+# CONFIG_DRM_VKMS is not set
+CONFIG_DRM_UDL=m
+# CONFIG_DRM_VIRTIO_GPU is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
+# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
+# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
+# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
+# CONFIG_DRM_PANEL_DSI_CM is not set
+# CONFIG_DRM_PANEL_LVDS is not set
+CONFIG_DRM_PANEL_SIMPLE=m
+CONFIG_DRM_PANEL_EDP=y
+# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
+# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
+# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
+# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
+# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
+# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
+# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
+# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_JDI_LPM102A188A is not set
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
+# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
+# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
+# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
+# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
+# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
+# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
+# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
+# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
+# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
+# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
+# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SYNAPTICS_R63353 is not set
+# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
+# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
+# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
+# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
+# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
+# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
+# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
+# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
+# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
+# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
+# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
+# end of Display Panels
+
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
+# CONFIG_DRM_CHRONTEL_CH7033 is not set
+CONFIG_DRM_CROS_EC_ANX7688=m
+CONFIG_DRM_DISPLAY_CONNECTOR=y
+# CONFIG_DRM_ITE_IT6505 is not set
+# CONFIG_DRM_LONTIUM_LT8912B is not set
+# CONFIG_DRM_LONTIUM_LT9211 is not set
+# CONFIG_DRM_LONTIUM_LT9611 is not set
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_ITE_IT66121 is not set
+# CONFIG_DRM_LVDS_CODEC is not set
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
+# CONFIG_DRM_NWL_MIPI_DSI is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=y
+# CONFIG_DRM_SAMSUNG_DSIM is not set
+# CONFIG_DRM_SIL_SII8620 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_SII9234 is not set
+# CONFIG_DRM_SIMPLE_BRIDGE is not set
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
+# CONFIG_DRM_TOSHIBA_TC358762 is not set
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TOSHIBA_TC358768 is not set
+# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TI_DLPC3433 is not set
+# CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI83 is not set
+# CONFIG_DRM_TI_SN65DSI86 is not set
+# CONFIG_DRM_TI_TPD12S015 is not set
+# CONFIG_DRM_ANALOGIX_ANX6345 is not set
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
+# CONFIG_DRM_I2C_ADV7511 is not set
+# CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_CDNS_MHDP8546 is not set
+# end of Display Interface Bridges
+
+# CONFIG_DRM_ETNAVIV is not set
+# CONFIG_DRM_HISI_KIRIN is not set
+# CONFIG_DRM_LOGICVC is not set
+CONFIG_DRM_MEDIATEK=y
+CONFIG_DRM_MEDIATEK_DP=y
+CONFIG_DRM_MEDIATEK_HDMI=y
+# CONFIG_DRM_ARCPGU is not set
+CONFIG_DRM_GM12U320=m
+# CONFIG_DRM_PANEL_MIPI_DBI is not set
+CONFIG_DRM_SIMPLEDRM=y
+# CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
+# CONFIG_TINYDRM_ILI9225 is not set
+# CONFIG_TINYDRM_ILI9341 is not set
+# CONFIG_TINYDRM_ILI9486 is not set
+# CONFIG_TINYDRM_MI0283QT is not set
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
+# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_DRM_PL111=m
+# CONFIG_DRM_LIMA is not set
+# CONFIG_DRM_PANFROST is not set
+# CONFIG_DRM_TIDSS is not set
+# CONFIG_DRM_GUD is not set
+# CONFIG_DRM_SSD130X is not set
+# CONFIG_DRM_POWERVR is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB=y
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_EFI is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_SMSCUFX is not set
+CONFIG_FB_UDL=m
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_SSD1307 is not set
+CONFIG_FB_CORE=y
+CONFIG_FB_NOTIFY=y
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB_DEVICE=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYSMEM_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_DMAMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+CONFIG_LCD_CLASS_DEVICE=y
+# CONFIG_LCD_L4F00242T03 is not set
+# CONFIG_LCD_LMS283GF05 is not set
+# CONFIG_LCD_LTV350QV is not set
+# CONFIG_LCD_ILI922X is not set
+# CONFIG_LCD_ILI9320 is not set
+# CONFIG_LCD_TDO24M is not set
+# CONFIG_LCD_VGG2432A4 is not set
+CONFIG_LCD_PLATFORM=y
+# CONFIG_LCD_AMS369FG06 is not set
+# CONFIG_LCD_LMS501KF03 is not set
+# CONFIG_LCD_HX8357 is not set
+# CONFIG_LCD_OTM3225A is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_KTD253 is not set
+# CONFIG_BACKLIGHT_KTZ8866 is not set
+CONFIG_BACKLIGHT_PWM=y
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+CONFIG_BACKLIGHT_LP855X=y
+# CONFIG_BACKLIGHT_MP3309C is not set
+# CONFIG_BACKLIGHT_GPIO is not set
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_BACKLIGHT_ARCXCNN is not set
+# CONFIG_BACKLIGHT_LED is not set
+# end of Backlight & LCD device support
+
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
+# end of Console display driver support
+
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+# end of Graphics support
+
+# CONFIG_DRM_ACCEL is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_HWDEP=m
+CONFIG_SND_SEQ_DEVICE=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+# CONFIG_SND_OSSEMUL is not set
+CONFIG_SND_PCM_TIMER=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+CONFIG_SND_CTL_FAST_LOOKUP=y
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_CTL_INPUT_VALIDATION is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
+CONFIG_SND_SEQ_MIDI_EVENT=m
+CONFIG_SND_SEQ_MIDI=m
+# CONFIG_SND_SEQ_UMP is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_ALOOP=m
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+
+#
+# HD-Audio
+#
+# end of HD-Audio
+
+CONFIG_SND_HDA_PREALLOC_SIZE=64
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
+CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_USB_HIFACE=m
+CONFIG_SND_BCD2000=m
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
+CONFIG_SND_SOC=m
+# CONFIG_SND_SOC_ADI is not set
+# CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_AUDMIX is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_XCVR is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+# end of SoC Audio for Freescale CPUs
+
+# CONFIG_SND_SOC_CHV3_I2S is not set
+# CONFIG_SND_I2S_HI6210_I2S is not set
+# CONFIG_SND_SOC_IMG is not set
+CONFIG_SND_SOC_MEDIATEK=m
+# CONFIG_SND_SOC_MT2701 is not set
+# CONFIG_SND_SOC_MT6797 is not set
+# CONFIG_SND_SOC_MT7986 is not set
+CONFIG_SND_SOC_MT8173=m
+# CONFIG_SND_SOC_MT8173_MAX98090 is not set
+CONFIG_SND_SOC_MT8173_RT5650=m
+CONFIG_SND_SOC_MT8173_RT5650_RT5514=m
+CONFIG_SND_SOC_MT8173_RT5650_RT5676=m
+CONFIG_SND_SOC_MT8183=m
+CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m
+CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m
+# CONFIG_SND_SOC_MT8186 is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
+# CONFIG_SND_SOC_MT8188 is not set
+# CONFIG_SND_SOC_MT8192 is not set
+# CONFIG_SND_SOC_MT8195 is not set
+# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
+
+#
+# STMicroelectronics STM32 SOC audio support
+#
+# end of STMicroelectronics STM32 SOC audio support
+
+# CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=m
+
+#
+# CODEC drivers
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_ADAU1372_I2C is not set
+# CONFIG_SND_SOC_ADAU1372_SPI is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
+# CONFIG_SND_SOC_ADAU7002 is not set
+# CONFIG_SND_SOC_ADAU7118_HW is not set
+# CONFIG_SND_SOC_ADAU7118_I2C is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
+# CONFIG_SND_SOC_AK4458 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_AK5558 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
+# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88395 is not set
+# CONFIG_SND_SOC_AW88261 is not set
+# CONFIG_SND_SOC_AW87390 is not set
+# CONFIG_SND_SOC_AW88399 is not set
+# CONFIG_SND_SOC_BD28623 is not set
+CONFIG_SND_SOC_BT_SCO=m
+# CONFIG_SND_SOC_CHV3_CODEC is not set
+CONFIG_SND_SOC_CROS_EC_CODEC=m
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS35L33 is not set
+# CONFIG_SND_SOC_CS35L34 is not set
+# CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
+# CONFIG_SND_SOC_CS35L41_SPI is not set
+# CONFIG_SND_SOC_CS35L41_I2C is not set
+# CONFIG_SND_SOC_CS35L45_SPI is not set
+# CONFIG_SND_SOC_CS35L45_I2C is not set
+# CONFIG_SND_SOC_CS35L56_I2C is not set
+# CONFIG_SND_SOC_CS35L56_SPI is not set
+# CONFIG_SND_SOC_CS42L42 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS42L83 is not set
+# CONFIG_SND_SOC_CS4234 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
+# CONFIG_SND_SOC_CS4349 is not set
+# CONFIG_SND_SOC_CS53L30 is not set
+# CONFIG_SND_SOC_CX2072X is not set
+# CONFIG_SND_SOC_DA7213 is not set
+CONFIG_SND_SOC_DA7219=m
+CONFIG_SND_SOC_DMIC=m
+CONFIG_SND_SOC_HDMI_CODEC=m
+# CONFIG_SND_SOC_ES7134 is not set
+# CONFIG_SND_SOC_ES7241 is not set
+# CONFIG_SND_SOC_ES8316 is not set
+# CONFIG_SND_SOC_ES8326 is not set
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328_SPI=m
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_HDA is not set
+# CONFIG_SND_SOC_ICS43432 is not set
+# CONFIG_SND_SOC_IDT821034 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98088 is not set
+# CONFIG_SND_SOC_MAX98090 is not set
+CONFIG_SND_SOC_MAX98357A=m
+# CONFIG_SND_SOC_MAX98504 is not set
+# CONFIG_SND_SOC_MAX9867 is not set
+# CONFIG_SND_SOC_MAX98927 is not set
+# CONFIG_SND_SOC_MAX98520 is not set
+# CONFIG_SND_SOC_MAX98373_I2C is not set
+# CONFIG_SND_SOC_MAX98388 is not set
+# CONFIG_SND_SOC_MAX98390 is not set
+# CONFIG_SND_SOC_MAX98396 is not set
+# CONFIG_SND_SOC_MAX9860 is not set
+# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1789_I2C is not set
+# CONFIG_SND_SOC_PCM179X_I2C is not set
+# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM186X_I2C is not set
+# CONFIG_SND_SOC_PCM186X_SPI is not set
+# CONFIG_SND_SOC_PCM3060_I2C is not set
+# CONFIG_SND_SOC_PCM3060_SPI is not set
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
+# CONFIG_SND_SOC_PCM5102A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+# CONFIG_SND_SOC_PEB2466 is not set
+# CONFIG_SND_SOC_RK3328 is not set
+CONFIG_SND_SOC_RL6231=m
+CONFIG_SND_SOC_RT1015=m
+CONFIG_SND_SOC_RT1015P=m
+CONFIG_SND_SOC_RT5514=m
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+# CONFIG_SND_SOC_RT5640 is not set
+CONFIG_SND_SOC_RT5645=m
+CONFIG_SND_SOC_RT5659=m
+CONFIG_SND_SOC_RT5677=m
+CONFIG_SND_SOC_RT5677_SPI=m
+# CONFIG_SND_SOC_RT9120 is not set
+# CONFIG_SND_SOC_RTQ9128 is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
+# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
+# CONFIG_SND_SOC_SIMPLE_MUX is not set
+# CONFIG_SND_SOC_SMA1303 is not set
+# CONFIG_SND_SOC_SPDIF is not set
+# CONFIG_SND_SOC_SRC4XXX_I2C is not set
+# CONFIG_SND_SOC_SSM2305 is not set
+# CONFIG_SND_SOC_SSM2518 is not set
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM3515 is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS2562 is not set
+# CONFIG_SND_SOC_TAS2764 is not set
+# CONFIG_SND_SOC_TAS2770 is not set
+# CONFIG_SND_SOC_TAS2780 is not set
+# CONFIG_SND_SOC_TAS2781_I2C is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TAS5805M is not set
+# CONFIG_SND_SOC_TAS6424 is not set
+# CONFIG_SND_SOC_TDA7419 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TFA989X is not set
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TLV320ADCX140 is not set
+CONFIG_SND_SOC_TS3A227E=m
+# CONFIG_SND_SOC_TSCS42XX is not set
+# CONFIG_SND_SOC_TSCS454 is not set
+# CONFIG_SND_SOC_UDA1334 is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8524 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731_I2C is not set
+# CONFIG_SND_SOC_WM8731_SPI is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8782 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8904 is not set
+# CONFIG_SND_SOC_WM8940 is not set
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8961 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_ZL38060 is not set
+# CONFIG_SND_SOC_MAX9759 is not set
+CONFIG_SND_SOC_MT6351=m
+CONFIG_SND_SOC_MT6358=m
+# CONFIG_SND_SOC_MT6359 is not set
+# CONFIG_SND_SOC_MT6359_ACCDET is not set
+CONFIG_SND_SOC_MT6660=m
+# CONFIG_SND_SOC_NAU8315 is not set
+# CONFIG_SND_SOC_NAU8540 is not set
+# CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_NAU8821 is not set
+# CONFIG_SND_SOC_NAU8822 is not set
+# CONFIG_SND_SOC_NAU8824 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
+# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
+# end of CODEC drivers
+
+# CONFIG_SND_SIMPLE_CARD is not set
+# CONFIG_SND_AUDIO_GRAPH_CARD is not set
+# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
+# CONFIG_SND_TEST_COMPONENT is not set
+# CONFIG_SND_VIRTIO is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_ASUS is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_BIGBEN_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CORSAIR is not set
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CP2112 is not set
+# CONFIG_HID_CREATIVE_SB0540 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELAN is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EVISION is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_FT260 is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
+# CONFIG_HID_VIVALDI is not set
+# CONFIG_HID_GT683R is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+CONFIG_HID_UCLOGIC=m
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_VRC2 is not set
+# CONFIG_HID_XIAOMI is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LED is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LETSKETCH is not set
+# CONFIG_HID_LOGITECH is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MALTRON is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MEGAWORLD_FF is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+CONFIG_HID_MULTITOUCH=m
+# CONFIG_HID_NINTENDO is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PLAYSTATION is not set
+# CONFIG_HID_PXRC is not set
+# CONFIG_HID_RAZER is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SEMITEK is not set
+# CONFIG_HID_SIGMAMICRO is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+CONFIG_HID_RMI=y
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_TOPRE is not set
+# CONFIG_HID_THINGM is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_U2FZERO is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_WIIMOTE is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2200 is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# HID-BPF support
+#
+# end of HID-BPF support
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+# end of USB HID support
+
+CONFIG_I2C_HID=y
+CONFIG_I2C_HID_OF=m
+CONFIG_I2C_HID_OF_ELAN=m
+# CONFIG_I2C_HID_OF_GOODIX is not set
+CONFIG_I2C_HID_CORE=m
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_LED_TRIG is not set
+CONFIG_USB_ULPI_BUS=y
+CONFIG_USB_CONN_GPIO=m
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_FEW_INIT_RETRIES is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_PRODUCTLIST is not set
+# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
+# CONFIG_USB_OTG_FSM is not set
+# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+CONFIG_USB_MON=m
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_DBGCAP=y
+# CONFIG_USB_XHCI_PCI_RENESAS is not set
+CONFIG_USB_XHCI_PLATFORM=y
+CONFIG_USB_XHCI_MTK=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_EHCI_FSL is not set
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_SSB is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+# CONFIG_USB_PRINTER is not set
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+CONFIG_USB_UAS=y
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_VHCI_HC_PORTS=8
+CONFIG_USBIP_VHCI_NR_HCS=1
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+
+#
+# USB dual-mode controller drivers
+#
+# CONFIG_USB_CDNS_SUPPORT is not set
+CONFIG_USB_MTU3=y
+CONFIG_USB_MTU3_HOST=y
+# CONFIG_USB_MTU3_DEBUG is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_DWC3 is not set
+# CONFIG_USB_DWC2 is not set
+# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_SIMPLE=m
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_F8153X=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MXUPORT=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+# CONFIG_USB_SERIAL_UPD78F0730 is not set
+# CONFIG_USB_SERIAL_XR is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+CONFIG_USB_EZUSB_FX2=m
+CONFIG_USB_HUB_USB251XB=m
+CONFIG_USB_HSIC_USB3503=m
+CONFIG_USB_HSIC_USB4604=m
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+# CONFIG_USB_ONBOARD_HUB is not set
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+CONFIG_USB_ULPI=y
+CONFIG_USB_ULPI_VIEWPORT=y
+# end of USB Physical Layer drivers
+
+# CONFIG_USB_GADGET is not set
+CONFIG_TYPEC=y
+CONFIG_TYPEC_TCPM=m
+CONFIG_TYPEC_TCPCI=m
+# CONFIG_TYPEC_RT1711H is not set
+CONFIG_TYPEC_MT6360=m
+# CONFIG_TYPEC_TCPCI_MAXIM is not set
+# CONFIG_TYPEC_FUSB302 is not set
+CONFIG_TYPEC_UCSI=m
+# CONFIG_UCSI_CCG is not set
+# CONFIG_UCSI_STM32G0 is not set
+# CONFIG_TYPEC_TPS6598X is not set
+# CONFIG_TYPEC_ANX7411 is not set
+# CONFIG_TYPEC_RT1719 is not set
+# CONFIG_TYPEC_HD3SS3220 is not set
+# CONFIG_TYPEC_STUSB160X is not set
+# CONFIG_TYPEC_WUSB3801 is not set
+
+#
+# USB Type-C Multiplexer/DeMultiplexer Switch support
+#
+# CONFIG_TYPEC_MUX_FSA4480 is not set
+# CONFIG_TYPEC_MUX_GPIO_SBU is not set
+# CONFIG_TYPEC_MUX_PI3USB30532 is not set
+# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
+# CONFIG_TYPEC_MUX_PTN36502 is not set
+# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
+# end of USB Type-C Multiplexer/DeMultiplexer Switch support
+
+#
+# USB Type-C Alternate Mode drivers
+#
+CONFIG_TYPEC_DP_ALTMODE=m
+# CONFIG_TYPEC_NVIDIA_ALTMODE is not set
+# end of USB Type-C Alternate Mode drivers
+
+CONFIG_USB_ROLE_SWITCH=m
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+# CONFIG_PWRSEQ_SD8787 is not set
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=32
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_ARMMMCI is not set
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_PLTFM=y
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set
+# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_DW is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+CONFIG_MMC_CQHCI=y
+CONFIG_MMC_HSQ=y
+CONFIG_MMC_MTK=y
+# CONFIG_MMC_SDHCI_XENON is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_FLASH=m
+CONFIG_LEDS_CLASS_MULTICOLOR=m
+# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_AN30259A is not set
+# CONFIG_LEDS_AW200XX is not set
+# CONFIG_LEDS_AW2013 is not set
+# CONFIG_LEDS_BCM6328 is not set
+# CONFIG_LEDS_BCM6358 is not set
+# CONFIG_LEDS_CR0014114 is not set
+# CONFIG_LEDS_EL15203000 is not set
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3532 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_LM3692X is not set
+CONFIG_LEDS_MT6323=m
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP3952 is not set
+# CONFIG_LEDS_LP50XX is not set
+# CONFIG_LEDS_LP55XX_COMMON is not set
+# CONFIG_LEDS_LP8860 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2606MVV is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_TLC591XX is not set
+# CONFIG_LEDS_LM355x is not set
+# CONFIG_LEDS_IS31FL319X is not set
+# CONFIG_LEDS_IS31FL32XX is not set
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_SYSCON=y
+# CONFIG_LEDS_MLXREG is not set
+CONFIG_LEDS_USER=m
+# CONFIG_LEDS_SPI_BYTE is not set
+# CONFIG_LEDS_LM3697 is not set
+
+#
+# Flash and Torch LED drivers
+#
+# CONFIG_LEDS_AAT1290 is not set
+# CONFIG_LEDS_AS3645A is not set
+# CONFIG_LEDS_KTD2692 is not set
+# CONFIG_LEDS_LM3601X is not set
+# CONFIG_LEDS_MT6360 is not set
+# CONFIG_LEDS_RT4505 is not set
+# CONFIG_LEDS_RT8515 is not set
+# CONFIG_LEDS_SGM3140 is not set
+
+#
+# RGB LED drivers
+#
+# CONFIG_LEDS_GROUP_MULTICOLOR is not set
+# CONFIG_LEDS_KTD202X is not set
+# CONFIG_LEDS_PWM_MULTICOLOR is not set
+# CONFIG_LEDS_QCOM_LPG is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_TRIGGER_TIMER is not set
+# CONFIG_LEDS_TRIGGER_ONESHOT is not set
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_CPU is not set
+# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
+# CONFIG_LEDS_TRIGGER_GPIO is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+# CONFIG_LEDS_TRIGGER_PANIC is not set
+# CONFIG_LEDS_TRIGGER_NETDEV is not set
+# CONFIG_LEDS_TRIGGER_PATTERN is not set
+# CONFIG_LEDS_TRIGGER_AUDIO is not set
+# CONFIG_LEDS_TRIGGER_TTY is not set
+
+#
+# Simple LED drivers
+#
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_SUPPORT=y
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_NVMEM=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+CONFIG_RTC_DRV_AS3722=m
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_MAX31335 is not set
+# CONFIG_RTC_DRV_NCT3018Y is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_ISL12026 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF85363 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+CONFIG_RTC_DRV_PALMAS=m
+CONFIG_RTC_DRV_TPS6586X=m
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
+# CONFIG_RTC_DRV_RV3032 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_SD3078 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1302 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6916 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+CONFIG_RTC_DRV_EFI=m
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_ZYNQMP is not set
+CONFIG_RTC_DRV_CROS_EC=m
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PL030 is not set
+# CONFIG_RTC_DRV_PL031 is not set
+# CONFIG_RTC_DRV_CADENCE is not set
+# CONFIG_RTC_DRV_FTRTC010 is not set
+# CONFIG_RTC_DRV_MT2712 is not set
+CONFIG_RTC_DRV_MT6397=m
+CONFIG_RTC_DRV_MT7622=m
+# CONFIG_RTC_DRV_R7301 is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_GOLDFISH is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+# CONFIG_ALTERA_MSGDMA is not set
+# CONFIG_AMBA_PL08X is not set
+# CONFIG_BCM_SBA_RAID is not set
+# CONFIG_DW_AXI_DMAC is not set
+# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_QDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+# CONFIG_MV_XOR_V2 is not set
+# CONFIG_PL330_DMA is not set
+# CONFIG_XILINX_DMA is not set
+# CONFIG_XILINX_XDMA is not set
+# CONFIG_XILINX_ZYNQMP_DMA is not set
+# CONFIG_XILINX_ZYNQMP_DPDMA is not set
+CONFIG_MTK_HSDMA=y
+CONFIG_MTK_CQDMA=y
+# CONFIG_MTK_UART_APDMA is not set
+# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_HIDMA is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_SF_PDMA is not set
+
+#
+# DMA Clients
+#
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_UDMABUF is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
+# CONFIG_DMABUF_SELFTESTS is not set
+CONFIG_DMABUF_HEAPS=y
+# CONFIG_DMABUF_SYSFS_STATS is not set
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+# end of DMABUF options
+
+# CONFIG_UIO is not set
+CONFIG_VFIO=m
+CONFIG_VFIO_GROUP=y
+CONFIG_VFIO_CONTAINER=y
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO_NOIOMMU=y
+CONFIG_VFIO_VIRQFD=y
+
+#
+# VFIO support for platform devices
+#
+CONFIG_VFIO_PLATFORM_BASE=m
+CONFIG_VFIO_PLATFORM=m
+# CONFIG_VFIO_AMBA is not set
+
+#
+# VFIO platform reset drivers
+#
+# CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set
+# CONFIG_VFIO_PLATFORM_AMDXGBE_RESET is not set
+# end of VFIO platform reset drivers
+# end of VFIO support for platform devices
+
+CONFIG_IRQ_BYPASS_MANAGER=y
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO_ANCHOR=y
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_MENU=y
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MMIO=m
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
+# CONFIG_VDPA is not set
+CONFIG_VHOST_IOTLB=m
+CONFIG_VHOST_TASK=y
+CONFIG_VHOST=m
+CONFIG_VHOST_MENU=y
+CONFIG_VHOST_NET=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
+CONFIG_STAGING=y
+# CONFIG_PRISM2_USB is not set
+# CONFIG_RTLLIB is not set
+# CONFIG_RTL8723BS is not set
+# CONFIG_R8712U is not set
+# CONFIG_VT6656 is not set
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+# CONFIG_ADIS16203 is not set
+# CONFIG_ADIS16240 is not set
+# end of Accelerometers
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD7816 is not set
+# end of Analog to digital converters
+
+#
+# Analog digital bi-direction converters
+#
+# CONFIG_ADT7316 is not set
+# end of Analog digital bi-direction converters
+
+#
+# Direct Digital Synthesis
+#
+# CONFIG_AD9832 is not set
+# CONFIG_AD9834 is not set
+# end of Direct Digital Synthesis
+
+#
+# Network Analyzer, Impedance Converters
+#
+# CONFIG_AD5933 is not set
+# end of Network Analyzer, Impedance Converters
+# end of IIO staging drivers
+
+# CONFIG_STAGING_MEDIA is not set
+CONFIG_STAGING_BOARD=y
+# CONFIG_LTE_GDM724X is not set
+# CONFIG_FB_TFT is not set
+# CONFIG_KS7010 is not set
+# CONFIG_PI433 is not set
+# CONFIG_XIL_AXIS_FIFO is not set
+# CONFIG_FIELDBUS_DEV is not set
+# CONFIG_GOLDFISH is not set
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_PROTO=y
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
+CONFIG_CROS_EC_CHARDEV=y
+CONFIG_CROS_EC_LIGHTBAR=y
+CONFIG_CROS_EC_VBC=m
+CONFIG_CROS_EC_SENSORHUB=y
+CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=m
+# CONFIG_CROS_HPS_I2C is not set
+CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=y
+# CONFIG_MELLANOX_PLATFORM is not set
+# CONFIG_SURFACE_PLATFORMS is not set
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Clock driver for ARM Reference designs
+#
+# CONFIG_CLK_ICST is not set
+# CONFIG_CLK_SP810 is not set
+# end of Clock driver for ARM Reference designs
+
+# CONFIG_LMK04832 is not set
+# CONFIG_COMMON_CLK_MAX9485 is not set
+# CONFIG_COMMON_CLK_SCMI is not set
+# CONFIG_COMMON_CLK_SCPI is not set
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
+# CONFIG_COMMON_CLK_XGENE is not set
+# CONFIG_COMMON_CLK_PALMAS is not set
+# CONFIG_COMMON_CLK_PWM is not set
+# CONFIG_COMMON_CLK_RS9_PCIE is not set
+# CONFIG_COMMON_CLK_SI521XX is not set
+# CONFIG_COMMON_CLK_VC3 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_VC7 is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+
+#
+# Clock driver for MediaTek SoC
+#
+CONFIG_COMMON_CLK_MEDIATEK=y
+CONFIG_COMMON_CLK_MEDIATEK_FHCTL=y
+CONFIG_COMMON_CLK_MT2712=y
+# CONFIG_COMMON_CLK_MT2712_BDPSYS is not set
+# CONFIG_COMMON_CLK_MT2712_IMGSYS is not set
+# CONFIG_COMMON_CLK_MT2712_JPGDECSYS is not set
+# CONFIG_COMMON_CLK_MT2712_MFGCFG is not set
+# CONFIG_COMMON_CLK_MT2712_MMSYS is not set
+# CONFIG_COMMON_CLK_MT2712_VDECSYS is not set
+# CONFIG_COMMON_CLK_MT2712_VENCSYS is not set
+CONFIG_COMMON_CLK_MT6765=y
+CONFIG_COMMON_CLK_MT6765_AUDIOSYS=y
+# CONFIG_COMMON_CLK_MT6765_CAMSYS is not set
+# CONFIG_COMMON_CLK_MT6765_GCESYS is not set
+# CONFIG_COMMON_CLK_MT6765_MMSYS is not set
+# CONFIG_COMMON_CLK_MT6765_IMGSYS is not set
+# CONFIG_COMMON_CLK_MT6765_VCODECSYS is not set
+# CONFIG_COMMON_CLK_MT6765_MFGSYS is not set
+# CONFIG_COMMON_CLK_MT6765_MIPI0ASYS is not set
+# CONFIG_COMMON_CLK_MT6765_MIPI0BSYS is not set
+# CONFIG_COMMON_CLK_MT6765_MIPI1ASYS is not set
+# CONFIG_COMMON_CLK_MT6765_MIPI1BSYS is not set
+# CONFIG_COMMON_CLK_MT6765_MIPI2ASYS is not set
+# CONFIG_COMMON_CLK_MT6765_MIPI2BSYS is not set
+# CONFIG_COMMON_CLK_MT6779 is not set
+# CONFIG_COMMON_CLK_MT6795 is not set
+CONFIG_COMMON_CLK_MT6797=y
+CONFIG_COMMON_CLK_MT6797_MMSYS=y
+CONFIG_COMMON_CLK_MT6797_IMGSYS=y
+CONFIG_COMMON_CLK_MT6797_VDECSYS=y
+CONFIG_COMMON_CLK_MT6797_VENCSYS=y
+CONFIG_COMMON_CLK_MT7622=y
+# CONFIG_COMMON_CLK_MT7622_ETHSYS is not set
+# CONFIG_COMMON_CLK_MT7622_HIFSYS is not set
+# CONFIG_COMMON_CLK_MT7622_AUDSYS is not set
+CONFIG_COMMON_CLK_MT7981=y
+CONFIG_COMMON_CLK_MT7981_ETHSYS=y
+CONFIG_COMMON_CLK_MT7986=y
+CONFIG_COMMON_CLK_MT7986_ETHSYS=y
+# CONFIG_COMMON_CLK_MT7988 is not set
+CONFIG_COMMON_CLK_MT8167=y
+CONFIG_COMMON_CLK_MT8167_AUDSYS=y
+CONFIG_COMMON_CLK_MT8167_IMGSYS=y
+CONFIG_COMMON_CLK_MT8167_MFGCFG=y
+CONFIG_COMMON_CLK_MT8167_MMSYS=y
+CONFIG_COMMON_CLK_MT8167_VDECSYS=y
+CONFIG_COMMON_CLK_MT8173=y
+CONFIG_COMMON_CLK_MT8173_IMGSYS=y
+CONFIG_COMMON_CLK_MT8173_MMSYS=y
+CONFIG_COMMON_CLK_MT8173_VDECSYS=y
+CONFIG_COMMON_CLK_MT8173_VENCSYS=y
+CONFIG_COMMON_CLK_MT8183=y
+# CONFIG_COMMON_CLK_MT8183_AUDIOSYS is not set
+# CONFIG_COMMON_CLK_MT8183_CAMSYS is not set
+# CONFIG_COMMON_CLK_MT8183_IMGSYS is not set
+# CONFIG_COMMON_CLK_MT8183_IPU_CORE0 is not set
+# CONFIG_COMMON_CLK_MT8183_IPU_CORE1 is not set
+# CONFIG_COMMON_CLK_MT8183_IPU_ADL is not set
+# CONFIG_COMMON_CLK_MT8183_IPU_CONN is not set
+# CONFIG_COMMON_CLK_MT8183_MFGCFG is not set
+# CONFIG_COMMON_CLK_MT8183_MMSYS is not set
+# CONFIG_COMMON_CLK_MT8183_VDECSYS is not set
+# CONFIG_COMMON_CLK_MT8183_VENCSYS is not set
+# CONFIG_COMMON_CLK_MT8186 is not set
+# CONFIG_COMMON_CLK_MT8188 is not set
+CONFIG_COMMON_CLK_MT8192=y
+# CONFIG_COMMON_CLK_MT8192_AUDSYS is not set
+# CONFIG_COMMON_CLK_MT8192_CAMSYS is not set
+# CONFIG_COMMON_CLK_MT8192_IMGSYS is not set
+# CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP is not set
+# CONFIG_COMMON_CLK_MT8192_IPESYS is not set
+# CONFIG_COMMON_CLK_MT8192_MDPSYS is not set
+# CONFIG_COMMON_CLK_MT8192_MFGCFG is not set
+# CONFIG_COMMON_CLK_MT8192_MMSYS is not set
+# CONFIG_COMMON_CLK_MT8192_MSDC is not set
+# CONFIG_COMMON_CLK_MT8192_SCP_ADSP is not set
+# CONFIG_COMMON_CLK_MT8192_VDECSYS is not set
+# CONFIG_COMMON_CLK_MT8192_VENCSYS is not set
+# CONFIG_COMMON_CLK_MT8195 is not set
+# CONFIG_COMMON_CLK_MT8365 is not set
+CONFIG_COMMON_CLK_MT8516=y
+# CONFIG_COMMON_CLK_MT8516_AUDSYS is not set
+# end of Clock driver for MediaTek SoC
+
+# CONFIG_XILINX_VCU is not set
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_HISILICON_ERRATUM_161010101=y
+CONFIG_ARM64_ERRATUM_858921=y
+CONFIG_MTK_TIMER=y
+CONFIG_MTK_CPUX_TIMER=y
+# end of Clock Source drivers
+
+CONFIG_MAILBOX=y
+CONFIG_ARM_MHU=m
+# CONFIG_ARM_MHU_V2 is not set
+CONFIG_PLATFORM_MHU=m
+# CONFIG_PL320_MBOX is not set
+# CONFIG_ALTERA_MBOX is not set
+# CONFIG_MAILBOX_TEST is not set
+# CONFIG_MTK_ADSP_MBOX is not set
+CONFIG_MTK_CMDQ_MBOX=y
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IO_PGTABLE=y
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
+# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
+# CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set
+# CONFIG_IOMMU_IO_PGTABLE_DART is not set
+# end of Generic IOMMU Pagetable Support
+
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+# CONFIG_IOMMUFD is not set
+CONFIG_ARM_SMMU=m
+CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
+# CONFIG_ARM_SMMU_V3 is not set
+CONFIG_MTK_IOMMU=y
+CONFIG_VIRTIO_IOMMU=m
+
+#
+# Remoteproc drivers
+#
+# CONFIG_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_VIRTIO is not set
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# CONFIG_QUICC_ENGINE is not set
+# CONFIG_FSL_RCPM is not set
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+#
+# Enable LiteX SoC Builder specific drivers
+#
+# CONFIG_LITEX_SOC_CONTROLLER is not set
+# end of Enable LiteX SoC Builder specific drivers
+
+#
+# MediaTek SoC drivers
+#
+CONFIG_MTK_CMDQ=y
+CONFIG_MTK_DEVAPC=m
+CONFIG_MTK_INFRACFG=y
+CONFIG_MTK_PMIC_WRAP=y
+CONFIG_MTK_REGULATOR_COUPLER=y
+CONFIG_MTK_MMSYS=y
+# CONFIG_MTK_SVS is not set
+# end of MediaTek SoC drivers
+
+# CONFIG_WPCM450_SOC is not set
+
+#
+# Qualcomm SoC drivers
+#
+# end of Qualcomm SoC drivers
+
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+#
+# PM Domains
+#
+
+#
+# Amlogic PM Domains
+#
+# end of Amlogic PM Domains
+
+CONFIG_ARM_SCMI_PERF_DOMAIN=m
+CONFIG_ARM_SCMI_POWER_DOMAIN=m
+CONFIG_ARM_SCPI_POWER_DOMAIN=m
+
+#
+# Broadcom PM Domains
+#
+# end of Broadcom PM Domains
+
+#
+# i.MX PM Domains
+#
+# end of i.MX PM Domains
+
+#
+# MediaTek PM Domains
+#
+CONFIG_MTK_SCPSYS=y
+CONFIG_MTK_SCPSYS_PM_DOMAINS=y
+# end of MediaTek PM Domains
+
+#
+# Qualcomm PM Domains
+#
+# end of Qualcomm PM Domains
+# end of PM Domains
+
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+# CONFIG_DEVFREQ_GOV_PASSIVE is not set
+
+#
+# DEVFREQ Drivers
+#
+# CONFIG_ARM_MEDIATEK_CCI_DEVFREQ is not set
+CONFIG_PM_DEVFREQ_EVENT=y
+CONFIG_EXTCON=y
+
+#
+# Extcon Device Drivers
+#
+# CONFIG_EXTCON_ADC_JACK is not set
+# CONFIG_EXTCON_FSA9480 is not set
+# CONFIG_EXTCON_GPIO is not set
+# CONFIG_EXTCON_MAX3355 is not set
+CONFIG_EXTCON_PALMAS=y
+# CONFIG_EXTCON_PTN5150 is not set
+# CONFIG_EXTCON_RT8973A is not set
+# CONFIG_EXTCON_SM5502 is not set
+# CONFIG_EXTCON_USB_GPIO is not set
+CONFIG_EXTCON_USBC_CROS_EC=y
+# CONFIG_EXTCON_USBC_TUSB320 is not set
+CONFIG_MEMORY=y
+# CONFIG_ARM_PL172_MPMC is not set
+CONFIG_MTK_SMI=y
+CONFIG_IIO=m
+CONFIG_IIO_BUFFER=y
+# CONFIG_IIO_BUFFER_CB is not set
+# CONFIG_IIO_BUFFER_DMA is not set
+# CONFIG_IIO_BUFFER_DMAENGINE is not set
+# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
+CONFIG_IIO_KFIFO_BUF=m
+CONFIG_IIO_TRIGGERED_BUFFER=m
+CONFIG_IIO_CONFIGFS=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+# CONFIG_IIO_SW_DEVICE is not set
+# CONFIG_IIO_SW_TRIGGER is not set
+# CONFIG_IIO_TRIGGERED_EVENT is not set
+
+#
+# Accelerometers
+#
+# CONFIG_ADIS16201 is not set
+# CONFIG_ADIS16209 is not set
+# CONFIG_ADXL313_I2C is not set
+# CONFIG_ADXL313_SPI is not set
+# CONFIG_ADXL345_I2C is not set
+# CONFIG_ADXL345_SPI is not set
+# CONFIG_ADXL355_I2C is not set
+# CONFIG_ADXL355_SPI is not set
+# CONFIG_ADXL367_SPI is not set
+# CONFIG_ADXL367_I2C is not set
+# CONFIG_ADXL372_SPI is not set
+# CONFIG_ADXL372_I2C is not set
+# CONFIG_BMA180 is not set
+# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
+# CONFIG_BMC150_ACCEL is not set
+# CONFIG_BMI088_ACCEL is not set
+# CONFIG_DA280 is not set
+# CONFIG_DA311 is not set
+# CONFIG_DMARD06 is not set
+# CONFIG_DMARD09 is not set
+# CONFIG_DMARD10 is not set
+# CONFIG_FXLS8962AF_I2C is not set
+# CONFIG_FXLS8962AF_SPI is not set
+CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
+# CONFIG_IIO_ST_ACCEL_3AXIS is not set
+# CONFIG_IIO_KX022A_SPI is not set
+# CONFIG_IIO_KX022A_I2C is not set
+# CONFIG_KXSD9 is not set
+# CONFIG_KXCJK1013 is not set
+# CONFIG_MC3230 is not set
+# CONFIG_MMA7455_I2C is not set
+# CONFIG_MMA7455_SPI is not set
+# CONFIG_MMA7660 is not set
+# CONFIG_MMA8452 is not set
+# CONFIG_MMA9551 is not set
+# CONFIG_MMA9553 is not set
+# CONFIG_MSA311 is not set
+# CONFIG_MXC4005 is not set
+# CONFIG_MXC6255 is not set
+# CONFIG_SCA3000 is not set
+# CONFIG_SCA3300 is not set
+# CONFIG_STK8312 is not set
+# CONFIG_STK8BA50 is not set
+# end of Accelerometers
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD4130 is not set
+# CONFIG_AD7091R5 is not set
+# CONFIG_AD7091R8 is not set
+# CONFIG_AD7124 is not set
+# CONFIG_AD7192 is not set
+# CONFIG_AD7266 is not set
+# CONFIG_AD7280 is not set
+# CONFIG_AD7291 is not set
+# CONFIG_AD7292 is not set
+# CONFIG_AD7298 is not set
+# CONFIG_AD7476 is not set
+# CONFIG_AD7606_IFACE_PARALLEL is not set
+# CONFIG_AD7606_IFACE_SPI is not set
+# CONFIG_AD7766 is not set
+# CONFIG_AD7768_1 is not set
+# CONFIG_AD7780 is not set
+# CONFIG_AD7791 is not set
+# CONFIG_AD7793 is not set
+# CONFIG_AD7887 is not set
+# CONFIG_AD7923 is not set
+# CONFIG_AD7949 is not set
+# CONFIG_AD799X is not set
+# CONFIG_ADI_AXI_ADC is not set
+# CONFIG_CC10001_ADC is not set
+# CONFIG_ENVELOPE_DETECTOR is not set
+# CONFIG_HI8435 is not set
+# CONFIG_HX711 is not set
+# CONFIG_INA2XX_ADC is not set
+# CONFIG_LTC2309 is not set
+# CONFIG_LTC2471 is not set
+# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
+# CONFIG_LTC2497 is not set
+# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
+# CONFIG_MAX1118 is not set
+# CONFIG_MAX11205 is not set
+# CONFIG_MAX11410 is not set
+# CONFIG_MAX1241 is not set
+# CONFIG_MAX1363 is not set
+# CONFIG_MAX34408 is not set
+# CONFIG_MAX9611 is not set
+# CONFIG_MCP320X is not set
+# CONFIG_MCP3422 is not set
+# CONFIG_MCP3564 is not set
+# CONFIG_MCP3911 is not set
+CONFIG_MEDIATEK_MT6360_ADC=m
+# CONFIG_MEDIATEK_MT6577_AUXADC is not set
+# CONFIG_NAU7802 is not set
+# CONFIG_PALMAS_GPADC is not set
+# CONFIG_QCOM_SPMI_IADC is not set
+# CONFIG_QCOM_SPMI_VADC is not set
+# CONFIG_QCOM_SPMI_ADC5 is not set
+# CONFIG_RICHTEK_RTQ6056 is not set
+# CONFIG_SD_ADC_MODULATOR is not set
+# CONFIG_TI_ADC081C is not set
+# CONFIG_TI_ADC0832 is not set
+# CONFIG_TI_ADC084S021 is not set
+# CONFIG_TI_ADC12138 is not set
+# CONFIG_TI_ADC108S102 is not set
+# CONFIG_TI_ADC128S052 is not set
+# CONFIG_TI_ADC161S626 is not set
+# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7924 is not set
+# CONFIG_TI_ADS1100 is not set
+# CONFIG_TI_ADS7950 is not set
+# CONFIG_TI_ADS8344 is not set
+# CONFIG_TI_ADS8688 is not set
+# CONFIG_TI_ADS124S08 is not set
+# CONFIG_TI_ADS131E08 is not set
+# CONFIG_TI_LMP92064 is not set
+# CONFIG_TI_TLC4541 is not set
+# CONFIG_TI_TSC2046 is not set
+# CONFIG_VF610_ADC is not set
+# CONFIG_XILINX_XADC is not set
+# end of Analog to digital converters
+
+#
+# Analog to digital and digital to analog converters
+#
+# CONFIG_AD74115 is not set
+# CONFIG_AD74413R is not set
+# end of Analog to digital and digital to analog converters
+
+#
+# Analog Front Ends
+#
+# CONFIG_IIO_RESCALE is not set
+# end of Analog Front Ends
+
+#
+# Amplifiers
+#
+# CONFIG_AD8366 is not set
+# CONFIG_ADA4250 is not set
+# CONFIG_HMC425 is not set
+# end of Amplifiers
+
+#
+# Capacitance to digital converters
+#
+# CONFIG_AD7150 is not set
+# CONFIG_AD7746 is not set
+# end of Capacitance to digital converters
+
+#
+# Chemical Sensors
+#
+# CONFIG_AOSONG_AGS02MA is not set
+# CONFIG_ATLAS_PH_SENSOR is not set
+# CONFIG_ATLAS_EZO_SENSOR is not set
+# CONFIG_BME680 is not set
+# CONFIG_CCS811 is not set
+# CONFIG_IAQCORE is not set
+# CONFIG_SCD30_CORE is not set
+# CONFIG_SCD4X is not set
+# CONFIG_SENSIRION_SGP30 is not set
+# CONFIG_SENSIRION_SGP40 is not set
+# CONFIG_SPS30_I2C is not set
+# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
+# CONFIG_VZ89X is not set
+# end of Chemical Sensors
+
+CONFIG_IIO_CROS_EC_SENSORS_CORE=m
+CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m
+
+#
+# Hid Sensor IIO Common
+#
+# end of Hid Sensor IIO Common
+
+#
+# IIO SCMI Sensors
+#
+# CONFIG_IIO_SCMI is not set
+# end of IIO SCMI Sensors
+
+#
+# SSP Sensor Common
+#
+# CONFIG_IIO_SSP_SENSORHUB is not set
+# end of SSP Sensor Common
+
+#
+# Digital to analog converters
+#
+# CONFIG_AD3552R is not set
+# CONFIG_AD5064 is not set
+# CONFIG_AD5360 is not set
+# CONFIG_AD5380 is not set
+# CONFIG_AD5421 is not set
+# CONFIG_AD5446 is not set
+# CONFIG_AD5449 is not set
+# CONFIG_AD5592R is not set
+# CONFIG_AD5593R is not set
+# CONFIG_AD5504 is not set
+# CONFIG_AD5624R_SPI is not set
+# CONFIG_LTC2688 is not set
+# CONFIG_AD5686_SPI is not set
+# CONFIG_AD5696_I2C is not set
+# CONFIG_AD5755 is not set
+# CONFIG_AD5758 is not set
+# CONFIG_AD5761 is not set
+# CONFIG_AD5764 is not set
+# CONFIG_AD5766 is not set
+# CONFIG_AD5770R is not set
+# CONFIG_AD5791 is not set
+# CONFIG_AD7293 is not set
+# CONFIG_AD7303 is not set
+# CONFIG_AD8801 is not set
+# CONFIG_DPOT_DAC is not set
+# CONFIG_DS4424 is not set
+# CONFIG_LTC1660 is not set
+# CONFIG_LTC2632 is not set
+# CONFIG_M62332 is not set
+# CONFIG_MAX517 is not set
+# CONFIG_MAX5522 is not set
+# CONFIG_MAX5821 is not set
+# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
+# CONFIG_MCP4821 is not set
+# CONFIG_MCP4922 is not set
+# CONFIG_TI_DAC082S085 is not set
+# CONFIG_TI_DAC5571 is not set
+# CONFIG_TI_DAC7311 is not set
+# CONFIG_TI_DAC7612 is not set
+# CONFIG_VF610_DAC is not set
+# end of Digital to analog converters
+
+#
+# IIO dummy driver
+#
+# end of IIO dummy driver
+
+#
+# Filters
+#
+# CONFIG_ADMV8818 is not set
+# end of Filters
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+# CONFIG_AD9523 is not set
+# end of Clock Generator/Distribution
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+# CONFIG_ADF4350 is not set
+# CONFIG_ADF4371 is not set
+# CONFIG_ADF4377 is not set
+# CONFIG_ADMV1013 is not set
+# CONFIG_ADMV1014 is not set
+# CONFIG_ADMV4420 is not set
+# CONFIG_ADRF6780 is not set
+# end of Phase-Locked Loop (PLL) frequency synthesizers
+# end of Frequency Synthesizers DDS/PLL
+
+#
+# Digital gyroscope sensors
+#
+# CONFIG_ADIS16080 is not set
+# CONFIG_ADIS16130 is not set
+# CONFIG_ADIS16136 is not set
+# CONFIG_ADIS16260 is not set
+# CONFIG_ADXRS290 is not set
+# CONFIG_ADXRS450 is not set
+# CONFIG_BMG160 is not set
+# CONFIG_FXAS21002C is not set
+# CONFIG_MPU3050_I2C is not set
+# CONFIG_IIO_ST_GYRO_3AXIS is not set
+# CONFIG_ITG3200 is not set
+# end of Digital gyroscope sensors
+
+#
+# Health Sensors
+#
+
+#
+# Heart Rate Monitors
+#
+# CONFIG_AFE4403 is not set
+# CONFIG_AFE4404 is not set
+# CONFIG_MAX30100 is not set
+# CONFIG_MAX30102 is not set
+# end of Heart Rate Monitors
+# end of Health Sensors
+
+#
+# Humidity sensors
+#
+# CONFIG_AM2315 is not set
+# CONFIG_DHT11 is not set
+# CONFIG_HDC100X is not set
+# CONFIG_HDC2010 is not set
+# CONFIG_HDC3020 is not set
+# CONFIG_HTS221 is not set
+# CONFIG_HTU21 is not set
+# CONFIG_SI7005 is not set
+# CONFIG_SI7020 is not set
+# end of Humidity sensors
+
+#
+# Inertial measurement units
+#
+# CONFIG_ADIS16400 is not set
+# CONFIG_ADIS16460 is not set
+# CONFIG_ADIS16475 is not set
+# CONFIG_ADIS16480 is not set
+# CONFIG_BMI160_I2C is not set
+# CONFIG_BMI160_SPI is not set
+# CONFIG_BMI323_I2C is not set
+# CONFIG_BMI323_SPI is not set
+# CONFIG_BOSCH_BNO055_I2C is not set
+# CONFIG_FXOS8700_I2C is not set
+# CONFIG_FXOS8700_SPI is not set
+# CONFIG_KMX61 is not set
+# CONFIG_INV_ICM42600_I2C is not set
+# CONFIG_INV_ICM42600_SPI is not set
+# CONFIG_INV_MPU6050_I2C is not set
+# CONFIG_INV_MPU6050_SPI is not set
+# CONFIG_IIO_ST_LSM6DSX is not set
+# CONFIG_IIO_ST_LSM9DS0 is not set
+# end of Inertial measurement units
+
+#
+# Light sensors
+#
+# CONFIG_ADJD_S311 is not set
+# CONFIG_ADUX1020 is not set
+# CONFIG_AL3010 is not set
+# CONFIG_AL3320A is not set
+# CONFIG_APDS9300 is not set
+# CONFIG_APDS9960 is not set
+# CONFIG_AS73211 is not set
+# CONFIG_BH1750 is not set
+# CONFIG_BH1780 is not set
+# CONFIG_CM32181 is not set
+# CONFIG_CM3232 is not set
+# CONFIG_CM3323 is not set
+# CONFIG_CM3605 is not set
+# CONFIG_CM36651 is not set
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
+# CONFIG_GP2AP002 is not set
+# CONFIG_GP2AP020A00F is not set
+CONFIG_SENSORS_ISL29018=m
+# CONFIG_SENSORS_ISL29028 is not set
+# CONFIG_ISL29125 is not set
+# CONFIG_ISL76682 is not set
+# CONFIG_JSA1212 is not set
+# CONFIG_ROHM_BU27008 is not set
+# CONFIG_ROHM_BU27034 is not set
+# CONFIG_RPR0521 is not set
+# CONFIG_LTR390 is not set
+# CONFIG_LTR501 is not set
+# CONFIG_LTRF216A is not set
+# CONFIG_LV0104CS is not set
+# CONFIG_MAX44000 is not set
+# CONFIG_MAX44009 is not set
+# CONFIG_NOA1305 is not set
+# CONFIG_OPT3001 is not set
+# CONFIG_OPT4001 is not set
+# CONFIG_PA12203001 is not set
+# CONFIG_SI1133 is not set
+# CONFIG_SI1145 is not set
+# CONFIG_STK3310 is not set
+# CONFIG_ST_UVIS25 is not set
+# CONFIG_TCS3414 is not set
+# CONFIG_TCS3472 is not set
+CONFIG_SENSORS_TSL2563=m
+CONFIG_TSL2583=m
+# CONFIG_TSL2591 is not set
+# CONFIG_TSL2772 is not set
+# CONFIG_TSL4531 is not set
+# CONFIG_US5182D is not set
+# CONFIG_VCNL4000 is not set
+# CONFIG_VCNL4035 is not set
+# CONFIG_VEML6030 is not set
+# CONFIG_VEML6070 is not set
+# CONFIG_VEML6075 is not set
+# CONFIG_VL6180 is not set
+# CONFIG_ZOPT2201 is not set
+# end of Light sensors
+
+#
+# Magnetometer sensors
+#
+# CONFIG_AK8974 is not set
+# CONFIG_AK8975 is not set
+# CONFIG_AK09911 is not set
+# CONFIG_BMC150_MAGN_I2C is not set
+# CONFIG_BMC150_MAGN_SPI is not set
+# CONFIG_MAG3110 is not set
+# CONFIG_MMC35240 is not set
+# CONFIG_IIO_ST_MAGN_3AXIS is not set
+# CONFIG_SENSORS_HMC5843_I2C is not set
+# CONFIG_SENSORS_HMC5843_SPI is not set
+# CONFIG_SENSORS_RM3100_I2C is not set
+# CONFIG_SENSORS_RM3100_SPI is not set
+# CONFIG_TI_TMAG5273 is not set
+# CONFIG_YAMAHA_YAS530 is not set
+# end of Magnetometer sensors
+
+#
+# Multiplexers
+#
+CONFIG_IIO_MUX=m
+# end of Multiplexers
+
+#
+# Inclinometer sensors
+#
+# end of Inclinometer sensors
+
+#
+# Triggers - standalone
+#
+# CONFIG_IIO_INTERRUPT_TRIGGER is not set
+# CONFIG_IIO_SYSFS_TRIGGER is not set
+# end of Triggers - standalone
+
+#
+# Linear and angular position sensors
+#
+# end of Linear and angular position sensors
+
+#
+# Digital potentiometers
+#
+# CONFIG_AD5110 is not set
+# CONFIG_AD5272 is not set
+# CONFIG_DS1803 is not set
+# CONFIG_MAX5432 is not set
+# CONFIG_MAX5481 is not set
+# CONFIG_MAX5487 is not set
+# CONFIG_MCP4018 is not set
+# CONFIG_MCP4131 is not set
+# CONFIG_MCP4531 is not set
+# CONFIG_MCP41010 is not set
+# CONFIG_TPL0102 is not set
+# CONFIG_X9250 is not set
+# end of Digital potentiometers
+
+#
+# Digital potentiostats
+#
+# CONFIG_LMP91000 is not set
+# end of Digital potentiostats
+
+#
+# Pressure sensors
+#
+# CONFIG_ABP060MG is not set
+# CONFIG_ROHM_BM1390 is not set
+# CONFIG_BMP280 is not set
+CONFIG_IIO_CROS_EC_BARO=m
+# CONFIG_DLHL60D is not set
+# CONFIG_DPS310 is not set
+# CONFIG_HP03 is not set
+# CONFIG_HSC030PA is not set
+# CONFIG_ICP10100 is not set
+# CONFIG_MPL115_I2C is not set
+# CONFIG_MPL115_SPI is not set
+# CONFIG_MPL3115 is not set
+# CONFIG_MPRLS0025PA is not set
+# CONFIG_MS5611 is not set
+# CONFIG_MS5637 is not set
+# CONFIG_IIO_ST_PRESS is not set
+# CONFIG_T5403 is not set
+# CONFIG_HP206C is not set
+# CONFIG_ZPA2326 is not set
+# end of Pressure sensors
+
+#
+# Lightning sensors
+#
+# CONFIG_AS3935 is not set
+# end of Lightning sensors
+
+#
+# Proximity and distance sensors
+#
+# CONFIG_CROS_EC_MKBP_PROXIMITY is not set
+# CONFIG_IRSD200 is not set
+# CONFIG_ISL29501 is not set
+# CONFIG_LIDAR_LITE_V2 is not set
+# CONFIG_MB1232 is not set
+# CONFIG_PING is not set
+# CONFIG_RFD77402 is not set
+# CONFIG_SRF04 is not set
+# CONFIG_SX9310 is not set
+# CONFIG_SX9324 is not set
+# CONFIG_SX9360 is not set
+# CONFIG_SX9500 is not set
+# CONFIG_SRF08 is not set
+# CONFIG_VCNL3020 is not set
+# CONFIG_VL53L0X_I2C is not set
+# end of Proximity and distance sensors
+
+#
+# Resolver to digital converters
+#
+# CONFIG_AD2S90 is not set
+# CONFIG_AD2S1200 is not set
+# CONFIG_AD2S1210 is not set
+# end of Resolver to digital converters
+
+#
+# Temperature sensors
+#
+# CONFIG_LTC2983 is not set
+# CONFIG_MAXIM_THERMOCOUPLE is not set
+# CONFIG_MLX90614 is not set
+# CONFIG_MLX90632 is not set
+# CONFIG_MLX90635 is not set
+# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
+# CONFIG_TMP117 is not set
+# CONFIG_TSYS01 is not set
+# CONFIG_TSYS02D is not set
+# CONFIG_MAX30208 is not set
+# CONFIG_MAX31856 is not set
+# CONFIG_MAX31865 is not set
+# CONFIG_MCP9600 is not set
+# end of Temperature sensors
+
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_ATMEL_TCB is not set
+# CONFIG_PWM_CLK is not set
+CONFIG_PWM_CROS_EC=y
+# CONFIG_PWM_FSL_FTM is not set
+CONFIG_PWM_MTK_DISP=y
+CONFIG_PWM_MEDIATEK=y
+# CONFIG_PWM_PCA9685 is not set
+# CONFIG_PWM_XILINX is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+# CONFIG_AL_FIC is not set
+# CONFIG_XILINX_INTC is not set
+CONFIG_PARTITION_PERCPU=y
+CONFIG_MST_IRQ=y
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_SCMI=m
+# CONFIG_RESET_TI_SYSCON is not set
+# CONFIG_RESET_TI_TPS380X is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
+
+#
+# PHY drivers for Broadcom platforms
+#
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# end of PHY drivers for Broadcom platforms
+
+# CONFIG_PHY_CADENCE_TORRENT is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
+# CONFIG_PHY_CADENCE_DPHY_RX is not set
+# CONFIG_PHY_CADENCE_SIERRA is not set
+# CONFIG_PHY_CADENCE_SALVO is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_MTK_PCIE is not set
+CONFIG_PHY_MTK_TPHY=y
+CONFIG_PHY_MTK_UFS=m
+CONFIG_PHY_MTK_XSPHY=m
+CONFIG_PHY_MTK_HDMI=y
+CONFIG_PHY_MTK_MIPI_DSI=y
+CONFIG_PHY_MTK_DP=y
+# CONFIG_PHY_LAN966X_SERDES is not set
+# CONFIG_PHY_CPCAP_USB is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+# CONFIG_PHY_TUSB1210 is not set
+# end of PHY Subsystem
+
+CONFIG_POWERCAP=y
+CONFIG_IDLE_INJECT=y
+# CONFIG_ARM_SCMI_POWERCAP is not set
+# CONFIG_DTPM is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+# CONFIG_ARM_CCI_PMU is not set
+# CONFIG_ARM_CCN is not set
+# CONFIG_ARM_CMN is not set
+CONFIG_ARM_PMU=y
+# CONFIG_ARM_SMMU_V3_PMU is not set
+CONFIG_ARM_PMUV3=y
+# CONFIG_ARM_DSU_PMU is not set
+# CONFIG_ARM_SPE_PMU is not set
+# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set
+# end of Performance monitor support
+
+CONFIG_RAS=y
+
+#
+# Android
+#
+# CONFIG_ANDROID_BINDER_IPC is not set
+# end of Android
+
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_NVMEM_LAYOUTS=y
+
+#
+# Layout Types
+#
+# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
+# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
+# end of Layout Types
+
+CONFIG_NVMEM_MTK_EFUSE=m
+# CONFIG_NVMEM_RMEM is not set
+# CONFIG_NVMEM_SPMI_SDAM is not set
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+# CONFIG_TEE is not set
+CONFIG_MULTIPLEXER=m
+
+#
+# Multiplexer drivers
+#
+# CONFIG_MUX_ADG792A is not set
+# CONFIG_MUX_ADGS1408 is not set
+# CONFIG_MUX_GPIO is not set
+# CONFIG_MUX_MMIO is not set
+# end of Multiplexer drivers
+
+CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# CONFIG_PECI is not set
+# CONFIG_HTE is not set
+# CONFIG_CDX_BUS is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+CONFIG_FS_STACK=y
+CONFIG_BUFFER_HEAD=y
+CONFIG_LEGACY_DIRECT_IO=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_SUPPORT_V4=y
+# CONFIG_XFS_SUPPORT_ASCII_CI is not set
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_ONLINE_SCRUB is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+# CONFIG_BTRFS_FS_REF_VERIFY is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_F2FS_FS=y
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+# CONFIG_F2FS_CHECK_FS is not set
+# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZO=y
+CONFIG_F2FS_FS_LZORLE=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZ4HC=y
+CONFIG_F2FS_FS_ZSTD=y
+# CONFIG_F2FS_IOSTAT is not set
+# CONFIG_F2FS_UNFAIR_RWSEM is not set
+# CONFIG_BCACHEFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_EXPORTFS_BLOCK_OPS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FS_ENCRYPTION=y
+CONFIG_FS_ENCRYPTION_ALGS=y
+CONFIG_FS_VERITY=y
+CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_VIRTIO_FS=m
+CONFIG_OVERLAY_FS=m
+# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
+# CONFIG_OVERLAY_FS_INDEX is not set
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
+# CONFIG_OVERLAY_FS_METACOPY is not set
+# CONFIG_OVERLAY_FS_DEBUG is not set
+
+#
+# Caches
+#
+CONFIG_NETFS_SUPPORT=m
+# CONFIG_NETFS_STATS is not set
+# CONFIG_FSCACHE is not set
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
+CONFIG_FAT_DEFAULT_UTF8=y
+CONFIG_EXFAT_FS=m
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+CONFIG_NTFS3_FS=m
+# CONFIG_NTFS3_64BIT_CLUSTER is not set
+# CONFIG_NTFS3_LZX_XPRESS is not set
+# CONFIG_NTFS3_FS_POSIX_ACL is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_TMPFS_INODE64 is not set
+# CONFIG_TMPFS_QUOTA is not set
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_EFIVAR_FS=m
+# end of Pseudo filesystems
+
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+CONFIG_ECRYPT_FS=m
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_FILE_CACHE=y
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
+CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_ZSTD=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+CONFIG_MINIX_FS=m
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_PSTORE=m
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
+CONFIG_PSTORE_COMPRESS=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_PMSG is not set
+# CONFIG_PSTORE_RAM is not set
+# CONFIG_PSTORE_BLK is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_EROFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+# CONFIG_NFS_V2 is not set
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+# CONFIG_NFS_SWAP is not set
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_NFS_FSCACHE is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
+CONFIG_NFSD=m
+# CONFIG_NFSD_V2 is not set
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_BLOCKLAYOUT is not set
+# CONFIG_NFSD_SCSILAYOUT is not set
+# CONFIG_NFSD_FLEXFILELAYOUT is not set
+# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set
+CONFIG_GRACE_PERIOD=m
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
+# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
+# CONFIG_SUNRPC_DEBUG is not set
+# CONFIG_CEPH_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SWN_UPCALL=y
+CONFIG_SMB_SERVER=m
+CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
+# CONFIG_SMB_SERVER_KERBEROS5 is not set
+CONFIG_SMBFS=m
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+CONFIG_NLS_CODEPAGE_866=m
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+CONFIG_NLS_ISO8859_5=m
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+CONFIG_NLS_KOI8_R=m
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+CONFIG_NLS_UTF8=m
+CONFIG_NLS_UCS2_UTILS=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_REQUEST_CACHE is not set
+CONFIG_PERSISTENT_KEYRINGS=y
+# CONFIG_TRUSTED_KEYS is not set
+CONFIG_ENCRYPTED_KEYS=y
+# CONFIG_USER_DECRYPTED_DATA is not set
+CONFIG_KEY_DH_OPERATIONS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+# CONFIG_SECURITY is not set
+# CONFIG_SECURITYFS is not set
+# CONFIG_HARDENED_USERCOPY is not set
+# CONFIG_FORTIFY_SOURCE is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
+# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_LSM=""
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
+CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+# CONFIG_INIT_STACK_ALL_ZERO is not set
+CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+# CONFIG_ZERO_CALL_USED_REGS is not set
+# end of Memory initialization
+
+#
+# Hardening of kernel data structures
+#
+# CONFIG_LIST_HARDENED is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Hardening of kernel data structures
+
+CONFIG_RANDSTRUCT_NONE=y
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_XOR_BLOCKS=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_SIG2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_KPP=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_ENGINE=m
+# end of Crypto core or helper
+
+#
+# Public-key cryptography
+#
+CONFIG_CRYPTO_RSA=y
+CONFIG_CRYPTO_DH=y
+# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
+CONFIG_CRYPTO_ECC=m
+CONFIG_CRYPTO_ECDH=m
+# CONFIG_CRYPTO_ECDSA is not set
+CONFIG_CRYPTO_ECRDSA=m
+# CONFIG_CRYPTO_SM2 is not set
+CONFIG_CRYPTO_CURVE25519=m
+# end of Public-key cryptography
+
+#
+# Block ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARIA is not set
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_SM4=m
+# CONFIG_CRYPTO_SM4_GENERIC is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# end of Block ciphers
+
+#
+# Length-preserving ciphers and modes
+#
+CONFIG_CRYPTO_ADIANTUM=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_HCTR2 is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+CONFIG_CRYPTO_LRW=m
+# CONFIG_CRYPTO_PCBC is not set
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_NHPOLY1305=m
+# end of Length-preserving ciphers and modes
+
+#
+# AEAD (authenticated encryption with associated data) ciphers
+#
+# CONFIG_CRYPTO_AEGIS128 is not set
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_GENIV=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
+CONFIG_CRYPTO_ESSIV=m
+# end of AEAD (authenticated encryption with associated data) ciphers
+
+#
+# Hashes, digests, and MACs
+#
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_SHA3=y
+CONFIG_CRYPTO_SM3=m
+# CONFIG_CRYPTO_SM3_GENERIC is not set
+CONFIG_CRYPTO_STREEBOG=m
+# CONFIG_CRYPTO_VMAC is not set
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_XCBC is not set
+CONFIG_CRYPTO_XXHASH=m
+# end of Hashes, digests, and MACs
+
+#
+# CRCs (cyclic redundancy checks)
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=y
+CONFIG_CRYPTO_CRCT10DIF=y
+# end of CRCs (cyclic redundancy checks)
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+CONFIG_CRYPTO_ZSTD=y
+# end of Compression
+
+#
+# Random number generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DRBG_MENU=y
+CONFIG_CRYPTO_DRBG_HMAC=y
+# CONFIG_CRYPTO_DRBG_HASH is not set
+# CONFIG_CRYPTO_DRBG_CTR is not set
+CONFIG_CRYPTO_DRBG=y
+CONFIG_CRYPTO_JITTERENTROPY=y
+CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
+CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
+CONFIG_CRYPTO_JITTERENTROPY_OSR=1
+CONFIG_CRYPTO_KDF800108_CTR=y
+# end of Random number generation
+
+#
+# Userspace interface
+#
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+# CONFIG_CRYPTO_USER_API_RNG is not set
+# CONFIG_CRYPTO_USER_API_AEAD is not set
+CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
+# CONFIG_CRYPTO_STATS is not set
+# end of Userspace interface
+
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_CRYPTO_NHPOLY1305_NEON=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
+
+#
+# Accelerated Cryptographic Algorithms for CPU (arm64)
+#
+CONFIG_CRYPTO_GHASH_ARM64_CE=m
+CONFIG_CRYPTO_POLY1305_NEON=m
+CONFIG_CRYPTO_SHA1_ARM64_CE=m
+CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA2_ARM64_CE=m
+CONFIG_CRYPTO_SHA512_ARM64=m
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+# CONFIG_CRYPTO_SM3_NEON is not set
+CONFIG_CRYPTO_SM3_ARM64_CE=m
+# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
+CONFIG_CRYPTO_AES_ARM64=m
+CONFIG_CRYPTO_AES_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
+CONFIG_CRYPTO_SM4_ARM64_CE=m
+# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set
+# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
+# CONFIG_CRYPTO_SM4_ARM64_CE_CCM is not set
+# CONFIG_CRYPTO_SM4_ARM64_CE_GCM is not set
+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
+# end of Accelerated Cryptographic Algorithms for CPU (arm64)
+
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
+# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
+# CONFIG_CRYPTO_DEV_CCP is not set
+CONFIG_CRYPTO_DEV_VIRTIO=m
+# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
+# CONFIG_CRYPTO_DEV_CCREE is not set
+# CONFIG_CRYPTO_DEV_HISI_SEC is not set
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
+CONFIG_PKCS7_MESSAGE_PARSER=y
+# CONFIG_PKCS7_TEST_KEY is not set
+# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
+# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
+
+#
+# Certificates for signature checking
+#
+CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
+CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
+# end of Certificates for signature checking
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+# CONFIG_RAID6_PQ_BENCHMARK is not set
+CONFIG_LINEAR_RANGES=y
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+# CONFIG_CORDIC is not set
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+# CONFIG_INDIRECT_PIO is not set
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_GF128MUL=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_CRC_CCITT=y
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+# CONFIG_CRC64_ROCKSOFT is not set
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+# CONFIG_CRC64 is not set
+# CONFIG_CRC4 is not set
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=y
+CONFIG_CRC8=m
+CONFIG_XXHASH=y
+CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=y
+CONFIG_LZ4HC_COMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMMON=y
+CONFIG_ZSTD_COMPRESS=y
+CONFIG_ZSTD_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+# CONFIG_XZ_DEC_MICROLZMA is not set
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_INTERVAL_TREE=y
+CONFIG_XARRAY_MULTI=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+CONFIG_DMA_OPS=y
+CONFIG_NEED_SG_DMA_FLAGS=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_SWIOTLB=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
+CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y
+# CONFIG_DMA_RESTRICTED_POOL is not set
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_DIRECT_REMAP=y
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_SGL_ALLOC=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+CONFIG_CLZ_TAB=y
+CONFIG_IRQ_POLL=y
+CONFIG_MPILIB=y
+CONFIG_DIMLIB=y
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_6x10 is not set
+# CONFIG_FONT_10x18 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+CONFIG_FONT_TER12x24=y
+# CONFIG_FONT_TER16x32 is not set
+# CONFIG_FONT_6x8 is not set
+CONFIG_SG_POOL=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_STACKDEPOT=y
+CONFIG_STACKDEPOT_MAX_FRAMES=64
+CONFIG_SBITMAP=y
+# CONFIG_LWQ_TEST is not set
+# end of Library routines
+
+CONFIG_GENERIC_IOREMAP=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
+# end of printk and dmesg options
+
+# CONFIG_DEBUG_KERNEL is not set
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_AS_HAS_NON_CONST_ULEB128=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_UBSAN is not set
+CONFIG_HAVE_KCSAN_COMPILER=y
+# end of Generic Kernel Debugging Instruments
+
+#
+# Networking Debugging
+#
+# end of Networking Debugging
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_PAGE_TABLE_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_ARCH_HAS_DEBUG_WX=y
+# CONFIG_DEBUG_WX is not set
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_PER_VMA_LOCK_STATS is not set
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+# CONFIG_DEBUG_VM_PGTABLE is not set
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_KASAN_SW_TAGS=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+# CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
+# end of Memory Debugging
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=30
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
+CONFIG_SCHED_INFO=y
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_DEBUG_IRQFLAGS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+
+#
+# Debug kernel data structures
+#
+# end of Debug kernel data structures
+
+#
+# RCU Debugging
+#
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
+# CONFIG_RCU_CPU_STALL_CPUTIME is not set
+# end of RCU Debugging
+
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_IO_STRICT_DEVMEM=y
+
+#
+# arm64 Debugging
+#
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_ARM64_RELOC_TEST is not set
+# CONFIG_CORESIGHT is not set
+# end of arm64 Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+
+#
+# Rust hacking
+#
+# end of Rust hacking
+# end of Kernel hacking
diff --git a/testing/linux-elm/config-elm.aarch64 b/testing/linux-elm/config-elm.aarch64
deleted file mode 100644
index d3a8bcd81a7..00000000000
--- a/testing/linux-elm/config-elm.aarch64
+++ /dev/null
@@ -1,6473 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/arm64 5.16.0 Kernel Configuration
-#
-CONFIG_CC_VERSION_TEXT="gcc (Alpine 11.2.1_git20211128) 11.2.1 20211128"
-CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=110201
-CONFIG_CLANG_VERSION=0
-CONFIG_AS_IS_GNU=y
-CONFIG_AS_VERSION=23700
-CONFIG_LD_IS_BFD=y
-CONFIG_LD_VERSION=23700
-CONFIG_LLD_VERSION=0
-CONFIG_CC_CAN_LINK=y
-CONFIG_CC_CAN_LINK_STATIC=y
-CONFIG_CC_HAS_ASM_GOTO=y
-CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
-CONFIG_CC_HAS_ASM_INLINE=y
-CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
-CONFIG_IRQ_WORK=y
-CONFIG_BUILDTIME_TABLE_SORT=y
-CONFIG_THREAD_INFO_IN_TASK=y
-
-#
-# General setup
-#
-CONFIG_INIT_ENV_ARG_LIMIT=32
-# CONFIG_COMPILE_TEST is not set
-# CONFIG_WERROR is not set
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_BUILD_SALT=""
-CONFIG_DEFAULT_INIT=""
-CONFIG_DEFAULT_HOSTNAME="localhost"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-# CONFIG_WATCH_QUEUE is not set
-CONFIG_CROSS_MEMORY_ATTACH=y
-# CONFIG_USELIB is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_ARCH_AUDITSYSCALL=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
-CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
-CONFIG_GENERIC_IRQ_MIGRATION=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_IRQ_DOMAIN=y
-CONFIG_IRQ_DOMAIN_HIERARCHY=y
-CONFIG_GENERIC_IRQ_IPI=y
-CONFIG_GENERIC_MSI_IRQ=y
-CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
-CONFIG_IRQ_MSI_IOMMU=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-# end of IRQ subsystem
-
-CONFIG_GENERIC_TIME_VSYSCALL=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_ARCH_HAS_TICK_BROADCAST=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
-CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
-
-#
-# Timers subsystem
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ_COMMON=y
-# CONFIG_HZ_PERIODIC is not set
-CONFIG_NO_HZ_IDLE=y
-# CONFIG_NO_HZ_FULL is not set
-# CONFIG_NO_HZ is not set
-CONFIG_HIGH_RES_TIMERS=y
-# end of Timers subsystem
-
-CONFIG_BPF=y
-CONFIG_HAVE_EBPF_JIT=y
-CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
-
-#
-# BPF subsystem
-#
-# CONFIG_BPF_SYSCALL is not set
-# CONFIG_BPF_JIT is not set
-# end of BPF subsystem
-
-CONFIG_PREEMPT_BUILD=y
-# CONFIG_PREEMPT_NONE is not set
-# CONFIG_PREEMPT_VOLUNTARY is not set
-CONFIG_PREEMPT=y
-CONFIG_PREEMPT_COUNT=y
-CONFIG_PREEMPTION=y
-# CONFIG_SCHED_CORE is not set
-
-#
-# CPU/Task time and stats accounting
-#
-CONFIG_TICK_CPU_ACCOUNTING=y
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-CONFIG_SCHED_THERMAL_PRESSURE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-# CONFIG_TASK_XACCT is not set
-# CONFIG_PSI is not set
-# end of CPU/Task time and stats accounting
-
-CONFIG_CPU_ISOLATION=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-CONFIG_PREEMPT_RCU=y
-# CONFIG_RCU_EXPERT is not set
-CONFIG_SRCU=y
-CONFIG_TREE_SRCU=y
-CONFIG_TASKS_RCU_GENERIC=y
-CONFIG_TASKS_RCU=y
-CONFIG_RCU_STALL_COMMON=y
-CONFIG_RCU_NEED_SEGCBLIST=y
-# end of RCU Subsystem
-
-CONFIG_IKCONFIG=m
-CONFIG_IKCONFIG_PROC=y
-# CONFIG_IKHEADERS is not set
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
-CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
-CONFIG_GENERIC_SCHED_CLOCK=y
-
-#
-# Scheduler features
-#
-# CONFIG_UCLAMP_TASK is not set
-# end of Scheduler features
-
-CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
-CONFIG_CC_HAS_INT128=y
-CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
-CONFIG_ARCH_SUPPORTS_INT128=y
-CONFIG_CGROUPS=y
-CONFIG_PAGE_COUNTER=y
-CONFIG_MEMCG=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_MEMCG_KMEM=y
-CONFIG_BLK_CGROUP=y
-CONFIG_CGROUP_WRITEBACK=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-# CONFIG_RT_GROUP_SCHED is not set
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_RDMA=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-# CONFIG_CGROUP_PERF is not set
-# CONFIG_CGROUP_MISC is not set
-CONFIG_SOCK_CGROUP_DATA=y
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_TIME_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_CHECKPOINT_RESTORE is not set
-CONFIG_SCHED_AUTOGROUP=y
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_BOOT_CONFIG is not set
-CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_LD_ORPHAN_WARN=y
-CONFIG_SYSCTL=y
-CONFIG_HAVE_UID16=y
-CONFIG_SYSCTL_EXCEPTION_TRACE=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-CONFIG_MULTIUSER=y
-CONFIG_SYSFS_SYSCALL=y
-CONFIG_FHANDLE=y
-CONFIG_POSIX_TIMERS=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_FUTEX_PI=y
-CONFIG_HAVE_FUTEX_CMPXCHG=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_IO_URING=y
-CONFIG_ADVISE_SYSCALLS=y
-CONFIG_MEMBARRIER=y
-CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_BASE_RELATIVE=y
-# CONFIG_USERFAULTFD is not set
-CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
-CONFIG_KCMP=y
-CONFIG_RSEQ=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# end of Kernel Performance Events And Counters
-
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_SLAB_MERGE_DEFAULT=y
-# CONFIG_SLAB_FREELIST_RANDOM is not set
-# CONFIG_SLAB_FREELIST_HARDENED is not set
-# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
-# CONFIG_SLUB_CPU_PARTIAL is not set
-CONFIG_SYSTEM_DATA_VERIFICATION=y
-# CONFIG_PROFILING is not set
-# end of General setup
-
-CONFIG_ARM64=y
-CONFIG_64BIT=y
-CONFIG_MMU=y
-CONFIG_ARM64_PAGE_SHIFT=12
-CONFIG_ARM64_CONT_PTE_SHIFT=4
-CONFIG_ARM64_CONT_PMD_SHIFT=4
-CONFIG_ARCH_MMAP_RND_BITS_MIN=18
-CONFIG_ARCH_MMAP_RND_BITS_MAX=33
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
-CONFIG_NO_IOPORT_MAP=y
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CSUM=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
-CONFIG_SMP=y
-CONFIG_KERNEL_MODE_NEON=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_PGTABLE_LEVELS=4
-CONFIG_ARCH_SUPPORTS_UPROBES=y
-CONFIG_ARCH_PROC_KCORE_TEXT=y
-
-#
-# Platform selection
-#
-# CONFIG_ARCH_ACTIONS is not set
-# CONFIG_ARCH_SUNXI is not set
-# CONFIG_ARCH_ALPINE is not set
-# CONFIG_ARCH_APPLE is not set
-# CONFIG_ARCH_BCM2835 is not set
-# CONFIG_ARCH_BCM4908 is not set
-# CONFIG_ARCH_BCM_IPROC is not set
-# CONFIG_ARCH_BERLIN is not set
-# CONFIG_ARCH_BITMAIN is not set
-# CONFIG_ARCH_BRCMSTB is not set
-# CONFIG_ARCH_EXYNOS is not set
-# CONFIG_ARCH_SPARX5 is not set
-# CONFIG_ARCH_K3 is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
-# CONFIG_ARCH_LG1K is not set
-# CONFIG_ARCH_HISI is not set
-# CONFIG_ARCH_KEEMBAY is not set
-CONFIG_ARCH_MEDIATEK=y
-# CONFIG_ARCH_MESON is not set
-# CONFIG_ARCH_MVEBU is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_QCOM is not set
-# CONFIG_ARCH_REALTEK is not set
-# CONFIG_ARCH_RENESAS is not set
-# CONFIG_ARCH_ROCKCHIP is not set
-# CONFIG_ARCH_S32 is not set
-# CONFIG_ARCH_SEATTLE is not set
-# CONFIG_ARCH_INTEL_SOCFPGA is not set
-# CONFIG_ARCH_SYNQUACER is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_SPRD is not set
-# CONFIG_ARCH_THUNDER is not set
-# CONFIG_ARCH_THUNDER2 is not set
-# CONFIG_ARCH_UNIPHIER is not set
-# CONFIG_ARCH_VEXPRESS is not set
-# CONFIG_ARCH_VISCONTI is not set
-# CONFIG_ARCH_XGENE is not set
-# CONFIG_ARCH_ZYNQMP is not set
-# end of Platform selection
-
-#
-# Kernel Features
-#
-
-#
-# ARM errata workarounds via the alternatives framework
-#
-CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
-CONFIG_ARM64_ERRATUM_826319=y
-CONFIG_ARM64_ERRATUM_827319=y
-CONFIG_ARM64_ERRATUM_824069=y
-CONFIG_ARM64_ERRATUM_819472=y
-CONFIG_ARM64_ERRATUM_832075=y
-CONFIG_ARM64_ERRATUM_834220=y
-CONFIG_ARM64_ERRATUM_845719=y
-CONFIG_ARM64_ERRATUM_843419=y
-CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
-CONFIG_ARM64_ERRATUM_1024718=y
-CONFIG_ARM64_ERRATUM_1418040=y
-CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
-CONFIG_ARM64_ERRATUM_1165522=y
-CONFIG_ARM64_ERRATUM_1319367=y
-CONFIG_ARM64_ERRATUM_1530923=y
-CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
-CONFIG_ARM64_ERRATUM_1286807=y
-CONFIG_ARM64_ERRATUM_1463225=y
-CONFIG_ARM64_ERRATUM_1542419=y
-CONFIG_ARM64_ERRATUM_1508412=y
-CONFIG_ARM64_WORKAROUND_TSB_FLUSH_FAILURE=y
-CONFIG_ARM64_ERRATUM_2054223=y
-# CONFIG_ARM64_ERRATUM_2067961 is not set
-CONFIG_CAVIUM_ERRATUM_22375=y
-CONFIG_CAVIUM_ERRATUM_23154=y
-CONFIG_CAVIUM_ERRATUM_27456=y
-CONFIG_CAVIUM_ERRATUM_30115=y
-CONFIG_CAVIUM_TX2_ERRATUM_219=y
-CONFIG_FUJITSU_ERRATUM_010001=y
-CONFIG_HISILICON_ERRATUM_161600802=y
-CONFIG_QCOM_FALKOR_ERRATUM_1003=y
-CONFIG_QCOM_FALKOR_ERRATUM_1009=y
-CONFIG_QCOM_QDF2400_ERRATUM_0065=y
-CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
-CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
-CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
-# end of ARM errata workarounds via the alternatives framework
-
-CONFIG_ARM64_4K_PAGES=y
-# CONFIG_ARM64_16K_PAGES is not set
-# CONFIG_ARM64_64K_PAGES is not set
-# CONFIG_ARM64_VA_BITS_39 is not set
-CONFIG_ARM64_VA_BITS_48=y
-CONFIG_ARM64_VA_BITS=48
-CONFIG_ARM64_PA_BITS_48=y
-CONFIG_ARM64_PA_BITS=48
-# CONFIG_CPU_BIG_ENDIAN is not set
-CONFIG_CPU_LITTLE_ENDIAN=y
-CONFIG_SCHED_MC=y
-# CONFIG_SCHED_CLUSTER is not set
-CONFIG_SCHED_SMT=y
-CONFIG_NR_CPUS=8
-CONFIG_HOTPLUG_CPU=y
-# CONFIG_NUMA is not set
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_HW_PERF_EVENTS=y
-CONFIG_ARCH_HAS_FILTER_PGPROT=y
-# CONFIG_PARAVIRT is not set
-# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
-# CONFIG_KEXEC is not set
-# CONFIG_KEXEC_FILE is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_TRANS_TABLE=y
-# CONFIG_XEN is not set
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_UNMAP_KERNEL_AT_EL0=y
-CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
-# CONFIG_ARM64_SW_TTBR0_PAN is not set
-CONFIG_ARM64_TAGGED_ADDR_ABI=y
-CONFIG_COMPAT=y
-CONFIG_KUSER_HELPERS=y
-CONFIG_ARMV8_DEPRECATED=y
-CONFIG_SWP_EMULATION=y
-CONFIG_CP15_BARRIER_EMULATION=y
-CONFIG_SETEND_EMULATION=y
-
-#
-# ARMv8.1 architectural features
-#
-CONFIG_ARM64_HW_AFDBM=y
-CONFIG_ARM64_PAN=y
-CONFIG_AS_HAS_LDAPR=y
-CONFIG_AS_HAS_LSE_ATOMICS=y
-CONFIG_ARM64_LSE_ATOMICS=y
-CONFIG_ARM64_USE_LSE_ATOMICS=y
-# end of ARMv8.1 architectural features
-
-#
-# ARMv8.2 architectural features
-#
-# CONFIG_ARM64_PMEM is not set
-CONFIG_ARM64_RAS_EXTN=y
-CONFIG_ARM64_CNP=y
-# end of ARMv8.2 architectural features
-
-#
-# ARMv8.3 architectural features
-#
-CONFIG_ARM64_PTR_AUTH=y
-CONFIG_ARM64_PTR_AUTH_KERNEL=y
-CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
-CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
-CONFIG_AS_HAS_PAC=y
-CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
-# end of ARMv8.3 architectural features
-
-#
-# ARMv8.4 architectural features
-#
-CONFIG_ARM64_AMU_EXTN=y
-CONFIG_AS_HAS_ARMV8_4=y
-CONFIG_ARM64_TLB_RANGE=y
-# end of ARMv8.4 architectural features
-
-#
-# ARMv8.5 architectural features
-#
-CONFIG_AS_HAS_ARMV8_5=y
-CONFIG_ARM64_BTI=y
-CONFIG_ARM64_BTI_KERNEL=y
-CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
-CONFIG_ARM64_E0PD=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_ARM64_AS_HAS_MTE=y
-CONFIG_ARM64_MTE=y
-# end of ARMv8.5 architectural features
-
-#
-# ARMv8.7 architectural features
-#
-CONFIG_ARM64_EPAN=y
-# end of ARMv8.7 architectural features
-
-CONFIG_ARM64_SVE=y
-CONFIG_ARM64_MODULE_PLTS=y
-# CONFIG_ARM64_PSEUDO_NMI is not set
-CONFIG_RELOCATABLE=y
-# CONFIG_RANDOMIZE_BASE is not set
-CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
-CONFIG_STACKPROTECTOR_PER_TASK=y
-# end of Kernel Features
-
-#
-# Boot options
-#
-# CONFIG_ARM64_ACPI_PARKING_PROTOCOL is not set
-CONFIG_CMDLINE=""
-CONFIG_EFI_STUB=y
-CONFIG_EFI=y
-CONFIG_DMI=y
-# end of Boot options
-
-CONFIG_SYSVIPC_COMPAT=y
-
-#
-# Power management options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_HIBERNATION_SNAPSHOT_DEV=y
-CONFIG_PM_STD_PARTITION=""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-CONFIG_PM_AUTOSLEEP=y
-# CONFIG_PM_WAKELOCKS is not set
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_CLK=y
-CONFIG_PM_GENERIC_DOMAINS=y
-# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
-CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
-CONFIG_PM_GENERIC_DOMAINS_OF=y
-CONFIG_CPU_PM=y
-CONFIG_ENERGY_MODEL=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_HIBERNATION_HEADER=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# end of Power management options
-
-#
-# CPU Power Management
-#
-
-#
-# CPU Idle
-#
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_CPU_IDLE_GOV_TEO=y
-CONFIG_DT_IDLE_STATES=y
-
-#
-# ARM CPU Idle Drivers
-#
-CONFIG_ARM_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE=y
-CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
-# end of ARM CPU Idle Drivers
-# end of CPU Idle
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_GOV_ATTR_SET=y
-CONFIG_CPU_FREQ_GOV_COMMON=y
-# CONFIG_CPU_FREQ_STAT is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-
-#
-# CPU frequency scaling drivers
-#
-# CONFIG_CPUFREQ_DT is not set
-CONFIG_ACPI_CPPC_CPUFREQ=m
-CONFIG_ACPI_CPPC_CPUFREQ_FIE=y
-CONFIG_ARM_MEDIATEK_CPUFREQ=y
-CONFIG_ARM_MEDIATEK_CPUFREQ_HW=m
-CONFIG_ARM_SCMI_CPUFREQ=m
-# end of CPU Frequency scaling
-# end of CPU Power Management
-
-CONFIG_ARCH_SUPPORTS_ACPI=y
-CONFIG_ACPI=y
-CONFIG_ACPI_GENERIC_GSI=y
-CONFIG_ACPI_CCA_REQUIRED=y
-# CONFIG_ACPI_DEBUGGER is not set
-CONFIG_ACPI_SPCR_TABLE=y
-# CONFIG_ACPI_EC_DEBUGFS is not set
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-# CONFIG_ACPI_TINY_POWER_BUTTON is not set
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_TAD=m
-# CONFIG_ACPI_DOCK is not set
-CONFIG_ACPI_PROCESSOR_IDLE=y
-CONFIG_ACPI_CPPC_LIB=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_THERMAL=m
-CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_CONTAINER=y
-CONFIG_ACPI_HED=m
-# CONFIG_ACPI_BGRT is not set
-CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
-CONFIG_HAVE_ACPI_APEI=y
-# CONFIG_ACPI_APEI is not set
-CONFIG_ACPI_CONFIGFS=m
-CONFIG_ACPI_IORT=y
-CONFIG_ACPI_GTDT=y
-CONFIG_ACPI_PPTT=y
-CONFIG_PMIC_OPREGION=y
-CONFIG_ACPI_VIOT=y
-CONFIG_IRQ_BYPASS_MANAGER=y
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_IRQFD=y
-CONFIG_HAVE_KVM_IRQ_ROUTING=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_MMIO=y
-CONFIG_HAVE_KVM_MSI=y
-CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
-CONFIG_KVM_VFIO=y
-CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y
-CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
-CONFIG_HAVE_KVM_IRQ_BYPASS=y
-CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y
-CONFIG_KVM_XFER_TO_GUEST_WORK=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=y
-# CONFIG_NVHE_EL2_DEBUG is not set
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA256_ARM64=m
-CONFIG_CRYPTO_SHA512_ARM64=m
-CONFIG_CRYPTO_SHA1_ARM64_CE=m
-CONFIG_CRYPTO_SHA2_ARM64_CE=m
-CONFIG_CRYPTO_SHA512_ARM64_CE=m
-CONFIG_CRYPTO_SHA3_ARM64=m
-CONFIG_CRYPTO_SM3_ARM64_CE=m
-CONFIG_CRYPTO_SM4_ARM64_CE=m
-CONFIG_CRYPTO_GHASH_ARM64_CE=m
-CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64=m
-CONFIG_CRYPTO_AES_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
-CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
-CONFIG_CRYPTO_CHACHA20_NEON=m
-CONFIG_CRYPTO_POLY1305_NEON=m
-CONFIG_CRYPTO_NHPOLY1305_NEON=m
-CONFIG_CRYPTO_AES_ARM64_BS=m
-
-#
-# General architecture-dependent options
-#
-# CONFIG_KPROBES is not set
-CONFIG_JUMP_LABEL=y
-# CONFIG_STATIC_KEYS_SELFTEST is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
-CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
-CONFIG_HAVE_NMI=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_CONTIGUOUS=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_GENERIC_IDLE_POLL_SETUP=y
-CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
-CONFIG_ARCH_HAS_KEEPINITRD=y
-CONFIG_ARCH_HAS_SET_MEMORY=y
-CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
-CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
-CONFIG_ARCH_WANTS_NO_INSTR=y
-CONFIG_HAVE_ASM_MODVERSIONS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_RSEQ=y
-CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_PERF_REGS=y
-CONFIG_HAVE_PERF_USER_STACK_DUMP=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
-CONFIG_MMU_GATHER_TABLE_FREE=y
-CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
-CONFIG_HAVE_CMPXCHG_LOCAL=y
-CONFIG_HAVE_CMPXCHG_DOUBLE=y
-CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
-CONFIG_HAVE_ARCH_SECCOMP=y
-CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
-CONFIG_SECCOMP=y
-CONFIG_SECCOMP_FILTER=y
-# CONFIG_SECCOMP_CACHE_DEBUG is not set
-CONFIG_HAVE_ARCH_STACKLEAK=y
-CONFIG_HAVE_STACKPROTECTOR=y
-CONFIG_STACKPROTECTOR=y
-CONFIG_STACKPROTECTOR_STRONG=y
-CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
-CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
-CONFIG_LTO_NONE=y
-CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
-CONFIG_HAVE_CONTEXT_TRACKING=y
-CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
-CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
-CONFIG_HAVE_MOVE_PUD=y
-CONFIG_HAVE_MOVE_PMD=y
-CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
-CONFIG_HAVE_ARCH_HUGE_VMAP=y
-CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
-CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
-CONFIG_MODULES_USE_ELF_RELA=y
-CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
-CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
-CONFIG_ARCH_MMAP_RND_BITS=18
-CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
-CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
-CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
-CONFIG_CLONE_BACKWARDS=y
-CONFIG_OLD_SIGSUSPEND3=y
-CONFIG_COMPAT_OLD_SIGACTION=y
-CONFIG_COMPAT_32BIT_TIME=y
-CONFIG_HAVE_ARCH_VMAP_STACK=y
-CONFIG_VMAP_STACK=y
-CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
-# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
-CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
-CONFIG_STRICT_KERNEL_RWX=y
-CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
-CONFIG_STRICT_MODULE_RWX=y
-CONFIG_HAVE_ARCH_COMPILER_H=y
-CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
-CONFIG_ARCH_HAS_RELR=y
-CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
-# end of GCOV-based kernel profiling
-
-CONFIG_HAVE_GCC_PLUGINS=y
-# CONFIG_GCC_PLUGINS is not set
-# end of General architecture-dependent options
-
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULE_SIG_FORMAT=y
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_MODULE_SIG=y
-# CONFIG_MODULE_SIG_FORCE is not set
-# CONFIG_MODULE_SIG_ALL is not set
-CONFIG_MODULE_SIG_SHA1=y
-# CONFIG_MODULE_SIG_SHA224 is not set
-# CONFIG_MODULE_SIG_SHA256 is not set
-# CONFIG_MODULE_SIG_SHA384 is not set
-# CONFIG_MODULE_SIG_SHA512 is not set
-CONFIG_MODULE_SIG_HASH="sha1"
-CONFIG_MODULE_COMPRESS_NONE=y
-# CONFIG_MODULE_COMPRESS_GZIP is not set
-# CONFIG_MODULE_COMPRESS_XZ is not set
-# CONFIG_MODULE_COMPRESS_ZSTD is not set
-# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
-CONFIG_MODPROBE_PATH="/sbin/modprobe"
-CONFIG_MODULES_TREE_LOOKUP=y
-CONFIG_BLOCK=y
-CONFIG_BLK_CGROUP_RWSTAT=y
-CONFIG_BLK_DEV_BSG_COMMON=y
-# CONFIG_BLK_DEV_BSGLIB is not set
-# CONFIG_BLK_DEV_INTEGRITY is not set
-# CONFIG_BLK_DEV_ZONED is not set
-# CONFIG_BLK_DEV_THROTTLING is not set
-CONFIG_BLK_WBT=y
-CONFIG_BLK_WBT_MQ=y
-# CONFIG_BLK_CGROUP_IOLATENCY is not set
-# CONFIG_BLK_CGROUP_IOCOST is not set
-# CONFIG_BLK_CGROUP_IOPRIO is not set
-# CONFIG_BLK_SED_OPAL is not set
-# CONFIG_BLK_INLINE_ENCRYPTION is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_AIX_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-CONFIG_LDM_PARTITION=y
-# CONFIG_LDM_DEBUG is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-# CONFIG_CMDLINE_PARTITION is not set
-# end of Partition Types
-
-CONFIG_BLOCK_COMPAT=y
-CONFIG_BLK_MQ_VIRTIO=y
-CONFIG_BLK_PM=y
-CONFIG_BLOCK_HOLDER_DEPRECATED=y
-
-#
-# IO Schedulers
-#
-CONFIG_MQ_IOSCHED_DEADLINE=m
-CONFIG_MQ_IOSCHED_KYBER=m
-CONFIG_IOSCHED_BFQ=m
-CONFIG_BFQ_GROUP_IOSCHED=y
-# CONFIG_BFQ_CGROUP_DEBUG is not set
-# end of IO Schedulers
-
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
-CONFIG_ASN1=y
-CONFIG_UNINLINE_SPIN_UNLOCK=y
-CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_RWSEM_SPIN_ON_OWNER=y
-CONFIG_LOCK_SPIN_ON_OWNER=y
-CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
-CONFIG_QUEUED_SPINLOCKS=y
-CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
-CONFIG_QUEUED_RWLOCKS=y
-CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
-CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
-CONFIG_FREEZER=y
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_COMPAT_BINFMT_ELF=y
-CONFIG_ARCH_BINFMT_ELF_STATE=y
-CONFIG_ARCH_HAVE_ELF_PROT=y
-CONFIG_ARCH_USE_GNU_PROPERTY=y
-CONFIG_ELFCORE=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_BINFMT_SCRIPT=y
-CONFIG_BINFMT_MISC=m
-CONFIG_COREDUMP=y
-# end of Executable file formats
-
-#
-# Memory Management options
-#
-CONFIG_SPARSEMEM=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_HAVE_FAST_GUP=y
-CONFIG_ARCH_KEEP_MEMBLOCK=y
-CONFIG_MEMORY_ISOLATION=y
-CONFIG_EXCLUSIVE_SYSTEM_RAM=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-# CONFIG_MEMORY_HOTPLUG is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
-CONFIG_MEMORY_BALLOON=y
-CONFIG_BALLOON_COMPACTION=y
-CONFIG_COMPACTION=y
-CONFIG_PAGE_REPORTING=y
-CONFIG_MIGRATION=y
-CONFIG_CONTIG_ALLOC=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_MMU_NOTIFIER=y
-CONFIG_KSM=y
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
-CONFIG_CLEANCACHE=y
-CONFIG_FRONTSWAP=y
-CONFIG_CMA=y
-# CONFIG_CMA_SYSFS is not set
-CONFIG_CMA_AREAS=7
-CONFIG_ZSWAP=y
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
-CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
-CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
-# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
-# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
-CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
-CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
-# CONFIG_ZSWAP_DEFAULT_ON is not set
-CONFIG_ZPOOL=y
-CONFIG_ZBUD=y
-CONFIG_Z3FOLD=y
-CONFIG_ZSMALLOC=y
-# CONFIG_ZSMALLOC_STAT is not set
-CONFIG_GENERIC_EARLY_IOREMAP=y
-# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
-# CONFIG_IDLE_PAGE_TRACKING is not set
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_ARCH_HAS_PTE_DEVMAP=y
-CONFIG_ZONE_DMA=y
-CONFIG_ZONE_DMA32=y
-CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
-# CONFIG_PERCPU_STATS is not set
-
-#
-# GUP_TEST needs to have DEBUG_FS enabled
-#
-CONFIG_ARCH_HAS_PTE_SPECIAL=y
-CONFIG_SECRETMEM=y
-
-#
-# Data Access Monitoring
-#
-# CONFIG_DAMON is not set
-# end of Data Access Monitoring
-# end of Memory Management options
-
-CONFIG_NET=y
-CONFIG_COMPAT_NETLINK_MESSAGES=y
-CONFIG_NET_INGRESS=y
-CONFIG_NET_EGRESS=y
-CONFIG_NET_REDIRECT=y
-CONFIG_SKB_EXTENSIONS=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_DIAG=m
-CONFIG_UNIX=y
-CONFIG_UNIX_SCM=y
-CONFIG_AF_UNIX_OOB=y
-CONFIG_UNIX_DIAG=m
-CONFIG_TLS=m
-# CONFIG_TLS_DEVICE is not set
-# CONFIG_TLS_TOE is not set
-CONFIG_XFRM=y
-CONFIG_XFRM_ALGO=m
-CONFIG_XFRM_USER=m
-# CONFIG_XFRM_INTERFACE is not set
-CONFIG_XFRM_SUB_POLICY=y
-CONFIG_XFRM_MIGRATE=y
-CONFIG_XFRM_STATISTICS=y
-CONFIG_XFRM_AH=m
-CONFIG_XFRM_ESP=m
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IP_TUNNEL=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE_COMMON=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_SYN_COOKIES=y
-CONFIG_NET_IPVTI=m
-CONFIG_NET_UDP_TUNNEL=m
-CONFIG_NET_FOU=m
-CONFIG_NET_FOU_IP_TUNNELS=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-# CONFIG_INET_ESP_OFFLOAD is not set
-# CONFIG_INET_ESPINTCP is not set
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_INET_RAW_DIAG=m
-# CONFIG_INET_DIAG_DESTROY is not set
-CONFIG_TCP_CONG_ADVANCED=y
-# CONFIG_TCP_CONG_BIC is not set
-CONFIG_TCP_CONG_CUBIC=y
-# CONFIG_TCP_CONG_WESTWOOD is not set
-# CONFIG_TCP_CONG_HTCP is not set
-# CONFIG_TCP_CONG_HSTCP is not set
-# CONFIG_TCP_CONG_HYBLA is not set
-# CONFIG_TCP_CONG_VEGAS is not set
-# CONFIG_TCP_CONG_NV is not set
-# CONFIG_TCP_CONG_SCALABLE is not set
-# CONFIG_TCP_CONG_LP is not set
-# CONFIG_TCP_CONG_VENO is not set
-# CONFIG_TCP_CONG_YEAH is not set
-# CONFIG_TCP_CONG_ILLINOIS is not set
-# CONFIG_TCP_CONG_DCTCP is not set
-# CONFIG_TCP_CONG_CDG is not set
-# CONFIG_TCP_CONG_BBR is not set
-CONFIG_DEFAULT_CUBIC=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="cubic"
-CONFIG_TCP_MD5SIG=y
-CONFIG_IPV6=y
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_IPV6_ROUTE_INFO=y
-CONFIG_IPV6_OPTIMISTIC_DAD=y
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-# CONFIG_INET6_ESP_OFFLOAD is not set
-# CONFIG_INET6_ESPINTCP is not set
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_IPV6_ILA=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_IPV6_VTI=m
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_SIT_6RD=y
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_GRE=m
-CONFIG_IPV6_FOU=m
-CONFIG_IPV6_FOU_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IPV6_PIMSM_V2=y
-CONFIG_IPV6_SEG6_LWTUNNEL=y
-CONFIG_IPV6_SEG6_HMAC=y
-CONFIG_IPV6_SEG6_BPF=y
-# CONFIG_IPV6_RPL_LWTUNNEL is not set
-# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
-CONFIG_MPTCP=y
-CONFIG_INET_MPTCP_DIAG=m
-CONFIG_MPTCP_IPV6=y
-# CONFIG_NETWORK_SECMARK is not set
-# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
-CONFIG_NETFILTER=y
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=m
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_INGRESS=y
-CONFIG_NETFILTER_EGRESS=y
-CONFIG_NETFILTER_SKIP_EGRESS=y
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_FAMILY_BRIDGE=y
-CONFIG_NETFILTER_FAMILY_ARP=y
-# CONFIG_NETFILTER_NETLINK_HOOK is not set
-CONFIG_NETFILTER_NETLINK_ACCT=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NETFILTER_NETLINK_OSF=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_LOG_SYSLOG=m
-CONFIG_NETFILTER_CONNCOUNT=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_PROCFS=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_TIMEOUT=y
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CONNTRACK_LABELS=y
-CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_GRE=y
-CONFIG_NF_CT_PROTO_SCTP=y
-CONFIG_NF_CT_PROTO_UDPLITE=y
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NF_CT_NETLINK_TIMEOUT=m
-CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NETFILTER_NETLINK_GLUE_CT=y
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_REDIRECT=y
-CONFIG_NF_NAT_MASQUERADE=y
-CONFIG_NETFILTER_SYNPROXY=m
-CONFIG_NF_TABLES=m
-CONFIG_NF_TABLES_INET=y
-CONFIG_NF_TABLES_NETDEV=y
-CONFIG_NFT_NUMGEN=m
-CONFIG_NFT_CT=m
-CONFIG_NFT_FLOW_OFFLOAD=m
-CONFIG_NFT_COUNTER=m
-CONFIG_NFT_CONNLIMIT=m
-CONFIG_NFT_LOG=m
-CONFIG_NFT_LIMIT=m
-CONFIG_NFT_MASQ=m
-CONFIG_NFT_REDIR=m
-CONFIG_NFT_NAT=m
-CONFIG_NFT_TUNNEL=m
-CONFIG_NFT_OBJREF=m
-CONFIG_NFT_QUEUE=m
-CONFIG_NFT_QUOTA=m
-CONFIG_NFT_REJECT=m
-CONFIG_NFT_REJECT_INET=m
-CONFIG_NFT_COMPAT=m
-CONFIG_NFT_HASH=m
-CONFIG_NFT_FIB=m
-# CONFIG_NFT_FIB_INET is not set
-CONFIG_NFT_XFRM=m
-CONFIG_NFT_SOCKET=m
-CONFIG_NFT_OSF=m
-CONFIG_NFT_TPROXY=m
-# CONFIG_NFT_SYNPROXY is not set
-CONFIG_NF_DUP_NETDEV=m
-CONFIG_NFT_DUP_NETDEV=m
-CONFIG_NFT_FWD_NETDEV=m
-# CONFIG_NFT_FIB_NETDEV is not set
-CONFIG_NFT_REJECT_NETDEV=m
-CONFIG_NF_FLOW_TABLE_INET=m
-CONFIG_NF_FLOW_TABLE=m
-CONFIG_NETFILTER_XTABLES=m
-CONFIG_NETFILTER_XTABLES_COMPAT=y
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_HMARK=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-# CONFIG_NETFILTER_XT_TARGET_LED is not set
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_NAT=m
-CONFIG_NETFILTER_XT_TARGET_NETMAP=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
-CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_BPF=m
-CONFIG_NETFILTER_XT_MATCH_CGROUP=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ECN=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_L2TP=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-# CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-# end of Core Netfilter Configuration
-
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPMARK=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_IPMAC=m
-CONFIG_IP_SET_HASH_MAC=m
-CONFIG_IP_SET_HASH_NETPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETNET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-# CONFIG_IP_VS is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_SOCKET_IPV4=m
-CONFIG_NF_TPROXY_IPV4=m
-CONFIG_NF_TABLES_IPV4=y
-CONFIG_NFT_REJECT_IPV4=m
-CONFIG_NFT_DUP_IPV4=m
-CONFIG_NFT_FIB_IPV4=m
-CONFIG_NF_TABLES_ARP=y
-# CONFIG_NF_FLOW_TABLE_IPV4 is not set
-CONFIG_NF_DUP_IPV4=m
-CONFIG_NF_LOG_ARP=m
-CONFIG_NF_LOG_IPV4=m
-CONFIG_NF_REJECT_IPV4=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_SYNPROXY=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-# end of IP: Netfilter Configuration
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_SOCKET_IPV6=m
-CONFIG_NF_TPROXY_IPV6=m
-CONFIG_NF_TABLES_IPV6=y
-CONFIG_NFT_REJECT_IPV6=m
-CONFIG_NFT_DUP_IPV6=m
-CONFIG_NFT_FIB_IPV6=m
-# CONFIG_NF_FLOW_TABLE_IPV6 is not set
-CONFIG_NF_DUP_IPV6=m
-CONFIG_NF_REJECT_IPV6=m
-CONFIG_NF_LOG_IPV6=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RPFILTER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_MATCH_SRH=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_TARGET_SYNPROXY=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_IP6_NF_TARGET_NPT=m
-# end of IPv6: Netfilter Configuration
-
-CONFIG_NF_DEFRAG_IPV6=m
-# CONFIG_NF_TABLES_BRIDGE is not set
-CONFIG_NF_CONNTRACK_BRIDGE=m
-# CONFIG_BRIDGE_NF_EBTABLES is not set
-# CONFIG_BPFILTER is not set
-# CONFIG_IP_DCCP is not set
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
-CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
-# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
-CONFIG_SCTP_COOKIE_HMAC_MD5=y
-CONFIG_SCTP_COOKIE_HMAC_SHA1=y
-CONFIG_INET_SCTP_DIAG=m
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_MRP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-CONFIG_BRIDGE_VLAN_FILTERING=y
-# CONFIG_BRIDGE_MRP is not set
-# CONFIG_BRIDGE_CFM is not set
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_PHONET is not set
-# CONFIG_6LOWPAN is not set
-# CONFIG_IEEE802154 is not set
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-# CONFIG_NET_SCH_CBQ is not set
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-# CONFIG_NET_SCH_RED is not set
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-# CONFIG_NET_SCH_CBS is not set
-# CONFIG_NET_SCH_ETF is not set
-# CONFIG_NET_SCH_TAPRIO is not set
-# CONFIG_NET_SCH_GRED is not set
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-# CONFIG_NET_SCH_DRR is not set
-CONFIG_NET_SCH_MQPRIO=m
-# CONFIG_NET_SCH_SKBPRIO is not set
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_CODEL=m
-CONFIG_NET_SCH_FQ_CODEL=m
-# CONFIG_NET_SCH_CAKE is not set
-CONFIG_NET_SCH_FQ=m
-CONFIG_NET_SCH_HHF=m
-CONFIG_NET_SCH_PIE=m
-CONFIG_NET_SCH_FQ_PIE=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_SCH_PLUG=m
-CONFIG_NET_SCH_ETS=m
-# CONFIG_NET_SCH_DEFAULT is not set
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-CONFIG_CLS_U32_MARK=y
-# CONFIG_NET_CLS_RSVP is not set
-# CONFIG_NET_CLS_RSVP6 is not set
-CONFIG_NET_CLS_FLOW=m
-# CONFIG_NET_CLS_CGROUP is not set
-# CONFIG_NET_CLS_BPF is not set
-CONFIG_NET_CLS_FLOWER=m
-# CONFIG_NET_CLS_MATCHALL is not set
-# CONFIG_NET_EMATCH is not set
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_ACT_GACT=y
-# CONFIG_GACT_PROB is not set
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_SAMPLE=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-# CONFIG_NET_ACT_PEDIT is not set
-# CONFIG_NET_ACT_SIMP is not set
-# CONFIG_NET_ACT_SKBEDIT is not set
-# CONFIG_NET_ACT_CSUM is not set
-# CONFIG_NET_ACT_MPLS is not set
-# CONFIG_NET_ACT_VLAN is not set
-# CONFIG_NET_ACT_BPF is not set
-CONFIG_NET_ACT_CONNMARK=m
-# CONFIG_NET_ACT_CTINFO is not set
-CONFIG_NET_ACT_SKBMOD=m
-CONFIG_NET_ACT_IFE=m
-CONFIG_NET_ACT_TUNNEL_KEY=m
-# CONFIG_NET_ACT_CT is not set
-# CONFIG_NET_ACT_GATE is not set
-CONFIG_NET_IFE_SKBMARK=m
-CONFIG_NET_IFE_SKBPRIO=m
-CONFIG_NET_IFE_SKBTCINDEX=m
-# CONFIG_NET_TC_SKB_EXT is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=m
-# CONFIG_BATMAN_ADV is not set
-# CONFIG_OPENVSWITCH is not set
-# CONFIG_VSOCKETS is not set
-CONFIG_NETLINK_DIAG=m
-# CONFIG_MPLS is not set
-CONFIG_NET_NSH=m
-CONFIG_HSR=m
-# CONFIG_NET_SWITCHDEV is not set
-# CONFIG_NET_L3_MASTER_DEV is not set
-# CONFIG_QRTR is not set
-# CONFIG_NET_NCSI is not set
-CONFIG_PCPU_DEV_REFCNT=y
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_SOCK_RX_QUEUE_MAPPING=y
-CONFIG_XPS=y
-CONFIG_CGROUP_NET_PRIO=y
-CONFIG_CGROUP_NET_CLASSID=y
-CONFIG_NET_RX_BUSY_POLL=y
-CONFIG_BQL=y
-CONFIG_NET_FLOW_LIMIT=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# end of Network testing
-# end of Networking options
-
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-CONFIG_AX25_DAMA_SLAVE=y
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_YAM=m
-# end of AX.25 network device drivers
-
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-# CONFIG_CAN_J1939 is not set
-# CONFIG_CAN_ISOTP is not set
-
-#
-# CAN Device Drivers
-#
-# CONFIG_CAN_VCAN is not set
-# CONFIG_CAN_VXCAN is not set
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-# CONFIG_CAN_FLEXCAN is not set
-# CONFIG_CAN_GRCAN is not set
-# CONFIG_CAN_XILINXCAN is not set
-# CONFIG_CAN_C_CAN is not set
-# CONFIG_CAN_CC770 is not set
-# CONFIG_CAN_IFI_CANFD is not set
-# CONFIG_CAN_M_CAN is not set
-# CONFIG_CAN_SJA1000 is not set
-# CONFIG_CAN_SOFTING is not set
-
-#
-# CAN SPI interfaces
-#
-# CONFIG_CAN_HI311X is not set
-# CONFIG_CAN_MCP251X is not set
-# CONFIG_CAN_MCP251XFD is not set
-# end of CAN SPI interfaces
-
-#
-# CAN USB interfaces
-#
-# CONFIG_CAN_8DEV_USB is not set
-# CONFIG_CAN_EMS_USB is not set
-# CONFIG_CAN_ESD_USB2 is not set
-# CONFIG_CAN_ETAS_ES58X is not set
-# CONFIG_CAN_GS_USB is not set
-# CONFIG_CAN_KVASER_USB is not set
-# CONFIG_CAN_MCBA_USB is not set
-# CONFIG_CAN_PEAK_USB is not set
-# CONFIG_CAN_UCAN is not set
-# end of CAN USB interfaces
-
-# CONFIG_CAN_DEBUG_DEVICES is not set
-# end of CAN Device Drivers
-
-CONFIG_BT=m
-CONFIG_BT_BREDR=y
-# CONFIG_BT_RFCOMM is not set
-# CONFIG_BT_BNEP is not set
-# CONFIG_BT_HIDP is not set
-CONFIG_BT_HS=y
-CONFIG_BT_LE=y
-# CONFIG_BT_LEDS is not set
-# CONFIG_BT_MSFTEXT is not set
-# CONFIG_BT_AOSPEXT is not set
-# CONFIG_BT_FEATURE_DEBUG is not set
-
-#
-# Bluetooth device drivers
-#
-# CONFIG_BT_HCIBTUSB is not set
-# CONFIG_BT_HCIBTSDIO is not set
-# CONFIG_BT_HCIUART is not set
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-# CONFIG_BT_MTKSDIO is not set
-# CONFIG_BT_VIRTIO is not set
-# end of Bluetooth device drivers
-
-# CONFIG_AF_RXRPC is not set
-# CONFIG_AF_KCM is not set
-CONFIG_STREAM_PARSER=y
-# CONFIG_MCTP is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
-CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
-CONFIG_CFG80211_DEFAULT_PS=y
-CONFIG_CFG80211_CRDA_SUPPORT=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_MESSAGE_TRACING is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_GPIO=m
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-CONFIG_PSAMPLE=m
-CONFIG_NET_IFE=m
-CONFIG_LWTUNNEL=y
-# CONFIG_LWTUNNEL_BPF is not set
-CONFIG_DST_CACHE=y
-CONFIG_GRO_CELLS=y
-CONFIG_NET_SELFTESTS=y
-CONFIG_NET_SOCK_MSG=y
-CONFIG_FAILOVER=m
-CONFIG_ETHTOOL_NETLINK=y
-
-#
-# Device Drivers
-#
-CONFIG_ARM_AMBA=y
-CONFIG_HAVE_PCI=y
-# CONFIG_PCI is not set
-# CONFIG_PCCARD is not set
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-
-#
-# Firmware loader
-#
-CONFIG_FW_LOADER=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_FW_LOADER_USER_HELPER is not set
-# CONFIG_FW_LOADER_COMPRESS is not set
-CONFIG_FW_CACHE=y
-# end of Firmware loader
-
-CONFIG_WANT_DEV_COREDUMP=y
-CONFIG_ALLOW_DEV_COREDUMP=y
-CONFIG_DEV_COREDUMP=y
-# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
-CONFIG_GENERIC_CPU_AUTOPROBE=y
-CONFIG_GENERIC_CPU_VULNERABILITIES=y
-CONFIG_SOC_BUS=y
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=y
-CONFIG_REGMAP_SPI=m
-CONFIG_REGMAP_MMIO=y
-CONFIG_REGMAP_IRQ=y
-CONFIG_DMA_SHARED_BUFFER=y
-# CONFIG_DMA_FENCE_TRACE is not set
-CONFIG_GENERIC_ARCH_TOPOLOGY=y
-# end of Generic Driver Options
-
-#
-# Bus devices
-#
-# CONFIG_BRCMSTB_GISB_ARB is not set
-# CONFIG_MOXTET is not set
-# CONFIG_VEXPRESS_CONFIG is not set
-# CONFIG_MHI_BUS is not set
-# end of Bus devices
-
-CONFIG_CONNECTOR=m
-
-#
-# Firmware Drivers
-#
-
-#
-# ARM System Control and Management Interface Protocol
-#
-CONFIG_ARM_SCMI_PROTOCOL=m
-CONFIG_ARM_SCMI_HAVE_TRANSPORT=y
-CONFIG_ARM_SCMI_HAVE_SHMEM=y
-CONFIG_ARM_SCMI_TRANSPORT_MAILBOX=y
-CONFIG_ARM_SCMI_TRANSPORT_SMC=y
-# CONFIG_ARM_SCMI_TRANSPORT_VIRTIO is not set
-CONFIG_ARM_SCMI_POWER_DOMAIN=m
-# end of ARM System Control and Management Interface Protocol
-
-CONFIG_ARM_SCPI_PROTOCOL=m
-CONFIG_ARM_SCPI_POWER_DOMAIN=m
-CONFIG_ARM_SDE_INTERFACE=y
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-# CONFIG_ISCSI_IBFT is not set
-CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
-# CONFIG_ARM_FFA_TRANSPORT is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_VARS_PSTORE=m
-# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
-CONFIG_EFI_PARAMS_FROM_FDT=y
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-CONFIG_EFI_GENERIC_STUB=y
-CONFIG_EFI_ARMSTUB_DTB_LOADER=y
-CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
-CONFIG_EFI_BOOTLOADER_CONTROL=y
-# CONFIG_EFI_CAPSULE_LOADER is not set
-# CONFIG_EFI_TEST is not set
-# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_EFI_DISABLE_PCI_DMA is not set
-# end of EFI (Extensible Firmware Interface) Support
-
-# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
-CONFIG_ARM_PSCI_FW=y
-# CONFIG_ARM_PSCI_CHECKER is not set
-CONFIG_HAVE_ARM_SMCCC=y
-CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
-CONFIG_ARM_SMCCC_SOC_ID=y
-
-#
-# Tegra firmware driver
-#
-# end of Tegra firmware driver
-# end of Firmware Drivers
-
-# CONFIG_GNSS is not set
-# CONFIG_MTD is not set
-CONFIG_DTC=y
-CONFIG_OF=y
-# CONFIG_OF_UNITTEST is not set
-CONFIG_OF_FLATTREE=y
-CONFIG_OF_EARLY_FLATTREE=y
-CONFIG_OF_KOBJ=y
-CONFIG_OF_DYNAMIC=y
-CONFIG_OF_ADDRESS=y
-CONFIG_OF_IRQ=y
-CONFIG_OF_RESERVED_MEM=y
-CONFIG_OF_RESOLVE=y
-CONFIG_OF_OVERLAY=y
-# CONFIG_PARPORT is not set
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG_MESSAGES is not set
-
-#
-# Protocols
-#
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_NULL_BLK is not set
-CONFIG_CDROM=m
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEF_COMP_LZORLE is not set
-CONFIG_ZRAM_DEF_COMP_ZSTD=y
-# CONFIG_ZRAM_DEF_COMP_LZO is not set
-CONFIG_ZRAM_DEF_COMP="zstd"
-# CONFIG_ZRAM_WRITEBACK is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
-# CONFIG_BLK_DEV_DRBD is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_RBD is not set
-
-#
-# NVME Support
-#
-# CONFIG_NVME_FC is not set
-# CONFIG_NVME_TCP is not set
-# CONFIG_NVME_TARGET is not set
-# end of NVME Support
-
-#
-# Misc devices
-#
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_DUMMY_IRQ is not set
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_HI6421V600_IRQ is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_DS1682 is not set
-# CONFIG_LATTICE_ECP3_CONFIG is not set
-# CONFIG_SRAM is not set
-# CONFIG_XILINX_SDFEC is not set
-# CONFIG_HISI_HIKEY_USB is not set
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-# CONFIG_EEPROM_AT24 is not set
-# CONFIG_EEPROM_AT25 is not set
-# CONFIG_EEPROM_LEGACY is not set
-# CONFIG_EEPROM_MAX6875 is not set
-CONFIG_EEPROM_93CX6=m
-# CONFIG_EEPROM_93XX46 is not set
-# CONFIG_EEPROM_IDT_89HPESX is not set
-# CONFIG_EEPROM_EE1004 is not set
-# end of EEPROM support
-
-#
-# Texas Instruments shared transport line discipline
-#
-# CONFIG_TI_ST is not set
-# end of Texas Instruments shared transport line discipline
-
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_ALTERA_STAPL is not set
-# CONFIG_ECHO is not set
-# CONFIG_MISC_RTSX_USB is not set
-# CONFIG_UACCE is not set
-# CONFIG_PVPANIC is not set
-# end of Misc devices
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI_COMMON=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_CHR_DEV_SG is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_CHR_DEV_SCH is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-CONFIG_SCSI_SCAN_ASYNC=y
-
-#
-# SCSI Transports
-#
-CONFIG_SCSI_SPI_ATTRS=y
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-# end of SCSI Transports
-
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_SCSI_UFSHCD is not set
-# CONFIG_SCSI_DEBUG is not set
-CONFIG_SCSI_VIRTIO=m
-# CONFIG_SCSI_DH is not set
-# end of SCSI device support
-
-CONFIG_HAVE_PATA_PLATFORM=y
-# CONFIG_ATA is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_BCACHE is not set
-CONFIG_BLK_DEV_DM_BUILTIN=y
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-# CONFIG_DM_UNSTRIPED is not set
-CONFIG_DM_CRYPT=m
-# CONFIG_DM_SNAPSHOT is not set
-# CONFIG_DM_THIN_PROVISIONING is not set
-# CONFIG_DM_CACHE is not set
-# CONFIG_DM_WRITECACHE is not set
-# CONFIG_DM_EBS is not set
-# CONFIG_DM_ERA is not set
-# CONFIG_DM_CLONE is not set
-# CONFIG_DM_MIRROR is not set
-# CONFIG_DM_RAID is not set
-# CONFIG_DM_ZERO is not set
-# CONFIG_DM_MULTIPATH is not set
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_DUST is not set
-# CONFIG_DM_UEVENT is not set
-# CONFIG_DM_FLAKEY is not set
-# CONFIG_DM_VERITY is not set
-# CONFIG_DM_SWITCH is not set
-# CONFIG_DM_LOG_WRITES is not set
-# CONFIG_DM_INTEGRITY is not set
-# CONFIG_TARGET_CORE is not set
-CONFIG_NETDEVICES=y
-CONFIG_MII=m
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_WIREGUARD=m
-# CONFIG_WIREGUARD_DEBUG is not set
-CONFIG_EQUALIZER=m
-CONFIG_IFB=m
-# CONFIG_NET_TEAM is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_IPVLAN is not set
-# CONFIG_VXLAN is not set
-# CONFIG_GENEVE is not set
-CONFIG_BAREUDP=m
-CONFIG_GTP=m
-CONFIG_AMT=m
-CONFIG_MACSEC=m
-# CONFIG_NETCONSOLE is not set
-CONFIG_TUN=m
-# CONFIG_TUN_VNET_CROSS_LE is not set
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_NLMON=m
-# CONFIG_ETHERNET is not set
-# CONFIG_NET_SB1000 is not set
-CONFIG_PHYLIB=y
-CONFIG_SWPHY=y
-CONFIG_LED_TRIGGER_PHY=y
-CONFIG_FIXED_PHY=y
-
-#
-# MII PHY device drivers
-#
-# CONFIG_AMD_PHY is not set
-# CONFIG_ADIN_PHY is not set
-# CONFIG_AQUANTIA_PHY is not set
-CONFIG_AX88796B_PHY=m
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_BCM54140_PHY is not set
-# CONFIG_BCM7XXX_PHY is not set
-# CONFIG_BCM84881_PHY is not set
-# CONFIG_BCM87XX_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_CORTINA_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_INTEL_XWAY_PHY is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_MARVELL_10G_PHY is not set
-# CONFIG_MARVELL_88X2222_PHY is not set
-# CONFIG_MAXLINEAR_GPHY is not set
-# CONFIG_MEDIATEK_GE_PHY is not set
-# CONFIG_MICREL_PHY is not set
-CONFIG_MICROCHIP_PHY=m
-# CONFIG_MICROCHIP_T1_PHY is not set
-# CONFIG_MICROSEMI_PHY is not set
-# CONFIG_MOTORCOMM_PHY is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_NXP_C45_TJA11XX_PHY is not set
-# CONFIG_NXP_TJA11XX_PHY is not set
-CONFIG_AT803X_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_REALTEK_PHY=m
-# CONFIG_RENESAS_PHY is not set
-CONFIG_ROCKCHIP_PHY=y
-CONFIG_SMSC_PHY=m
-CONFIG_STE10XP=m
-# CONFIG_TERANETICS_PHY is not set
-# CONFIG_DP83822_PHY is not set
-# CONFIG_DP83TC811_PHY is not set
-# CONFIG_DP83848_PHY is not set
-# CONFIG_DP83867_PHY is not set
-# CONFIG_DP83869_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_XILINX_GMII2RGMII is not set
-# CONFIG_MICREL_KS8995MA is not set
-CONFIG_MDIO_DEVICE=y
-CONFIG_MDIO_BUS=y
-CONFIG_FWNODE_MDIO=y
-CONFIG_OF_MDIO=y
-CONFIG_ACPI_MDIO=y
-CONFIG_MDIO_DEVRES=y
-# CONFIG_MDIO_BITBANG is not set
-# CONFIG_MDIO_BCM_UNIMAC is not set
-# CONFIG_MDIO_HISI_FEMAC is not set
-# CONFIG_MDIO_MVUSB is not set
-# CONFIG_MDIO_MSCC_MIIM is not set
-# CONFIG_MDIO_OCTEON is not set
-# CONFIG_MDIO_IPQ4019 is not set
-# CONFIG_MDIO_IPQ8064 is not set
-
-#
-# MDIO Multiplexers
-#
-# CONFIG_MDIO_BUS_MUX_GPIO is not set
-# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
-# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
-
-#
-# PCS device drivers
-#
-# CONFIG_PCS_XPCS is not set
-# end of PCS device drivers
-
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-CONFIG_SLIP_MODE_SLIP6=y
-CONFIG_USB_NET_DRIVERS=m
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_AX88179_178A=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_HUAWEI_CDC_NCM=m
-CONFIG_USB_NET_CDC_MBIM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SR9700=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_NET_QMI_WWAN=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_USB_NET_CH9200=m
-CONFIG_USB_NET_AQC111=m
-CONFIG_USB_RTL8153_ECM=m
-CONFIG_WLAN=y
-# CONFIG_WLAN_VENDOR_ADMTEK is not set
-# CONFIG_WLAN_VENDOR_ATH is not set
-# CONFIG_WLAN_VENDOR_ATMEL is not set
-# CONFIG_WLAN_VENDOR_BROADCOM is not set
-# CONFIG_WLAN_VENDOR_CISCO is not set
-# CONFIG_WLAN_VENDOR_INTEL is not set
-# CONFIG_WLAN_VENDOR_INTERSIL is not set
-CONFIG_WLAN_VENDOR_MARVELL=y
-# CONFIG_LIBERTAS is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_USB=m
-CONFIG_WLAN_VENDOR_MEDIATEK=y
-CONFIG_MT7601U=m
-# CONFIG_MT76x0U is not set
-# CONFIG_MT76x2U is not set
-# CONFIG_MT7663U is not set
-# CONFIG_MT7663S is not set
-# CONFIG_MT7921S is not set
-CONFIG_WLAN_VENDOR_MICROCHIP=y
-# CONFIG_WILC1000_SDIO is not set
-# CONFIG_WILC1000_SPI is not set
-# CONFIG_WLAN_VENDOR_RALINK is not set
-# CONFIG_WLAN_VENDOR_REALTEK is not set
-# CONFIG_WLAN_VENDOR_RSI is not set
-# CONFIG_WLAN_VENDOR_ST is not set
-# CONFIG_WLAN_VENDOR_TI is not set
-# CONFIG_WLAN_VENDOR_ZYDAS is not set
-# CONFIG_WLAN_VENDOR_QUANTENNA is not set
-CONFIG_MAC80211_HWSIM=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_VIRT_WIFI=m
-# CONFIG_WAN is not set
-
-#
-# Wireless WAN
-#
-# CONFIG_WWAN is not set
-# end of Wireless WAN
-
-# CONFIG_FUJITSU_ES is not set
-CONFIG_NET_FAILOVER=m
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_LEDS=m
-CONFIG_INPUT_FF_MEMLESS=m
-CONFIG_INPUT_SPARSEKMAP=m
-CONFIG_INPUT_MATRIXKMAP=y
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADC is not set
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT1050 is not set
-# CONFIG_KEYBOARD_QT1070 is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_DLINK_DIR685 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_TCA8418 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_LM8333 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_SAMSUNG is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_OMAP4 is not set
-# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_KEYBOARD_CROS_EC=y
-# CONFIG_KEYBOARD_CAP11XX is not set
-# CONFIG_KEYBOARD_BCM is not set
-CONFIG_KEYBOARD_MTK_PMIC=m
-# CONFIG_KEYBOARD_CYPRESS_SF is not set
-CONFIG_INPUT_MOUSE=y
-# CONFIG_MOUSE_PS2 is not set
-# CONFIG_MOUSE_SERIAL is not set
-# CONFIG_MOUSE_APPLETOUCH is not set
-# CONFIG_MOUSE_BCM5974 is not set
-# CONFIG_MOUSE_CYAPA is not set
-CONFIG_MOUSE_ELAN_I2C=m
-CONFIG_MOUSE_ELAN_I2C_I2C=y
-CONFIG_MOUSE_ELAN_I2C_SMBUS=y
-# CONFIG_MOUSE_VSXXXAA is not set
-# CONFIG_MOUSE_GPIO is not set
-CONFIG_MOUSE_SYNAPTICS_I2C=m
-CONFIG_MOUSE_SYNAPTICS_USB=m
-CONFIG_INPUT_JOYSTICK=y
-# CONFIG_JOYSTICK_ANALOG is not set
-# CONFIG_JOYSTICK_A3D is not set
-# CONFIG_JOYSTICK_ADC is not set
-# CONFIG_JOYSTICK_ADI is not set
-# CONFIG_JOYSTICK_COBRA is not set
-# CONFIG_JOYSTICK_GF2K is not set
-# CONFIG_JOYSTICK_GRIP is not set
-# CONFIG_JOYSTICK_GRIP_MP is not set
-# CONFIG_JOYSTICK_GUILLEMOT is not set
-# CONFIG_JOYSTICK_INTERACT is not set
-# CONFIG_JOYSTICK_SIDEWINDER is not set
-# CONFIG_JOYSTICK_TMDC is not set
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=m
-# CONFIG_JOYSTICK_IFORCE_232 is not set
-# CONFIG_JOYSTICK_WARRIOR is not set
-# CONFIG_JOYSTICK_MAGELLAN is not set
-# CONFIG_JOYSTICK_SPACEORB is not set
-# CONFIG_JOYSTICK_SPACEBALL is not set
-# CONFIG_JOYSTICK_STINGER is not set
-# CONFIG_JOYSTICK_TWIDJOY is not set
-# CONFIG_JOYSTICK_ZHENHUA is not set
-# CONFIG_JOYSTICK_AS5011 is not set
-# CONFIG_JOYSTICK_JOYDUMP is not set
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-# CONFIG_JOYSTICK_PSXPAD_SPI is not set
-# CONFIG_JOYSTICK_PXRC is not set
-# CONFIG_JOYSTICK_QWIIC is not set
-# CONFIG_JOYSTICK_FSIA6B is not set
-# CONFIG_INPUT_TABLET is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_ADC is not set
-# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
-# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_BU21029 is not set
-# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
-# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
-# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# CONFIG_TOUCHSCREEN_EGALAX is not set
-# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
-# CONFIG_TOUCHSCREEN_EXC3000 is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GOODIX is not set
-# CONFIG_TOUCHSCREEN_HIDEEP is not set
-# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
-# CONFIG_TOUCHSCREEN_ILI210X is not set
-# CONFIG_TOUCHSCREEN_ILITEK is not set
-# CONFIG_TOUCHSCREEN_S6SY761 is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_EKTF2127 is not set
-CONFIG_TOUCHSCREEN_ELAN=m
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
-# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
-# CONFIG_TOUCHSCREEN_MAX11801 is not set
-# CONFIG_TOUCHSCREEN_MCS5000 is not set
-# CONFIG_TOUCHSCREEN_MMS114 is not set
-CONFIG_TOUCHSCREEN_MELFAS_MIP4=m
-# CONFIG_TOUCHSCREEN_MSG2638 is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_PIXCIR is not set
-# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
-# CONFIG_TOUCHSCREEN_TSC2004 is not set
-# CONFIG_TOUCHSCREEN_TSC2005 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_RM_TS is not set
-# CONFIG_TOUCHSCREEN_SILEAD is not set
-# CONFIG_TOUCHSCREEN_SIS_I2C is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_STMFTS is not set
-# CONFIG_TOUCHSCREEN_SUR40 is not set
-# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
-# CONFIG_TOUCHSCREEN_SX8654 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_TOUCHSCREEN_ZET6223 is not set
-# CONFIG_TOUCHSCREEN_ZFORCE is not set
-# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
-# CONFIG_TOUCHSCREEN_IQS5XX is not set
-# CONFIG_TOUCHSCREEN_ZINITIX is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BMA150 is not set
-# CONFIG_INPUT_E3X0_BUTTON is not set
-# CONFIG_INPUT_MMA8450 is not set
-# CONFIG_INPUT_GPIO_BEEPER is not set
-# CONFIG_INPUT_GPIO_DECODER is not set
-# CONFIG_INPUT_GPIO_VIBRA is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_KXTJ9 is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_YEALINK is not set
-# CONFIG_INPUT_CM109 is not set
-# CONFIG_INPUT_REGULATOR_HAPTIC is not set
-CONFIG_INPUT_UINPUT=m
-# CONFIG_INPUT_PALMAS_PWRBUTTON is not set
-# CONFIG_INPUT_PCF8574 is not set
-# CONFIG_INPUT_PWM_BEEPER is not set
-# CONFIG_INPUT_PWM_VIBRA is not set
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_DA7280_HAPTICS is not set
-# CONFIG_INPUT_ADXL34X is not set
-# CONFIG_INPUT_IMS_PCU is not set
-# CONFIG_INPUT_IQS269A is not set
-# CONFIG_INPUT_IQS626A is not set
-# CONFIG_INPUT_CMA3000 is not set
-# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set
-# CONFIG_INPUT_DRV260X_HAPTICS is not set
-# CONFIG_INPUT_DRV2665_HAPTICS is not set
-# CONFIG_INPUT_DRV2667_HAPTICS is not set
-CONFIG_RMI4_CORE=y
-CONFIG_RMI4_I2C=y
-# CONFIG_RMI4_SPI is not set
-# CONFIG_RMI4_SMB is not set
-CONFIG_RMI4_F03=y
-CONFIG_RMI4_F03_SERIO=y
-CONFIG_RMI4_2D_SENSOR=y
-CONFIG_RMI4_F11=y
-CONFIG_RMI4_F12=y
-CONFIG_RMI4_F30=y
-# CONFIG_RMI4_F34 is not set
-# CONFIG_RMI4_F3A is not set
-# CONFIG_RMI4_F55 is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-CONFIG_SERIO_SERPORT=m
-# CONFIG_SERIO_AMBAKMI is not set
-# CONFIG_SERIO_LIBPS2 is not set
-CONFIG_SERIO_RAW=m
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_SERIO_ARC_PS2 is not set
-# CONFIG_SERIO_APBPS2 is not set
-# CONFIG_SERIO_GPIO_PS2 is not set
-# CONFIG_USERIO is not set
-# CONFIG_GAMEPORT is not set
-# end of Hardware I/O ports
-# end of Input device support
-
-#
-# Character devices
-#
-CONFIG_TTY=y
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_LDISC_AUTOLOAD=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_8250=y
-CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
-CONFIG_SERIAL_8250_PNP=y
-CONFIG_SERIAL_8250_16550A_VARIANTS=y
-# CONFIG_SERIAL_8250_FINTEK is not set
-# CONFIG_SERIAL_8250_CONSOLE is not set
-CONFIG_SERIAL_8250_DMA=y
-CONFIG_SERIAL_8250_NR_UARTS=4
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-# CONFIG_SERIAL_8250_EXTENDED is not set
-# CONFIG_SERIAL_8250_ASPEED_VUART is not set
-# CONFIG_SERIAL_8250_DW is not set
-# CONFIG_SERIAL_8250_RT288X is not set
-CONFIG_SERIAL_8250_MT6577=y
-CONFIG_SERIAL_OF_PLATFORM=y
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_AMBA_PL010 is not set
-# CONFIG_SERIAL_AMBA_PL011 is not set
-# CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST is not set
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX310X is not set
-# CONFIG_SERIAL_UARTLITE is not set
-CONFIG_SERIAL_CORE=y
-# CONFIG_SERIAL_SIFIVE is not set
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
-# CONFIG_SERIAL_BCM63XX is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_SERIAL_ARC is not set
-# CONFIG_SERIAL_FSL_LPUART is not set
-# CONFIG_SERIAL_FSL_LINFLEXUART is not set
-# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
-# CONFIG_SERIAL_SPRD is not set
-# end of Serial drivers
-
-CONFIG_SERIAL_MCTRL_GPIO=y
-# CONFIG_SERIAL_NONSTANDARD is not set
-# CONFIG_N_GSM is not set
-# CONFIG_NULL_TTY is not set
-CONFIG_HVC_DRIVER=y
-# CONFIG_HVC_DCC is not set
-# CONFIG_SERIAL_DEV_BUS is not set
-CONFIG_VIRTIO_CONSOLE=m
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=m
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-# CONFIG_HW_RANDOM_BA431 is not set
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_HW_RANDOM_MTK=m
-# CONFIG_HW_RANDOM_CCTRNG is not set
-# CONFIG_HW_RANDOM_XIPHERA is not set
-CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
-CONFIG_DEVMEM=y
-# CONFIG_TCG_TPM is not set
-# CONFIG_XILLYBUS is not set
-# CONFIG_XILLYUSB is not set
-# CONFIG_RANDOM_TRUST_CPU is not set
-# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
-# end of Character devices
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_ACPI_I2C_OPREGION=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=y
-
-#
-# Multiplexer I2C Chip support
-#
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
-# CONFIG_I2C_MUX_GPIO is not set
-# CONFIG_I2C_MUX_GPMUX is not set
-# CONFIG_I2C_MUX_LTC4306 is not set
-# CONFIG_I2C_MUX_PCA9541 is not set
-# CONFIG_I2C_MUX_PCA954x is not set
-# CONFIG_I2C_MUX_PINCTRL is not set
-# CONFIG_I2C_MUX_REG is not set
-# CONFIG_I2C_DEMUX_PINCTRL is not set
-# CONFIG_I2C_MUX_MLXCPLD is not set
-# end of Multiplexer I2C Chip support
-
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# ACPI drivers
-#
-# CONFIG_I2C_SCMI is not set
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_CADENCE is not set
-# CONFIG_I2C_CBUS_GPIO is not set
-# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
-# CONFIG_I2C_EMEV2 is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_HISI is not set
-CONFIG_I2C_MT65XX=y
-# CONFIG_I2C_NOMADIK is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-# CONFIG_I2C_RK3X is not set
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_DIOLAN_U2C is not set
-# CONFIG_I2C_CP2615 is not set
-# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
-# CONFIG_I2C_TAOS_EVM is not set
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_CROS_EC_TUNNEL=y
-CONFIG_I2C_VIRTIO=m
-# end of I2C Hardware Bus support
-
-CONFIG_I2C_STUB=m
-# CONFIG_I2C_SLAVE is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# end of I2C support
-
-# CONFIG_I3C is not set
-CONFIG_SPI=y
-CONFIG_SPI_MASTER=y
-CONFIG_SPI_MEM=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_AXI_SPI_ENGINE is not set
-CONFIG_SPI_BITBANG=y
-# CONFIG_SPI_CADENCE is not set
-# CONFIG_SPI_CADENCE_QUADSPI is not set
-# CONFIG_SPI_CADENCE_XSPI is not set
-# CONFIG_SPI_DESIGNWARE is not set
-# CONFIG_SPI_HISI_KUNPENG is not set
-# CONFIG_SPI_HISI_SFC_V3XX is not set
-# CONFIG_SPI_NXP_FLEXSPI is not set
-CONFIG_SPI_GPIO=y
-# CONFIG_SPI_FSL_SPI is not set
-CONFIG_SPI_MT65XX=y
-CONFIG_SPI_MTK_NOR=y
-# CONFIG_SPI_OC_TINY is not set
-# CONFIG_SPI_PL022 is not set
-# CONFIG_SPI_PXA2XX is not set
-# CONFIG_SPI_ROCKCHIP is not set
-# CONFIG_SPI_SC18IS602 is not set
-# CONFIG_SPI_SIFIVE is not set
-CONFIG_SPI_SLAVE_MT27XX=m
-# CONFIG_SPI_MXIC is not set
-# CONFIG_SPI_XCOMM is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_ZYNQMP_GQSPI is not set
-# CONFIG_SPI_AMD is not set
-
-#
-# SPI Multiplexer support
-#
-# CONFIG_SPI_MUX is not set
-
-#
-# SPI Protocol Masters
-#
-CONFIG_SPI_SPIDEV=y
-# CONFIG_SPI_LOOPBACK_TEST is not set
-# CONFIG_SPI_TLE62X0 is not set
-CONFIG_SPI_SLAVE=y
-CONFIG_SPI_SLAVE_TIME=m
-CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m
-CONFIG_SPI_DYNAMIC=y
-CONFIG_SPMI=m
-# CONFIG_SPMI_HISI3670 is not set
-# CONFIG_HSI is not set
-CONFIG_PPS=m
-# CONFIG_PPS_DEBUG is not set
-
-#
-# PPS clients support
-#
-CONFIG_PPS_CLIENT_KTIMER=m
-CONFIG_PPS_CLIENT_LDISC=m
-CONFIG_PPS_CLIENT_GPIO=m
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-# CONFIG_PTP_1588_CLOCK is not set
-CONFIG_PTP_1588_CLOCK_OPTIONAL=y
-
-#
-# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
-#
-# end of PTP clock support
-
-CONFIG_PINCTRL=y
-CONFIG_GENERIC_PINCTRL_GROUPS=y
-CONFIG_PINMUX=y
-CONFIG_GENERIC_PINMUX_FUNCTIONS=y
-CONFIG_PINCONF=y
-CONFIG_GENERIC_PINCONF=y
-# CONFIG_PINCTRL_AS3722 is not set
-# CONFIG_PINCTRL_AMD is not set
-# CONFIG_PINCTRL_MCP23S08 is not set
-# CONFIG_PINCTRL_SINGLE is not set
-# CONFIG_PINCTRL_SX150X is not set
-# CONFIG_PINCTRL_STMFX is not set
-# CONFIG_PINCTRL_PALMAS is not set
-# CONFIG_PINCTRL_OCELOT is not set
-# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
-
-#
-# Renesas pinctrl drivers
-#
-# end of Renesas pinctrl drivers
-
-#
-# MediaTek pinctrl drivers
-#
-CONFIG_EINT_MTK=y
-CONFIG_PINCTRL_MTK=y
-CONFIG_PINCTRL_MTK_V2=y
-CONFIG_PINCTRL_MTK_MOORE=y
-CONFIG_PINCTRL_MTK_PARIS=y
-CONFIG_PINCTRL_MT2712=y
-CONFIG_PINCTRL_MT6765=y
-CONFIG_PINCTRL_MT6779=y
-CONFIG_PINCTRL_MT6797=y
-CONFIG_PINCTRL_MT7622=y
-CONFIG_PINCTRL_MT7986=y
-CONFIG_PINCTRL_MT8167=y
-CONFIG_PINCTRL_MT8173=y
-CONFIG_PINCTRL_MT8183=y
-CONFIG_PINCTRL_MT8192=y
-# CONFIG_PINCTRL_MT8195 is not set
-CONFIG_PINCTRL_MT8365=y
-CONFIG_PINCTRL_MT8516=y
-CONFIG_PINCTRL_MT6397=y
-# end of MediaTek pinctrl drivers
-
-CONFIG_GPIOLIB=y
-CONFIG_GPIOLIB_FASTPATH_LIMIT=512
-CONFIG_OF_GPIO=y
-CONFIG_GPIO_ACPI=y
-CONFIG_GPIOLIB_IRQCHIP=y
-CONFIG_GPIO_CDEV=y
-CONFIG_GPIO_CDEV_V1=y
-
-#
-# Memory mapped GPIO drivers
-#
-# CONFIG_GPIO_74XX_MMIO is not set
-# CONFIG_GPIO_ALTERA is not set
-# CONFIG_GPIO_AMDPT is not set
-# CONFIG_GPIO_CADENCE is not set
-# CONFIG_GPIO_DWAPB is not set
-# CONFIG_GPIO_FTGPIO010 is not set
-# CONFIG_GPIO_GENERIC_PLATFORM is not set
-# CONFIG_GPIO_GRGPIO is not set
-# CONFIG_GPIO_HISI is not set
-# CONFIG_GPIO_HLWD is not set
-# CONFIG_GPIO_LOGICVC is not set
-# CONFIG_GPIO_MB86S7X is not set
-# CONFIG_GPIO_PL061 is not set
-# CONFIG_GPIO_SAMA5D2_PIOBU is not set
-# CONFIG_GPIO_SIFIVE is not set
-# CONFIG_GPIO_SYSCON is not set
-# CONFIG_GPIO_XGENE is not set
-# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_AMD_FCH is not set
-# end of Memory mapped GPIO drivers
-
-#
-# I2C GPIO expanders
-#
-# CONFIG_GPIO_ADP5588 is not set
-# CONFIG_GPIO_ADNP is not set
-# CONFIG_GPIO_GW_PLD is not set
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-# CONFIG_GPIO_PCA953X is not set
-# CONFIG_GPIO_PCA9570 is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_TPIC2810 is not set
-# end of I2C GPIO expanders
-
-#
-# MFD GPIO expanders
-#
-CONFIG_GPIO_PALMAS=y
-# CONFIG_GPIO_TPS6586X is not set
-# end of MFD GPIO expanders
-
-#
-# SPI GPIO expanders
-#
-# CONFIG_GPIO_74X164 is not set
-# CONFIG_GPIO_MAX3191X is not set
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_PISOSR is not set
-# CONFIG_GPIO_XRA1403 is not set
-# end of SPI GPIO expanders
-
-#
-# USB GPIO expanders
-#
-# end of USB GPIO expanders
-
-#
-# Virtual GPIO drivers
-#
-CONFIG_GPIO_AGGREGATOR=m
-# CONFIG_GPIO_MOCKUP is not set
-CONFIG_GPIO_VIRTIO=m
-# end of Virtual GPIO drivers
-
-# CONFIG_W1 is not set
-CONFIG_POWER_RESET=y
-# CONFIG_POWER_RESET_AS3722 is not set
-# CONFIG_POWER_RESET_BRCMSTB is not set
-# CONFIG_POWER_RESET_GPIO is not set
-# CONFIG_POWER_RESET_GPIO_RESTART is not set
-# CONFIG_POWER_RESET_LTC2952 is not set
-CONFIG_POWER_RESET_MT6323=y
-# CONFIG_POWER_RESET_REGULATOR is not set
-# CONFIG_POWER_RESET_RESTART is not set
-# CONFIG_POWER_RESET_XGENE is not set
-# CONFIG_POWER_RESET_SYSCON is not set
-# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
-# CONFIG_SYSCON_REBOOT_MODE is not set
-# CONFIG_NVMEM_REBOOT_MODE is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-# CONFIG_GENERIC_ADC_BATTERY is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_CHARGER_ADP5061 is not set
-# CONFIG_BATTERY_CW2015 is not set
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2781 is not set
-# CONFIG_BATTERY_DS2782 is not set
-CONFIG_BATTERY_SBS=m
-CONFIG_CHARGER_SBS=m
-CONFIG_MANAGER_SBS=m
-# CONFIG_BATTERY_BQ27XXX is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_ISP1704 is not set
-# CONFIG_CHARGER_MAX8903 is not set
-# CONFIG_CHARGER_LP8727 is not set
-# CONFIG_CHARGER_GPIO is not set
-# CONFIG_CHARGER_MANAGER is not set
-# CONFIG_CHARGER_LT3651 is not set
-# CONFIG_CHARGER_LTC4162L is not set
-# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
-# CONFIG_CHARGER_MT6360 is not set
-# CONFIG_CHARGER_BQ2415X is not set
-# CONFIG_CHARGER_BQ24190 is not set
-# CONFIG_CHARGER_BQ24257 is not set
-# CONFIG_CHARGER_BQ24735 is not set
-# CONFIG_CHARGER_BQ2515X is not set
-# CONFIG_CHARGER_BQ25890 is not set
-# CONFIG_CHARGER_BQ25980 is not set
-# CONFIG_CHARGER_BQ256XX is not set
-# CONFIG_CHARGER_SMB347 is not set
-# CONFIG_CHARGER_TPS65090 is not set
-# CONFIG_BATTERY_GAUGE_LTC2941 is not set
-# CONFIG_BATTERY_GOLDFISH is not set
-# CONFIG_BATTERY_RT5033 is not set
-# CONFIG_CHARGER_RT9455 is not set
-CONFIG_CHARGER_CROS_USBPD=m
-CONFIG_CHARGER_CROS_PCHG=m
-# CONFIG_CHARGER_UCS1002 is not set
-# CONFIG_CHARGER_BD99954 is not set
-CONFIG_HWMON=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# CONFIG_SENSORS_AD7314 is not set
-# CONFIG_SENSORS_AD7414 is not set
-# CONFIG_SENSORS_AD7418 is not set
-# CONFIG_SENSORS_ADM1021 is not set
-# CONFIG_SENSORS_ADM1025 is not set
-# CONFIG_SENSORS_ADM1026 is not set
-# CONFIG_SENSORS_ADM1029 is not set
-# CONFIG_SENSORS_ADM1031 is not set
-# CONFIG_SENSORS_ADM1177 is not set
-# CONFIG_SENSORS_ADM9240 is not set
-# CONFIG_SENSORS_ADT7310 is not set
-# CONFIG_SENSORS_ADT7410 is not set
-# CONFIG_SENSORS_ADT7411 is not set
-# CONFIG_SENSORS_ADT7462 is not set
-# CONFIG_SENSORS_ADT7470 is not set
-# CONFIG_SENSORS_ADT7475 is not set
-# CONFIG_SENSORS_AHT10 is not set
-# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
-# CONFIG_SENSORS_AS370 is not set
-# CONFIG_SENSORS_ASC7621 is not set
-# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
-CONFIG_SENSORS_ARM_SCMI=m
-CONFIG_SENSORS_ARM_SCPI=m
-# CONFIG_SENSORS_ASPEED is not set
-# CONFIG_SENSORS_ATXP1 is not set
-# CONFIG_SENSORS_CORSAIR_CPRO is not set
-# CONFIG_SENSORS_CORSAIR_PSU is not set
-# CONFIG_SENSORS_DS620 is not set
-# CONFIG_SENSORS_DS1621 is not set
-# CONFIG_SENSORS_F71805F is not set
-# CONFIG_SENSORS_F71882FG is not set
-# CONFIG_SENSORS_F75375S is not set
-# CONFIG_SENSORS_FTSTEUTATES is not set
-# CONFIG_SENSORS_GL518SM is not set
-# CONFIG_SENSORS_GL520SM is not set
-# CONFIG_SENSORS_G760A is not set
-# CONFIG_SENSORS_G762 is not set
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_HIH6130 is not set
-CONFIG_SENSORS_IIO_HWMON=m
-# CONFIG_SENSORS_IT87 is not set
-# CONFIG_SENSORS_JC42 is not set
-# CONFIG_SENSORS_POWR1220 is not set
-# CONFIG_SENSORS_LINEAGE is not set
-# CONFIG_SENSORS_LTC2945 is not set
-# CONFIG_SENSORS_LTC2947_I2C is not set
-# CONFIG_SENSORS_LTC2947_SPI is not set
-# CONFIG_SENSORS_LTC2990 is not set
-# CONFIG_SENSORS_LTC2992 is not set
-# CONFIG_SENSORS_LTC4151 is not set
-# CONFIG_SENSORS_LTC4215 is not set
-# CONFIG_SENSORS_LTC4222 is not set
-# CONFIG_SENSORS_LTC4245 is not set
-# CONFIG_SENSORS_LTC4260 is not set
-# CONFIG_SENSORS_LTC4261 is not set
-# CONFIG_SENSORS_MAX1111 is not set
-# CONFIG_SENSORS_MAX127 is not set
-# CONFIG_SENSORS_MAX16065 is not set
-# CONFIG_SENSORS_MAX1619 is not set
-# CONFIG_SENSORS_MAX1668 is not set
-# CONFIG_SENSORS_MAX197 is not set
-# CONFIG_SENSORS_MAX31722 is not set
-# CONFIG_SENSORS_MAX31730 is not set
-# CONFIG_SENSORS_MAX6620 is not set
-# CONFIG_SENSORS_MAX6621 is not set
-# CONFIG_SENSORS_MAX6639 is not set
-# CONFIG_SENSORS_MAX6642 is not set
-# CONFIG_SENSORS_MAX6650 is not set
-# CONFIG_SENSORS_MAX6697 is not set
-# CONFIG_SENSORS_MAX31790 is not set
-# CONFIG_SENSORS_MCP3021 is not set
-# CONFIG_SENSORS_TC654 is not set
-# CONFIG_SENSORS_TPS23861 is not set
-# CONFIG_SENSORS_MR75203 is not set
-# CONFIG_SENSORS_ADCXX is not set
-# CONFIG_SENSORS_LM63 is not set
-# CONFIG_SENSORS_LM70 is not set
-# CONFIG_SENSORS_LM73 is not set
-# CONFIG_SENSORS_LM75 is not set
-# CONFIG_SENSORS_LM77 is not set
-# CONFIG_SENSORS_LM78 is not set
-# CONFIG_SENSORS_LM80 is not set
-# CONFIG_SENSORS_LM83 is not set
-# CONFIG_SENSORS_LM85 is not set
-# CONFIG_SENSORS_LM87 is not set
-CONFIG_SENSORS_LM90=m
-# CONFIG_SENSORS_LM92 is not set
-# CONFIG_SENSORS_LM93 is not set
-# CONFIG_SENSORS_LM95234 is not set
-# CONFIG_SENSORS_LM95241 is not set
-# CONFIG_SENSORS_LM95245 is not set
-# CONFIG_SENSORS_PC87360 is not set
-# CONFIG_SENSORS_PC87427 is not set
-# CONFIG_SENSORS_NTC_THERMISTOR is not set
-# CONFIG_SENSORS_NCT6683 is not set
-# CONFIG_SENSORS_NCT6775 is not set
-# CONFIG_SENSORS_NCT7802 is not set
-# CONFIG_SENSORS_NCT7904 is not set
-# CONFIG_SENSORS_NPCM7XX is not set
-# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
-# CONFIG_SENSORS_OCC_P8_I2C is not set
-# CONFIG_SENSORS_PCF8591 is not set
-# CONFIG_PMBUS is not set
-# CONFIG_SENSORS_PWM_FAN is not set
-# CONFIG_SENSORS_SBTSI is not set
-# CONFIG_SENSORS_SBRMI is not set
-# CONFIG_SENSORS_SHT15 is not set
-# CONFIG_SENSORS_SHT21 is not set
-# CONFIG_SENSORS_SHT3x is not set
-# CONFIG_SENSORS_SHT4x is not set
-# CONFIG_SENSORS_SHTC1 is not set
-# CONFIG_SENSORS_DME1737 is not set
-# CONFIG_SENSORS_EMC1403 is not set
-# CONFIG_SENSORS_EMC2103 is not set
-# CONFIG_SENSORS_EMC6W201 is not set
-# CONFIG_SENSORS_SMSC47M1 is not set
-# CONFIG_SENSORS_SMSC47M192 is not set
-# CONFIG_SENSORS_SMSC47B397 is not set
-# CONFIG_SENSORS_SCH5627 is not set
-# CONFIG_SENSORS_SCH5636 is not set
-# CONFIG_SENSORS_STTS751 is not set
-# CONFIG_SENSORS_SMM665 is not set
-# CONFIG_SENSORS_ADC128D818 is not set
-# CONFIG_SENSORS_ADS7828 is not set
-# CONFIG_SENSORS_ADS7871 is not set
-# CONFIG_SENSORS_AMC6821 is not set
-# CONFIG_SENSORS_INA209 is not set
-# CONFIG_SENSORS_INA2XX is not set
-# CONFIG_SENSORS_INA3221 is not set
-# CONFIG_SENSORS_TC74 is not set
-# CONFIG_SENSORS_THMC50 is not set
-# CONFIG_SENSORS_TMP102 is not set
-# CONFIG_SENSORS_TMP103 is not set
-# CONFIG_SENSORS_TMP108 is not set
-CONFIG_SENSORS_TMP401=m
-# CONFIG_SENSORS_TMP421 is not set
-# CONFIG_SENSORS_TMP513 is not set
-# CONFIG_SENSORS_VT1211 is not set
-# CONFIG_SENSORS_W83773G is not set
-# CONFIG_SENSORS_W83781D is not set
-# CONFIG_SENSORS_W83791D is not set
-# CONFIG_SENSORS_W83792D is not set
-# CONFIG_SENSORS_W83793 is not set
-# CONFIG_SENSORS_W83795 is not set
-# CONFIG_SENSORS_W83L785TS is not set
-# CONFIG_SENSORS_W83L786NG is not set
-# CONFIG_SENSORS_W83627HF is not set
-# CONFIG_SENSORS_W83627EHF is not set
-# CONFIG_SENSORS_XGENE is not set
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_THERMAL=y
-CONFIG_THERMAL_NETLINK=y
-# CONFIG_THERMAL_STATISTICS is not set
-CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
-CONFIG_THERMAL_OF=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
-# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
-# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
-CONFIG_THERMAL_GOV_FAIR_SHARE=y
-CONFIG_THERMAL_GOV_STEP_WISE=y
-CONFIG_THERMAL_GOV_BANG_BANG=y
-CONFIG_THERMAL_GOV_USER_SPACE=y
-# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
-CONFIG_CPU_THERMAL=y
-CONFIG_CPU_FREQ_THERMAL=y
-# CONFIG_CPU_IDLE_THERMAL is not set
-CONFIG_DEVFREQ_THERMAL=y
-CONFIG_THERMAL_EMULATION=y
-# CONFIG_THERMAL_MMIO is not set
-CONFIG_MTK_THERMAL=y
-CONFIG_GENERIC_ADC_THERMAL=m
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=m
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
-CONFIG_WATCHDOG_OPEN_TIMEOUT=0
-# CONFIG_WATCHDOG_SYSFS is not set
-# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
-
-#
-# Watchdog Pretimeout Governors
-#
-# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
-
-#
-# Watchdog Device Drivers
-#
-CONFIG_SOFT_WATCHDOG=m
-# CONFIG_GPIO_WATCHDOG is not set
-# CONFIG_WDAT_WDT is not set
-# CONFIG_XILINX_WATCHDOG is not set
-# CONFIG_ZIIRAVE_WATCHDOG is not set
-# CONFIG_ARM_SP805_WATCHDOG is not set
-# CONFIG_ARM_SBSA_WATCHDOG is not set
-# CONFIG_CADENCE_WATCHDOG is not set
-# CONFIG_DW_WATCHDOG is not set
-# CONFIG_MAX63XX_WATCHDOG is not set
-CONFIG_MEDIATEK_WATCHDOG=m
-# CONFIG_ARM_SMC_WATCHDOG is not set
-# CONFIG_MEN_A21_WDT is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-CONFIG_SSB=m
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-# CONFIG_SSB_DRIVER_GPIO is not set
-CONFIG_BCMA_POSSIBLE=y
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_ACT8945A is not set
-# CONFIG_MFD_AS3711 is not set
-CONFIG_MFD_AS3722=m
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_AAT2870_CORE is not set
-# CONFIG_MFD_ATMEL_FLEXCOM is not set
-# CONFIG_MFD_ATMEL_HLCDC is not set
-# CONFIG_MFD_BCM590XX is not set
-# CONFIG_MFD_BD9571MWV is not set
-# CONFIG_MFD_AXP20X_I2C is not set
-CONFIG_MFD_CROS_EC_DEV=y
-# CONFIG_MFD_MADERA is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_MFD_DA9052_SPI is not set
-# CONFIG_MFD_DA9052_I2C is not set
-# CONFIG_MFD_DA9055 is not set
-# CONFIG_MFD_DA9062 is not set
-# CONFIG_MFD_DA9063 is not set
-# CONFIG_MFD_DA9150 is not set
-# CONFIG_MFD_DLN2 is not set
-# CONFIG_MFD_GATEWORKS_GSC is not set
-# CONFIG_MFD_MC13XXX_SPI is not set
-# CONFIG_MFD_MC13XXX_I2C is not set
-# CONFIG_MFD_MP2629 is not set
-# CONFIG_MFD_HI6421_PMIC is not set
-# CONFIG_MFD_HI6421_SPMI is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_HTC_I2CPLD is not set
-# CONFIG_MFD_IQS62X is not set
-# CONFIG_MFD_KEMPLD is not set
-# CONFIG_MFD_88PM800 is not set
-# CONFIG_MFD_88PM805 is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_MAX14577 is not set
-# CONFIG_MFD_MAX77620 is not set
-# CONFIG_MFD_MAX77650 is not set
-# CONFIG_MFD_MAX77686 is not set
-# CONFIG_MFD_MAX77693 is not set
-# CONFIG_MFD_MAX77843 is not set
-# CONFIG_MFD_MAX8907 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-CONFIG_MFD_MT6360=m
-CONFIG_MFD_MT6397=y
-# CONFIG_MFD_MENF21BMC is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_MFD_CPCAP is not set
-# CONFIG_MFD_VIPERBOARD is not set
-# CONFIG_MFD_NTXEC is not set
-# CONFIG_MFD_RETU is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_RT4831 is not set
-# CONFIG_MFD_RT5033 is not set
-# CONFIG_MFD_RC5T583 is not set
-# CONFIG_MFD_RK808 is not set
-# CONFIG_MFD_RN5T618 is not set
-# CONFIG_MFD_SEC_CORE is not set
-# CONFIG_MFD_SI476X_CORE is not set
-# CONFIG_MFD_SM501 is not set
-# CONFIG_MFD_SKY81452 is not set
-# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SYSCON=y
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_MFD_LP3943 is not set
-# CONFIG_MFD_LP8788 is not set
-# CONFIG_MFD_TI_LMU is not set
-CONFIG_MFD_PALMAS=y
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_MFD_TPS65086 is not set
-CONFIG_MFD_TPS65090=y
-# CONFIG_MFD_TPS65217 is not set
-# CONFIG_MFD_TI_LP873X is not set
-# CONFIG_MFD_TI_LP87565 is not set
-# CONFIG_MFD_TPS65218 is not set
-CONFIG_MFD_TPS6586X=y
-# CONFIG_MFD_TPS65910 is not set
-# CONFIG_MFD_TPS65912_I2C is not set
-# CONFIG_MFD_TPS65912_SPI is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_TWL6040_CORE is not set
-# CONFIG_MFD_WL1273_CORE is not set
-# CONFIG_MFD_LM3533 is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TQMX86 is not set
-# CONFIG_MFD_LOCHNAGAR is not set
-# CONFIG_MFD_ARIZONA_I2C is not set
-# CONFIG_MFD_ARIZONA_SPI is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_ROHM_BD718XX is not set
-# CONFIG_MFD_ROHM_BD70528 is not set
-# CONFIG_MFD_ROHM_BD71828 is not set
-# CONFIG_MFD_ROHM_BD957XMUF is not set
-# CONFIG_MFD_STPMIC1 is not set
-# CONFIG_MFD_STMFX is not set
-# CONFIG_MFD_ATC260X_I2C is not set
-# CONFIG_MFD_QCOM_PM8008 is not set
-# CONFIG_MFD_INTEL_M10_BMC is not set
-# CONFIG_MFD_RSMU_I2C is not set
-# CONFIG_MFD_RSMU_SPI is not set
-# end of Multifunction device drivers
-
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-CONFIG_REGULATOR_USERSPACE_CONSUMER=m
-# CONFIG_REGULATOR_88PG86X is not set
-# CONFIG_REGULATOR_ACT8865 is not set
-# CONFIG_REGULATOR_AD5398 is not set
-CONFIG_REGULATOR_ARM_SCMI=m
-CONFIG_REGULATOR_AS3722=m
-CONFIG_REGULATOR_CROS_EC=m
-# CONFIG_REGULATOR_DA9121 is not set
-# CONFIG_REGULATOR_DA9210 is not set
-CONFIG_REGULATOR_DA9211=y
-# CONFIG_REGULATOR_FAN53555 is not set
-# CONFIG_REGULATOR_FAN53880 is not set
-CONFIG_REGULATOR_GPIO=y
-# CONFIG_REGULATOR_ISL9305 is not set
-# CONFIG_REGULATOR_ISL6271A is not set
-# CONFIG_REGULATOR_LP3971 is not set
-# CONFIG_REGULATOR_LP3972 is not set
-# CONFIG_REGULATOR_LP872X is not set
-# CONFIG_REGULATOR_LP8755 is not set
-# CONFIG_REGULATOR_LTC3589 is not set
-# CONFIG_REGULATOR_LTC3676 is not set
-# CONFIG_REGULATOR_MAX1586 is not set
-# CONFIG_REGULATOR_MAX8649 is not set
-# CONFIG_REGULATOR_MAX8660 is not set
-# CONFIG_REGULATOR_MAX8893 is not set
-# CONFIG_REGULATOR_MAX8952 is not set
-CONFIG_REGULATOR_MAX8973=m
-# CONFIG_REGULATOR_MAX77826 is not set
-# CONFIG_REGULATOR_MCP16502 is not set
-# CONFIG_REGULATOR_MP5416 is not set
-# CONFIG_REGULATOR_MP8859 is not set
-# CONFIG_REGULATOR_MP886X is not set
-# CONFIG_REGULATOR_MPQ7920 is not set
-CONFIG_REGULATOR_MT6311=y
-# CONFIG_REGULATOR_MT6315 is not set
-CONFIG_REGULATOR_MT6323=y
-CONFIG_REGULATOR_MT6358=y
-CONFIG_REGULATOR_MT6359=m
-CONFIG_REGULATOR_MT6360=m
-CONFIG_REGULATOR_MT6380=y
-CONFIG_REGULATOR_MT6397=y
-CONFIG_REGULATOR_PALMAS=y
-# CONFIG_REGULATOR_PCA9450 is not set
-# CONFIG_REGULATOR_PF8X00 is not set
-# CONFIG_REGULATOR_PFUZE100 is not set
-# CONFIG_REGULATOR_PV88060 is not set
-# CONFIG_REGULATOR_PV88080 is not set
-# CONFIG_REGULATOR_PV88090 is not set
-CONFIG_REGULATOR_PWM=y
-# CONFIG_REGULATOR_QCOM_SPMI is not set
-# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
-# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
-# CONFIG_REGULATOR_RT4801 is not set
-# CONFIG_REGULATOR_RT6160 is not set
-# CONFIG_REGULATOR_RT6245 is not set
-# CONFIG_REGULATOR_RTQ2134 is not set
-# CONFIG_REGULATOR_RTMV20 is not set
-# CONFIG_REGULATOR_RTQ6752 is not set
-# CONFIG_REGULATOR_SLG51000 is not set
-# CONFIG_REGULATOR_SY8106A is not set
-# CONFIG_REGULATOR_SY8824X is not set
-# CONFIG_REGULATOR_SY8827N is not set
-CONFIG_REGULATOR_TPS51632=m
-CONFIG_REGULATOR_TPS62360=m
-# CONFIG_REGULATOR_TPS65023 is not set
-# CONFIG_REGULATOR_TPS6507X is not set
-CONFIG_REGULATOR_TPS65090=m
-# CONFIG_REGULATOR_TPS65132 is not set
-# CONFIG_REGULATOR_TPS6524X is not set
-# CONFIG_REGULATOR_TPS6586X is not set
-CONFIG_REGULATOR_VCTRL=m
-# CONFIG_REGULATOR_QCOM_LABIBB is not set
-# CONFIG_RC_CORE is not set
-CONFIG_CEC_CORE=m
-CONFIG_CEC_NOTIFIER=y
-
-#
-# CEC support
-#
-CONFIG_MEDIA_CEC_SUPPORT=y
-# CONFIG_CEC_CH7322 is not set
-CONFIG_CEC_CROS_EC=m
-# CONFIG_CEC_GPIO is not set
-# CONFIG_USB_PULSE8_CEC is not set
-# CONFIG_USB_RAINSHADOW_CEC is not set
-# end of CEC support
-
-CONFIG_MEDIA_SUPPORT=m
-CONFIG_MEDIA_SUPPORT_FILTER=y
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
-
-#
-# Media device types
-#
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
-# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
-# CONFIG_MEDIA_RADIO_SUPPORT is not set
-CONFIG_MEDIA_SDR_SUPPORT=y
-CONFIG_MEDIA_PLATFORM_SUPPORT=y
-# CONFIG_MEDIA_TEST_SUPPORT is not set
-# end of Media device types
-
-CONFIG_VIDEO_DEV=m
-CONFIG_MEDIA_CONTROLLER=y
-
-#
-# Video4Linux options
-#
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEO_V4L2_I2C=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-CONFIG_VIDEO_TUNER=m
-CONFIG_V4L2_H264=m
-CONFIG_V4L2_MEM2MEM_DEV=m
-# CONFIG_V4L2_FLASH_LED_CLASS is not set
-CONFIG_V4L2_FWNODE=m
-CONFIG_V4L2_ASYNC=m
-# end of Video4Linux options
-
-#
-# Media controller options
-#
-CONFIG_MEDIA_CONTROLLER_REQUEST_API=y
-# end of Media controller options
-
-#
-# Media drivers
-#
-
-#
-# Drivers filtered as selected at 'Filter media drivers'
-#
-CONFIG_MEDIA_USB_SUPPORT=y
-
-#
-# Webcam devices
-#
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-# CONFIG_USB_GSPCA is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_USB_ZR364XX is not set
-# CONFIG_USB_STKWEBCAM is not set
-# CONFIG_USB_S2255 is not set
-# CONFIG_VIDEO_USBTV is not set
-
-#
-# Webcam, TV (analog/digital) USB devices
-#
-CONFIG_VIDEO_EM28XX=m
-CONFIG_VIDEO_EM28XX_V4L2=m
-CONFIG_VIDEO_EM28XX_ALSA=m
-
-#
-# Software defined radio USB devices
-#
-CONFIG_USB_AIRSPY=m
-CONFIG_USB_HACKRF=m
-CONFIG_USB_MSI2500=m
-CONFIG_VIDEO_TVEEPROM=m
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_V4L2=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_DMA_CONTIG=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-# CONFIG_V4L_PLATFORM_DRIVERS is not set
-CONFIG_V4L_MEM2MEM_DRIVERS=y
-CONFIG_VIDEO_MEDIATEK_JPEG=m
-CONFIG_VIDEO_MEDIATEK_VPU=m
-CONFIG_VIDEO_MEDIATEK_MDP=m
-CONFIG_VIDEO_MEDIATEK_VCODEC=m
-CONFIG_VIDEO_MEDIATEK_VCODEC_VPU=y
-CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m
-CONFIG_SDR_PLATFORM_DRIVERS=y
-# end of Media drivers
-
-CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y
-
-#
-# Media ancillary drivers
-#
-
-#
-# audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'
-#
-CONFIG_VIDEO_MSP3400=m
-CONFIG_VIDEO_SAA711X=m
-CONFIG_VIDEO_TVP5150=m
-
-#
-# Video and audio decoders
-#
-
-#
-# Camera sensor devices
-#
-# CONFIG_VIDEO_HI556 is not set
-# CONFIG_VIDEO_HI846 is not set
-# CONFIG_VIDEO_IMX208 is not set
-# CONFIG_VIDEO_IMX214 is not set
-# CONFIG_VIDEO_IMX219 is not set
-# CONFIG_VIDEO_IMX258 is not set
-# CONFIG_VIDEO_IMX274 is not set
-# CONFIG_VIDEO_IMX290 is not set
-# CONFIG_VIDEO_IMX319 is not set
-# CONFIG_VIDEO_IMX334 is not set
-# CONFIG_VIDEO_IMX335 is not set
-# CONFIG_VIDEO_IMX355 is not set
-# CONFIG_VIDEO_IMX412 is not set
-# CONFIG_VIDEO_OV02A10 is not set
-CONFIG_VIDEO_OV2640=m
-# CONFIG_VIDEO_OV2659 is not set
-# CONFIG_VIDEO_OV2680 is not set
-# CONFIG_VIDEO_OV2685 is not set
-# CONFIG_VIDEO_OV2740 is not set
-# CONFIG_VIDEO_OV5640 is not set
-# CONFIG_VIDEO_OV5645 is not set
-# CONFIG_VIDEO_OV5647 is not set
-# CONFIG_VIDEO_OV5648 is not set
-# CONFIG_VIDEO_OV6650 is not set
-# CONFIG_VIDEO_OV5670 is not set
-# CONFIG_VIDEO_OV5675 is not set
-# CONFIG_VIDEO_OV5695 is not set
-# CONFIG_VIDEO_OV7251 is not set
-# CONFIG_VIDEO_OV772X is not set
-# CONFIG_VIDEO_OV7640 is not set
-# CONFIG_VIDEO_OV7670 is not set
-# CONFIG_VIDEO_OV7740 is not set
-# CONFIG_VIDEO_OV8856 is not set
-# CONFIG_VIDEO_OV8865 is not set
-# CONFIG_VIDEO_OV9282 is not set
-# CONFIG_VIDEO_OV9640 is not set
-# CONFIG_VIDEO_OV9650 is not set
-# CONFIG_VIDEO_OV9734 is not set
-# CONFIG_VIDEO_OV13858 is not set
-# CONFIG_VIDEO_OV13B10 is not set
-# CONFIG_VIDEO_VS6624 is not set
-# CONFIG_VIDEO_MT9M001 is not set
-# CONFIG_VIDEO_MT9M032 is not set
-# CONFIG_VIDEO_MT9M111 is not set
-# CONFIG_VIDEO_MT9P031 is not set
-# CONFIG_VIDEO_MT9T001 is not set
-# CONFIG_VIDEO_MT9T112 is not set
-CONFIG_VIDEO_MT9V011=m
-# CONFIG_VIDEO_MT9V032 is not set
-# CONFIG_VIDEO_MT9V111 is not set
-# CONFIG_VIDEO_SR030PC30 is not set
-# CONFIG_VIDEO_NOON010PC30 is not set
-# CONFIG_VIDEO_M5MOLS is not set
-# CONFIG_VIDEO_RDACM20 is not set
-# CONFIG_VIDEO_RDACM21 is not set
-# CONFIG_VIDEO_RJ54N1 is not set
-# CONFIG_VIDEO_S5K6AA is not set
-# CONFIG_VIDEO_S5K6A3 is not set
-# CONFIG_VIDEO_S5K4ECGX is not set
-# CONFIG_VIDEO_S5K5BAF is not set
-# CONFIG_VIDEO_CCS is not set
-# CONFIG_VIDEO_ET8EK8 is not set
-# CONFIG_VIDEO_S5C73M3 is not set
-# end of Camera sensor devices
-
-#
-# Lens drivers
-#
-# CONFIG_VIDEO_AD5820 is not set
-# CONFIG_VIDEO_AK7375 is not set
-# CONFIG_VIDEO_DW9714 is not set
-# CONFIG_VIDEO_DW9768 is not set
-# CONFIG_VIDEO_DW9807_VCM is not set
-# end of Lens drivers
-
-#
-# Flash devices
-#
-# CONFIG_VIDEO_ADP1653 is not set
-# CONFIG_VIDEO_LM3560 is not set
-# CONFIG_VIDEO_LM3646 is not set
-# end of Flash devices
-
-#
-# SPI I2C drivers auto-selected by 'Autoselect ancillary drivers'
-#
-
-#
-# Media SPI Adapters
-#
-# end of Media SPI Adapters
-
-CONFIG_MEDIA_TUNER=m
-
-#
-# Tuner drivers auto-selected by 'Autoselect ancillary drivers'
-#
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_MSI001=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-# end of Media ancillary drivers
-
-#
-# Graphics support
-#
-CONFIG_DRM=y
-CONFIG_DRM_MIPI_DSI=y
-CONFIG_DRM_DP_AUX_BUS=y
-CONFIG_DRM_DP_AUX_CHARDEV=y
-# CONFIG_DRM_DEBUG_MM is not set
-CONFIG_DRM_KMS_HELPER=y
-CONFIG_DRM_FBDEV_EMULATION=y
-CONFIG_DRM_FBDEV_OVERALLOC=100
-# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
-# CONFIG_DRM_DP_CEC is not set
-CONFIG_DRM_GEM_CMA_HELPER=y
-CONFIG_DRM_KMS_CMA_HELPER=y
-CONFIG_DRM_GEM_SHMEM_HELPER=y
-
-#
-# I2C encoder or helper chips
-#
-# CONFIG_DRM_I2C_CH7006 is not set
-# CONFIG_DRM_I2C_SIL164 is not set
-# CONFIG_DRM_I2C_NXP_TDA998X is not set
-# CONFIG_DRM_I2C_NXP_TDA9950 is not set
-# end of I2C encoder or helper chips
-
-#
-# ARM devices
-#
-# CONFIG_DRM_HDLCD is not set
-# CONFIG_DRM_MALI_DISPLAY is not set
-# CONFIG_DRM_KOMEDA is not set
-# end of ARM devices
-
-CONFIG_DRM_VGEM=m
-# CONFIG_DRM_VKMS is not set
-CONFIG_DRM_UDL=m
-# CONFIG_DRM_RCAR_DW_HDMI is not set
-# CONFIG_DRM_RCAR_LVDS is not set
-# CONFIG_DRM_VIRTIO_GPU is not set
-CONFIG_DRM_PANEL=y
-
-#
-# Display Panels
-#
-# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
-# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
-# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
-# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
-# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
-# CONFIG_DRM_PANEL_DSI_CM is not set
-# CONFIG_DRM_PANEL_LVDS is not set
-CONFIG_DRM_PANEL_SIMPLE=m
-CONFIG_DRM_PANEL_EDP=y
-# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
-# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
-# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
-# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
-# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
-# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
-# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
-# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
-# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
-# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
-# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
-# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
-# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
-# CONFIG_DRM_PANEL_LG_LG4573 is not set
-# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
-# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
-# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
-# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
-# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
-# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
-# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
-# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
-# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
-# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
-# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
-# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
-# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
-# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
-# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
-# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
-# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
-# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
-# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
-# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
-# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
-# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
-# CONFIG_DRM_PANEL_TPO_TPG110 is not set
-# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
-# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
-# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
-# end of Display Panels
-
-CONFIG_DRM_BRIDGE=y
-CONFIG_DRM_PANEL_BRIDGE=y
-
-#
-# Display Interface Bridges
-#
-# CONFIG_DRM_CDNS_DSI is not set
-# CONFIG_DRM_CHIPONE_ICN6211 is not set
-# CONFIG_DRM_CHRONTEL_CH7033 is not set
-CONFIG_DRM_CROS_EC_ANX7688=m
-CONFIG_DRM_DISPLAY_CONNECTOR=y
-# CONFIG_DRM_LONTIUM_LT8912B is not set
-# CONFIG_DRM_LONTIUM_LT9611 is not set
-# CONFIG_DRM_LONTIUM_LT9611UXC is not set
-# CONFIG_DRM_ITE_IT66121 is not set
-# CONFIG_DRM_LVDS_CODEC is not set
-# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
-# CONFIG_DRM_NWL_MIPI_DSI is not set
-# CONFIG_DRM_NXP_PTN3460 is not set
-# CONFIG_DRM_PARADE_PS8622 is not set
-CONFIG_DRM_PARADE_PS8640=y
-# CONFIG_DRM_SIL_SII8620 is not set
-# CONFIG_DRM_SII902X is not set
-# CONFIG_DRM_SII9234 is not set
-# CONFIG_DRM_SIMPLE_BRIDGE is not set
-# CONFIG_DRM_THINE_THC63LVD1024 is not set
-# CONFIG_DRM_TOSHIBA_TC358762 is not set
-# CONFIG_DRM_TOSHIBA_TC358764 is not set
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
-# CONFIG_DRM_TOSHIBA_TC358768 is not set
-# CONFIG_DRM_TOSHIBA_TC358775 is not set
-# CONFIG_DRM_TI_TFP410 is not set
-# CONFIG_DRM_TI_SN65DSI83 is not set
-# CONFIG_DRM_TI_SN65DSI86 is not set
-# CONFIG_DRM_TI_TPD12S015 is not set
-# CONFIG_DRM_ANALOGIX_ANX6345 is not set
-# CONFIG_DRM_ANALOGIX_ANX78XX is not set
-# CONFIG_DRM_ANALOGIX_ANX7625 is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
-# CONFIG_DRM_CDNS_MHDP8546 is not set
-# end of Display Interface Bridges
-
-# CONFIG_DRM_ETNAVIV is not set
-# CONFIG_DRM_HISI_KIRIN is not set
-CONFIG_DRM_MEDIATEK=y
-CONFIG_DRM_MEDIATEK_HDMI=y
-# CONFIG_DRM_MXSFB is not set
-# CONFIG_DRM_ARCPGU is not set
-CONFIG_DRM_GM12U320=m
-CONFIG_DRM_SIMPLEDRM=y
-# CONFIG_TINYDRM_HX8357D is not set
-# CONFIG_TINYDRM_ILI9225 is not set
-# CONFIG_TINYDRM_ILI9341 is not set
-# CONFIG_TINYDRM_ILI9486 is not set
-# CONFIG_TINYDRM_MI0283QT is not set
-# CONFIG_TINYDRM_REPAPER is not set
-# CONFIG_TINYDRM_ST7586 is not set
-# CONFIG_TINYDRM_ST7735R is not set
-CONFIG_DRM_PL111=m
-# CONFIG_DRM_LIMA is not set
-# CONFIG_DRM_PANFROST is not set
-# CONFIG_DRM_TIDSS is not set
-# CONFIG_DRM_GUD is not set
-# CONFIG_DRM_LEGACY is not set
-CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
-
-#
-# Frame buffer Devices
-#
-CONFIG_FB_CMDLINE=y
-CONFIG_FB_NOTIFY=y
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=y
-CONFIG_FB_SYS_COPYAREA=y
-CONFIG_FB_SYS_IMAGEBLIT=y
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=y
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_MODE_HELPERS=y
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_ARMCLCD is not set
-# CONFIG_FB_UVESA is not set
-# CONFIG_FB_EFI is not set
-# CONFIG_FB_OPENCORES is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_SMSCUFX is not set
-CONFIG_FB_UDL=m
-# CONFIG_FB_IBM_GXT4500 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_SSD1307 is not set
-# end of Frame buffer Devices
-
-#
-# Backlight & LCD device support
-#
-CONFIG_LCD_CLASS_DEVICE=y
-# CONFIG_LCD_L4F00242T03 is not set
-# CONFIG_LCD_LMS283GF05 is not set
-# CONFIG_LCD_LTV350QV is not set
-# CONFIG_LCD_ILI922X is not set
-# CONFIG_LCD_ILI9320 is not set
-# CONFIG_LCD_TDO24M is not set
-# CONFIG_LCD_VGG2432A4 is not set
-CONFIG_LCD_PLATFORM=y
-# CONFIG_LCD_AMS369FG06 is not set
-# CONFIG_LCD_LMS501KF03 is not set
-# CONFIG_LCD_HX8357 is not set
-# CONFIG_LCD_OTM3225A is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_KTD253 is not set
-CONFIG_BACKLIGHT_PWM=y
-# CONFIG_BACKLIGHT_QCOM_WLED is not set
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-# CONFIG_BACKLIGHT_LM3630A is not set
-# CONFIG_BACKLIGHT_LM3639 is not set
-CONFIG_BACKLIGHT_LP855X=y
-# CONFIG_BACKLIGHT_GPIO is not set
-# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_BD6107 is not set
-# CONFIG_BACKLIGHT_ARCXCNN is not set
-# CONFIG_BACKLIGHT_LED is not set
-# end of Backlight & LCD device support
-
-CONFIG_VIDEOMODE_HELPERS=y
-CONFIG_HDMI=y
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_DUMMY_CONSOLE_COLUMNS=80
-CONFIG_DUMMY_CONSOLE_ROWS=25
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
-# end of Console display driver support
-
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# end of Graphics support
-
-CONFIG_SOUND=m
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_PCM_ELD=y
-CONFIG_SND_PCM_IEC958=y
-CONFIG_SND_HWDEP=m
-CONFIG_SND_SEQ_DEVICE=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_JACK_INPUT_DEV=y
-# CONFIG_SND_OSSEMUL is not set
-CONFIG_SND_PCM_TIMER=y
-CONFIG_SND_HRTIMER=m
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_MAX_CARDS=32
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_PROC_FS=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-CONFIG_SND_SEQUENCER=m
-# CONFIG_SND_SEQ_DUMMY is not set
-CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
-CONFIG_SND_SEQ_MIDI_EVENT=m
-CONFIG_SND_SEQ_MIDI=m
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-CONFIG_SND_ALOOP=m
-# CONFIG_SND_VIRMIDI is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-
-#
-# HD-Audio
-#
-# end of HD-Audio
-
-CONFIG_SND_HDA_PREALLOC_SIZE=64
-# CONFIG_SND_SPI is not set
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_USB_HIFACE=m
-CONFIG_SND_BCD2000=m
-CONFIG_SND_USB_LINE6=m
-CONFIG_SND_USB_POD=m
-CONFIG_SND_USB_PODHD=m
-CONFIG_SND_USB_TONEPORT=m
-CONFIG_SND_USB_VARIAX=m
-CONFIG_SND_SOC=m
-# CONFIG_SND_SOC_ADI is not set
-# CONFIG_SND_SOC_AMD_ACP is not set
-# CONFIG_SND_ATMEL_SOC is not set
-# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
-# CONFIG_SND_DESIGNWARE_I2S is not set
-
-#
-# SoC Audio for Freescale CPUs
-#
-
-#
-# Common SoC Audio options for Freescale CPUs:
-#
-# CONFIG_SND_SOC_FSL_ASRC is not set
-# CONFIG_SND_SOC_FSL_SAI is not set
-# CONFIG_SND_SOC_FSL_AUDMIX is not set
-# CONFIG_SND_SOC_FSL_SSI is not set
-# CONFIG_SND_SOC_FSL_SPDIF is not set
-# CONFIG_SND_SOC_FSL_ESAI is not set
-# CONFIG_SND_SOC_FSL_MICFIL is not set
-# CONFIG_SND_SOC_FSL_XCVR is not set
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
-# end of SoC Audio for Freescale CPUs
-
-# CONFIG_SND_I2S_HI6210_I2S is not set
-# CONFIG_SND_SOC_IMG is not set
-CONFIG_SND_SOC_MEDIATEK=m
-# CONFIG_SND_SOC_MT2701 is not set
-# CONFIG_SND_SOC_MT6797 is not set
-CONFIG_SND_SOC_MT8173=m
-# CONFIG_SND_SOC_MT8173_MAX98090 is not set
-CONFIG_SND_SOC_MT8173_RT5650=m
-CONFIG_SND_SOC_MT8173_RT5650_RT5514=m
-CONFIG_SND_SOC_MT8173_RT5650_RT5676=m
-CONFIG_SND_SOC_MT8183=m
-CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m
-CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m
-# CONFIG_SND_SOC_MTK_BTCVSD is not set
-# CONFIG_SND_SOC_MT8192 is not set
-# CONFIG_SND_SOC_MT8195 is not set
-# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
-
-#
-# STMicroelectronics STM32 SOC audio support
-#
-# end of STMicroelectronics STM32 SOC audio support
-
-# CONFIG_SND_SOC_XILINX_I2S is not set
-# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
-# CONFIG_SND_SOC_XILINX_SPDIF is not set
-# CONFIG_SND_SOC_XTFPGA_I2S is not set
-CONFIG_SND_SOC_I2C_AND_SPI=m
-
-#
-# CODEC drivers
-#
-# CONFIG_SND_SOC_AC97_CODEC is not set
-# CONFIG_SND_SOC_ADAU1372_I2C is not set
-# CONFIG_SND_SOC_ADAU1372_SPI is not set
-# CONFIG_SND_SOC_ADAU1701 is not set
-# CONFIG_SND_SOC_ADAU1761_I2C is not set
-# CONFIG_SND_SOC_ADAU1761_SPI is not set
-# CONFIG_SND_SOC_ADAU7002 is not set
-# CONFIG_SND_SOC_ADAU7118_HW is not set
-# CONFIG_SND_SOC_ADAU7118_I2C is not set
-# CONFIG_SND_SOC_AK4104 is not set
-# CONFIG_SND_SOC_AK4118 is not set
-# CONFIG_SND_SOC_AK4458 is not set
-# CONFIG_SND_SOC_AK4554 is not set
-# CONFIG_SND_SOC_AK4613 is not set
-# CONFIG_SND_SOC_AK4642 is not set
-# CONFIG_SND_SOC_AK5386 is not set
-# CONFIG_SND_SOC_AK5558 is not set
-# CONFIG_SND_SOC_ALC5623 is not set
-# CONFIG_SND_SOC_BD28623 is not set
-CONFIG_SND_SOC_BT_SCO=m
-CONFIG_SND_SOC_CROS_EC_CODEC=m
-# CONFIG_SND_SOC_CS35L32 is not set
-# CONFIG_SND_SOC_CS35L33 is not set
-# CONFIG_SND_SOC_CS35L34 is not set
-# CONFIG_SND_SOC_CS35L35 is not set
-# CONFIG_SND_SOC_CS35L36 is not set
-# CONFIG_SND_SOC_CS35L41_SPI is not set
-# CONFIG_SND_SOC_CS35L41_I2C is not set
-# CONFIG_SND_SOC_CS42L42 is not set
-# CONFIG_SND_SOC_CS42L51_I2C is not set
-# CONFIG_SND_SOC_CS42L52 is not set
-# CONFIG_SND_SOC_CS42L56 is not set
-# CONFIG_SND_SOC_CS42L73 is not set
-# CONFIG_SND_SOC_CS4234 is not set
-# CONFIG_SND_SOC_CS4265 is not set
-# CONFIG_SND_SOC_CS4270 is not set
-# CONFIG_SND_SOC_CS4271_I2C is not set
-# CONFIG_SND_SOC_CS4271_SPI is not set
-# CONFIG_SND_SOC_CS42XX8_I2C is not set
-# CONFIG_SND_SOC_CS43130 is not set
-# CONFIG_SND_SOC_CS4341 is not set
-# CONFIG_SND_SOC_CS4349 is not set
-# CONFIG_SND_SOC_CS53L30 is not set
-# CONFIG_SND_SOC_CX2072X is not set
-# CONFIG_SND_SOC_DA7213 is not set
-CONFIG_SND_SOC_DA7219=m
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_HDMI_CODEC=m
-# CONFIG_SND_SOC_ES7134 is not set
-# CONFIG_SND_SOC_ES7241 is not set
-# CONFIG_SND_SOC_ES8316 is not set
-CONFIG_SND_SOC_ES8328=m
-CONFIG_SND_SOC_ES8328_I2C=m
-CONFIG_SND_SOC_ES8328_SPI=m
-# CONFIG_SND_SOC_GTM601 is not set
-# CONFIG_SND_SOC_ICS43432 is not set
-# CONFIG_SND_SOC_INNO_RK3036 is not set
-# CONFIG_SND_SOC_MAX98088 is not set
-CONFIG_SND_SOC_MAX98357A=m
-# CONFIG_SND_SOC_MAX98504 is not set
-# CONFIG_SND_SOC_MAX9867 is not set
-# CONFIG_SND_SOC_MAX98927 is not set
-# CONFIG_SND_SOC_MAX98520 is not set
-# CONFIG_SND_SOC_MAX98373_I2C is not set
-# CONFIG_SND_SOC_MAX98390 is not set
-# CONFIG_SND_SOC_MAX9860 is not set
-# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
-# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
-# CONFIG_SND_SOC_PCM1681 is not set
-# CONFIG_SND_SOC_PCM1789_I2C is not set
-# CONFIG_SND_SOC_PCM179X_I2C is not set
-# CONFIG_SND_SOC_PCM179X_SPI is not set
-# CONFIG_SND_SOC_PCM186X_I2C is not set
-# CONFIG_SND_SOC_PCM186X_SPI is not set
-# CONFIG_SND_SOC_PCM3060_I2C is not set
-# CONFIG_SND_SOC_PCM3060_SPI is not set
-# CONFIG_SND_SOC_PCM3168A_I2C is not set
-# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM5102A is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
-# CONFIG_SND_SOC_PCM512x_SPI is not set
-# CONFIG_SND_SOC_RK3328 is not set
-CONFIG_SND_SOC_RL6231=m
-CONFIG_SND_SOC_RT1015=m
-CONFIG_SND_SOC_RT1015P=m
-CONFIG_SND_SOC_RT5514=m
-# CONFIG_SND_SOC_RT5616 is not set
-# CONFIG_SND_SOC_RT5631 is not set
-# CONFIG_SND_SOC_RT5640 is not set
-CONFIG_SND_SOC_RT5645=m
-CONFIG_SND_SOC_RT5659=m
-CONFIG_SND_SOC_RT5677=m
-CONFIG_SND_SOC_RT5677_SPI=m
-# CONFIG_SND_SOC_RT9120 is not set
-# CONFIG_SND_SOC_SGTL5000 is not set
-# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
-# CONFIG_SND_SOC_SIMPLE_MUX is not set
-# CONFIG_SND_SOC_SPDIF is not set
-# CONFIG_SND_SOC_SSM2305 is not set
-# CONFIG_SND_SOC_SSM2518 is not set
-# CONFIG_SND_SOC_SSM2602_SPI is not set
-# CONFIG_SND_SOC_SSM2602_I2C is not set
-# CONFIG_SND_SOC_SSM4567 is not set
-# CONFIG_SND_SOC_STA32X is not set
-# CONFIG_SND_SOC_STA350 is not set
-# CONFIG_SND_SOC_STI_SAS is not set
-# CONFIG_SND_SOC_TAS2552 is not set
-# CONFIG_SND_SOC_TAS2562 is not set
-# CONFIG_SND_SOC_TAS2764 is not set
-# CONFIG_SND_SOC_TAS2770 is not set
-# CONFIG_SND_SOC_TAS5086 is not set
-# CONFIG_SND_SOC_TAS571X is not set
-# CONFIG_SND_SOC_TAS5720 is not set
-# CONFIG_SND_SOC_TAS6424 is not set
-# CONFIG_SND_SOC_TDA7419 is not set
-# CONFIG_SND_SOC_TFA9879 is not set
-# CONFIG_SND_SOC_TFA989X is not set
-# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC31XX is not set
-# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
-# CONFIG_SND_SOC_TLV320ADCX140 is not set
-CONFIG_SND_SOC_TS3A227E=m
-# CONFIG_SND_SOC_TSCS42XX is not set
-# CONFIG_SND_SOC_TSCS454 is not set
-# CONFIG_SND_SOC_UDA1334 is not set
-# CONFIG_SND_SOC_WM8510 is not set
-# CONFIG_SND_SOC_WM8523 is not set
-# CONFIG_SND_SOC_WM8524 is not set
-# CONFIG_SND_SOC_WM8580 is not set
-# CONFIG_SND_SOC_WM8711 is not set
-# CONFIG_SND_SOC_WM8728 is not set
-# CONFIG_SND_SOC_WM8731 is not set
-# CONFIG_SND_SOC_WM8737 is not set
-# CONFIG_SND_SOC_WM8741 is not set
-# CONFIG_SND_SOC_WM8750 is not set
-# CONFIG_SND_SOC_WM8753 is not set
-# CONFIG_SND_SOC_WM8770 is not set
-# CONFIG_SND_SOC_WM8776 is not set
-# CONFIG_SND_SOC_WM8782 is not set
-# CONFIG_SND_SOC_WM8804_I2C is not set
-# CONFIG_SND_SOC_WM8804_SPI is not set
-# CONFIG_SND_SOC_WM8903 is not set
-# CONFIG_SND_SOC_WM8904 is not set
-# CONFIG_SND_SOC_WM8960 is not set
-# CONFIG_SND_SOC_WM8962 is not set
-# CONFIG_SND_SOC_WM8974 is not set
-# CONFIG_SND_SOC_WM8978 is not set
-# CONFIG_SND_SOC_WM8985 is not set
-# CONFIG_SND_SOC_ZL38060 is not set
-# CONFIG_SND_SOC_MAX9759 is not set
-CONFIG_SND_SOC_MT6351=m
-CONFIG_SND_SOC_MT6358=m
-# CONFIG_SND_SOC_MT6359 is not set
-# CONFIG_SND_SOC_MT6359_ACCDET is not set
-CONFIG_SND_SOC_MT6660=m
-# CONFIG_SND_SOC_NAU8315 is not set
-# CONFIG_SND_SOC_NAU8540 is not set
-# CONFIG_SND_SOC_NAU8810 is not set
-# CONFIG_SND_SOC_NAU8821 is not set
-# CONFIG_SND_SOC_NAU8822 is not set
-# CONFIG_SND_SOC_NAU8824 is not set
-# CONFIG_SND_SOC_TPA6130A2 is not set
-# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
-# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
-# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
-# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
-# end of CODEC drivers
-
-# CONFIG_SND_SIMPLE_CARD is not set
-# CONFIG_SND_AUDIO_GRAPH_CARD is not set
-# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
-# CONFIG_SND_TEST_COMPONENT is not set
-# CONFIG_SND_VIRTIO is not set
-
-#
-# HID support
-#
-CONFIG_HID=y
-CONFIG_HID_BATTERY_STRENGTH=y
-CONFIG_HIDRAW=y
-CONFIG_UHID=m
-CONFIG_HID_GENERIC=y
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACCUTOUCH is not set
-# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_APPLEIR is not set
-# CONFIG_HID_ASUS is not set
-# CONFIG_HID_AUREAL is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_BETOP_FF is not set
-# CONFIG_HID_BIGBEN_FF is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_CORSAIR is not set
-# CONFIG_HID_COUGAR is not set
-# CONFIG_HID_MACALLY is not set
-# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_CMEDIA is not set
-# CONFIG_HID_CP2112 is not set
-# CONFIG_HID_CREATIVE_SB0540 is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EMS_FF is not set
-# CONFIG_HID_ELAN is not set
-# CONFIG_HID_ELECOM is not set
-# CONFIG_HID_ELO is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_FT260 is not set
-# CONFIG_HID_GEMBIRD is not set
-# CONFIG_HID_GFRM is not set
-# CONFIG_HID_GLORIOUS is not set
-# CONFIG_HID_HOLTEK is not set
-# CONFIG_HID_GOOGLE_HAMMER is not set
-# CONFIG_HID_VIVALDI is not set
-# CONFIG_HID_GT683R is not set
-# CONFIG_HID_KEYTOUCH is not set
-# CONFIG_HID_KYE is not set
-CONFIG_HID_UCLOGIC=m
-# CONFIG_HID_WALTOP is not set
-# CONFIG_HID_VIEWSONIC is not set
-# CONFIG_HID_XIAOMI is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_ICADE is not set
-# CONFIG_HID_ITE is not set
-# CONFIG_HID_JABRA is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LCPOWER is not set
-# CONFIG_HID_LED is not set
-# CONFIG_HID_LENOVO is not set
-# CONFIG_HID_LOGITECH is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MALTRON is not set
-# CONFIG_HID_MAYFLASH is not set
-# CONFIG_HID_REDRAGON is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MONTEREY is not set
-CONFIG_HID_MULTITOUCH=m
-# CONFIG_HID_NINTENDO is not set
-# CONFIG_HID_NTI is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PENMOUNT is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_PLANTRONICS is not set
-# CONFIG_HID_PLAYSTATION is not set
-# CONFIG_HID_PRIMAX is not set
-# CONFIG_HID_RETRODE is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_SAITEK is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SEMITEK is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_SPEEDLINK is not set
-# CONFIG_HID_STEAM is not set
-# CONFIG_HID_STEELSERIES is not set
-# CONFIG_HID_SUNPLUS is not set
-CONFIG_HID_RMI=y
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TIVO is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THINGM is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_UDRAW_PS3 is not set
-# CONFIG_HID_U2FZERO is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_WIIMOTE is not set
-# CONFIG_HID_XINMO is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-# CONFIG_HID_SENSOR_HUB is not set
-# CONFIG_HID_ALPS is not set
-# CONFIG_HID_MCP2221 is not set
-# end of Special HID drivers
-
-#
-# USB HID support
-#
-CONFIG_USB_HID=y
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-# end of USB HID support
-
-#
-# I2C HID support
-#
-CONFIG_I2C_HID_ACPI=m
-CONFIG_I2C_HID_OF=m
-# CONFIG_I2C_HID_OF_GOODIX is not set
-# end of I2C HID support
-
-CONFIG_I2C_HID_CORE=m
-# end of HID support
-
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-# CONFIG_USB_LED_TRIG is not set
-CONFIG_USB_ULPI_BUS=y
-CONFIG_USB_CONN_GPIO=m
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEFAULT_PERSIST=y
-# CONFIG_USB_FEW_INIT_RETRIES is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-# CONFIG_USB_OTG is not set
-# CONFIG_USB_OTG_PRODUCTLIST is not set
-# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
-CONFIG_USB_AUTOSUSPEND_DELAY=2
-CONFIG_USB_MON=m
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_XHCI_HCD=y
-CONFIG_USB_XHCI_DBGCAP=y
-# CONFIG_USB_XHCI_PCI_RENESAS is not set
-CONFIG_USB_XHCI_PLATFORM=y
-CONFIG_USB_XHCI_MTK=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-# CONFIG_USB_EHCI_FSL is not set
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_FOTG210_HCD is not set
-# CONFIG_USB_MAX3421_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HCD_SSB is not set
-# CONFIG_USB_HCD_TEST_MODE is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-# CONFIG_USB_PRINTER is not set
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=y
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_VHCI_HC_PORTS=8
-CONFIG_USBIP_VHCI_NR_HCS=1
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-# CONFIG_USB_CDNS_SUPPORT is not set
-CONFIG_USB_MTU3=y
-CONFIG_USB_MTU3_HOST=y
-# CONFIG_USB_MTU3_DEBUG is not set
-# CONFIG_USB_MUSB_HDRC is not set
-# CONFIG_USB_DWC3 is not set
-# CONFIG_USB_DWC2 is not set
-# CONFIG_USB_CHIPIDEA is not set
-# CONFIG_USB_ISP1760 is not set
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_SIMPLE=m
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_F81232=m
-CONFIG_USB_SERIAL_F8153X=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_METRO=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MXUPORT=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_XSENS_MT=m
-CONFIG_USB_SERIAL_WISHBONE=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_QT2=m
-# CONFIG_USB_SERIAL_UPD78F0730 is not set
-# CONFIG_USB_SERIAL_XR is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_APPLE_MFI_FASTCHARGE is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_EHSET_TEST_FIXTURE is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_YUREX is not set
-CONFIG_USB_EZUSB_FX2=m
-CONFIG_USB_HUB_USB251XB=m
-CONFIG_USB_HSIC_USB3503=m
-CONFIG_USB_HSIC_USB4604=m
-# CONFIG_USB_LINK_LAYER_TEST is not set
-# CONFIG_USB_CHAOSKEY is not set
-
-#
-# USB Physical Layer drivers
-#
-CONFIG_USB_PHY=y
-CONFIG_NOP_USB_XCEIV=y
-# CONFIG_USB_GPIO_VBUS is not set
-# CONFIG_USB_ISP1301 is not set
-CONFIG_USB_ULPI=y
-CONFIG_USB_ULPI_VIEWPORT=y
-# end of USB Physical Layer drivers
-
-# CONFIG_USB_GADGET is not set
-CONFIG_TYPEC=y
-CONFIG_TYPEC_TCPM=m
-CONFIG_TYPEC_TCPCI=m
-# CONFIG_TYPEC_RT1711H is not set
-CONFIG_TYPEC_MT6360=m
-# CONFIG_TYPEC_TCPCI_MAXIM is not set
-# CONFIG_TYPEC_FUSB302 is not set
-CONFIG_TYPEC_UCSI=m
-# CONFIG_UCSI_CCG is not set
-CONFIG_UCSI_ACPI=m
-# CONFIG_TYPEC_TPS6598X is not set
-# CONFIG_TYPEC_HD3SS3220 is not set
-# CONFIG_TYPEC_STUSB160X is not set
-
-#
-# USB Type-C Multiplexer/DeMultiplexer Switch support
-#
-# CONFIG_TYPEC_MUX_PI3USB30532 is not set
-# end of USB Type-C Multiplexer/DeMultiplexer Switch support
-
-#
-# USB Type-C Alternate Mode drivers
-#
-CONFIG_TYPEC_DP_ALTMODE=m
-# CONFIG_TYPEC_NVIDIA_ALTMODE is not set
-# end of USB Type-C Alternate Mode drivers
-
-CONFIG_USB_ROLE_SWITCH=m
-CONFIG_MMC=y
-CONFIG_PWRSEQ_EMMC=y
-# CONFIG_PWRSEQ_SD8787 is not set
-CONFIG_PWRSEQ_SIMPLE=y
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=32
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_ARMMMCI is not set
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_PLTFM=y
-# CONFIG_MMC_SDHCI_OF_ARASAN is not set
-# CONFIG_MMC_SDHCI_OF_ASPEED is not set
-# CONFIG_MMC_SDHCI_OF_AT91 is not set
-# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set
-# CONFIG_MMC_SDHCI_CADENCE is not set
-# CONFIG_MMC_SDHCI_F_SDH30 is not set
-# CONFIG_MMC_SDHCI_MILBEAUT is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_DW is not set
-# CONFIG_MMC_VUB300 is not set
-# CONFIG_MMC_USHC is not set
-# CONFIG_MMC_USDHI6ROL0 is not set
-CONFIG_MMC_CQHCI=y
-CONFIG_MMC_HSQ=y
-CONFIG_MMC_MTK=y
-# CONFIG_MMC_SDHCI_XENON is not set
-# CONFIG_MMC_SDHCI_OMAP is not set
-# CONFIG_MMC_SDHCI_AM654 is not set
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_CLASS_FLASH=m
-CONFIG_LEDS_CLASS_MULTICOLOR=m
-# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_AN30259A is not set
-# CONFIG_LEDS_AW2013 is not set
-# CONFIG_LEDS_BCM6328 is not set
-# CONFIG_LEDS_BCM6358 is not set
-# CONFIG_LEDS_CR0014114 is not set
-# CONFIG_LEDS_EL15203000 is not set
-# CONFIG_LEDS_LM3530 is not set
-# CONFIG_LEDS_LM3532 is not set
-# CONFIG_LEDS_LM3642 is not set
-# CONFIG_LEDS_LM3692X is not set
-CONFIG_LEDS_MT6323=m
-# CONFIG_LEDS_PCA9532 is not set
-# CONFIG_LEDS_GPIO is not set
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP3952 is not set
-# CONFIG_LEDS_LP50XX is not set
-# CONFIG_LEDS_LP55XX_COMMON is not set
-# CONFIG_LEDS_LP8860 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_PCA963X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_PWM is not set
-# CONFIG_LEDS_REGULATOR is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-# CONFIG_LEDS_TCA6507 is not set
-# CONFIG_LEDS_TLC591XX is not set
-# CONFIG_LEDS_LM355x is not set
-# CONFIG_LEDS_IS31FL319X is not set
-# CONFIG_LEDS_IS31FL32XX is not set
-
-#
-# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
-#
-CONFIG_LEDS_BLINKM=m
-CONFIG_LEDS_SYSCON=y
-# CONFIG_LEDS_MLXREG is not set
-CONFIG_LEDS_USER=m
-# CONFIG_LEDS_SPI_BYTE is not set
-# CONFIG_LEDS_TI_LMU_COMMON is not set
-
-#
-# Flash and Torch LED drivers
-#
-# CONFIG_LEDS_AAT1290 is not set
-# CONFIG_LEDS_AS3645A is not set
-# CONFIG_LEDS_KTD2692 is not set
-# CONFIG_LEDS_LM3601X is not set
-# CONFIG_LEDS_RT4505 is not set
-# CONFIG_LEDS_RT8515 is not set
-# CONFIG_LEDS_SGM3140 is not set
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-# CONFIG_LEDS_TRIGGER_TIMER is not set
-# CONFIG_LEDS_TRIGGER_ONESHOT is not set
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_CPU is not set
-# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
-# CONFIG_LEDS_TRIGGER_CAMERA is not set
-# CONFIG_LEDS_TRIGGER_PANIC is not set
-# CONFIG_LEDS_TRIGGER_NETDEV is not set
-# CONFIG_LEDS_TRIGGER_PATTERN is not set
-# CONFIG_LEDS_TRIGGER_AUDIO is not set
-# CONFIG_LEDS_TRIGGER_TTY is not set
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-CONFIG_EDAC_SUPPORT=y
-# CONFIG_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-CONFIG_RTC_SYSTOHC=y
-CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-CONFIG_RTC_NVMEM=y
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-# CONFIG_RTC_DRV_ABB5ZES3 is not set
-# CONFIG_RTC_DRV_ABEOZ9 is not set
-# CONFIG_RTC_DRV_ABX80X is not set
-CONFIG_RTC_DRV_AS3722=m
-# CONFIG_RTC_DRV_DS1307 is not set
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_HYM8563 is not set
-# CONFIG_RTC_DRV_MAX6900 is not set
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_ISL1208 is not set
-# CONFIG_RTC_DRV_ISL12022 is not set
-# CONFIG_RTC_DRV_ISL12026 is not set
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_PCF8523 is not set
-# CONFIG_RTC_DRV_PCF85063 is not set
-# CONFIG_RTC_DRV_PCF85363 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_PCF8583 is not set
-# CONFIG_RTC_DRV_M41T80 is not set
-# CONFIG_RTC_DRV_BQ32K is not set
-CONFIG_RTC_DRV_PALMAS=m
-CONFIG_RTC_DRV_TPS6586X=m
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8010 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 is not set
-# CONFIG_RTC_DRV_EM3027 is not set
-# CONFIG_RTC_DRV_RV3028 is not set
-# CONFIG_RTC_DRV_RV3032 is not set
-# CONFIG_RTC_DRV_RV8803 is not set
-# CONFIG_RTC_DRV_SD3078 is not set
-
-#
-# SPI RTC drivers
-#
-# CONFIG_RTC_DRV_M41T93 is not set
-# CONFIG_RTC_DRV_M41T94 is not set
-# CONFIG_RTC_DRV_DS1302 is not set
-# CONFIG_RTC_DRV_DS1305 is not set
-# CONFIG_RTC_DRV_DS1343 is not set
-# CONFIG_RTC_DRV_DS1347 is not set
-# CONFIG_RTC_DRV_DS1390 is not set
-# CONFIG_RTC_DRV_MAX6916 is not set
-# CONFIG_RTC_DRV_R9701 is not set
-# CONFIG_RTC_DRV_RX4581 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-# CONFIG_RTC_DRV_PCF2123 is not set
-# CONFIG_RTC_DRV_MCP795 is not set
-CONFIG_RTC_I2C_AND_SPI=y
-
-#
-# SPI and I2C RTC drivers
-#
-# CONFIG_RTC_DRV_DS3232 is not set
-# CONFIG_RTC_DRV_PCF2127 is not set
-# CONFIG_RTC_DRV_RV3029C2 is not set
-# CONFIG_RTC_DRV_RX6110 is not set
-
-#
-# Platform RTC drivers
-#
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1685_FAMILY is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_DS2404 is not set
-CONFIG_RTC_DRV_EFI=m
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-# CONFIG_RTC_DRV_ZYNQMP is not set
-CONFIG_RTC_DRV_CROS_EC=m
-
-#
-# on-CPU RTC drivers
-#
-# CONFIG_RTC_DRV_PL030 is not set
-# CONFIG_RTC_DRV_PL031 is not set
-# CONFIG_RTC_DRV_CADENCE is not set
-# CONFIG_RTC_DRV_FTRTC010 is not set
-# CONFIG_RTC_DRV_MT2712 is not set
-CONFIG_RTC_DRV_MT6397=m
-CONFIG_RTC_DRV_MT7622=m
-# CONFIG_RTC_DRV_R7301 is not set
-
-#
-# HID Sensor RTC drivers
-#
-# CONFIG_RTC_DRV_GOLDFISH is not set
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
-CONFIG_DMA_ENGINE=y
-CONFIG_DMA_VIRTUAL_CHANNELS=y
-CONFIG_DMA_ACPI=y
-CONFIG_DMA_OF=y
-# CONFIG_ALTERA_MSGDMA is not set
-# CONFIG_AMBA_PL08X is not set
-# CONFIG_BCM_SBA_RAID is not set
-# CONFIG_DW_AXI_DMAC is not set
-# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_QDMA is not set
-# CONFIG_INTEL_IDMA64 is not set
-# CONFIG_MV_XOR_V2 is not set
-# CONFIG_PL330_DMA is not set
-# CONFIG_XILINX_DMA is not set
-# CONFIG_XILINX_ZYNQMP_DMA is not set
-# CONFIG_XILINX_ZYNQMP_DPDMA is not set
-CONFIG_MTK_HSDMA=y
-CONFIG_MTK_CQDMA=y
-# CONFIG_MTK_UART_APDMA is not set
-# CONFIG_QCOM_HIDMA_MGMT is not set
-# CONFIG_QCOM_HIDMA is not set
-# CONFIG_DW_DMAC is not set
-# CONFIG_SF_PDMA is not set
-
-#
-# DMA Clients
-#
-CONFIG_ASYNC_TX_DMA=y
-# CONFIG_DMATEST is not set
-
-#
-# DMABUF options
-#
-CONFIG_SYNC_FILE=y
-# CONFIG_UDMABUF is not set
-# CONFIG_DMABUF_MOVE_NOTIFY is not set
-# CONFIG_DMABUF_DEBUG is not set
-# CONFIG_DMABUF_SELFTESTS is not set
-CONFIG_DMABUF_HEAPS=y
-# CONFIG_DMABUF_SYSFS_STATS is not set
-CONFIG_DMABUF_HEAPS_SYSTEM=y
-CONFIG_DMABUF_HEAPS_CMA=y
-# end of DMABUF options
-
-# CONFIG_AUXDISPLAY is not set
-# CONFIG_UIO is not set
-CONFIG_VFIO=m
-CONFIG_VFIO_IOMMU_TYPE1=m
-CONFIG_VFIO_VIRQFD=m
-CONFIG_VFIO_NOIOMMU=y
-CONFIG_VFIO_PLATFORM=m
-# CONFIG_VFIO_AMBA is not set
-# CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set
-# CONFIG_VFIO_PLATFORM_AMDXGBE_RESET is not set
-CONFIG_VFIO_MDEV=m
-CONFIG_VIRT_DRIVERS=y
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_MENU=y
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_INPUT=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
-# CONFIG_VDPA is not set
-CONFIG_VHOST_IOTLB=m
-CONFIG_VHOST=m
-CONFIG_VHOST_MENU=y
-CONFIG_VHOST_NET=m
-# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
-
-#
-# Microsoft Hyper-V guest support
-#
-# CONFIG_HYPERV is not set
-# end of Microsoft Hyper-V guest support
-
-# CONFIG_GREYBUS is not set
-# CONFIG_COMEDI is not set
-CONFIG_STAGING=y
-# CONFIG_PRISM2_USB is not set
-# CONFIG_RTLLIB is not set
-# CONFIG_RTL8723BS is not set
-# CONFIG_R8712U is not set
-CONFIG_R8188EU=m
-# CONFIG_VT6656 is not set
-
-#
-# IIO staging drivers
-#
-
-#
-# Accelerometers
-#
-# CONFIG_ADIS16203 is not set
-# CONFIG_ADIS16240 is not set
-# end of Accelerometers
-
-#
-# Analog to digital converters
-#
-# CONFIG_AD7816 is not set
-# CONFIG_AD7280 is not set
-# end of Analog to digital converters
-
-#
-# Analog digital bi-direction converters
-#
-# CONFIG_ADT7316 is not set
-# end of Analog digital bi-direction converters
-
-#
-# Capacitance to digital converters
-#
-# CONFIG_AD7746 is not set
-# end of Capacitance to digital converters
-
-#
-# Direct Digital Synthesis
-#
-# CONFIG_AD9832 is not set
-# CONFIG_AD9834 is not set
-# end of Direct Digital Synthesis
-
-#
-# Network Analyzer, Impedance Converters
-#
-# CONFIG_AD5933 is not set
-# end of Network Analyzer, Impedance Converters
-
-#
-# Active energy metering IC
-#
-# CONFIG_ADE7854 is not set
-# end of Active energy metering IC
-
-#
-# Resolver to digital converters
-#
-# CONFIG_AD2S1210 is not set
-# end of Resolver to digital converters
-# end of IIO staging drivers
-
-# CONFIG_STAGING_MEDIA is not set
-
-#
-# Android
-#
-# end of Android
-
-# CONFIG_STAGING_BOARD is not set
-# CONFIG_LTE_GDM724X is not set
-# CONFIG_GS_FPGABOOT is not set
-# CONFIG_UNISYSSPAR is not set
-# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
-# CONFIG_FB_TFT is not set
-# CONFIG_KS7010 is not set
-# CONFIG_PI433 is not set
-# CONFIG_XIL_AXIS_FIFO is not set
-# CONFIG_FIELDBUS_DEV is not set
-# CONFIG_WFX is not set
-# CONFIG_GOLDFISH is not set
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CHROMEOS_TBMC=m
-CONFIG_CROS_EC=y
-CONFIG_CROS_EC_I2C=y
-CONFIG_CROS_EC_SPI=y
-CONFIG_CROS_EC_PROTO=y
-CONFIG_CROS_KBD_LED_BACKLIGHT=m
-CONFIG_CROS_EC_CHARDEV=y
-CONFIG_CROS_EC_LIGHTBAR=y
-CONFIG_CROS_EC_VBC=m
-CONFIG_CROS_EC_SENSORHUB=y
-CONFIG_CROS_EC_SYSFS=m
-CONFIG_CROS_EC_TYPEC=m
-CONFIG_CROS_USBPD_LOGGER=m
-CONFIG_CROS_USBPD_NOTIFY=y
-# CONFIG_MELLANOX_PLATFORM is not set
-# CONFIG_SURFACE_PLATFORMS is not set
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_CLK_PREPARE=y
-CONFIG_COMMON_CLK=y
-
-#
-# Clock driver for ARM Reference designs
-#
-# CONFIG_CLK_ICST is not set
-# CONFIG_CLK_SP810 is not set
-# end of Clock driver for ARM Reference designs
-
-# CONFIG_LMK04832 is not set
-# CONFIG_COMMON_CLK_MAX9485 is not set
-# CONFIG_COMMON_CLK_SCMI is not set
-# CONFIG_COMMON_CLK_SCPI is not set
-# CONFIG_COMMON_CLK_SI5341 is not set
-# CONFIG_COMMON_CLK_SI5351 is not set
-# CONFIG_COMMON_CLK_SI514 is not set
-# CONFIG_COMMON_CLK_SI544 is not set
-# CONFIG_COMMON_CLK_SI570 is not set
-# CONFIG_COMMON_CLK_CDCE706 is not set
-# CONFIG_COMMON_CLK_CDCE925 is not set
-# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
-# CONFIG_COMMON_CLK_XGENE is not set
-# CONFIG_COMMON_CLK_PALMAS is not set
-# CONFIG_COMMON_CLK_PWM is not set
-# CONFIG_COMMON_CLK_VC5 is not set
-# CONFIG_COMMON_CLK_FIXED_MMIO is not set
-
-#
-# Clock driver for MediaTek SoC
-#
-CONFIG_COMMON_CLK_MEDIATEK=y
-CONFIG_COMMON_CLK_MT2712=y
-# CONFIG_COMMON_CLK_MT2712_BDPSYS is not set
-# CONFIG_COMMON_CLK_MT2712_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT2712_JPGDECSYS is not set
-# CONFIG_COMMON_CLK_MT2712_MFGCFG is not set
-# CONFIG_COMMON_CLK_MT2712_MMSYS is not set
-# CONFIG_COMMON_CLK_MT2712_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT2712_VENCSYS is not set
-CONFIG_COMMON_CLK_MT6765=y
-CONFIG_COMMON_CLK_MT6765_AUDIOSYS=y
-# CONFIG_COMMON_CLK_MT6765_CAMSYS is not set
-# CONFIG_COMMON_CLK_MT6765_GCESYS is not set
-# CONFIG_COMMON_CLK_MT6765_MMSYS is not set
-# CONFIG_COMMON_CLK_MT6765_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT6765_VCODECSYS is not set
-# CONFIG_COMMON_CLK_MT6765_MFGSYS is not set
-# CONFIG_COMMON_CLK_MT6765_MIPI0ASYS is not set
-# CONFIG_COMMON_CLK_MT6765_MIPI0BSYS is not set
-# CONFIG_COMMON_CLK_MT6765_MIPI1ASYS is not set
-# CONFIG_COMMON_CLK_MT6765_MIPI1BSYS is not set
-# CONFIG_COMMON_CLK_MT6765_MIPI2ASYS is not set
-# CONFIG_COMMON_CLK_MT6765_MIPI2BSYS is not set
-# CONFIG_COMMON_CLK_MT6779 is not set
-CONFIG_COMMON_CLK_MT6797=y
-CONFIG_COMMON_CLK_MT6797_MMSYS=y
-CONFIG_COMMON_CLK_MT6797_IMGSYS=y
-CONFIG_COMMON_CLK_MT6797_VDECSYS=y
-CONFIG_COMMON_CLK_MT6797_VENCSYS=y
-CONFIG_COMMON_CLK_MT7622=y
-# CONFIG_COMMON_CLK_MT7622_ETHSYS is not set
-# CONFIG_COMMON_CLK_MT7622_HIFSYS is not set
-# CONFIG_COMMON_CLK_MT7622_AUDSYS is not set
-CONFIG_COMMON_CLK_MT8167=y
-CONFIG_COMMON_CLK_MT8167_AUDSYS=y
-CONFIG_COMMON_CLK_MT8167_IMGSYS=y
-CONFIG_COMMON_CLK_MT8167_MFGCFG=y
-CONFIG_COMMON_CLK_MT8167_MMSYS=y
-CONFIG_COMMON_CLK_MT8167_VDECSYS=y
-CONFIG_COMMON_CLK_MT8173=y
-CONFIG_COMMON_CLK_MT8173_MMSYS=y
-CONFIG_COMMON_CLK_MT8183=y
-# CONFIG_COMMON_CLK_MT8183_AUDIOSYS is not set
-# CONFIG_COMMON_CLK_MT8183_CAMSYS is not set
-# CONFIG_COMMON_CLK_MT8183_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT8183_IPU_CORE0 is not set
-# CONFIG_COMMON_CLK_MT8183_IPU_CORE1 is not set
-# CONFIG_COMMON_CLK_MT8183_IPU_ADL is not set
-# CONFIG_COMMON_CLK_MT8183_IPU_CONN is not set
-# CONFIG_COMMON_CLK_MT8183_MFGCFG is not set
-# CONFIG_COMMON_CLK_MT8183_MMSYS is not set
-# CONFIG_COMMON_CLK_MT8183_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8183_VENCSYS is not set
-CONFIG_COMMON_CLK_MT8192=y
-# CONFIG_COMMON_CLK_MT8192_AUDSYS is not set
-# CONFIG_COMMON_CLK_MT8192_CAMSYS is not set
-# CONFIG_COMMON_CLK_MT8192_IMGSYS is not set
-# CONFIG_COMMON_CLK_MT8192_IMP_IIC_WRAP is not set
-# CONFIG_COMMON_CLK_MT8192_IPESYS is not set
-# CONFIG_COMMON_CLK_MT8192_MDPSYS is not set
-# CONFIG_COMMON_CLK_MT8192_MFGCFG is not set
-# CONFIG_COMMON_CLK_MT8192_MMSYS is not set
-# CONFIG_COMMON_CLK_MT8192_MSDC is not set
-# CONFIG_COMMON_CLK_MT8192_SCP_ADSP is not set
-# CONFIG_COMMON_CLK_MT8192_VDECSYS is not set
-# CONFIG_COMMON_CLK_MT8192_VENCSYS is not set
-# CONFIG_COMMON_CLK_MT8195 is not set
-CONFIG_COMMON_CLK_MT8516=y
-# CONFIG_COMMON_CLK_MT8516_AUDSYS is not set
-# end of Clock driver for MediaTek SoC
-
-# CONFIG_XILINX_VCU is not set
-# CONFIG_HWSPINLOCK is not set
-
-#
-# Clock Source drivers
-#
-CONFIG_TIMER_OF=y
-CONFIG_TIMER_ACPI=y
-CONFIG_TIMER_PROBE=y
-CONFIG_CLKSRC_MMIO=y
-CONFIG_ARM_ARCH_TIMER=y
-CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
-CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
-CONFIG_FSL_ERRATUM_A008585=y
-CONFIG_HISILICON_ERRATUM_161010101=y
-CONFIG_ARM64_ERRATUM_858921=y
-CONFIG_MTK_TIMER=y
-# CONFIG_MICROCHIP_PIT64B is not set
-# end of Clock Source drivers
-
-CONFIG_MAILBOX=y
-CONFIG_ARM_MHU=m
-# CONFIG_ARM_MHU_V2 is not set
-CONFIG_PLATFORM_MHU=m
-# CONFIG_PL320_MBOX is not set
-CONFIG_PCC=y
-# CONFIG_ALTERA_MBOX is not set
-# CONFIG_MAILBOX_TEST is not set
-CONFIG_MTK_CMDQ_MBOX=y
-CONFIG_IOMMU_IOVA=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-
-#
-# Generic IOMMU Pagetable Support
-#
-CONFIG_IOMMU_IO_PGTABLE=y
-CONFIG_IOMMU_IO_PGTABLE_LPAE=y
-# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
-CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
-# CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set
-# end of Generic IOMMU Pagetable Support
-
-CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
-# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
-# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
-CONFIG_OF_IOMMU=y
-CONFIG_IOMMU_DMA=y
-CONFIG_ARM_SMMU=m
-CONFIG_ARM_SMMU_DISABLE_BYPASS_BY_DEFAULT=y
-# CONFIG_ARM_SMMU_V3 is not set
-CONFIG_MTK_IOMMU=y
-CONFIG_VIRTIO_IOMMU=m
-
-#
-# Remoteproc drivers
-#
-# CONFIG_REMOTEPROC is not set
-# end of Remoteproc drivers
-
-#
-# Rpmsg drivers
-#
-# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
-# CONFIG_RPMSG_VIRTIO is not set
-# end of Rpmsg drivers
-
-# CONFIG_SOUNDWIRE is not set
-
-#
-# SOC (System On Chip) specific Drivers
-#
-
-#
-# Amlogic SoC drivers
-#
-# end of Amlogic SoC drivers
-
-#
-# Broadcom SoC drivers
-#
-# CONFIG_SOC_BRCMSTB is not set
-# end of Broadcom SoC drivers
-
-#
-# NXP/Freescale QorIQ SoC drivers
-#
-# CONFIG_QUICC_ENGINE is not set
-# CONFIG_FSL_RCPM is not set
-# end of NXP/Freescale QorIQ SoC drivers
-
-#
-# i.MX SoC drivers
-#
-# end of i.MX SoC drivers
-
-#
-# Enable LiteX SoC Builder specific drivers
-#
-# CONFIG_LITEX_SOC_CONTROLLER is not set
-# end of Enable LiteX SoC Builder specific drivers
-
-#
-# MediaTek SoC drivers
-#
-CONFIG_MTK_CMDQ=y
-CONFIG_MTK_DEVAPC=m
-CONFIG_MTK_INFRACFG=y
-CONFIG_MTK_PMIC_WRAP=y
-CONFIG_MTK_SCPSYS=y
-CONFIG_MTK_SCPSYS_PM_DOMAINS=y
-CONFIG_MTK_MMSYS=y
-# end of MediaTek SoC drivers
-
-#
-# Qualcomm SoC drivers
-#
-# end of Qualcomm SoC drivers
-
-# CONFIG_SOC_TI is not set
-
-#
-# Xilinx SoC drivers
-#
-# end of Xilinx SoC drivers
-# end of SOC (System On Chip) specific Drivers
-
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PERFORMANCE=y
-CONFIG_DEVFREQ_GOV_POWERSAVE=y
-CONFIG_DEVFREQ_GOV_USERSPACE=y
-# CONFIG_DEVFREQ_GOV_PASSIVE is not set
-
-#
-# DEVFREQ Drivers
-#
-CONFIG_PM_DEVFREQ_EVENT=y
-CONFIG_EXTCON=y
-
-#
-# Extcon Device Drivers
-#
-# CONFIG_EXTCON_ADC_JACK is not set
-# CONFIG_EXTCON_FSA9480 is not set
-# CONFIG_EXTCON_GPIO is not set
-# CONFIG_EXTCON_MAX3355 is not set
-CONFIG_EXTCON_PALMAS=y
-# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_RT8973A is not set
-# CONFIG_EXTCON_SM5502 is not set
-# CONFIG_EXTCON_USB_GPIO is not set
-CONFIG_EXTCON_USBC_CROS_EC=y
-# CONFIG_EXTCON_USBC_TUSB320 is not set
-CONFIG_MEMORY=y
-# CONFIG_ARM_PL172_MPMC is not set
-CONFIG_MTK_SMI=y
-CONFIG_IIO=m
-CONFIG_IIO_BUFFER=y
-# CONFIG_IIO_BUFFER_CB is not set
-# CONFIG_IIO_BUFFER_DMA is not set
-# CONFIG_IIO_BUFFER_DMAENGINE is not set
-# CONFIG_IIO_BUFFER_HW_CONSUMER is not set
-CONFIG_IIO_KFIFO_BUF=m
-CONFIG_IIO_TRIGGERED_BUFFER=m
-CONFIG_IIO_CONFIGFS=m
-CONFIG_IIO_TRIGGER=y
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-# CONFIG_IIO_SW_DEVICE is not set
-# CONFIG_IIO_SW_TRIGGER is not set
-# CONFIG_IIO_TRIGGERED_EVENT is not set
-
-#
-# Accelerometers
-#
-# CONFIG_ADIS16201 is not set
-# CONFIG_ADIS16209 is not set
-# CONFIG_ADXL313_I2C is not set
-# CONFIG_ADXL313_SPI is not set
-# CONFIG_ADXL345_I2C is not set
-# CONFIG_ADXL345_SPI is not set
-# CONFIG_ADXL355_I2C is not set
-# CONFIG_ADXL355_SPI is not set
-# CONFIG_ADXL372_SPI is not set
-# CONFIG_ADXL372_I2C is not set
-# CONFIG_BMA180 is not set
-# CONFIG_BMA220 is not set
-# CONFIG_BMA400 is not set
-# CONFIG_BMC150_ACCEL is not set
-# CONFIG_BMI088_ACCEL is not set
-# CONFIG_DA280 is not set
-# CONFIG_DA311 is not set
-# CONFIG_DMARD06 is not set
-# CONFIG_DMARD09 is not set
-# CONFIG_DMARD10 is not set
-# CONFIG_FXLS8962AF_I2C is not set
-# CONFIG_FXLS8962AF_SPI is not set
-CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
-# CONFIG_IIO_ST_ACCEL_3AXIS is not set
-# CONFIG_KXSD9 is not set
-# CONFIG_KXCJK1013 is not set
-# CONFIG_MC3230 is not set
-# CONFIG_MMA7455_I2C is not set
-# CONFIG_MMA7455_SPI is not set
-# CONFIG_MMA7660 is not set
-# CONFIG_MMA8452 is not set
-# CONFIG_MMA9551 is not set
-# CONFIG_MMA9553 is not set
-# CONFIG_MXC4005 is not set
-# CONFIG_MXC6255 is not set
-# CONFIG_SCA3000 is not set
-# CONFIG_SCA3300 is not set
-# CONFIG_STK8312 is not set
-# CONFIG_STK8BA50 is not set
-# end of Accelerometers
-
-#
-# Analog to digital converters
-#
-# CONFIG_AD7091R5 is not set
-# CONFIG_AD7124 is not set
-# CONFIG_AD7192 is not set
-# CONFIG_AD7266 is not set
-# CONFIG_AD7291 is not set
-# CONFIG_AD7292 is not set
-# CONFIG_AD7298 is not set
-# CONFIG_AD7476 is not set
-# CONFIG_AD7606_IFACE_PARALLEL is not set
-# CONFIG_AD7606_IFACE_SPI is not set
-# CONFIG_AD7766 is not set
-# CONFIG_AD7768_1 is not set
-# CONFIG_AD7780 is not set
-# CONFIG_AD7791 is not set
-# CONFIG_AD7793 is not set
-# CONFIG_AD7887 is not set
-# CONFIG_AD7923 is not set
-# CONFIG_AD7949 is not set
-# CONFIG_AD799X is not set
-# CONFIG_ADI_AXI_ADC is not set
-# CONFIG_CC10001_ADC is not set
-# CONFIG_ENVELOPE_DETECTOR is not set
-# CONFIG_HI8435 is not set
-# CONFIG_HX711 is not set
-# CONFIG_INA2XX_ADC is not set
-# CONFIG_LTC2471 is not set
-# CONFIG_LTC2485 is not set
-# CONFIG_LTC2496 is not set
-# CONFIG_LTC2497 is not set
-# CONFIG_MAX1027 is not set
-# CONFIG_MAX11100 is not set
-# CONFIG_MAX1118 is not set
-# CONFIG_MAX1241 is not set
-# CONFIG_MAX1363 is not set
-# CONFIG_MAX9611 is not set
-# CONFIG_MCP320X is not set
-# CONFIG_MCP3422 is not set
-# CONFIG_MCP3911 is not set
-CONFIG_MEDIATEK_MT6360_ADC=m
-# CONFIG_MEDIATEK_MT6577_AUXADC is not set
-# CONFIG_NAU7802 is not set
-# CONFIG_PALMAS_GPADC is not set
-# CONFIG_QCOM_SPMI_IADC is not set
-# CONFIG_QCOM_SPMI_VADC is not set
-# CONFIG_QCOM_SPMI_ADC5 is not set
-# CONFIG_SD_ADC_MODULATOR is not set
-# CONFIG_TI_ADC081C is not set
-# CONFIG_TI_ADC0832 is not set
-# CONFIG_TI_ADC084S021 is not set
-# CONFIG_TI_ADC12138 is not set
-# CONFIG_TI_ADC108S102 is not set
-# CONFIG_TI_ADC128S052 is not set
-# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
-# CONFIG_TI_ADS7950 is not set
-# CONFIG_TI_ADS8344 is not set
-# CONFIG_TI_ADS8688 is not set
-# CONFIG_TI_ADS124S08 is not set
-# CONFIG_TI_ADS131E08 is not set
-# CONFIG_TI_TLC4541 is not set
-# CONFIG_TI_TSC2046 is not set
-# CONFIG_VF610_ADC is not set
-# CONFIG_XILINX_XADC is not set
-# end of Analog to digital converters
-
-#
-# Analog Front Ends
-#
-# CONFIG_IIO_RESCALE is not set
-# end of Analog Front Ends
-
-#
-# Amplifiers
-#
-# CONFIG_AD8366 is not set
-# CONFIG_HMC425 is not set
-# end of Amplifiers
-
-#
-# Capacitance to digital converters
-#
-# CONFIG_AD7150 is not set
-# end of Capacitance to digital converters
-
-#
-# Chemical Sensors
-#
-# CONFIG_ATLAS_PH_SENSOR is not set
-# CONFIG_ATLAS_EZO_SENSOR is not set
-# CONFIG_BME680 is not set
-# CONFIG_CCS811 is not set
-# CONFIG_IAQCORE is not set
-# CONFIG_SCD30_CORE is not set
-# CONFIG_SCD4X is not set
-# CONFIG_SENSIRION_SGP30 is not set
-# CONFIG_SENSIRION_SGP40 is not set
-# CONFIG_SPS30_I2C is not set
-# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
-# CONFIG_VZ89X is not set
-# end of Chemical Sensors
-
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS=m
-CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m
-
-#
-# Hid Sensor IIO Common
-#
-# end of Hid Sensor IIO Common
-
-#
-# IIO SCMI Sensors
-#
-# CONFIG_IIO_SCMI is not set
-# end of IIO SCMI Sensors
-
-#
-# SSP Sensor Common
-#
-# CONFIG_IIO_SSP_SENSORHUB is not set
-# end of SSP Sensor Common
-
-#
-# Digital to analog converters
-#
-# CONFIG_AD5064 is not set
-# CONFIG_AD5360 is not set
-# CONFIG_AD5380 is not set
-# CONFIG_AD5421 is not set
-# CONFIG_AD5446 is not set
-# CONFIG_AD5449 is not set
-# CONFIG_AD5592R is not set
-# CONFIG_AD5593R is not set
-# CONFIG_AD5504 is not set
-# CONFIG_AD5624R_SPI is not set
-# CONFIG_AD5686_SPI is not set
-# CONFIG_AD5696_I2C is not set
-# CONFIG_AD5755 is not set
-# CONFIG_AD5758 is not set
-# CONFIG_AD5761 is not set
-# CONFIG_AD5764 is not set
-# CONFIG_AD5766 is not set
-# CONFIG_AD5770R is not set
-# CONFIG_AD5791 is not set
-# CONFIG_AD7303 is not set
-# CONFIG_AD8801 is not set
-# CONFIG_DPOT_DAC is not set
-# CONFIG_DS4424 is not set
-# CONFIG_LTC1660 is not set
-# CONFIG_LTC2632 is not set
-# CONFIG_M62332 is not set
-# CONFIG_MAX517 is not set
-# CONFIG_MAX5821 is not set
-# CONFIG_MCP4725 is not set
-# CONFIG_MCP4922 is not set
-# CONFIG_TI_DAC082S085 is not set
-# CONFIG_TI_DAC5571 is not set
-# CONFIG_TI_DAC7311 is not set
-# CONFIG_TI_DAC7612 is not set
-# CONFIG_VF610_DAC is not set
-# end of Digital to analog converters
-
-#
-# IIO dummy driver
-#
-# end of IIO dummy driver
-
-#
-# Frequency Synthesizers DDS/PLL
-#
-
-#
-# Clock Generator/Distribution
-#
-# CONFIG_AD9523 is not set
-# end of Clock Generator/Distribution
-
-#
-# Phase-Locked Loop (PLL) frequency synthesizers
-#
-# CONFIG_ADF4350 is not set
-# CONFIG_ADF4371 is not set
-# CONFIG_ADRF6780 is not set
-# end of Phase-Locked Loop (PLL) frequency synthesizers
-# end of Frequency Synthesizers DDS/PLL
-
-#
-# Digital gyroscope sensors
-#
-# CONFIG_ADIS16080 is not set
-# CONFIG_ADIS16130 is not set
-# CONFIG_ADIS16136 is not set
-# CONFIG_ADIS16260 is not set
-# CONFIG_ADXRS290 is not set
-# CONFIG_ADXRS450 is not set
-# CONFIG_BMG160 is not set
-# CONFIG_FXAS21002C is not set
-# CONFIG_MPU3050_I2C is not set
-# CONFIG_IIO_ST_GYRO_3AXIS is not set
-# CONFIG_ITG3200 is not set
-# end of Digital gyroscope sensors
-
-#
-# Health Sensors
-#
-
-#
-# Heart Rate Monitors
-#
-# CONFIG_AFE4403 is not set
-# CONFIG_AFE4404 is not set
-# CONFIG_MAX30100 is not set
-# CONFIG_MAX30102 is not set
-# end of Heart Rate Monitors
-# end of Health Sensors
-
-#
-# Humidity sensors
-#
-# CONFIG_AM2315 is not set
-# CONFIG_DHT11 is not set
-# CONFIG_HDC100X is not set
-# CONFIG_HDC2010 is not set
-# CONFIG_HTS221 is not set
-# CONFIG_HTU21 is not set
-# CONFIG_SI7005 is not set
-# CONFIG_SI7020 is not set
-# end of Humidity sensors
-
-#
-# Inertial measurement units
-#
-# CONFIG_ADIS16400 is not set
-# CONFIG_ADIS16460 is not set
-# CONFIG_ADIS16475 is not set
-# CONFIG_ADIS16480 is not set
-# CONFIG_BMI160_I2C is not set
-# CONFIG_BMI160_SPI is not set
-# CONFIG_FXOS8700_I2C is not set
-# CONFIG_FXOS8700_SPI is not set
-# CONFIG_KMX61 is not set
-# CONFIG_INV_ICM42600_I2C is not set
-# CONFIG_INV_ICM42600_SPI is not set
-# CONFIG_INV_MPU6050_I2C is not set
-# CONFIG_INV_MPU6050_SPI is not set
-# CONFIG_IIO_ST_LSM6DSX is not set
-# CONFIG_IIO_ST_LSM9DS0 is not set
-# end of Inertial measurement units
-
-#
-# Light sensors
-#
-# CONFIG_ACPI_ALS is not set
-# CONFIG_ADJD_S311 is not set
-# CONFIG_ADUX1020 is not set
-# CONFIG_AL3010 is not set
-# CONFIG_AL3320A is not set
-# CONFIG_APDS9300 is not set
-# CONFIG_APDS9960 is not set
-# CONFIG_AS73211 is not set
-# CONFIG_BH1750 is not set
-# CONFIG_BH1780 is not set
-# CONFIG_CM32181 is not set
-# CONFIG_CM3232 is not set
-# CONFIG_CM3323 is not set
-# CONFIG_CM3605 is not set
-# CONFIG_CM36651 is not set
-CONFIG_IIO_CROS_EC_LIGHT_PROX=m
-# CONFIG_GP2AP002 is not set
-# CONFIG_GP2AP020A00F is not set
-CONFIG_SENSORS_ISL29018=m
-# CONFIG_SENSORS_ISL29028 is not set
-# CONFIG_ISL29125 is not set
-# CONFIG_JSA1212 is not set
-# CONFIG_RPR0521 is not set
-# CONFIG_LTR501 is not set
-# CONFIG_LV0104CS is not set
-# CONFIG_MAX44000 is not set
-# CONFIG_MAX44009 is not set
-# CONFIG_NOA1305 is not set
-# CONFIG_OPT3001 is not set
-# CONFIG_PA12203001 is not set
-# CONFIG_SI1133 is not set
-# CONFIG_SI1145 is not set
-# CONFIG_STK3310 is not set
-# CONFIG_ST_UVIS25 is not set
-# CONFIG_TCS3414 is not set
-# CONFIG_TCS3472 is not set
-CONFIG_SENSORS_TSL2563=m
-CONFIG_TSL2583=m
-# CONFIG_TSL2591 is not set
-# CONFIG_TSL2772 is not set
-# CONFIG_TSL4531 is not set
-# CONFIG_US5182D is not set
-# CONFIG_VCNL4000 is not set
-# CONFIG_VCNL4035 is not set
-# CONFIG_VEML6030 is not set
-# CONFIG_VEML6070 is not set
-# CONFIG_VL6180 is not set
-# CONFIG_ZOPT2201 is not set
-# end of Light sensors
-
-#
-# Magnetometer sensors
-#
-# CONFIG_AK8974 is not set
-# CONFIG_AK8975 is not set
-# CONFIG_AK09911 is not set
-# CONFIG_BMC150_MAGN_I2C is not set
-# CONFIG_BMC150_MAGN_SPI is not set
-# CONFIG_MAG3110 is not set
-# CONFIG_MMC35240 is not set
-# CONFIG_IIO_ST_MAGN_3AXIS is not set
-# CONFIG_SENSORS_HMC5843_I2C is not set
-# CONFIG_SENSORS_HMC5843_SPI is not set
-# CONFIG_SENSORS_RM3100_I2C is not set
-# CONFIG_SENSORS_RM3100_SPI is not set
-# CONFIG_YAMAHA_YAS530 is not set
-# end of Magnetometer sensors
-
-#
-# Multiplexers
-#
-CONFIG_IIO_MUX=m
-# end of Multiplexers
-
-#
-# Inclinometer sensors
-#
-# end of Inclinometer sensors
-
-#
-# Triggers - standalone
-#
-# CONFIG_IIO_INTERRUPT_TRIGGER is not set
-# CONFIG_IIO_SYSFS_TRIGGER is not set
-# end of Triggers - standalone
-
-#
-# Linear and angular position sensors
-#
-# end of Linear and angular position sensors
-
-#
-# Digital potentiometers
-#
-# CONFIG_AD5110 is not set
-# CONFIG_AD5272 is not set
-# CONFIG_DS1803 is not set
-# CONFIG_MAX5432 is not set
-# CONFIG_MAX5481 is not set
-# CONFIG_MAX5487 is not set
-# CONFIG_MCP4018 is not set
-# CONFIG_MCP4131 is not set
-# CONFIG_MCP4531 is not set
-# CONFIG_MCP41010 is not set
-# CONFIG_TPL0102 is not set
-# end of Digital potentiometers
-
-#
-# Digital potentiostats
-#
-# CONFIG_LMP91000 is not set
-# end of Digital potentiostats
-
-#
-# Pressure sensors
-#
-# CONFIG_ABP060MG is not set
-# CONFIG_BMP280 is not set
-CONFIG_IIO_CROS_EC_BARO=m
-# CONFIG_DLHL60D is not set
-# CONFIG_DPS310 is not set
-# CONFIG_HP03 is not set
-# CONFIG_ICP10100 is not set
-# CONFIG_MPL115_I2C is not set
-# CONFIG_MPL115_SPI is not set
-# CONFIG_MPL3115 is not set
-# CONFIG_MS5611 is not set
-# CONFIG_MS5637 is not set
-# CONFIG_IIO_ST_PRESS is not set
-# CONFIG_T5403 is not set
-# CONFIG_HP206C is not set
-# CONFIG_ZPA2326 is not set
-# end of Pressure sensors
-
-#
-# Lightning sensors
-#
-# CONFIG_AS3935 is not set
-# end of Lightning sensors
-
-#
-# Proximity and distance sensors
-#
-# CONFIG_CROS_EC_MKBP_PROXIMITY is not set
-# CONFIG_ISL29501 is not set
-# CONFIG_LIDAR_LITE_V2 is not set
-# CONFIG_MB1232 is not set
-# CONFIG_PING is not set
-# CONFIG_RFD77402 is not set
-# CONFIG_SRF04 is not set
-# CONFIG_SX9310 is not set
-# CONFIG_SX9500 is not set
-# CONFIG_SRF08 is not set
-# CONFIG_VCNL3020 is not set
-# CONFIG_VL53L0X_I2C is not set
-# end of Proximity and distance sensors
-
-#
-# Resolver to digital converters
-#
-# CONFIG_AD2S90 is not set
-# CONFIG_AD2S1200 is not set
-# end of Resolver to digital converters
-
-#
-# Temperature sensors
-#
-# CONFIG_LTC2983 is not set
-# CONFIG_MAXIM_THERMOCOUPLE is not set
-# CONFIG_MLX90614 is not set
-# CONFIG_MLX90632 is not set
-# CONFIG_TMP006 is not set
-# CONFIG_TMP007 is not set
-# CONFIG_TMP117 is not set
-# CONFIG_TSYS01 is not set
-# CONFIG_TSYS02D is not set
-# CONFIG_MAX31856 is not set
-# CONFIG_MAX31865 is not set
-# end of Temperature sensors
-
-CONFIG_PWM=y
-CONFIG_PWM_SYSFS=y
-# CONFIG_PWM_ATMEL_TCB is not set
-CONFIG_PWM_CROS_EC=y
-# CONFIG_PWM_FSL_FTM is not set
-CONFIG_PWM_MTK_DISP=y
-CONFIG_PWM_MEDIATEK=y
-# CONFIG_PWM_PCA9685 is not set
-
-#
-# IRQ chip support
-#
-CONFIG_IRQCHIP=y
-CONFIG_ARM_GIC=y
-CONFIG_ARM_GIC_MAX_NR=1
-CONFIG_ARM_GIC_V3=y
-CONFIG_ARM_GIC_V3_ITS=y
-# CONFIG_AL_FIC is not set
-CONFIG_PARTITION_PERCPU=y
-CONFIG_MST_IRQ=y
-# end of IRQ chip support
-
-# CONFIG_IPACK_BUS is not set
-CONFIG_RESET_CONTROLLER=y
-CONFIG_RESET_SCMI=m
-# CONFIG_RESET_TI_SYSCON is not set
-
-#
-# PHY Subsystem
-#
-CONFIG_GENERIC_PHY=y
-# CONFIG_PHY_XGENE is not set
-# CONFIG_PHY_CAN_TRANSCEIVER is not set
-
-#
-# PHY drivers for Broadcom platforms
-#
-# CONFIG_BCM_KONA_USB2_PHY is not set
-# end of PHY drivers for Broadcom platforms
-
-# CONFIG_PHY_CADENCE_TORRENT is not set
-# CONFIG_PHY_CADENCE_DPHY is not set
-# CONFIG_PHY_CADENCE_SIERRA is not set
-# CONFIG_PHY_CADENCE_SALVO is not set
-# CONFIG_PHY_FSL_IMX8MQ_USB is not set
-# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
-# CONFIG_PHY_PXA_28NM_HSIC is not set
-# CONFIG_PHY_PXA_28NM_USB2 is not set
-CONFIG_PHY_MTK_TPHY=y
-CONFIG_PHY_MTK_UFS=m
-CONFIG_PHY_MTK_XSPHY=m
-CONFIG_PHY_MTK_HDMI=y
-CONFIG_PHY_MTK_MIPI_DSI=y
-# CONFIG_PHY_CPCAP_USB is not set
-# CONFIG_PHY_MAPPHONE_MDM6600 is not set
-# CONFIG_PHY_OCELOT_SERDES is not set
-# CONFIG_PHY_QCOM_USB_HS is not set
-# CONFIG_PHY_QCOM_USB_HSIC is not set
-# CONFIG_PHY_TUSB1210 is not set
-# end of PHY Subsystem
-
-CONFIG_POWERCAP=y
-CONFIG_IDLE_INJECT=y
-# CONFIG_DTPM is not set
-# CONFIG_MCB is not set
-
-#
-# Performance monitor support
-#
-# CONFIG_ARM_CCI_PMU is not set
-# CONFIG_ARM_CCN is not set
-# CONFIG_ARM_CMN is not set
-CONFIG_ARM_PMU=y
-CONFIG_ARM_PMU_ACPI=y
-# CONFIG_ARM_SMMU_V3_PMU is not set
-# CONFIG_ARM_DSU_PMU is not set
-# CONFIG_ARM_SPE_PMU is not set
-# CONFIG_ARM_DMC620_PMU is not set
-# CONFIG_HISI_PMU is not set
-# end of Performance monitor support
-
-CONFIG_RAS=y
-
-#
-# Android
-#
-# CONFIG_ANDROID is not set
-# end of Android
-
-# CONFIG_LIBNVDIMM is not set
-# CONFIG_DAX is not set
-CONFIG_NVMEM=y
-CONFIG_NVMEM_SYSFS=y
-CONFIG_MTK_EFUSE=m
-# CONFIG_NVMEM_SPMI_SDAM is not set
-# CONFIG_NVMEM_RMEM is not set
-
-#
-# HW tracing support
-#
-# CONFIG_STM is not set
-# CONFIG_INTEL_TH is not set
-# end of HW tracing support
-
-# CONFIG_FPGA is not set
-# CONFIG_FSI is not set
-# CONFIG_TEE is not set
-CONFIG_MULTIPLEXER=m
-
-#
-# Multiplexer drivers
-#
-# CONFIG_MUX_ADG792A is not set
-# CONFIG_MUX_ADGS1408 is not set
-# CONFIG_MUX_GPIO is not set
-# CONFIG_MUX_MMIO is not set
-# end of Multiplexer drivers
-
-CONFIG_PM_OPP=y
-# CONFIG_SIOX is not set
-# CONFIG_SLIMBUS is not set
-# CONFIG_INTERCONNECT is not set
-# CONFIG_COUNTER is not set
-# CONFIG_MOST is not set
-# end of Device Drivers
-
-#
-# File systems
-#
-CONFIG_DCACHE_WORD_ACCESS=y
-# CONFIG_VALIDATE_FS_PARSER is not set
-CONFIG_FS_IOMAP=y
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT2=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_XFS_FS=m
-CONFIG_XFS_SUPPORT_V4=y
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_RT=y
-# CONFIG_XFS_ONLINE_SCRUB is not set
-# CONFIG_XFS_WARN is not set
-# CONFIG_XFS_DEBUG is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
-# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-# CONFIG_BTRFS_DEBUG is not set
-# CONFIG_BTRFS_ASSERT is not set
-# CONFIG_BTRFS_FS_REF_VERIFY is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_F2FS_FS=y
-CONFIG_F2FS_STAT_FS=y
-CONFIG_F2FS_FS_XATTR=y
-CONFIG_F2FS_FS_POSIX_ACL=y
-CONFIG_F2FS_FS_SECURITY=y
-# CONFIG_F2FS_CHECK_FS is not set
-# CONFIG_F2FS_FAULT_INJECTION is not set
-CONFIG_F2FS_FS_COMPRESSION=y
-CONFIG_F2FS_FS_LZO=y
-CONFIG_F2FS_FS_LZORLE=y
-CONFIG_F2FS_FS_LZ4=y
-CONFIG_F2FS_FS_LZ4HC=y
-CONFIG_F2FS_FS_ZSTD=y
-CONFIG_F2FS_IOSTAT=y
-# CONFIG_FS_DAX is not set
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_EXPORTFS_BLOCK_OPS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FS_ENCRYPTION=y
-CONFIG_FS_ENCRYPTION_ALGS=y
-CONFIG_FS_VERITY=y
-# CONFIG_FS_VERITY_DEBUG is not set
-CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-CONFIG_QUOTACTL=y
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_AUTOFS_FS is not set
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_VIRTIO_FS=m
-CONFIG_OVERLAY_FS=m
-# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
-CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
-# CONFIG_OVERLAY_FS_INDEX is not set
-# CONFIG_OVERLAY_FS_XINO_AUTO is not set
-# CONFIG_OVERLAY_FS_METACOPY is not set
-
-#
-# Caches
-#
-CONFIG_NETFS_SUPPORT=m
-# CONFIG_NETFS_STATS is not set
-CONFIG_FSCACHE=m
-# CONFIG_FSCACHE_STATS is not set
-# CONFIG_FSCACHE_DEBUG is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# end of Caches
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-# end of CD-ROM/DVD Filesystems
-
-#
-# DOS/FAT/EXFAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-CONFIG_FAT_DEFAULT_UTF8=y
-CONFIG_EXFAT_FS=m
-CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-CONFIG_NTFS3_FS=m
-# CONFIG_NTFS3_64BIT_CLUSTER is not set
-# CONFIG_NTFS3_LZX_XPRESS is not set
-# CONFIG_NTFS3_FS_POSIX_ACL is not set
-# end of DOS/FAT/EXFAT/NT Filesystems
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_PROC_CHILDREN=y
-CONFIG_KERNFS=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_TMPFS_INODE64 is not set
-CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
-# CONFIG_HUGETLBFS is not set
-CONFIG_MEMFD_CREATE=y
-CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
-CONFIG_CONFIGFS_FS=m
-CONFIG_EFIVAR_FS=m
-# end of Pseudo filesystems
-
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ORANGEFS_FS is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-CONFIG_ECRYPT_FS=m
-# CONFIG_ECRYPT_FS_MESSAGING is not set
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_CRAMFS is not set
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_FILE_CACHE=y
-# CONFIG_SQUASHFS_FILE_DIRECT is not set
-CONFIG_SQUASHFS_DECOMP_SINGLE=y
-# CONFIG_SQUASHFS_DECOMP_MULTI is not set
-# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZ4=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-CONFIG_SQUASHFS_ZSTD=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-# CONFIG_VXFS_FS is not set
-CONFIG_MINIX_FS=m
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX6FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_PSTORE=m
-CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
-CONFIG_PSTORE_DEFLATE_COMPRESS=m
-# CONFIG_PSTORE_LZO_COMPRESS is not set
-# CONFIG_PSTORE_LZ4_COMPRESS is not set
-# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
-# CONFIG_PSTORE_842_COMPRESS is not set
-# CONFIG_PSTORE_ZSTD_COMPRESS is not set
-CONFIG_PSTORE_COMPRESS=y
-CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
-CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
-# CONFIG_PSTORE_CONSOLE is not set
-# CONFIG_PSTORE_PMSG is not set
-# CONFIG_PSTORE_RAM is not set
-# CONFIG_PSTORE_BLK is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_EROFS_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=m
-# CONFIG_NFS_V2 is not set
-CONFIG_NFS_V3=m
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=m
-# CONFIG_NFS_SWAP is not set
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_FSCACHE is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-CONFIG_NFS_DISABLE_UDP_SUPPORT=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-# CONFIG_NFSD_BLOCKLAYOUT is not set
-# CONFIG_NFSD_SCSILAYOUT is not set
-# CONFIG_NFSD_FLEXFILELAYOUT is not set
-CONFIG_GRACE_PERIOD=m
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set
-# CONFIG_SUNRPC_DEBUG is not set
-# CONFIG_CEPH_FS is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS2 is not set
-CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
-CONFIG_CIFS_UPCALL=y
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-CONFIG_CIFS_DEBUG=y
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_SWN_UPCALL=y
-CONFIG_CIFS_FSCACHE=y
-CONFIG_SMB_SERVER=m
-CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
-# CONFIG_SMB_SERVER_KERBEROS5 is not set
-CONFIG_SMBFS_COMMON=m
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-CONFIG_NLS_CODEPAGE_850=m
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-CONFIG_NLS_CODEPAGE_866=m
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-CONFIG_NLS_CODEPAGE_1250=m
-CONFIG_NLS_CODEPAGE_1251=m
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-CONFIG_NLS_ISO8859_5=m
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-CONFIG_NLS_KOI8_R=m
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_MAC_ROMAN is not set
-# CONFIG_NLS_MAC_CELTIC is not set
-# CONFIG_NLS_MAC_CENTEURO is not set
-# CONFIG_NLS_MAC_CROATIAN is not set
-# CONFIG_NLS_MAC_CYRILLIC is not set
-# CONFIG_NLS_MAC_GAELIC is not set
-# CONFIG_NLS_MAC_GREEK is not set
-# CONFIG_NLS_MAC_ICELAND is not set
-# CONFIG_NLS_MAC_INUIT is not set
-# CONFIG_NLS_MAC_ROMANIAN is not set
-# CONFIG_NLS_MAC_TURKISH is not set
-CONFIG_NLS_UTF8=m
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-# CONFIG_UNICODE is not set
-CONFIG_IO_WQ=y
-# end of File systems
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_REQUEST_CACHE is not set
-CONFIG_PERSISTENT_KEYRINGS=y
-CONFIG_ENCRYPTED_KEYS=y
-CONFIG_KEY_DH_OPERATIONS=y
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-# CONFIG_SECURITY is not set
-# CONFIG_SECURITYFS is not set
-CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
-# CONFIG_HARDENED_USERCOPY is not set
-# CONFIG_FORTIFY_SOURCE is not set
-# CONFIG_STATIC_USERMODEHELPER is not set
-# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_LSM=""
-
-#
-# Kernel hardening options
-#
-
-#
-# Memory initialization
-#
-CONFIG_INIT_STACK_NONE=y
-CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y
-# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
-CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
-# CONFIG_ZERO_CALL_USED_REGS is not set
-# end of Memory initialization
-# end of Kernel hardening options
-# end of Security options
-
-CONFIG_XOR_BLOCKS=m
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=m
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_SKCIPHER=y
-CONFIG_CRYPTO_SKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_RNG_DEFAULT=y
-CONFIG_CRYPTO_AKCIPHER2=y
-CONFIG_CRYPTO_AKCIPHER=y
-CONFIG_CRYPTO_KPP2=y
-CONFIG_CRYPTO_KPP=y
-CONFIG_CRYPTO_ACOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=m
-CONFIG_CRYPTO_NULL2=y
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_AUTHENC=m
-# CONFIG_CRYPTO_TEST is not set
-CONFIG_CRYPTO_ENGINE=m
-
-#
-# Public-key cryptography
-#
-CONFIG_CRYPTO_RSA=y
-CONFIG_CRYPTO_DH=y
-CONFIG_CRYPTO_ECC=y
-CONFIG_CRYPTO_ECDH=m
-CONFIG_CRYPTO_ECDSA=y
-CONFIG_CRYPTO_ECRDSA=m
-# CONFIG_CRYPTO_SM2 is not set
-CONFIG_CRYPTO_CURVE25519=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
-CONFIG_CRYPTO_CHACHA20POLY1305=m
-# CONFIG_CRYPTO_AEGIS128 is not set
-CONFIG_CRYPTO_SEQIV=m
-CONFIG_CRYPTO_ECHAINIV=m
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-# CONFIG_CRYPTO_CFB is not set
-CONFIG_CRYPTO_CTR=m
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
-# CONFIG_CRYPTO_OFB is not set
-# CONFIG_CRYPTO_PCBC is not set
-CONFIG_CRYPTO_XTS=y
-# CONFIG_CRYPTO_KEYWRAP is not set
-CONFIG_CRYPTO_NHPOLY1305=m
-CONFIG_CRYPTO_ADIANTUM=m
-CONFIG_CRYPTO_ESSIV=m
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32=y
-CONFIG_CRYPTO_XXHASH=m
-CONFIG_CRYPTO_BLAKE2B=m
-CONFIG_CRYPTO_BLAKE2S=m
-CONFIG_CRYPTO_CRCT10DIF=y
-CONFIG_CRYPTO_GHASH=m
-CONFIG_CRYPTO_POLY1305=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_SHA3=m
-CONFIG_CRYPTO_SM3=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_WP512=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_AES_TI is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_BLOWFISH_COMMON=m
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-CONFIG_CRYPTO_CHACHA20=m
-# CONFIG_CRYPTO_SEED is not set
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_SM4=m
-# CONFIG_CRYPTO_TEA is not set
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_LZO=y
-# CONFIG_CRYPTO_842 is not set
-# CONFIG_CRYPTO_LZ4 is not set
-# CONFIG_CRYPTO_LZ4HC is not set
-CONFIG_CRYPTO_ZSTD=y
-
-#
-# Random Number Generation
-#
-# CONFIG_CRYPTO_ANSI_CPRNG is not set
-CONFIG_CRYPTO_DRBG_MENU=y
-CONFIG_CRYPTO_DRBG_HMAC=y
-# CONFIG_CRYPTO_DRBG_HASH is not set
-# CONFIG_CRYPTO_DRBG_CTR is not set
-CONFIG_CRYPTO_DRBG=y
-CONFIG_CRYPTO_JITTERENTROPY=y
-CONFIG_CRYPTO_USER_API=m
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-# CONFIG_CRYPTO_USER_API_RNG is not set
-# CONFIG_CRYPTO_USER_API_AEAD is not set
-CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
-# CONFIG_CRYPTO_STATS is not set
-CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
-CONFIG_CRYPTO_LIB_BLAKE2S=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
-CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
-CONFIG_CRYPTO_LIB_SM4=m
-CONFIG_CRYPTO_HW=y
-# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
-# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
-# CONFIG_CRYPTO_DEV_CCP is not set
-CONFIG_CRYPTO_DEV_VIRTIO=m
-# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
-# CONFIG_CRYPTO_DEV_CCREE is not set
-# CONFIG_CRYPTO_DEV_HISI_SEC is not set
-# CONFIG_CRYPTO_DEV_HISI_TRNG is not set
-# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
-CONFIG_ASYMMETRIC_KEY_TYPE=y
-CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
-CONFIG_X509_CERTIFICATE_PARSER=y
-CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
-CONFIG_PKCS7_MESSAGE_PARSER=y
-# CONFIG_PKCS7_TEST_KEY is not set
-# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
-
-#
-# Certificates for signature checking
-#
-CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
-CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
-# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
-CONFIG_SYSTEM_TRUSTED_KEYS=""
-# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
-# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
-# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
-# end of Certificates for signature checking
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=m
-# CONFIG_RAID6_PQ_BENCHMARK is not set
-CONFIG_LINEAR_RANGES=y
-# CONFIG_PACKING is not set
-CONFIG_BITREVERSE=y
-CONFIG_HAVE_ARCH_BITREVERSE=y
-CONFIG_GENERIC_STRNCPY_FROM_USER=y
-CONFIG_GENERIC_STRNLEN_USER=y
-CONFIG_GENERIC_NET_UTILS=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-# CONFIG_CORDIC is not set
-# CONFIG_PRIME_NUMBERS is not set
-CONFIG_RATIONAL=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
-CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
-CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
-# CONFIG_INDIRECT_PIO is not set
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=m
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_BIT is not set
-# CONFIG_CRC64 is not set
-# CONFIG_CRC4 is not set
-# CONFIG_CRC7 is not set
-CONFIG_LIBCRC32C=y
-CONFIG_CRC8=m
-CONFIG_XXHASH=y
-CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
-# CONFIG_RANDOM32_SELFTEST is not set
-CONFIG_ZLIB_INFLATE=m
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_LZ4_COMPRESS=y
-CONFIG_LZ4HC_COMPRESS=y
-CONFIG_LZ4_DECOMPRESS=y
-CONFIG_ZSTD_COMPRESS=y
-CONFIG_ZSTD_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-# CONFIG_XZ_DEC_MICROLZMA is not set
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_INTERVAL_TREE=y
-CONFIG_ASSOCIATIVE_ARRAY=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_DMA=y
-CONFIG_DMA_OPS=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_DMA_DECLARE_COHERENT=y
-CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
-CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
-CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
-CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
-CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
-CONFIG_SWIOTLB=y
-# CONFIG_DMA_RESTRICTED_POOL is not set
-CONFIG_DMA_NONCOHERENT_MMAP=y
-CONFIG_DMA_COHERENT_POOL=y
-CONFIG_DMA_REMAP=y
-CONFIG_DMA_DIRECT_REMAP=y
-CONFIG_DMA_CMA=y
-# CONFIG_DMA_PERNUMA_CMA is not set
-
-#
-# Default contiguous memory area size:
-#
-CONFIG_CMA_SIZE_MBYTES=16
-CONFIG_CMA_SIZE_SEL_MBYTES=y
-# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
-# CONFIG_CMA_SIZE_SEL_MIN is not set
-# CONFIG_CMA_SIZE_SEL_MAX is not set
-CONFIG_CMA_ALIGNMENT=8
-# CONFIG_DMA_API_DEBUG is not set
-CONFIG_SGL_ALLOC=y
-CONFIG_CPU_RMAP=y
-CONFIG_DQL=y
-CONFIG_GLOB=y
-# CONFIG_GLOB_SELFTEST is not set
-CONFIG_NLATTR=y
-CONFIG_CLZ_TAB=y
-CONFIG_IRQ_POLL=y
-CONFIG_MPILIB=y
-CONFIG_LIBFDT=y
-CONFIG_OID_REGISTRY=y
-CONFIG_UCS2_STRING=y
-CONFIG_HAVE_GENERIC_VDSO=y
-CONFIG_GENERIC_GETTIMEOFDAY=y
-CONFIG_GENERIC_VDSO_TIME_NS=y
-CONFIG_FONT_SUPPORT=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-# CONFIG_FONT_6x10 is not set
-# CONFIG_FONT_10x18 is not set
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-CONFIG_FONT_TER16x32=y
-# CONFIG_FONT_6x8 is not set
-CONFIG_SG_POOL=y
-CONFIG_ARCH_STACKWALK=y
-CONFIG_SBITMAP=y
-# end of Library routines
-
-CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
-
-#
-# Kernel hacking
-#
-
-#
-# printk and dmesg options
-#
-CONFIG_PRINTK_TIME=y
-# CONFIG_PRINTK_CALLER is not set
-# CONFIG_STACKTRACE_BUILD_ID is not set
-CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
-CONFIG_CONSOLE_LOGLEVEL_QUIET=4
-CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DYNAMIC_DEBUG_CORE is not set
-CONFIG_SYMBOLIC_ERRNAME=y
-CONFIG_DEBUG_BUGVERBOSE=y
-# end of printk and dmesg options
-
-#
-# Compile-time checks and compiler options
-#
-CONFIG_FRAME_WARN=2048
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_HEADERS_INSTALL is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_SECTION_MISMATCH_WARN_ONLY=y
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# end of Compile-time checks and compiler options
-
-#
-# Generic Kernel Debugging Instruments
-#
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_DEBUG_FS is not set
-CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
-# CONFIG_UBSAN is not set
-CONFIG_HAVE_KCSAN_COMPILER=y
-# end of Generic Kernel Debugging Instruments
-
-# CONFIG_DEBUG_KERNEL is not set
-
-#
-# Memory Debugging
-#
-# CONFIG_PAGE_EXTENSION is not set
-# CONFIG_PAGE_POISONING is not set
-# CONFIG_DEBUG_RODATA_TEST is not set
-CONFIG_ARCH_HAS_DEBUG_WX=y
-# CONFIG_DEBUG_WX is not set
-CONFIG_GENERIC_PTDUMP=y
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
-# CONFIG_DEBUG_VM_PGTABLE is not set
-CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
-CONFIG_DEBUG_MEMORY_INIT=y
-CONFIG_HAVE_ARCH_KASAN=y
-CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
-CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
-CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
-CONFIG_CC_HAS_KASAN_GENERIC=y
-CONFIG_CC_HAS_KASAN_SW_TAGS=y
-CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
-# CONFIG_KASAN is not set
-CONFIG_HAVE_ARCH_KFENCE=y
-# CONFIG_KFENCE is not set
-# end of Memory Debugging
-
-#
-# Debug Oops, Lockups and Hangs
-#
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_ON_OOPS_VALUE=0
-CONFIG_PANIC_TIMEOUT=30
-# CONFIG_TEST_LOCKUP is not set
-# end of Debug Oops, Lockups and Hangs
-
-#
-# Scheduler Debugging
-#
-CONFIG_SCHED_INFO=y
-# end of Scheduler Debugging
-
-# CONFIG_DEBUG_TIMEKEEPING is not set
-
-#
-# Lock Debugging (spinlocks, mutexes, etc...)
-#
-CONFIG_LOCK_DEBUGGING_SUPPORT=y
-# CONFIG_WW_MUTEX_SELFTEST is not set
-# end of Lock Debugging (spinlocks, mutexes, etc...)
-
-# CONFIG_DEBUG_IRQFLAGS is not set
-# CONFIG_STACKTRACE is not set
-# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
-
-#
-# Debug kernel data structures
-#
-# CONFIG_BUG_ON_DATA_CORRUPTION is not set
-# end of Debug kernel data structures
-
-#
-# RCU Debugging
-#
-CONFIG_RCU_CPU_STALL_TIMEOUT=21
-# end of RCU Debugging
-
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_SAMPLES is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_IO_STRICT_DEVMEM=y
-
-#
-# arm64 Debugging
-#
-# CONFIG_PID_IN_CONTEXTIDR is not set
-# CONFIG_ARM64_RELOC_TEST is not set
-# CONFIG_CORESIGHT is not set
-# end of arm64 Debugging
-
-#
-# Kernel Testing and Coverage
-#
-# CONFIG_KUNIT is not set
-CONFIG_ARCH_HAS_KCOV=y
-CONFIG_CC_HAS_SANCOV_TRACE_PC=y
-# CONFIG_KCOV is not set
-# CONFIG_RUNTIME_TESTING_MENU is not set
-CONFIG_ARCH_USE_MEMTEST=y
-# CONFIG_MEMTEST is not set
-# end of Kernel Testing and Coverage
-# end of Kernel hacking
diff --git a/testing/linux-elm/fix-mmc1-speed.patch b/testing/linux-elm/fix-mmc1-speed.patch
deleted file mode 100644
index 35e6829ed74..00000000000
--- a/testing/linux-elm/fix-mmc1-speed.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-cut max-frequency to half because at full speed mmc is buggy
-
---- a/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi 2020-12-28 21:22:16.614538427 +0000
-+++ b/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi 2020-12-28 21:23:59.702157398 +0000
-@@ -381,7 +381,7 @@
- pinctrl-0 = <&mmc1_pins_default>;
- pinctrl-1 = <&mmc1_pins_uhs>;
- bus-width = <4>;
-- max-frequency = <200000000>;
-+ max-frequency = <100000000>;
- cap-sd-highspeed;
- sd-uhs-sdr50;
- sd-uhs-sdr104;
diff --git a/testing/linux-elm/fix-spi-nor-max-frequency.patch b/testing/linux-elm/fix-spi-nor-max-frequency.patch
deleted file mode 100644
index 59af4985e6e..00000000000
--- a/testing/linux-elm/fix-spi-nor-max-frequency.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi 2021-01-03 10:20:26.482347785 +0000
-+++ b/arch/arm64/boot/dts/mediatek/mt8173-elm.dtsi 2021-01-03 11:36:43.321775391 +0000
-@@ -437,7 +437,7 @@
- flash@0 {
- compatible = "jedec,spi-nor";
- reg = <0>;
-- spi-max-frequency = <50000000>;
-+ spi-max-frequency = <109200000>;
- };
- };
-
diff --git a/testing/linux-elm/mps-ter12x24-font-kernel.patch b/testing/linux-elm/mps-ter12x24-font-kernel.patch
new file mode 100644
index 00000000000..8a91c0fbf10
--- /dev/null
+++ b/testing/linux-elm/mps-ter12x24-font-kernel.patch
@@ -0,0 +1,1659 @@
+From 49c48a7bbc4c0f434870d2defb6b1d9c6c4f9a21 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Milan=20P=2E=20Stani=C4=87?= <mps@arvanta.net>
+Date: Sat, 15 Jan 2022 21:29:51 +0100
+Subject: [PATCH] add 12x24 bold terminus fonts
+
+---
+ include/linux/font.h | 2 +
+ lib/fonts/Kconfig | 10 +
+ lib/fonts/Makefile | 1 +
+ lib/fonts/font_ter12x24.c | 1562 +++++++++++++++++++++++++++++++++++++
+ lib/fonts/fonts.c | 3 +
+ 5 files changed, 1578 insertions(+)
+ create mode 100644 lib/fonts/font_ter12x24.c
+
+diff --git a/include/linux/font.h b/include/linux/font.h
+index abf1442ce719..e1e1c4000231 100644
+--- a/include/linux/font.h
++++ b/include/linux/font.h
+@@ -35,6 +35,7 @@ struct font_desc {
+ #define FONT6x10_IDX 10
+ #define TER16x32_IDX 11
+ #define FONT6x8_IDX 12
++#define TER12x24_IDX 13
+
+ extern const struct font_desc font_vga_8x8,
+ font_vga_8x16,
+@@ -48,6 +49,7 @@ extern const struct font_desc font_vga_8x8,
+ font_mini_4x6,
+ font_6x10,
+ font_ter_16x32,
++ font_ter_12x24,
+ font_6x8;
+
+ /* Find a font with a specific name */
+diff --git a/lib/fonts/Kconfig b/lib/fonts/Kconfig
+index c035fde66aeb..ff0f701d2ec1 100644
+--- a/lib/fonts/Kconfig
++++ b/lib/fonts/Kconfig
+@@ -110,6 +110,15 @@ config FONT_SUN12x22
+ big letters (like the letters used in the SPARC PROM). If the
+ standard font is unreadable for you, say Y, otherwise say N.
+
++config FONT_TER12x24
++ bool "Terminus 12x24 bold font (not supported by all drivers)"
++ depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC)
++ help
++ Terminus Font is a clean, fixed width bitmap font, designed
++ for long (8 and more hours per day) work with computers.
++ This is the high resolution, large version for use with HiDPI screens.
++ If the standard font is unreadable for you, say Y, otherwise say N.
++
+ config FONT_TER16x32
+ bool "Terminus 16x32 font (not supported by all drivers)"
+ depends on FRAMEBUFFER_CONSOLE && (!SPARC && FONTS || SPARC)
+@@ -138,6 +147,7 @@ config FONT_AUTOSELECT
+ depends on !FONT_SUN12x22
+ depends on !FONT_10x18
+ depends on !FONT_TER16x32
++ depends on !FONT_TER12x24
+ depends on !FONT_6x8
+ select FONT_8x16
+
+diff --git a/lib/fonts/Makefile b/lib/fonts/Makefile
+index e16f68492174..d26b9f64a09c 100644
+--- a/lib/fonts/Makefile
++++ b/lib/fonts/Makefile
+@@ -15,6 +15,7 @@ font-objs-$(CONFIG_FONT_ACORN_8x8) += font_acorn_8x8.o
+ font-objs-$(CONFIG_FONT_MINI_4x6) += font_mini_4x6.o
+ font-objs-$(CONFIG_FONT_6x10) += font_6x10.o
+ font-objs-$(CONFIG_FONT_TER16x32) += font_ter16x32.o
++font-objs-$(CONFIG_FONT_TER12x24) += font_ter12x24.o
+ font-objs-$(CONFIG_FONT_6x8) += font_6x8.o
+
+ font-objs += $(font-objs-y)
+diff --git a/lib/fonts/font_ter12x24.c b/lib/fonts/font_ter12x24.c
+new file mode 100644
+index 000000000000..5b50e83a766c
+--- /dev/null
++++ b/lib/fonts/font_ter12x24.c
+@@ -0,0 +1,1562 @@
++// SPDX-License-Identifier: GPL-2.0
++#include <linux/font.h>
++#include <linux/module.h>
++
++#define FONTDATAMAX 16384
++
++static const struct font_data fontdata_ter12x24 = {
++ { 0, 0, FONTDATAMAX, 0 }, {
++
++
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x0f, 0x00, 0x19, 0x80, 0x30, 0xc0, 0x30, 0x00,
++ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x7f, 0x00,
++ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
++ 0x30, 0x60, 0x30, 0x60, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x66, 0x60, 0x36, 0xc0,
++ 0x1f, 0x80, 0x0f, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 1 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0xf0,
++ 0x03, 0xf0, 0x0f, 0xf0, 0x3f, 0xf0, 0xff, 0xf0,
++ 0xff, 0xf0, 0x3f, 0xf0, 0x0f, 0xf0, 0x03, 0xf0,
++ 0x00, 0xf0, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 2 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xf0, 0x00,
++ 0xfc, 0x00, 0xff, 0x00, 0xff, 0xc0, 0xff, 0xf0,
++ 0xff, 0xf0, 0xff, 0xc0, 0xff, 0x00, 0xfc, 0x00,
++ 0xf0, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 3 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x0f, 0x00, 0x1f, 0x80, 0x36, 0xc0,
++ 0x66, 0x60, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 4 */
++ 0xaa, 0xa0, 0x00, 0x00, 0xaa, 0xa0, 0x00, 0x00,
++ 0xaa, 0xa0, 0x00, 0x00, 0xaa, 0xa0, 0x00, 0x00,
++ 0xaa, 0xa0, 0x00, 0x00, 0xaa, 0xa0, 0x00, 0x00,
++ 0xaa, 0xa0, 0x00, 0x00, 0xaa, 0xa0, 0x00, 0x00,
++ 0xaa, 0xa0, 0x00, 0x00, 0xaa, 0xa0, 0x00, 0x00,
++ 0xaa, 0xa0, 0x00, 0x00, 0xaa, 0xa0, 0x00, 0x00, /* 5 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0,
++ 0x3f, 0xc0, 0x3f, 0xc0, 0x3f, 0xc0, 0x3f, 0xc0,
++ 0x3f, 0xc0, 0x3f, 0xc0, 0x3f, 0xc0, 0x3f, 0xc0,
++ 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 6 */
++ 0xaa, 0xa0, 0x55, 0x50, 0xaa, 0xa0, 0x55, 0x50,
++ 0xaa, 0xa0, 0x55, 0x50, 0xaa, 0xa0, 0x55, 0x50,
++ 0xaa, 0xa0, 0x55, 0x50, 0xaa, 0xa0, 0x55, 0x50,
++ 0xaa, 0xa0, 0x55, 0x50, 0xaa, 0xa0, 0x55, 0x50,
++ 0xaa, 0xa0, 0x55, 0x50, 0xaa, 0xa0, 0x55, 0x50,
++ 0xaa, 0xa0, 0x55, 0x50, 0xaa, 0xa0, 0x55, 0x50, /* 7 */
++ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x31, 0x80,
++ 0x31, 0x80, 0x31, 0x80, 0x31, 0x80, 0x1f, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 8 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x00,
++ 0x1f, 0x80, 0x3f, 0xc0, 0x7f, 0xe0, 0xff, 0xf0,
++ 0xff, 0xf0, 0x7f, 0xe0, 0x3f, 0xc0, 0x1f, 0x80,
++ 0x0f, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 9 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00,
++ 0x03, 0x00, 0x01, 0x80, 0x00, 0xc0, 0x01, 0x80,
++ 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x18, 0x00,
++ 0x30, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 10 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 11 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
++ 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 12 */
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80,
++ 0x19, 0x80, 0xf9, 0xf0, 0xf9, 0xf0, 0x00, 0x00,
++ 0x00, 0x00, 0xf9, 0xf0, 0xf9, 0xf0, 0x19, 0x80,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, /* 13 */
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0xf0,
++ 0xff, 0xf0, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, /* 14 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00,
++ 0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x18, 0x00,
++ 0x0c, 0x00, 0x06, 0x00, 0x03, 0x00, 0x01, 0x80,
++ 0x00, 0xc0, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 15 */
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x07, 0xf0,
++ 0x07, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 16 */
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0xfe, 0x00,
++ 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 17 */
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0xff, 0xf0, 0xff, 0xf0, 0x06, 0x00,
++ 0x06, 0x00, 0xff, 0xf0, 0xff, 0xf0, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, /* 18 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x7f, 0xe0,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 19 */
++ 0xff, 0xf0, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 20 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xff, 0xf0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 21 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0xff, 0xf0, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 22 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0, 0xff, 0xf0, /* 23 */
++ 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0,
++ 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0,
++ 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0,
++ 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0,
++ 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0,
++ 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0, 0xff, 0xf0, /* 24 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xf0,
++ 0xff, 0xf0, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, /* 25 */
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0xfe, 0x00,
++ 0xfe, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, /* 26 */
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x07, 0xf0,
++ 0x07, 0xf0, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, /* 27 */
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0xff, 0xf0,
++ 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 28 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xf0,
++ 0x07, 0xf0, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, /* 29 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00,
++ 0xfe, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, /* 30 */
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, /* 31 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 32 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 33 */
++ 0x00, 0x00, 0x00, 0x00, 0x19, 0x80, 0x19, 0x80,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 34 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80,
++ 0x7f, 0xe0, 0x19, 0x80, 0x19, 0x80, 0x19, 0x80,
++ 0x19, 0x80, 0x19, 0x80, 0x7f, 0xe0, 0x19, 0x80,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 35 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x1f, 0x80, 0x36, 0xc0, 0x66, 0x60,
++ 0x66, 0x00, 0x66, 0x00, 0x36, 0x00, 0x1f, 0x80,
++ 0x06, 0xc0, 0x06, 0x60, 0x06, 0x60, 0x66, 0x60,
++ 0x36, 0xc0, 0x1f, 0x80, 0x06, 0x00, 0x06, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 36 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x38, 0xc0, 0x6c, 0xc0, 0x6d, 0x80,
++ 0x39, 0x80, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x19, 0xc0,
++ 0x1b, 0x60, 0x33, 0x60, 0x31, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 37 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x0e, 0x00, 0x1b, 0x00, 0x31, 0x80, 0x31, 0x80,
++ 0x31, 0x80, 0x1b, 0x00, 0x0e, 0x00, 0x1e, 0x60,
++ 0x33, 0x60, 0x61, 0xc0, 0x60, 0xc0, 0x60, 0xc0,
++ 0x61, 0xc0, 0x33, 0x60, 0x1e, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 38 */
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 39 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x0c, 0x00,
++ 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00,
++ 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x0c, 0x00,
++ 0x0c, 0x00, 0x06, 0x00, 0x03, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 40 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00,
++ 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x0c, 0x00, 0x18, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 41 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xc0,
++ 0x31, 0x80, 0x1b, 0x00, 0x0e, 0x00, 0xff, 0xe0,
++ 0x0e, 0x00, 0x1b, 0x00, 0x31, 0x80, 0x60, 0xc0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 42 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x7f, 0xe0,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 43 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 44 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 45 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 46 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0x80,
++ 0x01, 0x80, 0x03, 0x00, 0x03, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x18, 0x00,
++ 0x18, 0x00, 0x30, 0x00, 0x30, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 47 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0xe0, 0x61, 0xe0, 0x63, 0x60, 0x66, 0x60,
++ 0x6c, 0x60, 0x78, 0x60, 0x70, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 48 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x36, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x3f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 49 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x00, 0x60, 0x00, 0xc0, 0x01, 0x80,
++ 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x18, 0x00,
++ 0x30, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 50 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x00, 0x60,
++ 0x00, 0x60, 0x00, 0x60, 0x00, 0xc0, 0x0f, 0x80,
++ 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 51 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x60, 0x00, 0xe0, 0x01, 0xe0, 0x03, 0x60,
++ 0x06, 0x60, 0x0c, 0x60, 0x18, 0x60, 0x30, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0,
++ 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 52 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80, 0x00, 0xc0,
++ 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 53 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0xc0, 0x30, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80, 0x60, 0xc0,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 54 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x00, 0x60,
++ 0x00, 0xc0, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x80,
++ 0x03, 0x00, 0x03, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 55 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80,
++ 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 56 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x30, 0x60,
++ 0x1f, 0xe0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
++ 0x00, 0x60, 0x00, 0xc0, 0x3f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 57 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 58 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 59 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00,
++ 0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00,
++ 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00,
++ 0x03, 0x00, 0x01, 0x80, 0x00, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 60 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 61 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00,
++ 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0xc0,
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00,
++ 0x18, 0x00, 0x30, 0x00, 0x60, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 62 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x00, 0xc0, 0x01, 0x80, 0x03, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 63 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x3f, 0x80, 0x60, 0xc0, 0xc0, 0x60, 0xc3, 0xe0,
++ 0xc6, 0x60, 0xcc, 0x60, 0xcc, 0x60, 0xcc, 0x60,
++ 0xcc, 0x60, 0xcc, 0x60, 0xc6, 0x60, 0xc3, 0xe0,
++ 0xc0, 0x00, 0x60, 0x00, 0x3f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 64 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 65 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80, 0x60, 0xc0,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 66 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 67 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 68 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 69 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 70 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x63, 0xe0,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 71 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 72 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 73 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x03, 0xf0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0,
++ 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0,
++ 0x00, 0xc0, 0x00, 0xc0, 0x60, 0xc0, 0x60, 0xc0,
++ 0x60, 0xc0, 0x31, 0x80, 0x1f, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 74 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0xc0, 0x61, 0x80, 0x63, 0x00,
++ 0x66, 0x00, 0x6c, 0x00, 0x78, 0x00, 0x70, 0x00,
++ 0x78, 0x00, 0x6c, 0x00, 0x66, 0x00, 0x63, 0x00,
++ 0x61, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 75 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 76 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x80, 0x20, 0xc0, 0x60, 0xe0, 0xe0, 0xf1, 0xe0,
++ 0xdb, 0x60, 0xce, 0x60, 0xc4, 0x60, 0xc0, 0x60,
++ 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60,
++ 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 77 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x70, 0x60, 0x78, 0x60, 0x6c, 0x60, 0x66, 0x60,
++ 0x63, 0x60, 0x61, 0xe0, 0x60, 0xe0, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 78 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 79 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 80 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x66, 0x60, 0x33, 0xc0, 0x1f, 0x80, 0x00, 0xc0,
++ 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 81 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80,
++ 0x78, 0x00, 0x6c, 0x00, 0x66, 0x00, 0x63, 0x00,
++ 0x61, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 82 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 0x1f, 0x80,
++ 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 83 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 84 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 85 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0, 0x30, 0xc0,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00,
++ 0x0f, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 86 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60,
++ 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60,
++ 0xc4, 0x60, 0xce, 0x60, 0xdb, 0x60, 0xf1, 0xe0,
++ 0xe0, 0xe0, 0xc0, 0x60, 0x80, 0x20, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 87 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x30, 0xc0,
++ 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00, 0x06, 0x00,
++ 0x0f, 0x00, 0x19, 0x80, 0x19, 0x80, 0x30, 0xc0,
++ 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 88 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x30, 0xc0,
++ 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00, 0x0f, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 89 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
++ 0x00, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00,
++ 0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 90 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00,
++ 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00,
++ 0x18, 0x00, 0x18, 0x00, 0x18, 0x00, 0x18, 0x00,
++ 0x18, 0x00, 0x18, 0x00, 0x1f, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 91 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x30, 0x00, 0x30, 0x00, 0x18, 0x00,
++ 0x18, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x03, 0x00, 0x03, 0x00, 0x01, 0x80,
++ 0x01, 0x80, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 92 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00,
++ 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00,
++ 0x03, 0x00, 0x03, 0x00, 0x03, 0x00, 0x03, 0x00,
++ 0x03, 0x00, 0x03, 0x00, 0x1f, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 93 */
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0f, 0x00,
++ 0x19, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 94 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 95 */
++ 0x00, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 96 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x3f, 0x80, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 97 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 98 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 99 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 100 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x30, 0x60, 0x1f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 101 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x03, 0xe0, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x3f, 0xc0, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 102 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xe0, 0x1f, 0xe0, 0x00, 0x60,
++ 0x00, 0x60, 0x00, 0xc0, 0x3f, 0x80, 0x00, 0x00, /* 103 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 104 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 105 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0x00,
++ 0x03, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0,
++ 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0,
++ 0x00, 0xc0, 0x00, 0xc0, 0x00, 0xc0, 0x30, 0xc0,
++ 0x30, 0xc0, 0x19, 0x80, 0x0f, 0x00, 0x00, 0x00, /* 106 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
++ 0x30, 0x60, 0x30, 0xc0, 0x31, 0x80, 0x33, 0x00,
++ 0x36, 0x00, 0x3c, 0x00, 0x36, 0x00, 0x33, 0x00,
++ 0x31, 0x80, 0x30, 0xc0, 0x30, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 107 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 108 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0x80, 0x66, 0xc0, 0x66, 0x60, 0x66, 0x60,
++ 0x66, 0x60, 0x66, 0x60, 0x66, 0x60, 0x66, 0x60,
++ 0x66, 0x60, 0x66, 0x60, 0x66, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 109 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 110 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 111 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, /* 112 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x60,
++ 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, /* 113 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x67, 0xe0, 0x6c, 0x00, 0x78, 0x00, 0x70, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 114 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x3f, 0xc0, 0x60, 0x60, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x3f, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x00, 0x60, 0x60, 0x60, 0x3f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 115 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
++ 0x7f, 0x80, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
++ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
++ 0x0c, 0x00, 0x0c, 0x00, 0x07, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 116 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 117 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0,
++ 0x30, 0xc0, 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00,
++ 0x0f, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 118 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x66, 0x60, 0x66, 0x60, 0x66, 0x60, 0x66, 0x60,
++ 0x66, 0x60, 0x66, 0x60, 0x3f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 119 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x19, 0x80,
++ 0x0f, 0x00, 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80,
++ 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 120 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xe0, 0x1f, 0xe0, 0x00, 0x60,
++ 0x00, 0x60, 0x00, 0xc0, 0x3f, 0x80, 0x00, 0x00, /* 121 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x00, 0x60, 0x00, 0xc0, 0x01, 0x80,
++ 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x18, 0x00,
++ 0x30, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 122 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x03, 0x80, 0x06, 0x00, 0x0c, 0x00, 0x0c, 0x00,
++ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x38, 0x00,
++ 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00,
++ 0x0c, 0x00, 0x06, 0x00, 0x03, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 123 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 124 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x38, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x03, 0x80,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x0c, 0x00, 0x38, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 125 */
++ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x60, 0x66, 0x60,
++ 0x66, 0x60, 0x63, 0xc0, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 126 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x0f, 0x00, 0x19, 0x80, 0x30, 0xc0, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 127 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x0f, 0x80, 0x18, 0xc0, 0x30, 0x60,
++ 0x60, 0x00, 0x60, 0x00, 0xff, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0xff, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x30, 0x60, 0x18, 0xc0, 0x0f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 128 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 129 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 130 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x03, 0xc0, 0x06, 0x60, 0x06, 0x60, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x3f, 0xc0, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x66, 0x00, 0x66, 0x00, 0x3c, 0x00, 0x00, 0x00, /* 131 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xc0,
++ 0x0c, 0xc0, 0x0c, 0xc0, 0x0c, 0xc0, 0x19, 0x80,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 132 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x66, 0x60, 0x66, 0x60, 0x66, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 133 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x7f, 0xe0,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 134 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x7f, 0xe0,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x7f, 0xe0,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 135 */
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 136 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x73, 0x00, 0xdb, 0x00, 0xde, 0x00,
++ 0x76, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x18, 0x00,
++ 0x18, 0x00, 0x30, 0x00, 0x30, 0x00, 0x6e, 0xe0,
++ 0x7b, 0xb0, 0xdb, 0xb0, 0xce, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 137 */
++ 0x19, 0x80, 0x0f, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x30, 0x00, 0x1f, 0x80,
++ 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 138 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00,
++ 0x18, 0x00, 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00,
++ 0x06, 0x00, 0x03, 0x00, 0x01, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 139 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x3f, 0xf0, 0x63, 0x00, 0xc3, 0x00, 0xc3, 0x00,
++ 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0xf0,
++ 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00,
++ 0xc3, 0x00, 0x63, 0x00, 0x3f, 0xf0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 140 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 141 */
++ 0x19, 0x80, 0x0f, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60,
++ 0x00, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00,
++ 0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 142 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 143 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 144 */
++ 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 145 */
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 146 */
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x60, 0x0c, 0xc0,
++ 0x0c, 0xc0, 0x0c, 0xc0, 0x0c, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 147 */
++ 0x00, 0x00, 0x00, 0x00, 0x19, 0x80, 0x19, 0x80,
++ 0x19, 0x80, 0x19, 0x80, 0x33, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 148 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x0f, 0x00, 0x1f, 0x80, 0x1f, 0x80,
++ 0x1f, 0x80, 0x1f, 0x80, 0x0f, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 149 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 150 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xe0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 151 */
++ 0x1c, 0xc0, 0x36, 0xc0, 0x33, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 152 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0xfd, 0x10, 0x31, 0xb0, 0x31, 0xf0, 0x31, 0xb0,
++ 0x31, 0xb0, 0x31, 0xb0, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 153 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x0f, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x3f, 0xc0, 0x60, 0x60, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x3f, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x00, 0x60, 0x60, 0x60, 0x3f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 154 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x30, 0x00, 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00,
++ 0x03, 0x00, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00,
++ 0x0c, 0x00, 0x18, 0x00, 0x30, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 155 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x3f, 0xc0, 0x66, 0x60, 0xc6, 0x30, 0xc6, 0x30,
++ 0xc6, 0x30, 0xc7, 0xf0, 0xc6, 0x00, 0xc6, 0x00,
++ 0xc6, 0x00, 0x66, 0x30, 0x3f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 156 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 157 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x0f, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x00, 0x60, 0x00, 0xc0, 0x01, 0x80,
++ 0x03, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x18, 0x00,
++ 0x30, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 158 */
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x30, 0xc0,
++ 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00, 0x0f, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 159 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 160 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 161 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x1f, 0x80, 0x36, 0xc0, 0x66, 0x60, 0x66, 0x00,
++ 0x66, 0x00, 0x66, 0x00, 0x66, 0x00, 0x66, 0x00,
++ 0x66, 0x60, 0x36, 0xc0, 0x1f, 0x80, 0x06, 0x00,
++ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 162 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x0f, 0x00, 0x19, 0x80, 0x30, 0xc0, 0x30, 0x00,
++ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x7f, 0x00,
++ 0x30, 0x00, 0x30, 0x00, 0x30, 0x00, 0x30, 0x00,
++ 0x30, 0x60, 0x30, 0x60, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 163 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0xc0, 0x60, 0x60, 0xc0,
++ 0x3f, 0x80, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0,
++ 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x3f, 0x80,
++ 0x60, 0xc0, 0xc0, 0x60, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 164 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x30, 0xc0,
++ 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x3f, 0xc0, 0x06, 0x00, 0x06, 0x00,
++ 0x3f, 0xc0, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 165 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 166 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00,
++ 0x31, 0x80, 0x30, 0x00, 0x30, 0x00, 0x1e, 0x00,
++ 0x33, 0x00, 0x31, 0x80, 0x31, 0x80, 0x31, 0x80,
++ 0x31, 0x80, 0x19, 0x80, 0x0f, 0x00, 0x01, 0x80,
++ 0x01, 0x80, 0x31, 0x80, 0x1f, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 167 */
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 168 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x80, 0x40, 0x40,
++ 0x9f, 0x20, 0xb1, 0xa0, 0xb1, 0xa0, 0xb0, 0x20,
++ 0xb0, 0x20, 0xb1, 0xa0, 0xb1, 0xa0, 0x9f, 0x20,
++ 0x40, 0x40, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 169 */
++ 0x00, 0x00, 0x3f, 0x80, 0x00, 0xc0, 0x00, 0xc0,
++ 0x3f, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0,
++ 0x60, 0xc0, 0x3f, 0xc0, 0x00, 0x00, 0x7f, 0xc0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 170 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x60, 0x0c, 0xc0, 0x19, 0x80, 0x33, 0x00,
++ 0x66, 0x00, 0xcc, 0x00, 0x66, 0x00, 0x33, 0x00,
++ 0x19, 0x80, 0x0c, 0xc0, 0x06, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 171 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x60, 0x00, 0x60,
++ 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 172 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xc0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 173 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x3f, 0x80, 0x40, 0x40,
++ 0xbf, 0x20, 0xb1, 0xa0, 0xb1, 0xa0, 0xb1, 0xa0,
++ 0xbf, 0x20, 0xb6, 0x20, 0xb3, 0x20, 0xb1, 0xa0,
++ 0x40, 0x40, 0x3f, 0x80, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 174 */
++ 0x00, 0x00, 0x3f, 0xc0, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 175 */
++ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x31, 0x80,
++ 0x31, 0x80, 0x31, 0x80, 0x31, 0x80, 0x1f, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 176 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x7f, 0xe0,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 177 */
++ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x31, 0x80,
++ 0x31, 0x80, 0x01, 0x80, 0x03, 0x00, 0x06, 0x00,
++ 0x0c, 0x00, 0x18, 0x00, 0x3f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 178 */
++ 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x31, 0x80,
++ 0x01, 0x80, 0x01, 0x80, 0x0f, 0x00, 0x01, 0x80,
++ 0x01, 0x80, 0x31, 0x80, 0x1f, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 179 */
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 180 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0xe0, 0x61, 0xe0, 0x7f, 0x60, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, /* 181 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x3f, 0xe0, 0x66, 0x60, 0x66, 0x60, 0x66, 0x60,
++ 0x66, 0x60, 0x66, 0x60, 0x66, 0x60, 0x3e, 0x60,
++ 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x06, 0x60,
++ 0x06, 0x60, 0x06, 0x60, 0x06, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 182 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 183 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 184 */
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x0e, 0x00,
++ 0x1e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 185 */
++ 0x00, 0x00, 0x1f, 0x00, 0x31, 0x80, 0x60, 0xc0,
++ 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0, 0x60, 0xc0,
++ 0x31, 0x80, 0x1f, 0x00, 0x00, 0x00, 0x7f, 0xc0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 186 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0xcc, 0x00, 0x66, 0x00, 0x33, 0x00, 0x19, 0x80,
++ 0x0c, 0xc0, 0x06, 0x60, 0x0c, 0xc0, 0x19, 0x80,
++ 0x33, 0x00, 0x66, 0x00, 0xcc, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 187 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
++ 0x1c, 0x00, 0x3c, 0x00, 0x0c, 0x00, 0x0c, 0x20,
++ 0x0c, 0x60, 0x0c, 0xc0, 0x01, 0x80, 0x03, 0x00,
++ 0x06, 0x60, 0x0c, 0xe0, 0x19, 0xe0, 0x33, 0x60,
++ 0x66, 0x60, 0x47, 0xe0, 0x00, 0x60, 0x00, 0x60,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 188 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00,
++ 0x1c, 0x00, 0x3c, 0x00, 0x0c, 0x20, 0x0c, 0x60,
++ 0x0c, 0xc0, 0x0d, 0x80, 0x03, 0x00, 0x06, 0x00,
++ 0x0c, 0x00, 0x1b, 0xc0, 0x36, 0x60, 0x66, 0x60,
++ 0x40, 0xc0, 0x01, 0x80, 0x03, 0x00, 0x07, 0xe0,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 189 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00,
++ 0x66, 0x00, 0x06, 0x00, 0x1c, 0x00, 0x06, 0x20,
++ 0x66, 0x60, 0x3c, 0xc0, 0x01, 0x80, 0x03, 0x00,
++ 0x06, 0x60, 0x0c, 0xe0, 0x19, 0xe0, 0x33, 0x60,
++ 0x66, 0x60, 0x47, 0xe0, 0x00, 0x60, 0x00, 0x60,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 190 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00,
++ 0x18, 0x00, 0x30, 0x00, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 191 */
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 192 */
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 193 */
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 194 */
++ 0x1c, 0xc0, 0x36, 0xc0, 0x33, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 195 */
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 196 */
++ 0x0f, 0x00, 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x7f, 0xe0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 197 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x3f, 0xf0, 0x63, 0x00, 0xc3, 0x00, 0xc3, 0x00,
++ 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0xff, 0xf0,
++ 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0x00,
++ 0xc3, 0x00, 0xc3, 0x00, 0xc3, 0xf0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 198 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 199 */
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 200 */
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 201 */
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 202 */
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x7f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 203 */
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 204 */
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 205 */
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 206 */
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 207 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0xfe, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 208 */
++ 0x1c, 0xc0, 0x36, 0xc0, 0x33, 0x80, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x70, 0x60, 0x78, 0x60, 0x6c, 0x60, 0x66, 0x60,
++ 0x63, 0x60, 0x61, 0xe0, 0x60, 0xe0, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 209 */
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 210 */
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 211 */
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 212 */
++ 0x1c, 0xc0, 0x36, 0xc0, 0x33, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 213 */
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 214 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60,
++ 0x30, 0xc0, 0x19, 0x80, 0x0f, 0x00, 0x06, 0x00,
++ 0x0f, 0x00, 0x19, 0x80, 0x30, 0xc0, 0x60, 0x60,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 215 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x70, 0x60, 0x60,
++ 0x60, 0xe0, 0x61, 0xe0, 0x63, 0x60, 0x66, 0x60,
++ 0x6c, 0x60, 0x78, 0x60, 0x70, 0x60, 0x60, 0x60,
++ 0xe0, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 216 */
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 217 */
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 218 */
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 219 */
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 220 */
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x30, 0xc0, 0x30, 0xc0,
++ 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00, 0x0f, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 221 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x7f, 0x80,
++ 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 222 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x3f, 0x00, 0x61, 0x80, 0x60, 0xc0, 0x60, 0xc0,
++ 0x60, 0xc0, 0x61, 0x80, 0x7f, 0x80, 0x60, 0xc0,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x70, 0x60, 0x68, 0xc0, 0x6f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 223 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x3f, 0x80, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 224 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x3f, 0x80, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 225 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x3f, 0x80, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 226 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1c, 0xc0, 0x36, 0xc0, 0x33, 0x80, 0x00, 0x00,
++ 0x3f, 0x80, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 227 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x3f, 0x80, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 228 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x0f, 0x00, 0x19, 0x80, 0x19, 0x80, 0x0f, 0x00,
++ 0x3f, 0x80, 0x00, 0xc0, 0x00, 0x60, 0x00, 0x60,
++ 0x1f, 0xe0, 0x30, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 229 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x7b, 0xe0, 0x0e, 0x30, 0x06, 0x30, 0x06, 0x30,
++ 0x7e, 0x30, 0xc7, 0xf0, 0xc6, 0x00, 0xc6, 0x00,
++ 0xc6, 0x00, 0xc7, 0x30, 0x7d, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 230 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x0c, 0x00, 0x00, 0x00, /* 231 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x30, 0x60, 0x1f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 232 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x30, 0x60, 0x1f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 233 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x30, 0x60, 0x1f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 234 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x7f, 0xe0, 0x60, 0x00, 0x60, 0x00,
++ 0x60, 0x00, 0x30, 0x60, 0x1f, 0xc0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 235 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 236 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 237 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x1e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 238 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x1e, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x06, 0x00, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 239 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x36, 0x00, 0x1c, 0x00, 0x36, 0x00, 0x03, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 240 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1c, 0xc0, 0x36, 0xc0, 0x33, 0x80, 0x00, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 241 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 242 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 243 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 244 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1c, 0xc0, 0x36, 0xc0, 0x33, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 245 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x1f, 0x80, 0x30, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xc0, 0x1f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 246 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xe0,
++ 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x00,
++ 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 247 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x1f, 0xa0, 0x30, 0xc0, 0x60, 0xe0, 0x61, 0xe0,
++ 0x63, 0x60, 0x66, 0x60, 0x6c, 0x60, 0x78, 0x60,
++ 0x70, 0x60, 0x30, 0xc0, 0x5f, 0x80, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 248 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x18, 0x00, 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 249 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 250 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x06, 0x00, 0x0f, 0x00, 0x19, 0x80, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 251 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0x60, 0x1f, 0xe0, 0x00, 0x00,
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 252 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x01, 0x80, 0x03, 0x00, 0x06, 0x00, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xe0, 0x1f, 0xe0, 0x00, 0x60,
++ 0x00, 0x60, 0x00, 0xc0, 0x3f, 0x80, 0x00, 0x00, /* 253 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x60, 0x00,
++ 0x7f, 0x80, 0x60, 0xc0, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0xc0, 0x7f, 0x80, 0x60, 0x00,
++ 0x60, 0x00, 0x60, 0x00, 0x60, 0x00, 0x00, 0x00, /* 254 */
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++ 0x19, 0x80, 0x19, 0x80, 0x19, 0x80, 0x00, 0x00,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60,
++ 0x60, 0x60, 0x30, 0xe0, 0x1f, 0xe0, 0x00, 0x60,
++ 0x00, 0x60, 0x00, 0xc0, 0x3f, 0x80, 0x00, 0x00, /* 255 */
++} };
++
++
++const struct font_desc font_ter_12x24 = {
++ .idx = TER12x24_IDX,
++ .name = "TER12x24",
++ .width = 12,
++ .height = 24,
++ .charcount = 256,
++ .data = fontdata_ter12x24.data,
++#ifdef __sparc__
++ .pref = 5,
++#else
++ .pref = -1,
++#endif
++};
+diff --git a/lib/fonts/fonts.c b/lib/fonts/fonts.c
+index 5f4b07b56cd9..1be88be06b2b 100644
+--- a/lib/fonts/fonts.c
++++ b/lib/fonts/fonts.c
+@@ -54,6 +54,9 @@ static const struct font_desc *fonts[] = {
+ #ifdef CONFIG_FONT_6x10
+ &font_6x10,
+ #endif
++#ifdef CONFIG_FONT_TER12x24
++ &font_ter_12x24,
++#endif
+ #ifdef CONFIG_FONT_TER16x32
+ &font_ter_16x32,
+ #endif
+--
+2.34.1
+
diff --git a/testing/linux-gru/APKBUILD b/testing/linux-gru/APKBUILD
index 51bce858bae..a74f662ee76 100644
--- a/testing/linux-gru/APKBUILD
+++ b/testing/linux-gru/APKBUILD
@@ -4,20 +4,19 @@ _flavor=gru
pkgname=linux-${_flavor}
# NOTE: this kernel is intended for testing
# please resist urge to upgrade it blindly
-pkgver=5.16.0
+pkgver=6.8.1
case $pkgver in
*.*.*) _kernver=${pkgver%.*};;
*.*) _kernver=$pkgver;;
esac
pkgrel=0
-pkgdesc="Linux latest stable kernel for gru chromebooks"
+pkgdesc="Linux latest stable kernel for $_flavor chromebook"
url="https://www.kernel.org"
-_depends_dev="perl gmp-dev bash flex bison"
+_depends_dev="perl gmp-dev flex bison"
makedepends="$_depends_dev sed installkernel bc linux-headers linux-firmware-any
- openssl1.1-compat-dev diffutils findutils vboot-utils u-boot-tools dtc"
+ openssl-dev diffutils findutils vboot-utils u-boot-tools dtc"
options="!strip !check"
-_config=${config:-config-gru.${CARCH}}
-#install=
+install=
#subpackages="$pkgname-dev:_dev:$CBUILD_ARCH"
source="https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar.xz"
@@ -28,35 +27,17 @@ case $pkgver in
esac
source="$source
- config-gru.aarch64
- kernel.its.gru
- fix-gru-analogix_dp_core.patch
+ config
+ kernel.its.$_flavor
fix-rk3399-gru-mmc-order.patch
+ fix-gru-analogix_dp_core.patch
+ PATCH-v4-00-11-media-rkvdec-Add-H.264-High-10-and-4-2-2-profile-support.patch
"
arch="aarch64"
+_carch="arm64"
license="GPL-2.0"
-_flavors=
-for _i in $source; do
- case $_i in
- config-*.$CARCH)
- _f=${_i%.$CARCH}
- _f=${_f#config-}
- _flavors="$_flavors ${_f}"
- if [ "linux-$_f" != "$pkgname" ]; then
- subpackages="$subpackages linux-${_f}::$CBUILD_ARCH linux-${_f}-dev:_dev:$CBUILD_ARCH"
- fi
- ;;
- esac
-done
-
-_carch=${CARCH}
-case "$_carch" in
-aarch64*) _carch="arm64" ;;
-arm*) _carch="arm" ;;
-esac
-
prepare() {
local _patch_failed=
cd "$srcdir"/linux-$_kernver
@@ -92,29 +73,23 @@ prepare() {
}
oldconfig() {
- for i in $_flavors; do
- local _config=config-$i.${CARCH}
- local _builddir="$srcdir"/build-$i.$CARCH
- mkdir -p "$_builddir"
- echo "-$pkgrel-$i" > "$_builddir"/localversion-alpine \
+ local _builddir="$srcdir"/linux-$_kernver
+ echo "-$pkgrel-$_flavor" > "$_builddir"/localversion-alpine \
|| return 1
- cp "$srcdir"/$_config "$_builddir"/.config
+ cp "$srcdir"/config "$_builddir"/.config
make -C "$srcdir"/linux-$_kernver \
O="$_builddir" \
ARCH="$_carch" \
listnewconfig oldconfig
- done
}
build() {
unset LDFLAGS
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
- for i in $_flavors; do
- cd "$srcdir"/build-$i.$CARCH
- make ARCH="$_carch" CC="${CC:-gcc}" \
- KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
- done
+ cd "$srcdir"/linux-$_kernver
+ make ARCH="$_carch" CC="${CC:-gcc}" \
+ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
}
_package() {
@@ -122,7 +97,7 @@ _package() {
local _abi_release=${pkgver}-${pkgrel}-${_buildflavor}
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
- cd "$srcdir"/build-$_buildflavor.$CARCH
+ cd "$srcdir"/linux-$_kernver
# modules_install seems to regenerate a defect Modules.symvers on s390x. Work
# around it by backing it up and restore it after modules_install
cp Module.symvers Module.symvers.backup
@@ -138,6 +113,7 @@ _package() {
make -j1 modules_install $_install \
ARCH="$_carch" \
INSTALL_MOD_PATH="$_outdir" \
+ INSTALL_MOD_STRIP=1 \
INSTALL_PATH="$_outdir"/boot \
INSTALL_DTBS_PATH="$_outdir/boot/dtbs-$_buildflavor"
@@ -154,14 +130,15 @@ _package() {
# main flavor installs in $pkgdir
package() {
- _package gru "$pkgdir"
- local _builddir="$srcdir"/build-$_flavor.$CARCH
+ _package $_flavor "$pkgdir"
+ local _builddir="$srcdir"/linux-$_kernver
+ #cp $_builddir/arch/arm64/boot/Image.gz $pkgdir/boot/vmlinuz-$_flavor
cd $_builddir
- cp $srcdir/kernel.its.gru .
- mkimage -D "-I dts -O dtb -p 2048" -f kernel.its.gru vmlinux.uimg
+ cp $srcdir/kernel.its.$_flavor .
+ mkimage -D "-I dts -O dtb -p 2048" -f kernel.its.$_flavor vmlinux.uimg
dd if=/dev/zero of=bootloader.bin bs=512 count=1
- echo "console=tty1 earlyprintk=tty1 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw noinitrd loglevel=7" > cmdline
+ echo "console=tty0 earlyprintk=tty0 init=/sbin/init root=PARTUUID=%U/PARTNROFF=1 rootwait rw mitigations=off loglevel=7" > cmdline
vbutil_kernel \
--pack $pkgdir/boot/vmlinux.kpart-$pkgver-$pkgrel-$_flavor \
--version 1 \
@@ -174,9 +151,10 @@ package() {
--bootloader bootloader.bin
rm cmdline bootloader.bin
- rm $pkgdir/boot/vmlinuz-gru
+ #rm $pkgdir/boot/vmlinuz-$_flavor
+ rm $pkgdir/boot/System.map-$pkgver-$pkgrel-$_flavor
cd $pkgdir/boot
- ln -s vmlinux.kpart-$pkgver-$pkgrel-$_flavor vmlinux.kpart-gru
+ ln -s vmlinux.kpart-$pkgver-$pkgrel-$_flavor vmlinux.kpart
}
_dev() {
@@ -232,9 +210,11 @@ _dev() {
}
sha512sums="
-7a257dd576bc8493595ec7d6f3c9cb6e22c772a8b2dbe735d2485c4f5c56e26a08695546e7e0f1f1cd04a533f25e829361958d4da0b98bf0ba8094dd57a85aaf linux-5.16.tar.xz
-be5d54b1f75cd6f3712fe97c42e041868c90f4e280a9bc018b4026004ab1e6f5656a1761a1c927403f9fdfad4dc67554e07b87195328699b29e5ab9895c8c32e config-gru.aarch64
+5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 linux-6.8.tar.xz
+33ddb70a2df5ce51e23a82616e02197e4b812e0c094d0c88dd6ea6e2f00d843c2ff124fc15548e0ae3853fc1a6ea605e6b94eff7aa49a34961d7b20b7d27ff6c patch-6.8.1.xz
+cb2e4b59b4eeaff3efdb90da5cd6ef6c8bb6a3dd2e1f8d8ed903ac54fab37176612e6fa085d6a7cc9cb8c7da491f1160830f3436e050a17020fe5f57bd145f71 config
b5a2fbc0560201b4ec1d21e890cc5290c58d0544105a5bfabfe04e76bdf54b64dc07076c40414cedb38b12687cf1ae3f773ecfcac02e3d1edd84f6ef80c951da kernel.its.gru
-476188e5a6967fe061293a6d5b540158869f7f09eba3b0eb651bb7948003c050aa7e419c90f3135316f2ce8c1bb4a411bd3c82cde85dddbf17d971c5198893fe fix-gru-analogix_dp_core.patch
1653cd164857fb433c32203df8254d27c28bcf64e4bd5d0291ce95a8d7e5b48815ea6e81e32060b9a4c0cb13c302f9accc8e77451e30138669337f0d20910a76 fix-rk3399-gru-mmc-order.patch
+476188e5a6967fe061293a6d5b540158869f7f09eba3b0eb651bb7948003c050aa7e419c90f3135316f2ce8c1bb4a411bd3c82cde85dddbf17d971c5198893fe fix-gru-analogix_dp_core.patch
+4b1a494a3821d1829a2a2bb6f959ecbfc1a2e750e8bcf5154701d13478a87e01468848182c8bad993aedf55d5e43c69d360f90a8023f90018b099a7a0dacb7aa PATCH-v4-00-11-media-rkvdec-Add-H.264-High-10-and-4-2-2-profile-support.patch
"
diff --git a/testing/linux-gru/PATCH-v4-00-11-media-rkvdec-Add-H.264-High-10-and-4-2-2-profile-support.patch b/testing/linux-gru/PATCH-v4-00-11-media-rkvdec-Add-H.264-High-10-and-4-2-2-profile-support.patch
new file mode 100644
index 00000000000..cd021f3d97e
--- /dev/null
+++ b/testing/linux-gru/PATCH-v4-00-11-media-rkvdec-Add-H.264-High-10-and-4-2-2-profile-support.patch
@@ -0,0 +1,2119 @@
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id F1266C4332F
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 16:55:40 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229599AbjKEQzl (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 11:55:41 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55938 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229445AbjKEQzk (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 11:55:40 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C5FEE83;
+ Sun, 5 Nov 2023 08:55:35 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: Message-ID: Date: Subject: Cc:
+ To: From; q=dns/txt; s=fe-e1b5cab7be; t=1699203327;
+ bh=gpEWyFLpFVQA/Y7FAcamWOkPAGDRoHusQHT6WoMBcvI=;
+ b=K0OH+eJxuk0CnFzeiViuoctJ7h50ZC066xjRckTpJRZnM/oC/4dvBdhNAWZI7fjkfQDHnPvuz
+ sugfkZzS1jJgb9iFSYJgJvRzqFTw/UDEmvH9Xaa+vg8/YtjuZNoQeeBr5KNdIGfXEMa2GFKFdyH
+ 5UNc0EM8JL/HAEG0Abjj7JudHNAqAYOViJrxPFGiJpMpjCdzukShWBLzhORwN0pqU7u2AP9PbLN
+ 9wMy86L2PDL71vlFLOMaTUvoat8S8lCrmZ8s/3r0NnTsSvvkIoIW7CpqigEIq+Tus8059ev81AE
+ Cv72ZOB6ZYNsv/1lqQwD3ZbyyDQWTixsefj76wGEr07g==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 00/11] media: rkvdec: Add H.264 High 10 and 4:2:2 profile support
+Date: Sun, 5 Nov 2023 16:54:59 +0000
+Message-ID: <20231105165521.3592037-1-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c8ff42ad2f8d152468da
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 4223
+Lines: 104
+
+This is a revival of a 3 year old series [1] now that NV15/NV20/NV30 support
+for display driver have landed in mainline tree.
+
+This series adds H.264 High 10 and 4:2:2 profile support to the Rockchip
+Video Decoder driver.
+
+Patch 1 adds helpers for calculating plane bytesperline and sizeimage.
+Patch 2 adds two new pixelformats for semi-planer 10-bit 4:2:0/4:2:2 YUV.
+
+Patch 3 change to use bytesperline and buffer height to configure strides.
+Patch 4 change to use values from SPS/PPS control to configure the HW.
+Patch 5 remove an unnecessary call to validate sps at streaming start.
+
+Patch 6-10 refactor code to support filtering of CAPUTRE formats based
+on the image format returned from a get_image_fmt ops.
+
+Patch 11 adds final bits to support H.264 High 10 and 4:2:2 profiles.
+
+Tested on a ROCK Pi 4 (RK3399) and Rock64 (RK3328):
+
+ v4l2-compliance 1.24.1, 64 bits, 64-bit time_t
+ ...
+ Total for rkvdec device /dev/video1: 46, Succeeded: 46, Failed: 0, Warnings: 0
+
+ Running test suite JVT-FR-EXT with decoder FFmpeg-H.264-V4L2-request
+ ...
+ Ran 65/69 tests successfully
+
+ Running test suite JVT-AVC_V1 with decoder FFmpeg-H.264-V4L2-request
+ ...
+ Ran 127/135 tests successfully
+
+Before this series:
+
+ Running test suite JVT-FR-EXT with decoder FFmpeg-H.264-V4L2-request
+ ...
+ Ran 44/69 tests successfully
+
+Changes in v4:
+- Fix failed v4l2-compliance tests related to CAPTURE queue
+- Rework CAPTURE format filter anv validate to use an image format
+- Run fluster test suite JVT-FR-EXT [4] and JVT-AVC_V1 [5]
+Link to v3: https://lore.kernel.org/linux-media/20231029183427.1781554-1-jonas@kwiboo.se/
+
+Changes in v3:
+- Drop merged patches
+- Use bpp and bpp_div instead of prior misuse of block_w/block_h
+- New patch to use values from SPS/PPS control to configure the HW
+- New patch to remove an unnecessary call to validate sps at streaming start
+- Reworked pixel format validation
+Link to v2: https://lore.kernel.org/linux-media/20200706215430.22859-1-jonas@kwiboo.se/
+
+Changes in v2:
+- Collect r-b tags
+- SPS pic width and height in mbs validation moved to rkvdec_try_ctrl
+- New patch to not override output buffer sizeimage
+- Reworked pixel format validation
+- Only align decoded buffer instead of changing frmsize step_width
+Link to v1: https://lore.kernel.org/linux-media/20200701215616.30874-1-jonas@kwiboo.se/
+
+Following commits adds support for NV15/NV20/NV30 to VOP driver:
+728c15b4b5f3 ("drm/fourcc: Add NV20 and NV30 YUV formats")
+d4b384228562 ("drm/rockchip: vop: Add NV15, NV20 and NV30 support")
+
+To fully runtime test this series you may need above drm commits and ffmpeg
+patches from [2], this series and drm patches is also available at [3].
+
+[1] https://lore.kernel.org/linux-media/20200706215430.22859-1-jonas@kwiboo.se/
+[2] https://github.com/Kwiboo/FFmpeg/commits/v4l2-request-n6.1-dev/
+[3] https://github.com/Kwiboo/linux-rockchip/commits/linuxtv-rkvdec-high-10-v4/
+[4] https://gist.github.com/Kwiboo/f4ac15576b2c72887ae2bc5d58b5c865
+[5] https://gist.github.com/Kwiboo/459a1c8f1dcb56e45dc7a7a29cc28adf
+
+Regards,
+Jonas
+
+Alex Bee (1):
+ media: rkvdec: h264: Don't hardcode SPS/PPS parameters
+
+Jonas Karlman (10):
+ media: v4l2-common: Add helpers to calculate bytesperline and
+ sizeimage
+ media: v4l2: Add NV15 and NV20 pixel formats
+ media: rkvdec: h264: Use bytesperline and buffer height as virstride
+ media: rkvdec: h264: Remove SPS validation at streaming start
+ media: rkvdec: Extract rkvdec_fill_decoded_pixfmt into helper
+ media: rkvdec: Move rkvdec_reset_decoded_fmt helper
+ media: rkvdec: Extract decoded format enumeration into helper
+ media: rkvdec: Add image format concept
+ media: rkvdec: Add get_image_fmt ops
+ media: rkvdec: h264: Support High 10 and 4:2:2 profiles
+
+ .../media/v4l/pixfmt-yuv-planar.rst | 128 +++++++++++
+ drivers/media/v4l2-core/v4l2-common.c | 80 +++----
+ drivers/media/v4l2-core/v4l2-ioctl.c | 2 +
+ drivers/staging/media/rkvdec/rkvdec-h264.c | 83 +++----
+ drivers/staging/media/rkvdec/rkvdec.c | 217 +++++++++++++-----
+ drivers/staging/media/rkvdec/rkvdec.h | 18 +-
+ include/uapi/linux/videodev2.h | 2 +
+ 7 files changed, 396 insertions(+), 134 deletions(-)
+
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id DE389C4332F
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 16:55:44 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229689AbjKEQzp (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 11:55:45 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55952 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229445AbjKEQzm (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 11:55:42 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D1C1083;
+ Sun, 5 Nov 2023 08:55:39 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203336; bh=VBY0FHZGIpUm3P9r+IeT6rGp7Go4Kcp8zODviR0ogjA=;
+ b=BKDG4dDc9E/ZgiRG/Ru2++h4WwhGmSBs+ypZlLeawtW/RGt/AaLCHiGqdm+rglxe3LuoobCDP
+ Z1McdMSA8+pGaOGUjrkNcejfcOiStGk2dyup5CL6o2cffFmwXiddU2IHSGyIsuPiKQMdW9vg06V
+ +Am3LQs7O/C62i61U99NwL+/OQLIrYdmIa4qIfN0Q2jD0pzCSQNUQqT9Km6MaKtalT6vgB5uBkz
+ dUUFyzSfjUIGLYrDsn7Krz0TAMgW3h1o+DmNrU9ADxowdsgtpe/KXGyoNvgNzmZVjUl1yPHmV2N
+ tXo2xLb10U5ZdhnEMg9J5mdqQWl3Z0x8mVyzpn4DbH8g==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 02/11] media: v4l2: Add NV15 and NV20 pixel formats
+Date: Sun, 5 Nov 2023 16:55:01 +0000
+Message-ID: <20231105165521.3592037-3-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c90742ad2f8d152468f4
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 9980
+Lines: 237
+
+Add NV15 and NV20 pixel formats used by the Rockchip Video Decoder for
+10-bit buffers.
+
+NV15 and NV20 is 10-bit 4:2:0/4:2:2 semi-planar YUV formats similar to
+NV12 and NV16, using 10-bit components with no padding between each
+component. Instead, a group of 4 luminance/chrominance samples are
+stored over 5 bytes in little endian order:
+
+YYYY = UVUV = 4 * 10 bits = 40 bits = 5 bytes
+
+The '15' and '20' suffix refers to the optimum effective bits per pixel
+which is achieved when the total number of luminance samples is a
+multiple of 8 for NV15 and 4 for NV20.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- No change
+
+v3:
+- Use bpp and bpp_div instead of the misuse of block_w/block_h
+- Update documentation, expand to use full 4x4 sample image
+
+ .../media/v4l/pixfmt-yuv-planar.rst | 128 ++++++++++++++++++
+ drivers/media/v4l2-core/v4l2-common.c | 2 +
+ drivers/media/v4l2-core/v4l2-ioctl.c | 2 +
+ include/uapi/linux/videodev2.h | 2 +
+ 4 files changed, 134 insertions(+)
+
+diff --git a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst
+index 1840224faa41..4366cdcb970e 100644
+--- a/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst
++++ b/Documentation/userspace-api/media/v4l/pixfmt-yuv-planar.rst
+@@ -79,6 +79,13 @@ All components are stored with the same number of bits per component.
+ - Cr, Cb
+ - Yes
+ - Linear
++ * - V4L2_PIX_FMT_NV15
++ - 'NV15'
++ - 10
++ - 4:2:0
++ - Cb, Cr
++ - Yes
++ - Linear
+ * - V4L2_PIX_FMT_NV12M
+ - 'NM12'
+ - 8
+@@ -158,6 +165,13 @@ All components are stored with the same number of bits per component.
+ - Cr, Cb
+ - Yes
+ - Linear
++ * - V4L2_PIX_FMT_NV20
++ - 'NV20'
++ - 10
++ - 4:2:2
++ - Cb, Cr
++ - Yes
++ - Linear
+ * - V4L2_PIX_FMT_NV16M
+ - 'NM16'
+ - 8
+@@ -288,6 +302,57 @@ of the luma plane.
+ - Cr\ :sub:`11`
+
+
++.. _V4L2-PIX-FMT-NV15:
++
++NV15
++----
++
++Semi-planar 10-bit YUV 4:2:0 format similar to NV12, using 10-bit components
++with no padding between each component. A group of 4 components are stored over
++5 bytes in little endian order.
++
++.. flat-table:: Sample 4x4 NV15 Image (1 byte per cell)
++ :header-rows: 0
++ :stub-columns: 0
++
++ * - start + 0:
++ - Y'\ :sub:`00[7:0]`
++ - Y'\ :sub:`01[5:0]`\ Y'\ :sub:`00[9:8]`
++ - Y'\ :sub:`02[3:0]`\ Y'\ :sub:`01[9:6]`
++ - Y'\ :sub:`03[1:0]`\ Y'\ :sub:`02[9:4]`
++ - Y'\ :sub:`03[9:2]`
++ * - start + 5:
++ - Y'\ :sub:`10[7:0]`
++ - Y'\ :sub:`11[5:0]`\ Y'\ :sub:`10[9:8]`
++ - Y'\ :sub:`12[3:0]`\ Y'\ :sub:`11[9:6]`
++ - Y'\ :sub:`13[1:0]`\ Y'\ :sub:`12[9:4]`
++ - Y'\ :sub:`13[9:2]`
++ * - start + 10:
++ - Y'\ :sub:`20[7:0]`
++ - Y'\ :sub:`21[5:0]`\ Y'\ :sub:`20[9:8]`
++ - Y'\ :sub:`22[3:0]`\ Y'\ :sub:`21[9:6]`
++ - Y'\ :sub:`23[1:0]`\ Y'\ :sub:`22[9:4]`
++ - Y'\ :sub:`23[9:2]`
++ * - start + 15:
++ - Y'\ :sub:`30[7:0]`
++ - Y'\ :sub:`31[5:0]`\ Y'\ :sub:`30[9:8]`
++ - Y'\ :sub:`32[3:0]`\ Y'\ :sub:`31[9:6]`
++ - Y'\ :sub:`33[1:0]`\ Y'\ :sub:`32[9:4]`
++ - Y'\ :sub:`33[9:2]`
++ * - start + 20:
++ - Cb\ :sub:`00[7:0]`
++ - Cr\ :sub:`00[5:0]`\ Cb\ :sub:`00[9:8]`
++ - Cb\ :sub:`01[3:0]`\ Cr\ :sub:`00[9:6]`
++ - Cr\ :sub:`01[1:0]`\ Cb\ :sub:`01[9:4]`
++ - Cr\ :sub:`01[9:2]`
++ * - start + 25:
++ - Cb\ :sub:`10[7:0]`
++ - Cr\ :sub:`10[5:0]`\ Cb\ :sub:`10[9:8]`
++ - Cb\ :sub:`11[3:0]`\ Cr\ :sub:`10[9:6]`
++ - Cr\ :sub:`11[1:0]`\ Cb\ :sub:`11[9:4]`
++ - Cr\ :sub:`11[9:2]`
++
++
+ .. _V4L2-PIX-FMT-NV12MT:
+ .. _V4L2-PIX-FMT-NV12MT-16X16:
+ .. _V4L2-PIX-FMT-NV12-4L4:
+@@ -500,6 +565,69 @@ number of lines as the luma plane.
+ - Cr\ :sub:`32`
+
+
++.. _V4L2-PIX-FMT-NV20:
++
++NV20
++----
++
++Semi-planar 10-bit YUV 4:2:2 format similar to NV16, using 10-bit components
++with no padding between each component. A group of 4 components are stored over
++5 bytes in little endian order.
++
++.. flat-table:: Sample 4x4 NV20 Image (1 byte per cell)
++ :header-rows: 0
++ :stub-columns: 0
++
++ * - start + 0:
++ - Y'\ :sub:`00[7:0]`
++ - Y'\ :sub:`01[5:0]`\ Y'\ :sub:`00[9:8]`
++ - Y'\ :sub:`02[3:0]`\ Y'\ :sub:`01[9:6]`
++ - Y'\ :sub:`03[1:0]`\ Y'\ :sub:`02[9:4]`
++ - Y'\ :sub:`03[9:2]`
++ * - start + 5:
++ - Y'\ :sub:`10[7:0]`
++ - Y'\ :sub:`11[5:0]`\ Y'\ :sub:`10[9:8]`
++ - Y'\ :sub:`12[3:0]`\ Y'\ :sub:`11[9:6]`
++ - Y'\ :sub:`13[1:0]`\ Y'\ :sub:`12[9:4]`
++ - Y'\ :sub:`13[9:2]`
++ * - start + 10:
++ - Y'\ :sub:`20[7:0]`
++ - Y'\ :sub:`21[5:0]`\ Y'\ :sub:`20[9:8]`
++ - Y'\ :sub:`22[3:0]`\ Y'\ :sub:`21[9:6]`
++ - Y'\ :sub:`23[1:0]`\ Y'\ :sub:`22[9:4]`
++ - Y'\ :sub:`23[9:2]`
++ * - start + 15:
++ - Y'\ :sub:`30[7:0]`
++ - Y'\ :sub:`31[5:0]`\ Y'\ :sub:`30[9:8]`
++ - Y'\ :sub:`32[3:0]`\ Y'\ :sub:`31[9:6]`
++ - Y'\ :sub:`33[1:0]`\ Y'\ :sub:`32[9:4]`
++ - Y'\ :sub:`33[9:2]`
++ * - start + 20:
++ - Cb\ :sub:`00[7:0]`
++ - Cr\ :sub:`00[5:0]`\ Cb\ :sub:`00[9:8]`
++ - Cb\ :sub:`01[3:0]`\ Cr\ :sub:`00[9:6]`
++ - Cr\ :sub:`01[1:0]`\ Cb\ :sub:`01[9:4]`
++ - Cr\ :sub:`01[9:2]`
++ * - start + 25:
++ - Cb\ :sub:`10[7:0]`
++ - Cr\ :sub:`10[5:0]`\ Cb\ :sub:`10[9:8]`
++ - Cb\ :sub:`11[3:0]`\ Cr\ :sub:`10[9:6]`
++ - Cr\ :sub:`11[1:0]`\ Cb\ :sub:`11[9:4]`
++ - Cr\ :sub:`11[9:2]`
++ * - start + 30:
++ - Cb\ :sub:`20[7:0]`
++ - Cr\ :sub:`20[5:0]`\ Cb\ :sub:`20[9:8]`
++ - Cb\ :sub:`21[3:0]`\ Cr\ :sub:`20[9:6]`
++ - Cr\ :sub:`21[1:0]`\ Cb\ :sub:`21[9:4]`
++ - Cr\ :sub:`21[9:2]`
++ * - start + 35:
++ - Cb\ :sub:`30[7:0]`
++ - Cr\ :sub:`30[5:0]`\ Cb\ :sub:`30[9:8]`
++ - Cb\ :sub:`31[3:0]`\ Cr\ :sub:`30[9:6]`
++ - Cr\ :sub:`31[1:0]`\ Cb\ :sub:`31[9:4]`
++ - Cr\ :sub:`31[9:2]`
++
++
+ .. _V4L2-PIX-FMT-NV24:
+ .. _V4L2-PIX-FMT-NV42:
+
+diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
+index 834b426da8b1..c65ffab5800a 100644
+--- a/drivers/media/v4l2-core/v4l2-common.c
++++ b/drivers/media/v4l2-core/v4l2-common.c
+@@ -270,8 +270,10 @@ const struct v4l2_format_info *v4l2_format_info(u32 format)
+ /* YUV planar formats */
+ { .format = V4L2_PIX_FMT_NV12, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 2 },
+ { .format = V4L2_PIX_FMT_NV21, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 2 },
++ { .format = V4L2_PIX_FMT_NV15, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 10, 0, 0 }, .bpp_div = { 4, 4, 1, 1 }, .hdiv = 2, .vdiv = 2 },
+ { .format = V4L2_PIX_FMT_NV16, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_NV61, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 1 },
++ { .format = V4L2_PIX_FMT_NV20, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 5, 10, 0, 0 }, .bpp_div = { 4, 4, 1, 1 }, .hdiv = 2, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_NV24, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 1, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_NV42, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 1, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 1, .vdiv = 1 },
+ { .format = V4L2_PIX_FMT_P010, .pixel_enc = V4L2_PIXEL_ENC_YUV, .mem_planes = 1, .comp_planes = 2, .bpp = { 2, 2, 0, 0 }, .bpp_div = { 1, 1, 1, 1 }, .hdiv = 2, .vdiv = 1 },
+diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c
+index 9b1de54ce379..937434e5f2c1 100644
+--- a/drivers/media/v4l2-core/v4l2-ioctl.c
++++ b/drivers/media/v4l2-core/v4l2-ioctl.c
+@@ -1347,8 +1347,10 @@ static void v4l_fill_fmtdesc(struct v4l2_fmtdesc *fmt)
+ case V4L2_PIX_FMT_YUV48_12: descr = "12-bit YUV 4:4:4 Packed"; break;
+ case V4L2_PIX_FMT_NV12: descr = "Y/UV 4:2:0"; break;
+ case V4L2_PIX_FMT_NV21: descr = "Y/VU 4:2:0"; break;
++ case V4L2_PIX_FMT_NV15: descr = "10-bit Y/UV 4:2:0 (Packed)"; break;
+ case V4L2_PIX_FMT_NV16: descr = "Y/UV 4:2:2"; break;
+ case V4L2_PIX_FMT_NV61: descr = "Y/VU 4:2:2"; break;
++ case V4L2_PIX_FMT_NV20: descr = "10-bit Y/UV 4:2:2 (Packed)"; break;
+ case V4L2_PIX_FMT_NV24: descr = "Y/UV 4:4:4"; break;
+ case V4L2_PIX_FMT_NV42: descr = "Y/VU 4:4:4"; break;
+ case V4L2_PIX_FMT_P010: descr = "10-bit Y/UV 4:2:0"; break;
+diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h
+index c3d4e490ce7c..617340c43e40 100644
+--- a/include/uapi/linux/videodev2.h
++++ b/include/uapi/linux/videodev2.h
+@@ -638,8 +638,10 @@ struct v4l2_pix_format {
+ /* two planes -- one Y, one Cr + Cb interleaved */
+ #define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */
+ #define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1') /* 12 Y/CrCb 4:2:0 */
++#define V4L2_PIX_FMT_NV15 v4l2_fourcc('N', 'V', '1', '5') /* 15 Y/CbCr 4:2:0 10-bit packed */
+ #define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */
+ #define V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1') /* 16 Y/CrCb 4:2:2 */
++#define V4L2_PIX_FMT_NV20 v4l2_fourcc('N', 'V', '2', '0') /* 20 Y/CbCr 4:2:2 10-bit packed */
+ #define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') /* 24 Y/CbCr 4:4:4 */
+ #define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/CrCb 4:4:4 */
+ #define V4L2_PIX_FMT_P010 v4l2_fourcc('P', '0', '1', '0') /* 24 Y/CbCr 4:2:0 10-bit per component */
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id D15E5C41535
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 16:55:46 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229783AbjKEQzr (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 11:55:47 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55960 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229750AbjKEQzp (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 11:55:45 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3E66683;
+ Sun, 5 Nov 2023 08:55:43 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203340; bh=+OFG4YG5FDD0E7pqkDYNn/y86VqErWzPoJTEkQmn5bo=;
+ b=StlZA6dajX8qKmnknsBdHP3Zb/+n/5VM9fvjRarx8NdJAOE9c0/LroE7FCRJMTpAd2QeYPqEk
+ GlBJF8Tkoce8+on3TMDoVVVcDVoe64X9F3I8sky3f3QMVM0hRMfESCloGAfBmgJMQOlFbiYJoF8
+ jyas+Ej+T3Hdf7GpbMvKscpxZWPdkAR/L0TcjRZ1ecrJCV3tjQb3B0AgNn16RUNk8xal98zksRH
+ 8AZIkScpnmidofdFs4XzySMSGmQZ8Xm9d2rtbdBZJBhV0izwzGuXM74kGbD1Sfn/PSJvoc1NwTP
+ YspiFhJeP4kTyJBikzZ2FU7MJpZRGMnjGYIWOf8kdEQA==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 03/11] media: rkvdec: h264: Use bytesperline and buffer height as virstride
+Date: Sun, 5 Nov 2023 16:55:02 +0000
+Message-ID: <20231105165521.3592037-4-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c90b42ad2f8d15246901
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 1840
+Lines: 58
+
+Use bytesperline and buffer height to calculate the strides configured.
+
+This does not really change anything other than ensuring the
+bytesperline that is signaled to userspace matches what is configured
+in HW.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- No change
+
+v3:
+- Remove unnecessary yuv_virstride +=
+
+ drivers/staging/media/rkvdec/rkvdec-h264.c | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
+index 4fc167b42cf0..7a1e76d423df 100644
+--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
++++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
+@@ -896,9 +896,9 @@ static void config_registers(struct rkvdec_ctx *ctx,
+ dma_addr_t rlc_addr;
+ dma_addr_t refer_addr;
+ u32 rlc_len;
+- u32 hor_virstride = 0;
+- u32 ver_virstride = 0;
+- u32 y_virstride = 0;
++ u32 hor_virstride;
++ u32 ver_virstride;
++ u32 y_virstride;
+ u32 yuv_virstride = 0;
+ u32 offset;
+ dma_addr_t dst_addr;
+@@ -909,16 +909,16 @@ static void config_registers(struct rkvdec_ctx *ctx,
+
+ f = &ctx->decoded_fmt;
+ dst_fmt = &f->fmt.pix_mp;
+- hor_virstride = (sps->bit_depth_luma_minus8 + 8) * dst_fmt->width / 8;
+- ver_virstride = round_up(dst_fmt->height, 16);
++ hor_virstride = dst_fmt->plane_fmt[0].bytesperline;
++ ver_virstride = dst_fmt->height;
+ y_virstride = hor_virstride * ver_virstride;
+
+ if (sps->chroma_format_idc == 0)
+ yuv_virstride = y_virstride;
+ else if (sps->chroma_format_idc == 1)
+- yuv_virstride += y_virstride + y_virstride / 2;
++ yuv_virstride = y_virstride + y_virstride / 2;
+ else if (sps->chroma_format_idc == 2)
+- yuv_virstride += 2 * y_virstride;
++ yuv_virstride = 2 * y_virstride;
+
+ reg = RKVDEC_Y_HOR_VIRSTRIDE(hor_virstride / 16) |
+ RKVDEC_UV_HOR_VIRSTRIDE(hor_virstride / 16) |
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id 20224C4167B
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 16:55:51 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229863AbjKEQzv (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 11:55:51 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38594 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229750AbjKEQzu (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 11:55:50 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A35E83;
+ Sun, 5 Nov 2023 08:55:47 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203344; bh=9YYcLQUrnGdihBMIqGOq7h6o3o2vBA6zqeQq5WUvP+E=;
+ b=eD1bLCz2tEhCI1tolmZ2Vjzp0MZ0gVT9Jvs1nWFjuFxp8N+NKZT7j0QlBDBaD1+w7cmQCFei8
+ 4F5T0hyjf2cAB5Q8QrcBhKv4qTTY+WCbPYE/wfGku+1gS6asFDkGE+ws7ggy7WuAzRP80crHHYY
+ aJ0wLjygKoFoM4JDmk8foW2RPtEpn+C5D3J8C6NM+BnYSqQ5I2Pt4edVa9o8Xou7VXSSLMo/d2P
+ GFcatom08AiaB6WcjllBvOSR+Aey0GU3xrvkWT3QghBLDhLvb+UBMg8b/UoMU2r5gepuQrhduVU
+ QEztP/n2G3V3Ne51W5539Y9gynfSfM1XXNkgJJAubGGg==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 04/11] media: rkvdec: h264: Don't hardcode SPS/PPS parameters
+Date: Sun, 5 Nov 2023 16:55:03 +0000
+Message-ID: <20231105165521.3592037-5-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c90f42ad2f8d1524690e
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 2306
+Lines: 57
+
+From: Alex Bee <knaerzche@gmail.com>
+
+Some SPS/PPS parameters are currently hardcoded in the driver even
+though they exist in the stable uapi controls.
+
+Use values from SPS/PPS controls instead of hardcoding them.
+
+Signed-off-by: Alex Bee <knaerzche@gmail.com>
+[jonas@kwiboo.se: constraint_set_flags condition, commit message]
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- No change
+
+v3:
+- New patch
+
+ drivers/staging/media/rkvdec/rkvdec-h264.c | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
+index 7a1e76d423df..8bce8902b8dd 100644
+--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
++++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
+@@ -655,13 +655,14 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx,
+
+ #define WRITE_PPS(value, field) set_ps_field(hw_ps->info, field, value)
+ /* write sps */
+- WRITE_PPS(0xf, SEQ_PARAMETER_SET_ID);
+- WRITE_PPS(0xff, PROFILE_IDC);
+- WRITE_PPS(1, CONSTRAINT_SET3_FLAG);
++ WRITE_PPS(sps->seq_parameter_set_id, SEQ_PARAMETER_SET_ID);
++ WRITE_PPS(sps->profile_idc, PROFILE_IDC);
++ WRITE_PPS(!!(sps->constraint_set_flags & (1 << 3)), CONSTRAINT_SET3_FLAG);
+ WRITE_PPS(sps->chroma_format_idc, CHROMA_FORMAT_IDC);
+ WRITE_PPS(sps->bit_depth_luma_minus8, BIT_DEPTH_LUMA);
+ WRITE_PPS(sps->bit_depth_chroma_minus8, BIT_DEPTH_CHROMA);
+- WRITE_PPS(0, QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG);
++ WRITE_PPS(!!(sps->flags & V4L2_H264_SPS_FLAG_QPPRIME_Y_ZERO_TRANSFORM_BYPASS),
++ QPPRIME_Y_ZERO_TRANSFORM_BYPASS_FLAG);
+ WRITE_PPS(sps->log2_max_frame_num_minus4, LOG2_MAX_FRAME_NUM_MINUS4);
+ WRITE_PPS(sps->max_num_ref_frames, MAX_NUM_REF_FRAMES);
+ WRITE_PPS(sps->pic_order_cnt_type, PIC_ORDER_CNT_TYPE);
+@@ -688,8 +689,8 @@ static void assemble_hw_pps(struct rkvdec_ctx *ctx,
+ DIRECT_8X8_INFERENCE_FLAG);
+
+ /* write pps */
+- WRITE_PPS(0xff, PIC_PARAMETER_SET_ID);
+- WRITE_PPS(0x1f, PPS_SEQ_PARAMETER_SET_ID);
++ WRITE_PPS(pps->pic_parameter_set_id, PIC_PARAMETER_SET_ID);
++ WRITE_PPS(pps->seq_parameter_set_id, PPS_SEQ_PARAMETER_SET_ID);
+ WRITE_PPS(!!(pps->flags & V4L2_H264_PPS_FLAG_ENTROPY_CODING_MODE),
+ ENTROPY_CODING_MODE_FLAG);
+ WRITE_PPS(!!(pps->flags & V4L2_H264_PPS_FLAG_BOTTOM_FIELD_PIC_ORDER_IN_FRAME_PRESENT),
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id 1E995C4332F
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 16:55:59 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229908AbjKEQz7 (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 11:55:59 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38624 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229750AbjKEQzy (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 11:55:54 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F582D9;
+ Sun, 5 Nov 2023 08:55:51 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203347; bh=QFwovX5RPW7IMq4uUoTrIwvqoq7/7Q8z3p4frGKGekE=;
+ b=iogMt8BWbZ0IMRmVXbXItCv2PMI90AvIJerLiaBkLdr5Iz3gxsyeA+sJtYcyrGpEiAq4Cx4jh
+ CU6e08rrf0+3hAGVy+uUEWSLW1V9mgO3K0MhMjoD5j3sNnCLB/zlyIgQKEVPNEPMsJJsCjUPrSp
+ bkjdHkeuCSVnNC6wRPf9nVTntHFNca6abSevGZl1ivQkXbc4zjsKD0bby05TvBxzYGNDV4jJEvN
+ msaVQ7ak2pAhjvxTFBh/wR7hcGbvTNhHB8PrknCBLCMXttDHfgNPsOPd5mIGi3gHBL284C2+afM
+ /TMAOTHtW2vO7Dp0JJU8Pi7PNGYV/XciaErgvSuz78Hw==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 05/11] media: rkvdec: h264: Remove SPS validation at streaming start
+Date: Sun, 5 Nov 2023 16:55:04 +0000
+Message-ID: <20231105165521.3592037-6-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c91342ad2f8d1524691b
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 1757
+Lines: 64
+
+SPS parameters is validated in try_ctrl() ops so there is no need to
+re-validate when streaming starts.
+
+Remove the unnecessary call to validate sps at streaming start.
+
+Suggested-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- No change
+
+v3:
+- New patch
+
+ drivers/staging/media/rkvdec/rkvdec-h264.c | 19 ++-----------------
+ 1 file changed, 2 insertions(+), 17 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
+index 8bce8902b8dd..815d5359ddd5 100644
+--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
++++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
+@@ -1070,17 +1070,6 @@ static int rkvdec_h264_start(struct rkvdec_ctx *ctx)
+ struct rkvdec_dev *rkvdec = ctx->dev;
+ struct rkvdec_h264_priv_tbl *priv_tbl;
+ struct rkvdec_h264_ctx *h264_ctx;
+- struct v4l2_ctrl *ctrl;
+- int ret;
+-
+- ctrl = v4l2_ctrl_find(&ctx->ctrl_hdl,
+- V4L2_CID_STATELESS_H264_SPS);
+- if (!ctrl)
+- return -EINVAL;
+-
+- ret = rkvdec_h264_validate_sps(ctx, ctrl->p_new.p_h264_sps);
+- if (ret)
+- return ret;
+
+ h264_ctx = kzalloc(sizeof(*h264_ctx), GFP_KERNEL);
+ if (!h264_ctx)
+@@ -1089,8 +1078,8 @@ static int rkvdec_h264_start(struct rkvdec_ctx *ctx)
+ priv_tbl = dma_alloc_coherent(rkvdec->dev, sizeof(*priv_tbl),
+ &h264_ctx->priv_tbl.dma, GFP_KERNEL);
+ if (!priv_tbl) {
+- ret = -ENOMEM;
+- goto err_free_ctx;
++ kfree(h264_ctx);
++ return -ENOMEM;
+ }
+
+ h264_ctx->priv_tbl.size = sizeof(*priv_tbl);
+@@ -1100,10 +1089,6 @@ static int rkvdec_h264_start(struct rkvdec_ctx *ctx)
+
+ ctx->priv = h264_ctx;
+ return 0;
+-
+-err_free_ctx:
+- kfree(h264_ctx);
+- return ret;
+ }
+
+ static void rkvdec_h264_stop(struct rkvdec_ctx *ctx)
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id E72FAC4332F
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 16:56:03 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229929AbjKEQ4D (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 11:56:03 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40048 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229972AbjKEQ4B (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 11:56:01 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ABBE0134;
+ Sun, 5 Nov 2023 08:55:55 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203351; bh=eOQ3o+VKmQncWFPGxsnugYz9IoSdcHeasfArhQJpc8A=;
+ b=DxSazXkmvBaYEXuEfUZTO2CrIiKkwVLyRvf+CutflUqddjZ4lu9V1QaDKwHxPC/KnpomVLB/z
+ wP0RVGihxRnMmONsgqV7RLCUZFP1U/EyG4zUYMwM5teK2RpY4trsrGiRX7wwbH1KsJiZ/GHnotH
+ JWTMsOeokFfQ9dt0Q/RPoHt32/zJciZjvwr3Q3UN6xL0TWgg+AlweSo2bi45hwk6SV/CQVWGl0E
+ STWBOr6lOhYkdkyXL4Mu8dKb0VOhjfU6eKaWBNdqlktBK5jFo6ep3Smt0aEZnQWrdE5T/QMuc6h
+ LF6bqgyHkpIzskFFblPBoYmMAXhSB3XBVMnzwpZVC40g==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 06/11] media: rkvdec: Extract rkvdec_fill_decoded_pixfmt into helper
+Date: Sun, 5 Nov 2023 16:55:05 +0000
+Message-ID: <20231105165521.3592037-7-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c91742ad2f8d15246928
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 2352
+Lines: 69
+
+Extract call to v4l2_fill_pixfmt_mp() and ajusting of sizeimage into a
+helper. Replace current code with a call to the new helper.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- Do not reset pix_mp->field in rkvdec_fill_decoded_pixfmt()
+
+v3:
+- No changes
+
+ drivers/staging/media/rkvdec/rkvdec.c | 27 ++++++++++++++-------------
+ 1 file changed, 14 insertions(+), 13 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
+index 84a41792cb4b..0570c790ad08 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.c
++++ b/drivers/staging/media/rkvdec/rkvdec.c
+@@ -27,6 +27,16 @@
+ #include "rkvdec.h"
+ #include "rkvdec-regs.h"
+
++static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
++ struct v4l2_pix_format_mplane *pix_mp)
++{
++ v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat,
++ pix_mp->width, pix_mp->height);
++ pix_mp->plane_fmt[0].sizeimage += 128 *
++ DIV_ROUND_UP(pix_mp->width, 16) *
++ DIV_ROUND_UP(pix_mp->height, 16);
++}
++
+ static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
+ {
+ struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
+@@ -192,13 +202,9 @@ static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
+
+ rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]);
+ f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+- v4l2_fill_pixfmt_mp(&f->fmt.pix_mp,
+- ctx->coded_fmt_desc->decoded_fmts[0],
+- ctx->coded_fmt.fmt.pix_mp.width,
+- ctx->coded_fmt.fmt.pix_mp.height);
+- f->fmt.pix_mp.plane_fmt[0].sizeimage += 128 *
+- DIV_ROUND_UP(f->fmt.pix_mp.width, 16) *
+- DIV_ROUND_UP(f->fmt.pix_mp.height, 16);
++ f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
++ f->fmt.pix_mp.height = ctx->coded_fmt.fmt.pix_mp.height;
++ rkvdec_fill_decoded_pixfmt(ctx, &f->fmt.pix_mp);
+ }
+
+ static int rkvdec_enum_framesizes(struct file *file, void *priv,
+@@ -264,12 +270,7 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
+ &pix_mp->height,
+ &coded_desc->frmsize);
+
+- v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat,
+- pix_mp->width, pix_mp->height);
+- pix_mp->plane_fmt[0].sizeimage +=
+- 128 *
+- DIV_ROUND_UP(pix_mp->width, 16) *
+- DIV_ROUND_UP(pix_mp->height, 16);
++ rkvdec_fill_decoded_pixfmt(ctx, pix_mp);
+ pix_mp->field = V4L2_FIELD_NONE;
+
+ return 0;
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id A9C69C4332F
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 16:56:26 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S230438AbjKEQ41 (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 11:56:27 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40098 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S230256AbjKEQ4Q (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 11:56:16 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1192910C8;
+ Sun, 5 Nov 2023 08:56:11 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203367; bh=lpnBJaNiSOXF2fbVkARa+33opskrlpRAhdbPZ7vR6lI=;
+ b=VM49k8elFZ6RRgB1nf7LwO33PFuV3oU0yPReic/VjHWVuJIWjF1BAAqQeJ/kSNr4WviBYt7wc
+ yoAzmSrMaXchniGD9+P+AClnI10zGhD6Ms5PVd5D3+60btZDafhrPK3z58o1orIkwbQorItpCN7
+ C9SwGc78iqWSqt00jt/1LXXtxIPZmJidD6Hl8dszXb/mSxHFCy02zpZeMCQSZ1t0WPI2jokH9c8
+ SI4a8ajRdYOEWjyKSv9R54v8NGjE99w9sBKIJDgTSNbokoEgRzO2xFaBXHTHmM3jEMIvJDFRn04
+ LvpAtA46NwI+N4+6y/C2XtBij8WOvmhPWH3EmiP1bMHQ==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 10/11] media: rkvdec: Add get_image_fmt ops
+Date: Sun, 5 Nov 2023 16:55:09 +0000
+Message-ID: <20231105165521.3592037-11-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c92642ad2f8d1524695c
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 3036
+Lines: 102
+
+Add support for a get_image_fmt() ops that return the required image
+format.
+
+The CAPTURE format is reset when required image format changes and the
+buffer queue is not busy.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- Change fmt_opaque into an image format
+- Split patch into two
+
+v3:
+- New patch
+
+ drivers/staging/media/rkvdec/rkvdec.c | 49 +++++++++++++++++++++++++--
+ drivers/staging/media/rkvdec/rkvdec.h | 2 ++
+ 2 files changed, 49 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
+index 5949d59d4cf9..225aa1f0ac48 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.c
++++ b/drivers/staging/media/rkvdec/rkvdec.c
+@@ -108,15 +108,60 @@ static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
+ {
+ struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
+ const struct rkvdec_coded_fmt_desc *desc = ctx->coded_fmt_desc;
++ struct v4l2_pix_format_mplane *pix_mp = &ctx->decoded_fmt.fmt.pix_mp;
++ enum rkvdec_image_fmt image_fmt;
++ struct vb2_queue *vq;
++ int ret;
++
++ if (desc->ops->try_ctrl) {
++ ret = desc->ops->try_ctrl(ctx, ctrl);
++ if (ret)
++ return ret;
++ }
++
++ if (!desc->ops->get_image_fmt)
++ return 0;
+
+- if (desc->ops->try_ctrl)
+- return desc->ops->try_ctrl(ctx, ctrl);
++ image_fmt = desc->ops->get_image_fmt(ctx, ctrl);
++ if (ctx->image_fmt == image_fmt)
++ return 0;
++
++ if (rkvdec_is_valid_fmt(ctx, pix_mp->pixelformat, image_fmt))
++ return 0;
++
++ /* format change not allowed when queue is busy */
++ vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx,
++ V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE);
++ if (vb2_is_busy(vq))
++ return -EINVAL;
++
++ return 0;
++}
++
++static int rkvdec_s_ctrl(struct v4l2_ctrl *ctrl)
++{
++ struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
++ const struct rkvdec_coded_fmt_desc *desc = ctx->coded_fmt_desc;
++ struct v4l2_pix_format_mplane *pix_mp = &ctx->decoded_fmt.fmt.pix_mp;
++ enum rkvdec_image_fmt image_fmt;
++
++ if (!desc->ops->get_image_fmt)
++ return 0;
++
++ image_fmt = desc->ops->get_image_fmt(ctx, ctrl);
++ if (ctx->image_fmt == image_fmt)
++ return 0;
++
++ ctx->image_fmt = image_fmt;
++ if (!rkvdec_is_valid_fmt(ctx, pix_mp->pixelformat, ctx->image_fmt))
++ rkvdec_reset_decoded_fmt(ctx);
+
+ return 0;
+ }
+
+ static const struct v4l2_ctrl_ops rkvdec_ctrl_ops = {
+ .try_ctrl = rkvdec_try_ctrl,
++ .s_ctrl = rkvdec_s_ctrl,
+ };
+
+ static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = {
+diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h
+index 6f8cf50c5d99..e466a2753ccf 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.h
++++ b/drivers/staging/media/rkvdec/rkvdec.h
+@@ -73,6 +73,8 @@ struct rkvdec_coded_fmt_ops {
+ struct vb2_v4l2_buffer *dst_buf,
+ enum vb2_buffer_state result);
+ int (*try_ctrl)(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl);
++ enum rkvdec_image_fmt (*get_image_fmt)(struct rkvdec_ctx *ctx,
++ struct v4l2_ctrl *ctrl);
+ };
+
+ enum rkvdec_image_fmt {
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id DF360C4332F
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 17:05:42 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229489AbjKERFn (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 12:05:43 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36374 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229445AbjKERFn (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 12:05:43 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 174C497;
+ Sun, 5 Nov 2023 09:05:40 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203938; bh=7TvJ7hJu85Rv+IB9dyvciIwrrP9mf2NII64BLyqL6pI=;
+ b=c6ljQ0zc5Ummv/9BSWkxu9BtNA/+DCE2lXoUKtp9N4iUnWtyAwwNjkL2Bir0OIk0oyAfDbVaO
+ DydCMQZT7Xw9thbnRaxqGjl9JxlsfsM1MFfeiApOYBFCYpWvEFdZ4LCAo4KuhyYKaAjXPajcxa1
+ AsKteI80bM0J+jDIkZ7JW3WhVsayK8EFvvkRzG0/p/ioaVcDJH00SNkaTSgGVra9Qlb7VK43LKJ
+ Z2R+RvTtBArmGOPuOJqasDeCAWCp2U+FQW2KsF0hP4s1QWjBTWvMK5kOCuJ/mJ8TiS1Fj0VP/DY
+ 7T4m6ZNaWP0ja3sMROTPADMdc+dBmfooxn74yBsZw0xQ==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 01/11] media: v4l2-common: Add helpers to calculate bytesperline and sizeimage
+Date: Sun, 5 Nov 2023 16:55:00 +0000
+Message-ID: <20231105165521.3592037-2-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c90342ad2f8d152468e7
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 4617
+Lines: 129
+
+Add helper functions to calculate plane bytesperline and sizeimage,
+these new helpers consider bpp div, block width and height when
+calculating plane bytesperline and sizeimage.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- No change
+
+v3:
+- Consider bpp_div in calculation
+
+ drivers/media/v4l2-core/v4l2-common.c | 78 +++++++++++++--------------
+ 1 file changed, 39 insertions(+), 39 deletions(-)
+
+diff --git a/drivers/media/v4l2-core/v4l2-common.c b/drivers/media/v4l2-core/v4l2-common.c
+index 3a4b15a98e02..834b426da8b1 100644
+--- a/drivers/media/v4l2-core/v4l2-common.c
++++ b/drivers/media/v4l2-core/v4l2-common.c
+@@ -350,6 +350,34 @@ static inline unsigned int v4l2_format_block_height(const struct v4l2_format_inf
+ return info->block_h[plane];
+ }
+
++static inline unsigned int v4l2_format_plane_width(const struct v4l2_format_info *info, int plane,
++ unsigned int width)
++{
++ unsigned int hdiv = plane ? info->hdiv : 1;
++ unsigned int aligned_width =
++ ALIGN(width, v4l2_format_block_width(info, plane));
++
++ return DIV_ROUND_UP(aligned_width, hdiv) *
++ info->bpp[plane] / info->bpp_div[plane];
++}
++
++static inline unsigned int v4l2_format_plane_height(const struct v4l2_format_info *info, int plane,
++ unsigned int height)
++{
++ unsigned int vdiv = plane ? info->vdiv : 1;
++ unsigned int aligned_height =
++ ALIGN(height, v4l2_format_block_height(info, plane));
++
++ return DIV_ROUND_UP(aligned_height, vdiv);
++}
++
++static inline unsigned int v4l2_format_plane_size(const struct v4l2_format_info *info, int plane,
++ unsigned int width, unsigned int height)
++{
++ return v4l2_format_plane_width(info, plane, width) *
++ v4l2_format_plane_height(info, plane, height);
++}
++
+ void v4l2_apply_frmsize_constraints(u32 *width, u32 *height,
+ const struct v4l2_frmsize_stepwise *frmsize)
+ {
+@@ -385,37 +413,19 @@ int v4l2_fill_pixfmt_mp(struct v4l2_pix_format_mplane *pixfmt,
+
+ if (info->mem_planes == 1) {
+ plane = &pixfmt->plane_fmt[0];
+- plane->bytesperline = ALIGN(width, v4l2_format_block_width(info, 0)) * info->bpp[0] / info->bpp_div[0];
++ plane->bytesperline = v4l2_format_plane_width(info, 0, width);
+ plane->sizeimage = 0;
+
+- for (i = 0; i < info->comp_planes; i++) {
+- unsigned int hdiv = (i == 0) ? 1 : info->hdiv;
+- unsigned int vdiv = (i == 0) ? 1 : info->vdiv;
+- unsigned int aligned_width;
+- unsigned int aligned_height;
+-
+- aligned_width = ALIGN(width, v4l2_format_block_width(info, i));
+- aligned_height = ALIGN(height, v4l2_format_block_height(info, i));
+-
+- plane->sizeimage += info->bpp[i] *
+- DIV_ROUND_UP(aligned_width, hdiv) *
+- DIV_ROUND_UP(aligned_height, vdiv) / info->bpp_div[i];
+- }
++ for (i = 0; i < info->comp_planes; i++)
++ plane->sizeimage +=
++ v4l2_format_plane_size(info, i, width, height);
+ } else {
+ for (i = 0; i < info->comp_planes; i++) {
+- unsigned int hdiv = (i == 0) ? 1 : info->hdiv;
+- unsigned int vdiv = (i == 0) ? 1 : info->vdiv;
+- unsigned int aligned_width;
+- unsigned int aligned_height;
+-
+- aligned_width = ALIGN(width, v4l2_format_block_width(info, i));
+- aligned_height = ALIGN(height, v4l2_format_block_height(info, i));
+-
+ plane = &pixfmt->plane_fmt[i];
+ plane->bytesperline =
+- info->bpp[i] * DIV_ROUND_UP(aligned_width, hdiv) / info->bpp_div[i];
+- plane->sizeimage =
+- plane->bytesperline * DIV_ROUND_UP(aligned_height, vdiv);
++ v4l2_format_plane_width(info, i, width);
++ plane->sizeimage = plane->bytesperline *
++ v4l2_format_plane_height(info, i, height);
+ }
+ }
+ return 0;
+@@ -439,22 +449,12 @@ int v4l2_fill_pixfmt(struct v4l2_pix_format *pixfmt, u32 pixelformat,
+ pixfmt->width = width;
+ pixfmt->height = height;
+ pixfmt->pixelformat = pixelformat;
+- pixfmt->bytesperline = ALIGN(width, v4l2_format_block_width(info, 0)) * info->bpp[0] / info->bpp_div[0];
++ pixfmt->bytesperline = v4l2_format_plane_width(info, 0, width);
+ pixfmt->sizeimage = 0;
+
+- for (i = 0; i < info->comp_planes; i++) {
+- unsigned int hdiv = (i == 0) ? 1 : info->hdiv;
+- unsigned int vdiv = (i == 0) ? 1 : info->vdiv;
+- unsigned int aligned_width;
+- unsigned int aligned_height;
+-
+- aligned_width = ALIGN(width, v4l2_format_block_width(info, i));
+- aligned_height = ALIGN(height, v4l2_format_block_height(info, i));
+-
+- pixfmt->sizeimage += info->bpp[i] *
+- DIV_ROUND_UP(aligned_width, hdiv) *
+- DIV_ROUND_UP(aligned_height, vdiv) / info->bpp_div[i];
+- }
++ for (i = 0; i < info->comp_planes; i++)
++ pixfmt->sizeimage +=
++ v4l2_format_plane_size(info, i, width, height);
+ return 0;
+ }
+ EXPORT_SYMBOL_GPL(v4l2_fill_pixfmt);
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id E8AB8C4332F
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 17:06:34 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229599AbjKERGf (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 12:06:35 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49762 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229448AbjKERGe (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 12:06:34 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 86726CC;
+ Sun, 5 Nov 2023 09:06:31 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203989; bh=DHrB2MDEvgLvMGiiGW4ysBRF9ISWcTsdFhQXpZT8qmk=;
+ b=qmG2UqLYMHESXsPdAlgbWWmznBQ+5Rc/W8EIDO0qSi+1yFUmMT+7+LjPru6aNwNGUsKKRYzb/
+ EY6npsho/gelDfv/bMhMUH5ndDkQCcOqZCToPdUe0PMb38XzUz5XHCLQMEYwMYTtgLjz4KhCRUu
+ g2nf26aFjz09K1jtw4iXOLCLAUYi36nTcDGJD9A13XdIsr8M7IWP/XQB+e7g+eWEKqsgD4JOqzH
+ Nab8uOYS4hQZIMT/Ova8vLF2KuzcAjAK6OQVaDE3MvKT7EjLO0Ole1+rQ98P5NmDGs12WosfF9m
+ 4StMPGZuIZleIWK657/cEYge1ZXLPL+xPAI2af7/C2uQ==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 07/11] media: rkvdec: Move rkvdec_reset_decoded_fmt helper
+Date: Sun, 5 Nov 2023 16:55:06 +0000
+Message-ID: <20231105165521.3592037-8-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c91a42ad2f8d15246935
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 2929
+Lines: 88
+
+Move rkvdec_reset_decoded_fmt() and the called rkvdec_reset_fmt() helper
+functions in preparation for adding a new caller in an upcoming patch.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- No change
+
+v3:
+- New patch
+
+ drivers/staging/media/rkvdec/rkvdec.c | 46 +++++++++++++--------------
+ 1 file changed, 23 insertions(+), 23 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
+index 0570c790ad08..7a79840470e1 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.c
++++ b/drivers/staging/media/rkvdec/rkvdec.c
+@@ -37,6 +37,29 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
+ DIV_ROUND_UP(pix_mp->height, 16);
+ }
+
++static void rkvdec_reset_fmt(struct rkvdec_ctx *ctx, struct v4l2_format *f,
++ u32 fourcc)
++{
++ memset(f, 0, sizeof(*f));
++ f->fmt.pix_mp.pixelformat = fourcc;
++ f->fmt.pix_mp.field = V4L2_FIELD_NONE;
++ f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_REC709;
++ f->fmt.pix_mp.ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT;
++ f->fmt.pix_mp.quantization = V4L2_QUANTIZATION_DEFAULT;
++ f->fmt.pix_mp.xfer_func = V4L2_XFER_FUNC_DEFAULT;
++}
++
++static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
++{
++ struct v4l2_format *f = &ctx->decoded_fmt;
++
++ rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]);
++ f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
++ f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
++ f->fmt.pix_mp.height = ctx->coded_fmt.fmt.pix_mp.height;
++ rkvdec_fill_decoded_pixfmt(ctx, &f->fmt.pix_mp);
++}
++
+ static int rkvdec_try_ctrl(struct v4l2_ctrl *ctrl)
+ {
+ struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl);
+@@ -169,18 +192,6 @@ rkvdec_find_coded_fmt_desc(u32 fourcc)
+ return NULL;
+ }
+
+-static void rkvdec_reset_fmt(struct rkvdec_ctx *ctx, struct v4l2_format *f,
+- u32 fourcc)
+-{
+- memset(f, 0, sizeof(*f));
+- f->fmt.pix_mp.pixelformat = fourcc;
+- f->fmt.pix_mp.field = V4L2_FIELD_NONE;
+- f->fmt.pix_mp.colorspace = V4L2_COLORSPACE_REC709;
+- f->fmt.pix_mp.ycbcr_enc = V4L2_YCBCR_ENC_DEFAULT;
+- f->fmt.pix_mp.quantization = V4L2_QUANTIZATION_DEFAULT;
+- f->fmt.pix_mp.xfer_func = V4L2_XFER_FUNC_DEFAULT;
+-}
+-
+ static void rkvdec_reset_coded_fmt(struct rkvdec_ctx *ctx)
+ {
+ struct v4l2_format *f = &ctx->coded_fmt;
+@@ -196,17 +207,6 @@ static void rkvdec_reset_coded_fmt(struct rkvdec_ctx *ctx)
+ ctx->coded_fmt_desc->ops->adjust_fmt(ctx, f);
+ }
+
+-static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
+-{
+- struct v4l2_format *f = &ctx->decoded_fmt;
+-
+- rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]);
+- f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+- f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
+- f->fmt.pix_mp.height = ctx->coded_fmt.fmt.pix_mp.height;
+- rkvdec_fill_decoded_pixfmt(ctx, &f->fmt.pix_mp);
+-}
+-
+ static int rkvdec_enum_framesizes(struct file *file, void *priv,
+ struct v4l2_frmsizeenum *fsize)
+ {
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id 13D34C4167D
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 17:06:36 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229713AbjKERGg (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 12:06:36 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49742 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229445AbjKERGe (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 12:06:34 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 658B0BE;
+ Sun, 5 Nov 2023 09:06:31 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203989; bh=xMWdTI2tUEFKp2F1sr+htYd15e9XusEq/UI6wwQ23Zo=;
+ b=ZyiltVXf8DDsLqPsgtPJgmb3HjfrtesgDPcdXKeTv9LmdPuf5p/dHGViNsOMP55fb0AllTPZI
+ +GYZTNfnkZRUci2yDg85xvcVfB4qqwcOerT5AiZ2yI+b3fluYbcT/aQYBcOfWFmsC38AMYUObPE
+ 7uB+brrbLncf+LOFQvobQi1o9aZKobaW7glDrpjrHlmXU5Cd6sGaFubfnqBZSKhRcnhUdV5F2se
+ 3h1YHIp7EfEXXyMy6TRcqAn4dQWILwcVQPSfBjLUGRNOGxmXVBxQ/ucfLmqBfGnCqYezK/EhLhu
+ VaHDM9J/9hnv8XqC38Tp71ktBmt0DX+gjp/G4cJ9tXsA==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 08/11] media: rkvdec: Extract decoded format enumeration into helper
+Date: Sun, 5 Nov 2023 16:55:07 +0000
+Message-ID: <20231105165521.3592037-9-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c91e42ad2f8d15246942
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 3560
+Lines: 114
+
+Add a rkvdec_is_valid_fmt() helper that check if a fourcc is a supported
+CAPTURE format, and a rkvdec_enum_decoded_fmt() helper that enumerate
+valid formats.
+
+This move current code into helper functions in preparation for adding
+CAPTURE format filtering and validation in next patch.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- Rename rkvdec_decoded_fmts() to rkvdec_enum_decoded_fmt()
+- Rename rkvdec_valid_fmt() to rkvdec_is_valid_fmt()
+
+v3:
+- New patch
+
+ drivers/staging/media/rkvdec/rkvdec.c | 49 +++++++++++++++++++--------
+ 1 file changed, 35 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
+index 7a79840470e1..c3aede94c872 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.c
++++ b/drivers/staging/media/rkvdec/rkvdec.c
+@@ -27,6 +27,32 @@
+ #include "rkvdec.h"
+ #include "rkvdec-regs.h"
+
++static u32 rkvdec_enum_decoded_fmt(struct rkvdec_ctx *ctx, int index)
++{
++ const struct rkvdec_coded_fmt_desc *desc = ctx->coded_fmt_desc;
++
++ if (WARN_ON(!desc))
++ return 0;
++
++ if (index >= desc->num_decoded_fmts)
++ return 0;
++
++ return desc->decoded_fmts[index];
++}
++
++static bool rkvdec_is_valid_fmt(struct rkvdec_ctx *ctx, u32 fourcc)
++{
++ const struct rkvdec_coded_fmt_desc *desc = ctx->coded_fmt_desc;
++ unsigned int i;
++
++ for (i = 0; i < desc->num_decoded_fmts; i++) {
++ if (desc->decoded_fmts[i] == fourcc)
++ return true;
++ }
++
++ return false;
++}
++
+ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
+ struct v4l2_pix_format_mplane *pix_mp)
+ {
+@@ -52,8 +78,10 @@ static void rkvdec_reset_fmt(struct rkvdec_ctx *ctx, struct v4l2_format *f,
+ static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
+ {
+ struct v4l2_format *f = &ctx->decoded_fmt;
++ u32 fourcc;
+
+- rkvdec_reset_fmt(ctx, f, ctx->coded_fmt_desc->decoded_fmts[0]);
++ fourcc = rkvdec_enum_decoded_fmt(ctx, 0);
++ rkvdec_reset_fmt(ctx, f, fourcc);
+ f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+ f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
+ f->fmt.pix_mp.height = ctx->coded_fmt.fmt.pix_mp.height;
+@@ -244,7 +272,6 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
+ struct v4l2_pix_format_mplane *pix_mp = &f->fmt.pix_mp;
+ struct rkvdec_ctx *ctx = fh_to_rkvdec_ctx(priv);
+ const struct rkvdec_coded_fmt_desc *coded_desc;
+- unsigned int i;
+
+ /*
+ * The codec context should point to a coded format desc, if the format
+@@ -255,13 +282,8 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
+ if (WARN_ON(!coded_desc))
+ return -EINVAL;
+
+- for (i = 0; i < coded_desc->num_decoded_fmts; i++) {
+- if (coded_desc->decoded_fmts[i] == pix_mp->pixelformat)
+- break;
+- }
+-
+- if (i == coded_desc->num_decoded_fmts)
+- pix_mp->pixelformat = coded_desc->decoded_fmts[0];
++ if (!rkvdec_is_valid_fmt(ctx, pix_mp->pixelformat))
++ pix_mp->pixelformat = rkvdec_enum_decoded_fmt(ctx, 0);
+
+ /* Always apply the frmsize constraint of the coded end. */
+ pix_mp->width = max(pix_mp->width, ctx->coded_fmt.fmt.pix_mp.width);
+@@ -425,14 +447,13 @@ static int rkvdec_enum_capture_fmt(struct file *file, void *priv,
+ struct v4l2_fmtdesc *f)
+ {
+ struct rkvdec_ctx *ctx = fh_to_rkvdec_ctx(priv);
++ u32 fourcc;
+
+- if (WARN_ON(!ctx->coded_fmt_desc))
+- return -EINVAL;
+-
+- if (f->index >= ctx->coded_fmt_desc->num_decoded_fmts)
++ fourcc = rkvdec_enum_decoded_fmt(ctx, f->index);
++ if (!fourcc)
+ return -EINVAL;
+
+- f->pixelformat = ctx->coded_fmt_desc->decoded_fmts[f->index];
++ f->pixelformat = fourcc;
+ return 0;
+ }
+
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id 76EB5C4332F
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 17:06:37 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229763AbjKERGh (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 12:06:37 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49746 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229468AbjKERGe (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 12:06:34 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 65B2FC0;
+ Sun, 5 Nov 2023 09:06:31 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203989; bh=agrfRALBNiUBrIChitGx/tWeu1YIIhSrbadQHiAr0/U=;
+ b=EqAb0U5L9SU595Hn0hOfOqRGiHEhR7msr6AoN8PLhH//fPEIGnD2XGrABq//gcZ0L4iFzDMn1
+ LQVWfRPX2+HolbeaZU5GJYid4xPzyEiMaE7b1ME83f895yElL7cWkVNNruYw2+OZEwf83G1gOhX
+ 30GscCQ6yADNSg0vZUkJ8O+Gn0wsiC/8o491YC2Vm633H2NTnYBfnn8DD8mt8QjOteS1iO2CLGV
+ qRol7kkRs4B5Sw159YFgD2PjT5phdzjb3s5weGf4bC0Oy4NKAzVq8PfKtsRyGjLUWFwyOr5gLf/
+ VoOB+lXhBbfM9YZcTvjcotOutLz4xDS89FXy5NWgjjlw==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 09/11] media: rkvdec: Add image format concept
+Date: Sun, 5 Nov 2023 16:55:08 +0000
+Message-ID: <20231105165521.3592037-10-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c92242ad2f8d1524694f
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 5178
+Lines: 164
+
+Add an enum rkvdec_image_fmt used to signal an image format, e.g.
+4:2:0 8-bit, 4:2:0 10-bit or any.
+
+Tag each supported CAPUTRE format with an image format and use this tag
+to filter out unsupported CAPTURE formats.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- Change fmt_opaque into an image format
+- Split patch into two
+
+v3:
+- New patch
+
+ drivers/staging/media/rkvdec/rkvdec.c | 45 ++++++++++++++++++++-------
+ drivers/staging/media/rkvdec/rkvdec.h | 13 +++++++-
+ 2 files changed, 45 insertions(+), 13 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
+index c3aede94c872..5949d59d4cf9 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.c
++++ b/drivers/staging/media/rkvdec/rkvdec.c
+@@ -27,26 +27,42 @@
+ #include "rkvdec.h"
+ #include "rkvdec-regs.h"
+
+-static u32 rkvdec_enum_decoded_fmt(struct rkvdec_ctx *ctx, int index)
++static inline bool rkvdec_image_fmt_match(enum rkvdec_image_fmt fmt1,
++ enum rkvdec_image_fmt fmt2)
++{
++ return fmt1 == fmt2 || fmt2 == RKVDEC_IMG_FMT_ANY ||
++ fmt1 == RKVDEC_IMG_FMT_ANY;
++}
++
++static u32 rkvdec_enum_decoded_fmt(struct rkvdec_ctx *ctx, int index,
++ enum rkvdec_image_fmt image_fmt)
+ {
+ const struct rkvdec_coded_fmt_desc *desc = ctx->coded_fmt_desc;
++ unsigned int i, j;
+
+ if (WARN_ON(!desc))
+ return 0;
+
+- if (index >= desc->num_decoded_fmts)
+- return 0;
++ for (i = 0, j = 0; i < desc->num_decoded_fmts; i++) {
++ if (rkvdec_image_fmt_match(desc->decoded_fmts[i].image_fmt,
++ image_fmt) &&
++ index == j++)
++ return desc->decoded_fmts[i].fourcc;
++ }
+
+- return desc->decoded_fmts[index];
++ return 0;
+ }
+
+-static bool rkvdec_is_valid_fmt(struct rkvdec_ctx *ctx, u32 fourcc)
++static bool rkvdec_is_valid_fmt(struct rkvdec_ctx *ctx, u32 fourcc,
++ enum rkvdec_image_fmt image_fmt)
+ {
+ const struct rkvdec_coded_fmt_desc *desc = ctx->coded_fmt_desc;
+ unsigned int i;
+
+ for (i = 0; i < desc->num_decoded_fmts; i++) {
+- if (desc->decoded_fmts[i] == fourcc)
++ if (rkvdec_image_fmt_match(desc->decoded_fmts[i].image_fmt,
++ image_fmt) &&
++ desc->decoded_fmts[i].fourcc == fourcc)
+ return true;
+ }
+
+@@ -80,7 +96,7 @@ static void rkvdec_reset_decoded_fmt(struct rkvdec_ctx *ctx)
+ struct v4l2_format *f = &ctx->decoded_fmt;
+ u32 fourcc;
+
+- fourcc = rkvdec_enum_decoded_fmt(ctx, 0);
++ fourcc = rkvdec_enum_decoded_fmt(ctx, 0, ctx->image_fmt);
+ rkvdec_reset_fmt(ctx, f, fourcc);
+ f->type = V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE;
+ f->fmt.pix_mp.width = ctx->coded_fmt.fmt.pix_mp.width;
+@@ -149,8 +165,11 @@ static const struct rkvdec_ctrls rkvdec_h264_ctrls = {
+ .num_ctrls = ARRAY_SIZE(rkvdec_h264_ctrl_descs),
+ };
+
+-static const u32 rkvdec_h264_vp9_decoded_fmts[] = {
+- V4L2_PIX_FMT_NV12,
++static const struct rkvdec_decoded_fmt_desc rkvdec_h264_vp9_decoded_fmts[] = {
++ {
++ .fourcc = V4L2_PIX_FMT_NV12,
++ .image_fmt = RKVDEC_IMG_FMT_420_8BIT,
++ },
+ };
+
+ static const struct rkvdec_ctrl_desc rkvdec_vp9_ctrl_descs[] = {
+@@ -282,8 +301,9 @@ static int rkvdec_try_capture_fmt(struct file *file, void *priv,
+ if (WARN_ON(!coded_desc))
+ return -EINVAL;
+
+- if (!rkvdec_is_valid_fmt(ctx, pix_mp->pixelformat))
+- pix_mp->pixelformat = rkvdec_enum_decoded_fmt(ctx, 0);
++ if (!rkvdec_is_valid_fmt(ctx, pix_mp->pixelformat, ctx->image_fmt))
++ pix_mp->pixelformat = rkvdec_enum_decoded_fmt(ctx, 0,
++ ctx->image_fmt);
+
+ /* Always apply the frmsize constraint of the coded end. */
+ pix_mp->width = max(pix_mp->width, ctx->coded_fmt.fmt.pix_mp.width);
+@@ -400,6 +420,7 @@ static int rkvdec_s_output_fmt(struct file *file, void *priv,
+ *
+ * Note that this will propagates any size changes to the decoded format.
+ */
++ ctx->image_fmt = RKVDEC_IMG_FMT_ANY;
+ rkvdec_reset_decoded_fmt(ctx);
+
+ /* Propagate colorspace information to capture. */
+@@ -449,7 +470,7 @@ static int rkvdec_enum_capture_fmt(struct file *file, void *priv,
+ struct rkvdec_ctx *ctx = fh_to_rkvdec_ctx(priv);
+ u32 fourcc;
+
+- fourcc = rkvdec_enum_decoded_fmt(ctx, f->index);
++ fourcc = rkvdec_enum_decoded_fmt(ctx, f->index, ctx->image_fmt);
+ if (!fourcc)
+ return -EINVAL;
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h
+index 633335ebb9c4..6f8cf50c5d99 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.h
++++ b/drivers/staging/media/rkvdec/rkvdec.h
+@@ -75,13 +75,23 @@ struct rkvdec_coded_fmt_ops {
+ int (*try_ctrl)(struct rkvdec_ctx *ctx, struct v4l2_ctrl *ctrl);
+ };
+
++enum rkvdec_image_fmt {
++ RKVDEC_IMG_FMT_ANY = 0,
++ RKVDEC_IMG_FMT_420_8BIT,
++};
++
++struct rkvdec_decoded_fmt_desc {
++ u32 fourcc;
++ enum rkvdec_image_fmt image_fmt;
++};
++
+ struct rkvdec_coded_fmt_desc {
+ u32 fourcc;
+ struct v4l2_frmsize_stepwise frmsize;
+ const struct rkvdec_ctrls *ctrls;
+ const struct rkvdec_coded_fmt_ops *ops;
+ unsigned int num_decoded_fmts;
+- const u32 *decoded_fmts;
++ const struct rkvdec_decoded_fmt_desc *decoded_fmts;
+ u32 subsystem_flags;
+ };
+
+@@ -104,6 +114,7 @@ struct rkvdec_ctx {
+ const struct rkvdec_coded_fmt_desc *coded_fmt_desc;
+ struct v4l2_ctrl_handler ctrl_hdl;
+ struct rkvdec_dev *dev;
++ enum rkvdec_image_fmt image_fmt;
+ void *priv;
+ };
+
+--
+2.42.0
+
+
+From mboxrd@z Thu Jan 1 00:00:00 1970
+Return-Path: <linux-media-owner@vger.kernel.org>
+X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on
+ aws-us-west-2-korg-lkml-1.web.codeaurora.org
+Received: from vger.kernel.org (vger.kernel.org [23.128.96.18])
+ by smtp.lore.kernel.org (Postfix) with ESMTP id B3251C4167D
+ for <linux-media@archiver.kernel.org>; Sun, 5 Nov 2023 17:06:38 +0000 (UTC)
+Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
+ id S229819AbjKERGi (ORCPT <rfc822;linux-media@archiver.kernel.org>);
+ Sun, 5 Nov 2023 12:06:38 -0500
+Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49766 "EHLO
+ lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
+ with ESMTP id S229485AbjKERGe (ORCPT
+ <rfc822;linux-media@vger.kernel.org>); Sun, 5 Nov 2023 12:06:34 -0500
+Received: from smtp.forwardemail.net (smtp.forwardemail.net [149.28.215.223])
+ by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8D673CF;
+ Sun, 5 Nov 2023 09:06:31 -0800 (PST)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se;
+ h=Content-Transfer-Encoding: MIME-Version: References: In-Reply-To:
+ Message-ID: Date: Subject: Cc: To: From; q=dns/txt; s=fe-e1b5cab7be;
+ t=1699203989; bh=WmsBIZTUryXo8sAoKKwOi0tlNS64CkDxgo5K4gfiot4=;
+ b=dWnV8LMI4yaUluAmzqSRc780oE8KkxYXJ766IuIV+C7KMLeTDayvTUoFGRLBjgwEWQO422y3R
+ G3Agw4uO2OdiC2oHEvn7WzfUN3aqCE41gviOY4xU2Nsc69VNj9j6RtI4c850hkoL/UM++ACftrG
+ O6FAClJ47jWIWHZyFCkyb1zIP3zcjf/BIrmw1+sQtHl3vQfBWkz3nN7t20p9G/yUu3gFVKA0wCe
+ xkX75Fw61bnYYaHCYsDCH73qRfroG6ZEfcsO+8aumYL0Relj0XqGshXGFTxV1nO6YzXEo16K5as
+ ezQuCyd80lFKj3mDBawIjB8Nd2RlMGQYFpxIdE26g5/g==
+From: Jonas Karlman <jonas@kwiboo.se>
+To: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
+ Mauro Carvalho Chehab <mchehab@kernel.org>,
+ Hans Verkuil <hverkuil-cisco@xs4all.nl>,
+ "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
+Cc: Alex Bee <knaerzche@gmail.com>,
+ Nicolas Dufresne <nicolas.dufresne@collabora.com>,
+ Benjamin Gaignard <benjamin.gaignard@collabora.com>,
+ Sebastian Fricke <sebastian.fricke@collabora.com>,
+ Christopher Obbard <chris.obbard@collabora.com>,
+ linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org,
+ linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org,
+ Jonas Karlman <jonas@kwiboo.se>
+Subject: [PATCH v4 11/11] media: rkvdec: h264: Support High 10 and 4:2:2 profiles
+Date: Sun, 5 Nov 2023 16:55:10 +0000
+Message-ID: <20231105165521.3592037-12-jonas@kwiboo.se>
+X-Mailer: git-send-email 2.42.0
+In-Reply-To: <20231105165521.3592037-1-jonas@kwiboo.se>
+References: <20231105165521.3592037-1-jonas@kwiboo.se>
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+X-Report-Abuse-To: abuse@forwardemail.net
+X-Report-Abuse: abuse@forwardemail.net
+X-Complaints-To: abuse@forwardemail.net
+X-ForwardEmail-Version: 0.4.40
+X-ForwardEmail-Sender: rfc822; jonas@kwiboo.se, smtp.forwardemail.net,
+ 149.28.215.223
+X-ForwardEmail-ID: 6547c92b42ad2f8d15246969
+Precedence: bulk
+List-ID: <linux-media.vger.kernel.org>
+X-Mailing-List: linux-media@vger.kernel.org
+Status: RO
+Content-Length: 6470
+Lines: 194
+
+Add support and enable decoding of H264 High 10 and 4:2:2 profiles.
+
+Decoded CAPTURE buffer width is aligned to 64 pixels to accommodate HW
+requirement of 10-bit format buffers, fixes decoding of:
+
+- Hi422FR13_SONY_A
+- Hi422FR14_SONY_A
+- Hi422FR15_SONY_A
+- Hi422FR6_SONY_A
+- Hi422FR7_SONY_A
+- Hi422FR8_SONY_A
+- Hi422FR9_SONY_A
+- Hi422FREXT18_SONY_A
+
+The get_image_fmt() ops is implemented to select an image format
+required for the provided SPS control.
+
+Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
+---
+v4:
+- Change to use get_image_fmt() ops
+
+v3:
+- Add get_fmt_opaque ops, the expected pixelformat is used as opaque
+- Add new valid_fmt ops that validate pixelformat matches opaque
+- Update H264_PROFILE control max value
+
+ drivers/staging/media/rkvdec/rkvdec-h264.c | 37 ++++++++++++++++------
+ drivers/staging/media/rkvdec/rkvdec.c | 33 +++++++++++++++----
+ drivers/staging/media/rkvdec/rkvdec.h | 3 ++
+ 3 files changed, 57 insertions(+), 16 deletions(-)
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec-h264.c b/drivers/staging/media/rkvdec/rkvdec-h264.c
+index 815d5359ddd5..baac6d012ddd 100644
+--- a/drivers/staging/media/rkvdec/rkvdec-h264.c
++++ b/drivers/staging/media/rkvdec/rkvdec-h264.c
+@@ -1027,24 +1027,42 @@ static int rkvdec_h264_adjust_fmt(struct rkvdec_ctx *ctx,
+ return 0;
+ }
+
++static enum rkvdec_image_fmt rkvdec_h264_get_image_fmt(struct rkvdec_ctx *ctx,
++ struct v4l2_ctrl *ctrl)
++{
++ const struct v4l2_ctrl_h264_sps *sps = ctrl->p_new.p_h264_sps;
++
++ if (ctrl->id != V4L2_CID_STATELESS_H264_SPS)
++ return RKVDEC_IMG_FMT_ANY;
++
++ if (sps->bit_depth_luma_minus8 == 0) {
++ if (sps->chroma_format_idc == 2)
++ return RKVDEC_IMG_FMT_422_8BIT;
++ else
++ return RKVDEC_IMG_FMT_420_8BIT;
++ } else if (sps->bit_depth_luma_minus8 == 2) {
++ if (sps->chroma_format_idc == 2)
++ return RKVDEC_IMG_FMT_422_10BIT;
++ else
++ return RKVDEC_IMG_FMT_420_10BIT;
++ }
++
++ return RKVDEC_IMG_FMT_ANY;
++}
++
+ static int rkvdec_h264_validate_sps(struct rkvdec_ctx *ctx,
+ const struct v4l2_ctrl_h264_sps *sps)
+ {
+ unsigned int width, height;
+
+- /*
+- * TODO: The hardware supports 10-bit and 4:2:2 profiles,
+- * but it's currently broken in the driver.
+- * Reject them for now, until it's fixed.
+- */
+- if (sps->chroma_format_idc > 1)
+- /* Only 4:0:0 and 4:2:0 are supported */
++ if (sps->chroma_format_idc > 2)
++ /* Only 4:0:0, 4:2:0 and 4:2:2 are supported */
+ return -EINVAL;
+ if (sps->bit_depth_luma_minus8 != sps->bit_depth_chroma_minus8)
+ /* Luma and chroma bit depth mismatch */
+ return -EINVAL;
+- if (sps->bit_depth_luma_minus8 != 0)
+- /* Only 8-bit is supported */
++ if (sps->bit_depth_luma_minus8 != 0 && sps->bit_depth_luma_minus8 != 2)
++ /* Only 8-bit and 10-bit is supported */
+ return -EINVAL;
+
+ width = (sps->pic_width_in_mbs_minus1 + 1) * 16;
+@@ -1175,4 +1193,5 @@ const struct rkvdec_coded_fmt_ops rkvdec_h264_fmt_ops = {
+ .stop = rkvdec_h264_stop,
+ .run = rkvdec_h264_run,
+ .try_ctrl = rkvdec_h264_try_ctrl,
++ .get_image_fmt = rkvdec_h264_get_image_fmt,
+ };
+diff --git a/drivers/staging/media/rkvdec/rkvdec.c b/drivers/staging/media/rkvdec/rkvdec.c
+index 225aa1f0ac48..eb59605ccf28 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.c
++++ b/drivers/staging/media/rkvdec/rkvdec.c
+@@ -73,7 +73,7 @@ static void rkvdec_fill_decoded_pixfmt(struct rkvdec_ctx *ctx,
+ struct v4l2_pix_format_mplane *pix_mp)
+ {
+ v4l2_fill_pixfmt_mp(pix_mp, pix_mp->pixelformat,
+- pix_mp->width, pix_mp->height);
++ ALIGN(pix_mp->width, 64), pix_mp->height);
+ pix_mp->plane_fmt[0].sizeimage += 128 *
+ DIV_ROUND_UP(pix_mp->width, 16) *
+ DIV_ROUND_UP(pix_mp->height, 16);
+@@ -193,7 +193,7 @@ static const struct rkvdec_ctrl_desc rkvdec_h264_ctrl_descs[] = {
+ {
+ .cfg.id = V4L2_CID_MPEG_VIDEO_H264_PROFILE,
+ .cfg.min = V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE,
+- .cfg.max = V4L2_MPEG_VIDEO_H264_PROFILE_HIGH,
++ .cfg.max = V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422,
+ .cfg.menu_skip_mask =
+ BIT(V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED),
+ .cfg.def = V4L2_MPEG_VIDEO_H264_PROFILE_MAIN,
+@@ -210,11 +210,23 @@ static const struct rkvdec_ctrls rkvdec_h264_ctrls = {
+ .num_ctrls = ARRAY_SIZE(rkvdec_h264_ctrl_descs),
+ };
+
+-static const struct rkvdec_decoded_fmt_desc rkvdec_h264_vp9_decoded_fmts[] = {
++static const struct rkvdec_decoded_fmt_desc rkvdec_h264_decoded_fmts[] = {
+ {
+ .fourcc = V4L2_PIX_FMT_NV12,
+ .image_fmt = RKVDEC_IMG_FMT_420_8BIT,
+ },
++ {
++ .fourcc = V4L2_PIX_FMT_NV15,
++ .image_fmt = RKVDEC_IMG_FMT_420_10BIT,
++ },
++ {
++ .fourcc = V4L2_PIX_FMT_NV16,
++ .image_fmt = RKVDEC_IMG_FMT_422_8BIT,
++ },
++ {
++ .fourcc = V4L2_PIX_FMT_NV20,
++ .image_fmt = RKVDEC_IMG_FMT_422_10BIT,
++ },
+ };
+
+ static const struct rkvdec_ctrl_desc rkvdec_vp9_ctrl_descs[] = {
+@@ -237,6 +249,13 @@ static const struct rkvdec_ctrls rkvdec_vp9_ctrls = {
+ .num_ctrls = ARRAY_SIZE(rkvdec_vp9_ctrl_descs),
+ };
+
++static const struct rkvdec_decoded_fmt_desc rkvdec_vp9_decoded_fmts[] = {
++ {
++ .fourcc = V4L2_PIX_FMT_NV12,
++ .image_fmt = RKVDEC_IMG_FMT_420_8BIT,
++ },
++};
++
+ static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = {
+ {
+ .fourcc = V4L2_PIX_FMT_H264_SLICE,
+@@ -250,8 +269,8 @@ static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = {
+ },
+ .ctrls = &rkvdec_h264_ctrls,
+ .ops = &rkvdec_h264_fmt_ops,
+- .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_vp9_decoded_fmts),
+- .decoded_fmts = rkvdec_h264_vp9_decoded_fmts,
++ .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_decoded_fmts),
++ .decoded_fmts = rkvdec_h264_decoded_fmts,
+ .subsystem_flags = VB2_V4L2_FL_SUPPORTS_M2M_HOLD_CAPTURE_BUF,
+ },
+ {
+@@ -266,8 +285,8 @@ static const struct rkvdec_coded_fmt_desc rkvdec_coded_fmts[] = {
+ },
+ .ctrls = &rkvdec_vp9_ctrls,
+ .ops = &rkvdec_vp9_fmt_ops,
+- .num_decoded_fmts = ARRAY_SIZE(rkvdec_h264_vp9_decoded_fmts),
+- .decoded_fmts = rkvdec_h264_vp9_decoded_fmts,
++ .num_decoded_fmts = ARRAY_SIZE(rkvdec_vp9_decoded_fmts),
++ .decoded_fmts = rkvdec_vp9_decoded_fmts,
+ }
+ };
+
+diff --git a/drivers/staging/media/rkvdec/rkvdec.h b/drivers/staging/media/rkvdec/rkvdec.h
+index e466a2753ccf..9a9f4fced7a1 100644
+--- a/drivers/staging/media/rkvdec/rkvdec.h
++++ b/drivers/staging/media/rkvdec/rkvdec.h
+@@ -80,6 +80,9 @@ struct rkvdec_coded_fmt_ops {
+ enum rkvdec_image_fmt {
+ RKVDEC_IMG_FMT_ANY = 0,
+ RKVDEC_IMG_FMT_420_8BIT,
++ RKVDEC_IMG_FMT_420_10BIT,
++ RKVDEC_IMG_FMT_422_8BIT,
++ RKVDEC_IMG_FMT_422_10BIT,
+ };
+
+ struct rkvdec_decoded_fmt_desc {
+--
+2.42.0
+
+
diff --git a/testing/linux-gru/config b/testing/linux-gru/config
new file mode 100644
index 00000000000..7420227fcf2
--- /dev/null
+++ b/testing/linux-gru/config
@@ -0,0 +1,7386 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/arm64 6.8.1 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=130201
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=24200
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=24200
+CONFIG_LLD_VERSION=0
+CONFIG_RUST_IS_AVAILABLE=y
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="localhost"
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_GENERIC_IRQ_INJECTION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_GENERIC_IRQ_CHIP=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_MSI_IOMMU=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# end of IRQ subsystem
+
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+
+#
+# BPF subsystem
+#
+# CONFIG_BPF_SYSCALL is not set
+# CONFIG_BPF_JIT is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+# CONFIG_PREEMPT_DYNAMIC is not set
+# CONFIG_SCHED_CORE is not set
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_SCHED_THERMAL_PRESSURE=y
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+# CONFIG_TASK_XACCT is not set
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# CONFIG_UCLAMP_TASK is not set
+# end of Scheduler features
+
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC10_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
+CONFIG_CC_NO_STRINGOP_OVERFLOW=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_SCHED_MM_CID=y
+CONFIG_CGROUP_PIDS=y
+CONFIG_CGROUP_RDMA=y
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CPUSETS=y
+CONFIG_PROC_PID_CPUSET=y
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+# CONFIG_CGROUP_PERF is not set
+# CONFIG_CGROUP_MISC is not set
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_SCHED_AUTOGROUP=y
+# CONFIG_RELAY is not set
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_BOOT_CONFIG is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_HAVE_UID16=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+# CONFIG_EXPERT is not set
+CONFIG_UID16=y
+CONFIG_MULTIUSER=y
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+CONFIG_CACHESTAT_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_GUEST_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+# CONFIG_PROFILING is not set
+
+#
+# Kexec and crash features
+#
+# CONFIG_KEXEC is not set
+# CONFIG_KEXEC_FILE is not set
+# CONFIG_CRASH_DUMP is not set
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_ARM64=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_64BIT=y
+CONFIG_MMU=y
+CONFIG_ARM64_PAGE_SHIFT=12
+CONFIG_ARM64_CONT_PTE_SHIFT=4
+CONFIG_ARM64_CONT_PMD_SHIFT=4
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_BITS_MAX=33
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_SMP=y
+CONFIG_KERNEL_MODE_NEON=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=4
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+CONFIG_BUILTIN_RETURN_ADDRESS_STRIPS_PAC=y
+
+#
+# Platform selection
+#
+# CONFIG_ARCH_ACTIONS is not set
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_ALPINE is not set
+# CONFIG_ARCH_APPLE is not set
+# CONFIG_ARCH_BCM is not set
+# CONFIG_ARCH_BERLIN is not set
+# CONFIG_ARCH_BITMAIN is not set
+# CONFIG_ARCH_EXYNOS is not set
+# CONFIG_ARCH_SPARX5 is not set
+# CONFIG_ARCH_K3 is not set
+# CONFIG_ARCH_LG1K is not set
+# CONFIG_ARCH_HISI is not set
+# CONFIG_ARCH_KEEMBAY is not set
+# CONFIG_ARCH_MEDIATEK is not set
+# CONFIG_ARCH_MESON is not set
+# CONFIG_ARCH_MVEBU is not set
+# CONFIG_ARCH_NXP is not set
+# CONFIG_ARCH_MA35 is not set
+# CONFIG_ARCH_NPCM is not set
+# CONFIG_ARCH_PENSANDO is not set
+# CONFIG_ARCH_QCOM is not set
+# CONFIG_ARCH_REALTEK is not set
+# CONFIG_ARCH_RENESAS is not set
+CONFIG_ARCH_ROCKCHIP=y
+# CONFIG_ARCH_SEATTLE is not set
+# CONFIG_ARCH_INTEL_SOCFPGA is not set
+# CONFIG_ARCH_STM32 is not set
+# CONFIG_ARCH_SYNQUACER is not set
+# CONFIG_ARCH_TEGRA is not set
+# CONFIG_ARCH_SPRD is not set
+# CONFIG_ARCH_THUNDER is not set
+# CONFIG_ARCH_THUNDER2 is not set
+# CONFIG_ARCH_UNIPHIER is not set
+# CONFIG_ARCH_VEXPRESS is not set
+# CONFIG_ARCH_VISCONTI is not set
+# CONFIG_ARCH_XGENE is not set
+# CONFIG_ARCH_ZYNQMP is not set
+# end of Platform selection
+
+#
+# Kernel Features
+#
+
+#
+# ARM errata workarounds via the alternatives framework
+#
+# CONFIG_AMPERE_ERRATUM_AC03_CPU_38 is not set
+CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
+CONFIG_ARM64_ERRATUM_826319=y
+CONFIG_ARM64_ERRATUM_827319=y
+CONFIG_ARM64_ERRATUM_824069=y
+CONFIG_ARM64_ERRATUM_819472=y
+CONFIG_ARM64_ERRATUM_832075=y
+CONFIG_ARM64_ERRATUM_834220=y
+CONFIG_ARM64_ERRATUM_1742098=y
+CONFIG_ARM64_ERRATUM_845719=y
+CONFIG_ARM64_ERRATUM_843419=y
+CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
+CONFIG_ARM64_ERRATUM_1024718=y
+CONFIG_ARM64_ERRATUM_1418040=y
+CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
+CONFIG_ARM64_ERRATUM_1165522=y
+CONFIG_ARM64_ERRATUM_1319367=y
+CONFIG_ARM64_ERRATUM_1530923=y
+CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
+# CONFIG_ARM64_ERRATUM_2441007 is not set
+CONFIG_ARM64_ERRATUM_1286807=y
+CONFIG_ARM64_ERRATUM_1463225=y
+CONFIG_ARM64_ERRATUM_1542419=y
+CONFIG_ARM64_ERRATUM_1508412=y
+# CONFIG_ARM64_ERRATUM_2051678 is not set
+# CONFIG_ARM64_ERRATUM_2077057 is not set
+# CONFIG_ARM64_ERRATUM_2658417 is not set
+# CONFIG_ARM64_ERRATUM_2054223 is not set
+# CONFIG_ARM64_ERRATUM_2067961 is not set
+# CONFIG_ARM64_ERRATUM_2441009 is not set
+# CONFIG_ARM64_ERRATUM_2457168 is not set
+# CONFIG_ARM64_ERRATUM_2645198 is not set
+# CONFIG_ARM64_ERRATUM_2966298 is not set
+# CONFIG_ARM64_ERRATUM_3117295 is not set
+CONFIG_CAVIUM_ERRATUM_22375=y
+CONFIG_CAVIUM_ERRATUM_23154=y
+CONFIG_CAVIUM_ERRATUM_27456=y
+CONFIG_CAVIUM_ERRATUM_30115=y
+CONFIG_CAVIUM_TX2_ERRATUM_219=y
+CONFIG_FUJITSU_ERRATUM_010001=y
+CONFIG_HISILICON_ERRATUM_161600802=y
+CONFIG_QCOM_FALKOR_ERRATUM_1003=y
+CONFIG_QCOM_FALKOR_ERRATUM_1009=y
+CONFIG_QCOM_QDF2400_ERRATUM_0065=y
+CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
+CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
+CONFIG_ROCKCHIP_ERRATUM_3588001=y
+CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
+# end of ARM errata workarounds via the alternatives framework
+
+CONFIG_ARM64_4K_PAGES=y
+# CONFIG_ARM64_16K_PAGES is not set
+# CONFIG_ARM64_64K_PAGES is not set
+# CONFIG_ARM64_VA_BITS_39 is not set
+CONFIG_ARM64_VA_BITS_48=y
+CONFIG_ARM64_VA_BITS=48
+CONFIG_ARM64_PA_BITS_48=y
+CONFIG_ARM64_PA_BITS=48
+# CONFIG_CPU_BIG_ENDIAN is not set
+CONFIG_CPU_LITTLE_ENDIAN=y
+CONFIG_SCHED_MC=y
+# CONFIG_SCHED_CLUSTER is not set
+CONFIG_SCHED_SMT=y
+CONFIG_NR_CPUS=8
+CONFIG_HOTPLUG_CPU=y
+# CONFIG_NUMA is not set
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_HW_PERF_EVENTS=y
+CONFIG_CC_HAVE_SHADOW_CALL_STACK=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_SIG=y
+CONFIG_ARCH_SUPPORTS_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_DEFAULT_KEXEC_IMAGE_VERIFY_SIG=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_TRANS_TABLE=y
+# CONFIG_XEN is not set
+CONFIG_ARCH_FORCE_MAX_ORDER=10
+CONFIG_UNMAP_KERNEL_AT_EL0=y
+CONFIG_MITIGATE_SPECTRE_BRANCH_HISTORY=y
+CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
+# CONFIG_ARM64_SW_TTBR0_PAN is not set
+CONFIG_ARM64_TAGGED_ADDR_ABI=y
+CONFIG_COMPAT=y
+CONFIG_KUSER_HELPERS=y
+# CONFIG_COMPAT_ALIGNMENT_FIXUPS is not set
+CONFIG_ARMV8_DEPRECATED=y
+CONFIG_SWP_EMULATION=y
+CONFIG_CP15_BARRIER_EMULATION=y
+CONFIG_SETEND_EMULATION=y
+
+#
+# ARMv8.1 architectural features
+#
+CONFIG_ARM64_HW_AFDBM=y
+CONFIG_ARM64_PAN=y
+CONFIG_AS_HAS_LSE_ATOMICS=y
+CONFIG_ARM64_LSE_ATOMICS=y
+CONFIG_ARM64_USE_LSE_ATOMICS=y
+# end of ARMv8.1 architectural features
+
+#
+# ARMv8.2 architectural features
+#
+CONFIG_AS_HAS_ARMV8_2=y
+CONFIG_AS_HAS_SHA3=y
+# CONFIG_ARM64_PMEM is not set
+CONFIG_ARM64_RAS_EXTN=y
+CONFIG_ARM64_CNP=y
+# end of ARMv8.2 architectural features
+
+#
+# ARMv8.3 architectural features
+#
+CONFIG_ARM64_PTR_AUTH=y
+CONFIG_ARM64_PTR_AUTH_KERNEL=y
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
+CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
+CONFIG_AS_HAS_ARMV8_3=y
+CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
+CONFIG_AS_HAS_LDAPR=y
+# end of ARMv8.3 architectural features
+
+#
+# ARMv8.4 architectural features
+#
+CONFIG_ARM64_AMU_EXTN=y
+CONFIG_AS_HAS_ARMV8_4=y
+CONFIG_ARM64_TLB_RANGE=y
+# end of ARMv8.4 architectural features
+
+#
+# ARMv8.5 architectural features
+#
+CONFIG_AS_HAS_ARMV8_5=y
+CONFIG_ARM64_BTI=y
+CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
+CONFIG_ARM64_E0PD=y
+CONFIG_ARM64_AS_HAS_MTE=y
+CONFIG_ARM64_MTE=y
+# end of ARMv8.5 architectural features
+
+#
+# ARMv8.7 architectural features
+#
+CONFIG_ARM64_EPAN=y
+# end of ARMv8.7 architectural features
+
+CONFIG_ARM64_SVE=y
+CONFIG_ARM64_SME=y
+# CONFIG_ARM64_PSEUDO_NMI is not set
+CONFIG_RELOCATABLE=y
+# CONFIG_RANDOMIZE_BASE is not set
+CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+# end of Kernel Features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE=""
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_DMI=y
+# end of Boot options
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+CONFIG_HIBERNATION_SNAPSHOT_DEV=y
+CONFIG_PM_STD_PARTITION=""
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_PM_AUTOSLEEP=y
+# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+CONFIG_ENERGY_MODEL=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_HIBERNATION_HEADER=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_CPU_IDLE_GOV_TEO=y
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+
+#
+# ARM CPU Idle Drivers
+#
+CONFIG_ARM_PSCI_CPUIDLE=y
+CONFIG_ARM_PSCI_CPUIDLE_DOMAIN=y
+# end of ARM CPU Idle Drivers
+# end of CPU Idle
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+# CONFIG_CPU_FREQ_STAT is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=m
+CONFIG_CPUFREQ_DT_PLATDEV=y
+CONFIG_ARM_SCPI_CPUFREQ=m
+# end of CPU Frequency scaling
+# end of CPU Power Management
+
+CONFIG_ARCH_SUPPORTS_ACPI=y
+# CONFIG_ACPI is not set
+CONFIG_HAVE_KVM=y
+CONFIG_KVM_COMMON=y
+CONFIG_HAVE_KVM_IRQCHIP=y
+CONFIG_HAVE_KVM_IRQ_ROUTING=y
+CONFIG_HAVE_KVM_DIRTY_RING=y
+CONFIG_HAVE_KVM_DIRTY_RING_ACQ_REL=y
+CONFIG_NEED_KVM_DIRTY_RING_WITH_BITMAP=y
+CONFIG_KVM_MMIO=y
+CONFIG_HAVE_KVM_MSI=y
+CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
+CONFIG_KVM_VFIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_IRQ_BYPASS=y
+CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_KVM_GENERIC_HARDWARE_ENABLING=y
+CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=y
+# CONFIG_NVHE_EL2_DEBUG is not set
+
+#
+# General architecture-dependent options
+#
+CONFIG_ARCH_HAS_SUBPAGE_FAULTS=y
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+# CONFIG_KPROBES is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_HAVE_NMI=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_TRACE_IRQFLAGS_NMI_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_KEEPINITRD=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_GATHER_TABLE_FREE=y
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_ARCH_HAS_NMI_SAFE_THIS_CPU_OPS=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_ARCH_STACKLEAK=y
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_ARCH_SUPPORTS_SHADOW_CALL_STACK=y
+# CONFIG_SHADOW_CALL_STACK is not set
+CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
+CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_OLD_SIGSUSPEND3=y
+CONFIG_COMPAT_OLD_SIGACTION=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
+CONFIG_RANDOMIZE_KSTACK_OFFSET=y
+# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_HAVE_ARCH_COMPILER_H=y
+CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+CONFIG_ARCH_HAS_RELR=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_ARCH_HAVE_TRACE_MMIO_ACCESS=y
+CONFIG_ARCH_HAS_HW_PTE_YOUNG=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGINS is not set
+CONFIG_FUNCTION_ALIGNMENT_4B=y
+CONFIG_FUNCTION_ALIGNMENT=4
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULE_SIG_FORMAT=y
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_MODULE_SIG=y
+# CONFIG_MODULE_SIG_FORCE is not set
+CONFIG_MODULE_SIG_ALL=y
+CONFIG_MODULE_SIG_SHA256=y
+# CONFIG_MODULE_SIG_SHA384 is not set
+# CONFIG_MODULE_SIG_SHA512 is not set
+# CONFIG_MODULE_SIG_SHA3_256 is not set
+# CONFIG_MODULE_SIG_SHA3_384 is not set
+# CONFIG_MODULE_SIG_SHA3_512 is not set
+CONFIG_MODULE_SIG_HASH="sha256"
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_WRITE_MOUNTED is not set
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
+CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_CGROUP_IOCOST is not set
+# CONFIG_BLK_CGROUP_IOPRIO is not set
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_AIX_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=y
+CONFIG_MINIX_SUBPARTITION=y
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+CONFIG_LDM_PARTITION=y
+# CONFIG_LDM_DEBUG is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+# CONFIG_CMDLINE_PARTITION is not set
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=y
+CONFIG_MQ_IOSCHED_KYBER=m
+CONFIG_IOSCHED_BFQ=m
+CONFIG_BFQ_GROUP_IOSCHED=y
+# CONFIG_BFQ_CGROUP_DEBUG is not set
+# end of IO Schedulers
+
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ARCH_BINFMT_ELF_STATE=y
+CONFIG_ARCH_BINFMT_ELF_EXTRA_PHDRS=y
+CONFIG_ARCH_HAVE_ELF_PROT=y
+CONFIG_ARCH_USE_GNU_PROPERTY=y
+CONFIG_ELFCORE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_ZPOOL=y
+CONFIG_SWAP=y
+CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_DEFAULT_ON is not set
+# CONFIG_ZSWAP_EXCLUSIVE_LOADS_DEFAULT_ON is not set
+# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
+CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
+CONFIG_ZBUD=y
+CONFIG_Z3FOLD=y
+CONFIG_ZSMALLOC=y
+# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_ZSMALLOC_CHAIN_SIZE=8
+
+#
+# Slab allocator options
+#
+CONFIG_SLUB=y
+CONFIG_SLAB_MERGE_DEFAULT=y
+# CONFIG_SLAB_FREELIST_RANDOM is not set
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_SLUB_CPU_PARTIAL is not set
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of Slab allocator options
+
+# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
+# CONFIG_COMPAT_BRK is not set
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_SPARSEMEM_VMEMMAP=y
+CONFIG_HAVE_FAST_GUP=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
+CONFIG_EXCLUSIVE_SYSTEM_RAM=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
+# CONFIG_MEMORY_HOTPLUG is not set
+CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
+CONFIG_MIGRATION=y
+CONFIG_PCP_BATCH_SCALE_MAX=5
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+# CONFIG_MEMORY_FAILURE is not set
+CONFIG_ARCH_WANTS_THP_SWAP=y
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+# CONFIG_CMA is not set
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ARCH_HAS_PTE_DEVMAP=y
+CONFIG_ZONE_DMA=y
+CONFIG_ZONE_DMA32=y
+CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
+CONFIG_ARCH_USES_PG_ARCH_X=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_PERCPU_STATS is not set
+
+#
+# GUP_TEST needs to have DEBUG_FS enabled
+#
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+CONFIG_LRU_GEN=y
+CONFIG_LRU_GEN_ENABLED=y
+# CONFIG_LRU_GEN_STATS is not set
+CONFIG_LRU_GEN_WALKS_MMU=y
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CONFIG_PER_VMA_LOCK=y
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
+# end of Memory Management options
+
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+CONFIG_NET_INGRESS=y
+CONFIG_NET_EGRESS=y
+CONFIG_NET_XGRESS=y
+CONFIG_NET_REDIRECT=y
+CONFIG_SKB_EXTENSIONS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
+CONFIG_UNIX_DIAG=m
+CONFIG_TLS=m
+# CONFIG_TLS_DEVICE is not set
+# CONFIG_TLS_TOE is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+# CONFIG_XFRM_INTERFACE is not set
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_AH=m
+CONFIG_XFRM_ESP=m
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_NET_HANDSHAKE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE_COMMON=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IP_PIMSM_V1=y
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_NET_UDP_TUNNEL=m
+CONFIG_NET_FOU=m
+CONFIG_NET_FOU_IP_TUNNELS=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+# CONFIG_INET_ESP_OFFLOAD is not set
+# CONFIG_INET_ESPINTCP is not set
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TABLE_PERTURB_ORDER=16
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+CONFIG_INET_RAW_DIAG=m
+# CONFIG_INET_DIAG_DESTROY is not set
+CONFIG_TCP_CONG_ADVANCED=y
+# CONFIG_TCP_CONG_BIC is not set
+CONFIG_TCP_CONG_CUBIC=y
+# CONFIG_TCP_CONG_WESTWOOD is not set
+# CONFIG_TCP_CONG_HTCP is not set
+# CONFIG_TCP_CONG_HSTCP is not set
+# CONFIG_TCP_CONG_HYBLA is not set
+# CONFIG_TCP_CONG_VEGAS is not set
+# CONFIG_TCP_CONG_NV is not set
+# CONFIG_TCP_CONG_SCALABLE is not set
+# CONFIG_TCP_CONG_LP is not set
+# CONFIG_TCP_CONG_VENO is not set
+# CONFIG_TCP_CONG_YEAH is not set
+# CONFIG_TCP_CONG_ILLINOIS is not set
+# CONFIG_TCP_CONG_DCTCP is not set
+# CONFIG_TCP_CONG_CDG is not set
+# CONFIG_TCP_CONG_BBR is not set
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_SIGPOOL=y
+CONFIG_TCP_AO=y
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+CONFIG_IPV6_OPTIMISTIC_DAD=y
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+# CONFIG_INET6_ESP_OFFLOAD is not set
+# CONFIG_INET6_ESPINTCP is not set
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_VTI=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_FOU=m
+CONFIG_IPV6_FOU_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
+CONFIG_IPV6_SEG6_LWTUNNEL=y
+CONFIG_IPV6_SEG6_HMAC=y
+CONFIG_IPV6_SEG6_BPF=y
+# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
+# CONFIG_NETLABEL is not set
+CONFIG_MPTCP=y
+CONFIG_INET_MPTCP_DIAG=m
+CONFIG_MPTCP_IPV6=y
+# CONFIG_NETWORK_SECMARK is not set
+CONFIG_NET_PTP_CLASSIFY=y
+CONFIG_NETWORK_PHY_TIMESTAMPING=y
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=m
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_SKIP_EGRESS=y
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NETFILTER_NETLINK_OSF=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_SYSLOG=m
+CONFIG_NETFILTER_CONNCOUNT=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CONNTRACK_OVS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_GRE=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
+CONFIG_NF_NAT_OVS=y
+CONFIG_NETFILTER_SYNPROXY=m
+CONFIG_NF_TABLES=m
+CONFIG_NF_TABLES_INET=y
+CONFIG_NF_TABLES_NETDEV=y
+CONFIG_NFT_NUMGEN=m
+CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
+CONFIG_NFT_CONNLIMIT=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_TUNNEL=m
+CONFIG_NFT_QUEUE=m
+CONFIG_NFT_QUOTA=m
+CONFIG_NFT_REJECT=m
+CONFIG_NFT_REJECT_INET=m
+CONFIG_NFT_COMPAT=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_FIB=m
+CONFIG_NFT_FIB_INET=m
+CONFIG_NFT_XFRM=m
+CONFIG_NFT_SOCKET=m
+CONFIG_NFT_OSF=m
+CONFIG_NFT_TPROXY=m
+# CONFIG_NFT_SYNPROXY is not set
+CONFIG_NF_DUP_NETDEV=m
+CONFIG_NFT_DUP_NETDEV=m
+CONFIG_NFT_FWD_NETDEV=m
+CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_REJECT_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
+# CONFIG_NF_FLOW_TABLE_PROCFS is not set
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XTABLES_COMPAT=y
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_NAT=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_L2TP=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+# end of Core Netfilter Configuration
+
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPMARK=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_IPMAC=m
+CONFIG_IP_SET_HASH_MAC=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+# CONFIG_IP_VS is not set
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_SOCKET_IPV4=m
+CONFIG_NF_TPROXY_IPV4=m
+CONFIG_NF_TABLES_IPV4=y
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
+CONFIG_NFT_FIB_IPV4=m
+CONFIG_NF_TABLES_ARP=y
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_SYNPROXY=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+# CONFIG_IP_NF_SECURITY is not set
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+# end of IP: Netfilter Configuration
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_SOCKET_IPV6=m
+CONFIG_NF_TPROXY_IPV6=m
+CONFIG_NF_TABLES_IPV6=y
+CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
+CONFIG_NF_LOG_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_TARGET_SYNPROXY=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+# CONFIG_IP6_NF_SECURITY is not set
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+# end of IPv6: Netfilter Configuration
+
+CONFIG_NF_DEFRAG_IPV6=m
+# CONFIG_NF_TABLES_BRIDGE is not set
+CONFIG_NF_CONNTRACK_BRIDGE=m
+# CONFIG_BRIDGE_NF_EBTABLES is not set
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+# end of DCCP CCIDs Configuration
+
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_INET_SCTP_DIAG=m
+# CONFIG_RDS is not set
+# CONFIG_TIPC is not set
+# CONFIG_ATM is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+# CONFIG_BRIDGE_MRP is not set
+# CONFIG_BRIDGE_CFM is not set
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_LLC=m
+# CONFIG_LLC2 is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_PHONET is not set
+# CONFIG_6LOWPAN is not set
+# CONFIG_IEEE802154 is not set
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+# CONFIG_NET_SCH_RED is not set
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+# CONFIG_NET_SCH_CBS is not set
+# CONFIG_NET_SCH_ETF is not set
+CONFIG_NET_SCH_MQPRIO_LIB=m
+# CONFIG_NET_SCH_TAPRIO is not set
+# CONFIG_NET_SCH_GRED is not set
+CONFIG_NET_SCH_NETEM=m
+# CONFIG_NET_SCH_DRR is not set
+CONFIG_NET_SCH_MQPRIO=m
+# CONFIG_NET_SCH_SKBPRIO is not set
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+# CONFIG_NET_SCH_CAKE is not set
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_HHF=m
+CONFIG_NET_SCH_PIE=m
+CONFIG_NET_SCH_FQ_PIE=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+CONFIG_NET_SCH_ETS=m
+# CONFIG_NET_SCH_DEFAULT is not set
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+# CONFIG_CLS_U32_PERF is not set
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_FLOW=m
+# CONFIG_NET_CLS_CGROUP is not set
+# CONFIG_NET_CLS_BPF is not set
+CONFIG_NET_CLS_FLOWER=m
+# CONFIG_NET_CLS_MATCHALL is not set
+# CONFIG_NET_EMATCH is not set
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=y
+CONFIG_NET_ACT_GACT=y
+# CONFIG_GACT_PROB is not set
+CONFIG_NET_ACT_MIRRED=m
+CONFIG_NET_ACT_SAMPLE=m
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+# CONFIG_NET_ACT_PEDIT is not set
+# CONFIG_NET_ACT_SIMP is not set
+# CONFIG_NET_ACT_SKBEDIT is not set
+# CONFIG_NET_ACT_CSUM is not set
+# CONFIG_NET_ACT_MPLS is not set
+# CONFIG_NET_ACT_VLAN is not set
+# CONFIG_NET_ACT_BPF is not set
+CONFIG_NET_ACT_CONNMARK=m
+# CONFIG_NET_ACT_CTINFO is not set
+CONFIG_NET_ACT_SKBMOD=m
+CONFIG_NET_ACT_IFE=m
+CONFIG_NET_ACT_TUNNEL_KEY=m
+# CONFIG_NET_ACT_CT is not set
+# CONFIG_NET_ACT_GATE is not set
+CONFIG_NET_IFE_SKBMARK=m
+CONFIG_NET_IFE_SKBPRIO=m
+CONFIG_NET_IFE_SKBTCINDEX=m
+# CONFIG_NET_TC_SKB_EXT is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=m
+CONFIG_BATMAN_ADV=m
+# CONFIG_BATMAN_ADV_BATMAN_V is not set
+CONFIG_BATMAN_ADV_BLA=y
+CONFIG_BATMAN_ADV_DAT=y
+CONFIG_BATMAN_ADV_NC=y
+CONFIG_BATMAN_ADV_MCAST=y
+# CONFIG_BATMAN_ADV_DEBUG is not set
+CONFIG_OPENVSWITCH=m
+CONFIG_OPENVSWITCH_GRE=m
+CONFIG_VSOCKETS=m
+CONFIG_VSOCKETS_DIAG=m
+CONFIG_VSOCKETS_LOOPBACK=m
+CONFIG_VIRTIO_VSOCKETS=m
+CONFIG_VIRTIO_VSOCKETS_COMMON=m
+CONFIG_NETLINK_DIAG=m
+CONFIG_MPLS=y
+CONFIG_NET_MPLS_GSO=m
+CONFIG_MPLS_ROUTING=m
+# CONFIG_MPLS_IPTUNNEL is not set
+CONFIG_NET_NSH=m
+CONFIG_HSR=m
+# CONFIG_NET_SWITCHDEV is not set
+CONFIG_NET_L3_MASTER_DEV=y
+# CONFIG_QRTR is not set
+# CONFIG_NET_NCSI is not set
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_MAX_SKB_FRAGS=17
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# end of Network testing
+# end of Networking options
+
+CONFIG_HAMRADIO=y
+
+#
+# Packet Radio protocols
+#
+CONFIG_AX25=m
+CONFIG_AX25_DAMA_SLAVE=y
+CONFIG_NETROM=m
+CONFIG_ROSE=m
+
+#
+# AX.25 network device drivers
+#
+CONFIG_MKISS=m
+CONFIG_6PACK=m
+CONFIG_BPQETHER=m
+CONFIG_BAYCOM_SER_FDX=m
+CONFIG_BAYCOM_SER_HDX=m
+CONFIG_YAM=m
+# end of AX.25 network device drivers
+
+CONFIG_CAN=m
+CONFIG_CAN_RAW=m
+CONFIG_CAN_BCM=m
+CONFIG_CAN_GW=m
+# CONFIG_CAN_J1939 is not set
+# CONFIG_CAN_ISOTP is not set
+CONFIG_BT=m
+CONFIG_BT_BREDR=y
+CONFIG_BT_RFCOMM=m
+# CONFIG_BT_RFCOMM_TTY is not set
+# CONFIG_BT_BNEP is not set
+CONFIG_BT_HIDP=m
+CONFIG_BT_HS=y
+CONFIG_BT_LE=y
+# CONFIG_BT_LE_L2CAP_ECRED is not set
+# CONFIG_BT_LEDS is not set
+# CONFIG_BT_MSFTEXT is not set
+# CONFIG_BT_AOSPEXT is not set
+# CONFIG_BT_FEATURE_DEBUG is not set
+
+#
+# Bluetooth device drivers
+#
+# CONFIG_BT_HCIBTUSB is not set
+# CONFIG_BT_HCIBTSDIO is not set
+# CONFIG_BT_HCIUART is not set
+# CONFIG_BT_HCIBCM203X is not set
+# CONFIG_BT_HCIBCM4377 is not set
+# CONFIG_BT_HCIBPA10X is not set
+# CONFIG_BT_HCIBFUSB is not set
+# CONFIG_BT_HCIVHCI is not set
+CONFIG_BT_MRVL=m
+CONFIG_BT_MRVL_SDIO=m
+# CONFIG_BT_MTKSDIO is not set
+# CONFIG_BT_MTKUART is not set
+# CONFIG_BT_VIRTIO is not set
+# CONFIG_BT_NXPUART is not set
+# end of Bluetooth device drivers
+
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+CONFIG_STREAM_PARSER=y
+# CONFIG_MCTP is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+CONFIG_MAC80211_MESH=y
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_GPIO=m
+# CONFIG_NET_9P is not set
+# CONFIG_CAIF is not set
+# CONFIG_CEPH_LIB is not set
+# CONFIG_NFC is not set
+CONFIG_PSAMPLE=m
+CONFIG_NET_IFE=m
+CONFIG_LWTUNNEL=y
+# CONFIG_LWTUNNEL_BPF is not set
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_SOCK_MSG=y
+CONFIG_PAGE_POOL=y
+CONFIG_PAGE_POOL_STATS=y
+CONFIG_FAILOVER=m
+CONFIG_ETHTOOL_NETLINK=y
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_HOTPLUG_PCI_PCIE=y
+CONFIG_PCIEAER=y
+CONFIG_PCIEAER_INJECT=m
+CONFIG_PCIE_ECRC=y
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+# CONFIG_PCIE_DPC is not set
+# CONFIG_PCIE_PTM is not set
+CONFIG_PCI_MSI=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
+CONFIG_PCI_STUB=y
+# CONFIG_PCI_PF_STUB is not set
+CONFIG_PCI_ATS=y
+CONFIG_PCI_ECAM=y
+CONFIG_PCI_IOV=y
+CONFIG_PCI_PRI=y
+CONFIG_PCI_PASID=y
+CONFIG_PCI_LABEL=y
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=4
+CONFIG_HOTPLUG_PCI=y
+# CONFIG_HOTPLUG_PCI_CPCI is not set
+# CONFIG_HOTPLUG_PCI_SHPC is not set
+
+#
+# PCI controller drivers
+#
+# CONFIG_PCIE_ALTERA is not set
+# CONFIG_PCI_HOST_THUNDER_PEM is not set
+# CONFIG_PCI_HOST_THUNDER_ECAM is not set
+# CONFIG_PCI_FTPCI100 is not set
+CONFIG_PCI_HOST_COMMON=y
+CONFIG_PCI_HOST_GENERIC=m
+# CONFIG_PCIE_MICROCHIP_HOST is not set
+CONFIG_PCIE_ROCKCHIP=y
+CONFIG_PCIE_ROCKCHIP_HOST=y
+# CONFIG_PCI_XGENE is not set
+# CONFIG_PCIE_XILINX is not set
+
+#
+# Cadence-based PCIe controllers
+#
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
+# end of Cadence-based PCIe controllers
+
+#
+# DesignWare-based PCIe controllers
+#
+CONFIG_PCIE_DW=y
+CONFIG_PCIE_DW_HOST=y
+# CONFIG_PCIE_AL is not set
+# CONFIG_PCI_MESON is not set
+CONFIG_PCI_HISI=y
+# CONFIG_PCIE_KIRIN is not set
+CONFIG_PCIE_DW_PLAT=y
+CONFIG_PCIE_DW_PLAT_HOST=y
+CONFIG_PCIE_ROCKCHIP_DW_HOST=y
+# end of DesignWare-based PCIe controllers
+
+#
+# Mobiveil-based PCIe controllers
+#
+# end of Mobiveil-based PCIe controllers
+# end of PCI controller drivers
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+# end of PCI Endpoint
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# end of PCI switch controller drivers
+
+# CONFIG_CXL_BUS is not set
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_DEVTMPFS_SAFE is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_FW_LOADER_COMPRESS is not set
+CONFIG_FW_CACHE=y
+# CONFIG_FW_UPLOAD is not set
+# end of Firmware loader
+
+CONFIG_WANT_DEV_COREDUMP=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_DEVICES=y
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_CPU_VULNERABILITIES=y
+CONFIG_SOC_BUS=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=m
+CONFIG_REGMAP_SPMI=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DMA_FENCE_TRACE is not set
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_MOXTET is not set
+# CONFIG_VEXPRESS_CONFIG is not set
+# CONFIG_MHI_BUS is not set
+# CONFIG_MHI_BUS_EP is not set
+# end of Bus devices
+
+#
+# Cache Drivers
+#
+# end of Cache Drivers
+
+CONFIG_CONNECTOR=m
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+# CONFIG_ARM_SCMI_PROTOCOL is not set
+# end of ARM System Control and Management Interface Protocol
+
+CONFIG_ARM_SCPI_PROTOCOL=m
+CONFIG_DMIID=y
+CONFIG_DMI_SYSFS=m
+CONFIG_FW_CFG_SYSFS=m
+# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
+# CONFIG_SYSFB_SIMPLEFB is not set
+# CONFIG_ARM_FFA_TRANSPORT is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_VARS_PSTORE=m
+# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB=y
+# CONFIG_EFI_ZBOOT is not set
+# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set
+CONFIG_EFI_BOOTLOADER_CONTROL=y
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_EARLYCON=y
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+CONFIG_ARM_PSCI_FW=y
+# CONFIG_ARM_PSCI_CHECKER is not set
+
+#
+# Qualcomm firmware drivers
+#
+# end of Qualcomm firmware drivers
+
+CONFIG_HAVE_ARM_SMCCC=y
+CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
+CONFIG_ARM_SMCCC_SOC_ID=y
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
+# CONFIG_GNSS is not set
+# CONFIG_MTD is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_DYNAMIC=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+CONFIG_OF_RESOLVE=y
+CONFIG_OF_OVERLAY=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+CONFIG_CDROM=m
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+CONFIG_ZRAM=m
+# CONFIG_ZRAM_DEF_COMP_LZORLE is not set
+CONFIG_ZRAM_DEF_COMP_ZSTD=y
+# CONFIG_ZRAM_DEF_COMP_LZO is not set
+CONFIG_ZRAM_DEF_COMP="zstd"
+# CONFIG_ZRAM_WRITEBACK is not set
+# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
+# CONFIG_ZRAM_MULTI_COMP is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
+# CONFIG_BLK_DEV_DRBD is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_VIRTIO_BLK=m
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_UBLK is not set
+
+#
+# NVME Support
+#
+# CONFIG_BLK_DEV_NVME is not set
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_TARGET is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+CONFIG_TIFM_CORE=y
+CONFIG_TIFM_7XX1=m
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HI6421V600_IRQ is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+# CONFIG_DW_XDATA_PCIE is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_HISI_HIKEY_USB is not set
+# CONFIG_OPEN_DICE is not set
+# CONFIG_VCPU_STALL_DETECTOR is not set
+# CONFIG_NSM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+CONFIG_CB710_CORE=m
+# CONFIG_CB710_DEBUG is not set
+CONFIG_CB710_DEBUG_ASSUMPTIONS=y
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_VMWARE_VMCI is not set
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_BCM_VK is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_UACCE is not set
+# CONFIG_PVPANIC is not set
+# CONFIG_GP_PCI1XXXX is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_CHR_DEV_SG is not set
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_SCAN_ASYNC=y
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# end of SCSI Transports
+
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_MPT3SAS is not set
+# CONFIG_SCSI_MPT2SAS is not set
+# CONFIG_SCSI_MPI3MR is not set
+# CONFIG_SCSI_SMARTPQI is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_MYRB is not set
+# CONFIG_SCSI_MYRS is not set
+# CONFIG_SCSI_SNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FDOMAIN_PCI is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_WD719X is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+CONFIG_SCSI_VIRTIO=m
+# CONFIG_SCSI_DH is not set
+# end of SCSI device support
+
+# CONFIG_ATA is not set
+CONFIG_MD=y
+# CONFIG_BLK_DEV_MD is not set
+# CONFIG_MD_BITMAP_FILE is not set
+# CONFIG_BCACHE is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+# CONFIG_DM_UNSTRIPED is not set
+CONFIG_DM_CRYPT=m
+# CONFIG_DM_SNAPSHOT is not set
+# CONFIG_DM_THIN_PROVISIONING is not set
+# CONFIG_DM_CACHE is not set
+# CONFIG_DM_WRITECACHE is not set
+# CONFIG_DM_EBS is not set
+# CONFIG_DM_ERA is not set
+# CONFIG_DM_CLONE is not set
+# CONFIG_DM_MIRROR is not set
+# CONFIG_DM_RAID is not set
+# CONFIG_DM_ZERO is not set
+# CONFIG_DM_MULTIPATH is not set
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_DUST is not set
+# CONFIG_DM_UEVENT is not set
+# CONFIG_DM_FLAKEY is not set
+# CONFIG_DM_VERITY is not set
+# CONFIG_DM_SWITCH is not set
+# CONFIG_DM_LOG_WRITES is not set
+# CONFIG_DM_INTEGRITY is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# end of IEEE 1394 (FireWire) support
+
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_WIREGUARD=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_IFB=m
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_IPVLAN is not set
+# CONFIG_VXLAN is not set
+# CONFIG_GENEVE is not set
+CONFIG_BAREUDP=m
+CONFIG_GTP=m
+# CONFIG_AMT is not set
+CONFIG_MACSEC=m
+# CONFIG_NETCONSOLE is not set
+CONFIG_TUN=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_NLMON=m
+CONFIG_NET_VRF=m
+# CONFIG_VSOCKMON is not set
+# CONFIG_ARCNET is not set
+# CONFIG_ETHERNET is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLINK=m
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+CONFIG_LED_TRIGGER_PHY=y
+CONFIG_PHYLIB_LEDS=y
+CONFIG_FIXED_PHY=y
+# CONFIG_SFP is not set
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AMD_PHY is not set
+# CONFIG_ADIN_PHY is not set
+# CONFIG_ADIN1100_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+CONFIG_AX88796B_PHY=m
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM54140_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM84881_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
+# CONFIG_MARVELL_88X2222_PHY is not set
+# CONFIG_MAXLINEAR_GPHY is not set
+# CONFIG_MEDIATEK_GE_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_MICROCHIP_T1S_PHY is not set
+CONFIG_MICROCHIP_PHY=m
+# CONFIG_MICROCHIP_T1_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+# CONFIG_MOTORCOMM_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_NXP_CBTX_PHY is not set
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
+# CONFIG_NXP_TJA11XX_PHY is not set
+# CONFIG_NCN26000_PHY is not set
+CONFIG_AT803X_PHY=m
+CONFIG_QSEMI_PHY=m
+CONFIG_REALTEK_PHY=m
+# CONFIG_RENESAS_PHY is not set
+CONFIG_ROCKCHIP_PHY=y
+CONFIG_SMSC_PHY=m
+CONFIG_STE10XP=m
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+# CONFIG_DP83869_PHY is not set
+# CONFIG_DP83TD510_PHY is not set
+# CONFIG_DP83TG720_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PSE_CONTROLLER is not set
+CONFIG_CAN_DEV=m
+# CONFIG_CAN_VCAN is not set
+# CONFIG_CAN_VXCAN is not set
+# CONFIG_CAN_NETLINK is not set
+# CONFIG_CAN_DEBUG_DEVICES is not set
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+CONFIG_MDIO_BITBANG=m
+# CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_MDIO_GPIO is not set
+# CONFIG_MDIO_HISI_FEMAC is not set
+# CONFIG_MDIO_MVUSB is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_IPQ4019 is not set
+# CONFIG_MDIO_IPQ8064 is not set
+# CONFIG_MDIO_THUNDER is not set
+
+#
+# MDIO Multiplexers
+#
+CONFIG_MDIO_BUS_MUX=m
+CONFIG_MDIO_BUS_MUX_GPIO=m
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
+CONFIG_MDIO_BUS_MUX_MMIOREG=m
+
+#
+# PCS device drivers
+#
+# end of PCS device drivers
+
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOE=m
+# CONFIG_PPPOE_HASH_BITS_1 is not set
+# CONFIG_PPPOE_HASH_BITS_2 is not set
+CONFIG_PPPOE_HASH_BITS_4=y
+# CONFIG_PPPOE_HASH_BITS_8 is not set
+CONFIG_PPPOE_HASH_BITS=4
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
+CONFIG_USB_NET_DRIVERS=m
+CONFIG_USB_CATC=m
+CONFIG_USB_KAWETH=m
+CONFIG_USB_PEGASUS=m
+CONFIG_USB_RTL8150=m
+CONFIG_USB_RTL8152=m
+CONFIG_USB_LAN78XX=m
+CONFIG_USB_USBNET=m
+CONFIG_USB_NET_AX8817X=m
+CONFIG_USB_NET_AX88179_178A=m
+CONFIG_USB_NET_CDCETHER=m
+CONFIG_USB_NET_CDC_EEM=m
+CONFIG_USB_NET_CDC_NCM=m
+CONFIG_USB_NET_HUAWEI_CDC_NCM=m
+CONFIG_USB_NET_CDC_MBIM=m
+CONFIG_USB_NET_DM9601=m
+CONFIG_USB_NET_SR9700=m
+CONFIG_USB_NET_SR9800=m
+CONFIG_USB_NET_SMSC75XX=m
+CONFIG_USB_NET_SMSC95XX=m
+CONFIG_USB_NET_GL620A=m
+CONFIG_USB_NET_NET1080=m
+CONFIG_USB_NET_PLUSB=m
+CONFIG_USB_NET_MCS7830=m
+CONFIG_USB_NET_RNDIS_HOST=m
+CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
+CONFIG_USB_NET_CDC_SUBSET=m
+CONFIG_USB_ALI_M5632=y
+CONFIG_USB_AN2720=y
+CONFIG_USB_BELKIN=y
+CONFIG_USB_ARMLINUX=y
+CONFIG_USB_EPSON2888=y
+CONFIG_USB_KC2190=y
+CONFIG_USB_NET_ZAURUS=m
+CONFIG_USB_NET_CX82310_ETH=m
+CONFIG_USB_NET_KALMIA=m
+CONFIG_USB_NET_QMI_WWAN=m
+CONFIG_USB_HSO=m
+CONFIG_USB_NET_INT51X1=m
+CONFIG_USB_IPHETH=m
+CONFIG_USB_SIERRA_NET=m
+CONFIG_USB_VL600=m
+CONFIG_USB_NET_CH9200=m
+CONFIG_USB_NET_AQC111=m
+CONFIG_USB_RTL8153_ECM=m
+CONFIG_WLAN=y
+# CONFIG_WLAN_VENDOR_ADMTEK is not set
+# CONFIG_WLAN_VENDOR_ATH is not set
+# CONFIG_WLAN_VENDOR_ATMEL is not set
+# CONFIG_WLAN_VENDOR_BROADCOM is not set
+# CONFIG_WLAN_VENDOR_INTEL is not set
+# CONFIG_WLAN_VENDOR_INTERSIL is not set
+CONFIG_WLAN_VENDOR_MARVELL=y
+# CONFIG_LIBERTAS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+CONFIG_MWIFIEX=m
+CONFIG_MWIFIEX_SDIO=m
+CONFIG_MWIFIEX_PCIE=m
+CONFIG_MWIFIEX_USB=m
+CONFIG_MWL8K=m
+# CONFIG_WLAN_VENDOR_MEDIATEK is not set
+# CONFIG_WLAN_VENDOR_MICROCHIP is not set
+# CONFIG_WLAN_VENDOR_PURELIFI is not set
+# CONFIG_WLAN_VENDOR_RALINK is not set
+# CONFIG_WLAN_VENDOR_REALTEK is not set
+# CONFIG_WLAN_VENDOR_RSI is not set
+# CONFIG_WLAN_VENDOR_SILABS is not set
+# CONFIG_WLAN_VENDOR_ST is not set
+# CONFIG_WLAN_VENDOR_TI is not set
+# CONFIG_WLAN_VENDOR_ZYDAS is not set
+# CONFIG_WLAN_VENDOR_QUANTENNA is not set
+CONFIG_MAC80211_HWSIM=m
+CONFIG_VIRT_WIFI=m
+# CONFIG_WAN is not set
+
+#
+# Wireless WAN
+#
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
+# CONFIG_VMXNET3 is not set
+CONFIG_NET_FAILOVER=m
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=m
+CONFIG_INPUT_FF_MEMLESS=m
+CONFIG_INPUT_SPARSEKMAP=m
+CONFIG_INPUT_MATRIXKMAP=y
+CONFIG_INPUT_VIVALDIFMAP=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=y
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADC is not set
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+CONFIG_KEYBOARD_GPIO=m
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_PINEPHONE is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+CONFIG_KEYBOARD_CROS_EC=y
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+# CONFIG_KEYBOARD_MTK_PMIC is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
+# CONFIG_INPUT_MOUSE is not set
+CONFIG_INPUT_JOYSTICK=y
+# CONFIG_JOYSTICK_ANALOG is not set
+# CONFIG_JOYSTICK_A3D is not set
+# CONFIG_JOYSTICK_ADC is not set
+# CONFIG_JOYSTICK_ADI is not set
+# CONFIG_JOYSTICK_COBRA is not set
+# CONFIG_JOYSTICK_GF2K is not set
+# CONFIG_JOYSTICK_GRIP is not set
+# CONFIG_JOYSTICK_GRIP_MP is not set
+# CONFIG_JOYSTICK_GUILLEMOT is not set
+# CONFIG_JOYSTICK_INTERACT is not set
+# CONFIG_JOYSTICK_SIDEWINDER is not set
+# CONFIG_JOYSTICK_TMDC is not set
+CONFIG_JOYSTICK_IFORCE=m
+CONFIG_JOYSTICK_IFORCE_USB=m
+# CONFIG_JOYSTICK_IFORCE_232 is not set
+# CONFIG_JOYSTICK_WARRIOR is not set
+# CONFIG_JOYSTICK_MAGELLAN is not set
+# CONFIG_JOYSTICK_SPACEORB is not set
+# CONFIG_JOYSTICK_SPACEBALL is not set
+# CONFIG_JOYSTICK_STINGER is not set
+# CONFIG_JOYSTICK_TWIDJOY is not set
+# CONFIG_JOYSTICK_ZHENHUA is not set
+# CONFIG_JOYSTICK_AS5011 is not set
+# CONFIG_JOYSTICK_JOYDUMP is not set
+CONFIG_JOYSTICK_XPAD=m
+CONFIG_JOYSTICK_XPAD_FF=y
+CONFIG_JOYSTICK_XPAD_LEDS=y
+# CONFIG_JOYSTICK_PSXPAD_SPI is not set
+# CONFIG_JOYSTICK_PXRC is not set
+# CONFIG_JOYSTICK_QWIIC is not set
+# CONFIG_JOYSTICK_FSIA6B is not set
+# CONFIG_JOYSTICK_SENSEHAT is not set
+# CONFIG_JOYSTICK_SEESAW is not set
+# CONFIG_INPUT_TABLET is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_ADS7846 is not set
+# CONFIG_TOUCHSCREEN_AD7877 is not set
+# CONFIG_TOUCHSCREEN_AD7879 is not set
+# CONFIG_TOUCHSCREEN_ADC is not set
+# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
+CONFIG_TOUCHSCREEN_ATMEL_MXT=m
+# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
+# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_BU21013 is not set
+# CONFIG_TOUCHSCREEN_BU21029 is not set
+# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
+# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
+# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
+# CONFIG_TOUCHSCREEN_CYTTSP5 is not set
+# CONFIG_TOUCHSCREEN_DYNAPRO is not set
+# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
+# CONFIG_TOUCHSCREEN_EETI is not set
+# CONFIG_TOUCHSCREEN_EGALAX is not set
+# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
+# CONFIG_TOUCHSCREEN_EXC3000 is not set
+# CONFIG_TOUCHSCREEN_FUJITSU is not set
+# CONFIG_TOUCHSCREEN_GOODIX is not set
+# CONFIG_TOUCHSCREEN_HIDEEP is not set
+# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
+# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set
+# CONFIG_TOUCHSCREEN_ILI210X is not set
+# CONFIG_TOUCHSCREEN_ILITEK is not set
+# CONFIG_TOUCHSCREEN_S6SY761 is not set
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_EKTF2127 is not set
+# CONFIG_TOUCHSCREEN_ELAN is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
+# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
+# CONFIG_TOUCHSCREEN_MAX11801 is not set
+# CONFIG_TOUCHSCREEN_MCS5000 is not set
+# CONFIG_TOUCHSCREEN_MMS114 is not set
+# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
+# CONFIG_TOUCHSCREEN_MSG2638 is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set
+# CONFIG_TOUCHSCREEN_IMAGIS is not set
+# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
+# CONFIG_TOUCHSCREEN_INEXIO is not set
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_PIXCIR is not set
+# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
+# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
+# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
+# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
+# CONFIG_TOUCHSCREEN_TSC2004 is not set
+# CONFIG_TOUCHSCREEN_TSC2005 is not set
+# CONFIG_TOUCHSCREEN_TSC2007 is not set
+# CONFIG_TOUCHSCREEN_RM_TS is not set
+# CONFIG_TOUCHSCREEN_SILEAD is not set
+# CONFIG_TOUCHSCREEN_SIS_I2C is not set
+# CONFIG_TOUCHSCREEN_ST1232 is not set
+# CONFIG_TOUCHSCREEN_STMFTS is not set
+# CONFIG_TOUCHSCREEN_SUR40 is not set
+# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
+# CONFIG_TOUCHSCREEN_SX8654 is not set
+# CONFIG_TOUCHSCREEN_TPS6507X is not set
+# CONFIG_TOUCHSCREEN_ZET6223 is not set
+# CONFIG_TOUCHSCREEN_ZFORCE is not set
+# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set
+# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
+# CONFIG_TOUCHSCREEN_IQS5XX is not set
+# CONFIG_TOUCHSCREEN_IQS7211 is not set
+# CONFIG_TOUCHSCREEN_ZINITIX is not set
+# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
+# CONFIG_INPUT_BMA150 is not set
+# CONFIG_INPUT_E3X0_BUTTON is not set
+# CONFIG_INPUT_MMA8450 is not set
+# CONFIG_INPUT_GPIO_BEEPER is not set
+# CONFIG_INPUT_GPIO_DECODER is not set
+# CONFIG_INPUT_GPIO_VIBRA is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_KXTJ9 is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_REGULATOR_HAPTIC is not set
+CONFIG_INPUT_AXP20X_PEK=m
+CONFIG_INPUT_UINPUT=m
+# CONFIG_INPUT_PALMAS_PWRBUTTON is not set
+# CONFIG_INPUT_PCF8574 is not set
+CONFIG_INPUT_PWM_BEEPER=m
+# CONFIG_INPUT_PWM_VIBRA is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_DA7280_HAPTICS is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_IMS_PCU is not set
+# CONFIG_INPUT_IQS269A is not set
+# CONFIG_INPUT_IQS626A is not set
+# CONFIG_INPUT_IQS7222 is not set
+CONFIG_INPUT_CMA3000=m
+CONFIG_INPUT_CMA3000_I2C=m
+# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
+# CONFIG_INPUT_DRV2667_HAPTICS is not set
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+# CONFIG_SERIO_SERPORT is not set
+# CONFIG_SERIO_AMBAKMI is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=m
+CONFIG_SERIO_RAW=m
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_LEGACY_TIOCSTI is not set
+CONFIG_LDISC_AUTOLOAD=y
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
+# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCILIB=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_NR_UARTS=32
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=y
+CONFIG_SERIAL_8250_MANY_PORTS=y
+# CONFIG_SERIAL_8250_PCI1XXXX is not set
+CONFIG_SERIAL_8250_SHARE_IRQ=y
+# CONFIG_SERIAL_8250_DETECT_IRQ is not set
+CONFIG_SERIAL_8250_RSA=y
+CONFIG_SERIAL_8250_FSL=y
+# CONFIG_SERIAL_8250_DW is not set
+# CONFIG_SERIAL_8250_RT288X is not set
+CONFIG_SERIAL_8250_PERICOM=y
+CONFIG_SERIAL_OF_PLATFORM=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+CONFIG_SERIAL_AMBA_PL011=y
+CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
+# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+CONFIG_SERIAL_NONSTANDARD=y
+# CONFIG_MOXA_INTELLIO is not set
+# CONFIG_MOXA_SMARTIO is not set
+CONFIG_N_HDLC=m
+CONFIG_N_GSM=m
+# CONFIG_NOZOMI is not set
+# CONFIG_NULL_TTY is not set
+CONFIG_HVC_DRIVER=y
+# CONFIG_HVC_DCC is not set
+CONFIG_SERIAL_DEV_BUS=y
+CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
+CONFIG_VIRTIO_CONSOLE=m
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=m
+CONFIG_HW_RANDOM_TIMERIOMEM=m
+# CONFIG_HW_RANDOM_BA431 is not set
+CONFIG_HW_RANDOM_VIRTIO=m
+# CONFIG_HW_RANDOM_CCTRNG is not set
+# CONFIG_HW_RANDOM_XIPHERA is not set
+CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
+# CONFIG_HW_RANDOM_CN10K is not set
+# CONFIG_APPLICOM is not set
+CONFIG_DEVMEM=y
+CONFIG_DEVPORT=y
+CONFIG_TCG_TPM=m
+CONFIG_HW_RANDOM_TPM=y
+# CONFIG_TCG_TIS is not set
+# CONFIG_TCG_TIS_SPI is not set
+# CONFIG_TCG_TIS_I2C is not set
+# CONFIG_TCG_TIS_I2C_CR50 is not set
+# CONFIG_TCG_TIS_I2C_ATMEL is not set
+CONFIG_TCG_TIS_I2C_INFINEON=m
+# CONFIG_TCG_TIS_I2C_NUVOTON is not set
+CONFIG_TCG_ATMEL=m
+# CONFIG_TCG_VTPM_PROXY is not set
+# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
+# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
+# CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
+# end of Character devices
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+CONFIG_I2C_MUX=y
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+# CONFIG_I2C_MUX_GPMUX is not set
+# CONFIG_I2C_MUX_LTC4306 is not set
+# CONFIG_I2C_MUX_PCA9541 is not set
+# CONFIG_I2C_MUX_PCA954x is not set
+# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
+# CONFIG_I2C_DEMUX_PINCTRL is not set
+# CONFIG_I2C_MUX_MLXCPLD is not set
+# end of Multiplexer I2C Chip support
+
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_SMBUS=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CADENCE is not set
+# CONFIG_I2C_CBUS_GPIO is not set
+# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_HISI is not set
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+CONFIG_I2C_RK3X=y
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_THUNDERX is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_CP2615 is not set
+# CONFIG_I2C_PCI1XXXX is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+CONFIG_I2C_TINY_USB=m
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_CROS_EC_TUNNEL=y
+# CONFIG_I2C_VIRTIO is not set
+# end of I2C Hardware Bus support
+
+CONFIG_I2C_STUB=m
+# CONFIG_I2C_SLAVE is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+CONFIG_SPI_BITBANG=y
+# CONFIG_SPI_CADENCE is not set
+# CONFIG_SPI_CADENCE_QUADSPI is not set
+# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_DESIGNWARE is not set
+CONFIG_SPI_GPIO=y
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_MICROCHIP_CORE is not set
+# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PCI1XXXX is not set
+# CONFIG_SPI_PL022 is not set
+# CONFIG_SPI_PXA2XX is not set
+CONFIG_SPI_ROCKCHIP=y
+CONFIG_SPI_ROCKCHIP_SFC=m
+# CONFIG_SPI_SC18IS602 is not set
+# CONFIG_SPI_SIFIVE is not set
+# CONFIG_SPI_SN_F_OSPI is not set
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_THUNDERX is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+# CONFIG_SPI_AMD is not set
+
+#
+# SPI Multiplexer support
+#
+# CONFIG_SPI_MUX is not set
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_SPI_SLAVE is not set
+CONFIG_SPI_DYNAMIC=y
+CONFIG_SPMI=m
+# CONFIG_SPMI_HISI3670 is not set
+# CONFIG_HSI is not set
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+# CONFIG_PPS_CLIENT_LDISC is not set
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+CONFIG_PTP_1588_CLOCK=m
+CONFIG_PTP_1588_CLOCK_OPTIONAL=m
+# CONFIG_DP83640_PHY is not set
+# CONFIG_PTP_1588_CLOCK_INES is not set
+CONFIG_PTP_1588_CLOCK_KVM=m
+# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
+# CONFIG_PTP_1588_CLOCK_IDTCM is not set
+# CONFIG_PTP_1588_CLOCK_MOCK is not set
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_PINCTRL_AS3722 is not set
+# CONFIG_PINCTRL_AXP209 is not set
+# CONFIG_PINCTRL_CY8C95X0 is not set
+CONFIG_PINCTRL_MAX77620=y
+# CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
+# CONFIG_PINCTRL_PALMAS is not set
+CONFIG_PINCTRL_ROCKCHIP=y
+CONFIG_PINCTRL_SINGLE=y
+# CONFIG_PINCTRL_STMFX is not set
+# CONFIG_PINCTRL_SX150X is not set
+
+#
+# Renesas pinctrl drivers
+#
+# end of Renesas pinctrl drivers
+
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_GPIO_GENERIC=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
+CONFIG_GPIO_DWAPB=y
+# CONFIG_GPIO_EXAR is not set
+# CONFIG_GPIO_FTGPIO010 is not set
+CONFIG_GPIO_GENERIC_PLATFORM=y
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HISI is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
+# CONFIG_GPIO_MB86S7X is not set
+CONFIG_GPIO_PL061=y
+CONFIG_GPIO_ROCKCHIP=y
+# CONFIG_GPIO_SIFIVE is not set
+CONFIG_GPIO_SYSCON=y
+CONFIG_GPIO_XGENE=y
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_AMD_FCH is not set
+# end of Memory mapped GPIO drivers
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_FXL6408 is not set
+# CONFIG_GPIO_DS4520 is not set
+# CONFIG_GPIO_GW_PLD is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+CONFIG_GPIO_PCA953X=y
+CONFIG_GPIO_PCA953X_IRQ=y
+# CONFIG_GPIO_PCA9570 is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# end of I2C GPIO expanders
+
+#
+# MFD GPIO expanders
+#
+CONFIG_GPIO_MAX77620=y
+# CONFIG_GPIO_PALMAS is not set
+# CONFIG_GPIO_TPS6586X is not set
+# end of MFD GPIO expanders
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
+# CONFIG_GPIO_RDC321X is not set
+# end of PCI GPIO expanders
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+# end of SPI GPIO expanders
+
+#
+# USB GPIO expanders
+#
+# end of USB GPIO expanders
+
+#
+# Virtual GPIO drivers
+#
+CONFIG_GPIO_AGGREGATOR=m
+# CONFIG_GPIO_LATCH is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_VIRTIO is not set
+# CONFIG_GPIO_SIM is not set
+# end of Virtual GPIO drivers
+
+# CONFIG_W1 is not set
+CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_AS3722 is not set
+# CONFIG_POWER_RESET_GPIO is not set
+# CONFIG_POWER_RESET_GPIO_RESTART is not set
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_MT6323 is not set
+# CONFIG_POWER_RESET_REGULATOR is not set
+# CONFIG_POWER_RESET_RESTART is not set
+# CONFIG_POWER_RESET_XGENE is not set
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
+CONFIG_REBOOT_MODE=y
+CONFIG_SYSCON_REBOOT_MODE=y
+# CONFIG_NVMEM_REBOOT_MODE is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_GENERIC_ADC_BATTERY is not set
+# CONFIG_IP5XXX_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_CHARGER_ADP5061 is not set
+# CONFIG_BATTERY_CW2015 is not set
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
+CONFIG_BATTERY_SBS=m
+CONFIG_CHARGER_SBS=m
+CONFIG_MANAGER_SBS=m
+# CONFIG_BATTERY_BQ27XXX is not set
+# CONFIG_AXP20X_POWER is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_ISP1704 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_MANAGER is not set
+# CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
+# CONFIG_CHARGER_BQ24735 is not set
+# CONFIG_CHARGER_BQ2515X is not set
+# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_BQ25980 is not set
+# CONFIG_CHARGER_BQ256XX is not set
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_CHARGER_TPS65090 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_RT9467 is not set
+# CONFIG_CHARGER_RT9471 is not set
+CONFIG_CHARGER_CROS_USBPD=m
+CONFIG_CHARGER_CROS_PCHG=m
+# CONFIG_CHARGER_UCS1002 is not set
+# CONFIG_CHARGER_BD99954 is not set
+# CONFIG_BATTERY_UG3105 is not set
+# CONFIG_FUEL_GAUGE_MM8013 is not set
+CONFIG_HWMON=m
+CONFIG_HWMON_VID=m
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+CONFIG_SENSORS_AD7414=m
+CONFIG_SENSORS_AD7418=m
+CONFIG_SENSORS_ADM1025=m
+CONFIG_SENSORS_ADM1026=m
+CONFIG_SENSORS_ADM1029=m
+CONFIG_SENSORS_ADM1031=m
+# CONFIG_SENSORS_ADM1177 is not set
+CONFIG_SENSORS_ADM9240=m
+CONFIG_SENSORS_ADT7X10=m
+# CONFIG_SENSORS_ADT7310 is not set
+CONFIG_SENSORS_ADT7410=m
+CONFIG_SENSORS_ADT7411=m
+CONFIG_SENSORS_ADT7462=m
+CONFIG_SENSORS_ADT7470=m
+CONFIG_SENSORS_ADT7475=m
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
+# CONFIG_SENSORS_AS370 is not set
+CONFIG_SENSORS_ASC7621=m
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
+CONFIG_SENSORS_ARM_SCPI=m
+CONFIG_SENSORS_ATXP1=m
+# CONFIG_SENSORS_CORSAIR_CPRO is not set
+# CONFIG_SENSORS_CORSAIR_PSU is not set
+CONFIG_SENSORS_DS620=m
+CONFIG_SENSORS_DS1621=m
+# CONFIG_SENSORS_I5K_AMB is not set
+CONFIG_SENSORS_F71805F=m
+CONFIG_SENSORS_F71882FG=m
+CONFIG_SENSORS_F75375S=m
+# CONFIG_SENSORS_FTSTEUTATES is not set
+# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
+CONFIG_SENSORS_GL518SM=m
+CONFIG_SENSORS_GL520SM=m
+CONFIG_SENSORS_G760A=m
+CONFIG_SENSORS_G762=m
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_HS3001 is not set
+CONFIG_SENSORS_IIO_HWMON=m
+CONFIG_SENSORS_IT87=m
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWERZ is not set
+CONFIG_SENSORS_POWR1220=m
+CONFIG_SENSORS_LINEAGE=m
+CONFIG_SENSORS_LTC2945=m
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC2991 is not set
+# CONFIG_SENSORS_LTC2992 is not set
+CONFIG_SENSORS_LTC4151=m
+CONFIG_SENSORS_LTC4215=m
+CONFIG_SENSORS_LTC4222=m
+CONFIG_SENSORS_LTC4245=m
+CONFIG_SENSORS_LTC4260=m
+CONFIG_SENSORS_LTC4261=m
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX127 is not set
+CONFIG_SENSORS_MAX16065=m
+CONFIG_SENSORS_MAX1619=m
+CONFIG_SENSORS_MAX1668=m
+CONFIG_SENSORS_MAX197=m
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX31760 is not set
+# CONFIG_MAX31827 is not set
+# CONFIG_SENSORS_MAX6620 is not set
+# CONFIG_SENSORS_MAX6621 is not set
+CONFIG_SENSORS_MAX6639=m
+CONFIG_SENSORS_MAX6650=m
+CONFIG_SENSORS_MAX6697=m
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MC34VR500 is not set
+CONFIG_SENSORS_MCP3021=m
+# CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_TPS23861 is not set
+# CONFIG_SENSORS_MR75203 is not set
+# CONFIG_SENSORS_ADCXX is not set
+CONFIG_SENSORS_LM63=m
+# CONFIG_SENSORS_LM70 is not set
+CONFIG_SENSORS_LM73=m
+CONFIG_SENSORS_LM75=m
+CONFIG_SENSORS_LM77=m
+CONFIG_SENSORS_LM78=m
+CONFIG_SENSORS_LM80=m
+CONFIG_SENSORS_LM83=m
+CONFIG_SENSORS_LM85=m
+CONFIG_SENSORS_LM87=m
+CONFIG_SENSORS_LM90=m
+CONFIG_SENSORS_LM92=m
+CONFIG_SENSORS_LM93=m
+CONFIG_SENSORS_LM95234=m
+CONFIG_SENSORS_LM95241=m
+CONFIG_SENSORS_LM95245=m
+CONFIG_SENSORS_PC87360=m
+CONFIG_SENSORS_PC87427=m
+CONFIG_SENSORS_NTC_THERMISTOR=m
+CONFIG_SENSORS_NCT6683=m
+CONFIG_SENSORS_NCT6775_CORE=m
+CONFIG_SENSORS_NCT6775=m
+# CONFIG_SENSORS_NCT6775_I2C is not set
+CONFIG_SENSORS_NCT7802=m
+CONFIG_SENSORS_NCT7904=m
+# CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
+# CONFIG_SENSORS_OCC_P8_I2C is not set
+CONFIG_SENSORS_PCF8591=m
+CONFIG_PMBUS=m
+CONFIG_SENSORS_PMBUS=m
+# CONFIG_SENSORS_ACBEL_FSG032 is not set
+# CONFIG_SENSORS_ADM1266 is not set
+CONFIG_SENSORS_ADM1275=m
+# CONFIG_SENSORS_BEL_PFE is not set
+# CONFIG_SENSORS_BPA_RS600 is not set
+# CONFIG_SENSORS_DELTA_AHE50DC_FAN is not set
+# CONFIG_SENSORS_FSP_3Y is not set
+# CONFIG_SENSORS_IBM_CFFPS is not set
+# CONFIG_SENSORS_DPS920AB is not set
+# CONFIG_SENSORS_INSPUR_IPSPS is not set
+# CONFIG_SENSORS_IR35221 is not set
+# CONFIG_SENSORS_IR36021 is not set
+# CONFIG_SENSORS_IR38064 is not set
+# CONFIG_SENSORS_IRPS5401 is not set
+# CONFIG_SENSORS_ISL68137 is not set
+CONFIG_SENSORS_LM25066=m
+# CONFIG_SENSORS_LM25066_REGULATOR is not set
+# CONFIG_SENSORS_LT7182S is not set
+CONFIG_SENSORS_LTC2978=m
+# CONFIG_SENSORS_LTC2978_REGULATOR is not set
+# CONFIG_SENSORS_LTC3815 is not set
+# CONFIG_SENSORS_LTC4286 is not set
+# CONFIG_SENSORS_MAX15301 is not set
+CONFIG_SENSORS_MAX16064=m
+# CONFIG_SENSORS_MAX16601 is not set
+# CONFIG_SENSORS_MAX20730 is not set
+# CONFIG_SENSORS_MAX20751 is not set
+# CONFIG_SENSORS_MAX31785 is not set
+CONFIG_SENSORS_MAX34440=m
+CONFIG_SENSORS_MAX8688=m
+# CONFIG_SENSORS_MP2856 is not set
+# CONFIG_SENSORS_MP2888 is not set
+# CONFIG_SENSORS_MP2975 is not set
+# CONFIG_SENSORS_MP5023 is not set
+# CONFIG_SENSORS_MP5990 is not set
+# CONFIG_SENSORS_MPQ7932 is not set
+# CONFIG_SENSORS_PIM4328 is not set
+# CONFIG_SENSORS_PLI1209BC is not set
+# CONFIG_SENSORS_PM6764TR is not set
+# CONFIG_SENSORS_PXE1610 is not set
+# CONFIG_SENSORS_Q54SJ108A2 is not set
+# CONFIG_SENSORS_STPDDC60 is not set
+# CONFIG_SENSORS_TDA38640 is not set
+CONFIG_SENSORS_TPS40422=m
+# CONFIG_SENSORS_TPS53679 is not set
+# CONFIG_SENSORS_TPS546D24 is not set
+CONFIG_SENSORS_UCD9000=m
+CONFIG_SENSORS_UCD9200=m
+# CONFIG_SENSORS_XDPE152 is not set
+# CONFIG_SENSORS_XDPE122 is not set
+CONFIG_SENSORS_ZL6100=m
+CONFIG_SENSORS_PWM_FAN=m
+# CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
+CONFIG_SENSORS_SHT15=m
+CONFIG_SENSORS_SHT21=m
+CONFIG_SENSORS_SHT3x=m
+# CONFIG_SENSORS_SHT4x is not set
+CONFIG_SENSORS_SHTC1=m
+CONFIG_SENSORS_SIS5595=m
+CONFIG_SENSORS_DME1737=m
+CONFIG_SENSORS_EMC1403=m
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC2305 is not set
+CONFIG_SENSORS_EMC6W201=m
+CONFIG_SENSORS_SMSC47M1=m
+CONFIG_SENSORS_SMSC47M192=m
+CONFIG_SENSORS_SMSC47B397=m
+CONFIG_SENSORS_SCH56XX_COMMON=m
+CONFIG_SENSORS_SCH5627=m
+CONFIG_SENSORS_SCH5636=m
+# CONFIG_SENSORS_STTS751 is not set
+CONFIG_SENSORS_ADC128D818=m
+CONFIG_SENSORS_ADS7828=m
+# CONFIG_SENSORS_ADS7871 is not set
+CONFIG_SENSORS_AMC6821=m
+CONFIG_SENSORS_INA209=m
+CONFIG_SENSORS_INA2XX=m
+# CONFIG_SENSORS_INA238 is not set
+CONFIG_SENSORS_INA3221=m
+CONFIG_SENSORS_TC74=m
+CONFIG_SENSORS_THMC50=m
+CONFIG_SENSORS_TMP102=m
+CONFIG_SENSORS_TMP103=m
+CONFIG_SENSORS_TMP108=m
+CONFIG_SENSORS_TMP401=m
+CONFIG_SENSORS_TMP421=m
+# CONFIG_SENSORS_TMP464 is not set
+# CONFIG_SENSORS_TMP513 is not set
+CONFIG_SENSORS_VIA686A=m
+CONFIG_SENSORS_VT1211=m
+CONFIG_SENSORS_VT8231=m
+# CONFIG_SENSORS_W83773G is not set
+CONFIG_SENSORS_W83781D=m
+CONFIG_SENSORS_W83791D=m
+CONFIG_SENSORS_W83792D=m
+CONFIG_SENSORS_W83793=m
+CONFIG_SENSORS_W83795=m
+# CONFIG_SENSORS_W83795_FANCTRL is not set
+CONFIG_SENSORS_W83L785TS=m
+CONFIG_SENSORS_W83L786NG=m
+CONFIG_SENSORS_W83627HF=m
+CONFIG_SENSORS_W83627EHF=m
+CONFIG_THERMAL=y
+# CONFIG_THERMAL_NETLINK is not set
+# CONFIG_THERMAL_STATISTICS is not set
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_OF=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_BANG_BANG is not set
+CONFIG_THERMAL_GOV_FAIR_SHARE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_BANG_BANG=y
+CONFIG_THERMAL_GOV_USER_SPACE=y
+# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
+CONFIG_CPU_THERMAL=y
+CONFIG_CPU_FREQ_THERMAL=y
+# CONFIG_CPU_IDLE_THERMAL is not set
+CONFIG_DEVFREQ_THERMAL=y
+CONFIG_THERMAL_EMULATION=y
+# CONFIG_THERMAL_MMIO is not set
+CONFIG_MAX77620_THERMAL=m
+CONFIG_ROCKCHIP_THERMAL=m
+CONFIG_GENERIC_ADC_THERMAL=m
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=m
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+# CONFIG_WATCHDOG_SYSFS is not set
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_XILINX_WINDOW_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_ARM_SP805_WATCHDOG is not set
+# CONFIG_ARM_SBSA_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+CONFIG_DW_WATCHDOG=m
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_MAX77620_WATCHDOG is not set
+# CONFIG_ARM_SMC_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_HP_WATCHDOG is not set
+# CONFIG_MEN_A21_WDT is not set
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+CONFIG_SSB=m
+CONFIG_SSB_SPROM=y
+CONFIG_SSB_PCIHOST_POSSIBLE=y
+CONFIG_SSB_PCIHOST=y
+CONFIG_SSB_SDIOHOST_POSSIBLE=y
+CONFIG_SSB_SDIOHOST=y
+CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
+CONFIG_SSB_DRIVER_PCICORE=y
+CONFIG_SSB_DRIVER_GPIO=y
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_ACT8945A is not set
+CONFIG_MFD_AS3711=y
+# CONFIG_MFD_SMPRO is not set
+CONFIG_MFD_AS3722=m
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+CONFIG_MFD_AXP20X=y
+CONFIG_MFD_AXP20X_I2C=y
+CONFIG_MFD_CROS_EC_DEV=y
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_MFD_MAX5970 is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_MFD_HI6421_SPMI is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77541 is not set
+CONFIG_MFD_MAX77620=y
+# CONFIG_MFD_MAX77650 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77714 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6370 is not set
+CONFIG_MFD_MT6397=y
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_MFD_OCELOT is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_NTXEC is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_SY7636A is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RT5120 is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_RK8XX_I2C is not set
+# CONFIG_MFD_RK8XX_SPI is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+CONFIG_MFD_SM501=m
+CONFIG_MFD_SM501_GPIO=y
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+CONFIG_MFD_PALMAS=y
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+CONFIG_MFD_TPS65090=y
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS65219 is not set
+CONFIG_MFD_TPS6586X=y
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS6594_I2C is not set
+# CONFIG_MFD_TPS6594_SPI is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
+CONFIG_MFD_VX855=m
+# CONFIG_MFD_LOCHNAGAR is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
+# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_STMFX is not set
+# CONFIG_MFD_ATC260X_I2C is not set
+# CONFIG_MFD_KHADAS_MCU is not set
+# CONFIG_MFD_QCOM_PM8008 is not set
+# CONFIG_RAVE_SP_CORE is not set
+# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
+# CONFIG_MFD_RSMU_I2C is not set
+# CONFIG_MFD_RSMU_SPI is not set
+# end of Multifunction device drivers
+
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+CONFIG_REGULATOR_FIXED_VOLTAGE=y
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_NETLINK_EVENTS is not set
+# CONFIG_REGULATOR_88PG86X is not set
+# CONFIG_REGULATOR_ACT8865 is not set
+# CONFIG_REGULATOR_AD5398 is not set
+# CONFIG_REGULATOR_AS3711 is not set
+# CONFIG_REGULATOR_AS3722 is not set
+# CONFIG_REGULATOR_AW37503 is not set
+# CONFIG_REGULATOR_AXP20X is not set
+CONFIG_REGULATOR_CROS_EC=m
+# CONFIG_REGULATOR_DA9121 is not set
+# CONFIG_REGULATOR_DA9210 is not set
+# CONFIG_REGULATOR_DA9211 is not set
+# CONFIG_REGULATOR_FAN53555 is not set
+# CONFIG_REGULATOR_FAN53880 is not set
+CONFIG_REGULATOR_GPIO=y
+# CONFIG_REGULATOR_ISL9305 is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_LTC3589 is not set
+# CONFIG_REGULATOR_LTC3676 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77503 is not set
+CONFIG_REGULATOR_MAX77620=y
+# CONFIG_REGULATOR_MAX77857 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8893 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_MAX20086 is not set
+# CONFIG_REGULATOR_MAX20411 is not set
+# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP5416 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MP886X is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
+# CONFIG_REGULATOR_MT6311 is not set
+# CONFIG_REGULATOR_MT6315 is not set
+# CONFIG_REGULATOR_MT6323 is not set
+# CONFIG_REGULATOR_MT6331 is not set
+# CONFIG_REGULATOR_MT6332 is not set
+# CONFIG_REGULATOR_MT6357 is not set
+# CONFIG_REGULATOR_MT6358 is not set
+# CONFIG_REGULATOR_MT6359 is not set
+# CONFIG_REGULATOR_MT6397 is not set
+# CONFIG_REGULATOR_PALMAS is not set
+# CONFIG_REGULATOR_PCA9450 is not set
+# CONFIG_REGULATOR_PF8X00 is not set
+# CONFIG_REGULATOR_PFUZE100 is not set
+# CONFIG_REGULATOR_PV88060 is not set
+# CONFIG_REGULATOR_PV88080 is not set
+# CONFIG_REGULATOR_PV88090 is not set
+CONFIG_REGULATOR_PWM=y
+# CONFIG_REGULATOR_QCOM_SPMI is not set
+# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
+# CONFIG_REGULATOR_RAA215300 is not set
+# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
+# CONFIG_REGULATOR_RT4801 is not set
+# CONFIG_REGULATOR_RT4803 is not set
+# CONFIG_REGULATOR_RT5190A is not set
+# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RT5759 is not set
+# CONFIG_REGULATOR_RT6160 is not set
+# CONFIG_REGULATOR_RT6190 is not set
+# CONFIG_REGULATOR_RT6245 is not set
+# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTMV20 is not set
+# CONFIG_REGULATOR_RTQ6752 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
+# CONFIG_REGULATOR_SLG51000 is not set
+# CONFIG_REGULATOR_SY8106A is not set
+# CONFIG_REGULATOR_SY8824X is not set
+# CONFIG_REGULATOR_SY8827N is not set
+# CONFIG_REGULATOR_TPS51632 is not set
+# CONFIG_REGULATOR_TPS62360 is not set
+# CONFIG_REGULATOR_TPS6286X is not set
+# CONFIG_REGULATOR_TPS6287X is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS65090 is not set
+# CONFIG_REGULATOR_TPS65132 is not set
+# CONFIG_REGULATOR_TPS6524X is not set
+# CONFIG_REGULATOR_TPS6586X is not set
+CONFIG_REGULATOR_VCTRL=m
+# CONFIG_REGULATOR_QCOM_LABIBB is not set
+CONFIG_RC_CORE=m
+# CONFIG_LIRC is not set
+# CONFIG_RC_MAP is not set
+# CONFIG_RC_DECODERS is not set
+# CONFIG_RC_DEVICES is not set
+CONFIG_CEC_CORE=y
+CONFIG_CEC_NOTIFIER=y
+
+#
+# CEC support
+#
+CONFIG_MEDIA_CEC_SUPPORT=y
+# CONFIG_CEC_CH7322 is not set
+CONFIG_CEC_CROS_EC=m
+# CONFIG_CEC_GPIO is not set
+# CONFIG_USB_PULSE8_CEC is not set
+# CONFIG_USB_RAINSHADOW_CEC is not set
+# end of CEC support
+
+CONFIG_MEDIA_SUPPORT=m
+CONFIG_MEDIA_SUPPORT_FILTER=y
+CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
+
+#
+# Media device types
+#
+CONFIG_MEDIA_CAMERA_SUPPORT=y
+# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
+# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
+# CONFIG_MEDIA_RADIO_SUPPORT is not set
+CONFIG_MEDIA_SDR_SUPPORT=y
+CONFIG_MEDIA_PLATFORM_SUPPORT=y
+# CONFIG_MEDIA_TEST_SUPPORT is not set
+# end of Media device types
+
+CONFIG_VIDEO_DEV=m
+CONFIG_MEDIA_CONTROLLER=y
+
+#
+# Video4Linux options
+#
+CONFIG_VIDEO_V4L2_I2C=y
+CONFIG_VIDEO_V4L2_SUBDEV_API=y
+# CONFIG_VIDEO_ADV_DEBUG is not set
+# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
+CONFIG_V4L2_H264=m
+CONFIG_V4L2_VP9=m
+CONFIG_V4L2_MEM2MEM_DEV=m
+# CONFIG_V4L2_FLASH_LED_CLASS is not set
+CONFIG_V4L2_FWNODE=m
+CONFIG_V4L2_ASYNC=m
+# end of Video4Linux options
+
+#
+# Media controller options
+#
+# end of Media controller options
+
+#
+# Media drivers
+#
+
+#
+# Drivers filtered as selected at 'Filter media drivers'
+#
+
+#
+# Media drivers
+#
+CONFIG_MEDIA_USB_SUPPORT=y
+
+#
+# Webcam devices
+#
+# CONFIG_USB_GSPCA is not set
+# CONFIG_USB_PWC is not set
+# CONFIG_USB_S2255 is not set
+# CONFIG_VIDEO_USBTV is not set
+CONFIG_USB_VIDEO_CLASS=m
+CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
+
+#
+# Webcam, TV (analog/digital) USB devices
+#
+# CONFIG_VIDEO_EM28XX is not set
+
+#
+# Software defined radio USB devices
+#
+CONFIG_USB_AIRSPY=m
+CONFIG_USB_HACKRF=m
+CONFIG_USB_MSI2500=m
+# CONFIG_MEDIA_PCI_SUPPORT is not set
+CONFIG_MEDIA_PLATFORM_DRIVERS=y
+CONFIG_V4L_PLATFORM_DRIVERS=y
+# CONFIG_SDR_PLATFORM_DRIVERS is not set
+CONFIG_V4L_MEM2MEM_DRIVERS=y
+# CONFIG_VIDEO_MEM2MEM_DEINTERLACE is not set
+CONFIG_VIDEO_MUX=m
+
+#
+# Allegro DVT media platform drivers
+#
+
+#
+# Amlogic media platform drivers
+#
+
+#
+# Amphion drivers
+#
+
+#
+# Aspeed media platform drivers
+#
+
+#
+# Atmel media platform drivers
+#
+
+#
+# Cadence media platform drivers
+#
+# CONFIG_VIDEO_CADENCE_CSI2RX is not set
+# CONFIG_VIDEO_CADENCE_CSI2TX is not set
+
+#
+# Chips&Media media platform drivers
+#
+
+#
+# Intel media platform drivers
+#
+
+#
+# Marvell media platform drivers
+#
+# CONFIG_VIDEO_CAFE_CCIC is not set
+
+#
+# Mediatek media platform drivers
+#
+
+#
+# Microchip Technology, Inc. media platform drivers
+#
+
+#
+# Nuvoton media platform drivers
+#
+
+#
+# NVidia media platform drivers
+#
+
+#
+# NXP media platform drivers
+#
+
+#
+# Qualcomm media platform drivers
+#
+
+#
+# Renesas media platform drivers
+#
+
+#
+# Rockchip media platform drivers
+#
+CONFIG_VIDEO_ROCKCHIP_RGA=m
+CONFIG_VIDEO_ROCKCHIP_ISP1=m
+
+#
+# Samsung media platform drivers
+#
+
+#
+# STMicroelectronics media platform drivers
+#
+
+#
+# Sunxi media platform drivers
+#
+
+#
+# Texas Instruments drivers
+#
+
+#
+# Verisilicon media platform drivers
+#
+CONFIG_VIDEO_HANTRO=m
+CONFIG_VIDEO_HANTRO_ROCKCHIP=y
+
+#
+# VIA media platform drivers
+#
+
+#
+# Xilinx media platform drivers
+#
+# CONFIG_VIDEO_XILINX is not set
+CONFIG_UVC_COMMON=m
+CONFIG_VIDEOBUF2_CORE=m
+CONFIG_VIDEOBUF2_V4L2=m
+CONFIG_VIDEOBUF2_MEMOPS=m
+CONFIG_VIDEOBUF2_DMA_CONTIG=m
+CONFIG_VIDEOBUF2_VMALLOC=m
+CONFIG_VIDEOBUF2_DMA_SG=m
+# end of Media drivers
+
+CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y
+
+#
+# Media ancillary drivers
+#
+
+#
+# IR I2C driver auto-selected by 'Autoselect ancillary drivers'
+#
+CONFIG_VIDEO_IR_I2C=m
+CONFIG_VIDEO_CAMERA_SENSOR=y
+# CONFIG_VIDEO_ALVIUM_CSI2 is not set
+# CONFIG_VIDEO_AR0521 is not set
+# CONFIG_VIDEO_GC0308 is not set
+# CONFIG_VIDEO_GC2145 is not set
+# CONFIG_VIDEO_HI556 is not set
+# CONFIG_VIDEO_HI846 is not set
+# CONFIG_VIDEO_HI847 is not set
+# CONFIG_VIDEO_IMX208 is not set
+# CONFIG_VIDEO_IMX214 is not set
+# CONFIG_VIDEO_IMX219 is not set
+# CONFIG_VIDEO_IMX258 is not set
+# CONFIG_VIDEO_IMX274 is not set
+# CONFIG_VIDEO_IMX290 is not set
+# CONFIG_VIDEO_IMX296 is not set
+# CONFIG_VIDEO_IMX319 is not set
+# CONFIG_VIDEO_IMX334 is not set
+# CONFIG_VIDEO_IMX335 is not set
+# CONFIG_VIDEO_IMX355 is not set
+# CONFIG_VIDEO_IMX412 is not set
+# CONFIG_VIDEO_IMX415 is not set
+# CONFIG_VIDEO_MT9M001 is not set
+# CONFIG_VIDEO_MT9M111 is not set
+# CONFIG_VIDEO_MT9M114 is not set
+# CONFIG_VIDEO_MT9P031 is not set
+# CONFIG_VIDEO_MT9T112 is not set
+# CONFIG_VIDEO_MT9V011 is not set
+# CONFIG_VIDEO_MT9V032 is not set
+# CONFIG_VIDEO_MT9V111 is not set
+# CONFIG_VIDEO_OG01A1B is not set
+# CONFIG_VIDEO_OV01A10 is not set
+# CONFIG_VIDEO_OV02A10 is not set
+# CONFIG_VIDEO_OV08D10 is not set
+# CONFIG_VIDEO_OV08X40 is not set
+# CONFIG_VIDEO_OV13858 is not set
+# CONFIG_VIDEO_OV13B10 is not set
+# CONFIG_VIDEO_OV2640 is not set
+# CONFIG_VIDEO_OV2659 is not set
+# CONFIG_VIDEO_OV2680 is not set
+# CONFIG_VIDEO_OV2685 is not set
+# CONFIG_VIDEO_OV4689 is not set
+# CONFIG_VIDEO_OV5640 is not set
+# CONFIG_VIDEO_OV5645 is not set
+# CONFIG_VIDEO_OV5647 is not set
+# CONFIG_VIDEO_OV5648 is not set
+# CONFIG_VIDEO_OV5670 is not set
+# CONFIG_VIDEO_OV5675 is not set
+# CONFIG_VIDEO_OV5693 is not set
+# CONFIG_VIDEO_OV5695 is not set
+# CONFIG_VIDEO_OV64A40 is not set
+# CONFIG_VIDEO_OV6650 is not set
+# CONFIG_VIDEO_OV7251 is not set
+# CONFIG_VIDEO_OV7640 is not set
+# CONFIG_VIDEO_OV7670 is not set
+# CONFIG_VIDEO_OV772X is not set
+# CONFIG_VIDEO_OV7740 is not set
+# CONFIG_VIDEO_OV8856 is not set
+# CONFIG_VIDEO_OV8858 is not set
+# CONFIG_VIDEO_OV8865 is not set
+# CONFIG_VIDEO_OV9282 is not set
+# CONFIG_VIDEO_OV9640 is not set
+# CONFIG_VIDEO_OV9650 is not set
+# CONFIG_VIDEO_RDACM20 is not set
+# CONFIG_VIDEO_RDACM21 is not set
+# CONFIG_VIDEO_RJ54N1 is not set
+# CONFIG_VIDEO_S5C73M3 is not set
+# CONFIG_VIDEO_S5K5BAF is not set
+# CONFIG_VIDEO_S5K6A3 is not set
+# CONFIG_VIDEO_ST_VGXY61 is not set
+# CONFIG_VIDEO_CCS is not set
+# CONFIG_VIDEO_ET8EK8 is not set
+
+#
+# Camera ISPs
+#
+# CONFIG_VIDEO_THP7312 is not set
+# end of Camera ISPs
+
+#
+# Lens drivers
+#
+# CONFIG_VIDEO_AD5820 is not set
+# CONFIG_VIDEO_AK7375 is not set
+# CONFIG_VIDEO_DW9714 is not set
+# CONFIG_VIDEO_DW9719 is not set
+# CONFIG_VIDEO_DW9768 is not set
+# CONFIG_VIDEO_DW9807_VCM is not set
+# end of Lens drivers
+
+#
+# Flash devices
+#
+# CONFIG_VIDEO_ADP1653 is not set
+# CONFIG_VIDEO_LM3560 is not set
+# CONFIG_VIDEO_LM3646 is not set
+# end of Flash devices
+
+#
+# audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'
+#
+
+#
+# Video and audio decoders
+#
+
+#
+# Video serializers and deserializers
+#
+# CONFIG_VIDEO_DS90UB913 is not set
+# CONFIG_VIDEO_DS90UB953 is not set
+# CONFIG_VIDEO_DS90UB960 is not set
+# end of Video serializers and deserializers
+
+#
+# SPI I2C drivers auto-selected by 'Autoselect ancillary drivers'
+#
+
+#
+# Media SPI Adapters
+#
+# CONFIG_VIDEO_GS1662 is not set
+# end of Media SPI Adapters
+
+CONFIG_MEDIA_TUNER=m
+
+#
+# Tuner drivers auto-selected by 'Autoselect ancillary drivers'
+#
+CONFIG_MEDIA_TUNER_MC44S803=m
+CONFIG_MEDIA_TUNER_MSI001=m
+CONFIG_MEDIA_TUNER_MT20XX=m
+CONFIG_MEDIA_TUNER_SIMPLE=m
+CONFIG_MEDIA_TUNER_TDA18271=m
+CONFIG_MEDIA_TUNER_TDA827X=m
+CONFIG_MEDIA_TUNER_TDA8290=m
+CONFIG_MEDIA_TUNER_TDA9887=m
+CONFIG_MEDIA_TUNER_XC2028=m
+CONFIG_MEDIA_TUNER_XC4000=m
+CONFIG_MEDIA_TUNER_XC5000=m
+# end of Media ancillary drivers
+
+#
+# Graphics support
+#
+CONFIG_VIDEO_CMDLINE=y
+CONFIG_VIDEO_NOMODESET=y
+# CONFIG_AUXDISPLAY is not set
+CONFIG_DRM=y
+CONFIG_DRM_MIPI_DSI=y
+# CONFIG_DRM_DEBUG_MM is not set
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
+CONFIG_DRM_DP_AUX_BUS=y
+CONFIG_DRM_DISPLAY_HELPER=y
+CONFIG_DRM_DISPLAY_DP_HELPER=y
+CONFIG_DRM_DISPLAY_HDMI_HELPER=y
+CONFIG_DRM_DP_AUX_CHARDEV=y
+# CONFIG_DRM_DP_CEC is not set
+CONFIG_DRM_GEM_DMA_HELPER=y
+CONFIG_DRM_GEM_SHMEM_HELPER=m
+CONFIG_DRM_SCHED=m
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
+# end of I2C encoder or helper chips
+
+#
+# ARM devices
+#
+# CONFIG_DRM_HDLCD is not set
+# CONFIG_DRM_MALI_DISPLAY is not set
+# CONFIG_DRM_KOMEDA is not set
+# end of ARM devices
+
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_AMDGPU is not set
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_XE is not set
+CONFIG_DRM_VGEM=m
+# CONFIG_DRM_VKMS is not set
+CONFIG_DRM_ROCKCHIP=y
+CONFIG_ROCKCHIP_VOP=y
+# CONFIG_ROCKCHIP_VOP2 is not set
+CONFIG_ROCKCHIP_ANALOGIX_DP=y
+CONFIG_ROCKCHIP_CDN_DP=y
+CONFIG_ROCKCHIP_DW_HDMI=y
+CONFIG_ROCKCHIP_DW_MIPI_DSI=y
+# CONFIG_ROCKCHIP_INNO_HDMI is not set
+# CONFIG_ROCKCHIP_LVDS is not set
+CONFIG_ROCKCHIP_RGB=y
+# CONFIG_ROCKCHIP_RK3066_HDMI is not set
+# CONFIG_DRM_VMWGFX is not set
+CONFIG_DRM_UDL=m
+# CONFIG_DRM_AST is not set
+# CONFIG_DRM_MGAG200 is not set
+# CONFIG_DRM_QXL is not set
+CONFIG_DRM_VIRTIO_GPU=m
+# CONFIG_DRM_VIRTIO_GPU_KMS is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
+# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
+# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
+# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set
+# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
+# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
+# CONFIG_DRM_PANEL_DSI_CM is not set
+# CONFIG_DRM_PANEL_LVDS is not set
+CONFIG_DRM_PANEL_SIMPLE=m
+CONFIG_DRM_PANEL_EDP=y
+# CONFIG_DRM_PANEL_EBBG_FT8719 is not set
+# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
+# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
+# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
+# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9805 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9882T is not set
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
+# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
+# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set
+# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
+# CONFIG_DRM_PANEL_JDI_LPM102A188A is not set
+# CONFIG_DRM_PANEL_JDI_R63452 is not set
+# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
+# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
+# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
+# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
+# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set
+# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
+# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
+# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set
+# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
+# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
+# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
+# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
+# CONFIG_DRM_PANEL_RAYDIUM_RM692E5 is not set
+# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
+# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
+# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
+# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SYNAPTICS_R63353 is not set
+# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
+# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set
+# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set
+# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set
+# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
+# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
+# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
+# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
+# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set
+# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set
+# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
+# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
+# end of Display Panels
+
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
+# CONFIG_DRM_CHRONTEL_CH7033 is not set
+# CONFIG_DRM_CROS_EC_ANX7688 is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=y
+# CONFIG_DRM_ITE_IT6505 is not set
+# CONFIG_DRM_LONTIUM_LT8912B is not set
+# CONFIG_DRM_LONTIUM_LT9211 is not set
+# CONFIG_DRM_LONTIUM_LT9611 is not set
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_ITE_IT66121 is not set
+# CONFIG_DRM_LVDS_CODEC is not set
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
+# CONFIG_DRM_NWL_MIPI_DSI is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+CONFIG_DRM_PARADE_PS8640=y
+# CONFIG_DRM_SAMSUNG_DSIM is not set
+# CONFIG_DRM_SIL_SII8620 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_SII9234 is not set
+# CONFIG_DRM_SIMPLE_BRIDGE is not set
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
+# CONFIG_DRM_TOSHIBA_TC358762 is not set
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TOSHIBA_TC358768 is not set
+# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TI_DLPC3433 is not set
+# CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI83 is not set
+# CONFIG_DRM_TI_SN65DSI86 is not set
+# CONFIG_DRM_TI_TPD12S015 is not set
+CONFIG_DRM_ANALOGIX_ANX6345=m
+CONFIG_DRM_ANALOGIX_ANX78XX=m
+CONFIG_DRM_ANALOGIX_DP=y
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
+# CONFIG_DRM_I2C_ADV7511 is not set
+# CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_CDNS_MHDP8546 is not set
+CONFIG_DRM_DW_HDMI=y
+# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
+CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
+# CONFIG_DRM_DW_HDMI_GP_AUDIO is not set
+CONFIG_DRM_DW_HDMI_CEC=m
+CONFIG_DRM_DW_MIPI_DSI=y
+# end of Display Interface Bridges
+
+# CONFIG_DRM_ETNAVIV is not set
+# CONFIG_DRM_HISI_HIBMC is not set
+# CONFIG_DRM_HISI_KIRIN is not set
+# CONFIG_DRM_LOGICVC is not set
+# CONFIG_DRM_ARCPGU is not set
+# CONFIG_DRM_BOCHS is not set
+# CONFIG_DRM_CIRRUS_QEMU is not set
+# CONFIG_DRM_GM12U320 is not set
+# CONFIG_DRM_PANEL_MIPI_DBI is not set
+# CONFIG_DRM_SIMPLEDRM is not set
+# CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
+# CONFIG_TINYDRM_ILI9225 is not set
+# CONFIG_TINYDRM_ILI9341 is not set
+# CONFIG_TINYDRM_ILI9486 is not set
+# CONFIG_TINYDRM_MI0283QT is not set
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
+# CONFIG_TINYDRM_ST7735R is not set
+CONFIG_DRM_PL111=m
+# CONFIG_DRM_LIMA is not set
+CONFIG_DRM_PANFROST=m
+# CONFIG_DRM_TIDSS is not set
+# CONFIG_DRM_GUD is not set
+# CONFIG_DRM_SSD130X is not set
+# CONFIG_DRM_POWERVR is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB=y
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_UVESA is not set
+# CONFIG_FB_EFI is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SM501 is not set
+# CONFIG_FB_SMSCUFX is not set
+CONFIG_FB_UDL=m
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SSD1307 is not set
+# CONFIG_FB_SM712 is not set
+CONFIG_FB_CORE=y
+CONFIG_FB_NOTIFY=y
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB_DEVICE=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYSMEM_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_DMAMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_KTD253 is not set
+# CONFIG_BACKLIGHT_KTZ8866 is not set
+CONFIG_BACKLIGHT_PWM=y
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+CONFIG_BACKLIGHT_LP855X=y
+# CONFIG_BACKLIGHT_MP3309C is not set
+# CONFIG_BACKLIGHT_AS3711 is not set
+CONFIG_BACKLIGHT_GPIO=y
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_BACKLIGHT_ARCXCNN is not set
+# CONFIG_BACKLIGHT_LED is not set
+# end of Backlight & LCD device support
+
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
+# end of Console display driver support
+
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+# end of Graphics support
+
+# CONFIG_DRM_ACCEL is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_DMAENGINE_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_SEQ_DEVICE=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+# CONFIG_SND_OSSEMUL is not set
+CONFIG_SND_PCM_TIMER=y
+# CONFIG_SND_HRTIMER is not set
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+CONFIG_SND_CTL_FAST_LOOKUP=y
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_CTL_INPUT_VALIDATION is not set
+CONFIG_SND_VMASTER=y
+CONFIG_SND_SEQUENCER=m
+# CONFIG_SND_SEQ_DUMMY is not set
+CONFIG_SND_SEQ_MIDI_EVENT=m
+CONFIG_SND_SEQ_MIDI=m
+# CONFIG_SND_SEQ_UMP is not set
+CONFIG_SND_DRIVERS=y
+# CONFIG_SND_DUMMY is not set
+CONFIG_SND_ALOOP=m
+# CONFIG_SND_VIRMIDI is not set
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_SERIAL_GENERIC is not set
+# CONFIG_SND_MPU401 is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ALS300 is not set
+# CONFIG_SND_ALI5451 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_AZT3328 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_EMU10K1 is not set
+# CONFIG_SND_EMU10K1X is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_ES1938 is not set
+# CONFIG_SND_ES1968 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1712 is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MAESTRO3 is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SE6X is not set
+# CONFIG_SND_SONICVIBES is not set
+# CONFIG_SND_TRIDENT is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# HD-Audio
+#
+# CONFIG_SND_HDA_INTEL is not set
+# end of HD-Audio
+
+CONFIG_SND_HDA_PREALLOC_SIZE=64
+# CONFIG_SND_SPI is not set
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
+CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_CAIAQ=m
+CONFIG_SND_USB_CAIAQ_INPUT=y
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_USB_HIFACE=m
+CONFIG_SND_BCD2000=m
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+# CONFIG_SND_SOC_ADI is not set
+# CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_AUDMIX is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_XCVR is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+# end of SoC Audio for Freescale CPUs
+
+# CONFIG_SND_SOC_CHV3_I2S is not set
+# CONFIG_SND_I2S_HI6210_I2S is not set
+# CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
+CONFIG_SND_SOC_ROCKCHIP=m
+CONFIG_SND_SOC_ROCKCHIP_I2S=m
+CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m
+CONFIG_SND_SOC_ROCKCHIP_PDM=m
+CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
+CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
+CONFIG_SND_SOC_ROCKCHIP_RT5645=m
+CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
+CONFIG_SND_SOC_RK3399_GRU_SOUND=m
+# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
+
+#
+# STMicroelectronics STM32 SOC audio support
+#
+# end of STMicroelectronics STM32 SOC audio support
+
+# CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=m
+
+#
+# CODEC drivers
+#
+# CONFIG_SND_SOC_AC97_CODEC is not set
+# CONFIG_SND_SOC_ADAU1372_I2C is not set
+# CONFIG_SND_SOC_ADAU1372_SPI is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
+# CONFIG_SND_SOC_ADAU7002 is not set
+# CONFIG_SND_SOC_ADAU7118_HW is not set
+# CONFIG_SND_SOC_ADAU7118_I2C is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
+# CONFIG_SND_SOC_AK4458 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_AK5558 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set
+# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88395 is not set
+# CONFIG_SND_SOC_AW88261 is not set
+# CONFIG_SND_SOC_AW87390 is not set
+# CONFIG_SND_SOC_AW88399 is not set
+# CONFIG_SND_SOC_BD28623 is not set
+CONFIG_SND_SOC_BT_SCO=m
+# CONFIG_SND_SOC_CHV3_CODEC is not set
+CONFIG_SND_SOC_CROS_EC_CODEC=m
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS35L33 is not set
+# CONFIG_SND_SOC_CS35L34 is not set
+# CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
+# CONFIG_SND_SOC_CS35L41_SPI is not set
+# CONFIG_SND_SOC_CS35L41_I2C is not set
+# CONFIG_SND_SOC_CS35L45_SPI is not set
+# CONFIG_SND_SOC_CS35L45_I2C is not set
+# CONFIG_SND_SOC_CS35L56_I2C is not set
+# CONFIG_SND_SOC_CS35L56_SPI is not set
+# CONFIG_SND_SOC_CS42L42 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS42L83 is not set
+# CONFIG_SND_SOC_CS4234 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
+# CONFIG_SND_SOC_CS4349 is not set
+# CONFIG_SND_SOC_CS53L30 is not set
+# CONFIG_SND_SOC_CX2072X is not set
+# CONFIG_SND_SOC_DA7213 is not set
+CONFIG_SND_SOC_DA7219=m
+CONFIG_SND_SOC_DMIC=m
+CONFIG_SND_SOC_HDMI_CODEC=m
+# CONFIG_SND_SOC_ES7134 is not set
+# CONFIG_SND_SOC_ES7241 is not set
+# CONFIG_SND_SOC_ES8316 is not set
+# CONFIG_SND_SOC_ES8326 is not set
+CONFIG_SND_SOC_ES8328=m
+CONFIG_SND_SOC_ES8328_I2C=m
+CONFIG_SND_SOC_ES8328_SPI=m
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_HDA is not set
+# CONFIG_SND_SOC_ICS43432 is not set
+# CONFIG_SND_SOC_IDT821034 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98088 is not set
+CONFIG_SND_SOC_MAX98090=m
+CONFIG_SND_SOC_MAX98357A=m
+# CONFIG_SND_SOC_MAX98504 is not set
+# CONFIG_SND_SOC_MAX9867 is not set
+# CONFIG_SND_SOC_MAX98927 is not set
+# CONFIG_SND_SOC_MAX98520 is not set
+# CONFIG_SND_SOC_MAX98373_I2C is not set
+# CONFIG_SND_SOC_MAX98388 is not set
+# CONFIG_SND_SOC_MAX98390 is not set
+# CONFIG_SND_SOC_MAX98396 is not set
+# CONFIG_SND_SOC_MAX9860 is not set
+# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1789_I2C is not set
+# CONFIG_SND_SOC_PCM179X_I2C is not set
+# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM186X_I2C is not set
+# CONFIG_SND_SOC_PCM186X_SPI is not set
+# CONFIG_SND_SOC_PCM3060_I2C is not set
+# CONFIG_SND_SOC_PCM3060_SPI is not set
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
+# CONFIG_SND_SOC_PCM5102A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+# CONFIG_SND_SOC_PEB2466 is not set
+CONFIG_SND_SOC_RK3328=m
+CONFIG_SND_SOC_RL6231=m
+CONFIG_SND_SOC_RT5514=m
+CONFIG_SND_SOC_RT5514_SPI=m
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+# CONFIG_SND_SOC_RT5640 is not set
+CONFIG_SND_SOC_RT5645=m
+# CONFIG_SND_SOC_RT5659 is not set
+# CONFIG_SND_SOC_RT9120 is not set
+# CONFIG_SND_SOC_RTQ9128 is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
+# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
+# CONFIG_SND_SOC_SIMPLE_MUX is not set
+# CONFIG_SND_SOC_SMA1303 is not set
+# CONFIG_SND_SOC_SPDIF is not set
+# CONFIG_SND_SOC_SRC4XXX_I2C is not set
+# CONFIG_SND_SOC_SSM2305 is not set
+# CONFIG_SND_SOC_SSM2518 is not set
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM3515 is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS2562 is not set
+# CONFIG_SND_SOC_TAS2764 is not set
+# CONFIG_SND_SOC_TAS2770 is not set
+# CONFIG_SND_SOC_TAS2780 is not set
+# CONFIG_SND_SOC_TAS2781_I2C is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TAS5805M is not set
+# CONFIG_SND_SOC_TAS6424 is not set
+# CONFIG_SND_SOC_TDA7419 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TFA989X is not set
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TLV320ADCX140 is not set
+CONFIG_SND_SOC_TS3A227E=m
+# CONFIG_SND_SOC_TSCS42XX is not set
+# CONFIG_SND_SOC_TSCS454 is not set
+# CONFIG_SND_SOC_UDA1334 is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8524 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731_I2C is not set
+# CONFIG_SND_SOC_WM8731_SPI is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8782 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8904 is not set
+# CONFIG_SND_SOC_WM8940 is not set
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8961 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_ZL38060 is not set
+# CONFIG_SND_SOC_MAX9759 is not set
+# CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
+# CONFIG_SND_SOC_NAU8315 is not set
+# CONFIG_SND_SOC_NAU8540 is not set
+# CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_NAU8821 is not set
+# CONFIG_SND_SOC_NAU8822 is not set
+# CONFIG_SND_SOC_NAU8824 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
+# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
+# end of CODEC drivers
+
+CONFIG_SND_SIMPLE_CARD_UTILS=m
+CONFIG_SND_SIMPLE_CARD=m
+CONFIG_SND_AUDIO_GRAPH_CARD=m
+# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
+# CONFIG_SND_TEST_COMPONENT is not set
+# CONFIG_SND_VIRTIO is not set
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=y
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_ASUS is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_BIGBEN_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CORSAIR is not set
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CP2112 is not set
+# CONFIG_HID_CREATIVE_SB0540 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELAN is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EVISION is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_FT260 is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GOOGLE_HAMMER is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
+# CONFIG_HID_VIVALDI is not set
+# CONFIG_HID_GT683R is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+CONFIG_HID_UCLOGIC=m
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_VRC2 is not set
+# CONFIG_HID_XIAOMI is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+CONFIG_HID_LED=m
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LETSKETCH is not set
+CONFIG_HID_LOGITECH=m
+CONFIG_HID_LOGITECH_DJ=m
+CONFIG_HID_LOGITECH_HIDPP=m
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWHEELS_FF is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MALTRON is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MEGAWORLD_FF is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+CONFIG_HID_MULTITOUCH=m
+# CONFIG_HID_NINTENDO is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_NVIDIA_SHIELD is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PLAYSTATION is not set
+# CONFIG_HID_PXRC is not set
+# CONFIG_HID_RAZER is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SEMITEK is not set
+# CONFIG_HID_SIGMAMICRO is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_TOPRE is not set
+# CONFIG_HID_THINGM is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_U2FZERO is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_WIIMOTE is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2200 is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# HID-BPF support
+#
+# end of HID-BPF support
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=y
+CONFIG_HID_PID=y
+CONFIG_USB_HIDDEV=y
+# end of USB HID support
+
+CONFIG_I2C_HID=y
+CONFIG_I2C_HID_OF=m
+# CONFIG_I2C_HID_OF_ELAN is not set
+# CONFIG_I2C_HID_OF_GOODIX is not set
+CONFIG_I2C_HID_CORE=m
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_LED_TRIG is not set
+CONFIG_USB_ULPI_BUS=y
+# CONFIG_USB_CONN_GPIO is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+# CONFIG_USB_PCI_AMD is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_FEW_INIT_RETRIES is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+CONFIG_USB_OTG=y
+# CONFIG_USB_OTG_PRODUCTLIST is not set
+# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
+# CONFIG_USB_OTG_FSM is not set
+# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+CONFIG_USB_MON=m
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=y
+# CONFIG_USB_XHCI_DBGCAP is not set
+CONFIG_USB_XHCI_PCI=y
+# CONFIG_USB_XHCI_PCI_RENESAS is not set
+CONFIG_USB_XHCI_PLATFORM=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=y
+# CONFIG_USB_EHCI_FSL is not set
+CONFIG_USB_EHCI_HCD_PLATFORM=y
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PCI=y
+CONFIG_USB_OHCI_HCD_PLATFORM=y
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_SSB is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=m
+# CONFIG_USB_PRINTER is not set
+CONFIG_USB_WDM=m
+CONFIG_USB_TMC=m
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+CONFIG_USB_STORAGE_REALTEK=m
+CONFIG_REALTEK_AUTOPM=y
+CONFIG_USB_STORAGE_DATAFAB=m
+CONFIG_USB_STORAGE_FREECOM=m
+CONFIG_USB_STORAGE_ISD200=m
+CONFIG_USB_STORAGE_USBAT=m
+CONFIG_USB_STORAGE_SDDR09=m
+CONFIG_USB_STORAGE_SDDR55=m
+CONFIG_USB_STORAGE_JUMPSHOT=m
+CONFIG_USB_STORAGE_ALAUDA=m
+CONFIG_USB_STORAGE_ONETOUCH=m
+CONFIG_USB_STORAGE_KARMA=m
+CONFIG_USB_STORAGE_CYPRESS_ATACB=m
+CONFIG_USB_STORAGE_ENE_UB6250=m
+CONFIG_USB_UAS=y
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+CONFIG_USBIP_CORE=m
+CONFIG_USBIP_VHCI_HCD=m
+CONFIG_USBIP_VHCI_HC_PORTS=8
+CONFIG_USBIP_VHCI_NR_HCS=1
+CONFIG_USBIP_HOST=m
+# CONFIG_USBIP_DEBUG is not set
+
+#
+# USB dual-mode controller drivers
+#
+# CONFIG_USB_CDNS_SUPPORT is not set
+# CONFIG_USB_MUSB_HDRC is not set
+CONFIG_USB_DWC3=y
+CONFIG_USB_DWC3_ULPI=y
+CONFIG_USB_DWC3_HOST=y
+
+#
+# Platform Glue Driver Support
+#
+CONFIG_USB_DWC3_HAPS=y
+CONFIG_USB_DWC3_OF_SIMPLE=y
+CONFIG_USB_DWC2=y
+CONFIG_USB_DWC2_HOST=y
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+CONFIG_USB_DWC2_PCI=y
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+CONFIG_USB_CHIPIDEA=y
+CONFIG_USB_CHIPIDEA_HOST=y
+CONFIG_USB_CHIPIDEA_PCI=y
+CONFIG_USB_CHIPIDEA_MSM=y
+CONFIG_USB_CHIPIDEA_NPCM=y
+CONFIG_USB_CHIPIDEA_IMX=y
+CONFIG_USB_CHIPIDEA_GENERIC=y
+CONFIG_USB_CHIPIDEA_TEGRA=y
+CONFIG_USB_ISP1760=y
+CONFIG_USB_ISP1760_HCD=y
+CONFIG_USB_ISP1760_HOST_ROLE=y
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+CONFIG_USB_SERIAL_GENERIC=y
+CONFIG_USB_SERIAL_SIMPLE=m
+CONFIG_USB_SERIAL_AIRCABLE=m
+CONFIG_USB_SERIAL_ARK3116=m
+CONFIG_USB_SERIAL_BELKIN=m
+CONFIG_USB_SERIAL_CH341=m
+CONFIG_USB_SERIAL_WHITEHEAT=m
+CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+CONFIG_USB_SERIAL_EMPEG=m
+CONFIG_USB_SERIAL_FTDI_SIO=m
+CONFIG_USB_SERIAL_VISOR=m
+CONFIG_USB_SERIAL_IPAQ=m
+CONFIG_USB_SERIAL_IR=m
+CONFIG_USB_SERIAL_EDGEPORT=m
+CONFIG_USB_SERIAL_EDGEPORT_TI=m
+CONFIG_USB_SERIAL_F81232=m
+CONFIG_USB_SERIAL_F8153X=m
+CONFIG_USB_SERIAL_GARMIN=m
+CONFIG_USB_SERIAL_IPW=m
+CONFIG_USB_SERIAL_IUU=m
+CONFIG_USB_SERIAL_KEYSPAN_PDA=m
+CONFIG_USB_SERIAL_KEYSPAN=m
+CONFIG_USB_SERIAL_KLSI=m
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+CONFIG_USB_SERIAL_MCT_U232=m
+CONFIG_USB_SERIAL_METRO=m
+CONFIG_USB_SERIAL_MOS7720=m
+CONFIG_USB_SERIAL_MOS7840=m
+CONFIG_USB_SERIAL_MXUPORT=m
+CONFIG_USB_SERIAL_NAVMAN=m
+CONFIG_USB_SERIAL_PL2303=m
+CONFIG_USB_SERIAL_OTI6858=m
+CONFIG_USB_SERIAL_QCAUX=m
+CONFIG_USB_SERIAL_QUALCOMM=m
+CONFIG_USB_SERIAL_SPCP8X5=m
+CONFIG_USB_SERIAL_SAFE=m
+CONFIG_USB_SERIAL_SAFE_PADDED=y
+CONFIG_USB_SERIAL_SIERRAWIRELESS=m
+CONFIG_USB_SERIAL_SYMBOL=m
+CONFIG_USB_SERIAL_TI=m
+CONFIG_USB_SERIAL_CYBERJACK=m
+CONFIG_USB_SERIAL_WWAN=m
+CONFIG_USB_SERIAL_OPTION=m
+CONFIG_USB_SERIAL_OMNINET=m
+CONFIG_USB_SERIAL_OPTICON=m
+CONFIG_USB_SERIAL_XSENS_MT=m
+CONFIG_USB_SERIAL_WISHBONE=m
+CONFIG_USB_SERIAL_SSU100=m
+CONFIG_USB_SERIAL_QT2=m
+# CONFIG_USB_SERIAL_UPD78F0730 is not set
+# CONFIG_USB_SERIAL_XR is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+CONFIG_USB_EZUSB_FX2=m
+# CONFIG_USB_HUB_USB251XB is not set
+CONFIG_USB_HSIC_USB3503=m
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+# CONFIG_USB_ONBOARD_HUB is not set
+
+#
+# USB Physical Layer drivers
+#
+CONFIG_USB_PHY=y
+CONFIG_NOP_USB_XCEIV=y
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+CONFIG_USB_ULPI=y
+CONFIG_USB_ULPI_VIEWPORT=y
+# end of USB Physical Layer drivers
+
+# CONFIG_USB_GADGET is not set
+CONFIG_TYPEC=y
+CONFIG_TYPEC_TCPM=m
+# CONFIG_TYPEC_TCPCI is not set
+# CONFIG_TYPEC_FUSB302 is not set
+CONFIG_TYPEC_UCSI=m
+# CONFIG_UCSI_CCG is not set
+# CONFIG_UCSI_STM32G0 is not set
+# CONFIG_TYPEC_TPS6598X is not set
+# CONFIG_TYPEC_ANX7411 is not set
+# CONFIG_TYPEC_RT1719 is not set
+# CONFIG_TYPEC_HD3SS3220 is not set
+# CONFIG_TYPEC_STUSB160X is not set
+# CONFIG_TYPEC_WUSB3801 is not set
+
+#
+# USB Type-C Multiplexer/DeMultiplexer Switch support
+#
+# CONFIG_TYPEC_MUX_FSA4480 is not set
+# CONFIG_TYPEC_MUX_GPIO_SBU is not set
+# CONFIG_TYPEC_MUX_PI3USB30532 is not set
+# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
+# CONFIG_TYPEC_MUX_PTN36502 is not set
+# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
+# end of USB Type-C Multiplexer/DeMultiplexer Switch support
+
+#
+# USB Type-C Alternate Mode drivers
+#
+CONFIG_TYPEC_DP_ALTMODE=m
+# CONFIG_TYPEC_NVIDIA_ALTMODE is not set
+# end of USB Type-C Alternate Mode drivers
+
+CONFIG_USB_ROLE_SWITCH=y
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+# CONFIG_PWRSEQ_SD8787 is not set
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=32
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_ARMMMCI is not set
+CONFIG_MMC_SDHCI=y
+CONFIG_MMC_SDHCI_IO_ACCESSORS=y
+CONFIG_MMC_SDHCI_PCI=y
+# CONFIG_MMC_RICOH_MMC is not set
+CONFIG_MMC_SDHCI_PLTFM=y
+CONFIG_MMC_SDHCI_OF_ARASAN=y
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set
+# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+CONFIG_MMC_DW=y
+CONFIG_MMC_DW_PLTFM=y
+# CONFIG_MMC_DW_BLUEFIELD is not set
+# CONFIG_MMC_DW_EXYNOS is not set
+# CONFIG_MMC_DW_HI3798CV200 is not set
+# CONFIG_MMC_DW_K3 is not set
+CONFIG_MMC_DW_PCI=y
+CONFIG_MMC_DW_ROCKCHIP=y
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+CONFIG_MMC_CQHCI=y
+CONFIG_MMC_HSQ=y
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_MMC_SDHCI_XENON is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=y
+CONFIG_LEDS_CLASS_FLASH=m
+CONFIG_LEDS_CLASS_MULTICOLOR=m
+# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_AN30259A is not set
+# CONFIG_LEDS_AW200XX is not set
+# CONFIG_LEDS_AW2013 is not set
+# CONFIG_LEDS_BCM6328 is not set
+# CONFIG_LEDS_BCM6358 is not set
+# CONFIG_LEDS_CR0014114 is not set
+# CONFIG_LEDS_EL15203000 is not set
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3532 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_LM3692X is not set
+# CONFIG_LEDS_MT6323 is not set
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP3952 is not set
+# CONFIG_LEDS_LP50XX is not set
+# CONFIG_LEDS_LP55XX_COMMON is not set
+# CONFIG_LEDS_LP8860 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2606MVV is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_TLC591XX is not set
+# CONFIG_LEDS_LM355x is not set
+# CONFIG_LEDS_IS31FL319X is not set
+# CONFIG_LEDS_IS31FL32XX is not set
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+CONFIG_LEDS_BLINKM=m
+CONFIG_LEDS_SYSCON=y
+# CONFIG_LEDS_MLXREG is not set
+CONFIG_LEDS_USER=m
+# CONFIG_LEDS_SPI_BYTE is not set
+# CONFIG_LEDS_LM3697 is not set
+
+#
+# Flash and Torch LED drivers
+#
+# CONFIG_LEDS_AAT1290 is not set
+# CONFIG_LEDS_AS3645A is not set
+# CONFIG_LEDS_KTD2692 is not set
+# CONFIG_LEDS_LM3601X is not set
+# CONFIG_LEDS_RT4505 is not set
+# CONFIG_LEDS_RT8515 is not set
+# CONFIG_LEDS_SGM3140 is not set
+
+#
+# RGB LED drivers
+#
+# CONFIG_LEDS_GROUP_MULTICOLOR is not set
+# CONFIG_LEDS_KTD202X is not set
+# CONFIG_LEDS_PWM_MULTICOLOR is not set
+# CONFIG_LEDS_QCOM_LPG is not set
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_TRIGGER_TIMER is not set
+# CONFIG_LEDS_TRIGGER_ONESHOT is not set
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_CPU is not set
+# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
+# CONFIG_LEDS_TRIGGER_GPIO is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+# CONFIG_LEDS_TRIGGER_PANIC is not set
+# CONFIG_LEDS_TRIGGER_NETDEV is not set
+# CONFIG_LEDS_TRIGGER_PATTERN is not set
+# CONFIG_LEDS_TRIGGER_AUDIO is not set
+CONFIG_LEDS_TRIGGER_TTY=m
+
+#
+# Simple LED drivers
+#
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_SUPPORT=y
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_NVMEM=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+# CONFIG_RTC_DRV_AS3722 is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_MAX31335 is not set
+# CONFIG_RTC_DRV_MAX77686 is not set
+# CONFIG_RTC_DRV_NCT3018Y is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_ISL12026 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF85363 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+CONFIG_RTC_DRV_PALMAS=m
+CONFIG_RTC_DRV_TPS6586X=m
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
+# CONFIG_RTC_DRV_RV3032 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_SD3078 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1302 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6916 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+CONFIG_RTC_DRV_RV3029C2=m
+CONFIG_RTC_DRV_RV3029_HWMON=y
+# CONFIG_RTC_DRV_RX6110 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+CONFIG_RTC_DRV_EFI=m
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_ZYNQMP is not set
+CONFIG_RTC_DRV_CROS_EC=m
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PL030 is not set
+# CONFIG_RTC_DRV_PL031 is not set
+# CONFIG_RTC_DRV_CADENCE is not set
+# CONFIG_RTC_DRV_FTRTC010 is not set
+CONFIG_RTC_DRV_MT6397=m
+# CONFIG_RTC_DRV_R7301 is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_GOLDFISH is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_OF=y
+# CONFIG_ALTERA_MSGDMA is not set
+# CONFIG_AMBA_PL08X is not set
+# CONFIG_BCM_SBA_RAID is not set
+# CONFIG_DW_AXI_DMAC is not set
+# CONFIG_FSL_EDMA is not set
+# CONFIG_FSL_QDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+CONFIG_MV_XOR_V2=y
+CONFIG_PL330_DMA=y
+# CONFIG_PLX_DMA is not set
+# CONFIG_XILINX_DMA is not set
+# CONFIG_XILINX_XDMA is not set
+# CONFIG_XILINX_ZYNQMP_DMA is not set
+# CONFIG_XILINX_ZYNQMP_DPDMA is not set
+CONFIG_QCOM_HIDMA_MGMT=y
+CONFIG_QCOM_HIDMA=y
+CONFIG_DW_DMAC_CORE=m
+CONFIG_DW_DMAC=m
+CONFIG_DW_DMAC_PCI=m
+# CONFIG_DW_EDMA is not set
+# CONFIG_SF_PDMA is not set
+
+#
+# DMA Clients
+#
+CONFIG_ASYNC_TX_DMA=y
+# CONFIG_DMATEST is not set
+CONFIG_DMA_ENGINE_RAID=y
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_UDMABUF is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
+# CONFIG_DMABUF_SELFTESTS is not set
+CONFIG_DMABUF_HEAPS=y
+# CONFIG_DMABUF_SYSFS_STATS is not set
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+# end of DMABUF options
+
+# CONFIG_UIO is not set
+CONFIG_VFIO=m
+# CONFIG_VFIO_DEVICE_CDEV is not set
+CONFIG_VFIO_GROUP=y
+CONFIG_VFIO_CONTAINER=y
+CONFIG_VFIO_IOMMU_TYPE1=m
+CONFIG_VFIO_NOIOMMU=y
+CONFIG_VFIO_VIRQFD=y
+
+#
+# VFIO support for PCI devices
+#
+CONFIG_VFIO_PCI_CORE=m
+CONFIG_VFIO_PCI_MMAP=y
+CONFIG_VFIO_PCI_INTX=y
+CONFIG_VFIO_PCI=m
+# end of VFIO support for PCI devices
+
+#
+# VFIO support for platform devices
+#
+CONFIG_VFIO_PLATFORM_BASE=m
+CONFIG_VFIO_PLATFORM=m
+# CONFIG_VFIO_AMBA is not set
+
+#
+# VFIO platform reset drivers
+#
+# CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set
+# CONFIG_VFIO_PLATFORM_AMDXGBE_RESET is not set
+# end of VFIO platform reset drivers
+# end of VFIO support for platform devices
+
+CONFIG_IRQ_BYPASS_MANAGER=y
+CONFIG_VIRT_DRIVERS=y
+# CONFIG_NITRO_ENCLAVES is not set
+CONFIG_VIRTIO_ANCHOR=y
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_PCI_LIB=m
+CONFIG_VIRTIO_PCI_LIB_LEGACY=m
+CONFIG_VIRTIO_MENU=y
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI_LEGACY=y
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MMIO=m
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
+CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
+# CONFIG_VDPA is not set
+CONFIG_VHOST_IOTLB=m
+CONFIG_VHOST_TASK=y
+CONFIG_VHOST=m
+CONFIG_VHOST_MENU=y
+CONFIG_VHOST_NET=m
+CONFIG_VHOST_VSOCK=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
+CONFIG_STAGING=y
+# CONFIG_PRISM2_USB is not set
+# CONFIG_RTLLIB is not set
+# CONFIG_RTL8723BS is not set
+# CONFIG_R8712U is not set
+# CONFIG_RTS5208 is not set
+# CONFIG_VT6655 is not set
+# CONFIG_VT6656 is not set
+
+#
+# IIO staging drivers
+#
+
+#
+# Accelerometers
+#
+# CONFIG_ADIS16203 is not set
+# CONFIG_ADIS16240 is not set
+# end of Accelerometers
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD7816 is not set
+# end of Analog to digital converters
+
+#
+# Analog digital bi-direction converters
+#
+# CONFIG_ADT7316 is not set
+# end of Analog digital bi-direction converters
+
+#
+# Direct Digital Synthesis
+#
+# CONFIG_AD9832 is not set
+# CONFIG_AD9834 is not set
+# end of Direct Digital Synthesis
+
+#
+# Network Analyzer, Impedance Converters
+#
+# CONFIG_AD5933 is not set
+# end of Network Analyzer, Impedance Converters
+# end of IIO staging drivers
+
+# CONFIG_FB_SM750 is not set
+CONFIG_STAGING_MEDIA=y
+# CONFIG_VIDEO_MAX96712 is not set
+CONFIG_VIDEO_ROCKCHIP_VDEC=m
+
+#
+# StarFive media platform drivers
+#
+# CONFIG_STAGING_MEDIA_DEPRECATED is not set
+# CONFIG_STAGING_BOARD is not set
+# CONFIG_LTE_GDM724X is not set
+# CONFIG_FB_TFT is not set
+# CONFIG_KS7010 is not set
+# CONFIG_PI433 is not set
+# CONFIG_XIL_AXIS_FIFO is not set
+# CONFIG_FIELDBUS_DEV is not set
+# CONFIG_VME_BUS is not set
+# CONFIG_GOLDFISH is not set
+CONFIG_CHROME_PLATFORMS=y
+CONFIG_CROS_EC=y
+CONFIG_CROS_EC_I2C=y
+CONFIG_CROS_EC_SPI=y
+CONFIG_CROS_EC_PROTO=y
+CONFIG_CROS_KBD_LED_BACKLIGHT=m
+CONFIG_CROS_EC_CHARDEV=y
+CONFIG_CROS_EC_LIGHTBAR=y
+CONFIG_CROS_EC_VBC=m
+CONFIG_CROS_EC_SENSORHUB=y
+CONFIG_CROS_EC_SYSFS=m
+CONFIG_CROS_EC_TYPEC=y
+# CONFIG_CROS_HPS_I2C is not set
+CONFIG_CROS_USBPD_LOGGER=m
+CONFIG_CROS_USBPD_NOTIFY=y
+# CONFIG_MELLANOX_PLATFORM is not set
+# CONFIG_SURFACE_PLATFORMS is not set
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+
+#
+# Clock driver for ARM Reference designs
+#
+# CONFIG_CLK_ICST is not set
+# CONFIG_CLK_SP810 is not set
+# end of Clock driver for ARM Reference designs
+
+# CONFIG_LMK04832 is not set
+# CONFIG_COMMON_CLK_MAX77686 is not set
+# CONFIG_COMMON_CLK_MAX9485 is not set
+CONFIG_COMMON_CLK_SCPI=m
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
+# CONFIG_COMMON_CLK_XGENE is not set
+# CONFIG_COMMON_CLK_PALMAS is not set
+# CONFIG_COMMON_CLK_PWM is not set
+# CONFIG_COMMON_CLK_RS9_PCIE is not set
+# CONFIG_COMMON_CLK_SI521XX is not set
+# CONFIG_COMMON_CLK_VC3 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_VC7 is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+CONFIG_COMMON_CLK_ROCKCHIP=y
+CONFIG_CLK_PX30=y
+CONFIG_CLK_RK3308=y
+CONFIG_CLK_RK3328=y
+CONFIG_CLK_RK3368=y
+CONFIG_CLK_RK3399=y
+# CONFIG_CLK_RK3568 is not set
+CONFIG_CLK_RK3588=y
+# CONFIG_XILINX_VCU is not set
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_CLKSRC_MMIO=y
+CONFIG_ROCKCHIP_TIMER=y
+CONFIG_ARM_ARCH_TIMER=y
+CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
+CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
+CONFIG_FSL_ERRATUM_A008585=y
+CONFIG_HISILICON_ERRATUM_161010101=y
+CONFIG_ARM64_ERRATUM_858921=y
+# end of Clock Source drivers
+
+CONFIG_MAILBOX=y
+CONFIG_ARM_MHU=m
+# CONFIG_ARM_MHU_V2 is not set
+CONFIG_PLATFORM_MHU=m
+# CONFIG_PL320_MBOX is not set
+CONFIG_ROCKCHIP_MBOX=y
+# CONFIG_ALTERA_MBOX is not set
+# CONFIG_MAILBOX_TEST is not set
+CONFIG_IOMMU_IOVA=y
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+CONFIG_IOMMU_IO_PGTABLE=y
+CONFIG_IOMMU_IO_PGTABLE_LPAE=y
+# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
+CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
+# CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set
+# CONFIG_IOMMU_IO_PGTABLE_DART is not set
+# end of Generic IOMMU Pagetable Support
+
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_OF_IOMMU=y
+CONFIG_IOMMU_DMA=y
+CONFIG_IOMMUFD=m
+CONFIG_ROCKCHIP_IOMMU=y
+# CONFIG_ARM_SMMU is not set
+# CONFIG_ARM_SMMU_V3 is not set
+# CONFIG_VIRTIO_IOMMU is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
+# CONFIG_RPMSG_VIRTIO is not set
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# CONFIG_QUICC_ENGINE is not set
+# CONFIG_FSL_RCPM is not set
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+#
+# Enable LiteX SoC Builder specific drivers
+#
+# CONFIG_LITEX_SOC_CONTROLLER is not set
+# end of Enable LiteX SoC Builder specific drivers
+
+# CONFIG_WPCM450_SOC is not set
+
+#
+# Qualcomm SoC drivers
+#
+# end of Qualcomm SoC drivers
+
+CONFIG_ROCKCHIP_GRF=y
+CONFIG_ROCKCHIP_IODOMAIN=y
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+#
+# PM Domains
+#
+
+#
+# Amlogic PM Domains
+#
+# end of Amlogic PM Domains
+
+CONFIG_ARM_SCPI_POWER_DOMAIN=m
+
+#
+# Broadcom PM Domains
+#
+# end of Broadcom PM Domains
+
+#
+# i.MX PM Domains
+#
+# end of i.MX PM Domains
+
+#
+# Qualcomm PM Domains
+#
+# end of Qualcomm PM Domains
+
+CONFIG_ROCKCHIP_PM_DOMAINS=y
+# end of PM Domains
+
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=y
+CONFIG_DEVFREQ_GOV_USERSPACE=y
+# CONFIG_DEVFREQ_GOV_PASSIVE is not set
+
+#
+# DEVFREQ Drivers
+#
+CONFIG_ARM_RK3399_DMC_DEVFREQ=m
+CONFIG_PM_DEVFREQ_EVENT=y
+CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=m
+CONFIG_EXTCON=y
+
+#
+# Extcon Device Drivers
+#
+CONFIG_EXTCON_ADC_JACK=m
+# CONFIG_EXTCON_FSA9480 is not set
+CONFIG_EXTCON_GPIO=y
+# CONFIG_EXTCON_MAX3355 is not set
+# CONFIG_EXTCON_PALMAS is not set
+# CONFIG_EXTCON_PTN5150 is not set
+# CONFIG_EXTCON_RT8973A is not set
+# CONFIG_EXTCON_SM5502 is not set
+CONFIG_EXTCON_USB_GPIO=y
+CONFIG_EXTCON_USBC_CROS_EC=y
+# CONFIG_EXTCON_USBC_TUSB320 is not set
+CONFIG_MEMORY=y
+# CONFIG_ARM_PL172_MPMC is not set
+CONFIG_IIO=y
+CONFIG_IIO_BUFFER=y
+CONFIG_IIO_BUFFER_CB=y
+# CONFIG_IIO_BUFFER_DMA is not set
+# CONFIG_IIO_BUFFER_DMAENGINE is not set
+CONFIG_IIO_BUFFER_HW_CONSUMER=m
+CONFIG_IIO_KFIFO_BUF=y
+CONFIG_IIO_TRIGGERED_BUFFER=m
+CONFIG_IIO_CONFIGFS=m
+CONFIG_IIO_TRIGGER=y
+CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
+CONFIG_IIO_SW_DEVICE=m
+CONFIG_IIO_SW_TRIGGER=m
+# CONFIG_IIO_TRIGGERED_EVENT is not set
+
+#
+# Accelerometers
+#
+# CONFIG_ADIS16201 is not set
+# CONFIG_ADIS16209 is not set
+# CONFIG_ADXL313_I2C is not set
+# CONFIG_ADXL313_SPI is not set
+# CONFIG_ADXL345_I2C is not set
+# CONFIG_ADXL345_SPI is not set
+# CONFIG_ADXL355_I2C is not set
+# CONFIG_ADXL355_SPI is not set
+# CONFIG_ADXL367_SPI is not set
+# CONFIG_ADXL367_I2C is not set
+# CONFIG_ADXL372_SPI is not set
+# CONFIG_ADXL372_I2C is not set
+# CONFIG_BMA180 is not set
+# CONFIG_BMA220 is not set
+# CONFIG_BMA400 is not set
+# CONFIG_BMC150_ACCEL is not set
+# CONFIG_BMI088_ACCEL is not set
+# CONFIG_DA280 is not set
+# CONFIG_DA311 is not set
+# CONFIG_DMARD06 is not set
+# CONFIG_DMARD09 is not set
+# CONFIG_DMARD10 is not set
+# CONFIG_FXLS8962AF_I2C is not set
+# CONFIG_FXLS8962AF_SPI is not set
+CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
+# CONFIG_IIO_ST_ACCEL_3AXIS is not set
+# CONFIG_IIO_KX022A_SPI is not set
+# CONFIG_IIO_KX022A_I2C is not set
+# CONFIG_KXSD9 is not set
+# CONFIG_KXCJK1013 is not set
+# CONFIG_MC3230 is not set
+# CONFIG_MMA7455_I2C is not set
+# CONFIG_MMA7455_SPI is not set
+# CONFIG_MMA7660 is not set
+# CONFIG_MMA8452 is not set
+# CONFIG_MMA9551 is not set
+# CONFIG_MMA9553 is not set
+# CONFIG_MSA311 is not set
+# CONFIG_MXC4005 is not set
+# CONFIG_MXC6255 is not set
+# CONFIG_SCA3000 is not set
+# CONFIG_SCA3300 is not set
+# CONFIG_STK8312 is not set
+# CONFIG_STK8BA50 is not set
+# end of Accelerometers
+
+#
+# Analog to digital converters
+#
+# CONFIG_AD4130 is not set
+# CONFIG_AD7091R5 is not set
+# CONFIG_AD7091R8 is not set
+# CONFIG_AD7124 is not set
+# CONFIG_AD7192 is not set
+# CONFIG_AD7266 is not set
+# CONFIG_AD7280 is not set
+# CONFIG_AD7291 is not set
+# CONFIG_AD7292 is not set
+# CONFIG_AD7298 is not set
+# CONFIG_AD7476 is not set
+# CONFIG_AD7606_IFACE_PARALLEL is not set
+# CONFIG_AD7606_IFACE_SPI is not set
+# CONFIG_AD7766 is not set
+# CONFIG_AD7768_1 is not set
+# CONFIG_AD7780 is not set
+# CONFIG_AD7791 is not set
+# CONFIG_AD7793 is not set
+# CONFIG_AD7887 is not set
+# CONFIG_AD7923 is not set
+# CONFIG_AD7949 is not set
+# CONFIG_AD799X is not set
+# CONFIG_ADI_AXI_ADC is not set
+# CONFIG_AXP20X_ADC is not set
+# CONFIG_AXP288_ADC is not set
+# CONFIG_CC10001_ADC is not set
+# CONFIG_ENVELOPE_DETECTOR is not set
+# CONFIG_HI8435 is not set
+# CONFIG_HX711 is not set
+# CONFIG_INA2XX_ADC is not set
+# CONFIG_LTC2309 is not set
+# CONFIG_LTC2471 is not set
+# CONFIG_LTC2485 is not set
+# CONFIG_LTC2496 is not set
+# CONFIG_LTC2497 is not set
+# CONFIG_MAX1027 is not set
+# CONFIG_MAX11100 is not set
+# CONFIG_MAX1118 is not set
+# CONFIG_MAX11205 is not set
+# CONFIG_MAX11410 is not set
+# CONFIG_MAX1241 is not set
+# CONFIG_MAX1363 is not set
+# CONFIG_MAX34408 is not set
+# CONFIG_MAX9611 is not set
+# CONFIG_MCP320X is not set
+# CONFIG_MCP3422 is not set
+# CONFIG_MCP3564 is not set
+# CONFIG_MCP3911 is not set
+# CONFIG_NAU7802 is not set
+# CONFIG_PALMAS_GPADC is not set
+CONFIG_QCOM_VADC_COMMON=m
+# CONFIG_QCOM_SPMI_IADC is not set
+CONFIG_QCOM_SPMI_VADC=m
+# CONFIG_QCOM_SPMI_ADC5 is not set
+CONFIG_ROCKCHIP_SARADC=m
+# CONFIG_RICHTEK_RTQ6056 is not set
+# CONFIG_SD_ADC_MODULATOR is not set
+# CONFIG_TI_ADC081C is not set
+# CONFIG_TI_ADC0832 is not set
+# CONFIG_TI_ADC084S021 is not set
+# CONFIG_TI_ADC12138 is not set
+# CONFIG_TI_ADC108S102 is not set
+# CONFIG_TI_ADC128S052 is not set
+# CONFIG_TI_ADC161S626 is not set
+# CONFIG_TI_ADS1015 is not set
+# CONFIG_TI_ADS7924 is not set
+# CONFIG_TI_ADS1100 is not set
+# CONFIG_TI_ADS7950 is not set
+# CONFIG_TI_ADS8344 is not set
+# CONFIG_TI_ADS8688 is not set
+# CONFIG_TI_ADS124S08 is not set
+# CONFIG_TI_ADS131E08 is not set
+# CONFIG_TI_LMP92064 is not set
+# CONFIG_TI_TLC4541 is not set
+# CONFIG_TI_TSC2046 is not set
+# CONFIG_VF610_ADC is not set
+# CONFIG_XILINX_XADC is not set
+# end of Analog to digital converters
+
+#
+# Analog to digital and digital to analog converters
+#
+# CONFIG_AD74115 is not set
+# CONFIG_AD74413R is not set
+# end of Analog to digital and digital to analog converters
+
+#
+# Analog Front Ends
+#
+# CONFIG_IIO_RESCALE is not set
+# end of Analog Front Ends
+
+#
+# Amplifiers
+#
+CONFIG_AD8366=m
+# CONFIG_ADA4250 is not set
+# CONFIG_HMC425 is not set
+# end of Amplifiers
+
+#
+# Capacitance to digital converters
+#
+# CONFIG_AD7150 is not set
+# CONFIG_AD7746 is not set
+# end of Capacitance to digital converters
+
+#
+# Chemical Sensors
+#
+# CONFIG_AOSONG_AGS02MA is not set
+# CONFIG_ATLAS_PH_SENSOR is not set
+# CONFIG_ATLAS_EZO_SENSOR is not set
+# CONFIG_BME680 is not set
+# CONFIG_CCS811 is not set
+# CONFIG_IAQCORE is not set
+# CONFIG_PMS7003 is not set
+# CONFIG_SCD30_CORE is not set
+# CONFIG_SCD4X is not set
+# CONFIG_SENSIRION_SGP30 is not set
+# CONFIG_SENSIRION_SGP40 is not set
+# CONFIG_SPS30_I2C is not set
+# CONFIG_SPS30_SERIAL is not set
+# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
+# CONFIG_VZ89X is not set
+# end of Chemical Sensors
+
+CONFIG_IIO_CROS_EC_SENSORS_CORE=m
+CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m
+
+#
+# Hid Sensor IIO Common
+#
+# end of Hid Sensor IIO Common
+
+#
+# IIO SCMI Sensors
+#
+# end of IIO SCMI Sensors
+
+#
+# SSP Sensor Common
+#
+# CONFIG_IIO_SSP_SENSORHUB is not set
+# end of SSP Sensor Common
+
+#
+# Digital to analog converters
+#
+# CONFIG_AD3552R is not set
+# CONFIG_AD5064 is not set
+# CONFIG_AD5360 is not set
+# CONFIG_AD5380 is not set
+# CONFIG_AD5421 is not set
+# CONFIG_AD5446 is not set
+# CONFIG_AD5449 is not set
+# CONFIG_AD5592R is not set
+# CONFIG_AD5593R is not set
+# CONFIG_AD5504 is not set
+# CONFIG_AD5624R_SPI is not set
+# CONFIG_LTC2688 is not set
+# CONFIG_AD5686_SPI is not set
+# CONFIG_AD5696_I2C is not set
+# CONFIG_AD5755 is not set
+# CONFIG_AD5758 is not set
+# CONFIG_AD5761 is not set
+# CONFIG_AD5764 is not set
+# CONFIG_AD5766 is not set
+# CONFIG_AD5770R is not set
+# CONFIG_AD5791 is not set
+# CONFIG_AD7293 is not set
+# CONFIG_AD7303 is not set
+# CONFIG_AD8801 is not set
+# CONFIG_DPOT_DAC is not set
+# CONFIG_DS4424 is not set
+# CONFIG_LTC1660 is not set
+# CONFIG_LTC2632 is not set
+# CONFIG_M62332 is not set
+# CONFIG_MAX517 is not set
+# CONFIG_MAX5522 is not set
+# CONFIG_MAX5821 is not set
+# CONFIG_MCP4725 is not set
+# CONFIG_MCP4728 is not set
+# CONFIG_MCP4821 is not set
+# CONFIG_MCP4922 is not set
+# CONFIG_TI_DAC082S085 is not set
+# CONFIG_TI_DAC5571 is not set
+# CONFIG_TI_DAC7311 is not set
+# CONFIG_TI_DAC7612 is not set
+# CONFIG_VF610_DAC is not set
+# end of Digital to analog converters
+
+#
+# IIO dummy driver
+#
+# CONFIG_IIO_SIMPLE_DUMMY is not set
+# end of IIO dummy driver
+
+#
+# Filters
+#
+# CONFIG_ADMV8818 is not set
+# end of Filters
+
+#
+# Frequency Synthesizers DDS/PLL
+#
+
+#
+# Clock Generator/Distribution
+#
+# CONFIG_AD9523 is not set
+# end of Clock Generator/Distribution
+
+#
+# Phase-Locked Loop (PLL) frequency synthesizers
+#
+# CONFIG_ADF4350 is not set
+# CONFIG_ADF4371 is not set
+# CONFIG_ADF4377 is not set
+# CONFIG_ADMV1013 is not set
+# CONFIG_ADMV1014 is not set
+# CONFIG_ADMV4420 is not set
+# CONFIG_ADRF6780 is not set
+# end of Phase-Locked Loop (PLL) frequency synthesizers
+# end of Frequency Synthesizers DDS/PLL
+
+#
+# Digital gyroscope sensors
+#
+# CONFIG_ADIS16080 is not set
+# CONFIG_ADIS16130 is not set
+# CONFIG_ADIS16136 is not set
+# CONFIG_ADIS16260 is not set
+# CONFIG_ADXRS290 is not set
+# CONFIG_ADXRS450 is not set
+# CONFIG_BMG160 is not set
+# CONFIG_FXAS21002C is not set
+# CONFIG_MPU3050_I2C is not set
+# CONFIG_IIO_ST_GYRO_3AXIS is not set
+# CONFIG_ITG3200 is not set
+# end of Digital gyroscope sensors
+
+#
+# Health Sensors
+#
+
+#
+# Heart Rate Monitors
+#
+# CONFIG_AFE4403 is not set
+# CONFIG_AFE4404 is not set
+# CONFIG_MAX30100 is not set
+# CONFIG_MAX30102 is not set
+# end of Heart Rate Monitors
+# end of Health Sensors
+
+#
+# Humidity sensors
+#
+# CONFIG_AM2315 is not set
+# CONFIG_DHT11 is not set
+# CONFIG_HDC100X is not set
+# CONFIG_HDC2010 is not set
+# CONFIG_HDC3020 is not set
+# CONFIG_HTS221 is not set
+# CONFIG_HTU21 is not set
+# CONFIG_SI7005 is not set
+# CONFIG_SI7020 is not set
+# end of Humidity sensors
+
+#
+# Inertial measurement units
+#
+# CONFIG_ADIS16400 is not set
+# CONFIG_ADIS16460 is not set
+# CONFIG_ADIS16475 is not set
+# CONFIG_ADIS16480 is not set
+# CONFIG_BMI160_I2C is not set
+# CONFIG_BMI160_SPI is not set
+# CONFIG_BMI323_I2C is not set
+# CONFIG_BMI323_SPI is not set
+# CONFIG_BOSCH_BNO055_SERIAL is not set
+# CONFIG_BOSCH_BNO055_I2C is not set
+# CONFIG_FXOS8700_I2C is not set
+# CONFIG_FXOS8700_SPI is not set
+# CONFIG_KMX61 is not set
+# CONFIG_INV_ICM42600_I2C is not set
+# CONFIG_INV_ICM42600_SPI is not set
+# CONFIG_INV_MPU6050_I2C is not set
+# CONFIG_INV_MPU6050_SPI is not set
+# CONFIG_IIO_ST_LSM6DSX is not set
+# CONFIG_IIO_ST_LSM9DS0 is not set
+# end of Inertial measurement units
+
+#
+# Light sensors
+#
+# CONFIG_ADJD_S311 is not set
+# CONFIG_ADUX1020 is not set
+# CONFIG_AL3010 is not set
+# CONFIG_AL3320A is not set
+# CONFIG_APDS9300 is not set
+# CONFIG_APDS9960 is not set
+# CONFIG_AS73211 is not set
+# CONFIG_BH1750 is not set
+# CONFIG_BH1780 is not set
+# CONFIG_CM32181 is not set
+# CONFIG_CM3232 is not set
+# CONFIG_CM3323 is not set
+# CONFIG_CM3605 is not set
+# CONFIG_CM36651 is not set
+CONFIG_IIO_CROS_EC_LIGHT_PROX=m
+# CONFIG_GP2AP002 is not set
+# CONFIG_GP2AP020A00F is not set
+CONFIG_SENSORS_ISL29018=m
+# CONFIG_SENSORS_ISL29028 is not set
+# CONFIG_ISL29125 is not set
+# CONFIG_ISL76682 is not set
+# CONFIG_JSA1212 is not set
+# CONFIG_ROHM_BU27008 is not set
+# CONFIG_ROHM_BU27034 is not set
+# CONFIG_RPR0521 is not set
+# CONFIG_LTR390 is not set
+# CONFIG_LTR501 is not set
+# CONFIG_LTRF216A is not set
+# CONFIG_LV0104CS is not set
+# CONFIG_MAX44000 is not set
+# CONFIG_MAX44009 is not set
+# CONFIG_NOA1305 is not set
+# CONFIG_OPT3001 is not set
+# CONFIG_OPT4001 is not set
+# CONFIG_PA12203001 is not set
+# CONFIG_SI1133 is not set
+# CONFIG_SI1145 is not set
+# CONFIG_STK3310 is not set
+# CONFIG_ST_UVIS25 is not set
+# CONFIG_TCS3414 is not set
+# CONFIG_TCS3472 is not set
+CONFIG_SENSORS_TSL2563=m
+CONFIG_TSL2583=m
+# CONFIG_TSL2591 is not set
+# CONFIG_TSL2772 is not set
+# CONFIG_TSL4531 is not set
+# CONFIG_US5182D is not set
+# CONFIG_VCNL4000 is not set
+# CONFIG_VCNL4035 is not set
+# CONFIG_VEML6030 is not set
+# CONFIG_VEML6070 is not set
+# CONFIG_VEML6075 is not set
+# CONFIG_VL6180 is not set
+# CONFIG_ZOPT2201 is not set
+# end of Light sensors
+
+#
+# Magnetometer sensors
+#
+CONFIG_AK8974=m
+CONFIG_AK8975=m
+# CONFIG_AK09911 is not set
+# CONFIG_BMC150_MAGN_I2C is not set
+# CONFIG_BMC150_MAGN_SPI is not set
+# CONFIG_MAG3110 is not set
+# CONFIG_MMC35240 is not set
+# CONFIG_IIO_ST_MAGN_3AXIS is not set
+# CONFIG_SENSORS_HMC5843_I2C is not set
+# CONFIG_SENSORS_HMC5843_SPI is not set
+# CONFIG_SENSORS_RM3100_I2C is not set
+# CONFIG_SENSORS_RM3100_SPI is not set
+# CONFIG_TI_TMAG5273 is not set
+# CONFIG_YAMAHA_YAS530 is not set
+# end of Magnetometer sensors
+
+#
+# Multiplexers
+#
+CONFIG_IIO_MUX=y
+# end of Multiplexers
+
+#
+# Inclinometer sensors
+#
+# end of Inclinometer sensors
+
+#
+# Triggers - standalone
+#
+CONFIG_IIO_HRTIMER_TRIGGER=m
+CONFIG_IIO_INTERRUPT_TRIGGER=m
+CONFIG_IIO_TIGHTLOOP_TRIGGER=m
+CONFIG_IIO_SYSFS_TRIGGER=m
+# end of Triggers - standalone
+
+#
+# Linear and angular position sensors
+#
+# end of Linear and angular position sensors
+
+#
+# Digital potentiometers
+#
+# CONFIG_AD5110 is not set
+# CONFIG_AD5272 is not set
+# CONFIG_DS1803 is not set
+# CONFIG_MAX5432 is not set
+# CONFIG_MAX5481 is not set
+# CONFIG_MAX5487 is not set
+# CONFIG_MCP4018 is not set
+# CONFIG_MCP4131 is not set
+# CONFIG_MCP4531 is not set
+# CONFIG_MCP41010 is not set
+# CONFIG_TPL0102 is not set
+# CONFIG_X9250 is not set
+# end of Digital potentiometers
+
+#
+# Digital potentiostats
+#
+# CONFIG_LMP91000 is not set
+# end of Digital potentiostats
+
+#
+# Pressure sensors
+#
+# CONFIG_ABP060MG is not set
+# CONFIG_ROHM_BM1390 is not set
+# CONFIG_BMP280 is not set
+CONFIG_IIO_CROS_EC_BARO=m
+# CONFIG_DLHL60D is not set
+# CONFIG_DPS310 is not set
+# CONFIG_HP03 is not set
+# CONFIG_HSC030PA is not set
+# CONFIG_ICP10100 is not set
+# CONFIG_MPL115_I2C is not set
+# CONFIG_MPL115_SPI is not set
+# CONFIG_MPL3115 is not set
+# CONFIG_MPRLS0025PA is not set
+# CONFIG_MS5611 is not set
+# CONFIG_MS5637 is not set
+# CONFIG_IIO_ST_PRESS is not set
+# CONFIG_T5403 is not set
+# CONFIG_HP206C is not set
+# CONFIG_ZPA2326 is not set
+# end of Pressure sensors
+
+#
+# Lightning sensors
+#
+# CONFIG_AS3935 is not set
+# end of Lightning sensors
+
+#
+# Proximity and distance sensors
+#
+CONFIG_CROS_EC_MKBP_PROXIMITY=m
+# CONFIG_IRSD200 is not set
+# CONFIG_ISL29501 is not set
+# CONFIG_LIDAR_LITE_V2 is not set
+# CONFIG_MB1232 is not set
+# CONFIG_PING is not set
+# CONFIG_RFD77402 is not set
+# CONFIG_SRF04 is not set
+# CONFIG_SX9310 is not set
+# CONFIG_SX9324 is not set
+# CONFIG_SX9360 is not set
+# CONFIG_SX9500 is not set
+# CONFIG_SRF08 is not set
+# CONFIG_VCNL3020 is not set
+# CONFIG_VL53L0X_I2C is not set
+# end of Proximity and distance sensors
+
+#
+# Resolver to digital converters
+#
+CONFIG_AD2S90=m
+CONFIG_AD2S1200=m
+# CONFIG_AD2S1210 is not set
+# end of Resolver to digital converters
+
+#
+# Temperature sensors
+#
+# CONFIG_LTC2983 is not set
+# CONFIG_MAXIM_THERMOCOUPLE is not set
+# CONFIG_MLX90614 is not set
+# CONFIG_MLX90632 is not set
+# CONFIG_MLX90635 is not set
+# CONFIG_TMP006 is not set
+# CONFIG_TMP007 is not set
+# CONFIG_TMP117 is not set
+# CONFIG_TSYS01 is not set
+# CONFIG_TSYS02D is not set
+# CONFIG_MAX30208 is not set
+# CONFIG_MAX31856 is not set
+# CONFIG_MAX31865 is not set
+# CONFIG_MCP9600 is not set
+# end of Temperature sensors
+
+# CONFIG_NTB is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_ATMEL_TCB is not set
+# CONFIG_PWM_CLK is not set
+CONFIG_PWM_CROS_EC=y
+# CONFIG_PWM_DWC is not set
+# CONFIG_PWM_FSL_FTM is not set
+# CONFIG_PWM_PCA9685 is not set
+CONFIG_PWM_ROCKCHIP=y
+# CONFIG_PWM_XILINX is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+CONFIG_ARM_GIC=y
+CONFIG_ARM_GIC_MAX_NR=1
+CONFIG_ARM_GIC_V2M=y
+CONFIG_ARM_GIC_V3=y
+CONFIG_ARM_GIC_V3_ITS=y
+CONFIG_ARM_GIC_V3_ITS_PCI=y
+# CONFIG_AL_FIC is not set
+# CONFIG_XILINX_INTC is not set
+CONFIG_PARTITION_PERCPU=y
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+CONFIG_ARCH_HAS_RESET_CONTROLLER=y
+CONFIG_RESET_CONTROLLER=y
+# CONFIG_RESET_TI_SYSCON is not set
+# CONFIG_RESET_TI_TPS380X is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
+
+#
+# PHY drivers for Broadcom platforms
+#
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# end of PHY drivers for Broadcom platforms
+
+# CONFIG_PHY_CADENCE_TORRENT is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
+# CONFIG_PHY_CADENCE_DPHY_RX is not set
+# CONFIG_PHY_CADENCE_SIERRA is not set
+# CONFIG_PHY_CADENCE_SALVO is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_LAN966X_SERDES is not set
+# CONFIG_PHY_CPCAP_USB is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
+# CONFIG_PHY_QCOM_USB_HS is not set
+# CONFIG_PHY_QCOM_USB_HSIC is not set
+CONFIG_PHY_ROCKCHIP_DP=y
+# CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set
+CONFIG_PHY_ROCKCHIP_EMMC=y
+CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
+CONFIG_PHY_ROCKCHIP_INNO_USB2=y
+# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set
+# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set
+# CONFIG_PHY_ROCKCHIP_NANENG_COMBO_PHY is not set
+CONFIG_PHY_ROCKCHIP_PCIE=y
+# CONFIG_PHY_ROCKCHIP_SNPS_PCIE3 is not set
+CONFIG_PHY_ROCKCHIP_TYPEC=y
+CONFIG_PHY_ROCKCHIP_USB=m
+CONFIG_PHY_SAMSUNG_USB2=m
+# CONFIG_PHY_TUSB1210 is not set
+# end of PHY Subsystem
+
+CONFIG_POWERCAP=y
+CONFIG_IDLE_INJECT=y
+# CONFIG_DTPM is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+# CONFIG_ARM_CCI_PMU is not set
+# CONFIG_ARM_CCN is not set
+# CONFIG_ARM_CMN is not set
+CONFIG_ARM_PMU=y
+# CONFIG_ARM_SMMU_V3_PMU is not set
+CONFIG_ARM_PMUV3=y
+# CONFIG_ARM_DSU_PMU is not set
+# CONFIG_ARM_SPE_PMU is not set
+# CONFIG_HISI_PCIE_PMU is not set
+# CONFIG_HNS3_PMU is not set
+# CONFIG_DWC_PCIE_PMU is not set
+# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set
+# end of Performance monitor support
+
+CONFIG_RAS=y
+# CONFIG_USB4 is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID_BINDER_IPC is not set
+# end of Android
+
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_NVMEM_LAYOUTS=y
+
+#
+# Layout Types
+#
+# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
+# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
+# end of Layout Types
+
+# CONFIG_NVMEM_RMEM is not set
+CONFIG_NVMEM_ROCKCHIP_EFUSE=m
+CONFIG_NVMEM_ROCKCHIP_OTP=m
+# CONFIG_NVMEM_SPMI_SDAM is not set
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# CONFIG_HISI_PTT is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+# CONFIG_TEE is not set
+CONFIG_MULTIPLEXER=y
+
+#
+# Multiplexer drivers
+#
+# CONFIG_MUX_ADG792A is not set
+# CONFIG_MUX_ADGS1408 is not set
+# CONFIG_MUX_GPIO is not set
+# CONFIG_MUX_MMIO is not set
+# end of Multiplexer drivers
+
+CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# CONFIG_PECI is not set
+# CONFIG_HTE is not set
+# CONFIG_CDX_BUS is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+CONFIG_FS_STACK=y
+CONFIG_BUFFER_HEAD=y
+CONFIG_LEGACY_DIRECT_IO=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_SUPPORT_V4=y
+# CONFIG_XFS_SUPPORT_ASCII_CI is not set
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+# CONFIG_XFS_ONLINE_SCRUB is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+# CONFIG_BTRFS_FS_REF_VERIFY is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_F2FS_FS=y
+CONFIG_F2FS_STAT_FS=y
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+# CONFIG_F2FS_CHECK_FS is not set
+# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZO=y
+CONFIG_F2FS_FS_LZORLE=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZ4HC=y
+CONFIG_F2FS_FS_ZSTD=y
+# CONFIG_F2FS_IOSTAT is not set
+# CONFIG_F2FS_UNFAIR_RWSEM is not set
+# CONFIG_BCACHEFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_EXPORTFS_BLOCK_OPS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FS_ENCRYPTION=y
+CONFIG_FS_ENCRYPTION_ALGS=y
+CONFIG_FS_VERITY=y
+CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+# CONFIG_QUOTA is not set
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS_FS is not set
+CONFIG_FUSE_FS=m
+CONFIG_CUSE=m
+CONFIG_VIRTIO_FS=m
+CONFIG_OVERLAY_FS=m
+# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
+# CONFIG_OVERLAY_FS_INDEX is not set
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
+# CONFIG_OVERLAY_FS_METACOPY is not set
+# CONFIG_OVERLAY_FS_DEBUG is not set
+
+#
+# Caches
+#
+CONFIG_NETFS_SUPPORT=m
+# CONFIG_NETFS_STATS is not set
+# CONFIG_FSCACHE is not set
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
+CONFIG_FAT_DEFAULT_UTF8=y
+CONFIG_EXFAT_FS=m
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+CONFIG_NTFS3_FS=m
+# CONFIG_NTFS3_64BIT_CLUSTER is not set
+# CONFIG_NTFS3_LZX_XPRESS is not set
+# CONFIG_NTFS3_FS_POSIX_ACL is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_TMPFS_INODE64 is not set
+# CONFIG_TMPFS_QUOTA is not set
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_EFIVAR_FS=m
+# end of Pseudo filesystems
+
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+CONFIG_ECRYPT_FS=m
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+CONFIG_SQUASHFS_FILE_CACHE=y
+# CONFIG_SQUASHFS_FILE_DIRECT is not set
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
+CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_ZSTD=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+CONFIG_MINIX_FS=m
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_PSTORE=m
+CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
+CONFIG_PSTORE_COMPRESS=y
+# CONFIG_PSTORE_CONSOLE is not set
+# CONFIG_PSTORE_PMSG is not set
+# CONFIG_PSTORE_RAM is not set
+# CONFIG_PSTORE_BLK is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_EROFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+# CONFIG_NFS_V2 is not set
+CONFIG_NFS_V3=m
+CONFIG_NFS_V3_ACL=y
+CONFIG_NFS_V4=m
+# CONFIG_NFS_SWAP is not set
+# CONFIG_NFS_V4_1 is not set
+# CONFIG_NFS_FSCACHE is not set
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
+CONFIG_NFSD=m
+# CONFIG_NFSD_V2 is not set
+CONFIG_NFSD_V3_ACL=y
+CONFIG_NFSD_V4=y
+# CONFIG_NFSD_BLOCKLAYOUT is not set
+# CONFIG_NFSD_SCSILAYOUT is not set
+# CONFIG_NFSD_FLEXFILELAYOUT is not set
+# CONFIG_NFSD_V4_SECURITY_LABEL is not set
+# CONFIG_NFSD_LEGACY_CLIENT_TRACKING is not set
+CONFIG_GRACE_PERIOD=m
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_ACL_SUPPORT=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
+# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
+# CONFIG_SUNRPC_DEBUG is not set
+# CONFIG_CEPH_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
+CONFIG_CIFS_UPCALL=y
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SWN_UPCALL=y
+CONFIG_SMB_SERVER=m
+CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
+# CONFIG_SMB_SERVER_KERBEROS5 is not set
+CONFIG_SMBFS=m
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+CONFIG_NLS_CODEPAGE_866=m
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+CONFIG_NLS_ISO8859_5=m
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+CONFIG_NLS_KOI8_R=m
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+CONFIG_NLS_UTF8=m
+CONFIG_NLS_UCS2_UTILS=m
+CONFIG_DLM=m
+# CONFIG_DLM_DEBUG is not set
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+# CONFIG_KEYS_REQUEST_CACHE is not set
+CONFIG_PERSISTENT_KEYRINGS=y
+CONFIG_TRUSTED_KEYS=m
+CONFIG_TRUSTED_KEYS_TPM=y
+CONFIG_ENCRYPTED_KEYS=y
+# CONFIG_USER_DECRYPTED_DATA is not set
+CONFIG_KEY_DH_OPERATIONS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+# CONFIG_SECURITYFS is not set
+# CONFIG_SECURITY_NETWORK is not set
+# CONFIG_SECURITY_PATH is not set
+# CONFIG_HARDENED_USERCOPY is not set
+# CONFIG_FORTIFY_SOURCE is not set
+# CONFIG_STATIC_USERMODEHELPER is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_LOADPIN is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_SECURITY_SAFESETID is not set
+CONFIG_SECURITY_LOCKDOWN_LSM=y
+# CONFIG_SECURITY_LOCKDOWN_LSM_EARLY is not set
+CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
+# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
+# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
+# CONFIG_SECURITY_LANDLOCK is not set
+# CONFIG_INTEGRITY is not set
+# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_LSM=""
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
+CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+# CONFIG_INIT_STACK_ALL_ZERO is not set
+# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+# CONFIG_ZERO_CALL_USED_REGS is not set
+# end of Memory initialization
+
+#
+# Hardening of kernel data structures
+#
+# CONFIG_LIST_HARDENED is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Hardening of kernel data structures
+
+CONFIG_RANDSTRUCT_NONE=y
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_XOR_BLOCKS=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+# CONFIG_CRYPTO_FIPS is not set
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_SIG2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_KPP=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_ENGINE=m
+# end of Crypto core or helper
+
+#
+# Public-key cryptography
+#
+CONFIG_CRYPTO_RSA=y
+CONFIG_CRYPTO_DH=y
+# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
+CONFIG_CRYPTO_ECC=m
+CONFIG_CRYPTO_ECDH=m
+# CONFIG_CRYPTO_ECDSA is not set
+CONFIG_CRYPTO_ECRDSA=m
+# CONFIG_CRYPTO_SM2 is not set
+CONFIG_CRYPTO_CURVE25519=m
+# end of Public-key cryptography
+
+#
+# Block ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARIA is not set
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+CONFIG_CRYPTO_SM4=m
+# CONFIG_CRYPTO_SM4_GENERIC is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# end of Block ciphers
+
+#
+# Length-preserving ciphers and modes
+#
+CONFIG_CRYPTO_ADIANTUM=m
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=y
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_HCTR2 is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+CONFIG_CRYPTO_LRW=m
+# CONFIG_CRYPTO_PCBC is not set
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_NHPOLY1305=m
+# end of Length-preserving ciphers and modes
+
+#
+# AEAD (authenticated encryption with associated data) ciphers
+#
+# CONFIG_CRYPTO_AEGIS128 is not set
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_GENIV=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
+CONFIG_CRYPTO_ESSIV=m
+# end of AEAD (authenticated encryption with associated data) ciphers
+
+#
+# Hashes, digests, and MACs
+#
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+CONFIG_CRYPTO_POLY1305=m
+CONFIG_CRYPTO_RMD160=m
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_SHA3=y
+CONFIG_CRYPTO_SM3=m
+# CONFIG_CRYPTO_SM3_GENERIC is not set
+CONFIG_CRYPTO_STREEBOG=m
+# CONFIG_CRYPTO_VMAC is not set
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_XCBC is not set
+CONFIG_CRYPTO_XXHASH=m
+# end of Hashes, digests, and MACs
+
+#
+# CRCs (cyclic redundancy checks)
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=y
+CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_CRC64_ROCKSOFT=y
+# end of CRCs (cyclic redundancy checks)
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+CONFIG_CRYPTO_ZSTD=y
+# end of Compression
+
+#
+# Random number generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DRBG_MENU=y
+CONFIG_CRYPTO_DRBG_HMAC=y
+# CONFIG_CRYPTO_DRBG_HASH is not set
+# CONFIG_CRYPTO_DRBG_CTR is not set
+CONFIG_CRYPTO_DRBG=y
+CONFIG_CRYPTO_JITTERENTROPY=y
+CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
+CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
+CONFIG_CRYPTO_JITTERENTROPY_OSR=1
+CONFIG_CRYPTO_KDF800108_CTR=y
+# end of Random number generation
+
+#
+# Userspace interface
+#
+CONFIG_CRYPTO_USER_API=m
+CONFIG_CRYPTO_USER_API_HASH=m
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+# CONFIG_CRYPTO_USER_API_RNG is not set
+# CONFIG_CRYPTO_USER_API_AEAD is not set
+CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
+# CONFIG_CRYPTO_STATS is not set
+# end of Userspace interface
+
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_CRYPTO_NHPOLY1305_NEON=m
+CONFIG_CRYPTO_CHACHA20_NEON=m
+
+#
+# Accelerated Cryptographic Algorithms for CPU (arm64)
+#
+CONFIG_CRYPTO_GHASH_ARM64_CE=m
+CONFIG_CRYPTO_POLY1305_NEON=m
+CONFIG_CRYPTO_SHA1_ARM64_CE=m
+CONFIG_CRYPTO_SHA256_ARM64=m
+CONFIG_CRYPTO_SHA2_ARM64_CE=m
+CONFIG_CRYPTO_SHA512_ARM64=m
+CONFIG_CRYPTO_SHA512_ARM64_CE=m
+CONFIG_CRYPTO_SHA3_ARM64=m
+# CONFIG_CRYPTO_SM3_NEON is not set
+CONFIG_CRYPTO_SM3_ARM64_CE=m
+# CONFIG_CRYPTO_POLYVAL_ARM64_CE is not set
+CONFIG_CRYPTO_AES_ARM64=m
+CONFIG_CRYPTO_AES_ARM64_CE=m
+CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
+CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
+CONFIG_CRYPTO_AES_ARM64_BS=m
+CONFIG_CRYPTO_SM4_ARM64_CE=m
+# CONFIG_CRYPTO_SM4_ARM64_CE_BLK is not set
+# CONFIG_CRYPTO_SM4_ARM64_NEON_BLK is not set
+CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
+# CONFIG_CRYPTO_SM4_ARM64_CE_CCM is not set
+# CONFIG_CRYPTO_SM4_ARM64_CE_GCM is not set
+CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
+# end of Accelerated Cryptographic Algorithms for CPU (arm64)
+
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
+# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
+# CONFIG_CRYPTO_DEV_CCP is not set
+# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_C62X is not set
+# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_420XX is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
+# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set
+CONFIG_CRYPTO_DEV_ROCKCHIP=m
+CONFIG_CRYPTO_DEV_VIRTIO=m
+# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
+# CONFIG_CRYPTO_DEV_CCREE is not set
+# CONFIG_CRYPTO_DEV_HISI_SEC is not set
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
+CONFIG_PKCS7_MESSAGE_PARSER=y
+# CONFIG_PKCS7_TEST_KEY is not set
+# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
+# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
+
+#
+# Certificates for signature checking
+#
+CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
+CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
+# end of Certificates for signature checking
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+# CONFIG_RAID6_PQ_BENCHMARK is not set
+CONFIG_LINEAR_RANGES=y
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_HAVE_ARCH_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+# CONFIG_CORDIC is not set
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
+CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
+# CONFIG_INDIRECT_PIO is not set
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_GF128MUL=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
+CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_CRC_CCITT=y
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC64_ROCKSOFT=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC64=y
+# CONFIG_CRC4 is not set
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=y
+CONFIG_CRC8=m
+CONFIG_XXHASH=y
+CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=y
+CONFIG_LZ4HC_COMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMMON=y
+CONFIG_ZSTD_COMPRESS=y
+CONFIG_ZSTD_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+# CONFIG_XZ_DEC_MICROLZMA is not set
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_INTERVAL_TREE=y
+CONFIG_INTERVAL_TREE_SPAN_ITER=y
+CONFIG_XARRAY_MULTI=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_DMA_OPS=y
+CONFIG_NEED_SG_DMA_FLAGS=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_SWIOTLB=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
+CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y
+# CONFIG_DMA_RESTRICTED_POOL is not set
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_DIRECT_REMAP=y
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_SGL_ALLOC=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+CONFIG_CLZ_TAB=y
+CONFIG_IRQ_POLL=y
+CONFIG_MPILIB=y
+CONFIG_DIMLIB=y
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
+CONFIG_FONT_SUPPORT=y
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+# CONFIG_FONT_PEARL_8x8 is not set
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_6x10 is not set
+# CONFIG_FONT_10x18 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+CONFIG_FONT_TER16x32=y
+# CONFIG_FONT_6x8 is not set
+CONFIG_SG_POOL=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_STACKDEPOT=y
+CONFIG_STACKDEPOT_MAX_FRAMES=64
+CONFIG_SBITMAP=y
+# CONFIG_LWQ_TEST is not set
+# end of Library routines
+
+CONFIG_GENERIC_IOREMAP=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+CONFIG_ASN1_ENCODER=m
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
+# end of printk and dmesg options
+
+# CONFIG_DEBUG_KERNEL is not set
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_AS_HAS_NON_CONST_ULEB128=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_DEBUG_FS is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_UBSAN is not set
+CONFIG_HAVE_KCSAN_COMPILER=y
+# end of Generic Kernel Debugging Instruments
+
+#
+# Networking Debugging
+#
+# end of Networking Debugging
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_PAGE_TABLE_CHECK is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_ARCH_HAS_DEBUG_WX=y
+# CONFIG_DEBUG_WX is not set
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_PER_VMA_LOCK_STATS is not set
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+# CONFIG_DEBUG_VM_PGTABLE is not set
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_KASAN_SW_TAGS=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+# CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
+# end of Memory Debugging
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=30
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
+CONFIG_SCHED_INFO=y
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_DEBUG_IRQFLAGS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+
+#
+# Debug kernel data structures
+#
+# end of Debug kernel data structures
+
+#
+# RCU Debugging
+#
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
+# CONFIG_RCU_CPU_STALL_CPUTIME is not set
+# end of RCU Debugging
+
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_ARGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_IO_STRICT_DEVMEM=y
+
+#
+# arm64 Debugging
+#
+# CONFIG_PID_IN_CONTEXTIDR is not set
+# CONFIG_ARM64_RELOC_TEST is not set
+# CONFIG_CORESIGHT is not set
+# end of arm64 Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+
+#
+# Rust hacking
+#
+# end of Rust hacking
+# end of Kernel hacking
diff --git a/testing/linux-gru/config-gru.aarch64 b/testing/linux-gru/config-gru.aarch64
deleted file mode 100644
index 33dc34b98b1..00000000000
--- a/testing/linux-gru/config-gru.aarch64
+++ /dev/null
@@ -1,6923 +0,0 @@
-#
-# Automatically generated file; DO NOT EDIT.
-# Linux/arm64 5.16.0 Kernel Configuration
-#
-CONFIG_CC_VERSION_TEXT="gcc (Alpine 11.2.1_git20211128) 11.2.1 20211128"
-CONFIG_CC_IS_GCC=y
-CONFIG_GCC_VERSION=110201
-CONFIG_CLANG_VERSION=0
-CONFIG_AS_IS_GNU=y
-CONFIG_AS_VERSION=23700
-CONFIG_LD_IS_BFD=y
-CONFIG_LD_VERSION=23700
-CONFIG_LLD_VERSION=0
-CONFIG_CC_CAN_LINK=y
-CONFIG_CC_CAN_LINK_STATIC=y
-CONFIG_CC_HAS_ASM_GOTO=y
-CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
-CONFIG_CC_HAS_ASM_INLINE=y
-CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
-CONFIG_IRQ_WORK=y
-CONFIG_BUILDTIME_TABLE_SORT=y
-CONFIG_THREAD_INFO_IN_TASK=y
-
-#
-# General setup
-#
-CONFIG_INIT_ENV_ARG_LIMIT=32
-# CONFIG_COMPILE_TEST is not set
-# CONFIG_WERROR is not set
-CONFIG_LOCALVERSION=""
-# CONFIG_LOCALVERSION_AUTO is not set
-CONFIG_BUILD_SALT=""
-CONFIG_DEFAULT_INIT=""
-CONFIG_DEFAULT_HOSTNAME="localhost"
-CONFIG_SWAP=y
-CONFIG_SYSVIPC=y
-CONFIG_SYSVIPC_SYSCTL=y
-CONFIG_POSIX_MQUEUE=y
-CONFIG_POSIX_MQUEUE_SYSCTL=y
-# CONFIG_WATCH_QUEUE is not set
-CONFIG_CROSS_MEMORY_ATTACH=y
-# CONFIG_USELIB is not set
-# CONFIG_AUDIT is not set
-CONFIG_HAVE_ARCH_AUDITSYSCALL=y
-
-#
-# IRQ subsystem
-#
-CONFIG_GENERIC_IRQ_PROBE=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
-CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
-CONFIG_GENERIC_IRQ_MIGRATION=y
-CONFIG_GENERIC_IRQ_INJECTION=y
-CONFIG_HARDIRQS_SW_RESEND=y
-CONFIG_GENERIC_IRQ_CHIP=y
-CONFIG_IRQ_DOMAIN=y
-CONFIG_IRQ_DOMAIN_HIERARCHY=y
-CONFIG_GENERIC_IRQ_IPI=y
-CONFIG_GENERIC_MSI_IRQ=y
-CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
-CONFIG_IRQ_MSI_IOMMU=y
-CONFIG_IRQ_FORCED_THREADING=y
-CONFIG_SPARSE_IRQ=y
-# end of IRQ subsystem
-
-CONFIG_GENERIC_TIME_VSYSCALL=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_ARCH_HAS_TICK_BROADCAST=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
-CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
-
-#
-# Timers subsystem
-#
-CONFIG_TICK_ONESHOT=y
-CONFIG_NO_HZ_COMMON=y
-# CONFIG_HZ_PERIODIC is not set
-CONFIG_NO_HZ_IDLE=y
-# CONFIG_NO_HZ_FULL is not set
-# CONFIG_NO_HZ is not set
-CONFIG_HIGH_RES_TIMERS=y
-# end of Timers subsystem
-
-CONFIG_BPF=y
-CONFIG_HAVE_EBPF_JIT=y
-CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
-
-#
-# BPF subsystem
-#
-# CONFIG_BPF_SYSCALL is not set
-# CONFIG_BPF_JIT is not set
-# end of BPF subsystem
-
-CONFIG_PREEMPT_BUILD=y
-# CONFIG_PREEMPT_NONE is not set
-# CONFIG_PREEMPT_VOLUNTARY is not set
-CONFIG_PREEMPT=y
-CONFIG_PREEMPT_COUNT=y
-CONFIG_PREEMPTION=y
-# CONFIG_SCHED_CORE is not set
-
-#
-# CPU/Task time and stats accounting
-#
-CONFIG_TICK_CPU_ACCOUNTING=y
-# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-CONFIG_SCHED_THERMAL_PRESSURE=y
-# CONFIG_BSD_PROCESS_ACCT is not set
-CONFIG_TASKSTATS=y
-CONFIG_TASK_DELAY_ACCT=y
-# CONFIG_TASK_XACCT is not set
-# CONFIG_PSI is not set
-# end of CPU/Task time and stats accounting
-
-CONFIG_CPU_ISOLATION=y
-
-#
-# RCU Subsystem
-#
-CONFIG_TREE_RCU=y
-CONFIG_PREEMPT_RCU=y
-# CONFIG_RCU_EXPERT is not set
-CONFIG_SRCU=y
-CONFIG_TREE_SRCU=y
-CONFIG_TASKS_RCU_GENERIC=y
-CONFIG_TASKS_RCU=y
-CONFIG_RCU_STALL_COMMON=y
-CONFIG_RCU_NEED_SEGCBLIST=y
-# end of RCU Subsystem
-
-CONFIG_IKCONFIG=m
-CONFIG_IKCONFIG_PROC=y
-# CONFIG_IKHEADERS is not set
-CONFIG_LOG_BUF_SHIFT=18
-CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
-CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
-CONFIG_GENERIC_SCHED_CLOCK=y
-
-#
-# Scheduler features
-#
-# CONFIG_UCLAMP_TASK is not set
-# end of Scheduler features
-
-CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
-CONFIG_CC_HAS_INT128=y
-CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
-CONFIG_ARCH_SUPPORTS_INT128=y
-CONFIG_CGROUPS=y
-CONFIG_PAGE_COUNTER=y
-CONFIG_MEMCG=y
-CONFIG_MEMCG_SWAP=y
-CONFIG_MEMCG_KMEM=y
-CONFIG_BLK_CGROUP=y
-CONFIG_CGROUP_WRITEBACK=y
-CONFIG_CGROUP_SCHED=y
-CONFIG_FAIR_GROUP_SCHED=y
-CONFIG_CFS_BANDWIDTH=y
-# CONFIG_RT_GROUP_SCHED is not set
-CONFIG_CGROUP_PIDS=y
-CONFIG_CGROUP_RDMA=y
-CONFIG_CGROUP_FREEZER=y
-CONFIG_CPUSETS=y
-CONFIG_PROC_PID_CPUSET=y
-CONFIG_CGROUP_DEVICE=y
-CONFIG_CGROUP_CPUACCT=y
-# CONFIG_CGROUP_PERF is not set
-# CONFIG_CGROUP_MISC is not set
-CONFIG_SOCK_CGROUP_DATA=y
-CONFIG_NAMESPACES=y
-CONFIG_UTS_NS=y
-CONFIG_TIME_NS=y
-CONFIG_IPC_NS=y
-CONFIG_USER_NS=y
-CONFIG_PID_NS=y
-CONFIG_NET_NS=y
-# CONFIG_CHECKPOINT_RESTORE is not set
-CONFIG_SCHED_AUTOGROUP=y
-# CONFIG_SYSFS_DEPRECATED is not set
-# CONFIG_RELAY is not set
-# CONFIG_BLK_DEV_INITRD is not set
-# CONFIG_BOOT_CONFIG is not set
-CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
-# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
-CONFIG_LD_ORPHAN_WARN=y
-CONFIG_SYSCTL=y
-CONFIG_HAVE_UID16=y
-CONFIG_SYSCTL_EXCEPTION_TRACE=y
-# CONFIG_EXPERT is not set
-CONFIG_UID16=y
-CONFIG_MULTIUSER=y
-CONFIG_SYSFS_SYSCALL=y
-CONFIG_FHANDLE=y
-CONFIG_POSIX_TIMERS=y
-CONFIG_PRINTK=y
-CONFIG_BUG=y
-CONFIG_ELF_CORE=y
-CONFIG_BASE_FULL=y
-CONFIG_FUTEX=y
-CONFIG_FUTEX_PI=y
-CONFIG_HAVE_FUTEX_CMPXCHG=y
-CONFIG_EPOLL=y
-CONFIG_SIGNALFD=y
-CONFIG_TIMERFD=y
-CONFIG_EVENTFD=y
-CONFIG_SHMEM=y
-CONFIG_AIO=y
-CONFIG_IO_URING=y
-CONFIG_ADVISE_SYSCALLS=y
-CONFIG_MEMBARRIER=y
-CONFIG_KALLSYMS=y
-CONFIG_KALLSYMS_BASE_RELATIVE=y
-# CONFIG_USERFAULTFD is not set
-CONFIG_ARCH_HAS_MEMBARRIER_SYNC_CORE=y
-CONFIG_KCMP=y
-CONFIG_RSEQ=y
-# CONFIG_EMBEDDED is not set
-CONFIG_HAVE_PERF_EVENTS=y
-
-#
-# Kernel Performance Events And Counters
-#
-CONFIG_PERF_EVENTS=y
-# end of Kernel Performance Events And Counters
-
-CONFIG_VM_EVENT_COUNTERS=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_COMPAT_BRK is not set
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_SLAB_MERGE_DEFAULT=y
-# CONFIG_SLAB_FREELIST_RANDOM is not set
-# CONFIG_SLAB_FREELIST_HARDENED is not set
-# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set
-# CONFIG_SLUB_CPU_PARTIAL is not set
-CONFIG_SYSTEM_DATA_VERIFICATION=y
-# CONFIG_PROFILING is not set
-# end of General setup
-
-CONFIG_ARM64=y
-CONFIG_64BIT=y
-CONFIG_MMU=y
-CONFIG_ARM64_PAGE_SHIFT=12
-CONFIG_ARM64_CONT_PTE_SHIFT=4
-CONFIG_ARM64_CONT_PMD_SHIFT=4
-CONFIG_ARCH_MMAP_RND_BITS_MIN=18
-CONFIG_ARCH_MMAP_RND_BITS_MAX=33
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=11
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=16
-CONFIG_STACKTRACE_SUPPORT=y
-CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000
-CONFIG_LOCKDEP_SUPPORT=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
-CONFIG_GENERIC_HWEIGHT=y
-CONFIG_GENERIC_CSUM=y
-CONFIG_GENERIC_CALIBRATE_DELAY=y
-CONFIG_ARCH_MHP_MEMMAP_ON_MEMORY_ENABLE=y
-CONFIG_SMP=y
-CONFIG_KERNEL_MODE_NEON=y
-CONFIG_FIX_EARLYCON_MEM=y
-CONFIG_PGTABLE_LEVELS=4
-CONFIG_ARCH_SUPPORTS_UPROBES=y
-CONFIG_ARCH_PROC_KCORE_TEXT=y
-
-#
-# Platform selection
-#
-# CONFIG_ARCH_ACTIONS is not set
-# CONFIG_ARCH_SUNXI is not set
-# CONFIG_ARCH_ALPINE is not set
-# CONFIG_ARCH_APPLE is not set
-# CONFIG_ARCH_BCM2835 is not set
-# CONFIG_ARCH_BCM4908 is not set
-# CONFIG_ARCH_BCM_IPROC is not set
-# CONFIG_ARCH_BERLIN is not set
-# CONFIG_ARCH_BITMAIN is not set
-# CONFIG_ARCH_BRCMSTB is not set
-# CONFIG_ARCH_EXYNOS is not set
-# CONFIG_ARCH_SPARX5 is not set
-# CONFIG_ARCH_K3 is not set
-# CONFIG_ARCH_LAYERSCAPE is not set
-# CONFIG_ARCH_LG1K is not set
-# CONFIG_ARCH_HISI is not set
-# CONFIG_ARCH_KEEMBAY is not set
-# CONFIG_ARCH_MEDIATEK is not set
-# CONFIG_ARCH_MESON is not set
-# CONFIG_ARCH_MVEBU is not set
-# CONFIG_ARCH_MXC is not set
-# CONFIG_ARCH_QCOM is not set
-# CONFIG_ARCH_REALTEK is not set
-# CONFIG_ARCH_RENESAS is not set
-CONFIG_ARCH_ROCKCHIP=y
-# CONFIG_ARCH_S32 is not set
-# CONFIG_ARCH_SEATTLE is not set
-# CONFIG_ARCH_INTEL_SOCFPGA is not set
-# CONFIG_ARCH_SYNQUACER is not set
-# CONFIG_ARCH_TEGRA is not set
-# CONFIG_ARCH_SPRD is not set
-# CONFIG_ARCH_THUNDER is not set
-# CONFIG_ARCH_THUNDER2 is not set
-# CONFIG_ARCH_UNIPHIER is not set
-# CONFIG_ARCH_VEXPRESS is not set
-# CONFIG_ARCH_VISCONTI is not set
-# CONFIG_ARCH_XGENE is not set
-# CONFIG_ARCH_ZYNQMP is not set
-# end of Platform selection
-
-#
-# Kernel Features
-#
-
-#
-# ARM errata workarounds via the alternatives framework
-#
-CONFIG_ARM64_WORKAROUND_CLEAN_CACHE=y
-CONFIG_ARM64_ERRATUM_826319=y
-CONFIG_ARM64_ERRATUM_827319=y
-CONFIG_ARM64_ERRATUM_824069=y
-CONFIG_ARM64_ERRATUM_819472=y
-CONFIG_ARM64_ERRATUM_832075=y
-CONFIG_ARM64_ERRATUM_834220=y
-CONFIG_ARM64_ERRATUM_845719=y
-CONFIG_ARM64_ERRATUM_843419=y
-CONFIG_ARM64_LD_HAS_FIX_ERRATUM_843419=y
-CONFIG_ARM64_ERRATUM_1024718=y
-CONFIG_ARM64_ERRATUM_1418040=y
-CONFIG_ARM64_WORKAROUND_SPECULATIVE_AT=y
-CONFIG_ARM64_ERRATUM_1165522=y
-CONFIG_ARM64_ERRATUM_1319367=y
-CONFIG_ARM64_ERRATUM_1530923=y
-CONFIG_ARM64_WORKAROUND_REPEAT_TLBI=y
-CONFIG_ARM64_ERRATUM_1286807=y
-CONFIG_ARM64_ERRATUM_1463225=y
-CONFIG_ARM64_ERRATUM_1542419=y
-CONFIG_ARM64_ERRATUM_1508412=y
-# CONFIG_ARM64_ERRATUM_2054223 is not set
-# CONFIG_ARM64_ERRATUM_2067961 is not set
-CONFIG_CAVIUM_ERRATUM_22375=y
-CONFIG_CAVIUM_ERRATUM_23154=y
-CONFIG_CAVIUM_ERRATUM_27456=y
-CONFIG_CAVIUM_ERRATUM_30115=y
-CONFIG_CAVIUM_TX2_ERRATUM_219=y
-CONFIG_FUJITSU_ERRATUM_010001=y
-CONFIG_HISILICON_ERRATUM_161600802=y
-CONFIG_QCOM_FALKOR_ERRATUM_1003=y
-CONFIG_QCOM_FALKOR_ERRATUM_1009=y
-CONFIG_QCOM_QDF2400_ERRATUM_0065=y
-CONFIG_QCOM_FALKOR_ERRATUM_E1041=y
-CONFIG_NVIDIA_CARMEL_CNP_ERRATUM=y
-CONFIG_SOCIONEXT_SYNQUACER_PREITS=y
-# end of ARM errata workarounds via the alternatives framework
-
-CONFIG_ARM64_4K_PAGES=y
-# CONFIG_ARM64_16K_PAGES is not set
-# CONFIG_ARM64_64K_PAGES is not set
-# CONFIG_ARM64_VA_BITS_39 is not set
-CONFIG_ARM64_VA_BITS_48=y
-CONFIG_ARM64_VA_BITS=48
-CONFIG_ARM64_PA_BITS_48=y
-CONFIG_ARM64_PA_BITS=48
-# CONFIG_CPU_BIG_ENDIAN is not set
-CONFIG_CPU_LITTLE_ENDIAN=y
-CONFIG_SCHED_MC=y
-# CONFIG_SCHED_CLUSTER is not set
-CONFIG_SCHED_SMT=y
-CONFIG_NR_CPUS=8
-CONFIG_HOTPLUG_CPU=y
-# CONFIG_NUMA is not set
-# CONFIG_HZ_100 is not set
-# CONFIG_HZ_250 is not set
-# CONFIG_HZ_300 is not set
-CONFIG_HZ_1000=y
-CONFIG_HZ=1000
-CONFIG_SCHED_HRTICK=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_HW_PERF_EVENTS=y
-CONFIG_ARCH_HAS_FILTER_PGPROT=y
-# CONFIG_PARAVIRT is not set
-# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
-# CONFIG_KEXEC is not set
-# CONFIG_KEXEC_FILE is not set
-# CONFIG_CRASH_DUMP is not set
-CONFIG_TRANS_TABLE=y
-# CONFIG_XEN is not set
-CONFIG_FORCE_MAX_ZONEORDER=11
-CONFIG_UNMAP_KERNEL_AT_EL0=y
-CONFIG_RODATA_FULL_DEFAULT_ENABLED=y
-# CONFIG_ARM64_SW_TTBR0_PAN is not set
-CONFIG_ARM64_TAGGED_ADDR_ABI=y
-CONFIG_COMPAT=y
-CONFIG_KUSER_HELPERS=y
-CONFIG_ARMV8_DEPRECATED=y
-CONFIG_SWP_EMULATION=y
-CONFIG_CP15_BARRIER_EMULATION=y
-CONFIG_SETEND_EMULATION=y
-
-#
-# ARMv8.1 architectural features
-#
-CONFIG_ARM64_HW_AFDBM=y
-CONFIG_ARM64_PAN=y
-CONFIG_AS_HAS_LDAPR=y
-CONFIG_AS_HAS_LSE_ATOMICS=y
-CONFIG_ARM64_LSE_ATOMICS=y
-CONFIG_ARM64_USE_LSE_ATOMICS=y
-# end of ARMv8.1 architectural features
-
-#
-# ARMv8.2 architectural features
-#
-# CONFIG_ARM64_PMEM is not set
-CONFIG_ARM64_RAS_EXTN=y
-CONFIG_ARM64_CNP=y
-# end of ARMv8.2 architectural features
-
-#
-# ARMv8.3 architectural features
-#
-CONFIG_ARM64_PTR_AUTH=y
-CONFIG_ARM64_PTR_AUTH_KERNEL=y
-CONFIG_CC_HAS_BRANCH_PROT_PAC_RET=y
-CONFIG_CC_HAS_SIGN_RETURN_ADDRESS=y
-CONFIG_AS_HAS_PAC=y
-CONFIG_AS_HAS_CFI_NEGATE_RA_STATE=y
-# end of ARMv8.3 architectural features
-
-#
-# ARMv8.4 architectural features
-#
-CONFIG_ARM64_AMU_EXTN=y
-CONFIG_AS_HAS_ARMV8_4=y
-CONFIG_ARM64_TLB_RANGE=y
-# end of ARMv8.4 architectural features
-
-#
-# ARMv8.5 architectural features
-#
-CONFIG_AS_HAS_ARMV8_5=y
-CONFIG_ARM64_BTI=y
-CONFIG_ARM64_BTI_KERNEL=y
-CONFIG_CC_HAS_BRANCH_PROT_PAC_RET_BTI=y
-CONFIG_ARM64_E0PD=y
-CONFIG_ARCH_RANDOM=y
-CONFIG_ARM64_AS_HAS_MTE=y
-CONFIG_ARM64_MTE=y
-# end of ARMv8.5 architectural features
-
-#
-# ARMv8.7 architectural features
-#
-CONFIG_ARM64_EPAN=y
-# end of ARMv8.7 architectural features
-
-CONFIG_ARM64_SVE=y
-CONFIG_ARM64_MODULE_PLTS=y
-# CONFIG_ARM64_PSEUDO_NMI is not set
-CONFIG_RELOCATABLE=y
-# CONFIG_RANDOMIZE_BASE is not set
-CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y
-CONFIG_STACKPROTECTOR_PER_TASK=y
-# end of Kernel Features
-
-#
-# Boot options
-#
-# CONFIG_ARM64_ACPI_PARKING_PROTOCOL is not set
-CONFIG_CMDLINE=""
-CONFIG_EFI_STUB=y
-CONFIG_EFI=y
-CONFIG_DMI=y
-# end of Boot options
-
-CONFIG_SYSVIPC_COMPAT=y
-
-#
-# Power management options
-#
-CONFIG_SUSPEND=y
-CONFIG_SUSPEND_FREEZER=y
-CONFIG_HIBERNATE_CALLBACKS=y
-CONFIG_HIBERNATION=y
-CONFIG_HIBERNATION_SNAPSHOT_DEV=y
-CONFIG_PM_STD_PARTITION=""
-CONFIG_PM_SLEEP=y
-CONFIG_PM_SLEEP_SMP=y
-# CONFIG_PM_AUTOSLEEP is not set
-# CONFIG_PM_WAKELOCKS is not set
-CONFIG_PM=y
-# CONFIG_PM_DEBUG is not set
-CONFIG_PM_CLK=y
-CONFIG_PM_GENERIC_DOMAINS=y
-# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
-CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
-CONFIG_PM_GENERIC_DOMAINS_OF=y
-CONFIG_CPU_PM=y
-CONFIG_ENERGY_MODEL=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_HIBERNATION_HEADER=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-# end of Power management options
-
-#
-# CPU Power Management
-#
-
-#
-# CPU Idle
-#
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_IDLE_GOV_MENU=y
-CONFIG_CPU_IDLE_GOV_TEO=y
-CONFIG_DT_IDLE_STATES=y
-
-#
-# ARM CPU Idle Drivers
-#
-CONFIG_ARM_CPUIDLE=y
-# CONFIG_ARM_PSCI_CPUIDLE is not set
-# end of ARM CPU Idle Drivers
-# end of CPU Idle
-
-#
-# CPU Frequency scaling
-#
-CONFIG_CPU_FREQ=y
-CONFIG_CPU_FREQ_GOV_ATTR_SET=y
-CONFIG_CPU_FREQ_GOV_COMMON=y
-# CONFIG_CPU_FREQ_STAT is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-CONFIG_CPU_FREQ_GOV_POWERSAVE=m
-CONFIG_CPU_FREQ_GOV_USERSPACE=m
-CONFIG_CPU_FREQ_GOV_ONDEMAND=m
-CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
-CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
-
-#
-# CPU frequency scaling drivers
-#
-CONFIG_CPUFREQ_DT=m
-CONFIG_CPUFREQ_DT_PLATDEV=y
-CONFIG_ACPI_CPPC_CPUFREQ=m
-CONFIG_ACPI_CPPC_CPUFREQ_FIE=y
-CONFIG_ARM_SCPI_CPUFREQ=m
-# end of CPU Frequency scaling
-# end of CPU Power Management
-
-CONFIG_ARCH_SUPPORTS_ACPI=y
-CONFIG_ACPI=y
-CONFIG_ACPI_GENERIC_GSI=y
-CONFIG_ACPI_CCA_REQUIRED=y
-# CONFIG_ACPI_DEBUGGER is not set
-CONFIG_ACPI_SPCR_TABLE=y
-# CONFIG_ACPI_EC_DEBUGFS is not set
-CONFIG_ACPI_AC=m
-CONFIG_ACPI_BATTERY=m
-CONFIG_ACPI_BUTTON=m
-# CONFIG_ACPI_TINY_POWER_BUTTON is not set
-CONFIG_ACPI_FAN=m
-CONFIG_ACPI_TAD=m
-# CONFIG_ACPI_DOCK is not set
-CONFIG_ACPI_PROCESSOR_IDLE=y
-CONFIG_ACPI_MCFG=y
-CONFIG_ACPI_CPPC_LIB=y
-CONFIG_ACPI_PROCESSOR=m
-CONFIG_ACPI_HOTPLUG_CPU=y
-CONFIG_ACPI_THERMAL=m
-CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
-# CONFIG_ACPI_DEBUG is not set
-CONFIG_ACPI_PCI_SLOT=y
-CONFIG_ACPI_CONTAINER=y
-CONFIG_ACPI_HED=m
-# CONFIG_ACPI_BGRT is not set
-CONFIG_ACPI_REDUCED_HARDWARE_ONLY=y
-CONFIG_HAVE_ACPI_APEI=y
-# CONFIG_ACPI_APEI is not set
-CONFIG_ACPI_CONFIGFS=m
-CONFIG_ACPI_IORT=y
-CONFIG_ACPI_GTDT=y
-CONFIG_ACPI_PPTT=y
-CONFIG_PMIC_OPREGION=y
-CONFIG_IRQ_BYPASS_MANAGER=y
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_KVM_IRQCHIP=y
-CONFIG_HAVE_KVM_IRQFD=y
-CONFIG_HAVE_KVM_IRQ_ROUTING=y
-CONFIG_HAVE_KVM_EVENTFD=y
-CONFIG_KVM_MMIO=y
-CONFIG_HAVE_KVM_MSI=y
-CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT=y
-CONFIG_KVM_VFIO=y
-CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL=y
-CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
-CONFIG_HAVE_KVM_IRQ_BYPASS=y
-CONFIG_HAVE_KVM_VCPU_RUN_PID_CHANGE=y
-CONFIG_KVM_XFER_TO_GUEST_WORK=y
-CONFIG_VIRTUALIZATION=y
-CONFIG_KVM=y
-# CONFIG_NVHE_EL2_DEBUG is not set
-CONFIG_ARM64_CRYPTO=y
-CONFIG_CRYPTO_SHA256_ARM64=m
-CONFIG_CRYPTO_SHA512_ARM64=m
-CONFIG_CRYPTO_SHA1_ARM64_CE=m
-CONFIG_CRYPTO_SHA2_ARM64_CE=m
-CONFIG_CRYPTO_SHA512_ARM64_CE=m
-CONFIG_CRYPTO_SHA3_ARM64=m
-CONFIG_CRYPTO_SM3_ARM64_CE=m
-CONFIG_CRYPTO_SM4_ARM64_CE=m
-CONFIG_CRYPTO_GHASH_ARM64_CE=m
-CONFIG_CRYPTO_CRCT10DIF_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64=m
-CONFIG_CRYPTO_AES_ARM64_CE=m
-CONFIG_CRYPTO_AES_ARM64_CE_CCM=m
-CONFIG_CRYPTO_AES_ARM64_CE_BLK=m
-CONFIG_CRYPTO_AES_ARM64_NEON_BLK=m
-CONFIG_CRYPTO_CHACHA20_NEON=m
-CONFIG_CRYPTO_POLY1305_NEON=m
-CONFIG_CRYPTO_NHPOLY1305_NEON=m
-CONFIG_CRYPTO_AES_ARM64_BS=m
-
-#
-# General architecture-dependent options
-#
-# CONFIG_KPROBES is not set
-CONFIG_JUMP_LABEL=y
-# CONFIG_STATIC_KEYS_SELFTEST is not set
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_HAVE_KPROBES=y
-CONFIG_HAVE_KRETPROBES=y
-CONFIG_ARCH_CORRECT_STACKTRACE_ON_KRETPROBE=y
-CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
-CONFIG_HAVE_NMI=y
-CONFIG_TRACE_IRQFLAGS_SUPPORT=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_DMA_CONTIGUOUS=y
-CONFIG_GENERIC_SMP_IDLE_THREAD=y
-CONFIG_GENERIC_IDLE_POLL_SETUP=y
-CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
-CONFIG_ARCH_HAS_KEEPINITRD=y
-CONFIG_ARCH_HAS_SET_MEMORY=y
-CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
-CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
-CONFIG_ARCH_WANTS_NO_INSTR=y
-CONFIG_HAVE_ASM_MODVERSIONS=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_RSEQ=y
-CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_PERF_REGS=y
-CONFIG_HAVE_PERF_USER_STACK_DUMP=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
-CONFIG_MMU_GATHER_TABLE_FREE=y
-CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
-CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
-CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
-CONFIG_HAVE_CMPXCHG_LOCAL=y
-CONFIG_HAVE_CMPXCHG_DOUBLE=y
-CONFIG_ARCH_WANT_COMPAT_IPC_PARSE_VERSION=y
-CONFIG_HAVE_ARCH_SECCOMP=y
-CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
-CONFIG_SECCOMP=y
-CONFIG_SECCOMP_FILTER=y
-# CONFIG_SECCOMP_CACHE_DEBUG is not set
-CONFIG_HAVE_ARCH_STACKLEAK=y
-CONFIG_HAVE_STACKPROTECTOR=y
-CONFIG_STACKPROTECTOR=y
-CONFIG_STACKPROTECTOR_STRONG=y
-CONFIG_ARCH_SUPPORTS_LTO_CLANG=y
-CONFIG_ARCH_SUPPORTS_LTO_CLANG_THIN=y
-CONFIG_LTO_NONE=y
-CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
-CONFIG_HAVE_CONTEXT_TRACKING=y
-CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
-CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
-CONFIG_HAVE_MOVE_PUD=y
-CONFIG_HAVE_MOVE_PMD=y
-CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
-CONFIG_HAVE_ARCH_HUGE_VMAP=y
-CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
-CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
-CONFIG_MODULES_USE_ELF_RELA=y
-CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
-CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
-CONFIG_ARCH_MMAP_RND_BITS=18
-CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
-CONFIG_ARCH_MMAP_RND_COMPAT_BITS=11
-CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
-CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
-CONFIG_CLONE_BACKWARDS=y
-CONFIG_OLD_SIGSUSPEND3=y
-CONFIG_COMPAT_OLD_SIGACTION=y
-CONFIG_COMPAT_32BIT_TIME=y
-CONFIG_HAVE_ARCH_VMAP_STACK=y
-CONFIG_VMAP_STACK=y
-CONFIG_HAVE_ARCH_RANDOMIZE_KSTACK_OFFSET=y
-# CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT is not set
-CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
-CONFIG_STRICT_KERNEL_RWX=y
-CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
-CONFIG_STRICT_MODULE_RWX=y
-CONFIG_HAVE_ARCH_COMPILER_H=y
-CONFIG_HAVE_ARCH_PREL32_RELOCATIONS=y
-CONFIG_ARCH_USE_MEMREMAP_PROT=y
-CONFIG_ARCH_HAS_RELR=y
-CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-
-#
-# GCOV-based kernel profiling
-#
-CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
-# end of GCOV-based kernel profiling
-
-CONFIG_HAVE_GCC_PLUGINS=y
-# CONFIG_GCC_PLUGINS is not set
-# end of General architecture-dependent options
-
-CONFIG_RT_MUTEXES=y
-CONFIG_BASE_SMALL=0
-CONFIG_MODULE_SIG_FORMAT=y
-CONFIG_MODULES=y
-# CONFIG_MODULE_FORCE_LOAD is not set
-CONFIG_MODULE_UNLOAD=y
-# CONFIG_MODULE_FORCE_UNLOAD is not set
-# CONFIG_MODVERSIONS is not set
-# CONFIG_MODULE_SRCVERSION_ALL is not set
-CONFIG_MODULE_SIG=y
-# CONFIG_MODULE_SIG_FORCE is not set
-CONFIG_MODULE_SIG_ALL=y
-CONFIG_MODULE_SIG_SHA1=y
-# CONFIG_MODULE_SIG_SHA224 is not set
-# CONFIG_MODULE_SIG_SHA256 is not set
-# CONFIG_MODULE_SIG_SHA384 is not set
-# CONFIG_MODULE_SIG_SHA512 is not set
-CONFIG_MODULE_SIG_HASH="sha1"
-CONFIG_MODULE_COMPRESS_NONE=y
-# CONFIG_MODULE_COMPRESS_GZIP is not set
-# CONFIG_MODULE_COMPRESS_XZ is not set
-# CONFIG_MODULE_COMPRESS_ZSTD is not set
-# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
-CONFIG_MODPROBE_PATH="/sbin/modprobe"
-CONFIG_MODULES_TREE_LOOKUP=y
-CONFIG_BLOCK=y
-CONFIG_BLK_CGROUP_RWSTAT=y
-CONFIG_BLK_DEV_BSG_COMMON=y
-CONFIG_BLK_DEV_BSGLIB=y
-CONFIG_BLK_DEV_INTEGRITY=y
-CONFIG_BLK_DEV_INTEGRITY_T10=y
-CONFIG_BLK_DEV_ZONED=y
-CONFIG_BLK_DEV_THROTTLING=y
-# CONFIG_BLK_DEV_THROTTLING_LOW is not set
-CONFIG_BLK_WBT=y
-CONFIG_BLK_WBT_MQ=y
-# CONFIG_BLK_CGROUP_IOLATENCY is not set
-# CONFIG_BLK_CGROUP_IOCOST is not set
-# CONFIG_BLK_CGROUP_IOPRIO is not set
-# CONFIG_BLK_SED_OPAL is not set
-# CONFIG_BLK_INLINE_ENCRYPTION is not set
-
-#
-# Partition Types
-#
-CONFIG_PARTITION_ADVANCED=y
-# CONFIG_ACORN_PARTITION is not set
-# CONFIG_AIX_PARTITION is not set
-# CONFIG_OSF_PARTITION is not set
-# CONFIG_AMIGA_PARTITION is not set
-# CONFIG_ATARI_PARTITION is not set
-CONFIG_MAC_PARTITION=y
-CONFIG_MSDOS_PARTITION=y
-CONFIG_BSD_DISKLABEL=y
-CONFIG_MINIX_SUBPARTITION=y
-# CONFIG_SOLARIS_X86_PARTITION is not set
-# CONFIG_UNIXWARE_DISKLABEL is not set
-CONFIG_LDM_PARTITION=y
-# CONFIG_LDM_DEBUG is not set
-# CONFIG_SGI_PARTITION is not set
-# CONFIG_ULTRIX_PARTITION is not set
-# CONFIG_SUN_PARTITION is not set
-# CONFIG_KARMA_PARTITION is not set
-CONFIG_EFI_PARTITION=y
-# CONFIG_SYSV68_PARTITION is not set
-# CONFIG_CMDLINE_PARTITION is not set
-# end of Partition Types
-
-CONFIG_BLOCK_COMPAT=y
-CONFIG_BLK_MQ_PCI=y
-CONFIG_BLK_MQ_VIRTIO=y
-CONFIG_BLK_PM=y
-CONFIG_BLOCK_HOLDER_DEPRECATED=y
-
-#
-# IO Schedulers
-#
-CONFIG_MQ_IOSCHED_DEADLINE=y
-CONFIG_MQ_IOSCHED_KYBER=m
-CONFIG_IOSCHED_BFQ=m
-CONFIG_BFQ_GROUP_IOSCHED=y
-# CONFIG_BFQ_CGROUP_DEBUG is not set
-# end of IO Schedulers
-
-CONFIG_PREEMPT_NOTIFIERS=y
-CONFIG_PADATA=y
-CONFIG_ASN1=y
-CONFIG_UNINLINE_SPIN_UNLOCK=y
-CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
-CONFIG_MUTEX_SPIN_ON_OWNER=y
-CONFIG_RWSEM_SPIN_ON_OWNER=y
-CONFIG_LOCK_SPIN_ON_OWNER=y
-CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
-CONFIG_QUEUED_SPINLOCKS=y
-CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
-CONFIG_QUEUED_RWLOCKS=y
-CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
-CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
-CONFIG_FREEZER=y
-
-#
-# Executable file formats
-#
-CONFIG_BINFMT_ELF=y
-CONFIG_COMPAT_BINFMT_ELF=y
-CONFIG_ARCH_BINFMT_ELF_STATE=y
-CONFIG_ARCH_HAVE_ELF_PROT=y
-CONFIG_ARCH_USE_GNU_PROPERTY=y
-CONFIG_ELFCORE=y
-# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
-CONFIG_BINFMT_SCRIPT=y
-CONFIG_BINFMT_MISC=m
-CONFIG_COREDUMP=y
-# end of Executable file formats
-
-#
-# Memory Management options
-#
-CONFIG_SPARSEMEM=y
-CONFIG_SPARSEMEM_EXTREME=y
-CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
-CONFIG_SPARSEMEM_VMEMMAP=y
-CONFIG_HAVE_FAST_GUP=y
-CONFIG_ARCH_KEEP_MEMBLOCK=y
-CONFIG_MEMORY_ISOLATION=y
-CONFIG_EXCLUSIVE_SYSTEM_RAM=y
-CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-# CONFIG_MEMORY_HOTPLUG is not set
-CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
-CONFIG_SPLIT_PTLOCK_CPUS=4
-CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
-CONFIG_MEMORY_BALLOON=y
-CONFIG_BALLOON_COMPACTION=y
-CONFIG_COMPACTION=y
-CONFIG_PAGE_REPORTING=y
-CONFIG_MIGRATION=y
-CONFIG_CONTIG_ALLOC=y
-CONFIG_PHYS_ADDR_T_64BIT=y
-CONFIG_MMU_NOTIFIER=y
-CONFIG_KSM=y
-CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-# CONFIG_MEMORY_FAILURE is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
-CONFIG_CLEANCACHE=y
-CONFIG_FRONTSWAP=y
-CONFIG_CMA=y
-# CONFIG_CMA_SYSFS is not set
-CONFIG_CMA_AREAS=7
-CONFIG_ZSWAP=y
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
-# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
-CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD=y
-CONFIG_ZSWAP_COMPRESSOR_DEFAULT="zstd"
-# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD is not set
-# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
-CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC=y
-CONFIG_ZSWAP_ZPOOL_DEFAULT="zsmalloc"
-# CONFIG_ZSWAP_DEFAULT_ON is not set
-CONFIG_ZPOOL=y
-CONFIG_ZBUD=y
-CONFIG_Z3FOLD=y
-CONFIG_ZSMALLOC=y
-# CONFIG_ZSMALLOC_STAT is not set
-CONFIG_GENERIC_EARLY_IOREMAP=y
-# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
-# CONFIG_IDLE_PAGE_TRACKING is not set
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_ARCH_HAS_PTE_DEVMAP=y
-CONFIG_ZONE_DMA=y
-CONFIG_ZONE_DMA32=y
-CONFIG_ARCH_USES_HIGH_VMA_FLAGS=y
-# CONFIG_PERCPU_STATS is not set
-
-#
-# GUP_TEST needs to have DEBUG_FS enabled
-#
-CONFIG_ARCH_HAS_PTE_SPECIAL=y
-CONFIG_SECRETMEM=y
-
-#
-# Data Access Monitoring
-#
-# CONFIG_DAMON is not set
-# end of Data Access Monitoring
-# end of Memory Management options
-
-CONFIG_NET=y
-CONFIG_COMPAT_NETLINK_MESSAGES=y
-CONFIG_NET_INGRESS=y
-CONFIG_NET_EGRESS=y
-CONFIG_NET_REDIRECT=y
-CONFIG_SKB_EXTENSIONS=y
-
-#
-# Networking options
-#
-CONFIG_PACKET=y
-CONFIG_PACKET_DIAG=m
-CONFIG_UNIX=y
-CONFIG_UNIX_SCM=y
-CONFIG_AF_UNIX_OOB=y
-CONFIG_UNIX_DIAG=m
-CONFIG_TLS=m
-# CONFIG_TLS_DEVICE is not set
-# CONFIG_TLS_TOE is not set
-CONFIG_XFRM=y
-CONFIG_XFRM_ALGO=m
-CONFIG_XFRM_USER=m
-# CONFIG_XFRM_INTERFACE is not set
-CONFIG_XFRM_SUB_POLICY=y
-CONFIG_XFRM_MIGRATE=y
-CONFIG_XFRM_STATISTICS=y
-CONFIG_XFRM_AH=m
-CONFIG_XFRM_ESP=m
-CONFIG_XFRM_IPCOMP=m
-CONFIG_NET_KEY=m
-CONFIG_NET_KEY_MIGRATE=y
-CONFIG_INET=y
-CONFIG_IP_MULTICAST=y
-CONFIG_IP_ADVANCED_ROUTER=y
-# CONFIG_IP_FIB_TRIE_STATS is not set
-CONFIG_IP_MULTIPLE_TABLES=y
-CONFIG_IP_ROUTE_MULTIPATH=y
-CONFIG_IP_ROUTE_VERBOSE=y
-CONFIG_IP_ROUTE_CLASSID=y
-# CONFIG_IP_PNP is not set
-CONFIG_NET_IPIP=m
-CONFIG_NET_IPGRE_DEMUX=m
-CONFIG_NET_IP_TUNNEL=m
-CONFIG_NET_IPGRE=m
-CONFIG_NET_IPGRE_BROADCAST=y
-CONFIG_IP_MROUTE_COMMON=y
-CONFIG_IP_MROUTE=y
-CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IP_PIMSM_V1=y
-CONFIG_IP_PIMSM_V2=y
-CONFIG_SYN_COOKIES=y
-CONFIG_NET_IPVTI=m
-CONFIG_NET_UDP_TUNNEL=m
-CONFIG_NET_FOU=m
-CONFIG_NET_FOU_IP_TUNNELS=y
-CONFIG_INET_AH=m
-CONFIG_INET_ESP=m
-# CONFIG_INET_ESP_OFFLOAD is not set
-# CONFIG_INET_ESPINTCP is not set
-CONFIG_INET_IPCOMP=m
-CONFIG_INET_XFRM_TUNNEL=m
-CONFIG_INET_TUNNEL=m
-CONFIG_INET_DIAG=m
-CONFIG_INET_TCP_DIAG=m
-CONFIG_INET_UDP_DIAG=m
-CONFIG_INET_RAW_DIAG=m
-# CONFIG_INET_DIAG_DESTROY is not set
-CONFIG_TCP_CONG_ADVANCED=y
-# CONFIG_TCP_CONG_BIC is not set
-CONFIG_TCP_CONG_CUBIC=y
-# CONFIG_TCP_CONG_WESTWOOD is not set
-# CONFIG_TCP_CONG_HTCP is not set
-# CONFIG_TCP_CONG_HSTCP is not set
-# CONFIG_TCP_CONG_HYBLA is not set
-# CONFIG_TCP_CONG_VEGAS is not set
-# CONFIG_TCP_CONG_NV is not set
-# CONFIG_TCP_CONG_SCALABLE is not set
-# CONFIG_TCP_CONG_LP is not set
-# CONFIG_TCP_CONG_VENO is not set
-# CONFIG_TCP_CONG_YEAH is not set
-# CONFIG_TCP_CONG_ILLINOIS is not set
-# CONFIG_TCP_CONG_DCTCP is not set
-# CONFIG_TCP_CONG_CDG is not set
-# CONFIG_TCP_CONG_BBR is not set
-CONFIG_DEFAULT_CUBIC=y
-# CONFIG_DEFAULT_RENO is not set
-CONFIG_DEFAULT_TCP_CONG="cubic"
-CONFIG_TCP_MD5SIG=y
-CONFIG_IPV6=y
-CONFIG_IPV6_ROUTER_PREF=y
-CONFIG_IPV6_ROUTE_INFO=y
-CONFIG_IPV6_OPTIMISTIC_DAD=y
-CONFIG_INET6_AH=m
-CONFIG_INET6_ESP=m
-# CONFIG_INET6_ESP_OFFLOAD is not set
-# CONFIG_INET6_ESPINTCP is not set
-CONFIG_INET6_IPCOMP=m
-CONFIG_IPV6_MIP6=m
-CONFIG_IPV6_ILA=m
-CONFIG_INET6_XFRM_TUNNEL=m
-CONFIG_INET6_TUNNEL=m
-CONFIG_IPV6_VTI=m
-CONFIG_IPV6_SIT=m
-CONFIG_IPV6_SIT_6RD=y
-CONFIG_IPV6_NDISC_NODETYPE=y
-CONFIG_IPV6_TUNNEL=m
-CONFIG_IPV6_GRE=m
-CONFIG_IPV6_FOU=m
-CONFIG_IPV6_FOU_TUNNEL=m
-CONFIG_IPV6_MULTIPLE_TABLES=y
-CONFIG_IPV6_SUBTREES=y
-CONFIG_IPV6_MROUTE=y
-CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
-CONFIG_IPV6_PIMSM_V2=y
-CONFIG_IPV6_SEG6_LWTUNNEL=y
-CONFIG_IPV6_SEG6_HMAC=y
-CONFIG_IPV6_SEG6_BPF=y
-# CONFIG_IPV6_RPL_LWTUNNEL is not set
-# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
-# CONFIG_NETLABEL is not set
-CONFIG_MPTCP=y
-CONFIG_INET_MPTCP_DIAG=m
-CONFIG_MPTCP_IPV6=y
-# CONFIG_NETWORK_SECMARK is not set
-CONFIG_NET_PTP_CLASSIFY=y
-CONFIG_NETWORK_PHY_TIMESTAMPING=y
-CONFIG_NETFILTER=y
-CONFIG_NETFILTER_ADVANCED=y
-CONFIG_BRIDGE_NETFILTER=m
-
-#
-# Core Netfilter Configuration
-#
-CONFIG_NETFILTER_INGRESS=y
-CONFIG_NETFILTER_EGRESS=y
-CONFIG_NETFILTER_SKIP_EGRESS=y
-CONFIG_NETFILTER_NETLINK=m
-CONFIG_NETFILTER_FAMILY_BRIDGE=y
-CONFIG_NETFILTER_FAMILY_ARP=y
-# CONFIG_NETFILTER_NETLINK_HOOK is not set
-CONFIG_NETFILTER_NETLINK_ACCT=m
-CONFIG_NETFILTER_NETLINK_QUEUE=m
-CONFIG_NETFILTER_NETLINK_LOG=m
-CONFIG_NETFILTER_NETLINK_OSF=m
-CONFIG_NF_CONNTRACK=m
-CONFIG_NF_LOG_SYSLOG=m
-CONFIG_NETFILTER_CONNCOUNT=m
-CONFIG_NF_CONNTRACK_MARK=y
-CONFIG_NF_CONNTRACK_ZONES=y
-CONFIG_NF_CONNTRACK_PROCFS=y
-CONFIG_NF_CONNTRACK_EVENTS=y
-CONFIG_NF_CONNTRACK_TIMEOUT=y
-CONFIG_NF_CONNTRACK_TIMESTAMP=y
-CONFIG_NF_CONNTRACK_LABELS=y
-CONFIG_NF_CT_PROTO_DCCP=y
-CONFIG_NF_CT_PROTO_GRE=y
-CONFIG_NF_CT_PROTO_SCTP=y
-CONFIG_NF_CT_PROTO_UDPLITE=y
-CONFIG_NF_CONNTRACK_AMANDA=m
-CONFIG_NF_CONNTRACK_FTP=m
-CONFIG_NF_CONNTRACK_H323=m
-CONFIG_NF_CONNTRACK_IRC=m
-CONFIG_NF_CONNTRACK_BROADCAST=m
-CONFIG_NF_CONNTRACK_NETBIOS_NS=m
-CONFIG_NF_CONNTRACK_SNMP=m
-CONFIG_NF_CONNTRACK_PPTP=m
-CONFIG_NF_CONNTRACK_SANE=m
-CONFIG_NF_CONNTRACK_SIP=m
-CONFIG_NF_CONNTRACK_TFTP=m
-CONFIG_NF_CT_NETLINK=m
-CONFIG_NF_CT_NETLINK_TIMEOUT=m
-CONFIG_NF_CT_NETLINK_HELPER=m
-CONFIG_NETFILTER_NETLINK_GLUE_CT=y
-CONFIG_NF_NAT=m
-CONFIG_NF_NAT_AMANDA=m
-CONFIG_NF_NAT_FTP=m
-CONFIG_NF_NAT_IRC=m
-CONFIG_NF_NAT_SIP=m
-CONFIG_NF_NAT_TFTP=m
-CONFIG_NF_NAT_REDIRECT=y
-CONFIG_NF_NAT_MASQUERADE=y
-CONFIG_NETFILTER_SYNPROXY=m
-CONFIG_NF_TABLES=m
-CONFIG_NF_TABLES_INET=y
-CONFIG_NF_TABLES_NETDEV=y
-CONFIG_NFT_NUMGEN=m
-CONFIG_NFT_CT=m
-CONFIG_NFT_FLOW_OFFLOAD=m
-CONFIG_NFT_COUNTER=m
-CONFIG_NFT_CONNLIMIT=m
-CONFIG_NFT_LOG=m
-CONFIG_NFT_LIMIT=m
-CONFIG_NFT_MASQ=m
-CONFIG_NFT_REDIR=m
-CONFIG_NFT_NAT=m
-CONFIG_NFT_TUNNEL=m
-CONFIG_NFT_OBJREF=m
-CONFIG_NFT_QUEUE=m
-CONFIG_NFT_QUOTA=m
-CONFIG_NFT_REJECT=m
-CONFIG_NFT_REJECT_INET=m
-CONFIG_NFT_COMPAT=m
-CONFIG_NFT_HASH=m
-CONFIG_NFT_FIB=m
-CONFIG_NFT_FIB_INET=m
-CONFIG_NFT_XFRM=m
-CONFIG_NFT_SOCKET=m
-CONFIG_NFT_OSF=m
-CONFIG_NFT_TPROXY=m
-# CONFIG_NFT_SYNPROXY is not set
-CONFIG_NF_DUP_NETDEV=m
-CONFIG_NFT_DUP_NETDEV=m
-CONFIG_NFT_FWD_NETDEV=m
-CONFIG_NFT_FIB_NETDEV=m
-CONFIG_NFT_REJECT_NETDEV=m
-CONFIG_NF_FLOW_TABLE_INET=m
-CONFIG_NF_FLOW_TABLE=m
-CONFIG_NETFILTER_XTABLES=m
-CONFIG_NETFILTER_XTABLES_COMPAT=y
-
-#
-# Xtables combined modules
-#
-CONFIG_NETFILTER_XT_MARK=m
-CONFIG_NETFILTER_XT_CONNMARK=m
-CONFIG_NETFILTER_XT_SET=m
-
-#
-# Xtables targets
-#
-CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
-CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
-CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
-CONFIG_NETFILTER_XT_TARGET_CT=m
-CONFIG_NETFILTER_XT_TARGET_DSCP=m
-CONFIG_NETFILTER_XT_TARGET_HL=m
-CONFIG_NETFILTER_XT_TARGET_HMARK=m
-CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
-CONFIG_NETFILTER_XT_TARGET_LED=m
-CONFIG_NETFILTER_XT_TARGET_LOG=m
-CONFIG_NETFILTER_XT_TARGET_MARK=m
-CONFIG_NETFILTER_XT_NAT=m
-CONFIG_NETFILTER_XT_TARGET_NETMAP=m
-CONFIG_NETFILTER_XT_TARGET_NFLOG=m
-CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
-# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set
-CONFIG_NETFILTER_XT_TARGET_RATEEST=m
-CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
-CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
-CONFIG_NETFILTER_XT_TARGET_TEE=m
-CONFIG_NETFILTER_XT_TARGET_TPROXY=m
-CONFIG_NETFILTER_XT_TARGET_TRACE=m
-CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
-CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
-
-#
-# Xtables matches
-#
-CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
-CONFIG_NETFILTER_XT_MATCH_BPF=m
-CONFIG_NETFILTER_XT_MATCH_CGROUP=m
-CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
-CONFIG_NETFILTER_XT_MATCH_COMMENT=m
-CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
-CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
-CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
-CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
-CONFIG_NETFILTER_XT_MATCH_CPU=m
-CONFIG_NETFILTER_XT_MATCH_DCCP=m
-CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
-CONFIG_NETFILTER_XT_MATCH_DSCP=m
-CONFIG_NETFILTER_XT_MATCH_ECN=m
-CONFIG_NETFILTER_XT_MATCH_ESP=m
-CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
-CONFIG_NETFILTER_XT_MATCH_HELPER=m
-CONFIG_NETFILTER_XT_MATCH_HL=m
-CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
-CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
-CONFIG_NETFILTER_XT_MATCH_L2TP=m
-CONFIG_NETFILTER_XT_MATCH_LENGTH=m
-CONFIG_NETFILTER_XT_MATCH_LIMIT=m
-CONFIG_NETFILTER_XT_MATCH_MAC=m
-CONFIG_NETFILTER_XT_MATCH_MARK=m
-CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
-CONFIG_NETFILTER_XT_MATCH_NFACCT=m
-CONFIG_NETFILTER_XT_MATCH_OSF=m
-CONFIG_NETFILTER_XT_MATCH_OWNER=m
-CONFIG_NETFILTER_XT_MATCH_POLICY=m
-CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
-CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
-CONFIG_NETFILTER_XT_MATCH_QUOTA=m
-CONFIG_NETFILTER_XT_MATCH_RATEEST=m
-CONFIG_NETFILTER_XT_MATCH_REALM=m
-CONFIG_NETFILTER_XT_MATCH_RECENT=m
-CONFIG_NETFILTER_XT_MATCH_SCTP=m
-CONFIG_NETFILTER_XT_MATCH_SOCKET=m
-CONFIG_NETFILTER_XT_MATCH_STATE=m
-CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
-CONFIG_NETFILTER_XT_MATCH_STRING=m
-CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
-CONFIG_NETFILTER_XT_MATCH_TIME=m
-CONFIG_NETFILTER_XT_MATCH_U32=m
-# end of Core Netfilter Configuration
-
-CONFIG_IP_SET=m
-CONFIG_IP_SET_MAX=256
-CONFIG_IP_SET_BITMAP_IP=m
-CONFIG_IP_SET_BITMAP_IPMAC=m
-CONFIG_IP_SET_BITMAP_PORT=m
-CONFIG_IP_SET_HASH_IP=m
-CONFIG_IP_SET_HASH_IPMARK=m
-CONFIG_IP_SET_HASH_IPPORT=m
-CONFIG_IP_SET_HASH_IPPORTIP=m
-CONFIG_IP_SET_HASH_IPPORTNET=m
-CONFIG_IP_SET_HASH_IPMAC=m
-CONFIG_IP_SET_HASH_MAC=m
-CONFIG_IP_SET_HASH_NETPORTNET=m
-CONFIG_IP_SET_HASH_NET=m
-CONFIG_IP_SET_HASH_NETNET=m
-CONFIG_IP_SET_HASH_NETPORT=m
-CONFIG_IP_SET_HASH_NETIFACE=m
-CONFIG_IP_SET_LIST_SET=m
-# CONFIG_IP_VS is not set
-
-#
-# IP: Netfilter Configuration
-#
-CONFIG_NF_DEFRAG_IPV4=m
-CONFIG_NF_SOCKET_IPV4=m
-CONFIG_NF_TPROXY_IPV4=m
-CONFIG_NF_TABLES_IPV4=y
-CONFIG_NFT_REJECT_IPV4=m
-CONFIG_NFT_DUP_IPV4=m
-CONFIG_NFT_FIB_IPV4=m
-CONFIG_NF_TABLES_ARP=y
-CONFIG_NF_FLOW_TABLE_IPV4=m
-CONFIG_NF_DUP_IPV4=m
-CONFIG_NF_LOG_ARP=m
-CONFIG_NF_LOG_IPV4=m
-CONFIG_NF_REJECT_IPV4=m
-CONFIG_NF_NAT_SNMP_BASIC=m
-CONFIG_NF_NAT_PPTP=m
-CONFIG_NF_NAT_H323=m
-CONFIG_IP_NF_IPTABLES=m
-CONFIG_IP_NF_MATCH_AH=m
-CONFIG_IP_NF_MATCH_ECN=m
-CONFIG_IP_NF_MATCH_RPFILTER=m
-CONFIG_IP_NF_MATCH_TTL=m
-CONFIG_IP_NF_FILTER=m
-CONFIG_IP_NF_TARGET_REJECT=m
-CONFIG_IP_NF_TARGET_SYNPROXY=m
-CONFIG_IP_NF_NAT=m
-CONFIG_IP_NF_TARGET_MASQUERADE=m
-CONFIG_IP_NF_TARGET_NETMAP=m
-CONFIG_IP_NF_TARGET_REDIRECT=m
-CONFIG_IP_NF_MANGLE=m
-CONFIG_IP_NF_TARGET_CLUSTERIP=m
-CONFIG_IP_NF_TARGET_ECN=m
-CONFIG_IP_NF_TARGET_TTL=m
-CONFIG_IP_NF_RAW=m
-# CONFIG_IP_NF_SECURITY is not set
-CONFIG_IP_NF_ARPTABLES=m
-CONFIG_IP_NF_ARPFILTER=m
-CONFIG_IP_NF_ARP_MANGLE=m
-# end of IP: Netfilter Configuration
-
-#
-# IPv6: Netfilter Configuration
-#
-CONFIG_NF_SOCKET_IPV6=m
-CONFIG_NF_TPROXY_IPV6=m
-CONFIG_NF_TABLES_IPV6=y
-CONFIG_NFT_REJECT_IPV6=m
-CONFIG_NFT_DUP_IPV6=m
-CONFIG_NFT_FIB_IPV6=m
-CONFIG_NF_FLOW_TABLE_IPV6=m
-CONFIG_NF_DUP_IPV6=m
-CONFIG_NF_REJECT_IPV6=m
-CONFIG_NF_LOG_IPV6=m
-CONFIG_IP6_NF_IPTABLES=m
-CONFIG_IP6_NF_MATCH_AH=m
-CONFIG_IP6_NF_MATCH_EUI64=m
-CONFIG_IP6_NF_MATCH_FRAG=m
-CONFIG_IP6_NF_MATCH_OPTS=m
-CONFIG_IP6_NF_MATCH_HL=m
-CONFIG_IP6_NF_MATCH_IPV6HEADER=m
-CONFIG_IP6_NF_MATCH_MH=m
-CONFIG_IP6_NF_MATCH_RPFILTER=m
-CONFIG_IP6_NF_MATCH_RT=m
-CONFIG_IP6_NF_MATCH_SRH=m
-CONFIG_IP6_NF_TARGET_HL=m
-CONFIG_IP6_NF_FILTER=m
-CONFIG_IP6_NF_TARGET_REJECT=m
-CONFIG_IP6_NF_TARGET_SYNPROXY=m
-CONFIG_IP6_NF_MANGLE=m
-CONFIG_IP6_NF_RAW=m
-# CONFIG_IP6_NF_SECURITY is not set
-CONFIG_IP6_NF_NAT=m
-CONFIG_IP6_NF_TARGET_MASQUERADE=m
-CONFIG_IP6_NF_TARGET_NPT=m
-# end of IPv6: Netfilter Configuration
-
-CONFIG_NF_DEFRAG_IPV6=m
-CONFIG_NF_TABLES_BRIDGE=m
-# CONFIG_NFT_BRIDGE_META is not set
-CONFIG_NFT_BRIDGE_REJECT=m
-# CONFIG_NF_CONNTRACK_BRIDGE is not set
-CONFIG_BRIDGE_NF_EBTABLES=m
-CONFIG_BRIDGE_EBT_BROUTE=m
-CONFIG_BRIDGE_EBT_T_FILTER=m
-CONFIG_BRIDGE_EBT_T_NAT=m
-CONFIG_BRIDGE_EBT_802_3=m
-CONFIG_BRIDGE_EBT_AMONG=m
-CONFIG_BRIDGE_EBT_ARP=m
-CONFIG_BRIDGE_EBT_IP=m
-CONFIG_BRIDGE_EBT_IP6=m
-CONFIG_BRIDGE_EBT_LIMIT=m
-CONFIG_BRIDGE_EBT_MARK=m
-CONFIG_BRIDGE_EBT_PKTTYPE=m
-CONFIG_BRIDGE_EBT_STP=m
-CONFIG_BRIDGE_EBT_VLAN=m
-CONFIG_BRIDGE_EBT_ARPREPLY=m
-CONFIG_BRIDGE_EBT_DNAT=m
-CONFIG_BRIDGE_EBT_MARK_T=m
-CONFIG_BRIDGE_EBT_REDIRECT=m
-CONFIG_BRIDGE_EBT_SNAT=m
-CONFIG_BRIDGE_EBT_LOG=m
-CONFIG_BRIDGE_EBT_NFLOG=m
-# CONFIG_BPFILTER is not set
-CONFIG_IP_DCCP=m
-CONFIG_INET_DCCP_DIAG=m
-
-#
-# DCCP CCIDs Configuration
-#
-# CONFIG_IP_DCCP_CCID2_DEBUG is not set
-CONFIG_IP_DCCP_CCID3=y
-# CONFIG_IP_DCCP_CCID3_DEBUG is not set
-CONFIG_IP_DCCP_TFRC_LIB=y
-# end of DCCP CCIDs Configuration
-
-CONFIG_IP_SCTP=m
-# CONFIG_SCTP_DBG_OBJCNT is not set
-# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
-CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
-# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
-CONFIG_SCTP_COOKIE_HMAC_MD5=y
-CONFIG_SCTP_COOKIE_HMAC_SHA1=y
-CONFIG_INET_SCTP_DIAG=m
-# CONFIG_RDS is not set
-# CONFIG_TIPC is not set
-# CONFIG_ATM is not set
-CONFIG_L2TP=m
-CONFIG_L2TP_V3=y
-CONFIG_L2TP_IP=m
-CONFIG_L2TP_ETH=m
-CONFIG_STP=m
-CONFIG_GARP=m
-CONFIG_MRP=m
-CONFIG_BRIDGE=m
-CONFIG_BRIDGE_IGMP_SNOOPING=y
-CONFIG_BRIDGE_VLAN_FILTERING=y
-# CONFIG_BRIDGE_MRP is not set
-# CONFIG_BRIDGE_CFM is not set
-# CONFIG_NET_DSA is not set
-CONFIG_VLAN_8021Q=m
-CONFIG_VLAN_8021Q_GVRP=y
-CONFIG_VLAN_8021Q_MVRP=y
-# CONFIG_DECNET is not set
-CONFIG_LLC=m
-# CONFIG_LLC2 is not set
-# CONFIG_ATALK is not set
-# CONFIG_X25 is not set
-# CONFIG_LAPB is not set
-# CONFIG_PHONET is not set
-# CONFIG_6LOWPAN is not set
-# CONFIG_IEEE802154 is not set
-CONFIG_NET_SCHED=y
-
-#
-# Queueing/Scheduling
-#
-# CONFIG_NET_SCH_CBQ is not set
-CONFIG_NET_SCH_HTB=m
-CONFIG_NET_SCH_HFSC=m
-CONFIG_NET_SCH_PRIO=m
-CONFIG_NET_SCH_MULTIQ=m
-# CONFIG_NET_SCH_RED is not set
-CONFIG_NET_SCH_SFB=m
-CONFIG_NET_SCH_SFQ=m
-CONFIG_NET_SCH_TEQL=m
-CONFIG_NET_SCH_TBF=m
-# CONFIG_NET_SCH_CBS is not set
-# CONFIG_NET_SCH_ETF is not set
-# CONFIG_NET_SCH_TAPRIO is not set
-# CONFIG_NET_SCH_GRED is not set
-CONFIG_NET_SCH_DSMARK=m
-CONFIG_NET_SCH_NETEM=m
-# CONFIG_NET_SCH_DRR is not set
-CONFIG_NET_SCH_MQPRIO=m
-# CONFIG_NET_SCH_SKBPRIO is not set
-CONFIG_NET_SCH_CHOKE=m
-CONFIG_NET_SCH_QFQ=m
-CONFIG_NET_SCH_CODEL=m
-CONFIG_NET_SCH_FQ_CODEL=m
-# CONFIG_NET_SCH_CAKE is not set
-CONFIG_NET_SCH_FQ=m
-CONFIG_NET_SCH_HHF=m
-CONFIG_NET_SCH_PIE=m
-CONFIG_NET_SCH_FQ_PIE=m
-CONFIG_NET_SCH_INGRESS=m
-CONFIG_NET_SCH_PLUG=m
-CONFIG_NET_SCH_ETS=m
-# CONFIG_NET_SCH_DEFAULT is not set
-
-#
-# Classification
-#
-CONFIG_NET_CLS=y
-CONFIG_NET_CLS_BASIC=m
-CONFIG_NET_CLS_TCINDEX=m
-CONFIG_NET_CLS_ROUTE4=m
-CONFIG_NET_CLS_FW=m
-CONFIG_NET_CLS_U32=m
-# CONFIG_CLS_U32_PERF is not set
-CONFIG_CLS_U32_MARK=y
-# CONFIG_NET_CLS_RSVP is not set
-# CONFIG_NET_CLS_RSVP6 is not set
-CONFIG_NET_CLS_FLOW=m
-# CONFIG_NET_CLS_CGROUP is not set
-# CONFIG_NET_CLS_BPF is not set
-CONFIG_NET_CLS_FLOWER=m
-# CONFIG_NET_CLS_MATCHALL is not set
-# CONFIG_NET_EMATCH is not set
-CONFIG_NET_CLS_ACT=y
-CONFIG_NET_ACT_POLICE=y
-CONFIG_NET_ACT_GACT=y
-# CONFIG_GACT_PROB is not set
-CONFIG_NET_ACT_MIRRED=m
-CONFIG_NET_ACT_SAMPLE=m
-CONFIG_NET_ACT_IPT=m
-CONFIG_NET_ACT_NAT=m
-# CONFIG_NET_ACT_PEDIT is not set
-# CONFIG_NET_ACT_SIMP is not set
-# CONFIG_NET_ACT_SKBEDIT is not set
-# CONFIG_NET_ACT_CSUM is not set
-# CONFIG_NET_ACT_MPLS is not set
-# CONFIG_NET_ACT_VLAN is not set
-# CONFIG_NET_ACT_BPF is not set
-CONFIG_NET_ACT_CONNMARK=m
-# CONFIG_NET_ACT_CTINFO is not set
-CONFIG_NET_ACT_SKBMOD=m
-CONFIG_NET_ACT_IFE=m
-CONFIG_NET_ACT_TUNNEL_KEY=m
-# CONFIG_NET_ACT_CT is not set
-# CONFIG_NET_ACT_GATE is not set
-CONFIG_NET_IFE_SKBMARK=m
-CONFIG_NET_IFE_SKBPRIO=m
-CONFIG_NET_IFE_SKBTCINDEX=m
-# CONFIG_NET_TC_SKB_EXT is not set
-CONFIG_NET_SCH_FIFO=y
-# CONFIG_DCB is not set
-CONFIG_DNS_RESOLVER=m
-CONFIG_BATMAN_ADV=m
-# CONFIG_BATMAN_ADV_BATMAN_V is not set
-CONFIG_BATMAN_ADV_BLA=y
-CONFIG_BATMAN_ADV_DAT=y
-CONFIG_BATMAN_ADV_NC=y
-CONFIG_BATMAN_ADV_MCAST=y
-# CONFIG_BATMAN_ADV_DEBUG is not set
-CONFIG_OPENVSWITCH=m
-CONFIG_OPENVSWITCH_GRE=m
-CONFIG_VSOCKETS=m
-CONFIG_VSOCKETS_DIAG=m
-CONFIG_VSOCKETS_LOOPBACK=m
-CONFIG_VIRTIO_VSOCKETS=m
-CONFIG_VIRTIO_VSOCKETS_COMMON=m
-CONFIG_NETLINK_DIAG=m
-CONFIG_MPLS=y
-CONFIG_NET_MPLS_GSO=m
-CONFIG_MPLS_ROUTING=m
-# CONFIG_MPLS_IPTUNNEL is not set
-CONFIG_NET_NSH=m
-CONFIG_HSR=m
-# CONFIG_NET_SWITCHDEV is not set
-CONFIG_NET_L3_MASTER_DEV=y
-# CONFIG_QRTR is not set
-# CONFIG_NET_NCSI is not set
-CONFIG_PCPU_DEV_REFCNT=y
-CONFIG_RPS=y
-CONFIG_RFS_ACCEL=y
-CONFIG_SOCK_RX_QUEUE_MAPPING=y
-CONFIG_XPS=y
-CONFIG_CGROUP_NET_PRIO=y
-CONFIG_CGROUP_NET_CLASSID=y
-CONFIG_NET_RX_BUSY_POLL=y
-CONFIG_BQL=y
-CONFIG_NET_FLOW_LIMIT=y
-
-#
-# Network testing
-#
-# CONFIG_NET_PKTGEN is not set
-# end of Network testing
-# end of Networking options
-
-CONFIG_HAMRADIO=y
-
-#
-# Packet Radio protocols
-#
-CONFIG_AX25=m
-CONFIG_AX25_DAMA_SLAVE=y
-CONFIG_NETROM=m
-CONFIG_ROSE=m
-
-#
-# AX.25 network device drivers
-#
-CONFIG_MKISS=m
-CONFIG_6PACK=m
-CONFIG_BPQETHER=m
-CONFIG_BAYCOM_SER_FDX=m
-CONFIG_BAYCOM_SER_HDX=m
-CONFIG_YAM=m
-# end of AX.25 network device drivers
-
-CONFIG_CAN=m
-CONFIG_CAN_RAW=m
-CONFIG_CAN_BCM=m
-CONFIG_CAN_GW=m
-# CONFIG_CAN_J1939 is not set
-# CONFIG_CAN_ISOTP is not set
-
-#
-# CAN Device Drivers
-#
-# CONFIG_CAN_VCAN is not set
-# CONFIG_CAN_VXCAN is not set
-CONFIG_CAN_SLCAN=m
-CONFIG_CAN_DEV=m
-CONFIG_CAN_CALC_BITTIMING=y
-# CONFIG_CAN_FLEXCAN is not set
-# CONFIG_CAN_GRCAN is not set
-# CONFIG_CAN_KVASER_PCIEFD is not set
-# CONFIG_CAN_XILINXCAN is not set
-# CONFIG_CAN_C_CAN is not set
-# CONFIG_CAN_CC770 is not set
-# CONFIG_CAN_IFI_CANFD is not set
-# CONFIG_CAN_M_CAN is not set
-# CONFIG_CAN_PEAK_PCIEFD is not set
-# CONFIG_CAN_SJA1000 is not set
-# CONFIG_CAN_SOFTING is not set
-
-#
-# CAN SPI interfaces
-#
-# CONFIG_CAN_HI311X is not set
-# CONFIG_CAN_MCP251X is not set
-# CONFIG_CAN_MCP251XFD is not set
-# end of CAN SPI interfaces
-
-#
-# CAN USB interfaces
-#
-# CONFIG_CAN_8DEV_USB is not set
-# CONFIG_CAN_EMS_USB is not set
-# CONFIG_CAN_ESD_USB2 is not set
-# CONFIG_CAN_ETAS_ES58X is not set
-# CONFIG_CAN_GS_USB is not set
-# CONFIG_CAN_KVASER_USB is not set
-# CONFIG_CAN_MCBA_USB is not set
-# CONFIG_CAN_PEAK_USB is not set
-# CONFIG_CAN_UCAN is not set
-# end of CAN USB interfaces
-
-# CONFIG_CAN_DEBUG_DEVICES is not set
-# end of CAN Device Drivers
-
-CONFIG_BT=m
-CONFIG_BT_BREDR=y
-CONFIG_BT_RFCOMM=m
-# CONFIG_BT_RFCOMM_TTY is not set
-# CONFIG_BT_BNEP is not set
-CONFIG_BT_HIDP=m
-CONFIG_BT_HS=y
-CONFIG_BT_LE=y
-# CONFIG_BT_LEDS is not set
-# CONFIG_BT_MSFTEXT is not set
-# CONFIG_BT_AOSPEXT is not set
-# CONFIG_BT_FEATURE_DEBUG is not set
-
-#
-# Bluetooth device drivers
-#
-# CONFIG_BT_HCIBTUSB is not set
-# CONFIG_BT_HCIBTSDIO is not set
-# CONFIG_BT_HCIUART is not set
-# CONFIG_BT_HCIBCM203X is not set
-# CONFIG_BT_HCIBPA10X is not set
-# CONFIG_BT_HCIBFUSB is not set
-# CONFIG_BT_HCIVHCI is not set
-CONFIG_BT_MRVL=m
-CONFIG_BT_MRVL_SDIO=m
-# CONFIG_BT_MTKSDIO is not set
-# CONFIG_BT_MTKUART is not set
-# CONFIG_BT_VIRTIO is not set
-# end of Bluetooth device drivers
-
-# CONFIG_AF_RXRPC is not set
-# CONFIG_AF_KCM is not set
-CONFIG_STREAM_PARSER=y
-# CONFIG_MCTP is not set
-CONFIG_FIB_RULES=y
-CONFIG_WIRELESS=y
-CONFIG_WIRELESS_EXT=y
-CONFIG_WEXT_CORE=y
-CONFIG_WEXT_PROC=y
-CONFIG_WEXT_PRIV=y
-CONFIG_CFG80211=m
-# CONFIG_NL80211_TESTMODE is not set
-# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
-CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
-CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
-CONFIG_CFG80211_DEFAULT_PS=y
-CONFIG_CFG80211_CRDA_SUPPORT=y
-CONFIG_CFG80211_WEXT=y
-CONFIG_LIB80211=m
-CONFIG_LIB80211_CRYPT_WEP=m
-CONFIG_LIB80211_CRYPT_CCMP=m
-# CONFIG_LIB80211_DEBUG is not set
-CONFIG_MAC80211=m
-CONFIG_MAC80211_HAS_RC=y
-CONFIG_MAC80211_RC_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
-CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
-CONFIG_MAC80211_MESH=y
-CONFIG_MAC80211_LEDS=y
-# CONFIG_MAC80211_MESSAGE_TRACING is not set
-# CONFIG_MAC80211_DEBUG_MENU is not set
-CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
-CONFIG_RFKILL=m
-CONFIG_RFKILL_LEDS=y
-CONFIG_RFKILL_INPUT=y
-CONFIG_RFKILL_GPIO=m
-# CONFIG_NET_9P is not set
-# CONFIG_CAIF is not set
-# CONFIG_CEPH_LIB is not set
-# CONFIG_NFC is not set
-CONFIG_PSAMPLE=m
-CONFIG_NET_IFE=m
-CONFIG_LWTUNNEL=y
-# CONFIG_LWTUNNEL_BPF is not set
-CONFIG_DST_CACHE=y
-CONFIG_GRO_CELLS=y
-CONFIG_NET_SELFTESTS=y
-CONFIG_NET_SOCK_MSG=y
-CONFIG_FAILOVER=m
-CONFIG_ETHTOOL_NETLINK=y
-
-#
-# Device Drivers
-#
-CONFIG_ARM_AMBA=y
-CONFIG_HAVE_PCI=y
-CONFIG_PCI=y
-CONFIG_PCI_DOMAINS=y
-CONFIG_PCI_DOMAINS_GENERIC=y
-CONFIG_PCI_SYSCALL=y
-CONFIG_PCIEPORTBUS=y
-CONFIG_HOTPLUG_PCI_PCIE=y
-CONFIG_PCIEAER=y
-CONFIG_PCIEAER_INJECT=m
-CONFIG_PCIE_ECRC=y
-CONFIG_PCIEASPM=y
-CONFIG_PCIEASPM_DEFAULT=y
-# CONFIG_PCIEASPM_POWERSAVE is not set
-# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
-# CONFIG_PCIEASPM_PERFORMANCE is not set
-CONFIG_PCIE_PME=y
-# CONFIG_PCIE_DPC is not set
-# CONFIG_PCIE_PTM is not set
-CONFIG_PCI_MSI=y
-CONFIG_PCI_MSI_IRQ_DOMAIN=y
-CONFIG_PCI_QUIRKS=y
-# CONFIG_PCI_REALLOC_ENABLE_AUTO is not set
-CONFIG_PCI_STUB=y
-# CONFIG_PCI_PF_STUB is not set
-CONFIG_PCI_ATS=y
-CONFIG_PCI_ECAM=y
-CONFIG_PCI_IOV=y
-CONFIG_PCI_PRI=y
-CONFIG_PCI_PASID=y
-CONFIG_PCI_LABEL=y
-CONFIG_HOTPLUG_PCI=y
-CONFIG_HOTPLUG_PCI_ACPI=y
-# CONFIG_HOTPLUG_PCI_ACPI_IBM is not set
-# CONFIG_HOTPLUG_PCI_CPCI is not set
-# CONFIG_HOTPLUG_PCI_SHPC is not set
-
-#
-# PCI controller drivers
-#
-# CONFIG_PCI_FTPCI100 is not set
-CONFIG_PCI_HOST_COMMON=y
-CONFIG_PCI_HOST_GENERIC=m
-# CONFIG_PCIE_XILINX is not set
-# CONFIG_PCI_XGENE is not set
-# CONFIG_PCIE_ALTERA is not set
-# CONFIG_PCI_HOST_THUNDER_PEM is not set
-# CONFIG_PCI_HOST_THUNDER_ECAM is not set
-CONFIG_PCIE_ROCKCHIP=y
-CONFIG_PCIE_ROCKCHIP_HOST=y
-# CONFIG_PCIE_MICROCHIP_HOST is not set
-
-#
-# DesignWare PCI Core Support
-#
-CONFIG_PCIE_DW=y
-CONFIG_PCIE_DW_HOST=y
-CONFIG_PCIE_DW_PLAT=y
-CONFIG_PCIE_DW_PLAT_HOST=y
-CONFIG_PCI_HISI=y
-CONFIG_PCIE_ROCKCHIP_DW_HOST=y
-# CONFIG_PCIE_KIRIN is not set
-# CONFIG_PCI_MESON is not set
-# CONFIG_PCIE_AL is not set
-# end of DesignWare PCI Core Support
-
-#
-# Mobiveil PCIe Core Support
-#
-# end of Mobiveil PCIe Core Support
-
-#
-# Cadence PCIe controllers support
-#
-# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
-# CONFIG_PCI_J721E_HOST is not set
-# end of Cadence PCIe controllers support
-# end of PCI controller drivers
-
-#
-# PCI Endpoint
-#
-# CONFIG_PCI_ENDPOINT is not set
-# end of PCI Endpoint
-
-#
-# PCI switch controller drivers
-#
-# CONFIG_PCI_SW_SWITCHTEC is not set
-# end of PCI switch controller drivers
-
-# CONFIG_CXL_BUS is not set
-# CONFIG_PCCARD is not set
-# CONFIG_RAPIDIO is not set
-
-#
-# Generic Driver Options
-#
-CONFIG_UEVENT_HELPER=y
-CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
-CONFIG_DEVTMPFS=y
-CONFIG_DEVTMPFS_MOUNT=y
-CONFIG_STANDALONE=y
-CONFIG_PREVENT_FIRMWARE_BUILD=y
-
-#
-# Firmware loader
-#
-CONFIG_FW_LOADER=y
-CONFIG_EXTRA_FIRMWARE=""
-# CONFIG_FW_LOADER_USER_HELPER is not set
-# CONFIG_FW_LOADER_COMPRESS is not set
-CONFIG_FW_CACHE=y
-# end of Firmware loader
-
-CONFIG_WANT_DEV_COREDUMP=y
-CONFIG_ALLOW_DEV_COREDUMP=y
-CONFIG_DEV_COREDUMP=y
-# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
-CONFIG_GENERIC_CPU_AUTOPROBE=y
-CONFIG_GENERIC_CPU_VULNERABILITIES=y
-CONFIG_SOC_BUS=y
-CONFIG_REGMAP=y
-CONFIG_REGMAP_I2C=y
-CONFIG_REGMAP_SPI=m
-CONFIG_REGMAP_SPMI=m
-CONFIG_REGMAP_MMIO=y
-CONFIG_REGMAP_IRQ=y
-CONFIG_DMA_SHARED_BUFFER=y
-# CONFIG_DMA_FENCE_TRACE is not set
-CONFIG_GENERIC_ARCH_TOPOLOGY=y
-# end of Generic Driver Options
-
-#
-# Bus devices
-#
-# CONFIG_BRCMSTB_GISB_ARB is not set
-# CONFIG_MOXTET is not set
-# CONFIG_VEXPRESS_CONFIG is not set
-# CONFIG_MHI_BUS is not set
-# end of Bus devices
-
-CONFIG_CONNECTOR=m
-
-#
-# Firmware Drivers
-#
-
-#
-# ARM System Control and Management Interface Protocol
-#
-# CONFIG_ARM_SCMI_PROTOCOL is not set
-# end of ARM System Control and Management Interface Protocol
-
-CONFIG_ARM_SCPI_PROTOCOL=m
-CONFIG_ARM_SCPI_POWER_DOMAIN=m
-# CONFIG_ARM_SDE_INTERFACE is not set
-CONFIG_DMIID=y
-CONFIG_DMI_SYSFS=m
-# CONFIG_ISCSI_IBFT is not set
-CONFIG_FW_CFG_SYSFS=m
-# CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-CONFIG_SYSFB=y
-# CONFIG_SYSFB_SIMPLEFB is not set
-# CONFIG_ARM_FFA_TRANSPORT is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
-
-#
-# EFI (Extensible Firmware Interface) Support
-#
-CONFIG_EFI_ESRT=y
-CONFIG_EFI_VARS_PSTORE=m
-# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
-CONFIG_EFI_PARAMS_FROM_FDT=y
-CONFIG_EFI_RUNTIME_WRAPPERS=y
-CONFIG_EFI_GENERIC_STUB=y
-# CONFIG_EFI_ARMSTUB_DTB_LOADER is not set
-CONFIG_EFI_GENERIC_STUB_INITRD_CMDLINE_LOADER=y
-CONFIG_EFI_BOOTLOADER_CONTROL=y
-# CONFIG_EFI_CAPSULE_LOADER is not set
-# CONFIG_EFI_TEST is not set
-# CONFIG_RESET_ATTACK_MITIGATION is not set
-# CONFIG_EFI_DISABLE_PCI_DMA is not set
-# end of EFI (Extensible Firmware Interface) Support
-
-CONFIG_EFI_EARLYCON=y
-# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
-CONFIG_ARM_PSCI_FW=y
-# CONFIG_ARM_PSCI_CHECKER is not set
-CONFIG_HAVE_ARM_SMCCC=y
-CONFIG_HAVE_ARM_SMCCC_DISCOVERY=y
-CONFIG_ARM_SMCCC_SOC_ID=y
-
-#
-# Tegra firmware driver
-#
-# end of Tegra firmware driver
-# end of Firmware Drivers
-
-# CONFIG_GNSS is not set
-# CONFIG_MTD is not set
-CONFIG_DTC=y
-CONFIG_OF=y
-# CONFIG_OF_UNITTEST is not set
-CONFIG_OF_FLATTREE=y
-CONFIG_OF_EARLY_FLATTREE=y
-CONFIG_OF_KOBJ=y
-CONFIG_OF_DYNAMIC=y
-CONFIG_OF_ADDRESS=y
-CONFIG_OF_IRQ=y
-CONFIG_OF_RESERVED_MEM=y
-CONFIG_OF_RESOLVE=y
-CONFIG_OF_OVERLAY=y
-# CONFIG_PARPORT is not set
-CONFIG_PNP=y
-# CONFIG_PNP_DEBUG_MESSAGES is not set
-
-#
-# Protocols
-#
-CONFIG_PNPACPI=y
-CONFIG_BLK_DEV=y
-# CONFIG_BLK_DEV_NULL_BLK is not set
-CONFIG_CDROM=m
-# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
-CONFIG_ZRAM=m
-# CONFIG_ZRAM_DEF_COMP_LZORLE is not set
-CONFIG_ZRAM_DEF_COMP_ZSTD=y
-# CONFIG_ZRAM_DEF_COMP_LZO is not set
-CONFIG_ZRAM_DEF_COMP="zstd"
-# CONFIG_ZRAM_WRITEBACK is not set
-CONFIG_BLK_DEV_LOOP=m
-CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
-# CONFIG_BLK_DEV_DRBD is not set
-# CONFIG_BLK_DEV_NBD is not set
-# CONFIG_BLK_DEV_SX8 is not set
-# CONFIG_BLK_DEV_RAM is not set
-# CONFIG_CDROM_PKTCDVD is not set
-# CONFIG_ATA_OVER_ETH is not set
-CONFIG_VIRTIO_BLK=m
-# CONFIG_BLK_DEV_RBD is not set
-# CONFIG_BLK_DEV_RSXX is not set
-
-#
-# NVME Support
-#
-# CONFIG_BLK_DEV_NVME is not set
-# CONFIG_NVME_FC is not set
-# CONFIG_NVME_TCP is not set
-# CONFIG_NVME_TARGET is not set
-# end of NVME Support
-
-#
-# Misc devices
-#
-# CONFIG_AD525X_DPOT is not set
-# CONFIG_DUMMY_IRQ is not set
-# CONFIG_PHANTOM is not set
-CONFIG_TIFM_CORE=y
-CONFIG_TIFM_7XX1=m
-# CONFIG_ICS932S401 is not set
-# CONFIG_ENCLOSURE_SERVICES is not set
-# CONFIG_HI6421V600_IRQ is not set
-# CONFIG_HP_ILO is not set
-# CONFIG_APDS9802ALS is not set
-# CONFIG_ISL29003 is not set
-# CONFIG_ISL29020 is not set
-# CONFIG_SENSORS_TSL2550 is not set
-# CONFIG_SENSORS_BH1770 is not set
-# CONFIG_SENSORS_APDS990X is not set
-# CONFIG_HMC6352 is not set
-# CONFIG_DS1682 is not set
-# CONFIG_LATTICE_ECP3_CONFIG is not set
-# CONFIG_SRAM is not set
-# CONFIG_DW_XDATA_PCIE is not set
-# CONFIG_PCI_ENDPOINT_TEST is not set
-# CONFIG_XILINX_SDFEC is not set
-# CONFIG_HISI_HIKEY_USB is not set
-# CONFIG_C2PORT is not set
-
-#
-# EEPROM support
-#
-# CONFIG_EEPROM_AT24 is not set
-# CONFIG_EEPROM_AT25 is not set
-# CONFIG_EEPROM_LEGACY is not set
-# CONFIG_EEPROM_MAX6875 is not set
-# CONFIG_EEPROM_93CX6 is not set
-# CONFIG_EEPROM_93XX46 is not set
-# CONFIG_EEPROM_IDT_89HPESX is not set
-# CONFIG_EEPROM_EE1004 is not set
-# end of EEPROM support
-
-CONFIG_CB710_CORE=m
-# CONFIG_CB710_DEBUG is not set
-CONFIG_CB710_DEBUG_ASSUMPTIONS=y
-
-#
-# Texas Instruments shared transport line discipline
-#
-# CONFIG_TI_ST is not set
-# end of Texas Instruments shared transport line discipline
-
-# CONFIG_SENSORS_LIS3_I2C is not set
-# CONFIG_ALTERA_STAPL is not set
-# CONFIG_GENWQE is not set
-# CONFIG_ECHO is not set
-# CONFIG_BCM_VK is not set
-# CONFIG_MISC_ALCOR_PCI is not set
-# CONFIG_MISC_RTSX_PCI is not set
-# CONFIG_MISC_RTSX_USB is not set
-# CONFIG_HABANA_AI is not set
-# CONFIG_UACCE is not set
-# CONFIG_PVPANIC is not set
-# end of Misc devices
-
-#
-# SCSI device support
-#
-CONFIG_SCSI_MOD=y
-# CONFIG_RAID_ATTRS is not set
-CONFIG_SCSI_COMMON=y
-CONFIG_SCSI=y
-CONFIG_SCSI_DMA=y
-CONFIG_SCSI_PROC_FS=y
-
-#
-# SCSI support type (disk, tape, CD-ROM)
-#
-CONFIG_BLK_DEV_SD=y
-# CONFIG_CHR_DEV_ST is not set
-CONFIG_BLK_DEV_SR=m
-# CONFIG_CHR_DEV_SG is not set
-CONFIG_BLK_DEV_BSG=y
-# CONFIG_CHR_DEV_SCH is not set
-# CONFIG_SCSI_CONSTANTS is not set
-# CONFIG_SCSI_LOGGING is not set
-CONFIG_SCSI_SCAN_ASYNC=y
-
-#
-# SCSI Transports
-#
-# CONFIG_SCSI_SPI_ATTRS is not set
-# CONFIG_SCSI_FC_ATTRS is not set
-# CONFIG_SCSI_ISCSI_ATTRS is not set
-# CONFIG_SCSI_SAS_ATTRS is not set
-# CONFIG_SCSI_SAS_LIBSAS is not set
-# CONFIG_SCSI_SRP_ATTRS is not set
-# end of SCSI Transports
-
-CONFIG_SCSI_LOWLEVEL=y
-# CONFIG_ISCSI_TCP is not set
-# CONFIG_ISCSI_BOOT_SYSFS is not set
-# CONFIG_SCSI_CXGB3_ISCSI is not set
-# CONFIG_SCSI_BNX2_ISCSI is not set
-# CONFIG_BE2ISCSI is not set
-# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
-# CONFIG_SCSI_HPSA is not set
-# CONFIG_SCSI_3W_9XXX is not set
-# CONFIG_SCSI_3W_SAS is not set
-# CONFIG_SCSI_ACARD is not set
-# CONFIG_SCSI_AACRAID is not set
-# CONFIG_SCSI_AIC7XXX is not set
-# CONFIG_SCSI_AIC79XX is not set
-# CONFIG_SCSI_AIC94XX is not set
-# CONFIG_SCSI_MVSAS is not set
-# CONFIG_SCSI_MVUMI is not set
-# CONFIG_SCSI_ADVANSYS is not set
-# CONFIG_SCSI_ARCMSR is not set
-# CONFIG_SCSI_ESAS2R is not set
-# CONFIG_MEGARAID_NEWGEN is not set
-# CONFIG_MEGARAID_LEGACY is not set
-# CONFIG_MEGARAID_SAS is not set
-# CONFIG_SCSI_MPT3SAS is not set
-# CONFIG_SCSI_MPT2SAS is not set
-# CONFIG_SCSI_MPI3MR is not set
-# CONFIG_SCSI_SMARTPQI is not set
-# CONFIG_SCSI_UFSHCD is not set
-# CONFIG_SCSI_HPTIOP is not set
-# CONFIG_SCSI_MYRB is not set
-# CONFIG_SCSI_MYRS is not set
-# CONFIG_SCSI_SNIC is not set
-# CONFIG_SCSI_DMX3191D is not set
-# CONFIG_SCSI_FDOMAIN_PCI is not set
-# CONFIG_SCSI_IPS is not set
-# CONFIG_SCSI_INITIO is not set
-# CONFIG_SCSI_INIA100 is not set
-# CONFIG_SCSI_STEX is not set
-# CONFIG_SCSI_SYM53C8XX_2 is not set
-# CONFIG_SCSI_QLOGIC_1280 is not set
-# CONFIG_SCSI_QLA_ISCSI is not set
-# CONFIG_SCSI_DC395x is not set
-# CONFIG_SCSI_AM53C974 is not set
-# CONFIG_SCSI_WD719X is not set
-# CONFIG_SCSI_DEBUG is not set
-# CONFIG_SCSI_PMCRAID is not set
-# CONFIG_SCSI_PM8001 is not set
-CONFIG_SCSI_VIRTIO=m
-# CONFIG_SCSI_DH is not set
-# end of SCSI device support
-
-CONFIG_HAVE_PATA_PLATFORM=y
-# CONFIG_ATA is not set
-CONFIG_MD=y
-# CONFIG_BLK_DEV_MD is not set
-# CONFIG_BCACHE is not set
-CONFIG_BLK_DEV_DM_BUILTIN=y
-CONFIG_BLK_DEV_DM=m
-# CONFIG_DM_DEBUG is not set
-# CONFIG_DM_UNSTRIPED is not set
-CONFIG_DM_CRYPT=m
-# CONFIG_DM_SNAPSHOT is not set
-# CONFIG_DM_THIN_PROVISIONING is not set
-# CONFIG_DM_CACHE is not set
-# CONFIG_DM_WRITECACHE is not set
-# CONFIG_DM_EBS is not set
-# CONFIG_DM_ERA is not set
-# CONFIG_DM_CLONE is not set
-# CONFIG_DM_MIRROR is not set
-# CONFIG_DM_RAID is not set
-# CONFIG_DM_ZERO is not set
-# CONFIG_DM_MULTIPATH is not set
-# CONFIG_DM_DELAY is not set
-# CONFIG_DM_DUST is not set
-# CONFIG_DM_UEVENT is not set
-# CONFIG_DM_FLAKEY is not set
-# CONFIG_DM_VERITY is not set
-# CONFIG_DM_SWITCH is not set
-# CONFIG_DM_LOG_WRITES is not set
-# CONFIG_DM_INTEGRITY is not set
-# CONFIG_DM_ZONED is not set
-# CONFIG_TARGET_CORE is not set
-# CONFIG_FUSION is not set
-
-#
-# IEEE 1394 (FireWire) support
-#
-# CONFIG_FIREWIRE is not set
-# CONFIG_FIREWIRE_NOSY is not set
-# end of IEEE 1394 (FireWire) support
-
-CONFIG_NETDEVICES=y
-CONFIG_MII=m
-CONFIG_NET_CORE=y
-CONFIG_BONDING=m
-CONFIG_DUMMY=m
-CONFIG_WIREGUARD=m
-# CONFIG_WIREGUARD_DEBUG is not set
-CONFIG_EQUALIZER=m
-# CONFIG_NET_FC is not set
-CONFIG_IFB=m
-# CONFIG_NET_TEAM is not set
-# CONFIG_MACVLAN is not set
-# CONFIG_IPVLAN is not set
-# CONFIG_VXLAN is not set
-# CONFIG_GENEVE is not set
-CONFIG_BAREUDP=m
-CONFIG_GTP=m
-# CONFIG_AMT is not set
-CONFIG_MACSEC=m
-# CONFIG_NETCONSOLE is not set
-CONFIG_TUN=m
-# CONFIG_TUN_VNET_CROSS_LE is not set
-CONFIG_VETH=m
-CONFIG_VIRTIO_NET=m
-CONFIG_NLMON=m
-CONFIG_NET_VRF=m
-# CONFIG_VSOCKMON is not set
-# CONFIG_ARCNET is not set
-# CONFIG_ETHERNET is not set
-# CONFIG_FDDI is not set
-# CONFIG_HIPPI is not set
-# CONFIG_NET_SB1000 is not set
-CONFIG_PHYLIB=y
-CONFIG_SWPHY=y
-CONFIG_LED_TRIGGER_PHY=y
-CONFIG_FIXED_PHY=y
-
-#
-# MII PHY device drivers
-#
-# CONFIG_AMD_PHY is not set
-# CONFIG_ADIN_PHY is not set
-# CONFIG_AQUANTIA_PHY is not set
-CONFIG_AX88796B_PHY=m
-# CONFIG_BROADCOM_PHY is not set
-# CONFIG_BCM54140_PHY is not set
-# CONFIG_BCM7XXX_PHY is not set
-# CONFIG_BCM84881_PHY is not set
-# CONFIG_BCM87XX_PHY is not set
-# CONFIG_CICADA_PHY is not set
-# CONFIG_CORTINA_PHY is not set
-# CONFIG_DAVICOM_PHY is not set
-# CONFIG_ICPLUS_PHY is not set
-# CONFIG_LXT_PHY is not set
-# CONFIG_INTEL_XWAY_PHY is not set
-# CONFIG_LSI_ET1011C_PHY is not set
-# CONFIG_MARVELL_PHY is not set
-# CONFIG_MARVELL_10G_PHY is not set
-# CONFIG_MARVELL_88X2222_PHY is not set
-# CONFIG_MAXLINEAR_GPHY is not set
-# CONFIG_MEDIATEK_GE_PHY is not set
-# CONFIG_MICREL_PHY is not set
-CONFIG_MICROCHIP_PHY=m
-# CONFIG_MICROCHIP_T1_PHY is not set
-# CONFIG_MICROSEMI_PHY is not set
-# CONFIG_MOTORCOMM_PHY is not set
-# CONFIG_NATIONAL_PHY is not set
-# CONFIG_NXP_C45_TJA11XX_PHY is not set
-# CONFIG_NXP_TJA11XX_PHY is not set
-CONFIG_AT803X_PHY=m
-CONFIG_QSEMI_PHY=m
-CONFIG_REALTEK_PHY=m
-# CONFIG_RENESAS_PHY is not set
-CONFIG_ROCKCHIP_PHY=y
-CONFIG_SMSC_PHY=m
-CONFIG_STE10XP=m
-# CONFIG_TERANETICS_PHY is not set
-# CONFIG_DP83822_PHY is not set
-# CONFIG_DP83TC811_PHY is not set
-# CONFIG_DP83848_PHY is not set
-# CONFIG_DP83867_PHY is not set
-# CONFIG_DP83869_PHY is not set
-# CONFIG_VITESSE_PHY is not set
-# CONFIG_XILINX_GMII2RGMII is not set
-# CONFIG_MICREL_KS8995MA is not set
-CONFIG_MDIO_DEVICE=y
-CONFIG_MDIO_BUS=y
-CONFIG_FWNODE_MDIO=y
-CONFIG_OF_MDIO=y
-CONFIG_ACPI_MDIO=y
-CONFIG_MDIO_DEVRES=y
-CONFIG_MDIO_BITBANG=m
-# CONFIG_MDIO_BCM_UNIMAC is not set
-# CONFIG_MDIO_GPIO is not set
-# CONFIG_MDIO_HISI_FEMAC is not set
-# CONFIG_MDIO_MVUSB is not set
-# CONFIG_MDIO_MSCC_MIIM is not set
-# CONFIG_MDIO_OCTEON is not set
-# CONFIG_MDIO_IPQ4019 is not set
-# CONFIG_MDIO_IPQ8064 is not set
-# CONFIG_MDIO_THUNDER is not set
-
-#
-# MDIO Multiplexers
-#
-CONFIG_MDIO_BUS_MUX=m
-CONFIG_MDIO_BUS_MUX_GPIO=m
-# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
-CONFIG_MDIO_BUS_MUX_MMIOREG=m
-
-#
-# PCS device drivers
-#
-# CONFIG_PCS_XPCS is not set
-# end of PCS device drivers
-
-CONFIG_PPP=m
-CONFIG_PPP_BSDCOMP=m
-CONFIG_PPP_DEFLATE=m
-CONFIG_PPP_FILTER=y
-CONFIG_PPP_MPPE=m
-CONFIG_PPP_MULTILINK=y
-CONFIG_PPPOE=m
-CONFIG_PPTP=m
-CONFIG_PPPOL2TP=m
-CONFIG_PPP_ASYNC=m
-CONFIG_PPP_SYNC_TTY=m
-CONFIG_SLIP=m
-CONFIG_SLHC=m
-CONFIG_SLIP_COMPRESSED=y
-CONFIG_SLIP_SMART=y
-CONFIG_SLIP_MODE_SLIP6=y
-CONFIG_USB_NET_DRIVERS=m
-CONFIG_USB_CATC=m
-CONFIG_USB_KAWETH=m
-CONFIG_USB_PEGASUS=m
-CONFIG_USB_RTL8150=m
-CONFIG_USB_RTL8152=m
-CONFIG_USB_LAN78XX=m
-CONFIG_USB_USBNET=m
-CONFIG_USB_NET_AX8817X=m
-CONFIG_USB_NET_AX88179_178A=m
-CONFIG_USB_NET_CDCETHER=m
-CONFIG_USB_NET_CDC_EEM=m
-CONFIG_USB_NET_CDC_NCM=m
-CONFIG_USB_NET_HUAWEI_CDC_NCM=m
-CONFIG_USB_NET_CDC_MBIM=m
-CONFIG_USB_NET_DM9601=m
-CONFIG_USB_NET_SR9700=m
-CONFIG_USB_NET_SR9800=m
-CONFIG_USB_NET_SMSC75XX=m
-CONFIG_USB_NET_SMSC95XX=m
-CONFIG_USB_NET_GL620A=m
-CONFIG_USB_NET_NET1080=m
-CONFIG_USB_NET_PLUSB=m
-CONFIG_USB_NET_MCS7830=m
-CONFIG_USB_NET_RNDIS_HOST=m
-CONFIG_USB_NET_CDC_SUBSET_ENABLE=m
-CONFIG_USB_NET_CDC_SUBSET=m
-CONFIG_USB_ALI_M5632=y
-CONFIG_USB_AN2720=y
-CONFIG_USB_BELKIN=y
-CONFIG_USB_ARMLINUX=y
-CONFIG_USB_EPSON2888=y
-CONFIG_USB_KC2190=y
-CONFIG_USB_NET_ZAURUS=m
-CONFIG_USB_NET_CX82310_ETH=m
-CONFIG_USB_NET_KALMIA=m
-CONFIG_USB_NET_QMI_WWAN=m
-CONFIG_USB_HSO=m
-CONFIG_USB_NET_INT51X1=m
-CONFIG_USB_IPHETH=m
-CONFIG_USB_SIERRA_NET=m
-CONFIG_USB_VL600=m
-CONFIG_USB_NET_CH9200=m
-CONFIG_USB_NET_AQC111=m
-# CONFIG_USB_RTL8153_ECM is not set
-CONFIG_WLAN=y
-# CONFIG_WLAN_VENDOR_ADMTEK is not set
-# CONFIG_WLAN_VENDOR_ATH is not set
-# CONFIG_WLAN_VENDOR_ATMEL is not set
-# CONFIG_WLAN_VENDOR_BROADCOM is not set
-# CONFIG_WLAN_VENDOR_CISCO is not set
-# CONFIG_WLAN_VENDOR_INTEL is not set
-# CONFIG_WLAN_VENDOR_INTERSIL is not set
-CONFIG_WLAN_VENDOR_MARVELL=y
-# CONFIG_LIBERTAS is not set
-# CONFIG_LIBERTAS_THINFIRM is not set
-CONFIG_MWIFIEX=m
-CONFIG_MWIFIEX_SDIO=m
-CONFIG_MWIFIEX_PCIE=m
-CONFIG_MWIFIEX_USB=m
-CONFIG_MWL8K=m
-# CONFIG_WLAN_VENDOR_MEDIATEK is not set
-# CONFIG_WLAN_VENDOR_MICROCHIP is not set
-# CONFIG_WLAN_VENDOR_RALINK is not set
-# CONFIG_WLAN_VENDOR_REALTEK is not set
-# CONFIG_WLAN_VENDOR_RSI is not set
-# CONFIG_WLAN_VENDOR_ST is not set
-# CONFIG_WLAN_VENDOR_TI is not set
-# CONFIG_WLAN_VENDOR_ZYDAS is not set
-# CONFIG_WLAN_VENDOR_QUANTENNA is not set
-CONFIG_MAC80211_HWSIM=m
-CONFIG_USB_NET_RNDIS_WLAN=m
-CONFIG_VIRT_WIFI=m
-# CONFIG_WAN is not set
-
-#
-# Wireless WAN
-#
-# CONFIG_WWAN is not set
-# end of Wireless WAN
-
-# CONFIG_VMXNET3 is not set
-# CONFIG_FUJITSU_ES is not set
-CONFIG_NET_FAILOVER=m
-# CONFIG_ISDN is not set
-
-#
-# Input device support
-#
-CONFIG_INPUT=y
-CONFIG_INPUT_LEDS=m
-CONFIG_INPUT_FF_MEMLESS=m
-CONFIG_INPUT_SPARSEKMAP=m
-CONFIG_INPUT_MATRIXKMAP=y
-
-#
-# Userland interfaces
-#
-# CONFIG_INPUT_MOUSEDEV is not set
-CONFIG_INPUT_JOYDEV=m
-CONFIG_INPUT_EVDEV=y
-# CONFIG_INPUT_EVBUG is not set
-
-#
-# Input Device Drivers
-#
-CONFIG_INPUT_KEYBOARD=y
-# CONFIG_KEYBOARD_ADC is not set
-# CONFIG_KEYBOARD_ADP5588 is not set
-# CONFIG_KEYBOARD_ADP5589 is not set
-# CONFIG_KEYBOARD_ATKBD is not set
-# CONFIG_KEYBOARD_QT1050 is not set
-# CONFIG_KEYBOARD_QT1070 is not set
-# CONFIG_KEYBOARD_QT2160 is not set
-# CONFIG_KEYBOARD_DLINK_DIR685 is not set
-# CONFIG_KEYBOARD_LKKBD is not set
-CONFIG_KEYBOARD_GPIO=m
-# CONFIG_KEYBOARD_GPIO_POLLED is not set
-# CONFIG_KEYBOARD_TCA6416 is not set
-# CONFIG_KEYBOARD_TCA8418 is not set
-# CONFIG_KEYBOARD_MATRIX is not set
-# CONFIG_KEYBOARD_LM8323 is not set
-# CONFIG_KEYBOARD_LM8333 is not set
-# CONFIG_KEYBOARD_MAX7359 is not set
-# CONFIG_KEYBOARD_MCS is not set
-# CONFIG_KEYBOARD_MPR121 is not set
-# CONFIG_KEYBOARD_NEWTON is not set
-# CONFIG_KEYBOARD_OPENCORES is not set
-# CONFIG_KEYBOARD_SAMSUNG is not set
-# CONFIG_KEYBOARD_STOWAWAY is not set
-# CONFIG_KEYBOARD_SUNKBD is not set
-# CONFIG_KEYBOARD_OMAP4 is not set
-# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
-# CONFIG_KEYBOARD_XTKBD is not set
-CONFIG_KEYBOARD_CROS_EC=y
-# CONFIG_KEYBOARD_CAP11XX is not set
-# CONFIG_KEYBOARD_BCM is not set
-# CONFIG_KEYBOARD_MTK_PMIC is not set
-# CONFIG_KEYBOARD_CYPRESS_SF is not set
-# CONFIG_INPUT_MOUSE is not set
-CONFIG_INPUT_JOYSTICK=y
-# CONFIG_JOYSTICK_ANALOG is not set
-# CONFIG_JOYSTICK_A3D is not set
-# CONFIG_JOYSTICK_ADC is not set
-# CONFIG_JOYSTICK_ADI is not set
-# CONFIG_JOYSTICK_COBRA is not set
-# CONFIG_JOYSTICK_GF2K is not set
-# CONFIG_JOYSTICK_GRIP is not set
-# CONFIG_JOYSTICK_GRIP_MP is not set
-# CONFIG_JOYSTICK_GUILLEMOT is not set
-# CONFIG_JOYSTICK_INTERACT is not set
-# CONFIG_JOYSTICK_SIDEWINDER is not set
-# CONFIG_JOYSTICK_TMDC is not set
-CONFIG_JOYSTICK_IFORCE=m
-CONFIG_JOYSTICK_IFORCE_USB=m
-# CONFIG_JOYSTICK_IFORCE_232 is not set
-# CONFIG_JOYSTICK_WARRIOR is not set
-# CONFIG_JOYSTICK_MAGELLAN is not set
-# CONFIG_JOYSTICK_SPACEORB is not set
-# CONFIG_JOYSTICK_SPACEBALL is not set
-# CONFIG_JOYSTICK_STINGER is not set
-# CONFIG_JOYSTICK_TWIDJOY is not set
-# CONFIG_JOYSTICK_ZHENHUA is not set
-# CONFIG_JOYSTICK_AS5011 is not set
-# CONFIG_JOYSTICK_JOYDUMP is not set
-CONFIG_JOYSTICK_XPAD=m
-CONFIG_JOYSTICK_XPAD_FF=y
-CONFIG_JOYSTICK_XPAD_LEDS=y
-# CONFIG_JOYSTICK_PSXPAD_SPI is not set
-# CONFIG_JOYSTICK_PXRC is not set
-# CONFIG_JOYSTICK_QWIIC is not set
-# CONFIG_JOYSTICK_FSIA6B is not set
-# CONFIG_INPUT_TABLET is not set
-CONFIG_INPUT_TOUCHSCREEN=y
-# CONFIG_TOUCHSCREEN_ADS7846 is not set
-# CONFIG_TOUCHSCREEN_AD7877 is not set
-# CONFIG_TOUCHSCREEN_AD7879 is not set
-# CONFIG_TOUCHSCREEN_ADC is not set
-# CONFIG_TOUCHSCREEN_AR1021_I2C is not set
-CONFIG_TOUCHSCREEN_ATMEL_MXT=m
-# CONFIG_TOUCHSCREEN_ATMEL_MXT_T37 is not set
-# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set
-# CONFIG_TOUCHSCREEN_BU21013 is not set
-# CONFIG_TOUCHSCREEN_BU21029 is not set
-# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set
-# CONFIG_TOUCHSCREEN_CHIPONE_ICN8505 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set
-# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set
-# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set
-# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set
-# CONFIG_TOUCHSCREEN_DYNAPRO is not set
-# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set
-# CONFIG_TOUCHSCREEN_EETI is not set
-# CONFIG_TOUCHSCREEN_EGALAX is not set
-# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set
-# CONFIG_TOUCHSCREEN_EXC3000 is not set
-# CONFIG_TOUCHSCREEN_FUJITSU is not set
-# CONFIG_TOUCHSCREEN_GOODIX is not set
-# CONFIG_TOUCHSCREEN_HIDEEP is not set
-# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set
-# CONFIG_TOUCHSCREEN_ILI210X is not set
-# CONFIG_TOUCHSCREEN_ILITEK is not set
-# CONFIG_TOUCHSCREEN_S6SY761 is not set
-# CONFIG_TOUCHSCREEN_GUNZE is not set
-# CONFIG_TOUCHSCREEN_EKTF2127 is not set
-# CONFIG_TOUCHSCREEN_ELAN is not set
-# CONFIG_TOUCHSCREEN_ELO is not set
-# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set
-# CONFIG_TOUCHSCREEN_WACOM_I2C is not set
-# CONFIG_TOUCHSCREEN_MAX11801 is not set
-# CONFIG_TOUCHSCREEN_MCS5000 is not set
-# CONFIG_TOUCHSCREEN_MMS114 is not set
-# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set
-# CONFIG_TOUCHSCREEN_MSG2638 is not set
-# CONFIG_TOUCHSCREEN_MTOUCH is not set
-# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set
-# CONFIG_TOUCHSCREEN_INEXIO is not set
-# CONFIG_TOUCHSCREEN_MK712 is not set
-# CONFIG_TOUCHSCREEN_PENMOUNT is not set
-# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set
-# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
-# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
-# CONFIG_TOUCHSCREEN_PIXCIR is not set
-# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set
-# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
-# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set
-# CONFIG_TOUCHSCREEN_TSC_SERIO is not set
-# CONFIG_TOUCHSCREEN_TSC2004 is not set
-# CONFIG_TOUCHSCREEN_TSC2005 is not set
-# CONFIG_TOUCHSCREEN_TSC2007 is not set
-# CONFIG_TOUCHSCREEN_RM_TS is not set
-# CONFIG_TOUCHSCREEN_SILEAD is not set
-# CONFIG_TOUCHSCREEN_SIS_I2C is not set
-# CONFIG_TOUCHSCREEN_ST1232 is not set
-# CONFIG_TOUCHSCREEN_STMFTS is not set
-# CONFIG_TOUCHSCREEN_SUR40 is not set
-# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set
-# CONFIG_TOUCHSCREEN_SX8654 is not set
-# CONFIG_TOUCHSCREEN_TPS6507X is not set
-# CONFIG_TOUCHSCREEN_ZET6223 is not set
-# CONFIG_TOUCHSCREEN_ZFORCE is not set
-# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set
-# CONFIG_TOUCHSCREEN_IQS5XX is not set
-# CONFIG_TOUCHSCREEN_ZINITIX is not set
-CONFIG_INPUT_MISC=y
-# CONFIG_INPUT_AD714X is not set
-# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
-# CONFIG_INPUT_BMA150 is not set
-# CONFIG_INPUT_E3X0_BUTTON is not set
-# CONFIG_INPUT_MMA8450 is not set
-# CONFIG_INPUT_GPIO_BEEPER is not set
-# CONFIG_INPUT_GPIO_DECODER is not set
-# CONFIG_INPUT_GPIO_VIBRA is not set
-# CONFIG_INPUT_ATI_REMOTE2 is not set
-# CONFIG_INPUT_KEYSPAN_REMOTE is not set
-# CONFIG_INPUT_KXTJ9 is not set
-# CONFIG_INPUT_POWERMATE is not set
-# CONFIG_INPUT_YEALINK is not set
-# CONFIG_INPUT_CM109 is not set
-# CONFIG_INPUT_REGULATOR_HAPTIC is not set
-CONFIG_INPUT_AXP20X_PEK=m
-CONFIG_INPUT_UINPUT=m
-# CONFIG_INPUT_PALMAS_PWRBUTTON is not set
-# CONFIG_INPUT_PCF8574 is not set
-CONFIG_INPUT_PWM_BEEPER=m
-# CONFIG_INPUT_PWM_VIBRA is not set
-CONFIG_INPUT_RK805_PWRKEY=m
-# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
-# CONFIG_INPUT_DA7280_HAPTICS is not set
-# CONFIG_INPUT_ADXL34X is not set
-# CONFIG_INPUT_IMS_PCU is not set
-# CONFIG_INPUT_IQS269A is not set
-# CONFIG_INPUT_IQS626A is not set
-CONFIG_INPUT_CMA3000=m
-CONFIG_INPUT_CMA3000_I2C=m
-# CONFIG_INPUT_SOC_BUTTON_ARRAY is not set
-# CONFIG_INPUT_DRV260X_HAPTICS is not set
-# CONFIG_INPUT_DRV2665_HAPTICS is not set
-# CONFIG_INPUT_DRV2667_HAPTICS is not set
-# CONFIG_RMI4_CORE is not set
-
-#
-# Hardware I/O ports
-#
-CONFIG_SERIO=y
-# CONFIG_SERIO_SERPORT is not set
-# CONFIG_SERIO_AMBAKMI is not set
-# CONFIG_SERIO_PCIPS2 is not set
-CONFIG_SERIO_LIBPS2=m
-CONFIG_SERIO_RAW=m
-# CONFIG_SERIO_ALTERA_PS2 is not set
-# CONFIG_SERIO_PS2MULT is not set
-# CONFIG_SERIO_ARC_PS2 is not set
-# CONFIG_SERIO_APBPS2 is not set
-# CONFIG_SERIO_GPIO_PS2 is not set
-# CONFIG_USERIO is not set
-# CONFIG_GAMEPORT is not set
-# end of Hardware I/O ports
-# end of Input device support
-
-#
-# Character devices
-#
-CONFIG_TTY=y
-CONFIG_VT=y
-CONFIG_CONSOLE_TRANSLATIONS=y
-CONFIG_VT_CONSOLE=y
-CONFIG_VT_CONSOLE_SLEEP=y
-CONFIG_HW_CONSOLE=y
-CONFIG_VT_HW_CONSOLE_BINDING=y
-CONFIG_UNIX98_PTYS=y
-# CONFIG_LEGACY_PTYS is not set
-CONFIG_LDISC_AUTOLOAD=y
-
-#
-# Serial drivers
-#
-CONFIG_SERIAL_EARLYCON=y
-CONFIG_SERIAL_8250=y
-# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
-CONFIG_SERIAL_8250_PNP=y
-# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
-# CONFIG_SERIAL_8250_FINTEK is not set
-CONFIG_SERIAL_8250_CONSOLE=y
-CONFIG_SERIAL_8250_DMA=y
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIAL_8250_EXAR=y
-CONFIG_SERIAL_8250_NR_UARTS=32
-CONFIG_SERIAL_8250_RUNTIME_UARTS=4
-CONFIG_SERIAL_8250_EXTENDED=y
-CONFIG_SERIAL_8250_MANY_PORTS=y
-# CONFIG_SERIAL_8250_ASPEED_VUART is not set
-CONFIG_SERIAL_8250_SHARE_IRQ=y
-# CONFIG_SERIAL_8250_DETECT_IRQ is not set
-CONFIG_SERIAL_8250_RSA=y
-CONFIG_SERIAL_8250_FSL=y
-# CONFIG_SERIAL_8250_DW is not set
-# CONFIG_SERIAL_8250_RT288X is not set
-CONFIG_SERIAL_OF_PLATFORM=y
-
-#
-# Non-8250 serial port support
-#
-# CONFIG_SERIAL_AMBA_PL010 is not set
-CONFIG_SERIAL_AMBA_PL011=y
-CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
-CONFIG_SERIAL_EARLYCON_ARM_SEMIHOST=y
-# CONFIG_SERIAL_MAX3100 is not set
-# CONFIG_SERIAL_MAX310X is not set
-# CONFIG_SERIAL_UARTLITE is not set
-CONFIG_SERIAL_CORE=y
-CONFIG_SERIAL_CORE_CONSOLE=y
-# CONFIG_SERIAL_JSM is not set
-# CONFIG_SERIAL_SIFIVE is not set
-# CONFIG_SERIAL_SCCNXP is not set
-# CONFIG_SERIAL_SC16IS7XX is not set
-# CONFIG_SERIAL_BCM63XX is not set
-# CONFIG_SERIAL_ALTERA_JTAGUART is not set
-# CONFIG_SERIAL_ALTERA_UART is not set
-# CONFIG_SERIAL_XILINX_PS_UART is not set
-# CONFIG_SERIAL_ARC is not set
-# CONFIG_SERIAL_RP2 is not set
-# CONFIG_SERIAL_FSL_LPUART is not set
-# CONFIG_SERIAL_FSL_LINFLEXUART is not set
-# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
-# CONFIG_SERIAL_SPRD is not set
-# end of Serial drivers
-
-CONFIG_SERIAL_MCTRL_GPIO=y
-CONFIG_SERIAL_NONSTANDARD=y
-# CONFIG_MOXA_INTELLIO is not set
-# CONFIG_MOXA_SMARTIO is not set
-# CONFIG_SYNCLINK_GT is not set
-CONFIG_N_HDLC=m
-CONFIG_N_GSM=m
-# CONFIG_NOZOMI is not set
-# CONFIG_NULL_TTY is not set
-CONFIG_HVC_DRIVER=y
-# CONFIG_HVC_DCC is not set
-CONFIG_SERIAL_DEV_BUS=y
-CONFIG_SERIAL_DEV_CTRL_TTYPORT=y
-CONFIG_VIRTIO_CONSOLE=m
-# CONFIG_IPMI_HANDLER is not set
-CONFIG_HW_RANDOM=m
-CONFIG_HW_RANDOM_TIMERIOMEM=m
-# CONFIG_HW_RANDOM_BA431 is not set
-CONFIG_HW_RANDOM_VIRTIO=m
-CONFIG_HW_RANDOM_CAVIUM=m
-# CONFIG_HW_RANDOM_CCTRNG is not set
-# CONFIG_HW_RANDOM_XIPHERA is not set
-CONFIG_HW_RANDOM_ARM_SMCCC_TRNG=m
-# CONFIG_APPLICOM is not set
-CONFIG_DEVMEM=y
-CONFIG_DEVPORT=y
-CONFIG_TCG_TPM=m
-CONFIG_HW_RANDOM_TPM=y
-# CONFIG_TCG_TIS is not set
-# CONFIG_TCG_TIS_SPI is not set
-# CONFIG_TCG_TIS_I2C_CR50 is not set
-# CONFIG_TCG_TIS_I2C_ATMEL is not set
-CONFIG_TCG_TIS_I2C_INFINEON=m
-# CONFIG_TCG_TIS_I2C_NUVOTON is not set
-CONFIG_TCG_ATMEL=m
-# CONFIG_TCG_INFINEON is not set
-# CONFIG_TCG_CRB is not set
-# CONFIG_TCG_VTPM_PROXY is not set
-# CONFIG_TCG_TIS_ST33ZP24_I2C is not set
-# CONFIG_TCG_TIS_ST33ZP24_SPI is not set
-# CONFIG_XILLYBUS is not set
-# CONFIG_XILLYUSB is not set
-# CONFIG_RANDOM_TRUST_CPU is not set
-# CONFIG_RANDOM_TRUST_BOOTLOADER is not set
-# end of Character devices
-
-#
-# I2C support
-#
-CONFIG_I2C=y
-CONFIG_ACPI_I2C_OPREGION=y
-CONFIG_I2C_BOARDINFO=y
-CONFIG_I2C_COMPAT=y
-CONFIG_I2C_CHARDEV=m
-CONFIG_I2C_MUX=y
-
-#
-# Multiplexer I2C Chip support
-#
-# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
-# CONFIG_I2C_MUX_GPIO is not set
-# CONFIG_I2C_MUX_GPMUX is not set
-# CONFIG_I2C_MUX_LTC4306 is not set
-# CONFIG_I2C_MUX_PCA9541 is not set
-# CONFIG_I2C_MUX_PCA954x is not set
-# CONFIG_I2C_MUX_PINCTRL is not set
-# CONFIG_I2C_MUX_REG is not set
-# CONFIG_I2C_DEMUX_PINCTRL is not set
-# CONFIG_I2C_MUX_MLXCPLD is not set
-# end of Multiplexer I2C Chip support
-
-CONFIG_I2C_HELPER_AUTO=y
-CONFIG_I2C_SMBUS=m
-CONFIG_I2C_ALGOBIT=y
-
-#
-# I2C Hardware Bus support
-#
-
-#
-# PC SMBus host controller drivers
-#
-# CONFIG_I2C_ALI1535 is not set
-# CONFIG_I2C_ALI1563 is not set
-# CONFIG_I2C_ALI15X3 is not set
-# CONFIG_I2C_AMD756 is not set
-# CONFIG_I2C_AMD8111 is not set
-# CONFIG_I2C_AMD_MP2 is not set
-# CONFIG_I2C_I801 is not set
-# CONFIG_I2C_ISCH is not set
-# CONFIG_I2C_PIIX4 is not set
-# CONFIG_I2C_NFORCE2 is not set
-# CONFIG_I2C_NVIDIA_GPU is not set
-# CONFIG_I2C_SIS5595 is not set
-# CONFIG_I2C_SIS630 is not set
-# CONFIG_I2C_SIS96X is not set
-# CONFIG_I2C_VIA is not set
-# CONFIG_I2C_VIAPRO is not set
-
-#
-# ACPI drivers
-#
-CONFIG_I2C_SCMI=y
-
-#
-# I2C system bus drivers (mostly embedded / system-on-chip)
-#
-# CONFIG_I2C_CADENCE is not set
-# CONFIG_I2C_CBUS_GPIO is not set
-# CONFIG_I2C_DESIGNWARE_PLATFORM is not set
-# CONFIG_I2C_DESIGNWARE_PCI is not set
-# CONFIG_I2C_EMEV2 is not set
-# CONFIG_I2C_GPIO is not set
-# CONFIG_I2C_HISI is not set
-# CONFIG_I2C_NOMADIK is not set
-# CONFIG_I2C_OCORES is not set
-# CONFIG_I2C_PCA_PLATFORM is not set
-CONFIG_I2C_RK3X=y
-# CONFIG_I2C_SIMTEC is not set
-# CONFIG_I2C_THUNDERX is not set
-# CONFIG_I2C_XILINX is not set
-
-#
-# External I2C/SMBus adapter drivers
-#
-# CONFIG_I2C_DIOLAN_U2C is not set
-# CONFIG_I2C_CP2615 is not set
-# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
-# CONFIG_I2C_TAOS_EVM is not set
-CONFIG_I2C_TINY_USB=m
-
-#
-# Other I2C/SMBus bus drivers
-#
-CONFIG_I2C_CROS_EC_TUNNEL=y
-# CONFIG_I2C_VIRTIO is not set
-# end of I2C Hardware Bus support
-
-CONFIG_I2C_STUB=m
-# CONFIG_I2C_SLAVE is not set
-# CONFIG_I2C_DEBUG_CORE is not set
-# CONFIG_I2C_DEBUG_ALGO is not set
-# CONFIG_I2C_DEBUG_BUS is not set
-# end of I2C support
-
-# CONFIG_I3C is not set
-CONFIG_SPI=y
-CONFIG_SPI_MASTER=y
-CONFIG_SPI_MEM=y
-
-#
-# SPI Master Controller Drivers
-#
-# CONFIG_SPI_ALTERA is not set
-# CONFIG_SPI_AXI_SPI_ENGINE is not set
-CONFIG_SPI_BITBANG=y
-# CONFIG_SPI_CADENCE is not set
-# CONFIG_SPI_CADENCE_QUADSPI is not set
-# CONFIG_SPI_CADENCE_XSPI is not set
-# CONFIG_SPI_DESIGNWARE is not set
-# CONFIG_SPI_HISI_KUNPENG is not set
-# CONFIG_SPI_HISI_SFC_V3XX is not set
-# CONFIG_SPI_NXP_FLEXSPI is not set
-CONFIG_SPI_GPIO=y
-# CONFIG_SPI_FSL_SPI is not set
-# CONFIG_SPI_OC_TINY is not set
-# CONFIG_SPI_PL022 is not set
-# CONFIG_SPI_PXA2XX is not set
-CONFIG_SPI_ROCKCHIP=y
-CONFIG_SPI_ROCKCHIP_SFC=m
-# CONFIG_SPI_SC18IS602 is not set
-# CONFIG_SPI_SIFIVE is not set
-# CONFIG_SPI_MXIC is not set
-# CONFIG_SPI_THUNDERX is not set
-# CONFIG_SPI_XCOMM is not set
-# CONFIG_SPI_XILINX is not set
-# CONFIG_SPI_ZYNQMP_GQSPI is not set
-# CONFIG_SPI_AMD is not set
-
-#
-# SPI Multiplexer support
-#
-# CONFIG_SPI_MUX is not set
-
-#
-# SPI Protocol Masters
-#
-CONFIG_SPI_SPIDEV=m
-# CONFIG_SPI_LOOPBACK_TEST is not set
-# CONFIG_SPI_TLE62X0 is not set
-# CONFIG_SPI_SLAVE is not set
-CONFIG_SPI_DYNAMIC=y
-CONFIG_SPMI=m
-# CONFIG_SPMI_HISI3670 is not set
-# CONFIG_HSI is not set
-CONFIG_PPS=y
-# CONFIG_PPS_DEBUG is not set
-
-#
-# PPS clients support
-#
-# CONFIG_PPS_CLIENT_KTIMER is not set
-# CONFIG_PPS_CLIENT_LDISC is not set
-# CONFIG_PPS_CLIENT_GPIO is not set
-
-#
-# PPS generators support
-#
-
-#
-# PTP clock support
-#
-CONFIG_PTP_1588_CLOCK=m
-CONFIG_PTP_1588_CLOCK_OPTIONAL=m
-# CONFIG_DP83640_PHY is not set
-# CONFIG_PTP_1588_CLOCK_INES is not set
-CONFIG_PTP_1588_CLOCK_KVM=m
-# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set
-# CONFIG_PTP_1588_CLOCK_IDTCM is not set
-# end of PTP clock support
-
-CONFIG_PINCTRL=y
-CONFIG_GENERIC_PINCTRL_GROUPS=y
-CONFIG_PINMUX=y
-CONFIG_GENERIC_PINMUX_FUNCTIONS=y
-CONFIG_PINCONF=y
-CONFIG_GENERIC_PINCONF=y
-# CONFIG_PINCTRL_AS3722 is not set
-# CONFIG_PINCTRL_AXP209 is not set
-# CONFIG_PINCTRL_AMD is not set
-# CONFIG_PINCTRL_MCP23S08 is not set
-CONFIG_PINCTRL_ROCKCHIP=y
-CONFIG_PINCTRL_SINGLE=y
-# CONFIG_PINCTRL_SX150X is not set
-# CONFIG_PINCTRL_STMFX is not set
-CONFIG_PINCTRL_MAX77620=y
-# CONFIG_PINCTRL_PALMAS is not set
-CONFIG_PINCTRL_RK805=y
-# CONFIG_PINCTRL_OCELOT is not set
-# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
-
-#
-# Renesas pinctrl drivers
-#
-# end of Renesas pinctrl drivers
-
-CONFIG_GPIOLIB=y
-CONFIG_GPIOLIB_FASTPATH_LIMIT=512
-CONFIG_OF_GPIO=y
-CONFIG_GPIO_ACPI=y
-CONFIG_GPIOLIB_IRQCHIP=y
-CONFIG_GPIO_CDEV=y
-CONFIG_GPIO_CDEV_V1=y
-CONFIG_GPIO_GENERIC=y
-
-#
-# Memory mapped GPIO drivers
-#
-# CONFIG_GPIO_74XX_MMIO is not set
-# CONFIG_GPIO_ALTERA is not set
-# CONFIG_GPIO_AMDPT is not set
-# CONFIG_GPIO_CADENCE is not set
-CONFIG_GPIO_DWAPB=y
-# CONFIG_GPIO_EXAR is not set
-# CONFIG_GPIO_FTGPIO010 is not set
-CONFIG_GPIO_GENERIC_PLATFORM=y
-# CONFIG_GPIO_GRGPIO is not set
-# CONFIG_GPIO_HISI is not set
-# CONFIG_GPIO_HLWD is not set
-# CONFIG_GPIO_LOGICVC is not set
-# CONFIG_GPIO_MB86S7X is not set
-CONFIG_GPIO_PL061=y
-CONFIG_GPIO_ROCKCHIP=y
-# CONFIG_GPIO_SAMA5D2_PIOBU is not set
-# CONFIG_GPIO_SIFIVE is not set
-CONFIG_GPIO_SYSCON=y
-CONFIG_GPIO_XGENE=y
-# CONFIG_GPIO_XILINX is not set
-# CONFIG_GPIO_AMD_FCH is not set
-# end of Memory mapped GPIO drivers
-
-#
-# I2C GPIO expanders
-#
-# CONFIG_GPIO_ADP5588 is not set
-# CONFIG_GPIO_ADNP is not set
-# CONFIG_GPIO_GW_PLD is not set
-# CONFIG_GPIO_MAX7300 is not set
-# CONFIG_GPIO_MAX732X is not set
-CONFIG_GPIO_PCA953X=y
-CONFIG_GPIO_PCA953X_IRQ=y
-# CONFIG_GPIO_PCA9570 is not set
-# CONFIG_GPIO_PCF857X is not set
-# CONFIG_GPIO_TPIC2810 is not set
-# end of I2C GPIO expanders
-
-#
-# MFD GPIO expanders
-#
-CONFIG_GPIO_MAX77620=y
-# CONFIG_GPIO_PALMAS is not set
-# CONFIG_GPIO_TPS6586X is not set
-# end of MFD GPIO expanders
-
-#
-# PCI GPIO expanders
-#
-# CONFIG_GPIO_BT8XX is not set
-# CONFIG_GPIO_PCI_IDIO_16 is not set
-# CONFIG_GPIO_PCIE_IDIO_24 is not set
-# CONFIG_GPIO_RDC321X is not set
-# end of PCI GPIO expanders
-
-#
-# SPI GPIO expanders
-#
-# CONFIG_GPIO_74X164 is not set
-# CONFIG_GPIO_MAX3191X is not set
-# CONFIG_GPIO_MAX7301 is not set
-# CONFIG_GPIO_MC33880 is not set
-# CONFIG_GPIO_PISOSR is not set
-# CONFIG_GPIO_XRA1403 is not set
-# end of SPI GPIO expanders
-
-#
-# USB GPIO expanders
-#
-# end of USB GPIO expanders
-
-#
-# Virtual GPIO drivers
-#
-CONFIG_GPIO_AGGREGATOR=m
-# CONFIG_GPIO_MOCKUP is not set
-# CONFIG_GPIO_VIRTIO is not set
-# end of Virtual GPIO drivers
-
-# CONFIG_W1 is not set
-CONFIG_POWER_RESET=y
-# CONFIG_POWER_RESET_AS3722 is not set
-# CONFIG_POWER_RESET_BRCMSTB is not set
-CONFIG_POWER_RESET_GPIO=y
-CONFIG_POWER_RESET_GPIO_RESTART=y
-# CONFIG_POWER_RESET_LTC2952 is not set
-# CONFIG_POWER_RESET_MT6323 is not set
-# CONFIG_POWER_RESET_REGULATOR is not set
-CONFIG_POWER_RESET_RESTART=y
-# CONFIG_POWER_RESET_XGENE is not set
-CONFIG_POWER_RESET_SYSCON=y
-CONFIG_POWER_RESET_SYSCON_POWEROFF=y
-CONFIG_REBOOT_MODE=y
-CONFIG_SYSCON_REBOOT_MODE=y
-# CONFIG_NVMEM_REBOOT_MODE is not set
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PDA_POWER is not set
-# CONFIG_GENERIC_ADC_BATTERY is not set
-# CONFIG_TEST_POWER is not set
-# CONFIG_CHARGER_ADP5061 is not set
-# CONFIG_BATTERY_CW2015 is not set
-# CONFIG_BATTERY_DS2780 is not set
-# CONFIG_BATTERY_DS2781 is not set
-# CONFIG_BATTERY_DS2782 is not set
-CONFIG_BATTERY_SBS=m
-CONFIG_CHARGER_SBS=m
-CONFIG_MANAGER_SBS=m
-# CONFIG_BATTERY_BQ27XXX is not set
-# CONFIG_AXP20X_POWER is not set
-# CONFIG_BATTERY_MAX17040 is not set
-# CONFIG_BATTERY_MAX17042 is not set
-# CONFIG_CHARGER_ISP1704 is not set
-# CONFIG_CHARGER_MAX8903 is not set
-# CONFIG_CHARGER_LP8727 is not set
-# CONFIG_CHARGER_GPIO is not set
-# CONFIG_CHARGER_MANAGER is not set
-# CONFIG_CHARGER_LT3651 is not set
-# CONFIG_CHARGER_LTC4162L is not set
-# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
-# CONFIG_CHARGER_BQ2415X is not set
-# CONFIG_CHARGER_BQ24190 is not set
-# CONFIG_CHARGER_BQ24257 is not set
-# CONFIG_CHARGER_BQ24735 is not set
-# CONFIG_CHARGER_BQ2515X is not set
-# CONFIG_CHARGER_BQ25890 is not set
-# CONFIG_CHARGER_BQ25980 is not set
-# CONFIG_CHARGER_BQ256XX is not set
-# CONFIG_CHARGER_SMB347 is not set
-# CONFIG_CHARGER_TPS65090 is not set
-# CONFIG_BATTERY_GAUGE_LTC2941 is not set
-# CONFIG_BATTERY_GOLDFISH is not set
-# CONFIG_BATTERY_RT5033 is not set
-# CONFIG_CHARGER_RT9455 is not set
-CONFIG_CHARGER_CROS_USBPD=m
-CONFIG_CHARGER_CROS_PCHG=y
-# CONFIG_CHARGER_UCS1002 is not set
-# CONFIG_CHARGER_BD99954 is not set
-CONFIG_HWMON=m
-CONFIG_HWMON_VID=m
-# CONFIG_HWMON_DEBUG_CHIP is not set
-
-#
-# Native drivers
-#
-# CONFIG_SENSORS_AD7314 is not set
-CONFIG_SENSORS_AD7414=m
-CONFIG_SENSORS_AD7418=m
-CONFIG_SENSORS_ADM1021=m
-CONFIG_SENSORS_ADM1025=m
-CONFIG_SENSORS_ADM1026=m
-CONFIG_SENSORS_ADM1029=m
-CONFIG_SENSORS_ADM1031=m
-# CONFIG_SENSORS_ADM1177 is not set
-CONFIG_SENSORS_ADM9240=m
-CONFIG_SENSORS_ADT7X10=m
-# CONFIG_SENSORS_ADT7310 is not set
-CONFIG_SENSORS_ADT7410=m
-CONFIG_SENSORS_ADT7411=m
-CONFIG_SENSORS_ADT7462=m
-CONFIG_SENSORS_ADT7470=m
-CONFIG_SENSORS_ADT7475=m
-# CONFIG_SENSORS_AHT10 is not set
-# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
-# CONFIG_SENSORS_AS370 is not set
-CONFIG_SENSORS_ASC7621=m
-# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
-CONFIG_SENSORS_ARM_SCPI=m
-# CONFIG_SENSORS_ASPEED is not set
-CONFIG_SENSORS_ATXP1=m
-# CONFIG_SENSORS_CORSAIR_CPRO is not set
-# CONFIG_SENSORS_CORSAIR_PSU is not set
-CONFIG_SENSORS_DS620=m
-CONFIG_SENSORS_DS1621=m
-# CONFIG_SENSORS_I5K_AMB is not set
-CONFIG_SENSORS_F71805F=m
-CONFIG_SENSORS_F71882FG=m
-CONFIG_SENSORS_F75375S=m
-# CONFIG_SENSORS_FTSTEUTATES is not set
-CONFIG_SENSORS_GL518SM=m
-CONFIG_SENSORS_GL520SM=m
-CONFIG_SENSORS_G760A=m
-CONFIG_SENSORS_G762=m
-# CONFIG_SENSORS_GPIO_FAN is not set
-# CONFIG_SENSORS_HIH6130 is not set
-CONFIG_SENSORS_IIO_HWMON=m
-CONFIG_SENSORS_IT87=m
-# CONFIG_SENSORS_JC42 is not set
-CONFIG_SENSORS_POWR1220=m
-CONFIG_SENSORS_LINEAGE=m
-CONFIG_SENSORS_LTC2945=m
-# CONFIG_SENSORS_LTC2947_I2C is not set
-# CONFIG_SENSORS_LTC2947_SPI is not set
-# CONFIG_SENSORS_LTC2990 is not set
-# CONFIG_SENSORS_LTC2992 is not set
-CONFIG_SENSORS_LTC4151=m
-CONFIG_SENSORS_LTC4215=m
-CONFIG_SENSORS_LTC4222=m
-CONFIG_SENSORS_LTC4245=m
-CONFIG_SENSORS_LTC4260=m
-CONFIG_SENSORS_LTC4261=m
-# CONFIG_SENSORS_MAX1111 is not set
-# CONFIG_SENSORS_MAX127 is not set
-CONFIG_SENSORS_MAX16065=m
-CONFIG_SENSORS_MAX1619=m
-CONFIG_SENSORS_MAX1668=m
-CONFIG_SENSORS_MAX197=m
-# CONFIG_SENSORS_MAX31722 is not set
-# CONFIG_SENSORS_MAX31730 is not set
-# CONFIG_SENSORS_MAX6620 is not set
-# CONFIG_SENSORS_MAX6621 is not set
-CONFIG_SENSORS_MAX6639=m
-CONFIG_SENSORS_MAX6642=m
-CONFIG_SENSORS_MAX6650=m
-CONFIG_SENSORS_MAX6697=m
-# CONFIG_SENSORS_MAX31790 is not set
-CONFIG_SENSORS_MCP3021=m
-# CONFIG_SENSORS_TC654 is not set
-# CONFIG_SENSORS_TPS23861 is not set
-# CONFIG_SENSORS_MR75203 is not set
-# CONFIG_SENSORS_ADCXX is not set
-CONFIG_SENSORS_LM63=m
-# CONFIG_SENSORS_LM70 is not set
-CONFIG_SENSORS_LM73=m
-CONFIG_SENSORS_LM75=m
-CONFIG_SENSORS_LM77=m
-CONFIG_SENSORS_LM78=m
-CONFIG_SENSORS_LM80=m
-CONFIG_SENSORS_LM83=m
-CONFIG_SENSORS_LM85=m
-CONFIG_SENSORS_LM87=m
-CONFIG_SENSORS_LM90=m
-CONFIG_SENSORS_LM92=m
-CONFIG_SENSORS_LM93=m
-CONFIG_SENSORS_LM95234=m
-CONFIG_SENSORS_LM95241=m
-CONFIG_SENSORS_LM95245=m
-CONFIG_SENSORS_PC87360=m
-CONFIG_SENSORS_PC87427=m
-CONFIG_SENSORS_NTC_THERMISTOR=m
-CONFIG_SENSORS_NCT6683=m
-CONFIG_SENSORS_NCT6775=m
-CONFIG_SENSORS_NCT7802=m
-CONFIG_SENSORS_NCT7904=m
-# CONFIG_SENSORS_NPCM7XX is not set
-# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
-# CONFIG_SENSORS_OCC_P8_I2C is not set
-CONFIG_SENSORS_PCF8591=m
-CONFIG_PMBUS=m
-CONFIG_SENSORS_PMBUS=m
-# CONFIG_SENSORS_ADM1266 is not set
-CONFIG_SENSORS_ADM1275=m
-# CONFIG_SENSORS_BEL_PFE is not set
-# CONFIG_SENSORS_BPA_RS600 is not set
-# CONFIG_SENSORS_FSP_3Y is not set
-# CONFIG_SENSORS_IBM_CFFPS is not set
-# CONFIG_SENSORS_DPS920AB is not set
-# CONFIG_SENSORS_INSPUR_IPSPS is not set
-# CONFIG_SENSORS_IR35221 is not set
-# CONFIG_SENSORS_IR36021 is not set
-# CONFIG_SENSORS_IR38064 is not set
-# CONFIG_SENSORS_IRPS5401 is not set
-# CONFIG_SENSORS_ISL68137 is not set
-CONFIG_SENSORS_LM25066=m
-CONFIG_SENSORS_LTC2978=m
-# CONFIG_SENSORS_LTC2978_REGULATOR is not set
-# CONFIG_SENSORS_LTC3815 is not set
-# CONFIG_SENSORS_MAX15301 is not set
-CONFIG_SENSORS_MAX16064=m
-# CONFIG_SENSORS_MAX16601 is not set
-# CONFIG_SENSORS_MAX20730 is not set
-# CONFIG_SENSORS_MAX20751 is not set
-# CONFIG_SENSORS_MAX31785 is not set
-CONFIG_SENSORS_MAX34440=m
-CONFIG_SENSORS_MAX8688=m
-# CONFIG_SENSORS_MP2888 is not set
-# CONFIG_SENSORS_MP2975 is not set
-# CONFIG_SENSORS_PIM4328 is not set
-# CONFIG_SENSORS_PM6764TR is not set
-# CONFIG_SENSORS_PXE1610 is not set
-# CONFIG_SENSORS_Q54SJ108A2 is not set
-# CONFIG_SENSORS_STPDDC60 is not set
-CONFIG_SENSORS_TPS40422=m
-# CONFIG_SENSORS_TPS53679 is not set
-CONFIG_SENSORS_UCD9000=m
-CONFIG_SENSORS_UCD9200=m
-# CONFIG_SENSORS_XDPE122 is not set
-CONFIG_SENSORS_ZL6100=m
-CONFIG_SENSORS_PWM_FAN=m
-# CONFIG_SENSORS_SBTSI is not set
-# CONFIG_SENSORS_SBRMI is not set
-CONFIG_SENSORS_SHT15=m
-CONFIG_SENSORS_SHT21=m
-CONFIG_SENSORS_SHT3x=m
-# CONFIG_SENSORS_SHT4x is not set
-CONFIG_SENSORS_SHTC1=m
-CONFIG_SENSORS_SIS5595=m
-CONFIG_SENSORS_DME1737=m
-CONFIG_SENSORS_EMC1403=m
-# CONFIG_SENSORS_EMC2103 is not set
-CONFIG_SENSORS_EMC6W201=m
-CONFIG_SENSORS_SMSC47M1=m
-CONFIG_SENSORS_SMSC47M192=m
-CONFIG_SENSORS_SMSC47B397=m
-CONFIG_SENSORS_SCH56XX_COMMON=m
-CONFIG_SENSORS_SCH5627=m
-CONFIG_SENSORS_SCH5636=m
-# CONFIG_SENSORS_STTS751 is not set
-# CONFIG_SENSORS_SMM665 is not set
-CONFIG_SENSORS_ADC128D818=m
-CONFIG_SENSORS_ADS7828=m
-# CONFIG_SENSORS_ADS7871 is not set
-CONFIG_SENSORS_AMC6821=m
-CONFIG_SENSORS_INA209=m
-CONFIG_SENSORS_INA2XX=m
-CONFIG_SENSORS_INA3221=m
-CONFIG_SENSORS_TC74=m
-CONFIG_SENSORS_THMC50=m
-CONFIG_SENSORS_TMP102=m
-CONFIG_SENSORS_TMP103=m
-CONFIG_SENSORS_TMP108=m
-CONFIG_SENSORS_TMP401=m
-CONFIG_SENSORS_TMP421=m
-# CONFIG_SENSORS_TMP513 is not set
-CONFIG_SENSORS_VIA686A=m
-CONFIG_SENSORS_VT1211=m
-CONFIG_SENSORS_VT8231=m
-# CONFIG_SENSORS_W83773G is not set
-CONFIG_SENSORS_W83781D=m
-CONFIG_SENSORS_W83791D=m
-CONFIG_SENSORS_W83792D=m
-CONFIG_SENSORS_W83793=m
-CONFIG_SENSORS_W83795=m
-# CONFIG_SENSORS_W83795_FANCTRL is not set
-CONFIG_SENSORS_W83L785TS=m
-CONFIG_SENSORS_W83L786NG=m
-CONFIG_SENSORS_W83627HF=m
-CONFIG_SENSORS_W83627EHF=m
-# CONFIG_SENSORS_XGENE is not set
-
-#
-# ACPI drivers
-#
-CONFIG_SENSORS_ACPI_POWER=m
-CONFIG_THERMAL=y
-# CONFIG_THERMAL_NETLINK is not set
-# CONFIG_THERMAL_STATISTICS is not set
-CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
-CONFIG_THERMAL_OF=y
-CONFIG_THERMAL_WRITABLE_TRIPS=y
-CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
-# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
-# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
-CONFIG_THERMAL_GOV_FAIR_SHARE=y
-CONFIG_THERMAL_GOV_STEP_WISE=y
-CONFIG_THERMAL_GOV_BANG_BANG=y
-CONFIG_THERMAL_GOV_USER_SPACE=y
-# CONFIG_THERMAL_GOV_POWER_ALLOCATOR is not set
-CONFIG_CPU_THERMAL=y
-CONFIG_CPU_FREQ_THERMAL=y
-CONFIG_DEVFREQ_THERMAL=y
-CONFIG_THERMAL_EMULATION=y
-# CONFIG_THERMAL_MMIO is not set
-CONFIG_MAX77620_THERMAL=m
-CONFIG_ROCKCHIP_THERMAL=m
-CONFIG_GENERIC_ADC_THERMAL=m
-CONFIG_WATCHDOG=y
-CONFIG_WATCHDOG_CORE=m
-# CONFIG_WATCHDOG_NOWAYOUT is not set
-CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
-CONFIG_WATCHDOG_OPEN_TIMEOUT=0
-# CONFIG_WATCHDOG_SYSFS is not set
-# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
-
-#
-# Watchdog Pretimeout Governors
-#
-# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
-
-#
-# Watchdog Device Drivers
-#
-# CONFIG_SOFT_WATCHDOG is not set
-# CONFIG_GPIO_WATCHDOG is not set
-# CONFIG_WDAT_WDT is not set
-# CONFIG_XILINX_WATCHDOG is not set
-# CONFIG_ZIIRAVE_WATCHDOG is not set
-# CONFIG_ARM_SP805_WATCHDOG is not set
-# CONFIG_ARM_SBSA_WATCHDOG is not set
-# CONFIG_CADENCE_WATCHDOG is not set
-CONFIG_DW_WATCHDOG=m
-# CONFIG_MAX63XX_WATCHDOG is not set
-# CONFIG_MAX77620_WATCHDOG is not set
-# CONFIG_ARM_SMC_WATCHDOG is not set
-# CONFIG_ALIM7101_WDT is not set
-# CONFIG_I6300ESB_WDT is not set
-# CONFIG_MEN_A21_WDT is not set
-
-#
-# PCI-based Watchdog Cards
-#
-# CONFIG_PCIPCWATCHDOG is not set
-# CONFIG_WDTPCI is not set
-
-#
-# USB-based Watchdog Cards
-#
-# CONFIG_USBPCWATCHDOG is not set
-CONFIG_SSB_POSSIBLE=y
-CONFIG_SSB=m
-CONFIG_SSB_SPROM=y
-CONFIG_SSB_PCIHOST_POSSIBLE=y
-CONFIG_SSB_PCIHOST=y
-CONFIG_SSB_SDIOHOST_POSSIBLE=y
-CONFIG_SSB_SDIOHOST=y
-CONFIG_SSB_DRIVER_PCICORE_POSSIBLE=y
-CONFIG_SSB_DRIVER_PCICORE=y
-CONFIG_SSB_DRIVER_GPIO=y
-CONFIG_BCMA_POSSIBLE=y
-# CONFIG_BCMA is not set
-
-#
-# Multifunction device drivers
-#
-CONFIG_MFD_CORE=y
-# CONFIG_MFD_ACT8945A is not set
-CONFIG_MFD_AS3711=y
-CONFIG_MFD_AS3722=m
-# CONFIG_PMIC_ADP5520 is not set
-# CONFIG_MFD_AAT2870_CORE is not set
-# CONFIG_MFD_ATMEL_FLEXCOM is not set
-# CONFIG_MFD_ATMEL_HLCDC is not set
-# CONFIG_MFD_BCM590XX is not set
-# CONFIG_MFD_BD9571MWV is not set
-CONFIG_MFD_AXP20X=y
-CONFIG_MFD_AXP20X_I2C=y
-CONFIG_MFD_CROS_EC_DEV=y
-# CONFIG_MFD_MADERA is not set
-# CONFIG_PMIC_DA903X is not set
-# CONFIG_MFD_DA9052_SPI is not set
-# CONFIG_MFD_DA9052_I2C is not set
-# CONFIG_MFD_DA9055 is not set
-# CONFIG_MFD_DA9062 is not set
-# CONFIG_MFD_DA9063 is not set
-# CONFIG_MFD_DA9150 is not set
-# CONFIG_MFD_DLN2 is not set
-# CONFIG_MFD_GATEWORKS_GSC is not set
-# CONFIG_MFD_MC13XXX_SPI is not set
-# CONFIG_MFD_MC13XXX_I2C is not set
-# CONFIG_MFD_MP2629 is not set
-# CONFIG_MFD_HI6421_PMIC is not set
-# CONFIG_MFD_HI6421_SPMI is not set
-# CONFIG_HTC_PASIC3 is not set
-# CONFIG_HTC_I2CPLD is not set
-# CONFIG_LPC_ICH is not set
-# CONFIG_LPC_SCH is not set
-# CONFIG_MFD_IQS62X is not set
-# CONFIG_MFD_JANZ_CMODIO is not set
-# CONFIG_MFD_KEMPLD is not set
-# CONFIG_MFD_88PM800 is not set
-# CONFIG_MFD_88PM805 is not set
-# CONFIG_MFD_88PM860X is not set
-# CONFIG_MFD_MAX14577 is not set
-CONFIG_MFD_MAX77620=y
-# CONFIG_MFD_MAX77650 is not set
-# CONFIG_MFD_MAX77686 is not set
-# CONFIG_MFD_MAX77693 is not set
-# CONFIG_MFD_MAX77843 is not set
-# CONFIG_MFD_MAX8907 is not set
-# CONFIG_MFD_MAX8925 is not set
-# CONFIG_MFD_MAX8997 is not set
-# CONFIG_MFD_MAX8998 is not set
-# CONFIG_MFD_MT6360 is not set
-CONFIG_MFD_MT6397=y
-# CONFIG_MFD_MENF21BMC is not set
-# CONFIG_EZX_PCAP is not set
-# CONFIG_MFD_CPCAP is not set
-# CONFIG_MFD_VIPERBOARD is not set
-# CONFIG_MFD_NTXEC is not set
-# CONFIG_MFD_RETU is not set
-# CONFIG_MFD_PCF50633 is not set
-# CONFIG_MFD_RDC321X is not set
-# CONFIG_MFD_RT4831 is not set
-# CONFIG_MFD_RT5033 is not set
-# CONFIG_MFD_RC5T583 is not set
-CONFIG_MFD_RK808=y
-# CONFIG_MFD_RN5T618 is not set
-# CONFIG_MFD_SEC_CORE is not set
-# CONFIG_MFD_SI476X_CORE is not set
-CONFIG_MFD_SM501=m
-CONFIG_MFD_SM501_GPIO=y
-# CONFIG_MFD_SKY81452 is not set
-# CONFIG_MFD_STMPE is not set
-CONFIG_MFD_SYSCON=y
-# CONFIG_MFD_TI_AM335X_TSCADC is not set
-# CONFIG_MFD_LP3943 is not set
-# CONFIG_MFD_LP8788 is not set
-# CONFIG_MFD_TI_LMU is not set
-CONFIG_MFD_PALMAS=y
-# CONFIG_TPS6105X is not set
-# CONFIG_TPS65010 is not set
-# CONFIG_TPS6507X is not set
-# CONFIG_MFD_TPS65086 is not set
-CONFIG_MFD_TPS65090=y
-# CONFIG_MFD_TPS65217 is not set
-# CONFIG_MFD_TI_LP873X is not set
-# CONFIG_MFD_TI_LP87565 is not set
-# CONFIG_MFD_TPS65218 is not set
-CONFIG_MFD_TPS6586X=y
-# CONFIG_MFD_TPS65910 is not set
-# CONFIG_MFD_TPS65912_I2C is not set
-# CONFIG_MFD_TPS65912_SPI is not set
-# CONFIG_TWL4030_CORE is not set
-# CONFIG_TWL6040_CORE is not set
-# CONFIG_MFD_WL1273_CORE is not set
-# CONFIG_MFD_LM3533 is not set
-# CONFIG_MFD_TC3589X is not set
-# CONFIG_MFD_TQMX86 is not set
-CONFIG_MFD_VX855=m
-# CONFIG_MFD_LOCHNAGAR is not set
-# CONFIG_MFD_ARIZONA_I2C is not set
-# CONFIG_MFD_ARIZONA_SPI is not set
-# CONFIG_MFD_WM8400 is not set
-# CONFIG_MFD_WM831X_I2C is not set
-# CONFIG_MFD_WM831X_SPI is not set
-# CONFIG_MFD_WM8350_I2C is not set
-# CONFIG_MFD_WM8994 is not set
-# CONFIG_MFD_ROHM_BD718XX is not set
-# CONFIG_MFD_ROHM_BD70528 is not set
-# CONFIG_MFD_ROHM_BD71828 is not set
-# CONFIG_MFD_ROHM_BD957XMUF is not set
-# CONFIG_MFD_STPMIC1 is not set
-# CONFIG_MFD_STMFX is not set
-# CONFIG_MFD_ATC260X_I2C is not set
-# CONFIG_MFD_KHADAS_MCU is not set
-# CONFIG_MFD_QCOM_PM8008 is not set
-# CONFIG_RAVE_SP_CORE is not set
-# CONFIG_MFD_INTEL_M10_BMC is not set
-# CONFIG_MFD_RSMU_I2C is not set
-# CONFIG_MFD_RSMU_SPI is not set
-# end of Multifunction device drivers
-
-CONFIG_REGULATOR=y
-# CONFIG_REGULATOR_DEBUG is not set
-CONFIG_REGULATOR_FIXED_VOLTAGE=y
-# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
-# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
-# CONFIG_REGULATOR_88PG86X is not set
-# CONFIG_REGULATOR_ACT8865 is not set
-# CONFIG_REGULATOR_AD5398 is not set
-# CONFIG_REGULATOR_AS3711 is not set
-# CONFIG_REGULATOR_AS3722 is not set
-CONFIG_REGULATOR_AXP20X=y
-CONFIG_REGULATOR_CROS_EC=m
-# CONFIG_REGULATOR_DA9121 is not set
-# CONFIG_REGULATOR_DA9210 is not set
-# CONFIG_REGULATOR_DA9211 is not set
-# CONFIG_REGULATOR_FAN53555 is not set
-# CONFIG_REGULATOR_FAN53880 is not set
-CONFIG_REGULATOR_GPIO=y
-# CONFIG_REGULATOR_ISL9305 is not set
-# CONFIG_REGULATOR_ISL6271A is not set
-# CONFIG_REGULATOR_LP3971 is not set
-# CONFIG_REGULATOR_LP3972 is not set
-# CONFIG_REGULATOR_LP872X is not set
-# CONFIG_REGULATOR_LP8755 is not set
-# CONFIG_REGULATOR_LTC3589 is not set
-# CONFIG_REGULATOR_LTC3676 is not set
-# CONFIG_REGULATOR_MAX1586 is not set
-CONFIG_REGULATOR_MAX77620=y
-# CONFIG_REGULATOR_MAX8649 is not set
-# CONFIG_REGULATOR_MAX8660 is not set
-# CONFIG_REGULATOR_MAX8893 is not set
-# CONFIG_REGULATOR_MAX8952 is not set
-# CONFIG_REGULATOR_MAX8973 is not set
-# CONFIG_REGULATOR_MAX77826 is not set
-# CONFIG_REGULATOR_MCP16502 is not set
-# CONFIG_REGULATOR_MP5416 is not set
-# CONFIG_REGULATOR_MP8859 is not set
-# CONFIG_REGULATOR_MP886X is not set
-# CONFIG_REGULATOR_MPQ7920 is not set
-# CONFIG_REGULATOR_MT6311 is not set
-# CONFIG_REGULATOR_MT6315 is not set
-# CONFIG_REGULATOR_MT6323 is not set
-# CONFIG_REGULATOR_MT6358 is not set
-# CONFIG_REGULATOR_MT6359 is not set
-# CONFIG_REGULATOR_MT6397 is not set
-# CONFIG_REGULATOR_PALMAS is not set
-# CONFIG_REGULATOR_PCA9450 is not set
-# CONFIG_REGULATOR_PF8X00 is not set
-# CONFIG_REGULATOR_PFUZE100 is not set
-# CONFIG_REGULATOR_PV88060 is not set
-# CONFIG_REGULATOR_PV88080 is not set
-# CONFIG_REGULATOR_PV88090 is not set
-CONFIG_REGULATOR_PWM=y
-# CONFIG_REGULATOR_QCOM_SPMI is not set
-# CONFIG_REGULATOR_QCOM_USB_VBUS is not set
-# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set
-CONFIG_REGULATOR_RK808=y
-# CONFIG_REGULATOR_RT4801 is not set
-# CONFIG_REGULATOR_RT6160 is not set
-# CONFIG_REGULATOR_RT6245 is not set
-# CONFIG_REGULATOR_RTQ2134 is not set
-# CONFIG_REGULATOR_RTMV20 is not set
-# CONFIG_REGULATOR_RTQ6752 is not set
-# CONFIG_REGULATOR_SLG51000 is not set
-# CONFIG_REGULATOR_SY8106A is not set
-# CONFIG_REGULATOR_SY8824X is not set
-# CONFIG_REGULATOR_SY8827N is not set
-# CONFIG_REGULATOR_TPS51632 is not set
-# CONFIG_REGULATOR_TPS62360 is not set
-# CONFIG_REGULATOR_TPS65023 is not set
-# CONFIG_REGULATOR_TPS6507X is not set
-# CONFIG_REGULATOR_TPS65090 is not set
-# CONFIG_REGULATOR_TPS65132 is not set
-# CONFIG_REGULATOR_TPS6524X is not set
-# CONFIG_REGULATOR_TPS6586X is not set
-CONFIG_REGULATOR_VCTRL=m
-# CONFIG_REGULATOR_QCOM_LABIBB is not set
-CONFIG_RC_CORE=m
-# CONFIG_RC_MAP is not set
-# CONFIG_LIRC is not set
-# CONFIG_RC_DECODERS is not set
-# CONFIG_RC_DEVICES is not set
-CONFIG_CEC_CORE=y
-CONFIG_CEC_NOTIFIER=y
-
-#
-# CEC support
-#
-CONFIG_MEDIA_CEC_SUPPORT=y
-# CONFIG_CEC_CH7322 is not set
-CONFIG_CEC_CROS_EC=m
-# CONFIG_CEC_GPIO is not set
-# CONFIG_USB_PULSE8_CEC is not set
-# CONFIG_USB_RAINSHADOW_CEC is not set
-# end of CEC support
-
-CONFIG_MEDIA_SUPPORT=m
-CONFIG_MEDIA_SUPPORT_FILTER=y
-CONFIG_MEDIA_SUBDRV_AUTOSELECT=y
-
-#
-# Media device types
-#
-CONFIG_MEDIA_CAMERA_SUPPORT=y
-# CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set
-# CONFIG_MEDIA_DIGITAL_TV_SUPPORT is not set
-# CONFIG_MEDIA_RADIO_SUPPORT is not set
-CONFIG_MEDIA_SDR_SUPPORT=y
-# CONFIG_MEDIA_PLATFORM_SUPPORT is not set
-# CONFIG_MEDIA_TEST_SUPPORT is not set
-# end of Media device types
-
-CONFIG_VIDEO_DEV=m
-CONFIG_MEDIA_CONTROLLER=y
-
-#
-# Video4Linux options
-#
-CONFIG_VIDEO_V4L2=m
-CONFIG_VIDEO_V4L2_I2C=y
-CONFIG_VIDEO_V4L2_SUBDEV_API=y
-# CONFIG_VIDEO_ADV_DEBUG is not set
-# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set
-# CONFIG_V4L2_FLASH_LED_CLASS is not set
-# end of Video4Linux options
-
-#
-# Media controller options
-#
-# end of Media controller options
-
-#
-# Media drivers
-#
-
-#
-# Drivers filtered as selected at 'Filter media drivers'
-#
-CONFIG_MEDIA_USB_SUPPORT=y
-
-#
-# Webcam devices
-#
-CONFIG_USB_VIDEO_CLASS=m
-CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y
-# CONFIG_USB_GSPCA is not set
-# CONFIG_USB_PWC is not set
-# CONFIG_VIDEO_CPIA2 is not set
-# CONFIG_USB_ZR364XX is not set
-# CONFIG_USB_STKWEBCAM is not set
-# CONFIG_USB_S2255 is not set
-# CONFIG_VIDEO_USBTV is not set
-
-#
-# Webcam, TV (analog/digital) USB devices
-#
-# CONFIG_VIDEO_EM28XX is not set
-
-#
-# Software defined radio USB devices
-#
-CONFIG_USB_AIRSPY=m
-CONFIG_USB_HACKRF=m
-CONFIG_USB_MSI2500=m
-# CONFIG_MEDIA_PCI_SUPPORT is not set
-CONFIG_VIDEOBUF2_CORE=m
-CONFIG_VIDEOBUF2_V4L2=m
-CONFIG_VIDEOBUF2_MEMOPS=m
-CONFIG_VIDEOBUF2_VMALLOC=m
-# end of Media drivers
-
-CONFIG_MEDIA_HIDE_ANCILLARY_SUBDRV=y
-
-#
-# Media ancillary drivers
-#
-
-#
-# IR I2C driver auto-selected by 'Autoselect ancillary drivers'
-#
-CONFIG_VIDEO_IR_I2C=m
-
-#
-# audio, video and radio I2C drivers auto-selected by 'Autoselect ancillary drivers'
-#
-
-#
-# Video and audio decoders
-#
-
-#
-# Camera sensor devices
-#
-# CONFIG_VIDEO_HI556 is not set
-# CONFIG_VIDEO_HI846 is not set
-# CONFIG_VIDEO_IMX208 is not set
-# CONFIG_VIDEO_IMX214 is not set
-# CONFIG_VIDEO_IMX219 is not set
-# CONFIG_VIDEO_IMX258 is not set
-# CONFIG_VIDEO_IMX274 is not set
-# CONFIG_VIDEO_IMX290 is not set
-# CONFIG_VIDEO_IMX319 is not set
-# CONFIG_VIDEO_IMX334 is not set
-# CONFIG_VIDEO_IMX335 is not set
-# CONFIG_VIDEO_IMX355 is not set
-# CONFIG_VIDEO_IMX412 is not set
-# CONFIG_VIDEO_OV02A10 is not set
-# CONFIG_VIDEO_OV2640 is not set
-# CONFIG_VIDEO_OV2659 is not set
-# CONFIG_VIDEO_OV2680 is not set
-# CONFIG_VIDEO_OV2685 is not set
-# CONFIG_VIDEO_OV2740 is not set
-# CONFIG_VIDEO_OV5640 is not set
-# CONFIG_VIDEO_OV5645 is not set
-# CONFIG_VIDEO_OV5647 is not set
-# CONFIG_VIDEO_OV5648 is not set
-# CONFIG_VIDEO_OV6650 is not set
-# CONFIG_VIDEO_OV5670 is not set
-# CONFIG_VIDEO_OV5675 is not set
-# CONFIG_VIDEO_OV5695 is not set
-# CONFIG_VIDEO_OV7251 is not set
-# CONFIG_VIDEO_OV772X is not set
-# CONFIG_VIDEO_OV7640 is not set
-# CONFIG_VIDEO_OV7670 is not set
-# CONFIG_VIDEO_OV7740 is not set
-# CONFIG_VIDEO_OV8856 is not set
-# CONFIG_VIDEO_OV8865 is not set
-# CONFIG_VIDEO_OV9282 is not set
-# CONFIG_VIDEO_OV9640 is not set
-# CONFIG_VIDEO_OV9650 is not set
-# CONFIG_VIDEO_OV9734 is not set
-# CONFIG_VIDEO_OV13858 is not set
-# CONFIG_VIDEO_OV13B10 is not set
-# CONFIG_VIDEO_VS6624 is not set
-# CONFIG_VIDEO_MT9M001 is not set
-# CONFIG_VIDEO_MT9M032 is not set
-# CONFIG_VIDEO_MT9M111 is not set
-# CONFIG_VIDEO_MT9P031 is not set
-# CONFIG_VIDEO_MT9T001 is not set
-# CONFIG_VIDEO_MT9T112 is not set
-# CONFIG_VIDEO_MT9V011 is not set
-# CONFIG_VIDEO_MT9V032 is not set
-# CONFIG_VIDEO_MT9V111 is not set
-# CONFIG_VIDEO_SR030PC30 is not set
-# CONFIG_VIDEO_NOON010PC30 is not set
-# CONFIG_VIDEO_M5MOLS is not set
-# CONFIG_VIDEO_RDACM20 is not set
-# CONFIG_VIDEO_RDACM21 is not set
-# CONFIG_VIDEO_RJ54N1 is not set
-# CONFIG_VIDEO_S5K6AA is not set
-# CONFIG_VIDEO_S5K6A3 is not set
-# CONFIG_VIDEO_S5K4ECGX is not set
-# CONFIG_VIDEO_S5K5BAF is not set
-# CONFIG_VIDEO_CCS is not set
-# CONFIG_VIDEO_ET8EK8 is not set
-# CONFIG_VIDEO_S5C73M3 is not set
-# end of Camera sensor devices
-
-#
-# Lens drivers
-#
-# CONFIG_VIDEO_AD5820 is not set
-# CONFIG_VIDEO_AK7375 is not set
-# CONFIG_VIDEO_DW9714 is not set
-# CONFIG_VIDEO_DW9768 is not set
-# CONFIG_VIDEO_DW9807_VCM is not set
-# end of Lens drivers
-
-#
-# Flash devices
-#
-# CONFIG_VIDEO_ADP1653 is not set
-# CONFIG_VIDEO_LM3560 is not set
-# CONFIG_VIDEO_LM3646 is not set
-# end of Flash devices
-
-#
-# SPI I2C drivers auto-selected by 'Autoselect ancillary drivers'
-#
-
-#
-# Media SPI Adapters
-#
-# end of Media SPI Adapters
-
-CONFIG_MEDIA_TUNER=m
-
-#
-# Tuner drivers auto-selected by 'Autoselect ancillary drivers'
-#
-CONFIG_MEDIA_TUNER_SIMPLE=m
-CONFIG_MEDIA_TUNER_TDA8290=m
-CONFIG_MEDIA_TUNER_TDA827X=m
-CONFIG_MEDIA_TUNER_TDA18271=m
-CONFIG_MEDIA_TUNER_TDA9887=m
-CONFIG_MEDIA_TUNER_MSI001=m
-CONFIG_MEDIA_TUNER_MT20XX=m
-CONFIG_MEDIA_TUNER_XC2028=m
-CONFIG_MEDIA_TUNER_XC5000=m
-CONFIG_MEDIA_TUNER_XC4000=m
-CONFIG_MEDIA_TUNER_MC44S803=m
-# end of Media ancillary drivers
-
-#
-# Graphics support
-#
-CONFIG_VGA_ARB=y
-CONFIG_VGA_ARB_MAX_GPUS=4
-CONFIG_DRM=y
-CONFIG_DRM_MIPI_DSI=y
-CONFIG_DRM_DP_AUX_BUS=y
-CONFIG_DRM_DP_AUX_CHARDEV=y
-# CONFIG_DRM_DEBUG_MM is not set
-CONFIG_DRM_KMS_HELPER=y
-CONFIG_DRM_FBDEV_EMULATION=y
-CONFIG_DRM_FBDEV_OVERALLOC=100
-# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
-# CONFIG_DRM_DP_CEC is not set
-CONFIG_DRM_GEM_CMA_HELPER=y
-CONFIG_DRM_KMS_CMA_HELPER=y
-CONFIG_DRM_GEM_SHMEM_HELPER=y
-CONFIG_DRM_SCHED=m
-
-#
-# I2C encoder or helper chips
-#
-CONFIG_DRM_I2C_CH7006=m
-CONFIG_DRM_I2C_SIL164=m
-CONFIG_DRM_I2C_NXP_TDA998X=m
-# CONFIG_DRM_I2C_NXP_TDA9950 is not set
-# end of I2C encoder or helper chips
-
-#
-# ARM devices
-#
-# CONFIG_DRM_HDLCD is not set
-# CONFIG_DRM_MALI_DISPLAY is not set
-# CONFIG_DRM_KOMEDA is not set
-# end of ARM devices
-
-# CONFIG_DRM_RADEON is not set
-# CONFIG_DRM_AMDGPU is not set
-# CONFIG_DRM_NOUVEAU is not set
-CONFIG_DRM_VGEM=m
-# CONFIG_DRM_VKMS is not set
-CONFIG_DRM_ROCKCHIP=y
-CONFIG_ROCKCHIP_ANALOGIX_DP=y
-CONFIG_ROCKCHIP_CDN_DP=y
-CONFIG_ROCKCHIP_DW_HDMI=y
-CONFIG_ROCKCHIP_DW_MIPI_DSI=y
-# CONFIG_ROCKCHIP_INNO_HDMI is not set
-# CONFIG_ROCKCHIP_LVDS is not set
-CONFIG_ROCKCHIP_RGB=y
-# CONFIG_ROCKCHIP_RK3066_HDMI is not set
-# CONFIG_DRM_VMWGFX is not set
-CONFIG_DRM_UDL=m
-# CONFIG_DRM_AST is not set
-# CONFIG_DRM_MGAG200 is not set
-# CONFIG_DRM_RCAR_DW_HDMI is not set
-# CONFIG_DRM_RCAR_LVDS is not set
-# CONFIG_DRM_QXL is not set
-CONFIG_DRM_VIRTIO_GPU=m
-CONFIG_DRM_PANEL=y
-
-#
-# Display Panels
-#
-# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
-# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
-# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set
-# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set
-# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set
-# CONFIG_DRM_PANEL_DSI_CM is not set
-# CONFIG_DRM_PANEL_LVDS is not set
-CONFIG_DRM_PANEL_SIMPLE=y
-CONFIG_DRM_PANEL_EDP=y
-# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set
-# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set
-# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set
-# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
-# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
-# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set
-# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
-# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set
-# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set
-# CONFIG_DRM_PANEL_KHADAS_TS050 is not set
-# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set
-# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set
-# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
-# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
-# CONFIG_DRM_PANEL_LG_LG4573 is not set
-# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
-# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set
-# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set
-# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
-# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set
-# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
-# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set
-# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set
-# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set
-# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
-# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set
-# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set
-# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
-# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set
-# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
-# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set
-# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set
-# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set
-# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set
-# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
-# CONFIG_DRM_PANEL_SONY_ACX424AKP is not set
-# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
-# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set
-# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
-# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
-# CONFIG_DRM_PANEL_TPO_TPG110 is not set
-# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
-# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
-# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
-# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set
-# end of Display Panels
-
-CONFIG_DRM_BRIDGE=y
-CONFIG_DRM_PANEL_BRIDGE=y
-
-#
-# Display Interface Bridges
-#
-# CONFIG_DRM_CDNS_DSI is not set
-# CONFIG_DRM_CHIPONE_ICN6211 is not set
-# CONFIG_DRM_CHRONTEL_CH7033 is not set
-# CONFIG_DRM_CROS_EC_ANX7688 is not set
-CONFIG_DRM_DISPLAY_CONNECTOR=y
-# CONFIG_DRM_LONTIUM_LT8912B is not set
-# CONFIG_DRM_LONTIUM_LT9611 is not set
-# CONFIG_DRM_LONTIUM_LT9611UXC is not set
-# CONFIG_DRM_ITE_IT66121 is not set
-# CONFIG_DRM_LVDS_CODEC is not set
-# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
-# CONFIG_DRM_NWL_MIPI_DSI is not set
-# CONFIG_DRM_NXP_PTN3460 is not set
-# CONFIG_DRM_PARADE_PS8622 is not set
-CONFIG_DRM_PARADE_PS8640=y
-# CONFIG_DRM_SIL_SII8620 is not set
-# CONFIG_DRM_SII902X is not set
-# CONFIG_DRM_SII9234 is not set
-# CONFIG_DRM_SIMPLE_BRIDGE is not set
-# CONFIG_DRM_THINE_THC63LVD1024 is not set
-# CONFIG_DRM_TOSHIBA_TC358762 is not set
-# CONFIG_DRM_TOSHIBA_TC358764 is not set
-# CONFIG_DRM_TOSHIBA_TC358767 is not set
-# CONFIG_DRM_TOSHIBA_TC358768 is not set
-# CONFIG_DRM_TOSHIBA_TC358775 is not set
-# CONFIG_DRM_TI_TFP410 is not set
-# CONFIG_DRM_TI_SN65DSI83 is not set
-# CONFIG_DRM_TI_SN65DSI86 is not set
-# CONFIG_DRM_TI_TPD12S015 is not set
-CONFIG_DRM_ANALOGIX_ANX6345=m
-CONFIG_DRM_ANALOGIX_ANX78XX=m
-CONFIG_DRM_ANALOGIX_DP=y
-# CONFIG_DRM_ANALOGIX_ANX7625 is not set
-CONFIG_DRM_I2C_ADV7511=m
-CONFIG_DRM_I2C_ADV7511_AUDIO=y
-CONFIG_DRM_I2C_ADV7511_CEC=y
-# CONFIG_DRM_CDNS_MHDP8546 is not set
-CONFIG_DRM_DW_HDMI=y
-# CONFIG_DRM_DW_HDMI_AHB_AUDIO is not set
-CONFIG_DRM_DW_HDMI_I2S_AUDIO=m
-CONFIG_DRM_DW_HDMI_CEC=m
-CONFIG_DRM_DW_MIPI_DSI=y
-# end of Display Interface Bridges
-
-# CONFIG_DRM_ETNAVIV is not set
-# CONFIG_DRM_HISI_HIBMC is not set
-# CONFIG_DRM_HISI_KIRIN is not set
-# CONFIG_DRM_MXSFB is not set
-# CONFIG_DRM_ARCPGU is not set
-# CONFIG_DRM_BOCHS is not set
-# CONFIG_DRM_CIRRUS_QEMU is not set
-# CONFIG_DRM_GM12U320 is not set
-# CONFIG_DRM_SIMPLEDRM is not set
-# CONFIG_TINYDRM_HX8357D is not set
-# CONFIG_TINYDRM_ILI9225 is not set
-# CONFIG_TINYDRM_ILI9341 is not set
-# CONFIG_TINYDRM_ILI9486 is not set
-# CONFIG_TINYDRM_MI0283QT is not set
-# CONFIG_TINYDRM_REPAPER is not set
-# CONFIG_TINYDRM_ST7586 is not set
-# CONFIG_TINYDRM_ST7735R is not set
-CONFIG_DRM_PL111=m
-# CONFIG_DRM_LIMA is not set
-CONFIG_DRM_PANFROST=m
-# CONFIG_DRM_TIDSS is not set
-# CONFIG_DRM_GUD is not set
-# CONFIG_DRM_LEGACY is not set
-CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
-
-#
-# Frame buffer Devices
-#
-CONFIG_FB_CMDLINE=y
-CONFIG_FB_NOTIFY=y
-CONFIG_FB=y
-# CONFIG_FIRMWARE_EDID is not set
-CONFIG_FB_CFB_FILLRECT=y
-CONFIG_FB_CFB_COPYAREA=y
-CONFIG_FB_CFB_IMAGEBLIT=y
-CONFIG_FB_SYS_FILLRECT=y
-CONFIG_FB_SYS_COPYAREA=y
-CONFIG_FB_SYS_IMAGEBLIT=y
-# CONFIG_FB_FOREIGN_ENDIAN is not set
-CONFIG_FB_SYS_FOPS=y
-CONFIG_FB_DEFERRED_IO=y
-CONFIG_FB_MODE_HELPERS=y
-# CONFIG_FB_TILEBLITTING is not set
-
-#
-# Frame buffer hardware drivers
-#
-# CONFIG_FB_CIRRUS is not set
-# CONFIG_FB_PM2 is not set
-# CONFIG_FB_ARMCLCD is not set
-# CONFIG_FB_CYBER2000 is not set
-# CONFIG_FB_ASILIANT is not set
-# CONFIG_FB_IMSTT is not set
-# CONFIG_FB_UVESA is not set
-# CONFIG_FB_EFI is not set
-# CONFIG_FB_OPENCORES is not set
-# CONFIG_FB_S1D13XXX is not set
-# CONFIG_FB_NVIDIA is not set
-# CONFIG_FB_RIVA is not set
-# CONFIG_FB_I740 is not set
-# CONFIG_FB_MATROX is not set
-# CONFIG_FB_RADEON is not set
-# CONFIG_FB_ATY128 is not set
-# CONFIG_FB_ATY is not set
-# CONFIG_FB_S3 is not set
-# CONFIG_FB_SAVAGE is not set
-# CONFIG_FB_SIS is not set
-# CONFIG_FB_NEOMAGIC is not set
-# CONFIG_FB_KYRO is not set
-# CONFIG_FB_3DFX is not set
-# CONFIG_FB_VOODOO1 is not set
-# CONFIG_FB_VT8623 is not set
-# CONFIG_FB_TRIDENT is not set
-# CONFIG_FB_ARK is not set
-# CONFIG_FB_PM3 is not set
-# CONFIG_FB_CARMINE is not set
-# CONFIG_FB_SM501 is not set
-# CONFIG_FB_SMSCUFX is not set
-CONFIG_FB_UDL=m
-# CONFIG_FB_IBM_GXT4500 is not set
-# CONFIG_FB_VIRTUAL is not set
-# CONFIG_FB_METRONOME is not set
-# CONFIG_FB_MB862XX is not set
-# CONFIG_FB_SIMPLE is not set
-# CONFIG_FB_SSD1307 is not set
-# CONFIG_FB_SM712 is not set
-# end of Frame buffer Devices
-
-#
-# Backlight & LCD device support
-#
-# CONFIG_LCD_CLASS_DEVICE is not set
-CONFIG_BACKLIGHT_CLASS_DEVICE=y
-# CONFIG_BACKLIGHT_KTD253 is not set
-CONFIG_BACKLIGHT_PWM=y
-# CONFIG_BACKLIGHT_QCOM_WLED is not set
-# CONFIG_BACKLIGHT_ADP8860 is not set
-# CONFIG_BACKLIGHT_ADP8870 is not set
-# CONFIG_BACKLIGHT_LM3630A is not set
-# CONFIG_BACKLIGHT_LM3639 is not set
-CONFIG_BACKLIGHT_LP855X=y
-# CONFIG_BACKLIGHT_AS3711 is not set
-CONFIG_BACKLIGHT_GPIO=y
-# CONFIG_BACKLIGHT_LV5207LP is not set
-# CONFIG_BACKLIGHT_BD6107 is not set
-# CONFIG_BACKLIGHT_ARCXCNN is not set
-# CONFIG_BACKLIGHT_LED is not set
-# end of Backlight & LCD device support
-
-CONFIG_VIDEOMODE_HELPERS=y
-CONFIG_HDMI=y
-
-#
-# Console display driver support
-#
-CONFIG_DUMMY_CONSOLE=y
-CONFIG_DUMMY_CONSOLE_COLUMNS=80
-CONFIG_DUMMY_CONSOLE_ROWS=25
-CONFIG_FRAMEBUFFER_CONSOLE=y
-CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
-CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
-# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
-# end of Console display driver support
-
-CONFIG_LOGO=y
-# CONFIG_LOGO_LINUX_MONO is not set
-# CONFIG_LOGO_LINUX_VGA16 is not set
-CONFIG_LOGO_LINUX_CLUT224=y
-# end of Graphics support
-
-CONFIG_SOUND=m
-CONFIG_SND=m
-CONFIG_SND_TIMER=m
-CONFIG_SND_PCM=m
-CONFIG_SND_PCM_ELD=y
-CONFIG_SND_PCM_IEC958=y
-CONFIG_SND_DMAENGINE_PCM=m
-CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=m
-CONFIG_SND_JACK=y
-CONFIG_SND_JACK_INPUT_DEV=y
-# CONFIG_SND_OSSEMUL is not set
-CONFIG_SND_PCM_TIMER=y
-# CONFIG_SND_HRTIMER is not set
-CONFIG_SND_DYNAMIC_MINORS=y
-CONFIG_SND_MAX_CARDS=32
-# CONFIG_SND_SUPPORT_OLD_API is not set
-CONFIG_SND_PROC_FS=y
-CONFIG_SND_VERBOSE_PROCFS=y
-# CONFIG_SND_VERBOSE_PRINTK is not set
-# CONFIG_SND_DEBUG is not set
-CONFIG_SND_VMASTER=y
-# CONFIG_SND_SEQUENCER is not set
-CONFIG_SND_DRIVERS=y
-# CONFIG_SND_DUMMY is not set
-# CONFIG_SND_ALOOP is not set
-# CONFIG_SND_MTPAV is not set
-# CONFIG_SND_SERIAL_U16550 is not set
-# CONFIG_SND_MPU401 is not set
-CONFIG_SND_PCI=y
-# CONFIG_SND_AD1889 is not set
-# CONFIG_SND_ALS300 is not set
-# CONFIG_SND_ALI5451 is not set
-# CONFIG_SND_ATIIXP is not set
-# CONFIG_SND_ATIIXP_MODEM is not set
-# CONFIG_SND_AU8810 is not set
-# CONFIG_SND_AU8820 is not set
-# CONFIG_SND_AU8830 is not set
-# CONFIG_SND_AW2 is not set
-# CONFIG_SND_AZT3328 is not set
-# CONFIG_SND_BT87X is not set
-# CONFIG_SND_CA0106 is not set
-# CONFIG_SND_CMIPCI is not set
-# CONFIG_SND_OXYGEN is not set
-# CONFIG_SND_CS4281 is not set
-# CONFIG_SND_CS46XX is not set
-# CONFIG_SND_CTXFI is not set
-# CONFIG_SND_DARLA20 is not set
-# CONFIG_SND_GINA20 is not set
-# CONFIG_SND_LAYLA20 is not set
-# CONFIG_SND_DARLA24 is not set
-# CONFIG_SND_GINA24 is not set
-# CONFIG_SND_LAYLA24 is not set
-# CONFIG_SND_MONA is not set
-# CONFIG_SND_MIA is not set
-# CONFIG_SND_ECHO3G is not set
-# CONFIG_SND_INDIGO is not set
-# CONFIG_SND_INDIGOIO is not set
-# CONFIG_SND_INDIGODJ is not set
-# CONFIG_SND_INDIGOIOX is not set
-# CONFIG_SND_INDIGODJX is not set
-# CONFIG_SND_EMU10K1 is not set
-# CONFIG_SND_EMU10K1X is not set
-# CONFIG_SND_ENS1370 is not set
-# CONFIG_SND_ENS1371 is not set
-# CONFIG_SND_ES1938 is not set
-# CONFIG_SND_ES1968 is not set
-# CONFIG_SND_FM801 is not set
-# CONFIG_SND_HDSP is not set
-# CONFIG_SND_HDSPM is not set
-# CONFIG_SND_ICE1712 is not set
-# CONFIG_SND_ICE1724 is not set
-# CONFIG_SND_INTEL8X0 is not set
-# CONFIG_SND_INTEL8X0M is not set
-# CONFIG_SND_KORG1212 is not set
-# CONFIG_SND_LOLA is not set
-# CONFIG_SND_LX6464ES is not set
-# CONFIG_SND_MAESTRO3 is not set
-# CONFIG_SND_MIXART is not set
-# CONFIG_SND_NM256 is not set
-# CONFIG_SND_PCXHR is not set
-# CONFIG_SND_RIPTIDE is not set
-# CONFIG_SND_RME32 is not set
-# CONFIG_SND_RME96 is not set
-# CONFIG_SND_RME9652 is not set
-# CONFIG_SND_SE6X is not set
-# CONFIG_SND_SONICVIBES is not set
-# CONFIG_SND_TRIDENT is not set
-# CONFIG_SND_VIA82XX is not set
-# CONFIG_SND_VIA82XX_MODEM is not set
-# CONFIG_SND_VIRTUOSO is not set
-# CONFIG_SND_VX222 is not set
-# CONFIG_SND_YMFPCI is not set
-
-#
-# HD-Audio
-#
-# CONFIG_SND_HDA_INTEL is not set
-# end of HD-Audio
-
-CONFIG_SND_HDA_PREALLOC_SIZE=4096
-CONFIG_SND_SPI=y
-CONFIG_SND_USB=y
-CONFIG_SND_USB_AUDIO=m
-CONFIG_SND_USB_AUDIO_USE_MEDIA_CONTROLLER=y
-CONFIG_SND_USB_UA101=m
-CONFIG_SND_USB_CAIAQ=m
-CONFIG_SND_USB_CAIAQ_INPUT=y
-CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_USB_HIFACE=m
-CONFIG_SND_BCD2000=m
-CONFIG_SND_USB_LINE6=m
-CONFIG_SND_USB_POD=m
-CONFIG_SND_USB_PODHD=m
-CONFIG_SND_USB_TONEPORT=m
-CONFIG_SND_USB_VARIAX=m
-CONFIG_SND_SOC=m
-CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
-# CONFIG_SND_SOC_ADI is not set
-# CONFIG_SND_SOC_AMD_ACP is not set
-# CONFIG_SND_ATMEL_SOC is not set
-# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
-# CONFIG_SND_DESIGNWARE_I2S is not set
-
-#
-# SoC Audio for Freescale CPUs
-#
-
-#
-# Common SoC Audio options for Freescale CPUs:
-#
-# CONFIG_SND_SOC_FSL_ASRC is not set
-# CONFIG_SND_SOC_FSL_SAI is not set
-# CONFIG_SND_SOC_FSL_AUDMIX is not set
-# CONFIG_SND_SOC_FSL_SSI is not set
-# CONFIG_SND_SOC_FSL_SPDIF is not set
-# CONFIG_SND_SOC_FSL_ESAI is not set
-# CONFIG_SND_SOC_FSL_MICFIL is not set
-# CONFIG_SND_SOC_FSL_XCVR is not set
-# CONFIG_SND_SOC_IMX_AUDMUX is not set
-# end of SoC Audio for Freescale CPUs
-
-# CONFIG_SND_I2S_HI6210_I2S is not set
-# CONFIG_SND_SOC_IMG is not set
-# CONFIG_SND_SOC_MTK_BTCVSD is not set
-CONFIG_SND_SOC_ROCKCHIP=m
-CONFIG_SND_SOC_ROCKCHIP_I2S=m
-CONFIG_SND_SOC_ROCKCHIP_I2S_TDM=m
-CONFIG_SND_SOC_ROCKCHIP_PDM=m
-CONFIG_SND_SOC_ROCKCHIP_SPDIF=m
-CONFIG_SND_SOC_ROCKCHIP_MAX98090=m
-CONFIG_SND_SOC_ROCKCHIP_RT5645=m
-CONFIG_SND_SOC_RK3288_HDMI_ANALOG=m
-CONFIG_SND_SOC_RK3399_GRU_SOUND=m
-# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
-
-#
-# STMicroelectronics STM32 SOC audio support
-#
-# end of STMicroelectronics STM32 SOC audio support
-
-# CONFIG_SND_SOC_XILINX_I2S is not set
-# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
-# CONFIG_SND_SOC_XILINX_SPDIF is not set
-# CONFIG_SND_SOC_XTFPGA_I2S is not set
-CONFIG_SND_SOC_I2C_AND_SPI=m
-
-#
-# CODEC drivers
-#
-# CONFIG_SND_SOC_AC97_CODEC is not set
-# CONFIG_SND_SOC_ADAU1372_I2C is not set
-# CONFIG_SND_SOC_ADAU1372_SPI is not set
-# CONFIG_SND_SOC_ADAU1701 is not set
-# CONFIG_SND_SOC_ADAU1761_I2C is not set
-# CONFIG_SND_SOC_ADAU1761_SPI is not set
-# CONFIG_SND_SOC_ADAU7002 is not set
-# CONFIG_SND_SOC_ADAU7118_HW is not set
-# CONFIG_SND_SOC_ADAU7118_I2C is not set
-# CONFIG_SND_SOC_AK4104 is not set
-# CONFIG_SND_SOC_AK4118 is not set
-# CONFIG_SND_SOC_AK4458 is not set
-# CONFIG_SND_SOC_AK4554 is not set
-# CONFIG_SND_SOC_AK4613 is not set
-# CONFIG_SND_SOC_AK4642 is not set
-# CONFIG_SND_SOC_AK5386 is not set
-# CONFIG_SND_SOC_AK5558 is not set
-# CONFIG_SND_SOC_ALC5623 is not set
-# CONFIG_SND_SOC_BD28623 is not set
-CONFIG_SND_SOC_BT_SCO=m
-CONFIG_SND_SOC_CROS_EC_CODEC=m
-# CONFIG_SND_SOC_CS35L32 is not set
-# CONFIG_SND_SOC_CS35L33 is not set
-# CONFIG_SND_SOC_CS35L34 is not set
-# CONFIG_SND_SOC_CS35L35 is not set
-# CONFIG_SND_SOC_CS35L36 is not set
-# CONFIG_SND_SOC_CS35L41_SPI is not set
-# CONFIG_SND_SOC_CS35L41_I2C is not set
-# CONFIG_SND_SOC_CS42L42 is not set
-# CONFIG_SND_SOC_CS42L51_I2C is not set
-# CONFIG_SND_SOC_CS42L52 is not set
-# CONFIG_SND_SOC_CS42L56 is not set
-# CONFIG_SND_SOC_CS42L73 is not set
-# CONFIG_SND_SOC_CS4234 is not set
-# CONFIG_SND_SOC_CS4265 is not set
-# CONFIG_SND_SOC_CS4270 is not set
-# CONFIG_SND_SOC_CS4271_I2C is not set
-# CONFIG_SND_SOC_CS4271_SPI is not set
-# CONFIG_SND_SOC_CS42XX8_I2C is not set
-# CONFIG_SND_SOC_CS43130 is not set
-# CONFIG_SND_SOC_CS4341 is not set
-# CONFIG_SND_SOC_CS4349 is not set
-# CONFIG_SND_SOC_CS53L30 is not set
-# CONFIG_SND_SOC_CX2072X is not set
-# CONFIG_SND_SOC_DA7213 is not set
-CONFIG_SND_SOC_DA7219=m
-CONFIG_SND_SOC_DMIC=m
-CONFIG_SND_SOC_HDMI_CODEC=m
-# CONFIG_SND_SOC_ES7134 is not set
-# CONFIG_SND_SOC_ES7241 is not set
-# CONFIG_SND_SOC_ES8316 is not set
-CONFIG_SND_SOC_ES8328=m
-CONFIG_SND_SOC_ES8328_I2C=m
-CONFIG_SND_SOC_ES8328_SPI=m
-# CONFIG_SND_SOC_GTM601 is not set
-# CONFIG_SND_SOC_ICS43432 is not set
-# CONFIG_SND_SOC_INNO_RK3036 is not set
-# CONFIG_SND_SOC_MAX98088 is not set
-CONFIG_SND_SOC_MAX98090=m
-CONFIG_SND_SOC_MAX98357A=m
-# CONFIG_SND_SOC_MAX98504 is not set
-# CONFIG_SND_SOC_MAX9867 is not set
-# CONFIG_SND_SOC_MAX98927 is not set
-# CONFIG_SND_SOC_MAX98520 is not set
-# CONFIG_SND_SOC_MAX98373_I2C is not set
-# CONFIG_SND_SOC_MAX98390 is not set
-# CONFIG_SND_SOC_MAX9860 is not set
-# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set
-# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
-# CONFIG_SND_SOC_PCM1681 is not set
-# CONFIG_SND_SOC_PCM1789_I2C is not set
-# CONFIG_SND_SOC_PCM179X_I2C is not set
-# CONFIG_SND_SOC_PCM179X_SPI is not set
-# CONFIG_SND_SOC_PCM186X_I2C is not set
-# CONFIG_SND_SOC_PCM186X_SPI is not set
-# CONFIG_SND_SOC_PCM3060_I2C is not set
-# CONFIG_SND_SOC_PCM3060_SPI is not set
-# CONFIG_SND_SOC_PCM3168A_I2C is not set
-# CONFIG_SND_SOC_PCM3168A_SPI is not set
-# CONFIG_SND_SOC_PCM5102A is not set
-# CONFIG_SND_SOC_PCM512x_I2C is not set
-# CONFIG_SND_SOC_PCM512x_SPI is not set
-CONFIG_SND_SOC_RK3328=m
-CONFIG_SND_SOC_RK817=m
-CONFIG_SND_SOC_RL6231=m
-CONFIG_SND_SOC_RT5514=m
-CONFIG_SND_SOC_RT5514_SPI=m
-# CONFIG_SND_SOC_RT5616 is not set
-# CONFIG_SND_SOC_RT5631 is not set
-# CONFIG_SND_SOC_RT5640 is not set
-CONFIG_SND_SOC_RT5645=m
-# CONFIG_SND_SOC_RT5659 is not set
-# CONFIG_SND_SOC_RT9120 is not set
-# CONFIG_SND_SOC_SGTL5000 is not set
-# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
-# CONFIG_SND_SOC_SIMPLE_MUX is not set
-# CONFIG_SND_SOC_SPDIF is not set
-# CONFIG_SND_SOC_SSM2305 is not set
-# CONFIG_SND_SOC_SSM2518 is not set
-# CONFIG_SND_SOC_SSM2602_SPI is not set
-# CONFIG_SND_SOC_SSM2602_I2C is not set
-# CONFIG_SND_SOC_SSM4567 is not set
-# CONFIG_SND_SOC_STA32X is not set
-# CONFIG_SND_SOC_STA350 is not set
-# CONFIG_SND_SOC_STI_SAS is not set
-# CONFIG_SND_SOC_TAS2552 is not set
-# CONFIG_SND_SOC_TAS2562 is not set
-# CONFIG_SND_SOC_TAS2764 is not set
-# CONFIG_SND_SOC_TAS2770 is not set
-# CONFIG_SND_SOC_TAS5086 is not set
-# CONFIG_SND_SOC_TAS571X is not set
-# CONFIG_SND_SOC_TAS5720 is not set
-# CONFIG_SND_SOC_TAS6424 is not set
-# CONFIG_SND_SOC_TDA7419 is not set
-# CONFIG_SND_SOC_TFA9879 is not set
-# CONFIG_SND_SOC_TFA989X is not set
-# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC31XX is not set
-# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
-# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
-# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
-# CONFIG_SND_SOC_TLV320ADCX140 is not set
-CONFIG_SND_SOC_TS3A227E=m
-# CONFIG_SND_SOC_TSCS42XX is not set
-# CONFIG_SND_SOC_TSCS454 is not set
-# CONFIG_SND_SOC_UDA1334 is not set
-# CONFIG_SND_SOC_WM8510 is not set
-# CONFIG_SND_SOC_WM8523 is not set
-# CONFIG_SND_SOC_WM8524 is not set
-# CONFIG_SND_SOC_WM8580 is not set
-# CONFIG_SND_SOC_WM8711 is not set
-# CONFIG_SND_SOC_WM8728 is not set
-# CONFIG_SND_SOC_WM8731 is not set
-# CONFIG_SND_SOC_WM8737 is not set
-# CONFIG_SND_SOC_WM8741 is not set
-# CONFIG_SND_SOC_WM8750 is not set
-# CONFIG_SND_SOC_WM8753 is not set
-# CONFIG_SND_SOC_WM8770 is not set
-# CONFIG_SND_SOC_WM8776 is not set
-# CONFIG_SND_SOC_WM8782 is not set
-# CONFIG_SND_SOC_WM8804_I2C is not set
-# CONFIG_SND_SOC_WM8804_SPI is not set
-# CONFIG_SND_SOC_WM8903 is not set
-# CONFIG_SND_SOC_WM8904 is not set
-# CONFIG_SND_SOC_WM8960 is not set
-# CONFIG_SND_SOC_WM8962 is not set
-# CONFIG_SND_SOC_WM8974 is not set
-# CONFIG_SND_SOC_WM8978 is not set
-# CONFIG_SND_SOC_WM8985 is not set
-# CONFIG_SND_SOC_ZL38060 is not set
-# CONFIG_SND_SOC_MAX9759 is not set
-# CONFIG_SND_SOC_MT6351 is not set
-# CONFIG_SND_SOC_MT6358 is not set
-# CONFIG_SND_SOC_MT6660 is not set
-# CONFIG_SND_SOC_NAU8315 is not set
-# CONFIG_SND_SOC_NAU8540 is not set
-# CONFIG_SND_SOC_NAU8810 is not set
-# CONFIG_SND_SOC_NAU8821 is not set
-# CONFIG_SND_SOC_NAU8822 is not set
-# CONFIG_SND_SOC_NAU8824 is not set
-# CONFIG_SND_SOC_TPA6130A2 is not set
-# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
-# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
-# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
-# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
-# end of CODEC drivers
-
-CONFIG_SND_SIMPLE_CARD_UTILS=m
-CONFIG_SND_SIMPLE_CARD=m
-CONFIG_SND_AUDIO_GRAPH_CARD=m
-# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
-# CONFIG_SND_TEST_COMPONENT is not set
-# CONFIG_SND_VIRTIO is not set
-
-#
-# HID support
-#
-CONFIG_HID=y
-CONFIG_HID_BATTERY_STRENGTH=y
-CONFIG_HIDRAW=y
-CONFIG_UHID=m
-CONFIG_HID_GENERIC=y
-
-#
-# Special HID drivers
-#
-# CONFIG_HID_A4TECH is not set
-# CONFIG_HID_ACCUTOUCH is not set
-# CONFIG_HID_ACRUX is not set
-# CONFIG_HID_APPLE is not set
-# CONFIG_HID_APPLEIR is not set
-# CONFIG_HID_ASUS is not set
-# CONFIG_HID_AUREAL is not set
-# CONFIG_HID_BELKIN is not set
-# CONFIG_HID_BETOP_FF is not set
-# CONFIG_HID_BIGBEN_FF is not set
-# CONFIG_HID_CHERRY is not set
-# CONFIG_HID_CHICONY is not set
-# CONFIG_HID_CORSAIR is not set
-# CONFIG_HID_COUGAR is not set
-# CONFIG_HID_MACALLY is not set
-# CONFIG_HID_PRODIKEYS is not set
-# CONFIG_HID_CMEDIA is not set
-# CONFIG_HID_CP2112 is not set
-# CONFIG_HID_CREATIVE_SB0540 is not set
-# CONFIG_HID_CYPRESS is not set
-# CONFIG_HID_DRAGONRISE is not set
-# CONFIG_HID_EMS_FF is not set
-# CONFIG_HID_ELAN is not set
-# CONFIG_HID_ELECOM is not set
-# CONFIG_HID_ELO is not set
-# CONFIG_HID_EZKEY is not set
-# CONFIG_HID_FT260 is not set
-# CONFIG_HID_GEMBIRD is not set
-# CONFIG_HID_GFRM is not set
-# CONFIG_HID_GLORIOUS is not set
-# CONFIG_HID_HOLTEK is not set
-# CONFIG_HID_GOOGLE_HAMMER is not set
-# CONFIG_HID_VIVALDI is not set
-# CONFIG_HID_GT683R is not set
-# CONFIG_HID_KEYTOUCH is not set
-# CONFIG_HID_KYE is not set
-CONFIG_HID_UCLOGIC=m
-# CONFIG_HID_WALTOP is not set
-# CONFIG_HID_VIEWSONIC is not set
-# CONFIG_HID_XIAOMI is not set
-# CONFIG_HID_GYRATION is not set
-# CONFIG_HID_ICADE is not set
-# CONFIG_HID_ITE is not set
-# CONFIG_HID_JABRA is not set
-# CONFIG_HID_TWINHAN is not set
-# CONFIG_HID_KENSINGTON is not set
-# CONFIG_HID_LCPOWER is not set
-CONFIG_HID_LED=m
-# CONFIG_HID_LENOVO is not set
-CONFIG_HID_LOGITECH=m
-CONFIG_HID_LOGITECH_DJ=m
-CONFIG_HID_LOGITECH_HIDPP=m
-# CONFIG_LOGITECH_FF is not set
-# CONFIG_LOGIRUMBLEPAD2_FF is not set
-# CONFIG_LOGIG940_FF is not set
-# CONFIG_LOGIWHEELS_FF is not set
-# CONFIG_HID_MAGICMOUSE is not set
-# CONFIG_HID_MALTRON is not set
-# CONFIG_HID_MAYFLASH is not set
-# CONFIG_HID_REDRAGON is not set
-# CONFIG_HID_MICROSOFT is not set
-# CONFIG_HID_MONTEREY is not set
-CONFIG_HID_MULTITOUCH=m
-# CONFIG_HID_NINTENDO is not set
-# CONFIG_HID_NTI is not set
-# CONFIG_HID_NTRIG is not set
-# CONFIG_HID_ORTEK is not set
-# CONFIG_HID_PANTHERLORD is not set
-# CONFIG_HID_PENMOUNT is not set
-# CONFIG_HID_PETALYNX is not set
-# CONFIG_HID_PICOLCD is not set
-# CONFIG_HID_PLANTRONICS is not set
-# CONFIG_HID_PLAYSTATION is not set
-# CONFIG_HID_PRIMAX is not set
-# CONFIG_HID_RETRODE is not set
-# CONFIG_HID_ROCCAT is not set
-# CONFIG_HID_SAITEK is not set
-# CONFIG_HID_SAMSUNG is not set
-# CONFIG_HID_SEMITEK is not set
-# CONFIG_HID_SONY is not set
-# CONFIG_HID_SPEEDLINK is not set
-# CONFIG_HID_STEAM is not set
-# CONFIG_HID_STEELSERIES is not set
-# CONFIG_HID_SUNPLUS is not set
-# CONFIG_HID_RMI is not set
-# CONFIG_HID_GREENASIA is not set
-# CONFIG_HID_SMARTJOYPLUS is not set
-# CONFIG_HID_TIVO is not set
-# CONFIG_HID_TOPSEED is not set
-# CONFIG_HID_THINGM is not set
-# CONFIG_HID_THRUSTMASTER is not set
-# CONFIG_HID_UDRAW_PS3 is not set
-# CONFIG_HID_U2FZERO is not set
-# CONFIG_HID_WACOM is not set
-# CONFIG_HID_WIIMOTE is not set
-# CONFIG_HID_XINMO is not set
-# CONFIG_HID_ZEROPLUS is not set
-# CONFIG_HID_ZYDACRON is not set
-# CONFIG_HID_SENSOR_HUB is not set
-# CONFIG_HID_ALPS is not set
-# CONFIG_HID_MCP2221 is not set
-# end of Special HID drivers
-
-#
-# USB HID support
-#
-CONFIG_USB_HID=y
-CONFIG_HID_PID=y
-CONFIG_USB_HIDDEV=y
-# end of USB HID support
-
-#
-# I2C HID support
-#
-CONFIG_I2C_HID_ACPI=m
-CONFIG_I2C_HID_OF=m
-# CONFIG_I2C_HID_OF_GOODIX is not set
-# end of I2C HID support
-
-CONFIG_I2C_HID_CORE=m
-# end of HID support
-
-CONFIG_USB_OHCI_LITTLE_ENDIAN=y
-CONFIG_USB_SUPPORT=y
-CONFIG_USB_COMMON=y
-# CONFIG_USB_LED_TRIG is not set
-CONFIG_USB_ULPI_BUS=y
-# CONFIG_USB_CONN_GPIO is not set
-CONFIG_USB_ARCH_HAS_HCD=y
-CONFIG_USB=y
-CONFIG_USB_PCI=y
-CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
-
-#
-# Miscellaneous USB options
-#
-CONFIG_USB_DEFAULT_PERSIST=y
-# CONFIG_USB_FEW_INIT_RETRIES is not set
-# CONFIG_USB_DYNAMIC_MINORS is not set
-CONFIG_USB_OTG=y
-# CONFIG_USB_OTG_PRODUCTLIST is not set
-# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set
-# CONFIG_USB_OTG_FSM is not set
-# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
-CONFIG_USB_AUTOSUSPEND_DELAY=2
-CONFIG_USB_MON=m
-
-#
-# USB Host Controller Drivers
-#
-# CONFIG_USB_C67X00_HCD is not set
-CONFIG_USB_XHCI_HCD=y
-# CONFIG_USB_XHCI_DBGCAP is not set
-CONFIG_USB_XHCI_PCI=y
-# CONFIG_USB_XHCI_PCI_RENESAS is not set
-CONFIG_USB_XHCI_PLATFORM=y
-CONFIG_USB_EHCI_HCD=y
-CONFIG_USB_EHCI_ROOT_HUB_TT=y
-CONFIG_USB_EHCI_TT_NEWSCHED=y
-CONFIG_USB_EHCI_PCI=y
-# CONFIG_USB_EHCI_FSL is not set
-CONFIG_USB_EHCI_HCD_PLATFORM=y
-# CONFIG_USB_OXU210HP_HCD is not set
-# CONFIG_USB_ISP116X_HCD is not set
-# CONFIG_USB_FOTG210_HCD is not set
-# CONFIG_USB_MAX3421_HCD is not set
-CONFIG_USB_OHCI_HCD=y
-CONFIG_USB_OHCI_HCD_PCI=y
-CONFIG_USB_OHCI_HCD_PLATFORM=y
-# CONFIG_USB_UHCI_HCD is not set
-# CONFIG_USB_SL811_HCD is not set
-# CONFIG_USB_R8A66597_HCD is not set
-# CONFIG_USB_HCD_SSB is not set
-# CONFIG_USB_HCD_TEST_MODE is not set
-
-#
-# USB Device Class drivers
-#
-CONFIG_USB_ACM=m
-# CONFIG_USB_PRINTER is not set
-CONFIG_USB_WDM=m
-CONFIG_USB_TMC=m
-
-#
-# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
-#
-
-#
-# also be needed; see USB_STORAGE Help for more info
-#
-CONFIG_USB_STORAGE=y
-# CONFIG_USB_STORAGE_DEBUG is not set
-CONFIG_USB_STORAGE_REALTEK=m
-CONFIG_REALTEK_AUTOPM=y
-CONFIG_USB_STORAGE_DATAFAB=m
-CONFIG_USB_STORAGE_FREECOM=m
-CONFIG_USB_STORAGE_ISD200=m
-CONFIG_USB_STORAGE_USBAT=m
-CONFIG_USB_STORAGE_SDDR09=m
-CONFIG_USB_STORAGE_SDDR55=m
-CONFIG_USB_STORAGE_JUMPSHOT=m
-CONFIG_USB_STORAGE_ALAUDA=m
-CONFIG_USB_STORAGE_ONETOUCH=m
-CONFIG_USB_STORAGE_KARMA=m
-CONFIG_USB_STORAGE_CYPRESS_ATACB=m
-CONFIG_USB_STORAGE_ENE_UB6250=m
-CONFIG_USB_UAS=y
-
-#
-# USB Imaging devices
-#
-# CONFIG_USB_MDC800 is not set
-# CONFIG_USB_MICROTEK is not set
-CONFIG_USBIP_CORE=m
-CONFIG_USBIP_VHCI_HCD=m
-CONFIG_USBIP_VHCI_HC_PORTS=8
-CONFIG_USBIP_VHCI_NR_HCS=1
-CONFIG_USBIP_HOST=m
-# CONFIG_USBIP_DEBUG is not set
-# CONFIG_USB_CDNS_SUPPORT is not set
-# CONFIG_USB_MUSB_HDRC is not set
-CONFIG_USB_DWC3=y
-CONFIG_USB_DWC3_ULPI=y
-CONFIG_USB_DWC3_HOST=y
-
-#
-# Platform Glue Driver Support
-#
-CONFIG_USB_DWC3_PCI=y
-CONFIG_USB_DWC3_HAPS=y
-CONFIG_USB_DWC3_OF_SIMPLE=y
-CONFIG_USB_DWC2=y
-CONFIG_USB_DWC2_HOST=y
-
-#
-# Gadget/Dual-role mode requires USB Gadget support to be enabled
-#
-CONFIG_USB_DWC2_PCI=y
-# CONFIG_USB_DWC2_DEBUG is not set
-# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
-CONFIG_USB_CHIPIDEA=y
-CONFIG_USB_CHIPIDEA_HOST=y
-CONFIG_USB_CHIPIDEA_PCI=y
-CONFIG_USB_CHIPIDEA_MSM=y
-CONFIG_USB_CHIPIDEA_IMX=y
-CONFIG_USB_CHIPIDEA_GENERIC=y
-CONFIG_USB_CHIPIDEA_TEGRA=y
-CONFIG_USB_ISP1760=y
-CONFIG_USB_ISP1760_HCD=y
-CONFIG_USB_ISP1760_HOST_ROLE=y
-
-#
-# USB port drivers
-#
-CONFIG_USB_SERIAL=m
-CONFIG_USB_SERIAL_GENERIC=y
-CONFIG_USB_SERIAL_SIMPLE=m
-CONFIG_USB_SERIAL_AIRCABLE=m
-CONFIG_USB_SERIAL_ARK3116=m
-CONFIG_USB_SERIAL_BELKIN=m
-CONFIG_USB_SERIAL_CH341=m
-CONFIG_USB_SERIAL_WHITEHEAT=m
-CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m
-CONFIG_USB_SERIAL_CP210X=m
-CONFIG_USB_SERIAL_CYPRESS_M8=m
-CONFIG_USB_SERIAL_EMPEG=m
-CONFIG_USB_SERIAL_FTDI_SIO=m
-CONFIG_USB_SERIAL_VISOR=m
-CONFIG_USB_SERIAL_IPAQ=m
-CONFIG_USB_SERIAL_IR=m
-CONFIG_USB_SERIAL_EDGEPORT=m
-CONFIG_USB_SERIAL_EDGEPORT_TI=m
-CONFIG_USB_SERIAL_F81232=m
-CONFIG_USB_SERIAL_F8153X=m
-CONFIG_USB_SERIAL_GARMIN=m
-CONFIG_USB_SERIAL_IPW=m
-CONFIG_USB_SERIAL_IUU=m
-CONFIG_USB_SERIAL_KEYSPAN_PDA=m
-CONFIG_USB_SERIAL_KEYSPAN=m
-CONFIG_USB_SERIAL_KLSI=m
-CONFIG_USB_SERIAL_KOBIL_SCT=m
-CONFIG_USB_SERIAL_MCT_U232=m
-CONFIG_USB_SERIAL_METRO=m
-CONFIG_USB_SERIAL_MOS7720=m
-CONFIG_USB_SERIAL_MOS7840=m
-CONFIG_USB_SERIAL_MXUPORT=m
-CONFIG_USB_SERIAL_NAVMAN=m
-CONFIG_USB_SERIAL_PL2303=m
-CONFIG_USB_SERIAL_OTI6858=m
-CONFIG_USB_SERIAL_QCAUX=m
-CONFIG_USB_SERIAL_QUALCOMM=m
-CONFIG_USB_SERIAL_SPCP8X5=m
-CONFIG_USB_SERIAL_SAFE=m
-CONFIG_USB_SERIAL_SAFE_PADDED=y
-CONFIG_USB_SERIAL_SIERRAWIRELESS=m
-CONFIG_USB_SERIAL_SYMBOL=m
-CONFIG_USB_SERIAL_TI=m
-CONFIG_USB_SERIAL_CYBERJACK=m
-CONFIG_USB_SERIAL_WWAN=m
-CONFIG_USB_SERIAL_OPTION=m
-CONFIG_USB_SERIAL_OMNINET=m
-CONFIG_USB_SERIAL_OPTICON=m
-CONFIG_USB_SERIAL_XSENS_MT=m
-CONFIG_USB_SERIAL_WISHBONE=m
-CONFIG_USB_SERIAL_SSU100=m
-CONFIG_USB_SERIAL_QT2=m
-# CONFIG_USB_SERIAL_UPD78F0730 is not set
-# CONFIG_USB_SERIAL_XR is not set
-# CONFIG_USB_SERIAL_DEBUG is not set
-
-#
-# USB Miscellaneous drivers
-#
-# CONFIG_USB_EMI62 is not set
-# CONFIG_USB_EMI26 is not set
-# CONFIG_USB_ADUTUX is not set
-# CONFIG_USB_SEVSEG is not set
-# CONFIG_USB_LEGOTOWER is not set
-# CONFIG_USB_LCD is not set
-# CONFIG_USB_CYPRESS_CY7C63 is not set
-# CONFIG_USB_CYTHERM is not set
-# CONFIG_USB_IDMOUSE is not set
-# CONFIG_USB_FTDI_ELAN is not set
-# CONFIG_USB_APPLEDISPLAY is not set
-# CONFIG_APPLE_MFI_FASTCHARGE is not set
-# CONFIG_USB_SISUSBVGA is not set
-# CONFIG_USB_LD is not set
-# CONFIG_USB_TRANCEVIBRATOR is not set
-# CONFIG_USB_IOWARRIOR is not set
-# CONFIG_USB_TEST is not set
-# CONFIG_USB_EHSET_TEST_FIXTURE is not set
-# CONFIG_USB_ISIGHTFW is not set
-# CONFIG_USB_YUREX is not set
-CONFIG_USB_EZUSB_FX2=m
-# CONFIG_USB_HUB_USB251XB is not set
-CONFIG_USB_HSIC_USB3503=m
-# CONFIG_USB_HSIC_USB4604 is not set
-# CONFIG_USB_LINK_LAYER_TEST is not set
-# CONFIG_USB_CHAOSKEY is not set
-
-#
-# USB Physical Layer drivers
-#
-CONFIG_USB_PHY=y
-CONFIG_NOP_USB_XCEIV=y
-# CONFIG_USB_GPIO_VBUS is not set
-# CONFIG_USB_ISP1301 is not set
-CONFIG_USB_ULPI=y
-CONFIG_USB_ULPI_VIEWPORT=y
-# end of USB Physical Layer drivers
-
-# CONFIG_USB_GADGET is not set
-CONFIG_TYPEC=y
-CONFIG_TYPEC_TCPM=m
-# CONFIG_TYPEC_TCPCI is not set
-# CONFIG_TYPEC_FUSB302 is not set
-CONFIG_TYPEC_UCSI=m
-# CONFIG_UCSI_CCG is not set
-CONFIG_UCSI_ACPI=m
-# CONFIG_TYPEC_TPS6598X is not set
-# CONFIG_TYPEC_HD3SS3220 is not set
-# CONFIG_TYPEC_STUSB160X is not set
-
-#
-# USB Type-C Multiplexer/DeMultiplexer Switch support
-#
-# CONFIG_TYPEC_MUX_PI3USB30532 is not set
-# end of USB Type-C Multiplexer/DeMultiplexer Switch support
-
-#
-# USB Type-C Alternate Mode drivers
-#
-CONFIG_TYPEC_DP_ALTMODE=m
-# CONFIG_TYPEC_NVIDIA_ALTMODE is not set
-# end of USB Type-C Alternate Mode drivers
-
-CONFIG_USB_ROLE_SWITCH=y
-CONFIG_MMC=y
-CONFIG_PWRSEQ_EMMC=y
-# CONFIG_PWRSEQ_SD8787 is not set
-CONFIG_PWRSEQ_SIMPLE=y
-CONFIG_MMC_BLOCK=y
-CONFIG_MMC_BLOCK_MINORS=32
-# CONFIG_SDIO_UART is not set
-# CONFIG_MMC_TEST is not set
-
-#
-# MMC/SD/SDIO Host Controller Drivers
-#
-# CONFIG_MMC_DEBUG is not set
-# CONFIG_MMC_ARMMMCI is not set
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_IO_ACCESSORS=y
-CONFIG_MMC_SDHCI_PCI=y
-# CONFIG_MMC_RICOH_MMC is not set
-# CONFIG_MMC_SDHCI_ACPI is not set
-CONFIG_MMC_SDHCI_PLTFM=y
-CONFIG_MMC_SDHCI_OF_ARASAN=y
-# CONFIG_MMC_SDHCI_OF_ASPEED is not set
-# CONFIG_MMC_SDHCI_OF_AT91 is not set
-# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set
-# CONFIG_MMC_SDHCI_CADENCE is not set
-# CONFIG_MMC_SDHCI_F_SDH30 is not set
-# CONFIG_MMC_SDHCI_MILBEAUT is not set
-# CONFIG_MMC_TIFM_SD is not set
-# CONFIG_MMC_SPI is not set
-# CONFIG_MMC_CB710 is not set
-# CONFIG_MMC_VIA_SDMMC is not set
-CONFIG_MMC_DW=y
-CONFIG_MMC_DW_PLTFM=y
-# CONFIG_MMC_DW_BLUEFIELD is not set
-# CONFIG_MMC_DW_EXYNOS is not set
-# CONFIG_MMC_DW_HI3798CV200 is not set
-# CONFIG_MMC_DW_K3 is not set
-CONFIG_MMC_DW_PCI=y
-CONFIG_MMC_DW_ROCKCHIP=y
-# CONFIG_MMC_VUB300 is not set
-# CONFIG_MMC_USHC is not set
-# CONFIG_MMC_USDHI6ROL0 is not set
-CONFIG_MMC_CQHCI=y
-CONFIG_MMC_HSQ=y
-# CONFIG_MMC_TOSHIBA_PCI is not set
-# CONFIG_MMC_MTK is not set
-# CONFIG_MMC_SDHCI_XENON is not set
-# CONFIG_MMC_SDHCI_OMAP is not set
-# CONFIG_MMC_SDHCI_AM654 is not set
-# CONFIG_MEMSTICK is not set
-CONFIG_NEW_LEDS=y
-CONFIG_LEDS_CLASS=y
-CONFIG_LEDS_CLASS_FLASH=m
-CONFIG_LEDS_CLASS_MULTICOLOR=m
-# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
-
-#
-# LED drivers
-#
-# CONFIG_LEDS_AN30259A is not set
-# CONFIG_LEDS_AW2013 is not set
-# CONFIG_LEDS_BCM6328 is not set
-# CONFIG_LEDS_BCM6358 is not set
-# CONFIG_LEDS_CR0014114 is not set
-# CONFIG_LEDS_EL15203000 is not set
-# CONFIG_LEDS_LM3530 is not set
-# CONFIG_LEDS_LM3532 is not set
-# CONFIG_LEDS_LM3642 is not set
-# CONFIG_LEDS_LM3692X is not set
-# CONFIG_LEDS_MT6323 is not set
-# CONFIG_LEDS_PCA9532 is not set
-# CONFIG_LEDS_GPIO is not set
-# CONFIG_LEDS_LP3944 is not set
-# CONFIG_LEDS_LP3952 is not set
-# CONFIG_LEDS_LP50XX is not set
-# CONFIG_LEDS_LP55XX_COMMON is not set
-# CONFIG_LEDS_LP8860 is not set
-# CONFIG_LEDS_PCA955X is not set
-# CONFIG_LEDS_PCA963X is not set
-# CONFIG_LEDS_DAC124S085 is not set
-# CONFIG_LEDS_PWM is not set
-# CONFIG_LEDS_REGULATOR is not set
-# CONFIG_LEDS_BD2802 is not set
-# CONFIG_LEDS_LT3593 is not set
-# CONFIG_LEDS_TCA6507 is not set
-# CONFIG_LEDS_TLC591XX is not set
-# CONFIG_LEDS_LM355x is not set
-# CONFIG_LEDS_IS31FL319X is not set
-# CONFIG_LEDS_IS31FL32XX is not set
-
-#
-# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
-#
-CONFIG_LEDS_BLINKM=m
-CONFIG_LEDS_SYSCON=y
-# CONFIG_LEDS_MLXREG is not set
-CONFIG_LEDS_USER=m
-# CONFIG_LEDS_SPI_BYTE is not set
-# CONFIG_LEDS_TI_LMU_COMMON is not set
-
-#
-# Flash and Torch LED drivers
-#
-# CONFIG_LEDS_AAT1290 is not set
-# CONFIG_LEDS_AS3645A is not set
-# CONFIG_LEDS_KTD2692 is not set
-# CONFIG_LEDS_LM3601X is not set
-# CONFIG_LEDS_RT4505 is not set
-# CONFIG_LEDS_RT8515 is not set
-# CONFIG_LEDS_SGM3140 is not set
-
-#
-# LED Triggers
-#
-CONFIG_LEDS_TRIGGERS=y
-# CONFIG_LEDS_TRIGGER_TIMER is not set
-# CONFIG_LEDS_TRIGGER_ONESHOT is not set
-# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
-# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
-# CONFIG_LEDS_TRIGGER_CPU is not set
-# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
-# CONFIG_LEDS_TRIGGER_GPIO is not set
-# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
-
-#
-# iptables trigger is under Netfilter config (LED target)
-#
-# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
-# CONFIG_LEDS_TRIGGER_CAMERA is not set
-# CONFIG_LEDS_TRIGGER_PANIC is not set
-# CONFIG_LEDS_TRIGGER_NETDEV is not set
-# CONFIG_LEDS_TRIGGER_PATTERN is not set
-# CONFIG_LEDS_TRIGGER_AUDIO is not set
-CONFIG_LEDS_TRIGGER_TTY=m
-# CONFIG_ACCESSIBILITY is not set
-# CONFIG_INFINIBAND is not set
-CONFIG_EDAC_SUPPORT=y
-# CONFIG_EDAC is not set
-CONFIG_RTC_LIB=y
-CONFIG_RTC_CLASS=y
-CONFIG_RTC_HCTOSYS=y
-CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
-CONFIG_RTC_SYSTOHC=y
-CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
-# CONFIG_RTC_DEBUG is not set
-CONFIG_RTC_NVMEM=y
-
-#
-# RTC interfaces
-#
-CONFIG_RTC_INTF_SYSFS=y
-CONFIG_RTC_INTF_PROC=y
-CONFIG_RTC_INTF_DEV=y
-# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
-# CONFIG_RTC_DRV_TEST is not set
-
-#
-# I2C RTC drivers
-#
-# CONFIG_RTC_DRV_ABB5ZES3 is not set
-# CONFIG_RTC_DRV_ABEOZ9 is not set
-# CONFIG_RTC_DRV_ABX80X is not set
-# CONFIG_RTC_DRV_AS3722 is not set
-# CONFIG_RTC_DRV_DS1307 is not set
-# CONFIG_RTC_DRV_DS1374 is not set
-# CONFIG_RTC_DRV_DS1672 is not set
-# CONFIG_RTC_DRV_HYM8563 is not set
-# CONFIG_RTC_DRV_MAX6900 is not set
-# CONFIG_RTC_DRV_MAX77686 is not set
-CONFIG_RTC_DRV_RK808=y
-# CONFIG_RTC_DRV_RS5C372 is not set
-# CONFIG_RTC_DRV_ISL1208 is not set
-# CONFIG_RTC_DRV_ISL12022 is not set
-# CONFIG_RTC_DRV_ISL12026 is not set
-# CONFIG_RTC_DRV_X1205 is not set
-# CONFIG_RTC_DRV_PCF8523 is not set
-# CONFIG_RTC_DRV_PCF85063 is not set
-# CONFIG_RTC_DRV_PCF85363 is not set
-# CONFIG_RTC_DRV_PCF8563 is not set
-# CONFIG_RTC_DRV_PCF8583 is not set
-# CONFIG_RTC_DRV_M41T80 is not set
-# CONFIG_RTC_DRV_BQ32K is not set
-CONFIG_RTC_DRV_PALMAS=m
-CONFIG_RTC_DRV_TPS6586X=m
-# CONFIG_RTC_DRV_S35390A is not set
-# CONFIG_RTC_DRV_FM3130 is not set
-# CONFIG_RTC_DRV_RX8010 is not set
-# CONFIG_RTC_DRV_RX8581 is not set
-# CONFIG_RTC_DRV_RX8025 is not set
-# CONFIG_RTC_DRV_EM3027 is not set
-# CONFIG_RTC_DRV_RV3028 is not set
-# CONFIG_RTC_DRV_RV3032 is not set
-# CONFIG_RTC_DRV_RV8803 is not set
-# CONFIG_RTC_DRV_SD3078 is not set
-
-#
-# SPI RTC drivers
-#
-# CONFIG_RTC_DRV_M41T93 is not set
-# CONFIG_RTC_DRV_M41T94 is not set
-# CONFIG_RTC_DRV_DS1302 is not set
-# CONFIG_RTC_DRV_DS1305 is not set
-# CONFIG_RTC_DRV_DS1343 is not set
-# CONFIG_RTC_DRV_DS1347 is not set
-# CONFIG_RTC_DRV_DS1390 is not set
-# CONFIG_RTC_DRV_MAX6916 is not set
-# CONFIG_RTC_DRV_R9701 is not set
-# CONFIG_RTC_DRV_RX4581 is not set
-# CONFIG_RTC_DRV_RS5C348 is not set
-# CONFIG_RTC_DRV_MAX6902 is not set
-# CONFIG_RTC_DRV_PCF2123 is not set
-# CONFIG_RTC_DRV_MCP795 is not set
-CONFIG_RTC_I2C_AND_SPI=y
-
-#
-# SPI and I2C RTC drivers
-#
-# CONFIG_RTC_DRV_DS3232 is not set
-# CONFIG_RTC_DRV_PCF2127 is not set
-CONFIG_RTC_DRV_RV3029C2=m
-CONFIG_RTC_DRV_RV3029_HWMON=y
-# CONFIG_RTC_DRV_RX6110 is not set
-
-#
-# Platform RTC drivers
-#
-# CONFIG_RTC_DRV_DS1286 is not set
-# CONFIG_RTC_DRV_DS1511 is not set
-# CONFIG_RTC_DRV_DS1553 is not set
-# CONFIG_RTC_DRV_DS1685_FAMILY is not set
-# CONFIG_RTC_DRV_DS1742 is not set
-# CONFIG_RTC_DRV_DS2404 is not set
-CONFIG_RTC_DRV_EFI=m
-# CONFIG_RTC_DRV_STK17TA8 is not set
-# CONFIG_RTC_DRV_M48T86 is not set
-# CONFIG_RTC_DRV_M48T35 is not set
-# CONFIG_RTC_DRV_M48T59 is not set
-# CONFIG_RTC_DRV_MSM6242 is not set
-# CONFIG_RTC_DRV_BQ4802 is not set
-# CONFIG_RTC_DRV_RP5C01 is not set
-# CONFIG_RTC_DRV_V3020 is not set
-# CONFIG_RTC_DRV_ZYNQMP is not set
-CONFIG_RTC_DRV_CROS_EC=m
-
-#
-# on-CPU RTC drivers
-#
-# CONFIG_RTC_DRV_PL030 is not set
-# CONFIG_RTC_DRV_PL031 is not set
-# CONFIG_RTC_DRV_CADENCE is not set
-# CONFIG_RTC_DRV_FTRTC010 is not set
-CONFIG_RTC_DRV_MT6397=m
-# CONFIG_RTC_DRV_R7301 is not set
-
-#
-# HID Sensor RTC drivers
-#
-# CONFIG_RTC_DRV_GOLDFISH is not set
-CONFIG_DMADEVICES=y
-# CONFIG_DMADEVICES_DEBUG is not set
-
-#
-# DMA Devices
-#
-CONFIG_ASYNC_TX_ENABLE_CHANNEL_SWITCH=y
-CONFIG_DMA_ENGINE=y
-CONFIG_DMA_ACPI=y
-CONFIG_DMA_OF=y
-# CONFIG_ALTERA_MSGDMA is not set
-# CONFIG_AMBA_PL08X is not set
-# CONFIG_BCM_SBA_RAID is not set
-# CONFIG_DW_AXI_DMAC is not set
-# CONFIG_FSL_EDMA is not set
-# CONFIG_FSL_QDMA is not set
-# CONFIG_HISI_DMA is not set
-# CONFIG_INTEL_IDMA64 is not set
-CONFIG_MV_XOR_V2=y
-CONFIG_PL330_DMA=y
-# CONFIG_PLX_DMA is not set
-# CONFIG_XILINX_DMA is not set
-# CONFIG_XILINX_ZYNQMP_DMA is not set
-# CONFIG_XILINX_ZYNQMP_DPDMA is not set
-CONFIG_QCOM_HIDMA_MGMT=y
-CONFIG_QCOM_HIDMA=y
-CONFIG_DW_DMAC_CORE=m
-CONFIG_DW_DMAC=m
-CONFIG_DW_DMAC_PCI=m
-# CONFIG_DW_EDMA is not set
-# CONFIG_DW_EDMA_PCIE is not set
-# CONFIG_SF_PDMA is not set
-
-#
-# DMA Clients
-#
-CONFIG_ASYNC_TX_DMA=y
-# CONFIG_DMATEST is not set
-CONFIG_DMA_ENGINE_RAID=y
-
-#
-# DMABUF options
-#
-CONFIG_SYNC_FILE=y
-# CONFIG_UDMABUF is not set
-# CONFIG_DMABUF_MOVE_NOTIFY is not set
-# CONFIG_DMABUF_DEBUG is not set
-# CONFIG_DMABUF_SELFTESTS is not set
-# CONFIG_DMABUF_HEAPS is not set
-# CONFIG_DMABUF_SYSFS_STATS is not set
-# end of DMABUF options
-
-# CONFIG_AUXDISPLAY is not set
-CONFIG_UIO=m
-# CONFIG_UIO_CIF is not set
-# CONFIG_UIO_PDRV_GENIRQ is not set
-# CONFIG_UIO_DMEM_GENIRQ is not set
-# CONFIG_UIO_AEC is not set
-# CONFIG_UIO_SERCOS3 is not set
-# CONFIG_UIO_PCI_GENERIC is not set
-# CONFIG_UIO_NETX is not set
-# CONFIG_UIO_PRUSS is not set
-# CONFIG_UIO_MF624 is not set
-CONFIG_VFIO=m
-CONFIG_VFIO_IOMMU_TYPE1=m
-CONFIG_VFIO_VIRQFD=m
-CONFIG_VFIO_NOIOMMU=y
-CONFIG_VFIO_PCI_CORE=m
-CONFIG_VFIO_PCI_MMAP=y
-CONFIG_VFIO_PCI_INTX=y
-CONFIG_VFIO_PCI=m
-CONFIG_VFIO_PLATFORM=m
-# CONFIG_VFIO_AMBA is not set
-# CONFIG_VFIO_PLATFORM_CALXEDAXGMAC_RESET is not set
-# CONFIG_VFIO_PLATFORM_AMDXGBE_RESET is not set
-CONFIG_VFIO_MDEV=m
-CONFIG_VIRT_DRIVERS=y
-# CONFIG_NITRO_ENCLAVES is not set
-CONFIG_VIRTIO=m
-CONFIG_VIRTIO_PCI_LIB=m
-CONFIG_VIRTIO_PCI_LIB_LEGACY=m
-CONFIG_VIRTIO_MENU=y
-CONFIG_VIRTIO_PCI=m
-CONFIG_VIRTIO_PCI_LEGACY=y
-CONFIG_VIRTIO_BALLOON=m
-CONFIG_VIRTIO_INPUT=m
-CONFIG_VIRTIO_MMIO=m
-CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
-CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
-# CONFIG_VDPA is not set
-CONFIG_VHOST_IOTLB=m
-CONFIG_VHOST=m
-CONFIG_VHOST_MENU=y
-CONFIG_VHOST_NET=m
-CONFIG_VHOST_VSOCK=m
-# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
-
-#
-# Microsoft Hyper-V guest support
-#
-# CONFIG_HYPERV is not set
-# end of Microsoft Hyper-V guest support
-
-# CONFIG_GREYBUS is not set
-# CONFIG_COMEDI is not set
-CONFIG_STAGING=y
-# CONFIG_PRISM2_USB is not set
-# CONFIG_RTL8192U is not set
-# CONFIG_RTLLIB is not set
-# CONFIG_RTL8723BS is not set
-# CONFIG_R8712U is not set
-CONFIG_R8188EU=m
-# CONFIG_RTS5208 is not set
-# CONFIG_VT6655 is not set
-# CONFIG_VT6656 is not set
-
-#
-# IIO staging drivers
-#
-
-#
-# Accelerometers
-#
-# CONFIG_ADIS16203 is not set
-# CONFIG_ADIS16240 is not set
-# end of Accelerometers
-
-#
-# Analog to digital converters
-#
-# CONFIG_AD7816 is not set
-# CONFIG_AD7280 is not set
-# end of Analog to digital converters
-
-#
-# Analog digital bi-direction converters
-#
-# CONFIG_ADT7316 is not set
-# end of Analog digital bi-direction converters
-
-#
-# Capacitance to digital converters
-#
-# CONFIG_AD7746 is not set
-# end of Capacitance to digital converters
-
-#
-# Direct Digital Synthesis
-#
-# CONFIG_AD9832 is not set
-# CONFIG_AD9834 is not set
-# end of Direct Digital Synthesis
-
-#
-# Network Analyzer, Impedance Converters
-#
-# CONFIG_AD5933 is not set
-# end of Network Analyzer, Impedance Converters
-
-#
-# Active energy metering IC
-#
-# CONFIG_ADE7854 is not set
-# end of Active energy metering IC
-
-#
-# Resolver to digital converters
-#
-# CONFIG_AD2S1210 is not set
-# end of Resolver to digital converters
-# end of IIO staging drivers
-
-# CONFIG_FB_SM750 is not set
-# CONFIG_STAGING_MEDIA is not set
-
-#
-# Android
-#
-# end of Android
-
-# CONFIG_STAGING_BOARD is not set
-# CONFIG_LTE_GDM724X is not set
-# CONFIG_GS_FPGABOOT is not set
-# CONFIG_UNISYSSPAR is not set
-# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
-# CONFIG_FB_TFT is not set
-# CONFIG_KS7010 is not set
-# CONFIG_PI433 is not set
-# CONFIG_XIL_AXIS_FIFO is not set
-# CONFIG_FIELDBUS_DEV is not set
-# CONFIG_WFX is not set
-# CONFIG_GOLDFISH is not set
-CONFIG_CHROME_PLATFORMS=y
-CONFIG_CHROMEOS_TBMC=m
-CONFIG_CROS_EC=y
-CONFIG_CROS_EC_I2C=y
-CONFIG_CROS_EC_SPI=y
-CONFIG_CROS_EC_PROTO=y
-CONFIG_CROS_KBD_LED_BACKLIGHT=m
-CONFIG_CROS_EC_CHARDEV=y
-CONFIG_CROS_EC_LIGHTBAR=y
-CONFIG_CROS_EC_VBC=m
-CONFIG_CROS_EC_SENSORHUB=y
-CONFIG_CROS_EC_SYSFS=m
-CONFIG_CROS_EC_TYPEC=y
-CONFIG_CROS_USBPD_LOGGER=m
-CONFIG_CROS_USBPD_NOTIFY=y
-# CONFIG_MELLANOX_PLATFORM is not set
-# CONFIG_SURFACE_PLATFORMS is not set
-CONFIG_HAVE_CLK=y
-CONFIG_HAVE_CLK_PREPARE=y
-CONFIG_COMMON_CLK=y
-
-#
-# Clock driver for ARM Reference designs
-#
-# CONFIG_CLK_ICST is not set
-# CONFIG_CLK_SP810 is not set
-# end of Clock driver for ARM Reference designs
-
-# CONFIG_LMK04832 is not set
-# CONFIG_COMMON_CLK_MAX77686 is not set
-# CONFIG_COMMON_CLK_MAX9485 is not set
-CONFIG_COMMON_CLK_RK808=y
-CONFIG_COMMON_CLK_SCPI=m
-# CONFIG_COMMON_CLK_SI5341 is not set
-# CONFIG_COMMON_CLK_SI5351 is not set
-# CONFIG_COMMON_CLK_SI514 is not set
-# CONFIG_COMMON_CLK_SI544 is not set
-# CONFIG_COMMON_CLK_SI570 is not set
-# CONFIG_COMMON_CLK_CDCE706 is not set
-# CONFIG_COMMON_CLK_CDCE925 is not set
-# CONFIG_COMMON_CLK_CS2000_CP is not set
-# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
-# CONFIG_COMMON_CLK_XGENE is not set
-# CONFIG_COMMON_CLK_PALMAS is not set
-# CONFIG_COMMON_CLK_PWM is not set
-# CONFIG_COMMON_CLK_VC5 is not set
-# CONFIG_COMMON_CLK_FIXED_MMIO is not set
-CONFIG_COMMON_CLK_ROCKCHIP=y
-CONFIG_CLK_PX30=y
-CONFIG_CLK_RK3308=y
-CONFIG_CLK_RK3328=y
-CONFIG_CLK_RK3368=y
-CONFIG_CLK_RK3399=y
-# CONFIG_CLK_RK3568 is not set
-# CONFIG_XILINX_VCU is not set
-# CONFIG_HWSPINLOCK is not set
-
-#
-# Clock Source drivers
-#
-CONFIG_TIMER_OF=y
-CONFIG_TIMER_ACPI=y
-CONFIG_TIMER_PROBE=y
-CONFIG_CLKSRC_MMIO=y
-CONFIG_ROCKCHIP_TIMER=y
-CONFIG_ARM_ARCH_TIMER=y
-CONFIG_ARM_ARCH_TIMER_EVTSTREAM=y
-CONFIG_ARM_ARCH_TIMER_OOL_WORKAROUND=y
-CONFIG_FSL_ERRATUM_A008585=y
-CONFIG_HISILICON_ERRATUM_161010101=y
-CONFIG_ARM64_ERRATUM_858921=y
-# CONFIG_MICROCHIP_PIT64B is not set
-# end of Clock Source drivers
-
-CONFIG_MAILBOX=y
-CONFIG_ARM_MHU=m
-# CONFIG_ARM_MHU_V2 is not set
-CONFIG_PLATFORM_MHU=m
-# CONFIG_PL320_MBOX is not set
-CONFIG_ROCKCHIP_MBOX=y
-CONFIG_PCC=y
-# CONFIG_ALTERA_MBOX is not set
-# CONFIG_MAILBOX_TEST is not set
-CONFIG_IOMMU_IOVA=y
-CONFIG_IOMMU_API=y
-CONFIG_IOMMU_SUPPORT=y
-
-#
-# Generic IOMMU Pagetable Support
-#
-CONFIG_IOMMU_IO_PGTABLE=y
-CONFIG_IOMMU_IO_PGTABLE_LPAE=y
-# CONFIG_IOMMU_IO_PGTABLE_LPAE_SELFTEST is not set
-CONFIG_IOMMU_IO_PGTABLE_ARMV7S=y
-# CONFIG_IOMMU_IO_PGTABLE_ARMV7S_SELFTEST is not set
-# end of Generic IOMMU Pagetable Support
-
-CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
-# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
-# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
-CONFIG_OF_IOMMU=y
-CONFIG_IOMMU_DMA=y
-CONFIG_ROCKCHIP_IOMMU=y
-# CONFIG_ARM_SMMU is not set
-# CONFIG_ARM_SMMU_V3 is not set
-# CONFIG_VIRTIO_IOMMU is not set
-
-#
-# Remoteproc drivers
-#
-# CONFIG_REMOTEPROC is not set
-# end of Remoteproc drivers
-
-#
-# Rpmsg drivers
-#
-# CONFIG_RPMSG_QCOM_GLINK_RPM is not set
-# CONFIG_RPMSG_VIRTIO is not set
-# end of Rpmsg drivers
-
-# CONFIG_SOUNDWIRE is not set
-
-#
-# SOC (System On Chip) specific Drivers
-#
-
-#
-# Amlogic SoC drivers
-#
-# end of Amlogic SoC drivers
-
-#
-# Broadcom SoC drivers
-#
-# CONFIG_SOC_BRCMSTB is not set
-# end of Broadcom SoC drivers
-
-#
-# NXP/Freescale QorIQ SoC drivers
-#
-# CONFIG_QUICC_ENGINE is not set
-# CONFIG_FSL_RCPM is not set
-# end of NXP/Freescale QorIQ SoC drivers
-
-#
-# i.MX SoC drivers
-#
-# end of i.MX SoC drivers
-
-#
-# Enable LiteX SoC Builder specific drivers
-#
-# CONFIG_LITEX_SOC_CONTROLLER is not set
-# end of Enable LiteX SoC Builder specific drivers
-
-#
-# Qualcomm SoC drivers
-#
-# end of Qualcomm SoC drivers
-
-CONFIG_ROCKCHIP_GRF=y
-CONFIG_ROCKCHIP_IODOMAIN=y
-CONFIG_ROCKCHIP_PM_DOMAINS=y
-# CONFIG_SOC_TI is not set
-
-#
-# Xilinx SoC drivers
-#
-# end of Xilinx SoC drivers
-# end of SOC (System On Chip) specific Drivers
-
-CONFIG_PM_DEVFREQ=y
-
-#
-# DEVFREQ Governors
-#
-CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=y
-CONFIG_DEVFREQ_GOV_PERFORMANCE=y
-CONFIG_DEVFREQ_GOV_POWERSAVE=y
-CONFIG_DEVFREQ_GOV_USERSPACE=y
-# CONFIG_DEVFREQ_GOV_PASSIVE is not set
-
-#
-# DEVFREQ Drivers
-#
-CONFIG_ARM_RK3399_DMC_DEVFREQ=m
-CONFIG_PM_DEVFREQ_EVENT=y
-CONFIG_DEVFREQ_EVENT_ROCKCHIP_DFI=m
-CONFIG_EXTCON=y
-
-#
-# Extcon Device Drivers
-#
-CONFIG_EXTCON_ADC_JACK=m
-# CONFIG_EXTCON_FSA9480 is not set
-CONFIG_EXTCON_GPIO=y
-# CONFIG_EXTCON_MAX3355 is not set
-# CONFIG_EXTCON_PALMAS is not set
-# CONFIG_EXTCON_PTN5150 is not set
-# CONFIG_EXTCON_RT8973A is not set
-# CONFIG_EXTCON_SM5502 is not set
-CONFIG_EXTCON_USB_GPIO=y
-CONFIG_EXTCON_USBC_CROS_EC=y
-# CONFIG_EXTCON_USBC_TUSB320 is not set
-CONFIG_MEMORY=y
-# CONFIG_ARM_PL172_MPMC is not set
-CONFIG_IIO=y
-CONFIG_IIO_BUFFER=y
-CONFIG_IIO_BUFFER_CB=y
-# CONFIG_IIO_BUFFER_DMA is not set
-# CONFIG_IIO_BUFFER_DMAENGINE is not set
-CONFIG_IIO_BUFFER_HW_CONSUMER=m
-CONFIG_IIO_KFIFO_BUF=y
-CONFIG_IIO_TRIGGERED_BUFFER=m
-CONFIG_IIO_CONFIGFS=m
-CONFIG_IIO_TRIGGER=y
-CONFIG_IIO_CONSUMERS_PER_TRIGGER=2
-CONFIG_IIO_SW_DEVICE=m
-CONFIG_IIO_SW_TRIGGER=m
-# CONFIG_IIO_TRIGGERED_EVENT is not set
-
-#
-# Accelerometers
-#
-# CONFIG_ADIS16201 is not set
-# CONFIG_ADIS16209 is not set
-# CONFIG_ADXL313_I2C is not set
-# CONFIG_ADXL313_SPI is not set
-# CONFIG_ADXL345_I2C is not set
-# CONFIG_ADXL345_SPI is not set
-# CONFIG_ADXL355_I2C is not set
-# CONFIG_ADXL355_SPI is not set
-# CONFIG_ADXL372_SPI is not set
-# CONFIG_ADXL372_I2C is not set
-# CONFIG_BMA180 is not set
-# CONFIG_BMA220 is not set
-# CONFIG_BMA400 is not set
-# CONFIG_BMC150_ACCEL is not set
-# CONFIG_BMI088_ACCEL is not set
-# CONFIG_DA280 is not set
-# CONFIG_DA311 is not set
-# CONFIG_DMARD06 is not set
-# CONFIG_DMARD09 is not set
-# CONFIG_DMARD10 is not set
-# CONFIG_FXLS8962AF_I2C is not set
-# CONFIG_FXLS8962AF_SPI is not set
-CONFIG_IIO_CROS_EC_ACCEL_LEGACY=m
-# CONFIG_IIO_ST_ACCEL_3AXIS is not set
-# CONFIG_KXSD9 is not set
-# CONFIG_KXCJK1013 is not set
-# CONFIG_MC3230 is not set
-# CONFIG_MMA7455_I2C is not set
-# CONFIG_MMA7455_SPI is not set
-# CONFIG_MMA7660 is not set
-# CONFIG_MMA8452 is not set
-# CONFIG_MMA9551 is not set
-# CONFIG_MMA9553 is not set
-# CONFIG_MXC4005 is not set
-# CONFIG_MXC6255 is not set
-# CONFIG_SCA3000 is not set
-# CONFIG_SCA3300 is not set
-# CONFIG_STK8312 is not set
-# CONFIG_STK8BA50 is not set
-# end of Accelerometers
-
-#
-# Analog to digital converters
-#
-# CONFIG_AD7091R5 is not set
-# CONFIG_AD7124 is not set
-# CONFIG_AD7192 is not set
-# CONFIG_AD7266 is not set
-# CONFIG_AD7291 is not set
-# CONFIG_AD7292 is not set
-# CONFIG_AD7298 is not set
-# CONFIG_AD7476 is not set
-# CONFIG_AD7606_IFACE_PARALLEL is not set
-# CONFIG_AD7606_IFACE_SPI is not set
-# CONFIG_AD7766 is not set
-# CONFIG_AD7768_1 is not set
-# CONFIG_AD7780 is not set
-# CONFIG_AD7791 is not set
-# CONFIG_AD7793 is not set
-# CONFIG_AD7887 is not set
-# CONFIG_AD7923 is not set
-# CONFIG_AD7949 is not set
-# CONFIG_AD799X is not set
-# CONFIG_ADI_AXI_ADC is not set
-# CONFIG_AXP20X_ADC is not set
-# CONFIG_AXP288_ADC is not set
-# CONFIG_CC10001_ADC is not set
-# CONFIG_ENVELOPE_DETECTOR is not set
-# CONFIG_HI8435 is not set
-# CONFIG_HX711 is not set
-# CONFIG_INA2XX_ADC is not set
-# CONFIG_LTC2471 is not set
-# CONFIG_LTC2485 is not set
-# CONFIG_LTC2496 is not set
-# CONFIG_LTC2497 is not set
-# CONFIG_MAX1027 is not set
-# CONFIG_MAX11100 is not set
-# CONFIG_MAX1118 is not set
-# CONFIG_MAX1241 is not set
-# CONFIG_MAX1363 is not set
-# CONFIG_MAX9611 is not set
-# CONFIG_MCP320X is not set
-# CONFIG_MCP3422 is not set
-# CONFIG_MCP3911 is not set
-# CONFIG_NAU7802 is not set
-# CONFIG_PALMAS_GPADC is not set
-CONFIG_QCOM_VADC_COMMON=m
-# CONFIG_QCOM_SPMI_IADC is not set
-CONFIG_QCOM_SPMI_VADC=m
-# CONFIG_QCOM_SPMI_ADC5 is not set
-CONFIG_ROCKCHIP_SARADC=m
-# CONFIG_SD_ADC_MODULATOR is not set
-# CONFIG_TI_ADC081C is not set
-# CONFIG_TI_ADC0832 is not set
-# CONFIG_TI_ADC084S021 is not set
-# CONFIG_TI_ADC12138 is not set
-# CONFIG_TI_ADC108S102 is not set
-# CONFIG_TI_ADC128S052 is not set
-# CONFIG_TI_ADC161S626 is not set
-# CONFIG_TI_ADS1015 is not set
-# CONFIG_TI_ADS7950 is not set
-# CONFIG_TI_ADS8344 is not set
-# CONFIG_TI_ADS8688 is not set
-# CONFIG_TI_ADS124S08 is not set
-# CONFIG_TI_ADS131E08 is not set
-# CONFIG_TI_TLC4541 is not set
-# CONFIG_TI_TSC2046 is not set
-# CONFIG_VF610_ADC is not set
-# CONFIG_XILINX_XADC is not set
-# end of Analog to digital converters
-
-#
-# Analog Front Ends
-#
-# CONFIG_IIO_RESCALE is not set
-# end of Analog Front Ends
-
-#
-# Amplifiers
-#
-CONFIG_AD8366=m
-# CONFIG_HMC425 is not set
-# end of Amplifiers
-
-#
-# Capacitance to digital converters
-#
-# CONFIG_AD7150 is not set
-# end of Capacitance to digital converters
-
-#
-# Chemical Sensors
-#
-# CONFIG_ATLAS_PH_SENSOR is not set
-# CONFIG_ATLAS_EZO_SENSOR is not set
-# CONFIG_BME680 is not set
-# CONFIG_CCS811 is not set
-# CONFIG_IAQCORE is not set
-# CONFIG_PMS7003 is not set
-# CONFIG_SCD30_CORE is not set
-# CONFIG_SCD4X is not set
-# CONFIG_SENSIRION_SGP30 is not set
-# CONFIG_SENSIRION_SGP40 is not set
-# CONFIG_SPS30_I2C is not set
-# CONFIG_SPS30_SERIAL is not set
-# CONFIG_SENSEAIR_SUNRISE_CO2 is not set
-# CONFIG_VZ89X is not set
-# end of Chemical Sensors
-
-CONFIG_IIO_CROS_EC_SENSORS_CORE=m
-CONFIG_IIO_CROS_EC_SENSORS=m
-CONFIG_IIO_CROS_EC_SENSORS_LID_ANGLE=m
-
-#
-# Hid Sensor IIO Common
-#
-# end of Hid Sensor IIO Common
-
-#
-# IIO SCMI Sensors
-#
-# end of IIO SCMI Sensors
-
-#
-# SSP Sensor Common
-#
-# CONFIG_IIO_SSP_SENSORHUB is not set
-# end of SSP Sensor Common
-
-#
-# Digital to analog converters
-#
-# CONFIG_AD5064 is not set
-# CONFIG_AD5360 is not set
-# CONFIG_AD5380 is not set
-# CONFIG_AD5421 is not set
-# CONFIG_AD5446 is not set
-# CONFIG_AD5449 is not set
-# CONFIG_AD5592R is not set
-# CONFIG_AD5593R is not set
-# CONFIG_AD5504 is not set
-# CONFIG_AD5624R_SPI is not set
-# CONFIG_AD5686_SPI is not set
-# CONFIG_AD5696_I2C is not set
-# CONFIG_AD5755 is not set
-# CONFIG_AD5758 is not set
-# CONFIG_AD5761 is not set
-# CONFIG_AD5764 is not set
-# CONFIG_AD5766 is not set
-# CONFIG_AD5770R is not set
-# CONFIG_AD5791 is not set
-# CONFIG_AD7303 is not set
-# CONFIG_AD8801 is not set
-# CONFIG_DPOT_DAC is not set
-# CONFIG_DS4424 is not set
-# CONFIG_LTC1660 is not set
-# CONFIG_LTC2632 is not set
-# CONFIG_M62332 is not set
-# CONFIG_MAX517 is not set
-# CONFIG_MAX5821 is not set
-# CONFIG_MCP4725 is not set
-# CONFIG_MCP4922 is not set
-# CONFIG_TI_DAC082S085 is not set
-# CONFIG_TI_DAC5571 is not set
-# CONFIG_TI_DAC7311 is not set
-# CONFIG_TI_DAC7612 is not set
-# CONFIG_VF610_DAC is not set
-# end of Digital to analog converters
-
-#
-# IIO dummy driver
-#
-# CONFIG_IIO_SIMPLE_DUMMY is not set
-# end of IIO dummy driver
-
-#
-# Frequency Synthesizers DDS/PLL
-#
-
-#
-# Clock Generator/Distribution
-#
-# CONFIG_AD9523 is not set
-# end of Clock Generator/Distribution
-
-#
-# Phase-Locked Loop (PLL) frequency synthesizers
-#
-# CONFIG_ADF4350 is not set
-# CONFIG_ADF4371 is not set
-# CONFIG_ADRF6780 is not set
-# end of Phase-Locked Loop (PLL) frequency synthesizers
-# end of Frequency Synthesizers DDS/PLL
-
-#
-# Digital gyroscope sensors
-#
-# CONFIG_ADIS16080 is not set
-# CONFIG_ADIS16130 is not set
-# CONFIG_ADIS16136 is not set
-# CONFIG_ADIS16260 is not set
-# CONFIG_ADXRS290 is not set
-# CONFIG_ADXRS450 is not set
-# CONFIG_BMG160 is not set
-# CONFIG_FXAS21002C is not set
-# CONFIG_MPU3050_I2C is not set
-# CONFIG_IIO_ST_GYRO_3AXIS is not set
-# CONFIG_ITG3200 is not set
-# end of Digital gyroscope sensors
-
-#
-# Health Sensors
-#
-
-#
-# Heart Rate Monitors
-#
-# CONFIG_AFE4403 is not set
-# CONFIG_AFE4404 is not set
-# CONFIG_MAX30100 is not set
-# CONFIG_MAX30102 is not set
-# end of Heart Rate Monitors
-# end of Health Sensors
-
-#
-# Humidity sensors
-#
-# CONFIG_AM2315 is not set
-# CONFIG_DHT11 is not set
-# CONFIG_HDC100X is not set
-# CONFIG_HDC2010 is not set
-# CONFIG_HTS221 is not set
-# CONFIG_HTU21 is not set
-# CONFIG_SI7005 is not set
-# CONFIG_SI7020 is not set
-# end of Humidity sensors
-
-#
-# Inertial measurement units
-#
-# CONFIG_ADIS16400 is not set
-# CONFIG_ADIS16460 is not set
-# CONFIG_ADIS16475 is not set
-# CONFIG_ADIS16480 is not set
-# CONFIG_BMI160_I2C is not set
-# CONFIG_BMI160_SPI is not set
-# CONFIG_FXOS8700_I2C is not set
-# CONFIG_FXOS8700_SPI is not set
-# CONFIG_KMX61 is not set
-# CONFIG_INV_ICM42600_I2C is not set
-# CONFIG_INV_ICM42600_SPI is not set
-# CONFIG_INV_MPU6050_I2C is not set
-# CONFIG_INV_MPU6050_SPI is not set
-# CONFIG_IIO_ST_LSM6DSX is not set
-# CONFIG_IIO_ST_LSM9DS0 is not set
-# end of Inertial measurement units
-
-#
-# Light sensors
-#
-# CONFIG_ACPI_ALS is not set
-# CONFIG_ADJD_S311 is not set
-# CONFIG_ADUX1020 is not set
-# CONFIG_AL3010 is not set
-# CONFIG_AL3320A is not set
-# CONFIG_APDS9300 is not set
-# CONFIG_APDS9960 is not set
-# CONFIG_AS73211 is not set
-# CONFIG_BH1750 is not set
-# CONFIG_BH1780 is not set
-# CONFIG_CM32181 is not set
-# CONFIG_CM3232 is not set
-# CONFIG_CM3323 is not set
-# CONFIG_CM3605 is not set
-# CONFIG_CM36651 is not set
-CONFIG_IIO_CROS_EC_LIGHT_PROX=m
-# CONFIG_GP2AP002 is not set
-# CONFIG_GP2AP020A00F is not set
-CONFIG_SENSORS_ISL29018=m
-# CONFIG_SENSORS_ISL29028 is not set
-# CONFIG_ISL29125 is not set
-# CONFIG_JSA1212 is not set
-# CONFIG_RPR0521 is not set
-# CONFIG_LTR501 is not set
-# CONFIG_LV0104CS is not set
-# CONFIG_MAX44000 is not set
-# CONFIG_MAX44009 is not set
-# CONFIG_NOA1305 is not set
-# CONFIG_OPT3001 is not set
-# CONFIG_PA12203001 is not set
-# CONFIG_SI1133 is not set
-# CONFIG_SI1145 is not set
-# CONFIG_STK3310 is not set
-# CONFIG_ST_UVIS25 is not set
-# CONFIG_TCS3414 is not set
-# CONFIG_TCS3472 is not set
-CONFIG_SENSORS_TSL2563=m
-CONFIG_TSL2583=m
-# CONFIG_TSL2591 is not set
-# CONFIG_TSL2772 is not set
-# CONFIG_TSL4531 is not set
-# CONFIG_US5182D is not set
-# CONFIG_VCNL4000 is not set
-# CONFIG_VCNL4035 is not set
-# CONFIG_VEML6030 is not set
-# CONFIG_VEML6070 is not set
-# CONFIG_VL6180 is not set
-# CONFIG_ZOPT2201 is not set
-# end of Light sensors
-
-#
-# Magnetometer sensors
-#
-CONFIG_AK8974=m
-CONFIG_AK8975=m
-# CONFIG_AK09911 is not set
-# CONFIG_BMC150_MAGN_I2C is not set
-# CONFIG_BMC150_MAGN_SPI is not set
-# CONFIG_MAG3110 is not set
-# CONFIG_MMC35240 is not set
-# CONFIG_IIO_ST_MAGN_3AXIS is not set
-# CONFIG_SENSORS_HMC5843_I2C is not set
-# CONFIG_SENSORS_HMC5843_SPI is not set
-# CONFIG_SENSORS_RM3100_I2C is not set
-# CONFIG_SENSORS_RM3100_SPI is not set
-# CONFIG_YAMAHA_YAS530 is not set
-# end of Magnetometer sensors
-
-#
-# Multiplexers
-#
-CONFIG_IIO_MUX=y
-# end of Multiplexers
-
-#
-# Inclinometer sensors
-#
-# end of Inclinometer sensors
-
-#
-# Triggers - standalone
-#
-CONFIG_IIO_HRTIMER_TRIGGER=m
-CONFIG_IIO_INTERRUPT_TRIGGER=m
-CONFIG_IIO_TIGHTLOOP_TRIGGER=m
-CONFIG_IIO_SYSFS_TRIGGER=m
-# end of Triggers - standalone
-
-#
-# Linear and angular position sensors
-#
-# end of Linear and angular position sensors
-
-#
-# Digital potentiometers
-#
-# CONFIG_AD5110 is not set
-# CONFIG_AD5272 is not set
-# CONFIG_DS1803 is not set
-# CONFIG_MAX5432 is not set
-# CONFIG_MAX5481 is not set
-# CONFIG_MAX5487 is not set
-# CONFIG_MCP4018 is not set
-# CONFIG_MCP4131 is not set
-# CONFIG_MCP4531 is not set
-# CONFIG_MCP41010 is not set
-# CONFIG_TPL0102 is not set
-# end of Digital potentiometers
-
-#
-# Digital potentiostats
-#
-# CONFIG_LMP91000 is not set
-# end of Digital potentiostats
-
-#
-# Pressure sensors
-#
-# CONFIG_ABP060MG is not set
-# CONFIG_BMP280 is not set
-CONFIG_IIO_CROS_EC_BARO=m
-# CONFIG_DLHL60D is not set
-# CONFIG_DPS310 is not set
-# CONFIG_HP03 is not set
-# CONFIG_ICP10100 is not set
-# CONFIG_MPL115_I2C is not set
-# CONFIG_MPL115_SPI is not set
-# CONFIG_MPL3115 is not set
-# CONFIG_MS5611 is not set
-# CONFIG_MS5637 is not set
-# CONFIG_IIO_ST_PRESS is not set
-# CONFIG_T5403 is not set
-# CONFIG_HP206C is not set
-# CONFIG_ZPA2326 is not set
-# end of Pressure sensors
-
-#
-# Lightning sensors
-#
-# CONFIG_AS3935 is not set
-# end of Lightning sensors
-
-#
-# Proximity and distance sensors
-#
-CONFIG_CROS_EC_MKBP_PROXIMITY=m
-# CONFIG_ISL29501 is not set
-# CONFIG_LIDAR_LITE_V2 is not set
-# CONFIG_MB1232 is not set
-# CONFIG_PING is not set
-# CONFIG_RFD77402 is not set
-# CONFIG_SRF04 is not set
-# CONFIG_SX9310 is not set
-# CONFIG_SX9500 is not set
-# CONFIG_SRF08 is not set
-# CONFIG_VCNL3020 is not set
-# CONFIG_VL53L0X_I2C is not set
-# end of Proximity and distance sensors
-
-#
-# Resolver to digital converters
-#
-CONFIG_AD2S90=m
-CONFIG_AD2S1200=m
-# end of Resolver to digital converters
-
-#
-# Temperature sensors
-#
-# CONFIG_LTC2983 is not set
-# CONFIG_MAXIM_THERMOCOUPLE is not set
-# CONFIG_MLX90614 is not set
-# CONFIG_MLX90632 is not set
-# CONFIG_TMP006 is not set
-# CONFIG_TMP007 is not set
-# CONFIG_TMP117 is not set
-# CONFIG_TSYS01 is not set
-# CONFIG_TSYS02D is not set
-# CONFIG_MAX31856 is not set
-# CONFIG_MAX31865 is not set
-# end of Temperature sensors
-
-# CONFIG_NTB is not set
-# CONFIG_VME_BUS is not set
-CONFIG_PWM=y
-CONFIG_PWM_SYSFS=y
-# CONFIG_PWM_ATMEL_TCB is not set
-CONFIG_PWM_CROS_EC=y
-# CONFIG_PWM_DWC is not set
-# CONFIG_PWM_FSL_FTM is not set
-# CONFIG_PWM_PCA9685 is not set
-CONFIG_PWM_ROCKCHIP=y
-
-#
-# IRQ chip support
-#
-CONFIG_IRQCHIP=y
-CONFIG_ARM_GIC=y
-CONFIG_ARM_GIC_MAX_NR=1
-CONFIG_ARM_GIC_V2M=y
-CONFIG_ARM_GIC_V3=y
-CONFIG_ARM_GIC_V3_ITS=y
-CONFIG_ARM_GIC_V3_ITS_PCI=y
-# CONFIG_AL_FIC is not set
-CONFIG_PARTITION_PERCPU=y
-# end of IRQ chip support
-
-# CONFIG_IPACK_BUS is not set
-CONFIG_ARCH_HAS_RESET_CONTROLLER=y
-CONFIG_RESET_CONTROLLER=y
-# CONFIG_RESET_TI_SYSCON is not set
-
-#
-# PHY Subsystem
-#
-CONFIG_GENERIC_PHY=y
-CONFIG_GENERIC_PHY_MIPI_DPHY=y
-# CONFIG_PHY_XGENE is not set
-CONFIG_PHY_CAN_TRANSCEIVER=m
-
-#
-# PHY drivers for Broadcom platforms
-#
-# CONFIG_BCM_KONA_USB2_PHY is not set
-# end of PHY drivers for Broadcom platforms
-
-# CONFIG_PHY_CADENCE_TORRENT is not set
-# CONFIG_PHY_CADENCE_DPHY is not set
-# CONFIG_PHY_CADENCE_SIERRA is not set
-# CONFIG_PHY_CADENCE_SALVO is not set
-# CONFIG_PHY_FSL_IMX8MQ_USB is not set
-# CONFIG_PHY_MIXEL_MIPI_DPHY is not set
-# CONFIG_PHY_PXA_28NM_HSIC is not set
-# CONFIG_PHY_PXA_28NM_USB2 is not set
-# CONFIG_PHY_CPCAP_USB is not set
-# CONFIG_PHY_MAPPHONE_MDM6600 is not set
-# CONFIG_PHY_OCELOT_SERDES is not set
-# CONFIG_PHY_QCOM_USB_HS is not set
-# CONFIG_PHY_QCOM_USB_HSIC is not set
-CONFIG_PHY_ROCKCHIP_DP=y
-# CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set
-CONFIG_PHY_ROCKCHIP_EMMC=y
-CONFIG_PHY_ROCKCHIP_INNO_HDMI=y
-CONFIG_PHY_ROCKCHIP_INNO_USB2=y
-# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set
-# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set
-CONFIG_PHY_ROCKCHIP_PCIE=y
-CONFIG_PHY_ROCKCHIP_TYPEC=y
-CONFIG_PHY_ROCKCHIP_USB=m
-CONFIG_PHY_SAMSUNG_USB2=m
-# CONFIG_PHY_TUSB1210 is not set
-# end of PHY Subsystem
-
-# CONFIG_POWERCAP is not set
-# CONFIG_MCB is not set
-
-#
-# Performance monitor support
-#
-# CONFIG_ARM_CCI_PMU is not set
-# CONFIG_ARM_CCN is not set
-# CONFIG_ARM_CMN is not set
-CONFIG_ARM_PMU=y
-CONFIG_ARM_PMU_ACPI=y
-# CONFIG_ARM_SMMU_V3_PMU is not set
-# CONFIG_ARM_DSU_PMU is not set
-# CONFIG_ARM_SPE_PMU is not set
-# CONFIG_ARM_DMC620_PMU is not set
-# CONFIG_HISI_PMU is not set
-# end of Performance monitor support
-
-CONFIG_RAS=y
-# CONFIG_USB4 is not set
-
-#
-# Android
-#
-# CONFIG_ANDROID is not set
-# end of Android
-
-# CONFIG_LIBNVDIMM is not set
-# CONFIG_DAX is not set
-CONFIG_NVMEM=y
-CONFIG_NVMEM_SYSFS=y
-# CONFIG_NVMEM_SPMI_SDAM is not set
-CONFIG_ROCKCHIP_EFUSE=m
-CONFIG_ROCKCHIP_OTP=m
-# CONFIG_NVMEM_RMEM is not set
-
-#
-# HW tracing support
-#
-# CONFIG_STM is not set
-# CONFIG_INTEL_TH is not set
-# end of HW tracing support
-
-# CONFIG_FPGA is not set
-# CONFIG_FSI is not set
-# CONFIG_TEE is not set
-CONFIG_MULTIPLEXER=y
-
-#
-# Multiplexer drivers
-#
-# CONFIG_MUX_ADG792A is not set
-# CONFIG_MUX_ADGS1408 is not set
-# CONFIG_MUX_GPIO is not set
-# CONFIG_MUX_MMIO is not set
-# end of Multiplexer drivers
-
-CONFIG_PM_OPP=y
-# CONFIG_SIOX is not set
-# CONFIG_SLIMBUS is not set
-# CONFIG_INTERCONNECT is not set
-# CONFIG_COUNTER is not set
-# CONFIG_MOST is not set
-# end of Device Drivers
-
-#
-# File systems
-#
-CONFIG_DCACHE_WORD_ACCESS=y
-# CONFIG_VALIDATE_FS_PARSER is not set
-CONFIG_FS_IOMAP=y
-# CONFIG_EXT2_FS is not set
-# CONFIG_EXT3_FS is not set
-CONFIG_EXT4_FS=y
-CONFIG_EXT4_USE_FOR_EXT2=y
-CONFIG_EXT4_FS_POSIX_ACL=y
-CONFIG_EXT4_FS_SECURITY=y
-# CONFIG_EXT4_DEBUG is not set
-CONFIG_JBD2=y
-# CONFIG_JBD2_DEBUG is not set
-CONFIG_FS_MBCACHE=y
-# CONFIG_REISERFS_FS is not set
-# CONFIG_JFS_FS is not set
-CONFIG_XFS_FS=m
-CONFIG_XFS_SUPPORT_V4=y
-CONFIG_XFS_QUOTA=y
-CONFIG_XFS_POSIX_ACL=y
-CONFIG_XFS_RT=y
-# CONFIG_XFS_ONLINE_SCRUB is not set
-# CONFIG_XFS_WARN is not set
-# CONFIG_XFS_DEBUG is not set
-# CONFIG_GFS2_FS is not set
-# CONFIG_OCFS2_FS is not set
-CONFIG_BTRFS_FS=m
-CONFIG_BTRFS_FS_POSIX_ACL=y
-# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
-# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
-# CONFIG_BTRFS_DEBUG is not set
-# CONFIG_BTRFS_ASSERT is not set
-# CONFIG_BTRFS_FS_REF_VERIFY is not set
-# CONFIG_NILFS2_FS is not set
-CONFIG_F2FS_FS=y
-CONFIG_F2FS_STAT_FS=y
-CONFIG_F2FS_FS_XATTR=y
-CONFIG_F2FS_FS_POSIX_ACL=y
-CONFIG_F2FS_FS_SECURITY=y
-# CONFIG_F2FS_CHECK_FS is not set
-# CONFIG_F2FS_FAULT_INJECTION is not set
-CONFIG_F2FS_FS_COMPRESSION=y
-CONFIG_F2FS_FS_LZO=y
-CONFIG_F2FS_FS_LZORLE=y
-CONFIG_F2FS_FS_LZ4=y
-CONFIG_F2FS_FS_LZ4HC=y
-CONFIG_F2FS_FS_ZSTD=y
-# CONFIG_F2FS_IOSTAT is not set
-# CONFIG_ZONEFS_FS is not set
-# CONFIG_FS_DAX is not set
-CONFIG_FS_POSIX_ACL=y
-CONFIG_EXPORTFS=y
-CONFIG_EXPORTFS_BLOCK_OPS=y
-CONFIG_FILE_LOCKING=y
-CONFIG_FS_ENCRYPTION=y
-CONFIG_FS_ENCRYPTION_ALGS=y
-CONFIG_FS_VERITY=y
-# CONFIG_FS_VERITY_DEBUG is not set
-CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
-CONFIG_FSNOTIFY=y
-CONFIG_DNOTIFY=y
-CONFIG_INOTIFY_USER=y
-CONFIG_FANOTIFY=y
-# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
-# CONFIG_QUOTA is not set
-# CONFIG_QUOTA_NETLINK_INTERFACE is not set
-CONFIG_QUOTACTL=y
-# CONFIG_AUTOFS4_FS is not set
-# CONFIG_AUTOFS_FS is not set
-CONFIG_FUSE_FS=m
-CONFIG_CUSE=m
-CONFIG_VIRTIO_FS=m
-CONFIG_OVERLAY_FS=m
-# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
-CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
-# CONFIG_OVERLAY_FS_INDEX is not set
-# CONFIG_OVERLAY_FS_XINO_AUTO is not set
-# CONFIG_OVERLAY_FS_METACOPY is not set
-
-#
-# Caches
-#
-CONFIG_NETFS_SUPPORT=m
-# CONFIG_NETFS_STATS is not set
-CONFIG_FSCACHE=m
-# CONFIG_FSCACHE_STATS is not set
-# CONFIG_FSCACHE_DEBUG is not set
-CONFIG_CACHEFILES=m
-# CONFIG_CACHEFILES_DEBUG is not set
-# end of Caches
-
-#
-# CD-ROM/DVD Filesystems
-#
-CONFIG_ISO9660_FS=m
-CONFIG_JOLIET=y
-CONFIG_ZISOFS=y
-CONFIG_UDF_FS=m
-# end of CD-ROM/DVD Filesystems
-
-#
-# DOS/FAT/EXFAT/NT Filesystems
-#
-CONFIG_FAT_FS=m
-CONFIG_MSDOS_FS=m
-CONFIG_VFAT_FS=m
-CONFIG_FAT_DEFAULT_CODEPAGE=437
-CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
-CONFIG_FAT_DEFAULT_UTF8=y
-CONFIG_EXFAT_FS=m
-CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
-CONFIG_NTFS_FS=m
-# CONFIG_NTFS_DEBUG is not set
-CONFIG_NTFS_RW=y
-CONFIG_NTFS3_FS=m
-# CONFIG_NTFS3_64BIT_CLUSTER is not set
-# CONFIG_NTFS3_LZX_XPRESS is not set
-# CONFIG_NTFS3_FS_POSIX_ACL is not set
-# end of DOS/FAT/EXFAT/NT Filesystems
-
-#
-# Pseudo filesystems
-#
-CONFIG_PROC_FS=y
-# CONFIG_PROC_KCORE is not set
-CONFIG_PROC_SYSCTL=y
-CONFIG_PROC_PAGE_MONITOR=y
-CONFIG_PROC_CHILDREN=y
-CONFIG_KERNFS=y
-CONFIG_SYSFS=y
-CONFIG_TMPFS=y
-CONFIG_TMPFS_POSIX_ACL=y
-CONFIG_TMPFS_XATTR=y
-# CONFIG_TMPFS_INODE64 is not set
-CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
-# CONFIG_HUGETLBFS is not set
-CONFIG_MEMFD_CREATE=y
-CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
-CONFIG_CONFIGFS_FS=m
-CONFIG_EFIVAR_FS=m
-# end of Pseudo filesystems
-
-CONFIG_MISC_FILESYSTEMS=y
-# CONFIG_ORANGEFS_FS is not set
-# CONFIG_ADFS_FS is not set
-# CONFIG_AFFS_FS is not set
-CONFIG_ECRYPT_FS=m
-# CONFIG_ECRYPT_FS_MESSAGING is not set
-CONFIG_HFS_FS=m
-CONFIG_HFSPLUS_FS=m
-# CONFIG_BEFS_FS is not set
-# CONFIG_BFS_FS is not set
-# CONFIG_EFS_FS is not set
-# CONFIG_CRAMFS is not set
-CONFIG_SQUASHFS=m
-CONFIG_SQUASHFS_FILE_CACHE=y
-# CONFIG_SQUASHFS_FILE_DIRECT is not set
-CONFIG_SQUASHFS_DECOMP_SINGLE=y
-# CONFIG_SQUASHFS_DECOMP_MULTI is not set
-# CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU is not set
-CONFIG_SQUASHFS_XATTR=y
-CONFIG_SQUASHFS_ZLIB=y
-CONFIG_SQUASHFS_LZ4=y
-CONFIG_SQUASHFS_LZO=y
-CONFIG_SQUASHFS_XZ=y
-CONFIG_SQUASHFS_ZSTD=y
-# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
-# CONFIG_SQUASHFS_EMBEDDED is not set
-CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
-# CONFIG_VXFS_FS is not set
-CONFIG_MINIX_FS=m
-# CONFIG_OMFS_FS is not set
-# CONFIG_HPFS_FS is not set
-# CONFIG_QNX4FS_FS is not set
-# CONFIG_QNX6FS_FS is not set
-# CONFIG_ROMFS_FS is not set
-CONFIG_PSTORE=m
-CONFIG_PSTORE_DEFAULT_KMSG_BYTES=10240
-CONFIG_PSTORE_DEFLATE_COMPRESS=m
-# CONFIG_PSTORE_LZO_COMPRESS is not set
-# CONFIG_PSTORE_LZ4_COMPRESS is not set
-# CONFIG_PSTORE_LZ4HC_COMPRESS is not set
-# CONFIG_PSTORE_842_COMPRESS is not set
-# CONFIG_PSTORE_ZSTD_COMPRESS is not set
-CONFIG_PSTORE_COMPRESS=y
-CONFIG_PSTORE_DEFLATE_COMPRESS_DEFAULT=y
-CONFIG_PSTORE_COMPRESS_DEFAULT="deflate"
-# CONFIG_PSTORE_CONSOLE is not set
-# CONFIG_PSTORE_PMSG is not set
-# CONFIG_PSTORE_RAM is not set
-# CONFIG_PSTORE_BLK is not set
-# CONFIG_SYSV_FS is not set
-# CONFIG_UFS_FS is not set
-# CONFIG_EROFS_FS is not set
-CONFIG_NETWORK_FILESYSTEMS=y
-CONFIG_NFS_FS=m
-# CONFIG_NFS_V2 is not set
-CONFIG_NFS_V3=m
-CONFIG_NFS_V3_ACL=y
-CONFIG_NFS_V4=m
-# CONFIG_NFS_SWAP is not set
-# CONFIG_NFS_V4_1 is not set
-# CONFIG_NFS_FSCACHE is not set
-# CONFIG_NFS_USE_LEGACY_DNS is not set
-CONFIG_NFS_USE_KERNEL_DNS=y
-CONFIG_NFS_DISABLE_UDP_SUPPORT=y
-CONFIG_NFSD=m
-CONFIG_NFSD_V2_ACL=y
-CONFIG_NFSD_V3=y
-CONFIG_NFSD_V3_ACL=y
-CONFIG_NFSD_V4=y
-# CONFIG_NFSD_BLOCKLAYOUT is not set
-# CONFIG_NFSD_SCSILAYOUT is not set
-# CONFIG_NFSD_FLEXFILELAYOUT is not set
-# CONFIG_NFSD_V4_SECURITY_LABEL is not set
-CONFIG_GRACE_PERIOD=m
-CONFIG_LOCKD=m
-CONFIG_LOCKD_V4=y
-CONFIG_NFS_ACL_SUPPORT=m
-CONFIG_NFS_COMMON=y
-CONFIG_SUNRPC=m
-CONFIG_SUNRPC_GSS=m
-CONFIG_RPCSEC_GSS_KRB5=m
-# CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES is not set
-# CONFIG_SUNRPC_DEBUG is not set
-# CONFIG_CEPH_FS is not set
-CONFIG_CIFS=m
-# CONFIG_CIFS_STATS2 is not set
-CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
-CONFIG_CIFS_UPCALL=y
-CONFIG_CIFS_XATTR=y
-CONFIG_CIFS_POSIX=y
-CONFIG_CIFS_DEBUG=y
-# CONFIG_CIFS_DEBUG2 is not set
-# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
-CONFIG_CIFS_DFS_UPCALL=y
-CONFIG_CIFS_SWN_UPCALL=y
-CONFIG_CIFS_FSCACHE=y
-CONFIG_SMB_SERVER=m
-CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
-# CONFIG_SMB_SERVER_KERBEROS5 is not set
-CONFIG_SMBFS_COMMON=m
-# CONFIG_CODA_FS is not set
-# CONFIG_AFS_FS is not set
-CONFIG_NLS=y
-CONFIG_NLS_DEFAULT="utf8"
-CONFIG_NLS_CODEPAGE_437=m
-# CONFIG_NLS_CODEPAGE_737 is not set
-# CONFIG_NLS_CODEPAGE_775 is not set
-# CONFIG_NLS_CODEPAGE_850 is not set
-CONFIG_NLS_CODEPAGE_852=m
-CONFIG_NLS_CODEPAGE_855=m
-# CONFIG_NLS_CODEPAGE_857 is not set
-# CONFIG_NLS_CODEPAGE_860 is not set
-# CONFIG_NLS_CODEPAGE_861 is not set
-# CONFIG_NLS_CODEPAGE_862 is not set
-# CONFIG_NLS_CODEPAGE_863 is not set
-# CONFIG_NLS_CODEPAGE_864 is not set
-# CONFIG_NLS_CODEPAGE_865 is not set
-CONFIG_NLS_CODEPAGE_866=m
-# CONFIG_NLS_CODEPAGE_869 is not set
-# CONFIG_NLS_CODEPAGE_936 is not set
-# CONFIG_NLS_CODEPAGE_950 is not set
-# CONFIG_NLS_CODEPAGE_932 is not set
-# CONFIG_NLS_CODEPAGE_949 is not set
-# CONFIG_NLS_CODEPAGE_874 is not set
-# CONFIG_NLS_ISO8859_8 is not set
-# CONFIG_NLS_CODEPAGE_1250 is not set
-# CONFIG_NLS_CODEPAGE_1251 is not set
-CONFIG_NLS_ASCII=m
-CONFIG_NLS_ISO8859_1=m
-CONFIG_NLS_ISO8859_2=m
-# CONFIG_NLS_ISO8859_3 is not set
-# CONFIG_NLS_ISO8859_4 is not set
-CONFIG_NLS_ISO8859_5=m
-# CONFIG_NLS_ISO8859_6 is not set
-# CONFIG_NLS_ISO8859_7 is not set
-# CONFIG_NLS_ISO8859_9 is not set
-# CONFIG_NLS_ISO8859_13 is not set
-# CONFIG_NLS_ISO8859_14 is not set
-# CONFIG_NLS_ISO8859_15 is not set
-CONFIG_NLS_KOI8_R=m
-# CONFIG_NLS_KOI8_U is not set
-# CONFIG_NLS_MAC_ROMAN is not set
-# CONFIG_NLS_MAC_CELTIC is not set
-# CONFIG_NLS_MAC_CENTEURO is not set
-# CONFIG_NLS_MAC_CROATIAN is not set
-# CONFIG_NLS_MAC_CYRILLIC is not set
-# CONFIG_NLS_MAC_GAELIC is not set
-# CONFIG_NLS_MAC_GREEK is not set
-# CONFIG_NLS_MAC_ICELAND is not set
-# CONFIG_NLS_MAC_INUIT is not set
-# CONFIG_NLS_MAC_ROMANIAN is not set
-# CONFIG_NLS_MAC_TURKISH is not set
-CONFIG_NLS_UTF8=m
-CONFIG_DLM=m
-# CONFIG_DLM_DEBUG is not set
-# CONFIG_UNICODE is not set
-CONFIG_IO_WQ=y
-# end of File systems
-
-#
-# Security options
-#
-CONFIG_KEYS=y
-# CONFIG_KEYS_REQUEST_CACHE is not set
-CONFIG_PERSISTENT_KEYRINGS=y
-CONFIG_TRUSTED_KEYS=m
-CONFIG_ENCRYPTED_KEYS=y
-CONFIG_KEY_DH_OPERATIONS=y
-# CONFIG_SECURITY_DMESG_RESTRICT is not set
-CONFIG_SECURITY=y
-# CONFIG_SECURITYFS is not set
-# CONFIG_SECURITY_NETWORK is not set
-# CONFIG_SECURITY_PATH is not set
-CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
-# CONFIG_HARDENED_USERCOPY is not set
-# CONFIG_FORTIFY_SOURCE is not set
-# CONFIG_STATIC_USERMODEHELPER is not set
-# CONFIG_SECURITY_SMACK is not set
-# CONFIG_SECURITY_TOMOYO is not set
-# CONFIG_SECURITY_APPARMOR is not set
-# CONFIG_SECURITY_LOADPIN is not set
-# CONFIG_SECURITY_YAMA is not set
-# CONFIG_SECURITY_SAFESETID is not set
-CONFIG_SECURITY_LOCKDOWN_LSM=y
-# CONFIG_SECURITY_LOCKDOWN_LSM_EARLY is not set
-CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
-# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
-# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
-# CONFIG_SECURITY_LANDLOCK is not set
-# CONFIG_INTEGRITY is not set
-# CONFIG_IMA_SECURE_AND_OR_TRUSTED_BOOT is not set
-CONFIG_DEFAULT_SECURITY_DAC=y
-CONFIG_LSM=""
-
-#
-# Kernel hardening options
-#
-
-#
-# Memory initialization
-#
-CONFIG_INIT_STACK_NONE=y
-# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
-# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
-CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
-# CONFIG_ZERO_CALL_USED_REGS is not set
-# end of Memory initialization
-# end of Kernel hardening options
-# end of Security options
-
-CONFIG_XOR_BLOCKS=m
-CONFIG_CRYPTO=y
-
-#
-# Crypto core or helper
-#
-# CONFIG_CRYPTO_FIPS is not set
-CONFIG_CRYPTO_ALGAPI=y
-CONFIG_CRYPTO_ALGAPI2=y
-CONFIG_CRYPTO_AEAD=y
-CONFIG_CRYPTO_AEAD2=y
-CONFIG_CRYPTO_SKCIPHER=y
-CONFIG_CRYPTO_SKCIPHER2=y
-CONFIG_CRYPTO_HASH=y
-CONFIG_CRYPTO_HASH2=y
-CONFIG_CRYPTO_RNG=y
-CONFIG_CRYPTO_RNG2=y
-CONFIG_CRYPTO_RNG_DEFAULT=m
-CONFIG_CRYPTO_AKCIPHER2=y
-CONFIG_CRYPTO_AKCIPHER=y
-CONFIG_CRYPTO_KPP2=y
-CONFIG_CRYPTO_KPP=y
-CONFIG_CRYPTO_ACOMP2=y
-CONFIG_CRYPTO_MANAGER=y
-CONFIG_CRYPTO_MANAGER2=y
-CONFIG_CRYPTO_USER=m
-# CONFIG_CRYPTO_MANAGER_DISABLE_TESTS is not set
-CONFIG_CRYPTO_GF128MUL=m
-CONFIG_CRYPTO_NULL=y
-CONFIG_CRYPTO_NULL2=y
-CONFIG_CRYPTO_PCRYPT=m
-CONFIG_CRYPTO_CRYPTD=m
-CONFIG_CRYPTO_AUTHENC=m
-# CONFIG_CRYPTO_TEST is not set
-CONFIG_CRYPTO_ENGINE=m
-
-#
-# Public-key cryptography
-#
-CONFIG_CRYPTO_RSA=y
-CONFIG_CRYPTO_DH=y
-CONFIG_CRYPTO_ECC=m
-CONFIG_CRYPTO_ECDH=m
-# CONFIG_CRYPTO_ECDSA is not set
-CONFIG_CRYPTO_ECRDSA=m
-# CONFIG_CRYPTO_SM2 is not set
-CONFIG_CRYPTO_CURVE25519=m
-
-#
-# Authenticated Encryption with Associated Data
-#
-CONFIG_CRYPTO_CCM=m
-CONFIG_CRYPTO_GCM=m
-CONFIG_CRYPTO_CHACHA20POLY1305=m
-# CONFIG_CRYPTO_AEGIS128 is not set
-CONFIG_CRYPTO_SEQIV=m
-CONFIG_CRYPTO_ECHAINIV=m
-
-#
-# Block modes
-#
-CONFIG_CRYPTO_CBC=y
-# CONFIG_CRYPTO_CFB is not set
-CONFIG_CRYPTO_CTR=y
-CONFIG_CRYPTO_CTS=y
-CONFIG_CRYPTO_ECB=y
-CONFIG_CRYPTO_LRW=m
-# CONFIG_CRYPTO_OFB is not set
-# CONFIG_CRYPTO_PCBC is not set
-CONFIG_CRYPTO_XTS=y
-CONFIG_CRYPTO_KEYWRAP=m
-CONFIG_CRYPTO_NHPOLY1305=m
-CONFIG_CRYPTO_ADIANTUM=m
-CONFIG_CRYPTO_ESSIV=m
-
-#
-# Hash modes
-#
-CONFIG_CRYPTO_CMAC=m
-CONFIG_CRYPTO_HMAC=y
-# CONFIG_CRYPTO_XCBC is not set
-# CONFIG_CRYPTO_VMAC is not set
-
-#
-# Digest
-#
-CONFIG_CRYPTO_CRC32C=y
-CONFIG_CRYPTO_CRC32=y
-CONFIG_CRYPTO_XXHASH=m
-CONFIG_CRYPTO_BLAKE2B=m
-CONFIG_CRYPTO_BLAKE2S=m
-CONFIG_CRYPTO_CRCT10DIF=y
-CONFIG_CRYPTO_GHASH=m
-CONFIG_CRYPTO_POLY1305=m
-CONFIG_CRYPTO_MD4=m
-CONFIG_CRYPTO_MD5=y
-# CONFIG_CRYPTO_MICHAEL_MIC is not set
-CONFIG_CRYPTO_RMD160=m
-CONFIG_CRYPTO_SHA1=y
-CONFIG_CRYPTO_SHA256=y
-CONFIG_CRYPTO_SHA512=y
-CONFIG_CRYPTO_SHA3=m
-CONFIG_CRYPTO_SM3=m
-CONFIG_CRYPTO_STREEBOG=m
-CONFIG_CRYPTO_WP512=m
-
-#
-# Ciphers
-#
-CONFIG_CRYPTO_AES=y
-# CONFIG_CRYPTO_AES_TI is not set
-# CONFIG_CRYPTO_ANUBIS is not set
-CONFIG_CRYPTO_ARC4=m
-CONFIG_CRYPTO_BLOWFISH=m
-CONFIG_CRYPTO_BLOWFISH_COMMON=m
-# CONFIG_CRYPTO_CAMELLIA is not set
-# CONFIG_CRYPTO_CAST5 is not set
-# CONFIG_CRYPTO_CAST6 is not set
-CONFIG_CRYPTO_DES=m
-# CONFIG_CRYPTO_FCRYPT is not set
-# CONFIG_CRYPTO_KHAZAD is not set
-CONFIG_CRYPTO_CHACHA20=m
-CONFIG_CRYPTO_SEED=m
-CONFIG_CRYPTO_SERPENT=m
-CONFIG_CRYPTO_SM4=m
-# CONFIG_CRYPTO_TEA is not set
-CONFIG_CRYPTO_TWOFISH=m
-CONFIG_CRYPTO_TWOFISH_COMMON=m
-
-#
-# Compression
-#
-CONFIG_CRYPTO_DEFLATE=m
-CONFIG_CRYPTO_LZO=y
-# CONFIG_CRYPTO_842 is not set
-# CONFIG_CRYPTO_LZ4 is not set
-# CONFIG_CRYPTO_LZ4HC is not set
-CONFIG_CRYPTO_ZSTD=y
-
-#
-# Random Number Generation
-#
-CONFIG_CRYPTO_ANSI_CPRNG=m
-CONFIG_CRYPTO_DRBG_MENU=y
-CONFIG_CRYPTO_DRBG_HMAC=y
-CONFIG_CRYPTO_DRBG_HASH=y
-CONFIG_CRYPTO_DRBG_CTR=y
-CONFIG_CRYPTO_DRBG=y
-CONFIG_CRYPTO_JITTERENTROPY=y
-CONFIG_CRYPTO_USER_API=y
-CONFIG_CRYPTO_USER_API_HASH=m
-CONFIG_CRYPTO_USER_API_SKCIPHER=m
-CONFIG_CRYPTO_USER_API_RNG=y
-# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set
-CONFIG_CRYPTO_USER_API_AEAD=y
-CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
-# CONFIG_CRYPTO_STATS is not set
-CONFIG_CRYPTO_HASH_INFO=y
-
-#
-# Crypto library routines
-#
-CONFIG_CRYPTO_LIB_AES=y
-CONFIG_CRYPTO_LIB_ARC4=m
-CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=m
-CONFIG_CRYPTO_LIB_BLAKE2S=m
-CONFIG_CRYPTO_ARCH_HAVE_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
-CONFIG_CRYPTO_LIB_CHACHA=m
-CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
-CONFIG_CRYPTO_LIB_CURVE25519=m
-CONFIG_CRYPTO_LIB_DES=m
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=9
-CONFIG_CRYPTO_ARCH_HAVE_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
-CONFIG_CRYPTO_LIB_POLY1305=m
-CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
-CONFIG_CRYPTO_LIB_SHA256=y
-CONFIG_CRYPTO_LIB_SM4=m
-CONFIG_CRYPTO_HW=y
-# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
-# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
-CONFIG_CRYPTO_DEV_CCP=y
-CONFIG_CRYPTO_DEV_CCP_DD=m
-CONFIG_CRYPTO_DEV_SP_CCP=y
-CONFIG_CRYPTO_DEV_CCP_CRYPTO=m
-# CONFIG_CRYPTO_DEV_CCP_DEBUGFS is not set
-CONFIG_CRYPTO_DEV_NITROX=m
-CONFIG_CRYPTO_DEV_NITROX_CNN55XX=m
-# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set
-CONFIG_CRYPTO_DEV_ROCKCHIP=m
-CONFIG_CRYPTO_DEV_VIRTIO=m
-# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
-CONFIG_CRYPTO_DEV_CCREE=m
-# CONFIG_CRYPTO_DEV_HISI_SEC is not set
-# CONFIG_CRYPTO_DEV_HISI_SEC2 is not set
-# CONFIG_CRYPTO_DEV_HISI_ZIP is not set
-# CONFIG_CRYPTO_DEV_HISI_HPRE is not set
-# CONFIG_CRYPTO_DEV_HISI_TRNG is not set
-# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
-CONFIG_ASYMMETRIC_KEY_TYPE=y
-CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
-# CONFIG_ASYMMETRIC_TPM_KEY_SUBTYPE is not set
-CONFIG_X509_CERTIFICATE_PARSER=y
-CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
-CONFIG_PKCS7_MESSAGE_PARSER=y
-# CONFIG_PKCS7_TEST_KEY is not set
-# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set
-
-#
-# Certificates for signature checking
-#
-CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
-CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
-# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set
-CONFIG_SYSTEM_TRUSTED_KEYRING=y
-CONFIG_SYSTEM_TRUSTED_KEYS=""
-# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
-# CONFIG_SECONDARY_TRUSTED_KEYRING is not set
-# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
-# end of Certificates for signature checking
-
-#
-# Library routines
-#
-CONFIG_RAID6_PQ=m
-# CONFIG_RAID6_PQ_BENCHMARK is not set
-CONFIG_LINEAR_RANGES=y
-# CONFIG_PACKING is not set
-CONFIG_BITREVERSE=y
-CONFIG_HAVE_ARCH_BITREVERSE=y
-CONFIG_GENERIC_STRNCPY_FROM_USER=y
-CONFIG_GENERIC_STRNLEN_USER=y
-CONFIG_GENERIC_NET_UTILS=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-# CONFIG_CORDIC is not set
-# CONFIG_PRIME_NUMBERS is not set
-CONFIG_RATIONAL=y
-CONFIG_GENERIC_PCI_IOMAP=y
-CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
-CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
-CONFIG_ARCH_USE_SYM_ANNOTATIONS=y
-# CONFIG_INDIRECT_PIO is not set
-CONFIG_CRC_CCITT=y
-CONFIG_CRC16=y
-CONFIG_CRC_T10DIF=y
-CONFIG_CRC_ITU_T=y
-CONFIG_CRC32=y
-# CONFIG_CRC32_SELFTEST is not set
-CONFIG_CRC32_SLICEBY8=y
-# CONFIG_CRC32_SLICEBY4 is not set
-# CONFIG_CRC32_SARWATE is not set
-# CONFIG_CRC32_BIT is not set
-# CONFIG_CRC64 is not set
-# CONFIG_CRC4 is not set
-CONFIG_CRC7=y
-CONFIG_LIBCRC32C=y
-CONFIG_CRC8=m
-CONFIG_XXHASH=y
-CONFIG_AUDIT_ARCH_COMPAT_GENERIC=y
-# CONFIG_RANDOM32_SELFTEST is not set
-CONFIG_ZLIB_INFLATE=m
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_LZO_COMPRESS=y
-CONFIG_LZO_DECOMPRESS=y
-CONFIG_LZ4_COMPRESS=y
-CONFIG_LZ4HC_COMPRESS=y
-CONFIG_LZ4_DECOMPRESS=y
-CONFIG_ZSTD_COMPRESS=y
-CONFIG_ZSTD_DECOMPRESS=y
-CONFIG_XZ_DEC=y
-CONFIG_XZ_DEC_X86=y
-CONFIG_XZ_DEC_POWERPC=y
-CONFIG_XZ_DEC_IA64=y
-CONFIG_XZ_DEC_ARM=y
-CONFIG_XZ_DEC_ARMTHUMB=y
-CONFIG_XZ_DEC_SPARC=y
-# CONFIG_XZ_DEC_MICROLZMA is not set
-CONFIG_XZ_DEC_BCJ=y
-# CONFIG_XZ_DEC_TEST is not set
-CONFIG_GENERIC_ALLOCATOR=y
-CONFIG_TEXTSEARCH=y
-CONFIG_TEXTSEARCH_KMP=m
-CONFIG_TEXTSEARCH_BM=m
-CONFIG_TEXTSEARCH_FSM=m
-CONFIG_INTERVAL_TREE=y
-CONFIG_ASSOCIATIVE_ARRAY=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT_MAP=y
-CONFIG_HAS_DMA=y
-CONFIG_DMA_OPS=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-CONFIG_NEED_DMA_MAP_STATE=y
-CONFIG_ARCH_DMA_ADDR_T_64BIT=y
-CONFIG_DMA_DECLARE_COHERENT=y
-CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
-CONFIG_ARCH_HAS_TEARDOWN_DMA_OPS=y
-CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
-CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
-CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
-CONFIG_SWIOTLB=y
-# CONFIG_DMA_RESTRICTED_POOL is not set
-CONFIG_DMA_NONCOHERENT_MMAP=y
-CONFIG_DMA_COHERENT_POOL=y
-CONFIG_DMA_REMAP=y
-CONFIG_DMA_DIRECT_REMAP=y
-CONFIG_DMA_CMA=y
-# CONFIG_DMA_PERNUMA_CMA is not set
-
-#
-# Default contiguous memory area size:
-#
-CONFIG_CMA_SIZE_MBYTES=16
-CONFIG_CMA_SIZE_SEL_MBYTES=y
-# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
-# CONFIG_CMA_SIZE_SEL_MIN is not set
-# CONFIG_CMA_SIZE_SEL_MAX is not set
-CONFIG_CMA_ALIGNMENT=8
-# CONFIG_DMA_API_DEBUG is not set
-CONFIG_SGL_ALLOC=y
-CONFIG_CPU_RMAP=y
-CONFIG_DQL=y
-CONFIG_GLOB=y
-# CONFIG_GLOB_SELFTEST is not set
-CONFIG_NLATTR=y
-CONFIG_CLZ_TAB=y
-CONFIG_IRQ_POLL=y
-CONFIG_MPILIB=y
-CONFIG_LIBFDT=y
-CONFIG_OID_REGISTRY=y
-CONFIG_UCS2_STRING=y
-CONFIG_HAVE_GENERIC_VDSO=y
-CONFIG_GENERIC_GETTIMEOFDAY=y
-CONFIG_GENERIC_VDSO_TIME_NS=y
-CONFIG_FONT_SUPPORT=y
-CONFIG_FONTS=y
-# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
-# CONFIG_FONT_6x11 is not set
-# CONFIG_FONT_7x14 is not set
-# CONFIG_FONT_PEARL_8x8 is not set
-# CONFIG_FONT_ACORN_8x8 is not set
-# CONFIG_FONT_MINI_4x6 is not set
-# CONFIG_FONT_6x10 is not set
-# CONFIG_FONT_10x18 is not set
-# CONFIG_FONT_SUN8x16 is not set
-# CONFIG_FONT_SUN12x22 is not set
-CONFIG_FONT_TER16x32=y
-# CONFIG_FONT_6x8 is not set
-CONFIG_SG_POOL=y
-CONFIG_ARCH_STACKWALK=y
-CONFIG_SBITMAP=y
-# end of Library routines
-
-CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
-CONFIG_ASN1_ENCODER=m
-
-#
-# Kernel hacking
-#
-
-#
-# printk and dmesg options
-#
-CONFIG_PRINTK_TIME=y
-# CONFIG_PRINTK_CALLER is not set
-# CONFIG_STACKTRACE_BUILD_ID is not set
-CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
-CONFIG_CONSOLE_LOGLEVEL_QUIET=4
-CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
-# CONFIG_DYNAMIC_DEBUG is not set
-# CONFIG_DYNAMIC_DEBUG_CORE is not set
-CONFIG_SYMBOLIC_ERRNAME=y
-CONFIG_DEBUG_BUGVERBOSE=y
-# end of printk and dmesg options
-
-#
-# Compile-time checks and compiler options
-#
-CONFIG_FRAME_WARN=2048
-# CONFIG_STRIP_ASM_SYMS is not set
-# CONFIG_HEADERS_INSTALL is not set
-# CONFIG_DEBUG_SECTION_MISMATCH is not set
-CONFIG_SECTION_MISMATCH_WARN_ONLY=y
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_FRAME_POINTER=y
-# end of Compile-time checks and compiler options
-
-#
-# Generic Kernel Debugging Instruments
-#
-# CONFIG_MAGIC_SYSRQ is not set
-# CONFIG_DEBUG_FS is not set
-CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
-# CONFIG_UBSAN is not set
-CONFIG_HAVE_KCSAN_COMPILER=y
-# end of Generic Kernel Debugging Instruments
-
-# CONFIG_DEBUG_KERNEL is not set
-
-#
-# Memory Debugging
-#
-# CONFIG_PAGE_EXTENSION is not set
-# CONFIG_PAGE_POISONING is not set
-# CONFIG_DEBUG_RODATA_TEST is not set
-CONFIG_ARCH_HAS_DEBUG_WX=y
-# CONFIG_DEBUG_WX is not set
-CONFIG_GENERIC_PTDUMP=y
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SLUB_STATS is not set
-CONFIG_HAVE_DEBUG_KMEMLEAK=y
-CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
-# CONFIG_DEBUG_VM_PGTABLE is not set
-CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
-CONFIG_DEBUG_MEMORY_INIT=y
-CONFIG_HAVE_ARCH_KASAN=y
-CONFIG_HAVE_ARCH_KASAN_SW_TAGS=y
-CONFIG_HAVE_ARCH_KASAN_HW_TAGS=y
-CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
-CONFIG_CC_HAS_KASAN_GENERIC=y
-CONFIG_CC_HAS_KASAN_SW_TAGS=y
-CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
-# CONFIG_KASAN is not set
-CONFIG_HAVE_ARCH_KFENCE=y
-# CONFIG_KFENCE is not set
-# end of Memory Debugging
-
-#
-# Debug Oops, Lockups and Hangs
-#
-# CONFIG_PANIC_ON_OOPS is not set
-CONFIG_PANIC_ON_OOPS_VALUE=0
-CONFIG_PANIC_TIMEOUT=30
-# CONFIG_TEST_LOCKUP is not set
-# end of Debug Oops, Lockups and Hangs
-
-#
-# Scheduler Debugging
-#
-CONFIG_SCHED_INFO=y
-# end of Scheduler Debugging
-
-# CONFIG_DEBUG_TIMEKEEPING is not set
-
-#
-# Lock Debugging (spinlocks, mutexes, etc...)
-#
-CONFIG_LOCK_DEBUGGING_SUPPORT=y
-# CONFIG_WW_MUTEX_SELFTEST is not set
-# end of Lock Debugging (spinlocks, mutexes, etc...)
-
-# CONFIG_DEBUG_IRQFLAGS is not set
-# CONFIG_STACKTRACE is not set
-# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
-
-#
-# Debug kernel data structures
-#
-# CONFIG_BUG_ON_DATA_CORRUPTION is not set
-# end of Debug kernel data structures
-
-#
-# RCU Debugging
-#
-CONFIG_RCU_CPU_STALL_TIMEOUT=21
-# end of RCU Debugging
-
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_TRACING_SUPPORT=y
-# CONFIG_FTRACE is not set
-# CONFIG_SAMPLES is not set
-CONFIG_STRICT_DEVMEM=y
-CONFIG_IO_STRICT_DEVMEM=y
-
-#
-# arm64 Debugging
-#
-# CONFIG_PID_IN_CONTEXTIDR is not set
-# CONFIG_ARM64_RELOC_TEST is not set
-# CONFIG_CORESIGHT is not set
-# end of arm64 Debugging
-
-#
-# Kernel Testing and Coverage
-#
-# CONFIG_KUNIT is not set
-CONFIG_ARCH_HAS_KCOV=y
-CONFIG_CC_HAS_SANCOV_TRACE_PC=y
-# CONFIG_KCOV is not set
-# CONFIG_RUNTIME_TESTING_MENU is not set
-CONFIG_ARCH_USE_MEMTEST=y
-# CONFIG_MEMTEST is not set
-# end of Kernel Testing and Coverage
-# end of Kernel hacking
diff --git a/testing/linux-openvfd/APKBUILD b/testing/linux-openvfd/APKBUILD
new file mode 100644
index 00000000000..a6acde6a1b9
--- /dev/null
+++ b/testing/linux-openvfd/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Petr Hodina <phodina@protonmail.com>
+# Maintainer: Petr Hodina <phodina@protonmail.com>
+pkgname=linux-openvfd
+pkgver=0_git20220906
+pkgrel=0
+_gitrev=ac2d94c8f466d6d1d56b5dc818a342b0ce01a750
+pkgdesc="FD628 and similar compatible LED controller driver for linux, service daemon"
+url="https://github.com/arthur-liberman/linux_openvfd"
+makedepends="linux-headers"
+arch="aarch64"
+license="GPL-2.0-or-later"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/arthur-liberman/linux_openvfd/archive/$_gitrev.tar.gz"
+builddir="$srcdir/linux_openvfd-$_gitrev"
+options="!check" # has no test suite
+
+build() {
+ make OpenVFDService
+}
+
+package() {
+ install -Dm755 OpenVFDService -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+340f1102b61e81a126622f91802e11819ffe4ae1ae92542efaa20d2f26faff893bbc1efed9f406c0c6e4f3fcb9d386ce636de242c8677c5486bd27e98b967c64 linux-openvfd-ac2d94c8f466d6d1d56b5dc818a342b0ce01a750.tar.gz
+"
diff --git a/testing/linux-sophgo/APKBUILD b/testing/linux-sophgo/APKBUILD
new file mode 100644
index 00000000000..73cb04ad5e5
--- /dev/null
+++ b/testing/linux-sophgo/APKBUILD
@@ -0,0 +1,150 @@
+# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
+
+_flavor=sophgo
+pkgname=linux-$_flavor
+pkgver=6.1.80_git20240328
+_commit=83ab3eda46e651464f2715455ae66711882be116
+pkgrel=0
+arch=riscv64
+pkgdesc="Linux Sophgo kernel"
+url="https://www.kernel.org"
+depends="initramfs-generator"
+subpackages="$pkgname-dev $pkgname-doc"
+_depends_dev="perl gmp-dev mpc1-dev mpfr-dev elfutils-dev bash flex bison zstd"
+makedepends="$_depends_dev sed installkernel bc linux-headers linux-firmware-any openssl-dev>3 mawk
+ diffutils findutils zstd pahole python3 gcc>=13.1.1_git20230624"
+options="!strip !check"
+license="GPL-2.0-only"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sophgo/linux-riscv/archive/$_commit.tar.gz
+ sophgo.riscv64.config
+ "
+builddir="$srcdir"/linux-riscv-$_commit
+arch=riscv64
+
+build() {
+ unset LDFLAGS CFLAGS CPPFLAGS CXXFLAGS
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+ local _builddir="$srcdir/build-$_flavor-$arch"
+
+ mkdir -p "$_builddir"
+ echo "-$pkgrel-$_flavor" > "$_builddir"/localversion-alpine
+ cp "$srcdir"/"$_flavor.$arch.config" "$_builddir"/.config
+ msg "Configuring kernel"
+ make -C "$builddir" \
+ O="$_builddir" \
+ olddefconfig
+
+ msg "Build kernel"
+ cd "$_builddir"
+ make CC="${CC:-gcc}" \
+ AWK="${AWK:-mawk}" \
+ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
+}
+
+package() {
+ depends="$depends linux-firmware-any"
+ local _builddir="$srcdir/build-$_flavor-$arch"
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+ cd "$_builddir"
+ local _abi_release="$(make -s kernelrelease)"
+
+ mkdir -p "$pkgdir"/boot "$pkgdir"/lib/modules
+ make modules_install zinstall dtbs_install \
+ INSTALL_MOD_PATH="$pkgdir" \
+ INSTALL_MOD_STRIP=1 \
+ INSTALL_PATH="$pkgdir"/boot \
+ INSTALL_DTBS_PATH="$pkgdir/boot/dtbs-$_flavor"
+
+ rm -f "$pkgdir"/lib/modules/"$_abi_release"/build \
+ "$pkgdir"/lib/modules/"$_abi_release"/source
+ rm -rf "$pkgdir"/lib/firmware
+
+ install -D -m644 include/config/kernel.release \
+ "$pkgdir"/usr/share/kernel/$_flavor/kernel.release
+
+ mkdir -p "$pkgdir"/usr/share/doc
+ cp -r "$builddir"/Documentation \
+ "$pkgdir"/usr/share/doc/linux-doc-"$pkgver"/
+ # remove files that aren't part of the documentation itself
+ for nondoc in \
+ .gitignore conf.py docutils.conf \
+ dontdiff Kconfig Makefile
+ do
+ rm "$pkgdir"/usr/share/doc/linux-doc-"$pkgver"/"$nondoc"
+ done
+ # create /usr/share/doc/linux-doc symlink
+ cd "$pkgdir"/usr/share/doc; ln -s linux-doc-"$pkgver" linux-doc
+}
+
+
+dev() {
+ local _builddir="$srcdir/build-$_flavor-$arch"
+ local _abi_release="$(make -C "$_builddir" -s kernelrelease)"
+ # copy the only the parts that we really need for build 3rd party
+ # kernel modules and install those as /usr/src/linux-headers,
+ # simlar to what ubuntu does
+ #
+ # this way you dont need to install the 300-400 kernel sources to
+ # build a tiny kernel module
+ #
+ pkgdesc="Headers and script for third party modules for $_flavor kernel"
+ depends="$_depends_dev"
+ local dir="$subpkgdir"/usr/src/linux-headers-"$_abi_release"
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+
+ # first we import config, run prepare to set up for building
+ # external modules, and create the scripts
+ mkdir -p "$dir"
+ cp -a "$_builddir"/.config "$_builddir"/localversion-alpine \
+ "$dir"/
+
+ make -C "$builddir" \
+ O="$dir" \
+ AWK="${AWK:-mawk}" \
+ prepare modules_prepare scripts
+
+ # remove the stuff that points to real sources. we want 3rd party
+ # modules to believe this is the sources
+ rm "$dir"/Makefile "$dir"/source
+
+ # copy the needed stuff from real sources
+ #
+ # this is taken from ubuntu kernel build script
+ # http://kernel.ubuntu.com/git/ubuntu/ubuntu-zesty.git/tree/debian/rules.d/3-binary-indep.mk
+ cd "$builddir"
+ find . -path './include/*' -prune \
+ -o -path './scripts/*' -prune -o -type f \
+ \( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
+ -name '*.sh' -o -name '*.pl' -o -name '*.lds' -o -name 'Platform' \) \
+ -print | cpio -pdm "$dir"
+
+ cp -a scripts include "$dir"
+
+ find "arch/riscv" -name include -type d -print | while IFS='' read -r folder; do
+ find "$folder" -type f
+ done | sort -u | cpio -pdm "$dir"
+
+ install -Dm644 "$_builddir"/Module.symvers \
+ "$dir"/Module.symvers
+
+ # remove unneeded things
+ msg "Removing documentation..."
+ rm -r "$dir"/Documentation
+ find "$dir" -type f -name '*.o' -printf 'Removing %P\n' -delete
+
+ msg "Removing unneeded arch headers..."
+ for i in "$dir"/arch/*; do
+ if [ "${i##*/}" != riscv ]; then
+ echo " ${i##*/}"
+ rm -r "$i"
+ fi
+ done
+
+ mkdir -p "$subpkgdir"/lib/modules/"$_abi_release"
+ ln -sf /usr/src/linux-headers-"$_abi_release" \
+ "$subpkgdir"/lib/modules/"$_abi_release"/build
+}
+sha512sums="
+24a4f4ec9857fcca62b43b0bc62a0ec3b4fb361308fd98075a9f8ba976c10f43add551482a03d27a381b688698fc0a7435d307b015d024c7c18f13d4d040de05 linux-sophgo-6.1.80_git20240328.tar.gz
+c06c0822898247a247bdb6cc9ebe954c1edd15376fe8ffc2c595dfd1cb2e7b63cf52b7a25fc0227b6f9681d546d690134b43e2d3bfb972e6b65696b0ff45e188 sophgo.riscv64.config
+"
diff --git a/testing/linux-sophgo/sophgo.riscv64.config b/testing/linux-sophgo/sophgo.riscv64.config
new file mode 100644
index 00000000000..17f1bc01c3a
--- /dev/null
+++ b/testing/linux-sophgo/sophgo.riscv64.config
@@ -0,0 +1,5540 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/riscv 6.1.72 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="gcc (Alpine 13.2.1_git20231014) 13.2.1 20231014"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=130201
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=24100
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=24100
+CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=125
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+CONFIG_AUDIT=y
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+CONFIG_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# end of IRQ subsystem
+
+CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
+CONFIG_ARCH_CLOCKSOURCE_INIT=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+# CONFIG_BPF_JIT is not set
+CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
+CONFIG_USERMODE_DRIVER=y
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_SRCU=y
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU_GENERIC=y
+CONFIG_TASKS_RCU=y
+CONFIG_TASKS_TRACE_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=13
+CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# end of Scheduler features
+
+CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC11_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_NUMA_BALANCING=y
+CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+# CONFIG_PROC_PID_CPUSET is not set
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+CONFIG_CGROUP_PERF=y
+CONFIG_CGROUP_BPF=y
+CONFIG_CGROUP_MISC=y
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+CONFIG_CHECKPOINT_RESTORE=y
+CONFIG_SCHED_AUTOGROUP=y
+# CONFIG_SYSFS_DEPRECATED is not set
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_INITRAMFS_FORCE is not set
+CONFIG_RD_GZIP=y
+# CONFIG_RD_BZIP2 is not set
+CONFIG_RD_LZMA=y
+CONFIG_RD_XZ=y
+CONFIG_RD_LZO=y
+CONFIG_RD_LZ4=y
+CONFIG_RD_ZSTD=y
+CONFIG_BOOT_CONFIG=y
+# CONFIG_BOOT_CONFIG_EMBED is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+# CONFIG_EXPERT is not set
+CONFIG_MULTIUSER=y
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+# CONFIG_EMBEDDED is not set
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+# CONFIG_PROFILING is not set
+# end of General setup
+
+CONFIG_64BIT=y
+CONFIG_RISCV=y
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
+CONFIG_ARCH_MMAP_RND_BITS_MAX=24
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17
+CONFIG_RISCV_SBI=y
+CONFIG_MMU=y
+CONFIG_PAGE_OFFSET=0xff60000000000000
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=5
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RISCV_DMA_NONCOHERENT=y
+CONFIG_AS_HAS_INSN=y
+
+#
+# SoC selection
+#
+# CONFIG_SOC_MICROCHIP_POLARFIRE is not set
+CONFIG_SOC_SIFIVE=y
+CONFIG_SOC_STARFIVE=y
+CONFIG_SOC_VIRT=y
+CONFIG_ARCH_SOPHGO=y
+# CONFIG_SOPHGO_MULTI_CHIP_CLOCK_SYNC is not set
+# end of SoC selection
+
+#
+# CPU errata selection
+#
+CONFIG_ERRATA_SIFIVE=y
+CONFIG_ERRATA_SIFIVE_CIP_453=y
+CONFIG_ERRATA_SIFIVE_CIP_1200=y
+CONFIG_ERRATA_THEAD=y
+CONFIG_ERRATA_THEAD_PBMT=y
+CONFIG_ERRATA_THEAD_CMO=y
+CONFIG_ERRATA_THEAD_PMU=y
+# end of CPU errata selection
+
+#
+# Platform type
+#
+# CONFIG_NONPORTABLE is not set
+CONFIG_ARCH_RV64I=y
+# CONFIG_CMODEL_MEDLOW is not set
+CONFIG_CMODEL_MEDANY=y
+CONFIG_MODULE_SECTIONS=y
+CONFIG_SMP=y
+# CONFIG_SCHED_MC is not set
+CONFIG_SCHED_CLUSTER=y
+# CONFIG_SCHED_SMT is not set
+CONFIG_NR_CPUS=64
+CONFIG_HOTPLUG_CPU=y
+CONFIG_TUNE_GENERIC=y
+CONFIG_HIGHMEM=y
+CONFIG_FORCE_MAX_ZONEORDER=13
+CONFIG_NUMA=y
+CONFIG_NODES_SHIFT=3
+CONFIG_RISCV_ALTERNATIVE=y
+CONFIG_RISCV_ALTERNATIVE_EARLY=y
+CONFIG_RISCV_ISA_C=y
+CONFIG_RISCV_ISA_SVPBMT=y
+CONFIG_TOOLCHAIN_HAS_ZICBOM=y
+CONFIG_RISCV_ISA_ZICBOM=y
+CONFIG_TOOLCHAIN_HAS_ZIHINTPAUSE=y
+CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI=y
+CONFIG_FPU=y
+CONFIG_VECTOR=y
+# end of Platform type
+
+#
+# Kernel features
+#
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+CONFIG_SCHED_HRTICK=y
+CONFIG_RISCV_SBI_V01=y
+CONFIG_RISCV_BOOT_SPINWAIT=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_FILE=y
+CONFIG_ARCH_HAS_KEXEC_PURGATORY=y
+# CONFIG_CRASH_DUMP is not set
+CONFIG_COMPAT=y
+# end of Kernel features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE="console=ttyS0,115200"
+# CONFIG_CMDLINE_FALLBACK is not set
+CONFIG_CMDLINE_EXTEND=y
+# CONFIG_CMDLINE_FORCE is not set
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+# end of Boot options
+
+CONFIG_PORTABLE=y
+
+#
+# Power management options
+#
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+# CONFIG_CPU_IDLE is not set
+# end of CPU Idle
+# end of CPU Power Management
+
+CONFIG_HAVE_KVM_EVENTFD=y
+CONFIG_KVM_MMIO=y
+CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
+CONFIG_HAVE_KVM_VCPU_ASYNC_IOCTL=y
+CONFIG_KVM_XFER_TO_GUEST_WORK=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_KVM=m
+
+#
+# General architecture-dependent options
+#
+CONFIG_CRASH_CORE=y
+CONFIG_KEXEC_CORE=y
+CONFIG_KEXEC_ELF=y
+# CONFIG_KPROBES is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_LTO_NONE=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGINS is not set
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULE_SIG_FORMAT=y
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_MODULE_SIG=y
+# CONFIG_MODULE_SIG_FORCE is not set
+CONFIG_MODULE_SIG_ALL=y
+CONFIG_MODULE_SIG_SHA1=y
+# CONFIG_MODULE_SIG_SHA224 is not set
+# CONFIG_MODULE_SIG_SHA256 is not set
+# CONFIG_MODULE_SIG_SHA384 is not set
+# CONFIG_MODULE_SIG_SHA512 is not set
+CONFIG_MODULE_SIG_HASH="sha1"
+# CONFIG_MODULE_COMPRESS_NONE is not set
+CONFIG_MODULE_COMPRESS_GZIP=y
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_DECOMPRESS is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+# CONFIG_BLK_DEV_INTEGRITY is not set
+# CONFIG_BLK_DEV_ZONED is not set
+# CONFIG_BLK_DEV_THROTTLING is not set
+# CONFIG_BLK_WBT is not set
+# CONFIG_BLK_CGROUP_IOLATENCY is not set
+# CONFIG_BLK_CGROUP_IOCOST is not set
+# CONFIG_BLK_CGROUP_IOPRIO is not set
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_AIX_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+CONFIG_EFI_PARTITION=y
+# CONFIG_SYSV68_PARTITION is not set
+CONFIG_CMDLINE_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLOCK_COMPAT=y
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=m
+CONFIG_MQ_IOSCHED_KYBER=m
+CONFIG_IOSCHED_BFQ=m
+CONFIG_BFQ_GROUP_IOSCHED=y
+# CONFIG_BFQ_CGROUP_DEBUG is not set
+# end of IO Schedulers
+
+CONFIG_PREEMPT_NOTIFIERS=y
+CONFIG_PADATA=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_MMIOWB=y
+CONFIG_MMIOWB=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_ARCH_HAS_BINFMT_FLAT=y
+# CONFIG_BINFMT_FLAT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_ZPOOL=y
+CONFIG_SWAP=y
+CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_DEFAULT_ON is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
+CONFIG_ZBUD=y
+CONFIG_Z3FOLD=y
+CONFIG_ZSMALLOC=y
+# CONFIG_ZSMALLOC_STAT is not set
+
+#
+# SLAB allocator options
+#
+# CONFIG_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_SLAB_MERGE_DEFAULT=y
+CONFIG_SLAB_FREELIST_RANDOM=y
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# end of SLAB allocator options
+
+CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_SPARSEMEM_MANUAL=y
+CONFIG_SPARSEMEM=y
+CONFIG_SPARSEMEM_EXTREME=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+# CONFIG_SPARSEMEM_VMEMMAP is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
+CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_ARCH_ENABLE_THP_MIGRATION=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_BOUNCE=y
+CONFIG_MMU_NOTIFIER=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_ARCH_WANTS_THP_SWAP=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+CONFIG_THP_SWAP=y
+# CONFIG_READ_ONLY_THP_FOR_FS is not set
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_USE_PERCPU_NUMA_NODE_ID=y
+CONFIG_FRONTSWAP=y
+# CONFIG_CMA is not set
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_DEFERRED_STRUCT_PAGE_INIT is not set
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ZONE_DMA32=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_PERCPU_STATS is not set
+
+#
+# GUP_TEST needs to have DEBUG_FS enabled
+#
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_KMAP_LOCAL=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+CONFIG_LRU_GEN=y
+CONFIG_LRU_GEN_ENABLED=y
+# CONFIG_LRU_GEN_STATS is not set
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
+# end of Memory Management options
+
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+CONFIG_NET_INGRESS=y
+CONFIG_NET_EGRESS=y
+CONFIG_NET_REDIRECT=y
+CONFIG_SKB_EXTENSIONS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
+CONFIG_UNIX_DIAG=m
+CONFIG_TLS=m
+# CONFIG_TLS_DEVICE is not set
+# CONFIG_TLS_TOE is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+CONFIG_XFRM_INTERFACE=m
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_AH=m
+CONFIG_XFRM_ESP=m
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+CONFIG_XDP_SOCKETS=y
+# CONFIG_XDP_SOCKETS_DIAG is not set
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE_COMMON=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+# CONFIG_IP_PIMSM_V1 is not set
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_NET_UDP_TUNNEL=m
+CONFIG_NET_FOU=m
+CONFIG_NET_FOU_IP_TUNNELS=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+# CONFIG_INET_ESP_OFFLOAD is not set
+# CONFIG_INET_ESPINTCP is not set
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TABLE_PERTURB_ORDER=16
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_INET_RAW_DIAG is not set
+CONFIG_INET_DIAG_DESTROY=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_NV=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_TCP_CONG_DCTCP=m
+CONFIG_TCP_CONG_CDG=m
+CONFIG_TCP_CONG_BBR=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+# CONFIG_INET6_ESP_OFFLOAD is not set
+# CONFIG_INET6_ESPINTCP is not set
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_VTI=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_FOU=m
+CONFIG_IPV6_FOU_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
+# CONFIG_IPV6_SEG6_LWTUNNEL is not set
+# CONFIG_IPV6_SEG6_HMAC is not set
+# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
+# CONFIG_NETLABEL is not set
+CONFIG_MPTCP=y
+CONFIG_INET_MPTCP_DIAG=m
+CONFIG_MPTCP_IPV6=y
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=m
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_SKIP_EGRESS=y
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NETFILTER_NETLINK_OSF=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_SYSLOG=m
+CONFIG_NETFILTER_CONNCOUNT=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_GRE=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
+CONFIG_NETFILTER_SYNPROXY=m
+CONFIG_NF_TABLES=m
+CONFIG_NF_TABLES_INET=y
+CONFIG_NF_TABLES_NETDEV=y
+# CONFIG_NFT_NUMGEN is not set
+CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
+CONFIG_NFT_CONNLIMIT=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_TUNNEL=m
+CONFIG_NFT_OBJREF=m
+CONFIG_NFT_QUEUE=m
+CONFIG_NFT_QUOTA=m
+CONFIG_NFT_REJECT=m
+CONFIG_NFT_REJECT_INET=m
+CONFIG_NFT_COMPAT=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_FIB=m
+CONFIG_NFT_FIB_INET=m
+CONFIG_NFT_XFRM=m
+CONFIG_NFT_SOCKET=m
+CONFIG_NFT_OSF=m
+CONFIG_NFT_TPROXY=m
+CONFIG_NFT_SYNPROXY=m
+CONFIG_NF_DUP_NETDEV=m
+CONFIG_NFT_DUP_NETDEV=m
+CONFIG_NFT_FWD_NETDEV=m
+CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_REJECT_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
+# CONFIG_NF_FLOW_TABLE_PROCFS is not set
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XTABLES_COMPAT=y
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_AUDIT=m
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_NAT=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_L2TP=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+# end of Core Netfilter Configuration
+
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPMARK=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_IPMAC=m
+CONFIG_IP_SET_HASH_MAC=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_IPV6=y
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_MH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+CONFIG_IP_VS_TWOS=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS MH scheduler
+#
+CONFIG_IP_VS_MH_TAB_INDEX=12
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_SOCKET_IPV4=m
+CONFIG_NF_TPROXY_IPV4=m
+CONFIG_NF_TABLES_IPV4=y
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
+CONFIG_NFT_FIB_IPV4=m
+CONFIG_NF_TABLES_ARP=y
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_SYNPROXY=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_CLUSTERIP=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+# CONFIG_IP_NF_SECURITY is not set
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+# end of IP: Netfilter Configuration
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_SOCKET_IPV6=m
+CONFIG_NF_TPROXY_IPV6=m
+CONFIG_NF_TABLES_IPV6=y
+CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
+CONFIG_NF_LOG_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_TARGET_SYNPROXY=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+# end of IPv6: Netfilter Configuration
+
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_TABLES_BRIDGE=m
+# CONFIG_NFT_BRIDGE_META is not set
+CONFIG_NFT_BRIDGE_REJECT=m
+CONFIG_NF_CONNTRACK_BRIDGE=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_BPFILTER=y
+CONFIG_BPFILTER_UMH=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+# end of DCCP CCIDs Configuration
+
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_INET_SCTP_DIAG=m
+CONFIG_RDS=m
+# CONFIG_RDS_TCP is not set
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TIPC_CRYPTO=y
+CONFIG_TIPC_DIAG=m
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+# CONFIG_BRIDGE_MRP is not set
+# CONFIG_BRIDGE_CFM is not set
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_LLC=m
+CONFIG_LLC2=m
+CONFIG_ATALK=m
+CONFIG_DEV_APPLETALK=m
+CONFIG_IPDDP=m
+CONFIG_IPDDP_ENCAP=y
+CONFIG_X25=m
+CONFIG_LAPB=m
+CONFIG_PHONET=m
+CONFIG_6LOWPAN=m
+CONFIG_6LOWPAN_NHC=m
+CONFIG_6LOWPAN_NHC_DEST=m
+CONFIG_6LOWPAN_NHC_FRAGMENT=m
+CONFIG_6LOWPAN_NHC_HOP=m
+CONFIG_6LOWPAN_NHC_IPV6=m
+CONFIG_6LOWPAN_NHC_MOBILITY=m
+CONFIG_6LOWPAN_NHC_ROUTING=m
+CONFIG_6LOWPAN_NHC_UDP=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m
+CONFIG_6LOWPAN_GHC_UDP=m
+CONFIG_6LOWPAN_GHC_ICMPV6=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m
+CONFIG_IEEE802154=m
+# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
+CONFIG_IEEE802154_SOCKET=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_CBQ=m
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_ATM=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_CBS=m
+CONFIG_NET_SCH_ETF=m
+CONFIG_NET_SCH_TAPRIO=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_DSMARK=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_SKBPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_CAKE=m
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_HHF=m
+CONFIG_NET_SCH_PIE=m
+CONFIG_NET_SCH_FQ_PIE=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+CONFIG_NET_SCH_ETS=m
+# CONFIG_NET_SCH_DEFAULT is not set
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=m
+CONFIG_NET_CLS_BPF=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_CLS_MATCHALL=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_EMATCH_IPT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+# CONFIG_NET_ACT_SAMPLE is not set
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_ACT_MPLS is not set
+CONFIG_NET_ACT_VLAN=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_NET_ACT_CONNMARK=m
+# CONFIG_NET_ACT_CTINFO is not set
+CONFIG_NET_ACT_SKBMOD=m
+CONFIG_NET_ACT_IFE=m
+CONFIG_NET_ACT_TUNNEL_KEY=m
+# CONFIG_NET_ACT_CT is not set
+# CONFIG_NET_ACT_GATE is not set
+CONFIG_NET_IFE_SKBMARK=m
+CONFIG_NET_IFE_SKBPRIO=m
+CONFIG_NET_IFE_SKBTCINDEX=m
+# CONFIG_NET_TC_SKB_EXT is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=m
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+CONFIG_NETLINK_DIAG=y
+CONFIG_MPLS=y
+CONFIG_NET_MPLS_GSO=m
+CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
+CONFIG_NET_NSH=m
+# CONFIG_HSR is not set
+CONFIG_NET_SWITCHDEV=y
+CONFIG_NET_L3_MASTER_DEV=y
+CONFIG_QRTR=m
+# CONFIG_QRTR_SMD is not set
+# CONFIG_QRTR_TUN is not set
+CONFIG_NET_NCSI=y
+# CONFIG_NCSI_OEM_CMD_GET_MAC is not set
+# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+# CONFIG_BPF_STREAM_PARSER is not set
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# end of Network testing
+# end of Networking options
+
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+CONFIG_STREAM_PARSER=y
+# CONFIG_MCTP is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WIRELESS_EXT=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_WEXT_PRIV=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_LIB80211=m
+CONFIG_LIB80211_CRYPT_WEP=m
+CONFIG_LIB80211_CRYPT_CCMP=m
+# CONFIG_LIB80211_DEBUG is not set
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+# CONFIG_NFC is not set
+# CONFIG_PSAMPLE is not set
+CONFIG_NET_IFE=m
+CONFIG_LWTUNNEL=y
+CONFIG_LWTUNNEL_BPF=y
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_SOCK_MSG=y
+CONFIG_NET_DEVLINK=y
+CONFIG_PAGE_POOL=y
+# CONFIG_PAGE_POOL_STATS is not set
+CONFIG_FAILOVER=m
+CONFIG_ETHTOOL_NETLINK=y
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+CONFIG_PCIEPORTBUS=y
+# CONFIG_PCIEAER is not set
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+CONFIG_PCIE_PME=y
+# CONFIG_PCIE_PTM is not set
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_STUB is not set
+CONFIG_PCI_ECAM=y
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=4
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# PCI controller drivers
+#
+# CONFIG_PCI_FTPCI100 is not set
+CONFIG_PCI_HOST_COMMON=y
+CONFIG_PCI_HOST_GENERIC=y
+CONFIG_PCIE_XILINX=y
+# CONFIG_PCIE_MICROCHIP_HOST is not set
+
+#
+# DesignWare PCI Core Support
+#
+CONFIG_PCIE_DW=y
+CONFIG_PCIE_DW_HOST=y
+# CONFIG_PCIE_DW_PLAT_HOST is not set
+# CONFIG_PCI_MESON is not set
+CONFIG_PCIE_FU740=y
+# end of DesignWare PCI Core Support
+
+#
+# Mobiveil PCIe Core Support
+#
+# end of Mobiveil PCIe Core Support
+
+#
+# Cadence PCIe controllers support
+#
+CONFIG_PCIE_CADENCE=y
+CONFIG_PCIE_CADENCE_HOST=y
+CONFIG_PCIE_CADENCE_PLAT=y
+CONFIG_PCIE_CADENCE_PLAT_HOST=y
+CONFIG_PCIE_CADENCE_SOPHGO=y
+# CONFIG_PCI_J721E_HOST is not set
+# end of Cadence PCIe controllers support
+# end of PCI controller drivers
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+# end of PCI Endpoint
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# end of PCI switch controller drivers
+
+# CONFIG_CXL_BUS is not set
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_DEVTMPFS_SAFE is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_FW_LOADER_PAGED_BUF=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+CONFIG_FW_LOADER_COMPRESS=y
+CONFIG_FW_LOADER_COMPRESS_XZ=y
+# CONFIG_FW_LOADER_COMPRESS_ZSTD is not set
+# CONFIG_FW_UPLOAD is not set
+# end of Firmware loader
+
+CONFIG_WANT_DEV_COREDUMP=y
+CONFIG_ALLOW_DEV_COREDUMP=y
+CONFIG_DEV_COREDUMP=y
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=m
+CONFIG_REGMAP_SPI=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DMA_FENCE_TRACE is not set
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+CONFIG_GENERIC_ARCH_NUMA=y
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_MOXTET is not set
+# CONFIG_MHI_BUS is not set
+# CONFIG_MHI_BUS_EP is not set
+# end of Bus devices
+
+# CONFIG_CONNECTOR is not set
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+# end of ARM System Control and Management Interface Protocol
+
+# CONFIG_SYSFB_SIMPLEFB is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB=y
+# CONFIG_EFI_ZBOOT is not set
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_EARLYCON=y
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
+# CONFIG_GNSS is not set
+CONFIG_MTD=m
+CONFIG_MTD_TESTS=m
+
+#
+# Partition parsers
+#
+# CONFIG_MTD_AR7_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_OF_PARTS=m
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# end of Partition parsers
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+CONFIG_MTD_BLOCK_RO=m
+
+#
+# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
+#
+CONFIG_FTL=m
+CONFIG_NFTL=m
+CONFIG_NFTL_RW=y
+CONFIG_INFTL=m
+CONFIG_RFD_FTL=m
+CONFIG_SSFDC=m
+CONFIG_SM_FTL=m
+CONFIG_MTD_OOPS=m
+CONFIG_MTD_SWAP=m
+# CONFIG_MTD_PARTITIONED_MASTER is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+CONFIG_MTD_CFI=m
+CONFIG_MTD_JEDECPROBE=m
+CONFIG_MTD_GEN_PROBE=m
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+CONFIG_MTD_CFI_INTELEXT=m
+CONFIG_MTD_CFI_AMDSTD=m
+CONFIG_MTD_CFI_STAA=m
+CONFIG_MTD_CFI_UTIL=m
+CONFIG_MTD_RAM=m
+CONFIG_MTD_ROM=m
+CONFIG_MTD_ABSENT=m
+# end of RAM/ROM/Flash chip drivers
+
+#
+# Mapping drivers for chip access
+#
+CONFIG_MTD_COMPLEX_MAPPINGS=y
+CONFIG_MTD_PHYSMAP=m
+# CONFIG_MTD_PHYSMAP_COMPAT is not set
+# CONFIG_MTD_PHYSMAP_OF is not set
+# CONFIG_MTD_PHYSMAP_GPIO_ADDR is not set
+CONFIG_MTD_PCI=m
+CONFIG_MTD_INTEL_VR_NOR=m
+CONFIG_MTD_PLATRAM=m
+# end of Mapping drivers for chip access
+
+#
+# Self-contained MTD device drivers
+#
+CONFIG_MTD_PMC551=m
+CONFIG_MTD_PMC551_BUGFIX=y
+# CONFIG_MTD_PMC551_DEBUG is not set
+CONFIG_MTD_DATAFLASH=m
+# CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set
+# CONFIG_MTD_DATAFLASH_OTP is not set
+# CONFIG_MTD_MCHP23K256 is not set
+# CONFIG_MTD_MCHP48L640 is not set
+# CONFIG_MTD_SST25L is not set
+CONFIG_MTD_SLRAM=m
+CONFIG_MTD_PHRAM=m
+CONFIG_MTD_MTDRAM=m
+CONFIG_MTDRAM_TOTAL_SIZE=4096
+CONFIG_MTDRAM_ERASE_SIZE=128
+CONFIG_MTD_BLOCK2MTD=m
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+# end of Self-contained MTD device drivers
+
+#
+# NAND
+#
+CONFIG_MTD_NAND_CORE=m
+CONFIG_MTD_ONENAND=m
+# CONFIG_MTD_ONENAND_VERIFY_WRITE is not set
+# CONFIG_MTD_ONENAND_GENERIC is not set
+# CONFIG_MTD_ONENAND_OTP is not set
+# CONFIG_MTD_ONENAND_2X_PROGRAM is not set
+# CONFIG_MTD_RAW_NAND is not set
+CONFIG_MTD_SPI_NAND=m
+
+#
+# ECC engine support
+#
+CONFIG_MTD_NAND_ECC=y
+CONFIG_MTD_NAND_ECC_SW_HAMMING=y
+CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC=y
+CONFIG_MTD_NAND_ECC_SW_BCH=y
+# CONFIG_MTD_NAND_ECC_MXIC is not set
+# end of ECC engine support
+# end of NAND
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+CONFIG_MTD_LPDDR=m
+CONFIG_MTD_QINFO_PROBE=m
+# end of LPDDR & LPDDR2 PCM memory drivers
+
+CONFIG_MTD_SPI_NOR=m
+CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y
+# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set
+CONFIG_SPI_SOPHGO_SPIFMC=m
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+# CONFIG_MTD_UBI_BLOCK is not set
+# CONFIG_MTD_HYPERBUS is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+# CONFIG_OF_OVERLAY is not set
+CONFIG_OF_NUMA=y
+CONFIG_OF_DMA_DEFAULT_COHERENT=y
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+CONFIG_CDROM=y
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+CONFIG_ZRAM=m
+CONFIG_ZRAM_DEF_COMP_LZORLE=y
+# CONFIG_ZRAM_DEF_COMP_LZO is not set
+CONFIG_ZRAM_DEF_COMP="lzo-rle"
+# CONFIG_ZRAM_WRITEBACK is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+CONFIG_BLK_DEV_RAM=m
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_VIRTIO_BLK=m
+CONFIG_BLK_DEV_RBD=m
+# CONFIG_BLK_DEV_UBLK is not set
+
+#
+# NVME Support
+#
+CONFIG_NVME_CORE=m
+CONFIG_BLK_DEV_NVME=m
+CONFIG_NVME_MULTIPATH=y
+CONFIG_NVME_VERBOSE_ERRORS=y
+CONFIG_NVME_HWMON=y
+CONFIG_NVME_FABRICS=m
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_AUTH is not set
+CONFIG_NVME_TARGET=m
+# CONFIG_NVME_TARGET_PASSTHRU is not set
+CONFIG_NVME_TARGET_LOOP=m
+# CONFIG_NVME_TARGET_FC is not set
+# CONFIG_NVME_TARGET_TCP is not set
+# CONFIG_NVME_TARGET_AUTH is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+# CONFIG_DW_XDATA_PCIE is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_HISI_HIKEY_USB is not set
+# CONFIG_OPEN_DICE is not set
+CONFIG_VCPU_STALL_DETECTOR=m
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+# CONFIG_EEPROM_AT24 is not set
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_LEGACY is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_BCM_VK is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_HABANA_AI is not set
+# CONFIG_UACCE is not set
+# CONFIG_PVPANIC is not set
+# CONFIG_GP_PCI1XXXX is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+CONFIG_BLK_DEV_SR=y
+CONFIG_CHR_DEV_SG=m
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# end of SCSI Transports
+
+CONFIG_SCSI_LOWLEVEL=y
+# CONFIG_ISCSI_TCP is not set
+# CONFIG_ISCSI_BOOT_SYSFS is not set
+# CONFIG_SCSI_CXGB3_ISCSI is not set
+# CONFIG_SCSI_CXGB4_ISCSI is not set
+# CONFIG_SCSI_BNX2_ISCSI is not set
+# CONFIG_BE2ISCSI is not set
+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set
+# CONFIG_SCSI_HPSA is not set
+# CONFIG_SCSI_3W_9XXX is not set
+# CONFIG_SCSI_3W_SAS is not set
+# CONFIG_SCSI_ACARD is not set
+# CONFIG_SCSI_AACRAID is not set
+# CONFIG_SCSI_AIC7XXX is not set
+# CONFIG_SCSI_AIC79XX is not set
+# CONFIG_SCSI_AIC94XX is not set
+# CONFIG_SCSI_MVSAS is not set
+# CONFIG_SCSI_MVUMI is not set
+# CONFIG_SCSI_ADVANSYS is not set
+# CONFIG_SCSI_ARCMSR is not set
+# CONFIG_SCSI_ESAS2R is not set
+# CONFIG_MEGARAID_NEWGEN is not set
+# CONFIG_MEGARAID_LEGACY is not set
+# CONFIG_MEGARAID_SAS is not set
+# CONFIG_SCSI_MPT3SAS is not set
+# CONFIG_SCSI_MPT2SAS is not set
+# CONFIG_SCSI_MPI3MR is not set
+# CONFIG_SCSI_SMARTPQI is not set
+# CONFIG_SCSI_HPTIOP is not set
+# CONFIG_SCSI_BUSLOGIC is not set
+# CONFIG_SCSI_MYRB is not set
+# CONFIG_SCSI_MYRS is not set
+# CONFIG_SCSI_SNIC is not set
+# CONFIG_SCSI_DMX3191D is not set
+# CONFIG_SCSI_FDOMAIN_PCI is not set
+# CONFIG_SCSI_IPS is not set
+# CONFIG_SCSI_INITIO is not set
+# CONFIG_SCSI_INIA100 is not set
+# CONFIG_SCSI_STEX is not set
+# CONFIG_SCSI_SYM53C8XX_2 is not set
+# CONFIG_SCSI_IPR is not set
+# CONFIG_SCSI_QLOGIC_1280 is not set
+# CONFIG_SCSI_QLA_ISCSI is not set
+# CONFIG_SCSI_DC395x is not set
+# CONFIG_SCSI_AM53C974 is not set
+# CONFIG_SCSI_WD719X is not set
+# CONFIG_SCSI_DEBUG is not set
+# CONFIG_SCSI_PMCRAID is not set
+# CONFIG_SCSI_PM8001 is not set
+CONFIG_SCSI_VIRTIO=m
+# CONFIG_SCSI_DH is not set
+# end of SCSI device support
+
+CONFIG_ATA=m
+CONFIG_SATA_HOST=y
+CONFIG_ATA_VERBOSE_ERROR=y
+CONFIG_ATA_FORCE=y
+CONFIG_SATA_PMP=y
+
+#
+# Controllers with non-SFF native interface
+#
+CONFIG_SATA_AHCI=m
+CONFIG_SATA_MOBILE_LPM_POLICY=0
+CONFIG_SATA_AHCI_PLATFORM=m
+# CONFIG_AHCI_DWC is not set
+# CONFIG_AHCI_CEVA is not set
+# CONFIG_AHCI_QORIQ is not set
+# CONFIG_SATA_INIC162X is not set
+# CONFIG_SATA_ACARD_AHCI is not set
+# CONFIG_SATA_SIL24 is not set
+CONFIG_ATA_SFF=y
+
+#
+# SFF controllers with custom DMA interface
+#
+# CONFIG_PDC_ADMA is not set
+# CONFIG_SATA_QSTOR is not set
+# CONFIG_SATA_SX4 is not set
+CONFIG_ATA_BMDMA=y
+
+#
+# SATA SFF controllers with BMDMA
+#
+# CONFIG_ATA_PIIX is not set
+# CONFIG_SATA_MV is not set
+# CONFIG_SATA_NV is not set
+# CONFIG_SATA_PROMISE is not set
+# CONFIG_SATA_SIL is not set
+# CONFIG_SATA_SIS is not set
+# CONFIG_SATA_SVW is not set
+# CONFIG_SATA_ULI is not set
+# CONFIG_SATA_VIA is not set
+# CONFIG_SATA_VITESSE is not set
+
+#
+# PATA SFF controllers with BMDMA
+#
+# CONFIG_PATA_ALI is not set
+# CONFIG_PATA_AMD is not set
+# CONFIG_PATA_ARTOP is not set
+# CONFIG_PATA_ATIIXP is not set
+# CONFIG_PATA_ATP867X is not set
+# CONFIG_PATA_CMD64X is not set
+# CONFIG_PATA_CYPRESS is not set
+# CONFIG_PATA_EFAR is not set
+# CONFIG_PATA_HPT366 is not set
+# CONFIG_PATA_HPT37X is not set
+# CONFIG_PATA_HPT3X2N is not set
+# CONFIG_PATA_HPT3X3 is not set
+# CONFIG_PATA_IT8213 is not set
+# CONFIG_PATA_IT821X is not set
+# CONFIG_PATA_JMICRON is not set
+# CONFIG_PATA_MARVELL is not set
+# CONFIG_PATA_NETCELL is not set
+# CONFIG_PATA_NINJA32 is not set
+# CONFIG_PATA_NS87415 is not set
+# CONFIG_PATA_OLDPIIX is not set
+# CONFIG_PATA_OPTIDMA is not set
+# CONFIG_PATA_PDC2027X is not set
+# CONFIG_PATA_PDC_OLD is not set
+# CONFIG_PATA_RADISYS is not set
+# CONFIG_PATA_RDC is not set
+# CONFIG_PATA_SCH is not set
+# CONFIG_PATA_SERVERWORKS is not set
+# CONFIG_PATA_SIL680 is not set
+# CONFIG_PATA_SIS is not set
+# CONFIG_PATA_TOSHIBA is not set
+# CONFIG_PATA_TRIFLEX is not set
+# CONFIG_PATA_VIA is not set
+# CONFIG_PATA_WINBOND is not set
+
+#
+# PIO-only SFF controllers
+#
+# CONFIG_PATA_CMD640_PCI is not set
+# CONFIG_PATA_MPIIX is not set
+# CONFIG_PATA_NS87410 is not set
+# CONFIG_PATA_OPTI is not set
+# CONFIG_PATA_OF_PLATFORM is not set
+# CONFIG_PATA_RZ1000 is not set
+
+#
+# Generic fallback / legacy drivers
+#
+# CONFIG_ATA_GENERIC is not set
+# CONFIG_PATA_LEGACY is not set
+# CONFIG_MD is not set
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# end of IEEE 1394 (FireWire) support
+
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_WIREGUARD=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_IFB=m
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_IPVLAN is not set
+# CONFIG_VXLAN is not set
+CONFIG_GENEVE=m
+CONFIG_BAREUDP=m
+# CONFIG_GTP is not set
+# CONFIG_AMT is not set
+CONFIG_MACSEC=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+CONFIG_NETPOLL=y
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_TUN=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_NLMON=m
+CONFIG_NET_VRF=m
+# CONFIG_ARCNET is not set
+# CONFIG_ATM_DRIVERS is not set
+CONFIG_ETHERNET=y
+CONFIG_MDIO=m
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
+# CONFIG_NET_VENDOR_ALACRITECH is not set
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_ALTERA_TSE is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_ASIX is not set
+# CONFIG_NET_VENDOR_ATHEROS is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+CONFIG_NET_VENDOR_CADENCE=y
+CONFIG_MACB=m
+CONFIG_MACB_PCI=m
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
+# CONFIG_NET_VENDOR_DAVICOM is not set
+# CONFIG_DNET is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_ENGLEDER is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+CONFIG_NET_VENDOR_FUNGIBLE=y
+CONFIG_FUN_CORE=m
+CONFIG_FUN_ETH=m
+# CONFIG_NET_VENDOR_GOOGLE is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
+CONFIG_NET_VENDOR_I825XX=y
+CONFIG_NET_VENDOR_INTEL=y
+# CONFIG_E100 is not set
+# CONFIG_E1000 is not set
+CONFIG_E1000E=m
+# CONFIG_IGB is not set
+# CONFIG_IGBVF is not set
+# CONFIG_IXGB is not set
+CONFIG_IXGBE=m
+CONFIG_IXGBE_HWMON=y
+# CONFIG_IXGBEVF is not set
+# CONFIG_I40E is not set
+# CONFIG_I40EVF is not set
+# CONFIG_ICE is not set
+# CONFIG_FM10K is not set
+# CONFIG_IGC is not set
+# CONFIG_NET_VENDOR_WANGXUN is not set
+# CONFIG_JME is not set
+# CONFIG_NET_VENDOR_ADI is not set
+# CONFIG_NET_VENDOR_LITEX is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+CONFIG_NET_VENDOR_MICROCHIP=y
+# CONFIG_ENC28J60 is not set
+# CONFIG_ENCX24J600 is not set
+# CONFIG_LAN743X is not set
+# CONFIG_LAN966X_SWITCH is not set
+# CONFIG_NET_VENDOR_MICROSEMI is not set
+# CONFIG_NET_VENDOR_MICROSOFT is not set
+CONFIG_NET_VENDOR_MYRI=y
+# CONFIG_MYRI10GE is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NET_VENDOR_NI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NETERION is not set
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+CONFIG_ETHOC=m
+# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
+# CONFIG_NET_VENDOR_PENSANDO is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_RDC is not set
+CONFIG_NET_VENDOR_REALTEK=y
+# CONFIG_8139CP is not set
+# CONFIG_8139TOO is not set
+CONFIG_R8169=m
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+# CONFIG_STMMAC_SELFTESTS is not set
+CONFIG_STMMAC_PLATFORM=m
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
+CONFIG_DWMAC_GENERIC=m
+# CONFIG_DWMAC_INTEL_PLAT is not set
+# CONFIG_STMMAC_PCI is not set
+# CONFIG_NET_VENDOR_SUN is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
+# CONFIG_NET_VENDOR_VERTEXCOM is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_NET_VENDOR_XILINX is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLINK=m
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+# CONFIG_LED_TRIGGER_PHY is not set
+CONFIG_FIXED_PHY=y
+# CONFIG_SFP is not set
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AMD_PHY is not set
+# CONFIG_ADIN_PHY is not set
+# CONFIG_ADIN1100_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+# CONFIG_AX88796B_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM54140_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM84881_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MARVELL_88X2222_PHY is not set
+# CONFIG_MAXLINEAR_GPHY is not set
+# CONFIG_MEDIATEK_GE_PHY is not set
+# CONFIG_MICREL_PHY is not set
+# CONFIG_MICROCHIP_PHY is not set
+# CONFIG_MICROCHIP_T1_PHY is not set
+CONFIG_MICROSEMI_PHY=m
+# CONFIG_MOTORCOMM_PHY is not set
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
+# CONFIG_NXP_TJA11XX_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+CONFIG_REALTEK_PHY=m
+# CONFIG_RENESAS_PHY is not set
+# CONFIG_ROCKCHIP_PHY is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_STE10XP is not set
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+# CONFIG_DP83869_PHY is not set
+# CONFIG_DP83TD510_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PSE_CONTROLLER is not set
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_MDIO_HISI_FEMAC is not set
+# CONFIG_MDIO_MVUSB is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_IPQ4019 is not set
+# CONFIG_MDIO_IPQ8064 is not set
+# CONFIG_MDIO_THUNDER is not set
+
+#
+# MDIO Multiplexers
+#
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+
+#
+# PCS device drivers
+#
+CONFIG_PCS_XPCS=m
+# end of PCS device drivers
+
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
+
+#
+# Host-side USB support is needed for USB Network Adapter support
+#
+CONFIG_USB_NET_DRIVERS=m
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_LAN78XX is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_IPHETH is not set
+CONFIG_WLAN=y
+CONFIG_WLAN_VENDOR_ADMTEK=y
+# CONFIG_ADM8211 is not set
+CONFIG_WLAN_VENDOR_ATH=y
+# CONFIG_ATH_DEBUG is not set
+# CONFIG_ATH5K is not set
+# CONFIG_ATH5K_PCI is not set
+# CONFIG_ATH9K is not set
+# CONFIG_ATH9K_HTC is not set
+# CONFIG_CARL9170 is not set
+# CONFIG_ATH6KL is not set
+# CONFIG_AR5523 is not set
+# CONFIG_WIL6210 is not set
+# CONFIG_ATH10K is not set
+# CONFIG_WCN36XX is not set
+# CONFIG_ATH11K is not set
+CONFIG_WLAN_VENDOR_ATMEL=y
+# CONFIG_ATMEL is not set
+# CONFIG_AT76C50X_USB is not set
+CONFIG_WLAN_VENDOR_BROADCOM=y
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+# CONFIG_BRCMSMAC is not set
+# CONFIG_BRCMFMAC is not set
+CONFIG_WLAN_VENDOR_CISCO=y
+CONFIG_WLAN_VENDOR_INTEL=y
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_IWL4965 is not set
+# CONFIG_IWL3945 is not set
+# CONFIG_IWLWIFI is not set
+CONFIG_WLAN_VENDOR_INTERSIL=y
+# CONFIG_HOSTAP is not set
+# CONFIG_HERMES is not set
+# CONFIG_P54_COMMON is not set
+CONFIG_WLAN_VENDOR_MARVELL=y
+# CONFIG_LIBERTAS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_MWIFIEX is not set
+# CONFIG_MWL8K is not set
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+# CONFIG_MT7601U is not set
+CONFIG_MT76_CORE=m
+CONFIG_MT76_LEDS=y
+CONFIG_MT76_CONNAC_LIB=m
+# CONFIG_MT76x0U is not set
+# CONFIG_MT76x0E is not set
+# CONFIG_MT76x2E is not set
+# CONFIG_MT76x2U is not set
+# CONFIG_MT7603E is not set
+# CONFIG_MT7615E is not set
+# CONFIG_MT7663U is not set
+# CONFIG_MT7663S is not set
+# CONFIG_MT7915E is not set
+CONFIG_MT7921_COMMON=m
+CONFIG_MT7921E=m
+# CONFIG_MT7921S is not set
+# CONFIG_MT7921U is not set
+CONFIG_WLAN_VENDOR_MICROCHIP=y
+# CONFIG_WILC1000_SDIO is not set
+# CONFIG_WILC1000_SPI is not set
+# CONFIG_WLAN_VENDOR_PURELIFI is not set
+CONFIG_WLAN_VENDOR_RALINK=y
+# CONFIG_RT2X00 is not set
+CONFIG_WLAN_VENDOR_REALTEK=y
+# CONFIG_RTL8180 is not set
+# CONFIG_RTL8187 is not set
+# CONFIG_RTL_CARDS is not set
+# CONFIG_RTL8XXXU is not set
+# CONFIG_RTW88 is not set
+# CONFIG_RTW89 is not set
+CONFIG_WLAN_VENDOR_RSI=y
+# CONFIG_RSI_91X is not set
+# CONFIG_WLAN_VENDOR_SILABS is not set
+CONFIG_WLAN_VENDOR_ST=y
+# CONFIG_CW1200 is not set
+CONFIG_WLAN_VENDOR_TI=y
+# CONFIG_WL1251 is not set
+# CONFIG_WL12XX is not set
+# CONFIG_WL18XX is not set
+# CONFIG_WLCORE is not set
+CONFIG_WLAN_VENDOR_ZYDAS=y
+# CONFIG_USB_ZD1201 is not set
+# CONFIG_ZD1211RW is not set
+CONFIG_WLAN_VENDOR_QUANTENNA=y
+# CONFIG_QTNFMAC_PCIE is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_USB_NET_RNDIS_WLAN is not set
+# CONFIG_VIRT_WIFI is not set
+# CONFIG_WAN is not set
+CONFIG_IEEE802154_DRIVERS=m
+# CONFIG_IEEE802154_FAKELB is not set
+# CONFIG_IEEE802154_AT86RF230 is not set
+# CONFIG_IEEE802154_MRF24J40 is not set
+# CONFIG_IEEE802154_CC2520 is not set
+# CONFIG_IEEE802154_ATUSB is not set
+# CONFIG_IEEE802154_ADF7242 is not set
+# CONFIG_IEEE802154_CA8210 is not set
+# CONFIG_IEEE802154_MCR20A is not set
+# CONFIG_IEEE802154_HWSIM is not set
+
+#
+# Wireless WAN
+#
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
+# CONFIG_VMXNET3 is not set
+CONFIG_NET_FAILOVER=m
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=m
+CONFIG_INPUT_FF_MEMLESS=m
+# CONFIG_INPUT_SPARSEKMAP is not set
+# CONFIG_INPUT_MATRIXKMAP is not set
+CONFIG_INPUT_VIVALDIFMAP=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=m
+# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=m
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+# CONFIG_KEYBOARD_GPIO_POLLED is not set
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_GOLDFISH_EVENTS is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=m
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_BYD=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_SYNAPTICS_SMBUS=y
+CONFIG_MOUSE_PS2_CYPRESS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_SENTELIC is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_FOCALTECH=y
+CONFIG_MOUSE_PS2_SMBUS=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_APPLETOUCH is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_CYAPA is not set
+# CONFIG_MOUSE_ELAN_I2C is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MOUSE_GPIO is not set
+# CONFIG_MOUSE_SYNAPTICS_I2C is not set
+# CONFIG_MOUSE_SYNAPTICS_USB is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_AMBAKMI is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_LDISC_AUTOLOAD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_DEPRECATED_OPTIONS=y
+CONFIG_SERIAL_8250_16550A_VARIANTS=y
+# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SERIAL_8250_DWLIB=y
+CONFIG_SERIAL_8250_DW=y
+# CONFIG_SERIAL_8250_RT288X is not set
+# CONFIG_SERIAL_8250_PERICOM is not set
+CONFIG_SERIAL_OF_PLATFORM=y
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+# CONFIG_SERIAL_AMBA_PL011 is not set
+CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+CONFIG_SERIAL_SIFIVE=y
+CONFIG_SERIAL_SIFIVE_CONSOLE=y
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_GOLDFISH_TTY is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_NULL_TTY is not set
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_RISCV_SBI=y
+# CONFIG_RPMSG_TTY is not set
+# CONFIG_SERIAL_DEV_BUS is not set
+CONFIG_VIRTIO_CONSOLE=y
+# CONFIG_IPMI_HANDLER is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_BA431 is not set
+CONFIG_HW_RANDOM_VIRTIO=m
+# CONFIG_HW_RANDOM_CCTRNG is not set
+# CONFIG_HW_RANDOM_XIPHERA is not set
+# CONFIG_APPLICOM is not set
+CONFIG_DEVMEM=y
+CONFIG_DEVPORT=y
+# CONFIG_TCG_TPM is not set
+# CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
+CONFIG_RANDOM_TRUST_CPU=y
+CONFIG_RANDOM_TRUST_BOOTLOADER=y
+# end of Character devices
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=m
+# CONFIG_I2C_MUX is not set
+CONFIG_I2C_HELPER_AUTO=y
+CONFIG_I2C_ALGOBIT=m
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=y
+# CONFIG_I2C_DESIGNWARE_SLAVE is not set
+CONFIG_I2C_DESIGNWARE_PLATFORM=y
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_RK3X is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_CP2615 is not set
+# CONFIG_I2C_PCI1XXXX is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+CONFIG_I2C_VIRTIO=m
+# end of I2C Hardware Bus support
+
+# CONFIG_I2C_STUB is not set
+# CONFIG_I2C_SLAVE is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+# CONFIG_SPI_BITBANG is not set
+# CONFIG_SPI_CADENCE is not set
+# CONFIG_SPI_CADENCE_XSPI is not set
+# CONFIG_SPI_DESIGNWARE is not set
+# CONFIG_SPI_NXP_FLEXSPI is not set
+# CONFIG_SPI_GPIO is not set
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_MICROCHIP_CORE is not set
+# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PL022 is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_ROCKCHIP is not set
+# CONFIG_SPI_SC18IS602 is not set
+CONFIG_SPI_SIFIVE=y
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+# CONFIG_SPI_AMD is not set
+
+#
+# SPI Multiplexer support
+#
+# CONFIG_SPI_MUX is not set
+
+#
+# SPI Protocol Masters
+#
+# CONFIG_SPI_SPIDEV is not set
+# CONFIG_SPI_LOOPBACK_TEST is not set
+# CONFIG_SPI_TLE62X0 is not set
+# CONFIG_SPI_SLAVE is not set
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+CONFIG_PPS=m
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+# CONFIG_PTP_1588_CLOCK is not set
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_PINCTRL_CY8C95X0 is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
+# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_STMFX is not set
+# CONFIG_PINCTRL_SX150X is not set
+
+#
+# Renesas pinctrl drivers
+#
+# end of Renesas pinctrl drivers
+
+CONFIG_PINCTRL_STARFIVE_JH7100=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=512
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+CONFIG_GPIO_GENERIC=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
+CONFIG_GPIO_DWAPB=m
+# CONFIG_GPIO_EXAR is not set
+# CONFIG_GPIO_FTGPIO010 is not set
+CONFIG_GPIO_GENERIC_PLATFORM=y
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
+# CONFIG_GPIO_MB86S7X is not set
+# CONFIG_GPIO_PL061 is not set
+CONFIG_GPIO_SIFIVE=y
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_AMD_FCH is not set
+# end of Memory mapped GPIO drivers
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_GW_PLD is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCA9570 is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# end of I2C GPIO expanders
+
+#
+# MFD GPIO expanders
+#
+# end of MFD GPIO expanders
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
+# CONFIG_GPIO_RDC321X is not set
+# end of PCI GPIO expanders
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+# end of SPI GPIO expanders
+
+#
+# USB GPIO expanders
+#
+# end of USB GPIO expanders
+
+#
+# Virtual GPIO drivers
+#
+CONFIG_GPIO_AGGREGATOR=m
+# CONFIG_GPIO_MOCKUP is not set
+CONFIG_GPIO_VIRTIO=m
+# CONFIG_GPIO_SIM is not set
+# end of Virtual GPIO drivers
+
+# CONFIG_W1 is not set
+CONFIG_POWER_RESET=y
+# CONFIG_POWER_RESET_GPIO is not set
+# CONFIG_POWER_RESET_GPIO_RESTART is not set
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_RESTART is not set
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
+# CONFIG_SYSCON_REBOOT_MODE is not set
+# CONFIG_NVMEM_REBOOT_MODE is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_POWER_SUPPLY_HWMON=y
+# CONFIG_PDA_POWER is not set
+# CONFIG_IP5XXX_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_CHARGER_ADP5061 is not set
+# CONFIG_BATTERY_CW2015 is not set
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
+CONFIG_BATTERY_SBS=m
+CONFIG_CHARGER_SBS=m
+# CONFIG_BATTERY_BQ27XXX is not set
+# CONFIG_BATTERY_MAX17040 is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24257 is not set
+# CONFIG_CHARGER_BQ24735 is not set
+# CONFIG_CHARGER_BQ2515X is not set
+# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_BQ25980 is not set
+# CONFIG_CHARGER_BQ256XX is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_BD99954 is not set
+# CONFIG_BATTERY_UG3105 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM1177 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
+# CONFIG_SENSORS_AS370 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_CORSAIR_CPRO is not set
+# CONFIG_SENSORS_CORSAIR_PSU is not set
+# CONFIG_SENSORS_DRIVETEMP is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC2992 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX127 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX31760 is not set
+# CONFIG_SENSORS_MAX6620 is not set
+# CONFIG_SENSORS_MAX6621 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_TPS23861 is not set
+# CONFIG_SENSORS_MR75203 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+CONFIG_SENSORS_LM90=m
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775_I2C is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+CONFIG_SENSORS_PWM_FAN=m
+# CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHT3x is not set
+# CONFIG_SENSORS_SHT4x is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC2305 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_STTS751 is not set
+# CONFIG_SENSORS_SMM665 is not set
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+# CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA238 is not set
+# CONFIG_SENSORS_INA3221 is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP108 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_TMP464 is not set
+# CONFIG_SENSORS_TMP513 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83773G is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+CONFIG_THERMAL=y
+# CONFIG_THERMAL_NETLINK is not set
+# CONFIG_THERMAL_STATISTICS is not set
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_OF=y
+# CONFIG_THERMAL_WRITABLE_TRIPS is not set
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
+CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
+# CONFIG_THERMAL_GOV_USER_SPACE is not set
+# CONFIG_CPU_THERMAL is not set
+# CONFIG_THERMAL_EMULATION is not set
+# CONFIG_THERMAL_MMIO is not set
+# CONFIG_WATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_ACT8945A is not set
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+# CONFIG_MFD_AXP20X_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_HTC_PASIC3 is not set
+# CONFIG_HTC_I2CPLD is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77620 is not set
+# CONFIG_MFD_MAX77650 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77714 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6370 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_MFD_OCELOT is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_NTXEC is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_UCB1400_CORE is not set
+# CONFIG_MFD_SY7636A is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RT5120 is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_RK808 is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_TI_AM335X_TSCADC is not set
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+# CONFIG_MFD_TPS65086 is not set
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
+# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_STMFX is not set
+# CONFIG_MFD_ATC260X_I2C is not set
+# CONFIG_MFD_QCOM_PM8008 is not set
+# CONFIG_MFD_INTEL_M10_BMC is not set
+# CONFIG_MFD_RSMU_I2C is not set
+# CONFIG_MFD_RSMU_SPI is not set
+# end of Multifunction device drivers
+
+# CONFIG_REGULATOR is not set
+# CONFIG_RC_CORE is not set
+
+#
+# CEC support
+#
+# CONFIG_MEDIA_CEC_SUPPORT is not set
+# end of CEC support
+
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_APERTURE_HELPERS=y
+CONFIG_DRM=m
+CONFIG_DRM_KMS_HELPER=m
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
+CONFIG_DRM_DP_AUX_BUS=m
+CONFIG_DRM_DISPLAY_HELPER=m
+CONFIG_DRM_DISPLAY_DP_HELPER=y
+CONFIG_DRM_DISPLAY_HDMI_HELPER=y
+# CONFIG_DRM_DP_AUX_CHARDEV is not set
+# CONFIG_DRM_DP_CEC is not set
+CONFIG_DRM_TTM=m
+CONFIG_DRM_BUDDY=m
+CONFIG_DRM_VRAM_HELPER=m
+CONFIG_DRM_TTM_HELPER=m
+CONFIG_DRM_GEM_SHMEM_HELPER=m
+CONFIG_DRM_SCHED=m
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_DRM_I2C_NXP_TDA998X is not set
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
+# end of I2C encoder or helper chips
+
+#
+# ARM devices
+#
+# CONFIG_DRM_KOMEDA is not set
+# end of ARM devices
+
+CONFIG_DRM_RADEON=m
+# CONFIG_DRM_RADEON_USERPTR is not set
+CONFIG_DRM_AMDGPU=m
+CONFIG_DRM_AMDGPU_SI=y
+CONFIG_DRM_AMDGPU_CIK=y
+# CONFIG_DRM_AMDGPU_USERPTR is not set
+
+#
+# ACP (Audio CoProcessor) Configuration
+#
+# CONFIG_DRM_AMD_ACP is not set
+# end of ACP (Audio CoProcessor) Configuration
+
+#
+# Display Engine Configuration
+#
+CONFIG_DRM_AMD_DC=y
+CONFIG_DRM_AMD_DC_DCN=y
+# CONFIG_DRM_AMD_DC_HDCP is not set
+# CONFIG_DRM_AMD_DC_SI is not set
+# end of Display Engine Configuration
+
+CONFIG_DRM_NOUVEAU=m
+CONFIG_NOUVEAU_LEGACY_CTX_SUPPORT=y
+CONFIG_NOUVEAU_DEBUG=5
+CONFIG_NOUVEAU_DEBUG_DEFAULT=3
+# CONFIG_NOUVEAU_DEBUG_MMU is not set
+# CONFIG_NOUVEAU_DEBUG_PUSH is not set
+CONFIG_DRM_NOUVEAU_BACKLIGHT=y
+CONFIG_DRM_VGEM=m
+# CONFIG_DRM_VKMS is not set
+# CONFIG_DRM_UDL is not set
+# CONFIG_DRM_AST is not set
+# CONFIG_DRM_MGAG200 is not set
+# CONFIG_DRM_RCAR_DW_HDMI is not set
+# CONFIG_DRM_RCAR_USE_LVDS is not set
+# CONFIG_DRM_RCAR_USE_MIPI_DSI is not set
+CONFIG_DRM_QXL=m
+CONFIG_DRM_VIRTIO_GPU=m
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
+# CONFIG_DRM_PANEL_LVDS is not set
+# CONFIG_DRM_PANEL_SIMPLE is not set
+CONFIG_DRM_PANEL_EDP=m
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
+# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set
+# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
+# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set
+# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set
+# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set
+# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set
+# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set
+# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set
+# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set
+# CONFIG_DRM_PANEL_TPO_TPG110 is not set
+# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set
+# end of Display Panels
+
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_CDNS_DSI is not set
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
+# CONFIG_DRM_CHRONTEL_CH7033 is not set
+# CONFIG_DRM_DISPLAY_CONNECTOR is not set
+# CONFIG_DRM_ITE_IT6505 is not set
+# CONFIG_DRM_LONTIUM_LT8912B is not set
+# CONFIG_DRM_LONTIUM_LT9211 is not set
+# CONFIG_DRM_LONTIUM_LT9611 is not set
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_ITE_IT66121 is not set
+# CONFIG_DRM_LVDS_CODEC is not set
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
+# CONFIG_DRM_NWL_MIPI_DSI is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+# CONFIG_DRM_PARADE_PS8640 is not set
+# CONFIG_DRM_SIL_SII8620 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_SII9234 is not set
+# CONFIG_DRM_SIMPLE_BRIDGE is not set
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
+# CONFIG_DRM_TOSHIBA_TC358762 is not set
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TOSHIBA_TC358768 is not set
+# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TI_DLPC3433 is not set
+# CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI83 is not set
+# CONFIG_DRM_TI_SN65DSI86 is not set
+# CONFIG_DRM_TI_TPD12S015 is not set
+# CONFIG_DRM_ANALOGIX_ANX6345 is not set
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
+# CONFIG_DRM_I2C_ADV7511 is not set
+# CONFIG_DRM_CDNS_MHDP8546 is not set
+# end of Display Interface Bridges
+
+# CONFIG_DRM_ETNAVIV is not set
+# CONFIG_DRM_LOGICVC is not set
+# CONFIG_DRM_ARCPGU is not set
+# CONFIG_DRM_BOCHS is not set
+# CONFIG_DRM_CIRRUS_QEMU is not set
+# CONFIG_DRM_GM12U320 is not set
+# CONFIG_DRM_PANEL_MIPI_DBI is not set
+CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
+# CONFIG_TINYDRM_ILI9225 is not set
+# CONFIG_TINYDRM_ILI9341 is not set
+# CONFIG_TINYDRM_ILI9486 is not set
+# CONFIG_TINYDRM_MI0283QT is not set
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
+# CONFIG_TINYDRM_ST7735R is not set
+# CONFIG_DRM_GUD is not set
+# CONFIG_DRM_SSD130X is not set
+CONFIG_DRM_SMI=m
+CONFIG_DRM_SMI_HDMI=y
+# CONFIG_DRM_SMI_PRIME is not set
+CONFIG_DRM_LEGACY=y
+# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_R128 is not set
+# CONFIG_DRM_MGA is not set
+# CONFIG_DRM_VIA is not set
+# CONFIG_DRM_SAVAGE is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=m
+CONFIG_DRM_NOMODESET=y
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB_CMDLINE=y
+CONFIG_FB_NOTIFY=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+CONFIG_FB_DDC=m
+CONFIG_FB_CFB_FILLRECT=m
+CONFIG_FB_CFB_COPYAREA=m
+CONFIG_FB_CFB_IMAGEBLIT=m
+CONFIG_FB_SYS_FILLRECT=m
+CONFIG_FB_SYS_COPYAREA=m
+CONFIG_FB_SYS_IMAGEBLIT=m
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYS_FOPS=m
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_BACKLIGHT=m
+CONFIG_FB_MODE_HELPERS=y
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frame buffer hardware drivers
+#
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_EFI is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+CONFIG_FB_RADEON=m
+CONFIG_FB_RADEON_I2C=y
+CONFIG_FB_RADEON_BACKLIGHT=y
+# CONFIG_FB_RADEON_DEBUG is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_GOLDFISH is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_SIMPLE is not set
+# CONFIG_FB_SSD1307 is not set
+# CONFIG_FB_SM712 is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+# CONFIG_BACKLIGHT_KTD253 is not set
+# CONFIG_BACKLIGHT_PWM is not set
+# CONFIG_BACKLIGHT_QCOM_WLED is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_LM3630A is not set
+# CONFIG_BACKLIGHT_LM3639 is not set
+# CONFIG_BACKLIGHT_LP855X is not set
+# CONFIG_BACKLIGHT_GPIO is not set
+# CONFIG_BACKLIGHT_LV5207LP is not set
+# CONFIG_BACKLIGHT_BD6107 is not set
+# CONFIG_BACKLIGHT_ARCXCNN is not set
+# CONFIG_BACKLIGHT_LED is not set
+# end of Backlight & LCD device support
+
+CONFIG_VIDEOMODE_HELPERS=y
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION=y
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
+CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER=y
+# end of Console display driver support
+
+# CONFIG_LOGO is not set
+# end of Graphics support
+
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+# CONFIG_SND_OSSEMUL is not set
+CONFIG_SND_PCM_TIMER=y
+# CONFIG_SND_HRTIMER is not set
+# CONFIG_SND_DYNAMIC_MINORS is not set
+CONFIG_SND_SUPPORT_OLD_API=y
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+CONFIG_SND_CTL_FAST_LOOKUP=y
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_CTL_INPUT_VALIDATION is not set
+CONFIG_SND_VMASTER=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+# CONFIG_SND_AC97_POWER_SAVE is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+CONFIG_SND_ENS1370=m
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SE6X is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# HD-Audio
+#
+# CONFIG_SND_HDA_INTEL is not set
+# end of HD-Audio
+
+CONFIG_SND_HDA_PREALLOC_SIZE=64
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_CAIAQ=m
+# CONFIG_SND_USB_CAIAQ_INPUT is not set
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_USB_HIFACE=m
+CONFIG_SND_BCD2000=m
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_AC97_BUS=y
+# CONFIG_SND_SOC_ADI is not set
+CONFIG_SND_SOC_AMD_ACP=m
+# CONFIG_SND_SOC_AMD_CZ_RT5645_MACH is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_AUDMIX is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_XCVR is not set
+# CONFIG_SND_SOC_FSL_RPMSG is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+# end of SoC Audio for Freescale CPUs
+
+# CONFIG_SND_I2S_HI6210_I2S is not set
+# CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
+# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
+
+#
+# STMicroelectronics STM32 SOC audio support
+#
+# end of STMicroelectronics STM32 SOC audio support
+
+# CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=m
+
+#
+# CODEC drivers
+#
+CONFIG_SND_SOC_AC97_CODEC=m
+# CONFIG_SND_SOC_ADAU1372_I2C is not set
+# CONFIG_SND_SOC_ADAU1372_SPI is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
+# CONFIG_SND_SOC_ADAU7002 is not set
+# CONFIG_SND_SOC_ADAU7118_HW is not set
+# CONFIG_SND_SOC_ADAU7118_I2C is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
+# CONFIG_SND_SOC_AK4458 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_AK5558 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_BD28623 is not set
+# CONFIG_SND_SOC_BT_SCO is not set
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS35L33 is not set
+# CONFIG_SND_SOC_CS35L34 is not set
+# CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
+# CONFIG_SND_SOC_CS35L41_SPI is not set
+# CONFIG_SND_SOC_CS35L41_I2C is not set
+# CONFIG_SND_SOC_CS35L45_SPI is not set
+# CONFIG_SND_SOC_CS35L45_I2C is not set
+# CONFIG_SND_SOC_CS42L42 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS42L83 is not set
+# CONFIG_SND_SOC_CS4234 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
+# CONFIG_SND_SOC_CS4349 is not set
+# CONFIG_SND_SOC_CS53L30 is not set
+# CONFIG_SND_SOC_CX2072X is not set
+# CONFIG_SND_SOC_DA7213 is not set
+# CONFIG_SND_SOC_DMIC is not set
+# CONFIG_SND_SOC_ES7134 is not set
+# CONFIG_SND_SOC_ES7241 is not set
+# CONFIG_SND_SOC_ES8316 is not set
+# CONFIG_SND_SOC_ES8326 is not set
+# CONFIG_SND_SOC_ES8328_I2C is not set
+# CONFIG_SND_SOC_ES8328_SPI is not set
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_HDA is not set
+# CONFIG_SND_SOC_ICS43432 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98088 is not set
+# CONFIG_SND_SOC_MAX98357A is not set
+# CONFIG_SND_SOC_MAX98504 is not set
+# CONFIG_SND_SOC_MAX9867 is not set
+# CONFIG_SND_SOC_MAX98927 is not set
+# CONFIG_SND_SOC_MAX98520 is not set
+# CONFIG_SND_SOC_MAX98373_I2C is not set
+# CONFIG_SND_SOC_MAX98390 is not set
+# CONFIG_SND_SOC_MAX98396 is not set
+# CONFIG_SND_SOC_MAX9860 is not set
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1789_I2C is not set
+# CONFIG_SND_SOC_PCM179X_I2C is not set
+# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM186X_I2C is not set
+# CONFIG_SND_SOC_PCM186X_SPI is not set
+# CONFIG_SND_SOC_PCM3060_I2C is not set
+# CONFIG_SND_SOC_PCM3060_SPI is not set
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
+# CONFIG_SND_SOC_PCM5102A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+# CONFIG_SND_SOC_RK3328 is not set
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+# CONFIG_SND_SOC_RT5640 is not set
+# CONFIG_SND_SOC_RT5659 is not set
+# CONFIG_SND_SOC_RT9120 is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
+# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
+# CONFIG_SND_SOC_SIMPLE_MUX is not set
+# CONFIG_SND_SOC_SPDIF is not set
+# CONFIG_SND_SOC_SRC4XXX_I2C is not set
+# CONFIG_SND_SOC_SSM2305 is not set
+# CONFIG_SND_SOC_SSM2518 is not set
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS2562 is not set
+# CONFIG_SND_SOC_TAS2764 is not set
+# CONFIG_SND_SOC_TAS2770 is not set
+# CONFIG_SND_SOC_TAS2780 is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TAS5805M is not set
+# CONFIG_SND_SOC_TAS6424 is not set
+# CONFIG_SND_SOC_TDA7419 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TFA989X is not set
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TLV320ADCX140 is not set
+# CONFIG_SND_SOC_TS3A227E is not set
+# CONFIG_SND_SOC_TSCS42XX is not set
+# CONFIG_SND_SOC_TSCS454 is not set
+# CONFIG_SND_SOC_UDA1334 is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8524 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731_I2C is not set
+# CONFIG_SND_SOC_WM8731_SPI is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8782 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8904 is not set
+# CONFIG_SND_SOC_WM8940 is not set
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_ZL38060 is not set
+# CONFIG_SND_SOC_MAX9759 is not set
+# CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
+# CONFIG_SND_SOC_NAU8315 is not set
+# CONFIG_SND_SOC_NAU8540 is not set
+# CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_NAU8821 is not set
+# CONFIG_SND_SOC_NAU8822 is not set
+# CONFIG_SND_SOC_NAU8824 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
+# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
+# end of CODEC drivers
+
+# CONFIG_SND_SIMPLE_CARD is not set
+# CONFIG_SND_AUDIO_GRAPH_CARD is not set
+# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
+# CONFIG_SND_TEST_COMPONENT is not set
+CONFIG_SND_VIRTIO=m
+CONFIG_AC97_BUS=m
+
+#
+# HID support
+#
+CONFIG_HID=m
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_ASUS is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_BIGBEN_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CORSAIR is not set
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CP2112 is not set
+# CONFIG_HID_CREATIVE_SB0540 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELAN is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_FT260 is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_VIVALDI is not set
+# CONFIG_HID_GT683R is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+CONFIG_HID_UCLOGIC=m
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_VRC2 is not set
+# CONFIG_HID_XIAOMI is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LED is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LETSKETCH is not set
+CONFIG_HID_LOGITECH=m
+# CONFIG_HID_LOGITECH_DJ is not set
+# CONFIG_HID_LOGITECH_HIDPP is not set
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWHEELS_FF is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MALTRON is not set
+CONFIG_HID_MAYFLASH=m
+# CONFIG_HID_MEGAWORLD_FF is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+CONFIG_HID_NINTENDO=m
+# CONFIG_NINTENDO_FF is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PXRC is not set
+# CONFIG_HID_RAZER is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SEMITEK is not set
+# CONFIG_HID_SIGMAMICRO is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_TOPRE is not set
+# CONFIG_HID_THINGM is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_U2FZERO is not set
+CONFIG_HID_WACOM=m
+CONFIG_HID_WIIMOTE=m
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+# CONFIG_HID_PID is not set
+CONFIG_USB_HIDDEV=y
+# end of USB HID support
+
+#
+# I2C HID support
+#
+# CONFIG_I2C_HID_OF is not set
+# CONFIG_I2C_HID_OF_ELAN is not set
+# CONFIG_I2C_HID_OF_GOODIX is not set
+# end of I2C HID support
+# end of HID support
+
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=m
+# CONFIG_USB_LED_TRIG is not set
+# CONFIG_USB_ULPI_BUS is not set
+# CONFIG_USB_CONN_GPIO is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=m
+CONFIG_USB_PCI=y
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_FEW_INIT_RETRIES is not set
+CONFIG_USB_DYNAMIC_MINORS=y
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_PRODUCTLIST is not set
+# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+# CONFIG_USB_MON is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_DBGCAP=y
+CONFIG_USB_XHCI_PCI=m
+# CONFIG_USB_XHCI_PCI_RENESAS is not set
+CONFIG_USB_XHCI_PLATFORM=m
+CONFIG_USB_EHCI_HCD=m
+CONFIG_USB_EHCI_ROOT_HUB_TT=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+CONFIG_USB_EHCI_PCI=m
+# CONFIG_USB_EHCI_FSL is not set
+CONFIG_USB_EHCI_HCD_PLATFORM=m
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_FOTG210_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_OHCI_HCD_PCI=m
+CONFIG_USB_OHCI_HCD_PLATFORM=m
+CONFIG_USB_UHCI_HCD=m
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=m
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_REALTEK is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_STORAGE_ENE_UB6250 is not set
+CONFIG_USB_UAS=m
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USBIP_CORE is not set
+# CONFIG_USB_CDNS_SUPPORT is not set
+# CONFIG_USB_MUSB_HDRC is not set
+# CONFIG_USB_DWC3 is not set
+CONFIG_USB_DWC2=m
+CONFIG_USB_DWC2_HOST=y
+
+#
+# Gadget/Dual-role mode requires USB Gadget support to be enabled
+#
+# CONFIG_USB_DWC2_PCI is not set
+# CONFIG_USB_DWC2_DEBUG is not set
+# CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set
+# CONFIG_USB_CHIPIDEA is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
+# CONFIG_USB_SERIAL is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_FTDI_ELAN is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_SISUSBVGA is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HUB_USB251XB is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+# CONFIG_USB_ONBOARD_HUB is not set
+# CONFIG_USB_ATM is not set
+
+#
+# USB Physical Layer drivers
+#
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+# end of USB Physical Layer drivers
+
+# CONFIG_USB_GADGET is not set
+# CONFIG_TYPEC is not set
+CONFIG_USB_ROLE_SWITCH=m
+CONFIG_MMC=y
+CONFIG_PWRSEQ_EMMC=y
+CONFIG_PWRSEQ_SIMPLE=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_BLOCK_MINORS=8
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_ARMMMCI is not set
+CONFIG_MMC_SDHCI=m
+# CONFIG_MMC_SDHCI_PCI is not set
+CONFIG_MMC_SDHCI_PLTFM=m
+# CONFIG_MMC_SDHCI_OF_ARASAN is not set
+# CONFIG_MMC_SDHCI_OF_AT91 is not set
+# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set
+# CONFIG_MMC_SDHCI_CADENCE is not set
+# CONFIG_MMC_SDHCI_F_SDH30 is not set
+# CONFIG_MMC_SDHCI_MILBEAUT is not set
+# CONFIG_MMC_TIFM_SD is not set
+CONFIG_MMC_SPI=y
+CONFIG_MMC_SDHCI_SOPHGO=m
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+# CONFIG_MMC_DW is not set
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+# CONFIG_MMC_CQHCI is not set
+# CONFIG_MMC_HSQ is not set
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_MMC_SDHCI_XENON is not set
+# CONFIG_MMC_SDHCI_OMAP is not set
+# CONFIG_MMC_SDHCI_AM654 is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+# CONFIG_LEDS_CLASS_FLASH is not set
+# CONFIG_LEDS_CLASS_MULTICOLOR is not set
+# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_AN30259A is not set
+# CONFIG_LEDS_AW2013 is not set
+# CONFIG_LEDS_BCM6328 is not set
+# CONFIG_LEDS_BCM6358 is not set
+# CONFIG_LEDS_CR0014114 is not set
+# CONFIG_LEDS_EL15203000 is not set
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3532 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_LM3692X is not set
+# CONFIG_LEDS_PCA9532 is not set
+# CONFIG_LEDS_GPIO is not set
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP3952 is not set
+# CONFIG_LEDS_LP50XX is not set
+# CONFIG_LEDS_LP55XX_COMMON is not set
+# CONFIG_LEDS_LP8860 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+# CONFIG_LEDS_PWM is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_TLC591XX is not set
+# CONFIG_LEDS_LM355x is not set
+# CONFIG_LEDS_IS31FL319X is not set
+# CONFIG_LEDS_IS31FL32XX is not set
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+# CONFIG_LEDS_BLINKM is not set
+# CONFIG_LEDS_MLXREG is not set
+# CONFIG_LEDS_USER is not set
+# CONFIG_LEDS_SPI_BYTE is not set
+# CONFIG_LEDS_TI_LMU_COMMON is not set
+
+#
+# Flash and Torch LED drivers
+#
+
+#
+# RGB LED drivers
+#
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+# CONFIG_LEDS_TRIGGER_TIMER is not set
+# CONFIG_LEDS_TRIGGER_ONESHOT is not set
+# CONFIG_LEDS_TRIGGER_DISK is not set
+# CONFIG_LEDS_TRIGGER_MTD is not set
+# CONFIG_LEDS_TRIGGER_HEARTBEAT is not set
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_CPU is not set
+# CONFIG_LEDS_TRIGGER_ACTIVITY is not set
+# CONFIG_LEDS_TRIGGER_GPIO is not set
+# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+# CONFIG_LEDS_TRIGGER_TRANSIENT is not set
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+# CONFIG_LEDS_TRIGGER_PANIC is not set
+# CONFIG_LEDS_TRIGGER_NETDEV is not set
+# CONFIG_LEDS_TRIGGER_PATTERN is not set
+# CONFIG_LEDS_TRIGGER_AUDIO is not set
+# CONFIG_LEDS_TRIGGER_TTY is not set
+
+#
+# Simple LED drivers
+#
+CONFIG_ACCESSIBILITY=y
+# CONFIG_A11Y_BRAILLE_CONSOLE is not set
+
+#
+# Speakup console speech
+#
+CONFIG_SPEAKUP=m
+# CONFIG_SPEAKUP_SYNTH_ACNTSA is not set
+# CONFIG_SPEAKUP_SYNTH_APOLLO is not set
+# CONFIG_SPEAKUP_SYNTH_AUDPTR is not set
+# CONFIG_SPEAKUP_SYNTH_BNS is not set
+# CONFIG_SPEAKUP_SYNTH_DECTLK is not set
+# CONFIG_SPEAKUP_SYNTH_DECEXT is not set
+# CONFIG_SPEAKUP_SYNTH_LTLK is not set
+CONFIG_SPEAKUP_SYNTH_SOFT=m
+# CONFIG_SPEAKUP_SYNTH_SPKOUT is not set
+# CONFIG_SPEAKUP_SYNTH_TXPRT is not set
+# CONFIG_SPEAKUP_SYNTH_DUMMY is not set
+# end of Speakup console speech
+
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_SUPPORT=y
+# CONFIG_EDAC is not set
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_NVMEM=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_NCT3018Y is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_ISL12026 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF85363 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
+# CONFIG_RTC_DRV_RV3032 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_SD3078 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1302 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6916 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+# CONFIG_RTC_DRV_EFI is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_BQ4802 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_V3020 is not set
+# CONFIG_RTC_DRV_ZYNQMP is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PL030 is not set
+# CONFIG_RTC_DRV_PL031 is not set
+# CONFIG_RTC_DRV_CADENCE is not set
+# CONFIG_RTC_DRV_FTRTC010 is not set
+# CONFIG_RTC_DRV_R7301 is not set
+
+#
+# HID Sensor RTC drivers
+#
+CONFIG_RTC_DRV_GOLDFISH=y
+# CONFIG_RTC_DRV_ASTBMC is not set
+# CONFIG_DMADEVICES is not set
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_UDMABUF is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
+# CONFIG_DMABUF_SELFTESTS is not set
+# CONFIG_DMABUF_HEAPS is not set
+# CONFIG_DMABUF_SYSFS_STATS is not set
+# end of DMABUF options
+
+# CONFIG_AUXDISPLAY is not set
+# CONFIG_UIO is not set
+# CONFIG_VFIO is not set
+CONFIG_VIRT_DRIVERS=y
+CONFIG_VIRTIO_ANCHOR=y
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_PCI_LIB=m
+CONFIG_VIRTIO_PCI_LIB_LEGACY=m
+CONFIG_VIRTIO_MENU=y
+CONFIG_VIRTIO_PCI=m
+CONFIG_VIRTIO_PCI_LEGACY=y
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MMIO=m
+CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
+CONFIG_VIRTIO_DMA_SHARED_BUFFER=m
+# CONFIG_VDPA is not set
+CONFIG_VHOST_IOTLB=m
+CONFIG_VHOST=m
+CONFIG_VHOST_MENU=y
+CONFIG_VHOST_NET=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
+CONFIG_STAGING=y
+# CONFIG_PRISM2_USB is not set
+# CONFIG_RTL8192U is not set
+CONFIG_RTLLIB=m
+CONFIG_RTLLIB_CRYPTO_CCMP=m
+CONFIG_RTLLIB_CRYPTO_TKIP=m
+CONFIG_RTLLIB_CRYPTO_WEP=m
+CONFIG_RTL8192E=m
+# CONFIG_RTL8723BS is not set
+CONFIG_R8712U=m
+CONFIG_R8188EU=m
+# CONFIG_RTS5208 is not set
+# CONFIG_VT6655 is not set
+# CONFIG_VT6656 is not set
+# CONFIG_FB_SM750 is not set
+# CONFIG_STAGING_MEDIA is not set
+# CONFIG_STAGING_BOARD is not set
+# CONFIG_LTE_GDM724X is not set
+# CONFIG_FB_TFT is not set
+# CONFIG_KS7010 is not set
+# CONFIG_PI433 is not set
+# CONFIG_XIL_AXIS_FIFO is not set
+# CONFIG_FIELDBUS_DEV is not set
+# CONFIG_QLGE is not set
+# CONFIG_VME_BUS is not set
+CONFIG_GOLDFISH=y
+# CONFIG_GOLDFISH_PIPE is not set
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+# CONFIG_LMK04832 is not set
+# CONFIG_COMMON_CLK_MAX9485 is not set
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
+# CONFIG_COMMON_CLK_PWM is not set
+# CONFIG_COMMON_CLK_RS9_PCIE is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_VC7 is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+CONFIG_CLK_ANALOGBITS_WRPLL_CLN28HPC=y
+CONFIG_CLK_SIFIVE=y
+CONFIG_CLK_SIFIVE_PRCI=y
+CONFIG_CLK_STARFIVE_JH7100=y
+CONFIG_CLK_STARFIVE_JH7100_AUDIO=m
+# CONFIG_XILINX_VCU is not set
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_DW_APB_TIMER=y
+CONFIG_DW_APB_TIMER_OF=y
+CONFIG_RISCV_TIMER=y
+# CONFIG_MICROCHIP_PIT64B is not set
+# end of Clock Source drivers
+
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_API=y
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+# end of Generic IOMMU Pagetable Support
+
+CONFIG_IOMMU_DEFAULT_DMA_STRICT=y
+# CONFIG_IOMMU_DEFAULT_DMA_LAZY is not set
+# CONFIG_IOMMU_DEFAULT_PASSTHROUGH is not set
+CONFIG_OF_IOMMU=y
+
+#
+# Remoteproc drivers
+#
+# CONFIG_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+CONFIG_RPMSG=m
+CONFIG_RPMSG_CHAR=m
+# CONFIG_RPMSG_CTRL is not set
+CONFIG_RPMSG_NS=m
+CONFIG_RPMSG_VIRTIO=m
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+#
+# Enable LiteX SoC Builder specific drivers
+#
+# CONFIG_LITEX_SOC_CONTROLLER is not set
+# end of Enable LiteX SoC Builder specific drivers
+
+#
+# Qualcomm SoC drivers
+#
+# end of Qualcomm SoC drivers
+
+# CONFIG_SIFIVE_CCACHE is not set
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+# CONFIG_PM_DEVFREQ is not set
+# CONFIG_EXTCON is not set
+# CONFIG_MEMORY is not set
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_ATMEL_TCB is not set
+# CONFIG_PWM_CLK is not set
+# CONFIG_PWM_DWC is not set
+# CONFIG_PWM_FSL_FTM is not set
+# CONFIG_PWM_PCA9685 is not set
+CONFIG_PWM_SIFIVE=y
+# CONFIG_PWM_XILINX is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+# CONFIG_AL_FIC is not set
+# CONFIG_XILINX_INTC is not set
+CONFIG_RISCV_INTC=y
+CONFIG_SIFIVE_PLIC=y
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+CONFIG_RESET_CONTROLLER=y
+CONFIG_RESET_SIMPLE=y
+CONFIG_RESET_STARFIVE_JH7100=y
+# CONFIG_RESET_TI_SYSCON is not set
+# CONFIG_RESET_TI_TPS380X is not set
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
+
+#
+# PHY drivers for Broadcom platforms
+#
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# end of PHY drivers for Broadcom platforms
+
+# CONFIG_PHY_CADENCE_TORRENT is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
+# CONFIG_PHY_CADENCE_DPHY_RX is not set
+# CONFIG_PHY_CADENCE_SIERRA is not set
+# CONFIG_PHY_CADENCE_SALVO is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_LAN966X_SERDES is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
+# CONFIG_PHY_SAMSUNG_USB2 is not set
+# end of PHY Subsystem
+
+# CONFIG_POWERCAP is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+CONFIG_RISCV_PMU=y
+CONFIG_RISCV_PMU_LEGACY=y
+CONFIG_RISCV_PMU_SBI=y
+# end of Performance monitor support
+
+CONFIG_RAS=y
+# CONFIG_USB4 is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID_BINDER_IPC is not set
+# end of Android
+
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+# CONFIG_NVMEM_RMEM is not set
+# CONFIG_NVMEM_U_BOOT_ENV is not set
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# CONFIG_PECI is not set
+# CONFIG_HTE is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=y
+CONFIG_EXT2_FS_POSIX_ACL=y
+CONFIG_EXT2_FS_SECURITY=y
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=m
+# CONFIG_REISERFS_CHECK is not set
+CONFIG_REISERFS_PROC_INFO=y
+CONFIG_REISERFS_FS_XATTR=y
+CONFIG_REISERFS_FS_POSIX_ACL=y
+# CONFIG_REISERFS_FS_SECURITY is not set
+# CONFIG_JFS_FS is not set
+CONFIG_XFS_FS=m
+CONFIG_XFS_SUPPORT_V4=y
+CONFIG_XFS_QUOTA=y
+CONFIG_XFS_POSIX_ACL=y
+CONFIG_XFS_RT=y
+CONFIG_XFS_ONLINE_SCRUB=y
+# CONFIG_XFS_ONLINE_REPAIR is not set
+# CONFIG_XFS_WARN is not set
+# CONFIG_XFS_DEBUG is not set
+CONFIG_GFS2_FS=m
+CONFIG_OCFS2_FS=m
+CONFIG_OCFS2_FS_O2CB=m
+CONFIG_OCFS2_DEBUG_MASKLOG=y
+# CONFIG_OCFS2_DEBUG_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+# CONFIG_BTRFS_FS_REF_VERIFY is not set
+CONFIG_NILFS2_FS=m
+CONFIG_F2FS_FS=y
+# CONFIG_F2FS_STAT_FS is not set
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+# CONFIG_F2FS_CHECK_FS is not set
+# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZO=y
+CONFIG_F2FS_FS_LZORLE=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZ4HC=y
+CONFIG_F2FS_FS_ZSTD=y
+# CONFIG_F2FS_IOSTAT is not set
+# CONFIG_F2FS_UNFAIR_RWSEM is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_EXPORTFS_BLOCK_OPS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FS_ENCRYPTION=y
+CONFIG_FS_ENCRYPTION_ALGS=y
+CONFIG_FS_VERITY=y
+# CONFIG_FS_VERITY_DEBUG is not set
+CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
+CONFIG_FSNOTIFY=y
+CONFIG_DNOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+# CONFIG_PRINT_QUOTA_WARNING is not set
+# CONFIG_QUOTA_DEBUG is not set
+CONFIG_QUOTA_TREE=m
+# CONFIG_QFMT_V1 is not set
+# CONFIG_QFMT_V2 is not set
+CONFIG_QUOTACTL=y
+# CONFIG_AUTOFS4_FS is not set
+CONFIG_AUTOFS_FS=y
+CONFIG_FUSE_FS=m
+# CONFIG_CUSE is not set
+CONFIG_VIRTIO_FS=m
+CONFIG_OVERLAY_FS=m
+# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
+# CONFIG_OVERLAY_FS_INDEX is not set
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
+# CONFIG_OVERLAY_FS_METACOPY is not set
+
+#
+# Caches
+#
+CONFIG_NETFS_SUPPORT=m
+CONFIG_NETFS_STATS=y
+CONFIG_FSCACHE=m
+CONFIG_FSCACHE_STATS=y
+# CONFIG_FSCACHE_DEBUG is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_ERROR_INJECTION is not set
+# CONFIG_CACHEFILES_ONDEMAND is not set
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
+CONFIG_EXFAT_FS=m
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+CONFIG_NTFS3_FS=m
+# CONFIG_NTFS3_64BIT_CLUSTER is not set
+# CONFIG_NTFS3_LZX_XPRESS is not set
+# CONFIG_NTFS3_FS_POSIX_ACL is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_TMPFS_INODE64 is not set
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_EFIVAR_FS=m
+# end of Pseudo filesystems
+
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+CONFIG_ECRYPT_FS=m
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+CONFIG_HFS_FS=m
+CONFIG_HFSPLUS_FS=m
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_UBIFS_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_FILE_CACHE is not set
+CONFIG_SQUASHFS_FILE_DIRECT=y
+# CONFIG_SQUASHFS_DECOMP_SINGLE is not set
+# CONFIG_SQUASHFS_DECOMP_MULTI is not set
+CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_ZSTD=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+CONFIG_EROFS_FS=m
+# CONFIG_EROFS_FS_DEBUG is not set
+CONFIG_EROFS_FS_XATTR=y
+CONFIG_EROFS_FS_POSIX_ACL=y
+CONFIG_EROFS_FS_SECURITY=y
+CONFIG_EROFS_FS_ZIP=y
+# CONFIG_EROFS_FS_ZIP_LZMA is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+# CONFIG_NFS_V4_1_MIGRATION is not set
+CONFIG_NFS_V4_SECURITY_LABEL=y
+CONFIG_NFS_FSCACHE=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
+# CONFIG_NFS_V4_2_READ_PLUS is not set
+# CONFIG_NFSD is not set
+CONFIG_GRACE_PERIOD=m
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_NFS_V4_2_SSC_HELPER=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+# CONFIG_SUNRPC_DEBUG is not set
+# CONFIG_CEPH_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SWN_UPCALL=y
+CONFIG_CIFS_FSCACHE=y
+CONFIG_SMB_SERVER=m
+CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
+# CONFIG_SMB_SERVER_KERBEROS5 is not set
+CONFIG_SMBFS=m
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+CONFIG_9P_FS=m
+CONFIG_9P_FSCACHE=y
+CONFIG_9P_FS_POSIX_ACL=y
+CONFIG_9P_FS_SECURITY=y
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_MAC_ROMAN=m
+CONFIG_NLS_MAC_CELTIC=m
+CONFIG_NLS_MAC_CENTEURO=m
+CONFIG_NLS_MAC_CROATIAN=m
+CONFIG_NLS_MAC_CYRILLIC=m
+CONFIG_NLS_MAC_GAELIC=m
+CONFIG_NLS_MAC_GREEK=m
+CONFIG_NLS_MAC_ICELAND=m
+CONFIG_NLS_MAC_INUIT=m
+CONFIG_NLS_MAC_ROMANIAN=m
+CONFIG_NLS_MAC_TURKISH=m
+CONFIG_NLS_UTF8=m
+# CONFIG_DLM is not set
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_REQUEST_CACHE=y
+# CONFIG_PERSISTENT_KEYRINGS is not set
+# CONFIG_TRUSTED_KEYS is not set
+CONFIG_ENCRYPTED_KEYS=m
+# CONFIG_USER_DECRYPTED_DATA is not set
+CONFIG_KEY_DH_OPERATIONS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+CONFIG_SECURITY_PATH=y
+CONFIG_HAVE_HARDENED_USERCOPY_ALLOCATOR=y
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_FORTIFY_SOURCE=y
+# CONFIG_STATIC_USERMODEHELPER is not set
+# CONFIG_SECURITY_SELINUX is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_LOADPIN is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_SECURITY_SAFESETID is not set
+CONFIG_SECURITY_LOCKDOWN_LSM=y
+# CONFIG_SECURITY_LOCKDOWN_LSM_EARLY is not set
+CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
+# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
+# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
+CONFIG_SECURITY_LANDLOCK=y
+# CONFIG_INTEGRITY is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_LSM=""
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
+CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+# CONFIG_INIT_STACK_ALL_ZERO is not set
+# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+# CONFIG_ZERO_CALL_USED_REGS is not set
+# end of Memory initialization
+
+CONFIG_RANDSTRUCT_NONE=y
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_XOR_BLOCKS=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=m
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=m
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_KPP=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_GF128MUL=m
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=y
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_TEST is not set
+CONFIG_CRYPTO_ENGINE=m
+# end of Crypto core or helper
+
+#
+# Public-key cryptography
+#
+CONFIG_CRYPTO_RSA=y
+CONFIG_CRYPTO_DH=y
+# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set
+CONFIG_CRYPTO_ECC=m
+CONFIG_CRYPTO_ECDH=m
+CONFIG_CRYPTO_ECDSA=m
+CONFIG_CRYPTO_ECRDSA=m
+CONFIG_CRYPTO_SM2=m
+CONFIG_CRYPTO_CURVE25519=m
+# end of Public-key cryptography
+
+#
+# Block ciphers
+#
+CONFIG_CRYPTO_AES=y
+# CONFIG_CRYPTO_AES_TI is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARIA is not set
+CONFIG_CRYPTO_BLOWFISH=m
+CONFIG_CRYPTO_BLOWFISH_COMMON=m
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+# CONFIG_CRYPTO_SM4_GENERIC is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# end of Block ciphers
+
+#
+# Length-preserving ciphers and modes
+#
+CONFIG_CRYPTO_ADIANTUM=m
+# CONFIG_CRYPTO_ARC4 is not set
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CBC=y
+# CONFIG_CRYPTO_CFB is not set
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_HCTR2 is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_OFB is not set
+# CONFIG_CRYPTO_PCBC is not set
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_NHPOLY1305=m
+# end of Length-preserving ciphers and modes
+
+#
+# AEAD (authenticated encryption with associated data) ciphers
+#
+# CONFIG_CRYPTO_AEGIS128 is not set
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
+CONFIG_CRYPTO_ESSIV=m
+# end of AEAD (authenticated encryption with associated data) ciphers
+
+#
+# Hashes, digests, and MACs
+#
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+CONFIG_CRYPTO_MICHAEL_MIC=m
+CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_RMD160 is not set
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_SHA3=m
+CONFIG_CRYPTO_SM3=m
+# CONFIG_CRYPTO_SM3_GENERIC is not set
+CONFIG_CRYPTO_STREEBOG=m
+# CONFIG_CRYPTO_VMAC is not set
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_XCBC is not set
+CONFIG_CRYPTO_XXHASH=m
+# end of Hashes, digests, and MACs
+
+#
+# CRCs (cyclic redundancy checks)
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=y
+# CONFIG_CRYPTO_CRCT10DIF is not set
+# end of CRCs (cyclic redundancy checks)
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+# CONFIG_CRYPTO_ZSTD is not set
+# end of Compression
+
+#
+# Random number generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DRBG_MENU=m
+CONFIG_CRYPTO_DRBG_HMAC=y
+# CONFIG_CRYPTO_DRBG_HASH is not set
+# CONFIG_CRYPTO_DRBG_CTR is not set
+CONFIG_CRYPTO_DRBG=m
+CONFIG_CRYPTO_JITTERENTROPY=m
+CONFIG_CRYPTO_KDF800108_CTR=y
+# end of Random number generation
+
+#
+# Userspace interface
+#
+CONFIG_CRYPTO_USER_API=y
+CONFIG_CRYPTO_USER_API_HASH=y
+# CONFIG_CRYPTO_USER_API_SKCIPHER is not set
+# CONFIG_CRYPTO_USER_API_RNG is not set
+# CONFIG_CRYPTO_USER_API_AEAD is not set
+CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
+# CONFIG_CRYPTO_STATS is not set
+# end of Userspace interface
+
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
+# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_C62X is not set
+# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
+# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
+CONFIG_CRYPTO_DEV_VIRTIO=m
+# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
+# CONFIG_CRYPTO_DEV_CCREE is not set
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
+CONFIG_PKCS7_MESSAGE_PARSER=y
+# CONFIG_PKCS7_TEST_KEY is not set
+CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
+
+#
+# Certificates for signature checking
+#
+CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
+CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
+# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+CONFIG_SECONDARY_TRUSTED_KEYRING=y
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
+# end of Certificates for signature checking
+
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+# CONFIG_RAID6_PQ_BENCHMARK is not set
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+# CONFIG_CORDIC is not set
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+# CONFIG_CRC_T10DIF is not set
+# CONFIG_CRC64_ROCKSOFT is not set
+CONFIG_CRC_ITU_T=y
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+# CONFIG_CRC64 is not set
+# CONFIG_CRC4 is not set
+CONFIG_CRC7=y
+CONFIG_LIBCRC32C=m
+# CONFIG_CRC8 is not set
+CONFIG_XXHASH=y
+CONFIG_AUDIT_GENERIC=y
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=y
+CONFIG_LZ4HC_COMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMMON=y
+CONFIG_ZSTD_COMPRESS=y
+CONFIG_ZSTD_DECOMPRESS=y
+CONFIG_XZ_DEC=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_IA64=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+# CONFIG_XZ_DEC_MICROLZMA is not set
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DECOMPRESS_XZ=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DECOMPRESS_LZ4=y
+CONFIG_DECOMPRESS_ZSTD=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_BCH=m
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_INTERVAL_TREE=y
+CONFIG_XARRAY_MULTI=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_SWIOTLB=y
+# CONFIG_DMA_RESTRICTED_POOL is not set
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_DIRECT_REMAP=y
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_SGL_ALLOC=y
+# CONFIG_FORCE_NR_CPUS is not set
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_GLOB=y
+# CONFIG_GLOB_SELFTEST is not set
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
+CONFIG_CLZ_TAB=y
+# CONFIG_IRQ_POLL is not set
+CONFIG_MPILIB=y
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
+CONFIG_FONT_SUPPORT=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_SG_POOL=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_STACKDEPOT=y
+CONFIG_SBITMAP=y
+# end of Library routines
+
+CONFIG_GENERIC_IOREMAP=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
+# end of printk and dmesg options
+
+# CONFIG_DEBUG_KERNEL is not set
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_AS_HAS_NON_CONST_LEB128=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
+# CONFIG_DEBUG_FS is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_KGDB_QXFER_PKT=y
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_UBSAN is not set
+CONFIG_HAVE_KCSAN_COMPILER=y
+# end of Generic Kernel Debugging Instruments
+
+#
+# Networking Debugging
+#
+# end of Networking Debugging
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_ARCH_HAS_DEBUG_WX=y
+# CONFIG_DEBUG_WX is not set
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+# CONFIG_DEBUG_VM_PGTABLE is not set
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+# CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
+# end of Memory Debugging
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
+CONFIG_SCHED_INFO=y
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_DEBUG_IRQFLAGS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+
+#
+# Debug kernel data structures
+#
+CONFIG_DEBUG_LIST=y
+CONFIG_BUG_ON_DATA_CORRUPTION=y
+# end of Debug kernel data structures
+
+#
+# RCU Debugging
+#
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
+# end of RCU Debugging
+
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_SAMPLES is not set
+# CONFIG_STRICT_DEVMEM is not set
+
+#
+# riscv Debugging
+#
+# end of riscv Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+
+#
+# Rust hacking
+#
+# end of Rust hacking
+# end of Kernel hacking
diff --git a/testing/linux-starfive/APKBUILD b/testing/linux-starfive/APKBUILD
new file mode 100644
index 00000000000..90a362643df
--- /dev/null
+++ b/testing/linux-starfive/APKBUILD
@@ -0,0 +1,251 @@
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+
+_flavor=starfive
+pkgname=linux-${_flavor}
+pkgver=6.8.7
+case $pkgver in
+ *.*.*) _kernver=${pkgver%.*};;
+ *.*) _kernver=$pkgver;;
+esac
+pkgrel=0
+pkgdesc="starfive (development kernel)"
+url="https://www.kernel.org"
+depends="initramfs-generator"
+_depends_dev="perl gmp-dev elfutils-dev flex bison"
+makedepends="$_depends_dev sed bc linux-headers installkernel pigz
+ linux-firmware-any openssl-dev diffutils findutils python3"
+options="!strip !check"
+_config=${config:-config-$_flavor.${CARCH}}
+
+subpackages="$pkgname-dev:_dev:$CBUILD_ARCH"
+source="https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/linux-$_kernver.tar.xz"
+case $pkgver in
+ *.*.0) source="$source";;
+ *.*.*) source="$source
+ https://cdn.kernel.org/pub/linux/kernel/v${pkgver%%.*}.x/patch-$pkgver.xz" ;;
+esac
+ source="$source
+ config-starfive.riscv64
+ aurel32.6.7.y.patch
+ "
+
+builddir="$srcdir/linux-${_kernver}"
+arch="riscv64"
+license="GPL-2.0-only"
+
+unset _flavors
+for _i in $source; do
+ case $_i in
+ config-*.$CARCH)
+ _f=${_i%.$CARCH}
+ _f=${_f#config-}
+ _flavors="$_flavors ${_f}"
+ if [ "linux-$_f" != "$pkgname" ]; then
+ subpackages="$subpackages linux-${_f}::$CBUILD_ARCH linux-${_f}-dev:_dev:$CBUILD_ARCH"
+ fi
+ ;;
+ esac
+done
+
+_carch=${CARCH}
+case "$_carch" in
+aarch64*) _carch="arm64" ;;
+arm*) _carch="arm" ;;
+riscv64) _carch="riscv" ;;
+esac
+
+prepare() {
+ local _patch_failed=
+ case $pkgver in
+ *.*.0);;
+ *)
+ msg "Applying patch-$pkgver.xz"
+ unxz -c < "$srcdir"/patch-$pkgver.xz | patch -p1 -N ;;
+ esac
+
+ # first apply patches in specified order
+ mkdir drivers/pci/controller/plda
+ cp drivers/pci/controller/pcie-microchip-host.c drivers/pci/controller/plda/pcie-microchip-host.c
+ for i in $source; do
+ case $i in
+ *.patch)
+ msg "Applying $i..."
+ if ! patch -s -p1 -N -i "$srcdir"/$i; then
+ echo $i >>failed
+ _patch_failed=1
+ fi
+ ;;
+ esac
+ done
+
+ if ! [ -z "$_patch_failed" ]; then
+ error "The following patches failed:"
+ cat failed
+ return 1
+ fi
+ # remove localversion from patch if any
+ rm -f localversion*
+ oldconfig
+}
+
+oldconfig() {
+ for i in $_flavors; do
+ local _config=config-$i.${CARCH}
+ echo "-$pkgrel-$i" > "$builddir"/localversion-alpine \
+ || return 1
+
+ cp "$srcdir"/$_config "$builddir"/.config
+ make -C $builddir \
+ O="$builddir" \
+ ARCH="$_carch" \
+ listnewconfig oldconfig
+ done
+}
+
+build() {
+ unset LDFLAGS
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+ make ARCH="$_carch" DTC_FLAGS="-@" CC="${CC:-gcc}" \
+ KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-Alpine"
+}
+
+_package() {
+ local _buildflavor="$1" _outdir="$2"
+ local _abi_release=${pkgver}-${pkgrel}-${_buildflavor}
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+
+ # modules_install seems to regenerate a defect Modules.symvers on s390x. Work
+ # around it by backing it up and restore it after modules_install
+ cp Module.symvers Module.symvers.backup
+
+ mkdir -p "$_outdir"/boot "$_outdir"/lib/modules
+
+ local _install
+ case "$CARCH" in
+ arm*|aarch64) _install="zinstall dtbs_install";;
+ riscv64) _install="zinstall dtbs_install";;
+ *) _install=install;;
+ esac
+
+ make -j1 modules_install $_install \
+ ARCH="$_carch" \
+ INSTALL_MOD_PATH="$_outdir" \
+ INSTALL_PATH="$_outdir"/boot \
+ INSTALL_DTBS_PATH="$_outdir/boot/dtbs-$_buildflavor"
+
+ cp Module.symvers.backup Module.symvers
+
+ rm -f "$_outdir"/lib/modules/${_abi_release}/build \
+ "$_outdir"/lib/modules/${_abi_release}/source
+ rm -rf "$_outdir"/lib/firmware
+
+ install -D -m644 include/config/kernel.release \
+ "$_outdir"/usr/share/kernel/$_buildflavor/kernel.release
+ cp "$builddir"/.config $pkgdir/boot/config-$_flavor
+
+}
+
+# main flavor installs in $pkgdir
+package() {
+ depends="$depends linux-firmware-any"
+
+ _package $_flavor "$pkgdir"
+}
+
+_dev() {
+ local _flavor=$(echo $subpkgname | sed -E 's/(^linux-|-dev$)//g')
+ local _abi_release=${pkgver}-${pkgrel}-$_flavor
+ # copy the only the parts that we really need for build 3rd party
+ # kernel modules and install those as /usr/src/linux-headers,
+ # simlar to what ubuntu does
+ #
+ # this way you dont need to install the 300-400 kernel sources to
+ # build a tiny kernel module
+ #
+ pkgdesc="Headers and script for third party modules for $_flavor kernel"
+ depends="$_depends_dev"
+ local dir="$subpkgdir"/usr/src/linux-headers-${_abi_release}
+ export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
+
+ # first we import config, run prepare to set up for building
+ # external modules, and create the scripts
+ mkdir -p $dir
+ cd $builddir
+ cp "$srcdir"/config-$_flavor.${CARCH} "$dir"/.config
+ echo "-$pkgrel-$_flavor" > "$dir"/localversion-alpine
+
+ echo "Installing headers..."
+ cp -t $dir -a $builddir/include
+echo "**********"
+ install -Dt $dir -m644 $builddir/Makefile
+ install -Dt $dir -m644 $builddir/Module.symvers
+ install -Dt $dir -m644 $builddir/System.map
+ cp -t $dir -a $builddir/scripts
+
+echo "***********************************"
+ install -Dt "${dir}/arch/${_carch}" -m644 $builddir/arch/${_carch}/Makefile
+ install -Dt "${dir}/arch/${_carch}/kernel" -m644 $builddir/arch/${_carch}/kernel/asm-offsets.s
+ cp -t "${dir}/arch/${_carch}" -a $builddir/arch/${_carch}/include
+
+echo "***********************************"
+ install -Dt "$dir/drivers/md" -m644 drivers/md/*.h
+ install -Dt "$dir/net/mac80211" -m644 net/mac80211/*.h
+
+ # https://bugs.archlinux.org/task/13146
+ install -Dt "$dir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
+
+ # https://bugs.archlinux.org/task/20402
+ install -Dt "$dir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
+ install -Dt "$dir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
+ install -Dt "$dir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
+
+ # https://bugs.archlinux.org/task/71392
+ install -Dt "$dir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
+
+ echo "Installing KConfig files..."
+ find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
+
+ echo "Removing unneeded architectures..."
+ local arch
+ for arch in "$dir"/arch/*/; do
+ case $(basename "$arch") in $_carch) continue ;; esac
+ echo "Removing $(basename "$arch")"
+ rm -r "$arch"
+ done
+
+ echo "Removing broken symlinks..."
+ find -L "$builddir" -type l -printf 'Removing %P\n' -delete
+
+ echo "Removing loose objects..."
+ find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
+
+ echo "Stripping build tools..."
+ local file
+ while read -rd '' file; do
+ case "$(file -bi "$file")" in
+ application/x-sharedlib\;*) # Libraries (.so)
+ strip -v $STRIP_SHARED "$file" ;;
+ application/x-archive\;*) # Libraries (.a)
+ strip -v $STRIP_STATIC "$file" ;;
+ application/x-executable\;*) # Binaries
+ strip -v $STRIP_BINARIES "$file" ;;
+ application/x-pie-executable\;*) # Relocatable binaries
+ strip -v $STRIP_SHARED "$file" ;;
+ esac
+ done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
+
+ echo "Stripping vmlinux..."
+ strip -v $STRIP_STATIC "$builddir/vmlinux"
+
+ echo "Adding symlink..."
+ mkdir -p "$subpkgdir"/lib/modules/${_abi_release}
+ ln -sf /usr/src/linux-headers-${_abi_release} \
+ "$subpkgdir"/lib/modules/${_abi_release}/build
+}
+
+sha512sums="
+5c4eb4aa1d3f7d1ea01c0f7ddeadacdece6e144fd4bdfc16b2b925d3e10dc04de3a6db69320b79a96c3560052616f001d2c09e7a1bb4f7b731e2380a7ecce068 linux-6.8.tar.xz
+19f6ff889e643bd46bce57ff9312900ab2bf866a8c2eaf0ab545bd6f4189872346c861672babbff991dbb04e3ef1a9b805aaac491d660482bdedc30af5922a0c patch-6.8.7.xz
+9d6ec9c178d5fb35669ad8f9ea86374bc26fbe998be8f285bfb2b891d6a53b0aa9ed5b0c8023e9322868488546a20dbbf5aeca2612f8813e5ade18ba3ae28f62 config-starfive.riscv64
+6031bfd1d002e7e12a32ca7d0f91ed642045c2ff205a8c256d9818cd16688c8ca44bd22fec4daa345b896cc86744efb19d41711a6c14241baddd2b19ff3bc6a9 aurel32.6.7.y.patch
+"
diff --git a/testing/linux-starfive/aurel32.6.7.y.patch b/testing/linux-starfive/aurel32.6.7.y.patch
new file mode 100644
index 00000000000..d35c7e9aeb3
--- /dev/null
+++ b/testing/linux-starfive/aurel32.6.7.y.patch
@@ -0,0 +1,5023 @@
+From 28015397cb6568ef62f56b1cc87a95f7bcd01320 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:51 +0800
+Subject: [PATCH 01/23] dt-bindings: PCI: Add PLDA XpressRICH PCIe host common
+ properties
+
+Add PLDA XpressRICH PCIe host common properties dt-binding doc.
+PolarFire PCIe host using PLDA IP. Move common properties from Microchip
+PolarFire PCIe host to PLDA files.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Reviewed-by: Rob Herring <robh@kernel.org>
+Tested-by: John Clark <inindev@gmail.com>
+Message-ID: <20240108110612.19048-2-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../bindings/pci/microchip,pcie-host.yaml | 55 +-------------
+ .../pci/plda,xpressrich3-axi-common.yaml | 75 +++++++++++++++++++
+ 2 files changed, 76 insertions(+), 54 deletions(-)
+ create mode 100644 Documentation/devicetree/bindings/pci/plda,xpressrich3-axi-common.yaml
+
+diff --git a/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml b/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml
+index f7a3c2636355..7c2d51221f65 100644
+--- a/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml
++++ b/Documentation/devicetree/bindings/pci/microchip,pcie-host.yaml
+@@ -10,21 +10,13 @@ maintainers:
+ - Daire McNamara <daire.mcnamara@microchip.com>
+
+ allOf:
+- - $ref: /schemas/pci/pci-bus.yaml#
++ - $ref: plda,xpressrich3-axi-common.yaml#
+ - $ref: /schemas/interrupt-controller/msi-controller.yaml#
+
+ properties:
+ compatible:
+ const: microchip,pcie-host-1.0 # PolarFire
+
+- reg:
+- maxItems: 2
+-
+- reg-names:
+- items:
+- - const: cfg
+- - const: apb
+-
+ clocks:
+ description:
+ Fabric Interface Controllers, FICs, are the interface between the FPGA
+@@ -52,18 +44,6 @@ properties:
+ items:
+ pattern: '^fic[0-3]$'
+
+- interrupts:
+- minItems: 1
+- items:
+- - description: PCIe host controller
+- - description: builtin MSI controller
+-
+- interrupt-names:
+- minItems: 1
+- items:
+- - const: pcie
+- - const: msi
+-
+ ranges:
+ maxItems: 1
+
+@@ -71,39 +51,6 @@ properties:
+ minItems: 1
+ maxItems: 6
+
+- msi-controller:
+- description: Identifies the node as an MSI controller.
+-
+- msi-parent:
+- description: MSI controller the device is capable of using.
+-
+- interrupt-controller:
+- type: object
+- properties:
+- '#address-cells':
+- const: 0
+-
+- '#interrupt-cells':
+- const: 1
+-
+- interrupt-controller: true
+-
+- required:
+- - '#address-cells'
+- - '#interrupt-cells'
+- - interrupt-controller
+-
+- additionalProperties: false
+-
+-required:
+- - reg
+- - reg-names
+- - "#interrupt-cells"
+- - interrupts
+- - interrupt-map-mask
+- - interrupt-map
+- - msi-controller
+-
+ unevaluatedProperties: false
+
+ examples:
+diff --git a/Documentation/devicetree/bindings/pci/plda,xpressrich3-axi-common.yaml b/Documentation/devicetree/bindings/pci/plda,xpressrich3-axi-common.yaml
+new file mode 100644
+index 000000000000..31bb17b11e58
+--- /dev/null
++++ b/Documentation/devicetree/bindings/pci/plda,xpressrich3-axi-common.yaml
+@@ -0,0 +1,75 @@
++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/pci/plda,xpressrich3-axi-common.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: PLDA XpressRICH PCIe host common properties
++
++maintainers:
++ - Daire McNamara <daire.mcnamara@microchip.com>
++ - Kevin Xie <kevin.xie@starfivetech.com>
++
++description:
++ Generic PLDA XpressRICH PCIe host common properties.
++
++allOf:
++ - $ref: /schemas/pci/pci-bus.yaml#
++
++properties:
++ reg:
++ maxItems: 2
++
++ reg-names:
++ items:
++ - const: cfg
++ - const: apb
++
++ interrupts:
++ minItems: 1
++ items:
++ - description: PCIe host controller
++ - description: builtin MSI controller
++
++ interrupt-names:
++ minItems: 1
++ items:
++ - const: pcie
++ - const: msi
++
++ msi-controller:
++ description: Identifies the node as an MSI controller.
++
++ msi-parent:
++ description: MSI controller the device is capable of using.
++
++ interrupt-controller:
++ type: object
++ properties:
++ '#address-cells':
++ const: 0
++
++ '#interrupt-cells':
++ const: 1
++
++ interrupt-controller: true
++
++ required:
++ - '#address-cells'
++ - '#interrupt-cells'
++ - interrupt-controller
++
++ additionalProperties: false
++
++required:
++ - reg
++ - reg-names
++ - interrupts
++ - msi-controller
++ - "#interrupt-cells"
++ - interrupt-map-mask
++ - interrupt-map
++
++additionalProperties: true
++
++...
+--
+2.43.0
+
+
+From 3e4b15a292dc46205ccca0e73e0397936ce8a8b6 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:52 +0800
+Subject: [PATCH 02/23] PCI: microchip: Move pcie-microchip-host.c to plda
+ directory
+
+For Microchip Polarfire PCIe host is PLDA XpressRich IP, move to plda
+directory. Prepare for refactoring the codes.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-3-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ MAINTAINERS | 4 ++--
+ drivers/pci/controller/Kconfig | 9 +--------
+ drivers/pci/controller/Makefile | 2 +-
+ drivers/pci/controller/plda/Kconfig | 14 ++++++++++++++
+ drivers/pci/controller/plda/Makefile | 2 ++
+ .../controller/{ => plda}/pcie-microchip-host.c | 2 +-
+ 6 files changed, 21 insertions(+), 12 deletions(-)
+ create mode 100644 drivers/pci/controller/plda/Kconfig
+ create mode 100644 drivers/pci/controller/plda/Makefile
+ rename drivers/pci/controller/{ => plda}/pcie-microchip-host.c (99%)
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index a7c4cf8201e0..1a2a4d2fab74 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -16789,7 +16789,7 @@ M: Daire McNamara <daire.mcnamara@microchip.com>
+ L: linux-pci@vger.kernel.org
+ S: Supported
+ F: Documentation/devicetree/bindings/pci/microchip*
+-F: drivers/pci/controller/*microchip*
++F: drivers/pci/controller/plda/*microchip*
+
+ PCIE DRIVER FOR QUALCOMM MSM
+ M: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
+@@ -18587,7 +18587,7 @@ F: drivers/char/hw_random/mpfs-rng.c
+ F: drivers/clk/microchip/clk-mpfs*.c
+ F: drivers/i2c/busses/i2c-microchip-corei2c.c
+ F: drivers/mailbox/mailbox-mpfs.c
+-F: drivers/pci/controller/pcie-microchip-host.c
++F: drivers/pci/controller/plda/pcie-microchip-host.c
+ F: drivers/pwm/pwm-microchip-core.c
+ F: drivers/reset/reset-mpfs.c
+ F: drivers/rtc/rtc-mpfs.c
+diff --git a/drivers/pci/controller/Kconfig b/drivers/pci/controller/Kconfig
+index e534c02ee34f..4d2c188f5835 100644
+--- a/drivers/pci/controller/Kconfig
++++ b/drivers/pci/controller/Kconfig
+@@ -215,14 +215,6 @@ config PCIE_MT7621
+ help
+ This selects a driver for the MediaTek MT7621 PCIe Controller.
+
+-config PCIE_MICROCHIP_HOST
+- tristate "Microchip AXI PCIe controller"
+- depends on PCI_MSI && OF
+- select PCI_HOST_COMMON
+- help
+- Say Y here if you want kernel to support the Microchip AXI PCIe
+- Host Bridge driver.
+-
+ config PCI_HYPERV_INTERFACE
+ tristate "Microsoft Hyper-V PCI Interface"
+ depends on ((X86 && X86_64) || ARM64) && HYPERV && PCI_MSI
+@@ -356,4 +348,5 @@ config PCIE_XILINX_CPM
+ source "drivers/pci/controller/cadence/Kconfig"
+ source "drivers/pci/controller/dwc/Kconfig"
+ source "drivers/pci/controller/mobiveil/Kconfig"
++source "drivers/pci/controller/plda/Kconfig"
+ endmenu
+diff --git a/drivers/pci/controller/Makefile b/drivers/pci/controller/Makefile
+index f2b19e6174af..038ccbd9e3ba 100644
+--- a/drivers/pci/controller/Makefile
++++ b/drivers/pci/controller/Makefile
+@@ -33,7 +33,6 @@ obj-$(CONFIG_PCIE_ROCKCHIP_EP) += pcie-rockchip-ep.o
+ obj-$(CONFIG_PCIE_ROCKCHIP_HOST) += pcie-rockchip-host.o
+ obj-$(CONFIG_PCIE_MEDIATEK) += pcie-mediatek.o
+ obj-$(CONFIG_PCIE_MEDIATEK_GEN3) += pcie-mediatek-gen3.o
+-obj-$(CONFIG_PCIE_MICROCHIP_HOST) += pcie-microchip-host.o
+ obj-$(CONFIG_VMD) += vmd.o
+ obj-$(CONFIG_PCIE_BRCMSTB) += pcie-brcmstb.o
+ obj-$(CONFIG_PCI_LOONGSON) += pci-loongson.o
+@@ -44,6 +43,7 @@ obj-$(CONFIG_PCIE_MT7621) += pcie-mt7621.o
+ # pcie-hisi.o quirks are needed even without CONFIG_PCIE_DW
+ obj-y += dwc/
+ obj-y += mobiveil/
++obj-y += plda/
+
+
+ # The following drivers are for devices that use the generic ACPI
+diff --git a/drivers/pci/controller/plda/Kconfig b/drivers/pci/controller/plda/Kconfig
+new file mode 100644
+index 000000000000..5cb3be4fc98c
+--- /dev/null
++++ b/drivers/pci/controller/plda/Kconfig
+@@ -0,0 +1,14 @@
++# SPDX-License-Identifier: GPL-2.0
++
++menu "PLDA-based PCIe controllers"
++ depends on PCI
++
++config PCIE_MICROCHIP_HOST
++ tristate "Microchip AXI PCIe controller"
++ depends on PCI_MSI && OF
++ select PCI_HOST_COMMON
++ help
++ Say Y here if you want kernel to support the Microchip AXI PCIe
++ Host Bridge driver.
++
++endmenu
+diff --git a/drivers/pci/controller/plda/Makefile b/drivers/pci/controller/plda/Makefile
+new file mode 100644
+index 000000000000..e1a265cbf91c
+--- /dev/null
++++ b/drivers/pci/controller/plda/Makefile
+@@ -0,0 +1,2 @@
++# SPDX-License-Identifier: GPL-2.0
++obj-$(CONFIG_PCIE_MICROCHIP_HOST) += pcie-microchip-host.o
+diff --git a/drivers/pci/controller/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+similarity index 99%
+rename from drivers/pci/controller/pcie-microchip-host.c
+rename to drivers/pci/controller/plda/pcie-microchip-host.c
+index 137fb8570ba2..cb09a8137e25 100644
+--- a/drivers/pci/controller/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -18,7 +18,7 @@
+ #include <linux/pci-ecam.h>
+ #include <linux/platform_device.h>
+
+-#include "../pci.h"
++#include "../../pci.h"
+
+ /* Number of MSI IRQs */
+ #define MC_MAX_NUM_MSI_IRQS 32
+--
+2.43.0
+
+
+From df7fb97715c19a67eb4c19bf63752206d2f62a93 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:53 +0800
+Subject: [PATCH 03/23] PCI: microchip: Move PLDA IP register macros to
+ pcie-plda.h
+
+Move PLDA PCIe host controller IP registers macros to pcie-plda.h,
+including bridge registers and local IRQ event number.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-4-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ MAINTAINERS | 8 ++
+ .../pci/controller/plda/pcie-microchip-host.c | 108 +++---------------
+ drivers/pci/controller/plda/pcie-plda.h | 108 ++++++++++++++++++
+ 3 files changed, 132 insertions(+), 92 deletions(-)
+ create mode 100644 drivers/pci/controller/plda/pcie-plda.h
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 1a2a4d2fab74..730fe2d640a1 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -16557,6 +16557,14 @@ S: Maintained
+ F: Documentation/devicetree/bindings/pci/layerscape-pcie-gen4.txt
+ F: drivers/pci/controller/mobiveil/pcie-layerscape-gen4.c
+
++PCI DRIVER FOR PLDA PCIE IP
++M: Daire McNamara <daire.mcnamara@microchip.com>
++M: Kevin Xie <kevin.xie@starfivetech.com>
++L: linux-pci@vger.kernel.org
++S: Maintained
++F: Documentation/devicetree/bindings/pci/plda,*
++F: drivers/pci/controller/plda/*plda*
++
+ PCI DRIVER FOR RENESAS R-CAR
+ M: Marek Vasut <marek.vasut+renesas@gmail.com>
+ M: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index cb09a8137e25..d9030d550482 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -19,6 +19,7 @@
+ #include <linux/platform_device.h>
+
+ #include "../../pci.h"
++#include "pcie-plda.h"
+
+ /* Number of MSI IRQs */
+ #define MC_MAX_NUM_MSI_IRQS 32
+@@ -30,84 +31,6 @@
+ #define MC_PCIE_BRIDGE_ADDR (MC_PCIE1_BRIDGE_ADDR)
+ #define MC_PCIE_CTRL_ADDR (MC_PCIE1_CTRL_ADDR)
+
+-/* PCIe Bridge Phy Regs */
+-#define PCIE_PCI_IRQ_DW0 0xa8
+-#define MSIX_CAP_MASK BIT(31)
+-#define NUM_MSI_MSGS_MASK GENMASK(6, 4)
+-#define NUM_MSI_MSGS_SHIFT 4
+-
+-#define IMASK_LOCAL 0x180
+-#define DMA_END_ENGINE_0_MASK 0x00000000u
+-#define DMA_END_ENGINE_0_SHIFT 0
+-#define DMA_END_ENGINE_1_MASK 0x00000000u
+-#define DMA_END_ENGINE_1_SHIFT 1
+-#define DMA_ERROR_ENGINE_0_MASK 0x00000100u
+-#define DMA_ERROR_ENGINE_0_SHIFT 8
+-#define DMA_ERROR_ENGINE_1_MASK 0x00000200u
+-#define DMA_ERROR_ENGINE_1_SHIFT 9
+-#define A_ATR_EVT_POST_ERR_MASK 0x00010000u
+-#define A_ATR_EVT_POST_ERR_SHIFT 16
+-#define A_ATR_EVT_FETCH_ERR_MASK 0x00020000u
+-#define A_ATR_EVT_FETCH_ERR_SHIFT 17
+-#define A_ATR_EVT_DISCARD_ERR_MASK 0x00040000u
+-#define A_ATR_EVT_DISCARD_ERR_SHIFT 18
+-#define A_ATR_EVT_DOORBELL_MASK 0x00000000u
+-#define A_ATR_EVT_DOORBELL_SHIFT 19
+-#define P_ATR_EVT_POST_ERR_MASK 0x00100000u
+-#define P_ATR_EVT_POST_ERR_SHIFT 20
+-#define P_ATR_EVT_FETCH_ERR_MASK 0x00200000u
+-#define P_ATR_EVT_FETCH_ERR_SHIFT 21
+-#define P_ATR_EVT_DISCARD_ERR_MASK 0x00400000u
+-#define P_ATR_EVT_DISCARD_ERR_SHIFT 22
+-#define P_ATR_EVT_DOORBELL_MASK 0x00000000u
+-#define P_ATR_EVT_DOORBELL_SHIFT 23
+-#define PM_MSI_INT_INTA_MASK 0x01000000u
+-#define PM_MSI_INT_INTA_SHIFT 24
+-#define PM_MSI_INT_INTB_MASK 0x02000000u
+-#define PM_MSI_INT_INTB_SHIFT 25
+-#define PM_MSI_INT_INTC_MASK 0x04000000u
+-#define PM_MSI_INT_INTC_SHIFT 26
+-#define PM_MSI_INT_INTD_MASK 0x08000000u
+-#define PM_MSI_INT_INTD_SHIFT 27
+-#define PM_MSI_INT_INTX_MASK 0x0f000000u
+-#define PM_MSI_INT_INTX_SHIFT 24
+-#define PM_MSI_INT_MSI_MASK 0x10000000u
+-#define PM_MSI_INT_MSI_SHIFT 28
+-#define PM_MSI_INT_AER_EVT_MASK 0x20000000u
+-#define PM_MSI_INT_AER_EVT_SHIFT 29
+-#define PM_MSI_INT_EVENTS_MASK 0x40000000u
+-#define PM_MSI_INT_EVENTS_SHIFT 30
+-#define PM_MSI_INT_SYS_ERR_MASK 0x80000000u
+-#define PM_MSI_INT_SYS_ERR_SHIFT 31
+-#define NUM_LOCAL_EVENTS 15
+-#define ISTATUS_LOCAL 0x184
+-#define IMASK_HOST 0x188
+-#define ISTATUS_HOST 0x18c
+-#define IMSI_ADDR 0x190
+-#define ISTATUS_MSI 0x194
+-
+-/* PCIe Master table init defines */
+-#define ATR0_PCIE_WIN0_SRCADDR_PARAM 0x600u
+-#define ATR0_PCIE_ATR_SIZE 0x25
+-#define ATR0_PCIE_ATR_SIZE_SHIFT 1
+-#define ATR0_PCIE_WIN0_SRC_ADDR 0x604u
+-#define ATR0_PCIE_WIN0_TRSL_ADDR_LSB 0x608u
+-#define ATR0_PCIE_WIN0_TRSL_ADDR_UDW 0x60cu
+-#define ATR0_PCIE_WIN0_TRSL_PARAM 0x610u
+-
+-/* PCIe AXI slave table init defines */
+-#define ATR0_AXI4_SLV0_SRCADDR_PARAM 0x800u
+-#define ATR_SIZE_SHIFT 1
+-#define ATR_IMPL_ENABLE 1
+-#define ATR0_AXI4_SLV0_SRC_ADDR 0x804u
+-#define ATR0_AXI4_SLV0_TRSL_ADDR_LSB 0x808u
+-#define ATR0_AXI4_SLV0_TRSL_ADDR_UDW 0x80cu
+-#define ATR0_AXI4_SLV0_TRSL_PARAM 0x810u
+-#define PCIE_TX_RX_INTERFACE 0x00000000u
+-#define PCIE_CONFIG_INTERFACE 0x00000001u
+-
+-#define ATR_ENTRY_SIZE 32
+-
+ /* PCIe Controller Phy Regs */
+ #define SEC_ERROR_EVENT_CNT 0x20
+ #define DED_ERROR_EVENT_CNT 0x24
+@@ -179,20 +102,21 @@
+ #define EVENT_LOCAL_DMA_END_ENGINE_1 12
+ #define EVENT_LOCAL_DMA_ERROR_ENGINE_0 13
+ #define EVENT_LOCAL_DMA_ERROR_ENGINE_1 14
+-#define EVENT_LOCAL_A_ATR_EVT_POST_ERR 15
+-#define EVENT_LOCAL_A_ATR_EVT_FETCH_ERR 16
+-#define EVENT_LOCAL_A_ATR_EVT_DISCARD_ERR 17
+-#define EVENT_LOCAL_A_ATR_EVT_DOORBELL 18
+-#define EVENT_LOCAL_P_ATR_EVT_POST_ERR 19
+-#define EVENT_LOCAL_P_ATR_EVT_FETCH_ERR 20
+-#define EVENT_LOCAL_P_ATR_EVT_DISCARD_ERR 21
+-#define EVENT_LOCAL_P_ATR_EVT_DOORBELL 22
+-#define EVENT_LOCAL_PM_MSI_INT_INTX 23
+-#define EVENT_LOCAL_PM_MSI_INT_MSI 24
+-#define EVENT_LOCAL_PM_MSI_INT_AER_EVT 25
+-#define EVENT_LOCAL_PM_MSI_INT_EVENTS 26
+-#define EVENT_LOCAL_PM_MSI_INT_SYS_ERR 27
+-#define NUM_EVENTS 28
++#define NUM_MC_EVENTS 15
++#define EVENT_LOCAL_A_ATR_EVT_POST_ERR (NUM_MC_EVENTS + PLDA_AXI_POST_ERR)
++#define EVENT_LOCAL_A_ATR_EVT_FETCH_ERR (NUM_MC_EVENTS + PLDA_AXI_FETCH_ERR)
++#define EVENT_LOCAL_A_ATR_EVT_DISCARD_ERR (NUM_MC_EVENTS + PLDA_AXI_DISCARD_ERR)
++#define EVENT_LOCAL_A_ATR_EVT_DOORBELL (NUM_MC_EVENTS + PLDA_AXI_DOORBELL)
++#define EVENT_LOCAL_P_ATR_EVT_POST_ERR (NUM_MC_EVENTS + PLDA_PCIE_POST_ERR)
++#define EVENT_LOCAL_P_ATR_EVT_FETCH_ERR (NUM_MC_EVENTS + PLDA_PCIE_FETCH_ERR)
++#define EVENT_LOCAL_P_ATR_EVT_DISCARD_ERR (NUM_MC_EVENTS + PLDA_PCIE_DISCARD_ERR)
++#define EVENT_LOCAL_P_ATR_EVT_DOORBELL (NUM_MC_EVENTS + PLDA_PCIE_DOORBELL)
++#define EVENT_LOCAL_PM_MSI_INT_INTX (NUM_MC_EVENTS + PLDA_INTX)
++#define EVENT_LOCAL_PM_MSI_INT_MSI (NUM_MC_EVENTS + PLDA_MSI)
++#define EVENT_LOCAL_PM_MSI_INT_AER_EVT (NUM_MC_EVENTS + PLDA_AER_EVENT)
++#define EVENT_LOCAL_PM_MSI_INT_EVENTS (NUM_MC_EVENTS + PLDA_MISC_EVENTS)
++#define EVENT_LOCAL_PM_MSI_INT_SYS_ERR (NUM_MC_EVENTS + PLDA_SYS_ERR)
++#define NUM_EVENTS (NUM_MC_EVENTS + PLDA_INT_EVENT_NUM)
+
+ #define PCIE_EVENT_CAUSE(x, s) \
+ [EVENT_PCIE_ ## x] = { __stringify(x), s }
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+new file mode 100644
+index 000000000000..cad3a98d967e
+--- /dev/null
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -0,0 +1,108 @@
++/* SPDX-License-Identifier: GPL-2.0 */
++/*
++ * PLDA PCIe host controller driver
++ */
++
++#ifndef _PCIE_PLDA_H
++#define _PCIE_PLDA_H
++
++/* PCIe Bridge Phy Regs */
++#define PCIE_PCI_IRQ_DW0 0xa8
++#define MSIX_CAP_MASK BIT(31)
++#define NUM_MSI_MSGS_MASK GENMASK(6, 4)
++#define NUM_MSI_MSGS_SHIFT 4
++
++#define IMASK_LOCAL 0x180
++#define DMA_END_ENGINE_0_MASK 0x00000000u
++#define DMA_END_ENGINE_0_SHIFT 0
++#define DMA_END_ENGINE_1_MASK 0x00000000u
++#define DMA_END_ENGINE_1_SHIFT 1
++#define DMA_ERROR_ENGINE_0_MASK 0x00000100u
++#define DMA_ERROR_ENGINE_0_SHIFT 8
++#define DMA_ERROR_ENGINE_1_MASK 0x00000200u
++#define DMA_ERROR_ENGINE_1_SHIFT 9
++#define A_ATR_EVT_POST_ERR_MASK 0x00010000u
++#define A_ATR_EVT_POST_ERR_SHIFT 16
++#define A_ATR_EVT_FETCH_ERR_MASK 0x00020000u
++#define A_ATR_EVT_FETCH_ERR_SHIFT 17
++#define A_ATR_EVT_DISCARD_ERR_MASK 0x00040000u
++#define A_ATR_EVT_DISCARD_ERR_SHIFT 18
++#define A_ATR_EVT_DOORBELL_MASK 0x00000000u
++#define A_ATR_EVT_DOORBELL_SHIFT 19
++#define P_ATR_EVT_POST_ERR_MASK 0x00100000u
++#define P_ATR_EVT_POST_ERR_SHIFT 20
++#define P_ATR_EVT_FETCH_ERR_MASK 0x00200000u
++#define P_ATR_EVT_FETCH_ERR_SHIFT 21
++#define P_ATR_EVT_DISCARD_ERR_MASK 0x00400000u
++#define P_ATR_EVT_DISCARD_ERR_SHIFT 22
++#define P_ATR_EVT_DOORBELL_MASK 0x00000000u
++#define P_ATR_EVT_DOORBELL_SHIFT 23
++#define PM_MSI_INT_INTA_MASK 0x01000000u
++#define PM_MSI_INT_INTA_SHIFT 24
++#define PM_MSI_INT_INTB_MASK 0x02000000u
++#define PM_MSI_INT_INTB_SHIFT 25
++#define PM_MSI_INT_INTC_MASK 0x04000000u
++#define PM_MSI_INT_INTC_SHIFT 26
++#define PM_MSI_INT_INTD_MASK 0x08000000u
++#define PM_MSI_INT_INTD_SHIFT 27
++#define PM_MSI_INT_INTX_MASK 0x0f000000u
++#define PM_MSI_INT_INTX_SHIFT 24
++#define PM_MSI_INT_MSI_MASK 0x10000000u
++#define PM_MSI_INT_MSI_SHIFT 28
++#define PM_MSI_INT_AER_EVT_MASK 0x20000000u
++#define PM_MSI_INT_AER_EVT_SHIFT 29
++#define PM_MSI_INT_EVENTS_MASK 0x40000000u
++#define PM_MSI_INT_EVENTS_SHIFT 30
++#define PM_MSI_INT_SYS_ERR_MASK 0x80000000u
++#define PM_MSI_INT_SYS_ERR_SHIFT 31
++#define NUM_LOCAL_EVENTS 15
++#define ISTATUS_LOCAL 0x184
++#define IMASK_HOST 0x188
++#define ISTATUS_HOST 0x18c
++#define IMSI_ADDR 0x190
++#define ISTATUS_MSI 0x194
++
++/* PCIe Master table init defines */
++#define ATR0_PCIE_WIN0_SRCADDR_PARAM 0x600u
++#define ATR0_PCIE_ATR_SIZE 0x25
++#define ATR0_PCIE_ATR_SIZE_SHIFT 1
++#define ATR0_PCIE_WIN0_SRC_ADDR 0x604u
++#define ATR0_PCIE_WIN0_TRSL_ADDR_LSB 0x608u
++#define ATR0_PCIE_WIN0_TRSL_ADDR_UDW 0x60cu
++#define ATR0_PCIE_WIN0_TRSL_PARAM 0x610u
++
++/* PCIe AXI slave table init defines */
++#define ATR0_AXI4_SLV0_SRCADDR_PARAM 0x800u
++#define ATR_SIZE_SHIFT 1
++#define ATR_IMPL_ENABLE 1
++#define ATR0_AXI4_SLV0_SRC_ADDR 0x804u
++#define ATR0_AXI4_SLV0_TRSL_ADDR_LSB 0x808u
++#define ATR0_AXI4_SLV0_TRSL_ADDR_UDW 0x80cu
++#define ATR0_AXI4_SLV0_TRSL_PARAM 0x810u
++#define PCIE_TX_RX_INTERFACE 0x00000000u
++#define PCIE_CONFIG_INTERFACE 0x00000001u
++
++#define ATR_ENTRY_SIZE 32
++
++enum plda_int_event {
++ PLDA_AXI_POST_ERR,
++ PLDA_AXI_FETCH_ERR,
++ PLDA_AXI_DISCARD_ERR,
++ PLDA_AXI_DOORBELL,
++ PLDA_PCIE_POST_ERR,
++ PLDA_PCIE_FETCH_ERR,
++ PLDA_PCIE_DISCARD_ERR,
++ PLDA_PCIE_DOORBELL,
++ PLDA_INTX,
++ PLDA_MSI,
++ PLDA_AER_EVENT,
++ PLDA_MISC_EVENTS,
++ PLDA_SYS_ERR,
++ PLDA_INT_EVENT_NUM
++};
++
++#define PLDA_NUM_DMA_EVENTS 16
++
++#define PLDA_MAX_INT_NUM (PLDA_NUM_DMA_EVENTS + PLDA_INT_EVENT_NUM)
++
++#endif
+--
+2.43.0
+
+
+From f569d322f9b4683c5f427247c374ac39889643e6 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:54 +0800
+Subject: [PATCH 04/23] PCI: microchip: Add bridge_addr field to struct mc_pcie
+
+For bridge address base is common PLDA field, Add this to struct mc_pcie
+first.
+
+INTx and MSI codes interrupts codes will get the bridge base address from
+port->bridge_addr. These codes will be changed to common codes.
+axi_base_addr is Microchip its own data.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-5-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 23 ++++++++-----------
+ 1 file changed, 9 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index d9030d550482..c55ede80a6d0 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -195,6 +195,7 @@ struct mc_pcie {
+ struct irq_domain *event_domain;
+ raw_spinlock_t lock;
+ struct mc_msi msi;
++ void __iomem *bridge_addr;
+ };
+
+ struct cause {
+@@ -339,8 +340,7 @@ static void mc_handle_msi(struct irq_desc *desc)
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct device *dev = port->dev;
+ struct mc_msi *msi = &port->msi;
+- void __iomem *bridge_base_addr =
+- port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
++ void __iomem *bridge_base_addr = port->bridge_addr;
+ unsigned long status;
+ u32 bit;
+ int ret;
+@@ -365,8 +365,7 @@ static void mc_handle_msi(struct irq_desc *desc)
+ static void mc_msi_bottom_irq_ack(struct irq_data *data)
+ {
+ struct mc_pcie *port = irq_data_get_irq_chip_data(data);
+- void __iomem *bridge_base_addr =
+- port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
++ void __iomem *bridge_base_addr = port->bridge_addr;
+ u32 bitpos = data->hwirq;
+
+ writel_relaxed(BIT(bitpos), bridge_base_addr + ISTATUS_MSI);
+@@ -488,8 +487,7 @@ static void mc_handle_intx(struct irq_desc *desc)
+ struct mc_pcie *port = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct device *dev = port->dev;
+- void __iomem *bridge_base_addr =
+- port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
++ void __iomem *bridge_base_addr = port->bridge_addr;
+ unsigned long status;
+ u32 bit;
+ int ret;
+@@ -514,8 +512,7 @@ static void mc_handle_intx(struct irq_desc *desc)
+ static void mc_ack_intx_irq(struct irq_data *data)
+ {
+ struct mc_pcie *port = irq_data_get_irq_chip_data(data);
+- void __iomem *bridge_base_addr =
+- port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
++ void __iomem *bridge_base_addr = port->bridge_addr;
+ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+
+ writel_relaxed(mask, bridge_base_addr + ISTATUS_LOCAL);
+@@ -524,8 +521,7 @@ static void mc_ack_intx_irq(struct irq_data *data)
+ static void mc_mask_intx_irq(struct irq_data *data)
+ {
+ struct mc_pcie *port = irq_data_get_irq_chip_data(data);
+- void __iomem *bridge_base_addr =
+- port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
++ void __iomem *bridge_base_addr = port->bridge_addr;
+ unsigned long flags;
+ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+ u32 val;
+@@ -540,8 +536,7 @@ static void mc_mask_intx_irq(struct irq_data *data)
+ static void mc_unmask_intx_irq(struct irq_data *data)
+ {
+ struct mc_pcie *port = irq_data_get_irq_chip_data(data);
+- void __iomem *bridge_base_addr =
+- port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
++ void __iomem *bridge_base_addr = port->bridge_addr;
+ unsigned long flags;
+ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+ u32 val;
+@@ -896,8 +891,7 @@ static void mc_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+ static int mc_pcie_setup_windows(struct platform_device *pdev,
+ struct mc_pcie *port)
+ {
+- void __iomem *bridge_base_addr =
+- port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
++ void __iomem *bridge_base_addr = port->bridge_addr;
+ struct pci_host_bridge *bridge = platform_get_drvdata(pdev);
+ struct resource_entry *entry;
+ u64 pci_addr;
+@@ -1081,6 +1075,7 @@ static int mc_host_probe(struct platform_device *pdev)
+ mc_disable_interrupts(port);
+
+ bridge_base_addr = port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
++ port->bridge_addr = bridge_base_addr;
+
+ /* Allow enabling MSI by disabling MSI-X */
+ val = readl(bridge_base_addr + PCIE_PCI_IRQ_DW0);
+--
+2.43.0
+
+
+From a863afc3ea3339f8fa682b4db2dee8f48ff84cb6 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:55 +0800
+Subject: [PATCH 05/23] PCI: microchip: Rename two PCIe data structures
+
+Add PLDA PCIe related data structures by rename data structure name from
+mc_* to plda_*.
+
+axi_base_addr is stayed in struct mc_pcie for it's microchip its own data.
+
+The event interrupt codes is still using struct mc_pcie because the event
+interrupt codes can not be re-used.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-6-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 96 ++++++++++---------
+ 1 file changed, 53 insertions(+), 43 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index c55ede80a6d0..df0736f688ce 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -22,7 +22,7 @@
+ #include "pcie-plda.h"
+
+ /* Number of MSI IRQs */
+-#define MC_MAX_NUM_MSI_IRQS 32
++#define PLDA_MAX_NUM_MSI_IRQS 32
+
+ /* PCIe Bridge Phy and Controller Phy offsets */
+ #define MC_PCIE1_BRIDGE_ADDR 0x00008000u
+@@ -179,25 +179,29 @@ struct event_map {
+ u32 event_bit;
+ };
+
+-struct mc_msi {
++struct plda_msi {
+ struct mutex lock; /* Protect used bitmap */
+ struct irq_domain *msi_domain;
+ struct irq_domain *dev_domain;
+ u32 num_vectors;
+ u64 vector_phy;
+- DECLARE_BITMAP(used, MC_MAX_NUM_MSI_IRQS);
++ DECLARE_BITMAP(used, PLDA_MAX_NUM_MSI_IRQS);
+ };
+
+-struct mc_pcie {
+- void __iomem *axi_base_addr;
++struct plda_pcie_rp {
+ struct device *dev;
+ struct irq_domain *intx_domain;
+ struct irq_domain *event_domain;
+ raw_spinlock_t lock;
+- struct mc_msi msi;
++ struct plda_msi msi;
+ void __iomem *bridge_addr;
+ };
+
++struct mc_pcie {
++ struct plda_pcie_rp plda;
++ void __iomem *axi_base_addr;
++};
++
+ struct cause {
+ const char *sym;
+ const char *str;
+@@ -313,7 +317,7 @@ static struct mc_pcie *port;
+
+ static void mc_pcie_enable_msi(struct mc_pcie *port, void __iomem *ecam)
+ {
+- struct mc_msi *msi = &port->msi;
++ struct plda_msi *msi = &port->plda.msi;
+ u16 reg;
+ u8 queue_size;
+
+@@ -336,10 +340,10 @@ static void mc_pcie_enable_msi(struct mc_pcie *port, void __iomem *ecam)
+
+ static void mc_handle_msi(struct irq_desc *desc)
+ {
+- struct mc_pcie *port = irq_desc_get_handler_data(desc);
++ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct device *dev = port->dev;
+- struct mc_msi *msi = &port->msi;
++ struct plda_msi *msi = &port->msi;
+ void __iomem *bridge_base_addr = port->bridge_addr;
+ unsigned long status;
+ u32 bit;
+@@ -364,7 +368,7 @@ static void mc_handle_msi(struct irq_desc *desc)
+
+ static void mc_msi_bottom_irq_ack(struct irq_data *data)
+ {
+- struct mc_pcie *port = irq_data_get_irq_chip_data(data);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ void __iomem *bridge_base_addr = port->bridge_addr;
+ u32 bitpos = data->hwirq;
+
+@@ -373,7 +377,7 @@ static void mc_msi_bottom_irq_ack(struct irq_data *data)
+
+ static void mc_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
+ {
+- struct mc_pcie *port = irq_data_get_irq_chip_data(data);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ phys_addr_t addr = port->msi.vector_phy;
+
+ msg->address_lo = lower_32_bits(addr);
+@@ -400,8 +404,8 @@ static struct irq_chip mc_msi_bottom_irq_chip = {
+ static int mc_irq_msi_domain_alloc(struct irq_domain *domain, unsigned int virq,
+ unsigned int nr_irqs, void *args)
+ {
+- struct mc_pcie *port = domain->host_data;
+- struct mc_msi *msi = &port->msi;
++ struct plda_pcie_rp *port = domain->host_data;
++ struct plda_msi *msi = &port->msi;
+ unsigned long bit;
+
+ mutex_lock(&msi->lock);
+@@ -425,8 +429,8 @@ static void mc_irq_msi_domain_free(struct irq_domain *domain, unsigned int virq,
+ unsigned int nr_irqs)
+ {
+ struct irq_data *d = irq_domain_get_irq_data(domain, virq);
+- struct mc_pcie *port = irq_data_get_irq_chip_data(d);
+- struct mc_msi *msi = &port->msi;
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(d);
++ struct plda_msi *msi = &port->msi;
+
+ mutex_lock(&msi->lock);
+
+@@ -456,11 +460,11 @@ static struct msi_domain_info mc_msi_domain_info = {
+ .chip = &mc_msi_irq_chip,
+ };
+
+-static int mc_allocate_msi_domains(struct mc_pcie *port)
++static int mc_allocate_msi_domains(struct plda_pcie_rp *port)
+ {
+ struct device *dev = port->dev;
+ struct fwnode_handle *fwnode = of_node_to_fwnode(dev->of_node);
+- struct mc_msi *msi = &port->msi;
++ struct plda_msi *msi = &port->msi;
+
+ mutex_init(&port->msi.lock);
+
+@@ -484,7 +488,7 @@ static int mc_allocate_msi_domains(struct mc_pcie *port)
+
+ static void mc_handle_intx(struct irq_desc *desc)
+ {
+- struct mc_pcie *port = irq_desc_get_handler_data(desc);
++ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+ struct device *dev = port->dev;
+ void __iomem *bridge_base_addr = port->bridge_addr;
+@@ -511,7 +515,7 @@ static void mc_handle_intx(struct irq_desc *desc)
+
+ static void mc_ack_intx_irq(struct irq_data *data)
+ {
+- struct mc_pcie *port = irq_data_get_irq_chip_data(data);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ void __iomem *bridge_base_addr = port->bridge_addr;
+ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+
+@@ -520,7 +524,7 @@ static void mc_ack_intx_irq(struct irq_data *data)
+
+ static void mc_mask_intx_irq(struct irq_data *data)
+ {
+- struct mc_pcie *port = irq_data_get_irq_chip_data(data);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ void __iomem *bridge_base_addr = port->bridge_addr;
+ unsigned long flags;
+ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+@@ -535,7 +539,7 @@ static void mc_mask_intx_irq(struct irq_data *data)
+
+ static void mc_unmask_intx_irq(struct irq_data *data)
+ {
+- struct mc_pcie *port = irq_data_get_irq_chip_data(data);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ void __iomem *bridge_base_addr = port->bridge_addr;
+ unsigned long flags;
+ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+@@ -625,21 +629,22 @@ static u32 local_events(struct mc_pcie *port)
+ return val;
+ }
+
+-static u32 get_events(struct mc_pcie *port)
++static u32 get_events(struct plda_pcie_rp *port)
+ {
++ struct mc_pcie *mc_port = container_of(port, struct mc_pcie, plda);
+ u32 events = 0;
+
+- events |= pcie_events(port);
+- events |= sec_errors(port);
+- events |= ded_errors(port);
+- events |= local_events(port);
++ events |= pcie_events(mc_port);
++ events |= sec_errors(mc_port);
++ events |= ded_errors(mc_port);
++ events |= local_events(mc_port);
+
+ return events;
+ }
+
+ static irqreturn_t mc_event_handler(int irq, void *dev_id)
+ {
+- struct mc_pcie *port = dev_id;
++ struct plda_pcie_rp *port = dev_id;
+ struct device *dev = port->dev;
+ struct irq_data *data;
+
+@@ -655,7 +660,7 @@ static irqreturn_t mc_event_handler(int irq, void *dev_id)
+
+ static void mc_handle_event(struct irq_desc *desc)
+ {
+- struct mc_pcie *port = irq_desc_get_handler_data(desc);
++ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+ unsigned long events;
+ u32 bit;
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+@@ -672,12 +677,13 @@ static void mc_handle_event(struct irq_desc *desc)
+
+ static void mc_ack_event_irq(struct irq_data *data)
+ {
+- struct mc_pcie *port = irq_data_get_irq_chip_data(data);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ struct mc_pcie *mc_port = container_of(port, struct mc_pcie, plda);
+ u32 event = data->hwirq;
+ void __iomem *addr;
+ u32 mask;
+
+- addr = port->axi_base_addr + event_descs[event].base +
++ addr = mc_port->axi_base_addr + event_descs[event].base +
+ event_descs[event].offset;
+ mask = event_descs[event].mask;
+ mask |= event_descs[event].enb_mask;
+@@ -687,13 +693,14 @@ static void mc_ack_event_irq(struct irq_data *data)
+
+ static void mc_mask_event_irq(struct irq_data *data)
+ {
+- struct mc_pcie *port = irq_data_get_irq_chip_data(data);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ struct mc_pcie *mc_port = container_of(port, struct mc_pcie, plda);
+ u32 event = data->hwirq;
+ void __iomem *addr;
+ u32 mask;
+ u32 val;
+
+- addr = port->axi_base_addr + event_descs[event].base +
++ addr = mc_port->axi_base_addr + event_descs[event].base +
+ event_descs[event].mask_offset;
+ mask = event_descs[event].mask;
+ if (event_descs[event].enb_mask) {
+@@ -717,13 +724,14 @@ static void mc_mask_event_irq(struct irq_data *data)
+
+ static void mc_unmask_event_irq(struct irq_data *data)
+ {
+- struct mc_pcie *port = irq_data_get_irq_chip_data(data);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ struct mc_pcie *mc_port = container_of(port, struct mc_pcie, plda);
+ u32 event = data->hwirq;
+ void __iomem *addr;
+ u32 mask;
+ u32 val;
+
+- addr = port->axi_base_addr + event_descs[event].base +
++ addr = mc_port->axi_base_addr + event_descs[event].base +
+ event_descs[event].mask_offset;
+ mask = event_descs[event].mask;
+
+@@ -811,7 +819,7 @@ static int mc_pcie_init_clks(struct device *dev)
+ return 0;
+ }
+
+-static int mc_pcie_init_irq_domains(struct mc_pcie *port)
++static int mc_pcie_init_irq_domains(struct plda_pcie_rp *port)
+ {
+ struct device *dev = port->dev;
+ struct device_node *node = dev->of_node;
+@@ -889,7 +897,7 @@ static void mc_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+ }
+
+ static int mc_pcie_setup_windows(struct platform_device *pdev,
+- struct mc_pcie *port)
++ struct plda_pcie_rp *port)
+ {
+ void __iomem *bridge_base_addr = port->bridge_addr;
+ struct pci_host_bridge *bridge = platform_get_drvdata(pdev);
+@@ -970,7 +978,7 @@ static void mc_disable_interrupts(struct mc_pcie *port)
+ writel_relaxed(GENMASK(31, 0), bridge_base_addr + ISTATUS_HOST);
+ }
+
+-static int mc_init_interrupts(struct platform_device *pdev, struct mc_pcie *port)
++static int mc_init_interrupts(struct platform_device *pdev, struct plda_pcie_rp *port)
+ {
+ struct device *dev = &pdev->dev;
+ int irq;
+@@ -1043,12 +1051,12 @@ static int mc_platform_init(struct pci_config_window *cfg)
+ mc_pcie_enable_msi(port, cfg->win);
+
+ /* Configure non-config space outbound ranges */
+- ret = mc_pcie_setup_windows(pdev, port);
++ ret = mc_pcie_setup_windows(pdev, &port->plda);
+ if (ret)
+ return ret;
+
+ /* Address translation is up; safe to enable interrupts */
+- ret = mc_init_interrupts(pdev, port);
++ ret = mc_init_interrupts(pdev, &port->plda);
+ if (ret)
+ return ret;
+
+@@ -1059,6 +1067,7 @@ static int mc_host_probe(struct platform_device *pdev)
+ {
+ struct device *dev = &pdev->dev;
+ void __iomem *bridge_base_addr;
++ struct plda_pcie_rp *plda;
+ int ret;
+ u32 val;
+
+@@ -1066,7 +1075,8 @@ static int mc_host_probe(struct platform_device *pdev)
+ if (!port)
+ return -ENOMEM;
+
+- port->dev = dev;
++ plda = &port->plda;
++ plda->dev = dev;
+
+ port->axi_base_addr = devm_platform_ioremap_resource(pdev, 1);
+ if (IS_ERR(port->axi_base_addr))
+@@ -1075,7 +1085,7 @@ static int mc_host_probe(struct platform_device *pdev)
+ mc_disable_interrupts(port);
+
+ bridge_base_addr = port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
+- port->bridge_addr = bridge_base_addr;
++ plda->bridge_addr = bridge_base_addr;
+
+ /* Allow enabling MSI by disabling MSI-X */
+ val = readl(bridge_base_addr + PCIE_PCI_IRQ_DW0);
+@@ -1087,10 +1097,10 @@ static int mc_host_probe(struct platform_device *pdev)
+ val &= NUM_MSI_MSGS_MASK;
+ val >>= NUM_MSI_MSGS_SHIFT;
+
+- port->msi.num_vectors = 1 << val;
++ plda->msi.num_vectors = 1 << val;
+
+ /* Pick vector address from design */
+- port->msi.vector_phy = readl_relaxed(bridge_base_addr + IMSI_ADDR);
++ plda->msi.vector_phy = readl_relaxed(bridge_base_addr + IMSI_ADDR);
+
+ ret = mc_pcie_init_clks(dev);
+ if (ret) {
+--
+2.43.0
+
+
+From 68cfb6ce3d0d855399cc6d7505cc8ac3ba56afa2 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:56 +0800
+Subject: [PATCH 06/23] PCI: microchip: Move PCIe host data structures to
+ plda-pcie.h
+
+Move the common data structures definition to head file for these two data
+structures can be re-used.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-7-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 20 ------------------
+ drivers/pci/controller/plda/pcie-plda.h | 21 +++++++++++++++++++
+ 2 files changed, 21 insertions(+), 20 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index df0736f688ce..a554a56cc0e8 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -21,9 +21,6 @@
+ #include "../../pci.h"
+ #include "pcie-plda.h"
+
+-/* Number of MSI IRQs */
+-#define PLDA_MAX_NUM_MSI_IRQS 32
+-
+ /* PCIe Bridge Phy and Controller Phy offsets */
+ #define MC_PCIE1_BRIDGE_ADDR 0x00008000u
+ #define MC_PCIE1_CTRL_ADDR 0x0000a000u
+@@ -179,23 +176,6 @@ struct event_map {
+ u32 event_bit;
+ };
+
+-struct plda_msi {
+- struct mutex lock; /* Protect used bitmap */
+- struct irq_domain *msi_domain;
+- struct irq_domain *dev_domain;
+- u32 num_vectors;
+- u64 vector_phy;
+- DECLARE_BITMAP(used, PLDA_MAX_NUM_MSI_IRQS);
+-};
+-
+-struct plda_pcie_rp {
+- struct device *dev;
+- struct irq_domain *intx_domain;
+- struct irq_domain *event_domain;
+- raw_spinlock_t lock;
+- struct plda_msi msi;
+- void __iomem *bridge_addr;
+-};
+
+ struct mc_pcie {
+ struct plda_pcie_rp plda;
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index cad3a98d967e..7bec6a470758 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -6,6 +6,9 @@
+ #ifndef _PCIE_PLDA_H
+ #define _PCIE_PLDA_H
+
++/* Number of MSI IRQs */
++#define PLDA_MAX_NUM_MSI_IRQS 32
++
+ /* PCIe Bridge Phy Regs */
+ #define PCIE_PCI_IRQ_DW0 0xa8
+ #define MSIX_CAP_MASK BIT(31)
+@@ -105,4 +108,22 @@ enum plda_int_event {
+
+ #define PLDA_MAX_INT_NUM (PLDA_NUM_DMA_EVENTS + PLDA_INT_EVENT_NUM)
+
++struct plda_msi {
++ struct mutex lock; /* Protect used bitmap */
++ struct irq_domain *msi_domain;
++ struct irq_domain *dev_domain;
++ u32 num_vectors;
++ u64 vector_phy;
++ DECLARE_BITMAP(used, PLDA_MAX_NUM_MSI_IRQS);
++};
++
++struct plda_pcie_rp {
++ struct device *dev;
++ struct irq_domain *intx_domain;
++ struct irq_domain *event_domain;
++ raw_spinlock_t lock;
++ struct plda_msi msi;
++ void __iomem *bridge_addr;
++};
++
+ #endif
+--
+2.43.0
+
+
+From 5d5ba2f5b6133a3d4dc0d84d9777fa28805f14f1 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:57 +0800
+Subject: [PATCH 07/23] PCI: microchip: Rename two setup functions
+
+Rename two setup functions to plda prefix. Prepare to re-use these two
+setup function.
+
+For two setup functions names are similar, rename mc_pcie_setup_windows()
+to plda_pcie_setup_iomems().
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-8-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 24 +++++++++----------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index a554a56cc0e8..9b367927cd32 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -838,9 +838,9 @@ static int mc_pcie_init_irq_domains(struct plda_pcie_rp *port)
+ return mc_allocate_msi_domains(port);
+ }
+
+-static void mc_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+- phys_addr_t axi_addr, phys_addr_t pci_addr,
+- size_t size)
++static void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
++ phys_addr_t axi_addr, phys_addr_t pci_addr,
++ size_t size)
+ {
+ u32 atr_sz = ilog2(size) - 1;
+ u32 val;
+@@ -876,8 +876,8 @@ static void mc_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+ writel(0, bridge_base_addr + ATR0_PCIE_WIN0_SRC_ADDR);
+ }
+
+-static int mc_pcie_setup_windows(struct platform_device *pdev,
+- struct plda_pcie_rp *port)
++static int plda_pcie_setup_iomems(struct platform_device *pdev,
++ struct plda_pcie_rp *port)
+ {
+ void __iomem *bridge_base_addr = port->bridge_addr;
+ struct pci_host_bridge *bridge = platform_get_drvdata(pdev);
+@@ -888,9 +888,9 @@ static int mc_pcie_setup_windows(struct platform_device *pdev,
+ resource_list_for_each_entry(entry, &bridge->windows) {
+ if (resource_type(entry->res) == IORESOURCE_MEM) {
+ pci_addr = entry->res->start - entry->offset;
+- mc_pcie_setup_window(bridge_base_addr, index,
+- entry->res->start, pci_addr,
+- resource_size(entry->res));
++ plda_pcie_setup_window(bridge_base_addr, index,
++ entry->res->start, pci_addr,
++ resource_size(entry->res));
+ index++;
+ }
+ }
+@@ -1023,15 +1023,15 @@ static int mc_platform_init(struct pci_config_window *cfg)
+ int ret;
+
+ /* Configure address translation table 0 for PCIe config space */
+- mc_pcie_setup_window(bridge_base_addr, 0, cfg->res.start,
+- cfg->res.start,
+- resource_size(&cfg->res));
++ plda_pcie_setup_window(bridge_base_addr, 0, cfg->res.start,
++ cfg->res.start,
++ resource_size(&cfg->res));
+
+ /* Need some fixups in config space */
+ mc_pcie_enable_msi(port, cfg->win);
+
+ /* Configure non-config space outbound ranges */
+- ret = mc_pcie_setup_windows(pdev, &port->plda);
++ ret = plda_pcie_setup_iomems(pdev, &port->plda);
+ if (ret)
+ return ret;
+
+--
+2.43.0
+
+
+From cc5abca4b49d346506fd44473be579fdb8949647 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:58 +0800
+Subject: [PATCH 08/23] PCI: microchip: Change the argument of
+ plda_pcie_setup_iomems()
+
+If other vendor do not select PCI_HOST_COMMON, the driver data is not
+struct pci_host_bridge.
+
+Move calling platform_get_drvdata() to mc_platform_init().
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-9-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ drivers/pci/controller/plda/pcie-microchip-host.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index 9b367927cd32..805870aed61d 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -876,11 +876,10 @@ static void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+ writel(0, bridge_base_addr + ATR0_PCIE_WIN0_SRC_ADDR);
+ }
+
+-static int plda_pcie_setup_iomems(struct platform_device *pdev,
++static int plda_pcie_setup_iomems(struct pci_host_bridge *bridge,
+ struct plda_pcie_rp *port)
+ {
+ void __iomem *bridge_base_addr = port->bridge_addr;
+- struct pci_host_bridge *bridge = platform_get_drvdata(pdev);
+ struct resource_entry *entry;
+ u64 pci_addr;
+ u32 index = 1;
+@@ -1018,6 +1017,7 @@ static int mc_platform_init(struct pci_config_window *cfg)
+ {
+ struct device *dev = cfg->parent;
+ struct platform_device *pdev = to_platform_device(dev);
++ struct pci_host_bridge *bridge = platform_get_drvdata(pdev);
+ void __iomem *bridge_base_addr =
+ port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
+ int ret;
+@@ -1031,7 +1031,7 @@ static int mc_platform_init(struct pci_config_window *cfg)
+ mc_pcie_enable_msi(port, cfg->win);
+
+ /* Configure non-config space outbound ranges */
+- ret = plda_pcie_setup_iomems(pdev, &port->plda);
++ ret = plda_pcie_setup_iomems(bridge, &port->plda);
+ if (ret)
+ return ret;
+
+--
+2.43.0
+
+
+From f3c1d38d50a32097e65d63d14402d1b2d0b80de6 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:05:59 +0800
+Subject: [PATCH 09/23] PCI: microchip: Move setup functions to
+ pcie-plda-host.c
+
+Move setup functions to common pcie-plda-host.c. So these two functions
+can be re-used.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-10-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ drivers/pci/controller/plda/Kconfig | 4 +
+ drivers/pci/controller/plda/Makefile | 1 +
+ .../pci/controller/plda/pcie-microchip-host.c | 59 ---------------
+ drivers/pci/controller/plda/pcie-plda-host.c | 74 +++++++++++++++++++
+ drivers/pci/controller/plda/pcie-plda.h | 5 ++
+ 5 files changed, 84 insertions(+), 59 deletions(-)
+ create mode 100644 drivers/pci/controller/plda/pcie-plda-host.c
+
+diff --git a/drivers/pci/controller/plda/Kconfig b/drivers/pci/controller/plda/Kconfig
+index 5cb3be4fc98c..e54a82ee94f5 100644
+--- a/drivers/pci/controller/plda/Kconfig
++++ b/drivers/pci/controller/plda/Kconfig
+@@ -3,10 +3,14 @@
+ menu "PLDA-based PCIe controllers"
+ depends on PCI
+
++config PCIE_PLDA_HOST
++ bool
++
+ config PCIE_MICROCHIP_HOST
+ tristate "Microchip AXI PCIe controller"
+ depends on PCI_MSI && OF
+ select PCI_HOST_COMMON
++ select PCIE_PLDA_HOST
+ help
+ Say Y here if you want kernel to support the Microchip AXI PCIe
+ Host Bridge driver.
+diff --git a/drivers/pci/controller/plda/Makefile b/drivers/pci/controller/plda/Makefile
+index e1a265cbf91c..4340ab007f44 100644
+--- a/drivers/pci/controller/plda/Makefile
++++ b/drivers/pci/controller/plda/Makefile
+@@ -1,2 +1,3 @@
+ # SPDX-License-Identifier: GPL-2.0
++obj-$(CONFIG_PCIE_PLDA_HOST) += pcie-plda-host.o
+ obj-$(CONFIG_PCIE_MICROCHIP_HOST) += pcie-microchip-host.o
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index 805870aed61d..573ad31c578a 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -838,65 +838,6 @@ static int mc_pcie_init_irq_domains(struct plda_pcie_rp *port)
+ return mc_allocate_msi_domains(port);
+ }
+
+-static void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+- phys_addr_t axi_addr, phys_addr_t pci_addr,
+- size_t size)
+-{
+- u32 atr_sz = ilog2(size) - 1;
+- u32 val;
+-
+- if (index == 0)
+- val = PCIE_CONFIG_INTERFACE;
+- else
+- val = PCIE_TX_RX_INTERFACE;
+-
+- writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
+- ATR0_AXI4_SLV0_TRSL_PARAM);
+-
+- val = lower_32_bits(axi_addr) | (atr_sz << ATR_SIZE_SHIFT) |
+- ATR_IMPL_ENABLE;
+- writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
+- ATR0_AXI4_SLV0_SRCADDR_PARAM);
+-
+- val = upper_32_bits(axi_addr);
+- writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
+- ATR0_AXI4_SLV0_SRC_ADDR);
+-
+- val = lower_32_bits(pci_addr);
+- writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
+- ATR0_AXI4_SLV0_TRSL_ADDR_LSB);
+-
+- val = upper_32_bits(pci_addr);
+- writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
+- ATR0_AXI4_SLV0_TRSL_ADDR_UDW);
+-
+- val = readl(bridge_base_addr + ATR0_PCIE_WIN0_SRCADDR_PARAM);
+- val |= (ATR0_PCIE_ATR_SIZE << ATR0_PCIE_ATR_SIZE_SHIFT);
+- writel(val, bridge_base_addr + ATR0_PCIE_WIN0_SRCADDR_PARAM);
+- writel(0, bridge_base_addr + ATR0_PCIE_WIN0_SRC_ADDR);
+-}
+-
+-static int plda_pcie_setup_iomems(struct pci_host_bridge *bridge,
+- struct plda_pcie_rp *port)
+-{
+- void __iomem *bridge_base_addr = port->bridge_addr;
+- struct resource_entry *entry;
+- u64 pci_addr;
+- u32 index = 1;
+-
+- resource_list_for_each_entry(entry, &bridge->windows) {
+- if (resource_type(entry->res) == IORESOURCE_MEM) {
+- pci_addr = entry->res->start - entry->offset;
+- plda_pcie_setup_window(bridge_base_addr, index,
+- entry->res->start, pci_addr,
+- resource_size(entry->res));
+- index++;
+- }
+- }
+-
+- return 0;
+-}
+-
+ static inline void mc_clear_secs(struct mc_pcie *port)
+ {
+ void __iomem *ctrl_base_addr = port->axi_base_addr + MC_PCIE_CTRL_ADDR;
+diff --git a/drivers/pci/controller/plda/pcie-plda-host.c b/drivers/pci/controller/plda/pcie-plda-host.c
+new file mode 100644
+index 000000000000..40139d998568
+--- /dev/null
++++ b/drivers/pci/controller/plda/pcie-plda-host.c
+@@ -0,0 +1,74 @@
++// SPDX-License-Identifier: GPL-2.0
++/*
++ * PLDA PCIe XpressRich host controller driver
++ *
++ * Copyright (C) 2023 Microchip Co. Ltd
++ *
++ * Author: Daire McNamara <daire.mcnamara@microchip.com>
++ */
++
++#include <linux/pci_regs.h>
++#include <linux/pci-ecam.h>
++
++#include "pcie-plda.h"
++
++void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
++ phys_addr_t axi_addr, phys_addr_t pci_addr,
++ size_t size)
++{
++ u32 atr_sz = ilog2(size) - 1;
++ u32 val;
++
++ if (index == 0)
++ val = PCIE_CONFIG_INTERFACE;
++ else
++ val = PCIE_TX_RX_INTERFACE;
++
++ writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
++ ATR0_AXI4_SLV0_TRSL_PARAM);
++
++ val = lower_32_bits(axi_addr) | (atr_sz << ATR_SIZE_SHIFT) |
++ ATR_IMPL_ENABLE;
++ writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
++ ATR0_AXI4_SLV0_SRCADDR_PARAM);
++
++ val = upper_32_bits(axi_addr);
++ writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
++ ATR0_AXI4_SLV0_SRC_ADDR);
++
++ val = lower_32_bits(pci_addr);
++ writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
++ ATR0_AXI4_SLV0_TRSL_ADDR_LSB);
++
++ val = upper_32_bits(pci_addr);
++ writel(val, bridge_base_addr + (index * ATR_ENTRY_SIZE) +
++ ATR0_AXI4_SLV0_TRSL_ADDR_UDW);
++
++ val = readl(bridge_base_addr + ATR0_PCIE_WIN0_SRCADDR_PARAM);
++ val |= (ATR0_PCIE_ATR_SIZE << ATR0_PCIE_ATR_SIZE_SHIFT);
++ writel(val, bridge_base_addr + ATR0_PCIE_WIN0_SRCADDR_PARAM);
++ writel(0, bridge_base_addr + ATR0_PCIE_WIN0_SRC_ADDR);
++}
++EXPORT_SYMBOL_GPL(plda_pcie_setup_window);
++
++int plda_pcie_setup_iomems(struct pci_host_bridge *bridge,
++ struct plda_pcie_rp *port)
++{
++ void __iomem *bridge_base_addr = port->bridge_addr;
++ struct resource_entry *entry;
++ u64 pci_addr;
++ u32 index = 1;
++
++ resource_list_for_each_entry(entry, &bridge->windows) {
++ if (resource_type(entry->res) == IORESOURCE_MEM) {
++ pci_addr = entry->res->start - entry->offset;
++ plda_pcie_setup_window(bridge_base_addr, index,
++ entry->res->start, pci_addr,
++ resource_size(entry->res));
++ index++;
++ }
++ }
++
++ return 0;
++}
++EXPORT_SYMBOL_GPL(plda_pcie_setup_iomems);
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index 7bec6a470758..3a17d8ab5bb2 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -126,4 +126,9 @@ struct plda_pcie_rp {
+ void __iomem *bridge_addr;
+ };
+
++void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
++ phys_addr_t axi_addr, phys_addr_t pci_addr,
++ size_t size);
++int plda_pcie_setup_iomems(struct pci_host_bridge *bridge,
++ struct plda_pcie_rp *port);
+ #endif
+--
+2.43.0
+
+
+From 530d17ad6ca6d827a3739f4f7424ba9a886df3ab Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:00 +0800
+Subject: [PATCH 10/23] PCI: microchip: Rename interrupt related functions
+
+Rename mc_* to plda_* for IRQ functions and related IRQ domain ops data
+instances.
+
+MSI, INTx interrupt code and IRQ init code are all can be re-used.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Acked-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-11-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 109 +++++++++---------
+ 1 file changed, 57 insertions(+), 52 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index 573ad31c578a..18bc352db389 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -318,7 +318,7 @@ static void mc_pcie_enable_msi(struct mc_pcie *port, void __iomem *ecam)
+ ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_ADDRESS_HI);
+ }
+
+-static void mc_handle_msi(struct irq_desc *desc)
++static void plda_handle_msi(struct irq_desc *desc)
+ {
+ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+@@ -346,7 +346,7 @@ static void mc_handle_msi(struct irq_desc *desc)
+ chained_irq_exit(chip, desc);
+ }
+
+-static void mc_msi_bottom_irq_ack(struct irq_data *data)
++static void plda_msi_bottom_irq_ack(struct irq_data *data)
+ {
+ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ void __iomem *bridge_base_addr = port->bridge_addr;
+@@ -355,7 +355,7 @@ static void mc_msi_bottom_irq_ack(struct irq_data *data)
+ writel_relaxed(BIT(bitpos), bridge_base_addr + ISTATUS_MSI);
+ }
+
+-static void mc_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
++static void plda_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
+ {
+ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ phys_addr_t addr = port->msi.vector_phy;
+@@ -368,21 +368,23 @@ static void mc_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
+ (int)data->hwirq, msg->address_hi, msg->address_lo);
+ }
+
+-static int mc_msi_set_affinity(struct irq_data *irq_data,
+- const struct cpumask *mask, bool force)
++static int plda_msi_set_affinity(struct irq_data *irq_data,
++ const struct cpumask *mask, bool force)
+ {
+ return -EINVAL;
+ }
+
+-static struct irq_chip mc_msi_bottom_irq_chip = {
+- .name = "Microchip MSI",
+- .irq_ack = mc_msi_bottom_irq_ack,
+- .irq_compose_msi_msg = mc_compose_msi_msg,
+- .irq_set_affinity = mc_msi_set_affinity,
++static struct irq_chip plda_msi_bottom_irq_chip = {
++ .name = "PLDA MSI",
++ .irq_ack = plda_msi_bottom_irq_ack,
++ .irq_compose_msi_msg = plda_compose_msi_msg,
++ .irq_set_affinity = plda_msi_set_affinity,
+ };
+
+-static int mc_irq_msi_domain_alloc(struct irq_domain *domain, unsigned int virq,
+- unsigned int nr_irqs, void *args)
++static int plda_irq_msi_domain_alloc(struct irq_domain *domain,
++ unsigned int virq,
++ unsigned int nr_irqs,
++ void *args)
+ {
+ struct plda_pcie_rp *port = domain->host_data;
+ struct plda_msi *msi = &port->msi;
+@@ -397,7 +399,7 @@ static int mc_irq_msi_domain_alloc(struct irq_domain *domain, unsigned int virq,
+
+ set_bit(bit, msi->used);
+
+- irq_domain_set_info(domain, virq, bit, &mc_msi_bottom_irq_chip,
++ irq_domain_set_info(domain, virq, bit, &plda_msi_bottom_irq_chip,
+ domain->host_data, handle_edge_irq, NULL, NULL);
+
+ mutex_unlock(&msi->lock);
+@@ -405,8 +407,9 @@ static int mc_irq_msi_domain_alloc(struct irq_domain *domain, unsigned int virq,
+ return 0;
+ }
+
+-static void mc_irq_msi_domain_free(struct irq_domain *domain, unsigned int virq,
+- unsigned int nr_irqs)
++static void plda_irq_msi_domain_free(struct irq_domain *domain,
++ unsigned int virq,
++ unsigned int nr_irqs)
+ {
+ struct irq_data *d = irq_domain_get_irq_data(domain, virq);
+ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(d);
+@@ -423,24 +426,24 @@ static void mc_irq_msi_domain_free(struct irq_domain *domain, unsigned int virq,
+ }
+
+ static const struct irq_domain_ops msi_domain_ops = {
+- .alloc = mc_irq_msi_domain_alloc,
+- .free = mc_irq_msi_domain_free,
++ .alloc = plda_irq_msi_domain_alloc,
++ .free = plda_irq_msi_domain_free,
+ };
+
+-static struct irq_chip mc_msi_irq_chip = {
+- .name = "Microchip PCIe MSI",
++static struct irq_chip plda_msi_irq_chip = {
++ .name = "PLDA PCIe MSI",
+ .irq_ack = irq_chip_ack_parent,
+ .irq_mask = pci_msi_mask_irq,
+ .irq_unmask = pci_msi_unmask_irq,
+ };
+
+-static struct msi_domain_info mc_msi_domain_info = {
++static struct msi_domain_info plda_msi_domain_info = {
+ .flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
+ MSI_FLAG_PCI_MSIX),
+- .chip = &mc_msi_irq_chip,
++ .chip = &plda_msi_irq_chip,
+ };
+
+-static int mc_allocate_msi_domains(struct plda_pcie_rp *port)
++static int plda_allocate_msi_domains(struct plda_pcie_rp *port)
+ {
+ struct device *dev = port->dev;
+ struct fwnode_handle *fwnode = of_node_to_fwnode(dev->of_node);
+@@ -455,7 +458,8 @@ static int mc_allocate_msi_domains(struct plda_pcie_rp *port)
+ return -ENOMEM;
+ }
+
+- msi->msi_domain = pci_msi_create_irq_domain(fwnode, &mc_msi_domain_info,
++ msi->msi_domain = pci_msi_create_irq_domain(fwnode,
++ &plda_msi_domain_info,
+ msi->dev_domain);
+ if (!msi->msi_domain) {
+ dev_err(dev, "failed to create MSI domain\n");
+@@ -466,7 +470,7 @@ static int mc_allocate_msi_domains(struct plda_pcie_rp *port)
+ return 0;
+ }
+
+-static void mc_handle_intx(struct irq_desc *desc)
++static void plda_handle_intx(struct irq_desc *desc)
+ {
+ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+ struct irq_chip *chip = irq_desc_get_chip(desc);
+@@ -493,7 +497,7 @@ static void mc_handle_intx(struct irq_desc *desc)
+ chained_irq_exit(chip, desc);
+ }
+
+-static void mc_ack_intx_irq(struct irq_data *data)
++static void plda_ack_intx_irq(struct irq_data *data)
+ {
+ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ void __iomem *bridge_base_addr = port->bridge_addr;
+@@ -502,7 +506,7 @@ static void mc_ack_intx_irq(struct irq_data *data)
+ writel_relaxed(mask, bridge_base_addr + ISTATUS_LOCAL);
+ }
+
+-static void mc_mask_intx_irq(struct irq_data *data)
++static void plda_mask_intx_irq(struct irq_data *data)
+ {
+ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ void __iomem *bridge_base_addr = port->bridge_addr;
+@@ -517,7 +521,7 @@ static void mc_mask_intx_irq(struct irq_data *data)
+ raw_spin_unlock_irqrestore(&port->lock, flags);
+ }
+
+-static void mc_unmask_intx_irq(struct irq_data *data)
++static void plda_unmask_intx_irq(struct irq_data *data)
+ {
+ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+ void __iomem *bridge_base_addr = port->bridge_addr;
+@@ -532,24 +536,24 @@ static void mc_unmask_intx_irq(struct irq_data *data)
+ raw_spin_unlock_irqrestore(&port->lock, flags);
+ }
+
+-static struct irq_chip mc_intx_irq_chip = {
+- .name = "Microchip PCIe INTx",
+- .irq_ack = mc_ack_intx_irq,
+- .irq_mask = mc_mask_intx_irq,
+- .irq_unmask = mc_unmask_intx_irq,
++static struct irq_chip plda_intx_irq_chip = {
++ .name = "PLDA PCIe INTx",
++ .irq_ack = plda_ack_intx_irq,
++ .irq_mask = plda_mask_intx_irq,
++ .irq_unmask = plda_unmask_intx_irq,
+ };
+
+-static int mc_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
+- irq_hw_number_t hwirq)
++static int plda_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
++ irq_hw_number_t hwirq)
+ {
+- irq_set_chip_and_handler(irq, &mc_intx_irq_chip, handle_level_irq);
++ irq_set_chip_and_handler(irq, &plda_intx_irq_chip, handle_level_irq);
+ irq_set_chip_data(irq, domain->host_data);
+
+ return 0;
+ }
+
+ static const struct irq_domain_ops intx_domain_ops = {
+- .map = mc_pcie_intx_map,
++ .map = plda_pcie_intx_map,
+ };
+
+ static inline u32 reg_to_event(u32 reg, struct event_map field)
+@@ -609,7 +613,7 @@ static u32 local_events(struct mc_pcie *port)
+ return val;
+ }
+
+-static u32 get_events(struct plda_pcie_rp *port)
++static u32 mc_get_events(struct plda_pcie_rp *port)
+ {
+ struct mc_pcie *mc_port = container_of(port, struct mc_pcie, plda);
+ u32 events = 0;
+@@ -638,7 +642,7 @@ static irqreturn_t mc_event_handler(int irq, void *dev_id)
+ return IRQ_HANDLED;
+ }
+
+-static void mc_handle_event(struct irq_desc *desc)
++static void plda_handle_event(struct irq_desc *desc)
+ {
+ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+ unsigned long events;
+@@ -647,7 +651,7 @@ static void mc_handle_event(struct irq_desc *desc)
+
+ chained_irq_enter(chip, desc);
+
+- events = get_events(port);
++ events = mc_get_events(port);
+
+ for_each_set_bit(bit, &events, NUM_EVENTS)
+ generic_handle_domain_irq(port->event_domain, bit);
+@@ -741,8 +745,8 @@ static struct irq_chip mc_event_irq_chip = {
+ .irq_unmask = mc_unmask_event_irq,
+ };
+
+-static int mc_pcie_event_map(struct irq_domain *domain, unsigned int irq,
+- irq_hw_number_t hwirq)
++static int plda_pcie_event_map(struct irq_domain *domain, unsigned int irq,
++ irq_hw_number_t hwirq)
+ {
+ irq_set_chip_and_handler(irq, &mc_event_irq_chip, handle_level_irq);
+ irq_set_chip_data(irq, domain->host_data);
+@@ -750,8 +754,8 @@ static int mc_pcie_event_map(struct irq_domain *domain, unsigned int irq,
+ return 0;
+ }
+
+-static const struct irq_domain_ops event_domain_ops = {
+- .map = mc_pcie_event_map,
++static const struct irq_domain_ops plda_event_domain_ops = {
++ .map = plda_pcie_event_map,
+ };
+
+ static inline void mc_pcie_deinit_clk(void *data)
+@@ -799,7 +803,7 @@ static int mc_pcie_init_clks(struct device *dev)
+ return 0;
+ }
+
+-static int mc_pcie_init_irq_domains(struct plda_pcie_rp *port)
++static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
+ {
+ struct device *dev = port->dev;
+ struct device_node *node = dev->of_node;
+@@ -813,7 +817,8 @@ static int mc_pcie_init_irq_domains(struct plda_pcie_rp *port)
+ }
+
+ port->event_domain = irq_domain_add_linear(pcie_intc_node, NUM_EVENTS,
+- &event_domain_ops, port);
++ &plda_event_domain_ops,
++ port);
+ if (!port->event_domain) {
+ dev_err(dev, "failed to get event domain\n");
+ of_node_put(pcie_intc_node);
+@@ -835,7 +840,7 @@ static int mc_pcie_init_irq_domains(struct plda_pcie_rp *port)
+ of_node_put(pcie_intc_node);
+ raw_spin_lock_init(&port->lock);
+
+- return mc_allocate_msi_domains(port);
++ return plda_allocate_msi_domains(port);
+ }
+
+ static inline void mc_clear_secs(struct mc_pcie *port)
+@@ -898,14 +903,14 @@ static void mc_disable_interrupts(struct mc_pcie *port)
+ writel_relaxed(GENMASK(31, 0), bridge_base_addr + ISTATUS_HOST);
+ }
+
+-static int mc_init_interrupts(struct platform_device *pdev, struct plda_pcie_rp *port)
++static int plda_init_interrupts(struct platform_device *pdev, struct plda_pcie_rp *port)
+ {
+ struct device *dev = &pdev->dev;
+ int irq;
+ int i, intx_irq, msi_irq, event_irq;
+ int ret;
+
+- ret = mc_pcie_init_irq_domains(port);
++ ret = plda_pcie_init_irq_domains(port);
+ if (ret) {
+ dev_err(dev, "failed creating IRQ domains\n");
+ return ret;
+@@ -938,7 +943,7 @@ static int mc_init_interrupts(struct platform_device *pdev, struct plda_pcie_rp
+ }
+
+ /* Plug the INTx chained handler */
+- irq_set_chained_handler_and_data(intx_irq, mc_handle_intx, port);
++ irq_set_chained_handler_and_data(intx_irq, plda_handle_intx, port);
+
+ msi_irq = irq_create_mapping(port->event_domain,
+ EVENT_LOCAL_PM_MSI_INT_MSI);
+@@ -946,10 +951,10 @@ static int mc_init_interrupts(struct platform_device *pdev, struct plda_pcie_rp
+ return -ENXIO;
+
+ /* Plug the MSI chained handler */
+- irq_set_chained_handler_and_data(msi_irq, mc_handle_msi, port);
++ irq_set_chained_handler_and_data(msi_irq, plda_handle_msi, port);
+
+ /* Plug the main event chained handler */
+- irq_set_chained_handler_and_data(irq, mc_handle_event, port);
++ irq_set_chained_handler_and_data(irq, plda_handle_event, port);
+
+ return 0;
+ }
+@@ -977,7 +982,7 @@ static int mc_platform_init(struct pci_config_window *cfg)
+ return ret;
+
+ /* Address translation is up; safe to enable interrupts */
+- ret = mc_init_interrupts(pdev, &port->plda);
++ ret = plda_init_interrupts(pdev, &port->plda);
+ if (ret)
+ return ret;
+
+--
+2.43.0
+
+
+From 0f2c8b23c449631c31774d68e54f0586719b9f83 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:01 +0800
+Subject: [PATCH 11/23] PCI: microchip: Add num_events field to struct
+ plda_pcie_rp
+
+The number of events is different across platforms. In order to share
+interrupt processing code, add a variable that defines the number of
+events so that it can be set per-platform instead of hardcoding it.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-12-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ drivers/pci/controller/plda/pcie-microchip-host.c | 8 +++++---
+ drivers/pci/controller/plda/pcie-plda.h | 1 +
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index 18bc352db389..0a5cd8b214cd 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -653,7 +653,7 @@ static void plda_handle_event(struct irq_desc *desc)
+
+ events = mc_get_events(port);
+
+- for_each_set_bit(bit, &events, NUM_EVENTS)
++ for_each_set_bit(bit, &events, port->num_events)
+ generic_handle_domain_irq(port->event_domain, bit);
+
+ chained_irq_exit(chip, desc);
+@@ -816,7 +816,8 @@ static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
+ return -EINVAL;
+ }
+
+- port->event_domain = irq_domain_add_linear(pcie_intc_node, NUM_EVENTS,
++ port->event_domain = irq_domain_add_linear(pcie_intc_node,
++ port->num_events,
+ &plda_event_domain_ops,
+ port);
+ if (!port->event_domain) {
+@@ -920,7 +921,7 @@ static int plda_init_interrupts(struct platform_device *pdev, struct plda_pcie_r
+ if (irq < 0)
+ return -ENODEV;
+
+- for (i = 0; i < NUM_EVENTS; i++) {
++ for (i = 0; i < port->num_events; i++) {
+ event_irq = irq_create_mapping(port->event_domain, i);
+ if (!event_irq) {
+ dev_err(dev, "failed to map hwirq %d\n", i);
+@@ -1012,6 +1013,7 @@ static int mc_host_probe(struct platform_device *pdev)
+
+ bridge_base_addr = port->axi_base_addr + MC_PCIE_BRIDGE_ADDR;
+ plda->bridge_addr = bridge_base_addr;
++ plda->num_events = NUM_EVENTS;
+
+ /* Allow enabling MSI by disabling MSI-X */
+ val = readl(bridge_base_addr + PCIE_PCI_IRQ_DW0);
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index 3a17d8ab5bb2..adfca9f28458 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -124,6 +124,7 @@ struct plda_pcie_rp {
+ raw_spinlock_t lock;
+ struct plda_msi msi;
+ void __iomem *bridge_addr;
++ int num_events;
+ };
+
+ void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+--
+2.43.0
+
+
+From 4e90f5c96dbf6799e63d7eaea36b5735f514400e Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:02 +0800
+Subject: [PATCH 12/23] PCI: microchip: Add request_event_irq() callback
+ function
+
+As PLDA dts binding doc(Documentation/devicetree/bindings/pci/
+plda,xpressrich3-axi-common.yaml) showes, PLDA PCIe contains an interrupt
+controller. Microchip Polarfire PCIe add some PCIe interrupts base on
+PLDA IP interrupt controller.
+
+Microchip Polarfire PCIe additional intrerrupts:
+EVENT_PCIE_L2_EXIT
+EVENT_PCIE_HOTRST_EXIT
+EVENT_PCIE_DLUP_EXIT
+EVENT_SEC_TX_RAM_SEC_ERR
+EVENT_SEC_RX_RAM_SEC_ERR
+....
+
+Both codes of register interrupts and mc_event_handler() contain
+additional interrupts symbol names, these can not be re-used. So add a
+new plda_event_handler() functions, which implements PLDA interrupt
+defalt handler. Add request_event_irq() callback function to
+compat Microchip Polorfire PCIe additional interrupts.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Acked-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-13-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 31 ++++++++++++++++---
+ drivers/pci/controller/plda/pcie-plda.h | 5 +++
+ 2 files changed, 32 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index 0a5cd8b214cd..bf5ce33ee275 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -642,6 +642,11 @@ static irqreturn_t mc_event_handler(int irq, void *dev_id)
+ return IRQ_HANDLED;
+ }
+
++static irqreturn_t plda_event_handler(int irq, void *dev_id)
++{
++ return IRQ_HANDLED;
++}
++
+ static void plda_handle_event(struct irq_desc *desc)
+ {
+ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+@@ -803,6 +808,17 @@ static int mc_pcie_init_clks(struct device *dev)
+ return 0;
+ }
+
++static int mc_request_event_irq(struct plda_pcie_rp *plda, int event_irq,
++ int event)
++{
++ return devm_request_irq(plda->dev, event_irq, mc_event_handler,
++ 0, event_cause[event].sym, plda);
++}
++
++static const struct plda_event mc_event = {
++ .request_event_irq = mc_request_event_irq,
++};
++
+ static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
+ {
+ struct device *dev = port->dev;
+@@ -904,7 +920,9 @@ static void mc_disable_interrupts(struct mc_pcie *port)
+ writel_relaxed(GENMASK(31, 0), bridge_base_addr + ISTATUS_HOST);
+ }
+
+-static int plda_init_interrupts(struct platform_device *pdev, struct plda_pcie_rp *port)
++static int plda_init_interrupts(struct platform_device *pdev,
++ struct plda_pcie_rp *port,
++ const struct plda_event *event)
+ {
+ struct device *dev = &pdev->dev;
+ int irq;
+@@ -928,8 +946,13 @@ static int plda_init_interrupts(struct platform_device *pdev, struct plda_pcie_r
+ return -ENXIO;
+ }
+
+- ret = devm_request_irq(dev, event_irq, mc_event_handler,
+- 0, event_cause[i].sym, port);
++ if (event->request_event_irq)
++ ret = event->request_event_irq(port, event_irq, i);
++ else
++ ret = devm_request_irq(dev, event_irq,
++ plda_event_handler,
++ 0, NULL, port);
++
+ if (ret) {
+ dev_err(dev, "failed to request IRQ %d\n", event_irq);
+ return ret;
+@@ -983,7 +1006,7 @@ static int mc_platform_init(struct pci_config_window *cfg)
+ return ret;
+
+ /* Address translation is up; safe to enable interrupts */
+- ret = plda_init_interrupts(pdev, &port->plda);
++ ret = plda_init_interrupts(pdev, &port->plda, &mc_event);
+ if (ret)
+ return ret;
+
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index adfca9f28458..16b81b23c213 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -127,6 +127,11 @@ struct plda_pcie_rp {
+ int num_events;
+ };
+
++struct plda_event {
++ int (*request_event_irq)(struct plda_pcie_rp *pcie,
++ int event_irq, int event);
++};
++
+ void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+ phys_addr_t axi_addr, phys_addr_t pci_addr,
+ size_t size);
+--
+2.43.0
+
+
+From 5b7f9e79770f81f51a53a1adbd6bfb4f97ebe2e0 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:03 +0800
+Subject: [PATCH 13/23] PCI: microchip: Add INTx and MSI event num to struct
+ plda_event
+
+The INTx and MSI interrupt event num is different in Microchip and
+StarFive platform.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Acked-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-14-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ drivers/pci/controller/plda/pcie-microchip-host.c | 6 ++++--
+ drivers/pci/controller/plda/pcie-plda.h | 2 ++
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index bf5ce33ee275..8a51d3aa7e88 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -817,6 +817,8 @@ static int mc_request_event_irq(struct plda_pcie_rp *plda, int event_irq,
+
+ static const struct plda_event mc_event = {
+ .request_event_irq = mc_request_event_irq,
++ .intx_event = EVENT_LOCAL_PM_MSI_INT_INTX,
++ .msi_event = EVENT_LOCAL_PM_MSI_INT_MSI,
+ };
+
+ static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
+@@ -960,7 +962,7 @@ static int plda_init_interrupts(struct platform_device *pdev,
+ }
+
+ intx_irq = irq_create_mapping(port->event_domain,
+- EVENT_LOCAL_PM_MSI_INT_INTX);
++ event->intx_event);
+ if (!intx_irq) {
+ dev_err(dev, "failed to map INTx interrupt\n");
+ return -ENXIO;
+@@ -970,7 +972,7 @@ static int plda_init_interrupts(struct platform_device *pdev,
+ irq_set_chained_handler_and_data(intx_irq, plda_handle_intx, port);
+
+ msi_irq = irq_create_mapping(port->event_domain,
+- EVENT_LOCAL_PM_MSI_INT_MSI);
++ event->msi_event);
+ if (!msi_irq)
+ return -ENXIO;
+
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index 16b81b23c213..0efe64d5f688 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -130,6 +130,8 @@ struct plda_pcie_rp {
+ struct plda_event {
+ int (*request_event_irq)(struct plda_pcie_rp *pcie,
+ int event_irq, int event);
++ int intx_event;
++ int msi_event;
+ };
+
+ void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+--
+2.43.0
+
+
+From 982d3f872fbf86323e7db898d02f3f0af36e4fa9 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:04 +0800
+Subject: [PATCH 14/23] PCI: microchip: Add get_events() callback and add PLDA
+ get_event()
+
+As PLDA dts binding doc(Documentation/devicetree/bindings/pci/
+plda,xpressrich3-axi-common.yaml) showes, PLDA PCIe contains an interrupt
+controller.
+
+PolarFire implements its own PCIe interrupts, additional to the regular
+PCIe interrupts, due to lack of an MSI controller, so the interrupt to
+event number mapping is different to the PLDA regular interrupts,
+necessitating a custom get_events() implementation.
+
+Microchip Polarfire PCIe additional intrerrupts:
+EVENT_PCIE_L2_EXIT
+EVENT_PCIE_HOTRST_EXIT
+EVENT_PCIE_DLUP_EXIT
+EVENT_SEC_TX_RAM_SEC_ERR
+EVENT_SEC_RX_RAM_SEC_ERR
+....
+
+plda_get_events() adds interrupt register to PLDA local event num mapping
+codes. All The PLDA interrupts can be seen in new added graph.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Acked-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-15-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 35 ++++++++++++++++++-
+ drivers/pci/controller/plda/pcie-plda.h | 32 +++++++++++++++++
+ 2 files changed, 66 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index 8a51d3aa7e88..b3df373a2141 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -626,6 +626,26 @@ static u32 mc_get_events(struct plda_pcie_rp *port)
+ return events;
+ }
+
++static u32 plda_get_events(struct plda_pcie_rp *port)
++{
++ u32 events, val, origin;
++
++ origin = readl_relaxed(port->bridge_addr + ISTATUS_LOCAL);
++
++ /* MSI event and sys events */
++ val = (origin & SYS_AND_MSI_MASK) >> PM_MSI_INT_MSI_SHIFT;
++ events = val << (PM_MSI_INT_MSI_SHIFT - PCI_NUM_INTX + 1);
++
++ /* INTx events */
++ if (origin & PM_MSI_INT_INTX_MASK)
++ events |= BIT(PM_MSI_INT_INTX_SHIFT);
++
++ /* remains are same with register */
++ events |= origin & GENMASK(P_ATR_EVT_DOORBELL_SHIFT, 0);
++
++ return events;
++}
++
+ static irqreturn_t mc_event_handler(int irq, void *dev_id)
+ {
+ struct plda_pcie_rp *port = dev_id;
+@@ -656,7 +676,7 @@ static void plda_handle_event(struct irq_desc *desc)
+
+ chained_irq_enter(chip, desc);
+
+- events = mc_get_events(port);
++ events = port->event_ops->get_events(port);
+
+ for_each_set_bit(bit, &events, port->num_events)
+ generic_handle_domain_irq(port->event_domain, bit);
+@@ -750,6 +770,10 @@ static struct irq_chip mc_event_irq_chip = {
+ .irq_unmask = mc_unmask_event_irq,
+ };
+
++static const struct plda_event_ops plda_event_ops = {
++ .get_events = plda_get_events,
++};
++
+ static int plda_pcie_event_map(struct irq_domain *domain, unsigned int irq,
+ irq_hw_number_t hwirq)
+ {
+@@ -815,6 +839,10 @@ static int mc_request_event_irq(struct plda_pcie_rp *plda, int event_irq,
+ 0, event_cause[event].sym, plda);
+ }
+
++static const struct plda_event_ops mc_event_ops = {
++ .get_events = mc_get_events,
++};
++
+ static const struct plda_event mc_event = {
+ .request_event_irq = mc_request_event_irq,
+ .intx_event = EVENT_LOCAL_PM_MSI_INT_INTX,
+@@ -931,6 +959,9 @@ static int plda_init_interrupts(struct platform_device *pdev,
+ int i, intx_irq, msi_irq, event_irq;
+ int ret;
+
++ if (!port->event_ops)
++ port->event_ops = &plda_event_ops;
++
+ ret = plda_pcie_init_irq_domains(port);
+ if (ret) {
+ dev_err(dev, "failed creating IRQ domains\n");
+@@ -1007,6 +1038,8 @@ static int mc_platform_init(struct pci_config_window *cfg)
+ if (ret)
+ return ret;
+
++ port->plda.event_ops = &mc_event_ops;
++
+ /* Address translation is up; safe to enable interrupts */
+ ret = plda_init_interrupts(pdev, &port->plda, &mc_event);
+ if (ret)
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index 0efe64d5f688..9db92ccf286c 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -58,6 +58,7 @@
+ #define PM_MSI_INT_EVENTS_SHIFT 30
+ #define PM_MSI_INT_SYS_ERR_MASK 0x80000000u
+ #define PM_MSI_INT_SYS_ERR_SHIFT 31
++#define SYS_AND_MSI_MASK GENMASK(31, 28)
+ #define NUM_LOCAL_EVENTS 15
+ #define ISTATUS_LOCAL 0x184
+ #define IMASK_HOST 0x188
+@@ -108,6 +109,36 @@ enum plda_int_event {
+
+ #define PLDA_MAX_INT_NUM (PLDA_NUM_DMA_EVENTS + PLDA_INT_EVENT_NUM)
+
++/*
++ * PLDA interrupt register
++ *
++ * 31 27 23 15 7 0
++ * +--+--+--+-+------+-+-+-+-+-+-+-+-+-----------+-----------+
++ * |12|11|10|9| intx |7|6|5|4|3|2|1|0| DMA error | DMA end |
++ * +--+--+--+-+------+-+-+-+-+-+-+-+-+-----------+-----------+
++ * bit 0-7 DMA interrupt end : reserved for vendor implement
++ * bit 8-15 DMA error : reserved for vendor implement
++ * 0: AXI post error (PLDA_AXI_POST_ERR)
++ * 1: AXI fetch error (PLDA_AXI_FETCH_ERR)
++ * 2: AXI discard error (PLDA_AXI_DISCARD_ERR)
++ * 3: AXI doorbell (PLDA_PCIE_DOORBELL)
++ * 4: PCIe post error (PLDA_PCIE_POST_ERR)
++ * 5: PCIe fetch error (PLDA_PCIE_FETCH_ERR)
++ * 6: PCIe discard error (PLDA_PCIE_DISCARD_ERR)
++ * 7: PCIe doorbell (PLDA_PCIE_DOORBELL)
++ * 8: 4 INTx interruts (PLDA_INTX)
++ * 9: MSI interrupt (PLDA_MSI)
++ * 10: AER event (PLDA_AER_EVENT)
++ * 11: PM/LTR/Hotplug (PLDA_MISC_EVENTS)
++ * 12: System error (PLDA_SYS_ERR)
++ */
++
++struct plda_pcie_rp;
++
++struct plda_event_ops {
++ u32 (*get_events)(struct plda_pcie_rp *pcie);
++};
++
+ struct plda_msi {
+ struct mutex lock; /* Protect used bitmap */
+ struct irq_domain *msi_domain;
+@@ -123,6 +154,7 @@ struct plda_pcie_rp {
+ struct irq_domain *event_domain;
+ raw_spinlock_t lock;
+ struct plda_msi msi;
++ const struct plda_event_ops *event_ops;
+ void __iomem *bridge_addr;
+ int num_events;
+ };
+--
+2.43.0
+
+
+From a4d9ec0a9ad3c0f3637b65c8dfd3ad3af5f38acc Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:05 +0800
+Subject: [PATCH 15/23] PCI: microchip: Add event irqchip field to host port
+ and add PLDA irqchip
+
+As PLDA dts binding doc(Documentation/devicetree/bindings/pci/
+plda,xpressrich3-axi-common.yaml) showes, PLDA PCIe contains an interrupt
+controller.
+
+Microchip PolarFire PCIE event IRQs includes PLDA interrupts and
+Polarfire their own interrupts. The interrupt irqchip ops includes
+ack/mask/unmask interrupt ops, which will write correct registers.
+Microchip Polarfire PCIe additional interrupts require to write Polarfire
+SoC self-defined registers. So Microchip PCIe event irqchip ops can not
+be re-used.
+
+To support PLDA its own event IRQ process, implements PLDA irqchip ops and
+add event irqchip field to struct pcie_plda_rp.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Acked-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-16-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 66 ++++++++++++++++++-
+ drivers/pci/controller/plda/pcie-plda.h | 5 +-
+ 2 files changed, 69 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index b3df373a2141..beaf5c27da84 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -770,6 +770,64 @@ static struct irq_chip mc_event_irq_chip = {
+ .irq_unmask = mc_unmask_event_irq,
+ };
+
++static u32 plda_hwirq_to_mask(int hwirq)
++{
++ u32 mask;
++
++ /* hwirq 23 - 0 are the same with register */
++ if (hwirq < EVENT_PM_MSI_INT_INTX)
++ mask = BIT(hwirq);
++ else if (hwirq == EVENT_PM_MSI_INT_INTX)
++ mask = PM_MSI_INT_INTX_MASK;
++ else
++ mask = BIT(hwirq + PCI_NUM_INTX - 1);
++
++ return mask;
++}
++
++static void plda_ack_event_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++
++ writel_relaxed(plda_hwirq_to_mask(data->hwirq),
++ port->bridge_addr + ISTATUS_LOCAL);
++}
++
++static void plda_mask_event_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ u32 mask, val;
++
++ mask = plda_hwirq_to_mask(data->hwirq);
++
++ raw_spin_lock(&port->lock);
++ val = readl_relaxed(port->bridge_addr + IMASK_LOCAL);
++ val &= ~mask;
++ writel_relaxed(val, port->bridge_addr + IMASK_LOCAL);
++ raw_spin_unlock(&port->lock);
++}
++
++static void plda_unmask_event_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ u32 mask, val;
++
++ mask = plda_hwirq_to_mask(data->hwirq);
++
++ raw_spin_lock(&port->lock);
++ val = readl_relaxed(port->bridge_addr + IMASK_LOCAL);
++ val |= mask;
++ writel_relaxed(val, port->bridge_addr + IMASK_LOCAL);
++ raw_spin_unlock(&port->lock);
++}
++
++static struct irq_chip plda_event_irq_chip = {
++ .name = "PLDA PCIe EVENT",
++ .irq_ack = plda_ack_event_irq,
++ .irq_mask = plda_mask_event_irq,
++ .irq_unmask = plda_unmask_event_irq,
++};
++
+ static const struct plda_event_ops plda_event_ops = {
+ .get_events = plda_get_events,
+ };
+@@ -777,7 +835,9 @@ static const struct plda_event_ops plda_event_ops = {
+ static int plda_pcie_event_map(struct irq_domain *domain, unsigned int irq,
+ irq_hw_number_t hwirq)
+ {
+- irq_set_chip_and_handler(irq, &mc_event_irq_chip, handle_level_irq);
++ struct plda_pcie_rp *port = (void *)domain->host_data;
++
++ irq_set_chip_and_handler(irq, port->event_irq_chip, handle_level_irq);
+ irq_set_chip_data(irq, domain->host_data);
+
+ return 0;
+@@ -962,6 +1022,9 @@ static int plda_init_interrupts(struct platform_device *pdev,
+ if (!port->event_ops)
+ port->event_ops = &plda_event_ops;
+
++ if (!port->event_irq_chip)
++ port->event_irq_chip = &plda_event_irq_chip;
++
+ ret = plda_pcie_init_irq_domains(port);
+ if (ret) {
+ dev_err(dev, "failed creating IRQ domains\n");
+@@ -1039,6 +1102,7 @@ static int mc_platform_init(struct pci_config_window *cfg)
+ return ret;
+
+ port->plda.event_ops = &mc_event_ops;
++ port->plda.event_irq_chip = &mc_event_irq_chip;
+
+ /* Address translation is up; safe to enable interrupts */
+ ret = plda_init_interrupts(pdev, &port->plda, &mc_event);
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index 9db92ccf286c..a3ce01735bea 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -107,7 +107,9 @@ enum plda_int_event {
+
+ #define PLDA_NUM_DMA_EVENTS 16
+
+-#define PLDA_MAX_INT_NUM (PLDA_NUM_DMA_EVENTS + PLDA_INT_EVENT_NUM)
++#define EVENT_PM_MSI_INT_INTX (PLDA_NUM_DMA_EVENTS + PLDA_INTX)
++#define EVENT_PM_MSI_INT_MSI (PLDA_NUM_DMA_EVENTS + PLDA_MSI)
++#define PLDA_MAX_EVENT_NUM (PLDA_NUM_DMA_EVENTS + PLDA_INT_EVENT_NUM)
+
+ /*
+ * PLDA interrupt register
+@@ -155,6 +157,7 @@ struct plda_pcie_rp {
+ raw_spinlock_t lock;
+ struct plda_msi msi;
+ const struct plda_event_ops *event_ops;
++ const struct irq_chip *event_irq_chip;
+ void __iomem *bridge_addr;
+ int num_events;
+ };
+--
+2.43.0
+
+
+From 874bc4a2048652f676823b6f728bae729f56fdfd Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:06 +0800
+Subject: [PATCH 16/23] PCI: microchip: Move IRQ functions to pcie-plda-host.c
+
+Move IRQ related functions to pcie-plda-host.c for re-use these codes.
+Now Refactoring codes complete.
+
+Including MSI, INTx, event interrupts and IRQ init functions.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Acked-by: Conor Dooley <conor.dooley@microchip.com>
+Message-ID: <20240108110612.19048-17-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../pci/controller/plda/pcie-microchip-host.c | 467 -----------------
+ drivers/pci/controller/plda/pcie-plda-host.c | 472 ++++++++++++++++++
+ drivers/pci/controller/plda/pcie-plda.h | 3 +
+ 3 files changed, 475 insertions(+), 467 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index beaf5c27da84..105964306b71 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -318,244 +318,6 @@ static void mc_pcie_enable_msi(struct mc_pcie *port, void __iomem *ecam)
+ ecam + MC_MSI_CAP_CTRL_OFFSET + PCI_MSI_ADDRESS_HI);
+ }
+
+-static void plda_handle_msi(struct irq_desc *desc)
+-{
+- struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+- struct irq_chip *chip = irq_desc_get_chip(desc);
+- struct device *dev = port->dev;
+- struct plda_msi *msi = &port->msi;
+- void __iomem *bridge_base_addr = port->bridge_addr;
+- unsigned long status;
+- u32 bit;
+- int ret;
+-
+- chained_irq_enter(chip, desc);
+-
+- status = readl_relaxed(bridge_base_addr + ISTATUS_LOCAL);
+- if (status & PM_MSI_INT_MSI_MASK) {
+- writel_relaxed(status & PM_MSI_INT_MSI_MASK, bridge_base_addr + ISTATUS_LOCAL);
+- status = readl_relaxed(bridge_base_addr + ISTATUS_MSI);
+- for_each_set_bit(bit, &status, msi->num_vectors) {
+- ret = generic_handle_domain_irq(msi->dev_domain, bit);
+- if (ret)
+- dev_err_ratelimited(dev, "bad MSI IRQ %d\n",
+- bit);
+- }
+- }
+-
+- chained_irq_exit(chip, desc);
+-}
+-
+-static void plda_msi_bottom_irq_ack(struct irq_data *data)
+-{
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+- void __iomem *bridge_base_addr = port->bridge_addr;
+- u32 bitpos = data->hwirq;
+-
+- writel_relaxed(BIT(bitpos), bridge_base_addr + ISTATUS_MSI);
+-}
+-
+-static void plda_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
+-{
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+- phys_addr_t addr = port->msi.vector_phy;
+-
+- msg->address_lo = lower_32_bits(addr);
+- msg->address_hi = upper_32_bits(addr);
+- msg->data = data->hwirq;
+-
+- dev_dbg(port->dev, "msi#%x address_hi %#x address_lo %#x\n",
+- (int)data->hwirq, msg->address_hi, msg->address_lo);
+-}
+-
+-static int plda_msi_set_affinity(struct irq_data *irq_data,
+- const struct cpumask *mask, bool force)
+-{
+- return -EINVAL;
+-}
+-
+-static struct irq_chip plda_msi_bottom_irq_chip = {
+- .name = "PLDA MSI",
+- .irq_ack = plda_msi_bottom_irq_ack,
+- .irq_compose_msi_msg = plda_compose_msi_msg,
+- .irq_set_affinity = plda_msi_set_affinity,
+-};
+-
+-static int plda_irq_msi_domain_alloc(struct irq_domain *domain,
+- unsigned int virq,
+- unsigned int nr_irqs,
+- void *args)
+-{
+- struct plda_pcie_rp *port = domain->host_data;
+- struct plda_msi *msi = &port->msi;
+- unsigned long bit;
+-
+- mutex_lock(&msi->lock);
+- bit = find_first_zero_bit(msi->used, msi->num_vectors);
+- if (bit >= msi->num_vectors) {
+- mutex_unlock(&msi->lock);
+- return -ENOSPC;
+- }
+-
+- set_bit(bit, msi->used);
+-
+- irq_domain_set_info(domain, virq, bit, &plda_msi_bottom_irq_chip,
+- domain->host_data, handle_edge_irq, NULL, NULL);
+-
+- mutex_unlock(&msi->lock);
+-
+- return 0;
+-}
+-
+-static void plda_irq_msi_domain_free(struct irq_domain *domain,
+- unsigned int virq,
+- unsigned int nr_irqs)
+-{
+- struct irq_data *d = irq_domain_get_irq_data(domain, virq);
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(d);
+- struct plda_msi *msi = &port->msi;
+-
+- mutex_lock(&msi->lock);
+-
+- if (test_bit(d->hwirq, msi->used))
+- __clear_bit(d->hwirq, msi->used);
+- else
+- dev_err(port->dev, "trying to free unused MSI%lu\n", d->hwirq);
+-
+- mutex_unlock(&msi->lock);
+-}
+-
+-static const struct irq_domain_ops msi_domain_ops = {
+- .alloc = plda_irq_msi_domain_alloc,
+- .free = plda_irq_msi_domain_free,
+-};
+-
+-static struct irq_chip plda_msi_irq_chip = {
+- .name = "PLDA PCIe MSI",
+- .irq_ack = irq_chip_ack_parent,
+- .irq_mask = pci_msi_mask_irq,
+- .irq_unmask = pci_msi_unmask_irq,
+-};
+-
+-static struct msi_domain_info plda_msi_domain_info = {
+- .flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
+- MSI_FLAG_PCI_MSIX),
+- .chip = &plda_msi_irq_chip,
+-};
+-
+-static int plda_allocate_msi_domains(struct plda_pcie_rp *port)
+-{
+- struct device *dev = port->dev;
+- struct fwnode_handle *fwnode = of_node_to_fwnode(dev->of_node);
+- struct plda_msi *msi = &port->msi;
+-
+- mutex_init(&port->msi.lock);
+-
+- msi->dev_domain = irq_domain_add_linear(NULL, msi->num_vectors,
+- &msi_domain_ops, port);
+- if (!msi->dev_domain) {
+- dev_err(dev, "failed to create IRQ domain\n");
+- return -ENOMEM;
+- }
+-
+- msi->msi_domain = pci_msi_create_irq_domain(fwnode,
+- &plda_msi_domain_info,
+- msi->dev_domain);
+- if (!msi->msi_domain) {
+- dev_err(dev, "failed to create MSI domain\n");
+- irq_domain_remove(msi->dev_domain);
+- return -ENOMEM;
+- }
+-
+- return 0;
+-}
+-
+-static void plda_handle_intx(struct irq_desc *desc)
+-{
+- struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+- struct irq_chip *chip = irq_desc_get_chip(desc);
+- struct device *dev = port->dev;
+- void __iomem *bridge_base_addr = port->bridge_addr;
+- unsigned long status;
+- u32 bit;
+- int ret;
+-
+- chained_irq_enter(chip, desc);
+-
+- status = readl_relaxed(bridge_base_addr + ISTATUS_LOCAL);
+- if (status & PM_MSI_INT_INTX_MASK) {
+- status &= PM_MSI_INT_INTX_MASK;
+- status >>= PM_MSI_INT_INTX_SHIFT;
+- for_each_set_bit(bit, &status, PCI_NUM_INTX) {
+- ret = generic_handle_domain_irq(port->intx_domain, bit);
+- if (ret)
+- dev_err_ratelimited(dev, "bad INTx IRQ %d\n",
+- bit);
+- }
+- }
+-
+- chained_irq_exit(chip, desc);
+-}
+-
+-static void plda_ack_intx_irq(struct irq_data *data)
+-{
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+- void __iomem *bridge_base_addr = port->bridge_addr;
+- u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+-
+- writel_relaxed(mask, bridge_base_addr + ISTATUS_LOCAL);
+-}
+-
+-static void plda_mask_intx_irq(struct irq_data *data)
+-{
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+- void __iomem *bridge_base_addr = port->bridge_addr;
+- unsigned long flags;
+- u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+- u32 val;
+-
+- raw_spin_lock_irqsave(&port->lock, flags);
+- val = readl_relaxed(bridge_base_addr + IMASK_LOCAL);
+- val &= ~mask;
+- writel_relaxed(val, bridge_base_addr + IMASK_LOCAL);
+- raw_spin_unlock_irqrestore(&port->lock, flags);
+-}
+-
+-static void plda_unmask_intx_irq(struct irq_data *data)
+-{
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+- void __iomem *bridge_base_addr = port->bridge_addr;
+- unsigned long flags;
+- u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
+- u32 val;
+-
+- raw_spin_lock_irqsave(&port->lock, flags);
+- val = readl_relaxed(bridge_base_addr + IMASK_LOCAL);
+- val |= mask;
+- writel_relaxed(val, bridge_base_addr + IMASK_LOCAL);
+- raw_spin_unlock_irqrestore(&port->lock, flags);
+-}
+-
+-static struct irq_chip plda_intx_irq_chip = {
+- .name = "PLDA PCIe INTx",
+- .irq_ack = plda_ack_intx_irq,
+- .irq_mask = plda_mask_intx_irq,
+- .irq_unmask = plda_unmask_intx_irq,
+-};
+-
+-static int plda_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
+- irq_hw_number_t hwirq)
+-{
+- irq_set_chip_and_handler(irq, &plda_intx_irq_chip, handle_level_irq);
+- irq_set_chip_data(irq, domain->host_data);
+-
+- return 0;
+-}
+-
+-static const struct irq_domain_ops intx_domain_ops = {
+- .map = plda_pcie_intx_map,
+-};
+-
+ static inline u32 reg_to_event(u32 reg, struct event_map field)
+ {
+ return (reg & field.reg_mask) ? BIT(field.event_bit) : 0;
+@@ -626,26 +388,6 @@ static u32 mc_get_events(struct plda_pcie_rp *port)
+ return events;
+ }
+
+-static u32 plda_get_events(struct plda_pcie_rp *port)
+-{
+- u32 events, val, origin;
+-
+- origin = readl_relaxed(port->bridge_addr + ISTATUS_LOCAL);
+-
+- /* MSI event and sys events */
+- val = (origin & SYS_AND_MSI_MASK) >> PM_MSI_INT_MSI_SHIFT;
+- events = val << (PM_MSI_INT_MSI_SHIFT - PCI_NUM_INTX + 1);
+-
+- /* INTx events */
+- if (origin & PM_MSI_INT_INTX_MASK)
+- events |= BIT(PM_MSI_INT_INTX_SHIFT);
+-
+- /* remains are same with register */
+- events |= origin & GENMASK(P_ATR_EVT_DOORBELL_SHIFT, 0);
+-
+- return events;
+-}
+-
+ static irqreturn_t mc_event_handler(int irq, void *dev_id)
+ {
+ struct plda_pcie_rp *port = dev_id;
+@@ -662,28 +404,6 @@ static irqreturn_t mc_event_handler(int irq, void *dev_id)
+ return IRQ_HANDLED;
+ }
+
+-static irqreturn_t plda_event_handler(int irq, void *dev_id)
+-{
+- return IRQ_HANDLED;
+-}
+-
+-static void plda_handle_event(struct irq_desc *desc)
+-{
+- struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+- unsigned long events;
+- u32 bit;
+- struct irq_chip *chip = irq_desc_get_chip(desc);
+-
+- chained_irq_enter(chip, desc);
+-
+- events = port->event_ops->get_events(port);
+-
+- for_each_set_bit(bit, &events, port->num_events)
+- generic_handle_domain_irq(port->event_domain, bit);
+-
+- chained_irq_exit(chip, desc);
+-}
+-
+ static void mc_ack_event_irq(struct irq_data *data)
+ {
+ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+@@ -770,83 +490,6 @@ static struct irq_chip mc_event_irq_chip = {
+ .irq_unmask = mc_unmask_event_irq,
+ };
+
+-static u32 plda_hwirq_to_mask(int hwirq)
+-{
+- u32 mask;
+-
+- /* hwirq 23 - 0 are the same with register */
+- if (hwirq < EVENT_PM_MSI_INT_INTX)
+- mask = BIT(hwirq);
+- else if (hwirq == EVENT_PM_MSI_INT_INTX)
+- mask = PM_MSI_INT_INTX_MASK;
+- else
+- mask = BIT(hwirq + PCI_NUM_INTX - 1);
+-
+- return mask;
+-}
+-
+-static void plda_ack_event_irq(struct irq_data *data)
+-{
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+-
+- writel_relaxed(plda_hwirq_to_mask(data->hwirq),
+- port->bridge_addr + ISTATUS_LOCAL);
+-}
+-
+-static void plda_mask_event_irq(struct irq_data *data)
+-{
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+- u32 mask, val;
+-
+- mask = plda_hwirq_to_mask(data->hwirq);
+-
+- raw_spin_lock(&port->lock);
+- val = readl_relaxed(port->bridge_addr + IMASK_LOCAL);
+- val &= ~mask;
+- writel_relaxed(val, port->bridge_addr + IMASK_LOCAL);
+- raw_spin_unlock(&port->lock);
+-}
+-
+-static void plda_unmask_event_irq(struct irq_data *data)
+-{
+- struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
+- u32 mask, val;
+-
+- mask = plda_hwirq_to_mask(data->hwirq);
+-
+- raw_spin_lock(&port->lock);
+- val = readl_relaxed(port->bridge_addr + IMASK_LOCAL);
+- val |= mask;
+- writel_relaxed(val, port->bridge_addr + IMASK_LOCAL);
+- raw_spin_unlock(&port->lock);
+-}
+-
+-static struct irq_chip plda_event_irq_chip = {
+- .name = "PLDA PCIe EVENT",
+- .irq_ack = plda_ack_event_irq,
+- .irq_mask = plda_mask_event_irq,
+- .irq_unmask = plda_unmask_event_irq,
+-};
+-
+-static const struct plda_event_ops plda_event_ops = {
+- .get_events = plda_get_events,
+-};
+-
+-static int plda_pcie_event_map(struct irq_domain *domain, unsigned int irq,
+- irq_hw_number_t hwirq)
+-{
+- struct plda_pcie_rp *port = (void *)domain->host_data;
+-
+- irq_set_chip_and_handler(irq, port->event_irq_chip, handle_level_irq);
+- irq_set_chip_data(irq, domain->host_data);
+-
+- return 0;
+-}
+-
+-static const struct irq_domain_ops plda_event_domain_ops = {
+- .map = plda_pcie_event_map,
+-};
+-
+ static inline void mc_pcie_deinit_clk(void *data)
+ {
+ struct clk *clk = data;
+@@ -909,47 +552,6 @@ static const struct plda_event mc_event = {
+ .msi_event = EVENT_LOCAL_PM_MSI_INT_MSI,
+ };
+
+-static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
+-{
+- struct device *dev = port->dev;
+- struct device_node *node = dev->of_node;
+- struct device_node *pcie_intc_node;
+-
+- /* Setup INTx */
+- pcie_intc_node = of_get_next_child(node, NULL);
+- if (!pcie_intc_node) {
+- dev_err(dev, "failed to find PCIe Intc node\n");
+- return -EINVAL;
+- }
+-
+- port->event_domain = irq_domain_add_linear(pcie_intc_node,
+- port->num_events,
+- &plda_event_domain_ops,
+- port);
+- if (!port->event_domain) {
+- dev_err(dev, "failed to get event domain\n");
+- of_node_put(pcie_intc_node);
+- return -ENOMEM;
+- }
+-
+- irq_domain_update_bus_token(port->event_domain, DOMAIN_BUS_NEXUS);
+-
+- port->intx_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
+- &intx_domain_ops, port);
+- if (!port->intx_domain) {
+- dev_err(dev, "failed to get an INTx IRQ domain\n");
+- of_node_put(pcie_intc_node);
+- return -ENOMEM;
+- }
+-
+- irq_domain_update_bus_token(port->intx_domain, DOMAIN_BUS_WIRED);
+-
+- of_node_put(pcie_intc_node);
+- raw_spin_lock_init(&port->lock);
+-
+- return plda_allocate_msi_domains(port);
+-}
+-
+ static inline void mc_clear_secs(struct mc_pcie *port)
+ {
+ void __iomem *ctrl_base_addr = port->axi_base_addr + MC_PCIE_CTRL_ADDR;
+@@ -1010,75 +612,6 @@ static void mc_disable_interrupts(struct mc_pcie *port)
+ writel_relaxed(GENMASK(31, 0), bridge_base_addr + ISTATUS_HOST);
+ }
+
+-static int plda_init_interrupts(struct platform_device *pdev,
+- struct plda_pcie_rp *port,
+- const struct plda_event *event)
+-{
+- struct device *dev = &pdev->dev;
+- int irq;
+- int i, intx_irq, msi_irq, event_irq;
+- int ret;
+-
+- if (!port->event_ops)
+- port->event_ops = &plda_event_ops;
+-
+- if (!port->event_irq_chip)
+- port->event_irq_chip = &plda_event_irq_chip;
+-
+- ret = plda_pcie_init_irq_domains(port);
+- if (ret) {
+- dev_err(dev, "failed creating IRQ domains\n");
+- return ret;
+- }
+-
+- irq = platform_get_irq(pdev, 0);
+- if (irq < 0)
+- return -ENODEV;
+-
+- for (i = 0; i < port->num_events; i++) {
+- event_irq = irq_create_mapping(port->event_domain, i);
+- if (!event_irq) {
+- dev_err(dev, "failed to map hwirq %d\n", i);
+- return -ENXIO;
+- }
+-
+- if (event->request_event_irq)
+- ret = event->request_event_irq(port, event_irq, i);
+- else
+- ret = devm_request_irq(dev, event_irq,
+- plda_event_handler,
+- 0, NULL, port);
+-
+- if (ret) {
+- dev_err(dev, "failed to request IRQ %d\n", event_irq);
+- return ret;
+- }
+- }
+-
+- intx_irq = irq_create_mapping(port->event_domain,
+- event->intx_event);
+- if (!intx_irq) {
+- dev_err(dev, "failed to map INTx interrupt\n");
+- return -ENXIO;
+- }
+-
+- /* Plug the INTx chained handler */
+- irq_set_chained_handler_and_data(intx_irq, plda_handle_intx, port);
+-
+- msi_irq = irq_create_mapping(port->event_domain,
+- event->msi_event);
+- if (!msi_irq)
+- return -ENXIO;
+-
+- /* Plug the MSI chained handler */
+- irq_set_chained_handler_and_data(msi_irq, plda_handle_msi, port);
+-
+- /* Plug the main event chained handler */
+- irq_set_chained_handler_and_data(irq, plda_handle_event, port);
+-
+- return 0;
+-}
+-
+ static int mc_platform_init(struct pci_config_window *cfg)
+ {
+ struct device *dev = cfg->parent;
+diff --git a/drivers/pci/controller/plda/pcie-plda-host.c b/drivers/pci/controller/plda/pcie-plda-host.c
+index 40139d998568..98c51e594efe 100644
+--- a/drivers/pci/controller/plda/pcie-plda-host.c
++++ b/drivers/pci/controller/plda/pcie-plda-host.c
+@@ -7,11 +7,483 @@
+ * Author: Daire McNamara <daire.mcnamara@microchip.com>
+ */
+
++#include <linux/irqchip/chained_irq.h>
++#include <linux/irqdomain.h>
++#include <linux/msi.h>
+ #include <linux/pci_regs.h>
+ #include <linux/pci-ecam.h>
+
+ #include "pcie-plda.h"
+
++static void plda_handle_msi(struct irq_desc *desc)
++{
++ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
++ struct irq_chip *chip = irq_desc_get_chip(desc);
++ struct device *dev = port->dev;
++ struct plda_msi *msi = &port->msi;
++ void __iomem *bridge_base_addr = port->bridge_addr;
++ unsigned long status;
++ u32 bit;
++ int ret;
++
++ chained_irq_enter(chip, desc);
++
++ status = readl_relaxed(bridge_base_addr + ISTATUS_LOCAL);
++ if (status & PM_MSI_INT_MSI_MASK) {
++ writel_relaxed(status & PM_MSI_INT_MSI_MASK,
++ bridge_base_addr + ISTATUS_LOCAL);
++ status = readl_relaxed(bridge_base_addr + ISTATUS_MSI);
++ for_each_set_bit(bit, &status, msi->num_vectors) {
++ ret = generic_handle_domain_irq(msi->dev_domain, bit);
++ if (ret)
++ dev_err_ratelimited(dev, "bad MSI IRQ %d\n",
++ bit);
++ }
++ }
++
++ chained_irq_exit(chip, desc);
++}
++
++static void plda_msi_bottom_irq_ack(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ void __iomem *bridge_base_addr = port->bridge_addr;
++ u32 bitpos = data->hwirq;
++
++ writel_relaxed(BIT(bitpos), bridge_base_addr + ISTATUS_MSI);
++}
++
++static void plda_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ phys_addr_t addr = port->msi.vector_phy;
++
++ msg->address_lo = lower_32_bits(addr);
++ msg->address_hi = upper_32_bits(addr);
++ msg->data = data->hwirq;
++
++ dev_dbg(port->dev, "msi#%x address_hi %#x address_lo %#x\n",
++ (int)data->hwirq, msg->address_hi, msg->address_lo);
++}
++
++static int plda_msi_set_affinity(struct irq_data *irq_data,
++ const struct cpumask *mask, bool force)
++{
++ return -EINVAL;
++}
++
++static struct irq_chip plda_msi_bottom_irq_chip = {
++ .name = "PLDA MSI",
++ .irq_ack = plda_msi_bottom_irq_ack,
++ .irq_compose_msi_msg = plda_compose_msi_msg,
++ .irq_set_affinity = plda_msi_set_affinity,
++};
++
++static int plda_irq_msi_domain_alloc(struct irq_domain *domain,
++ unsigned int virq,
++ unsigned int nr_irqs,
++ void *args)
++{
++ struct plda_pcie_rp *port = domain->host_data;
++ struct plda_msi *msi = &port->msi;
++ unsigned long bit;
++
++ mutex_lock(&msi->lock);
++ bit = find_first_zero_bit(msi->used, msi->num_vectors);
++ if (bit >= msi->num_vectors) {
++ mutex_unlock(&msi->lock);
++ return -ENOSPC;
++ }
++
++ set_bit(bit, msi->used);
++
++ irq_domain_set_info(domain, virq, bit, &plda_msi_bottom_irq_chip,
++ domain->host_data, handle_edge_irq, NULL, NULL);
++
++ mutex_unlock(&msi->lock);
++
++ return 0;
++}
++
++static void plda_irq_msi_domain_free(struct irq_domain *domain,
++ unsigned int virq,
++ unsigned int nr_irqs)
++{
++ struct irq_data *d = irq_domain_get_irq_data(domain, virq);
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(d);
++ struct plda_msi *msi = &port->msi;
++
++ mutex_lock(&msi->lock);
++
++ if (test_bit(d->hwirq, msi->used))
++ __clear_bit(d->hwirq, msi->used);
++ else
++ dev_err(port->dev, "trying to free unused MSI%lu\n", d->hwirq);
++
++ mutex_unlock(&msi->lock);
++}
++
++static const struct irq_domain_ops msi_domain_ops = {
++ .alloc = plda_irq_msi_domain_alloc,
++ .free = plda_irq_msi_domain_free,
++};
++
++static struct irq_chip plda_msi_irq_chip = {
++ .name = "PLDA PCIe MSI",
++ .irq_ack = irq_chip_ack_parent,
++ .irq_mask = pci_msi_mask_irq,
++ .irq_unmask = pci_msi_unmask_irq,
++};
++
++static struct msi_domain_info plda_msi_domain_info = {
++ .flags = (MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS |
++ MSI_FLAG_PCI_MSIX),
++ .chip = &plda_msi_irq_chip,
++};
++
++static int plda_allocate_msi_domains(struct plda_pcie_rp *port)
++{
++ struct device *dev = port->dev;
++ struct fwnode_handle *fwnode = of_node_to_fwnode(dev->of_node);
++ struct plda_msi *msi = &port->msi;
++
++ mutex_init(&port->msi.lock);
++
++ msi->dev_domain = irq_domain_add_linear(NULL, msi->num_vectors,
++ &msi_domain_ops, port);
++ if (!msi->dev_domain) {
++ dev_err(dev, "failed to create IRQ domain\n");
++ return -ENOMEM;
++ }
++
++ msi->msi_domain = pci_msi_create_irq_domain(fwnode,
++ &plda_msi_domain_info,
++ msi->dev_domain);
++ if (!msi->msi_domain) {
++ dev_err(dev, "failed to create MSI domain\n");
++ irq_domain_remove(msi->dev_domain);
++ return -ENOMEM;
++ }
++
++ return 0;
++}
++
++static void plda_handle_intx(struct irq_desc *desc)
++{
++ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
++ struct irq_chip *chip = irq_desc_get_chip(desc);
++ struct device *dev = port->dev;
++ void __iomem *bridge_base_addr = port->bridge_addr;
++ unsigned long status;
++ u32 bit;
++ int ret;
++
++ chained_irq_enter(chip, desc);
++
++ status = readl_relaxed(bridge_base_addr + ISTATUS_LOCAL);
++ if (status & PM_MSI_INT_INTX_MASK) {
++ status &= PM_MSI_INT_INTX_MASK;
++ status >>= PM_MSI_INT_INTX_SHIFT;
++ for_each_set_bit(bit, &status, PCI_NUM_INTX) {
++ ret = generic_handle_domain_irq(port->intx_domain, bit);
++ if (ret)
++ dev_err_ratelimited(dev, "bad INTx IRQ %d\n",
++ bit);
++ }
++ }
++
++ chained_irq_exit(chip, desc);
++}
++
++static void plda_ack_intx_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ void __iomem *bridge_base_addr = port->bridge_addr;
++ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
++
++ writel_relaxed(mask, bridge_base_addr + ISTATUS_LOCAL);
++}
++
++static void plda_mask_intx_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ void __iomem *bridge_base_addr = port->bridge_addr;
++ unsigned long flags;
++ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
++ u32 val;
++
++ raw_spin_lock_irqsave(&port->lock, flags);
++ val = readl_relaxed(bridge_base_addr + IMASK_LOCAL);
++ val &= ~mask;
++ writel_relaxed(val, bridge_base_addr + IMASK_LOCAL);
++ raw_spin_unlock_irqrestore(&port->lock, flags);
++}
++
++static void plda_unmask_intx_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ void __iomem *bridge_base_addr = port->bridge_addr;
++ unsigned long flags;
++ u32 mask = BIT(data->hwirq + PM_MSI_INT_INTX_SHIFT);
++ u32 val;
++
++ raw_spin_lock_irqsave(&port->lock, flags);
++ val = readl_relaxed(bridge_base_addr + IMASK_LOCAL);
++ val |= mask;
++ writel_relaxed(val, bridge_base_addr + IMASK_LOCAL);
++ raw_spin_unlock_irqrestore(&port->lock, flags);
++}
++
++static struct irq_chip plda_intx_irq_chip = {
++ .name = "PLDA PCIe INTx",
++ .irq_ack = plda_ack_intx_irq,
++ .irq_mask = plda_mask_intx_irq,
++ .irq_unmask = plda_unmask_intx_irq,
++};
++
++static int plda_pcie_intx_map(struct irq_domain *domain, unsigned int irq,
++ irq_hw_number_t hwirq)
++{
++ irq_set_chip_and_handler(irq, &plda_intx_irq_chip, handle_level_irq);
++ irq_set_chip_data(irq, domain->host_data);
++
++ return 0;
++}
++
++static const struct irq_domain_ops intx_domain_ops = {
++ .map = plda_pcie_intx_map,
++};
++
++static u32 plda_get_events(struct plda_pcie_rp *port)
++{
++ u32 events, val, origin;
++
++ origin = readl_relaxed(port->bridge_addr + ISTATUS_LOCAL);
++
++ /* MSI event and sys events */
++ val = (origin & SYS_AND_MSI_MASK) >> PM_MSI_INT_MSI_SHIFT;
++ events = val << (PM_MSI_INT_MSI_SHIFT - PCI_NUM_INTX + 1);
++
++ /* INTx events */
++ if (origin & PM_MSI_INT_INTX_MASK)
++ events |= BIT(PM_MSI_INT_INTX_SHIFT);
++
++ /* remains are same with register */
++ events |= origin & GENMASK(P_ATR_EVT_DOORBELL_SHIFT, 0);
++
++ return events;
++}
++
++static irqreturn_t plda_event_handler(int irq, void *dev_id)
++{
++ return IRQ_HANDLED;
++}
++
++static void plda_handle_event(struct irq_desc *desc)
++{
++ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
++ unsigned long events;
++ u32 bit;
++ struct irq_chip *chip = irq_desc_get_chip(desc);
++
++ chained_irq_enter(chip, desc);
++
++ events = port->event_ops->get_events(port);
++
++ for_each_set_bit(bit, &events, port->num_events)
++ generic_handle_domain_irq(port->event_domain, bit);
++
++ chained_irq_exit(chip, desc);
++}
++
++static u32 plda_hwirq_to_mask(int hwirq)
++{
++ u32 mask;
++
++ /* hwirq 23 - 0 are the same with register */
++ if (hwirq < EVENT_PM_MSI_INT_INTX)
++ mask = BIT(hwirq);
++ else if (hwirq == EVENT_PM_MSI_INT_INTX)
++ mask = PM_MSI_INT_INTX_MASK;
++ else
++ mask = BIT(hwirq + PCI_NUM_INTX - 1);
++
++ return mask;
++}
++
++static void plda_ack_event_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++
++ writel_relaxed(plda_hwirq_to_mask(data->hwirq),
++ port->bridge_addr + ISTATUS_LOCAL);
++}
++
++static void plda_mask_event_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ u32 mask, val;
++
++ mask = plda_hwirq_to_mask(data->hwirq);
++
++ raw_spin_lock(&port->lock);
++ val = readl_relaxed(port->bridge_addr + IMASK_LOCAL);
++ val &= ~mask;
++ writel_relaxed(val, port->bridge_addr + IMASK_LOCAL);
++ raw_spin_unlock(&port->lock);
++}
++
++static void plda_unmask_event_irq(struct irq_data *data)
++{
++ struct plda_pcie_rp *port = irq_data_get_irq_chip_data(data);
++ u32 mask, val;
++
++ mask = plda_hwirq_to_mask(data->hwirq);
++
++ raw_spin_lock(&port->lock);
++ val = readl_relaxed(port->bridge_addr + IMASK_LOCAL);
++ val |= mask;
++ writel_relaxed(val, port->bridge_addr + IMASK_LOCAL);
++ raw_spin_unlock(&port->lock);
++}
++
++static struct irq_chip plda_event_irq_chip = {
++ .name = "PLDA PCIe EVENT",
++ .irq_ack = plda_ack_event_irq,
++ .irq_mask = plda_mask_event_irq,
++ .irq_unmask = plda_unmask_event_irq,
++};
++
++static const struct plda_event_ops plda_event_ops = {
++ .get_events = plda_get_events,
++};
++
++static int plda_pcie_event_map(struct irq_domain *domain, unsigned int irq,
++ irq_hw_number_t hwirq)
++{
++ struct plda_pcie_rp *port = (void *)domain->host_data;
++
++ irq_set_chip_and_handler(irq, port->event_irq_chip, handle_level_irq);
++ irq_set_chip_data(irq, domain->host_data);
++
++ return 0;
++}
++
++static const struct irq_domain_ops plda_event_domain_ops = {
++ .map = plda_pcie_event_map,
++};
++
++static int plda_pcie_init_irq_domains(struct plda_pcie_rp *port)
++{
++ struct device *dev = port->dev;
++ struct device_node *node = dev->of_node;
++ struct device_node *pcie_intc_node;
++
++ /* Setup INTx */
++ pcie_intc_node = of_get_next_child(node, NULL);
++ if (!pcie_intc_node) {
++ dev_err(dev, "failed to find PCIe Intc node\n");
++ return -EINVAL;
++ }
++
++ port->event_domain = irq_domain_add_linear(pcie_intc_node,
++ port->num_events,
++ &plda_event_domain_ops,
++ port);
++ if (!port->event_domain) {
++ dev_err(dev, "failed to get event domain\n");
++ of_node_put(pcie_intc_node);
++ return -ENOMEM;
++ }
++
++ irq_domain_update_bus_token(port->event_domain, DOMAIN_BUS_NEXUS);
++
++ port->intx_domain = irq_domain_add_linear(pcie_intc_node, PCI_NUM_INTX,
++ &intx_domain_ops, port);
++ if (!port->intx_domain) {
++ dev_err(dev, "failed to get an INTx IRQ domain\n");
++ of_node_put(pcie_intc_node);
++ return -ENOMEM;
++ }
++
++ irq_domain_update_bus_token(port->intx_domain, DOMAIN_BUS_WIRED);
++
++ of_node_put(pcie_intc_node);
++ raw_spin_lock_init(&port->lock);
++
++ return plda_allocate_msi_domains(port);
++}
++
++int plda_init_interrupts(struct platform_device *pdev,
++ struct plda_pcie_rp *port,
++ const struct plda_event *event)
++{
++ struct device *dev = &pdev->dev;
++ int irq;
++ int i, intx_irq, msi_irq, event_irq;
++ int ret;
++
++ if (!port->event_ops)
++ port->event_ops = &plda_event_ops;
++
++ if (!port->event_irq_chip)
++ port->event_irq_chip = &plda_event_irq_chip;
++
++ ret = plda_pcie_init_irq_domains(port);
++ if (ret) {
++ dev_err(dev, "failed creating IRQ domains\n");
++ return ret;
++ }
++
++ irq = platform_get_irq(pdev, 0);
++ if (irq < 0)
++ return -ENODEV;
++
++ for (i = 0; i < port->num_events; i++) {
++ event_irq = irq_create_mapping(port->event_domain, i);
++ if (!event_irq) {
++ dev_err(dev, "failed to map hwirq %d\n", i);
++ return -ENXIO;
++ }
++
++ if (event->request_event_irq)
++ ret = event->request_event_irq(port, event_irq, i);
++ else
++ ret = devm_request_irq(dev, event_irq,
++ plda_event_handler,
++ 0, NULL, port);
++
++ if (ret) {
++ dev_err(dev, "failed to request IRQ %d\n", event_irq);
++ return ret;
++ }
++ }
++
++ intx_irq = irq_create_mapping(port->event_domain,
++ event->intx_event);
++ if (!intx_irq) {
++ dev_err(dev, "failed to map INTx interrupt\n");
++ return -ENXIO;
++ }
++
++ /* Plug the INTx chained handler */
++ irq_set_chained_handler_and_data(intx_irq, plda_handle_intx, port);
++
++ msi_irq = irq_create_mapping(port->event_domain,
++ event->msi_event);
++ if (!msi_irq)
++ return -ENXIO;
++
++ /* Plug the MSI chained handler */
++ irq_set_chained_handler_and_data(msi_irq, plda_handle_msi, port);
++
++ /* Plug the main event chained handler */
++ irq_set_chained_handler_and_data(irq, plda_handle_event, port);
++
++ return 0;
++}
++EXPORT_SYMBOL_GPL(plda_init_interrupts);
++
+ void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+ phys_addr_t axi_addr, phys_addr_t pci_addr,
+ size_t size)
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index a3ce01735bea..6672a231a4bc 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -169,6 +169,9 @@ struct plda_event {
+ int msi_event;
+ };
+
++int plda_init_interrupts(struct platform_device *pdev,
++ struct plda_pcie_rp *port,
++ const struct plda_event *event);
+ void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+ phys_addr_t axi_addr, phys_addr_t pci_addr,
+ size_t size);
+--
+2.43.0
+
+
+From 3ed458f3854d5e86cd34ee9e3d87a8b3c2287913 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:07 +0800
+Subject: [PATCH 17/23] pci: plda: Add event bitmap field to struct
+ plda_pcie_rp
+
+For PLDA DMA interrupts are not all implemented. The non-implemented
+interrupts should be masked. So add a bitmap field to mask the non-
+implemented interrupts.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Message-ID: <20240108110612.19048-18-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ drivers/pci/controller/plda/pcie-microchip-host.c | 1 +
+ drivers/pci/controller/plda/pcie-plda-host.c | 6 ++++--
+ drivers/pci/controller/plda/pcie-plda.h | 1 +
+ 3 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-microchip-host.c b/drivers/pci/controller/plda/pcie-microchip-host.c
+index 105964306b71..48f60a04b740 100644
+--- a/drivers/pci/controller/plda/pcie-microchip-host.c
++++ b/drivers/pci/controller/plda/pcie-microchip-host.c
+@@ -636,6 +636,7 @@ static int mc_platform_init(struct pci_config_window *cfg)
+
+ port->plda.event_ops = &mc_event_ops;
+ port->plda.event_irq_chip = &mc_event_irq_chip;
++ port->plda.events_bitmap = GENMASK(NUM_EVENTS - 1, 0);
+
+ /* Address translation is up; safe to enable interrupts */
+ ret = plda_init_interrupts(pdev, &port->plda, &mc_event);
+diff --git a/drivers/pci/controller/plda/pcie-plda-host.c b/drivers/pci/controller/plda/pcie-plda-host.c
+index 98c51e594efe..a040e7e5492f 100644
+--- a/drivers/pci/controller/plda/pcie-plda-host.c
++++ b/drivers/pci/controller/plda/pcie-plda-host.c
+@@ -290,6 +290,7 @@ static void plda_handle_event(struct irq_desc *desc)
+
+ events = port->event_ops->get_events(port);
+
++ events &= port->events_bitmap;
+ for_each_set_bit(bit, &events, port->num_events)
+ generic_handle_domain_irq(port->event_domain, bit);
+
+@@ -420,8 +421,9 @@ int plda_init_interrupts(struct platform_device *pdev,
+ {
+ struct device *dev = &pdev->dev;
+ int irq;
+- int i, intx_irq, msi_irq, event_irq;
++ int intx_irq, msi_irq, event_irq;
+ int ret;
++ u32 i;
+
+ if (!port->event_ops)
+ port->event_ops = &plda_event_ops;
+@@ -439,7 +441,7 @@ int plda_init_interrupts(struct platform_device *pdev,
+ if (irq < 0)
+ return -ENODEV;
+
+- for (i = 0; i < port->num_events; i++) {
++ for_each_set_bit(i, &port->events_bitmap, port->num_events) {
+ event_irq = irq_create_mapping(port->event_domain, i);
+ if (!event_irq) {
+ dev_err(dev, "failed to map hwirq %d\n", i);
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index 6672a231a4bc..443109d04d59 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -159,6 +159,7 @@ struct plda_pcie_rp {
+ const struct plda_event_ops *event_ops;
+ const struct irq_chip *event_irq_chip;
+ void __iomem *bridge_addr;
++ unsigned long events_bitmap;
+ int num_events;
+ };
+
+--
+2.43.0
+
+
+From 45f29fdd79438d1efe3924e796be927c79822fe5 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:08 +0800
+Subject: [PATCH 18/23] PCI: plda: Add host init/deinit and map bus functions
+
+Add PLDA host plda_pcie_host_init()/plda_pcie_host_deinit() and map bus
+function. So vendor can use it to init PLDA PCIe host core.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Mason Huo <mason.huo@starfivetech.com>
+Message-ID: <20240108110612.19048-19-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ drivers/pci/controller/plda/pcie-plda-host.c | 131 +++++++++++++++++--
+ drivers/pci/controller/plda/pcie-plda.h | 22 ++++
+ 2 files changed, 139 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/pci/controller/plda/pcie-plda-host.c b/drivers/pci/controller/plda/pcie-plda-host.c
+index a040e7e5492f..a18923d7cea6 100644
+--- a/drivers/pci/controller/plda/pcie-plda-host.c
++++ b/drivers/pci/controller/plda/pcie-plda-host.c
+@@ -3,6 +3,7 @@
+ * PLDA PCIe XpressRich host controller driver
+ *
+ * Copyright (C) 2023 Microchip Co. Ltd
++ * StarFive Co. Ltd
+ *
+ * Author: Daire McNamara <daire.mcnamara@microchip.com>
+ */
+@@ -15,6 +16,15 @@
+
+ #include "pcie-plda.h"
+
++void __iomem *plda_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
++ int where)
++{
++ struct plda_pcie_rp *pcie = bus->sysdata;
++
++ return pcie->config_base + PCIE_ECAM_OFFSET(bus->number, devfn, where);
++}
++EXPORT_SYMBOL_GPL(plda_pcie_map_bus);
++
+ static void plda_handle_msi(struct irq_desc *desc)
+ {
+ struct plda_pcie_rp *port = irq_desc_get_handler_data(desc);
+@@ -420,9 +430,7 @@ int plda_init_interrupts(struct platform_device *pdev,
+ const struct plda_event *event)
+ {
+ struct device *dev = &pdev->dev;
+- int irq;
+- int intx_irq, msi_irq, event_irq;
+- int ret;
++ int event_irq, ret;
+ u32 i;
+
+ if (!port->event_ops)
+@@ -437,8 +445,8 @@ int plda_init_interrupts(struct platform_device *pdev,
+ return ret;
+ }
+
+- irq = platform_get_irq(pdev, 0);
+- if (irq < 0)
++ port->irq = platform_get_irq(pdev, 0);
++ if (port->irq < 0)
+ return -ENODEV;
+
+ for_each_set_bit(i, &port->events_bitmap, port->num_events) {
+@@ -461,26 +469,26 @@ int plda_init_interrupts(struct platform_device *pdev,
+ }
+ }
+
+- intx_irq = irq_create_mapping(port->event_domain,
+- event->intx_event);
+- if (!intx_irq) {
++ port->intx_irq = irq_create_mapping(port->event_domain,
++ event->intx_event);
++ if (!port->intx_irq) {
+ dev_err(dev, "failed to map INTx interrupt\n");
+ return -ENXIO;
+ }
+
+ /* Plug the INTx chained handler */
+- irq_set_chained_handler_and_data(intx_irq, plda_handle_intx, port);
++ irq_set_chained_handler_and_data(port->intx_irq, plda_handle_intx, port);
+
+- msi_irq = irq_create_mapping(port->event_domain,
+- event->msi_event);
+- if (!msi_irq)
++ port->msi_irq = irq_create_mapping(port->event_domain,
++ event->msi_event);
++ if (!port->msi_irq)
+ return -ENXIO;
+
+ /* Plug the MSI chained handler */
+- irq_set_chained_handler_and_data(msi_irq, plda_handle_msi, port);
++ irq_set_chained_handler_and_data(port->msi_irq, plda_handle_msi, port);
+
+ /* Plug the main event chained handler */
+- irq_set_chained_handler_and_data(irq, plda_handle_event, port);
++ irq_set_chained_handler_and_data(port->irq, plda_handle_event, port);
+
+ return 0;
+ }
+@@ -546,3 +554,98 @@ int plda_pcie_setup_iomems(struct pci_host_bridge *bridge,
+ return 0;
+ }
+ EXPORT_SYMBOL_GPL(plda_pcie_setup_iomems);
++
++static void plda_pcie_irq_domain_deinit(struct plda_pcie_rp *pcie)
++{
++ irq_set_chained_handler_and_data(pcie->irq, NULL, NULL);
++ irq_set_chained_handler_and_data(pcie->msi_irq, NULL, NULL);
++ irq_set_chained_handler_and_data(pcie->intx_irq, NULL, NULL);
++
++ irq_domain_remove(pcie->msi.msi_domain);
++ irq_domain_remove(pcie->msi.dev_domain);
++
++ irq_domain_remove(pcie->intx_domain);
++ irq_domain_remove(pcie->event_domain);
++}
++
++int plda_pcie_host_init(struct plda_pcie_rp *port, struct pci_ops *ops,
++ const struct plda_event *plda_event)
++{
++ struct device *dev = port->dev;
++ struct pci_host_bridge *bridge;
++ struct platform_device *pdev = to_platform_device(dev);
++ struct resource *cfg_res;
++ int ret;
++
++ pdev = to_platform_device(dev);
++
++ port->bridge_addr =
++ devm_platform_ioremap_resource_byname(pdev, "apb");
++
++ if (IS_ERR(port->bridge_addr))
++ return dev_err_probe(dev, PTR_ERR(port->bridge_addr),
++ "failed to map reg memory\n");
++
++ cfg_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "cfg");
++ if (!cfg_res)
++ return dev_err_probe(dev, -ENODEV,
++ "failed to get config memory\n");
++
++ port->config_base = devm_ioremap_resource(dev, cfg_res);
++ if (IS_ERR(port->config_base))
++ return dev_err_probe(dev, PTR_ERR(port->config_base),
++ "failed to map config memory\n");
++
++ bridge = devm_pci_alloc_host_bridge(dev, 0);
++ if (!bridge)
++ return dev_err_probe(dev, -ENOMEM,
++ "failed to alloc bridge\n");
++
++ if (port->host_ops && port->host_ops->host_init) {
++ ret = port->host_ops->host_init(port);
++ if (ret)
++ return ret;
++ }
++
++ port->bridge = bridge;
++ plda_pcie_setup_window(port->bridge_addr, 0, cfg_res->start, 0,
++ resource_size(cfg_res));
++ plda_pcie_setup_iomems(bridge, port);
++ plda_set_default_msi(&port->msi);
++ ret = plda_init_interrupts(pdev, port, plda_event);
++ if (ret)
++ goto err_host;
++
++ /* Set default bus ops */
++ bridge->ops = ops;
++ bridge->sysdata = port;
++
++ ret = pci_host_probe(bridge);
++ if (ret < 0) {
++ dev_err_probe(dev, ret, "failed to probe pci host\n");
++ goto err_probe;
++ }
++
++ return ret;
++
++err_probe:
++ plda_pcie_irq_domain_deinit(port);
++err_host:
++ if (port->host_ops && port->host_ops->host_deinit)
++ port->host_ops->host_deinit(port);
++
++ return ret;
++}
++EXPORT_SYMBOL_GPL(plda_pcie_host_init);
++
++void plda_pcie_host_deinit(struct plda_pcie_rp *port)
++{
++ pci_stop_root_bus(port->bridge->bus);
++ pci_remove_root_bus(port->bridge->bus);
++
++ plda_pcie_irq_domain_deinit(port);
++
++ if (port->host_ops && port->host_ops->host_deinit)
++ port->host_ops->host_deinit(port);
++}
++EXPORT_SYMBOL_GPL(plda_pcie_host_deinit);
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index 443109d04d59..7b69891700a4 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -141,6 +141,11 @@ struct plda_event_ops {
+ u32 (*get_events)(struct plda_pcie_rp *pcie);
+ };
+
++struct plda_pcie_host_ops {
++ int (*host_init)(struct plda_pcie_rp *pcie);
++ void (*host_deinit)(struct plda_pcie_rp *pcie);
++};
++
+ struct plda_msi {
+ struct mutex lock; /* Protect used bitmap */
+ struct irq_domain *msi_domain;
+@@ -152,14 +157,20 @@ struct plda_msi {
+
+ struct plda_pcie_rp {
+ struct device *dev;
++ struct pci_host_bridge *bridge;
+ struct irq_domain *intx_domain;
+ struct irq_domain *event_domain;
+ raw_spinlock_t lock;
+ struct plda_msi msi;
+ const struct plda_event_ops *event_ops;
+ const struct irq_chip *event_irq_chip;
++ const struct plda_pcie_host_ops *host_ops;
+ void __iomem *bridge_addr;
++ void __iomem *config_base;
+ unsigned long events_bitmap;
++ int irq;
++ int msi_irq;
++ int intx_irq;
+ int num_events;
+ };
+
+@@ -170,6 +181,8 @@ struct plda_event {
+ int msi_event;
+ };
+
++void __iomem *plda_pcie_map_bus(struct pci_bus *bus, unsigned int devfn,
++ int where);
+ int plda_init_interrupts(struct platform_device *pdev,
+ struct plda_pcie_rp *port,
+ const struct plda_event *event);
+@@ -178,4 +191,13 @@ void plda_pcie_setup_window(void __iomem *bridge_base_addr, u32 index,
+ size_t size);
+ int plda_pcie_setup_iomems(struct pci_host_bridge *bridge,
+ struct plda_pcie_rp *port);
++int plda_pcie_host_init(struct plda_pcie_rp *port, struct pci_ops *ops,
++ const struct plda_event *plda_event);
++void plda_pcie_host_deinit(struct plda_pcie_rp *pcie);
++
++static inline void plda_set_default_msi(struct plda_msi *msi)
++{
++ msi->vector_phy = IMSI_ADDR;
++ msi->num_vectors = PLDA_MAX_NUM_MSI_IRQS;
++}
+ #endif
+--
+2.43.0
+
+
+From a3bcc30c729854515731b73ed6e1e3bc5f7d2bc7 Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:09 +0800
+Subject: [PATCH 19/23] dt-bindings: PCI: Add StarFive JH7110 PCIe controller
+
+Add StarFive JH7110 SoC PCIe controller dt-bindings. JH7110 using PLDA
+XpressRICH PCIe host controller IP.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
+Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
+Reviewed-by: Rob Herring <robh@kernel.org>
+Message-ID: <20240108110612.19048-20-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../bindings/pci/starfive,jh7110-pcie.yaml | 120 ++++++++++++++++++
+ 1 file changed, 120 insertions(+)
+ create mode 100644 Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
+
+diff --git a/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml b/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
+new file mode 100644
+index 000000000000..67151aaa3948
+--- /dev/null
++++ b/Documentation/devicetree/bindings/pci/starfive,jh7110-pcie.yaml
+@@ -0,0 +1,120 @@
++# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
++%YAML 1.2
++---
++$id: http://devicetree.org/schemas/pci/starfive,jh7110-pcie.yaml#
++$schema: http://devicetree.org/meta-schemas/core.yaml#
++
++title: StarFive JH7110 PCIe host controller
++
++maintainers:
++ - Kevin Xie <kevin.xie@starfivetech.com>
++
++allOf:
++ - $ref: plda,xpressrich3-axi-common.yaml#
++
++properties:
++ compatible:
++ const: starfive,jh7110-pcie
++
++ clocks:
++ items:
++ - description: NOC bus clock
++ - description: Transport layer clock
++ - description: AXI MST0 clock
++ - description: APB clock
++
++ clock-names:
++ items:
++ - const: noc
++ - const: tl
++ - const: axi_mst0
++ - const: apb
++
++ resets:
++ items:
++ - description: AXI MST0 reset
++ - description: AXI SLAVE0 reset
++ - description: AXI SLAVE reset
++ - description: PCIE BRIDGE reset
++ - description: PCIE CORE reset
++ - description: PCIE APB reset
++
++ reset-names:
++ items:
++ - const: mst0
++ - const: slv0
++ - const: slv
++ - const: brg
++ - const: core
++ - const: apb
++
++ starfive,stg-syscon:
++ $ref: /schemas/types.yaml#/definitions/phandle-array
++ description:
++ The phandle to System Register Controller syscon node.
++
++ perst-gpios:
++ description: GPIO controlled connection to PERST# signal
++ maxItems: 1
++
++ phys:
++ description:
++ Specified PHY is attached to PCIe controller.
++ maxItems: 1
++
++required:
++ - clocks
++ - resets
++ - starfive,stg-syscon
++
++unevaluatedProperties: false
++
++examples:
++ - |
++ #include <dt-bindings/gpio/gpio.h>
++ soc {
++ #address-cells = <2>;
++ #size-cells = <2>;
++
++ pcie@940000000 {
++ compatible = "starfive,jh7110-pcie";
++ reg = <0x9 0x40000000 0x0 0x10000000>,
++ <0x0 0x2b000000 0x0 0x1000000>;
++ reg-names = "cfg", "apb";
++ #address-cells = <3>;
++ #size-cells = <2>;
++ #interrupt-cells = <1>;
++ device_type = "pci";
++ ranges = <0x82000000 0x0 0x30000000 0x0 0x30000000 0x0 0x08000000>,
++ <0xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x40000000>;
++ starfive,stg-syscon = <&stg_syscon>;
++ bus-range = <0x0 0xff>;
++ interrupt-parent = <&plic>;
++ interrupts = <56>;
++ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
++ interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc0 0x1>,
++ <0x0 0x0 0x0 0x2 &pcie_intc0 0x2>,
++ <0x0 0x0 0x0 0x3 &pcie_intc0 0x3>,
++ <0x0 0x0 0x0 0x4 &pcie_intc0 0x4>;
++ msi-controller;
++ clocks = <&syscrg 86>,
++ <&stgcrg 10>,
++ <&stgcrg 8>,
++ <&stgcrg 9>;
++ clock-names = "noc", "tl", "axi_mst0", "apb";
++ resets = <&stgcrg 11>,
++ <&stgcrg 12>,
++ <&stgcrg 13>,
++ <&stgcrg 14>,
++ <&stgcrg 15>,
++ <&stgcrg 16>;
++ perst-gpios = <&gpios 26 GPIO_ACTIVE_LOW>;
++ phys = <&pciephy0>;
++
++ pcie_intc0: interrupt-controller {
++ #address-cells = <0>;
++ #interrupt-cells = <1>;
++ interrupt-controller;
++ };
++ };
++ };
+--
+2.43.0
+
+
+From 68c605686c561a1cc3a42c82bc0de854b5b4183e Mon Sep 17 00:00:00 2001
+From: Kevin Xie <kevin.xie@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:10 +0800
+Subject: [PATCH 20/23] PCI: Add PCIE_RESET_CONFIG_DEVICE_WAIT_MS waiting time
+ value
+
+Add the PCIE_RESET_CONFIG_DEVICE_WAIT_MS macro to define the minimum
+waiting time between exit from a conventional reset and sending the
+first configuration request to the device.
+
+As described in PCI base specification r6.0, section 6.6.1 <Conventional
+Reset>, there are two different use cases of the value:
+
+ - "With a Downstream Port that does not support Link speeds greater
+ than 5.0 GT/s, software must wait a minimum of 100 ms following exit
+ from a Conventional Reset before sending a Configuration Request to
+ the device immediately below that Port."
+
+ - "With a Downstream Port that supports Link speeds greater than
+ 5.0 GT/s, software must wait a minimum of 100 ms after Link training
+ completes before sending a Configuration Request to the device
+ immediately below that Port."
+
+Signed-off-by: Kevin Xie <kevin.xie@starfivetech.com>
+Reviewed-by: Mason Huo <mason.huo@starfivetech.com>
+Acked-by: Bjorn Helgaas <bhelgaas@google.com>
+Message-ID: <20240108110612.19048-21-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ drivers/pci/pci.h | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
+index f43873049d52..6990146e14e3 100644
+--- a/drivers/pci/pci.h
++++ b/drivers/pci/pci.h
+@@ -22,6 +22,22 @@
+ */
+ #define PCIE_PME_TO_L2_TIMEOUT_US 10000
+
++/*
++ * As described in PCI base specification r6.0, section 6.6.1 <Conventional
++ * Reset>, there are two different use cases of the value:
++ *
++ * - "With a Downstream Port that does not support Link speeds greater
++ * than 5.0 GT/s, software must wait a minimum of 100 ms following exit
++ * from a Conventional Reset before sending a Configuration Request to
++ * the device immediately below that Port."
++ *
++ * - "With a Downstream Port that supports Link speeds greater than
++ * 5.0 GT/s, software must wait a minimum of 100 ms after Link training
++ * completes before sending a Configuration Request to the device
++ * immediately below that Port."
++ */
++#define PCIE_RESET_CONFIG_DEVICE_WAIT_MS 100
++
+ extern const unsigned char pcie_link_speed[];
+ extern bool pci_early_dump;
+
+--
+2.43.0
+
+
+From d595015610966f0c9e3128ce23db29dd0f212e0e Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:11 +0800
+Subject: [PATCH 21/23] PCI: starfive: Add JH7110 PCIe controller
+
+Add StarFive JH7110 SoC PCIe controller platform driver codes, JH7110
+with PLDA host PCIe core.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Co-developed-by: Kevin Xie <kevin.xie@starfivetech.com>
+Reviewed-by: Mason Huo <mason.huo@starfivetech.com>
+Message-ID: <20240108110612.19048-22-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ MAINTAINERS | 7 +
+ drivers/pci/controller/plda/Kconfig | 12 +
+ drivers/pci/controller/plda/Makefile | 1 +
+ drivers/pci/controller/plda/pcie-plda.h | 71 ++-
+ drivers/pci/controller/plda/pcie-starfive.c | 473 ++++++++++++++++++++
+ 5 files changed, 563 insertions(+), 1 deletion(-)
+ create mode 100644 drivers/pci/controller/plda/pcie-starfive.c
+
+diff --git a/MAINTAINERS b/MAINTAINERS
+index 730fe2d640a1..7fa339e6c25d 100644
+--- a/MAINTAINERS
++++ b/MAINTAINERS
+@@ -16821,6 +16821,13 @@ S: Maintained
+ F: Documentation/devicetree/bindings/pci/socionext,uniphier-pcie*
+ F: drivers/pci/controller/dwc/pcie-uniphier*
+
++PCIE DRIVER FOR STARFIVE JH71x0
++M: Kevin Xie <kevin.xie@starfivetech.com>
++L: linux-pci@vger.kernel.org
++S: Maintained
++F: Documentation/devicetree/bindings/pci/starfive*
++F: drivers/pci/controller/plda/pcie-starfive.c
++
+ PCIE DRIVER FOR ST SPEAR13XX
+ M: Pratyush Anand <pratyush.anand@gmail.com>
+ L: linux-pci@vger.kernel.org
+diff --git a/drivers/pci/controller/plda/Kconfig b/drivers/pci/controller/plda/Kconfig
+index e54a82ee94f5..c0e14146d7e4 100644
+--- a/drivers/pci/controller/plda/Kconfig
++++ b/drivers/pci/controller/plda/Kconfig
+@@ -15,4 +15,16 @@ config PCIE_MICROCHIP_HOST
+ Say Y here if you want kernel to support the Microchip AXI PCIe
+ Host Bridge driver.
+
++config PCIE_STARFIVE_HOST
++ tristate "StarFive PCIe host controller"
++ depends on PCI_MSI && OF
++ depends on ARCH_STARFIVE || COMPILE_TEST
++ select PCIE_PLDA_HOST
++ help
++ Say Y here if you want to support the StarFive PCIe controller in
++ host mode. StarFive PCIe controller uses PLDA PCIe core.
++
++ If you choose to build this driver as module it will be dynamically
++ linked and module will be called pcie-starfive.ko.
++
+ endmenu
+diff --git a/drivers/pci/controller/plda/Makefile b/drivers/pci/controller/plda/Makefile
+index 4340ab007f44..0ac6851bed48 100644
+--- a/drivers/pci/controller/plda/Makefile
++++ b/drivers/pci/controller/plda/Makefile
+@@ -1,3 +1,4 @@
+ # SPDX-License-Identifier: GPL-2.0
+ obj-$(CONFIG_PCIE_PLDA_HOST) += pcie-plda-host.o
+ obj-$(CONFIG_PCIE_MICROCHIP_HOST) += pcie-microchip-host.o
++obj-$(CONFIG_PCIE_STARFIVE_HOST) += pcie-starfive.o
+diff --git a/drivers/pci/controller/plda/pcie-plda.h b/drivers/pci/controller/plda/pcie-plda.h
+index 7b69891700a4..04e385758a2f 100644
+--- a/drivers/pci/controller/plda/pcie-plda.h
++++ b/drivers/pci/controller/plda/pcie-plda.h
+@@ -10,10 +10,20 @@
+ #define PLDA_MAX_NUM_MSI_IRQS 32
+
+ /* PCIe Bridge Phy Regs */
++#define GEN_SETTINGS 0x80
++#define RP_ENABLE 1
++#define PCIE_PCI_IDS_DW1 0x9c
++#define IDS_CLASS_CODE_SHIFT 16
++#define REVISION_ID_MASK GENMASK(7, 0)
++#define CLASS_CODE_ID_MASK GENMASK(31, 8)
+ #define PCIE_PCI_IRQ_DW0 0xa8
+ #define MSIX_CAP_MASK BIT(31)
+ #define NUM_MSI_MSGS_MASK GENMASK(6, 4)
+ #define NUM_MSI_MSGS_SHIFT 4
++#define PCI_MISC 0xb4
++#define PHY_FUNCTION_DIS BIT(15)
++#define PCIE_WINROM 0xfc
++#define PREF_MEM_WIN_64_SUPPORT BIT(3)
+
+ #define IMASK_LOCAL 0x180
+ #define DMA_END_ENGINE_0_MASK 0x00000000u
+@@ -65,6 +75,8 @@
+ #define ISTATUS_HOST 0x18c
+ #define IMSI_ADDR 0x190
+ #define ISTATUS_MSI 0x194
++#define PMSG_SUPPORT_RX 0x3f0
++#define PMSG_LTR_SUPPORT BIT(2)
+
+ /* PCIe Master table init defines */
+ #define ATR0_PCIE_WIN0_SRCADDR_PARAM 0x600u
+@@ -86,6 +98,8 @@
+ #define PCIE_TX_RX_INTERFACE 0x00000000u
+ #define PCIE_CONFIG_INTERFACE 0x00000001u
+
++#define CONFIG_SPACE_ADDR_OFFSET 0x1000u
++
+ #define ATR_ENTRY_SIZE 32
+
+ enum plda_int_event {
+@@ -200,4 +214,59 @@ static inline void plda_set_default_msi(struct plda_msi *msi)
+ msi->vector_phy = IMSI_ADDR;
+ msi->num_vectors = PLDA_MAX_NUM_MSI_IRQS;
+ }
+-#endif
++
++static inline void plda_pcie_enable_root_port(struct plda_pcie_rp *plda)
++{
++ u32 value;
++
++ value = readl_relaxed(plda->bridge_addr + GEN_SETTINGS);
++ value |= RP_ENABLE;
++ writel_relaxed(value, plda->bridge_addr + GEN_SETTINGS);
++}
++
++static inline void plda_pcie_set_standard_class(struct plda_pcie_rp *plda)
++{
++ u32 value;
++
++ /* set class code and reserve revision id */
++ value = readl_relaxed(plda->bridge_addr + PCIE_PCI_IDS_DW1);
++ value &= REVISION_ID_MASK;
++ value |= (PCI_CLASS_BRIDGE_PCI << IDS_CLASS_CODE_SHIFT);
++ writel_relaxed(value, plda->bridge_addr + PCIE_PCI_IDS_DW1);
++}
++
++static inline void plda_pcie_set_pref_win_64bit(struct plda_pcie_rp *plda)
++{
++ u32 value;
++
++ value = readl_relaxed(plda->bridge_addr + PCIE_WINROM);
++ value |= PREF_MEM_WIN_64_SUPPORT;
++ writel_relaxed(value, plda->bridge_addr + PCIE_WINROM);
++}
++
++static inline void plda_pcie_disable_ltr(struct plda_pcie_rp *plda)
++{
++ u32 value;
++
++ value = readl_relaxed(plda->bridge_addr + PMSG_SUPPORT_RX);
++ value &= ~PMSG_LTR_SUPPORT;
++ writel_relaxed(value, plda->bridge_addr + PMSG_SUPPORT_RX);
++}
++
++static inline void plda_pcie_disable_func(struct plda_pcie_rp *plda)
++{
++ u32 value;
++
++ value = readl_relaxed(plda->bridge_addr + PCI_MISC);
++ value |= PHY_FUNCTION_DIS;
++ writel_relaxed(value, plda->bridge_addr + PCI_MISC);
++}
++
++static inline void plda_pcie_write_rc_bar(struct plda_pcie_rp *plda, u64 val)
++{
++ void __iomem *addr = plda->bridge_addr + CONFIG_SPACE_ADDR_OFFSET;
++
++ writel_relaxed(lower_32_bits(val), addr + PCI_BASE_ADDRESS_0);
++ writel_relaxed(upper_32_bits(val), addr + PCI_BASE_ADDRESS_1);
++}
++#endif /* _PCIE_PLDA_H */
+diff --git a/drivers/pci/controller/plda/pcie-starfive.c b/drivers/pci/controller/plda/pcie-starfive.c
+new file mode 100644
+index 000000000000..9bb9f0e29565
+--- /dev/null
++++ b/drivers/pci/controller/plda/pcie-starfive.c
+@@ -0,0 +1,473 @@
++// SPDX-License-Identifier: GPL-2.0+
++/*
++ * PCIe host controller driver for StarFive JH7110 Soc.
++ *
++ * Copyright (C) 2023 StarFive Technology Co., Ltd.
++ */
++
++#include <linux/bitfield.h>
++#include <linux/clk.h>
++#include <linux/delay.h>
++#include <linux/gpio/consumer.h>
++#include <linux/interrupt.h>
++#include <linux/kernel.h>
++#include <linux/mfd/syscon.h>
++#include <linux/module.h>
++#include <linux/of_address.h>
++#include <linux/of_irq.h>
++#include <linux/of_pci.h>
++#include <linux/pci.h>
++#include <linux/phy/phy.h>
++#include <linux/platform_device.h>
++#include <linux/pm_runtime.h>
++#include <linux/regmap.h>
++#include <linux/reset.h>
++#include "../../pci.h"
++
++#include "pcie-plda.h"
++
++#define PCIE_FUNC_NUM 4
++
++/* system control */
++#define STG_SYSCON_PCIE0_BASE 0x48
++#define STG_SYSCON_PCIE1_BASE 0x1f8
++
++#define STG_SYSCON_AR_OFFSET 0x78
++#define STG_SYSCON_AXI4_SLVL_AR_MASK GENMASK(22, 8)
++#define STG_SYSCON_AXI4_SLVL_PHY_AR(x) FIELD_PREP(GENMASK(20, 17), x)
++#define STG_SYSCON_AW_OFFSET 0x7c
++#define STG_SYSCON_AXI4_SLVL_AW_MASK GENMASK(14, 0)
++#define STG_SYSCON_AXI4_SLVL_PHY_AW(x) FIELD_PREP(GENMASK(12, 9), x)
++#define STG_SYSCON_CLKREQ BIT(22)
++#define STG_SYSCON_CKREF_SRC_MASK GENMASK(19, 18)
++#define STG_SYSCON_RP_NEP_OFFSET 0xe8
++#define STG_SYSCON_K_RP_NEP BIT(8)
++#define STG_SYSCON_LNKSTA_OFFSET 0x170
++#define DATA_LINK_ACTIVE BIT(5)
++
++/* Parameters for the waiting for link up routine */
++#define LINK_WAIT_MAX_RETRIES 10
++#define LINK_WAIT_USLEEP_MIN 90000
++#define LINK_WAIT_USLEEP_MAX 100000
++
++struct starfive_jh7110_pcie {
++ struct plda_pcie_rp plda;
++ struct reset_control *resets;
++ struct clk_bulk_data *clks;
++ struct regmap *reg_syscon;
++ struct gpio_desc *power_gpio;
++ struct gpio_desc *reset_gpio;
++ struct phy *phy;
++
++ unsigned int stg_pcie_base;
++ int num_clks;
++};
++
++/*
++ * The BAR0/1 of bridge should be hidden during enumeration to
++ * avoid the sizing and resource allocation by PCIe core.
++ */
++static bool starfive_pcie_hide_rc_bar(struct pci_bus *bus, unsigned int devfn,
++ int offset)
++{
++ if (pci_is_root_bus(bus) && !devfn &&
++ (offset == PCI_BASE_ADDRESS_0 || offset == PCI_BASE_ADDRESS_1))
++ return true;
++
++ return false;
++}
++
++static int starfive_pcie_config_write(struct pci_bus *bus, unsigned int devfn,
++ int where, int size, u32 value)
++{
++ if (starfive_pcie_hide_rc_bar(bus, devfn, where))
++ return PCIBIOS_SUCCESSFUL;
++
++ return pci_generic_config_write(bus, devfn, where, size, value);
++}
++
++static int starfive_pcie_config_read(struct pci_bus *bus, unsigned int devfn,
++ int where, int size, u32 *value)
++{
++ if (starfive_pcie_hide_rc_bar(bus, devfn, where)) {
++ *value = 0;
++ return PCIBIOS_SUCCESSFUL;
++ }
++
++ return pci_generic_config_read(bus, devfn, where, size, value);
++}
++
++static int starfive_pcie_parse_dt(struct starfive_jh7110_pcie *pcie,
++ struct device *dev)
++{
++ int domain_nr;
++
++ pcie->num_clks = devm_clk_bulk_get_all(dev, &pcie->clks);
++ if (pcie->num_clks < 0)
++ return dev_err_probe(dev, pcie->num_clks,
++ "failed to get pcie clocks\n");
++
++ pcie->resets = devm_reset_control_array_get_exclusive(dev);
++ if (IS_ERR(pcie->resets))
++ return dev_err_probe(dev, PTR_ERR(pcie->resets),
++ "failed to get pcie resets");
++
++ pcie->reg_syscon =
++ syscon_regmap_lookup_by_phandle(dev->of_node,
++ "starfive,stg-syscon");
++
++ if (IS_ERR(pcie->reg_syscon))
++ return dev_err_probe(dev, PTR_ERR(pcie->reg_syscon),
++ "failed to parse starfive,stg-syscon\n");
++
++ pcie->phy = devm_phy_optional_get(dev, NULL);
++ if (IS_ERR(pcie->phy))
++ return dev_err_probe(dev, PTR_ERR(pcie->phy),
++ "failed to get pcie phy\n");
++
++ domain_nr = of_get_pci_domain_nr(dev->of_node);
++
++ if (domain_nr < 0 || domain_nr > 1)
++ return dev_err_probe(dev, -ENODEV,
++ "failed to get valid pcie domain\n");
++
++ if (domain_nr == 0)
++ pcie->stg_pcie_base = STG_SYSCON_PCIE0_BASE;
++ else
++ pcie->stg_pcie_base = STG_SYSCON_PCIE1_BASE;
++
++ pcie->reset_gpio = devm_gpiod_get_optional(dev, "perst",
++ GPIOD_OUT_HIGH);
++ if (IS_ERR(pcie->reset_gpio))
++ return dev_err_probe(dev, PTR_ERR(pcie->reset_gpio),
++ "failed to get perst-gpio\n");
++
++ pcie->power_gpio = devm_gpiod_get_optional(dev, "enable",
++ GPIOD_OUT_LOW);
++ if (IS_ERR(pcie->power_gpio))
++ return dev_err_probe(dev, PTR_ERR(pcie->power_gpio),
++ "failed to get power-gpio\n");
++
++ return 0;
++}
++
++static struct pci_ops starfive_pcie_ops = {
++ .map_bus = plda_pcie_map_bus,
++ .read = starfive_pcie_config_read,
++ .write = starfive_pcie_config_write,
++};
++
++static int starfive_pcie_clk_rst_init(struct starfive_jh7110_pcie *pcie)
++{
++ struct device *dev = pcie->plda.dev;
++ int ret;
++
++ ret = clk_bulk_prepare_enable(pcie->num_clks, pcie->clks);
++ if (ret)
++ return dev_err_probe(dev, ret, "failed to enable clocks\n");
++
++ ret = reset_control_deassert(pcie->resets);
++ if (ret) {
++ clk_bulk_disable_unprepare(pcie->num_clks, pcie->clks);
++ dev_err_probe(dev, ret, "failed to deassert resets\n");
++ }
++
++ return ret;
++}
++
++static void starfive_pcie_clk_rst_deinit(struct starfive_jh7110_pcie *pcie)
++{
++ reset_control_assert(pcie->resets);
++ clk_bulk_disable_unprepare(pcie->num_clks, pcie->clks);
++}
++
++static bool starfive_pcie_link_up(struct plda_pcie_rp *plda)
++{
++ struct starfive_jh7110_pcie *pcie =
++ container_of(plda, struct starfive_jh7110_pcie, plda);
++ int ret;
++ u32 stg_reg_val;
++
++ ret = regmap_read(pcie->reg_syscon,
++ pcie->stg_pcie_base + STG_SYSCON_LNKSTA_OFFSET,
++ &stg_reg_val);
++ if (ret) {
++ dev_err(pcie->plda.dev, "failed to read link status\n");
++ return false;
++ }
++
++ return !!(stg_reg_val & DATA_LINK_ACTIVE);
++}
++
++static int starfive_pcie_host_wait_for_link(struct starfive_jh7110_pcie *pcie)
++{
++ int retries;
++
++ /* Check if the link is up or not */
++ for (retries = 0; retries < LINK_WAIT_MAX_RETRIES; retries++) {
++ if (starfive_pcie_link_up(&pcie->plda)) {
++ dev_info(pcie->plda.dev, "port link up\n");
++ return 0;
++ }
++ usleep_range(LINK_WAIT_USLEEP_MIN, LINK_WAIT_USLEEP_MAX);
++ }
++
++ return -ETIMEDOUT;
++}
++
++static int starfive_pcie_enable_phy(struct device *dev,
++ struct starfive_jh7110_pcie *pcie)
++{
++ int ret;
++
++ if (!pcie->phy)
++ return 0;
++
++ ret = phy_init(pcie->phy);
++ if (ret)
++ return dev_err_probe(dev, ret,
++ "failed to initialize pcie phy\n");
++
++ ret = phy_set_mode(pcie->phy, PHY_MODE_PCIE);
++ if (ret) {
++ dev_err_probe(dev, ret, "failed to set pcie mode\n");
++ goto err_phy_on;
++ }
++
++ ret = phy_power_on(pcie->phy);
++ if (ret) {
++ dev_err_probe(dev, ret, "failed to power on pcie phy\n");
++ goto err_phy_on;
++ }
++
++ return 0;
++
++err_phy_on:
++ phy_exit(pcie->phy);
++ return ret;
++}
++
++static void starfive_pcie_disable_phy(struct starfive_jh7110_pcie *pcie)
++{
++ phy_power_off(pcie->phy);
++ phy_exit(pcie->phy);
++}
++
++static void starfive_pcie_host_deinit(struct plda_pcie_rp *plda)
++{
++ struct starfive_jh7110_pcie *pcie =
++ container_of(plda, struct starfive_jh7110_pcie, plda);
++
++ starfive_pcie_clk_rst_deinit(pcie);
++ if (pcie->power_gpio)
++ gpiod_set_value_cansleep(pcie->power_gpio, 0);
++ starfive_pcie_disable_phy(pcie);
++}
++
++static int starfive_pcie_host_init(struct plda_pcie_rp *plda)
++{
++ struct starfive_jh7110_pcie *pcie =
++ container_of(plda, struct starfive_jh7110_pcie, plda);
++ struct device *dev = plda->dev;
++ int ret;
++ int i;
++
++ ret = starfive_pcie_enable_phy(dev, pcie);
++ if (ret)
++ return ret;
++
++ regmap_update_bits(pcie->reg_syscon,
++ pcie->stg_pcie_base + STG_SYSCON_RP_NEP_OFFSET,
++ STG_SYSCON_K_RP_NEP, STG_SYSCON_K_RP_NEP);
++
++ regmap_update_bits(pcie->reg_syscon,
++ pcie->stg_pcie_base + STG_SYSCON_AW_OFFSET,
++ STG_SYSCON_CKREF_SRC_MASK,
++ FIELD_PREP(STG_SYSCON_CKREF_SRC_MASK, 2));
++
++ regmap_update_bits(pcie->reg_syscon,
++ pcie->stg_pcie_base + STG_SYSCON_AW_OFFSET,
++ STG_SYSCON_CLKREQ, STG_SYSCON_CLKREQ);
++
++ ret = starfive_pcie_clk_rst_init(pcie);
++ if (ret)
++ return ret;
++
++ if (pcie->power_gpio)
++ gpiod_set_value_cansleep(pcie->power_gpio, 1);
++
++ if (pcie->reset_gpio)
++ gpiod_set_value_cansleep(pcie->reset_gpio, 1);
++
++ /* Disable physical functions except #0 */
++ for (i = 1; i < PCIE_FUNC_NUM; i++) {
++ regmap_update_bits(pcie->reg_syscon,
++ pcie->stg_pcie_base + STG_SYSCON_AR_OFFSET,
++ STG_SYSCON_AXI4_SLVL_AR_MASK,
++ STG_SYSCON_AXI4_SLVL_PHY_AR(i));
++
++ regmap_update_bits(pcie->reg_syscon,
++ pcie->stg_pcie_base + STG_SYSCON_AW_OFFSET,
++ STG_SYSCON_AXI4_SLVL_AW_MASK,
++ STG_SYSCON_AXI4_SLVL_PHY_AW(i));
++
++ plda_pcie_disable_func(plda);
++ }
++
++ regmap_update_bits(pcie->reg_syscon,
++ pcie->stg_pcie_base + STG_SYSCON_AR_OFFSET,
++ STG_SYSCON_AXI4_SLVL_AR_MASK, 0);
++ regmap_update_bits(pcie->reg_syscon,
++ pcie->stg_pcie_base + STG_SYSCON_AW_OFFSET,
++ STG_SYSCON_AXI4_SLVL_AW_MASK, 0);
++
++ plda_pcie_enable_root_port(plda);
++ plda_pcie_write_rc_bar(plda, 0);
++
++ /* PCIe PCI Standard Configuration Identification Settings. */
++ plda_pcie_set_standard_class(plda);
++
++ /*
++ * The LTR message forwarding of PCIe Message Reception was set by core
++ * as default, but the forward id & addr are also need to be reset.
++ * If we do not disable LTR message forwarding here, or set a legal
++ * forwarding address, the kernel will get stuck after the driver probe.
++ * To workaround, disable the LTR message forwarding support on
++ * PCIe Message Reception.
++ */
++ plda_pcie_disable_ltr(plda);
++
++ /* Prefetchable memory window 64-bit addressing support */
++ plda_pcie_set_pref_win_64bit(plda);
++
++ /*
++ * Ensure that PERST has been asserted for at least 100 ms,
++ * the sleep value is T_PVPERL from PCIe CEM spec r2.0 (Table 2-4)
++ */
++ msleep(100);
++ if (pcie->reset_gpio)
++ gpiod_set_value_cansleep(pcie->reset_gpio, 0);
++
++ /*
++ * With a Downstream Port (<=5GT/s), software must wait a minimum
++ * of 100ms following exit from a conventional reset before
++ * sending a configuration request to the device.
++ */
++ msleep(PCIE_RESET_CONFIG_DEVICE_WAIT_MS);
++
++ if (starfive_pcie_host_wait_for_link(pcie))
++ dev_info(dev, "port link down\n");
++
++ return 0;
++}
++
++static const struct plda_pcie_host_ops sf_host_ops = {
++ .host_init = starfive_pcie_host_init,
++ .host_deinit = starfive_pcie_host_deinit,
++};
++
++static const struct plda_event stf_pcie_event = {
++ .intx_event = EVENT_PM_MSI_INT_INTX,
++ .msi_event = EVENT_PM_MSI_INT_MSI
++};
++
++static int starfive_pcie_probe(struct platform_device *pdev)
++{
++ struct starfive_jh7110_pcie *pcie;
++ struct device *dev = &pdev->dev;
++ struct plda_pcie_rp *plda;
++ int ret;
++
++ pcie = devm_kzalloc(dev, sizeof(*pcie), GFP_KERNEL);
++ if (!pcie)
++ return -ENOMEM;
++
++ plda = &pcie->plda;
++ plda->dev = dev;
++
++ ret = starfive_pcie_parse_dt(pcie, dev);
++ if (ret)
++ return ret;
++
++ plda->host_ops = &sf_host_ops;
++ plda->num_events = PLDA_MAX_EVENT_NUM;
++ /* mask doorbell event */
++ plda->events_bitmap = GENMASK(PLDA_INT_EVENT_NUM - 1, 0)
++ & ~BIT(PLDA_AXI_DOORBELL)
++ & ~BIT(PLDA_PCIE_DOORBELL);
++ plda->events_bitmap <<= PLDA_NUM_DMA_EVENTS;
++ ret = plda_pcie_host_init(&pcie->plda, &starfive_pcie_ops,
++ &stf_pcie_event);
++ if (ret)
++ return ret;
++
++ pm_runtime_enable(&pdev->dev);
++ pm_runtime_get_sync(&pdev->dev);
++ platform_set_drvdata(pdev, pcie);
++
++ return 0;
++}
++
++static void starfive_pcie_remove(struct platform_device *pdev)
++{
++ struct starfive_jh7110_pcie *pcie = platform_get_drvdata(pdev);
++
++ pm_runtime_put(&pdev->dev);
++ pm_runtime_disable(&pdev->dev);
++ plda_pcie_host_deinit(&pcie->plda);
++ platform_set_drvdata(pdev, NULL);
++}
++
++static int starfive_pcie_suspend_noirq(struct device *dev)
++{
++ struct starfive_jh7110_pcie *pcie = dev_get_drvdata(dev);
++
++ clk_bulk_disable_unprepare(pcie->num_clks, pcie->clks);
++ starfive_pcie_disable_phy(pcie);
++
++ return 0;
++}
++
++static int starfive_pcie_resume_noirq(struct device *dev)
++{
++ struct starfive_jh7110_pcie *pcie = dev_get_drvdata(dev);
++ int ret;
++
++ ret = starfive_pcie_enable_phy(dev, pcie);
++ if (ret)
++ return ret;
++
++ ret = clk_bulk_prepare_enable(pcie->num_clks, pcie->clks);
++ if (ret) {
++ dev_err(dev, "failed to enable clocks\n");
++ starfive_pcie_disable_phy(pcie);
++ return ret;
++ }
++
++ return 0;
++}
++
++static const struct dev_pm_ops starfive_pcie_pm_ops = {
++ NOIRQ_SYSTEM_SLEEP_PM_OPS(starfive_pcie_suspend_noirq,
++ starfive_pcie_resume_noirq)
++};
++
++static const struct of_device_id starfive_pcie_of_match[] = {
++ { .compatible = "starfive,jh7110-pcie", },
++ { /* sentinel */ }
++};
++MODULE_DEVICE_TABLE(of, starfive_pcie_of_match);
++
++static struct platform_driver starfive_pcie_driver = {
++ .driver = {
++ .name = "pcie-starfive",
++ .of_match_table = of_match_ptr(starfive_pcie_of_match),
++ .pm = pm_sleep_ptr(&starfive_pcie_pm_ops),
++ },
++ .probe = starfive_pcie_probe,
++ .remove_new = starfive_pcie_remove,
++};
++module_platform_driver(starfive_pcie_driver);
++
++MODULE_DESCRIPTION("StarFive JH7110 PCIe host driver");
++MODULE_LICENSE("GPL v2");
+--
+2.43.0
+
+
+From bb33f9248da218662ccf28d1730833a18ce22d9f Mon Sep 17 00:00:00 2001
+From: Minda Chen <minda.chen@starfivetech.com>
+Date: Mon, 8 Jan 2024 19:06:12 +0800
+Subject: [PATCH 22/23] riscv: dts: starfive: add PCIe dts configuration for
+ JH7110
+
+Add PCIe dts configuraion for JH7110 SoC platform.
+
+Signed-off-by: Minda Chen <minda.chen@starfivetech.com>
+Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
+Message-ID: <20240108110612.19048-23-minda.chen@starfivetech.com>
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../jh7110-starfive-visionfive-2.dtsi | 64 ++++++++++++++
+ arch/riscv/boot/dts/starfive/jh7110.dtsi | 86 +++++++++++++++++++
+ 2 files changed, 150 insertions(+)
+
+diff --git a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
+index b89e9791efa7..2f8056d6f817 100644
+--- a/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
++++ b/arch/riscv/boot/dts/starfive/jh7110-starfive-visionfive-2.dtsi
+@@ -287,6 +287,22 @@ &pwmdac {
+ status = "okay";
+ };
+
++&pcie0 {
++ perst-gpios = <&sysgpio 26 GPIO_ACTIVE_LOW>;
++ phys = <&pciephy0>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pcie0_pins>;
++ status = "okay";
++};
++
++&pcie1 {
++ perst-gpios = <&sysgpio 28 GPIO_ACTIVE_LOW>;
++ phys = <&pciephy1>;
++ pinctrl-names = "default";
++ pinctrl-0 = <&pcie1_pins>;
++ status = "okay";
++};
++
+ &qspi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+@@ -513,6 +529,54 @@ GPOEN_ENABLE,
+ };
+ };
+
++ pcie0_pins: pcie0-0 {
++ clkreq-pins {
++ pinmux = <GPIOMUX(27, GPOUT_LOW,
++ GPOEN_DISABLE,
++ GPI_NONE)>;
++ bias-pull-down;
++ drive-strength = <2>;
++ input-enable;
++ input-schmitt-disable;
++ slew-rate = <0>;
++ };
++
++ wake-pins {
++ pinmux = <GPIOMUX(32, GPOUT_LOW,
++ GPOEN_DISABLE,
++ GPI_NONE)>;
++ bias-pull-up;
++ drive-strength = <2>;
++ input-enable;
++ input-schmitt-disable;
++ slew-rate = <0>;
++ };
++ };
++
++ pcie1_pins: pcie1-0 {
++ clkreq-pins {
++ pinmux = <GPIOMUX(29, GPOUT_LOW,
++ GPOEN_DISABLE,
++ GPI_NONE)>;
++ bias-pull-down;
++ drive-strength = <2>;
++ input-enable;
++ input-schmitt-disable;
++ slew-rate = <0>;
++ };
++
++ wake-pins {
++ pinmux = <GPIOMUX(21, GPOUT_LOW,
++ GPOEN_DISABLE,
++ GPI_NONE)>;
++ bias-pull-up;
++ drive-strength = <2>;
++ input-enable;
++ input-schmitt-disable;
++ slew-rate = <0>;
++ };
++ };
++
+ spi0_pins: spi0-0 {
+ mosi-pins {
+ pinmux = <GPIOMUX(52, GPOUT_SYS_SPI0_TXD,
+diff --git a/arch/riscv/boot/dts/starfive/jh7110.dtsi b/arch/riscv/boot/dts/starfive/jh7110.dtsi
+index 45213cdf50dc..dfa2f94ed5b2 100644
+--- a/arch/riscv/boot/dts/starfive/jh7110.dtsi
++++ b/arch/riscv/boot/dts/starfive/jh7110.dtsi
+@@ -1138,5 +1138,91 @@ voutcrg: clock-controller@295c0000 {
+ #reset-cells = <1>;
+ power-domains = <&pwrc JH7110_PD_VOUT>;
+ };
++
++ pcie0: pcie@940000000 {
++ compatible = "starfive,jh7110-pcie";
++ reg = <0x9 0x40000000 0x0 0x1000000>,
++ <0x0 0x2b000000 0x0 0x100000>;
++ reg-names = "cfg", "apb";
++ linux,pci-domain = <0>;
++ #address-cells = <3>;
++ #size-cells = <2>;
++ #interrupt-cells = <1>;
++ ranges = <0x82000000 0x0 0x30000000 0x0 0x30000000 0x0 0x08000000>,
++ <0xc3000000 0x9 0x00000000 0x9 0x00000000 0x0 0x40000000>;
++ interrupts = <56>;
++ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
++ interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc0 0x1>,
++ <0x0 0x0 0x0 0x2 &pcie_intc0 0x2>,
++ <0x0 0x0 0x0 0x3 &pcie_intc0 0x3>,
++ <0x0 0x0 0x0 0x4 &pcie_intc0 0x4>;
++ msi-controller;
++ device_type = "pci";
++ starfive,stg-syscon = <&stg_syscon>;
++ bus-range = <0x0 0xff>;
++ clocks = <&syscrg JH7110_SYSCLK_NOC_BUS_STG_AXI>,
++ <&stgcrg JH7110_STGCLK_PCIE0_TL>,
++ <&stgcrg JH7110_STGCLK_PCIE0_AXI_MST0>,
++ <&stgcrg JH7110_STGCLK_PCIE0_APB>;
++ clock-names = "noc", "tl", "axi_mst0", "apb";
++ resets = <&stgcrg JH7110_STGRST_PCIE0_AXI_MST0>,
++ <&stgcrg JH7110_STGRST_PCIE0_AXI_SLV0>,
++ <&stgcrg JH7110_STGRST_PCIE0_AXI_SLV>,
++ <&stgcrg JH7110_STGRST_PCIE0_BRG>,
++ <&stgcrg JH7110_STGRST_PCIE0_CORE>,
++ <&stgcrg JH7110_STGRST_PCIE0_APB>;
++ reset-names = "mst0", "slv0", "slv", "brg",
++ "core", "apb";
++ status = "disabled";
++
++ pcie_intc0: interrupt-controller {
++ #address-cells = <0>;
++ #interrupt-cells = <1>;
++ interrupt-controller;
++ };
++ };
++
++ pcie1: pcie@9c0000000 {
++ compatible = "starfive,jh7110-pcie";
++ reg = <0x9 0xc0000000 0x0 0x1000000>,
++ <0x0 0x2c000000 0x0 0x100000>;
++ reg-names = "cfg", "apb";
++ linux,pci-domain = <1>;
++ #address-cells = <3>;
++ #size-cells = <2>;
++ #interrupt-cells = <1>;
++ ranges = <0x82000000 0x0 0x38000000 0x0 0x38000000 0x0 0x08000000>,
++ <0xc3000000 0x9 0x80000000 0x9 0x80000000 0x0 0x40000000>;
++ interrupts = <57>;
++ interrupt-map-mask = <0x0 0x0 0x0 0x7>;
++ interrupt-map = <0x0 0x0 0x0 0x1 &pcie_intc1 0x1>,
++ <0x0 0x0 0x0 0x2 &pcie_intc1 0x2>,
++ <0x0 0x0 0x0 0x3 &pcie_intc1 0x3>,
++ <0x0 0x0 0x0 0x4 &pcie_intc1 0x4>;
++ msi-controller;
++ device_type = "pci";
++ starfive,stg-syscon = <&stg_syscon>;
++ bus-range = <0x0 0xff>;
++ clocks = <&syscrg JH7110_SYSCLK_NOC_BUS_STG_AXI>,
++ <&stgcrg JH7110_STGCLK_PCIE1_TL>,
++ <&stgcrg JH7110_STGCLK_PCIE1_AXI_MST0>,
++ <&stgcrg JH7110_STGCLK_PCIE1_APB>;
++ clock-names = "noc", "tl", "axi_mst0", "apb";
++ resets = <&stgcrg JH7110_STGRST_PCIE1_AXI_MST0>,
++ <&stgcrg JH7110_STGRST_PCIE1_AXI_SLV0>,
++ <&stgcrg JH7110_STGRST_PCIE1_AXI_SLV>,
++ <&stgcrg JH7110_STGRST_PCIE1_BRG>,
++ <&stgcrg JH7110_STGRST_PCIE1_CORE>,
++ <&stgcrg JH7110_STGRST_PCIE1_APB>;
++ reset-names = "mst0", "slv0", "slv", "brg",
++ "core", "apb";
++ status = "disabled";
++
++ pcie_intc1: interrupt-controller {
++ #address-cells = <0>;
++ #interrupt-cells = <1>;
++ interrupt-controller;
++ };
++ };
+ };
+ };
+--
+2.43.0
+
+
+From 744fa2c80f19985d27a786af5e78cc9ce945b06c Mon Sep 17 00:00:00 2001
+From: Xingyu Wu <xingyu.wu@starfivetech.com>
+Date: Mon, 21 Aug 2023 23:29:15 +0800
+Subject: [PATCH 23/23] clk: starfive: jh7110-sys: Fix lower rate of CPUfreq by
+ setting PLL0 rate to 1.5GHz
+
+CPUfreq supports 4 cpu frequency loads on 375/500/750/1500MHz.
+But now PLL0 rate is 1GHz and the cpu frequency loads become
+333/500/500/1000MHz in fact.
+
+So PLL0 rate should be set to 1.5GHz. Change the parent of cpu_root clock
+and the divider of cpu_core before the setting.
+
+Reviewed-by: Hal Feng <hal.feng@starfivetech.com>
+Fixes: e2c510d6d630 ("riscv: dts: starfive: Add cpu scaling for JH7110 SoC")
+Signed-off-by: Xingyu Wu <xingyu.wu@starfivetech.com>
+Link: https://lore.kernel.org/r/20230821152915.208366-1-xingyu.wu@starfivetech.com
+Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
+---
+ .../clk/starfive/clk-starfive-jh7110-sys.c | 47 ++++++++++++++++++-
+ 1 file changed, 46 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/clk/starfive/clk-starfive-jh7110-sys.c b/drivers/clk/starfive/clk-starfive-jh7110-sys.c
+index 3884eff9fe93..b6b9e967dfc7 100644
+--- a/drivers/clk/starfive/clk-starfive-jh7110-sys.c
++++ b/drivers/clk/starfive/clk-starfive-jh7110-sys.c
+@@ -501,7 +501,52 @@ static int __init jh7110_syscrg_probe(struct platform_device *pdev)
+ if (ret)
+ return ret;
+
+- return jh7110_reset_controller_register(priv, "rst-sys", 0);
++ ret = jh7110_reset_controller_register(priv, "rst-sys", 0);
++ if (ret)
++ return ret;
++
++ /*
++ * Set PLL0 rate to 1.5GHz
++ * In order to not affect the cpu when the PLL0 rate is changing,
++ * we need to switch the parent of cpu_root clock to osc clock first,
++ * and then switch back after setting the PLL0 rate.
++ */
++ pllclk = clk_get(priv->dev, "pll0_out");
++ if (!IS_ERR(pllclk)) {
++ struct clk *osc = clk_get(&pdev->dev, "osc");
++ struct clk *cpu_root = priv->reg[JH7110_SYSCLK_CPU_ROOT].hw.clk;
++ struct clk *cpu_core = priv->reg[JH7110_SYSCLK_CPU_CORE].hw.clk;
++
++ if (IS_ERR(osc)) {
++ clk_put(pllclk);
++ return PTR_ERR(osc);
++ }
++
++ /*
++ * CPU need voltage regulation by CPUfreq if set 1.5GHz.
++ * So in this driver, cpu_core need to be set the divider to be 2 first
++ * and will be 750M after setting parent.
++ */
++ ret = clk_set_rate(cpu_core, clk_get_rate(cpu_core) / 2);
++ if (ret)
++ goto failed_set;
++
++ ret = clk_set_parent(cpu_root, osc);
++ if (ret)
++ goto failed_set;
++
++ ret = clk_set_rate(pllclk, 1500000000);
++ if (ret)
++ goto failed_set;
++
++ ret = clk_set_parent(cpu_root, pllclk);
++
++failed_set:
++ clk_put(pllclk);
++ clk_put(osc);
++ }
++
++ return ret;
+ }
+
+ static const struct of_device_id jh7110_syscrg_match[] = {
+--
+2.43.0
+
diff --git a/testing/linux-starfive/config-starfive.riscv64 b/testing/linux-starfive/config-starfive.riscv64
new file mode 100644
index 00000000000..29494f3e5b2
--- /dev/null
+++ b/testing/linux-starfive/config-starfive.riscv64
@@ -0,0 +1,5744 @@
+#
+# Automatically generated file; DO NOT EDIT.
+# Linux/riscv 6.8.7 Kernel Configuration
+#
+CONFIG_CC_VERSION_TEXT="gcc (Alpine 13.2.1_git20240309) 13.2.1 20240309"
+CONFIG_CC_IS_GCC=y
+CONFIG_GCC_VERSION=130201
+CONFIG_CLANG_VERSION=0
+CONFIG_AS_IS_GNU=y
+CONFIG_AS_VERSION=24200
+CONFIG_LD_IS_BFD=y
+CONFIG_LD_VERSION=24200
+CONFIG_LLD_VERSION=0
+CONFIG_CC_CAN_LINK=y
+CONFIG_CC_CAN_LINK_STATIC=y
+CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y
+CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y
+CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y
+CONFIG_CC_HAS_ASM_INLINE=y
+CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y
+CONFIG_PAHOLE_VERSION=0
+CONFIG_IRQ_WORK=y
+CONFIG_BUILDTIME_TABLE_SORT=y
+CONFIG_THREAD_INFO_IN_TASK=y
+
+#
+# General setup
+#
+CONFIG_INIT_ENV_ARG_LIMIT=32
+# CONFIG_COMPILE_TEST is not set
+# CONFIG_WERROR is not set
+CONFIG_LOCALVERSION=""
+# CONFIG_LOCALVERSION_AUTO is not set
+CONFIG_BUILD_SALT=""
+CONFIG_DEFAULT_INIT=""
+CONFIG_DEFAULT_HOSTNAME="(none)"
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_SYSVIPC_COMPAT=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_POSIX_MQUEUE_SYSCTL=y
+# CONFIG_WATCH_QUEUE is not set
+CONFIG_CROSS_MEMORY_ATTACH=y
+# CONFIG_USELIB is not set
+# CONFIG_AUDIT is not set
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+
+#
+# IRQ subsystem
+#
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_IRQ_SHOW_LEVEL=y
+CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y
+CONFIG_GENERIC_IRQ_MIGRATION=y
+CONFIG_HARDIRQS_SW_RESEND=y
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_GENERIC_IRQ_IPI=y
+CONFIG_GENERIC_IRQ_IPI_MUX=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_SPARSE_IRQ=y
+# end of IRQ subsystem
+
+CONFIG_GENERIC_IRQ_MULTI_HANDLER=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_ARCH_HAS_TICK_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y
+CONFIG_CONTEXT_TRACKING=y
+CONFIG_CONTEXT_TRACKING_IDLE=y
+
+#
+# Timers subsystem
+#
+CONFIG_TICK_ONESHOT=y
+CONFIG_NO_HZ_COMMON=y
+# CONFIG_HZ_PERIODIC is not set
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
+# CONFIG_NO_HZ is not set
+CONFIG_HIGH_RES_TIMERS=y
+# end of Timers subsystem
+
+CONFIG_BPF=y
+CONFIG_HAVE_EBPF_JIT=y
+
+#
+# BPF subsystem
+#
+CONFIG_BPF_SYSCALL=y
+# CONFIG_BPF_JIT is not set
+CONFIG_BPF_UNPRIV_DEFAULT_OFF=y
+# CONFIG_BPF_PRELOAD is not set
+# end of BPF subsystem
+
+CONFIG_PREEMPT_BUILD=y
+# CONFIG_PREEMPT_NONE is not set
+# CONFIG_PREEMPT_VOLUNTARY is not set
+CONFIG_PREEMPT=y
+CONFIG_PREEMPT_COUNT=y
+CONFIG_PREEMPTION=y
+CONFIG_PREEMPT_DYNAMIC=y
+
+#
+# CPU/Task time and stats accounting
+#
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+# CONFIG_BSD_PROCESS_ACCT is not set
+CONFIG_TASKSTATS=y
+CONFIG_TASK_DELAY_ACCT=y
+CONFIG_TASK_XACCT=y
+CONFIG_TASK_IO_ACCOUNTING=y
+# CONFIG_PSI is not set
+# end of CPU/Task time and stats accounting
+
+CONFIG_CPU_ISOLATION=y
+
+#
+# RCU Subsystem
+#
+CONFIG_TREE_RCU=y
+CONFIG_PREEMPT_RCU=y
+# CONFIG_RCU_EXPERT is not set
+CONFIG_TREE_SRCU=y
+CONFIG_TASKS_RCU_GENERIC=y
+CONFIG_TASKS_RCU=y
+CONFIG_TASKS_TRACE_RCU=y
+CONFIG_RCU_STALL_COMMON=y
+CONFIG_RCU_NEED_SEGCBLIST=y
+# end of RCU Subsystem
+
+CONFIG_IKCONFIG=m
+CONFIG_IKCONFIG_PROC=y
+# CONFIG_IKHEADERS is not set
+CONFIG_LOG_BUF_SHIFT=18
+CONFIG_LOG_CPU_MAX_BUF_SHIFT=12
+CONFIG_GENERIC_SCHED_CLOCK=y
+
+#
+# Scheduler features
+#
+# CONFIG_UCLAMP_TASK is not set
+# end of Scheduler features
+
+CONFIG_ARCH_WANT_BATCHED_UNMAP_TLB_FLUSH=y
+CONFIG_CC_HAS_INT128=y
+CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5"
+CONFIG_GCC10_NO_ARRAY_BOUNDS=y
+CONFIG_CC_NO_ARRAY_BOUNDS=y
+CONFIG_GCC_NO_STRINGOP_OVERFLOW=y
+CONFIG_CC_NO_STRINGOP_OVERFLOW=y
+CONFIG_ARCH_SUPPORTS_INT128=y
+CONFIG_CGROUPS=y
+CONFIG_PAGE_COUNTER=y
+# CONFIG_CGROUP_FAVOR_DYNMODS is not set
+CONFIG_MEMCG=y
+CONFIG_MEMCG_KMEM=y
+CONFIG_BLK_CGROUP=y
+CONFIG_CGROUP_WRITEBACK=y
+CONFIG_CGROUP_SCHED=y
+CONFIG_FAIR_GROUP_SCHED=y
+CONFIG_CFS_BANDWIDTH=y
+# CONFIG_RT_GROUP_SCHED is not set
+CONFIG_SCHED_MM_CID=y
+CONFIG_CGROUP_PIDS=y
+# CONFIG_CGROUP_RDMA is not set
+CONFIG_CGROUP_FREEZER=y
+CONFIG_CGROUP_HUGETLB=y
+CONFIG_CPUSETS=y
+# CONFIG_PROC_PID_CPUSET is not set
+CONFIG_CGROUP_DEVICE=y
+CONFIG_CGROUP_CPUACCT=y
+# CONFIG_CGROUP_PERF is not set
+CONFIG_CGROUP_BPF=y
+# CONFIG_CGROUP_MISC is not set
+CONFIG_SOCK_CGROUP_DATA=y
+CONFIG_NAMESPACES=y
+CONFIG_UTS_NS=y
+CONFIG_TIME_NS=y
+CONFIG_IPC_NS=y
+CONFIG_USER_NS=y
+CONFIG_PID_NS=y
+CONFIG_NET_NS=y
+# CONFIG_CHECKPOINT_RESTORE is not set
+CONFIG_SCHED_AUTOGROUP=y
+CONFIG_RELAY=y
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_RD_GZIP=y
+# CONFIG_RD_BZIP2 is not set
+# CONFIG_RD_LZMA is not set
+# CONFIG_RD_XZ is not set
+# CONFIG_RD_LZO is not set
+# CONFIG_RD_LZ4 is not set
+CONFIG_RD_ZSTD=y
+CONFIG_BOOT_CONFIG=y
+# CONFIG_BOOT_CONFIG_FORCE is not set
+# CONFIG_BOOT_CONFIG_EMBED is not set
+CONFIG_INITRAMFS_PRESERVE_MTIME=y
+CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y
+CONFIG_LD_ORPHAN_WARN=y
+CONFIG_LD_ORPHAN_WARN_LEVEL="warn"
+CONFIG_SYSCTL=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW=y
+# CONFIG_EXPERT is not set
+CONFIG_MULTIUSER=y
+CONFIG_SYSFS_SYSCALL=y
+CONFIG_FHANDLE=y
+CONFIG_POSIX_TIMERS=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_FUTEX_PI=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_AIO=y
+CONFIG_IO_URING=y
+CONFIG_ADVISE_SYSCALLS=y
+CONFIG_MEMBARRIER=y
+CONFIG_KCMP=y
+CONFIG_RSEQ=y
+CONFIG_CACHESTAT_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_SELFTEST is not set
+CONFIG_KALLSYMS_BASE_RELATIVE=y
+CONFIG_HAVE_PERF_EVENTS=y
+
+#
+# Kernel Performance Events And Counters
+#
+CONFIG_PERF_EVENTS=y
+# end of Kernel Performance Events And Counters
+
+CONFIG_SYSTEM_DATA_VERIFICATION=y
+# CONFIG_PROFILING is not set
+
+#
+# Kexec and crash features
+#
+# CONFIG_KEXEC is not set
+# CONFIG_KEXEC_FILE is not set
+# CONFIG_CRASH_DUMP is not set
+# end of Kexec and crash features
+# end of General setup
+
+CONFIG_64BIT=y
+CONFIG_RISCV=y
+CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE=y
+CONFIG_RISCV_USE_LINKER_RELAXATION=y
+CONFIG_ARCH_MMAP_RND_BITS_MIN=18
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8
+CONFIG_ARCH_MMAP_RND_BITS_MAX=24
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17
+CONFIG_RISCV_SBI=y
+CONFIG_MMU=y
+CONFIG_PAGE_OFFSET=0xff60000000000000
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_CSUM=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_PGTABLE_LEVELS=5
+CONFIG_LOCKDEP_SUPPORT=y
+CONFIG_RISCV_DMA_NONCOHERENT=y
+CONFIG_RISCV_NONSTANDARD_CACHE_OPS=y
+CONFIG_AS_HAS_INSN=y
+CONFIG_AS_HAS_OPTION_ARCH=y
+
+#
+# SoC selection
+#
+# CONFIG_SOC_MICROCHIP_POLARFIRE is not set
+# CONFIG_ARCH_RENESAS is not set
+# CONFIG_SOC_SIFIVE is not set
+# CONFIG_ARCH_SOPHGO is not set
+CONFIG_ARCH_STARFIVE=y
+CONFIG_SOC_STARFIVE=y
+# CONFIG_ARCH_SUNXI is not set
+# CONFIG_ARCH_THEAD is not set
+# CONFIG_SOC_VIRT is not set
+# end of SoC selection
+
+#
+# CPU errata selection
+#
+# CONFIG_ERRATA_ANDES is not set
+CONFIG_ERRATA_SIFIVE=y
+CONFIG_ERRATA_SIFIVE_CIP_453=y
+CONFIG_ERRATA_SIFIVE_CIP_1200=y
+CONFIG_ERRATA_THEAD=y
+CONFIG_ERRATA_THEAD_PBMT=y
+CONFIG_ERRATA_THEAD_CMO=y
+CONFIG_ERRATA_THEAD_PMU=y
+# end of CPU errata selection
+
+#
+# Platform type
+#
+# CONFIG_NONPORTABLE is not set
+CONFIG_ARCH_RV64I=y
+# CONFIG_CMODEL_MEDLOW is not set
+CONFIG_CMODEL_MEDANY=y
+CONFIG_MODULE_SECTIONS=y
+CONFIG_SMP=y
+# CONFIG_SCHED_MC is not set
+CONFIG_NR_CPUS=4
+CONFIG_HOTPLUG_CPU=y
+CONFIG_TUNE_GENERIC=y
+# CONFIG_NUMA is not set
+CONFIG_RISCV_ALTERNATIVE=y
+CONFIG_RISCV_ALTERNATIVE_EARLY=y
+CONFIG_RISCV_ISA_C=y
+CONFIG_RISCV_ISA_SVNAPOT=y
+CONFIG_RISCV_ISA_SVPBMT=y
+CONFIG_TOOLCHAIN_HAS_V=y
+CONFIG_RISCV_ISA_V=y
+CONFIG_RISCV_ISA_V_DEFAULT_ENABLE=y
+CONFIG_RISCV_ISA_V_UCOPY_THRESHOLD=768
+CONFIG_RISCV_ISA_V_PREEMPTIVE=y
+CONFIG_TOOLCHAIN_HAS_ZBB=y
+CONFIG_RISCV_ISA_ZBB=y
+CONFIG_RISCV_ISA_ZICBOM=y
+CONFIG_RISCV_ISA_ZICBOZ=y
+CONFIG_TOOLCHAIN_HAS_ZIHINTPAUSE=y
+CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI=y
+CONFIG_FPU=y
+CONFIG_IRQ_STACKS=y
+CONFIG_THREAD_SIZE_ORDER=2
+CONFIG_RISCV_MISALIGNED=y
+# end of Platform type
+
+#
+# Kernel features
+#
+# CONFIG_HZ_100 is not set
+# CONFIG_HZ_250 is not set
+# CONFIG_HZ_300 is not set
+CONFIG_HZ_1000=y
+CONFIG_HZ=1000
+CONFIG_SCHED_HRTICK=y
+CONFIG_RISCV_SBI_V01=y
+# CONFIG_RISCV_BOOT_SPINWAIT is not set
+CONFIG_ARCH_SUPPORTS_KEXEC=y
+CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y
+CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y
+CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y
+CONFIG_COMPAT=y
+# CONFIG_PARAVIRT is not set
+# CONFIG_RELOCATABLE is not set
+# CONFIG_RANDOMIZE_BASE is not set
+# end of Kernel features
+
+#
+# Boot options
+#
+CONFIG_CMDLINE=""
+CONFIG_EFI_STUB=y
+CONFIG_EFI=y
+CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y
+CONFIG_STACKPROTECTOR_PER_TASK=y
+CONFIG_RISCV_ISA_FALLBACK=y
+# end of Boot options
+
+CONFIG_PORTABLE=y
+CONFIG_ARCH_PROC_KCORE_TEXT=y
+
+#
+# Power management options
+#
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+# CONFIG_PM_AUTOSLEEP is not set
+# CONFIG_PM_USERSPACE_AUTOSLEEP is not set
+# CONFIG_PM_WAKELOCKS is not set
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_CLK=y
+CONFIG_PM_GENERIC_DOMAINS=y
+# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set
+CONFIG_PM_GENERIC_DOMAINS_SLEEP=y
+CONFIG_PM_GENERIC_DOMAINS_OF=y
+CONFIG_CPU_PM=y
+# CONFIG_ENERGY_MODEL is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+# end of Power management options
+
+#
+# CPU Power Management
+#
+
+#
+# CPU Idle
+#
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_MULTIPLE_DRIVERS=y
+# CONFIG_CPU_IDLE_GOV_LADDER is not set
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_CPU_IDLE_GOV_TEO is not set
+CONFIG_DT_IDLE_STATES=y
+CONFIG_DT_IDLE_GENPD=y
+
+#
+# RISC-V CPU Idle Drivers
+#
+CONFIG_RISCV_SBI_CPUIDLE=y
+# end of RISC-V CPU Idle Drivers
+# end of CPU Idle
+
+#
+# CPU Frequency scaling
+#
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+# CONFIG_CPU_FREQ_STAT is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_POWERSAVE=m
+CONFIG_CPU_FREQ_GOV_USERSPACE=m
+CONFIG_CPU_FREQ_GOV_ONDEMAND=m
+CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m
+CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y
+
+#
+# CPU frequency scaling drivers
+#
+CONFIG_CPUFREQ_DT=m
+CONFIG_CPUFREQ_DT_PLATDEV=y
+# end of CPU Frequency scaling
+# end of CPU Power Management
+
+# CONFIG_VIRTUALIZATION is not set
+CONFIG_ARCH_SUPPORTS_ACPI=y
+# CONFIG_ACPI is not set
+
+#
+# General architecture-dependent options
+#
+CONFIG_HOTPLUG_CORE_SYNC=y
+CONFIG_HOTPLUG_CORE_SYNC_DEAD=y
+CONFIG_GENERIC_ENTRY=y
+# CONFIG_KPROBES is not set
+CONFIG_JUMP_LABEL=y
+# CONFIG_STATIC_KEYS_SELFTEST is not set
+CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_IDLE_POLL_SETUP=y
+CONFIG_ARCH_HAS_FORTIFY_SOURCE=y
+CONFIG_ARCH_HAS_SET_MEMORY=y
+CONFIG_ARCH_HAS_SET_DIRECT_MAP=y
+CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y
+CONFIG_ARCH_WANTS_NO_INSTR=y
+CONFIG_HAVE_ASM_MODVERSIONS=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_RSEQ=y
+CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y
+CONFIG_MMU_LAZY_TLB_REFCOUNT=y
+CONFIG_HAVE_ARCH_SECCOMP=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_SECCOMP=y
+CONFIG_SECCOMP_FILTER=y
+# CONFIG_SECCOMP_CACHE_DEBUG is not set
+CONFIG_HAVE_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR=y
+CONFIG_STACKPROTECTOR_STRONG=y
+CONFIG_LTO_NONE=y
+CONFIG_ARCH_SUPPORTS_CFI_CLANG=y
+CONFIG_HAVE_CONTEXT_TRACKING_USER=y
+CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_MOVE_PUD=y
+CONFIG_HAVE_MOVE_PMD=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ARCH_HUGE_VMAP=y
+CONFIG_HAVE_ARCH_HUGE_VMALLOC=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_ARCH_WANT_PMD_MKWRITE=y
+CONFIG_HAVE_MOD_ARCH_SPECIFIC=y
+CONFIG_MODULES_USE_ELF_RELA=y
+CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
+CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_SOFTIRQ_ON_OWN_STACK=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_HAVE_ARCH_MMAP_RND_BITS=y
+CONFIG_ARCH_MMAP_RND_BITS=18
+CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y
+CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8
+CONFIG_PAGE_SIZE_LESS_THAN_64KB=y
+CONFIG_PAGE_SIZE_LESS_THAN_256KB=y
+CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y
+CONFIG_CLONE_BACKWARDS=y
+CONFIG_COMPAT_32BIT_TIME=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y
+CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y
+CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y
+CONFIG_STRICT_KERNEL_RWX=y
+CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y
+CONFIG_STRICT_MODULE_RWX=y
+CONFIG_ARCH_USE_MEMREMAP_PROT=y
+CONFIG_ARCH_HAS_VDSO_DATA=y
+CONFIG_HAVE_PREEMPT_DYNAMIC=y
+CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y
+CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y
+CONFIG_DYNAMIC_SIGFRAME=y
+
+#
+# GCOV-based kernel profiling
+#
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+# end of GCOV-based kernel profiling
+
+CONFIG_HAVE_GCC_PLUGINS=y
+# CONFIG_GCC_PLUGINS is not set
+CONFIG_FUNCTION_ALIGNMENT=0
+# end of General architecture-dependent options
+
+CONFIG_RT_MUTEXES=y
+CONFIG_BASE_SMALL=0
+CONFIG_MODULE_SIG_FORMAT=y
+CONFIG_MODULES=y
+# CONFIG_MODULE_FORCE_LOAD is not set
+CONFIG_MODULE_UNLOAD=y
+# CONFIG_MODULE_FORCE_UNLOAD is not set
+# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+CONFIG_MODULE_SIG=y
+# CONFIG_MODULE_SIG_FORCE is not set
+CONFIG_MODULE_SIG_ALL=y
+# CONFIG_MODULE_SIG_SHA1 is not set
+CONFIG_MODULE_SIG_SHA256=y
+# CONFIG_MODULE_SIG_SHA384 is not set
+# CONFIG_MODULE_SIG_SHA512 is not set
+# CONFIG_MODULE_SIG_SHA3_256 is not set
+# CONFIG_MODULE_SIG_SHA3_384 is not set
+# CONFIG_MODULE_SIG_SHA3_512 is not set
+CONFIG_MODULE_SIG_HASH="sha256"
+CONFIG_MODULE_COMPRESS_NONE=y
+# CONFIG_MODULE_COMPRESS_GZIP is not set
+# CONFIG_MODULE_COMPRESS_XZ is not set
+# CONFIG_MODULE_COMPRESS_ZSTD is not set
+# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set
+CONFIG_MODPROBE_PATH="/sbin/modprobe"
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_BLOCK=y
+CONFIG_BLOCK_LEGACY_AUTOLOAD=y
+CONFIG_BLK_CGROUP_RWSTAT=y
+CONFIG_BLK_CGROUP_PUNT_BIO=y
+CONFIG_BLK_DEV_BSG_COMMON=y
+CONFIG_BLK_ICQ=y
+# CONFIG_BLK_DEV_BSGLIB is not set
+CONFIG_BLK_DEV_INTEGRITY=y
+CONFIG_BLK_DEV_INTEGRITY_T10=y
+CONFIG_BLK_DEV_WRITE_MOUNTED=y
+# CONFIG_BLK_DEV_ZONED is not set
+CONFIG_BLK_DEV_THROTTLING=y
+# CONFIG_BLK_DEV_THROTTLING_LOW is not set
+CONFIG_BLK_WBT=y
+CONFIG_BLK_WBT_MQ=y
+CONFIG_BLK_CGROUP_IOLATENCY=y
+# CONFIG_BLK_CGROUP_IOCOST is not set
+CONFIG_BLK_CGROUP_IOPRIO=y
+# CONFIG_BLK_SED_OPAL is not set
+# CONFIG_BLK_INLINE_ENCRYPTION is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+CONFIG_EFI_PARTITION=y
+# end of Partition Types
+
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BLK_MQ_VIRTIO=y
+CONFIG_BLK_PM=y
+CONFIG_BLOCK_HOLDER_DEPRECATED=y
+CONFIG_BLK_MQ_STACKING=y
+
+#
+# IO Schedulers
+#
+CONFIG_MQ_IOSCHED_DEADLINE=m
+CONFIG_MQ_IOSCHED_KYBER=m
+CONFIG_IOSCHED_BFQ=m
+CONFIG_BFQ_GROUP_IOSCHED=y
+# CONFIG_BFQ_CGROUP_DEBUG is not set
+# end of IO Schedulers
+
+CONFIG_PADATA=y
+CONFIG_ASN1=y
+CONFIG_UNINLINE_SPIN_UNLOCK=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_RWSEM_SPIN_ON_OWNER=y
+CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_QUEUED_RWLOCKS=y
+CONFIG_ARCH_HAS_MMIOWB=y
+CONFIG_MMIOWB=y
+CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y
+CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y
+CONFIG_FREEZER=y
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+CONFIG_COMPAT_BINFMT_ELF=y
+CONFIG_ELFCORE=y
+# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+CONFIG_BINFMT_SCRIPT=y
+CONFIG_ARCH_HAS_BINFMT_FLAT=y
+# CONFIG_BINFMT_FLAT is not set
+CONFIG_BINFMT_MISC=m
+CONFIG_COREDUMP=y
+# end of Executable file formats
+
+#
+# Memory Management options
+#
+CONFIG_ZPOOL=y
+CONFIG_SWAP=y
+CONFIG_ZSWAP=y
+# CONFIG_ZSWAP_DEFAULT_ON is not set
+# CONFIG_ZSWAP_EXCLUSIVE_LOADS_DEFAULT_ON is not set
+# CONFIG_ZSWAP_SHRINKER_DEFAULT_ON is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_DEFLATE is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZO=y
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_842 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4 is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_LZ4HC is not set
+# CONFIG_ZSWAP_COMPRESSOR_DEFAULT_ZSTD is not set
+CONFIG_ZSWAP_COMPRESSOR_DEFAULT="lzo"
+CONFIG_ZSWAP_ZPOOL_DEFAULT_ZBUD=y
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_Z3FOLD is not set
+# CONFIG_ZSWAP_ZPOOL_DEFAULT_ZSMALLOC is not set
+CONFIG_ZSWAP_ZPOOL_DEFAULT="zbud"
+CONFIG_ZBUD=y
+CONFIG_Z3FOLD=y
+CONFIG_ZSMALLOC=m
+# CONFIG_ZSMALLOC_STAT is not set
+CONFIG_ZSMALLOC_CHAIN_SIZE=8
+
+#
+# Slab allocator options
+#
+CONFIG_SLUB=y
+CONFIG_SLAB_MERGE_DEFAULT=y
+CONFIG_SLAB_FREELIST_RANDOM=y
+# CONFIG_SLAB_FREELIST_HARDENED is not set
+# CONFIG_SLUB_STATS is not set
+CONFIG_SLUB_CPU_PARTIAL=y
+# CONFIG_RANDOM_KMALLOC_CACHES is not set
+# end of Slab allocator options
+
+CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
+CONFIG_COMPAT_BRK=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
+CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y
+CONFIG_MEMORY_ISOLATION=y
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_MEMORY_BALLOON=y
+CONFIG_BALLOON_COMPACTION=y
+CONFIG_COMPACTION=y
+CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1
+CONFIG_PAGE_REPORTING=y
+CONFIG_MIGRATION=y
+CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y
+CONFIG_ARCH_ENABLE_THP_MIGRATION=y
+CONFIG_CONTIG_ALLOC=y
+CONFIG_PCP_BATCH_SCALE_MAX=5
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_KSM=y
+CONFIG_DEFAULT_MMAP_MIN_ADDR=4096
+CONFIG_ARCH_WANTS_THP_SWAP=y
+CONFIG_TRANSPARENT_HUGEPAGE=y
+CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS=y
+# CONFIG_TRANSPARENT_HUGEPAGE_MADVISE is not set
+# CONFIG_TRANSPARENT_HUGEPAGE_NEVER is not set
+CONFIG_THP_SWAP=y
+# CONFIG_READ_ONLY_THP_FOR_FS is not set
+CONFIG_CMA=y
+# CONFIG_CMA_SYSFS is not set
+CONFIG_CMA_AREAS=7
+CONFIG_GENERIC_EARLY_IOREMAP=y
+# CONFIG_IDLE_PAGE_TRACKING is not set
+CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y
+CONFIG_ZONE_DMA32=y
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_PERCPU_STATS is not set
+
+#
+# GUP_TEST needs to have DEBUG_FS enabled
+#
+# CONFIG_DMAPOOL_TEST is not set
+CONFIG_ARCH_HAS_PTE_SPECIAL=y
+CONFIG_MEMFD_CREATE=y
+CONFIG_SECRETMEM=y
+# CONFIG_ANON_VMA_NAME is not set
+# CONFIG_USERFAULTFD is not set
+CONFIG_LRU_GEN=y
+CONFIG_LRU_GEN_ENABLED=y
+# CONFIG_LRU_GEN_STATS is not set
+CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y
+CONFIG_PER_VMA_LOCK=y
+CONFIG_LOCK_MM_AND_FIND_VMA=y
+
+#
+# Data Access Monitoring
+#
+# CONFIG_DAMON is not set
+# end of Data Access Monitoring
+# end of Memory Management options
+
+CONFIG_NET=y
+CONFIG_COMPAT_NETLINK_MESSAGES=y
+CONFIG_NET_INGRESS=y
+CONFIG_NET_EGRESS=y
+CONFIG_NET_XGRESS=y
+CONFIG_NET_REDIRECT=y
+CONFIG_SKB_EXTENSIONS=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=m
+CONFIG_PACKET_DIAG=m
+CONFIG_UNIX=y
+CONFIG_UNIX_SCM=y
+CONFIG_AF_UNIX_OOB=y
+CONFIG_UNIX_DIAG=m
+CONFIG_TLS=m
+# CONFIG_TLS_DEVICE is not set
+# CONFIG_TLS_TOE is not set
+CONFIG_XFRM=y
+CONFIG_XFRM_ALGO=m
+CONFIG_XFRM_USER=m
+CONFIG_XFRM_INTERFACE=m
+CONFIG_XFRM_SUB_POLICY=y
+CONFIG_XFRM_MIGRATE=y
+CONFIG_XFRM_STATISTICS=y
+CONFIG_XFRM_AH=m
+CONFIG_XFRM_ESP=m
+CONFIG_XFRM_IPCOMP=m
+CONFIG_NET_KEY=m
+CONFIG_NET_KEY_MIGRATE=y
+# CONFIG_XDP_SOCKETS is not set
+CONFIG_NET_HANDSHAKE=y
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=y
+# CONFIG_IP_FIB_TRIE_STATS is not set
+CONFIG_IP_MULTIPLE_TABLES=y
+CONFIG_IP_ROUTE_MULTIPATH=y
+CONFIG_IP_ROUTE_VERBOSE=y
+CONFIG_IP_ROUTE_CLASSID=y
+# CONFIG_IP_PNP is not set
+CONFIG_NET_IPIP=m
+CONFIG_NET_IPGRE_DEMUX=m
+CONFIG_NET_IP_TUNNEL=m
+CONFIG_NET_IPGRE=m
+CONFIG_NET_IPGRE_BROADCAST=y
+CONFIG_IP_MROUTE_COMMON=y
+CONFIG_IP_MROUTE=y
+CONFIG_IP_MROUTE_MULTIPLE_TABLES=y
+# CONFIG_IP_PIMSM_V1 is not set
+CONFIG_IP_PIMSM_V2=y
+CONFIG_SYN_COOKIES=y
+CONFIG_NET_IPVTI=m
+CONFIG_NET_UDP_TUNNEL=m
+CONFIG_NET_FOU=m
+CONFIG_NET_FOU_IP_TUNNELS=y
+CONFIG_INET_AH=m
+CONFIG_INET_ESP=m
+# CONFIG_INET_ESP_OFFLOAD is not set
+# CONFIG_INET_ESPINTCP is not set
+CONFIG_INET_IPCOMP=m
+CONFIG_INET_TABLE_PERTURB_ORDER=16
+CONFIG_INET_XFRM_TUNNEL=m
+CONFIG_INET_TUNNEL=m
+CONFIG_INET_DIAG=m
+CONFIG_INET_TCP_DIAG=m
+CONFIG_INET_UDP_DIAG=m
+# CONFIG_INET_RAW_DIAG is not set
+CONFIG_INET_DIAG_DESTROY=y
+CONFIG_TCP_CONG_ADVANCED=y
+CONFIG_TCP_CONG_BIC=m
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_TCP_CONG_WESTWOOD=m
+CONFIG_TCP_CONG_HTCP=m
+CONFIG_TCP_CONG_HSTCP=m
+CONFIG_TCP_CONG_HYBLA=m
+CONFIG_TCP_CONG_VEGAS=m
+CONFIG_TCP_CONG_NV=m
+CONFIG_TCP_CONG_SCALABLE=m
+CONFIG_TCP_CONG_LP=m
+CONFIG_TCP_CONG_VENO=m
+CONFIG_TCP_CONG_YEAH=m
+CONFIG_TCP_CONG_ILLINOIS=m
+CONFIG_TCP_CONG_DCTCP=m
+CONFIG_TCP_CONG_CDG=m
+CONFIG_TCP_CONG_BBR=m
+CONFIG_DEFAULT_CUBIC=y
+# CONFIG_DEFAULT_RENO is not set
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_SIGPOOL=y
+# CONFIG_TCP_AO is not set
+CONFIG_TCP_MD5SIG=y
+CONFIG_IPV6=y
+CONFIG_IPV6_ROUTER_PREF=y
+CONFIG_IPV6_ROUTE_INFO=y
+# CONFIG_IPV6_OPTIMISTIC_DAD is not set
+CONFIG_INET6_AH=m
+CONFIG_INET6_ESP=m
+# CONFIG_INET6_ESP_OFFLOAD is not set
+# CONFIG_INET6_ESPINTCP is not set
+CONFIG_INET6_IPCOMP=m
+CONFIG_IPV6_MIP6=m
+CONFIG_IPV6_ILA=m
+CONFIG_INET6_XFRM_TUNNEL=m
+CONFIG_INET6_TUNNEL=m
+CONFIG_IPV6_VTI=m
+CONFIG_IPV6_SIT=m
+CONFIG_IPV6_SIT_6RD=y
+CONFIG_IPV6_NDISC_NODETYPE=y
+CONFIG_IPV6_TUNNEL=m
+CONFIG_IPV6_GRE=m
+CONFIG_IPV6_FOU=m
+CONFIG_IPV6_FOU_TUNNEL=m
+CONFIG_IPV6_MULTIPLE_TABLES=y
+CONFIG_IPV6_SUBTREES=y
+CONFIG_IPV6_MROUTE=y
+CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y
+CONFIG_IPV6_PIMSM_V2=y
+# CONFIG_IPV6_SEG6_LWTUNNEL is not set
+# CONFIG_IPV6_SEG6_HMAC is not set
+# CONFIG_IPV6_RPL_LWTUNNEL is not set
+# CONFIG_IPV6_IOAM6_LWTUNNEL is not set
+# CONFIG_NETLABEL is not set
+CONFIG_MPTCP=y
+CONFIG_INET_MPTCP_DIAG=m
+CONFIG_MPTCP_IPV6=y
+# CONFIG_NETWORK_SECMARK is not set
+# CONFIG_NETWORK_PHY_TIMESTAMPING is not set
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_ADVANCED=y
+CONFIG_BRIDGE_NETFILTER=m
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_INGRESS=y
+CONFIG_NETFILTER_EGRESS=y
+CONFIG_NETFILTER_SKIP_EGRESS=y
+CONFIG_NETFILTER_NETLINK=m
+CONFIG_NETFILTER_FAMILY_BRIDGE=y
+CONFIG_NETFILTER_FAMILY_ARP=y
+CONFIG_NETFILTER_BPF_LINK=y
+# CONFIG_NETFILTER_NETLINK_HOOK is not set
+CONFIG_NETFILTER_NETLINK_ACCT=m
+CONFIG_NETFILTER_NETLINK_QUEUE=m
+CONFIG_NETFILTER_NETLINK_LOG=m
+CONFIG_NETFILTER_NETLINK_OSF=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_LOG_SYSLOG=m
+CONFIG_NETFILTER_CONNCOUNT=m
+CONFIG_NF_CONNTRACK_MARK=y
+CONFIG_NF_CONNTRACK_ZONES=y
+CONFIG_NF_CONNTRACK_PROCFS=y
+CONFIG_NF_CONNTRACK_EVENTS=y
+CONFIG_NF_CONNTRACK_TIMEOUT=y
+CONFIG_NF_CONNTRACK_TIMESTAMP=y
+CONFIG_NF_CONNTRACK_LABELS=y
+CONFIG_NF_CT_PROTO_DCCP=y
+CONFIG_NF_CT_PROTO_GRE=y
+CONFIG_NF_CT_PROTO_SCTP=y
+CONFIG_NF_CT_PROTO_UDPLITE=y
+CONFIG_NF_CONNTRACK_AMANDA=m
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=m
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_BROADCAST=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=m
+CONFIG_NF_CONNTRACK_SNMP=m
+CONFIG_NF_CONNTRACK_PPTP=m
+CONFIG_NF_CONNTRACK_SANE=m
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NF_CT_NETLINK=m
+CONFIG_NF_CT_NETLINK_TIMEOUT=m
+CONFIG_NF_CT_NETLINK_HELPER=m
+CONFIG_NETFILTER_NETLINK_GLUE_CT=y
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_AMANDA=m
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_SIP=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_REDIRECT=y
+CONFIG_NF_NAT_MASQUERADE=y
+CONFIG_NETFILTER_SYNPROXY=m
+CONFIG_NF_TABLES=m
+CONFIG_NF_TABLES_INET=y
+CONFIG_NF_TABLES_NETDEV=y
+# CONFIG_NFT_NUMGEN is not set
+CONFIG_NFT_CT=m
+CONFIG_NFT_FLOW_OFFLOAD=m
+CONFIG_NFT_CONNLIMIT=m
+CONFIG_NFT_LOG=m
+CONFIG_NFT_LIMIT=m
+CONFIG_NFT_MASQ=m
+CONFIG_NFT_REDIR=m
+CONFIG_NFT_NAT=m
+CONFIG_NFT_TUNNEL=m
+CONFIG_NFT_QUEUE=m
+CONFIG_NFT_QUOTA=m
+CONFIG_NFT_REJECT=m
+CONFIG_NFT_REJECT_INET=m
+CONFIG_NFT_COMPAT=m
+CONFIG_NFT_HASH=m
+CONFIG_NFT_FIB=m
+CONFIG_NFT_FIB_INET=m
+CONFIG_NFT_XFRM=m
+CONFIG_NFT_SOCKET=m
+CONFIG_NFT_OSF=m
+CONFIG_NFT_TPROXY=m
+CONFIG_NFT_SYNPROXY=m
+CONFIG_NF_DUP_NETDEV=m
+CONFIG_NFT_DUP_NETDEV=m
+CONFIG_NFT_FWD_NETDEV=m
+CONFIG_NFT_FIB_NETDEV=m
+CONFIG_NFT_REJECT_NETDEV=m
+CONFIG_NF_FLOW_TABLE_INET=m
+CONFIG_NF_FLOW_TABLE=m
+# CONFIG_NF_FLOW_TABLE_PROCFS is not set
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XTABLES_COMPAT=y
+
+#
+# Xtables combined modules
+#
+CONFIG_NETFILTER_XT_MARK=m
+CONFIG_NETFILTER_XT_CONNMARK=m
+CONFIG_NETFILTER_XT_SET=m
+
+#
+# Xtables targets
+#
+CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m
+CONFIG_NETFILTER_XT_TARGET_CONNMARK=m
+CONFIG_NETFILTER_XT_TARGET_CT=m
+CONFIG_NETFILTER_XT_TARGET_DSCP=m
+CONFIG_NETFILTER_XT_TARGET_HL=m
+CONFIG_NETFILTER_XT_TARGET_HMARK=m
+CONFIG_NETFILTER_XT_TARGET_IDLETIMER=m
+CONFIG_NETFILTER_XT_TARGET_LED=m
+CONFIG_NETFILTER_XT_TARGET_LOG=m
+CONFIG_NETFILTER_XT_TARGET_MARK=m
+CONFIG_NETFILTER_XT_NAT=m
+CONFIG_NETFILTER_XT_TARGET_NETMAP=m
+CONFIG_NETFILTER_XT_TARGET_NFLOG=m
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m
+CONFIG_NETFILTER_XT_TARGET_NOTRACK=m
+CONFIG_NETFILTER_XT_TARGET_RATEEST=m
+CONFIG_NETFILTER_XT_TARGET_REDIRECT=m
+CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
+CONFIG_NETFILTER_XT_TARGET_TEE=m
+CONFIG_NETFILTER_XT_TARGET_TPROXY=m
+CONFIG_NETFILTER_XT_TARGET_TRACE=m
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=m
+CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m
+
+#
+# Xtables matches
+#
+CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m
+CONFIG_NETFILTER_XT_MATCH_BPF=m
+CONFIG_NETFILTER_XT_MATCH_CGROUP=m
+CONFIG_NETFILTER_XT_MATCH_CLUSTER=m
+CONFIG_NETFILTER_XT_MATCH_COMMENT=m
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m
+CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
+CONFIG_NETFILTER_XT_MATCH_CPU=m
+CONFIG_NETFILTER_XT_MATCH_DCCP=m
+CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
+CONFIG_NETFILTER_XT_MATCH_DSCP=m
+CONFIG_NETFILTER_XT_MATCH_ECN=m
+CONFIG_NETFILTER_XT_MATCH_ESP=m
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m
+CONFIG_NETFILTER_XT_MATCH_HELPER=m
+CONFIG_NETFILTER_XT_MATCH_HL=m
+CONFIG_NETFILTER_XT_MATCH_IPCOMP=m
+CONFIG_NETFILTER_XT_MATCH_IPRANGE=m
+CONFIG_NETFILTER_XT_MATCH_IPVS=m
+CONFIG_NETFILTER_XT_MATCH_L2TP=m
+CONFIG_NETFILTER_XT_MATCH_LENGTH=m
+CONFIG_NETFILTER_XT_MATCH_LIMIT=m
+CONFIG_NETFILTER_XT_MATCH_MAC=m
+CONFIG_NETFILTER_XT_MATCH_MARK=m
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
+CONFIG_NETFILTER_XT_MATCH_NFACCT=m
+CONFIG_NETFILTER_XT_MATCH_OSF=m
+CONFIG_NETFILTER_XT_MATCH_OWNER=m
+CONFIG_NETFILTER_XT_MATCH_POLICY=m
+CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m
+CONFIG_NETFILTER_XT_MATCH_QUOTA=m
+CONFIG_NETFILTER_XT_MATCH_RATEEST=m
+CONFIG_NETFILTER_XT_MATCH_REALM=m
+CONFIG_NETFILTER_XT_MATCH_RECENT=m
+CONFIG_NETFILTER_XT_MATCH_SCTP=m
+CONFIG_NETFILTER_XT_MATCH_SOCKET=m
+CONFIG_NETFILTER_XT_MATCH_STATE=m
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=m
+CONFIG_NETFILTER_XT_MATCH_STRING=m
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=m
+CONFIG_NETFILTER_XT_MATCH_TIME=m
+CONFIG_NETFILTER_XT_MATCH_U32=m
+# end of Core Netfilter Configuration
+
+CONFIG_IP_SET=m
+CONFIG_IP_SET_MAX=256
+CONFIG_IP_SET_BITMAP_IP=m
+CONFIG_IP_SET_BITMAP_IPMAC=m
+CONFIG_IP_SET_BITMAP_PORT=m
+CONFIG_IP_SET_HASH_IP=m
+CONFIG_IP_SET_HASH_IPMARK=m
+CONFIG_IP_SET_HASH_IPPORT=m
+CONFIG_IP_SET_HASH_IPPORTIP=m
+CONFIG_IP_SET_HASH_IPPORTNET=m
+CONFIG_IP_SET_HASH_IPMAC=m
+CONFIG_IP_SET_HASH_MAC=m
+CONFIG_IP_SET_HASH_NETPORTNET=m
+CONFIG_IP_SET_HASH_NET=m
+CONFIG_IP_SET_HASH_NETNET=m
+CONFIG_IP_SET_HASH_NETPORT=m
+CONFIG_IP_SET_HASH_NETIFACE=m
+CONFIG_IP_SET_LIST_SET=m
+CONFIG_IP_VS=m
+CONFIG_IP_VS_IPV6=y
+# CONFIG_IP_VS_DEBUG is not set
+CONFIG_IP_VS_TAB_BITS=12
+
+#
+# IPVS transport protocol load balancing support
+#
+CONFIG_IP_VS_PROTO_TCP=y
+CONFIG_IP_VS_PROTO_UDP=y
+CONFIG_IP_VS_PROTO_AH_ESP=y
+CONFIG_IP_VS_PROTO_ESP=y
+CONFIG_IP_VS_PROTO_AH=y
+CONFIG_IP_VS_PROTO_SCTP=y
+
+#
+# IPVS scheduler
+#
+CONFIG_IP_VS_RR=m
+CONFIG_IP_VS_WRR=m
+CONFIG_IP_VS_LC=m
+CONFIG_IP_VS_WLC=m
+CONFIG_IP_VS_FO=m
+CONFIG_IP_VS_OVF=m
+CONFIG_IP_VS_LBLC=m
+CONFIG_IP_VS_LBLCR=m
+CONFIG_IP_VS_DH=m
+CONFIG_IP_VS_SH=m
+CONFIG_IP_VS_MH=m
+CONFIG_IP_VS_SED=m
+CONFIG_IP_VS_NQ=m
+CONFIG_IP_VS_TWOS=m
+
+#
+# IPVS SH scheduler
+#
+CONFIG_IP_VS_SH_TAB_BITS=8
+
+#
+# IPVS MH scheduler
+#
+CONFIG_IP_VS_MH_TAB_INDEX=12
+
+#
+# IPVS application helper
+#
+CONFIG_IP_VS_FTP=m
+CONFIG_IP_VS_NFCT=y
+CONFIG_IP_VS_PE_SIP=m
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_DEFRAG_IPV4=m
+CONFIG_NF_SOCKET_IPV4=m
+CONFIG_NF_TPROXY_IPV4=m
+CONFIG_NF_TABLES_IPV4=y
+CONFIG_NFT_REJECT_IPV4=m
+CONFIG_NFT_DUP_IPV4=m
+CONFIG_NFT_FIB_IPV4=m
+CONFIG_NF_TABLES_ARP=y
+CONFIG_NF_DUP_IPV4=m
+CONFIG_NF_LOG_ARP=m
+CONFIG_NF_LOG_IPV4=m
+CONFIG_NF_REJECT_IPV4=m
+CONFIG_NF_NAT_SNMP_BASIC=m
+CONFIG_NF_NAT_PPTP=m
+CONFIG_NF_NAT_H323=m
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_AH=m
+CONFIG_IP_NF_MATCH_ECN=m
+CONFIG_IP_NF_MATCH_RPFILTER=m
+CONFIG_IP_NF_MATCH_TTL=m
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_SYNPROXY=m
+CONFIG_IP_NF_NAT=m
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_NETMAP=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_MANGLE=m
+CONFIG_IP_NF_TARGET_ECN=m
+CONFIG_IP_NF_TARGET_TTL=m
+CONFIG_IP_NF_RAW=m
+# CONFIG_IP_NF_SECURITY is not set
+CONFIG_IP_NF_ARPTABLES=m
+CONFIG_IP_NF_ARPFILTER=m
+CONFIG_IP_NF_ARP_MANGLE=m
+# end of IP: Netfilter Configuration
+
+#
+# IPv6: Netfilter Configuration
+#
+CONFIG_NF_SOCKET_IPV6=m
+CONFIG_NF_TPROXY_IPV6=m
+CONFIG_NF_TABLES_IPV6=y
+CONFIG_NFT_REJECT_IPV6=m
+CONFIG_NFT_DUP_IPV6=m
+CONFIG_NFT_FIB_IPV6=m
+CONFIG_NF_DUP_IPV6=m
+CONFIG_NF_REJECT_IPV6=m
+CONFIG_NF_LOG_IPV6=m
+CONFIG_IP6_NF_IPTABLES=m
+CONFIG_IP6_NF_MATCH_AH=m
+CONFIG_IP6_NF_MATCH_EUI64=m
+CONFIG_IP6_NF_MATCH_FRAG=m
+CONFIG_IP6_NF_MATCH_OPTS=m
+CONFIG_IP6_NF_MATCH_HL=m
+CONFIG_IP6_NF_MATCH_IPV6HEADER=m
+CONFIG_IP6_NF_MATCH_MH=m
+CONFIG_IP6_NF_MATCH_RPFILTER=m
+CONFIG_IP6_NF_MATCH_RT=m
+CONFIG_IP6_NF_MATCH_SRH=m
+CONFIG_IP6_NF_TARGET_HL=m
+CONFIG_IP6_NF_FILTER=m
+CONFIG_IP6_NF_TARGET_REJECT=m
+CONFIG_IP6_NF_TARGET_SYNPROXY=m
+CONFIG_IP6_NF_MANGLE=m
+CONFIG_IP6_NF_RAW=m
+CONFIG_IP6_NF_SECURITY=m
+CONFIG_IP6_NF_NAT=m
+CONFIG_IP6_NF_TARGET_MASQUERADE=m
+CONFIG_IP6_NF_TARGET_NPT=m
+# end of IPv6: Netfilter Configuration
+
+CONFIG_NF_DEFRAG_IPV6=m
+CONFIG_NF_TABLES_BRIDGE=m
+# CONFIG_NFT_BRIDGE_META is not set
+CONFIG_NFT_BRIDGE_REJECT=m
+CONFIG_NF_CONNTRACK_BRIDGE=m
+CONFIG_BRIDGE_NF_EBTABLES=m
+CONFIG_BRIDGE_EBT_BROUTE=m
+CONFIG_BRIDGE_EBT_T_FILTER=m
+CONFIG_BRIDGE_EBT_T_NAT=m
+CONFIG_BRIDGE_EBT_802_3=m
+CONFIG_BRIDGE_EBT_AMONG=m
+CONFIG_BRIDGE_EBT_ARP=m
+CONFIG_BRIDGE_EBT_IP=m
+CONFIG_BRIDGE_EBT_IP6=m
+CONFIG_BRIDGE_EBT_LIMIT=m
+CONFIG_BRIDGE_EBT_MARK=m
+CONFIG_BRIDGE_EBT_PKTTYPE=m
+CONFIG_BRIDGE_EBT_STP=m
+CONFIG_BRIDGE_EBT_VLAN=m
+CONFIG_BRIDGE_EBT_ARPREPLY=m
+CONFIG_BRIDGE_EBT_DNAT=m
+CONFIG_BRIDGE_EBT_MARK_T=m
+CONFIG_BRIDGE_EBT_REDIRECT=m
+CONFIG_BRIDGE_EBT_SNAT=m
+CONFIG_BRIDGE_EBT_LOG=m
+CONFIG_BRIDGE_EBT_NFLOG=m
+CONFIG_IP_DCCP=m
+CONFIG_INET_DCCP_DIAG=m
+
+#
+# DCCP CCIDs Configuration
+#
+# CONFIG_IP_DCCP_CCID2_DEBUG is not set
+CONFIG_IP_DCCP_CCID3=y
+# CONFIG_IP_DCCP_CCID3_DEBUG is not set
+CONFIG_IP_DCCP_TFRC_LIB=y
+# end of DCCP CCIDs Configuration
+
+CONFIG_IP_SCTP=m
+# CONFIG_SCTP_DBG_OBJCNT is not set
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5 is not set
+CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1=y
+# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set
+CONFIG_SCTP_COOKIE_HMAC_MD5=y
+CONFIG_SCTP_COOKIE_HMAC_SHA1=y
+CONFIG_INET_SCTP_DIAG=m
+CONFIG_RDS=m
+# CONFIG_RDS_TCP is not set
+# CONFIG_RDS_DEBUG is not set
+CONFIG_TIPC=m
+CONFIG_TIPC_MEDIA_UDP=y
+CONFIG_TIPC_CRYPTO=y
+CONFIG_TIPC_DIAG=m
+CONFIG_ATM=m
+CONFIG_ATM_CLIP=m
+# CONFIG_ATM_CLIP_NO_ICMP is not set
+CONFIG_ATM_LANE=m
+CONFIG_ATM_MPOA=m
+CONFIG_ATM_BR2684=m
+# CONFIG_ATM_BR2684_IPFILTER is not set
+CONFIG_L2TP=m
+CONFIG_L2TP_V3=y
+CONFIG_L2TP_IP=m
+CONFIG_L2TP_ETH=m
+CONFIG_STP=m
+CONFIG_GARP=m
+CONFIG_MRP=m
+CONFIG_BRIDGE=m
+CONFIG_BRIDGE_IGMP_SNOOPING=y
+CONFIG_BRIDGE_VLAN_FILTERING=y
+# CONFIG_BRIDGE_MRP is not set
+# CONFIG_BRIDGE_CFM is not set
+# CONFIG_NET_DSA is not set
+CONFIG_VLAN_8021Q=m
+CONFIG_VLAN_8021Q_GVRP=y
+CONFIG_VLAN_8021Q_MVRP=y
+CONFIG_LLC=m
+CONFIG_LLC2=m
+# CONFIG_ATALK is not set
+CONFIG_X25=m
+CONFIG_LAPB=m
+CONFIG_PHONET=m
+CONFIG_6LOWPAN=m
+CONFIG_6LOWPAN_NHC=m
+CONFIG_6LOWPAN_NHC_DEST=m
+CONFIG_6LOWPAN_NHC_FRAGMENT=m
+CONFIG_6LOWPAN_NHC_HOP=m
+CONFIG_6LOWPAN_NHC_IPV6=m
+CONFIG_6LOWPAN_NHC_MOBILITY=m
+CONFIG_6LOWPAN_NHC_ROUTING=m
+CONFIG_6LOWPAN_NHC_UDP=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_HOP=m
+CONFIG_6LOWPAN_GHC_UDP=m
+CONFIG_6LOWPAN_GHC_ICMPV6=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_DEST=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG=m
+CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE=m
+CONFIG_IEEE802154=m
+# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set
+CONFIG_IEEE802154_SOCKET=m
+CONFIG_IEEE802154_6LOWPAN=m
+CONFIG_MAC802154=m
+CONFIG_NET_SCHED=y
+
+#
+# Queueing/Scheduling
+#
+CONFIG_NET_SCH_HTB=m
+CONFIG_NET_SCH_HFSC=m
+CONFIG_NET_SCH_PRIO=m
+CONFIG_NET_SCH_MULTIQ=m
+CONFIG_NET_SCH_RED=m
+CONFIG_NET_SCH_SFB=m
+CONFIG_NET_SCH_SFQ=m
+CONFIG_NET_SCH_TEQL=m
+CONFIG_NET_SCH_TBF=m
+CONFIG_NET_SCH_CBS=m
+CONFIG_NET_SCH_ETF=m
+CONFIG_NET_SCH_MQPRIO_LIB=m
+CONFIG_NET_SCH_TAPRIO=m
+CONFIG_NET_SCH_GRED=m
+CONFIG_NET_SCH_NETEM=m
+CONFIG_NET_SCH_DRR=m
+CONFIG_NET_SCH_MQPRIO=m
+CONFIG_NET_SCH_SKBPRIO=m
+CONFIG_NET_SCH_CHOKE=m
+CONFIG_NET_SCH_QFQ=m
+CONFIG_NET_SCH_CODEL=m
+CONFIG_NET_SCH_FQ_CODEL=m
+CONFIG_NET_SCH_CAKE=m
+CONFIG_NET_SCH_FQ=m
+CONFIG_NET_SCH_HHF=m
+CONFIG_NET_SCH_PIE=m
+CONFIG_NET_SCH_FQ_PIE=m
+CONFIG_NET_SCH_INGRESS=m
+CONFIG_NET_SCH_PLUG=m
+CONFIG_NET_SCH_ETS=m
+# CONFIG_NET_SCH_DEFAULT is not set
+
+#
+# Classification
+#
+CONFIG_NET_CLS=y
+CONFIG_NET_CLS_BASIC=m
+CONFIG_NET_CLS_ROUTE4=m
+CONFIG_NET_CLS_FW=m
+CONFIG_NET_CLS_U32=m
+CONFIG_CLS_U32_PERF=y
+CONFIG_CLS_U32_MARK=y
+CONFIG_NET_CLS_FLOW=m
+CONFIG_NET_CLS_CGROUP=m
+CONFIG_NET_CLS_BPF=m
+CONFIG_NET_CLS_FLOWER=m
+CONFIG_NET_CLS_MATCHALL=m
+CONFIG_NET_EMATCH=y
+CONFIG_NET_EMATCH_STACK=32
+CONFIG_NET_EMATCH_CMP=m
+CONFIG_NET_EMATCH_NBYTE=m
+CONFIG_NET_EMATCH_U32=m
+CONFIG_NET_EMATCH_META=m
+CONFIG_NET_EMATCH_TEXT=m
+CONFIG_NET_EMATCH_IPSET=m
+CONFIG_NET_EMATCH_IPT=m
+CONFIG_NET_CLS_ACT=y
+CONFIG_NET_ACT_POLICE=m
+CONFIG_NET_ACT_GACT=m
+CONFIG_GACT_PROB=y
+CONFIG_NET_ACT_MIRRED=m
+# CONFIG_NET_ACT_SAMPLE is not set
+CONFIG_NET_ACT_IPT=m
+CONFIG_NET_ACT_NAT=m
+CONFIG_NET_ACT_PEDIT=m
+CONFIG_NET_ACT_SIMP=m
+CONFIG_NET_ACT_SKBEDIT=m
+CONFIG_NET_ACT_CSUM=m
+# CONFIG_NET_ACT_MPLS is not set
+CONFIG_NET_ACT_VLAN=m
+CONFIG_NET_ACT_BPF=m
+CONFIG_NET_ACT_CONNMARK=m
+# CONFIG_NET_ACT_CTINFO is not set
+CONFIG_NET_ACT_SKBMOD=m
+CONFIG_NET_ACT_IFE=m
+CONFIG_NET_ACT_TUNNEL_KEY=m
+# CONFIG_NET_ACT_CT is not set
+# CONFIG_NET_ACT_GATE is not set
+CONFIG_NET_IFE_SKBMARK=m
+CONFIG_NET_IFE_SKBPRIO=m
+CONFIG_NET_IFE_SKBTCINDEX=m
+# CONFIG_NET_TC_SKB_EXT is not set
+CONFIG_NET_SCH_FIFO=y
+# CONFIG_DCB is not set
+CONFIG_DNS_RESOLVER=m
+# CONFIG_BATMAN_ADV is not set
+# CONFIG_OPENVSWITCH is not set
+# CONFIG_VSOCKETS is not set
+CONFIG_NETLINK_DIAG=y
+CONFIG_MPLS=y
+CONFIG_NET_MPLS_GSO=m
+CONFIG_MPLS_ROUTING=m
+CONFIG_MPLS_IPTUNNEL=m
+CONFIG_NET_NSH=m
+# CONFIG_HSR is not set
+CONFIG_NET_SWITCHDEV=y
+CONFIG_NET_L3_MASTER_DEV=y
+CONFIG_QRTR=m
+# CONFIG_QRTR_TUN is not set
+CONFIG_NET_NCSI=y
+# CONFIG_NCSI_OEM_CMD_GET_MAC is not set
+# CONFIG_NCSI_OEM_CMD_KEEP_PHY is not set
+CONFIG_PCPU_DEV_REFCNT=y
+CONFIG_MAX_SKB_FRAGS=17
+CONFIG_RPS=y
+CONFIG_RFS_ACCEL=y
+CONFIG_SOCK_RX_QUEUE_MAPPING=y
+CONFIG_XPS=y
+CONFIG_CGROUP_NET_PRIO=y
+CONFIG_CGROUP_NET_CLASSID=y
+CONFIG_NET_RX_BUSY_POLL=y
+CONFIG_BQL=y
+# CONFIG_BPF_STREAM_PARSER is not set
+CONFIG_NET_FLOW_LIMIT=y
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=m
+# end of Network testing
+# end of Networking options
+
+# CONFIG_HAMRADIO is not set
+# CONFIG_CAN is not set
+# CONFIG_BT is not set
+# CONFIG_AF_RXRPC is not set
+# CONFIG_AF_KCM is not set
+CONFIG_STREAM_PARSER=y
+# CONFIG_MCTP is not set
+CONFIG_FIB_RULES=y
+CONFIG_WIRELESS=y
+CONFIG_WEXT_CORE=y
+CONFIG_WEXT_PROC=y
+CONFIG_CFG80211=m
+# CONFIG_NL80211_TESTMODE is not set
+# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set
+CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y
+CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y
+CONFIG_CFG80211_DEFAULT_PS=y
+CONFIG_CFG80211_CRDA_SUPPORT=y
+CONFIG_CFG80211_WEXT=y
+CONFIG_MAC80211=m
+CONFIG_MAC80211_HAS_RC=y
+CONFIG_MAC80211_RC_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y
+CONFIG_MAC80211_RC_DEFAULT="minstrel_ht"
+# CONFIG_MAC80211_MESH is not set
+CONFIG_MAC80211_LEDS=y
+# CONFIG_MAC80211_MESSAGE_TRACING is not set
+# CONFIG_MAC80211_DEBUG_MENU is not set
+CONFIG_MAC80211_STA_HASH_MAX_SIZE=0
+CONFIG_RFKILL=m
+CONFIG_RFKILL_LEDS=y
+CONFIG_RFKILL_INPUT=y
+CONFIG_RFKILL_GPIO=m
+CONFIG_NET_9P=m
+CONFIG_NET_9P_FD=m
+CONFIG_NET_9P_VIRTIO=m
+# CONFIG_NET_9P_DEBUG is not set
+# CONFIG_CAIF is not set
+CONFIG_CEPH_LIB=m
+# CONFIG_CEPH_LIB_PRETTYDEBUG is not set
+# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set
+# CONFIG_NFC is not set
+# CONFIG_PSAMPLE is not set
+CONFIG_NET_IFE=m
+CONFIG_LWTUNNEL=y
+CONFIG_LWTUNNEL_BPF=y
+CONFIG_DST_CACHE=y
+CONFIG_GRO_CELLS=y
+CONFIG_NET_SELFTESTS=y
+CONFIG_NET_SOCK_MSG=y
+CONFIG_PAGE_POOL=y
+CONFIG_PAGE_POOL_STATS=y
+CONFIG_FAILOVER=m
+CONFIG_ETHTOOL_NETLINK=y
+
+#
+# Device Drivers
+#
+CONFIG_ARM_AMBA=y
+CONFIG_HAVE_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_DOMAINS_GENERIC=y
+# CONFIG_PCIEPORTBUS is not set
+CONFIG_PCIEASPM=y
+CONFIG_PCIEASPM_DEFAULT=y
+# CONFIG_PCIEASPM_POWERSAVE is not set
+# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set
+# CONFIG_PCIEASPM_PERFORMANCE is not set
+# CONFIG_PCIE_PTM is not set
+CONFIG_PCI_MSI=y
+CONFIG_PCI_QUIRKS=y
+# CONFIG_PCI_STUB is not set
+# CONFIG_PCI_IOV is not set
+# CONFIG_PCI_PRI is not set
+# CONFIG_PCI_PASID is not set
+# CONFIG_PCI_DYNAMIC_OF_NODES is not set
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_HOTPLUG_PCI is not set
+
+#
+# PCI controller drivers
+#
+# CONFIG_PCI_FTPCI100 is not set
+# CONFIG_PCI_HOST_GENERIC is not set
+# CONFIG_PCIE_XILINX is not set
+
+#
+# Cadence-based PCIe controllers
+#
+# CONFIG_PCIE_CADENCE_PLAT_HOST is not set
+# end of Cadence-based PCIe controllers
+
+#
+# DesignWare-based PCIe controllers
+#
+# CONFIG_PCI_MESON is not set
+# CONFIG_PCIE_DW_PLAT_HOST is not set
+# end of DesignWare-based PCIe controllers
+
+#
+# Mobiveil-based PCIe controllers
+#
+# end of Mobiveil-based PCIe controllers
+
+#
+# PLDA-based PCIe controllers
+#
+CONFIG_PCIE_PLDA_HOST=y
+# CONFIG_PCIE_MICROCHIP_HOST is not set
+CONFIG_PCIE_STARFIVE_HOST=y
+# end of PLDA-based PCIe controllers
+# end of PCI controller drivers
+
+#
+# PCI Endpoint
+#
+# CONFIG_PCI_ENDPOINT is not set
+# end of PCI Endpoint
+
+#
+# PCI switch controller drivers
+#
+# CONFIG_PCI_SW_SWITCHTEC is not set
+# end of PCI switch controller drivers
+
+# CONFIG_CXL_BUS is not set
+# CONFIG_PCCARD is not set
+# CONFIG_RAPIDIO is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_AUXILIARY_BUS=y
+CONFIG_UEVENT_HELPER=y
+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
+CONFIG_DEVTMPFS=y
+CONFIG_DEVTMPFS_MOUNT=y
+# CONFIG_DEVTMPFS_SAFE is not set
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+
+#
+# Firmware loader
+#
+CONFIG_FW_LOADER=y
+CONFIG_EXTRA_FIRMWARE=""
+# CONFIG_FW_LOADER_USER_HELPER is not set
+# CONFIG_FW_LOADER_COMPRESS is not set
+CONFIG_FW_CACHE=y
+# CONFIG_FW_UPLOAD is not set
+# end of Firmware loader
+
+CONFIG_ALLOW_DEV_COREDUMP=y
+# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set
+CONFIG_GENERIC_CPU_DEVICES=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_REGMAP_SPI=m
+CONFIG_REGMAP_MMIO=y
+CONFIG_REGMAP_IRQ=y
+CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DMA_FENCE_TRACE is not set
+CONFIG_GENERIC_ARCH_TOPOLOGY=y
+# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set
+# end of Generic Driver Options
+
+#
+# Bus devices
+#
+# CONFIG_MOXTET is not set
+# CONFIG_MHI_BUS is not set
+# CONFIG_MHI_BUS_EP is not set
+# end of Bus devices
+
+#
+# Cache Drivers
+#
+# CONFIG_AX45MP_L2_CACHE is not set
+CONFIG_SIFIVE_CCACHE=y
+# end of Cache Drivers
+
+# CONFIG_CONNECTOR is not set
+
+#
+# Firmware Drivers
+#
+
+#
+# ARM System Control and Management Interface Protocol
+#
+# end of ARM System Control and Management Interface Protocol
+
+# CONFIG_FW_CFG_SYSFS is not set
+# CONFIG_SYSFB_SIMPLEFB is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+
+#
+# EFI (Extensible Firmware Interface) Support
+#
+CONFIG_EFI_ESRT=y
+CONFIG_EFI_PARAMS_FROM_FDT=y
+CONFIG_EFI_RUNTIME_WRAPPERS=y
+CONFIG_EFI_GENERIC_STUB=y
+# CONFIG_EFI_ZBOOT is not set
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
+# CONFIG_EFI_TEST is not set
+# CONFIG_RESET_ATTACK_MITIGATION is not set
+# CONFIG_EFI_DISABLE_PCI_DMA is not set
+CONFIG_EFI_EARLYCON=y
+# CONFIG_EFI_DISABLE_RUNTIME is not set
+# CONFIG_EFI_COCO_SECRET is not set
+# end of EFI (Extensible Firmware Interface) Support
+
+#
+# Qualcomm firmware drivers
+#
+# end of Qualcomm firmware drivers
+
+#
+# Tegra firmware driver
+#
+# end of Tegra firmware driver
+# end of Firmware Drivers
+
+# CONFIG_GNSS is not set
+CONFIG_MTD=m
+# CONFIG_MTD_TESTS is not set
+
+#
+# Partition parsers
+#
+# CONFIG_MTD_CMDLINE_PARTS is not set
+CONFIG_MTD_OF_PARTS=m
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# end of Partition parsers
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_BLKDEVS=m
+CONFIG_MTD_BLOCK=m
+# CONFIG_MTD_BLOCK_RO is not set
+
+#
+# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK.
+#
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+# CONFIG_INFTL is not set
+# CONFIG_RFD_FTL is not set
+# CONFIG_SSFDC is not set
+# CONFIG_SM_FTL is not set
+# CONFIG_MTD_OOPS is not set
+# CONFIG_MTD_SWAP is not set
+CONFIG_MTD_PARTITIONED_MASTER=y
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# end of RAM/ROM/Flash chip drivers
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_INTEL_VR_NOR is not set
+# CONFIG_MTD_PLATRAM is not set
+# end of Mapping drivers for chip access
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_DATAFLASH is not set
+# CONFIG_MTD_MCHP23K256 is not set
+# CONFIG_MTD_MCHP48L640 is not set
+# CONFIG_MTD_SST25L is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_BLOCK2MTD is not set
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOCG3 is not set
+# end of Self-contained MTD device drivers
+
+#
+# NAND
+#
+# CONFIG_MTD_ONENAND is not set
+# CONFIG_MTD_RAW_NAND is not set
+# CONFIG_MTD_SPI_NAND is not set
+
+#
+# ECC engine support
+#
+# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set
+# CONFIG_MTD_NAND_ECC_SW_BCH is not set
+# CONFIG_MTD_NAND_ECC_MXIC is not set
+# end of ECC engine support
+# end of NAND
+
+#
+# LPDDR & LPDDR2 PCM memory drivers
+#
+# CONFIG_MTD_LPDDR is not set
+# end of LPDDR & LPDDR2 PCM memory drivers
+
+CONFIG_MTD_SPI_NOR=m
+# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set
+# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set
+CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y
+# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set
+CONFIG_MTD_UBI=m
+CONFIG_MTD_UBI_WL_THRESHOLD=4096
+CONFIG_MTD_UBI_BEB_LIMIT=20
+# CONFIG_MTD_UBI_FASTMAP is not set
+# CONFIG_MTD_UBI_GLUEBI is not set
+# CONFIG_MTD_UBI_BLOCK is not set
+# CONFIG_MTD_HYPERBUS is not set
+CONFIG_DTC=y
+CONFIG_OF=y
+# CONFIG_OF_UNITTEST is not set
+CONFIG_OF_FLATTREE=y
+CONFIG_OF_EARLY_FLATTREE=y
+CONFIG_OF_KOBJ=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_RESERVED_MEM=y
+# CONFIG_OF_OVERLAY is not set
+# CONFIG_PARPORT is not set
+CONFIG_BLK_DEV=y
+# CONFIG_BLK_DEV_NULL_BLK is not set
+CONFIG_CDROM=m
+# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set
+CONFIG_ZRAM=m
+CONFIG_ZRAM_DEF_COMP_LZORLE=y
+# CONFIG_ZRAM_DEF_COMP_LZO is not set
+CONFIG_ZRAM_DEF_COMP="lzo-rle"
+# CONFIG_ZRAM_WRITEBACK is not set
+# CONFIG_ZRAM_TRACK_ENTRY_ACTIME is not set
+# CONFIG_ZRAM_MULTI_COMP is not set
+CONFIG_BLK_DEV_LOOP=m
+CONFIG_BLK_DEV_LOOP_MIN_COUNT=0
+CONFIG_BLK_DEV_DRBD=m
+# CONFIG_DRBD_FAULT_INJECTION is not set
+CONFIG_BLK_DEV_NBD=m
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+# CONFIG_VIRTIO_BLK is not set
+# CONFIG_BLK_DEV_RBD is not set
+# CONFIG_BLK_DEV_UBLK is not set
+
+#
+# NVME Support
+#
+CONFIG_NVME_CORE=y
+CONFIG_BLK_DEV_NVME=y
+# CONFIG_NVME_MULTIPATH is not set
+# CONFIG_NVME_VERBOSE_ERRORS is not set
+# CONFIG_NVME_HWMON is not set
+# CONFIG_NVME_FC is not set
+# CONFIG_NVME_TCP is not set
+# CONFIG_NVME_HOST_AUTH is not set
+# CONFIG_NVME_TARGET is not set
+# end of NVME Support
+
+#
+# Misc devices
+#
+# CONFIG_AD525X_DPOT is not set
+# CONFIG_DUMMY_IRQ is not set
+# CONFIG_PHANTOM is not set
+# CONFIG_TIFM_CORE is not set
+# CONFIG_ICS932S401 is not set
+# CONFIG_ENCLOSURE_SERVICES is not set
+# CONFIG_HP_ILO is not set
+# CONFIG_APDS9802ALS is not set
+# CONFIG_ISL29003 is not set
+# CONFIG_ISL29020 is not set
+# CONFIG_SENSORS_TSL2550 is not set
+# CONFIG_SENSORS_BH1770 is not set
+# CONFIG_SENSORS_APDS990X is not set
+# CONFIG_HMC6352 is not set
+# CONFIG_DS1682 is not set
+# CONFIG_LATTICE_ECP3_CONFIG is not set
+# CONFIG_SRAM is not set
+# CONFIG_DW_XDATA_PCIE is not set
+# CONFIG_PCI_ENDPOINT_TEST is not set
+# CONFIG_XILINX_SDFEC is not set
+# CONFIG_HISI_HIKEY_USB is not set
+# CONFIG_OPEN_DICE is not set
+# CONFIG_VCPU_STALL_DETECTOR is not set
+# CONFIG_NSM is not set
+# CONFIG_C2PORT is not set
+
+#
+# EEPROM support
+#
+CONFIG_EEPROM_AT24=y
+# CONFIG_EEPROM_AT25 is not set
+# CONFIG_EEPROM_MAX6875 is not set
+# CONFIG_EEPROM_93CX6 is not set
+# CONFIG_EEPROM_93XX46 is not set
+# CONFIG_EEPROM_IDT_89HPESX is not set
+# CONFIG_EEPROM_EE1004 is not set
+# end of EEPROM support
+
+# CONFIG_CB710_CORE is not set
+
+#
+# Texas Instruments shared transport line discipline
+#
+# CONFIG_TI_ST is not set
+# end of Texas Instruments shared transport line discipline
+
+# CONFIG_SENSORS_LIS3_SPI is not set
+# CONFIG_SENSORS_LIS3_I2C is not set
+# CONFIG_ALTERA_STAPL is not set
+# CONFIG_GENWQE is not set
+# CONFIG_ECHO is not set
+# CONFIG_BCM_VK is not set
+# CONFIG_MISC_ALCOR_PCI is not set
+# CONFIG_MISC_RTSX_PCI is not set
+# CONFIG_MISC_RTSX_USB is not set
+# CONFIG_PVPANIC is not set
+# CONFIG_GP_PCI1XXXX is not set
+# end of Misc devices
+
+#
+# SCSI device support
+#
+CONFIG_SCSI_MOD=y
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI_COMMON=y
+CONFIG_SCSI=y
+CONFIG_SCSI_DMA=y
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+CONFIG_BLK_DEV_SR=m
+# CONFIG_CHR_DEV_SG is not set
+CONFIG_BLK_DEV_BSG=y
+# CONFIG_CHR_DEV_SCH is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# CONFIG_SCSI_SPI_ATTRS is not set
+# CONFIG_SCSI_FC_ATTRS is not set
+# CONFIG_SCSI_ISCSI_ATTRS is not set
+# CONFIG_SCSI_SAS_ATTRS is not set
+# CONFIG_SCSI_SAS_LIBSAS is not set
+# CONFIG_SCSI_SRP_ATTRS is not set
+# end of SCSI Transports
+
+# CONFIG_SCSI_LOWLEVEL is not set
+# CONFIG_SCSI_DH is not set
+# end of SCSI device support
+
+# CONFIG_ATA is not set
+CONFIG_MD=y
+CONFIG_BLK_DEV_MD=m
+# CONFIG_MD_BITMAP_FILE is not set
+CONFIG_MD_RAID0=m
+CONFIG_MD_RAID1=m
+CONFIG_MD_RAID10=m
+CONFIG_MD_RAID456=m
+CONFIG_BCACHE=m
+# CONFIG_BCACHE_DEBUG is not set
+# CONFIG_BCACHE_ASYNC_REGISTRATION is not set
+CONFIG_BLK_DEV_DM_BUILTIN=y
+CONFIG_BLK_DEV_DM=m
+# CONFIG_DM_DEBUG is not set
+CONFIG_DM_BUFIO=m
+# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set
+CONFIG_DM_PERSISTENT_DATA=m
+# CONFIG_DM_UNSTRIPED is not set
+CONFIG_DM_CRYPT=m
+CONFIG_DM_SNAPSHOT=m
+# CONFIG_DM_THIN_PROVISIONING is not set
+# CONFIG_DM_CACHE is not set
+# CONFIG_DM_WRITECACHE is not set
+# CONFIG_DM_EBS is not set
+# CONFIG_DM_ERA is not set
+CONFIG_DM_CLONE=m
+CONFIG_DM_MIRROR=m
+# CONFIG_DM_LOG_USERSPACE is not set
+CONFIG_DM_RAID=m
+# CONFIG_DM_ZERO is not set
+CONFIG_DM_MULTIPATH=m
+# CONFIG_DM_MULTIPATH_QL is not set
+# CONFIG_DM_MULTIPATH_ST is not set
+# CONFIG_DM_MULTIPATH_HST is not set
+# CONFIG_DM_MULTIPATH_IOA is not set
+# CONFIG_DM_DELAY is not set
+# CONFIG_DM_DUST is not set
+CONFIG_DM_UEVENT=y
+# CONFIG_DM_FLAKEY is not set
+# CONFIG_DM_VERITY is not set
+# CONFIG_DM_SWITCH is not set
+# CONFIG_DM_LOG_WRITES is not set
+CONFIG_DM_INTEGRITY=m
+# CONFIG_TARGET_CORE is not set
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+# CONFIG_FIREWIRE is not set
+# CONFIG_FIREWIRE_NOSY is not set
+# end of IEEE 1394 (FireWire) support
+
+CONFIG_NETDEVICES=y
+CONFIG_MII=m
+CONFIG_NET_CORE=y
+CONFIG_BONDING=m
+CONFIG_DUMMY=m
+CONFIG_WIREGUARD=m
+# CONFIG_WIREGUARD_DEBUG is not set
+CONFIG_EQUALIZER=m
+# CONFIG_NET_FC is not set
+CONFIG_IFB=m
+# CONFIG_NET_TEAM is not set
+# CONFIG_MACVLAN is not set
+# CONFIG_IPVLAN is not set
+# CONFIG_VXLAN is not set
+CONFIG_GENEVE=m
+CONFIG_BAREUDP=m
+# CONFIG_GTP is not set
+# CONFIG_AMT is not set
+CONFIG_MACSEC=m
+CONFIG_NETCONSOLE=m
+CONFIG_NETCONSOLE_DYNAMIC=y
+# CONFIG_NETCONSOLE_EXTENDED_LOG is not set
+CONFIG_NETPOLL=y
+CONFIG_NET_POLL_CONTROLLER=y
+CONFIG_TUN=m
+# CONFIG_TUN_VNET_CROSS_LE is not set
+CONFIG_VETH=m
+CONFIG_VIRTIO_NET=m
+CONFIG_NLMON=m
+# CONFIG_NETKIT is not set
+CONFIG_NET_VRF=m
+# CONFIG_ARCNET is not set
+# CONFIG_ATM_DRIVERS is not set
+CONFIG_ETHERNET=y
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_ADAPTEC is not set
+# CONFIG_NET_VENDOR_AGERE is not set
+# CONFIG_NET_VENDOR_ALACRITECH is not set
+# CONFIG_NET_VENDOR_ALTEON is not set
+# CONFIG_ALTERA_TSE is not set
+# CONFIG_NET_VENDOR_AMAZON is not set
+# CONFIG_NET_VENDOR_AMD is not set
+# CONFIG_NET_VENDOR_AQUANTIA is not set
+# CONFIG_NET_VENDOR_ARC is not set
+# CONFIG_NET_VENDOR_ASIX is not set
+# CONFIG_NET_VENDOR_ATHEROS is not set
+# CONFIG_NET_VENDOR_BROADCOM is not set
+# CONFIG_NET_VENDOR_CADENCE is not set
+# CONFIG_NET_VENDOR_CAVIUM is not set
+# CONFIG_NET_VENDOR_CHELSIO is not set
+# CONFIG_NET_VENDOR_CISCO is not set
+# CONFIG_NET_VENDOR_CORTINA is not set
+# CONFIG_NET_VENDOR_DAVICOM is not set
+# CONFIG_DNET is not set
+# CONFIG_NET_VENDOR_DEC is not set
+# CONFIG_NET_VENDOR_DLINK is not set
+# CONFIG_NET_VENDOR_EMULEX is not set
+# CONFIG_NET_VENDOR_ENGLEDER is not set
+# CONFIG_NET_VENDOR_EZCHIP is not set
+# CONFIG_NET_VENDOR_FUNGIBLE is not set
+# CONFIG_NET_VENDOR_GOOGLE is not set
+# CONFIG_NET_VENDOR_HUAWEI is not set
+# CONFIG_NET_VENDOR_INTEL is not set
+# CONFIG_JME is not set
+# CONFIG_NET_VENDOR_ADI is not set
+# CONFIG_NET_VENDOR_LITEX is not set
+# CONFIG_NET_VENDOR_MARVELL is not set
+# CONFIG_NET_VENDOR_MELLANOX is not set
+# CONFIG_NET_VENDOR_MICREL is not set
+# CONFIG_NET_VENDOR_MICROCHIP is not set
+# CONFIG_NET_VENDOR_MICROSEMI is not set
+# CONFIG_NET_VENDOR_MICROSOFT is not set
+# CONFIG_NET_VENDOR_MYRI is not set
+# CONFIG_FEALNX is not set
+# CONFIG_NET_VENDOR_NI is not set
+# CONFIG_NET_VENDOR_NATSEMI is not set
+# CONFIG_NET_VENDOR_NETERION is not set
+# CONFIG_NET_VENDOR_NETRONOME is not set
+# CONFIG_NET_VENDOR_NVIDIA is not set
+# CONFIG_NET_VENDOR_OKI is not set
+# CONFIG_ETHOC is not set
+# CONFIG_NET_VENDOR_PACKET_ENGINES is not set
+# CONFIG_NET_VENDOR_PENSANDO is not set
+# CONFIG_NET_VENDOR_QLOGIC is not set
+# CONFIG_NET_VENDOR_BROCADE is not set
+# CONFIG_NET_VENDOR_QUALCOMM is not set
+# CONFIG_NET_VENDOR_RDC is not set
+# CONFIG_NET_VENDOR_REALTEK is not set
+# CONFIG_NET_VENDOR_RENESAS is not set
+# CONFIG_NET_VENDOR_ROCKER is not set
+# CONFIG_NET_VENDOR_SAMSUNG is not set
+# CONFIG_NET_VENDOR_SEEQ is not set
+# CONFIG_NET_VENDOR_SILAN is not set
+# CONFIG_NET_VENDOR_SIS is not set
+# CONFIG_NET_VENDOR_SOLARFLARE is not set
+# CONFIG_NET_VENDOR_SMSC is not set
+# CONFIG_NET_VENDOR_SOCIONEXT is not set
+CONFIG_NET_VENDOR_STMICRO=y
+CONFIG_STMMAC_ETH=m
+# CONFIG_STMMAC_SELFTESTS is not set
+CONFIG_STMMAC_PLATFORM=m
+# CONFIG_DWMAC_DWC_QOS_ETH is not set
+CONFIG_DWMAC_GENERIC=m
+CONFIG_DWMAC_STARFIVE=m
+# CONFIG_DWMAC_INTEL_PLAT is not set
+CONFIG_STMMAC_PCI=m
+# CONFIG_NET_VENDOR_SUN is not set
+# CONFIG_NET_VENDOR_SYNOPSYS is not set
+# CONFIG_NET_VENDOR_TEHUTI is not set
+# CONFIG_NET_VENDOR_TI is not set
+# CONFIG_NET_VENDOR_VERTEXCOM is not set
+# CONFIG_NET_VENDOR_VIA is not set
+# CONFIG_NET_VENDOR_WANGXUN is not set
+# CONFIG_NET_VENDOR_WIZNET is not set
+# CONFIG_NET_VENDOR_XILINX is not set
+# CONFIG_FDDI is not set
+# CONFIG_HIPPI is not set
+CONFIG_PHYLINK=m
+CONFIG_PHYLIB=y
+CONFIG_SWPHY=y
+# CONFIG_LED_TRIGGER_PHY is not set
+CONFIG_FIXED_PHY=y
+# CONFIG_SFP is not set
+
+#
+# MII PHY device drivers
+#
+# CONFIG_AMD_PHY is not set
+# CONFIG_ADIN_PHY is not set
+# CONFIG_ADIN1100_PHY is not set
+# CONFIG_AQUANTIA_PHY is not set
+# CONFIG_AX88796B_PHY is not set
+# CONFIG_BROADCOM_PHY is not set
+# CONFIG_BCM54140_PHY is not set
+# CONFIG_BCM7XXX_PHY is not set
+# CONFIG_BCM84881_PHY is not set
+# CONFIG_BCM87XX_PHY is not set
+# CONFIG_CICADA_PHY is not set
+# CONFIG_CORTINA_PHY is not set
+# CONFIG_DAVICOM_PHY is not set
+# CONFIG_ICPLUS_PHY is not set
+# CONFIG_LXT_PHY is not set
+# CONFIG_INTEL_XWAY_PHY is not set
+# CONFIG_LSI_ET1011C_PHY is not set
+# CONFIG_MARVELL_PHY is not set
+# CONFIG_MARVELL_10G_PHY is not set
+# CONFIG_MARVELL_88Q2XXX_PHY is not set
+# CONFIG_MARVELL_88X2222_PHY is not set
+# CONFIG_MAXLINEAR_GPHY is not set
+# CONFIG_MEDIATEK_GE_PHY is not set
+CONFIG_MICREL_PHY=y
+# CONFIG_MICROCHIP_T1S_PHY is not set
+# CONFIG_MICROCHIP_PHY is not set
+# CONFIG_MICROCHIP_T1_PHY is not set
+# CONFIG_MICROSEMI_PHY is not set
+CONFIG_MOTORCOMM_PHY=m
+# CONFIG_NATIONAL_PHY is not set
+# CONFIG_NXP_CBTX_PHY is not set
+# CONFIG_NXP_C45_TJA11XX_PHY is not set
+# CONFIG_NXP_TJA11XX_PHY is not set
+# CONFIG_NCN26000_PHY is not set
+# CONFIG_AT803X_PHY is not set
+# CONFIG_QSEMI_PHY is not set
+# CONFIG_REALTEK_PHY is not set
+# CONFIG_RENESAS_PHY is not set
+# CONFIG_ROCKCHIP_PHY is not set
+# CONFIG_SMSC_PHY is not set
+CONFIG_STE10XP=m
+# CONFIG_TERANETICS_PHY is not set
+# CONFIG_DP83822_PHY is not set
+# CONFIG_DP83TC811_PHY is not set
+# CONFIG_DP83848_PHY is not set
+# CONFIG_DP83867_PHY is not set
+# CONFIG_DP83869_PHY is not set
+# CONFIG_DP83TD510_PHY is not set
+# CONFIG_DP83TG720_PHY is not set
+# CONFIG_VITESSE_PHY is not set
+# CONFIG_XILINX_GMII2RGMII is not set
+# CONFIG_MICREL_KS8995MA is not set
+# CONFIG_PSE_CONTROLLER is not set
+CONFIG_MDIO_DEVICE=y
+CONFIG_MDIO_BUS=y
+CONFIG_FWNODE_MDIO=y
+CONFIG_OF_MDIO=y
+CONFIG_MDIO_DEVRES=y
+# CONFIG_MDIO_BITBANG is not set
+# CONFIG_MDIO_BCM_UNIMAC is not set
+# CONFIG_MDIO_HISI_FEMAC is not set
+# CONFIG_MDIO_MVUSB is not set
+# CONFIG_MDIO_MSCC_MIIM is not set
+# CONFIG_MDIO_OCTEON is not set
+# CONFIG_MDIO_IPQ4019 is not set
+# CONFIG_MDIO_IPQ8064 is not set
+# CONFIG_MDIO_THUNDER is not set
+
+#
+# MDIO Multiplexers
+#
+# CONFIG_MDIO_BUS_MUX_GPIO is not set
+# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set
+# CONFIG_MDIO_BUS_MUX_MMIOREG is not set
+
+#
+# PCS device drivers
+#
+CONFIG_PCS_XPCS=m
+# end of PCS device drivers
+
+CONFIG_PPP=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_MPPE=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPPOATM=m
+CONFIG_PPPOE=m
+# CONFIG_PPPOE_HASH_BITS_1 is not set
+# CONFIG_PPPOE_HASH_BITS_2 is not set
+CONFIG_PPPOE_HASH_BITS_4=y
+# CONFIG_PPPOE_HASH_BITS_8 is not set
+CONFIG_PPPOE_HASH_BITS=4
+CONFIG_PPTP=m
+CONFIG_PPPOL2TP=m
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_SLIP=m
+CONFIG_SLHC=m
+CONFIG_SLIP_COMPRESSED=y
+CONFIG_SLIP_SMART=y
+CONFIG_SLIP_MODE_SLIP6=y
+CONFIG_USB_NET_DRIVERS=m
+# CONFIG_USB_CATC is not set
+# CONFIG_USB_KAWETH is not set
+# CONFIG_USB_PEGASUS is not set
+# CONFIG_USB_RTL8150 is not set
+# CONFIG_USB_RTL8152 is not set
+# CONFIG_USB_LAN78XX is not set
+# CONFIG_USB_USBNET is not set
+# CONFIG_USB_HSO is not set
+# CONFIG_USB_IPHETH is not set
+CONFIG_WLAN=y
+CONFIG_WLAN_VENDOR_ADMTEK=y
+# CONFIG_ADM8211 is not set
+CONFIG_WLAN_VENDOR_ATH=y
+# CONFIG_ATH_DEBUG is not set
+# CONFIG_ATH5K is not set
+# CONFIG_ATH5K_PCI is not set
+# CONFIG_ATH9K is not set
+# CONFIG_ATH9K_HTC is not set
+# CONFIG_CARL9170 is not set
+# CONFIG_ATH6KL is not set
+# CONFIG_AR5523 is not set
+# CONFIG_WIL6210 is not set
+# CONFIG_ATH10K is not set
+# CONFIG_WCN36XX is not set
+# CONFIG_ATH11K is not set
+# CONFIG_ATH12K is not set
+CONFIG_WLAN_VENDOR_ATMEL=y
+# CONFIG_AT76C50X_USB is not set
+CONFIG_WLAN_VENDOR_BROADCOM=y
+# CONFIG_B43 is not set
+# CONFIG_B43LEGACY is not set
+CONFIG_BRCMUTIL=m
+# CONFIG_BRCMSMAC is not set
+CONFIG_BRCMFMAC=m
+CONFIG_BRCMFMAC_PROTO_BCDC=y
+CONFIG_BRCMFMAC_SDIO=y
+# CONFIG_BRCMFMAC_USB is not set
+# CONFIG_BRCMFMAC_PCIE is not set
+# CONFIG_BRCM_TRACING is not set
+# CONFIG_BRCMDBG is not set
+CONFIG_WLAN_VENDOR_INTEL=y
+# CONFIG_IPW2100 is not set
+# CONFIG_IPW2200 is not set
+# CONFIG_IWL4965 is not set
+# CONFIG_IWL3945 is not set
+# CONFIG_IWLWIFI is not set
+CONFIG_WLAN_VENDOR_INTERSIL=y
+# CONFIG_P54_COMMON is not set
+CONFIG_WLAN_VENDOR_MARVELL=y
+# CONFIG_LIBERTAS is not set
+# CONFIG_LIBERTAS_THINFIRM is not set
+# CONFIG_MWIFIEX is not set
+# CONFIG_MWL8K is not set
+CONFIG_WLAN_VENDOR_MEDIATEK=y
+# CONFIG_MT7601U is not set
+# CONFIG_MT76x0U is not set
+# CONFIG_MT76x0E is not set
+# CONFIG_MT76x2E is not set
+# CONFIG_MT76x2U is not set
+# CONFIG_MT7603E is not set
+# CONFIG_MT7615E is not set
+# CONFIG_MT7663U is not set
+# CONFIG_MT7663S is not set
+# CONFIG_MT7915E is not set
+# CONFIG_MT7921E is not set
+# CONFIG_MT7921S is not set
+# CONFIG_MT7921U is not set
+# CONFIG_MT7996E is not set
+# CONFIG_MT7925E is not set
+# CONFIG_MT7925U is not set
+CONFIG_WLAN_VENDOR_MICROCHIP=y
+# CONFIG_WILC1000_SDIO is not set
+# CONFIG_WILC1000_SPI is not set
+# CONFIG_WLAN_VENDOR_PURELIFI is not set
+CONFIG_WLAN_VENDOR_RALINK=y
+# CONFIG_RT2X00 is not set
+CONFIG_WLAN_VENDOR_REALTEK=y
+# CONFIG_RTL8180 is not set
+# CONFIG_RTL8187 is not set
+# CONFIG_RTL_CARDS is not set
+# CONFIG_RTL8XXXU is not set
+# CONFIG_RTW88 is not set
+# CONFIG_RTW89 is not set
+CONFIG_WLAN_VENDOR_RSI=y
+# CONFIG_RSI_91X is not set
+# CONFIG_WLAN_VENDOR_SILABS is not set
+CONFIG_WLAN_VENDOR_ST=y
+# CONFIG_CW1200 is not set
+CONFIG_WLAN_VENDOR_TI=y
+# CONFIG_WL1251 is not set
+# CONFIG_WL12XX is not set
+# CONFIG_WL18XX is not set
+# CONFIG_WLCORE is not set
+CONFIG_WLAN_VENDOR_ZYDAS=y
+# CONFIG_ZD1211RW is not set
+CONFIG_WLAN_VENDOR_QUANTENNA=y
+# CONFIG_QTNFMAC_PCIE is not set
+# CONFIG_MAC80211_HWSIM is not set
+# CONFIG_VIRT_WIFI is not set
+# CONFIG_WAN is not set
+CONFIG_IEEE802154_DRIVERS=m
+# CONFIG_IEEE802154_FAKELB is not set
+# CONFIG_IEEE802154_AT86RF230 is not set
+# CONFIG_IEEE802154_MRF24J40 is not set
+# CONFIG_IEEE802154_CC2520 is not set
+# CONFIG_IEEE802154_ATUSB is not set
+# CONFIG_IEEE802154_ADF7242 is not set
+# CONFIG_IEEE802154_CA8210 is not set
+# CONFIG_IEEE802154_MCR20A is not set
+# CONFIG_IEEE802154_HWSIM is not set
+
+#
+# Wireless WAN
+#
+# CONFIG_WWAN is not set
+# end of Wireless WAN
+
+# CONFIG_VMXNET3 is not set
+CONFIG_NET_FAILOVER=m
+# CONFIG_ISDN is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_LEDS=m
+# CONFIG_INPUT_FF_MEMLESS is not set
+# CONFIG_INPUT_SPARSEKMAP is not set
+# CONFIG_INPUT_MATRIXKMAP is not set
+CONFIG_INPUT_VIVALDIFMAP=y
+
+#
+# Userland interfaces
+#
+# CONFIG_INPUT_MOUSEDEV is not set
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_EVDEV=m
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ADP5588 is not set
+# CONFIG_KEYBOARD_ADP5589 is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_QT1050 is not set
+# CONFIG_KEYBOARD_QT1070 is not set
+# CONFIG_KEYBOARD_QT2160 is not set
+# CONFIG_KEYBOARD_DLINK_DIR685 is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_GPIO is not set
+CONFIG_KEYBOARD_GPIO_POLLED=m
+# CONFIG_KEYBOARD_TCA6416 is not set
+# CONFIG_KEYBOARD_TCA8418 is not set
+# CONFIG_KEYBOARD_MATRIX is not set
+# CONFIG_KEYBOARD_LM8323 is not set
+# CONFIG_KEYBOARD_LM8333 is not set
+# CONFIG_KEYBOARD_MAX7359 is not set
+# CONFIG_KEYBOARD_MCS is not set
+# CONFIG_KEYBOARD_MPR121 is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_OPENCORES is not set
+# CONFIG_KEYBOARD_PINEPHONE is not set
+# CONFIG_KEYBOARD_SAMSUNG is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_OMAP4 is not set
+# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_CAP11XX is not set
+# CONFIG_KEYBOARD_BCM is not set
+# CONFIG_KEYBOARD_CYPRESS_SF is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TABLET is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+CONFIG_INPUT_MISC=y
+# CONFIG_INPUT_AD714X is not set
+# CONFIG_INPUT_ATMEL_CAPTOUCH is not set
+# CONFIG_INPUT_BMA150 is not set
+# CONFIG_INPUT_E3X0_BUTTON is not set
+# CONFIG_INPUT_MMA8450 is not set
+CONFIG_INPUT_GPIO_BEEPER=m
+CONFIG_INPUT_GPIO_DECODER=m
+# CONFIG_INPUT_GPIO_VIBRA is not set
+# CONFIG_INPUT_ATI_REMOTE2 is not set
+# CONFIG_INPUT_KEYSPAN_REMOTE is not set
+# CONFIG_INPUT_KXTJ9 is not set
+# CONFIG_INPUT_POWERMATE is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INPUT_CM109 is not set
+# CONFIG_INPUT_REGULATOR_HAPTIC is not set
+# CONFIG_INPUT_AXP20X_PEK is not set
+# CONFIG_INPUT_UINPUT is not set
+# CONFIG_INPUT_PCF8574 is not set
+# CONFIG_INPUT_PWM_BEEPER is not set
+# CONFIG_INPUT_PWM_VIBRA is not set
+# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set
+# CONFIG_INPUT_DA7280_HAPTICS is not set
+# CONFIG_INPUT_ADXL34X is not set
+# CONFIG_INPUT_IBM_PANEL is not set
+# CONFIG_INPUT_IMS_PCU is not set
+# CONFIG_INPUT_IQS269A is not set
+# CONFIG_INPUT_IQS626A is not set
+# CONFIG_INPUT_IQS7222 is not set
+# CONFIG_INPUT_CMA3000 is not set
+# CONFIG_INPUT_DRV260X_HAPTICS is not set
+# CONFIG_INPUT_DRV2665_HAPTICS is not set
+# CONFIG_INPUT_DRV2667_HAPTICS is not set
+# CONFIG_RMI4_CORE is not set
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_AMBAKMI is not set
+# CONFIG_SERIO_PCIPS2 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SERIO_ALTERA_PS2 is not set
+# CONFIG_SERIO_PS2MULT is not set
+# CONFIG_SERIO_ARC_PS2 is not set
+# CONFIG_SERIO_APBPS2 is not set
+# CONFIG_SERIO_GPIO_PS2 is not set
+# CONFIG_USERIO is not set
+# CONFIG_GAMEPORT is not set
+# end of Hardware I/O ports
+# end of Input device support
+
+#
+# Character devices
+#
+CONFIG_TTY=y
+CONFIG_VT=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_CONSOLE_SLEEP=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+CONFIG_UNIX98_PTYS=y
+# CONFIG_LEGACY_PTYS is not set
+# CONFIG_LEGACY_TIOCSTI is not set
+# CONFIG_LDISC_AUTOLOAD is not set
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_EARLYCON=y
+CONFIG_SERIAL_8250=y
+# CONFIG_SERIAL_8250_DEPRECATED_OPTIONS is not set
+# CONFIG_SERIAL_8250_16550A_VARIANTS is not set
+# CONFIG_SERIAL_8250_FINTEK is not set
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_DMA=y
+CONFIG_SERIAL_8250_PCILIB=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_EXAR=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIAL_8250_PCI1XXXX is not set
+CONFIG_SERIAL_8250_DWLIB=y
+CONFIG_SERIAL_8250_DW=y
+# CONFIG_SERIAL_8250_RT288X is not set
+CONFIG_SERIAL_8250_PERICOM=y
+# CONFIG_SERIAL_OF_PLATFORM is not set
+
+#
+# Non-8250 serial port support
+#
+# CONFIG_SERIAL_AMBA_PL010 is not set
+# CONFIG_SERIAL_AMBA_PL011 is not set
+# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set
+CONFIG_SERIAL_EARLYCON_RISCV_SBI=y
+# CONFIG_SERIAL_MAX3100 is not set
+# CONFIG_SERIAL_MAX310X is not set
+# CONFIG_SERIAL_UARTLITE is not set
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+# CONFIG_SERIAL_JSM is not set
+# CONFIG_SERIAL_SIFIVE is not set
+# CONFIG_SERIAL_SCCNXP is not set
+# CONFIG_SERIAL_SC16IS7XX is not set
+# CONFIG_SERIAL_ALTERA_JTAGUART is not set
+# CONFIG_SERIAL_ALTERA_UART is not set
+# CONFIG_SERIAL_XILINX_PS_UART is not set
+# CONFIG_SERIAL_ARC is not set
+# CONFIG_SERIAL_RP2 is not set
+# CONFIG_SERIAL_FSL_LPUART is not set
+# CONFIG_SERIAL_FSL_LINFLEXUART is not set
+# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set
+# CONFIG_SERIAL_SPRD is not set
+# end of Serial drivers
+
+CONFIG_SERIAL_MCTRL_GPIO=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+# CONFIG_N_GSM is not set
+# CONFIG_NOZOMI is not set
+# CONFIG_NULL_TTY is not set
+# CONFIG_SERIAL_DEV_BUS is not set
+# CONFIG_VIRTIO_CONSOLE is not set
+# CONFIG_IPMI_HANDLER is not set
+# CONFIG_SSIF_IPMI_BMC is not set
+# CONFIG_IPMB_DEVICE_INTERFACE is not set
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_TIMERIOMEM is not set
+# CONFIG_HW_RANDOM_BA431 is not set
+# CONFIG_HW_RANDOM_VIRTIO is not set
+# CONFIG_HW_RANDOM_CCTRNG is not set
+# CONFIG_HW_RANDOM_XIPHERA is not set
+CONFIG_HW_RANDOM_JH7110=m
+# CONFIG_APPLICOM is not set
+CONFIG_DEVMEM=y
+CONFIG_DEVPORT=y
+# CONFIG_TCG_TPM is not set
+# CONFIG_XILLYBUS is not set
+# CONFIG_XILLYUSB is not set
+# end of Character devices
+
+#
+# I2C support
+#
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_COMPAT=y
+CONFIG_I2C_CHARDEV=y
+CONFIG_I2C_MUX=m
+
+#
+# Multiplexer I2C Chip support
+#
+# CONFIG_I2C_ARB_GPIO_CHALLENGE is not set
+# CONFIG_I2C_MUX_GPIO is not set
+CONFIG_I2C_MUX_GPMUX=m
+CONFIG_I2C_MUX_LTC4306=m
+# CONFIG_I2C_MUX_PCA9541 is not set
+# CONFIG_I2C_MUX_PCA954x is not set
+# CONFIG_I2C_MUX_PINCTRL is not set
+# CONFIG_I2C_MUX_REG is not set
+# CONFIG_I2C_DEMUX_PINCTRL is not set
+CONFIG_I2C_MUX_MLXCPLD=m
+# end of Multiplexer I2C Chip support
+
+CONFIG_I2C_HELPER_AUTO=y
+
+#
+# I2C Hardware Bus support
+#
+
+#
+# PC SMBus host controller drivers
+#
+# CONFIG_I2C_ALI1535 is not set
+# CONFIG_I2C_ALI1563 is not set
+# CONFIG_I2C_ALI15X3 is not set
+# CONFIG_I2C_AMD756 is not set
+# CONFIG_I2C_AMD8111 is not set
+# CONFIG_I2C_I801 is not set
+# CONFIG_I2C_ISCH is not set
+# CONFIG_I2C_PIIX4 is not set
+# CONFIG_I2C_NFORCE2 is not set
+# CONFIG_I2C_NVIDIA_GPU is not set
+# CONFIG_I2C_SIS5595 is not set
+# CONFIG_I2C_SIS630 is not set
+# CONFIG_I2C_SIS96X is not set
+# CONFIG_I2C_VIA is not set
+# CONFIG_I2C_VIAPRO is not set
+
+#
+# I2C system bus drivers (mostly embedded / system-on-chip)
+#
+# CONFIG_I2C_CBUS_GPIO is not set
+CONFIG_I2C_DESIGNWARE_CORE=m
+# CONFIG_I2C_DESIGNWARE_SLAVE is not set
+CONFIG_I2C_DESIGNWARE_PLATFORM=m
+# CONFIG_I2C_DESIGNWARE_PCI is not set
+# CONFIG_I2C_EMEV2 is not set
+# CONFIG_I2C_GPIO is not set
+# CONFIG_I2C_NOMADIK is not set
+# CONFIG_I2C_OCORES is not set
+# CONFIG_I2C_PCA_PLATFORM is not set
+# CONFIG_I2C_RK3X is not set
+# CONFIG_I2C_SIMTEC is not set
+# CONFIG_I2C_XILINX is not set
+
+#
+# External I2C/SMBus adapter drivers
+#
+# CONFIG_I2C_DIOLAN_U2C is not set
+# CONFIG_I2C_CP2615 is not set
+# CONFIG_I2C_PCI1XXXX is not set
+# CONFIG_I2C_ROBOTFUZZ_OSIF is not set
+# CONFIG_I2C_TAOS_EVM is not set
+# CONFIG_I2C_TINY_USB is not set
+
+#
+# Other I2C/SMBus bus drivers
+#
+# CONFIG_I2C_VIRTIO is not set
+# end of I2C Hardware Bus support
+
+# CONFIG_I2C_STUB is not set
+CONFIG_I2C_SLAVE=y
+# CONFIG_I2C_SLAVE_EEPROM is not set
+# CONFIG_I2C_SLAVE_TESTUNIT is not set
+# CONFIG_I2C_DEBUG_CORE is not set
+# CONFIG_I2C_DEBUG_ALGO is not set
+# CONFIG_I2C_DEBUG_BUS is not set
+# end of I2C support
+
+# CONFIG_I3C is not set
+CONFIG_SPI=y
+CONFIG_SPI_MASTER=y
+CONFIG_SPI_MEM=y
+
+#
+# SPI Master Controller Drivers
+#
+# CONFIG_SPI_ALTERA is not set
+# CONFIG_SPI_AXI_SPI_ENGINE is not set
+CONFIG_SPI_BITBANG=m
+# CONFIG_SPI_CADENCE is not set
+CONFIG_SPI_CADENCE_QUADSPI=y
+# CONFIG_SPI_CADENCE_XSPI is not set
+CONFIG_SPI_DESIGNWARE=y
+CONFIG_SPI_DW_DMA=y
+# CONFIG_SPI_DW_PCI is not set
+CONFIG_SPI_DW_MMIO=y
+CONFIG_SPI_GPIO=m
+# CONFIG_SPI_FSL_SPI is not set
+# CONFIG_SPI_MICROCHIP_CORE is not set
+# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set
+# CONFIG_SPI_OC_TINY is not set
+# CONFIG_SPI_PCI1XXXX is not set
+# CONFIG_SPI_PL022 is not set
+# CONFIG_SPI_PXA2XX is not set
+# CONFIG_SPI_SC18IS602 is not set
+CONFIG_SPI_SIFIVE=m
+# CONFIG_SPI_SN_F_OSPI is not set
+# CONFIG_SPI_MXIC is not set
+# CONFIG_SPI_XCOMM is not set
+# CONFIG_SPI_XILINX is not set
+# CONFIG_SPI_ZYNQMP_GQSPI is not set
+# CONFIG_SPI_AMD is not set
+
+#
+# SPI Multiplexer support
+#
+CONFIG_SPI_MUX=m
+
+#
+# SPI Protocol Masters
+#
+CONFIG_SPI_SPIDEV=m
+CONFIG_SPI_LOOPBACK_TEST=m
+# CONFIG_SPI_TLE62X0 is not set
+CONFIG_SPI_SLAVE=y
+CONFIG_SPI_SLAVE_TIME=m
+CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m
+CONFIG_SPI_DYNAMIC=y
+# CONFIG_SPMI is not set
+# CONFIG_HSI is not set
+CONFIG_PPS=y
+# CONFIG_PPS_DEBUG is not set
+
+#
+# PPS clients support
+#
+# CONFIG_PPS_CLIENT_KTIMER is not set
+CONFIG_PPS_CLIENT_LDISC=m
+# CONFIG_PPS_CLIENT_GPIO is not set
+
+#
+# PPS generators support
+#
+
+#
+# PTP clock support
+#
+# CONFIG_PTP_1588_CLOCK is not set
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
+
+#
+# Enable PHYLIB and NETWORK_PHY_TIMESTAMPING to see the additional clocks.
+#
+# end of PTP clock support
+
+CONFIG_PINCTRL=y
+CONFIG_GENERIC_PINCTRL_GROUPS=y
+CONFIG_PINMUX=y
+CONFIG_GENERIC_PINMUX_FUNCTIONS=y
+CONFIG_PINCONF=y
+CONFIG_GENERIC_PINCONF=y
+# CONFIG_PINCTRL_AXP209 is not set
+# CONFIG_PINCTRL_CY8C95X0 is not set
+# CONFIG_PINCTRL_MCP23S08 is not set
+# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set
+# CONFIG_PINCTRL_OCELOT is not set
+# CONFIG_PINCTRL_SINGLE is not set
+# CONFIG_PINCTRL_STMFX is not set
+# CONFIG_PINCTRL_SX150X is not set
+
+#
+# Renesas pinctrl drivers
+#
+# end of Renesas pinctrl drivers
+
+CONFIG_PINCTRL_STARFIVE_JH7100=y
+CONFIG_PINCTRL_STARFIVE_JH7110=y
+CONFIG_PINCTRL_STARFIVE_JH7110_SYS=y
+CONFIG_PINCTRL_STARFIVE_JH7110_AON=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIOLIB_FASTPATH_LIMIT=256
+CONFIG_OF_GPIO=y
+CONFIG_GPIOLIB_IRQCHIP=y
+CONFIG_GPIO_CDEV=y
+CONFIG_GPIO_CDEV_V1=y
+
+#
+# Memory mapped GPIO drivers
+#
+# CONFIG_GPIO_74XX_MMIO is not set
+# CONFIG_GPIO_ALTERA is not set
+# CONFIG_GPIO_CADENCE is not set
+# CONFIG_GPIO_DWAPB is not set
+# CONFIG_GPIO_EXAR is not set
+# CONFIG_GPIO_FTGPIO010 is not set
+# CONFIG_GPIO_GENERIC_PLATFORM is not set
+# CONFIG_GPIO_GRGPIO is not set
+# CONFIG_GPIO_HLWD is not set
+# CONFIG_GPIO_LOGICVC is not set
+# CONFIG_GPIO_MB86S7X is not set
+# CONFIG_GPIO_PL061 is not set
+# CONFIG_GPIO_SIFIVE is not set
+# CONFIG_GPIO_SYSCON is not set
+# CONFIG_GPIO_XILINX is not set
+# CONFIG_GPIO_AMD_FCH is not set
+# end of Memory mapped GPIO drivers
+
+#
+# I2C GPIO expanders
+#
+# CONFIG_GPIO_ADNP is not set
+# CONFIG_GPIO_FXL6408 is not set
+# CONFIG_GPIO_DS4520 is not set
+# CONFIG_GPIO_GW_PLD is not set
+# CONFIG_GPIO_MAX7300 is not set
+# CONFIG_GPIO_MAX732X is not set
+# CONFIG_GPIO_PCA953X is not set
+# CONFIG_GPIO_PCA9570 is not set
+# CONFIG_GPIO_PCF857X is not set
+# CONFIG_GPIO_TPIC2810 is not set
+# end of I2C GPIO expanders
+
+#
+# MFD GPIO expanders
+#
+CONFIG_GPIO_TPS65086=y
+# end of MFD GPIO expanders
+
+#
+# PCI GPIO expanders
+#
+# CONFIG_GPIO_BT8XX is not set
+# CONFIG_GPIO_PCI_IDIO_16 is not set
+# CONFIG_GPIO_PCIE_IDIO_24 is not set
+# CONFIG_GPIO_RDC321X is not set
+# end of PCI GPIO expanders
+
+#
+# SPI GPIO expanders
+#
+# CONFIG_GPIO_74X164 is not set
+# CONFIG_GPIO_MAX3191X is not set
+# CONFIG_GPIO_MAX7301 is not set
+# CONFIG_GPIO_MC33880 is not set
+# CONFIG_GPIO_PISOSR is not set
+# CONFIG_GPIO_XRA1403 is not set
+# end of SPI GPIO expanders
+
+#
+# USB GPIO expanders
+#
+# end of USB GPIO expanders
+
+#
+# Virtual GPIO drivers
+#
+CONFIG_GPIO_AGGREGATOR=m
+# CONFIG_GPIO_LATCH is not set
+# CONFIG_GPIO_MOCKUP is not set
+# CONFIG_GPIO_VIRTIO is not set
+# CONFIG_GPIO_SIM is not set
+# end of Virtual GPIO drivers
+
+# CONFIG_W1 is not set
+CONFIG_POWER_RESET=y
+CONFIG_POWER_RESET_GPIO=y
+CONFIG_POWER_RESET_GPIO_RESTART=y
+# CONFIG_POWER_RESET_LTC2952 is not set
+# CONFIG_POWER_RESET_REGULATOR is not set
+# CONFIG_POWER_RESET_RESTART is not set
+# CONFIG_POWER_RESET_TPS65086 is not set
+CONFIG_POWER_RESET_SYSCON=y
+CONFIG_POWER_RESET_SYSCON_POWEROFF=y
+CONFIG_REBOOT_MODE=y
+CONFIG_SYSCON_REBOOT_MODE=y
+# CONFIG_NVMEM_REBOOT_MODE is not set
+CONFIG_POWER_SUPPLY=y
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+CONFIG_POWER_SUPPLY_HWMON=y
+# CONFIG_IP5XXX_POWER is not set
+# CONFIG_TEST_POWER is not set
+# CONFIG_CHARGER_ADP5061 is not set
+# CONFIG_BATTERY_CW2015 is not set
+# CONFIG_BATTERY_DS2780 is not set
+# CONFIG_BATTERY_DS2781 is not set
+# CONFIG_BATTERY_DS2782 is not set
+# CONFIG_BATTERY_SAMSUNG_SDI is not set
+# CONFIG_BATTERY_SBS is not set
+# CONFIG_CHARGER_SBS is not set
+# CONFIG_MANAGER_SBS is not set
+# CONFIG_BATTERY_BQ27XXX is not set
+# CONFIG_BATTERY_MAX17042 is not set
+# CONFIG_CHARGER_MAX8903 is not set
+# CONFIG_CHARGER_LP8727 is not set
+# CONFIG_CHARGER_GPIO is not set
+# CONFIG_CHARGER_MANAGER is not set
+# CONFIG_CHARGER_LT3651 is not set
+# CONFIG_CHARGER_LTC4162L is not set
+# CONFIG_CHARGER_DETECTOR_MAX14656 is not set
+# CONFIG_CHARGER_MAX77976 is not set
+# CONFIG_CHARGER_BQ2415X is not set
+# CONFIG_CHARGER_BQ24190 is not set
+# CONFIG_CHARGER_BQ24257 is not set
+# CONFIG_CHARGER_BQ24735 is not set
+# CONFIG_CHARGER_BQ2515X is not set
+# CONFIG_CHARGER_BQ25890 is not set
+# CONFIG_CHARGER_BQ25980 is not set
+# CONFIG_CHARGER_BQ256XX is not set
+# CONFIG_CHARGER_SMB347 is not set
+# CONFIG_BATTERY_GAUGE_LTC2941 is not set
+# CONFIG_BATTERY_GOLDFISH is not set
+# CONFIG_BATTERY_RT5033 is not set
+# CONFIG_CHARGER_RT9455 is not set
+# CONFIG_CHARGER_RT9467 is not set
+# CONFIG_CHARGER_RT9471 is not set
+# CONFIG_CHARGER_UCS1002 is not set
+# CONFIG_CHARGER_BD99954 is not set
+# CONFIG_BATTERY_UG3105 is not set
+# CONFIG_FUEL_GAUGE_MM8013 is not set
+CONFIG_HWMON=y
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Native drivers
+#
+# CONFIG_SENSORS_AD7314 is not set
+# CONFIG_SENSORS_AD7414 is not set
+# CONFIG_SENSORS_AD7418 is not set
+# CONFIG_SENSORS_ADM1021 is not set
+# CONFIG_SENSORS_ADM1025 is not set
+# CONFIG_SENSORS_ADM1026 is not set
+# CONFIG_SENSORS_ADM1029 is not set
+# CONFIG_SENSORS_ADM1031 is not set
+# CONFIG_SENSORS_ADM1177 is not set
+# CONFIG_SENSORS_ADM9240 is not set
+# CONFIG_SENSORS_ADT7310 is not set
+# CONFIG_SENSORS_ADT7410 is not set
+# CONFIG_SENSORS_ADT7411 is not set
+# CONFIG_SENSORS_ADT7462 is not set
+# CONFIG_SENSORS_ADT7470 is not set
+# CONFIG_SENSORS_ADT7475 is not set
+# CONFIG_SENSORS_AHT10 is not set
+# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set
+# CONFIG_SENSORS_AS370 is not set
+# CONFIG_SENSORS_ASC7621 is not set
+# CONFIG_SENSORS_AXI_FAN_CONTROL is not set
+# CONFIG_SENSORS_ATXP1 is not set
+# CONFIG_SENSORS_CORSAIR_CPRO is not set
+# CONFIG_SENSORS_CORSAIR_PSU is not set
+# CONFIG_SENSORS_DS620 is not set
+# CONFIG_SENSORS_DS1621 is not set
+# CONFIG_SENSORS_I5K_AMB is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_F71882FG is not set
+# CONFIG_SENSORS_F75375S is not set
+# CONFIG_SENSORS_FTSTEUTATES is not set
+# CONFIG_SENSORS_GIGABYTE_WATERFORCE is not set
+# CONFIG_SENSORS_GL518SM is not set
+# CONFIG_SENSORS_GL520SM is not set
+# CONFIG_SENSORS_G760A is not set
+# CONFIG_SENSORS_G762 is not set
+# CONFIG_SENSORS_GPIO_FAN is not set
+# CONFIG_SENSORS_HIH6130 is not set
+# CONFIG_SENSORS_HS3001 is not set
+# CONFIG_SENSORS_IT87 is not set
+# CONFIG_SENSORS_JC42 is not set
+# CONFIG_SENSORS_POWERZ is not set
+# CONFIG_SENSORS_POWR1220 is not set
+# CONFIG_SENSORS_LINEAGE is not set
+# CONFIG_SENSORS_LTC2945 is not set
+# CONFIG_SENSORS_LTC2947_I2C is not set
+# CONFIG_SENSORS_LTC2947_SPI is not set
+# CONFIG_SENSORS_LTC2990 is not set
+# CONFIG_SENSORS_LTC2991 is not set
+# CONFIG_SENSORS_LTC2992 is not set
+# CONFIG_SENSORS_LTC4151 is not set
+# CONFIG_SENSORS_LTC4215 is not set
+# CONFIG_SENSORS_LTC4222 is not set
+# CONFIG_SENSORS_LTC4245 is not set
+# CONFIG_SENSORS_LTC4260 is not set
+# CONFIG_SENSORS_LTC4261 is not set
+# CONFIG_SENSORS_MAX1111 is not set
+# CONFIG_SENSORS_MAX127 is not set
+# CONFIG_SENSORS_MAX16065 is not set
+# CONFIG_SENSORS_MAX1619 is not set
+# CONFIG_SENSORS_MAX1668 is not set
+# CONFIG_SENSORS_MAX197 is not set
+# CONFIG_SENSORS_MAX31722 is not set
+# CONFIG_SENSORS_MAX31730 is not set
+# CONFIG_SENSORS_MAX31760 is not set
+# CONFIG_MAX31827 is not set
+# CONFIG_SENSORS_MAX6620 is not set
+# CONFIG_SENSORS_MAX6621 is not set
+# CONFIG_SENSORS_MAX6639 is not set
+# CONFIG_SENSORS_MAX6642 is not set
+# CONFIG_SENSORS_MAX6650 is not set
+# CONFIG_SENSORS_MAX6697 is not set
+# CONFIG_SENSORS_MAX31790 is not set
+# CONFIG_SENSORS_MC34VR500 is not set
+# CONFIG_SENSORS_MCP3021 is not set
+# CONFIG_SENSORS_TC654 is not set
+# CONFIG_SENSORS_TPS23861 is not set
+# CONFIG_SENSORS_MR75203 is not set
+# CONFIG_SENSORS_ADCXX is not set
+# CONFIG_SENSORS_LM63 is not set
+# CONFIG_SENSORS_LM70 is not set
+# CONFIG_SENSORS_LM73 is not set
+# CONFIG_SENSORS_LM75 is not set
+# CONFIG_SENSORS_LM77 is not set
+# CONFIG_SENSORS_LM78 is not set
+# CONFIG_SENSORS_LM80 is not set
+# CONFIG_SENSORS_LM83 is not set
+# CONFIG_SENSORS_LM85 is not set
+# CONFIG_SENSORS_LM87 is not set
+# CONFIG_SENSORS_LM90 is not set
+# CONFIG_SENSORS_LM92 is not set
+# CONFIG_SENSORS_LM93 is not set
+# CONFIG_SENSORS_LM95234 is not set
+# CONFIG_SENSORS_LM95241 is not set
+# CONFIG_SENSORS_LM95245 is not set
+# CONFIG_SENSORS_PC87360 is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_NCT6683 is not set
+# CONFIG_SENSORS_NCT6775 is not set
+# CONFIG_SENSORS_NCT6775_I2C is not set
+# CONFIG_SENSORS_NCT7802 is not set
+# CONFIG_SENSORS_NCT7904 is not set
+# CONFIG_SENSORS_NPCM7XX is not set
+# CONFIG_SENSORS_NZXT_KRAKEN2 is not set
+# CONFIG_SENSORS_NZXT_SMART2 is not set
+# CONFIG_SENSORS_OCC_P8_I2C is not set
+# CONFIG_SENSORS_PCF8591 is not set
+# CONFIG_PMBUS is not set
+# CONFIG_SENSORS_PWM_FAN is not set
+# CONFIG_SENSORS_SBTSI is not set
+# CONFIG_SENSORS_SBRMI is not set
+# CONFIG_SENSORS_SHT15 is not set
+# CONFIG_SENSORS_SHT21 is not set
+# CONFIG_SENSORS_SHT3x is not set
+# CONFIG_SENSORS_SHT4x is not set
+# CONFIG_SENSORS_SHTC1 is not set
+# CONFIG_SENSORS_SIS5595 is not set
+# CONFIG_SENSORS_DME1737 is not set
+# CONFIG_SENSORS_EMC1403 is not set
+# CONFIG_SENSORS_EMC2103 is not set
+# CONFIG_SENSORS_EMC2305 is not set
+# CONFIG_SENSORS_EMC6W201 is not set
+# CONFIG_SENSORS_SMSC47M1 is not set
+# CONFIG_SENSORS_SMSC47M192 is not set
+# CONFIG_SENSORS_SMSC47B397 is not set
+# CONFIG_SENSORS_SCH5627 is not set
+# CONFIG_SENSORS_SCH5636 is not set
+# CONFIG_SENSORS_STTS751 is not set
+CONFIG_SENSORS_SFCTEMP=m
+# CONFIG_SENSORS_ADC128D818 is not set
+# CONFIG_SENSORS_ADS7828 is not set
+# CONFIG_SENSORS_ADS7871 is not set
+# CONFIG_SENSORS_AMC6821 is not set
+# CONFIG_SENSORS_INA209 is not set
+# CONFIG_SENSORS_INA2XX is not set
+# CONFIG_SENSORS_INA238 is not set
+# CONFIG_SENSORS_INA3221 is not set
+# CONFIG_SENSORS_TC74 is not set
+# CONFIG_SENSORS_THMC50 is not set
+# CONFIG_SENSORS_TMP102 is not set
+# CONFIG_SENSORS_TMP103 is not set
+# CONFIG_SENSORS_TMP108 is not set
+# CONFIG_SENSORS_TMP401 is not set
+# CONFIG_SENSORS_TMP421 is not set
+# CONFIG_SENSORS_TMP464 is not set
+# CONFIG_SENSORS_TMP513 is not set
+# CONFIG_SENSORS_VIA686A is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_SENSORS_VT8231 is not set
+# CONFIG_SENSORS_W83773G is not set
+# CONFIG_SENSORS_W83781D is not set
+# CONFIG_SENSORS_W83791D is not set
+# CONFIG_SENSORS_W83792D is not set
+# CONFIG_SENSORS_W83793 is not set
+# CONFIG_SENSORS_W83795 is not set
+# CONFIG_SENSORS_W83L785TS is not set
+# CONFIG_SENSORS_W83L786NG is not set
+# CONFIG_SENSORS_W83627HF is not set
+# CONFIG_SENSORS_W83627EHF is not set
+CONFIG_THERMAL=y
+CONFIG_THERMAL_NETLINK=y
+CONFIG_THERMAL_STATISTICS=y
+CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0
+CONFIG_THERMAL_HWMON=y
+CONFIG_THERMAL_OF=y
+CONFIG_THERMAL_WRITABLE_TRIPS=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set
+# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set
+# CONFIG_THERMAL_GOV_FAIR_SHARE is not set
+CONFIG_THERMAL_GOV_STEP_WISE=y
+# CONFIG_THERMAL_GOV_BANG_BANG is not set
+CONFIG_THERMAL_GOV_USER_SPACE=y
+CONFIG_CPU_THERMAL=y
+CONFIG_CPU_FREQ_THERMAL=y
+CONFIG_DEVFREQ_THERMAL=y
+# CONFIG_THERMAL_EMULATION is not set
+# CONFIG_THERMAL_MMIO is not set
+CONFIG_WATCHDOG=y
+CONFIG_WATCHDOG_CORE=m
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y
+CONFIG_WATCHDOG_OPEN_TIMEOUT=0
+# CONFIG_WATCHDOG_SYSFS is not set
+# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set
+
+#
+# Watchdog Pretimeout Governors
+#
+# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set
+
+#
+# Watchdog Device Drivers
+#
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_GPIO_WATCHDOG is not set
+# CONFIG_XILINX_WATCHDOG is not set
+# CONFIG_ZIIRAVE_WATCHDOG is not set
+# CONFIG_CADENCE_WATCHDOG is not set
+# CONFIG_DW_WATCHDOG is not set
+# CONFIG_MAX63XX_WATCHDOG is not set
+# CONFIG_ALIM7101_WDT is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_MEN_A21_WDT is not set
+CONFIG_STARFIVE_WATCHDOG=m
+
+#
+# PCI-based Watchdog Cards
+#
+# CONFIG_PCIPCWATCHDOG is not set
+# CONFIG_WDTPCI is not set
+
+#
+# USB-based Watchdog Cards
+#
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_SSB_POSSIBLE=y
+# CONFIG_SSB is not set
+CONFIG_BCMA_POSSIBLE=y
+# CONFIG_BCMA is not set
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_CORE=y
+# CONFIG_MFD_ACT8945A is not set
+# CONFIG_MFD_AS3711 is not set
+# CONFIG_MFD_SMPRO is not set
+# CONFIG_MFD_AS3722 is not set
+# CONFIG_PMIC_ADP5520 is not set
+# CONFIG_MFD_AAT2870_CORE is not set
+# CONFIG_MFD_ATMEL_FLEXCOM is not set
+# CONFIG_MFD_ATMEL_HLCDC is not set
+# CONFIG_MFD_BCM590XX is not set
+# CONFIG_MFD_BD9571MWV is not set
+CONFIG_MFD_AXP20X=m
+CONFIG_MFD_AXP20X_I2C=m
+# CONFIG_MFD_CS42L43_I2C is not set
+# CONFIG_MFD_MADERA is not set
+# CONFIG_MFD_MAX5970 is not set
+# CONFIG_PMIC_DA903X is not set
+# CONFIG_MFD_DA9052_SPI is not set
+# CONFIG_MFD_DA9052_I2C is not set
+# CONFIG_MFD_DA9055 is not set
+# CONFIG_MFD_DA9062 is not set
+# CONFIG_MFD_DA9063 is not set
+# CONFIG_MFD_DA9150 is not set
+# CONFIG_MFD_DLN2 is not set
+# CONFIG_MFD_GATEWORKS_GSC is not set
+# CONFIG_MFD_MC13XXX_SPI is not set
+# CONFIG_MFD_MC13XXX_I2C is not set
+# CONFIG_MFD_MP2629 is not set
+# CONFIG_MFD_HI6421_PMIC is not set
+# CONFIG_LPC_ICH is not set
+# CONFIG_LPC_SCH is not set
+# CONFIG_MFD_IQS62X is not set
+# CONFIG_MFD_JANZ_CMODIO is not set
+# CONFIG_MFD_KEMPLD is not set
+# CONFIG_MFD_88PM800 is not set
+# CONFIG_MFD_88PM805 is not set
+# CONFIG_MFD_88PM860X is not set
+# CONFIG_MFD_MAX14577 is not set
+# CONFIG_MFD_MAX77541 is not set
+# CONFIG_MFD_MAX77620 is not set
+# CONFIG_MFD_MAX77650 is not set
+# CONFIG_MFD_MAX77686 is not set
+# CONFIG_MFD_MAX77693 is not set
+# CONFIG_MFD_MAX77714 is not set
+# CONFIG_MFD_MAX77843 is not set
+# CONFIG_MFD_MAX8907 is not set
+# CONFIG_MFD_MAX8925 is not set
+# CONFIG_MFD_MAX8997 is not set
+# CONFIG_MFD_MAX8998 is not set
+# CONFIG_MFD_MT6360 is not set
+# CONFIG_MFD_MT6370 is not set
+# CONFIG_MFD_MT6397 is not set
+# CONFIG_MFD_MENF21BMC is not set
+# CONFIG_MFD_OCELOT is not set
+# CONFIG_EZX_PCAP is not set
+# CONFIG_MFD_CPCAP is not set
+# CONFIG_MFD_VIPERBOARD is not set
+# CONFIG_MFD_NTXEC is not set
+# CONFIG_MFD_RETU is not set
+# CONFIG_MFD_PCF50633 is not set
+# CONFIG_MFD_SY7636A is not set
+# CONFIG_MFD_RDC321X is not set
+# CONFIG_MFD_RT4831 is not set
+# CONFIG_MFD_RT5033 is not set
+# CONFIG_MFD_RT5120 is not set
+# CONFIG_MFD_RC5T583 is not set
+# CONFIG_MFD_RK8XX_I2C is not set
+# CONFIG_MFD_RK8XX_SPI is not set
+# CONFIG_MFD_RN5T618 is not set
+# CONFIG_MFD_SEC_CORE is not set
+# CONFIG_MFD_SI476X_CORE is not set
+# CONFIG_MFD_SM501 is not set
+# CONFIG_MFD_SKY81452 is not set
+# CONFIG_MFD_STMPE is not set
+CONFIG_MFD_SYSCON=y
+# CONFIG_MFD_LP3943 is not set
+# CONFIG_MFD_LP8788 is not set
+# CONFIG_MFD_TI_LMU is not set
+# CONFIG_MFD_PALMAS is not set
+# CONFIG_TPS6105X is not set
+# CONFIG_TPS65010 is not set
+# CONFIG_TPS6507X is not set
+CONFIG_MFD_TPS65086=y
+# CONFIG_MFD_TPS65090 is not set
+# CONFIG_MFD_TPS65217 is not set
+# CONFIG_MFD_TI_LP873X is not set
+# CONFIG_MFD_TI_LP87565 is not set
+# CONFIG_MFD_TPS65218 is not set
+# CONFIG_MFD_TPS65219 is not set
+# CONFIG_MFD_TPS6586X is not set
+# CONFIG_MFD_TPS65910 is not set
+# CONFIG_MFD_TPS65912_I2C is not set
+# CONFIG_MFD_TPS65912_SPI is not set
+# CONFIG_MFD_TPS6594_I2C is not set
+# CONFIG_MFD_TPS6594_SPI is not set
+# CONFIG_TWL4030_CORE is not set
+# CONFIG_TWL6040_CORE is not set
+# CONFIG_MFD_WL1273_CORE is not set
+# CONFIG_MFD_LM3533 is not set
+# CONFIG_MFD_TC3589X is not set
+# CONFIG_MFD_TQMX86 is not set
+# CONFIG_MFD_VX855 is not set
+# CONFIG_MFD_LOCHNAGAR is not set
+# CONFIG_MFD_ARIZONA_I2C is not set
+# CONFIG_MFD_ARIZONA_SPI is not set
+# CONFIG_MFD_WM8400 is not set
+# CONFIG_MFD_WM831X_I2C is not set
+# CONFIG_MFD_WM831X_SPI is not set
+# CONFIG_MFD_WM8350_I2C is not set
+# CONFIG_MFD_WM8994 is not set
+# CONFIG_MFD_ROHM_BD718XX is not set
+# CONFIG_MFD_ROHM_BD71828 is not set
+# CONFIG_MFD_ROHM_BD957XMUF is not set
+# CONFIG_MFD_STPMIC1 is not set
+# CONFIG_MFD_STMFX is not set
+# CONFIG_MFD_ATC260X_I2C is not set
+# CONFIG_MFD_QCOM_PM8008 is not set
+# CONFIG_MFD_INTEL_M10_BMC_SPI is not set
+# CONFIG_MFD_RSMU_I2C is not set
+# CONFIG_MFD_RSMU_SPI is not set
+# end of Multifunction device drivers
+
+CONFIG_REGULATOR=y
+# CONFIG_REGULATOR_DEBUG is not set
+# CONFIG_REGULATOR_FIXED_VOLTAGE is not set
+# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set
+# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set
+# CONFIG_REGULATOR_NETLINK_EVENTS is not set
+# CONFIG_REGULATOR_88PG86X is not set
+# CONFIG_REGULATOR_ACT8865 is not set
+# CONFIG_REGULATOR_AD5398 is not set
+# CONFIG_REGULATOR_AW37503 is not set
+CONFIG_REGULATOR_AXP20X=m
+# CONFIG_REGULATOR_DA9121 is not set
+# CONFIG_REGULATOR_DA9210 is not set
+# CONFIG_REGULATOR_DA9211 is not set
+# CONFIG_REGULATOR_FAN53555 is not set
+# CONFIG_REGULATOR_FAN53880 is not set
+# CONFIG_REGULATOR_GPIO is not set
+# CONFIG_REGULATOR_ISL9305 is not set
+# CONFIG_REGULATOR_ISL6271A is not set
+# CONFIG_REGULATOR_LP3971 is not set
+# CONFIG_REGULATOR_LP3972 is not set
+# CONFIG_REGULATOR_LP872X is not set
+# CONFIG_REGULATOR_LP8755 is not set
+# CONFIG_REGULATOR_LTC3589 is not set
+# CONFIG_REGULATOR_LTC3676 is not set
+# CONFIG_REGULATOR_MAX1586 is not set
+# CONFIG_REGULATOR_MAX77503 is not set
+# CONFIG_REGULATOR_MAX77857 is not set
+# CONFIG_REGULATOR_MAX8649 is not set
+# CONFIG_REGULATOR_MAX8660 is not set
+# CONFIG_REGULATOR_MAX8893 is not set
+# CONFIG_REGULATOR_MAX8952 is not set
+# CONFIG_REGULATOR_MAX8973 is not set
+# CONFIG_REGULATOR_MAX20086 is not set
+# CONFIG_REGULATOR_MAX20411 is not set
+# CONFIG_REGULATOR_MAX77826 is not set
+# CONFIG_REGULATOR_MCP16502 is not set
+# CONFIG_REGULATOR_MP5416 is not set
+# CONFIG_REGULATOR_MP8859 is not set
+# CONFIG_REGULATOR_MP886X is not set
+# CONFIG_REGULATOR_MPQ7920 is not set
+# CONFIG_REGULATOR_MT6311 is not set
+# CONFIG_REGULATOR_PCA9450 is not set
+# CONFIG_REGULATOR_PF8X00 is not set
+# CONFIG_REGULATOR_PFUZE100 is not set
+# CONFIG_REGULATOR_PV88060 is not set
+# CONFIG_REGULATOR_PV88080 is not set
+# CONFIG_REGULATOR_PV88090 is not set
+# CONFIG_REGULATOR_PWM is not set
+# CONFIG_REGULATOR_RAA215300 is not set
+# CONFIG_REGULATOR_RT4801 is not set
+# CONFIG_REGULATOR_RT4803 is not set
+# CONFIG_REGULATOR_RT5190A is not set
+# CONFIG_REGULATOR_RT5739 is not set
+# CONFIG_REGULATOR_RT5759 is not set
+# CONFIG_REGULATOR_RT6160 is not set
+# CONFIG_REGULATOR_RT6190 is not set
+# CONFIG_REGULATOR_RT6245 is not set
+# CONFIG_REGULATOR_RTQ2134 is not set
+# CONFIG_REGULATOR_RTMV20 is not set
+# CONFIG_REGULATOR_RTQ6752 is not set
+# CONFIG_REGULATOR_RTQ2208 is not set
+# CONFIG_REGULATOR_SLG51000 is not set
+# CONFIG_REGULATOR_SY8106A is not set
+# CONFIG_REGULATOR_SY8824X is not set
+# CONFIG_REGULATOR_SY8827N is not set
+# CONFIG_REGULATOR_TPS51632 is not set
+# CONFIG_REGULATOR_TPS62360 is not set
+# CONFIG_REGULATOR_TPS6286X is not set
+# CONFIG_REGULATOR_TPS6287X is not set
+# CONFIG_REGULATOR_TPS65023 is not set
+# CONFIG_REGULATOR_TPS6507X is not set
+# CONFIG_REGULATOR_TPS65086 is not set
+# CONFIG_REGULATOR_TPS65132 is not set
+# CONFIG_REGULATOR_TPS6524X is not set
+# CONFIG_REGULATOR_VCTRL is not set
+# CONFIG_RC_CORE is not set
+
+#
+# CEC support
+#
+# CONFIG_MEDIA_CEC_SUPPORT is not set
+# end of CEC support
+
+# CONFIG_MEDIA_SUPPORT is not set
+
+#
+# Graphics support
+#
+CONFIG_APERTURE_HELPERS=y
+CONFIG_VIDEO_CMDLINE=y
+CONFIG_VIDEO_NOMODESET=y
+# CONFIG_AUXDISPLAY is not set
+CONFIG_DRM=y
+CONFIG_DRM_MIPI_DSI=y
+# CONFIG_DRM_DEBUG_MM is not set
+CONFIG_DRM_KMS_HELPER=y
+CONFIG_DRM_FBDEV_EMULATION=y
+CONFIG_DRM_FBDEV_OVERALLOC=100
+# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
+CONFIG_DRM_GEM_SHMEM_HELPER=y
+
+#
+# I2C encoder or helper chips
+#
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+CONFIG_DRM_I2C_NXP_TDA998X=m
+# CONFIG_DRM_I2C_NXP_TDA9950 is not set
+# end of I2C encoder or helper chips
+
+#
+# ARM devices
+#
+# CONFIG_DRM_KOMEDA is not set
+# end of ARM devices
+
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_AMDGPU is not set
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_XE is not set
+# CONFIG_DRM_VGEM is not set
+# CONFIG_DRM_VKMS is not set
+# CONFIG_DRM_UDL is not set
+# CONFIG_DRM_AST is not set
+# CONFIG_DRM_MGAG200 is not set
+# CONFIG_DRM_QXL is not set
+# CONFIG_DRM_VIRTIO_GPU is not set
+CONFIG_DRM_PANEL=y
+
+#
+# Display Panels
+#
+# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set
+# CONFIG_DRM_PANEL_ARM_VERSATILE is not set
+# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set
+# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set
+# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set
+# CONFIG_DRM_PANEL_LG_LB035Q02 is not set
+# CONFIG_DRM_PANEL_LG_LG4573 is not set
+# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set
+# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set
+# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set
+# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set
+# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set
+# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set
+# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set
+# end of Display Panels
+
+CONFIG_DRM_BRIDGE=y
+CONFIG_DRM_PANEL_BRIDGE=y
+
+#
+# Display Interface Bridges
+#
+# CONFIG_DRM_CHIPONE_ICN6211 is not set
+# CONFIG_DRM_CHRONTEL_CH7033 is not set
+CONFIG_DRM_DISPLAY_CONNECTOR=m
+# CONFIG_DRM_ITE_IT6505 is not set
+# CONFIG_DRM_LONTIUM_LT8912B is not set
+# CONFIG_DRM_LONTIUM_LT9211 is not set
+# CONFIG_DRM_LONTIUM_LT9611 is not set
+# CONFIG_DRM_LONTIUM_LT9611UXC is not set
+# CONFIG_DRM_ITE_IT66121 is not set
+# CONFIG_DRM_LVDS_CODEC is not set
+# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set
+# CONFIG_DRM_NWL_MIPI_DSI is not set
+# CONFIG_DRM_NXP_PTN3460 is not set
+# CONFIG_DRM_PARADE_PS8622 is not set
+# CONFIG_DRM_PARADE_PS8640 is not set
+# CONFIG_DRM_SAMSUNG_DSIM is not set
+# CONFIG_DRM_SIL_SII8620 is not set
+# CONFIG_DRM_SII902X is not set
+# CONFIG_DRM_SII9234 is not set
+# CONFIG_DRM_SIMPLE_BRIDGE is not set
+# CONFIG_DRM_THINE_THC63LVD1024 is not set
+# CONFIG_DRM_TOSHIBA_TC358762 is not set
+# CONFIG_DRM_TOSHIBA_TC358764 is not set
+# CONFIG_DRM_TOSHIBA_TC358767 is not set
+# CONFIG_DRM_TOSHIBA_TC358768 is not set
+# CONFIG_DRM_TOSHIBA_TC358775 is not set
+# CONFIG_DRM_TI_DLPC3433 is not set
+# CONFIG_DRM_TI_TFP410 is not set
+# CONFIG_DRM_TI_SN65DSI83 is not set
+# CONFIG_DRM_TI_SN65DSI86 is not set
+# CONFIG_DRM_TI_TPD12S015 is not set
+# CONFIG_DRM_ANALOGIX_ANX6345 is not set
+# CONFIG_DRM_ANALOGIX_ANX78XX is not set
+# CONFIG_DRM_ANALOGIX_ANX7625 is not set
+# CONFIG_DRM_I2C_ADV7511 is not set
+CONFIG_DRM_CDNS_DSI=m
+CONFIG_DRM_CDNS_DSI_J721E=y
+# CONFIG_DRM_CDNS_MHDP8546 is not set
+# end of Display Interface Bridges
+
+# CONFIG_DRM_ETNAVIV is not set
+# CONFIG_DRM_LOGICVC is not set
+# CONFIG_DRM_ARCPGU is not set
+# CONFIG_DRM_BOCHS is not set
+# CONFIG_DRM_CIRRUS_QEMU is not set
+# CONFIG_DRM_GM12U320 is not set
+# CONFIG_DRM_PANEL_MIPI_DBI is not set
+CONFIG_DRM_SIMPLEDRM=y
+# CONFIG_TINYDRM_HX8357D is not set
+# CONFIG_TINYDRM_ILI9163 is not set
+# CONFIG_TINYDRM_ILI9225 is not set
+# CONFIG_TINYDRM_ILI9341 is not set
+# CONFIG_TINYDRM_ILI9486 is not set
+# CONFIG_TINYDRM_MI0283QT is not set
+# CONFIG_TINYDRM_REPAPER is not set
+# CONFIG_TINYDRM_ST7586 is not set
+# CONFIG_TINYDRM_ST7735R is not set
+# CONFIG_DRM_GUD is not set
+# CONFIG_DRM_SSD130X is not set
+CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
+
+#
+# Frame buffer Devices
+#
+CONFIG_FB=y
+# CONFIG_FB_CIRRUS is not set
+# CONFIG_FB_PM2 is not set
+# CONFIG_FB_CYBER2000 is not set
+# CONFIG_FB_ASILIANT is not set
+# CONFIG_FB_IMSTT is not set
+# CONFIG_FB_EFI is not set
+# CONFIG_FB_OPENCORES is not set
+# CONFIG_FB_S1D13XXX is not set
+# CONFIG_FB_NVIDIA is not set
+# CONFIG_FB_RIVA is not set
+# CONFIG_FB_I740 is not set
+# CONFIG_FB_MATROX is not set
+# CONFIG_FB_RADEON is not set
+# CONFIG_FB_ATY128 is not set
+# CONFIG_FB_ATY is not set
+# CONFIG_FB_S3 is not set
+# CONFIG_FB_SAVAGE is not set
+# CONFIG_FB_SIS is not set
+# CONFIG_FB_NEOMAGIC is not set
+# CONFIG_FB_KYRO is not set
+# CONFIG_FB_3DFX is not set
+# CONFIG_FB_VOODOO1 is not set
+# CONFIG_FB_VT8623 is not set
+# CONFIG_FB_TRIDENT is not set
+# CONFIG_FB_ARK is not set
+# CONFIG_FB_PM3 is not set
+# CONFIG_FB_CARMINE is not set
+# CONFIG_FB_SMSCUFX is not set
+# CONFIG_FB_UDL is not set
+# CONFIG_FB_IBM_GXT4500 is not set
+# CONFIG_FB_VIRTUAL is not set
+# CONFIG_FB_METRONOME is not set
+# CONFIG_FB_MB862XX is not set
+# CONFIG_FB_SSD1307 is not set
+# CONFIG_FB_SM712 is not set
+CONFIG_FB_CORE=y
+CONFIG_FB_NOTIFY=y
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FB_DEVICE=y
+CONFIG_FB_SYS_FILLRECT=y
+CONFIG_FB_SYS_COPYAREA=y
+CONFIG_FB_SYS_IMAGEBLIT=y
+# CONFIG_FB_FOREIGN_ENDIAN is not set
+CONFIG_FB_SYSMEM_FOPS=y
+CONFIG_FB_DEFERRED_IO=y
+CONFIG_FB_SYSMEM_HELPERS=y
+CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+# end of Frame buffer Devices
+
+#
+# Backlight & LCD device support
+#
+# CONFIG_LCD_CLASS_DEVICE is not set
+# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
+# end of Backlight & LCD device support
+
+CONFIG_HDMI=y
+
+#
+# Console display driver support
+#
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_DUMMY_CONSOLE_COLUMNS=80
+CONFIG_DUMMY_CONSOLE_ROWS=25
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set
+CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set
+# end of Console display driver support
+
+# CONFIG_LOGO is not set
+# end of Graphics support
+
+# CONFIG_DRM_ACCEL is not set
+CONFIG_SOUND=m
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
+CONFIG_SND_PCM_ELD=y
+CONFIG_SND_PCM_IEC958=y
+CONFIG_SND_DMAENGINE_PCM=m
+CONFIG_SND_HWDEP=m
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_JACK=y
+CONFIG_SND_JACK_INPUT_DEV=y
+# CONFIG_SND_OSSEMUL is not set
+CONFIG_SND_PCM_TIMER=y
+CONFIG_SND_HRTIMER=m
+CONFIG_SND_DYNAMIC_MINORS=y
+CONFIG_SND_MAX_CARDS=32
+# CONFIG_SND_SUPPORT_OLD_API is not set
+CONFIG_SND_PROC_FS=y
+CONFIG_SND_VERBOSE_PROCFS=y
+# CONFIG_SND_VERBOSE_PRINTK is not set
+CONFIG_SND_CTL_FAST_LOOKUP=y
+# CONFIG_SND_DEBUG is not set
+# CONFIG_SND_CTL_INPUT_VALIDATION is not set
+CONFIG_SND_VMASTER=y
+# CONFIG_SND_SEQUENCER is not set
+CONFIG_SND_AC97_CODEC=m
+CONFIG_SND_DRIVERS=y
+CONFIG_SND_DUMMY=m
+CONFIG_SND_ALOOP=m
+# CONFIG_SND_MTPAV is not set
+# CONFIG_SND_SERIAL_U16550 is not set
+# CONFIG_SND_MPU401 is not set
+# CONFIG_SND_AC97_POWER_SAVE is not set
+CONFIG_SND_PCI=y
+# CONFIG_SND_AD1889 is not set
+# CONFIG_SND_ATIIXP is not set
+# CONFIG_SND_ATIIXP_MODEM is not set
+# CONFIG_SND_AU8810 is not set
+# CONFIG_SND_AU8820 is not set
+# CONFIG_SND_AU8830 is not set
+# CONFIG_SND_AW2 is not set
+# CONFIG_SND_BT87X is not set
+# CONFIG_SND_CA0106 is not set
+# CONFIG_SND_CMIPCI is not set
+# CONFIG_SND_OXYGEN is not set
+# CONFIG_SND_CS4281 is not set
+# CONFIG_SND_CS46XX is not set
+# CONFIG_SND_CTXFI is not set
+# CONFIG_SND_DARLA20 is not set
+# CONFIG_SND_GINA20 is not set
+# CONFIG_SND_LAYLA20 is not set
+# CONFIG_SND_DARLA24 is not set
+# CONFIG_SND_GINA24 is not set
+# CONFIG_SND_LAYLA24 is not set
+# CONFIG_SND_MONA is not set
+# CONFIG_SND_MIA is not set
+# CONFIG_SND_ECHO3G is not set
+# CONFIG_SND_INDIGO is not set
+# CONFIG_SND_INDIGOIO is not set
+# CONFIG_SND_INDIGODJ is not set
+# CONFIG_SND_INDIGOIOX is not set
+# CONFIG_SND_INDIGODJX is not set
+# CONFIG_SND_ENS1370 is not set
+# CONFIG_SND_ENS1371 is not set
+# CONFIG_SND_FM801 is not set
+# CONFIG_SND_HDSP is not set
+# CONFIG_SND_HDSPM is not set
+# CONFIG_SND_ICE1724 is not set
+# CONFIG_SND_INTEL8X0 is not set
+# CONFIG_SND_INTEL8X0M is not set
+# CONFIG_SND_KORG1212 is not set
+# CONFIG_SND_LOLA is not set
+# CONFIG_SND_LX6464ES is not set
+# CONFIG_SND_MIXART is not set
+# CONFIG_SND_NM256 is not set
+# CONFIG_SND_PCXHR is not set
+# CONFIG_SND_RIPTIDE is not set
+# CONFIG_SND_RME32 is not set
+# CONFIG_SND_RME96 is not set
+# CONFIG_SND_RME9652 is not set
+# CONFIG_SND_SE6X is not set
+# CONFIG_SND_VIA82XX is not set
+# CONFIG_SND_VIA82XX_MODEM is not set
+# CONFIG_SND_VIRTUOSO is not set
+# CONFIG_SND_VX222 is not set
+# CONFIG_SND_YMFPCI is not set
+
+#
+# HD-Audio
+#
+# CONFIG_SND_HDA_INTEL is not set
+# end of HD-Audio
+
+CONFIG_SND_HDA_PREALLOC_SIZE=64
+CONFIG_SND_SPI=y
+CONFIG_SND_USB=y
+CONFIG_SND_USB_AUDIO=m
+# CONFIG_SND_USB_AUDIO_MIDI_V2 is not set
+CONFIG_SND_USB_UA101=m
+CONFIG_SND_USB_CAIAQ=m
+# CONFIG_SND_USB_CAIAQ_INPUT is not set
+CONFIG_SND_USB_6FIRE=m
+CONFIG_SND_USB_HIFACE=m
+CONFIG_SND_BCD2000=m
+CONFIG_SND_USB_LINE6=m
+CONFIG_SND_USB_POD=m
+CONFIG_SND_USB_PODHD=m
+CONFIG_SND_USB_TONEPORT=m
+CONFIG_SND_USB_VARIAX=m
+CONFIG_SND_SOC=m
+CONFIG_SND_SOC_AC97_BUS=y
+CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
+# CONFIG_SND_SOC_ADI is not set
+# CONFIG_SND_SOC_AMD_ACP is not set
+# CONFIG_SND_AMD_ACP_CONFIG is not set
+# CONFIG_SND_ATMEL_SOC is not set
+# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set
+# CONFIG_SND_DESIGNWARE_I2S is not set
+
+#
+# SoC Audio for Freescale CPUs
+#
+
+#
+# Common SoC Audio options for Freescale CPUs:
+#
+# CONFIG_SND_SOC_FSL_ASRC is not set
+# CONFIG_SND_SOC_FSL_SAI is not set
+# CONFIG_SND_SOC_FSL_AUDMIX is not set
+# CONFIG_SND_SOC_FSL_SSI is not set
+# CONFIG_SND_SOC_FSL_SPDIF is not set
+# CONFIG_SND_SOC_FSL_ESAI is not set
+# CONFIG_SND_SOC_FSL_MICFIL is not set
+# CONFIG_SND_SOC_FSL_XCVR is not set
+# CONFIG_SND_SOC_IMX_AUDMUX is not set
+# end of SoC Audio for Freescale CPUs
+
+# CONFIG_SND_SOC_CHV3_I2S is not set
+# CONFIG_SND_I2S_HI6210_I2S is not set
+# CONFIG_SND_SOC_IMG is not set
+# CONFIG_SND_SOC_MTK_BTCVSD is not set
+# CONFIG_SND_SOC_SOF_TOPLEVEL is not set
+CONFIG_SND_SOC_STARFIVE=m
+CONFIG_SND_SOC_JH7110_PWMDAC=m
+CONFIG_SND_SOC_JH7110_TDM=m
+
+#
+# STMicroelectronics STM32 SOC audio support
+#
+# end of STMicroelectronics STM32 SOC audio support
+
+# CONFIG_SND_SOC_XILINX_I2S is not set
+# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set
+# CONFIG_SND_SOC_XILINX_SPDIF is not set
+# CONFIG_SND_SOC_XTFPGA_I2S is not set
+CONFIG_SND_SOC_I2C_AND_SPI=m
+
+#
+# CODEC drivers
+#
+CONFIG_SND_SOC_AC97_CODEC=m
+# CONFIG_SND_SOC_ADAU1372_I2C is not set
+# CONFIG_SND_SOC_ADAU1372_SPI is not set
+# CONFIG_SND_SOC_ADAU1701 is not set
+# CONFIG_SND_SOC_ADAU1761_I2C is not set
+# CONFIG_SND_SOC_ADAU1761_SPI is not set
+# CONFIG_SND_SOC_ADAU7002 is not set
+# CONFIG_SND_SOC_ADAU7118_HW is not set
+# CONFIG_SND_SOC_ADAU7118_I2C is not set
+# CONFIG_SND_SOC_AK4104 is not set
+# CONFIG_SND_SOC_AK4118 is not set
+# CONFIG_SND_SOC_AK4375 is not set
+# CONFIG_SND_SOC_AK4458 is not set
+# CONFIG_SND_SOC_AK4554 is not set
+# CONFIG_SND_SOC_AK4613 is not set
+# CONFIG_SND_SOC_AK4642 is not set
+# CONFIG_SND_SOC_AK5386 is not set
+# CONFIG_SND_SOC_AK5558 is not set
+# CONFIG_SND_SOC_ALC5623 is not set
+# CONFIG_SND_SOC_AW8738 is not set
+# CONFIG_SND_SOC_AW88395 is not set
+# CONFIG_SND_SOC_AW88261 is not set
+# CONFIG_SND_SOC_AW87390 is not set
+# CONFIG_SND_SOC_AW88399 is not set
+# CONFIG_SND_SOC_BD28623 is not set
+# CONFIG_SND_SOC_BT_SCO is not set
+# CONFIG_SND_SOC_CHV3_CODEC is not set
+# CONFIG_SND_SOC_CS35L32 is not set
+# CONFIG_SND_SOC_CS35L33 is not set
+# CONFIG_SND_SOC_CS35L34 is not set
+# CONFIG_SND_SOC_CS35L35 is not set
+# CONFIG_SND_SOC_CS35L36 is not set
+# CONFIG_SND_SOC_CS35L41_SPI is not set
+# CONFIG_SND_SOC_CS35L41_I2C is not set
+# CONFIG_SND_SOC_CS35L45_SPI is not set
+# CONFIG_SND_SOC_CS35L45_I2C is not set
+# CONFIG_SND_SOC_CS35L56_I2C is not set
+# CONFIG_SND_SOC_CS35L56_SPI is not set
+# CONFIG_SND_SOC_CS42L42 is not set
+# CONFIG_SND_SOC_CS42L51_I2C is not set
+# CONFIG_SND_SOC_CS42L52 is not set
+# CONFIG_SND_SOC_CS42L56 is not set
+# CONFIG_SND_SOC_CS42L73 is not set
+# CONFIG_SND_SOC_CS42L83 is not set
+# CONFIG_SND_SOC_CS4234 is not set
+# CONFIG_SND_SOC_CS4265 is not set
+# CONFIG_SND_SOC_CS4270 is not set
+# CONFIG_SND_SOC_CS4271_I2C is not set
+# CONFIG_SND_SOC_CS4271_SPI is not set
+# CONFIG_SND_SOC_CS42XX8_I2C is not set
+# CONFIG_SND_SOC_CS43130 is not set
+# CONFIG_SND_SOC_CS4341 is not set
+# CONFIG_SND_SOC_CS4349 is not set
+# CONFIG_SND_SOC_CS53L30 is not set
+# CONFIG_SND_SOC_CX2072X is not set
+# CONFIG_SND_SOC_DA7213 is not set
+# CONFIG_SND_SOC_DMIC is not set
+CONFIG_SND_SOC_HDMI_CODEC=m
+# CONFIG_SND_SOC_ES7134 is not set
+# CONFIG_SND_SOC_ES7241 is not set
+# CONFIG_SND_SOC_ES8316 is not set
+# CONFIG_SND_SOC_ES8326 is not set
+# CONFIG_SND_SOC_ES8328_I2C is not set
+# CONFIG_SND_SOC_ES8328_SPI is not set
+# CONFIG_SND_SOC_GTM601 is not set
+# CONFIG_SND_SOC_HDA is not set
+# CONFIG_SND_SOC_ICS43432 is not set
+# CONFIG_SND_SOC_IDT821034 is not set
+# CONFIG_SND_SOC_INNO_RK3036 is not set
+# CONFIG_SND_SOC_MAX98088 is not set
+# CONFIG_SND_SOC_MAX98090 is not set
+# CONFIG_SND_SOC_MAX98357A is not set
+# CONFIG_SND_SOC_MAX98504 is not set
+# CONFIG_SND_SOC_MAX9867 is not set
+# CONFIG_SND_SOC_MAX98927 is not set
+# CONFIG_SND_SOC_MAX98520 is not set
+# CONFIG_SND_SOC_MAX98373_I2C is not set
+# CONFIG_SND_SOC_MAX98388 is not set
+# CONFIG_SND_SOC_MAX98390 is not set
+# CONFIG_SND_SOC_MAX98396 is not set
+# CONFIG_SND_SOC_MAX9860 is not set
+# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set
+# CONFIG_SND_SOC_PCM1681 is not set
+# CONFIG_SND_SOC_PCM1789_I2C is not set
+# CONFIG_SND_SOC_PCM179X_I2C is not set
+# CONFIG_SND_SOC_PCM179X_SPI is not set
+# CONFIG_SND_SOC_PCM186X_I2C is not set
+# CONFIG_SND_SOC_PCM186X_SPI is not set
+# CONFIG_SND_SOC_PCM3060_I2C is not set
+# CONFIG_SND_SOC_PCM3060_SPI is not set
+# CONFIG_SND_SOC_PCM3168A_I2C is not set
+# CONFIG_SND_SOC_PCM3168A_SPI is not set
+# CONFIG_SND_SOC_PCM5102A is not set
+# CONFIG_SND_SOC_PCM512x_I2C is not set
+# CONFIG_SND_SOC_PCM512x_SPI is not set
+# CONFIG_SND_SOC_PEB2466 is not set
+# CONFIG_SND_SOC_RK3328 is not set
+# CONFIG_SND_SOC_RT5616 is not set
+# CONFIG_SND_SOC_RT5631 is not set
+# CONFIG_SND_SOC_RT5640 is not set
+# CONFIG_SND_SOC_RT5659 is not set
+# CONFIG_SND_SOC_RT9120 is not set
+# CONFIG_SND_SOC_RTQ9128 is not set
+# CONFIG_SND_SOC_SGTL5000 is not set
+# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set
+# CONFIG_SND_SOC_SIMPLE_MUX is not set
+# CONFIG_SND_SOC_SMA1303 is not set
+CONFIG_SND_SOC_SPDIF=m
+# CONFIG_SND_SOC_SRC4XXX_I2C is not set
+# CONFIG_SND_SOC_SSM2305 is not set
+# CONFIG_SND_SOC_SSM2518 is not set
+# CONFIG_SND_SOC_SSM2602_SPI is not set
+# CONFIG_SND_SOC_SSM2602_I2C is not set
+# CONFIG_SND_SOC_SSM3515 is not set
+# CONFIG_SND_SOC_SSM4567 is not set
+# CONFIG_SND_SOC_STA32X is not set
+# CONFIG_SND_SOC_STA350 is not set
+# CONFIG_SND_SOC_STI_SAS is not set
+# CONFIG_SND_SOC_TAS2552 is not set
+# CONFIG_SND_SOC_TAS2562 is not set
+# CONFIG_SND_SOC_TAS2764 is not set
+# CONFIG_SND_SOC_TAS2770 is not set
+# CONFIG_SND_SOC_TAS2780 is not set
+# CONFIG_SND_SOC_TAS2781_I2C is not set
+# CONFIG_SND_SOC_TAS5086 is not set
+# CONFIG_SND_SOC_TAS571X is not set
+# CONFIG_SND_SOC_TAS5720 is not set
+# CONFIG_SND_SOC_TAS5805M is not set
+# CONFIG_SND_SOC_TAS6424 is not set
+# CONFIG_SND_SOC_TDA7419 is not set
+# CONFIG_SND_SOC_TFA9879 is not set
+# CONFIG_SND_SOC_TFA989X is not set
+# CONFIG_SND_SOC_TLV320ADC3XXX is not set
+# CONFIG_SND_SOC_TLV320AIC23_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC23_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC31XX is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set
+# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set
+# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set
+# CONFIG_SND_SOC_TLV320ADCX140 is not set
+# CONFIG_SND_SOC_TS3A227E is not set
+# CONFIG_SND_SOC_TSCS42XX is not set
+# CONFIG_SND_SOC_TSCS454 is not set
+# CONFIG_SND_SOC_UDA1334 is not set
+# CONFIG_SND_SOC_WM8510 is not set
+# CONFIG_SND_SOC_WM8523 is not set
+# CONFIG_SND_SOC_WM8524 is not set
+# CONFIG_SND_SOC_WM8580 is not set
+# CONFIG_SND_SOC_WM8711 is not set
+# CONFIG_SND_SOC_WM8728 is not set
+# CONFIG_SND_SOC_WM8731_I2C is not set
+# CONFIG_SND_SOC_WM8731_SPI is not set
+# CONFIG_SND_SOC_WM8737 is not set
+# CONFIG_SND_SOC_WM8741 is not set
+# CONFIG_SND_SOC_WM8750 is not set
+# CONFIG_SND_SOC_WM8753 is not set
+# CONFIG_SND_SOC_WM8770 is not set
+# CONFIG_SND_SOC_WM8776 is not set
+# CONFIG_SND_SOC_WM8782 is not set
+# CONFIG_SND_SOC_WM8804_I2C is not set
+# CONFIG_SND_SOC_WM8804_SPI is not set
+# CONFIG_SND_SOC_WM8903 is not set
+# CONFIG_SND_SOC_WM8904 is not set
+# CONFIG_SND_SOC_WM8940 is not set
+# CONFIG_SND_SOC_WM8960 is not set
+# CONFIG_SND_SOC_WM8961 is not set
+# CONFIG_SND_SOC_WM8962 is not set
+# CONFIG_SND_SOC_WM8974 is not set
+# CONFIG_SND_SOC_WM8978 is not set
+# CONFIG_SND_SOC_WM8985 is not set
+# CONFIG_SND_SOC_ZL38060 is not set
+# CONFIG_SND_SOC_MAX9759 is not set
+# CONFIG_SND_SOC_MT6351 is not set
+# CONFIG_SND_SOC_MT6358 is not set
+# CONFIG_SND_SOC_MT6660 is not set
+# CONFIG_SND_SOC_NAU8315 is not set
+# CONFIG_SND_SOC_NAU8540 is not set
+# CONFIG_SND_SOC_NAU8810 is not set
+# CONFIG_SND_SOC_NAU8821 is not set
+# CONFIG_SND_SOC_NAU8822 is not set
+# CONFIG_SND_SOC_NAU8824 is not set
+# CONFIG_SND_SOC_TPA6130A2 is not set
+# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_VA_MACRO is not set
+# CONFIG_SND_SOC_LPASS_RX_MACRO is not set
+# CONFIG_SND_SOC_LPASS_TX_MACRO is not set
+# end of CODEC drivers
+
+CONFIG_SND_SIMPLE_CARD_UTILS=m
+CONFIG_SND_SIMPLE_CARD=m
+# CONFIG_SND_AUDIO_GRAPH_CARD is not set
+# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set
+# CONFIG_SND_TEST_COMPONENT is not set
+# CONFIG_SND_VIRTIO is not set
+CONFIG_AC97_BUS=m
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=m
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HIDRAW=y
+CONFIG_UHID=m
+CONFIG_HID_GENERIC=m
+
+#
+# Special HID drivers
+#
+# CONFIG_HID_A4TECH is not set
+# CONFIG_HID_ACCUTOUCH is not set
+# CONFIG_HID_ACRUX is not set
+# CONFIG_HID_APPLE is not set
+# CONFIG_HID_APPLEIR is not set
+# CONFIG_HID_ASUS is not set
+# CONFIG_HID_AUREAL is not set
+# CONFIG_HID_BELKIN is not set
+# CONFIG_HID_BETOP_FF is not set
+# CONFIG_HID_BIGBEN_FF is not set
+# CONFIG_HID_CHERRY is not set
+# CONFIG_HID_CHICONY is not set
+# CONFIG_HID_CORSAIR is not set
+# CONFIG_HID_COUGAR is not set
+# CONFIG_HID_MACALLY is not set
+# CONFIG_HID_PRODIKEYS is not set
+# CONFIG_HID_CMEDIA is not set
+# CONFIG_HID_CP2112 is not set
+# CONFIG_HID_CREATIVE_SB0540 is not set
+# CONFIG_HID_CYPRESS is not set
+# CONFIG_HID_DRAGONRISE is not set
+# CONFIG_HID_EMS_FF is not set
+# CONFIG_HID_ELAN is not set
+# CONFIG_HID_ELECOM is not set
+# CONFIG_HID_ELO is not set
+# CONFIG_HID_EVISION is not set
+# CONFIG_HID_EZKEY is not set
+# CONFIG_HID_FT260 is not set
+# CONFIG_HID_GEMBIRD is not set
+# CONFIG_HID_GFRM is not set
+# CONFIG_HID_GLORIOUS is not set
+# CONFIG_HID_HOLTEK is not set
+# CONFIG_HID_GOOGLE_STADIA_FF is not set
+# CONFIG_HID_VIVALDI is not set
+# CONFIG_HID_GT683R is not set
+# CONFIG_HID_KEYTOUCH is not set
+# CONFIG_HID_KYE is not set
+CONFIG_HID_UCLOGIC=m
+# CONFIG_HID_WALTOP is not set
+# CONFIG_HID_VIEWSONIC is not set
+# CONFIG_HID_VRC2 is not set
+# CONFIG_HID_XIAOMI is not set
+# CONFIG_HID_GYRATION is not set
+# CONFIG_HID_ICADE is not set
+# CONFIG_HID_ITE is not set
+# CONFIG_HID_JABRA is not set
+# CONFIG_HID_TWINHAN is not set
+# CONFIG_HID_KENSINGTON is not set
+# CONFIG_HID_LCPOWER is not set
+# CONFIG_HID_LED is not set
+# CONFIG_HID_LENOVO is not set
+# CONFIG_HID_LETSKETCH is not set
+CONFIG_HID_LOGITECH=m
+# CONFIG_HID_LOGITECH_DJ is not set
+# CONFIG_HID_LOGITECH_HIDPP is not set
+# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGIRUMBLEPAD2_FF is not set
+# CONFIG_LOGIG940_FF is not set
+# CONFIG_LOGIWHEELS_FF is not set
+# CONFIG_HID_MAGICMOUSE is not set
+# CONFIG_HID_MALTRON is not set
+# CONFIG_HID_MAYFLASH is not set
+# CONFIG_HID_MEGAWORLD_FF is not set
+# CONFIG_HID_REDRAGON is not set
+# CONFIG_HID_MICROSOFT is not set
+# CONFIG_HID_MONTEREY is not set
+# CONFIG_HID_MULTITOUCH is not set
+# CONFIG_HID_NINTENDO is not set
+# CONFIG_HID_NTI is not set
+# CONFIG_HID_NTRIG is not set
+# CONFIG_HID_ORTEK is not set
+# CONFIG_HID_PANTHERLORD is not set
+# CONFIG_HID_PENMOUNT is not set
+# CONFIG_HID_PETALYNX is not set
+# CONFIG_HID_PICOLCD is not set
+# CONFIG_HID_PLANTRONICS is not set
+# CONFIG_HID_PXRC is not set
+# CONFIG_HID_RAZER is not set
+# CONFIG_HID_PRIMAX is not set
+# CONFIG_HID_RETRODE is not set
+# CONFIG_HID_ROCCAT is not set
+# CONFIG_HID_SAITEK is not set
+# CONFIG_HID_SAMSUNG is not set
+# CONFIG_HID_SEMITEK is not set
+# CONFIG_HID_SIGMAMICRO is not set
+# CONFIG_HID_SONY is not set
+# CONFIG_HID_SPEEDLINK is not set
+# CONFIG_HID_STEAM is not set
+# CONFIG_HID_STEELSERIES is not set
+# CONFIG_HID_SUNPLUS is not set
+# CONFIG_HID_RMI is not set
+# CONFIG_HID_GREENASIA is not set
+# CONFIG_HID_SMARTJOYPLUS is not set
+# CONFIG_HID_TIVO is not set
+# CONFIG_HID_TOPSEED is not set
+# CONFIG_HID_TOPRE is not set
+# CONFIG_HID_THINGM is not set
+# CONFIG_HID_THRUSTMASTER is not set
+# CONFIG_HID_UDRAW_PS3 is not set
+# CONFIG_HID_U2FZERO is not set
+# CONFIG_HID_WACOM is not set
+# CONFIG_HID_WIIMOTE is not set
+# CONFIG_HID_XINMO is not set
+# CONFIG_HID_ZEROPLUS is not set
+# CONFIG_HID_ZYDACRON is not set
+# CONFIG_HID_SENSOR_HUB is not set
+# CONFIG_HID_ALPS is not set
+# CONFIG_HID_MCP2200 is not set
+# CONFIG_HID_MCP2221 is not set
+# end of Special HID drivers
+
+#
+# HID-BPF support
+#
+# end of HID-BPF support
+
+#
+# USB HID support
+#
+CONFIG_USB_HID=m
+# CONFIG_HID_PID is not set
+CONFIG_USB_HIDDEV=y
+# end of USB HID support
+
+CONFIG_I2C_HID=m
+# CONFIG_I2C_HID_OF is not set
+# CONFIG_I2C_HID_OF_ELAN is not set
+# CONFIG_I2C_HID_OF_GOODIX is not set
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_LED_TRIG is not set
+# CONFIG_USB_ULPI_BUS is not set
+# CONFIG_USB_CONN_GPIO is not set
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB=y
+CONFIG_USB_PCI=y
+# CONFIG_USB_PCI_AMD is not set
+CONFIG_USB_ANNOUNCE_NEW_DEVICES=y
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEFAULT_PERSIST=y
+# CONFIG_USB_FEW_INIT_RETRIES is not set
+# CONFIG_USB_DYNAMIC_MINORS is not set
+# CONFIG_USB_OTG is not set
+# CONFIG_USB_OTG_PRODUCTLIST is not set
+# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set
+CONFIG_USB_AUTOSUSPEND_DELAY=2
+# CONFIG_USB_MON is not set
+
+#
+# USB Host Controller Drivers
+#
+# CONFIG_USB_C67X00_HCD is not set
+CONFIG_USB_XHCI_HCD=y
+CONFIG_USB_XHCI_DBGCAP=y
+CONFIG_USB_XHCI_PCI=y
+# CONFIG_USB_XHCI_PCI_RENESAS is not set
+CONFIG_USB_XHCI_PLATFORM=y
+# CONFIG_USB_EHCI_HCD is not set
+# CONFIG_USB_OXU210HP_HCD is not set
+# CONFIG_USB_ISP116X_HCD is not set
+# CONFIG_USB_MAX3421_HCD is not set
+# CONFIG_USB_OHCI_HCD is not set
+# CONFIG_USB_UHCI_HCD is not set
+# CONFIG_USB_SL811_HCD is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_HCD_TEST_MODE is not set
+
+#
+# USB Device Class drivers
+#
+# CONFIG_USB_ACM is not set
+# CONFIG_USB_PRINTER is not set
+# CONFIG_USB_WDM is not set
+# CONFIG_USB_TMC is not set
+
+#
+# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may
+#
+
+#
+# also be needed; see USB_STORAGE Help for more info
+#
+CONFIG_USB_STORAGE=y
+# CONFIG_USB_STORAGE_DEBUG is not set
+# CONFIG_USB_STORAGE_REALTEK is not set
+# CONFIG_USB_STORAGE_DATAFAB is not set
+# CONFIG_USB_STORAGE_FREECOM is not set
+# CONFIG_USB_STORAGE_ISD200 is not set
+# CONFIG_USB_STORAGE_USBAT is not set
+# CONFIG_USB_STORAGE_SDDR09 is not set
+# CONFIG_USB_STORAGE_SDDR55 is not set
+# CONFIG_USB_STORAGE_JUMPSHOT is not set
+# CONFIG_USB_STORAGE_ALAUDA is not set
+# CONFIG_USB_STORAGE_ONETOUCH is not set
+# CONFIG_USB_STORAGE_KARMA is not set
+# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set
+# CONFIG_USB_STORAGE_ENE_UB6250 is not set
+CONFIG_USB_UAS=y
+
+#
+# USB Imaging devices
+#
+# CONFIG_USB_MDC800 is not set
+# CONFIG_USB_MICROTEK is not set
+# CONFIG_USBIP_CORE is not set
+
+#
+# USB dual-mode controller drivers
+#
+CONFIG_USB_CDNS_SUPPORT=y
+CONFIG_USB_CDNS_HOST=y
+CONFIG_USB_CDNS3=y
+CONFIG_USB_CDNS3_HOST=y
+CONFIG_USB_CDNS3_STARFIVE=y
+# CONFIG_USB_MUSB_HDRC is not set
+CONFIG_USB_DWC3=m
+CONFIG_USB_DWC3_HOST=y
+
+#
+# Platform Glue Driver Support
+#
+CONFIG_USB_DWC3_HAPS=m
+CONFIG_USB_DWC3_OF_SIMPLE=m
+# CONFIG_USB_DWC2 is not set
+# CONFIG_USB_ISP1760 is not set
+
+#
+# USB port drivers
+#
+CONFIG_USB_SERIAL=m
+# CONFIG_USB_SERIAL_GENERIC is not set
+CONFIG_USB_SERIAL_SIMPLE=m
+# CONFIG_USB_SERIAL_AIRCABLE is not set
+# CONFIG_USB_SERIAL_ARK3116 is not set
+# CONFIG_USB_SERIAL_BELKIN is not set
+# CONFIG_USB_SERIAL_CH341 is not set
+# CONFIG_USB_SERIAL_WHITEHEAT is not set
+# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set
+CONFIG_USB_SERIAL_CP210X=m
+CONFIG_USB_SERIAL_CYPRESS_M8=m
+# CONFIG_USB_SERIAL_EMPEG is not set
+CONFIG_USB_SERIAL_FTDI_SIO=m
+# CONFIG_USB_SERIAL_VISOR is not set
+# CONFIG_USB_SERIAL_IPAQ is not set
+# CONFIG_USB_SERIAL_IR is not set
+# CONFIG_USB_SERIAL_EDGEPORT is not set
+# CONFIG_USB_SERIAL_EDGEPORT_TI is not set
+# CONFIG_USB_SERIAL_F81232 is not set
+# CONFIG_USB_SERIAL_F8153X is not set
+CONFIG_USB_SERIAL_GARMIN=m
+# CONFIG_USB_SERIAL_IPW is not set
+# CONFIG_USB_SERIAL_IUU is not set
+# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set
+# CONFIG_USB_SERIAL_KEYSPAN is not set
+# CONFIG_USB_SERIAL_KLSI is not set
+CONFIG_USB_SERIAL_KOBIL_SCT=m
+# CONFIG_USB_SERIAL_MCT_U232 is not set
+# CONFIG_USB_SERIAL_METRO is not set
+# CONFIG_USB_SERIAL_MOS7720 is not set
+# CONFIG_USB_SERIAL_MOS7840 is not set
+# CONFIG_USB_SERIAL_MXUPORT is not set
+# CONFIG_USB_SERIAL_NAVMAN is not set
+CONFIG_USB_SERIAL_PL2303=m
+# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_SERIAL_QCAUX is not set
+# CONFIG_USB_SERIAL_QUALCOMM is not set
+# CONFIG_USB_SERIAL_SPCP8X5 is not set
+# CONFIG_USB_SERIAL_SAFE is not set
+# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set
+# CONFIG_USB_SERIAL_SYMBOL is not set
+# CONFIG_USB_SERIAL_TI is not set
+# CONFIG_USB_SERIAL_CYBERJACK is not set
+# CONFIG_USB_SERIAL_OPTION is not set
+# CONFIG_USB_SERIAL_OMNINET is not set
+# CONFIG_USB_SERIAL_OPTICON is not set
+# CONFIG_USB_SERIAL_XSENS_MT is not set
+# CONFIG_USB_SERIAL_WISHBONE is not set
+# CONFIG_USB_SERIAL_SSU100 is not set
+# CONFIG_USB_SERIAL_QT2 is not set
+# CONFIG_USB_SERIAL_UPD78F0730 is not set
+# CONFIG_USB_SERIAL_XR is not set
+# CONFIG_USB_SERIAL_DEBUG is not set
+
+#
+# USB Miscellaneous drivers
+#
+# CONFIG_USB_EMI62 is not set
+# CONFIG_USB_EMI26 is not set
+# CONFIG_USB_ADUTUX is not set
+# CONFIG_USB_SEVSEG is not set
+# CONFIG_USB_LEGOTOWER is not set
+# CONFIG_USB_LCD is not set
+# CONFIG_USB_CYPRESS_CY7C63 is not set
+# CONFIG_USB_CYTHERM is not set
+# CONFIG_USB_IDMOUSE is not set
+# CONFIG_USB_APPLEDISPLAY is not set
+# CONFIG_APPLE_MFI_FASTCHARGE is not set
+# CONFIG_USB_LD is not set
+# CONFIG_USB_TRANCEVIBRATOR is not set
+# CONFIG_USB_IOWARRIOR is not set
+# CONFIG_USB_TEST is not set
+# CONFIG_USB_EHSET_TEST_FIXTURE is not set
+# CONFIG_USB_ISIGHTFW is not set
+# CONFIG_USB_YUREX is not set
+# CONFIG_USB_EZUSB_FX2 is not set
+# CONFIG_USB_HUB_USB251XB is not set
+# CONFIG_USB_HSIC_USB3503 is not set
+# CONFIG_USB_HSIC_USB4604 is not set
+# CONFIG_USB_LINK_LAYER_TEST is not set
+# CONFIG_USB_CHAOSKEY is not set
+# CONFIG_USB_ONBOARD_HUB is not set
+# CONFIG_USB_ATM is not set
+
+#
+# USB Physical Layer drivers
+#
+# CONFIG_NOP_USB_XCEIV is not set
+# CONFIG_USB_GPIO_VBUS is not set
+# CONFIG_USB_ISP1301 is not set
+# end of USB Physical Layer drivers
+
+# CONFIG_USB_GADGET is not set
+CONFIG_TYPEC=y
+CONFIG_TYPEC_TCPM=y
+CONFIG_TYPEC_TCPCI=y
+# CONFIG_TYPEC_RT1711H is not set
+# CONFIG_TYPEC_TCPCI_MAXIM is not set
+# CONFIG_TYPEC_FUSB302 is not set
+# CONFIG_TYPEC_UCSI is not set
+# CONFIG_TYPEC_TPS6598X is not set
+# CONFIG_TYPEC_ANX7411 is not set
+# CONFIG_TYPEC_RT1719 is not set
+# CONFIG_TYPEC_HD3SS3220 is not set
+# CONFIG_TYPEC_STUSB160X is not set
+# CONFIG_TYPEC_WUSB3801 is not set
+
+#
+# USB Type-C Multiplexer/DeMultiplexer Switch support
+#
+# CONFIG_TYPEC_MUX_FSA4480 is not set
+# CONFIG_TYPEC_MUX_GPIO_SBU is not set
+# CONFIG_TYPEC_MUX_PI3USB30532 is not set
+# CONFIG_TYPEC_MUX_NB7VPQ904M is not set
+# CONFIG_TYPEC_MUX_PTN36502 is not set
+# CONFIG_TYPEC_MUX_WCD939X_USBSS is not set
+# end of USB Type-C Multiplexer/DeMultiplexer Switch support
+
+#
+# USB Type-C Alternate Mode drivers
+#
+# CONFIG_TYPEC_DP_ALTMODE is not set
+# end of USB Type-C Alternate Mode drivers
+
+CONFIG_USB_ROLE_SWITCH=y
+CONFIG_MMC=m
+CONFIG_PWRSEQ_EMMC=m
+CONFIG_PWRSEQ_SIMPLE=m
+CONFIG_MMC_BLOCK=m
+CONFIG_MMC_BLOCK_MINORS=8
+# CONFIG_SDIO_UART is not set
+# CONFIG_MMC_TEST is not set
+
+#
+# MMC/SD/SDIO Host Controller Drivers
+#
+# CONFIG_MMC_DEBUG is not set
+# CONFIG_MMC_ARMMMCI is not set
+# CONFIG_MMC_SDHCI is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_SPI is not set
+# CONFIG_MMC_CB710 is not set
+# CONFIG_MMC_VIA_SDMMC is not set
+CONFIG_MMC_DW=m
+CONFIG_MMC_DW_PLTFM=m
+# CONFIG_MMC_DW_BLUEFIELD is not set
+# CONFIG_MMC_DW_EXYNOS is not set
+# CONFIG_MMC_DW_HI3798CV200 is not set
+# CONFIG_MMC_DW_K3 is not set
+# CONFIG_MMC_DW_PCI is not set
+CONFIG_MMC_DW_STARFIVE=m
+# CONFIG_MMC_VUB300 is not set
+# CONFIG_MMC_USHC is not set
+# CONFIG_MMC_USDHI6ROL0 is not set
+# CONFIG_MMC_CQHCI is not set
+CONFIG_MMC_HSQ=m
+# CONFIG_MMC_TOSHIBA_PCI is not set
+# CONFIG_MMC_MTK is not set
+# CONFIG_SCSI_UFSHCD is not set
+# CONFIG_MEMSTICK is not set
+CONFIG_NEW_LEDS=y
+CONFIG_LEDS_CLASS=m
+# CONFIG_LEDS_CLASS_FLASH is not set
+# CONFIG_LEDS_CLASS_MULTICOLOR is not set
+# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set
+
+#
+# LED drivers
+#
+# CONFIG_LEDS_AN30259A is not set
+# CONFIG_LEDS_AW200XX is not set
+# CONFIG_LEDS_AW2013 is not set
+# CONFIG_LEDS_BCM6328 is not set
+# CONFIG_LEDS_BCM6358 is not set
+# CONFIG_LEDS_CR0014114 is not set
+# CONFIG_LEDS_EL15203000 is not set
+# CONFIG_LEDS_LM3530 is not set
+# CONFIG_LEDS_LM3532 is not set
+# CONFIG_LEDS_LM3642 is not set
+# CONFIG_LEDS_LM3692X is not set
+# CONFIG_LEDS_PCA9532 is not set
+CONFIG_LEDS_GPIO=m
+# CONFIG_LEDS_LP3944 is not set
+# CONFIG_LEDS_LP3952 is not set
+# CONFIG_LEDS_LP50XX is not set
+# CONFIG_LEDS_LP55XX_COMMON is not set
+# CONFIG_LEDS_LP8860 is not set
+# CONFIG_LEDS_PCA955X is not set
+# CONFIG_LEDS_PCA963X is not set
+# CONFIG_LEDS_PCA995X is not set
+# CONFIG_LEDS_DAC124S085 is not set
+CONFIG_LEDS_PWM=m
+# CONFIG_LEDS_REGULATOR is not set
+# CONFIG_LEDS_BD2606MVV is not set
+# CONFIG_LEDS_BD2802 is not set
+# CONFIG_LEDS_LT3593 is not set
+# CONFIG_LEDS_TCA6507 is not set
+# CONFIG_LEDS_TLC591XX is not set
+# CONFIG_LEDS_LM355x is not set
+# CONFIG_LEDS_IS31FL319X is not set
+# CONFIG_LEDS_IS31FL32XX is not set
+
+#
+# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
+#
+# CONFIG_LEDS_BLINKM is not set
+# CONFIG_LEDS_MLXREG is not set
+CONFIG_LEDS_USER=m
+# CONFIG_LEDS_SPI_BYTE is not set
+# CONFIG_LEDS_LM3697 is not set
+
+#
+# Flash and Torch LED drivers
+#
+
+#
+# RGB LED drivers
+#
+
+#
+# LED Triggers
+#
+CONFIG_LEDS_TRIGGERS=y
+CONFIG_LEDS_TRIGGER_TIMER=m
+CONFIG_LEDS_TRIGGER_ONESHOT=m
+# CONFIG_LEDS_TRIGGER_MTD is not set
+CONFIG_LEDS_TRIGGER_HEARTBEAT=m
+# CONFIG_LEDS_TRIGGER_BACKLIGHT is not set
+# CONFIG_LEDS_TRIGGER_CPU is not set
+CONFIG_LEDS_TRIGGER_ACTIVITY=m
+CONFIG_LEDS_TRIGGER_GPIO=m
+CONFIG_LEDS_TRIGGER_DEFAULT_ON=m
+
+#
+# iptables trigger is under Netfilter config (LED target)
+#
+CONFIG_LEDS_TRIGGER_TRANSIENT=m
+# CONFIG_LEDS_TRIGGER_CAMERA is not set
+CONFIG_LEDS_TRIGGER_PANIC=y
+CONFIG_LEDS_TRIGGER_NETDEV=m
+CONFIG_LEDS_TRIGGER_PATTERN=m
+CONFIG_LEDS_TRIGGER_AUDIO=m
+CONFIG_LEDS_TRIGGER_TTY=m
+
+#
+# Simple LED drivers
+#
+# CONFIG_ACCESSIBILITY is not set
+# CONFIG_INFINIBAND is not set
+CONFIG_EDAC_SUPPORT=y
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+CONFIG_RTC_SYSTOHC=y
+CONFIG_RTC_SYSTOHC_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+CONFIG_RTC_NVMEM=y
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+# CONFIG_RTC_DRV_TEST is not set
+
+#
+# I2C RTC drivers
+#
+# CONFIG_RTC_DRV_ABB5ZES3 is not set
+# CONFIG_RTC_DRV_ABEOZ9 is not set
+# CONFIG_RTC_DRV_ABX80X is not set
+# CONFIG_RTC_DRV_DS1307 is not set
+# CONFIG_RTC_DRV_DS1374 is not set
+# CONFIG_RTC_DRV_DS1672 is not set
+# CONFIG_RTC_DRV_HYM8563 is not set
+# CONFIG_RTC_DRV_MAX6900 is not set
+# CONFIG_RTC_DRV_MAX31335 is not set
+# CONFIG_RTC_DRV_NCT3018Y is not set
+# CONFIG_RTC_DRV_RS5C372 is not set
+# CONFIG_RTC_DRV_ISL1208 is not set
+# CONFIG_RTC_DRV_ISL12022 is not set
+# CONFIG_RTC_DRV_ISL12026 is not set
+# CONFIG_RTC_DRV_X1205 is not set
+# CONFIG_RTC_DRV_PCF8523 is not set
+# CONFIG_RTC_DRV_PCF85063 is not set
+# CONFIG_RTC_DRV_PCF85363 is not set
+# CONFIG_RTC_DRV_PCF8563 is not set
+# CONFIG_RTC_DRV_PCF8583 is not set
+# CONFIG_RTC_DRV_M41T80 is not set
+# CONFIG_RTC_DRV_BQ32K is not set
+# CONFIG_RTC_DRV_S35390A is not set
+# CONFIG_RTC_DRV_FM3130 is not set
+# CONFIG_RTC_DRV_RX8010 is not set
+# CONFIG_RTC_DRV_RX8581 is not set
+# CONFIG_RTC_DRV_RX8025 is not set
+# CONFIG_RTC_DRV_EM3027 is not set
+# CONFIG_RTC_DRV_RV3028 is not set
+# CONFIG_RTC_DRV_RV3032 is not set
+# CONFIG_RTC_DRV_RV8803 is not set
+# CONFIG_RTC_DRV_SD3078 is not set
+
+#
+# SPI RTC drivers
+#
+# CONFIG_RTC_DRV_M41T93 is not set
+# CONFIG_RTC_DRV_M41T94 is not set
+# CONFIG_RTC_DRV_DS1302 is not set
+# CONFIG_RTC_DRV_DS1305 is not set
+# CONFIG_RTC_DRV_DS1343 is not set
+# CONFIG_RTC_DRV_DS1347 is not set
+# CONFIG_RTC_DRV_DS1390 is not set
+# CONFIG_RTC_DRV_MAX6916 is not set
+# CONFIG_RTC_DRV_R9701 is not set
+# CONFIG_RTC_DRV_RX4581 is not set
+# CONFIG_RTC_DRV_RS5C348 is not set
+# CONFIG_RTC_DRV_MAX6902 is not set
+# CONFIG_RTC_DRV_PCF2123 is not set
+# CONFIG_RTC_DRV_MCP795 is not set
+CONFIG_RTC_I2C_AND_SPI=y
+
+#
+# SPI and I2C RTC drivers
+#
+# CONFIG_RTC_DRV_DS3232 is not set
+# CONFIG_RTC_DRV_PCF2127 is not set
+# CONFIG_RTC_DRV_RV3029C2 is not set
+# CONFIG_RTC_DRV_RX6110 is not set
+
+#
+# Platform RTC drivers
+#
+# CONFIG_RTC_DRV_DS1286 is not set
+# CONFIG_RTC_DRV_DS1511 is not set
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1685_FAMILY is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_DS2404 is not set
+# CONFIG_RTC_DRV_EFI is not set
+# CONFIG_RTC_DRV_STK17TA8 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+# CONFIG_RTC_DRV_M48T35 is not set
+# CONFIG_RTC_DRV_M48T59 is not set
+# CONFIG_RTC_DRV_MSM6242 is not set
+# CONFIG_RTC_DRV_RP5C01 is not set
+# CONFIG_RTC_DRV_ZYNQMP is not set
+
+#
+# on-CPU RTC drivers
+#
+# CONFIG_RTC_DRV_PL030 is not set
+# CONFIG_RTC_DRV_PL031 is not set
+# CONFIG_RTC_DRV_CADENCE is not set
+# CONFIG_RTC_DRV_FTRTC010 is not set
+# CONFIG_RTC_DRV_R7301 is not set
+
+#
+# HID Sensor RTC drivers
+#
+# CONFIG_RTC_DRV_GOLDFISH is not set
+CONFIG_DMADEVICES=y
+# CONFIG_DMADEVICES_DEBUG is not set
+
+#
+# DMA Devices
+#
+CONFIG_DMA_ENGINE=y
+CONFIG_DMA_VIRTUAL_CHANNELS=y
+CONFIG_DMA_OF=y
+# CONFIG_ALTERA_MSGDMA is not set
+# CONFIG_AMBA_PL08X is not set
+CONFIG_DW_AXI_DMAC=y
+# CONFIG_FSL_EDMA is not set
+# CONFIG_INTEL_IDMA64 is not set
+# CONFIG_PL330_DMA is not set
+# CONFIG_PLX_DMA is not set
+# CONFIG_XILINX_DMA is not set
+# CONFIG_XILINX_XDMA is not set
+# CONFIG_XILINX_ZYNQMP_DPDMA is not set
+# CONFIG_QCOM_HIDMA_MGMT is not set
+# CONFIG_QCOM_HIDMA is not set
+# CONFIG_DW_DMAC is not set
+# CONFIG_DW_DMAC_PCI is not set
+# CONFIG_DW_EDMA is not set
+# CONFIG_SF_PDMA is not set
+
+#
+# DMA Clients
+#
+# CONFIG_ASYNC_TX_DMA is not set
+# CONFIG_DMATEST is not set
+
+#
+# DMABUF options
+#
+CONFIG_SYNC_FILE=y
+# CONFIG_UDMABUF is not set
+# CONFIG_DMABUF_MOVE_NOTIFY is not set
+# CONFIG_DMABUF_DEBUG is not set
+# CONFIG_DMABUF_SELFTESTS is not set
+CONFIG_DMABUF_HEAPS=y
+# CONFIG_DMABUF_SYSFS_STATS is not set
+CONFIG_DMABUF_HEAPS_SYSTEM=y
+# CONFIG_DMABUF_HEAPS_CMA is not set
+# end of DMABUF options
+
+# CONFIG_UIO is not set
+# CONFIG_VFIO is not set
+# CONFIG_VIRT_DRIVERS is not set
+CONFIG_VIRTIO_ANCHOR=y
+CONFIG_VIRTIO=m
+CONFIG_VIRTIO_MENU=y
+# CONFIG_VIRTIO_PCI is not set
+CONFIG_VIRTIO_BALLOON=m
+CONFIG_VIRTIO_INPUT=m
+CONFIG_VIRTIO_MMIO=m
+# CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES is not set
+# CONFIG_VDPA is not set
+CONFIG_VHOST_IOTLB=m
+CONFIG_VHOST_TASK=y
+CONFIG_VHOST=m
+CONFIG_VHOST_MENU=y
+CONFIG_VHOST_NET=m
+# CONFIG_VHOST_CROSS_ENDIAN_LEGACY is not set
+
+#
+# Microsoft Hyper-V guest support
+#
+# end of Microsoft Hyper-V guest support
+
+# CONFIG_GREYBUS is not set
+# CONFIG_COMEDI is not set
+# CONFIG_STAGING is not set
+# CONFIG_GOLDFISH is not set
+CONFIG_HAVE_CLK=y
+CONFIG_HAVE_CLK_PREPARE=y
+CONFIG_COMMON_CLK=y
+# CONFIG_LMK04832 is not set
+# CONFIG_COMMON_CLK_MAX9485 is not set
+# CONFIG_COMMON_CLK_SI5341 is not set
+# CONFIG_COMMON_CLK_SI5351 is not set
+# CONFIG_COMMON_CLK_SI514 is not set
+# CONFIG_COMMON_CLK_SI544 is not set
+# CONFIG_COMMON_CLK_SI570 is not set
+# CONFIG_COMMON_CLK_CDCE706 is not set
+# CONFIG_COMMON_CLK_CDCE925 is not set
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_AXI_CLKGEN is not set
+# CONFIG_COMMON_CLK_PWM is not set
+# CONFIG_COMMON_CLK_RS9_PCIE is not set
+# CONFIG_COMMON_CLK_SI521XX is not set
+# CONFIG_COMMON_CLK_VC3 is not set
+# CONFIG_COMMON_CLK_VC5 is not set
+# CONFIG_COMMON_CLK_VC7 is not set
+# CONFIG_COMMON_CLK_FIXED_MMIO is not set
+CONFIG_CLK_STARFIVE_JH71X0=y
+CONFIG_CLK_STARFIVE_JH7100=y
+CONFIG_CLK_STARFIVE_JH7100_AUDIO=m
+CONFIG_CLK_STARFIVE_JH7110_PLL=y
+CONFIG_CLK_STARFIVE_JH7110_SYS=y
+CONFIG_CLK_STARFIVE_JH7110_AON=y
+CONFIG_CLK_STARFIVE_JH7110_STG=y
+CONFIG_CLK_STARFIVE_JH7110_ISP=y
+CONFIG_CLK_STARFIVE_JH7110_VOUT=y
+# CONFIG_XILINX_VCU is not set
+# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set
+# CONFIG_HWSPINLOCK is not set
+
+#
+# Clock Source drivers
+#
+CONFIG_TIMER_OF=y
+CONFIG_TIMER_PROBE=y
+CONFIG_RISCV_TIMER=y
+# end of Clock Source drivers
+
+# CONFIG_MAILBOX is not set
+CONFIG_IOMMU_SUPPORT=y
+
+#
+# Generic IOMMU Pagetable Support
+#
+# end of Generic IOMMU Pagetable Support
+
+# CONFIG_IOMMUFD is not set
+
+#
+# Remoteproc drivers
+#
+# CONFIG_REMOTEPROC is not set
+# end of Remoteproc drivers
+
+#
+# Rpmsg drivers
+#
+# CONFIG_RPMSG_VIRTIO is not set
+# end of Rpmsg drivers
+
+# CONFIG_SOUNDWIRE is not set
+
+#
+# SOC (System On Chip) specific Drivers
+#
+
+#
+# Amlogic SoC drivers
+#
+# end of Amlogic SoC drivers
+
+#
+# Broadcom SoC drivers
+#
+# end of Broadcom SoC drivers
+
+#
+# NXP/Freescale QorIQ SoC drivers
+#
+# end of NXP/Freescale QorIQ SoC drivers
+
+#
+# fujitsu SoC drivers
+#
+# end of fujitsu SoC drivers
+
+#
+# i.MX SoC drivers
+#
+# end of i.MX SoC drivers
+
+#
+# Enable LiteX SoC Builder specific drivers
+#
+# CONFIG_LITEX_SOC_CONTROLLER is not set
+# end of Enable LiteX SoC Builder specific drivers
+
+# CONFIG_WPCM450_SOC is not set
+
+#
+# Qualcomm SoC drivers
+#
+# end of Qualcomm SoC drivers
+
+# CONFIG_SOC_TI is not set
+
+#
+# Xilinx SoC drivers
+#
+# end of Xilinx SoC drivers
+# end of SOC (System On Chip) specific Drivers
+
+#
+# PM Domains
+#
+
+#
+# Amlogic PM Domains
+#
+# end of Amlogic PM Domains
+
+#
+# Broadcom PM Domains
+#
+# end of Broadcom PM Domains
+
+#
+# i.MX PM Domains
+#
+# end of i.MX PM Domains
+
+#
+# Qualcomm PM Domains
+#
+# end of Qualcomm PM Domains
+
+CONFIG_JH71XX_PMU=y
+# end of PM Domains
+
+CONFIG_PM_DEVFREQ=y
+
+#
+# DEVFREQ Governors
+#
+CONFIG_DEVFREQ_GOV_SIMPLE_ONDEMAND=m
+CONFIG_DEVFREQ_GOV_PERFORMANCE=y
+CONFIG_DEVFREQ_GOV_POWERSAVE=m
+CONFIG_DEVFREQ_GOV_USERSPACE=m
+CONFIG_DEVFREQ_GOV_PASSIVE=m
+
+#
+# DEVFREQ Drivers
+#
+# CONFIG_PM_DEVFREQ_EVENT is not set
+CONFIG_EXTCON=y
+
+#
+# Extcon Device Drivers
+#
+# CONFIG_EXTCON_FSA9480 is not set
+# CONFIG_EXTCON_GPIO is not set
+# CONFIG_EXTCON_MAX3355 is not set
+# CONFIG_EXTCON_PTN5150 is not set
+# CONFIG_EXTCON_RT8973A is not set
+# CONFIG_EXTCON_SM5502 is not set
+# CONFIG_EXTCON_USB_GPIO is not set
+# CONFIG_EXTCON_USBC_TUSB320 is not set
+# CONFIG_MEMORY is not set
+# CONFIG_IIO is not set
+# CONFIG_NTB is not set
+CONFIG_PWM=y
+CONFIG_PWM_SYSFS=y
+# CONFIG_PWM_ATMEL_TCB is not set
+# CONFIG_PWM_CLK is not set
+# CONFIG_PWM_DWC is not set
+# CONFIG_PWM_FSL_FTM is not set
+# CONFIG_PWM_PCA9685 is not set
+# CONFIG_PWM_SIFIVE is not set
+# CONFIG_PWM_XILINX is not set
+
+#
+# IRQ chip support
+#
+CONFIG_IRQCHIP=y
+# CONFIG_AL_FIC is not set
+# CONFIG_XILINX_INTC is not set
+CONFIG_RISCV_INTC=y
+CONFIG_SIFIVE_PLIC=y
+# end of IRQ chip support
+
+# CONFIG_IPACK_BUS is not set
+CONFIG_RESET_CONTROLLER=y
+# CONFIG_RESET_TI_SYSCON is not set
+# CONFIG_RESET_TI_TPS380X is not set
+CONFIG_RESET_STARFIVE_JH71X0=y
+CONFIG_RESET_STARFIVE_JH7100=y
+CONFIG_RESET_STARFIVE_JH7110=y
+
+#
+# PHY Subsystem
+#
+CONFIG_GENERIC_PHY=y
+CONFIG_GENERIC_PHY_MIPI_DPHY=y
+# CONFIG_PHY_CAN_TRANSCEIVER is not set
+
+#
+# PHY drivers for Broadcom platforms
+#
+# CONFIG_BCM_KONA_USB2_PHY is not set
+# end of PHY drivers for Broadcom platforms
+
+# CONFIG_PHY_CADENCE_TORRENT is not set
+# CONFIG_PHY_CADENCE_DPHY is not set
+# CONFIG_PHY_CADENCE_DPHY_RX is not set
+# CONFIG_PHY_CADENCE_SIERRA is not set
+# CONFIG_PHY_CADENCE_SALVO is not set
+# CONFIG_PHY_PXA_28NM_HSIC is not set
+# CONFIG_PHY_PXA_28NM_USB2 is not set
+# CONFIG_PHY_LAN966X_SERDES is not set
+# CONFIG_PHY_MAPPHONE_MDM6600 is not set
+# CONFIG_PHY_OCELOT_SERDES is not set
+CONFIG_PHY_STARFIVE_JH7110_DPHY_RX=y
+CONFIG_PHY_STARFIVE_JH7110_PCIE=y
+CONFIG_PHY_STARFIVE_JH7110_USB=y
+# end of PHY Subsystem
+
+CONFIG_POWERCAP=y
+# CONFIG_IDLE_INJECT is not set
+# CONFIG_DTPM is not set
+# CONFIG_MCB is not set
+
+#
+# Performance monitor support
+#
+CONFIG_RISCV_PMU=y
+CONFIG_RISCV_PMU_LEGACY=y
+CONFIG_RISCV_PMU_SBI=y
+# CONFIG_DWC_PCIE_PMU is not set
+# end of Performance monitor support
+
+# CONFIG_RAS is not set
+# CONFIG_USB4 is not set
+
+#
+# Android
+#
+# CONFIG_ANDROID_BINDER_IPC is not set
+# end of Android
+
+# CONFIG_LIBNVDIMM is not set
+# CONFIG_DAX is not set
+CONFIG_NVMEM=y
+CONFIG_NVMEM_SYSFS=y
+CONFIG_NVMEM_LAYOUTS=y
+
+#
+# Layout Types
+#
+# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set
+# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set
+# end of Layout Types
+
+# CONFIG_NVMEM_RMEM is not set
+CONFIG_NVMEM_U_BOOT_ENV=m
+
+#
+# HW tracing support
+#
+# CONFIG_STM is not set
+# CONFIG_INTEL_TH is not set
+# end of HW tracing support
+
+# CONFIG_FPGA is not set
+# CONFIG_FSI is not set
+CONFIG_MULTIPLEXER=m
+
+#
+# Multiplexer drivers
+#
+# CONFIG_MUX_ADG792A is not set
+# CONFIG_MUX_ADGS1408 is not set
+# CONFIG_MUX_GPIO is not set
+# CONFIG_MUX_MMIO is not set
+# end of Multiplexer drivers
+
+CONFIG_PM_OPP=y
+# CONFIG_SIOX is not set
+# CONFIG_SLIMBUS is not set
+# CONFIG_INTERCONNECT is not set
+# CONFIG_COUNTER is not set
+# CONFIG_MOST is not set
+# CONFIG_PECI is not set
+# CONFIG_HTE is not set
+# end of Device Drivers
+
+#
+# File systems
+#
+# CONFIG_VALIDATE_FS_PARSER is not set
+CONFIG_FS_IOMAP=y
+CONFIG_FS_STACK=y
+CONFIG_BUFFER_HEAD=y
+CONFIG_LEGACY_DIRECT_IO=y
+# CONFIG_EXT2_FS is not set
+# CONFIG_EXT3_FS is not set
+CONFIG_EXT4_FS=y
+CONFIG_EXT4_USE_FOR_EXT2=y
+CONFIG_EXT4_FS_POSIX_ACL=y
+CONFIG_EXT4_FS_SECURITY=y
+# CONFIG_EXT4_DEBUG is not set
+CONFIG_JBD2=y
+# CONFIG_JBD2_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+CONFIG_BTRFS_FS=m
+CONFIG_BTRFS_FS_POSIX_ACL=y
+# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set
+# CONFIG_BTRFS_DEBUG is not set
+# CONFIG_BTRFS_ASSERT is not set
+# CONFIG_BTRFS_FS_REF_VERIFY is not set
+# CONFIG_NILFS2_FS is not set
+CONFIG_F2FS_FS=y
+# CONFIG_F2FS_STAT_FS is not set
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_FS_POSIX_ACL=y
+CONFIG_F2FS_FS_SECURITY=y
+# CONFIG_F2FS_CHECK_FS is not set
+# CONFIG_F2FS_FAULT_INJECTION is not set
+CONFIG_F2FS_FS_COMPRESSION=y
+CONFIG_F2FS_FS_LZO=y
+CONFIG_F2FS_FS_LZORLE=y
+CONFIG_F2FS_FS_LZ4=y
+CONFIG_F2FS_FS_LZ4HC=y
+CONFIG_F2FS_FS_ZSTD=y
+# CONFIG_F2FS_IOSTAT is not set
+# CONFIG_F2FS_UNFAIR_RWSEM is not set
+# CONFIG_BCACHEFS_FS is not set
+CONFIG_FS_POSIX_ACL=y
+CONFIG_EXPORTFS=y
+CONFIG_EXPORTFS_BLOCK_OPS=y
+CONFIG_FILE_LOCKING=y
+CONFIG_FS_ENCRYPTION=y
+CONFIG_FS_ENCRYPTION_ALGS=y
+CONFIG_FS_VERITY=y
+CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y
+CONFIG_FSNOTIFY=y
+# CONFIG_DNOTIFY is not set
+CONFIG_INOTIFY_USER=y
+CONFIG_FANOTIFY=y
+# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set
+CONFIG_QUOTA=y
+# CONFIG_QUOTA_NETLINK_INTERFACE is not set
+# CONFIG_QUOTA_DEBUG is not set
+# CONFIG_QFMT_V1 is not set
+# CONFIG_QFMT_V2 is not set
+CONFIG_QUOTACTL=y
+CONFIG_AUTOFS_FS=m
+CONFIG_FUSE_FS=m
+# CONFIG_CUSE is not set
+CONFIG_VIRTIO_FS=m
+CONFIG_OVERLAY_FS=m
+# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set
+CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y
+# CONFIG_OVERLAY_FS_INDEX is not set
+# CONFIG_OVERLAY_FS_XINO_AUTO is not set
+# CONFIG_OVERLAY_FS_METACOPY is not set
+# CONFIG_OVERLAY_FS_DEBUG is not set
+
+#
+# Caches
+#
+CONFIG_NETFS_SUPPORT=m
+CONFIG_NETFS_STATS=y
+CONFIG_FSCACHE=y
+CONFIG_FSCACHE_STATS=y
+# CONFIG_FSCACHE_DEBUG is not set
+CONFIG_CACHEFILES=m
+# CONFIG_CACHEFILES_DEBUG is not set
+# CONFIG_CACHEFILES_ERROR_INJECTION is not set
+# CONFIG_CACHEFILES_ONDEMAND is not set
+# end of Caches
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=m
+CONFIG_JOLIET=y
+CONFIG_ZISOFS=y
+CONFIG_UDF_FS=m
+# end of CD-ROM/DVD Filesystems
+
+#
+# DOS/FAT/EXFAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="utf8"
+# CONFIG_FAT_DEFAULT_UTF8 is not set
+CONFIG_EXFAT_FS=m
+CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
+CONFIG_NTFS_FS=m
+# CONFIG_NTFS_DEBUG is not set
+CONFIG_NTFS_RW=y
+CONFIG_NTFS3_FS=m
+# CONFIG_NTFS3_64BIT_CLUSTER is not set
+# CONFIG_NTFS3_LZX_XPRESS is not set
+# CONFIG_NTFS3_FS_POSIX_ACL is not set
+# end of DOS/FAT/EXFAT/NT Filesystems
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+# CONFIG_PROC_KCORE is not set
+CONFIG_PROC_SYSCTL=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_PROC_CHILDREN=y
+CONFIG_KERNFS=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=y
+CONFIG_TMPFS_XATTR=y
+# CONFIG_TMPFS_INODE64 is not set
+# CONFIG_TMPFS_QUOTA is not set
+CONFIG_ARCH_SUPPORTS_HUGETLBFS=y
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_CONFIGFS_FS=m
+CONFIG_EFIVAR_FS=m
+# end of Pseudo filesystems
+
+CONFIG_MISC_FILESYSTEMS=y
+# CONFIG_ORANGEFS_FS is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+CONFIG_ECRYPT_FS=m
+# CONFIG_ECRYPT_FS_MESSAGING is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_JFFS2_FS is not set
+# CONFIG_UBIFS_FS is not set
+# CONFIG_CRAMFS is not set
+CONFIG_SQUASHFS=m
+# CONFIG_SQUASHFS_FILE_CACHE is not set
+CONFIG_SQUASHFS_FILE_DIRECT=y
+CONFIG_SQUASHFS_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
+CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE=y
+# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
+# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU is not set
+CONFIG_SQUASHFS_XATTR=y
+CONFIG_SQUASHFS_ZLIB=y
+CONFIG_SQUASHFS_LZ4=y
+CONFIG_SQUASHFS_LZO=y
+CONFIG_SQUASHFS_XZ=y
+CONFIG_SQUASHFS_ZSTD=y
+# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
+# CONFIG_SQUASHFS_EMBEDDED is not set
+CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
+# CONFIG_VXFS_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_OMFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX6FS_FS is not set
+# CONFIG_ROMFS_FS is not set
+# CONFIG_PSTORE is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_EROFS_FS is not set
+CONFIG_NETWORK_FILESYSTEMS=y
+CONFIG_NFS_FS=m
+CONFIG_NFS_V2=m
+CONFIG_NFS_V3=m
+# CONFIG_NFS_V3_ACL is not set
+CONFIG_NFS_V4=m
+CONFIG_NFS_SWAP=y
+CONFIG_NFS_V4_1=y
+CONFIG_NFS_V4_2=y
+CONFIG_PNFS_FILE_LAYOUT=m
+CONFIG_PNFS_BLOCK=m
+CONFIG_PNFS_FLEXFILE_LAYOUT=m
+CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org"
+# CONFIG_NFS_V4_1_MIGRATION is not set
+CONFIG_NFS_V4_SECURITY_LABEL=y
+CONFIG_NFS_FSCACHE=y
+# CONFIG_NFS_USE_LEGACY_DNS is not set
+CONFIG_NFS_USE_KERNEL_DNS=y
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
+# CONFIG_NFS_V4_2_READ_PLUS is not set
+# CONFIG_NFSD is not set
+CONFIG_GRACE_PERIOD=m
+CONFIG_LOCKD=m
+CONFIG_LOCKD_V4=y
+CONFIG_NFS_COMMON=y
+CONFIG_NFS_V4_2_SSC_HELPER=y
+CONFIG_SUNRPC=m
+CONFIG_SUNRPC_GSS=m
+CONFIG_SUNRPC_BACKCHANNEL=y
+CONFIG_SUNRPC_SWAP=y
+CONFIG_RPCSEC_GSS_KRB5=m
+CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y
+# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set
+# CONFIG_SUNRPC_DEBUG is not set
+# CONFIG_CEPH_FS is not set
+CONFIG_CIFS=m
+# CONFIG_CIFS_STATS2 is not set
+CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y
+# CONFIG_CIFS_UPCALL is not set
+CONFIG_CIFS_XATTR=y
+CONFIG_CIFS_POSIX=y
+CONFIG_CIFS_DEBUG=y
+# CONFIG_CIFS_DEBUG2 is not set
+# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set
+CONFIG_CIFS_DFS_UPCALL=y
+CONFIG_CIFS_SWN_UPCALL=y
+CONFIG_CIFS_FSCACHE=y
+CONFIG_SMB_SERVER=m
+CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
+# CONFIG_SMB_SERVER_KERBEROS5 is not set
+CONFIG_SMBFS=m
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+# CONFIG_9P_FS is not set
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="utf8"
+CONFIG_NLS_CODEPAGE_437=m
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_MAC_ROMAN is not set
+# CONFIG_NLS_MAC_CELTIC is not set
+# CONFIG_NLS_MAC_CENTEURO is not set
+# CONFIG_NLS_MAC_CROATIAN is not set
+# CONFIG_NLS_MAC_CYRILLIC is not set
+# CONFIG_NLS_MAC_GAELIC is not set
+# CONFIG_NLS_MAC_GREEK is not set
+# CONFIG_NLS_MAC_ICELAND is not set
+# CONFIG_NLS_MAC_INUIT is not set
+# CONFIG_NLS_MAC_ROMANIAN is not set
+# CONFIG_NLS_MAC_TURKISH is not set
+CONFIG_NLS_UTF8=m
+CONFIG_NLS_UCS2_UTILS=m
+# CONFIG_DLM is not set
+# CONFIG_UNICODE is not set
+CONFIG_IO_WQ=y
+# end of File systems
+
+#
+# Security options
+#
+CONFIG_KEYS=y
+CONFIG_KEYS_REQUEST_CACHE=y
+# CONFIG_PERSISTENT_KEYRINGS is not set
+# CONFIG_TRUSTED_KEYS is not set
+CONFIG_ENCRYPTED_KEYS=m
+# CONFIG_USER_DECRYPTED_DATA is not set
+CONFIG_KEY_DH_OPERATIONS=y
+# CONFIG_SECURITY_DMESG_RESTRICT is not set
+CONFIG_SECURITY=y
+CONFIG_SECURITYFS=y
+CONFIG_SECURITY_NETWORK=y
+# CONFIG_SECURITY_NETWORK_XFRM is not set
+CONFIG_SECURITY_PATH=y
+CONFIG_HARDENED_USERCOPY=y
+CONFIG_FORTIFY_SOURCE=y
+# CONFIG_STATIC_USERMODEHELPER is not set
+# CONFIG_SECURITY_SMACK is not set
+# CONFIG_SECURITY_TOMOYO is not set
+# CONFIG_SECURITY_APPARMOR is not set
+# CONFIG_SECURITY_LOADPIN is not set
+# CONFIG_SECURITY_YAMA is not set
+# CONFIG_SECURITY_SAFESETID is not set
+CONFIG_SECURITY_LOCKDOWN_LSM=y
+# CONFIG_SECURITY_LOCKDOWN_LSM_EARLY is not set
+CONFIG_LOCK_DOWN_KERNEL_FORCE_NONE=y
+# CONFIG_LOCK_DOWN_KERNEL_FORCE_INTEGRITY is not set
+# CONFIG_LOCK_DOWN_KERNEL_FORCE_CONFIDENTIALITY is not set
+# CONFIG_SECURITY_LANDLOCK is not set
+# CONFIG_INTEGRITY is not set
+CONFIG_DEFAULT_SECURITY_DAC=y
+CONFIG_LSM=""
+
+#
+# Kernel hardening options
+#
+
+#
+# Memory initialization
+#
+CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y
+CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y
+CONFIG_INIT_STACK_NONE=y
+# CONFIG_INIT_STACK_ALL_PATTERN is not set
+# CONFIG_INIT_STACK_ALL_ZERO is not set
+# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set
+# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set
+CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y
+# CONFIG_ZERO_CALL_USED_REGS is not set
+# end of Memory initialization
+
+#
+# Hardening of kernel data structures
+#
+# CONFIG_LIST_HARDENED is not set
+# CONFIG_BUG_ON_DATA_CORRUPTION is not set
+# end of Hardening of kernel data structures
+
+CONFIG_RANDSTRUCT_NONE=y
+# end of Kernel hardening options
+# end of Security options
+
+CONFIG_XOR_BLOCKS=m
+CONFIG_ASYNC_CORE=m
+CONFIG_ASYNC_MEMCPY=m
+CONFIG_ASYNC_XOR=m
+CONFIG_ASYNC_PQ=m
+CONFIG_ASYNC_RAID6_RECOV=m
+CONFIG_CRYPTO=y
+
+#
+# Crypto core or helper
+#
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_ALGAPI2=y
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AEAD2=y
+CONFIG_CRYPTO_SIG2=y
+CONFIG_CRYPTO_SKCIPHER=y
+CONFIG_CRYPTO_SKCIPHER2=y
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG=y
+CONFIG_CRYPTO_RNG2=y
+CONFIG_CRYPTO_RNG_DEFAULT=y
+CONFIG_CRYPTO_AKCIPHER2=y
+CONFIG_CRYPTO_AKCIPHER=y
+CONFIG_CRYPTO_KPP2=y
+CONFIG_CRYPTO_KPP=y
+CONFIG_CRYPTO_ACOMP2=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_USER=m
+CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y
+CONFIG_CRYPTO_NULL=m
+CONFIG_CRYPTO_NULL2=m
+CONFIG_CRYPTO_PCRYPT=m
+CONFIG_CRYPTO_CRYPTD=m
+CONFIG_CRYPTO_AUTHENC=m
+# CONFIG_CRYPTO_TEST is not set
+# end of Crypto core or helper
+
+#
+# Public-key cryptography
+#
+CONFIG_CRYPTO_RSA=y
+CONFIG_CRYPTO_DH=y
+CONFIG_CRYPTO_DH_RFC7919_GROUPS=y
+CONFIG_CRYPTO_ECC=m
+CONFIG_CRYPTO_ECDH=m
+# CONFIG_CRYPTO_ECDSA is not set
+CONFIG_CRYPTO_ECRDSA=m
+CONFIG_CRYPTO_SM2=m
+CONFIG_CRYPTO_CURVE25519=m
+# end of Public-key cryptography
+
+#
+# Block ciphers
+#
+CONFIG_CRYPTO_AES=y
+CONFIG_CRYPTO_AES_TI=m
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_ARIA is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+CONFIG_CRYPTO_DES=m
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_SEED is not set
+CONFIG_CRYPTO_SERPENT=m
+# CONFIG_CRYPTO_SM4_GENERIC is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_TWOFISH=m
+CONFIG_CRYPTO_TWOFISH_COMMON=m
+# end of Block ciphers
+
+#
+# Length-preserving ciphers and modes
+#
+CONFIG_CRYPTO_ADIANTUM=m
+# CONFIG_CRYPTO_ARC4 is not set
+CONFIG_CRYPTO_CHACHA20=m
+CONFIG_CRYPTO_CBC=y
+CONFIG_CRYPTO_CTR=m
+CONFIG_CRYPTO_CTS=y
+CONFIG_CRYPTO_ECB=y
+# CONFIG_CRYPTO_HCTR2 is not set
+# CONFIG_CRYPTO_KEYWRAP is not set
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_PCBC is not set
+CONFIG_CRYPTO_XTS=y
+CONFIG_CRYPTO_NHPOLY1305=m
+# end of Length-preserving ciphers and modes
+
+#
+# AEAD (authenticated encryption with associated data) ciphers
+#
+# CONFIG_CRYPTO_AEGIS128 is not set
+CONFIG_CRYPTO_CHACHA20POLY1305=m
+CONFIG_CRYPTO_CCM=m
+CONFIG_CRYPTO_GCM=m
+CONFIG_CRYPTO_GENIV=m
+CONFIG_CRYPTO_SEQIV=m
+CONFIG_CRYPTO_ECHAINIV=m
+CONFIG_CRYPTO_ESSIV=m
+# end of AEAD (authenticated encryption with associated data) ciphers
+
+#
+# Hashes, digests, and MACs
+#
+CONFIG_CRYPTO_BLAKE2B=m
+CONFIG_CRYPTO_CMAC=m
+CONFIG_CRYPTO_GHASH=m
+CONFIG_CRYPTO_HMAC=y
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=y
+# CONFIG_CRYPTO_MICHAEL_MIC is not set
+CONFIG_CRYPTO_POLY1305=m
+# CONFIG_CRYPTO_RMD160 is not set
+CONFIG_CRYPTO_SHA1=y
+CONFIG_CRYPTO_SHA256=y
+CONFIG_CRYPTO_SHA512=y
+CONFIG_CRYPTO_SHA3=y
+CONFIG_CRYPTO_SM3=m
+CONFIG_CRYPTO_SM3_GENERIC=m
+CONFIG_CRYPTO_STREEBOG=m
+# CONFIG_CRYPTO_VMAC is not set
+CONFIG_CRYPTO_WP512=m
+# CONFIG_CRYPTO_XCBC is not set
+CONFIG_CRYPTO_XXHASH=m
+# end of Hashes, digests, and MACs
+
+#
+# CRCs (cyclic redundancy checks)
+#
+CONFIG_CRYPTO_CRC32C=y
+CONFIG_CRYPTO_CRC32=y
+CONFIG_CRYPTO_CRCT10DIF=y
+CONFIG_CRYPTO_CRC64_ROCKSOFT=y
+# end of CRCs (cyclic redundancy checks)
+
+#
+# Compression
+#
+CONFIG_CRYPTO_DEFLATE=m
+CONFIG_CRYPTO_LZO=y
+# CONFIG_CRYPTO_842 is not set
+# CONFIG_CRYPTO_LZ4 is not set
+# CONFIG_CRYPTO_LZ4HC is not set
+# CONFIG_CRYPTO_ZSTD is not set
+# end of Compression
+
+#
+# Random number generation
+#
+# CONFIG_CRYPTO_ANSI_CPRNG is not set
+CONFIG_CRYPTO_DRBG_MENU=y
+CONFIG_CRYPTO_DRBG_HMAC=y
+# CONFIG_CRYPTO_DRBG_HASH is not set
+# CONFIG_CRYPTO_DRBG_CTR is not set
+CONFIG_CRYPTO_DRBG=y
+CONFIG_CRYPTO_JITTERENTROPY=y
+CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKS=64
+CONFIG_CRYPTO_JITTERENTROPY_MEMORY_BLOCKSIZE=32
+CONFIG_CRYPTO_JITTERENTROPY_OSR=1
+CONFIG_CRYPTO_KDF800108_CTR=y
+# end of Random number generation
+
+#
+# Userspace interface
+#
+CONFIG_CRYPTO_USER_API=y
+CONFIG_CRYPTO_USER_API_HASH=y
+CONFIG_CRYPTO_USER_API_SKCIPHER=m
+# CONFIG_CRYPTO_USER_API_RNG is not set
+# CONFIG_CRYPTO_USER_API_AEAD is not set
+CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE=y
+# CONFIG_CRYPTO_STATS is not set
+# end of Userspace interface
+
+CONFIG_CRYPTO_HASH_INFO=y
+CONFIG_CRYPTO_HW=y
+# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set
+# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set
+# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_C62X is not set
+# CONFIG_CRYPTO_DEV_QAT_4XXX is not set
+# CONFIG_CRYPTO_DEV_QAT_420XX is not set
+# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set
+# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set
+# CONFIG_CRYPTO_DEV_VIRTIO is not set
+# CONFIG_CRYPTO_DEV_SAFEXCEL is not set
+# CONFIG_CRYPTO_DEV_CCREE is not set
+# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set
+CONFIG_ASYMMETRIC_KEY_TYPE=y
+CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y
+CONFIG_X509_CERTIFICATE_PARSER=y
+CONFIG_PKCS8_PRIVATE_KEY_PARSER=m
+CONFIG_PKCS7_MESSAGE_PARSER=y
+# CONFIG_PKCS7_TEST_KEY is not set
+CONFIG_SIGNED_PE_FILE_VERIFICATION=y
+# CONFIG_FIPS_SIGNATURE_SELFTEST is not set
+
+#
+# Certificates for signature checking
+#
+CONFIG_MODULE_SIG_KEY="certs/signing_key.pem"
+CONFIG_MODULE_SIG_KEY_TYPE_RSA=y
+CONFIG_SYSTEM_TRUSTED_KEYRING=y
+CONFIG_SYSTEM_TRUSTED_KEYS=""
+# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set
+CONFIG_SECONDARY_TRUSTED_KEYRING=y
+# CONFIG_SECONDARY_TRUSTED_KEYRING_SIGNED_BY_BUILTIN is not set
+# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set
+# end of Certificates for signature checking
+
+CONFIG_BINARY_PRINTF=y
+
+#
+# Library routines
+#
+CONFIG_RAID6_PQ=m
+# CONFIG_RAID6_PQ_BENCHMARK is not set
+CONFIG_LINEAR_RANGES=y
+# CONFIG_PACKING is not set
+CONFIG_BITREVERSE=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_NET_UTILS=y
+# CONFIG_CORDIC is not set
+# CONFIG_PRIME_NUMBERS is not set
+CONFIG_RATIONAL=y
+CONFIG_GENERIC_PCI_IOMAP=y
+
+#
+# Crypto library routines
+#
+CONFIG_CRYPTO_LIB_UTILS=y
+CONFIG_CRYPTO_LIB_AES=y
+CONFIG_CRYPTO_LIB_ARC4=m
+CONFIG_CRYPTO_LIB_GF128MUL=m
+CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
+CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m
+CONFIG_CRYPTO_LIB_CHACHA=m
+CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m
+CONFIG_CRYPTO_LIB_CURVE25519=m
+CONFIG_CRYPTO_LIB_DES=m
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1
+CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m
+CONFIG_CRYPTO_LIB_POLY1305=m
+CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m
+CONFIG_CRYPTO_LIB_SHA1=y
+CONFIG_CRYPTO_LIB_SHA256=y
+# end of Crypto library routines
+
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=y
+CONFIG_CRC_T10DIF=y
+CONFIG_CRC64_ROCKSOFT=y
+CONFIG_CRC_ITU_T=m
+CONFIG_CRC32=y
+# CONFIG_CRC32_SELFTEST is not set
+CONFIG_CRC32_SLICEBY8=y
+# CONFIG_CRC32_SLICEBY4 is not set
+# CONFIG_CRC32_SARWATE is not set
+# CONFIG_CRC32_BIT is not set
+CONFIG_CRC64=y
+# CONFIG_CRC4 is not set
+# CONFIG_CRC7 is not set
+CONFIG_LIBCRC32C=m
+# CONFIG_CRC8 is not set
+CONFIG_XXHASH=y
+# CONFIG_RANDOM32_SELFTEST is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+CONFIG_LZ4_COMPRESS=y
+CONFIG_LZ4HC_COMPRESS=y
+CONFIG_LZ4_DECOMPRESS=y
+CONFIG_ZSTD_COMMON=y
+CONFIG_ZSTD_COMPRESS=y
+CONFIG_ZSTD_DECOMPRESS=y
+CONFIG_XZ_DEC=m
+CONFIG_XZ_DEC_X86=y
+CONFIG_XZ_DEC_POWERPC=y
+CONFIG_XZ_DEC_ARM=y
+CONFIG_XZ_DEC_ARMTHUMB=y
+CONFIG_XZ_DEC_SPARC=y
+# CONFIG_XZ_DEC_MICROLZMA is not set
+CONFIG_XZ_DEC_BCJ=y
+# CONFIG_XZ_DEC_TEST is not set
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_ZSTD=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_TEXTSEARCH=y
+CONFIG_TEXTSEARCH_KMP=m
+CONFIG_TEXTSEARCH_BM=m
+CONFIG_TEXTSEARCH_FSM=m
+CONFIG_XARRAY_MULTI=y
+CONFIG_ASSOCIATIVE_ARRAY=y
+CONFIG_CLOSURES=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_IOPORT_MAP=y
+CONFIG_HAS_DMA=y
+CONFIG_NEED_DMA_MAP_STATE=y
+CONFIG_ARCH_DMA_ADDR_T_64BIT=y
+CONFIG_DMA_DECLARE_COHERENT=y
+CONFIG_ARCH_HAS_SETUP_DMA_OPS=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y
+CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y
+CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y
+CONFIG_ARCH_DMA_DEFAULT_COHERENT=y
+CONFIG_SWIOTLB=y
+# CONFIG_SWIOTLB_DYNAMIC is not set
+CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y
+# CONFIG_DMA_RESTRICTED_POOL is not set
+CONFIG_DMA_NONCOHERENT_MMAP=y
+CONFIG_DMA_COHERENT_POOL=y
+CONFIG_DMA_DIRECT_REMAP=y
+CONFIG_DMA_CMA=y
+
+#
+# Default contiguous memory area size:
+#
+CONFIG_CMA_SIZE_MBYTES=16
+CONFIG_CMA_SIZE_SEL_MBYTES=y
+# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set
+# CONFIG_CMA_SIZE_SEL_MIN is not set
+# CONFIG_CMA_SIZE_SEL_MAX is not set
+CONFIG_CMA_ALIGNMENT=8
+# CONFIG_DMA_API_DEBUG is not set
+CONFIG_SGL_ALLOC=y
+CONFIG_CPU_RMAP=y
+CONFIG_DQL=y
+CONFIG_NLATTR=y
+CONFIG_LRU_CACHE=m
+CONFIG_CLZ_TAB=y
+# CONFIG_IRQ_POLL is not set
+CONFIG_MPILIB=y
+CONFIG_DIMLIB=y
+CONFIG_LIBFDT=y
+CONFIG_OID_REGISTRY=y
+CONFIG_UCS2_STRING=y
+CONFIG_HAVE_GENERIC_VDSO=y
+CONFIG_GENERIC_GETTIMEOFDAY=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
+CONFIG_FONT_SUPPORT=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+CONFIG_SG_POOL=y
+CONFIG_ARCH_HAS_PMEM_API=y
+CONFIG_ARCH_STACKWALK=y
+CONFIG_STACKDEPOT=y
+CONFIG_STACKDEPOT_MAX_FRAMES=64
+CONFIG_SBITMAP=y
+# CONFIG_LWQ_TEST is not set
+# end of Library routines
+
+CONFIG_GENERIC_IOREMAP=y
+CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y
+
+#
+# Kernel hacking
+#
+
+#
+# printk and dmesg options
+#
+CONFIG_PRINTK_TIME=y
+# CONFIG_PRINTK_CALLER is not set
+# CONFIG_STACKTRACE_BUILD_ID is not set
+CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7
+CONFIG_CONSOLE_LOGLEVEL_QUIET=4
+CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4
+# CONFIG_DYNAMIC_DEBUG is not set
+# CONFIG_DYNAMIC_DEBUG_CORE is not set
+CONFIG_SYMBOLIC_ERRNAME=y
+CONFIG_DEBUG_BUGVERBOSE=y
+# end of printk and dmesg options
+
+# CONFIG_DEBUG_KERNEL is not set
+
+#
+# Compile-time checks and compiler options
+#
+CONFIG_AS_HAS_NON_CONST_ULEB128=y
+CONFIG_FRAME_WARN=2048
+# CONFIG_STRIP_ASM_SYMS is not set
+# CONFIG_HEADERS_INSTALL is not set
+# CONFIG_DEBUG_SECTION_MISMATCH is not set
+CONFIG_SECTION_MISMATCH_WARN_ONLY=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_FRAME_POINTER=y
+# end of Compile-time checks and compiler options
+
+#
+# Generic Kernel Debugging Instruments
+#
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1
+CONFIG_MAGIC_SYSRQ_SERIAL=y
+CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE=""
+# CONFIG_DEBUG_FS is not set
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_KGDB_QXFER_PKT=y
+CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y
+# CONFIG_UBSAN is not set
+CONFIG_HAVE_KCSAN_COMPILER=y
+# end of Generic Kernel Debugging Instruments
+
+#
+# Networking Debugging
+#
+# end of Networking Debugging
+
+#
+# Memory Debugging
+#
+# CONFIG_PAGE_EXTENSION is not set
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_RODATA_TEST is not set
+CONFIG_ARCH_HAS_DEBUG_WX=y
+# CONFIG_DEBUG_WX is not set
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+# CONFIG_PER_VMA_LOCK_STATS is not set
+CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y
+# CONFIG_DEBUG_VM_PGTABLE is not set
+CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
+CONFIG_DEBUG_MEMORY_INIT=y
+CONFIG_HAVE_ARCH_KASAN=y
+CONFIG_HAVE_ARCH_KASAN_VMALLOC=y
+CONFIG_CC_HAS_KASAN_GENERIC=y
+CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y
+# CONFIG_KASAN is not set
+CONFIG_HAVE_ARCH_KFENCE=y
+# CONFIG_KFENCE is not set
+# end of Memory Debugging
+
+#
+# Debug Oops, Lockups and Hangs
+#
+# CONFIG_PANIC_ON_OOPS is not set
+CONFIG_PANIC_ON_OOPS_VALUE=0
+CONFIG_PANIC_TIMEOUT=0
+CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y
+# CONFIG_TEST_LOCKUP is not set
+# end of Debug Oops, Lockups and Hangs
+
+#
+# Scheduler Debugging
+#
+CONFIG_SCHED_INFO=y
+# end of Scheduler Debugging
+
+# CONFIG_DEBUG_TIMEKEEPING is not set
+
+#
+# Lock Debugging (spinlocks, mutexes, etc...)
+#
+CONFIG_LOCK_DEBUGGING_SUPPORT=y
+# CONFIG_WW_MUTEX_SELFTEST is not set
+# end of Lock Debugging (spinlocks, mutexes, etc...)
+
+# CONFIG_DEBUG_IRQFLAGS is not set
+CONFIG_STACKTRACE=y
+# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set
+
+#
+# Debug kernel data structures
+#
+# CONFIG_DEBUG_CLOSURES is not set
+# end of Debug kernel data structures
+
+#
+# RCU Debugging
+#
+CONFIG_RCU_CPU_STALL_TIMEOUT=21
+CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0
+# CONFIG_RCU_CPU_STALL_CPUTIME is not set
+# end of RCU Debugging
+
+CONFIG_HAVE_RETHOOK=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_TRACING_SUPPORT=y
+# CONFIG_FTRACE is not set
+# CONFIG_SAMPLES is not set
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT=y
+CONFIG_HAVE_SAMPLE_FTRACE_DIRECT_MULTI=y
+# CONFIG_STRICT_DEVMEM is not set
+
+#
+# riscv Debugging
+#
+
+#
+# arch/riscv/kernel Testing and Coverage
+#
+CONFIG_AS_HAS_ULEB128=y
+CONFIG_RUNTIME_KERNEL_TESTING_MENU=y
+# end of arch/riscv/kernel Testing and Coverage
+# end of riscv Debugging
+
+#
+# Kernel Testing and Coverage
+#
+# CONFIG_KUNIT is not set
+CONFIG_ARCH_HAS_KCOV=y
+CONFIG_CC_HAS_SANCOV_TRACE_PC=y
+# CONFIG_KCOV is not set
+# CONFIG_RUNTIME_TESTING_MENU is not set
+CONFIG_ARCH_USE_MEMTEST=y
+# CONFIG_MEMTEST is not set
+# end of Kernel Testing and Coverage
+
+#
+# Rust hacking
+#
+# end of Rust hacking
+# end of Kernel hacking
diff --git a/testing/linux-timemachine/APKBUILD b/testing/linux-timemachine/APKBUILD
new file mode 100644
index 00000000000..add90edb773
--- /dev/null
+++ b/testing/linux-timemachine/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
+# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
+pkgname=linux-timemachine
+pkgver=1.3.2
+pkgrel=0
+pkgdesc="Rsync-based OSX-like time machine for atomic and resumable local and remote backups"
+url="https://github.com/cytopia/linux-timemachine"
+arch="noarch"
+license="MIT"
+depends="rsync"
+options="!check" # tests depend on docker
+source="https://github.com/cytopia/linux-timemachine/archive/refs/tags/v$pkgver/linux-timemachine-$pkgver.tar.gz"
+
+package() {
+ install -Dm0755 -oroot -groot timemachine "$pkgdir"/usr/bin/timemachine
+}
+
+sha512sums="
+ed0d010a20feef169aca3bcad7703afd05334a4047563b70fae0266daf3edc7af259a5838986b8a6ff6a990cf712b832079e2c6170d96b9107e2e6fb1057132f linux-timemachine-1.3.2.tar.gz
+"
diff --git a/testing/linuxkit/APKBUILD b/testing/linuxkit/APKBUILD
new file mode 100644
index 00000000000..fd987d95ef6
--- /dev/null
+++ b/testing/linuxkit/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=linuxkit
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="Toolkit for building immutable operating systems for containers"
+url="https://github.com/linuxkit/linuxkit"
+# 32-bit platforms: github.com/rn/iso9660wrap: integer overflow
+# riscv64: fails to build
+arch="all !x86 !armhf !armv7 !riscv64"
+license="Apache-2.0"
+makedepends="go"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxkit/linuxkit/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgver/src/cmd/linuxkit"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.GitCommit=AlpineLinux
+ -X github.com/linuxkit/linuxkit/src/cmd/linuxkit/version.Version=v$pkgver
+ "
+ go build -v -ldflags "$_goldflags"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+
+ mkdir -p "$pkgdir"/usr/share/doc/linuxkit/examples
+ cp -r ../../../examples/*.yml "$pkgdir"/usr/share/doc/linuxkit/examples/
+}
+
+sha512sums="
+5cc5b8ef7005e64185a46e94c0e7102b040959d040b88fd565121842c8f0f061511b41c6bb397255aa02a2508c7d60e48e03e68ba25c7376209554a4ea0ab370 linuxkit-1.2.0.tar.gz
+"
diff --git a/testing/linuxptp/APKBUILD b/testing/linuxptp/APKBUILD
new file mode 100644
index 00000000000..491be0a8fc1
--- /dev/null
+++ b/testing/linuxptp/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer:
+pkgname=linuxptp
+pkgver=4.2
+pkgrel=0
+pkgdesc="User space PTP stack for Linux"
+url="https://linuxptp.nwtime.org/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ bsd-compat-headers
+ linux-headers
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/richardcochran/linuxptp/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests
+
+_bins="hwstamp_ctl nsm phc2sys phc_ctl pmc ptp4l timemaster ts2phc tz2alt"
+for _bin in $_bins; do
+ depends="$depends $pkgname-$_bin=$pkgver-r$pkgrel"
+ subpackages="$subpackages $pkgname-$_bin:split"
+done
+
+build() {
+ make \
+ CC="${CC:-cc}" \
+ version="$pkgver" \
+ EXTRA_CFLAGS="$CFLAGS -flto=auto"
+}
+
+package() {
+ make \
+ prefix=/usr \
+ mandir=/usr/share/man \
+ DESTDIR="$pkgdir" \
+ install
+}
+
+split() {
+ local name="${subpkgname#"$pkgname"-}"
+ pkgdesc="$pkgdesc ($name utility)"
+ depends=""
+
+ amove usr/sbin/$name
+}
+
+sha512sums="
+479e512efd0573602379a9e1d8ef5c0ec9e033944cee5aed11c68cea5e8a3f7d4b6f2d11f6d6d4718282010da52c2c8629d675d9b388cc0c3d574845a913cdbb linuxptp-4.2.tar.gz
+"
diff --git a/testing/linuxwave/APKBUILD b/testing/linuxwave/APKBUILD
new file mode 100644
index 00000000000..8c0f8bd22d6
--- /dev/null
+++ b/testing/linuxwave/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=linuxwave
+pkgver=0.1.5
+pkgrel=0
+pkgdesc="Generate music from the entropy of Linux"
+url="https://github.com/orhun/linuxwave"
+license="MIT"
+arch="x86_64 aarch64" # Limited by zig aport
+makedepends="zig"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/orhun/linuxwave/releases/download/v$pkgver/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
+
+# We may want other than "baseline" for other targets, when enabled by zig
+case "$CARCH" in
+aarch64 | x86_64) cputarget=baseline ;;
+esac
+
+build() {
+ zig build -Drelease-safe -Dpie=true -Drelro=true ${cputarget:+-Dcpu="$cputarget"}
+}
+
+check() {
+ zig build test
+}
+
+package() {
+ install -Dm755 "zig-out/bin/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm644 "man/$pkgname.1" -t "$pkgdir/usr/share/man/man1"
+ install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+1df73a1bdda6eed122f7e114a283e327f849cccc8fcb0d925403a21de683eea6eb327374f1d6028a7502648004709d9e2ad07d2be80247ec111c44686ebefbfb linuxwave-0.1.5.tar.gz
+"
diff --git a/testing/lipstick-asteroidos/0001-Drop-Qt-extended-surface.patch b/testing/lipstick-asteroidos/0001-Drop-Qt-extended-surface.patch
new file mode 100644
index 00000000000..e64e7004d6c
--- /dev/null
+++ b/testing/lipstick-asteroidos/0001-Drop-Qt-extended-surface.patch
@@ -0,0 +1,229 @@
+From f321b9772bec5f7925e58435e1027ecec5a4e9a8 Mon Sep 17 00:00:00 2001
+From: Chupligin Sergey <neochapay@gmail.com>
+Date: Wed, 24 Mar 2021 19:39:56 +0300
+Subject: [PATCH] [compositor] Drop Qt extended surface
+
+---
+ src/compositor/lipstickcompositor.cpp | 11 ---------
+ src/compositor/lipstickcompositor.h | 7 ------
+ src/compositor/lipstickcompositorwindow.cpp | 25 +++++----------------
+ src/compositor/lipstickcompositorwindow.h | 6 -----
+ src/compositor/windowmodel.cpp | 22 ------------------
+ 5 files changed, 5 insertions(+), 66 deletions(-)
+
+diff --git a/src/compositor/lipstickcompositor.cpp b/src/compositor/lipstickcompositor.cpp
+index 4dce9d7b..00bb548e 100644
+--- a/src/compositor/lipstickcompositor.cpp
++++ b/src/compositor/lipstickcompositor.cpp
+@@ -35,7 +35,6 @@
+ #include <private/qguiapplication_p.h>
+ #include <QtGui/qpa/qplatformintegration.h>
+ #include <QWaylandQuickShellSurfaceItem>
+-#include <QtWaylandCompositor/private/qwlextendedsurface_p.h>
+
+ #include <mce/dbus-names.h>
+ #include <mce/mode-names.h>
+@@ -77,9 +76,6 @@ LipstickCompositor::LipstickCompositor()
+ m_xdgShell = new QWaylandXdgShell(this);
+ connect(m_xdgShell, &QWaylandXdgShell::toplevelCreated, this, &LipstickCompositor::onToplevelCreated);
+
+- m_surfExtGlob = new QtWayland::SurfaceExtensionGlobal(this);
+- connect(m_surfExtGlob, &QtWayland::SurfaceExtensionGlobal::extendedSurfaceReady, this, &LipstickCompositor::onExtendedSurfaceReady);
+-
+ m_wm = new QWaylandQtWindowManager(this);
+ connect(m_wm, &QWaylandQtWindowManager::openUrl, this, &LipstickCompositor::openUrl);
+
+@@ -194,13 +190,6 @@ void LipstickCompositor::onSurfaceCreated(QWaylandSurface *surface)
+ connect(surface, SIGNAL(redraw()), this, SLOT(windowSwapped()));
+ }
+
+-void LipstickCompositor::onExtendedSurfaceReady(QtWayland::ExtendedSurface *extSurface, QWaylandSurface *surface)
+-{
+- LipstickCompositorWindow *window = surfaceWindow(surface);
+- if(window)
+- window->setExtendedSurface(extSurface);
+-}
+-
+ bool LipstickCompositor::openUrl(QWaylandClient *client, const QUrl &url)
+ {
+ Q_UNUSED(client)
+diff --git a/src/compositor/lipstickcompositor.h b/src/compositor/lipstickcompositor.h
+index a22b474f..b570f669 100644
+--- a/src/compositor/lipstickcompositor.h
++++ b/src/compositor/lipstickcompositor.h
+@@ -33,11 +33,6 @@
+ #include <timed-qt5/exception>
+ #include <timed-qt5/event-declarations.h>
+
+-namespace QtWayland {
+- class SurfaceExtensionGlobal;
+- class ExtendedSurface;
+-}
+-
+ class WindowModel;
+ class LipstickCompositorWindow;
+ class LipstickCompositorProcWindow;
+@@ -191,7 +186,6 @@ private slots:
+ void initialize();
+
+ void onToplevelCreated(QWaylandXdgToplevel * topLevel, QWaylandXdgSurface * shellSurface);
+- void onExtendedSurfaceReady(QtWayland::ExtendedSurface *extSurface, QWaylandSurface *surface);
+
+ private:
+ friend class LipstickCompositorWindow;
+@@ -245,7 +239,6 @@ private slots:
+ QQuickWindow *m_window;
+ QWaylandOutput *m_output;
+ QWaylandXdgShell *m_xdgShell;
+- QtWayland::SurfaceExtensionGlobal *m_surfExtGlob;
+ QWaylandQtWindowManager *m_wm;
+
+ Maemo::Timed::Interface *m_timedDbus;
+diff --git a/src/compositor/lipstickcompositorwindow.cpp b/src/compositor/lipstickcompositorwindow.cpp
+index 5bfc79ea..db15f501 100644
+--- a/src/compositor/lipstickcompositorwindow.cpp
++++ b/src/compositor/lipstickcompositorwindow.cpp
+@@ -17,6 +17,7 @@
+ #include <QWaylandCompositor>
+ #include <QWaylandSeat>
+ #include <QTimer>
++#include <QEvent>
+ #include <sys/types.h>
+ #include <signal.h>
+ #include "lipstickcompositor.h"
+@@ -28,14 +29,13 @@
+ #include <EGL/egl.h>
+ #include <private/qwaylandsurface_p.h>
+ #include <private/qquickwindow_p.h>
+-#include <QtWaylandCompositor/private/qwlextendedsurface_p.h>
+
+ LipstickCompositorWindow::LipstickCompositorWindow(int windowId, const QString &category,
+ QWaylandSurface *surface, QQuickItem *parent)
+ : QWaylandQuickItem(), m_windowId(windowId), m_category(category),
+ m_delayRemove(false), m_windowClosed(false), m_removePosted(false),
+ m_interceptingTouch(false), m_mapped(false), m_noHardwareComposition(false),
+- m_focusOnTouch(false), m_hasVisibleReferences(false), m_extSurface(nullptr)
++ m_focusOnTouch(false), m_hasVisibleReferences(false)
+ {
+ setFlags(QQuickItem::ItemIsFocusScope | flags());
+
+@@ -111,29 +111,14 @@ QString LipstickCompositorWindow::category() const
+ return m_category;
+ }
+
+-QtWayland::ExtendedSurface *LipstickCompositorWindow::extendedSurface()
+-{
+- return m_extSurface;
+-}
+-
+-void LipstickCompositorWindow::setExtendedSurface(QtWayland::ExtendedSurface *extSurface)
+-{
+- m_extSurface = extSurface;
+- connect(m_extSurface, SIGNAL(windowFlagsChanged()), this, SIGNAL(windowFlagsChanged()));
+-}
+
+ qint16 LipstickCompositorWindow::windowFlags()
+ {
+- if (m_extSurface) {
+- return m_extSurface->windowFlags();
+- }
+ return 0;
+ }
+
+ QVariantMap LipstickCompositorWindow::windowProperties()
+ {
+- if (m_extSurface)
+- return m_extSurface->windowProperties();
+ return QVariantMap();
+ }
+
+@@ -198,15 +183,15 @@ bool LipstickCompositorWindow::eventFilter(QObject *obj, QEvent *event)
+ }
+ return false;
+ }
+- if (event->type() == QEvent::KeyPress || event->type() == QEvent::KeyRelease) {
++ if (event->type() == 6 || event->type() == 7) {
+ QKeyEvent *ke = static_cast<QKeyEvent *>(event);
+ QWaylandSurface *m_surface = surface();
+ if (m_surface) {
+ QWaylandSeat *inputDevice = m_surface->compositor()->seatFor(ke);
+- if (event->type() == QEvent::KeyPress)
++ if (event->type() == 6) //KeyPress
+ inputDevice->setKeyboardFocus(m_surface);
+ inputDevice->sendFullKeyEvent(ke);
+- if (event->type() == QEvent::KeyRelease)
++ if (event->type() == 7) //KeyRelease
+ qApp->removeEventFilter(this);
+ return true;
+ }
+diff --git a/src/compositor/lipstickcompositorwindow.h b/src/compositor/lipstickcompositorwindow.h
+index c85e46ad..4af3693c 100644
+--- a/src/compositor/lipstickcompositorwindow.h
++++ b/src/compositor/lipstickcompositorwindow.h
+@@ -20,9 +20,6 @@
+ #include <QWaylandBufferRef>
+ #include "lipstickglobal.h"
+
+-namespace QtWayland {
+- class ExtendedSurface;
+-}
+ class LipstickCompositorWindowHwcNode;
+
+ class LIPSTICK_EXPORT LipstickCompositorWindow : public QWaylandQuickItem
+@@ -106,8 +103,6 @@ private slots:
+ void tryRemove();
+ void handleTouchEvent(QTouchEvent *e);
+
+- void setExtendedSurface(QtWayland::ExtendedSurface *extSurface);
+- QtWayland::ExtendedSurface *extendedSurface();
+ void setTitle(QString title);
+ QString m_title;
+
+@@ -124,7 +119,6 @@ private slots:
+ QVariant m_data;
+ QList<QMetaObject::Connection> m_surfaceConnections;
+ QVector<QQuickItem *> m_refs;
+- QtWayland::ExtendedSurface *m_extSurface;
+ };
+
+ #endif // LIPSTICKCOMPOSITORWINDOW_H
+diff --git a/src/compositor/windowmodel.cpp b/src/compositor/windowmodel.cpp
+index 245e23a2..c942d493 100644
+--- a/src/compositor/windowmodel.cpp
++++ b/src/compositor/windowmodel.cpp
+@@ -14,7 +14,6 @@
+ ****************************************************************************/
+
+ #include <QDBusConnection>
+-#include <QtWaylandCompositor/private/qwlextendedsurface_p.h>
+ #include "lipstickcompositorwindow.h"
+ #include "lipstickcompositor.h"
+ #include "windowmodel.h"
+@@ -202,27 +201,6 @@ void WindowModel::launchProcess(const QString &binaryName)
+ proc << part;
+ }
+ }
+-
+- // Cannot match, as the cmdline has less arguments than then binary part
+- if (binaryParts.size() > proc.size()) {
+- continue;
+- }
+-
+- bool match = true;
+-
+- // All parts of binaryName must be contained in this order in the
+- // process command line to match the given process
+- for (int i=0; i<binaryParts.count(); i++) {
+- if (proc[i] != binaryParts[i]) {
+- match = false;
+- break;
+- }
+- }
+-
+- if (match) {
+- emit win->extendedSurface()->raiseRequested();
+- break;
+- }
+ }
+ }
+
diff --git a/testing/lipstick-asteroidos/0002-Disables-tests-and-doc.patch b/testing/lipstick-asteroidos/0002-Disables-tests-and-doc.patch
new file mode 100644
index 00000000000..bf43a606b44
--- /dev/null
+++ b/testing/lipstick-asteroidos/0002-Disables-tests-and-doc.patch
@@ -0,0 +1,20 @@
+From 46c9290b58958dff65119caf898ca821ba87e34f Mon Sep 17 00:00:00 2001
+From: Florent Revest <revestflo@gmail.com>
+Date: Tue, 28 Feb 2017 12:40:30 +0100
+Subject: [PATCH] Disables tests and doc
+
+---
+ lipstick.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lipstick.pro b/lipstick.pro
+index 016139da..9fda0c5c 100644
+--- a/lipstick.pro
++++ b/lipstick.pro
+@@ -1,5 +1,5 @@
+ TEMPLATE = subdirs
+-SUBDIRS += src plugin tools tests doc
++SUBDIRS += src plugin tools
+
+ plugin.depends = src
+ tools.depends = src
diff --git a/testing/lipstick-asteroidos/APKBUILD b/testing/lipstick-asteroidos/APKBUILD
new file mode 100644
index 00000000000..23cc5f5fb4a
--- /dev/null
+++ b/testing/lipstick-asteroidos/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
+pkgname=lipstick-asteroidos
+pkgver=2.0.0
+pkgrel=1
+pkgdesc="A project aimed at offering easy to modify user experiences for varying mobile device form factors"
+url="https://github.com/AsteroidOS/lipstick"
+# armhf blocked by nemo-qml-plugin-devicelock
+arch="all !armhf"
+license="LGPL-2.1-only"
+depends_dev="
+ bluez-qt5-dev
+ elogind-dev
+ libdsme-dev
+ libmce-qt-dev
+ libngf-qt-dev
+ libresourceqt-dev
+ libusb-moded-qt-dev
+ libxkbcommon-dev
+ mlite-dev
+ nemo-keepalive-dev
+ nemo-qml-plugin-devicelock-dev
+ nemo-qml-plugin-systemsettings-dev
+ pulseaudio-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qtsensors-dev
+ qt5-qtsystems-dev
+ qt5-qttools-dev
+ qt5-qtwayland-dev
+ ssu-sysinfo-dev
+ user-managerd-dev
+ wayland-dev
+ "
+makedepends="$depends_dev
+ doxygen
+ graphviz
+ "
+subpackages="$pkgname-dbg $pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsteroidOS/lipstick/archive/refs/tags/$pkgver.tar.gz
+ 0001-Drop-Qt-extended-surface.patch
+ 0002-Disables-tests-and-doc.patch
+ "
+options="!check" # Broken
+builddir="$srcdir/lipstick-$pkgver"
+
+provides="lipstick=$pkgver-r$pkgrel"
+replaces="lipstick lipstick-glacier"
+
+build() {
+ qmake-qt5
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ INSTALL_ROOT="$pkgdir" make install
+
+ mkdir -p "$pkgdir"/usr/share/dbus-1/system.d/
+ mv "$pkgdir"/etc/dbus-1/system.d/* "$pkgdir"/usr/share/dbus-1/system.d/
+}
+
+tools() {
+ pkgdesc="Useful command line tools for Lipstick"
+
+ amove usr/bin
+}
+
+sha512sums="
+e4e65a328bdac7c5a0bfcb8f9bf54f749ab5cb0bf1ef1d5f2829866ff0f7698fcf174c8871d58c700e198a992b3cc0ccfd74eae3d6ab748f51514e4331c51a29 lipstick-asteroidos-2.0.0.tar.gz
+b08c875045ce84beea6bab5c22aafc7eb32668450d3b9ed2163718adedf1f19e16e9d143514882e06da38e720f508924f641a80a654eea0e76af873088c16233 0001-Drop-Qt-extended-surface.patch
+221e2a75d660197364372ea8718ee6b0a476b6f8f413157b8524ec5cca57d45779b02fe7fc433727af2c8e47b52ddc6a784063fe7d1608d98396464935447a78 0002-Disables-tests-and-doc.patch
+"
diff --git a/testing/liquibase/APKBUILD b/testing/liquibase/APKBUILD
index 68adb806a80..143487d1693 100644
--- a/testing/liquibase/APKBUILD
+++ b/testing/liquibase/APKBUILD
@@ -2,18 +2,22 @@
# Contributor: Curt Tilmes <Curt.Tilmes@nasa.gov>
# Maintainer: Curt Tilmes <Curt.Tilmes@nasa.gov>
pkgname=liquibase
-pkgver=3.8.8
-pkgrel=1
+pkgver=4.9.1
+pkgrel=0
pkgdesc="Source Control for your Database"
url="https://www.liquibase.org/"
-arch="noarch !mips !mips64 !riscv64" # blocked by openjdk8
+arch="noarch !riscv64" # blocked by openjdk8
license="Apache-2.0"
-depends="openjdk8-jre bash"
+depends="java-jre bash"
subpackages="$pkgname-doc"
source="https://github.com/liquibase/liquibase/releases/download/v$pkgver/liquibase-$pkgver.tar.gz"
builddir="$srcdir"
options="!check" # No tests
+# secfixes:
+# 4.9.1-r0:
+# - CVE-2022-0839
+
package() {
mkdir -p "$pkgdir"/usr/share/"$pkgname"
for file in lib liquibase liquibase.jar; do
@@ -29,4 +33,6 @@ package() {
done
}
-sha512sums="48cdd205e1edc44d968a079ad3dd23737971db36a9eae3488819a271b18a5d4e6259e8d107b3018628eaf1dade118709d4fe4da5a8267e4c352b16f8ad634cc9 liquibase-3.8.8.tar.gz"
+sha512sums="
+8daa0477e4e3dc18f2f8008b419827dd622b8d7981ebb401ac472f6d6c5ed6b2e49d4ec7d1d30e197d944752838437ffeec3d77abd4d8da219db25c8dde832d9 liquibase-4.9.1.tar.gz
+"
diff --git a/testing/liquid-dsp/APKBUILD b/testing/liquid-dsp/APKBUILD
new file mode 100644
index 00000000000..47c03e2489a
--- /dev/null
+++ b/testing/liquid-dsp/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=liquid-dsp
+pkgver=1.5.0
+pkgrel=0
+pkgdesc="Digital signal processing library for software-defined radios"
+url="https://liquidsdr.org"
+arch="x86_64 aarch64" # tests only pass on 64 bit architectures https://github.com/jgaeddert/liquid-dsp/issues/146
+license="MIT"
+makedepends="autoconf automake"
+subpackages="$pkgname-dev"
+source="https://github.com/jgaeddert/liquid-dsp/archive/v$pkgver/liquid-dsp-v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ ./bootstrap.sh
+}
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --host=$CHOST \
+ --build=$CBUILD
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ # https://github.com/jgaeddert/liquid-dsp/issues/312
+ mv "$pkgdir"/usr/lib/libliquid.a* "$pkgdir"/usr/lib/libliquid.a
+}
+
+sha512sums="
+b9b655d155136aee828c76ae8287726b8abf51c969e5c2ded63e99bcb064b247597eec5b896d2fd608d94363a0d3d51214af12673858a5bdf22d27d4b662de12 liquid-dsp-v1.5.0.tar.gz
+"
diff --git a/testing/listenbrainz-mpd/APKBUILD b/testing/listenbrainz-mpd/APKBUILD
new file mode 100644
index 00000000000..9af9bb61f1d
--- /dev/null
+++ b/testing/listenbrainz-mpd/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=listenbrainz-mpd
+pkgver=2.3.4
+pkgrel=0
+pkgdesc="ListenBrainz submission client for MPD written in Rust"
+url="https://codeberg.org/elomatreb/listenbrainz-mpd"
+arch="all"
+license="AGPL-3.0-only"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ sqlite-dev
+"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/elomatreb/listenbrainz-mpd/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
+options="net !check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen --all-features
+}
+
+package() {
+ install -Dm755 target/release/listenbrainz-mpd "$pkgdir"/usr/bin/listenbrainz-mpd
+
+ install -Dm644 listenbrainz-mpd.adoc -t "$pkgdir"/usr/share/doc/$pkgname/
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+ install -Dm644 generated_completions/listenbrainz-mpd.bash "$pkgdir"/usr/share/bash-completion/completions/listenbrainz-mpd
+ install -Dm644 generated_completions/listenbrainz-mpd.fish "$pkgdir"/usr/share/fish/vendor_completions.d/listenbrainz-mpd.fish
+ install -Dm644 generated_completions/_listenbrainz-mpd "$pkgdir"/usr/share/zsh/site-functions/_listenbrainz-mpd
+}
+
+sha512sums="
+d2523b9194e992fa6c50e9819adbb462e9f5b2921ef1cc9b2680a3dcd38f72e80f5eab123363f33ebd7ff044cf6519bbee9ff270d1bdbc8d64046005d7431b8d listenbrainz-mpd-2.3.4.tar.gz
+"
diff --git a/testing/lite-xl/APKBUILD b/testing/lite-xl/APKBUILD
new file mode 100644
index 00000000000..2c527aa9df8
--- /dev/null
+++ b/testing/lite-xl/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Jakub Panek <me@panekj.dev>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=lite-xl
+pkgver=2.1.1
+pkgrel=1
+pkgdesc="Lightweight text editor written in Lua"
+url="https://lite-xl.github.io"
+arch="all"
+license="MIT"
+makedepends="
+ cmake
+ freetype-dev
+ lua5.4-dev
+ meson
+ pcre2-dev
+ reproc-dev
+ sdl2-dev
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/lite-xl/lite-xl/archive/v$pkgver/lite-xl-$pkgver.tar.gz"
+options="!check" # no tests available
+
+build() {
+ abuild-meson -Darch_tuple="$CARCH-linux" . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+224bf8e2629f2dcd9bc5c8468a0f3f8fd6453db910241e79c8d3ba6902202a31df8381f0dd9c5fb797ad98df7bc122ea288accb58353fe310ed770d0874268e5 lite-xl-2.1.1.tar.gz
+"
diff --git a/testing/litehtml/APKBUILD b/testing/litehtml/APKBUILD
new file mode 100644
index 00000000000..ce33d6c4219
--- /dev/null
+++ b/testing/litehtml/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=litehtml
+pkgver=0.8
+pkgrel=2
+pkgdesc="Fast and lightweight HTML/CSS rendering engine"
+url="http://www.litehtml.com"
+arch="all"
+license="BSD-3-Clause"
+makedepends="cmake samurai gumbo-parser-dev"
+checkdepends="gtest-dev"
+subpackages="$pkgname-static $pkgname-dev"
+source="https://github.com/litehtml/litehtml/archive/v$pkgver/litehtml-$pkgver.tar.gz
+ fix-gtest-check.patch
+ "
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLITEHTML_UTF8=ON \
+ -DEXTERNAL_GUMBO=ON \
+ -DEXTERNAL_GTEST=ON \
+ -DBUILD_TESTING=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)"
+ cmake -B build-static -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DLITEHTML_UTF8=ON \
+ -DEXTERNAL_GUMBO=ON \
+ -DBUILD_TESTING=OFF
+ cmake --build build
+ cmake --build build-static
+}
+
+check() {
+ ctest --output-on-failure --test-dir build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ DESTDIR="$pkgdir" cmake --install build-static
+}
+
+sha512sums="
+e2df205258c4e6f48cc0d8f900fb62c2da1b18c9ca007f1e222e51a59a632eb122eb2dc6136de6641ed96b3c6c823f7f90d098f2f40f9966b0cb831b180776a4 litehtml-0.8.tar.gz
+dd4d42b85a90ecb76e7d95d450e99ffce120a0032fd73196fc06835105bae8f3b3b294743e29d4f177ec363e99ebf1ae7e265e39d656ce9180244d2aafe45e3c fix-gtest-check.patch
+"
diff --git a/testing/litehtml/fix-gtest-check.patch b/testing/litehtml/fix-gtest-check.patch
new file mode 100644
index 00000000000..3ea2454d625
--- /dev/null
+++ b/testing/litehtml/fix-gtest-check.patch
@@ -0,0 +1,20 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -147,7 +147,7 @@
+ set_target_properties(${PROJECT_NAME} PROPERTIES VERSION ${PROJECT_LIB_VERSION} SOVERSION ${PROJECT_SO_VERSION})
+
+ set_target_properties(${PROJECT_NAME} PROPERTIES
+- CXX_STANDARD 11
++ CXX_STANDARD 14
+ C_STANDARD 99
+ PUBLIC_HEADER "${HEADER_LITEHTML}"
+ )
+@@ -205,7 +205,7 @@
+ )
+
+ set_target_properties(${TEST_NAME} PROPERTIES
+- CXX_STANDARD 11
++ CXX_STANDARD 14
+ C_STANDARD 99
+ PUBLIC_HEADER "${HEADER_LITEHTML}"
+ )
diff --git a/testing/litespeed/APKBUILD b/testing/litespeed/APKBUILD
deleted file mode 100644
index bab623acdef..00000000000
--- a/testing/litespeed/APKBUILD
+++ /dev/null
@@ -1,142 +0,0 @@
-# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Valery Kartel <valery.kartel@gmail.com>
-pkgname=litespeed
-pkgver=1.5.12
-pkgrel=1
-_pkgreal=open$pkgname
-_pkghome=var/lib/$pkgname
-_php=php8
-pkgdesc="High-performance, lightweight, open source HTTP server"
-url="https://openlitespeed.org/"
-arch="x86 x86_64"
-license="GPL-3.0-or-later"
-pkgusers=litespeed
-pkggroups=litespeed
-depends="$_php-$pkgname $_php-bcmath $_php-session $_php-sockets $_php-posix"
-makedepends="linux-headers openssl-dev geoip-dev expat-dev pcre-dev zlib-dev udns-dev autoconf
- bsd-compat-headers lua-dev luajit-dev brotli-dev brotli-static zlib-static"
-install="$pkgname.pre-install"
-subpackages="$pkgname-openrc $pkgname-snmp::noarch"
-source="https://openlitespeed.org/packages/openlitespeed-$pkgver.src.tgz
- $pkgname.initd
- include.patch
- install.patch
- ls_lock.patch
- thread.patch
- admin.patch
- "
-builddir="$srcdir/openlitespeed-$pkgver"
-
-build() {
- ./configure \
- --host=$CHOST \
- --build=$CBUILD \
- --prefix=/$_pkghome \
- --with-user=$pkgusers \
- --with-group=$pkggroups \
- --enable-adminssl=yes \
- --enable-recaptcha=no \
- --disable-rpath \
- --disable-static \
- --with-openssl=/usr \
- --with-expat \
- --with-pcre \
- --with-lua \
- --with-brotli=/usr \
- --with-zlib=/lib
- local extra_libs
- case "$CARCH" in
- x86 | arm* | aarch64 | ppc64le | mips*) extra_libs='-latomic'
- esac
- make EXTRA_LIBS="$extra_libs"
-}
-
-package() {
- local file;
- make DESTDIR="$pkgdir" install
-
- mkdir -p "$pkgdir"/usr/lib/$pkgname \
- "$pkgdir"/usr/sbin \
- "$pkgdir"/var/log
-
- # remove trash
- rm -fr "$pkgdir"/$_pkghome/php* \
- "$pkgdir"/$_pkghome/lib \
- "$pkgdir"/$_pkghome/GPL* \
- "$pkgdir"/$_pkghome/gdata \
- "$pkgdir"/$_pkghome/autoupdate \
- "$pkgdir"/$_pkghome/fcgi-bin/* \
- "$pkgdir"/$_pkghome/bin/lshttpd \
- "$pkgdir"/$_pkghome/admin/conf/php.* \
- "$pkgdir"/$_pkghome/admin/misc/gdb-bt \
- "$pkgdir"/$_pkghome/admin/misc/convertxml.* \
- "$pkgdir"/$_pkghome/admin/misc/build_admin_php.sh
-
- # fix ownership
- chown -R $pkgusers:$pkggroups \
- "$pkgdir"/$_pkghome/tmp \
- "$pkgdir"/$_pkghome/conf \
- "$pkgdir"/$_pkghome/logs \
- "$pkgdir"/$_pkghome/backup \
- "$pkgdir"/$_pkghome/cachedata \
- "$pkgdir"/$_pkghome/admin/tmp \
- "$pkgdir"/$_pkghome/admin/logs \
- "$pkgdir"/$_pkghome/admin/conf \
- "$pkgdir"/$_pkghome/admin/cgid \
- "$pkgdir"/$_pkghome/Example/logs
-
- # install configs
- install -Dm755 "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname
- mv "$pkgdir"/$_pkghome/conf \
- "$pkgdir"/etc/$pkgname
- mv "$pkgdir"/$_pkghome/admin/conf \
- "$pkgdir"/etc/$pkgname/admin
- ln -s /etc/$pkgname "$pkgdir"/$_pkghome/conf
- ln -s /etc/$pkgname/admin "$pkgdir"/$_pkghome/admin/conf
- find "$pkgdir"/etc/$pkgname -type f -print0 | xargs -0 chmod -x
-
- # install binary
- mv "$pkgdir"/$_pkghome/bin/$_pkgreal \
- "$pkgdir"/usr/sbin/lshttpd
- ln -sf /usr/sbin/lshttpd \
- "$pkgdir"/$_pkghome/bin/$pkgname
-
- # install modules
- for file in $(find "$pkgdir"/$_pkghome/modules -name "*.so"); do
- mv $file "$pkgdir"/usr/lib/$pkgname/${file##*/}
- ln -s /usr/lib/$pkgname/${file##*/} $file
- done
-
- # install logs
- mv "$pkgdir"/$_pkghome/logs "$pkgdir"/var/log/$pkgname
- mv "$pkgdir"/$_pkghome/admin/logs "$pkgdir"/var/log/$pkgname/admin
- mv "$pkgdir"/$_pkghome/Example/logs "$pkgdir"/var/log/$pkgname/Example
- ln -s /var/log/$pkgname "$pkgdir"/$_pkghome/logs
- ln -s /var/log/$pkgname/admin "$pkgdir"/$_pkghome/admin/logs
- ln -s /var/log/$pkgname/Example "$pkgdir"/$_pkghome/Example/logs
-
- # install backend
- ln -s /usr/bin/ls$_php "$pkgdir"/$_pkghome/fcgi-bin/lsphp
- ln -s /etc/$_php/php.ini "$pkgdir"/etc/$pkgname/php.ini
- ln -s /etc/$_php/php.ini "$pkgdir"/etc/$pkgname/admin/php.ini
-}
-
-snmp() {
- pkgdesc="$pkgdesc (snmp monitoring add-on + cacti templates)"
- depends="$pkgname net-snmp"
-
- mkdir -p "$subpkgdir"/$_pkghome/add-ons
- mv "$pkgdir"/$_pkghome/add-ons/snmp_monitoring \
- "$subpkgdir"/$_pkghome/add-ons
-}
-
-sha512sums="
-62045fd137cccfbb1962d375070da19989f645061042b95a4cfd162bd6da12e70939b6410624887071414634595f2c20b1b52036f39ade90fd91f7221e4a9fbb openlitespeed-1.5.12.src.tgz
-2b0299246aaeb885122d8f939437f0e4701f6a79ea976f725ba8765d8b295c2797c0cac30e639d5eda665b9589710ee55acc4d03b078c4b9cc1e564994ccb9f5 litespeed.initd
-4932d6f039c12cc3054ad20d9066e031a656e87f1ca2897a10723872db588eacb68914b5f36eb57c3c918c1716c68db2388414659049c295cf28094cccb4c4b0 include.patch
-f4ed44c7cf00daf44aad572cc5b4814b8923e75270d6a48ec5c431902c1c91c3199f4c42394f8b3dcc04ec20c8ba21bf35af78f0760262ba7079379c896abc88 install.patch
-f4b4c1cb8199f8fcc5c6cd401b4cbe1dac74ebe6b3365cc81bf87b7161ccf2b753b565e5b0efed27b3ba2200ca54e37e4bc3b99111afe91ebc8fde74a7d4e37a ls_lock.patch
-333292a77cea48fb1aeaa68102e6c9ca925b9156ae5e6f013f7e096ed55b860e81a1f430bb1b4cbc583c782ca8c60cde51934c76be865219e0f0efc84c3b9081 thread.patch
-50b8bbd3172c44febf82bbe91da9c1c31d73ec40455cf397a91797ead47ff468ceb518d31b4cbf61d33d060cbd213985d38b8f69d4a287679698c7cb64773869 admin.patch
-"
diff --git a/testing/litespeed/admin.patch b/testing/litespeed/admin.patch
deleted file mode 100644
index 8f8467fb251..00000000000
--- a/testing/litespeed/admin.patch
+++ /dev/null
@@ -1,51 +0,0 @@
---- a/dist/admin/html.open/lib/CData.php.orig
-+++ b/dist/admin/html.open/lib/CData.php
-@@ -46,7 +46,7 @@
-
- error_log("Migrate plain conf to xml from $SERVER_ROOT\n");
-
-- if ($SERVER_ROOT{-1} != '/')
-+ if ($SERVER_ROOT[-1] != '/')
- $SERVER_ROOT .= '/';
-
- define('SERVER_ROOT', $SERVER_ROOT);
-@@ -77,7 +77,7 @@
- die("Require removexml as input param with value 1 or 0.");
-
- error_log("Migrate xml to plain conf under server root $SERVER_ROOT\n");
-- if ($SERVER_ROOT{-1} != '/')
-+ if ($SERVER_ROOT[-1] != '/')
- $SERVER_ROOT .= '/';
-
- define('SERVER_ROOT', $SERVER_ROOT);
---- a/dist/admin/html.open/lib/PathTool.php.orig
-+++ b/dist/admin/html.open/lib/PathTool.php
-@@ -5,7 +5,7 @@
-
- public static function getAbsolutePath($root, $path)
- {
-- if ($path{-1} != '/')
-+ if ($path[-1] != '/')
- $path .= '/';
-
- $newPath = $this->getAbsoluteFile($root, $path);
-@@ -14,7 +14,7 @@
-
- public static function getAbsoluteFile($root, $path)
- {
-- if ($path{0} != '/')
-+ if ($path[0] != '/')
- $path = $root . '/' . $path;
-
- $newPath = $this->clean($path);
---- a/dist/admin/html.open/lib/PlainConfParser.php.orig
-+++ b/dist/admin/html.open/lib/PlainConfParser.php
-@@ -20,7 +20,7 @@
- $parentid = $index - 1;
- $level = ($index > 0) ? $this->_list[$parentid][1] + 1 : 0;
- $fullpath = $filename;
-- if ($filename{0} != '/') {
-+ if ($filename[0] != '/') {
- if ($parentid) {
- $fullpath = $this->_list[$parentid][3] . '/' . $filename;
- } else {
diff --git a/testing/litespeed/include.patch b/testing/litespeed/include.patch
deleted file mode 100644
index cf9e560bade..00000000000
--- a/testing/litespeed/include.patch
+++ /dev/null
@@ -1,118 +0,0 @@
---- a/src/main/httpserver.cpp.orig
-+++ b/src/main/httpserver.cpp
-@@ -138,7 +138,7 @@
-
- #if defined(__FreeBSD__ ) || defined(__NetBSD__) || defined(__OpenBSD__) \
- || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
--#include <sys/sysctl.h>
-+#include <linux/sysctl.h>
- #endif
-
- #define FILEMODE 0644
---- a/src/main/lshttpdmain.cpp.orig
-+++ b/src/main/lshttpdmain.cpp
-@@ -51,7 +51,7 @@
- #include <util/httpfetch.h>
- #include <socket/gsockaddr.h>
-
--#include <sys/sysctl.h>
-+#include <linux/sysctl.h>
-
- #include <extensions/cgi/cgidworker.h>
- #include <extensions/registry/extappregistry.h>
-
---- a/src/sslpp/sslsesscache.h.orig
-+++ b/src/sslpp/sslsesscache.h
-@@ -24,6 +24,7 @@
- #include <util/tsingleton.h>
- #include <stdint.h>
- #include <unistd.h>
-+#include <time.h>
-
-
- #define LS_SSLSESSCACHE_DEFAULTSIZE 40*1024
-
---- a/src/modules/lua/lsluadefs.h.orig
-+++ b/src/modules/lua/lsluadefs.h
-@@ -22,8 +22,8 @@
- extern "C" {
- #endif
- /* need lua_State * */
--#include <luajit.h>
--#include <lauxlib.h>
-+#include <luajit-2.1/luajit.h>
-+#include <luajit-2.1/lauxlib.h>
- #ifdef __cplusplus
- };
- #endif
---- a/configure.orig
-+++ b/configure
-@@ -16026,16 +16026,16 @@
- if test "$OPENLSWS_BROTLI" = "no" ; then
- echo "Brotli compression disabled!!!"
- else
-- LIBBROTLI=" $OPENLSWS_BROTLI/out/libbrotlidec-static.a $OPENLSWS_BROTLI/out/libbrotlienc-static.a $OPENLSWS_BROTLI/out/libbrotlicommon-static.a "
-- as_ac_File=`$as_echo "ac_cv_file_$OPENLSWS_BROTLI/out/libbrotlidec-static.a" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $OPENLSWS_BROTLI/out/libbrotlidec-static.a" >&5
--$as_echo_n "checking for $OPENLSWS_BROTLI/out/libbrotlidec-static.a... " >&6; }
-+ LIBBROTLI=" /usr/lib/libbrotlidec-static.a /usr/lib/libbrotlienc-static.a /usr/lib/libbrotlicommon-static.a "
-+ as_ac_File=`$as_echo "ac_cv_file_/usr/lib/libbrotlidec-static.a" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/lib/libbrotlidec-static.a" >&5
-+$as_echo_n "checking for /usr/lib/libbrotlidec-static.a... " >&6; }
- if eval \${$as_ac_File+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- test "$cross_compiling" = yes &&
- as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
--if test -r "$OPENLSWS_BROTLI/out/libbrotlidec-static.a"; then
-+if test -r "/usr/lib/libbrotlidec-static.a"; then
- eval "$as_ac_File=yes"
- else
- eval "$as_ac_File=no"
-@@ -16047,21 +16047,21 @@
- if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
-
- cat >>confdefs.h <<_ACEOF
--#define `$as_echo "HAVE_$OPENLSWS_BROTLI/out/libbrotlidec-static.a" | $as_tr_cpp` 1
-+#define `$as_echo "HAVE_/usr/lib/libbrotlidec-static.a" | $as_tr_cpp` 1
- _ACEOF
-
- else
- LIBBROTLI=
- fi
--as_ac_File=`$as_echo "ac_cv_file_$OPENLSWS_BROTLI/c/include/brotli/decode.h" | $as_tr_sh`
--{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $OPENLSWS_BROTLI/c/include/brotli/decode.h" >&5
--$as_echo_n "checking for $OPENLSWS_BROTLI/c/include/brotli/decode.h... " >&6; }
-+as_ac_File=`$as_echo "ac_cv_file_/usr/include/brotli/decode.h" | $as_tr_sh`
-+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/include/brotli/decode.h" >&5
-+$as_echo_n "checking for /usr/include/brotli/decode.h... " >&6; }
- if eval \${$as_ac_File+:} false; then :
- $as_echo_n "(cached) " >&6
- else
- test "$cross_compiling" = yes &&
- as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
--if test -r "$OPENLSWS_BROTLI/c/include/brotli/decode.h"; then
-+if test -r "/usr/include/brotli/decode.h"; then
- eval "$as_ac_File=yes"
- else
- eval "$as_ac_File=no"
-@@ -16073,7 +16073,7 @@
- if eval test \"x\$"$as_ac_File"\" = x"yes"; then :
-
- cat >>confdefs.h <<_ACEOF
--#define `$as_echo "HAVE_$OPENLSWS_BROTLI/c/include/brotli/decode.h" | $as_tr_cpp` 1
-+#define `$as_echo "HAVE_/sur/include/brotli/decode.h" | $as_tr_cpp` 1
- _ACEOF
-
- else
-@@ -16084,8 +16084,8 @@
- echo "Brotli files check failed. If continue, brotli compression will be disabled."
- else
- echo "Brotli checked and enabled!!!"
-- CPPFLAGS="$CPPFLAGS -I$OPENLSWS_BROTLI/c/include "
-- LIBBROTLI=" $OPENLSWS_BROTLI/out/libbrotlidec-static.a $OPENLSWS_BROTLI/out/libbrotlienc-static.a $OPENLSWS_BROTLI/out/libbrotlicommon-static.a "
-+ CPPFLAGS="$CPPFLAGS -I/usr/include "
-+ LIBBROTLI=" /usr/lib/libbrotlidec-static.a /usr/lib/libbrotlienc-static.a /usr/lib/libbrotlicommon-static.a "
-
- cat >>confdefs.h <<_ACEOF
- #define USE_BROTLI 1
diff --git a/testing/litespeed/install.patch b/testing/litespeed/install.patch
deleted file mode 100644
index ec3112170bd..00000000000
--- a/testing/litespeed/install.patch
+++ /dev/null
@@ -1,215 +0,0 @@
---- a/configure.orig
-+++ b/configure
-@@ -16191,10 +16191,10 @@
-
-
- if test "$OPENLSWS_BSSL" = no ; then
-- usedynossl=no
-- CPPFLAGS=" -I../../ssl/include $CPPFLAGS -I../../src -I../../include -I/usr/local/include -I/usr/local -I/usr -I/usr/pkg "
-+ usedynossl=yes
-+ CPPFLAGS=" $CPPFLAGS -I../../src -I../../include -I/usr/local/include -I/usr/local -I/usr -I/usr/pkg "
- echo "Will build latest stable openssl libraries for you, this may take several minutes ..."
-- OSSL=`. $srcdir/dlossl.sh`
-+# OSSL=`. $srcdir/dlossl.sh`
- echo "Finsihed building openssl."
- echo "Openssl: use_dyn_ossl = $usedynossl"
-
-@@ -16576,7 +16576,7 @@
-
-
-
--if test "$OSNAME" = Darwin ; then
-+if test "$OSNAME" = Linux ; then
-
-
- # Check whether --with-openssl was given.
---- a/dist/install.sh.orig
-+++ b/dist/install.sh
-@@ -35,11 +35,7 @@
- fi
-
- if [ "x$OS" = "xLinux" ] ; then
-- if [ "x$OSTYPE" != "x64" ] ; then
-- $DLCMD $LSWS_HOME/admin/fcgi-bin/admin_php http://www.litespeedtech.com/packages/lsphp5_bin/i386/lsphp5
-- else
-- $DLCMD $LSWS_HOME/admin/fcgi-bin/admin_php http://www.litespeedtech.com/packages/lsphp5_bin/x86_64/lsphp5
-- fi
-+ ln -s /usr/bin/lsphp8 $LSWS_HOME/admin/fcgi-bin/admin_php
-
- if [ $? = 0 ] ; then
- HASADMINPHP=y
---- a/dist/functions.sh.orig
-+++ b/dist/functions.sh
-@@ -399,7 +399,7 @@
-
- if [ $INST_USER = "root" ]; then
- if [ $SUCC -eq "1" ]; then
-- chown -R "$DIR_OWN" "$LSWS_HOME"
-+ : #chown -R "$DIR_OWN" "$LSWS_HOME"
- fi
- fi
- }
-@@ -649,7 +649,7 @@
- if [ ! -d "$LSWS_HOME/$arg" ]; then
- mkdir "$LSWS_HOME/$arg"
- fi
-- chown "$OWNER" "$LSWS_HOME/$arg"
-+ #chown "$OWNER" "$LSWS_HOME/$arg"
- chmod $PERM "$LSWS_HOME/$arg"
- done
-
-@@ -666,7 +666,7 @@
- do
- if [ -f "$LSINSTALL_DIR/$arg" ]; then
- cp -f "$LSINSTALL_DIR/$arg" "$LSWS_HOME/$arg"
-- chown "$OWNER" "$LSWS_HOME/$arg"
-+ #chown "$OWNER" "$LSWS_HOME/$arg"
- chmod $PERM "$LSWS_HOME/$arg"
- fi
- done
-@@ -685,7 +685,7 @@
- cp "$LSINSTALL_DIR/$arg" "$LSWS_HOME/$arg"
- fi
- if [ -f "$LSWS_HOME/$arg" ]; then
-- chown "$OWNER" "$LSWS_HOME/$arg"
-+ #chown "$OWNER" "$LSWS_HOME/$arg"
- chmod $PERM "$LSWS_HOME/$arg"
- fi
- done
-@@ -701,7 +701,7 @@
- for arg
- do
- cp -R "$LSINSTALL_DIR/$arg/"* "$LSWS_HOME/$arg/"
-- chown -R "$OWNER" "$LSWS_HOME/$arg/"*
-+ #chown -R "$OWNER" "$LSWS_HOME/$arg/"*
- #chmod -R $PERM $LSWS_HOME/$arg/*
- done
- }
-@@ -728,7 +728,7 @@
- for arg
- do
- cp -R "$LSINSTALL_DIR/$arg/"* "$LSWS_HOME/$arg.$VERSION/"
-- chown -R "$OWNER" "$LSWS_HOME/$arg.$VERSION"
-+ #chown -R "$OWNER" "$LSWS_HOME/$arg.$VERSION"
- $TEST_BIN -L "$LSWS_HOME/$arg"
- if [ $? -eq 0 ]; then
- rm -f "$LSWS_HOME/$arg"
-@@ -750,7 +750,7 @@
- for arg
- do
- cp -f "$LSINSTALL_DIR/$arg" "$LSWS_HOME/$arg.$VERSION"
-- chown "$OWNER" "$LSWS_HOME/$arg.$VERSION"
-+ #chown "$OWNER" "$LSWS_HOME/$arg.$VERSION"
- chmod $PERM "$LSWS_HOME/$arg.$VERSION"
- $TEST_BIN -L "$LSWS_HOME/$arg"
- if [ $? -eq 0 ]; then
-@@ -767,11 +767,11 @@
- umask 022
- if [ $INST_USER = "root" ]; then
- SDIR_OWN="root:$ROOTGROUP"
-- chown $SDIR_OWN $LSWS_HOME
-+ #chown $SDIR_OWN $LSWS_HOME
- else
- SDIR_OWN=$DIR_OWN
- fi
-- sed "s:%LSWS_CTRL%:$LSWS_HOME/bin/lswsctrl:" "$LSINSTALL_DIR/admin/misc/lsws.rc.in" > "$LSINSTALL_DIR/admin/misc/lsws.rc"
-+ #sed "s:%LSWS_CTRL%:$LSWS_HOME/bin/lswsctrl:" "$LSINSTALL_DIR/admin/misc/lsws.rc.in" > "$LSINSTALL_DIR/admin/misc/lsws.rc"
-
- OWNER=$1
- PERM=$2
-@@ -782,7 +782,7 @@
- if [ ! -f "$LSWS_HOME/$arg" ]; then
- cp "$LSINSTALL_DIR/$arg" "$LSWS_HOME/$arg"
- fi
-- chown "$OWNER" "$LSWS_HOME/$arg"
-+ #chown "$OWNER" "$LSWS_HOME/$arg"
- chmod $PERM "$LSWS_HOME/$arg"
- done
- }
-@@ -797,7 +797,7 @@
- for arg
- do
- cp -R "$LSINSTALL_DIR/$arg/"* "$LSWS_HOME/$arg/"
-- chown -R "$OWNER" "$LSWS_HOME/$arg/"*
-+ #chown -R "$OWNER" "$LSWS_HOME/$arg/"*
- #chmod -R $PERM $LSWS_HOME/$arg/*
- done
- }
-@@ -816,7 +816,7 @@
- do
- if [ -d "$LSINSTALL_DIR/$arg" ]; then
- cp -R "$LSINSTALL_DIR/$arg/"* "$LSWS_HOME/$arg.$VERSION/"
-- chown -R "$OWNER" "$LSWS_HOME/$arg.$VERSION"
-+ #chown -R "$OWNER" "$LSWS_HOME/$arg.$VERSION"
- $TEST_BIN -L "$LSWS_HOME/$arg"
- if [ $? -eq 0 ]; then
- rm -f "$LSWS_HOME/$arg"
-@@ -841,7 +841,7 @@
- if [ -f "$LSINSTALL_DIR/$arg" ]; then
-
- cp -f "$LSINSTALL_DIR/$arg" "$LSWS_HOME/$arg.$VERSION"
-- chown "$OWNER" "$LSWS_HOME/$arg.$VERSION"
-+ #chown "$OWNER" "$LSWS_HOME/$arg.$VERSION"
- chmod $PERM "$LSWS_HOME/$arg.$VERSION"
- $TEST_BIN -L "$LSWS_HOME/$arg"
- if [ $? -eq 0 ]; then
-@@ -873,11 +873,11 @@
-
- create_lsadm()
- {
-- groupadd lsadm
-+ #groupadd lsadm
- #1>/dev/null 2>&1
- lsadm_gid=`grep "^lsadm:" /etc/group | awk -F : '{ print $3; }'`
-- useradd -g $lsadm_gid -d / -r -s /sbin/nologin lsadm
-- usermod -a -G $WS_GROUP lsadm
-+ #useradd -g $lsadm_gid -d / -r -s /sbin/nologin lsadm
-+ #usermod -a -G $WS_GROUP lsadm
- #1>/dev/null 2>&1
-
- }
-@@ -950,13 +950,13 @@
- CONF_OWN="lsadm:lsadm"
- fi
- SDIR_OWN="root:$ROOTGROUP"
-- chown $SDIR_OWN $LSWS_HOME
-+ #chown $SDIR_OWN $LSWS_HOME
- else
- SDIR_OWN=$DIR_OWN
- fi
-- sed "s:%LSWS_CTRL%:$LSWS_HOME/bin/lswsctrl:" "$LSINSTALL_DIR/admin/misc/lsws.rc.in" > "$LSINSTALL_DIR/admin/misc/lsws.rc"
-- sed "s:%LSWS_CTRL%:$LSWS_HOME/bin/lswsctrl:" "$LSINSTALL_DIR/admin/misc/lsws.rc.gentoo.in" > "$LSINSTALL_DIR/admin/misc/lsws.rc.gentoo"
-- sed "s:%LSWS_CTRL%:$LSWS_HOME/bin/lswsctrl:" "$LSINSTALL_DIR/admin/misc/lshttpd.service.in" > "$LSINSTALL_DIR/admin/misc/lshttpd.service"
-+ #sed "s:%LSWS_CTRL%:$LSWS_HOME/bin/lswsctrl:" "$LSINSTALL_DIR/admin/misc/lsws.rc.in" > "$LSINSTALL_DIR/admin/misc/lsws.rc"
-+ #sed "s:%LSWS_CTRL%:$LSWS_HOME/bin/lswsctrl:" "$LSINSTALL_DIR/admin/misc/lsws.rc.gentoo.in" > "$LSINSTALL_DIR/admin/misc/lsws.rc.gentoo"
-+ #sed "s:%LSWS_CTRL%:$LSWS_HOME/bin/lswsctrl:" "$LSINSTALL_DIR/admin/misc/lshttpd.service.in" > "$LSINSTALL_DIR/admin/misc/lshttpd.service"
- if [ -d "$LSWS_HOME/admin/html.$VERSION" ]; then
- rm -rf "$LSWS_HOME/admin/html.$VERSION"
- fi
-@@ -965,10 +965,7 @@
- util_mkdir "$CONF_OWN" $SDIR_MOD conf conf/cert conf/templates conf/vhosts conf/vhosts/Example admin/conf admin/tmp phpbuild
- util_mkdir "$SDIR_OWN" $SDIR_MOD cgid admin/cgid admin/cgid/secret
- util_mkdir "$DIR_OWN" $SDIR_MOD tmp/ocspcache
-- chgrp $WS_GROUP $LSWS_HOME/admin/tmp $LSWS_HOME/admin/cgid $LSWS_HOME/cgid
- chmod g+x $LSWS_HOME/admin/tmp $LSWS_HOME/admin/cgid $LSWS_HOME/cgid
-- chown $CONF_OWN $LSWS_HOME/admin/tmp/sess_* 1>/dev/null 2>&1
-- chown $DIR_OWN $LSWS_HOME/cachedata
- chown $DIR_OWN $LSWS_HOME/autoupdate
- chown $DIR_OWN $LSWS_HOME/tmp
- util_mkdir "$SDIR_OWN" $DIR_MOD Example
-@@ -994,7 +991,6 @@
- util_cpfile "$SDIR_OWN" $EXEC_MOD fcgi-bin/RailsRunner.rb fcgi-bin/RailsRunner.rb.2.3
-
- util_cpfile "$SDIR_OWN" $EXEC_MOD lsrecaptcha/_recaptcha lsrecaptcha/_recaptcha.shtml
-- util_cpfile "$SDIR_OWN" $EXEC_MOD admin/misc/rc-inst.sh admin/misc/admpass.sh admin/misc/rc-uninst.sh admin/misc/uninstall.sh admin/misc/lsws.rc admin/misc/lsws.rc.gentoo admin/misc/enable_phpa.sh admin/misc/mgr_ver.sh admin/misc/gzipStatic.sh admin/misc/fp_install.sh admin/misc/create_admin_keypair.sh admin/misc/awstats_install.sh admin/misc/update.sh admin/misc/cleancache.sh admin/misc/lsup.sh admin/misc/testbeta.sh
- util_cpfile "$SDIR_OWN" $EXEC_MOD admin/misc/ap_lsws.sh.in admin/misc/build_ap_wrapper.sh admin/misc/cpanel_restart_httpd.in admin/misc/build_admin_php.sh admin/misc/convertxml.sh admin/misc/lscmctl
- util_cpfile "$SDIR_OWN" $DOC_MOD admin/misc/gdb-bt admin/misc/htpasswd.php admin/misc/php.ini admin/misc/genjCryptionKeyPair.php admin/misc/purge_cache_byurl.php
- util_cpfile "$SDIR_OWN" $DOC_MOD admin/misc/convertxml.php admin/misc/lshttpd.service
-@@ -1049,7 +1045,6 @@
- fi
-
- #change conf own as lsadm:nobody permission 750
-- chown -R lsadm:$WS_GROUP "$LSWS_HOME/conf/"
- chmod -R 0750 "$LSWS_HOME/conf/"
-
- chmod 0600 "$LSWS_HOME/conf/httpd_config.conf"
diff --git a/testing/litespeed/litespeed.initd b/testing/litespeed/litespeed.initd
deleted file mode 100644
index ee3cf42ecd3..00000000000
--- a/testing/litespeed/litespeed.initd
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/sbin/openrc-run
-
-description="LiteSpeed Web Server"
-
-lshome=/var/lib/litespeed
-
-command=$lshome/bin/lswsctrl
-cfgfile=$lshome/conf/httpd_config.conf
-pidfile=/tmp/lshttpd/lshttpd.pid
-required_files="$cfgfile"
-
-depend() {
- need net
- use dns netmount
-}
-
-start() {
- ebegin "Starting $RC_SVCNAME"
- $command start >/dev/null
- eend $?
-}
-
-stop() {
- ebegin "Stopping $RC_SVCNAME"
- $command stop >/dev/null
- eend $?
-}
-
-restart() {
- ebegin "Restarting $RC_SVCNAME"
- $command restart >/dev/null
- eend $?
-}
diff --git a/testing/litespeed/litespeed.pre-install b/testing/litespeed/litespeed.pre-install
deleted file mode 100644
index eed557467b5..00000000000
--- a/testing/litespeed/litespeed.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S litespeed 2>/dev/null
-adduser -S -D -H -h /var/lib/litespeed -s /sbin/nologin -G litespeed -g litespeed litespeed 2>/dev/null
-
-exit 0
diff --git a/testing/litespeed/ls_lock.patch b/testing/litespeed/ls_lock.patch
deleted file mode 100644
index 645e61ef825..00000000000
--- a/testing/litespeed/ls_lock.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/include/lsr/ls_lock.h
-+++ b/include/lsr/ls_lock.h
-@@ -55,16 +55,9 @@
- extern "C" {
- #endif
-
--#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__) \
-- || defined(__FreeBSD__ ) || defined(__NetBSD__) || defined(__OpenBSD__)
--#define USE_F_MUTEX
--#define USE_MUTEX_ADAPTIVE
--
--#else
- #undef USE_F_MUTEX
- #define USE_MUTEX_LOCK
-
--#endif
- #define USE_ATOMIC_SPIN
-
- #define MAX_FUTEX_SPINCNT 10
---- a/src/lsr/ls_lock.c.orig
-+++ b/src/lsr/ls_lock.c
-@@ -124,11 +124,7 @@
- #else /* defined(USE_MUTEX_ADAPTIVE) */
- /* pthread_mutexattr_settype(&myAttr, PTHREAD_MUTEX_NORMAL); */
- pthread_mutexattr_settype(&myAttr,
--#if defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)
-- PTHREAD_MUTEX_ERRORCHECK_NP
--#else /* defined(linux) */
- PTHREAD_MUTEX_ERRORCHECK
--#endif /* defined(linux) */
- );
- #endif /* defined(USE_MUTEX_ADAPTIVE) */
- /* pthread_mutexattr_settype(&myAttr, PTHREAD_MUTEX_RECURSIVE); */
-
diff --git a/testing/litespeed/thread.patch b/testing/litespeed/thread.patch
deleted file mode 100644
index 8f8522baee8..00000000000
--- a/testing/litespeed/thread.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- a/src/thread/thread.h
-+++ b/src/thread/thread.h
-@@ -118,12 +118,6 @@
-
- int timedJoin(void **pRetVal, struct timespec *timeout)
- { return pthread_timedjoin_np(m_thread, pRetVal, timeout); }
--
-- int attrSetAffinity(size_t cpusetsize, const cpu_set_t *cpuset)
-- { return m_thread ? LS_FAIL : pthread_attr_setaffinity_np(&m_attr, cpusetsize, cpuset); }
--
-- int attrGetAffinity(size_t cpusetsize, cpu_set_t *pCpuSet)
-- { return pthread_attr_getaffinity_np(&m_attr, cpusetsize, pCpuSet); }
- #endif
-
- int attrSetDetachState(int detachstate)
---- a/src/thread/pthreadmutex.cpp
-+++ b/src/thread/pthreadmutex.cpp
-@@ -16,19 +16,6 @@
- * along with this program. If not, see http://www.gnu.org/licenses/. *
- *****************************************************************************/
- #include "pthreadmutex.h"
--#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__gnu_linux__)) && !defined( NDEBUG )
-
--#ifndef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
--# define PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \
-- {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP, __LOCK_INITIALIZER}
--#endif
--
--pthread_mutex_t PThreadMutex::s_proto =
-- PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
--
--#else
--
- pthread_mutex_t PThreadMutex::s_proto = PTHREAD_MUTEX_INITIALIZER;
--
--#endif
-
diff --git a/testing/litterbox/APKBUILD b/testing/litterbox/APKBUILD
index b4d973a514b..e596d6f3b75 100644
--- a/testing/litterbox/APKBUILD
+++ b/testing/litterbox/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=litterbox
-pkgver=1.8
+pkgver=1.9
pkgrel=1
pkgdesc="IRC logger"
arch="all"
@@ -26,5 +26,5 @@ package() {
}
sha512sums="
-ef49f1591eb70b80d8cd71eb4bf43ec02d09e20061627ad6900e32935b06a48ee52787cbc9debc7ac871b38d91e58ffe190d3c9fabe4cc764fb669cdd07a4c39 litterbox-1.8.tar.gz
+b2af91635118010ba5093027bffadbbdaa4e6e80f953881f1fb416ebff410897b9a1259e9cc7ddd33df6334b97704b3992979a85f0310e0dabde6af41b56149a litterbox-1.9.tar.gz
"
diff --git a/testing/livestreamer/APKBUILD b/testing/livestreamer/APKBUILD
deleted file mode 100644
index 9014a73b103..00000000000
--- a/testing/livestreamer/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=livestreamer
-pkgver=1.12.2
-pkgrel=11
-pkgdesc="Command-line utility that extracts streams from various services and pipes them into a video player of choice"
-url="https://docs.livestreamer.io/"
-arch="noarch"
-license="BSD-2-Clause AND MIT"
-depends="py3-requests rtmpdump py3-pycryptodome py3-librtmp"
-makedepends="py3-sphinx py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/chrippa/livestreamer/archive/v$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --root="$pkgdir" --optimize=1
-}
-
-sha512sums="547886b494a7562e479cf31db15b5b02545f2ebc5f8b70d0fe0006d3748c5c9f20517638c7642377e2bdc4083738829eacf272e8d68f332da212bf65300f5d12 livestreamer-1.12.2.tar.gz"
diff --git a/testing/lizardfs/APKBUILD b/testing/lizardfs/APKBUILD
new file mode 100644
index 00000000000..2cbde1fa54d
--- /dev/null
+++ b/testing/lizardfs/APKBUILD
@@ -0,0 +1,160 @@
+# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
+# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
+pkgname=lizardfs
+pkgver=3.13.0
+pkgrel=12
+pkgdesc="Highly reliable, scalable and efficient distributed file system"
+url="https://github.com/lizardfs/lizardfs/"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ asciidoc
+ boost-dev
+ cmake
+ db-dev
+ fuse-dev
+ fuse3-dev
+ isa-l-dev
+ judy-dev
+ libpcap-dev
+ libtool
+ linux-pam-dev
+ python3-dev
+ samurai
+ spdlog-dev
+ thrift-dev
+ zlib-dev
+ "
+checkdepends="gtest-dev"
+pkgusers="mfs"
+pkggroups="mfs"
+options="!check" # need to setup a virtual machine
+install="$pkgname.pre-install"
+subpackages="
+ $pkgname-doc
+ $pkgname-client
+ $pkgname-master
+ $pkgname-chunkserver
+ $pkgname-metalogger
+ $pkgname-cgi::noarch
+ $pkgname-cgiserv::noarch
+ $pkgname-metalogger-openrc:metalogger_openrc
+ $pkgname-master-openrc:master_openrc
+ $pkgname-chunkserver-openrc:chunkserver_openrc
+ $pkgname-cgiserv-openrc:cgiserv_openrc
+ $pkgname-bash-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/lizardfs/lizardfs/archive/refs/tags/$pkgver-rc3.tar.gz
+ gcc13.patch
+ $pkgname-uraft.patch
+ $pkgname-cgiserv.initd
+ $pkgname-chunkserver.initd
+ $pkgname-cgiserv.confd
+ $pkgname-master.initd
+ $pkgname-metalogger.initd
+ $pkgname-iostat-header.patch
+ $pkgname-cstdio-header.patch
+ "
+builddir="$srcdir/$pkgname-$pkgver-rc3"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DENABLE_TESTS="$(want_check && echo ON || echo OFF)" \
+ -DENABLE_DOCS=NO \
+ -DENABLE_JEMALLOC=YES \
+ -DCMAKE_INSTALL_PREFIX=/ \
+ -DENABLE_POLONAISE=OFF \
+ -DTHROW_INSTEAD_OF_ABORT=YES \
+ -Wno-dev \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ chown -R mfs:mfs "$pkgdir"/var/lib/lizardfs
+
+ mkdir -p "$pkgdir"/usr/share/bash-completion
+ mv "$pkgdir"/etc/bash_completion.d "$pkgdir"/usr/share/bash-completion/completions
+}
+
+master() {
+ pkgdesc="LizardFS master server"
+ depends="lizardfs=$pkgver-r$pkgrel"
+ amove \
+ usr/sbin/mfsmaster \
+ usr/sbin/mfsrestoremaster \
+ usr/sbin/mfsmetadump \
+ usr/sbin/mfsmetarestore \
+ var/lib/lizardfs/metadata.mfs.empty
+ chown -R $pkgusers:$pkggroups "$subpkgdir"/var/lib/lizardfs
+}
+
+master_openrc() {
+ default_openrc
+ install -Dm755 "$srcdir"/$pkgname-master.initd "$subpkgdir"/etc/init.d/$pkgname-master
+}
+
+metalogger() {
+ pkgdesc="LizardFS metadata replication server"
+ depends="lizardfs=$pkgver-r$pkgrel"
+ amove usr/sbin/mfsmetalogger
+}
+
+metalogger_openrc() {
+ default_openrc
+ install -Dm755 "$srcdir"/$pkgname-metalogger.initd "$subpkgdir"/etc/init.d/$pkgname-metalogger
+}
+
+chunkserver() {
+ pkgdesc="LizardFS data server"
+ depends="lizardfs=$pkgver-r$pkgrel"
+ amove usr/sbin/mfschunkserver
+}
+
+chunkserver_openrc() {
+ default_openrc
+ install -Dm755 "$srcdir"/$pkgname-chunkserver.initd "$subpkgdir"/etc/init.d/$pkgname-chunkserver
+}
+
+client() {
+ pkgdesc="LizardFS client"
+ depends="fuse fuse3"
+ amove usr/bin/*
+
+}
+
+cgi() {
+ pkgdesc="LizardFS CGI Monitor"
+ depends="python3"
+ amove usr/share/mfscgi
+}
+
+cgiserv() {
+ pkgdesc="Simple CGI-capable HTTP server to run LizardFS CGI Monitor"
+ depends="$pkgname-cgi=$pkgver-r$pkgrel"
+ amove usr/sbin/mfscgiserv
+}
+
+cgiserv_openrc() {
+ default_openrc
+ install -Dm755 "$srcdir"/$pkgname-cgiserv.initd "$subpkgdir"/etc/init.d/$pkgname-cgiserv
+ install -Dm755 "$srcdir"/$pkgname-cgiserv.confd "$subpkgdir"/etc/conf.d/$pkgname-cgiserv
+}
+
+sha512sums="
+5e57c0704d30d1e4f7fd7c2ac6ed889d0075d86ad20536fc927f4fe0d228b907c4ac2697d3c17d0313853f27506fdf6441bf9559d3ed79ae95f51595ec3363d9 lizardfs-3.13.0.tar.gz
+b0c13076aeef2489897ab73138101fbbd239ae4c7375bb45dc280b42dd5d7a761a46a97b64f3b5274c99a4318758024db593cb91a0d9a82e58b71ef45b20bf4c gcc13.patch
+ec38f06048c2719bba1a8e751411468270e9bc82c955c897dde21cd1e428be686e2b3ae680a57813370ec89e264f66132acd27f84f2ade6f5a63c0b8e2ece256 lizardfs-uraft.patch
+c698aff4de9aeb76202a809e44ac8d0ec9c6348a806b1c813c2a40858339b1c139a480a9c5aff40bf2c9821883c6c0dfeabb010f3faa5746673235f0fb3c5a76 lizardfs-cgiserv.initd
+56a714f3d29030ca12dc1859a1121b2a89606a2ccccec65481e2eb0b846757dea71dfe5f5a6d648b32e731d14b7d7725f79703851365b0862d7eb415a5f49dfb lizardfs-chunkserver.initd
+b5c625f0004df33889de60ddad37e41f3acf081b37247606a1544e5f63354e121fe4cce511a6e60f4f2c0305155faf0614b8a4bce7267929fe68a1a4b546b582 lizardfs-cgiserv.confd
+a041fa324d37bda098ad65e9d6507f281ed388471956ca79aa33b8b0d1c4a9d528662a2410c47f3856183d6378ac7fb417c3d7ec314f624e7e5dac7c5e4247f0 lizardfs-master.initd
+8e73a7715e7a010d435efb9058ed67aad1caa95c840d3f1fae6bafd2a700cedbb0244d29363929d8e8d9a2036a2e0b173c0c2f7b52529ba4088e1296479fc0f5 lizardfs-metalogger.initd
+fed14323975cd2d916bcc78d15ec105176106024faa6587a5b6dc3f2c7c5cf3632491babf2865459ac614ba885ee79e301aac4f19c27c4f04780a4a9d94e9312 lizardfs-iostat-header.patch
+b91f07af8a1d82ac9530e0ddc5984ee1f3cba9af7d6e9bf2093d04fbd0862d98860a2db2bd13fe6e0eea0cd7bfd2254a8973a5a398402c1682c51b54267b82cf lizardfs-cstdio-header.patch
+"
diff --git a/testing/lizardfs/gcc13.patch b/testing/lizardfs/gcc13.patch
new file mode 100644
index 00000000000..40438422b35
--- /dev/null
+++ b/testing/lizardfs/gcc13.patch
@@ -0,0 +1,12 @@
+diff --git a/src/common/io_limits_config_loader.h b/src/common/io_limits_config_loader.h
+index 411f986..7554792 100644
+--- a/src/common/io_limits_config_loader.h
++++ b/src/common/io_limits_config_loader.h
+@@ -19,6 +19,7 @@
+ #pragma once
+ #include "common/platform.h"
+
++#include <cstdint>
+ #include <istream>
+ #include <map>
+ #include <string>
diff --git a/testing/lizardfs/lizardfs-cgiserv.confd b/testing/lizardfs/lizardfs-cgiserv.confd
new file mode 100644
index 00000000000..b50a6aa77bc
--- /dev/null
+++ b/testing/lizardfs/lizardfs-cgiserv.confd
@@ -0,0 +1,10 @@
+# MooseFS HTTP/CGI server configuration.
+
+# BIND_HOST: local address to listen on
+# default: any
+BIND_HOST="0.0.0.0"
+
+# BIND_PORT: port to listen on
+# default: 9425
+BIND_PORT=9425
+
diff --git a/testing/lizardfs/lizardfs-cgiserv.initd b/testing/lizardfs/lizardfs-cgiserv.initd
new file mode 100644
index 00000000000..fdd01c0257a
--- /dev/null
+++ b/testing/lizardfs/lizardfs-cgiserv.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+
+PIDFILE=/var/run/mfscgiserv.pid
+
+depend() {
+ need net
+}
+
+start() {
+ ebegin "Starting mfs CGI server"
+ start-stop-daemon --start --quiet --exec /usr/sbin/mfscgiserv \
+ --pidfile "${PIDFILE}" --make-pidfile --background \
+ -- -H ${BIND_HOST} -P ${BIND_PORT} -f
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping mfs CGI server"
+ start-stop-daemon --stop -q --pidfile "${PIDFILE}"
+ eend $?
+}
+
diff --git a/testing/lizardfs/lizardfs-chunkserver.initd b/testing/lizardfs/lizardfs-chunkserver.initd
new file mode 100644
index 00000000000..b564270254b
--- /dev/null
+++ b/testing/lizardfs/lizardfs-chunkserver.initd
@@ -0,0 +1,9 @@
+#!/sbin/openrc-run
+
+command=/usr/sbin/mfschunkserver
+
+depend() {
+ need syslog
+ after net
+}
+
diff --git a/testing/lizardfs/lizardfs-cstdio-header.patch b/testing/lizardfs/lizardfs-cstdio-header.patch
new file mode 100644
index 00000000000..af55d6dbdda
--- /dev/null
+++ b/testing/lizardfs/lizardfs-cstdio-header.patch
@@ -0,0 +1,32 @@
+From e418677e7d09b6a44805cbca177a446016eea23f Mon Sep 17 00:00:00 2001
+From: Patryk <patryk@lizardfs.com>
+Date: Sun, 23 Aug 2020 09:52:26 +0200
+Subject: [PATCH] build: Fix compilation for gcc-10
+
+There was a lacking include for cstdio in daemonize.cc.
+This header is no longer included implicitly since gcc-10,
+hence the compilation error.
+See: https://github.com/CopernicaMarketingSoftware/PHP-CPP/pull/440
+
+Change-Id: I5b22d4759e100e270aa0732d32407b0edc16f500
+---
+ src/mount/fuse/daemonize.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/mount/fuse/daemonize.cc b/src/mount/fuse/daemonize.cc
+index 8d0ccf1c4..7ba3eeadc 100644
+--- a/src/mount/fuse/daemonize.cc
++++ b/src/mount/fuse/daemonize.cc
+@@ -19,9 +19,10 @@
+ #include "common/platform.h"
+ #include "daemonize.h"
+
+-#include <errno.h>
++#include <cerrno>
++#include <cstdio>
++#include <cstring>
+ #include <fcntl.h>
+-#include <string.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
diff --git a/testing/lizardfs/lizardfs-iostat-header.patch b/testing/lizardfs/lizardfs-iostat-header.patch
new file mode 100644
index 00000000000..2ce24025600
--- /dev/null
+++ b/testing/lizardfs/lizardfs-iostat-header.patch
@@ -0,0 +1,13 @@
+diff --git a/src/chunkserver/iostat.h b/src/chunkserver/iostat.h
+index e1a50e97..09a04c67 100644
+--- a/src/chunkserver/iostat.h
++++ b/src/chunkserver/iostat.h
+@@ -28,6 +28,7 @@
+ #include <algorithm>
+ #include <unordered_map>
+ #include <vector>
++#include <sys/sysmacros.h>
+
+ #include <sys/stat.h>
+ #include <sys/types.h>
+
diff --git a/testing/lizardfs/lizardfs-master.initd b/testing/lizardfs/lizardfs-master.initd
new file mode 100644
index 00000000000..e8c9217b4f9
--- /dev/null
+++ b/testing/lizardfs/lizardfs-master.initd
@@ -0,0 +1,8 @@
+#!/sbin/openrc-run
+
+command=/usr/sbin/mfsmaster
+
+depend() {
+ need syslog
+ after net
+}
diff --git a/testing/lizardfs/lizardfs-metalogger.initd b/testing/lizardfs/lizardfs-metalogger.initd
new file mode 100644
index 00000000000..72e9c58d4ba
--- /dev/null
+++ b/testing/lizardfs/lizardfs-metalogger.initd
@@ -0,0 +1,8 @@
+#!/sbin/openrc-run
+
+command=/usr/sbin/mfsmetalogger
+
+depend() {
+ need syslog
+ after net
+}
diff --git a/testing/lizardfs/lizardfs-uraft.patch b/testing/lizardfs/lizardfs-uraft.patch
new file mode 100644
index 00000000000..8f2ba81f48a
--- /dev/null
+++ b/testing/lizardfs/lizardfs-uraft.patch
@@ -0,0 +1,94 @@
+From be9ae3a1943e7164ac093fe46612b94fa9fbd69f Mon Sep 17 00:00:00 2001
+From: Marcin Konarski <marcin.konarski@lizardfs.com>
+Date: Thu, 27 May 2021 14:27:17 +0200
+Subject: [PATCH] all: Fix (release) build warnings from GCC 11.1.1
+
+Change-Id: I164403e5fd866828b2970a23e928a495630405a7
+---
+ src/common/small_vector_unittest.cc | 3 +++
+ src/master/matoclserv.cc | 2 +-
+ src/tools/file_info.cc | 3 +++
+ src/uraft/main.cc | 1 +
+ src/uraft/uraft.cc | 1 +
+ src/uraft/uraftcontroller.cc | 1 +
+ 6 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/src/common/small_vector_unittest.cc b/src/common/small_vector_unittest.cc
+index 488a940e6..2da7d6640 100644
+--- a/src/common/small_vector_unittest.cc
++++ b/src/common/small_vector_unittest.cc
+@@ -83,7 +83,10 @@ TEST(SmallVectorTest, EraseTest) {
+ small_vector<int16_t, 7> vec_A;
+ std::vector<int16_t> vec_B;
+
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wstringop-overflow"
+ vec_A.insert(vec_A.begin(), range.begin(), range.end());
++#pragma GCC diagnostic pop
+ vec_B.insert(vec_B.begin(), range.begin(), range.end());
+
+ vec_A.erase(vec_A.begin() + 40);
+diff --git a/src/master/matoclserv.cc b/src/master/matoclserv.cc
+index 324633076..1645fc244 100644
+--- a/src/master/matoclserv.cc
++++ b/src/master/matoclserv.cc
+@@ -2891,7 +2891,7 @@ void matoclserv_fuse_read_chunk(matoclserventry *eptr, PacketHeader header, cons
+ }
+
+ void matoclserv_chunks_info(matoclserventry *eptr, const uint8_t *data, uint32_t length) {
+- uint32_t message_id, inode, chunk_index, chunk_count, uid, gid;
++ uint32_t message_id{0}, inode, chunk_index, chunk_count, uid, gid;
+ PacketVersion version;
+ uint8_t status;
+ std::vector<ChunkWithAddressAndLabel> chunks;
+diff --git a/src/tools/file_info.cc b/src/tools/file_info.cc
+index fa03f591e..50a381229 100644
+--- a/src/tools/file_info.cc
++++ b/src/tools/file_info.cc
+@@ -120,7 +120,10 @@ static int chunks_info(const char *file_name, int fd, uint32_t inode, bool long_
+ chunk_index, chunk.chunk_id, chunk.chunk_version, chunk.chunk_id, chunk.chunk_version);
+ ChunkCopiesCalculator chunk_calculator;
+ for(const auto &part : chunk.chunk_parts) {
++#pragma GCC diagnostic push
++#pragma GCC diagnostic ignored "-Wfree-nonheap-object"
+ chunk_calculator.addPart(part.chunkType, MediaLabel::kWildcard);
++#pragma GCC diagnostic pop
+ }
+ chunk_calculator.evalRedundancyLevel();
+ if (chunk.chunk_parts.size() > 0) {
+diff --git a/src/uraft/main.cc b/src/uraft/main.cc
+index 6e1be1214..7a05fdb99 100644
+--- a/src/uraft/main.cc
++++ b/src/uraft/main.cc
+@@ -11,6 +11,7 @@
+ #include <fstream>
+ #include <iostream>
+
++#define BOOST_BIND_GLOBAL_PLACEHOLDERS
+ #include <boost/bind.hpp>
+ #include <boost/lexical_cast.hpp>
+ #include <boost/program_options.hpp>
+diff --git a/src/uraft/uraft.cc b/src/uraft/uraft.cc
+index f6439b82f..05d88d122 100644
+--- a/src/uraft/uraft.cc
++++ b/src/uraft/uraft.cc
+@@ -6,6 +6,7 @@
+ #include <ifaddrs.h>
+ #endif
+
++#define BOOST_BIND_GLOBAL_PLACEHOLDERS
+ #include <boost/bind.hpp>
+ #include <boost/date_time/posix_time/posix_time.hpp>
+
+diff --git a/src/uraft/uraftcontroller.cc b/src/uraft/uraftcontroller.cc
+index f46178fd1..53af6e1a8 100644
+--- a/src/uraft/uraftcontroller.cc
++++ b/src/uraft/uraftcontroller.cc
+@@ -10,6 +10,7 @@
+ #include <iostream>
+ #include <stdexcept>
+
++#define BOOST_BIND_GLOBAL_PLACEHOLDERS
+ #include <boost/bind.hpp>
+ #include <boost/lexical_cast.hpp>
+ #include <boost/version.hpp>
diff --git a/testing/lizardfs/lizardfs.pre-install b/testing/lizardfs/lizardfs.pre-install
new file mode 100644
index 00000000000..83ce5445756
--- /dev/null
+++ b/testing/lizardfs/lizardfs.pre-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+addgroup -S mfs 2>/dev/null
+adduser -S -D -H -h /var/lib/mfs -s /sbin/nologin -G mfs -g mfs mfs \
+ 2>/dev/null
+
+exit 0
diff --git a/testing/lkrg/AKMBUILD b/testing/lkrg/AKMBUILD
new file mode 100644
index 00000000000..7f5d2d278b4
--- /dev/null
+++ b/testing/lkrg/AKMBUILD
@@ -0,0 +1,3 @@
+modname=lkrg
+modver=0.9.6
+built_modules='lkrg.ko'
diff --git a/testing/lkrg/APKBUILD b/testing/lkrg/APKBUILD
new file mode 100644
index 00000000000..f0eddaa344c
--- /dev/null
+++ b/testing/lkrg/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Jo Coscia <jo@jcoscia.com>
+# Maintainer: Jo Coscia <jo@jcoscia.com>
+pkgname=lkrg
+pkgver=0.9.6
+pkgrel=0
+pkgdesc="Linux Kernel Runtime Guard kernel module (AKMS)"
+url="https://lkrg.org/"
+arch="x86 x86_64 aarch64 armhf armv7"
+license="GPL-2.0-only"
+depends="akms"
+install="$pkgname.post-deinstall"
+subpackages="$pkgname-doc"
+source="https://lkrg.org/download/lkrg-$pkgver.tar.gz
+ AKMBUILD"
+options="!check" # no test suite
+
+package() {
+ install -Dm644 "$srcdir"/AKMBUILD "$pkgdir"/usr/src/lkrg/AKMBUILD
+ install -Dm644 "$builddir"/Makefile "$pkgdir"/usr/src/lkrg/Makefile
+ install -Dm644 "$builddir"/scripts/bootup/lkrg.conf "$pkgdir"/etc/sysctl.d/lkrg.conf
+ install -Dm644 "$builddir"/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ cp -Rp "$builddir"/src "$pkgdir"/usr/src/lkrg/src
+ chmod -R u=rwX,go=rX-w "$pkgdir"/usr/src/lkrg/
+}
+
+doc() {
+ pkgdesc="Documentation for $pkgname"
+ mkdir -p "$subpkgdir"/usr/share/doc/"$pkgname"
+ mv "$builddir"/CHANGES "$subpkgdir"/usr/share/doc/lkrg/
+ mv "$builddir"/CONCEPTS "$subpkgdir"/usr/share/doc/lkrg/
+ mv "$builddir"/PATREONS "$subpkgdir"/usr/share/doc/lkrg/
+ mv "$builddir"/PERFORMANCE "$subpkgdir"/usr/share/doc/lkrg/
+ mv "$builddir"/README "$subpkgdir"/usr/share/doc/lkrg/
+ chmod -R u=rwX,go=rX-w "$subpkgdir"/usr/share/doc/lkrg/
+}
+
+sha512sums="
+08c109ffbe7f15ff60ed1958640f43194b96b16c75bd91c1e209e2f93a2b97f60f0b9ed00ccc13effbbf06092fc3c432dfb55f94b9e181a6cd2b30a1ea8ee653 lkrg-0.9.6.tar.gz
+e9174654cac18a8cbb4dc8e46a93bd19620ab355bf50563660980a525e87eb1d72b9fdece9fac5749c8ffad7ea38940da8e5bd950439695e2f50d82eebd18b5c AKMBUILD"
diff --git a/testing/lkrg/lkrg.post-deinstall b/testing/lkrg/lkrg.post-deinstall
new file mode 100644
index 00000000000..3abf364e19f
--- /dev/null
+++ b/testing/lkrg/lkrg.post-deinstall
@@ -0,0 +1,2 @@
+#!/bin/sh
+/usr/sbin/akms uninstall lkrg
diff --git a/testing/llmnrd/APKBUILD b/testing/llmnrd/APKBUILD
index 5bbf588d434..5ba2ee26f49 100644
--- a/testing/llmnrd/APKBUILD
+++ b/testing/llmnrd/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Nathan Caldwell <saintdev@gmail.com>
pkgname=llmnrd
pkgver=0.7
-pkgrel=0
+pkgrel=1
pkgdesc="Link-Local Multicast Resolution (LLMNR) Daemon for Linux"
url="https://github.com/tklauser/llmnrd"
arch="all"
diff --git a/testing/lmms/APKBUILD b/testing/lmms/APKBUILD
deleted file mode 100644
index dcfd2eaf9ba..00000000000
--- a/testing/lmms/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=lmms
-pkgver=1.2.2
-pkgrel=1
-pkgdesc="Cross-platform music production software"
-url="https://lmms.io/"
-arch="all !armhf" # build failure
-license="GPL-2.0-only"
-makedepends="
- alsa-lib-dev
- cmake
- fftw-dev
- jack-dev
- libsamplerate-dev
- libsndfile-dev
- pulseaudio-dev
- qt5-qtbase-dev
- qt5-qttools-dev
- qt5-qtx11extras-dev
- sdl2-dev
- xcb-util-dev
- xcb-util-keysyms-dev
-"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/LMMS/lmms/releases/download/v$pkgver/lmms_$pkgver.tar.xz"
-options="!check" # No tests
-builddir="$srcdir/$pkgname"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DWANT_QT5=On \
- -DWANT_PULSEAUDIO=On \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="df74d9e938f1c3807e9941b11db4ccfe9450e23b723c82774de15b7666ac39f1bfdd8519231e28849f994628190ecc92fa05d55bbc0b50a4421f2d183e729028 lmms_1.2.2.tar.xz"
diff --git a/testing/lnav/APKBUILD b/testing/lnav/APKBUILD
deleted file mode 100644
index 988fff58b26..00000000000
--- a/testing/lnav/APKBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Heiko Bernloehr <Heiko.Bernloehr@FreeIT.de>
-pkgname=lnav
-pkgver=0.10.1
-pkgrel=0
-pkgdesc="advanced log file navigator and viewer"
-url="https://lnav.org"
-arch="all"
-options="!check" # failed on some tests
-license="BSD-2-Clause"
-makedepends="
- bzip2-dev
- curl-dev
- gpm-dev
- libarchive-dev
- libbsd-dev
- ncurses-dev
- pcre-dev
- readline-dev
- sqlite-dev
- zlib-dev
-
- bash
- openssh-keygen
- xz
- "
-subpackages="$pkgname-doc"
-source="https://github.com/tstack/lnav/releases/download/v$pkgver/lnav-$pkgver.tar.gz"
-
-[ "$CARCH" = "riscv64" ] && options="textrels"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-tinfo
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-fa846a2cc11f03f5e49d8baef4e806547168927fa7e9ac2d67c482041c42eb5bde2aa2ee6649d03d3e57cdae8122859a022d8df1039a62bde1d7d908533c5514 lnav-0.10.1.tar.gz
-"
diff --git a/testing/lockrun/APKBUILD b/testing/lockrun/APKBUILD
index 4c45bc312f8..96dfdd6a96c 100644
--- a/testing/lockrun/APKBUILD
+++ b/testing/lockrun/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Mikhail Snetkov <msnetkov@navikey.ru>
pkgname=lockrun
pkgver=1.1.3
-pkgrel=0
+pkgrel=1
pkgdesc="Run cron job with overrun protection"
url="http://unixwiz.net/tools/lockrun.html"
arch="all"
diff --git a/testing/log4cpp/APKBUILD b/testing/log4cpp/APKBUILD
index 86af987e0b1..5d440a99a21 100644
--- a/testing/log4cpp/APKBUILD
+++ b/testing/log4cpp/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: Hidde van der Heide <hvanderheide@nexuz.net>
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=log4cpp
-pkgver=1.1.3
-pkgrel=2
+pkgver=1.1.4
+pkgrel=1
pkgdesc="Log library for C++"
-url="http://log4cpp.sourceforge.net/"
+url="https://log4cpp.sourceforge.net/"
arch="all"
license="LGPL-2.1-or-later"
subpackages="$pkgname-dev"
@@ -19,7 +19,6 @@ prepare() {
}
build() {
- cd "$builddir"
./configure \
--prefix=/usr \
--sysconfdir=/etc \
@@ -33,13 +32,13 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="88e5e10bce8d7d6421c3dcf14aa25385159c4ae52becdc1f3666ab86e1ad3f633786d82afe398c517d4faaa57b3e7b7c0b524361d81c6b9040dbded5cecc19de log4cpp-1.1.3.tar.gz"
+sha512sums="
+0cdbd46ccd048d70bea3c35d22080dc5dd21fc3b9c415fe464847e60775954f57e9c8344506f0f94f16e90e8bdaa9cc6d84d3aa65191501e52ee8dfc639f0398 log4cpp-1.1.4.tar.gz
+"
diff --git a/testing/log4cxx/APKBUILD b/testing/log4cxx/APKBUILD
index 7ad4bdd3f5f..31860573a6e 100644
--- a/testing/log4cxx/APKBUILD
+++ b/testing/log4cxx/APKBUILD
@@ -1,48 +1,45 @@
# Contributor: Russ Webber <russ@rw.id.au>
# Maintainer: Russ Webber <russ@rw.id.au>
pkgname=log4cxx
-pkgver=0.10.0
+pkgver=1.1.0
pkgrel=1
pkgdesc="C++ port of the Log4j logging framework"
url="http://logging.apache.org/log4cxx"
license="Apache-2.0"
-options="!check" # testsuite in 0.10.0 does not work on alpine
-subpackages="$pkgname-static $pkgname-dev"
+options="!check" # testsuite in 1.1.0 does not work on alpine
+subpackages="$pkgname-dev"
arch="all"
-depends_dev="$pkgname-static"
-makedepends="autoconf automake libtool zip libxml2-dev apr-util-dev"
-source="https://archive.apache.org/dist/logging/log4cxx/$pkgver/apache-log4cxx-$pkgver.tar.gz
- log4cxx-0.10.0-missing_includes.patch
- log4cxx-0.10.0-narrowing-fixes-from-upstream.patch
- "
+makedepends="cmake zip libxml2-dev apr-util-dev samurai"
+source="https://archive.apache.org/dist/logging/log4cxx/$pkgver/apache-log4cxx-$pkgver.tar.gz"
builddir="$srcdir/apache-$pkgname-$pkgver"
-prepare() {
- update_config_guess
- update_config_sub
- default_prepare
-}
+# secfixes:
+# 1.1.0-r0:
+# - CVE-2023-31038
build() {
- # if configure is autogenerated make install seems to fail #./autogen.sh
- # does not configure if specifying --build=$CBUILD \ --host=$CHOST \
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ $CMAKE_CROSSOPTS
+ cmake --build build
}
check() {
- make check
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest --test-dir build -E sizebasedrollingtest
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="1c34d80983db5648bc4582ddcf6b4fdefdc6594c2769f95235f5441cd6d03cf279cc8f365e9a687085b113f79ebac9d7d33a54b6aa3b3b808c0e1a56a15ffa37 apache-log4cxx-0.10.0.tar.gz
-14fa0b19516171cbbe2c6220816819fc52cf8f3b3ded5d71966e2f4a71bda9ce1ed8fe7e57745a835e6ac5558631916ed9824d09ec7469d84c7bf99fb4946304 log4cxx-0.10.0-missing_includes.patch
-15b692b37961adbc808e4c10d2719483502f3ac060ee5be248832d4e2a2f76f7d9e120ea9a6bf908230cf230a893964040e54415cca35a12e576d0a5ab1f4176 log4cxx-0.10.0-narrowing-fixes-from-upstream.patch"
+sha512sums="
+66a66eab933a6afd0779e3f73f65afa4fb82481208b591fd7c7c86ded805f50abcd9cdf954bdb49e1e7f5198e6c1c4fff8a7e180ff5fff9491f1946e9ba6fe2b apache-log4cxx-1.1.0.tar.gz
+"
diff --git a/testing/log4cxx/log4cxx-0.10.0-missing_includes.patch b/testing/log4cxx/log4cxx-0.10.0-missing_includes.patch
deleted file mode 100644
index 6834648d09a..00000000000
--- a/testing/log4cxx/log4cxx-0.10.0-missing_includes.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff -Naur apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp apache-log4cxx-0.10.0/src/examples/cpp/console.cpp
---- apache-log4cxx-0.10.0.orig/src/examples/cpp/console.cpp 2008-04-01 00:34:52.000000000 +0200
-+++ apache-log4cxx-0.10.0/src/examples/cpp/console.cpp 2008-05-06 05:40:52.000000000 +0200
-@@ -15,7 +15,10 @@
- * limitations under the License.
- */
-
--#include <stdlib.h>
-+#include <cstdio>
-+#include <cstdlib>
-+#include <cstring>
-+#include <stdint.h>
- #include <log4cxx/logger.h>
- #include <log4cxx/consoleappender.h>
- #include <log4cxx/simplelayout.h>
-diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp
---- apache-log4cxx-0.10.0.orig/src/main/cpp/inputstreamreader.cpp 2008-04-01 00:34:09.000000000 +0200
-+++ apache-log4cxx-0.10.0/src/main/cpp/inputstreamreader.cpp 2008-05-06 05:32:31.000000000 +0200
-@@ -21,6 +21,8 @@
- #include <log4cxx/helpers/pool.h>
- #include <log4cxx/helpers/bytebuffer.h>
-
-+#include <cstring>
-+
- using namespace log4cxx;
- using namespace log4cxx::helpers;
-
-diff -Naur apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp
---- apache-log4cxx-0.10.0.orig/src/main/cpp/socketoutputstream.cpp 2008-04-01 00:34:09.000000000 +0200
-+++ apache-log4cxx-0.10.0/src/main/cpp/socketoutputstream.cpp 2008-05-06 05:35:55.000000000 +0200
-@@ -20,6 +20,8 @@
- #include <log4cxx/helpers/socket.h>
- #include <log4cxx/helpers/bytebuffer.h>
-
-+#include <cstring>
-+
- using namespace log4cxx;
- using namespace log4cxx::helpers; \ No newline at end of file
diff --git a/testing/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch b/testing/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch
deleted file mode 100644
index e583e7661d1..00000000000
--- a/testing/log4cxx/log4cxx-0.10.0-narrowing-fixes-from-upstream.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-diff --git a/src/main/cpp/locationinfo.cpp b/src/main/cpp/locationinfo.cpp
-index e76ea29..bd22a1d 100644
---- a/src/main/cpp/locationinfo.cpp
-+++ b/src/main/cpp/locationinfo.cpp
-@@ -149,18 +149,21 @@ void LocationInfo::write(ObjectOutputStream& os, Pool& p) const {
- os.writeNull(p);
- } else {
- char prolog[] = {
-- 0x72, 0x00, 0x21, 0x6F, 0x72, 0x67, 0x2E,
-- 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E, 0x6C,
-- 0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69,
-- 0x2E, 0x4C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F,
-- 0x6E, 0x49, 0x6E, 0x66, 0x6F, 0xED, 0x99, 0xBB,
-- 0xE1, 0x4A, 0x91, 0xA5, 0x7C, 0x02, 0x00, 0x01,
-- 0x4C, 0x00, 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49,
-- 0x6E, 0x66, 0x6F,
-- 0x74, 0x00, 0x12, 0x4C, 0x6A,
-- 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67,
-- 0x2F, 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B,
-- 0x78, 0x70 };
-+ 0x72,
-+ 0x00,
-+ 0x21, 0x6F, 0x72, 0x67, 0x2E, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E,
-+ 0x6C, 0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69, 0x2E, 0x4C, 0x6F,
-+ 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x49, 0x6E, 0x66, 0x6F, static_cast<char>(0xED),
-+ static_cast<char>(0x99), static_cast<char>(0xBB), static_cast<char>(0xE1),
-+ 0x4A, static_cast<char>(0x91), static_cast<char>(0xA5), 0x7C, 0x02,
-+ 0x00,
-+ 0x01, 0x4C,
-+ 0x00,
-+ 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49, 0x6E, 0x66, 0x6F, 0x74,
-+ 0x00,
-+ 0x12, 0x4C, 0x6A, 0x61, 0x76, 0x61, 0x2F, 0x6C, 0x61, 0x6E, 0x67, 0x2F,
-+ 0x53, 0x74, 0x72, 0x69, 0x6E, 0x67, 0x3B, 0x78, 0x70
-+ };
- os.writeProlog("org.apache.log4j.spi.LocationInfo", 2, prolog, sizeof(prolog), p);
- char* line = p.itoa(lineNumber);
- //
-diff --git a/src/main/cpp/loggingevent.cpp b/src/main/cpp/loggingevent.cpp
-index 1c0d4be..edbf40b 100644
---- a/src/main/cpp/loggingevent.cpp
-+++ b/src/main/cpp/loggingevent.cpp
-@@ -242,7 +242,7 @@ void LoggingEvent::writeProlog(ObjectOutputStream& os, Pool& p) {
- 0x68, 0x65, 0x2E, 0x6C, 0x6F, 0x67, 0x34, 0x6A,
- 0x2E, 0x73, 0x70, 0x69, 0x2E, 0x4C, 0x6F, 0x67,
- 0x67, 0x69, 0x6E, 0x67, 0x45, 0x76, 0x65, 0x6E,
-- 0x74, 0xF3, 0xF2, 0xB9, 0x23, 0x74, 0x0B, 0xB5,
-+ 0x74, static_cast<char>(0xF3), static_cast<char>(0xF2), static_cast<char>(0xB9), 0x23, 0x74, 0x0B, static_cast<char>(0xB5),
- 0x3F, 0x03, 0x00, 0x0A, 0x5A, 0x00, 0x15, 0x6D,
- 0x64, 0x63, 0x43, 0x6F, 0x70, 0x79, 0x4C, 0x6F,
- 0x6F, 0x6B, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75,
-diff --git a/src/main/cpp/objectoutputstream.cpp b/src/main/cpp/objectoutputstream.cpp
-index 7cd696b..5442420 100644
---- a/src/main/cpp/objectoutputstream.cpp
-+++ b/src/main/cpp/objectoutputstream.cpp
-@@ -36,7 +36,7 @@ ObjectOutputStream::ObjectOutputStream(OutputStreamPtr outputStream, Pool& p)
- objectHandle(0x7E0000),
- classDescriptions(new ClassDescriptionMap())
- {
-- char start[] = { 0xAC, 0xED, 0x00, 0x05 };
-+ char start[] = { static_cast<char>(0xAC), static_cast<char>(0xED), 0x00, 0x05 };
- ByteBuffer buf(start, sizeof(start));
- os->write(buf, p);
- }
-@@ -81,15 +81,15 @@ void ObjectOutputStream::writeObject(const MDC::Map& val, Pool& p) {
- //
- // TC_OBJECT and the classDesc for java.util.Hashtable
- //
-- char prolog[] = {
-- 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61,
-- 0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61,
-- 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13,
-- 0xBB, 0x0F, 0x25, 0x21, 0x4A, 0xE4, 0xB8, 0x03,
-- 0x00, 0x02, 0x46, 0x00, 0x0A, 0x6C, 0x6F, 0x61,
-- 0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49,
-- 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
-- 0x6F, 0x6C, 0x64, 0x78, 0x70 };
-+ char prolog[] = {
-+ 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61,
-+ 0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61,
-+ 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13,
-+ static_cast<char>(0xBB), 0x0F, 0x25, 0x21, 0x4A, static_cast<char>(0xE4), static_cast<char>(0xB8), 0x03,
-+ 0x00, 0x02, 0x46, 0x00, 0x0A, 0x6C, 0x6F, 0x61,
-+ 0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49,
-+ 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
-+ 0x6F, 0x6C, 0x64, 0x78, 0x70 };
- writeProlog("java.util.Hashtable", 1, prolog, sizeof(prolog), p);
- //
- // loadFactor = 0.75, threshold = 5, blockdata start, buckets.size = 7
-diff --git a/src/test/cpp/xml/domtestcase.cpp b/src/test/cpp/xml/domtestcase.cpp
-index a500628..29d67dd 100644
---- a/src/test/cpp/xml/domtestcase.cpp
-+++ b/src/test/cpp/xml/domtestcase.cpp
-@@ -190,9 +190,9 @@ public:
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase3.xml"));
- LOG4CXX_INFO(logger, "File name is expected to end with a superscript 3");
- #if LOG4CXX_LOGCHAR_IS_UTF8
-- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xC2, 0xB3, 0 };
-+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xC2), static_cast<logchar>(0xB3), 0 };
- #else
-- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xB3, 0 };
-+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xB3), 0 };
- #endif
- File file;
- file.setPath(fname);
-@@ -209,9 +209,9 @@ public:
- DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase4.xml"));
- LOG4CXX_INFO(logger, "File name is expected to end with an ideographic 4");
- #if LOG4CXX_LOGCHAR_IS_UTF8
-- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xE3, 0x86, 0x95, 0 };
-+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0xE3), static_cast<logchar>(0x86), static_cast<logchar>(0x95), 0 };
- #else
-- const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0x3195, 0 };
-+ const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, static_cast<logchar>(0x3195), 0 };
- #endif
- File file;
- file.setPath(fname); \ No newline at end of file
diff --git a/testing/logc-libs/APKBUILD b/testing/logc-libs/APKBUILD
new file mode 100644
index 00000000000..4b87b095a0b
--- /dev/null
+++ b/testing/logc-libs/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=logc-libs
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="A set of libraries adding LogC support to third-party libraries"
+url="https://gitlab.nic.cz/turris/logc-libs"
+# s390x: blocked by czmq
+arch="all !s390x"
+license="MIT"
+makedepends="
+ autoconf-archive
+ automake
+ czmq-dev
+ libevent-dev
+ libtool
+ logc-dev
+ "
+subpackages="
+ $pkgname-dev
+ logc-czmq:_lib
+ logc-libevent:_lib
+ "
+source="https://gitlab.nic.cz/turris/logc-libs/-/archive/v$pkgver/logc-libs-v$pkgver.tar.bz2"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # tests are not supported on musl
+
+prepare() {
+ default_prepare
+ ./bootstrap
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --with-czmq \
+ --with-event
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+_lib() {
+ pkgdesc="LogC extension for ${subpkgname#logc-}"
+
+ amove usr/lib/*${subpkgname#logc-}_logc.so*
+}
+
+sha512sums="
+21b14bcaf516b63215a3860816f25c65477e8954a807596ab1e3dbb48ad86a051abec0f03ee0fcc8351e7485f8568d6efbb1d9ef69e0301f7cbef6374d7cefe9 logc-libs-v0.1.0.tar.bz2
+"
diff --git a/testing/logc/APKBUILD b/testing/logc/APKBUILD
new file mode 100644
index 00000000000..33188940e5c
--- /dev/null
+++ b/testing/logc/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=logc
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="Logging library for C"
+url="https://gitlab.nic.cz/turris/logc"
+arch="all"
+license="MIT"
+makedepends="
+ argp-standalone
+ gperf
+ libconfig-dev
+ meson
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-argp
+ $pkgname-config:_config
+ "
+source="https://gitlab.nic.cz/turris/logc/-/archive/v$pkgver/logc-v$pkgver.tar.bz2"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # tests are not supported on musl
+
+build() {
+ abuild-meson \
+ -Dlibargp=enabled \
+ -Dlibconfig=enabled \
+ -Dtests=disabled \
+ . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+argp() {
+ pkgdesc="$pkgdesc - argp integration"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/lib/liblogc_argp.so*
+}
+
+_config() {
+ pkgdesc="$pkgdesc - libconfig integration"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/lib/liblogc_config.so*
+}
+
+sha512sums="
+425dad537f891891a314b7b0b95f14987b0adffb5bbe9fd511cfe83ddc965b1eace9e71670463ed4a87444ba56bceeb8b61d07f07cf89b8674f6efb38a58faf2 logc-v0.5.0.tar.bz2
+"
diff --git a/testing/logisim-evolution/APKBUILD b/testing/logisim-evolution/APKBUILD
new file mode 100644
index 00000000000..fab3fce79dc
--- /dev/null
+++ b/testing/logisim-evolution/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=logisim-evolution
+pkgver=3.8.0
+pkgrel=0
+pkgdesc="Digital logic design tool and simulator"
+url="https://github.com/logisim-evolution/logisim-evolution"
+arch="x86_64 aarch64 s390x" # limited by java
+license="GPL-3.0-or-later"
+depends="openjdk17-jre hicolor-icon-theme"
+makedepends="openjdk17-jdk"
+source="https://github.com/logisim-evolution/logisim-evolution/archive/v$pkgver/logisim-evolution-$pkgver.tar.gz
+logisim-evolution
+Desktop-file.patch"
+options="net !check"
+
+build() {
+ export GRADLE_USER_HOME="$srcdir"/.gradle
+ ./gradlew --parallel shadowJar
+}
+
+package() {
+ install -Dm644 build/libs/logisim-evolution-"$pkgver"-all.jar \
+ "$pkgdir"/usr/share/logisim-evolution/logisim-evolution.jar
+
+ install -Dm644 support/Flatpak/com.github.reds.LogisimEvolution.xml \
+ "$pkgdir"/usr/share/mime/packages/logisim-evolution.xml
+
+ install -Dm644 support/Flatpak/com.github.reds.LogisimEvolution.desktop \
+ "$pkgdir"/usr/share/applications/logisim-evolution.desktop
+
+ install -Dm755 "$srcdir"/logisim-evolution "$pkgdir"/usr/bin/logisim-evolution
+
+ local size
+ for size in 16 32 48 128 256; do
+ install -Dm644 \
+ src/main/resources/resources/logisim/img/logisim-icon-"$size".png \
+ "$pkgdir"/usr/share/icons/hicolor/"$size"x"$size"/apps/logisim-evolution.png
+ done
+}
+
+sha512sums="
+3f1b78fbd3cfe06c0d8fbe224481bd4134bc8583bdfd7b3009386281ede32526a847c23d02f1709707682a276dd8106cd49c120f774fb00c5d72ba3ccbb46f21 logisim-evolution-3.8.0.tar.gz
+dc93426421ace75f6479fbfb49a5d54ba7c7b64a49be3d5336451639f26a559d9b3f1a93136863d921760d53646e6fbca7be1c3a6580b8132245c4980115e5ca logisim-evolution
+34a4331673bffd6db0f1a1c17a4879c5a4b48dc099b9bae9fb5b190a3541fe1e6c8d6a7bdf3f9d00691e3e002051bc509282d89a95847ff1f90f755986a797a3 Desktop-file.patch
+"
diff --git a/testing/logisim-evolution/Desktop-file.patch b/testing/logisim-evolution/Desktop-file.patch
new file mode 100644
index 00000000000..018d8ade9bc
--- /dev/null
+++ b/testing/logisim-evolution/Desktop-file.patch
@@ -0,0 +1,13 @@
+diff --git a/support/Flatpak/com.github.reds.LogisimEvolution.desktop b/support/Flatpak/com.github.reds.LogisimEvolution.desktop
+index 60a3521ac..312e80f35 100644
+--- a/support/Flatpak/com.github.reds.LogisimEvolution.desktop
++++ b/support/Flatpak/com.github.reds.LogisimEvolution.desktop
+@@ -2,7 +2,7 @@
+ Name=Logisim Evolution
+ GenericName=Logisim Logic Circuit Simulator
+ Comment=Digital Logic Circuit Simulator
+-Exec=LogisimEvolution.sh
++Exec=logisim-evolution
+ Icon=com.github.reds.LogisimEvolution
+ Terminal=false
+ Type=Application
diff --git a/testing/logisim-evolution/logisim-evolution b/testing/logisim-evolution/logisim-evolution
new file mode 100755
index 00000000000..c795466c1de
--- /dev/null
+++ b/testing/logisim-evolution/logisim-evolution
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/bin/java -jar /usr/share/logisim-evolution/logisim-evolution.jar "$@"
diff --git a/testing/logstash/APKBUILD b/testing/logstash/APKBUILD
deleted file mode 100644
index 67f61bd876d..00000000000
--- a/testing/logstash/APKBUILD
+++ /dev/null
@@ -1,85 +0,0 @@
-# Contributor: Steeve Chailloux <steeve@chaahk.com>
-# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
-pkgname=logstash
-pkgver=7.5.2
-pkgrel=1
-pkgdesc="A flexible, open source, data collection, parsing and enrichment pipeline"
-url="http://logstash.net"
-# mips64, ppc64le and riscv64 blocked by java-jffi-native
-arch="noarch !mips64 !ppc64le !riscv64"
-license="Apache-2.0"
-depends="java-jre-headless java-jffi-native libc6-compat bash"
-makedepends="$depends_dev"
-install="$pkgname.pre-install"
-pkgusers="logstash"
-subpackages="$pkgname-doc $pkgname-openrc"
-options="!strip !check"
-source="https://artifacts.elastic.co/downloads/logstash/logstash-$pkgver.tar.gz
- $pkgname.confd
- $pkgname.initd
- $pkgname.conf
- $pkgname.profile
- "
-
-package() {
- local datadir=/var/lib/logstash logdir=$datadir/logs confdir=/etc/logstash
- local homedir=/usr/share/logstash heapsize=150m
-
- # create the necessary dirs
- install -dm755 "$pkgdir/$homedir"
- install -dm755 "$pkgdir/$logdir"
- install -dm755 "$pkgdir/$datadir"
- install -dm755 "$pkgdir/$confdir"
- install -dm755 "$pkgdir/$confdir/conf.d"
-
- # install scripts
- install -m755 -D "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.conf \
- "$pkgdir/$confdir"/conf.d/
- install -m644 -D "$srcdir"/$pkgname.profile \
- "$pkgdir"/etc/profile.d/logstash.sh
-
- # copy files
- cp -r * "$pkgdir/$homedir/"
- cp config/* "$pkgdir/$confdir/"
-
- # move docs
- mkdir -p "$pkgdir"/usr/share/doc/logstash && cd "$pkgdir"
- find usr/share/logstash -maxdepth 1 -type f ! -name Gemfile* \
- -name "[[:upper:]]*" -exec mv {} usr/share/doc/logstash/ \;
-
- # remove files for windows
- find usr/share/logstash -type f -name *.bat -exec rm -f {} \;
- find usr/share/logstash -type f -name *win32* -exec rm -f {} \;
- find usr/share/logstash -type f -name *Win32* -exec rm -f {} \;
-
- # remove bundled libjffi (we use Alpine's java-jffi-native)
- rm -rf "$pkgdir"/usr/share/logstash/vendor/jruby/lib/jni
-
- # set default paths
- sed -i \
- -e "s|# path.config:|path.config: $confdir/conf.d|" \
- -e "s|# path.logs:|path.logs: $logdir|" \
- -e "s|# path.data:|path.data: $datadir|" \
- "$pkgdir/$confdir"/logstash.yml
-
- # symlink so manual commands without -path.settings works
- rmdir "$pkgdir/$homedir"/data
- ln -s "$datadir" "$pkgdir/$homedir"/data
- ln -s "$logdir" "$pkgdir/$homedir"/logs
-
- # reduce heap sizes
- sed -i \
- -e "s|^-Xms.*|-Xms$heapsize|" \
- -e "s|^-Xmx.*|-Xmx$heapsize|" \
- "$pkgdir/$confdir"/jvm.options
-}
-
-sha512sums="955e546372466fb557eb15b9f466decef24c520c7ff16afd5432d5a8d1dd1f061f11fb9178678bed74b3c16a2d5ee6cd72fc8e4d757c8af36747dc25522c443e logstash-7.5.2.tar.gz
-94b18da3f0ef40f68118b27654563e7aa6dd4a3b90f0d8ad61a8be579d4be62c2bf1b192a32ee6140b81224343eeb442687539f6def1e725787b8cb96c0c70d1 logstash.confd
-828684ea0b9faa53ac51f7fb22bf73d862dc058d605f27958db6a8efbd10f5463a0837fa88b62a3964582c72fdd7ece434057a540b0924eae1fae17b9d5887b4 logstash.initd
-21609c8f44b31a5f298573be4b5c0fdcdc165e603a95c3626570fb6dd44dad114a74ee3f10fbd518f72b537a3d6bdcdbad09798c4bead0ee16f2a3b8e2b00ed3 logstash.conf
-180349d57a6a48be9052649425a945a07cf5e194d0f32f83567b460936729a70244d73c3495f8a318a3b98ac99a2848cadfbee5bd017da803c68c5140b6cd29d logstash.profile"
diff --git a/testing/logstash/logstash.conf b/testing/logstash/logstash.conf
deleted file mode 100644
index ddd5ada667d..00000000000
--- a/testing/logstash/logstash.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-# https://www.elastic.co/guide/en/logstash/current/configuration.html
-# https://www.elastic.co/guide/en/logstash/current/input-plugins.html
-# https://www.elastic.co/guide/en/logstash/current/filter-plugins.html
-# https://www.elastic.co/guide/en/logstash/current/output-plugins.html
-
-input {
- file {
- type => "syslog"
- path => ["/var/log/**/*.log"]
- }
-}
-
-output {
- stdout { codec => rubydebug }
-}
-
diff --git a/testing/logstash/logstash.confd b/testing/logstash/logstash.confd
deleted file mode 100644
index 67edcd26500..00000000000
--- a/testing/logstash/logstash.confd
+++ /dev/null
@@ -1,20 +0,0 @@
-# Config file for /etc/init.d/logstash
-#
-# see also $LS_CONF/jvm.options
-#
-LS_HOME=/usr/share/logstash
-LS_CONF=/etc/logstash
-LS_DATA=/var/lib/logstash
-LS_LOGS=${LS_DATA}/logs
-
-# User to run Logstash as.
-LS_USER=logstash
-
-# Group to run Logstash as. Defaults to primary group of $LS_USER.
-# LS_GROUP=
-
-# stdout & stderr fill logs rapidly
-#LS_REDIR="1>/dev/null 2>> ${LS_LOGS}/error.log"
-
-# add pipeline config under conf.d
-LS_OPTS="-f $LS_CONF/conf.d/*.conf -l $LS_LOGS $LS_REDIR"
diff --git a/testing/logstash/logstash.initd b/testing/logstash/logstash.initd
deleted file mode 100644
index b022fd387bf..00000000000
--- a/testing/logstash/logstash.initd
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-
-description="logs, events, or other data transporter"
-
-: ${LS_USER:="logstash"}
-: ${LS_GROUP:="$(id -gn $LS_USER)"}
-
-nice="19"
-pidfile="/run/$RC_SVCNAME.sd.pid"
-supervise_daemon_args="-u $LS_USER -g $LS_GROUP -p $pidfile -N $nice"
-command=/usr/share/logstash/bin/logstash
-command_args="--path.settings ${LS_CONF} ${LS_OPTS}"
-max_fd="16384"
-
-depends() {
- use net
-}
-
-in_contr() {
- grep "container=" /proc/1/environ
-}
-
-start_pre() {
- local dir
-
- # Note: checkpath doesn't create intermediate directories.
- for dir in "${LS_HOME}" "${LS_DATA}" "${LS_LOGS}"; do
- mkdir -p "$(dirname "$dir")"
- done
-
- checkpath -d -o $LS_USER:$LS_GROUP -m755 "${LS_HOME}"
- checkpath -d -o $LS_USER:$LS_GROUP -m700 "${LS_DATA}"
- checkpath -d -o $LS_USER:$LS_GROUP -m755 "${LS_LOGS}"
-
- if [ -n "$max_fd" ]; then
- if [ -z "$(in_contr)" ]; then
- ulimit -n "$max_fd" && einfo "Max open filedescriptors: $max_fd"
- else
- einfo "Run 'ulimit -n $max_fd' on the container host"
- fi
- fi
-}
diff --git a/testing/logstash/logstash.pre-install b/testing/logstash/logstash.pre-install
deleted file mode 100644
index bd470b80512..00000000000
--- a/testing/logstash/logstash.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S logstash 2>/dev/null
-adduser -S -D -H -h /usr/share/logstash -s /sbin/nologin -G logstash -g logstash logstash 2>/dev/null
-
-exit 0
diff --git a/testing/logstash/logstash.profile b/testing/logstash/logstash.profile
deleted file mode 100644
index fd6cc07b5a9..00000000000
--- a/testing/logstash/logstash.profile
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-export PATH=$PATH:/usr/share/logstash/bin
diff --git a/testing/logwatch/APKBUILD b/testing/logwatch/APKBUILD
index deffc929835..1d8c4164117 100644
--- a/testing/logwatch/APKBUILD
+++ b/testing/logwatch/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=logwatch
-pkgver=7.5.4
+pkgver=7.10
pkgrel=0
-pkgdesc="A customizable, pluggable log-monitoring system"
+pkgdesc="Customizable, pluggable log-monitoring system"
url="https://sourceforge.net/projects/logwatch/"
arch="noarch"
-license="custom"
+license="MIT"
options="!check"
depends="perl"
subpackages="$pkgname-doc"
@@ -44,4 +44,6 @@ package() {
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-sha512sums="6e6a5e8b7ae977244ea97895e06cccde320fce3dfbd2b1c58c945fc8872325a9676c8afe122b1f7230cb6617b64813caf90ef37fc472a1b200eb0b24ea72fa9b logwatch-7.5.4.tar.gz"
+sha512sums="
+838bcc7a3b12eb31450a20195fe2ca4ab238500051bb2f50bd1775272fefa412e0a2473c0294a5495ef594fa530b00dac0dc6d18b93e124f36614686502e55cb logwatch-7.10.tar.gz
+"
diff --git a/testing/loki/APKBUILD b/testing/loki/APKBUILD
deleted file mode 100644
index 10c0d857903..00000000000
--- a/testing/loki/APKBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
-# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
-pkgname=loki
-pkgver=2.3.0
-pkgrel=1
-pkgdesc="Like Prometheus, but for logs"
-options="chmod-clean net"
-url="https://github.com/grafana/loki"
-license="Apache-2.0"
-arch="x86_64 aarch64 ppc64le mips64 riscv64" # limited by 64 bit
-makedepends="go bash libc-dev"
-subpackages="$pkgname-promtail-openrc:promtail_openrc $pkgname-promtail $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/grafana/loki/archive/refs/tags/v$pkgver.tar.gz
- $pkgname.initd
- $pkgname.confd
- $pkgname-promtail.confd
- $pkgname-promtail.initd"
-
-export GOPATH="$srcdir"
-export GOCACHE="$srcdir"
-export GOTMPDIR="$srcdir"
-
-build() {
- CGO_ENABLED=0 make logcli loki promtail
-}
-
-check() {
- # not stable test for fluent-bit
- # shell check suggests to break it
- # shellcheck disable=SC2046
- CGO_ENABLED=0 GOGC=10 go test -covermode=atomic -coverprofile=coverage.txt -p=4 $(go list ./... | grep -v fluent-bit)
-}
-
-promtail() {
- pkgdesc="Promtail client"
- mkdir -p "$subpkgdir"/etc/$pkgname
- cp "$builddir"/clients/cmd/promtail/promtail-local-config.yaml "$subpkgdir"/etc/$pkgname
- install -Dm0755 "$builddir"/clients/cmd/promtail/promtail -t "$subpkgdir"/usr/bin
-}
-
-promtail_openrc() {
- pkgdesc="Promtail client (Open RC init scripts)"
- install_if="openrc loki-promtail=$pkgver-r$pkgrel"
-
- install -Dm755 "$srcdir"/$pkgname-promtail.initd "$subpkgdir"/etc/init.d/$pkgname-promtail
- install -Dm644 "$srcdir"/$pkgname-promtail.confd "$subpkgdir"/etc/conf.d/$pkgname-promtail
-}
-
-package() {
- mkdir -p "$pkgdir"/etc/$pkgname
- cp "$builddir"/cmd/loki/loki-local-config.yaml "$pkgdir"/etc/$pkgname
- install -Dm0755 cmd/$pkgname/$pkgname -t "$pkgdir"/usr/bin
- install -Dm0755 cmd/logcli/logcli -t "$pkgdir"/usr/bin
-
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
-}
-
-sha512sums="
-7f2855d8df69c551e182d0e27e2a6fb6960fa5bc525dcc90cb2dc2428f52aeb5e2bddd0a9232e1ab70cbe60a9d5bb3349ba749dbee82fc63c6fc43e61240feed loki-2.3.0.tar.gz
-469920d90daebf142db5dc5d3f2e972f59f5f5dc86684c4dcd5924a33ac7db305561006050ad42393296977ea27f1ce1cd78f78c71de351335167b41e4631a85 loki.initd
-b4c281e191e7620ffe19d3fcc0b5669f54051a8108f0abc5b1aec2f2026452e02e3c26c3885e1e857cb6007bbc41c1f964e6d25d73bdfe170b67b63ecd9f14fd loki.confd
-f7d33f03d51c3cc5cda082e72f56ec821c60f70f42923a215652517835b66a68d7db3b246cd1a53ce0b2c003fe31f7e6cca06965ba792e92117d7e91abce829f loki-promtail.confd
-ff72431ba978880cc58914302b2ec1e48ef3d16b2a667dc82deaa3d2d890331170757dcac48ba0b145c988e70e85c240c94da335894d2c9d114fa811007f1111 loki-promtail.initd
-"
diff --git a/testing/loki/loki-promtail.confd b/testing/loki/loki-promtail.confd
deleted file mode 100644
index ebf62ab463b..00000000000
--- a/testing/loki/loki-promtail.confd
+++ /dev/null
@@ -1,5 +0,0 @@
-# The promtail config file
-PROMTAIL_CONF="/etc/loki/promtail-local-config.yaml"
-
-# Add any extra options to pass to promtail to this setting.
-#PROMTAIL_OPTS=""
diff --git a/testing/loki/loki-promtail.initd b/testing/loki/loki-promtail.initd
deleted file mode 100644
index 778fbd96602..00000000000
--- a/testing/loki/loki-promtail.initd
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-
-output_log="${output_log:-/dev/null}"
-error_log="${error_log:-/var/log/promtail/error.log}"
-configfile="${PROMTAIL_CONF:-/etc/loki/promtail-local-config.yaml}"
-
-name="${name:-Promtail}"
-command="/usr/bin/promtail"
-command_args="-config.file=${configfile}
- ${PROMTAIL_OPTS}"
-command_user="${command_user:-root:root}"
-command_background=yes
-make_pidfile=yes
-pidfile="/run/${RC_SVCNAME}.pid"
-start_stop_daemon_args="${SSD_OPTS}
- -1 ${output_log} -2 ${error_log}"
-
-depend() {
- need net
-}
-
-start_pre() {
- checkpath -d -m 0750 -o "${command_user}" "/var/log/promtail"
-}
-
diff --git a/testing/loki/loki.confd b/testing/loki/loki.confd
deleted file mode 100644
index 850fa53e253..00000000000
--- a/testing/loki/loki.confd
+++ /dev/null
@@ -1,5 +0,0 @@
-# The loki config file
-LOKI_CONF="/etc/loki/loki-local-config.yaml"
-
-# Add any extra options to pass to loki to this setting.
-#LOKI_OPTS=""
diff --git a/testing/loki/loki.initd b/testing/loki/loki.initd
deleted file mode 100644
index dd5bd96283c..00000000000
--- a/testing/loki/loki.initd
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/sbin/openrc-run
-
-configfile="${LOKI_CONF:-/etc/loki/loki-local-config.yaml}"
-
-command=/usr/bin/loki
-command_args="-config.file=${configfile}
- ${LOKI_OPTS}"
-command_background=yes
-command_user=loki:grafana
-make_pidfile=yes
-pidfile=/var/run/loki.pid
diff --git a/testing/lol-html/APKBUILD b/testing/lol-html/APKBUILD
new file mode 100644
index 00000000000..915868b851a
--- /dev/null
+++ b/testing/lol-html/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=lol-html
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="Low output latency streaming HTML parser/rewriter (C library)"
+url="https://crates.io/crates/lol-html"
+arch="all"
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+subpackages="$pkgname-dev"
+source="
+ https://github.com/cloudflare/lol-html/archive/v$pkgver/lol-html-$pkgver.tar.gz
+ lol-html.pc.in
+
+ lockfile.patch
+ "
+builddir="$srcdir/lol-html-$pkgver/c-api"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+ (
+ cd tests
+ cargo fetch --target="$CTARGET" --locked
+ )
+}
+
+build() {
+ cargo auditable build --frozen --release
+
+ sed 's/@VERSION@/'"$pkgver"'/' "$srcdir"/lol-html.pc.in > lol-html.pc
+}
+
+check() {
+ # why is this a separate crate?
+ cd tests
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/liblolhtml.so -t "$pkgdir"/usr/lib/
+ install -Dm644 include/lol_html.h -t "$pkgdir"/usr/include/
+ install -Dm644 lol-html.pc -t "$pkgdir"/usr/lib/pkgconfig/
+}
+
+sha512sums="
+5cf78d7f602018e22642fbba0bbf0a84fc17dc218f5e60d77f2c0f08c7d5bd6e378487372e40a2a3a02c7729ae6a24d128130fa702e597335e9a9e860f60cce1 lol-html-1.1.1.tar.gz
+21772f891c68c8d6970c35d0c0fc920c00bd61bc075adcb72fa9479b340ea020f8d112832c6dba41f5e96cb03245587c3ffd518341ee7bb154ccebf7535e691c lol-html.pc.in
+e92b9e841e3db4c3fe8cf8132ca85317dfaf0dd072d34146e6249050b0165d1130f190d1646962ec406fcc7d27936a9d47018aadda02132b38cefe9c53c0fc5f lockfile.patch
+"
diff --git a/testing/lol-html/lockfile.patch b/testing/lol-html/lockfile.patch
new file mode 100644
index 00000000000..e84a35984c6
--- /dev/null
+++ b/testing/lol-html/lockfile.patch
@@ -0,0 +1,1087 @@
+--- /dev/null
++++ ./Cargo.lock
+@@ -0,0 +1,532 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "ahash"
++version = "0.8.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
++dependencies = [
++ "cfg-if",
++ "once_cell",
++ "version_check",
++ "zerocopy",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "bitflags"
++version = "2.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
++
++[[package]]
++name = "byteorder"
++version = "1.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
++
++[[package]]
++name = "cc"
++version = "1.0.83"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "convert_case"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
++
++[[package]]
++name = "cssparser"
++version = "0.27.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
++dependencies = [
++ "cssparser-macros",
++ "dtoa-short",
++ "itoa",
++ "matches",
++ "phf",
++ "proc-macro2",
++ "quote",
++ "smallvec",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "cssparser-macros"
++version = "0.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
++dependencies = [
++ "quote",
++ "syn 2.0.38",
++]
++
++[[package]]
++name = "derive_more"
++version = "0.99.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
++dependencies = [
++ "convert_case",
++ "proc-macro2",
++ "quote",
++ "rustc_version",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "dtoa"
++version = "1.0.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
++
++[[package]]
++name = "dtoa-short"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74"
++dependencies = [
++ "dtoa",
++]
++
++[[package]]
++name = "encoding_rs"
++version = "0.8.33"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "fxhash"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
++dependencies = [
++ "byteorder",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "hashbrown"
++version = "0.13.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
++dependencies = [
++ "ahash",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
++
++[[package]]
++name = "libc"
++version = "0.2.149"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
++
++[[package]]
++name = "log"
++version = "0.4.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
++
++[[package]]
++name = "lol_html"
++version = "1.1.1"
++dependencies = [
++ "bitflags 2.4.1",
++ "cfg-if",
++ "cssparser",
++ "encoding_rs",
++ "hashbrown",
++ "lazy_static",
++ "lazycell",
++ "memchr",
++ "mime",
++ "safemem",
++ "selectors",
++ "thiserror",
++]
++
++[[package]]
++name = "lolhtml"
++version = "1.1.1"
++dependencies = [
++ "cc",
++ "encoding_rs",
++ "libc",
++ "lol_html",
++ "thiserror",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
++
++[[package]]
++name = "memchr"
++version = "2.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
++
++[[package]]
++name = "mime"
++version = "0.3.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
++
++[[package]]
++name = "nodrop"
++version = "0.1.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
++
++[[package]]
++name = "once_cell"
++version = "1.18.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
++
++[[package]]
++name = "phf"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
++dependencies = [
++ "phf_macros",
++ "phf_shared",
++ "proc-macro-hack",
++]
++
++[[package]]
++name = "phf_codegen"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
++dependencies = [
++ "phf_generator",
++ "phf_shared",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
++dependencies = [
++ "phf_shared",
++ "rand",
++]
++
++[[package]]
++name = "phf_macros"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
++dependencies = [
++ "phf_generator",
++ "phf_shared",
++ "proc-macro-hack",
++ "proc-macro2",
++ "quote",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
++dependencies = [
++ "siphasher",
++]
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
++
++[[package]]
++name = "precomputed-hash"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
++
++[[package]]
++name = "proc-macro-hack"
++version = "0.5.20+deprecated"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.69"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.33"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
++dependencies = [
++ "getrandom",
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++ "rand_pcg",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
++dependencies = [
++ "ppv-lite86",
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "rand_pcg"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "rustc_version"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
++dependencies = [
++ "semver",
++]
++
++[[package]]
++name = "safemem"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
++
++[[package]]
++name = "selectors"
++version = "0.22.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
++dependencies = [
++ "bitflags 1.3.2",
++ "cssparser",
++ "derive_more",
++ "fxhash",
++ "log",
++ "matches",
++ "phf",
++ "phf_codegen",
++ "precomputed-hash",
++ "servo_arc",
++ "smallvec",
++ "thin-slice",
++]
++
++[[package]]
++name = "semver"
++version = "1.0.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
++
++[[package]]
++name = "servo_arc"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
++dependencies = [
++ "nodrop",
++ "stable_deref_trait",
++]
++
++[[package]]
++name = "siphasher"
++version = "0.3.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
++
++[[package]]
++name = "smallvec"
++version = "1.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
++
++[[package]]
++name = "stable_deref_trait"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
++
++[[package]]
++name = "syn"
++version = "1.0.109"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "syn"
++version = "2.0.38"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "thin-slice"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
++
++[[package]]
++name = "thiserror"
++version = "1.0.50"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
++dependencies = [
++ "thiserror-impl",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.50"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.38",
++]
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
++
++[[package]]
++name = "version_check"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
++
++[[package]]
++name = "wasi"
++version = "0.9.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
++
++[[package]]
++name = "zerocopy"
++version = "0.7.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e50cbb27c30666a6108abd6bc7577556265b44f243e2be89a8bc4e07a528c107"
++dependencies = [
++ "zerocopy-derive",
++]
++
++[[package]]
++name = "zerocopy-derive"
++version = "0.7.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a25f293fe55f0a48e7010d65552bb63704f6ceb55a1a385da10d41d8f78e4a3d"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.38",
++]
+--- /dev/null
++++ ./tests/Cargo.lock
+@@ -0,0 +1,549 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "ahash"
++version = "0.8.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "91429305e9f0a25f6205c5b8e0d2db09e0708a7a6df0f42212bb56c32c8ac97a"
++dependencies = [
++ "cfg-if",
++ "once_cell",
++ "version_check",
++ "zerocopy",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "bitflags"
++version = "2.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
++
++[[package]]
++name = "byteorder"
++version = "1.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
++
++[[package]]
++name = "cc"
++version = "1.0.83"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "convert_case"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
++
++[[package]]
++name = "cssparser"
++version = "0.27.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
++dependencies = [
++ "cssparser-macros",
++ "dtoa-short",
++ "itoa",
++ "matches",
++ "phf",
++ "proc-macro2",
++ "quote",
++ "smallvec",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "cssparser-macros"
++version = "0.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
++dependencies = [
++ "quote",
++ "syn 2.0.38",
++]
++
++[[package]]
++name = "ctests"
++version = "0.1.0"
++dependencies = [
++ "cc",
++ "glob",
++ "libc",
++ "lol_html",
++ "lolhtml",
++]
++
++[[package]]
++name = "derive_more"
++version = "0.99.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321"
++dependencies = [
++ "convert_case",
++ "proc-macro2",
++ "quote",
++ "rustc_version",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "dtoa"
++version = "1.0.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dcbb2bf8e87535c23f7a8a321e364ce21462d0ff10cb6407820e8e96dfff6653"
++
++[[package]]
++name = "dtoa-short"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbaceec3c6e4211c79e7b1800fb9680527106beb2f9c51904a3210c03a448c74"
++dependencies = [
++ "dtoa",
++]
++
++[[package]]
++name = "encoding_rs"
++version = "0.8.33"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1"
++dependencies = [
++ "cfg-if",
++]
++
++[[package]]
++name = "fxhash"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
++dependencies = [
++ "byteorder",
++]
++
++[[package]]
++name = "getrandom"
++version = "0.1.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
++dependencies = [
++ "cfg-if",
++ "libc",
++ "wasi",
++]
++
++[[package]]
++name = "glob"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b"
++
++[[package]]
++name = "hashbrown"
++version = "0.13.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
++dependencies = [
++ "ahash",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
++
++[[package]]
++name = "libc"
++version = "0.2.149"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
++
++[[package]]
++name = "log"
++version = "0.4.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
++
++[[package]]
++name = "lol_html"
++version = "1.1.1"
++dependencies = [
++ "bitflags 2.4.1",
++ "cfg-if",
++ "cssparser",
++ "encoding_rs",
++ "hashbrown",
++ "lazy_static",
++ "lazycell",
++ "memchr",
++ "mime",
++ "safemem",
++ "selectors",
++ "thiserror",
++]
++
++[[package]]
++name = "lolhtml"
++version = "1.1.1"
++dependencies = [
++ "cc",
++ "encoding_rs",
++ "libc",
++ "lol_html",
++ "thiserror",
++]
++
++[[package]]
++name = "matches"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
++
++[[package]]
++name = "memchr"
++version = "2.6.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167"
++
++[[package]]
++name = "mime"
++version = "0.3.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
++
++[[package]]
++name = "nodrop"
++version = "0.1.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
++
++[[package]]
++name = "once_cell"
++version = "1.18.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
++
++[[package]]
++name = "phf"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
++dependencies = [
++ "phf_macros",
++ "phf_shared",
++ "proc-macro-hack",
++]
++
++[[package]]
++name = "phf_codegen"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
++dependencies = [
++ "phf_generator",
++ "phf_shared",
++]
++
++[[package]]
++name = "phf_generator"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
++dependencies = [
++ "phf_shared",
++ "rand",
++]
++
++[[package]]
++name = "phf_macros"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
++dependencies = [
++ "phf_generator",
++ "phf_shared",
++ "proc-macro-hack",
++ "proc-macro2",
++ "quote",
++ "syn 1.0.109",
++]
++
++[[package]]
++name = "phf_shared"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
++dependencies = [
++ "siphasher",
++]
++
++[[package]]
++name = "ppv-lite86"
++version = "0.2.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
++
++[[package]]
++name = "precomputed-hash"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
++
++[[package]]
++name = "proc-macro-hack"
++version = "0.5.20+deprecated"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.69"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "134c189feb4956b20f6f547d2cf727d4c0fe06722b20a0eec87ed445a97f92da"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.33"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.7.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
++dependencies = [
++ "getrandom",
++ "libc",
++ "rand_chacha",
++ "rand_core",
++ "rand_hc",
++ "rand_pcg",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.2.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
++dependencies = [
++ "ppv-lite86",
++ "rand_core",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.5.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++dependencies = [
++ "getrandom",
++]
++
++[[package]]
++name = "rand_hc"
++version = "0.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "rand_pcg"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
++dependencies = [
++ "rand_core",
++]
++
++[[package]]
++name = "rustc_version"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
++dependencies = [
++ "semver",
++]
++
++[[package]]
++name = "safemem"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ef703b7cb59335eae2eb93ceb664c0eb7ea6bf567079d843e09420219668e072"
++
++[[package]]
++name = "selectors"
++version = "0.22.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
++dependencies = [
++ "bitflags 1.3.2",
++ "cssparser",
++ "derive_more",
++ "fxhash",
++ "log",
++ "matches",
++ "phf",
++ "phf_codegen",
++ "precomputed-hash",
++ "servo_arc",
++ "smallvec",
++ "thin-slice",
++]
++
++[[package]]
++name = "semver"
++version = "1.0.20"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "836fa6a3e1e547f9a2c4040802ec865b5d85f4014efe00555d7090a3dcaa1090"
++
++[[package]]
++name = "servo_arc"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
++dependencies = [
++ "nodrop",
++ "stable_deref_trait",
++]
++
++[[package]]
++name = "siphasher"
++version = "0.3.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
++
++[[package]]
++name = "smallvec"
++version = "1.11.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
++
++[[package]]
++name = "stable_deref_trait"
++version = "1.2.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
++
++[[package]]
++name = "syn"
++version = "1.0.109"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "syn"
++version = "2.0.38"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e96b79aaa137db8f61e26363a0c9b47d8b4ec75da28b7d1d614c2303e232408b"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "thin-slice"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
++
++[[package]]
++name = "thiserror"
++version = "1.0.50"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f9a7210f5c9a7156bb50aa36aed4c95afb51df0df00713949448cf9e97d382d2"
++dependencies = [
++ "thiserror-impl",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.50"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "266b2e40bc00e5a6c09c3584011e08b06f123c00362c92b975ba9843aaaa14b8"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.38",
++]
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
++
++[[package]]
++name = "version_check"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
++
++[[package]]
++name = "wasi"
++version = "0.9.0+wasi-snapshot-preview1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
++
++[[package]]
++name = "zerocopy"
++version = "0.7.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e50cbb27c30666a6108abd6bc7577556265b44f243e2be89a8bc4e07a528c107"
++dependencies = [
++ "zerocopy-derive",
++]
++
++[[package]]
++name = "zerocopy-derive"
++version = "0.7.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a25f293fe55f0a48e7010d65552bb63704f6ceb55a1a385da10d41d8f78e4a3d"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.38",
++]
diff --git a/testing/lol-html/lol-html.pc.in b/testing/lol-html/lol-html.pc.in
new file mode 100644
index 00000000000..bd7145a470b
--- /dev/null
+++ b/testing/lol-html/lol-html.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: lol-html
+Description: Low output latency streaming HTML parser/rewriter
+Version: @VERSION@
+
+Requires:
+Libs: -L${libdir} -llolhtml
+Cflags: -I${includedir}
diff --git a/testing/lolcat/APKBUILD b/testing/lolcat/APKBUILD
index 053fd336443..69618c03f53 100644
--- a/testing/lolcat/APKBUILD
+++ b/testing/lolcat/APKBUILD
@@ -1,13 +1,15 @@
# Contributor: Daniel Isaksen <d@duniel.no>
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=lolcat
-pkgver=1.2
-pkgrel=1
+pkgver=1.4
+pkgrel=0
pkgdesc="High-performance implementation of lolcat"
url="https://github.com/jaseg/lolcat/"
arch="all"
license="WTFPL"
-source="$pkgname-$pkgver.tar.gz::https://github.com/jaseg/lolcat/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jaseg/lolcat/archive/v$pkgver.tar.gz
+ makefile.patch
+ "
options="!check" # No upstream testsuite
build() {
@@ -19,4 +21,7 @@ package() {
make DESTDIR="$pkgdir/usr/bin" install
}
-sha512sums="e8db711283267a38573eee584c01c64db4d20ea057f7b7db88c93c58189e0340eadd13129723e326618995e2a3dd80e1ff24aacb2b7e3d10c077c0f5f54a1fd3 lolcat-1.2.tar.gz"
+sha512sums="
+8f73121ef372383f5ff1d444f69a6255f5ff65abfbb4f103197480f957dcc440375c7c01be5c33247ce920ff39e34519702f7550b9b8ada2f18190d0ae948024 lolcat-1.4.tar.gz
+cddac8348b17f180daa8f4c53788dc86ab348f2d5c4c98e91b7b50010e6638750e6f1c2931d115090e8075055bef2c3d4e12218fc64b4a346bfdf543c058b262 makefile.patch
+"
diff --git a/testing/lolcat/makefile.patch b/testing/lolcat/makefile.patch
new file mode 100644
index 00000000000..e9d100482a9
--- /dev/null
+++ b/testing/lolcat/makefile.patch
@@ -0,0 +1,17 @@
+diff --git a/Makefile b/Makefile
+index 9ce889d..e9ca9db 100644
+--- a/Makefile
++++ b/Makefile
+@@ -16,10 +16,10 @@ xterm256lut.h: xterm256lut_gen.py
+ python $< > $@
+
+ lolcat: lolcat.c xterm256lut.h
+- $(CC) $(CFLAGS) -o $@ $< $(LIBS)
++ $(CC) $(CFLAGS) -o $@ $< $(LIBS) $(LDFLAGS)
+
+ censor: censor.c
+- $(CC) $(CFLAGS) -o $@ $< $(LIBS)
++ $(CC) $(CFLAGS) -o $@ $< $(LIBS) $(LDFLAGS)
+
+ install: lolcat censor
+ install lolcat $(DESTDIR)/lolcat
diff --git a/testing/lomiri-action-api/0002-Use-qmltestrunner-qt5.patch b/testing/lomiri-action-api/0002-Use-qmltestrunner-qt5.patch
new file mode 100644
index 00000000000..197f8ccac2d
--- /dev/null
+++ b/testing/lomiri-action-api/0002-Use-qmltestrunner-qt5.patch
@@ -0,0 +1,53 @@
+From 095b55e0e992f63af414b27e1b2ca52ff1a550fb Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Wed, 15 Nov 2023 00:21:02 +0100
+Subject: [PATCH 2/2] Use qmltestrunner-qt5
+
+---
+ CMakeLists.txt | 2 +-
+ cmake/modules/QmlTest.cmake | 2 +-
+ test/qml/CMakeLists.txt | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e70f8ec..6cefd26 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -82,7 +82,7 @@ if(${GENERATE_DOCUMENTATION})
+ endif()
+
+
+-find_program(qmltestrunner_exe qmltestrunner)
++find_program(qmltestrunner_exe qmltestrunner-qt5)
+
+ if(NOT qmltestrunner_exe)
+ message(FATAL_ERROR "Could not locate qmltestrunner.")
+diff --git a/cmake/modules/QmlTest.cmake b/cmake/modules/QmlTest.cmake
+index 87fab8e..61bdc51 100644
+--- a/cmake/modules/QmlTest.cmake
++++ b/cmake/modules/QmlTest.cmake
+@@ -15,7 +15,7 @@
+ # qmltest_DEFAULT_IMPORT_PATHS
+ # qmltest_DEFAULT_PROPERTIES
+
+-find_program(qmltestrunner_exe qmltestrunner)
++find_program(qmltestrunner_exe qmltestrunner-qt5)
+
+ if(NOT qmltestrunner_exe)
+ message(FATAL_ERROR "Could not locate qmltestrunner.")
+diff --git a/test/qml/CMakeLists.txt b/test/qml/CMakeLists.txt
+index e817ea0..f4fd2fa 100644
+--- a/test/qml/CMakeLists.txt
++++ b/test/qml/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ add_custom_target(qmlunittests)
+ add_custom_target(qmlunittests_1_1)
+
+-find_program(qmltestrunner_exe qmltestrunner)
++find_program(qmltestrunner_exe qmltestrunner-qt5)
+
+ if(NOT qmltestrunner_exe)
+ message(FATAL_ERROR "Could not locate qmltestrunner.")
+--
+2.42.1
+
diff --git a/testing/lomiri-action-api/APKBUILD b/testing/lomiri-action-api/APKBUILD
new file mode 100644
index 00000000000..2bbfe6acb01
--- /dev/null
+++ b/testing/lomiri-action-api/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-action-api
+pkgver=1.1.3
+pkgrel=0
+pkgdesc="Lomiri Action Qt API"
+url="https://gitlab.com/ubports/development/core/lomiri-action-api"
+arch="all"
+license="LGPL-3.0-only"
+depends_dev="qt5-qtdeclarative-dev"
+makedepends="
+ $depends_dev
+ cmake
+ samurai
+ "
+checkdepends="dbus-test-runner"
+subpackages="$pkgname-dev"
+source="https://gitlab.com/ubports/development/core/lomiri-action-api/-/archive/$pkgver/lomiri-action-api-$pkgver.tar.gz
+ 0002-Use-qmltestrunner-qt5.patch
+ "
+options="!check" # tests hang
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -Duse_libhud2=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+425b88cc97a0de10378dd003daaf3749d856ed469b468350de22fc428dd614e36361e1297b3e0b801999c13d8c7647fe0bcf732333e8a7af10dc65f8b9a53aa9 lomiri-action-api-1.1.3.tar.gz
+3c6c8b12579ee0a9ad5bc28afa6dcfee132cb9a90b44314f9c10e044fd468f8004b8b460aa624714f672b35a500b1ae755494d112c3a9185a2670b8aec5d2e3b 0002-Use-qmltestrunner-qt5.patch
+"
diff --git a/testing/lomiri-api/0001-Add-missing-headers-for-GCC13.patch b/testing/lomiri-api/0001-Add-missing-headers-for-GCC13.patch
new file mode 100644
index 00000000000..4cc5b2bd150
--- /dev/null
+++ b/testing/lomiri-api/0001-Add-missing-headers-for-GCC13.patch
@@ -0,0 +1,37 @@
+From 029b42a9b4d5467951595dff8bc536eb5a9e3ef7 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Wed, 7 Jun 2023 09:22:27 +0200
+Subject: [PATCH] Add missing headers for GCC13
+
+---
+ include/lomiri/util/FileIO.h | 1 +
+ include/lomiri/util/ResourcePtr.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/include/lomiri/util/FileIO.h b/include/lomiri/util/FileIO.h
+index b2ad19e..815bf8e 100644
+--- a/include/lomiri/util/FileIO.h
++++ b/include/lomiri/util/FileIO.h
+@@ -23,6 +23,7 @@
+
+ #include <string>
+ #include <vector>
++#include <cstdint>
+
+ namespace lomiri
+ {
+diff --git a/include/lomiri/util/ResourcePtr.h b/include/lomiri/util/ResourcePtr.h
+index b385590..701bfb3 100644
+--- a/include/lomiri/util/ResourcePtr.h
++++ b/include/lomiri/util/ResourcePtr.h
+@@ -21,6 +21,7 @@
+
+ #include <mutex>
+ #include <type_traits>
++#include <stdexcept>
+
+ namespace lomiri
+ {
+--
+2.42.0
+
diff --git a/testing/lomiri-api/APKBUILD b/testing/lomiri-api/APKBUILD
new file mode 100644
index 00000000000..4c2d9197402
--- /dev/null
+++ b/testing/lomiri-api/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-api
+pkgver=0.2.1
+pkgrel=0
+pkgdesc="API for Lomiri shell integration"
+url="https://gitlab.com/ubports/development/core/lomiri-api"
+arch="all"
+license="LGPL-3.0-only"
+depends_dev="
+ gtest-dev
+ qt5-qtdeclarative-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ gmock
+ libqtdbustest
+ samurai
+ "
+checkdepends="dbus"
+source="https://gitlab.com/ubports/development/core/lomiri-api/-/archive/$pkgver/lomiri-api-$pkgver.tar.gz
+ 0001-Add-missing-headers-for-GCC13.patch
+ qmltestrunner.patch
+ "
+subpackages="$pkgname-dev"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+9eb356d6733a780aabb8e8dde412c0aafca5dd021e1b093f5b369c778da0c0ae933e0a8f527528a85ae989d1856f8a3691117bacda1829716dadf253852ffb96 lomiri-api-0.2.1.tar.gz
+08c2b3bd7d583064f60c29accd74d10cad64c221e79b84ec973dd0e31b0bfb180a30f3800c1695686d172198a0a15fdf4ae6860e84413bab2d19e89e693b32f7 0001-Add-missing-headers-for-GCC13.patch
+04c316667ed5892c55278b01377d4d9c1a6ae14a330bfa594e5e54371d37441747684ab553799cb5e7804f4c68d181e78caeb8279491b9f5302a4e70095c74af qmltestrunner.patch
+"
diff --git a/testing/lomiri-api/qmltestrunner.patch b/testing/lomiri-api/qmltestrunner.patch
new file mode 100644
index 00000000000..4129a866348
--- /dev/null
+++ b/testing/lomiri-api/qmltestrunner.patch
@@ -0,0 +1,15 @@
+Alpine uses versioned Qt binaries
+
+diff --git a/cmake/modules/QmlTest.cmake b/cmake/modules/QmlTest.cmake
+index 8241703..d209b55 100644
+--- a/cmake/modules/QmlTest.cmake
++++ b/cmake/modules/QmlTest.cmake
+@@ -15,7 +15,7 @@
+ # qmltest_DEFAULT_IMPORT_PATHS
+ # qmltest_DEFAULT_PROPERTIES
+
+-find_program(qmltestrunner_exe qmltestrunner)
++find_program(qmltestrunner_exe qmltestrunner-qt5)
+
+ if(NOT qmltestrunner_exe)
+ message(FATAL_ERROR "Could not locate qmltestrunner.")
diff --git a/testing/lomiri-app-launch/0001-liblomiri-app-launch-jobs-posix.cpp-pass-more-enviro.patch b/testing/lomiri-app-launch/0001-liblomiri-app-launch-jobs-posix.cpp-pass-more-enviro.patch
new file mode 100644
index 00000000000..276df5b4445
--- /dev/null
+++ b/testing/lomiri-app-launch/0001-liblomiri-app-launch-jobs-posix.cpp-pass-more-enviro.patch
@@ -0,0 +1,27 @@
+From 9ae05ed4263e0c61724e2613101f89759d1b1f09 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Thu, 14 Mar 2024 19:38:29 -0400
+Subject: [PATCH] liblomiri-app-launch/jobs-posix.cpp: pass more environment
+ variables
+
+---
+ liblomiri-app-launch/jobs-posix.cpp | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/liblomiri-app-launch/jobs-posix.cpp b/liblomiri-app-launch/jobs-posix.cpp
+index e1639fe..f5b9518 100644
+--- a/liblomiri-app-launch/jobs-posix.cpp
++++ b/liblomiri-app-launch/jobs-posix.cpp
+@@ -211,6 +211,9 @@ std::shared_ptr<Application::Instance> POSIX::launch(
+ {
+ copyEnvByPrefix("QT_", env);
+ copyEnvByPrefix("XDG_", env);
++ copyEnv("HOME", env);
++ copyEnv("DISPLAY", env);
++ copyEnv("WAYLAND_DISPLAY", env);
+
+ /* If we're in Lomiri we don't want to pass it's platform, we want
+ * an application platform. */
+--
+2.43.2
+
diff --git a/testing/lomiri-app-launch/APKBUILD b/testing/lomiri-app-launch/APKBUILD
new file mode 100644
index 00000000000..71bc7b558fa
--- /dev/null
+++ b/testing/lomiri-app-launch/APKBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
+pkgname=lomiri-app-launch
+pkgver=0.1.9
+pkgrel=1
+pkgdesc="User space daemon for launching applications"
+arch="all"
+url="https://gitlab.com/ubports/development/core/lomiri-app-launch"
+license="GPL-3.0-only"
+depends_dev="
+ click-dev
+ curl-dev
+ dbus-test-runner-dev
+ gobject-introspection-dev
+ gtest-dev
+ json-glib-dev
+ lomiri-api-dev
+ lttng-ust-dev
+ mir-dev
+ properties-cpp-dev
+ zeitgeist-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ dbus-test-runner
+ glib-dev
+ lttng-ust-tools
+ qt5-qtdeclarative
+ samurai
+ "
+checkdepends="
+ bash
+ gmock
+ gtest-dev
+ py3-dbusmock
+ "
+source="https://gitlab.com/ubports/development/core/lomiri-app-launch/-/archive/$pkgver/lomiri-app-launch-$pkgver.tar.gz
+ 0001-liblomiri-app-launch-jobs-posix.cpp-pass-more-enviro.patch
+ "
+subpackages="$pkgname-dev"
+options="!check" # test 12/13 appears to hang
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None \
+ -DUSE_SYSTEMD=OFF \
+ -DLOMIRI_APP_LAUNCH_ARCH=foo \
+ -DENABLE_MIRCLIENT=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+b00ae1009f9b10126d9d9abc4961d9315e6d1fa086e9c010cf752826a166cb2aa9a3f3aa915900ee1156081e409f3df93be970c23c9e5a31f8ab2fa2b9bbf6c9 lomiri-app-launch-0.1.9.tar.gz
+e8228226e3b4436333dd74869167417a0deaaf9c9c3e62a8b07c7478ccadb44d232320da6389e4aeba737f93adb7b348d077e694410d4d225d9b888a947eb98b 0001-liblomiri-app-launch-jobs-posix.cpp-pass-more-enviro.patch
+"
diff --git a/testing/lomiri-calculator-app/0001-point-qmlscene-to-qmlscene-qt5.patch b/testing/lomiri-calculator-app/0001-point-qmlscene-to-qmlscene-qt5.patch
new file mode 100644
index 00000000000..f78866c0dec
--- /dev/null
+++ b/testing/lomiri-calculator-app/0001-point-qmlscene-to-qmlscene-qt5.patch
@@ -0,0 +1,35 @@
+From 18cc9602d0bf71df38cfaaa5615f6f782be43a72 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Tue, 5 Mar 2024 16:24:28 -0500
+Subject: [PATCH] point qmlscene to qmlscene-qt5
+
+---
+ CMakeLists.txt | 2 +-
+ app/lomiri-calculator-app.in | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 6869c1b..2790571 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -35,7 +35,7 @@ if(CLICK_MODE)
+ set(LOMIRI-CALCULATOR-APP_DIR "${CMAKE_INSTALL_DATADIR}/qml")
+
+ set(QT_IMPORTS_DIR "${CMAKE_INSTALL_LIBDIR}")
+- set(EXEC "lomiri-calculator-app-migrate.py qmlscene -qt5 $@ ${LOMIRI-CALCULATOR-APP_DIR}/${MAIN_QML}")
++ set(EXEC "lomiri-calculator-app-migrate.py qmlscene-qt5 $@ ${LOMIRI-CALCULATOR-APP_DIR}/${MAIN_QML}")
+ if(NOT BZR_REVNO)
+ execute_process(
+ COMMAND bzr revno
+diff --git a/app/lomiri-calculator-app.in b/app/lomiri-calculator-app.in
+index d07f134..6762bd4 100644
+--- a/app/lomiri-calculator-app.in
++++ b/app/lomiri-calculator-app.in
+@@ -1,3 +1,3 @@
+ #!/bin/sh
+ export QT_SELECT=qt5
+-exec qmlscene @CMAKE_INSTALL_PREFIX@/@LOMIRI-CALCULATOR-APP_DIR@/@MAIN_QML@
++exec qmlscene-qt5 @CMAKE_INSTALL_PREFIX@/@LOMIRI-CALCULATOR-APP_DIR@/@MAIN_QML@
+--
+2.43.2
+
diff --git a/testing/lomiri-calculator-app/APKBUILD b/testing/lomiri-calculator-app/APKBUILD
new file mode 100644
index 00000000000..6a0a0059ef2
--- /dev/null
+++ b/testing/lomiri-calculator-app/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-calculator-app
+pkgver=4.0.2
+pkgrel=0
+pkgdesc="A powerful and easy to use calculator"
+url="https://gitlab.com/ubports/development/apps/lomiri-calculator-app"
+arch="all !armhf" # blocked by lomiri-ui-toolkit
+license="GPL-3.0-only"
+source="https://gitlab.com/ubports/development/apps/lomiri-calculator-app/-/archive/v$pkgver/lomiri-calculator-app-v$pkgver.tar.gz
+ 0001-point-qmlscene-to-qmlscene-qt5.patch
+ "
+depends="
+ lomiri-ui-extras
+ lomiri-ui-toolkit
+ qqc2-suru-style
+ "
+makedepends="
+ click-dev
+ cmake
+ cmake-extras
+ lomiri-trust-store-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samurai
+ "
+checkdepends="
+ py3-dbusmock
+ py3-xdg
+ xvfb-run
+ "
+subpackages="$pkgname-lang"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # requires autopilot
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCLICK_MODE=OFF \
+ -DINSTALL_TESTS=OFF
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+7642f8e62ce7a2e11474155790283f21c9ab1b16462f16541f5937bfbda1c2eed400fd553a451bb9acacfe8d12348696524d43198ae2745e78bd501f04baa8e7 lomiri-calculator-app-v4.0.2.tar.gz
+86d64f4be2f8277ee044a3b6b7041e4ff6694606f4a506ad1f9f970382ca10ae0ccc3d1b242589ca5e17f26b6258b688587770128c8449c61bce1bb8206fc4f1 0001-point-qmlscene-to-qmlscene-qt5.patch
+"
diff --git a/testing/lomiri-clock-app/0001-point-qmlscene-to-qmlscene-qt5.patch b/testing/lomiri-clock-app/0001-point-qmlscene-to-qmlscene-qt5.patch
new file mode 100644
index 00000000000..4abaa19bc7b
--- /dev/null
+++ b/testing/lomiri-clock-app/0001-point-qmlscene-to-qmlscene-qt5.patch
@@ -0,0 +1,37 @@
+From 7d5caaa5c9e48ca83e1b99340ffc845b8e6a88af Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Tue, 28 Nov 2023 21:01:24 +0100
+Subject: [PATCH] point qmlscene to qmlscene-qt5
+
+---
+ CMakeLists.txt | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7c092b80..2ae948c8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -86,10 +86,10 @@ if(${CLICK_MODE})
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/manifest.json DESTINATION ${CMAKE_INSTALL_PREFIX})
+ install(FILES "${APP_HARDCODE}.json" DESTINATION ${CMAKE_INSTALL_PREFIX})
+ install(PROGRAMS lomiri-clock-app-migrate.py DESTINATION ${CMAKE_INSTALL_PREFIX})
+- set(EXEC "lomiri-clock-app-migrate.py qmlscene -I ${MODULE_PATH} %U ${LOMIRI-CLOCK_APP_DIR}/${MAIN_QML}")
++ set(EXEC "lomiri-clock-app-migrate.py qmlscene-qt5 -I ${MODULE_PATH} %U ${LOMIRI-CLOCK_APP_DIR}/${MAIN_QML}")
+ else(CLICK_MODE)
+ install(PROGRAMS lomiri-clock-app-migrate.py DESTINATION ${CMAKE_INSTALL_PREFIX}/${LOMIRI-CLOCK_APP_DIR})
+- set(EXEC "qmlscene $@ -I ${MODULE_PATH} ${CMAKE_INSTALL_PREFIX}/${LOMIRI-CLOCK_APP_DIR}/${MAIN_QML}")
++ set(EXEC "qmlscene-qt5 $@ -I ${MODULE_PATH} ${CMAKE_INSTALL_PREFIX}/${LOMIRI-CLOCK_APP_DIR}/${MAIN_QML}")
+ endif()
+
+ install(FILES ${URLS_FILE} DESTINATION "${CMAKE_INSTALL_DATADIR}/lomiri-url-dispatcher/urls")
+@@ -124,6 +124,6 @@ add_custom_target("autopilot" chmod +x ${CMAKE_SOURCE_DIR}/tests/autopilot/run
+ DEPENDS timezone timezone-qmldir alarmsettings alarmsettings-qmldir datetime datetime-qmldir geolocation geolocation-qmldir
+ WORKING_DIRECTORY ./app)
+
+-add_custom_target("run" /usr/bin/qmlscene -I ${CMAKE_BINARY_DIR}/backend ${CMAKE_SOURCE_DIR}/app/lomiri-clock-app.qml
++add_custom_target("run" /usr/bin/qmlscene-qt5 -I ${CMAKE_BINARY_DIR}/backend ${CMAKE_SOURCE_DIR}/app/lomiri-clock-app.qml
+ DEPENDS timezone timezone-qmldir alarmsettings alarmsettings-qmldir datetime datetime-qmldir geolocation geolocation-qmldir
+ WORKING_DIRECTORY ./app)
+--
+2.43.0
+
diff --git a/testing/lomiri-clock-app/APKBUILD b/testing/lomiri-clock-app/APKBUILD
new file mode 100644
index 00000000000..37a22bd119e
--- /dev/null
+++ b/testing/lomiri-clock-app/APKBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-clock-app
+pkgver=4.0.3
+pkgrel=0
+pkgdesc="Clock App for Lomiri Operating Environment"
+url="https://gitlab.com/ubports/development/apps/lomiri-clock-app"
+arch="all !armhf" # blocked by lomiri-ui-toolkit
+license="GPL-3.0-only"
+depends="
+ geonames
+ gsettings-qt
+ lomiri-libusermetrics
+ lomiri-ui-extras
+ lomiri-ui-toolkit
+ qt5-qtlocation
+ u1db-qt
+ "
+makedepends="
+ click-dev
+ cmake
+ cmake-extras
+ geonames-dev
+ gnome-desktop-dev
+ lomiri-trust-store-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative
+ qt5-qtdeclarative-dev
+ samurai
+ "
+checkdepends="
+ py3-dbusmock
+ py3-xdg
+ xvfb-run
+ "
+subpackages="$pkgname-lang"
+source="https://gitlab.com/ubports/development/apps/lomiri-clock-app/-/archive/v$pkgver/lomiri-clock-app-v$pkgver.tar.gz
+ 0001-point-qmlscene-to-qmlscene-qt5.patch
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # tests do not run
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCLICK_MODE=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+d906a34e789dbd486af5c4837ab076485737217910d95bbe1e9b0b8453356c5d08373cd700dd768f41b2440e7c9a57fb7ca699a4fa73f80cf03e66bec3bc0cc4 lomiri-clock-app-v4.0.3.tar.gz
+eccc0ef81f43d59271a613a74eb71c1fa809e5afed581188878dd608a485ee9b2baf7b2f34242cc650bbc35b2a63782d9fa053f1a01e23ce9c5e8a995619a06e 0001-point-qmlscene-to-qmlscene-qt5.patch
+"
diff --git a/testing/lomiri-content-hub/APKBUILD b/testing/lomiri-content-hub/APKBUILD
new file mode 100644
index 00000000000..90e3616bb3d
--- /dev/null
+++ b/testing/lomiri-content-hub/APKBUILD
@@ -0,0 +1,76 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
+pkgname=lomiri-content-hub
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="Content sharing/picking infrastructure and service, designed to allow apps to securely and efficiently exchange content"
+url="https://gitlab.com/ubports/development/core/content-hub"
+arch="all !armhf" # blocked by lomiri-ui-toolkit-dev
+license="GPL-3.0-only AND LGPL-3.0-only"
+depends_dev="
+ gsettings-qt-dev
+ libapparmor-dev
+ libnih-dev
+ libnotify-dev
+ lomiri-app-launch-dev
+ lomiri-download-manager-dev
+ lomiri-ui-toolkit-dev
+ qt5-qtdeclarative-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ doxygen
+ graphviz
+ gtest-dev
+ libapparmor
+ qt5-qttools-dev
+ samurai
+ "
+checkdepends="
+ dbus-test-runner
+ gmock
+ xvfb-run
+ "
+source="https://gitlab.com/ubports/development/core/content-hub/-/archive/$pkgver/content-hub-$pkgver.tar.gz
+ qdoc.patch
+ qmlplugindump.patch
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+builddir="$srcdir/content-hub-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DWerror=OFF
+ cmake --build build
+}
+
+check() {
+ # Some app_hub_communication_* tests require some custom dbus extension
+ # (GetConnectionAppArmorSecurityContext).
+ xvfb-run ctest --test-dir build --output-on-failure \
+ -E 'app_hub_communication_store_migration|app_hub_communication_transfer|app_hub_communication_handler'
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ # Remove files for testing only
+ # https://gitlab.com/ubports/development/core/content-hub/-/blob/main/debian/content-hub-testability.install
+ rm "$pkgdir"/usr/bin/content-hub-test*
+ rm "$pkgdir"/usr/share/content-hub/peers/content-hub-test*
+ rm "$pkgdir"/usr/share/applications/content-hub-test*
+ rm -r "$pkgdir"/usr/share/content-hub/testability/data
+ rm "$pkgdir"/usr/share/icons/hicolor/512x512/apps/content-hub-test*
+}
+
+sha512sums="
+b14dc28bf81adfd1eb5b52f38c744fdcc7e4a5aedc8f220dbdf01b1d78adb4de269db6a6f3bf5edf711cdd6f429e4d6b8c1e318f4b8bdc7e0fceb3597c019f40 content-hub-1.1.1.tar.gz
+32f307cbe1418842315080627240e9b2fe0ea26c96197da446d2a239a19c947a91fbf242a87d8ebb2b6d4f729e8ce2adc71b3592513d14479e39b45ce7d0085e qdoc.patch
+639a3b2ea44d436f0a5e61dae77a71e7650b8d5a0073e5f04d0af0ac3060675cf93c927f5cfddfabc09866a7b5ab36810a109597ae3cc43865e5b1680c5a9b28 qmlplugindump.patch
+"
diff --git a/testing/lomiri-content-hub/qdoc.patch b/testing/lomiri-content-hub/qdoc.patch
new file mode 100644
index 00000000000..c4110240418
--- /dev/null
+++ b/testing/lomiri-content-hub/qdoc.patch
@@ -0,0 +1,17 @@
+diff --git a/doc/qml/CMakeLists.txt b/doc/qml/CMakeLists.txt
+index 4e14324..6f2f537 100644
+--- a/doc/qml/CMakeLists.txt
++++ b/doc/qml/CMakeLists.txt
+@@ -1,10 +1,9 @@
+ # add a target to generate API documentation with qdoc
+ SET(QDOC_WORKS FALSE)
+-SET(ENV{QT_SELECT} qt5)
+-FIND_PROGRAM(QDOC_EXECUTABLE qdoc)
++FIND_PROGRAM(QDOC_EXECUTABLE qdoc-qt5)
+ if(QDOC_EXECUTABLE)
+ EXECUTE_PROCESS(COMMAND ${QDOC_EXECUTABLE} --version OUTPUT_VARIABLE QDOC_OUTPUT ERROR_QUIET)
+-string(REGEX REPLACE "qdoc ([0-9]+(\\.[0-9]+)+).*" "\\1" QDOC_VERSION ${QDOC_OUTPUT})
++string(REGEX REPLACE "qdoc-qt5 ([0-9]+(\\.[0-9]+)+).*" "\\1" QDOC_VERSION ${QDOC_OUTPUT})
+ if(QDOC_VERSION MATCHES "^5\\.")
+ set(QDOC_WORKS TRUE)
+ endif()
diff --git a/testing/lomiri-content-hub/qmlplugindump.patch b/testing/lomiri-content-hub/qmlplugindump.patch
new file mode 100644
index 00000000000..f4a31e18397
--- /dev/null
+++ b/testing/lomiri-content-hub/qmlplugindump.patch
@@ -0,0 +1,13 @@
+diff --git a/import/Lomiri/Content/CMakeLists.txt b/import/Lomiri/Content/CMakeLists.txt
+index d2382a3..055ea34 100644
+--- a/import/Lomiri/Content/CMakeLists.txt
++++ b/import/Lomiri/Content/CMakeLists.txt
+@@ -93,7 +93,7 @@ endif()
+
+ if(NOT CMAKE_CROSSCOMPILING)
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes
+- COMMAND qmlplugindump -qt=qt5 -noinstantiate -notrelocatable Lomiri.Content 1.1 ../../ > ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes
++ COMMAND qmlplugindump-qt5 -noinstantiate -notrelocatable Lomiri.Content 1.1 ../../ > ${CMAKE_CURRENT_BINARY_DIR}/plugins.qmltypes
+ DEPENDS ${PLUGIN}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ )
diff --git a/testing/lomiri-docviewer-app/0001-non-click-mode-install-icon-and-splash.patch b/testing/lomiri-docviewer-app/0001-non-click-mode-install-icon-and-splash.patch
new file mode 100644
index 00000000000..93f018517aa
--- /dev/null
+++ b/testing/lomiri-docviewer-app/0001-non-click-mode-install-icon-and-splash.patch
@@ -0,0 +1,85 @@
+From 09dfa87f3189c6b26d717a7cd470d7c79254f2f7 Mon Sep 17 00:00:00 2001
+From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Date: Mon, 26 Feb 2024 09:55:57 +0100
+Subject: [PATCH 1/3] CMakeLists.txt: Use SVG icon as desktop app icon.
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ebcb355..a085c40 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,7 +21,7 @@ set(LIBREOFFICE_INCLUDE_DIR "" CACHE PATH "Custom LibreOfficeKit include directo
+
+ set(APP_NAME lomiri-docviewer-app)
+ set(DESKTOP_FILE "${PROJECT_NAME}.desktop")
+-set(ICON_FILE docviewer-app.png)
++set(ICON_FILE docviewer-app.svg)
+ set(SPLASH_FILE docviewer-app-splash.svg)
+ set(AUTOPILOT_DIR lomiri_docviewer_app)
+
+--
+GitLab
+
+
+From 3797d91f205ca72166e413bf2272a09164dd5c72 Mon Sep 17 00:00:00 2001
+From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Date: Mon, 26 Feb 2024 09:56:06 +0100
+Subject: [PATCH 2/3] data/CMakeLists.txt: In non-click mode, fix installation
+ of desktop app icon into datadir.
+
+---
+ data/CMakeLists.txt | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 05b1f4e..ce552e1 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -11,9 +11,7 @@ else(CLICK_MODE)
+ set(DESKTOP_DIR ${CMAKE_INSTALL_DATADIR}/applications)
+ set(EXEC "${APP_NAME}")
+
+- install(DIRECTORY icons/hicolor DESTINATION ${CMAKE_INSTALL_DATADIR}/icons
+- FILES_MATCHING PATTERN *.png
+- )
++ install(FILES ${ICON_FILE} DESTINATION ${DATA_DIR})
+ endif(CLICK_MODE)
+
+ set(TRYEXEC "${APP_NAME}")
+--
+GitLab
+
+
+From 4d09277013f3ae12772a3888d90083c4c7ceff1c Mon Sep 17 00:00:00 2001
+From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Date: Mon, 26 Feb 2024 09:56:31 +0100
+Subject: [PATCH 3/3] data/CMakeLists.txt: Do install splash file in non-click
+ mode.
+
+---
+ data/CMakeLists.txt | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index ce552e1..da34181 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -8,10 +8,12 @@ if(CLICK_MODE)
+ install(FILES ${SPLASH_FILE} DESTINATION ${DATA_DIR})
+ else(CLICK_MODE)
+ set(ICON "${CMAKE_INSTALL_PREFIX}/${DATA_DIR}/${ICON_FILE}")
++ set(SPLASH "${CMAKE_INSTALL_PREFIX}/${DATA_DIR}/${SPLASH_FILE}")
+ set(DESKTOP_DIR ${CMAKE_INSTALL_DATADIR}/applications)
+ set(EXEC "${APP_NAME}")
+
+ install(FILES ${ICON_FILE} DESTINATION ${DATA_DIR})
++ install(FILES ${SPLASH_FILE} DESTINATION ${DATA_DIR})
+ endif(CLICK_MODE)
+
+ set(TRYEXEC "${APP_NAME}")
+--
+GitLab
+
diff --git a/testing/lomiri-docviewer-app/APKBUILD b/testing/lomiri-docviewer-app/APKBUILD
new file mode 100644
index 00000000000..f908a6bfa20
--- /dev/null
+++ b/testing/lomiri-docviewer-app/APKBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-docviewer-app
+pkgver=3.0.4
+pkgrel=0
+pkgdesc="A Document Viewer application capable of opening many common document file formats"
+url="https://gitlab.com/ubports/development/apps/lomiri-docviewer-app"
+# blocked by lomiri-ui-toolkit and libreofficekit
+arch="all !armhf !ppc64le !s390x !riscv64"
+license="GPL-3.0-only"
+source="https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/archive/v$pkgver/lomiri-docviewer-app-v$pkgver.tar.gz
+ 0001-non-click-mode-install-icon-and-splash.patch
+ "
+depends="
+ lomiri-content-hub
+ lomiri-thumbnailer
+ lomiri-trust-store
+ lomiri-ui-extras
+ lomiri-ui-toolkit
+ poppler-qt5
+ qqc2-suru-style
+ qt5-qtmultimedia
+ "
+makedepends="
+ click-dev
+ cmake
+ cmake-extras
+ libreofficekit
+ poppler-qt5-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samurai
+ "
+checkdepends="
+ py3-dbusmock
+ py3-xdg
+ xvfb-run
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # requires autopilot
+subpackages="$pkgname-lang $pkgname-doc"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCLICK_MODE=OFF \
+ -DINSTALL_TESTS=Off
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+b4ec929c432c28aaec3f011fd70a9e35708ff1e202a785624aa4bc4ffbb8664101362a1a9a4fa8d72529d4e455bd3c9b249659d266f6d2d2c69b353629fecb6f lomiri-docviewer-app-v3.0.4.tar.gz
+0f308ab1c1e6cc0cc6fc154936c9d103594249ab7c3fa1022f0d454c0c57b769f86b4fbff63950b47e43f28c43638fa9315772ee4cbe41aa7b75197cdf33f172 0001-non-click-mode-install-icon-and-splash.patch
+"
diff --git a/testing/lomiri-download-manager/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch b/testing/lomiri-download-manager/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
new file mode 100644
index 00000000000..02d85281faa
--- /dev/null
+++ b/testing/lomiri-download-manager/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
@@ -0,0 +1,218 @@
+From 58412c9afc9e6caa0fc1f848958ae1e4631dd1a2 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Wed, 31 Jan 2024 22:45:49 +0100
+Subject: [PATCH] Use CMAKE_INSTALL_FULL_* for installing
+
+While I don't think there should be a difference between the two
+variables for most cases, for SYSCONFDIR we might end up installing into
+/usr/etc/ if we don't use the FULL_SYSCONFDIR variable.
+---
+ CMakeLists.txt | 2 +-
+ docs/CMakeLists.txt | 2 +-
+ docs/man/CMakeLists.txt | 2 +-
+ docs/qml/CMakeLists.txt | 2 +-
+ po/CMakeLists.txt | 2 +-
+ src/common/priv/CMakeLists.txt | 2 +-
+ src/common/public/CMakeLists.txt | 8 ++++----
+ src/downloads/client/CMakeLists.txt | 6 +++---
+ src/downloads/common/CMakeLists.txt | 6 +++---
+ src/downloads/daemon/CMakeLists.txt | 8 ++++----
+ src/downloads/priv/CMakeLists.txt | 2 +-
+ src/extractor/CMakeLists.txt | 2 +-
+ src/uploads/common/CMakeLists.txt | 6 +++---
+ src/uploads/daemon/CMakeLists.txt | 8 ++++----
+ 14 files changed, 29 insertions(+), 29 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8c4750a2..c183b3d2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -34,7 +34,7 @@ IF(CMAKE_BUILD_TYPE MATCHES [cC][oO][vV][eE][rR][aA][gG][eE])
+ ENABLE_COVERAGE_REPORT(TARGETS ${DIALER_APP})
+ ENDIF(CMAKE_BUILD_TYPE MATCHES [cC][oO][vV][eE][rR][aA][gG][eE])
+
+-set(QT_INSTALL_QML "${CMAKE_INSTALL_LIBDIR}/qt5/qml")
++set(QT_INSTALL_QML "${CMAKE_INSTALL_FULL_LIBDIR}/qt5/qml")
+
+ set(LDM_VERSION_MAJOR 0)
+ set(LDM_VERSION_MINOR 1)
+diff --git a/docs/CMakeLists.txt b/docs/CMakeLists.txt
+index 059b8797..0658acaa 100644
+--- a/docs/CMakeLists.txt
++++ b/docs/CMakeLists.txt
+@@ -28,7 +28,7 @@ if(DOXYGEN_FOUND)
+ COMMENT "Generating API documentation with Doxygen" VERBATIM)
+ install(
+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html
+- DESTINATION ${CMAKE_INSTALL_DOCDIR}/cpp)
++ DESTINATION ${CMAKE_INSTALL_FULL_DOCDIR}/cpp)
+ add_dependencies(doc cppdoc)
+ endif(DOXYGEN_FOUND)
+
+diff --git a/docs/man/CMakeLists.txt b/docs/man/CMakeLists.txt
+index d51c7a65..1e17c01e 100644
+--- a/docs/man/CMakeLists.txt
++++ b/docs/man/CMakeLists.txt
+@@ -2,5 +2,5 @@ install(
+ FILES
+ lomiri-download-manager.1
+ lomiri-upload-manager.1
+- DESTINATION ${CMAKE_INSTALL_MANDIR}/man1/
++ DESTINATION ${CMAKE_INSTALL_FULL_MANDIR}/man1/
+ )
+diff --git a/docs/qml/CMakeLists.txt b/docs/qml/CMakeLists.txt
+index 8fd39d22..26579b02 100644
+--- a/docs/qml/CMakeLists.txt
++++ b/docs/qml/CMakeLists.txt
+@@ -31,7 +31,7 @@ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/css"
+
+ install(
+ DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/html/
+- DESTINATION ${CMAKE_INSTALL_DOCDIR}/qml/html
++ DESTINATION ${CMAKE_INSTALL_FULL_DOCDIR}/qml/html
+ )
+
+ add_dependencies(doc qmldoc)
+diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
+index f5c1f3ed..ae887c7c 100644
+--- a/po/CMakeLists.txt
++++ b/po/CMakeLists.txt
+@@ -21,7 +21,7 @@ add_custom_target(${POT_FILE}
+ foreach(PO_FILE ${PO_FILES})
+ get_filename_component(LANG ${PO_FILE} NAME_WE)
+ gettext_process_po_files(${LANG} ALL PO_FILES ${PO_FILE})
+- set(INSTALL_DIR ${CMAKE_INSTALL_LOCALEDIR}/${LANG}/LC_MESSAGES)
++ set(INSTALL_DIR ${CMAKE_INSTALL_FULL_LOCALEDIR}/${LANG}/LC_MESSAGES)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${LANG}.gmo
+ DESTINATION ${INSTALL_DIR}
+ RENAME ${DOMAIN}.mo)
+diff --git a/src/common/priv/CMakeLists.txt b/src/common/priv/CMakeLists.txt
+index e7723f3d..fe0596a4 100644
+--- a/src/common/priv/CMakeLists.txt
++++ b/src/common/priv/CMakeLists.txt
+@@ -83,4 +83,4 @@ target_link_libraries(${TARGET}
+ ldm-common
+ )
+
+-install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
++install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
+diff --git a/src/common/public/CMakeLists.txt b/src/common/public/CMakeLists.txt
+index 4b1e8660..95738aa7 100644
+--- a/src/common/public/CMakeLists.txt
++++ b/src/common/public/CMakeLists.txt
+@@ -57,7 +57,7 @@ target_link_libraries(${TARGET}
+
+ configure_file(${TARGET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc @ONLY)
+
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+-install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-install(FILES ${TRANSFERS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lomiri/transfers)
+-install(FILES ${ERRORS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lomiri/transfers/errors)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig)
++install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
++install(FILES ${TRANSFERS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/lomiri/transfers)
++install(FILES ${ERRORS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/lomiri/transfers/errors)
+diff --git a/src/downloads/client/CMakeLists.txt b/src/downloads/client/CMakeLists.txt
+index d622434c..79ae0d34 100644
+--- a/src/downloads/client/CMakeLists.txt
++++ b/src/downloads/client/CMakeLists.txt
+@@ -71,6 +71,6 @@ target_link_libraries(${TARGET}
+
+ configure_file(${TARGET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc @ONLY)
+
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+-install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lomiri/download_manager)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig)
++install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
++install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/lomiri/download_manager)
+diff --git a/src/downloads/common/CMakeLists.txt b/src/downloads/common/CMakeLists.txt
+index 23fa1482..448e773a 100644
+--- a/src/downloads/common/CMakeLists.txt
++++ b/src/downloads/common/CMakeLists.txt
+@@ -47,6 +47,6 @@ target_link_libraries(${TARGET}
+
+ configure_file(${TARGET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc @ONLY)
+
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+-install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lomiri/download_manager)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig)
++install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
++install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/lomiri/download_manager)
+diff --git a/src/downloads/daemon/CMakeLists.txt b/src/downloads/daemon/CMakeLists.txt
+index cdc9f83b..a0e94a74 100644
+--- a/src/downloads/daemon/CMakeLists.txt
++++ b/src/downloads/daemon/CMakeLists.txt
+@@ -43,9 +43,9 @@ if(USE_SYSTEMD)
+ endif()
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.service DESTINATION
+- ${CMAKE_INSTALL_DATADIR}/dbus-1/services)
++ ${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/services)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/com.lomiri.applications.Downloader.service DESTINATION
+- ${CMAKE_INSTALL_DATADIR}/dbus-1/system-services)
++ ${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/system-services)
+ install(FILES com.lomiri.applications.Downloader.conf DESTINATION
+- ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d)
+-install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_BINDIR})
++ ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d)
++install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
+diff --git a/src/downloads/priv/CMakeLists.txt b/src/downloads/priv/CMakeLists.txt
+index 9eaf3092..40b1093d 100644
+--- a/src/downloads/priv/CMakeLists.txt
++++ b/src/downloads/priv/CMakeLists.txt
+@@ -49,7 +49,7 @@ include_directories(${CMAKE_SOURCE_DIR}/src/common/public)
+ include_directories(${CMAKE_SOURCE_DIR}/src/common/priv)
+ include_directories(${CMAKE_SOURCE_DIR}/src/downloads/common)
+
+-add_definitions(-DHELPER_DIR="${CMAKE_INSTALL_LIBEXECDIR}/lomiri-download-manager")
++add_definitions(-DHELPER_DIR="${CMAKE_INSTALL_FULL_LIBEXECDIR}/lomiri-download-manager")
+
+ add_library(${TARGET} STATIC
+ ${HEADERS}
+diff --git a/src/extractor/CMakeLists.txt b/src/extractor/CMakeLists.txt
+index 8c40b9b5..9efc64ed 100644
+--- a/src/extractor/CMakeLists.txt
++++ b/src/extractor/CMakeLists.txt
+@@ -29,4 +29,4 @@ target_link_libraries(${TARGET}
+ ldm-priv-common
+ )
+
+-install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/lomiri-download-manager)
++install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_FULL_LIBEXECDIR}/lomiri-download-manager)
+diff --git a/src/uploads/common/CMakeLists.txt b/src/uploads/common/CMakeLists.txt
+index 0729445f..aa444553 100644
+--- a/src/uploads/common/CMakeLists.txt
++++ b/src/uploads/common/CMakeLists.txt
+@@ -41,6 +41,6 @@ target_link_libraries(${TARGET}
+
+ configure_file(${TARGET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc @ONLY)
+
+-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
+-install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
+-install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/lomiri/upload_manager)
++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig)
++install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR})
++install(FILES ${PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_FULL_INCLUDEDIR}/lomiri/upload_manager)
+diff --git a/src/uploads/daemon/CMakeLists.txt b/src/uploads/daemon/CMakeLists.txt
+index 157c6fd6..9731899d 100644
+--- a/src/uploads/daemon/CMakeLists.txt
++++ b/src/uploads/daemon/CMakeLists.txt
+@@ -43,9 +43,9 @@ if(USE_SYSTEMD)
+ endif()
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.service DESTINATION
+- ${CMAKE_INSTALL_DATADIR}/dbus-1/services)
++ ${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/services)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/com.lomiri.applications.Uploader.service DESTINATION
+- ${CMAKE_INSTALL_DATADIR}/dbus-1/system-services)
++ ${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/system-services)
+ install(FILES com.lomiri.applications.Uploader.conf DESTINATION
+- ${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d)
+-install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_BINDIR})
++ ${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d)
++install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_FULL_BINDIR})
+--
+2.43.0
+
diff --git a/testing/lomiri-download-manager/0001-docs-use-qdoc-qt5-directly-instead-of-qtswitcher.patch b/testing/lomiri-download-manager/0001-docs-use-qdoc-qt5-directly-instead-of-qtswitcher.patch
new file mode 100644
index 00000000000..a5e51db1ece
--- /dev/null
+++ b/testing/lomiri-download-manager/0001-docs-use-qdoc-qt5-directly-instead-of-qtswitcher.patch
@@ -0,0 +1,29 @@
+From ea2ef8fe05fa0ff60bd11ff6db0d98b7cbb78299 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Wed, 7 Jun 2023 12:03:31 +0200
+Subject: [PATCH] docs: use qdoc-qt5 directly instead of qtswitcher
+
+---
+ docs/qml/CMakeLists.txt | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/docs/qml/CMakeLists.txt b/docs/qml/CMakeLists.txt
+index 8fd39d22..0f6c29a6 100644
+--- a/docs/qml/CMakeLists.txt
++++ b/docs/qml/CMakeLists.txt
+@@ -1,10 +1,9 @@
+ # add a target to generate API documentation with qdoc 5.x
+ SET(QDOC_WORKS FALSE)
+-SET(ENV{QT_SELECT} qt5)
+-FIND_PROGRAM(QDOC_EXECUTABLE qdoc)
++FIND_PROGRAM(QDOC_EXECUTABLE qdoc-qt5)
+ if(QDOC_EXECUTABLE)
+ EXECUTE_PROCESS(COMMAND ${QDOC_EXECUTABLE} --version OUTPUT_VARIABLE QDOC_OUTPUT ERROR_QUIET)
+-string(REGEX REPLACE "qdoc ([0-9]+(\\.[0-9]+)+).*" "\\1" QDOC_VERSION ${QDOC_OUTPUT})
++string(REGEX REPLACE "qdoc-qt5 ([0-9]+(\\.[0-9]+)+).*" "\\1" QDOC_VERSION ${QDOC_OUTPUT})
+ if(QDOC_VERSION MATCHES "^5\\.")
+ set(QDOC_WORKS TRUE)
+ endif()
+--
+2.43.0
+
diff --git a/testing/lomiri-download-manager/APKBUILD b/testing/lomiri-download-manager/APKBUILD
new file mode 100644
index 00000000000..9d84a0b05f1
--- /dev/null
+++ b/testing/lomiri-download-manager/APKBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
+pkgname=lomiri-download-manager
+pkgver=0.1.3
+pkgrel=0
+pkgdesc="Provides a service for downloading files while an application is suspended"
+arch="all"
+url="https://gitlab.com/ubports/development/core/lomiri-download-manager"
+license="LGPL-3.0-only"
+depends_dev="
+ boost-dev
+ glog-dev
+ gtest-dev
+ lomiri-api-dev
+ qt5-qtdeclarative-dev
+ qt5-qttools-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ doxygen
+ gmock
+ graphviz
+ samurai
+ "
+checkdepends="dbus-test-runner xvfb-run"
+source="https://gitlab.com/ubports/development/core/lomiri-download-manager/-/archive/$pkgver/lomiri-download-manager-$pkgver.tar.gz
+ 0001-docs-use-qdoc-qt5-directly-instead-of-qtswitcher.patch
+ 0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DUSE_SYSTEMD=OFF \
+ -DENABLE_WERROR=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+693dbaa85dc227a2c1ed26acc4bf662c888f45df544868906c9d405c62e32215a4825e03ba548ce3aa38f7c9a0c9c7c8e58198c4384c54aec343dfa47b7ab99c lomiri-download-manager-0.1.3.tar.gz
+6b387c39a3073d9f7c3c90724db192490f435c1fef72489188908ee13e512b56234f8b0ac45469fd5f4cb1a961338f85a1534440c99ba992bc461547df7f024d 0001-docs-use-qdoc-qt5-directly-instead-of-qtswitcher.patch
+ad8e60484201053b93585a3f818409ba8c235d57590454084f0d3c3dcb2e62297fc277a2662f5dd1a19c0682fb3200089d752e01cd585ef7d4a6a7fcc52b9fd8 0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
+"
diff --git a/testing/lomiri-filemanager-app/0001-include-paths.h.patch b/testing/lomiri-filemanager-app/0001-include-paths.h.patch
new file mode 100644
index 00000000000..549f89826af
--- /dev/null
+++ b/testing/lomiri-filemanager-app/0001-include-paths.h.patch
@@ -0,0 +1,25 @@
+From 0bb6c9dd19989dcc54d0a2c93bb67b5db9abff0f Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 31 Dec 2023 13:37:18 -0500
+Subject: [PATCH] include paths.h
+
+---
+ src/plugin/placesmodel/qmtabparser.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/plugin/placesmodel/qmtabparser.cpp b/src/plugin/placesmodel/qmtabparser.cpp
+index 0ce1e73b..45549b42 100644
+--- a/src/plugin/placesmodel/qmtabparser.cpp
++++ b/src/plugin/placesmodel/qmtabparser.cpp
+@@ -24,6 +24,8 @@
+ #include <QFileInfo>
+ #include <QStringList>
+
++#include <paths.h>
++
+ class MtabFileGuard
+ {
+ FILE *mtabFile;
+--
+2.43.0
+
diff --git a/testing/lomiri-filemanager-app/0002-link-libintl.patch b/testing/lomiri-filemanager-app/0002-link-libintl.patch
new file mode 100644
index 00000000000..76fdd921d70
--- /dev/null
+++ b/testing/lomiri-filemanager-app/0002-link-libintl.patch
@@ -0,0 +1,25 @@
+From fef0cf28275e471e069f570e460746b89bb6d7a6 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 31 Dec 2023 13:40:37 -0500
+Subject: [PATCH] link libintl
+
+---
+ src/app/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
+index dc22cc94..fb978121 100644
+--- a/src/app/CMakeLists.txt
++++ b/src/app/CMakeLists.txt
+@@ -12,7 +12,7 @@ set(filemanager_SRCS
+ add_executable(lomiri-filemanager-app ${filemanager_SRCS})
+
+ qt5_use_modules(lomiri-filemanager-app Gui Qml Quick)
+-target_link_libraries(lomiri-filemanager-app stdc++)
++target_link_libraries(lomiri-filemanager-app stdc++ -lintl)
+
+ if(NOT "${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
+ add_custom_target(lomiri-filemanager-app-qmlfiles ALL
+--
+2.43.0
+
diff --git a/testing/lomiri-filemanager-app/APKBUILD b/testing/lomiri-filemanager-app/APKBUILD
new file mode 100644
index 00000000000..30bfd2e8adb
--- /dev/null
+++ b/testing/lomiri-filemanager-app/APKBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-filemanager-app
+pkgver=1.0.4
+pkgrel=0
+pkgdesc="A convergent file manager supporting both mobile devices and desktops"
+url="https://gitlab.com/ubports/development/apps/lomiri-filemanager-app"
+arch="all !armhf" # blocked by lomiri-ui-toolkit
+license="GPL-3.0-only"
+source="https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/archive/v$pkgver/lomiri-filemanager-app-v$pkgver.tar.gz
+ 0001-include-paths.h.patch
+ 0002-link-libintl.patch
+ "
+depends="
+ lomiri-content-hub
+ lomiri-thumbnailer
+ lomiri-ui-extras
+ lomiri-ui-toolkit
+ qqc2-suru-style
+ samba
+ suru-icon-theme
+ "
+makedepends="
+ click-dev
+ cmake
+ cmake-extras
+ libsmbclient
+ lomiri-trust-store-dev
+ musl-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samba-dev
+ samurai
+ "
+checkdepends="
+ py3-dbusmock
+ py3-xdg
+ xvfb-run
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # requires autopilot
+subpackages="$pkgname-lang"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCLICK_MODE=OFF \
+ -DINSTALL_TESTS=OFF
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+a22b3d952779569d0cf9f23a86b876b1024301d5a40ff8b30e4076bc60868e50a09447e7c2212902f58e18a0e67b6fab508244050a8f8560beffe6d2e2d53263 lomiri-filemanager-app-v1.0.4.tar.gz
+b3abc5dfb4b7d6ed9923b3819bebb42316d9d7fb383d60ae36c6d523c6b49d0b8aeec20bc13fe45887cfa5254fb51ad366b86891d0611dcabe15e44faedbe8bd 0001-include-paths.h.patch
+8a129769115f4c4381c771ad38b8a02071ba11fa686d4337e707272c0fb62536973784980df0df42052b051e6d532697e3b592bd48e033ade5467f9a3f624107 0002-link-libintl.patch
+"
diff --git a/testing/lomiri-gallery-app/0001-update-for-newer-Exiv2-version.patch b/testing/lomiri-gallery-app/0001-update-for-newer-Exiv2-version.patch
new file mode 100644
index 00000000000..5cfbe030a57
--- /dev/null
+++ b/testing/lomiri-gallery-app/0001-update-for-newer-Exiv2-version.patch
@@ -0,0 +1,66 @@
+From ab358e7a51375945c1f6119a08ce5ccc03bce34a Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 31 Dec 2023 14:07:54 -0500
+Subject: [PATCH] update for newer Exiv2 version
+
+---
+ src/photo/photo-metadata.cpp | 8 ++++----
+ src/photo/photo-metadata.h | 2 +-
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/photo/photo-metadata.cpp b/src/photo/photo-metadata.cpp
+index ac4a0b05..f9a08ae8 100644
+--- a/src/photo/photo-metadata.cpp
++++ b/src/photo/photo-metadata.cpp
+@@ -134,7 +134,7 @@ PhotoMetadata* PhotoMetadata::fromFile(const char* filepath)
+ result->m_keysPresent.insert(QString(i->key().c_str()));
+
+ return result;
+- } catch (Exiv2::AnyError& e) {
++ } catch (Exiv2::Error& e) {
+ qDebug("Error loading image metadata: %s", e.what());
+ delete result;
+ return NULL;
+@@ -165,7 +165,7 @@ Orientation PhotoMetadata::orientation() const
+ if (m_keysPresent.find(EXIF_ORIENTATION_KEY) == m_keysPresent.end())
+ return DEFAULT_ORIENTATION;
+
+- long orientation_code = exif_data[EXIF_ORIENTATION_KEY].toLong();
++ long orientation_code = exif_data[EXIF_ORIENTATION_KEY].toUint32();
+ if (orientation_code < MIN_ORIENTATION || orientation_code > MAX_ORIENTATION)
+ return DEFAULT_ORIENTATION;
+
+@@ -244,7 +244,7 @@ void PhotoMetadata::setDateTimeDigitized(const QDateTime& digitized)
+ if (!m_keysPresent.contains(EXIF_DATETIMEDIGITIZED_KEY))
+ m_keysPresent.insert(EXIF_DATETIMEDIGITIZED_KEY);
+
+- } catch (Exiv2::AnyError& e) {
++ } catch (Exiv2::Error& e) {
+ qDebug("Do not set DateTimeDigitized, error reading image metadata; %s", e.what());
+ return;
+ }
+@@ -259,7 +259,7 @@ bool PhotoMetadata::save() const
+ try {
+ m_image->writeMetadata();
+ return true;
+- } catch (Exiv2::AnyError& e) {
++ } catch (Exiv2::Error& e) {
+ return false;
+ }
+ }
+diff --git a/src/photo/photo-metadata.h b/src/photo/photo-metadata.h
+index a2687b8d..97f27acd 100644
+--- a/src/photo/photo-metadata.h
++++ b/src/photo/photo-metadata.h
+@@ -59,7 +59,7 @@ public:
+ private:
+ PhotoMetadata(const char* filepath);
+
+- Exiv2::Image::AutoPtr m_image;
++ Exiv2::Image::UniquePtr m_image;
+ QSet<QString> m_keysPresent;
+ QFileInfo m_fileSourceInfo;
+ };
+--
+2.43.0
+
diff --git a/testing/lomiri-gallery-app/0002-disable-werror.patch b/testing/lomiri-gallery-app/0002-disable-werror.patch
new file mode 100644
index 00000000000..cf06062a41a
--- /dev/null
+++ b/testing/lomiri-gallery-app/0002-disable-werror.patch
@@ -0,0 +1,25 @@
+From 07e6f48526d8acd7a8a8bb0d8fb399cfb87dc7eb Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 31 Dec 2023 14:19:21 -0500
+Subject: [PATCH] disable werror
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 76eff6aa..c3073013 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -42,7 +42,7 @@ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(EXIV2 REQUIRED exiv2)
+ pkg_check_modules(MEDIAINFO REQUIRED libmediainfo)
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -Werror")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall")
+ set(CMAKE_EXE_LINKER_FLAGS "-s")
+
+ # Activate C++11 on Cmake >= 3.1
+--
+2.43.0
+
diff --git a/testing/lomiri-gallery-app/APKBUILD b/testing/lomiri-gallery-app/APKBUILD
new file mode 100644
index 00000000000..d9ad50a3036
--- /dev/null
+++ b/testing/lomiri-gallery-app/APKBUILD
@@ -0,0 +1,63 @@
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-gallery-app
+pkgver=3.0.2
+pkgrel=0
+pkgdesc="Photo gallery for the Ubuntu Touch platform"
+url="https://gitlab.com/ubports/development/apps/lomiri-gallery-app"
+arch="all !armhf" # blocked by lomiri-ui-toolkit
+license="GPL-3.0-only"
+source="https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/archive/v$pkgver/lomiri-gallery-app-v$pkgver.tar.gz
+ 0001-update-for-newer-Exiv2-version.patch
+ 0002-disable-werror.patch"
+depends="
+ exiv2
+ libmediainfo
+ lomiri-thumbnailer
+ lomiri-trust-store
+ lomiri-ui-extras
+ lomiri-ui-toolkit
+ qqc2-suru-style
+ qt5-qtmultimedia
+ "
+makedepends="
+ click-dev
+ cmake
+ cmake-extras
+ exiv2-dev
+ libmediainfo-dev
+ lomiri-trust-store-dev
+ mesa-gles
+ qt5-qtbase-dev
+ qt5-qtbase-sqlite
+ qt5-qtdeclarative-dev
+ samurai
+ "
+checkdepends="
+ py3-dbusmock
+ py3-xdg
+ xvfb-run
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # requires autopilot
+subpackages="$pkgname-lang"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=OFF \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCLICK_MODE=OFF \
+ -DINSTALL_TESTS=OFF
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+408ab6883e82f9862e9eaa578652f48121707421bcd9672a7bcdc4412cb740a1f6077326badaadb79807de538dd5c31084706c9014fe3994c0725dfad7adb381 lomiri-gallery-app-v3.0.2.tar.gz
+e5e0eecd9b6926ff2a8359ebd3a59b5189e939cd830d0378f7a2271401f51c320061df6700a3d7ff5f2b0de274db02e6c02a2b0974498255351e3be3e186e7d1 0001-update-for-newer-Exiv2-version.patch
+01e020651ba57625476138cac716714843aceb2896bb49a3510a8adabed4579fc6c33871df5afb3a449a736c6d54b52cd23fa33aec8ca9110b1bbe908bf20461 0002-disable-werror.patch
+"
diff --git a/testing/lomiri-history-service/0001-CMakeLists.txt-Add-ENABLE_WERROR-CMake-option-defaul.patch b/testing/lomiri-history-service/0001-CMakeLists.txt-Add-ENABLE_WERROR-CMake-option-defaul.patch
new file mode 100644
index 00000000000..6ca2fe29b43
--- /dev/null
+++ b/testing/lomiri-history-service/0001-CMakeLists.txt-Add-ENABLE_WERROR-CMake-option-defaul.patch
@@ -0,0 +1,38 @@
+From af704299654bc2c1816454da23e7da5fb5f74318 Mon Sep 17 00:00:00 2001
+From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Date: Fri, 13 Jan 2023 10:55:22 +0100
+Subject: [PATCH 1/4] CMakeLists.txt: Add ENABLE_WERROR CMake option,
+ defaulting to ON.
+
+Signed-off-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+---
+ CMakeLists.txt | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e61fea5..7e9e9ca 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -79,12 +79,17 @@ enable_testing()
+
+ add_definitions(-std=c++11)
+
+-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -Werror")
++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall")
+ # TODO remove the need for -Wno-unused-variable
+ # unused-variable currently fails because of public headers includes static char's
+ # there is also a gcc bug that makes it not possable to rely on diagnostic pragmas
+ # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69967
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -Wno-unused-variable")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unused-variable")
++
++option(ENABLE_WERROR "Treat all build warnings as errors" ON)
++if(ENABLE_WERROR)
++ add_compile_options(-Werror)
++endif()
+
+ # Define the version to be used in the library
+ set(HISTORY_VERSION_MAJOR 0)
+--
+2.42.1
+
diff --git a/testing/lomiri-history-service/0002-upgrade-to-C-17.patch b/testing/lomiri-history-service/0002-upgrade-to-C-17.patch
new file mode 100644
index 00000000000..ba836c6e077
--- /dev/null
+++ b/testing/lomiri-history-service/0002-upgrade-to-C-17.patch
@@ -0,0 +1,25 @@
+From 47323491d7054c28f24e34e7baa644b2f1a19833 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 15 Oct 2023 20:57:38 -0400
+Subject: [PATCH 2/4] upgrade to C++17
+
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7e9e9ca..b4d1a8a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -77,7 +77,7 @@ endfunction()
+
+ enable_testing()
+
+-add_definitions(-std=c++11)
++add_definitions(-std=c++17)
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall")
+ # TODO remove the need for -Wno-unused-variable
+--
+2.42.1
+
diff --git a/testing/lomiri-history-service/0003-remove-systemd-dependency.patch b/testing/lomiri-history-service/0003-remove-systemd-dependency.patch
new file mode 100644
index 00000000000..42a1438c4dd
--- /dev/null
+++ b/testing/lomiri-history-service/0003-remove-systemd-dependency.patch
@@ -0,0 +1,24 @@
+From 5af65080d792d88131bf76bb642518e99279b9da Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 15 Oct 2023 16:52:02 -0400
+Subject: [PATCH 3/4] remove systemd dependency
+
+---
+ CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b4d1a8a..3c28459 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -47,7 +47,6 @@ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(TP_QT5 REQUIRED TelepathyQt5)
+ pkg_check_modules(SQLITE3 REQUIRED sqlite3)
+ pkg_check_modules(QTGLIB QtGLib-2.0)
+-pkg_check_modules(SYSTEMD REQUIRED systemd)
+
+ find_program(DBUS_RUNNER dbus-test-runner)
+
+--
+2.42.1
+
diff --git a/testing/lomiri-history-service/0004-remove-daemon-directory.patch b/testing/lomiri-history-service/0004-remove-daemon-directory.patch
new file mode 100644
index 00000000000..bf019dd458c
--- /dev/null
+++ b/testing/lomiri-history-service/0004-remove-daemon-directory.patch
@@ -0,0 +1,26 @@
+From 55637288bad139d24c4401eb71c994835defee48 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 15 Oct 2023 17:49:13 -0400
+Subject: [PATCH 4/4] remove daemon directory
+
+Temporary patch to allow compiling. Will be fixed when work on ofono begins.
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3c28459..45a0635 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -97,7 +97,7 @@ set(HISTORY_VERSION_PATCH 0)
+ set(PACKAGE_VERSION ${HISTORY_VERSION_MAJOR}.${HISTORY_VERSION_MINOR}.${HISTORY_VERSION_PATCH})
+
+ add_subdirectory(src)
+-add_subdirectory(daemon)
++# add_subdirectory(daemon)
+ add_subdirectory(plugins)
+ add_subdirectory(tools)
+ add_subdirectory(Lomiri)
+--
+2.42.1
+
diff --git a/testing/lomiri-history-service/APKBUILD b/testing/lomiri-history-service/APKBUILD
new file mode 100644
index 00000000000..bc4d7102f25
--- /dev/null
+++ b/testing/lomiri-history-service/APKBUILD
@@ -0,0 +1,65 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-history-service
+pkgver=0.4
+pkgrel=0
+pkgdesc="Service that provides call log and conversation history"
+url="https://gitlab.com/ubports/development/core/history-service"
+arch="all"
+license="GPL-3.0-only"
+depends="
+ libphonenumber-dev
+ qt5-qtbase-dev
+ qt5-qtbase-sqlite
+ qt5-qtdeclarative-dev
+ qt5-qtpim-dev
+ sqlite-dev
+ telepathy-mission-control
+ telepathy-qt-dev
+ "
+makedepends="
+ cmake
+ cmake-extras
+ dconf
+ libqtdbustest
+ samurai
+ "
+checkdepends="
+ dbus-test-runner
+ xvfb-run
+ "
+subpackages="$pkgname-dev"
+source="https://gitlab.com/ubports/development/core/history-service/-/archive/$pkgver/history-service-$pkgver.tar.gz
+ 0001-CMakeLists.txt-Add-ENABLE_WERROR-CMake-option-defaul.patch
+ 0002-upgrade-to-C-17.patch
+ 0003-remove-systemd-dependency.patch
+ 0004-remove-daemon-directory.patch
+ "
+builddir="$srcdir/history-service-$pkgver"
+options="!check" # several tests timing out
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
+ -DENABLE_WERROR=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+73188367eb492375b1613ad10f45efd37b23cc0017955a12a89c375716268bb8bf1ba5ef024fae9798646312d3125d551549ffe44ad6c6e34fde60ba6d20fb42 history-service-0.4.tar.gz
+00d0ff183864c08307cd8161f99b2b7a51df745e29cc6c920536f5c9fe712526805943c799e8e52e373af933698a70a79e1a0e9abb5fda95c3bd3f8ea765d7c3 0001-CMakeLists.txt-Add-ENABLE_WERROR-CMake-option-defaul.patch
+ca24316555e14ac9a3f8f7420040b2803470efd312053020007009ae0273acbcf823c2c5cf0d6b88f2bbcd8430c248537e53e13a9c5855ccba17eac197cd9c4e 0002-upgrade-to-C-17.patch
+328f346cbdea5d36a432e20076dbb0a765fbe5a45b96425756e7871e66fe204d415a3e38c48a71473c7c55b7947062637ff9098df77e36873b8057b6d76dcb2a 0003-remove-systemd-dependency.patch
+5537768ff3ceda6fd4715adba63e8d34f97d2850e8137ca6efbb0614995c7c5b0ea83faef7b3b34e4b9e1c61910df47f113a1558088d510f0448f08cf28c7d7d 0004-remove-daemon-directory.patch
+"
diff --git a/testing/lomiri-indicator-location/0001-manually-disable-tests.patch b/testing/lomiri-indicator-location/0001-manually-disable-tests.patch
new file mode 100644
index 00000000000..7dd3470675a
--- /dev/null
+++ b/testing/lomiri-indicator-location/0001-manually-disable-tests.patch
@@ -0,0 +1,43 @@
+From 6432f05d57236a3279f92d51082e7eb1db3a6953 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Tue, 26 Dec 2023 20:45:54 -0500
+Subject: [PATCH] manually disable tests
+
+Fixes:
+Cannot find source file:
+
+/usr/src/gtest/src/gtest-all.cc
+
+---
+ CMakeLists.txt | 15 ---------------
+ 1 file changed, 15 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7a08d6f..c5d2fbe 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -48,21 +48,6 @@ include_directories (SYSTEM ${SERVICE_DEPS_INCLUDE_DIRS})
+ set (CMAKE_INCLUDE_CURRENT_DIR ON)
+ set (CC_WARNING_ARGS " -Wall -Wextra -Wno-missing-field-initializers")
+
+-# testing & coverage
+-if (${enable_tests})
+- set (GTEST_SOURCE_DIR /usr/src/gtest/src)
+- set (GTEST_INCLUDE_DIR ${GTEST_SOURCE_DIR}/..)
+- set (GTEST_LIBS -lpthread)
+- enable_testing ()
+- if (${enable_lcov})
+- include(GCov)
+- endif ()
+-endif ()
+-
+ add_subdirectory (src)
+ add_subdirectory (data)
+ add_subdirectory (po)
+-
+-if (${enable_tests})
+- add_subdirectory (tests)
+-endif ()
+--
+2.43.0
+
diff --git a/testing/lomiri-indicator-location/APKBUILD b/testing/lomiri-indicator-location/APKBUILD
new file mode 100644
index 00000000000..85315ec8bce
--- /dev/null
+++ b/testing/lomiri-indicator-location/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-indicator-location
+pkgver=0_git20231227
+pkgrel=0
+_commit=f0525a93eb7b3f7da824459deb2244846d967ab5
+pkgdesc="Indicator controlling access to physical location data"
+url="https://gitlab.com/ubports/development/core/indicator-location"
+arch="all !armhf" # blocked by qt5-qtdeclarative
+license="GPL-3.0-only"
+source="https://gitlab.com/ubports/development/core/indicator-location/-/archive/$_commit/indicator-location-$_commit.tar.gz
+ 0001-manually-disable-tests.patch
+ "
+makedepends="
+ cmake-extras
+ glib-dev
+ gmenuharness-dev
+ gmock
+ gtest-dev
+ intltool
+ libqtdbusmock
+ libqtdbustest
+ lomiri-api-dev
+ lomiri-app-launch-dev
+ lomiri-url-dispatcher-dev
+ qt5-qtdeclarative-dev
+ qt5-qttools
+ samurai
+ "
+checkdepends="py3-dbusmock"
+builddir="$srcdir/indicator-location-$_commit"
+options="!check" # requires Ubuntu gtest
+subpackages="$pkgname-lang"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+743ff6fc676f68d58b5f2e864072a3469638839cd50c7a6aa0f950934f19f0b03ff1918a32c49a20fec586effbada0f393f5f69a288aeaafc9294938e952764d indicator-location-f0525a93eb7b3f7da824459deb2244846d967ab5.tar.gz
+02a51e168fb3f857905ffc4d47c20f8b3e740177f19d5277f16df54dcc8a7b0fb969724d91379e6ca9e570c8a0bca0d353dac72c2d6a3a38c222052a68a17b85 0001-manually-disable-tests.patch
+"
diff --git a/testing/lomiri-indicator-network/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch b/testing/lomiri-indicator-network/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
new file mode 100644
index 00000000000..78ce65dd977
--- /dev/null
+++ b/testing/lomiri-indicator-network/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
@@ -0,0 +1,117 @@
+From 2e65084c0bdcb88f670ce8ca2609802036809566 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Wed, 31 Jan 2024 22:48:22 +0100
+Subject: [PATCH] Use CMAKE_INSTALL_FULL_* for installing
+
+While I don't think there should be a difference between the two
+variables for most cases, for SYSCONFDIR we might end up installing into
+/usr/etc/ if we don't use the FULL_SYSCONFDIR variable.
+---
+ data/CMakeLists.txt | 4 ++--
+ doc/CMakeLists.txt | 2 +-
+ po/CMakeLists.txt | 2 +-
+ src/agent/CMakeLists.txt | 2 +-
+ src/connectivity-api/connectivity-qt/CMakeLists.txt | 4 ++--
+ src/indicator/CMakeLists.txt | 2 +-
+ src/indicator/agent/CMakeLists.txt | 2 +-
+ 7 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 34ce2bce..27f31641 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -5,7 +5,7 @@
+
+ set(
+ INDICATOR_DIR
+- "${CMAKE_INSTALL_DATADIR}/unity/indicators"
++ "${CMAKE_INSTALL_FULL_DATADIR}/unity/indicators"
+ CACHE FILEPATH "Indicator directory"
+ )
+
+@@ -73,7 +73,7 @@ add_schema ("com.lomiri.indicator.network.gschema.xml")
+ ###########################
+
+ # where to install
+-set (XDG_AUTOSTART_DIR "${CMAKE_INSTALL_SYSCONFDIR}/xdg/autostart")
++set (XDG_AUTOSTART_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/xdg/autostart")
+ message (STATUS "${XDG_AUTOSTART_DIR} is the DBus Service File install dir")
+
+ set (XDG_AUTOSTART_NAME "${CMAKE_PROJECT_NAME}.desktop")
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 54b5c4e9..54eb05b2 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-set(INSTALL_DOCDIR ${CMAKE_INSTALL_DOCDIR})
++set(INSTALL_DOCDIR ${CMAKE_INSTALL_FULL_DOCDIR})
+
+ option(BUILD_DOC "Build documentation by default" TRUE)
+ option(PRIVATE_DOCS "Build private documentation" FALSE)
+diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt
+index dfb7d213..9decad7c 100644
+--- a/po/CMakeLists.txt
++++ b/po/CMakeLists.txt
+@@ -36,5 +36,5 @@ foreach(LANG ${LANGS})
+ COPYONLY)
+ endforeach(LANG)
+ gettext_process_pot_file(${POT_FILE} ALL
+- INSTALL_DESTINATION ${CMAKE_INSTALL_LOCALEDIR}
++ INSTALL_DESTINATION ${CMAKE_INSTALL_FULL_LOCALEDIR}
+ LANGUAGES ${LANGS})
+diff --git a/src/agent/CMakeLists.txt b/src/agent/CMakeLists.txt
+index e71aac5c..24653240 100644
+--- a/src/agent/CMakeLists.txt
++++ b/src/agent/CMakeLists.txt
+@@ -57,5 +57,5 @@ target_link_libraries(
+ install(
+ TARGETS
+ lomiri-indicator-network-secret-agent
+- RUNTIME DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/lomiri-indicator-network/"
++ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/lomiri-indicator-network/"
+ )
+diff --git a/src/connectivity-api/connectivity-qt/CMakeLists.txt b/src/connectivity-api/connectivity-qt/CMakeLists.txt
+index 663f644b..ba37ae26 100644
+--- a/src/connectivity-api/connectivity-qt/CMakeLists.txt
++++ b/src/connectivity-api/connectivity-qt/CMakeLists.txt
+@@ -123,7 +123,7 @@ set_target_properties(
+
+ install(
+ TARGETS ${CONNECTIVITY_QT_LIB_TARGET}
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
+ )
+
+ set(PC_FILE_TARGET "${CMAKE_BINARY_DIR}/${CONNECTIVITY_QT_LIB_TARGET}.pc")
+@@ -133,5 +133,5 @@ set(ABSOLUTE_SO_FILE "${CMAKE_INSTALL_FULL_LIBDIR}/lib${CONNECTIVITY_QT_LIB_TARG
+ configure_file("lomiri-connectivity-qt.pc.in" ${PC_FILE_TARGET} @ONLY)
+ install(
+ FILES ${PC_FILE_TARGET}
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
++ DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig"
+ )
+diff --git a/src/indicator/CMakeLists.txt b/src/indicator/CMakeLists.txt
+index ff3e0bfe..a0e3744a 100644
+--- a/src/indicator/CMakeLists.txt
++++ b/src/indicator/CMakeLists.txt
+@@ -174,5 +174,5 @@ target_link_libraries(
+ install(
+ TARGETS
+ lomiri-indicator-network-service
+- RUNTIME DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/lomiri-indicator-network/"
++ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}/lomiri-indicator-network/"
+ )
+diff --git a/src/indicator/agent/CMakeLists.txt b/src/indicator/agent/CMakeLists.txt
+index 9b47bc77..38e394d8 100644
+--- a/src/indicator/agent/CMakeLists.txt
++++ b/src/indicator/agent/CMakeLists.txt
+@@ -73,5 +73,5 @@ target_link_libraries(
+
+ install(
+ TARGETS indicator-secret-agent-bin
+- RUNTIME DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}"
++ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_LIBEXECDIR}"
+ )
+--
+2.43.0
+
diff --git a/testing/lomiri-indicator-network/APKBUILD b/testing/lomiri-indicator-network/APKBUILD
new file mode 100644
index 00000000000..366a800f39e
--- /dev/null
+++ b/testing/lomiri-indicator-network/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-indicator-network
+pkgver=1.0.2
+pkgrel=0
+pkgdesc="The 'Network' indicator for Ubuntu Touch"
+# armhf blocked by qt5-qtdeclarative
+arch="all !armhf"
+url="https://gitlab.com/ubports/development/core/lomiri-indicator-network"
+license="GPL-3.0-only"
+depends_dev="
+ glib-dev
+ gmenuharness-dev
+ gtest-dev
+ libqofono-dev
+ libsecret-dev
+ lomiri-api-dev
+ lomiri-url-dispatcher-dev
+ networkmanager-dev
+ ofono-dev
+ qt5-qtdeclarative-dev
+ "
+makedepends="
+ $depends_dev
+ cmake-extras
+ gmock
+ intltool
+ libqtdbusmock
+ libqtdbustest
+ qt5-qttools
+ samurai
+ "
+checkdepends="py3-dbusmock"
+source="https://gitlab.com/ubports/development/core/lomiri-indicator-network/-/archive/$pkgver/lomiri-indicator-network-$pkgver.tar.gz
+ 0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+options="!check" # some tests hang
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DUSE_SYSTEMD=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+bdb722678fc0ef1c3ff133c3beaeb7419bdc5a5c255888b1e82cf938f438ff6a758b0904d7780e2fe045e4ecd8e31ad10e7bf526f85d49093125d5e907dc945e lomiri-indicator-network-1.0.2.tar.gz
+89c26a655f62a82a74dab87ee5757335723c99e1da93c0797975c14a362edb45573a64fc6e335cd561f53ab2a3b3954bd58c1550b489f6b7418588fdafd33bee 0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
+"
diff --git a/testing/lomiri-libusermetrics/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch b/testing/lomiri-libusermetrics/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
new file mode 100644
index 00000000000..44f9a57e89c
--- /dev/null
+++ b/testing/lomiri-libusermetrics/0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
@@ -0,0 +1,135 @@
+From e87aa75b004aef1ce74c6b92290c4c4ed047e8e4 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Wed, 31 Jan 2024 22:49:40 +0100
+Subject: [PATCH] Use CMAKE_INSTALL_FULL_* for installing
+
+While I don't think there should be a difference between the two
+variables for most cases, for SYSCONFDIR we might end up installing into
+/usr/etc/ if we don't use the FULL_SYSCONFDIR variable.
+---
+ data/CMakeLists.txt | 8 ++++----
+ doc/CMakeLists.txt | 2 +-
+ src/libusermetricsinput/CMakeLists.txt | 10 +++++-----
+ src/libusermetricsoutput/CMakeLists.txt | 6 +++---
+ 4 files changed, 13 insertions(+), 13 deletions(-)
+
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 87db31b..71d812c 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -10,7 +10,7 @@ install(
+ DIRECTORY
+ libusermetrics
+ DESTINATION
+- ${CMAKE_INSTALL_DATADIR}
++ ${CMAKE_INSTALL_FULL_DATADIR}
+ )
+
+ ###########################
+@@ -19,7 +19,7 @@ install(
+
+ set(
+ DBUSCONFDIR
+- "${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/system.d"
++ "${CMAKE_INSTALL_FULL_SYSCONFDIR}/dbus-1/system.d"
+ )
+
+ install(
+@@ -34,7 +34,7 @@ install(
+
+ set(
+ DBUSIFACEDIR
+- "${CMAKE_INSTALL_DATADIR}/dbus-1/interfaces/"
++ "${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/interfaces/"
+ )
+
+ install(
+@@ -52,7 +52,7 @@ install(
+
+ set(
+ DBUSSERVICEDIR
+- "${CMAKE_INSTALL_DATADIR}/dbus-1/system-services/"
++ "${CMAKE_INSTALL_FULL_DATADIR}/dbus-1/system-services/"
+ )
+
+ set(USERMETRICS_SERVICE
+diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
+index 46941d9..1e4ec27 100644
+--- a/doc/CMakeLists.txt
++++ b/doc/CMakeLists.txt
+@@ -19,7 +19,7 @@ add_doxygen(
+ *::internal*
+ *::Priv
+ INSTALL
+- ${CMAKE_INSTALL_DATAROOTDIR}/doc/libusermetrics-doc
++ ${CMAKE_INSTALL_FULL_DATAROOTDIR}/doc/libusermetrics-doc
+ XML
+ ALL
+ )
+diff --git a/src/libusermetricsinput/CMakeLists.txt b/src/libusermetricsinput/CMakeLists.txt
+index 9554117..206ff4a 100644
+--- a/src/libusermetricsinput/CMakeLists.txt
++++ b/src/libusermetricsinput/CMakeLists.txt
+@@ -84,8 +84,8 @@ set_target_properties(
+
+ install(
+ TARGETS usermetricsinput
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libusermetrics-${API_VERSION}/libusermetricsinput"
++ LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/libusermetrics-${API_VERSION}/libusermetricsinput"
+ )
+
+ # Package config
+@@ -95,7 +95,7 @@ configure_file("libusermetricsinput.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/${LIBUSE
+
+ install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/${LIBUSERMETRICSINPUT_PC}"
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
++ DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig"
+ )
+
+ ##########################
+@@ -115,7 +115,7 @@ set_target_properties(
+
+ install(
+ TARGETS usermetricsinput-bin
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}
+ )
+
+ target_link_libraries(
+@@ -135,7 +135,7 @@ add_executable(
+
+ install(
+ TARGETS usermetricsinput-increment
+- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ RUNTIME DESTINATION ${CMAKE_INSTALL_FULL_BINDIR}
+ )
+
+ target_link_libraries(
+diff --git a/src/libusermetricsoutput/CMakeLists.txt b/src/libusermetricsoutput/CMakeLists.txt
+index 9cdd56f..775cfa5 100644
+--- a/src/libusermetricsoutput/CMakeLists.txt
++++ b/src/libusermetricsoutput/CMakeLists.txt
+@@ -76,8 +76,8 @@ set_target_properties(
+
+ install(
+ TARGETS usermetricsoutput
+- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+- PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libusermetrics-${API_VERSION}/libusermetricsoutput"
++ LIBRARY DESTINATION ${CMAKE_INSTALL_FULL_LIBDIR}
++ PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/libusermetrics-${API_VERSION}/libusermetricsoutput"
+ )
+
+ # Package config
+@@ -87,5 +87,5 @@ configure_file("libusermetricsoutput.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/${LIBUS
+
+ install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/${LIBUSERMETRICSOUTPUT_PC}"
+- DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
++ DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig"
+ )
+--
+2.43.0
+
diff --git a/testing/lomiri-libusermetrics/APKBUILD b/testing/lomiri-libusermetrics/APKBUILD
new file mode 100644
index 00000000000..8f42fa463b8
--- /dev/null
+++ b/testing/lomiri-libusermetrics/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-libusermetrics
+pkgver=1.3.2
+pkgrel=0
+pkgdesc='Library for exporting anonymous metrics about users'
+arch="all !armhf" # blocked by qt5-qtxmlpatterns-dev
+url="https://gitlab.com/ubports/development/core/libusermetrics"
+license="GPL-3.0-only AND LGPL-3.0-only AND LGPL-2.1-only"
+depends_dev="
+ click-dev
+ gsettings-qt-dev
+ libapparmor-dev
+ qdjango-dev
+ qt5-qtxmlpatterns-dev
+ "
+makedepends="
+ $depends_dev
+ cmake-extras
+ doxygen
+ gmock
+ gtest-dev
+ intltool
+ libapparmor
+ libqtdbustest
+ qt5-qtbase-dev
+ samurai
+ "
+checkdepends="dbus"
+source="https://gitlab.com/ubports/development/core/libusermetrics/-/archive/$pkgver/libusermetrics-$pkgver.tar.gz
+ 0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+builddir="$srcdir/libusermetrics-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+6e790903e386f32585646c04867b49200acde335b69b16049c11a0a5db1402dee0bbabf16c89cd967efd0eca8e9bd3af93ba01f40b1d5bf0a90534d7f21a570e libusermetrics-1.3.2.tar.gz
+eb65d7bfcf5ffc0b71dc16fd847e999bea0976a04919afb61cdd1ec789015699693912aeef862576ede7734274b103bd0c0aab554967d99d8fc7470dd3bbf361 0001-Use-CMAKE_INSTALL_FULL_-for-installing.patch
+"
diff --git a/testing/lomiri-location-service/APKBUILD b/testing/lomiri-location-service/APKBUILD
new file mode 100644
index 00000000000..af45a93b18b
--- /dev/null
+++ b/testing/lomiri-location-service/APKBUILD
@@ -0,0 +1,62 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-location-service
+pkgver=3.1.0
+pkgrel=0
+pkgdesc="Location service aggregating position/velocity/heading updates and exporting them over dbus"
+arch="all"
+url="https://gitlab.com/ubports/development/core/location-service"
+license="GPL-3.0-only AND LGPL-3.0-only"
+depends_dev="
+ boost-dev
+ dbus-cpp-dev
+ dbus-dev
+ gflags-dev
+ glog-dev
+ gpsd-dev
+ json-c-dev
+ libapparmor-dev
+ lomiri-trust-store-dev
+ net-cpp-dev
+ process-cpp-dev
+ properties-cpp-dev
+ qt5-qtbase-dev
+ qt5-qtlocation-dev
+ "
+makedepends="$depends_dev
+ cmake-extras
+ gettext
+ gmock
+ gtest-dev
+ samurai
+ "
+checkdepends="coreutils"
+source="https://gitlab.com/ubports/development/core/location-service/-/archive/$pkgver/location-service-$pkgver.tar.gz
+ cstdint.patch
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
+builddir="$srcdir/location-service-$pkgver"
+# tests try to write to /var/lib/lomiri-location-service/config.ini
+options="!check"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DLOCATION_SERVICE_ENABLE_GPS_PROVIDER=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+cb336690469c97780348de86ba6881228160f3f7ef5c548cd7238fcaeca5f35b1fbd2fb5897d20a805e922b63e2592c159d93747ecfdd7ef94b40c4d5b708838 location-service-3.1.0.tar.gz
+a593923e4a997977bdab1b7e72bfefbe401c5cb12c15d137e67c7e3527d3b0cd2be10a376140f081a5922d347bb5bce4c88140f33e53f1580bfdaad2a9f36f46 cstdint.patch
+"
diff --git a/testing/lomiri-location-service/cstdint.patch b/testing/lomiri-location-service/cstdint.patch
new file mode 100644
index 00000000000..bd0c01e4ec8
--- /dev/null
+++ b/testing/lomiri-location-service/cstdint.patch
@@ -0,0 +1,24 @@
+diff --git a/src/location_service/com/lomiri/location/satellite_based_positioning_state.cpp b/src/location_service/com/lomiri/location/satellite_based_positioning_state.cpp
+index 022b595..ceadd6a 100644
+--- a/src/location_service/com/lomiri/location/satellite_based_positioning_state.cpp
++++ b/src/location_service/com/lomiri/location/satellite_based_positioning_state.cpp
+@@ -20,6 +20,7 @@
+
+ #include <iostream>
+ #include <unordered_map>
++#include <cstdint>
+
+ namespace location = com::lomiri::location;
+
+diff --git a/src/location_service/com/lomiri/location/wifi_and_cell_reporting_state.cpp b/src/location_service/com/lomiri/location/wifi_and_cell_reporting_state.cpp
+index 4ef18a2..f22b0f6 100644
+--- a/src/location_service/com/lomiri/location/wifi_and_cell_reporting_state.cpp
++++ b/src/location_service/com/lomiri/location/wifi_and_cell_reporting_state.cpp
+@@ -20,6 +20,7 @@
+
+ #include <iostream>
+ #include <unordered_map>
++#include <cstdint>
+
+ namespace location = com::lomiri::location;
+
diff --git a/testing/lomiri-notifications/APKBUILD b/testing/lomiri-notifications/APKBUILD
new file mode 100644
index 00000000000..e65270c2514
--- /dev/null
+++ b/testing/lomiri-notifications/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-notifications
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="An implementation of the Free Desktop Notification server for Lomiri"
+url="https://gitlab.com/ubports/development/core/lomiri-notifications"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ cmake
+ libqtdbustest
+ lomiri-api-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qtquickcontrols2-dev
+ samurai
+ "
+source="https://gitlab.com/ubports/development/core/lomiri-notifications/-/archive/$pkgver/lomiri-notifications-$pkgver.tar.gz"
+options="!check" # tests fail
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+5e60238ee5c926324cd9749e425e3da62ff27634e31c4db22e328dd4e9508e15ff1cba28aade48982f9d9d884fcb6720f0bb32e8c89e8ede35db1dcd8e433f14 lomiri-notifications-1.3.0.tar.gz
+"
diff --git a/testing/lomiri-schemas/0001-data-schemas-com.lomiri.Shell.gschema.xml.in-Add-log.patch b/testing/lomiri-schemas/0001-data-schemas-com.lomiri.Shell.gschema.xml.in-Add-log.patch
new file mode 100644
index 00000000000..551d0b8b833
--- /dev/null
+++ b/testing/lomiri-schemas/0001-data-schemas-com.lomiri.Shell.gschema.xml.in-Add-log.patch
@@ -0,0 +1,31 @@
+From 533ef3e23f65fb87042a21fde421b6a3a653032b Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Fri, 22 Mar 2024 19:00:35 -0400
+Subject: [PATCH] data/schemas/com.lomiri.Shell.gschema.xml.in: Add
+ logo-picture-uri
+
+---
+ data/schemas/com.lomiri.Shell.gschema.xml.in | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/data/schemas/com.lomiri.Shell.gschema.xml.in b/data/schemas/com.lomiri.Shell.gschema.xml.in
+index 692de37..5ef6947 100644
+--- a/data/schemas/com.lomiri.Shell.gschema.xml.in
++++ b/data/schemas/com.lomiri.Shell.gschema.xml.in
+@@ -272,6 +272,13 @@
+ <summary>The position of launcher.</summary>
+ <description>The position of launcher.</description>
+ </key>
++ <key name="logo-picture-uri" type="s">
++ <default>'file:///usr/share/lomiri/Launcher/graphics/home.svg'</default>
++ <summary>Logo URI to be displayed on the launcher</summary>
++ <description>
++ URI to use for the launcher's logo. Only .svg files are supported.
++ </description>
++ </key>
+ </schema>
+ <schema path="/com/lomiri/shell/devices/" id="com.lomiri.Shell.Devices" gettext-domain="lomiri">
+ <key type="as" name="blacklist">
+--
+2.44.0
+
diff --git a/testing/lomiri-schemas/APKBUILD b/testing/lomiri-schemas/APKBUILD
new file mode 100644
index 00000000000..a2c47dacf88
--- /dev/null
+++ b/testing/lomiri-schemas/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-schemas
+pkgver=0.1.4
+pkgrel=1
+pkgdesc="GSettings / AccountsService schema files for Lomiri"
+arch="noarch"
+url="https://gitlab.com/ubports/development/core/lomiri-schemas"
+license="LGPL-2.1-or-later"
+makedepends="
+ cmake
+ cmake-extras
+ glib-dev
+ intltool
+ "
+source="https://gitlab.com/ubports/development/core/lomiri-schemas/-/archive/$pkgver/lomiri-schemas-$pkgver.tar.gz
+ 0001-data-schemas-com.lomiri.Shell.gschema.xml.in-Add-log.patch
+ "
+options="!check" # No tests
+
+build() {
+ # Doesn't build with Ninja backend:
+ # ninja: multiple rules generate 'data/schemas/com.lomiri.Shell.gschema.xml'
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+a77f3591c0e5e58683ecd94964b232db69d6eaf97623ca554c03f33c7711c1638372f9274608d77838c6228a46c8379953766124c4b85ca49987a3a6a77b0fa0 lomiri-schemas-0.1.4.tar.gz
+ff1397970b31179a1c9538bf3d929f06d9667024df202ad50d2727cd91e0979e273d9ec77bff4a109c6e942ecc74dde60704843c19dd84a5fabf4aeb91abf239 0001-data-schemas-com.lomiri.Shell.gschema.xml.in-Add-log.patch
+"
diff --git a/testing/lomiri-settings-components/APKBUILD b/testing/lomiri-settings-components/APKBUILD
new file mode 100644
index 00000000000..a4d4df26e29
--- /dev/null
+++ b/testing/lomiri-settings-components/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
+pkgname=lomiri-settings-components
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="Lomiri settings Components"
+arch="all"
+url="https://gitlab.com/ubports/development/core/lomiri-settings-components"
+license="GPL-3.0-only AND LGPL-3.0-only"
+makedepends="
+ cmake
+ cmake-extras
+ qt5-qtdeclarative-dev
+ samurai
+ "
+source="https://gitlab.com/ubports/development/core/lomiri-settings-components/-/archive/$pkgver/lomiri-settings-components-$pkgver.tar
+ qmltestrunner.patch
+ "
+subpackages="$pkgname-lang"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+21e170a558f4d34d5e06918d0b63ae95eb6791b2fdbfe5438dfbdf61c87abcbbd37149dd3f35158a775608db0257f503b3fe0f8ee78dd924c96cd36fa51d2b1b lomiri-settings-components-1.1.1.tar
+0cbe24ba24468ccfae80b6d6b49c68b55e44561ac7914645746af15ee252c12341f2b401390cffbed520963d1cb7da6980f99520ee820528de964b8a714b87b4 qmltestrunner.patch
+"
diff --git a/testing/lomiri-settings-components/qmltestrunner.patch b/testing/lomiri-settings-components/qmltestrunner.patch
new file mode 100644
index 00000000000..d98bb704de7
--- /dev/null
+++ b/testing/lomiri-settings-components/qmltestrunner.patch
@@ -0,0 +1,29 @@
+diff --git a/cmake/modules/QmlTest.cmake b/cmake/modules/QmlTest.cmake
+index 42d5c49..3ccd6ac 100644
+--- a/cmake/modules/QmlTest.cmake
++++ b/cmake/modules/QmlTest.cmake
+@@ -65,9 +65,9 @@ endfunction()
+ # This function wraps add_executable_test, see below for available arguments.
+
+ function(add_qml_unittest PATH COMPONENT_NAME)
+- import_executables(qmltestrunner)
++ import_executables(qmltestrunner-qt5)
+
+- add_executable_test(${COMPONENT_NAME} qmltestrunner
++ add_executable_test(${COMPONENT_NAME} qmltestrunner-qt5
+ ${ARGN}
+ ARGS -input ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
+ )
+@@ -84,10 +84,10 @@ endfunction()
+ # This function wraps add_manual_test, see below for available arguments.
+
+ function(add_manual_qml_test PATH COMPONENT_NAME)
+- import_executables(qmlscene)
++ import_executables(qmlscene-qt5)
+ cmake_parse_arguments(QMLTEST "${QMLTEST_OPTIONS}" "${QMLTEST_SINGLE}" "${QMLTEST_MULTI}" ${ARGN})
+
+- add_manual_test(${COMPONENT_NAME} qmlscene
++ add_manual_test(${COMPONENT_NAME} qmlscene-qt5
+ ${ARGN}
+ ARGS ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
+ )
diff --git a/testing/lomiri-sounds/APKBUILD b/testing/lomiri-sounds/APKBUILD
new file mode 100644
index 00000000000..700e495ca79
--- /dev/null
+++ b/testing/lomiri-sounds/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-sounds
+pkgver=22.02
+pkgrel=0
+pkgdesc="Ringtones and notification tones recommended for the Lomiri stack"
+url="https://gitlab.com/ubports/development/apps/lomiri-sounds"
+arch="noarch"
+license="CC0-1.0 AND CC-BY-3.0 AND CC-BY-SA-3.0 AND CC-BY-4.0"
+source="https://gitlab.com/ubports/development/core/lomiri-sounds/-/archive/$pkgver/lomiri-sounds-$pkgver.tar.gz"
+makedepends="
+ cmake
+ samurai
+ "
+options="!check" # no tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+759e0ce2d38b4463533cb4d6869cabdb90d7b9fcb05b833929eb1318f8ab5e7ae93078da3a25015d6874ab6bb79d3048004d9502ca6e0d5a0a49833fc2c1982f lomiri-sounds-22.02.tar.gz
+"
diff --git a/testing/lomiri-system-settings/0001-Migrate-to-upstream-maliit-keyboard.patch b/testing/lomiri-system-settings/0001-Migrate-to-upstream-maliit-keyboard.patch
new file mode 100644
index 00000000000..616110d2cca
--- /dev/null
+++ b/testing/lomiri-system-settings/0001-Migrate-to-upstream-maliit-keyboard.patch
@@ -0,0 +1,81 @@
+From c4873925dbe4eaa5ba9f8fc6884abbbb31fc7a22 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sat, 14 Oct 2023 02:35:10 -0400
+Subject: [PATCH 1/2] Migrate to upstream maliit keyboard
+
+---
+ plugins/language/PageComponent.qml | 2 +-
+ plugins/language/SpellChecking.qml | 2 +-
+ plugins/language/ThemeValues.qml | 2 +-
+ plugins/language/onscreenkeyboard-plugin.cpp | 2 +-
+ plugins/sound/PageComponent.qml | 2 +-
+ 5 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/plugins/language/PageComponent.qml b/plugins/language/PageComponent.qml
+index 02c0369e..30cdcfda 100644
+--- a/plugins/language/PageComponent.qml
++++ b/plugins/language/PageComponent.qml
+@@ -106,7 +106,7 @@ ItemPage {
+ GSettings {
+ id: settings
+
+- schema.id: "com.lomiri.keyboard.maliit"
++ schema.id: "org.maliit.keyboard.maliit"
+ }
+
+ GSettings {
+diff --git a/plugins/language/SpellChecking.qml b/plugins/language/SpellChecking.qml
+index 0c184516..dc6f6980 100644
+--- a/plugins/language/SpellChecking.qml
++++ b/plugins/language/SpellChecking.qml
+@@ -36,7 +36,7 @@ ItemPage {
+ GSettings {
+ id: settings
+
+- schema.id: "com.lomiri.keyboard.maliit"
++ schema.id: "org.maliit.keyboard.maliit"
+ }
+
+ ListItem.Standard {
+diff --git a/plugins/language/ThemeValues.qml b/plugins/language/ThemeValues.qml
+index d7da214d..e8867cf8 100644
+--- a/plugins/language/ThemeValues.qml
++++ b/plugins/language/ThemeValues.qml
+@@ -35,7 +35,7 @@ ItemPage {
+ GSettings {
+ id: settings
+
+- schema.id: "com.lomiri.keyboard.maliit"
++ schema.id: "org.maliit.keyboard.maliit"
+
+ onChanged: {
+ var curIndex = themeModel.findIndex(function(data){return data.value === value})
+diff --git a/plugins/language/onscreenkeyboard-plugin.cpp b/plugins/language/onscreenkeyboard-plugin.cpp
+index 9d96b1e4..a98b7010 100644
+--- a/plugins/language/onscreenkeyboard-plugin.cpp
++++ b/plugins/language/onscreenkeyboard-plugin.cpp
+@@ -24,7 +24,7 @@
+ #include "onscreenkeyboard-plugin.h"
+ #include "qstringliteral.h"
+
+-#define LOMIRI_KEYBOARD_SCHEMA_ID "com.lomiri.keyboard.maliit"
++#define LOMIRI_KEYBOARD_SCHEMA_ID "org.maliit.keyboard.maliit"
+
+ #define KEY_ENABLED_LAYOUTS "enabled-languages"
+ #define KEY_CURRENT_LAYOUT "active-language"
+diff --git a/plugins/sound/PageComponent.qml b/plugins/sound/PageComponent.qml
+index 50e16bb1..ea15cbeb 100644
+--- a/plugins/sound/PageComponent.qml
++++ b/plugins/sound/PageComponent.qml
+@@ -44,7 +44,7 @@ ItemPage {
+ GSettings {
+ id: keyboardSettings
+
+- schema.id: "com.lomiri.keyboard.maliit"
++ schema.id: "org.maliit.keyboard.maliit"
+ }
+
+ GSettings {
+--
+2.44.0
+
diff --git a/testing/lomiri-system-settings/0002-Use-qmltestrunner-qt5.patch b/testing/lomiri-system-settings/0002-Use-qmltestrunner-qt5.patch
new file mode 100644
index 00000000000..cb82ba15877
--- /dev/null
+++ b/testing/lomiri-system-settings/0002-Use-qmltestrunner-qt5.patch
@@ -0,0 +1,25 @@
+From 32df5272bd8c58d5e0fa8a249f10011d046d4a87 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Mon, 18 May 2020 21:37:40 +0200
+Subject: [PATCH 2/2] Use qmltestrunner-qt5
+
+---
+ cmake/QmlTest.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cmake/QmlTest.cmake b/cmake/QmlTest.cmake
+index 253b1206..dbdf6668 100644
+--- a/cmake/QmlTest.cmake
++++ b/cmake/QmlTest.cmake
+@@ -19,7 +19,7 @@
+ # qmltest_DEFAULT_IMPORT_PATHS
+ # qmltest_DEFAULT_PROPERTIES
+
+-find_program(qmltestrunner_exe qmltestrunner)
++find_program(qmltestrunner_exe qmltestrunner-qt5)
+ find_program(qmlscene_exe qmlscene)
+ find_program(gcc_exe gcc)
+
+--
+2.44.0
+
diff --git a/testing/lomiri-system-settings/APKBUILD b/testing/lomiri-system-settings/APKBUILD
new file mode 100644
index 00000000000..056ebab068d
--- /dev/null
+++ b/testing/lomiri-system-settings/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-system-settings
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="System Settings application for Lomiri"
+url="https://gitlab.com/ubports/development/core/lomiri-system-settings"
+# armhf: blocked by lomiri-ui-toolkit
+# s390x, riscv64, ppc64le: blocked by ayatana-indicator-datetime
+arch="all !armhf !s390x !riscv64 !ppc64le"
+license="GPL-3.0-only"
+depends="
+ accountsservice
+ ayatana-indicator-bluetooth
+ ayatana-indicator-datetime
+ ayatana-indicator-power
+ lomiri-content-hub
+ lomiri-indicator-network
+ lomiri-settings-components
+ lomiri-ui-toolkit
+ qt5-qtmultimedia
+ "
+makedepends="
+ accountsservice-dev
+ click-dev
+ cmake
+ cmake-extras
+ geonames-dev
+ gnome-desktop-dev
+ gsettings-qt-dev
+ icu-dev
+ intltool
+ libqtdbusmock
+ networkmanager-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative
+ qt5-qtdeclarative-dev
+ samurai
+ upower-dev
+ "
+checkdepends="
+ mesa-dri-gallium
+ py3-dbusmock
+ py3-xdg
+ xvfb-run
+ "
+subpackages="$pkgname-lang"
+source="https://gitlab.com/ubports/development/core/lomiri-system-settings/-/archive/$pkgver/lomiri-system-settings-$pkgver.tar.gz
+ 0001-Migrate-to-upstream-maliit-keyboard.patch
+ 0002-Use-qmltestrunner-qt5.patch
+ "
+options="!check" # fails tst-bluetooth-device
+# Somehow on armv7 the tests try to use zink from mesa which doesn't work
+case "$CARCH" in
+ armv7) options="!check" ;;
+esac
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+ebdedf53d0ac7a68d5742d751ad14181b47928aa8083d9fe8198e8700e04763f42536f725fc77d06fbc8356a5f0ccbc737adc620535287fc45a9ef99b8303396 lomiri-system-settings-1.1.0.tar.gz
+ff645e7d129e09cf2545ac8298244dd03cd6764362350e4d564c9d806202123ff666428a54eda6bb37e6b88d5dcee944a771a726c8261299c4b9b93920fafdb9 0001-Migrate-to-upstream-maliit-keyboard.patch
+169dda7b2fab1e6e7b791579aa15eb79b08442463a71a786d7b3506c3ae8ad14a9000d3ca8b67b6d4facf81066fe210c62b6e130143f4f04de604ea233307412 0002-Use-qmltestrunner-qt5.patch
+"
diff --git a/testing/lomiri-telephony-service/APKBUILD b/testing/lomiri-telephony-service/APKBUILD
new file mode 100644
index 00000000000..127911771bf
--- /dev/null
+++ b/testing/lomiri-telephony-service/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-telephony-service
+pkgver=0.5.3
+pkgrel=0
+pkgdesc="Backend dispatcher service for various mobile phone related operations"
+url="https://gitlab.com/ubports/development/core/telephony-service"
+# armhf: blocked by lomiri-libusermetrics
+# s390x/riscv64: blocked by ayatana-indicator-messages
+arch="all !armhf !s390x !riscv64"
+license="GPL-3.0-only"
+depends="
+ dconf
+ telepathy-mission-control
+ "
+makedepends="
+ ayatana-indicator-messages-dev
+ cmake
+ libnotify-dev
+ libphonenumber-dev
+ libqtdbustest
+ lomiri-api-dev
+ lomiri-history-service-dev
+ lomiri-libusermetrics-dev
+ lomiri-url-dispatcher-dev
+ pulseaudio-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qtfeedback-dev
+ qt5-qtmultimedia-dev
+ qt5-qtpim-dev
+ telepathy-qt-dev
+ samurai
+ "
+checkdepends="dbus-test-runner xvfb-run"
+source="https://gitlab.com/ubports/development/core/telephony-service/-/archive/$pkgver/telephony-service-$pkgver.tar.gz"
+subpackages="$pkgname-lang"
+builddir="$srcdir/telephony-service-$pkgver"
+options="!check" # Various tests hang
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
+ -DSKIP_QML_TESTS=ON
+ cmake --build build
+}
+
+check() {
+ xvfb-run ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+f0632c9008378568c3b4fa8b93216afc9e004d9313865487c1c06866c9bfddb4e96071411721c2785960a33631dd3ade7b2491333ad2c17c8e40626e1e5c5b2a telephony-service-0.5.3.tar.gz
+"
diff --git a/testing/lomiri-terminal-app/APKBUILD b/testing/lomiri-terminal-app/APKBUILD
new file mode 100644
index 00000000000..12302f26396
--- /dev/null
+++ b/testing/lomiri-terminal-app/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-terminal-app
+pkgver=2.0.2
+pkgrel=0
+pkgdesc="A terminal app for desktop and mobile devices"
+url="https://gitlab.com/ubports/development/apps/lomiri-terminal-app"
+# armhf: blocked by lomiri-ui-toolkit
+arch="all !armhf"
+license="GPL-3.0-only"
+depends="
+ gsettings-qt
+ lomiri-ui-extras
+ lomiri-ui-toolkit
+ qmltermwidget
+ "
+makedepends="
+ click-dev
+ cmake
+ cmake-extras
+ gnome-desktop-dev
+ lomiri-trust-store-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samurai
+ "
+checkdepends="
+ py3-dbusmock
+ py3-xdg
+ xvfb-run
+ "
+source="https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/archive/v$pkgver/lomiri-terminal-app-v$pkgver.tar.gz"
+subpackages="$pkgname-doc $pkgname-lang"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # no tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCLICK_MODE=OFF \
+ -DINSTALL_TESTS=OFF
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+86ef104e5ee98fbaec876b2ca2c8f013f0e6228ecd80afc68c111522ef1536757bfabe52cffc22b9e12f5d38dbe195835dfe728fb62363f9c2c15c1d28c37be2 lomiri-terminal-app-v2.0.2.tar.gz
+"
diff --git a/testing/lomiri-thumbnailer/APKBUILD b/testing/lomiri-thumbnailer/APKBUILD
new file mode 100644
index 00000000000..1f5cadf7dff
--- /dev/null
+++ b/testing/lomiri-thumbnailer/APKBUILD
@@ -0,0 +1,74 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-thumbnailer
+pkgver=3.0.3
+pkgrel=0
+pkgdesc="D-Bus service for out of process thumbnailing"
+url="https://gitlab.com/ubports/development/core/lomiri-thumbnailer"
+arch="all"
+license="GPL-3.0-only"
+depends="
+ dconf
+ "
+depends_dev="
+ boost-dev
+ gdk-pixbuf-dev
+ gst-plugins-base-dev
+ gstreamer-dev
+ gtest-dev
+ leveldb-dev
+ libapparmor-dev
+ libexif-dev
+ librsvg-dev
+ lomiri-api-dev
+ persistent-cache-cpp-dev
+ qt5-qtdeclarative-dev
+ qt5-qtquickcontrols2-dev
+ taglib-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ doxygen
+ gmock
+ libqtdbustest
+ samurai
+ "
+checkdepends="
+ xvfb-run
+ "
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://gitlab.com/ubports/development/core/lomiri-thumbnailer/-/archive/$pkgver/lomiri-thumbnailer-$pkgver.tar.gz
+ fix-googletest.patch
+ disable-qml-and-dbus-tests.patch
+ manually-disable-tests.patch
+ "
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ # uncompressed man pages
+ rm "$pkgdir"/usr/share/man/man1/lomiri-thumbnailer-admin.1
+ rm "$pkgdir"/usr/share/man/man1/thumbnailer-service.1
+ rm "$pkgdir"/usr/share/man/man5/thumbnailer-settings.5
+}
+
+sha512sums="
+4f64cfaf79273edcd9cf1a27b23b2d55fdc06d61a0e80f4be095b9034c269a28535ece5f558dd1b42bae4465da1444b5eb1716c2c94a34533fefc8aaae5a15f7 lomiri-thumbnailer-3.0.3.tar.gz
+51f9aea7dd5ebc66012df4efcaf6f84bdfdb43ac3c0168e662ad6d8f5029aa806aea876ecb9b6c78376feff80d6937ff1de868ca20301814dd99a93c8baf5978 fix-googletest.patch
+27181c3acd8ddd17f4b85c331c98143e45e440d7411dfa1fa6252be9013b2804291f9d194579163925a97fc9fdb2a52fc572aec6bb8230d2fd49cd8f29730d02 disable-qml-and-dbus-tests.patch
+664007046cec229fb9ace9428a512064aa4e4993a451a8aa2c597d3e1088ddd7569fd8a6811148fabd1ec9dd9fb3e3e8ba2dfb7a0d497b40cfa42653e7ff14d9 manually-disable-tests.patch
+"
diff --git a/testing/lomiri-thumbnailer/disable-qml-and-dbus-tests.patch b/testing/lomiri-thumbnailer/disable-qml-and-dbus-tests.patch
new file mode 100644
index 00000000000..10efa5a7611
--- /dev/null
+++ b/testing/lomiri-thumbnailer/disable-qml-and-dbus-tests.patch
@@ -0,0 +1,42 @@
+From 06caff49c352aa090f17d2fec41273f8441cea1d Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Tue, 17 Oct 2023 21:05:45 -0400
+Subject: [PATCH] disable-qml-and-dbus-tests
+
+---
+ tests/dbus/CMakeLists.txt | 1 -
+ tests/qml/CMakeLists.txt | 11 -----------
+ 2 files changed, 12 deletions(-)
+
+diff --git a/tests/dbus/CMakeLists.txt b/tests/dbus/CMakeLists.txt
+index 1f42ad1..9be6696 100644
+--- a/tests/dbus/CMakeLists.txt
++++ b/tests/dbus/CMakeLists.txt
+@@ -8,5 +8,4 @@ target_link_libraries(dbus_test
+ Qt5::Test
+ gtest
+ )
+-add_test(dbus dbus_test)
+ add_dependencies(dbus_test thumbnailer-service)
+diff --git a/tests/qml/CMakeLists.txt b/tests/qml/CMakeLists.txt
+index a165c8a..ae47bbd 100644
+--- a/tests/qml/CMakeLists.txt
++++ b/tests/qml/CMakeLists.txt
+@@ -8,14 +8,3 @@ target_link_libraries(qml_test
+ Qt5::Test
+ )
+ add_dependencies(qml_test thumbnailer-service LomiriThumbnailer-qml)
+-
+-if (${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "powerpc-linux-gnu"
+- OR ${CMAKE_LIBRARY_ARCHITECTURE} STREQUAL "s390x-linux-gnu")
+- message("Skipping qml test for ${CMAKE_LIBRARY_ARCHITECTURE}")
+-else()
+- add_test(qml ${CMAKE_SOURCE_DIR}/tools/run-xvfb.sh ./qml_test -import ${CMAKE_BINARY_DIR}/plugins)
+- # Clear some environment variables that can interfere with the tests
+- set_tests_properties(qml PROPERTIES
+- ENVIRONMENT "DBUS_SESSION_BUS_ADDRESS=;QT_QPA_PLATFORMTHEME="
+- )
+-endif()
+--
+2.42.0
+
diff --git a/testing/lomiri-thumbnailer/fix-googletest.patch b/testing/lomiri-thumbnailer/fix-googletest.patch
new file mode 100644
index 00000000000..41f648cef26
--- /dev/null
+++ b/testing/lomiri-thumbnailer/fix-googletest.patch
@@ -0,0 +1,14 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 57a2816..d925953 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,7 +23,7 @@ endif()
+
+ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
+
+-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -Wall -pedantic -Wextra -fvisibility=hidden")
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++14 -Wall -pedantic -Wextra -fvisibility=hidden")
+
+ # Some additional warnings not included by the general flags set above.
+ set(EXTRA_C_WARNINGS "-Wcast-align -Wcast-qual -Wformat -Wredundant-decls -Wswitch-default")
+
diff --git a/testing/lomiri-thumbnailer/manually-disable-tests.patch b/testing/lomiri-thumbnailer/manually-disable-tests.patch
new file mode 100644
index 00000000000..0ceec7ddade
--- /dev/null
+++ b/testing/lomiri-thumbnailer/manually-disable-tests.patch
@@ -0,0 +1,24 @@
+From ce210b9cb0be02dc51bf01de5e52ced27e10e24f Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Tue, 17 Oct 2023 21:40:21 -0400
+Subject: [PATCH] manually disable tests
+
+---
+ CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5d8994c..e60d65f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -176,7 +176,6 @@ add_subdirectory(plugins/Lomiri/Thumbnailer.0.1)
+ if (${ENABLE_UBUNTU_COMPAT})
+ add_subdirectory(plugins/Ubuntu/Thumbnailer.0.1)
+ endif()
+-add_subdirectory(tests)
+ add_subdirectory(include)
+ add_subdirectory(man)
+ #add_subdirectory(doc)
+--
+2.42.0
+
diff --git a/testing/lomiri-trust-store/APKBUILD b/testing/lomiri-trust-store/APKBUILD
new file mode 100644
index 00000000000..cd89fb42fb9
--- /dev/null
+++ b/testing/lomiri-trust-store/APKBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-trust-store
+pkgver=2.0.2
+pkgrel=0
+pkgdesc="API for creating, reading, updating and deleting trust requests answered by users"
+url="https://gitlab.com/ubports/development/core/trust-store"
+arch="all"
+license="LGPL-3.0-only"
+depends_dev="
+ boost-dev
+ dbus-cpp-dev
+ libapparmor-dev
+ mir-dev
+ process-cpp-dev
+ properties-cpp-dev
+ qt5-qtdeclarative-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ gmock
+ gtest-dev
+ libapparmor
+ samurai
+ "
+checkdepends="
+ coreutils
+ dbus
+ "
+source="https://gitlab.com/ubports/development/core/trust-store/-/archive/$pkgver/trust-store-$pkgver.tar.gz"
+subpackages="$pkgname-dev $pkgname-lang"
+builddir="$srcdir/trust-store-$pkgver"
+options="!check" # some tests fail
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None \
+ -DTRUST_STORE_MIR_AGENT_ENABLED=OFF \
+ -DENABLE_WERROR=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+3dab27f752ad12845a41af04c3a749d89043a2d36cdd81f4705399144b7747f1f37142df8e30e70003ab42d75171e01e99bc6678d39e277f94eb0a8267c856b7 trust-store-2.0.2.tar.gz
+"
diff --git a/testing/lomiri-ui-extras/0004-Disable-tst_printers-unittest.patch b/testing/lomiri-ui-extras/0004-Disable-tst_printers-unittest.patch
new file mode 100644
index 00000000000..6b3c2af0008
--- /dev/null
+++ b/testing/lomiri-ui-extras/0004-Disable-tst_printers-unittest.patch
@@ -0,0 +1,25 @@
+Description: Disable failing tst_printers unittest.
+Author: Anton Gladky <gladk@debian.org>
+Bug-Debian: https://bugs.debian.org/1015103
+Forwarded: https://gitlab.com/ubports/development/core/lomiri-ui-extras/-/issues/67
+Last-Update: 2022-10-06
+
+--- lomiri-ui-extras-0.5.orig/tests/unittests/Printers/CMakeLists.txt
++++ lomiri-ui-extras-0.5/tests/unittests/Printers/CMakeLists.txt
+@@ -19,11 +19,11 @@ add_executable(testPrintersPrinterJob ts
+ target_link_libraries(testPrintersPrinterJob LomiriComponentsExtrasPrintersQml Qt5::Test Qt5::Gui)
+ add_test(tst_printerjob testPrintersPrinterJob)
+
+-add_executable(testPrintersPrinters tst_printers.cpp ${MOCK_SOURCES})
+-target_link_libraries(testPrintersPrinters LomiriComponentsExtrasPrintersQml Qt5::Test Qt5::Gui)
+-add_test(tst_printers testPrintersPrinters)
+-set_tests_properties(tst_printers PROPERTIES
+- ENVIRONMENT "XDG_DATA_DIRS=${CMAKE_CURRENT_SOURCE_DIR}/testdata")
++#add_executable(testPrintersPrinters tst_printers.cpp ${MOCK_SOURCES})
++#target_link_libraries(testPrintersPrinters LomiriComponentsExtrasPrintersQml Qt5::Test Qt5::Gui)
++#add_test(tst_printers testPrintersPrinters)
++#set_tests_properties(tst_printers PROPERTIES
++# ENVIRONMENT "XDG_DATA_DIRS=${CMAKE_CURRENT_SOURCE_DIR}/testdata")
+
+ add_executable(testPrintersPrinterModel tst_printermodel.cpp ${MOCK_SOURCES})
+ target_link_libraries(testPrintersPrinterModel LomiriComponentsExtrasPrintersQml Qt5::Test Qt5::Gui)
diff --git a/testing/lomiri-ui-extras/APKBUILD b/testing/lomiri-ui-extras/APKBUILD
new file mode 100644
index 00000000000..0309e98bf6d
--- /dev/null
+++ b/testing/lomiri-ui-extras/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-ui-extras
+pkgver=0.6.3
+pkgrel=0
+pkgdesc='Misc Lomiri UI QML components'
+arch="all"
+url="https://gitlab.com/ubports/development/core/lomiri-ui-extras"
+license="GPL-3.0-only"
+makedepends="
+ cmake-extras
+ cups-dev
+ exiv2-dev
+ linux-pam-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samurai
+ "
+checkdepends="
+ bash
+ dbus-test-runner
+ diffutils
+ grep
+ xvfb-run
+ "
+source="https://gitlab.com/ubports/development/core/lomiri-ui-extras/-/archive/$pkgver/lomiri-ui-extras-$pkgver.tar.gz
+ 0004-Disable-tst_printers-unittest.patch
+ "
+subpackages="$pkgname-lang"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ xvfb-run ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+bbbd45ec59cd7720b64659b29c5c26d76454c311a8ee886cd02073ad6110733c915006d943500f7238038a5cbbf823e81311b408d1ba59d4766d795c652a6b38 lomiri-ui-extras-0.6.3.tar.gz
+888a089cc548e2904a7c787d33edc24a1b140cc0371591594f6851dac7bccc62a07a32eab30d271421f4d9593d0490aaf57cd824883470ede4b44980f6bda997 0004-Disable-tst_printers-unittest.patch
+"
diff --git a/testing/lomiri-ui-toolkit/0001-Remove-debian-isms-from-test-runner.patch b/testing/lomiri-ui-toolkit/0001-Remove-debian-isms-from-test-runner.patch
new file mode 100644
index 00000000000..76b7fdead8f
--- /dev/null
+++ b/testing/lomiri-ui-toolkit/0001-Remove-debian-isms-from-test-runner.patch
@@ -0,0 +1,31 @@
+From 618fc59553bf8d15254e6d695908c982fbd21dae Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Sun, 23 Aug 2020 14:09:54 +0200
+Subject: [PATCH 1/2] Remove debian-isms from test runner
+
+---
+ tests/unit/runtest.sh | 8 +-------
+ 1 file changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/tests/unit/runtest.sh b/tests/unit/runtest.sh
+index c19682df0..c426fe4d7 100755
+--- a/tests/unit/runtest.sh
++++ b/tests/unit/runtest.sh
+@@ -88,13 +88,7 @@ function create_test_cmd {
+ EXE=$(abspath $_TARGETPATH)
+ _CMD="-n $_TESTFILE -m 500"
+
+- DEB_HOST_ARCH=$(dpkg-architecture -qDEB_HOST_ARCH)
+- if [[ ${DEB_HOST_ARCH} =~ 'arm' ]]; then
+- _CMD="dbus-test-runner --task $EXE $_CMD"
+- else
+- _CMD="dbus-test-runner --task gdb -p --quiet $_CMD"
+- _CMD="$_CMD -p --batch -p -ex -p 'set print thread-events off' -p -ex -p run -p -ex -p bt -p --return-child-result -p --args -p $EXE"
+- fi
++ _CMD="dbus-test-runner --task $EXE $_CMD"
+
+ if [[ 'minimal custom' == *$_MINIMAL* ]]; then
+ _CMD="$_CMD -p -platform -p $_MINIMAL"
+--
+2.31.1
+
diff --git a/testing/lomiri-ui-toolkit/0002-Don-t-build-app-launch-profiler.patch b/testing/lomiri-ui-toolkit/0002-Don-t-build-app-launch-profiler.patch
new file mode 100644
index 00000000000..be9c33a1a72
--- /dev/null
+++ b/testing/lomiri-ui-toolkit/0002-Don-t-build-app-launch-profiler.patch
@@ -0,0 +1,25 @@
+From 481eb1c21cd60455737fa288a62941bd0aa12350 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Tue, 15 Sep 2020 17:48:47 +0200
+Subject: [PATCH 2/2] Don't build app-launch-profiler
+
+---
+ lomiri-sdk.pro | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lomiri-sdk.pro b/lomiri-sdk.pro
+index a180b037f..e987f2b30 100644
+--- a/lomiri-sdk.pro
++++ b/lomiri-sdk.pro
+@@ -11,7 +11,7 @@ load(qt_parts)
+ src_uitk_launcher.subdir = lomiri-ui-toolkit-launcher
+ src_uitk_launcher.depends = sub-src
+
+-SUBDIRS += po app-launch-profiler src_uitk_launcher apicheck
++SUBDIRS += po src_uitk_launcher apicheck
+ !CONFIG(no_docs) {
+ SUBDIRS += documentation
+ }
+--
+2.31.1
+
diff --git a/testing/lomiri-ui-toolkit/APKBUILD b/testing/lomiri-ui-toolkit/APKBUILD
new file mode 100644
index 00000000000..01455bf5997
--- /dev/null
+++ b/testing/lomiri-ui-toolkit/APKBUILD
@@ -0,0 +1,63 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+pkgname=lomiri-ui-toolkit
+pkgver=1.3.5100
+pkgrel=0
+pkgdesc="Qt Components for Lomiri"
+arch="all !armhf" # blocked by qt5-qtsystems-dev
+url="https://gitlab.com/ubports/development/core/lomiri-ui-toolkit"
+license="LGPL-3.0-only"
+depends="
+ qt5-qtfeedback
+ qt5-qtgraphicaleffects
+ "
+depends_dev="
+ eudev-dev
+ libevdev-dev
+ libnih-dev
+ libxi-dev
+ lttng-ust-dev
+ mir-dev
+ qt5-qtfeedback-dev
+ qt5-qtgraphicaleffects
+ qt5-qtpim-dev
+ qt5-qtsvg-dev
+ qt5-qtsystems-dev
+ "
+makedepends="
+ $depends_dev
+ qt5-qtdeclarative-dev
+ qt5-qttools-dev
+ "
+checkdepends="
+ bash
+ dbus-test-runner
+ diffutils
+ grep
+ xvfb-run
+ "
+source="https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/archive/$pkgver/lomiri-ui-toolkit-$pkgver.tar.gz
+ 0001-Remove-debian-isms-from-test-runner.patch
+ 0002-Don-t-build-app-launch-profiler.patch
+ "
+subpackages="$pkgname-dev $pkgname-lang"
+options="!check" # Several tests fail
+
+build() {
+ qmake-qt5 CONFIG+=no_docs
+ make
+}
+
+check() {
+ xvfb-run make check
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+sha512sums="
+42752f329ddbd8bf0f1411493c8826b9751681a007ced97a2a3441593ff7d5bb78f3ae3d849f3fa56a9a6b9a9d87a45ff571597ef1f4f33097fed2a9360ef67c lomiri-ui-toolkit-1.3.5100.tar.gz
+7423ea0f4edececdeab09c4c91686e981ecedc2b7b39d147d604eb1bd8cdb26a1c3b4fad848215a1a8db1197bd3a58fb82651b0e298c52181632ae629c307d9a 0001-Remove-debian-isms-from-test-runner.patch
+46a12139eeb09b4a7baba4c020103bff8c7885d65fc88ec2e2f4cbf6d93f0aed8d853da316619cb3bafdde5853517dab0b372132d91a03870b9e06a839a854df 0002-Don-t-build-app-launch-profiler.patch
+"
diff --git a/testing/lomiri-url-dispatcher/0001-remove-systemd.patch b/testing/lomiri-url-dispatcher/0001-remove-systemd.patch
new file mode 100644
index 00000000000..429af543f0e
--- /dev/null
+++ b/testing/lomiri-url-dispatcher/0001-remove-systemd.patch
@@ -0,0 +1,64 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7d9d00b..55e1e12 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -90,9 +90,6 @@ else()
+ endif()
+ message("Installing DBus interfaces to ${DBUSIFACEDIR}")
+
+-pkg_check_modules(SYSTEMD REQUIRED systemd)
+-pkg_get_variable(SYSTEMD_USER_UNIT_DIR systemd systemduserunitdir)
+-
+ include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+ include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 79f7547..e7e0a76 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -27,45 +27,6 @@ com.lomiri.URLDispatcher.xml
+ DESTINATION ${DBUSIFACEDIR}
+ )
+
+-###########################
+-# systemd
+-###########################
+-
+-configure_file(
+-lomiri-url-dispatcher.service.in
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher.service
+-)
+-
+-configure_file(
+-lomiri-url-dispatcher-update-system-dir.path.in
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher-update-system-dir.path
+-)
+-
+-configure_file(
+-lomiri-url-dispatcher-update-system-dir.service.in
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher-update-system-dir.service
+-)
+-
+-configure_file(
+-lomiri-url-dispatcher-update-user-dir.path.in
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher-update-user-dir.path
+-)
+-
+-configure_file(
+-lomiri-url-dispatcher-update-user-dir.service.in
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher-update-user-dir.service
+-)
+-
+-install(
+-FILES
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher.service
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher-update-system-dir.path
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher-update-system-dir.service
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher-update-user-dir.path
+-${CMAKE_CURRENT_BINARY_DIR}/lomiri-url-dispatcher-update-user-dir.service
+-DESTINATION ${SYSTEMD_USER_UNIT_DIR}
+-)
+-
+ ###########################
+ # Click Hook
+ ###########################
diff --git a/testing/lomiri-url-dispatcher/APKBUILD b/testing/lomiri-url-dispatcher/APKBUILD
new file mode 100644
index 00000000000..6087708e00e
--- /dev/null
+++ b/testing/lomiri-url-dispatcher/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri-url-dispatcher
+pkgver=0.1.3
+pkgrel=1
+pkgdesc="Service to allow sending of URLs and get handlers started"
+arch="all"
+url="https://gitlab.com/ubports/development/core/lomiri-url-dispatcher"
+license="LGPL-3.0-only"
+depends_dev="
+ click-dev
+ dbus-test-runner-dev
+ gtest-dev
+ json-glib-dev
+ libapparmor-dev
+ lomiri-app-launch-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ dbus-test-runner
+ glib-dev
+ gmock
+ intltool
+ samurai
+ "
+checkdepends="py3-dbusmock"
+source="https://gitlab.com/ubports/development/core/lomiri-url-dispatcher/-/archive/$pkgver/lomiri-url-dispatcher-$pkgver.tar.gz
+ 0001-remove-systemd.patch
+ "
+subpackages="$pkgname-dev $pkgname-lang"
+options="!check" # several tests hang
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -Denable_mirclient=OFF
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+3aeae627e5e01fff6a1201d5fd2f5d52b78b1c628feadf19f0f23e6cad34004212930e317c584f3fc9d67a9dac6dea72bac770747f2a6a116359d5e55a20fd77 lomiri-url-dispatcher-0.1.3.tar.gz
+586d24fd32f368b7f0404d4f5664bde8ed85e88e79f4532aa686ba0e4fc5c6c9c3c33832fded9f09bc5eba983b853a6be2204d9796a571e2dfecfa1afaf9f74f 0001-remove-systemd.patch
+"
diff --git a/testing/lomiri-weather-app/0001-rename-WEATHER_APP_DIR-to-LOMIRI_WEATHER_APP_DIR.patch b/testing/lomiri-weather-app/0001-rename-WEATHER_APP_DIR-to-LOMIRI_WEATHER_APP_DIR.patch
new file mode 100644
index 00000000000..e11cc560c13
--- /dev/null
+++ b/testing/lomiri-weather-app/0001-rename-WEATHER_APP_DIR-to-LOMIRI_WEATHER_APP_DIR.patch
@@ -0,0 +1,21 @@
+From d1d9814346b24baffe1850418e0b2f9e172f2bb1 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Mon, 11 Mar 2024 17:59:17 -0400
+Subject: [PATCH 1/2] rename WEATHER_APP_DIR to LOMIRI_WEATHER_APP_DIR
+
+---
+ lomiri-weather-app.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lomiri-weather-app.in b/lomiri-weather-app.in
+index 4a179c1..95d7fbc 100644
+--- a/lomiri-weather-app.in
++++ b/lomiri-weather-app.in
+@@ -1,3 +1,3 @@
+ #!/bin/bash
+ export QT_SELECT=qt5
+-exec qmlscene @CMAKE_INSTALL_PREFIX@/@WEATHER_APP_DIR@/@MAIN_QML@
++exec qmlscene @CMAKE_INSTALL_PREFIX@/@LOMIRI_WEATHER_APP_DIR@/@MAIN_QML@
+--
+2.43.2
+
diff --git a/testing/lomiri-weather-app/0002-point-qmlscene-to-qmlscene-qt5.patch b/testing/lomiri-weather-app/0002-point-qmlscene-to-qmlscene-qt5.patch
new file mode 100644
index 00000000000..5c4146ed696
--- /dev/null
+++ b/testing/lomiri-weather-app/0002-point-qmlscene-to-qmlscene-qt5.patch
@@ -0,0 +1,21 @@
+From 0626f5457f5a5ab00f785b2b68d0b943b99c8ac0 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Mon, 11 Mar 2024 18:02:26 -0400
+Subject: [PATCH 2/2] point qmlscene to qmlscene-qt5
+
+---
+ lomiri-weather-app.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lomiri-weather-app.in b/lomiri-weather-app.in
+index 95d7fbc..9fe6475 100644
+--- a/lomiri-weather-app.in
++++ b/lomiri-weather-app.in
+@@ -1,3 +1,3 @@
+ #!/bin/bash
+ export QT_SELECT=qt5
+-exec qmlscene @CMAKE_INSTALL_PREFIX@/@LOMIRI_WEATHER_APP_DIR@/@MAIN_QML@
++exec qmlscene-qt5 @CMAKE_INSTALL_PREFIX@/@LOMIRI_WEATHER_APP_DIR@/@MAIN_QML@
+--
+2.43.2
+
diff --git a/testing/lomiri-weather-app/APKBUILD b/testing/lomiri-weather-app/APKBUILD
new file mode 100644
index 00000000000..bffa83f5217
--- /dev/null
+++ b/testing/lomiri-weather-app/APKBUILD
@@ -0,0 +1,60 @@
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=lomiri-weather-app
+pkgver=5.13.5
+pkgrel=0
+pkgdesc="Provides current weather information for your mobile device"
+url="https://gitlab.com/ubports/development/apps/lomiri-weather-app"
+arch="all !armhf" # blocked by lomiri-ui-toolkit
+license="GPL-3.0-only"
+source="https://gitlab.com/ubports/development/apps/lomiri-weather-app/-/archive/v$pkgver/lomiri-weather-app-v$pkgver.tar.gz
+ 0001-rename-WEATHER_APP_DIR-to-LOMIRI_WEATHER_APP_DIR.patch
+ 0002-point-qmlscene-to-qmlscene-qt5.patch
+ "
+depends="
+ lomiri-indicator-network
+ lomiri-ui-extras
+ lomiri-ui-toolkit
+ qqc2-suru-style
+ qt5-qtlocation
+ "
+makedepends="
+ click-dev
+ cmake
+ cmake-extras
+ lomiri-trust-store-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samurai
+ "
+checkdepends="
+ py3-dbusmock
+ py3-xdg
+ xvfb-run
+ "
+subpackages="$pkgname-lang"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # requires autopilot
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCLICK_MODE=OFF \
+ -DINSTALL_TESTS=OFF
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ mv "$pkgdir"/usr/share/lomiri-weather-app/app/*.svg \
+ "$pkgdir"/usr/share/lomiri-weather-app
+}
+
+sha512sums="
+3a90bd80a8748e9f3a3ab76a36b5e9ba39f9a93999584d7e92e8412170f5c0b7ecb6466b7390420507a572b657a319df4dda6f683f2064e338ee7b21af769261 lomiri-weather-app-v5.13.5.tar.gz
+1755d62aab06d873ba28ddcf5037e13c3faf16bb3b38881ac885caa5a4006f46705a1a25db382e30f8438d8e212e70e2767698ca41ed42d56c64ab86adfbb548 0001-rename-WEATHER_APP_DIR-to-LOMIRI_WEATHER_APP_DIR.patch
+7251565108426e207cdc3ea68c677b4f9b3ba65390d7fac9510704e74985b8b258bd80bf4e25e1fd83fdb92c46228a7ad09a23f0de7b37bcc734fb30ea592628 0002-point-qmlscene-to-qmlscene-qt5.patch
+"
diff --git a/testing/lomiri/0001-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch b/testing/lomiri/0001-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch
new file mode 100644
index 00000000000..cbb86ab7376
--- /dev/null
+++ b/testing/lomiri/0001-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch
@@ -0,0 +1,40 @@
+From 57a1a449b7305604710db32ffd9ab413492e1f5b Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Sun, 24 Dec 2023 17:23:39 +0100
+Subject: [PATCH 1/7] Fix overwriting INCLUDE_DIRECTORIES variable
+
+Let's set it before adding more include directories. Fixes compilation
+on Alpine Linux as of day - with CMake 3.28.1 fwiw
+---
+ tests/uqmlscene/CMakeLists.txt | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/tests/uqmlscene/CMakeLists.txt b/tests/uqmlscene/CMakeLists.txt
+index 6cffcc4f1..6c0cce047 100644
+--- a/tests/uqmlscene/CMakeLists.txt
++++ b/tests/uqmlscene/CMakeLists.txt
+@@ -6,6 +6,10 @@ add_executable(uqmlscene
+
+ pkg_check_modules(XCB REQUIRED xcb)
+
++if (NOT "${XCB_INCLUDE_DIRS}" STREQUAL "")
++ set_target_properties(uqmlscene PROPERTIES INCLUDE_DIRECTORIES ${XCB_INCLUDE_DIRS})
++endif()
++
+ include_directories(
+ SYSTEM
+ ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
+@@ -19,10 +23,6 @@ include_directories(
+ ${liblomiri-private_SOURCE_DIR}
+ )
+
+-if (NOT "${XCB_INCLUDE_DIRS}" STREQUAL "")
+- set_target_properties(uqmlscene PROPERTIES INCLUDE_DIRECTORIES ${XCB_INCLUDE_DIRS})
+-endif()
+-
+ target_link_libraries(uqmlscene
+ Qt5::Qml Qt5::Quick Qt5::Test Qt5::DBus
+ ${Qt5Qml_LIBRARIES}
+--
+2.43.0
+
diff --git a/testing/lomiri/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch b/testing/lomiri/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch
new file mode 100644
index 00000000000..3a670177afe
--- /dev/null
+++ b/testing/lomiri/0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch
@@ -0,0 +1,59 @@
+From 601e01de1085356f61de8337c05b685f4f70c28d Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Sun, 28 Jan 2024 11:25:29 +0100
+Subject: [PATCH 2/7] Fix build on 32bit arches with 64bit time_t
+
+time element is deprecated on new input_event structure in kernel's
+input.h [1]
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit?id=152194fe9c3f
+---
+ plugins/UInput/uinput.cpp | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/plugins/UInput/uinput.cpp b/plugins/UInput/uinput.cpp
+index e80db50d1..65034ae83 100644
+--- a/plugins/UInput/uinput.cpp
++++ b/plugins/UInput/uinput.cpp
+@@ -108,8 +108,11 @@ void UInput::removeMouse()
+ void UInput::moveMouse(int dx, int dy)
+ {
+ struct input_event event;
++ struct timespec time;
+ memset(&event, 0, sizeof(event));
+- clock_gettime(CLOCK_MONOTONIC, (timespec*)&event.time);
++ clock_gettime(CLOCK_MONOTONIC, &time);
++ event.input_event_sec = time.tv_sec;
++ event.input_event_usec = time.tv_nsec / 1000;
+ event.type = EV_REL;
+ event.code = REL_X;
+ event.value = dx;
+@@ -138,8 +141,11 @@ void UInput::releaseMouse(Button button)
+ void UInput::scrollMouse(int dh, int dv)
+ {
+ struct input_event event;
++ struct timespec time;
+ memset(&event, 0, sizeof(event));
+- clock_gettime(CLOCK_MONOTONIC, (timespec*)&event.time);
++ clock_gettime(CLOCK_MONOTONIC, &time);
++ event.input_event_sec = time.tv_sec;
++ event.input_event_usec = time.tv_nsec / 1000;
+ event.type = EV_REL;
+ event.code = REL_HWHEEL;
+ event.value = dh;
+@@ -158,8 +164,11 @@ void UInput::scrollMouse(int dh, int dv)
+ void UInput::injectMouse(Button button, int down)
+ {
+ struct input_event event;
++ struct timespec time;
+ memset(&event, 0, sizeof(event));
+- clock_gettime(CLOCK_MONOTONIC, (timespec*)&event.time);
++ clock_gettime(CLOCK_MONOTONIC, &time);
++ event.input_event_sec = time.tv_sec;
++ event.input_event_usec = time.tv_nsec / 1000;
+ event.type = EV_KEY;
+ switch (button) {
+ case ButtonLeft:
+--
+2.43.0
+
diff --git a/testing/lomiri/0003-cursor-Always-follow-cursor-position-from-mir.patch b/testing/lomiri/0003-cursor-Always-follow-cursor-position-from-mir.patch
new file mode 100644
index 00000000000..81771cd59c1
--- /dev/null
+++ b/testing/lomiri/0003-cursor-Always-follow-cursor-position-from-mir.patch
@@ -0,0 +1,32 @@
+From 0528e804b6625bd42664ac661566efb4f1918031 Mon Sep 17 00:00:00 2001
+From: Marius Gripsgard <marius@ubports.com>
+Date: Wed, 31 May 2023 05:48:35 +0200
+Subject: [PATCH 3/7] cursor: Always follow cursor position from mir
+
+It makes no sense to not, if we dont we can quickly get out of sync with
+mir.
+
+This was done for multiscreen, but this has to be fixed another way then
+tracking pointer ourself. The plan is to follow mir's screen position
+anyway so we don't need this. (the current multiscreen impl is horrable)
+---
+ plugins/Cursor/InputDispatcherFilter.cpp | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/plugins/Cursor/InputDispatcherFilter.cpp b/plugins/Cursor/InputDispatcherFilter.cpp
+index 4ef0199d9..5dcc1a421 100644
+--- a/plugins/Cursor/InputDispatcherFilter.cpp
++++ b/plugins/Cursor/InputDispatcherFilter.cpp
+@@ -72,7 +72,8 @@ bool InputDispatcherFilter::eventFilter(QObject *o, QEvent *e)
+ QPointF movement = me->localPos();
+
+ // Adjust the position
+- QPointF oldPos = pointer->window()->geometry().topLeft() + pointer->position();
++ // Get the pos from mir
++ QPointF oldPos = me->screenPos();
+ QPointF newPos = adjustedPositionForMovement(oldPos, movement);
+
+ QScreen* currentScreen = screenAt(newPos);
+--
+2.43.0
+
diff --git a/testing/lomiri/0004-Disable-broken-tests-due-to-dropped-mocks-from-mir-2.patch b/testing/lomiri/0004-Disable-broken-tests-due-to-dropped-mocks-from-mir-2.patch
new file mode 100644
index 00000000000..01b23f1b57d
--- /dev/null
+++ b/testing/lomiri/0004-Disable-broken-tests-due-to-dropped-mocks-from-mir-2.patch
@@ -0,0 +1,26 @@
+From ced81a10807327855f583687f4ac3c7f7ec7250c Mon Sep 17 00:00:00 2001
+From: Marius Gripsgard <marius@ubports.com>
+Date: Thu, 12 Jan 2023 01:08:08 +0100
+Subject: [PATCH 4/7] Disable broken tests due to dropped mocks from mir 2.9
+
+---
+ tests/mocks/CMakeLists.txt | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/mocks/CMakeLists.txt b/tests/mocks/CMakeLists.txt
+index c9a93cf66..c49e8898f 100644
+--- a/tests/mocks/CMakeLists.txt
++++ b/tests/mocks/CMakeLists.txt
+@@ -41,7 +41,8 @@ add_subdirectory(Powerd)
+ add_subdirectory(QMenuModel.1)
+ add_subdirectory(SessionBroadcast)
+ add_subdirectory(Lomiri)
+-add_subdirectory(QtMir/Application)
++# Broken due to dropped mocks from mir 2.9
++#add_subdirectory(QtMir/Application)
+ add_subdirectory(QtMultimedia)
+ add_subdirectory(WindowManager)
+ add_subdirectory(Wizard)
+--
+2.43.0
+
diff --git a/testing/lomiri/0005-Add-qt5-suffix-to-search-for-Qt-tools.patch b/testing/lomiri/0005-Add-qt5-suffix-to-search-for-Qt-tools.patch
new file mode 100644
index 00000000000..1452c101e7d
--- /dev/null
+++ b/testing/lomiri/0005-Add-qt5-suffix-to-search-for-Qt-tools.patch
@@ -0,0 +1,47 @@
+From 7a1477480b29605193be5e77ee27faf5c52839d2 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Tue, 29 Jan 2019 19:25:24 +0100
+Subject: [PATCH 5/7] Add -qt5 suffix to search for Qt tools
+
+---
+ cmake/modules/QmlTest.cmake | 4 ++--
+ tests/CMakeLists.txt | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/cmake/modules/QmlTest.cmake b/cmake/modules/QmlTest.cmake
+index f4a95ab4e..537ba792c 100644
+--- a/cmake/modules/QmlTest.cmake
++++ b/cmake/modules/QmlTest.cmake
+@@ -114,9 +114,9 @@ endfunction()
+ # This function wraps add_executable_test, see below for available arguments.
+
+ function(add_qml_unittest PATH COMPONENT_NAME)
+- import_executables(qmltestrunner)
++ import_executables(qmltestrunner-qt5)
+
+- add_executable_test(${COMPONENT_NAME} qmltestrunner
++ add_executable_test(${COMPONENT_NAME} qmltestrunner-qt5
+ ${ARGN}
+ ARGS -input ${CMAKE_CURRENT_SOURCE_DIR}/${PATH}/tst_${COMPONENT_NAME}.qml ${QMLTEST_ARGS}
+ )
+diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
+index f2bcf212d..58cf9bee9 100644
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -135,11 +135,11 @@ endfunction()
+ if(DEFINED ENV{DEB_BUILD_MULTIARCH})
+ set(QDBUSXML2CPP_EXECUTABLE "/usr/lib/$ENV{DEB_BUILD_MULTIARCH}/qt5/bin/qdbusxml2cpp")
+ else()
+- FIND_PROGRAM(QDBUSXML2CPP_EXECUTABLE qdbusxml2cpp)
++ FIND_PROGRAM(QDBUSXML2CPP_EXECUTABLE qdbusxml2cpp-qt5)
+ endif()
+
+ if(NOT QDBUSXML2CPP_EXECUTABLE)
+- message(FATAL_ERROR "qdbusxml2cpp not found")
++ message(FATAL_ERROR "qdbusxml2cpp-qt5 not found")
+ endif()
+
+ install(DIRECTORY data graphics
+--
+2.43.0
+
diff --git a/testing/lomiri/0006-No-systemd.patch b/testing/lomiri/0006-No-systemd.patch
new file mode 100644
index 00000000000..86d2bdfe314
--- /dev/null
+++ b/testing/lomiri/0006-No-systemd.patch
@@ -0,0 +1,22 @@
+From f7b5bcf00f57ef0d64cefb772a02e29d81b6bb2b Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Fri, 25 Jun 2021 10:16:19 +0200
+Subject: [PATCH 6/7] No systemd
+
+---
+ data/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
+index 4bffd05dd..7b5bb8e4f 100644
+--- a/data/CMakeLists.txt
++++ b/data/CMakeLists.txt
+@@ -49,4 +49,4 @@ add_custom_target(pkgversion ALL COMMAND echo ${PROJECT_VERSION} | head -n1 > ${
+
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/version DESTINATION ${CMAKE_INSTALL_LOCALSTATEDIR}/lib/lomiri)
+
+-add_subdirectory(systemd-user)
++#add_subdirectory(systemd-user)
+--
+2.43.0
+
diff --git a/testing/lomiri/0007-Disable-lightdm-integration.patch b/testing/lomiri/0007-Disable-lightdm-integration.patch
new file mode 100644
index 00000000000..58109720a81
--- /dev/null
+++ b/testing/lomiri/0007-Disable-lightdm-integration.patch
@@ -0,0 +1,40 @@
+From 8f73d2aa28bf83b45876b1b6719a8488eb762f85 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca.weiss@fairphone.com>
+Date: Tue, 14 Nov 2023 22:00:38 +0100
+Subject: [PATCH 7/7] Disable lightdm integration
+
+Not needed on postmarketOS
+---
+ plugins/CMakeLists.txt | 2 +-
+ tests/plugins/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/plugins/CMakeLists.txt b/plugins/CMakeLists.txt
+index 7dacef455..da53955d4 100644
+--- a/plugins/CMakeLists.txt
++++ b/plugins/CMakeLists.txt
+@@ -16,7 +16,7 @@ add_subdirectory(BatteryMonitor)
+ add_subdirectory(Cursor)
+ add_subdirectory(GlobalShortcut)
+ add_subdirectory(Greeter)
+-add_subdirectory(LightDM)
++#add_subdirectory(LightDM)
+ add_subdirectory(Powerd)
+ add_subdirectory(ProcessControl)
+ add_subdirectory(ScreenshotDirectory)
+diff --git a/tests/plugins/CMakeLists.txt b/tests/plugins/CMakeLists.txt
+index 352beba17..5f6f5cc8c 100644
+--- a/tests/plugins/CMakeLists.txt
++++ b/tests/plugins/CMakeLists.txt
+@@ -2,7 +2,7 @@ add_subdirectory(AccountsService)
+ add_subdirectory(Cursor)
+ add_subdirectory(GlobalShortcut)
+ add_subdirectory(Greeter)
+-add_subdirectory(LightDM)
++#add_subdirectory(LightDM)
+ add_subdirectory(SessionBroadcast)
+ add_subdirectory(Lomiri)
+ add_subdirectory(Utils)
+--
+2.43.0
+
diff --git a/testing/lomiri/0008-Change-hard-coded-launcher-logo-to-one-set-by-a-reso.patch b/testing/lomiri/0008-Change-hard-coded-launcher-logo-to-one-set-by-a-reso.patch
new file mode 100644
index 00000000000..44e8fc81602
--- /dev/null
+++ b/testing/lomiri/0008-Change-hard-coded-launcher-logo-to-one-set-by-a-reso.patch
@@ -0,0 +1,158 @@
+From b7df6bf3459ddadb29b6c4203e1032b6f3808c0b Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Fri, 22 Mar 2024 19:28:46 -0400
+Subject: [PATCH] Change hard-coded launcher logo to one set by a resolver
+
+---
+ plugins/Utils/constants.cpp | 1 +
+ plugins/Utils/constants.h | 3 ++
+ qml/Components/LogoResolver.qml | 61 +++++++++++++++++++++++++++++++++
+ qml/Launcher/LauncherPanel.qml | 22 ++++++++++--
+ 4 files changed, 85 insertions(+), 2 deletions(-)
+ create mode 100644 qml/Components/LogoResolver.qml
+
+diff --git a/plugins/Utils/constants.cpp b/plugins/Utils/constants.cpp
+index d7d6053f5..780cb75ed 100644
+--- a/plugins/Utils/constants.cpp
++++ b/plugins/Utils/constants.cpp
+@@ -29,4 +29,5 @@ Constants::Constants(QObject *parent)
+
+ QString snapRoot = QFile::decodeName(qgetenv("SNAP"));
+ m_defaultWallpaper = snapRoot + "/usr/share/backgrounds/warty-final-ubuntu.png";
++ m_defaultLogo = snapRoot + "/usr/share/lomiri/Launcher/graphics/home.svg";
+ }
+diff --git a/plugins/Utils/constants.h b/plugins/Utils/constants.h
+index c2ccc9cab..0e4eded31 100644
+--- a/plugins/Utils/constants.h
++++ b/plugins/Utils/constants.h
+@@ -30,14 +30,17 @@ class Constants: public QObject
+ Q_OBJECT
+ Q_PROPERTY(int indicatorValueTimeout READ indicatorValueTimeout CONSTANT)
+ Q_PROPERTY(QString defaultWallpaper READ defaultWallpaper CONSTANT)
++ Q_PROPERTY(QString defaultLogo READ defaultLogo CONSTANT)
+
+ public:
+ Constants(QObject *parent = 0);
+
+ int indicatorValueTimeout() const { return m_indicatorValueTimeout; }
+ QString defaultWallpaper() const { return m_defaultWallpaper; }
++ QString defaultLogo() const { return m_defaultLogo; }
+
+ private:
+ int m_indicatorValueTimeout;
+ QString m_defaultWallpaper;
++ QString m_defaultLogo;
+ };
+diff --git a/qml/Components/LogoResolver.qml b/qml/Components/LogoResolver.qml
+new file mode 100644
+index 000000000..53b1bb937
+--- /dev/null
++++ b/qml/Components/LogoResolver.qml
+@@ -0,0 +1,61 @@
++/*
++ * Copyright (C) 2015 Canonical Ltd.
++ * Copyright (C) 2024 UBports Foundation
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; version 3.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++import QtQuick 2.12
++import Lomiri.Components 1.3
++
++Item {
++ id: root
++
++ // Provide a list of logos to resolve here, preferred ones first
++ property var candidates: []
++
++ property bool cache: true
++
++ readonly property url logo: {
++ for (var i = 0; i < repeater.count; i++) {
++ var image = repeater.itemAt(i);
++ var expectedImageSource = Qt.resolvedUrl(candidates[i]);
++ if (image.source != expectedImageSource)
++ return "";
++ if (image.status === Image.Ready)
++ return candidates[i];
++ if (image.status === Image.Loading)
++ return "";
++ }
++ if (candidates.length > 0) {
++ return candidates.slice(-1)[0]; // last item is last resort
++ } else {
++ return "";
++ }
++ }
++
++ Repeater {
++ id: repeater
++ model: root.candidates.slice(0, -1)
++ delegate: Image {
++ source: modelData
++ autoTransform: true
++ asynchronous: true
++ cache: root.cache
++ height: 0
++ width: 0
++ sourceSize.height: 1
++ sourceSize.width: 1
++ }
++ }
++}
+diff --git a/qml/Launcher/LauncherPanel.qml b/qml/Launcher/LauncherPanel.qml
+index 4d5764803..56a0110ea 100644
+--- a/qml/Launcher/LauncherPanel.qml
++++ b/qml/Launcher/LauncherPanel.qml
+@@ -19,6 +19,7 @@ import QtQml.StateMachine 1.0 as DSM
+ import Lomiri.Components 1.3
+ import Lomiri.Launcher 0.1
+ import Lomiri.Components.Popups 1.3
++import GSettings 1.0
+ import Utils 0.1
+ import "../Components"
+
+@@ -95,11 +96,28 @@ Rectangle {
+ width: parent.width * .6
+ height: width
+ anchors.centerIn: parent
+- source: "graphics/home.svg"
+- color: "white"
++ source: homeLogoResolver.logo
+ rotation: root.rotation
+ }
+
++ LogoResolver {
++ id: homeLogoResolver
++ objectName: "homeLogoResolver"
++
++ readonly property url defaultLogo: "file://" + Constants.defaultLogo
++ readonly property bool hasCustomLogo: logo != defaultLogo
++
++ GSettings {
++ id: logoSettings
++ schema.id: "com.lomiri.Shell.Launcher"
++ }
++
++ candidates: [
++ logoSettings.logoPictureUri,
++ defaultLogo
++ ]
++ }
++
+ AbstractButton {
+ id: dashItem
+ anchors.fill: parent
+--
+2.44.0
+
diff --git a/testing/lomiri/APKBUILD b/testing/lomiri/APKBUILD
new file mode 100644
index 00000000000..3a2e4ea2beb
--- /dev/null
+++ b/testing/lomiri/APKBUILD
@@ -0,0 +1,115 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lomiri
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="A convergent desktop environment"
+# armhf: blocked by lomiri-ui-toolkit
+# s390x, riscv64, ppc64le: blocked by lomiri-system-settings
+arch="all !armhf !s390x !riscv64 !ppc64le"
+url="https://gitlab.com/ubports/development/core/lomiri"
+license="GPL-3.0-only AND LGPL-2.1-only"
+depends="
+ ayatana-indicator-keyboard
+ ayatana-indicator-session
+ biometryd
+ gsettings-desktop-schemas
+ lomiri-notifications
+ lomiri-schemas
+ lomiri-settings-components
+ lomiri-telephony-service
+ lomiri-thumbnailer
+ openrc-settingsd
+ qt5-qtbase-sqlite
+ qt5-qtgraphicaleffects
+ suru-icon-theme
+ "
+makedepends="
+ cmake
+ cmake-extras
+ dbus-test-runner
+ doxygen
+ elogind-dev
+ geonames-dev
+ gnome-desktop-dev
+ graphviz
+ gsettings-qt-dev
+ libqtdbusmock
+ libqtdbustest
+ linux-pam-dev
+ lomiri-api-dev
+ lomiri-app-launch-dev
+ lomiri-deviceinfo-dev
+ lomiri-download-manager-dev
+ lomiri-indicator-network-dev
+ lomiri-libusermetrics-dev
+ lomiri-system-settings
+ lomiri-ui-toolkit-dev
+ qmenumodel
+ qmenumodel-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qtmir-dev
+ samurai
+ "
+checkdepends="py3-dbusmock"
+source="https://gitlab.com/ubports/development/core/lomiri/-/archive/$pkgver/lomiri-$pkgver.tar.gz
+ 0001-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch
+ 0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch
+ 0003-cursor-Always-follow-cursor-position-from-mir.patch
+ 0004-Disable-broken-tests-due-to-dropped-mocks-from-mir-2.patch
+ 0005-Add-qt5-suffix-to-search-for-Qt-tools.patch
+ 0006-No-systemd.patch
+ 0007-Disable-lightdm-integration.patch
+ 0008-Change-hard-coded-launcher-logo-to-one-set-by-a-reso.patch
+ home.svg
+ "
+subpackages="$pkgname-lang"
+options="!check" # Tests fail
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ # Replace the Ubuntu logo with Alpine
+ rm "$pkgdir"/usr/share/lomiri/Launcher/graphics/home.svg
+ install -Dm644 "$srcdir"/home.svg \
+ "$pkgdir"/usr/share/lomiri/Launcher/graphics/
+
+ # Remove various mocks and test files not wanted at runtime
+ rm "$pkgdir"/usr/bin/indicators-client
+ rm "$pkgdir"/usr/bin/lomiri-mock-indicator-service
+ rm -r "$pkgdir"/usr/lib/lomiri/qml/mocks/
+ rm -r "$pkgdir"/usr/lib/lomiri/qml/utils/Lomiri/SelfTest/
+ rm -r "$pkgdir"/usr/libexec/lomiri/tests/
+ rm "$pkgdir"/usr/libexec/lomiri/uqmlscene
+ rm "$pkgdir"/usr/share/applications/indicators-client.desktop
+ rm -r "$pkgdir"/usr/share/lomiri/mocks/
+ rm -r "$pkgdir"/usr/share/lomiri/tests/
+}
+
+sha512sums="
+4f844cb7552a6df9c3ed31f6705d0af2147fd44e7b390e8a4f7c5f95e61fc91590ebec1b296cf9eae83bbaa56df8fc5b1fa685143a788472e21525532d0b4251 lomiri-0.2.1.tar.gz
+46f11652b0ed77fd27f14cef236a9f247885cc2fd85c433b47c617c0a9a3f80c292ba98c779b02e75bd752075160dc5e997b3f2bd4e24ee7f7005706268ded81 0001-Fix-overwriting-INCLUDE_DIRECTORIES-variable.patch
+2a1f8069ff84486f7905fa2dc098b283c4d8308ad374d3f8383559241bfd9da4cabaecacfef41825f154e0d2d902eb85dff788aaca6260e1f6a21714bba7ff1d 0002-Fix-build-on-32bit-arches-with-64bit-time_t.patch
+f124a98e8b13a0c640ab7180a9516d11122c787bff821225f7730fe292ad476a7fc68d1ffa7b3d2be0f3daf4732c3d60aba61044225764bf62eb4b432ca51a68 0003-cursor-Always-follow-cursor-position-from-mir.patch
+1ce136ed0dd5f9a285d194684194ca04135ad9b4a7ac3bea5f1714b58465cc8d98f5f218938ea2155d9d9a4939877a65b7f7b02dba2d6beed3a940e42e137fd8 0004-Disable-broken-tests-due-to-dropped-mocks-from-mir-2.patch
+33e92a4646352f16993829ae7686b7ebf2c949d418e51ed466268b53d8d0f939861fa113a19403936ce48e16e58c6166e370a4fd27a184bde554c4e2746b0898 0005-Add-qt5-suffix-to-search-for-Qt-tools.patch
+828c19e69cc830b40d648ed5bfe03fdd350986c0f6276c7cb659097c54bb593a5a5c2471d2b4a463ced80f23f790829f50f5ec807c4e0d846e5b84a433109c1c 0006-No-systemd.patch
+1ddd7a73bf5aa815e50251afd4b54563cc366667c9b9d230ba377451a569a0af01255ad2a3dbff255fc2067d9a404592f3c3f3910ff1c1a83f1280741663e92d 0007-Disable-lightdm-integration.patch
+c953baa7ee424567105dcf37f45674638f9b8236e59121e05f454ccf198d65a9f8de445cfcc3d78a6e11439e395c33812d161b8fff0a6e03df2ee3f4d5526fbd 0008-Change-hard-coded-launcher-logo-to-one-set-by-a-reso.patch
+8be30a5e7692c39ffb1948910b45d8fa69a88725df45b67ba69711281b3cf15568b9fff29a8b5b216e5e86656b5961ad7ef9eb0e87c007215e012c3a663045b7 home.svg
+"
diff --git a/testing/lomiri/home.svg b/testing/lomiri/home.svg
new file mode 100644
index 00000000000..0cf773428db
--- /dev/null
+++ b/testing/lomiri/home.svg
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ id="svg2"
+ version="1.1"
+ inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)"
+ width="320"
+ height="320"
+ xml:space="preserve"
+ sodipodi:docname="home.svg"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata
+ id="metadata8"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs6"><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath16"><path
+ d="M 0,560 H 960 V 0 H 0 Z"
+ id="path18"
+ inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1080"
+ inkscape:window-height="689"
+ id="namedview4"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="0.9560989"
+ inkscape:cx="145.90541"
+ inkscape:cy="141.19878"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="g10"
+ inkscape:showpageshadow="2"
+ inkscape:pagecheckerboard="0"
+ inkscape:deskcolor="#d1d1d1"
+ inkscape:clip-to-page="false" /><g
+ id="g10"
+ inkscape:groupmode="layer"
+ inkscape:label="Alpine_Linux_logo_v4"
+ transform="matrix(1.25,0,0,-1.25,-267.55675,591.98975)"><g
+ id="g56"
+ transform="matrix(1.697972,0,0,1.697972,307.48063,318.69932)"
+ style="fill:#ffffff;fill-opacity:1"><path
+ d="M 0,0 V 15.687 L -11.296,4.379 C -10.079,3.532 -8.932,2.836 -7.853,2.27 -6.774,1.703 -5.764,1.265 -4.823,0.932 -3.882,0.598 -3.009,0.37 -2.206,0.222 -1.402,0.075 -0.667,0.009 0,0 m 57.751,1.304 c 0.02,-0.017 0.13,-0.11 0.333,-0.239 0.204,-0.13 0.502,-0.297 0.898,-0.462 0.395,-0.164 0.889,-0.327 1.485,-0.448 0.596,-0.122 1.294,-0.202 2.098,-0.202 0.671,0 1.411,0.059 2.222,0.2 0.812,0.142 1.693,0.367 2.645,0.699 0.953,0.333 1.976,0.773 3.07,1.344 1.094,0.572 2.259,1.276 3.495,2.136 L 65.425,12.729 37.015,41.245 24.549,28.776 7.733,46.117 -34.471,4.39 c 1.235,-0.86 2.398,-1.564 3.491,-2.136 1.093,-0.571 2.115,-1.011 3.067,-1.344 0.951,-0.332 1.832,-0.557 2.643,-0.698 0.81,-0.142 1.55,-0.201 2.22,-0.201 0.804,0 1.502,0.08 2.097,0.202 0.596,0.121 1.089,0.284 1.485,0.449 0.396,0.164 0.693,0.331 0.897,0.461 0.204,0.13 0.314,0.223 0.334,0.24 L 0.815,20.415 7.628,26.948 26.494,8.082 33.085,1.304 c 0.02,-0.017 0.13,-0.11 0.334,-0.239 0.204,-0.13 0.501,-0.297 0.897,-0.462 0.396,-0.164 0.89,-0.327 1.485,-0.448 0.596,-0.122 1.295,-0.202 2.099,-0.202 0.67,0 1.411,0.059 2.222,0.2 0.811,0.142 1.693,0.367 2.645,0.699 0.952,0.333 1.975,0.773 3.069,1.344 1.094,0.572 2.259,1.276 3.495,2.136 L 34.192,19.157 37.01,21.975 50.111,8.874 57.751,1.304 M 57.588,80.32 94.807,15.838 57.588,-48.644 h -74.463 l -37.219,64.482 37.219,64.482 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path58"
+ inkscape:connector-curvature="0" /></g><g
+ id="g60"
+ transform="matrix(1.697972,0,0,1.697972,365.83092,350.92547)"
+ style="fill:#ffffff;fill-opacity:1"><path
+ d="M 0,0 -9.913,9.895 -9.208,10.604 0.775,0.73 Z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path62"
+ inkscape:connector-curvature="0" /></g></g></svg>
diff --git a/testing/looking-glass/APKBUILD b/testing/looking-glass/APKBUILD
new file mode 100644
index 00000000000..21818202bf5
--- /dev/null
+++ b/testing/looking-glass/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: Rogério da Silva Yokomizo <me@ro.ger.io>
+# Maintainer: Rogério da Silva Yokomizo <me@ro.ger.io>
+pkgname=looking-glass
+_pkgver=B6
+pkgver=6b
+pkgrel=2
+pkgdesc="Allows the use of a KVM configured for VGA PCI Pass-through without an attached physical monitor, keyboard or mouse"
+url="https://looking-glass.io/"
+arch="x86_64"
+license="GPL-2.0-or-later"
+makedepends="
+ cmake
+ fontconfig-dev
+ libsamplerate-dev
+ libx11-dev
+ libxcursor-dev
+ libxfixes-dev
+ libxi-dev
+ libxinerama-dev
+ libxkbcommon-dev
+ libxpresent-dev
+ libxscrnsaver-dev
+ nettle-dev
+ obs-studio-dev
+ pipewire-dev
+ pulseaudio-dev
+ samurai
+ spice-dev
+ wayland-dev
+ wayland-protocols
+ "
+source="$pkgname-$_pkgver.tar.gz::https://looking-glass.io/artifact/$_pkgver/source
+ missing-includes.patch
+ obs-plugins-lib.patch
+ werror.patch
+ "
+subpackages="$pkgname-obs"
+builddir="$srcdir/$pkgname-$_pkgver"
+options="!check" # There are no tests nor --version.
+
+build() {
+ cmake -S client -B build-client -G Ninja \
+ -DENABLE_BACKTRACE=OFF \
+ -DOPTIMIZE_FOR_NATIVE=OFF \
+ -DCMAKE_INSTALL_PREFIX=/usr
+
+ cmake -S obs -B build-obs -G Ninja \
+ -DENABLE_BACKTRACE=OFF \
+ -DOPTIMIZE_FOR_NATIVE=OFF \
+ -DCMAKE_INSTALL_PREFIX=/usr
+
+ cmake --build build-client
+ cmake --build build-obs
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build-client
+ DESTDIR="$pkgdir" cmake --install build-obs
+}
+
+obs() {
+ pkgdesc="$pkgdesc (obs plugin)"
+ amove usr/lib/obs-plugins
+}
+
+sha512sums="
+558981d6b32098076ef0775a748da349941551352cbef836e37310e43e5cd6072df3dec6fa2418a9abecc7729ef0c1c6869e3168d05a3d76bea46c6eb8c4e82c looking-glass-B6.tar.gz
+6d2449764a8316dd3c1b5cc0aa552671068f89ed2f95297f3c5256af8529b93e5ec7af8f979bd2e744fd09b11063e8a93f3ed26284f0e49294e467ca10f6e772 missing-includes.patch
+33c5463412a16691f47d7833ebf81d7cf20c560a077dca141dcc9f02a5d6dfb676e483835f39a06012b114be9f509dda4614fe253bb1c72a0142e82dc265a5ca obs-plugins-lib.patch
+b952d1fd284aed15bcfe7990f160dec3a4565fb5833ce339920f62de6bb46fbc09265a0a79fe80d212eecc6a1813614e1e193a8846c37e2afd18431dc3a89ca4 werror.patch
+"
diff --git a/testing/looking-glass/missing-includes.patch b/testing/looking-glass/missing-includes.patch
new file mode 100644
index 00000000000..635752cca64
--- /dev/null
+++ b/testing/looking-glass/missing-includes.patch
@@ -0,0 +1,92 @@
+--- a/repos/PureSpice/src/agent.c
++++ b/repos/PureSpice/src/agent.c
+@@ -31,6 +31,7 @@ Place, Suite 330, Boston, MA 02111-1307
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <assert.h>
+
+ #include <sys/ioctl.h>
+--- a/repos/PureSpice/src/channel_cursor.c
++++ b/repos/PureSpice/src/channel_cursor.c
+@@ -25,6 +25,7 @@ Place, Suite 330, Boston, MA 02111-1307
+ #include "channel_cursor.h"
+
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "messages.h"
+
+--- a/repos/PureSpice/src/channel_display.c
++++ b/repos/PureSpice/src/channel_display.c
+@@ -19,6 +19,7 @@ Place, Suite 330, Boston, MA 02111-1307
+
+ #include "purespice.h"
+ #include <stdlib.h>
++#include <string.h>
+
+ #include "ps.h"
+ #include "log.h"
+--- a/repos/PureSpice/src/channel_inputs.c
++++ b/repos/PureSpice/src/channel_inputs.c
+@@ -25,6 +25,7 @@ Place, Suite 330, Boston, MA 02111-1307
+ #include "messages.h"
+
+ #include <stdlib.h>
++#include <string.h>
+
+ const SpiceLinkHeader * channelInputs_getConnectPacket(void)
+ {
+--- a/repos/PureSpice/src/channel_main.c
++++ b/repos/PureSpice/src/channel_main.c
+@@ -24,6 +24,7 @@ Place, Suite 330, Boston, MA 02111-1307
+ #include "messages.h"
+
+ #include <stdlib.h>
++#include <string.h>
+
+ struct ChannelMain
+ {
+--- a/repos/PureSpice/src/channel_playback.c
++++ b/repos/PureSpice/src/channel_playback.c
+@@ -26,6 +26,8 @@ Place, Suite 330, Boston, MA 02111-1307
+
+ #include "messages.h"
+
++#include <string.h>
++
+ const SpiceLinkHeader * channelPlayback_getConnectPacket(void)
+ {
+ typedef struct
+--- a/repos/PureSpice/src/channel_record.c
++++ b/repos/PureSpice/src/channel_record.c
+@@ -26,6 +26,8 @@ Place, Suite 330, Boston, MA 02111-1307
+
+ #include "messages.h"
+
++#include <string.h>
++
+ const SpiceLinkHeader * channelRecord_getConnectPacket(void)
+ {
+ typedef struct
+--- a/repos/PureSpice/src/log.c
++++ b/repos/PureSpice/src/log.c
+@@ -25,6 +25,7 @@ Place, Suite 330, Boston, MA 02111-1307
+
+ #include <stdarg.h>
+ #include <stdio.h>
++#include <string.h>
+
+ static void log_stdout(const char * file, unsigned int line,
+ const char * function, const char * format, ...)
+--- a/repos/PureSpice/src/ps.c
++++ b/repos/PureSpice/src/ps.c
+@@ -37,6 +37,7 @@ Place, Suite 330, Boston, MA 02111-1307
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include <assert.h>
+ #include <errno.h>
+
diff --git a/testing/looking-glass/obs-plugins-lib.patch b/testing/looking-glass/obs-plugins-lib.patch
new file mode 100644
index 00000000000..1390adb7fb7
--- /dev/null
+++ b/testing/looking-glass/obs-plugins-lib.patch
@@ -0,0 +1,12 @@
+--- a/obs/CMakeLists.txt
++++ b/obs/CMakeLists.txt
+@@ -84,7 +84,8 @@ target_link_libraries(looking-glass-obs
+ )
+
+ install(TARGETS looking-glass-obs
+- LIBRARY DESTINATION ${OBS_PLUGIN_PREFIX}/${CMAKE_PROJECT_NAME}/bin/${OBS_PLUGIN_DIR}
++ # LIBRARY DESTINATION ${OBS_PLUGIN_PREFIX}/${CMAKE_PROJECT_NAME}/bin/${OBS_PLUGIN_DIR}
++ LIBRARY DESTINATION /usr/lib/obs-plugins
+ )
+
+ feature_summary(WHAT ENABLED_FEATURES DISABLED_FEATURES)
diff --git a/testing/looking-glass/werror.patch b/testing/looking-glass/werror.patch
new file mode 100644
index 00000000000..436419f70d7
--- /dev/null
+++ b/testing/looking-glass/werror.patch
@@ -0,0 +1,24 @@
+diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt
+index 836f814..7047365 100644
+--- a/client/CMakeLists.txt
++++ b/client/CMakeLists.txt
+@@ -68,7 +68,6 @@ add_compile_options(
+ "-Wno-unused-parameter"
+ "$<$<COMPILE_LANGUAGE:C>:-Wstrict-prototypes>"
+ "$<$<C_COMPILER_ID:GNU>:-Wimplicit-fallthrough=2>"
+- "-Werror"
+ "-Wfatal-errors"
+ "-ffast-math"
+ "-fdata-sections"
+diff --git a/obs/CMakeLists.txt b/obs/CMakeLists.txt
+index 0491e65..60b37ff 100644
+--- a/obs/CMakeLists.txt
++++ b/obs/CMakeLists.txt
+@@ -18,7 +18,6 @@ add_feature_info(ENABLE_BACKTRACE ENABLE_BACKTRACE "Backtrace support.")
+
+ add_compile_options(
+ "-Wall"
+- "-Werror"
+ "-Wfatal-errors"
+ "-ffast-math"
+ "-fdata-sections"
diff --git a/testing/loolwsd/APKBUILD b/testing/loolwsd/APKBUILD
index 9c62835b1c3..7a86790ebd5 100644
--- a/testing/loolwsd/APKBUILD
+++ b/testing/loolwsd/APKBUILD
@@ -2,15 +2,16 @@
# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
pkgname=loolwsd
pkgver=6.4.0.2
-pkgrel=0
+pkgrel=2
pkgdesc="LibreOffice Online WebSocket server"
url="https://github.com/LibreOffice/online"
license="MPL-2.0"
# x86 and armv7 fail to build with size errors
-# mips64 and riscv64 blocked by nodejs/npm
-arch="all !s390x !mips64 !x86 !armv7 !armhf !riscv64"
+# ppc64le blocked by libreofficekit
+# all: does not build
+#arch="all !s390x !x86 !armv7 !armhf !ppc64le"
makedepends="automake autoconf libtool libreofficekit bash py3-lxml py3-polib libpng-dev
- cppunit-dev libcap-dev linux-pam-dev npm openssl-dev krb5-dev poco-dev libseccomp-dev"
+ cppunit-dev libcap-dev linux-pam-dev npm openssl-dev>3 krb5-dev poco-dev libseccomp-dev"
subpackages="$pkgname-doc"
source="https://github.com/LibreOffice/online/archive/libreoffice-$pkgver.tar.gz
10-musl.patch"
diff --git a/testing/lotide/APKBUILD b/testing/lotide/APKBUILD
new file mode 100644
index 00000000000..a9039b54f34
--- /dev/null
+++ b/testing/lotide/APKBUILD
@@ -0,0 +1,89 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=lotide
+pkgver=0.15.0
+pkgrel=0
+_hitide="${pkgver%.*}.0"
+pkgdesc="Federated forum / link aggregator using ActivityPub"
+url="https://sr.ht/~vpzom/lotide/"
+arch="all"
+license="AGPL-3.0-or-later"
+makedepends="cargo cargo-auditable openssl-dev zlib-dev"
+install="lotide.pre-install lotide.post-install hitide.pre-install"
+pkgusers="lotide"
+pkggroups="lotide"
+subpackages="lotide-openrc hitide hitide-openrc:_hitide_openrc:noarch"
+source="lotide-$pkgver.tar.gz::https://git.sr.ht/~vpzom/lotide/archive/v$pkgver.tar.gz
+ hitide-$_hitide.tar.gz::https://git.sr.ht/~vpzom/hitide/archive/v$_hitide.tar.gz
+ cargo-update-libc_patch
+
+ lotide.initd lotide.confd
+ hitide.initd hitide.confd
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # Requires running database
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+
+ cd "../hitide-v$_hitide"
+ patch Cargo.lock "$srcdir"/cargo-update-libc_patch
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+
+ cd "../hitide-v$_hitide"
+
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+
+ cd "../hitide-v$_hitide"
+
+ cargo test --frozen
+}
+
+package() {
+ install -Dvm755 target/release/lotide -t "$pkgdir"/usr/bin/
+
+ install -dm750 -o lotide -g lotide "$pkgdir"/var/lib/lotide
+ install -dm750 -o lotide -g lotide "$pkgdir"/var/lib/lotide/media
+
+ install -Dm755 "$srcdir"/lotide.initd "$pkgdir"/etc/init.d/lotide
+ install -Dm644 "$srcdir"/lotide.confd "$pkgdir"/etc/conf.d/lotide
+
+ cd "../hitide-v$_hitide"
+
+ install -Dvm755 target/release/hitide -t "$pkgdir"/usr/bin/
+}
+
+hitide() {
+ pkgdesc="$pkgdesc (web UI frontend)"
+
+ amove usr/bin/hitide
+}
+
+_hitide_openrc() {
+ pkgdesc="$pkgdesc (OpenRC init scripts for web UI frontend)"
+ install_if="openrc hitide=$pkgver-r$pkgrel"
+
+ install -Dm755 "$srcdir"/hitide.initd "$subpkgdir"/etc/init.d/hitide
+ install -Dm644 "$srcdir"/hitide.confd "$subpkgdir"/etc/conf.d/hitide
+}
+
+sha512sums="
+f6c49e58207644eea17a847a4a38f23765322e030fdfe79f6aec27312217a42f10c830047f87de1441d45856a3f53dc02247b934fe9b85cbe36ca83d251b7497 lotide-0.15.0.tar.gz
+3888c09e51005faf55bd2a7d9772398f318ed01b016bf1af265b94ad6d3e3272b8d5fe163629f2227e8ec9638da196393c040dcacf4100ab1616a741de2545b2 hitide-0.15.0.tar.gz
+753b55edaa323cd7d777a994ebfc365036e1031f81f31e4907181dd2acf94e3f77e3ce0b49c1ccb73f801687f385d263506276c48fe627f56b906421251b9ed7 cargo-update-libc_patch
+ba052e36c230192c4b5eb3d3f47c39c00ecc4bfb8722bada4101b7367f9c49713ae3de5688680c556b4c3042ce338b8bd0e20b85d5367e1f541b38669bba64cd lotide.initd
+a8c10e2d17118bdc7701330a3f2e6930c8e3a85162174792f7ee314b4bb8ee4d21954a32689282ab5ed75edda588fbc84ab6c309c346b8dde5910fcf7a4dcaec lotide.confd
+83a27192d78fc399cf4b3158fe687efb6155c183812444657a42938f91ef5d8c675f46af365ecb677bf728158868a2fd9a80a3e1ca479ab810f4a7909d711168 hitide.initd
+f715ea4d941d45bdd7773d0450049333ab48d9d7292c7aa17bcf26109246f33289ddeae92e4a06457a4209a0a65248d67a13736e3be7126378c890776aa515d6 hitide.confd
+"
diff --git a/testing/lotide/cargo-update-libc_patch b/testing/lotide/cargo-update-libc_patch
new file mode 100644
index 00000000000..8454e6bbeb0
--- /dev/null
+++ b/testing/lotide/cargo-update-libc_patch
@@ -0,0 +1,14 @@
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -728,9 +728,9 @@
+
+ [[package]]
+ name = "libc"
+-version = "0.2.145"
++version = "0.2.150"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fc86cde3ff845662b8f4ef6cb50ea0e20c524eb3d29ae048287e06a1b3fa6a81"
++checksum = "89d92a4743f9a61002fae18374ed11e7973f530cb3a3255fb354818118b2203c"
+
+ [[package]]
+ name = "linux-raw-sys"
diff --git a/testing/lotide/hitide.confd b/testing/lotide/hitide.confd
new file mode 100644
index 00000000000..bb9eb20ef78
--- /dev/null
+++ b/testing/lotide/hitide.confd
@@ -0,0 +1,11 @@
+# Configuration for /etc/init.d/hitide
+
+# The internal URL path for accessing the lotide backend
+BACKEND_HOST="http://localhost:3333"
+
+# The external user-facing URL path of the frontend
+FRONTEND_URL="https://lotide.example.com"
+
+# Port number to bind to.
+# (If not set, defaults to 4333.)
+#HITIDE_PORT=4333
diff --git a/testing/lotide/hitide.initd b/testing/lotide/hitide.initd
new file mode 100644
index 00000000000..af848ea99f0
--- /dev/null
+++ b/testing/lotide/hitide.initd
@@ -0,0 +1,23 @@
+#!/sbin/openrc-run
+
+name=hitide
+description="Lotide UI"
+
+export BACKEND_HOST
+export FRONTEND_URL
+export HITIDE_PORT
+
+command="/usr/bin/hitide"
+command_background=true
+command_user="hitide:hitide"
+pidfile="/run/${RC_SVCNAME}.pid"
+error_log="/var/log/hitide.log"
+
+depend() {
+ need localmount net
+ after firewall lotide
+}
+
+start_pre() {
+ checkpath -f -m 0640 -o "$command_user" "$error_log"
+}
diff --git a/testing/lotide/hitide.pre-install b/testing/lotide/hitide.pre-install
new file mode 100644
index 00000000000..b914069286b
--- /dev/null
+++ b/testing/lotide/hitide.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S hitide 2>/dev/null
+adduser -S -D -H \
+ -h /var/empty \
+ -s /sbin/nologin \
+ -G hitide \
+ -g "Lotide UI" \
+ hitide 2>/dev/null
+
+exit 0
diff --git a/testing/lotide/lotide.confd b/testing/lotide/lotide.confd
new file mode 100644
index 00000000000..bcc82f6c436
--- /dev/null
+++ b/testing/lotide/lotide.confd
@@ -0,0 +1,33 @@
+# Configuration for /etc/init.d/lotide
+
+# Credentials for database connection. For examples, see
+# https://docs.rs/tokio-postgres/0.6.0/tokio_postgres/config/struct.Config.html#examples-1
+DATABASE_URL="postgres://user:password@localhost/lotide"
+
+# Port the lotide backend listens on.
+# (If not set, defaults to 3333.)
+#LOTIDE_PORT=3333
+
+# Set this to the external root address lotide is hosted at,
+# and reverse proxy all `application/activity+json` and
+# `application/ld+json` content types to "http://localhost:3333/apub"
+HOST_URL_ACTIVITYPUB="https://lotide.example.com"
+
+# Lotide API endpoint
+HOST_URL_API="https://lotide.example.com/api"
+
+# Set to `true` to make signatures work with the proxy setup
+APUB_PROXY_REWRITES="true"
+
+# Set to `true` to make ratelimiting work with the proxy setup
+ALLOW_FORWARDED="true"
+
+# URL used to access SMTP server, required for sending email
+#SMTP_URL="smtps://username:password@smtp.example.com"
+
+# From value used in sent emails, required for sending email
+#SMTP_FROM="admin@lotide.example.com"
+
+# Directory on disk used for storing uploaded images.
+# (If not set, image uploads will be disabled.)
+#MEDIA_LOCATION="/var/lib/lotide/media"
diff --git a/testing/lotide/lotide.initd b/testing/lotide/lotide.initd
new file mode 100644
index 00000000000..ab275f9cf56
--- /dev/null
+++ b/testing/lotide/lotide.initd
@@ -0,0 +1,80 @@
+#!/sbin/openrc-run
+
+name=lotide
+description="Lotide Backend"
+
+extra_stopped_commands="setup migrate"
+description_setup="Setup the Lotide database"
+description_migrate="Run Lotide database migrations"
+
+export DATABASE_URL
+export LOTIDE_PORT
+export HOST_URL_ACTIVITYPUB
+export HOST_URL_API
+export APUB_PROXY_REWRITES
+export ALLOW_FORWARDED
+export SMTP_URL
+export SMTP_FROM
+export MEDIA_LOCATION
+
+command="/usr/bin/lotide"
+command_background=true
+command_user="lotide:lotide"
+pidfile="/run/${RC_SVCNAME}.pid"
+error_log="/var/log/lotide.log"
+
+depend() {
+ need localmount net
+ after firewall postgresql
+}
+
+start_pre() {
+ checkpath -f -m 0640 -o "$command_user" "$error_log"
+ checkpath -d -m 0750 -o "$command_user" "/var/lib/lotide"
+
+ lotide_exec migrate
+}
+
+setup() {
+ local dbname dbuser dbpass domain sqlhost sqlport sqluri
+ local sqlfile="$(mktemp -u).sql"
+
+ read -p "Lotide db name: " dbname
+ read -p "Lotide db user: " dbuser
+ read -p "Lotide db password: " dbpass
+ read -p "Lotide domain: " domain
+ read -p "PostgreSQL host: " sqlhost
+ read -p "PostgreSQL port: " sqlport
+
+ sqluri="\"postgres:\/\/$dbuser:$dbpass@$sqlhost:$sqlport\/$dbname\""
+
+ sed -i -e "s/lotide\.example\.com/$domain/g" \
+ -e "/^DATABASE_URL/s/=.*/=$sqluri/" \
+ /etc/conf.d/lotide
+
+ if [ -f /etc/conf.d/hitide ]; then
+ sed -i -e "s/lotide\.example\.com/$domain/g" \
+ /etc/conf.d/hitide
+ fi
+
+ umask 0177
+ cat > "$sqlfile" <<-EOF
+ CREATE USER $dbuser WITH PASSWORD '$dbpass';
+ CREATE DATABASE $dbname OWNER $dbuser;
+ EOF
+
+ einfo "Initialize your Lotide db with $sqlfile,"
+ einfo "then run: rc-service $RC_SVCNAME migrate"
+}
+
+migrate() {
+ ebegin "Running Lotide database migrations"
+ lotide_exec migrate setup
+ lotide_exec migrate >/dev/null
+ eend $?
+}
+
+lotide_exec() {
+ start-stop-daemon --exec "$command" --user "$command_user" \
+ -- $command_args $*
+}
diff --git a/testing/lotide/lotide.post-install b/testing/lotide/lotide.post-install
new file mode 100644
index 00000000000..c039eb83dc0
--- /dev/null
+++ b/testing/lotide/lotide.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+echo "--"
+echo "Setup the Lotide database by running: rc-service lotide setup"
+echo "Run the hitide service, and setup your reverse proxy by following the example at"
+echo "https://git.sr.ht/~vpzom/lotide/tree/master/doc/INSTALL.md#recommended-proxy-setup"
+echo "--"
diff --git a/testing/lotide/lotide.pre-install b/testing/lotide/lotide.pre-install
new file mode 100644
index 00000000000..ee165c91754
--- /dev/null
+++ b/testing/lotide/lotide.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S lotide 2>/dev/null
+adduser -S -D -H \
+ -h /var/lib/lotide \
+ -s /sbin/nologin \
+ -G lotide \
+ -g "Lotide Backend" \
+ lotide 2>/dev/null
+
+exit 0
diff --git a/testing/lottieconverter/APKBUILD b/testing/lottieconverter/APKBUILD
new file mode 100644
index 00000000000..66e20054bad
--- /dev/null
+++ b/testing/lottieconverter/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=lottieconverter
+pkgver=0.2_git20231219
+_gitrev=3ad34af7bbcf9197fda782a5832b18b72a3bb939
+pkgrel=0
+pkgdesc="Simple, dummy lottie converter"
+url="https://github.com/sot-tech/LottieConverter"
+arch="all"
+license="BSD-3-Clause"
+makedepends="
+ cmake
+ giflib-dev
+ libpng-dev
+ rlottie-dev
+ samurai
+ zlib-dev
+"
+subpackages="$pkgname-doc"
+source="
+ $pkgname-$_gitrev.tar.gz::https://github.com/sot-tech/LottieConverter/archive/$_gitrev.tar.gz
+"
+builddir="$srcdir/LottieConverter-$_gitrev"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DSYSTEM_GL=1 \
+ -DSYSTEM_RL=1
+
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build -C Release --output-on-failure
+}
+
+package() {
+ install -Dm755 build/lottieconverter -t "$pkgdir"/usr/bin
+
+ install -Dm644 LICENSE.txt "$pkgdir"/usr/share/licenses/lottieconverter/LICENSE
+}
+
+sha512sums="
+770b305ecb843807a2519094f090c092baee56a572b7e52c7d6cde079c179e6aa57ebdabf8448cbbaedda7b7ae9f6f0552389b900bae2b3de00eca8ea9408d45 lottieconverter-3ad34af7bbcf9197fda782a5832b18b72a3bb939.tar.gz
+"
diff --git a/testing/lout/APKBUILD b/testing/lout/APKBUILD
index 21f88a677fd..d39995e6e82 100644
--- a/testing/lout/APKBUILD
+++ b/testing/lout/APKBUILD
@@ -1,9 +1,9 @@
# Maintainer: Paul Bredbury <brebs@sent.com>
pkgname=lout
-pkgver=3.42
-pkgrel=1
+pkgver=3.42.2
+pkgrel=0
pkgdesc="Lightweight typesetting and document formatting system"
-url="https://savannah.nongnu.org/projects/lout"
+url="https://github.com/william8000/lout"
arch="all"
license="GPL-3.0-or-later"
makedepends="zlib-dev"
@@ -34,6 +34,6 @@ package() {
}
sha512sums="
-2c6e496bbacbce68f1c0b6a8c4b18eb275264c04eae14afc9f59fdc7578457da001c7f0fe4c0c1a1603618a1e4528ba41e53539c3c5e8e747221abaf9d1df8f2 lout-3.42.tar.gz
-25ec49f9c650e93f68e6e06a9a9b0d0b68b4ecbe30b7d4df4c86b30f1c5b590bad49f6b4948054f49ffe13d1ad27bf72eaf4be9d3db0223eed7310ac1b443b39 makefile.patch
+1e3b419f03232a55c8d6b2d904e8a4fed4a601b4bc93f9e85bdfc78a56b6f93837d4751ae1d877e2ef19215cd9ec2ad76d83ec75cd7d74d668c89b14014304d9 lout-3.42.2.tar.gz
+5f36fcda843a5dc933f8fb6e01b23184153b80401986f233c2ec622fc459fa78b73e1dbf2c17b5973d99dd57c7cd79744b3c1d4dd4f70e156e08a0f3184db065 makefile.patch
"
diff --git a/testing/lout/makefile.patch b/testing/lout/makefile.patch
index f17dcb1daa4..cf5176bfd13 100644
--- a/testing/lout/makefile.patch
+++ b/testing/lout/makefile.patch
@@ -1,6 +1,5 @@
-diff '--color=auto' -Naur a/makefile b/makefile
---- a/makefile 2021-10-23 19:51:45.196005946 +0100
-+++ b/makefile 2021-10-23 21:34:11.902953403 +0100
+--- a/makefile
++++ b/makefile
@@ -274,16 +274,11 @@
#TRACING = -g -fno-omit-frame-pointer -fsanitize=undefined
#TRACING = -g -fno-omit-frame-pointer -fsanitize=address -fsanitize-recover
@@ -22,7 +21,7 @@ diff '--color=auto' -Naur a/makefile b/makefile
LIBFONT = font
LIBMAPS = maps
-@@ -295,7 +290,7 @@
+@@ -295,14 +290,14 @@
CHARIN = 1
CHAROUT = 0
@@ -31,30 +30,12 @@ diff '--color=auto' -Naur a/makefile b/makefile
LOC_FR = fr
LOC_DE = de
-@@ -315,7 +310,7 @@
- # Add WARN to COPTS for more checking
- WARN = -Wpointer-arith -Wclobbered -Wempty-body -Wmissing-parameter-type -Wmissing-field-initializers -Wold-style-declaration -Wtype-limits -Wuninitialized -Winit-self -Wlogical-op -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wbad-function-cast
+ COLLATE = 1
--COPTS = -ansi -pedantic -Wall -O3 -pipe
-+COPTS += -ansi -pedantic
+-PDF_COMPRESSION = 0
+-ZLIB =
++PDF_COMPRESSION = 1
++ZLIB = -lz
+ ZLIBPATH =
- CFLAGS = -DOS_UNIX=$(OSUNIX) \
- -DOS_DOS=$(OSDOS) \
-@@ -349,7 +344,7 @@
- z49.o z50.o z51.o z52.o
-
- lout: $(OBJS)
-- $(CC) $(CFLAGS) -o lout $(OBJS) $(ZLIB) -lm
-+ $(CC) $(CFLAGS) $(LDFLAGS) -o lout $(OBJS) $(ZLIB) -lm
- chmod a+x lout
-
- $(OBJS): externs.h
-@@ -357,7 +352,7 @@
- externs.h:
-
- prg2lout: prg2lout.c
-- $(CC) $(COPTS) -o prg2lout prg2lout.c
-+ $(CC) $(COPTS) $(LDFLAGS) -o prg2lout prg2lout.c
- chmod a+x prg2lout
-
- all: lout prg2lout
+ CC = gcc
diff --git a/testing/lowjs/APKBUILD b/testing/lowjs/APKBUILD
index 2b6db251b3d..38fe82176fc 100644
--- a/testing/lowjs/APKBUILD
+++ b/testing/lowjs/APKBUILD
@@ -4,62 +4,50 @@ pkgname=lowjs
pkgver=1.6.2
# Keep in sync with submodules in deps/.
_gitrev_open62541="8828fa712d7076962aa67d2a0542d7892c34d964"
-_gitrev_duktape="10486db548732957ba9fc8c9e4ad01a857d268bd"
-pkgrel=0
+_commit_sha="d14bd8de2d"
+_commit_date="2021-02-28T00:53:17Z"
+pkgrel=2
pkgdesc="A port of Node.JS with far lower system requirements"
url="https://www.neonious.com/lowjs/"
-arch="all !s390x !ppc64le !mips !mips64 !riscv64" # excluded archs are not supported
+arch="all !s390x !ppc64le !riscv64" # excluded archs are not supported
license="custom"
makedepends="
c-ares-dev
cmake
+ duktape-dev
jq
- mbedtls-dev
+ mbedtls2-dev
npm
- py2-setuptools
python3
- python3-dev
- yaml-dev
"
subpackages="$pkgname-doc"
source="https://github.com/neonious/lowjs/archive/v$pkgver/$pkgname-$pkgver.tar.gz
https://github.com/neonious/open62541/archive/$_gitrev_open62541/open62541-$_gitrev_open62541.tar.gz
- https://github.com/svaarala/duktape/archive/$_gitrev_duktape/duktape-$_gitrev_duktape.tar.gz
- https://pypi.org/packages/source/p/pyaml/pyaml-20.4.0.tar.gz
use-npm-ci.patch
open62541-gcc9.patch
unbundle-c-ares.patch
unbundle-mbedtls.patch
make-flags.patch
+ musl.patch
+ unbundle-duktape.patch
test.js
"
builddir="$srcdir/$pkgname-$pkgver"
+options="net" # npm
prepare() {
- cd "$builddir"
-
rm -Rf deps/open62541
mv ../open62541-$_gitrev_open62541 deps/open62541
- rm -Rf deps/duktape
- mv ../duktape-$_gitrev_duktape deps/duktape
-
- easy_install-2.7 --user ../pyaml-*
-
default_prepare
}
build() {
- local resp=$(curl -fsSL https://api.github.com/repos/neonious/lowjs/commits/v$pkgver)
- local commit_sha=$(echo "$resp" | jq -r '.sha | .[0:10]')
- local commit_date=$(echo "$resp" | jq -r '.commit.committer.date | .[0:4]+.[5:7]+.[8:10]')
- [ "$commit_sha" ] && [ "$commit_date" ] || { eerror "Failed to get commit SHA or date"; return 1; }
-
unset LDFLAGS # fails to build with -Wl,--as-needed
make -j1 \
LOW_LIB_PATH="../lib/low/" \
- LOW_VERSION="${commit_date}_${commit_sha}"
+ LOW_VERSION="${_commit_date}_${_commit_sha}"
}
check() {
@@ -81,13 +69,15 @@ package() {
install -D -m 0644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-sha512sums="d013b1d631d1056baf1e5b12f606b1d14ebd3355a9cc75e5e1b6179e65918c5a5d68b79058c6ea56c848729eee74c39386451fd17c6de53667a3b542b1256c83 lowjs-1.6.2.tar.gz
+sha512sums="
+d013b1d631d1056baf1e5b12f606b1d14ebd3355a9cc75e5e1b6179e65918c5a5d68b79058c6ea56c848729eee74c39386451fd17c6de53667a3b542b1256c83 lowjs-1.6.2.tar.gz
8d992a3a8fdf1717af2497c0d2d5e9e27e490b29253da78ecd64a6ff866fcef4f7114cb7cb073a8a862efff16eddfcb9416a9c64a2659b3bc9c2294e4cec3734 open62541-8828fa712d7076962aa67d2a0542d7892c34d964.tar.gz
-7f34ae3f6f0d9bfd039ef3ba14939eb4d59cf513b5c7fac7e9aec915cb3551751a95c2e8d91d56bae9343d2a834a572516827a7997cf8596cb3e9b127e1f32d5 duktape-10486db548732957ba9fc8c9e4ad01a857d268bd.tar.gz
-432fd215e034beafc07270a6aa8b726d5a16ef8946a95c1db9a34b4f492bbe2089dffbb1ce856d3e8153ec18ac943973a23e3aa9283d53ee0b2e7ba5dcd3d317 pyaml-20.4.0.tar.gz
b8aecec6aa87eb2ab7ffecaca1989f922042ee534612229872bad10bc0e304951cb66a1d1aa3ba4e76384ca2ea28b8c5b7176eacf6b7df3d59ea7435b7894a48 use-npm-ci.patch
c2c7f10d327d2e56d2824db02c647c05773c652179f40eff7b376dfbf7eecd72b7d07c18458d59fd195993b261cb9a48e9f521ccb1a519807270c036ed8d5746 open62541-gcc9.patch
37d8810d8e89354ed8d908395ba21b7795049ff990f2d6d795d2458f511c4a9352c734f989c9eb2a54f8a06475769abe4051056d4c92e613d12103168790d361 unbundle-c-ares.patch
bc0d847cabf195911b127768ac99d7876a2c43b0bb7ed359c9691f525560b302c3ee404fb16a0245acf9d04b912dabb89dd6f9584bafeeb6fe3b07eeaaac7cdb unbundle-mbedtls.patch
6a7771e749bf567819bb028738cf38da71ab7a397211de410e2406dc3a2e87bc8d4e4c4804e25f0a76b2dc96836b020ac91d8a32c806eb2874fe65deee2c51f9 make-flags.patch
-9ee7d585c9ce17ca00e86e0f74976883fa14e70f3728cf230256f2570dafdaa3adeae1922de5f0dcb74bba8577f9394c54441bc3729c1bb58bb6a298c26651d0 test.js"
+e42dfb980acacdd4bd042bad0e625562122b84037fa8b25c2bbe8dee2b6598505205d5aa9ecc66cee5ae2d830bd847e74147323c9db183789dc09f3be58fc71c musl.patch
+03b1a8fb5ef165c0b64165e191ad4f15bfbfadde58cc46b149943bfefaeebe2d0819cf54ed28c7935640545b523fcaa73abf0d8efa9988bca70d5791988e84d5 unbundle-duktape.patch
+9ee7d585c9ce17ca00e86e0f74976883fa14e70f3728cf230256f2570dafdaa3adeae1922de5f0dcb74bba8577f9394c54441bc3729c1bb58bb6a298c26651d0 test.js
+"
diff --git a/testing/lowjs/musl.patch b/testing/lowjs/musl.patch
new file mode 100644
index 00000000000..20c9cd89980
--- /dev/null
+++ b/testing/lowjs/musl.patch
@@ -0,0 +1,45 @@
+--- a/src/low_main.cpp
++++ b/src/low_main.cpp
+@@ -78,9 +78,9 @@
+ low->in_gc = false;
+ low->disallow_native = false;
+
+- low->web_thread = NULL;
++ low->web_thread = 0;
+ for(int i = 0; i < LOW_NUM_DATA_THREADS; i++)
+- low->data_thread[i] = NULL;
++ low->data_thread[i] = 0;
+
+ low->destroying = false;
+ low->duk_flag_stop = 0;
+--- a/src/LowHTTPDirect.h
++++ b/src/LowHTTPDirect.h
+@@ -8,6 +8,7 @@
+ #include "LowLoopCallback.h"
+ #include "LowSocketDirect.h"
+
++#include <ctype.h>
+ #include <pthread.h>
+
+ #include "low_config.h"
+--- a/src/low_crypto.h
++++ b/src/low_crypto.h
+@@ -5,6 +5,7 @@
+ #ifndef __LOW_CRYPTO_H__
+ #define __LOW_CRYPTO_H__
+
++#include <ctype.h>
+ #include "duktape.h"
+
+ duk_ret_t low_crypto_create_hash(duk_context *ctx);
+--- a/src/low_opcua.h
++++ b/src/low_opcua.h
+@@ -7,6 +7,7 @@
+ #define __LOW_OPCUA_H__
+
+ #include "duktape.h"
++#include <ctype.h>
+
+ #include "low_main.h"
+ #include "LowLoopCallback.h"
+
diff --git a/testing/lowjs/unbundle-duktape.patch b/testing/lowjs/unbundle-duktape.patch
new file mode 100644
index 00000000000..40b5fba8ea3
--- /dev/null
+++ b/testing/lowjs/unbundle-duktape.patch
@@ -0,0 +1,36 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,19 +1,18 @@
+ FLAGS = -DLOW_VERSION="\"$(LOW_VERSION)\"" -DLOW_LIB_PATH="\"$(LOW_LIB_PATH)\""
+
+ C = gcc
+-CFLAGS += $(FLAGS) -Isrc -Iapp -Ideps/duktape/src-low
++CFLAGS += $(FLAGS) -Isrc -Iapp
+
+ CXX = g++
+-CXXFLAGS += $(CXXFLAGS_SERV) $(FLAGS) -Isrc -Iapp -Ideps/duktape/src-low -Ideps/open62541/build/src_generated -Ideps/open62541/include -Ideps/open62541/arch -Ideps/open62541/plugins/include -Ideps/open62541/src/client -Ideps/open62541/deps -Ideps/open62541/src --std=c++11
++CXXFLAGS += $(CXXFLAGS_SERV) $(FLAGS) -Isrc -Iapp -Ideps/open62541/build/src_generated -Ideps/open62541/include -Ideps/open62541/arch -Ideps/open62541/plugins/include -Ideps/open62541/src/client -Ideps/open62541/deps -Ideps/open62541/src --std=c++11
+
+ LD = g++
+-LDFLAGS += $(FLAGS) -lm -ldl -lpthread -lcares -lmbedcrypto -lmbedtls -lmbedx509 deps/open62541/build/bin/libopen62541.a -lresolv
++LDFLAGS += $(FLAGS) -lm -ldl -lpthread -lcares -lmbedcrypto -lmbedtls -lmbedx509 deps/open62541/build/bin/libopen62541.a -lresolv -lduktape
+
+ OBJECTS_LOW = \
+ app/main.o \
+ app/transpile.o
+ OBJECTS = \
+- deps/duktape/src-low/duktape.o \
+ src/low_main.o \
+ src/low_module.o \
+ src/low_native.o \
+@@ -60,8 +59,8 @@
+
+ obj_lowjs_serv: $(OBJECTS) $(OBJECTS_LOW) deps/mbedtls/programs/test/benchmark util/dukc
+
+-util/dukc: deps/duktape/src-low/duktape.o util/dukc.o
+- $(LD) -o util/dukc deps/duktape/src-low/duktape.o util/dukc.o $(LDFLAGS)
++util/dukc: util/dukc.o
++ $(LD) -o util/dukc util/dukc.o $(LDFLAGS)
+
+ test/bugs/duk_crash_TR20180627: deps/duktape/src-low/duktape.o test/bugs/duk_crash_TR20180627.o
+ $(LD) -o test/bugs/duk_crash_TR20180627 deps/duktape/src-low/duktape.o test/bugs/duk_crash_TR20180627.o $(LDFLAGS)
diff --git a/testing/lpac/APKBUILD b/testing/lpac/APKBUILD
new file mode 100644
index 00000000000..664b02d69b7
--- /dev/null
+++ b/testing/lpac/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Luca Weiss <luca@z3ntu.xyz>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=lpac
+pkgver=2.0.0
+pkgrel=0
+pkgdesc="C-based eUICC LPA"
+url="https://github.com/estkme-group/lpac"
+# x86: textrels
+arch="all !x86"
+license="AGPL-3.0-only AND LGPL-2.0-only AND MIT"
+makedepends="
+ cmake
+ curl-dev
+ pcsc-lite-dev
+ samurai
+ "
+subpackages="$pkgname-dbg"
+source="$pkgname-$pkgver.tar.gz::https://github.com/estkme-group/lpac/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_RPATH=/usr/lib/lpac
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+d92037f095cdb73911f6933b09e208e33cb56e3c09155bb0492903eb7b3b5026a2605d3fcdea71bdbdd1115afb04171a8d44cb18df0fac09670dd1ba3b0be523 lpac-2.0.0.tar.gz
+"
diff --git a/testing/lpairs2/APKBUILD b/testing/lpairs2/APKBUILD
deleted file mode 100644
index 63146b9fa1e..00000000000
--- a/testing/lpairs2/APKBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lpairs2
-pkgver=2.1
-pkgrel=0
-pkgdesc="Classical memory game"
-url="https://lgames.sourceforge.io/LPairs/"
-arch="all"
-license="GPL-2.0-or-later"
-depends="$pkgname-data"
-makedepends="sdl2-dev sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev"
-subpackages="$pkgname-data::noarch"
-source="https://downloads.sourceforge.net/project/lgames/lpairs/lpairs2-$pkgver.tar.gz
- fix-undeclared-uint.patch
- "
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
- chmod +x install-sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --sysconfdir=/etc \
- --prefix=/usr
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-data() {
- pkgdesc="$pkgdesc (data files)"
- mkdir -p "$subpkgdir"/usr/share/
- mv "$pkgdir"/usr/share/lpairs2 \
- "$subpkgdir"/usr/share/lpairs2
-}
-
-sha512sums="
-753b8107f6b55605ef43bcf75b0e3984e5df5b12d5e42fd4c4143c0d487273c3dab7e8ad848d514bda7c029fc0798ce554b705c1ae03b0a7053c9c254fbf30df lpairs2-2.1.tar.gz
-4de6934a7840153354f54c5c6a9c14d22e3d5a76030cd33131c2511d97c363d73912d53d3581fd756ff42dec9c7d4e819056e5a2eee5d92064a88a9337abe5eb fix-undeclared-uint.patch
-"
diff --git a/testing/lpairs2/fix-undeclared-uint.patch b/testing/lpairs2/fix-undeclared-uint.patch
deleted file mode 100644
index 4e231bd1526..00000000000
--- a/testing/lpairs2/fix-undeclared-uint.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/tools.h 2021-06-01 21:37:47.088154398 +0200
-+++ b/src/tools.h 2021-06-01 21:38:22.696329395 +0200
-@@ -17,6 +17,7 @@
-
- using namespace std;
-
-+#include <sys/types.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
diff --git a/testing/lrcalc/APKBUILD b/testing/lrcalc/APKBUILD
new file mode 100644
index 00000000000..4a002ddf2f0
--- /dev/null
+++ b/testing/lrcalc/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Eloi Torrents <eloitor@disroot.org>
+# Maintainer: Eloi Torrents <eloitor@disroot.org>
+pkgname=lrcalc
+pkgver=2.1
+pkgrel=1
+pkgdesc="Littlewood-Richardson Calculator"
+url="https://sites.math.rutgers.edu/~asbuch/lrcalc/"
+arch="all"
+license="GPL-3.0-or-later"
+subpackages="$pkgname-dev $pkgname-libs"
+source="https://sites.math.rutgers.edu/~asbuch/lrcalc/lrcalc-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+76db29af51fb97e582d37b92a426cacf85fd61b8e7c2a70dc99dec23b396d62d996f0c66b5bbbd8b6928b46fa1186c9bb3c28aa91646cdccd38bd9b783af44d7 lrcalc-2.1.tar.gz
+"
diff --git a/testing/lrdf/APKBUILD b/testing/lrdf/APKBUILD
deleted file mode 100644
index 3cdb74ee585..00000000000
--- a/testing/lrdf/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=lrdf
-pkgver=0.6.1
-pkgrel=1
-pkgdesc="RDF library for accessing plugin metadata in the LADSPA plugin system"
-url="https://github.com/swh/LRDF"
-arch="all"
-license="GPL-2.0-only"
-makedepends="autoconf automake libtool raptor2-dev"
-subpackages="$pkgname-static $pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/swh/LRDF/archive/v0.6.1.tar.gz"
-builddir="$srcdir/LRDF-$pkgver"
-options="!check" # remove_test not working: https://github.com/swh/LRDF/issues/15
-
-prepare() {
- default_prepare
- autoreconf -vif
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="7732813eec704aef984d056de254e4fa049fdd0a7444b6a88f75f012afe9c587cbd1295f027c77361fa42bc097cdce9d9cabdba6b86e99a3c14805d84258df1c lrdf-0.6.1.tar.gz"
diff --git a/testing/lrzsz/APKBUILD b/testing/lrzsz/APKBUILD
index 3f8651ca40c..eea2d84e4ec 100644
--- a/testing/lrzsz/APKBUILD
+++ b/testing/lrzsz/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=lrzsz
pkgver=0.12.20
-pkgrel=1
+pkgrel=2
pkgdesc="Unix communication package providing the XMODEM, YMODEM ZMODEM file transfer protocols"
url="https://ohse.de/uwe/software/lrzsz.html"
arch="all"
diff --git a/testing/lsd/APKBUILD b/testing/lsd/APKBUILD
index 9acd19cb81c..6096f83cb3a 100644
--- a/testing/lsd/APKBUILD
+++ b/testing/lsd/APKBUILD
@@ -1,32 +1,25 @@
-# Contributor: Saijin-Naib <2107-Saijin-Naib@users.gitlab.alpinelinux.org>
-# Maintainer: Saijin-Naib <2107-Saijin-Naib@users.gitlab.alpinelinux.org>
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
pkgname=lsd
-pkgver=0.20.1
+pkgver=1.1.1
pkgrel=0
pkgdesc="Next-Gen ls command"
-url="https://github.com/Peltoche/lsd"
-arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
+url="https://github.com/lsd-rs/lsd"
+arch="all"
license="Apache-2.0"
-makedepends="cargo"
-source="${pkgname}-${pkgver}.tar.gz::https://github.com/Peltoche/$pkgname/archive/refs/tags/$pkgver.tar.gz"
-
-prepare() {
- default_prepare
-
- # Optimize binary for size (https://opensourcelibs.com/lib/min-sized-rust).
- # Add strip = "symbols" optimization once it is out of nightly
- cat >> Cargo.toml <<-EOF
-
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "z"
- panic = "abort"
- EOF
-}
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/lsd-rs/lsd/archive/refs/tags/v$pkgver/lsd-$pkgver.tar.gz"
+# check: tests fail in CI only due to escape code
+# net: needed for downloading dependencies
+options="!check net"
build() {
- cargo build --release --locked
+ SHELL_COMPLETIONS_DIR=completions cargo auditable build --release --locked
}
check() {
@@ -34,10 +27,12 @@ check() {
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
+ install -Dm755 target/release/lsd -t "$pkgdir"/usr/bin/
+ install -D -m644 completions/lsd.bash "$pkgdir"/usr/share/bash-completion/completions/lsd
+ install -D -m644 completions/lsd.fish "$pkgdir"/usr/share/fish/vendor_completions.d/lsd.fish
+ install -D -m644 completions/_lsd "$pkgdir"/usr/share/zsh/site-functions/_lsd
}
sha512sums="
-d4e340947c1d94fa675d85b8cf07df4be5da28441b0d93449d4ab266bdfae8a0556f98ec320c07b968094a07250dc9e41a0165d6c27fc153e5a1730bfeb5d549 lsd-0.20.1.tar.gz
+7a3f517bb9d9b2f3a43989caef1b7454c99fd7a4f49a86da09a221821a78273bf6be60404288fead4a36bf8e3f88cfb38e0b601c7edd2ff98ea847ca8ac0ed01 lsd-1.1.1.tar.gz
"
diff --git a/testing/lsdvd/APKBUILD b/testing/lsdvd/APKBUILD
new file mode 100644
index 00000000000..1f1553f3539
--- /dev/null
+++ b/testing/lsdvd/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+pkgname=lsdvd
+pkgver=0.17
+pkgrel=0
+pkgdesc="Console application that displays the content of a DVD"
+url="https://sourceforge.net/projects/lsdvd/"
+arch="all"
+license="GPL-2.0-only"
+makedepends="libdvdread-dev"
+subpackages="$pkgname-doc"
+source="https://downloads.sourceforge.net/lsdvd/lsdvd-$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --build=$CBUILD \
+ --host=$CHOST
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+d217ebe063c9d4c1584abe99cba5c5d09e1d600d26c58f90d542235f9a629433aa24f24fd8399c639e21391e7a5e8bdf54a9c85083aed63eae1090f4c23677e0 lsdvd-0.17.tar.gz
+"
diff --git a/testing/lshell/APKBUILD b/testing/lshell/APKBUILD
index e2043c60f77..0c561f4bde6 100644
--- a/testing/lshell/APKBUILD
+++ b/testing/lshell/APKBUILD
@@ -2,22 +2,26 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=lshell
pkgver=0.9.18
-pkgrel=7
+pkgrel=11
pkgdesc="Python3-based limited Shell"
url="https://github.com/ghantoos/lshell"
arch="noarch"
license="GPL-3.0-or-later"
depends="python3"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-doc $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/ghantoos/lshell/archive/$pkgver.tar.gz"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+ mv "$pkgdir"/usr/lib/python3*/site-packages/etc "$pkgdir"
}
sha512sums="546e55fd04d9913adbf6ff181d365f0aff8c94131229d4be994b29e94b925943fb32f99dc145172938535565f69405d0edad5bd2d9b7125f8770d0f0c591fece lshell-0.9.18.tar.gz"
diff --git a/testing/lsip6/APKBUILD b/testing/lsip6/APKBUILD
new file mode 100644
index 00000000000..e862f66064d
--- /dev/null
+++ b/testing/lsip6/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Martijn Braam <martijn@brixit.nl>
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+pkgname=lsip6
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="Look up IPv6 link-local addresses on point-to-point links"
+url="https://git.sr.ht/~martijnbraam/lsip6"
+arch="all"
+license="MIT"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/lsip6/archive/$pkgver.tar.gz"
+depends="python3"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+options="!check" # No testsuite
+subpackages="$pkgname-pyc"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir"\
+ .dist/*.whl
+}
+
+
+sha512sums="
+e5af476807ff1315df9830a0de3875bde6025a7d508aa11c54d4c05f9649159bb3dec51419103427ca7cb63932e92e614ff41b7bc24f0fa2b913671cbfa3816b lsip6-0.2.0.tar.gz
+"
diff --git a/testing/lsix/APKBUILD b/testing/lsix/APKBUILD
new file mode 100644
index 00000000000..3d4be329904
--- /dev/null
+++ b/testing/lsix/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=lsix
+pkgver=1.8.2
+pkgrel=0
+pkgdesc="Preview thumbnails in the terminal using sixel graphics"
+url="https://github.com/hackerb9/lsix"
+arch="noarch"
+license="GPL-3.0-only"
+depends="bash imagemagick"
+source="https://github.com/hackerb9/lsix/archive/$pkgver/lsix-$pkgver.tar.gz"
+options="!check" # no upstream tests
+
+package() {
+ install -Dm755 lsix -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+735b1b052123aee2562a41f6aa3c386a0e1cc147e09add4b33092a68071ed95b8f77461a803e6a212ab445ba56ca37d0fed616296437c07235d38ac0c1ba06b8 lsix-1.8.2.tar.gz
+"
diff --git a/testing/lsmash/APKBUILD b/testing/lsmash/APKBUILD
index 84810203f31..611a4938b19 100644
--- a/testing/lsmash/APKBUILD
+++ b/testing/lsmash/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=lsmash
pkgver=2.14.5
-pkgrel=1
+pkgrel=2
pkgdesc="MP4 and MOV muxer/demuxer"
url="https://github.com/l-smash/l-smash"
arch="all"
diff --git a/testing/lsp-plugins/APKBUILD b/testing/lsp-plugins/APKBUILD
deleted file mode 100644
index a8d049fe0bf..00000000000
--- a/testing/lsp-plugins/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=lsp-plugins
-pkgver=1.1.31
-pkgrel=0
-pkgdesc="Collection of free plugins compatible with LADSPA, LV2 and LinuxVST"
-url="https://lsp-plug.in"
-arch="all"
-license="LGPL-3.0-or-later"
-options="!check" # no testsuite
-makedepends="
- libsndfile-dev
- mesa-dev
- php8
- jack-dev
- ladspa-dev
- lv2-dev
- cairo-dev
- "
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sadko4u/lsp-plugins/archive/$pkgver/$pkgver.tar.gz"
-
-build() {
- make PREFIX=/usr
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="
-6fb56ae40f25c66d770c495377ac43f6bfed1c74d9a1a49a0daee5393a0c2799cbd431597abd571a1766243823fb431eb31ca13cc7090604c9e316e5723caa94 lsp-plugins-1.1.31.tar.gz
-"
diff --git a/testing/lswt/APKBUILD b/testing/lswt/APKBUILD
deleted file mode 100644
index 0047c8c1be3..00000000000
--- a/testing/lswt/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=lswt
-pkgver=1.0.1
-pkgrel=0
-pkgdesc="List Wayland toplevels"
-url="https://git.sr.ht/~leon_plickat/lswt"
-license="GPL-3.0"
-arch="all"
-options="!check" # no test suite
-makedepends="wayland-dev wayland-protocols"
-subpackages="$pkgname-doc $pkgname-bash-completion"
-source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~leon_plickat/lswt/archive/v$pkgver.tar.gz
- makefile.patch
- "
-builddir="$srcdir/lswt-v$pkgver"
-
-build() {
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="
-2c68be801f81d585c105b173cc12a4617b2f9f5b153f243ca9190ad3b0bc9aa38d4034a7db20cf0fd4b2c4d4c32a5864e679ca8a07c349f564aa81c982c5c590 lswt-1.0.1.tar.gz
-8dd07cd38129ff40639d8b2e150ac3520db69edce9968e1cbc87dc7ccb65ca6e029d7f2aa80d1f50fbbd835ad017f92679a845dd6bb5cf1f29f6bd5941184cd6 makefile.patch
-"
diff --git a/testing/lswt/makefile.patch b/testing/lswt/makefile.patch
deleted file mode 100644
index a0b96e39787..00000000000
--- a/testing/lswt/makefile.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From ac8b8af3a814453e50474025bb19eeef981e7c12 Mon Sep 17 00:00:00 2001
-From: Lennard Hofmann <lennard.hofmann@web.de>
-Date: Tue, 15 Jun 2021 14:43:42 +0000
-Subject: [PATCH] make: remove misplaced dolar sign
-
-If LDFLAGS is set to "foo", the build will fail because the command "ccfoo" does not exist (notice there is no space between "cc" and "foo")
----
- Makefile | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Makefile b/Makefile
-index b0abc4b..846a265 100644
---- a/Makefile
-+++ b/Makefile
-@@ -11,7 +11,7 @@ OBJ=lswt.o wlr-foreign-toplevel-management-unstable-v1.o xdg-output-unstable-v1.
- GEN=wlr-foreign-toplevel-management-unstable-v1.c wlr-foreign-toplevel-management-unstable-v1.h xdg-output-unstable-v1.c xdg-output-unstable-v1.h
-
- lswt: $(OBJ)
-- $(CC)$ $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
-+ $(CC) $(LDFLAGS) -o $@ $(OBJ) $(LIBS)
-
- $(OBJ): $(GEN)
-
---
-2.32.0
-
diff --git a/testing/ltunify/APKBUILD b/testing/ltunify/APKBUILD
deleted file mode 100644
index bd59c9ecc05..00000000000
--- a/testing/ltunify/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
-# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
-pkgname=ltunify
-pkgver=0.3
-pkgrel=0
-pkgdesc="Logitech Unifying tool for Linux"
-url="https://git.lekensteyn.nl/ltunify/"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="libexecinfo-dev"
-source="https://github.com/Lekensteyn/ltunify/archive/v$pkgver/ltunify-$pkgver.tar.gz"
-options="!check" # no test suite
-
-build() {
- make ltunify
-}
-
-package() {
- make \
- DESTDIR="$pkgdir" \
- bindir=/usr/bin \
- udevrulesdir=/lib/udev/rules.d \
- install
-}
-
-sha512sums="
-f876de44b1b893bba2d8d44336f4936e639bd700d9dd22b46ef7ae11b731a6710c1154546272dd01c45d0e50d07c692c448c4be0b8d89d1e9772c3ed7575f626 ltunify-0.3.tar.gz
-"
diff --git a/testing/lua-ansicolors/APKBUILD b/testing/lua-ansicolors/APKBUILD
deleted file mode 100644
index ec8057507d3..00000000000
--- a/testing/lua-ansicolors/APKBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Maintainer: Guilherme Felipe da Silva <gfsilva.eng@gmail.com>
-pkgname=lua-ansicolors
-_rockname="${pkgname#lua-}"
-pkgver=1.0.2
-pkgrel=1
-pkgdesc="ANSI terminal color manipulation for Lua"
-url="https://github.com/kikito/ansicolors.lua"
-license="MIT"
-arch="all"
-makedepends="luarocks"
-options="!check" # Test dependencies not available
-source="$_rockname-$pkgver.tar.gz::https://github.com/kikito/$_rockname.lua/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_rockname.lua-$pkgver"
-
-_luaversions="5.1 5.2 5.3"
-for _v in $_luaversions; do
- makedepends="$makedepends lua$_v-dev luarocks$_v"
- subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
-done
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
-
- luarocks-$lver \
- --deps-mode=none \
- LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
- LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
- make --tree="./build" \
- "$_rockname-${pkgver%??}-1.rockspec"
-
- rm "./build/lib/luarocks/rocks-$lver/manifest"
- done
-}
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_subpackage() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="lua$lver"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
-
- local path; for path in "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
- mkdir -p "$subpkgdir/usr/${path%/*}"
- mv "$builddir/build/$path" "$subpkgdir/usr/$path/"
- done
-}
-sha512sums="d7052fc63ec09076c0fa940f506fa06ebd210cf590f35310a21c80062cbf062b6d2607c3f89b8dbb39377793e25ea11f471101913e620a7566957e7ed7efbb04 ansicolors-1.0.2.tar.gz"
diff --git a/testing/lua-crypt/APKBUILD b/testing/lua-crypt/APKBUILD
deleted file mode 100644
index 226058e87ce..00000000000
--- a/testing/lua-crypt/APKBUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
-# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
-pkgname=lua-crypt
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="A crypt(3)-style module for Lua. Brings its own implementations, entirely independent of your local libc"
-url="https://github.com/jprjr/lua-crypt"
-arch="all"
-license="MIT"
-options="!check" # make check not implemented
-source="lua-crypt-$pkgver.tar.gz::https://github.com/jprjr/lua-crypt/archive/$pkgver.tar.gz"
-
-_luaversions="5.1 5.2 5.3 5.4"
-for _v in $_luaversions; do
- makedepends="$makedepends lua$_v-dev"
- subpackages="$subpackages lua$_v-${pkgname#lua-}:_package"
-done
-
-prepare() {
- default_prepare
-
- local lver; for lver in $_luaversions; do
- cp -r "$builddir" "$builddir-$lver"
- done
-}
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
- cd "$builddir-$lver"
- make LUA=lua$lver
- done
-}
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_package() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="lua$lver"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
-
- mkdir -p "$subpkgdir"
- cd "$builddir-$lver"
- mkdir -p "$subpkgdir"/usr/lib/lua/$lver/crypt
- mkdir -p "$subpkgdir"/usr/share/lua/$lver
- cp -a crypt.lua "$subpkgdir"/usr/share/lua/$lver
- cp -a crypt/core.so "$subpkgdir"/usr/lib/lua/$lver/crypt/
-}
-
-
-
-sha512sums="a3e488c60c622a5635fe6ce1c835e7cb0d9bd04c7b14416f4ea69af890b651c84f4fced2e5bdf08090d074cabb21253badd8e4ee34fbce135d4ce69353396fcf lua-crypt-1.0.0.tar.gz"
diff --git a/testing/lua-etlua/APKBUILD b/testing/lua-etlua/APKBUILD
deleted file mode 100644
index 133e4d21378..00000000000
--- a/testing/lua-etlua/APKBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# Maintainer: Guilherme Felipe da Silva <gfsilva.eng@gmail.com>
-pkgname=lua-etlua
-_rockname="${pkgname#lua-}"
-pkgver=1.3.0
-pkgrel=2
-pkgdesc="Embedded Lua templates"
-url="https://github.com/leafo/etlua"
-license="MIT"
-arch="all"
-makedepends="luarocks"
-checkdepends="lua-busted luajit moonscript"
-source="$_rockname-$pkgver.tar.gz::https://github.com/leafo/$_rockname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_rockname-$pkgver"
-
-_luaversions="5.1 5.2"
-for _v in $_luaversions; do
- makedepends="$makedepends lua$_v-dev luarocks$_v"
- subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
- checkdepends="$checkdepends lua$_v lua$_v-busted"
-done
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
-
- luarocks-$lver \
- --deps-mode=none \
- LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
- LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
- make --tree="./build" \
- "$_rockname-dev-1.rockspec"
-
- rm "./build/lib/luarocks/rocks-$lver/manifest"
- done
-}
-
-check() {
- mkdir .bin
-
- local lver; for lver in $_luaversions; do
- msg "Testing on lua$lver..."
- ln -sf "/usr/bin/lua$lver" ".bin/lua"
- LUA_PATH="$builddir/?.lua;;" \
- PATH="$builddir/.bin:$PATH" \
- lua "/usr/bin/busted"
- done
-}
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_subpackage() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="lua$lver"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
-
- local path; for path in "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
- mkdir -p "$subpkgdir/usr/${path%/*}"
- mv "$builddir/build/$path" "$subpkgdir/usr/$path/"
- done
-}
-
-sha512sums="132a5d7d898b791242abc3b95f47f534d0b0e2a3f9848efb95be04f92049b18c919af8c2ac162e11f78b502d346e78a73935c1ad720f5ffbb1efe90355b39a9a etlua-1.3.0.tar.gz"
diff --git a/testing/lua-fn/APKBUILD b/testing/lua-fn/APKBUILD
new file mode 100644
index 00000000000..1ad7ab595d5
--- /dev/null
+++ b/testing/lua-fn/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Ziyao <tswuyin_st127@163.com>
+# Maintainer: Ziyao <tswuyin_st127@163.com>
+pkgname=lua-fn
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="Functional programming library for Lua"
+url="https://github.com/ziyao233/fn"
+arch="noarch"
+license="MIT"
+depends="lua5.4"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ziyao233/fn/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/fn-$pkgver"
+
+check() {
+ lua5.4 test.lua
+}
+
+package() {
+ install -Dm644 fn.lua -t "$pkgdir"/usr/share/lua/5.4/
+}
+
+sha512sums="
+bf5a5dfbdc51e7dd85b965a0393e6c68aad61414acc4047e5dabfcc819a7a6bea4cfb9dda03091b8b1df4225b02f48bd774b56b8f0f951202c0e88a7a78a25ad lua-fn-0.1.0.tar.gz
+"
diff --git a/testing/lua-inet/APKBUILD b/testing/lua-inet/APKBUILD
index 153d1b2f0d6..6bf66cbb61c 100644
--- a/testing/lua-inet/APKBUILD
+++ b/testing/lua-inet/APKBUILD
@@ -1,4 +1,5 @@
# Contributor: Kaarle Ritvanen <kunkku@alpinelinux.org>
+# Maintainer:
pkgname=lua-inet
_rockname=${pkgname#lua-}
pkgver=0.2.0
@@ -10,7 +11,7 @@ arch="noarch"
license="LGPL-3.0-only"
depends="lua-lpeg"
checkdepends="lua5.2 lua5.3 luacheck"
-source="$pkgname-$pkgver.tar.gz::$url/snapshot/$_gittag.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://git.2e8.dk/lua-inet//snapshot/$_gittag.tar.gz
luacheck.patch"
builddir="$srcdir/$_gittag"
diff --git a/testing/lua-jsonschema/APKBUILD b/testing/lua-jsonschema/APKBUILD
deleted file mode 100644
index ae8373142ec..00000000000
--- a/testing/lua-jsonschema/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Maintainer: Guilherme Felipe da Silva <gfsilva.eng@gmail.com>
-pkgname=lua-jsonschema
-_rockname=${pkgname#lua-}
-pkgver=0.9
-pkgrel=0
-pkgdesc="Pure Lua JSON schema validator for Lua/LuaJIT"
-url="https://github.com/iresty/jsonschema"
-license="MIT"
-arch="noarch"
-depends="lua-net-url lua-rex-pcre"
-makedepends="luarocks"
-options="!check" # Test dependencies not available
-source="$_rockname-$pkgver.tar.gz::https://github.com/iresty/jsonschema/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_rockname-$pkgver"
-_luaversions="5.1 5.2 5.3"
-
-for _luaversion in $_luaversions; do
- makedepends="$makedepends lua$_luaversion-dev"
- subpackages="$subpackages lua$_luaversion-$_rockname:_subpackage"
-done
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
-
- luarocks-$lver \
- --deps-mode=none \
- LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
- LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
- make --tree="./build" \
- "rockspec/$_rockname-master-"*".rockspec"
-
- rm "./build/lib/luarocks/rocks-$lver/manifest"
- done
-}
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_subpackage() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="lua$lver"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
-
- local path; for path in "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
- mkdir -p "$subpkgdir/usr/${path%/*}"
- mv "$builddir/build/$path" "$subpkgdir/usr/$path/"
- done
-}
-sha512sums="e76c1a267ffc33d5092d572e65ab0d91861c37f943e657dadd38472ae38030d0f4558e441233385799a3a5452595dfb891c42ab718806d4177fa82492d4191fe jsonschema-0.9.tar.gz"
diff --git a/testing/lua-lanes/APKBUILD b/testing/lua-lanes/APKBUILD
index 0f1e7984675..b7a27d204d3 100644
--- a/testing/lua-lanes/APKBUILD
+++ b/testing/lua-lanes/APKBUILD
@@ -2,17 +2,17 @@
# Maintainer: Hani Shawa <hani.shawa@ev-box.com>
pkgname=lua-lanes
_rockname=${pkgname#lua-}
-pkgver=3.13.0
-pkgrel=0
+pkgver=3.16.0
+pkgrel=1
pkgdesc="portable, message passing multithreading library"
url="https://github.com/LuaLanes/lanes"
license="MIT"
-arch="noarch"
+arch="all"
makedepends="luarocks"
options="!check" # Test dependencies not available
source="$_rockname-$pkgver.tar.gz::https://github.com/LuaLanes/lanes/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_rockname-$pkgver"
-_luaversions="5.1 5.2 5.3"
+_luaversions="5.1 5.2 5.3 5.4"
for _luaversion in $_luaversions; do
makedepends="$makedepends lua$_luaversion-dev"
@@ -42,10 +42,12 @@ _subpackage() {
depends="lua$lver"
install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
- local path; for path in "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
+ local path; for path in "lib/lua/$lver" "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
mkdir -p "$subpkgdir/usr/${path%/*}"
mv "$builddir/build/$path" "$subpkgdir/usr/$path/"
done
}
-sha512sums="bb509181757fa2b4f07a55962015b35ca6bb867b18ec89dd655f333babe2e12f56479fa85bc98e0dacf5bec2a523265bbc3a978396dc332dc1fdda4df760b2e5 lanes-3.13.0.tar.gz"
+sha512sums="
+ffd935baae8af752591251bbb1a7f936034ad281870d453e6e1b4291c175c91537ccae23ec25a616b45e8ab601222f323e05e938d7887091ba7e132b0cd5e449 lanes-3.16.0.tar.gz
+"
diff --git a/testing/lua-language-server/APKBUILD b/testing/lua-language-server/APKBUILD
new file mode 100644
index 00000000000..1f76228ed57
--- /dev/null
+++ b/testing/lua-language-server/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Jordan Christiansen <xordspar0@gmail.com>
+pkgname=lua-language-server
+pkgver=3.7.4
+pkgrel=0
+pkgdesc="Language Server for Lua"
+url="https://github.com/LuaLS/lua-language-server"
+# s390x/ppc64le: ftbfs
+# 32-bit: not useful there
+arch="all !x86 !armhf !armv7 !s390x !ppc64le"
+license="MIT"
+makedepends="bash linux-headers samurai"
+source="https://github.com/LuaLS/lua-language-server/archive/refs/tags/$pkgver/lua-language-server-$pkgver.tar.gz
+ lua-language-server-submodules-$pkgver.zip.noauto::https://github.com/LuaLS/lua-language-server/releases/download/$pkgver/lua-language-server-$pkgver-submodules.zip
+ wrapper
+ "
+options="!check" # tests run in build
+
+prepare() {
+ unzip -o "$srcdir"/lua-language-server-submodules-$pkgver.zip.noauto \
+ -d "$builddir"
+ default_prepare
+}
+
+build() {
+ ninja -C 3rd/luamake -f compile/ninja/linux.ninja
+ ./3rd/luamake/luamake rebuild
+}
+
+package() {
+ install -Dm755 "$srcdir"/wrapper "$pkgdir"/usr/bin/lua-language-server
+ install -Dm755 bin/lua-language-server \
+ -t "$pkgdir"/usr/lib/lua-language-server/bin
+ install -Dm644 bin/main.lua \
+ -t "$pkgdir"/usr/lib/lua-language-server/bin
+ install -Dm644 debugger.lua main.lua \
+ -t "$pkgdir"/usr/lib/lua-language-server
+ cp -a locale meta script "$pkgdir"/usr/lib/lua-language-server
+}
+
+sha512sums="
+1efaa72b597bd3be7da9c7d4ef57163621a75fcd933fae8407df0fda4a2014c810fc149326ce30e325cc122c942444ef8cc7c4f29454653b172931560a33372c lua-language-server-3.7.4.tar.gz
+29894c4c01eeb03c5c474a3e353f47a4033ee3dad145be601b15c905a2a117363a4c3c810b976668002ffb968452ad30a019b606ab40387db35cf9e7f5f042b5 lua-language-server-submodules-3.7.4.zip.noauto
+d8d34d2ae8073c256b5f98f4cc7db058fbb92d63a5709894fca898ab47fcfcfca2d1419a1060c29464fbad937e3d09f0cde404b4d98609eec934ea4392044849 wrapper
+"
diff --git a/testing/lua-language-server/wrapper b/testing/lua-language-server/wrapper
new file mode 100755
index 00000000000..7ebcd4440f3
--- /dev/null
+++ b/testing/lua-language-server/wrapper
@@ -0,0 +1,11 @@
+#!/bin/sh
+# taken from https://github.com/archlinux/svntogit-community/blob/3b6e414da1733d2fc1bc4f830e1bd913c1f4b529/trunk/wrapper
+TMPPATH="/tmp/lua-language-server-$(id -u)"
+mkdir -p "$TMPPATH"
+INSTANCEPATH=$(mktemp -d "$TMPPATH/instance.XXXXXX")
+DEFAULT_LOGPATH="$INSTANCEPATH/log"
+DEFAULT_METAPATH="$INSTANCEPATH/meta"
+
+exec /usr/lib/lua-language-server/bin/lua-language-server -E /usr/lib/lua-language-server/main.lua \
+ --logpath="$DEFAULT_LOGPATH" --metapath="$DEFAULT_METAPATH" \
+ "$@"
diff --git a/testing/lua-lapis/APKBUILD b/testing/lua-lapis/APKBUILD
deleted file mode 100644
index 0b93fc539ed..00000000000
--- a/testing/lua-lapis/APKBUILD
+++ /dev/null
@@ -1,80 +0,0 @@
-# Contributor: Will Sinatra <wpsinatra@gmail.com>
-# Maintainer: Pegah Bahramiani <pb.bahramiani@gmail.com>
-pkgname=lua-lapis
-_rockname="${pkgname#lua-}"
-pkgver=1.9.0
-pkgrel=0
-pkgdesc="A web framework for Lua/MoonScript supporting OpenResty or http.server"
-url="https://leafo.net/lapis/"
-license="MIT"
-arch="all"
-depends="
- lua-ansicolors
- lua-cjson
- lua-date
- lua-etlua
- lua-filesystem
- lua-loadkit
- lua-lpeg
- lua-mimetypes
- lua-ossl
- lua-pgmoon
- lua-socket
-"
-makedepends="luarocks"
-options="!check" # Test dependencies not available
-source="$_rockname-$pkgver.tar.gz::https://github.com/leafo/$_rockname/archive/v$pkgver.tar.gz
- lapis-5.1"
-builddir="$srcdir/$_rockname-$pkgver"
-_luaversions="5.1"
-for _v in $_luaversions; do
- makedepends="$makedepends lua$_v-dev luarocks$_v"
- subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
-done
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
- luarocks-$lver \
- --deps-mode=none \
- LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
- LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
- make --tree="./build" \
- "$_rockname-dev-1.rockspec"
- rm "./build/lib/luarocks/rocks-$lver/manifest"
- done
-}
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_subpackage() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="
- lua$lver
- lua$_v-ansicolors
- lua$_v-cjson
- lua-date
- lua$_v-etlua
- lua$_v-filesystem
- lua$_v-loadkit
- lua$_v-lpeg
- lua$_v-mimetypes
- lua$_v-ossl
- lua$_v-pgmoon
- lua$_v-socket
-"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
- install -Dm 755 "$srcdir/lapis-$lver" "$subpkgdir/usr/bin/lapis"
- local path; for path in "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
- mkdir -p "$subpkgdir/usr/${path%/*}"
- mv "$builddir/build/$path" "$subpkgdir/usr/$path/"
- done
-}
-
-sha512sums="
-a83681a6b1e65c25bf9372d704ca9640e751a1594c75ca7682f2ca75e6ce7e0438f22eb43a1ffebd9e7cdabab3489809d786b38e406a1156eb3c8d0901ad1d22 lapis-1.9.0.tar.gz
-c4be44e42089e9c99aff2c092a2654b4b7f3814cbc2036c2d0c43742302760be189bd00072584433c78bcee25bfd37a0ced0f62da0f0d27d04e52f3b64a4e33e lapis-5.1
-"
diff --git a/testing/lua-lapis/lapis-5.1 b/testing/lua-lapis/lapis-5.1
deleted file mode 100644
index 93ab94df8bb..00000000000
--- a/testing/lua-lapis/lapis-5.1
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec '/usr/bin/lua5.1' -e 'package.path="/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;/usr/share/lua/common/?.lua;/usr/share/lua/common/?/init.lua;/usr/local/share/lua/5.1/?.lua;/usr/local/share/lua/5.1/?/init.lua;"..package.path; package.cpath="/usr/lib/lua/5.1/?.so;/usr/lib/lua/5.1/?.so;/usr/local/lib/lua/5.1/?.so;"..package.cpath' -e 'local k,l,_=pcall(require,"luarocks.loader") _=k and l.add_context("lapis","dev-1")' '/usr/lib/luarocks/rocks-5.1/lapis/dev-1/bin/lapis' "$@"
diff --git a/testing/lua-linotify/APKBUILD b/testing/lua-linotify/APKBUILD
deleted file mode 100644
index d2bcf337c4f..00000000000
--- a/testing/lua-linotify/APKBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=lua-linotify
-pkgver=0.5
-pkgrel=1
-pkgdesc="Inotify bindings for Lua"
-url="https://github.com/hoelzro/linotify"
-arch="all"
-license="MIT"
-source="linotify-$pkgver.tar.gz::https://github.com/hoelzro/linotify/archive/$pkgver.tar.gz
- makefile.patch
- "
-builddir="$srcdir/linotify-$pkgver"
-
-_luaversions="5.1 5.2 5.3 5.4"
-for _v in $_luaversions; do
- makedepends="$makedepends lua$_v-dev"
- subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
-done
-
-prepare() {
- default_prepare
-
- local lver; for lver in $_luaversions; do
- cp -r "$builddir" "$builddir-$lver"
- done
-}
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
- make LUAVER=$lver -C "$builddir-$lver"
- done
-}
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_subpackage() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="lua$lver"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
-
- cd "$builddir-$lver"
- make LUAVER=$lver PREFIX="/usr" DESTDIR="$subpkgdir" install
-}
-
-sha512sums="08901e7b7954a3a57674dda633da7da5b11f9760dd13953e195d0d79974f3512182830065c321e5d0eac4ac00d1bbf9702eb34f929dbd15c085e5808f4c28ab5 linotify-0.5.tar.gz
-5cfdeb71bb2a653d985400e6d150c6d144f108fe320247fbf4aa9f757a1aeabb1cb768d4c20a475fe7e7c564d278058b4a8e7e51fb779d6bc350cefcf0b83935 makefile.patch"
diff --git a/testing/lua-linotify/makefile.patch b/testing/lua-linotify/makefile.patch
deleted file mode 100644
index d6131331b39..00000000000
--- a/testing/lua-linotify/makefile.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- ./Makefile.orig
-+++ ./Makefile
-@@ -7,19 +7,13 @@
- # out this line when debugging.
- OMIT_FRAME_POINTER = -fomit-frame-pointer
-
--# Seach for lua .pc file
--LUAPKG_CMD = $(shell pkg-config --list-all | grep Lua | awk 'FNR == 1 {print $$1}')
--CFLAGS = -fPIC -O3 -Wall $(shell pkg-config "$(LUAPKG_CMD)" --cflags)
--LFLAGS = -shared $(OMIT_FRAME_POINTER)
--INSTALL_PATH = $(shell pkg-config "$(LUAPKG_CMD)" --variable=INSTALL_CMOD)
--
- ## If your system doesn't have pkg-config, comment out the previous
- ## lines and uncomment and change the following ones according to your
- ## building enviroment.
-
--#CFLAGS = -I/usr/include/lua5.1/ -fPIC -O3 -Wall
--#LFLAGS = -shared $(OMIT_FRAME_POINTER)
--#INSTALL_PATH = /usr/lib/lua/5.1
-+CFLAGS = -I/usr/include/lua$(LUAVER)/ -fPIC -O3 -Wall
-+LFLAGS = -shared $(OMIT_FRAME_POINTER)
-+INSTALL_PATH = /usr/lib/lua/$(LUAVER)
-
- all: $(LIBNAME)
-
diff --git a/testing/lua-luastatic/APKBUILD b/testing/lua-luastatic/APKBUILD
index 3f7e2e7d503..68958420541 100644
--- a/testing/lua-luastatic/APKBUILD
+++ b/testing/lua-luastatic/APKBUILD
@@ -3,7 +3,7 @@
pkgname=lua-luastatic
_pkgname=luastatic
pkgver=0.0.12
-pkgrel=0
+pkgrel=1
pkgdesc="Build a standalone executable from a Lua program."
url="https://github.com/ers35/luastatic"
arch="all"
diff --git a/testing/lua-lupa/APKBUILD b/testing/lua-lupa/APKBUILD
index fc609ff0297..ccf2615a525 100644
--- a/testing/lua-lupa/APKBUILD
+++ b/testing/lua-lupa/APKBUILD
@@ -1,4 +1,5 @@
# Contributor: Kaarle Ritvanen <kunkku@alpinelinux.org>
+# Maintainer:
pkgname=lua-lupa
_rockname=${pkgname#lua-}
pkgver=1.0
diff --git a/testing/lua-middleclass/APKBUILD b/testing/lua-middleclass/APKBUILD
deleted file mode 100644
index 44046a29dc0..00000000000
--- a/testing/lua-middleclass/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=lua-middleclass
-pkgver=4.1.1
-pkgrel=1
-_luaversions="5.1 5.2 5.3 5.4"
-pkgdesc="Object-orientation for Lua"
-url="https://github.com/kikito/middleclass"
-arch="noarch"
-license="MIT"
-makedepends="$depends_dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kikito/middleclass/archive/v$pkgver.tar.gz"
-builddir="$srcdir/middleclass-$pkgver"
-
-for _v in $_luaversions; do
- subpackages="$subpackages lua$_v-${pkgname#*lua-}:split_${_v/./_}"
- eval "split_${_v/./_}() { _split $_v; }"
-done
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_split() {
- cd "$builddir"
- local _ver="$1"
- install_if="lua$_ver $pkgname=$pkgver-r$pkgrel"
- pkgdesc="Object-orientation for Lua $_ver"
- install -Dm644 middleclass.lua \
- "$subpkgdir/usr/share/lua/$_ver/middleclass.lua"
-}
-
-sha512sums="d408435752adf4309a444e1d573ece1d8c79f20dde91f01d7724399079f19a4bfb99083d8cdc70eeb3c1aa21971c272df88cd4c2cce0eb942857de42e4a887e3 lua-middleclass-4.1.1.tar.gz"
diff --git a/testing/lua-mimetypes/APKBUILD b/testing/lua-mimetypes/APKBUILD
index 768212c8009..fdcf5acd5a3 100644
--- a/testing/lua-mimetypes/APKBUILD
+++ b/testing/lua-mimetypes/APKBUILD
@@ -1,60 +1,33 @@
-# Maintainer: Guilherme Felipe da Silva <gfsilva.eng@gmail.com>
+# Contributor: Will Sinatra <wpsinatra@gmail.com>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=lua-mimetypes
-_rockname="${pkgname#lua-}"
-pkgver=1.0.0
-pkgrel=1
-pkgdesc="A MIME type database for Lua. You can use this in servers and the like to check the MIME types of files"
-url="https://bitbucket.org/leafstorm/lua-mimetypes"
-license="MIT"
+_pkgname=mimetypes
+pkgver=0_git20240207
+_commit=fd570b2dff729b430c42d7bd6a767c197d38384b
+pkgrel=0
+pkgdesc="Lua library designed to provide a non-server bound mime type database."
+url="https://github.com/tst2005/lua-mimetypes"
arch="noarch"
-makedepends="luarocks"
-checkdepends="luajit"
-_commithash="ef4ee2e81596" # v1.0.0 with updated rockspec
-source="$_rockname-$pkgver.tar.gz::https://bitbucket.org/leafstorm/lua-mimetypes/get/$_commithash.tar.gz"
-builddir="$srcdir/leafstorm-$pkgname-$_commithash"
-
-_luaversions="5.1 5.2 5.3"
-for _v in $_luaversions; do
- makedepends="$makedepends lua$_v-dev luarocks$_v"
- checkdepends="$checkdepends lua$_v"
- subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
-done
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
+license="MIT"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tst2005/lua-mimetypes/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+options="!check"
+subpackages="$pkgname-doc"
- luarocks-$lver \
- --deps-mode=none \
- LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
- LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
- make --tree="./build" \
- "rockspecs/$_rockname-$pkgver-1.rockspec"
+package() {
+ local destdir="$pkgdir/usr/share/lua/common/"
+ local rockdir="$pkgdir/usr/lib/luarocks/rocks-common/$_pkgname/$pkgver-1"
- rm "./build/lib/luarocks/rocks-$lver/manifest"
- done
-}
+ mkdir -p "$destdir"
+ cp generate.lua "$destdir"/
+ cp mimetypes.lua "$destdir"/
-check() {
- local lver; for lver in $_luaversions jit; do
- msg "Testing on lua$lver..."
- lua$lver "test.lua"
- done
-}
+ mkdir -p "$rockdir"
+ echo 'rock_manifest = {}' > "$rockdir"/rock_manifest
-package() {
- mkdir -p "$pkgdir"
+ install -Dm644 "$builddir"/LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-_subpackage() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="lua$lver"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
-
- local path; for path in "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
- mkdir -p "$subpkgdir/usr/${path%/*}"
- mv "$builddir/build/$path" "$subpkgdir/usr/$path/"
- done
-}
-sha512sums="605618a04d0f8fa13d4077ed0f0a1e7846a8c028a7dc7125c3576fb6214863557cf18e4ee0318fba7de367e90e346313e1a25a03db8049ef7aa4cd2747614811 mimetypes-1.0.0.tar.gz"
+sha512sums="
+ace0ec495492e24ce9e34be2994e748e14f24794f0052ed42c9a0c12000d580f1d155c22f652bf85a6375c95b67cd92e4a0d7c337b69f87d22281c407c3092ee lua-mimetypes-0_git20240207.tar.gz
+"
diff --git a/testing/lua-net-url/APKBUILD b/testing/lua-net-url/APKBUILD
deleted file mode 100644
index f49569f15d4..00000000000
--- a/testing/lua-net-url/APKBUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# Maintainer: Guilherme Felipe da Silva <gfsilva.eng@gmail.com>
-pkgname=lua-net-url
-_rockname=${pkgname#lua-}
-pkgver=0.9
-pkgrel=1
-pkgdesc="URL and Query string parser, builder, normalizer for Lua"
-url="https://github.com/golgote/neturl"
-license="MIT"
-arch="noarch"
-makedepends="luarocks"
-subpackages="$pkgname-doc"
-options="!check" #test dependencies not available
-source="$_rockname-$pkgver.tar.gz::https://github.com/golgote/neturl/archive/$pkgver-1.tar.gz"
-builddir="$srcdir/neturl-$pkgver-1"
-
-_luaversions="5.1 5.2 5.3"
-for _luaversion in $_luaversions; do
- makedepends="$makedepends lua$_luaversion-dev"
- subpackages="$subpackages lua$_luaversion-$_rockname:_subpackage"
-done
-
-build() {
- for _luaversion in $_luaversions; do
- msg "Building for Lua $_luaversion"
- "luarocks-$_luaversion" \
- CC="$CC" \
- CFLAGS="$CFLAGS -fPIC" \
- LUA_INCDIR="$(pkg-config --variable=includedir "lua$_luaversion")" \
- LUA_LIBDIR="$(pkg-config --variable=libdir "lua$_luaversion")" \
- LUA_VERSION="$_luaversion" \
- make --tree="./build-$_luaversion" \
- "rockspec/$_rockname-$pkgver-"*".rockspec"
- done
-}
-
-package() {
- mkdir -p "$pkgdir/usr/share/doc/$pkgname/"
- cp -r "docs/" "$pkgdir/usr/share/doc/$pkgname/"
-}
-
-_subpackage() {
- _luaversion="${subpkgname%-${_rockname}}"
- _luaversion="${_luaversion#lua*}"
- pkgdesc="$pkgdesc - for Lua $_luaversion"
- depends="$depends lua$_luaversion"
- install_if="lua$_luaversion $pkgname=$pkgver-r$pkgrel"
-
- for _luascript in "$builddir/build-$_luaversion/share/lua/$_luaversion/${_rockname%-url}/"*.lua; do
- install -D -m 644 \
- -t "$subpkgdir/usr/share/lua/$_luaversion/${_rockname%-url}" \
- "$_luascript"
- done
-}
-
-sha512sums="c9a9742d3158e81edc20a972764dc8e85721f9cfa37a430ffce519db9ea3293adc3124f95aa27c380f55eeae36ef398f6c78df285a02eb0896683f53ca369f8e net-url-0.9.tar.gz"
diff --git a/testing/lua-pgmoon/APKBUILD b/testing/lua-pgmoon/APKBUILD
deleted file mode 100644
index c06c12be926..00000000000
--- a/testing/lua-pgmoon/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Maintainer: Guilherme Felipe da Silva <gfsilva.eng@gmail.com>
-pkgname=lua-pgmoon
-_rockname="${pkgname#lua-}"
-pkgver=1.10.0
-pkgrel=1
-pkgdesc="A pure Lua Postgres driver for use in OpenResty & more"
-url="https://github.com/leafo/pgmoon"
-license="MIT"
-arch="all"
-depends="lua-bitop lua-lpeg"
-makedepends="luarocks"
-options="!check" # Test suite is broken
-source="$_rockname-$pkgver.tar.gz::https://github.com/leafo/$_rockname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_rockname-$pkgver"
-
-_luaversions="5.1 5.2 5.3"
-for _v in $_luaversions; do
- makedepends="$makedepends lua$_v-dev luarocks$_v"
- subpackages="$subpackages lua$_v-${pkgname#lua-}:_subpackage"
-done
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
-
- luarocks-$lver \
- --deps-mode=none \
- LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
- LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
- make --tree="./build" \
- "$_rockname-dev-1.rockspec"
-
- rm "./build/lib/luarocks/rocks-$lver/manifest"
- done
-}
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_subpackage() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="lua$lver"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
-
- local path; for path in "lib/luarocks/rocks-$lver" "share/lua/$lver"; do
- mkdir -p "$subpkgdir/usr/${path%/*}"
- mv "$builddir/build/$path" "$subpkgdir/usr/$path/"
- done
-}
-sha512sums="aa37e57286f1dde1fb475e7c86ccd6d2830cd7246e8ffaa1182b7e0bc65dad4bc84bd28bd161afeef06fbb1b36d734bb3c3cdc22217229b90875a61d1246336a pgmoon-1.10.0.tar.gz"
diff --git a/testing/lua-pgsql/APKBUILD b/testing/lua-pgsql/APKBUILD
deleted file mode 100644
index cc4d1d635a3..00000000000
--- a/testing/lua-pgsql/APKBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
-# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
-pkgname=lua-pgsql
-pkgver=1.6.7
-pkgrel=0
-pkgdesc="Lua binding for PostgreSQL"
-url="https://github.com/arcapos/luapgsql"
-arch="all"
-license="custom"
-makedepends="libpq-dev"
-options="!check" # make check not implemented
-source="lua-pgsql-$pkgver.tar.gz::https://github.com/arcapos/luapgsql/archive/pgsql-$pkgver.tar.gz"
-builddir="$srcdir/luapgsql-pgsql-1.6.7"
-
-_luaversions="5.1 5.2 5.3 5.4"
-for _v in $_luaversions; do
- makedepends="$makedepends lua$_v-dev"
- subpackages="$subpackages lua$_v-${pkgname#lua-}:_package"
-done
-
-prepare() {
- default_prepare
-
- local lver; for lver in $_luaversions; do
- cp -r "$builddir" "$builddir-$lver"
- done
-}
-
-build() {
- local lver; for lver in $_luaversions; do
- msg "Building for Lua $lver..."
- cd "$builddir-$lver"
- if [ "$lver" = "5.1" ]; then
- make CFLAGS=" -O3 -Wall -fPIC -I/usr/include -I/usr/include/lua$lver -I/usr/include/postgresql $CFLAGS" \
- LDADD="-L/usr/lib -lpq -llua" \
- LIBDIR="/usr/lib" \
- LUADIR="/usr/lib/lua/5.1"
- else
- make CFLAGS=" -O3 -Wall -fPIC -I/usr/include -I/usr/include/lua$lver -I/usr/include/postgresql $CFLAGS" \
- LDADD="-L/usr/lib -lpq /usr/lib/liblua-$lver.so.0" \
- LIBDIR="/usr/lib" \
- LUADIR="/usr/lib/lua/$lver"
- fi
- done
-}
-
-package() {
- mkdir -p "$pkgdir"
-}
-
-_package() {
- local lver="${subpkgname:3:3}"
- pkgdesc="$pkgdesc (for Lua $lver)"
- depends="lua$lver"
- install_if="$pkgname=$pkgver-r$pkgrel lua$lver"
-
- mkdir -p "$subpkgdir"
- cd "$builddir-$lver"
- mkdir -p "$subpkgdir"/usr/lib/lua/$lver
- cp -a pgsql.so "$subpkgdir"/usr/lib/lua/$lver
-}
-
-
-
-sha512sums="13c26b3bd5f86c80e4ba157e41968bc066b9d61f20ab856e78fc85d60b40151b1dfdf0ac95f9c972e57bfaed4bec9969780e607aed36d3d587364d1e387216d7 lua-pgsql-1.6.7.tar.gz"
diff --git a/testing/lua-resty-openssl/APKBUILD b/testing/lua-resty-openssl/APKBUILD
new file mode 100644
index 00000000000..e2a5b4f9f93
--- /dev/null
+++ b/testing/lua-resty-openssl/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=lua-resty-openssl
+pkgver=0.8.22
+pkgrel=0
+pkgdesc="FFI-based OpenSSL binding for OpenResty"
+url="https://github.com/fffonion/lua-resty-openssl"
+# ppc64le, riscv64: no luajit/openresty
+# armhf, armv7, s390x, x86: failing tests
+arch="aarch64 x86_64"
+license="BSD-2-Clause"
+depends="
+ libcrypto3
+ libssl3
+ luajit
+ "
+checkdepends="
+ bash
+ openresty
+ perl-test-harness-utils
+ perl-test-nginx
+ "
+source="https://github.com/fffonion/lua-resty-openssl/archive/refs/tags/$pkgver/lua-resty-openssl-$pkgver.tar.gz"
+
+check() {
+ prove -r t
+}
+
+package() {
+ mkdir -p "$pkgdir/usr/share/lua/common"
+ cp -r ./lib/resty "$pkgdir/usr/share/lua/common"
+}
+
+sha512sums="
+02d9542d716a9dd9c319a2cb5228b0461dd5c8fee9650e7f87f3c8f4c115677fcb1cea208d4e4105882198b6f6a9afe8896140b6ffb6c6200701d6d4a47813cd lua-resty-openssl-0.8.22.tar.gz
+"
diff --git a/testing/lua-resty-redis/APKBUILD b/testing/lua-resty-redis/APKBUILD
index d2bd1dac135..b902f843e71 100644
--- a/testing/lua-resty-redis/APKBUILD
+++ b/testing/lua-resty-redis/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
pkgname=lua-resty-redis
-pkgver=0.27
-pkgrel=1
+pkgver=0.29
+pkgrel=0
pkgdesc="Lua redis client driver for the ngx_lua based on the cosocket API"
url="https://github.com/openresty/lua-resty-redis"
-arch="noarch !riscv64" # blocked by luajit
+arch="noarch !riscv64 !ppc64le" # blocked by luajit
license="BSD-2-Clause"
depends="luajit"
-source="https://github.com/openresty/lua-resty-redis/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
+source="https://github.com/openresty/lua-resty-redis/archive/v$pkgver/lua-resty-redis-$pkgver.tar.gz"
options="!check" # FIXME: tests require OpenResty and additional dependencies
package() {
@@ -19,4 +19,6 @@ package() {
"$pkgdir"/usr/lib/luarocks/rocks-common/$pkgname/$pkgver-1
}
-sha512sums="cb4fb5b5bb903c8740ac5ae75960f786039406a7e9c671c758cb25aa2fc8fdfcac351db4b2aefe73f28fd89a110b85b6ef4b9c6642ae2983f67d371c99f41bd3 lua-resty-redis-0.27.tar.gz"
+sha512sums="
+f72e28de510de7b1e9760ad8936b72b83549aa85813bcd76b2b047070cbc2f8c5aab7b0ea0374640bf6bfe7e8fe93dcea5a413825d548da1671a8b643f81362e lua-resty-redis-0.29.tar.gz
+"
diff --git a/testing/lua-resty-upload/APKBUILD b/testing/lua-resty-upload/APKBUILD
index d952b84d0aa..6b8bc503b1c 100644
--- a/testing/lua-resty-upload/APKBUILD
+++ b/testing/lua-resty-upload/APKBUILD
@@ -1,11 +1,11 @@
# Maintainer: Pegah Bahramiani <pb.bahramiani@gmail.com>
pkgname=lua-resty-upload
-pkgver=0.10
+pkgver=0.11
pkgrel=0
pkgdesc="Streaming reader and parser for HTTP file uploading based on ngx_lua cosocket"
url="https://github.com/openresty/lua-resty-upload"
-# riscv64: no luajit
-arch="all !riscv64"
+# riscv64, ppc64le: no luajit
+arch="all !riscv64 !ppc64le"
license="BSD-2-Clause"
depends="luajit"
source="https://github.com/openresty/lua-resty-upload/archive/v$pkgver/lua-resty-upload-$pkgver.tar.gz"
@@ -18,4 +18,6 @@ package() {
install -D -m 644 rock_manifest \
"$pkgdir"/usr/lib/luarocks/rocks-5.1/$pkgname/$pkgver-1
}
-sha512sums="5826780d79c6e5a3644e3d8985c4274c439df60815ae3d13d94ff66dd84328aae6786c9b5a76579ed8cfbabdef7d856e240a85a3af13c1cf03f793dff33ba068 lua-resty-upload-0.10.tar.gz"
+sha512sums="
+4aa778701dd869524cc448ae62af2efdc633215806326e8bcda094cdd7e71d4e362948412d46c5121c41c01891fa369d7d55dc67c11e1db65ea6e5e074b733ba lua-resty-upload-0.11.tar.gz
+"
diff --git a/testing/lua-xml/APKBUILD b/testing/lua-xml/APKBUILD
index 0407ea92b3c..0e57ff24bbe 100644
--- a/testing/lua-xml/APKBUILD
+++ b/testing/lua-xml/APKBUILD
@@ -13,6 +13,13 @@ checkdepends="lua-lut luajit"
source="https://github.com/lubyk/$_rockname/archive/REL-$pkgver/lua-xml-$pkgver.tar.gz"
builddir="$srcdir/$_rockname-REL-$pkgver"
+case "$CARCH" in
+ppc64le|riscv64)
+ # blocked by luajit
+ options="$options !check"
+ ;;
+esac
+
_luaversions="5.1 5.2"
for _v in $_luaversions; do
makedepends="$makedepends lua$_v-dev luarocks$_v"
diff --git a/testing/lua5.2-penlight/APKBUILD b/testing/lua5.2-penlight/APKBUILD
index a8941eaf943..79ea057a862 100644
--- a/testing/lua5.2-penlight/APKBUILD
+++ b/testing/lua5.2-penlight/APKBUILD
@@ -2,16 +2,16 @@
_luaver=5.2
pkgname=lua${_luaver}-penlight
pkgver=1.3.0
-pkgrel=0
+pkgrel=1
pkgdesc="Lua libraries for extended operations on tables, lists and strings"
-url="https://github.com/stevedonovan/Penlight"
+url="https://github.com/lunarmodules/Penlight"
arch="noarch"
license="GPL"
depends="lua${_luaver}-filesystem"
makedepends="wget"
install=
subpackages="$pkgname-doc"
-source="penlight-$pkgver.tar.gz::https://github.com/stevedonovan/Penlight/archive/$pkgver.tar.gz"
+source="penlight-$pkgver.tar.gz::https://github.com/lunarmodules/Penlight/archive/$pkgver.tar.gz"
_builddir="$srcdir"/Penlight-$pkgver
diff --git a/testing/luacov-html/APKBUILD b/testing/luacov-html/APKBUILD
index 96027ef7b5b..dce09e893e6 100644
--- a/testing/luacov-html/APKBUILD
+++ b/testing/luacov-html/APKBUILD
@@ -3,7 +3,7 @@
pkgname=luacov-html
_rockname=${pkgname#lua-}
pkgver=1.0.0
-pkgrel=0
+pkgrel=1
pkgdesc="reporter for LuaCov that generates HTML files to visualize the code coverage"
options="!check" # Test dependencies not available
url="https://github.com/wesen1/luacov-html"
@@ -31,6 +31,7 @@ build() {
LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
make --tree=./build \
"$_rockname-$pkgver-"*".rockspec"
+ rm "./build/lib/luarocks/rocks-$lver/manifest"
done
}
@@ -50,4 +51,6 @@ _subpackage() {
done
}
-sha512sums="68d108a01ba8a8d37fa6297b1663f0c04eac7d5e3161662351a0ae5a201145de4d385f9866be92cd28525b1357c832d7a6d6069ecde039d3d6e0e7b77c973d54 luacov-html-1.0.0.tar.gz"
+sha512sums="
+68d108a01ba8a8d37fa6297b1663f0c04eac7d5e3161662351a0ae5a201145de4d385f9866be92cd28525b1357c832d7a6d6069ecde039d3d6e0e7b77c973d54 luacov-html-1.0.0.tar.gz
+"
diff --git a/testing/luacov/APKBUILD b/testing/luacov/APKBUILD
index e6cda6fd45b..57679265768 100644
--- a/testing/luacov/APKBUILD
+++ b/testing/luacov/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Hani Shawa <hani.shawa@ev-box.com>
pkgname=luacov
_rockname=${pkgname#lua-}
-pkgver=0.14.0
+pkgver=0.15.0
pkgrel=0
pkgdesc="simple coverage analysis tool for Lua scripts"
url="https://github.com/keplerproject/luacov"
@@ -10,8 +10,11 @@ license="MIT"
arch="noarch"
makedepends="luarocks"
options="!check" # Test dependencies not available
-source="$_rockname-$pkgver.tar.gz::https://github.com/keplerproject/luacov/archive/v$pkgver.tar.gz"
-_luaversions="5.1 5.2 5.3"
+source="$_rockname-$pkgver.tar.gz::https://github.com/keplerproject/luacov/archive/v$pkgver.tar.gz
+reporter_fix.lua.patch
+"
+
+_luaversions="5.1 5.2 5.3 5.4"
for _v in $_luaversions; do
makedepends="$makedepends lua$_v-dev luarocks$_v"
@@ -23,12 +26,11 @@ build() {
msg "Building for Lua $lver..."
luarocks-$lver \
- CC="$CC" \
- CFLAGS="$CFLAGS -fPIC" \
LUA_INCDIR="$(pkg-config --variable=includedir lua$lver)" \
LUA_LIBDIR="$(pkg-config --variable=libdir lua$lver)" \
make --tree=./build \
"$_rockname-scm-1.rockspec"
+ rm "./build/lib/luarocks/rocks-$lver/manifest"
done
}
@@ -48,4 +50,7 @@ _subpackage() {
done
}
-sha512sums="44ea158ce597f705d80b9768676e401804daea91b9c2afb146a8d25aae612e895e4f42a29c4b7b3438659c596fa500af5d23b66b7f3477459747ad06ca9b7ffa luacov-0.14.0.tar.gz"
+sha512sums="
+cab02c540aad905db1fecd7f62545157c8ff9ea82f9ea602bff7b6093e3940a3a316e212a2efe30fa2439435dae6cd4005c2ee41de6b937d3e5f447bc2128a59 luacov-0.15.0.tar.gz
+8694e1d5f72da049909d1a868c5b159721c81d20ce5cf9061069732cf6d52e24a9453ad172dec47baf605ed45a8501a7f5131d6bf7609d6b81d1e1eb451e5ce9 reporter_fix.lua.patch
+"
diff --git a/testing/luacov/reporter_fix.lua.patch b/testing/luacov/reporter_fix.lua.patch
new file mode 100644
index 00000000000..b97ccd1974e
--- /dev/null
+++ b/testing/luacov/reporter_fix.lua.patch
@@ -0,0 +1,22 @@
+diff --git a/src/luacov/reporter.lua b/src/luacov/reporter.lua
+index 0aadce1..d041d10 100644
+--- a/src/luacov/reporter.lua
++++ b/src/luacov/reporter.lua
+@@ -33,7 +33,7 @@ local function dirtree(dir)
+ entry=directory..dir_sep..entry
+ local attr=lfs.attributes(entry)
+ coroutine.yield(entry,attr)
+- if attr.mode == "directory" then
++ if attr and attr.mode == "directory" then
+ yieldtree(entry)
+ end
+ end
+@@ -130,7 +130,7 @@ function ReporterBase:new(conf)
+ local function add_empty_dir_coverage_data(directory_path)
+
+ for filename, attr in dirtree(directory_path) do
+- if attr.mode == "file" and fileMatches(filename, '.%.lua$') then
++ if attr and attr.mode == "file" and fileMatches(filename, '.%.lua$') then
+ add_empty_file_coverage_data(filename)
+ end
+ end
diff --git a/testing/luakit/APKBUILD b/testing/luakit/APKBUILD
deleted file mode 100644
index f1763e89675..00000000000
--- a/testing/luakit/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=luakit
-pkgver=2.3
-pkgrel=1
-pkgdesc="Fast, small, webkit based browser framework extensible by Lua"
-url="https://luakit.github.io/"
-# armv7: fails to build
-# s390x: install fails
-# riscv64: no luajit
-arch="all !armv7 !s390x !riscv64"
-license="GPL-3.0-or-later"
-depends="gsettings-desktop-schemas lua5.1-filesystem"
-makedepends="webkit2gtk-dev luajit-dev"
-checkdepends="xvfb luacheck lua5.1-luassert"
-options="!check" #fixme
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/luakit/luakit/archive/$pkgver.tar.gz
- "
-
-build() {
- make PREFIX=/usr USE_LUAJIT=1 DEVELOPMENT_PATHS=0
-}
-
-check() {
- make run-tests
-}
-
-package() {
- make PREFIX=/usr DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir"/usr/share/doc/"$pkgname"
- mv "$pkgdir"/usr/share/"$pkgname"/doc/* "$pkgdir"/usr/share/doc/"$pkgname"
- rmdir "$pkgdir"/usr/share/"$pkgname"/doc
-}
-
-sha512sums="f41121e1c47c020d90fe69f858b8c348f5c3ad752891abf2b94e5b44eebe3d5c8c315342c9aa4c53bbaef548f6ef2a1d0c522d877f0a20516734755967c0bb5c luakit-2.3.tar.gz"
diff --git a/testing/luau/APKBUILD b/testing/luau/APKBUILD
deleted file mode 100644
index f70543af10c..00000000000
--- a/testing/luau/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Rob Blanckaert <basicer@gmail.com>
-# Maintainer: Rob Blanckaert <basicer@gmail.com>
-pkgname=luau
-pkgver=0.507
-pkgrel=0
-pkgdesc="A fast, small, safe, gradually typed embeddable scripting language derived from Lua"
-url="https://github.com/roblox/luau"
-arch="all"
-license="MIT"
-makedepends="cmake"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Roblox/luau/archive/refs/tags/$pkgver.tar.gz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- $CMAKE_CROSSOPTS .
- make
-}
-
-check() {
- $builddir/Luau.UnitTest && $builddir/Luau.Conformance
-}
-
-package() {
- install -Dm755 luau "$pkgdir"/usr/bin/luau
- install -Dm755 luau-analyze "$pkgdir"/usr/bin/luau-analyze
-}
-
-sha512sums="83fd8df8e1ccface02407bc3fc511693de24e62eedc11f7c1d0ef939ff2ce6544f00eb8eadba343e730eb4ac8e74326ac4842445932ee697577a7e823fbdc071 luau-0.507.tar.gz"
diff --git a/testing/luksmeta/APKBUILD b/testing/luksmeta/APKBUILD
new file mode 100644
index 00000000000..27d1f46a301
--- /dev/null
+++ b/testing/luksmeta/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=luksmeta
+pkgver=9
+pkgrel=0
+pkgdesc="Library for storing metadata in the LUKSv1 header"
+url="https://github.com/latchset/luksmeta"
+license="LGPL-2.0-or-later"
+arch="all"
+makedepends="autoconf automake libtool asciidoc cryptsetup-dev"
+checkdepends="bash cryptsetup"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/latchset/luksmeta/archive/v$pkgver/luksmeta-$pkgver.tar.gz
+ force-creation-of-luks1-containers-in-tests.patch
+ relax-content-tests-in-test-suite.patch
+ musl.patch
+ "
+
+prepare() {
+ default_prepare
+
+ autoreconf -fi
+}
+
+build() {
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+874331988fe2648d4924779b348f190ed5c6e4d71da4ad027f176e3f8dcbc78fc26e9f9b8402a97437db5b884db31b72598afc70e025cd8533168a5986417a76 luksmeta-9.tar.gz
+a97a000c8bd952fb5a6569ef111bdef5acd56d75bd6bc1f3be3b44113ec6d313400961d018ebe442aa214ac6e8aba41bcce838cb5e34cacd3f84d012910ae729 force-creation-of-luks1-containers-in-tests.patch
+6821e042fcc182dbb7c534a2108d486600c87d3c30fa02491cf6cb47867de85bab6f1fdb13c701bab53a794a9d5559e78dc5a9e53cc169d8792e754dee927741 relax-content-tests-in-test-suite.patch
+aec3e5b91464a71e33ca7e53c51924cf99b5a7048923bf253c88587d607d763c6671c2fa89c21c0447020368487270dd31f65a40477d277880a9f12d6569431e musl.patch
+"
diff --git a/testing/luksmeta/force-creation-of-luks1-containers-in-tests.patch b/testing/luksmeta/force-creation-of-luks1-containers-in-tests.patch
new file mode 100644
index 00000000000..9f3cd5669cf
--- /dev/null
+++ b/testing/luksmeta/force-creation-of-luks1-containers-in-tests.patch
@@ -0,0 +1,26 @@
+Patch-Source: https://github.com/latchset/luksmeta/pull/10
+
+From af81262c0f6e6b37e5c6b520d0fca3a9f9b6c1fc Mon Sep 17 00:00:00 2001
+From: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
+Date: Sat, 28 Sep 2019 13:24:11 +0200
+Subject: [PATCH] Force creation of LUKS1 containers in test suite
+
+Cryptsetup defaults to LUKS2 since version 2.1, make sure to create
+LUKS1 containers instead by using the "--type luks1" argument.
+---
+ test-luksmeta | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test-luksmeta b/test-luksmeta
+index fd17ead..f1e8b2e 100755
+--- a/test-luksmeta
++++ b/test-luksmeta
+@@ -11,7 +11,7 @@ function onexit() {
+ trap 'onexit' EXIT
+
+ truncate -s 4M $tmp
+-echo -n foo | cryptsetup luksFormat $tmp -
++echo -n foo | cryptsetup luksFormat --type luks1 $tmp -
+
+ ! ./luksmeta test -d $tmp
+
diff --git a/testing/luksmeta/musl.patch b/testing/luksmeta/musl.patch
new file mode 100644
index 00000000000..26eb47ab86d
--- /dev/null
+++ b/testing/luksmeta/musl.patch
@@ -0,0 +1,175 @@
+The tests use glibc's error.h, which musl libc does not implement.
+Use err.h instead.
+
+--- a/test-lm-big.c
++++ b/test-lm-big.c
+@@ -19,7 +19,7 @@
+
+ #include "test.h"
+ #include <errno.h>
+-#include <error.h>
++#include <err.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -107,7 +107,7 @@ main(int argc, char *argv[])
+ /* Set the data. */
+ r = luksmeta_save(cd, CRYPT_ANY_SLOT, UUID, DATA, sizeof(DATA));
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "luksmeta_save()");
++ err(EXIT_FAILURE, "luksmeta_save()");
+
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+--- a/test-lm-init.c
++++ b/test-lm-init.c
+@@ -22,7 +22,7 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <errno.h>
+-#include <error.h>
++#include <err.h>
+ #include <stdio.h>
+ #include <stdlib.h>
+
+@@ -89,11 +89,11 @@ main(int argc, char *argv[])
+ /* Test to make sure that data corruption is picked up correctly. */
+ fd = open(filename, O_RDWR | O_SYNC);
+ if (fd < 0)
+- error(EXIT_FAILURE, errno, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+ if (lseek(fd, offset + 16, SEEK_SET) == -1)
+- error(EXIT_FAILURE, errno, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+ if (write(fd, &(char) { 17 }, 1) != 1)
+- error(EXIT_FAILURE, errno, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+ close(fd);
+ assert(luksmeta_save(cd, 2, UUID, UUID, sizeof(UUID)) == -EINVAL);
+ assert(luksmeta_load(cd, 2, uuid, data, sizeof(data)) == -EINVAL);
+--- a/test-lm-one.c
++++ b/test-lm-one.c
+@@ -18,7 +18,7 @@
+ */
+
+ #include "test.h"
+-#include <error.h>
++#include <err.h>
+ #include <errno.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -44,7 +44,7 @@ main(int argc, char *argv[])
+
+ r = luksmeta_save(cd, CRYPT_ANY_SLOT, UUID, UUID, sizeof(UUID));
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ /* Test the layout state. */
+ assert(test_layout((range_t[]) {
+--- a/test-lm-two.c
++++ b/test-lm-two.c
+@@ -18,7 +18,7 @@
+ */
+
+ #include "test.h"
+-#include <error.h>
++#include <err.h>
+ #include <stdlib.h>
+ #include <string.h>
+
+@@ -49,7 +49,7 @@ main(int argc, char *argv[])
+ /* Add one metadata. */
+ r = luksmeta_save(cd, 0, UUID0, UUID0, sizeof(UUID0));
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "luksmeta_save()");
++ err(EXIT_FAILURE, "luksmeta_save()");
+
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+@@ -66,7 +66,7 @@ main(int argc, char *argv[])
+ /* Add a second metadata. */
+ r = luksmeta_save(cd, 1, UUID1, UUID1, sizeof(UUID1));
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "luksmeta_save()");
++ err(EXIT_FAILURE, "luksmeta_save()");
+
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+--- a/test.c
++++ b/test.c
+@@ -18,7 +18,7 @@
+ */
+
+ #include <assert.h>
+-#include <error.h>
++#include <err.h>
+ #include <errno.h>
+ #include <stdbool.h>
+ #include <stdio.h>
+@@ -105,7 +105,7 @@ test_hole(struct crypt_device *cd, uint32_t *offset, uint32_t *length)
+
+ payload_offset = crypt_get_data_offset(cd) * 512;
+ if (payload_offset < ALIGN(1, true))
+- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ for (int slot = 0; slot < crypt_keyslot_max(CRYPT_LUKS1); slot++) {
+ uint64_t off = 0;
+@@ -113,7 +113,7 @@ test_hole(struct crypt_device *cd, uint32_t *offset, uint32_t *length)
+
+ r = crypt_keyslot_area(cd, slot, &off, &len);
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ if (off + len > keyarea_end)
+ keyarea_end = off + len;
+@@ -132,23 +132,23 @@ test_format(void)
+
+ fd = mkstemp(filename);
+ if (fd < 0)
+- error(EXIT_FAILURE, errno, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ /* Create a 4MB sparse file. */
+ if (lseek(fd, 4194303, SEEK_SET) == -1)
+- error(EXIT_FAILURE, errno, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+ if (write(fd, "", 1) != 1)
+- error(EXIT_FAILURE, errno, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+ close(fd);
+
+ r = crypt_init(&cd, filename);
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ r = crypt_format(cd, CRYPT_LUKS1, "aes", "xts-plain64",
+ NULL, NULL, 32, NULL);
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ return cd;
+ }
+@@ -161,15 +161,15 @@ test_init(void)
+
+ r = crypt_init(&cd, filename);
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ r = crypt_load(cd, CRYPT_LUKS1, NULL);
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ r = luksmeta_init(cd);
+ if (r < 0)
+- error(EXIT_FAILURE, -r, "%s:%d", __FILE__, __LINE__);
++ err(EXIT_FAILURE, "%s:%d", __FILE__, __LINE__);
+
+ return cd;
+ }
diff --git a/testing/luksmeta/relax-content-tests-in-test-suite.patch b/testing/luksmeta/relax-content-tests-in-test-suite.patch
new file mode 100644
index 00000000000..563fe634517
--- /dev/null
+++ b/testing/luksmeta/relax-content-tests-in-test-suite.patch
@@ -0,0 +1,150 @@
+Patch-Source: https://github.com/latchset/luksmeta/pull/7
+
+From 9c550e0675f9fa8fe58c996660c61eca11b424d1 Mon Sep 17 00:00:00 2001
+From: Christoph Biedl <debian.axhn@manchmal.in-ulm.de>
+Date: Mon, 10 Dec 2018 14:25:33 +0100
+Subject: [PATCH] Relax content tests in test suite
+
+Starting with version 2.0.5, cryptsetup wipes the full LUKS header
+and fills unused sections with random data, this was introduced
+in commit
+
+ commit c2bce3e93ecee41f661b589ee28f112eb538259e
+ Author: Milan Broz <gmazyland@gmail.com>
+ Date: Sun Oct 14 13:11:50 2018 +0200
+
+ Wipe full header areas (including unused) during LUKS format.
+
+While this is the right thing to do, it breaks luksmeta tests. So
+relax them.
+
+Bug-Debian: https://bugs.debian.org/915256
+Resolves: https://github.com/latchset/luksmeta/issues/6
+---
+ test-lm-assumptions.c | 3 ++-
+ test-lm-big.c | 4 ++--
+ test-lm-init.c | 4 ++--
+ test-lm-one.c | 4 ++--
+ test-lm-two.c | 8 ++++----
+ 5 files changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/test-lm-assumptions.c b/test-lm-assumptions.c
+index d9ff20b..b4f293f 100644
+--- a/test-lm-assumptions.c
++++ b/test-lm-assumptions.c
+@@ -28,7 +28,8 @@ main(int argc, char *argv[])
+ /* Test the layout state. */
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- END(1024), /* Rest of the file */
++ { 1024, 3072, true }, /* Keyslot Area */
++ { 0, 0 },
+ }));
+
+ unlink(filename);
+diff --git a/test-lm-big.c b/test-lm-big.c
+index 6098e59..eb94d3b 100644
+--- a/test-lm-big.c
++++ b/test-lm-big.c
+@@ -111,7 +111,7 @@ main(int argc, char *argv[])
+
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ { offset + 4096, 4096 }, /* luksmeta slot 0 */
+ { offset + 8192, 4096 }, /* luksmeta slot 0 (cont) */
+@@ -127,7 +127,7 @@ main(int argc, char *argv[])
+
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ END(offset + 4096), /* Rest of the file */
+ }));
+diff --git a/test-lm-init.c b/test-lm-init.c
+index 2a6cb45..b16d597 100644
+--- a/test-lm-init.c
++++ b/test-lm-init.c
+@@ -57,7 +57,7 @@ main(int argc, char *argv[])
+ /* Test the layout state. */
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ END(offset + 4096), /* Rest of the file */
+ }));
+@@ -106,7 +106,7 @@ main(int argc, char *argv[])
+ assert(luksmeta_test(cd) == -ENOENT);
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ END(offset), /* Rest of the file */
+ }));
+
+diff --git a/test-lm-one.c b/test-lm-one.c
+index 8deb70a..18613e0 100644
+--- a/test-lm-one.c
++++ b/test-lm-one.c
+@@ -49,7 +49,7 @@ main(int argc, char *argv[])
+ /* Test the layout state. */
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ { offset + 4096, 4096 }, /* luksmeta slot 0 */
+ END(offset + 8192), /* Rest of the file */
+@@ -68,7 +68,7 @@ main(int argc, char *argv[])
+ /* Test the layout state. */
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ END(offset + 4096), /* Rest of the file */
+ }));
+diff --git a/test-lm-two.c b/test-lm-two.c
+index 78fea5b..9f0b1c5 100644
+--- a/test-lm-two.c
++++ b/test-lm-two.c
+@@ -53,7 +53,7 @@ main(int argc, char *argv[])
+
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ { offset + 4096, 4096 }, /* luksmeta slot 0 */
+ END(offset + 8192), /* Rest of the file */
+@@ -70,7 +70,7 @@ main(int argc, char *argv[])
+
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ { offset + 4096, 4096 }, /* luksmeta slot 0 */
+ { offset + 8192, 4096 }, /* luksmeta slot 1 */
+@@ -88,7 +88,7 @@ main(int argc, char *argv[])
+ assert(luksmeta_wipe(cd, 0, UUID0) == 0);
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ { offset + 4096, 4096, true }, /* luksmeta slot 0 */
+ { offset + 8192, 4096 }, /* luksmeta slot 1 */
+@@ -99,7 +99,7 @@ main(int argc, char *argv[])
+ assert(luksmeta_wipe(cd, 1, UUID1) == 0);
+ assert(test_layout((range_t[]) {
+ { 0, 1024 }, /* LUKS header */
+- { 1024, offset - 1024, true }, /* Keyslot Area */
++ { 1024, 3072, true }, /* Keyslot Area */
+ { offset, 4096 }, /* luksmeta header */
+ END(offset + 4096), /* Rest of the file */
+ }));
diff --git a/testing/lumina-desktop/APKBUILD b/testing/lumina-desktop/APKBUILD
index c98f7efbb1b..bcbe312cb04 100644
--- a/testing/lumina-desktop/APKBUILD
+++ b/testing/lumina-desktop/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: Damian Kurek <starfire24680@gmail.com>
# Maintainer: Damian Kurek <starfire24680@gmail.com>
pkgname=lumina-desktop
-pkgver=1.6.0
+pkgver=1.6.2
pkgrel=0
pkgdesc="Lumina desktop environment"
options="!check" #no tests available
url="https://lumina-desktop.org/"
-arch="all !armhf !armv7" # qt5-multimedia-dev
+arch="all"
license="BSD-3-Clause"
depends="
$pkgname-core
@@ -17,11 +17,12 @@ depends="
$pkgname-mediaplayer
$pkgname-photo
$pkgname-screenshot
+ $pkgname-sudo
$pkgname-textedit
"
makedepends="qt5-qtbase-dev qt5-qtx11extras-dev qt5-qtsvg-dev
qt5-qtmultimedia-dev qt5-qttools-dev xcb-util-wm-dev xcb-util-image-dev
- libxcursor-dev"
+ libxcursor-dev qt5-qtdeclarative-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/lumina-desktop/lumina/archive/v$pkgver.tar.gz"
builddir="$srcdir/lumina-$pkgver"
subpackages="$depends $pkgname-doc"
@@ -46,8 +47,11 @@ core() {
depends="libxcb xinit fluxbox xscreensaver xterm xbacklight pavucontrol acpi dbus"
amove usr/share/lumina-desktop/*.ogg
amove usr/share/lumina-desktop/*.jpg
+ amove usr/share/lumina-desktop/*.png
amove usr/share/lumina-desktop/*.conf
amove usr/share/lumina-desktop/fluxbox*
+ amove usr/share/lumina-desktop/theme.cfg
+ amove usr/share/lumina-desktop/screensavers
amove usr/share/icons
amove etc
@@ -73,6 +77,8 @@ core() {
amove usr/share/lthemeengine
amove usr/share/applications/lthemeengine.desktop
amove usr/bin/lthemeengine*
+
+ amove usr/bin/lumina-pingcursor
}
coreutils() {
@@ -147,6 +153,13 @@ screenshot() {
amove usr/share/lumina-desktop/i18n/l-screenshot*
}
+sudo() {
+ pkgdesc="Lumina sudo"
+ depends=""
+
+ amove usr/bin/lumina-sudo
+}
+
textedit() {
pkgdesc="Lumina desktop textedit"
depends=""
@@ -158,4 +171,6 @@ textedit() {
amove usr/share/lumina-desktop/i18n/l-te*
}
-sha512sums="e923961568ab9cc32206386066daef8cd1fd2db2d5c3e260e5c1da1dcda39a516576418f607cefbe5a1c47d8684591d0e595fb344e7d6aa2859fc3b326e73e30 lumina-desktop-1.6.0.tar.gz"
+sha512sums="
+0bebdc89644af49232ad9a0b753dee501f3e99d6615ce926c71790932d228e3c6676ca4835aeaf6badf5455102278261e48bed0d3004fe9209aca68d620cae02 lumina-desktop-1.6.2.tar.gz
+"
diff --git a/testing/lumins/APKBUILD b/testing/lumins/APKBUILD
index d1b47e26925..64465a8e147 100644
--- a/testing/lumins/APKBUILD
+++ b/testing/lumins/APKBUILD
@@ -2,22 +2,23 @@
# Maintainer: guddaff <guddaff@protonmail.com>
pkgname=lumins
pkgver=0.4.0
-pkgrel=0
+pkgrel=2
pkgdesc="tool for local file synchronizing"
url="https://github.com/wchang22/LuminS"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" #limited by rust/cargo
options="!check" #Test are passing but creation of apkindex crashes
license="MIT"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
source="$pkgname-$pkgver.tar.gz::https://github.com/wchang22/LuminS/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir/LuminS-$pkgver"
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
package() {
- cargo install --locked --path . --root=$pkgdir/usr
+ cargo auditable install --locked --path . --root=$pkgdir/usr
rm "$pkgdir"/usr/.crates*
}
diff --git a/testing/lutgen/APKBUILD b/testing/lutgen/APKBUILD
new file mode 100644
index 00000000000..a1fa411fc40
--- /dev/null
+++ b/testing/lutgen/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Sam Nystrom <sam@samnystrom.dev>
+# Maintainer: Sam Nystrom <sam@samnystrom.dev>
+pkgname=lutgen
+pkgver=0.10.0
+pkgrel=0
+pkgdesc="Blazingly fast interpolated LUT generator and applicator for arbitrary and popular color palettes"
+url="https://github.com/ozwaldorf/lutgen-rs"
+arch="all"
+license="MIT"
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/ozwaldorf/lutgen-rs/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/lutgen-rs-$pkgver"
+options="net" # cargo fetch
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+ mkdir -p completions
+ ./target/release/lutgen completions bash > completions/lutgen
+ ./target/release/lutgen completions zsh > completions/_lutgen
+ ./target/release/lutgen completions fish > completions/lutgen.fish
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/lutgen "$pkgdir"/usr/bin/lutgen
+ install -Dm644 completions/lutgen "$pkgdir"/usr/share/bash-completion/completions/lutgen
+ install -Dm644 completions/_lutgen "$pkgdir"/usr/share/zsh/site-functions/_lutgen
+ install -Dm644 completions/lutgen.fish "$pkgdir"/usr/share/fish/vendor_completions.d/lutgen.fish
+}
+
+sha512sums="
+416b748ff0b0ef5f43deb446fadd14f9d370cbda62f20dcc83499bfc548073d0c7dab1e4cfbe608a797806d48eb751de447945bd3d748a8baba1928c7de068f1 lutgen-0.10.0.tar.gz
+"
diff --git a/testing/lv2/APKBUILD b/testing/lv2/APKBUILD
deleted file mode 100644
index 13b738daebe..00000000000
--- a/testing/lv2/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=lv2
-pkgver=1.18.2
-pkgrel=0
-pkgdesc="extensible open standard for audio plugins"
-url="https://lv2plug.in"
-arch="all"
-license="ISC"
-makedepends="python3 gtk+2.0-dev libsndfile-dev gcovr"
-subpackages="$pkgname-dev"
-source="http://lv2plug.in/spec/lv2-$pkgver.tar.bz2"
-
-build() {
- python3 waf configure --prefix=/usr -T
- python3 waf build
-}
-
-check() {
- python3 waf test
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="d5bdcf94d3cf9a569e29964002a038ae73cd6ae7f09f7d973f8fd74858c8cf9d01bbed85ae8bf0a00efcb2b3611357a64571222a89972091941449c36d76b0ef lv2-1.18.2.tar.bz2"
diff --git a/testing/lwan/APKBUILD b/testing/lwan/APKBUILD
index 820389066af..227f88f59e0 100644
--- a/testing/lwan/APKBUILD
+++ b/testing/lwan/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=lwan
pkgver=0.1
-pkgrel=1
+pkgrel=2
pkgdesc="Experimental, scalable, high performance HTTP server"
url="https://lwan.ws"
arch="x86_64"
@@ -14,6 +14,7 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/lpereira/lwan/archive/v$pkgv
fix-pthread-stack-min.patch
fix-libdir.patch
fix-pkgconfig-version.patch
+ gettid.patch
"
build() {
@@ -48,7 +49,10 @@ dev() {
default_dev
}
-sha512sums="6cd42b81402f98c13f905149e515758994b15d9bda6179112c5b2ce59f63c1ce6299234ffcdd64fbc8c37e5f4fd45cfe125c80a05a09ba599158ecf26f5c511c lwan-0.1.tar.gz
+sha512sums="
+6cd42b81402f98c13f905149e515758994b15d9bda6179112c5b2ce59f63c1ce6299234ffcdd64fbc8c37e5f4fd45cfe125c80a05a09ba599158ecf26f5c511c lwan-0.1.tar.gz
e0db0c8c580543399893a86374cc2597cd8f8b358bc79334401948f0729e6da69d719388f023fd696e71d4cca3d9312d26b62b5d8aa0d44196754f8707b0bbcb fix-pthread-stack-min.patch
43e3cdbfa55357a35ea3980d18dcd1962bb850b52592f8c5d270f5f4860cde3ab1e4e371136cb59b7b3d1fa98d81c0f5de447630b40d2300953ff6b62ab1bb4a fix-libdir.patch
-b1107bcca58a6243a1e297ec86af7a5fddde856ef718425903abb6163295f6f861c7c55ec961118f087e175b23d2772cf3ce25b998bca8da3129c289ab10ad65 fix-pkgconfig-version.patch"
+b1107bcca58a6243a1e297ec86af7a5fddde856ef718425903abb6163295f6f861c7c55ec961118f087e175b23d2772cf3ce25b998bca8da3129c289ab10ad65 fix-pkgconfig-version.patch
+d1bda2e3e385fc5f9722ae37b2fe7a6f41ab9bc6bb158cc7ba68eed7dfed429b54c0fa8cd2927be4f91ed3de11209f03dd8b7bbaf203d7cc18176e2a9efe7a4e gettid.patch
+"
diff --git a/testing/lwan/gettid.patch b/testing/lwan/gettid.patch
new file mode 100644
index 00000000000..da8ab2e82e9
--- /dev/null
+++ b/testing/lwan/gettid.patch
@@ -0,0 +1,76 @@
+Patch-Source: https://github.com/lpereira/lwan/commit/870a8aa013544b944db15abf484690b5fb0b88be
+From 870a8aa013544b944db15abf484690b5fb0b88be Mon Sep 17 00:00:00 2001
+From: Leandro Pereira <leandro@hardinfo.org>
+Date: Wed, 9 Oct 2019 22:03:06 -0700
+Subject: [PATCH] Only provide gettid() implementation if not available in libc
+
+Newer glibc provides a wrapper for this syscall now.
+---
+ CMakeLists.txt | 1 +
+ src/cmake/lwan-build-config.h.cmake | 1 +
+ src/lib/missing.c | 6 +++++-
+ src/lib/missing/sys/types.h | 4 +++-
+ 4 files changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8266609..7028963 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -85,6 +85,7 @@ check_function_exists(readahead HAS_READAHEAD)
+ check_function_exists(mkostemp HAS_MKOSTEMP)
+ check_function_exists(clock_gettime HAS_CLOCK_GETTIME)
+ check_function_exists(pthread_barrier_init HAS_PTHREADBARRIER)
++check_function_exists(gettid HAVE_GETTID)
+
+ if (NOT HAS_CLOCK_GETTIME AND ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
+ list(APPEND ADDITIONAL_LIBRARIES rt)
+diff --git a/src/cmake/lwan-build-config.h.cmake b/src/cmake/lwan-build-config.h.cmake
+index 4708ed5..3d80c20 100644
+--- a/src/cmake/lwan-build-config.h.cmake
++++ b/src/cmake/lwan-build-config.h.cmake
+@@ -30,6 +30,7 @@
+ #cmakedefine HAS_READAHEAD
+ #cmakedefine HAS_REALLOCARRAY
+ #cmakedefine HAS_MKOSTEMP
++#cmakedefine HAVE_GETTID
+
+ /* Compiler builtins for specific CPU instruction support */
+ #cmakedefine HAVE_BUILTIN_CLZLL
+diff --git a/src/lib/missing.c b/src/lib/missing.c
+index 22dddaa..c3b5a4b 100644
+--- a/src/lib/missing.c
++++ b/src/lib/missing.c
+@@ -351,13 +351,17 @@ proc_pidpath(pid_t pid, void *buffer, size_t buffersize)
+ #endif
+
+ #if defined(__linux__)
++
++#if !defined(HAVE_GETTID)
+ #include <sys/syscall.h>
+
+-long
++pid_t
+ gettid(void)
+ {
+- return syscall(SYS_gettid);
++ return (pid_t)syscall(SYS_gettid);
+ }
++#endif
++
+ #elif defined(__FreeBSD__)
+ #include <sys/thr.h>
+
+diff --git a/src/lib/missing/sys/types.h b/src/lib/missing/sys/types.h
+index f178de8..cdc0658 100644
+--- a/src/lib/missing/sys/types.h
++++ b/src/lib/missing/sys/types.h
+@@ -22,6 +22,8 @@
+ #ifndef MISSING_SYS_TYPES_H
+ #define MISSING_SYS_TYPES_H
+
+-long gettid(void);
++#ifndef HAVE_GETTID
++pid_t gettid(void);
++#endif
+
+ #endif
diff --git a/testing/lxappearance/APKBUILD b/testing/lxappearance/APKBUILD
index 290766152ff..9a77229d5d4 100644
--- a/testing/lxappearance/APKBUILD
+++ b/testing/lxappearance/APKBUILD
@@ -1,12 +1,11 @@
# Contributor: Bartłomiej Piotrowski <bpiotrowski@alpinelinux.org>
# Maintainer:
-
pkgname=lxappearance
pkgver=0.6.3
-pkgrel=1
+pkgrel=3
pkgdesc='Feature-rich GTK+ theme switcher'
arch='all'
-license='GPL2'
+license='GPL-2.0-or-later'
url='https://lxde.org/'
makedepends='gtk+2.0-dev intltool dbus-glib-dev'
subpackages="$pkgname-doc $pkgname-dev $pkgname-lang"
@@ -14,20 +13,19 @@ source="https://downloads.sourceforge.net/lxde/$pkgname-$pkgver.tar.xz"
builddir="$srcdir"/$pkgname-$pkgver
build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --enable-dbus \
- || return 1
- make || return 1
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --enable-dbus \
+ make
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
}
-sha512sums="035cc952a33ac25408a4158cb4e745b17af3f29b5ceedfbe6b37235d16c801658403e862cd35ad7c8ca20fe6186fab1dce74a6e8d3b2eec12a30d532fc21662c lxappearance-0.6.3.tar.xz"
+sha512sums="
+035cc952a33ac25408a4158cb4e745b17af3f29b5ceedfbe6b37235d16c801658403e862cd35ad7c8ca20fe6186fab1dce74a6e8d3b2eec12a30d532fc21662c lxappearance-0.6.3.tar.xz
+"
diff --git a/testing/lxd-feature/APKBUILD b/testing/lxd-feature/APKBUILD
new file mode 100644
index 00000000000..cd4485e29f7
--- /dev/null
+++ b/testing/lxd-feature/APKBUILD
@@ -0,0 +1,133 @@
+# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=lxd-feature
+pkgver=5.20
+pkgrel=2
+pkgdesc="Container hypervisor and a new user experience for LXC - 'Feature' release channel"
+url="https://ubuntu.com/lxd"
+arch="all"
+license="AGPL-3.0"
+pkggroups="lxd"
+depends="
+ acl
+ attr
+ ca-certificates
+ cgmanager
+ dnsmasq
+ iproute2
+ iptables
+ lxc
+ netcat-openbsd
+ rsync
+ shadow-subids
+ squashfs-tools
+ tar
+ xz
+ "
+makedepends="
+ acl-dev
+ acl-static
+ autoconf
+ automake
+ dqlite-dev
+ dqlite-static
+ eudev-dev
+ gettext-dev
+ gettext-static
+ go
+ intltool
+ libcap-dev
+ libcap-static
+ libseccomp-static
+ libtool
+ libuv-dev
+ libuv-static
+ linux-headers
+ lxc-dev
+ lz4-dev
+ patchelf
+ raft-dev
+ raft-static
+ sqlite-dev
+ sqlite-static
+ tcl-dev
+ zlib-static
+ "
+subpackages="
+ $pkgname-scripts:scripts:noarch
+ $pkgname-bash-completion
+ $pkgname-openrc
+ $pkgname-doc
+ "
+install="$pkgname.pre-install"
+options="!check"
+source="$pkgname-$pkgver.tar.gz::https://github.com/canonical/lxd/releases/download/lxd-$pkgver/lxd-$pkgver.tar.gz
+ $pkgname.confd
+ $pkgname.initd
+ "
+ldpath="/usr/lib/lxd"
+sonameprefix="$pkgname:"
+builddir="$srcdir/lxd-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ export GOPATH="$builddir/_dist"
+ export CGO_LDFLAGS="-lintl $LDFLAGS"
+ export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
+ export GO111MODULE=on
+
+ mkdir -p bin
+ go build -v -tags "netgo libsqlite3" -ldflags '-extldflags "-static -lm -ldl -lz -lpthread -lz -lintl -lraft -ldqlite -luv -lseccomp -lcap"' -o bin/ ./lxd-migrate/...
+ go build -v -tags "agent libsqlite3" -ldflags '-extldflags "-static -lm -ldl -lz -lpthread -lz -lintl -lraft -ldqlite -luv -lseccomp -lcap"' -o bin/ ./lxd-agent/...
+
+ for tool in fuidshift lxc lxc-to-lxd lxd lxd-benchmark; do
+ go build -v -tags "libsqlite3" -o bin/ ./$tool/...
+ done
+}
+
+package() {
+ for tool in lxc fuidshift lxc-to-lxd lxd lxd-benchmark lxd-migrate lxd-agent; do
+ install -p -Dm755 "bin/$tool" "$pkgdir/usr/bin/$tool"
+ done
+ install -Dm755 bin/lxd "$pkgdir"/usr/sbin/lxd
+ install -Dm755 bin/lxc "$pkgdir"/usr/bin/lxc
+
+ patchelf --set-rpath "/usr/lib/lxd" "$pkgdir/usr/sbin/lxd"
+
+ install -Dm755 "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/lxd
+ install -Dm644 "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/lxd
+
+ mkdir -p "$pkgdir"/var/lib/lxd
+ chmod 755 "$pkgdir"/var/lib/lxd
+ chgrp $pkggroups "$pkgdir"/var/lib/lxd
+
+ install -Dm755 scripts/empty-lxd.sh \
+ "$pkgdir"/usr/bin/empty-lxd.sh
+
+ install -Dm644 scripts/bash/lxd-client \
+ -t "$pkgdir"/usr/share/bash-completion/completions/
+
+ mkdir -p "$pkgdir/usr/share/doc/lxd"
+ cat > "$pkgdir"/usr/share/doc/lxd/README.alpine <<-EOF
+ -----------------------------------
+ Be sure to add your local user to the lxd group.
+ EOF
+}
+
+scripts() {
+ pkgdesc="LXD scripts"
+ depends="$pkgname=$pkgver-r$pkgrel py3-lxc jq"
+
+ amove usr/bin/empty-lxd.sh
+}
+
+sha512sums="
+cf593f967d9d595577ab9b05bad99d04b9c30031461fdd4769f4746e651b3aa8e94fca53548da1aec22ff312a91ff46710ab88043a633fbd78ffafe130fed3e3 lxd-feature-5.20.tar.gz
+1bbb26a61b3812e6eb4c3cb7db6c2d9adb43195f96f317d6bba1ace6a97f1faed0677a12c3827002bc147edba9b355f0e7ead3960d254a131b25fb8c060ea8d0 lxd-feature.confd
+ebf9608ea3db25b456a557c81838c6a793adf5f490bd64e1f3dc6951bad619188cb0170f0a794b086adbd128267b4339ab46c1b6a815a4ae7f3a6566b7854d97 lxd-feature.initd
+"
diff --git a/testing/lxd/lxd.confd b/testing/lxd-feature/lxd-feature.confd
index 843bd6e42b5..843bd6e42b5 100644
--- a/testing/lxd/lxd.confd
+++ b/testing/lxd-feature/lxd-feature.confd
diff --git a/testing/lxd/lxd.initd b/testing/lxd-feature/lxd-feature.initd
index b2ec9bbc95e..b2ec9bbc95e 100644
--- a/testing/lxd/lxd.initd
+++ b/testing/lxd-feature/lxd-feature.initd
diff --git a/testing/lxd/lxd.pre-install b/testing/lxd-feature/lxd-feature.pre-install
index 5dedf7c575c..5dedf7c575c 100644
--- a/testing/lxd/lxd.pre-install
+++ b/testing/lxd-feature/lxd-feature.pre-install
diff --git a/testing/lxd-lts/APKBUILD b/testing/lxd-lts/APKBUILD
deleted file mode 100644
index 2585c112a43..00000000000
--- a/testing/lxd-lts/APKBUILD
+++ /dev/null
@@ -1,118 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@gmail.com>
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Leonardo Arena <larena@alpinelinux.org>
-pkgname=lxd-lts
-_pkgname=lxd
-pkgver=4.0.8
-pkgrel=4
-pkgdesc="A container hypervisor and a new user experience for LXC"
-url="https://linuxcontainers.org/lxd/"
-arch="all !aarch64 !mips !mips64"
-license="Apache-2.0"
-depends="acl
- attr
- ca-certificates
- cgmanager
- dbus
- dnsmasq
- lxc
- ip6tables
- iproute2
- netcat-openbsd
- rsync
- squashfs-tools
- shadow-uidmap
- tar
- xz
- "
-makedepends="acl-dev
- autoconf
- automake
- dqlite-dev
- eudev-dev
- gettext-dev
- go
- intltool
- libcap-dev
- libtool
- libuv-dev
- linux-headers
- lxc-dev
- lz4-dev
- raft-dev
- rsync
- sqlite-dev
- tcl-dev
- "
-subpackages="$pkgname-scripts:scripts
- $pkgname-bash-completion:bashcomp:noarch
- $pkgname-openrc
- "
-
-install="$pkgname.pre-install"
-options="!check"
-source="https://linuxcontainers.org/downloads/$_pkgname/$_pkgname-$pkgver.tar.gz
- $pkgname.confd
- $pkgname.initd
-
- lxd-dont-go-get.patch
- add-missing-includes.patch
- "
-builddir="$srcdir/$_pkgname-$pkgver"
-
-_project="github.com/lxc/lxd"
-
-build() {
- export GOPATH="$builddir/vendor"
- export CGO_CFLAGS="-I/usr/include/raft -I/usr/include/dqlite"
- export CGO_LDFLAGS="$CGO_LDFLAGS -lintl"
- export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
-
- make
-
- for bin in lxc fuidshift lxc-to-lxd lxd-benchmark lxd-agent lxd-p2c; do
- go install -v -x $_project/$bin
- done
-}
-
-package() {
- cd ${GOPATH}
- install -Dm755 bin/$_pkgname "$pkgdir"/usr/sbin/$_pkgname
- install -Dm755 bin/lxc "$pkgdir"/usr/bin/lxc
-
- install -Dm755 "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/lxd
- install -Dm644 "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/lxd
-}
-
-bashcomp() {
- depends="bash"
- pkgdesc="Bash completions for $pkgname"
- install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
-
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/share/bash-completion/completions
- cp scripts/bash/lxd-client "$subpkgdir"/usr/share/bash-completion/completions/lxd-client
-}
-
-scripts() {
- pkgdesc="LXD scripts"
- depends="$pkgname py3-lxc"
-
- export GOPATH="$builddir/vendor"
- cd $GOPATH
-
- for tool in fuidshift lxc-to-lxd lxd-benchmark lxd-agent lxd-p2c; do
- install -Dm755 bin/$tool "$subpkgdir"/usr/bin/$tool
- done
- install -Dm755 ../scripts/empty-lxd.sh "$subpkgdir"/usr/bin/empty-lxd.sh
-}
-
-sha512sums="
-9bf5ee91438bc14e916410254979838a110d21d8329c0eaa0a5eecfd378039a3ac10291197d2f680dc12484866f21ef724618e88e6c02038e6d2484d33571dd6 lxd-4.0.8.tar.gz
-bc32c71f2ce10f508433e1e4651c08c18e8a17e9419a7ce391c0f127fc7cf378c665178926b35eae8813e290d9c5eab3ceb605679fd32efdf2cf98a57cee4127 lxd-lts.confd
-32a10201441e65bc342c9feffce9e2cd2977db4d8fe9c4d2d32530ff787a31088d97cb5a76a27cd7e1bcdb0ed3c3363106ff0ebfa8043b978ad9ec7262f4c088 lxd-lts.initd
-d15cf32be09c4eeaa81979c930f5dc531f158cda1aea019e98e51d8559ad9bc1e05eb9a359811f5e7061abc383c5790b3957118221d3fbfddbeedad21b48dd2b lxd-dont-go-get.patch
-1e3a33a1e59ff202b556dd20596abf562d6af652b50ac6ce85d762043e765c0b5f91676735319132ed68d543c7857796e8a1aa9a642ae892e4c1311c727dbd2a add-missing-includes.patch
-"
diff --git a/testing/lxd-lts/add-missing-includes.patch b/testing/lxd-lts/add-missing-includes.patch
deleted file mode 100644
index 4c72473a326..00000000000
--- a/testing/lxd-lts/add-missing-includes.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/vendor/dqlite/src/vfs.c b/vendor/dqlite/src/vfs.c
-index 31e138c..c5f9e9c 100644
---- a/vendor/dqlite/src/vfs.c
-+++ b/vendor/dqlite/src/vfs.c
-@@ -2,6 +2,9 @@
- #include <sys/time.h>
- #include <errno.h>
-
-+#include <pthread.h>
-+#include <sys/types.h>
-+
- #include <raft.h>
-
- #include <sqlite3.h>
diff --git a/testing/lxd-lts/lxd-dont-go-get.patch b/testing/lxd-lts/lxd-dont-go-get.patch
deleted file mode 100644
index 0623834ca70..00000000000
--- a/testing/lxd-lts/lxd-dont-go-get.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 12f20a383f0d0a102977259925beb410b238ab8e Mon Sep 17 00:00:00 2001
-From: Leonardo Arena <rnalrd@alpinelinux.org>
-Date: Fri, 31 Dec 2021 08:31:51 +0000
-Subject: [PATCH] lxc-dont-go-get
-
----
- Makefile | 12 ------------
- 1 file changed, 12 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 9a9aa3b..8b51ed1 100644
---- a/Makefile
-+++ b/Makefile
-@@ -88,7 +88,6 @@ ifneq "$(LXD_OFFLINE)" ""
- @echo "The update target cannot be run in offline mode."
- exit 1
- endif
-- go get -t -v -d -u ./...
- go mod tidy
- @echo "Dependencies updated"
-
-@@ -106,9 +105,6 @@ update-schema:
-
- .PHONY: update-api
- update-api:
--ifeq "$(LXD_OFFLINE)" ""
-- (cd / ; GO111MODULE=on go get -v -x github.com/go-swagger/go-swagger/cmd/swagger)
--endif
- swagger generate spec -o doc/rest-api.yaml -w ./lxd -m
-
- .PHONY: debug
-@@ -148,11 +144,6 @@ endif
-
- .PHONY: check
- check: default
--ifeq "$(LXD_OFFLINE)" ""
-- (cd / ; go get -v -x github.com/rogpeppe/godeps)
-- (cd / ; go get -v -x github.com/tsenart/deadcode)
-- (cd / ; go get -v -x golang.org/x/lint/golint)
--endif
- CGO_LDFLAGS_ALLOW="$(CGO_LDFLAGS_ALLOW)" go test -v -tags "$(TAG_SQLITE3)" $(DEBUG) ./...
- cd test && ./main.sh
-
-@@ -200,9 +191,6 @@ update-po:
-
- .PHONY: update-pot
- update-pot:
--ifeq "$(LXD_OFFLINE)" ""
-- (cd / ; go get -v -x github.com/snapcore/snapd/i18n/xgettext-go)
--endif
- xgettext-go -o po/$(DOMAIN).pot --add-comments-tag=TRANSLATORS: --sort-output --package-name=$(DOMAIN) --msgid-bugs-address=lxc-devel@lists.linuxcontainers.org --keyword=i18n.G --keyword-plural=i18n.NG lxc/*.go lxc/*/*.go
-
- .PHONY: build-mo
---
-2.34.1
-
diff --git a/testing/lxd-lts/lxd-lts.confd b/testing/lxd-lts/lxd-lts.confd
deleted file mode 100644
index 68a521a1c11..00000000000
--- a/testing/lxd-lts/lxd-lts.confd
+++ /dev/null
@@ -1,23 +0,0 @@
-# Group which owns the shared socket, used for unpriviledged containers
-#LXD_OPTIONS=" --group lxd"
-
-# Enable cpu profiling into the specified file
-#LXD_OPTIONS="${LXD_OPTIONS} --cpuprofile /tmp/lxc_cpu_profile"
-
-# Enable memory profiling into the specified file
-#LXD_OPTIONS="${LXD_OPTIONS} --memprofile /tmp/lxc_mem_profile"
-
-# Enables debug mode
-#LXD_OPTIONS="${LXD_OPTIONS} --debug"
-
-# For debugging, print a complete stack trace every n seconds
-#LXD_OPTIONS="${LXD_OPTIONS} --print-goroutines-every 5"
-
-# Enables verbose mode
-#LXD_OPTIONS="${LXD_OPTIONS} -v"
-
-# Logfile to log to
-#LXD_OPTIONS="${LXD_OPTIONS} --logfile /var/log/lxd/lxd.log"
-
-# Enables syslog logging
-#LXD_OPTIONS="${LXD_OPTIONS} --syslog"
diff --git a/testing/lxd-lts/lxd-lts.initd b/testing/lxd-lts/lxd-lts.initd
deleted file mode 100644
index 55f67f44862..00000000000
--- a/testing/lxd-lts/lxd-lts.initd
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/sbin/openrc-run
-
-command="/usr/sbin/lxd"
-command_args="${LXD_OPTIONS}"
-command_background="true"
-pidfile="/run/${RC_SVCNAME}.pid"
-
-depend() {
- need net cgroups dbus
- use lxcfs
- after firewall
-}
diff --git a/testing/lxd-lts/lxd-lts.pre-install b/testing/lxd-lts/lxd-lts.pre-install
deleted file mode 100644
index ac00da3cd0f..00000000000
--- a/testing/lxd-lts/lxd-lts.pre-install
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-addgroup -S lxd 2>/dev/null
-
-for file in /etc/subuid /etc/subgid; do
- if ! $(grep -q root "$file"); then
- echo "root:1000000:1000000000" >> "$file"
- else
- sed -i 's/^root.*/root:1000000:1000000000/' "$file"
- fi
-done
-
-exit 0
diff --git a/testing/lxd/0001-lxd-device-nic-routed-Enable-IP-forwarding-on-veth-h.patch b/testing/lxd/0001-lxd-device-nic-routed-Enable-IP-forwarding-on-veth-h.patch
deleted file mode 100644
index fc93f634772..00000000000
--- a/testing/lxd/0001-lxd-device-nic-routed-Enable-IP-forwarding-on-veth-h.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 8d1f23f5135ae0a4f191af898000abe02aa64910 Mon Sep 17 00:00:00 2001
-From: Thomas Parrott <thomas.parrott@canonical.com>
-Date: Sat, 11 Dec 2021 22:35:03 +0000
-Subject: [PATCH] lxd/device/nic/routed: Enable IP forwarding on veth host_name
- interface
-
-For IPv4 traffic this means we don't need to require net.ipv4.conf.all.forwarding=1.
-
-Fixes #9678
-
-Signed-off-by: Thomas Parrott <thomas.parrott@canonical.com>
----
- lxd/device/nic_routed.go | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/lxd/device/nic_routed.go b/lxd/device/nic_routed.go
-index ebbebedb2..1b82ec1a7 100644
---- a/lxd/device/nic_routed.go
-+++ b/lxd/device/nic_routed.go
-@@ -306,6 +306,12 @@ func (d *nicRouted) Start() (*deviceConfig.RunConfig, error) {
- if err != nil {
- return nil, fmt.Errorf("Failed adding host gateway IP %q: %w", addr.Address, err)
- }
-+
-+ // Enable IP forwarding on host_name.
-+ err = util.SysctlSet(fmt.Sprintf("net/%s/conf/%s/forwarding", keyPrefix, saveData["host_name"]), "1")
-+ if err != nil {
-+ return nil, err
-+ }
- }
-
- // Perform per-address host-side configuration (static routes and neighbour proxy entries).
---
-2.34.1
-
diff --git a/testing/lxd/APKBUILD b/testing/lxd/APKBUILD
deleted file mode 100644
index d4e771fd1c4..00000000000
--- a/testing/lxd/APKBUILD
+++ /dev/null
@@ -1,139 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=lxd
-pkgver=4.22
-pkgrel=0
-pkgdesc="a container hypervisor and a new user experience for LXC"
-url="https://linuxcontainers.org/lxd/"
-arch="all !mips !mips64"
-license="Apache-2.0"
-pkggroups="$pkgname"
-depends="
- acl
- attr
- netcat-openbsd
- cgmanager
- squashfs-tools
- rsync
- dqlite
- shadow-subids
- lxc
- ip6tables
- dnsmasq
- ca-certificates
- tar
- iproute2
- xz
- "
-makedepends="
- lxc-dev
- gettext-dev
- acl-dev
- acl-static
- tcl-dev
- libuv-dev
- eudev-dev
- libcap-dev
- linux-headers
-
- rsync
- go
- intltool
-
- libtool
- autoconf
- automake
- patchelf
- dqlite-dev
- dqlite-static
- lz4-dev
- sqlite-dev
- sqlite-static
- raft-dev
- raft-static
- gettext-static
- zlib-static
- libuv-static
- libseccomp-static
- libcap-static
- "
-subpackages="
- $pkgname-scripts:scripts:noarch
- $pkgname-bash-completion
- $pkgname-openrc
- $pkgname-doc
- "
-install="$pkgname.pre-install"
-options="!check"
-source="https://linuxcontainers.org/downloads/lxd/lxd-$pkgver.tar.gz
- $pkgname.confd
- $pkgname.initd
- "
-ldpath="/usr/lib/lxd"
-sonameprefix="$pkgname:"
-
-build() {
- export GOPATH="$builddir/_dist"
- export GOFLAGS="$GOFLAGS -buildmode=pie -trimpath"
- export CGO_LDFLAGS="-lintl $LDFLAGS"
- export CGO_LDFLAGS_ALLOW="(-Wl,-wrap,pthread_create)|(-Wl,-z,now)"
- export GO111MODULE=on
-
- mkdir -p bin
- go build -v -tags "netgo" -ldflags '-extldflags "-static -lm -ldl -lz -lpthread -lz -lintl -lraft -ldqlite -luv -lseccomp -lcap"' -o bin/ ./lxd-p2c/...
- go build -v -tags "agent" -ldflags '-extldflags "-static -lm -ldl -lz -lpthread -lz -lintl -lraft -ldqlite -luv -lseccomp -lcap"' -o bin/ ./lxd-agent/...
-
- for tool in fuidshift lxc lxc-to-lxd lxd lxd-benchmark; do
- go build -v -tags "libsqlite3" -o bin/ ./$tool/...
- done
-}
-
-package() {
- for tool in lxc fuidshift lxc-to-lxd lxd lxd-benchmark lxd-p2c lxd-agent; do
- install -p -Dm755 "bin/$tool" "$pkgdir/usr/bin/$tool"
- done
- install -Dm755 bin/$pkgname "$pkgdir"/usr/sbin/$pkgname
- install -Dm755 bin/lxc "$pkgdir"/usr/bin/lxc
-
- patchelf --set-rpath "/usr/lib/lxd" "$pkgdir/usr/sbin/lxd"
-
- install -Dm755 "$srcdir"/lxd.initd \
- "$pkgdir"/etc/init.d/lxd
- install -Dm644 "$srcdir"/lxd.confd \
- "$pkgdir"/etc/conf.d/lxd
-
- mkdir -p "$pkgdir"/var/lib/lxd
- chmod 755 "$pkgdir"/var/lib/lxd
- chgrp $pkggroups "$pkgdir"/var/lib/lxd
-
- mkdir -p "$pkgdir/usr/share/doc/$pkgname"
- cat > "$pkgdir"/usr/share/doc/$pkgname/README.alpine <<EOF
------------------------------------
-Be sure to add your local user to the lxd group.
-EOF
-}
-
-bashcomp() {
- depends="bash"
- pkgdesc="Bash completions for $pkgname"
- install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
-
- cd $builddir
- mkdir -p "$subpkgdir"/usr/share/bash-completion/completions
- cp scripts/bash/lxd-client "$subpkgdir"/usr/share/bash-completion/completions/lxd-client
-}
-
-scripts() {
- pkgdesc="LXD scripts"
- depends="$pkgname py3-lxc jq"
-
- cd $builddir
- export GOPATH="$builddir/_dist"
- install -Dm755 scripts/empty-lxd.sh "$subpkgdir"/usr/bin/empty-lxd.sh
-}
-
-sha512sums="
-a209c40fda09ffe39172c436690f5728125e01129e3602fd7737ead93d8566124e35e4f12b116a4fe88ce08333c47e1676feb0a80af48019b140679ffa6b83a3 lxd-4.22.tar.gz
-1bbb26a61b3812e6eb4c3cb7db6c2d9adb43195f96f317d6bba1ace6a97f1faed0677a12c3827002bc147edba9b355f0e7ead3960d254a131b25fb8c060ea8d0 lxd.confd
-ebf9608ea3db25b456a557c81838c6a793adf5f490bd64e1f3dc6951bad619188cb0170f0a794b086adbd128267b4339ab46c1b6a815a4ae7f3a6566b7854d97 lxd.initd
-"
diff --git a/testing/lximage-qt/APKBUILD b/testing/lximage-qt/APKBUILD
deleted file mode 100644
index 3ca4c2a202a..00000000000
--- a/testing/lximage-qt/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lximage-qt
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="The image viewer and screenshot tool for LXQt"
-url="https://github.com/lxqt/lximage-qt"
-arch="all !armhf !mips64 !s390x" # armhf, mips64 blocked by liblxqt, s390x blocked by libfm-qt
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev qt5-qttools-dev
- libfm-qt-dev libexif-dev menu-cache-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/lximage-qt/releases/download/$pkgver/lximage-qt-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-b78ef64316978a91ab350ab4588b0e5a7d1cfd2cda90ceac739ed8e1668cd6e34a164bb1cd818ca8175a5677d8bff8a50cd7c6aa2cd99ad87116a6da969534cb lximage-qt-1.0.0.tar.xz
-"
diff --git a/testing/lxmenu-data/APKBUILD b/testing/lxmenu-data/APKBUILD
deleted file mode 100644
index c7f5386ccfd..00000000000
--- a/testing/lxmenu-data/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxmenu-data
-pkgver=0.1.5
-pkgrel=0
-pkgdesc="Freedesktop.org desktop menus for LXDE"
-url="https://lxde.org"
-arch="noarch"
-license="GPL-2.0-or-later"
-makedepends="intltool"
-options="!check" # No testsuite
-source="https://downloads.sourceforge.net/lxde/lxmenu-data-$pkgver.tar.xz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-sha512sums="ea1a1ad511d9e56c7692a8d96feb52c53aa7bd7595f2312d4f41fc15a12a056551c70d6a2c55a30f849e2ac2fd1a06436751573472ae70e0158e069736578b40 lxmenu-data-0.1.5.tar.xz"
diff --git a/testing/lxqt-about/APKBUILD b/testing/lxqt-about/APKBUILD
deleted file mode 100644
index 178fe152b65..00000000000
--- a/testing/lxqt-about/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-about
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Information provider about LXQt and the system"
-url="https://github.com/lxqt/lxqt-about"
-arch="all !armhf" # armhf blocked by liblxqt and kwindowsystem
-arch="$arch !mips64" # mips64 blocked by liblxqt
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev
- kwindowsystem-dev qt5-qttools-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-about/releases/download/$pkgver/lxqt-about-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-2bfeaaee5779f51dcc023cf22025e1c651b09d0e67923bb292a5b259acd30dcedf9e45998fbca3d68231fcef66812446bfc90f79e08c218cbd3989fca8f5fb22 lxqt-about-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-admin/APKBUILD b/testing/lxqt-admin/APKBUILD
deleted file mode 100644
index 14e01c89c0f..00000000000
--- a/testing/lxqt-admin/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-admin
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="LXQt system administration tool"
-url="https://github.com/lxqt/lxqt-admin"
-# armhf, mips64: blocked by liblxqt and kwindowsystem
-# s390x, riscv64: blocked by polkit-qt
-arch="all !armhf !s390x !mips64 !riscv64"
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev kwindowsystem-dev
- polkit-qt-1-dev qt5-qttools-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-admin/releases/download/$pkgver/lxqt-admin-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-af1cbdd0e04116ad575b652b4eef0fd0a403b37e169961797cc365fe69e5655c6291205165baab4bb3337506785d70149f2b6175758448bd06800fa6f4eb4617 lxqt-admin-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-archiver/APKBUILD b/testing/lxqt-archiver/APKBUILD
deleted file mode 100644
index 12ab29533e7..00000000000
--- a/testing/lxqt-archiver/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-archiver
-pkgver=0.5.0
-pkgrel=0
-pkgdesc="Simple and lightweight desktop-agnostic Qt file archiver"
-url="https://github.com/lxqt/lxqt-archiver"
-arch="all !s390x !armhf !mips64" # s390x blocked by libfm-qt
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools qt5-qttools-dev qt5-qtx11extras-dev
- libfm-qt-dev json-glib-dev menu-cache-dev libexif-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-archiver/releases/download/$pkgver/lxqt-archiver-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-01747499fece79010f359bfe5987dd0ef96daa92269659dc64543a78a4540ed7e5ff2e0b2ae6ab620c6be7244f4e350a18aa08657e7d84429fa20d0a264977c6 lxqt-archiver-0.5.0.tar.xz
-"
diff --git a/testing/lxqt-build-tools/APKBUILD b/testing/lxqt-build-tools/APKBUILD
deleted file mode 100644
index 29c440826cc..00000000000
--- a/testing/lxqt-build-tools/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-build-tools
-pkgver=0.10.0
-pkgrel=0
-pkgdesc="Various packaging tools and scripts for LXQt applications"
-url="https://lxqt.org/"
-options="!check" # No testsuite
-arch="noarch"
-license="BSD-3-Clause"
-makedepends="cmake qt5-qtbase-dev glib-dev"
-source="https://github.com/lxde/lxqt-build-tools/releases/download/$pkgver/lxqt-build-tools-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-ee7282344c6fbf09d85f845c60075b6c343ce6b6f8c233c7d664faff3b570e2836192aa2233b951242b66d86254971011d4d0bc225811344829fdc5bc83b0e5f lxqt-build-tools-0.10.0.tar.xz
-"
diff --git a/testing/lxqt-config/APKBUILD b/testing/lxqt-config/APKBUILD
deleted file mode 100644
index 872acd4456f..00000000000
--- a/testing/lxqt-config/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-config
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Tools to configure LXQt and the underlying operating system"
-url="https://github.com/lxqt/lxqt-config"
-arch="all !armhf !mips64" # armhf blocked by libkscreen, liblxqt and kwindowsystem
-license="LGPL-2.0-or-later"
-makedepends="
- cmake libxcursor-dev lxqt-build-tools qt5-qtbase-dev
- qt5-qttools-dev qt5-qtx11extras-dev xf86-input-libinput-dev
- libxi-dev libudev-zero-dev libqtxdg-dev liblxqt-dev
- libkscreen-dev kwindowsystem-dev
- "
-subpackages="$pkgname-doc"
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-config/releases/download/$pkgver/lxqt-config-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-cb544ae4635913d693a634a675a769b5ffcae9eb542507e5c6166a85558409302e56753ffac16a2299b613313d11c5f310e530cc7b801393b6f124542245c88e lxqt-config-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-core/APKBUILD b/testing/lxqt-core/APKBUILD
deleted file mode 100644
index 55e6e5fbd39..00000000000
--- a/testing/lxqt-core/APKBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-core
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="LXQt Desktop Core"
-url="https://lxqt-project.org/"
-arch="noarch !armhf !s390x !mips64 !riscv64"
-license="GPL-3.0-or-later"
-options="!check" # No testsuite
-depends="
- libqtxdg libsysstat liblxqt libfm-qt lxqt-themes
- libdbusmenu-qt lxqt-about lxqt-admin lxqt-config
- lxqt-globalkeys lxqt-powermanagement lxqt-session
- lxqt-panel lxqt-runner pcmanfm-qt xscreensaver
- lxqt-qtplugin lxqt-notificationd lxqt-archiver
- lxqt-policykit lxqt-openssh-askpass lxqt-sudo
- pm-utils qtermwidget qterminal openbox xdg-utils
- "
-
-package() {
- mkdir -p "$pkgdir"
-}
diff --git a/testing/lxqt-desktop/APKBUILD b/testing/lxqt-desktop/APKBUILD
deleted file mode 100644
index b0be8611f65..00000000000
--- a/testing/lxqt-desktop/APKBUILD
+++ /dev/null
@@ -1,17 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-desktop
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="LXQt Desktop with Applications"
-url="https://lxqt-project.org/"
-arch="noarch !armhf !s390x !mips64 !riscv64"
-license="GPL-3.0-or-later"
-options="!check" # No testsuite
-depends="
- lxqt-core lximage-qt obconf-qt
- pavucontrol-qt qps screengrab
- "
-
-package() {
- mkdir -p "$pkgdir"
-}
diff --git a/testing/lxqt-globalkeys/APKBUILD b/testing/lxqt-globalkeys/APKBUILD
deleted file mode 100644
index e0d296b788b..00000000000
--- a/testing/lxqt-globalkeys/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-globalkeys
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Daemon used to register global keyboard shortcuts"
-url="https://github.com/lxqt/lxqt-globalkeys"
-arch="all !armhf !mips64" # armhf blocked by liblxqt and kwindowsystem
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev
- qt5-qttools-dev kwindowsystem-dev
- "
-subpackages="$pkgname-dev"
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-globalkeys/releases/download/$pkgver/lxqt-globalkeys-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-f58921ebe9be0d7488f0ddc8031c4cf6256db6d52c04af66399379e0af32b47c360dd4cb6e3e478252677a59b27994efebe2a4cac6c37da726046933e0687387 lxqt-globalkeys-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-notificationd/APKBUILD b/testing/lxqt-notificationd/APKBUILD
deleted file mode 100644
index 17428675284..00000000000
--- a/testing/lxqt-notificationd/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-notificationd
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="LXQt notification daemon"
-url="https://github.com/lxqt/lxqt-notificationd"
-arch="all !armhf" # armhf blocked by liblxqt and kwindowsystem
-arch="$arch !mips64" # mips64 blocked by liblxqt-dev
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev
- qt5-qttools-dev kwindowsystem-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-notificationd/releases/download/$pkgver/lxqt-notificationd-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-e8953c06be5821d875027692589dd80bfc7bca8ff9d7e590dcab2ab80b17ed530983119b0cf9d254ba5b15bf863eb6283896e6ae38a999437e5ccd7d3a50adf9 lxqt-notificationd-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-openssh-askpass/APKBUILD b/testing/lxqt-openssh-askpass/APKBUILD
deleted file mode 100644
index cad46402d3d..00000000000
--- a/testing/lxqt-openssh-askpass/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-openssh-askpass
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="GUI to query passwords on behalf of SSH agents"
-url="https://github.com/lxqt/lxqt-openssh-askpass"
-arch="all !armhf !mips64" # qt5
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools qt5-qtbase-dev
- qt5-qttools-dev liblxqt-dev kwindowsystem-dev
- "
-subpackages="$pkgname-doc"
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-openssh-askpass/releases/download/$pkgver/lxqt-openssh-askpass-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-fd2e39831cf5df58e146fb43b77ce43958ce5217266626f3edc480c29c3d5f5bad9876efa0c929ec8a03d05989049d97b88c2e51935f259bde47b7dc10dda32a lxqt-openssh-askpass-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-panel/APKBUILD b/testing/lxqt-panel/APKBUILD
deleted file mode 100644
index ea55f9ac517..00000000000
--- a/testing/lxqt-panel/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-panel
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="The LXQt desktop panel"
-url="https://github.com/lxqt/lxqt-panel"
-arch="all !s390x !armhf !mips64 !riscv64" # s390x blocked by solid, armhf by qt
-license="LGPL-2.0-or-later"
-subpackages="$pkgname-doc $pkgname-dev"
-makedepends="
- cmake lxqt-build-tools libsoundio-dev xcb-util-dev
- libstatgrab-dev pulseaudio-dev libxrender-dev
- libsysstat-dev lm-sensors-dev lxqt-globalkeys-dev
- liblxqt-dev libdbusmenu-qt-dev qt5-qttools-dev
- menu-cache-dev kwindowsystem-dev kguiaddons-dev
- solid-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-panel/releases/download/$pkgver/lxqt-panel-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-8ee7593beb5a863f71e6314f03981ef769b6f64605e4212a2b2ae147959bf30d2137415477d6f23afc2591a639c7f21651ac844d95226af18a2d8ae141f29b62 lxqt-panel-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-policykit/APKBUILD b/testing/lxqt-policykit/APKBUILD
deleted file mode 100644
index 729db9ae58f..00000000000
--- a/testing/lxqt-policykit/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-policykit
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="LXQt PolicyKit agent"
-url="https://github.com/lxqt/lxqt-policykit"
-# s390x, riscv64: blocked by polkit-qt
-# armhf blocked by liblxqt-dev
-arch="all !s390x !armhf !mips64 !riscv64"
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev qt5-qttools-dev
- polkit-qt-1-dev kwindowsystem-dev
- "
-subpackages="$pkgname-doc"
-source="https://github.com/lxqt/lxqt-policykit/releases/download/$pkgver/lxqt-policykit-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-c0d7c5ff8a5e95e74eefd094625d71603026e9d30c033e224fc4e62eba63f1bfe76ddf666eb1875a14c2c1bea3d21e4ac6d191e90bc2442f7e4e62845a63a3f0 lxqt-policykit-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-powermanagement/APKBUILD b/testing/lxqt-powermanagement/APKBUILD
deleted file mode 100644
index 22c4c9714e5..00000000000
--- a/testing/lxqt-powermanagement/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-powermanagement
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Power management module for LXQt"
-url="https://github.com/lxqt/lxqt-powermanagement"
-# s390x, mips64 and riscv64 blocked by polkit -> solid
-arch="all !s390x !mips64 !armhf !riscv64"
-license="LGPL-2.0-or-later"
-makedepends="
- cmake
- kidletime-dev
- kwindowsystem-dev
- liblxqt-dev
- lxqt-build-tools
- lxqt-globalkeys-dev
- qt5-qttools-dev
- solid-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-powermanagement/releases/download/$pkgver/lxqt-powermanagement-$pkgver.tar.xz"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-sha512sums="
-004f10376c638c1566d28cd2caf8d68ddc91c3c882a4590296a649074b8181b5aba4e78d766e561e4868d17b08b78082ec45b44d26d4cae4b01a5f1cc652acc3 lxqt-powermanagement-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-qtplugin/APKBUILD b/testing/lxqt-qtplugin/APKBUILD
deleted file mode 100644
index e04e0a1bcfb..00000000000
--- a/testing/lxqt-qtplugin/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-qtplugin
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Qt-LXQt plugin integration"
-url="https://github.com/lxqt/lxqt-qtplugin"
-arch="all !s390x" # s390x blocked by libfm-qt
-arch="$arch !armhf !mips64" # armhf&mips64 blocked by liblxqt-dev
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev libdbusmenu-qt-dev
- libfm-qt-dev qt5-qttools-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-qtplugin/releases/download/$pkgver/lxqt-qtplugin-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-23345e5f5b72b893353b3165bbe1bbd44262ec926b43f87d8d4459afaa6e6c76f0501f3597cb0fc0b0fff71aff86ba16f93cbbfbdf2edfe108c82dc853fce4a7 lxqt-qtplugin-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-runner/APKBUILD b/testing/lxqt-runner/APKBUILD
deleted file mode 100644
index 38027da7fbe..00000000000
--- a/testing/lxqt-runner/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-runner
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Tool used to launch programs quickly by typing their names"
-url="https://github.com/lxqt/lxqt-runner"
-arch="all !s390x !armhf !mips64" # s390x blocked by muparser
-license="LGPL-2.0-or-later"
-makedepends="
- cmake liblxqt-dev lxqt-build-tools qt5-qttools-dev
- kwindowsystem-dev libqtxdg-dev lxqt-globalkeys-dev
- menu-cache-dev muparser-dev
- "
-subpackages="$pkgname-doc"
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-runner/releases/download/$pkgver/lxqt-runner-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-1af796a7e81108c223290d978a6503cc357cebbea19e3b4b3cf01a2fbc1d42cad7ab03a5b609677ddccc0afaf1de4f5433f5fea13315e3f717bdfdee0e2ced1a lxqt-runner-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-session/APKBUILD b/testing/lxqt-session/APKBUILD
deleted file mode 100644
index 1688482d26c..00000000000
--- a/testing/lxqt-session/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-session
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="The LXQt session manager"
-url="https://github.com/lxqt/lxqt-session"
-arch="all !armhf !mips64" # liblxqt-dev
-license="LGPL-2.0-or-later"
-depends="xdg-user-dirs"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev qt5-qttools-dev
- kwindowsystem-dev libudev-zero-dev procps-dev
- "
-subpackages="$pkgname-doc"
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-session/releases/download/$pkgver/lxqt-session-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-4f18852a55088fef7f1cd1617501acbd9f3a97a3810527b545625c116c249a3bcc084dc1bb073602e5dd10aa3a771c2ad0aaac10d1fe504832bd53d210136b98 lxqt-session-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-sudo/APKBUILD b/testing/lxqt-sudo/APKBUILD
deleted file mode 100644
index 10721b278f9..00000000000
--- a/testing/lxqt-sudo/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-sudo
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Tools to sudoure LXQt and the underlying operating system"
-url="https://github.com/lxqt/lxqt-sudo"
-arch="all !mips64 !armhf" # blocked by liblxqt-dev
-license="LGPL-2.0-or-later"
-makedepends="
- cmake libxcursor-dev lxqt-build-tools qt5-qtbase-dev
- qt5-qttools-dev qt5-qtx11extras-dev xf86-input-libinput-dev
- libxi-dev libudev-zero-dev libqtxdg-dev liblxqt-dev
- libkscreen-dev kwindowsystem-dev
- "
-subpackages="$pkgname-doc"
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-sudo/releases/download/$pkgver/lxqt-sudo-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-72f9eced786e9d57db6d0b3972c2735576aadc0162b8268367813170fb6412184a2ab8d89bc508201aaf4aedfb509ce8c7273824969891935deefe8ffc05a578 lxqt-sudo-1.0.0.tar.xz
-"
diff --git a/testing/lxqt-themes/APKBUILD b/testing/lxqt-themes/APKBUILD
deleted file mode 100644
index c35292b1ee0..00000000000
--- a/testing/lxqt-themes/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=lxqt-themes
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Themes for LXQt"
-url="https://github.com/lxqt/lxqt-themes"
-arch="noarch"
-license="LGPL-2.0-or-later"
-makedepends="cmake lxqt-build-tools perl-dev"
-options="!check" # No testsuite
-source="https://github.com/lxqt/lxqt-themes/releases/download/$pkgver/lxqt-themes-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-53cff6c9369f6d9d009426b7a7f2d1ae92f5455e35891b054fae2c24acad714dd0d7c0528de633e578128c36e619665ba744a20a968ad5e8787c6a16123b24ab lxqt-themes-1.0.0.tar.xz
-"
diff --git a/testing/lychee/APKBUILD b/testing/lychee/APKBUILD
new file mode 100644
index 00000000000..76d5461e1ce
--- /dev/null
+++ b/testing/lychee/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=lychee
+pkgver=0.14.3
+pkgrel=0
+pkgdesc="Fast, async, resource-friendly link checker written in Rust"
+url=https://lychee.cli.rs
+# !s390x !armhf !riscv64: openssl fails to build
+arch="all !s390x !armhf !riscv64"
+license="MIT OR Apache-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ perl
+ make
+ pkgconf
+ "
+subpackages="$pkgname-doc"
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/lycheeverse/lychee/archive/v$pkgver/lychee-$pkgver.tar.gz
+ fix-ssl-certificate-tests.patch::https://github.com/lycheeverse/lychee/commit/381d368fbfd773fa07b62e32dc51d38a888ea873.patch"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release --features vendored-openssl
+}
+
+check() {
+ cargo test --features vendored-openssl -- --test-threads 1
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE-MIT -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+aa2ede6734b0aff9775347b72cb51b914f6387bb42463f604ab8d6f661944600bb5a856145c0820a5ac692464a738aced0571cdce44a6a33a6d94240bbdbfc34 lychee-0.14.3.tar.gz
+f1591f6316257095924ca3ff2609ad0a34e2ee86f34b9e00ba607e0591e3ad61b48998d8773ee442e7dbe01028d11a35d74a812a4e4bbbfb34b359717ec1dda1 fix-ssl-certificate-tests.patch
+"
diff --git a/testing/lynis/APKBUILD b/testing/lynis/APKBUILD
index 7c862836ee8..07d4c00071b 100644
--- a/testing/lynis/APKBUILD
+++ b/testing/lynis/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
pkgname=lynis
-pkgver=3.0.6
+pkgver=3.1.1
pkgrel=0
pkgdesc="Security and system auditing tool"
url="https://cisofy.com/lynis/"
@@ -34,8 +34,7 @@ package() {
}
-
sha512sums="
-113f3bf1b8ca4ec030bd971da41e3f182c2467d97e09eb0f2b502ab5d04c43b922570a00b62de06b97bfca64cb67576f14754f9921be63731500d3beb33d5a2a lynis-3.0.6.tar.gz
+c37366154e03a661a7e995d14c651d5503c7189f50edfd194d8b7034e001b9610bfe79917221156ab3607f7c348625ea956fb0acb46a6c7e64a7d189dbcfd4ee lynis-3.1.1.tar.gz
1cdaaee433912c2ccdec8ad7c9b88be55fe3f1d68e2fca79cc6e0e10112d465a70cfbe0a049623437f604bfc9793e0d29b709e035cbf710d4d38ba48acc5355f lynis.cron
"
diff --git a/testing/lyrebird/APKBUILD b/testing/lyrebird/APKBUILD
new file mode 100644
index 00000000000..8a161ec2e15
--- /dev/null
+++ b/testing/lyrebird/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Katie Holly <holly@fuslvz.ws>
+# Maintainer: Katie Holly <holly@fuslvz.ws>
+pkgname=lyrebird
+pkgver=0.1.0
+pkgrel=4
+pkgdesc="pluggable transport proxy for Tor, implementing obfs4"
+url="https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird"
+arch="all"
+license="BSD-3-Clause"
+makedepends="go"
+source="$pkgname-$pkgver.tar.bz2::https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/lyrebird/-/archive/lyrebird-$pkgver/lyrebird-lyrebird-$pkgver.tar.bz2"
+builddir="$srcdir/lyrebird-lyrebird-$pkgver"
+
+# it used to be named this upstream
+provides="obfs4proxy=$pkgver-r$pkgrel"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o lyrebird ./cmd/lyrebird
+}
+
+check() {
+ go test -short ./...
+}
+
+package() {
+ install -Dm755 lyrebird -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+f9b8686d1c5f9ddb41a255a1a8954e05cefd50523ada7360432b456c62475ba606872df407ba8ebd7714d4f185eef0efae63e3e53c5c1c18fd323a97912f951e lyrebird-0.1.0.tar.bz2
+"
diff --git a/testing/lzbench/APKBUILD b/testing/lzbench/APKBUILD
deleted file mode 100644
index dbb94647aa2..00000000000
--- a/testing/lzbench/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=lzbench
-pkgver=1.8.1
-pkgrel=0
-pkgdesc="lzbench is an in-memory benchmark of open-source LZ77/LZSS/LZMA compressors"
-url="https://github.com/inikep/lzbench"
-arch="all !x86 !s390x !mips !mips64 !riscv64"
-license="GPL zlib MIT Unlicense BSD Apache-2.0 CDDL CC0 custom"
-options="!check" # No test suite from upstream
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/inikep/lzbench/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver/"
-
-build() {
- make
-}
-
-package() {
- install -Dm 755 lzbench "$pkgdir"/usr/bin/lzbench
-
- install -Dm 644 -t "$pkgdir"/usr/share/doc/$pkgname/ README.md
-}
-
-sha512sums="5a1f4c25a7d8b95619027c527e668d466cbdb8759faf4fcd59d3de311895fc72788b8e06b7ac5bb2d26bb94fbe633f5639336fa6eac6ba72769e4ad969401862 lzbench-1.8.1.tar.gz"
diff --git a/testing/lzfse/APKBUILD b/testing/lzfse/APKBUILD
new file mode 100644
index 00000000000..72d4d870302
--- /dev/null
+++ b/testing/lzfse/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=lzfse
+pkgver=1.0
+pkgrel=0
+pkgdesc="lzfse compression library and command line tool"
+url="https://github.com/lzfse/lzfse"
+arch="all !s390x" # test fails on s390x
+license="BSD-3-Clause"
+makedepends="cmake"
+subpackages="$pkgname-dev"
+source="https://github.com/lzfse/lzfse/archive/refs/tags/lzfse-$pkgver.tar.gz"
+builddir="$srcdir/"$pkgname-$pkgname-$pkgver
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build \
+ -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="
+9d7ca44e6d3d2bdf4b82b0eb66c14922369b8b6fe2cf891187a77c6708b8d26c2c1b2ccddec6059e85dbbbb37c497419549f02812b5f34d06238ac246a8cf912 lzfse-1.0.tar.gz
+"
diff --git a/testing/lzlib/APKBUILD b/testing/lzlib/APKBUILD
deleted file mode 100644
index 242d2efc91a..00000000000
--- a/testing/lzlib/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Klemens Nanni <kl3@posteo.org>
-# Maintainer: Klemens Nanni <kl3@posteo.org>
-pkgname=lzlib
-pkgver=1.12
-pkgrel=0
-pkgdesc="Library for the lzip compression file format"
-url="http://www.nongnu.org/lzip/lzlib.html"
-arch="all"
-license="GPL-2.0-or-later"
-subpackages="$pkgname-doc $pkgname-dev"
-source="https://download.savannah.gnu.org/releases/lzip/lzlib/lzlib-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --disable-static
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="b5379422eed4016b0ee124e39902dd22c314ca5cc5f72c1af5ec2ef6a68e1e85c523ab18e30048d453689f73f780d0144dcabaf881337e1c8101e2fe17ee21f8 lzlib-1.12.tar.gz"
diff --git a/testing/lzop/APKBUILD b/testing/lzop/APKBUILD
deleted file mode 100644
index 2507d7a1bd8..00000000000
--- a/testing/lzop/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Sasha Gerrand <alpine-pkgs@sgerrand.com>
-# Maintainer: Sasha Gerrand <alpine-pkgs@sgerrand.com>
-pkgname=lzop
-pkgver=1.04
-pkgrel=0
-pkgdesc="lzop is a very fast file compressor"
-url="https://www.lzop.org/"
-arch="all"
-license="GPL-2.0-only"
-makedepends="lzo-dev"
-subpackages="$pkgname-doc"
-source="https://www.lzop.org/download/lzop-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-5829b4495ffefab549aa697a05c536ce593c572c9eee6004460583a0090abcd317c6074c4f981dfee6be61ac8d127f02dd37053b6cb782af64db41586a8bbb6e lzop-1.04.tar.gz
-"
diff --git a/testing/m17n-db/APKBUILD b/testing/m17n-db/APKBUILD
new file mode 100644
index 00000000000..2774161b4f6
--- /dev/null
+++ b/testing/m17n-db/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer:
+pkgname=m17n-db
+pkgver=1.8.5
+pkgrel=0
+# the i18n/charmaps are in the glibc source
+_glibc=2.37
+pkgdesc="gnu M-text multilingualization data"
+url="https://www.nongnu.org/m17n/"
+arch="noarch"
+license="LGPL-2.1-or-later"
+# FIXME: bb awk hangs
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="mawk gettext-dev"
+subpackages="$pkgname-lang $pkgname-dev"
+source="https://download.savannah.gnu.org/releases/m17n/m17n-db-$pkgver.tar.gz
+ glibc-$_glibc.tar.xz::https://ftp.gnu.org/gnu/glibc/glibc-$_glibc.tar.xz
+ "
+
+build() {
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr \
+ --with-charmaps="$srcdir"/glibc-$_glibc/localedata/charmaps/ \
+ AWK=mawk
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ mkdir -p "$pkgdir"/usr/lib
+ mv "$pkgdir"/usr/share/pkgconfig "$pkgdir"/usr/lib/
+}
+
+sha512sums="
+6c3f42072b7e0a36870fd8143fb1ac7c3efc21c41869d984dfa0cbb87eb1f9958e429f1144a975b401791f0423386a03ab02531f162496531e303d9b0e049987 m17n-db-1.8.5.tar.gz
+4fc5932f206bb1b8b54828a28af1a681616b838bbab60c81c82155f3629cbfe1301d271af65511ed917f4c6949a025429221fe6035753282f15346919f15b90c glibc-2.37.tar.xz
+"
diff --git a/testing/m17n-lib/APKBUILD b/testing/m17n-lib/APKBUILD
new file mode 100644
index 00000000000..2e30be76b13
--- /dev/null
+++ b/testing/m17n-lib/APKBUILD
@@ -0,0 +1,75 @@
+# Maintainer:
+pkgname=m17n-lib
+pkgver=1.8.4
+pkgrel=1
+pkgdesc="gnu M-text multilingualization library"
+url="https://www.nongnu.org/m17n/"
+arch="all"
+license="LGPL-2.1-or-later"
+depends="m17n-db"
+depends_dev="
+ m17n-db-dev
+ $pkgname-tools=$pkgver-r$pkgrel
+ "
+makedepends="
+ anthy-dev
+ fontconfig-dev
+ freetype-dev
+ fribidi-dev
+ gettext-dev
+ libthai-dev
+ libx11-dev
+ libxaw-dev
+ libxft-dev
+ libxml2-dev
+ libxt-dev
+ "
+subpackages="
+ $pkgname-dev
+ libm17n-core
+ libm17n-flt
+ $pkgname-tools
+ "
+source="http://download.savannah.gnu.org/releases/m17n/m17n-lib-$pkgver.tar.gz"
+
+build() {
+ export CFLAGS="$CFLAGS -flto=auto $(pkg-config --cflags glib-2.0)"
+ export LIBS="-lintl"
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr \
+ --disable-dependency-tracking \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+core() {
+ pkgdesc="$pkgdesc (-core lib)"
+
+ amove usr/lib/libm17n-core.so.*
+}
+
+flt() {
+ pkgdesc="$pkgdesc (-flt lib)"
+
+ amove usr/lib/libm17n-flt.so.*
+}
+
+tools() {
+ pkgdesc="$pkgdesc (extra tools)"
+
+ amove usr/bin
+}
+
+sha512sums="
+7e322788aed8a758a8c289112433aabccd12dacf14b247ba9060503bcc44930c9251f0c4e718987b9a151de097e72bc1e07c8096f7f4ad83a7d7183a549721d6 m17n-lib-1.8.4.tar.gz
+"
diff --git a/testing/m2r2/APKBUILD b/testing/m2r2/APKBUILD
new file mode 100644
index 00000000000..4c578870ed8
--- /dev/null
+++ b/testing/m2r2/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=m2r2
+pkgver=0.3.3
+pkgrel=2
+pkgdesc="Markdown to reStructuredText converter"
+url="https://crossnox.github.io/m2r2"
+arch="all"
+license="MIT"
+depends="python3 py3-docutils py3-mistune1 py3-setuptools py3-setuptools_scm"
+checkdepends="py3-pytest py3-six"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/CrossNox/m2r2/archive/v$pkgver.tar.gz
+ mistune1.patch
+ no-circular-import.patch
+ "
+options="!check" # fail for some reason
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+502ac414e023579590078df3cf2bc704434ae8dcfde771b1085be99347499047c7000e7b8eb8bfeedb42e0a835f1871c1f01b198318225d6ced396d2bbafde20 m2r2-0.3.3.tar.gz
+9c5e062b8bff6db108894b33971499a8d0badd187414ab5ffe40934fe7894239189e89a1aa592da428d228d640d3e4f9c10b5aa89553dafe37734b896a5c3f32 mistune1.patch
+3f6c03ac0244b9514a830449a1ac57d2cecd30b5f5c84301eb68f304d3d8e6e6287770c9ea8144c6cee9d00c21b48e6d88ace0e92e80ee460c6c6d02cb29c34f no-circular-import.patch
+"
diff --git a/testing/m2r2/mistune1.patch b/testing/m2r2/mistune1.patch
new file mode 100644
index 00000000000..28a5eaff640
--- /dev/null
+++ b/testing/m2r2/mistune1.patch
@@ -0,0 +1,82 @@
+diff --git a/m2r2.py b/m2r2.py
+index e78d969..b259970 100644
+--- a/m2r2.py
++++ b/m2r2.py
+@@ -9,7 +9,7 @@ import re
+ import sys
+ from argparse import ArgumentParser, Namespace
+
+-import mistune
++import mistune1
+ from docutils import io, nodes, statemachine, utils
+ from docutils.parsers import rst
+ from docutils.utils import column_width
+@@ -79,7 +79,7 @@ def parse_options():
+ parser.parse_known_args(namespace=options)
+
+
+-class RestBlockGrammar(mistune.BlockGrammar):
++class RestBlockGrammar(mistune1.BlockGrammar):
+ directive = re.compile(
+ r"^( *\.\..*?)\n(?=\S)",
+ re.DOTALL | re.MULTILINE,
+@@ -94,13 +94,13 @@ class RestBlockGrammar(mistune.BlockGrammar):
+ )
+
+
+-class RestBlockLexer(mistune.BlockLexer):
++class RestBlockLexer(mistune1.BlockLexer):
+ grammar_class = RestBlockGrammar
+ default_rules = [
+ "directive",
+ "oneline_directive",
+ "rest_code_block",
+- ] + mistune.BlockLexer.default_rules
++ ] + mistune1.BlockLexer.default_rules
+
+ def parse_directive(self, m):
+ self.tokens.append({"type": "directive", "text": m.group(1)})
+@@ -113,7 +113,7 @@ class RestBlockLexer(mistune.BlockLexer):
+ self.tokens.append({"type": "rest_code_block"})
+
+
+-class RestInlineGrammar(mistune.InlineGrammar):
++class RestInlineGrammar(mistune1.InlineGrammar):
+ image_link = re.compile(
+ r"\[!\[(?P<alt>.*?)\]\((?P<url>.*?)\).*?\]\((?P<target>.*?)\)"
+ )
+@@ -139,14 +139,14 @@ class RestInlineGrammar(mistune.InlineGrammar):
+ self.emphasis = re.compile(r"^\*(?P<text>(?:\*\*|[^\*])+?)\*(?!\*)") # *word*
+
+
+-class RestInlineLexer(mistune.InlineLexer):
++class RestInlineLexer(mistune1.InlineLexer):
+ grammar_class = RestInlineGrammar
+ default_rules = [
+ "image_link",
+ "rest_role",
+ "rest_link",
+ "eol_literal_marker",
+- ] + mistune.InlineLexer.default_rules
++ ] + mistune1.InlineLexer.default_rules
+
+ def __init__(self, *args, **kwargs):
+ no_underscore_emphasis = kwargs.pop("no_underscore_emphasis", False)
+@@ -197,7 +197,7 @@ class RestInlineLexer(mistune.InlineLexer):
+ return self.renderer.eol_literal_marker(marker)
+
+
+-class RestRenderer(mistune.Renderer):
++class RestRenderer(mistune1.Renderer):
+ _include_raw_html = False
+ list_indent_re = re.compile(r"^(\s*(#\.|\*)\s)")
+ indent = " " * 3
+@@ -528,7 +528,7 @@ class RestRenderer(mistune.Renderer):
+ return "\n\n"
+
+
+-class M2R(mistune.Markdown):
++class M2R(mistune1.Markdown):
+ def __init__(
+ self, renderer=None, inline=RestInlineLexer, block=RestBlockLexer, **kwargs
+ ):
diff --git a/testing/m2r2/no-circular-import.patch b/testing/m2r2/no-circular-import.patch
new file mode 100644
index 00000000000..e51424e2301
--- /dev/null
+++ b/testing/m2r2/no-circular-import.patch
@@ -0,0 +1,37 @@
+Patch-Source: https://github.com/CrossNox/m2r2/pull/22
+From 37832c0254a2413ee666a42b6906361289b50202 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Christian=20H=C3=A4ggstr=C3=B6m?=
+ <christian.haggstrom@orexplore.com>
+Date: Wed, 27 Jan 2021 14:23:25 +0100
+Subject: [PATCH] Don't try to import m2r2 during setup
+
+Don't try to import m2r2 during setup, since it expects m2r2 to be
+installed already.
+
+Fixes the following error during pip install:
+
+pkg_resources.DistributionNotFound: The 'm2r2' distribution was not found and is required by the application
+---
+ setup.py | 9 ++-------
+ 1 file changed, 2 insertions(+), 7 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 4c6c913..23de72a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -10,13 +10,8 @@
+ from distutils.core import setup
+
+ readme_file = path.join(path.dirname(path.abspath(__file__)), "README.md")
+-try:
+- from m2r2 import parse_from_file
+-
+- readme = parse_from_file(readme_file)
+-except ImportError:
+- with open(readme_file) as f:
+- readme = f.read()
++with open(readme_file) as f:
++ readme = f.read()
+
+
+ __version__ = "0.2.5"
diff --git a/testing/ma1sd/APKBUILD b/testing/ma1sd/APKBUILD
index a6df8f4e765..b94026dbb99 100644
--- a/testing/ma1sd/APKBUILD
+++ b/testing/ma1sd/APKBUILD
@@ -2,10 +2,10 @@
# Maintainer:
pkgname=ma1sd
pkgver=2.5.0
-pkgrel=1
+pkgrel=2
pkgdesc="Federated Matrix Identity Server"
url="https://github.com/ma1uta/ma1sd/"
-arch="noarch !mips !mips64 !riscv64" # openjdk8-jre missing
+arch="noarch !riscv64" # openjdk8-jre missing
license="AGPL-3.0-or-later"
install="$pkgname.pre-install"
depends="java-jre-headless"
diff --git a/testing/macchina/APKBUILD b/testing/macchina/APKBUILD
index 334d6201baa..37e43719e6e 100644
--- a/testing/macchina/APKBUILD
+++ b/testing/macchina/APKBUILD
@@ -1,29 +1,41 @@
# Contributor: Jakub Panek <me@panekj.dev>
-# Maintainer: Jakub Panek <me@panekj.dev>
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
pkgname=macchina
-pkgver=3.0.0
-pkgrel=0
+pkgver=6.1.8
+pkgrel=1
pkgdesc="System information fetcher, with an (unhealthy) emphasis on performance"
url="https://github.com/Macchina-CLI/macchina"
-# s390x, mips64 and riscv64 blocked by cargo
-arch="all !s390x !mips64 !riscv64"
+# arm: needs https://github.com/Macchina-CLI/libmacchina/commit/1afd21de2d38b82cb2821259e260fcfc8d0cabc0
+arch="all !armhf !armv7 !x86 !s390x !riscv64" # s390x and riscv64 blocked by cargo
license="MIT"
-makedepends="cargo"
+makedepends="cargo sqlite-dev cargo-auditable"
options="net"
+subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/Macchina-CLI/macchina/archive/refs/tags/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --release --locked
+ cargo auditable build --frozen --release
}
check() {
- cargo test --release --locked
+ cargo test --frozen
}
package() {
- install -Dm755 target/release/macchina "$pkgdir/usr/bin/macchina"
+ install -Dm755 target/release/macchina -t "$pkgdir/usr/bin"
+
+ install -Dm644 doc/*.1 -t "$pkgdir/usr/share/man/man1"
+ install -Dm644 doc/*.7 -t "$pkgdir/usr/share/man/man7"
+
+ install -Dm644 contrib/themes/* -t "$pkgdir"/usr/share/macchina/themes
}
sha512sums="
-2f6a28dd9f586bf1f90c81aa5dcbdf36550b469c7f06338f810577e217129c44ca091a5b5b89ff54c5dbac442c711c874f9b5a0a9c4f05ee4c63896fed2b0d9f macchina-3.0.0.tar.gz
+e91c21497745e3317c811b0edbf004087989fbd1053cb5d63c9e802e5508dec104bb0834d1719c557a45aac2870c4605d00922e0505846a414af0db93d037349 macchina-6.1.8.tar.gz
"
diff --git a/testing/madbomber/0001-makefile.patch b/testing/madbomber/0001-makefile.patch
deleted file mode 100644
index bedaf8a730f..00000000000
--- a/testing/madbomber/0001-makefile.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/Makefile 2020-12-30 16:20:22.000000000 +0100
-+++ b/Makefile 2020-12-30 16:35:17.352796089 +0100
-@@ -41,6 +41,7 @@
- install: install-arch install-indep
-
- install-arch:
-+ mkdir -p $(BIN_PREFIX)
- cp madbomber $(BIN_PREFIX)
- chown root.root $(BIN_PREFIX)/madbomber
- chmod a+rx,g-w,o-w $(BIN_PREFIX)/madbomber
diff --git a/testing/madbomber/APKBUILD b/testing/madbomber/APKBUILD
deleted file mode 100644
index 63d0db1204a..00000000000
--- a/testing/madbomber/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=madbomber
-pkgver=0.2.5
-pkgrel=2
-pkgdesc="Clone of Activision's classic Atari 2600 console game Kaboom!"
-url="http://www.newbreedsoftware.com/madbomber/"
-arch="all"
-license="GPL-2.0-or-later"
-depends="libmikmod"
-makedepends="sdl12-compat-dev sdl_mixer-dev sdl_image-dev"
-options="!check" # No testsuite
-source="https://github.com/antonialoytorrens/nbs/raw/master/unix/x/madbomber/src/madbomber-$pkgver.tar.gz
- 0001-makefile.patch
- "
-
-build() {
- make
-}
-
-package() {
- make install \
- DATA_PREFIX="$pkgdir"/usr/share/madbomber \
- BIN_PREFIX="$pkgdir"/usr/bin
- install -Dm644 "$builddir"/madbomber.desktop \
- "$pkgdir"/usr/share/applications/madbomber.desktop
- install -Dm644 "$builddir"/madbomber-icon.xpm \
- "$pkgdir"/usr/share/pixmaps/madbomber-icon.xpm
-}
-
-sha512sums="c9e0890f5dede6b031dea544a0a09f5a13dd8f40e23cf7d2dba1ad83322f036da56f5ebc3b5b4d8fc0a6b8973ccfdec29108706e36953a11b0c5768083ce6ced madbomber-0.2.5.tar.gz
-0b3c1d0ad391e23a362c980264aadc1d83194b3353232481cb78598366f70e81c4b3ecf92def87eea24a611ef7ca12cddf75332a6c8d5bc803a826af94bc7a74 0001-makefile.patch"
diff --git a/testing/maddy/APKBUILD b/testing/maddy/APKBUILD
index a110dee0201..22aac31e1b7 100644
--- a/testing/maddy/APKBUILD
+++ b/testing/maddy/APKBUILD
@@ -1,61 +1,55 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=maddy
-pkgver=0.5.2
-pkgrel=0
+pkgver=0.7.1
+pkgrel=2
pkgdesc="Composable all-in-one mail server"
url="https://maddy.email/"
license="GPL-3.0-or-later"
arch="all"
-options="chmod-clean"
-makedepends="go linux-pam-dev libcap scdoc"
+makedepends="go scdoc linux-pam-dev sqlite-dev"
subpackages="$pkgname-openrc $pkgname-doc $pkgname-vim::noarch"
pkgusers="$pkgname"
pkggroups="$pkgname"
install="$pkgname.pre-install"
-source="$pkgname-$pkgver.tar.gz::https://github.com/foxcpp/maddy/archive/v$pkgver.tar.gz
+source="https://github.com/foxcpp/maddy/archive/v$pkgver/maddy-$pkgver.tar.gz
$pkgname.initd
- $pkgname.confd
use-syslog.patch
"
-export GOPATH="$srcdir"
+# secfixes:
+# 0.6.3-r0:
+# - CVE-2023-27582
+
+export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- ldflags="-extldflags \"$LDFLAGS\" -s -w
- -X github.com/foxcpp/maddy.DefaultLibexecDirectory=/usr/lib/maddy
- -X github.com/foxcpp/maddy.DefaultStateDirectory=/var/lib/maddy
- -X github.com/foxcpp/maddy.DefaultRuntimeDirectory=/run/maddy
- -X github.com/foxcpp/maddy.ConfigDirectory=/etc/maddy
- -X github.com/foxcpp/maddy.Version=$pkgver-$pkgrel
+ ldflags="-extldflags \"$LDFLAGS\"
+ -X github.com/foxcpp/maddy.Version=$pkgver
"
- go build -trimpath -ldflags="$ldflags" -v -o bin/maddy ./cmd/maddy
- go build -trimpath -ldflags="$ldflags" -v -o bin/maddyctl ./cmd/maddyctl
+ go build -ldflags="$ldflags" -v -o bin/maddy ./cmd/maddy
- msg "Building man pages..."
- for f in docs/man/*.scd; do
- echo "$f -> ${f%.scd}.gz"
- scdoc < "$f" | gzip > "${f%.scd}.gz"
- done
+ scdoc <docs/man/maddy.1.scd >maddy.1
}
check() {
- go test ./...
+ # disable failing remote_test
+ # pam-helper fails to build due to strict-prototypes; "int run()" w/o prototype invalid
+ go test $(go list ./... | grep -Ev '(internal/target/remote|maddy-pam-helper)')
}
package() {
- install -Dm755 bin/maddy "$pkgdir"/usr/bin/maddy
- setcap cap_net_bind_service=+ep "$pkgdir"/usr/bin/maddy
- install -Dm755 bin/maddyctl "$pkgdir"/usr/bin/maddyctl
+ install -Dm755 bin/maddy -t "$pkgdir"/usr/bin/
install -Dm644 maddy.conf "$pkgdir"/etc/maddy/maddy.conf
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
- install -Dm644 -t "$pkgdir"/usr/share/man/man1 docs/man/*.1.gz
- install -Dm644 -t "$pkgdir"/usr/share/man/man5 docs/man/*.5.gz
+ install -Dm644 maddy.1 -t "$pkgdir"/usr/share/man/man1/
}
vim() {
@@ -68,8 +62,7 @@ vim() {
}
sha512sums="
-c5c301be8c3393eead9408c0a5e1aa830734bb99c6bc50ffe2d8e212ebe91083e51fc30f5ca2500e37d57ae1cd72bf6814235a5b67987bee359c99608c926e28 maddy-0.5.2.tar.gz
-1c5c1d98e9a734bb3da60691f6d94005ea63cfb2de882c152211b1e8f4860556dabcdca4f160c8e612e7ec488d2c37e314c376e5bc9d5283cf47161958f4525b maddy.initd
-0d7cc93c87b6b8ada3ee929513ae98f9393497371caaad85381f78f4a9ee7ec6523192fbea82ada013a7999521c0b88d6ca6a53a374b7b54f4a8e3d23cdda421 maddy.confd
-aab47869dd3b1e51fa0468fba8dcd24e2930127017b147165db280e28fb183f42b0401e8fcfa6dfb717c82fcecb4584934ddf3d73ad9f46034e0bd939bb96075 use-syslog.patch
+1aca8c03a232e8556655c84721211eca829174f6aa4a371fd0b15fbfdf82ab24c841338f214a742b05118a8a31d21d513bd8667513559bb32ba0870c427062fe maddy-0.7.1.tar.gz
+c521763df519f86063ecfcb65c6689df880ea6478a83584ee1a7ebbfa5d95d1adf52ea9355f918a5a1c41f78d8b3a690e049fb43faac718ca5b6c519e10b0f23 maddy.initd
+76dbb8d7f4b389f2fc1e4e9ecbf93bd7e9a002a8520d93067e39b7a8d35e74e92af7151c116d38aa9d7548747cdd107b38392204f7d3a8944914aee236f7934e use-syslog.patch
"
diff --git a/testing/maddy/maddy.confd b/testing/maddy/maddy.confd
deleted file mode 100644
index e92ee0cd177..00000000000
--- a/testing/maddy/maddy.confd
+++ /dev/null
@@ -1,3 +0,0 @@
-# Configuration for /etc/init.d/maddy
-
-maddy_opts=""
diff --git a/testing/maddy/maddy.initd b/testing/maddy/maddy.initd
index 6b631096ca4..aae69fc2fb3 100644
--- a/testing/maddy/maddy.initd
+++ b/testing/maddy/maddy.initd
@@ -7,8 +7,9 @@ description_log_reopen="Reopen log files"
description_reload="Reload some files from disk (but without main configuration)"
command=/usr/bin/maddy
-command_args="$maddy_opts"
+command_args="run $maddy_opts"
command_user=maddy:maddy
+capabilities="^cap_net_bind_service"
# make relative paths in config relative to the state directory
directory="/var/lib/$RC_SVCNAME"
diff --git a/testing/maddy/use-syslog.patch b/testing/maddy/use-syslog.patch
index b3ed70bdad9..c8b66b1f1bd 100644
--- a/testing/maddy/use-syslog.patch
+++ b/testing/maddy/use-syslog.patch
@@ -3,7 +3,7 @@ Upstream: No
--- a/maddy.conf
+++ b/maddy.conf
-@@ -169,3 +169,8 @@ imap tls://0.0.0.0:993 tcp://0.0.0.0:143 {
+@@ -182,3 +182,8 @@ imap tls://0.0.0.0:993 tcp://0.0.0.0:143 {
auth &local_authdb
storage &local_mailboxes
}
diff --git a/testing/madonctl/APKBUILD b/testing/madonctl/APKBUILD
deleted file mode 100644
index 14b9740f2b7..00000000000
--- a/testing/madonctl/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: mio <miyopan@e.email>
-# Maintainer: mio <miyopan@e.email>
-pkgname=madonctl
-pkgver=0_git20210711
-pkgrel=0
-_gitrev=8ecb5fad4db276453ceca2123fcf568fe77ca211
-pkgdesc="CLI client for the Mastodon social network API"
-url="https://github.com/McKael/madonctl"
-license="MIT"
-arch="all"
-makedepends="go"
-source="madonctl-$_gitrev.tar.gz::https://github.com/McKael/madonctl/archive/$_gitrev.tar.gz"
-options="!check" # No tests
-builddir="$srcdir/$pkgname-$_gitrev"
-
-build() {
- go build
-}
-
-package() {
- install -Dm0755 madonctl -t "$pkgdir"/usr/bin
-}
-sha512sums="
-8a11fc6a9495248c424ddf9cdf9028c8faf984f554f4e112f5336519764ea75076d9b566b4255df67afe46797fbc7a50d8c9c109c29d4b7f16d5297a0f49f075 madonctl-8ecb5fad4db276453ceca2123fcf568fe77ca211.tar.gz
-"
diff --git a/testing/mage/APKBUILD b/testing/mage/APKBUILD
index feb6d07d302..6f690acae98 100644
--- a/testing/mage/APKBUILD
+++ b/testing/mage/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Mark Pashmfouroush <mark@markpash.me>
# Maintainer: Mark Pashmfouroush <mark@markpash.me>
pkgname=mage
-pkgver=1.11.0
-pkgrel=2
+pkgver=1.13.0
+pkgrel=15
# Commit hash that corresponds to the version
-_commit=07afc7d24f4d6d6442305d49552f04fbda5ccb3e
+_commit=3504e09d7fcfdeab6e70281edce5d5dfb205f31a
pkgdesc="make-like build tool using Go"
url="https://magefile.org/"
license="Apache-2.0"
arch="all"
depends="go"
-options="chmod-clean"
-source="https://github.com/magefile/mage/archive/v$pkgver/mage-$pkgver.tar.gz
- fix-tests-for-go-1.16.patch
- "
+options="chmod-clean net"
+source="https://github.com/magefile/mage/archive/v$pkgver/mage-$pkgver.tar.gz"
-export GOPATH="$srcdir"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build -o bin/mage -ldflags="
@@ -26,12 +26,15 @@ build() {
}
check() {
- go test -v ./...
+ export GOROOT=/usr/lib/go
+ go vet ./...
+ go test -v -tags CI ./...
}
package() {
install -Dm0755 bin/mage "$pkgdir/usr/bin/mage"
}
-sha512sums="dd4e0764f6567250a70461f7b040cc5725f59a4b375aa85f1b4f0a8a9c1738ec4fc5f1a078349f34e655229397b0431c88ecd54603c281440a23a81e949cf9a4 mage-1.11.0.tar.gz
-1bbc800a87ff05c7504bd81a6a4ebada4065e425b76b68120b3471271a8dd096b0988f823ca46f5031d409fa834be29ea8497dba4bcae5f997b32410fb0dcea7 fix-tests-for-go-1.16.patch"
+sha512sums="
+a393a0192ecaf8664f9dd35acfd994993ab1c028a08fb8c925fc569ce58dc9d58baeef4760b012563e3f3a6957c77d548bb33a6b577d12af2e030e2465e6d24b mage-1.13.0.tar.gz
+"
diff --git a/testing/mage/fix-tests-for-go-1.16.patch b/testing/mage/fix-tests-for-go-1.16.patch
deleted file mode 100644
index 61d3c2b674e..00000000000
--- a/testing/mage/fix-tests-for-go-1.16.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From de7ca6c1087d653306bffde9c2c45afe060c46c5 Mon Sep 17 00:00:00 2001
-From: Nate Finch <nate.finch@gmail.com>
-Date: Sat, 2 Jan 2021 23:34:01 -0500
-Subject: [PATCH] fix test for go 1.16 (#330)
-
-* fix test for 1.16
----
- .travis.yml | 1 +
- mage/main_test.go | 12 ++++++++++++
- 2 files changed, 13 insertions(+)
-
-diff --git a/.travis.yml b/.travis.yml
-index dd15611..9a1bcc1 100644
---- a/.travis.yml
-+++ b/.travis.yml
-@@ -9,6 +9,7 @@ branches:
- # library, I'm not going to worry about older versions for now.
- go:
- - tip
-+ - 1.16beta1
- - 1.15.x
- - 1.14.x
- - 1.13.x
-diff --git a/mage/main_test.go b/mage/main_test.go
-index cf57da9..abee250 100644
---- a/mage/main_test.go
-+++ b/mage/main_test.go
-@@ -1436,6 +1436,18 @@ func Test() {
- }
- stderr.Reset()
- stdout.Reset()
-+
-+ // we need to run go mod tidy, since go build will no longer auto-add dependencies.
-+ cmd = exec.Command("go", "mod", "tidy")
-+ cmd.Dir = dir
-+ cmd.Env = os.Environ()
-+ cmd.Stderr = stderr
-+ cmd.Stdout = stdout
-+ if err := cmd.Run(); err != nil {
-+ t.Fatalf("Error running go mod tidy: %v\nStdout: %s\nStderr: %s", err, stdout, stderr)
-+ }
-+ stderr.Reset()
-+ stdout.Reset()
- code := Invoke(Invocation{
- Dir: dir,
- Stderr: stderr,
diff --git a/testing/mailctl/APKBUILD b/testing/mailctl/APKBUILD
new file mode 100644
index 00000000000..19d1b384121
--- /dev/null
+++ b/testing/mailctl/APKBUILD
@@ -0,0 +1,65 @@
+# Contributor: Koni Marti <koni.marti@gmail.com>
+# Maintainer: Koni Marti <koni.marti@gmail.com>
+pkgname=mailctl
+pkgver=0.9.2
+pkgrel=0
+pkgdesc="Renewal and authorization of OAuth2 credentials"
+url="https://github.com/pdobsan/mailctl"
+arch="aarch64 x86_64" # limited by ghc
+license="BSD-3-Clause"
+depends="gnupg"
+makedepends="ghc cabal zlib-dev libffi-dev"
+subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-zsh-completion $pkgname-fish-completion"
+source="mailctl-$pkgver.tar.gz::https://github.com/pdobsan/mailctl/archive/refs/tags/$pkgver.tar.gz
+ cabal.project.freeze
+ "
+
+export CABAL_DIR="$srcdir/.cabal"
+
+cabal_update() {
+ cd $builddir
+ cabal v2-update
+ (
+ cd "$builddir"
+ cabal v2-freeze --shadow-installed-packages
+ mv cabal.project.freeze "$startdir/"
+ )
+}
+
+prepare() {
+ default_prepare
+ ln -sf "$srcdir/cabal.project.freeze" \
+ "$builddir/cabal.project.freeze"
+}
+
+build() {
+ cabal v2-update
+ cabal v2-build mailctl:exes \
+ --jobs=${JOBS:-1} \
+ --prefix=/usr \
+ --docdir=/usr/share/doc/$pkgname \
+ --sysconfdir=/etc
+}
+
+check() {
+ cabal test
+}
+
+package() {
+ mkdir -p "$pkgdir"
+
+ # See https://github.com/haskell/cabal/issues/6919#issuecomment-761563498
+ cabal list-bin mailctl:exes | xargs install -Dm755 -t "$pkgdir"/usr/bin
+ install -Dm644 README.md -t "$pkgdir"/usr/share/doc/$pkgname/
+ install -Dm644 configs/* -t "$pkgdir"/usr/share/$pkgname
+
+ cd completions
+ install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+d179eca8a24c819cab7e3d7337f12b5321d69baba2e0f61613c1ad8a438261ffe54ad78b77407576c67216f83fbfcd142e5fffa918181165e326b748ffe9d4f4 mailctl-0.9.2.tar.gz
+387f833c20e9055340e1ef71a997d741e5e5acf44e47ef7ed7305fb8787b210db98f2526a972cba99c1e1b1dc0eaf2527e03e4d7fe0d7c17c3d62cc65d78403c cabal.project.freeze
+"
diff --git a/testing/mailctl/cabal.project.freeze b/testing/mailctl/cabal.project.freeze
new file mode 100644
index 00000000000..4d1f21145c3
--- /dev/null
+++ b/testing/mailctl/cabal.project.freeze
@@ -0,0 +1,203 @@
+active-repositories: hackage.haskell.org:merge
+constraints: any.Cabal ==3.8.1.0,
+ any.Cabal-syntax ==3.8.1.0,
+ any.HUnit ==1.6.2.0,
+ any.OneTuple ==0.4.1.1,
+ any.QuickCheck ==2.14.3,
+ QuickCheck -old-random +templatehaskell,
+ any.StateVar ==1.2.2,
+ any.aeson ==2.2.1.0,
+ aeson +ordered-keymap,
+ any.ansi-terminal ==1.0,
+ ansi-terminal -example,
+ any.ansi-terminal-types ==0.11.5,
+ any.appar ==0.1.8,
+ any.array ==0.5.4.0,
+ any.asn1-encoding ==0.9.6,
+ any.asn1-parse ==0.9.5,
+ any.asn1-types ==0.3.4,
+ any.assoc ==1.1,
+ assoc +tagged,
+ any.async ==2.2.5,
+ async -bench,
+ any.attoparsec ==0.14.4,
+ attoparsec -developer,
+ any.attoparsec-aeson ==2.2.0.1,
+ any.auto-update ==0.1.6,
+ any.base ==4.17.2.1,
+ any.base-orphans ==0.9.1,
+ any.base64 ==0.4.2.4,
+ any.base64-bytestring ==1.2.1.0,
+ any.basement ==0.0.16,
+ any.bifunctors ==5.6.1,
+ bifunctors +tagged,
+ any.binary ==0.8.9.1,
+ any.bitvec ==1.1.5.0,
+ bitvec +simd,
+ any.blaze-builder ==0.4.2.3,
+ any.bsb-http-chunked ==0.0.0.4,
+ any.byteorder ==1.0.4,
+ any.bytestring ==0.11.5.3,
+ any.cabal-doctest ==1.0.9,
+ any.call-stack ==0.4.0,
+ any.case-insensitive ==1.2.1.0,
+ any.cereal ==0.5.8.3,
+ cereal -bytestring-builder,
+ any.colour ==2.3.6,
+ any.comonad ==5.0.8,
+ comonad +containers +distributive +indexed-traversable,
+ any.conduit ==1.3.5,
+ any.conduit-extra ==1.3.6,
+ any.containers ==0.6.7,
+ any.contravariant ==1.5.5,
+ contravariant +semigroups +statevar +tagged,
+ any.cookie ==0.4.6,
+ any.crypton ==0.34,
+ crypton -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq +support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
+ any.crypton-connection ==0.3.1,
+ any.crypton-x509 ==1.7.6,
+ any.crypton-x509-store ==1.6.9,
+ any.crypton-x509-system ==1.6.7,
+ any.crypton-x509-validation ==1.6.12,
+ any.data-default-class ==0.1.2.0,
+ any.data-fix ==0.3.2,
+ any.deepseq ==1.4.8.0,
+ any.directory ==1.3.7.1,
+ any.distributive ==0.6.2.1,
+ distributive +semigroups +tagged,
+ any.dlist ==1.0,
+ dlist -werror,
+ any.easy-file ==0.2.5,
+ any.either ==5.0.2,
+ any.exceptions ==0.10.5,
+ any.fast-logger ==3.2.2,
+ any.filepath ==1.4.2.2,
+ any.foldable1-classes-compat ==0.1,
+ foldable1-classes-compat +tagged,
+ any.generically ==0.1.1,
+ any.ghc-bignum ==1.3,
+ any.ghc-boot-th ==9.4.8,
+ any.ghc-prim ==0.9.1,
+ any.hashable ==1.4.3.0,
+ hashable +integer-gmp -random-initial-seed,
+ any.hourglass ==0.2.12,
+ any.hsc2hs ==0.68.10,
+ hsc2hs -in-ghc-tree,
+ any.hsyslog ==5.0.2,
+ hsyslog -install-examples,
+ any.http-client ==0.7.16,
+ http-client +network-uri,
+ any.http-client-tls ==0.3.6.3,
+ any.http-conduit ==2.3.8.3,
+ http-conduit +aeson,
+ any.http-date ==0.0.11,
+ any.http-types ==0.12.4,
+ any.http2 ==3.0.3,
+ http2 -devel -doc -h2spec,
+ any.indexed-traversable ==0.1.3,
+ any.indexed-traversable-instances ==0.1.1.2,
+ any.integer-conversion ==0.1.0.1,
+ any.integer-gmp ==1.1,
+ any.integer-logarithms ==1.0.3.1,
+ integer-logarithms -check-bounds +integer-gmp,
+ any.iproute ==1.7.12,
+ any.libyaml ==0.1.2,
+ libyaml -no-unicode -system-libyaml,
+ any.memory ==0.18.0,
+ memory +support_bytestring +support_deepseq,
+ any.mime-types ==0.1.2.0,
+ any.mono-traversable ==1.0.15.3,
+ any.mtl ==2.2.2,
+ any.network ==3.1.4.0,
+ network -devel,
+ any.network-byte-order ==0.1.7,
+ any.network-uri ==2.6.4.2,
+ any.old-locale ==1.0.0.7,
+ any.old-time ==1.1.0.4,
+ any.optparse-applicative ==0.18.1.0,
+ optparse-applicative +process,
+ any.parsec ==3.1.16.1,
+ any.pem ==0.2.4,
+ any.pretty ==1.1.3.6,
+ any.pretty-simple ==4.1.2.0,
+ pretty-simple -buildexample +buildexe,
+ any.prettyprinter ==1.7.1,
+ prettyprinter -buildreadme +text,
+ any.prettyprinter-ansi-terminal ==1.1.3,
+ any.primitive ==0.9.0.0,
+ any.process ==1.6.18.0,
+ any.profunctors ==5.6.2,
+ any.psqueues ==0.2.8.0,
+ any.random ==1.2.1.1,
+ any.recv ==0.1.0,
+ any.resourcet ==1.3.0,
+ any.rts ==1.0.2,
+ any.safe-exceptions ==0.1.7.4,
+ any.scientific ==0.3.7.0,
+ scientific -bytestring-builder -integer-simple,
+ any.semialign ==1.3,
+ semialign +semigroupoids,
+ any.semigroupoids ==6.0.0.1,
+ semigroupoids +comonad +containers +contravariant +distributive +tagged +unordered-containers,
+ any.simple-sendfile ==0.2.32,
+ simple-sendfile +allow-bsd -fallback,
+ any.socks ==0.6.1,
+ any.split ==0.2.4,
+ any.splitmix ==0.1.0.5,
+ splitmix -optimised-mixer,
+ any.stm ==2.5.1.0,
+ any.streaming-commons ==0.2.2.6,
+ streaming-commons -use-bytestring-builder,
+ any.strict ==0.5,
+ any.strings ==1.1,
+ any.tagged ==0.8.8,
+ tagged +deepseq +transformers,
+ any.template-haskell ==2.19.0.0,
+ any.text ==2.0.2,
+ any.text-iso8601 ==0.1,
+ any.text-short ==0.1.5,
+ text-short -asserts,
+ any.th-abstraction ==0.6.0.0,
+ any.th-compat ==0.1.4,
+ any.these ==1.2,
+ any.time ==1.12.2,
+ any.time-compat ==1.9.6.1,
+ time-compat -old-locale,
+ any.time-manager ==0.0.1,
+ any.tls ==1.9.0,
+ tls +compat -hans +network,
+ any.transformers ==0.5.6.2,
+ any.transformers-compat ==0.7.2,
+ transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
+ any.twain ==2.1.2.0,
+ any.typed-process ==0.2.11.1,
+ any.unix ==2.7.3,
+ any.unix-compat ==0.7.1,
+ unix-compat -old-time,
+ any.unix-time ==0.4.11,
+ any.unliftio ==0.2.25.0,
+ any.unliftio-core ==0.2.1.0,
+ any.unordered-containers ==0.2.19.1,
+ unordered-containers -debug,
+ any.utf8-string ==1.0.2,
+ any.uuid-types ==1.0.5.1,
+ any.vault ==0.3.1.5,
+ vault +useghc,
+ any.vector ==0.13.1.0,
+ vector +boundschecks -internalchecks -unsafechecks -wall,
+ any.vector-algorithms ==0.9.0.1,
+ vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
+ any.vector-stream ==0.1.0.0,
+ any.wai ==3.2.4,
+ any.wai-extra ==3.1.13.0,
+ wai-extra -build-example,
+ any.wai-logger ==2.4.0,
+ any.warp ==3.3.30,
+ warp +allow-sendfilefd -network-bytestring -warp-debug +x509,
+ any.witherable ==0.4.2,
+ any.word8 ==0.1.3,
+ any.yaml ==0.11.11.2,
+ yaml +no-examples +no-exe,
+ any.zlib ==0.6.3.0,
+ zlib -bundled-c-zlib -non-blocking-ffi -pkg-config
+index-state: hackage.haskell.org 2024-01-01T03:15:09Z
diff --git a/testing/maildir2rss/APKBUILD b/testing/maildir2rss/APKBUILD
new file mode 100644
index 00000000000..4ff7b5e9177
--- /dev/null
+++ b/testing/maildir2rss/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=maildir2rss
+pkgver=0.0.2
+pkgrel=4
+pkgdesc="Convert a maildir to a rss feed"
+url="https://git.sr.ht/~cowingtonpost/maildir2rss"
+arch="all"
+license="MPL-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~cowingtonpost/maildir2rss/archive/v$pkgver.tar.gz"
+builddir="$srcdir/maildir2rss-v$pkgver"
+options="!check" # no tests
+
+export GOPATH="$srcdir/go"
+export GOCACHE="$srcdir/go-build"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+build() {
+ make
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+020b83dc4f0bef57f7abed28bb0d8504b8bcdc7c8ed6dbd43b7c03634fea37bb6473a785a911eca8d8f8c106776aec6326b91b8b73267e0f6ac7b09d251a1ffd maildir2rss-0.0.2.tar.gz
+"
diff --git a/testing/mailmunge/APKBUILD b/testing/mailmunge/APKBUILD
deleted file mode 100644
index e947b48fa7a..00000000000
--- a/testing/mailmunge/APKBUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=mailmunge
-pkgver=3.06
-pkgrel=0
-pkgdesc="email filtering framework that uses libmilter to interface with Postfix or Sendmail"
-url="https://mailmunge.org"
-arch="all"
-license="GPL-2.0-only"
-pkgusers="mailmunge"
-pkggroups="mailmunge"
-depends="
- perl-io-socket-ssl
- perl-mime-tools
- perl-socket
- perl-time-local
- perl-unix-syslog
- tzdata
- "
-makedepends="libmilter-dev"
-checkdepends="
- perl-dbi
- perl-file-find-rule
- perl-html-parser
- perl-json-any
- perl-json-xs
- perl-mail-spamassassin
- perl-net-dns
- perl-dbd-sqlite
- perl-test-deep
- perl-utils
- "
-subpackages="$pkgname-openrc $pkgname-doc"
-install="$pkgname.pre-install"
-source="$pkgname-$pkgver.tar.gz::https://git.skoll.ca/Skollsoft-Public/mailmunge/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --with-perlinstalldirs=vendor \
- make
-}
-
-check() {
- make test
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- # delete systemd and tests
- rm -rf "$pkgdir"/etc/systemd
- rm -rf "$pkgdir"/usr/share/perl*/vendor_perl/Test
-}
-
-sha512sums="
-e0d887ca1b0428c3e6922df0b03ba8787f801baaf23564e4dc5406e34f3bdd584fe027088c66d46f6a5560c889878c9039f2f192f57f5664412e09e2447f3bfd mailmunge-3.06.tar.gz
-"
diff --git a/testing/mailmunge/mailmunge.pre-install b/testing/mailmunge/mailmunge.pre-install
deleted file mode 100644
index 8b21081649a..00000000000
--- a/testing/mailmunge/mailmunge.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S mimefang 2>/dev/null
-adduser -S -D -H -h /var/spool/mailmunge -s /sbin/nologin -G mailmunge -g mailmunge mailmunge 2>/dev/null
-
-exit 0
diff --git a/testing/mailsec-check/APKBUILD b/testing/mailsec-check/APKBUILD
index 2fda323723c..093e13f85a8 100644
--- a/testing/mailsec-check/APKBUILD
+++ b/testing/mailsec-check/APKBUILD
@@ -3,7 +3,7 @@
pkgname=mailsec-check
pkgver=0_git20210729
_commit=a4aa6329a96ae6403791a51ddb8ac880af5b4eb3
-pkgrel=0
+pkgrel=18
pkgdesc="Utility to analyze state of deployment of security-related email protocols"
url="https://github.com/foxcpp/mailsec-check"
license="MIT"
@@ -15,8 +15,9 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/foxcpp/mailsec-check/archive
builddir="$srcdir/$pkgname-$_commit"
export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-export GOPATH="$srcdir"
-export CGO_ENABLED=0
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build
diff --git a/testing/mailtutan/APKBUILD b/testing/mailtutan/APKBUILD
new file mode 100644
index 00000000000..7873685dfe1
--- /dev/null
+++ b/testing/mailtutan/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mailtutan
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="An SMTP server for test and development environments written in Rust"
+url="https://github.com/mailtutan/mailtutan"
+arch="all !s390x !riscv64 !ppc64le" # builds fail due to ring (dependency), see issues 986, 1612 and 1630 respectively at https://github.com/briansmith/ring
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/mailtutan/mailtutan/archive/refs/tags/v$pkgver.tar.gz
+"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm 755 target/release/mailtutan "$pkgdir"/usr/bin/mailtutan
+}
+
+sha512sums="
+5193a5a946a50e865de0b60930c4ba2d227e3c418d4f6d90a9eba7a184c7c09441be459e09160bf76ee943703d41a8db7986901b2a098f56a9db030c4fc342c1 mailtutan-0.3.0.tar.gz
+"
diff --git a/testing/mailutils/APKBUILD b/testing/mailutils/APKBUILD
index 895df24c5b3..6f61f9bc365 100644
--- a/testing/mailutils/APKBUILD
+++ b/testing/mailutils/APKBUILD
@@ -1,20 +1,27 @@
# Contributor: Shiz <hi@shiz.me>
# Maintainer: Shiz <hi@shiz.me>
pkgname=mailutils
-pkgver=3.9
-pkgrel=1
+pkgver=3.17
+pkgrel=0
pkgdesc="GNU swiss army knife of electronic mail handling"
url="https://mailutils.org/"
-arch="all !s390x"
+arch="all"
license="GPL-3.0-or-later"
replaces="mailx"
depends_dev="$pkgname-libs=$pkgver-r$pkgrel"
-makedepends="readline-dev libtool"
-checkdepends="autoconf"
+makedepends="
+ libunistring-dev
+ libtool
+ gnutls-dev
+ readline-dev
+ "
+checkdepends="autoconf netcat-openbsd"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs $pkgname-servers $pkgname-mh"
source="https://ftp.gnu.org/gnu/mailutils/mailutils-$pkgver.tar.xz
disable-koi8-r-test.patch
- fix-build-with-gcc-10.patch"
+ "
+# they pretty much all pass, but the test suite takes an hour
+options="!check"
build() {
./configure \
@@ -36,41 +43,35 @@ package() {
make DESTDIR="$pkgdir" install
cd "$pkgdir"
- rm usr/lib/charset.alias
+ # rm usr/lib/charset.alias
# No need for these to be suid/sgid root.
chmod u-s usr/sbin/mda
chmod g-s usr/bin/dotlock
}
-servers() {
- pkgdesc="$pkgdesc (servers)"
+libs() {
+ pkgdesc="$pkgdesc (libraries)"
- mkdir -p "$subpkgdir"/usr/sbin
- local server; for server in pop3d imap4d comsatd; do
- mv "$pkgdir"/usr/sbin/$server "$subpkgdir"/usr/sbin/
- done
+ amove usr/lib
}
-libs() {
- pkgdesc="$pkgdesc (libraries)"
+servers() {
+ pkgdesc="$pkgdesc (servers)"
- mkdir -p "$subpkgdir"/usr
- mv "$pkgdir"/usr/lib "$subpkgdir"/usr/
+ amove \
+ usr/sbin/pop3d \
+ usr/sbin/imap4d \
+ usr/sbin/comsatd
}
mh() {
pkgdesc="$pkgdesc (MH compatibility)"
- mkdir -p "$subpkgdir"/usr/bin \
- "$subpkgdir"/usr/share/$pkgname
-
- mv "$pkgdir"/usr/bin/mu-mh "$subpkgdir"/usr/bin/
- mv "$pkgdir"/usr/share/$pkgname/mh "$subpkgdir"/usr/share/$pkgname/
- rmdir -p "$pkgdir"/usr/share/$pkgname || true
+ amove usr/bin/mu-mh \
+ usr/share/mailutils/mh
}
sha512sums="
-1eef9bebeeafbf974e54b87705444ee02b663a86e22442a9ec5db16ade38e6e9a3079ee8a8267393e97d6e9e477917617b2e1d57d3287ab19e4df73b66e5a8d4 mailutils-3.9.tar.xz
-d0d78bba10d3ce039bb00657a570fb9411fabf448548994860285701939ae52afd15c007daa85bb18662a67153dda86069afe240b430fbe1b28a45755108f477 disable-koi8-r-test.patch
-7050e5069f82d51971096e7f3c9835a4162d593c38e7e8a60184144c985901e0092c7ab230eed340023909e3b856f2619a2c26f983f4dd9cc5397548e9e173ef fix-build-with-gcc-10.patch
+e4080d9674444c3e077aa72f825a0373a4750d187a04a488449e89f6fec19d9309a118412e91745575eb90d05fa541f8d2626a8fd5e8ac10710aa1f7a0ff3193 mailutils-3.17.tar.xz
+fd628287a8b70b84e4fe477f3fed157308f1a0e803dfd65390d90a7ad40023155559b284e29ceb95dd3c854fce4e3a22a651d8de99b49db7c9d4b3682003cf2c disable-koi8-r-test.patch
"
diff --git a/testing/mailutils/disable-koi8-r-test.patch b/testing/mailutils/disable-koi8-r-test.patch
index 803072148af..2d67861df43 100644
--- a/testing/mailutils/disable-koi8-r-test.patch
+++ b/testing/mailutils/disable-koi8-r-test.patch
@@ -1,7 +1,9 @@
musl does not support this charset.
+diff --git a/libmailutils/tests/decode2047.at b/libmailutils/tests/decode2047.at
+index d255844..806d4bd 100644
--- a/libmailutils/tests/decode2047.at
+++ b/libmailutils/tests/decode2047.at
-@@ -49,12 +49,6 @@
+@@ -50,12 +50,6 @@ TESTDEC2047([],[decode04],
[If you can read this yo ... u understand the example.
])
diff --git a/testing/mailutils/fix-build-with-gcc-10.patch b/testing/mailutils/fix-build-with-gcc-10.patch
deleted file mode 100644
index 74feeca9973..00000000000
--- a/testing/mailutils/fix-build-with-gcc-10.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Otherwise doesn't compile with -fcommon.
-
-diff -upr mailutils-3.9.orig/imap4d/imap4d.h mailutils-3.9/imap4d/imap4d.h
---- mailutils-3.9.orig/imap4d/imap4d.h 2021-07-10 14:39:56.469994975 +0200
-+++ mailutils-3.9/imap4d/imap4d.h 2021-07-10 14:41:29.953368933 +0200
-@@ -229,8 +229,6 @@ extern struct mu_tls_config global_tls_c
- extern int test_mode;
- extern int silent_expunge;
-
--int tls_available;
--
- /* Input functions */
- extern mu_stream_t iostream;
- extern int io_untagged_response (int, const char *, ...) MU_PRINTFLIKE(2,3);
-diff -upr mailutils-3.9.orig/lib/tcpwrap.h mailutils-3.9/lib/tcpwrap.h
---- mailutils-3.9.orig/lib/tcpwrap.h 2021-07-10 14:39:56.526661667 +0200
-+++ mailutils-3.9/lib/tcpwrap.h 2021-07-10 14:40:13.370002323 +0200
-@@ -17,7 +17,7 @@
- #include <mailutils/types.h>
-
- extern int mu_tcp_wrapper_enable;
--const char *mu_tcp_wrapper_daemon;
-+extern const char *mu_tcp_wrapper_daemon;
- extern int mu_tcpwrapper_access (int fd);
- extern void mu_tcpwrapper_cfg_init (void);
- extern int mu_tcp_wrapper_prefork (int fd,
diff --git a/testing/maim/APKBUILD b/testing/maim/APKBUILD
deleted file mode 100644
index daef5e0d75d..00000000000
--- a/testing/maim/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Daniel Santana <daniel@santana.tech>
-# Maintainer: Daniel Santana <daniel@santana.tech>
-pkgname=maim
-pkgver=5.7.4
-pkgrel=2
-pkgdesc="Utility that takes screenshots of your desktop"
-url="https://github.com/naelstrof/maim"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="cmake mesa-dev glm-dev icu-dev libxrender-dev libxrandr-dev
- libxcomposite-dev libjpeg-turbo-dev libpng-dev slop-dev libwebp-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/naelstrof/maim/archive/v$pkgver.tar.gz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-f91ba00e436514d2d0eecc664c02dd45c53750045b5bc4abbc2cfbf64159085e83736e820c54fa819b4d82b0905a3cfe76a5227db49dd54238f655fd4899cd6c maim-5.7.4.tar.gz
-"
diff --git a/testing/makeself/APKBUILD b/testing/makeself/APKBUILD
index 4bb0dc6808e..ef870b4aa95 100644
--- a/testing/makeself/APKBUILD
+++ b/testing/makeself/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Pedro Filipe <xpecex@outlook.com>
pkgname=makeself
-pkgver=2.4.4
-pkgrel=1
+pkgver=2.5.0
+pkgrel=0
pkgdesc="Generate a self-extractable compressed tar archive from a directory"
options="!check" # Github tarball is incomplete
url="https://makeself.io/"
@@ -18,6 +18,6 @@ package() {
}
sha512sums="
-3d4d03458f7f11a8df46340d1b489ca60d413d5ed857cc67bb8ef15335ce2848e4675e080791c26fdf29423f813d468b4b797438fe0876dad54e85c6346b9b8b makeself-release-2.4.4.tar.gz
+cd0ce98579f00a02f9559848b39e0a6efea9df1866073d419f0b6560034cc186ed8315f8b4589e03f626b040727d9ae646bc2abaebe4f4da556b87617bdd770f makeself-release-2.5.0.tar.gz
0d334c17f3801961cb0ed9175734bdac3bf0fdf40531707bedcd75a9e7d2fb6f5dd7e377cf31cc851000d002ea7059e65280efbcb10e923d4e02714c890ba37b makeself-header_path.patch
"
diff --git a/testing/mame/APKBUILD b/testing/mame/APKBUILD
index cf5774e31d7..991b95baa8e 100644
--- a/testing/mame/APKBUILD
+++ b/testing/mame/APKBUILD
@@ -1,18 +1,18 @@
-# Contributor: Taner Tas <taner76@gmail.com>
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=mame
-pkgver=0.224
+pkgver=0.251
_pkgver=${pkgver/.}
-pkgrel=1
+_groovymame=gm0251sr002o
+pkgrel=0
pkgdesc="Multi Arcade Machine Emulator with GroovyMAME/Switchres/No-nag patchset."
url="https://mamedev.org/"
# riscv64: takes forever to build and constantly fails
-arch="all !mips !mips64 !riscv64"
+# s390x: who plays an arcade emulator on a mainframe
+arch="all !s390x !riscv64"
license="GPL-2.0-or-later"
depends="$pkgname-common"
makedepends="
alsa-lib-dev
- clang-dev
coreutils
expat-dev
flac-dev
@@ -26,7 +26,8 @@ makedepends="
mesa-dev
nasm
portaudio-dev
- portmidi-dev
+ portmidi-dev<=200
+ pulseaudio-dev
python3-dev
py3-sphinx
rapidjson-dev
@@ -39,28 +40,23 @@ subpackages="
$pkgname-common::noarch
$pkgname-arcade
$pkgname-mess
- $pkgname-data::noarch
+ $pkgname-plugins::noarch
$pkgname-doc
$pkgname-lang
$pkgname-tools
- $pkgname-plugins::noarch
+ $pkgname-data::noarch
"
source="
https://github.com/mamedev/mame/archive/mame$_pkgver.tar.gz
+ $_groovymame.patch::https://github.com/antonioginer/GroovyMAME/releases/download/$_groovymame/GroovyMAME${_groovymame:3:3}.patch
mame.ini
midi.conf
fix-musl.patch
- groovymame.patch
nonag.patch
"
options="!check" # No test suite
builddir="$srcdir"/$pkgname-$pkgname${pkgver/.}
-# temp allow textrels on rv64
-case $CARCH in
- riscv64) options="$options textrels" ;;
-esac
-
build() {
case "$CARCH" in
x86|armhf|armv7) _PTR64=0;;
@@ -72,61 +68,43 @@ build() {
*) _NOASM=1 ;;
esac
- case "$CARCH" in
- s390x) _BIGENDIAN=1 ;;
- *) _BIGENDIAN=0 ;;
- esac
-
- case "$CARCH" in
- armhf)
- # clang segfaults on armhf
- true
- ;;
- *)
- # clang builds have better benchmark score and smaller size
- export OVERRIDE_CC=clang
- export OVERRIDE_CXX=clang++
- # clang workaraound
- sed -i -e 's/-flifetime-dse=1//g' scripts/genie.lua
- ;;
- esac
-
- export CFLAGS="$CFLAGS -I/usr/include/lua5.3 -DBX_CRT_MUSL -Wno-everything"
- export CXXFLAGS="$CXXFLAGS $CFLAGS"
+ export CFLAGS="$CFLAGS -I/usr/include/lua5.3 -DBX_CRT_MUSL"
+ export CXXFLAGS="$CXXFLAGS -I/usr/include/lua5.3 -DBX_CRT_MUSL"
export LDFLAGS="$LDFLAGS -L/usr/lib/lua5.3"
-_build="make
- TARGETOS=linux
- NOWERROR=1
- DEBUG=0
- USE_QTDEBUG=0
- VERBOSE=1
- REGENIE=1
- OSD=sdl
- SYMBOLS=0
- FORCE_DRC_C_BACKEND=
- PTR64=$_PTR64
- NOASM=$_NOASM
- BIGENDIAN=$_BIGENDIAN
- TOOLS=
- PYTHON_EXECUTABLE=python3
- SDL_INI_PATH=/etc/mame
- USE_SYSTEM_LIB_EXPAT=1
- USE_SYSTEM_LIB_ZLIB=1
- USE_SYSTEM_LIB_JPEG=1
- USE_SYSTEM_LIB_FLAC=1
- USE_SYSTEM_LIB_LUA=1
- USE_SYSTEM_LIB_SQLITE3=1
- USE_SYSTEM_LIB_PORTAUDIO=1
- USE_SYSTEM_LIB_UV=1
- USE_SYSTEM_LIB_GLM=1
- USE_SYSTEM_LIB_RAPIDJSON=1
- USE_SYSTEM_LIB_PORTMIDI=1
- USE_SYSTEM_LIB_ASIO=0"
-
- [ -f mame ] || [ -f mame64 ] || $_build TOOLS=1 SUBTARGET=mame
- [ -f mamearcade ] || [ -f mamearcade64 ] || $_build SUBTARGET=arcade
- [ -f mess ] || [ -f mess64 ] || $_build SUBTARGET=mess
+ local build="make
+ TARGETOS=linux
+ NOWERROR=1
+ DEBUG=0
+ USE_QTDEBUG=0
+ VERBOSE=1
+ REGENIE=1
+ OSD=sdl
+ SYMBOLS=0
+ FORCE_DRC_C_BACKEND=
+ PTR64=$_PTR64
+ NOASM=$_NOASM
+ BIGENDIAN=0
+ TOOLS=
+ PYTHON_EXECUTABLE=python3
+ SDL_INI_PATH=/etc/mame
+ USE_SYSTEM_LIB_EXPAT=1
+ USE_SYSTEM_LIB_ZLIB=1
+ USE_SYSTEM_LIB_JPEG=1
+ USE_SYSTEM_LIB_FLAC=1
+ USE_SYSTEM_LIB_LUA=1
+ USE_SYSTEM_LIB_SQLITE3=1
+ USE_SYSTEM_LIB_PORTAUDIO=1
+ USE_SYSTEM_LIB_UV=1
+ USE_SYSTEM_LIB_GLM=1
+ USE_SYSTEM_LIB_RAPIDJSON=1
+ USE_SYSTEM_LIB_PORTMIDI=1
+ USE_SYSTEM_LIB_ASIO=0
+ "
+
+ [ -f mame ] || [ -f mame64 ] || $build TOOLS=1 SUBTARGET=mame
+ [ -f mamearcade ] || [ -f mamearcade64 ] || $build SUBTARGET=arcade
+ [ -f mess ] || [ -f mess64 ] || $build SUBTARGET=mess
}
package() {
@@ -144,61 +122,34 @@ package() {
do
install -D -m644 docs/man/"$i" "$pkgdir"/usr/share/man/man1/"$i"
done
-}
-common() {
- cd "$builddir"
- pkgdesc="MAME - Common configuration files"
- install -D -m644 "$srcdir"/mame.ini "$subpkgdir"/etc/mame/mame.ini
- install -D -m644 "$srcdir"/midi.conf "$subpkgdir"/usr/lib/modules-load.d/midi.conf
- install -d -m755 "$subpkgdir"/usr/share/$pkgname/roms
-}
+ install -D -m644 "$srcdir"/mame.ini "$pkgdir"/etc/mame/mame.ini
+ install -D -m644 "$srcdir"/midi.conf "$pkgdir"/usr/lib/modules-load.d/midi.conf
+ install -d -m755 "$pkgdir"/usr/share/mame/roms
-arcade() {
- pkgdesc="Multi Arcade Machine Emulator - Arcade specific build."
- cd "$builddir"
- install -D -m755 mamearcade "$subpkgdir"/usr/bin/mamearcade || \
- install -D -m755 mamearcade64 "$subpkgdir"/usr/bin/mamearcade
- ln -s mamearcade "$subpkgdir"/usr/bin/arcade
-}
+ install -D -m755 mamearcade "$pkgdir"/usr/bin/mamearcade || \
+ install -D -m755 mamearcade64 "$pkgdir"/usr/bin/mamearcade
+ ln -s mamearcade "$pkgdir"/usr/bin/arcade
-mess() {
- pkgdesc="Multi Arcade Machine Emulator - Mess specific build."
- cd "$builddir"
- install -D -m755 mess "$subpkgdir"/usr/bin/mess || \
- install -D -m755 mess64 "$subpkgdir"/usr/bin/mess
-}
+ install -D -m755 mamemess "$pkgdir"/usr/bin/mess || \
+ install -D -m755 mamemess64 "$pkgdir"/usr/bin/mess
-data() {
- pkgdesc="Distribution data files for MAME"
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/share/$pkgname
for i in artwork \
bgfx \
hash \
hlsl \
ini \
keymaps \
+ language \
+ plugins \
samples
do
- cp -r "$i" "$subpkgdir"/usr/share/$pkgname
+ cp -r "$i" "$pkgdir"/usr/share/mame
done
- rm -rf "$subpkgdir"/usr/share/$pkgname/bgfx/shaders/dx11
- rm -rf "$subpkgdir"/usr/share/$pkgname/bgfx/shaders/dx9
- rm -rf "$subpkgdir"/usr/share/$pkgname/bgfx/shaders/metal
-}
+ rm -rf "$pkgdir"/usr/share/mame/bgfx/shaders/dx11
+ rm -rf "$pkgdir"/usr/share/mame/bgfx/shaders/dx9
+ rm -rf "$pkgdir"/usr/share/mame/bgfx/shaders/metal
-plugins() {
- pkgdesc="Distribution plugins for MAME"
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/share/$pkgname
- cp -r plugins "$subpkgdir"/usr/share/$pkgname/
-}
-
-tools() {
- pkgdesc="Tools for MAME"
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/bin
for i in castool \
chdman \
floptool \
@@ -208,19 +159,67 @@ tools() {
ldverify \
romcmp
do
- install -sm755 "$i" "$subpkgdir"/usr/bin
+ install -Dm755 "$i" -t "$pkgdir"/usr/bin
done
}
+common() {
+ pkgdesc="MAME - Common configuration files"
+
+ amove etc/mame/mame.ini \
+ usr/lib/modules-load.d/midi.conf \
+ usr/share/mame/roms
+}
+
+arcade() {
+ pkgdesc="Multi Arcade Machine Emulator - Arcade specific build."
+
+ amove usr/bin/mamearcade \
+ usr/bin/arcade
+}
+
+mess() {
+ pkgdesc="Multi Arcade Machine Emulator - Mess specific build."
+
+ amove usr/bin/mess
+}
+
+data() {
+ pkgdesc="Distribution data files for MAME"
+
+ amove usr/share/mame
+}
+
+plugins() {
+ pkgdesc="Distribution plugins for MAME"
+
+ amove usr/share/mame/plugins
+}
+
+tools() {
+ pkgdesc="Tools for MAME"
+
+ amove usr/bin/castool \
+ usr/bin/chdman \
+ usr/bin/floptool \
+ usr/bin/imgtool \
+ usr/bin/jedutil \
+ usr/bin/ldresample \
+ usr/bin/ldverify \
+ usr/bin/romcmp
+}
+
lang() {
pkgdesc="Localization files for MAME"
- cd "$builddir"
- mkdir -p "$subpkgdir"/usr/share/$pkgname
- cp -r language "$subpkgdir"/usr/share/$pkgname/
+
+ amove usr/share/mame/language
}
-sha512sums="a5e01dd017cb78a5aea56f48d7bc2375f2c2b8d4c30b47b1e3f543ee74fb9777c01d8e8305655034e28e6929ce8bd82e9b066333f15718b44ded3adcd6df9b5b mame0224.tar.gz
+
+sha512sums="
+5d613f5057cbd30e20bd47912e31db25d284b75e768228d637a740c2d5303297a0d53caff79f38b1dd3f691e1c1978f9e3c3b20158c61f71b94d879fc9c8ddf5 mame0251.tar.gz
+c99a4b0dc5eed6126a9b1237b824d16a19267b61041e90637e9566abe0ca32376478c3cead7b32388fe253b351b842cb4b873d42477fa53fc09d4164a595d06a gm0251sr002o.patch
dc008245cbea0b94f58d83e09bf5fd3fff04ac0e2f3a36b910a8b7633c5377419fc67a1fd366ef268e283f744d9a8d29928cfacf456b3edaa2d0b1a11d46a701 mame.ini
8f83ff5a916f4ff8e86c5afbdfe4475f7780bb36c20c78d6d029d0eb0dafd77b3471faa538aca384001d2049dc94c4df3429c67d743adde9fd6329c91e6d19a2 midi.conf
-75bba366aebb37de7758368fbf7418194a18d535e61c1768e6c2c5cf4b3b7a2f625ef687cb8278c03daa9e308951df4c0bdcc944dfcc4ce5305f5ac83e5e049b fix-musl.patch
-9107239ea2081cbc5c445559c4f0abf0f6833e6d9df16e4558a2375e5925f789ac749f24744c9d85150fe6822d9ebdafa437cf06419f6bd7beae343040dbf3b4 groovymame.patch
-b9d0373472807b81f59be1c8c6a90e3c6774e864a3e73ca4336040bf032c04b270182f8f97bcced8b4f345bcde1f97e114568857a258f9ff010d9b575e61f97c nonag.patch"
+32fa59744e426a0921e44e1e792dbdc263cf8e505407adfe1dc392aa949db96bf8fce2140a3f5ede5a5ba756cf40d80887c502f52cec805c34c477ac44c21049 fix-musl.patch
+3e4e1ccfc506d18cd4d78ea477b53bf9854568c1eab64e6dc63bbdc750dcd94a2229635d17dbe9c5ee75b28baffeac5c87850f7c87b0dd400636811a961d8d9d nonag.patch
+"
diff --git a/testing/mame/fix-musl.patch b/testing/mame/fix-musl.patch
index cda914196ce..0c1378c6834 100644
--- a/testing/mame/fix-musl.patch
+++ b/testing/mame/fix-musl.patch
@@ -1,9 +1,9 @@
--- a/src/lib/netlist/plib/pexception.cpp
+++ b/src/lib/netlist/plib/pexception.cpp
-@@ -10,7 +10,7 @@
-
- #include <cfenv>
-
+@@ -8,7 +8,7 @@
+ #include <cfloat>
+ #include <iostream>
+
-#if (defined(__x86_64__) || defined(__i386__)) && defined(__linux__)
+#if (defined(__x86_64__) || defined(__i386__)) && defined(__linux__) && defined(__GLIBC__)
#define HAS_FEENABLE_EXCEPT (1)
@@ -19,3 +19,23 @@
#include "platform.h"
#include "config.h"
+--- a/src/osd/modules/sound/pulse_sound.cpp
++++ b/src/osd/modules/sound/pulse_sound.cpp
+@@ -19,6 +19,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <poll.h>
++#include <signal.h>
+
+ #include <thread>
+ #include <pulse/pulseaudio.h>
+--- a/src/lib/netlist/plib/ppmf.h
++++ b/src/lib/netlist/plib/ppmf.h
+@@ -94,6 +94,7 @@
+ #ifndef PPMF_FORCE_TYPE
+ #define PPMF_FORCE_TYPE -1
+ #endif
++#include "stddef.h"
+
+ namespace plib {
+
diff --git a/testing/mame/groovymame.patch b/testing/mame/groovymame.patch
deleted file mode 100644
index e16837b107d..00000000000
--- a/testing/mame/groovymame.patch
+++ /dev/null
@@ -1,7810 +0,0 @@
-diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua
-index b7736fb4c27..2be746a8b5f 100644
---- a/scripts/src/emu.lua
-+++ b/scripts/src/emu.lua
-@@ -259,6 +259,11 @@ files {
- MAME_DIR .. "src/emu/video/rgbsse.h",
- MAME_DIR .. "src/emu/video/rgbvmx.cpp",
- MAME_DIR .. "src/emu/video/rgbvmx.h",
-+ MAME_DIR .. "src/emu/switchres/modeline.cpp",
-+ MAME_DIR .. "src/emu/switchres/monitor.cpp",
-+ MAME_DIR .. "src/emu/switchres/util.cpp",
-+ MAME_DIR .. "src/emu/switchres/switchres.cpp",
-+ MAME_DIR .. "src/emu/switchres/switchres.h",
- }
-
- pchsource(MAME_DIR .. "src/emu/main.cpp")
-diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua
-index 10aa9940c52..0a87568a2aa 100644
---- a/scripts/src/osd/sdl.lua
-+++ b/scripts/src/osd/sdl.lua
-@@ -47,12 +47,19 @@ function maintargetosdoptions(_target,_subtarget)
- if BASE_TARGETOS=="unix" and _OPTIONS["targetos"]~="macosx" and _OPTIONS["targetos"]~="android" and _OPTIONS["targetos"]~="asmjs" then
- links {
- "SDL2_ttf",
-+ "Xrandr",
- }
- local str = backtick(pkgconfigcmd() .. " --libs fontconfig")
- addlibfromstring(str)
- addoptionsfromstring(str)
- end
-
-+ if BASE_TARGETOS=="unix" and _OPTIONS["targetos"]=="linux" then
-+ local str = backtick("pkg-config --libs libdrm")
-+ addlibfromstring(str)
-+ addoptionsfromstring(str)
-+ end
-+
- if _OPTIONS["targetos"]=="windows" then
- if _OPTIONS["with-bundled-sdl2"]~=nil then
- configuration { "mingw*"}
-@@ -435,6 +442,7 @@ project ("osd_" .. _OPTIONS["osd"])
- MAME_DIR .. "src/osd/sdl/video.cpp",
- MAME_DIR .. "src/osd/sdl/window.cpp",
- MAME_DIR .. "src/osd/sdl/window.h",
-+ MAME_DIR .. "src/osd/sdl/switchres_sdl.cpp",
- MAME_DIR .. "src/osd/modules/osdwindow.cpp",
- MAME_DIR .. "src/osd/modules/osdwindow.h",
- MAME_DIR .. "src/osd/modules/render/drawsdl.cpp",
-diff --git a/scripts/src/osd/sdl_cfg.lua b/scripts/src/osd/sdl_cfg.lua
-index e942e50fdde..c9b37d07c70 100644
---- a/scripts/src/osd/sdl_cfg.lua
-+++ b/scripts/src/osd/sdl_cfg.lua
-@@ -134,6 +134,9 @@ if _OPTIONS["targetos"]=="windows" then
- configuration { }
-
- elseif _OPTIONS["targetos"]=="linux" then
-+ buildoptions {
-+ backtick("pkg-config --cflags libdrm"),
-+ }
- if _OPTIONS["QT_HOME"]~=nil then
- buildoptions {
- "-I" .. backtick(_OPTIONS["QT_HOME"] .. "/bin/qmake -query QT_INSTALL_HEADERS"),
-diff --git a/scripts/src/osd/windows.lua b/scripts/src/osd/windows.lua
-index 963980b22ca..91344edea4a 100644
---- a/scripts/src/osd/windows.lua
-+++ b/scripts/src/osd/windows.lua
-@@ -45,6 +45,7 @@ function maintargetosdoptions(_target,_subtarget)
- "psapi",
- "ole32",
- "shlwapi",
-+ "dwmapi",
- }
- end
-
-@@ -170,6 +171,16 @@ project ("osd_" .. _OPTIONS["osd"])
- MAME_DIR .. "src/osd/windows/winmenu.cpp",
- MAME_DIR .. "src/osd/windows/winmain.cpp",
- MAME_DIR .. "src/osd/windows/winmain.h",
-+ MAME_DIR .. "src/osd/windows/switchres_windows.cpp",
-+ MAME_DIR .. "src/osd/windows/custom_video.cpp",
-+ MAME_DIR .. "src/osd/windows/custom_video.h",
-+ MAME_DIR .. "src/osd/windows/custom_video_ati.cpp",
-+ MAME_DIR .. "src/osd/windows/custom_video_ati.h",
-+ MAME_DIR .. "src/osd/windows/custom_video_adl.cpp",
-+ MAME_DIR .. "src/osd/windows/custom_video_adl.h",
-+ MAME_DIR .. "src/osd/windows/custom_video_ati_family.cpp",
-+ MAME_DIR .. "src/osd/windows/custom_video_pstrip.cpp",
-+ MAME_DIR .. "src/osd/windows/custom_video_pstrip.h",
- MAME_DIR .. "src/osd/osdepend.h",
- MAME_DIR .. "src/osd/modules/debugger/win/consolewininfo.cpp",
- MAME_DIR .. "src/osd/modules/debugger/win/consolewininfo.h",
-diff --git a/src/emu/drivenum.cpp b/src/emu/drivenum.cpp
-index 5a29dcabd9a..34f5a912cb0 100644
---- a/src/emu/drivenum.cpp
-+++ b/src/emu/drivenum.cpp
-@@ -238,7 +238,7 @@ void driver_enumerator::find_approximate_matches(std::string const &string, std:
- if (m_included[index])
- templist[arrayindex++] = index;
- assert(arrayindex == m_filtered_count);
--
-+/*
- // shuffle
- for (int shufnum = 0; shufnum < (4 * s_driver_count); shufnum++)
- {
-@@ -248,7 +248,7 @@ void driver_enumerator::find_approximate_matches(std::string const &string, std:
- templist[item1] = templist[item2];
- templist[item2] = temp;
- }
--
-+*/
- // copy out the first few entries
- for (int matchnum = 0; matchnum < count; matchnum++)
- results[matchnum] = templist[matchnum % m_filtered_count];
-diff --git a/src/emu/drivers/empty.cpp b/src/emu/drivers/empty.cpp
-index faa17f60158..47744719cb9 100644
---- a/src/emu/drivers/empty.cpp
-+++ b/src/emu/drivers/empty.cpp
-@@ -52,7 +52,7 @@ void empty_state::___empty(machine_config &config)
- screen.set_screen_update(FUNC(empty_state::screen_update));
- screen.set_size(640, 480);
- screen.set_visarea(0, 639, 0, 479);
-- screen.set_refresh_hz(30);
-+ screen.set_refresh_hz(61);
- }
-
-
-diff --git a/src/emu/emu.h b/src/emu/emu.h
-index 35a5d6a3f60..ee75aa354ba 100644
---- a/src/emu/emu.h
-+++ b/src/emu/emu.h
-@@ -84,6 +84,9 @@
- #include "gamedrv.h"
- #include "parameters.h"
-
-+// Switchres
-+#include "switchres/switchres.h"
-+
- // the running machine
- #include "main.h"
- #include "machine.h"
-@@ -108,4 +111,7 @@
- // member templates that don't like incomplete types
- #include "device.ipp"
-
-+// Switchres prototypes
-+#include "switchres/switchres_proto.h"
-+
- #endif // __EMU_H__
-diff --git a/src/emu/emuopts.cpp b/src/emu/emuopts.cpp
-index a48a4f80811..5a60c9338ea 100644
---- a/src/emu/emuopts.cpp
-+++ b/src/emu/emuopts.cpp
-@@ -85,10 +85,12 @@ const options_entry emu_options::s_option_entries[] =
- { OPTION_FRAMESKIP ";fs(0-10)", "0", OPTION_INTEGER, "set frameskip to fixed value, 0-10 (autoframeskip must be disabled)" },
- { OPTION_SECONDS_TO_RUN ";str", "0", OPTION_INTEGER, "number of emulated seconds to run before automatically exiting" },
- { OPTION_THROTTLE, "1", OPTION_BOOLEAN, "throttle emulation to keep system running in sync with real time" },
-+ { OPTION_SYNCREFRESH ";srf", "0", OPTION_BOOLEAN, "enable using the start of VBLANK for throttling instead of the game time" },
-+ { OPTION_AUTOSYNC ";as", "1", OPTION_BOOLEAN, "automatically enable syncrefresh if refresh difference is below syncrefresh_tolerance" },
- { OPTION_SLEEP, "1", OPTION_BOOLEAN, "enable sleeping, which gives time back to other applications when idle" },
- { OPTION_SPEED "(0.01-100)", "1.0", OPTION_FLOAT, "controls the speed of gameplay, relative to realtime; smaller numbers are slower" },
- { OPTION_REFRESHSPEED ";rs", "0", OPTION_BOOLEAN, "automatically adjust emulation speed to keep the emulated refresh rate slower than the host screen" },
-- { OPTION_LOWLATENCY ";lolat", "0", OPTION_BOOLEAN, "draws new frame before throttling to reduce input latency" },
-+ { OPTION_LOWLATENCY ";lolat", "1", OPTION_BOOLEAN, "draws new frame before throttling to reduce input latency" },
-
- // render options
- { nullptr, nullptr, OPTION_HEADER, "CORE RENDER OPTIONS" },
-@@ -113,7 +115,7 @@ const options_entry emu_options::s_option_entries[] =
-
- // artwork options
- { nullptr, nullptr, OPTION_HEADER, "CORE ARTWORK OPTIONS" },
-- { OPTION_ARTWORK_CROP ";artcrop", "0", OPTION_BOOLEAN, "crop artwork so emulated screen image fills output screen/window in one axis" },
-+ { OPTION_ARTWORK_CROP ";artcrop", "1", OPTION_BOOLEAN, "crop artwork so emulated screen image fills output screen/window in one axis" },
- { OPTION_FALLBACK_ARTWORK, nullptr, OPTION_STRING, "fallback artwork if no external artwork or internal driver layout defined" },
- { OPTION_OVERRIDE_ARTWORK, nullptr, OPTION_STRING, "override artwork for external artwork and internal driver layout" },
-
-@@ -216,6 +218,38 @@ const options_entry emu_options::s_option_entries[] =
- { OPTION_HTTP_PORT, "8080", OPTION_INTEGER, "HTTP server port" },
- { OPTION_HTTP_ROOT, "web", OPTION_STRING, "HTTP server document root" },
-
-+ // Switchres options
-+ { nullptr, nullptr, OPTION_HEADER, "CORE SWITCHRES OPTIONS" },
-+ { OPTION_MODELINE_GENERATION ";ml", "1", OPTION_BOOLEAN, "Automatic generation of modelines based on the specified monitor type" },
-+ { OPTION_MONITOR ";m", "generic_15",OPTION_STRING, "Monitor type, e.g.: generic_15, arcade_15, lcd, custom, etc." },
-+ { OPTION_ORIENTATION ";or", "horizontal",OPTION_STRING, "Monitor orientation (horizontal|vertical|rotate|rotate_r|rotate_l)" },
-+ { OPTION_CONNECTOR ";cn", "auto", OPTION_STRING, "[Linux] video card output (VGA-0|VGA-1|DVI-0|DVI-1)" },
-+ { OPTION_INTERLACE ";in", "1", OPTION_BOOLEAN, "Enable interlaced scanning when necessary" },
-+ { OPTION_DOUBLESCAN ";ds", "1", OPTION_BOOLEAN, "Enable double scanning when necessary (unsupported under Windows)" },
-+ { OPTION_SUPER_WIDTH ";cs", "2560", OPTION_INTEGER, "Automatically apply -unevenstretchx if resolution width is equal or greater than this value" },
-+ { OPTION_CHANGERES ";cr", "1", OPTION_BOOLEAN, "Enable dynamic in-game video mode switching" },
-+ { OPTION_POWERSTRIP ";ps", "0", OPTION_BOOLEAN, "Use Powerstrip API for dynamic setting of custom video timings" },
-+ { OPTION_LOCK_SYSTEM_MODES ";lsm", "1", OPTION_BOOLEAN, "Lock system (non-custom) video modes, only use modes created by us" },
-+ { OPTION_LOCK_UNSUPPORTED_MODES ";lum", "1", OPTION_BOOLEAN, "Lock video modes reported as unsupported by your monitor's EDID" },
-+ { OPTION_REFRESH_DONT_CARE ";rdc", "0", OPTION_BOOLEAN, "Ignore video mode's refresh reported by OS when checking ranges" },
-+ { OPTION_DOTCLOCK_MIN ";dcm", "0", OPTION_STRING, "Lowest pixel clock supported by video card, in MHz, default is 0" },
-+ { OPTION_SYNC_REFRESH_TOLERANCE ";srt", "2.0", OPTION_STRING, "Maximum refresh difference, in Hz, allowed in order to synchronize" },
-+ { OPTION_FRAME_DELAY ";fd", "0", OPTION_INTEGER, "Delays the start of each frame to minimize input lag (0-9)"},
-+ { OPTION_VSYNC_OFFSET, "0", OPTION_INTEGER, "Offset vsync position by this many lines to prevent tearing with frame_delay and high-resolution displays" },
-+ { OPTION_BLACK_FRAME_INSERTION ";bfi", "0", OPTION_BOOLEAN, "Inserts a black frame after each normal frame, intended to reduce motion blur on 120 Hz monitors" },
-+ { OPTION_MODELINE ";mode", "auto", OPTION_STRING, "Use custom defined modeline" },
-+ { OPTION_PS_TIMING ";pst", "auto", OPTION_STRING, "Use custom Powertrip timing string" },
-+ { OPTION_LCD_RANGE ";lcd", "auto", OPTION_STRING, "Add custom LCD range, VfreqMin-VfreqMax, in Hz, e.g.: 55.50-61.00" },
-+ { OPTION_CRT_RANGE0 ";crt0", "auto", OPTION_STRING, "Add custom CRT range, see documentation for details." },
-+ { OPTION_CRT_RANGE1 ";crt1", "auto", OPTION_STRING, "Add custom CRT range" },
-+ { OPTION_CRT_RANGE2 ";crt2", "auto", OPTION_STRING, "Add custom CRT range" },
-+ { OPTION_CRT_RANGE3 ";crt3", "auto", OPTION_STRING, "Add custom CRT range" },
-+ { OPTION_CRT_RANGE4 ";crt4", "auto", OPTION_STRING, "Add custom CRT range" },
-+ { OPTION_CRT_RANGE5 ";crt5", "auto", OPTION_STRING, "Add custom CRT range" },
-+ { OPTION_CRT_RANGE6 ";crt6", "auto", OPTION_STRING, "Add custom CRT range" },
-+ { OPTION_CRT_RANGE7 ";crt7", "auto", OPTION_STRING, "Add custom CRT range" },
-+ { OPTION_CRT_RANGE8 ";crt8", "auto", OPTION_STRING, "Add custom CRT range" },
-+ { OPTION_CRT_RANGE9 ";crt9", "auto", OPTION_STRING, "Add custom CRT range" },
- { nullptr }
- };
-
-diff --git a/src/emu/emuopts.h b/src/emu/emuopts.h
-index a1a23e77a2b..1a12f23d99b 100644
---- a/src/emu/emuopts.h
-+++ b/src/emu/emuopts.h
-@@ -72,6 +72,8 @@
- #define OPTION_FRAMESKIP "frameskip"
- #define OPTION_SECONDS_TO_RUN "seconds_to_run"
- #define OPTION_THROTTLE "throttle"
-+#define OPTION_SYNCREFRESH "syncrefresh"
-+#define OPTION_AUTOSYNC "autosync"
- #define OPTION_SLEEP "sleep"
- #define OPTION_SPEED "speed"
- #define OPTION_REFRESHSPEED "refreshspeed"
-@@ -193,6 +195,38 @@
- #define OPTION_HTTP_PORT "http_port"
- #define OPTION_HTTP_ROOT "http_root"
-
-+/* Switchres Options */
-+#define OPTION_MODELINE_GENERATION "modeline_generation"
-+#define OPTION_MONITOR "monitor"
-+#define OPTION_CONNECTOR "connector"
-+#define OPTION_ORIENTATION "orientation"
-+#define OPTION_INTERLACE "interlace"
-+#define OPTION_DOUBLESCAN "doublescan"
-+#define OPTION_SUPER_WIDTH "super_width"
-+#define OPTION_CHANGERES "changeres"
-+#define OPTION_POWERSTRIP "powerstrip"
-+#define OPTION_LOCK_SYSTEM_MODES "lock_system_modes"
-+#define OPTION_LOCK_UNSUPPORTED_MODES "lock_unsupported_modes"
-+#define OPTION_REFRESH_DONT_CARE "refresh_dont_care"
-+#define OPTION_DOTCLOCK_MIN "dotclock_min"
-+#define OPTION_SYNC_REFRESH_TOLERANCE "sync_refresh_tolerance"
-+#define OPTION_FRAME_DELAY "frame_delay"
-+#define OPTION_VSYNC_OFFSET "vsync_offset"
-+#define OPTION_BLACK_FRAME_INSERTION "black_frame_insertion"
-+#define OPTION_MODELINE "modeline"
-+#define OPTION_PS_TIMING "ps_timing"
-+#define OPTION_LCD_RANGE "lcd_range"
-+#define OPTION_CRT_RANGE0 "crt_range0"
-+#define OPTION_CRT_RANGE1 "crt_range1"
-+#define OPTION_CRT_RANGE2 "crt_range2"
-+#define OPTION_CRT_RANGE3 "crt_range3"
-+#define OPTION_CRT_RANGE4 "crt_range4"
-+#define OPTION_CRT_RANGE5 "crt_range5"
-+#define OPTION_CRT_RANGE6 "crt_range6"
-+#define OPTION_CRT_RANGE7 "crt_range7"
-+#define OPTION_CRT_RANGE8 "crt_range8"
-+#define OPTION_CRT_RANGE9 "crt_range9"
-+
- //**************************************************************************
- // TYPE DEFINITIONS
- //**************************************************************************
-@@ -350,6 +384,8 @@ public:
- int frameskip() const { return int_value(OPTION_FRAMESKIP); }
- int seconds_to_run() const { return int_value(OPTION_SECONDS_TO_RUN); }
- bool throttle() const { return bool_value(OPTION_THROTTLE); }
-+ bool sync_refresh() const { return bool_value(OPTION_SYNCREFRESH); }
-+ bool autosync() const { return bool_value(OPTION_AUTOSYNC); }
- bool sleep() const { return m_sleep; }
- float speed() const { return float_value(OPTION_SPEED); }
- bool refresh_speed() const { return m_refresh_speed; }
-@@ -444,6 +480,38 @@ public:
- const char *ram_size() const { return value(OPTION_RAMSIZE); }
- bool nvram_save() const { return bool_value(OPTION_NVRAM_SAVE); }
-
-+ // Switchres options
-+ bool modeline_generation() const { return bool_value(OPTION_MODELINE_GENERATION); }
-+ const char *monitor() const { return value(OPTION_MONITOR); }
-+ const char *connector() const { return value(OPTION_CONNECTOR); }
-+ const char *orientation() const { return value(OPTION_ORIENTATION); }
-+ bool doublescan() const { return bool_value(OPTION_DOUBLESCAN); }
-+ bool interlace() const { return bool_value(OPTION_INTERLACE); }
-+ int super_width() const { return int_value(OPTION_SUPER_WIDTH); }
-+ int changeres() const { return int_value(OPTION_CHANGERES); }
-+ bool powerstrip() const { return bool_value(OPTION_POWERSTRIP); }
-+ bool lock_system_modes() const { return bool_value(OPTION_LOCK_SYSTEM_MODES); }
-+ bool lock_unsupported_modes() const { return bool_value(OPTION_LOCK_UNSUPPORTED_MODES); }
-+ bool refresh_dont_care() const { return bool_value(OPTION_REFRESH_DONT_CARE); }
-+ const char *dotclock_min() const { return value(OPTION_DOTCLOCK_MIN); }
-+ const char *sync_refresh_tolerance() const { return value(OPTION_SYNC_REFRESH_TOLERANCE); }
-+ int frame_delay() const { return int_value(OPTION_FRAME_DELAY); }
-+ int vsync_offset() const { return int_value(OPTION_VSYNC_OFFSET); }
-+ bool black_frame_insertion() const { return bool_value(OPTION_BLACK_FRAME_INSERTION); }
-+ const char *modeline() const { return value(OPTION_MODELINE); }
-+ const char *ps_timing() const { return value(OPTION_PS_TIMING); }
-+ const char *lcd_range() const { return value(OPTION_LCD_RANGE); }
-+ const char *crt_range0() const { return value(OPTION_CRT_RANGE0); }
-+ const char *crt_range1() const { return value(OPTION_CRT_RANGE1); }
-+ const char *crt_range2() const { return value(OPTION_CRT_RANGE2); }
-+ const char *crt_range3() const { return value(OPTION_CRT_RANGE3); }
-+ const char *crt_range4() const { return value(OPTION_CRT_RANGE4); }
-+ const char *crt_range5() const { return value(OPTION_CRT_RANGE5); }
-+ const char *crt_range6() const { return value(OPTION_CRT_RANGE6); }
-+ const char *crt_range7() const { return value(OPTION_CRT_RANGE7); }
-+ const char *crt_range8() const { return value(OPTION_CRT_RANGE8); }
-+ const char *crt_range9() const { return value(OPTION_CRT_RANGE9); }
-+
- // core comm options
- const char *comm_localhost() const { return value(OPTION_COMM_LOCAL_HOST); }
- const char *comm_localport() const { return value(OPTION_COMM_LOCAL_PORT); }
-diff --git a/src/emu/machine.cpp b/src/emu/machine.cpp
-index 7b86af34925..0b93346b0d3 100644
---- a/src/emu/machine.cpp
-+++ b/src/emu/machine.cpp
-@@ -135,6 +135,7 @@ running_machine::running_machine(const machine_config &_config, machine_manager
- m_dummy_space(_config, "dummy_space", &root_device(), 0)
- {
- memset(&m_base_time, 0, sizeof(m_base_time));
-+ memset(&switchres, 0, sizeof(switchres));
-
- m_dummy_space.set_machine(*this);
- m_dummy_space.config_complete();
-diff --git a/src/emu/machine.h b/src/emu/machine.h
-index 205988fbbe6..5d641a1cb7e 100644
---- a/src/emu/machine.h
-+++ b/src/emu/machine.h
-@@ -257,6 +257,9 @@ public:
- std::string compose_saveload_filename(std::string &&base_filename, const char **searchpath = nullptr);
- std::string get_statename(const char *statename_opt) const;
-
-+ // SwitchRes manager
-+ switchres_manager switchres; // SwitchRes data
-+
- private:
- // side effect disable counter
- u32 m_side_effects_disabled;
-diff --git a/src/emu/sound.cpp b/src/emu/sound.cpp
-index c876431c41b..15fd0116787 100644
---- a/src/emu/sound.cpp
-+++ b/src/emu/sound.cpp
-@@ -866,16 +866,13 @@ sound_manager::sound_manager(running_machine &machine)
- machine.add_notifier(MACHINE_NOTIFY_RESUME, machine_notify_delegate(&sound_manager::resume, this));
- machine.add_notifier(MACHINE_NOTIFY_RESET, machine_notify_delegate(&sound_manager::reset, this));
- machine.add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(&sound_manager::stop_recording, this));
-+ machine.add_notifier(MACHINE_NOTIFY_FRAME, machine_notify_delegate(&sound_manager::update, this));
-
- // register global states
- machine.save().save_item(NAME(m_last_update));
-
- // set the starting attenuation
- set_attenuation(machine.options().volume());
--
-- // start the periodic update flushing timer
-- m_update_timer = machine.scheduler().timer_alloc(timer_expired_delegate(FUNC(sound_manager::update), this));
-- m_update_timer->adjust(STREAMS_UPDATE_ATTOTIME, 0, STREAMS_UPDATE_ATTOTIME);
- }
-
-
-@@ -1077,7 +1074,7 @@ void sound_manager::config_save(config_type cfg_type, util::xml::data_node *pare
- // and send it to the OSD layer
- //-------------------------------------------------
-
--void sound_manager::update(void *ptr, int param)
-+void sound_manager::update()
- {
- VPRINTF(("sound_update\n"));
-
-@@ -1089,13 +1086,13 @@ void sound_manager::update(void *ptr, int param)
- speaker.mix(&m_leftmix[0], &m_rightmix[0], m_samples_this_update, (m_muted & MUTE_REASON_SYSTEM));
-
- // now downmix the final result
-- u32 finalmix_step = machine().video().speed_factor();
-+ u32 finalmix_step = machine().video().speed_factor() * 100;
- u32 finalmix_offset = 0;
- s16 *finalmix = &m_finalmix[0];
- int sample;
-- for (sample = m_finalmix_leftover; sample < m_samples_this_update * 1000; sample += finalmix_step)
-+ for (sample = m_finalmix_leftover; sample < m_samples_this_update * 100000; sample += finalmix_step)
- {
-- int sampindex = sample / 1000;
-+ int sampindex = sample / 100000;
-
- // clamp the left side
- s32 samp = m_leftmix[sampindex];
-@@ -1113,7 +1110,7 @@ void sound_manager::update(void *ptr, int param)
- samp = 32767;
- finalmix[finalmix_offset++] = samp;
- }
-- m_finalmix_leftover = sample - m_samples_this_update * 1000;
-+ m_finalmix_leftover = sample - m_samples_this_update * 100000;
-
- // play the result
- if (finalmix_offset > 0)
-diff --git a/src/emu/sound.h b/src/emu/sound.h
-index 7301a4d69ba..91fd6b0de4a 100644
---- a/src/emu/sound.h
-+++ b/src/emu/sound.h
-@@ -225,7 +225,7 @@ private:
- void config_load(config_type cfg_type, util::xml::data_node const *parentnode);
- void config_save(config_type cfg_type, util::xml::data_node *parentnode);
-
-- void update(void *ptr = nullptr, s32 param = 0);
-+ void update();
-
- // internal state
- running_machine & m_machine; // reference to our machine
-diff --git a/src/emu/switchres/modeline.cpp b/src/emu/switchres/modeline.cpp
-new file mode 100644
-index 00000000000..8eddd2b4e2a
---- /dev/null
-+++ b/src/emu/switchres/modeline.cpp
-@@ -0,0 +1,690 @@
-+/**************************************************************
-+
-+ modeline.cpp - Modeline generation and scoring routines
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#include "emu.h"
-+
-+#define max(a,b)({ __typeof__ (a) _a = (a);__typeof__ (b) _b = (b);_a > _b ? _a : _b; })
-+#define min(a,b)({ __typeof__ (a) _a = (a);__typeof__ (b) _b = (b);_a < _b ? _a : _b; })
-+
-+//============================================================
-+// PROTOTYPES
-+//============================================================
-+
-+int get_line_params(modeline *mode, monitor_range *range);
-+int scale_into_range (int value, int lower_limit, int higher_limit);
-+int scale_into_range (float value, float lower_limit, float higher_limit);
-+int scale_into_aspect (int source_res, int tot_res, float original_monitor_aspect, float users_monitor_aspect, float *best_diff);
-+int stretch_into_range(float vfreq, monitor_range *range, bool interlace_allowed, float *interlace);
-+int total_lines_for_yres(int yres, float vfreq, monitor_range *range, float interlace);
-+float max_vfreq_for_yres (int yres, monitor_range *range, float interlace);
-+int round_near (double number);
-+
-+//============================================================
-+// modeline_create
-+//============================================================
-+
-+int modeline_create(modeline *s_mode, modeline *t_mode, monitor_range *range, config_settings *cs)
-+{
-+ float vfreq = 0;
-+ float vfreq_real = 0;
-+ int xres = 0;
-+ int yres = 0;
-+ float interlace = 1;
-+ float doublescan = 1;
-+ float scan_factor = 1;
-+ int x_scale = 0;
-+ int y_scale = 0;
-+ int v_scale = 0;
-+ float x_diff = 0;
-+ float y_diff = 0;
-+ float v_diff = 0;
-+ float y_ratio = 0;
-+ float x_ratio = 0;
-+
-+ // init all editable fields with source or user values
-+ if (t_mode->type & X_RES_EDITABLE)
-+ xres = cs->width? cs->width : s_mode->hactive;
-+ else
-+ xres = t_mode->hactive;
-+ if (t_mode->type & Y_RES_EDITABLE)
-+ yres = cs->height? cs->height : s_mode->vactive;
-+ else
-+ yres = t_mode->vactive;
-+ if (t_mode->type & V_FREQ_EDITABLE)
-+ vfreq = s_mode->vfreq;
-+ else
-+ vfreq = t_mode->vfreq;
-+
-+ // lock resolution fields if required
-+ if (cs->width) t_mode->type &= ~X_RES_EDITABLE;
-+ if (cs->height) t_mode->type &= ~Y_RES_EDITABLE;
-+
-+ // ··· Vertical refresh ···
-+ // try to fit vertical frequency into current range
-+ v_scale = scale_into_range(vfreq, range->vfreq_min, range->vfreq_max);
-+
-+ if (!v_scale && (t_mode->type & V_FREQ_EDITABLE))
-+ {
-+ vfreq = vfreq < range->vfreq_min? range->vfreq_min : range->vfreq_max;
-+ v_scale = 1;
-+ }
-+ else if (v_scale != 1 && !(t_mode->type & V_FREQ_EDITABLE))
-+ {
-+ t_mode->result.weight |= R_OUT_OF_RANGE;
-+ return -1;
-+ }
-+
-+ // ··· Vertical resolution ···
-+ // try to fit active lines in the progressive range first
-+ if (range->progressive_lines_min && (!t_mode->interlace || (t_mode->type & V_FREQ_EDITABLE)))
-+ y_scale = scale_into_range(yres, range->progressive_lines_min, range->progressive_lines_max);
-+
-+ // if not possible, try to fit in the interlaced range, if any
-+ if (!y_scale && range->interlaced_lines_min && cs->interlace && (t_mode->interlace || (t_mode->type & V_FREQ_EDITABLE)))
-+ {
-+ y_scale = scale_into_range(yres, range->interlaced_lines_min, range->interlaced_lines_max);
-+ interlace = 2;
-+ }
-+
-+ // if we succeeded, let's see if we can apply integer scaling
-+ if (y_scale == 1 || (y_scale > 1 && (t_mode->type & Y_RES_EDITABLE)))
-+ {
-+ // check if we should apply doublescan
-+ if (cs->doublescan && y_scale % 2 == 0)
-+ {
-+ y_scale /= 2;
-+ doublescan = 0.5;
-+ }
-+ scan_factor = interlace * doublescan;
-+
-+ // calculate expected achievable refresh for this height
-+ vfreq_real = min(vfreq * v_scale, max_vfreq_for_yres(yres * y_scale, range, scan_factor));
-+ if (vfreq_real != vfreq * v_scale && !(t_mode->type & V_FREQ_EDITABLE))
-+ {
-+ t_mode->result.weight |= R_OUT_OF_RANGE;
-+ return -1;
-+ }
-+
-+ // calculate the ratio that our scaled yres represents with respect to the original height
-+ y_ratio = float(yres) * y_scale / s_mode->vactive;
-+ int y_source_scaled = s_mode->vactive * floor(y_ratio);
-+
-+ // if our original height doesn't fit the target height, we're forced to stretch
-+ if (!y_source_scaled)
-+ t_mode->result.weight |= R_RES_STRETCH;
-+
-+ // otherwise we try to perform integer scaling
-+ else
-+ {
-+ if (t_mode->type & V_FREQ_EDITABLE)
-+ {
-+ // calculate y borders considering physical lines (instead of logical resolution)
-+ int tot_yres = total_lines_for_yres(yres * y_scale, vfreq_real, range, scan_factor);
-+ int tot_source = total_lines_for_yres(y_source_scaled, vfreq * v_scale, range, scan_factor);
-+ y_diff = tot_yres > tot_source?float(tot_yres % tot_source) / tot_yres * 100:0;
-+
-+ // we penalize for the logical lines we need to add in order to meet the user's lower active lines limit
-+ int y_min = interlace == 2?range->interlaced_lines_min:range->progressive_lines_min;
-+ int tot_rest = (y_min >= y_source_scaled)? y_min % y_source_scaled:0;
-+ y_diff += float(tot_rest) / tot_yres * 100;
-+ }
-+ else
-+ y_diff = float((yres * y_scale) % y_source_scaled) / (yres * y_scale) * 100;
-+
-+ // we save the integer ratio between source and target resolutions, this will be used for prescaling
-+ y_scale = floor(y_ratio);
-+
-+ // now if the borders obtained are low enough (< 10%) we'll finally apply integer scaling
-+ // otherwise we'll stretch the original resolution over the target one
-+ if (!(y_ratio >= 1.0 && y_ratio < 16.0 && y_diff < 10.0))
-+ t_mode->result.weight |= R_RES_STRETCH;
-+ }
-+ }
-+
-+ // otherwise, check if we're allowed to apply fractional scaling
-+ else if (t_mode->type & Y_RES_EDITABLE)
-+ t_mode->result.weight |= R_RES_STRETCH;
-+
-+ // if there's nothing we can do, we're out of range
-+ else
-+ {
-+ t_mode->result.weight |= R_OUT_OF_RANGE;
-+ return -1;
-+ }
-+
-+ // ··· Horizontal resolution ···
-+ // make the best possible adjustment of xres depending on what happened in the previous steps
-+ // let's start with the SCALED case
-+ if (!(t_mode->result.weight & R_RES_STRETCH))
-+ {
-+ // if we can, let's apply the same scaling to both directions
-+ if (t_mode->type & X_RES_EDITABLE)
-+ {
-+ if (t_mode->type & Y_RES_EDITABLE) yres *= y_scale;
-+ x_scale = y_scale;
-+ xres = normalize(float(xres) * float(x_scale) * cs->monitor_aspect / (cs->effective_orientation? (1.0/(STANDARD_CRT_ASPECT)) : (STANDARD_CRT_ASPECT)), 8);
-+ }
-+
-+ // otherwise, try to get the best out of our current xres
-+ else
-+ {
-+ x_scale = xres / s_mode->hactive;
-+ // if the source width fits our xres, try applying integer scaling
-+ if (x_scale)
-+ {
-+ x_scale = scale_into_aspect(s_mode->hactive, xres, cs->effective_orientation?1.0/(STANDARD_CRT_ASPECT):STANDARD_CRT_ASPECT, cs->monitor_aspect, &x_diff);
-+ if (x_diff > 15.0 && t_mode->width < cs->super_width)
-+ t_mode->result.weight |= R_RES_STRETCH;
-+ }
-+ // otherwise apply fractional scaling
-+ else
-+ t_mode->result.weight |= R_RES_STRETCH;
-+ }
-+ }
-+
-+ // if the result was fractional scaling in any of the previous steps, deal with it
-+ if (t_mode->result.weight & R_RES_STRETCH)
-+ {
-+ if (t_mode->type & Y_RES_EDITABLE)
-+ {
-+ // always try to use the interlaced range first if it exists, for better resolution
-+ yres = stretch_into_range(vfreq, range, cs->interlace, &interlace);
-+
-+ // check in case we couldn't achieve the desired refresh
-+ vfreq_real = min(vfreq, max_vfreq_for_yres(yres, range, interlace));
-+ }
-+
-+ // check if we can create a normal aspect resolution
-+ if (t_mode->type & X_RES_EDITABLE)
-+ xres = max(xres, normalize(STANDARD_CRT_ASPECT * yres, 8));
-+
-+ // calculate integer scale for prescaling
-+ x_scale = max(1, scale_into_aspect(s_mode->hactive, xres, cs->effective_orientation?1.0/(STANDARD_CRT_ASPECT):STANDARD_CRT_ASPECT, cs->monitor_aspect, &x_diff));
-+ y_scale = max(1, floor(float(yres) / s_mode->vactive));
-+
-+ scan_factor = interlace;
-+ doublescan = 1;
-+ }
-+
-+ x_ratio = float(xres) / s_mode->hactive;
-+ y_ratio = float(yres) / s_mode->vactive;
-+ v_scale = max(round_near(vfreq_real / s_mode->vfreq), 1);
-+ v_diff = (vfreq_real / v_scale) - s_mode->vfreq;
-+ if (fabs(v_diff) > cs->sync_refresh_tolerance)
-+ t_mode->result.weight |= R_V_FREQ_OFF;
-+
-+ // ··· Modeline generation ···
-+ // compute new modeline if we are allowed to
-+ if (cs->modeline_generation && (t_mode->type & V_FREQ_EDITABLE))
-+ {
-+ float margin = 0;
-+ float vblank_lines = 0;
-+ float vvt_ini = 0;
-+
-+ // Get games basic resolution
-+ t_mode->hactive = xres;
-+ t_mode->vactive = yres;
-+ t_mode->vfreq = vfreq_real;
-+
-+ // Get total vertical lines
-+ vvt_ini = total_lines_for_yres(t_mode->vactive, t_mode->vfreq, range, scan_factor) + (interlace == 2?0.5:0);
-+
-+ // Calculate horizontal frequency
-+ t_mode->hfreq = t_mode->vfreq * vvt_ini;
-+
-+ horizontal_values:
-+
-+ // Fill horizontal part of modeline
-+ get_line_params(t_mode, range);
-+
-+ // Calculate pixel clock
-+ t_mode->pclock = t_mode->htotal * t_mode->hfreq;
-+ if (t_mode->pclock <= cs->pclock_min)
-+ {
-+ if (t_mode->type & X_RES_EDITABLE)
-+ {
-+ x_scale *= 2;
-+ t_mode->hactive *= 2;
-+ goto horizontal_values;
-+ }
-+ else
-+ {
-+ t_mode->result.weight |= R_OUT_OF_RANGE;
-+ return -1;
-+ }
-+ }
-+
-+ // Vertical blanking
-+ t_mode->vtotal = vvt_ini * scan_factor;
-+ vblank_lines = int(t_mode->hfreq * range->vertical_blank) + (interlace == 2?0.5:0);
-+ margin = (t_mode->vtotal - t_mode->vactive - vblank_lines * scan_factor) / 2;
-+ t_mode->vbegin = t_mode->vactive + max(round_near(t_mode->hfreq * range->vfront_porch * scan_factor + margin), 1);
-+ t_mode->vend = t_mode->vbegin + max(round_near(t_mode->hfreq * range->vsync_pulse * scan_factor), 1);
-+
-+ // Recalculate final vfreq
-+ t_mode->vfreq = (t_mode->hfreq / t_mode->vtotal) * scan_factor;
-+
-+ t_mode->hsync = range->hsync_polarity;
-+ t_mode->vsync = range->vsync_polarity;
-+ t_mode->interlace = interlace == 2?1:0;
-+ t_mode->doublescan = doublescan == 1?0:1;
-+ }
-+
-+ // finally, store result
-+ t_mode->result.x_scale = x_scale;
-+ t_mode->result.y_scale = y_scale;
-+ t_mode->result.v_scale = v_scale;
-+ t_mode->result.x_diff = x_diff;
-+ t_mode->result.y_diff = y_diff;
-+ t_mode->result.v_diff = v_diff;
-+ t_mode->result.x_ratio = x_ratio;
-+ t_mode->result.y_ratio = y_ratio;
-+ t_mode->result.v_ratio = 0;
-+ t_mode->result.rotated = cs->effective_orientation;
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// get_line_params
-+//============================================================
-+
-+int get_line_params(modeline *mode, monitor_range *range)
-+{
-+ int hhi, hhf, hht;
-+ int hh, hs, he, ht;
-+ float line_time, char_time, new_char_time;
-+ float hfront_porch_min, hsync_pulse_min, hback_porch_min;
-+
-+ hfront_porch_min = range->hfront_porch * .90;
-+ hsync_pulse_min = range->hsync_pulse * .90;
-+ hback_porch_min = range->hback_porch * .90;
-+
-+ line_time = 1 / mode->hfreq * 1000000;
-+
-+ hh = round(mode->hactive / 8);
-+ hs = he = ht = 1;
-+
-+ do {
-+ char_time = line_time / (hh + hs + he + ht);
-+ if (hs * char_time < hfront_porch_min ||
-+ fabs((hs + 1) * char_time - range->hfront_porch) < fabs(hs * char_time - range->hfront_porch))
-+ hs++;
-+
-+ if (he * char_time < hsync_pulse_min ||
-+ fabs((he + 1) * char_time - range->hsync_pulse) < fabs(he * char_time - range->hsync_pulse))
-+ he++;
-+
-+ if (ht * char_time < hback_porch_min ||
-+ fabs((ht + 1) * char_time - range->hback_porch) < fabs(ht * char_time - range->hback_porch))
-+ ht++;
-+
-+ new_char_time = line_time / (hh + hs + he + ht);
-+ } while (new_char_time != char_time);
-+
-+ hhi = (hh + hs) * 8;
-+ hhf = (hh + hs + he) * 8;
-+ hht = (hh + hs + he + ht) * 8;
-+
-+ mode->hbegin = hhi;
-+ mode->hend = hhf;
-+ mode->htotal = hht;
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// scale_into_range
-+//============================================================
-+
-+int scale_into_range (int value, int lower_limit, int higher_limit)
-+{
-+ int scale = 1;
-+ while (value * scale < lower_limit) scale ++;
-+ if (value * scale <= higher_limit)
-+ return scale;
-+ else
-+ return 0;
-+}
-+
-+//============================================================
-+// scale_into_range
-+//============================================================
-+
-+int scale_into_range (float value, float lower_limit, float higher_limit)
-+{
-+ int scale = 1;
-+ while (value * scale < lower_limit) scale ++;
-+ if (value * scale <= higher_limit)
-+ return scale;
-+ else
-+ return 0;
-+}
-+
-+//============================================================
-+// scale_into_aspect
-+//============================================================
-+
-+int scale_into_aspect (int source_res, int tot_res, float original_monitor_aspect, float users_monitor_aspect, float *best_diff)
-+{
-+ int scale = 1, best_scale = 1;
-+ float diff = 0;
-+ *best_diff = 0;
-+
-+ while (source_res * scale <= tot_res)
-+ {
-+ diff = fabs(1.0 - (users_monitor_aspect / (float(tot_res) / float(source_res * scale) * original_monitor_aspect))) * 100.0;
-+ if (diff < *best_diff || *best_diff == 0)
-+ {
-+ *best_diff = diff;
-+ best_scale = scale;
-+ }
-+ scale ++;
-+ }
-+ return best_scale;
-+}
-+
-+//============================================================
-+// stretch_into_range
-+//============================================================
-+
-+int stretch_into_range(float vfreq, monitor_range *range, bool interlace_allowed, float *interlace)
-+{
-+ int yres, lower_limit;
-+
-+ if (range->interlaced_lines_min && interlace_allowed)
-+ {
-+ yres = range->interlaced_lines_max;
-+ lower_limit = range->interlaced_lines_min;
-+ *interlace = 2;
-+ }
-+ else
-+ {
-+ yres = range->progressive_lines_max;
-+ lower_limit = range->progressive_lines_min;
-+ }
-+
-+ while (yres > lower_limit && max_vfreq_for_yres(yres, range, *interlace) < vfreq)
-+ yres -= 8;
-+
-+ return yres;
-+}
-+
-+
-+//============================================================
-+// total_lines_for_yres
-+//============================================================
-+
-+int total_lines_for_yres(int yres, float vfreq, monitor_range *range, float interlace)
-+{
-+ int vvt = max(yres / interlace + round_near(vfreq * yres / (interlace * (1.0 - vfreq * range->vertical_blank)) * range->vertical_blank), 1);
-+ while ((vfreq * vvt < range->hfreq_min) && (vfreq * (vvt + 1) < range->hfreq_max)) vvt++;
-+ return vvt;
-+}
-+
-+//============================================================
-+// max_vfreq_for_yres
-+//============================================================
-+
-+float max_vfreq_for_yres (int yres, monitor_range *range, float interlace)
-+{
-+ return range->hfreq_max / (yres / interlace + round_near(range->hfreq_max * range->vertical_blank));
-+}
-+
-+//============================================================
-+// modeline_print
-+//============================================================
-+
-+char * modeline_print(modeline *mode, char *modeline, int flags)
-+{
-+ char label[48]={'\x00'};
-+ char params[192]={'\x00'};
-+
-+ if (flags & MS_LABEL)
-+ sprintf(label, "\"%dx%d_%d %.6fKHz %.6fHz\"", mode->hactive, mode->vactive, mode->refresh, mode->hfreq/1000, mode->vfreq);
-+
-+ if (flags & MS_LABEL_SDL)
-+ sprintf(label, "\"%dx%d_%.6f\"", mode->hactive, mode->vactive, mode->vfreq);
-+
-+ if (flags & MS_PARAMS)
-+ sprintf(params, " %.6f %d %d %d %d %d %d %d %d %s %s %s %s", float(mode->pclock)/1000000.0, mode->hactive, mode->hbegin, mode->hend, mode->htotal, mode->vactive, mode->vbegin, mode->vend, mode->vtotal,
-+ mode->interlace?"interlace":"", mode->doublescan?"doublescan":"", mode->hsync?"+hsync":"-hsync", mode->vsync?"+vsync":"-vsync");
-+
-+ sprintf(modeline, "%s%s", label, params);
-+
-+ return modeline;
-+}
-+
-+//============================================================
-+// modeline_result
-+//============================================================
-+
-+char * modeline_result(modeline *mode, char *result)
-+{
-+ osd_printf_verbose(" rng(%d): ", mode->range);
-+
-+ if (mode->result.weight & R_OUT_OF_RANGE)
-+ sprintf(result, " out of range");
-+
-+ else
-+ sprintf(result, "%4d x%4d_%3.6f%s%s %3.6f [%s] scale(%d, %d, %d) diff(%.2f, %.2f, %.4f) ratio(%.3f, %.3f)",
-+ mode->hactive, mode->vactive, mode->vfreq, mode->interlace?"i":"p", mode->doublescan?"d":"", mode->hfreq/1000, mode->result.weight & R_RES_STRETCH?"fract":"integ",
-+ mode->result.x_scale, mode->result.y_scale, mode->result.v_scale, mode->result.x_diff, mode->result.y_diff, mode->result.v_diff, mode->result.x_ratio, mode->result.y_ratio);
-+ return result;
-+}
-+
-+//============================================================
-+// modeline_compare
-+//============================================================
-+
-+int modeline_compare(modeline *t, modeline *best)
-+{
-+ bool vector = (t->hactive == (int)t->result.x_ratio);
-+
-+ if (t->result.weight < best->result.weight)
-+ return 1;
-+
-+ else if (t->result.weight <= best->result.weight)
-+ {
-+ float t_v_diff = fabs(t->result.v_diff);
-+ float b_v_diff = fabs(best->result.v_diff);
-+
-+ if (t->result.weight & R_RES_STRETCH || vector)
-+ {
-+ float t_y_score = t->result.y_ratio * (t->interlace?(2.0/3.0):1.0);
-+ float b_y_score = best->result.y_ratio * (best->interlace?(2.0/3.0):1.0);
-+
-+ if ((t_v_diff < b_v_diff) ||
-+ ((t_v_diff == b_v_diff) && (t_y_score > b_y_score)) ||
-+ ((t_v_diff == b_v_diff) && (t_y_score == b_y_score) && (t->result.x_ratio > best->result.x_ratio)))
-+ return 1;
-+ }
-+ else
-+ {
-+ int t_y_score = t->result.y_scale + t->interlace + t->doublescan;
-+ int b_y_score = best->result.y_scale + best->interlace + best->doublescan;
-+ float xy_diff = roundf((t->result.x_diff + t->result.y_diff) * 100) / 100;
-+ float best_xy_diff = roundf((best->result.x_diff + best->result.y_diff) * 100) / 100;
-+
-+ if ((t_y_score < b_y_score) ||
-+ ((t_y_score == b_y_score) && (xy_diff < best_xy_diff)) ||
-+ ((t_y_score == b_y_score) && (xy_diff == best_xy_diff) && (t->result.x_scale < best->result.x_scale)) ||
-+ ((t_y_score == b_y_score) && (xy_diff == best_xy_diff) && (t->result.x_scale == best->result.x_scale) && (t_v_diff < b_v_diff)))
-+ return 1;
-+ }
-+ }
-+ return 0;
-+}
-+
-+//============================================================
-+// modeline_vesa_gtf
-+// Based on the VESA GTF spreadsheet by Andy Morrish 1/5/97
-+//============================================================
-+
-+int modeline_vesa_gtf(modeline *m)
-+{
-+ int C, M;
-+ int v_sync_lines, v_porch_lines_min, v_front_porch_lines, v_back_porch_lines, v_sync_v_back_porch_lines, v_total_lines;
-+ int h_sync_width_percent, h_sync_width_pixels, h_blanking_pixels, h_front_porch_pixels, h_total_pixels;
-+ float v_freq, v_freq_est, v_freq_real, v_sync_v_back_porch;
-+ float h_freq, h_period, h_period_real, h_ideal_blanking;
-+ float pixel_freq, interlace;
-+
-+ // Check if there's a value defined for vfreq. We're assuming input vfreq is the total field vfreq regardless interlace
-+ v_freq = m->vfreq? m->vfreq:float(m->refresh);
-+
-+ // These values are GTF defined defaults
-+ v_sync_lines = 3;
-+ v_porch_lines_min = 1;
-+ v_front_porch_lines = v_porch_lines_min;
-+ v_sync_v_back_porch = 550;
-+ h_sync_width_percent = 8;
-+ M = 128.0 / 256 * 600;
-+ C = ((40 - 20) * 128.0 / 256) + 20;
-+
-+ // GTF calculation
-+ interlace = m->interlace?0.5:0;
-+ h_period = ((1.0 / v_freq) - (v_sync_v_back_porch / 1000000)) / ((float)m->height + v_front_porch_lines + interlace) * 1000000;
-+ v_sync_v_back_porch_lines = round_near(v_sync_v_back_porch / h_period);
-+ v_back_porch_lines = v_sync_v_back_porch_lines - v_sync_lines;
-+ v_total_lines = m->height + v_front_porch_lines + v_sync_lines + v_back_porch_lines;
-+ v_freq_est = (1.0 / h_period) / v_total_lines * 1000000;
-+ h_period_real = h_period / (v_freq / v_freq_est);
-+ v_freq_real = (1.0 / h_period_real) / v_total_lines * 1000000;
-+ h_ideal_blanking = float(C - (M * h_period_real / 1000));
-+ h_blanking_pixels = round_near(m->width * h_ideal_blanking /(100 - h_ideal_blanking) / (2 * 8)) * (2 * 8);
-+ h_total_pixels = m->width + h_blanking_pixels;
-+ pixel_freq = h_total_pixels / h_period_real * 1000000;
-+ h_freq = 1000000 / h_period_real;
-+ h_sync_width_pixels = round_near(h_sync_width_percent * h_total_pixels / 100 / 8) * 8;
-+ h_front_porch_pixels = (h_blanking_pixels / 2) - h_sync_width_pixels;
-+
-+ // Results
-+ m->hactive = m->width;
-+ m->hbegin = m->hactive + h_front_porch_pixels;
-+ m->hend = m->hbegin + h_sync_width_pixels;
-+ m->htotal = h_total_pixels;
-+ m->vactive = m->height;
-+ m->vbegin = m->vactive + v_front_porch_lines;
-+ m->vend = m->vbegin + v_sync_lines;
-+ m->vtotal = v_total_lines;
-+ m->hfreq = h_freq;
-+ m->vfreq = v_freq_real;
-+ m->pclock = pixel_freq;
-+ m->hsync = 0;
-+ m->vsync = 1;
-+
-+ return true;
-+}
-+
-+//============================================================
-+// modeline_parse
-+//============================================================
-+
-+int modeline_parse(const char *user_modeline, modeline *mode)
-+{
-+ char modeline_txt[256]={'\x00'};
-+
-+ if (strcmp(user_modeline, "auto"))
-+ {
-+ // Remove quotes
-+ char *quote_start, *quote_end;
-+ quote_start = strstr((char*)user_modeline, "\"");
-+ if (quote_start)
-+ {
-+ quote_start++;
-+ quote_end = strstr(quote_start, "\"");
-+ if (!quote_end || *quote_end++ == 0)
-+ return false;
-+ user_modeline = quote_end;
-+ }
-+
-+ // Get timing flags
-+ mode->interlace = strstr(user_modeline, "interlace")?1:0;
-+ mode->doublescan = strstr(user_modeline, "doublescan")?1:0;
-+ mode->hsync = strstr(user_modeline, "+hsync")?1:0;
-+ mode->vsync = strstr(user_modeline, "+vsync")?1:0;
-+
-+ // Get timing values
-+ float pclock;
-+ int e = sscanf(user_modeline, " %f %d %d %d %d %d %d %d %d",
-+ &pclock,
-+ &mode->hactive, &mode->hbegin, &mode->hend, &mode->htotal,
-+ &mode->vactive, &mode->vbegin, &mode->vend, &mode->vtotal);
-+
-+ if (e != 9)
-+ {
-+ osd_printf_error("SwitchRes: missing parameter in user modeline\n %s\n", user_modeline);
-+ memset(mode, 0, sizeof(struct modeline));
-+ return false;
-+ }
-+
-+ // Calculate timings
-+ mode->pclock = pclock * 1000000.0;
-+ mode->hfreq = mode->pclock / mode->htotal;
-+ mode->vfreq = mode->hfreq / mode->vtotal * (mode->interlace?2:1);
-+ mode->refresh = mode->vfreq;
-+ osd_printf_verbose("SwitchRes: user modeline %s\n", modeline_print(mode, modeline_txt, MS_FULL));
-+ }
-+ return true;
-+}
-+
-+//============================================================
-+// modeline_to_monitor_range
-+//============================================================
-+
-+int modeline_to_monitor_range(monitor_range *range, modeline *mode)
-+{
-+ if (range->vfreq_min == 0)
-+ {
-+ range->vfreq_min = mode->vfreq - 0.2;
-+ range->vfreq_max = mode->vfreq + 0.2;
-+ }
-+
-+ float line_time = 1 / mode->hfreq;
-+ float pixel_time = line_time / mode->htotal * 1000000;
-+
-+ range->hfront_porch = pixel_time * (mode->hbegin - mode->hactive);
-+ range->hsync_pulse = pixel_time * (mode->hend - mode->hbegin);
-+ range->hback_porch = pixel_time * (mode->htotal - mode->hend);
-+
-+ range->vfront_porch = line_time * (mode->vbegin - mode->vactive);
-+ range->vsync_pulse = line_time * (mode->vend - mode->vbegin);
-+ range->vback_porch = line_time * (mode->vtotal - mode->vend);
-+ range->vertical_blank = range->vfront_porch + range->vsync_pulse + range->vback_porch;
-+
-+ range->hsync_polarity = mode->hsync;
-+ range->vsync_polarity = mode->vsync;
-+
-+ range->progressive_lines_min = mode->interlace?0:mode->vactive;
-+ range->progressive_lines_max = mode->interlace?0:mode->vactive;
-+ range->interlaced_lines_min = mode->interlace?mode->vactive:0;
-+ range->interlaced_lines_max= mode->interlace?mode->vactive:0;
-+
-+ range->hfreq_min = range->vfreq_min * mode->vtotal;
-+ range->hfreq_max = range->vfreq_max * mode->vtotal;
-+
-+ return 1;
-+}
-+
-+//============================================================
-+// round_near
-+//============================================================
-+
-+int round_near(double number)
-+{
-+ return number < 0.0 ? ceil(number - 0.5) : floor(number + 0.5);
-+}
-diff --git a/src/emu/switchres/modeline.h b/src/emu/switchres/modeline.h
-new file mode 100644
-index 00000000000..ef59b98cd4a
---- /dev/null
-+++ b/src/emu/switchres/modeline.h
-@@ -0,0 +1,118 @@
-+/**************************************************************
-+
-+ modeline.h - Modeline generation header
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#ifndef __MODELINE_H__
-+#define __MODELINE_H__
-+
-+#include "monitor.h"
-+
-+//============================================================
-+// CONSTANTS
-+//============================================================
-+
-+// Modeline print flags
-+#define MS_LABEL 0x00000001
-+#define MS_LABEL_SDL 0x00000002
-+#define MS_PARAMS 0x00000004
-+#define MS_FULL MS_LABEL | MS_PARAMS
-+
-+// Modeline result
-+#define R_V_FREQ_OFF 0x00000001
-+#define R_RES_STRETCH 0x00000002
-+#define R_OUT_OF_RANGE 0x00000004
-+
-+// Modeline commands
-+#define MODELINE_DELETE 0x001
-+#define MODELINE_CREATE 0x002
-+#define MODELINE_UPDATE 0x004
-+#define MODELINE_UPDATE_LIST 0x008
-+
-+// Mode types
-+#define MODE_OK 0x00000000
-+#define MODE_DESKTOP 0x10000000
-+#define MODE_ROTATED 0x20000000
-+#define MODE_DISABLED 0x40000000
-+#define MODE_USER_DEF 0x80000000
-+#define V_FREQ_EDITABLE 0x00000001
-+#define X_RES_EDITABLE 0x00000002
-+#define Y_RES_EDITABLE 0x00000004
-+#define XYV_EDITABLE (X_RES_EDITABLE | Y_RES_EDITABLE | V_FREQ_EDITABLE )
-+
-+#define DUMMY_WIDTH 1234
-+#define MAX_MODELINES 256
-+
-+//============================================================
-+// TYPE DEFINITIONS
-+//============================================================
-+
-+typedef struct mode_result
-+{
-+ int weight;
-+ int x_scale;
-+ int y_scale;
-+ int v_scale;
-+ float x_diff;
-+ float y_diff;
-+ float v_diff;
-+ float x_ratio;
-+ float y_ratio;
-+ float v_ratio;
-+ bool rotated;
-+} mode_result;
-+
-+typedef struct modeline
-+{
-+ uint64_t pclock;
-+ int hactive;
-+ int hbegin;
-+ int hend;
-+ int htotal;
-+ int vactive;
-+ int vbegin;
-+ int vend;
-+ int vtotal;
-+ int interlace;
-+ int doublescan;
-+ int hsync;
-+ int vsync;
-+ //
-+ double vfreq;
-+ double hfreq;
-+ //
-+ int width;
-+ int height;
-+ int refresh;
-+ int refresh_label;
-+ //
-+ int type;
-+ int range;
-+ //
-+ mode_result result;
-+} modeline;
-+
-+//============================================================
-+// PROTOTYPES
-+//============================================================
-+
-+int modeline_create(modeline *s_mode, modeline *t_mode, monitor_range *range, config_settings *cs);
-+int modeline_compare(modeline *t_mode, modeline *best_mode);
-+char * modeline_print(modeline *mode, char *modeline, int flags);
-+char * modeline_result(modeline *mode, char *result);
-+int modeline_vesa_gtf(modeline *m);
-+int modeline_parse(const char *user_modeline, modeline *mode);
-+int modeline_to_monitor_range(monitor_range *range, modeline *mode);
-+
-+#endif
-diff --git a/src/emu/switchres/monitor.cpp b/src/emu/switchres/monitor.cpp
-new file mode 100644
-index 00000000000..4a83d1802eb
---- /dev/null
-+++ b/src/emu/switchres/monitor.cpp
-@@ -0,0 +1,481 @@
-+/**************************************************************
-+
-+ monitor.cpp - Monitor presets and custom monitor definition
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#include "emu.h"
-+
-+//============================================================
-+// CONSTANTS
-+//============================================================
-+
-+#define HFREQ_MIN 14000
-+#define HFREQ_MAX 540672 // 8192 * 1.1 * 60
-+#define VFREQ_MIN 40
-+#define VFREQ_MAX 200
-+#define PROGRESSIVE_LINES_MIN 128
-+
-+//============================================================
-+// monitor_fill_range
-+//============================================================
-+
-+int monitor_fill_range(monitor_range *range, const char *specs_line)
-+{
-+ monitor_range new_range;
-+
-+ if (strcmp(specs_line, "auto")) {
-+ int e = sscanf(specs_line, "%lf-%lf,%lf-%lf,%lf,%lf,%lf,%lf,%lf,%lf,%d,%d,%d,%d,%d,%d",
-+ &new_range.hfreq_min, &new_range.hfreq_max,
-+ &new_range.vfreq_min, &new_range.vfreq_max,
-+ &new_range.hfront_porch, &new_range.hsync_pulse, &new_range.hback_porch,
-+ &new_range.vfront_porch, &new_range.vsync_pulse, &new_range.vback_porch,
-+ &new_range.hsync_polarity, &new_range.vsync_polarity,
-+ &new_range.progressive_lines_min, &new_range.progressive_lines_max,
-+ &new_range.interlaced_lines_min, &new_range.interlaced_lines_max);
-+
-+ if (e != 16) {
-+ osd_printf_error("SwitchRes: Error trying to fill monitor range with\n %s\n", specs_line);
-+ return -1;
-+ }
-+
-+ new_range.vfront_porch /= 1000;
-+ new_range.vsync_pulse /= 1000;
-+ new_range.vback_porch /= 1000;
-+ new_range.vertical_blank = (new_range.vfront_porch + new_range.vsync_pulse + new_range.vback_porch);
-+
-+ if (monitor_evaluate_range(&new_range))
-+ {
-+ osd_printf_error("SwitchRes: Error in monitor range (ignoring): %s\n", specs_line);
-+ return -1;
-+ }
-+ else
-+ {
-+ memcpy(range, &new_range, sizeof(struct monitor_range));
-+ monitor_show_range(range);
-+ }
-+ }
-+ return 0;
-+}
-+
-+//============================================================
-+// monitor_fill_lcd_range
-+//============================================================
-+
-+int monitor_fill_lcd_range(monitor_range *range, const char *specs_line)
-+{
-+ if (strcmp(specs_line, "auto"))
-+ {
-+ if (sscanf(specs_line, "%lf-%lf", &range->vfreq_min, &range->vfreq_max) == 2)
-+ {
-+ osd_printf_verbose("SwitchRes: LCD vfreq range set by user as %f-%f\n", range->vfreq_min, range->vfreq_max);
-+ return true;
-+ }
-+ else
-+ osd_printf_error("SwitchRes: Error trying to fill LCD range with\n %s\n", specs_line);
-+ }
-+ // Use default values
-+ range->vfreq_min = 59;
-+ range->vfreq_max = 61;
-+ osd_printf_verbose("SwitchRes: Using default vfreq range for LCD %f-%f\n", range->vfreq_min, range->vfreq_max);
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// monitor_fill_vesa_gtf
-+//============================================================
-+
-+int monitor_fill_vesa_gtf(monitor_range *range, const char *max_lines)
-+{
-+ int lines = 0;
-+ sscanf(max_lines, "vesa_%d", &lines);
-+
-+ if (!lines)
-+ return 0;
-+
-+ int i = 0;
-+ if (lines >= 480)
-+ i += monitor_fill_vesa_range(&range[i], 384, 480);
-+ if (lines >= 600)
-+ i += monitor_fill_vesa_range(&range[i], 480, 600);
-+ if (lines >= 768)
-+ i += monitor_fill_vesa_range(&range[i], 600, 768);
-+ if (lines >= 1024)
-+ i += monitor_fill_vesa_range(&range[i], 768, 1024);
-+
-+ return i;
-+}
-+
-+//============================================================
-+// monitor_fill_vesa_range
-+//============================================================
-+
-+int monitor_fill_vesa_range(monitor_range *range, int lines_min, int lines_max)
-+{
-+ modeline mode;
-+ memset(&mode, 0, sizeof(modeline));
-+
-+ mode.width = real_res(STANDARD_CRT_ASPECT * lines_max);
-+ mode.height = lines_max;
-+ mode.refresh = 60;
-+ range->vfreq_min = 50;
-+ range->vfreq_max = 65;
-+
-+ modeline_vesa_gtf(&mode);
-+ modeline_to_monitor_range(range, &mode);
-+
-+ range->progressive_lines_min = lines_min;
-+ range->hfreq_min = mode.hfreq - 500;
-+ range->hfreq_max = mode.hfreq + 500;
-+ monitor_show_range(range);
-+
-+ return 1;
-+}
-+
-+//============================================================
-+// monitor_show_range
-+//============================================================
-+
-+int monitor_show_range(monitor_range *range)
-+{
-+ osd_printf_verbose("SwitchRes: Monitor range %.2f-%.2f,%.2f-%.2f,%.3f,%.3f,%.3f,%.3f,%.3f,%.3f,%d,%d,%d,%d,%d,%d\n",
-+ range->hfreq_min, range->hfreq_max,
-+ range->vfreq_min, range->vfreq_max,
-+ range->hfront_porch, range->hsync_pulse, range->hback_porch,
-+ range->vfront_porch * 1000, range->vsync_pulse * 1000, range->vback_porch * 1000,
-+ range->hsync_polarity, range->vsync_polarity,
-+ range->progressive_lines_min, range->progressive_lines_max,
-+ range->interlaced_lines_min, range->interlaced_lines_max);
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// monitor_set_preset
-+//============================================================
-+
-+int monitor_set_preset(char *type, monitor_range *range)
-+{
-+ // PAL TV - 50 Hz/625
-+ if (!strcmp(type, "pal"))
-+ {
-+ monitor_fill_range(&range[0], "15625.00-15625.00, 50.00-50.00, 1.500, 4.700, 5.800, 0.064, 0.160, 1.056, 0, 0, 192, 288, 448, 576");
-+ return 1;
-+ }
-+ // NTSC TV - 60 Hz/525
-+ else if (!strcmp(type, "ntsc"))
-+ {
-+ monitor_fill_range(&range[0], "15734.26-15734.26, 59.94-59.94, 1.500, 4.700, 4.700, 0.191, 0.191, 0.953, 0, 0, 192, 240, 448, 480");
-+ return 1;
-+ }
-+ // Generic 15.7 kHz
-+ else if (!strcmp(type, "generic_15"))
-+ {
-+ monitor_fill_range(&range[0], "15625-15750, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576");
-+ return 1;
-+ }
-+ // Arcade 15.7 kHz - standard resolution
-+ else if (!strcmp(type, "arcade_15"))
-+ {
-+ monitor_fill_range(&range[0], "15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576");
-+ return 1;
-+ }
-+ // Arcade 15.7-16.5 kHz - extended resolution
-+ else if (!strcmp(type, "arcade_15ex"))
-+ {
-+ monitor_fill_range(&range[0], "15625-16500, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576");
-+ return 1;
-+ }
-+ // Arcade 25.0 kHz - medium resolution
-+ else if (!strcmp(type, "arcade_25"))
-+ {
-+ monitor_fill_range(&range[0], "24960-24960, 49.50-65.00, 0.800, 4.000, 3.200, 0.080, 0.200, 1.000, 0, 0, 384, 400, 768, 800");
-+ return 1;
-+ }
-+ // Arcade 31.5 kHz - medium resolution
-+ else if (!strcmp(type, "arcade_31"))
-+ {
-+ monitor_fill_range(&range[0], "31400-31500, 49.50-65.00, 0.940, 3.770, 1.890, 0.349, 0.064, 1.017, 0, 0, 400, 512, 0, 0");
-+ return 1;
-+ }
-+ // Arcade 15.7/25.0 kHz - dual-sync
-+ else if (!strcmp(type, "arcade_15_25"))
-+ {
-+ monitor_fill_range(&range[0], "15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576");
-+ monitor_fill_range(&range[1], "24960-24960, 49.50-65.00, 0.800, 4.000, 3.200, 0.080, 0.200, 1.000, 0, 0, 384, 400, 768, 800");
-+ return 2;
-+ }
-+ // Arcade 15.7/31.5 kHz - dual-sync
-+ else if (!strcmp(type, "arcade_15_31"))
-+ {
-+ monitor_fill_range(&range[0], "15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576");
-+ monitor_fill_range(&range[1], "31400-31500, 49.50-65.00, 0.940, 3.770, 1.890, 0.349, 0.064, 1.017, 0, 0, 400, 512, 0, 0");
-+ return 2;
-+ }
-+ // Arcade 15.7/25.0/31.5 kHz - tri-sync
-+ else if (!strcmp(type, "arcade_15_25_31"))
-+ {
-+ monitor_fill_range(&range[0], "15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.192, 1.024, 0, 0, 192, 288, 448, 576");
-+ monitor_fill_range(&range[1], "24960-24960, 49.50-65.00, 0.800, 4.000, 3.200, 0.080, 0.200, 1.000, 0, 0, 384, 400, 768, 800");
-+ monitor_fill_range(&range[2], "31400-31500, 49.50-65.00, 0.940, 3.770, 1.890, 0.349, 0.064, 1.017, 0, 0, 400, 512, 0, 0");
-+ return 3;
-+ }
-+ // Makvision 2929D
-+ else if (!strcmp(type, "m2929"))
-+ {
-+ monitor_fill_range(&range[0], "30000-40000, 47.00-90.00, 0.600, 2.500, 2.800, 0.032, 0.096, 0.448, 0, 0, 384, 640, 0, 0");
-+ return 1;
-+ }
-+ // Wells Gardner D9800, D9400
-+ else if (!strcmp(type, "d9800") || !strcmp(type, "d9400"))
-+ {
-+ monitor_fill_range(&range[0], "15250-18000, 40-80, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 0, 0, 224, 288, 448, 576");
-+ monitor_fill_range(&range[1], "18001-19000, 40-80, 2.187, 4.688, 6.719, 0.140, 0.191, 0.950, 0, 0, 288, 320, 0, 0");
-+ monitor_fill_range(&range[2], "20501-29000, 40-80, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 320, 384, 0, 0");
-+ monitor_fill_range(&range[3], "29001-32000, 40-80, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 0, 0, 384, 480, 0, 0");
-+ monitor_fill_range(&range[4], "32001-34000, 40-80, 0.636, 3.813, 1.906, 0.020, 0.106, 0.607, 0, 0, 480, 576, 0, 0");
-+ monitor_fill_range(&range[5], "34001-38000, 40-80, 1.000, 3.200, 2.200, 0.020, 0.106, 0.607, 0, 0, 576, 600, 0, 0");
-+ return 6;
-+ }
-+ // Wells Gardner D9200
-+ else if (!strcmp(type, "d9200"))
-+ {
-+ monitor_fill_range(&range[0], "15250-16500, 40-80, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 0, 0, 224, 288, 448, 576");
-+ monitor_fill_range(&range[1], "23900-24420, 40-80, 2.910, 3.000, 4.440, 0.451, 0.164, 1.148, 0, 0, 384, 400, 0, 0");
-+ monitor_fill_range(&range[2], "31000-32000, 40-80, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 0, 0, 400, 512, 0, 0");
-+ monitor_fill_range(&range[3], "37000-38000, 40-80, 1.000, 3.200, 2.200, 0.020, 0.106, 0.607, 0, 0, 512, 600, 0, 0");
-+ return 4;
-+ }
-+ // Wells Gardner K7000
-+ else if (!strcmp(type, "k7000"))
-+ {
-+ monitor_fill_range(&range[0], "15625-15800, 49.50-63.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 192, 288, 448, 576");
-+ return 1;
-+ }
-+ // Wells Gardner 25K7131
-+ else if (!strcmp(type, "k7131"))
-+ {
-+ monitor_fill_range(&range[0], "15625-16670, 49.5-65, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 192, 288, 448, 576");
-+ return 1;
-+ }
-+ // Wei-Ya M3129
-+ else if (!strcmp(type, "m3129"))
-+ {
-+ monitor_fill_range(&range[0], "15250-16500, 40-80, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 1, 1, 192, 288, 448, 576");
-+ monitor_fill_range(&range[1], "23900-24420, 40-80, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 1, 1, 384, 400, 0, 0");
-+ monitor_fill_range(&range[2], "31000-32000, 40-80, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 1, 1, 400, 512, 0, 0");
-+ return 3;
-+ }
-+ // Hantarex MTC 9110
-+ else if (!strcmp(type, "h9110") || !strcmp(type, "polo"))
-+ {
-+ monitor_fill_range(&range[0], "15625-16670, 49.5-65, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 192, 288, 448, 576");
-+ return 1;
-+ }
-+ // Hantarex Polostar 25
-+ else if (!strcmp(type, "pstar"))
-+ {
-+ monitor_fill_range(&range[0], "15700-15800, 50-65, 1.800, 0.400, 7.400, 0.064, 0.160, 1.056, 0, 0, 192, 256, 0, 0");
-+ monitor_fill_range(&range[1], "16200-16300, 50-65, 0.200, 0.400, 8.000, 0.040, 0.040, 0.640, 0, 0, 256, 264, 512, 528");
-+ monitor_fill_range(&range[2], "25300-25400, 50-65, 0.200, 0.400, 8.000, 0.040, 0.040, 0.640, 0, 0, 384, 400, 768, 800");
-+ monitor_fill_range(&range[3], "31500-31600, 50-65, 0.170, 0.350, 5.500, 0.040, 0.040, 0.640, 0, 0, 400, 512, 0, 0");
-+ return 4;
-+ }
-+ // Nanao MS-2930, MS-2931
-+ else if (!strcmp(type, "ms2930"))
-+ {
-+ monitor_fill_range(&range[0], "15450-16050, 50-65, 3.190, 4.750, 6.450, 0.191, 0.191, 1.164, 0, 0, 192, 288, 448, 576");
-+ monitor_fill_range(&range[1], "23900-24900, 50-65, 2.870, 3.000, 4.440, 0.451, 0.164, 1.148, 0, 0, 384, 400, 0, 0");
-+ monitor_fill_range(&range[2], "31000-32000, 50-65, 0.330, 3.580, 1.750, 0.316, 0.063, 1.137, 0, 0, 480, 512, 0, 0");
-+ return 3;
-+ }
-+ // Nanao MS9-29
-+ else if (!strcmp(type, "ms929"))
-+ {
-+ monitor_fill_range(&range[0], "15450-16050, 50-65, 3.910, 4.700, 6.850, 0.190, 0.191, 1.018, 0, 0, 192, 288, 448, 576");
-+ monitor_fill_range(&range[1], "23900-24900, 50-65, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 384, 400, 0, 0");
-+ return 2;
-+ }
-+ // Rodotron 666B-29
-+ else if (!strcmp(type, "r666b"))
-+ {
-+ monitor_fill_range(&range[0], "15450-16050, 50-65, 3.190, 4.750, 6.450, 0.191, 0.191, 1.164, 0, 0, 192, 288, 448, 576");
-+ monitor_fill_range(&range[1], "23900-24900, 50-65, 2.870, 3.000, 4.440, 0.451, 0.164, 1.148, 0, 0, 384, 400, 0, 0");
-+ monitor_fill_range(&range[2], "31000-32500, 50-65, 0.330, 3.580, 1.750, 0.316, 0.063, 1.137, 0, 0, 400, 512, 0, 0");
-+ return 3;
-+ }
-+ // PC CRT 70kHz/120Hz
-+ else if (!strcmp(type, "pc_31_120"))
-+ {
-+ monitor_fill_range(&range[0], "31400-31600, 100-130, 0.671, 2.683, 3.353, 0.034, 0.101, 0.436, 0, 0, 200, 256, 0, 0");
-+ monitor_fill_range(&range[1], "31400-31600, 50-65, 0.671, 2.683, 3.353, 0.034, 0.101, 0.436, 0, 0, 400, 512, 0, 0");
-+ return 2;
-+ }
-+ // PC CRT 70kHz/120Hz
-+ else if (!strcmp(type, "pc_70_120"))
-+ {
-+ monitor_fill_range(&range[0], "30000-70000, 100-130, 2.201, 0.275, 4.678, 0.063, 0.032, 0.633, 0, 0, 192, 320, 0, 0");
-+ monitor_fill_range(&range[1], "30000-70000, 50-65, 2.201, 0.275, 4.678, 0.063, 0.032, 0.633, 0, 0, 400, 1024, 0, 0");
-+ return 2;
-+ }
-+ // VESA GTF
-+ else if (!strcmp(type, "vesa_480") || !strcmp(type, "vesa_600") || !strcmp(type, "vesa_768") || !strcmp(type, "vesa_1024"))
-+ {
-+ return monitor_fill_vesa_gtf(&range[0], type);
-+ }
-+
-+ osd_printf_error("SwitchRes: Monitor type unknown: %s\n", type);
-+ return 0;
-+}
-+
-+//============================================================
-+// monitor_evaluate_range
-+//============================================================
-+
-+int monitor_evaluate_range(monitor_range *range)
-+{
-+ // First we check that all frequency ranges are reasonable
-+ if (range->hfreq_min < HFREQ_MIN || range->hfreq_min > HFREQ_MAX)
-+ {
-+ osd_printf_error("SwitchRes: hfreq_min %.2f out of range\n", range->hfreq_min);
-+ return 1;
-+ }
-+ if (range->hfreq_max < HFREQ_MIN || range->hfreq_max < range->hfreq_min || range->hfreq_max > HFREQ_MAX)
-+ {
-+ osd_printf_error("SwitchRes: hfreq_max %.2f out of range\n", range->hfreq_max);
-+ return 1;
-+ }
-+ if (range->vfreq_min < VFREQ_MIN || range->vfreq_min > VFREQ_MAX)
-+ {
-+ osd_printf_error("SwitchRes: vfreq_min %.2f out of range\n", range->vfreq_min);
-+ return 1;
-+ }
-+ if (range->vfreq_max < VFREQ_MIN || range->vfreq_max < range->vfreq_min || range->vfreq_max > VFREQ_MAX)
-+ {
-+ osd_printf_error("SwitchRes: vfreq_max %.2f out of range\n", range->vfreq_max);
-+ return 1;
-+ }
-+
-+ // line_time in µs. We check that no horizontal value is longer than a whole line
-+ double line_time = 1 / range->hfreq_max * 1000000;
-+
-+ if (range->hfront_porch <= 0 || range->hfront_porch > line_time)
-+ {
-+ osd_printf_error("SwitchRes: hfront_porch %.3f out of range\n", range->hfront_porch);
-+ return 1;
-+ }
-+ if (range->hsync_pulse <= 0 || range->hsync_pulse > line_time)
-+ {
-+ osd_printf_error("SwitchRes: hsync_pulse %.3f out of range\n", range->hsync_pulse);
-+ return 1;
-+ }
-+ if (range->hback_porch <= 0 || range->hback_porch > line_time)
-+ {
-+ osd_printf_error("SwitchRes: hback_porch %.3f out of range\n", range->hback_porch);
-+ return 1;
-+ }
-+
-+ // frame_time in ms. We check that no vertical value is longer than a whole frame
-+ double frame_time = 1 / range->vfreq_max * 1000;
-+
-+ if (range->vfront_porch <= 0 || range->vfront_porch > frame_time)
-+ {
-+ osd_printf_error("SwitchRes: vfront_porch %.3f out of range\n", range->vfront_porch);
-+ return 1;
-+ }
-+ if (range->vsync_pulse <= 0 || range->vsync_pulse > frame_time)
-+ {
-+ osd_printf_error("SwitchRes: vsync_pulse %.3f out of range\n", range->vsync_pulse);
-+ return 1;
-+ }
-+ if (range->vback_porch <= 0 || range->vback_porch > frame_time)
-+ {
-+ osd_printf_error("SwitchRes: vback_porch %.3f out of range\n", range->vback_porch);
-+ return 1;
-+ }
-+
-+ // Now we check sync polarities
-+ if (range->hsync_polarity != 0 && range->hsync_polarity != 1)
-+ {
-+ osd_printf_error("SwitchRes: Hsync polarity can be only 0 or 1\n");
-+ return 1;
-+ }
-+ if (range->vsync_polarity != 0 && range->vsync_polarity != 1)
-+ {
-+ osd_printf_error("SwitchRes: Vsync polarity can be only 0 or 1\n");
-+ return 1;
-+ }
-+
-+ // Finally we check that the line limiters are reasonable
-+ // Progressive range:
-+ if (range->progressive_lines_min > 0 && range->progressive_lines_min < PROGRESSIVE_LINES_MIN)
-+ {
-+ osd_printf_error("SwitchRes: progressive_lines_min must be greater than %d\n", PROGRESSIVE_LINES_MIN);
-+ return 1;
-+ }
-+ if ((range->progressive_lines_min + range->hfreq_max * range->vertical_blank) * range->vfreq_min > range->hfreq_max)
-+ {
-+ osd_printf_error("SwitchRes: progressive_lines_min %d out of range\n", range->progressive_lines_min);
-+ return 1;
-+ }
-+ if (range->progressive_lines_max < range->progressive_lines_min)
-+ {
-+ osd_printf_error("SwitchRes: progressive_lines_max must greater than progressive_lines_min\n");
-+ return 1;
-+ }
-+ if ((range->progressive_lines_max + range->hfreq_max * range->vertical_blank) * range->vfreq_min > range->hfreq_max)
-+ {
-+ osd_printf_error("SwitchRes: progressive_lines_max %d out of range\n", range->progressive_lines_max);
-+ return 1;
-+ }
-+
-+ // Interlaced range:
-+ if (range->interlaced_lines_min != 0)
-+ {
-+ if (range->interlaced_lines_min < range->progressive_lines_max)
-+ {
-+ osd_printf_error("SwitchRes: interlaced_lines_min must greater than progressive_lines_max\n");
-+ return 1;
-+ }
-+ if (range->interlaced_lines_min < PROGRESSIVE_LINES_MIN * 2)
-+ {
-+ osd_printf_error("SwitchRes: interlaced_lines_min must be greater than %d\n", PROGRESSIVE_LINES_MIN * 2);
-+ return 1;
-+ }
-+ if ((range->interlaced_lines_min / 2 + range->hfreq_max * range->vertical_blank) * range->vfreq_min > range->hfreq_max)
-+ {
-+ osd_printf_error("SwitchRes: interlaced_lines_min %d out of range\n", range->interlaced_lines_min);
-+ return 1;
-+ }
-+ if (range->interlaced_lines_max < range->interlaced_lines_min)
-+ {
-+ osd_printf_error("SwitchRes: interlaced_lines_max must greater than interlaced_lines_min\n");
-+ return 1;
-+ }
-+ if ((range->interlaced_lines_max / 2 + range->hfreq_max * range->vertical_blank) * range->vfreq_min > range->hfreq_max)
-+ {
-+ osd_printf_error("SwitchRes: interlaced_lines_max %d out of range\n", range->interlaced_lines_max);
-+ return 1;
-+ }
-+ }
-+ else
-+ {
-+ if (range->interlaced_lines_max != 0)
-+ {
-+ osd_printf_error("SwitchRes: interlaced_lines_max must be zero if interlaced_lines_min is not defined\n");
-+ return 1;
-+ }
-+ }
-+ return 0;
-+}
-diff --git a/src/emu/switchres/monitor.h b/src/emu/switchres/monitor.h
-new file mode 100644
-index 00000000000..49aecf20b3d
---- /dev/null
-+++ b/src/emu/switchres/monitor.h
-@@ -0,0 +1,66 @@
-+/**************************************************************
-+
-+ monitor.h - Monitor presets header
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#ifndef __MONITOR_H__
-+#define __MONITOR_H__
-+
-+//============================================================
-+// CONSTANTS
-+//============================================================
-+
-+#define MAX_RANGES 10
-+#define MONITOR_CRT 0
-+#define MONITOR_LCD 1
-+#define STANDARD_CRT_ASPECT 4.0/3.0
-+
-+//============================================================
-+// TYPE DEFINITIONS
-+//============================================================
-+
-+typedef struct monitor_range
-+{
-+ double hfreq_min;
-+ double hfreq_max;
-+ double vfreq_min;
-+ double vfreq_max;
-+ double hfront_porch;
-+ double hsync_pulse;
-+ double hback_porch;
-+ double vfront_porch;
-+ double vsync_pulse;
-+ double vback_porch;
-+ int hsync_polarity;
-+ int vsync_polarity;
-+ int progressive_lines_min;
-+ int progressive_lines_max;
-+ int interlaced_lines_min;
-+ int interlaced_lines_max;
-+ double vertical_blank;
-+} monitor_range;
-+
-+//============================================================
-+// PROTOTYPES
-+//============================================================
-+
-+int monitor_fill_range(monitor_range *range, const char *specs_line);
-+int monitor_show_range(monitor_range *range);
-+int monitor_set_preset(char *type, monitor_range *range);
-+int monitor_fill_lcd_range(monitor_range *range, const char *specs_line);
-+int monitor_fill_vesa_gtf(monitor_range *range, const char *max_lines);
-+int monitor_fill_vesa_range(monitor_range *range, int lines_min, int lines_max);
-+int monitor_evaluate_range(monitor_range *range);
-+
-+#endif
-diff --git a/src/emu/switchres/switchres.cpp b/src/emu/switchres/switchres.cpp
-new file mode 100644
-index 00000000000..6b406a33651
---- /dev/null
-+++ b/src/emu/switchres/switchres.cpp
-@@ -0,0 +1,386 @@
-+/**************************************************************
-+
-+ switchres.cpp - SwichRes core routines
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#include "emu.h"
-+#include "emuopts.h"
-+#include "../frontend/mame/mameopts.h"
-+#include "config.h"
-+#include "rendutil.h"
-+
-+#define CUSTOM_VIDEO_TIMING_SYSTEM 0x00000010
-+
-+//============================================================
-+// PROTOTYPES
-+//============================================================
-+
-+void set_option(running_machine &machine, const char *option_ID, bool state);
-+
-+//============================================================
-+// switchres_get_video_mode
-+//============================================================
-+
-+bool switchres_get_video_mode(running_machine &machine)
-+{
-+ switchres_manager *switchres = &machine.switchres;
-+ config_settings *cs = &switchres->cs;
-+ game_info *game = &switchres->game;
-+ monitor_range *range = switchres->range;
-+ modeline *mode;
-+ modeline *mode_table = switchres->video_modes;
-+ modeline *best_mode = &switchres->best_mode;
-+ modeline *user_mode = &switchres->user_mode;
-+ modeline source_mode, *s_mode = &source_mode;
-+ modeline target_mode, *t_mode = &target_mode;
-+ char modeline[256]={'\x00'};
-+ char result[256]={'\x00'};
-+ int i = 0, j = 0, table_size = 0;
-+
-+ cs->effective_orientation = effective_orientation(machine);
-+
-+ osd_printf_verbose("SwitchRes: v%s:[%s] Calculating best video mode for %dx%d@%.6f orientation: %s\n",
-+ SWITCHRES_VERSION, game->name, game->width, game->height, game->refresh,
-+ cs->effective_orientation?"rotated":"normal");
-+
-+ memset(best_mode, 0, sizeof(struct modeline));
-+ best_mode->result.weight |= R_OUT_OF_RANGE;
-+ s_mode->hactive = game->vector?1:normalize(game->width, 8);
-+ s_mode->vactive = game->vector?1:game->height;
-+ s_mode->vfreq = game->refresh;
-+
-+ if (user_mode->hactive)
-+ {
-+ table_size = 1;
-+ mode = user_mode;
-+ }
-+ else
-+ {
-+ i = 1;
-+ table_size = MAX_MODELINES;
-+ mode = &mode_table[i];
-+ }
-+
-+ while (mode->width && i < table_size)
-+ {
-+ // apply options to mode type
-+ if (!cs->modeline_generation)
-+ mode->type &= ~XYV_EDITABLE;
-+
-+ if (cs->refresh_dont_care)
-+ mode->type |= V_FREQ_EDITABLE;
-+
-+ if (cs->lock_system_modes && (mode->type & CUSTOM_VIDEO_TIMING_SYSTEM) && !(mode->type & MODE_DESKTOP) && !(mode->type & MODE_USER_DEF))
-+ mode->type |= MODE_DISABLED;
-+
-+ osd_printf_verbose("\nSwitchRes: %s%4d%sx%s%4d%s_%s%d=%.6fHz%s%s\n",
-+ mode->type & X_RES_EDITABLE?"(":"[", mode->width, mode->type & X_RES_EDITABLE?")":"]",
-+ mode->type & Y_RES_EDITABLE?"(":"[", mode->height, mode->type & Y_RES_EDITABLE?")":"]",
-+ mode->type & V_FREQ_EDITABLE?"(":"[", mode->refresh, mode->vfreq, mode->type & V_FREQ_EDITABLE?")":"]",
-+ mode->type & MODE_DISABLED?" - locked":"");
-+
-+ // now get the mode if allowed
-+ if (!(mode->type & MODE_DISABLED))
-+ {
-+ for (j = 0 ; j < MAX_RANGES ; j++)
-+ {
-+ if (range[j].hfreq_min)
-+ {
-+ memcpy(t_mode, mode, sizeof(struct modeline));
-+ modeline_create(s_mode, t_mode, &range[j], cs);
-+ t_mode->range = j;
-+
-+ osd_printf_verbose("%s\n", modeline_result(t_mode, result));
-+
-+ if (modeline_compare(t_mode, best_mode))
-+ memcpy(best_mode, t_mode, sizeof(struct modeline));
-+ }
-+ }
-+ }
-+ mode++;
-+ i++;
-+ }
-+
-+ if (best_mode->result.weight & R_OUT_OF_RANGE)
-+ {
-+ osd_printf_error("SwitchRes: could not find a video mode that meets your specs\n");
-+ return false;
-+ }
-+
-+ osd_printf_info("\nSwitchRes: [%s] (%d) %s (%dx%d@%.6f)->(%dx%d@%.6f)\n", game->name, game->screens, game->orientation?"vertical":"horizontal",
-+ game->width, game->height, game->refresh, best_mode->hactive, best_mode->vactive, best_mode->vfreq);
-+
-+ osd_printf_verbose("%s\n", modeline_result(best_mode, result));
-+ if (cs->modeline_generation)
-+ osd_printf_verbose("SwitchRes: Modeline %s\n", modeline_print(best_mode, modeline, MS_FULL));
-+
-+ return true;
-+}
-+
-+//============================================================
-+// switchres_get_monitor_specs
-+//============================================================
-+
-+int switchres_get_monitor_specs(running_machine &machine)
-+{
-+ switchres_manager *switchres = &machine.switchres;
-+ char default_monitor[] = "generic_15";
-+
-+ memset(&switchres->range[0], 0, sizeof(struct monitor_range) * MAX_RANGES);
-+
-+ if (!strcmp(switchres->cs.monitor, "custom"))
-+ {
-+ monitor_fill_range(&switchres->range[0],machine.options().crt_range0());
-+ monitor_fill_range(&switchres->range[1],machine.options().crt_range1());
-+ monitor_fill_range(&switchres->range[2],machine.options().crt_range2());
-+ monitor_fill_range(&switchres->range[3],machine.options().crt_range3());
-+ monitor_fill_range(&switchres->range[4],machine.options().crt_range4());
-+ monitor_fill_range(&switchres->range[5],machine.options().crt_range5());
-+ monitor_fill_range(&switchres->range[6],machine.options().crt_range6());
-+ monitor_fill_range(&switchres->range[7],machine.options().crt_range7());
-+ monitor_fill_range(&switchres->range[8],machine.options().crt_range8());
-+ monitor_fill_range(&switchres->range[9],machine.options().crt_range9());
-+ }
-+ else if (!strcmp(switchres->cs.monitor, "lcd"))
-+ monitor_fill_lcd_range(&switchres->range[0],machine.options().lcd_range());
-+
-+ else if (monitor_set_preset(switchres->cs.monitor, switchres->range) == 0)
-+ monitor_set_preset(default_monitor, switchres->range);
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// switchres_init
-+//============================================================
-+
-+void switchres_init(running_machine &machine)
-+{
-+ emu_options &options = machine.options();
-+ config_settings *cs = &machine.switchres.cs;
-+ modeline *user_mode = &machine.switchres.user_mode;
-+
-+ osd_printf_verbose("SwitchRes: v%s, Monitor: %s, Orientation: %s, Modeline generation: %s\n",
-+ SWITCHRES_VERSION, options.monitor(), options.orientation(), options.modeline_generation()?"enabled":"disabled");
-+
-+ // Get user defined modeline
-+ if (options.modeline_generation())
-+ {
-+ modeline_parse(options.modeline(), user_mode);
-+ user_mode->type |= MODE_USER_DEF;
-+ }
-+
-+ // Get monitor specs
-+ sprintf(cs->monitor, "%s", options.monitor());
-+ sprintf(cs->connector, "%s", options.connector());
-+ for (int i = 0; cs->monitor[i]; i++) cs->monitor[i] = tolower(cs->monitor[i]);
-+ if (user_mode->hactive)
-+ {
-+ modeline_to_monitor_range(machine.switchres.range, user_mode);
-+ monitor_show_range(machine.switchres.range);
-+ }
-+ else
-+ switchres_get_monitor_specs(machine);
-+
-+ // Get rest of config options
-+ cs->modeline_generation = options.modeline_generation();
-+ cs->doublescan = options.doublescan();
-+ cs->interlace = options.interlace();
-+ cs->lock_system_modes = options.lock_system_modes();
-+ cs->lock_unsupported_modes = options.lock_unsupported_modes();
-+ cs->refresh_dont_care = options.refresh_dont_care();
-+ cs->super_width = options.super_width();
-+ sscanf(options.sync_refresh_tolerance(), "%f", &cs->sync_refresh_tolerance);
-+ float pclock_min;
-+ sscanf(options.dotclock_min(), "%f", &pclock_min);
-+ cs->pclock_min = pclock_min * 1000000;
-+}
-+
-+//============================================================
-+// switchres_get_game_info
-+//============================================================
-+
-+void switchres_get_game_info(running_machine &machine)
-+{
-+ emu_options &options = machine.options();
-+ game_info *game = &machine.switchres.game;
-+ const game_driver *game_drv = &machine.system();
-+ const screen_device *screen;
-+
-+ // Get game information
-+ sprintf(game->name, "%s", options.system_name());
-+ if (game->name[0] == 0) sprintf(game->name, "empty");
-+
-+ machine_config config(*game_drv, options);
-+ screen = screen_device_iterator(config.root_device()).first();
-+
-+ // Fill in current video mode settings
-+ game->orientation = effective_orientation(machine);
-+
-+ if (screen->screen_type() == SCREEN_TYPE_VECTOR)
-+ {
-+ game->vector = 1;
-+ game->width = 640;
-+ game->height = 480;
-+ }
-+
-+ // Output width and height only for games that are not vector
-+ else
-+ {
-+ const rectangle &visarea = screen->visible_area();
-+ int w = visarea.max_x - visarea.min_x + 1;
-+ int h = visarea.max_y - visarea.min_y + 1;
-+ game->width = game->orientation?h:w;
-+ game->height = game->orientation?w:h;
-+ }
-+
-+ game->refresh = ATTOSECONDS_TO_HZ(screen->refresh_attoseconds());
-+
-+ // Check for multiple screens
-+ screen_device_iterator iter(config.root_device());
-+ game->screens = iter.count();
-+}
-+
-+//============================================================
-+// effective_orientation
-+//============================================================
-+
-+bool effective_orientation(running_machine &machine)
-+{
-+ config_settings *cs = &machine.switchres.cs;
-+ const game_driver *game = &machine.system();
-+ emu_options &options = machine.options();
-+ render_target *target = machine.render().first_target();
-+ bool game_orientation = ((game->flags & machine_flags::MASK_ORIENTATION) & ORIENTATION_SWAP_XY);
-+
-+ if (target)
-+ cs->monitor_orientation = ((target->orientation() & machine_flags::MASK_ORIENTATION) & ORIENTATION_SWAP_XY? 1:0) ^ cs->desktop_rotated;
-+ else if (!strcmp(options.orientation(), "horizontal"))
-+ cs->monitor_orientation = 0;
-+ else if (!strcmp(options.orientation(), "vertical"))
-+ cs->monitor_orientation = 1;
-+ else if (!strcmp(options.orientation(), "rotate") || !strcmp(options.orientation(), "rotate_r"))
-+ {
-+ cs->monitor_orientation = game_orientation;
-+ cs->monitor_rotates_cw = 0;
-+ }
-+ else if (!strcmp(options.orientation(), "rotate_l"))
-+ {
-+ cs->monitor_orientation = game_orientation;
-+ cs->monitor_rotates_cw = 1;
-+ }
-+
-+ return game_orientation ^ cs->monitor_orientation;
-+}
-+
-+//============================================================
-+// switchres_check_resolution_change
-+//============================================================
-+
-+bool switchres_check_resolution_change(running_machine &machine)
-+{
-+ game_info *game = &machine.switchres.game;
-+ config_settings *cs = &machine.switchres.cs;
-+
-+ int new_width = game->width;
-+ int new_height = game->height;
-+ float new_vfreq = game->refresh;
-+ bool new_orientation = effective_orientation(machine);
-+
-+ screen_device_iterator scriter(machine.root_device());
-+ if (scriter.count())
-+ {
-+ screen_device *screen = scriter.first();
-+ if (screen->frame_number())
-+ {
-+ const rectangle &visarea = screen->visible_area();
-+ new_width = new_orientation? visarea.height() : visarea.width();
-+ new_height = new_orientation? visarea.width() : visarea.height();
-+ new_vfreq = ATTOSECONDS_TO_HZ(screen->frame_period().m_attoseconds);
-+ }
-+ }
-+
-+ if (game->width != new_width || game->height != new_height || new_vfreq != game->refresh || cs->effective_orientation != new_orientation)
-+ {
-+ osd_printf_verbose("SwitchRes: Resolution change from %dx%d@%f %s to %dx%d@%f %s\n",
-+ game->width, game->height, game->refresh, cs->effective_orientation?"rotated":"normal", new_width, new_height, new_vfreq, new_orientation?"rotated":"normal");
-+
-+ game->width = new_width;
-+ game->height = new_height;
-+ game->refresh = new_vfreq;
-+
-+ return true;
-+ }
-+ return false;
-+}
-+
-+//============================================================
-+// switchres_set_options
-+//============================================================
-+
-+void switchres_set_options(running_machine &machine)
-+{
-+ config_settings *cs = &machine.switchres.cs;
-+ bool native_orientation = ((machine.system().flags & machine_flags::MASK_ORIENTATION) & ORIENTATION_SWAP_XY);
-+ bool must_rotate = effective_orientation(machine) ^ cs->desktop_rotated;
-+ modeline *best_mode = &machine.switchres.best_mode;
-+
-+ // Set rotation options
-+ set_option(machine, OPTION_ROTATE, true);
-+ if (cs->monitor_rotates_cw)
-+ {
-+ set_option(machine, OPTION_ROL, (!native_orientation & must_rotate));
-+ set_option(machine, OPTION_AUTOROL, !must_rotate);
-+ set_option(machine, OPTION_ROR, false);
-+ set_option(machine, OPTION_AUTOROR, false);
-+ }
-+ else
-+ {
-+ set_option(machine, OPTION_ROR, (!native_orientation & must_rotate));
-+ set_option(machine, OPTION_AUTOROR, !must_rotate);
-+ set_option(machine, OPTION_ROL, false);
-+ set_option(machine, OPTION_AUTOROL, false);
-+ }
-+
-+ // Set scaling/stretching options
-+ set_option(machine, OPTION_KEEPASPECT, true);
-+ set_option(machine, OPTION_UNEVENSTRETCH, best_mode->result.weight & R_RES_STRETCH);
-+ set_option(machine, OPTION_UNEVENSTRETCHX, (!(best_mode->result.weight & R_RES_STRETCH) && (best_mode->width >= machine.options().super_width())));
-+
-+ // Update target if it's already initialized
-+ render_target *target = machine.render().first_target();
-+ if (target)
-+ {
-+ if (machine.options().uneven_stretch())
-+ target->set_scale_mode(SCALE_FRACTIONAL);
-+ else if(machine.options().uneven_stretch_x())
-+ target->set_scale_mode(SCALE_FRACTIONAL_X);
-+ else if(machine.options().uneven_stretch_y())
-+ target->set_scale_mode(SCALE_FRACTIONAL_Y);
-+ else
-+ target->set_scale_mode(SCALE_INTEGER);
-+ }
-+}
-+
-+//============================================================
-+// set_option - option setting wrapper
-+//============================================================
-+
-+void set_option(running_machine &machine, const char *option_ID, bool state)
-+{
-+ emu_options &options = machine.options();
-+
-+ options.set_value(option_ID, state, OPTION_PRIORITY_SWITCHRES);
-+ osd_printf_verbose("SwitchRes: Setting option -%s%s\n", machine.options().bool_value(option_ID)?"":"no", option_ID);
-+}
-diff --git a/src/emu/switchres/switchres.h b/src/emu/switchres/switchres.h
-new file mode 100644
-index 00000000000..b162ed70125
---- /dev/null
-+++ b/src/emu/switchres/switchres.h
-@@ -0,0 +1,80 @@
-+/**************************************************************
-+
-+ switchres.h - SwichRes general header
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#ifndef __SWITCHRES_H__
-+#define __SWITCHRES_H__
-+
-+//============================================================
-+// CONSTANTS
-+//============================================================
-+
-+#define SWITCHRES_VERSION "0.017p"
-+
-+//============================================================
-+// TYPE DEFINITIONS
-+//============================================================
-+
-+typedef struct game_info
-+{
-+ char name[32];
-+ int width;
-+ int height;
-+ float refresh;
-+ bool orientation;
-+ bool vector;
-+ bool changeres;
-+ int screens;
-+} game_info;
-+
-+typedef struct config_settings
-+{
-+ char connector[32];
-+ char monitor[32];
-+ bool modeline_generation;
-+ bool monitor_orientation;
-+ bool effective_orientation;
-+ bool desktop_rotated;
-+ bool monitor_rotates_cw;
-+ float monitor_aspect;
-+ int monitor_count;
-+ int pclock_min;
-+ int pclock_align;
-+ int interlace;
-+ int doublescan;
-+ int width;
-+ int height;
-+ int refresh;
-+ int super_width;
-+ bool lock_unsupported_modes;
-+ bool lock_system_modes;
-+ bool refresh_dont_care;
-+ float sync_refresh_tolerance;
-+} config_settings;
-+
-+#include "monitor.h"
-+#include "modeline.h"
-+
-+typedef struct switchres_manager
-+{
-+ struct config_settings cs;
-+ struct game_info game;
-+ struct modeline best_mode;
-+ struct modeline user_mode;
-+ struct monitor_range range[MAX_RANGES];
-+ struct modeline video_modes[MAX_MODELINES];
-+} switchres;
-+
-+#endif
-diff --git a/src/emu/switchres/switchres_proto.h b/src/emu/switchres/switchres_proto.h
-new file mode 100644
-index 00000000000..de9185e6810
---- /dev/null
-+++ b/src/emu/switchres/switchres_proto.h
-@@ -0,0 +1,42 @@
-+/**************************************************************
-+
-+ switchres_proto.h - SwichRes prototypes header
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#ifndef __SWITCHRES_H_PROTO__
-+#define __SWITCHRES_H_PROTO__
-+
-+//============================================================
-+// PROTOTYPES
-+//============================================================
-+
-+// util.cpp
-+int normalize(int a, int b);
-+int real_res(int x);
-+
-+// switchres.cpp
-+bool switchres_get_video_mode(running_machine &machine);
-+int switchres_get_monitor_specs(running_machine &machine);
-+void switchres_init(running_machine &machine);
-+void switchres_get_game_info(running_machine &machine);
-+bool switchres_check_resolution_change(running_machine &machine);
-+void switchres_set_options(running_machine &machine);
-+bool effective_orientation(running_machine &machine);
-+
-+// OSD - switchres.cpp
-+bool switchres_init_osd(running_machine &machine);
-+bool switchres_modeline_setup(running_machine &machine);
-+bool switchres_modeline_remove(running_machine &machine);
-+
-+#endif
-diff --git a/src/emu/switchres/util.cpp b/src/emu/switchres/util.cpp
-new file mode 100644
-index 00000000000..c0def9124d0
---- /dev/null
-+++ b/src/emu/switchres/util.cpp
-@@ -0,0 +1,34 @@
-+/**************************************************************
-+
-+ util.cpp - Utility functions
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+//============================================================
-+// normalize
-+//============================================================
-+
-+int normalize(int a, int b)
-+{
-+ int c, d;
-+ c = a % b;
-+ d = a / b;
-+ if (c) d++;
-+ return d * b;
-+}
-+
-+//============================================================
-+// real_res
-+//============================================================
-+
-+int real_res(int x) {return (int) (x / 8) * 8;}
-diff --git a/src/emu/video.cpp b/src/emu/video.cpp
-index 8da14f03b85..5deeb91d39f 100644
---- a/src/emu/video.cpp
-+++ b/src/emu/video.cpp
-@@ -51,7 +51,7 @@ const bool video_manager::s_skiptable[FRAMESKIP_LEVELS][FRAMESKIP_LEVELS] =
- { false, true , true , true , true , true , true , true , true , true , true , true }
- };
-
--
-+int video_manager::s_fd_speeds[FD_BINS] = { 0,0,0,0,0,0,0,0,0,0 };
-
- //**************************************************************************
- // VIDEO MANAGER
-@@ -86,6 +86,8 @@ video_manager::video_manager(running_machine &machine)
- , m_overall_valid_counter(0)
- , m_throttled(machine.options().throttle())
- , m_throttle_rate(1.0f)
-+ , m_syncrefresh(machine.options().sync_refresh())
-+ , m_framedelay(machine.options().frame_delay())
- , m_fastforward(false)
- , m_seconds_to_run(machine.options().seconds_to_run())
- , m_auto_frameskip(machine.options().auto_frameskip())
-@@ -237,6 +239,14 @@ void video_manager::frame_update(bool from_debugger)
- machine().osd().update(!from_debugger && skipped_it);
- g_profiler.stop();
-
-+ // manage black frame insertion
-+ if (machine().options().black_frame_insertion() && machine().options().sync_refresh())
-+ {
-+ render_container *container = &machine().render().ui_container();
-+ container->add_rect(0, 0, 1, 1, 0xff000000, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
-+ machine().osd().update(!from_debugger && skipped_it);
-+ }
-+
- // we synchronize after rendering instead of before, if low latency mode is enabled
- if (!from_debugger && !skipped_it && m_low_latency && effective_throttle())
- update_throttle(current_time);
-@@ -523,6 +533,23 @@ void video_manager::exit()
- osd_ticks_t tps = osd_ticks_per_second();
- double final_real_time = (double)m_overall_real_seconds + (double)m_overall_real_ticks / (double)tps;
- double final_emu_time = m_overall_emutime.as_double();
-+
-+ if (!m_throttled)
-+ {
-+ int i;
-+ float sum = 0;
-+
-+ osd_printf_info("Frame delay/percentage:");
-+
-+ for (i = 0; i < FD_BINS; i++)
-+ sum += s_fd_speeds[i];
-+
-+ for (i = 0; i < FD_BINS; i++)
-+ if (s_fd_speeds[i])
-+ osd_printf_info(" %d/%.2f%%", i, (float) s_fd_speeds[i] / sum * 100.f);
-+ osd_printf_info("\n");
-+ }
-+
- osd_printf_info("Average speed: %.2f%% (%d seconds)\n", 100 * final_emu_time / final_real_time, (m_overall_emutime + attotime(0, ATTOSECONDS_PER_SECOND / 2)).seconds());
- }
- }
-@@ -728,6 +755,20 @@ void video_manager::update_throttle(attotime emutime)
- 3,4,4,5,4,5,5,6, 4,5,5,6,5,6,6,7, 4,5,5,6,5,6,6,7, 5,6,6,7,6,7,7,8
- };
-
-+ // if we're only syncing to the refresh, bail now
-+ if (m_syncrefresh)
-+ {
-+ modeline *mode = &machine().switchres.best_mode;
-+ if (m_framedelay == 0 || m_framedelay > 9 || mode->hactive == 0)
-+ return;
-+
-+ osd_ticks_t now = osd_ticks();
-+ osd_ticks_t ticks_per_second = osd_ticks_per_second();
-+ attoseconds_t attoseconds_per_tick = ATTOSECONDS_PER_SECOND / ticks_per_second * m_throttle_rate;
-+ throttle_until_ticks(now + HZ_TO_ATTOSECONDS(mode->vfreq / mode->result.v_scale) / attoseconds_per_tick * m_framedelay / 10);
-+ return;
-+ }
-+
- // outer scope so we can break out in case of a resync
- while (1)
- {
-@@ -999,6 +1040,21 @@ void video_manager::recompute_speed(const attotime &emutime)
- osd_ticks_t tps = osd_ticks_per_second();
- m_speed_percent = delta_emutime.as_double() * (double)tps / (double)delta_realtime;
-
-+ // adjust speed for audio resampling
-+ if (m_syncrefresh && m_throttled)
-+ {
-+ if (m_speed_percent >= 0.8 && m_speed_percent <= 1.2)
-+ m_speed = m_speed_percent * 1000;
-+ }
-+
-+ // log speed for frame delay statistic
-+ if (!m_throttled)
-+ {
-+ int bin = (float) FD_BINS - 10.f/m_speed_percent;
-+ bin = bin > (FD_BINS - 1) ? (FD_BINS - 1) : bin < 0 ? 0 : bin;
-+ s_fd_speeds[bin]++;
-+ }
-+
- // remember the last times
- m_speed_last_realtime = realtime;
- m_speed_last_emutime = emutime;
-diff --git a/src/emu/video.h b/src/emu/video.h
-index 2fe7786afb5..f205fa7fa62 100644
---- a/src/emu/video.h
-+++ b/src/emu/video.h
-@@ -28,6 +28,7 @@
- constexpr int FRAMESKIP_LEVELS = 12;
- constexpr int MAX_FRAMESKIP = FRAMESKIP_LEVELS - 2;
-
-+constexpr int FD_BINS = 10;
-
- //**************************************************************************
- // TYPE DEFINITIONS
-@@ -50,6 +51,8 @@ public:
- int frameskip() const { return m_auto_frameskip ? -1 : m_frameskip_level; }
- bool throttled() const { return m_throttled; }
- float throttle_rate() const { return m_throttle_rate; }
-+ bool sync_refresh() const { return m_syncrefresh; }
-+ int32_t framedelay() const { return m_framedelay; }
- bool fastforward() const { return m_fastforward; }
- bool is_recording() const;
-
-@@ -59,6 +62,7 @@ public:
- void set_throttle_rate(float throttle_rate) { m_throttle_rate = throttle_rate; }
- void set_fastforward(bool ffwd = true) { m_fastforward = ffwd; }
- void set_output_changed() { m_output_changed = true; }
-+ void set_framedelay(int framedelay) { m_framedelay = framedelay; }
-
- // misc
- void toggle_throttle();
-@@ -148,6 +152,8 @@ private:
- // configuration
- bool m_throttled; // flag: true if we're currently throttled
- float m_throttle_rate; // target rate for throttling
-+ bool m_syncrefresh; // flag: TRUE if we're currently refresh-synced
-+ int32_t m_framedelay; // tenths of frame to delay emulation start
- bool m_fastforward; // flag: true if we're currently fast-forwarding
- u32 m_seconds_to_run; // number of seconds to run before quitting
- bool m_auto_frameskip; // flag: true if we're automatically frameskipping
-@@ -172,6 +178,9 @@ private:
- // movie recordings
- std::vector<movie_recording::ptr> m_movie_recordings;
-
-+ // frame delay statistics
-+ static int s_fd_speeds[FD_BINS];
-+
- static const bool s_skiptable[FRAMESKIP_LEVELS][FRAMESKIP_LEVELS];
-
- static const attoseconds_t ATTOSECONDS_PER_SPEED_UPDATE = ATTOSECONDS_PER_SECOND / 4;
-diff --git a/src/frontend/mame/clifront.cpp b/src/frontend/mame/clifront.cpp
-index aa5ec7606b8..f93231fa84b 100644
---- a/src/frontend/mame/clifront.cpp
-+++ b/src/frontend/mame/clifront.cpp
-@@ -1732,6 +1732,7 @@
- osd_printf_info(
- "%3$s v%2$s\n"
- "%5$s\n"
-+ "GroovyMAME - SwitchRes version %6$s\n"
- "\n"
- "This software reproduces, more or less faithfully, the behaviour of a wide range\n"
- "of machines. But hardware is useless without software, so images of the ROMs and\n"
-@@ -1749,5 +1750,6 @@
- build_version,
- emulator_info::get_appname(),
- emulator_info::get_configname(),
-- emulator_info::get_copyright_info());
-+ emulator_info::get_copyright_info(),
-+ SWITCHRES_VERSION);
- }
-diff --git a/src/frontend/mame/mameopts.h b/src/frontend/mame/mameopts.h
-index 2b178fb2ead..502d20f76d0 100644
---- a/src/frontend/mame/mameopts.h
-+++ b/src/frontend/mame/mameopts.h
-@@ -29,6 +29,7 @@ enum
-
- // INI-based options are NORMAL priority, in increasing order:
- OPTION_PRIORITY_MAME_INI = OPTION_PRIORITY_NORMAL + 1,
-+ OPTION_PRIORITY_SWITCHRES,
- OPTION_PRIORITY_DEBUG_INI,
- OPTION_PRIORITY_ORIENTATION_INI,
- OPTION_PRIORITY_SYSTYPE_INI,
-diff --git a/src/frontend/mame/ui/info.cpp b/src/frontend/mame/ui/info.cpp
-index 76b2f012731..dc6bf8532a6 100644
---- a/src/frontend/mame/ui/info.cpp
-+++ b/src/frontend/mame/ui/info.cpp
-@@ -420,6 +420,15 @@ std::string machine_info::game_info_string() const
- }
- }
-
-+ // display SwitchRes information
-+ modeline *mode = &m_machine.switchres.best_mode;
-+ if (mode->hactive)
-+ {
-+ buf << _("\nSwitchres:\n");
-+ util::stream_format(buf, "%d " UTF8_MULTIPLY " %d%s%s %2.3f Hz %2.3f kHz\n",
-+ mode->hactive, mode->vactive, mode->interlace?"i":"p", mode->doublescan?"d":"", mode->vfreq, mode->hfreq/1000);
-+ }
-+
- return buf.str();
- }
-
-diff --git a/src/frontend/mame/ui/submenu.cpp b/src/frontend/mame/ui/submenu.cpp
-index 207ac56d057..efee8fc4047 100644
---- a/src/frontend/mame/ui/submenu.cpp
-+++ b/src/frontend/mame/ui/submenu.cpp
-@@ -107,7 +107,7 @@ std::vector<submenu::option> const submenu::video_options = {
- { submenu::option_type::OSD, __("Window Mode"), OSDOPTION_WINDOW },
- { submenu::option_type::EMU, __("Enforce Aspect Ratio"), OPTION_KEEPASPECT },
- { submenu::option_type::OSD, __("Start Out Maximized"), OSDOPTION_MAXIMIZE },
-- { submenu::option_type::OSD, __("Synchronized Refresh"), OSDOPTION_SYNCREFRESH },
-+ { submenu::option_type::OSD, __("Synchronized Refresh"), OPTION_SYNCREFRESH },
- { submenu::option_type::OSD, __("Wait Vertical Sync"), OSDOPTION_WAITVSYNC }
- };
-
-diff --git a/src/frontend/mame/ui/ui.cpp b/src/frontend/mame/ui/ui.cpp
-index bfcfd10bd97..885e8a825a0 100644
---- a/src/frontend/mame/ui/ui.cpp
-+++ b/src/frontend/mame/ui/ui.cpp
-@@ -31,6 +31,7 @@
- #include "ui/viewgfx.h"
- #include "imagedev/cassette.h"
- #include "../osd/modules/lib/osdobj_common.h"
-+#include "config.h"
-
-
- /***************************************************************************
-@@ -193,6 +194,9 @@ void mame_ui_manager::init()
- // request a callback upon exiting
- machine().add_notifier(MACHINE_NOTIFY_EXIT, machine_notify_delegate(&mame_ui_manager::exit, this));
-
-+ // register callbacks
-+ machine().configuration().config_register("sliders", config_load_delegate(&mame_ui_manager::config_load, this), config_save_delegate(&mame_ui_manager::config_save, this));
-+
- // create mouse bitmap
- uint32_t *dst = &m_mouse_bitmap.pix32(0);
- memcpy(dst,mouse_bitmap,32*32*sizeof(uint32_t));
-@@ -1351,6 +1355,9 @@ std::vector<ui::menu_item> mame_ui_manager::slider_init(running_machine &machine
- // add overall volume
- m_sliders.push_back(slider_alloc(SLIDER_ID_VOLUME, _("Master Volume"), -32, 0, 0, 1, nullptr));
-
-+ // add frame delay
-+ m_sliders.push_back(slider_alloc(SLIDER_ID_FRAMEDELAY, _("Frame Delay"), 0, machine.options().frame_delay(), 9, 1, nullptr));
-+
- // add per-channel volume
- mixer_input info;
- for (int item = 0; machine.sound().indexed_mixer_input(item, info); item++)
-@@ -1495,6 +1502,8 @@ std::vector<ui::menu_item> mame_ui_manager::slider_init(running_machine &machine
- }
- #endif
-
-+ config_apply();
-+
- std::vector<ui::menu_item> items;
- for (auto &slider : m_sliders)
- {
-@@ -1518,6 +1527,8 @@ int32_t mame_ui_manager::slider_changed(running_machine &machine, void *arg, int
- {
- if (id == SLIDER_ID_VOLUME)
- return slider_volume(machine, arg, id, str, newval);
-+ else if (id == SLIDER_ID_FRAMEDELAY)
-+ return slider_framedelay(machine, arg, id, str, newval);
- else if (id >= SLIDER_ID_MIXERVOL && id <= SLIDER_ID_MIXERVOL_LAST)
- return slider_mixervol(machine, arg, id, str, newval);
- else if (id >= SLIDER_ID_ADJUSTER && id <= SLIDER_ID_ADJUSTER_LAST)
-@@ -1581,6 +1592,21 @@ int32_t mame_ui_manager::slider_volume(running_machine &machine, void *arg, int
- }
-
-
-+//-------------------------------------------------
-+// slider_framedelay - global frame delay slider
-+// callback
-+//-------------------------------------------------
-+
-+int32_t mame_ui_manager::slider_framedelay(running_machine &machine, void *arg, int id, std::string *str, int32_t newval)
-+{
-+ if (newval != SLIDER_NOCHANGE)
-+ machine.video().set_framedelay(newval);
-+ if (str)
-+ *str = string_format(_("%1$3d"), machine.video().framedelay());
-+ return machine.video().framedelay();
-+}
-+
-+
- //-------------------------------------------------
- // slider_mixervol - single channel volume
- // slider callback
-@@ -2198,3 +2224,83 @@ void ui_colors::refresh(const ui_options &options)
- m_dipsw_color = options.dipsw_color();
- m_slider_color = options.slider_color();
- }
-+
-+//-------------------------------------------------
-+// config_load - read data from the
-+// configuration file
-+//-------------------------------------------------
-+
-+void mame_ui_manager::config_load(config_type cfg_type, util::xml::data_node const *parentnode)
-+{
-+ // we only care about game files
-+ if (cfg_type != config_type::GAME)
-+ return;
-+
-+ // might not have any data
-+ if (parentnode == nullptr)
-+ return;
-+
-+ // iterate over slider nodes
-+ for (util::xml::data_node const *slider_node = parentnode->get_child("slider"); slider_node; slider_node = slider_node->get_next_sibling("slider"))
-+ {
-+ const char *desc = slider_node->get_attribute_string("desc", "");
-+ int32_t saved_val = slider_node->get_attribute_int("value", 0);
-+
-+ // create a dummy slider to store the saved value
-+ m_sliders_saved.push_back(slider_alloc(0, desc, 0, saved_val, 0, 0, 0));
-+ }
-+}
-+
-+
-+//-------------------------------------------------
-+// config_appy - apply data from the conf. file
-+// This currently needs to be done on a separate
-+// step because sliders are not created yet when
-+// configuration file is loaded
-+//-------------------------------------------------
-+
-+void mame_ui_manager::config_apply(void)
-+{
-+ // iterate over sliders and restore saved values
-+ for (auto &slider : m_sliders)
-+ {
-+ for (auto &slider_saved : m_sliders_saved)
-+ {
-+ if (!strcmp(slider->description.c_str(), slider_saved->description.c_str()))
-+ {
-+ std::string tempstring;
-+ slider->update(machine(), slider->arg, slider->id, &tempstring, slider_saved->defval);
-+ break;
-+
-+ }
-+ }
-+ }
-+}
-+
-+
-+//-------------------------------------------------
-+// config_save - save data to the configuration
-+// file
-+//-------------------------------------------------
-+
-+void mame_ui_manager::config_save(config_type cfg_type, util::xml::data_node *parentnode)
-+{
-+ // we only care about game files
-+ if (cfg_type != config_type::GAME)
-+ return;
-+
-+ std::string tempstring;
-+ util::xml::data_node *slider_node;
-+
-+ // save UI sliders
-+ for (auto &slider : m_sliders)
-+ {
-+ int32_t curval = slider->update(machine(), slider->arg, slider->id, &tempstring, SLIDER_NOCHANGE);
-+ if (curval != slider->defval)
-+ {
-+ slider_node = parentnode->add_child("slider", nullptr);
-+ slider_node->set_attribute("desc", slider->description.c_str());
-+ slider_node->set_attribute_int("value", curval);
-+ }
-+ }
-+}
-\ No newline at end of file
-diff --git a/src/frontend/mame/ui/ui.h b/src/frontend/mame/ui/ui.h
-index 71f6a5ab8b8..f4ae6e2c962 100644
---- a/src/frontend/mame/ui/ui.h
-+++ b/src/frontend/mame/ui/ui.h
-@@ -53,6 +53,7 @@ class machine_info;
- enum
- {
- SLIDER_ID_VOLUME = 0,
-+ SLIDER_ID_FRAMEDELAY,
- SLIDER_ID_MIXERVOL,
- SLIDER_ID_MIXERVOL_LAST = SLIDER_ID_MIXERVOL + SLIDER_DEVICE_SPACING,
- SLIDER_ID_ADJUSTER,
-@@ -234,6 +235,11 @@ public:
- void start_save_state();
- void start_load_state();
-
-+ // config callbacks
-+ void config_load(config_type cfg_type, util::xml::data_node const *parentnode);
-+ void config_save(config_type cfg_type, util::xml::data_node *parentnode);
-+ void config_apply(void);
-+
- // slider controls
- std::vector<ui::menu_item>& get_slider_list(void);
-
-@@ -300,6 +306,7 @@ private:
- virtual int32_t slider_changed(running_machine &machine, void *arg, int id, std::string *str, int32_t newval) override;
-
- int32_t slider_volume(running_machine &machine, void *arg, int id, std::string *str, int32_t newval);
-+ int32_t slider_framedelay(running_machine &machine, void *arg, int id, std::string *str, int32_t newval);
- int32_t slider_mixervol(running_machine &machine, void *arg, int id, std::string *str, int32_t newval);
- int32_t slider_adjuster(running_machine &machine, void *arg, int id, std::string *str, int32_t newval);
- int32_t slider_overclock(running_machine &machine, void *arg, int id, std::string *str, int32_t newval);
-@@ -326,6 +333,7 @@ private:
- #endif
-
- std::vector<std::unique_ptr<slider_state>> m_sliders;
-+ std::vector<std::unique_ptr<slider_state>> m_sliders_saved;
- };
-
-
-diff --git a/src/osd/modules/lib/osdobj_common.cpp b/src/osd/modules/lib/osdobj_common.cpp
-index 25d4b979e87..6f7c512dcc3 100644
---- a/src/osd/modules/lib/osdobj_common.cpp
-+++ b/src/osd/modules/lib/osdobj_common.cpp
-@@ -59,7 +59,6 @@ const options_entry osd_options::s_option_entries[] =
- { OSDOPTION_WINDOW ";w", "0", OPTION_BOOLEAN, "enable window mode; otherwise, full screen mode is assumed" },
- { OSDOPTION_MAXIMIZE ";max", "1", OPTION_BOOLEAN, "default to maximized windows" },
- { OSDOPTION_WAITVSYNC ";vs", "0", OPTION_BOOLEAN, "enable waiting for the start of VBLANK before flipping screens (reduces tearing effects)" },
-- { OSDOPTION_SYNCREFRESH ";srf", "0", OPTION_BOOLEAN, "enable using the start of VBLANK for throttling instead of the game time" },
- { OSD_MONITOR_PROVIDER, OSDOPTVAL_AUTO, OPTION_STRING, "monitor discovery method: " },
-
- // per-window options
-@@ -91,10 +90,10 @@ const options_entry osd_options::s_option_entries[] =
-
- // full screen options
- { nullptr, nullptr, OPTION_HEADER, "OSD FULL SCREEN OPTIONS" },
-- { OSDOPTION_SWITCHRES, "0", OPTION_BOOLEAN, "enable resolution switching" },
-+ { OSDOPTION_SWITCHRES, "1", OPTION_BOOLEAN, "enable resolution switching" },
-
- { nullptr, nullptr, OPTION_HEADER, "OSD ACCELERATED VIDEO OPTIONS" },
-- { OSDOPTION_FILTER ";glfilter;flt", "1", OPTION_BOOLEAN, "use bilinear filtering when scaling emulated video" },
-+ { OSDOPTION_FILTER ";glfilter;flt", "0", OPTION_BOOLEAN, "use bilinear filtering when scaling emulated video" },
- { OSDOPTION_PRESCALE "(1-8)", "1", OPTION_INTEGER, "scale emulated video by this factor before applying filters/shaders" },
-
- #if USE_OPENGL
-@@ -129,7 +128,7 @@ const options_entry osd_options::s_option_entries[] =
-
- { nullptr, nullptr, OPTION_HEADER, "OSD SOUND OPTIONS" },
- { OSDOPTION_SOUND, OSDOPTVAL_AUTO, OPTION_STRING, "sound output method: " },
-- { OSDOPTION_AUDIO_LATENCY "(1-5)", "2", OPTION_INTEGER, "set audio latency (increase to reduce glitches, decrease for responsiveness)" },
-+ { OSDOPTION_AUDIO_LATENCY "(0.1-5.0)", "2.0", OPTION_FLOAT, "set audio latency (increase to reduce glitches, decrease for responsiveness)" },
-
- #ifndef NO_USE_PORTAUDIO
- { nullptr, nullptr, OPTION_HEADER, "PORTAUDIO OPTIONS" },
-diff --git a/src/osd/modules/lib/osdobj_common.h b/src/osd/modules/lib/osdobj_common.h
-index 9fb1b1eef6b..756b15f1b0a 100644
---- a/src/osd/modules/lib/osdobj_common.h
-+++ b/src/osd/modules/lib/osdobj_common.h
-@@ -50,7 +50,6 @@
- #define OSDOPTION_WINDOW "window"
- #define OSDOPTION_MAXIMIZE "maximize"
- #define OSDOPTION_WAITVSYNC "waitvsync"
--#define OSDOPTION_SYNCREFRESH "syncrefresh"
-
- #define OSDOPTION_SCREEN "screen"
- #define OSDOPTION_ASPECT "aspect"
-@@ -122,7 +121,6 @@ public:
- bool window() const { return bool_value(OSDOPTION_WINDOW); }
- bool maximize() const { return bool_value(OSDOPTION_MAXIMIZE); }
- bool wait_vsync() const { return bool_value(OSDOPTION_WAITVSYNC); }
-- bool sync_refresh() const { return bool_value(OSDOPTION_SYNCREFRESH); }
-
- // per-window options
- const char *screen() const { return value(OSDOPTION_SCREEN); }
-@@ -153,7 +151,7 @@ public:
-
- // sound options
- const char *sound() const { return value(OSDOPTION_SOUND); }
-- int audio_latency() const { return int_value(OSDOPTION_AUDIO_LATENCY); }
-+ float audio_latency() const { return float_value(OSDOPTION_AUDIO_LATENCY); }
-
- // CoreAudio specific options
- const char *audio_output() const { return value(OSDOPTION_AUDIO_OUTPUT); }
-diff --git a/src/osd/modules/osdwindow.h b/src/osd/modules/osdwindow.h
-index 3fe020c56fe..6479d544e43 100644
---- a/src/osd/modules/osdwindow.h
-+++ b/src/osd/modules/osdwindow.h
-@@ -215,9 +215,13 @@ public:
- virtual void record() { };
- virtual void toggle_fsfx() { };
- virtual bool sliders_dirty() { return m_sliders_dirty; }
-+ virtual int restart() { return 0; }
-
- static std::unique_ptr<osd_renderer> make_for_type(int mode, std::shared_ptr<osd_window> window, int extra_flags = FLAG_NONE);
-
-+ // SwitchRes mode
-+ modeline * m_switchres_mode;
-+
- protected:
- virtual void build_slider_list() { }
-
-@@ -262,6 +266,7 @@ struct osd_video_config
- int waitvsync; // spin until vsync
- int syncrefresh; // sync only to refresh rate
- int switchres; // switch resolutions
-+ int framedelay; // frame delay
-
- // d3d, accel, opengl
- int filter; // enable filtering
-diff --git a/src/osd/modules/render/d3d/d3dhlsl.h b/src/osd/modules/render/d3d/d3dhlsl.h
-index 7f7dacc4538..e700a36f36f 100644
---- a/src/osd/modules/render/d3d/d3dhlsl.h
-+++ b/src/osd/modules/render/d3d/d3dhlsl.h
-@@ -302,7 +302,7 @@ public:
-
- bool init(d3d_base *d3dintf, running_machine *machine, renderer_d3d9 *renderer);
-
-- bool enabled() { return post_fx_enable && d3dintf->post_fx_available; }
-+ bool enabled() { return (this != nullptr) && post_fx_enable && d3dintf->post_fx_available; }
- void toggle() { post_fx_enable = initialized && !post_fx_enable; }
-
- void begin_draw();
-diff --git a/src/osd/modules/render/drawd3d.cpp b/src/osd/modules/render/drawd3d.cpp
-index 56c905636a4..2d503662083 100644
---- a/src/osd/modules/render/drawd3d.cpp
-+++ b/src/osd/modules/render/drawd3d.cpp
-@@ -45,7 +45,7 @@ enum
- // INLINES
- //============================================================
-
--static inline BOOL GetClientRectExceptMenu(HWND hWnd, PRECT pRect, BOOL fullscreen)
-+inline BOOL renderer_d3d9::GetClientRectExceptMenu(HWND hWnd, PRECT pRect, BOOL fullscreen)
- {
- static HMENU last_menu;
- static RECT last_rect;
-@@ -53,6 +53,12 @@ static inline BOOL GetClientRectExceptMenu(HWND hWnd, PRECT pRect, BOOL fullscre
- HMENU menu = GetMenu(hWnd);
- BOOL result = GetClientRect(hWnd, pRect);
-
-+ if (m_switchres_mode && m_switchres_mode->hactive)
-+ {
-+ pRect->right = m_switchres_mode->type & MODE_ROTATED? m_switchres_mode->vactive : m_switchres_mode->hactive;
-+ pRect->bottom = m_switchres_mode->type & MODE_ROTATED? m_switchres_mode->hactive : m_switchres_mode->vactive;
-+ }
-+
- if (!fullscreen || !menu)
- return result;
-
-@@ -184,7 +190,14 @@ render_primitive_list *renderer_d3d9::get_primitives()
- GetClientRectExceptMenu(hWnd, &client, win->fullscreen());
- if (rect_width(&client) > 0 && rect_height(&client) > 0)
- {
-- win->target()->set_bounds(rect_width(&client), rect_height(&client), win->pixel_aspect());
-+ // handle aspect correction for magic resolutions
-+ float aspect_corrector = 1.0f;
-+ if (m_switchres_mode && m_switchres_mode->hactive)
-+ {
-+ aspect_corrector = ((float)m_switchres_mode->width / (float)m_switchres_mode->height) / ((float)m_switchres_mode->hactive / (float)m_switchres_mode->vactive);
-+ if (m_switchres_mode->type & MODE_ROTATED) aspect_corrector = 1.0 / aspect_corrector;
-+ }
-+ win->target()->set_bounds(rect_width(&client), rect_height(&client), win->pixel_aspect() * aspect_corrector);
- win->target()->set_max_update_rate((get_refresh() == 0) ? get_origmode().RefreshRate : get_refresh());
- }
- if (m_shaders != nullptr)
-@@ -733,12 +746,111 @@ void renderer_d3d9::end_frame()
- if (FAILED(result))
- osd_printf_verbose("Direct3D: Error %08lX during device end_scene call\n", result);
-
-+ if (m_frame_delay != video_config.framedelay)
-+ {
-+ m_frame_delay = video_config.framedelay;
-+ update_break_scanlines();
-+ }
-+
-+ D3DRASTER_STATUS raster_status;
-+ memset (&raster_status, 0, sizeof(D3DRASTER_STATUS));
-+
-+ // sync to VBLANK-BEGIN
-+ if (video_config.framedelay && video_config.syncrefresh)
-+ {
-+ // check if retrace has been missed
-+ if (m_device->GetRasterStatus(0, &raster_status) == D3D_OK)
-+ {
-+ if (raster_status.ScanLine < m_delay_scanline && !raster_status.InVBlank)
-+ {
-+ static const double tps = (double)osd_ticks_per_second();
-+ static const double time_start = (double)osd_ticks() / tps;
-+ osd_printf_verbose("renderer::end_frame(), probably missed retrace, entered at scanline %d, should break at %d, realtime is %f.\n", raster_status.ScanLine, m_break_scanline, (double)osd_ticks() / tps - time_start);
-+ }
-+ }
-+
-+ do
-+ {
-+ if (m_device->GetRasterStatus(0, &raster_status) != D3D_OK)
-+ break;
-+ } while (!raster_status.InVBlank && raster_status.ScanLine < m_break_scanline);
-+ }
-+
- // present the current buffers
- result = m_device->Present(nullptr, nullptr, nullptr, nullptr);
- if (FAILED(result))
- osd_printf_verbose("Direct3D: Error %08lX during device present call\n", result);
-+
-+ // sync to VBLANK-END
-+ if (video_config.framedelay && video_config.syncrefresh)
-+ {
-+ do
-+ {
-+ if (m_device->GetRasterStatus(0, &raster_status) != D3D_OK)
-+ break;
-+ } while (!raster_status.InVBlank);
-+ }
-+}
-+
-+void renderer_d3d9::device_flush()
-+{
-+ HRESULT result;
-+
-+ if(m_device)
-+ {
-+ if(m_query != nullptr)
-+ {
-+ m_query->Issue(D3DISSUE_END);
-+ do
-+ {
-+ result = m_query->GetData(NULL, 0, D3DGETDATA_FLUSH);
-+ if (result == D3DERR_DEVICELOST)
-+ return;
-+ } while(result == S_FALSE);
-+ }
-+ }
-+}
-+
-+void renderer_d3d9::update_break_scanlines()
-+{
-+ switch (m_vendor_id)
-+ {
-+ case 0x1002: // ATI
-+ m_first_scanline = m_switchres_mode && m_switchres_mode->vtotal ?
-+ (m_switchres_mode->vtotal - m_switchres_mode->vbegin) / (m_switchres_mode->interlace ? 2 : 1) :
-+ 1;
-+
-+ m_last_scanline = m_switchres_mode && m_switchres_mode->vtotal ?
-+ m_switchres_mode->vactive + (m_switchres_mode->vtotal - m_switchres_mode->vbegin) / (m_switchres_mode->interlace ? 2 : 1) :
-+ m_height;
-+ break;
-+
-+ case 0x8086: // Intel
-+ m_first_scanline = 1;
-+
-+ m_last_scanline = m_switchres_mode && m_switchres_mode->vtotal ?
-+ m_switchres_mode->vactive / (m_switchres_mode->interlace ? 2 : 1) :
-+ m_height;
-+ break;
-+
-+ default: // NVIDIA (0x10DE) + others (?)
-+ m_first_scanline = 0;
-+
-+ m_last_scanline = m_switchres_mode && m_switchres_mode->vtotal ?
-+ (m_switchres_mode->vactive - 1) / (m_switchres_mode->interlace ? 2 : 1) :
-+ m_height - 1;
-+ break;
-+ }
-+
-+ auto win = assert_window();
-+ m_break_scanline = m_last_scanline - win->machine().options().vsync_offset();
-+ m_break_scanline = m_break_scanline > m_first_scanline ? m_break_scanline : m_last_scanline;
-+ m_delay_scanline = m_first_scanline + m_height * (float)video_config.framedelay / 10;
-+
-+ osd_printf_verbose("Direct3D: Frame delay: %d, First scanline: %d, Last scanline: %d, Break scanline: %d, Delay scanline: %d\n", video_config.framedelay, m_first_scanline, m_last_scanline, m_break_scanline, m_delay_scanline);
- }
-
-+
- void renderer_d3d9::update_presentation_parameters()
- {
- auto win = assert_window();
-@@ -747,7 +859,7 @@ void renderer_d3d9::update_presentation_parameters()
- m_presentation.BackBufferWidth = m_width;
- m_presentation.BackBufferHeight = m_height;
- m_presentation.BackBufferFormat = m_pixformat;
-- m_presentation.BackBufferCount = video_config.triplebuf ? 2 : 1;
-+ m_presentation.BackBufferCount = 1;
- m_presentation.MultiSampleType = D3DMULTISAMPLE_NONE;
- m_presentation.SwapEffect = D3DSWAPEFFECT_DISCARD;
- m_presentation.hDeviceWindow = std::static_pointer_cast<win_window_info>(win)->platform_window();
-@@ -756,10 +868,10 @@ void renderer_d3d9::update_presentation_parameters()
- m_presentation.AutoDepthStencilFormat = D3DFMT_D16;
- m_presentation.Flags = 0;
- m_presentation.FullScreen_RefreshRateInHz = m_refresh;
-- m_presentation.PresentationInterval = (
-- (video_config.triplebuf && win->fullscreen())
-+ m_presentation.PresentationInterval = (video_config.framedelay == 0 &&
-+ ((video_config.triplebuf && win->fullscreen())
- || video_config.waitvsync
-- || video_config.syncrefresh)
-+ || video_config.syncrefresh))
- ? D3DPRESENT_INTERVAL_ONE
- : D3DPRESENT_INTERVAL_IMMEDIATE;
- }
-@@ -1184,6 +1296,34 @@ int renderer_d3d9::device_test_cooperative()
- }
-
-
-+//============================================================
-+// restart
-+//============================================================
-+
-+int renderer_d3d9::restart()
-+{
-+ // free all existing resources
-+ device_delete_resources();
-+
-+ // configure new video mode
-+ pick_best_mode();
-+ update_presentation_parameters();
-+
-+ // reset the device
-+ HRESULT result = m_device->Reset(&m_presentation);
-+ if (FAILED(result))
-+ {
-+ osd_printf_error("Unable to reset, result %08lX\n", result);
-+ return 1;
-+ }
-+
-+ // create the resources again
-+ device_create_resources();
-+
-+ return 0;
-+}
-+
-+
- //============================================================
- // config_adapter_mode
- //============================================================
-@@ -1203,6 +1343,9 @@ int renderer_d3d9::config_adapter_mode()
- }
-
- osd_printf_verbose("Direct3D: Configuring adapter #%d = %s\n", m_adapter, id.Description);
-+ osd_printf_verbose("Direct3D: Adapter has Vendor ID: %lX and Device ID: %lX\n", id.VendorId, id.DeviceId);
-+
-+ m_vendor_id = id.VendorId;
-
- // get the current display mode
- result = d3dintf->d3dobj->GetAdapterDisplayMode(m_adapter, &m_origmode);
-@@ -1219,6 +1362,9 @@ int renderer_d3d9::config_adapter_mode()
- {
- RECT client;
-
-+ // Disable SwitchRes
-+ m_switchres_mode = 0;
-+
- // bounds are from the window client rect
- GetClientRectExceptMenu(std::static_pointer_cast<win_window_info>(win)->platform_window(), &client, win->fullscreen());
- m_width = client.right - client.left;
-@@ -1302,6 +1448,20 @@ void renderer_d3d9::pick_best_mode()
-
- auto win = assert_window();
-
-+ // only link window #0 to SwitchRes
-+ if (win->m_index == 0)
-+ {
-+ m_switchres_mode = &win->machine().switchres.best_mode;
-+ if (m_switchres_mode)
-+ {
-+ m_width = m_switchres_mode->type & MODE_ROTATED? m_switchres_mode->height : m_switchres_mode->width;
-+ m_height = m_switchres_mode->type & MODE_ROTATED? m_switchres_mode->width : m_switchres_mode->height;
-+ m_refresh = (int)m_switchres_mode->refresh;
-+ m_interlace = m_switchres_mode->interlace;
-+ return;
-+ }
-+ }
-+
- // determine the refresh rate of the primary screen
- const screen_device *primary_screen = screen_device_iterator(win->machine().root_device()).first();
- if (primary_screen != nullptr)
-@@ -1343,10 +1503,6 @@ void renderer_d3d9::pick_best_mode()
- if (mode.Width < minwidth || mode.Height < minheight)
- size_score *= 0.01f;
-
-- // if mode is smaller than we'd like, it only scores up to 0.1
-- if (mode.Width < target_width || mode.Height < target_height)
-- size_score *= 0.1f;
--
- // if we're looking for a particular mode, that's a winner
- if (mode.Width == win->m_win_config.width && mode.Height == win->m_win_config.height)
- size_score = 2.0f;
-@@ -1354,10 +1510,6 @@ void renderer_d3d9::pick_best_mode()
- // compute refresh score
- float refresh_score = 1.0f / (1.0f + fabs((double)mode.RefreshRate - target_refresh));
-
-- // if refresh is smaller than we'd like, it only scores up to 0.1
-- if ((double)mode.RefreshRate < target_refresh)
-- refresh_score *= 0.1f;
--
- // if we're looking for a particular refresh, make sure it matches
- if (mode.RefreshRate == win->m_win_config.refresh)
- refresh_score = 2.0f;
-diff --git a/src/osd/modules/render/drawd3d.h b/src/osd/modules/render/drawd3d.h
-index 03527d7374e..5f0637698d0 100644
---- a/src/osd/modules/render/drawd3d.h
-+++ b/src/osd/modules/render/drawd3d.h
-@@ -67,6 +67,8 @@ public:
- virtual void add_audio_to_recording(const int16_t *buffer, int samples_this_frame) override;
- virtual std::vector<ui::menu_item> get_slider_list() override;
- virtual void set_sliders_dirty() override;
-+ virtual int restart() override;
-+ inline BOOL GetClientRectExceptMenu(HWND hWnd, PRECT pRect, BOOL fullscreen);
-
- int initialize();
-
-@@ -74,6 +76,8 @@ public:
- int device_create_resources();
- void device_delete();
- void device_delete_resources();
-+ void device_flush();
-+ void update_break_scanlines();
- void update_presentation_parameters();
- void update_gamma_ramp();
-
-@@ -134,9 +138,16 @@ public:
-
- private:
- int m_adapter; // ordinal adapter number
-+ int m_vendor_id; // adapter vendor id
- int m_width; // current width
- int m_height; // current height
- int m_refresh; // current refresh rate
-+ bool m_interlace; // current interlace
-+ int m_frame_delay; // current frame delay value
-+ int m_first_scanline; // first scanline number (visible)
-+ int m_last_scanline; // last scanline number (visible)
-+ int m_delay_scanline; // scanline number supposed to be after frame delay
-+ int m_break_scanline; // break scanline number, for vsync offset
- int m_create_error_count; // number of consecutive create errors
-
- IDirect3DDevice9 * m_device; // pointer to the Direct3DDevice object
-@@ -144,6 +155,7 @@ private:
- D3DPRESENT_PARAMETERS m_presentation; // set of presentation parameters
- D3DDISPLAYMODE m_origmode; // original display mode for the adapter
- D3DFORMAT m_pixformat; // pixel format we are using
-+ IDirect3DQuery9 * m_query;
-
- IDirect3DVertexBuffer9 *m_vertexbuf; // pointer to the vertex buffer object
- vertex * m_lockedbuf; // pointer to the locked vertex buffer
-diff --git a/src/osd/modules/render/drawogl.cpp b/src/osd/modules/render/drawogl.cpp
-index ae030224e74..02934712fea 100644
---- a/src/osd/modules/render/drawogl.cpp
-+++ b/src/osd/modules/render/drawogl.cpp
-@@ -40,6 +40,13 @@
- #include "modules/opengl/gl_shader_tool.h"
- #include "modules/opengl/gl_shader_mgr.h"
-
-+#ifdef SDLMAME_X11
-+// DRM
-+#include <xf86drm.h>
-+#include <xf86drmMode.h>
-+#include <fcntl.h>
-+#endif
-+
- #if defined(SDLMAME_MACOSX) || defined(OSD_MAC)
- #include <cstring>
- #include <cstdio>
-@@ -245,6 +252,10 @@ void renderer_ogl::set_blendmode(int blendmode)
- // STATIC VARIABLES
- //============================================================
-
-+#ifdef SDLMAME_X11
-+static int drawogl_drm_open(void);
-+#endif
-+
- // OGL 1.3
- #if defined(GL_ARB_multitexture) && !defined(OSD_MAC)
- static PFNGLACTIVETEXTUREARBPROC pfn_glActiveTexture = nullptr;
-@@ -578,7 +589,11 @@ int renderer_ogl::create()
- osd_printf_error("%s\n", m_gl_context->LastErrorMsg());
- return 1;
- }
-- m_gl_context->SetSwapInterval(video_config.waitvsync ? 1 : 0);
-+#ifdef SDLMAME_X11
-+ // Try to open DRM device
-+ m_fd = drawogl_drm_open();
-+#endif
-+ m_gl_context->SetSwapInterval((video_config.waitvsync && m_fd == 0) ? 1 : 0);
-
-
- m_blittimer = 0;
-@@ -605,6 +620,26 @@ int renderer_ogl::create()
- return 0;
- }
-
-+#ifdef SDLMAME_X11
-+//============================================================
-+// drawogl_drm_open
-+//============================================================
-+
-+static int drawogl_drm_open(void)
-+{
-+ int fd = 0;
-+ const char *node = {"/dev/dri/card0"};
-+
-+ fd = open(node, O_RDWR | O_CLOEXEC);
-+ if (fd < 0)
-+ {
-+ fprintf(stderr, "cannot open %s\n", node);
-+ return 0;
-+ }
-+ osd_printf_verbose("%s successfully opened\n", node);
-+ return fd;
-+}
-+#endif
-
- //============================================================
- // drawsdl_xy_to_render_target
-@@ -1419,6 +1454,19 @@ int renderer_ogl::draw(const int update)
- win->m_primlist->release_lock();
- m_init_context = 0;
-
-+#ifdef SDLMAME_X11
-+ // wait for vertical retrace
-+ if (video_config.waitvsync && m_fd)
-+ {
-+ drmVBlank vbl;
-+ memset(&vbl, 0, sizeof(vbl));
-+ vbl.request.type = DRM_VBLANK_RELATIVE;
-+ vbl.request.sequence = 1;
-+ if (drmWaitVBlank(m_fd, &vbl) != 0)
-+ osd_printf_verbose("drmWaitVBlank failed\n");
-+ }
-+#endif
-+
- m_gl_context->SwapBuffer();
-
- return 0;
-@@ -1645,6 +1693,7 @@ void renderer_ogl::texture_compute_size_type(const render_texinfo *texsource, og
- texture->rawheight_create = finalheight_create;
- }
-
-+
- //============================================================
- // texture_create
- //============================================================
-diff --git a/src/osd/modules/render/drawogl.h b/src/osd/modules/render/drawogl.h
-index 525ba0c3ffa..165703f9c67 100644
---- a/src/osd/modules/render/drawogl.h
-+++ b/src/osd/modules/render/drawogl.h
-@@ -125,6 +125,7 @@ public:
- , m_last_vofs(0.0f)
- , m_surf_w(0)
- , m_surf_h(0)
-+ , m_fd(0)
- {
- for (int i=0; i < HASH_SIZE + OVERFLOW_SIZE; i++)
- m_texhash[i] = nullptr;
-@@ -237,6 +238,8 @@ private:
-
- static bool s_shown_video_info;
- static bool s_dll_loaded;
-+ // DRM file handle
-+ int m_fd;
- };
-
- #endif // __DRAWOGL__
-diff --git a/src/osd/modules/sound/direct_sound.cpp b/src/osd/modules/sound/direct_sound.cpp
-index 05333674541..1ef1a76ad51 100644
---- a/src/osd/modules/sound/direct_sound.cpp
-+++ b/src/osd/modules/sound/direct_sound.cpp
-@@ -432,6 +432,7 @@ HRESULT sound_direct_sound::dsound_init()
- stream_buffer_size = std::max(DWORD(1024), (stream_buffer_size / 1024) * 1024);
-
- LOG(("stream_buffer_size = %u\n", (unsigned)stream_buffer_size));
-+ osd_printf_verbose("stream_buffer_size = %u\n", (unsigned)stream_buffer_size);
-
- // create the buffers
- m_bytes_per_sample = stream_format.nBlockAlign;
-diff --git a/src/osd/modules/sound/sdl_sound.cpp b/src/osd/modules/sound/sdl_sound.cpp
-index 5ff8f2e6821..8c8d80cdf94 100644
---- a/src/osd/modules/sound/sdl_sound.cpp
-+++ b/src/osd/modules/sound/sdl_sound.cpp
-@@ -333,7 +333,7 @@ void sound_sdl::sdl_callback(void *userdata, Uint8 *stream, int len)
- int sound_sdl::init(const osd_options &options)
- {
- int n_channels = 2;
-- int audio_latency;
-+ float audio_latency;
- SDL_AudioSpec aspec, obtained;
- char audio_driver[16] = "";
-
-diff --git a/src/osd/osdcore.cpp b/src/osd/osdcore.cpp
-index fd696706e6b..fee08261a4f 100644
---- a/src/osd/osdcore.cpp
-+++ b/src/osd/osdcore.cpp
-@@ -133,13 +133,20 @@ void osd_vprintf_debug(util::format_argument_pack<std::ostream> const &args)
- }
-
-
-+#ifdef OSD_WINDOWS
-+ typedef std::chrono::steady_clock s_clock;
-+#else
-+ typedef std::chrono::high_resolution_clock s_clock;
-+#endif
-+
-+
- //============================================================
- // osd_ticks
- //============================================================
-
- osd_ticks_t osd_ticks()
- {
-- return std::chrono::high_resolution_clock::now().time_since_epoch().count();
-+ return s_clock::now().time_since_epoch().count();
- }
-
-
-@@ -149,7 +156,7 @@ osd_ticks_t osd_ticks()
-
- osd_ticks_t osd_ticks_per_second()
- {
-- return std::chrono::high_resolution_clock::period::den / std::chrono::high_resolution_clock::period::num;
-+ return s_clock::period::den / s_clock::period::num;
- }
-
- //============================================================
-@@ -162,7 +169,7 @@ void osd_sleep(osd_ticks_t duration)
- // sleep_for appears to oversleep on Windows with gcc 8
- Sleep(duration / (osd_ticks_per_second() / 1000));
- #else
-- std::this_thread::sleep_for(std::chrono::high_resolution_clock::duration(duration));
-+ std::this_thread::sleep_for(s_clock::duration(duration));
- #endif
- }
-
-diff --git a/src/osd/sdl/osdsdl.h b/src/osd/sdl/osdsdl.h
-index 4cbec2d9d14..48788a90aae 100644
---- a/src/osd/sdl/osdsdl.h
-+++ b/src/osd/sdl/osdsdl.h
-@@ -22,7 +22,6 @@
- #define SDLOPTION_SCALEMODE "scalemode"
-
- #define SDLOPTION_WAITVSYNC "waitvsync"
--#define SDLOPTION_SYNCREFRESH "syncrefresh"
- #define SDLOPTION_KEYMAP "keymap"
- #define SDLOPTION_KEYMAP_FILE "keymap_file"
-
-@@ -143,6 +142,8 @@ public:
- bool should_hide_mouse();
- void process_events_buf();
-
-+ void extract_video_config();
-+
- virtual sdl_options &options() override { return m_options; }
-
- protected:
-@@ -152,7 +153,6 @@ protected:
- private:
- virtual void osd_exit() override;
-
-- void extract_video_config();
- void output_oslog(const char *buffer);
-
- sdl_options &m_options;
-diff --git a/src/osd/sdl/sdlmain.cpp b/src/osd/sdl/sdlmain.cpp
-index 37d1434a2e8..0ac77667cdc 100644
---- a/src/osd/sdl/sdlmain.cpp
-+++ b/src/osd/sdl/sdlmain.cpp
-@@ -62,6 +62,10 @@
- #endif // INI_PATH
-
-
-+extern bool switchres_modeline_setup(running_machine &machine);
-+extern bool switchres_modeline_reset(running_machine &machine);
-+extern bool switchres_modeline_remove(running_machine &machine);
-+
- //============================================================
- // Global variables
- //============================================================
-@@ -257,6 +261,10 @@ void sdl_osd_interface::osd_exit()
- osd_common_t::osd_exit();
-
- SDL_QuitSubSystem(SDL_INIT_VIDEO);
-+
-+ // SwitchRes modeline removal
-+ switchres_modeline_reset(machine());
-+ switchres_modeline_remove(machine());
- }
-
- //============================================================
-@@ -415,6 +423,10 @@ void sdl_osd_interface::init(running_machine &machine)
-
- const char *stemp;
-
-+ // Switchres
-+ switchres_init_osd(machine);
-+ switchres_modeline_setup(machine);
-+
- // determine if we are benchmarking, and adjust options appropriately
- int bench = options().bench();
- if (bench > 0)
-diff --git a/src/osd/sdl/switchres_sdl.cpp b/src/osd/sdl/switchres_sdl.cpp
-new file mode 100644
-index 00000000000..19e0582d131
---- /dev/null
-+++ b/src/osd/sdl/switchres_sdl.cpp
-@@ -0,0 +1,606 @@
-+/**************************************************************
-+
-+ switchres_sdl.cpp - SDL OSD SwitchRes core routines
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2017 - Chris Kennedy, Antonio Giner, Alexandre W
-+
-+ **************************************************************/
-+
-+// SDL headers
-+#include "SDL_syswm.h"
-+
-+// MAME headers
-+#include "osdepend.h"
-+#include "emu.h"
-+#include "emuopts.h"
-+#include "../../frontend/mame/mameopts.h"
-+
-+// MAMEOS headers
-+#include "video.h"
-+#include "input.h"
-+#include "output.h"
-+#include "osdsdl.h"
-+#include "window.h"
-+
-+// X11 Xrandr headers
-+#include <X11/extensions/Xrandr.h>
-+
-+#define XRANDR_ARGS ""
-+#define min(a,b)({ __typeof__ (a) _a = (a);__typeof__ (b) _b = (b);_a < _b ? _a : _b; })
-+
-+#define XRANDR_TIMING 0x00000020
-+extern int fd;
-+
-+//============================================================
-+// PROTOTYPES
-+//============================================================
-+
-+bool switchres_init_osd(running_machine &machine);
-+bool switchres_modeline_setup(running_machine &machine);
-+bool switchres_modeline_remove(running_machine &machine);
-+bool switchres_modeline_reset(running_machine &machine);
-+bool switchres_resolution_change(sdl_window_info *window);
-+static bool add_custom_video_mode(modeline *mode, char *connector);
-+static bool set_custom_video_mode(modeline *mode, char *connector);
-+static int del_custom_video_mode(modeline *mode, char *connector);
-+static void set_option_osd(running_machine &machine, const char *option_ID, bool state);
-+
-+//============================================================
-+// LOCAL VARIABLES
-+//============================================================
-+
-+int mode_count = 1;
-+
-+//============================================================
-+// XRANDR
-+//============================================================
-+
-+static Display *dpy;
-+static Window root;
-+
-+static short original_rate;
-+static Rotation original_rotation;
-+static SizeID original_size_id;
-+static int width = 0;
-+static int height = 0;
-+
-+static int gmoutput_primary = 0;
-+static int gmoutput_mode = 0;
-+
-+static int (*old_error_handler)(Display *, XErrorEvent *);
-+
-+static int xerrors = 0;
-+
-+static int error_handler (Display *dpy, XErrorEvent *err)
-+{
-+ xerrors++;
-+ return 0;
-+} /* xorg_error_handler() */
-+
-+//============================================================
-+// switchres_init_osd
-+//============================================================
-+
-+bool switchres_init_osd(running_machine &machine)
-+{
-+ config_settings *cs = &machine.switchres.cs;
-+ game_info *game = &machine.switchres.game;
-+ modeline *mode_table = machine.switchres.video_modes;
-+ modeline *user_mode = &machine.switchres.user_mode;
-+ monitor_range *range = machine.switchres.range;
-+ const char * aspect;
-+ char *connector = machine.switchres.cs.connector;
-+ char resolution[32]={'\x00'};
-+
-+ sdl_options &options = downcast<sdl_options &>(machine.options());
-+
-+ // Initialize structures and config settings
-+ memset(cs, 0, sizeof(struct config_settings));
-+ memset(game, 0, sizeof(struct game_info));
-+
-+ // Init Switchres common info
-+ switchres_init(machine);
-+
-+ // Complete config settings
-+ strcpy(resolution, options.resolution());
-+ cs->monitor_count = options.numscreens();
-+
-+ // Get current resolution
-+ int screen = -1;
-+
-+ // dpy is global to reduce open/close calls, resource is freed when modeline is reset
-+ dpy = XOpenDisplay(NULL);
-+ int major_version, minor_version;
-+ XRRQueryVersion(dpy, &major_version, &minor_version);
-+ osd_printf_verbose("SwitchRes: xrandr version %d.%d\n",major_version,minor_version);
-+
-+ // select current display and root window
-+ // root is global to reduce open/close calls, resource is freed when modeline is reset
-+ screen = DefaultScreen(dpy); // multiple screen ScreenCount (dpy)
-+ root = RootWindow(dpy, screen);
-+ XRRScreenResources *res = XRRGetScreenResourcesCurrent(dpy, root);
-+
-+ // get screen size, rate and rotation from screen configuration
-+ XRRScreenConfiguration *sc = XRRGetScreenInfo(dpy, root);
-+ original_rate = XRRConfigCurrentRate(sc);
-+ original_size_id = XRRConfigCurrentConfiguration(sc, &original_rotation);
-+ XRRFreeScreenConfigInfo(sc);
-+
-+ Rotation current_rotation = 0;
-+ for (int o = 0; o < res->noutput && !gmoutput_mode; o++)
-+ {
-+ XRROutputInfo *output_info = XRRGetOutputInfo (dpy, res, res->outputs[o]);
-+ if (!output_info)
-+ osd_printf_error("SwitchRes: error could not get output 0x%x information\n", (uint) res->outputs[o]);
-+
-+ // first connected output
-+ if (output_info->connection == RR_Connected)
-+ {
-+ for (int j = 0; j < output_info->nmode && !gmoutput_mode; j++)
-+ {
-+ if ( output_info->crtc )
-+ {
-+ XRRCrtcInfo *crtc_info = XRRGetCrtcInfo(dpy, res, output_info->crtc);
-+ current_rotation = crtc_info->rotation;
-+ if (!strcmp(cs->connector, "auto") || !strcmp(cs->connector,output_info->name))
-+ {
-+ // connector name is kept but not necessary due to global gmoutput_primary varial, optimization can happen here
-+ sprintf(connector,"%s", output_info->name);
-+ osd_printf_verbose("SwitchRes: Found output connector '%s'\n", connector);
-+ gmoutput_primary = o;
-+ }
-+ for (int m = 0; m < res->nmode && !gmoutput_mode; m++)
-+ {
-+ XRRModeInfo *mode = &res->modes[m];
-+ // get screen mode
-+ if (crtc_info->mode == mode->id)
-+ {
-+ gmoutput_mode = mode->id;
-+ width = crtc_info->x + crtc_info->width;
-+ height = crtc_info->y + crtc_info->height;
-+ }
-+ }
-+ }
-+ if (current_rotation & 0xe) // screen rotation is left or right
-+ {
-+ osd_printf_verbose("Switchres: desktop rotation is %s\n",(current_rotation & 0x2)?"left":((current_rotation & 0x8)?"right":"inverted"));
-+ cs->desktop_rotated = 1;
-+ }
-+ }
-+ }
-+ XRRFreeOutputInfo(output_info);
-+ }
-+ XRRFreeScreenResources(res);
-+
-+ // Get per window resolution
-+ strcpy(resolution, strcmp(options.resolution(0), "auto")? options.resolution(0) : options.resolution());
-+
-+ // Get monitor aspect
-+ aspect = strcmp(options.aspect(0), "auto")? options.aspect(0) : options.aspect();
-+ if (strcmp(aspect, "auto"))
-+ {
-+ float num, den;
-+ sscanf(aspect, "%f:%f", &num, &den);
-+ cs->monitor_aspect = cs->desktop_rotated? den/num : num/den;
-+ }
-+ else
-+ cs->monitor_aspect = STANDARD_CRT_ASPECT;
-+
-+ // Create dummy mode table
-+ mode_table[1].width = mode_table[1].height = 1;
-+ mode_table[1].refresh = 60;
-+ mode_table[1].vfreq = mode_table[1].refresh;
-+ mode_table[1].hactive = mode_table[1].vactive = 1;
-+ mode_table[1].type = XYV_EDITABLE | XRANDR_TIMING | (cs->desktop_rotated? MODE_ROTATED : MODE_OK);
-+
-+ if (user_mode->hactive)
-+ {
-+ user_mode->width = user_mode->hactive;
-+ user_mode->height = user_mode->vactive;
-+ user_mode->refresh = int(user_mode->refresh);
-+ user_mode->type = XRANDR_TIMING | MODE_USER_DEF | (cs->desktop_rotated? MODE_ROTATED : MODE_OK);
-+ }
-+
-+ // Create automatic specs and force resolution for LCD monitors
-+ if (!strcmp(cs->monitor, "lcd"))
-+ {
-+ modeline current;
-+ memset(&current, 0, sizeof(struct modeline));
-+
-+ osd_printf_verbose("SwitchRes: Creating automatic specs for LCD based on VESA GTF\n");
-+ current.width = width;
-+ current.height = height;
-+ current.refresh = 60;
-+ modeline_vesa_gtf(&current);
-+ modeline_to_monitor_range(range, &current);
-+ monitor_show_range(range);
-+
-+ sprintf(resolution, "%dx%d@%d", current.width, current.height, current.refresh);
-+ }
-+ // Otherwise (non-LCD), convert the user defined modeline into a -resolution option
-+ else if (user_mode->hactive)
-+ sprintf(resolution, "%dx%d", user_mode->hactive, user_mode->vactive);
-+
-+ // Get resolution from ini
-+ if (strcmp(resolution, "auto"))
-+ {
-+ osd_printf_verbose("SwitchRes: -resolution was set at command line or in .ini file as %s\n", resolution);
-+
-+ if ((sscanf(resolution, "%dx%d@%d", &cs->width, &cs->height, &cs->refresh) < 3) &&
-+ ((!strstr(resolution, "x") || (sscanf(resolution, "%dx%d", &cs->width, &cs->height) != 2))))
-+ osd_printf_info("SwitchRes: illegal -resolution value: %s\n", resolution);
-+ else
-+ {
-+ // Add the user's resolution to our table
-+ if (!user_mode->hactive)
-+ {
-+ mode_table[1].width = mode_table[1].hactive = cs->width? cs->width : 1;
-+ mode_table[1].height = mode_table[1].vactive = cs->height? cs->height : 1;
-+ mode_table[1].refresh = cs->refresh? int(cs->refresh) : 60;
-+ mode_table[1].vfreq = mode_table[1].refresh;
-+ mode_table[1].type |= MODE_USER_DEF;
-+ if (cs->width) mode_table[1].type &= ~X_RES_EDITABLE;
-+ if (cs->height) mode_table[1].type &= ~Y_RES_EDITABLE;
-+ }
-+ }
-+ }
-+ // Get game info
-+ switchres_get_game_info(machine);
-+
-+ return true;
-+}
-+
-+//============================================================
-+// switchres_modeline_setup
-+//============================================================
-+
-+bool switchres_modeline_setup(running_machine &machine)
-+{
-+ modeline *best_mode = &machine.switchres.best_mode;
-+ modeline *mode_table = machine.switchres.video_modes;
-+ char *connector = machine.switchres.cs.connector;
-+ sdl_options &options = downcast<sdl_options &>(machine.options());
-+ sdl_osd_interface &osd = downcast<sdl_osd_interface &>(machine.osd());
-+ std::string error_string;
-+
-+ osd_printf_verbose("\nSwitchRes: Entering switchres_modeline_setup\n");
-+
-+ // Find most suitable video mode and generate a modeline for it if we're allowed
-+ if (!switchres_get_video_mode(machine))
-+ {
-+ set_option_osd(machine, OSDOPTION_SWITCHRES, false);
-+ return false;
-+ }
-+
-+ // Make the new modeline available to the system
-+ if (machine.options().modeline_generation())
-+ {
-+ // Lock mode before adding it to mode table
-+ best_mode->type |= MODE_DISABLED;
-+
-+ // Check if the same mode had been created already
-+ int i;
-+ bool found = false;
-+ for (i = 2; i <= mode_count; i++)
-+ if (!memcmp(&mode_table[i], best_mode, sizeof(modeline) - sizeof(mode_result)))
-+ found = true;
-+
-+ // Create the new mode and store it in our table
-+ if (!found)
-+ {
-+ mode_count++;
-+ memcpy(&mode_table[mode_count], best_mode, sizeof(modeline));
-+ add_custom_video_mode(best_mode, connector);
-+ }
-+
-+ // Switch to the new mode
-+ set_custom_video_mode(best_mode, connector);
-+ }
-+
-+ // Set MAME common options
-+ switchres_set_options(machine);
-+
-+ // Black frame insertion / multithreading
-+ bool black_frame_insertion = options.black_frame_insertion() && best_mode->result.v_scale > 1 && best_mode->vfreq > 100;
-+ set_option_osd(machine, OPTION_BLACK_FRAME_INSERTION, black_frame_insertion);
-+
-+ // Set MAME OSD specific options
-+
-+ // Vertical synchronization management (autosync)
-+ // Disable -syncrefresh if our vfreq is scaled or out of syncrefresh_tolerance
-+ bool sync_refresh_effective = black_frame_insertion || !((best_mode->result.weight & R_V_FREQ_OFF) || best_mode->result.v_scale > 1);
-+ set_option_osd(machine, OPTION_SYNCREFRESH, options.autosync()? sync_refresh_effective : options.sync_refresh());
-+ set_option_osd(machine, OSDOPTION_WAITVSYNC, options.sync_refresh()? options.sync_refresh() : options.wait_vsync());
-+
-+ // Set filter options
-+ set_option_osd(machine, OSDOPTION_FILTER, ((best_mode->result.weight & R_RES_STRETCH || best_mode->interlace)));
-+
-+ // Refresh video options
-+ osd.extract_video_config();
-+
-+ return true;
-+}
-+
-+//============================================================
-+// switchres_modeline_remove
-+//============================================================
-+
-+bool switchres_modeline_remove(running_machine &machine)
-+{
-+ return true;
-+}
-+
-+//============================================================
-+// switchres_modeline_reset
-+//============================================================
-+
-+bool switchres_modeline_reset(running_machine &machine)
-+{
-+ config_settings *cs = &machine.switchres.cs;
-+ modeline *mode_table = machine.switchres.video_modes;
-+
-+ // Restore desktop resolution
-+ XRRScreenResources *res = XRRGetScreenResourcesCurrent(dpy, root);
-+ XRRScreenConfiguration *sc = XRRGetScreenInfo(dpy, root);
-+
-+ XRRSetScreenConfigAndRate(dpy, sc, root, original_size_id, original_rotation, original_rate, CurrentTime);
-+ XRRFreeScreenConfigInfo(sc);
-+ XRRFreeScreenResources(res);
-+
-+ osd_printf_verbose("SwitchRes: xrandr original video mode restored.\n");
-+
-+ // Remove modelines
-+ while (mode_count > 1)
-+ {
-+ del_custom_video_mode(&mode_table[mode_count], cs->connector);
-+ mode_count--;
-+ }
-+
-+ XCloseDisplay(dpy);
-+ return true;
-+}
-+
-+//============================================================
-+// switchres_resolution_change
-+//============================================================
-+
-+bool switchres_resolution_change(sdl_window_info *window)
-+{
-+ running_machine &machine = window->machine();
-+ modeline *best_mode = &machine.switchres.best_mode;
-+ modeline previous_mode;
-+
-+ // If there's no pending change, just exit
-+ if (!switchres_check_resolution_change(machine))
-+ return false;
-+
-+ // Get the new resolution
-+ previous_mode = *best_mode;
-+ switchres_modeline_setup(machine);
-+
-+ // Only change resolution if the new one is actually different
-+ if (memcmp(&previous_mode, best_mode, offsetof(modeline, result)))
-+ return true;
-+
-+ return false;
-+}
-+
-+//============================================================
-+// add_custom_video_mode
-+//============================================================
-+
-+static bool add_custom_video_mode(modeline *mode, char *connector)
-+{
-+ if (!mode)
-+ return false;
-+
-+ // Add modeline to interface
-+ char name[48];
-+ sprintf(name,"GM-%dx%d_%.6f",mode->hactive, mode->vactive, mode->vfreq); // add ID
-+
-+ // Setup the xrandr mode structure
-+ XRRModeInfo xmode;
-+ xmode.name = name;
-+ xmode.nameLength = strlen(name);
-+ xmode.dotClock = float(mode->pclock);
-+ xmode.width = mode->hactive;
-+ xmode.hSyncStart = mode->hbegin;
-+ xmode.hSyncEnd = mode->hend;
-+ xmode.hTotal = mode->htotal;
-+ xmode.height = mode->vactive;
-+ xmode.vSyncStart = mode->vbegin;
-+ xmode.vSyncEnd = mode->vend;
-+ xmode.vTotal = mode->vtotal;
-+ xmode.modeFlags = (mode->interlace?RR_Interlace:0) | (mode->doublescan?RR_DoubleScan:0) | (mode->hsync?RR_HSyncPositive:RR_HSyncNegative) | (mode->vsync?RR_VSyncPositive:RR_VSyncNegative);
-+
-+ // Create the modeline
-+ XSync(dpy, False);
-+ xerrors = 0;
-+ old_error_handler = XSetErrorHandler(error_handler);
-+ RRMode gmid = XRRCreateMode(dpy, root, &xmode);
-+ XSync(dpy, False);
-+ XSetErrorHandler(old_error_handler);
-+ if (xerrors)
-+ osd_printf_error("Switchres: xrandr error in %s\n","XRRCreateMode");
-+
-+ // Add new modeline to primary output
-+ XRRScreenResources *res = XRRGetScreenResourcesCurrent(dpy, root);
-+
-+ XSync(dpy, False);
-+ xerrors = 0;
-+ old_error_handler = XSetErrorHandler(error_handler);
-+ XRRAddOutputMode(dpy, res->outputs[gmoutput_primary], gmid);
-+ XSync(dpy, False);
-+ XSetErrorHandler(old_error_handler);
-+ if (xerrors)
-+ osd_printf_error("Switchres: xrandr error in %s\n","XRRAddOutputMode");
-+
-+ XRRFreeScreenResources(res);
-+ return true;
-+}
-+
-+//============================================================
-+// set_custom_video_mode
-+//============================================================
-+
-+static bool set_custom_video_mode(modeline *mode, char *connector)
-+{
-+ // Use xrandr to switch to new mode. SDL_SetVideoMode doesn't work when (new_width, new_height)==(old_width, old_height)
-+ char name[48];
-+ sprintf(name,"GM-%dx%d_%.6f",mode->hactive, mode->vactive, mode->vfreq); // add ID
-+
-+ XRRScreenResources *res = XRRGetScreenResourcesCurrent(dpy, root);
-+ XRROutputInfo *output_info = XRRGetOutputInfo(dpy, res, res->outputs[gmoutput_primary]);
-+ XRRCrtcInfo *crtc_info = XRRGetCrtcInfo(dpy, res, output_info->crtc);
-+
-+ // Select corresponding mode from modeline, can be enhanced by saving mode index to modeline structure
-+ XRRModeInfo *xmode=0;
-+ for (int m = 0; m < res->nmode; m++)
-+ {
-+ XRRModeInfo *tmp_mode = &res->modes[m];
-+ if (!strcmp(name, tmp_mode->name))
-+ {
-+ xmode = &res->modes[m];
-+ }
-+ }
-+
-+ // Grab X server to prevent unwanted interaction from the window manager
-+ XGrabServer(dpy);
-+
-+ // Disable all CRTCs
-+ for (int i = 0; i < output_info->ncrtc; i++)
-+ {
-+ if (XRRSetCrtcConfig(dpy, res, output_info->crtcs[i], CurrentTime, 0, 0, None, RR_Rotate_0, NULL, 0) != RRSetConfigSuccess)
-+ osd_printf_error("Switchres: xrandr error when disabling CRTC.\n");
-+ }
-+ osd_printf_verbose("Switchres: CRTC %d: mode %#lx, %ux%u+%d+%d.\n", 0, crtc_info->mode,crtc_info->width, crtc_info->height, crtc_info->x, crtc_info->y);
-+
-+ // Check if framebuffer size is correct
-+ int change_resolution = 0;
-+ if (width < crtc_info->x + mode->hactive)
-+ {
-+ width = crtc_info->x + mode->hactive;
-+ change_resolution = 1;
-+ }
-+ if (height < crtc_info->y + mode->vactive)
-+ {
-+ height = crtc_info->y + mode->vactive;
-+ change_resolution = 1;
-+ }
-+
-+ // Enlarge the screen size for the new mode
-+ if (change_resolution)
-+ {
-+ osd_printf_verbose("Switchres: xrandr change screen size.\n");
-+ XSync(dpy, False);
-+ xerrors = 0;
-+ old_error_handler = XSetErrorHandler(error_handler);
-+ XRRSetScreenSize(dpy, root, width, height, (25.4 * width) / 96.0, (25.4 * height) / 96.0);
-+ XSync(dpy, False);
-+ XSetErrorHandler(old_error_handler);
-+ if (xerrors)
-+ osd_printf_error("Switchres: xrandr error in %s\n","XRRSetScreenSize");
-+ }
-+
-+ // Switch to new modeline
-+ XSync(dpy, False);
-+ xerrors = 0;
-+ old_error_handler = XSetErrorHandler(error_handler);
-+ XRRSetCrtcConfig(dpy, res, output_info->crtc, CurrentTime , crtc_info->x, crtc_info->y, xmode->id, original_rotation, crtc_info->outputs, crtc_info->noutput);
-+ XSync(dpy, False);
-+ XSetErrorHandler(old_error_handler);
-+
-+ XRRFreeCrtcInfo(crtc_info);
-+
-+ if (xerrors)
-+ osd_printf_error("Switchres: xrandr error in %s\n","XRRSetCrtcConfig");
-+
-+ // Release X server, events can be processed now
-+ XUngrabServer(dpy);
-+
-+ crtc_info = XRRGetCrtcInfo(dpy, res, output_info->crtc); // recall crtc to settle parameters
-+
-+ // If the crtc config modeline change fails, revert to original mode (prevents ending with black screen due to all crtc disabled)
-+ if (crtc_info->mode == 0)
-+ {
-+ osd_printf_error("Switchres: xrandr resolution switch error, original mode restored\n");
-+ XRRScreenConfiguration *sc = XRRGetScreenInfo(dpy, root);
-+ XRRSetScreenConfigAndRate(dpy, sc, root, original_size_id, original_rotation, original_rate, CurrentTime);
-+ XRRFreeScreenConfigInfo(sc);
-+ }
-+
-+ // check, verify current active mode
-+ for (int m = 0; m < res->nmode; m++)
-+ {
-+ XRRModeInfo *mode = &res->modes[m];
-+ if (mode->id == crtc_info->mode)
-+ osd_printf_verbose("Switchres: xrandr mode (%s) (0x%x) %6.6fMHz\n", mode->name, (int)mode->id,(double)mode->dotClock / 1000000.0);
-+ }
-+
-+ XRRFreeCrtcInfo(crtc_info);
-+ XRRFreeOutputInfo(output_info);
-+ XRRFreeScreenResources(res);
-+
-+ return true;
-+}
-+
-+//============================================================
-+// del_custom_video_mode
-+//============================================================
-+
-+static int del_custom_video_mode(modeline *mode, char *connector)
-+{
-+ if (!mode)
-+ return false;
-+
-+ char name[48];
-+ sprintf(name,"GM-%dx%d_%.6f",mode->hactive, mode->vactive, mode->vfreq); // add ID
-+
-+ XRRScreenResources *res = XRRGetScreenResourcesCurrent (dpy, root);
-+
-+ // Delete modeline
-+ for (int m = 0; m < res->nmode; m++)
-+ {
-+ XRRModeInfo *xmode = &res->modes[m];
-+ if (!strcmp(name, xmode->name))
-+ {
-+ XSync(dpy, False);
-+ xerrors = 0;
-+ old_error_handler = XSetErrorHandler(error_handler);
-+ XRRDeleteOutputMode (dpy, res->outputs[gmoutput_primary], xmode->id);
-+ if (xerrors)
-+ osd_printf_error("Switchres: xrandr error in %s\n","XRRDeleteOutputMode");
-+
-+ xerrors = 0;
-+ XRRDestroyMode (dpy, xmode->id);
-+ XSync(dpy, False);
-+ XSetErrorHandler(old_error_handler);
-+ if (xerrors)
-+ osd_printf_error("Switchres: xrandr error in %s\n","XRRDestroyMode");
-+ }
-+ }
-+
-+ XRRFreeScreenResources(res);
-+
-+ return true;
-+}
-+
-+//============================================================
-+// set_option_osd - option setting wrapper
-+//============================================================
-+
-+static void set_option_osd(running_machine &machine, const char *option_ID, bool state)
-+{
-+ sdl_options &options = downcast<sdl_options &>(machine.options());
-+
-+ options.set_value(option_ID, state, OPTION_PRIORITY_SWITCHRES);
-+ osd_printf_verbose("SwitchRes: Setting option -%s%s\n", machine.options().bool_value(option_ID)?"":"no", option_ID);
-+}
-diff --git a/src/osd/sdl/video.cpp b/src/osd/sdl/video.cpp
-index e7af55e56ba..8d1eeb1eaa8 100644
---- a/src/osd/sdl/video.cpp
-+++ b/src/osd/sdl/video.cpp
-@@ -247,12 +247,7 @@ void sdl_osd_interface::extract_video_config()
- video_config.centerh = options().centerh();
- video_config.centerv = options().centerv();
- video_config.waitvsync = options().wait_vsync();
-- video_config.syncrefresh = options().sync_refresh();
-- if (!video_config.waitvsync && video_config.syncrefresh)
-- {
-- osd_printf_warning("-syncrefresh specified without -waitvsync. Reverting to -nosyncrefresh\n");
-- video_config.syncrefresh = 0;
-- }
-+ video_config.syncrefresh = machine().options().sync_refresh();
-
- if (video_config.prescale < 1 || video_config.prescale > 8)
- {
-diff --git a/src/osd/sdl/window.cpp b/src/osd/sdl/window.cpp
-index 70886d76a73..83f6c5f035d 100644
---- a/src/osd/sdl/window.cpp
-+++ b/src/osd/sdl/window.cpp
-@@ -80,6 +80,7 @@ public:
- // PROTOTYPES
- //============================================================
-
-+extern bool switchres_resolution_change(sdl_window_info *window);
-
- //============================================================
- // window_init
-@@ -352,6 +353,23 @@ void sdl_window_info::modify_prescale(int dir)
- }
- }
-
-+void sdl_window_info::reset_fullscreen_renderer()
-+{
-+#if (SDLMAME_SDL2)
-+ if (this->fullscreen() && video_config.switchres)
-+ {
-+ complete_destroy();
-+ SDL_QuitSubSystem(SDL_INIT_VIDEO);
-+ SDL_InitSubSystem(SDL_INIT_VIDEO);
-+ complete_create();
-+ }
-+#else
-+ if (this->fullscreen() && video_config.switchres)
-+ this->window_resize(window->minwidth, window->minheight);
-+#endif
-+}
-+
-+
- //============================================================
- // sdlwindow_update_cursor_state
- // (main or window thread)
-@@ -491,6 +509,14 @@ osd_dim sdl_window_info::pick_best_mode()
- float size_score, best_score = 0.0f;
- osd_dim ret(0,0);
-
-+ // check if we already have a best mode
-+ modeline *mode = &this->machine().switchres.best_mode;
-+ if (mode->hactive)
-+ {
-+ ret = osd_dim(mode->type & MODE_ROTATED? mode->vactive : mode->hactive, mode->type & MODE_ROTATED? mode->hactive : mode->vactive);
-+ return ret;
-+ }
-+
- // determine the minimum width/height for the selected target
- m_target->compute_minimum_size(minimum_width, minimum_height);
-
-@@ -584,8 +610,15 @@ void sdl_window_info::update()
- }
- else if (video_config.switchres)
- {
-- osd_dim tmp = this->pick_best_mode();
-- resize(tmp.width(), tmp.height());
-+ // check resolution change
-+ if (renderer().m_switchres_mode != nullptr && video_config.switchres && machine().options().changeres())
-+ {
-+ if (switchres_resolution_change(this))
-+ {
-+ reset_fullscreen_renderer();
-+ return;
-+ }
-+ }
- }
- }
-
-diff --git a/src/osd/sdl/window.h b/src/osd/sdl/window.h
-index d6010e91ed2..9b2ef28371b 100644
---- a/src/osd/sdl/window.h
-+++ b/src/osd/sdl/window.h
-@@ -73,7 +73,6 @@ public:
- // Pointer to next window
- sdl_window_info * m_next;
-
--private:
- // window handle and info
- char m_title[256];
- int m_startmaximized;
-@@ -105,6 +104,7 @@ private:
- void update_cursor_state();
- osd_dim pick_best_mode();
- void set_fullscreen(int afullscreen) { m_fullscreen = afullscreen; }
-+ void reset_fullscreen_renderer();
-
- // Pointer to machine
- running_machine & m_machine;
-diff --git a/src/osd/windows/custom_video.cpp b/src/osd/windows/custom_video.cpp
-new file mode 100644
-index 00000000000..a07fb6dc95c
---- /dev/null
-+++ b/src/osd/windows/custom_video.cpp
-@@ -0,0 +1,359 @@
-+/**************************************************************
-+
-+ custom_video.cpp - Custom video library
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+// standard windows headers
-+#include <windows.h>
-+
-+#include "emu.h"
-+#include "custom_video.h"
-+#include "custom_video_ati.h"
-+#include "custom_video_adl.h"
-+#include "custom_video_pstrip.h"
-+
-+extern bool ati_is_legacy(int vendor, int device);
-+
-+//============================================================
-+// LOCAL VARIABLES
-+//============================================================
-+
-+static int custom_method;
-+static modeline m_user_mode;
-+static modeline m_backup_mode;
-+static modeline *m_mode_table;
-+static char m_device_name[32];
-+static char m_device_key[128];
-+static char ps_timing[256];
-+
-+//============================================================
-+// custom_video_init
-+//============================================================
-+
-+bool custom_video_init(char *device_name, char *device_id, modeline *desktop_mode, modeline *user_mode, modeline *mode_table, int method, char *s_param)
-+{
-+ memset(&m_backup_mode, 0, sizeof(modeline));
-+ memcpy(&m_user_mode, user_mode, sizeof(modeline));
-+ memcpy(m_device_name, device_name, sizeof(m_device_name));
-+ m_mode_table = mode_table;
-+
-+ if ((method == CUSTOM_VIDEO_TIMING_POWERSTRIP) && ps_init(ps_monitor_index(m_device_name), &m_backup_mode))
-+ {
-+ custom_method = CUSTOM_VIDEO_TIMING_POWERSTRIP;
-+ m_backup_mode.type |= CUSTOM_VIDEO_TIMING_POWERSTRIP;
-+
-+ // If we have a -ps_timing string defined, use it as user defined modeline
-+ memcpy(ps_timing, s_param, sizeof(ps_timing));
-+ if (strcmp(ps_timing, "auto"))
-+ {
-+ MonitorTiming timing;
-+ if (ps_read_timing_string(ps_timing, &timing))
-+ {
-+ ps_pstiming_to_modeline(&timing, &m_user_mode);
-+ m_user_mode.type |= CUSTOM_VIDEO_TIMING_POWERSTRIP;
-+ memcpy(user_mode, &m_user_mode, sizeof(modeline));
-+
-+ char modeline_txt[256]={'\x00'};
-+ osd_printf_verbose("SwitchRes: ps_string: %s (%s)\n", ps_timing, modeline_print(&m_user_mode, modeline_txt, MS_PARAMS));
-+ }
-+ else osd_printf_verbose("Switchres: ps_timing string with invalid format\n");
-+ }
-+ return true;
-+ }
-+ else
-+ {
-+ int vendor, device;
-+ custom_video_parse_pci_id(device_id, &vendor, &device);
-+
-+ if (vendor == 0x1002) // ATI/AMD
-+ {
-+ if (ati_is_legacy(vendor, device))
-+ {
-+ memcpy(m_device_key, s_param, sizeof(m_device_key));
-+ if (ati_init(m_device_name, m_device_key, device_id))
-+ {
-+ custom_method = CUSTOM_VIDEO_TIMING_ATI_LEGACY;
-+ return true;
-+ }
-+ }
-+ else
-+ {
-+ memcpy(m_device_key, s_param, sizeof(m_device_key));
-+ if (adl_init(m_device_name, m_device_key, device_id))
-+ {
-+ custom_method = CUSTOM_VIDEO_TIMING_ATI_ADL;
-+ return true;
-+ }
-+ }
-+ }
-+ else
-+ osd_printf_info("Video chipset is not compatible.\n");
-+ }
-+
-+ return false;
-+}
-+
-+//============================================================
-+// custom_video_close
-+//============================================================
-+
-+void custom_video_close()
-+{
-+ switch (custom_method)
-+ {
-+ case CUSTOM_VIDEO_TIMING_ATI_LEGACY:
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_ATI_ADL:
-+ adl_close();
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_POWERSTRIP:
-+ break;
-+ }
-+}
-+
-+//============================================================
-+// custom_video_get_timing
-+//============================================================
-+
-+bool custom_video_get_timing(modeline *mode)
-+{
-+ char modeline_txt[256]={'\x00'};
-+
-+ switch (custom_method)
-+ {
-+ case CUSTOM_VIDEO_TIMING_ATI_LEGACY:
-+ if (ati_get_modeline(mode))
-+ {
-+ osd_printf_verbose("ATI legacy timing %s\n", modeline_print(mode, modeline_txt, MS_FULL));
-+ mode->type |= CUSTOM_VIDEO_TIMING_ATI_LEGACY | (!(mode->type & MODE_DESKTOP)? V_FREQ_EDITABLE | (mode->width == DUMMY_WIDTH? X_RES_EDITABLE:0):0);
-+ return true;
-+ }
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_ATI_ADL:
-+ if (adl_get_modeline(m_device_name, mode))
-+ {
-+ osd_printf_verbose("ATI ADL timing %s\n", modeline_print(mode, modeline_txt, MS_FULL));
-+ mode->type |= CUSTOM_VIDEO_TIMING_ATI_ADL | (!(mode->type & MODE_DESKTOP)? V_FREQ_EDITABLE :0);
-+ return true;
-+ }
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_POWERSTRIP:
-+ if ((mode->type & MODE_DESKTOP) && ps_get_modeline(ps_monitor_index(m_device_name), mode))
-+ osd_printf_verbose("Powerstrip timing %s\n", modeline_print(mode, modeline_txt, MS_FULL));
-+ else
-+ osd_printf_verbose("Not current mode\n");
-+
-+ mode->type |= CUSTOM_VIDEO_TIMING_POWERSTRIP | V_FREQ_EDITABLE;
-+ return true;
-+ }
-+
-+ osd_printf_verbose("system mode\n");
-+ mode->type |= CUSTOM_VIDEO_TIMING_SYSTEM;
-+ return false;
-+}
-+
-+//============================================================
-+// custom_video_set_timing
-+//============================================================
-+
-+bool custom_video_set_timing(modeline *mode)
-+{
-+ char modeline_txt[256]={'\x00'};
-+
-+ switch (custom_method)
-+ {
-+ case CUSTOM_VIDEO_TIMING_ATI_LEGACY:
-+ if (ati_set_modeline(mode))
-+ {
-+ osd_printf_verbose("ATI legacy timing %s\n", modeline_print(mode, modeline_txt, MS_FULL));
-+ return true;
-+ }
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_ATI_ADL:
-+ if (adl_set_modeline(m_device_name, mode, mode->interlace != m_backup_mode.interlace? MODELINE_UPDATE_LIST : MODELINE_UPDATE))
-+ {
-+ osd_printf_verbose("ATI ADL timing %s\n", modeline_print(mode, modeline_txt, MS_FULL));
-+ return true;
-+ }
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_POWERSTRIP:
-+ // In case -ps_timing is provided, pass it as raw string
-+ if (m_user_mode.type & CUSTOM_VIDEO_TIMING_POWERSTRIP)
-+ ps_set_monitor_timing_string(ps_monitor_index(m_device_name), (char*)ps_timing);
-+ // Otherwise pass it as modeline
-+ else
-+ ps_set_modeline(ps_monitor_index(m_device_name), mode);
-+
-+ osd_printf_verbose("Powerstrip timing %s\n", modeline_print(mode, modeline_txt, MS_FULL));
-+ Sleep(100);
-+ return true;
-+ break;
-+
-+ default:
-+ break;
-+ }
-+ return false;
-+}
-+
-+//============================================================
-+// custom_video_restore_timing
-+//============================================================
-+
-+bool custom_video_restore_timing()
-+{
-+ if (!m_backup_mode.hactive)
-+ return false;
-+
-+ // Restore backup mode
-+ return custom_video_update_timing(0);
-+}
-+
-+//============================================================
-+// custom_video_refresh_timing
-+//============================================================
-+
-+void custom_video_refresh_timing()
-+{
-+ switch (custom_method)
-+ {
-+ case CUSTOM_VIDEO_TIMING_ATI_LEGACY:
-+ ati_refresh_timings();
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_ATI_ADL:
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_POWERSTRIP:
-+ break;
-+ }
-+}
-+
-+//============================================================
-+// custom_video_update_timing
-+//============================================================
-+
-+bool custom_video_update_timing(modeline *mode)
-+{
-+ switch (custom_method)
-+ {
-+ case CUSTOM_VIDEO_TIMING_ATI_LEGACY:
-+ case CUSTOM_VIDEO_TIMING_ATI_ADL:
-+
-+ // Restore old video timing
-+ if (m_backup_mode.hactive)
-+ {
-+ osd_printf_verbose("Switchres: restoring ");
-+ custom_video_set_timing(&m_backup_mode);
-+ }
-+
-+ // Update with new video timing
-+ if (mode)
-+ {
-+ // Backup current timing
-+ int found = 0;
-+ for (int i = 0; i <= MAX_MODELINES; i++)
-+ {
-+ if (m_mode_table[i].width == mode->width && m_mode_table[i].height == mode->height && m_mode_table[i].refresh == mode->refresh)
-+ {
-+ memcpy(&m_backup_mode, &m_mode_table[i], sizeof(modeline));
-+ found = 1;
-+ break;
-+ }
-+ }
-+ if (!found)
-+ {
-+ osd_printf_verbose("Switchres: mode not found in mode_table\n");
-+ return false;
-+ }
-+ osd_printf_verbose("Switchres: saving ");
-+ custom_video_get_timing(&m_backup_mode);
-+
-+ // Apply new timing now
-+ osd_printf_verbose("Switchres: updating ");
-+ if (!custom_video_set_timing(mode)) goto error;
-+ }
-+ custom_video_refresh_timing();
-+ break;
-+
-+ case CUSTOM_VIDEO_TIMING_POWERSTRIP:
-+ // We only backup/restore the desktop mode with Powerstrip
-+ if (!mode)
-+ ps_reset(ps_monitor_index(m_device_name));
-+ else
-+ {
-+ osd_printf_verbose("Switchres: updating ");
-+ custom_video_set_timing(mode);
-+ }
-+ break;
-+ }
-+ return true;
-+
-+error:
-+ osd_printf_verbose(": error updating video timings\n");
-+ return false;
-+}
-+
-+//============================================================
-+// custom_video_parse_timing
-+//============================================================
-+
-+bool custom_video_parse_timing(char *timing_string, modeline *user_mode)
-+{
-+ char modeline_txt[256]={'\x00'};
-+
-+ if (!strcmp(timing_string, "auto"))
-+ return false;
-+
-+ if (strstr(timing_string, "="))
-+ {
-+ // Powerstrip timing string
-+ MonitorTiming timing;
-+ ps_read_timing_string(timing_string, &timing);
-+ ps_pstiming_to_modeline(&timing, user_mode);
-+ user_mode->type |= CUSTOM_VIDEO_TIMING_POWERSTRIP;
-+ osd_printf_verbose("SwitchRes: ps_string: %s (%s)\n", timing_string, modeline_print(user_mode, modeline_txt, MS_PARAMS));
-+ }
-+ else
-+ {
-+ // Normal modeline
-+ modeline_parse(timing_string, user_mode);
-+ osd_printf_verbose("SwitchRes: modeline: %s \n", modeline_print(user_mode, modeline_txt, MS_PARAMS));
-+ }
-+
-+ return true;
-+}
-+
-+//============================================================
-+// custom_video_parse_pci_id
-+//============================================================
-+
-+int custom_video_parse_pci_id(char *device_id, int *vendor, int *device)
-+{
-+ return sscanf(device_id, "PCI\\VEN_%x&DEV_%x", vendor, device);
-+}
-+
-+//============================================================
-+// custom_get_backup_mode
-+//============================================================
-+
-+modeline *custom_video_get_backup_mode()
-+{
-+ return &m_backup_mode;
-+}
-diff --git a/src/osd/windows/custom_video.h b/src/osd/windows/custom_video.h
-new file mode 100644
-index 00000000000..4e0fe242d75
---- /dev/null
-+++ b/src/osd/windows/custom_video.h
-@@ -0,0 +1,31 @@
-+/**************************************************************
-+
-+ custom_video.h - Custom video library header
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#define CUSTOM_VIDEO_TIMING_MASK 0x00000ff0
-+#define CUSTOM_VIDEO_TIMING_SYSTEM 0x00000010
-+#define CUSTOM_VIDEO_TIMING_XRANDR 0x00000020
-+#define CUSTOM_VIDEO_TIMING_POWERSTRIP 0x00000040
-+#define CUSTOM_VIDEO_TIMING_ATI_LEGACY 0x00000080
-+#define CUSTOM_VIDEO_TIMING_ATI_ADL 0x00000100
-+
-+bool custom_video_init(char *device_name, char *device_id, modeline *desktop_mode, modeline *user_mode, modeline *mode_table, int method, char *s_param);
-+void custom_video_close();
-+bool custom_video_get_timing(modeline *mode);
-+bool custom_video_set_timing(modeline *mode);
-+bool custom_video_restore_timing();
-+bool custom_video_update_timing(modeline *mode);
-+int custom_video_parse_pci_id(char *device_id, int *vendor, int *device);
-+modeline *custom_video_get_backup_mode();
-diff --git a/src/osd/windows/custom_video_adl.cpp b/src/osd/windows/custom_video_adl.cpp
-new file mode 100644
-index 00000000000..5d90fc127b1
---- /dev/null
-+++ b/src/osd/windows/custom_video_adl.cpp
-@@ -0,0 +1,376 @@
-+/**************************************************************
-+
-+ custom_video_adl.cpp - ATI/AMD ADL library
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+// Constants and structures ported from AMD ADL SDK files
-+
-+#include <windows.h>
-+#include "emu.h"
-+#include "custom_video_adl.h"
-+
-+bool enum_displays(HINSTANCE h_dll);
-+
-+typedef void* (__stdcall *ADL_MAIN_MALLOC_CALLBACK)(int);
-+typedef int (*ADL_MAIN_CONTROL_CREATE)(ADL_MAIN_MALLOC_CALLBACK, int);
-+typedef int (*ADL_MAIN_CONTROL_DESTROY)();
-+typedef int (*ADL_ADAPTER_NUMBEROFADAPTERS_GET) (int*);
-+typedef int (*ADL_ADAPTER_ADAPTERINFO_GET) (LPAdapterInfo, int);
-+typedef int (*ADL_DISPLAY_DISPLAYINFO_GET) (int, int *, ADLDisplayInfo **, int);
-+typedef int (*ADL_DISPLAY_MODETIMINGOVERRIDE_GET) (int iAdapterIndex, int iDisplayIndex, ADLDisplayMode *lpModeIn, ADLDisplayModeInfo *lpModeInfoOut);
-+typedef int (*ADL_DISPLAY_MODETIMINGOVERRIDE_SET) (int iAdapterIndex, int iDisplayIndex, ADLDisplayModeInfo *lpMode, int iForceUpdate);
-+typedef int (*ADL_DISPLAY_MODETIMINGOVERRIDELIST_GET) (int iAdapterIndex, int iDisplayIndex, int iMaxNumOfOverrides, ADLDisplayModeInfo *lpModeInfoList, int *lpNumOfOverrides);
-+
-+ADL_ADAPTER_NUMBEROFADAPTERS_GET ADL_Adapter_NumberOfAdapters_Get;
-+ADL_ADAPTER_ADAPTERINFO_GET ADL_Adapter_AdapterInfo_Get;
-+ADL_DISPLAY_DISPLAYINFO_GET ADL_Display_DisplayInfo_Get;
-+ADL_DISPLAY_MODETIMINGOVERRIDE_GET ADL_Display_ModeTimingOverride_Get;
-+ADL_DISPLAY_MODETIMINGOVERRIDE_SET ADL_Display_ModeTimingOverride_Set;
-+ADL_DISPLAY_MODETIMINGOVERRIDELIST_GET ADL_Display_ModeTimingOverrideList_Get;
-+
-+HINSTANCE hDLL;
-+LPAdapterInfo lpAdapterInfo = NULL;
-+LPAdapterList lpAdapter;
-+int iNumberAdapters;
-+int cat_version, sub_version;
-+
-+int invert_pol(bool on_read) { return ((cat_version <= 12) || (cat_version >= 15 && on_read)); }
-+int interlace_factor(bool interlace, bool on_read) { return interlace && ((cat_version <= 12) || (cat_version >= 15 && on_read))? 2 : 1; }
-+
-+
-+//============================================================
-+// memory allocation callbacks
-+//============================================================
-+
-+void* __stdcall ADL_Main_Memory_Alloc(int iSize)
-+{
-+ void* lpBuffer = malloc(iSize);
-+ return lpBuffer;
-+}
-+
-+void __stdcall ADL_Main_Memory_Free(void** lpBuffer)
-+{
-+ if (NULL != *lpBuffer)
-+ {
-+ free(*lpBuffer);
-+ *lpBuffer = NULL;
-+ }
-+}
-+
-+//============================================================
-+// adl_get_driver_version
-+//============================================================
-+
-+bool adl_get_driver_version(char *device_key)
-+{
-+ HKEY hkey;
-+ bool found = false;
-+
-+ if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, device_key, 0, KEY_READ , &hkey) == ERROR_SUCCESS)
-+ {
-+ BYTE cat_ver[32];
-+ DWORD length = sizeof(cat_ver);
-+ if ((RegQueryValueExA(hkey, "Catalyst_Version", NULL, NULL, cat_ver, &length) == ERROR_SUCCESS) ||
-+ (RegQueryValueExA(hkey, "RadeonSoftwareVersion", NULL, NULL, cat_ver, &length) == ERROR_SUCCESS))
-+ {
-+ found = true;
-+ sscanf((char *)cat_ver, "%d.%d", &cat_version, &sub_version);
-+ osd_printf_verbose("AMD driver version %d.%d\n", cat_version, sub_version);
-+ }
-+ RegCloseKey(hkey);
-+ }
-+ return found;
-+}
-+
-+//============================================================
-+// adl_open
-+//============================================================
-+
-+int adl_open()
-+{
-+ ADL_MAIN_CONTROL_CREATE ADL_Main_Control_Create;
-+ int ADL_Err = ADL_ERR;
-+
-+ hDLL = LoadLibraryA("atiadlxx.dll");
-+ if (hDLL == NULL) hDLL = LoadLibraryA("atiadlxy.dll");
-+
-+ if (hDLL != NULL)
-+ {
-+ ADL_Main_Control_Create = (ADL_MAIN_CONTROL_CREATE)GetProcAddress(hDLL, "ADL_Main_Control_Create");
-+ if (ADL_Main_Control_Create != NULL)
-+ ADL_Err = ADL_Main_Control_Create(ADL_Main_Memory_Alloc, 1);
-+ }
-+ else
-+ {
-+ osd_printf_verbose("ADL Library not found!\n");
-+ }
-+
-+ return ADL_Err;
-+}
-+
-+//============================================================
-+// adl_close
-+//============================================================
-+
-+void adl_close()
-+{
-+ ADL_MAIN_CONTROL_DESTROY ADL_Main_Control_Destroy;
-+
-+ osd_printf_verbose("ATI/AMD ADL close\n");
-+
-+ for (int i = 0; i <= iNumberAdapters - 1; i++)
-+ ADL_Main_Memory_Free((void **)&lpAdapter[i].m_display_list);
-+
-+ ADL_Main_Memory_Free((void **)&lpAdapterInfo);
-+ ADL_Main_Memory_Free((void **)&lpAdapter);
-+
-+ ADL_Main_Control_Destroy = (ADL_MAIN_CONTROL_DESTROY)GetProcAddress(hDLL, "ADL_Main_Control_Destroy");
-+ if (ADL_Main_Control_Destroy != NULL)
-+ ADL_Main_Control_Destroy();
-+
-+ FreeLibrary(hDLL);
-+}
-+
-+//============================================================
-+// adl_init
-+//============================================================
-+
-+bool adl_init(char *device_name, char *device_key, char *device_id)
-+{
-+ int ADL_Err = ADL_ERR;
-+
-+ osd_printf_verbose("ATI/AMD ADL init\n");
-+
-+ ADL_Err = adl_open();
-+ if (ADL_Err != ADL_OK)
-+ {
-+ osd_printf_verbose("ERROR: ADL Initialization error!\n");
-+ return false;
-+ }
-+
-+ ADL_Adapter_NumberOfAdapters_Get = (ADL_ADAPTER_NUMBEROFADAPTERS_GET)GetProcAddress(hDLL,"ADL_Adapter_NumberOfAdapters_Get");
-+ if (ADL_Adapter_NumberOfAdapters_Get == NULL)
-+ {
-+ osd_printf_verbose("ERROR: ADL_Adapter_NumberOfAdapters_Get not available!");
-+ return false;
-+ }
-+ ADL_Adapter_AdapterInfo_Get = (ADL_ADAPTER_ADAPTERINFO_GET)GetProcAddress(hDLL,"ADL_Adapter_AdapterInfo_Get");
-+ if (ADL_Adapter_AdapterInfo_Get == NULL)
-+ {
-+ osd_printf_verbose("ERROR: ADL_Adapter_AdapterInfo_Get not available!");
-+ return false;
-+ }
-+ ADL_Display_DisplayInfo_Get = (ADL_DISPLAY_DISPLAYINFO_GET)GetProcAddress(hDLL,"ADL_Display_DisplayInfo_Get");
-+ if (ADL_Display_DisplayInfo_Get == NULL)
-+ {
-+ osd_printf_verbose("ERROR: ADL_Display_DisplayInfo_Get not available!");
-+ return false;
-+ }
-+ ADL_Display_ModeTimingOverride_Get = (ADL_DISPLAY_MODETIMINGOVERRIDE_GET)GetProcAddress(hDLL,"ADL_Display_ModeTimingOverride_Get");
-+ if (ADL_Display_ModeTimingOverride_Get == NULL)
-+ {
-+ osd_printf_verbose("ERROR: ADL_Display_ModeTimingOverride_Get not available!");
-+ return false;
-+ }
-+ ADL_Display_ModeTimingOverride_Set = (ADL_DISPLAY_MODETIMINGOVERRIDE_SET)GetProcAddress(hDLL,"ADL_Display_ModeTimingOverride_Set");
-+ if (ADL_Display_ModeTimingOverride_Set == NULL)
-+ {
-+ osd_printf_verbose("ERROR: ADL_Display_ModeTimingOverride_Set not available!");
-+ return false;
-+ }
-+ ADL_Display_ModeTimingOverrideList_Get = (ADL_DISPLAY_MODETIMINGOVERRIDELIST_GET)GetProcAddress(hDLL,"ADL_Display_ModeTimingOverrideList_Get");
-+ if (ADL_Display_ModeTimingOverrideList_Get == NULL)
-+ {
-+ osd_printf_verbose("ERROR: ADL_Display_ModeTimingOverrideList_Get not available!");
-+ return false;
-+ }
-+
-+ if (!enum_displays(hDLL))
-+ {
-+ osd_printf_error("ADL error enumerating displays.\n");
-+ return false;
-+ }
-+
-+ adl_get_driver_version(device_key);
-+
-+ osd_printf_verbose("ADL functions retrieved successfully.\n");
-+ return true;
-+}
-+
-+//============================================================
-+// enum_displays
-+//============================================================
-+
-+bool enum_displays(HINSTANCE h_dll)
-+{
-+ ADL_Adapter_NumberOfAdapters_Get(&iNumberAdapters);
-+
-+ lpAdapterInfo = (LPAdapterInfo)malloc(sizeof(AdapterInfo) * iNumberAdapters);
-+ memset(lpAdapterInfo, '\0', sizeof(AdapterInfo) * iNumberAdapters);
-+ ADL_Adapter_AdapterInfo_Get(lpAdapterInfo, sizeof(AdapterInfo) * iNumberAdapters);
-+
-+ lpAdapter = (LPAdapterList)malloc(sizeof(AdapterList) * iNumberAdapters);
-+ for (int i = 0; i <= iNumberAdapters - 1; i++)
-+ {
-+ lpAdapter[i].m_index = lpAdapterInfo[i].iAdapterIndex;
-+ lpAdapter[i].m_bus = lpAdapterInfo[i].iBusNumber;
-+ memcpy(&lpAdapter[i].m_name, &lpAdapterInfo[i].strAdapterName, ADL_MAX_PATH);
-+ memcpy(&lpAdapter[i].m_display_name, &lpAdapterInfo[i].strDisplayName, ADL_MAX_PATH);
-+ lpAdapter[i].m_num_of_displays = 0;
-+ lpAdapter[i].m_display_list = 0;
-+ ADL_Display_DisplayInfo_Get(lpAdapter[i].m_index, &lpAdapter[i].m_num_of_displays, &lpAdapter[i].m_display_list, 1);
-+ }
-+ return true;
-+}
-+
-+//============================================================
-+// get_device_mapping_from_display_name
-+//============================================================
-+
-+bool get_device_mapping_from_display_name(char *target_display, int *adapter_index, int *display_index)
-+{
-+ for (int i = 0; i <= iNumberAdapters -1; i++)
-+ {
-+ if (!strcmp(target_display, lpAdapter[i].m_display_name))
-+ {
-+ ADLDisplayInfo *display_list;
-+ display_list = lpAdapter[i].m_display_list;
-+
-+ for (int j = 0; j <= lpAdapter[i].m_num_of_displays - 1; j++)
-+ {
-+ if (lpAdapter[i].m_index == display_list[j].displayID.iDisplayLogicalAdapterIndex)
-+ {
-+ *adapter_index = lpAdapter[i].m_index;
-+ *display_index = display_list[j].displayID.iDisplayLogicalIndex;
-+ return true;
-+ }
-+ }
-+ }
-+ }
-+ return false;
-+}
-+
-+//============================================================
-+// ADL_display_mode_info_to_modeline
-+//============================================================
-+
-+bool adl_display_mode_info_to_modeline(ADLDisplayModeInfo *dmi, modeline *m)
-+{
-+ if (dmi->sDetailedTiming.sHTotal == 0) return false;
-+
-+ ADLDetailedTiming dt;
-+ memcpy(&dt, &dmi->sDetailedTiming, sizeof(ADLDetailedTiming));
-+
-+ if (dt.sHTotal == 0) return false;
-+
-+ m->htotal = dt.sHTotal;
-+ m->hactive = dt.sHDisplay;
-+ m->hbegin = dt.sHSyncStart;
-+ m->hend = dt.sHSyncWidth + m->hbegin;
-+ m->vtotal = dt.sVTotal;
-+ m->vactive = dt.sVDisplay;
-+ m->vbegin = dt.sVSyncStart;
-+ m->vend = dt.sVSyncWidth + m->vbegin;
-+ m->interlace = (dt.sTimingFlags & ADL_DL_TIMINGFLAG_INTERLACED)? 1 : 0;
-+ m->hsync = ((dt.sTimingFlags & ADL_DL_TIMINGFLAG_H_SYNC_POLARITY)? 1 : 0) ^ invert_pol(1);
-+ m->vsync = ((dt.sTimingFlags & ADL_DL_TIMINGFLAG_V_SYNC_POLARITY)? 1 : 0) ^ invert_pol(1) ;
-+ m->pclock = dt.sPixelClock * 10000;
-+
-+ m->height = m->height? m->height : dmi->iPelsHeight;
-+ m->width = m->width? m->width : dmi->iPelsWidth;
-+ m->refresh = m->refresh? m->refresh : dmi->iRefreshRate / interlace_factor(m->interlace, 1);;
-+ m->hfreq = float(m->pclock / m->htotal);
-+ m->vfreq = float(m->hfreq / m->vtotal) * (m->interlace? 2 : 1);
-+
-+ return true;
-+}
-+
-+//============================================================
-+// ADL_get_modeline
-+//============================================================
-+
-+bool adl_get_modeline(char *target_display, modeline *m)
-+{
-+ int adapter_index = 0;
-+ int display_index = 0;
-+ ADLDisplayMode mode_in;
-+ ADLDisplayModeInfo mode_info_out;
-+ modeline m_temp = *m;
-+
-+ //modeline to ADLDisplayMode
-+ mode_in.iPelsHeight = m->height;
-+ mode_in.iPelsWidth = m->width;
-+ mode_in.iBitsPerPel = 32;
-+ mode_in.iDisplayFrequency = m->refresh * interlace_factor(m->interlace, 1);
-+
-+ if (!get_device_mapping_from_display_name(target_display, &adapter_index, &display_index)) return false;
-+ if (ADL_Display_ModeTimingOverride_Get(adapter_index, display_index, &mode_in, &mode_info_out) != ADL_OK) return false;
-+ if (adl_display_mode_info_to_modeline(&mode_info_out, &m_temp))
-+ {
-+ if (m_temp.interlace == m->interlace)
-+ {
-+ memcpy(m, &m_temp, sizeof(modeline));
-+ return true;
-+ }
-+ }
-+ return false;
-+}
-+
-+//============================================================
-+// ADL_set_modeline
-+//============================================================
-+
-+bool adl_set_modeline(char *target_display, modeline *m, int update_mode)
-+{
-+ int adapter_index = 0;
-+ int display_index = 0;
-+ ADLDisplayModeInfo mode_info;
-+ ADLDetailedTiming *dt;
-+ modeline m_temp;
-+
-+ //modeline to ADLDisplayModeInfo
-+ mode_info.iTimingStandard = (update_mode & MODELINE_DELETE)? ADL_DL_MODETIMING_STANDARD_DRIVER_DEFAULT : ADL_DL_MODETIMING_STANDARD_CUSTOM;
-+ mode_info.iPossibleStandard = 0;
-+ mode_info.iRefreshRate = m->refresh * interlace_factor(m->interlace, 0);
-+ mode_info.iPelsWidth = m->width;
-+ mode_info.iPelsHeight = m->height;
-+
-+ //modeline to ADLDetailedTiming
-+ dt = &mode_info.sDetailedTiming;
-+ dt->sTimingFlags = (m->interlace? ADL_DL_TIMINGFLAG_INTERLACED : 0) |
-+ (m->hsync ^ invert_pol(0)? ADL_DL_TIMINGFLAG_H_SYNC_POLARITY : 0) |
-+ (m->vsync ^ invert_pol(0)? ADL_DL_TIMINGFLAG_V_SYNC_POLARITY : 0);
-+ dt->sHTotal = m->htotal;
-+ dt->sHDisplay = m->hactive;
-+ dt->sHSyncStart = m->hbegin;
-+ dt->sHSyncWidth = m->hend - m->hbegin;
-+ dt->sVTotal = m->vtotal;
-+ dt->sVDisplay = m->vactive;
-+ dt->sVSyncStart = m->vbegin;
-+ dt->sVSyncWidth = m->vend - m->vbegin;
-+ dt->sPixelClock = m->pclock / 10000;
-+ dt->sHOverscanRight = 0;
-+ dt->sHOverscanLeft = 0;
-+ dt->sVOverscanBottom = 0;
-+ dt->sVOverscanTop = 0;
-+
-+ if (!get_device_mapping_from_display_name(target_display, &adapter_index, &display_index)) return false;
-+ if (ADL_Display_ModeTimingOverride_Set(adapter_index, display_index, &mode_info, (update_mode & MODELINE_UPDATE_LIST)? 1 : 0) != ADL_OK) return false;
-+
-+ // read modeline to trigger timing refresh on modded drivers
-+ memcpy(&m_temp, m, sizeof(modeline));
-+ if (update_mode & MODELINE_UPDATE) adl_get_modeline(target_display, &m_temp);
-+
-+ return true;
-+}
-diff --git a/src/osd/windows/custom_video_adl.h b/src/osd/windows/custom_video_adl.h
-new file mode 100644
-index 00000000000..390041aa8c6
---- /dev/null
-+++ b/src/osd/windows/custom_video_adl.h
-@@ -0,0 +1,130 @@
-+/**************************************************************
-+
-+ custom_video_adl.h - ATI/AMD ADL library header
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+// Constants and structures ported from AMD ADL SDK files
-+
-+#define ADL_MAX_PATH 256
-+#define ADL_OK 0
-+#define ADL_ERR -1
-+
-+//ADL_DETAILED_TIMING.sTimingFlags
-+#define ADL_DL_TIMINGFLAG_DOUBLE_SCAN 0x0001
-+#define ADL_DL_TIMINGFLAG_INTERLACED 0x0002
-+#define ADL_DL_TIMINGFLAG_H_SYNC_POLARITY 0x0004
-+#define ADL_DL_TIMINGFLAG_V_SYNC_POLARITY 0x0008
-+
-+//ADL_DISPLAY_MODE_INFO.iTimingStandard
-+#define ADL_DL_MODETIMING_STANDARD_CVT 0x00000001 // CVT Standard
-+#define ADL_DL_MODETIMING_STANDARD_GTF 0x00000002 // GFT Standard
-+#define ADL_DL_MODETIMING_STANDARD_DMT 0x00000004 // DMT Standard
-+#define ADL_DL_MODETIMING_STANDARD_CUSTOM 0x00000008 // User-defined standard
-+#define ADL_DL_MODETIMING_STANDARD_DRIVER_DEFAULT 0x00000010 // Remove Mode from overriden list
-+#define ADL_DL_MODETIMING_STANDARD_CVT_RB 0x00000020 // CVT-RB Standard
-+
-+typedef struct AdapterInfo
-+{
-+ int iSize;
-+ int iAdapterIndex;
-+ char strUDID[ADL_MAX_PATH];
-+ int iBusNumber;
-+ int iDeviceNumber;
-+ int iFunctionNumber;
-+ int iVendorID;
-+ char strAdapterName[ADL_MAX_PATH];
-+ char strDisplayName[ADL_MAX_PATH];
-+ int iPresent;
-+ int iExist;
-+ char strDriverPath[ADL_MAX_PATH];
-+ char strDriverPathExt[ADL_MAX_PATH];
-+ char strPNPString[ADL_MAX_PATH];
-+ int iOSDisplayIndex;
-+} AdapterInfo, *LPAdapterInfo;
-+
-+typedef struct ADLDisplayID
-+{
-+ int iDisplayLogicalIndex;
-+ int iDisplayPhysicalIndex;
-+ int iDisplayLogicalAdapterIndex;
-+ int iDisplayPhysicalAdapterIndex;
-+} ADLDisplayID, *LPADLDisplayID;
-+
-+
-+typedef struct ADLDisplayInfo
-+{
-+ ADLDisplayID displayID;
-+ int iDisplayControllerIndex;
-+ char strDisplayName[ADL_MAX_PATH];
-+ char strDisplayManufacturerName[ADL_MAX_PATH];
-+ int iDisplayType;
-+ int iDisplayOutputType;
-+ int iDisplayConnector;
-+ int iDisplayInfoMask;
-+ int iDisplayInfoValue;
-+} ADLDisplayInfo, *LPADLDisplayInfo;
-+
-+typedef struct ADLDisplayMode
-+{
-+ int iPelsHeight;
-+ int iPelsWidth;
-+ int iBitsPerPel;
-+ int iDisplayFrequency;
-+} ADLDisplayMode;
-+
-+typedef struct ADLDetailedTiming
-+{
-+ int iSize;
-+ short sTimingFlags;
-+ short sHTotal;
-+ short sHDisplay;
-+ short sHSyncStart;
-+ short sHSyncWidth;
-+ short sVTotal;
-+ short sVDisplay;
-+ short sVSyncStart;
-+ short sVSyncWidth;
-+ unsigned short sPixelClock;
-+ short sHOverscanRight;
-+ short sHOverscanLeft;
-+ short sVOverscanBottom;
-+ short sVOverscanTop;
-+ short sOverscan8B;
-+ short sOverscanGR;
-+} ADLDetailedTiming;
-+
-+typedef struct ADLDisplayModeInfo
-+{
-+ int iTimingStandard;
-+ int iPossibleStandard;
-+ int iRefreshRate;
-+ int iPelsWidth;
-+ int iPelsHeight;
-+ ADLDetailedTiming sDetailedTiming;
-+} ADLDisplayModeInfo;
-+
-+typedef struct AdapterList
-+{
-+ int m_index;
-+ int m_bus;
-+ char m_name[ADL_MAX_PATH];
-+ char m_display_name[ADL_MAX_PATH];
-+ int m_num_of_displays;
-+ ADLDisplayInfo *m_display_list;
-+} AdapterList, *LPAdapterList;
-+
-+bool adl_init(char *device_name, char *device_key, char *device_id);
-+void adl_close();
-+bool adl_get_modeline(char *target_display, modeline *m);
-+bool adl_set_modeline(char *target_display, modeline *m, int update_mode);
-diff --git a/src/osd/windows/custom_video_ati.cpp b/src/osd/windows/custom_video_ati.cpp
-new file mode 100644
-index 00000000000..3bf863afd0a
---- /dev/null
-+++ b/src/osd/windows/custom_video_ati.cpp
-@@ -0,0 +1,309 @@
-+/**************************************************************
-+
-+ custom_video_ati.cpp - ATI legacy library
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+#include <windows.h>
-+
-+#include "emu.h"
-+#include "custom_video_ati.h"
-+
-+#define CRTC_DOUBLE_SCAN 0x0001
-+#define CRTC_INTERLACED 0x0002
-+#define CRTC_H_SYNC_POLARITY 0x0004
-+#define CRTC_V_SYNC_POLARITY 0x0008
-+
-+static int get_DWORD(int i, char *lp_data);
-+static int get_DWORD_BCD(int i, char *lp_data);
-+static void set_DWORD(char *data_string, UINT32 data_word, int offset);
-+static void set_DWORD_BCD(char *data_string, UINT32 data_word, int offset);
-+static int os_version(void);
-+static bool is_elevated();
-+static int win_interlace_factor(modeline *mode);
-+
-+char m_device_name[32];
-+char m_device_key[256];
-+int win_version;
-+
-+//============================================================
-+// ati_custom_video_init
-+//============================================================
-+
-+bool ati_init(char *device_name, char *device_key, char *device_id)
-+{
-+ osd_printf_verbose("ATI legacy init\n");
-+
-+ // Get Windows version
-+ win_version = os_version();
-+
-+ if (win_version > 5 && !is_elevated())
-+ {
-+ osd_printf_error("ATI legacy error: the program needs administrator rights.\n");
-+ return false;
-+ }
-+
-+ memcpy(m_device_name, device_name, sizeof(m_device_name));
-+ memcpy(m_device_key, device_key, sizeof(m_device_key));
-+
-+ return true;
-+}
-+
-+//============================================================
-+// ati_get_modeline
-+//============================================================
-+
-+bool ati_get_modeline(modeline *mode)
-+{
-+ HKEY hKey;
-+ char lp_name[1024];
-+ char lp_data[68];
-+ DWORD length;
-+ bool found = false;
-+ int refresh_label = mode->refresh_label? mode->refresh_label : mode->refresh * win_interlace_factor(mode);
-+ int vfreq_incr = 0;
-+
-+ if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, m_device_key, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS)
-+ {
-+ sprintf(lp_name, "DALDTMCRTBCD%dx%dx0x%d", mode->width, mode->height, refresh_label);
-+ length = sizeof(lp_data);
-+
-+ if (RegQueryValueExA(hKey, lp_name, NULL, NULL, (LPBYTE)lp_data, &length) == ERROR_SUCCESS && length == sizeof(lp_data))
-+ found = true;
-+ else if (win_version > 5 && mode->interlace)
-+ {
-+ vfreq_incr = 1;
-+ sprintf(lp_name, "DALDTMCRTBCD%dx%dx0x%d", mode->width, mode->height, refresh_label + vfreq_incr);
-+ if (RegQueryValueExA(hKey, lp_name, NULL, NULL, (LPBYTE)lp_data, &length) == ERROR_SUCCESS && length == sizeof(lp_data))
-+ found = true;
-+ }
-+ if (found)
-+ {
-+ mode->pclock = get_DWORD_BCD(36, lp_data) * 10000;
-+ mode->hactive = get_DWORD_BCD(8, lp_data);
-+ mode->hbegin = get_DWORD_BCD(12, lp_data);
-+ mode->hend = get_DWORD_BCD(16, lp_data) + mode->hbegin;
-+ mode->htotal = get_DWORD_BCD(4, lp_data);
-+ mode->vactive = get_DWORD_BCD(24, lp_data);
-+ mode->vbegin = get_DWORD_BCD(28, lp_data);
-+ mode->vend = get_DWORD_BCD(32, lp_data) + mode->vbegin;
-+ mode->vtotal = get_DWORD_BCD(20, lp_data);
-+ mode->interlace = (get_DWORD(0, lp_data) & CRTC_INTERLACED)?1:0;
-+ mode->hsync = (get_DWORD(0, lp_data) & CRTC_H_SYNC_POLARITY)?0:1;
-+ mode->vsync = (get_DWORD(0, lp_data) & CRTC_V_SYNC_POLARITY)?0:1;
-+ mode->hfreq = mode->pclock / mode->htotal;
-+ mode->vfreq = mode->hfreq / mode->vtotal * (mode->interlace?2:1);
-+ mode->refresh_label = refresh_label;
-+
-+ int checksum = 65535 - get_DWORD(0, lp_data) - mode->htotal - mode->hactive - mode->hend
-+ - mode->vtotal - mode->vactive - mode->vend - mode->pclock/10000;
-+ if (checksum != get_DWORD(64, lp_data))
-+ osd_printf_verbose("bad checksum! ");
-+ }
-+ RegCloseKey(hKey);
-+ return (found);
-+ }
-+ osd_printf_info("Failed opening registry entry for mode.\n");
-+ return false;
-+}
-+
-+//============================================================
-+// ati_set_modeline
-+//============================================================
-+
-+bool ati_set_modeline(modeline *mode)
-+{
-+ HKEY hKey;
-+ char lp_name[1024];
-+ char lp_data[68];
-+ long checksum;
-+ bool found = false;
-+ int refresh_label = mode->refresh_label? mode->refresh_label : mode->refresh * win_interlace_factor(mode);
-+ int vfreq_incr = 0;
-+
-+ memset(lp_data, 0, sizeof(lp_data));
-+ set_DWORD_BCD(lp_data, (int)mode->pclock/10000, 36);
-+ set_DWORD_BCD(lp_data, mode->hactive, 8);
-+ set_DWORD_BCD(lp_data, mode->hbegin, 12);
-+ set_DWORD_BCD(lp_data, mode->hend - mode->hbegin, 16);
-+ set_DWORD_BCD(lp_data, mode->htotal, 4);
-+ set_DWORD_BCD(lp_data, mode->vactive, 24);
-+ set_DWORD_BCD(lp_data, mode->vbegin, 28);
-+ set_DWORD_BCD(lp_data, mode->vend - mode->vbegin, 32);
-+ set_DWORD_BCD(lp_data, mode->vtotal, 20);
-+ set_DWORD(lp_data, (mode->interlace?CRTC_INTERLACED:0) | (mode->hsync?0:CRTC_H_SYNC_POLARITY) | (mode->vsync?0:CRTC_V_SYNC_POLARITY), 0);
-+
-+ checksum = 65535 - get_DWORD(0, lp_data) - mode->htotal - mode->hactive - mode->hend
-+ - mode->vtotal - mode->vactive - mode->vend - mode->pclock/10000;
-+ set_DWORD(lp_data, checksum, 64);
-+
-+ if (RegOpenKeyExA(HKEY_LOCAL_MACHINE, m_device_key, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS)
-+ {
-+ sprintf (lp_name, "DALDTMCRTBCD%dx%dx0x%d", mode->width, mode->height, refresh_label);
-+
-+ if (RegQueryValueExA(hKey, lp_name, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
-+ found = true;
-+ else if (win_version > 5 && mode->interlace)
-+ {
-+ vfreq_incr = 1;
-+ sprintf(lp_name, "DALDTMCRTBCD%dx%dx0x%d", mode->width, mode->height, refresh_label + vfreq_incr);
-+ if (RegQueryValueExA(hKey, lp_name, NULL, NULL, NULL, NULL) == ERROR_SUCCESS)
-+ found = true;
-+ }
-+
-+ if (!(found && RegSetValueExA(hKey, lp_name, 0, REG_BINARY, (LPBYTE)lp_data, 68) == ERROR_SUCCESS))
-+ osd_printf_info("Failed saving registry entry %s\n", lp_name);
-+
-+ RegCloseKey(hKey);
-+ return (found);
-+ }
-+
-+ osd_printf_info("Failed updating registry entry for mode.\n");
-+ return 0;
-+}
-+
-+//============================================================
-+// ati_refresh_timings
-+//============================================================
-+
-+void ati_refresh_timings(void)
-+{
-+ int iModeNum = 0;
-+ DEVMODEA lpDevMode;
-+
-+ memset(&lpDevMode, 0, sizeof(DEVMODEA));
-+ lpDevMode.dmSize = sizeof(DEVMODEA);
-+
-+ while (EnumDisplaySettingsExA(m_device_name, iModeNum, &lpDevMode, 0) != 0)
-+ iModeNum++;
-+}
-+
-+//============================================================
-+// get_DWORD
-+//============================================================
-+
-+static int get_DWORD(int i, char *lp_data)
-+{
-+ char out[32] = "";
-+ UINT32 x;
-+
-+ sprintf(out, "%02X%02X%02X%02X", lp_data[i]&0xFF, lp_data[i+1]&0xFF, lp_data[i+2]&0xFF, lp_data[i+3]&0xFF);
-+ sscanf(out, "%08X", &x);
-+ return x;
-+}
-+
-+//============================================================
-+// get_DWORD_BCD
-+//============================================================
-+
-+static int get_DWORD_BCD(int i, char *lp_data)
-+{
-+ char out[32] = "";
-+ UINT32 x;
-+
-+ sprintf(out, "%02X%02X%02X%02X", lp_data[i]&0xFF, lp_data[i+1]&0xFF, lp_data[i+2]&0xFF, lp_data[i+3]&0xFF);
-+ sscanf(out, "%d", &x);
-+ return x;
-+}
-+
-+//============================================================
-+// set_DWORD
-+//============================================================
-+
-+static void set_DWORD(char *data_string, UINT32 data_dword, int offset)
-+{
-+ char *p_dword = (char*)&data_dword;
-+
-+ data_string[offset] = p_dword[3]&0xFF;
-+ data_string[offset+1] = p_dword[2]&0xFF;
-+ data_string[offset+2] = p_dword[1]&0xFF;
-+ data_string[offset+3] = p_dword[0]&0xFF;
-+}
-+
-+//============================================================
-+// set_DWORD_BCD
-+//============================================================
-+
-+static void set_DWORD_BCD(char *data_string, UINT32 data_dword, int offset)
-+{
-+ if (data_dword < 100000000)
-+ {
-+ int low_word, high_word;
-+ int a, b, c, d;
-+ char out[32] = "";
-+
-+ low_word = data_dword % 10000;
-+ high_word = data_dword / 10000;
-+
-+ sprintf(out, "%d %d %d %d", high_word / 100, high_word % 100 , low_word / 100, low_word % 100);
-+ sscanf(out, "%02X %02X %02X %02X", &a, &b, &c, &d);
-+
-+ data_string[offset] = a;
-+ data_string[offset+1] = b;
-+ data_string[offset+2] = c;
-+ data_string[offset+3] = d;
-+ }
-+}
-+
-+//============================================================
-+// os_version
-+//============================================================
-+
-+static int os_version(void)
-+{
-+ OSVERSIONINFOA lpVersionInfo;
-+
-+ memset(&lpVersionInfo, 0, sizeof(OSVERSIONINFOA));
-+ lpVersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);
-+ GetVersionExA (&lpVersionInfo);
-+
-+ return lpVersionInfo.dwMajorVersion;
-+}
-+
-+//============================================================
-+// is_elevated
-+//============================================================
-+
-+static bool is_elevated()
-+{
-+ HANDLE htoken;
-+ bool result = false;
-+
-+ if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &htoken))
-+ return false;
-+
-+ TOKEN_ELEVATION te = {0};
-+ DWORD dw_return_length;
-+
-+ if (GetTokenInformation(htoken, TokenElevation, &te, sizeof(te), &dw_return_length))
-+ {
-+ if (te.TokenIsElevated)
-+ {
-+ result = true;
-+ }
-+ }
-+
-+ CloseHandle(htoken);
-+ return (result);
-+}
-+
-+//============================================================
-+// win_interlace_factor
-+//============================================================
-+
-+static int win_interlace_factor(modeline *mode)
-+{
-+ if (win_version > 5 && mode->interlace)
-+ return 2;
-+
-+ return 1;
-+}
-diff --git a/src/osd/windows/custom_video_ati.h b/src/osd/windows/custom_video_ati.h
-new file mode 100644
-index 00000000000..25061d53340
---- /dev/null
-+++ b/src/osd/windows/custom_video_ati.h
-@@ -0,0 +1,20 @@
-+/**************************************************************
-+
-+ custom_video_ati.h - ATI legacy library header
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+bool ati_init(char *device_name, char *device_key, char *device_id);
-+bool ati_get_modeline(modeline *mode);
-+bool ati_set_modeline(modeline *mode);
-+void ati_refresh_timings(void);
-diff --git a/src/osd/windows/custom_video_ati_family.cpp b/src/osd/windows/custom_video_ati_family.cpp
-new file mode 100644
-index 00000000000..0e0ac8c706a
---- /dev/null
-+++ b/src/osd/windows/custom_video_ati_family.cpp
-@@ -0,0 +1,850 @@
-+/**************************************************************
-+
-+ custom_video_ati_family.cpp - ATI/AMD Radeon family
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+/* Constants and structures ported from Linux open source drivers:
-+ drivers\gpu\drm\radeon\radeon.h
-+ drivers\gpu\drm\radeon\radeon_family.h
-+ include\drm\drm_pciids.h
-+*/
-+
-+#ifndef RADEON_FAMILY_H
-+#define RADEON_FAMILY_H
-+
-+struct pci_device_id
-+{
-+ int vendor, device;
-+ int subvendor, subdevice;
-+ int _class, _class_mask;
-+ int driver_data;
-+};
-+
-+enum radeon_family
-+{
-+ CHIP_R100 = 0,
-+ CHIP_RV100,
-+ CHIP_RS100,
-+ CHIP_RV200,
-+ CHIP_RS200,
-+ CHIP_R200,
-+ CHIP_RV250,
-+ CHIP_RS300,
-+ CHIP_RV280,
-+ CHIP_R300,
-+ CHIP_R350,
-+ CHIP_RV350,
-+ CHIP_RV380,
-+ CHIP_R420,
-+ CHIP_R423,
-+ CHIP_RV410,
-+ CHIP_RS400,
-+ CHIP_RS480,
-+ CHIP_RS600,
-+ CHIP_RS690,
-+ CHIP_RS740,
-+ CHIP_RV515,
-+ CHIP_R520,
-+ CHIP_RV530,
-+ CHIP_RV560,
-+ CHIP_RV570,
-+ CHIP_R580,
-+ CHIP_R600,
-+ CHIP_RV610,
-+ CHIP_RV630,
-+ CHIP_RV670,
-+ CHIP_RV620,
-+ CHIP_RV635,
-+ CHIP_RS780,
-+ CHIP_RS880,
-+ CHIP_RV770,
-+ CHIP_RV730,
-+ CHIP_RV710,
-+ CHIP_RV740,
-+ CHIP_CEDAR,
-+ CHIP_REDWOOD,
-+ CHIP_JUNIPER,
-+ CHIP_CYPRESS,
-+ CHIP_HEMLOCK,
-+ CHIP_PALM,
-+ CHIP_SUMO,
-+ CHIP_SUMO2,
-+ CHIP_BARTS,
-+ CHIP_TURKS,
-+ CHIP_CAICOS,
-+ CHIP_CAYMAN,
-+ CHIP_ARUBA,
-+ CHIP_TAHITI,
-+ CHIP_PITCAIRN,
-+ CHIP_VERDE,
-+ CHIP_OLAND,
-+ CHIP_HAINAN,
-+ CHIP_BONAIRE,
-+ CHIP_KAVERI,
-+ CHIP_KABINI,
-+ CHIP_HAWAII,
-+ CHIP_MULLINS,
-+ CHIP_LAST,
-+};
-+
-+enum radeon_chip_flags
-+{
-+ RADEON_FAMILY_MASK = 0x0000ffffUL,
-+ RADEON_FLAGS_MASK = 0xffff0000UL,
-+ RADEON_IS_MOBILITY = 0x00010000UL,
-+ RADEON_IS_IGP = 0x00020000UL,
-+ RADEON_SINGLE_CRTC = 0x00040000UL,
-+ RADEON_IS_AGP = 0x00080000UL,
-+ RADEON_HAS_HIERZ = 0x00100000UL,
-+ RADEON_IS_PCIE = 0x00200000UL,
-+ RADEON_NEW_MEMMAP = 0x00400000UL,
-+ RADEON_IS_PCI = 0x00800000UL,
-+ RADEON_IS_IGPGART = 0x01000000UL,
-+ RADEON_IS_PX = 0x02000000UL,
-+};
-+
-+#define PCI_ANY_ID (~0)
-+
-+#define radeon_PCI_IDS \
-+ {0x1002, 0x1304, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1305, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1306, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1307, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1309, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x130A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x130B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x130C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x130D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x130E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x130F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1310, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1311, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1312, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1313, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1315, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1316, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1317, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x1318, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x131B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x131C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x131D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KAVERI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x3150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x3151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x3152, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x3154, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x3155, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x3E50, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x3E54, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4136, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS100|RADEON_IS_IGP}, \
-+ {0x1002, 0x4137, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS200|RADEON_IS_IGP}, \
-+ {0x1002, 0x4144, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
-+ {0x1002, 0x4145, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
-+ {0x1002, 0x4146, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
-+ {0x1002, 0x4147, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
-+ {0x1002, 0x4148, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R350}, \
-+ {0x1002, 0x4149, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R350}, \
-+ {0x1002, 0x414A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R350}, \
-+ {0x1002, 0x414B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R350}, \
-+ {0x1002, 0x4150, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350}, \
-+ {0x1002, 0x4151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350}, \
-+ {0x1002, 0x4152, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350}, \
-+ {0x1002, 0x4153, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350}, \
-+ {0x1002, 0x4154, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350}, \
-+ {0x1002, 0x4155, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350}, \
-+ {0x1002, 0x4156, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350}, \
-+ {0x1002, 0x4237, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS200|RADEON_IS_IGP}, \
-+ {0x1002, 0x4242, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R200}, \
-+ {0x1002, 0x4336, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS100|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4337, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS200|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4437, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS200|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4966, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250}, \
-+ {0x1002, 0x4967, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250}, \
-+ {0x1002, 0x4A48, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A49, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A4A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A4B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A4C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A4D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A4E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A4F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A50, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4A54, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4B48, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4B49, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4B4A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4B4B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4B4C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R420|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x4C57, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV200|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4C58, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV200|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4C59, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4C5A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4C64, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4C66, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4C67, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV250|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4C6E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4E44, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
-+ {0x1002, 0x4E45, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
-+ {0x1002, 0x4E46, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
-+ {0x1002, 0x4E47, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R300}, \
-+ {0x1002, 0x4E48, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R350}, \
-+ {0x1002, 0x4E49, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R350}, \
-+ {0x1002, 0x4E4A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R350}, \
-+ {0x1002, 0x4E4B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R350}, \
-+ {0x1002, 0x4E50, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4E51, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4E52, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4E53, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4E54, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x4E56, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV350|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x5144, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R100|RADEON_SINGLE_CRTC}, \
-+ {0x1002, 0x5145, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R100|RADEON_SINGLE_CRTC}, \
-+ {0x1002, 0x5146, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R100|RADEON_SINGLE_CRTC}, \
-+ {0x1002, 0x5147, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R100|RADEON_SINGLE_CRTC}, \
-+ {0x1002, 0x5148, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R200}, \
-+ {0x1002, 0x514C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R200}, \
-+ {0x1002, 0x514D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R200}, \
-+ {0x1002, 0x5157, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV200}, \
-+ {0x1002, 0x5158, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV200}, \
-+ {0x1002, 0x5159, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100}, \
-+ {0x1002, 0x515A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100}, \
-+ {0x1002, 0x515E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100|RADEON_SINGLE_CRTC}, \
-+ {0x1002, 0x5460, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x5462, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x5464, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x5548, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5549, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x554A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x554B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x554C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x554D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x554E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x554F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5550, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5551, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5552, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5554, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x564A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x564B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x564F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5652, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5653, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5657, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP}, \
-+ {0x1002, 0x5835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x5954, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS480|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x5955, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS480|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x5974, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS480|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x5975, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS480|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x5960, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \
-+ {0x1002, 0x5961, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \
-+ {0x1002, 0x5962, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \
-+ {0x1002, 0x5964, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \
-+ {0x1002, 0x5965, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280}, \
-+ {0x1002, 0x5969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV100|RADEON_SINGLE_CRTC}, \
-+ {0x1002, 0x5a41, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x5a42, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x5a61, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x5a62, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS400|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x5b60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5b62, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5b63, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5b64, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5b65, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV380|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5c61, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x5c63, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV280|RADEON_IS_MOBILITY}, \
-+ {0x1002, 0x5d48, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d49, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d4a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d4c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d4d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d4e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d4f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d50, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d52, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5d57, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R423|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5e48, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5e4a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5e4b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5e4c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5e4d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x5e4f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV410|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6600, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6601, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6602, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6603, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6604, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6605, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6606, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6607, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6608, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6610, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6611, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6613, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6620, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6621, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6623, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6631, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_OLAND|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6640, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6641, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6646, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6647, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6649, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6650, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6651, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6658, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x665c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x665d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6660, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6663, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6664, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6665, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6667, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x666F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6700, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6701, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6702, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6703, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6704, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6705, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6706, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6707, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6708, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6709, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6718, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6719, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x671c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x671d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x671f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAYMAN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6720, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6721, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6722, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6723, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6724, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6725, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6726, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6727, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6728, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6729, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6738, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6739, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x673e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BARTS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6740, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6741, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6742, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6743, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6744, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6745, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6746, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6747, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6748, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6749, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x674A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6750, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6751, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6758, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6759, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x675B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x675D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x675F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6760, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6761, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6762, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6763, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6764, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6765, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6766, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6767, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6768, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6770, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6771, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6772, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6778, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6779, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x677B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CAICOS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6780, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6784, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6788, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x678A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6790, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6791, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6792, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6798, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6799, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x679A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x679B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x679E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x679F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TAHITI|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67A1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67A8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67A9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67AA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67B0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67B1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67B8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67B9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67BA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x67BE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAWAII|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6800, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6801, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6802, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6806, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6808, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6809, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6810, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6811, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6816, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6817, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6818, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6819, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6820, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6821, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6822, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6823, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6824, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6825, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6826, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6827, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6828, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6829, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x682A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x682B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x682C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x682D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x682F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6830, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6831, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6837, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6838, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6839, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x683B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x683D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x683F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_VERDE|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6840, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6841, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6842, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6843, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6849, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x684C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PITCAIRN|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6858, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6859, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_TURKS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6880, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6888, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6889, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x688A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x688C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x688D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6898, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x6899, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x689b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x689c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HEMLOCK|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x689d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HEMLOCK|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x689e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CYPRESS|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68a0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68a1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68a8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68a9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68b0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68b8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68b9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68ba, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68be, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68bf, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_JUNIPER|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68c0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68c1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68c7, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68c8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68c9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68d8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68d9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68da, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68de, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_REDWOOD|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68e0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68e1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68e4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68e5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68e8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68e9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68f1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68f2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68f8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68f9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68fa, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x68fe, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_CEDAR|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7100, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7101, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7102, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7103, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7104, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7105, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7106, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7108, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7109, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x710A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x710B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x710C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x710E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x710F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R520|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7140, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7141, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7142, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7143, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7144, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7145, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7146, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7147, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7149, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x714A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x714B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x714C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x714D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x714E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x714F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7151, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7152, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7153, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x715E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x715F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7180, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7181, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7183, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7186, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7187, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7188, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x718A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x718B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x718C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x718D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x718F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7193, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7196, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x719B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x719F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71C0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71C1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71C2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71C3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71C4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71C5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71C6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71C7, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71CD, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71CE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71D2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71D4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71D5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71D6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71DA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x71DE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV530|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7200, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7210, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7211, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV515|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7240, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7243, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7244, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7245, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7246, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7247, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7248, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7249, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x724A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x724B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x724C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x724D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x724E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x724F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7280, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV570|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7281, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV560|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7283, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV560|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7284, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R580|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7287, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV560|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7288, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV570|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7289, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV570|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x728B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV570|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x728C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV570|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7290, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV560|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7291, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV560|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7293, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV560|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7297, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV560|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS300|RADEON_IS_IGP|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x791e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS690|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x791f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS690|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x793f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS600|RADEON_IS_IGP|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7941, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS600|RADEON_IS_IGP|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x7942, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS600|RADEON_IS_IGP|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x796c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS740|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x796d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS740|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x796e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS740|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x796f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS740|RADEON_IS_IGP|RADEON_NEW_MEMMAP|RADEON_IS_IGPGART}, \
-+ {0x1002, 0x9400, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R600|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9401, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R600|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9402, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R600|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9403, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R600|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9405, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R600|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x940A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R600|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x940B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R600|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x940F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_R600|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV740|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94A1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV740|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94A3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV740|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94B1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV740|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94B3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV740|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94B4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV740|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94B5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV740|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94B9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV740|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9440, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9441, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9442, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9443, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9444, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9446, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x944A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x944B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x944C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x944E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9450, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9452, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9456, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x945A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x945B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x945E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9460, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9462, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x946A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x946B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x947A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x947B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV770|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9480, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9487, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9488, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9489, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x948A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x948F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9490, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9491, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9495, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9498, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x949C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x949E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x949F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV730|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C3, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C7, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94C9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94CB, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94CC, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x94CD, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV610|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9500, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9501, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9504, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9505, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9506, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9507, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9508, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9509, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x950F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9511, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9515, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9517, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9519, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV670|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9540, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9541, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9542, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x954E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x954F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9552, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9553, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9555, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9557, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x955f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV710|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9580, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9581, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9583, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9586, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9587, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9588, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9589, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x958A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x958B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x958C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x958D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x958E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x958F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV630|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9590, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9591, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9593, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9595, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9596, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9597, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9598, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9599, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x959B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV635|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95C0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95C2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95C4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95C5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95C6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95C7, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95C9, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95CC, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95CD, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95CE, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x95CF, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RV620|RADEON_NEW_MEMMAP}, \
-+ {0x1002, 0x9610, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9611, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9612, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9613, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9614, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9615, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9616, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS780|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9640, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9641, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9642, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9643, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9644, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9645, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9647, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\
-+ {0x1002, 0x9648, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\
-+ {0x1002, 0x9649, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO2|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\
-+ {0x1002, 0x964a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x964b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x964c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x964e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\
-+ {0x1002, 0x964f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_SUMO|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP},\
-+ {0x1002, 0x9710, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9711, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9713, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9714, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9715, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_RS880|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9802, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9803, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9804, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9805, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9806, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9807, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9808, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9809, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x980A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_PALM|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9830, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9831, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9832, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9833, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9834, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9835, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9836, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9837, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9838, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9839, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x983a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x983b, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x983c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x983d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x983e, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x983f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_KABINI|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9850, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9851, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9852, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9853, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9854, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9855, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9856, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9857, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9858, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9859, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x985A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x985B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x985C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x985D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x985E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x985F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_MULLINS|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9900, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9901, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9903, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9904, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9905, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9906, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9907, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9908, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9909, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x990A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x990B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x990C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x990D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x990E, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x990F, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9910, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9913, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9917, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9918, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9919, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9990, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9991, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9992, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9993, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9994, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9995, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9996, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9997, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9998, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x9999, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x999A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x999B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x999C, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x999D, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x99A0, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x99A2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0x1002, 0x99A4, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_ARUBA|RADEON_NEW_MEMMAP|RADEON_IS_IGP}, \
-+ {0, 0, 0}
-+
-+static struct pci_device_id pciidlist[] = {radeon_PCI_IDS};
-+
-+//============================================================
-+// ati_family
-+//============================================================
-+
-+int ati_family(int vendor, int device)
-+{
-+ int i = 0;
-+ while (pciidlist[i].vendor)
-+ {
-+ if (pciidlist[i].vendor == vendor && pciidlist[i].device == device)
-+ return (pciidlist[i].driver_data & RADEON_FAMILY_MASK);
-+ i++;
-+ }
-+ // Not found, must be newer
-+ if (vendor == 0x1002)
-+ return CHIP_LAST;
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// ati_is_legacy
-+//============================================================
-+
-+bool ati_is_legacy(int vendor, int device)
-+{
-+ return (ati_family(vendor, device) < CHIP_CEDAR);
-+}
-+
-+#endif
-\ No newline at end of file
-diff --git a/src/osd/windows/custom_video_pstrip.cpp b/src/osd/windows/custom_video_pstrip.cpp
-new file mode 100644
-index 00000000000..151b6daf63a
---- /dev/null
-+++ b/src/osd/windows/custom_video_pstrip.cpp
-@@ -0,0 +1,529 @@
-+/**************************************************************
-+
-+ custom_video_pstrip.cpp - PowerStrip interface routines
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+/* http://forums.entechtaiwan.com/index.php?topic=5534.msg20902;topicseen#msg20902
-+
-+ UM_SETCUSTOMTIMING = WM_USER+200;
-+ wparam = monitor number, zero-based
-+ lparam = atom for string pointer
-+ lresult = -1 for failure else current pixel clock (integer in Hz)
-+ Note: pass full PowerStrip timing string*
-+
-+ UM_SETREFRESHRATE = WM_USER+201;
-+ wparam = monitor number, zero-based
-+ lparam = refresh rate (integer in Hz), or 0 for read-only
-+ lresult = -1 for failure else current refresh rate (integer in Hz)
-+
-+ UM_SETPOLARITY = WM_USER+202;
-+ wparam = monitor number, zero-based
-+ lparam = polarity bits
-+ lresult = -1 for failure else current polarity bits+1
-+
-+ UM_REMOTECONTROL = WM_USER+210;
-+ wparam = 99
-+ lparam =
-+ 0 to hide tray icon
-+ 1 to show tray icon,
-+ 2 to get build number
-+ 10 to show Performance profiles
-+ 11 to show Color profiles
-+ 12 to show Display profiles
-+ 13 to show Application profiles
-+ 14 to show Adapter information
-+ 15 to show Monitor information
-+ 16 to show Hotkey manager
-+ 17 to show Resource manager
-+ 18 to show Preferences
-+ 19 to show Online services
-+ 20 to show About screen
-+ 21 to show Tip-of-the-day
-+ 22 to show Setup wizard
-+ 23 to show Screen fonts
-+ 24 to show Advanced timing options
-+ 25 to show Custom resolutions
-+ 99 to close PS
-+ lresult = -1 for failure else lparam+1 for success or build number (e.g., 335)
-+ if lparam was 2
-+
-+ UM_SETGAMMARAMP = WM_USER+203;
-+ wparam = monitor number, zero-based
-+ lparam = atom for string pointer
-+ lresult = -1 for failure, 1 for success
-+
-+ UM_CREATERESOLUTION = WM_USER+204;
-+ wparam = monitor number, zero-based
-+ lparam = atom for string pointer
-+ lresult = -1 for failure, 1 for success
-+ Note: pass full PowerStrip timing string*; reboot is usually necessary to see if
-+ the resolution is accepted by the display driver
-+
-+ UM_GETTIMING = WM_USER+205;
-+ wparam = monitor number, zero-based
-+ lresult = -1 for failure else GlobalAtom number identifiying the timing string*
-+ Note: be sure to call GlobalDeleteAtom after reading the string associated with
-+ the atom
-+
-+ UM_GETSETCLOCKS = WM_USER+206;
-+ wparam = monitor number, zero-based
-+ lparam = atom for string pointer
-+ lresult = -1 for failure else GlobalAtom number identifiying the performance
-+ string**
-+ Note: pass full PowerStrip performance string** to set the clocks, and ull to
-+ get clocks; be sure to call GlobalDeleteAtom after reading the string associated
-+ with the atom
-+
-+ NegativeHorizontalPolarity = 0x02;
-+ NegativeVerticalPolarity = 0x04;
-+
-+ *Timing string parameter definition:
-+ 1 = horizontal active pixels
-+ 2 = horizontal front porch
-+ 3 = horizontal sync width
-+ 4 = horizontal back porch
-+ 5 = vertical active pixels
-+ 6 = vertical front porch
-+ 7 = vertical sync width
-+ 8 = vertical back porch
-+ 9 = pixel clock in hertz
-+ 10 = timing flags, where bit:
-+ 1 = negative horizontal porlarity
-+ 2 = negative vertical polarity
-+ 3 = interlaced
-+ 5 = composite sync
-+ 7 = sync-on-green
-+ all other bits reserved
-+
-+ **Performance string parameter definition:
-+ 1 = memory clock in hertz
-+ 2 = engine clock in hertz
-+ 3 = reserved
-+ 4 = reserved
-+ 5 = reserved
-+ 6 = reserved
-+ 7 = reserved
-+ 8 = reserved
-+ 9 = 2D memory clock in hertz (if different from 3D)
-+ 10 = 2D engine clock in hertz (if different from 3D) */
-+
-+// standard windows headers
-+#include <windows.h>
-+#include <stdio.h>
-+
-+// MAME headers
-+#include "emu.h"
-+
-+// PowerStrip header
-+#include "custom_video_pstrip.h"
-+
-+//============================================================
-+// GLOBALS
-+//============================================================
-+
-+static HWND hPSWnd;
-+static MonitorTiming timing_backup;
-+
-+//============================================================
-+// CONSTANTS
-+//============================================================
-+
-+#define UM_SETCUSTOMTIMING (WM_USER+200)
-+#define UM_SETREFRESHRATE (WM_USER+201)
-+#define UM_SETPOLARITY (WM_USER+202)
-+#define UM_REMOTECONTROL (WM_USER+210)
-+#define UM_SETGAMMARAMP (WM_USER+203)
-+#define UM_CREATERESOLUTION (WM_USER+204)
-+#define UM_GETTIMING (WM_USER+205)
-+#define UM_GETSETCLOCKS (WM_USER+206)
-+#define UM_SETCUSTOMTIMINGFAST (WM_USER+211) // glitches vertical sync with PS 3.65 build 568
-+
-+#define NegativeHorizontalPolarity 0x02
-+#define NegativeVerticalPolarity 0x04
-+#define Interlace 0x08
-+
-+#define HideTrayIcon 0x00
-+#define ShowTrayIcon 0x01
-+#define ClosePowerStrip 0x63
-+
-+//============================================================
-+// ps_init
-+//============================================================
-+
-+int ps_init(int monitor_index, modeline *modeline)
-+{
-+ hPSWnd = FindWindowA("TPShidden", NULL);
-+
-+ if (hPSWnd)
-+ {
-+ osd_printf_verbose("PStrip: PowerStrip found!\n");
-+ if (ps_get_monitor_timing(monitor_index, &timing_backup) && modeline)
-+ {
-+ ps_pstiming_to_modeline(&timing_backup, modeline);
-+ return 1;
-+ }
-+ }
-+ else
-+ osd_printf_verbose("PStrip: Could not get PowerStrip API interface\n");
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// ps_reset
-+//============================================================
-+
-+int ps_reset(int monitor_index)
-+{
-+ return ps_set_monitor_timing(monitor_index, &timing_backup);
-+}
-+
-+//============================================================
-+// ps_get_modeline
-+//============================================================
-+
-+int ps_get_modeline(int monitor_index, modeline *modeline)
-+{
-+ MonitorTiming timing = {0};
-+
-+ if (ps_get_monitor_timing(monitor_index, &timing))
-+ {
-+ ps_pstiming_to_modeline(&timing, modeline);
-+ return 1;
-+ }
-+ else return 0;
-+}
-+
-+//============================================================
-+// ps_set_modeline
-+//============================================================
-+
-+int ps_set_modeline(int monitor_index, modeline *modeline)
-+{
-+ MonitorTiming timing = {0};
-+
-+ ps_modeline_to_pstiming(modeline, &timing);
-+
-+ timing.PixelClockInKiloHertz = ps_best_pclock(monitor_index, &timing, timing.PixelClockInKiloHertz);
-+
-+ if (ps_set_monitor_timing(monitor_index, &timing))
-+ return 1;
-+ else
-+ return 0;
-+}
-+
-+//============================================================
-+// ps_get_monitor_timing
-+//============================================================
-+
-+int ps_get_monitor_timing(int monitor_index, MonitorTiming *timing)
-+{
-+ LRESULT lresult;
-+ char in[256];
-+
-+ if (!hPSWnd) return 0;
-+
-+ lresult = SendMessage(hPSWnd, UM_GETTIMING, monitor_index, 0);
-+
-+ if (lresult == -1)
-+ {
-+ osd_printf_verbose("PStrip: Could not get PowerStrip timing string\n");
-+ return 0;
-+ }
-+
-+ if (!GlobalGetAtomNameA(lresult, in, sizeof(in)))
-+ {
-+ osd_printf_verbose("PStrip: GlobalGetAtomName failed\n");
-+ return 0;
-+ }
-+
-+ osd_printf_verbose("PStrip: ps_get_monitor_timing(%d): %s\n", monitor_index, in);
-+
-+ ps_read_timing_string(in, timing);
-+
-+ GlobalDeleteAtom(lresult); // delete atom created by PowerStrip
-+
-+ return 1;
-+}
-+
-+//============================================================
-+// ps_set_monitor_timing
-+//============================================================
-+
-+int ps_set_monitor_timing(int monitor_index, MonitorTiming *timing)
-+{
-+ LRESULT lresult;
-+ ATOM atom;
-+ char out[256];
-+
-+ if (!hPSWnd) return 0;
-+
-+ ps_fill_timing_string(out, timing);
-+ atom = GlobalAddAtomA(out);
-+
-+ if (atom)
-+ {
-+ lresult = SendMessage(hPSWnd, UM_SETCUSTOMTIMING, monitor_index, atom);
-+
-+ if (lresult < 0)
-+ {
-+ osd_printf_verbose("PStrip: SendMessage failed\n");
-+ GlobalDeleteAtom(atom);
-+ }
-+ else
-+ {
-+ osd_printf_verbose("PStrip: ps_set_monitor_timing(%d): %s\n", monitor_index, out);
-+ return 1;
-+ }
-+ }
-+ else osd_printf_verbose("PStrip: ps_set_monitor_timing atom creation failed\n");
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// ps_set_monitor_timing_string
-+//============================================================
-+
-+int ps_set_monitor_timing_string(int monitor_index, char *in)
-+{
-+ MonitorTiming timing;
-+
-+ ps_read_timing_string(in, &timing);
-+ return ps_set_monitor_timing(monitor_index, &timing);
-+}
-+
-+//============================================================
-+// ps_set_refresh
-+//============================================================
-+
-+int ps_set_refresh(int monitor_index, double vfreq)
-+{
-+ MonitorTiming timing = {0};
-+ int hht, vvt, new_vvt;
-+ int desired_pClock;
-+ int best_pClock;
-+
-+ memcpy(&timing, &timing_backup, sizeof(MonitorTiming));
-+
-+ hht = timing.HorizontalActivePixels
-+ + timing.HorizontalFrontPorch
-+ + timing.HorizontalSyncWidth
-+ + timing.HorizontalBackPorch;
-+
-+ vvt = timing.VerticalActivePixels
-+ + timing.VerticalFrontPorch
-+ + timing.VerticalSyncWidth
-+ + timing.VerticalBackPorch;
-+
-+ desired_pClock = hht * vvt * vfreq / 1000;
-+ best_pClock = ps_best_pclock(monitor_index, &timing, desired_pClock);
-+
-+ new_vvt = best_pClock * 1000 / (vfreq * hht);
-+
-+ timing.VerticalBackPorch += (new_vvt - vvt);
-+ timing.PixelClockInKiloHertz = best_pClock;
-+
-+ ps_set_monitor_timing(monitor_index, &timing);
-+ ps_get_monitor_timing(monitor_index, &timing);
-+
-+ return 1;
-+}
-+
-+//============================================================
-+// ps_best_pclock
-+//============================================================
-+
-+int ps_best_pclock(int monitor_index, MonitorTiming *timing, int desired_pclock)
-+{
-+ MonitorTiming timing_read;
-+ int best_pclock = 0;
-+
-+ osd_printf_verbose("PStrip: ps_best_pclock(%d), getting stable dotclocks for %d...\n", monitor_index, desired_pclock);
-+
-+ for (int i = -50; i <= 50; i += 25)
-+ {
-+ timing->PixelClockInKiloHertz = desired_pclock + i;
-+
-+ ps_set_monitor_timing(monitor_index, timing);
-+ ps_get_monitor_timing(monitor_index, &timing_read);
-+
-+ if (abs(timing_read.PixelClockInKiloHertz - desired_pclock) < abs(desired_pclock - best_pclock))
-+ best_pclock = timing_read.PixelClockInKiloHertz;
-+ }
-+
-+ osd_printf_verbose("PStrip: ps_best_pclock(%d), new dotclock: %d\n", monitor_index, best_pclock);
-+
-+ return best_pclock;
-+}
-+
-+//============================================================
-+// ps_create_resolution
-+//============================================================
-+
-+int ps_create_resolution(int monitor_index, modeline *modeline)
-+{
-+ LRESULT lresult;
-+ ATOM atom;
-+ char out[256];
-+ MonitorTiming timing = {0};
-+
-+ if (!hPSWnd) return 0;
-+
-+ ps_modeline_to_pstiming(modeline, &timing);
-+
-+ ps_fill_timing_string(out, &timing);
-+ atom = GlobalAddAtomA(out);
-+
-+ if (atom)
-+ {
-+ lresult = SendMessage(hPSWnd, UM_CREATERESOLUTION, monitor_index, atom);
-+
-+ if (lresult < 0)
-+ {
-+ osd_printf_verbose("PStrip: SendMessage failed\n");
-+ GlobalDeleteAtom(atom);
-+ }
-+ else
-+ {
-+ osd_printf_verbose("PStrip: ps_create_resolution(%d): %dx%d succeded \n",
-+ modeline->width, modeline->height, monitor_index);
-+ return 1;
-+ }
-+ }
-+ else osd_printf_verbose("PStrip: ps_create_resolution atom creation failed\n");
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// ps_read_timing_string
-+//============================================================
-+
-+bool ps_read_timing_string(char *in, MonitorTiming *timing)
-+{
-+ if (sscanf(in,"%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
-+ &timing->HorizontalActivePixels,
-+ &timing->HorizontalFrontPorch,
-+ &timing->HorizontalSyncWidth,
-+ &timing->HorizontalBackPorch,
-+ &timing->VerticalActivePixels,
-+ &timing->VerticalFrontPorch,
-+ &timing->VerticalSyncWidth,
-+ &timing->VerticalBackPorch,
-+ &timing->PixelClockInKiloHertz,
-+ &timing->TimingFlags.w) == 10) return true;
-+
-+ return false;
-+}
-+
-+//============================================================
-+// ps_fill_timing_string
-+//============================================================
-+
-+void ps_fill_timing_string(char *out, MonitorTiming *timing)
-+{
-+ sprintf(out, "%d,%d,%d,%d,%d,%d,%d,%d,%d,%d",
-+ timing->HorizontalActivePixels,
-+ timing->HorizontalFrontPorch,
-+ timing->HorizontalSyncWidth,
-+ timing->HorizontalBackPorch,
-+ timing->VerticalActivePixels,
-+ timing->VerticalFrontPorch,
-+ timing->VerticalSyncWidth,
-+ timing->VerticalBackPorch,
-+ timing->PixelClockInKiloHertz,
-+ timing->TimingFlags.w);
-+}
-+
-+//============================================================
-+// ps_modeline_to_pstiming
-+//============================================================
-+
-+int ps_modeline_to_pstiming(modeline *modeline, MonitorTiming *timing)
-+{
-+ timing->HorizontalActivePixels = modeline->hactive;
-+ timing->HorizontalFrontPorch = modeline->hbegin - modeline->hactive;
-+ timing->HorizontalSyncWidth = modeline->hend - modeline->hbegin;
-+ timing->HorizontalBackPorch = modeline->htotal - modeline->hend;
-+
-+ timing->VerticalActivePixels = modeline->vactive;
-+ timing->VerticalFrontPorch = modeline->vbegin - modeline->vactive;
-+ timing->VerticalSyncWidth = modeline->vend - modeline->vbegin;
-+ timing->VerticalBackPorch = modeline->vtotal - modeline->vend;
-+
-+ timing->PixelClockInKiloHertz = modeline->pclock / 1000;
-+
-+ if (modeline->hsync == 0)
-+ timing->TimingFlags.w |= NegativeHorizontalPolarity;
-+ if (modeline->vsync == 0)
-+ timing->TimingFlags.w |= NegativeVerticalPolarity;
-+ if (modeline->interlace)
-+ timing->TimingFlags.w |= Interlace;
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// ps_pstiming_to_modeline
-+//============================================================
-+
-+int ps_pstiming_to_modeline(MonitorTiming *timing, modeline *modeline)
-+{
-+ modeline->hactive = timing->HorizontalActivePixels;
-+ modeline->hbegin = modeline->hactive + timing->HorizontalFrontPorch;
-+ modeline->hend = modeline->hbegin + timing->HorizontalSyncWidth;
-+ modeline->htotal = modeline->hend + timing->HorizontalBackPorch;
-+
-+ modeline->vactive = timing->VerticalActivePixels;
-+ modeline->vbegin = modeline->vactive + timing->VerticalFrontPorch;
-+ modeline->vend = modeline->vbegin + timing->VerticalSyncWidth;
-+ modeline->vtotal = modeline->vend + timing->VerticalBackPorch;
-+
-+ modeline->width = modeline->hactive;
-+ modeline->height = modeline->vactive;
-+
-+ modeline->pclock = timing->PixelClockInKiloHertz * 1000;
-+
-+ if (!(timing->TimingFlags.w & NegativeHorizontalPolarity))
-+ modeline->hsync = 1;
-+
-+ if (!(timing->TimingFlags.w & NegativeVerticalPolarity))
-+ modeline->vsync = 1;
-+
-+ if ((timing->TimingFlags.w & Interlace))
-+ modeline->interlace = 1;
-+
-+ modeline->hfreq = modeline->pclock / modeline->htotal;
-+ modeline->vfreq = modeline->hfreq / modeline->vtotal * (modeline->interlace?2:1);
-+
-+ return 0;
-+}
-+
-+//============================================================
-+// ps_monitor_index
-+//============================================================
-+
-+int ps_monitor_index (const char *display_name)
-+{
-+ int monitor_index = 0;
-+ char sub_index[2];
-+
-+ sub_index[0] = display_name[strlen(display_name)-1];
-+ sub_index[1] = 0;
-+ if (sscanf(sub_index,"%d", &monitor_index) == 1)
-+ monitor_index --;
-+
-+ return monitor_index;
-+}
-diff --git a/src/osd/windows/custom_video_pstrip.h b/src/osd/windows/custom_video_pstrip.h
-new file mode 100644
-index 00000000000..b73deb98eca
---- /dev/null
-+++ b/src/osd/windows/custom_video_pstrip.h
-@@ -0,0 +1,63 @@
-+/**************************************************************
-+
-+ custom_video_powerstrip.h - PowerStrip interface routines
-+
-+ ---------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+//============================================================
-+// TYPE DEFINITIONS
-+//============================================================
-+
-+typedef struct
-+{
-+ int HorizontalActivePixels;
-+ int HorizontalFrontPorch;
-+ int HorizontalSyncWidth;
-+ int HorizontalBackPorch;
-+ int VerticalActivePixels;
-+ int VerticalFrontPorch;
-+ int VerticalSyncWidth;
-+ int VerticalBackPorch;
-+ int PixelClockInKiloHertz;
-+ union
-+ {
-+ int w;
-+ struct
-+ {
-+ unsigned :1;
-+ unsigned HorizontalPolarityNegative:1;
-+ unsigned VerticalPolarityNegative:1;
-+ unsigned :29;
-+ } b;
-+ } TimingFlags;
-+} MonitorTiming;
-+
-+//============================================================
-+// PROTOTYPES
-+//============================================================
-+
-+int ps_init(int monitor_index, modeline *modeline);
-+int ps_reset(int monitor_index);
-+int ps_get_modeline(int monitor_index, modeline *modeline);
-+int ps_set_modeline(int monitor_index, modeline *modeline);
-+int ps_get_monitor_timing(int monitor_index, MonitorTiming *timing);
-+int ps_set_monitor_timing(int monitor_index, MonitorTiming *timing);
-+int ps_set_monitor_timing_string(int monitor_index, char *in);
-+int ps_set_refresh(int monitor_index, double vfreq);
-+int ps_best_pclock(int monitor_index, MonitorTiming *timing, int desired_pclock);
-+int ps_create_resolution(int monitor_index, modeline *modeline);
-+bool ps_read_timing_string(char *in, MonitorTiming *timing);
-+void ps_fill_timing_string(char *out, MonitorTiming *timing);
-+int ps_modeline_to_pstiming(modeline *modeline, MonitorTiming *timing);
-+int ps_pstiming_to_modeline(MonitorTiming *timing, modeline *modeline);
-+int ps_monitor_index (const char *display_name);
-diff --git a/src/osd/windows/switchres_windows.cpp b/src/osd/windows/switchres_windows.cpp
-new file mode 100644
-index 00000000000..5a0c052f49a
---- /dev/null
-+++ b/src/osd/windows/switchres_windows.cpp
-@@ -0,0 +1,516 @@
-+/**************************************************************
-+
-+ switchres_windows.cpp - Windows OSD SwitchRes core routines
-+
-+ -----------------------------------------------------------
-+
-+ SwitchRes Modeline generation engine for emulation
-+
-+ GroovyMAME Integration of SwitchRes into the MAME project
-+ Some reworked patches from SailorSat's CabMAME
-+
-+ License GPL-2.0+
-+ Copyright 2010-2016 - Chris Kennedy, Antonio Giner
-+
-+ **************************************************************/
-+
-+// standard windows headers
-+#include <windows.h>
-+
-+// MAME headers
-+#include "emu.h"
-+#include "emuopts.h"
-+#include "../../frontend/mame/mameopts.h"
-+
-+// MAMEOS headers
-+#include "winmain.h"
-+#include "window.h"
-+
-+// Custom video headers
-+#include "custom_video.h"
-+
-+#ifdef _MSC_VER
-+#define min(a, b) ((a) < (b) ? (a) : (b))
-+#else
-+#define min(a,b)({ __typeof__ (a) _a = (a);__typeof__ (b) _b = (b);_a < _b ? _a : _b; })
-+#endif
-+
-+//============================================================
-+// PROTOTYPES
-+//============================================================
-+
-+int display_get_device_info(const char *screen_option, char *device_name, char *device_id, char *device_key);
-+int display_get_available_video_modes(const char *device_name, modeline *mode, modeline *current, config_settings *cs);
-+int display_get_desktop_mode(const char *device_name, modeline *current);
-+int display_set_desktop_mode(modeline *mode, int flags);
-+int display_restore_desktop_mode(int flags);
-+
-+static void set_option_osd(running_machine &machine, const char *option_ID, bool state);
-+static int copy_to_clipboard(char *txt);
-+
-+//============================================================
-+// PARAMETERS
-+//============================================================
-+
-+// display modes
-+#define DM_INTERLACED 0x00000002
-+#define DISPLAY_MAX 16
-+
-+//============================================================
-+// LOCAL VARIABLES
-+//============================================================
-+
-+static char m_device_name[32];
-+static char m_device_id[128];
-+static char m_device_key[128];
-+static DEVMODEA desktop_devmode;
-+
-+//============================================================
-+// switchres_init_osd
-+//============================================================
-+
-+bool switchres_init_osd(running_machine &machine)
-+{
-+ config_settings *cs = &machine.switchres.cs;
-+ game_info *game = &machine.switchres.game;
-+ modeline *mode_table = machine.switchres.video_modes;
-+ modeline *user_mode = &machine.switchres.user_mode;
-+ monitor_range *range = machine.switchres.range;
-+ const char * screen, * aspect;
-+ char resolution[32]={'\x00'};
-+ modeline desktop_mode;
-+
-+ windows_options &options = downcast<windows_options &>(machine.options());
-+
-+ // Initialize structures and config settings
-+ memset(&desktop_mode, 0, sizeof(struct modeline));
-+ memset(cs, 0, sizeof(struct config_settings));
-+ memset(game, 0, sizeof(struct game_info));
-+
-+ // Init Switchres common info
-+ switchres_init(machine);
-+
-+ // Complete config settings
-+ cs->monitor_count = options.numscreens();
-+ cs->doublescan = 0;
-+
-+ // Get device info
-+ screen = strcmp(options.screen(0), "auto")? options.screen(0) : options.screen();
-+ display_get_device_info(screen, m_device_name, m_device_id, m_device_key);
-+
-+ // Get current desktop resolution
-+ display_get_desktop_mode(m_device_name, &desktop_mode);
-+
-+ // Initialize custom video
-+ custom_video_init(m_device_name, m_device_id, &desktop_mode, user_mode, mode_table,
-+ options.powerstrip()? CUSTOM_VIDEO_TIMING_POWERSTRIP : 0,
-+ options.powerstrip()? (char *)options.ps_timing() : m_device_key);
-+
-+ // Get per window resolution
-+ strcpy(resolution, strcmp(options.resolution(0), "auto")? options.resolution(0) : options.resolution());
-+
-+ // Get list of available video modes
-+ if (!display_get_available_video_modes(m_device_name, mode_table, &desktop_mode, cs))
-+ {
-+ set_option_osd(machine, OSDOPTION_SWITCHRES, false);
-+ return false;
-+ }
-+
-+ // Get per window aspect
-+ aspect = strcmp(options.aspect(0), "auto")? options.aspect(0) : options.aspect();
-+ if (strcmp(aspect, "auto"))
-+ {
-+ float num, den;
-+ sscanf(aspect, "%f:%f", &num, &den);
-+ cs->monitor_aspect = cs->desktop_rotated? den/num : num/den;
-+ }
-+ else
-+ cs->monitor_aspect = STANDARD_CRT_ASPECT;
-+
-+ // If monitor is LCD, create automatic specs and force resolution
-+ if (!strcmp(cs->monitor, "lcd"))
-+ {
-+ osd_printf_verbose("SwitchRes: Creating automatic specs for LCD based on %s\n", desktop_mode.hactive? "current timings" : "VESA GTF");
-+ if (!desktop_mode.hactive) modeline_vesa_gtf(&desktop_mode);
-+ modeline_to_monitor_range(range, &desktop_mode);
-+ monitor_show_range(range);
-+ sprintf(resolution, "%dx%d@%d", desktop_mode.width, desktop_mode.height, desktop_mode.refresh);
-+ }
-+ // Otherwise (non-LCD), convert the user defined modeline into a -resolution option
-+ else if (user_mode->hactive)
-+ sprintf(resolution, "%dx%d", user_mode->hactive, user_mode->vactive);
-+
-+ // Filter the mode table according the -resolution option
-+ if (strcmp(resolution, "auto"))
-+ {
-+ int i = 1;
-+ bool found = false;
-+ osd_printf_verbose("SwitchRes: -resolution was forced as %s\n", resolution);
-+
-+ if ((sscanf(resolution, "%dx%d@%d", &cs->width, &cs->height, &cs->refresh) < 3) &&
-+ ((!strstr(resolution, "x") || (sscanf(resolution, "%dx%d", &cs->width, &cs->height) != 2))))
-+ osd_printf_info("SwitchRes: illegal -resolution value: %s\n", resolution);
-+
-+ else while (mode_table[i].width && i < MAX_MODELINES)
-+ {
-+ // Lock all modes that don't match the user's -resolution rules
-+ if (!( (mode_table[i].width == cs->width || (mode_table[i].type & X_RES_EDITABLE && cs->width <= DUMMY_WIDTH) || cs->width == 0)
-+ && (mode_table[i].height == cs->height || cs->height == 0)
-+ && (mode_table[i].refresh == cs->refresh || cs->refresh == 0) ))
-+ mode_table[i].type |= MODE_DISABLED;
-+
-+ else
-+ {
-+ // If we have an user defined modeline, link its label to current item in mode table
-+ if (user_mode->hactive && !found)
-+ {
-+ user_mode->width = mode_table[i].width;
-+ user_mode->height = mode_table[i].height;
-+ user_mode->refresh = mode_table[i].refresh;
-+ user_mode->type = mode_table[i].type & ~V_FREQ_EDITABLE & ~X_RES_EDITABLE;
-+ }
-+ mode_table[i].type &= ~MODE_DISABLED;
-+ mode_table[i].type |= MODE_USER_DEF;
-+ found = true;
-+ }
-+ i++;
-+ }
-+ if (!found)
-+ osd_printf_info("SwitchRes: -resolution value not available: %s\n", resolution);
-+ }
-+
-+ // Get game info
-+ switchres_get_game_info(machine);
-+
-+ return true;
-+}
-+
-+//============================================================
-+// switchres_modeline_setup
-+//============================================================
-+
-+bool switchres_modeline_setup(running_machine &machine)
-+{
-+ modeline *best_mode = &machine.switchres.best_mode;
-+ windows_options &options = downcast<windows_options &>(machine.options());
-+ windows_osd_interface &osd = downcast<windows_osd_interface &>(machine.osd());
-+ char modeline_txt[256]={'\x00'};
-+
-+ osd_printf_verbose("\nSwitchRes: Entering switchres_modeline_setup\n");
-+
-+ // Find most suitable video mode and generate a modeline for it if we're allowed
-+ if (!switchres_get_video_mode(machine))
-+ {
-+ set_option_osd(machine, OSDOPTION_SWITCHRES, false);
-+ return false;
-+ }
-+
-+ // Make the new video timings available to the system
-+ if (options.modeline_generation())
-+ {
-+ if(!custom_video_update_timing(best_mode))
-+ {
-+ set_option_osd(machine, OSDOPTION_SWITCHRES, false);
-+ return false;
-+ }
-+
-+ if (options.verbose())
-+ {
-+ modeline_print(best_mode, modeline_txt, MS_FULL);
-+ copy_to_clipboard(modeline_txt);
-+ }
-+ }
-+
-+ // Set MAME common options
-+ switchres_set_options(machine);
-+
-+ // Set MAME OSD specific options
-+
-+ // Set fullscreen resolution for the OpenGL case
-+ if (options.switch_res() && (!strcmp(options.video(), "opengl"))) display_set_desktop_mode(best_mode, CDS_FULLSCREEN);
-+
-+ // Black frame insertion / multithreading
-+ bool black_frame_insertion = options.black_frame_insertion() && best_mode->result.v_scale > 1 && best_mode->vfreq > 100;
-+ set_option_osd(machine, OPTION_BLACK_FRAME_INSERTION, black_frame_insertion);
-+
-+ // Vertical synchronization management (autosync)
-+ // Disable -syncrefresh if our vfreq is scaled or out of syncrefresh_tolerance (-triplebuffer will be used instead)
-+ // Forcing -syncrefresh will override the -triplebuffer setting
-+ bool sync_refresh_effective = black_frame_insertion || !((best_mode->result.weight & R_V_FREQ_OFF) || best_mode->result.v_scale > 1);
-+ set_option_osd(machine, OPTION_SYNCREFRESH, options.autosync()? sync_refresh_effective : options.sync_refresh());
-+ set_option_osd(machine, WINOPTION_TRIPLEBUFFER, options.autosync()? !sync_refresh_effective : (options.triple_buffer() && !options.sync_refresh()));
-+ set_option_osd(machine, OSDOPTION_WAITVSYNC, options.sync_refresh() || options.triple_buffer());
-+
-+ // Set filter options
-+ set_option_osd(machine, OSDOPTION_FILTER, ((best_mode->result.weight & R_RES_STRETCH || best_mode->interlace) && (!strcmp(options.video(), "auto") || !strcmp(options.video(), "d3d"))));
-+
-+ // Refresh video options
-+ osd.extract_video_config();
-+
-+ return true;
-+}
-+
-+//============================================================
-+// switchres_modeline_remove
-+//============================================================
-+
-+bool switchres_modeline_remove(running_machine &machine)
-+{
-+ windows_options &options = downcast<windows_options &>(machine.options());
-+
-+ // Restore original video timings
-+ if (options.modeline_generation()) custom_video_restore_timing();
-+
-+ // Set destop resolution for the OpenGL case
-+ if (options.switch_res() && !strcmp(options.video(), "opengl")) display_restore_desktop_mode(0);
-+
-+ // Free custom video api
-+ custom_video_close();
-+
-+ return true;
-+}
-+
-+//============================================================
-+// switchres_resolution_change
-+//============================================================
-+
-+bool switchres_resolution_change(win_window_info *window)
-+{
-+ running_machine &machine = window->machine();
-+ modeline *best_mode = &machine.switchres.best_mode;
-+ modeline previous_mode;
-+
-+ // If there's no pending change, just exit
-+ if (!switchres_check_resolution_change(machine))
-+ return false;
-+
-+ // Get the new resolution
-+ previous_mode = *best_mode;
-+ switchres_modeline_setup(machine);
-+
-+ // Only change resolution if the new one is actually different
-+ if (memcmp(&previous_mode, best_mode, offsetof(modeline, result)))
-+ {
-+ window->m_win_config.width = best_mode->width;
-+ window->m_win_config.height = best_mode->height;
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
-+//============================================================
-+// display_get_desktop_mode
-+//============================================================
-+
-+int display_get_desktop_mode(const char *device_name, modeline *current)
-+{
-+ memset(&desktop_devmode, 0, sizeof(DEVMODEA));
-+ desktop_devmode.dmSize = sizeof(DEVMODEA);
-+
-+ if (EnumDisplaySettingsExA(!strcmp(device_name, "auto")?NULL:device_name, ENUM_CURRENT_SETTINGS, &desktop_devmode, 0))
-+ {
-+ if (current)
-+ {
-+ current->width = desktop_devmode.dmDisplayOrientation == DMDO_DEFAULT || desktop_devmode.dmDisplayOrientation == DMDO_180? desktop_devmode.dmPelsWidth:desktop_devmode.dmPelsHeight;
-+ current->height = desktop_devmode.dmDisplayOrientation == DMDO_DEFAULT || desktop_devmode.dmDisplayOrientation == DMDO_180? desktop_devmode.dmPelsHeight:desktop_devmode.dmPelsWidth;
-+ current->refresh = desktop_devmode.dmDisplayFrequency;
-+ current->interlace = (desktop_devmode.dmDisplayFlags & DM_INTERLACED)?1:0;
-+ }
-+ return true;
-+ }
-+ return false;
-+}
-+
-+//============================================================
-+// display_restore_desktop_mode
-+//============================================================
-+
-+int display_restore_desktop_mode(int flags)
-+{
-+ if (ChangeDisplaySettingsExA(m_device_name, &desktop_devmode, NULL, 0, 0) == DISP_CHANGE_SUCCESSFUL)
-+ return true;
-+
-+ return false;
-+}
-+
-+//============================================================
-+// display_set_desktop_mode
-+//============================================================
-+
-+int display_set_desktop_mode(modeline *mode, int flags)
-+{
-+ modeline *backup_mode = custom_video_get_backup_mode();
-+ modeline *mode_to_check_interlace = backup_mode->hactive? backup_mode : mode;
-+ DEVMODEA lpDevMode;
-+
-+ display_get_desktop_mode(m_device_name, NULL);
-+
-+ if (mode)
-+ {
-+ memset(&lpDevMode, 0, sizeof(DEVMODEA));
-+ lpDevMode.dmSize = sizeof(DEVMODEA);
-+ lpDevMode.dmPelsWidth = mode->type & MODE_ROTATED? mode->height : mode->width;
-+ lpDevMode.dmPelsHeight = mode->type & MODE_ROTATED? mode->width : mode->height;
-+ lpDevMode.dmDisplayFrequency = (int)mode->refresh;
-+ lpDevMode.dmDisplayFlags = mode_to_check_interlace->interlace?DM_INTERLACED:0;
-+ lpDevMode.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT | DM_DISPLAYFREQUENCY | DM_DISPLAYFLAGS;
-+
-+ if (ChangeDisplaySettingsExA(m_device_name, &lpDevMode, NULL, flags, 0) == DISP_CHANGE_SUCCESSFUL)
-+ return true;
-+ }
-+
-+ return false;
-+}
-+
-+//============================================================
-+// display_get_available_video_modes
-+//============================================================
-+
-+int display_get_available_video_modes(const char *device_name, modeline *mode, modeline *current, config_settings *cs)
-+{
-+ int iModeNum = 0, i = 0, j = 0, k = 1;
-+ DEVMODEA lpDevMode;
-+
-+ if (!strcmp(device_name, "auto"))
-+ device_name = NULL;
-+
-+
-+ memset(&lpDevMode, 0, sizeof(DEVMODEA));
-+ lpDevMode.dmSize = sizeof(DEVMODEA);
-+
-+ osd_printf_verbose("Switchres: Searching for custom video modes...\n");
-+
-+ while (EnumDisplaySettingsExA(device_name, iModeNum, &lpDevMode, cs->lock_unsupported_modes?0:EDS_RAWMODE) != 0)
-+ {
-+ if (k == MAX_MODELINES)
-+ {
-+ osd_printf_verbose("SwitchRes: Warning, too many active modelines for storage %d\n", k);
-+ break;
-+ }
-+ else if (lpDevMode.dmBitsPerPel == 32 && lpDevMode.dmDisplayFixedOutput == DMDFO_DEFAULT)
-+ {
-+ modeline *m = &mode[k];
-+ memset(m, 0, sizeof(struct modeline));
-+ m->interlace = (lpDevMode.dmDisplayFlags & DM_INTERLACED)?1:0;
-+ m->width = lpDevMode.dmDisplayOrientation == DMDO_DEFAULT || lpDevMode.dmDisplayOrientation == DMDO_180? lpDevMode.dmPelsWidth:lpDevMode.dmPelsHeight;
-+ m->height = lpDevMode.dmDisplayOrientation == DMDO_DEFAULT || lpDevMode.dmDisplayOrientation == DMDO_180? lpDevMode.dmPelsHeight:lpDevMode.dmPelsWidth;
-+ m->refresh = lpDevMode.dmDisplayFrequency;
-+ m->hactive = m->width;
-+ m->vactive = m->height;
-+ m->vfreq = m->refresh;
-+ m->type |= lpDevMode.dmDisplayOrientation == DMDO_90 || lpDevMode.dmDisplayOrientation == DMDO_270? MODE_ROTATED : MODE_OK;
-+
-+ for (i = 0; i < k; i++) if (mode[i].width == m->width && mode[i].height == m->height && mode[i].refresh == m->refresh) goto found;
-+
-+ if (current && m->width == current->width && m->height == current->height && m->refresh == current->refresh)
-+ {
-+ m->type |= MODE_DESKTOP;
-+ if (m->type & MODE_ROTATED) cs->desktop_rotated = true;
-+ }
-+
-+ osd_printf_verbose("Switchres: [%3d] %4dx%4d @%3d%s %s: ", k, m->width, m->height, m->refresh, m->type & MODE_DESKTOP?"*":"", m->type & MODE_ROTATED?"rot":"");
-+
-+ if (custom_video_get_timing(m))
-+ {
-+ j++;
-+ if (m->type & MODE_DESKTOP) memcpy(current, m, sizeof(modeline));
-+ }
-+ k++;
-+ }
-+ found:
-+ iModeNum++;
-+ }
-+ k--;
-+ osd_printf_verbose("SwitchRes: Found %d custom of %d active video modes\n", j, k);
-+ return k;
-+}
-+
-+//============================================================
-+// display_get_device_info
-+//============================================================
-+
-+int display_get_device_info(const char *screen_option, char *device_name, char *device_id, char *device_key)
-+{
-+ DISPLAY_DEVICEA lpDisplayDevice[DISPLAY_MAX];
-+ int idev = 0;
-+ int found = -1;
-+
-+ while (idev < DISPLAY_MAX)
-+ {
-+ memset(&lpDisplayDevice[idev], 0, sizeof(DISPLAY_DEVICEA));
-+ lpDisplayDevice[idev].cb = sizeof(DISPLAY_DEVICEA);
-+
-+ if (EnumDisplayDevicesA(NULL, idev, &lpDisplayDevice[idev], 0) == FALSE)
-+ break;
-+
-+ if ((!strcmp(screen_option, "auto") && (lpDisplayDevice[idev].StateFlags & DISPLAY_DEVICE_PRIMARY_DEVICE))
-+ || !strcmp(screen_option, lpDisplayDevice[idev].DeviceName))
-+ found = idev;
-+
-+ idev++;
-+ }
-+ if (found != -1)
-+ {
-+ strncpy(device_name, lpDisplayDevice[found].DeviceName, sizeof(m_device_name));
-+ strncpy(device_id, lpDisplayDevice[found].DeviceID, sizeof(m_device_id));
-+ osd_printf_verbose("SwitchRes: %s: %s (%s)\n", device_name, lpDisplayDevice[found].DeviceString, device_id);
-+
-+ char *pch;
-+ int i;
-+ for (i = 0; i < idev; i++)
-+ {
-+ pch = strstr(lpDisplayDevice[i].DeviceString, lpDisplayDevice[found].DeviceString);
-+ if (pch)
-+ {
-+ found = i;
-+ break;
-+ }
-+ }
-+
-+ char *chsrc, *chdst;
-+ chdst = device_key;
-+
-+ for (chsrc = lpDisplayDevice[i].DeviceKey + 18; *chsrc != 0; chsrc++)
-+ *chdst++ = *chsrc;
-+
-+ *chdst = 0;
-+ }
-+ else
-+ {
-+ osd_printf_verbose("SwitchRes: Failed obtaining default video registry key\n");
-+ return -1;
-+ }
-+
-+ osd_printf_verbose("SwitchRes: Device key: %s\n", device_key);
-+ return 0;
-+}
-+
-+//============================================================
-+// set_option_osd - option setting wrapper
-+//============================================================
-+
-+static void set_option_osd(running_machine &machine, const char *option_ID, bool state)
-+{
-+ windows_options &options = downcast<windows_options &>(machine.options());
-+
-+ options.set_value(option_ID, state, OPTION_PRIORITY_SWITCHRES);
-+ osd_printf_verbose("SwitchRes: Setting option -%s%s\n", machine.options().bool_value(option_ID)?"":"no", option_ID);
-+}
-+
-+//============================================================
-+// copy_to_clipboard
-+//============================================================
-+
-+static int copy_to_clipboard(char *txt)
-+{
-+ HGLOBAL hglb;
-+ hglb = GlobalAlloc(GMEM_MOVEABLE, 256);
-+ memcpy(GlobalLock(hglb), txt, strlen(txt) + 1);
-+ GlobalUnlock(hglb);
-+ OpenClipboard(NULL);
-+ EmptyClipboard();
-+ SetClipboardData(CF_TEXT, hglb);
-+ CloseClipboard();
-+ return 1;
-+}
-diff --git a/src/osd/windows/video.cpp b/src/osd/windows/video.cpp
-index c6f4d3a0a89..5f5dbd64971 100644
---- a/src/osd/windows/video.cpp
-+++ b/src/osd/windows/video.cpp
-@@ -190,9 +190,10 @@ void windows_osd_interface::extract_video_config()
- video_config.mode = VIDEO_MODE_GDI;
- }
- video_config.waitvsync = options().wait_vsync();
-- video_config.syncrefresh = options().sync_refresh();
-+ video_config.syncrefresh = machine().options().sync_refresh();
- video_config.triplebuf = options().triple_buffer();
- video_config.switchres = options().switch_res();
-+ video_config.framedelay = options().frame_delay();
-
- if (video_config.prescale < 1 || video_config.prescale > 8)
- {
-diff --git a/src/osd/windows/window.cpp b/src/osd/windows/window.cpp
-index 8e723ea6246..16f0ba16a23 100644
---- a/src/osd/windows/window.cpp
-+++ b/src/osd/windows/window.cpp
-@@ -55,6 +55,8 @@ using namespace Windows::UI::Core;
- #define MAKE_DI_SCAN(scan, isextended) (scan & 0x7f) | (isextended ? 0x80 : 0x00)
- #define WINOSD(machine) downcast<windows_osd_interface*>(&machine.osd())
-
-+extern bool switchres_resolution_change(win_window_info *window);
-+
- //============================================================
- // PARAMETERS
- //============================================================
-@@ -88,7 +90,7 @@ using namespace Windows::UI::Core;
-
- static DWORD main_threadid;
-
--
-+static BOOL multithreading_enabled = FALSE;
-
- //============================================================
- // LOCAL VARIABLES
-@@ -804,6 +806,11 @@ void win_window_info::create(running_machine &machine, int index, std::shared_pt
- // handle error conditions
- if (window->m_init_state == -1)
- fatalerror("Unable to complete window creation\n");
-+
-+ // create blitting thread
-+ multithreading_enabled = options.triple_buffer();
-+ if (multithreading_enabled)
-+ window->blit_loop_create();
- }
-
- std::shared_ptr<osd_monitor_info> win_window_info::monitor_from_rect(const osd_rect* proposed) const
-@@ -838,6 +845,10 @@ void win_window_info::destroy()
- {
- assert(GetCurrentThreadId() == main_threadid);
-
-+ // destroy blitting thread
-+ if (multithreading_enabled)
-+ blit_loop_destroy();
-+
- // remove us from the list
- osd_common_t::s_window_list.remove(shared_from_this());
-
-@@ -851,6 +862,97 @@ void win_window_info::destroy()
-
-
-
-+//============================================================
-+// blit_loop_create
-+// (blitting thread)
-+//============================================================
-+
-+void win_window_info::blit_loop_create()
-+{
-+ // set loop as active and lock it until ready
-+ m_blitting_active = TRUE;
-+ m_blit_lock = TRUE;
-+
-+ // create blitting events
-+ m_blit_pending = CreateEvent(NULL, FALSE, FALSE, NULL);
-+ m_blit_done = CreateEvent(NULL, FALSE, FALSE, NULL);
-+
-+ // create blitting thread
-+ CreateThread (NULL, 0, blit_loop, (LPVOID)this, 0, &m_blit_threadid);
-+ osd_printf_verbose("Blitting thread created\n");
-+}
-+
-+//============================================================
-+// blit_loop_destroy
-+// (blitting thread)
-+//============================================================
-+
-+void win_window_info::blit_loop_destroy()
-+{
-+ // turn off blitting flag and wait until thread ends
-+ m_blitting_active = FALSE;
-+ WaitForSingleObject(m_blit_done, 100);
-+
-+ // close blitting events
-+ if (m_blit_done) CloseHandle(m_blit_done);
-+ if (m_blit_pending) CloseHandle(m_blit_pending);
-+
-+ osd_printf_verbose("Blitting thread destroyed\n");
-+}
-+
-+//============================================================
-+// blit_loop
-+// (blitting thread)
-+//============================================================
-+
-+DWORD WINAPI win_window_info::blit_loop(LPVOID lpParameter)
-+{
-+ return ((win_window_info *)lpParameter)->blit_loop_wt();
-+}
-+
-+DWORD win_window_info::blit_loop_wt()
-+{
-+ bool m_throttled;
-+ osd_printf_verbose("Blitting thread started\n");
-+
-+ do {
-+ WaitForSingleObject(m_blit_pending, INFINITE);
-+ m_throttled = machine().video().throttled();
-+ if (!m_blit_lock && has_renderer()) draw_video_contents(NULL, FALSE);
-+ if (m_throttled) SetEvent(m_blit_done);
-+ } while (m_blitting_active);
-+
-+ osd_printf_verbose("Blitting thread ended\n");
-+
-+ return -1;
-+}
-+
-+//============================================================
-+// blit_lock_set
-+// (window thread)
-+//============================================================
-+
-+void win_window_info::blit_lock_set()
-+{
-+ m_blit_lock = TRUE;
-+ osd_printf_verbose("blit_lock = TRUE\n");
-+ Sleep(20);
-+}
-+
-+//============================================================
-+// blit_lock_release
-+// (window thread)
-+//============================================================
-+
-+void win_window_info::blit_lock_release()
-+{
-+ Sleep(20);
-+ m_blit_lock = FALSE;
-+ osd_printf_verbose("blit_lock = FALSE\n");
-+}
-+
-+
-+
- //============================================================
- // winwindow_video_window_update
- // (main thread)
-@@ -860,6 +962,7 @@ void win_window_info::update()
- {
- int targetview, targetorient;
- render_layer_config targetlayerconfig;
-+ static int frame_count = 0;
-
- assert(GetCurrentThreadId() == main_threadid);
-
-@@ -888,11 +991,7 @@ void win_window_info::update()
- {
- bool got_lock = true;
-
-- // only block if we're throttled
-- if (machine().video().throttled() || timeGetTime() - last_update_time > 250)
-- m_render_lock.lock();
-- else
-- got_lock = m_render_lock.try_lock();
-+ got_lock = m_render_lock.try_lock();
-
- // only render if we were able to get the lock
- if (got_lock)
-@@ -902,6 +1001,33 @@ void win_window_info::update()
- // don't hold the lock; we just used it to see if rendering was still happening
- m_render_lock.unlock();
-
-+ // check if frame delay has changed
-+ static int frame_delay = 0;
-+ int new_frame_delay = machine().video().framedelay();
-+ if (new_frame_delay != frame_delay)
-+ {
-+ video_config.framedelay = new_frame_delay;
-+
-+ bool reset_required = ((bool)frame_delay != (bool)new_frame_delay);
-+ frame_delay = new_frame_delay;
-+
-+ if (reset_required)
-+ {
-+ reset_fullscreen_renderer();
-+ return;
-+ }
-+ }
-+
-+ // check resolution change
-+ if (renderer().m_switchres_mode != nullptr && video_config.switchres && machine().options().changeres())
-+ {
-+ if (switchres_resolution_change(this))
-+ {
-+ reset_fullscreen_renderer();
-+ return;
-+ }
-+ }
-+
- // ensure the target bounds are up-to-date, and then get the primitives
- primlist = renderer().get_primitives();
-
-@@ -919,7 +1045,20 @@ void win_window_info::update()
- }
- else
- {
-- SendMessage(platform_window(), WM_USER_REDRAW, 0, (LPARAM)primlist);
-+ if (multithreading_enabled && !m_blit_lock && video_config.mode != VIDEO_MODE_GDI)
-+ {
-+ m_primlist = primlist;
-+ SetEvent(m_blit_pending);
-+ if ((video_config.syncrefresh && machine().video().throttled()))
-+ WaitForSingleObject(m_blit_done, 1000);
-+ frame_count = 0;
-+ }
-+ else
-+ {
-+ m_primlist = primlist;
-+ draw_video_contents(NULL, FALSE);
-+ if (multithreading_enabled && frame_count++ > 5) blit_lock_release();
-+ }
- }
- }
- }
-@@ -1196,8 +1335,7 @@ LRESULT CALLBACK win_window_info::video_window_proc(HWND wnd, UINT message, WPAR
- case WM_PAINT:
- {
- PAINTSTRUCT pstruct;
-- HDC hdc = BeginPaint(wnd, &pstruct);
-- window->draw_video_contents(hdc, true);
-+ BeginPaint(wnd, &pstruct);
- if (window->win_has_menu())
- DrawMenuBar(window->platform_window());
- EndPaint(wnd, &pstruct);
-@@ -1340,6 +1478,11 @@ LRESULT CALLBACK win_window_info::video_window_proc(HWND wnd, UINT message, WPAR
- return DefWindowProc(wnd, message, wparam, lparam);
- }
-
-+ case WM_ACTIVATE:
-+ if (window->has_renderer() && window->fullscreen() && (LOWORD(wparam) == WA_INACTIVE) && !is_mame_window(HWND(lparam)))
-+ if (osd_common_t::s_window_list.size()) winwindow_toggle_full_screen();
-+ break;
-+
- // close: cause MAME to exit
- case WM_CLOSE:
- window->machine().schedule_exit();
-@@ -1797,6 +1940,7 @@ void win_window_info::adjust_window_position_after_major_change()
- }
-
-
-+
- //============================================================
- // set_fullscreen
- // (window thread)
-@@ -1815,6 +1959,10 @@ void win_window_info::set_fullscreen(int fullscreen)
- // FIXME: this cause crash if called when running_machine.m_ui not yet initialised. e.g. when trying to show error/warning messagebox at startup (during auto-switch from full screen to windowed mode).
- machine().ui().menu_reset();
-
-+ // pause blitting thread;
-+ if (multithreading_enabled)
-+ blit_lock_set();
-+
- // kill off the drawers
- renderer_reset();
-
-@@ -1883,6 +2031,49 @@ void win_window_info::set_fullscreen(int fullscreen)
- }
-
-
-+//============================================================
-+// reset_fullscreen_renderer
-+//============================================================
-+
-+void win_window_info::reset_fullscreen_renderer()
-+{
-+ // if we're in the right state, punt
-+ if (!m_fullscreen)
-+ return;
-+
-+ // pause blitting thread;
-+ if (multithreading_enabled)
-+ blit_lock_set();
-+
-+ if (video_config.mode == VIDEO_MODE_D3D)
-+ {
-+ renderer().restart();
-+ return;
-+ }
-+
-+ // kill off the drawers
-+ renderer_reset();
-+
-+ // hide ourself
-+ ShowWindow(platform_window(), SW_HIDE);
-+
-+ // adjust the style
-+ SetWindowLong(platform_window(), GWL_STYLE, WINDOW_STYLE);
-+ SetWindowLong(platform_window(), GWL_EXSTYLE, WINDOW_STYLE_EX);
-+ SetWindowPos(platform_window(), 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
-+
-+ SetWindowLong(platform_window(), GWL_STYLE, FULLSCREEN_STYLE);
-+ SetWindowLong(platform_window(), GWL_EXSTYLE, FULLSCREEN_STYLE_EX);
-+ SetWindowPos(platform_window(), 0, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);
-+
-+ ShowWindow(platform_window(), SW_SHOW);
-+
-+ set_renderer(osd_renderer::make_for_type(video_config.mode, shared_from_this()));
-+ if (renderer().create())
-+ exit(1);
-+}
-+
-+
- //============================================================
- // focus
- // (main or window thread)
-diff --git a/src/osd/windows/window.h b/src/osd/windows/window.h
-index b04e35aa110..455522781a0 100644
---- a/src/osd/windows/window.h
-+++ b/src/osd/windows/window.h
-@@ -96,6 +96,7 @@ public:
- // static
-
- static void create(running_machine &machine, int index, std::shared_ptr<osd_monitor_info> monitor, const osd_window_config *config);
-+ static DWORD WINAPI blit_loop(LPVOID lpParameter);
-
- // static callbacks
-
-@@ -131,6 +132,13 @@ public:
- int m_lastclickx;
- int m_lastclicky;
-
-+ // blitting thread
-+ HANDLE m_blit_pending;
-+ HANDLE m_blit_done;
-+ DWORD m_blit_threadid;
-+ BOOL m_blitting_active;
-+ BOOL m_blit_lock;
-+
- private:
- void draw_video_contents(HDC dc, bool update);
- int complete_create();
-@@ -146,6 +154,12 @@ private:
- void adjust_window_position_after_major_change();
- void set_fullscreen(int fullscreen);
- std::shared_ptr<osd_monitor_info> monitor_from_rect(const osd_rect* proposed) const;
-+ void reset_fullscreen_renderer();
-+ void blit_loop_create();
-+ void blit_loop_destroy();
-+ DWORD blit_loop_wt();
-+ void blit_lock_set();
-+ void blit_lock_release();
-
- static POINT s_saved_cursor_pos;
-
-diff --git a/src/osd/windows/winmain.cpp b/src/osd/windows/winmain.cpp
-index 05888769c0d..3eab0ca4867 100644
---- a/src/osd/windows/winmain.cpp
-+++ b/src/osd/windows/winmain.cpp
-@@ -43,6 +43,9 @@ using namespace Windows::UI::Popups;
-
- #define DEBUG_SLOW_LOCKS 0
-
-+extern bool switchres_modeline_setup(running_machine &machine);
-+extern bool switchres_modeline_remove(running_machine &machine);
-+
- //**************************************************************************
- // MACROS
- //**************************************************************************
-@@ -525,6 +528,10 @@ void windows_osd_interface::init(running_machine &machine)
- const char *stemp;
- auto &options = downcast<windows_options &>(machine.options());
-
-+ // Switchres
-+ switchres_init_osd(machine);
-+ switchres_modeline_setup(machine);
-+
- // determine if we are benchmarking, and adjust options appropriately
- int bench = options.bench();
- if (bench > 0)
-@@ -603,6 +610,9 @@ void windows_osd_interface::init(running_machine &machine)
-
- void windows_osd_interface::osd_exit()
- {
-+ // Remove Switchres
-+ switchres_modeline_remove(machine());
-+
- // no longer have a machine
- g_current_machine = nullptr;
-
diff --git a/testing/mame/nonag.patch b/testing/mame/nonag.patch
index d3fd0760c8c..b382a8fb6fe 100644
--- a/testing/mame/nonag.patch
+++ b/testing/mame/nonag.patch
@@ -1,12 +1,11 @@
--- a/src/emu/render.cpp
+++ b/src/emu/render.cpp
-@@ -1399,7 +1399,8 @@
+@@ -1429,7 +1429,7 @@
+ add_element_primitives(list, item_xform, curitem);
}
-
- // if we are not in the running stage, draw an outer box
+ }
- else
-+ // DISABLE WHITE BORDER
+ else if ( !m_manager.machine().options().skip_gameinfo() )
{
+ // if we are not in the running stage, draw an outer box
render_primitive *prim = list.alloc(render_primitive::QUAD);
- set_render_bounds_xy(prim->bounds, 0.0f, 0.0f, (float)m_width, (float)m_height);
diff --git a/testing/mangal/APKBUILD b/testing/mangal/APKBUILD
new file mode 100644
index 00000000000..5fc9f5b45a2
--- /dev/null
+++ b/testing/mangal/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=mangal
+pkgver=4.0.6
+pkgrel=10
+pkgdesc="Fancy TUI manga downloader"
+url="https://github.com/metafates/mangal"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/metafates/mangal/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # connects to dead api
+
+build() {
+ local _goldflags="
+ -X github.com/metafates/mangal/constant.BuiltAt=$(date -u "+%Y-%m-%dT%H:%M:%SZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ -X github.com/metafates/mangal/constant.BuiltBy=AlpineLinux
+ -X github.com/metafates/mangal/constant.Revision=0000000
+ "
+ go build -v -ldflags "$_goldflags"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 completions/$pkgname.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 completions/$pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 completions/$pkgname.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+b826dd77cb66efe39812eb6c00439d2578dd32456fbb038509e4a92da52e96d06c8a55d8d85fde2414dcde57197a181cf8a95c0a2bd90903f11340fceda9059b mangal-4.0.6.tar.gz
+"
diff --git a/testing/mangr0ve/APKBUILD b/testing/mangr0ve/APKBUILD
new file mode 100644
index 00000000000..31e5181270c
--- /dev/null
+++ b/testing/mangr0ve/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Jacob Ludvigsen <jacob.ludvigsen@protonmail.com>
+# Maintainer: Jacob Ludvigsen <jacob.ludvigsen@protonmail.com>
+pkgname=mangr0ve
+pkgver=0.1.2
+pkgrel=0
+pkgdesc="Terminal application simplifiyng rollback of btrfs subvols"
+url="https://gitlab.com/papiris/mangr0ve"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="btrfs-progs"
+options="!check" # Upstream does not provide tests yet
+subpackages="$pkgname-doc"
+source="https://gitlab.com/papiris/mangr0ve/-/archive/$pkgver/mangr0ve-$pkgver.tar.bz2"
+
+build() {
+ return 0
+}
+
+package() {
+ make DESTDIR="$pkgdir/" install
+}
+
+sha512sums="
+0edd067d47aca23f901b5e76087f3148f9e3894e8ef0409d9d2b57f3a5b78fae7a6dbd99c023c36eff42d69d9569531708a84cf18469776e687ca482e916d03d mangr0ve-0.1.2.tar.bz2
+"
diff --git a/testing/manifest-tool/APKBUILD b/testing/manifest-tool/APKBUILD
new file mode 100644
index 00000000000..eb8a9870b33
--- /dev/null
+++ b/testing/manifest-tool/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Phil Estes <estesp@gmail.com>
+# Maintainer: Phil Estes <estesp@gmail.com>
+pkgname=manifest-tool
+pkgver=2.1.6
+_pkgcommit=d96ae95374f885e40b1e7de367c72ab09d7dc362
+pkgrel=2
+pkgdesc="tool for inspecting and creating multi-platform container images"
+url="https://github.com/estesp/manifest-tool"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/estesp/manifest-tool/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/manifest-tool-$pkgver/"
+
+export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ msg "Building manifest-tool"
+ cd v2 && go build \
+ -ldflags "-X main.gitCommit=$_pkgcommit -X main.version=$pkgver" \
+ -o ../manifest-tool github.com/estesp/manifest-tool/v2/cmd/manifest-tool
+}
+
+check() {
+ echo "no check"
+}
+
+package() {
+ install -Dm0755 manifest-tool -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+0a23875928191626d474a99d4a052dc578863eef301d4e4c48a96dbf0a1c59279b6d3fb90d3cced4c01c7fa0b2d8f58feaa6612fb21c614cfacaf3b4b8692bee manifest-tool-2.1.6.tar.gz
+"
diff --git a/testing/manticore/0001-use-shared-boost-lib.patch b/testing/manticore/0001-use-shared-boost-lib.patch
new file mode 100644
index 00000000000..65c0d76a3c7
--- /dev/null
+++ b/testing/manticore/0001-use-shared-boost-lib.patch
@@ -0,0 +1,13 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index c2fce771f..388558341 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -113,7 +113,7 @@ endif ()
+
+ # Boost is required dependency now
+ set ( Boost_USE_MULTITHREADED ON )
+-set ( Boost_USE_STATIC_LIBS ON )
++set ( Boost_USE_STATIC_LIBS OFF )
+ # todo: as alternative we can try to recompile boost with clang, but precompiled also quite ok
+ if (CMAKE_CROSSCOMPILING AND CMAKE_SYSTEM_NAME STREQUAL Windows)
+ set ( Boost_COMPILER vc142 )
diff --git a/testing/manticore/APKBUILD b/testing/manticore/APKBUILD
new file mode 100644
index 00000000000..8cee589fe7d
--- /dev/null
+++ b/testing/manticore/APKBUILD
@@ -0,0 +1,102 @@
+# Contributor: Zach DeCook <zachdecook@librem.one>
+# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
+pkgname=manticore
+pkgver=6.2.12
+pkgrel=0
+pkgdesc="Easy to use open source fast database for search"
+url="https://manticoresearch.com/"
+# 32-bit systems fail to build, tests fail on s390x, ppc64le doc fail.
+arch="all !ppc64le !s390x !x86 !armhf !armv7"
+license="GPL-2.0-only"
+replaces="sphinx manticoresearch"
+install="$pkgname.pre-install"
+source="$pkgname-$pkgver.tar.gz::https://github.com/manticoresoftware/manticoresearch/archive/refs/tags/$pkgver.tar.gz
+ 0001-use-shared-boost-lib.patch
+ $pkgname.initd
+ "
+makedepends="
+ bison
+ boost-dev
+ cmake
+ curl-dev
+ expat-dev
+ flex
+ gtest-dev
+ icu-dev
+ libpq-dev
+ libstemmer-dev
+ mariadb-connector-c-dev
+ re2-dev
+ samurai
+ unixodbc-dev
+ zstd-dev
+ "
+checkdepends="php82"
+pkgusers="manticore"
+pkggroups="manticore"
+subpackages="
+ $pkgname-converter
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-openrc
+ $pkgname-tools
+ "
+
+builddir="$srcdir/manticoresearch-$pkgver/"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_LOCALSTATEDIR=/var \
+ -DCMAKE_INSTALL_FULL_LOCALSTATEDIR=/var \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DLOCALDATADIR=/var/lib/manticore \
+ -DWITH_ICU=1 \
+ -DWITH_ICU_FORCE_STATIC=0 \
+ -DWITH_RE2=1 \
+ -DWITH_RE2_FORCE_STATIC=0 \
+ -DWITH_STEMMER=1 \
+ -DWITH_STEMMER_FORCE_STATIC=0 \
+ -DWITH_GALERA=0
+ cmake --build build
+}
+
+check() {
+ # Exclude test 'perform indextool' which always fails
+ ctest --test-dir build --output-on-failure -E '(Perform_indextool)' -j1
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ # User/Group created by pre-install hook.
+ chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/manticore
+ chown -R $pkgusers:$pkggroups "$pkgdir"/var/log/manticore
+ chown -R $pkgusers:$pkggroups "$pkgdir"/var/run/manticore
+
+ mkdir -p "$pkgdir"/usr/share/man/man1
+ cp "$builddir"/doc/*.1 "$pkgdir"/usr/share/man/man1/
+
+}
+
+converter() {
+ pkgdesc="Update Sphinx/Manticore 2.X indexes to new format for Manticore Search"
+ amove usr/bin/index_converter
+}
+
+tools() {
+ pkgdesc="indexer, indextool, and miscellaneous tools for Manticore Search"
+ mkdir -p "$subpkgdir/usr/bin"
+ amove usr/bin/indexer \
+ usr/bin/indextool \
+ usr/bin/spelldump \
+ usr/bin/wordbreaker
+}
+
+sha512sums="
+3dcf0b70153564553182c0e596f2107df67e8265c814c4bee1dafa14e7241ec5258437f9740b5cdf6a29fd84b73c482e33eb70b93c1386eb595d292050984eef manticore-6.2.12.tar.gz
+c5579f95e21041f9859d2ad1a8f8c5d60a1cb812ba201d56a26c22a410329be221c62f3e33d2e3ed634a9d3d345a2a8e96dd02c13f7d32e077ff67615dd51551 0001-use-shared-boost-lib.patch
+d7aec4e7cd4eebaae190083e79bd20c3cc486aaba7557eb846bf9383a21eb6f8d9c30923b187c8ec4062ee5299a432ccc3839e6ed1402e3adc13588cb6525ce9 manticore.initd
+"
diff --git a/testing/manticore/manticore.initd b/testing/manticore/manticore.initd
new file mode 100644
index 00000000000..8dab732181c
--- /dev/null
+++ b/testing/manticore/manticore.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+
+# searchd doesn't change user,
+# so in order to keep root ownership of pidfile,
+# we let openRC manage the daemon's backgrounding.
+command="/usr/bin/searchd"
+command_user="manticore:manticore"
+pidfile="/run/$RC_SVCNAME.pid"
+command_args="--nodetach"
+command_background="true"
+
+depend() {
+ use logger
+}
+start_pre() {
+ checkpath -d -o $command_user /var/lib/manticore
+ checkpath -d -o $command_user /var/log/manticore
+ # This is for the pidfile which searchd creates
+ # (which isn't used by openrc).
+ checkpath -d -o $command_user /var/run/manticore
+}
diff --git a/testing/manticore/manticore.pre-install b/testing/manticore/manticore.pre-install
new file mode 100755
index 00000000000..67ff8152ac3
--- /dev/null
+++ b/testing/manticore/manticore.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S manticore 2>/dev/null
+adduser -S -D -H -h /var/lib/manticore -s /sbin/nologin -G manticore -g manticore manticore 2>/dev/null
+
+exit 0
diff --git a/testing/mapnik/APKBUILD b/testing/mapnik/APKBUILD
index 8b56bf2f8cb..f86a372eedf 100644
--- a/testing/mapnik/APKBUILD
+++ b/testing/mapnik/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Markus Juenemann <markus@juenemann.net>
pkgname=mapnik
pkgver=3.1.0
-pkgrel=8
+pkgrel=25
pkgdesc="An open source toolkit for developing mapping applications"
url="https://mapnik.org/"
arch="all"
@@ -19,39 +19,40 @@ makedepends="
libwebp-dev
libxml2-dev
proj-dev
- proj-dev
py3-setuptools
python3
sqlite-dev
+ scons
tiff-dev
zlib-dev
"
subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/mapnik/mapnik/releases/download/v$pkgver/mapnik-v$pkgver.tar.bz2
- boost-1.77.patch"
+ boost-1.77.patch
+ gcc13.patch
+ scons4.patch
+ "
builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # fail to build
build() {
- python3 scons/scons.py configure \
- CUSTOM_CXXFLAGS="-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=ON" \
- CUSTOM_CFLAGS="-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=ON" \
- PREFIX=/usr \
+ scons configure FAST=True \
+ PREFIX="/usr" \
+ INPUT_PLUGINS=all \
+ XMLPARSER=libxml2 \
DESTDIR="$pkgdir" \
- --jobs=${JOBS:-2} \
- --config=cache \
- --implicit-cache \
- --max-drift=1
- python3 scons/scons.py \
- --jobs=${JOBS:-2} \
- --config=cache \
- --implicit-cache \
- --max-drift=1
+ CPP_TESTS="$(want_check && echo True || echo False)" \
+ CUSTOM_CXXFLAGS="$CXXFLAGS" \
+ CUSTOM_LDFLAGS="$LDFLAGS" \
+ CUSTOM_DEFINES="-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H=1"
+
+ scons --jobs=$JOBS
}
package() {
- python3 scons/scons.py install \
- --jobs=${JOBS-2} \
+ scons install \
--config=cache \
+ --jobs=$JOBS \
--implicit-cache \
--max-drift=1
}
@@ -72,4 +73,6 @@ doc() {
sha512sums="
089e619f4672e017b1aaf31836ade7e22d2a465f5a923f697935d8447d5dd0c2acb9ae6682d1c9035e58036c62685c2f38f75f0a106ee9b4ce6197e0357c47eb mapnik-v3.1.0.tar.bz2
b5961faf1bf903fca0d92408f4b9a783e61b5c06e89c9318aa7f59c6ca98be922504909ae7cf59dd09e953378952f7af3335f3f71cb1ff9f5a8a8c8f7c729f6d boost-1.77.patch
+b9de94825d5c9934adcfd451b1fada42d17d9b79345649c19d9d1b3db333309086b7de711e9fb44038a3ba992c27d520f6a5a66f656c267f9e8d286ad2bec920 gcc13.patch
+e0c60c696b9d195ad0e430c8c4fb9c36465d9635fae3e4a8b25dca4b421d90330994285c92dfcefe929a196ff87345da278a564d8fa9f3ac29a46d9e2dfa3110 scons4.patch
"
diff --git a/testing/mapnik/gcc13.patch b/testing/mapnik/gcc13.patch
new file mode 100644
index 00000000000..e68020675f8
--- /dev/null
+++ b/testing/mapnik/gcc13.patch
@@ -0,0 +1,12 @@
+diff --git a/include/mapnik/wkb.hpp b/include/mapnik/wkb.hpp
+index fc32a9f..482496a 100644
+--- a/include/mapnik/wkb.hpp
++++ b/include/mapnik/wkb.hpp
+@@ -27,6 +27,7 @@
+ #include <mapnik/config.hpp>
+ #include <mapnik/geometry.hpp>
+ #include <mapnik/util/noncopyable.hpp>
++#include <cstdint>
+
+ namespace mapnik
+ {
diff --git a/testing/mapnik/scons4.patch b/testing/mapnik/scons4.patch
new file mode 100644
index 00000000000..f9a7452d084
--- /dev/null
+++ b/testing/mapnik/scons4.patch
@@ -0,0 +1,11 @@
+#https://github.com/archlinux/svntogit-community/blob/packages/mapnik/trunk/scons4.patch
+--- a/SConstruct 2021-01-08 13:23:24.000000000 +0200
++++ b/SConstruct 2021-11-22 11:41:03.413991679 +0200
+@@ -126,7 +126,6 @@ PLUGINS = { # plugins with external depe
+
+ def init_environment(env):
+ env.Decider('MD5-timestamp')
+- env.SourceCode(".", None)
+ if os.environ.get('RANLIB'):
+ env['RANLIB'] = os.environ['RANLIB']
+ if os.environ.get('AR'):
diff --git a/testing/mapserver/10-musl.patch b/testing/mapserver/10-musl.patch
index d9c4c4d9c38..4b08dd10493 100644
--- a/testing/mapserver/10-musl.patch
+++ b/testing/mapserver/10-musl.patch
@@ -2,13 +2,32 @@ Author: Holger Jaekel <holger.jaekel@gmx.de>
Summary: Fixes compilation with musl libc, define PATH_MAX
----
+--- a/mapflatgeobuf.c
++++ b/mapflatgeobuf.c
+@@ -29,9 +29,9 @@
+
+ #define NEED_IGNORE_RET_VAL
+
++#include "mapserver.h"
+ #include <limits.h>
+ #include <assert.h>
+-#include "mapserver.h"
+ #include "mapows.h"
+
+ #include "flatgeobuf/flatgeobuf_c.h"
+
+
--- a/mapshape.c
+++ b/mapshape.c
-@@ -34,6 +34,7 @@
- * DEALINGS IN THE SOFTWARE.
- ****************************************************************************/
+@@ -36,10 +36,10 @@
-+#define _GNU_SOURCE
+ #define NEED_IGNORE_RET_VAL
+
++#include "mapserver.h"
#include <limits.h>
#include <assert.h>
- #include "mapserver.h"
+ #include <stdbool.h>
+-#include "mapserver.h"
+ #include "mapows.h"
+
+ #include <cpl_conv.h>
diff --git a/testing/mapserver/APKBUILD b/testing/mapserver/APKBUILD
index b7aa92872bc..70ad25fd488 100644
--- a/testing/mapserver/APKBUILD
+++ b/testing/mapserver/APKBUILD
@@ -1,47 +1,48 @@
# Contributor: Bjoern Schilberg <bjoern@intevation.de>
# Maintainer: Bjoern Schilberg <bjoern@intevation.de>
pkgname=mapserver
-pkgver=7.6.4
-pkgrel=1
+pkgver=8.0.1
+pkgrel=2
pkgdesc="CGI-based platform for publishing spatial data and interactive mapping applications to the web"
url="https://mapserver.org/"
-# riscv64, s390x blocked by rust -> librsvg
-arch="all !riscv64 !s390x"
+# s390x: blocked by exempi-dev
+arch="all !s390x"
license="MIT"
depends_dev="
- cmake
- libpq-dev
- geos-dev
+ cairo-dev
+ curl-dev
+ exempi-dev
+ fcgi-dev
+ freetype-dev
+ fribidi-dev
gdal-dev
- jpeg-dev
+ geos-dev
giflib-dev
+ harfbuzz-dev
+ jpeg-dev
+ libpq-dev
+ librsvg-dev
libxml2-dev
+ pixman-dev
proj-dev
- fcgi-dev
- curl-dev
- freetype-dev
- cairo-dev
protobuf-c-dev
- harfbuzz-dev
- fribidi-dev
- exempi-dev
- pixman-dev
- librsvg-dev
"
makedepends="
$depends_dev
+ cmake
+ samurai
"
subpackages="
$pkgname-dev
"
source="
- https://download.osgeo.org/mapserver/$pkgname-$pkgver.tar.gz
+ https://download.osgeo.org/mapserver/mapserver-$pkgver.tar.gz
10-musl.patch
"
build() {
- mkdir build; cd build
- cmake .. \
+ CXXFLAGS="$CXXFLAGS -D_GNU_SOURCE" \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=None \
-DWITH_GEOS=ON \
@@ -64,16 +65,17 @@ build() {
-DWITH_EXEMPI=ON \
-DWITH_PROTOBUFC=ON \
-DWITH_PIXMAN=ON
- make
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
+ # shellcheck disable=2115
rm -rf "$pkgdir"/usr/share/
chmod -x "$pkgdir"/usr/include/mapserver/*.h
}
sha512sums="
-ccca87b650df3c1784ba82ca4a58960585d72fb4004fcea43c0dcabf03b9617ba51870bc63dbb2238a7eeb8d4337b6ff152587150912a74eeaf4a3e3d2d584ce mapserver-7.6.4.tar.gz
-52a6d6ce210f49a62dabbef712387ef1e42f3cdaf77f7248c64665fcf1a2af6b5fe116b6cecf5c95ecdb3014d353601db0dd7b715f8560ed77cd007025e17e6a 10-musl.patch
+dae14a7eb6b09f5461c19bff83ca8ed6c21ae84d451b2c854794efb25b144b7edbf2a33479dc53e78aa646e5196e81219b4a1f393ff824db4508204a2d0301d1 mapserver-8.0.1.tar.gz
+12743afabee45bc77788b699cfc8ac50cf11629e0041b7b9aac3ba1c966d14fa0280044b72ac1b7520e99124d9b4627a6b5d005a486ae9ad03bc86b0775ad547 10-musl.patch
"
diff --git a/testing/mariadb-connector-odbc/APKBUILD b/testing/mariadb-connector-odbc/APKBUILD
deleted file mode 100644
index 50aa9fe03e1..00000000000
--- a/testing/mariadb-connector-odbc/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Joe Searle <joe@jsearle.net>
-# Maintainer: Joe Searle <joe@jsearle.net>
-pkgname=mariadb-connector-odbc
-pkgver=3.1.14
-pkgrel=0
-pkgdesc="MariaDB Connector/ODBC database driver"
-url="https://github.com/MariaDB/mariadb-connector-odbc"
-arch="all"
-license="LGPL-2.1-only"
-options="!check" # 'test' directory not included in releases
-makedepends="cmake unixodbc-dev mariadb-connector-c-dev mariadb-static"
-source="$pkgname-$pkgver.tar.gz::https://github.com/MariaDB/mariadb-connector-odbc/archive/$pkgver.tar.gz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- # Link to /usr/include/mysql necessary when using system installed mariadb-connector-c
- CFLAGS="$CFLAGS -I/usr/include/mysql" \
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DUSE_SYSTEM_INSTALLED_LIB=True \
- -DWITH_SSL=OPENSSL \
- $CMAKE_CROSSOPTS .
- make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-
- # Remove license files
- rm -rf "$pkgdir"/usr/docs
-}
-
-sha512sums="
-8b45f38e6b6a78ee2c68f09917cbf23fd11b0f452d8920fbe8fdbe31b1126f8584188895b19c978bc0e6a7030e02b1b04c2e2238ed70684aee9ef72ed3baa932 mariadb-connector-odbc-3.1.14.tar.gz
-"
diff --git a/testing/marknote/APKBUILD b/testing/marknote/APKBUILD
new file mode 100644
index 00000000000..797fa3e02bb
--- /dev/null
+++ b/testing/marknote/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: team/kde <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=kde-other
+pkgname=marknote
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="A simple markdown note management app"
+# armhf blocked by extra-cmake-modules
+arch="all !armhf"
+url="https://apps.kde.org/marknote/"
+license="GPL-3.0-or-later AND CC0-1.0"
+depends="
+ kirigami
+ kirigami-addons
+ "
+makedepends="
+ extra-cmake-modules
+ kcolorscheme-dev
+ kconfig-dev
+ kcoreaddons-dev
+ ki18n-dev
+ kirigami-addons-dev
+ kirigami-dev
+ kxmlgui-dev
+ qt6-qtbase-dev
+ qt6-qtdeclarative-dev
+ qt6-qtsvg-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+_repo_url="https://invent.kde.org/office/marknote.git"
+source="https://download.kde.org/stable/marknote/marknote-$pkgver.tar.xz"
+options="!check" # No tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+b5664ae77d64e53f2eb773a3bca88709995ee2fc743490a2cc45bc15affb30a866cf970f5c766c4c8a4f0da8c93cce97c5ef2c21776d2977acd3c3344bda3a6b marknote-1.1.1.tar.xz
+"
diff --git a/testing/marxan/APKBUILD b/testing/marxan/APKBUILD
index 6878acfaef9..87daf7260ec 100644
--- a/testing/marxan/APKBUILD
+++ b/testing/marxan/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: andrea rota <andrea.rota@vizzuality.com>
pkgname=marxan
pkgver=4.0.7
-pkgrel=0
+pkgrel=1
pkgdesc="Systematic reserve design for conservation planning"
url="https://marxansolutions.org/"
license="MIT"
diff --git a/testing/masky/APKBUILD b/testing/masky/APKBUILD
new file mode 100644
index 00000000000..8d4b017258f
--- /dev/null
+++ b/testing/masky/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=masky
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="Python library with CLI allowing to remotely dump domain user credentials via an ADCS"
+url="https://github.com/Z4kSec/Masky"
+arch="noarch"
+license="MIT"
+depends="
+ py3-asn1
+ py3-asn1crypto
+ py3-colorama
+ py3-cryptography
+ py3-impacket
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Z4kSec/Masky/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/Masky-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+1de63dd2d01af8bb9762aadd5bf215cf87bc45edee91e2a99534d234344e849050476a1fbe61caf7786ceb5b2b7e040f8b9f3cd1d9416193f7b022ac856bb013 masky-0.2.0.tar.gz
+"
diff --git a/testing/massivethreads/0001-musl-fixes.patch b/testing/massivethreads/0001-musl-fixes.patch
new file mode 100644
index 00000000000..6053a8f104d
--- /dev/null
+++ b/testing/massivethreads/0001-musl-fixes.patch
@@ -0,0 +1,77 @@
+diff --git a/src/myth_io.h b/src/myth_io.h
+index e0b61551b8..832629c352 100644
+--- a/src/myth_io.h
++++ b/src/myth_io.h
+@@ -6,6 +6,7 @@
+ #define MYTH_IO_H_
+
+ #include <sys/socket.h>
++#include <sys/select.h>
+ #include <stdint.h>
+ #include <stdarg.h>
+
+
+
+diff --git a/src/Makefile.am b/patchMakefile.am
+index f55b46a5e5..f9a3e631ae 100644
+--- a/src/Makefile.am
++++ b/patchMakefile.am
+@@ -18,7 +18,8 @@ COMMON_SRCS = \
+ myth_context.c \
+ myth_if_native.c \
+ myth_real.c \
+- myth_eco.c
++ myth_eco.c \
++ pthread.c
+
+ # sources for wrapping system functions (used only for -dl and -ld versions)
+ WRAP_SRCS = \
+
+
+diff --git a/src/pthread.h b/src/pthread.h
+new file mode 100644
+index 0000000000..1a81566b46
+--- /dev/null
++++ b/src/pthread.h
+@@ -0,0 +1,15 @@
++#ifndef _MUSL_PTHREAD_H_OVERRIDE
++#define _MUSL_PTHREAD_H_OVERRIDE
++
++#include <errno.h>
++#include_next <pthread.h>
++
++// musl's pthread_equal is a macro
++#undef pthread_equal
++int pthread_equal(pthread_t t1, pthread_t t2);
++
++// musl doesn't define mutexattr functions
++int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t *__restrict, int *__restrict);
++int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int);
++
++#endif//_MUSL_PTHREAD_H_OVERRIDE
+
+
+diff --git a/src/pthread.c b/src/pthread.c
+new file mode 100644
+index 0000000000..10f57c0fb7
+--- /dev/null
++++ b/src/pthread.c
+@@ -0,0 +1,18 @@
++#include <pthread.h>
++
++int pthread_equal(pthread_t t1, pthread_t t2) {
++ return t1 == t2;
++}
++
++int pthread_mutexattr_getprioceiling( const pthread_mutexattr_t *restrict attr
++ , int *restrict prioceiling )
++{
++ if (prioceiling) *prioceiling = 99;
++ return 0;
++}
++
++int pthread_mutexattr_setprioceiling( pthread_mutexattr_t *attr
++ , int prioceiling )
++{
++ return EPERM;
++}
diff --git a/testing/massivethreads/APKBUILD b/testing/massivethreads/APKBUILD
new file mode 100644
index 00000000000..46ed95e9e23
--- /dev/null
+++ b/testing/massivethreads/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Hazem <hazem-alpine@riseup.net>
+# Maintainer: Hazem <hazem-alpine@riseup.net>
+pkgname=massivethreads
+pkgver=1.00
+pkgrel=0
+pkgdesc="Lightweight Thread Library for High Productivity Languages"
+url="https://github.com/massivethreads/massivethreads"
+arch="x86_64"
+license="BSD-2-Clause"
+makedepends="autoconf automake"
+subpackages="$pkgname-dev"
+source="
+ https://github.com/massivethreads/massivethreads/archive/refs/tags/v$pkgver/massivethreads-$pkgver.tar.gz
+ 0001-musl-fixes.patch
+"
+
+build() {
+ aclocal # needed because we patch Makefile.ac
+ automake -a
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-myth-dl \
+ --disable-myth-ld
+ make
+}
+
+check() {
+ # pvalloc is not implemented in musl and not needed in massivethreads
+ # only referenced for wrapping in myth-dl/ld which we disable anyway
+ echo 'main(){}' > $builddir/tests/myth_pvalloc.c
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ rm -f $pkgdir/usr/bin/*
+ rm -f $pkgdir/usr/lib/libdr*
+}
+
+sha512sums="
+aaea978bf0d41a9a97ccf0d8c5be318feb1e547e72f7dea267ddc3a18d653831465d531c193f79e8f75d75b12945d3dab882d93596d90dda7f70676fe87ea72e massivethreads-1.00.tar.gz
+6e45f1053580460bf203c4e92e9889a3d7a46adfc4d38b4e75eaab8b73c3992fc928f6ff94960e7cb00bbc02fb61b6ab4646daf7051f69166780b62eb6ba5a5f 0001-musl-fixes.patch
+"
diff --git a/testing/mat2/APKBUILD b/testing/mat2/APKBUILD
new file mode 100644
index 00000000000..d733ca470c8
--- /dev/null
+++ b/testing/mat2/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Waweic <waweic@activ.ism.rocks>
+# Contributor: Waweic <waweic@activ.ism.rocks>
+pkgname=mat2
+pkgver=0.13.4
+pkgrel=1
+pkgdesc="Metadata removal tool, supporting a wide range of commonly used file formats"
+url="https://0xacab.org/jvoisin/mat2"
+arch="noarch !s390x !riscv64" #librsvg missing for s390x and riscv64
+license="LGPL-3.0-or-later"
+depends="
+ exiftool
+ gdk-pixbuf
+ librsvg
+ mailcap
+ poppler-glib
+ py3-cairo
+ py3-gobject3
+ py3-mutagen
+ python3
+ "
+makedepends="py3-setuptools"
+checkdepends="ffmpeg"
+source="https://0xacab.org/jvoisin/mat2/-/archive/$pkgver/mat2-$pkgver.tar.gz
+ manpage-dir.patch
+ "
+subpackages="$pkgname-doc $pkgname-pyc"
+
+prepare() {
+ default_prepare
+
+ # doesn't contain a version in [project], so it's invalid to parse from a
+ # builder, # but we can ignore all that as all the logic is in setup.*
+ rm -fv pyproject.toml
+}
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 -m unittest discover -v
+}
+
+package() {
+ python3 setup.py install --skip-build --prefix=/usr --root="$pkgdir"
+ install -Dm 644 doc/*.md -t "$pkgdir/usr/share/doc/$pkgname"
+}
+
+sha512sums="
+75c08c9c52a82f9983e799c2aeef0da8324d1c92ac32fb748a68063ec7b28569692082aceacf7161d24db0e8a988357c423b6e17ca5c0f934309c9791c41ab18 mat2-0.13.4.tar.gz
+2bf84ae9fab848fea43c87b708937628c2d5e74cb4f0457ef259356c651056eea1a0d033d606fc5511f195cbb5a097c21e631a9a4973431c8f3242a1969d9123 manpage-dir.patch
+"
diff --git a/testing/mat2/manpage-dir.patch b/testing/mat2/manpage-dir.patch
new file mode 100644
index 00000000000..e66f5202375
--- /dev/null
+++ b/testing/mat2/manpage-dir.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 356ca4b..bbdf1d9 100644
+--- a/setup.py
++++ b/setup.py
+@@ -20,7 +20,7 @@ setuptools.setup(
+ 'pycairo',
+ ],
+ packages=setuptools.find_packages(exclude=('tests', )),
+- data_files = [('man/man1', ['doc/mat2.1'])],
++ data_files = [('share/man/man1', ['doc/mat2.1'])],
+ classifiers=[
+ "Development Status :: 3 - Alpha",
+ "Environment :: Console",
diff --git a/testing/materia-gtk-theme/APKBUILD b/testing/materia-gtk-theme/APKBUILD
index c9ed8f6caa5..f6e39890ade 100644
--- a/testing/materia-gtk-theme/APKBUILD
+++ b/testing/materia-gtk-theme/APKBUILD
@@ -2,11 +2,11 @@
# Maintainer:
pkgname=materia-gtk-theme
pkgver=20210322
-pkgrel=0
+pkgrel=1
pkgdesc="Material Design theme for GNOME/GTK desktops"
options="!check" # It is a theme
url="https://github.com/nana-4/materia-theme"
-arch="noarch !s390x !mips !mips64"
+arch="noarch !s390x"
license="GPL-2.0-only"
makedepends="meson sassc"
subpackages="
@@ -42,7 +42,7 @@ build() {
abuild-meson \
-Dgnome_shell_version=3.38 \
. output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
@@ -63,7 +63,7 @@ package() {
_dark_compact() {
pkgdesc="Dark compact version of Materia"
- depends="gnome-themes-extra gtk-murrine-engine"
+ depends="gtk-murrine-engine"
amove usr/share/themes/Materia-dark-compact/index.theme
}
@@ -101,7 +101,7 @@ _dark_compact_chromium() {
_dark() {
pkgdesc="Dark version of Materia"
- depends="gnome-themes-extra gtk-murrine-engine"
+ depends="gtk-murrine-engine"
amove usr/share/themes/Materia-dark/index.theme
}
@@ -139,7 +139,7 @@ _dark_chromium() {
_materia() {
pkgdesc="Materia theme"
- depends="gnome-themes-extra gtk-murrine-engine"
+ depends="gtk-murrine-engine"
amove usr/share/themes/Materia/index.theme
}
@@ -177,7 +177,7 @@ _chromium() {
_materia_compact() {
pkgdesc="Compact Materia theme"
- depends="gnome-themes-extra gtk-murrine-engine"
+ depends="gtk-murrine-engine"
amove usr/share/themes/Materia-compact/index.theme
}
diff --git a/testing/materia-kde/APKBUILD b/testing/materia-kde/APKBUILD
index 8c4af71362d..d75e83ca1bf 100644
--- a/testing/materia-kde/APKBUILD
+++ b/testing/materia-kde/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
# Maintainer:
pkgname=materia-kde
-pkgver=20211226
+pkgver=20220823
pkgrel=0
pkgdesc="Materia theme from GNOME for KDE Plasma 5"
options="!check" # It is a theme
@@ -130,5 +130,5 @@ _light_compact_kvantum() {
}
sha512sums="
-5142e24a7b73aab5bf757c966676f203bb187e0142951dd3b9293d7b25c45357a812c70e050d11e96cee80105f66adabe4905b2476888ceed027777be09a6abf materia-kde-20211226.tar.gz
+22052f581269f78a6d4fcdb3e475f682be625151b698b29273b5c62514d2c70e5aff75d51e514731f5263726e66aa970a788af610e943991aca1d5968ef42775 materia-kde-20220823.tar.gz
"
diff --git a/testing/matrix-synapse-rest-password-provider/APKBUILD b/testing/matrix-synapse-rest-password-provider/APKBUILD
deleted file mode 100644
index 478faa2a68d..00000000000
--- a/testing/matrix-synapse-rest-password-provider/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer:
-pkgname=matrix-synapse-rest-password-provider
-pkgver=0.1.3
-pkgrel=3
-pkgdesc="Password Provider for Synapse fetching data from a REST endpoint"
-url="https://github.com/ma1uta/matrix-synapse-rest-password-provider"
-arch="noarch"
-license="AGPL-3.0-or-later"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://github.com/ma1uta/matrix-synapse-rest-password-provider/archive/v$pkgver/matrix-synapse-rest-password-provider-v$pkgver.tar.gz"
-options="!check" # No tests
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="4e897562235531652bf74e05facd0a1ebcc249d0bd8f55932940c7bb9f65d98054fb8c910abbabcc074b421aecb0d6c8bca776003b0f57f1b00bc44f7b47fcf5 matrix-synapse-rest-password-provider-v0.1.3.tar.gz"
diff --git a/testing/mattermost-desktop/APKBUILD b/testing/mattermost-desktop/APKBUILD
new file mode 100644
index 00000000000..47eb9dbaf4f
--- /dev/null
+++ b/testing/mattermost-desktop/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=mattermost-desktop
+pkgver=5.7.0
+pkgrel=0
+_pkgver="${pkgver/_rc/-rc.}"
+pkgdesc="Open source collaboration for developers"
+url="https://mattermost.com/"
+arch="aarch64 x86_64" # electron
+license="Apache-2.0"
+depends="electron"
+makedepends="
+ electron-dev
+ electron-tasje
+ nodejs
+ npm
+ python3
+ "
+options="net !check" # broken
+checkdepends="libx11-dev make"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/mattermost/desktop/archive/refs/tags/v$_pkgver/mattermost-v$_pkgver.tar.gz
+
+ mattermost-desktop
+ "
+builddir="$srcdir/desktop-$_pkgver"
+replaces="mattermost"
+
+prepare() {
+ default_prepare
+
+ git init
+ git config user.email x@x
+ git config user.name x
+ git commit --allow-empty --message "$(date -Is)" --no-gpg-sign
+
+ msg "Downloading dependencies"
+ npm ci --ignore-scripts
+}
+
+build() {
+ msg "Building the app resources"
+ NODE_ENV=production npm run build
+
+ msg "Building native modules"
+ (
+ # it doesn't have an install script with node-gyp and doesn't even have it in deps
+ cd node_modules/macos-notification-state
+ ../.bin/node-gyp rebuild --build-from-source --nodedir=/usr/include/electron/node_headers
+ )
+
+ msg "Removing devDependencies"
+ npm prune --omit=dev
+
+ msg "Packaging the app"
+ tasje --config electron-builder.json pack --additional-asar-unpack '*.node'
+}
+
+check() {
+ export ELECTRON_OVERRIDE_DIST_PATH=/usr/bin/electron
+ npm rebuild robotjs --build-from-source --nodedir=/usr/include/electron/node_headers
+
+ npm run test
+}
+
+package() {
+ install -Dm644 release/resources/app.asar "$pkgdir"/usr/lib/$pkgname/app.asar
+ cp -r release/resources/app.asar.unpacked/ "$pkgdir"/usr/lib/$pkgname/app.asar.unpacked
+ install -Dm644 release/Mattermost.Desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+ install -Dm755 "$srcdir"/mattermost-desktop "$pkgdir"/usr/bin/mattermost-desktop
+
+ while read -r size; do
+ install -Dm644 release/icons/$size.png "$pkgdir"/usr/share/icons/hicolor/$size/apps/$pkgname.png
+ done < release/icons/size-list
+}
+
+sha512sums="
+b6d0e12e81bc7fa75bba9b4808480db2b64c003e41faf31157612b7f234f76b11334c4fc375adec7b1744358e28e7847e92b78dc26d4e3c10bec860095b15efd mattermost-desktop-5.7.0.tar.gz
+4947e5e7db708f34c812735099c83228b63be7e0f27c19272449c48405a8a49b4f5aa9b45b802c9d6e55a4898ef750d3f9d033e65bb2d0cc906429c5d2864194 mattermost-desktop
+"
diff --git a/testing/mattermost-desktop/mattermost-desktop b/testing/mattermost-desktop/mattermost-desktop
new file mode 100755
index 00000000000..4af404ba534
--- /dev/null
+++ b/testing/mattermost-desktop/mattermost-desktop
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+exec electron /usr/lib/mattermost-desktop/app.asar "$@"
diff --git a/testing/mautrix-discord/APKBUILD b/testing/mautrix-discord/APKBUILD
new file mode 100644
index 00000000000..491c0f2e533
--- /dev/null
+++ b/testing/mautrix-discord/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mautrix-discord
+pkgver=0.6.5
+pkgrel=2
+pkgdesc="Matrix-Discord puppeting bridge"
+url="https://go.mau.fi/mautrix-discord/"
+arch="all"
+license="AGPL-3.0-or-later"
+depends="lottieconverter"
+makedepends="go olm-dev sqlite-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mautrix/discord/archive/v$pkgver.tar.gz
+ mautrix-discord.initd
+ mautrix-discord.confd
+ default-log-dir.patch
+"
+builddir="$srcdir/discord-$pkgver"
+options="net"
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS"
+ go build
+}
+
+check() {
+ go test -v ./...
+}
+
+package() {
+ install -Dm755 mautrix-discord \
+ -t "$pkgdir"/usr/bin/
+ install -Dm644 example-config.yaml \
+ -t "$pkgdir"/etc/mautrix-discord/
+
+ install -Dm755 "$srcdir"/mautrix-discord.initd \
+ "$pkgdir"/etc/init.d/mautrix-discord
+ install -Dm644 "$srcdir"/mautrix-discord.confd \
+ "$pkgdir"/etc/conf.d/mautrix-discord
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+b52bc3a963c52970a6af334e985b959efc04e3181cac6d2c1f404b06ee94d19a2ed4a7edfcbe2248eb2ee5196e19f917c9451326593fc5b95724bdc7dd6fd936 mautrix-discord-0.6.5.tar.gz
+772c39fd22eccf4116ebe0b496a055a2807ef3b500a7bbc8838e2fc1fef8b05e20be80b7e7b515304914ca244349093a21cdcf42b2e6dd0bcbd45fef3358fd89 mautrix-discord.initd
+46c472289880a631389dbc7f40062858f7a11e2987f1183cb16d426aa50f57d4b57e4857e4f9852b1c930fc03ccf304bcd27a452681a570e97ec8174808cbf01 mautrix-discord.confd
+f2317ccd91959c2d6b6937ab09bbcb5e2472847c5b880c4a37a4dd96784705a503a5cfcb183017656d716dfceabbc55c33d1083f1cb26c7964bf6dd4dd57f364 default-log-dir.patch
+"
diff --git a/testing/mautrix-discord/default-log-dir.patch b/testing/mautrix-discord/default-log-dir.patch
new file mode 100644
index 00000000000..0739cce186c
--- /dev/null
+++ b/testing/mautrix-discord/default-log-dir.patch
@@ -0,0 +1,17 @@
+Upstream: No, Alpine specific
+Reason: We don't want to log into $PWD/logs by default but
+into /var/log/mautrix-discord.
+diff --git a/example-config.yaml b/example-config.yaml
+index a636e58..9674a1c 100644
+--- a/example-config.yaml
++++ b/example-config.yaml
+@@ -357,7 +357,7 @@ logging:
+ format: pretty-colored
+ - type: file
+ format: json
+- filename: ./logs/mautrix-discord.log
++ filename: /var/log/mautrix-discord/mautrix-discord.log
+ max_size: 100
+ max_backups: 10
+ compress: true
+
diff --git a/testing/mautrix-discord/mautrix-discord.confd b/testing/mautrix-discord/mautrix-discord.confd
new file mode 100644
index 00000000000..518d93ee0c7
--- /dev/null
+++ b/testing/mautrix-discord/mautrix-discord.confd
@@ -0,0 +1,7 @@
+# Configuration for /etc/init.d/mautrix-discord
+
+# Location of configuration file
+config="/etc/mautrix-discord/config.yaml"
+
+# Extra arguments to be passed when starting mautrix-discord
+# command_args=""
diff --git a/testing/mautrix-discord/mautrix-discord.initd b/testing/mautrix-discord/mautrix-discord.initd
new file mode 100644
index 00000000000..b5d33392208
--- /dev/null
+++ b/testing/mautrix-discord/mautrix-discord.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="mautrix-discord"
+description="Daemon for Mautrix-Discord, a Matrix-Discord puppeting bridge"
+
+: ${config:="/etc/mautrix-discord/config.yaml"}
+: ${command_user:="mautrix-discord:mautrix-discord"}
+
+command="/usr/bin/mautrix-discord"
+command_args="-c $config $command_args"
+
+depends() {
+ need net
+}
+
+start_pre() {
+ checkpath --file --owner "$command_user" "$config"
+ checkpath --directory --owner "$command_user" /var/log/mautrix-discord
+}
diff --git a/testing/mautrix-discord/mautrix-discord.pre-install b/testing/mautrix-discord/mautrix-discord.pre-install
new file mode 100644
index 00000000000..9bc4428b595
--- /dev/null
+++ b/testing/mautrix-discord/mautrix-discord.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S mautrix-discord 2>/dev/null
+adduser -S -D -H -h /var/lib/mautrix-discord -s /sbin/nologin -G mautrix-discord -g mautrix-discord mautrix-discord 2>/dev/null
+
+exit 0
diff --git a/testing/mautrix-gmessages/APKBUILD b/testing/mautrix-gmessages/APKBUILD
new file mode 100644
index 00000000000..459665c403a
--- /dev/null
+++ b/testing/mautrix-gmessages/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mautrix-gmessages
+pkgver=0.4.0
+pkgrel=0
+pkgdesc="Matrix-Google Messages puppeting bridge"
+url="https://go.mau.fi/mautrix-gmessages/"
+arch="all"
+license="AGPL-3.0-or-later"
+makedepends="go olm-dev sqlite-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mautrix/gmessages/archive/v$pkgver.tar.gz
+ mautrix-gmessages.initd
+ mautrix-gmessages.confd
+ default-log-dir.patch
+ "
+builddir="$srcdir/gmessages-$pkgver"
+options="net"
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS"
+ go build
+}
+
+check() {
+ go test -v ./...
+}
+
+package() {
+ install -Dm755 mautrix-gmessages \
+ -t "$pkgdir"/usr/bin/
+ install -Dm644 example-config.yaml \
+ -t "$pkgdir"/etc/mautrix-gmessages/
+
+ install -Dm755 "$srcdir"/mautrix-gmessages.initd \
+ "$pkgdir"/etc/init.d/mautrix-gmessages
+ install -Dm644 "$srcdir"/mautrix-gmessages.confd \
+ "$pkgdir"/etc/conf.d/mautrix-gmessages
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+5155910eff8f5da6f28ab264439dd1990eb07116f25744f4681e41c9bb794ae73ef997760193e439674c55bcb26c5d457c1c07b2e9b277afd61c07aed6a0b10f mautrix-gmessages-0.4.0.tar.gz
+4d8d9752b97a64b1b0d97031aced7d202f9bf3462d1362a137853987de6b870b5f8a599943b63b730024ca477665f27f611090ac8c03e5fc24b5ed719d589e0a mautrix-gmessages.initd
+3332b10948fc07845b3b9a775bbb01057d2e6c768e25b429a451dbfb668195eb9f2c1d6b435a944aa7e5618b6ae609fb16e471696176fe3ae0768dffec6618e5 mautrix-gmessages.confd
+336298e0506bb3056733499098c291376e1777a24c994bdb92e4b2d62e954a59cddb66e60ce04100a86bc9ef4b7eb95353e003f9a3db2971040b72c9df0cc21b default-log-dir.patch
+"
diff --git a/testing/mautrix-gmessages/default-log-dir.patch b/testing/mautrix-gmessages/default-log-dir.patch
new file mode 100644
index 00000000000..abea44a5fb2
--- /dev/null
+++ b/testing/mautrix-gmessages/default-log-dir.patch
@@ -0,0 +1,17 @@
+Upstream: No, Alpine specific
+Reason: We don't want to log into $PWD/logs by default but
+into /var/log/mautrix-gmessages.
+diff --git a/example-config.yaml b/example-config.yaml
+index a636e58..9674a1c 100644
+--- a/example-config.yaml
++++ b/example-config.yaml
+@@ -399,7 +399,7 @@ logging:
+ format: pretty-colored
+ - type: file
+ format: json
+- filename: ./logs/mautrix-gmessages.log
++ filename: /var/log/mautrix-gmessages/mautrix-gmessages.log
+ max_size: 100
+ max_backups: 10
+ compress: true
+
diff --git a/testing/mautrix-gmessages/mautrix-gmessages.confd b/testing/mautrix-gmessages/mautrix-gmessages.confd
new file mode 100644
index 00000000000..1d405d64c5a
--- /dev/null
+++ b/testing/mautrix-gmessages/mautrix-gmessages.confd
@@ -0,0 +1,7 @@
+# Configuration for /etc/init.d/mautrix-gmessages
+
+# Location of configuration file
+config="/etc/mautrix-gmessages/config.yaml"
+
+# Extra arguments to be passed when starting mautrix-gmessages
+# command_args=""
diff --git a/testing/mautrix-gmessages/mautrix-gmessages.initd b/testing/mautrix-gmessages/mautrix-gmessages.initd
new file mode 100644
index 00000000000..6d8804b63fc
--- /dev/null
+++ b/testing/mautrix-gmessages/mautrix-gmessages.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="mautrix-gmessages"
+description="Daemon for Mautrix-GMessages, a Matrix-Google Messages puppeting bridge"
+
+: ${config:="/etc/mautrix-gmessages/config.yaml"}
+: ${command_user:="mautrix-gmessages:mautrix-gmessages"}
+
+command="/usr/bin/mautrix-gmessages"
+command_args="-c $config $command_args"
+
+depends() {
+ need net
+}
+
+start_pre() {
+ checkpath --file --owner "$command_user" "$config"
+ checkpath --directory --owner "$command_user" /var/log/mautrix-gmessages
+}
diff --git a/testing/mautrix-gmessages/mautrix-gmessages.pre-install b/testing/mautrix-gmessages/mautrix-gmessages.pre-install
new file mode 100644
index 00000000000..93f835bfaef
--- /dev/null
+++ b/testing/mautrix-gmessages/mautrix-gmessages.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S mautrix-gmessages 2>/dev/null
+adduser -S -D -H -h /var/lib/mautrix-gmessages -s /sbin/nologin -G mautrix-gmessages -g mautrix-gmessages mautrix-gmessages 2>/dev/null
+
+exit 0
diff --git a/testing/mautrix-meta/APKBUILD b/testing/mautrix-meta/APKBUILD
new file mode 100644
index 00000000000..9334f19e271
--- /dev/null
+++ b/testing/mautrix-meta/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mautrix-meta
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="Matrix-Facebook Messenger and Instagram DM puppeting bridge"
+url="https://go.mau.fi/mautrix-meta/"
+arch="all"
+license="AGPL-3.0-or-later"
+makedepends="go olm-dev sqlite-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mautrix/meta/archive/v$pkgver.tar.gz
+ mautrix-meta.initd
+ mautrix-meta.confd
+ default-log-dir.patch
+"
+builddir="$srcdir/meta-$pkgver"
+options="net !check" # only test requires test data we don't have
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS"
+ go build -ldflags "-X main.Tag=$pkgver -X 'main.BuildTime=$(date '+%b %_d %Y, %H:%M:%S')'"
+}
+
+package() {
+ install -Dm755 mautrix-meta \
+ -t "$pkgdir"/usr/bin/
+ install -Dm644 example-config.yaml \
+ -t "$pkgdir"/etc/mautrix-meta/
+
+ install -Dm755 "$srcdir"/mautrix-meta.initd \
+ "$pkgdir"/etc/init.d/mautrix-meta
+ install -Dm644 "$srcdir"/mautrix-meta.confd \
+ "$pkgdir"/etc/conf.d/mautrix-meta
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+099c105ad8834f585215d0d9e3db16c1fe6d6064fe480b944e895527e44c069623f7667db8e84f90004df72dd49bdd1e1359b46e7987814e7c41a0b344ec3a67 mautrix-meta-0.3.0.tar.gz
+9b870d61aa277ae3434df0167b64bb7cdff8f29bd3493f305cef40e2c132089a9a106d30161e81ec76a09c608c652caf83e1c3d481589cdf4f4791965d9fe435 mautrix-meta.initd
+473d1ba73d1e311f8ebb364d495bab5289a167414ab4aa824c9ed7a37ea93cd3dd4ef0262963c9e300eb748b0dff6a030add39cbf636acb6db208b6c01aaec3d mautrix-meta.confd
+c95f99af50ef5841af7f654fd37ca34470eb3c918cec2ea624a149942901350b1b154207b8b0a1ddb763d4c65850379a44898b5b208afd01812c9993c7621ada default-log-dir.patch
+"
diff --git a/testing/mautrix-meta/default-log-dir.patch b/testing/mautrix-meta/default-log-dir.patch
new file mode 100644
index 00000000000..11c7f518e1b
--- /dev/null
+++ b/testing/mautrix-meta/default-log-dir.patch
@@ -0,0 +1,17 @@
+Upstream: No, Alpine specific
+Reason: We don't want to log into $PWD/logs by default but
+into /var/log/mautrix-meta.
+diff --git a/example-config.yaml b/example-config.yaml
+index a636e58..9674a1c 100644
+--- a/example-config.yaml
++++ b/example-config.yaml
+@@ -333,7 +333,7 @@ logging:
+ format: pretty-colored
+ - type: file
+ format: json
+- filename: ./logs/mautrix-meta.log
++ filename: /var/log/mautrix-meta/mautrix-meta.log
+ max_size: 100
+ max_backups: 10
+ compress: true
+
diff --git a/testing/mautrix-meta/mautrix-meta.confd b/testing/mautrix-meta/mautrix-meta.confd
new file mode 100644
index 00000000000..834b7fdb3a0
--- /dev/null
+++ b/testing/mautrix-meta/mautrix-meta.confd
@@ -0,0 +1,7 @@
+# Configuration for /etc/init.d/mautrix-meta
+
+# Location of configuration file
+config="/etc/mautrix-meta/config.yaml"
+
+# Extra arguments to be passed when starting mautrix-meta
+# command_args=""
diff --git a/testing/mautrix-meta/mautrix-meta.initd b/testing/mautrix-meta/mautrix-meta.initd
new file mode 100644
index 00000000000..5dee6c217c9
--- /dev/null
+++ b/testing/mautrix-meta/mautrix-meta.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="mautrix-meta"
+description="Daemon for Mautrix-Meta, a Matrix-Facebook Messenger and Instagram DM puppeting bridge"
+
+: ${config:="/etc/mautrix-meta/config.yaml"}
+: ${command_user:="mautrix-meta:mautrix-meta"}
+
+command="/usr/bin/mautrix-meta"
+command_args="-c $config $command_args"
+
+depends() {
+ need net
+}
+
+start_pre() {
+ checkpath --file --owner "$command_user" "$config"
+ checkpath --directory --owner "$command_user" /var/log/mautrix-meta
+}
diff --git a/testing/mautrix-meta/mautrix-meta.pre-install b/testing/mautrix-meta/mautrix-meta.pre-install
new file mode 100644
index 00000000000..020b7614ed9
--- /dev/null
+++ b/testing/mautrix-meta/mautrix-meta.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S mautrix-meta 2>/dev/null
+adduser -S -D -H -h /var/lib/mautrix-meta -s /sbin/nologin -G mautrix-meta -g mautrix-meta mautrix-meta 2>/dev/null
+
+exit 0
diff --git a/testing/mautrix-signal/APKBUILD b/testing/mautrix-signal/APKBUILD
new file mode 100644
index 00000000000..c0cc794ed5d
--- /dev/null
+++ b/testing/mautrix-signal/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mautrix-signal
+pkgver=0.6.0
+_libsignalver=0.44.0
+pkgrel=0
+pkgdesc="A Matrix-Signal puppeting bridge"
+url="https://go.mau.fi/mautrix-signal/"
+arch="all !armhf !armv7 !x86 !ppc64le !s390x" # boring ssl only supports 64 bit, and doesn't set OPENSSL_64_BIT for ppc64le and s390x
+license="AGPL-3.0-or-later"
+makedepends="
+ cargo
+ cargo-auditable
+ clang-libclang
+ cmake
+ go
+ olm-dev
+ protoc
+ sqlite-dev
+"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc $pkgname-doc"
+source="
+ signal-$pkgver.tar.gz::https://github.com/mautrix/signal/archive/refs/tags/v$pkgver.tar.gz
+ libsignal-$_libsignalver.tar.gz::https://github.com/signalapp/libsignal/archive/refs/tags/v$_libsignalver.tar.gz
+ mautrix-signal.initd
+ mautrix-signal.confd
+ default-log-dir.patch
+"
+builddir="$srcdir/signal-$pkgver"
+options="net"
+_rust_dir=pkg/libsignalgo/libsignal
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ mv -T "$srcdir/libsignal-$_libsignalver" "$_rust_dir"
+ cd "$_rust_dir"
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS"
+ cd "$_rust_dir"
+ cargo auditable build -p libsignal-ffi --release --frozen
+ mv target/release/libsignal_ffi.a "$builddir"
+ cd "$builddir"
+ LIBRARY_PATH=. go build -ldflags "-X main.Tag=$pkgver -X 'main.BuildTime=$(date '+%b %_d %Y, %H:%M:%S')'"
+}
+
+check() {
+ LIBRARY_PATH=. go test ./...
+}
+
+package() {
+ install -Dm755 mautrix-signal \
+ -t "$pkgdir"/usr/bin/
+ install -Dm644 example-config.yaml \
+ -t "$pkgdir"/etc/mautrix-signal/
+
+ install -Dm755 "$srcdir"/mautrix-signal.initd \
+ "$pkgdir"/etc/init.d/mautrix-signal
+ install -Dm644 "$srcdir"/mautrix-signal.confd \
+ "$pkgdir"/etc/conf.d/mautrix-signal
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+ac55ed462b442bc28045bd639359151b5717fef374f74a150c6597f4252cfb406c16de2b7989cb49b5e0e3c29f447427e19ac860048f7a9b2b020823694ffdba signal-0.6.0.tar.gz
+ef5bb03e2ebf37aefb31eb7c2e6c5196d07ca90f056e834a580f6293505789cd56268296a4ebc44b60b7550f2d6995ff1d8e4d27e73e783dedc29d097135d784 libsignal-0.44.0.tar.gz
+90555c016fc9d9aa90b5115b898c3e2f365d277390862fa6de693970db53d6ae41e0e55ca1ca5315d52fc14f61a58e7d8713aefd4eb4050241cfdbb27f9a8213 mautrix-signal.initd
+ffcfed000e4ca779a055ddf4374753e23e424501a70a148e9785a4c4f6f2d32e94e2275a766ac9435b2509a1d621821a2baad8c5e4964ef08cbd13045cb430df mautrix-signal.confd
+8c355de5a4a6714afa2aec594f9035b8cb25fab153e83a2222a17f2068d10a970f9ef2e1854085a122494df152831dfcdeb5612f648dc685fe6d9c0b4b4107f4 default-log-dir.patch
+"
diff --git a/testing/mautrix-signal/default-log-dir.patch b/testing/mautrix-signal/default-log-dir.patch
new file mode 100644
index 00000000000..b1692b0f43a
--- /dev/null
+++ b/testing/mautrix-signal/default-log-dir.patch
@@ -0,0 +1,17 @@
+Upstream: No, Alpine specific
+Reason: We don't want to log into $PWD/logs by default but
+into /var/log/mautrix-signal.
+diff --git a/example-config.yaml b/example-config.yaml
+index a636e58..9674a1c 100644
+--- a/example-config.yaml
++++ b/example-config.yaml
+@@ -300,7 +300,7 @@ logging:
+ format: pretty-colored
+ - type: file
+ format: json
+- filename: ./logs/mautrix-signal.log
++ filename: /var/log/mautrix-signal/mautrix-signal.log
+ max_size: 100
+ max_backups: 10
+ compress: true
+
diff --git a/testing/mautrix-signal/mautrix-signal.confd b/testing/mautrix-signal/mautrix-signal.confd
new file mode 100644
index 00000000000..53d94bd7afd
--- /dev/null
+++ b/testing/mautrix-signal/mautrix-signal.confd
@@ -0,0 +1,7 @@
+# Configuration for /etc/init.d/mautrix-signal
+
+# Location of configuration file
+config="/etc/mautrix-signal/config.yaml"
+
+# Extra arguments to be passed when starting mautrix-signal
+# command_args=""
diff --git a/testing/mautrix-signal/mautrix-signal.initd b/testing/mautrix-signal/mautrix-signal.initd
new file mode 100644
index 00000000000..f8146da2461
--- /dev/null
+++ b/testing/mautrix-signal/mautrix-signal.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="mautrix-signal"
+description="Daemon for Mautrix-Signal, a Matrix-Signal puppeting bridge"
+
+: ${config:="/etc/mautrix-signal/config.yaml"}
+: ${command_user:="mautrix-signal:mautrix-signal"}
+
+command="/usr/bin/mautrix-signal"
+command_args="-c $config $command_args"
+
+depends() {
+ need net
+}
+
+start_pre() {
+ checkpath --file --owner "$command_user" "$config"
+ checkpath --directory --owner "$command_user" /var/log/mautrix-signal
+}
diff --git a/testing/mautrix-signal/mautrix-signal.pre-install b/testing/mautrix-signal/mautrix-signal.pre-install
new file mode 100644
index 00000000000..83a633e59fc
--- /dev/null
+++ b/testing/mautrix-signal/mautrix-signal.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S mautrix-signal 2>/dev/null
+adduser -S -D -H -h /var/lib/mautrix-signal -s /sbin/nologin -G mautrix-signal -g mautrix-signal mautrix-signal 2>/dev/null
+
+exit 0
diff --git a/testing/mautrix-slack/APKBUILD b/testing/mautrix-slack/APKBUILD
new file mode 100644
index 00000000000..b56d9bd3d9c
--- /dev/null
+++ b/testing/mautrix-slack/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mautrix-slack
+pkgver=0_git20230925
+_gitrev=4530ff397d08d93b673cd71da4c2a75d969ca0df
+pkgrel=2
+pkgdesc="Matrix-Slack puppeting bridge"
+url="https://go.mau.fi/mautrix-slack/"
+arch="all"
+license="AGPL-3.0-or-later"
+makedepends="go olm-dev sqlite-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc $pkgname-doc"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/mautrix/slack/archive/$_gitrev.tar.gz
+ mautrix-slack.initd
+ mautrix-slack.confd
+ default-log-dir.patch
+ "
+builddir="$srcdir/slack-$_gitrev"
+options="net"
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS"
+ go build
+}
+
+check() {
+ go test -v ./...
+}
+
+package() {
+ install -Dm755 mautrix-slack \
+ -t "$pkgdir"/usr/bin/
+ install -Dm644 example-config.yaml \
+ -t "$pkgdir"/etc/mautrix-slack/
+
+ install -Dm755 "$srcdir"/mautrix-slack.initd \
+ "$pkgdir"/etc/init.d/mautrix-slack
+ install -Dm644 "$srcdir"/mautrix-slack.confd \
+ "$pkgdir"/etc/conf.d/mautrix-slack
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+d2bd2b4a52233d2ce59c7fde956ae253c97c6e28913b479fd64708759fceae8154dc71d54dadb8d515fccf6a5a43c0b77a94d0938e4c2a8333a18ac9b7965a7f mautrix-slack-4530ff397d08d93b673cd71da4c2a75d969ca0df.tar.gz
+84d1b9d35eab5345f236571830f0d18c1028c82e596f7c2ff17036bbc46ef1d2a11a214f2a5b28e4774045d6f0369381097c445479bd45f0f1e0157f0bf12040 mautrix-slack.initd
+cda8cd828fa1e4e4c302adc79a51d9af99fb428a81639691afefad6b575f6d2ac75730ea2cc455be514fe65a9836bdeb530a86b553c34a47e4a56796ce843fe1 mautrix-slack.confd
+9444fec2555b1a4a1a4db2f0d08179fdd7a9d725e0a7414cea35591dbaea642978ce2020b6889f54c40f69627b167eaa1a796abcaf216ade5a6457584c38f8dc default-log-dir.patch
+"
diff --git a/testing/mautrix-slack/default-log-dir.patch b/testing/mautrix-slack/default-log-dir.patch
new file mode 100644
index 00000000000..82c8818bb36
--- /dev/null
+++ b/testing/mautrix-slack/default-log-dir.patch
@@ -0,0 +1,17 @@
+Upstream: No, Alpine specific
+Reason: We don't want to log into $PWD/logs by default but
+into /var/log/mautrix-slack.
+diff --git a/example-config.yaml b/example-config.yaml
+index a636e58..9674a1c 100644
+--- a/example-config.yaml
++++ b/example-config.yaml
+@@ -288,7 +288,7 @@ logging:
+ format: pretty-colored
+ - type: file
+ format: json
+- filename: ./logs/mautrix-slack.log
++ filename: /var/log/mautrix-slack/mautrix-slack.log
+ max_size: 100
+ max_backups: 10
+ compress: true
+
diff --git a/testing/mautrix-slack/mautrix-slack.confd b/testing/mautrix-slack/mautrix-slack.confd
new file mode 100644
index 00000000000..9bea816b80d
--- /dev/null
+++ b/testing/mautrix-slack/mautrix-slack.confd
@@ -0,0 +1,7 @@
+# Configuration for /etc/init.d/mautrix-slack
+
+# Location of configuration file
+config="/etc/mautrix-slack/config.yaml"
+
+# Extra arguments to be passed when starting mautrix-slack
+# command_args=""
diff --git a/testing/mautrix-slack/mautrix-slack.initd b/testing/mautrix-slack/mautrix-slack.initd
new file mode 100644
index 00000000000..ffd5da54eb7
--- /dev/null
+++ b/testing/mautrix-slack/mautrix-slack.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="mautrix-slack"
+description="Daemon for Mautrix-Slack, a Matrix-Slack puppeting bridge"
+
+: ${config:="/etc/mautrix-slack/config.yaml"}
+: ${command_user:="mautrix-slack:mautrix-slack"}
+
+command="/usr/bin/mautrix-slack"
+command_args="-c $config $command_args"
+
+depends() {
+ need net
+}
+
+start_pre() {
+ checkpath --file --owner "$command_user" "$config"
+ checkpath --directory --owner "$command_user" /var/log/mautrix-slack
+}
diff --git a/testing/mautrix-slack/mautrix-slack.pre-install b/testing/mautrix-slack/mautrix-slack.pre-install
new file mode 100644
index 00000000000..4f04f9d2de4
--- /dev/null
+++ b/testing/mautrix-slack/mautrix-slack.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S mautrix-slack 2>/dev/null
+adduser -S -D -H -h /var/lib/mautrix-slack -s /sbin/nologin -G mautrix-slack -g mautrix-slack mautrix-slack 2>/dev/null
+
+exit 0
diff --git a/testing/mautrix-whatsapp/APKBUILD b/testing/mautrix-whatsapp/APKBUILD
deleted file mode 100644
index 87b372bb324..00000000000
--- a/testing/mautrix-whatsapp/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
-pkgname=mautrix-whatsapp
-pkgver=0.2.2
-pkgrel=0
-pkgdesc="A Matrix-WhatsApp puppeting bridge"
-url="https://maunium.net/go/mautrix-whatsapp"
-arch="all !s390x !mips64"
-license="AGPL-3.0-or-later"
-makedepends="go olm-dev"
-install="$pkgname.pre-install $pkgname.pre-upgrade"
-subpackages="$pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mautrix/whatsapp/archive/v$pkgver.tar.gz
- mautrix-whatsapp.initd
- mautrix-whatsapp.confd
- default-log-dir.patch
- "
-builddir="$srcdir"/whatsapp-$pkgver
-
-build() {
- go build
-}
-
-check() {
- go test -v ./...
-}
-
-package() {
- install -Dm755 mautrix-whatsapp "$pkgdir"/usr/bin/mautrix-whatsapp
- install -Dm644 example-config.yaml "$pkgdir"/etc/mautrix-whatsapp/example-config.yaml
- install -Dm755 "$srcdir"/mautrix-whatsapp.initd "$pkgdir"/etc/init.d/mautrix-whatsapp
- install -Dm644 "$srcdir"/mautrix-whatsapp.confd "$pkgdir"/etc/conf.d/mautrix-whatsapp
-}
-
-sha512sums="048ba3fafac83c697e3b0a63e782d4ae6095c86c5dd344d8836a0d5bbe0cd4dd16798653d525437588ac71081a7bfd3245de76f523d0be5b09b6d0c0d44939d0 mautrix-whatsapp-0.2.2.tar.gz
-c735950faace99380a5cfd998ede482108381fcb48bdcd2405d32a4a84e12b2ee75995c3c12160d257479612dcd0ea4c773d4d7b6bef6f6bbbd0373f31f20acd mautrix-whatsapp.initd
-9349b660273c63d2973f1b99ddbd98469dddc098157380603210159f17d3cb1eb55e71dbd21550b20d40831f4da320225e7c03441667e2750e30a2e1fa03acfe mautrix-whatsapp.confd
-5642900e35028d4a0918ed9fd73f6dee402d895dff53423aa32f728703a01492d5aba64ec63984e2929d4630e43f7ed35bec71039fb4b8051703c421f38013da default-log-dir.patch"
diff --git a/testing/mautrix-whatsapp/default-log-dir.patch b/testing/mautrix-whatsapp/default-log-dir.patch
deleted file mode 100644
index 629fde6bada..00000000000
--- a/testing/mautrix-whatsapp/default-log-dir.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Upstream: No, Alpine specific
-Reason: We don't want to log into $PWD/logs by default but
-into /var/log/mautrix-whatsapp.
-diff --git a/example-config.yaml b/example-config.yaml
-index dfe2c25..ee79796 100644
---- a/example-config.yaml
-+++ b/example-config.yaml
-@@ -188,7 +188,7 @@ bridge:
- # Logging config.
- logging:
- # The directory for log files. Will be created if not found.
-- directory: ./logs
-+ directory: /var/log/mautrix-whatsapp
- # Available variables: .Date for the file date and .Index for different log files on the same day.
- file_name_format: "{{.Date}}-{{.Index}}.log"
- # Date format for file names in the Go time format: https://golang.org/pkg/time/#pkg-constants
diff --git a/testing/mautrix-whatsapp/mautrix-whatsapp.confd b/testing/mautrix-whatsapp/mautrix-whatsapp.confd
deleted file mode 100644
index 2ff3d33dd54..00000000000
--- a/testing/mautrix-whatsapp/mautrix-whatsapp.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-# Configuration for /etc/init.d/mautrix-whatsapp
-
-# Location of configuration file
-config="/etc/mautrix-whatsapp/config.yaml"
-
-# Extra arguments to be passed when starting mautrix-whatsapp
-# command_args=""
diff --git a/testing/mautrix-whatsapp/mautrix-whatsapp.initd b/testing/mautrix-whatsapp/mautrix-whatsapp.initd
deleted file mode 100644
index 138ab8e615f..00000000000
--- a/testing/mautrix-whatsapp/mautrix-whatsapp.initd
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-
-name="mautrix-whatsapp"
-description="Daemon for Mautrix-Whatsapp, a Matrix-WhatsApp puppeting bridge"
-
-: ${config:="/etc/mautrix-whatsapp/config.yaml"}
-: ${command_user:="mautrix-whatsapp:mautrix-whatsapp"}
-
-command="/usr/bin/mautrix-whatsapp"
-command_args="-c $config $command_args"
-
-depends() {
- need net
-}
-
-start_pre() {
- checkpath --file --owner "$command_user" /etc/mautrix-whatsapp/config.yaml
- checkpath --file --owner "$command_user" /etc/mautrix-whatsapp/registration.yaml
- checkpath --directory --owner "$command_user" /var/log/mautrix-whatsapp
-}
diff --git a/testing/mautrix-whatsapp/mautrix-whatsapp.pre-install b/testing/mautrix-whatsapp/mautrix-whatsapp.pre-install
deleted file mode 100644
index 14f7ec9eb63..00000000000
--- a/testing/mautrix-whatsapp/mautrix-whatsapp.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S mautrix-whatsapp 2>/dev/null
-adduser -S -D -H -h /var/lib/mautrix-whatsapp -s /sbin/nologin -G mautrix-whatsapp -g mautrix-whatsapp mautrix-whatsapp 2>/dev/null
-
-exit 0
diff --git a/testing/mautrix-whatsapp/mautrix-whatsapp.pre-upgrade b/testing/mautrix-whatsapp/mautrix-whatsapp.pre-upgrade
deleted file mode 120000
index e105e629a44..00000000000
--- a/testing/mautrix-whatsapp/mautrix-whatsapp.pre-upgrade
+++ /dev/null
@@ -1 +0,0 @@
-mautrix-whatsapp.pre-install \ No newline at end of file
diff --git a/testing/maxima/APKBUILD b/testing/maxima/APKBUILD
new file mode 100644
index 00000000000..407d2bdc205
--- /dev/null
+++ b/testing/maxima/APKBUILD
@@ -0,0 +1,69 @@
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+pkgname=maxima
+pkgver=5.47.0
+pkgrel=6
+pkgdesc="Sophisticated computer algebra system"
+url="http://maxima.sourceforge.net"
+# ppc64le, s390x, riscv64: blocked by sbcl
+# arm*, x86: not useful on 32-bit
+# aarch64: fails to build
+arch="x86_64"
+license="GPL-2.0-or-later"
+depends="texinfo shared-mime-info sbcl"
+makedepends="python3 perl gmp-dev"
+checkdepends="gnuplot"
+subpackages="
+ $pkgname-doc
+ $pkgname-doc-extra
+ $pkgname-bash-completion
+ $pkgname-emacs
+ "
+source="maxima-$pkgver.tar.gz::https://sourceforge.net/projects/maxima/files/Maxima-source/$pkgver-source/maxima-$pkgver.tar.gz/download"
+options="!check" # take hours
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var \
+ --enable-sbcl \
+ --with-default-lisp=sbcl
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ # remove unused files
+ find "$pkgdir" -type d -iname tests -exec rm -r {} \+
+}
+
+extra() {
+ pkgdesc="$pkgdesc (extra html documentation + demos)"
+
+ amove usr/share/$pkgname/$pkgver/doc
+ amove usr/share/$pkgname/$pkgver/demo
+}
+
+emacs() {
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="$pkgname=$pkgver-r$pkgrel emacs"
+ pkgdesc="Emacs plugins for $pkgname"
+
+ amove usr/share/emacs
+}
+
+sha512sums="
+953b98336eb086069edaa917981372450ce165dedd7a7b39b181d3f2d8b089551eea943e0084148eaa3ded395dcba9135509d3d11d9132ab7a3ad8bb800d3a11 maxima-5.47.0.tar.gz
+"
diff --git a/testing/mbpfan/APKBUILD b/testing/mbpfan/APKBUILD
index 6db0a10a5e8..97b9b0c93fb 100644
--- a/testing/mbpfan/APKBUILD
+++ b/testing/mbpfan/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
pkgname=mbpfan
-pkgver=2.2.1
+pkgver=2.4.0
pkgrel=0
pkgdesc="simple daemon to control fan speed on MacBooks, other macs"
url="https://ineed.coffee/projects/mbpfan"
@@ -13,7 +13,6 @@ source="mbpfan-$pkgver.tar.gz::https://github.com/linux-on-mac/mbpfan/archive/re
01-remove-systemd.patch
$pkgname.initd"
-
build() {
make
}
@@ -24,7 +23,7 @@ package() {
}
sha512sums="
-ce358047910bd6996e1d47fe08e1825863e043fc9a33b3c4922ea537e58dd7508fc45c651816125e7b32472cbb3d06afa4a487daba5b910a8580623def938a71 mbpfan-2.2.1.tar.gz
+fa906043552a895d274642dfe8e3a94fdece0bf9b430710d9ee4dc4f33b6762fbed3314e4a67ede11916514297d511031cc99b35b7a267b58aceefd73e4b1d22 mbpfan-2.4.0.tar.gz
bd9e2496049978f4dae322279573e784b7866bbdaa39de65b124f5206ab270ff71933b762a1caf3a792b33760bdd66852c46486b66429d825c623a32c8c7c52b 01-remove-systemd.patch
bc3905e85d89e71d56239549bede3dd826633da2152d2e548fdf0c5eb2fde7a94e776afcce4d1657d2198998538d9e19b2a9d464c95c2b14083d8f5782417467 mbpfan.initd
"
diff --git a/testing/mbrola/APKBUILD b/testing/mbrola/APKBUILD
new file mode 100644
index 00000000000..32e26f1316e
--- /dev/null
+++ b/testing/mbrola/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=mbrola
+pkgver=3.3
+pkgrel=0
+pkgdesc="Speech synthesizer based on the concatenation of diphones"
+url="https://github.com/numediart/MBROLA"
+arch="all !s390x" # assumes little endian
+license="AGPL-3.0-or-later"
+source="https://github.com/numediart/MBROLA/archive/refs/tags/$pkgver/mbrola-$pkgver.tar.gz
+ terrible-makefile.patch
+ "
+builddir="$srcdir/MBROLA-$pkgver"
+options="!check" # tests need some external script to run
+
+build() {
+ make
+}
+
+package() {
+ install -Dm755 Bin/mbrola -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+4c15481d2afc7f459c511d2f2791ae1f0f89893ea86fcde113c73f9b5509b893bc7beac8ec5fa76ca0f4e0aca35982ff1db15e8611514d91991608aee004c3f2 mbrola-3.3.tar.gz
+73390819c34612a9438b6fc197c0b01934401c0d2fd2bd8f3514a1f61422d4dbac79fe0c5f82c963e29531b615fe676eeda981cad6089fa4224baf7dbf67d219 terrible-makefile.patch
+"
diff --git a/testing/mbrola/terrible-makefile.patch b/testing/mbrola/terrible-makefile.patch
new file mode 100644
index 00000000000..4ebbf009357
--- /dev/null
+++ b/testing/mbrola/terrible-makefile.patch
@@ -0,0 +1,22 @@
+diff --git a/Makefile b/Makefile
+index 47cf410..2d3f916 100644
+--- a/Makefile
++++ b/Makefile
+@@ -4,7 +4,7 @@
+ VERSION=3.3
+
+ # To test strict C ANSI compliance
+-CC = gcc -ansi -pedantic
++CC ?= gcc -ansi -pedantic
+ LIB= -lm
+
+ # This allow you to write commands like "make PURE=purify demo1"
+@@ -33,7 +33,7 @@ CFLAGS += -DLITTLE_ENDIAN
+ # GENERAL FLAGS FOR GCC
+
+ # Optimized code
+-CFLAGS += -O6
++CFLAGS ?= -O2
+
+ # Debug mode with gdb
+ #CFLAGS += -g
diff --git a/testing/mcjoin/APKBUILD b/testing/mcjoin/APKBUILD
new file mode 100644
index 00000000000..22c8e4cc44c
--- /dev/null
+++ b/testing/mcjoin/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Nico de Haer <nico.dehaer@gmail.com>
+# Maintainer: Nico de Haer <nico.dehaer@gmail.com>
+pkgname=mcjoin
+pkgver=2.11
+pkgrel=0
+pkgdesc="Tiny multicast testing tool"
+url="https://github.com/troglobit/mcjoin"
+license="ISC"
+arch="all"
+subpackages="$pkgname-doc"
+source="https://github.com/troglobit/mcjoin/releases/download/v$pkgver/mcjoin-$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+4a1af8dae08e7ee5cc168b2a9b5f921f5f11be1d9dc0d9b0a3d5f1f7f531c22414be6edf448dd52f543ad27c66cab3663105bd7efc621f13e575d47d5434adff mcjoin-2.11.tar.gz
+"
diff --git a/testing/mcman/APKBUILD b/testing/mcman/APKBUILD
new file mode 100644
index 00000000000..a0424e7df7e
--- /dev/null
+++ b/testing/mcman/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mcman
+pkgver=0.4.4
+pkgrel=0
+pkgdesc="Powerful Minecraft Server Manager CLI"
+url="https://github.com/ParadigmMC/mcman"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ cargo
+ cargo-auditable
+"
+subpackages="$pkgname-doc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/ParadigmMC/mcman/archive/refs/tags/$pkgver.tar.gz
+"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm 755 target/release/mcman "$pkgdir"/usr/bin/mcman
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+6b5ca9ba901d803c07932eaab38876bfe7baea767bd747692ba63de2a79924502d60fed4637578ca46cb43f3c16911e4981c85f9393c3fa0888fa5baf9ff54d5 mcman-0.4.4.tar.gz
+"
diff --git a/testing/mcqd/APKBUILD b/testing/mcqd/APKBUILD
new file mode 100644
index 00000000000..1b1382e6f5a
--- /dev/null
+++ b/testing/mcqd/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=mcqd
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Fast exact algorithm for finding a maximum clique in an undirected graph"
+url="https://gitlab.com/janezkonc/mcqd"
+arch="all"
+license="GPL-3.0-only"
+source="https://gitlab.com/janezkonc/mcqd/-/archive/v$pkgver/mcqd-v$pkgver.tar.gz"
+subpackages="$pkgname-dev"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+build() {
+ $CXX ${CXXFLAGS/-Os/-O3} $LDFLAGS -o mcqd mcqd.cpp
+}
+
+check() {
+ ./mcqd test.clq
+}
+
+package() {
+ install -Dm755 mcqd "$pkgdir"/usr/bin/mcqd
+ install -Dm644 mcqd.h "$pkgdir"/usr/include/mcqd.h
+}
+
+sha512sums="
+ce0a8e1722d793793bdc1c0d47bf088daaa26e830550d401c1a05938581cc1e1f5ec3d846292e4152658143231f64542c32f046344d95c71b975f28a9c750817 mcqd-v1.0.0.tar.gz
+"
diff --git a/testing/md2gemini/APKBUILD b/testing/md2gemini/APKBUILD
new file mode 100644
index 00000000000..089dae6e136
--- /dev/null
+++ b/testing/md2gemini/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: omni <omni+alpine@hack.org>
+# Maintainer: omni <omni+alpine@hack.org>
+pkgname=md2gemini
+pkgver=1.9.1
+pkgrel=1
+pkgdesc="converter from Markdown to the Gemini text format"
+#arch="noarch" # archived upstream, need Mistune 2.x
+url="https://github.com/makeworld-the-better-one/md2gemini"
+license="LGPL-3.0-or-later"
+depends="py3-cjkwrap py3-wcwidth py3-mistune"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/makeworld-the-better-one/md2gemini/archive/v$pkgver.tar.gz"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
+}
+
+sha512sums="
+c066d8e8d2a0d784b140b778b988dd78793e4ae1735b9534f354283f8c24e7a20ec517aafeeea00029db5e8da166a38f3fa4d410389de05feafc96405b47eee9 md2gemini-1.9.1.tar.gz
+"
diff --git a/testing/md5ha1/APKBUILD b/testing/md5ha1/APKBUILD
index d18cb2ec3ae..ab44b9092ea 100644
--- a/testing/md5ha1/APKBUILD
+++ b/testing/md5ha1/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=md5ha1
pkgver=0_git20171202
-pkgrel=0
+pkgrel=1
pkgdesc="Tool for computing WWW-Digest MD5 HA1 string"
url="https://github.com/miconda/md5ha1"
arch="all"
diff --git a/testing/mda-lv2/APKBUILD b/testing/mda-lv2/APKBUILD
deleted file mode 100644
index 684f7348616..00000000000
--- a/testing/mda-lv2/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=mda-lv2
-pkgver=1.2.6
-pkgrel=0
-pkgdesc="Port of the MDA VST plugins to LV2"
-url="https://gitlab.com/drobilla/mda-lv2"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="lv2-dev waf"
-options="!check" # no testsuite
-source="https://download.drobilla.net/mda-lv2-$pkgver.tar.bz2"
-
-build() {
- python3 waf configure --prefix=/usr
- python3 waf build
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="
-0b49c8d4868010726bdf4b969b4822ffe17d705d81c956afabcfa27135c1bf54bb4fd00168d2606ddcd3f9b1930247655e700ae8d6039b43ff1a779cb8a617cc mda-lv2-1.2.6.tar.bz2
-"
diff --git a/testing/mdbook-katex/APKBUILD b/testing/mdbook-katex/APKBUILD
new file mode 100644
index 00000000000..2b6b05d17b8
--- /dev/null
+++ b/testing/mdbook-katex/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=mdbook-katex
+pkgver=0.8.0
+pkgrel=0
+pkgdesc="Preprocessor for mdbook to render LaTeX equations in HTML"
+url="https://github.com/lzanini/mdbook-katex"
+arch="all"
+license="MIT"
+depends="mdbook"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+source="https://github.com/lzanini/mdbook-katex/archive/refs/tags/v$pkgver/mdbook-katex-$pkgver.tar.gz"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+package() {
+ install -Dm755 target/release/mdbook-katex "$pkgdir"/usr/bin/mdbook-katex
+}
+
+sha512sums="
+b7091b5985a552ef9b4cfad82855fd92f663f4b632bccda1904046c23549a22916deb6adea54e583d2edf3f08115db9868be464dfbdf3e090e8197999e4230ae mdbook-katex-0.8.0.tar.gz
+"
diff --git a/testing/mdbook/APKBUILD b/testing/mdbook/APKBUILD
deleted file mode 100644
index a44cacaf1c5..00000000000
--- a/testing/mdbook/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=mdbook
-pkgver=0.4.14
-pkgrel=0
-pkgdesc="mdBook is a utility to create modern online books from Markdown files"
-url="https://rust-lang.github.io/mdBook/"
-arch="all !s390x !mips !mips64 !riscv64" # limited by cargo
-license="MPL-2.0"
-makedepends="rust cargo"
-subpackages="
- $pkgname-bash-completion
- $pkgname-fish-completion
- $pkgname-zsh-completion
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/rust-lang-nursery/mdBook/archive/v$pkgver.tar.gz"
-builddir="$srcdir/mdBook-$pkgver"
-export CARGO_HOME="$srcdir"/cargo
-
-prepare() {
- default_prepare
- cargo fetch --locked
-}
-
-build() {
- cargo build --frozen --release
-}
-
-check() {
- cargo test --frozen
-}
-
-package() {
- install -Dm755 target/release/mdbook "$pkgdir"/usr/bin/mdbook
-
- target/release/mdbook completions bash > mdbook.bash
- target/release/mdbook completions fish > mdbook.fish
- target/release/mdbook completions zsh > _mdbook
-
- install -Dm644 mdbook.bash \
- "$pkgdir/usr/share/bash-completion/completions/mdbook"
- install -Dm644 mdbook.fish \
- "$pkgdir/usr/share/fish/completions/mdbook.fish"
- install -Dm644 _mdbook \
- "$pkgdir/usr/share/zsh/site-functions/_mdbook"
-}
-
-sha512sums="
-c45e930e0ff20def1a11e85dbadc3759855fe2a9b5ad63d02d547423abfc16a93d35ff13567ce206274f35e68cf083958cd3caa83a648786e7c32bcfa9bdb6dd mdbook-0.4.14.tar.gz
-"
diff --git a/testing/mdbtools/10-Werror.patch b/testing/mdbtools/10-Werror.patch
deleted file mode 100644
index c186e2cdb6d..00000000000
--- a/testing/mdbtools/10-Werror.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Author: Holger Jaekel <holger.jaekel@gmx.de>
-Summary: treat compiler warnings as warnings, not errors
-----
---- a/configure.ac
-+++ b/configure.ac
-@@ -83,7 +83,7 @@
- AC_SUBST(SQL)
- AC_SUBST(LFLAGS)
-
--CFLAGS="$CFLAGS -Wall -Werror"
-+CFLAGS="$CFLAGS -Wall"
- LOCALE_T=locale_t
- AS_CASE([$host],
- [*mingw*], [LDFLAGS="$LDFLAGS -no-undefined" LOCALE_T=_locale_t], [])
diff --git a/testing/mdbtools/APKBUILD b/testing/mdbtools/APKBUILD
deleted file mode 100644
index 8ac025b99e2..00000000000
--- a/testing/mdbtools/APKBUILD
+++ /dev/null
@@ -1,90 +0,0 @@
-# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
-# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
-pkgname=mdbtools
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="library for reading MS Access database files"
-url="https://github.com/mdbtools/mdbtools"
-arch="all !s390x !mips64" # no support for big-endian
-license="GPL-2.0-or-later"
-makedepends="
- autoconf
- automake
- bison
- flex
- gawk
- gettext-dev
- gnu-libiconv-dev
- libtool
- unixodbc-dev
- "
-subpackages="
- $pkgname-dev
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-utils
- $pkgname-odbc
- "
-_testdata=e649f792cb8f966d404e052d1523e93de0192d50
-source="
- https://github.com/mdbtools/mdbtools/releases/download/v$pkgver/mdbtools-$pkgver.tar.gz
- mdbtestdata-$_testdata.tar.gz::https://github.com/mdbtools/mdbtestdata/archive/$_testdata.tar.gz
- 10-Werror.patch
- "
-
-prepare() {
- default_prepare
-
- mv "$srcdir"/mdbtestdata-$_testdata "$builddir"/test
-
- autoreconf -i -f
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --enable-static=no \
- --with-unixodbc=/usr/include \
- --with-libiconv-prefix=/usr/include
- make
-}
-
-check() {
- # taken from https://github.com/mdbtools/mdbtools/blob/master/test_script.sh
- ./src/util/mdb-json test/data/ASampleDatabase.accdb "Asset Items"
- ./src/util/mdb-json test/data/nwind.mdb "Umsätze"
- ./src/util/mdb-count test/data/ASampleDatabase.accdb "Asset Items"
- ./src/util/mdb-count test/data/nwind.mdb "Umsätze"
- ./src/util/mdb-prop test/data/ASampleDatabase.accdb "Asset Items"
- ./src/util/mdb-prop test/data/nwind.mdb "Umsätze"
- ./src/util/mdb-schema test/data/ASampleDatabase.accdb
- ./src/util/mdb-schema test/data/nwind.mdb
- ./src/util/mdb-schema test/data/nwind.mdb -T "Umsätze" postgres
- ./src/util/mdb-tables test/data/ASampleDatabase.accdb
- ./src/util/mdb-tables test/data/nwind.mdb
- ./src/util/mdb-ver test/data/ASampleDatabase.accdb
- ./src/util/mdb-ver test/data/nwind.mdb
- ./src/util/mdb-queries test/data/ASampleDatabase.accdb qryCostsSummedByOwner
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-utils() {
- pkgdesc="library for reading MS Access database files (command line utilities)"
- amove /usr/bin
-}
-
-odbc() {
- pkgdesc="library for reading MS Access database files (ODBC driver for use with unixODBC)"
- amove /usr/lib/odbc/libmdbodbc*
-}
-
-sha512sums="
-146606d1c26c939cef5d4e153f312c24858e0a2eeaad9260c3bdd5eea9f5b58f5fd06ccad72323aa18db5fe197b4c50167b3ca9e112f1a8200ea5b69e1b16ccd mdbtools-1.0.0.tar.gz
-e7bee8761ff20e231ccf50fe5b4eb917c774a8c60fab4769f39bac024c5a507537db407ac616930203222e5965e0a7556a87d39555e3c4e2a543f6a49e890aea mdbtestdata-e649f792cb8f966d404e052d1523e93de0192d50.tar.gz
-c3ab42c277546d74760be28592ec4a15194c0df837f3043b3d66918658c35100def729b50222e9f3f9f301a2c49a6aeb6b7b810afbacc9f636f12934aa1a3cb9 10-Werror.patch
-"
diff --git a/testing/mdcat/APKBUILD b/testing/mdcat/APKBUILD
index 15c08553220..f5f95b57590 100644
--- a/testing/mdcat/APKBUILD
+++ b/testing/mdcat/APKBUILD
@@ -1,43 +1,53 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
pkgname=mdcat
-pkgver=0.25.0
+pkgver=2.1.1
pkgrel=0
pkgdesc="Cat for markdown"
-url="https://github.com/lunaryorn/mdcat"
-# s390x, mips, mips64 limited by cargo
-# ppc64le fails to build 'ring v0.16.19'
-arch="all !s390x !mips !mips64 !ppc64le !riscv64"
+url="https://github.com/swsnr/mdcat"
+#Undefined temporary symbol .LBB16_2
+arch="all !armhf"
license="Apache-2.0"
-makedepends="asciidoctor cargo openssl-dev"
-checkdepends="py3-ansi2html"
+makedepends="asciidoctor cargo shared-mime-info openssl-dev>3 cargo-auditable"
subpackages="
$pkgname-doc
$pkgname-bash-completion
$pkgname-zsh-completion
$pkgname-fish-completion
"
-source="$pkgname-$pkgver.tar.gz::https://github.com/lunaryorn/mdcat/archive/mdcat-$pkgver.tar.gz"
+source="https://github.com/swsnr/mdcat/archive/refs/tags/mdcat-$pkgver.tar.gz"
builddir="$srcdir/mdcat-mdcat-$pkgver"
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --frozen
}
check() {
- cargo test --release --locked
+ cargo test --frozen
}
package() {
- install -s -Dm0755 target/release/mdcat -t "$pkgdir"/usr/bin
+ install -Dm755 target/release/mdcat -t "$pkgdir"/usr/bin/
+ ln -s /usr/bin/mdcat "$pkgdir"/usr/bin/mdless
# Install the generated shell completion files
- install -Dm644 "$builddir"/target/release/build/mdcat-*/out/completions/mdcat.bash \
- -t "$pkgdir"/usr/share/bash-completion/completions
- install -Dm644 "$builddir"/target/release/build/mdcat-*/out/completions/_mdcat \
+ install -Dm644 target/release/build/mdcat-*/out/completions/mdcat.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/mdcat
+ install -Dm644 target/release/build/mdcat-*/out/completions/mdless.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/mdless
+ install -Dm644 target/release/build/mdcat-*/out/completions/_mdcat \
+ -t "$pkgdir"/usr/share/zsh/site-functions
+ install -Dm644 target/release/build/mdcat-*/out/completions/_mdless \
-t "$pkgdir"/usr/share/zsh/site-functions
- install -Dm644 "$builddir"/target/release/build/mdcat-*/out/completions/mdcat.fish \
- -t "$pkgdir"/usr/share/fish/completions
+ install -Dm644 target/release/build/mdcat-*/out/completions/mdcat.fish \
+ -t "$pkgdir"/usr/share/fish/vendor_completions.d
+ install -Dm644 target/release/build/mdcat-*/out/completions/mdless.fish \
+ -t "$pkgdir"/usr/share/fish/vendor_completions.d
# Install the generated man-page
install -Dm644 "$builddir"/target/release/build/mdcat-*/out/mdcat.1 \
@@ -45,5 +55,5 @@ package() {
}
sha512sums="
-c259bc2af6b6a78d237b30a6497ff6a0345df315debe06991c2ea7cb45cce59d95fea2c6842ccbf55c0b7e1c895836f37dde6501eb8eeff0298da8115c5a5681 mdcat-0.25.0.tar.gz
+8bff3c1e696311fc39bfb5a89e8aaf45986acab3f06a4c905682af233720940f4b1193c36907474ea8d94491148fba72b098dd23166adb56d7ebaac37c861d82 mdcat-2.1.1.tar.gz
"
diff --git a/testing/mdevd/APKBUILD b/testing/mdevd/APKBUILD
deleted file mode 100644
index 690ad37554a..00000000000
--- a/testing/mdevd/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Maintainer: Laurent Bercot <ska-devel@skarnet.org>
-# Contributor: Laurent Bercot <ska-devel@skarnet.org>
-#
-# NOTE: For now this APKBUILD is pure mechanism.
-# A later version of the APKBUILD will install mdevd as device manager,
-# replacing busybox mdev.
-pkgname=mdevd
-pkgver=0.1.5.1
-pkgrel=0
-pkgdesc="A netlink-listening device manager similar to mdev"
-url="https://skarnet.org/software/mdevd/"
-arch="all"
-license="ISC"
-options="!check" # no tests provided
-makedepends="linux-headers skalibs-dev>=2.11"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc"
-source="https://skarnet.org/software/mdevd/mdevd-$pkgver.tar.gz
- $pkgname.initd"
-
-build() {
- ./configure \
- --enable-shared \
- --enable-static \
- --disable-allstatic
- make
-}
-
-package() {
- make install DESTDIR="$pkgdir"
- mkdir -p "$pkgdir"/usr/share/doc
- cp -a doc "$pkgdir"/usr/share/doc/$pkgname
- install -D -m 755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
-}
-
-sha512sums="
-10a6cf1658da066e781367eba3c2e0c73316089b63e6d087e87ffd5f57c960da5ecf5276bb38a089ceb804d592ddedc40291825d5c69ef8bed26208339288a8b mdevd-0.1.5.1.tar.gz
-97e35f51d27b9fb449923cbfa147bc49dfff632d275b3e490853a77a307bb3b3fd3667b960adee6918e49757c9f55b9c648d47dbbde8040f20489bd2b76d609c mdevd.initd
-"
diff --git a/testing/mdevd/mdevd.initd b/testing/mdevd/mdevd.initd
deleted file mode 100644
index 4e2bdd487d4..00000000000
--- a/testing/mdevd/mdevd.initd
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/sbin/openrc-run
-
-extra_started_commands="reload"
-description="A netlink-listening device manager similar to mdev"
-description_reload="Reload the configuration file"
-
-: ${cfgfile:="/etc/mdev.conf"}
-: ${logfile:="/var/log/$RC_SVCNAME.log"}
-
-pidfile="/run/$RC_SVCNAME.pid"
-required_files="$cfgfile"
-
-command="/bin/mdevd"
-command_args="-C -O4 -f $cfgfile ${command_args:-}"
-command_background="yes"
-start_stop_daemon_args="--stdout $logfile --stderr $logfile"
-supervise_daemon_args="$start_stop_daemon_args"
-
-depend() {
- provide dev
- need sysfs dev-mount
- before checkfs fsck
- keyword -containers -lxc -vserver
-}
-
-start_pre() {
- mkdir -p /dev
-}
-
-reload() {
- ebegin "Reloading $name configuration"
- if [ "$supervisor" ]; then
- $supervisor "$RC_SVCNAME" --signal HUP
- else
- start-stop-daemon --signal HUP --pidfile "$pidfile"
- fi
- eend $?
-}
diff --git a/testing/mdnsd/APKBUILD b/testing/mdnsd/APKBUILD
index 160f52b9358..0f3a5ea180b 100644
--- a/testing/mdnsd/APKBUILD
+++ b/testing/mdnsd/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Miguel Terron <miguel.a.terron@gmail.com>
# Maintainer: Miguel Terron <miguel.a.terron@gmail.com>
pkgname=mdnsd
-pkgver=0.10
-pkgrel=0
+pkgver=0.12
+pkgrel=1
pkgdesc="Embeddable Multicast DNS Daemon"
url="https://github.com/troglobit/mdnsd"
arch="all"
@@ -45,6 +45,7 @@ package() {
}
sha512sums="
-c4ff3b6c27b4411753bea0bd63ecda31be47283c5375f81d38f351839fe15c8897001be2c8adcc7f2943179437135b482d4d629be841bc1bfb634040da823501 mdnsd.confd
+417c394b24ee1ac87f83a6040df963e948191007ef9b27b28537ecdf7b01e126b0069f6ef96e579394d75b90194f1de975edb9e71486e16815372ea379006601 mdnsd.confd
8a4fb736263ec05aa439f320091a43dfea64fb7e89fd0af5ada3981d0461009f55e1ac598a143a9458063eaf117e1b7b788463f0af316153fa6bfea864019a99 mdnsd.initd
-aced00adda9ce9d915cd51d74f4249ae4be1917b679f8750262b505908b70cffbec6235fdc01a14d66171607f078e2378f2d2f3cc605abc9213857232d687c93 mdnsd-0.10.tar.xz"
+c28917bfb16f1fa6d3594a4e98f43cae7cc5bfcb31dac6bc8eeafae60e05b15790245d859137e0c15838893f04365c2a48331b6082fa5b17ff5ae3665c963de6 mdnsd-0.12.tar.xz
+"
diff --git a/testing/mdnsd/mdnsd.confd b/testing/mdnsd/mdnsd.confd
index 12ff6016aea..f51d03fffc6 100644
--- a/testing/mdnsd/mdnsd.confd
+++ b/testing/mdnsd/mdnsd.confd
@@ -1,11 +1,8 @@
# /etc/conf.d/mdnsd: config file for /etc/init.d/mdnsd
-# -a ADDR Address of service/host to announce, default: auto
-# -i IFACE Interface to announce services on, and get address from
-# -l LEVEL Set log level: none, err, notice (default), info, debug
-# -n Run in foreground, do not detach from controlling terminal
-# -p Persistent mode, retry if the socket or interface is lost
-# -s Use syslog even if running in foreground
-# -t TTL Set TTL of mDNS packets, default: 1 (link-local only)
+# -l LEVEL Set log level: none, err, notice (default), info, debug
+# -n Run in foreground, do not detach from controlling terminal
+# -s Use syslog even if running in foreground
+# -t TTL Set TTL of mDNS packets, default: 1 (link-local only)
-MDNSD_OPTS="-p -n"
+MDNSD_OPTS="-n"
diff --git a/testing/mdp/APKBUILD b/testing/mdp/APKBUILD
index 6cced9038a8..0546db01337 100644
--- a/testing/mdp/APKBUILD
+++ b/testing/mdp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=mdp
pkgver=1.0.15
-pkgrel=0
+pkgrel=1
pkgdesc="command line based markdown presentation tool"
url="https://github.com/visit1985/mdp"
arch="all"
diff --git a/testing/mediaelch/APKBUILD b/testing/mediaelch/APKBUILD
deleted file mode 100644
index 01b7f48422f..00000000000
--- a/testing/mediaelch/APKBUILD
+++ /dev/null
@@ -1,53 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=mediaelch
-pkgver=2.8.12
-_quazip_sha=6938d8b108b09ebb14ef25542abd2d9108f8e036
-pkgrel=0
-pkgdesc="Media Manager for Kodi"
-url="https://github.com/Komet/MediaElch"
-# armhf: limited by qt5-qtdeclarative
-arch="all !armhf"
-license="LGPL-3.0-only"
-depends="qt5-qtquickcontrols"
-makedepends="
- qt5-qtbase-dev
- qt5-qtmultimedia-dev
- qt5-qtdeclarative-dev
- qt5-qtsvg-dev
- qt5-qttools-dev
- libmediainfo-dev
- curl-dev
- fortify-headers
- "
-options="!check" # no tests
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/Komet/MediaElch/archive/v$pkgver.tar.gz
- quazip-$_quazip_sha.tar.gz::https://github.com/stachenov/quazip/archive/$_quazip_sha.tar.gz
- "
-builddir="$srcdir/MediaElch-$pkgver"
-
-prepare() {
- default_prepare
-
- cp -r "$srcdir"/quazip-$_quazip_sha/* "$builddir"/third_party/quazip/
-}
-
-build() {
- mkdir build && cd build
-
- /usr/lib/qt5/bin/qmake ..
-
- sed -i 's/-isystem/-I/g' Makefile
- make
-}
-
-package() {
- cd build
-
- make INSTALL_ROOT="$pkgdir" install
-}
-sha512sums="
-c25ff622975dc7800c423ccaaf9be9fb57aa748ef2830fbf49ac214a4c5248a3614e6385c4f78edb10f2a7c4edea9b390e447bfea8b32d33df30aa5c09d5f91c mediaelch-2.8.12.tar.gz
-b5390a3599a03309ab0e69d8cfbeea45c6de29938719c5202127cfc0278692df754701f8222f1574fceed30170fc9b0a06bcc6c1e9e3a8436fe8cc23ebfbf206 quazip-6938d8b108b09ebb14ef25542abd2d9108f8e036.tar.gz
-"
diff --git a/testing/mediascanner2/0001-rename-msg-to-message.patch b/testing/mediascanner2/0001-rename-msg-to-message.patch
new file mode 100644
index 00000000000..0f48b70ed7c
--- /dev/null
+++ b/testing/mediascanner2/0001-rename-msg-to-message.patch
@@ -0,0 +1,39 @@
+From 897636832b3fb5cb62aea5d32db65e41262c0a78 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Mon, 11 Mar 2024 15:56:53 -0400
+Subject: [PATCH 1/3] rename msg to message
+
+---
+ src/extractor/CMakeLists.txt | 2 +-
+ src/qml/MediaScanner.0.1/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/extractor/CMakeLists.txt b/src/extractor/CMakeLists.txt
+index 7bc6d3f..6e9579d 100644
+--- a/src/extractor/CMakeLists.txt
++++ b/src/extractor/CMakeLists.txt
+@@ -5,7 +5,7 @@ include_directories(.. ${CMAKE_CURRENT_BINARY_DIR})
+ # Build stubs/skeletons for D-Bus interface
+ find_program(gdbus_codegen gdbus-codegen)
+ if(NOT gdbus_codegen)
+- msg(FATAL_ERROR "Could not locate gdbus-codegen")
++ message(FATAL_ERROR "Could not locate gdbus-codegen")
+ endif()
+
+ add_custom_command(
+diff --git a/src/qml/MediaScanner.0.1/CMakeLists.txt b/src/qml/MediaScanner.0.1/CMakeLists.txt
+index e08ccb0..73b5146 100644
+--- a/src/qml/MediaScanner.0.1/CMakeLists.txt
++++ b/src/qml/MediaScanner.0.1/CMakeLists.txt
+@@ -61,7 +61,7 @@ install(
+ if(NOT CMAKE_CROSSCOMPILING)
+ find_program(qmlplugindump_exe qmlplugindump)
+ if(NOT qmlplugindump_exe)
+- msg(FATAL_ERROR "Could not locate qmlplugindump.")
++ message(FATAL_ERROR "Could not locate qmlplugindump.")
+ endif()
+
+ # qmlplugindump doesn't run reliably in the CI environment (it seems
+--
+2.43.2
+
diff --git a/testing/mediascanner2/0002-point-qmlplugindump-to-qmlplugindump-qt5.patch b/testing/mediascanner2/0002-point-qmlplugindump-to-qmlplugindump-qt5.patch
new file mode 100644
index 00000000000..267a343efaa
--- /dev/null
+++ b/testing/mediascanner2/0002-point-qmlplugindump-to-qmlplugindump-qt5.patch
@@ -0,0 +1,25 @@
+From 1af9d8f6209534c54c573b021e4f04e678bb090b Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Mon, 11 Mar 2024 16:01:49 -0400
+Subject: [PATCH 2/3] point qmlplugindump to qmlplugindump-qt5
+
+---
+ src/qml/MediaScanner.0.1/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/qml/MediaScanner.0.1/CMakeLists.txt b/src/qml/MediaScanner.0.1/CMakeLists.txt
+index 73b5146..489988a 100644
+--- a/src/qml/MediaScanner.0.1/CMakeLists.txt
++++ b/src/qml/MediaScanner.0.1/CMakeLists.txt
+@@ -59,7 +59,7 @@ install(
+ )
+
+ if(NOT CMAKE_CROSSCOMPILING)
+- find_program(qmlplugindump_exe qmlplugindump)
++ find_program(qmlplugindump_exe qmlplugindump-qt5)
+ if(NOT qmlplugindump_exe)
+ message(FATAL_ERROR "Could not locate qmlplugindump.")
+ endif()
+--
+2.43.2
+
diff --git a/testing/mediascanner2/0003-disable-coverage-report.patch b/testing/mediascanner2/0003-disable-coverage-report.patch
new file mode 100644
index 00000000000..a08bb6d4752
--- /dev/null
+++ b/testing/mediascanner2/0003-disable-coverage-report.patch
@@ -0,0 +1,58 @@
+From d41c684e2a40e0f9dc90e87cddfb912708fec7b6 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Mon, 11 Mar 2024 16:18:38 -0400
+Subject: [PATCH 3/3] disable coverage report
+
+---
+ CMakeLists.txt | 31 -------------------------------
+ 1 file changed, 31 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e92d036..ddaaea4 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -39,7 +39,6 @@ if(${FULL_WARNINGS})
+ # C does not have any more warning flags.
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Weffc++")
+ endif()
+-find_package(CoverageReport)
+
+ include(GNUInstallDirs)
+ set(LIBDIR $CMAKE_INSTALL_LIBDIR)
+@@ -65,33 +64,3 @@ install(
+ FILES ${CMAKE_CURRENT_BINARY_DIR}/mediascanner-2.0.service
+ DESTINATION lib/systemd/user
+ )
+-
+-enable_coverage_report(
+- TARGETS
+- mediascanner
+- extractor-client
+- extractor-backend
+- mediascanner-extractor
+- scannerstuff
+- scannerdaemon
+- ms-dbus
+- mediascanner-dbus
+- mediascanner-qml
+- query
+- mountwatcher
+- FILTER
+- ${CMAKE_SOURCE_DIR}/tests/*
+- ${CMAKE_BINARY_DIR}/*
+- TESTS
+- basic
+- test_mediastore
+- test_metadataextractor
+- test_extractorbackend
+- test_sqliteutils
+- test_mfbuilder
+- test_subtreewatcher
+- test_volumemanager
+- test_dbus
+- test_qml
+- test_util
+-)
+--
+2.43.2
+
diff --git a/testing/mediascanner2/APKBUILD b/testing/mediascanner2/APKBUILD
new file mode 100644
index 00000000000..690411f6a62
--- /dev/null
+++ b/testing/mediascanner2/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=mediascanner2
+pkgver=0.115
+pkgrel=0
+pkgdesc="Media scanner for Lomiri"
+url="https://gitlab.com/ubports/development/core/mediascanner2.git"
+arch="all"
+license="GPL-3.0-only AND LGPL-3.0-only"
+source="https://gitlab.com/ubports/development/core/mediascanner2/-/archive/$pkgver/mediascanner2-$pkgver.tar.gz
+ 0001-rename-msg-to-message.patch
+ 0002-point-qmlplugindump-to-qmlplugindump-qt5.patch
+ 0003-disable-coverage-report.patch
+ "
+makedepends="
+ cmake
+ dbus-cpp-dev
+ gdk-pixbuf-dev
+ glib-dev
+ gmock
+ gtest-dev
+ gstreamer-dev
+ gst-plugins-base-dev
+ libapparmor-dev
+ libexif-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ samurai
+ sqlite-dev
+ taglib-dev
+ udisks2-dev
+ "
+options="!check" # tests fail to find gmock
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DENABLE_TESTS=OFF
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+82399ba394f6d858374de26d722b932812eb4c519993f1f5262c7b7b59eb620b56d24938c00bff9ccd3ab1759be451d2b782e1ab32f8fe4254635431462d67db mediascanner2-0.115.tar.gz
+18da589b6ba8394d175ea55d94407ebbd54e0dda90137e0ec172706b766115e80b6140ab4556dad5fa27cdec3f80acedb29d5db150ef7d3ba37b178c48b902c1 0001-rename-msg-to-message.patch
+afa4ab639e8e72b8964e5a2ede6cb69ae207f298e5aaf966e9d3152da7ae19c46123c7a938b2a5499703f34aee703b73a5ba45a89c5c4116b061d79e5984fabb 0002-point-qmlplugindump-to-qmlplugindump-qt5.patch
+3bb35becaf1e38fee9db96fc3e9410a221d2db5e757cd8e4a52a87ba18ff8d259698beb5d742e07ed06ba99fe77cb66fd6d2bb102069719b291f848a2afbe947 0003-disable-coverage-report.patch
+"
diff --git a/testing/mediastreamer2-plugin-openh264/APKBUILD b/testing/mediastreamer2-plugin-openh264/APKBUILD
index a180673f5bc..37414b34a5d 100644
--- a/testing/mediastreamer2-plugin-openh264/APKBUILD
+++ b/testing/mediastreamer2-plugin-openh264/APKBUILD
@@ -1,35 +1,33 @@
# Contributor: Martin Schmidt <martin.schmidt13@gmx.de>
# Maintainer: Martin Schmidt <martin.schmidt13@gmx.de>
-_commit=2c3abf52824ad23a4caae7565ef158ef91767704
pkgname=mediastreamer2-plugin-openh264
-pkgver=1.2.1_git20200309
+pkgver=5.2.0_git20231020
+_commit=ed96173dc74ca48e700cafea53f1d49575d84c70
pkgrel=0
pkgdesc="An H.264 encoder/decoder plugin for mediastreamer2 based on the openh264 library"
url="https://gitlab.linphone.org/BC/public/msopenh264"
arch="all"
license="GPL-2.0-or-later"
options="!check" # no test available
-makedepends="cmake ortp-dev bctoolbox-dev mediastreamer2-dev openh264-dev"
-
-source="$pkgname-$_commit.tar.gz::https://gitlab.linphone.org/BC/public/msopenh264/-/archive/$_commit.tar.gz
-"
-
+makedepends="
+ bctoolbox-dev
+ cmake
+ mediastreamer2-dev
+ openh264-dev
+ ortp-dev
+ samurai
+ "
+source="$pkgname-$_commit.tar.gz::https://gitlab.linphone.org/BC/public/msopenh264/-/archive/$_commit.tar.gz"
builddir="$srcdir/msopenh264-$_commit"
-prepare() {
- default_prepare
- sed -i 's/ORTP\ REQUIRED/ortp\ REQUIRED/g' src/CMakeLists.txt
-}
-
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_MODULE_PATH=/usr/lib/cmake \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
- -DENABLE_STRICT=NO \
- -DENABLE_SHARED=YES
+ -DBUILD_SHARED_LIBS=YES
cmake --build build
}
@@ -37,4 +35,7 @@ build() {
package() {
DESTDIR="$pkgdir" cmake --build build --target install
}
-sha512sums="7a62edd688a1336aee8f30d72b8e8d5bee62e68e02a23cfc4c043af07e8f231a247ce5a817538abe6f61956cb11567752b15228b57ef3f67a5125789328d3897 mediastreamer2-plugin-openh264-2c3abf52824ad23a4caae7565ef158ef91767704.tar.gz"
+
+sha512sums="
+c4487675b7ea16ed4a967d0cbc0a9c3e8aff8e0832805b9a3fb2f38d836008663f68c37253f04d04237b306e709c357e19c34598242cc9fcdbe7bbdce57e9d3c mediastreamer2-plugin-openh264-ed96173dc74ca48e700cafea53f1d49575d84c70.tar.gz
+"
diff --git a/testing/mediastreamer2-plugin-x264/APKBUILD b/testing/mediastreamer2-plugin-x264/APKBUILD
index 2a614937b15..13e79f01b25 100644
--- a/testing/mediastreamer2-plugin-x264/APKBUILD
+++ b/testing/mediastreamer2-plugin-x264/APKBUILD
@@ -3,38 +3,37 @@
_commit=f4fe74056d0474b42025d95449ec859e984d78ea
pkgname=mediastreamer2-plugin-x264
pkgver=20200722
-pkgrel=2
+pkgrel=6
pkgdesc="GPL plugin to bring video H264 encoding/decoding capabilities to mediastreamer2 applications"
url="https://gitlab.linphone.org/BC/public/msx264"
arch="all"
license="GPL-2.0-or-later"
options="!check" # no test available
-makedepends="cmake ortp-dev bctoolbox-dev mediastreamer2-dev x264-dev"
-
+makedepends="cmake ortp-dev bctoolbox-dev mediastreamer2-dev x264-dev samurai"
source="$pkgname-$_commit.tar.gz::https://gitlab.linphone.org/BC/public/msx264/-/archive/$_commit.tar.gz
-"
-
+ fix-cmakelists.patch
+ no-werror.patch
+ "
builddir="$srcdir/msx264-$_commit"
-prepare() {
- default_prepare
- sed -i 's/ORTP\ REQUIRED/ortp\ REQUIRED/g' src/CMakeLists.txt
-}
-
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_MODULE_PATH=/usr/lib/cmake \
-DCMAKE_SKIP_INSTALL_RPATH=ON \
- -DENABLE_STRICT=NO \
-DENABLE_SHARED=YES
- make -C build
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="cc295d06b13fddaf97669ef20bf239622ea0690bd8d193df0f435831caf433f5b036be83bfdd9a261af8d51c272d4e2b614cfd2af04766797c86314d46782065 mediastreamer2-plugin-x264-f4fe74056d0474b42025d95449ec859e984d78ea.tar.gz"
+
+sha512sums="
+cc295d06b13fddaf97669ef20bf239622ea0690bd8d193df0f435831caf433f5b036be83bfdd9a261af8d51c272d4e2b614cfd2af04766797c86314d46782065 mediastreamer2-plugin-x264-f4fe74056d0474b42025d95449ec859e984d78ea.tar.gz
+179d6451494275566286fe437323ddf34ad54afca8770c24723a0a956b55b56e547aa70ca34c7956beda8618914b3e6e0eec92bd8fd567e5828dc7271e6f56b9 fix-cmakelists.patch
+aa8663ea222d6152fe9a101a3060a668876f22875bbc496b6e549a00a2660a3e9eeb95cda2189431968934ace90cabad7575d76ae65127171d10f84f2589567f no-werror.patch
+"
diff --git a/testing/mediastreamer2-plugin-x264/fix-cmakelists.patch b/testing/mediastreamer2-plugin-x264/fix-cmakelists.patch
new file mode 100644
index 00000000000..f17ef6e1071
--- /dev/null
+++ b/testing/mediastreamer2-plugin-x264/fix-cmakelists.patch
@@ -0,0 +1,18 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -25,12 +25,12 @@
+ include("${EP_ortp_CONFIG_DIR}/OrtpConfig.cmake")
+ else()
+ find_package(Mediastreamer2 REQUIRED)
+- find_package(ORTP REQUIRED)
++ find_package(Ortp REQUIRED)
+ endif()
+
+ set(LIBS
+- ${ORTP_LIBRARIES}
+- ${MEDIASTREAMER2_LIBRARIES}
++ ${Ortp_TARGET}
++ ${Mediastreamer2_TARGET}
+ ${X264_LIBRARIES}
+ )
+
diff --git a/testing/mediastreamer2-plugin-x264/no-werror.patch b/testing/mediastreamer2-plugin-x264/no-werror.patch
new file mode 100644
index 00000000000..64e2830a685
--- /dev/null
+++ b/testing/mediastreamer2-plugin-x264/no-werror.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ba97d92..276d570 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -72,10 +72,10 @@ if(NOT MSVC)
+ if(CMAKE_C_COMPILER_ID MATCHES "Clang")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=unknown-warning-option")
+ if(NOT IOS)
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wextra")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra")
+ endif()
+ elseif(CMAKE_C_COMPILER_ID STREQUAL "GNU")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror -Wextra -Wno-error=pragmas")
++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wextra -Wno-error=pragmas")
+ endif()
+ endif()
+
diff --git a/testing/mediastreamer2/APKBUILD b/testing/mediastreamer2/APKBUILD
index e81a6892dc0..1cef0f71238 100644
--- a/testing/mediastreamer2/APKBUILD
+++ b/testing/mediastreamer2/APKBUILD
@@ -1,26 +1,54 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=mediastreamer2
-pkgver=5.0.66
+pkgver=5.3.38
pkgrel=0
pkgdesc="library written in C that allows you to create and run audio and video streams"
url="https://www.linphone.org/technical-corner/mediastreamer2"
arch="all"
license="GPL-2.0-or-later"
options="!check" # no test available
-makedepends="cmake gettext-dev ffmpeg-dev ortp-dev
- libxv-dev speex-dev speexdsp-dev libsrtp-dev
- v4l-utils-dev bctoolbox-dev mesa-dev glew-dev
- opus-dev libpcap-dev spandsp-dev tiff-dev libtheora-dev
- alsa-lib-dev python3-dev gsm-dev sqlite-dev libxml2-dev
- jpeg-dev libvpx-dev bzrtp-dev bcg729-dev"
-subpackages="$pkgname-dev"
+makedepends="
+ alsa-lib-dev
+ bcg729-dev
+ bctoolbox-dev
+ bzrtp-dev
+ cmake
+ doxygen
+ ffmpeg4-dev
+ gettext-dev
+ glew-dev
+ graphviz
+ grep
+ gsm-dev
+ jpeg-dev
+ libpcap-dev
+ libsrtp-dev
+ libtheora-dev
+ libvpx-dev
+ libxml2-dev
+ libxv-dev
+ mesa-dev
+ opus-dev
+ ortp-dev
+ python3-dev
+ samurai
+ spandsp-dev
+ speex-dev
+ speexdsp-dev
+ sqlite-dev
+ tiff-dev
+ v4l-utils-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc"
source="https://gitlab.linphone.org/BC/public/mediastreamer2/-/archive/$pkgver/mediastreamer2-$pkgver.tar.gz
- missing-def-o-binary.patch"
+ fix-cmake-path.patch
+ fix-soname.patch
+ "
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -G Ninja -B build \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_MODULE_PATH=/usr/lib/cmake \
@@ -34,26 +62,19 @@ build() {
-DENABLE_FFMPEG=YES \
-DENABLE_SPEEX_CODEC=YES \
-DENABLE_SPEEX_DSP=YES \
- -DENABLE_SHARED=YES \
+ -DBUILD_SHARED_LIBS=YES \
-DENABLE_VPX=YES \
-DENABLE_UNIT_TESTS=NO
- make -C build
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-dev() {
- default_dev
- mkdir -p "$subpkgdir"/usr/lib/cmake/Mediastreamer2
- mv "$pkgdir"/usr/share/Mediastreamer2/cmake/* "$subpkgdir"/usr/lib/cmake/Mediastreamer2
- # Remove empty dirs
- rmdir "$pkgdir"/usr/share/Mediastreamer2/cmake
- rmdir "$pkgdir"/usr/share/Mediastreamer2
+ DESTDIR="$pkgdir" cmake --install build
+ rm -r "$pkgdir"/usr/include/OpenGL
}
sha512sums="
-b18f404c04ac4ba4803eed975e8f3bc9682994f4cc574f19e5febae13a10cb04c709ce2fdbbab42c00475ba9ed260c3d686424c237a30a6f594bb8b0a5f6f7a3 mediastreamer2-5.0.66.tar.gz
-d0158e03a7552580a9d9f04226c18a31a23d3cc502d52b51a9b083a5c32094ea7349495a7f74316eb727c2478a80b0385e1a28798b5b7d6e85e463485e33a822 missing-def-o-binary.patch
+1c3da2ccf14e01f5f439e0264b130088f592c659999dcf3da5f429a7c3caf1ea535c483ef197302eb3f3bfc28ba524dbb034fc2265f9cb59f3872016377488b8 mediastreamer2-5.3.38.tar.gz
+964467b5f493915d4e920b3afce9ce0cacc9bb34a7886c4b4e06340d6fa646754a03ce18ec66a4a3b82d63ec52330a0b21c842d80e47a6685eb942bb01b1869b fix-cmake-path.patch
+9aa98303d53c622cd8ee6386544db337eb5069d86754876d6901a0d9bebe6e6d623f41c7ae900bb2649254b503ee63367ce612bc4bec9423fc3d57cfece119c2 fix-soname.patch
"
diff --git a/testing/mediastreamer2/fix-cmake-path.patch b/testing/mediastreamer2/fix-cmake-path.patch
new file mode 100644
index 00000000000..48323e8f3cd
--- /dev/null
+++ b/testing/mediastreamer2/fix-cmake-path.patch
@@ -0,0 +1,14 @@
+Adapted from https://github.com/OpenMandrivaAssociation/mediastreamer/blob/master/mediastreamer2-5.3.6-cmake-config-location.patch
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -680,7 +680,7 @@ if(ENABLE_TOOLS AND NOT ANDROID)
+ )
+
+ include(CMakePackageConfigHelpers)
+-set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_DATADIR}/${PROJECT_NAME}/cmake")
++set(CMAKE_MODULES_INSTALL_DIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}/")
+ configure_package_config_file("cmake/${PROJECT_NAME}Config.cmake.in" "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
+ INSTALL_DESTINATION "${CMAKE_MODULES_INSTALL_DIR}"
+ PATH_VARS MS2_PLUGINS_DIR
+
diff --git a/testing/mediastreamer2/fix-soname.patch b/testing/mediastreamer2/fix-soname.patch
new file mode 100644
index 00000000000..05e36b57cf4
--- /dev/null
+++ b/testing/mediastreamer2/fix-soname.patch
@@ -0,0 +1,12 @@
+Patch-Source: https://github.com/OpenMandrivaAssociation/mediastreamer/blob/master/mediastreamer2-5.3.6-soname.patch
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -617,6 +617,7 @@ if(BUILD_SHARED_LIBS)
+ set_target_properties(mediastreamer2 PROPERTIES SOVERSION ${MEDIASTREAMER_SO_VERSION})
+ else()
+
++ set_target_properties(mediastreamer2 PROPERTIES SOVERSION ${MEDIASTREAMER_SO_VERSION})
+
+ #Workaround for the Debian 11 issue with conflict between libc and libtirpc
+ #/usr/bin/ld: /lib/x86_64-linux-gnu/libtirpc.so.3: warning: common of `rpc_createerr@@GLIBC_2.2.5' overridden by definition from /lib/x86_64-linux-gnu/libc.so.6
diff --git a/testing/mediastreamer2/missing-def-o-binary.patch b/testing/mediastreamer2/missing-def-o-binary.patch
deleted file mode 100644
index 7515a6c85e3..00000000000
--- a/testing/mediastreamer2/missing-def-o-binary.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/src/otherfilters/mspcapfileplayer.c b/src/otherfilters/mspcapfileplayer.c
-index 1337089..8841882 100644
---- a/src/otherfilters/mspcapfileplayer.c
-+++ b/src/otherfilters/mspcapfileplayer.c
-@@ -33,8 +33,9 @@
- #include <fcntl.h>
- #include <sys/types.h>
- #include <sys/stat.h>
--
--
-+#ifndef O_BINARY
-+#define O_BINARY 0
-+#endif
-
- static int player_close(MSFilter *f, void *arg);
-
diff --git a/testing/mednafen/APKBUILD b/testing/mednafen/APKBUILD
deleted file mode 100644
index 2593645ed8f..00000000000
--- a/testing/mednafen/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: August Klein <amatcoder@gmail.com>
-# Maintainer: August Klein <amatcoder@gmail.com>
-pkgname=mednafen
-pkgver=1.27.1
-pkgrel=0
-pkgdesc="A command-line multi-system emulator"
-url="https://mednafen.github.io/"
-arch="all !s390x !mips !mips64"
-license="GPL-2.0-only"
-makedepends="alsa-lib-dev flac-dev libogg-dev libsndfile-dev libvorbis-dev
- lzo-dev sdl2-dev zlib-dev"
-subpackages="$pkgname-lang"
-source="https://mednafen.github.io/releases/files/mednafen-$pkgver.tar.xz"
-builddir="$srcdir"/$pkgname
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
- make
-}
-
-check() {
- make check
-}
-
-lang() {
- default_lang
- mkdir -p "$subpkgdir"/usr/share/$pkgname
- mv "$subpkgdir"/usr/share/locale "$subpkgdir"/usr/share/$pkgname
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- rm -rf "$pkgdir"/usr/lib/charset.alias
-}
-
-sha512sums="
-f55d86baa8c77fc98aae63a38235eb64f64131f180c40ed1ac7cd2ad845230348fbba05643eb5e6af203e56c39c8011b632d2bcecbd2c9f2c19b2447f6b99e83 mednafen-1.27.1.tar.xz
-"
diff --git a/testing/mednafen/ppc64.patch b/testing/mednafen/ppc64.patch
deleted file mode 100644
index 7aae3ae6506..00000000000
--- a/testing/mednafen/ppc64.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Taken from Adélie Linux (https://git.adelielinux.org/adelie/packages/blob/master/user/mednafen/ppc64.patch)
-===
-
-musl is always ELFv2, no matter endianness.
-
---- mednafen/src/snes/src/lib/libco/ppc.c.old 2019-01-28 06:52:37.000000000 +0000
-+++ mednafen/src/snes/src/lib/libco/ppc.c 2019-03-25 03:42:05.330000000 +0000
-@@ -40,7 +40,7 @@
- /* Whether function calls are indirect through a descriptor,
- or are directly to function */
- #ifndef LIBCO_PPCDESC
-- #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || LIBCO_PPC64)
-+ #if !_CALL_SYSV && (_CALL_AIX || _CALL_AIXDESC || (LIBCO_PPC64 && _CALL_ELF == 1))
- #define LIBCO_PPCDESC 1
- #endif
- #endif
-
diff --git a/testing/mednaffe/APKBUILD b/testing/mednaffe/APKBUILD
deleted file mode 100644
index 363852df668..00000000000
--- a/testing/mednaffe/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Will Sinatra <wpsinatra@gmail.com>
-# Maintainer: Will Sinatra <wpsinatra@gmail.com>
-pkgname=mednaffe
-pkgver=0.9.1
-pkgrel=0
-pkgdesc="front-end (GUI) for mednafen emulator"
-url="https://github.com/AmatCoder/mednaffe"
-license="GPL-3.0-only"
-arch="all !s390x !mips !mips64" #these do not have mednafen packaged for them
-makedepends="gtk+3.0-dev"
-depends="mednafen gtk+3.0"
-source=https://github.com/AmatCoder/mednaffe/releases/download/$pkgver/mednaffe-$pkgver.tar.gz
-subpackages="$pkgname-doc"
-options="!check"
-
-build() {
- ./configure --prefix=/usr --enable-gtk3
- make
-}
-
-package() {
- make prefix="$pkgdir"/usr install
-}
-
-sha512sums="
-02390e7960511756aafb925b77c9eebc099ac81623dfb640dbfcbb342061f885955599d2edbc1d84b8818f7ce459eac183917507235c58c27ce9ab2b3d8eb198 mednaffe-0.9.1.tar.gz
-"
diff --git a/testing/meep/APKBUILD b/testing/meep/APKBUILD
index a0f7c6c8091..ed6ba607786 100644
--- a/testing/meep/APKBUILD
+++ b/testing/meep/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Isaac Dunham <ibid.ag@gmail.com>
# Maintainer:
pkgname=meep
-pkgver=1.20.0
+pkgver=1.28.0
pkgrel=0
-pkgdesc="free finite-difference time-domain (FDTD) simulation software package developed at MIT to model electromagnetic systems"
+pkgdesc="FDTD finite-difference time-domain solver"
url="https://meep.readthedocs.io/"
arch="x86_64 ppc64le s390x"
license="GPL-2.0-or-later"
-makedepends="$depends_dev harminv-dev>=1.4.1-r3 openblas-dev>=0.3.0 libctl-dev guile-dev
- hdf5-dev gsl-dev gfortran gmp-dev fftw-dev"
+makedepends="harminv-dev>=1.4.1-r3 openblas-dev>=0.3.0 libctl-dev
+ guile-dev hdf5-dev gsl-dev gfortran gmp-dev fftw-dev"
# Omit -doc because it requires latex2html to build
subpackages="$pkgname-dev"
source="https://github.com/NanoComp/meep/releases/download/v$pkgver/meep-$pkgver.tar.gz"
@@ -23,7 +23,8 @@ build() {
--infodir=/usr/share/info \
--localstatedir=/var \
--enable-portable-binary \
- --with-blas=openblas --with-lapack=openblas
+ --with-blas=openblas \
+ --with-lapack=openblas
make
}
@@ -36,5 +37,5 @@ package() {
}
sha512sums="
-de9d6416ad3081f2b4b8901f5118541b1a0af81357692759c85ed1bd5c5eaefb39bf9e9c9c5464e77a528aff92af388c18dd80670d8639cdb8b1d8b216cdda78 meep-1.20.0.tar.gz
+1a50ee1ebd5646e838fa57a95169a77d3d30e0d96016faeacccab4a3ba68c6763d1379f8087b3ec83a79202e87c45056321ca2cca6a720cfd700653fe35a917d meep-1.28.0.tar.gz
"
diff --git a/testing/megatools/APKBUILD b/testing/megatools/APKBUILD
index d9b1c100244..ab19c4c1bbc 100644
--- a/testing/megatools/APKBUILD
+++ b/testing/megatools/APKBUILD
@@ -1,42 +1,47 @@
+# Contributor: Jonas Marklen <txc@txc.se>
# Contributor: H <agathos5@gmail.com>
-# Maintainer:
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
pkgname=megatools
-pkgver=1.10.3
-pkgrel=0
-pkgdesc="collection of programs for accessing Mega.nz service"
+pkgver=1.11.1.20230212
+pkgrel=1
+pkgdesc="Collection of programs for accessing Mega.nz service"
url="https://megatools.megous.com"
arch="all"
license="GPL-2.0-only"
-makedepends="curl-dev glib-dev openssl-dev gmp-dev asciidoc"
-subpackages="$pkgname-doc"
+makedepends="
+ asciidoc
+ curl-dev
+ docbook2x
+ glib-dev
+ gmp-dev
+ meson
+ openssl-dev
+ "
+subpackages="$pkgname-doc $pkgname-bash-completion"
source="https://megatools.megous.com/builds/megatools-$pkgver.tar.gz"
build() {
- ./configure --prefix=/usr
- make
+ abuild-meson \
+ -Db_lto=true \
+ . output
+ meson compile -C output
}
check() {
- make check
- for i in megacopy megadf megadl megaget megals megamkdir megaput megareg megarm; do
- msg $i
- ./$i --version
- done
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
- #make DESTDIR="$pkgdir" install
- ./install-sh -c -d "$pkgdir/usr/bin"
- ./install-sh -c -d "$pkgdir/usr/share/doc/megatools"
- ./install-sh -c -d "$pkgdir/usr/share/man/man1"
- ./install-sh -c -d "$pkgdir/usr/share/man/man5"
- ./install-sh -c -d "$pkgdir/usr/share/man/man7"
- ./install-sh -c -m 755 megacopy megadf megadl megaget megals megamkdir megaput megareg megarm "$pkgdir/usr/bin"
- ./install-sh -c -m 644 LICENSE NEWS TODO README INSTALL HACKING "$pkgdir/usr/share/doc/megatools"
- ./install-sh -c -m 644 docs/megadf.1 docs/megaget.1 docs/megals.1 docs/megamkdir.1 docs/megaput.1 docs/megareg.1 docs/megarm.1 \
- docs/megacopy.1 docs/megadl.1 "$pkgdir/usr/share/man/man1"
- ./install-sh -c -m 644 docs/megarc.5 "$pkgdir/usr/share/man/man5"
- ./install-sh -c -m 644 docs/megatools.7 "$pkgdir/usr/share/man/man7"
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+
+ install -Dm644 contrib/bash-completion/megatools \
+ "$pkgdir"/usr/share/bash-completion/completions/megatools
+
+ for bin in megacopy megadf megadl megaget megals megamkdir megaput megareg megarm; do
+ ln -s megatools "$pkgdir"/usr/share/bash-completion/completions/$bin
+ done
}
-sha512sums="cf431e151f3f7e1a77fcfe07092694f861eca43ab88bb4e0d4de72f01662e9140c51891f8f5cf3cf66d3a04b64a55d57fd766c3febf2fc5cee1720558ff2079b megatools-1.10.3.tar.gz"
+sha512sums="
+8d96533c6ae117f38e095b16f4c3241a9170397174befaff9caf81b598addbe60c89c05d29b20efead462a8f263f799107653cab1ad429ab2ba2fe0dc4fbbb39 megatools-1.11.1.20230212.tar.gz
+"
diff --git a/testing/megazeux/APKBUILD b/testing/megazeux/APKBUILD
new file mode 100644
index 00000000000..da1a1309417
--- /dev/null
+++ b/testing/megazeux/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Adrian Siekierka <kontakt@asie.pl>
+# Maintainer: Adrian Siekierka <kontakt@asie.pl>
+pkgname=megazeux
+pkgver=2.93
+pkgrel=0
+pkgdesc="Game creation system"
+url="https://www.digitalmzx.com/"
+# Compiling on s390x currently leads to an endianness misdetection, and thus
+# a test failure.
+# https://www.digitalmzx.com/forums/index.php?app=tracker&showissue=830
+arch="all !s390x"
+license="GPL-2.0-or-later"
+makedepends="libpng-dev libvorbis-dev sdl2-dev zlib-dev"
+subpackages="$pkgname-doc"
+_srcprefix=mzx${pkgver/.}
+source="${_srcprefix}src.tar.xz::https://www.digitalmzx.com/download.php?latest=src&ver=$pkgver"
+builddir="$srcdir/$_srcprefix/"
+
+build() {
+ ./config.sh \
+ --platform unix \
+ --prefix /usr \
+ --bindir /usr/lib/megazeux \
+ --libdir /usr/lib \
+ --gamesdir /usr/bin
+
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir/" install
+}
+
+sha512sums="
+23356d28b59f8da5865f4535fec106f7b25f3330b58e5a1ec8839ebf2c2d529d30582ebf1753ba798f23047cf9a0ae3a1e598a672ef68b25649d12979b83a012 mzx293src.tar.xz
+"
diff --git a/testing/melonds/0000-remove-failing-assertion-x86.patch b/testing/melonds/0000-remove-failing-assertion-x86.patch
deleted file mode 100644
index 19720587ec4..00000000000
--- a/testing/melonds/0000-remove-failing-assertion-x86.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/src/teakra/src/test.h
-+++ b/src/teakra/src/test.h
-@@ -34,5 +34,5 @@
- u16 opcode, expand;
- };
-
--static_assert(sizeof(TestCase) == 4312);
-+// static_assert(sizeof(TestCase) == 4312);
- static_assert(std::is_trivially_copyable_v<TestCase>);
diff --git a/testing/melonds/APKBUILD b/testing/melonds/APKBUILD
deleted file mode 100644
index 0a70c7088ad..00000000000
--- a/testing/melonds/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=melonds
-pkgver=0.9.3
-pkgrel=0
-pkgdesc="Nintendo DS Emulator"
-url="http://melonds.kuribo64.net/"
-arch="all !armv7 !aarch64 !armhf" # arm disabled due to missing OpenGL on qt5-qtbase
-license="GPL-3.0-or-later"
-makedepends="cmake pkgconf libslirp-dev libepoxy-dev libarchive-dev sdl2-dev qt5-qtbase-dev"
-source="
- 0000-remove-failing-assertion-x86.patch
- $pkgname-$pkgver.tar.gz::https://github.com/Arisotura/melonDS/archive/$pkgver.tar.gz
- "
-options="!check" # No test suite
-builddir="$srcdir/melonDS-$pkgver"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-d5cabf1dfc3932bae2b939b4f87efd1caf14499d98f324f9013bd3e7ff33656e676c32d92ed912137a68f5e48163082472d722113d2957080174b187be52940f 0000-remove-failing-assertion-x86.patch
-37f26f3a9784873ce1664645cea70049725367f5fe62f7c58842ebd5da2c73ffe423695dddb0ffd444bdf59df2a3fcd778cdf95b2bb083014b961fed282953f5 melonds-0.9.3.tar.gz
-"
diff --git a/testing/memdump/APKBUILD b/testing/memdump/APKBUILD
index e17fc9b90a0..293ffa52098 100644
--- a/testing/memdump/APKBUILD
+++ b/testing/memdump/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Niklas Cathor <niklas.cathor@gmx.de>
pkgname=memdump
pkgver=1.01
-pkgrel=0
+pkgrel=1
pkgdesc="utility to dump memory contents to standard output"
url="http://www.porcupine.org/forensics/tct.html"
arch="all"
diff --git a/testing/menumaker/APKBUILD b/testing/menumaker/APKBUILD
new file mode 100644
index 00000000000..6626ac1de21
--- /dev/null
+++ b/testing/menumaker/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Avis Orsetti <avisorsetti@riseup.net>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+pkgname=menumaker
+pkgver=0.99.14
+pkgrel=1
+pkgdesc="Heuristics-driven menu generator for Deskmenu, FluxBox, IceWM, OpenBox, WindowMaker and XFCE"
+url="https://menumaker.sourceforge.net/"
+arch="all"
+license="BSD-2-Clause"
+depends="python3"
+options="!check" # No tests provided
+source="https://downloads.sourceforge.net/menumaker/menumaker-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ ./configure --prefix=/usr --infodir=/usr/share/info
+}
+
+build() {
+ make
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/bin
+ make DESTDIR="$pkgdir" pkgdatadir=/usr/lib/menumaker install
+ make DESTDIR="$pkgdir" PYTHON_BIN="python3" pkgdatadir=/usr/lib/menumaker install-exec-local
+ rm -rf "$pkgdir"/usr/share/info
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/license
+}
+
+sha512sums="
+81d44c1917d0fd4cd1c8b7cdd4ce12795fee7cc286959a7fc9dc6f84a096ea850a4348d98b6a7dce153c5d07fdb8b3aaf13f3476a9f34dd56646af3097d406d0 menumaker-0.99.14.tar.gz
+"
diff --git a/testing/mepo/APKBUILD b/testing/mepo/APKBUILD
index c003cdd1a4e..a0a02f57bdc 100644
--- a/testing/mepo/APKBUILD
+++ b/testing/mepo/APKBUILD
@@ -1,19 +1,36 @@
# Maintainer: Miles Alan <m@milesalan.com>
pkgname=mepo
-pkgver=0.2
+pkgver=1.2.0
pkgrel=0
-arch="aarch64 x86_64"
+_pkgdescbase="Fast, simple, and hackable OSM map viewer for Linux"
+pkgdesc="$_pkgdescbase (base SDL application)"
url="https://git.sr.ht/~mil/mepo"
-pkgdesc="Fast, simple, and hackable OSM map viewer for Linux"
+arch="aarch64 x86_64" # Limited by zig aport
+license="GPL-3.0-or-later"
+makedepends="
+ curl-dev
+ sdl2-dev
+ sdl2_gfx-dev
+ sdl2_image-dev
+ sdl2_ttf-dev
+ zig>=0.11.0
+ "
source="
-$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz
+ $pkgname-$pkgver.tar.gz::https://git.sr.ht/~mil/mepo/archive/$pkgver.tar.gz
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-scripts:scripts:noarch
"
-license="GPL-3.0-or-later"
-depends="dmenu jq xdotool curl ncurses"
-makedepends="zig>=0.8.1 curl-dev sdl2-dev sdl2_image-dev sdl2_ttf-dev"
+
+# We may want other than "baseline" for other targets, when enabled by zig
+case "$CARCH" in
+ aarch64|x86_64) cputarget=baseline ;;
+esac
build() {
- zig build -Drelease-safe=true
+ zig build -Doptimize=ReleaseSafe ${cputarget:+-Dcpu="$cputarget"}
+ zig-out/bin/mepo -docman > mepo.1
}
check() {
@@ -21,11 +38,19 @@ check() {
}
package() {
- mkdir -p "$pkgdir/usr/bin"
- install scripts/mepo_* "$pkgdir/usr/bin/"
- install zig-out/bin/mepo "$pkgdir/usr/bin/"
+ install -Dm755 zig-out/bin/mepo* -t "$pkgdir/usr/bin/"
+ install -Dm644 zig-out/share/applications/mepo.desktop -t "$pkgdir/usr/share/applications/"
+ install -Dm644 zig-out/share/pixmaps/mepo.png -t "$pkgdir/usr/share/pixmaps/"
+ install -Dm644 mepo.1 -t "$pkgdir/usr/share/man/man1/"
+}
+
+scripts() {
+ pkgdesc="$_pkgdescbase (including base SDL application & scripts)"
+ depends="$pkgname=$pkgver-r$pkgrel zenity curl findutils xwininfo geoclue jq ncurses font-hack-nerd"
+ mkdir -p "$subpkgdir"
+ amove usr/bin/mepo_*
}
sha512sums="
-23e052b00e106598a80c357f6e565da8d8ad334efeda3873b27f86f6aa87c8979f17f3f800424fd6eabd533d6cf99b2047dcd07dd6046a004554fa287c8c0394 mepo-0.2.tar.gz
+e01b19a578f9ffa340eac62e1db75495b424fe9bff98b9d25cf2c3cd6a402e8c756463582757bbd979aa927cd2e8c1ded2c25f6746851fb2a39a1257794fbbf3 mepo-1.2.0.tar.gz
"
diff --git a/testing/mergerfs/APKBUILD b/testing/mergerfs/APKBUILD
index f02a9eb582a..f3ff66592a4 100644
--- a/testing/mergerfs/APKBUILD
+++ b/testing/mergerfs/APKBUILD
@@ -3,21 +3,18 @@
# NOTE: For now we must use vendored libfuse, see the URL below for details.
# https://github.com/trapexit/mergerfs/blob/2.27.0/README.md#why-was-libfuse-embedded-into-mergerfs
pkgname=mergerfs
-pkgver=2.33.2
+pkgver=2.38.1
pkgrel=0
pkgdesc="A FUSE based union filesystem"
url="https://github.com/trapexit/mergerfs"
arch="all"
license="ISC"
-depends="libattr fuse"
+depends="libattr"
makedepends="autoconf automake libtool gettext-dev attr-dev linux-headers"
options="suid !check" # No test suite
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/trapexit/mergerfs/archive/$pkgver.tar.gz"
-# Temporarily allow textrels on riscv64.
-[ "$CARCH" = "riscv64" ] && options="$options textrels"
-
prepare() {
default_prepare
echo "$pkgver" > "$builddir"/VERSION
@@ -33,5 +30,5 @@ package() {
}
sha512sums="
-7c693d3eabeed65428552dc5190898bff7c1e87da990c104b90005c9b9eb12d69fe56427c809fd6241de57e42fee6ef01aed35af9f5ea6d7104bf8d4d4496906 mergerfs-2.33.2.tar.gz
+f485df32bb0749898ea18e8f97996c74cb1fd998108baa3fc207e6c4f6d68f3a0905fd0cbb113e9aefa6444bf98ffe207de53d57579e393da259d9a79d2cc160 mergerfs-2.38.1.tar.gz
"
diff --git a/testing/merlin/APKBUILD b/testing/merlin/APKBUILD
index 312c40785d0..9e39c0b49ce 100644
--- a/testing/merlin/APKBUILD
+++ b/testing/merlin/APKBUILD
@@ -1,37 +1,55 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=merlin
-pkgver=3.0.5
+pkgver=4.14
+_ocamlver=4.14
+_pkgver="$pkgver-${_ocamlver//./}"
pkgrel=0
pkgdesc="Context sensitive completion for OCaml"
url="https://ocaml.github.io/merlin/"
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64 !riscv64" # limited by ocaml aport
+arch="all !riscv64 !loongarch64" # ocaml
license="MIT"
-depends="ocaml ocaml-findlib"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="
+ dune
ocaml
+ ocaml-csexp-dev
ocaml-findlib-dev
+ ocaml-menhir-dev
ocaml-yojson-dev
"
-options="!check" # XXX: tests are broken, see https://github.com/ocaml/merlin/issues/766
-subpackages="$pkgname-emacs::noarch $pkgname-vim::noarch"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/$pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
+checkdepends="cmd:menhir jq ocaml-ppxlib-dev"
+options="!check" # requires annotation and source files that we delete in ocaml
+subpackages="
+ $pkgname-dev
+ $pkgname-emacs::noarch
+ $pkgname-vim::noarch
+ "
+source="$pkgname-$_pkgver.tar.bz2::https://github.com/ocaml/merlin/releases/download/v$_pkgver/merlin-$_pkgver.tbz"
+builddir="$srcdir/$pkgname-$_pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
- cd "$builddir"
- ./configure --prefix /usr
- make
+ dune build -p merlin,merlin-lib,dot-merlin-reader \
+ @install --no-buffer --verbose
}
check() {
- cd "$builddir"
- make test
+ dune runtest --build-dir=.testenv --no-buffer --verbose
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ merlin merlin-lib dot-merlin-reader
+
+ install -Dvm644 LICENSE \
+ -t "$pkgdir"/usr/share/licenses/$pkgname/
}
emacs() {
@@ -39,22 +57,54 @@ emacs() {
depends="$pkgname=$pkgver-r$pkgrel"
install_if="$pkgname=$pkgver-r$pkgrel emacs"
- _submv usr/share/emacs
+ amove usr/share/emacs
}
vim() {
pkgdesc="$pkgdesc in vim"
- depends="$pkgname=$pkgver-r$pkgrel"
+ depends="$pkgname=$pkgver-r$pkgrel python3"
install_if="$pkgname=$pkgver-r$pkgrel vim"
- _submv usr/share/ocamlmerlin/vim
+ amove usr/share/merlin/vim
}
-_submv() {
- local path="$1"
- mkdir -p "$subpkgdir"/${path%/*}
- mv "$pkgdir"/$path "$subpkgdir"/${path%/*}/
- rmdir -p "$pkgdir"/${path%/*} 2>/dev/null || true
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="bc9790d72caaec2824fe66c3ed439961a00285cd3f7e59cea8f16283a4f489a89d8ac231d2d0da1000e0f03fa6f7b52c04fa4aff6459df5bd17322693493088d merlin-3.0.5.tar.gz"
+sha512sums="
+ebefec44c7f54b10aa85895baacecf778930ee0c4cd5a257836755ccadd9018c20379511e254efa98ed7d48fff9ba9eeb93b45a722cc1d2d61f51570cc57985d merlin-4.14-414.tar.bz2
+"
diff --git a/testing/mesa-asahi/APKBUILD b/testing/mesa-asahi/APKBUILD
new file mode 100644
index 00000000000..d2860170431
--- /dev/null
+++ b/testing/mesa-asahi/APKBUILD
@@ -0,0 +1,339 @@
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+# this package is temporary for asahi linux
+pkgname=mesa-asahi
+_asahiver=20240228
+_commit=asahi-$_asahiver
+pkgver=24.0.0_pre$_asahiver
+pkgrel=1
+pkgdesc="Mesa DRI OpenGL library for Asahi linux"
+url="https://gitlab.freedesktop.org/asahi/mesa"
+arch="aarch64"
+license="MIT SGI-B-2.0 BSL-1.0"
+subpackages="
+ $pkgname-dev
+ $pkgname-dri-gallium:_gallium
+ $pkgname-va-gallium:_va
+ $pkgname-vdpau-gallium:_vdpau
+ $pkgname-glapi
+ $pkgname-egl
+ $pkgname-gl
+ $pkgname-gles
+ $pkgname-xatracker
+ $pkgname-osmesa
+ $pkgname-gbm
+ $pkgname-vulkan-swrast:_vulkan
+ $pkgname-rusticl
+ "
+_llvmver=17
+depends_dev="
+ libdrm-dev
+ libxext-dev
+ libxdamage-dev
+ libxcb-dev
+ libxshmfence-dev
+ "
+makedepends="
+ $depends_dev
+ bison
+ clang17-dev
+ expat-dev
+ findutils
+ flex
+ gettext
+ elfutils-dev
+ glslang-dev
+ libtool
+ libclc-dev
+ libxfixes-dev
+ libva-dev
+ libvdpau-dev
+ libx11-dev
+ libxml2-dev
+ libxrandr-dev
+ libxxf86vm-dev
+ llvm$_llvmver-dev
+ meson
+ py3-mako
+ python3
+ vulkan-loader-dev
+ wayland-dev
+ wayland-protocols
+ xorgproto
+ zlib-dev
+ zstd-dev
+ rust
+ rust-bindgen
+ spirv-llvm-translator-dev
+ "
+source="
+ https://gitlab.freedesktop.org/asahi/mesa/-/archive/$_commit/mesa-$_commit.tar.gz
+ "
+# $pkgname-$_commitid.tar.gz::https://gitlab.freedesktop.org/asahi/mesa/-/archive/$_commitid/mesa-$_commitid.tar.gz
+
+replaces="mesa-dricore"
+options="!check" # we skip tests intentionally
+builddir="$srcdir"/mesa-asahi-$_asahiver
+
+_dri_driverdir=/usr/lib/xorg/modules/dri
+_gallium_drivers="swrast,virgl,kmsro,asahi,svga,zink"
+_vulkan_drivers="swrast"
+_vulkan_layers="device-select,overlay"
+ _rusticl=true
+
+ # ~5% smaller
+ _lto=false
+
+build() {
+ # use -g1 to generate less debug info:
+ # 485 MiB -> ~80 MiB
+ export CFLAGS="$CFLAGS -O2 -g1"
+ export CXXFLAGS="$CXXFLAGS -O2 -g1"
+ export CPPFLAGS="$CPPFLAGS -O2 -g1"
+ echo '24.0.0' > VERSION
+ case "$CARCH" in
+ armhf|armv7)
+ # gnu2 tlsdesc is broken in binutils
+ export CFLAGS="$CFLAGS -mtls-dialect=gnu"
+ export CXXFLAGS="$CXXFLAGS -mtls-dialect=gnu"
+ ;;
+ esac
+
+ PATH="$PATH:/usr/lib/llvm$_llvmver/bin" \
+ abuild-meson \
+ -Db_ndebug=true \
+ -Db_lto=$_lto \
+ -Ddri-drivers-path=$_dri_driverdir \
+ -Dgallium-drivers=$_gallium_drivers \
+ -Dvulkan-drivers=$_vulkan_drivers \
+ -Dvulkan-layers=$_vulkan_layers \
+ -Dplatforms=x11,wayland \
+ -Dllvm=enabled \
+ -Dshared-llvm=enabled \
+ -Dshared-glapi=enabled \
+ -Dgbm=enabled \
+ -Dglx=dri \
+ -Dopengl=true \
+ -Dosmesa=true \
+ -Dgles1=enabled \
+ -Dgles2=enabled \
+ -Ddri3=enabled \
+ -Degl=enabled \
+ -Dgallium-extra-hud=true \
+ -Dgallium-nine=false \
+ -Dgallium-rusticl=$_rusticl \
+ -Dgallium-va=enabled \
+ -Dgallium-vdpau=enabled \
+ -Dgallium-xa=enabled \
+ -Dvideo-codecs=h264dec,h264enc,h265dec,h265enc \
+ . output
+
+ # Print config
+ meson configure --no-pager output
+
+ # parallel build workaround
+ ninja -C output \
+ src/compiler/nir/nir_intrinsics.h \
+ src/util/format/u_format_pack.h \
+ $build_first
+
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+ provides="mesa"
+ provider_priority=0
+ replaces="mesa"
+
+}
+
+_dev() {
+ pkgdesc="Mesa development libraries"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provides="mesa-dev"
+ provider_priority=0
+ replaces="mesa-dev"
+}
+egl() {
+ pkgdesc="Mesa libEGL runtime libraries"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-egl"
+ replaces="mesa-egl"
+
+ amove usr/lib/libEGL.so*
+}
+
+gl() {
+ pkgdesc="Mesa libGL runtime libraries"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-gl"
+ replaces="mesa-gl"
+
+ amove usr/lib/libGL.so*
+}
+
+glapi() {
+ pkgdesc="Mesa shared glapi"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-glapi"
+ replaces="mesa-glapi"
+
+ amove usr/lib/libglapi.so.*
+}
+
+gles() {
+ pkgdesc="Mesa libGLESv2 runtime libraries"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-gles"
+ replaces="mesa-gles"
+
+ amove usr/lib/libGLES*.so*
+}
+xatracker() {
+ pkgdesc="Mesa XA state tracker for vmware"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-xatracker"
+ replaces="mesa-xatracker"
+
+ amove usr/lib/libxatracker*.so.*
+}
+
+osmesa() {
+ pkgdesc="Mesa offscreen rendering libraries"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-osmesa"
+ replaces="mesa-osmesa"
+
+ amove usr/lib/libOSMesa.so.*
+}
+
+gbm() {
+ pkgdesc="Mesa gbm library"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-gbm"
+ replaces="mesa-gbm"
+
+ amove usr/lib/libgbm.so.*
+}
+
+libd3dadapter9() {
+ pkgdesc="Mesa directx9 adapter"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+
+ amove usr/lib/d3d/d3dadapter9.so*
+}
+
+rusticl() {
+ pkgdesc="Mesa OpenCL driver"
+ depends="mesa-asahi=$pkgver-r$pkgrel clang$_llvmver-headers libclc~$_llvmver"
+ provider_priority=0
+ provides="mesa-rusticl"
+ replaces="mesa-rusticl"
+
+ amove usr/lib/libRusticlOpenCL.so.*
+ amove etc/OpenCL/vendors/
+}
+
+# Move links referencing the same file to the subpackage.
+# Usage: _mv_links <base directory> <example>
+# where <example> is one of the libraries covered by the megadriver.
+# The example is used to find other links that point to the same file.
+_mv_links() {
+ install -d "$subpkgdir"/$1
+ find -L "$pkgdir"/$1 -samefile "$pkgdir"/$1/$2 -print0 \
+ | xargs -0 -I{} mv {} "$subpkgdir"/$1/
+}
+
+_mv_vulkan() {
+ local i
+ install -d "$subpkgdir"/usr/lib
+ install -d "$subpkgdir"/usr/share/vulkan/icd.d
+ for i in "$@"; do
+ amove usr/lib/libvulkan_$i*.so
+ amove usr/share/vulkan/icd.d/${i}_*.*
+ done
+}
+
+# Mesa uses "megadrivers" where multiple drivers are linked into one shared
+# library. This library is then hard-linked to separate files (one for each driver).
+# Each subpackage contains one megadriver so that all the hard-links are preserved.
+
+_gallium() {
+ pkgdesc="Mesa gallium DRI drivers"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-dri-gallium"
+ replaces="mesa-dri-gallium"
+
+ # libgallium_dri.so
+ _mv_links $_dri_driverdir swrast_dri.so
+}
+
+_va() {
+ local n=${subpkgname##*-va-}
+ pkgdesc="Mesa $n VAAPI drivers"
+ depends="mesa-asahi=$pkgver-r$pkgrel libva"
+
+ case $n in
+ gallium)
+ # libgallium_drv_video.so
+ _mv_links /usr/lib/dri radeonsi_drv_video.so ;;
+ esac
+}
+
+_vdpau() {
+ local n=${subpkgname##*-vdpau-}
+ pkgdesc="Mesa $n VDPAU drivers"
+ depends="mesa-asahi=$pkgver-r$pkgrel libvdpau"
+
+ case $n in
+ gallium)
+ # libvdpau_gallium.so.1.0.0
+ _mv_links /usr/lib/vdpau libvdpau_radeonsi.so.1.0.0 ;;
+ esac
+}
+
+_vulkan() {
+ local n=${subpkgname##*-vulkan-}
+ pkgdesc="Mesa Vulkan API driver for $n"
+ depends="mesa-asahi=$pkgver-r$pkgrel"
+ provider_priority=0
+ provides="mesa-vulkan"
+ replaces="mesa-vulkan"
+
+ case $n in
+ swrast)
+ _mv_vulkan lvp ;;
+ esac
+}
+
+_vulkan_layers() {
+ pkgdesc="collection of vulkan layers from mesa"
+ depends="python3"
+ provider_priority=0
+ provides="mesa-vulkan-layers"
+
+ # Remove this after the release of the next stable (3.14)
+ # it originally was claed layer as it only packaged the
+ # overlay one but now it also packages device-select and
+ # intel-nullhw (on x86*)
+ provides="$pkgname-vulkan-layer=$pkgver-r$pkgrel"
+ replaces="$pkgname-vulkan-layer=$pkgver-r$pkgrel"
+
+ amove usr/share/vulkan/explicit_layer.d
+ amove usr/share/vulkan/implicit_layer.d
+ amove usr/lib/libVkLayer_*.so
+ amove usr/bin/mesa-overlay-control.py
+}
+
+sha512sums="
+7c0125e67ad34b283a4aebf2236d709c3d783583f7d851b725c8fd50767ca29c10337794953e291f6aa87eac2432856e00a90e363b820edd45e500e0891f78bb mesa-asahi-20240228.tar.gz
+"
diff --git a/testing/meson-tools/APKBUILD b/testing/meson-tools/APKBUILD
index 821369669ae..6235ed9f2a1 100644
--- a/testing/meson-tools/APKBUILD
+++ b/testing/meson-tools/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: Daniel Santana <daniel@santana.tech>
pkgname=meson-tools
pkgver=0.1
-pkgrel=0
+pkgrel=1
pkgdesc="Tools for Amlogic Meson ARM platforms"
url="https://github.com/afaerber/meson-tools"
arch="all"
license="GPL-2.0-or-later"
-makedepends_host="openssl-dev"
+makedepends_host="openssl-dev>3"
subpackages="$pkgname-doc"
options="!check" # no tests provided
source="$pkgname-$pkgver.tar.gz::https://github.com/afaerber/meson-tools/archive/v$pkgver.tar.gz"
diff --git a/testing/metalang99/APKBUILD b/testing/metalang99/APKBUILD
new file mode 100644
index 00000000000..fa2cf514cea
--- /dev/null
+++ b/testing/metalang99/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Sebastian Hudak <sebastian@sebsite.pw>
+# Maintainer: Sebastian Hudak <sebastian@sebsite.pw>
+pkgname=metalang99
+pkgver=1.13.3
+pkgrel=0
+pkgdesc="C meta-programming language built with pre-processor macros"
+url="https://github.com/Hirrolot/metalang99"
+arch="noarch"
+license="MIT"
+checkdepends="bash cmake"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Hirrolot/metalang99/archive/v$pkgver.tar.gz"
+
+check() {
+ scripts/test.sh
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr
+ cp -r include "$pkgdir"/usr/include
+}
+
+sha512sums="
+dae829981780995fd3fbb1c2921a57fd560a3e1ad2af5df1654bc555a77aa15287b33ce064fd0914b50869aceb959f567ed79d4b00249ef814973756fc9c5ff1 metalang99-1.13.3.tar.gz
+"
diff --git a/testing/metalog/APKBUILD b/testing/metalog/APKBUILD
deleted file mode 100644
index ee3643302a8..00000000000
--- a/testing/metalog/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=metalog
-pkgver=20200113
-pkgrel=0
-pkgdesc="small, simple to config, flexible syslogd/klogd daemon"
-url="https://github.com/hvisage/metalog"
-arch="all"
-license="GPL-2.0-only"
-makedepends="pcre-dev automake autoconf autoconf-archive"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/hvisage/metalog/archive/metalog-$pkgver.tar.gz
- metalog.initd
- metalog.confd
- "
-builddir="$srcdir/"metalog-metalog-$pkgver
-
-prepare() {
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- install -m755 -D "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/$pkgname
-}
-
-sha512sums="d399d86f988c69c9f74553cd682a5fe04886bca458e6f8bb3132fe1fb9f522510a428cfde8af0857c5ba22531b276b04fa05183e0006c2d28ef0f0aead488f93 metalog-20200113.tar.gz
-09d8ac585418c6a3dfccc9d0f1a050b5862924712d78dc44fce3cb497bb362afe0a556240b14cf957fcdf64d0d06f5b6a8df4372c69129b43dc3520ecd310344 metalog.initd
-1efbc74e23abef06bd62b35bb1f4166b86b5b4618d81e8eb085b4c9b45d0c4319b6db19a24648f7010400eed05c2486e16f16176a0e5435d7f263492934019c6 metalog.confd"
diff --git a/testing/metalog/metalog.confd b/testing/metalog/metalog.confd
deleted file mode 100644
index 2f3630d03de..00000000000
--- a/testing/metalog/metalog.confd
+++ /dev/null
@@ -1,10 +0,0 @@
-# Configuration file
-CONFIGFILE="/etc/metalog.conf"
-
-# PID file
-PIDFILE="/run/metalog.pid"
-
-# Options to metalog
-# "-B" start server in background/daemon mode
-# "-s" tells metalog to run in sync mode
-METALOG_OPTS="-B -s"
diff --git a/testing/metalog/metalog.initd b/testing/metalog/metalog.initd
deleted file mode 100644
index bb947bdadf8..00000000000
--- a/testing/metalog/metalog.initd
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-pidfile="${PIDFILE:-/run/metalog.pid}"
-command="/usr/sbin/metalog"
-command_args="--pidfile=${pidfile} --daemonize ${METALOG_OPTS}"
-
-extra_started_commands="buffer unbuffer"
-
-depend() {
- need localmount
- use clock hostname
- after bootmisc
- provide logger
-}
-
-buffer() {
- ebegin "Enabling log buffering"
- start-stop-daemon --exec "${command}" --signal USR2 --pidfile "${pidfile}"
- eend ${?}
-}
-
-unbuffer() {
- ebegin "Disabling log buffering"
- start-stop-daemon --exec "${command}" --signal USR1 --pidfile "${pidfile}"
- eend ${?}
-}
diff --git a/testing/metricbeat/APKBUILD b/testing/metricbeat/APKBUILD
deleted file mode 100644
index 3eb2441fd4f..00000000000
--- a/testing/metricbeat/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Ramanathan Sivagurunathan <ramzthecoder@gmail.com>
-# Maintainer: Ramanathan Sivagurunathan <ramzthecoder@gmail.com>
-pkgname=metricbeat
-pkgver=7.13.1
-pkgrel=3
-pkgdesc="MetricBeat - Lightweight shipper for system and service statistics"
-pkgusers="root"
-url="https://www.elastic.co/products/beats"
-# riscv64: https://github.com/elastic/go-concert/issues/51
-arch="all !aarch64 !armhf !armv7 !riscv64"
-license="Apache-2.0"
-makedepends="go"
-subpackages="$pkgname-openrc"
-source="beats-$pkgver.tar.gz::https://github.com/elastic/beats/archive/v$pkgver.tar.gz
- metricbeat.initd
- metricbeat.confd
- metricbeat.yml
- "
-
-builddir="$srcdir/beats-$pkgver"
-
-export GOPATH="$srcdir/go"
-export GOCACHE="$srcdir/go-build"
-export GOTEMPDIR="$srcdir/go"
-
-export GOFLAGS="$GOFLAGS -modcacherw"
-
-build() {
- mkdir -p bin
- go build -o bin/ -v github.com/elastic/beats/v7/metricbeat
-}
-
-check() {
- go test -v github.com/elastic/beats/v7/metricbeat
-}
-
-package() {
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
- install -Dm644 "$srcdir/metricbeat.yml" "$pkgdir/etc/$pkgname/metricbeat.yml"
- install -Dm755 "bin/metricbeat" "$pkgdir/usr/bin/metricbeat"
-}
-
-sha512sums="
-25b3b0f7dc27777b5cb934163291060a0dbdeadc2b64e36913ff56de57d8b25578db2fda7d093c4041bf9a04776c970e039402f9c0022cca0cf1cd045fc257c0 beats-7.13.1.tar.gz
-a846db44732077c38fd0699592ad27371af75ee8a53419c79197c4e5d727e1745c5145ebefd21073304cb624c5947686626f693e87406b122892f99cebe38f5b metricbeat.initd
-91fad211c1ac8b3bb97848f1ff97f7e708cfd100b174ae1839c4dd60d501cd8b7b4e9f0f4dbb936134c4ef19595bf39c53b256990f08f003c3e88893e0c94212 metricbeat.confd
-b05e083c2ea2337cebd650f2898385ff40fb7f4fe2d7d46109cec3e960d80566129756e8a45e71ed53ec40c33539295453d363feafb60caec8747ae8d09f9124 metricbeat.yml
-"
diff --git a/testing/metricbeat/metricbeat.confd b/testing/metricbeat/metricbeat.confd
deleted file mode 100644
index 31ab5d85813..00000000000
--- a/testing/metricbeat/metricbeat.confd
+++ /dev/null
@@ -1,2 +0,0 @@
-# Metricbeat startup
-metricbeat_opts="-c /etc/metricbeat/metricbeat.yml -e"
diff --git a/testing/metricbeat/metricbeat.initd b/testing/metricbeat/metricbeat.initd
deleted file mode 100644
index 989afe6908a..00000000000
--- a/testing/metricbeat/metricbeat.initd
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/sbin/openrc-run
-
-METRICBEAT_LOG_FILE="/var/log/${SVCNAME}.log"
-
-name=metricbeat
-description="MetricBeat - Lightweight shipper for system and service statistics"
-description_checkconfig="Verify configuration file"
-daemon=/usr/bin/$name
-extra_commands="checkconfig"
-
-start_pre() {
- checkpath -f -m 0644 "$METRICBEAT_LOG_FILE"
-}
-
-depend() {
- need net
- after firewall
-}
-
-checkconfig() {
- metricbeat -configtest -c /etc/metricbeat/metricbeat.yml
-}
-
-start() {
- checkconfig || return 1
-
-ebegin "Starting ${name}"
- start-stop-daemon --start --quiet \
- -m --pidfile /var/run/${name}.pid \
- -b --stdout $METRICBEAT_LOG_FILE --stderr $METRICBEAT_LOG_FILE \
- --exec ${daemon} -- ${metricbeat_opts}
- eend $?
-}
-
-stop() {
- ebegin "Stopping ${name}"
- start-stop-daemon --stop --quiet \
- --pidfile /var/run/${name}.pid \
- --exec ${daemon}
- eend $?
-}
-
diff --git a/testing/metricbeat/metricbeat.yml b/testing/metricbeat/metricbeat.yml
deleted file mode 100644
index 657ea61828d..00000000000
--- a/testing/metricbeat/metricbeat.yml
+++ /dev/null
@@ -1,105 +0,0 @@
-###################### Metricbeat Configuration Example #######################
-
-# This file is an example configuration file highlighting only the most common
-# options. The metricbeat.full.yml file from the same directory contains all the
-# supported options with more comments. You can use it as a reference.
-#
-# You can find the full configuration reference here:
-# https://www.elastic.co/guide/en/beats/metricbeat/index.html
-
-#========================== Modules configuration ============================
-metricbeat.modules:
-
-#------------------------------- System Module -------------------------------
-- module: system
- metricsets:
- # CPU stats
- - cpu
-
- # System Load stats
- - load
-
- # Per CPU core stats
- #- core
-
- # IO stats
- #- diskio
-
- # Per filesystem stats
- - filesystem
-
- # File system summary stats
- - fsstat
-
- # Memory stats
- - memory
-
- # Network stats
- - network
-
- # Per process stats
- - process
-
- # Sockets (linux only)
- #- socket
- enabled: true
- period: 10s
- processes: ['.*']
-
-
-
-#================================ General =====================================
-
-# The name of the shipper that publishes the network data. It can be used to group
-# all the transactions sent by a single shipper in the web interface.
-#name:
-
-# The tags of the shipper are included in their own field with each
-# transaction published.
-#tags: ["service-X", "web-tier"]
-
-# Optional fields that you can specify to add additional information to the
-# output.
-#fields:
-# env: staging
-
-#================================ Outputs =====================================
-
-# Configure what outputs to use when sending the data collected by the beat.
-# Multiple outputs may be used.
-
-#-------------------------- Elasticsearch output ------------------------------
-output.elasticsearch:
- # Array of hosts to connect to.
- hosts: ["localhost:9200"]
-
- # Optional protocol and basic auth credentials.
- #protocol: "https"
- #username: "elastic"
- #password: "changeme"
-
-#----------------------------- Logstash output --------------------------------
-#output.logstash:
- # The Logstash hosts
- #hosts: ["localhost:5044"]
-
- # Optional SSL. By default is off.
- # List of root certificates for HTTPS server verifications
- #ssl.certificate_authorities: ["/etc/pki/root/ca.pem"]
-
- # Certificate for SSL client authentication
- #ssl.certificate: "/etc/pki/client/cert.pem"
-
- # Client Certificate Key
- #ssl.key: "/etc/pki/client/cert.key"
-
-#================================ Logging =====================================
-
-# Sets log level. The default log level is info.
-# Available log levels are: critical, error, warning, info, debug
-#logging.level: debug
-
-# At debug level, you can selectively enable logging only for some components.
-# To enable all selectors use ["*"]. Examples of other selectors are "beat",
-# "publish", "service".
-#logging.selectors: ["*"]
diff --git a/testing/mgba/APKBUILD b/testing/mgba/APKBUILD
deleted file mode 100644
index 3b459e53058..00000000000
--- a/testing/mgba/APKBUILD
+++ /dev/null
@@ -1,64 +0,0 @@
-# Contributor: Alexander Edland <alpine@ocv.me>
-# Contributor: knuxify <knuxify@gmail.com>
-# Maintainer:
-pkgname=mgba
-pkgver=0.9.2
-pkgrel=1
-pkgdesc="Game Boy Advance Emulator"
-url="https://mgba.io"
-arch="all !s390x !mips !mips64" # broken on big-endian
-arch="$arch !armhf" # Missing qt5-qtmultimedia-dev
-license="MPL-2.0"
-makedepends="cmake qt5-qtmultimedia-dev qt5-qtbase-dev qt5-qttools-dev
- sdl2-dev libzip-dev zlib-dev libpng-dev ffmpeg-dev imagemagick-dev
- libepoxy-dev cmocka-dev libedit-dev py3-virtualenv python3-dev
- libzip-tools elfutils-dev
- "
-checkdepends="py3-cffi py3-cached-property"
-subpackages="$pkgname-doc libmgba:_libmgba libmgba-dev $pkgname-qt:_qt"
-source="mgba-$pkgver.tar.gz::https://github.com/mgba-emu/mgba/archive/$pkgver.tar.gz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DBUILD_TEST:BOOL=ON \
- -DBUILD_SUITE:BOOL=ON \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-
- # remove test leftovers
- rm "$pkgdir"/usr/bin/mgba-fuzz
- rm "$pkgdir"/usr/bin/tbl-fuzz
-}
-
-_qt() {
- pkgdesc="Qt5 frontend for the mGBA emulator"
-
- mkdir -p "$subpkgdir"/usr/share/applications
- amove usr/bin/mgba-qt
- amove usr/share/applications/mgba-qt.desktop
-}
-
-_libmgba() {
- pkgdesc="Shared library of mGBA"
-
- amove usr/lib
-}
-sha512sums="
-ea9868c104996c44a2fcfdf9d3f4d6177b853dec478ab7a2dd19a0f127b597a887150200bfbf14de593328217ff5493ca675bfcb4f0b2ee6a5097e0cdf0e2997 mgba-0.9.2.tar.gz
-"
diff --git a/testing/micropython/APKBUILD b/testing/micropython/APKBUILD
index e97401a7e5b..0f2f493f6b0 100644
--- a/testing/micropython/APKBUILD
+++ b/testing/micropython/APKBUILD
@@ -1,26 +1,34 @@
# Contributor: Marian <marian.buschsieweke@ovgu.de>
# Maintainer: Marian <marian.buschsieweke@ovgu.de>
pkgname=micropython
-pkgver=1.17
+pkgver=1.22.1
+_mpy_lib_ver=1.22.0
pkgrel=0
pkgdesc="lean and efficient Python implementation for MCUs and constrained systems"
url="https://www.micropython.org/"
-# ppc64le: mpy-cross fails to compile with "unsupported relocation type 4"
-# armv7: 17 unit tests fail, mostly viper related
-# armhf: fails to build
-# s390x: sporadic test failures: "2 tests failed: repl_cont uasyncio_heaplock"
-arch="all !ppc64le !armv7 !armhf !s390x"
+# ppc64le: mpy-cross fails to compile with "unsupported relocation type 4 & 5"
+# armhf: fails to build due to "error compiling argparse.py"
+arch="all !ppc64le !armhf"
license="MIT"
makedepends="libffi-dev python3"
subpackages="$pkgname-cross"
-source="micropython-$pkgver.tar.gz::https://github.com/micropython/micropython/archive/v$pkgver.tar.gz
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/micropython/micropython/archive/refs/tags/v$pkgver.tar.gz
+ micropython-lib-$_mpy_lib_ver.tar.gz::https://github.com/micropython/micropython-lib/archive/refs/tags/v$_mpy_lib_ver.tar.gz
micropython-1.9.4-prevent-stripping.patch
- no_ussl.patch
+ no_ssl.patch
no_legacy_berkeley_db.patch
+ no-werror.patch
"
+prepare() {
+ default_prepare
+ rmdir lib/micropython-lib
+ ln -s ../../micropython-lib-$_mpy_lib_ver lib/micropython-lib
+}
+
build() {
make -C mpy-cross PYTHON=python3
make -C ports/unix PYTHON=python3
@@ -37,27 +45,30 @@ check() {
;;
esac
- # ffi callback fails on kernel with PaX
- rm tests/unix/ffi_callback.py
+ # Needed for tests/extmod/select_poll_fd.py to
+ # pass (see comment in that file for more info)
+ ulimit -n 1024
make -C ports/unix test PYTHON=python3
}
package() {
- mkdir -p "$pkgdir/usr/bin"
- install -m755 ports/unix/micropython "$pkgdir/usr/bin/micropython"
+ install -Dm755 -t "$pkgdir"/usr/bin \
+ ports/unix/build-standard/micropython \
+ mpy-cross/build/mpy-cross
}
cross() {
pkgdesc="Compile micropython code to bytecode, which can be transfered to MCUs"
- cd "$builddir"
- mkdir -p "$subpkgdir/usr/bin"
- install -m755 mpy-cross/mpy-cross "$subpkgdir/usr/bin/mpy-cross"
+
+ amove usr/bin/mpy-cross
}
sha512sums="
-6995ec2bfdf5193fe8259db95341ca0d4556f1adbb203678633a447ad74a4adf98cdf798d380f84e619abd72d420b2397b0a78abe5b6413ce3493cd86af0f3b8 micropython-1.17.tar.gz
-eff33f41757048113d013cb30566c5d1eed72fdbd3cd7b046655efb168f39165e3bb17fa3c29a8f27039393db9363a8a12b9d75faa21fc6c370b16500a54ef52 micropython-1.9.4-prevent-stripping.patch
-9a6cd131c8875a9d320653b7b93d46a759eee3255e25763eb8de6934b3035f691e497eafc9412320f13c5921a384d42d6e60ea3eb3d65f3a6101dae9be514f3c no_ussl.patch
+df4220a360f38b865e128fe23d8082eec1ed30cd80d5c94ea957de59e5ba67b766852b26a068c4abb672448012336fbab988f810a95cb4f4dc49055158f30a2f micropython-1.22.1.tar.gz
+fb46625b038c649c98fe0929a8f8fb6c01495614942942a7c92b90679f07c39ad7142c966a7643538d529c356b00f483308a33ac00d441fb662dd3a3dd3c418d micropython-lib-1.22.0.tar.gz
+47f4923b1901bf0c8c90a15fe7188ae5c07d4c451d129c271d52d9449ac6094bf7183d5c4dc9cb38d5d5b4bf6944a715b7a3377575e9bc92bee16801d8088436 micropython-1.9.4-prevent-stripping.patch
+6e13449a4d273538d9d752de88a292ff15ef035ca55abc8c5ee4b396d3088c292f059e59a9b17594d02393a0deb28f309d6fde057ba9c2bd91e58b99f55d7c97 no_ssl.patch
e86ad02ef746605f2f685ae776a6ad6ea39ae6e57fa0869a0c03895fd581647de20fa7e6aaeebac45e7302a63451d625208b1356ee2f35a66df70ac2755a25ff no_legacy_berkeley_db.patch
+99a021dc8fe8f7cd26455e9e7610e36bfb3c01182b42855a6cc3453dea29ea25fe622c3d722a71f973a1382446f6434260cc2a986d92895e187e784c57069b31 no-werror.patch
"
diff --git a/testing/micropython/micropython-1.9.4-prevent-stripping.patch b/testing/micropython/micropython-1.9.4-prevent-stripping.patch
index 10507289c2d..b9da21e885f 100644
--- a/testing/micropython/micropython-1.9.4-prevent-stripping.patch
+++ b/testing/micropython/micropython-1.9.4-prevent-stripping.patch
@@ -1,6 +1,6 @@
---- a/py/mkenv.mk 2017-11-25 09:52:30.921836372 +0000
-+++ a/py/mkenv.mk 2017-11-25 09:52:35.257861233 +0000
-@@ -50,7 +50,6 @@
+--- a/py/mkenv.mk
++++ a/py/mkenv.mk
+@@ -52,7 +52,6 @@
LD = $(CROSS_COMPILE)ld
OBJCOPY = $(CROSS_COMPILE)objcopy
SIZE = $(CROSS_COMPILE)size
@@ -8,15 +8,17 @@
AR = $(CROSS_COMPILE)ar
MAKE_MANIFEST = $(PYTHON) $(TOP)/tools/makemanifest.py
---- a/py/mkrules.mk 2017-11-25 09:53:13.107078063 +0000
-+++ a/py/mkrules.mk 2017-11-25 09:53:31.898185592 +0000
-@@ -198,9 +198,6 @@
+--- a/py/mkrules.mk
++++ a/py/mkrules.mk
+@@ -211,11 +211,6 @@
# Do not pass COPT here - it's *C* compiler optimizations. For example,
# we may want to compile using Thumb, but link with non-Thumb libc.
$(Q)$(CC) -o $@ $^ $(LIB) $(LDFLAGS)
-ifndef DEBUG
+-ifdef STRIP
- $(Q)$(STRIP) $(STRIPFLAGS_EXTRA) $@
-endif
+-endif
$(Q)$(SIZE) $$(find $(BUILD) -path "$(BUILD)/build/frozen*.o") $@
clean: clean-prog
diff --git a/testing/micropython/no-werror.patch b/testing/micropython/no-werror.patch
new file mode 100644
index 00000000000..4f292119cc6
--- /dev/null
+++ b/testing/micropython/no-werror.patch
@@ -0,0 +1,11 @@
+--- a/ports/unix/Makefile
++++ b/ports/unix/Makefile
+@@ -44,7 +44,7 @@
+ INC += -I$(BUILD)
+
+ # compiler settings
+-CWARN = -Wall -Werror
++CWARN = -Wall
+ CWARN += -Wextra -Wno-unused-parameter -Wpointer-arith -Wdouble-promotion -Wfloat-conversion
+ CFLAGS += $(INC) $(CWARN) -std=gnu99 -DUNIX $(COPT) -I$(VARIANT_DIR) $(CFLAGS_EXTRA)
+
diff --git a/testing/micropython/no_ssl.patch b/testing/micropython/no_ssl.patch
new file mode 100644
index 00000000000..231e60ff3d7
--- /dev/null
+++ b/testing/micropython/no_ssl.patch
@@ -0,0 +1,18 @@
+--- micropython-1.12-orig/ports/unix/mpconfigport.mk
++++ micropython-1.12/ports/unix/mpconfigport.mk
+@@ -24,13 +24,13 @@
+ MICROPY_PY_FFI = 1
+
+ # ssl module requires one of the TLS libraries below
+-MICROPY_PY_SSL = 1
++MICROPY_PY_SSL = 0
+ # axTLS has minimal size but implements only a subset of modern TLS
+ # functionality, so may have problems with some servers.
+ MICROPY_SSL_AXTLS = 0
+ # mbedTLS is more up to date and complete implementation, but also
+ # more bloated.
+-MICROPY_SSL_MBEDTLS = 1
++MICROPY_SSL_MBEDTLS = 0
+
+ # jni module requires JVM/JNI
+ MICROPY_PY_JNI = 0
diff --git a/testing/micropython/no_ussl.patch b/testing/micropython/no_ussl.patch
deleted file mode 100644
index d39ca849b70..00000000000
--- a/testing/micropython/no_ussl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- micropython-1.12-orig/ports/unix/mpconfigport.mk
-+++ micropython-1.12/ports/unix/mpconfigport.mk
-@@ -24,10 +24,10 @@
- MICROPY_PY_FFI = 1
-
- # ussl module requires one of the TLS libraries below
--MICROPY_PY_USSL = 1
-+MICROPY_PY_USSL = 0
- # axTLS has minimal size but implements only a subset of modern TLS
- # functionality, so may have problems with some servers.
--MICROPY_SSL_AXTLS = 1
-+MICROPY_SSL_AXTLS = 0
- # mbedTLS is more up to date and complete implementation, but also
- # more bloated.
- MICROPY_SSL_MBEDTLS = 0
diff --git a/testing/milkytracker/APKBUILD b/testing/milkytracker/APKBUILD
index 6524b77fa3b..cabeba2ebf8 100644
--- a/testing/milkytracker/APKBUILD
+++ b/testing/milkytracker/APKBUILD
@@ -1,40 +1,42 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=milkytracker
-pkgver=1.03.00
-pkgrel=0
+pkgver=1.04.00
+pkgrel=2
pkgdesc="music tracker inspired by fast tracker 2"
url="https://milkytracker.titandemo.org/"
arch="all"
license="GPL-3.0-or-later"
-depends=""
makedepends="
alsa-lib-dev
+ cmake
+ rtmidi-dev
+ samurai
sdl2-dev
zziplib-dev
- cmake
- ninja
-"
-checkdepends=""
-install=""
+ "
subpackages="$pkgname-doc"
-source="https://github.com/milkytracker/MilkyTracker/releases/download/v$pkgver/milkytracker-$pkgver.tar.gz"
-builddir="$srcdir"
-options="!check"
+source="$pkgname-$pkgver-1.tar.gz::https://github.com/milkytracker/MilkyTracker/archive/refs/tags/v$pkgver.tar.gz
+ fix-crash.patch
+ "
+builddir="$srcdir/MilkyTracker-$pkgver"
+options="!check" # no testsuite
build() {
cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_C_FLAGS_MINSIZEREL_INIT="$CFLAGS" \
- -DCMAKE_CXX_FLAGS_MINSIZEREL_INIT="$CXXFLAGS" \
- -DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT="$LDFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr
- ninja -C build
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
}
package() {
- DESTDIR="$pkgdir" ninja -C build install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-dc5aee7fabab496c17c56229964de80fd55f97c01d2e3c45ce8786f41726ccc42670151c86f5cbc39c34e4870e1648217dcacc2a496f8b6528ecb6f43ccfa36b milkytracker-1.03.00.tar.gz
+247ff5daacb45b9445262917ab6c5e3b2309756d4e2a8317f4fd1fddefb49e97359122362ca0d8c5e3676661a45e2c559dd5a1e2cd7193d916a645f626ff32e7 milkytracker-1.04.00-1.tar.gz
+9142846f031067c6327ae06cb77ac9a2be5d3e743b9ffc5f8f7e5ff12b48bd0d483c552401f476ef79edfb640cc2bd32353587fd9710e556eb3f1af0aae8024a fix-crash.patch
"
diff --git a/testing/milkytracker/fix-crash.patch b/testing/milkytracker/fix-crash.patch
new file mode 100644
index 00000000000..727a5903e56
--- /dev/null
+++ b/testing/milkytracker/fix-crash.patch
@@ -0,0 +1,16 @@
+https://github.com/milkytracker/MilkyTracker/pull/319
+--
+diff --git a/src/milkyplay/PlayerBase.h b/src/milkyplay/PlayerBase.h
+index 18bcc74..6dc123c 100644
+--- a/src/milkyplay/PlayerBase.h
++++ b/src/milkyplay/PlayerBase.h
+@@ -117,3 +117,3 @@ private:
+ (speed << BITPOS_SPEED)),
+- mainVolumeTicker((mainVol << BITPOS_MAINVOL) +
++ mainVolumeTicker(mainVol +
+ (ticker << BITPOS_TICKER))
+@@ -174,3 +174,3 @@ protected:
+ mp_sint32 bpm; // BPM speed
+- mp_sint32 ticker; // runs from 0 to tickspeed-1
++ mp_sint32 ticker = 0; // runs from 0 to tickspeed-1
+
diff --git a/testing/mimalloc1/APKBUILD b/testing/mimalloc1/APKBUILD
index c69f2ca1020..81bb217ea4f 100644
--- a/testing/mimalloc1/APKBUILD
+++ b/testing/mimalloc1/APKBUILD
@@ -1,22 +1,24 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=mimalloc1
_projname=mimalloc
-pkgver=1.7.2
+pkgver=1.8.2
pkgrel=0
_pkgdesc="A compact general purpose allocator with excellent performance"
pkgdesc="$_pkgdesc (in secure mode)"
url="https://github.com/microsoft/mimalloc"
-# aarch64,arm*: tests fail
# ppc64le: tests segfault in secure mode
-arch="all !aarch64 !armhf !armv7 !ppc64le"
+arch="all !ppc64le"
license="MIT"
-makedepends="cmake"
+makedepends="cmake samurai"
provides="mimalloc=$pkgver-r$pkgrel"
-provider_priority=100 # highest
-subpackages="$pkgname-dev $pkgname-insecure $pkgname-debug"
+subpackages="
+ $pkgname-dev
+ $pkgname-insecure
+ $pkgname-debug
+ "
source="https://github.com/microsoft/mimalloc/archive/v$pkgver/$_projname-$pkgver.tar.gz
- cmake-install-paths.patch
cmake-add-insecure-suffix.patch
"
builddir="$srcdir/$_projname-$pkgver"
@@ -24,6 +26,8 @@ builddir="$srcdir/$_projname-$pkgver"
_buildtypes='debug insecure secure'
build() {
+ # https://github.com/microsoft/mimalloc/issues/597
+ export CFLAGS="$CFLAGS -D__USE_ISOC11"
_build out/debug -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON
# This is called "release" build by upstream.
@@ -39,9 +43,10 @@ _build() {
[ "$CBUILD" = "$CHOST" ] \
|| crossopts='-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux'
- CFLAGS=${CFLAGS/-Os/} cmake -B "$outdir" \
+ CFLAGS=${CFLAGS/-Os/} cmake -B "$outdir" -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_VERBOSE_MAKEFILE=ON \
+ -DMI_INSTALL_TOPLEVEL=ON \
$crossopts \
"$@" .
cmake --build "$outdir"
@@ -63,6 +68,7 @@ package() {
cd "$pkgdir"
ln -s libmimalloc-secure.so usr/lib/libmimalloc.so
+ ln -s libmimalloc-secure.so.${pkgver%%.*} usr/lib/libmimalloc.so.${pkgver%%.*}
ln -s libmimalloc-secure.so.${pkgver%.*} usr/lib/libmimalloc.so.${pkgver%.*}
ln -s libmimalloc-secure.a usr/lib/libmimalloc.a
@@ -74,21 +80,28 @@ package() {
rm -f usr/lib/*.o
}
+dev() {
+ provides="mimalloc-dev=$pkgver-r$pkgrel"
+
+ default_dev
+}
+
insecure() {
pkgdesc="$_pkgdesc (in insecure mode)"
+ provides="mimalloc-insecure=$pkgver-r$pkgrel"
amove usr/lib/libmimalloc-insecure.*
}
debug() {
pkgdesc="$_pkgdesc (debug build)"
+ provides="mimalloc-debug=$pkgver-r$pkgrel"
options="!strip"
amove usr/lib/libmimalloc-debug.*
}
sha512sums="
-5d78c5cc00dfff3dd7eb4bb59e8eff32397f5110d1183b4656cb56c40b88e2e648e3b18338119412b95ba9526937b16fce3aa4732f241a61a546e2bcea1efc9d mimalloc-1.7.2.tar.gz
-587b7e3cdd7284f54642a32c8eb777ae6351da0a53919fc8821144991bc6e1fb1c954debb41ada914b3ef02bd1f29655fabee0c3ffdbe013fe573a3864323f56 cmake-install-paths.patch
-a2011dd2d229b048a39751219a4e0e44c5bac11bd0aa615c51e34ca9044e491822d5020d038a78c2c75c3b44657e4c2b6b62721569960834c722bc5eb2297dc2 cmake-add-insecure-suffix.patch
+8648043fc94c2a998bb84464bbfb52cc85e9dcaff604433b9b0940104f314753fdedf1413c9ffb6719d6affaac6ad0d7a1289532387464bce2291a00152443a0 mimalloc-1.8.2.tar.gz
+9cfaa68a6dcf377a52a60e37a1e83f81fc9ba94afb55f10bb089e24561e791c318e7e0860c17944ef2aaa11546a32fa4a3510afe3aefefcc0a393dc2f334ef3d cmake-add-insecure-suffix.patch
"
diff --git a/testing/mimalloc1/cmake-add-insecure-suffix.patch b/testing/mimalloc1/cmake-add-insecure-suffix.patch
index cb54fbd3f13..a0e4abb7a2b 100644
--- a/testing/mimalloc1/cmake-add-insecure-suffix.patch
+++ b/testing/mimalloc1/cmake-add-insecure-suffix.patch
@@ -1,12 +1,16 @@
+Updated: 20 Feb 2021 by Nicolas Lorin <androw95220@gmail.com>
+
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Thu, 19 Aug 2021 23:08:13 +0200
Subject: Add suffix "-insecure" to library with MI_SECURE=OFF
We want to make the secure variant the default one.
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0011b87..bda3d5e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -56,11 +56,6 @@
+@@ -67,11 +67,6 @@ if (NOT CMAKE_BUILD_TYPE)
endif()
endif()
@@ -15,21 +19,24 @@ We want to make the secure variant the default one.
- set(MI_SECURE "ON")
-endif()
-
+
# -----------------------------------------------------------------------------
# Process options
- # -----------------------------------------------------------------------------
-@@ -220,12 +215,12 @@
+@@ -313,6 +308,8 @@ endif()
+ set(mi_basename "mimalloc")
if(MI_SECURE)
- set(mi_basename "mimalloc-secure")
- else()
-- set(mi_basename "mimalloc")
-+ set(mi_basename "mimalloc-insecure")
+ set(mi_basename "${mi_basename}-secure")
++else()
++ set(mi_basename "${mi_basename}-insecure")
+ endif()
+ if(MI_VALGRIND)
+ set(mi_basename "${mi_basename}-valgrind")
+@@ -322,7 +319,7 @@ if(MI_ASAN)
endif()
-
string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LC)
- if(NOT(CMAKE_BUILD_TYPE_LC MATCHES "^(release|relwithdebinfo|minsizerel)$"))
+ if(NOT(CMAKE_BUILD_TYPE_LC MATCHES "^(release|relwithdebinfo|minsizerel|none)$"))
- set(mi_basename "${mi_basename}-${CMAKE_BUILD_TYPE_LC}") #append build type (e.g. -debug) if not a release version
+ set(mi_basename "mimalloc-${CMAKE_BUILD_TYPE_LC}") #append build type (e.g. -debug) if not a release version
endif()
+
if(MI_BUILD_SHARED)
- list(APPEND mi_build_targets "shared")
diff --git a/testing/mimalloc1/cmake-install-paths.patch b/testing/mimalloc1/cmake-install-paths.patch
deleted file mode 100644
index f737f4e4901..00000000000
--- a/testing/mimalloc1/cmake-install-paths.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Thu, 19 Aug 2021 23:08:13 +0200
-Subject: Fix install paths according to Linux conventions
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -212,9 +212,9 @@
- set(mi_install_incdir "include")
- set(mi_install_cmakedir "cmake")
- else()
-- set(mi_install_libdir "lib/mimalloc-${mi_version}")
-+ set(mi_install_libdir "lib")
-- set(mi_install_incdir "include/mimalloc-${mi_version}")
-+ set(mi_install_incdir "include")
-- set(mi_install_cmakedir "share/mimalloc-${mi_version}/cmake")
-+ set(mi_install_cmakedir "lib/cmake/mimalloc")
- endif()
-
- if(MI_SECURE)
---- a/cmake/mimalloc-config.cmake
-+++ b/cmake/mimalloc-config.cmake
-@@ -1,11 +1,14 @@
- include(${CMAKE_CURRENT_LIST_DIR}/mimalloc.cmake)
--get_filename_component(MIMALLOC_SHARE_DIR "${CMAKE_CURRENT_LIST_DIR}" PATH) # one up from the cmake dir, e.g. /usr/local/share/mimalloc-2.0
--if (MIMALLOC_SHARE_DIR MATCHES "/share/")
-- string(REPLACE "/share/" "/lib/" MIMALLOC_LIBRARY_DIR ${MIMALLOC_SHARE_DIR})
-- string(REPLACE "/share/" "/include/" MIMALLOC_INCLUDE_DIR ${MIMALLOC_SHARE_DIR})
-+
-+if (CMAKE_CURRENT_LIST_DIR MATCHES "/lib/cmake/")
-+ get_filename_component(_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../.." PATH) # /usr/lib/cmake/mimalloc-2.0 -> /usr
-+ set(MIMALLOC_LIBRARY_DIR "${_INSTALL_PREFIX}/lib")
-+ set(MIMALLOC_INCLUDE_DIR "${_INSTALL_PREFIX}/include")
-+ unset(_INSTALL_PREFIX)
- else()
- # if MI_INSTALL_TOPLEVEL==ON
-+ get_filename_component(MIMALLOC_SHARE_DIR "${CMAKE_CURRENT_LIST_DIR}" PATH) # one up from the cmake dir
- set(MIMALLOC_LIBRARY_DIR "${MIMALLOC_SHARE_DIR}/lib")
- set(MIMALLOC_INCLUDE_DIR "${MIMALLOC_SHARE_DIR}/include")
- endif()
- set(MIMALLOC_TARGET_DIR "${MIMALLOC_LIBRARY_DIR}") # legacy
diff --git a/testing/mimalloc2/APKBUILD b/testing/mimalloc2/APKBUILD
deleted file mode 100644
index b3f1ee20d40..00000000000
--- a/testing/mimalloc2/APKBUILD
+++ /dev/null
@@ -1,94 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=mimalloc2
-_projname=mimalloc
-pkgver=2.0.2_beta
-_pkgver=${pkgver%_*}
-pkgrel=0
-_pkgdesc="A compact general purpose allocator with excellent performance"
-pkgdesc="$_pkgdesc (in secure mode)"
-url="https://github.com/microsoft/mimalloc"
-# aarch64,arm*: tests fail
-arch="all !aarch64 !armhf !armv7"
-license="MIT"
-makedepends="cmake"
-provides="mimalloc=$pkgver-r$pkgrel"
-provider_priority=0 # lowest
-subpackages="$pkgname-dev $pkgname-insecure $pkgname-debug"
-source="https://github.com/microsoft/mimalloc/archive/v$_pkgver/$_projname-$_pkgver.tar.gz
- cmake-install-paths.patch
- cmake-add-insecure-suffix.patch
- "
-builddir="$srcdir/$_projname-$_pkgver"
-
-_buildtypes='debug insecure secure'
-
-build() {
- _build out/debug -DCMAKE_BUILD_TYPE=Debug -DMI_DEBUG_FULL=ON
-
- # This is called "release" build by upstream.
- _build out/insecure -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=OFF
-
- _build out/secure -DCMAKE_BUILD_TYPE=Release -DMI_SECURE=ON
-}
-
-_build() {
- local outdir="$1"; shift
-
- local crossopts=
- [ "$CBUILD" = "$CHOST" ] \
- || crossopts='-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux'
-
- CFLAGS=${CFLAGS/-Os/} cmake -B "$outdir" \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_VERBOSE_MAKEFILE=ON \
- $crossopts \
- "$@" .
- cmake --build "$outdir"
-}
-
-check() {
- local btype; for btype in $_buildtypes; do
- msg "Testing $btype build"
-
- cd "$builddir"/out/$btype
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest --timeout 300
- done
-}
-
-package() {
- local btype; for btype in $_buildtypes; do
- DESTDIR="$pkgdir" cmake --install out/$btype
- done
-
- cd "$pkgdir"
- ln -s libmimalloc-secure.so usr/lib/libmimalloc.so
- ln -s libmimalloc-secure.so.${pkgver%.*} usr/lib/libmimalloc.so.${pkgver%.*}
- ln -s libmimalloc-secure.a usr/lib/libmimalloc.a
-
- sed 's/-secure/-insecure/g' usr/lib/cmake/mimalloc/mimalloc-release.cmake \
- > usr/lib/cmake/mimalloc/mimalloc-insecure.cmake
- mv usr/lib/cmake/mimalloc/mimalloc-release.cmake usr/lib/cmake/mimalloc/mimalloc-secure.cmake
- ln -s mimalloc-secure.cmake usr/lib/cmake/mimalloc/mimalloc-release.cmake
-
- rm -f usr/lib/*.o
-}
-
-insecure() {
- pkgdesc="$_pkgdesc (in insecure mode)"
-
- amove usr/lib/libmimalloc-insecure.*
-}
-
-debug() {
- pkgdesc="$_pkgdesc (debug build)"
- options="!strip"
-
- amove usr/lib/libmimalloc-debug.*
-}
-
-sha512sums="
-d6f1749a6df86346220fc190a3fd6aa67deff5439b26846c33ff95e91ce5fea73837ee39348dd432db3592575298e6e87856329d0236d2c6959abd8bf7756cdc mimalloc-2.0.2.tar.gz
-587b7e3cdd7284f54642a32c8eb777ae6351da0a53919fc8821144991bc6e1fb1c954debb41ada914b3ef02bd1f29655fabee0c3ffdbe013fe573a3864323f56 cmake-install-paths.patch
-a2011dd2d229b048a39751219a4e0e44c5bac11bd0aa615c51e34ca9044e491822d5020d038a78c2c75c3b44657e4c2b6b62721569960834c722bc5eb2297dc2 cmake-add-insecure-suffix.patch
-"
diff --git a/testing/mimalloc2/cmake-add-insecure-suffix.patch b/testing/mimalloc2/cmake-add-insecure-suffix.patch
deleted file mode 100644
index cb54fbd3f13..00000000000
--- a/testing/mimalloc2/cmake-add-insecure-suffix.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Thu, 19 Aug 2021 23:08:13 +0200
-Subject: Add suffix "-insecure" to library with MI_SECURE=OFF
-
-We want to make the secure variant the default one.
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -56,11 +56,6 @@
- endif()
- endif()
-
--if("${CMAKE_BINARY_DIR}" MATCHES ".*(S|s)ecure$")
-- message(STATUS "Default to secure build")
-- set(MI_SECURE "ON")
--endif()
--
- # -----------------------------------------------------------------------------
- # Process options
- # -----------------------------------------------------------------------------
-@@ -220,12 +215,12 @@
- if(MI_SECURE)
- set(mi_basename "mimalloc-secure")
- else()
-- set(mi_basename "mimalloc")
-+ set(mi_basename "mimalloc-insecure")
- endif()
-
- string(TOLOWER "${CMAKE_BUILD_TYPE}" CMAKE_BUILD_TYPE_LC)
- if(NOT(CMAKE_BUILD_TYPE_LC MATCHES "^(release|relwithdebinfo|minsizerel)$"))
-- set(mi_basename "${mi_basename}-${CMAKE_BUILD_TYPE_LC}") #append build type (e.g. -debug) if not a release version
-+ set(mi_basename "mimalloc-${CMAKE_BUILD_TYPE_LC}") #append build type (e.g. -debug) if not a release version
- endif()
- if(MI_BUILD_SHARED)
- list(APPEND mi_build_targets "shared")
diff --git a/testing/mimalloc2/cmake-install-paths.patch b/testing/mimalloc2/cmake-install-paths.patch
deleted file mode 100644
index f737f4e4901..00000000000
--- a/testing/mimalloc2/cmake-install-paths.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Thu, 19 Aug 2021 23:08:13 +0200
-Subject: Fix install paths according to Linux conventions
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -212,9 +212,9 @@
- set(mi_install_incdir "include")
- set(mi_install_cmakedir "cmake")
- else()
-- set(mi_install_libdir "lib/mimalloc-${mi_version}")
-+ set(mi_install_libdir "lib")
-- set(mi_install_incdir "include/mimalloc-${mi_version}")
-+ set(mi_install_incdir "include")
-- set(mi_install_cmakedir "share/mimalloc-${mi_version}/cmake")
-+ set(mi_install_cmakedir "lib/cmake/mimalloc")
- endif()
-
- if(MI_SECURE)
---- a/cmake/mimalloc-config.cmake
-+++ b/cmake/mimalloc-config.cmake
-@@ -1,11 +1,14 @@
- include(${CMAKE_CURRENT_LIST_DIR}/mimalloc.cmake)
--get_filename_component(MIMALLOC_SHARE_DIR "${CMAKE_CURRENT_LIST_DIR}" PATH) # one up from the cmake dir, e.g. /usr/local/share/mimalloc-2.0
--if (MIMALLOC_SHARE_DIR MATCHES "/share/")
-- string(REPLACE "/share/" "/lib/" MIMALLOC_LIBRARY_DIR ${MIMALLOC_SHARE_DIR})
-- string(REPLACE "/share/" "/include/" MIMALLOC_INCLUDE_DIR ${MIMALLOC_SHARE_DIR})
-+
-+if (CMAKE_CURRENT_LIST_DIR MATCHES "/lib/cmake/")
-+ get_filename_component(_INSTALL_PREFIX "${CMAKE_CURRENT_LIST_DIR}/../.." PATH) # /usr/lib/cmake/mimalloc-2.0 -> /usr
-+ set(MIMALLOC_LIBRARY_DIR "${_INSTALL_PREFIX}/lib")
-+ set(MIMALLOC_INCLUDE_DIR "${_INSTALL_PREFIX}/include")
-+ unset(_INSTALL_PREFIX)
- else()
- # if MI_INSTALL_TOPLEVEL==ON
-+ get_filename_component(MIMALLOC_SHARE_DIR "${CMAKE_CURRENT_LIST_DIR}" PATH) # one up from the cmake dir
- set(MIMALLOC_LIBRARY_DIR "${MIMALLOC_SHARE_DIR}/lib")
- set(MIMALLOC_INCLUDE_DIR "${MIMALLOC_SHARE_DIR}/include")
- endif()
- set(MIMALLOC_TARGET_DIR "${MIMALLOC_LIBRARY_DIR}") # legacy
diff --git a/testing/mimedefang/APKBUILD b/testing/mimedefang/APKBUILD
new file mode 100644
index 00000000000..902075f7a31
--- /dev/null
+++ b/testing/mimedefang/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Duncan Bellamy <dunk@denkimushi.com>
+# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
+pkgname=mimedefang
+pkgver=3.4.1
+pkgrel=0
+pkgdesc="e-mail filtering tool that works with the Sendmail Milter library"
+url="https://mimedefang.org"
+arch="all"
+license="GPL-2.0-only"
+pkgusers="defang"
+pkggroups="defang"
+depends="
+ perl-digest-sha1
+ perl-html-parser
+ perl-io-socket-ssl
+ perl-mail-dkim
+ perl-mail-spf
+ perl-mime-base64
+ perl-mime-tools
+ perl-net-dns
+ perl-unix-syslog
+ tzdata
+ "
+# if compiled with support from clamd it must be run as user defang
+makedepends="clamav-clamdscan clamav-scanner libmilter-dev"
+case "$CARCH" in
+ x86) :
+ ;;
+ *) makedepends="$makedepends rspamd-client"
+ ;;
+esac
+checkdepends="perl-archive-zip perl-test-class perl-test-harness-utils perl-test-most"
+subpackages="$pkgname-doc"
+install="$pkgname.pre-install"
+source="https://github.com/The-McGrail-Foundation/MIMEDefang/releases/download/v$pkgver/mimedefang-$pkgver.tar.gz
+ date-test.patch
+ "
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-user=defang
+ make
+}
+
+check() {
+ make test SMTP_TEST=no
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -dm 750 -o defang -g defang "$pkgdir"/var/log/$pkgname
+}
+
+sha512sums="
+2734834774c44d53a4e5632d113385e13e4e2ae8e94d5a766dca4f5a08b974373dbd6ee8a815a5b12d967b485154344ddbc9b70eb5ffe4988f061523e60ac0ab mimedefang-3.4.1.tar.gz
+3921058b9526dfbb2480d989e45ec9e1fc584470afb024f328e682b0fccdd8121945f9b61794c3abb599b22b0a0797dfaeb3071930e8f339cf0508baf1513ecd date-test.patch
+"
diff --git a/testing/mimedefang/date-test.patch b/testing/mimedefang/date-test.patch
new file mode 100644
index 00000000000..72bd4a13ea6
--- /dev/null
+++ b/testing/mimedefang/date-test.patch
@@ -0,0 +1,11 @@
+--- a/t/dates.t
++++ b/t/dates.t
+@@ -37,7 +37,7 @@
+ {
+ no warnings 'once';
+ local $::main::QueueID = 'wookie';
+- like(::main::gen_msgid_header(), qr/Message-ID: <\d{12}\.wookie\@[-a-zA-Z0-9\.]+>\n/, 'Got Message-ID header in correct format');
++ like(::main::gen_msgid_header(), qr/Message-ID: <\d{12}\.wookie\@[-_a-zA-Z0-9\.]+>\n/, 'Got Message-ID header in correct format');
+ }
+
+ sub t_time_str: Test(1)
diff --git a/testing/mimedefang/mimedefang.pre-install b/testing/mimedefang/mimedefang.pre-install
new file mode 100644
index 00000000000..517db26e01b
--- /dev/null
+++ b/testing/mimedefang/mimedefang.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S defang 2>/dev/null
+adduser -S -D -H -h /var/spool/MIMEDefang -s /sbin/nologin -G defang -g defang defang 2>/dev/null
+
+exit 0
diff --git a/testing/mimeo/APKBUILD b/testing/mimeo/APKBUILD
index 9fb707bd912..99523d0f4c0 100644
--- a/testing/mimeo/APKBUILD
+++ b/testing/mimeo/APKBUILD
@@ -1,14 +1,15 @@
# Contributor: Anjandev Momi <anjan@momi.ca>
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=mimeo
-pkgver=2021.11
-pkgrel=0
+pkgver=2023
+pkgrel=1
pkgdesc="Open files by MIME-type or file name using regular expressions"
url="https://xyne.dev/projects/mimeo/"
arch="noarch"
license="GPL-3.0-or-later"
depends="python3 py3-xdg file shared-mime-info"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://xyne.dev/projects/mimeo/src/mimeo-$pkgver.tar.xz"
options="!check" # no upstream checks
@@ -17,9 +18,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-85843acf42ef92ea1ae86cc7bc6c2291771b42714fbf06da167b7c98b944c0b413199d0c19c29dffd89f12c7ecbe43f96bde7f8da06c7831bb871d47dc35b031 mimeo-2021.11.tar.xz
+700c0cc79ee4a37aceeaddf1370112b65ea7506f6740c3be7339d53787d419046f3086304bd4f97a13c11e81d0bc0973cd3542ef70ab888f4f6c01808bb00d30 mimeo-2023.tar.xz
"
diff --git a/testing/mimir/APKBUILD b/testing/mimir/APKBUILD
new file mode 100644
index 00000000000..cda60b643ed
--- /dev/null
+++ b/testing/mimir/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=mimir
+pkgver=2.11.0
+pkgrel=2
+pkgdesc="Horizontally scalable, highly available, multi-tenant, long-term storage for Prometheus"
+options="net"
+url="https://github.com/grafana/mimir"
+license="AGPL-3.0-or-later"
+# others: needs 64 bits
+arch="x86_64 aarch64 ppc64le riscv64"
+makedepends="go bash"
+checkdepends="tzdata"
+subpackages="$pkgname-openrc"
+install="mimir.pre-install"
+source="$pkgname-$pkgver.tar.gz::https://github.com/grafana/mimir/archive/refs/tags/mimir-$pkgver.tar.gz
+ $pkgname.initd
+ $pkgname.confd
+ $pkgname.yaml
+ "
+builddir="$srcdir/$pkgname-$pkgname-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ mkdir build
+}
+
+build() {
+ go build -v \
+ -o build \
+ ./cmd/...
+}
+
+check() {
+ # not stable test for fluent-bit
+ # tsdb/index fails on aarch64
+ # shell check suggests to break it
+ # shellcheck disable=SC2046
+ # TestHelp fails because we build on a different path
+ TZ=UTC GOGC=10 go test -p=2 -skip 'fluent-bit|stores/tsdb/index|TestAlertmanager_StateReplication|TestHelp|TestConfigDescriptorIsUpToDate|TestIngester_compactBlocksToReduceInMemorySeries_Concurrency' ./...
+}
+
+package() {
+ mkdir -p "$pkgdir"/etc/$pkgname
+ install -Dm0755 build/* -t "$pkgdir"/usr/bin
+ install -Dm644 "$srcdir"/$pkgname.yaml "$pkgdir"/etc/mimir/mimir.yaml
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+}
+
+sha512sums="
+4bea41a1a915904a56a68d5dcb9a24ce9af2ba812f850f5c7b0de1e92a674f9cc2de9f1bd28c84dfbd98989422006b05dbec77f362a409c5411f28a30025c9ec mimir-2.11.0.tar.gz
+7e0121d8d464d202ed8689d9831c2a86740ae4cf0da12f7e723bd90895ff7b3f33a1355dfe6a443e7e5d2a87b159a26b3eef937463a576205bd78dbdb8c01460 mimir.initd
+246f0c875828b819bd8f11d49afecd63480626f4d96d95a1431c2d755e356ebe6109b7e0d34262f668c783609f7781cace26a73bfbe660b6626854f0d34fba72 mimir.confd
+f4e1ef6f40faaeaa2a46112c023596c94b4d910274b257f5cb19198cfc6c068c3b6fe762b949354547948449a952a5ed1fb93b3cb090e69459cd5b780b4b3d44 mimir.yaml
+"
diff --git a/testing/mimir/mimir.confd b/testing/mimir/mimir.confd
new file mode 100644
index 00000000000..a9d2f31365b
--- /dev/null
+++ b/testing/mimir/mimir.confd
@@ -0,0 +1,5 @@
+# The mimir config file
+MIMIR_CONF="/etc/mimir/mimir.yaml"
+
+# Add any extra options to pass to mimir to this setting.
+#MIMIR_OPTS=""
diff --git a/testing/mimir/mimir.initd b/testing/mimir/mimir.initd
new file mode 100644
index 00000000000..8a753681baf
--- /dev/null
+++ b/testing/mimir/mimir.initd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+
+configfile="${MIMIR_CONF:-/etc/mimir/mimir.yaml}"
+
+command=/usr/bin/mimir
+command_args="-config.file=${configfile}
+ ${MIMIR_OPTS}"
+command_background=yes
+command_user=mimir:grafana
+make_pidfile=yes
+pidfile=/var/run/mimir.pid
diff --git a/testing/mimir/mimir.pre-install b/testing/mimir/mimir.pre-install
new file mode 100755
index 00000000000..4a84c04e8e3
--- /dev/null
+++ b/testing/mimir/mimir.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S grafana 2>/dev/null
+adduser -S -D -h /var/lib/mimir -s /bin/false -G grafana -g grafana mimir 2>/dev/null
+
+exit 0
diff --git a/testing/mimir/mimir.yaml b/testing/mimir/mimir.yaml
new file mode 100644
index 00000000000..5c58c51259d
--- /dev/null
+++ b/testing/mimir/mimir.yaml
@@ -0,0 +1,50 @@
+# Do not use this configuration in production.
+# It is for demonstration purposes only.
+multitenancy_enabled: false
+
+activity_tracker:
+ filepath: /var/lib/mimir/metrics-activity.log
+
+blocks_storage:
+ backend: filesystem
+ bucket_store:
+ sync_dir: /var/lib/mimir/tsdb-sync
+ filesystem:
+ dir: /var/lib/mimir/data/tsdb
+ tsdb:
+ dir: /var/lib/mimir/tsdb
+
+compactor:
+ data_dir: /var/lib/mimir/compactor
+ sharding_ring:
+ kvstore:
+ store: memberlist
+
+distributor:
+ ring:
+ instance_addr: 127.0.0.1
+ kvstore:
+ store: memberlist
+
+ingester:
+ ring:
+ instance_addr: 127.0.0.1
+ kvstore:
+ store: memberlist
+ replication_factor: 1
+
+ruler:
+ rule_path: /var/lib/mimir/data-ruler/
+
+ruler_storage:
+ backend: filesystem
+ filesystem:
+ dir: /var/lib/mimir/rules
+
+server:
+ http_listen_port: 9009
+ log_level: error
+
+store_gateway:
+ sharding_ring:
+ replication_factor: 1
diff --git a/testing/mingw-w64-libusb/APKBUILD b/testing/mingw-w64-libusb/APKBUILD
index bb33e38ab20..04a26213149 100644
--- a/testing/mingw-w64-libusb/APKBUILD
+++ b/testing/mingw-w64-libusb/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Clayton Craft <clayton@craftyguy.net>
# Maintainer: Clayton Craft <clayton@craftyguy.net>
pkgname=mingw-w64-libusb
-pkgver=1.0.24
+pkgver=1.0.27
pkgrel=0
pkgdesc="MinGW-w64 library that provides generic access to USB device for Windows"
options="!check"
@@ -27,7 +27,7 @@ case "$CARCH" in
esac
build() {
- echo $builddir
+ export LDFLAGS="${LDFLAGS/-Wl,-z,pack-relative-relocs/}"
./configure \
--prefix=/usr/$_target \
--host=$_target \
@@ -42,5 +42,5 @@ package() {
}
sha512sums="
-5aea36a530aaa15c6dd656d0ed3ce204522c9946d8d39ffbb290dab4a98cda388a2598da4995123d1032324056090bd429e702459626d3e8d7daeebc4e7ff3dc libusb-1.0.24.tar.bz2
+42abbbcf2564f86cc2f05826aeefa6beb03c9f89dc9fe05bdfa351caa3dbd07713ce193daadecf29557604dd3cbc770c8031a78e1ad0a8df3627c3f551d28ff0 libusb-1.0.27.tar.bz2
"
diff --git a/testing/minikube/APKBUILD b/testing/minikube/APKBUILD
index 6932ca734d2..18176e4938f 100644
--- a/testing/minikube/APKBUILD
+++ b/testing/minikube/APKBUILD
@@ -1,15 +1,14 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Magicloud <magiclouds@gmail.com>
pkgname=minikube
-pkgver=1.24.0
-pkgrel=0
+pkgver=1.32.0
+pkgrel=2
pkgdesc="Tool that makes it easy to run Kubernetes locally"
url="https://github.com/kubernetes/minikube"
license="Apache-2.0"
-arch="all !mips !mips64 !s390x !riscv64" # blocked by libvirt
+arch="all !s390x !riscv64" # blocked by libvirt
arch="$arch !x86 !armhf !armv7 !ppc64le !aarch64" # FTBFS (kvm2 driver)
-options="chmod-clean"
-makedepends="go go-bindata bash libvirt-dev"
+makedepends="go bash libvirt-dev"
subpackages="
$pkgname-bash-completion
$pkgname-fish-completion
@@ -19,38 +18,33 @@ subpackages="
source="https://github.com/kubernetes/minikube/archive/v$pkgver/minikube-$pkgver.tar.gz
skip-amd64-only-test.patch
"
+options="net"
export GOPATH="$srcdir"
-
-prepare() {
- default_prepare
-
- mkdir -p "$srcdir"/src/k8s.io
- mv "$srcdir"/minikube-$pkgver "$srcdir"/src/k8s.io/minikube
- ln -s "$srcdir"/src/k8s.io/minikube/out "$srcdir"/minikube-$pkgver
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- cd "$GOPATH"/src/k8s.io/minikube
make out/minikube out/docker-machine-driver-kvm2
- cd "$builddir"
+ cd out
./minikube completion bash > $pkgname.bash
./minikube completion fish > $pkgname.fish
./minikube completion zsh > $pkgname.zsh
}
check() {
- cd "$GOPATH"/src/k8s.io/minikube
TESTSUITE=unittest make test
}
package() {
+ cd out
install -Dm755 minikube "$pkgdir"/usr/bin/minikube
install -Dm755 docker-machine-driver-kvm2 "$pkgdir"/usr/bin/docker-machine-driver-kvm2
install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/completions/$pkgname.fish
+ install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
}
@@ -61,6 +55,6 @@ _kvm2_driver() {
}
sha512sums="
-518a99ca9584b3e585a3975bc71f3376783989cbb93db80f2857224511aa374632216b9c839893a5d8b40b274bc61b27f4cf3628d778a4935871b336b983851b minikube-1.24.0.tar.gz
+afc759879b1f5cb713c112592ae7547bb7f6f4792289110183e87dafd00e4d05187ea9d728472cc15e585e50a1c219729fb66c5ae3d63dc32ee8d00b873ab2ae minikube-1.32.0.tar.gz
2eccb63b0905791968dec95f8f758da12632a8530c6db600648f2a190b23dd363d1a3c717488fc4e36f9082346c053eb9cf2ed00f65d14744e3fe9606dc32ddd skip-amd64-only-test.patch
"
diff --git a/testing/minimodem/APKBUILD b/testing/minimodem/APKBUILD
index 5c99440809d..64d3ed9fec0 100644
--- a/testing/minimodem/APKBUILD
+++ b/testing/minimodem/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=minimodem
pkgver=0.24
-pkgrel=0
+pkgrel=1
pkgdesc="general-purpose software audio FSK modem"
url="http://www.whence.com/minimodem"
arch="all"
diff --git a/testing/minio-client/APKBUILD b/testing/minio-client/APKBUILD
deleted file mode 100644
index 516cc9e45ab..00000000000
--- a/testing/minio-client/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Maintainer: Chloe Kudryavtsev <toast@toast.cafe>
-
-# RESTRICTED: Do not upgrade to any version licensed under AGPL. No evidence
-# has been found supporting the existence of a CLA or relicensing campaign,
-# so we cannot confirm the legal validity of the license change. Accordingly,
-# any commit upgrading the version to an AGPL-licensed version WILL be reverted.
-
-pkgname=minio-client
-_pkgname=mc
-_pkgver='RELEASE.2020-12-18T10-53-53Z'
-pkgver=${_pkgver#*.}
-pkgver=${pkgver%T*}
-pkgver=0.${pkgver//-}
-pkgrel=3
-pkgdesc="The MinIO Client"
-url="https://minio.io/"
-license="Apache-2.0"
-arch="all"
-makedepends="go"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/minio/$_pkgname/archive/$_pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$_pkgver"
-options="net"
-
-export GOPATH="$srcdir"
-export CGO_ENABLED=0
-
-build() {
- local _ldflags=$(go run buildscripts/gen-ldflags.go 2> /dev/null)
- go build -tags kqueue --ldflags "$_ldflags" -o bin/mc
-}
-
-check() {
- # mc/cmd is disabled, seems to be outdated and fails on all my systems
- go test -tags kqueue $(go list ./... | grep -v \
- -e cmd \
- )
-}
-
-package() {
- install -Dm755 "$builddir"/bin/mc \
- "$pkgdir"/usr/bin/mcli
-}
-
-cleanup_srcdir() {
- go clean -modcache
- default_cleanup_srcdir
-}
-sha512sums="7559df5c607cbb0e3a5bbeb83df97c2162ccce98ea3891243f8eb8ad3c1c5b35630baed3ec2659ddf2e4672b272b605f1546f07e6cde6c5c104623b7b6df7c6e mc-0.20201218.tar.gz"
diff --git a/testing/minio/APKBUILD b/testing/minio/APKBUILD
deleted file mode 100644
index b762eb4a635..00000000000
--- a/testing/minio/APKBUILD
+++ /dev/null
@@ -1,80 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer: Chloe Kudryavtsev <toast@toast.cafe>
-
-# RESTRICTED: Do not upgrade to any version licensed under AGPL. No evidence
-# has been found supporting the existence of a CLA or relicensing campaign,
-# so we cannot confirm the legal validity of the license change. Accordingly,
-# any commit upgrading the version to an AGPL-licensed version WILL be reverted.
-
-pkgname=minio
-_pkgver='RELEASE.2021-01-16T02-19-44Z'
-pkgver=${_pkgver#*.}
-pkgver=${pkgver%T*}
-pkgver=0.${pkgver//-}
-pkgrel=3
-pkgdesc="An open source object storage server compatible with Amazon S3"
-pkgusers="minio"
-pkggroups="minio"
-url="https://minio.io/"
-license="Apache-2.0"
-arch="all !x86 !armv7 !armhf" # test failures
-arch="$arch !riscv64" # fails to build cpuinfo module
-install="minio.pre-install"
-makedepends="go"
-source="
- minio.initd
- minio.confd
- $pkgname-$pkgver.tar.gz::https://github.com/minio/minio/archive/$_pkgver.tar.gz
- "
-builddir="$srcdir/$pkgname-$_pkgver"
-options="net !check" # TestParsePublicCertFile fails on go1.17
-subpackages="$pkgname-openrc"
-
-export GOPATH="$srcdir"
-export CGO_ENABLED=0
-
-# secfixes:
-# 0.20200423-r0:
-# - CVE-2020-11012
-
-build() {
- local _ldflags=$(go run buildscripts/gen-ldflags.go 2> /dev/null)
- go build -tags kqueue --ldflags "$_ldflags" -o bin/minio
-}
-
-check() {
- # cmd: disk usage errors, like same as pkg/disk
- # pkg/disk: doesn't know what btrfs is
- # pkg/s3select: fails on 32bit systems
- # pkg/event/target: fails on aarch64
- # pkg/sys: fails on aarch64
- # cmd/http: fails on aarch64, suspect ipv6 problem
- # pkg/dsync: fails on armv7
- go test -tags kqueue $(go list ./... | grep -v \
- -e 'cmd$' \
- -e pkg/disk \
- -e pkg/s3select \
- -e pkg/event/target \
- -e pkg/sys \
- -e cmd/http \
- -e pkg/dsync
- )
-}
-
-package() {
- install -Dm755 "$builddir"/bin/minio \
- "$pkgdir"/usr/bin/minio
- install -Dm755 "$srcdir"/"$pkgname".initd \
- "$pkgdir"/etc/init.d/"$pkgname"
- install -Dm644 "$srcdir"/"$pkgname".confd \
- "$pkgdir"/etc/conf.d/"$pkgname"
-}
-
-cleanup_srcdir() {
- go clean -modcache
- default_cleanup_srcdir
-}
-
-sha512sums="6427a225d4e6c51cc5de077ccd29ddf52556722cf958e83e480df1c5882aa4fa7daebfeb970e80f8f9c3176594d8e427e8c8dbf268ce945647a11bdf1e69affd minio.initd
-ed9790fbadfb38e4d660eb1befd87e803d70dec04d936e8cd26def4a9c21240bb7cae8750ae3395aa4761e6738b9e346c86ba57761cfde30efe46d2cb459a7e4 minio.confd
-11f0e410ad152cb98e06413a89bba88eb3cf8af2150c718b7556a220bb3561e79fe49887b8528cc86172b879eb1d579086a0ea71f1e6466615f657500092e6ec minio-0.20210116.tar.gz"
diff --git a/testing/minio/minio.confd b/testing/minio/minio.confd
deleted file mode 100644
index 952ce135641..00000000000
--- a/testing/minio/minio.confd
+++ /dev/null
@@ -1,13 +0,0 @@
-# defaults to storing data in /srv/minio
-# but you can run multiple instances, e.g minio.home in /srv/minio.home
-MINIO_VOLUMES="/srv/${RC_SVCNAME}"
-
-#export MINIO_ACCESS_KEY=myUser
-#export MINIO_SECRET_KEY=mySecretKey
-
-# recommended for production setups
-#MINIO_OPTS='--quiet --anonymous'
-
-# optional additional settings
-#address=minio.example.com:9000
-#export MINIO_DOMAIN=minio.example.com
diff --git a/testing/minio/minio.initd b/testing/minio/minio.initd
deleted file mode 100644
index 7a8afcbb0d8..00000000000
--- a/testing/minio/minio.initd
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-respawn_delay=5
-respawn_max=0
-healthcheck_timer=30
-
-name='Minio Block Storage Server'
-command=/usr/bin/minio
-command_args="server \
- ${address:+--address=$address} \
- $MINIO_OPTS \
- $MINIO_VOLUMES"
-command_user="minio:minio"
-
-start_pre() {
- # the conf.d file might contain secrets!
- [ -f "/etc/conf.d/${RC_SVCNAME}" ] && checkpath --file --mode 0600 --owner root:root "/etc/conf.d/${RC_SVCNAME}"
- # make sure the default volume exists
- checkpath --directory --mode 0700 --owner minio:minio "/srv/${RC_SVCNAME}"
-}
-
-healthcheck() {
- [ -x /usr/bin/curl ] || return 0
- /usr/bin/curl -q "${address:-localhost:9000}"/minio/health/ready
-}
diff --git a/testing/minio/minio.pre-install b/testing/minio/minio.pre-install
deleted file mode 100644
index 3015873c0fd..00000000000
--- a/testing/minio/minio.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S minio 2>/dev/null
-adduser -S -D -h /var/lib/minio -s /sbin/nologin -G minio -g minio minio 2>/dev/null
-
-exit 0
diff --git a/testing/minipeg/APKBUILD b/testing/minipeg/APKBUILD
new file mode 100644
index 00000000000..2c04752b043
--- /dev/null
+++ b/testing/minipeg/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Bryce Vandegrift <bryce@brycevandegrift.xyz>
+# Maintainer: Bryce Vandegrift <bryce@brycevandegrift.xyz>
+pkgname=minipeg
+pkgver=0.1.18_git20221008
+_commit=e6e26c2612cae839cee1323395bc62f2e11377d1
+pkgrel=0
+pkgdesc="Minimal fork of peg/leg C parser generator"
+url="https://ach.srht.site/minipeg"
+arch="all"
+license="MIT"
+subpackages="$pkgname-doc"
+source="$pkgname-$_commit.tar.gz::https://github.com/andrewchambers/minipeg/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ install -Dm 0755 "$pkgname" -t "$pkgdir"/usr/bin
+ install -Dm 0644 "$pkgname".1 -t "$pkgdir"/usr/share/man/man1
+ install -Dm 0644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+6adea0dc0f236c05a20b0bbe9fe118dc7938274c0b32a5e1565ac21f27e9e99a264cd1dd1754e9885dac603dcfb5bb3483a4d504835ba9493e52bac9ba903d05 minipeg-e6e26c2612cae839cee1323395bc62f2e11377d1.tar.gz
+"
diff --git a/testing/minisatip/APKBUILD b/testing/minisatip/APKBUILD
new file mode 100644
index 00000000000..39b979451d7
--- /dev/null
+++ b/testing/minisatip/APKBUILD
@@ -0,0 +1,63 @@
+# Maintainer: lgehr <lgehr@mailbox.org>
+pkgname=minisatip
+pkgver=1.3.4
+pkgrel=0
+pkgdesc="minisatip is an SATIP server for linux using local DVB-S2, DVB-C, DVB-T or ATSC cards"
+url="https://minisatip.org"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="linux-headers openssl-dev libdvbcsa-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/catalinii/minisatip/archive/refs/tags/v$pkgver.tar.gz
+ minisatip.initd
+ minisatip.confd
+ default_document_root.patch
+ "
+
+prepare() {
+ default_prepare
+
+ # gcc sanitisers don't work on musl
+ # #10304
+ sed -i 's; -fsanitize=address;;g' tests/Makefile.in
+ sed -i 's; -fsanitize=leak;;g' tests/Makefile.in
+ sed -i 's; -fsanitize=null;;g' tests/Makefile.in
+}
+
+build() {
+ # no execinfo.h
+ export CFLAGS="$CFLAGS -DNO_BACKTRACE"
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make -j1 test #parallel execution fails with "text file busy"
+}
+
+package() {
+ install -Dm755 minisatip "$pkgdir"/usr/bin/minisatip
+ mkdir -p "$pkgdir"/usr/share/minisatip/html
+ cp -r html "$pkgdir"/usr/share/minisatip
+
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+12e6d81e1b7c8c0c2206a209aa7f4cf5daabfa1d71f26ce11284f585add5e989685c061f179ada35eaa54e28332a49eef7ef3ace21f9db56d15831a15a33ae52 minisatip-1.3.4.tar.gz
+fb0c4125350dbb516fb005ee0246d9219bb7c38a0429fc714bd861990cfa8c13e5e217f5be9cf7216a0f5e912ef1fb6d21e93e98b303286332f66dfee6936460 minisatip.initd
+b29b2d4140b2c66431fdf876c0f15f98794be185c786cce7c5c202484e8c73c8b17aa564c37bdca22157fa97ac5598a8c16b58699559b1bd39e4a5c18835bccd minisatip.confd
+f9352ea6973e0314aa5c5bab4ee31dcb2b731fc889115a442d8cf912ae143ed2d04cdacefbebf13c949c0f17c6a800b73d3d0ee804734ba2dfce09783085781a default_document_root.patch
+"
diff --git a/testing/minisatip/default_document_root.patch b/testing/minisatip/default_document_root.patch
new file mode 100644
index 00000000000..8e2fd17f86f
--- /dev/null
+++ b/testing/minisatip/default_document_root.patch
@@ -0,0 +1,11 @@
+--- a/src/minisatip.c
++++ b/src/minisatip.c
+@@ -662,7 +662,7 @@
+ opts.pids_all_no_dec = 0;
+ opts.rtsp_port = 554;
+ opts.use_ipv4_only = 1;
+- opts.document_root = "html";
++ opts.document_root = "/usr/share/minisatip/html";
+ opts.cache_dir = "/var/cache/minisatip";
+ opts.xml_path = DESC_XML;
+ opts.th_priority = -1;
diff --git a/testing/minisatip/minisatip.confd b/testing/minisatip/minisatip.confd
new file mode 100644
index 00000000000..558669db98f
--- /dev/null
+++ b/testing/minisatip/minisatip.confd
@@ -0,0 +1,2 @@
+supervisor=supervise-daemon
+extra_opts="--syslog"
diff --git a/testing/minisatip/minisatip.initd b/testing/minisatip/minisatip.initd
new file mode 100644
index 00000000000..386b13dfe26
--- /dev/null
+++ b/testing/minisatip/minisatip.initd
@@ -0,0 +1,13 @@
+#!/sbin/openrc-run
+command="/usr/bin/minisatip"
+command_args="-f $extra_opts"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+command_user="minisatip:minisatip"
+capabilities="^cap_net_bind_service"
+
+depend() {
+ need net
+ use logger dns
+ after firewall
+}
diff --git a/testing/minisatip/minisatip.pre-install b/testing/minisatip/minisatip.pre-install
new file mode 100644
index 00000000000..8e64a72b60f
--- /dev/null
+++ b/testing/minisatip/minisatip.pre-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+addgroup -S minisatip 2>/dev/null
+adduser -S -D -H -s /sbin/nologin -G minisatip -g minisatip minisatip 2>/dev/null
+adduser minisatip video
+
+exit 0
diff --git a/testing/miniserve/APKBUILD b/testing/miniserve/APKBUILD
deleted file mode 100644
index dea029bd9a9..00000000000
--- a/testing/miniserve/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=miniserve
-pkgver=0.18.0
-pkgrel=0
-pkgdesc="Quickly serve files via HTTP"
-url="https://github.com/svenstaro/miniserve"
-license="MIT"
-arch="all !s390x !mips64 !riscv64" # limited by rust/cargo
-arch="$arch !ppc64le" # FTBFS
-makedepends="cargo"
-subpackages="$pkgname-bash-completion $pkgname-fish-completion $pkgname-zsh-completion"
-source="https://github.com/svenstaro/miniserve/archive/v$pkgver/miniserve-$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-
- ./target/release/miniserve --print-completions bash > $pkgname.bash
- ./target/release/miniserve --print-completions fish > $pkgname.fish
- ./target/release/miniserve --print-completions zsh > $pkgname.zsh
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- install -Dm755 target/release/miniserve "$pkgdir"/usr/bin/miniserve
-
- install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/completions/$pkgname.fish
- install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
-}
-
-sha512sums="
-0427171acb9303bcc0950c960ea4486178c756b17a79b0583487a5521eec96b024ac6ea6f9eb128c090dc9c12408735d40728bb75705b5b5b37f627d0860a15a miniserve-0.18.0.tar.gz
-"
diff --git a/testing/mint-themes/APKBUILD b/testing/mint-themes/APKBUILD
new file mode 100644
index 00000000000..f742fcf828d
--- /dev/null
+++ b/testing/mint-themes/APKBUILD
@@ -0,0 +1,139 @@
+# Maintainer: Raymond Hackley <raymondhackley@protonmail.com>
+pkgname=mint-themes
+pkgver=2.1.1
+pkgrel=0
+pkgdesc="Mint themes for GNOME/GTK desktops"
+options="!check" # It is a theme
+url="https://github.com/linuxmint/mint-themes"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="mint-x-theme mint-y-theme"
+makedepends="python3 sassc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/mint-themes/archive/$pkgver.tar.gz"
+subpackages="
+ $pkgname-doc
+ mint-x-theme:mint_x_theme
+ mint-x-theme-gtk2:mint_x_theme_gtk2
+ mint-x-theme-gtk3:mint_x_theme_gtk3
+ mint-x-theme-gtk4:mint_x_theme_gtk4
+ mint-x-theme-metacity:mint_x_theme_metacity
+ mint-x-theme-xfwm4:mint_x_theme_xfwm4
+ mint-y-theme:mint_y_theme
+ mint-y-theme-gtk2:mint_y_theme_gtk2
+ mint-y-theme-gtk3:mint_y_theme_gtk3
+ mint-y-theme-gtk4:mint_y_theme_gtk4
+ mint-y-theme-metacity:mint_y_theme_metacity
+ mint-y-theme-xfwm4:mint_y_theme_xfwm4
+ "
+
+build() {
+ make
+}
+
+package() {
+ rm -rf "$builddir/usr/share/themes/Linux Mint" \
+ "$builddir"/usr/share/themes/*/cinnamon
+ mkdir -p "$pkgdir"
+ mv "$builddir"/usr "$pkgdir"/
+
+ install -Dm644 "$builddir"/debian/changelog \
+ "$pkgdir"/usr/share/doc/"$pkgname"/changelog
+ install -Dm644 "$builddir"/debian/copyright \
+ "$pkgdir"/usr/share/doc/"$pkgname"/copyright
+}
+
+mint_x_theme() {
+ pkgdesc="Mint-X themes"
+ depends=""
+ amove usr/share/themes/Mint-X*/index.theme
+}
+
+mint_x_theme_gtk2() {
+ pkgdesc="GTK+2.0 assets for Mint themes"
+ depends="gtk-murrine-engine"
+ install_if="mint-x-theme=$pkgver-r$pkgrel gtk+2.0"
+
+ amove usr/share/themes/Mint-X*/gtk-2.0
+}
+
+mint_x_theme_gtk3() {
+ pkgdesc="GTK+3.0 assets for Mint themes"
+ depends=""
+ install_if="mint-x-theme=$pkgver-r$pkgrel gtk+3.0"
+
+ amove usr/share/themes/Mint-X*/gtk-3.0
+}
+
+mint_x_theme_gtk4() {
+ pkgdesc="GTK+4.0 assets for Mint themes"
+ depends=""
+ install_if="mint-x-theme=$pkgver-r$pkgrel gtk4.0"
+
+ amove usr/share/themes/Mint-X*/gtk-4.0
+}
+
+mint_x_theme_xfwm4() {
+ pkgdesc="xfwm assets for Mint themes"
+ depends=""
+ install_if="mint-x-theme=$pkgver-r$pkgrel xfwm4"
+
+ amove usr/share/themes/Mint-X*/xfwm4
+}
+
+mint_x_theme_metacity() {
+ pkgdesc="metacity assets for Mint themes"
+ depends=""
+ install_if="mint-x-theme=$pkgver-r$pkgrel metacity"
+
+ amove usr/share/themes/Mint-X*/metacity-1
+}
+
+mint_y_theme() {
+ pkgdesc="Mint-Y themes"
+ depends=""
+ amove usr/share/themes/Mint-Y*/index.theme
+}
+
+mint_y_theme_gtk2() {
+ pkgdesc="GTK+2.0 assets for Mint-Y themes"
+ depends="gtk-murrine-engine"
+ install_if="mint-y-theme=$pkgver-r$pkgrel gtk+2.0"
+
+ amove usr/share/themes/Mint-Y*/gtk-2.0
+}
+
+mint_y_theme_gtk3() {
+ pkgdesc="GTK+3.0 assets for Mint-Y themes"
+ depends=""
+ install_if="mint-y-theme=$pkgver-r$pkgrel gtk+3.0"
+
+ amove usr/share/themes/Mint-Y*/gtk-3.0
+}
+
+mint_y_theme_gtk4() {
+ pkgdesc="GTK+4.0 assets for Mint-Y themes"
+ depends=""
+ install_if="mint-y-theme=$pkgver-r$pkgrel gtk4.0"
+
+ amove usr/share/themes/Mint-Y*/gtk-4.0
+}
+
+mint_y_theme_xfwm4() {
+ pkgdesc="xfwm assets for Mint-Y themes"
+ depends=""
+ install_if="mint-y-theme=$pkgver-r$pkgrel xfwm4"
+
+ amove usr/share/themes/Mint-Y*/xfwm4
+}
+
+mint_y_theme_metacity() {
+ pkgdesc="metacity assets for Mint-Y themes"
+ depends=""
+ install_if="mint-y-theme=$pkgver-r$pkgrel metacity"
+
+ amove usr/share/themes/Mint-Y*/metacity-1
+}
+
+sha512sums="
+7692608dd0ac8e6f5d14b2f0332d40d215e4f07f9745a3bcc2bea099b7519d70d1a23aec853ca30191d04f133772cacae9fca38b3f6737b9afe916c696b08aaf mint-themes-2.1.1.tar.gz
+"
diff --git a/testing/mint-x-icons/APKBUILD b/testing/mint-x-icons/APKBUILD
new file mode 100644
index 00000000000..af615497e3e
--- /dev/null
+++ b/testing/mint-x-icons/APKBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=mint-x-icons
+pkgver=1.6.5
+pkgrel=1
+pkgdesc="Mint-X icon theme"
+options="!check" # It is an icon theme
+url="https://github.com/linuxmint/mint-x-icons"
+arch="noarch"
+license="GPL-3.0-or-later"
+source="$pkgname-$pkgver-2.tar.gz::https://github.com/linuxmint/mint-x-icons/archive/$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+
+package() {
+ mkdir -p "$pkgdir"
+ mv -v "$builddir"/usr "$pkgdir"/
+
+ install -Dm644 "$builddir"/debian/changelog \
+ "$pkgdir"/usr/share/doc/"$pkgname"/changelog
+ install -Dm644 "$builddir"/debian/copyright \
+ "$pkgdir"/usr/share/doc/"$pkgname"/copyright
+}
+
+sha512sums="
+63dc27dccbcf3c548a7aed6cb18abcd3abd17e254f4e94b8e5589ff57f843e315bea618e25e9b974d93abf2929bcd7271c1596bba3e71ddab56f8e7d2def854d mint-x-icons-1.6.5-2.tar.gz
+"
diff --git a/testing/mint-y-icons/APKBUILD b/testing/mint-y-icons/APKBUILD
new file mode 100644
index 00000000000..edb6f33fca2
--- /dev/null
+++ b/testing/mint-y-icons/APKBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=mint-y-icons
+pkgver=1.7.2
+pkgrel=0
+pkgdesc="Mint-Y icon theme"
+options="!check" # It is an icon theme
+url="https://github.com/linuxmint/mint-y-icons"
+arch="noarch"
+license="GPL-3.0-or-later"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/mint-y-icons/archive/$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+
+package() {
+ mkdir -p "$pkgdir"
+ mv -v "$builddir"/usr "$pkgdir"/
+
+ install -Dm644 "$builddir"/debian/changelog \
+ "$pkgdir"/usr/share/doc/"$pkgname"/changelog
+ install -Dm644 "$builddir"/debian/copyright \
+ "$pkgdir"/usr/share/doc/"$pkgname"/copyright
+}
+
+sha512sums="
+a188b69618b005882a5fbad4252abc35ecddd70a811f0d9d54a1116cdeec10c543f1d9d5554938d753655270e5e16282d27dc219a6a217461bf7591a597a1a20 mint-y-icons-1.7.2.tar.gz
+"
diff --git a/testing/mir/0001-Fix-the-signature-of-drmModeCrtcSetGamma.patch b/testing/mir/0001-Fix-the-signature-of-drmModeCrtcSetGamma.patch
new file mode 100644
index 00000000000..51707dfa212
--- /dev/null
+++ b/testing/mir/0001-Fix-the-signature-of-drmModeCrtcSetGamma.patch
@@ -0,0 +1,70 @@
+From 98250e9c32c5b9b940da2fb0a32d8139bbc68157 Mon Sep 17 00:00:00 2001
+From: Alan Griffiths <alan@octopull.co.uk>
+Date: Thu, 31 Aug 2023 12:05:13 +0100
+Subject: [PATCH] Fix the signature of drmModeCrtcSetGamma
+
+---
+ tests/include/mir/test/doubles/mock_drm.h | 2 +-
+ tests/mir_test_doubles/mock_drm.cpp | 22 ++++++++++++++++++++--
+ 2 files changed, 21 insertions(+), 3 deletions(-)
+
+diff --git a/tests/include/mir/test/doubles/mock_drm.h b/tests/include/mir/test/doubles/mock_drm.h
+index aeba8c7d05..d3c44f30c2 100644
+--- a/tests/include/mir/test/doubles/mock_drm.h
++++ b/tests/include/mir/test/doubles/mock_drm.h
+@@ -155,7 +155,7 @@ public:
+ MOCK_METHOD6(drmModeCrtcGetGamma, int(int fd, uint32_t crtc_id, uint32_t size,
+ uint16_t* red, uint16_t* green, uint16_t* blue));
+ MOCK_METHOD6(drmModeCrtcSetGamma, int(int fd, uint32_t crtc_id, uint32_t size,
+- uint16_t* red, uint16_t* green, uint16_t* blue));
++ uint16_t const* red, uint16_t const* green, uint16_t const* blue));
+
+ MOCK_METHOD1(drmGetVersion, drmVersionPtr(int));
+ MOCK_METHOD1(drmFreeVersion, void(drmVersionPtr));
+diff --git a/tests/mir_test_doubles/mock_drm.cpp b/tests/mir_test_doubles/mock_drm.cpp
+index d3d5840b7a..bd51466cba 100644
+--- a/tests/mir_test_doubles/mock_drm.cpp
++++ b/tests/mir_test_doubles/mock_drm.cpp
+@@ -489,6 +489,24 @@ testing::Matcher<int> mtd::IsFdOfDevice(char const* device)
+ return ::testing::MakeMatcher(new mtd::MockDRM::IsFdOfDeviceMatcher(device));
+ }
+
++// The signature of drmModeCrtcSetGamma() changes from passing the gamma as `uint16_t*` to `uint16_t const*`
++// We need to provide a definition that matches
++namespace
++{
++template<typename Any>
++struct Decode_drmModeCrtcSetGamma_signature;
++
++template<typename Arg>
++struct Decode_drmModeCrtcSetGamma_signature<int(int fd, uint32_t crtc_id, uint32_t size, Arg red, Arg gree, Arg blue)>
++{
++ using gamma_t = Arg;
++};
++using gamma_t = Decode_drmModeCrtcSetGamma_signature<decltype(drmModeCrtcSetGamma)>::gamma_t;
++}
++
++// Ensure we get a compile error if the definition doesn't match the declaration (instead of providing an overload)
++extern "C"
++{
+ int drmOpen(const char *name, const char *busid)
+ {
+ return global_mock->drmOpen(name, busid);
+@@ -548,8 +566,7 @@ int drmModeCrtcGetGamma(int fd, uint32_t crtc_id, uint32_t size,
+ return global_mock->drmModeCrtcGetGamma(fd, crtc_id, size, red, green, blue);
+ }
+
+-int drmModeCrtcSetGamma(int fd, uint32_t crtc_id, uint32_t size,
+- uint16_t* red, uint16_t* green, uint16_t* blue)
++int drmModeCrtcSetGamma(int fd, uint32_t crtc_id, uint32_t size, gamma_t red, gamma_t green, gamma_t blue)
+ {
+ return global_mock->drmModeCrtcSetGamma(fd, crtc_id, size, red, green, blue);
+ }
+@@ -751,3 +768,4 @@ int drmCheckModesettingSupported(char const* busid)
+ {
+ return global_mock->drmCheckModesettingSupported(busid);
+ }
++}
+--
+2.42.0
+
diff --git a/testing/mir/APKBUILD b/testing/mir/APKBUILD
new file mode 100644
index 00000000000..ea77d920617
--- /dev/null
+++ b/testing/mir/APKBUILD
@@ -0,0 +1,111 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=mir
+pkgver=2.15.0
+pkgrel=0
+pkgdesc="Mir Display Server"
+url="https://mir-server.io"
+arch="all"
+license="GPL-2.0-or-later AND LGPL-2.0-or-later"
+depends="
+ ttf-freefont
+ xkeyboard-config
+ "
+depends_dev="
+ boost-dev
+ capnproto-dev
+ eudev-dev
+ freetype-dev
+ gflags-dev
+ glib-dev
+ glm-dev
+ glog-dev
+ libepoxy-dev
+ libevdev-dev
+ libinput-dev
+ libxcursor-dev
+ libxkbcommon-dev
+ libxml++-2.6-dev
+ lttng-ust-dev
+ mesa-dev
+ nettle-dev
+ protobuf-dev
+ umockdev-dev
+ wayland-dev
+ yaml-cpp-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ gmock
+ gtest-dev
+ lttng-ust-tools
+ py3-pillow
+ samurai
+ wlcs-dev
+ "
+checkdepends="
+ bash
+ grep
+ wlcs
+ "
+source="https://github.com/MirServer/mir/releases/download/v$pkgver/mir-$pkgver.tar.xz
+ 0001-Fix-the-signature-of-drmModeCrtcSetGamma.patch
+ "
+subpackages="$pkgname-dev $pkgname-demos $pkgname-test-tools:test_tools"
+options="!check" # some tests fail/hang currently, to be debugged
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DMIR_FATAL_COMPILE_WARNINGS=OFF \
+ -DMIR_ENABLE_WLCS_TESTS=OFF \
+ -DMIR_USE_LD=ld
+ cmake --build build
+}
+
+check() {
+ XDG_RUNTIME_DIR=/tmp ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+dev() {
+ default_dev
+ amove usr/bin/mir_wayland_generator
+}
+
+demos() {
+ pkgdesc="$pkgdesc - demonstration programs"
+ amove usr/bin/miral-shell
+ amove usr/bin/miral-kiosk
+ amove usr/bin/miral-app
+ amove usr/bin/miral-terminal
+ amove usr/bin/mir-shell
+ amove usr/bin/miral-system-compositor
+ amove usr/share/applications/miral-shell.desktop
+ amove usr/share/wayland-sessions/mir-shell.desktop
+ amove usr/share/icons/hicolor/scalable/apps/ubuntu-logo.svg
+}
+
+test_tools() {
+ pkgdesc="$pkgdesc - stress tests and other test tools"
+ amove usr/bin/mir_performance_tests
+ amove usr/bin/mir-smoke-test-runner
+ amove usr/bin/mir_platform_graphics_test_harness
+ amove usr/lib/mir/tools/libmirserverlttng.so
+ amove usr/bin/mir_demo_client_*
+ amove usr/bin/mir_demo_server
+ amove usr/lib/mir/server-platform/graphics-dummy.so
+ amove usr/lib/mir/server-platform/input-stub.so
+}
+
+sha512sums="
+b8a5ed4326a6257595873c35d683a343fc96840d1b2824af6478c59db44cc8d0eea9984b74db09ae101885d457d83fa4faa37992b755b92f3e7712b1c09072cd mir-2.15.0.tar.xz
+c31f487d4db5281bad79b228899dcc4e159050e218002f7f152a5885e065c55f109932085854f8c4f45fb70ecb629c5a6bfeef87d2f94db0e39ab82004f337fc 0001-Fix-the-signature-of-drmModeCrtcSetGamma.patch
+"
diff --git a/testing/miraclecast/APKBUILD b/testing/miraclecast/APKBUILD
new file mode 100644
index 00000000000..1d2b8ff934b
--- /dev/null
+++ b/testing/miraclecast/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=miraclecast
+pkgver=1.0_git20221016
+pkgrel=0
+_commit="380504b0f833faa46f12d3a1f3861b97d08d32a4"
+pkgdesc="Connect external monitors to your system via Wifi-Display specification also known as Miracast"
+url="https://github.com/albfan/miraclecast"
+arch="all"
+license="LGPL-2.1-or-later AND LGPL-2.0-or-later AND GPL-2.0-only"
+makedepends="
+ meson
+ elogind-dev
+ eudev-dev
+ glib-dev
+ readline-dev
+ samurai
+ "
+subpackages="$pkgname-bash-completion"
+source="https://github.com/albfan/miraclecast/archive/$_commit/miraclecast-$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ abuild-meson \
+ . output \
+ -Denable-systemd=false \
+ -Dbuild-tests=true
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild -v -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+
+ mkdir -p "$pkgdir"/usr/share/dbus-1/system.d
+ mv \
+ "$pkgdir"/etc/dbus-1/system.d/org.freedesktop.miracle.conf \
+ "$pkgdir"/usr/share/dbus-1/system.d/
+ rm -r "$pkgdir"/etc/dbus-1
+}
+
+sha512sums="
+b3a91cffa36cdfff3db9cd080d1ccf549188cf26a01d2f795b0262e9c7e621b9bc9bdf1e606c38b4051381dac8295f7dc9561b77601db29ac520eadd237c2003 miraclecast-380504b0f833faa46f12d3a1f3861b97d08d32a4.tar.gz
+"
diff --git a/testing/mitmproxy/APKBUILD b/testing/mitmproxy/APKBUILD
index f09c0203885..3acec9de8f6 100644
--- a/testing/mitmproxy/APKBUILD
+++ b/testing/mitmproxy/APKBUILD
@@ -1,30 +1,31 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Michał Polański <michal@polanski.me>
pkgname=mitmproxy
-pkgver=7.0.4
-pkgrel=1
+pkgver=10.2.0
+pkgrel=0
pkgdesc="Interactive TLS-capable intercepting HTTP proxy"
url="https://mitmproxy.org/"
license="MIT"
-arch="noarch !s390x !armhf !mips64" # limited by py3-zstandard
+# armhf, s390x: limited by py3-zstandard
+# ppc64le, riscv64, s390x: limited by py3-mitmproxy-rs
+arch="noarch !armhf !ppc64le !riscv64 !s390x"
depends="
- python3
+ py3-aioquic
py3-asgiref
- py3-blinker
py3-brotli
py3-certifi
- py3-click
py3-cryptography
py3-flask
+ py3-h11
py3-h2
py3-hyperframe
py3-kaitaistruct
py3-ldap3
+ py3-mitmproxy-rs
py3-msgpack
py3-passlib
py3-protobuf
- py3-asn1
py3-openssl
py3-parsing
py3-pyperclip
@@ -36,7 +37,12 @@ depends="
py3-publicsuffix2
py3-zstandard
"
-makedepends="py3-setuptools"
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-setuptools
+ py3-wheel
+ "
checkdepends="
py3-hypothesis
py3-parver
@@ -44,37 +50,36 @@ checkdepends="
py3-pytest-asyncio
py3-requests
"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mitmproxy/mitmproxy/archive/v$pkgver.tar.gz
+subpackages="$pkgname-pyc"
+source="https://github.com/mitmproxy/mitmproxy/archive/$pkgver/mitmproxy-$pkgver.tar.gz
skip-test-optmanager-x86.patch
+ fix-openssl-tests.patch
"
# secfixes:
# 7.0.3-r0:
# - CVE-2021-39214
-prepare() {
- default_prepare
- # remove test file importing asynctest module, which doesn't support python3.8
- # see: https://github.com/Martiusweb/asynctest/issues/132
- rm test/mitmproxy/addons/test_readfile.py
-
- # relax constraints on required dependencies
- sed -E "s/, *<[0-9=.]*//" -i setup.py
-}
-
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- pytest --deselect "test/mitmproxy/test_version.py::test_get_version"
+ pytest \
+ --deselect "test/mitmproxy/test_version.py::test_get_version" \
+ --deselect "test/mitmproxy/proxy/test_mode_servers.py::test_wireguard" \
+ --deselect "test/mitmproxy/addons/test_script.py::test_order"
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ python3 -m installer -d "$pkgdir" \
+ .dist/mitmproxy-$pkgver-py3-none-any.whl
}
sha512sums="
-4224b44e609f84b974b5419c6ceb576845957968c786ee437bffb5fa5df685ce0712d5ef8c402d40c568406242f44692cc7f04037fadd19ecece8b112d73b7ae mitmproxy-7.0.4.tar.gz
-30d677fe7899394e096d20f16d5522dc962518bebf4e23eaa954507a2dd99af61e568e6515363c74fd606d43cce21bc4c3272c6f08d2cf97d88981449cf9d1a2 skip-test-optmanager-x86.patch
+dde49756394b6ea0c69e791f0ffe579d8ba2b0a321032af8700a4ba3d1a26039e477f24523fb34229faf0e9c71a29530938c8f302dc9131a674f4cb47a57f0c3 mitmproxy-10.2.0.tar.gz
+1baa88dae9f664af4bed62f89a7f5d13685b42774ea19563eba7298ef09fa07fafb4d5f1650e044561a5d304451d916e6c9833ad9755204d424bea6ed3bdb4fd skip-test-optmanager-x86.patch
+7f37bcff3ea870224075f18745e382c9ba8bd3c8697be11d0eccf458a5f4eecdda097c2ae790f6f5db796512c03fb78988d3e96cbde5aac6cef6a8b8b767faab fix-openssl-tests.patch
"
diff --git a/testing/mitmproxy/fix-openssl-tests.patch b/testing/mitmproxy/fix-openssl-tests.patch
new file mode 100644
index 00000000000..8e3d07bbe84
--- /dev/null
+++ b/testing/mitmproxy/fix-openssl-tests.patch
@@ -0,0 +1,20 @@
+apparently the tests rely on some openssl library error strings, and we get different ones :)
+
+diff --git a/test/mitmproxy/proxy/layers/test_tls.py b/test/mitmproxy/proxy/layers/test_tls.py
+index 9960f8b..892ce31 100644
+--- a/test/mitmproxy/proxy/layers/test_tls.py
++++ b/test/mitmproxy/proxy/layers/test_tls.py
+@@ -394,3 +394,3 @@ class TestServerTLS:
+ << commands.Log(
+- "Server TLS handshake failed. The remote server does not speak TLS.",
++ "Server TLS handshake failed. OpenSSL Error([('SSL routines', '', 'packet length too long'), ('SSL routines', '', 'record layer failure')])",
+ WARNING,
+@@ -401,3 +401,2 @@ class TestServerTLS:
+ )
+- assert tls_hook_data().conn.error == "The remote server does not speak TLS."
+
+@@ -668,3 +667,3 @@ class TestClientTLS:
+ "Client TLS handshake failed. The client does not trust the proxy's certificate "
+- "for wrong.host.mitmproxy.org (sslv3 alert bad certificate)",
++ "for wrong.host.mitmproxy.org (OpenSSL Error([('SSL routines', '', 'ssl/tls alert bad certificate')]))",
+ WARNING,
diff --git a/testing/mitmproxy/skip-test-optmanager-x86.patch b/testing/mitmproxy/skip-test-optmanager-x86.patch
index 0300d9b9867..b2d21c93091 100644
--- a/testing/mitmproxy/skip-test-optmanager-x86.patch
+++ b/testing/mitmproxy/skip-test-optmanager-x86.patch
@@ -1,5 +1,3 @@
-diff --git a/test/mitmproxy/test_optmanager.py b/test/mitmproxy/test_optmanager.py
-index d0f0567..e24e378 100644
--- a/test/mitmproxy/test_optmanager.py
+++ b/test/mitmproxy/test_optmanager.py
@@ -186,6 +186,8 @@ def test_subscribe():
diff --git a/testing/mitra/APKBUILD b/testing/mitra/APKBUILD
new file mode 100644
index 00000000000..31a634d6891
--- /dev/null
+++ b/testing/mitra/APKBUILD
@@ -0,0 +1,100 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=mitra
+pkgver=2.16.0
+pkgrel=0
+_mitraweb=$pkgver #"${pkgver%.*}.0"
+pkgdesc="ActivityPub microblogging platform written in Rust"
+url="https://mitra.social/@mitra"
+# riscv64: vite webapp fails to build: 'Parse error @:1:38'
+arch="all !riscv64"
+license="AGPL-3.0-only"
+depends="postgresql"
+makedepends="
+ cargo
+ cargo-auditable
+ nodejs
+ npm
+ openssl-dev
+ "
+install="$pkgname.pre-install $pkgname.post-install"
+pkgusers="mitra"
+pkggroups="mitra"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="mitra-$pkgver.tar.gz::https://codeberg.org/silverpill/mitra/archive/v$pkgver.tar.gz
+ mitra-web-$_mitraweb.tar.gz::https://codeberg.org/silverpill/mitra-web/archive/v$_mitraweb.tar.gz
+ mitra.initd
+ init.sql
+ config.yaml
+ "
+builddir="$srcdir/mitra"
+
+# use system openssl
+export OPENSSL_NO_VENDOR=1
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+
+ cd "$srcdir/mitra-web"
+
+ npm ci --foreground-scripts
+}
+
+build() {
+ RUSTFLAGS="--cfg=ammonia_unstable" \
+ cargo auditable build --frozen --release \
+ --features production
+
+ cd "$srcdir/mitra-web"
+
+ echo 'VITE_BACKEND_URL=' > .env.local
+ npm run build
+}
+
+check() {
+ # These tests require a database connection
+ RUSTFLAGS="--cfg=ammonia_unstable" \
+ cargo test --frozen --workspace \
+ --exclude mitra_models -- \
+ --skip test_follow_unfollow \
+ --skip test_hide_reblogs \
+ --skip test_subscribe_unsubscribe \
+ --skip test_get_jrd \
+ --skip test_filter_mentions_none \
+ --skip test_filter_mentions_only_known \
+ --skip test_prepare_instance_ed25519_key
+
+ cd "$srcdir/mitra-web"
+
+ npm run test
+}
+
+package() {
+ install -Dm755 target/release/mitra -t "$pkgdir"/usr/bin
+ install -Dm755 target/release/mitractl -t "$pkgdir"/usr/bin
+
+ mkdir -p "$pkgdir"/usr/share/webapps
+ cp -r "$srcdir"/mitra-web/dist \
+ "$pkgdir"/usr/share/webapps/mitra
+
+ install -Dm644 docs/* -t "$pkgdir"/usr/share/doc/$pkgname
+ install -Dm644 config_dev.example.yaml \
+ contrib/Caddyfile contrib/*.nginx \
+ contrib/monero/wallet.conf \
+ -t "$pkgdir"/usr/share/doc/$pkgname/examples
+
+ install -Dm640 -g mitra "$srcdir"/config.yaml -t "$pkgdir"/etc/mitra
+ install -dm755 -o mitra -g mitra "$pkgdir"/var/lib/mitra
+ install -Dm644 "$srcdir"/init.sql -t "$pkgdir"/var/lib/mitra
+ install -Dm755 "$srcdir"/mitra.initd "$pkgdir"/etc/init.d/mitra
+}
+
+sha512sums="
+11ccb4162e5d35f774438c964f174c28d89e67be1d0789cb0320997c149739ade73388ebf18fdc1d5bf476f8b589e41f83b5a9a3e587ee7383fb39e6f4201af1 mitra-2.16.0.tar.gz
+59935e83c4c462d6d44774d3780844962c7a5c34bc1aa335cfb6565a8f32d7af55344a61d45d4cbcb7fed9a6ce68925ec9982feaa171e895bed8fef9d9a38447 mitra-web-2.16.0.tar.gz
+691f84f5dfdddc176e75792ab03ff167054246e75ced51be47a89f405ae55ebe5eb6280b73c1b467b5ecbe8539f6108fb3d86873d50fcc4f4b8c5b182632acb0 mitra.initd
+180a47f5072534418b4aac3ce7c885a4f7e4dc38aca80d6d81c79848d12fbe24799788c3575bd195030a10da5e0372f87fa2809a4ef99a48eaa6df52f4d053dd init.sql
+c958bcd6c96cb40d7369b7dcd13d1722ed23afb856c2569630b47cf5fe8a94105bb5e7ed7421c169e08f3764d9e60e05bed0b861ab117292d715600c852b15b0 config.yaml
+"
diff --git a/testing/mitra/config.yaml b/testing/mitra/config.yaml
new file mode 100644
index 00000000000..7f93b570260
--- /dev/null
+++ b/testing/mitra/config.yaml
@@ -0,0 +1,121 @@
+# Mitra configuration file
+
+# Database configuration
+# Examples:
+# - postgres://mitra:mitra@127.0.0.1:5432/mitra
+# - postgres://mitra@%2Fvar%2Frun%2Fpostgresql/mitra
+database_url: postgres://mitra:${psql_password}@127.0.0.1:5432/mitra
+#database_tls_ca_file: /etc/mitra/database.pem
+
+# Directory where media attachments and temporary files are stored
+storage_dir: /var/lib/mitra
+# Directory where static files for web client (frontend) are stored
+web_client_dir: /usr/share/webapps/mitra
+
+http_host: '127.0.0.1'
+http_port: 8383
+
+# List of allowed origins for CORS (in addition to `instance_uri`)
+# Trailing slashes are not allowed.
+#http_cors_allowlist:
+# - http://127.0.0.1:8383
+
+# Log level (debug, info, warn)
+#log_level: info
+
+# Domain name
+instance_uri: https://example.tld
+
+instance_title: example
+instance_short_description: my instance
+# Long description can contain markdown syntax
+instance_description: |
+ # My instance
+ Welcome!
+# Make list of instance admins public
+instance_staff_public: false
+# Make instance (local) timeline public
+instance_timeline_public: false
+
+registration:
+ # Possible values: open, invite
+ type: invite
+ # Possible values: user, read_only_user
+ default_role: user
+
+# Possible values: password, eip4361, caip122_monero. Default: only password.
+#authentication_methods:
+# - password
+# - eip4361
+# - caip122_monero
+# Access token expiration time (seconds). Default: 7 days
+#authentication_token_lifetime: 604800
+
+# EIP-4361 / CAIP-122 login message
+#login_message: 'Do not sign this message on other sites!'
+
+# Limits
+#limits:
+# media:
+# file_size_limit: 20M
+# posts:
+# character_limit: 5000
+
+# Data retention parameters.
+# Objects will be deleted after the specified number of days.
+retention:
+ # Remote posts with which local accounts didn't interact
+ extraneous_posts: 50
+ # Remote accounts without posts
+ empty_profiles: 150
+
+# Federation parameters
+#federation:
+# enabled: true
+# # Proxy for outgoing requests
+# #proxy_url: 'socks5h://127.0.0.1:9050'
+# # Proxy for outgoing requests to .onion targets
+# #onion_proxy_url: 'socks5h://127.0.0.1:9050'
+# # Proxy for outgoing requests to .i2p targets
+# #i2p_proxy_url: 'socks5h://127.0.0.1:4447'
+
+# Lists of blocked and allowed domains (allowlist has higher priority).
+# Wildcard patterns are supported. Example: *.domain.example
+#blocked_instances: []
+#allowed_instances: []
+
+# Blockchain integrations
+# Multi-chain setups are currently not supported.
+# Chain metadata for EVM chains can be found at https://github.com/ethereum-lists/chains
+# Signing key for ethereum integration can be generated with `mitractl generate-ethereum-address`
+#blockchains:
+# - chain_id: monero:mainnet
+# chain_metadata:
+# # Displayed on subscription page, can contain markdown syntax
+# description: null
+# node_url: 'http://127.0.0.1:18089'
+# wallet_rpc_url: 'http://127.0.0.1:18083'
+# wallet_rpc_username: null
+# wallet_rpc_password: null
+# wallet_name: null
+# wallet_password: null
+# account_index: 0
+# - chain_id: eip155:31337
+# chain_metadata:
+# chain_name: localhost
+# currency_name: ETH
+# currency_symbol: ETH
+# currency_decimals: 18
+# public_api_url: 'http://127.0.0.1:8545'
+# explorer_url: null
+# contract_address: '0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9'
+# contract_dir: /usr/share/mitra/contracts
+# api_url: 'http://127.0.0.1:8545'
+# signing_key: null
+# chain_sync_step: 1000
+# chain_reorg_max_depth: 10
+
+# IPFS integration
+#ipfs_api_url: 'http://127.0.0.1:5001'
+# IPFS gateway (for clients)
+#ipfs_gateway_url: 'https://ipfs.example.tld'
diff --git a/testing/mitra/init.sql b/testing/mitra/init.sql
new file mode 100644
index 00000000000..be22ea28630
--- /dev/null
+++ b/testing/mitra/init.sql
@@ -0,0 +1,2 @@
+CREATE USER mitra WITH PASSWORD '${psql_password}';
+CREATE DATABASE mitra OWNER mitra ENCODING 'UTF8';
diff --git a/testing/mitra/mitra.initd b/testing/mitra/mitra.initd
new file mode 100644
index 00000000000..c50b06ba5bb
--- /dev/null
+++ b/testing/mitra/mitra.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+
+name=mitra
+description="Mitra is an ActivityPub microblogging platform written in Rust"
+
+: ${cfgfile:="/etc/mitra/config.yaml"}
+export CONFIG_PATH="${cfgfile}"
+
+command="/usr/bin/mitra"
+command_background=true
+command_user="mitra:mitra"
+pidfile="/run/${RC_SVCNAME}.pid"
+directory="/var/lib/mitra"
+error_log="/var/log/mitra.log"
+
+required_files="$cfgfile"
+
+depend() {
+ need localmount net postgresql
+ after firewall
+}
+
+start_pre() {
+ checkpath -f -m 0640 -o "root:mitra" "$cfgfile"
+ checkpath -f -m 0640 -o "$command_user" "$error_log"
+ checkpath -d -m 0750 -o "$command_user" "$directory"
+}
diff --git a/testing/mitra/mitra.post-install b/testing/mitra/mitra.post-install
new file mode 100644
index 00000000000..ab2f6413a95
--- /dev/null
+++ b/testing/mitra/mitra.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+echo "--"
+echo "Create a PostgreSQL user and database using /var/lib/mitra/init.sql."
+echo "Be sure to set the database password in the config at /etc/mitra/config.yaml."
+echo "Then create an admin user with 'mitractl create-user <user> <password> admin'."
+echo "--"
diff --git a/testing/mitra/mitra.pre-install b/testing/mitra/mitra.pre-install
new file mode 100644
index 00000000000..b91fd19ad2e
--- /dev/null
+++ b/testing/mitra/mitra.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S mitra 2>/dev/null
+adduser -S -D -H \
+ -h /var/lib/mitra \
+ -s /sbin/nologin \
+ -G mitra \
+ -g "Mitra microblogging platform" \
+ mitra 2>/dev/null
+
+exit 0
diff --git a/testing/mixxx/0001-Allow-None-buildtype.patch b/testing/mixxx/0001-Allow-None-buildtype.patch
deleted file mode 100644
index abbf5f35218..00000000000
--- a/testing/mixxx/0001-Allow-None-buildtype.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 258db61bd8409e3c2f93f2eac16ffed2bfc221df Mon Sep 17 00:00:00 2001
-From: Bart Ribbers <bribbers@disroot.org>
-Date: Sun, 18 Jul 2021 01:03:54 +0200
-Subject: [PATCH] Allow None buildtype
-
-Some distributions, in my case Alpine Linux, require building CMake packages with the
-"None" buildtype as this makes packages use compiler flags required by
-the distribution.
-
-See a discussion with the Arch Linux maintainer:
-archlinux/svntogit-community@da37cf2#r53047679
-
-And with one of the Alpine Linux packagers:
-https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/23363#note_168960
----
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b924921e41..1a85dfb9a2 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -53,8 +53,8 @@ if(NOT CMAKE_CONFIGURATION_TYPES)
- set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE STRING "Choose the type of build." FORCE)
- # Set the possible values of build type for cmake-gui
- set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release" "RelWithDebInfo")
-- elseif(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo)$")
-- message(FATAL_ERROR "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} is not supported, use one of Debug, Release or RelWithDebInfo.")
-+ elseif(NOT CMAKE_BUILD_TYPE MATCHES "^(Debug|Release|RelWithDebInfo|None)$")
-+ message(FATAL_ERROR "CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} is not supported, use one of Debug, Release, RelWithDebInfo or None.")
- endif()
- endif()
-
---
-2.32.0
-
diff --git a/testing/mixxx/APKBUILD b/testing/mixxx/APKBUILD
index ecff09d7295..6da4121366d 100644
--- a/testing/mixxx/APKBUILD
+++ b/testing/mixxx/APKBUILD
@@ -1,73 +1,66 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=mixxx
-pkgver=2.3.1
-pkgrel=1
+pkgver=2.3.6
+pkgrel=2
pkgdesc="DJ mixing software"
url="https://www.mixxx.org/"
-# riscv64, s390x and mips64 blocked by polkit -> upower
-arch="all !riscv64 !s390x !mips64"
+arch="all"
license="GPL-2.0-or-later"
+depends="qt5-qtbase-sqlite"
# eudev is used to determine the right location to install a udev file by the build system
makedepends="
+ chromaprint-dev
cmake
-
+ eudev-dev
+ ffmpeg-dev
+ fftw-dev
+ flac-dev
+ glu-dev
+ hidapi-dev
lame-dev
+ libebur128-dev
+ libid3tag-dev
libkeyfinder-dev
libmad-dev
- libid3tag-dev
- taglib-dev
- opusfile-dev
libmodplug-dev
- libvorbis-dev
- wavpack-dev
- ffmpeg-dev
+ libshout-dev
libsndfile-dev
- flac-dev
-
- fftw-dev
+ libusb-dev
+ libvorbis-dev
lilv-dev
- rubberband-dev
- soundtouch-dev
-
+ opusfile-dev
portaudio-dev
- portmidi-dev
- libshout-dev
-
+ portmidi-dev<=200
protobuf-dev
- chromaprint-dev
- sqlite-dev
- libusb-dev
-
- upower-dev
- hidapi-dev
-
qt5-qtbase-dev
- qt5-qtkeychain-dev
- qt5-qttools-dev
- qt5-qtx11extras-dev
qt5-qtscript-dev
qt5-qtsvg-dev
-
- glu-dev
- eudev-dev
+ qt5-qttools-dev
+ qt5-qtx11extras-dev
+ qtkeychain-dev
+ rubberband-dev
+ samurai
+ soundtouch-dev
+ sqlite-dev
+ taglib-dev
+ upower-dev
+ wavpack-dev
"
checkdepends="xvfb-run"
subpackages="$pkgname-doc"
-source="https://github.com/mixxxdj/mixxx/archive/$pkgver/mixxx-$pkgver.tar.gz
- 0001-Allow-None-buildtype.patch
- "
+source="https://github.com/mixxxdj/mixxx/archive/$pkgver/mixxx-$pkgver.tar.gz"
install="$pkgname.post-install $pkgname.post-upgrade"
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib
cmake --build build
}
check() {
- CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run ctest
+ CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run -a ctest
}
package() {
@@ -75,6 +68,5 @@ package() {
}
sha512sums="
-17cf8dee2aaca2ed85067474d40b0955abd22268767a9c68dbc8126554e6b216ddab9a42b6c888606aca61fdcccccda3062f5b4f1f550722c5033c516e046816 mixxx-2.3.1.tar.gz
-ddc3a9e3b6ea21a6d6c6043164322d68c972c54449b17c9167fc597bb1f6533da56d6540b0d31d29b4e90a6fb590c59f48d9aae0e6af6fba96b6ca3a28c09849 0001-Allow-None-buildtype.patch
+a92c2c92dc7619ac135d940f23ffdc101c528eca6322517805afb9eb48a84c6339cefb88b96bdac6ffb23967c2f93f621daf3e98bfecbf7f3fe7626ddcec4398 mixxx-2.3.6.tar.gz
"
diff --git a/testing/mjpg-streamer/APKBUILD b/testing/mjpg-streamer/APKBUILD
index c2a886a4045..51bb4d66478 100644
--- a/testing/mjpg-streamer/APKBUILD
+++ b/testing/mjpg-streamer/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: George Hopkins <george-hopkins@null.net>
pkgname=mjpg-streamer
pkgver=0_git20210220
-pkgrel=0
+pkgrel=1
_commit="310b29f4a94c46652b20c4b7b6e5cf24e532af39"
pkgdesc="MJPEG streaming application for Linux-UVC compatible webcams"
url="https://github.com/jacksonliam/mjpg-streamer"
diff --git a/testing/mk-configure/APKBUILD b/testing/mk-configure/APKBUILD
deleted file mode 100644
index 8a92a558554..00000000000
--- a/testing/mk-configure/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=mk-configure
-pkgver=0.37.0
-pkgrel=0
-pkgdesc="Lightweight replacement for autotools"
-url="https://github.com/cheusov/mk-configure"
-arch="noarch"
-license="BSD-2-Clause"
-depends="bmake bmkdep"
-checkdepends="texinfo flex bison groff"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/cheusov/mk-configure/archive/refs/tags/mk-configure-$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgname-$pkgver"
-options="!check" # Not working correctly.
-
-build() {
- bmake PREFIX=/usr SYSCONFDIR=/etc
-}
-
-package() {
- bmake install DESTDIR="$pkgdir" PREFIX=/usr MANDIR=/usr/share/man SYSCONFDIR=/etc
-}
-
-sha512sums="
-53908709c478aa60ad9fc4ca5ef2c4249b243fd398735ad6f601864715b582b8abbd710a43d81d86a36864bf6e60e64304ddf014ddce0b1ae6c08a6a2a4e1cef mk-configure-0.37.0.tar.gz
-"
diff --git a/testing/mkcert/APKBUILD b/testing/mkcert/APKBUILD
index e9a09ed6412..2650a0a0c19 100644
--- a/testing/mkcert/APKBUILD
+++ b/testing/mkcert/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=mkcert
-pkgver=1.4.3
-pkgrel=1
+pkgver=1.4.4
+pkgrel=11
pkgdesc="simple zero-config tool to make locally trusted development certificates with any names you'd like"
url="https://mkcert.dev/"
arch="all"
@@ -10,6 +10,10 @@ makedepends="go nss-tools"
options="chmod-clean"
source="$pkgname-$pkgver.tar.gz::https://github.com/FiloSottile/mkcert/archive/refs/tags/v$pkgver.tar.gz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
go generate
go build -ldflags "-X main.Version=$pkgver" -v
@@ -24,5 +28,5 @@ package() {
}
sha512sums="
-d21269253fbcd96b7fd5afe5469123becbd1d280428272292de052b4772f4017af373289f5cb66179b7689368d1c262f4253dba04e0faa2f18824aa34607f250 mkcert-1.4.3.tar.gz
+480672618df409f153535f42ed4777447635b2ac78e38d9cc62aa9baa47b074aa01fa94ade4666f9ad31bf870caec53e5f0de69791c5e094a911d59f82382b05 mkcert-1.4.4.tar.gz
"
diff --git a/testing/mkdocs-alabaster/APKBUILD b/testing/mkdocs-alabaster/APKBUILD
deleted file mode 100644
index 5fc8062482b..00000000000
--- a/testing/mkdocs-alabaster/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=mkdocs-alabaster
-pkgver=0.8.0
-pkgrel=1
-pkgdesc="alabaster port for MkDocs"
-url="https://mkdocs-alabaster.ale.sh"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/m/mkdocs-alabaster/mkdocs-alabaster-$pkgver.tar.gz"
-options="!check"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-d2c25f5ee3820aabb5398ada04d17127088d4a477495dea363cf13f07bba315da46a68a6be94a76852ecbdb9f050f071d439e4210cc9b709a004ab5794097eff mkdocs-alabaster-0.8.0.tar.gz
-"
diff --git a/testing/mkdocs-bootstrap/APKBUILD b/testing/mkdocs-bootstrap/APKBUILD
index 70e7ef7cedb..152beca0d7a 100644
--- a/testing/mkdocs-bootstrap/APKBUILD
+++ b/testing/mkdocs-bootstrap/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-bootstrap
-pkgver=1.1
+pkgver=1.1.1
pkgrel=1
pkgdesc="bootstrap theme for mkdocs"
url="http://mkdocs.github.io/mkdocs-bootstrap"
@@ -9,6 +9,7 @@ arch="noarch"
license="BSD-2-Clause"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-bootstrap/mkdocs-bootstrap-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,9 +18,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-1fd0461c11db0d696955bcd62153328a379b03661d2e36d28265e5c94aa536c6a277c935d51138ec3df5f3cb4b5b9479efe1b01ac13b8c6903e1509cab23077e mkdocs-bootstrap-1.1.tar.gz
+590b6ab2b449c65e26a90a76cae2b10d3a6681c99b33c0ff91c48ca3e2e90c2c4cf3cb0588d9c13775568b084bec56862dc212e9b30bd081e78e4ff3da2c8cbe mkdocs-bootstrap-1.1.1.tar.gz
"
diff --git a/testing/mkdocs-bootstrap386/APKBUILD b/testing/mkdocs-bootstrap386/APKBUILD
index b0bb3196d1a..084186a895f 100644
--- a/testing/mkdocs-bootstrap386/APKBUILD
+++ b/testing/mkdocs-bootstrap386/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-bootstrap386
pkgver=0.0.2
-pkgrel=1
+pkgrel=4
pkgdesc="a vintage 1980s DOS inspired Twitter Bootstrap theme for mkdocs"
url="https://github.com/chrissimpkins/bootstrap386"
arch="noarch"
license="BSD-2-Clause"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-bootstrap386/mkdocs-bootstrap386-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/mkdocs-bootstrap4/APKBUILD b/testing/mkdocs-bootstrap4/APKBUILD
index 44576b5aad8..5aab0d37e57 100644
--- a/testing/mkdocs-bootstrap4/APKBUILD
+++ b/testing/mkdocs-bootstrap4/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-bootstrap4
pkgver=0.1.5
-pkgrel=1
+pkgrel=4
pkgdesc="bootstrap4 theme for mkdocs"
url="https://github.com/byrnereese/mkdocs-bootstrap4"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-bootstrap4/mkdocs-bootstrap4-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/mkdocs-bootswatch/APKBUILD b/testing/mkdocs-bootswatch/APKBUILD
index f0695ab5c2e..619d872bdfc 100644
--- a/testing/mkdocs-bootswatch/APKBUILD
+++ b/testing/mkdocs-bootswatch/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-bootswatch
pkgver=1.1
-pkgrel=1
+pkgrel=4
pkgdesc="bootswatch themes for mkdocs"
url="http://mkdocs.org"
arch="noarch"
license="BSD-2-Clause"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-bootswatch/mkdocs-bootswatch-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/mkdocs-cinder/APKBUILD b/testing/mkdocs-cinder/APKBUILD
index b6eb7e8353b..cc43b24463c 100644
--- a/testing/mkdocs-cinder/APKBUILD
+++ b/testing/mkdocs-cinder/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-cinder
pkgver=1.2.0
-pkgrel=1
+pkgrel=4
pkgdesc="clean responsive theme for mkdocs"
url="https://github.com/chrissimpkins/cinder"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-cinder/mkdocs-cinder-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/mkdocs-cluster/APKBUILD b/testing/mkdocs-cluster/APKBUILD
index 3af1580ba9e..cb8ed57a739 100644
--- a/testing/mkdocs-cluster/APKBUILD
+++ b/testing/mkdocs-cluster/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-cluster
pkgver=0.0.9
-pkgrel=1
+pkgrel=4
pkgdesc="another bootstrap theme for mkdocs"
url="https://gitlab.com/kaliko/mkdocs-cluster"
arch="noarch"
license="BSD-2-Clause"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-cluster/mkdocs-cluster-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/mkdocs-gitbook/APKBUILD b/testing/mkdocs-gitbook/APKBUILD
index b3c33dcdd75..15d2d8011e2 100644
--- a/testing/mkdocs-gitbook/APKBUILD
+++ b/testing/mkdocs-gitbook/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-gitbook
pkgver=0.0.1
-pkgrel=1
+pkgrel=4
pkgdesc="GitBook theme for mkdocs"
url="https://gitlab.com/lramage/mkdocs-gitbook-theme"
arch="noarch"
license="Apache-2.0"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-gitbook/mkdocs-gitbook-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/mkdocs-ivory/APKBUILD b/testing/mkdocs-ivory/APKBUILD
index 589b5743d6f..c8632955a27 100644
--- a/testing/mkdocs-ivory/APKBUILD
+++ b/testing/mkdocs-ivory/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-ivory
pkgver=0.4.6
-pkgrel=1
+pkgrel=4
pkgdesc="ivory theme for MkDocs"
url="https://github.com/daizutabi/mkdocs-ivory"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-ivory/mkdocs-ivory-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/mkdocs-material-extensions/APKBUILD b/testing/mkdocs-material-extensions/APKBUILD
deleted file mode 100644
index 14931bcb263..00000000000
--- a/testing/mkdocs-material-extensions/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=mkdocs-material-extensions
-pkgver=1.0.1
-pkgrel=1
-pkgdesc="extension pack for Python Markdown"
-url="https://github.com/facelessuser/mkdocs-material-extensions"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/m/mkdocs-material-extensions/mkdocs-material-extensions-$pkgver.tar.gz"
-options="!check" # Recursive dependency with mkdocs-material
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-9f127735dcca9cd668496af18d850762131ce4f754e1852bc9b322213dce0854bb5f4438bfe5ac0eea11176f3ffc3c7a79a75a6812b2f3eba9d65165c5063421 mkdocs-material-extensions-1.0.1.tar.gz
-"
diff --git a/testing/mkdocs-material/APKBUILD b/testing/mkdocs-material/APKBUILD
deleted file mode 100644
index 9490fbf5b36..00000000000
--- a/testing/mkdocs-material/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=mkdocs-material
-pkgver=7.1.9
-pkgrel=1
-pkgdesc="a material Design theme for MkDocs"
-url="https://squidfunk.github.io/mkdocs-material"
-arch="noarch"
-license="MIT"
-depends="mkdocs-material-extensions py3-pygments py3-pymdown-extensions python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/m/mkdocs-material/mkdocs-material-$pkgver.tar.gz"
-options="!check" # No tests.
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-d3e0286ab05ec6651bfef0862eb46ebfb7a3d6632b0f36c37d90b97a57626cd6f0a3fdacbd11f3bea80f6344377c8247797551d1a5d6e8ab616a242e3459417c mkdocs-material-7.1.9.tar.gz
-"
diff --git a/testing/mkdocs-rtd-dropdown/APKBUILD b/testing/mkdocs-rtd-dropdown/APKBUILD
index a237eaf5159..fefcea2a171 100644
--- a/testing/mkdocs-rtd-dropdown/APKBUILD
+++ b/testing/mkdocs-rtd-dropdown/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-rtd-dropdown
pkgver=1.0.2
-pkgrel=1
+pkgrel=4
pkgdesc="clone of read the docs theme for markdown"
url="https://github.com/cjsheets/mkdocs-rtd-dropdown"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/mkdocs-rtd-dropdown/mkdocs-rtd-dropdown-$pkgver.tar.gz"
options="!check" # No tests.
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/mkdocs-windmill-dark/APKBUILD b/testing/mkdocs-windmill-dark/APKBUILD
deleted file mode 100644
index 2c28d200415..00000000000
--- a/testing/mkdocs-windmill-dark/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=mkdocs-windmill-dark
-pkgver=0.2.0
-pkgrel=1
-pkgdesc="mkdocs theme focused on navigation and usability (dark variant)"
-url="https://github.com/noraj/mkdocs-windmill-dark"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/m/mkdocs-windmill-dark/mkdocs-windmill-dark-$pkgver.tar.gz"
-options="!check" # No tests.
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-90e766e3c2a465e513dc2cd42754f9786c34a1c8e12e5521e5a39b08271f9125c7a9807d4223b19d04b965357af1e6dc4027fb6e2b3b3c70749aa21f8ee3d848 mkdocs-windmill-dark-0.2.0.tar.gz
-"
diff --git a/testing/mkdocs-windmill/APKBUILD b/testing/mkdocs-windmill/APKBUILD
index dadf71bc0c5..cfc9f8b6edb 100644
--- a/testing/mkdocs-windmill/APKBUILD
+++ b/testing/mkdocs-windmill/APKBUILD
@@ -1,15 +1,16 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=mkdocs-windmill
-pkgver=1.0.4
-pkgrel=1
-pkgdesc="mkdocs theme focused on navigation and usability"
+pkgver=1.0.5
+pkgrel=3
+pkgdesc="MkDocs theme focused on navigation and usability"
url="https://github.com/gristlabs/mkdocs-windmill"
arch="noarch"
license="MIT"
-depends="python3"
+depends="python3 mkdocs"
makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/m/mkdocs-windmill/mkdocs-windmill-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/m/$pkgname/$pkgname-$pkgver.tar.gz"
options="!check" # No tests.
build() {
@@ -17,9 +18,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-5e5e0fd580d2c6af7842a0c91549a59c71baf65cceaeafd453b141e33e1ea7ff8820c819413b2df04a6c969d9dba66ee963ffabb16cf7799463453207090f4c6 mkdocs-windmill-1.0.4.tar.gz
+32093a10e1ef1eddba6de031556bcf53f7b8bb9ef911a5bde4b89aecb4733a1ec35cf9ec3d99b98b678b4d22f8958ef6da4e36b1fcac04fdf3cdc1a9a71766f0 mkdocs-windmill-1.0.5.tar.gz
"
diff --git a/testing/mkdocs/APKBUILD b/testing/mkdocs/APKBUILD
deleted file mode 100644
index 9b7042345b7..00000000000
--- a/testing/mkdocs/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=mkdocs
-pkgver=1.2.1
-pkgrel=1
-pkgdesc="project documentation with Markdown"
-url="http://mkdocs.org"
-arch="noarch !ppc64le !mips64" # Missing py3-importlib-metadata
-license="BSD-2-Clause"
-depends="py3-click
- py3-ghp-import
- py3-importlib-metadata
- py3-jinja2
- py3-markdown
- py3-mergedeep
- py3-packaging
- py3-pyyaml-env-tag
- py3-watchdog
- py3-yaml
- python3
- "
-makedepends="py3-setuptools"
-source="mkdocs-$pkgver.tar.gz::https://github.com/mkdocs/mkdocs/archive/refs/tags/$pkgver.tar.gz"
-options="!check" # No tests.
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-c1f9c3a46fd2c5d6819ea069bd48a82cbf5816bc1586a88e9eb776b2376106d9d5f8a0d9a70a9f9f56e39e9f29eaa3cbfa26a8c588acf568bde86f4028af9796 mkdocs-1.2.1.tar.gz
-"
diff --git a/testing/mkg3a/APKBUILD b/testing/mkg3a/APKBUILD
index a3ad1acded6..b41ba76cc12 100644
--- a/testing/mkg3a/APKBUILD
+++ b/testing/mkg3a/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: KikooDX <kikoodx@paranoici.org>
pkgname=mkg3a
pkgver=0.5.0
-pkgrel=0
+pkgrel=1
pkgdesc="utility for creating Casio Prizm add-on (.g3a) files"
url="https://gitlab.com/taricorp/mkg3a"
arch="all"
@@ -10,7 +10,7 @@ license="Zlib"
makedepends="libpng-dev cmake"
subpackages="$pkgname-doc"
options="!check" # there is no test suite
-source="$pkgname-$pkgver.tar.gz::$url/-/archive/$pkgver/mkg3a-$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/taricorp/mkg3a/-/archive/$pkgver/mkg3a-$pkgver.tar.gz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
diff --git a/testing/mkrundir/APKBUILD b/testing/mkrundir/APKBUILD
new file mode 100644
index 00000000000..f54b53b3d7e
--- /dev/null
+++ b/testing/mkrundir/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=mkrundir
+pkgver=0.3.1
+pkgrel=1
+pkgdesc="Create an XDG_RUNTIME_DIR"
+url="https://sr.ht/~whynothugo/mkrundir/"
+arch="x86_64 aarch64 riscv64" # Hare
+license="ISC"
+makedepends="hare libcap-setcap"
+source="
+ mkrundir-$pkgver.tar.gz::https://git.sr.ht/~whynothugo/mkrundir/archive/v$pkgver.tar.gz
+"
+options="!check setcap"
+builddir="$srcdir/mkrundir-v$pkgver/"
+
+build() {
+ make PREFIX=/usr mkrundir
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+586dcfcd39a953cd012b44f63b7f6a513a1f020d13b8e42e3bfde994a1b595ae82fd6f16ecf1867262b51a4adef2a5ae28f8990126fcb3d77931d973f62a3a68 mkrundir-0.3.1.tar.gz
+"
diff --git a/testing/mktorrent-borg/APKBUILD b/testing/mktorrent-borg/APKBUILD
index 461b6dba16c..7fdeefa3b79 100644
--- a/testing/mktorrent-borg/APKBUILD
+++ b/testing/mktorrent-borg/APKBUILD
@@ -1,32 +1,31 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=mktorrent-borg
pkgver=0.9.9
-pkgrel=0
+pkgrel=1
pkgdesc="A handy tool for creating .torrent files"
url="http://borg.uu3.net/~borg/"
arch="all"
license="BSD-3-Clause"
-makedepends="openssl-dev"
+makedepends="openssl-dev>3"
subpackages="$pkgname-doc"
-source="ftp://borg.uu3.net/pub/unix/mktorrent/mktorrent-${pkgver}.tgz"
+source="http://borg.uu3.net/ftp/pub/unix/mktorrent/mktorrent-$pkgver.tgz"
builddir="$srcdir/${pkgname/-borg/}"
build() {
- cd "$builddir"
make
}
check() {
- cd "$builddir"
./mktorrent --help > /dev/null
}
package() {
- cd "$builddir"
- install -D -m755 mktorrent $pkgdir/usr/bin/$pkgname
- install -D -m644 LICENSE $pkgdir/usr/share/licenses/$pkgname/LICENSE
+ install -D -m755 mktorrent $pkgdir/usr/bin/mktorrent
+ install -D -m644 LICENSE $pkgdir/usr/share/licenses/mktorrent/LICENSE
}
-sha512sums="ff702383c99d5c80b4433fb279968e1f19c6315216a2b74064ba57240ecd990b674195c035278c7e54801b77ab76fbb94667d8d7938d5ce2348faf015de27c5f mktorrent-0.9.9.tgz"
+sha512sums="
+ff702383c99d5c80b4433fb279968e1f19c6315216a2b74064ba57240ecd990b674195c035278c7e54801b77ab76fbb94667d8d7938d5ce2348faf015de27c5f mktorrent-0.9.9.tgz
+"
diff --git a/testing/mle/APKBUILD b/testing/mle/APKBUILD
deleted file mode 100644
index 914c6e7b377..00000000000
--- a/testing/mle/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Adam Saponara <as@php.net>
-# Maintainer: Adam Saponara <as@php.net>
-pkgname=mle
-pkgver=1.4.3
-pkgrel=0
-pkgdesc="Flexible terminal-based text editor"
-url="https://github.com/adsr/mle"
-arch="all"
-license="Apache-2.0"
-makedepends="uthash-dev termbox-dev lua5.3-dev pcre-dev"
-checkdepends="bash grep"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/adsr/mle/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- sed -i 's/-llua5.3/-llua/g' Makefile
-}
-
-build() {
- export CFLAGS="$CFLAGS -I/usr/include/lua5.3"
- export LDFLAGS="$LDFLAGS -L/usr/lib/lua5.3"
- make
-}
-
-check() {
- make test
-}
-
-package() {
- make DESTDIR="$pkgdir" prefix=/usr install
- install -d "$pkgdir/usr/share/man/man1"
- install -m644 mle.1 "$pkgdir"/usr/share/man/man1/
-}
-
-sha512sums="014a8834a088f410a9ef5cd213140f1e4386726bd277f5fdffdfff8165cd1460ede54d5cb62a26bdef804391a524d398a439977b8f82add3d365936a3c5505ab mle-1.4.3.tar.gz"
diff --git a/testing/mlxl/APKBUILD b/testing/mlxl/APKBUILD
new file mode 100644
index 00000000000..d9e61f66e1c
--- /dev/null
+++ b/testing/mlxl/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Miles Alan <m@milesalan.com>
+pkgname=mlxl
+pkgver=0.1
+pkgrel=0
+pkgdesc="Mobile Linux X Lock"
+url="https://git.sr.ht/~mil/mlxl"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="libx11-dev"
+source="
+ $pkgname-$pkgver.tar.gz::https://git.sr.ht/~mil/mlxl/archive/$pkgver.tar.gz
+ flags.patch
+ "
+# No test suite.
+# suid locker
+options="suid !check"
+
+build() {
+ make
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/bin
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b6fc13d8cdcda18206e50c5606932a076ac270bb525da1364c637e6b89be2e62c58e3fe77aaed5e1e3656a991ddb0e6de0be623e70170afac6f264a53398cc1f mlxl-0.1.tar.gz
+01418e757936a1693b42d576d563dffb4fc8751b7d787945feb3cb0c9fdf3056061844841c5a3ed636b075f1c707529d5a17a48071e423c76702d20082d025a9 flags.patch
+"
diff --git a/testing/mlxl/flags.patch b/testing/mlxl/flags.patch
new file mode 100644
index 00000000000..7c19464e947
--- /dev/null
+++ b/testing/mlxl/flags.patch
@@ -0,0 +1,11 @@
+diff --git a/Makefile b/Makefile
+index d468630..c2ccfd4 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,5 @@
+ mlxl:
+- gcc -o mlxl mlxl.c -lX11
++ gcc $(CFLAGS) $(LDFLAGS) -o mlxl mlxl.c -lX11
+ chmod u+s mlxl
+
+ clean:
diff --git a/testing/mm-common/APKBUILD b/testing/mm-common/APKBUILD
index 331b815a305..c10137f8970 100755..100644
--- a/testing/mm-common/APKBUILD
+++ b/testing/mm-common/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=mm-common
-pkgver=1.0.3
+pkgver=1.0.5
pkgrel=0
arch="noarch"
pkgdesc="Build infrastructure and utilities for GNOME C++ binding libraries"
@@ -9,38 +9,22 @@ options="!check" # No test suite
url="https://gitlab.gnome.org/GNOME/mm-common"
license="GPL-2.0-or-later"
depends="
- autoconf
- automake
gtkmm3-dev
glibmm-dev
"
+makedepends="meson"
subpackages="$pkgname-doc"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/GNOME/mm-common/archive/$pkgver.tar.gz
- http://gcc.gnu.org/onlinedocs/libstdc++/latest-doxygen/libstdc++.tag
- "
-
-prepare() {
- default_prepare
- ./autogen.sh
-
- cp $srcdir/libstdc++.tag $builddir/doctags/
-}
+source="$pkgname-$pkgver-2.tar.xz::https://download.gnome.org/sources/mm-common/${pkgver%.*}/mm-common-$pkgver.tar.xz"
build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --disable-network # Download libstdc++.tag outside configure
- make
+ abuild-meson -Db_lto=true . output
+ meson compile -C output
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
-a7d37ec74cae29e990ab1add4454eaded92ad929b9da19314879b408a43835bff5ee41d876c87aed3e6627b8f48f6dcd8f7afb84afa8f2521629a94590afc0b5 mm-common-1.0.3.tar.gz
-e47ca5e16e4b80bf5eedc7efb95c4d50200b1b7fc209021be330de35120aed1372e8106628819b0e8f4794b801320e1e87d3a266d2ba9ae98ab3842e1b202bb4 libstdc++.tag
+bf681b4d63d5bf531a9315b0c8841e3815af276828d1828a3eb04dcb805cbbfbaac182f79f5e48688a7eef8666975b9079144e320093e4ee3addff48813e61ad mm-common-1.0.5-2.tar.xz
"
diff --git a/testing/mm/APKBUILD b/testing/mm/APKBUILD
index aa6af1e4eac..d87d4363053 100644
--- a/testing/mm/APKBUILD
+++ b/testing/mm/APKBUILD
@@ -1,4 +1,3 @@
-# Contributor:
# Contributor: Valery Kartel <valery.kartel@gmail.com>
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=mm
diff --git a/testing/mmix/APKBUILD b/testing/mmix/APKBUILD
index e422cd83ce3..d0eacf1296a 100644
--- a/testing/mmix/APKBUILD
+++ b/testing/mmix/APKBUILD
@@ -1,27 +1,29 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=mmix
-pkgver=0_git20190219
+pkgver=0_git20221025
pkgrel=0
pkgdesc="Assembler and instruction level simulator for the MMIX platform"
url="http://www.mmix.cs.hm.edu/exe/index.html"
-# s390x, mips64 and riscv64 blocked by texlive
-arch="all !s390x !mips64 !riscv64"
+# ppc64le, s390x and riscv64 blocked by texlive
+arch="all !ppc64le !s390x !riscv64"
license="custom"
makedepends="texlive" # ctangle is needed to compile .w files
-_commit=ceed178e11ad19010b67c9282544b980984fdde3
+_commit=013719105c56e0205e003f7f6ae5c3e1314da6bc
source="$pkgname-$pkgver.tar.bz2::https://gitlab.lrz.de/mmix/mmixware/-/archive/$_commit/mmixware-$_commit.tar.bz2"
builddir="$srcdir/mmixware-$_commit"
options="!check" # contains no unit test suite
build() {
- make
+ # parallel build is broken. Luckily, this is quick to compile anyway
+ make all -j1
}
package() {
mkdir -p "$pkgdir/usr/bin"
- install -Dm 755 mmix mmixal -t "$pkgdir/usr/bin"
+ install -Dm 755 mmix mmixal mmotype mmmix -t "$pkgdir/usr/bin"
install -Dm 644 -t "$pkgdir"/usr/share/licenses/$pkgname/ boilerplate.w
}
-
-sha512sums="05400b2427aee5236237611e0da9ccb245ebf84d37f8300fcbf871df6cee2b6d1651015af7dfd2b149ea278d357b77927669fd20e1e7d90bf7d0c9f1f0efc202 mmix-0_git20190219.tar.bz2"
+sha512sums="
+279e75ec798f0b168dc002accfc449d222def43b5f580d5d69bb0156f7f11613a880dc68eac554c4813708db5efd92fe70f6e0e7bdf3864eb69060f843a968e7 mmix-0_git20221025.tar.bz2
+"
diff --git a/testing/mml/APKBUILD b/testing/mml/APKBUILD
new file mode 100644
index 00000000000..0a8e3bcd56d
--- /dev/null
+++ b/testing/mml/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=mml
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="Command line tool for MIME message Meta Language"
+url="https://github.com/soywod/mml"
+# s390x: nix/libc crate
+# riscv64: ftbfs, segfault
+arch="all !s390x !riscv64"
+license="MIT"
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="shotman-$pkgver.tar.gz::https://github.com/soywod/mml/archive/refs/tags/v$pkgver.tar.gz"
+options="net" # fetch dependencies
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+ ./target/release/mml completion bash > $pkgname.bash
+ ./target/release/mml completion fish > $pkgname.fish
+ ./target/release/mml completion zsh > $pkgname.zsh
+ ./target/release/mml man ./
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 0755 target/release/$pkgname "$pkgdir/usr/bin/$pkgname"
+
+ install -Dm644 $pkgname.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+
+ install -Dm 0644 mml-compile.1 "$pkgdir/usr/share/man/man1/mml-compile.1"
+ install -Dm 0644 mml-completion.1 "$pkgdir/usr/share/man/man1/mml-completion.1"
+ install -Dm 0644 mml-interpret.1 "$pkgdir/usr/share/man/man1/mml-interpret.1"
+ install -Dm 0644 mml-man.1 "$pkgdir/usr/share/man/man1/mml-man.1"
+ install -Dm 0644 mml.1 "$pkgdir/usr/share/man/man1/mml.1"
+}
+
+sha512sums="
+2e164288c7e9de283427cf4d80f234b1db3d9eb252e2cfbf87b5a2e81148f2d7ad473242cea7afe2ea9cc11447de08c824e8dd72faf63fe537225f9b5de8e6f8 shotman-1.0.0.tar.gz
+"
diff --git a/testing/mmtc/APKBUILD b/testing/mmtc/APKBUILD
new file mode 100644
index 00000000000..399ca01113f
--- /dev/null
+++ b/testing/mmtc/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mmtc
+pkgver=0.3.2
+pkgrel=0
+pkgdesc="Minimal mpd terminal client that aims to be simple yet highly configurable"
+url="https://github.com/figsoda/mmtc"
+arch="all"
+license="MPL-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/figsoda/mmtc/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm 755 target/release/mmtc "$pkgdir"/usr/bin/mmtc
+}
+
+sha512sums="
+0a5c7f362b74004788dc2764fcd93508c521baa6543bb5583b200fe03c03b820f3817dd437deee7df4e3ff0dc2f93ba18861f535db4b59da8cc855ab6ee503b2 mmtc-0.3.2.tar.gz
+"
diff --git a/testing/mnamer/APKBUILD b/testing/mnamer/APKBUILD
index 0979bc4a55a..d3df2c8e328 100644
--- a/testing/mnamer/APKBUILD
+++ b/testing/mnamer/APKBUILD
@@ -2,25 +2,29 @@
# Maintainer: Philipp Glaum <p@pglaum.de>
pkgname=mnamer
_pkgname=mnamer
-pkgver=2.5.3
+pkgver=2.5.5
pkgrel=1
pkgdesc="media file organiser"
options="!check" # No testsuite
url="https://pypi.org/project/mnamer/"
-arch="noarch !mips64" # blocked by py3-guessit
+arch="noarch"
license="MIT"
-depends="python3 py3-appdirs py3-guessit py3-requests py3-requests-cache py3-teletype"
-makedepends="py3-setuptools"
+depends="py3-appdirs py3-guessit py3-requests py3-requests-cache py3-teletype"
+makedepends="py3-setuptools py3-gpep517 py3-installer py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-6849788b80198a87964d6cf346e8c08f3d6616b47208bf4e6e98f6cca69ab72257d028506ef9407e6f54c641d0f372772dbf1a9267d553c3529521e350cdebb6 mnamer-2.5.3.tar.gz
+f5d197c57c76474f0b4ae07a39333bc0ebbd5dec858593b602e9b19b7a7bfb64e4b04cf2a98197fecf0a3c1f49b55214e72c67dc3250200acf737cb626c2a980 mnamer-2.5.5.tar.gz
"
diff --git a/testing/mnemosyne/APKBUILD b/testing/mnemosyne/APKBUILD
new file mode 100644
index 00000000000..89afe7ded34
--- /dev/null
+++ b/testing/mnemosyne/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Eloi Torrents <eloitor@disroot.org>
+# Maintainer: Eloi Torrents <eloitor@disroot.org>
+pkgname=mnemosyne
+pkgver=2.10.1
+pkgrel=0
+pkgdesc="Flash-card tool with a sophisticated card review algorithm"
+url="https://mnemosyne-proj.org"
+# py3-pyqt6-webengine
+arch="x86_64 aarch64"
+license="GPL-3.0 AND AGPL-3.0-or-later"
+depends="
+ py3-argon2-cffi
+ py3-cherrypy
+ py3-google-trans-new
+ py3-gtts
+ py3-matplotlib
+ py3-pillow
+ py3-pyqt6-webengine
+ py3-qt6
+ py3-urllib3
+ py3-webob
+ python3
+ qt6-qtbase-sqlite
+ "
+makedepends="
+ py3-setuptools
+ "
+subpackages="$pkgname-lang $pkgname-pyc"
+source="https://downloads.sourceforge.net/mnemosyne-proj/Mnemosyne-$pkgver.tar.gz
+ fix-loading-icons.patch
+ "
+builddir="$srcdir/Mnemosyne-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+ mkdir -p "$pkgdir"/usr/share/mnemosyne
+ mv "$pkgdir"/usr/pixmaps "$pkgdir"/usr/share/mnemosyne/
+}
+
+sha512sums="
+84b33186c20c1741c2ce305ec8f49eae5bca9a5f519f68bbbc8d5a7d60b0bee927b20c8682bfe309f00269e89364e0fc64a0c2edae880f8ef991123918c40475 Mnemosyne-2.10.1.tar.gz
+62d57b6aaec59c011cc1fa0706e2e3adfc460d431e49f597b13a21f584490188c46daff798917c3fd889c235a5f181bc607f2b9362e80a76c25d25078b760dd1 fix-loading-icons.patch
+"
diff --git a/testing/mnemosyne/fix-loading-icons.patch b/testing/mnemosyne/fix-loading-icons.patch
new file mode 100644
index 00000000000..16d51fa40a9
--- /dev/null
+++ b/testing/mnemosyne/fix-loading-icons.patch
@@ -0,0 +1,76 @@
+Patch-Source: https://github.com/mnemosyne-proj/mnemosyne/commit/3c596c439feb7b3ed449100000de20dc87a35b6f
+also manually patched for pixmaps dir
+--
+From 3c596c439feb7b3ed449100000de20dc87a35b6f Mon Sep 17 00:00:00 2001
+From: Vlad <itraveller@mail.ru>
+Date: Sun, 26 Feb 2023 21:21:58 +0300
+Subject: [PATCH] Fix a bug causing the app to not find its icons.
+
+The reason for the problem is that the icon paths were not tied to the script, but to the current working directory.
+
+Fix #234
+---
+ mnemosyne/pyqt_ui/about_dlg.py | 2 +-
+ mnemosyne/pyqt_ui/getting_started_dlg.py | 2 +-
+ mnemosyne/pyqt_ui/main_wdgt.ui | 24 ++++++++++++------------
+ mnemosyne/pyqt_ui/mnemosyne | 7 ++-----
+ mnemosyne/pyqt_ui/tip_dlg.py | 2 +-
+ 5 files changed, 17 insertions(+), 20 deletions(-)
+
+diff --git a/mnemosyne/pyqt_ui/about_dlg.py b/mnemosyne/pyqt_ui/about_dlg.py
+index 0d5926db..3b6a78eb 100755
+--- a/mnemosyne/pyqt_ui/about_dlg.py
++++ b/mnemosyne/pyqt_ui/about_dlg.py
+@@ -22,7 +22,7 @@ def __init__(self, **kwds):
+ # Note: the svg file does not seem to work under windows.
+ #watermark = QtGui.QPixmap("pixmaps/mnemosyne.svg").\
+ # scaledToHeight(200, QtCore.Qt.TransformationMode.SmoothTransformation)
+- watermark = QtGui.QPixmap("pixmaps/mnemosyne.png")
++ watermark = QtGui.QPixmap("icons:mnemosyne.png")
+ self.watermark.setPixmap(watermark)
+ self.about_label.setText("<b>" + _("Mnemosyne") + " " + version + "</b><br><br>" + \
+ _("Main author: Peter Bienstman") + "<br><br>" + \
+diff --git a/mnemosyne/pyqt_ui/getting_started_dlg.py b/mnemosyne/pyqt_ui/getting_started_dlg.py
+index f125fb66..69edae43 100755
+--- a/mnemosyne/pyqt_ui/getting_started_dlg.py
++++ b/mnemosyne/pyqt_ui/getting_started_dlg.py
+@@ -20,7 +20,7 @@ def __init__(self, **kwds):
+ # Note: the svg file does not seem to work under windows.
+ #watermark = QtGui.QPixmap("pixmaps/mnemosyne.svg")\
+ # .scaledToHeight(200, QtCore.Qt.TransformationMode.SmoothTransformation)
+- watermark = QtGui.QPixmap("pixmaps/mnemosyne.png")
++ watermark = QtGui.QPixmap("icons:mnemosyne.png")
+ self.setPixmap(QtWidgets.QWizard.WizardPixmap.WatermarkPixmap, watermark)
+
+ def activate(self):
+diff --git a/mnemosyne/pyqt_ui/mnemosyne b/mnemosyne/pyqt_ui/mnemosyne
+index 73660586..603cd457 100755
+--- a/mnemosyne/pyqt_ui/mnemosyne
++++ b/mnemosyne/pyqt_ui/mnemosyne
+@@ -203,11 +203,8 @@ font-size: 12px;
+ }"""
+ a.setStyleSheet(stylesheet)
+
+-# FIXME: install in the system Python does not really work unless
+-# you copy 'pixmaps' to 'C:\Program Files\Python311'
+-# The statement below don't help.
+-QtGui.QIcon.setFallbackSearchPaths(["C:/Program Files (x86)/Mnemosyne",
+-"C:/Program Files/Python311/Lib/site-packages/Mnemosyne-2.10-py3.11.egg"])
++pixmaps_dir = '/usr/share/mnemosyne/pixmaps'
++QtCore.QDir.addSearchPath('icons', pixmaps_dir)
+
+ # Add other components we need. The translator should come first.
+ # The UI components should come in the order they should be instantiated,
+diff --git a/mnemosyne/pyqt_ui/tip_dlg.py b/mnemosyne/pyqt_ui/tip_dlg.py
+index ae12c25d..9eb891a5 100755
+--- a/mnemosyne/pyqt_ui/tip_dlg.py
++++ b/mnemosyne/pyqt_ui/tip_dlg.py
+@@ -71,7 +71,7 @@ def __init__(self, **kwds):
+ # Note: the svg file does not seem to work under windows.
+ #watermark = QtGui.QPixmap("pixmaps/mnemosyne.svg").\
+ # scaledToHeight(200, QtCore.Qt.TransformationMode.SmoothTransformation)
+- watermark = QtGui.QPixmap("pixmaps/mnemosyne.png")
++ watermark = QtGui.QPixmap("icons:mnemosyne.png")
+ self.watermark.setPixmap(watermark)
+ self.update_dialog()
+
diff --git a/testing/mobpass/APKBUILD b/testing/mobpass/APKBUILD
index 554c7cb19d3..37e79be1654 100644
--- a/testing/mobpass/APKBUILD
+++ b/testing/mobpass/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=mobpass
pkgver=0.2
-pkgrel=2
+pkgrel=5
pkgdesc="A mobile interface for gopass"
url="https://git.sr.ht/~anjan/mobpass"
-arch="noarch !mips64 !armhf" # missing dependencies
+arch="noarch !armhf" # missing dependencies
options="!check" # No test suite
license="GPL-3.0-or-later"
depends="python3 py3-qt5 qt5-qtquickcontrols qt5-qtquickcontrols2 gopass py3-fuzzyfinder"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~anjan/mobpass/archive/v$pkgver.tar.gz"
builddir="$srcdir/"$pkgname-v$pkgver
@@ -18,7 +19,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -Dm644 mobpass.desktop "$pkgdir"/usr/share/applications/mobpass.desktop
}
diff --git a/testing/moderncli/APKBUILD b/testing/moderncli/APKBUILD
new file mode 100644
index 00000000000..82c52df2d49
--- /dev/null
+++ b/testing/moderncli/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: David Sugar <tychosoft@gmail.com>
+# Contributor: David Sugar <tychosoft@gmail.com>
+pkgname=moderncli
+pkgver=0.8.1
+pkgrel=0
+pkgdesc="Modern C++17 header-only library of includes"
+url="https://www.tychosoft.com/tychosoft/moderncli/wiki"
+arch="noarch"
+license="MIT"
+makedepends="cmake fmt-dev openssl-dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.tychosoft.com/api/packages/tychosoft/generic/moderncli/$pkgver/moderncli-$pkgver.tar.gz"
+
+build() {
+ cmake \
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release .
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ DESTDIR="$pkgdir" make install
+ install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.md
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+ install -Dm644 FEATURES.md "$pkgdir"/usr/share/doc/$pkgname/FEATURES.md
+}
+
+sha512sums="d38e8e8abc2854aa3524885ebd4bf22b19711d94b2238e4f7db0765dd8abc2dafd0e7fed81534c3676ede2746d960f7a977019a43739a91d1a2cdaf6531fc1e3 moderncli-0.8.1.tar.gz
+"
diff --git a/testing/moe/APKBUILD b/testing/moe/APKBUILD
index 02772a3cf34..eea68fac2fd 100644
--- a/testing/moe/APKBUILD
+++ b/testing/moe/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: André Klitzing <aklitzing@gmail.com>
# Maintainer: André Klitzing <aklitzing@gmail.com>
pkgname=moe
-pkgver=1.11
+pkgver=1.14
pkgrel=0
pkgdesc="powerful and user-friendly text editor"
url="https://www.gnu.org/software/moe/moe.html"
@@ -13,7 +13,9 @@ source="https://ftp.gnu.org/gnu/moe/moe-$pkgver.tar.lz"
options="!check"
build() {
- ./configure --prefix=/usr --sysconfdir=/etc
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc
make CXXFLAGS="$CXXFLAGS" LDFLAGS="$LDFLAGS"
}
@@ -21,4 +23,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="147f3500909739371290fc2f703ef5fab286d2ca385f6808ee3e0cb1cbae2ed58a0b5046d30ad5d24215dc28d77f0bba4efacb144c116209d89d023e731e8a39 moe-1.11.tar.lz"
+sha512sums="
+db45f7c05b9a1a06085b2604eb8e9857caeb7d3a56a4815df208806bbbf19cc47b19776619635c70860142cb8bb775c0eaf31b9b07698cc83b74f1c6d6f47d5c moe-1.14.tar.lz
+"
diff --git a/testing/moka-icon-theme/APKBUILD b/testing/moka-icon-theme/APKBUILD
index de24aedf6f4..82f306958f8 100644
--- a/testing/moka-icon-theme/APKBUILD
+++ b/testing/moka-icon-theme/APKBUILD
@@ -8,12 +8,11 @@ url="https://snwh.org/moka"
arch="noarch"
license="CC-BY-SA-4.0 OR GPL-3.0-or-later"
makedepends="meson"
-options="!strip"
source="moka-icon-theme-$pkgver.tar.gz::https://github.com/snwh/moka-icon-theme/archive/v$pkgver.tar.gz"
build() {
abuild-meson output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
diff --git a/testing/mokutil/APKBUILD b/testing/mokutil/APKBUILD
deleted file mode 100644
index 1c2023b383d..00000000000
--- a/testing/mokutil/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Matthew T Hoare <matthew.t.hoare@gmai.com>
-# Maintainer: Matthew T Hoare <matthew.t.hoare@gmai.com>
-pkgname=mokutil
-pkgver=0.5.0
-pkgrel=0
-pkgdesc="Utility to manipulate the machine owner keys (MOK) stored in the database of shim"
-url="https://github.com/lcp/mokutil"
-arch="aarch64 armhf armv7 x86 x86_64" # Secure Boot is only available for these platforms
-license="GPL-3.0-or-later"
-makedepends="autoconf automake efivar-dev keyutils-dev openssl-dev"
-options="!check" # no checks
-subpackages="$pkgname-doc $pkgname-bash-completion"
-source="$pkgname-$pkgver.tar.gz::https://github.com/lcp/mokutil/archive/$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- autoreconf -f -i
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --sbindir=/sbin \
- --sysconfdir=/etc
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-600c142fcc44e33efd307341b814018ef956668790b56d42a523140e81098746d14ae096fc6c93985b3c26bb414b8b6862f59312f2c4bd9d657a11e4becc6ea7 mokutil-0.5.0.tar.gz
-"
diff --git a/testing/mold/APKBUILD b/testing/mold/APKBUILD
deleted file mode 100644
index 73e3709157f..00000000000
--- a/testing/mold/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=mold
-pkgver=1.0.1
-pkgrel=0
-pkgdesc="fast modern linker"
-url="https://github.com/rui314/mold"
-arch="x86_64" # only x86_64 and x86 supported, x86 bundled tbb build fail
-options="!check" # tests fail because of badly assumed greps
-license="AGPL-3.0" # not specified if -only
-makedepends="
- clang
- cmake
- linux-headers
- llvm-dev
- mimalloc2-dev
- openssl-dev
- xxhash-dev
- zlib-dev
- "
-checkdepends="
- bash
- coreutils
- dwarf-tools
- grep
- "
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/rui314/mold/archive/refs/tags/v$pkgver.tar.gz"
-
-build() {
- export SYSTEM_MIMALLOC=1
- # version too old in alpine
- # export SYSTEM_LIBTBB=1
- export SYSTEM_XXHASH=1
- export CC=clang
- export CXX=clang++
- export LTO=1
-
- make PREFIX=/usr
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="
-cc03a7db395362b97879c28942397d4443d12b72e067b6f979b1ece4d8aab06154b4c1a0f4c57d6ac505bcd4f892bf9a355ad281d628d4d544d8f70edaf34b72 mold-1.0.1.tar.gz
-"
diff --git a/testing/monetdb/APKBUILD b/testing/monetdb/APKBUILD
index 2be7c5b6c03..8d3261984a4 100644
--- a/testing/monetdb/APKBUILD
+++ b/testing/monetdb/APKBUILD
@@ -3,12 +3,12 @@
pkgname=monetdb
_pkgname=MonetDB
pkgver=11.33.11
-pkgrel=1
+pkgrel=4
pkgdesc="Column-oriented database management system"
url="https://www.monetdb.org/Home"
arch="all"
license="MPL-1.1"
-makedepends="musl-dev gcc bison make openssl-dev libxml2-dev xz-dev
+makedepends="musl-dev gcc bison make openssl-dev>3 libxml2-dev xz-dev
bzip2-dev lz4-dev readline-dev snappy-dev curl-dev pcre-dev unixodbc-dev
libatomic_ops-dev"
subpackages="$pkgname-dev $pkgname-doc"
@@ -30,6 +30,8 @@ check() {
package() {
make DESTDIR="$pkgdir" install
+
+ rm -r "$pkgdir"/usr/lib/systemd
}
sha512sums="1f841a9c5455faf14840608ddb570d70374989c2371a6dcb9044c3e66f4de722f123bd89adca28e3193ecbbe16fb4fd184ee622ce47fbb59076d230c14b18b4f MonetDB-11.33.11.tar.xz
diff --git a/testing/mongo-cxx-driver/01-dont-build-mongo-tests.patch b/testing/mongo-cxx-driver/01-dont-build-mongo-tests.patch
deleted file mode 100644
index 6e93a19fae9..00000000000
--- a/testing/mongo-cxx-driver/01-dont-build-mongo-tests.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt
-index eaa9060..819078d 100644
---- a/src/mongocxx/CMakeLists.txt
-+++ b/src/mongocxx/CMakeLists.txt
-@@ -259,4 +259,4 @@ install(
- DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PKG}-${MONGOCXX_VERSION}
- )
-
--add_subdirectory(test)
-+# add_subdirectory(test)
diff --git a/testing/mongo-cxx-driver/APKBUILD b/testing/mongo-cxx-driver/APKBUILD
index 6527b082f91..27ebeda32cf 100644
--- a/testing/mongo-cxx-driver/APKBUILD
+++ b/testing/mongo-cxx-driver/APKBUILD
@@ -1,58 +1,69 @@
# Contributor: Russ Webber <russ@rw.id.au>
# Maintainer: Russ Webber <russ@rw.id.au>
pkgname=mongo-cxx-driver
-pkgver=3.4.1
+pkgver=3.8.0
pkgrel=0
pkgdesc="C++ driver for MongoDB"
url="http://mongocxx.org/"
-arch="all !armhf" # mongo-c-driver
+arch="all"
license="Apache-2.0"
-makedepends="cmake mongo-c-driver-dev libbson-dev openssl-dev python3 snappy-dev zstd-dev"
+makedepends="
+ cmake
+ libbson-dev
+ mongo-c-driver-dev
+ mongo-c-driver-static
+ openssl-dev
+ python3
+ samurai
+ snappy-dev
+ zstd-dev
+ "
subpackages="$pkgname-dev:_dev libbsoncxx libbsoncxx-dev"
source="mongo-cxx-driver-$pkgver.tar.gz::https://github.com/mongodb/mongo-cxx-driver/archive/r$pkgver.tar.gz
- 01-dont-build-mongo-tests.patch"
+ no-mongo-tests.patch
+ "
builddir="$srcdir/mongo-cxx-driver-r$pkgver"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build . \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
-DCMAKE_CXX_STANDARD=17 \
-DBSONCXX_POLY_USE_STD=ON \
-DBUILD_VERSION="$pkgver" \
- $CMAKE_CROSSOPTS .
- make -C build
+ $CMAKE_CROSSOPTS
+ cmake --build build
}
check() {
# mongo tests require a running server, so they are disabled.
# libbsoncxx tests are still ran
- make -C build test
+ ctest --test-dir build --output-on-failure
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ # abuild can't trace this
+ depends="libbsoncxx=$pkgver-r$pkgrel"
+ DESTDIR="$pkgdir" cmake --install build
rm -rf "$pkgdir"/usr/share/mongo-cxx-driver/
}
libbsoncxx() {
pkgdesc="Building, parsing, and iterating BSON documents using C++"
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/libbsoncxx.so.* "$subpkgdir"/usr/lib/
+
+ amove usr/lib/libbsoncxx.so.*
}
_dev() {
# This should be removed once abuild knows how to search for pkg-config
# files that are in another subpackage that is also being created alongside
# this one.
- depends_dev="libbsoncxx-dev"
+ depends_dev="libbsoncxx-dev=$pkgver-r$pkgrel"
default_dev
@@ -73,5 +84,7 @@ _dev() {
mv "$subpkgdir"/usr/include/bsoncxx "$pkgdir"/usr/include
}
-sha512sums="c34d7e06946c89db88a6122ab4e7e4952bd6403ca80e57adc7d91264505e1ac1d623fe932f7b82546e26033078ab1f96bb6048a0e343b26d4b8b630658be0e71 mongo-cxx-driver-3.4.1.tar.gz
-4eed3eb4236bd13eb6f80f90938481c35d6d728c7b777f2cf6e459c5b3776d612cf7d8e000fa7e5c74f741943b2900325cbcd623584081cbb931cab04ce36828 01-dont-build-mongo-tests.patch"
+sha512sums="
+f9f0d83ee2ef1f3c2dae1f3663b893d819737d4e646d0137fb623b84663382eb93ab36123c2a85247f43ae979a95276fa231d5da8ad62a6da002ab9daecaa0d4 mongo-cxx-driver-3.8.0.tar.gz
+18eaace179782c8e59d585def40da2cb941c767484f2739a6714dc1526c62cd8595bfe89545ddfa32e781a618a0f73a53ac3ee9ecdeb86c7b3250bd380b4d276 no-mongo-tests.patch
+"
diff --git a/testing/mongo-cxx-driver/no-mongo-tests.patch b/testing/mongo-cxx-driver/no-mongo-tests.patch
new file mode 100644
index 00000000000..b49d880a45d
--- /dev/null
+++ b/testing/mongo-cxx-driver/no-mongo-tests.patch
@@ -0,0 +1,22 @@
+diff --git a/src/mongocxx/CMakeLists.txt b/src/mongocxx/CMakeLists.txt
+index 7106040..e3456ce 100644
+--- a/src/mongocxx/CMakeLists.txt
++++ b/src/mongocxx/CMakeLists.txt
+@@ -208,7 +208,7 @@ else()
+ mongocxx_add_library(mongocxx_mocked "mongocxx-mocked" STATIC)
+ endif()
+ endif()
+-if(ENABLE_TESTS)
++if(ENABLE_TESTING)
+ target_link_libraries(mongocxx_mocked PUBLIC bsoncxx_testing)
+ target_compile_definitions(mongocxx_mocked PUBLIC MONGOCXX_TESTING)
+ if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+@@ -249,7 +249,7 @@ if(MONGOCXX_BUILD_STATIC)
+ endif()
+ mongocxx_install("${mongocxx_target_list}" "${mongocxx_pkg_dep}")
+
+-if(ENABLE_TESTS)
++if(false)
+ add_subdirectory(test)
+ endif()
+
diff --git a/testing/mono/APKBUILD b/testing/mono/APKBUILD
index d291bc0ca11..1483e38df9f 100644
--- a/testing/mono/APKBUILD
+++ b/testing/mono/APKBUILD
@@ -1,33 +1,38 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Contributor: blattersturm <peachypies@protonmail.ch>
-# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
# Maintainer:
pkgname=mono
-pkgver=6.12.0.122
+pkgver=6.12.0.205
pkgrel=1
pkgdesc="Free implementation of the .NET platform including runtime and compiler"
url="https://www.mono-project.com/"
-# mips64 - #error "MIPS unsupported ABI"
-# riscv64 - mono_os_mutex_init_type: pthread_mutexattr_setprotocol failed with "Function not implemented" (38)
-arch="all !s390x !ppc64le !mips64 !riscv64"
+arch="x86_64 aarch64"
license="MIT"
depends="python3"
-depends_dev="$pkgname=$pkgver-r$pkgrel libgdiplus-dev zlib-dev"
-makedepends="$depends_dev autoconf automake cmake libtool linux-headers"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
-source="https://download.mono-project.com/sources/mono/mono-$pkgver.tar.xz
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ libgdiplus-dev
+ "
+makedepends="
+ $depends_dev
+ bash
+ cmake
+ linux-headers
+ perl
+ samurai
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-lang
+ "
+source="https://download.mono-project.com/sources/mono/preview/mono-$pkgver.tar.xz
mono-try-catch.patch
"
+options="!check" # fail
build() {
- # Based on Fedora and SUSE package.
- export CFLAGS="$CFLAGS -fno-strict-aliasing"
-
- # Set the minimum arch for x86 to prevent atomic linker errors.
- [ "$CARCH" = "x86" ] && export CFLAGS="$CFLAGS -march=i586 -mtune=generic"
-
- # Run autogen to fix supplied configure linker issues with make install.
- ./autogen.sh \
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ ./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
@@ -35,31 +40,39 @@ build() {
--mandir=/usr/share/man \
--infodir=/usr/share/info \
--localstatedir=/var \
- --disable-rpath \
--disable-boehm \
+ --enable-ninja \
+ --disable-rpath \
+ --disable-static \
--enable-parallel-mark \
--with-mcs-docs=no \
--without-sigaltstack
make
+ make -C mcs/jay
+}
+
+check() {
+ make check
}
package() {
- make -j1 DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" prefix=/usr INSTALL=../../install-sh -C mcs/jay install
cd "$pkgdir"
- # Remove .la files.
- rm ./usr/lib/*.la
-
- # Remove Windows-only stuff.
- rm -r ./usr/lib/mono/*/Mono.Security.Win32*
- rm ./usr/lib/libMonoSupportW.*
+ rm -rf \
+ usr/lib/mono/*/Mono.Security.Win32* \
+ usr/lib/*.la
}
dev() {
default_dev
- mv "$subpkgdir"/usr/lib/libmono-native.so "$pkgdir"/usr/lib
+
+ mv "$subpkgdir"/usr/lib/*.so "$pkgdir"/usr/lib/
}
-sha512sums="0fbd4147498cc81e384933147eb6aa5c559d17a794a308af7ffa43dce51e0faefde24fc75e987ed804dcb161b52756944bc3611100fc0a4adcc260ca97ddaecd mono-6.12.0.122.tar.xz
-3a82d4bed31b212e23fe24647fc5b9c4788be5f4966377a3bef9f92a51d16181e77e19ca1ec4736792da6a18206986bbb54d967499e2ca7e224201cf811f91b5 mono-try-catch.patch"
+sha512sums="
+ede22d511b8f0757b6ba3cb85af209eddfe9d19b00b0d870a8f6b68fa90bc56d3fe06a86874fdfcef2a1e93ec3ed524fee7d1363c0a00296c1d522bb8c71697a mono-6.12.0.205.tar.xz
+3a82d4bed31b212e23fe24647fc5b9c4788be5f4966377a3bef9f92a51d16181e77e19ca1ec4736792da6a18206986bbb54d967499e2ca7e224201cf811f91b5 mono-try-catch.patch
+"
diff --git a/testing/moon-buggy/APKBUILD b/testing/moon-buggy/APKBUILD
index 6391bb51c0b..3930e440ef4 100644
--- a/testing/moon-buggy/APKBUILD
+++ b/testing/moon-buggy/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Miles Alan <m@milesalan.com>
pkgname=moon-buggy
pkgver=1.0.51
-pkgrel=0
+pkgrel=1
pkgdesc="Simple character graphics game where you drive some kind of car across the moon's surface"
url="https://www.seehuhn.de/pages/moon-buggy.html"
license="GPL-2.0-or-later"
diff --git a/testing/moosefs/APKBUILD b/testing/moosefs/APKBUILD
index fdec0e2accc..5d1ae30758c 100644
--- a/testing/moosefs/APKBUILD
+++ b/testing/moosefs/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
pkgname=moosefs
-pkgver=3.0.116
-pkgrel=0
+pkgver=3.0.117
+pkgrel=1
pkgdesc="Open Source, Petabyte, Fault-Tolerant, Highly Performing, Scalable Network Distributed File System"
url="https://moosefs.com"
arch="all"
license="GPL-2.0-only"
-makedepends="autoconf automake zlib-dev libpcap-dev libtool fuse-dev python3-dev"
+makedepends="autoconf automake zlib-dev libpcap-dev libtool fuse3-dev python3-dev"
pkgusers="mfs"
pkggroups="mfs"
subpackages="$pkgname-doc $pkgname-static $pkgname-client $pkgname-master
@@ -123,10 +123,11 @@ chunkserver_openrc() {
client() {
pkgdesc="MooseFS client"
- depends="fuse"
+ depends="fuse3"
cd "$pkgdir"
_mv_files \
- usr/bin/* \
+ usr/bin \
+ sbin/mount.* \
etc/mfs/mfsmount.cfg.sample
}
@@ -152,7 +153,7 @@ cgiserv_openrc() {
}
sha512sums="
-eab53b95dbd7331666adfa69800f782575b772885f57a6c8d55bd746e5078f2280a2c2612cb53fd78216a4e91b4e6a5d4b46a66f359417d3b26f4fd7e2cf8451 moosefs-3.0.116.tar.gz
+ee0bba2fc5c62e8ec52d27743871d79c1c201b327f8b6f2c12434fef38c87179485a958bf08b97754aae4a8e82b1d20e4cea74a17e973b0682f78cfa73dff3ef moosefs-3.0.117.tar.gz
c698aff4de9aeb76202a809e44ac8d0ec9c6348a806b1c813c2a40858339b1c139a480a9c5aff40bf2c9821883c6c0dfeabb010f3faa5746673235f0fb3c5a76 moosefs-cgiserv.initd
b5c625f0004df33889de60ddad37e41f3acf081b37247606a1544e5f63354e121fe4cce511a6e60f4f2c0305155faf0614b8a4bce7267929fe68a1a4b546b582 moosefs-cgiserv.confd
a041fa324d37bda098ad65e9d6507f281ed388471956ca79aa33b8b0d1c4a9d528662a2410c47f3856183d6378ac7fb417c3d7ec314f624e7e5dac7c5e4247f0 moosefs-master.initd
diff --git a/testing/morph-browser/APKBUILD b/testing/morph-browser/APKBUILD
new file mode 100644
index 00000000000..6436f3ee515
--- /dev/null
+++ b/testing/morph-browser/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=morph-browser
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Lightweight web browser tailored for Ubuntu Touch"
+url="https://gitlab.com/ubports/development/core/morph-browser"
+# armhf: blocked by lomiri-ui-toolkit
+# ppc64le/riscv64/s390x: blocked by qt5-qtwebengine
+arch="all !armhf !ppc64le !riscv64 !s390x"
+license="GPL-3.0-only"
+depends="
+ font-liberation
+ lomiri-action-api
+ lomiri-content-hub
+ lomiri-ui-extras
+ lomiri-ui-toolkit
+ qt5-qtbase-sqlite
+ qt5-qtquickcontrols2
+ "
+makedepends="
+ click-dev
+ cmake
+ cmake-extras
+ gnome-desktop-dev
+ libapparmor-dev
+ lomiri-trust-store-dev
+ qt5-qtdeclarative-dev
+ qt5-qtwebengine-dev
+ samurai
+ xvfb-run
+ "
+checkdepends="
+ py3-dbusmock
+ py3-xdg
+ "
+subpackages="$pkgname-lang"
+source="https://gitlab.com/ubports/development/core/morph-browser/-/archive/$pkgver/morph-browser-$pkgver.tar.gz"
+options="!check" # 4 tests fail and test 27 hangs
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCLICK_MODE=off
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+646182b0b408e40e96e506180059c388e0b1fe6e8a249618997f7e5064ae8ad603f7d66438b0116063cfce4e2e3372e847663e9bbaf1e1eea0bbee0dbf5c16ce morph-browser-1.1.0.tar.gz
+"
diff --git a/testing/motion/APKBUILD b/testing/motion/APKBUILD
index 216c732942d..59c895b9cd3 100644
--- a/testing/motion/APKBUILD
+++ b/testing/motion/APKBUILD
@@ -1,9 +1,10 @@
# Contributor: Katie Holly <holly@fuslvz.ws>
# Contributor: Åukasz Jendrysik <scadu@yandex.com>
# Contributor: Mika Havela <mika.havela@gmail.com>
-# Maintainer: Mika Havela <mika.havela@gmail.com>
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=motion
-pkgver=4.3.2
+pkgver=4.6.0
pkgrel=0
pkgdesc="Detect if a significant part of the picture has changed (e.g. from a webcam)"
url="https://motion-project.github.io"
@@ -12,12 +13,12 @@ options="!check"
license="GPL-2.0-or-later"
pkgusers="motion"
pkggroups="motion"
-depends="v4l-utils ffmpeg"
+depends="v4l-utils"
makedepends="$depends_dev autoconf automake bash gettext-dev v4l-utils-dev linux-headers
- libjpeg-turbo-dev ffmpeg-dev libmicrohttpd-dev libwebp-dev"
+ libjpeg-turbo-dev ffmpeg-dev libmicrohttpd-dev libwebp-dev xz"
install="$pkgname.pre-install"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Motion-Project/motion/archive/release-$pkgver.tar.gz
+subpackages="$pkgname-doc $pkgname-openrc $pkgname-lang"
+source="https://github.com/Motion-Project/motion/archive/release-$pkgver/motion-$pkgver.tar.gz
motion.confd
motion.initd
"
@@ -48,6 +49,8 @@ package() {
install -Dm755 "$srcdir"/"$pkgname".initd "$pkgdir"/etc/init.d/"$pkgname"
}
-sha512sums="df54297eebc44b3bc50fd40890c69a9cbbfc5936224bf7027065364e794d7201ceadd99ac99bf43113ec3368f2b5ca435d2956258b9c774e03a6750b41346a7c motion-4.3.2.tar.gz
+sha512sums="
+96984254e316694e98ac55a0216c712d7280a3b5b8d5e1bca17282eee5426022c56e54aa4175269117c6128a3a834a550528bfc2a04c9f5b670e41e740456d29 motion-4.6.0.tar.gz
8a67b5b0360924e58ba3136a737ce73bb43201a49b2b6e2c632426561b830f6ab55cbbeaa89be7f1683aa8fd322b4f31b9f560e67a93eaceb964c9f56ceef363 motion.confd
-be30f19595dba27f2d0ca8133c93e134161781935a152bd1701e581410039e37742acd11987c38e6e64f495b1fd2b0a74a8c61ae0e6e211a475fca7994172501 motion.initd"
+be30f19595dba27f2d0ca8133c93e134161781935a152bd1701e581410039e37742acd11987c38e6e64f495b1fd2b0a74a8c61ae0e6e211a475fca7994172501 motion.initd
+"
diff --git a/testing/mp3gain/APKBUILD b/testing/mp3gain/APKBUILD
new file mode 100644
index 00000000000..9079402954e
--- /dev/null
+++ b/testing/mp3gain/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
+# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
+pkgname=mp3gain
+pkgver=1.6.2
+_pkgver_download=1_6_2
+pkgrel=2
+pkgdesc="Analyzes and adjusts the volume of MP3 files"
+url="https://mp3gain.sourceforge.net/"
+arch="all"
+license="LGPL-2.1-only"
+makedepends="mpg123-dev"
+options="!check" # no testsuite
+source="$pkgname-$pkgver.zip::https://sourceforge.net/projects/mp3gain/files/mp3gain/$pkgver/mp3gain-$_pkgver_download-src.zip/download"
+builddir="$srcdir/"
+build() {
+ make OSTYPE=linux
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/bin
+ make INSTALL_PATH="$pkgdir"/usr/bin OSTYPE=linux install
+}
+
+sha512sums="
+ec9de6c755120480ccb72b34a0042aea7546ef923090ab04e420d5b189523b4504e29952a3d695d3c42c74348f5c3c9123ff090bcc671e43375711e085d67480 mp3gain-1.6.2.zip
+"
diff --git a/testing/mp3val/APKBUILD b/testing/mp3val/APKBUILD
new file mode 100644
index 00000000000..43de6481698
--- /dev/null
+++ b/testing/mp3val/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=mp3val
+pkgver=0.1.8
+pkgrel=1
+pkgdesc="Tool for MPEG Audio File (MP3, etc) validation and fixing"
+url="https://mp3val.sourceforge.net/"
+arch="all"
+license="GPL-2.0-or-later"
+source="$pkgname-$pkgver.tar.gz::https://downloads.sourceforge.net/mp3val/mp3val-$pkgver-src.tar.gz"
+builddir="$srcdir/$pkgname-$pkgver-src/"
+
+build() {
+ make -f Makefile.linux
+}
+
+check() {
+ echo Check: "$(./mp3val -v)"
+}
+
+package() {
+ install -Dm755 ./mp3val -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+62371453be53840fb0f0d87c9fcf9cbd6f5c8ae107e529f0cb6b8190ef9e7ebf564bb080c9d0a6adc3b5450673e70b5f4343dee82c1e6400750935cccebc2604 mp3val-0.1.8.tar.gz
+"
diff --git a/testing/mpdcron/APKBUILD b/testing/mpdcron/APKBUILD
index b65a138c088..6e0b11869f0 100644
--- a/testing/mpdcron/APKBUILD
+++ b/testing/mpdcron/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: dai9ah <dai9ah@protonmail.com>
pkgname=mpdcron
pkgver=0.3
-pkgrel=0
+pkgrel=1
pkgdesc="Cron-like daemon for mpd"
options="!check" # No testsuite
url="https://github.com/alip/mpdcron"
diff --git a/testing/mpdris2-rs/APKBUILD b/testing/mpdris2-rs/APKBUILD
new file mode 100644
index 00000000000..2c012a001d8
--- /dev/null
+++ b/testing/mpdris2-rs/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=mpdris2-rs
+pkgver=0.2.3
+pkgrel=0
+pkgdesc="Exposing MPRIS V2.1 D-Bus interface for mpd"
+url="https://github.com/szclsya/mpdris2-rs"
+arch="all"
+license="GPL-3.0-or-later"
+depends="dbus"
+makedepends="
+ cargo
+ cargo-auditable
+"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/szclsya/mpdris2-rs/archive/refs/tags/$pkgver.tar.gz"
+options="net !check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm 755 target/release/mpdris2-rs "$pkgdir"/usr/bin/mpdris2-rs
+
+ install -Dm 655 COPYING "$pkgdir"/usr/share/licenses/"$pkgname"/COPYING
+}
+
+sha512sums="
+0a6bb577dd80a658f6b492ac3e9dd15337d8cf7d3dd2ffc672f94245856b67ae6ac1e6848cf3fccf8150e40bfed4c90b7ba3c301a874dd22f680fd05d5d4c4b5 mpdris2-rs-0.2.3.tar.gz
+"
diff --git a/testing/mpdris2/APKBUILD b/testing/mpdris2/APKBUILD
index ee620729b6f..d08d3ba1fa3 100644
--- a/testing/mpdris2/APKBUILD
+++ b/testing/mpdris2/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=mpdris2
pkgver=0.9.1
-pkgrel=2
+pkgrel=3
pkgdesc="MPRIS V2.1 support for mpd"
url="https://github.com/eonpatapon/mpDris2"
arch="noarch"
@@ -27,5 +27,8 @@ build() {
package() {
make DESTDIR="$pkgdir" install
+
+ rm -rf "$pkgdir"/usr/lib/systemd
}
+
sha512sums="260b5c910303766a7730110a1ca52c859b4e8ba41ba4fe842187cb3dbacca1bc096a93cce2e26e6c82b640f2905411e3011251566b47404466cedfb2f43860ee mpdris2-0.9.1.tar.gz"
diff --git a/testing/mpir/APKBUILD b/testing/mpir/APKBUILD
deleted file mode 100644
index 269a7456ec1..00000000000
--- a/testing/mpir/APKBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=mpir
-pkgver=3.0.0
-pkgrel=0
-pkgdesc="Multiple Precision Integers and Rationals"
-url="http://mpir.org/"
-# Fails on ppc64le: "ABI version 1 is not compatible with ABI version 2 output"
-# x86: Lots of bad register names
-# mips64: softfloat
-arch="all !ppc64le !x86 !mips64"
-license="LGPL-3.0-or-later"
-makedepends="yasm m4"
-subpackages="$pkgname-dev $pkgname-doc"
-source="
- http://mpir.org/mpir-$pkgver.tar.bz2
- mpir.pc
- mpirxx.pc
- "
-
-prepare() {
- default_prepare
-
- update_config_guess
- update_config_sub
-
- sed -e "s/@PKGVER@/$pkgver/" -i "$srcdir"/mpir.pc
- sed -e "s/@PKGVER@/$pkgver/" -i "$srcdir"/mpirxx.pc
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --enable-cxx \
- --disable-static
- make
-}
-
-package() {
- DESTDIR="$pkgdir" make install
- install -Dm644 "$srcdir"/mpir.pc "$pkgdir"/usr/lib/pkgconfig/mpir.pc
- install -Dm644 "$srcdir"/mpirxx.pc "$pkgdir"/usr/lib/pkgconfig/mpirxx.pc
-}
-
-check() {
- make check-recursive
-}
-
-sha512sums="c735105db8b86db739fd915bf16064e6bc82d0565ad8858059e4e93f62c9d72d9a1c02a5ca9859b184346a8dc64fa714d4d61404cff1e405dc548cbd54d0a88e mpir-3.0.0.tar.bz2
-00f960b5f320a12ef8ce98d457591f963e30685c94ad7f79942268c64e428f564f16c6bade001e63610817f6c22279a1d3b2473b9ca88b29c36fe9589e58d400 mpir.pc
-c6c264b12091ef6f962cfcc819a0cd74586189afbba4af878f47d9921745e6d3634cd62a3a107a865438644181a5c60286f907b1aa4c80eb0ec1c7df44ab0f56 mpirxx.pc"
diff --git a/testing/mpir/mpir.pc b/testing/mpir/mpir.pc
deleted file mode 100644
index fad400a0394..00000000000
--- a/testing/mpir/mpir.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-modules=1
-
-Name: mpir
-Version: @PKGVER@
-Description: Multiple Precision Integers and Rationals.
-Requires:
-Libs: -L${libdir} -lmpir
-Cflags: -I${includedir}
diff --git a/testing/mpir/mpirxx.pc b/testing/mpir/mpirxx.pc
deleted file mode 100644
index 227dbe44075..00000000000
--- a/testing/mpir/mpirxx.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-modules=1
-
-Name: mpir C++
-Version: @PKGVER@
-Description: Multiple Precision Integers and Rationals.
-Requires:
-Libs: -L${libdir} -lmpirxx
-Cflags: -I${includedir}
diff --git a/testing/mpop/APKBUILD b/testing/mpop/APKBUILD
index d27ba31c68b..655efec1bce 100644
--- a/testing/mpop/APKBUILD
+++ b/testing/mpop/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: xcko <xcko@airmail.cc>
# Maintainer: xcko <xcko@airmail.cc>
pkgname=mpop
-pkgver=1.4.16
+pkgver=1.4.18
pkgrel=0
pkgdesc="retrieves mail from pop3 mailboxes"
url="https://marlam.de/mpop"
@@ -35,5 +35,5 @@ vim() {
}
sha512sums="
-a1dea5d2d124596fe86f5edbbfd01e3a97342caefe269c4e0c159d278658b8e39212b23544bfd775a9e6ba5c0d87b84c0004fdd698a5893074cc1b53a0e7567f mpop-1.4.16.tar.xz
+4f20d3653c99361269011162df6a5d2b2f73d7e3e4bb62fc24c301a5d12f0e911ff432b2e786d2f49088cb96c273a4961ee514ba48465c0c455937559d2b2cff mpop-1.4.18.tar.xz
"
diff --git a/testing/mpv-mpris/APKBUILD b/testing/mpv-mpris/APKBUILD
deleted file mode 100644
index dd0461be1f9..00000000000
--- a/testing/mpv-mpris/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=mpv-mpris
-pkgver=0.6
-pkgrel=0
-pkgdesc="MPRIS plugin for mpv"
-url="https://github.com/hoyon/mpv-mpris"
-arch="all"
-license="MIT"
-depends="mpv"
-makedepends="glib-dev mpv-dev"
-options="!check" # no tests
-source="$pkgname-$pkgver.tar.gz::https://github.com/hoyon/mpv-mpris/archive/$pkgver.tar.gz"
-
-build() {
- make
-}
-
-package() {
- install -Dm 0644 mpris.so "$pkgdir"/etc/mpv/scripts/mpris.so
-}
-
-sha512sums="
-da92e4cf6541f0f18fc1c779ab87eef914e6e76a94bfe1259b323953a11654b228d02c4d352ea0c588308bedc8aa807bdaa41023917629a90d50269f454e256d mpv-mpris-0.6.tar.gz
-"
diff --git a/testing/mpv-sponsorblock/APKBUILD b/testing/mpv-sponsorblock/APKBUILD
new file mode 100644
index 00000000000..862d570777f
--- /dev/null
+++ b/testing/mpv-sponsorblock/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=mpv-sponsorblock
+pkgver=2.1.0
+pkgrel=0
+pkgdesc="MPV plugin that allows you to skip sponsors while watching YouTube videos"
+url="https://github.com/TheCactusVert/mpv-sponsorblock"
+# rust-ring
+arch="x86 x86_64 aarch64"
+license="MIT"
+depends="mpv"
+makedepends="
+ cargo
+ cargo-auditable
+ mpv-dev
+ "
+source="https://github.com/TheCactusVert/mpv-sponsorblock/archive/v$pkgver/mpv-sponsorblock-$pkgver.tar.gz"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm0644 target/release/libmpv_sponsorblock.so -t "$pkgdir"/etc/mpv/scripts/
+}
+
+sha512sums="
+60c673ef37e72aad87e69a533311fe2172fd53cc687f29d64560b35d2b272d16cbda523536312992170bcab2d5d84d7b4bdc91a7b75bdf8e76f4b21dccc6bd79 mpv-sponsorblock-2.1.0.tar.gz
+"
diff --git a/testing/mpvpaper/APKBUILD b/testing/mpvpaper/APKBUILD
new file mode 100644
index 00000000000..673e50f04f7
--- /dev/null
+++ b/testing/mpvpaper/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=mpvpaper
+pkgver=1.4
+pkgrel=0
+pkgdesc="Video wallpaper setter for wlroots based compositors using mpv"
+url="https://github.com/GhostNaN/mpvpaper"
+arch="all"
+license="GPL-3.0-or-later"
+options="!check" # no test suite
+makedepends="
+ meson
+ ninja
+ mpv-dev
+ wayland-dev
+ wayland-protocols
+ mesa-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/GhostNaN/mpvpaper/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+ install -Dm644 mpvpaper.man "$pkgdir"/usr/share/man/man1/mpvpaper.1
+}
+
+sha512sums="
+23a5859705319bea6508a09df3ea791b976326dcaa8a7df86e0b38754017a1bcb0c594b967db91abe2d631fe9f07454399f57f447fd14192c6f9ede4d479f1d2 mpvpaper-1.4.tar.gz
+"
diff --git a/testing/mqtt2prometheus/APKBUILD b/testing/mqtt2prometheus/APKBUILD
new file mode 100644
index 00000000000..a419fba3f6c
--- /dev/null
+++ b/testing/mqtt2prometheus/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=mqtt2prometheus
+pkgver=0.1.7
+pkgrel=8
+pkgdesc="MQTT to Prometheus gateway"
+url="https://github.com/hikhvar/mqtt2prometheus"
+arch="all"
+license="MIT"
+makedepends="go"
+source="https://github.com/hikhvar/mqtt2prometheus/archive/v$pkgver/mqtt2prometheus-$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o mqtt2prometheus ./cmd
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 mqtt2prometheus -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+729c1e6dd1a6d3cc8fefb6ae371e26d0fd6d30fbb8eac03033780de2fc90aaaddfce2fd6ac6e5c5fdcd828c40794bda519f603ad7e9210d8dbf28108e45a994f mqtt2prometheus-0.1.7.tar.gz
+"
diff --git a/testing/mrsh/APKBUILD b/testing/mrsh/APKBUILD
index 55ae6106f43..62339f64c71 100644
--- a/testing/mrsh/APKBUILD
+++ b/testing/mrsh/APKBUILD
@@ -4,7 +4,7 @@ pkgname=mrsh
# NOTE: this software is not ready to be moved out of the testing repository
pkgver=0_git20210518
_commit=cd3c3a48055ab4085d83f149ff4b4feba40b40cb
-pkgrel=0
+pkgrel=1
pkgdesc="Minimal POSIX shell"
url="https://mrsh.sh/"
license="MIT"
@@ -16,11 +16,11 @@ builddir="$srcdir/mrsh-$_commit"
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
check() {
- meson test --no-rebuild -v -C output
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
diff --git a/testing/msgsl/APKBUILD b/testing/msgsl/APKBUILD
deleted file mode 100644
index ae089ff1f56..00000000000
--- a/testing/msgsl/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Zeyi Shen <qazxdrcssc2006@163.com>
-# Maintainer: Zeyi Shen <qazxdrcssc2006@163.com>
-pkgname=msgsl
-pkgver=3.1.0
-pkgrel=0
-pkgdesc="C++ Guideline Support Library implementation by Microsoft"
-url="https://github.com/microsoft/GSL"
-# These functions don't work on the disabled arches since they cast variables
-# from 'const gsl::byte*' to 'const int*' which increases required alignment of
-# target type and produce a compile error.
-# See: https://github.com/microsoft/GSL/blob/v3.1.0/include/gsl/multi_span#L1670
-arch="all !armhf !armv7 !mips64 !riscv64"
-license="MIT"
-makedepends="cmake gtest"
-source="$pkgname-$pkgver.tar.gz::https://github.com/microsoft/GSL/archive/v$pkgver.tar.gz"
-builddir="$srcdir/GSL-$pkgver"
-
-build() {
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=ON
- cmake --build build
-}
-
-check() {
- cd build
- ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-2916df9ee165fc803ffae0a56518f2ba92870e279984913ff591559e1459943c3ffbc1f5a0d819ad8233f0c9034012de3616aa4e10557d87c7285d8425d10696 msgsl-3.1.0.tar.gz
-"
diff --git a/testing/msh/APKBUILD b/testing/msh/APKBUILD
new file mode 100644
index 00000000000..829d5dc99f1
--- /dev/null
+++ b/testing/msh/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=msh
+pkgver=2.5.0
+pkgrel=4
+pkgdesc="Autostart and stop minecraft-server when players join/leave"
+url="https://github.com/gekware/minecraft-server-hibernation"
+arch="all"
+license="GPL-3.0-only"
+makedepends="go"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/gekware/minecraft-server-hibernation/archive/refs/tags/v$pkgver.tar.gz
+ msh.initd
+ msh.confd
+"
+builddir="$srcdir/minecraft-server-hibernation-$pkgver"
+options="!check" # no tests
+pkgusers="$pkgname"
+pkggroups="$pkgname"
+
+export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build .
+}
+
+package() {
+ install -Dm 755 msh "$pkgdir"/usr/bin/msh
+ install -dm 644 -o $pkgname -g $pkgname "$pkgdir"/etc/$pkgname # Write access is required
+
+ install -Dm 644 msh-config.json "$pkgdir"/etc/msh/msh-config.json
+
+ install -Dm755 "$srcdir"/msh.initd "$pkgdir"/etc/init.d/msh
+ install -Dm644 "$srcdir"/msh.confd "$pkgdir"/etc/conf.d/msh
+}
+
+sha512sums="
+90b059f8ba7940023a270e4f09b088ca55f319fd4bbfcdc1bca0bc3efd09b2f509074c283640fe4de3124b865060bd9fc1f4805baaafa5017d1bcbfc5c6424b6 msh-2.5.0.tar.gz
+c5683294949686b348e5bfb870ff39eed7af64758d7646224335aec7d2c431b0d6cf818b19384e10311e7a381be2c85b052e8d859abe8515ccb7fc514fe4696e msh.initd
+8074464d36b54183f0091e48f2ef25ce0378fc12b0e613a4c53a47a3c8bdd4688b8407f115480d8651ad434cfbfeb681a9beb9650124863843beee97cef259ad msh.confd
+"
diff --git a/testing/msh/msh.confd b/testing/msh/msh.confd
new file mode 100644
index 00000000000..51bdf02b38c
--- /dev/null
+++ b/testing/msh/msh.confd
@@ -0,0 +1,3 @@
+command_user="msh:msh"
+directory="/etc/msh"
+logdir="/var/log/msh"
diff --git a/testing/msh/msh.initd b/testing/msh/msh.initd
new file mode 100644
index 00000000000..b354c0107df
--- /dev/null
+++ b/testing/msh/msh.initd
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+supervisor="supervise-daemon"
+
+# fallback values for /etc/conf.d/msh
+: ${command_user:=msh:msh}
+: ${directory:=/etc/msh}
+: ${logdir:=/var/log/msh}
+
+name=msh
+description="Autostart and stop minecraft-server when players join/leave"
+command="/usr/bin/msh"
+command_background=true
+
+pidfile="/run/$name.pid"
+output_log="$logdir/output.log"
+error_log="$logdir/error.log"
+
+depend() {
+ need net
+ use logger
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory" "$logdir"
+ checkpath -f -o "$command_user" "$output_log" "$error_log"
+}
diff --git a/testing/msh/msh.pre-install b/testing/msh/msh.pre-install
new file mode 100644
index 00000000000..615debdc3ad
--- /dev/null
+++ b/testing/msh/msh.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S msh #2>/dev/null
+adduser -S -D -s /sbin/nologin -G msh -g msh msh #2>/dev/null
+
+exit 0
diff --git a/testing/mspdebug/APKBUILD b/testing/mspdebug/APKBUILD
index 6eb91aed963..a7849a0cf61 100644
--- a/testing/mspdebug/APKBUILD
+++ b/testing/mspdebug/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=mspdebug
pkgver=0.25
-pkgrel=0
+pkgrel=1
pkgdesc="A free debugger for use with MSP430 MCUs"
url="https://github.com/dlbeer/mspdebug"
makedepends="libusb-compat-dev readline-dev linux-headers"
diff --git a/testing/msr-tools/APKBUILD b/testing/msr-tools/APKBUILD
index 0b0a2f9d97f..0759bf6ba14 100644
--- a/testing/msr-tools/APKBUILD
+++ b/testing/msr-tools/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=msr-tools
pkgver=1.3
-pkgrel=0
+pkgrel=1
pkgdesc="utilities for MSRs and CPU ID"
url="https://01.org/msr-tools"
arch="x86_64 x86"
diff --git a/testing/mstflint/0001-fix-musl.patch b/testing/mstflint/0001-fix-musl.patch
new file mode 100644
index 00000000000..6a9131c2aed
--- /dev/null
+++ b/testing/mstflint/0001-fix-musl.patch
@@ -0,0 +1,26 @@
+diff -ur mstflint-4.25.0/mtcr_ul/mtcr_ul_com.c mstflint-4.25.0/mtcr_ul/mtcr_ul_com.c
+--- mstflint-4.25.0/mtcr_ul/mtcr_ul_com.c 2022-04-28 11:50:04.000000000 +0000
++++ mstflint-4.25.0/mtcr_ul/mtcr_ul_com.c 2022-05-19 14:06:49.479797274 +0000
+@@ -67,7 +67,13 @@
+ #include <endian.h>
+ #include <byteswap.h>
+ #include <errno.h>
++#ifndef _GNU_SOURCE
++#define _GNU_SOURCE
+ #include <sys/types.h>
++#undef _GNU_SOURCE
++#else
++#include <sys/types.h>
++#endif
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #include <string.h>
+@@ -77,7 +83,7 @@
+
+ #if CONFIG_ENABLE_MMAP
+ #include <sys/mman.h>
+-#include <sys/pci.h>
++#include <linux/pci.h>
+ #include <sys/ioctl.h>
+ #endif
+
diff --git a/testing/mstflint/APKBUILD b/testing/mstflint/APKBUILD
new file mode 100644
index 00000000000..422e0b6715c
--- /dev/null
+++ b/testing/mstflint/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Hal Martin <hal.martin@gmail.com>
+# Maintainer: Hal Martin <hal.martin@gmail.com>
+pkgname=mstflint
+_pkgver=4.26.0-1
+pkgver=${_pkgver/-/.}
+pkgrel=0
+pkgdesc="MSTFLINT Firmware Burning and Diagnostics Tools"
+url="https://github.com/Mellanox/mstflint"
+license="GPL-2.0-only"
+# only tested on x86_64 as I lack hardware to test other architectures
+# should work for platforms with PCIe and PCIe x4/x8 slot
+arch="x86_64 aarch64"
+makedepends="
+ linux-headers
+ zlib-dev
+ openssl-dev
+ automake
+ autoconf
+ pciutils-dev"
+
+source="https://github.com/Mellanox/mstflint/releases/download/v$_pkgver/mstflint-$_pkgver.tar.gz
+ 0001-fix-musl.patch
+ "
+builddir="$srcdir/$pkgname-${_pkgver/-*/}"
+
+subpackages="$pkgname-doc"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-inband
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+
+sha512sums="
+6ba357f5ed3a8c5ac4195b7b45c5abad3eb95d549f5bd2cc8ae84dee7dab894c47839a3ce3aec04bdaa4942ca953bb148a68cf72c2e9d4e60e090595c96c163e mstflint-4.26.0-1.tar.gz
+0e2b8c69570e9aa5a3815915f6c66e0b0a5f9498c4bea0df5e29d654d436d33bb7bb7fe54405cc883c38077bbea3e1cffb9ee28e9af03dec510c3c36acbecd57 0001-fix-musl.patch
+"
diff --git a/testing/mtg/APKBUILD b/testing/mtg/APKBUILD
index 6b9c8de4636..a6f6f505cea 100644
--- a/testing/mtg/APKBUILD
+++ b/testing/mtg/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Konstantin Kulikov <k.kulikov2@gmail.com>
# Maintainer: Konstantin Kulikov <k.kulikov2@gmail.com>
pkgname=mtg
-pkgver=2.1.4
-pkgrel=0
+pkgver=2.1.7
+pkgrel=13
pkgdesc="MTPROTO proxy for Telegram"
url="https://github.com/9seconds/mtg"
license="MIT"
@@ -16,11 +16,13 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/9seconds/mtg/archive/refs/ta
mtg.confd
mtg.conf
skip-network-tests.patch
+ increase-test-timeout.patch
"
-export GOPATH=$srcdir/go
-export GOCACHE=$srcdir/go-build
-export GOTMPDIR=$srcdir
+
export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build -v .
@@ -38,9 +40,10 @@ package() {
}
sha512sums="
-4f45a945f789b6ee0a84228370d9a50a48fc2e65ae3a36e7b4a17e297a5e9527cbe44f1fd239376fe5d4ec605f772c4a363f83dacd6ef8ecaa1f6850a95b4a41 mtg-2.1.4.tar.gz
+e98307683274e73977b352442ccabcc9064a4dd93a3f840c9b36edffce6d2a66ee01ffce49eaf496451c351ce083447d72009912483dd9639847a32055822c95 mtg-2.1.7.tar.gz
6ce0b34b2224ea86d56f1c6911302c42a6b4aa9d13046fd0016d9adc267121fd1365829e26559875b836d0b94f9e784954949094489b7e16975d82332d241273 mtg.initd
41c3edc721fae9569596776e38fe6cebfe213cbb62b9a187fbb893eab9421d64ec5a683a54af5f1444a3e28af89402ab4d55abf9f653a64a040c0a4b684f5ece mtg.confd
340651372d8fa861bf40ead66af7fc52ee917aa62eb21bbf562bd5775ffd13ed688fe516a278aa96a8fe55ea48225ca1d9048a7bca7eaf6a5fedd563b27f21b4 mtg.conf
affffba79e839030482c904cd278977d380e5d5179d752c28ee923e69fa82bd09458517d851c943fa7ffe121811c663c2dc6b692c34b3a2c6e28ab4284eac11d skip-network-tests.patch
+70eef96edf5298da0d1b6540ecf31253f0b5cfbe443b77f0b7f601051d9e6060f15afc29ecd0de92db3b7e8e0cbcd055b30b3b990b4202da546a798db4c48e7a increase-test-timeout.patch
"
diff --git a/testing/mtg/increase-test-timeout.patch b/testing/mtg/increase-test-timeout.patch
new file mode 100644
index 00000000000..b40c8f95f23
--- /dev/null
+++ b/testing/mtg/increase-test-timeout.patch
@@ -0,0 +1,11 @@
+--- a/mtglib/proxy_test.go
++++ b/mtglib/proxy_test.go
+@@ -149,7 +149,7 @@
+ InsecureSkipVerify: true,
+ },
+ },
+- Timeout: 5 * time.Second,
++ Timeout: 15 * time.Second,
+ }
+
+ addr := fmt.Sprintf("https://%s/headers", suite.ProxyAddress())
diff --git a/testing/mtm/APKBUILD b/testing/mtm/APKBUILD
new file mode 100644
index 00000000000..e718a46de10
--- /dev/null
+++ b/testing/mtm/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=mtm
+pkgver=1.2.1
+pkgrel=0
+pkgdesc="Perhaps the smallest useful terminal multiplexer in the world"
+url="https://github.com/deadpixi/mtm"
+arch="all"
+license="GPL-3.0-or-later"
+options="!check" # No tests
+depends="ncurses-terminfo"
+makedepends="ncurses-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/deadpixi/mtm/archive/$pkgver.tar.gz"
+
+build() {
+ make HEADERS='-DNCURSESW_INCLUDE_H="<ncurses.h>"'
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin
+ install -Dm644 $pkgname.1 -t "$pkgdir"/usr/share/man/man1
+}
+
+sha512sums="
+74e5230c6ea65c87d580516b7b62edeb4f273c1a36662bac84af41ca47e4ce252e393132dfe8c700441d6b74c19d6d560fbc503815c12f9d1cbdda2e19a9a9e2 mtm-1.2.1.tar.gz
+"
diff --git a/testing/multicast-relay/APKBUILD b/testing/multicast-relay/APKBUILD
deleted file mode 100644
index a76a23e52db..00000000000
--- a/testing/multicast-relay/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Magnus Sandin <magnus.sandin@gmail.com>
-# Maintainer: Magnus Sandin <magnus.sandin@gmail.com>
-pkgname=multicast-relay
-pkgver=1.3.1
-pkgrel=0
-pkgdesc="Relay broadcast and multicast packets between interfaces"
-options="!check" # No tests available
-url="https://github.com/alsmith/multicast-relay"
-arch="noarch"
-license="GPL-3.0-or-later"
-depends="python3 py3-netifaces"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/alsmith/multicast-relay/archive/refs/tags/v$pkgver.tar.gz
- fix-python_version.patch
- $pkgname.initd
- $pkgname.confd
- "
-
-package() {
- install -m744 -D "$builddir/$pkgname.py" "$pkgdir/usr/bin/$pkgname.py"
- install -m644 -D "$builddir/README.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
- install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
-}
-
-sha512sums="934db533345f8a7863765ffb444178dd20ea4208537cfb0fd062dce1902050a43f8476ae737c3cf37e799b4de65398ecebc8e9fc4f0014432bc5922cce5bfa2c multicast-relay-1.3.1.tar.gz
-3a5e9dee4e05c89ae421861aaba4b38195cc6a04b6e7552d5f5b251eaa0f5a6ac12f6c831bf065c7585faad74cf60352fe5eefbe6ccbcec2af6bfe143b31bc1b fix-python_version.patch
-32a6fe5f9072fb708c89d9fa2035b4044fdbd36648c42fa953128f724a1ba371ed2e8c086507fc5b746a0ded2f06f86c02360cd836bdd521c8a90172de63e870 multicast-relay.confd
-2a82a4bbc01dfcce4c70a47ddb290499ecb5f43a9b290337632e832622cdd44780ae21c5db01693804f6f6c6bd88d79785dbc66601bce334c51a58022d909603 multicast-relay.initd
-"
diff --git a/testing/multicast-relay/fix-python_version.patch b/testing/multicast-relay/fix-python_version.patch
deleted file mode 100644
index d59700de939..00000000000
--- a/testing/multicast-relay/fix-python_version.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/multicast-relay.py.org
-+++ b/multicast-relay.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import argparse
- import binascii
diff --git a/testing/multicast-relay/multicast-relay.confd b/testing/multicast-relay/multicast-relay.confd
deleted file mode 100644
index e6ea15ac7e5..00000000000
--- a/testing/multicast-relay/multicast-relay.confd
+++ /dev/null
@@ -1,17 +0,0 @@
-# INTERFACES
-# List all interfaces that multicast shall be routed between
-# This is mandatory!!
-#
-# Example
-# INTERFACES="eth0 eth1"
-#
-INTERFACES=""
-
-# EXTRA_PARAMETERS
-# Any extra parameters to append as arguments
-#
-# Example
-# EXTRA_PARAMETERS="--noSSDP --noSonosDiscovery"
-#
-EXTRA_PARAMETERS=""
-
diff --git a/testing/multicast-relay/multicast-relay.initd b/testing/multicast-relay/multicast-relay.initd
deleted file mode 100644
index 5cd620cfe0e..00000000000
--- a/testing/multicast-relay/multicast-relay.initd
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/sbin/openrc-run
-
-name="multicast-relay"
-description="Relay broadcast and multicast packets between interfaces"
-
-command="/usr/bin/multicast-relay.py"
-command_args="--foreground --interfaces $INTERFACES $EXTRA_PARAMETERS"
-command_background=true
-
-pidfile="/run/${RC_SVCNAME}.pid"
-
-depend() {
- need net
-}
-
diff --git a/testing/muon/APKBUILD b/testing/muon/APKBUILD
index aee46b9ea88..fcb4b63b0f4 100644
--- a/testing/muon/APKBUILD
+++ b/testing/muon/APKBUILD
@@ -1,44 +1,64 @@
-# Contributor: KikooDX <kikoodx@paranoici.org>
-# Maintainer: KikooDX <kikoodx@paranoici.org>
+# Contributor: Stone Tickle <lattis@mochiro.moe>
+# Maintainer: Stone Tickle <lattis@mochiro.moe>
pkgname=muon
-pkgver=0_git20210812
+pkgver=0.2.0
pkgrel=2
-pkgdesc="meson implementation in C"
-options="!check" # broken test suite
-url="https://sr.ht/~lattis/muon"
-_giturl="https://github.com/annacrombie/muon"
+pkgdesc="A meson-compatible build system."
+url="https://muon.build"
arch="all"
-license="GPL-3.0-only"
+license="GPL-3.0-only AND Apache-2.0"
depends="samurai"
-makedepends="pkgconf-dev curl-dev zlib-dev"
+makedepends="scdoc curl-dev libarchive-dev pkgconf-dev python3 py3-yaml"
subpackages="$pkgname-doc"
-_gitrev=f4ee369d4a90ca597aaf63d99da9355266eba83b
-source="$pkgname-$_gitrev.tar.gz::$_giturl/archive/$_gitrev.tar.gz
- fix-bootstrap.patch"
-builddir="$srcdir/$pkgname-$_gitrev"
-
-prepare() {
- default_prepare
- ./bootstrap.sh bootstrap
-}
+source="
+ $pkgname-$pkgver.tar.gz::https://git.sr.ht/~lattis/muon/archive/$pkgver.tar.gz
+ https://mochiro.moe/wrap/meson-docs-0.64.1-19-g39c6fa4bc.tar.gz
+ fix-tests.patch
+"
+builddir="$srcdir/$pkgname-$pkgver/"
build() {
- bootstrap/muon setup \
- -Dstatic=false \
- -Dcurl=enabled \
- -Dzlib=enabled \
- -Dlibpkgconf=enabled \
- -Dsamu=disabled \
+ mv ../meson-docs subprojects/
+ ./bootstrap.sh build
+ build/muon setup build
+ samu -C build
+
+ # options copied from abuild-meson
+ build/muon setup \
+ -Dprefix=/usr \
+ -Dlibdir=/usr/lib \
+ -Dlibexecdir=/usr/libexec \
+ -Dbindir=/usr/bin \
+ -Dsbindir=/usr/sbin \
+ -Dincludedir=/usr/include \
+ -Ddatadir=/usr/share \
+ -Dmandir=/usr/share/man \
+ -Dinfodir=/usr/share/info \
+ -Dlocaledir=/usr/share/locale \
+ -Dsysconfdir=/etc \
+ -Dlocalstatedir=/var \
+ -Dsharedstatedir=/var/lib \
+ -Dbuildtype=plain \
+ -Dauto_features=auto \
+ -Dwrap_mode=nodownload \
+ -Db_lto=false \
+ -Db_staticpic=true \
+ -Db_pie=true \
build
- ninja -C build
+
+ samu -C build
+}
+
+check() {
+ build/muon -C build test -d dots
}
package() {
- install -Dm711 build/muon "$pkgdir"/usr/bin/muon
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ DESTDIR=$pkgdir build/muon -C build install
}
sha512sums="
-34a76775e137687e345426d3d7dd415fafe5f053d1881b8a2f384ebe49046d9b338c210f3eb1544fddd2dd912427a5d75fb2d8a5be269e3b3e9c95cf5e622e38 muon-f4ee369d4a90ca597aaf63d99da9355266eba83b.tar.gz
-937d8fffec20b5244d7234738eda5baba8a351bff2a6815ec71c30c08180d63febcb6a2adc9a1bd495481d2384cf04c01ab8aa5abc121b76d344a559e4b65569 fix-bootstrap.patch
+b2e90048756bdc26bdea24fe227a87ad4d0e57176e217e22ea492a55229c62e2a70243f60af1e162e2dde8468fdda9662a32ea5cfadd69fab95a83499efa077b muon-0.2.0.tar.gz
+59c986c4c4d545a6488cd74a2b6563b867716b74aab95fd19a745ce46a99fe5222232e132c80c5ed80f3e61d13e74cf2dc13b1b6d4638fd40a69d82d0d74faaa meson-docs-0.64.1-19-g39c6fa4bc.tar.gz
+e9b402583f6dcf31756408abde8eef4752d34c36fcc96b563095eaf73c1736ec06012c347828d5040e18d8b0b788371a5d6fd4866cb4be23b57320ca0df6a74d fix-tests.patch
"
diff --git a/testing/muon/fix-bootstrap.patch b/testing/muon/fix-bootstrap.patch
deleted file mode 100644
index db19cbeec42..00000000000
--- a/testing/muon/fix-bootstrap.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff '--color=auto' -Nurp a/bootstrap.sh b/bootstrap.sh
---- a/bootstrap.sh 2021-08-17 03:11:15.990682670 +0200
-+++ b/bootstrap.sh 2021-08-17 03:11:33.563754987 +0200
-@@ -11,7 +11,6 @@ dir="$1"
- mkdir -p "$dir"
-
- cat \
-- platform/dirs.c \
- src/coerce.c \
- src/compilers.c \
- src/data/bucket_array.c \
-@@ -59,6 +58,7 @@ cat \
- src/main.c \
- src/opts.c \
- src/output/output.c \
-+ src/platform/dirs.c \
- src/platform/filesystem.c \
- src/platform/mem.c \
- src/platform/path.c \
diff --git a/testing/muon/fix-tests.patch b/testing/muon/fix-tests.patch
new file mode 100644
index 00000000000..ea750db09d2
--- /dev/null
+++ b/testing/muon/fix-tests.patch
@@ -0,0 +1,28 @@
+One of the test cases of this test checks if ppoll is only defined
+when poll.h is included with -D_GNU_SOURCE. The generated C code
+for this test must be compiled with -std=c99 or newer, as otherwise,
+the ppoll function will be implicitly declared to be `int ppoll()`
+even if poll.h doesn't define it, thereby causing the test case
+to fail.
+
+The test failure message is:
+
+c compiler: has function ppoll: YES
+c compiler: header poll.h has symbol ppoll: YES
+err ppoll should not be accessible without _GNU_SOURCE
+tests/project/common/103 has header symbol/meson.build:49:5: error in function assert()
+ 49 | assert(
+ ^
+
+diff -upr "muon-0.2.0.orig/tests/project/common/103 has header symbol/meson.build" "muon-0.2.0/tests/project/common/103 has header symbol/meson.build"
+--- "muon-0.2.0.orig/tests/project/common/103 has header symbol/meson.build" 2024-03-27 22:11:49.923516032 +0100
++++ "muon-0.2.0/tests/project/common/103 has header symbol/meson.build" 2024-03-27 22:12:09.156904627 +0100
+@@ -2,7 +2,7 @@ project(
+ 'has header symbol',
+ 'c',
+ 'cpp',
+- default_options: ['cpp_std=c++11'],
++ default_options: ['c_std=c99', 'cpp_std=c++11'],
+ )
+
+ cc = meson.get_compiler('c')
diff --git a/testing/muparser/APKBUILD b/testing/muparser/APKBUILD
deleted file mode 100644
index f8c93494cb1..00000000000
--- a/testing/muparser/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=muparser
-pkgver=2.3.2
-pkgrel=0
-pkgdesc="Fast math parser library"
-url="https://beltoforion.de/en/muparser/"
-arch="all !s390x !mips64" # s390x&mips64 blocked by openmp
-license="BSD-2-Clause"
-makedepends="cmake openmp-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-options="!check" # No testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/beltoforion/muparser/archive/v$pkgver.tar.gz"
-
-# FIXME: For some reason CMake is unable to find the OpenMP dependency
-# on riscv64. Might be qemu-user related:
-#
-# CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
-# Could NOT find OpenMP_C (missing: OpenMP_gomp_LIBRARY
-# OpenMP_pthread_LIBRARY) (found version "4.5")
-#
-_cmake_opts="-DENABLE_OPENMP=ON"
-case "${CARCH}" in
-riscv64) _cmake_opts="-DENABLE_OPENMP=OFF" ;;
-esac
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS \
- $_cmake_opts .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-
- install -Dm644 "$builddir"/License.txt \
- "$pkgdir"/usr/share/licenses/muparser/LICENSE
-}
-
-sha512sums="8ef5c8b3834da3995a782b7364a4eb4197fb706bee4cadabe5511d2a9cf2912c3db6de422a91eff7f9690f8c9c355b9900335e940749d5c243cb732ac1992aef muparser-2.3.2.tar.gz"
diff --git a/testing/muse/APKBUILD b/testing/muse/APKBUILD
new file mode 100644
index 00000000000..643c508a020
--- /dev/null
+++ b/testing/muse/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=muse
+pkgver=4.2.1
+pkgrel=1
+pkgdesc="Linux Music Editor"
+url="https://github.com/muse-sequencer/muse/"
+# x86: doesn't build
+arch="all !x86"
+license="GPL-2.0-or-later"
+makedepends="
+ alsa-lib-dev
+ cmake
+ extra-cmake-modules
+ fluidsynth-dev
+ jack-dev
+ ladspa-dev
+ libsamplerate-dev
+ libsndfile-dev
+ lilv-dev
+ lv2-dev
+ python3-dev
+ qt5-qtbase-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ rubberband-dev
+ samurai
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/muse-sequencer/muse/archive/refs/tags/$pkgver/muse-$pkgver.tar.gz"
+builddir="$srcdir/muse-$pkgver/src"
+options="!check" # no tests
+
+build() {
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest --test-dir build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+cf033cf77cb328a2aa704bf04d69dd515108e9c789e2ec9321a577b5b3b3bb73ce738142903b69b2c9c3ec5c27e921adc52511932f48809149f5a5cf5fd7deb2 muse-4.2.1.tar.gz
+"
diff --git a/testing/musikcube/APKBUILD b/testing/musikcube/APKBUILD
new file mode 100644
index 00000000000..cf72ffda84c
--- /dev/null
+++ b/testing/musikcube/APKBUILD
@@ -0,0 +1,108 @@
+# Maintainer:
+pkgname=musikcube
+pkgver=3.0.2
+pkgrel=1
+pkgdesc="a cross-platform, terminal-based music player, audio engine, metadata indexer, and server"
+url="https://github.com/clangen/musikcube"
+arch="all"
+license="BSD-3-Clause"
+# TODO: libbasu-dev instead of elogind-dev yields a nonfunctioning mpris plugin,
+# even though session is not in elogind anyway, libelogind works
+makedepends="
+ alsa-lib-dev
+ asio-dev
+ cmake
+ curl-dev
+ elogind-dev
+ ffmpeg-dev
+ kissfft-dev
+ lame-dev
+ libev-dev
+ libmicrohttpd-dev
+ libopenmpt-dev
+ ncurses-dev
+ pipewire-dev
+ samurai
+ sdbus-cpp-dev
+ sqlite-dev
+ taglib-dev
+ "
+# TODO: split server (-d)
+# put plugins in not /usr/share
+# split locales
+subpackages="
+ $pkgname-dev
+ $pkgname-plugin-all:allplugins
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/clangen/musikcube/archive/refs/tags/$pkgver.tar.gz
+ locale.patch
+ tinfo.patch
+ sys.patch
+ "
+options="!check" # no tests
+
+# alsa/pipewire/ffmpegdecorder left in by default
+_plugins="
+ httpdatastream
+ mpris
+ openmpt
+ server
+ stockencoders
+ supereqdsp
+ taglibreader
+ "
+for _plugin in $_plugins; do
+ subpackages="$subpackages $pkgname-plugin-$_plugin:plugin"
+done
+
+prepare() {
+ default_prepare
+
+ cd src/3rdparty
+ rm -r src/sqlite
+ rm -r src/kiss*
+}
+
+build() {
+ # no-ncursesw prevents looking in the wrong place
+ # disable-update-check is passed for ''homebrew builds'', removes update checker
+ CFLAGS="$CFLAGS -DNDEBUG -O2" \
+ CXXFLAGS="$CXXFLAGS -DDISABLE_UPDATE_CHECK -DNO_NCURSESW -DNDEBUG -O2" \
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ mkdir -p "$pkgdir"/usr/lib
+ mv "$pkgdir"/usr/share/musikcube/libmusikcore.so "$pkgdir"/usr/lib/
+
+ # just sh wrappers, so use symlinks instead
+ ln -sfv ../share/musikcube/musikcube "$pkgdir"/usr/bin/musikcube
+ ln -sfv ../share/musikcube/musikcubed "$pkgdir"/usr/bin/musikcubed
+}
+
+plugin() {
+ local sub="${subpkgname#"$pkgname"-plugin-}"
+ pkgdesc="$pkgdesc ($sub plugin)"
+
+ amove usr/share/musikcube/plugins/*$sub*.so
+}
+
+allplugins() {
+ pkgdesc="$pkgdesc (all plugins)"
+ local plugin
+ for plugin in $_plugins; do
+ depends="$depends $pkgname-plugin-$plugin=$pkgver-r$pkgrel"
+ done
+ mkdir -p "$subpkgdir"
+}
+
+sha512sums="
+33d7fa0768c235afa2d877fb2bd3523f47c2fcf1bd500daabbd3755645439c51a1d477e8e8fe7f2a6aba451121b0d600e413fa0a491da9947a4dff7cb0430d82 musikcube-3.0.2.tar.gz
+cbb0c515a245475221f98b6858152f99c5e0d1d95ee4d79ecfcb616788f907099aed7195fa16180267900e56c136bd9d38caea7b285a2f8720cd7a767cbba279 locale.patch
+4f473fae6a4351875930ee5ba537116047e7cd1e16d70822f815b46bacb4e80289afcef9c577b0ef9c966ddc8087819391a2517b630e4ef4a791c120b849b2a7 tinfo.patch
+fdcd4c2ed2771b6c5584723a6a9e7d4ab582cceb5f50f4b8bd22b59be31eb8bf905c4e5981c6aabcf437ff64ea5b49b0b0ec2b8da5b458311a8880bdacbc8be5 sys.patch
+"
diff --git a/testing/musikcube/locale.patch b/testing/musikcube/locale.patch
new file mode 100644
index 00000000000..29eaaf65f3b
--- /dev/null
+++ b/testing/musikcube/locale.patch
@@ -0,0 +1,15 @@
+the output of setlocale is quite opaque and segfaults in portable libstdc++ locale() implementation later, so just use current
+--
+diff --git a/src/musikcube/app/model/DirectoryAdapter.cpp b/src/musikcube/app/model/DirectoryAdapter.cpp
+index 6108cde..2f4d1bc 100755
+--- a/src/musikcube/app/model/DirectoryAdapter.cpp
++++ b/src/musikcube/app/model/DirectoryAdapter.cpp
+@@ -133,7 +133,7 @@ static void buildDirectoryList(
+ std::sort(
+ target.begin(),
+ target.end(),
+- std::locale(setlocale(LC_ALL, nullptr)));
++ std::locale(""));
+ }
+ catch (...) {
+ std::sort(target.begin(), target.end());
diff --git a/testing/musikcube/sys.patch b/testing/musikcube/sys.patch
new file mode 100644
index 00000000000..b1e80ff83e6
--- /dev/null
+++ b/testing/musikcube/sys.patch
@@ -0,0 +1,37 @@
+use system versions of some things
+--
+diff --git a/src/musikcore/CMakeLists.txt b/src/musikcore/CMakeLists.txt
+index 8309cc3..8894c15 100644
+--- a/src/musikcore/CMakeLists.txt
++++ b/src/musikcore/CMakeLists.txt
+@@ -1,3 +1,7 @@
++find_package(PkgConfig REQUIRED)
++pkg_check_modules(kissfft REQUIRED kissfft-float)
++pkg_check_modules(sqlite REQUIRED sqlite3)
++
+ set(CORE_SOURCES
+ ./c_context.cpp
+ ./c_interface_wrappers.cpp
+@@ -67,10 +71,7 @@ set(CORE_SOURCES
+ ./support/Playback.cpp
+ ./support/Preferences.cpp
+ ./support/PreferenceKeys.cpp
+ ../3rdparty/src/sqlean/unicode/extension.c
+- ../3rdparty/src/sqlite/sqlite3.c
+- ../3rdparty/src/kiss_fft.c
+- ../3rdparty/src/kiss_fftr.c
+ ../3rdparty/src/md5.c
+ )
+
+@@ -85,9 +86,9 @@ add_definitions(-DMCSDK_DEFINE_EXPORTS)
+ add_library(musikcore SHARED ${CORE_SOURCES})
+
+ set_target_properties(musikcore PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${musikcube_SOURCE_DIR}/bin)
+-target_link_libraries(musikcore ${musikcube_LINK_LIBS})
+-target_include_directories(musikcore BEFORE PRIVATE ${VENDOR_INCLUDE_DIRECTORIES})
++target_link_libraries(musikcore ${musikcube_LINK_LIBS} ${sqlite_LIBRARIES} ${kissfft_LIBRARIES})
++target_include_directories(musikcore BEFORE PRIVATE ${VENDOR_INCLUDE_DIRECTORIES} ${sqlite_INCLUDE_DIRS} ${kissfft_INCLUDE_DIRS})
+ find_header(asio.hpp)
+
+ if (ENABLE_PCH MATCHES "true")
+ message(STATUS "[musikcore] enabling precompiled headers")
diff --git a/testing/musikcube/tinfo.patch b/testing/musikcube/tinfo.patch
new file mode 100644
index 00000000000..dbc021e2985
--- /dev/null
+++ b/testing/musikcube/tinfo.patch
@@ -0,0 +1,16 @@
+libtinfo is just a split part of ncurses
+--
+diff --git a/src/musikcube/CMakeLists.txt b/src/musikcube/CMakeLists.txt
+index e16ec8b..7d10500 100644
+--- a/src/musikcube/CMakeLists.txt
++++ b/src/musikcube/CMakeLists.txt
+@@ -113,9 +113,6 @@ else()
+ message(STATUS "[ncurses] detected OpenBSD, unsetting LIBTINFO")
+ set(LIBTINFO "")
+ else()
+- message(STATUS "[ncurses] not Darwin! will attempt to link against libtinfo")
+- find_library(LIBTINFO NAMES tinfo)
+- message(STATUS "[musikcube] using libtinfo at: " ${LIBTINFO})
+ endif()
+ endif()
+
diff --git a/testing/mustach/APKBUILD b/testing/mustach/APKBUILD
deleted file mode 100644
index 381f2d6f083..00000000000
--- a/testing/mustach/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Lucas Ramage <ramage.lucas@protonmail.com>
-# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
-pkgname=mustach
-pkgver=1.2.2
-pkgrel=0
-pkgdesc="C implementation of the mustache template specification"
-url="https://gitlab.com/jobol/mustach"
-arch="all !mips !mips64" # testsuite crashes on mips
-license="Apache-2.0"
-makedepends="json-c-dev"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
-source="https://gitlab.com/jobol/mustach/-/archive/$pkgver/mustach-$pkgver.tar.bz2"
-restrict="!check" # test1 segfaults
-
-build() {
- make tool=jsonc libs=single
-}
-
-package() {
- make -j1 DESTDIR="$pkgdir" PREFIX="/usr" install
-
- mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
- install -m644 AUTHORS README.md \
- "$pkgdir"/usr/share/doc/$pkgname/
-}
-sha512sums="
-974e18c2d174cf7a36beb37a7b8c3ffb3ff231b86d3c6978a0a2a40050d1c8f2db2d7976398c12dc3b226a7f571212595ce4d726ccc60e32bf984033be493d13 mustach-1.2.2.tar.bz2
-"
diff --git a/testing/mustache/APKBUILD b/testing/mustache/APKBUILD
deleted file mode 100644
index 27655421cf7..00000000000
--- a/testing/mustache/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributor: Thomas Kienlen <kommander@laposte.net>
-# Maintainer: Thomas Kienlen <kommander@laposte.net>
-pkgname=mustache
-pkgver=4.1
-pkgrel=0
-pkgdesc="Mustache text templates for modern C++"
-url="https://github.com/kainjow/Mustache"
-arch="noarch" # header-only library
-license="BSL-1.0"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kainjow/Mustache/archive/v$pkgver.tar.gz"
-builddir="$srcdir/Mustache-$pkgver"
-
-check() {
- make
-}
-
-package() {
- install -D -m644 mustache.hpp "$pkgdir"/usr/include/mustache.hpp
-}
-
-sha512sums="
-609c876fc085d1331355ec1f0396e588edf1fb3ea6765abcd06043cc5f7288f015d6bb7fdeb560df78aab54ae8d97e934375de577b944a09c9ae93f9915e7aff mustache-4.1.tar.gz
-"
diff --git a/testing/mwoffliner/APKBUILD b/testing/mwoffliner/APKBUILD
deleted file mode 100644
index 57205f4fb7b..00000000000
--- a/testing/mwoffliner/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=mwoffliner
-pkgver=1.11.10
-pkgrel=0
-pkgdesc="Scrape any online Mediawiki motorised wiki to your local filesystem"
-url="https://github.com/openzim/mwoffliner"
-arch="x86_64"
-license="GPL-3.0-or-later"
-options="!check" # no test suite from upstream
-depends="npm redis libc6-compat"
-makedepends="python3 autoconf automake chrpath libjpeg-turbo-dev nasm zlib-dev
- libzim-dev bash"
-subpackages="$pkgname-doc"
-source="mwoffliner-$pkgver.tar.gz::https://github.com/openzim/mwoffliner/archive/v$pkgver.tar.gz"
-
-build() {
- npm install
-}
-
-check() {
- npm test
-}
-
-package() {
- install -d "$pkgdir"/usr/share/doc/$pkgname "$pkgdir"/usr/lib/node_modules/$pkgname
- cp -a lib node_modules package*.json "$pkgdir"/usr/lib/node_modules/$pkgname
- ln -s /usr/lib/node_modules/$pkgname/bin/$pkgname "$pkgdir"/usr/lib/node_modules/$pkgname
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-
- # Strip all the rpath that include /home
- local scandir="$pkgdir"/usr/lib/node_modules/mwoffliner/node_modules/@openzim/libzim/
- scanelf --recursive --rpath --etype ET_DYN "$scandir" | \
- awk '/home/{print $3;}' | xargs chrpath --delete
-}
-
-sha512sums="
-d9a820327343a41f21df93c40ebe682ddf91cc18431399d712a6f1e7830192e13b18a677cc2639f6a0aa36518782c0581d2a6991ff5f744cef9fb91c3433e025 mwoffliner-1.11.10.tar.gz
-"
diff --git a/testing/mxclient/APKBUILD b/testing/mxclient/APKBUILD
index ed2148576b8..d7c8ad45025 100644
--- a/testing/mxclient/APKBUILD
+++ b/testing/mxclient/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=mxclient
pkgver=0_git20211002
-pkgrel=0
+pkgrel=1
_commitid="7d47bcf1df699c2a9ea9b333c3b980c546455a3b"
pkgdesc="minimalist client for sending mail direct to the recipient's MX"
url="https://github.com/richfelker/mxclient/"
diff --git a/testing/mycli/APKBUILD b/testing/mycli/APKBUILD
deleted file mode 100644
index a5903c8c306..00000000000
--- a/testing/mycli/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Thomas Boerger <thomas@webhippie.de>
-# Maintainer: Thomas Boerger <thomas@webhippie.de>
-pkgname=mycli
-pkgver=1.24.1
-pkgrel=2
-pkgdesc="MySQL CLI with autocompletion and syntax highlighting"
-url="https://www.mycli.net/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="
- python3
- py3-pyaes
- py3-click
- py3-pygments
- py3-prompt_toolkit
- py3-pymysql
- py3-sqlparse
- py3-configobj
- py3-cryptography
- py3-cli_helpers
- py3-pyperclip
- "
-makedepends="python3-dev py3-setuptools py3-paramiko"
-checkdepends="py3-pytest py3-mock"
-source="https://files.pythonhosted.org/packages/source/m/mycli/mycli-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 -m pytest -v test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="01deb08fffe3dd862b46a6c3ac5a61ed218d338616c7b908a50df0457072882e2e9c0259e0985c8e5b0f87b6fd89708af67d44ee8f708a1186acceca0272d7b8 mycli-1.24.1.tar.gz"
diff --git a/testing/mycroft-embedded-shell/APKBUILD b/testing/mycroft-embedded-shell/APKBUILD
deleted file mode 100644
index 38329e93364..00000000000
--- a/testing/mycroft-embedded-shell/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=mycroft-embedded-shell
-pkgver=0_git20211005
-pkgrel=0
-_commit="c2855bffe17cd346397909bf84842eca2d15bd39"
-pkgdesc="A MyCroft GUI app which is intended to run on low power hardware"
-url="https://github.com/OpenVoiceOS/mycroft-embedded-shell"
-# armhf blocked by extra-cmake-modules
-# s390x and riscv64 blocked by polkit -> plasma-pa
-# ppc64le blocked by qt5-qtwebview
-arch="all !armhf !s390x !riscv64 !ppc64le"
-license="Apache-2.0"
-depends="plasma-pa"
-makedepends="
- extra-cmake-modules
- kdbusaddons-dev
- ki18n-dev
- qt5-qtbase-dev
- qt5-qtdeclarative-dev
- qt5-qtwebview-dev
- "
-source="https://github.com/OpenVoiceOS/mycroft-embedded-shell/archive/$_commit/mycroft-embedded-shell-$_commit.tar.gz"
-options="!check" # No tests
-builddir="$srcdir/$pkgname-$_commit"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-5b7e664e27234d5ee29401f5525b7d19e2b39c58cd5da9c4b8496f0527e7fcd9b6894593a246b2e2b30b30b90b03aa95c7ceed1295da5f0f0dfe1029396402ae mycroft-embedded-shell-c2855bffe17cd346397909bf84842eca2d15bd39.tar.gz
-"
diff --git a/testing/mynewt-newt/APKBUILD b/testing/mynewt-newt/APKBUILD
deleted file mode 100644
index a653f53c066..00000000000
--- a/testing/mynewt-newt/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=mynewt-newt
-pkgver=1.9.0
-_ver=${pkgver//./_}_tag
-pkgrel=0
-pkgdesc="Apache Newt is a smart build and package management tool for Apache Mynewt Operating System"
-url="https://mynewt.apache.org"
-arch="x86_64 x86"
-license="Apache-2.0"
-options="!check" # unreleased test suite in separate repository
-depends="git"
-makedepends="go"
-subpackages="$pkgname-doc"
-source="mynewt-newt-$pkgver.tar.gz::https://github.com/apache/mynewt-newt/archive/mynewt_${_ver}.tar.gz"
-builddir="$srcdir/mynewt-newt-mynewt_${_ver}"
-
-build() {
- ./build.sh
-}
-
-package() {
- install -Dm 755 newt/newt "${pkgdir}/usr/bin/newt"
-
- install -Dm 644 -t "${pkgdir}/usr/share/doc/${pkgname}/" README.md
-}
-
-sha512sums="
-1f8dbfd8f9260b42dfc53ef965d10ac1dc727352f907407373e8473717ac1682363f15a31ef64c03ca54e569f7575247604f46ba78ff2ac14270ae72374ec21c mynewt-newt-1.9.0.tar.gz
-"
diff --git a/testing/mypaint/APKBUILD b/testing/mypaint/APKBUILD
new file mode 100644
index 00000000000..40eb2bbc2cd
--- /dev/null
+++ b/testing/mypaint/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: mio <miyopan@e.email>
+# Maintainer: mio <miyopan@e.email>
+pkgname=mypaint
+pkgver=2.0.1
+pkgrel=0
+pkgdesc="Fast and dead-simple painting app for artists"
+url="https://mypaint.app/"
+license="GPL-2.0-or-later"
+# s390x: fails big endian tests
+arch="all !s390x"
+depends="
+ mypaint-brushes2
+ py3-cairo
+ py3-gobject3
+ py3-numpy
+ "
+# Required for tests: py3-cairo py3-gobject3
+makedepends="
+ glib-dev
+ gtk+3.0-dev
+ lcms2-dev
+ libmypaint-dev
+ libpng-dev
+ mypaint-brushes2-dev
+ python3-dev
+ py3-cairo
+ py3-numpy-dev
+ py3-gobject3-dev
+ py3-setuptools
+ py3-wheel
+ swig
+ "
+subpackages="$pkgname-pyc $pkgname-lang"
+source="mypaint-v$pkgver.tar.gz::https://github.com/mypaint/mypaint/archive/v$pkgver.tar.gz
+ fix-invalid-mode-ru.patch"
+
+build() {
+ python setup.py build_config
+ python setup.py build
+}
+
+check() {
+ python setup.py test
+}
+
+package() {
+ python setup.py install --root="$pkgdir" --skip-build
+}
+
+pyc() {
+ pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
+ install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
+
+ cd "$pkgdir" || return 0
+ local IFS='
+'
+ amove $(find usr/lib -type d -name __pycache__)
+}
+
+sha512sums="
+80983bb70234c4f5fbcc0c13d0e6bb8d20198ec18e22c395d42814b9c7a6621bdd0b1c395ac8067b19bb7a47400514c99aa3ebdad2ddb4859f9446c43beb51ea mypaint-v2.0.1.tar.gz
+ad87fcf5b76db88ff495e260e12dd24d3309d5e8897a88ed836e4df4bc09f7188ef1e17a8190a94020a4d0c978017b99f7afcaf88d99dce12b9037d663e37157 fix-invalid-mode-ru.patch
+"
diff --git a/testing/mypaint/fix-invalid-mode-ru.patch b/testing/mypaint/fix-invalid-mode-ru.patch
new file mode 100644
index 00000000000..7c2df6effdc
--- /dev/null
+++ b/testing/mypaint/fix-invalid-mode-ru.patch
@@ -0,0 +1,98 @@
+From 032a155b72f2b021f66a994050d83f07342d04af Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
+ <congdanhqx@gmail.com>
+Date: Wed, 9 Nov 2022 11:24:33 +0700
+Subject: [PATCH] python: fix for Python 3.11
+
+- python 3 always open in universal mode, U is default mode in 3.0,
+ and removed in 3.11
+- mypaint doesn't use ld?n?gettext, so bind_textdomain_codeset isn't
+ needed, that function is deprecated in 3.8 and is no-ops in 3.10 and
+ removed in 3.11
+---
+ lib/gettext_setup.py | 25 ++-----------------------
+ setup.py | 2 +-
+ 2 files changed, 3 insertions(+), 24 deletions(-)
+
+diff --git a/lib/gettext_setup.py b/lib/gettext_setup.py
+index d4ce60a20..72cfaeddc 100644
+--- a/lib/gettext_setup.py
++++ b/lib/gettext_setup.py
+@@ -82,13 +82,11 @@ def init_gettext(localepath):
+ # yanked in over GI.
+ # https://bugzilla.gnome.org/show_bug.cgi?id=574520#c26
+ bindtextdomain = None
+- bind_textdomain_codeset = None
+ textdomain = None
+
+ # Try the POSIX/Linux way first.
+ try:
+ bindtextdomain = locale.bindtextdomain
+- bind_textdomain_codeset = locale.bind_textdomain_codeset
+ textdomain = locale.textdomain
+ except AttributeError:
+ logger.warning(
+@@ -117,12 +115,6 @@ def init_gettext(localepath):
+ ctypes.c_char_p,
+ )
+ bindtextdomain.restype = ctypes.c_char_p
+- bind_textdomain_codeset = libintl.bind_textdomain_codeset
+- bind_textdomain_codeset.argtypes = (
+- ctypes.c_char_p,
+- ctypes.c_char_p,
+- )
+- bind_textdomain_codeset.restype = ctypes.c_char_p
+ textdomain = libintl.textdomain
+ textdomain.argtypes = (
+ ctypes.c_char_p,
+@@ -177,35 +169,22 @@ def init_gettext(localepath):
+ # complete set from the same source.
+ # Required for translatable strings in GtkBuilder XML
+ # to be translated.
+- if bindtextdomain and bind_textdomain_codeset and textdomain:
++ if bindtextdomain and textdomain:
+ assert os.path.exists(path)
+ assert os.path.isdir(path)
+ if sys.platform == 'win32':
+ p = bindtextdomain(dom.encode('utf-8'), path.encode('utf-8'))
+- c = bind_textdomain_codeset(
+- dom.encode('utf-8'), codeset.encode('utf-8')
+- )
+ else:
+ p = bindtextdomain(dom, path)
+- c = bind_textdomain_codeset(dom, codeset)
+ logger.debug("C bindtextdomain(%r, %r): %r", dom, path, p)
+- logger.debug(
+- "C bind_textdomain_codeset(%r, %r): %r",
+- dom, codeset, c,
+- )
+ # Call the implementations in Python's standard gettext module
+ # too. This has proper cross-platform support, but it only
+ # initializes the native Python "gettext" module.
+ # Required for marked strings in Python source to be translated.
+ # See http://docs.python.org/release/2.7/library/locale.html
+ p = gettext.bindtextdomain(dom, path)
+- c = gettext.bind_textdomain_codeset(dom, codeset)
+ logger.debug("Python bindtextdomain(%r, %r): %r", dom, path, p)
+- logger.debug(
+- "Python bind_textdomain_codeset(%r, %r): %r",
+- dom, codeset, c,
+- )
+- if bindtextdomain and bind_textdomain_codeset and textdomain:
++ if bindtextdomain and textdomain:
+ if sys.platform == 'win32':
+ d = textdomain(defaultdom.encode('utf-8'))
+ else:
+diff --git a/setup.py b/setup.py
+index 204236765..046db5880 100644
+--- a/setup.py
++++ b/setup.py
+@@ -679,7 +679,7 @@ def _install_script(self, src, header):
+ self.announce("installing %s as %s" % (src, targ_basename), level=2)
+ if self.dry_run:
+ return []
+- with open(src, "rU") as in_fp:
++ with open(src, "r") as in_fp:
+ with open(targ, "w") as out_fp:
+ line = in_fp.readline().rstrip()
+ if line.startswith("#!"):
diff --git a/testing/n30f/APKBUILD b/testing/n30f/APKBUILD
index fb1d11565eb..7fc5b33151b 100644
--- a/testing/n30f/APKBUILD
+++ b/testing/n30f/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Camille Scholtz <onodera@openmailbox.org>
pkgname=n30f
pkgver=2.0
-pkgrel=2
+pkgrel=3
pkgdesc="A quick hack to display a png in a borderless and transparent non-wm-managed window"
url="https://github.com/sdhand/n30f"
arch="all"
diff --git a/testing/nano-hare/APKBUILD b/testing/nano-hare/APKBUILD
new file mode 100644
index 00000000000..da4309aef25
--- /dev/null
+++ b/testing/nano-hare/APKBUILD
@@ -0,0 +1,23 @@
+# Contributor: Sertonix <sertonix@posteo.net>
+# Maintainer: Sertonix <sertonix@posteo.net>
+pkgname=nano-hare
+pkgver=0_git20231021
+_commit=6907c3f20a9177c3aeeead5fcf4dae1926471181
+pkgrel=0
+pkgdesc="Nano syntax highlighting for Hare"
+url="https://sr.ht/~lmarz/nano-hare/"
+arch="noarch"
+license="Unlicense"
+install_if="nano-syntax hare"
+source="$pkgname-$_commit.tar.gz::https://git.sr.ht/~lmarz/nano-hare/archive/$_commit.tar.gz"
+builddir="$srcdir/nano-hare-$_commit"
+# !check: no checks available
+options="!check"
+
+package() {
+ install -Dm0644 -t "$pkgdir"/usr/share/nano/ -- "$builddir"/hare.nanorc
+}
+
+sha512sums="
+b77d83f952ac72114d0902895fe6994d45b97131415610e3d98344e9bdbf880c8c98e63ef3c0c713c6d84e31280545e8976bc88f1d597b79fc1570b94e8c5648 nano-hare-6907c3f20a9177c3aeeead5fcf4dae1926471181.tar.gz
+"
diff --git a/testing/nanomsg/APKBUILD b/testing/nanomsg/APKBUILD
deleted file mode 100644
index d23f13142a2..00000000000
--- a/testing/nanomsg/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=nanomsg
-pkgver=1.1.5
-pkgrel=1
-pkgdesc="Socket library that provides several common communication patterns"
-url="https://nanomsg.org"
-arch="all !armhf !armv7" # armhf: segfaults in 2 tests
-license="MIT"
-makedepends="asciidoctor xmlto cmake"
-options="libtool"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/nanomsg/nanomsg/archive/$pkgver.tar.gz"
-
-
-build() {
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib .
- make
-}
-
-check() {
- make test
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="773b8e169a7accac21414c63972423a249164f5b843c6c65c1b03a2eb90d21da788a98debdeb396dab795e52d30605696bc2cf65e5e05687bf115438d5b22717 nanomsg-1.1.5.tar.gz"
diff --git a/testing/nauty/APKBUILD b/testing/nauty/APKBUILD
new file mode 100644
index 00000000000..1e65a786102
--- /dev/null
+++ b/testing/nauty/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=nauty
+pkgver=2.8.8
+_pkgver=${pkgver//./_}
+pkgrel=0
+pkgdesc="Programs for computing automorphism groups of graphs and digraphs"
+url="https://pallini.di.uniroma1.it/"
+arch="all"
+license="Apache-2.0"
+subpackages="$pkgname-dev"
+source="https://pallini.di.uniroma1.it/nauty$_pkgver.tar.gz"
+builddir="$srcdir/$pkgname$_pkgver"
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --enable-generic
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" pkgconfigexecdir=/usr/lib/pkgconfig install
+}
+
+sha512sums="
+c0495256b92b0742e7f0a3ad8b43f400e7b4bc4b58dff560e7d0a868f392b0462424566b8ebba5ec08499551eab091b6a8e2c0ddba4953ab7592906034812c18 nauty2_8_8.tar.gz
+"
diff --git a/testing/navidrome/APKBUILD b/testing/navidrome/APKBUILD
deleted file mode 100644
index 3b08d36594e..00000000000
--- a/testing/navidrome/APKBUILD
+++ /dev/null
@@ -1,69 +0,0 @@
-# Contributor: Tom Lebreux <me@tomlebreux.com>
-# Maintainer: Tom Lebreux <me@tomlebreux.com>
-pkgname=navidrome
-pkgver=0.47.0
-pkgrel=0
-pkgdesc="Modern Music Server and Streamer compatible with Subsonic/Airsonic"
-url="https://navidrome.org/"
-arch="all !mips64 !riscv64" # blocked by nodejs
-license="GPL-3.0-or-later"
-options="chmod-clean net" # For downloading go and nodejs dependencies
-depends="ffmpeg"
-makedepends="go npm taglib-dev zlib-dev"
-install="$pkgname.pre-install"
-subpackages="$pkgname-openrc"
-pkgusers="navidrome"
-pkggroups="navidrome"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/navidrome/navidrome/archive/refs/tags/v$pkgver.tar.gz
- navidrome.initd
- navidrome.confd
- navidrome.toml
- "
-
-export GOPATH="$srcdir"
-
-build() {
- make download-deps
- # Prevents crash due to allocation failure
- echo 'node-options=--max_old_space_size=3072' > ./ui/.npmrc
- cd ./ui/
- npm install
- npm run build
- cd ..
-
- # Display pkgrel instead of keeping the git sha in sync with pkgver
- CGO_ENABLED=1 go build \
- -trimpath \
- -ldflags="
- -X github.com/navidrome/navidrome/consts.gitSha=$pkgver-r$pkgrel
- -X github.com/navidrome/navidrome/consts.gitTag=v$pkgver" \
- -tags=embed,netgo
-}
-
-check() {
- make testall
-}
-
-package() {
- install -Dm755 navidrome "$pkgdir"/usr/bin/navidrome
-
- install -Dm644 "$srcdir"/navidrome.toml \
- "$pkgdir"/etc/navidrome/navidrome.toml
-
- install -Dm755 "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/$pkgname
-
- install -dm755 -o navidrome -g navidrome \
- "$pkgdir"/var/lib/navidrome \
- "$pkgdir"/var/lib/navidrome/music
-}
-
-sha512sums="
-efc08d18823c14673f0fb17b97de745ffb1382fe793c9e5848e44f21640b36a455f11ffc5b4dc0338215a0ba55013870c888272cc82c4a0cd1dbf21854a65dba navidrome-0.47.0.tar.gz
-d632f769ed4dd0cc1ddf937ed6b3115df538399f176cc5afb576f3129c305e7a0b2762b5d62968e2819ee4cd9c88552e5c821601f5fd5b32ce5925f3e92ce281 navidrome.initd
-e69ff79d0be237979c7faa28cc7d6467070c48fb8870a228d122622b8fb4d4cd3cdd58bd22090bec37478b8c4cec8d30db5928c2094ee60a32c40bc7c96d10a3 navidrome.confd
-c3f25ce03e9a433f845485d744a5634c2cf462bf7e52bd8f58d965d5c5bd53630cc71702b444fb0201d66a20556f8570a24a69683be93e0efdd719d2a5e0f02f navidrome.toml
-"
diff --git a/testing/navidrome/navidrome.confd b/testing/navidrome/navidrome.confd
deleted file mode 100644
index 05cab79aa6a..00000000000
--- a/testing/navidrome/navidrome.confd
+++ /dev/null
@@ -1,3 +0,0 @@
-navidrome_configfile=/etc/navidrome/navidrome.toml
-
-error_log=/var/log/navidrome.log
diff --git a/testing/navidrome/navidrome.initd b/testing/navidrome/navidrome.initd
deleted file mode 100644
index f87b62c1546..00000000000
--- a/testing/navidrome/navidrome.initd
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-
-name=navidrome
-description="Modern Music Server and Streamer compatible with Subsonic/Airsonic"
-
-command=/usr/bin/navidrome
-command_args="--nobanner --configfile $navidrome_configfile"
-command_user="navidrome:navidrome"
-directory="/var/lib/$RC_SVCNAME"
-
-extra_started_commands="scan"
-
-start_pre() {
- [ -n "$error_log" ] && checkpath -f "$error_log" \
- -m 644 -o navidrome:navidrome
-}
-
-scan() {
- ${supervisor} "${SVCNAME}" --signal USR1
-}
-
-depend() {
- need net localmount
- after firewall
-}
diff --git a/testing/navidrome/navidrome.pre-install b/testing/navidrome/navidrome.pre-install
deleted file mode 100644
index 3ad5705cc33..00000000000
--- a/testing/navidrome/navidrome.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S navidrome 2>/dev/null
-adduser -S -D -h /var/lib/navidrome -s /sbin/nologin -G navidrome -g navidrome navidrome 2>/dev/null
-
-exit 0
diff --git a/testing/navidrome/navidrome.toml b/testing/navidrome/navidrome.toml
deleted file mode 100644
index 7de56c9eb76..00000000000
--- a/testing/navidrome/navidrome.toml
+++ /dev/null
@@ -1,154 +0,0 @@
-# Folder where your music library is stored. Can be read-only.
-#MusicFolder = "music"
-
-# Folder to store application data (DB, cache…)
-#DataFolder = "."
-
-# Configure periodic scans using “cron†syntax. To disable it altogether, set
-# it to "" (empty string)
-#ScanSchedule = "@every 1m"
-
-# Log level. Useful for troubleshooting. Possible values: error, info, debug,
-# trace.
-#LogLevel = "info"
-
-# Whether or not sensitive information (like tokens and passwords) should be
-# redacted (hidden) in the logs
-#EnableLogRedacting = true
-
-# HTTP port Navidrome will use.
-#Port = 4533
-
-# IP address the server will bind to.
-#Address = "0.0.0.0"
-
-# Enables transcoding configuration in the UI.
-#EnableTranscodingConfig = false
-
-# Size of transcoding cache. Set to 0 to disable cache.
-#TranscodingCacheSize = "100MB"
-
-# Size of image (art work) cache. Set to 0 to disable cache.
-#ImageCacheSize = "100MB"
-
-# Enable/disable .m3u playlist auto-import.
-#AutoImportPlaylists = true
-
-# Where to search for and import playlists from. Can be a list of folders/globs
-# (separated by : (or ; on Windows). Paths are relative to MusicFolder.
-#PlaylistsPath = ".:**/**"
-
-# Base URL (only the path part) to configure Navidrome behind a proxy
-# (ex: /music)
-#BaseUrl = ""
-
-# Change background image used in the Login page.
-#UILoginBackgroundUrl = "https://source.unsplash.com/random/1600x900?music"
-
-# Add a welcome message to the login screen.
-#UIWelcomeMessage = ""
-
-# Send basic info to your own Google Analytics account. Must be in the format
-# UA-XXXXXXXX. Empty means disabled.
-#GATrackingID = ""
-
-# Controls whether the player in the UI will animate the album cover (rotation)
-#EnableCoverAnimation = true
-
-# List of ignored articles when sorting/indexing artists.
-#IgnoredArticles = "The El La Los Las Le Les Os As O A"
-
-# Match query strings anywhere in searchable fields, not only in word
-# boundaries. Useful for languages where words are not space separated.
-#SearchFullString = false
-
-# Uses music files’ modification time when sorting by “Recently Addedâ€.
-# Otherwise use import time.
-#RecentlyAddedByModTime = false
-
-# Configure the order to look for cover art images. Use special embedded value
-# to get embedded images from the audio files.
-#CoverArtPriority = "embedded, cover.*, folder.*, front.*"
-
-# Set JPEG quality percentage for resized cover art images.
-#CoverJpegQuality = 75
-
-# Enable the option in the UI to download music/albums/artists/playlists from
-# the server.
-#EnableDownloads = true
-
-# How long Navidrome will wait before closing web ui idle sessions.
-#SessionTimeout = "24h"
-
-# How many login requests can be processed from a single IP during the
-# AuthWindowLength. Set to 0 to disable the limit rater.
-#AuthRequestLimit = 5
-
-# Window Length for the authentication rate limit.
-#AuthWindowLength = "20s"
-
-# Use Gravatar images as the user profile image. Needs the user’s email to be
-# filled.
-#EnableGravatar = false
-
-# Set this to false to completely disable ALL external integrations
-#EnableExternalServices = true
-
-# Enable toggling "Heart"/"Loved" for songs/albums/artists in the UI (maps to
-# "Star"/"Starred" in Subsonic Clients).
-#EnableFavourites = true
-
-# Enable 5-star ratings in the UI.
-#EnableStarRating = true
-
-# Enable regular users to edit their details and change their password.
-#EnableUserEditing = true
-
-# Sets the default theme used byt the UI when logging in from a new browser.
-# This value must match one of the options in the UI.
-#DefaultTheme = "Dark"
-
-# Passphrase used to encrypt passwords in the DB. This is a one-time only
-# configuration, and after this point the config option cannot be changed
-# anymore or users won’t be able to authenticate.
-#PasswordEncryptionKey = ""
-
-# HTTP header containing user name from authenticated proxy
-#ReverseProxyUserHeader = "Remote-User"
-
-# Comma separated list of IP CIDRs which are allowed to use reverse proxy
-# authentication, empty means “deny allâ€
-#ReverseProxyWhitelist = ""
-
-# [Scanner]
-# Select metadata extractor implementation. Options: taglib or ffmpeg.
-#Extractor = "taglib"
-
-# List of separators to split genre tags
-#GenreSeparator = ";/,"
-
-
-# [LastFM]
-# Set this to false to completely disable Last.FM integration
-#Enabled = true
-
-# Last.FM ApiKey
-#ApiKey = ""
-
-# Last.FM Shared Secret
-#Secret = ""
-
-# Two letter-code for language to be used to retrieve biographies from Last.FM
-#Language = "en"
-
-
-# [Spotify]
-# Spotify Client ID
-#ID = ""
-
-# Spotify Client Secret
-#Secret = ""
-
-# [ListenBrainz]
-# Set this to false to completely disable ListenBrainz integration
-#Enabled = true
diff --git a/testing/nawk/APKBUILD b/testing/nawk/APKBUILD
deleted file mode 100644
index a1f341af85a..00000000000
--- a/testing/nawk/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Maintainer:
-pkgname=nawk
-gitrev=33ead6d2393268365253732a3ac566e3d3362b00
-pkgver=20190311
-pkgrel=0
-pkgdesc="The one, true implementation of AWK"
-url="https://www.cs.princeton.edu/~bwk/btl.mirror/"
-arch=x86_64
-license=MIT
-depends=
-makedepends=byacc
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/onetrueawk/awk/archive/$gitrev.tar.gz"
-options="!check"
-builddir="$srcdir/awk-$gitrev"
-
-build() {
- cd "$builddir"
-
- make YACC='yacc -d -s'
-}
-
-package() {
- cd "$builddir"
- install -Dm755 a.out "$pkgdir"/usr/bin/$pkgname
- install -Dm644 awk.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
-}
-
-sha512sums="ad7ff1ec4f32316c844ec837d2fef0ae12fa823fd8d8266f4c6c7b22ecca0dc34feae7517a2c7b4f2962e6cffe28fe77d40a0a544a1b6aef8bd90c4e9074c21f $pkgname-$pkgver.tar.gz"
diff --git a/testing/nb/APKBUILD b/testing/nb/APKBUILD
new file mode 100644
index 00000000000..d8b8b08ab15
--- /dev/null
+++ b/testing/nb/APKBUILD
@@ -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
+"
diff --git a/testing/nbsdgames/APKBUILD b/testing/nbsdgames/APKBUILD
new file mode 100644
index 00000000000..d22f9a5072c
--- /dev/null
+++ b/testing/nbsdgames/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=nbsdgames
+pkgver=5
+pkgrel=0
+pkgdesc="A package of 18 text-based modern games"
+url="https://github.com/abakh/nbsdgames"
+arch="all"
+license="custom"
+options="!check"
+
+makedepends="ncurses-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/abakh/nbsdgames/archive/refs/tags/v$pkgver.tar.gz
+ fix-makefile-path.patch
+ "
+
+build() {
+ make all
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/man/man6
+ make DESTDIR="$pkgdir" manpages
+
+ mkdir -p "$pkgdir"/usr/bin
+ mkdir -p "$pkgdir"/var/games
+ make DESTDIR="$pkgdir" install
+
+ install -D LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+sha512sums="
+04fcc7628b7310bcbebf8ae7e1462605b2a4aa3bc7c50758e8fc54836d18c3d320a1ba5c766d388912d8f9a7a49bf78ba654f1430fdda730daa80ff189f49ffc nbsdgames-5.tar.gz
+2a76cbdba6b150ef445637b3daf7b51a325f5bd88d5e8feb773d725c22c272c4100cae5da84843aafbb71c440d5b2cab1f006f82abd41c31f37a1ad9cd287015 fix-makefile-path.patch
+"
diff --git a/testing/nbsdgames/fix-makefile-path.patch b/testing/nbsdgames/fix-makefile-path.patch
new file mode 100644
index 00000000000..edb557bdb75
--- /dev/null
+++ b/testing/nbsdgames/fix-makefile-path.patch
@@ -0,0 +1,124 @@
+--- a/Makefile
++++ b/Makefile
+@@ -2,83 +2,65 @@
+
+ #-O3 --std=c99 -lcurses -DNO_MOUSE for NetBSD curses
+ #adding --std=c99 makes warnings in GNU, and the blame is upon glibc feature test macros. my code is correct.
++GAMES_DIR?=$(PREFIX)/usr/bin
++SCORES_DIR?=$(PREFIX)/var/games
++MAN_DIR?=$(PREFIX)/usr/share/man/man6
++CFLAGS+= -Wno-unused-result -DSCORES_DIR=\"$(SCORES_DIR)\"
++LIBS_PKG_CONFIG!=pkg-config --libs --cflags ncurses
++LIBS=$(LIBS_PKG_CONFIG) -lm
+
+-GAMES_DIR?=/usr/games
+-SCORES_DIR?=/var/games
+-MAN_DIR?=/usr/share/man/man6
+-CFLAGS+= -Wno-unused-result -D SCORES_DIR=\"$(SCORES_DIR)\"
+-LDFLAGS+= -lncurses -lm
+
+-
+ ALL= nbsdgames jewels sudoku mines reversi checkers battleship rabbithole sos pipes fifteen memoblocks fisher muncher miketron redsquare darrt snakeduel tugow
+ SCORE_FILES= pipes_scores jewels_scores miketron_scores muncher_scores fisher_scores darrt_scores tugow_scores
+
+-all: $(ALL)
++all: $(ALL)
+
+ scorefiles:
+- for sf in $(SCORE_FILES); do touch $(SCORES_DIR)/$$sf ; chmod 664 $(SCORES_DIR)/$$sf; chown :games $(SCORES_DIR)/$$sf ; done;
+- for game in $(ALL); do chown :games $(GAMES_DIR)/$$game; chmod g $(GAMES_DIR)/$$game ; done;
++ for sf in $(SCORE_FILES); do touch $(DESTDIR)$(SCORES_DIR)/$$sf ; chmod 664 $(DESTDIR)$(SCORES_DIR)/$$sf; chown :games $(DESTDIR)$(SCORES_DIR)/$$sf ; done;
++ for game in $(ALL); do chown :games $(DESTDIR)$(GAMES_DIR)/$$game; chmod g $(DESTDIR)$(GAMES_DIR)/$$game ; done;
+
+ manpages:
+- cp man/* $(MAN_DIR)
+-jewels: jewels.c config.h common.h
+- $(CC) jewels.c $(LDFLAGS) $(CFLAGS) -o ./jewels
+-sudoku: sudoku.c config.h
+- $(CC) sudoku.c $(LDFLAGS) $(CFLAGS) -o ./sudoku
+-mines: mines.c config.h
+- $(CC) mines.c $(LDFLAGS) $(CFLAGS) -o ./mines
+-reversi: reversi.c config.h
+- $(CC) reversi.c $(LDFLAGS) $(CFLAGS) -o ./reversi
+-checkers: checkers.c config.h
+- $(CC) checkers.c $(LDFLAGS) $(CFLAGS) -o ./checkers
+-battleship: battleship.c config.h
+- $(CC) battleship.c $(LDFLAGS) $(CFLAGS) -o ./battleship
+-rabbithole: rabbithole.c config.h
+- $(CC) rabbithole.c $(LDFLAGS) $(CFLAGS) -o ./rabbithole
+-sos: sos.c config.h
+- $(CC) sos.c $(LDFLAGS) $(CFLAGS) -o ./sos
+-pipes: pipes.c config.h common.h
+- $(CC) pipes.c $(LDFLAGS) $(CFLAGS) -o ./pipes
+-fifteen: fifteen.c config.h
+- $(CC) fifteen.c $(LDFLAGS) $(CFLAGS) -o ./fifteen
+-memoblocks: memoblocks.c
+- $(CC) memoblocks.c $(LDFLAGS) $(CFLAGS) -o ./memoblocks
+-fisher: fisher.c config.h common.h
+- $(CC) fisher.c $(LDFLAGS) $(CFLAGS) -o ./fisher
+-muncher: muncher.c config.h common.h
+- $(CC) muncher.c $(LDFLAGS) $(CFLAGS) -o ./muncher
+-miketron: miketron.c config.h common.h
+- $(CC) miketron.c $(LDFLAGS) $(CFLAGS) -o ./miketron
+-redsquare: redsquare.c config.h
+- $(CC) redsquare.c $(LDFLAGS) $(CFLAGS) -o ./redsquare
+-darrt: darrt.c config.h common.h
+- $(CC) darrt.c $(LDFLAGS) $(CFLAGS) -o ./darrt
+-nbsdgames: nbsdgames.c
+- $(CC) nbsdgames.c $(LDFLAGS) $(CFLAGS) -o ./nbsdgames
+-snakeduel: snakeduel.c config.h
+- $(CC) snakeduel.c $(LDFLAGS) $(CFLAGS) -o ./snakeduel
+-tugow: tugow.c common.h
+- $(CC) tugow.c $(LDFLAGS) $(CFLAGS) -o ./tugow
++ cp man/* $(DESTDIR)$(MAN_DIR)
++
++# Games which only need config.h
++sudoku mines reversi checkers battleship rabbithole sos fifteen redsquare snakeduel: config.h
++ $(CC) $(CFLAGS) $@.c $< $(LDFLAGS) $(LIBS) -o $@
++
++# Games which need config.h and common.h
++jewels pipes fisher muncher miketron darrt: config.h common.h
++ $(CC) $(CFLAGS) $@.c $< $(LDFLAGS) $(LIBS) -o $@
++
++# Games which only need common.h
++tugow: common.h
++ $(CC) $(CFLAGS) $@.c $< $(LDFLAGS) $(LIBS) -o $@
++
++# Games which only need themselves
++memoblocks nbsdgames:
++ $(CC) $(CFLAGS) $@.c $< $(LDFLAGS) $(LIBS) -o $@
++
+ menu:
+- cp nbsdgames.desktop /usr/share/applications
+- cp nbsdgames.svg /usr/share/pixmaps
++ cp nbsdgames.desktop $(DESTIDR)$(PREFIX)/usr/share/applications
++ cp nbsdgames.svg $(DESTDIR)$(PREFIX)/usr/share/pixmaps
+ clean:
+ for game in $(ALL); do rm $$game; done;
+ uninstall:
+ for game in $(ALL); do rm $(GAMES_DIR)/$$game; rm $(MAN_DIR)/$$game.6.gz ;done;
+ install: $(ALL)
+- cp $(ALL) $(GAMES_DIR)
++ cp $(ALL) $(DESTDIR)/$(GAMES_DIR)
+ test:
+ for game in $(ALL); do ./$$game ;done;
+
+ #######for namespacing #######
+ nb:
+- CFLAGS="$$CFLAGS -D NB=\\\"nb\\\"" make
++ CFLAGS="$$CFLAGS -D NB=\\\"nb\\\"" $(MAKE)
+ for game in $(ALL); do cp $$game nb$$game ;done;
+ for manpage in $(ls man); do cp man/$$manpage man/nb$$manpage ;done;
+ nbinstall: nb
+- cp nb* $(GAMES_DIR)
++ for game in $(ALL); do cp nb$$game $(DESTDIR)/$(GAMES_DIR) ;done;
++ cp nbsdgames $(DESTDIR)/$(GAMES_DIR)
++ rm $(DESTDIR)/$(GAMES_DIR)/nbnbsdgames
+ nbmanpages: nb
+- cp man/nb* $(MAN_DIR)
+-nbclean:
+- for game in $(ALL); do rm nb$$game; done;
++ cp man/nb* $(DESTDIR)/$(MAN_DIR)
++nbclean: clean
++ for game in $(ALL); do rm nb$$game ;done;
++
diff --git a/testing/nbtscan/APKBUILD b/testing/nbtscan/APKBUILD
deleted file mode 100644
index b42364c1856..00000000000
--- a/testing/nbtscan/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: François Chavant <alpine@mail.chavant.info>
-pkgname=nbtscan
-pkgver=1.6
-pkgrel=0
-pkgdesc="NETBIOS nameserver scanner"
-url="http://www.unixwiz.net/tools/nbtscan.html"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="autoconf automake"
-source="nbtscan-$pkgver.tar.gz::https://github.com/resurrecting-open-source-projects/nbtscan/archive/$pkgver.tar.gz"
-subpackages="$pkgname-doc $pkgname-dbg"
-options="!check"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="b791357160ae7fe784ebf3b74df551c0b7dcaeefae2ddd585a9e5ac0fe7dd1bb32f00d2b898dcd700e74809708f42fc8e5f0022254e1282914b3f668564b4bcb nbtscan-1.6.tar.gz"
diff --git a/testing/ncdu2/APKBUILD b/testing/ncdu2/APKBUILD
new file mode 100644
index 00000000000..d7030241bd2
--- /dev/null
+++ b/testing/ncdu2/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=ncdu2
+pkgver=2.3
+pkgrel=0
+pkgdesc="Disk usage analyzer with an ncurses interface"
+url="https://dev.yorhel.nl/ncdu"
+license="MIT"
+arch="x86_64 aarch64" # Limited by zig aport
+makedepends="chrpath zig ncurses-dev"
+subpackages="$pkgname-doc"
+source="https://dev.yorhel.nl/download/ncdu-$pkgver.tar.gz"
+builddir="$srcdir/ncdu-$pkgver"
+replaces=ncdu
+
+# We may want other than "baseline" for other targets, when enabled by zig
+case "$CARCH" in
+ aarch64|x86_64) cputarget=baseline ;;
+esac
+
+build() {
+ zig build -Doptimize=ReleaseSafe -Dpie=true ${cputarget:+-Dcpu="$cputarget"}
+}
+
+check() {
+ zig build test
+}
+
+package() {
+ install -Dm755 zig-out/bin/ncdu "$pkgdir"/usr/bin/ncdu
+ chrpath -d "$pkgdir"/usr/bin/ncdu
+
+ make install-doc PREFIX="$pkgdir/usr"
+
+ install -Dm644 LICENSES/MIT.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+283f78761b225883e090c4d0d1325bffc70049477087df3e8d1afcebc3136930c2636b2bba4aa6e43d53626668519c26a1528ba5c75489d3b5924e8974184e47 ncdu-2.3.tar.gz
+"
diff --git a/testing/ndpi/APKBUILD b/testing/ndpi/APKBUILD
index f5b9e0fe854..82d60f82061 100644
--- a/testing/ndpi/APKBUILD
+++ b/testing/ndpi/APKBUILD
@@ -1,27 +1,26 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=ndpi
_pkgreal=nDPI
-pkgver=2.2
-pkgrel=1
+pkgver=4.8
+pkgrel=0
pkgdesc="Open Source Deep Packet Inspection Software Toolkit"
url="https://github.com/ntop/nDPI"
# armhf test fail without apparent cause
-# s390x/mips test hangs (big-endian)
-arch="all !armhf !armv7 !s390x !mips !mips64"
-license="GPL-3.0"
-makedepends="autoconf automake libpcap-dev libtool"
+# s390x test hangs (big-endian)
+arch="all !armhf !armv7 !s390x"
+license="GPL-3.0-only"
+makedepends="autoconf automake libpcap-dev libtool json-c-dev"
subpackages="$pkgname-dev"
+options="!check" # currently broken
source="$pkgname-$pkgver.tar.gz::https://github.com/ntop/nDPI/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgreal-$pkgver
prepare() {
- cd "$builddir"
default_prepare
./autogen.sh
}
build() {
- cd "$builddir"
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
@@ -30,16 +29,16 @@ build() {
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
check() {
- cd "$builddir"
# fails on those two
rm tests/pcap/nintendo.pcap
rm tests/pcap/skype-conference-call.pcap
make check
}
-sha512sums="ee1e0a1cc87a3971408877bd5d3154f6bd5d4ddcd2437c8e03e5d8a5093da2b1cbfefad1e28e77145af4286eecbd341ef90f94aa5c7f36a98e3625e9948e96d6 ndpi-2.2.tar.gz"
+sha512sums="
+f76eb99a83262a6d148509c7ce457b9af35dce3657c8191405ba15999b25c323ee0bee2907b0a7e6ba6f12a63182fde839e0098a4e8e0f63999e600526f3036b ndpi-4.8.tar.gz
+"
diff --git a/testing/neard/APKBUILD b/testing/neard/APKBUILD
index 09bd8ad657c..28843c45920 100644
--- a/testing/neard/APKBUILD
+++ b/testing/neard/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Minecrell <minecrell@minecrell.net>
# Maintainer: Minecrell <minecrell@minecrell.net>
pkgname=neard
-pkgver=0.18
+pkgver=0.19
pkgrel=0
pkgdesc="Near Field Communication manager"
url="https://01.org/linux-nfc/"
arch="all"
license="GPL-2.0-only"
depends="dbus"
-makedepends="glib-dev dbus-dev libnl-dev autoconf autoconf-archive automake libtool"
+makedepends="glib-dev dbus-dev libnl3-dev autoconf autoconf-archive automake libtool"
subpackages="$pkgname-dev $pkgname-doc $pkgname-openrc"
source="
https://git.kernel.org/pub/scm/network/nfc/neard.git/snapshot/neard-$pkgver.tar.gz
@@ -44,9 +44,12 @@ package() {
mv "$pkgdir"/usr/include/version.h "$pkgdir"/usr/include/near/version.h
install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+
+ mkdir -p "$pkgdir"/usr/share/dbus-1/system.d/
+ mv "$pkgdir"/etc/dbus-1/system.d/* "$pkgdir"/usr/share/dbus-1/system.d/
}
sha512sums="
-2f1da13ade60a75b81e51a76be80a5f6681439c612ae33659eed2e495b1e390dcb1deb60945e14a4bec247b3a046b940146b78925f43be88f35880e4677c721b neard-0.18.tar.gz
+577061c214365853667033a2ae9f78a367adcbf07f2d7a70087c484ac31b410d34c003f396da622604f8844f30d44cba01f0d8a7cadebfd4c4c6457996541b48 neard-0.19.tar.gz
6e28ffa74687cc409856d8966d9e794e523254781133e61adb81007ed00b7f057122ca8dfa967684312a613e9a3898865844320e4302990046d871a0a9b66eb5 neard.initd
"
diff --git a/testing/neatvi/APKBUILD b/testing/neatvi/APKBUILD
deleted file mode 100644
index a806cc84fb8..00000000000
--- a/testing/neatvi/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Maintainer:
-pkgname=neatvi
-pkgver=10
-pkgrel=0
-pkgdesc="vi/ex editor with support for bidirectional UTF-8 text, syntax highlight and infinite undo/redo"
-url="https://github.com/aligrudi/neatvi"
-arch="all"
-license="ISC" # vi.c
-subpackages="$pkgname-doc"
-options="!check" # no test suite
-source="$pkgname-$pkgver.tar.gz::https://github.com/aligrudi/neatvi/archive/$pkgver.tar.gz
- conf.patch"
-
-build() {
- make CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
-}
-
-package() {
- install -Dm755 "$builddir"/vi "$pkgdir"/usr/bin/neatvi
- install -Dm644 "$builddir"/README -t "$pkgdir"/usr/share/doc/neatvi
-}
-
-sha512sums="
-80282e1bbdc3b4aeb62faf9d094175ace8a909bb036d075ed821b018c950e653ef49ab98c0ace77f5e5f1f10fc9d32a42152279abf635f0e639a4695ee907d5e neatvi-10.tar.gz
-1c67a6fb1cae78525a00ab5e78a6dfbbad1d5f79cd8daa09edd6cbc9b6c6a52729c6775b30b96c78e28f71d5e70ac10ad08cc0b3d5db54db6dc250ce0daea868 conf.patch
-"
diff --git a/testing/neatvi/conf.patch b/testing/neatvi/conf.patch
deleted file mode 100644
index 66b8bbb76ca..00000000000
--- a/testing/neatvi/conf.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/conf.h b/conf.h
-index 4435a91..0e055cf 100644
---- a/conf.h
-+++ b/conf.h
-@@ -17,7 +17,8 @@ static struct filetype {
- {"py", "\\.py$"}, /* python */
- {"bib", "bib$"}, /* refer */
- {"nm", "\\.nm$"}, /* neatmail */
-- {"diff", "\\.(patch|diff)$"} /* diff */
-+ {"diff", "\\.(patch|diff)$"}, /* diff */
-+ {"sh", ".$"} /* everything else */
- };
-
- /* syntax highlighting patterns */
diff --git a/testing/neomutt/APKBUILD b/testing/neomutt/APKBUILD
deleted file mode 100644
index 90874af4763..00000000000
--- a/testing/neomutt/APKBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Alex Denes <caskd@redxen.eu>
-pkgname=neomutt
-pkgver=20211029
-pkgrel=0
-pkgdesc="Mutt with miscellaneous fixes and feature patches"
-url="https://neomutt.org/"
-arch="all !riscv64" # blocked by notmuch
-options="chmod-clean !check" # mutt_file_read_line hangs on ci, probably requires some device to be present (https://github.com/neomutt/neomutt/blob/bccb959d1c917259e170dd2e51909b27e81bd28f/test/file/mutt_file_read_line.c)
-license="GPL-2.0-or-later"
-# TODO: Replace gnupg with specific gnupg subpackages that neomutt really needs.
-depends="gnupg"
-makedepends="cyrus-sasl-dev gdbm-dev gettext-dev gpgme-dev libidn-dev
- ncurses-dev openssl-dev notmuch-dev bsd-compat-headers libxslt tcl
- docbook-xsl perl w3m"
-checkdepends="bash"
-subpackages="$pkgname-doc $pkgname-lang"
-_test_commit=8629adab700a75c54e8e28bf05ad092503a98f75
-source="neomutt-$pkgver.tar.gz::https://github.com/neomutt/neomutt/archive/$pkgver.tar.gz
- neomutt-test-files-$_test_commit.tar.gz::https://github.com/neomutt/neomutt-test-files/archive/$_test_commit.tar.gz
- "
-
-# secfixes:
-# 20211015-r0:
-# - CVE-2021-32055
-
-build() {
- ./configure \
- --notmuch \
- --gpgme \
- --gdbm \
- --ssl \
- --sasl \
- --testing
- make
-}
-
-check() {
- export NEOMUTT_TEST_DIR="$srcdir/neomutt-test-files-$_test_commit"
- (cd $NEOMUTT_TEST_DIR && ./setup.sh)
- make test
- (cd $NEOMUTT_TEST_DIR && ./restore.sh)
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir"/usr/share/doc/"$pkgname"
- mv contrib/samples "$pkgdir"/usr/share/doc/$pkgname/examples
-}
-
-cleanup_srcdir() {
- if ! [ -d "$srcdir" ]; then
- return 0
- fi
-
- # maildir/damson has mode 0000, so fix that
- find "$srcdir" -type d -exec chmod 0755 {} \;
-
- default_cleanup_srcdir
-}
-
-sha512sums="
-7335a4451aa8657aa83988b42fb78c5ebdc82ce4395d93d1eb2fded36b02d3fac9b8fed3cf1353042ecebe11e6ccdd9d403b99f068555693901b1700791e3ae0 neomutt-20211029.tar.gz
-3d4962210bc558234d818801dcaa7851a0aef011c96d91c054af535186ffda42059fc61fb148c48e1b076999fe3159b31589a69a29ed1897f8928f52fcc157d3 neomutt-test-files-8629adab700a75c54e8e28bf05ad092503a98f75.tar.gz
-"
diff --git a/testing/netcdf-cxx4/APKBUILD b/testing/netcdf-cxx4/APKBUILD
deleted file mode 100644
index 2eb9f9f5d3f..00000000000
--- a/testing/netcdf-cxx4/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
-# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
-pkgname=netcdf-cxx4
-pkgver=4.3.1
-pkgrel=0
-pkgdesc="NetCDF C++ bindings"
-url="https://www.unidata.ucar.edu/software/netcdf/"
-arch="all !s390x !mips !mips64" # limited by netcdf
-license="Apache-2.0"
-makedepends="
- hdf5-dev
- netcdf-dev
- "
-depends_dev="
- netcdf-dev
- "
-subpackages="
- $pkgname-dev
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/Unidata/netcdf-cxx4/archive/v$pkgver.tar.gz"
-
-build() {
- ./configure \
- --prefix=/usr \
- --enable-shared \
- --enable-extra-tests \
- --enable-large-file-tests
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-check() {
- make -j1 check
-}
-sha512sums="404711eb80d5e78968c0f6cbdcb08855a2778d7fd94e7ee94bdc9d1cd72848ac3327613c6437a7634349f26bc463b950092a2999abb34ddab0a47ad185547d22 netcdf-cxx4-4.3.1.tar.gz"
diff --git a/testing/netcdf-fortran/APKBUILD b/testing/netcdf-fortran/APKBUILD
deleted file mode 100644
index ec72b549af7..00000000000
--- a/testing/netcdf-fortran/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
-# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
-pkgname=netcdf-fortran
-pkgver=4.5.3
-pkgrel=1
-pkgdesc="NetCDF fortran bindings"
-url="https://www.unidata.ucar.edu/software/netcdf/"
-arch="all !armhf !armv7 !s390x !mips !mips64" # disabling on armhf and armv7 as netcdf is not available
-license="Apache-2.0"
-makedepends="
- cmake
- doxygen
- gfortran
- graphviz
- m4
- netcdf-dev
- "
-depends_dev="
- netcdf-dev
- "
-subpackages="
- $pkgname-doc
- $pkgname-dev
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/Unidata/netcdf-fortran/archive/v$pkgver.tar.gz"
-
-build() {
- FCFLAGS="$FCFLAGS -fallow-argument-mismatch" \
- FFLAGS="$FFLAGS -fallow-argument-mismatch" \
- ./configure \
- --prefix=/usr \
- --disable-static
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- rm -rf $pkgdir/usr/include/CMakeFiles
-}
-
-check() {
- make check
-}
-sha512sums="fe4b2f6f8c44bf4fdeebe3cbd57ee44ccee15a70075428bb68f0d33b70f9291b68b542965634a27fb4be5a59c756d672a3d264f2628391861edb98a244e072b4 netcdf-fortran-4.5.3.tar.gz"
diff --git a/testing/netdata-go-plugins/APKBUILD b/testing/netdata-go-plugins/APKBUILD
deleted file mode 100644
index 9d34c9c13bb..00000000000
--- a/testing/netdata-go-plugins/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
-# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
-pkgname=netdata-go-plugins
-pkgver=0.31.0
-pkgrel=0
-pkgdesc="netdata go.d.plugin"
-url="https://github.com/netdata/go.d.plugin"
-arch="all !x86 !armv7 !armhf" # checks fail
-license="GPL-3.0-only"
-depends="netdata"
-makedepends="go"
-source="$pkgname-$pkgver.tar.gz::https://codeload.github.com/netdata/go.d.plugin/tar.gz/refs/tags/v$pkgver"
-builddir="$srcdir/go.d.plugin-$pkgver"
-
-export GOMODCACHE="$srcdir/go"
-export GOFLAGS="$GOFLAGS -modcacherw"
-
-build() {
- go build -v -o go.d.plugin ./cmd/godplugin
-}
-
-check() {
- go test ./...
-}
-
-package() {
- mkdir -p "$pkgdir/usr/lib/netdata/conf.d"
- cp -r "$builddir/config/go.d.conf" "$builddir/config/go.d" "$pkgdir/usr/lib/netdata/conf.d/"
-
- mkdir -p "$pkgdir/usr/libexec/netdata/plugins.d/"
- install -D -m755 -t "$pkgdir/usr/libexec/netdata/plugins.d" "$builddir/go.d.plugin"
-}
-
-sha512sums="
-3c48cb90901f2f04857ad6fad39f1ec58672400831b60acb6f10e28d7d35582e19095de5e4edfdfa92773c7c909bd0abb86129951de0a05d3ba4459bd49e81d6 netdata-go-plugins-0.31.0.tar.gz
-"
diff --git a/testing/netdiscover/APKBUILD b/testing/netdiscover/APKBUILD
new file mode 100644
index 00000000000..70ebee3d83a
--- /dev/null
+++ b/testing/netdiscover/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Faustin Lammler <faustin@fala.red>
+# Maintainer: Faustin Lammler <faustin@fala.red>
+pkgname=netdiscover
+pkgver=0.10
+pkgrel=0
+pkgdesc="Active/passive ARP reconnaissance tool"
+url="https://github.com/netdiscover-scanner/netdiscover"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ autoconf
+ automake
+ libpcap-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/netdiscover-scanner/netdiscover/archive/$pkgver.tar.gz"
+options="!check" # no proper testsuite
+
+prepare() {
+ default_prepare
+ autoreconf -fi
+}
+
+build() {
+ # Running update-oui-database.sh would probably make the build irreproducible
+ # ./update-oui-database.sh
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make install DESTDIR="$pkgdir"
+}
+
+sha512sums="
+a04a3ecb9cb76f22edc761b1a661e6e0f5c620763ca5a059923ce2d080e0d15bc0e0861ae354efc28ba2cea09b642128d8ee022106402f82041180c22e8becc9 netdiscover-0.10.tar.gz
+"
diff --git a/testing/netifrc/APKBUILD b/testing/netifrc/APKBUILD
deleted file mode 100644
index cd7271ce60a..00000000000
--- a/testing/netifrc/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maintainer: Haelwenn (lanodan) Monnier <contact+alpine@hacktivis.me>
-pkgname=netifrc
-pkgver=0.7.3
-pkgrel=0
-pkgdesc="Gentoo Network Interface Management Scripts"
-url="https://gitweb.gentoo.org/proj/netifrc.git/"
-arch="all"
-license="BSD-2"
-depends=""
-makedepends=""
-install=""
-source="https://gitweb.gentoo.org/proj/netifrc.git/snapshot/netifrc-$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
-
-build() {
- make all
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-check() {
- make check
-}
-
-sha512sums="a82ac6835c15763becb5845a8c8d90dfd8d6c289ea5e00b0d7ae332d3e7ad6797f0fdcbf27bb9f44ff345c98884cdfa13210c76089585b8dd9970ded5f6236d8 netifrc-0.7.3.tar.gz"
diff --git a/testing/netpbm/01-makefile.patch b/testing/netpbm/01-makefile.patch
deleted file mode 100644
index 9658a5bd10a..00000000000
--- a/testing/netpbm/01-makefile.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/GNUmakefile.orig
-+++ b/GNUmakefile
-@@ -252,7 +252,7 @@
- echo " make package pkgdir=/tmp/newnetpbm "; \
- false; \
- fi
-- mkdir $(PKGDIR)
-+ mkdir -p $(PKGDIR)
- echo "Netpbm install package made by 'make package'" \
- >$(PKGDIR)/pkginfo
- date >>$(PKGDIR)/pkginfo
diff --git a/testing/netpbm/02-installnetpbm.patch b/testing/netpbm/02-installnetpbm.patch
deleted file mode 100644
index 23637eea5f7..00000000000
--- a/testing/netpbm/02-installnetpbm.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-Author: Tom Parker-Shemilt <palfrey@tevp.net>
-Summary: Enables non-interactive builds
-
-installnetpbm.pl defaults to wanting keyboard interactivity, which we don't want!
-----
---- a/buildtools/installnetpbm.pl.orig
-+++ b/buildtools/installnetpbm.pl
-@@ -186,2 +186,3 @@
- my $default = "$prefix/bin";
-+ return $default;
-
-@@ -244,2 +245,3 @@
- my $default = "$prefix/lib";
-+ return $default;
-
-@@ -508,2 +510,3 @@
-
-+ return;
- my $done;
-@@ -575,2 +578,3 @@
- my $default = "$prefix/lib";
-+ return $default;
-
-@@ -638,2 +642,3 @@
- my $default = "$prefix/lib";
-+ return $default;
-
-@@ -675,2 +680,3 @@
- my $default = "$prefix/include";
-+ return $default;
-
-@@ -769,2 +775,3 @@
- my $default = "$prefix/man";
-+ return "$prefix/share/man";
-
-@@ -810,2 +817,3 @@
- sub tryToCreateManwebConf($) {
-+ return;
-
-@@ -1103,2 +1111,3 @@
- my $default = "$prefix/lib/pkgconfig";
-+ return $default;
-
-@@ -1184,5 +1193,5 @@
-
--my $pkgdir = getPkgdir();
-+my $pkgdir = $ENV{'BUILDDIR'} . "/pkgdir";
-
--my $prefix = getPrefix();
-+my $prefix = $ENV{'PKGDIR'} . "/usr";
-
diff --git a/testing/netpbm/APKBUILD b/testing/netpbm/APKBUILD
deleted file mode 100644
index 8b41f18c402..00000000000
--- a/testing/netpbm/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Tom Parker-Shemilt <palfrey@tevp.net>
-# Maintainer: Tom Parker-Shemilt <palfrey@tevp.net>
-pkgname=netpbm
-pkgver=10.73.30
-pkgrel=1
-pkgdesc="toolkit for manipulation of graphic images"
-url="http://netpbm.sourceforge.net/"
-arch="all"
-license="IJG AND BSD-3-Clause AND GPL-2.0-only"
-makedepends="perl libpng-dev libjpeg-turbo-dev tiff-dev zlib-dev libx11-dev
- sed flex"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-source="http://downloads.sourceforge.net/netpbm/super_stable/netpbm-$pkgver.tgz
- config.mk
- 01-makefile.patch
- 02-installnetpbm.patch
- "
-
-build() {
- cat config.mk.in "$srcdir"/config.mk > config.mk
- make
- make package pkgdir="$PWD/pkgdir"
-}
-
-package() {
- mkdir -p $pkgdir/usr/bin/ \
- $pkgdir/usr/share/man/man1 \
- $pkgdir/usr/share/man/man3 \
- $pkgdir/usr/share/man/man5 \
- $pkgdir/usr/share/man/web \
- $pkgdir/usr/lib/pkgconfig
- BUILDDIR="$builddir" PKGDIR="$pkgdir" ./installnetpbm
- install -Dm644 $builddir/doc/copyright_summary "$pkgdir"/usr/share/licenses/$pkgname/COPYING
- sed -i "s,$pkgdir,,g" "$pkgdir/usr/lib/pkgconfig/netpbm.pc"
- sed -i "s/Version: Netpbm $pkgver/Version: $pkgver/" "$pkgdir/usr/lib/pkgconfig/netpbm.pc"
-}
-
-sha512sums="a04dc530df98cd1265b6fe9ecb8e37613bea55a89a20d47f7fb52a8c7a1e733650f53f320a807cd785ff170b320c03fbabf6e29b7a274d4d5f73281f45cf23bc netpbm-10.73.30.tgz
-07e87947e71fe5831ffb7740df051b66eacef45892f6c28e337882a28b47b87ab15252cf2ae51c3208fb80523539ad7996136d09f436f32c2dc2bd4be24549d0 config.mk
-85d78938cf825fdca5c43a40ab25a147ae42e7b78f61ffb73082b64edb3a7127d2197971b9bdbf1011ef8ba20a55acce84b5dc8fba43b603f8faa33abeb761bb 01-makefile.patch
-e863fba8eec7551179eb96246abd9e3af1bfacf5dbb029a9a2c4d4af00bc6fc6d12e484d422f50d5890993c101b9f060b30c5ca753c4c7ae8577a219649b9dad 02-installnetpbm.patch"
diff --git a/testing/netpbm/config.mk b/testing/netpbm/config.mk
deleted file mode 100644
index 51ab18f7c8a..00000000000
--- a/testing/netpbm/config.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-DEFAULT_TARGET = nonmerge
-NETPBMLIBTYPE = unixshared
-NETPBMLIBSUFFIX = so
-STATICLIB_TOO = Y
-LDRELOC = ld --reloc
-LINKER_CAN_DO_EXPLICIT_LIBRARY = Y
-LINKERISCOMPILER = Y
-CFLAGS_SHLIB += -fPIC
-TIFFLIB = -ltiff
-JPEGLIB = -ljpeg
-PNGLIB = -lpng
-ZLIB = -lz
-X11LIB = -lX11
-NETPBM_DOCURL = http://netpbm.sourceforge.net/doc/ \ No newline at end of file
diff --git a/testing/netsed/APKBUILD b/testing/netsed/APKBUILD
index 7149bba7c77..23a27f2517e 100644
--- a/testing/netsed/APKBUILD
+++ b/testing/netsed/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=netsed
pkgver=1.3
-pkgrel=2
+pkgrel=3
pkgdesc="The network packet stream editor"
url="http://silicone.homelinux.org/projects/netsed/"
arch="all"
diff --git a/testing/netsurf/APKBUILD b/testing/netsurf/APKBUILD
index 5816b1f852d..71d5046c7a9 100644
--- a/testing/netsurf/APKBUILD
+++ b/testing/netsurf/APKBUILD
@@ -3,17 +3,16 @@
# Contributor: Miles Alan <m@milesalan.com>
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
pkgname=netsurf
-pkgver=3.10
-pkgrel=4
+pkgver=3.11
+pkgrel=0
pkgdesc="free, open source web browser"
url="http://www.netsurf-browser.org"
-arch="all !s390x !mips !mips64 !riscv64" # blocked by librsvg
-license="GPL-2.0"
-makedepends="curl-dev openssl1.1-compat-dev doxygen flex bison libwebp-dev lcms2-dev
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="curl-dev openssl-dev doxygen flex bison libwebp-dev lcms2-dev
libmng-dev gperf gtk+3.0-dev libcurl libpng-dev libidn-dev
check-dev libharu-dev librsvg-dev libjpeg-turbo-dev vim
- perl perl-html-parser sdl12-compat-dev expat-dev
- "
+ perl perl-html-parser sdl12-compat-dev expat-dev"
subpackages="
$pkgname-doc
$pkgname-framebuffer
@@ -90,7 +89,7 @@ framebuffer() {
}
sha512sums="
-fc4c300eef07c540a7e07f8034db25b7e5fb731b5956029af2220f8638802aa38c055ad54b5683c14501aef9c22fb781b96613c16ae9a6996c3833ceede6f9bf netsurf-all-3.10.tar.gz
+f931687e08976ca336762587cc1ac75e45518be62b19d1d31aac3063b92b9666f8a022ff3a183e80c89404ba8ff33458b26521130e96943043085a42291ee283 netsurf-all-3.11.tar.gz
4f6868f377abb1fbade92088bee9a319952c4cee82821ca5b3f892484e0d111f33045c8583f3d069e48af6f3f2fcad43c364daa0f5457b3b013542793ac10fcf netsurf
-fcdf69dac7d951448f44360105b56fdd3b097b38ffeaae4dd702c0ff4176044add4260688612e07d04bcf63aa43673234f484a2210a3cf4a9b71c80596ac5751 non-coreutils-install-compatibility.patch
+528a0d085afcf089789fc2e2aafa27e48c71f9eba1eeed65ba293ccb9c60187193d8e36337ff56b9de8221821d6cb2a4146e175edb383f7a6ef660771c8a1e28 non-coreutils-install-compatibility.patch
"
diff --git a/testing/netsurf/non-coreutils-install-compatibility.patch b/testing/netsurf/non-coreutils-install-compatibility.patch
index dd3efac7f5f..de5374db041 100644
--- a/testing/netsurf/non-coreutils-install-compatibility.patch
+++ b/testing/netsurf/non-coreutils-install-compatibility.patch
@@ -2,7 +2,7 @@ Alpine / busybox's install doesn't have coreutils' -T option.
--- a/netsurf/frontends/framebuffer/Makefile
+++ b/netsurf/frontends/framebuffer/Makefile
-@@ -222,7 +222,7 @@
+@@ -200,10 +200,10 @@ NETSURF_FRAMEBUFFER_RESOURCE_LIST := adblock.css credits.html \
install-framebuffer:
$(VQ)echo " INSTALL: $(DESTDIR)/$(PREFIX)"
$(Q)$(INSTALL) -d $(DESTDIR)/$(NETSURF_FRAMEBUFFER_BIN)
@@ -10,4 +10,18 @@ Alpine / busybox's install doesn't have coreutils' -T option.
+ $(Q)$(INSTALL) $(EXETARGET) $(DESTDIR)/$(NETSURF_FRAMEBUFFER_BIN)/netsurf-fb
$(Q)$(INSTALL) -d $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES)
$(Q)for F in $(NETSURF_FRAMEBUFFER_RESOURCE_LIST); do $(INSTALL) -m 644 $(FRONTEND_RESOURCES_DIR)/$$F $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES); done
- $(Q)$(RM) $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES)/Messages
+- $(Q)$(INSTALL) -m 644 -T $(MESSAGES_TARGET)/en/Messages $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES)/Messages
++ $(Q)$(INSTALL) -m 644 $(MESSAGES_TARGET)/en/Messages $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES)/Messages
+
+ # ----------------------------------------------------------------------------
+ # Package target
+--- a/buildsystem/makefiles/Makefile.tools
++++ b/buildsystem/makefiles/Makefile.tools
+@@ -285,7 +285,7 @@ GENHTML ?= genhtml
+
+ BUILD_CXX ?= c++
+
+-INSTALL ?= install -C
++INSTALL ?= install
+
+ LCOV ?= lcov
diff --git a/testing/newsyslog/10-compat.patch b/testing/newsyslog/10-compat.patch
new file mode 100644
index 00000000000..f954ffe2ce2
--- /dev/null
+++ b/testing/newsyslog/10-compat.patch
@@ -0,0 +1,80 @@
+Author: Vlad Glagolev <scm@vaygr.net>
+URL: based on https://bugs.gentoo.org/707452
+Summary: fixes build with recent compilers, modern sort(1), musl
+diff --git a/mksigname.sh b/mksigname.sh
+index 164f5b8..bdb918b 100644
+--- a/mksigname.sh
++++ b/mksigname.sh
+@@ -40,7 +40,7 @@ fi
+ trap 'rc=$?; rm -f $tmpin $tmpout; trap 0; exit $rc' $trapsigs
+
+ CC="${CC:-cc}"
+-CPP="${CPP:-${CC} -E -C}"
++CPP="${CPP:-${CC} -E -C -P}"
+
+ cat <<__EOF__
+ /*
+@@ -86,7 +86,7 @@ sed -n -e 's|"\(..\)", /|"\1", /|' \
+ -e 's|"\(..*\)", /|"\1", /|' \
+ -e 's|^[ ]*QwErTy \([0-9]\)[ ]|/* \1 */ |p' \
+ -e 's|^[ ]*QwErTy \([0-9][0-9]*\)[ ]|/* \1 */ |p' < $tmpout | \
+- sort -n +1 | \
++ sort -n -k2 | \
+ awk 'BEGIN {
+ last = 0;
+ nsigs = 0;
+diff --git a/newsyslog.c b/newsyslog.c
+index 6d814c9..f4b4c4f 100644
+--- a/newsyslog.c
++++ b/newsyslog.c
+@@ -423,12 +423,12 @@ do_entry(ent)
+
+ assert(domidnight == -1 || domidnight == 1 || domidnight == 0);
+ if (verbose) {
+- printf("## %s [%s(%lu):%s(%lu)] 0%03o <#%u,%s%s%s%s%s>: ",
++ printf("## %s [%s(%lu):%s(%lu)] 0%03o <#%u,%s%s%s%s%s%s>: ",
+ ent->log,
+ ent->user ? ent->user : "",
+- (unsigned long) (ent->uid == NO_ID) ? (write_metalog ? 0 : geteuid()) : ent->uid,
++ (unsigned long) ((ent->uid == NO_ID) ? (write_metalog ? 0 : geteuid()) : ent->uid),
+ ent->group ? ent->group : "",
+- (unsigned long) (ent->gid == NO_ID) ? (write_metalog ? 0 : getegid()) : ent->gid,
++ (unsigned long) ((ent->gid == NO_ID) ? (write_metalog ? 0 : getegid()) : ent->gid),
+ ent->permissions,
+ ent->numlogs,
+ (ent->flags & CE_SUBDIR) ? "subdir," : "",
+diff --git a/sig2str.c b/sig2str.c
+index c05da8a..43f1e2a 100644
+--- a/sig2str.c
++++ b/sig2str.c
+@@ -65,7 +65,7 @@ extern const unsigned int sys_nsigname; /* also from sys_signame.c */
+ #endif
+
+ #if !defined(SYS_SIGNAME_DECLARED)
+-const char *const sys_signame[]; /* defined in sys_signame.c */
++extern const char *const sys_signame[]; /* defined in sys_signame.c */
+ #endif
+
+ #if !defined(HAVE_DECL_SIG2STR)
+diff --git a/str2sig.c b/str2sig.c
+index 65e730d..d485e0f 100644
+--- a/str2sig.c
++++ b/str2sig.c
+@@ -31,7 +31,7 @@ static const char rcsid[] =
+ #include "newsyslog.h" /* generic portability definitions */
+
+ #if !defined(SYS_SIGNAME_DECLARED)
+-const char *const sys_signame[]; /* defined in signame.c */
++extern const char *const sys_signame[]; /* defined in signame.c */
+ #endif
+
+ /* NetBSD gained sys_nsig sometime just prior to 1.4 */
+@@ -67,7 +67,7 @@ extern const unsigned int sys_nsigname; /* also from sys_signame.c */
+ #endif
+
+ #if !defined(SYS_SIGNAME_DECLARED)
+-const char *const sys_signame[]; /* defined in sys_signame.c */
++extern const char *const sys_signame[]; /* defined in sys_signame.c */
+ #endif
+
+ #if !defined(HAVE_DECL_STR2SIG)
diff --git a/testing/newsyslog/20-html.patch b/testing/newsyslog/20-html.patch
new file mode 100644
index 00000000000..93c1921fc02
--- /dev/null
+++ b/testing/newsyslog/20-html.patch
@@ -0,0 +1,23 @@
+Author: Vlad Glagolev <scm@vaygr.net>
+URL: N/A
+Summary: fixes build with groff
+--- a/Makefile.am.orig
++++ b/Makefile.am
+@@ -118,7 +118,7 @@
+
+ .8.8.html:
+ @rm -f $@
+- ($(TBL) $< | $(NROFF) -mdoc2html > $@) || (rm -f $@; exit 1)
++ ($(TBL) $< | $(NROFF) -mhtml > $@) || (rm -f $@; exit 1)
+
+ .5.5.ps:
+ @rm -f $@
+@@ -126,7 +126,7 @@
+
+ .5.5.html:
+ @rm -f $@
+- ($(TBL) $< | $(NROFF) -mdoc2html > $@) || (rm -f $@; exit 1)
++ ($(TBL) $< | $(NROFF) -mhtml > $@) || (rm -f $@; exit 1)
+
+ .cat5.cat5-dist:
+ @rm -f $@
diff --git a/testing/newsyslog/APKBUILD b/testing/newsyslog/APKBUILD
new file mode 100644
index 00000000000..508ae689828
--- /dev/null
+++ b/testing/newsyslog/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Vlad Glagolev <scm@vaygr.net>
+# Maintainer: Vlad Glagolev <scm@vaygr.net>
+pkgname=newsyslog
+pkgver=1.2.0.91
+pkgrel=1
+pkgdesc="utility that automates system log rotation and compression"
+url="https://github.com/robohack/newsyslog"
+arch="all"
+license="MIT"
+makedepends="automake autoconf groff"
+subpackages="$pkgname-doc"
+source="https://github.com/robohack/newsyslog/archive/refs/tags/v$pkgver/newsyslog-$pkgver.tar.gz
+ 10-compat.patch
+ 20-html.patch
+ "
+
+prepare() {
+ default_prepare
+ autoreconf -fisv
+}
+
+build() {
+ CFLAGS="$CFLAGS -D_GNU_SOURCE" \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-syslogd_pid=/run/syslogd.pid \
+ --with-gzip
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm644 newsyslog.conf "$pkgdir"/etc/newsyslog.conf
+
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+sha512sums="
+7e3522b5fc8332f83c902b0c4f3e1539b2e25a9acea0d48540d2283f7675a324c2cdf008c9fa49b8091f17f7eff55017058aa81eaf263a75b94bf4eada70c5ec newsyslog-1.2.0.91.tar.gz
+bcb598cbe8e48fc81a8503ef3f07131d1c57a8e30b6cd45a0553beaa702e1f998eafcb02751b7f1b2c648b93278d7aecc10da46da4690405344ac882ec70befa 10-compat.patch
+4194b6334324e857d8d3d047111a266381af86649b21e5ff44b987a6ef9e39a4a8bcea8f8a1d989aceac84fd7ac88726bd1e22ce6f9e47c2a67958fc290cbafb 20-html.patch
+"
diff --git a/testing/nextpnr/APKBUILD b/testing/nextpnr/APKBUILD
new file mode 100644
index 00000000000..27c31b4dbc6
--- /dev/null
+++ b/testing/nextpnr/APKBUILD
@@ -0,0 +1,69 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=nextpnr
+pkgver=0.6
+pkgrel=1
+pkgdesc="portable FPGA place and route tool"
+url="https://github.com/YosysHQ/nextpnr"
+arch="all"
+license="ISC"
+makedepends="
+ py3-apicula
+ boost-dev
+ cmake
+ eigen-dev
+ icestorm
+ ninja
+ prjtrellis
+ prjtrellis-db-ecp5
+ python3-dev
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/YosysHQ/nextpnr/archive/refs/tags/nextpnr-$pkgver.tar.gz
+ "
+builddir="$srcdir/nextpnr-nextpnr-$pkgver"
+
+_fpga_archs="generic ice40 ecp5 gowin"
+for _fpga_arch in $_fpga_archs; do
+ subpackages="$subpackages $pkgname-$_fpga_arch:_subpkg"
+done
+
+build() {
+ for _fpga_arch in $_fpga_archs; do
+ echo "--> building for $_fpga_arch"
+ # regarding -DUSE_IPO=off: see https://github.com/YosysHQ/nextpnr/issues/797
+ cmake -B "build-$_fpga_arch" -G Ninja \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DUSE_IPO=off \
+ -DBUILD_TESTS=ON \
+ -DCURRENT_GIT_VERSION=$pkgver \
+ -DARCH="$_fpga_arch" \
+ #
+ cmake --build build-$_fpga_arch
+ done
+}
+
+check() {
+ for _fpga_arch in $_fpga_archs; do
+ cd "$builddir/build-$_fpga_arch"
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j1
+ done
+}
+
+package() {
+ for _fpga_arch in $_fpga_archs; do
+ depends="$depends $pkgname-$_fpga_arch"
+ done
+ mkdir -p "$pkgdir"
+}
+
+_subpkg() {
+ local _fpga_arch="${subpkgname#nextpnr-}"
+ pkgdesc="portable FPGA place and route tool for $_fpga_arch"
+ DESTDIR="$subpkgdir" cmake --install "$builddir/build-$_fpga_arch"
+}
+
+sha512sums="
+d943afa9bee2c786b0474936300c1a8f9971dc62f2348fb7b67ab3e1ab44d9dc7cfae62ccdd61838cdd80de2139ff6d1c5f22f45fa3932be095254f8b4214f84 nextpnr-0.6.tar.gz
+"
diff --git a/testing/nginx-naxsi/APKBUILD b/testing/nginx-naxsi/APKBUILD
deleted file mode 100644
index 3337d81ebf6..00000000000
--- a/testing/nginx-naxsi/APKBUILD
+++ /dev/null
@@ -1,193 +0,0 @@
-# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
-# Contributor: Cameron Banta <cbanta@gmail.com>
-# Contributor: Jeff Bilyk <jbilyk@gmail.com>
-# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
-
-pkgname=nginx-naxsi
-_pkgname=nginx
-pkgver=1.16.1
-pkgrel=1
-pkgdesc="Lightweight HTTP and reverse proxy server with Naxsi WAF support, see also 'nxapi'"
-url="https://github.com/nbs-system/naxsi"
-arch="all"
-license="custom"
-
-# Modules
-_ngx_naxsi_name=naxsi
-_ngx_naxsi_ver=1.3
-_ngx_naxsi_dir="$srcdir/$_ngx_naxsi_name-$_ngx_naxsi_ver/naxsi_src"
-
-_ngx_cache_purge_name=ngx_cache_purge
-_ngx_cache_purge_ver=2.3.0.1
-_ngx_cache_purge_dir="$srcdir/$_ngx_cache_purge_name-$_ngx_cache_purge_ver"
-
-_ngx_upstream_fair_name=nginx-upstream-fair
-_ngx_upstream_fair_ver=0.1.3
-_ngx_upstream_fair_dir="$srcdir/$_ngx_upstream_fair_name-$_ngx_upstream_fair_ver"
-
-_ngx_http_sysguard_name=tengine-http-sysguard
-_ngx_http_sysguard_ver=2.2.0
-_ngx_http_sysguard_dir="$srcdir/$_ngx_http_sysguard_name-$_ngx_http_sysguard_ver"
-
-depends="!nginx"
-makedepends="linux-headers gd-dev geoip-dev libxml2-dev libxslt-dev openssl-dev
- pcre-dev perl-dev pkgconf zlib-dev"
-pkgusers="nginx"
-_grp_ngx="nginx"
-_grp_www="www-data"
-pkggroups="$_grp_ngx $_grp_www"
-install="$pkgname.pre-install $pkgname.pre-upgrade"
-options="!check"
-subpackages="$pkgname-doc"
-source="https://nginx.org/download/$_pkgname-$pkgver.tar.gz
- naxsi-$_ngx_naxsi_ver.tar.gz::https://github.com/nbs-system/$_ngx_naxsi_name/archive/$_ngx_naxsi_ver.tar.gz
- ngx_cache_purge-$_ngx_cache_purge_ver.tar.gz::https://github.com/itoffshore/$_ngx_cache_purge_name/archive/v$_ngx_cache_purge_ver.tar.gz
- upstream-fair-$_ngx_upstream_fair_ver.tar.gz::https://github.com/itoffshore/$_ngx_upstream_fair_name/archive/$_ngx_upstream_fair_ver.tar.gz
- sysguard-$_ngx_http_sysguard_ver.tar.gz::https://github.com/itoffshore/$_ngx_http_sysguard_name/archive/v$_ngx_http_sysguard_ver.tar.gz
-
- anonymise.patch
- sysguard.patch
-
- nginx.initd
- nginx.logrotate
- nginx.conf
- default.conf
- sysguard.conf
- "
-builddir="$srcdir"/$_pkgname-$pkgver
-
-_modules_dir="usr/lib/nginx/modules"
-_modules="
- http-geoip
- http-image-filter
- http-perl
- http-xslt-filter
- mail
- stream
- http-naxsi
- http-cache-purge
- http-upstream-fair
- http-sysguard
- "
-
-for _m in $_modules; do
- subpackages="$subpackages $pkgname-mod-$_m:_module"
-done
-
-
-build() {
- ./configure \
- --prefix=/var/lib/$_pkgname \
- --sbin-path=/usr/sbin/$_pkgname \
- --modules-path=/$_modules_dir \
- --conf-path=/etc/$_pkgname/$_pkgname.conf \
- --pid-path=/run/$_pkgname/$_pkgname.pid \
- --lock-path=/run/$_pkgname/$_pkgname.lock \
- --error-log-path=/var/log/$_pkgname/error.log \
- --http-log-path=/var/log/$_pkgname/access.log \
- --http-client-body-temp-path=/var/lib/$_pkgname/tmp/client_body \
- --http-proxy-temp-path=/var/lib/$_pkgname/tmp/proxy \
- --http-fastcgi-temp-path=/var/lib/$_pkgname/tmp/fastcgi \
- --with-perl_modules_path=/usr/lib/perl5/vendor_perl \
- \
- --user=$pkgusers \
- --group=$_grp_ngx \
- --with-threads \
- --with-file-aio \
- --without-http_uwsgi_module \
- --without-http_scgi_module \
- \
- --with-http_ssl_module \
- --with-http_v2_module \
- --with-http_realip_module \
- --with-http_addition_module \
- --with-http_sub_module \
- --with-http_dav_module \
- --with-http_flv_module \
- --with-http_mp4_module \
- --with-http_gunzip_module \
- --with-http_gzip_static_module \
- --with-http_auth_request_module \
- --with-http_random_index_module \
- --with-http_secure_link_module \
- --with-http_slice_module \
- --with-http_stub_status_module \
- --with-http_xslt_module=dynamic \
- --with-http_image_filter_module=dynamic \
- --with-http_geoip_module=dynamic \
- --with-http_perl_module=dynamic \
- --with-mail=dynamic \
- --with-mail_ssl_module \
- --with-stream=dynamic \
- --with-stream_ssl_module \
- \
- --add-dynamic-module="$_ngx_naxsi_dir" \
- --add-dynamic-module="$_ngx_cache_purge_dir" \
- --add-dynamic-module="$_ngx_upstream_fair_dir" \
- --add-dynamic-module="$_ngx_http_sysguard_dir"
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
- install -Dm644 README "$pkgdir"/usr/share/doc/$pkgname/README
-
- cd "$pkgdir"
-
- install -Dm644 "$srcdir"/nginx.conf ./etc/$_pkgname/nginx.conf
- install -Dm644 "$srcdir"/default.conf ./etc/$_pkgname/conf.d/default.conf
- install -m755 -D "$srcdir"/$_pkgname.initd ./etc/init.d/$_pkgname
- install -m644 -D "$srcdir"/$_pkgname.logrotate ./etc/logrotate.d/$_pkgname
- install -m644 -D "$srcdir"/naxsi-$_ngx_naxsi_ver/naxsi_config/naxsi_core.rules ./etc/nginx/naxsi_core.rules
-
- install -dm755 ./etc/$_pkgname/modules
- install -dm750 -o $pkgusers -g $_grp_ngx ./var/lib/$_pkgname
- install -dm700 -o $pkgusers -g $_grp_ngx ./var/lib/$_pkgname/tmp
-
- ln -sf /$_modules_dir ./var/lib/$_pkgname/modules
- ln -sf /var/log/$_pkgname ./var/lib/$_pkgname/logs
- ln -sf /run/$_pkgname ./var/lib/$_pkgname/run
-
- rm -rf ./run ./etc/$_pkgname/*.default
- # scgi & uwsgi servers are disabled
- rm ./etc/$_pkgname/scgi_params ./etc/$_pkgname/uwsgi_params
-
- # add module configuration
- _mod_conf sysguard.conf nginx-naxsi-mod-http-sysguard
-}
-
-_module() {
- local name="${subpkgname#$pkgname-mod-}"
- name="${name//-/_}"
- soname="ngx_${name}_module.so"
-
- pkgdesc="$pkgdesc (module $name)"
- depends="!nginx-mod-$name"
- provides="$name"
-
- mkdir -p "$subpkgdir"/$_modules_dir
- cd "$subpkgdir"
-
- mv "$pkgdir"/$_modules_dir/$soname ./$_modules_dir/$soname
- mkdir -p "$subpkgdir"/etc/nginx/modules
- echo "load_module \"modules/$soname\";" > ./etc/nginx/modules/$name.conf
-}
-
-_mod_conf() {
- local conf=$1 module=$2
- install -Dm644 "$srcdir"/$conf ${pkgdir%/*}/$module/etc/nginx/conf.d/$conf
-}
-sha512sums="17e95b43fa47d4fef5e652dea587518e16ab5ec562c9c94355c356440166d4b6a6a41ee520d406e5a34791a327d2e3c46b3f9b105ac9ce07afdd495c49eca437 nginx-1.16.1.tar.gz
-d7aac69b5eceeb1b0db4741201159ade1e0e7f6f7c3e8c4afa2f8959c6c00c3b5285d5185747c2fb0b1400efda02e96799836315e7e492bb4a059b14acb2142d naxsi-1.3.tar.gz
-c49c81dbdb8bd507fccf31295e603cea8f0a964867c27eff0436dcea3b4a547c8ae2f11ecf49c4d82c693cf8138c17ebbed395738539d0d61254951e5f0db7e3 ngx_cache_purge-2.3.0.1.tar.gz
-8adb7453c27748f4e685e3352e9b318b408da818754dc5b6244e908423941a8ba337561104f6e481f2553cbc0e334dcea73b57f8e810a9d6e974bb69ff8859e5 upstream-fair-0.1.3.tar.gz
-2743d9aea60bd4984b650213e571cf27e6ff5b3db708242ccb53b8fc669d1cc82ee224ba79aee2f6969b6e13821cfdd3df7b412541e1fdbb867ecc95326e07e1 sysguard-2.2.0.tar.gz
-1117ca5887822e002d9995c041435fda53890614fd7309ea011a59bfb0df3261fc7ba8670e93aaee9116cda16b9806921a85f52c9959b093f2e5ac5df4d9b0fb anonymise.patch
-2dca2ac74fb92e330fde7b6b6120b2fd2565c377a629c9536cf77beebe41aa4b092d4229d5b487b0fb02be4f2cc5b897c429c87bbbbc7b0d31e1cbb94231ddce sysguard.patch
-72888c43cec3203cafe1c5e018be464129a220913c21e0abe5ca57ad0649b7120d419ede9b37181def3daad7f08b1c1afdacb33a20aa148ce1d1b9ce3b5b2a33 nginx.initd
-01b77cff16f6e8bfd7fa1d4d20f625bbcddd08f0509173452d060c342c93dc315a7b0560f4734323a5d29ea294de0491f2e3f32e5337574e1a28ebc005eceea8 nginx.logrotate
-a1a1d9dbd65955b458d17918138fc65bf8990c46909ef43940b1633458c8f119eb485939179b6a9a3dac0c3b58c1eb0c5aec44e7b25ea7a34969c4a0807d4788 nginx.conf
-ed1257ca2c0f687e24ebfd5446c472a592a9f7abea022bd04b3dd519631cc235f448027aabf699a89cb7aa4d5761031d44dffcd33d02fd17db0c93da0d5e8689 default.conf
-8067c78b00e9fd89141b7a70fdc39ab1095a89c97abc8c9a37df26bef40785715dabdae19bce596ec3c3baff00f9022e2f24c7f5d884590857773e87aae75734 sysguard.conf"
diff --git a/testing/nginx-naxsi/anonymise.patch b/testing/nginx-naxsi/anonymise.patch
deleted file mode 100644
index 8b6f9c2ba14..00000000000
--- a/testing/nginx-naxsi/anonymise.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- nginx-1.11.10/src/http/ngx_http_header_filter_module.c
-+++ nginx-1.11.10/src/http/ngx_http_header_filter_module.c.new
-@@ -46,9 +46,9 @@
- };
-
-
--static u_char ngx_http_server_string[] = "Server: nginx" CRLF;
--static u_char ngx_http_server_full_string[] = "Server: " NGINX_VER CRLF;
--static u_char ngx_http_server_build_string[] = "Server: " NGINX_VER_BUILD CRLF;
-+static u_char ngx_http_server_string[] = "";
-+static u_char ngx_http_server_full_string[] = "";
-+static u_char ngx_http_server_build_string[] = "";
-
-
- static ngx_str_t ngx_http_status_lines[] = {
-@@ -276,10 +276,10 @@
-
- if (r->headers_out.server == NULL) {
- if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) {
-- len += sizeof(ngx_http_server_full_string) - 1;
-+ len += sizeof(ngx_http_server_full_string) - 0;
-
- } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) {
-- len += sizeof(ngx_http_server_build_string) - 1;
-+ len += sizeof(ngx_http_server_build_string) - 0;
-
- } else {
- len += sizeof(ngx_http_server_string) - 1;
---- nginx-1.11.10/src/http/ngx_http_special_response.c
-+++ nginx-1.11.10/src/http/ngx_http_special_response.c.new
-@@ -19,21 +19,21 @@
-
-
- static u_char ngx_http_error_full_tail[] =
--"<hr><center>" NGINX_VER "</center>" CRLF
-+"<hr><center>127.0.0.1</center>" CRLF
- "</body>" CRLF
- "</html>" CRLF
- ;
-
-
- static u_char ngx_http_error_build_tail[] =
--"<hr><center>" NGINX_VER_BUILD "</center>" CRLF
-+"<hr><center>1.0.0</center>" CRLF
- "</body>" CRLF
- "</html>" CRLF
- ;
-
-
- static u_char ngx_http_error_tail[] =
--"<hr><center>nginx</center>" CRLF
-+"<hr><center>localhost</center>" CRLF
- "</body>" CRLF
- "</html>" CRLF
- ;
---- nginx-1.11.10/src/http/v2/ngx_http_v2_filter_module.c
-+++ nginx-1.11.10/src/http/v2/ngx_http_v2_filter_module.c.new
-@@ -236,16 +236,7 @@
- clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
-
- if (r->headers_out.server == NULL) {
--
-- if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_ON) {
-- len += 1 + nginx_ver_len;
--
-- } else if (clcf->server_tokens == NGX_HTTP_SERVER_TOKENS_BUILD) {
-- len += 1 + nginx_ver_build_len;
--
-- } else {
-- len += 1 + sizeof(nginx);
-- }
-+ len += 1 + sizeof(nginx);
- }
-
- if (r->headers_out.date == NULL) {
diff --git a/testing/nginx-naxsi/default.conf b/testing/nginx-naxsi/default.conf
deleted file mode 100644
index 3225a5d067a..00000000000
--- a/testing/nginx-naxsi/default.conf
+++ /dev/null
@@ -1,20 +0,0 @@
-# This is a default site configuration which will simply return 404, preventing
-# chance access to any other virtualhost.
-
-server {
- listen 80 default_server;
- listen [::]:80 default_server;
-
- server_tokens off;
-
- # Everything is a 404
- location / {
- return 404;
- }
-
- # You may need this to prevent return 404 recursion.
- location = /404.html {
- internal;
- }
-}
-
diff --git a/testing/nginx-naxsi/nginx-naxsi.pre-install b/testing/nginx-naxsi/nginx-naxsi.pre-install
deleted file mode 100644
index 8512f43ddaa..00000000000
--- a/testing/nginx-naxsi/nginx-naxsi.pre-install
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-addgroup -S -g 82 www-data 2>/dev/null
-addgroup -S nginx 2>/dev/null
-adduser -S -D -H -h /var/www/localhost/htdocs -s /sbin/nologin -G nginx \
- -g nginx nginx 2>/dev/null
-addgroup nginx www-data 2>/dev/null
-
-exit 0
diff --git a/testing/nginx-naxsi/nginx-naxsi.pre-upgrade b/testing/nginx-naxsi/nginx-naxsi.pre-upgrade
deleted file mode 120000
index 364e0b943cd..00000000000
--- a/testing/nginx-naxsi/nginx-naxsi.pre-upgrade
+++ /dev/null
@@ -1 +0,0 @@
-nginx-naxsi.pre-install \ No newline at end of file
diff --git a/testing/nginx-naxsi/nginx.conf b/testing/nginx-naxsi/nginx.conf
deleted file mode 100644
index c637b92e32a..00000000000
--- a/testing/nginx-naxsi/nginx.conf
+++ /dev/null
@@ -1,92 +0,0 @@
-# /etc/nginx/nginx.conf
-
-user nginx;
-
-# Set number of worker processes automatically based on number of CPU cores.
-worker_processes auto;
-
-# Enables the use of JIT for regular expressions to speed-up their processing.
-pcre_jit on;
-
-# Configures default error logger.
-error_log /var/log/nginx/error.log warn;
-
-# Includes files with directives to load dynamic modules.
-include /etc/nginx/modules/*.conf;
-
-
-events {
- # The maximum number of simultaneous connections that can be opened by
- # a worker process.
- worker_connections 1024;
-}
-
-http {
- # Includes mapping of file name extensions to MIME types of responses
- # and defines the default type.
- include /etc/nginx/mime.types;
- default_type application/octet-stream;
-
- # Name servers used to resolve names of upstream servers into addresses.
- # It's also needed when using tcpsocket and udpsocket in Lua modules.
- #resolver 208.67.222.222 208.67.220.220;
-
- # Don't tell nginx version to clients.
- server_tokens off;
-
- # Specifies the maximum accepted body size of a client request, as
- # indicated by the request header Content-Length. If the stated content
- # length is greater than this size, then the client receives the HTTP
- # error code 413. Set to 0 to disable.
- client_max_body_size 1m;
-
- # Timeout for keep-alive connections. Server will close connections after
- # this time.
- keepalive_timeout 65;
-
- # Sendfile copies data between one FD and other from within the kernel,
- # which is more efficient than read() + write().
- sendfile on;
-
- # Don't buffer data-sends (disable Nagle algorithm).
- # Good for sending frequent small bursts of data in real time.
- tcp_nodelay on;
-
- # Causes nginx to attempt to send its HTTP response head in one packet,
- # instead of using partial frames.
- #tcp_nopush on;
-
-
- # Path of the file with Diffie-Hellman parameters for EDH ciphers.
- #ssl_dhparam /etc/ssl/nginx/dh2048.pem;
-
- # Specifies that our cipher suits should be preferred over client ciphers.
- ssl_prefer_server_ciphers on;
-
- # Enables a shared SSL cache with size that can hold around 8000 sessions.
- ssl_session_cache shared:SSL:2m;
-
-
- # Enable gzipping of responses.
- #gzip on;
-
- # Set the Vary HTTP header as defined in the RFC 2616.
- gzip_vary on;
-
- # Enable checking the existence of precompressed files.
- #gzip_static on;
-
-
- # Specifies the main log format.
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" "$http_x_forwarded_for"';
-
- # Sets the path, format, and configuration for a buffered log write.
- access_log /var/log/nginx/access.log main;
-
-
- # Includes virtual hosts configs.
- include /etc/nginx/conf.d/*.conf;
-}
-
diff --git a/testing/nginx-naxsi/nginx.initd b/testing/nginx-naxsi/nginx.initd
deleted file mode 100644
index 7a58780f87c..00000000000
--- a/testing/nginx-naxsi/nginx.initd
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-
-description="Nginx http and reverse proxy server"
-extra_started_commands="reload reopen upgrade"
-
-cfgfile=${cfgfile:-/etc/nginx/nginx.conf}
-pidfile=/run/nginx/$RC_SVCNAME.sd.pid
-command=/usr/sbin/nginx
-command_args="-c $cfgfile"
-command_args_foreground='-g "daemon off;"'
-required_files="$cfgfile"
-
-depend() {
- need net
- use dns logger netmount
-}
-
-start_pre() {
- ebegin
- checkpath --directory --owner nginx:nginx ${pidfile%/*}
- $command $command_args -t -q
- eend $?
-}
-
-reload() {
- ebegin "Reloading ${RC_SVCNAME} configuration"
- start_pre && $command -s reload
- eend $?
-}
-
-reopen() {
- ebegin "Reopening ${RC_SVCNAME} log files"
- $command -s reopen
- eend $?
-}
-
-upgrade() {
- restart
-}
-
-restart() {
- stop
- # prevents bind() failed (98: Address in use) error msg
- sleep 0.05
- start
-}
diff --git a/testing/nginx-naxsi/nginx.logrotate b/testing/nginx-naxsi/nginx.logrotate
deleted file mode 100644
index 7778b1108b1..00000000000
--- a/testing/nginx-naxsi/nginx.logrotate
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/files/nginx.logrotate,v 1.1 2010/01/03 20:29:40 djc Exp $
-
-/var/log/nginx/*.log {
- missingok
- sharedscripts
- postrotate
- kill -USR1 `cat /var/run/nginx.pid`
- endscript
-}
-
diff --git a/testing/nginx-naxsi/sysguard.conf b/testing/nginx-naxsi/sysguard.conf
deleted file mode 100644
index 25619d3d4e4..00000000000
--- a/testing/nginx-naxsi/sysguard.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-# http://tengine.taobao.org/document/http_sysguard
-
-sysguard on;
-
-sysguard_load load=10.5 action=/loadlimit;
-sysguard_mem swapratio=20% action=/swaplimit;
-sysguard_mem free=20M action=/freelimit;
-sysguard_rt rt=2.5 period=5s action=/rtlimit;
-
-location /loadlimit {
- return 503;
-}
-
-location /swaplimit {
- return 503;
-}
-
-location /freelimit {
- return 503;
-}
-
-location /rtlimit {
- return 503;
-}
-
diff --git a/testing/nginx-naxsi/sysguard.patch b/testing/nginx-naxsi/sysguard.patch
deleted file mode 100644
index be8b0d2ee43..00000000000
--- a/testing/nginx-naxsi/sysguard.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/http/ngx_http_request.h
-+++ b/src/http/ngx_http_request.h
-@@ -498,6 +498,7 @@
- */
- unsigned limit_conn_set:1;
- unsigned limit_req_set:1;
-+ unsigned sysguard_set:1;
-
- #if 0
- unsigned cacheable:1;
diff --git a/testing/nginx-ultimate-bad-bot-blocker/APKBUILD b/testing/nginx-ultimate-bad-bot-blocker/APKBUILD
index 6c76658d960..f4e4b095f13 100644
--- a/testing/nginx-ultimate-bad-bot-blocker/APKBUILD
+++ b/testing/nginx-ultimate-bad-bot-blocker/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=nginx-ultimate-bad-bot-blocker
-pkgver=4.2020.05.2060
+pkgver=4.2023.10.4046
pkgrel=0
pkgdesc="Nginx Bad Bot and User-Agent Blocker"
url="https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker"
@@ -35,4 +35,6 @@ package() {
install -Dm644 LICENSE.md "$pkgdir"/usr/share/licenses/nginx-ultimate-bad-bot-blocker/LICENSE
}
-sha512sums="d3caef9c1022879be846b35eaf1356a887fe3ddfd8334fc87a23d5a34b4c090ba9ea69d0fda83ddc2407b0936f87434e75fa59fa48d0ad514eb86653f3d0aaf6 nginx-ubbb-4.2020.05.2060.tar.gz"
+sha512sums="
+b51f8cad242aec6c4979f046918f6c8ffc6e7be374bb3357b18fc6eecfd45baaf5f03f825ba115907e55a9b6c8faa1a295d6f73d48c283ab1a97b9605ec55f2e nginx-ubbb-4.2023.10.4046.tar.gz
+"
diff --git a/testing/ngs/APKBUILD b/testing/ngs/APKBUILD
index f08082798ac..46905bf9870 100644
--- a/testing/ngs/APKBUILD
+++ b/testing/ngs/APKBUILD
@@ -1,30 +1,46 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ngs
-pkgver=0.2.12
-pkgrel=1
+pkgver=0.2.14
+pkgrel=0
pkgdesc="Next Generation Shell"
url="https://ngs-lang.org"
-# tests fail on disabled arches
-arch="all !armhf !armv7 !mips64 !s390x !x86"
+# armhf, armv7, x86: tests fail
+arch="all !armhf !armv7 !x86"
license="GPL-3.0"
-makedepends="bash cmake gc-dev json-c-dev libffi-dev pcre-dev peg"
-subpackages="$pkgname-aws::noarch $pkgname-vim::noarch"
+makedepends="
+ bash
+ cmake
+ gc-dev
+ json-c-dev
+ libffi-dev
+ pcre-dev
+ peg
+ samurai
+ "
+subpackages="
+ $pkgname-aws::noarch
+ $pkgname-vim::noarch
+ "
source="https://github.com/ngs-lang/ngs/archive/v$pkgver/ngs-$pkgver.tar.gz
cmakelists.patch
busybox-compat.patch
"
build() {
+ local crossopts=
if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+
+ # The test segfaults with the default stack size.
+ LDFLAGS="$LDFLAGS -Wl,-z,stack-size=2097152" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
-DCMAKE_VERBOSE_MAKEFILE=ON \
- $CMAKE_CROSSOPTS .
- make -C build
+ $crossopts
+ cmake --build build
}
check() {
@@ -33,7 +49,7 @@ check() {
}
package() {
- make -C build install DESTDIR="$pkgdir"
+ DESTDIR="$pkgdir" cmake --install build
# stdlib.ngs is bundled into the ngs binary, so it's not used.
cd "$pkgdir"/usr/lib/ngs
@@ -57,7 +73,7 @@ vim() {
}
sha512sums="
-7946448787526f1981acea37810ca5eec8d57a0f44ae7a3219b525663cd628e2d41840fb0426333dde5b3750d6183d475809e0fa1de76e41d4fb6a8cba61b652 ngs-0.2.12.tar.gz
-e0f2c590ecb2d354671e0db7ddef725a2b7aa5201a93db6ae387f46bdcd956d71a66bb54309c6d9a1407b7cb500ccbbb2e0ade4e2a04a1ab721596791b051fb4 cmakelists.patch
+5b0f8fc94eb936133312d088cabd09f3097dfc0157fafaab7b25279b1ce85a1359de4df2b1499d287e64b2e98d6fc9dd02ef12bd5e7a672834b361f6d7f4bb8d ngs-0.2.14.tar.gz
+b53ff460f4e5ccf3db8819c897dbfce5b97cec8c6b2b8f917479c9aa3e8caea923a3d9b6cb73f8baa79926f8463c2eac23c89b72163220ee898ce055a132091b cmakelists.patch
a3c22590c2ba072eab773859d9fa50c55d88f8f7af5d70c0ddb4bd005d69a549f87625d5da47f515256ef004bdae2f2366e427c63b16a4f9471eca3effdec0cd busybox-compat.patch
"
diff --git a/testing/ngs/cmakelists.patch b/testing/ngs/cmakelists.patch
index cc25f414605..b32702fbf90 100644
--- a/testing/ngs/cmakelists.patch
+++ b/testing/ngs/cmakelists.patch
@@ -1,6 +1,6 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -91,19 +91,22 @@
+@@ -116,25 +116,28 @@
target_link_libraries(ngs m pthread gc ffi dl json-c pcre)
@@ -18,16 +18,22 @@
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE
-)
-install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION doc/ngs)
--install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/ DESTINATION man/man1 FILES_MATCHING PATTERN "*.1")
+# XXX-Patched: these scripts are quite doubtful, looks like helper scripts for the project or experimental stuff
+#install(
+# DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin/
+# DESTINATION bin FILES_MATCHING PATTERN "*.ngs"
+# PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_WRITE GROUP_EXECUTE WORLD_READ WORLD_WRITE WORLD_EXECUTE
+#)
-+#install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION share/licenses/ngs)
++#install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE DESTINATION doc/ngs)
+
+ if(APPLE)
+ set(MAN_DIR share/man/man1)
+ else()
+ set(MAN_DIR man/man1)
+ endif()
+-install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/ DESTINATION ${MAN_DIR} FILES_MATCHING PATTERN "*.1")
+# XXX-Patched: pandoc is available for x86_64 only
-+#install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/ DESTINATION share/man/man1 FILES_MATCHING PATTERN "*.1")
++#install(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/doc/ DESTINATION ${MAN_DIR} FILES_MATCHING PATTERN "*.1")
enable_testing()
add_test(all bash -c "${CMAKE_CURRENT_BINARY_DIR}/ngs ${CMAKE_CURRENT_SOURCE_DIR}/test.ngs")
diff --git a/testing/ngspice/APKBUILD b/testing/ngspice/APKBUILD
deleted file mode 100644
index 98e6959c402..00000000000
--- a/testing/ngspice/APKBUILD
+++ /dev/null
@@ -1,62 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=ngspice
-pkgver=33
-pkgrel=1
-pkgdesc="open source spice simulator for electric and electronic circuits"
-url="http://ngspice.sourceforge.net/"
-arch="all"
-license="BSD-3-Clause"
-makedepends="libxaw-dev libedit-dev readline-dev"
-depends="python3"
-subpackages="$pkgname-doc $pkgname-dev"
-source="
- https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/$pkgver/ngspice-$pkgver.tar.gz
- $pkgname.pc
- "
-
-prepare() {
- default_prepare
- sed -e "s/@PKGVER@/$pkgver/" -i "$srcdir"/$pkgname.pc
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --with-readline=yes \
- --enable-xspice \
- --enable-cider \
- --enable-openmp \
- --with-ngshared
-
- make
-
- # build the binary ngspice, which is only build without --with-ngshared
-
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --with-readline=yes \
- --enable-xspice \
- --enable-cider \
- --enable-openmp
-
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm755 src/.libs/libngspice.so.0.0.0 "$pkgdir/usr/lib/libngspice.so.0.0.0"
- ln -s "libngspice.so.0.0.0" "$pkgdir/usr/lib/libngspice.so.0"
- ln -s "libngspice.so.0.0.0" "$pkgdir/usr/lib/libngspice.so"
- install -Dm644 "$srcdir"/$pkgname.pc "$pkgdir"/usr/lib/pkgconfig/$pkgname.pc
-}
-
-sha512sums="895e39f7de185df18bf443a9fa5691cdb3bf0a5091d9860d20ccb02254ef396a4cca5a1c8bf4ba19a03783fc89bb86649218cee977b0fe4565d3c84548943c09 ngspice-33.tar.gz
-211321d3c56f06a58ce500807284657294beef1e712c2ce3e9b2253e622c6882cf1f1233fa18427902cac5bd9d31f48c7be64a03bc6e2705d3f10f4752c41b7c ngspice.pc"
diff --git a/testing/ngspice/ngspice.pc b/testing/ngspice/ngspice.pc
deleted file mode 100644
index bd4989a5a33..00000000000
--- a/testing/ngspice/ngspice.pc
+++ /dev/null
@@ -1,12 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include/ngspice
-modules=1
-
-Name: ngspice
-Version: @PKGVER@
-Description: Open Source Spice Simulator for Electric and Electronic Circuits.
-Requires:
-Libs: -L${libdir} -lngspice
-Cflags: -I${includedir}
diff --git a/testing/nicotine-plus/APKBUILD b/testing/nicotine-plus/APKBUILD
index f16c326a426..340990fc2a3 100644
--- a/testing/nicotine-plus/APKBUILD
+++ b/testing/nicotine-plus/APKBUILD
@@ -1,21 +1,41 @@
# Contributor: dai9ah <dai9ah@protonmail.com>
# Maintainer: dai9ah <dai9ah@protonmail.com>
pkgname=nicotine-plus
-pkgver=3.2.0
-pkgrel=0
+pkgver=3.3.2
+pkgrel=1
pkgdesc="Graphical client for the SoulSeek peer-to-peer system"
url="https://nicotine-plus.github.io/nicotine-plus"
arch="noarch"
license="GPL-3.0-or-later"
-depends="gtk+3.0 py3-gobject3 python3"
-makedepends="py3-setuptools gettext"
-subpackages="$pkgname-doc $pkgname-lang"
+depends="gtk+3.0 py3-gobject3 python3 python3-gdbm"
+makedepends="py3-gpep517 py3-setuptools py3-wheel gettext"
+checkdepends="py3-pytest"
+subpackages="$pkgname-doc $pkgname-lang $pkgname-pyc"
source="nicotine-plus-$pkgver.tar.gz::https://github.com/Nicotine-Plus/nicotine-plus/archive/$pkgver.tar.gz"
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m pytest \
+ --deselect pynicotine/tests/integration/test_startup.py::StartupTest::test_gui_startup
+}
+
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+lang() {
+ pkgdesc="Languages for package $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel lang"
+
+ amove usr/lib/python*/site-packages/pynicotine/locale
}
sha512sums="
-3c2299b9da44579060825a758cb45cd3a844bda405e99d411f714845c8dd662839d3158ac1ae3e197f4d1da68547ff161c3ed09dd35a95867e78faf0239b3b18 nicotine-plus-3.2.0.tar.gz
+590886c24104e47c1cd72fb0c03bc0a87f33f7ecdb6349b2fef354aa22a6417bcf002b2d1083b383bdc2ca4f35200f3997af7f8c552658ca9defec2958510cd8 nicotine-plus-3.3.2.tar.gz
"
diff --git a/testing/nil/APKBUILD b/testing/nil/APKBUILD
new file mode 100644
index 00000000000..14329d5e4d7
--- /dev/null
+++ b/testing/nil/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=nil
+pkgver=2023.08.09
+_pkgver=${pkgver//./-}
+pkgrel=0
+pkgdesc="An incremental analysis assistant for writing in Nix"
+url="https://github.com/oxalica/nil"
+arch="x86 x86_64 aarch64" # nix (aports)
+license="MIT OR Apache-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ nix
+"
+source="
+ $pkgname-$_pkgver.tar.gz::https://github.com/oxalica/nil/archive/refs/tags/$_pkgver.tar.gz
+"
+builddir="$srcdir/$pkgname-$_pkgver"
+options="net"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 target/release/nil "$pkgdir"/usr/bin/nil
+
+ for l in APACHE MIT
+ do
+ install -Dm 644 LICENSE-"$l" "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE-"$l"
+ done
+}
+
+sha512sums="
+44e93b06ee90503e79e41d137d14d7c576fafd889a41436aca0ddaa58eecd0cff329bd8a884baca2984a750fbb984000ef79b56981209d6692d564e0a587406c nil-2023-08-09.tar.gz
+"
diff --git a/testing/nitro/APKBUILD b/testing/nitro/APKBUILD
index d87336ecb16..aa07ca1d165 100644
--- a/testing/nitro/APKBUILD
+++ b/testing/nitro/APKBUILD
@@ -1,42 +1,36 @@
# Contributor: Bradley J Chambers <brad.chambers@gmail.com>
# Maintainer: Bradley J Chambers <brad.chambers@gmail.com>
pkgname=nitro
-pkgver=2.7_beta2
+pkgver=2.7_beta8
_ver=${pkgver/_beta/dev-}
-pkgrel=1
-pkgdesc="The Nitro NITF project"
+pkgrel=2
+pkgdesc="Nitro NITF project"
url="https://github.com/hobu/nitro"
arch="all"
-license="GPL-3.0"
-depends=""
-makedepends="cmake linux-headers"
-install=""
+license="GPL-3.0-or-later"
+makedepends="cmake linux-headers samurai"
subpackages="$pkgname-dev"
source="$pkgname-$_ver.tar.gz::https://github.com/hobu/$pkgname/archive/$_ver.tar.gz
- fix-path-max.patch
gettid.patch
+ path-max.patch
"
builddir="$srcdir/$pkgname-$_ver"
options="!check"
build() {
- mkdir -p "$builddir"
- cd "$builddir"
-
- mkdir build && cd build
- cmake .. \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DNITRO_PKG_SUBDIR=lib/pkgconfig
+ cmake --build build
}
package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-8414cfa4a3ca6bb1ad6536dc149c1d0d52479a9fda916db3c9c9c6fe39b01dba292f73a17b6ba47d757f5107997055e9b19f69ff08beca87dfb59383a4fb184a nitro-2.7dev-2.tar.gz
-4bf97526c39ae9a7c402d42451770b5b1383e44b426b49685a8d66ce5b0dd178f47e0865349b9c4b953af4b94616b2493d732c4562e6be10ba96b40bd1332052 fix-path-max.patch
+5aba97037bfcb3543a881b74a1adb0dfbff689b4ce39bd674274470c9f5712af7f93f2528a5035154c0c4e79993c23a18084af7ff385f4ad1a714a92a51151f6 nitro-2.7dev-8.tar.gz
d1866140e2fb76ba48c6f63f966ee1079248bdef64dd218fa44c73126649168076cc9e2a36aecd58d2b29a3c326a89e6aa0a8376de89ff94144e49606c9e3d32 gettid.patch
+58ad46ca4dde8511cda41af90d26c8898f84d509f6f9b31c2d17defc16a6d99aeba33d6c4c88d339ea39fe6598aa164c4ed46dfe009d06d46b3e11a5e13b78af path-max.patch
"
diff --git a/testing/nitro/fix-path-max.patch b/testing/nitro/fix-path-max.patch
deleted file mode 100644
index 4a3c575527f..00000000000
--- a/testing/nitro/fix-path-max.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- nitro-2.7dev-1/c++/sys/source/OSUnix.cpp.orig 2017-08-29 13:22:41.833028289 +0300
-+++ nitro-2.7dev-1/c++/sys/source/OSUnix.cpp 2017-08-29 13:22:59.726615275 +0300
-@@ -25,6 +25,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <unistd.h>
-+#include <limits.h>
-
- #include "sys/OSUnix.h"
- #include "sys/File.h"
diff --git a/testing/nitro/path-max.patch b/testing/nitro/path-max.patch
new file mode 100644
index 00000000000..13de4827487
--- /dev/null
+++ b/testing/nitro/path-max.patch
@@ -0,0 +1,12 @@
+diff --git a/c++/sys/source/OSUnix.cpp b/c++/sys/source/OSUnix.cpp
+index 0f03e6c..9b30c40 100644
+--- a/c++/sys/source/OSUnix.cpp
++++ b/c++/sys/source/OSUnix.cpp
+@@ -25,6 +25,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <unistd.h>
++#include <limits.h>
+
+ #include "sys/OSUnix.h"
+ #include "sys/File.h"
diff --git a/testing/nitrocli/APKBUILD b/testing/nitrocli/APKBUILD
index ab073d16fe9..4f162b0c755 100644
--- a/testing/nitrocli/APKBUILD
+++ b/testing/nitrocli/APKBUILD
@@ -2,22 +2,23 @@
# Maintainer:
pkgname=nitrocli
pkgver=0.4.1
-pkgrel=1
+pkgrel=3
pkgdesc="A command line tool for interacting with Nitrokey devices"
url="https://github.com/d-e-s-o/nitrocli"
arch="x86_64 x86 armhf armv7 aarch64 ppc64le" # limited by rust/cargo
license="GPL-3.0-or-later"
depends="gnupg"
checkdepends="python3" # used by the extension tests
-makedepends="cargo hidapi-dev libnitrokey-dev"
+makedepends="cargo hidapi-dev libnitrokey-dev cargo-auditable"
subpackages="$pkgname-doc $pkgname-bash-completion"
source="https://github.com/d-e-s-o/nitrocli/archive/v$pkgver/nitrocli-$pkgver.tar.gz
src-tests-run.rs-use-python3.patch
"
+
build() {
export USE_SYSTEM_LIBNITROKEY=1
- cargo build --release --locked
+ cargo auditable build --release --locked
cargo run --bin=shell-complete bash > nitrocli
}
@@ -26,7 +27,7 @@ check() {
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
+ cargo auditable install --locked --path . --root="$pkgdir/usr"
rm "$pkgdir"/usr/bin/shell-complete
rm "$pkgdir"/usr/.crates*
diff --git a/testing/nix/APKBUILD b/testing/nix/APKBUILD
deleted file mode 100644
index 3c93be58a4a..00000000000
--- a/testing/nix/APKBUILD
+++ /dev/null
@@ -1,99 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=nix
-pkgver=2.3.11
-pkgrel=1
-pkgdesc="The purely functional package manager"
-url="https://nixos.org/nix/"
-arch="x86 x86_64 aarch64" # supported platforms
-license="LGPL-2.1-or-later"
-depends="ca-certificates"
-depends_dev="boost-dev"
-makedepends="
- $depends_dev
- bash
- brotli-dev
- bzip2-dev
- curl-dev
- gc-dev
- openssl-dev
- libseccomp-dev
- libsodium-dev
- sqlite-dev
- xz
- xz-dev
- editline-dev
- "
-pkggroups="nix nixbld"
-install="$pkgname.pre-install"
-subpackages="$pkgname-dev $pkgname-openrc $pkgname-doc"
-source="https://nixos.org/releases/nix/nix-$pkgver/nix-$pkgver.tar.xz
- nix-daemon.initd
- nix-profile.sh
- "
-
-build() {
- # NOTE: /nix/var is recommended by upstream and we need /nix anyway.
- bash ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/nix/var \
- --enable-gc
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- cd "$pkgdir"
-
- # Remove trash.
- rm -R etc/init
- rm -R usr/lib/systemd
- rm etc/profile.d/*
-
- mkdir -p usr/sbin
- rm -f usr/bin/nix-daemon
- ln -s ../bin/nix usr/sbin/nix-daemon
-
- install -m 755 -D "$srcdir"/nix-profile.sh etc/profile.d/nix.sh
- install -m 755 -D "$srcdir"/nix-daemon.initd etc/init.d/nix-daemon
-
- # Setup build users.
- # Note: max-jobs should equal number of created nixbld<n> users.
- install -d -m 0555 etc/nix
- cat > etc/nix/nix.conf <<-EOF
- build-users-group = nixbld
- max-jobs = 4
- EOF
-
- # This is based on https://github.com/NixOS/nix/blob/9617a04/scripts/install-multi-user.sh#L525
- # NOTE: store dir must be /nix/store, otherwise pre-built binaries from
- # the standard Nixpkgs channels would not work.
- install -d -m 1775 -g nixbld \
- nix/store
- install -d -m 0755 \
- nix/var/log/nix/drvs \
- nix/var/nix/db \
- nix/var/nix/gcroots \
- nix/var/nix/manifests \
- nix/var/nix/profiles/default \
- nix/var/nix/temproots \
- nix/var/nix/userpool \
- nix/var/nix/profile/per-user/root
- install -d -m 1777 \
- nix/var/nix/profiles/per-user \
- nix/var/nix/gcroots/per-user
- # Allow only users in the nix group to perform Nix operations.
- install -d -m 0770 -g nix \
- nix/var/nix/daemon-socket
-}
-
-sha512sums="
-298a658e5b808f3d528927ea9f0a12006300277025bbd915bf43d39336d0cb2b7ed044a2c6bb744c4c83c7376bbfdb4eba55f0a941909c35995f4eae9ea6e049 nix-2.3.11.tar.xz
-9e4568db987fbae5097f7bb086e8ad51742c2d229703104fb7e6f240ffb0ca72e57dc305fb238bcee4ec8002d780007af60f241b1f32b6aa413dd579d9c59e75 nix-daemon.initd
-0fb5b9ff2f593dca22251b342494ea0b61380d8f905d85855282d259c112aa2a918d9785aa08f847c693a939ebae9fbefcd4e417ad93283a142e066105cc87b5 nix-profile.sh
-"
diff --git a/testing/nix/nix-daemon.initd b/testing/nix/nix-daemon.initd
deleted file mode 100644
index fe81aa8e2bd..00000000000
--- a/testing/nix/nix-daemon.initd
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/sbin/openrc-run
-
-description="Nix multi-user support daemon"
-
-command="/usr/sbin/nix-daemon"
-command_background="yes"
-pidfile="/run/$RC_SVCNAME.pid"
diff --git a/testing/nix/nix-profile.sh b/testing/nix/nix-profile.sh
deleted file mode 100644
index 527122d3222..00000000000
--- a/testing/nix/nix-profile.sh
+++ /dev/null
@@ -1,84 +0,0 @@
-# Profile for Nix package manager
-# This script is based on https://github.com/NixOS/nix/blob/master/scripts/nix-profile.sh.in.
-
-# Sanity check
-[ "$HOME" ] && [ "$USER" ] || return 0
-
-_nix_setup_user() {
- local nix_profile="$HOME/.nix-profile"
- local nix_defexpr="$HOME/.nix-defexpr"
- local profiles_dir="/nix/var/nix/profiles"
- local user_profile_dir="$profiles_dir/per-user/$USER"
- local user_gcroots_dir="/nix/var/nix/gcroots/per-user/$USER"
-
- mkdir -m 0755 -p "$user_profile_dir"
- [ -O "$user_profile_dir" ] \
- || echo "Nix: WARNING: bad ownership on $user_profile_dir, should be $(id -u)" >&2
-
- [ -w "$HOME" ] || return 0
-
- # Create ~/.nix-profile if needed.
- if ! [ -L "$nix_profile" ]; then
- echo "Nix: creating $nix_profile" >&2
-
- if [ "$USER" = root ]; then
- # Root installs in the system-wide profile by default.
- ln -s "$profiles_dir/default" "$nix_profile" \
- || echo "Nix: WARNING: could not create $nix_profile -> $profiles_dir/default" >&2
- else
- ln -s "$user_profile_dir/profile" "$nix_profile" \
- || echo "Nix: WARNING: could not create $nix_profile -> $user_profile_dir/profile" >&2
- fi
- fi
-
- # Subscribe the user to the unstable Nixpkgs channel by default.
- if ! [ -e "$HOME/.nix-channels" ]; then
- echo 'https://nixos.org/channels/nixpkgs-unstable nixpkgs' > "$HOME/.nix-channels"
- fi
-
- # Create the per-user garbage collector roots directory.
- mkdir -m 0755 -p "$user_gcroots_dir"
- [ -O "$user_gcroots_dir" ] \
- || echo "Nix: WARNING: bad ownership on $user_gcroots_dir, should be $(id -u)" >&2
-
- # Set up a default Nix expression from which to install stuff.
- if [ ! -e "$nix_defexpr" -o -L "$nix_defexpr" ]; then
- rm -f "$nix_defexpr"
- mkdir -p "$nix_defexpr"
-
- if [ "$USER" != root ]; then
- ln -s "$profiles_dir"/per-user/root/channels "$nix_defexpr"/channels_root
- fi
- fi
-
- export NIX_PROFILES="$NIX_PROFILES $nix_profile"
-
- # Append ~/.nix-defexpr/channels/nixpkgs to $NIX_PATH so that <nixpkgs>
- # paths work when the user has fetched the Nixpkgs channel.
- export NIX_PATH="${NIX_PATH:+$NIX_PATH:}nixpkgs=$nix_defexpr/channels/nixpkgs"
-
- # Set up secure multi-user builds; non-root users build through the Nix daemon.
- [ "$USER" = root ] || export NIX_REMOTE='daemon'
-}
-
-
-# Set $NIX_SSL_CERT_FILE so that Nixpkgs applications like curl work.
-export NIX_SSL_CERT_FILE='/etc/ssl/certs/ca-certificates.crt'
-
-# The default profile for all users.
-export NIX_PROFILES='/nix/var/nix/profiles/default'
-
-# Set up environment for users that are allowed to build and install Nix
-# packages: root and members of nix or wheel group.
-if [ "$USER" = root ] || id -nG | grep -Eq '\b(nix|wheel)\b'; then
- _nix_setup_user
-fi
-
-# Set up PATH and MANPATH.
-for _i in $NIX_PROFILES; do
- export PATH="$_i/bin:$PATH"
- [ "$MANPATH" ] && export MANPATH="$_i/share/man:$MANPATH"
-done
-
-unset _i
-unset -f _nix_setup_user
diff --git a/testing/nix/nix.pre-install b/testing/nix/nix.pre-install
deleted file mode 100644
index 04bca100955..00000000000
--- a/testing/nix/nix.pre-install
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-addgroup -S nix 2>/dev/null
-addgroup -S nixbld 2>/dev/null
-for n in $(seq 0 3); do
- adduser -S -D -H -h /var/empty -s /sbin/nologin -G nixbld \
- -g "Nix build user $n" nixbld$n 2>/dev/null
-done
-
-exit 0
diff --git a/testing/nixpacks/APKBUILD b/testing/nixpacks/APKBUILD
new file mode 100644
index 00000000000..8de3a985b13
--- /dev/null
+++ b/testing/nixpacks/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Tomio <mail@tom1o.space>
+# Maintainer: Tomio <mail@tom1o.space>
+pkgname=nixpacks
+pkgver=0.1.7
+pkgrel=1
+pkgdesc="Generate an OCI compliant image based off app source."
+url="https://github.com/railwayapp/nixpacks"
+arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by alpine's integration/bootstrapping (https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/35671#note_243623)
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="https://github.com/railwayapp/nixpacks/archive/v$pkgver/$pkgname-$pkgver.tar.gz"
+
+
+build() {
+ cargo auditable build --release
+}
+
+check() {
+ # Only generate_plan_tests, docker_run_tests needs docker
+ cargo test --test generate_plan_tests
+}
+
+package() {
+ install -D -m755 target/release/nixpacks -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+66f437f3a4e357886a1eba59411d543f585b3204e662afcc2ef5d701d2d221f3ec4de9c7852de712eef2f9c7c8822822d7f6534597d58aab3b99ccf8e64a7c52 nixpacks-0.1.7.tar.gz
+"
diff --git a/testing/nkk/APKBUILD b/testing/nkk/APKBUILD
new file mode 100644
index 00000000000..8c1496af876
--- /dev/null
+++ b/testing/nkk/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=nkk
+pkgver=0_git20221010
+_commit=b3c87f883d6bad7a
+pkgrel=0
+pkgdesc="Simple wayland client library briding the gap from cairo to wayland"
+url="https://code.jessemcclure.org/nkk/"
+arch="all"
+license="MIT"
+depends_dev="
+ cairo-dev
+ libxkbcommon-dev
+ mesa-dev
+ pango-dev
+ wayland-dev
+ "
+makedepends="$depends_dev"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://code.jessemcclure.org/nkk/tarball/$_commit/nkk-$_commit.tar.gz
+ pc-opengl.patch
+ "
+builddir="$srcdir/nkk-$_commit"
+options="!check" # no testsuite provided
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b66a03ef446ed3b005c41db967f71385601a9b9d85b9ecf3567fd5564eb38962f1dbc0356da36750a9076b59aa4aa2abb35220da5d4e6fe0b36e9339fdc87ff2 nkk-b3c87f883d6bad7a.tar.gz
+5088862425121660e3ca3a16af29260b501d266e269f9502ccf176e974da517c8c4081d4113b715491f803012550c7e3664ccd1360a1d1b5c0557382de121499 pc-opengl.patch
+"
diff --git a/testing/nkk/pc-opengl.patch b/testing/nkk/pc-opengl.patch
new file mode 100644
index 00000000000..60f87bc4bff
--- /dev/null
+++ b/testing/nkk/pc-opengl.patch
@@ -0,0 +1,14 @@
+opengl.pc is glvnd
+--
+diff --git a/nkk.pc b/nkk.pc
+index dbe8e64..38837f1 100644
+--- a/nkk.pc
++++ b/nkk.pc
+@@ -5,6 +5,6 @@ includedir=${prefix}/include
+ Name: nkk
+ Description: Wayland client library
+ Version: 0.1
+-Requires: opengl pangocairo wayland-egl
++Requires: egl pangocairo wayland-egl
+ Requires.private: wayland-client xkbcommon
+ Libs: -L${libdir} -lnkk
diff --git a/testing/nlopt/APKBUILD b/testing/nlopt/APKBUILD
new file mode 100644
index 00000000000..0be29fe46b0
--- /dev/null
+++ b/testing/nlopt/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=nlopt
+pkgver=2.7.1
+pkgrel=0
+pkgdesc="library for nonlinear optimization, wrapping many algorithms for global and local, constrained or unconstrained, optimization"
+url="https://github.com/stevengj/nlopt/"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="samurai cmake"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/stevengj/nlopt/archive/refs/tags/v$pkgver.tar.gz"
+
+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="
+e23cb522fc696010574c14b72be85acc0f8ccf0bf208bf2b8789c57d6c5a6e6d419ee10330581518b1c1567018ae909b626ce7761d4fbd5bf112916871e420e2 nlopt-2.7.1.tar.gz
+"
diff --git a/testing/nm-tray/APKBUILD b/testing/nm-tray/APKBUILD
new file mode 100644
index 00000000000..90632a2fc06
--- /dev/null
+++ b/testing/nm-tray/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: cristian_ci <cristian_ci@protonmail.com>
+# Maintainer: cristian_ci <cristian_ci@protonmail.com>
+pkgname=nm-tray
+pkgver=0.5.0
+pkgrel=0
+pkgdesc="Simple NetworkManager front end based on Qt"
+url="https://github.com/palinek/nm-tray"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ cmake
+ networkmanager-qt5-dev
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/palinek/nm-tray/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DNM_TRAY_XDG_AUTOSTART_DIR=/etc/xdg/autostart
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+lang() {
+ install_if="lang $pkgname=$pkgver-r$pkgrel"
+ amove usr/share/$pkgname/*.qm
+}
+
+sha512sums="
+ba118f7fd07a60af5ed6b7b53cf771f339c89f9bef02aeb2f59bfbddd3e896bdc31aa506437e33cb8fe2ef921c595b76527d61cefd202e9e1f5197762b69ab51 nm-tray-0.5.0.tar.gz
+"
diff --git a/testing/nmail/APKBUILD b/testing/nmail/APKBUILD
new file mode 100644
index 00000000000..710e09def4d
--- /dev/null
+++ b/testing/nmail/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=nmail
+pkgver=4.54
+pkgrel=0
+pkgdesc="Terminal-based email client"
+url="https://github.com/d99kris/nmail"
+arch="all"
+license="MIT"
+depends="cyrus-sasl-login"
+makedepends="
+ cmake
+ cyrus-sasl-dev
+ file-dev
+ libetpan-dev
+ linux-headers
+ ncurses-dev
+ openssl-dev
+ samurai
+ sqlite-dev
+ util-linux-dev
+ xapian-core-dev
+ "
+subpackages="$pkgname-doc $pkgname-oauth::noarch"
+source="https://github.com/d99kris/nmail/archive/v$pkgver/nmail-$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DHAS_CUSTOM_LIBETPAN=OFF
+ cmake --build build
+}
+
+check() {
+ ./build/nmail --version
+
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ install -Dvm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
+oauth() {
+ pkgdesc="$pkgdesc (OAuth2 Python helper script)"
+ depends="$pkgname=$pkgver-r$pkgrel py3-requests"
+
+ amove usr/bin/oauth2nmail
+}
+
+sha512sums="
+e8c221bfa4891d1133ad98d273c75b522644c7e21f36d869b33e933205aad959e44012406fffdc028fefef07632c9609bacd56d3486de371b6a04bb69c1d1bc1 nmail-4.54.tar.gz
+"
diff --git a/testing/nmap-parse-output/APKBUILD b/testing/nmap-parse-output/APKBUILD
new file mode 100644
index 00000000000..ad9b2d3b3c9
--- /dev/null
+++ b/testing/nmap-parse-output/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=nmap-parse-output
+pkgver=1.5.1
+pkgrel=0
+pkgdesc="Converts/manipulates/extracts data from a Nmap scan output."
+url="https://github.com/ernw/nmap-parse-output"
+arch="noarch"
+license="BSD-3-Clause"
+depends="bash libxslt"
+subpackages="$pkgname-bash-completion $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ernw/nmap-parse-output/archive/v$pkgver.tar.gz"
+options="!check"
+
+package() {
+ install -Dm 755 -t "$pkgdir/usr/share/$pkgname/" nmap-parse-output
+ install -Dm 644 -t "$pkgdir/usr/share/$pkgname/nmap-parse-output-xslt/" nmap-parse-output-xslt/*
+ install -dm 755 "$pkgdir/usr/bin"
+ ln -sf "/usr/share/$pkgname/$pkgname" "$pkgdir/usr/bin/$pkgname"
+
+ # bash-completion
+ install -Dm 644 _nmap-parse-output "$pkgdir/usr/share/bash-completion/completions/nmap-parse-output"
+
+ # doc
+ install -Dm 644 -t "$pkgdir/usr/share/doc/$pkgname/" README.md
+ install -Dm 644 -t "$pkgdir/usr/share/doc/$pkgname/" demo.gif
+ install -Dm 644 -t "$pkgdir/usr/share/licenses/$pkgname/" LICENSE
+ install -Dm 644 -t "$pkgdir/usr/share/licenses/$pkgname/" ThirdPartyNotices.md
+}
+
+sha512sums="
+460705435905bf08f71c66af107c453ee3090d3f9e9381417e78d13811f22646e76fa311718e88f75083756b4d368431d7c47df0747031d5631fe63fcbf77726 nmap-parse-output-1.5.1.tar.gz
+"
diff --git a/testing/nmon/APKBUILD b/testing/nmon/APKBUILD
index b09005c18bd..e50fe4583f9 100644
--- a/testing/nmon/APKBUILD
+++ b/testing/nmon/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: Mike Crute <mike@crute.us>
-# Maintainer: Mike Crute <mike@crute.us>
+# Maintainer: Mike Crute <mike@crute.us>
pkgname=nmon
-pkgver=16m
+pkgver=16p
pkgrel=0
pkgdesc="Nigel's performance Monitor for Linux"
-url="http://nmon.sourceforge.net/"
+url="https://nmon.sourceforge.net/"
arch="all"
license="BSD-3-Clause"
options="!check" # no upstream tests
@@ -12,7 +12,7 @@ makedepends="ncurses-dev"
source="
glibc.patch
- http://sourceforge.net/projects/nmon/files/lmon$pkgver.c
+ https://sourceforge.net/projects/nmon/files/lmon$pkgver.c
"
prepare() {
@@ -38,5 +38,7 @@ package() {
install -Dm0755 nmon "$pkgdir"/usr/bin/nmon
}
-sha512sums="c6749baeeefbb5fa781badcf0a3b1a77792498663155b70f00ae8da751eb72ac38f1f734fd9e2eb32cb364938e366453f50e29928f247b945b684021fbde9af5 glibc.patch
-391d4703f5d052fd44a3c623155028e28649ea41a88c0fe8df81c7a7dc1f845e044f25e63352c1a7ea607c76c9afb0f82ff2841c8e789d88a9f1cf3c9e035f2e lmon16m.c"
+sha512sums="
+c6749baeeefbb5fa781badcf0a3b1a77792498663155b70f00ae8da751eb72ac38f1f734fd9e2eb32cb364938e366453f50e29928f247b945b684021fbde9af5 glibc.patch
+137a54e49a43f0197dc1edc039bcba7e0a51965c8e49b0034123e1d1d540fb7cec8203bca691dcbe0621b8667a73c572bd9b7b3f7e20948d62d8b9b76124edba lmon16p.c
+"
diff --git a/testing/noblenote/APKBUILD b/testing/noblenote/APKBUILD
index 1ac8c89946d..6484058c3c0 100644
--- a/testing/noblenote/APKBUILD
+++ b/testing/noblenote/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=noblenote
pkgver=1.2.1
-pkgrel=0
+pkgrel=1
pkgdesc="Program to make and manage notes"
url="https://github.com/hakaishi/nobleNote"
arch="all"
diff --git a/testing/node-closurecompiler-externs/APKBUILD b/testing/node-closurecompiler-externs/APKBUILD
deleted file mode 100644
index 45ac412ad5a..00000000000
--- a/testing/node-closurecompiler-externs/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=node-closurecompiler-externs
-_pkgname=node.js-closure-compiler-externs
-_npmname=closurecompiler-externs
-pkgver=1.0.4
-pkgrel=0
-pkgdesc="A collection of node.js externs for use with Closure Compiler"
-url="https://github.com/dcodeIO/node.js-closure-compiler-externs"
-arch="noarch !mips !mips64 !riscv64" # blocked by nodejs
-license="Apache-2.0"
-depends="nodejs"
-source="$pkgname-$pkgver.tar.gz::https://github.com/dcodeIO/$_pkgname/archive/$pkgver.tar.gz
- domain.js-fix-type-annotations.patch"
-builddir="$srcdir/$_pkgname-$pkgver"
-options="!check"
-
-package() {
- local destdir="$pkgdir/usr/lib/node_modules/$_npmname"
-
- mkdir -p "$destdir"
- cp -R "$builddir"/* "$destdir"/
-
- cd "$destdir"
- rm -r tests *.md *.png LICENSE
-}
-
-sha512sums="74965e7519bf618dd0ebf85a8716e1e4156bb6b696598ee405c0da4e9e646a4f84838a1e4b12cf8936b2871010adf363d1611726185b3b273d94c4be1c78c298 node-closurecompiler-externs-1.0.4.tar.gz
-68189a32cef61ebd9dc19ddc6e0e8cf750b6205ee3d82ba17e49f831e9ad813e33c3629ce1aebaf91d644d39378651901c72959f6a4960353288e28573d002d5 domain.js-fix-type-annotations.patch"
diff --git a/testing/node-closurecompiler-externs/domain.js-fix-type-annotations.patch b/testing/node-closurecompiler-externs/domain.js-fix-type-annotations.patch
deleted file mode 100644
index c638747b251..00000000000
--- a/testing/node-closurecompiler-externs/domain.js-fix-type-annotations.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 8a76d75392291c80a6b303133b95a31d98fd2f5c Mon Sep 17 00:00:00 2001
-From: Andrew Keller <andrew@wimpyprogrammer.com>
-Date: Wed, 18 Feb 2015 22:45:15 -0500
-Subject: [PATCH] Fixing type annotations in domain.js
-
-Fixing the syntax of the type annotations for variable number, any type callbacks to avoid warnings from the Closure Compiler.
-
-Upstream-Commit: https://github.com/dcodeIO/node.js-closure-compiler-externs/commit/8a76d75392291c80a6b303133b95a31d98fd2f5c
----
- domain.js | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/domain.js b/domain.js
-index 3349561..6136f91 100644
---- a/domain.js
-+++ b/domain.js
-@@ -64,14 +64,14 @@ domain.Domain.prototype.add = function(emitter) {};
- domain.Domain.prototype.remove = function(emitter) {};
-
- /**
-- * @param {function(...[*])} callback
-- * @return {function(...[*])}
-+ * @param {function(...*)} callback
-+ * @return {function(...*)}
- */
- domain.Domain.prototype.bind = function(callback) {};
-
- /**
-- * @param {function(...[*])} callback
-- * @return {function(...[*])}
-+ * @param {function(...*)} callback
-+ * @return {function(...*)}
- */
- domain.Domain.prototype.intercept = function(callback) {};
-
diff --git a/testing/node-libpg-query/APKBUILD b/testing/node-libpg-query/APKBUILD
index 30421dbb8e3..2f1483f6dea 100644
--- a/testing/node-libpg-query/APKBUILD
+++ b/testing/node-libpg-query/APKBUILD
@@ -2,20 +2,22 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=node-libpg-query
_npmname=libpg-query
-pkgver=13.0.1
+pkgver=13.1.2
# XXX: upstream does not use tags
-_gitrev=56a4f283c91fec69eabe8a3b7b1eca997cde625c
-pkgrel=0
+_gitrev=f34989e21713a66938f559480230359b4a7d3c31
+pkgrel=4
pkgdesc="The real PostgreSQL query parser for Node.js (experimental aport!)"
url="https://github.com/pyramation/libpg-query-node"
-# mips*, riscv64: limited by nodejs
+# riscv64: missing libpg_query
# x86: textrels
-arch="all !mips64 !mips64el !riscv64 !x86"
+# armhf, armv7: blocked by libpg_query
+arch="all !x86 !riscv64 !armhf !armv7"
license="MIT"
-makedepends="libpg_query-dev nodejs-dev python2 yarn"
+makedepends="libpg_query-dev nodejs-dev python3 yarn"
source="https://github.com/pyramation/libpg-query-node/archive/$_gitrev/$pkgname-$_gitrev.tar.gz
gyp.patch
package.patch
+ bump-gyp.patch
"
builddir="$srcdir/$_npmname-node-$_gitrev"
@@ -40,6 +42,9 @@ package() {
--one-top-level="$pkgdir"/usr/lib/node_modules/$_npmname
}
-sha512sums="58db5837de7f9eef1ddeff2cf1ec8ed83ade4f3d9ab260e76164e2fb7e731601524e207f806eb2808b1b4d10e9cc62b952d8062cc21168833d5309eff3efb5f5 node-libpg-query-56a4f283c91fec69eabe8a3b7b1eca997cde625c.tar.gz
+sha512sums="
+54f28409383783877f66a40375a663401c5fd2b8a6a73c059e6d286cb28332c489f1bf7ed67c6aaaab164a9443ad347f6bd7031dc4fdc5eac389c0bf40b16256 node-libpg-query-f34989e21713a66938f559480230359b4a7d3c31.tar.gz
54d3a540fc351a4e8530ad7455b25df666efef564699626da363531caf483785abea1bf1ba7b895c385af852dfffbd032c759d2cd73882bf77b8836aa9c9bbda gyp.patch
-a3e77160ff0b5c9d792fd3ed0e5af5f5582594c621e1925a6914d74786479833279f370db062caf2fe79398714482ef2fa1ae37dac07907020b46424810d3270 package.patch"
+d6656ddc5ee9b0c3365bb4f6f7deb0fea24cadf08450a09e0615a2c7c44f65ce6e2dcbddcf921af92bf9a3608d0134d1b2910b1af9e97b79a62600bab4f11f34 package.patch
+aeff0d4fd3c0f0713607b98d682b1c46ee118586370cbb3f870ca67b90034cb075c2f443e2f21fa107f3c8a02e5ae905d9e836c64dfbde60068c6e249bb2123b bump-gyp.patch
+"
diff --git a/testing/node-libpg-query/bump-gyp.patch b/testing/node-libpg-query/bump-gyp.patch
new file mode 100644
index 00000000000..a09fff81fef
--- /dev/null
+++ b/testing/node-libpg-query/bump-gyp.patch
@@ -0,0 +1,57 @@
+diff --git a/package.json b/package.json
+index 89c42ac..d976ff8 100644
+--- a/package.json
++++ b/package.json
+@@ -32,3 +32,3 @@
+ "node-addon-api": "^1.6.3",
+- "node-gyp": "^8.0.0"
++ "node-gyp": "~8.2.0"
+ },
+diff --git a/yarn.lock b/yarn.lock
+index bf81a2d..9cc9bd7 100644
+--- a/yarn.lock
++++ b/yarn.lock
+@@ -479,2 +479,7 @@ minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3:
+
++minipass@^5.0.0:
++ version "5.0.0"
++ resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d"
++ integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==
++
+ minizlib@^2.0.0, minizlib@^2.1.1:
+@@ -536,6 +541,6 @@ node-addon-api@^1.6.3:
+
+-node-gyp@^8.0.0:
+- version "8.0.0"
+- resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.0.0.tgz#225af2b06b8419ae81f924bf25ae4c167f6378a5"
+- integrity sha512-Jod6NxyWtcwrpAQe0O/aXOpC5QfncotgtG73dg65z6VW/C6g/G4jiajXQUBIJ8pk/VfM6mBYE9BN/HvudTunUQ==
++node-gyp@~8.2.0:
++ version "8.2.0"
++ resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.2.0.tgz#ef509ccdf5cef3b4d93df0690b90aa55ff8c7977"
++ integrity sha512-KG8SdcoAnw2d6augGwl1kOayALUrXW/P2uOAm2J2+nmW/HjZo7y+8TDg7LejxbekOOSv3kzhq+NSUYkIDAX8eA==
+ dependencies:
+@@ -549,3 +554,3 @@ node-gyp@^8.0.0:
+ semver "^7.3.5"
+- tar "^6.1.0"
++ tar "^6.1.2"
+ which "^2.0.2"
+@@ -742,3 +747,3 @@ supports-color@5.4.0:
+
+-tar@^6.0.2, tar@^6.1.0:
++tar@^6.0.2:
+ version "6.1.0"
+@@ -754,2 +759,14 @@ tar@^6.0.2, tar@^6.1.0:
+
++tar@^6.1.2:
++ version "6.2.1"
++ resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a"
++ integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==
++ dependencies:
++ chownr "^2.0.0"
++ fs-minipass "^2.0.0"
++ minipass "^5.0.0"
++ minizlib "^2.1.1"
++ mkdirp "^1.0.3"
++ yallist "^4.0.0"
++
+ type-detect@0.1.1:
diff --git a/testing/node-libpg-query/package.patch b/testing/node-libpg-query/package.patch
index 935d8701a30..b6f3f00bff6 100644
--- a/testing/node-libpg-query/package.patch
+++ b/testing/node-libpg-query/package.patch
@@ -1,10 +1,9 @@
--- a/package.json
+++ b/package.json
-@@ -8,14 +8,16 @@
+@@ -8,13 +8,16 @@
"publishConfig": {
"access": "public"
},
--
+ "files": [
+ "index.js",
+ "index.d.ts",
@@ -21,7 +20,7 @@
},
"author": "Dan Lynch <pyramation@gmail.com> (http://github.com/pyramation)",
"license": "LICENSE IN LICENSE",
-@@ -26,9 +28,7 @@
+@@ -25,9 +28,7 @@
"devDependencies": {
"chai": "^3.5.0",
"lodash": "^4.17.15",
@@ -30,5 +29,5 @@
- "dependencies": {
+ "mocha": "^5.2.0",
"node-addon-api": "^1.6.3",
- "node-gyp": "^3.3.1"
+ "node-gyp": "^8.0.0"
},
diff --git a/testing/nodejs18/APKBUILD b/testing/nodejs18/APKBUILD
new file mode 100644
index 00000000000..821d86af505
--- /dev/null
+++ b/testing/nodejs18/APKBUILD
@@ -0,0 +1,222 @@
+# Contributor: Jose-Luis Rivas <ghostbar@riseup.net>
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Contributor: Dave Esaias <dave@containership.io>
+# Contributor: Tadahisa Kamijo <kamijin@live.jp>
+# Contributor: Eivind Uggedal <eu@eju.no>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+#
+# secfixes:
+# 18.18.2-r0:
+# - CVE-2023-45143
+# - CVE-2023-38552
+# - CVE-2023-39333
+# 18.17.1-r0:
+# - CVE-2023-32002
+# - CVE-2023-32006
+# - CVE-2023-32559
+# 18.14.1-r0:
+# - CVE-2023-23918
+# - CVE-2023-23919
+# - CVE-2023-23920
+# - CVE-2023-23936
+# - CVE-2023-24807
+# 18.12.1-r0:
+# - CVE-2022-3602
+# - CVE-2022-3786
+# - CVE-2022-43548
+# 16.17.1-r0:
+# - CVE-2022-32213
+# - CVE-2022-32214
+# - CVE-2022-32215
+# - CVE-2022-35255
+# - CVE-2022-35256
+# 16.13.2-r0:
+# - CVE-2021-44531
+# - CVE-2021-44532
+# - CVE-2021-44533
+# - CVE-2022-21824
+# 14.18.1-r0:
+# - CVE-2021-22959
+# - CVE-2021-22960
+# 14.17.6-r0:
+# - CVE-2021-37701
+# - CVE-2021-37712
+# - CVE-2021-37713
+# - CVE-2021-39134
+# - CVE-2021-39135
+# 14.17.5-r0:
+# - CVE-2021-3672
+# - CVE-2021-22931
+# - CVE-2021-22939
+# 14.17.4-r0:
+# - CVE-2021-22930
+# 14.16.1-r0:
+# - CVE-2020-7774
+# 14.16.0-r0:
+# - CVE-2021-22883
+# - CVE-2021-22884
+# 14.15.5-r0:
+# - CVE-2021-21148
+# 14.15.4-r0:
+# - CVE-2020-8265
+# - CVE-2020-8287
+# 14.15.1-r0:
+# - CVE-2020-8277
+# 12.18.4-r0:
+# - CVE-2020-8201
+# - CVE-2020-8252
+# 12.18.0-r0:
+# - CVE-2020-8172
+# - CVE-2020-11080
+# - CVE-2020-8174
+# 12.15.0-r0:
+# - CVE-2019-15606
+# - CVE-2019-15605
+# - CVE-2019-15604
+# 10.16.3-r0:
+# - CVE-2019-9511
+# - CVE-2019-9512
+# - CVE-2019-9513
+# - CVE-2019-9514
+# - CVE-2019-9515
+# - CVE-2019-9516
+# - CVE-2019-9517
+# - CVE-2019-9518
+# 10.15.3-r0:
+# - CVE-2019-5737
+# 10.14.0-r0:
+# - CVE-2018-12121
+# - CVE-2018-12122
+# - CVE-2018-12123
+# - CVE-2018-0735
+# - CVE-2018-0734
+# 8.11.4-r0:
+# - CVE-2018-12115
+# 8.11.3-r0:
+# - CVE-2018-7167
+# - CVE-2018-7161
+# - CVE-2018-1000168
+# 8.11.0-r0:
+# - CVE-2018-7158
+# - CVE-2018-7159
+# - CVE-2018-7160
+# 8.9.3-r0:
+# - CVE-2017-15896
+# - CVE-2017-15897
+# 6.11.5-r0:
+# - CVE-2017-14919
+# 6.11.1-r0:
+# - CVE-2017-1000381
+# 0:
+# - CVE-2021-43803
+# - CVE-2022-32212
+
+# temporary package to fix testing/code-oss builds
+pkgname=nodejs18
+# Note: Update only to even-numbered versions (e.g. 6.y.z, 8.y.z)!
+# Odd-numbered versions are supported only for 9 months by upstream.
+pkgver=18.19.1
+pkgrel=0
+pkgdesc="JavaScript runtime built on V8 engine - LTS version (temporary hack)"
+url="https://nodejs.org/"
+arch="aarch64 x86_64"
+license="MIT"
+depends="ca-certificates"
+makedepends="
+ brotli-dev
+ c-ares-dev
+ icu-dev
+ linux-headers
+ nghttp2-dev
+ openssl-dev
+ py3-jinja2
+ python3
+ samurai
+ zlib-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://nodejs.org/dist/v$pkgver/node-v$pkgver.tar.gz
+ disable-running-gyp-on-shared-deps.patch
+ fix-build-with-system-c-ares.patch
+ "
+builddir="$srcdir/node-v$pkgver"
+
+prepare() {
+ default_prepare
+
+ # openssl.cnf is required for build.
+ mv deps/openssl/nodejs-openssl.cnf .
+
+ # Remove bundled dependencies that we're not using.
+ rm -rf deps/brotli \
+ deps/cares \
+ deps/corepack \
+ deps/openssl/* \
+ deps/v8/third_party/jinja2 \
+ deps/zlib \
+ tools/inspector_protocol/jinja2
+
+ mv nodejs-openssl.cnf deps/openssl/
+
+ # the build system tries to import from the riscv folder for some reason
+ # the push_registers_asm.cc has definitions fo 64 bit riscv only
+ cp -r deps/v8/src/heap/base/asm/riscv64 deps/v8/src/heap/base/asm/riscv
+}
+
+build() {
+ # Add defines recommended in libuv readme.
+ local common_flags="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+
+ # Compiling with O2 instead of Os increases binary size by ~10%
+ # (53.1 MiB -> 58.6 MiB), but also increases performance by ~20%
+ # according to v8/web-tooling-benchmark. Node.js is quite huge anyway;
+ # there are better options for size constrained environments.
+ export CFLAGS="${CFLAGS/-Os/-O2} $common_flags"
+ export CXXFLAGS="${CXXFLAGS/-Os/-O2} $common_flags"
+ export CPPFLAGS="${CPPFLAGS/-Os/-O2} $common_flags"
+
+ # NOTE: We use bundled libuv because they don't care much about backward
+ # compatibility and it has happened several times in past that we
+ # couldn't upgrade nodejs package in stable branches to fix CVEs due to
+ # libuv incompatibility.
+ #
+ # NOTE: We don't package the bundled npm - it's a separate project with
+ # its own release cycle and version numbering, so it's better to keep
+ # it in a standalone aport.
+ #
+ # TODO: Fix and enable corepack.
+ python3 configure.py --prefix=/usr \
+ --shared-brotli \
+ --shared-zlib \
+ --shared-openssl \
+ --shared-cares \
+ --shared-nghttp2 \
+ --ninja \
+ --openssl-use-def-ca-store \
+ --with-icu-default-data-dir=$(icu-config --icudatadir) \
+ --with-intl=system-icu \
+ --without-corepack \
+ --without-npm
+
+ make BUILDTYPE=Release
+}
+
+# TODO Run provided test suite.
+check() {
+ cd "$builddir"/out/Release
+
+ ./node -e 'console.log("Hello, world!")'
+ ./node -e "require('assert').equal(process.versions.node, '$pkgver')"
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ mv "$pkgdir"/usr/bin/node "$pkgdir"/usr/bin/node18
+ mv "$pkgdir"/usr/include/node "$pkgdir"/usr/include/node18
+}
+
+sha512sums="
+039359089d0383808ac3929b97995d23bfa02b4cd150492888942fd51d6d7d60df174dbf14d7764dae379d4251ca02b6c1702bce8b79d4f99fff23c7874469f7 node-v18.19.1.tar.gz
+8c264eefc0bfa9dd57656f9f515e940d5c21b8d836dc549031ee559ba909643f4f2495b8b392ee9976c5eed7c3b4a09db876bbe0f7fcd5b2bf63fafca37bffc2 disable-running-gyp-on-shared-deps.patch
+30ca1ce7f9512c943950b8eec98bca99d24c740ebaa14619292fe5ed931dcf603ca90afb1d704ca7f545e421752ba4dde81c0c5bbb5242eb1726739ca627e15f fix-build-with-system-c-ares.patch
+"
diff --git a/testing/nodejs18/disable-running-gyp-on-shared-deps.patch b/testing/nodejs18/disable-running-gyp-on-shared-deps.patch
new file mode 100644
index 00000000000..ce3cbe224c1
--- /dev/null
+++ b/testing/nodejs18/disable-running-gyp-on-shared-deps.patch
@@ -0,0 +1,22 @@
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sat, 26 Nov 2016 01:32:00 +0200
+Subject: Disable running gyp on shared deps
+
+Author: Stephen Gallagher <sgallagh@redhat.com>
+
+Modified 2016-11-26 by Jakub Jirutka <jakub@jirutka.cz> to update for
+Node.js 7.2.0
+
+diff --git a/Makefile b/Makefile
+index 94013466..de3f5e9a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -169,7 +169,7 @@ with-code-cache test-code-cache:
+ $(warning '$@' target is a noop)
+
+ out/Makefile: config.gypi common.gypi node.gyp \
+- deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \
++ deps/uv/uv.gyp deps/llhttp/llhttp.gyp \
+ deps/simdutf/simdutf.gyp deps/ada/ada.gyp \
+ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \
+ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp
diff --git a/testing/nodejs18/fix-build-with-system-c-ares.patch b/testing/nodejs18/fix-build-with-system-c-ares.patch
new file mode 100644
index 00000000000..8121891d048
--- /dev/null
+++ b/testing/nodejs18/fix-build-with-system-c-ares.patch
@@ -0,0 +1,535 @@
+From aff98a5667c22794e2eaf658f6dfbee54cdd4a3b Mon Sep 17 00:00:00 2001
+From: Felix Yan <felixonmars@archlinux.org>
+Date: Thu, 12 Aug 2021 02:44:43 +0800
+Subject: [PATCH 1/2] deps: fix building with system c-ares on Linux
+Patch-Source: https://github.com/nodejs/node/pull/39739
+
+The change in #39724 breaks building with system c-ares
+(`--shared-cares`):
+```
+In file included from ../src/cares_wrap.cc:25:
+../src/cares_wrap.h:25:11: fatal error: ares_nameser.h: No such file or
+directory
+ 25 | # include <ares_nameser.h>
+ | ^~~~~~~~~~~~~~~~
+```
+
+Since `ares_nameser.h` isn't available with a default system c-ares
+installation, let's copy it as our private header here.
+
+Tested to build fine on Arch Linux with shared c-ares.
+---
+ src/ares_nameser.h | 482 +++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 482 insertions(+)
+ create mode 100644 src/ares_nameser.h
+
+diff --git a/src/ares_nameser.h b/src/ares_nameser.h
+new file mode 100644
+index 000000000000..5270e5a3a6a0
+--- /dev/null
++++ b/src/ares_nameser.h
+@@ -0,0 +1,482 @@
++
++#ifndef ARES_NAMESER_H
++#define ARES_NAMESER_H
++
++#ifdef HAVE_ARPA_NAMESER_H
++# include <arpa/nameser.h>
++#endif
++#ifdef HAVE_ARPA_NAMESER_COMPAT_H
++# include <arpa/nameser_compat.h>
++#endif
++
++/* ============================================================================
++ * arpa/nameser.h may or may not provide ALL of the below defines, so check
++ * each one individually and set if not
++ * ============================================================================
++ */
++
++#ifndef NS_PACKETSZ
++# define NS_PACKETSZ 512 /* maximum packet size */
++#endif
++
++#ifndef NS_MAXDNAME
++# define NS_MAXDNAME 256 /* maximum domain name */
++#endif
++
++#ifndef NS_MAXCDNAME
++# define NS_MAXCDNAME 255 /* maximum compressed domain name */
++#endif
++
++#ifndef NS_MAXLABEL
++# define NS_MAXLABEL 63
++#endif
++
++#ifndef NS_HFIXEDSZ
++# define NS_HFIXEDSZ 12 /* #/bytes of fixed data in header */
++#endif
++
++#ifndef NS_QFIXEDSZ
++# define NS_QFIXEDSZ 4 /* #/bytes of fixed data in query */
++#endif
++
++#ifndef NS_RRFIXEDSZ
++# define NS_RRFIXEDSZ 10 /* #/bytes of fixed data in r record */
++#endif
++
++#ifndef NS_INT16SZ
++# define NS_INT16SZ 2
++#endif
++
++#ifndef NS_INADDRSZ
++# define NS_INADDRSZ 4
++#endif
++
++#ifndef NS_IN6ADDRSZ
++# define NS_IN6ADDRSZ 16
++#endif
++
++#ifndef NS_CMPRSFLGS
++# define NS_CMPRSFLGS 0xc0 /* Flag bits indicating name compression. */
++#endif
++
++#ifndef NS_DEFAULTPORT
++# define NS_DEFAULTPORT 53 /* For both TCP and UDP. */
++#endif
++
++/* ============================================================================
++ * arpa/nameser.h should provide these enumerations always, so if not found,
++ * provide them
++ * ============================================================================
++ */
++#ifndef HAVE_ARPA_NAMESER_H
++
++typedef enum __ns_class {
++ ns_c_invalid = 0, /* Cookie. */
++ ns_c_in = 1, /* Internet. */
++ ns_c_2 = 2, /* unallocated/unsupported. */
++ ns_c_chaos = 3, /* MIT Chaos-net. */
++ ns_c_hs = 4, /* MIT Hesiod. */
++ /* Query class values which do not appear in resource records */
++ ns_c_none = 254, /* for prereq. sections in update requests */
++ ns_c_any = 255, /* Wildcard match. */
++ ns_c_max = 65536
++} ns_class;
++
++typedef enum __ns_type {
++ ns_t_invalid = 0, /* Cookie. */
++ ns_t_a = 1, /* Host address. */
++ ns_t_ns = 2, /* Authoritative server. */
++ ns_t_md = 3, /* Mail destination. */
++ ns_t_mf = 4, /* Mail forwarder. */
++ ns_t_cname = 5, /* Canonical name. */
++ ns_t_soa = 6, /* Start of authority zone. */
++ ns_t_mb = 7, /* Mailbox domain name. */
++ ns_t_mg = 8, /* Mail group member. */
++ ns_t_mr = 9, /* Mail rename name. */
++ ns_t_null = 10, /* Null resource record. */
++ ns_t_wks = 11, /* Well known service. */
++ ns_t_ptr = 12, /* Domain name pointer. */
++ ns_t_hinfo = 13, /* Host information. */
++ ns_t_minfo = 14, /* Mailbox information. */
++ ns_t_mx = 15, /* Mail routing information. */
++ ns_t_txt = 16, /* Text strings. */
++ ns_t_rp = 17, /* Responsible person. */
++ ns_t_afsdb = 18, /* AFS cell database. */
++ ns_t_x25 = 19, /* X_25 calling address. */
++ ns_t_isdn = 20, /* ISDN calling address. */
++ ns_t_rt = 21, /* Router. */
++ ns_t_nsap = 22, /* NSAP address. */
++ ns_t_nsap_ptr = 23, /* Reverse NSAP lookup (deprecated). */
++ ns_t_sig = 24, /* Security signature. */
++ ns_t_key = 25, /* Security key. */
++ ns_t_px = 26, /* X.400 mail mapping. */
++ ns_t_gpos = 27, /* Geographical position (withdrawn). */
++ ns_t_aaaa = 28, /* Ip6 Address. */
++ ns_t_loc = 29, /* Location Information. */
++ ns_t_nxt = 30, /* Next domain (security). */
++ ns_t_eid = 31, /* Endpoint identifier. */
++ ns_t_nimloc = 32, /* Nimrod Locator. */
++ ns_t_srv = 33, /* Server Selection. */
++ ns_t_atma = 34, /* ATM Address */
++ ns_t_naptr = 35, /* Naming Authority PoinTeR */
++ ns_t_kx = 36, /* Key Exchange */
++ ns_t_cert = 37, /* Certification record */
++ ns_t_a6 = 38, /* IPv6 address (deprecates AAAA) */
++ ns_t_dname = 39, /* Non-terminal DNAME (for IPv6) */
++ ns_t_sink = 40, /* Kitchen sink (experimentatl) */
++ ns_t_opt = 41, /* EDNS0 option (meta-RR) */
++ ns_t_apl = 42, /* Address prefix list (RFC3123) */
++ ns_t_ds = 43, /* Delegation Signer (RFC4034) */
++ ns_t_sshfp = 44, /* SSH Key Fingerprint (RFC4255) */
++ ns_t_rrsig = 46, /* Resource Record Signature (RFC4034) */
++ ns_t_nsec = 47, /* Next Secure (RFC4034) */
++ ns_t_dnskey = 48, /* DNS Public Key (RFC4034) */
++ ns_t_tkey = 249, /* Transaction key */
++ ns_t_tsig = 250, /* Transaction signature. */
++ ns_t_ixfr = 251, /* Incremental zone transfer. */
++ ns_t_axfr = 252, /* Transfer zone of authority. */
++ ns_t_mailb = 253, /* Transfer mailbox records. */
++ ns_t_maila = 254, /* Transfer mail agent records. */
++ ns_t_any = 255, /* Wildcard match. */
++ ns_t_zxfr = 256, /* BIND-specific, nonstandard. */
++ ns_t_caa = 257, /* Certification Authority Authorization. */
++ ns_t_max = 65536
++} ns_type;
++
++typedef enum __ns_opcode {
++ ns_o_query = 0, /* Standard query. */
++ ns_o_iquery = 1, /* Inverse query (deprecated/unsupported). */
++ ns_o_status = 2, /* Name server status query (unsupported). */
++ /* Opcode 3 is undefined/reserved. */
++ ns_o_notify = 4, /* Zone change notification. */
++ ns_o_update = 5, /* Zone update message. */
++ ns_o_max = 6
++} ns_opcode;
++
++typedef enum __ns_rcode {
++ ns_r_noerror = 0, /* No error occurred. */
++ ns_r_formerr = 1, /* Format error. */
++ ns_r_servfail = 2, /* Server failure. */
++ ns_r_nxdomain = 3, /* Name error. */
++ ns_r_notimpl = 4, /* Unimplemented. */
++ ns_r_refused = 5, /* Operation refused. */
++ /* these are for BIND_UPDATE */
++ ns_r_yxdomain = 6, /* Name exists */
++ ns_r_yxrrset = 7, /* RRset exists */
++ ns_r_nxrrset = 8, /* RRset does not exist */
++ ns_r_notauth = 9, /* Not authoritative for zone */
++ ns_r_notzone = 10, /* Zone of record different from zone section */
++ ns_r_max = 11,
++ /* The following are TSIG extended errors */
++ ns_r_badsig = 16,
++ ns_r_badkey = 17,
++ ns_r_badtime = 18
++} ns_rcode;
++
++#endif /* HAVE_ARPA_NAMESER_H */
++
++
++/* ============================================================================
++ * arpa/nameser_compat.h typically sets these. However on some systems
++ * arpa/nameser.h does, but may not set all of them. Lets conditionally
++ * define each
++ * ============================================================================
++ */
++
++#ifndef PACKETSZ
++# define PACKETSZ NS_PACKETSZ
++#endif
++
++#ifndef MAXDNAME
++# define MAXDNAME NS_MAXDNAME
++#endif
++
++#ifndef MAXCDNAME
++# define MAXCDNAME NS_MAXCDNAME
++#endif
++
++#ifndef MAXLABEL
++# define MAXLABEL NS_MAXLABEL
++#endif
++
++#ifndef HFIXEDSZ
++# define HFIXEDSZ NS_HFIXEDSZ
++#endif
++
++#ifndef QFIXEDSZ
++# define QFIXEDSZ NS_QFIXEDSZ
++#endif
++
++#ifndef RRFIXEDSZ
++# define RRFIXEDSZ NS_RRFIXEDSZ
++#endif
++
++#ifndef INDIR_MASK
++# define INDIR_MASK NS_CMPRSFLGS
++#endif
++
++#ifndef NAMESERVER_PORT
++# define NAMESERVER_PORT NS_DEFAULTPORT
++#endif
++
++
++/* opcodes */
++#ifndef O_QUERY
++# define O_QUERY 0 /* ns_o_query */
++#endif
++#ifndef O_IQUERY
++# define O_IQUERY 1 /* ns_o_iquery */
++#endif
++#ifndef O_STATUS
++# define O_STATUS 2 /* ns_o_status */
++#endif
++#ifndef O_NOTIFY
++# define O_NOTIFY 4 /* ns_o_notify */
++#endif
++#ifndef O_UPDATE
++# define O_UPDATE 5 /* ns_o_update */
++#endif
++
++
++/* response codes */
++#ifndef SERVFAIL
++# define SERVFAIL ns_r_servfail
++#endif
++#ifndef NOTIMP
++# define NOTIMP ns_r_notimpl
++#endif
++#ifndef REFUSED
++# define REFUSED ns_r_refused
++#endif
++#if defined(_WIN32) && !defined(HAVE_ARPA_NAMESER_COMPAT_H) && defined(NOERROR)
++# undef NOERROR /* it seems this is already defined in winerror.h */
++#endif
++#ifndef NOERROR
++# define NOERROR ns_r_noerror
++#endif
++#ifndef FORMERR
++# define FORMERR ns_r_formerr
++#endif
++#ifndef NXDOMAIN
++# define NXDOMAIN ns_r_nxdomain
++#endif
++/* Non-standard response codes, use numeric values */
++#ifndef YXDOMAIN
++# define YXDOMAIN 6 /* ns_r_yxdomain */
++#endif
++#ifndef YXRRSET
++# define YXRRSET 7 /* ns_r_yxrrset */
++#endif
++#ifndef NXRRSET
++# define NXRRSET 8 /* ns_r_nxrrset */
++#endif
++#ifndef NOTAUTH
++# define NOTAUTH 9 /* ns_r_notauth */
++#endif
++#ifndef NOTZONE
++# define NOTZONE 10 /* ns_r_notzone */
++#endif
++#ifndef TSIG_BADSIG
++# define TSIG_BADSIG 16 /* ns_r_badsig */
++#endif
++#ifndef TSIG_BADKEY
++# define TSIG_BADKEY 17 /* ns_r_badkey */
++#endif
++#ifndef TSIG_BADTIME
++# define TSIG_BADTIME 18 /* ns_r_badtime */
++#endif
++
++
++/* classes */
++#ifndef C_IN
++# define C_IN 1 /* ns_c_in */
++#endif
++#ifndef C_CHAOS
++# define C_CHAOS 3 /* ns_c_chaos */
++#endif
++#ifndef C_HS
++# define C_HS 4 /* ns_c_hs */
++#endif
++#ifndef C_NONE
++# define C_NONE 254 /* ns_c_none */
++#endif
++#ifndef C_ANY
++# define C_ANY 255 /* ns_c_any */
++#endif
++
++
++/* types */
++#ifndef T_A
++# define T_A 1 /* ns_t_a */
++#endif
++#ifndef T_NS
++# define T_NS 2 /* ns_t_ns */
++#endif
++#ifndef T_MD
++# define T_MD 3 /* ns_t_md */
++#endif
++#ifndef T_MF
++# define T_MF 4 /* ns_t_mf */
++#endif
++#ifndef T_CNAME
++# define T_CNAME 5 /* ns_t_cname */
++#endif
++#ifndef T_SOA
++# define T_SOA 6 /* ns_t_soa */
++#endif
++#ifndef T_MB
++# define T_MB 7 /* ns_t_mb */
++#endif
++#ifndef T_MG
++# define T_MG 8 /* ns_t_mg */
++#endif
++#ifndef T_MR
++# define T_MR 9 /* ns_t_mr */
++#endif
++#ifndef T_NULL
++# define T_NULL 10 /* ns_t_null */
++#endif
++#ifndef T_WKS
++# define T_WKS 11 /* ns_t_wks */
++#endif
++#ifndef T_PTR
++# define T_PTR 12 /* ns_t_ptr */
++#endif
++#ifndef T_HINFO
++# define T_HINFO 13 /* ns_t_hinfo */
++#endif
++#ifndef T_MINFO
++# define T_MINFO 14 /* ns_t_minfo */
++#endif
++#ifndef T_MX
++# define T_MX 15 /* ns_t_mx */
++#endif
++#ifndef T_TXT
++# define T_TXT 16 /* ns_t_txt */
++#endif
++#ifndef T_RP
++# define T_RP 17 /* ns_t_rp */
++#endif
++#ifndef T_AFSDB
++# define T_AFSDB 18 /* ns_t_afsdb */
++#endif
++#ifndef T_X25
++# define T_X25 19 /* ns_t_x25 */
++#endif
++#ifndef T_ISDN
++# define T_ISDN 20 /* ns_t_isdn */
++#endif
++#ifndef T_RT
++# define T_RT 21 /* ns_t_rt */
++#endif
++#ifndef T_NSAP
++# define T_NSAP 22 /* ns_t_nsap */
++#endif
++#ifndef T_NSAP_PTR
++# define T_NSAP_PTR 23 /* ns_t_nsap_ptr */
++#endif
++#ifndef T_SIG
++# define T_SIG 24 /* ns_t_sig */
++#endif
++#ifndef T_KEY
++# define T_KEY 25 /* ns_t_key */
++#endif
++#ifndef T_PX
++# define T_PX 26 /* ns_t_px */
++#endif
++#ifndef T_GPOS
++# define T_GPOS 27 /* ns_t_gpos */
++#endif
++#ifndef T_AAAA
++# define T_AAAA 28 /* ns_t_aaaa */
++#endif
++#ifndef T_LOC
++# define T_LOC 29 /* ns_t_loc */
++#endif
++#ifndef T_NXT
++# define T_NXT 30 /* ns_t_nxt */
++#endif
++#ifndef T_EID
++# define T_EID 31 /* ns_t_eid */
++#endif
++#ifndef T_NIMLOC
++# define T_NIMLOC 32 /* ns_t_nimloc */
++#endif
++#ifndef T_SRV
++# define T_SRV 33 /* ns_t_srv */
++#endif
++#ifndef T_ATMA
++# define T_ATMA 34 /* ns_t_atma */
++#endif
++#ifndef T_NAPTR
++# define T_NAPTR 35 /* ns_t_naptr */
++#endif
++#ifndef T_KX
++# define T_KX 36 /* ns_t_kx */
++#endif
++#ifndef T_CERT
++# define T_CERT 37 /* ns_t_cert */
++#endif
++#ifndef T_A6
++# define T_A6 38 /* ns_t_a6 */
++#endif
++#ifndef T_DNAME
++# define T_DNAME 39 /* ns_t_dname */
++#endif
++#ifndef T_SINK
++# define T_SINK 40 /* ns_t_sink */
++#endif
++#ifndef T_OPT
++# define T_OPT 41 /* ns_t_opt */
++#endif
++#ifndef T_APL
++# define T_APL 42 /* ns_t_apl */
++#endif
++#ifndef T_DS
++# define T_DS 43 /* ns_t_ds */
++#endif
++#ifndef T_SSHFP
++# define T_SSHFP 44 /* ns_t_sshfp */
++#endif
++#ifndef T_RRSIG
++# define T_RRSIG 46 /* ns_t_rrsig */
++#endif
++#ifndef T_NSEC
++# define T_NSEC 47 /* ns_t_nsec */
++#endif
++#ifndef T_DNSKEY
++# define T_DNSKEY 48 /* ns_t_dnskey */
++#endif
++#ifndef T_TKEY
++# define T_TKEY 249 /* ns_t_tkey */
++#endif
++#ifndef T_TSIG
++# define T_TSIG 250 /* ns_t_tsig */
++#endif
++#ifndef T_IXFR
++# define T_IXFR 251 /* ns_t_ixfr */
++#endif
++#ifndef T_AXFR
++# define T_AXFR 252 /* ns_t_axfr */
++#endif
++#ifndef T_MAILB
++# define T_MAILB 253 /* ns_t_mailb */
++#endif
++#ifndef T_MAILA
++# define T_MAILA 254 /* ns_t_maila */
++#endif
++#ifndef T_ANY
++# define T_ANY 255 /* ns_t_any */
++#endif
++#ifndef T_ZXFR
++# define T_ZXFR 256 /* ns_t_zxfr */
++#endif
++#ifndef T_CAA
++# define T_CAA 257 /* ns_t_caa */
++#endif
++#ifndef T_MAX
++# define T_MAX 65536 /* ns_t_max */
++#endif
++
++
++#endif /* ARES_NAMESER_H */
+
+From db4643979ee676b3a3d6cdf2fb597d399cf8013f Mon Sep 17 00:00:00 2001
+From: Felix Yan <felixonmars@archlinux.org>
+Date: Fri, 13 Aug 2021 00:01:59 +0800
+Subject: [PATCH 2/2] build: ignore cpplint for third-party ares_nameser.h
+
+---
+ Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Makefile b/Makefile
+index ec4c774748cd..c418995c53c1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1289,6 +1289,7 @@ jslint-ci: lint-js-ci
+ LINT_CPP_ADDON_DOC_FILES_GLOB = test/addons/??_*/*.cc test/addons/??_*/*.h
+ LINT_CPP_ADDON_DOC_FILES = $(wildcard $(LINT_CPP_ADDON_DOC_FILES_GLOB))
+ LINT_CPP_EXCLUDE ?=
++LINT_CPP_EXCLUDE += src/ares_nameser.h
+ LINT_CPP_EXCLUDE += src/node_root_certs.h
+ LINT_CPP_EXCLUDE += $(LINT_CPP_ADDON_DOC_FILES)
+ LINT_CPP_EXCLUDE += $(wildcard test/js-native-api/??_*/*.cc test/js-native-api/??_*/*.h test/node-api/??_*/*.cc test/node-api/??_*/*.h)
diff --git a/testing/noggin-model/APKBUILD b/testing/noggin-model/APKBUILD
new file mode 100644
index 00000000000..f8b3a9dd2aa
--- /dev/null
+++ b/testing/noggin-model/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: John Gebbie <me@johngebbie.com>
+# Maintainer: John Gebbie <me@johngebbie.com>
+pkgname=noggin-model
+pkgver=0.1
+pkgrel=0
+pkgdesc="Face landmark tracking model"
+url="https://sr.ht/~geb/noggin"
+arch="noarch"
+license="BSD-2-Clause"
+subpackages="$pkgname-lightweight"
+source="noggin-$pkgver.tar.gz::https://git.sr.ht/~geb/noggin/archive/$pkgver.tar.gz"
+builddir="$srcdir/noggin-$pkgver"
+options="!check" # just data
+
+package() {
+ install -Dm644 models/lm_model3_opt.onnx -t "$pkgdir"/usr/share/noggin-models
+ install -Dm644 models/lm_model0_opt.onnx -t "$pkgdir"/usr/share/noggin-models
+}
+
+lightweight() {
+ amove usr/share/noggin-models/lm_model0_opt.onnx
+}
+
+sha512sums="
+5da081eb8cb51ac3460d7e4c427a844ca95f50f768a9ada9e5fde2644b1cc51ae9f2745eccf88ecf0f49a6fd5c1fcc36d827ee1f32d1c4550fe65547f9baaf09 noggin-0.1.tar.gz
+"
diff --git a/testing/noggin/APKBUILD b/testing/noggin/APKBUILD
new file mode 100644
index 00000000000..c62c1fbb63f
--- /dev/null
+++ b/testing/noggin/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: John Gebbie <me@johngebbie.com>
+# Maintainer: John Gebbie <me@johngebbie.com>
+pkgname=noggin
+pkgver=0.1
+pkgrel=7
+pkgdesc="Face tracking utility, often for playing games"
+url="https://sr.ht/~geb/noggin"
+# limited by onnxruntime and opencv
+arch="all !x86 !s390x !riscv64 !ppc64le"
+license="GPL-3.0-only"
+depends="onnxruntime"
+makedepends="go scdoc opencv-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~geb/noggin/archive/$pkgver.tar.gz"
+options="!check" # no test suite
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+export NOGGIN_VERSION="$pkgver"
+export NOGGIN_MODEL_PACKAGE=noggin-model
+export NOGGIN_SKIP_CHECKS=yes
+export NOGGIN_SKIP_EXAMPLES=yes
+
+build() {
+ NOGGIN_SKIP_INSTALL=yes ./install.sh "$pkgdir" /usr/bin
+}
+
+package() {
+ install -Dm755 noggin -t "$pkgdir/usr/bin"
+ NOGGIN_SKIP_BINARY=yes NOGGIN_SKIP_MODELS=yes ./install.sh "$pkgdir" /usr/bin
+}
+
+sha512sums="
+5da081eb8cb51ac3460d7e4c427a844ca95f50f768a9ada9e5fde2644b1cc51ae9f2745eccf88ecf0f49a6fd5c1fcc36d827ee1f32d1c4550fe65547f9baaf09 noggin-0.1.tar.gz
+"
diff --git a/testing/noice/APKBUILD b/testing/noice/APKBUILD
index 9eea829fddf..bf6586cbafa 100644
--- a/testing/noice/APKBUILD
+++ b/testing/noice/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: sin <sin@2f30.org>
pkgname=noice
pkgver=0.8
-pkgrel=0
+pkgrel=1
pkgdesc="A simple file browser"
url="https://git.2f30.org/noice"
arch="all"
diff --git a/testing/nom/APKBUILD b/testing/nom/APKBUILD
new file mode 100644
index 00000000000..ec2fc1b2bde
--- /dev/null
+++ b/testing/nom/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Tuan Anh Tran <me@tuananh.org>
+# Maintainer: Tuan Anh Tran <me@tuananh.org>
+pkgname=nom
+pkgver=2.1.4
+pkgrel=0
+pkgdesc="RSS reader for the terminal"
+url="https://github.com/guyfedwards/nom"
+arch="all"
+depends="glow"
+license="GPL-3.0-or-later"
+makedepends="go"
+# bumping go-sqlite in go.{mod,sum} to solve issue with musl. ref: https://github.com/mattn/go-sqlite3/issues/1164
+source="$pkgname-$pkgver.tar.gz::https://github.com/guyfedwards/nom/archive/refs/tags/v$pkgver.tar.gz
+ update-go-sqlite3.patch
+ "
+builddir="$srcdir/nom-$pkgver/"
+
+export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ msg "Building nom"
+ go build -o nom cmd/nom/main.go
+}
+
+check() {
+ go test -v ./internal/...
+}
+
+package() {
+ install -Dm0755 nom -t "$pkgdir"/usr/bin/
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+ install -Dm644 -t "$pkgdir"/usr/share/doc/"$pkgname" README.md
+}
+
+sha512sums="
+3dde1e13cac6e7d5731c85c40e5ed992a5fbe1705f1910e2cfc0f396d90382f272a4359d30a97e2d92e1efcd4ea0361226ca25698a03df3095fa6b432f62e1ef nom-2.1.4.tar.gz
+422329cfba5655f62061bbff64a8227d891b0fa6d3a49a9d307bbe033b47889a871a97cea2c45ca069869a3604f073f72734337a9d583d7ece9d01e9b6585216 update-go-sqlite3.patch
+"
diff --git a/testing/nom/update-go-sqlite3.patch b/testing/nom/update-go-sqlite3.patch
new file mode 100644
index 00000000000..8e574d2c537
--- /dev/null
+++ b/testing/nom/update-go-sqlite3.patch
@@ -0,0 +1,28 @@
+diff --git a/go.mod b/go.mod
+index 554391e..ab4e276 100644
+--- a/go.mod
++++ b/go.mod
+@@ -9,7 +9,7 @@ require (
+ github.com/charmbracelet/glamour v0.5.0
+ github.com/charmbracelet/lipgloss v0.6.0
+ github.com/jessevdk/go-flags v1.4.0
+- github.com/mattn/go-sqlite3 v1.14.16
++ github.com/mattn/go-sqlite3 v1.14.22
+ github.com/mmcdole/gofeed v1.1.3
+ golang.org/x/term v0.4.0
+ gopkg.in/yaml.v3 v3.0.1
+diff --git a/go.sum b/go.sum
+index 3c096c9..c586418 100644
+--- a/go.sum
++++ b/go.sum
+@@ -62,8 +62,8 @@ github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRC
+ github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+ github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
+ github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+-github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
+-github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
++github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
++github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
+ github.com/microcosm-cc/bluemonday v1.0.17 h1:Z1a//hgsQ4yjC+8zEkV8IWySkXnsxmdSY642CTFQb5Y=
+ github.com/microcosm-cc/bluemonday v1.0.17/go.mod h1:Z0r70sCuXHig8YpBzCc5eGHAap2K7e/u082ZUpDRRqM=
+ github.com/mmcdole/gofeed v1.1.3 h1:pdrvMb18jMSLidGp8j0pLvc9IGziX4vbmvVqmLH6z8o=
diff --git a/testing/normaliz/APKBUILD b/testing/normaliz/APKBUILD
new file mode 100644
index 00000000000..1f93b257b19
--- /dev/null
+++ b/testing/normaliz/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=normaliz
+pkgver=3.10.2
+pkgrel=0
+pkgdesc="Normaliz is an open source tool for computations."
+url="https://www.normaliz.uni-osnabrueck.de/"
+# s390x: flint, libarb, libantic
+arch="all !s390x"
+license="GPL-3.0"
+makedepends="
+ boost-dev
+ diffutils
+ flint-dev
+ gmp-dev
+ libantic-dev
+ libarb-dev
+ "
+subpackages="$pkgname-dev $pkgname-libs"
+source="
+ normaliz-$pkgver.tar.gz::https://github.com/Normaliz/Normaliz/releases/download/v$pkgver/normaliz-$pkgver.tar.gz
+ "
+
+build() {
+ # math
+ export CFLAGS="$CFLAGS -O3 -flto=auto"
+ export CXXFLAGS="$CXXFLAGS -O3 -flto=auto"
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-static
+
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+e9b6fdc699376e7d4245d100d600b5931fbf4ea0d8086144fe148a4f17210324d1f0cbaa2a4ed9e10fc1977302f083442ad27e94a4dfd8ec9015f22f696d7685 normaliz-3.10.2.tar.gz
+"
diff --git a/testing/noson-app/APKBUILD b/testing/noson-app/APKBUILD
index a22e105ad31..c56108e92be 100644
--- a/testing/noson-app/APKBUILD
+++ b/testing/noson-app/APKBUILD
@@ -1,12 +1,16 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=noson-app
-pkgver=4.4.9
-pkgrel=0
+pkgver=5.4.1
+pkgrel=1
pkgdesc="The essential to control music from your SONOS devices on Linux platforms"
url="https://janbar.github.io/noson-app/"
-arch="all !armhf" # Missing Qt stuff
+# armhf: Missing Qt stuff
+# riscv64: truncated relocation
+arch="all !armhf !riscv64"
license="GPL-3.0-only"
+subpackages="$pkgname-dbg"
+depends="qt5-qtsvg"
makedepends="
cmake
flac-dev
@@ -16,6 +20,7 @@ makedepends="
qt5-qtdeclarative-dev
qt5-qtquickcontrols2-dev
qt5-qtsvg-dev
+ samurai
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/janbar/noson-app/archive/$pkgver.tar.gz
@@ -23,20 +28,20 @@ source="
options="!check" # No unit tests
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=1 \
-DBUILD_DEPENDENCIES=0 \
-DBUILD_LIBNOSON=0
- make -C build
+ cmake --build build
}
package() {
- make DESTDIR="$pkgdir" install -C build
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-9da9dd49f5fcdc53ef696ae662e8cc4960cd05bf0d5fb57d2d82585506d1d5b1a8996d832cdd7adadb37847212ab4b2a9ac5476ec2dd158e9c8ef13e243adaa0 noson-app-4.4.9.tar.gz
+dbddb96f3e0720c3d9306d34466575d64be622250345ff0d45589abbdfc6f4a777a3fe1314c023ac5240b208f865dd7886c8ef206bb81b85262e5172a72f9441 noson-app-5.4.1.tar.gz
"
diff --git a/testing/noson/APKBUILD b/testing/noson/APKBUILD
index ced89fbb259..704ae5d8856 100644
--- a/testing/noson/APKBUILD
+++ b/testing/noson/APKBUILD
@@ -1,38 +1,40 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=noson
-pkgver=2.4.1
+pkgver=2.10.3
pkgrel=0
pkgdesc="An easy client interface to drive SONOS player"
url="https://github.com/janbar/noson"
arch="all"
license="GPL-3.0-only"
-subpackages="$pkgname-dev"
+subpackages="$pkgname-dev $pkgname-dbg"
makedepends="
cmake
flac-dev
- openssl-dev
+ openssl-dev>3
pulseaudio-dev
+ samurai
zlib-dev
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/janbar/noson/archive/$pkgver.tar.gz
+ gcc12.patch
"
options="!check" # No unit tests
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=1
- make -C build
+ cmake --build build
}
package() {
- make DESTDIR="$pkgdir" install -C build
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-3758c6f9f16b6b899a281d83fa7f3550c88a30187e1a8847a1e19301b0920378f37c3c0b64170ed736e0dfc859fa62aeb63e44d8e994f6547b7aa7aebc4d4e4e noson-2.4.1.tar.gz
+5cfd459b317ad5320311fa25377b1daabc3744fe7a6b78a29d7e9e28f9bb6c2d248b97093f775818e4b9868a30a5b3952210d28d3870fb283d4b7a18111f1b01 noson-2.10.3.tar.gz
+18dc5e56f4a08be910cdae6ee6edf0c10c5864ba8712e4d21d357ea2e14bc9f23124b9699c9bf760972855fc1a28f64c071ac5a00b61d22da1bcd442cfe9eaec gcc12.patch
"
diff --git a/testing/noson/gcc12.patch b/testing/noson/gcc12.patch
new file mode 100644
index 00000000000..edaac4dc711
--- /dev/null
+++ b/testing/noson/gcc12.patch
@@ -0,0 +1,13 @@
+diff --git a/noson/src/private/os/threads/timeout.h b/noson/src/private/os/threads/timeout.h
+index f0c3453..d65fcd7 100644
+--- a/noson/src/private/os/threads/timeout.h
++++ b/noson/src/private/os/threads/timeout.h
+@@ -26,6 +26,8 @@
+ #include <mach/mach_time.h>
+ #endif
+
++#include <time.h>
++
+ #ifdef NSROOT
+ namespace NSROOT {
+ #endif
diff --git a/testing/novnc/APKBUILD b/testing/novnc/APKBUILD
deleted file mode 100644
index a45a3c5c03a..00000000000
--- a/testing/novnc/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Andre Bierwolf <a.b.bierwolf@gmail.com>
-# Maintainer: Andre Bierwolf <a.b.bierwolf@gmail.com>
-pkgname=novnc
-_pkgname=noVNC
-pkgver=1.2.0
-pkgrel=0
-pkgdesc="VNC client using HTML5 (WebSockets, Canvas) with encryption (wss://) support"
-url="https://kanaka.github.io/noVNC/"
-arch="noarch !mips !mips64" # blocking on websockify
-license="MPL-2.0"
-depends="websockify>=0.8.0-r2 net-tools"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/$pkgname/$_pkgname/archive/v$pkgver.tar.gz
- alpine-specific-launch.js.patch"
-builddir="$srcdir/$_pkgname-$pkgver"
-options="!check"
-
-package() {
- mkdir -p "$pkgdir"/usr/share/$pkgname
- cd "$pkgdir"/usr/share/$pkgname
-
- cp -r "$builddir"/* .
-
- # Clean up package.
- rm utils/README.md
-
- # Move license files.
- mkdir -p "$pkgdir"/usr/share/licenses/$pkgname
- mv LICENSE.txt docs/LICENSE.* "$pkgdir"/usr/share/licenses/novnc/
-
- # Move documentation.
- mkdir -p "$pkgdir"/usr/share/doc
- mv docs "$pkgdir"/usr/share/doc/$pkgname
- mv README.md "$pkgdir"/usr/share/doc/$pkgname/
-
- # Install launch.sh to /usr/bin.
- install -D -m 755 utils/launch.sh "$pkgdir"/usr/bin/novnc_server
-
- # Remove irrelevant utils.
- rm -r utils
-}
-
-sha512sums="461490da7bb983e9c94b8ce39f8455ee6609b5a9df8d88254bcc37ebaa5153f5ee9db6afbd88b51762d6d55661bc5cde6fbe70616597583bfce1203e337adf75 novnc-1.2.0.tar.gz
-9beb3300206e2e951954fbb02f0ca7f888205b8f38c8210e66f30cdc460d5a08f3e7dd004b1442399cd6df524ae6c80fff9bf52599be8e9d0accf18befc856f9 alpine-specific-launch.js.patch"
diff --git a/testing/novnc/alpine-specific-launch.js.patch b/testing/novnc/alpine-specific-launch.js.patch
deleted file mode 100644
index d16b883d63e..00000000000
--- a/testing/novnc/alpine-specific-launch.js.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/utils/launch.sh
-+++ b/utils/launch.sh
-@@ -1,4 +1,4 @@
--#!/usr/bin/env bash
-+#!/bin/sh
-
- # Copyright (C) 2018 The noVNC Authors
- # Licensed under MPL 2.0 or any later version (see LICENSE.txt)
-@@ -165,7 +165,7 @@
- ${WEBSOCKIFY} ${SSLONLY} --web ${WEB} ${CERT:+--cert ${CERT}} ${KEY:+--key ${KEY}} ${PORT} ${VNC_DEST} ${RECORD_ARG} &
- proxy_pid="$!"
- sleep 1
--if ! ps -p ${proxy_pid} >/dev/null; then
-+if [ -z "$proxy_pid" ] || ! ps -o pid= | grep -qw ${proxy_pid}; then
- proxy_pid=
- echo "Failed to start WebSockets proxy"
- exit 1
diff --git a/testing/nsh/APKBUILD b/testing/nsh/APKBUILD
index af183c8c532..49394ad5304 100644
--- a/testing/nsh/APKBUILD
+++ b/testing/nsh/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=nsh
pkgver=0.4.2
-pkgrel=0
+pkgrel=1
pkgdesc="A command-line shell like fish, but POSIX compatible"
url="https://github.com/nuta/nsh"
arch="aarch64 armhf armv7 ppc64le x86 x86_64" # limited by rust/cargo
@@ -10,22 +10,23 @@ license="CC0-1.0 OR MIT"
# bash is needed for completion
depends="bash"
checkdepends="python3 py3-termcolor"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
install="$pkgname.post-install $pkgname.pre-deinstall"
subpackages="$pkgname-dbg"
source="https://github.com/nuta/nsh/archive/v$pkgver/nsh-$pkgver.tar.gz"
+
prepare() {
default_prepare
# Optimize for size (1.9 -> 1.4 MiB).
sed -i 's/^opt-level\s*=.*/opt-level = "z"/' Cargo.toml
- cargo fetch --locked
+ cargo fetch --target="$CTARGET" --locked
}
build() {
- cargo build --release --frozen
+ cargo auditable build --release --frozen
}
check() {
@@ -37,7 +38,7 @@ check() {
}
package() {
- cargo install --locked --offline --path . --root="$pkgdir/usr"
+ cargo auditable install --locked --offline --path . --root="$pkgdir/usr"
rm "$pkgdir"/usr/.crates*
}
diff --git a/testing/nsjail/APKBUILD b/testing/nsjail/APKBUILD
new file mode 100644
index 00000000000..4b15bf9c337
--- /dev/null
+++ b/testing/nsjail/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: John Vogel <jvogel4@stny.rr.com>
+# Maintainer: John Vogel <jvogel4@stny.rr.com>
+pkgname=nsjail
+pkgver=3.4
+pkgrel=2
+pkgdesc="A light-weight process isolation tool"
+url="https://github.com/google/nsjail"
+# upstream supported architectures
+arch="armhf armv7 aarch64 riscv64 x86 x86_64"
+license="Apache-2.0"
+makedepends="bison flex linux-headers abseil-cpp-dev libnl3-dev protobuf-dev libbsd-dev"
+options="!check" # no tests
+subpackages="$pkgname-doc"
+_kafelver=1af0975af45ca4404f357b9a4e1636f53a01bfd3
+source="https://github.com/google/nsjail/archive/$pkgver/nsjail-$pkgver.tar.gz
+ https://github.com/google/kafel/archive/$_kafelver/kafel-$_kafelver.tar.gz
+ protobuf-23.patch
+ "
+
+prepare() {
+ default_prepare
+ mv "$srcdir"/kafel-"$_kafelver"/* "$builddir"/kafel/
+}
+
+build() {
+ make
+}
+
+package() {
+ install -D -t "$pkgdir"/usr/bin nsjail
+ install -D -t "$pkgdir"/usr/share/man/man1 nsjail.1
+ install -D -t "$pkgdir"/usr/share/doc/nsjail README.md LICENSE
+ install -d "$pkgdir"/usr/share/doc/nsjail/configs
+ for config in configs/*; do
+ install -D -t "$pkgdir"/usr/share/doc/nsjail/configs "$config"
+ done
+}
+
+sha512sums="
+085006762a02408c9e1c3ea713905230fda0c240ca553e3891b4c705abecb83bf9cb4439413c61b4979bdc1a8f2de708a6ee5dbf487cad8a70476f76607d5a36 nsjail-3.4.tar.gz
+521ab57afd6fb21dfff9d2ce20e316007b0dbff952cabc6e86a8071300a6c47351c7fe151c9c8db0c59fa3a27ca45b34934c029a3325252a2cef1b5de72e6e21 kafel-1af0975af45ca4404f357b9a4e1636f53a01bfd3.tar.gz
+1acb9d983a7eaf545a893a1951b711d2b2267131c84f7d3a37f35f69524a29ea0690f42cea65a7f009cc7c9a789c58dab56e189cae07726c7f09a60de5b0f3a8 protobuf-23.patch
+"
diff --git a/testing/nsjail/protobuf-23.patch b/testing/nsjail/protobuf-23.patch
new file mode 100644
index 00000000000..d99148df920
--- /dev/null
+++ b/testing/nsjail/protobuf-23.patch
@@ -0,0 +1,24 @@
+diff --git a/config.cc b/config.cc
+index 0148ab2..7f0b4d7 100644
+--- a/config.cc
++++ b/config.cc
+@@ -302,11 +302,6 @@ static bool parseInternal(nsjconf_t* nsjconf, const nsjail::NsJailConfig& njc) {
+ return true;
+ }
+
+-static void logHandler(
+- google::protobuf::LogLevel level, const char* filename, int line, const std::string& message) {
+- LOG_W("config.cc: '%s'", message.c_str());
+-}
+-
+ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ LOG_D("Parsing configuration from '%s'", file);
+
+@@ -316,7 +311,6 @@ bool parseFile(nsjconf_t* nsjconf, const char* file) {
+ return false;
+ }
+
+- SetLogHandler(logHandler);
+ google::protobuf::io::FileInputStream input(fd);
+ input.SetCloseOnDelete(true);
+
diff --git a/testing/nsnake/APKBUILD b/testing/nsnake/APKBUILD
index 9d95451dfc5..441f702e3bf 100644
--- a/testing/nsnake/APKBUILD
+++ b/testing/nsnake/APKBUILD
@@ -1,17 +1,16 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=nsnake
-pkgver=3.0.1
+pkgver=3.0.0
pkgrel=0
pkgdesc="snake game for your terminal"
options="!check suid" # suid is required for saving scores.
-url="https://github.com/alexdantas/nSnake"
+url="http://projects.malikania.fr/nsnake"
arch="all"
license="ISC"
makedepends="ncurses-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/alexdantas/nSnake/archive/v$pkgver.tar.gz"
-builddir="$srcdir/nSnake-$pkgver"
+source="http://releases.malikania.fr/nsnake/$pkgver/nsnake-$pkgver.tar.xz"
build() {
make PREFIX=/usr VARDIR=/var
@@ -21,4 +20,6 @@ package() {
make PREFIX=/usr VARDIR=/var DESTDIR="$pkgdir" install
}
-sha512sums="94930849ce0ff3137c2033f4148858d55dbfdeb66f42109669891462914e434eeb0a442bca9804d8760f63ccb490264263602af11749f489f99c3c1c69e68139 nsnake-3.0.1.tar.gz"
+sha512sums="
+8d65ea44d3ff3242d7e381759993464876889c01b49405dda4cceb617f824c00c2bd78ceb18f46e950dc67911823f4acb9412dcd84937d16c53c40d2183ada26 nsnake-3.0.0.tar.xz
+"
diff --git a/testing/nsq/APKBUILD b/testing/nsq/APKBUILD
index 99c01d5d4ec..36603da41c7 100644
--- a/testing/nsq/APKBUILD
+++ b/testing/nsq/APKBUILD
@@ -1,20 +1,29 @@
# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
pkgname=nsq
-pkgver=1.2.0
-pkgrel=3
+pkgver=1.3.0
+pkgrel=2
pkgdesc="A realtime distributed messaging platform"
url="https://nsq.io/"
-arch="all !mips !mips64" # blocked by dep
+arch="all"
license="MIT"
depends="go"
-options="chmod-clean"
source="$pkgname-$pkgver.tar.gz::https://github.com/nsqio/nsq/archive/v$pkgver.tar.gz
- glibc-test.patch"
+ no-fmt.patch
+ more-test-procs.patch
+ "
+options="net"
-build() {
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
go mod download
- export GOPATH="$srcdir/go"
+}
+
+build() {
make
}
@@ -23,12 +32,11 @@ check() {
}
package() {
- cd build
- for file in *; do
- install -sD -m 755 "$file" "$pkgdir"/usr/bin/"$file"
- done
+ install -Dm755 -t "$pkgdir"/usr/bin/ build/*
}
-
-sha512sums="01ef18775a3ee6688fed2c7b85f35099d6b01e9a2f10813b3baa94a6c5a2974abf70ee8d2c6d5aebb6952825ab0a2f986838d3dc35e7b5e06bef3ffa8c0e7c15 nsq-1.2.0.tar.gz
-e0fa26f0a7b412dc4b3e56cb1d557183d86e751862b86f9192fca153232e856713c2cf76f1f063b7595912e4164c7b6e1f33cfec6fab9c7e8e96297646230a22 glibc-test.patch"
+sha512sums="
+5d466c3675dbccd99b5ad4f691968d3396af0a92630b850cd36e9ffb0c8d00a6f43cf5617a0fa0d78876dfd65ae496e79fa72da5707b04397e0444529d2e88d6 nsq-1.3.0.tar.gz
+7d7ac1942dbeea48b90fe9e2a88f06c9d197c0c55949ab435edf5e6b3c174c38357749306232f56f26dc2513d049327242bb03c4b655d75db642f28015ad5b58 no-fmt.patch
+771822f35ba925a1e8a93d3d29c6f8afb9f23e354f50ece7dc360584db52a2c7ba260397827dcc780f3972d7b37d941e910a5702ce8b9c818fc8eeb3eea1265a more-test-procs.patch
+"
diff --git a/testing/nsq/glibc-test.patch b/testing/nsq/glibc-test.patch
deleted file mode 100644
index 58997f554e2..00000000000
--- a/testing/nsq/glibc-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/test.sh
-+++ b/test.sh.orig
-@@ -1,8 +1,7 @@
--#!/bin/bash
-+#!/bin/sh
- set -e
-
- GOMAXPROCS=1 go test -timeout 90s $(go list ./... | grep -v /vendor/)
--GOMAXPROCS=4 go test -timeout 90s -race $(go list ./... | grep -v /vendor/)
-
- # no tests, but a build is something
- for dir in apps/*/ bench/*/; do
-
diff --git a/testing/nsq/more-test-procs.patch b/testing/nsq/more-test-procs.patch
new file mode 100644
index 00000000000..e45a6800726
--- /dev/null
+++ b/testing/nsq/more-test-procs.patch
@@ -0,0 +1,11 @@
+--- a/test.sh
++++ b/test.sh.orig
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ set -e
+
+-GOMAXPROCS=1 go test -timeout 90s ./...
++GOMAXPROCS=4 go test -timeout 90s ./...
+
+ if [ "$GOARCH" = "amd64" ] || [ "$GOARCH" = "arm64" ]; then
+ # go test: -race is only supported on linux/amd64, linux/ppc64le,
diff --git a/testing/nsq/no-fmt.patch b/testing/nsq/no-fmt.patch
new file mode 100644
index 00000000000..1f2931e0cba
--- /dev/null
+++ b/testing/nsq/no-fmt.patch
@@ -0,0 +1,11 @@
+diff --git a/test.sh b/test.sh
+index 42fe934..78f7a94 100755
+--- a/test.sh
++++ b/test.sh
+@@ -23,5 +23,5 @@ done
+ FMTDIFF="$(find apps internal nsqd nsqlookupd -name '*.go' -exec gofmt -d '{}' ';')"
+ if [ -n "$FMTDIFF" ]; then
+ printf '%s\n' "$FMTDIFF"
+- exit 1
++ #exit 1
+ fi
diff --git a/testing/nsss/APKBUILD b/testing/nsss/APKBUILD
deleted file mode 100644
index 79bf35c3d7c..00000000000
--- a/testing/nsss/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Laurent Bercot <ska-devel@skarnet.org>
-pkgname=nsss
-pkgver=0.2.0.1
-pkgrel=0
-pkgdesc=" A small and statically linkable alternative to Name Service Switch"
-url="https://skarnet.org/software/nsss"
-arch="all"
-license="ISC"
-makedepends="skalibs-dev>=2.11"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://skarnet.org/software/nsss/nsss-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --enable-shared \
- --enable-static \
- --disable-allstatic \
- --prefix=/usr \
- --libdir=/usr/lib \
- --libexecdir="/usr/lib/$pkgname" \
- --with-dynlib=/lib
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-doc() {
- default_doc
- mkdir -p "$subpkgdir/usr/share/doc"
- cp -a "$builddir/doc" "$subpkgdir/usr/share/doc/$pkgname"
-}
-sha512sums="
-5b6968fb9eff9adc28b05a658a4dedeb6f208893c1308644f4df62c9c9cf065098c6f7044841ef2d51c38f1a2f2fc6548b9b9fc4fda9ecde44fd9fa73bedafc2 nsss-0.2.0.1.tar.gz
-"
diff --git a/testing/ntfy-alertmanager/APKBUILD b/testing/ntfy-alertmanager/APKBUILD
new file mode 100644
index 00000000000..373bbabc1ca
--- /dev/null
+++ b/testing/ntfy-alertmanager/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: fossdd <fossdd@pwned.life>
+# Maintainer: fossdd <fossdd@pwned.life>
+pkgname=ntfy-alertmanager
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="A bridge between ntfy and Alertmanager"
+url="https://hub.xenrox.net/~xenrox/ntfy-alertmanager"
+arch="all"
+license="AGPL3"
+makedepends="go"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="https://git.xenrox.net/~xenrox/ntfy-alertmanager/refs/download/v$pkgver/ntfy-alertmanager-$pkgver.tar.gz
+ ntfy-alertmanager.initd
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o ntfy-alertmanager
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 ntfy-alertmanager "$pkgdir"/usr/bin/ntfy-alertmanager
+ install -Dm644 config.scfg "$pkgdir"/etc/ntfy-alertmanager/config
+ install -Dm755 "$srcdir"/ntfy-alertmanager.initd "$pkgdir"/etc/init.d/ntfy-alertmanager
+}
+
+sha512sums="
+8bde22778aae862a8fbde0c5fc8f966ee55b39cbc9f28b7983af356ea8ab8522030a4477df2bd47f3e6aea295a5c2f18a69657977b6760b78355eeb748646ddf ntfy-alertmanager-0.3.0.tar.gz
+843b3e00af5019d1af9330717598631cf76d8876bb373cc31419173897e01d889ffa3dab0c29ac91e15eec6677ca629b199d0dfc1ffe4e00c5ae895364cbfd7c ntfy-alertmanager.initd
+"
diff --git a/testing/ntfy-alertmanager/ntfy-alertmanager.initd b/testing/ntfy-alertmanager/ntfy-alertmanager.initd
new file mode 100644
index 00000000000..318c4ab4bad
--- /dev/null
+++ b/testing/ntfy-alertmanager/ntfy-alertmanager.initd
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+
+name=ntfy-alertmanager
+command="/usr/bin/ntfy-alertmanager"
+command_user="ntfy-alertmanager:ntfy-alertmanager"
+command_background=true
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/ntfy-alertmanager/ntfy-alertmanager.pre-install b/testing/ntfy-alertmanager/ntfy-alertmanager.pre-install
new file mode 100644
index 00000000000..11829150d6d
--- /dev/null
+++ b/testing/ntfy-alertmanager/ntfy-alertmanager.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S ntfy-alertmanager 2>/dev/null
+adduser -S -D -h /dev/null -s /sbin/nologin -G ntfy-alertmanager -g ntfy-alertmanager ntfy-alertmanager 2>/dev/null
+
+exit 0
diff --git a/testing/nuklear/APKBUILD b/testing/nuklear/APKBUILD
new file mode 100644
index 00000000000..902a0661f3c
--- /dev/null
+++ b/testing/nuklear/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=nuklear
+pkgver=4.12.0
+pkgrel=0
+pkgdesc="A single-header ANSI C cross-platform GUI library"
+url="https://immediate-mode-ui.github.io/Nuklear"
+arch="noarch"
+license="MIT OR Public-Domain"
+options="!check" # no test suite
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Immediate-Mode-UI/Nuklear/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/Nuklear-$pkgver"
+
+package() {
+ install -Dm644 nuklear.h -t "$pkgdir"/usr/include/
+ install -Dm644 Readme.md -t "$pkgdir"/usr/share/doc/$pkgname/
+ install -Dm644 doc/index.html -t "$pkgdir"/usr/share/doc/$pkgname/
+ install -Dm644 src/LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
+sha512sums="
+571af205d3fca9c698942c96de14a02c8a2c5112b474028ede9dc215191f6d87520fbdc5c0fdb6c45d316df7e27f04d7b2c5ea063cfd57e9c1b62e49aa23140e nuklear-4.12.0.tar.gz
+"
diff --git a/testing/numbat/APKBUILD b/testing/numbat/APKBUILD
new file mode 100644
index 00000000000..ce7a9d5bf48
--- /dev/null
+++ b/testing/numbat/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=numbat
+pkgver=1.9.0
+pkgrel=0
+pkgdesc="Statically typed programming language for scientific computations"
+url="https://numbat.dev/"
+arch="all !s390x" # nix crate fails to build
+license="Apache-2.0"
+makedepends="cargo cargo-auditable openssl-dev"
+subpackages="$pkgname-doc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/sharkdp/numbat/archive/refs/tags/v$pkgver.tar.gz
+ use-system-openssl.patch
+ "
+
+export OPENSSL_NO_VENDOR=1
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/numbat -t "$pkgdir"/usr/bin/
+ mkdir -p "$pkgdir"/usr/share/doc/$pkgname
+ cp -r examples "$pkgdir"/usr/share/doc/$pkgname/
+}
+
+sha512sums="
+873a78881e62883ac7e296ea044105b2413382188a95e40989333a119cd6ca5d030fbda6dba3f1fcb656891f7694e193395d4daa7e0cca29b8c3b1821bc217b0 numbat-1.9.0.tar.gz
+025bb1315a1dd43d041721e625c4dbc990b38c9491205e67cbe4d2beffe4a62bc909ed4eb4ef6c23b4e98fa9a579a42b9f1a5be5eea746279de8f874e96a7bc0 use-system-openssl.patch
+"
diff --git a/testing/numbat/use-system-openssl.patch b/testing/numbat/use-system-openssl.patch
new file mode 100644
index 00000000000..eb081bd89c6
--- /dev/null
+++ b/testing/numbat/use-system-openssl.patch
@@ -0,0 +1,368 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index cada940..cfddfe0 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -109,9 +109,8 @@ checksum = "0f77d243921b0979fbbd728dd2d5162e68ac8252976797c24eb5b3a6af9090dc"
+ dependencies = [
+ "http",
+ "log",
+- "rustls",
++ "native-tls",
+ "url",
+- "webpki-roots",
+ ]
+
+ [[package]]
+@@ -301,6 +300,22 @@ dependencies = [
+ "windows-sys 0.45.0",
+ ]
+
++[[package]]
++name = "core-foundation"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
++
+ [[package]]
+ name = "cpufeatures"
+ version = "0.2.11"
+@@ -492,6 +507,12 @@ version = "3.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "281e452d3bad4005426416cdba5ccfd4f5c1280e10099e21db27f7c1c28347fc"
+
++[[package]]
++name = "fastrand"
++version = "2.0.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"
++
+ [[package]]
+ name = "fd-lock"
+ version = "4.0.1"
+@@ -518,6 +539,21 @@ version = "1.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
+ [[package]]
+ name = "form_urlencoded"
+ version = "1.2.0"
+@@ -723,6 +759,24 @@ dependencies = [
+ "autocfg",
+ ]
+
++[[package]]
++name = "native-tls"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
++dependencies = [
++ "lazy_static",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
++]
++
+ [[package]]
+ name = "nibble_vec"
+ version = "0.1.0"
+@@ -866,6 +920,50 @@ version = "11.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575"
+
++[[package]]
++name = "openssl"
++version = "0.10.63"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "15c9d69dd87a29568d4d017cfe8ec518706046a05184e5aea92d0af890b803c8"
++dependencies = [
++ "bitflags 2.4.1",
++ "cfg-if",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.99"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "22e1bf214306098e4832460f797824c05d25aacdf896f64a985fb0fd992454ae"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
+ [[package]]
+ name = "option-ext"
+ version = "0.2.0"
+@@ -878,6 +976,12 @@ version = "2.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94"
+
++[[package]]
++name = "pkg-config"
++version = "0.3.29"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2900ede94e305130c13ddd391e0ab7cbaeb783945ae07a279c268cb05109c6cb"
++
+ [[package]]
+ name = "plotters"
+ version = "0.3.5"
+@@ -1012,6 +1116,15 @@ dependencies = [
+ "bitflags 1.3.2",
+ ]
+
++[[package]]
++name = "redox_syscall"
++version = "0.4.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
++dependencies = [
++ "bitflags 1.3.2",
++]
++
+ [[package]]
+ name = "redox_users"
+ version = "0.4.3"
+@@ -1019,7 +1132,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+ dependencies = [
+ "getrandom",
+- "redox_syscall",
++ "redox_syscall 0.2.16",
+ "thiserror",
+ ]
+
+@@ -1052,20 +1165,6 @@ version = "0.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f"
+
+-[[package]]
+-name = "ring"
+-version = "0.17.5"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fb0205304757e5d899b9c2e448b867ffd03ae7f988002e47cd24954391394d0b"
+-dependencies = [
+- "cc",
+- "getrandom",
+- "libc",
+- "spin",
+- "untrusted",
+- "windows-sys 0.48.0",
+-]
+-
+ [[package]]
+ name = "rust-embed"
+ version = "8.0.0"
+@@ -1114,28 +1213,6 @@ dependencies = [
+ "windows-sys 0.48.0",
+ ]
+
+-[[package]]
+-name = "rustls"
+-version = "0.21.8"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "446e14c5cda4f3f30fe71863c34ec70f5ac79d6087097ad0bb433e1be5edf04c"
+-dependencies = [
+- "log",
+- "ring",
+- "rustls-webpki",
+- "sct",
+-]
+-
+-[[package]]
+-name = "rustls-webpki"
+-version = "0.101.7"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8b6275d1ee7a1cd780b64aca7726599a1dbc893b1e64144529e55c3c2f745765"
+-dependencies = [
+- "ring",
+- "untrusted",
+-]
+-
+ [[package]]
+ name = "rustyline"
+ version = "13.0.0"
+@@ -1191,6 +1268,15 @@ dependencies = [
+ "winapi-util",
+ ]
+
++[[package]]
++name = "schannel"
++version = "0.1.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
++dependencies = [
++ "windows-sys 0.52.0",
++]
++
+ [[package]]
+ name = "scopeguard"
+ version = "1.2.0"
+@@ -1198,13 +1284,26 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+ [[package]]
+-name = "sct"
+-version = "0.7.1"
++name = "security-framework"
++version = "2.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
++dependencies = [
++ "bitflags 1.3.2",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
++]
++
++[[package]]
++name = "security-framework-sys"
++version = "2.9.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "da046153aa2352493d6cb7da4b6e5c0c057d8a1d0a9aa8560baffdd945acd414"
++checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+ dependencies = [
+- "ring",
+- "untrusted",
++ "core-foundation-sys",
++ "libc",
+ ]
+
+ [[package]]
+@@ -1279,12 +1378,6 @@ version = "1.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
+
+-[[package]]
+-name = "spin"
+-version = "0.9.8"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+-
+ [[package]]
+ name = "strsim"
+ version = "0.10.0"
+@@ -1302,6 +1395,19 @@ dependencies = [
+ "unicode-ident",
+ ]
+
++[[package]]
++name = "tempfile"
++version = "3.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
++dependencies = [
++ "cfg-if",
++ "fastrand",
++ "redox_syscall 0.4.1",
++ "rustix",
++ "windows-sys 0.48.0",
++]
++
+ [[package]]
+ name = "termcolor"
+ version = "1.3.0"
+@@ -1445,12 +1551,6 @@ version = "0.1.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+-[[package]]
+-name = "untrusted"
+-version = "0.9.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+-
+ [[package]]
+ name = "url"
+ version = "2.4.1"
+@@ -1468,6 +1568,12 @@ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
++[[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
++
+ [[package]]
+ name = "version_check"
+ version = "0.9.4"
+@@ -1563,12 +1669,6 @@ dependencies = [
+ "wasm-bindgen",
+ ]
+
+-[[package]]
+-name = "webpki-roots"
+-version = "0.25.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc"
+-
+ [[package]]
+ name = "winapi"
+ version = "0.3.9"
+diff --git a/numbat-exchange-rates/Cargo.toml b/numbat-exchange-rates/Cargo.toml
+index c28a79a..1291b98 100644
+--- a/numbat-exchange-rates/Cargo.toml
++++ b/numbat-exchange-rates/Cargo.toml
+@@ -10,5 +10,5 @@ license = "MIT OR Apache-2.0"
+ rust-version = "1.70"
+
+ [dependencies]
+-attohttpc = { version = "0.26.0", default-features = false, features = ["tls-rustls-webpki-roots"] }
++attohttpc = { version = "0.26.0", default-features = false, features = ["tls-native"] }
+ quick-xml = "0.31.0"
diff --git a/testing/nushell/APKBUILD b/testing/nushell/APKBUILD
deleted file mode 100644
index 8d3aab597fa..00000000000
--- a/testing/nushell/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Contributor: nibon7 <nibon7@163.com>
-# Maintainer: nibon7 <nibon7@163.com>
-pkgname=nushell
-pkgver=0.42.0
-pkgrel=1
-pkgdesc="A new type of shell"
-url="https://www.nushell.sh"
-arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
-license="MIT"
-makedepends="cargo pkgconf openssl-dev libx11-dev libxcb-dev libgit2-dev oniguruma-dev"
-for _sub in core extra; do
- subpackages="$subpackages $pkgname-plugins-$_sub:_plugins"
-done
-install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
-source="$pkgname-$pkgver.tar.gz::https://github.com/nushell/nushell/archive/$pkgver.tar.gz"
-
-# use system oniguruma
-export RUSTONIG_SYSTEM_LIBONIG=1
-
-prepare() {
- default_prepare
- cargo fetch --locked
-}
-
-build() {
- cargo build --release --frozen --features=extra
-}
-
-check() {
- cargo test --frozen --features=extra
-}
-
-package() {
- cargo install --frozen --offline --features=extra --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-}
-
-_plugins() {
- local name=${subpkgname#"$pkgname-plugins-"}
- pkgdesc="Nushell $name plugins"
- depends="nushell"
-
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/nu_plugin_${name}_* "$subpkgdir"/usr/bin/
-}
-
-sha512sums="d68bc66241fc08e98f528e5f244650d9d7f74d38692f49f1cb9a4c0e5de80ba5fae5dd7be50dea92a0912657776fee84266bd8a1943c4ee8ff13432be21073cb nushell-0.42.0.tar.gz"
diff --git a/testing/nushell/nushell.post-install b/testing/nushell/nushell.post-install
deleted file mode 100644
index ddf9b4d4e56..00000000000
--- a/testing/nushell/nushell.post-install
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-add-shell '/usr/bin/nu'
-exit 0
diff --git a/testing/nushell/nushell.post-upgrade b/testing/nushell/nushell.post-upgrade
deleted file mode 120000
index a023e4e9338..00000000000
--- a/testing/nushell/nushell.post-upgrade
+++ /dev/null
@@ -1 +0,0 @@
-nushell.post-install \ No newline at end of file
diff --git a/testing/nushell/nushell.pre-deinstall b/testing/nushell/nushell.pre-deinstall
deleted file mode 100644
index 8ea90c0456f..00000000000
--- a/testing/nushell/nushell.pre-deinstall
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-remove-shell '/usr/bin/nu'
-exit 0
diff --git a/testing/nut/APKBUILD b/testing/nut/APKBUILD
deleted file mode 100644
index 427913b6f49..00000000000
--- a/testing/nut/APKBUILD
+++ /dev/null
@@ -1,88 +0,0 @@
-# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Contributor: Kozak Ivan <kozak-iv@yandex.ru>
-# Maintainer: Kozak Ivan <kozak-iv@yandex.ru>
-pkgname=nut
-pkgver=2.7.4
-pkgrel=10
-pkgdesc="Network UPS tools"
-url="https://networkupstools.org/"
-arch="all"
-license="GPL-2.0-or-later"
-depends="hidapi eudev udev-init-scripts-openrc"
-# openssl1.1-compat-dev because of net-snmp
-depends_dev="openssl1.1-compat-dev libusb-compat-dev net-snmp-dev neon-dev nss-dev"
-makedepends="$depends_dev libtool autoconf automake"
-pkgusers=$pkgname
-pkggroups=$pkgname
-install="$pkgname.pre-install"
-subpackages="$pkgname-doc $pkgname-dev $pkgname-bash-completion $pkgname-openrc"
-source="https://networkupstools.org/source/2.7/nut-$pkgver.tar.gz
- openssl-1.1.patch
- upsd.initd
- upsmon.initd
- "
-
-prepare() {
- default_prepare
- autoreconf -vif
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --libexecdir=/usr/lib/nut \
- --without-wrap \
- --with-user=$pkgname \
- --with-group=$pkgname \
- --disable-static \
- --with-serial \
- --with-usb \
- --without-avahi \
- --with-snmp \
- --with-neon \
- --without-powerman \
- --without-ipmi \
- --without-freeipmi \
- --with-libltdl \
- --without-cgi \
- --with-drvpath=/usr/lib/nut \
- --datadir=/usr/share/nut \
- --sysconfdir=/etc/nut \
- --with-statepath=/var/run/nut \
- --with-altpidpath=/var/run/nut \
- --with-udev-dir=/lib/udev \
- --with-nss \
- --with-openssl
- make
-}
-
-check() {
- make -C "$builddir" check
-}
-
-package() {
- make -C "$builddir" DESTDIR="$pkgdir" install
- install -Dm755 "$srcdir"/upsd.initd "$pkgdir"/etc/init.d/nut-upsd
- install -Dm755 "$srcdir"/upsmon.initd "$pkgdir"/etc/init.d/nut-upsmon
- install -Dm644 "$builddir"/scripts/logrotate/nutlogd "$pkgdir"/etc/logrotate.d/$pkgname
- install -d -o $pkgname -g $pkgname "$pkgdir"/var/lib/$pkgname
-
- install -D -m644 "$builddir"/scripts/misc/nut.bash_completion \
- "$pkgdir"/usr/share/bash-completion/completions/$pkgname.bash
-
- local file;
- for file in "$pkgdir"/etc/nut/*.sample; do
- chmod 640 $file
- chown root:$pkgname $file
- mv $file ${file%.sample}
- done
-}
-
-sha512sums="
-320c4aff85d8a370c5eff77d33924fdfc3caf6a250620693cdd5bf3336b3a80d8a207488eee841bcf8b72fbad68fda4c074e63b99c56e7886716fc934122d11a nut-2.7.4.tar.gz
-2b6f5df0c7084a0e86474b36d4c567b995c76e2f8fda788a7dffa6d8ecd6b41698ca8376ac228cdbfd805e3406611e7f003e4492d98c74658ed785d7320ab866 openssl-1.1.patch
-5fce1247815e36a0e787f28dfec215077a42b046f6ce35a5ad3cf94479dfc26303d3cf4d5f760d5851ed5273ee398572c36cd354af0645cbebc1f1560414e222 upsd.initd
-32470ae473fc363131787cd57f13d40763898947d56d032790ba7f3a5eaa8038b602f7e395ca44f6c5adce8ee5ec496e30ca0eaadb3c78a38015677aea751e12 upsmon.initd
-"
diff --git a/testing/nut/nut.pre-install b/testing/nut/nut.pre-install
deleted file mode 100644
index 6d67c81a671..00000000000
--- a/testing/nut/nut.pre-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-addgroup -S nut 2>/dev/null
-adduser -S -D -H -h /var/lib/nut -s /sbin/nologin -G nut -g nut nut 2>/dev/null
-adduser nut uucp 2>/dev/null
-
-exit 0
diff --git a/testing/nut/openssl-1.1.patch b/testing/nut/openssl-1.1.patch
deleted file mode 100644
index e7a28845830..00000000000
--- a/testing/nut/openssl-1.1.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From fcbf18c92918ce5e81d0aab62a7aed5c2245ea4d Mon Sep 17 00:00:00 2001
-From: Eneas U de Queiroz <cote2004-github@yahoo.com>
-Date: Fri, 1 Jun 2018 11:17:28 -0300
-Subject: [PATCH] Add compatibility with openssl 1.1.0
-
-Minor adjustments were needed:
-* Openssl 1.1 libs do not need to be initialized.
-* TLSv*_method became TLS_*_method.
-
-Signed-off-by: Eneas U de Queiroz <cote2004-github@yahoo.com>
----
- clients/upsclient.c | 5 ++++-
- m4/nut_check_libopenssl.m4 | 2 +-
- server/netssl.c | 7 +++++--
- 3 files changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/clients/upsclient.c b/clients/upsclient.c
-index b90587b00..053d60fb0 100644
---- a/clients/upsclient.c
-+++ b/clients/upsclient.c
-@@ -316,10 +316,13 @@ int upscli_init(int certverify, const char *certpath,
-
- #ifdef WITH_OPENSSL
-
-+# if OPENSSL_VERSION_NUMBER < 0x10100000L
- SSL_library_init();
- SSL_load_error_strings();
-+# define TLS_client_method TLSv1_client_method
-+# endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-
-- ssl_method = TLSv1_client_method();
-+ ssl_method = TLS_client_method();
-
- if (!ssl_method) {
- return 0;
-diff --git a/m4/nut_check_libopenssl.m4 b/m4/nut_check_libopenssl.m4
-index 1b875077b..7eb401cd9 100644
---- a/m4/nut_check_libopenssl.m4
-+++ b/m4/nut_check_libopenssl.m4
-@@ -58,7 +58,7 @@ if test -z "${nut_have_libopenssl_seen}"; then
-
- dnl check if openssl is usable
- AC_CHECK_HEADERS(openssl/ssl.h, [nut_have_openssl=yes], [nut_have_openssl=no], [AC_INCLUDES_DEFAULT])
-- AC_CHECK_FUNCS(SSL_library_init, [], [nut_have_openssl=no])
-+ AC_CHECK_FUNCS(SSL_CTX_new, [], [nut_have_openssl=no])
-
- if test "${nut_have_openssl}" = "yes"; then
- nut_with_ssl="yes"
-diff --git a/server/netssl.c b/server/netssl.c
-index c2f409899..0289e296f 100644
---- a/server/netssl.c
-+++ b/server/netssl.c
-@@ -387,12 +387,15 @@ void ssl_init(void)
-
- #ifdef WITH_OPENSSL
-
-+# if OPENSSL_VERSION_NUMBER < 0x10100000L
- SSL_load_error_strings();
- SSL_library_init();
-+# define TLS_server_method TLSv1_server_method
-+# endif /* OPENSSL_VERSION_NUMBER < 0x10100000L */
-
-- if ((ssl_method = TLSv1_server_method()) == NULL) {
-+ if ((ssl_method = TLS_server_method()) == NULL) {
- ssl_debug();
-- fatalx(EXIT_FAILURE, "TLSv1_server_method failed");
-+ fatalx(EXIT_FAILURE, "TLS_server_method failed");
- }
-
- if ((ssl_ctx = SSL_CTX_new(ssl_method)) == NULL) {
diff --git a/testing/nut/upsd.initd b/testing/nut/upsd.initd
deleted file mode 100644
index e9b7a22fce7..00000000000
--- a/testing/nut/upsd.initd
+++ /dev/null
@@ -1,41 +0,0 @@
-#!/sbin/openrc-run
-
-name="UPS Server"
-pidfile=/run/nut/upsd.pid
-command=/usr/sbin/upsd
-required_files="/etc/nut/nut.conf /etc/nut/upsd.conf"
-extra_started_commands="reload"
-start_stop_daemon_args="--quiet"
-
-depend() {
- use net dns
- need udev
-}
-
-start_pre() {
- . /etc/nut/nut.conf
- case $MODE in
- standalone|netserver)
- checkpath -d --owner nut:nut --mode 750 ${pidfile%/*} || return 1
- /usr/sbin/upsdrvctl start > /dev/null
- ;;
- none)
- eerror "$name disabled, please adjust the configuration to your needs"
- eerror "Then set MODE to a suitable value in /etc/nut/nut.conf to enable it"
- return 1
- ;;
- *)
- return 1
- ;;
- esac
-}
-
-stop_post() {
- /usr/sbin/upsdrvctl stop > /dev/null
-}
-
-reload() {
- ebegin "Reloading $name"
- start-stop-daemon --signal HUP --pidfile $pidfile
- eend $?
-}
diff --git a/testing/nut/upsmon.initd b/testing/nut/upsmon.initd
deleted file mode 100644
index 4a7efe8ba44..00000000000
--- a/testing/nut/upsmon.initd
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/sbin/openrc-run
-
-name="UPS Monitor"
-pidfile=/run/upsmon.pid
-command=/usr/sbin/upsmon
-required_files="/etc/nut/nut.conf /etc/nut/upsmon.conf"
-extra_started_commands="reload"
-start_stop_daemon_args="--quiet"
-
-depend() {
- . /etc/nut/nut.conf
- case $MODE in
- standalone|netserver)
- need nut-upsd
- ;;
- esac
- use net dns
-}
-
-start_pre() {
- . /etc/nut/nut.conf
- case $MODE in
- none)
- eerror "$name disabled, please adjust the configuration to your needs"
- eerror "Then set MODE to a suitable value in /etc/nut/nut.conf to enable it"
- return 1
- ;;
- esac
-}
-
-reload() {
- ebegin "Reloading $name"
- start-stop-daemon --signal HUP --pidfile $pidfile
- eend $?
-}
diff --git a/testing/nuzzle/APKBUILD b/testing/nuzzle/APKBUILD
new file mode 100644
index 00000000000..5ee72b6a647
--- /dev/null
+++ b/testing/nuzzle/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor:
+# Maintainer: Vladimir Vitkov <vvitkov@gmail.com>
+pkgname=nuzzle
+pkgver=1.5
+pkgrel=0
+# as there is no official versioning code comes from git hash
+# use the hash later on for shortening of commands
+_gitcommit="2fdb5e793cb3e41cd5ef350d757aef7eeba93bda"
+pkgdesc="Lightweight, fast network attack detection IDS and IPS"
+url="https://nuzzle.hackerfactor.com/"
+arch="all"
+license="custom"
+makedepends="g++"
+subpackages="$pkgname-doc"
+options="toolchain !check" # No test suite provided.
+ # Single c file.
+ # Author recommends using g++ for build
+source="$pkgname-$pkgver.zip::https://github.com/hackerfactor/nuzzle/archive/$_gitcommit.zip"
+prepare() {
+ mkdir -p "$builddir"
+ mv "$srcdir"/$pkgname-$_gitcommit/* "$builddir"/
+ default_prepare
+}
+
+build() {
+ g++ -Wall -o nuzzle nuzzle.c
+}
+
+package() {
+ install -m755 -D "$builddir"/nuzzle "$pkgdir"/usr/sbin/nuzzle
+ install -m644 -D "$builddir"/LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -m644 -D "$builddir"/README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+sha512sums="
+7e08bf666634acbd8a8304254073e6c64d880347440050409c70ea3ee5671274bdef16de8ab8b7fcf7c4e12b855cd2db5acddb6231fd4708d16eae2cd241cc58 nuzzle-1.5.zip
+"
diff --git a/testing/nvchecker/APKBUILD b/testing/nvchecker/APKBUILD
new file mode 100644
index 00000000000..7d03179c4df
--- /dev/null
+++ b/testing/nvchecker/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: fossdd <fossdd@pwned.life>
+# Maintainer: fossdd <fossdd@pwned.life>
+pkgname=nvchecker
+pkgver=2.13.1
+pkgrel=1
+pkgdesc="New version checker for software releases"
+url="https://github.com/lilydjwg/nvchecker"
+arch="noarch"
+license="MIT"
+depends="
+ py3-curl
+ py3-platformdirs
+ py3-structlog
+ py3-tornado
+ python3
+ "
+makedepends="
+ git
+ py3-aiohttp
+ py3-docutils
+ py3-flaky
+ py3-gobject3
+ py3-gpep517
+ py3-pygments
+ py3-setuptools
+ py3-toml
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest-asyncio
+ py3-pytest-httpbin
+ pytest
+ "
+subpackages="$pkgname-pyc $pkgname-doc $pkgname-bash-completion"
+source="$pkgname-$pkgver.tar.gz::https://github.com/lilydjwg/nvchecker/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # tests fail
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+ make -C docs man
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer "$builddir"/.dist/*.whl
+ .testenv/bin/python3 -m pytest -v
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+ install -Dm644 scripts/nvtake.bash_completion "$pkgdir"/usr/share/bash-completion/completions/nvtake
+ install -Dm644 docs/_build/man/nvchecker.1 -t "$pkgdir"/usr/share/man/man1/
+}
+sha512sums="
+df1af3f4d260a6aa8b4e0a71eb22c8d93844ac885ad13da77a15ac9a09c91040b8981cd82225f9279bfb73493a9df70ea69950c0d4633204c997b1edf029380d nvchecker-2.13.1.tar.gz
+"
diff --git a/testing/nvidia-src/APKBUILD b/testing/nvidia-src/APKBUILD
new file mode 100644
index 00000000000..c861c741d87
--- /dev/null
+++ b/testing/nvidia-src/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+pkgname=nvidia-src
+pkgver=535.86.05
+pkgrel=0
+pkgdesc="NVIDIA Linux open GPU kernel module source (sources, AKMS)"
+url="https://github.com/NVIDIA/open-gpu-kernel-modules"
+# x86_64/aarch64 only
+arch="noarch !riscv64 !s390x !armhf !armv7 !x86 !ppc64le"
+license="MIT AND GPL-2.0-or-later"
+depends="akms"
+source="$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/open-gpu-kernel-modules-$pkgver"
+options="!check" # no tests
+
+package() {
+ mkdir -p "$pkgdir"/usr/src
+ cp -r "$builddir" "$pkgdir"/usr/src/nvidia-$pkgver
+
+ cat > "$pkgdir"/usr/src/nvidia-$pkgver/AKMBUILD <<EOF
+modname=nvidia
+modver=$pkgver-r$pkgrel
+makedepends="linux-headers"
+built_modules="kernel-open/nvidia.ko \
+ kernel-open/nvidia-drm.ko \
+ kernel-open/nvidia-modeset.ko \
+ kernel-open/nvidia-uvm.ko \
+ kernel-open/nvidia-peermem.ko \
+ "
+
+build() {
+ cp -r "\$srcdir"/* .
+ make modules \$MAKEFLAGS
+}
+EOF
+}
+
+sha512sums="
+da1964921f2f0a07e136ad5301b633c01d1e045b5fbb4ebb32f5d57471a89e649a1b653bbbb62e97755d070ce911c442ceaac2fb3d81baa53af75f4123075308 nvidia-src-535.86.05.tar.gz
+"
diff --git a/testing/nvim-cmp-buffer/APKBUILD b/testing/nvim-cmp-buffer/APKBUILD
new file mode 100644
index 00000000000..8c972bf7f7d
--- /dev/null
+++ b/testing/nvim-cmp-buffer/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=nvim-cmp-buffer
+pkgver=0.0.0_git20220810
+_commit=3022dbc9166796b644a841a02de8dd1cc1d311fa
+pkgrel=0
+pkgdesc="nvim-cmp source for buffer words"
+url="https://github.com/hrsh7th/cmp-buffer"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+depends="nvim-cmp"
+source="https://github.com/hrsh7th/cmp-buffer/archive/$_commit/nvim-cmp-$pkgver.tar.gz"
+builddir="$srcdir/cmp-buffer-$_commit"
+options="!check" # no tests
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra after lua "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+
+sha512sums="
+6ecddcb31b87274f27bc19a3e33fd549bbab139acc65cc1239b3295f9e279207d35b542dcca40c03589097997bec681555861731cf3a09e8a292f34f5cbc2f11 nvim-cmp-0.0.0_git20220810.tar.gz
+"
diff --git a/testing/nvim-cmp-cmdline/APKBUILD b/testing/nvim-cmp-cmdline/APKBUILD
new file mode 100644
index 00000000000..bc7f269c91c
--- /dev/null
+++ b/testing/nvim-cmp-cmdline/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=nvim-cmp-cmdline
+pkgver=0.0.0_git20220902
+_commit=d1a96c21e53316e1e21571dcce529c68720b0cf9
+pkgrel=0
+pkgdesc="nvim-cmp source for vim cmdline"
+url="https://github.com/hrsh7th/cmp-cmdline"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+depends="nvim-cmp"
+source="https://github.com/hrsh7th/cmp-cmdline/archive/$_commit/nvim-cmp-$pkgver.tar.gz"
+builddir="$srcdir/cmp-cmdline-$_commit"
+options="!check" # no tests
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra after lua "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+
+sha512sums="
+326c6939947706d4f9de3dfde6fcdf83e17c93601553c60860c6fcc38566c50b7c90a5b08c4074fa5dfabedc938d3ed2e152e4b059bfba1b98df63f9a15d56b9 nvim-cmp-0.0.0_git20220902.tar.gz
+"
diff --git a/testing/nvim-cmp-lsp/APKBUILD b/testing/nvim-cmp-lsp/APKBUILD
new file mode 100644
index 00000000000..6e4ec9b16c8
--- /dev/null
+++ b/testing/nvim-cmp-lsp/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Maxim Karasev <begs@disroot.org>
+# Maintainer: Maxim Karasev <begs@disroot.org>
+pkgname=nvim-cmp-lsp
+pkgver=0.0.0_git20220516
+_commit=affe808a5c56b71630f17aa7c38e15c59fd648a8
+pkgrel=0
+pkgdesc="nvim-cmp source for neovim builtin LSP client"
+url="https://github.com/hrsh7th/cmp-nvim-lsp"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+depends="nvim-cmp"
+source="https://github.com/hrsh7th/cmp-nvim-lsp/archive/$_commit/nvim-cmp-$pkgver.tar.gz"
+builddir="$srcdir/cmp-nvim-lsp-$_commit"
+options="!check" # no tests
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra after doc lua "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+
+doc() {
+ default_doc
+ amove usr/share/nvim/site/doc
+}
+
+sha512sums="
+7a54d390579ec2410abcba138ffa833da49e5171decceda5e948281abe4f2938638c86380e9268678048c833af60d5d4f4f71c2968d058f050c742a051ffcbdd nvim-cmp-0.0.0_git20220516.tar.gz
+"
diff --git a/testing/nvim-cmp-luasnip/APKBUILD b/testing/nvim-cmp-luasnip/APKBUILD
new file mode 100644
index 00000000000..63318d96eee
--- /dev/null
+++ b/testing/nvim-cmp-luasnip/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Maxim Karasev <begs@disroot.org>
+# Maintainer: Maxim Karasev <begs@disroot.org>
+pkgname=nvim-cmp-luasnip
+pkgver=0.0.0_git20220501
+_commit=a9de941bcbda508d0a45d28ae366bb3f08db2e36
+pkgrel=0
+pkgdesc="luasnip completion source for nvim-cmp"
+url="https://github.com/saadparwaiz1/cmp_luasnip"
+arch="noarch"
+license="Apache-2.0"
+subpackages="$pkgname-doc"
+depends="nvim-cmp"
+source="https://github.com/saadparwaiz1/cmp_luasnip/archive/$_commit/nvim-cmp-$pkgver.tar.gz"
+builddir="$srcdir/cmp_luasnip-$_commit"
+options="!check" # no tests
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra after lua "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+
+sha512sums="
+5e32c074e425c36b0724f95b91516e4885eb6da0e319f12157460bffe45aad3bd2d04d27d0f09033aee2bc372c86cf58d4f7b5310d42de6a2d47ceef571cb5ea nvim-cmp-0.0.0_git20220501.tar.gz
+"
diff --git a/testing/nvim-cmp-path/APKBUILD b/testing/nvim-cmp-path/APKBUILD
new file mode 100644
index 00000000000..38580b8fbbf
--- /dev/null
+++ b/testing/nvim-cmp-path/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=nvim-cmp-path
+pkgver=0.0.0_git20221002
+_commit=1267fcfe8845f547b6d88d9a857859fb442fde6a
+pkgrel=0
+pkgdesc="nvim-cmp source for path"
+url="https://github.com/hrsh7th/cmp-path"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+depends="nvim-cmp"
+source="https://github.com/hrsh7th/cmp-path/archive/$_commit/nvim-cmp-$pkgver.tar.gz"
+builddir="$srcdir/cmp-path-$_commit"
+options="!check" # no tests
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra after lua "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+
+sha512sums="
+eaf14f5ede9e53bbb3aae7a0430277f2b42c6012248edb007ce3fec0684dffb4c0d9af4a04f7395299a92ba2cae66cdd3307f2e54c696f7b68b85aec18a76d00 nvim-cmp-0.0.0_git20221002.tar.gz
+"
diff --git a/testing/nvim-cmp/APKBUILD b/testing/nvim-cmp/APKBUILD
new file mode 100644
index 00000000000..f17947221f0
--- /dev/null
+++ b/testing/nvim-cmp/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=nvim-cmp
+pkgver=0.0.0_git20221011
+_commit=714ccb7483d0ab90de1b93914f3afad1de8da24a
+pkgrel=0
+pkgdesc="completion plugin for neovim"
+url="https://github.com/hrsh7th/nvim-cmp"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+depends="neovim"
+source="https://github.com/hrsh7th/nvim-cmp/archive/$_commit/nvim-cmp-$pkgver.tar.gz"
+builddir="$srcdir/nvim-cmp-$_commit"
+options="!check" # requires vusted
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra lua autoload doc plugin utils "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+
+doc() {
+ default_doc
+ amove usr/share/nvim/site/doc
+}
+
+sha512sums="
+f17bbe91aee091b53bd5e7b2702f44eaf0ab296de10cdfbcceeb861235d4eb2beb40a4f1cb549d25ffbe9b8e65b62010aaf9b36a2c62dabdc4c8373e9ed0ec5e nvim-cmp-0.0.0_git20221011.tar.gz
+"
diff --git a/testing/nvim-gruvbox/APKBUILD b/testing/nvim-gruvbox/APKBUILD
new file mode 100644
index 00000000000..bf4179e0008
--- /dev/null
+++ b/testing/nvim-gruvbox/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=nvim-gruvbox
+pkgver=0.0.0_git20221212
+_commit=c64ec557672c9c8ecc71a438533525482021377f
+pkgrel=0
+pkgdesc="lua port of gruvbox vim colorscheme"
+url="https://github.com/ellisonleao/gruvbox.nvim"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+source="https://github.com/ellisonleao/gruvbox.nvim/archive/$_commit/nvim-gruvbox-$pkgver.tar.gz"
+builddir="$srcdir/gruvbox.nvim-$_commit"
+options="!check" # no tests
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra lua colors autoload "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+
+sha512sums="
+1a723d5f99296f0354e33cd78f08f31ff77d8e01b161362fbe97ea7b430a2119bd6ca3cedb9d591a3ca528478303387c00e934b9372575a8f8ea85a89329ae70 nvim-gruvbox-0.0.0_git20221212.tar.gz
+"
diff --git a/testing/nvim-lualine/APKBUILD b/testing/nvim-lualine/APKBUILD
new file mode 100644
index 00000000000..c5a538f2037
--- /dev/null
+++ b/testing/nvim-lualine/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=nvim-lualine
+pkgver=0.0.0_git20221006
+_commit=edca2b03c724f22bdc310eee1587b1523f31ec7c
+pkgrel=0
+pkgdesc="fast and easy to configure neovim statusline plugin"
+url="https://github.com/nvim-lualine/lualine.nvim"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+source="https://github.com/nvim-lualine/lualine.nvim/archive/$_commit/nvim-lualine-$pkgver.tar.gz"
+builddir="$srcdir/lualine.nvim-$_commit"
+options="!check" # requires neovim binary
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra lua doc "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
+}
+
+doc() {
+ default_doc
+ amove usr/share/nvim/site/doc
+}
+
+sha512sums="
+83e13a44ce877de1b7cce0d56f552d75c6b52b0100c3961687ff06315646a7f6e110293bfa2b6408addd07744d08e27654caf9e9371bba206430ca7aeedfacdd nvim-lualine-0.0.0_git20221006.tar.gz
+"
diff --git a/testing/nvim-packer/APKBUILD b/testing/nvim-packer/APKBUILD
new file mode 100644
index 00000000000..b62c02566fb
--- /dev/null
+++ b/testing/nvim-packer/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=nvim-packer
+pkgver=0.0.0_git20220910
+_commit=6afb67460283f0e990d35d229fd38fdc04063e0a
+pkgrel=0
+pkgdesc="use-package inspired plugin manager for neovim"
+url="https://github.com/wbthomason/packer.nvim"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+source="https://github.com/wbthomason/packer.nvim/archive/$_commit/nvim-packer-$pkgver.tar.gz"
+builddir="$srcdir/packer.nvim-$_commit"
+options="!check" # requires entire neovim tree
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra lua doc "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md -t "$pkgdir"/usr/share/doc/$pkgname
+}
+
+doc() {
+ default_doc
+ amove usr/share/nvim/site/doc
+}
+
+sha512sums="
+4f78d23cd909f91f399b7721a1971ef8a63548d08d48d125365cbde425acebb10d3d52ce0c5d0b253223bc98b413945771d5fc1bb1960aa715f0cac9848abba3 nvim-packer-0.0.0_git20220910.tar.gz
+"
diff --git a/testing/nvim-treesitter/APKBUILD b/testing/nvim-treesitter/APKBUILD
new file mode 100644
index 00000000000..3a16b892940
--- /dev/null
+++ b/testing/nvim-treesitter/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=nvim-treesitter
+pkgver=0.0.0_git20221013
+_commit=d3ca4de41faf996258b72924ecb1ecc2df69846e
+pkgrel=0
+pkgdesc="nvim treesitter configurations and abstraction layer"
+url="https://github.com/nvim-treesitter/nvim-treesitter"
+arch="noarch"
+license="Apache-2.0"
+subpackages="$pkgname-doc"
+source="https://github.com/nvim-treesitter/nvim-treesitter/archive/$_commit/nvim-treesitter-$pkgver.tar.gz"
+builddir="$srcdir/nvim-treesitter-$_commit"
+options="!check" # requires entire neovim tree
+
+package() {
+ install -d "$pkgdir"/usr/share/nvim/site
+ cp -ra lua autoload doc plugin queries \
+ "$pkgdir"/usr/share/nvim/site
+ install -Dm644 README.md -t "$pkgdir"/usr/share/doc/$pkgname
+}
+
+doc() {
+ default_doc
+ amove usr/share/nvim/site/doc
+}
+
+sha512sums="
+2ddd2ae92a5044e3c092e87b04385aff3d9bf0b8e886cd2375aa81281cfe82eeda2e8a59a040a270eb45646c3ca9afe4f24a70fc1ec7ce2c8edfc283e6ee89f4 nvim-treesitter-0.0.0_git20221013.tar.gz
+"
diff --git a/testing/nvimpager/APKBUILD b/testing/nvimpager/APKBUILD
new file mode 100644
index 00000000000..203d401c81e
--- /dev/null
+++ b/testing/nvimpager/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Prokop RandáÄek <prokop@rdck.dev>
+# Maintainer: Prokop RandáÄek <prokop@rdck.dev>
+pkgname=nvimpager
+pkgver=0.12.0
+pkgrel=0
+pkgdesc="Use nvim as a pager to view manpages, diffs, etc with nvim's syntax highlighting"
+url="https://github.com/lucc/nvimpager"
+arch="noarch"
+license="BSD-2-Clause"
+depends="cmd:nvim cmd:tput bash"
+makedepends="scdoc"
+checkdepends="cmd:lua lua-busted procps-ng"
+subpackages="$pkgname-doc $pkgname-zsh-completion"
+source="$pkgname-$pkgver.tar.gz::https://github.com/lucc/nvimpager/archive/refs/tags/v$pkgver.tar.gz"
+
+check() {
+ TERM=linux make test
+}
+
+package() {
+ make PREFIX="/usr" DESTDIR=$pkgdir install
+}
+
+sha512sums="
+a1b67aafdb73c5baa96cf0d682b1fa7ac7f39f58d6ce50f9875b1f9815dfce04921ffdd748552f07279cb9cc6b5c700c4aa43b7755952ce7993362b4c664e2de nvimpager-0.12.0.tar.gz
+"
diff --git a/testing/nvtop/APKBUILD b/testing/nvtop/APKBUILD
new file mode 100644
index 00000000000..0614e9b927c
--- /dev/null
+++ b/testing/nvtop/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=nvtop
+pkgver=3.1.0
+pkgrel=0
+pkgdesc="GPUs process monitoring for AMD, Intel and NVIDIA"
+url="https://github.com/Syllo/nvtop"
+# no gpus that are usable on s390x
+arch="all !s390x"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ eudev-dev
+ libdrm-dev
+ ncurses-dev
+ samurai
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/Syllo/nvtop/archive/$pkgver/nvtop-$pkgver.tar.gz"
+options="!check" # no tests provided by upstream
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+
+ case "$CARCH" in
+ arm*|aarch64) local msm=ON ;;
+ *) local msm=OFF ;;
+ esac
+
+ CFLAGS="$CFLAGS -flto=auto -DNDEBUG" \
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DAMDGPU_SUPPORT=ON \
+ -DINTEL_SUPPORT=ON \
+ -DMSM_SUPPORT=$msm \
+ -DNVIDIA_SUPPORT=ON \
+ $crossopts
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+a22806920d85954930cf9a24450de2603418326b59bc7acedf8ff59ddb0f40e119de496a63f42706b4b6961c83ba664a8a33a3e4106a1c3ef6cd3da758aa5a55 nvtop-3.1.0.tar.gz
+"
diff --git a/testing/nwg-bar/APKBUILD b/testing/nwg-bar/APKBUILD
new file mode 100644
index 00000000000..ea57036e24b
--- /dev/null
+++ b/testing/nwg-bar/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=nwg-bar
+pkgver=0.1.6
+pkgrel=2
+pkgdesc="GTK3-based button bar for sway and other wlroots-based compositors"
+url="https://github.com/nwg-piotr/nwg-bar/"
+arch="all"
+license="MIT"
+makedepends="go glib-dev cairo-dev gtk+3.0-dev gtk-layer-shell-dev"
+source="https://github.com/nwg-piotr/nwg-bar/archive/v$pkgver/nwg-bar-v$pkgver.tar.gz"
+options="!check net" # no upstream tests
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o bin/nwg-bar .
+}
+
+package() {
+ install -m755 -D ./bin/nwg-bar "$pkgdir"/usr/bin/nwg-bar
+ install -m644 -D -t "$pkgdir"/usr/share/nwg-bar ./config/*
+ install -m644 -D -t "$pkgdir"/usr/share/nwg-bar/images ./images/*
+}
+
+sha512sums="
+f59a7bf34d86bd7fe5c7a98653b364fbc53cde6262fbb962950b18dd77c8c20d59e1985347e1b3e300b2c9b68a84059009c3b0a9d0ee0152a30171c78435586a nwg-bar-v0.1.6.tar.gz
+"
diff --git a/testing/nwg-displays/APKBUILD b/testing/nwg-displays/APKBUILD
new file mode 100644
index 00000000000..a79ca3d0a93
--- /dev/null
+++ b/testing/nwg-displays/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer:
+pkgname=nwg-displays
+pkgver=0.3.13
+pkgrel=1
+pkgdesc="Output management utility for sway Wayland compositor"
+url="https://github.com/nwg-piotr/nwg-displays"
+arch="noarch"
+license="MIT"
+depends="
+ gtk+3.0
+ gtk-layer-shell
+ py3-gobject3
+ py3-i3ipc
+ python3
+ wlr-randr
+ "
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://github.com/nwg-piotr/nwg-displays/archive/v$pkgver/nwg-displays-$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+ccf708b5c528519c323951c6a2b2c0b0f5228fdfdf7e94f54f15eeb82d7fa52c8b49bf91399f6801651d02226592dc8cb6833dfe9d0cb59b5c420dd8462e1850 nwg-displays-0.3.13.tar.gz
+"
diff --git a/testing/nwg-dock/APKBUILD b/testing/nwg-dock/APKBUILD
new file mode 100644
index 00000000000..f8dbde7eacb
--- /dev/null
+++ b/testing/nwg-dock/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=nwg-dock
+pkgver=0.3.9
+pkgrel=3
+pkgdesc="GTK3-based dock for sway and other wlroots-based compositors"
+url="https://github.com/nwg-piotr/nwg-dock/"
+arch="all"
+license="MIT"
+makedepends="go glib-dev gtk+3.0-dev gtk-layer-shell-dev" # TODO: strip non-required
+#makedepends="go glib-dev cairo-dev gtk+3.0-dev gtk-layer-shell-dev" # TODO: strip non-required
+source="https://github.com/nwg-piotr/nwg-dock/archive/v$pkgver/nwg-dock-v$pkgver.tar.gz"
+options="!check net" # no upstream tests
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o bin/nwg-dock .
+}
+
+package() {
+ install -m755 -D ./bin/nwg-dock "$pkgdir"/usr/bin/nwg-dock
+ install -m644 -D -t "$pkgdir"/usr/share/nwg-dock ./config/*
+ install -m644 -D -t "$pkgdir"/usr/share/nwg-dock/images ./images/*
+}
+
+sha512sums="
+d19849659691e32a63f00b2a02c829e2cd4276f7539944e2ed7b1d630395471f1785dcb5f9cffc3a0f9aa7cde1a7305536c0ad5714750bcf0f2870e909db5c3e nwg-dock-v0.3.9.tar.gz
+"
diff --git a/testing/nymphcast-mediaserver/APKBUILD b/testing/nymphcast-mediaserver/APKBUILD
index e56c98ff53b..bc92f03a2b5 100644
--- a/testing/nymphcast-mediaserver/APKBUILD
+++ b/testing/nymphcast-mediaserver/APKBUILD
@@ -1,11 +1,9 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=nymphcast-mediaserver
-pkgver=0_git20210518
-pkgrel=0
-_commit="842957a77e8a642b9b0d52f9a573cb2b78ecb21a"
-# mips64 blocked by poco
-arch="all !mips64"
+pkgver=0.1
+pkgrel=2
+arch="all"
url="http://nyanko.ws/product_nymphcast.php"
pkgdesc="Media server for the NymphCast ecosystem"
license="BSD-3-Clause"
@@ -16,11 +14,11 @@ makedepends="
poco-dev
"
subpackages="$pkgname-nftables::noarch"
-source="https://github.com/MayaPosch/NymphCast-MediaServer/archive/$_commit/nymphcast-mediaserver-$_commit.tar.gz
+source="https://github.com/MayaPosch/NymphCast-MediaServer/archive/v$pkgver/nymphcast-mediaserver-v$pkgver.tar.gz
60_nymphcast-mediaserver.nft
"
options="!check" # No tests
-builddir="$srcdir/NymphCast-MediaServer-$_commit"
+builddir="$srcdir/NymphCast-MediaServer-$pkgver"
build() {
make
@@ -38,6 +36,6 @@ nftables() {
}
sha512sums="
-65cfc5c4de5f59ba45c5f31196465a6c8772b483a15c9bd3c7815628992898907e4b4e38bc0adc24018cd3d401038a84d7500f95dd93d703fe50005843a9edc9 nymphcast-mediaserver-842957a77e8a642b9b0d52f9a573cb2b78ecb21a.tar.gz
+98b68f4dc86b7c1f2b16fbee3d3fdc3004d50daf24478c5ff17edd839ad4929f0e60732fbff984b0e52ad7961860a3c2a6291d3ff738a7ffc45aa3f3180bc354 nymphcast-mediaserver-v0.1.tar.gz
28b84bee510cc8d58ccea9a8f1bb17f61c1c8cee44683b1674506e62c1b4187dfa410150cfffb41a6d803a081ff93d3039afedd9bac602edb8e2ec26bd053d43 60_nymphcast-mediaserver.nft
"
diff --git a/testing/nyx/APKBUILD b/testing/nyx/APKBUILD
deleted file mode 100644
index 0349d03adc8..00000000000
--- a/testing/nyx/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maintainer: Donoban <donoban@riseup.net>
-pkgname=nyx
-pkgver=2.1.0
-pkgrel=1
-pkgdesc="Terminal status monitor for Tor"
-url="https://nyx.torproject.org/"
-arch="noarch"
-license="LGPL-3.0-or-later"
-depends="py3-stem"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/n/nyx/nyx-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-69a645cc811a1b1fbd9cf0501d8f23f1a52e0e92a0598097bb0c9efb040e1895e1dd431bad93be36db0e85ca7ac32ee5c866d50d2812069a39e5160b44575a37 nyx-2.1.0.tar.gz
-"
diff --git a/testing/nyxt/APKBUILD b/testing/nyxt/APKBUILD
deleted file mode 100644
index bb80ea7dea0..00000000000
--- a/testing/nyxt/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Will Sinatra <wpsinatra@gmail.com>
-# Contributor: Benjamin Buccianti <bebuccianti@gmail.com>
-# Maintainer: Will Sinatra <wpsinatra@gmail.com>
-pkgname=nyxt
-pkgver=1.5.0
-pkgrel=1
-pkgdesc="Atlas Engineer Nyxt Browser"
-url="https://nyxt.atlas.engineer"
-arch="x86_64 aarch64"
-#SBCL must be compiled with thread support for Nyxt to work
-#SBCL thread is not supported on armv7
-#SBCL is only built on arches x86, x86_64, aarch64, and armv7
-license="BSD-3-Clause"
-source="$pkgname-$pkgver.zip::https://github.com/atlas-engineer/nyxt/archive/$pkgver.zip"
-depends="
- glib-networking
- gsettings-desktop-schemas
- libfixposix-dev
- gstreamer
- gst-plugins-base
- gst-plugins-good
- gst-plugins-bad
- gst-plugins-ugly
- libffi-dev
- "
-makedepends="git sbcl webkit2gtk-dev"
-options="!check !strip" #No testsuite exists; Stripping the package causes the
-# package to build, but the nyxt browser is unfunctional, dropping to an SBCL repl
-# instead of properly running.
-
-replaces=next
-provides=next=$pkgver-r$pkgrel
-
-build() {
- make all
-}
-
-package() {
- make PREFIX=/usr DESTDIR="$pkgdir" install
-}
-
-sha512sums="1d27e2a2b1f586ea2904d51205bceaa3b7ac3107e5b1135c0f6be54dd2d3bf82aec69fc01a56eed64b9540364971b4638aa873cbd4ed37c11dfa25cfdf195c27 nyxt-1.5.0.zip"
diff --git a/testing/nzbget/APKBUILD b/testing/nzbget/APKBUILD
index 604d019086b..09ae54943df 100644
--- a/testing/nzbget/APKBUILD
+++ b/testing/nzbget/APKBUILD
@@ -2,14 +2,16 @@
# Maintainer: August Klein <amatcoder@gmail.com>
pkgname=nzbget
pkgver=21.1
-pkgrel=0
+pkgrel=2
pkgdesc="Usenet downloader"
url="https://nzbget.net"
arch="all"
license="GPL-2.0-or-later"
makedepends="libxml2-dev ncurses-dev openssl-dev"
subpackages="$pkgname-doc"
-source="https://github.com/nzbget/nzbget/releases/download/v$pkgver/nzbget-$pkgver-src.tar.gz"
+source="https://github.com/nzbget/nzbget/releases/download/v$pkgver/nzbget-$pkgver-src.tar.gz
+ openssl3.patch
+ "
prepare() {
default_prepare
@@ -37,4 +39,5 @@ package() {
sha512sums="
d8dc1ad324f675c5505e623049a14c022475267aa03dcd5d8fd6cf9ed3b776cc2776077b61d035e252937ea4b6bf8f90bd33e715cfd842d2e012615df3ffeafb nzbget-21.1-src.tar.gz
+d080db57ee71ca04466b649cce7ca6a32d9fbecee0feae7b5c07482e7590202235e0b8d61dc8b60b4acf3c5bdd6c063042a212951b2d51a13ffe6c547a9ecc2e openssl3.patch
"
diff --git a/testing/nzbget/openssl3.patch b/testing/nzbget/openssl3.patch
new file mode 100644
index 00000000000..b2f8decf8c7
--- /dev/null
+++ b/testing/nzbget/openssl3.patch
@@ -0,0 +1,29 @@
+Patch-Source: https://github.com/nzbget/nzbget/pull/793
+From f76e8555504e3af4cf8dd4a8c8e374b3ca025099 Mon Sep 17 00:00:00 2001
+From: Simon Chopin <simon.chopin@canonical.com>
+Date: Tue, 7 Dec 2021 13:23:21 +0100
+Subject: [PATCH] daemon:connect: don't use FIPS_mode_set with OpenSSL 3
+
+This function has been removed in OpenSSL 3, replaced by
+EVP_default_properties_enable_fips. See
+https://www.openssl.org/docs/man3.0/man7/migration_guide.html
+---
+ daemon/connect/TlsSocket.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/daemon/connect/TlsSocket.cpp b/daemon/connect/TlsSocket.cpp
+index 544bf6850..831da0dc0 100644
+--- a/daemon/connect/TlsSocket.cpp
++++ b/daemon/connect/TlsSocket.cpp
+@@ -189,7 +189,11 @@ void TlsSocket::Final()
+
+ #ifdef HAVE_OPENSSL
+ #ifndef LIBRESSL_VERSION_NUMBER
++#if OPENSSL_VERSION_NUMBER < 0x30000000L
+ FIPS_mode_set(0);
++#else
++ EVP_default_properties_enable_fips(NULL, 0);
++#endif
+ #endif
+ #ifdef NEED_CRYPTO_LOCKING
+ CRYPTO_set_locking_callback(nullptr);
diff --git a/testing/oauth2-proxy/APKBUILD b/testing/oauth2-proxy/APKBUILD
new file mode 100644
index 00000000000..e941a437c55
--- /dev/null
+++ b/testing/oauth2-proxy/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=oauth2-proxy
+pkgver=7.6.0
+pkgrel=3
+pkgdesc="Reverse proxy that provides authentication with Google, Azure, OpenID Connect and many more identity providers"
+url="https://oauth2-proxy.github.io/oauth2-proxy"
+arch="all"
+license="MIT"
+install="$pkgname.pre-install"
+makedepends="go"
+subpackages="$pkgname-openrc"
+source="
+ https://github.com/oauth2-proxy/oauth2-proxy/archive/v$pkgver/oauth2-proxy-$pkgver.tar.gz
+
+ oauth2-proxy.initd
+ oauth2-proxy.confd
+
+ make-dont-disable-cgo.patch
+ "
+options="net"
+
+build() {
+ VERSION="$pkgver" make oauth2-proxy
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 oauth2-proxy "$pkgdir"/usr/bin/oauth2-proxy
+ install -Dm755 "$srcdir"/oauth2-proxy.initd "$pkgdir"/etc/init.d/oauth2-proxy
+ install -Dm755 "$srcdir"/oauth2-proxy.confd "$pkgdir"/etc/conf.d/oauth2-proxy
+ install -Dm644 contrib/oauth2-proxy.cfg.example "$pkgdir"/etc/oauth2-proxy/oauth2-proxy.cfg
+}
+
+sha512sums="
+de7574ae6ecf0da0b9962e4601fdc5b7f742fa0d4a55a0e5844256a2aa10170973c324b1041c490b2be0023b954a53d9b78ed488dcd238a2a047e25ab5ba7667 oauth2-proxy-7.6.0.tar.gz
+4f91d8bff4ced7fca4d0795c2a0a89e0c8cb28f981db435f30b30f122757b8fe9d855a0d4d87497becedc543cdf48d20f3bc7813728bffaeac891d927157a237 oauth2-proxy.initd
+56ec244414ecc96cad80b7c3f231c9e437350046ec80edc3661753bf24e194c51472acf2b097d893f3aed4200b0304e20e9c4d6edd05d698ff54524137c726e7 oauth2-proxy.confd
+783bd07239d36e8913836f2f1970e1603ae43d58e643b689fa9d6abaeaf6b34c5e0e250bd13fefecf7b43c45b66cb54170b9f8b913d35d6def28dcb6ea3a5489 make-dont-disable-cgo.patch
+"
diff --git a/testing/oauth2-proxy/make-dont-disable-cgo.patch b/testing/oauth2-proxy/make-dont-disable-cgo.patch
new file mode 100644
index 00000000000..9006c12e4ea
--- /dev/null
+++ b/testing/oauth2-proxy/make-dont-disable-cgo.patch
@@ -0,0 +1,16 @@
+Fixes: -buildmode=pie requires external (cgo) linking, but cgo is not enabled
+
+This is enforced on riscv64 since go 1.22
+diff --git a/Makefile b/Makefile
+index 41d01bf..b1d7e17 100644
+--- a/Makefile
++++ b/Makefile
+@@ -40,7 +40,7 @@ lint: validate-go-version
+ build: validate-go-version clean $(BINARY)
+
+ $(BINARY):
+- CGO_ENABLED=0 $(GO) build -a -installsuffix cgo -ldflags="-X main.VERSION=${VERSION}" -o $@ github.com/oauth2-proxy/oauth2-proxy/v7
++ $(GO) build -a -installsuffix cgo -ldflags="-X main.VERSION=${VERSION}" -o $@ github.com/oauth2-proxy/oauth2-proxy/v7
+
+ DOCKER_BUILD_PLATFORM ?= linux/amd64,linux/arm64,linux/ppc64le,linux/arm/v7
+ DOCKER_BUILD_RUNTIME_IMAGE ?= gcr.io/distroless/static:nonroot
diff --git a/testing/oauth2-proxy/oauth2-proxy.confd b/testing/oauth2-proxy/oauth2-proxy.confd
new file mode 100644
index 00000000000..bf95e6b8125
--- /dev/null
+++ b/testing/oauth2-proxy/oauth2-proxy.confd
@@ -0,0 +1,5 @@
+# comment to not use process supervisor
+supervisor=supervise-daemon
+
+# extra args
+#command_args=""
diff --git a/testing/oauth2-proxy/oauth2-proxy.initd b/testing/oauth2-proxy/oauth2-proxy.initd
new file mode 100644
index 00000000000..0c32bc2edbc
--- /dev/null
+++ b/testing/oauth2-proxy/oauth2-proxy.initd
@@ -0,0 +1,37 @@
+#!/sbin/openrc-run
+
+command="/usr/bin/oauth2-proxy"
+command_args="--config=/etc/oauth2-proxy/oauth2-proxy.cfg $command_args"
+command_user="oa2proxy:oa2proxy"
+command_background=true
+directory="/var/lib/oauth2-proxy"
+pidfile="/run/$RC_SVCNAME.pid"
+
+output_log="/var/log/oauth2-proxy.log"
+error_log="/var/log/oauth2-proxy.log"
+
+extra_started_commands="reload"
+description_reload="Reload configuration"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -m 755 -o $command_user /run/oauth2-proxy
+ checkpath -d -m 755 -o $command_user /var/lib/oauth2-proxy
+
+ checkpath -f -m 640 -o $command_user /etc/oauth2-proxy/oauth2-proxy.cfg
+ checkpath -f -m 644 -o $command_user /var/log/oauth2-proxy.log
+}
+
+reload() {
+ ebegin "Reloading configuration"
+
+ if [ -n "$supervisor" ]; then
+ $supervisor $RC_SVCNAME --signal HUP
+ else
+ start-stop-daemon --signal HUP --pidfile "$pidfile"
+ fi
+}
diff --git a/testing/oauth2-proxy/oauth2-proxy.pre-install b/testing/oauth2-proxy/oauth2-proxy.pre-install
new file mode 100644
index 00000000000..3f94b54e4c3
--- /dev/null
+++ b/testing/oauth2-proxy/oauth2-proxy.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S oa2proxy 2>/dev/null
+adduser -S -D -H -h /var/lib/oauth2-proxy -s /sbin/nologin -G oa2proxy -g oa2proxy oa2proxy 2>/dev/null
+
+exit 0
diff --git a/testing/obconf-qt/APKBUILD b/testing/obconf-qt/APKBUILD
deleted file mode 100644
index ada747d600e..00000000000
--- a/testing/obconf-qt/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=obconf-qt
-pkgver=0.16.1
-pkgrel=0
-pkgdesc="Qt port of obconf, the Openbox configuration tool"
-url="https://github.com/lxqt/obconf-qt"
-# s390x, riscv64, mips64: blocked by openbox
-# *: blocked by lxqt
-arch="all !s390x !armhf !mips64 !riscv64"
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev
- qt5-qttools-dev openbox-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/obconf-qt/releases/download/$pkgver/obconf-qt-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-863ae74e0ca3191a2e9471f722eff1ed9b55cc2fe1851c6bc0a52610682e1aa6087a45b34d3bc79ab26d42340c7f8aa37544a6a83b1775a31f79277174667f7f obconf-qt-0.16.1.tar.xz
-"
diff --git a/testing/obfs4proxy/APKBUILD b/testing/obfs4proxy/APKBUILD
deleted file mode 100644
index 93104529a12..00000000000
--- a/testing/obfs4proxy/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Katie Holly <holly@fuslvz.ws>
-# Maintainer: Katie Holly <holly@fuslvz.ws>
-pkgname=obfs4proxy
-pkgver=0.0.11
-pkgrel=4
-pkgdesc="pluggable transport proxy for Tor, implementing obfs4"
-url="https://gitweb.torproject.org/pluggable-transports/obfs4.git/"
-arch="x86_64 x86 armv7"
-license="BSD-3-Clause"
-makedepends="go"
-options="!strip chmod-clean"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Yawning/obfs4/archive/obfs4proxy-$pkgver.tar.gz"
-builddir="$srcdir"/obfs4-$pkgname-$pkgver
-
-export GOPATH="$srcdir"
-
-build() {
- go build -v -o ./$pkgname-executable ./$pkgname
-}
-
-check() {
- go test -short ./...
-}
-
-package() {
- install -Dm755 $pkgname-executable "$pkgdir"/usr/bin/$pkgname
-}
-
-sha512sums="3eb50bc8067802f8260e0926999a659919e55cb34247f443f66a4852c9ceceacae361602a57ad1fd28a84e4ed54f3800c3258e67266eb23d45b1d09e31c5d869 obfs4proxy-0.0.11.tar.gz"
diff --git a/testing/objconv/APKBUILD b/testing/objconv/APKBUILD
index f5e7af5a238..4a253da43cb 100644
--- a/testing/objconv/APKBUILD
+++ b/testing/objconv/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Olliver Schinagl <oliver@schinagl.nl>
pkgname="objconv"
pkgver="2.52_git20210213"
-pkgrel=1
+pkgrel=2
pkgdesc="Agner's Object file converter"
url="http://www.agner.org/optimize/#objconv"
arch="all"
@@ -22,7 +22,7 @@ prepare() {
build() {
cd "${builddir}/src/"
- make ${JOBS:+-j ${JOBS}} -f "../Makefile"
+ make -f "../Makefile"
}
package() {
diff --git a/testing/ocaml-alcotest/APKBUILD b/testing/ocaml-alcotest/APKBUILD
new file mode 100644
index 00000000000..4202de014ca
--- /dev/null
+++ b/testing/ocaml-alcotest/APKBUILD
@@ -0,0 +1,102 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-alcotest
+_pkgname=alcotest-js
+pkgver=1.5.0
+pkgrel=3
+pkgdesc="Lightweight and colourful test framework"
+url="https://github.com/mirage/alcotest"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ dune
+ ocaml
+ ocaml-astring-dev
+ ocaml-cmdliner-dev
+ ocaml-findlib
+ ocaml-fmt-dev
+ ocaml-logs-dev
+ ocaml-re-dev
+ ocaml-seq-dev
+ ocaml-stdlib-shims
+ ocaml-uutf-dev
+ ocaml-lwt-dev
+ ocaml-ocplib-endian-dev
+ ocaml-mmap-dev
+ ocaml-bigarray-compat-dev
+ "
+options="!check"
+checkdepends="ocaml-result-dev"
+provides="$pkgname-lwt=$pkgver-r$pkgrel"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/alcotest/releases/download/$pkgver/alcotest-js-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build \
+ -p alcotest,alcotest-lwt \
+ @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
+ alcotest alcotest-lwt
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+ provides="$pkgname-lwt-dev=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+1aea91de40795ec4f6603d510107e4b663c1a94bd223f162ad231316d8595e9e098cabbe28a46bdcb588942f3d103d8377373d533bcc7413ba3868a577469b45 ocaml-alcotest-1.5.0.tar.bz2
+"
diff --git a/testing/ocaml-angstrom/APKBUILD b/testing/ocaml-angstrom/APKBUILD
new file mode 100644
index 00000000000..a42f7378ad6
--- /dev/null
+++ b/testing/ocaml-angstrom/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-angstrom
+_pkgname=angstrom
+pkgver=0.16.0
+pkgrel=0
+pkgdesc="Parser combinators built for speed and memory-efficiency"
+url="https://github.com/inhabitedtype/angstrom"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-bigstringaf-dev ocaml-lwt-dev"
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-ppx_let-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/inhabitedtype/angstrom/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build \
+ -p angstrom,angstrom-unix \
+ --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ angstrom angstrom-unix
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+3fda504f0d4cb53d0b7d249964257f3ab8f9a0b4e0dee13665e8b65d2a281bc1e0529f4f2e29cf376c7331bd44833cae929641a559ac003989c7341b08e33f6c angstrom-0.16.0.tar.gz
+"
diff --git a/testing/ocaml-arp/APKBUILD b/testing/ocaml-arp/APKBUILD
new file mode 100644
index 00000000000..c22a298123e
--- /dev/null
+++ b/testing/ocaml-arp/APKBUILD
@@ -0,0 +1,99 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-arp
+_pkgname=arp
+pkgver=3.0.0
+pkgrel=3
+pkgdesc="Address Resolution Protocol purely in OCaml"
+url="https://github.com/mirage/arp"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+# ocaml-bisect_ppx only needed for dev
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-bisect_ppx-dev
+ ocaml-cstruct-dev
+ ocaml-duration-dev
+ ocaml-ethernet-dev
+ ocaml-ipaddr-dev
+ ocaml-logs-dev
+ ocaml-mirage-profile-dev
+ ocaml-mirage-time-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="
+ ocaml-alcotest-dev
+ ocaml-fmt-dev
+ ocaml-mirage-clock-unix-dev
+ ocaml-mirage-flow-dev
+ ocaml-mirage-random-dev
+ ocaml-mirage-random-test-dev
+ ocaml-mirage-time-unix-dev
+ ocaml-mirage-vnetif-dev
+ "
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/arp/releases/download/v$pkgver/arp-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+52eb9fdb00729a5b6c1d7dd9d14fca213aecddc6e2893c0e670dea3b31576e6765061f557b6521a065ed15a931f4cbbf432b4db8fe53df40dc801695acd242d4 ocaml-arp-3.0.0.tar.bz2
+"
diff --git a/testing/ocaml-asn1-combinators/APKBUILD b/testing/ocaml-asn1-combinators/APKBUILD
new file mode 100644
index 00000000000..12a7420c85b
--- /dev/null
+++ b/testing/ocaml-asn1-combinators/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-asn1-combinators
+_pkgname=asn1-combinators
+pkgver=0.2.6
+pkgrel=2
+pkgdesc="Embed typed ASN.1 grammars in OCaml"
+url="https://github.com/mirleft/ocaml-asn1-combinators"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+# ocaml-zarith is not separated into a -dev subpackage
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-ptime-dev
+ ocaml-zarith
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirleft/ocaml-asn1-combinators/releases/download/v$pkgver/asn1-combinators-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+4c1b28f1d230395ff1ad3b8e8d03981b10015062ec270f29e2521914eb64c2fa4d5df68363e339e9a1158c3b58aef0e25156f7ec6addd85a580fecadc17edfac ocaml-asn1-combinators-0.2.6.tar.bz2
+"
diff --git a/testing/ocaml-astring/APKBUILD b/testing/ocaml-astring/APKBUILD
new file mode 100644
index 00000000000..7b84534b292
--- /dev/null
+++ b/testing/ocaml-astring/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-astring
+_pkgname=astring
+pkgver=0.8.5
+pkgrel=2
+pkgdesc="Alternative String module for OCaml"
+url="https://erratique.ch/software/astring"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocamlbuild
+ ocaml-topkg
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/astring/releases/astring-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+b40634cc2053d651bce5c1974996b352ffa48ecac429919113840b2a807efb34387d950f12accb346afd5e40514cb90219d70b00109c30e1450c4e99f65c9856 ocaml-astring-0.8.5.tar.bz2
+"
diff --git a/testing/ocaml-base/APKBUILD b/testing/ocaml-base/APKBUILD
new file mode 100644
index 00000000000..43fd9208c68
--- /dev/null
+++ b/testing/ocaml-base/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-base
+_pkgname=base
+pkgver=0.16.3
+pkgrel=0
+pkgdesc="Full standard library replacement for OCaml"
+url="https://github.com/janestreet/base"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-sexplib0-dev"
+makedepends="$depends_dev dune dune-configurator ocaml ocaml-compiler-libs"
+subpackages="$pkgname-dev"
+source="https://github.com/janestreet/base/archive/refs/tags/v$pkgver/base-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+69380ed392faf4495459f97f70a10a6959fce71d2e6ba093472fc272141646307fd7872407de855dfa48ef0435f6587eae5aa50f4a67eac40a9e1946d0c3c070 base-0.16.3.tar.gz
+"
diff --git a/testing/ocaml-base64/APKBUILD b/testing/ocaml-base64/APKBUILD
new file mode 100644
index 00000000000..272311c991d
--- /dev/null
+++ b/testing/ocaml-base64/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-base64
+_pkgname=base64
+pkgver=3.5.0
+pkgrel=2
+pkgdesc="Base64 encoding for OCaml"
+url="https://github.com/mirage/ocaml-base64"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-bos-dev ocaml-rresult-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ocaml-base64/releases/download/v$pkgver/base64-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+82efc76ca75717dbd533eac20845ca8731f535233f6a3e6081114d7e3dc7ee8367ded16f402ef05ad0bf1217a3a6224161c92b9467023e44fc7f3598a314a432 ocaml-base64-3.5.0.tar.bz2
+"
diff --git a/testing/ocaml-bigarray-compat/APKBUILD b/testing/ocaml-bigarray-compat/APKBUILD
new file mode 100644
index 00000000000..c2946c7961d
--- /dev/null
+++ b/testing/ocaml-bigarray-compat/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-bigarray-compat
+_pkgname=bigarray-compat
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="Compatibility library to use Stdlib.Bigarray when possible"
+url="https://github.com/mirage/bigarray-compat"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+options="!check"
+makedepends="dune ocaml ocaml-findlib ocamlbuild ocaml-compiler-libs"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mirage/bigarray-compat/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build @install
+}
+
+check() {
+ dune runtest
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+
+ # FIXME: quick fix for ocaml-ctypes
+ ln -sv bigarray-compat/bigarray_compat.cmi \
+ "$pkgdir"/usr/lib/ocaml/
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+bbd9c2b319930db832ae8d41844ef81e74ced9f745f32981f2efcc9777220d55e1e5d6dc2965e9e1a6ed5e0d56ad27c672289f8dc28fbe2658f3230cbda5a800 ocaml-bigarray-compat-1.1.0.tar.gz
+"
diff --git a/testing/ocaml-bigstringaf/APKBUILD b/testing/ocaml-bigstringaf/APKBUILD
new file mode 100644
index 00000000000..3f67f25a426
--- /dev/null
+++ b/testing/ocaml-bigstringaf/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-bigstringaf
+_pkgname=bigstringaf
+pkgver=0.9.0
+pkgrel=2
+pkgdesc="Bigstring intrinsics and fast blits based on memcpy/memmove"
+url="https://github.com/inhabitedtype/bigstringaf"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/inhabitedtype/bigstringaf/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+c5148d967beef15bba21a706009cb8443fe6afd76b949d6a6bcf4fc6c6d410bd0ca4c86b4ef6897cad73c51449e5387ee0173347b8d43c49f1a62024a8aa4db5 ocaml-bigstringaf-0.9.0.tar.gz
+"
diff --git a/testing/ocaml-biniou/APKBUILD b/testing/ocaml-biniou/APKBUILD
new file mode 100644
index 00000000000..79a3a58f6f9
--- /dev/null
+++ b/testing/ocaml-biniou/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-biniou
+_pkgname=biniou
+pkgver=1.2.1
+pkgrel=5
+pkgdesc="Extensible binary data format, like JSON but faster"
+url="https://github.com/ocaml-community/biniou"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml ocaml-easy-format-dev ocaml-findlib"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml-community/biniou/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build @install
+}
+
+check() {
+ dune runtest
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f0166666559f3a767fdc6987bad45ec4a772b70b8880b6d769ef644c9bfd46962f089c7b5dfff368413015e765daf4bacffe253bdb3478d9a4d30a15f0d29589 ocaml-biniou-1.2.1.tar.gz
+"
diff --git a/testing/ocaml-bisect_ppx/APKBUILD b/testing/ocaml-bisect_ppx/APKBUILD
new file mode 100644
index 00000000000..dee6025c47e
--- /dev/null
+++ b/testing/ocaml-bisect_ppx/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-bisect_ppx
+_pkgname=bisect_ppx
+pkgver=2.8.3
+pkgrel=0
+pkgdesc="Code coverage for OCaml"
+url="https://github.com/aantron/bisect_ppx"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cmdliner-dev
+ ocaml-ppxlib-dev
+ "
+makedepends="$depends_dev dune ocaml"
+options="!check" # needs ocamlformat
+subpackages="$pkgname-dev"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/aantron/bisect_ppx/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+061f335617ff294a470efd9769adacf7a6fd11f30493aea8717e4b61a79e77a4f610dbf6026f518b35e3ef58bd0ba209bfdf60e589888469bee815d007488beb bisect_ppx-2.8.3.tar.gz
+"
diff --git a/testing/ocaml-bitstring/APKBUILD b/testing/ocaml-bitstring/APKBUILD
new file mode 100644
index 00000000000..697f54c3c86
--- /dev/null
+++ b/testing/ocaml-bitstring/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-bitstring
+_pkgname=bitstring
+pkgver=4.1.0
+pkgrel=3
+pkgdesc="Erlang-style bitstrings for OCaml"
+url="https://github.com/xguerin/bitstring"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.0-or-later"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-ppxlib-dev
+ ocaml-stdlib-shims
+ "
+makedepends="$depends_dev dune ocaml"
+options="!check" # needs oUnit
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xguerin/bitstring/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+808c2f1e12286a0a346d52b0a72008e248a3ca0fd9f99b8db9f38929d25492bcb6e65ecb7e7339c23269dd948c51e5f0fc917b13adc0c497ea4d4e5c0ed7d250 ocaml-bitstring-4.1.0.tar.gz
+"
diff --git a/testing/ocaml-bos/APKBUILD b/testing/ocaml-bos/APKBUILD
new file mode 100644
index 00000000000..0e0859abc27
--- /dev/null
+++ b/testing/ocaml-bos/APKBUILD
@@ -0,0 +1,91 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-bos
+_pkgname=bos
+pkgver=0.2.1
+pkgrel=2
+pkgdesc="Basic OS interaction for OCaml"
+url="https://erratique.ch/software/bos"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-astring-dev
+ ocaml-fmt-dev
+ ocaml-fpath-dev
+ ocaml-logs-dev
+ ocaml-rresult-dev
+ "
+makedepends="
+ $depends_dev
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ cmd:opam-installer
+ "
+checkdepends="ocaml-mtime-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/bos/releases/bos-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+8daeb8a4c2dd1f2460f6274ada19f4f1b6ebe875ff83a938c93418ce0e6bdb74b8afc5c9a7d410c1c9df2dad030e4fa276b6ed2da580639484e8b5bc92610b1d ocaml-bos-0.2.1.tar.bz2
+"
diff --git a/testing/ocaml-ca-certs-nss/APKBUILD b/testing/ocaml-ca-certs-nss/APKBUILD
new file mode 100644
index 00000000000..17a16aaf261
--- /dev/null
+++ b/testing/ocaml-ca-certs-nss/APKBUILD
@@ -0,0 +1,101 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ca-certs-nss
+_pkgname=ca-certs-nss
+pkgver=3.89.1
+pkgrel=1
+pkgdesc="X.509 trust anchors extracted from Mozilla's NSS"
+url="https://github.com/mirage/ca-certs-nss"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-mirage-clock-dev
+ ocaml-mirage-crypto-dev
+ ocaml-x509-dev
+ "
+makedepends="
+ $depends_dev
+ dune
+ ocaml
+ ocaml-astring-dev
+ ocaml-bos-dev
+ ocaml-cmdliner-dev
+ ocaml-logs-dev
+ ocaml-fmt-dev
+ gmp-dev
+ "
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ca-certs-nss/releases/download/v$pkgver/ca-certs-nss-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+tools() {
+ pkgdesc="$pkgdesc (command line utilities)"
+ depends=""
+
+ amove usr/bin
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+274d59075585ca13420c2d35082e9d12e1d842620c9b13e2215e0ade8c114d18e85dfe08da24f51dbfe69abccaef14d0ca6968f6073718063a925cdc9986699e ocaml-ca-certs-nss-3.89.1.tar.bz2
+"
diff --git a/testing/ocaml-ca-certs/APKBUILD b/testing/ocaml-ca-certs/APKBUILD
new file mode 100644
index 00000000000..834292bc984
--- /dev/null
+++ b/testing/ocaml-ca-certs/APKBUILD
@@ -0,0 +1,88 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ca-certs
+_pkgname=ca-certs
+pkgver=0.2.2
+pkgrel=2
+pkgdesc="Detect root CA certificates from the operating system"
+url="https://github.com/mirage/ca-certs"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-astring-dev
+ ocaml-bos-dev
+ ocaml-fpath-dev
+ ocaml-logs-dev
+ ocaml-mirage-crypto-dev
+ ocaml-ptime-dev
+ ocaml-x509-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-fmt-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ca-certs/releases/download/v$pkgver/ca-certs-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+70e564a5bb69a66018ff3387bf7b4b6af2ec1507d9f2f140f2aa8519e405920ec1469e56d1fa2aa8b452d05531a35f22df2c1ac08071f9a322525e95de8e3e1f ocaml-ca-certs-0.2.2.tar.bz2
+"
diff --git a/testing/ocaml-cairo2/APKBUILD b/testing/ocaml-cairo2/APKBUILD
new file mode 100644
index 00000000000..0ff0a866016
--- /dev/null
+++ b/testing/ocaml-cairo2/APKBUILD
@@ -0,0 +1,88 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-cairo2
+_pkgname=cairo2
+pkgver=0.6.2
+pkgrel=2
+pkgdesc="OCaml bindings to Cairo, a 2D Vector Graphics Library"
+url="https://github.com/Chris00/ocaml-cairo"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-3.0-only"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ dune
+ dune-configurator-dev
+ ocaml
+ ocaml-compiler-libs
+ ocaml-csexp-dev
+ cairo-dev
+ "
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/Chris00/ocaml-cairo/releases/download/$pkgver/cairo2-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build -p cairo2 @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
+ cairo2
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+789b65428855c3b8fb71836ee6e607870c3140a6152fb01b8ba6e7d2e2f4842a62412061a5eff99023234d305587b605d0cbbacd29456c86a52e9df6466bd302 ocaml-cairo2-0.6.2.tar.bz2
+"
diff --git a/testing/ocaml-calendar/APKBUILD b/testing/ocaml-calendar/APKBUILD
index bdee5782acf..d58c15b9095 100644
--- a/testing/ocaml-calendar/APKBUILD
+++ b/testing/ocaml-calendar/APKBUILD
@@ -1,17 +1,22 @@
# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
pkgname=ocaml-calendar
+_pkgname=calendar
pkgver=2.04
-pkgrel=1
+pkgrel=4
pkgdesc="Objective Caml library for managing dates and times"
url="https://forge.ocamlcore.org/projects/calendar/"
-# 32-bits fails packaging because of textrels
-arch="all !x86 !armv7 !armhf !mips64 !riscv64" # restricted by ocaml
-license="LGPL-2.1-or-later-WITH-linking-exception"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
makedepends="ocaml ocaml-findlib-dev ocaml-ocamldoc gawk"
subpackages="$pkgname-dev $pkgname-doc"
source="https://download.ocamlcore.org/calendar/calendar/$pkgver/calendar-$pkgver.tar.gz"
-builddir="$srcdir/calendar-$pkgver"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
./configure --prefix=/usr --libdir=/usr/lib
@@ -32,6 +37,43 @@ package() {
install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
sha512sums="
3941768428eda47f47912846cc2921ee82c722bda7cf6095c1c8bdcfebc19bb8f64ebb1a25475396d2a49c186b83421af63602a54a261684117b1c036a66cf3d calendar-2.04.tar.gz
"
diff --git a/testing/ocaml-camlzip/APKBUILD b/testing/ocaml-camlzip/APKBUILD
new file mode 100644
index 00000000000..4b24ebb8cc4
--- /dev/null
+++ b/testing/ocaml-camlzip/APKBUILD
@@ -0,0 +1,76 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-camlzip
+_pkgname=camlzip
+pkgver=1.11
+_pkgver="rel${pkgver//./}"
+pkgrel=2
+pkgdesc="Access compressed files in ZIP, GZIP and JAR format"
+url="https://github.com/xavierleroy/camlzip"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="ocaml ocaml-findlib zlib-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xavierleroy/camlzip/archive/$_pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$_pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ make all
+}
+
+package() {
+ export OCAMLFIND_DESTDIR="$pkgdir/$_ocamldir"
+ export OCAMLFIND_LDCONF=ignore
+ mkdir -vp "$OCAMLFIND_DESTDIR"
+
+ make install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+4d69ef900437e66e00cd345497ec70f407f28cd8344ee5f2fad685d3bfe356924597d1854b752f2841b4007f96d6e0307cfae7e13cfb6f74951ae3eba5198a06 ocaml-camlzip-1.11.tar.gz
+"
diff --git a/testing/ocaml-camomile/APKBUILD b/testing/ocaml-camomile/APKBUILD
new file mode 100644
index 00000000000..1ac56963d75
--- /dev/null
+++ b/testing/ocaml-camomile/APKBUILD
@@ -0,0 +1,96 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-camomile
+_pkgname=camomile
+pkgver=1.0.2
+pkgrel=3
+pkgdesc="A Unicode library for OCaml"
+url="https://github.com/yoriyuki/Camomile"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.0-or-later"
+depends="$pkgname-data=$pkgver-r$pkgrel"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml ocaml-compiler-libs ocaml-cppo ocaml-findlib"
+subpackages="$pkgname-dev $pkgname-data::noarch"
+options="!check"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/yoriyuki/Camomile/releases/download/$pkgver/camomile-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ # Workaround for https://github.com/yoriyuki/Camomile/issues/39.
+ if [ "$CARCH" = ppc64le ]; then
+ ulimit -Hs unlimited
+ ulimit -Ss 65536
+ fi
+
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build -p camomile @install
+}
+
+check() {
+ dune runtest
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
+ camomile
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+data() {
+ pkgdesc="$pkgdesc (data files)"
+ depends=""
+
+ amove usr/share/"$_pkgname"
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+7586422e68779476206027c6ebbe19b677fbe459153221f7c952c7fae374c5c8232249cb76fdb1f482069707aa1580be827cd39693906142988268b7f0e7f6d0 ocaml-camomile-1.0.2.tar.bz2
+"
diff --git a/testing/ocaml-charinfo_width/APKBUILD b/testing/ocaml-charinfo_width/APKBUILD
new file mode 100644
index 00000000000..cd984f54d78
--- /dev/null
+++ b/testing/ocaml-charinfo_width/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-charinfo_width
+_pkgname=charInfo_width
+pkgver=1.1.0
+pkgrel=3
+pkgdesc="Determine column width for a character in OCaml"
+url="https://github.com/kandu/charinfo_width/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-camomile-dev ocaml-result-dev"
+makedepends="$depends_dev dune ocaml"
+options="!check" # needs ppx_expect
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kandu/charInfo_width/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+c8dac9eb6f520213de69b23433e2f0d6a21578c70ae69fb682065e707363968959395a6ddc6c88893e08372a138287318634b52a8b4fb70ac988b4ad4a18b140 ocaml-charinfo_width-1.1.0.tar.gz
+"
diff --git a/testing/ocaml-cmdliner/APKBUILD b/testing/ocaml-cmdliner/APKBUILD
new file mode 100644
index 00000000000..a029a7768c2
--- /dev/null
+++ b/testing/ocaml-cmdliner/APKBUILD
@@ -0,0 +1,72 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-cmdliner
+_pkgname=cmdliner
+pkgver=1.1.1
+pkgrel=3
+pkgdesc="Declarative definition of command line interfaces for OCaml"
+url="https://erratique.ch/software/cmdliner"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="ocaml"
+options="!check" # no tests provided
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/cmdliner/releases/cmdliner-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ make -j1 all
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ make DESTDIR="$pkgdir" install-doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+5478ad833da254b5587b3746e3a8493e66e867a081ac0f653a901cc8a7d944f66e4387592215ce25d939be76f281c4785702f54d4a74b1700bc8838a62255c9e ocaml-cmdliner-1.1.1.tar.bz2
+"
diff --git a/testing/ocaml-compiler-libs-repackaged/APKBUILD b/testing/ocaml-compiler-libs-repackaged/APKBUILD
new file mode 100644
index 00000000000..bbf75db047e
--- /dev/null
+++ b/testing/ocaml-compiler-libs-repackaged/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-compiler-libs-repackaged
+_pkgname=ocaml-compiler-libs
+pkgver=0.12.4
+pkgrel=3
+pkgdesc="OCaml compiler libraries repackaged to not expose everything at toplevel"
+url="https://github.com/janestreet/ocaml-compiler-libs"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-compiler-libs"
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/janestreet/ocaml-compiler-libs/releases/download/v$pkgver/ocaml-compiler-libs-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+978dba8dfa61f98fa24fda7a9c26c2e837081f37d1685fe636dc19cfc3278a940cf01a10293504b185c406706bc1008bc54313d50f023bcdea6d5ac6c0788b35 ocaml-compiler-libs-repackaged-0.12.4.tar.bz2
+"
diff --git a/testing/ocaml-containers/APKBUILD b/testing/ocaml-containers/APKBUILD
new file mode 100644
index 00000000000..e2a05ef6ed4
--- /dev/null
+++ b/testing/ocaml-containers/APKBUILD
@@ -0,0 +1,95 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-containers
+pkgver=3.7
+pkgrel=2
+pkgdesc="Modular, clean and powerful extension of the OCaml standard library"
+url="https://github.com/c-cube/ocaml-containers/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-compiler-libs"
+makedepends="$depends_dev dune dune-configurator ocaml"
+checkdepends="
+ ocaml-csexp-dev
+ ocaml-gen-dev
+ ocaml-iter-dev
+ ocaml-ounit-dev
+ ocaml-qcheck-dev
+ ocaml-qtest-dev
+ ocaml-uutf-dev
+ "
+options="!check"
+subpackages="$pkgname-top $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/c-cube/ocaml-containers/archive/v$pkgver.tar.gz
+ use-built-in-libraries.patch
+ "
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+top() {
+ pkgdesc="$pkgdesc (toplevel pretty-printers)"
+
+ amove usr/lib/ocaml/containers-data/top/
+ amove usr/lib/ocaml/containers/top/
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+70f99a062f7696d4ed7a6336532261c93c49a9858a84a12f7f3d60190a5c664198e70be6281dc7c7932c07325dc9c579ff521367e4c7e083566910ba0f9ea760 ocaml-containers-3.7.tar.gz
+f8404c969bfc5b03b3c8d786b04ff03e24a3eb7e75d3d1d9b84922ca78ffe4223229e8a823e401bbd967b4548d211481d4c6efefc48a603bf5d5f0b9fad239ac use-built-in-libraries.patch
+"
diff --git a/testing/ocaml-containers/use-built-in-libraries.patch b/testing/ocaml-containers/use-built-in-libraries.patch
new file mode 100644
index 00000000000..db25f60e73a
--- /dev/null
+++ b/testing/ocaml-containers/use-built-in-libraries.patch
@@ -0,0 +1,10 @@
+--- a/src/core/dune
++++ b/src/core/dune
+@@ -7,6 +7,6 @@
+ (preprocess (action (run %{project_root}/src/core/cpp/cpp.exe %{input-file})))
+ (flags :standard -warn-error -a+8 -w -32-70 -safe-string
+ -strict-sequence -nolabels -open CCMonomorphic)
+- (libraries seq either containers.monomorphic))
++ (libraries containers.monomorphic))
+
+ (ocamllex (modules CCSexp_lex))
diff --git a/testing/ocaml-cppo/APKBUILD b/testing/ocaml-cppo/APKBUILD
deleted file mode 100644
index eb42069bbc5..00000000000
--- a/testing/ocaml-cppo/APKBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
-pkgname=ocaml-cppo
-_pkgname=cppo
-pkgver=1.6.7
-pkgrel=0
-pkgdesc="C-style preprocessor for OCaml"
-url="https://github.com/mjambon/cppo"
-arch="all !mips64 !riscv64" # restricted by ocaml
-license="BSD-3-Clause"
-makedepends="dune ocaml ocaml-ocamlbuild-dev ocaml-findlib opam"
-options="textrels" # needed for ppc64le
-subpackages="$pkgname-dev $pkgname-ocamlbuild"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mjambon/$_pkgname/archive/v$pkgver.tar.gz
- "
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- dune build --root . @install @DEFAULT
-}
-
-check() {
- dune runtest
-}
-
-package() {
- mkdir -p "$pkgdir"/usr/lib/ocaml
- dune install \
- --destdir="$pkgdir" \
- --prefix=/usr \
- --libdir=/usr/lib/ocaml
-
- cd "$pkgdir"
-
- # Remove annotation files and sources.
- rm -Rf usr/lib/ocaml/$_pkgname*/*.cmt*
- rm -Rf usr/lib/ocaml/$_pkgname*/*.ml
-
- # Nothing interesting here.
- rm -Rf usr/doc
-}
-
-ocamlbuild() {
- pkgdesc="$pkgdesc (Ocamlbuild plugin)"
- depends="ocaml-runtime ocaml-ocamlbuild"
-
- mkdir -p "$subpkgdir"/usr/lib/ocaml
- mv "$pkgdir"/usr/lib/ocaml/${_pkgname}_ocamlbuild \
- "$subpkgdir"/usr/lib/ocaml/
-}
-
-dev() {
- default_dev
-
- depends="$pkgname=$pkgver-r$pkgrel $pkgname-ocamlbuild=$pkgver-r$pkgrel"
- local sitelib="usr/lib/ocaml/${_pkgname}_ocamlbuild"
-
- cd "$pkgdir"/$sitelib
- mkdir -p "$subpkgdir"/$sitelib
- mv *.cmx *.cmxa *.mli "$subpkgdir"/$sitelib/
-}
-
-sha512sums="
-fb2865b4004fe3f17d5893659fca90c01557cf6be789500c54b06ac8e0d097181c9f6437f178aae6d786b3f6b639859bc68400f4a7c59e7acd4f296cf8271a9d ocaml-cppo-1.6.7.tar.gz
-"
diff --git a/testing/ocaml-cstruct/APKBUILD b/testing/ocaml-cstruct/APKBUILD
new file mode 100644
index 00000000000..6d7a231db6a
--- /dev/null
+++ b/testing/ocaml-cstruct/APKBUILD
@@ -0,0 +1,88 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-cstruct
+_pkgname=cstruct
+pkgver=6.1.0
+pkgrel=3
+pkgdesc="Access C-like structures directly from OCaml"
+url="https://github.com/mirage/ocaml-cstruct"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-fmt-dev
+ ocaml-lwt-dev
+ ocaml-ppxlib-dev
+ ocaml-sexplib-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-crowbar-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ocaml-cstruct/releases/download/v$pkgver/cstruct-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build \
+ -p cstruct,cstruct-sexp,cstruct-unix,cstruct-lwt,ppx_cstruct \
+ --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ cstruct cstruct-sexp cstruct-unix cstruct-lwt ppx_cstruct
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+24620eb8dd37b7508a6adbad19fe21b44739a1bd641827b4fdd74e642991647fb814cabdf44195199bdb5208cac182580c55dce511bf22ad595d56a140cc0584 ocaml-cstruct-6.1.0.tar.bz2
+"
diff --git a/testing/ocaml-ctypes/APKBUILD b/testing/ocaml-ctypes/APKBUILD
new file mode 100644
index 00000000000..af036b48ce3
--- /dev/null
+++ b/testing/ocaml-ctypes/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ctypes
+pkgver=0.20.1
+pkgrel=2
+pkgdesc="Combinators for binding to C libraries without writing any C"
+url="https://github.com/ocamllabs/ocaml-ctypes"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ libffi-dev
+ ocaml
+ ocaml-bigarray-compat-dev
+ ocaml-compiler-libs
+ ocaml-findlib-dev
+ ocaml-integers-dev
+ ocaml-stdlib-shims
+ "
+options="!check" # requires lwt and ounit
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocamllabs/ocaml-ctypes/archive/$pkgver.tar.gz"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLFIND_LDCONF=ignore
+ make
+}
+
+package() {
+ export OCAMLFIND_DESTDIR="$pkgdir"/usr/lib/ocaml
+ mkdir -vp "$OCAMLFIND_DESTDIR/stublibs"
+ make install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f95e65ce5003a07634afcbee431cb23c54c8335f926074615fc8d76ab777b9d2fce8f75bb25bbb6ed9550a7d6237fb377aa9ad65a426d2d7e387f86c1158fe4a ocaml-ctypes-0.20.1.tar.gz
+"
diff --git a/testing/ocaml-curses/APKBUILD b/testing/ocaml-curses/APKBUILD
index 0e275a4eee5..db32edee067 100644
--- a/testing/ocaml-curses/APKBUILD
+++ b/testing/ocaml-curses/APKBUILD
@@ -1,42 +1,79 @@
# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
pkgname=ocaml-curses
-pkgver=1.0.4
-pkgrel=1
+_pkgname=curses
+pkgver=1.0.10
+pkgrel=2
pkgdesc="OCaml bindings for ncurses"
-url="https://www.nongnu.org/ocaml-tmk/"
-arch="aarch64 ppc64le x86_64" # restricted by ocaml
-license="LGPL-2.1"
-makedepends="autoconf automake libtool ocaml ocaml-findlib-dev gawk ncurses-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="http://download.savannah.nongnu.org/releases/ocaml-tmk/ocaml-curses-1.0.4.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
-
-prepare() {
- cd "$builddir"
- default_prepare
- autoreconf
-}
+url="https://github.com/mbacarella/curses"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune dune-configurator-dev ncurses-dev ocaml ocaml-csexp-dev"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mbacarella/curses/releases/download/$pkgver/curses-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
- cd "$builddir"
- ./configure --prefix=/usr --enable-widec
- make all opt
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
}
check() {
- cd "$builddir"
- make test
- make test.opt
+ dune runtest --no-buffer --verbose
}
package() {
- cd "$builddir"
- export DESTDIR="$pkgdir"
- export OCAMLFIND_DESTDIR="$DESTDIR/usr/lib/ocaml"
- mkdir -p "$OCAMLFIND_DESTDIR" "$OCAMLFIND_DESTDIR/stublibs"
- ocamlfind install curses META *.cmi *.cmx *.cma *.cmxa *.a *.so *.mli
- install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="a49838f1d32bf96fda6c612ac1b38316f61c49aa015e61e49681eacf863234f36ffe71d4305dd34f8e3b0a5dc6d9757919a107bcfdf46bd90df128e975560948 ocaml-curses-1.0.4.tar.gz"
+sha512sums="
+158626f3fd6931f30482a47ab149990ff49334c8c0dc966eb07d92f22e87faaab3fd48ed7788bbc5a77f82cb6163520588ce55ab53456bca22994f147c7e00c5 ocaml-curses-1.0.10.tar.bz2
+"
diff --git a/testing/ocaml-dns/APKBUILD b/testing/ocaml-dns/APKBUILD
new file mode 100644
index 00000000000..041acd874ec
--- /dev/null
+++ b/testing/ocaml-dns/APKBUILD
@@ -0,0 +1,114 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-dns
+_pkgname=dns
+pkgver=6.2.2
+pkgrel=3
+pkgdesc="An opinionated Domain Name System (DNS) library"
+url="https://github.com/mirage/ocaml-dns"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-bos-dev
+ ocaml-hex-dev
+ ocaml-base64-dev
+ ocaml-cstruct-dev
+ ocaml-domain-name-dev
+ ocaml-duration-dev
+ ocaml-fmt-dev
+ ocaml-gmap-dev
+ ocaml-happy-eyeballs-dev
+ ocaml-ipaddr-dev
+ ocaml-logs-dev
+ ocaml-lru-dev
+ ocaml-metrics-dev
+ ocaml-ptime-dev
+ ocaml-ca-certs-dev
+ ocaml-ca-certs-nss-dev
+ ocaml-lwt-dev
+ ocaml-mirage-clock-dev
+ ocaml-mirage-crypto-dev
+ ocaml-mirage-random-dev
+ ocaml-mirage-time-dev
+ ocaml-mtime-dev
+ ocaml-randomconv-dev
+ ocaml-tcpip-dev
+ ocaml-tls-dev
+ ocaml-x509-dev
+ "
+makedepends="$depends_dev dune ocaml ocaml-cmdliner-dev libev-dev gmp-dev"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ocaml-dns/releases/download/v$pkgver/dns-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+tools() {
+ pkgdesc="$pkgdesc (command line utilities)"
+ depends=""
+
+ amove usr/bin
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+6bb12f258114cf89b7fb0ad9bd8be80863e6e9a2d32173143fdada1534898260fddd7b5965122a67eae4cd81c3918e80b0f04a4c20f6d399e01a9a9eefbdc2b9 ocaml-dns-6.2.2.tar.bz2
+"
diff --git a/testing/ocaml-domain-name/APKBUILD b/testing/ocaml-domain-name/APKBUILD
new file mode 100644
index 00000000000..2ebe82a1a7b
--- /dev/null
+++ b/testing/ocaml-domain-name/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-domain-name
+_pkgname=domain-name
+pkgver=0.4.0
+pkgrel=2
+pkgdesc="RFC 1035 Internet domain names"
+url="https://github.com/hannesm/domain-name"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/hannesm/domain-name/releases/download/v$pkgver/domain-name-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f25aedb1ddf6ab8c49b1545cf88f4990114a9e7954d91cabf260e6ce470abd42dd135e8a55084262a77d4c9ee4bff6dc00c71307b23a48d82d50593b910ee173 ocaml-domain-name-0.4.0.tar.bz2
+"
diff --git a/testing/ocaml-down/APKBUILD b/testing/ocaml-down/APKBUILD
new file mode 100644
index 00000000000..c2ad2432cf4
--- /dev/null
+++ b/testing/ocaml-down/APKBUILD
@@ -0,0 +1,83 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-down
+_pkgname=down
+pkgver=0.1.0
+pkgrel=3
+pkgdesc="OCaml toplevel (REPL) upgrade"
+url="https://erratique.ch/software/down"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/down/releases/down-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --lib-dir "$(ocamlc -where)"
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f09d34f9a21d6a65ce85d9f6c267ee811d85cc0a91ab9dd76ed6ca0e8183df09a2e77331484e54661d154465d64fc31adb4be4a94615ef735c772d56b409a9e3 ocaml-down-0.1.0.tar.bz2
+"
diff --git a/testing/ocaml-duration/APKBUILD b/testing/ocaml-duration/APKBUILD
new file mode 100644
index 00000000000..40bdfe125bc
--- /dev/null
+++ b/testing/ocaml-duration/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-duration
+_pkgname=duration
+pkgver=0.2.0
+pkgrel=2
+pkgdesc="Conversions to various time units"
+url="https://github.com/hannesm/duration"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/hannesm/duration/releases/download/$pkgver/duration-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+6a259ca406739bfc6020c7de767e39c2a7ee06169aa1966d43d426b2a54fc69b81be6465d04b9bd8fbbbbfd9ebe1c82a1cbfbf62100a37eb0f7403f6cf53e3b8 ocaml-duration-0.2.0.tar.bz2
+"
diff --git a/testing/ocaml-easy-format/APKBUILD b/testing/ocaml-easy-format/APKBUILD
new file mode 100644
index 00000000000..c3368797c34
--- /dev/null
+++ b/testing/ocaml-easy-format/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-easy-format
+_pkgname=easy-format
+pkgver=1.3.4
+pkgrel=1
+pkgdesc="Pretty-printing library for OCaml"
+url="https://mjambon.github.io/mjambon2016/easy-format.html"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml ocaml-findlib"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml-community/easy-format/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build @install
+}
+
+check() {
+ dune runtest
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+e3f25d8e40fefb22ed327601c8dcdadcea97fcb15ca3e92e095fd773b545d738d6709c77e76b3870bd035f985b187c7ca7a4af9bdfa95a45865ee14c9219652e ocaml-easy-format-1.3.4.tar.gz
+"
diff --git a/testing/ocaml-eqaf/APKBUILD b/testing/ocaml-eqaf/APKBUILD
new file mode 100644
index 00000000000..3370a6d549d
--- /dev/null
+++ b/testing/ocaml-eqaf/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-eqaf
+_pkgname=eqaf
+pkgver=0.8
+pkgrel=2
+pkgdesc="Constant-time equal function on string"
+url="https://github.com/mirage/eqaf"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-cstruct-dev"
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-base64-dev ocaml-crowbar-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/eqaf/releases/download/v$pkgver/eqaf-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+303749bdbaae8fc27f57ebaa5cf9b16ed5b8cbaee35f0a35d69f91a437b1a3411a613d145d3aff7ff74a587509d877cc0a569fdae4d00cec65bf50d705361e25 ocaml-eqaf-0.8.tar.bz2
+"
diff --git a/testing/ocaml-erm_xml/APKBUILD b/testing/ocaml-erm_xml/APKBUILD
new file mode 100644
index 00000000000..547f3f71e78
--- /dev/null
+++ b/testing/ocaml-erm_xml/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-erm_xml
+_pkgname=xml
+pkgver=0_git20211229
+_commit=a2b4db61ca93dc265ca47b51d01fa147d3b267c3
+pkgrel=2
+pkgdesc="XML stream parser for OCaml"
+url="https://github.com/hannesm/xml"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocamlbuild
+ ocaml-findlib
+ ocaml-compiler-libs
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/hannesm/xml/archive/$_commit/xml-$_commit.tar.gz"
+builddir="$srcdir/$_pkgname-$_commit"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml setup.ml -configure --prefix /usr
+ ocaml setup.ml -build
+}
+
+check() {
+ ocaml setup.ml -test
+}
+
+package() {
+ export OCAMLFIND_DESTDIR="$pkgdir/$_ocamldir"
+ export OCAMLFIND_LDCONF=ignore
+ mkdir -vp "$OCAMLFIND_DESTDIR"
+
+ ocaml setup.ml -install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+ddb674fbd4e27aece25d4b288163ee7550591f8d23c7219dd212355cab9feedba847ae9990ac1219c834ec9620fcc5c4805013f99f1d5312a36c4a0c1d3f0536 ocaml-erm_xml-0_git20211229.tar.gz
+"
diff --git a/testing/ocaml-erm_xmpp/APKBUILD b/testing/ocaml-erm_xmpp/APKBUILD
new file mode 100644
index 00000000000..3bc0b5c1a3b
--- /dev/null
+++ b/testing/ocaml-erm_xmpp/APKBUILD
@@ -0,0 +1,94 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-erm_xmpp
+_pkgname=xmpp
+pkgver=0_git20220404
+_commit=e54d54e142ac9770c37e144693473692bf473530
+pkgrel=2
+pkgdesc="XMPP protocol implementation for OCaml"
+url="https://github.com/hannesm/xmpp"
+# riscv64, loongarch64: restricted by ocaml aport
+# ppc64le: ocamlbuild terminated with error code 10
+arch="all !riscv64 !loongarch64 !ppc64le"
+license="BSD-3-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-base64-dev
+ ocaml-erm_xml-dev
+ ocaml-mirage-crypto-dev
+ "
+makedepends="
+ $depends_dev
+ ocaml
+ ocamlbuild
+ ocaml-findlib
+ ocaml-compiler-libs
+ ocaml-camlp4-dev
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/hannesm/xmpp/archive/$_commit/xmpp-$_commit.tar.gz"
+builddir="$srcdir/$_pkgname-$_commit"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml setup.ml -configure --prefix /usr
+ ocaml setup.ml -build
+}
+
+check() {
+ ocaml setup.ml -test
+}
+
+package() {
+ export OCAMLFIND_DESTDIR="$pkgdir/$_ocamldir"
+ export OCAMLFIND_LDCONF=ignore
+ mkdir -vp "$OCAMLFIND_DESTDIR"
+
+ ocaml setup.ml -install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+84e5b165d0257cfbbc83e888adeca2233cca201f66b7ac4d661a1fee56290816d3c36f8793bfae8ca10e52acd76baa4b29ca45e29da2701976d0b676a600252a ocaml-erm_xmpp-0_git20220404.tar.gz
+"
diff --git a/testing/ocaml-ethernet/APKBUILD b/testing/ocaml-ethernet/APKBUILD
new file mode 100644
index 00000000000..da3a5cdd1a0
--- /dev/null
+++ b/testing/ocaml-ethernet/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ethernet
+_pkgname=ethernet
+pkgver=3.0.0
+pkgrel=3
+pkgdesc="OCaml Ethernet (IEEE 802.3) layer, used in MirageOS"
+url="https://github.com/mirage/ethernet"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-logs-dev
+ ocaml-ipaddr-dev
+ ocaml-mirage-net-dev
+ ocaml-mirage-profile-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ethernet/releases/download/v$pkgver/ethernet-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+171d061b16f2e00b9caa3dfc1cd9b5b358d380e892281ac5c137dc2a3119c3fa288ea927dcb4e9efbcf4850f6857ed0d4b754f56dbb248c1c6150779e57d24e4 ocaml-ethernet-3.0.0.tar.bz2
+"
diff --git a/testing/ocaml-extlib/APKBUILD b/testing/ocaml-extlib/APKBUILD
index c940509b441..51bcf7a895a 100644
--- a/testing/ocaml-extlib/APKBUILD
+++ b/testing/ocaml-extlib/APKBUILD
@@ -1,29 +1,32 @@
# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
pkgname=ocaml-extlib
-pkgver=1.7.8
-pkgrel=0
+_pkgname=extlib
+pkgver=1.7.9
+pkgrel=2
pkgdesc="OCaml ExtLib additions to the standard library"
url="https://github.com/ygrek/ocaml-extlib"
-arch="aarch64 ppc64le x86_64" # restricted by ocaml
-license="LGPL-2.1-or-later-WITH-linking-exception"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
makedepends="ocaml ocaml-findlib-dev ocaml-ocamldoc ocaml-cppo gawk"
subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/ygrek/ocaml-extlib/releases/download/$pkgver/extlib-$pkgver.tar.gz"
-builddir="$srcdir/extlib-$pkgver"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
- cd "$builddir"
make build
}
check() {
- cd "$builddir"
make test
}
package() {
- cd "$builddir"
export DESTDIR="$pkgdir"
export OCAMLFIND_DESTDIR="$DESTDIR/usr/lib/ocaml"
mkdir -p "$OCAMLFIND_DESTDIR"
@@ -31,6 +34,43 @@ package() {
install -D -m644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
sha512sums="
-664a8366fb4eed685bd8f8907dbc9a8103bbf75ebb5d7635f6db890722e673107aa052bd09c276f5ed10dc3695220234c382d90d4f8c4e6b93ff68dd22e876e4 extlib-1.7.8.tar.gz
+2386ac69f037ea520835c0624d39ae9fbffe43a20b18e247de032232ed6f419d667b53d2314c6f56dc71d368bf0b6201a56c2f3f2a5bdfd933766c5a6cb98768 extlib-1.7.9.tar.gz
"
diff --git a/testing/ocaml-fileutils/APKBUILD b/testing/ocaml-fileutils/APKBUILD
index 931dd6f54ff..cfae1523bb4 100644
--- a/testing/ocaml-fileutils/APKBUILD
+++ b/testing/ocaml-fileutils/APKBUILD
@@ -1,36 +1,91 @@
# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
pkgname=ocaml-fileutils
-pkgver=0.4.4
-pkgrel=0
+_pkgname=fileutils
+pkgver=0.6.4
+pkgrel=2
pkgdesc="OCaml library for common file and filename operations"
url="https://github.com/gildor478/ocaml-fileutils"
-arch="aarch64 ppc64le x86_64"
-license="LGPL-2.1-or-later-WITH-linking-exception"
-makedepends="ocaml ocaml-ocamldoc ocaml-ounit-dev ocamlbuild ocaml-compiler-libs ocaml-findlib-dev"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+makedepends="
+ dune
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib-dev
+ ocaml-ocamldoc
+ ocaml-seq-dev
+ ocaml-stdlib-shims
+ ocamlbuild
+ "
+options="!check"
subpackages="$pkgname-dev $pkgname-doc"
-source="${pkgname}-${pkgver}.tar.gz::https://github.com/gildor478/$pkgname/archive/$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gildor478/ocaml-fileutils/archive/v$pkgver.tar.gz"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
- cd "$builddir"
- export OCAMLPARAM="safe-string=0,_"
- ocaml setup.ml -configure --prefix /usr --destdir "$pkgdir"
- make
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build -p fileutils
}
check() {
- cd "$builddir"
make test
}
package() {
- cd "$builddir"
- export DESTDIR="$pkgdir"
- export OCAMLFIND_DESTDIR="$DESTDIR/usr/lib/ocaml"
- mkdir -p "$OCAMLFIND_DESTDIR" "$OCAMLFIND_DESTDIR/stublibs"
- make install
- install -D -m644 COPYING.txt "$pkgdir/usr/share/licenses/$pkgname/COPYING.txt"
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
+ fileutils
+
+ cd "$pkgdir"
+ mkdir -vp usr/share/doc
+ mv -v usr/doc/"$_pkgname" \
+ usr/share/doc/"$pkgname"
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="35aa175ae8a024fe6719716cfa6769a72d8e36fc3dd743da12c9037aa52a1699b12462ab78f1341fb5f2ca25e7935d73b9fb3648161d88771f8d35f7480126f7 ocaml-fileutils-0.4.4.tar.gz"
+sha512sums="
+fed41c0c98bd9a2dde18335f0c7fd721b609f936001424eff200bca058146af55134f1d245b143bd211ece37bc036b3308528b193a6b578735b27891181f07e1 ocaml-fileutils-0.6.4.tar.gz
+"
diff --git a/testing/ocaml-fix/APKBUILD b/testing/ocaml-fix/APKBUILD
new file mode 100644
index 00000000000..74418e51f52
--- /dev/null
+++ b/testing/ocaml-fix/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-fix
+_pkgname=fix
+pkgver=20220121
+_commit=a288f05de716bcc9e82527f4cf440f9aebe965ae
+pkgrel=2
+pkgdesc="Algorithmic building blocks for memoization, recursion, and more"
+url="https://gitlab.inria.fr/fpottier/fix"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.0-only"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+options="!check" # tests take a long time to run
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.inria.fr/fpottier/fix/-/archive/$pkgver/archive.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver-$_commit"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build -p fix @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+a851d8783c0c519c6e55359a5c471af433058872409c29a1a7bdfd0076813341ad2c0ebd1ce9e28bff4d4c729dfbc808c41c084fe12a42b45a2b5e391e77ccd2 ocaml-fix-20220121.tar.gz
+"
diff --git a/testing/ocaml-fmt/APKBUILD b/testing/ocaml-fmt/APKBUILD
new file mode 100644
index 00000000000..2b7d09c157e
--- /dev/null
+++ b/testing/ocaml-fmt/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-fmt
+_pkgname=fmt
+pkgver=0.9.0
+pkgrel=2
+pkgdesc="OCaml Format pretty-printer combinators"
+url="https://erratique.ch/software/fmt"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-findlib
+ ocaml-topkg
+ ocamlbuild
+ ocaml-cmdliner-dev
+ ocaml-compiler-libs
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/fmt/releases/fmt-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --with-base-unix true \
+ --with-cmdliner true
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+66cf4b8bb92232a091dfda5e94d1c178486a358cdc34b1eec516d48ea5acb6209c0dfcb416f0c516c50ddbddb3c94549a45e4a6d5c5fd1c81d3374dec823a83b ocaml-fmt-0.9.0.tar.bz2
+"
diff --git a/testing/ocaml-fpath/APKBUILD b/testing/ocaml-fpath/APKBUILD
new file mode 100644
index 00000000000..c9ff5554f74
--- /dev/null
+++ b/testing/ocaml-fpath/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-fpath
+_pkgname=fpath
+pkgver=0.7.3
+pkgrel=2
+pkgdesc="File system paths for OCaml"
+url="https://erratique.ch/software/fpath"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-astring-dev"
+makedepends="
+ $depends_dev
+ ocaml
+ ocamlbuild
+ ocaml-findlib
+ ocaml-compiler-libs
+ ocaml-topkg
+ cmd:opam-installer
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/fpath/releases/fpath-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+acf4b379aee3c25305ef71d1b97b154faa6de1e8248a8e8d046cf11090a3e94f2dc048b961bb51725ca7384e784455f2893fbd51f26bf80571a9cc7e9475b945 ocaml-fpath-0.7.3.tar.bz2
+"
diff --git a/testing/ocaml-gen/APKBUILD b/testing/ocaml-gen/APKBUILD
new file mode 100644
index 00000000000..8ba01db9d2e
--- /dev/null
+++ b/testing/ocaml-gen/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-gen
+_pkgname=gen
+pkgver=1.1
+pkgrel=1
+pkgdesc="Simple, efficient iterators for OCaml"
+url="https://github.com/c-cube/gen/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-seq-dev"
+makedepends="$depends_dev dune dune-configurator ocaml"
+checkdepends="ocaml-ounit-dev ocaml-qcheck-dev ocaml-qtest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/c-cube/gen/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+71a4b5c3666a7c11935398a78feea7383f61d2c549dfb96e324d40783ffa87b5ec492c5ec468803aabfb9b48e7d0ebaa30b24d2b974540afc7cca5feea3121c1 ocaml-gen-1.1.tar.gz
+"
diff --git a/testing/ocaml-gettext/0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch b/testing/ocaml-gettext/0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
deleted file mode 100644
index 511eb3b4a8f..00000000000
--- a/testing/ocaml-gettext/0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 35d2d7381c7101bb73d0b7f00fea06442c7b2ab8 Mon Sep 17 00:00:00 2001
-From: Pino Toscano <ptoscano@redhat.com>
-Date: Tue, 29 Aug 2017 18:29:34 +0200
-Subject: [PATCH 1/3] pr_gettext: stop tracking (and printing) untranslated
- strings
-
-Do not collect anymore the information of untranslated strings, since it
-is only used to print all of them at the end of the message extraction.
-
-While I understand the reason why this was done (i.e. to discover
-potentially untranslated user strings), this is something that just
-causes lots of output in complex projects, since strings are basically
-used for many non-UI tasks (say Str, Sys.command, etc), so the actual
-result is that there are lots of false positive. Also, this is not
-something xgettext (from GNU gettext) does.
----
- libgettext-ocaml/pr_gettext.ml | 44 ------------------------------------------
- 1 file changed, 44 deletions(-)
-
-diff --git a/libgettext-ocaml/pr_gettext.ml b/libgettext-ocaml/pr_gettext.ml
-index c44933f..d78cf21 100644
---- a/libgettext-ocaml/pr_gettext.ml
-+++ b/libgettext-ocaml/pr_gettext.ml
-@@ -71,17 +71,10 @@ struct
- module Loc = Syntax.Loc
- module Ast = Syntax.Ast
-
-- type untranslated_t =
-- {
-- str: string; (* Real string, not OCaml one *)
-- locations: (string * int) list; (* Location in the file *)
-- }
--
- type t =
- {
- po_content: po_content;
- translated: SetString.t;
-- untranslated: untranslated_t MapString.t;
- }
-
- let string_of_ocaml_string str =
-@@ -91,29 +84,6 @@ struct
- "%S"
- (fun s -> s)
-
-- let string_not_translated t ocaml_str =
-- not (SetString.mem ocaml_str t.translated)
--
-- let add_untranslated t loc ocaml_str =
-- let cur =
-- try
-- MapString.find ocaml_str t.untranslated
-- with Not_found ->
-- {
-- str = string_of_ocaml_string ocaml_str;
-- locations = [];
-- }
-- in
-- let untranslated =
-- MapString.add
-- ocaml_str
-- {cur with
-- locations =
-- (Loc.file_name loc, Loc.start_line loc) :: cur.locations}
-- t.untranslated
-- in
-- {t with untranslated = untranslated}
--
-
- let add_translation t loc ocaml_singular plural_opt domain =
- let filepos =
-@@ -164,15 +134,6 @@ struct
- | Some f -> open_out f
- | None -> stdout
- in
-- MapString.iter
-- (fun _ {str = str; locations = locs} ->
-- List.iter
-- (fun (fn, lineno) ->
-- Printf.eprintf
-- "%s:%d String %S not translated\n%!"
-- fn lineno str)
-- locs)
-- t.untranslated;
- Marshal.to_channel fd t.po_content []
-
- (* Check if the given node belong to the given functions *)
-@@ -197,7 +158,6 @@ struct
- val t =
- {
- po_content = empty_po;
-- untranslated = MapString.empty;
- translated = SetString.empty;
- }
-
-@@ -234,10 +194,6 @@ struct
- (* Add a plural / defined domain string *)
- {< t = add_translation t loc singular (Some plural) (Some domain) >}
-
-- | <:expr@loc<$str:str$>> when
-- string_not_translated t str ->
-- {< t = add_untranslated t loc str >}
--
- | e -> super#expr e
-
- end
---
-2.13.2
-
diff --git a/testing/ocaml-gettext/0002-pr_gettext-stop-printing-extracted-strings.patch b/testing/ocaml-gettext/0002-pr_gettext-stop-printing-extracted-strings.patch
deleted file mode 100644
index 6d656d9bc6b..00000000000
--- a/testing/ocaml-gettext/0002-pr_gettext-stop-printing-extracted-strings.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 3f4fc73c2a0315c2da16dee7db0fcb2766f55d3c Mon Sep 17 00:00:00 2001
-From: Pino Toscano <ptoscano@redhat.com>
-Date: Tue, 29 Aug 2017 18:36:10 +0200
-Subject: [PATCH 2/3] pr_gettext: stop printing extracted strings
-
-They are written in the pot file already, no need to print them to
-stderr (even though they are not errors).
----
- libgettext-ocaml/pr_gettext.ml | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/libgettext-ocaml/pr_gettext.ml b/libgettext-ocaml/pr_gettext.ml
-index d78cf21..47d93e5 100644
---- a/libgettext-ocaml/pr_gettext.ml
-+++ b/libgettext-ocaml/pr_gettext.ml
-@@ -78,7 +78,6 @@ struct
- }
-
- let string_of_ocaml_string str =
-- prerr_endline str;
- Scanf.sscanf
- (Printf.sprintf "\"%s\"" str)
- "%S"
---
-2.13.2
-
diff --git a/testing/ocaml-gettext/0003-add-more-generated-files-to-.gitignore.patch b/testing/ocaml-gettext/0003-add-more-generated-files-to-.gitignore.patch
deleted file mode 100644
index 00b410c5f23..00000000000
--- a/testing/ocaml-gettext/0003-add-more-generated-files-to-.gitignore.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 202bf1e00eaa533e133c29b509d77cdfb7c13f5e Mon Sep 17 00:00:00 2001
-From: Pino Toscano <ptoscano@redhat.com>
-Date: Tue, 29 Aug 2017 18:55:37 +0200
-Subject: [PATCH 3/3] add more generated files to .gitignore
-
-Make sure all the files generated during a build are properly ignored
-from the git status.
----
- .gitignore | 15 +++++++++++++++
- 1 file changed, 15 insertions(+)
-
-diff --git a/.gitignore b/.gitignore
-index d853d40..87821c3 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -1,3 +1,12 @@
-+*.a
-+*.cma
-+*.cmi
-+*.cmo
-+*.cmx
-+*.cmxa
-+*.o
-+*.so
-+*_parser.output
- /_build/
- /setup.data
- /setup.log
-@@ -7,6 +16,12 @@
- /configure
- /libgettext-ocaml/META
- /libgettext-ocaml/gettextConfig.ml
-+/libgettext-ocaml/gettextPo_parser.mli
- /config.log
- /config.status
-+/po/*.mo
- /po/fr.po.bak
-+/doc/*.1
-+/doc/*.5
-+/ocaml-gettext/ocaml-gettext
-+/ocaml-gettext/ocaml-xgettext
---
-2.13.2
-
diff --git a/testing/ocaml-gettext/APKBUILD b/testing/ocaml-gettext/APKBUILD
index 5f3c079144e..7869035f1c4 100644
--- a/testing/ocaml-gettext/APKBUILD
+++ b/testing/ocaml-gettext/APKBUILD
@@ -1,52 +1,100 @@
# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
pkgname=ocaml-gettext
-pkgver=0.3.7
-pkgrel=0
+_pkgname=gettext
+pkgver=0.4.2
+pkgrel=3
pkgdesc="OCaml library for i18n"
url="https://github.com/gildor478/ocaml-gettext"
-arch="aarch64 ppc64le x86_64" # restricted by ocaml
-license="LGPL-2.1-or-later-WITH-linking-exception"
-makedepends="ocaml ocaml-ocamldoc ocaml-camlp4-dev ocaml-fileutils ocaml-fileutils-dev ocaml-findlib-dev chrpath autoconf automake libxml2 libxslt docbook-xsl gettext-dev"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+makedepends="
+ autoconf
+ automake
+ chrpath
+ docbook-xsl
+ dune
+ gettext-dev
+ libxml2
+ libxslt
+ ocaml
+ ocaml-camlp4-dev
+ ocaml-camomile-dev
+ ocaml-compiler-libs
+ ocaml-cppo
+ ocaml-fileutils
+ ocaml-fileutils-dev
+ ocaml-findlib-dev
+ ocaml-seq-dev
+ ocaml-ocamldoc
+ ocaml-stdlib-shims
+"
subpackages="$pkgname-dev $pkgname-doc"
-source="${pkgname}-${pkgver}.tar.gz::https://github.com/gildor478/$pkgname/archive/$pkgver.tar.gz
- 0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
- 0002-pr_gettext-stop-printing-extracted-strings.patch
- 0003-add-more-generated-files-to-.gitignore.patch
- ocaml-gettext-0.3.4-use-ocamlopt-g.patch"
-builddir="$srcdir/$pkgname-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gildor478/ocaml-gettext/archive/v$pkgver.tar.gz"
options="!check" # there is no test suite/unit tests since tests requires camomile
-prepare() {
- default_prepare
- autoreconf -i
-}
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
- cd "$builddir"
- unset MAKEFLAGS
- export OCAMLPARAM="safe-string=0,_"
- sed -i 's/@OCAMLDOC@/@OCAMLDOC@ -unsafe-string/g' ConfMakefile.in
- ./configure --prefix=/usr --disable-camomile --with-docbook-stylesheet=/usr/share/xml/docbook/xsl-stylesheets-1.79.1 --with-stub-ldflags=-lintl
- make all
+ export OCAMLPATH=/usr/lib/ocaml
+ # Build only gettext, as gettext-stub requires dune-configurator
+ dune build -p gettext @install
}
package() {
- cd "$builddir"
- export DESTDIR="$pkgdir"
- export OCAMLFIND_DESTDIR="$DESTDIR/usr/lib/ocaml"
- mkdir -p "$OCAMLFIND_DESTDIR" "$OCAMLFIND_DESTDIR/stublibs"
- find _build -name '*.o' -exec rm {} \;
- ocamlfind install gettext _build/lib/gettext/*
- ocamlfind install gettext-stub _build/lib/gettext-stub/*
- install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
- install -D -m 0755 _build/bin/ocaml-gettext "$pkgdir/usr/bin/ocaml-gettext"
- install -D -m 0755 _build/bin/ocaml-xgettext "$pkgdir/usr/bin/ocaml-xgettext"
- chrpath --delete $OCAMLFIND_DESTDIR/stublibs/dll*.so
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
+ gettext
+
+ cd "$pkgdir"
+ mkdir -vp usr/share/doc
+ mv -v usr/doc/"$_pkgname" \
+ usr/share/doc/"$pkgname"
+ mv -v usr/man usr/share/
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="1358320359b9d2f3fd97a47d69b2a619942a65605c1e5cbf25e33ef42a10273167b526bca15e6c9523b87d8ea9dfd3215334050ad8eb84a8c41d4feef880a27a ocaml-gettext-0.3.7.tar.gz
-430e67b9e228d36eae6d1a1378c40d3203799d04c05962d25be4703483418400d71c392c2d84baa434f5e7aab19e7925e08971392b969ff472e3baf81546ca6d 0001-pr_gettext-stop-tracking-and-printing-untranslated-s.patch
-69f9e5a000cd29b5f6e7ee1b3ce0691ba4a7fdff456c76ce271daa76a74cf422aa8769f94cac46dbceb92dcdcdaecfbc65e255f61748bd52e7ccf7e88cc04bac 0002-pr_gettext-stop-printing-extracted-strings.patch
-6cab63660875ec9f6314631ae0730870b714b5a1bc456d97a04c928f287feb82aae623b8361b6b56075901f2d9cd5716e27305cda4334ac0e61a40ce02bab599 0003-add-more-generated-files-to-.gitignore.patch
-b169f864194459db388ee8aa9db4cf97441419cb6b93c1b72854cca3fbbdcab8745a802326f967b8786853ec136aca41847799100216d6f9272e6a56dc80d169 ocaml-gettext-0.3.4-use-ocamlopt-g.patch"
+sha512sums="
+fb89be8d8d9e0ed9327b81a0c81c884ff3f1a97e46b475ef8084abded5c84a256de05d5aa0f42be94f43ab438276a4506af726b6950e4161359a9616fb5832ec ocaml-gettext-0.4.2.tar.gz
+"
diff --git a/testing/ocaml-gettext/ocaml-gettext-0.3.4-use-ocamlopt-g.patch b/testing/ocaml-gettext/ocaml-gettext-0.3.4-use-ocamlopt-g.patch
deleted file mode 100644
index f8f05b5c0c2..00000000000
--- a/testing/ocaml-gettext/ocaml-gettext-0.3.4-use-ocamlopt-g.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- ocaml-gettext-0.3.4/TopMakefile.old 2013-09-14 08:54:04.713986462 +0100
-+++ ocaml-gettext-0.3.4/TopMakefile 2013-09-14 08:54:18.319006115 +0100
-@@ -102,7 +102,7 @@
- %.cmxa %.a %.so:
- $(if $(STUBSOBJS), \
- $(OCAMLMKLIB) -o $* $^ $(OCAMLMKLIB_FLAGS), \
-- $(OCAMLOPT) -a -o $*.cmxa $^ \
-+ $(OCAMLOPT) -g -a -o $*.cmxa $^ \
- )
-
- %.cma %.a %.so:
-@@ -161,7 +161,7 @@
- OLIBS = $(addsuffix .cmxa,$(LIBS))
-
- install-buildprog-opt: $(CMX)
-- $(OCAMLOPT) -o $(NAME) $(INCLUDES) -package "$(REQUIRES)" -linkpkg \
-+ $(OCAMLOPT) -g -o $(NAME) $(INCLUDES) -package "$(REQUIRES)" -linkpkg \
- -predicates "$(PREDICATES)" $(OLIBS) $(CMX)
- $(INSTALL) -d $(BUILDBIN)
- $(INSTALL_SCRIPT) -t $(BUILDBIN) $(NAME)
-@@ -300,10 +300,10 @@
- $(OCAMLC) $(INCLUDES) $(CLI_OCAMLFIND) -c $<
-
- .ml.o:
-- $(OCAMLOPT) $(INCLUDES) $(CLI_OCAMLFIND) -c $<
-+ $(OCAMLOPT) -g $(INCLUDES) $(CLI_OCAMLFIND) -c $<
-
- .ml.cmx:
-- $(OCAMLOPT) $(INCLUDES) $(CLI_OCAMLFIND) -c $<
-+ $(OCAMLOPT) -g $(INCLUDES) $(CLI_OCAMLFIND) -c $<
-
- .mll.ml:
- $(OCAMLLEX) $<
diff --git a/testing/ocaml-gmap/APKBUILD b/testing/ocaml-gmap/APKBUILD
new file mode 100644
index 00000000000..11989d3cb1c
--- /dev/null
+++ b/testing/ocaml-gmap/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-gmap
+_pkgname=gmap
+pkgver=0.3.0
+pkgrel=2
+pkgdesc="Heterogenous maps over a GADT"
+url="https://github.com/hannesm/gmap"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-fmt-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/hannesm/gmap/releases/download/$pkgver/gmap-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+71616981f5a15d6b2a47e18702083e52e81f6547076085b1489f676f50b0cc47c7c2c4fa19cb581e2878dc3d4f7133d0c50d8b51a8390be0e6e30318907d81d3 ocaml-gmap-0.3.0.tar.bz2
+"
diff --git a/testing/ocaml-happy-eyeballs-lwt/APKBUILD b/testing/ocaml-happy-eyeballs-lwt/APKBUILD
new file mode 100644
index 00000000000..4613bce1c02
--- /dev/null
+++ b/testing/ocaml-happy-eyeballs-lwt/APKBUILD
@@ -0,0 +1,99 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-happy-eyeballs-lwt
+_pkgname=happy-eyeballs
+pkgver=0.3.0
+pkgrel=3
+pkgdesc="Connecting to a remote host via IP version 4 or 6 using Lwt_unix"
+url="https://github.com/roburio/happy-eyeballs"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-domain-name-dev
+ ocaml-duration-dev
+ ocaml-fmt-dev
+ ocaml-ipaddr-dev
+ ocaml-logs-dev
+ ocaml-lwt-dev
+ ocaml-happy-eyeballs-dev
+ ocaml-cmdliner-dev
+ ocaml-dns-dev
+ ocaml-mtime-dev
+ "
+makedepends="$depends_dev dune ocaml libev-dev gmp-dev"
+subpackages="$pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/roburio/happy-eyeballs/releases/download/v$pkgver/happy-eyeballs-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build \
+ -p happy-eyeballs-lwt \
+ --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ happy-eyeballs-lwt
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+tools() {
+ pkgdesc="$pkgdesc (command line utilities)"
+ depends=""
+
+ amove usr/bin
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+0c43180c635c1ac807bd6a2abbb0403afca646870936baa451f6eadcd37d1b32ceea916d7b441b190392c4b32d32292bf6196de00faa198e2e8e59c3b4fdef56 ocaml-happy-eyeballs-lwt-0.3.0.tar.bz2
+"
diff --git a/testing/ocaml-happy-eyeballs/APKBUILD b/testing/ocaml-happy-eyeballs/APKBUILD
new file mode 100644
index 00000000000..f54e500f047
--- /dev/null
+++ b/testing/ocaml-happy-eyeballs/APKBUILD
@@ -0,0 +1,89 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-happy-eyeballs
+_pkgname=happy-eyeballs
+pkgver=0.3.0
+pkgrel=2
+pkgdesc="Connecting to a remote host via IP version 4 or 6"
+url="https://github.com/roburio/happy-eyeballs"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-domain-name-dev
+ ocaml-duration-dev
+ ocaml-fmt-dev
+ ocaml-ipaddr-dev
+ ocaml-logs-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/roburio/happy-eyeballs/releases/download/v$pkgver/happy-eyeballs-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build \
+ -p happy-eyeballs \
+ --verbose
+}
+
+check() {
+ dune runtest \
+ -p happy-eyeballs \
+ --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ happy-eyeballs
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+0c43180c635c1ac807bd6a2abbb0403afca646870936baa451f6eadcd37d1b32ceea916d7b441b190392c4b32d32292bf6196de00faa198e2e8e59c3b4fdef56 ocaml-happy-eyeballs-0.3.0.tar.bz2
+"
diff --git a/testing/ocaml-hex/APKBUILD b/testing/ocaml-hex/APKBUILD
new file mode 100644
index 00000000000..e9a1c509dea
--- /dev/null
+++ b/testing/ocaml-hex/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-hex
+_pkgname=hex
+pkgver=1.5.0
+pkgrel=2
+pkgdesc="Library providing hexadecimal converters"
+url="https://github.com/mirage/ocaml-hex"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-cstruct-dev"
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ocaml-hex/releases/download/v$pkgver/hex-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+baa09b47a90f0a54ad2becfb272f0674219e4fc0c03559deff26aaf13ccd59258b31bf98e56c44a5a8fa03437e3eba2bf5f0cd76e52d184d26cfb1170c490462 ocaml-hex-1.5.0.tar.bz2
+"
diff --git a/testing/ocaml-hkdf/APKBUILD b/testing/ocaml-hkdf/APKBUILD
new file mode 100644
index 00000000000..9b54721127c
--- /dev/null
+++ b/testing/ocaml-hkdf/APKBUILD
@@ -0,0 +1,83 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-hkdf
+_pkgname=hkdf
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="HMAC-based Extract-and-Expand Key Derivation Function (RFC 5869)"
+url="https://github.com/hannesm/ocaml-hkdf"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-mirage-crypto-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/hannesm/ocaml-hkdf/releases/download/v$pkgver/hkdf-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+d08e50857f7761572adc4d382975fde5808898c1d92d9e6e943a496cba8780ffabe1edf67844063b70d9727c0fe10b24391e001a3f65c978a5326ac82199cc88 ocaml-hkdf-1.0.4.tar.bz2
+"
diff --git a/testing/ocaml-integers/APKBUILD b/testing/ocaml-integers/APKBUILD
new file mode 100644
index 00000000000..53b4709dab8
--- /dev/null
+++ b/testing/ocaml-integers/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-integers
+pkgver=0.7.0
+pkgrel=2
+pkgdesc="Various signed and unsigned integer types for OCaml"
+url="https://github.com/ocamllabs/ocaml-integers"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml ocaml-compiler-libs ocaml-stdlib-shims"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocamllabs/ocaml-integers/archive/$pkgver.tar.gz"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f71bf73af2e4e0dd5bd039b28bce1fdabfb199ada1836d694814aa6d0c1c2d205531fbfc05581082b2dbb1e9cc0948e594915d5ad6a1cfa1dbffa9e44a7a7450 ocaml-integers-0.7.0.tar.gz
+"
diff --git a/testing/ocaml-ipaddr/APKBUILD b/testing/ocaml-ipaddr/APKBUILD
new file mode 100644
index 00000000000..ad0ffb7b618
--- /dev/null
+++ b/testing/ocaml-ipaddr/APKBUILD
@@ -0,0 +1,87 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ipaddr
+_pkgname=ipaddr
+pkgver=5.3.1
+pkgrel=2
+pkgdesc="A library for manipulation of IP (and MAC) address representations"
+provides="ocaml-macaddr=$pkgver-r$pkgrel"
+url="https://github.com/mirage/ocaml-ipaddr"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-domain-name-dev
+ ocaml-ppx_sexp_conv-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-ounit-dev ocaml-ppx_sexp_conv-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ocaml-ipaddr/releases/download/v$pkgver/ipaddr-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ provides="ocaml-macaddr-dev=$pkgver-r$pkgrel"
+
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+1d400f8344d1a8c2ac1c55e4a7167484034094e2227ce7c8f2f45843b0875a83030851400ceb96b5cdb756fa8798d83c77d839705fcb9e3f2bd5e46d337d63d0 ocaml-ipaddr-5.3.1.tar.bz2
+"
diff --git a/testing/ocaml-lablgtk3-extras/APKBUILD b/testing/ocaml-lablgtk3-extras/APKBUILD
new file mode 100644
index 00000000000..92685d3da4d
--- /dev/null
+++ b/testing/ocaml-lablgtk3-extras/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lablgtk3-extras
+_pkgname=lablgtk-extras
+pkgver=3.0.1
+pkgrel=2
+pkgdesc="Additional tools and libraries for ocaml-lablgtk3"
+url="https://zoggy.frama.io/lablgtk-extras/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-3.0-only"
+# lablgtk3-sourceview3 is bundled together in ocaml-lablgtk3
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-lablgtk3-dev
+ ocaml-ocf-dev
+ ocaml-xmlm-dev
+ ocaml-yojson-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://framagit.org/zoggy/lablgtk-extras/-/archive/$pkgver/lablgtk-extras-$pkgver.tar.bz2"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+a14faba4a0bd679311ad7c00fd80bb768727e70c84591af51e880a928a545e51c020d5fb3d51752162aff1525a6cd1606a25199e18c0c368b8d112d253bd7320 ocaml-lablgtk3-extras-3.0.1.tar.bz2
+"
diff --git a/testing/ocaml-lablgtk3/APKBUILD b/testing/ocaml-lablgtk3/APKBUILD
new file mode 100644
index 00000000000..fcb65971d71
--- /dev/null
+++ b/testing/ocaml-lablgtk3/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lablgtk3
+_pkgname=lablgtk
+pkgver=3.1.2
+pkgrel=3
+pkgdesc="OCaml interface to GTK+3"
+provides="$pkgname-sourceview3=$pkgver-r$pkgrel"
+url="https://github.com/garrigue/lablgtk"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cairo2-dev
+ gtksourceview-dev
+ "
+makedepends="$depends_dev dune dune-configurator ocaml"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/garrigue/lablgtk/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build \
+ -p lablgtk3,lablgtk3-sourceview3 \
+ --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ lablgtk3 lablgtk3-sourceview3
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ provides="$pkgname-sourceview3-dev=$pkgver-r$pkgrel"
+
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+c63a492160f36685f65cb6bc0e72ff4939005acb2c65c56c0d9ba8f2112a618f24db84765e7b4416e49024048a36895028cfc5ef2c3e298dd4a309e902e34af5 ocaml-lablgtk3-3.1.2.tar.gz
+"
diff --git a/testing/ocaml-labltk/APKBUILD b/testing/ocaml-labltk/APKBUILD
new file mode 100644
index 00000000000..be36cb6d40a
--- /dev/null
+++ b/testing/ocaml-labltk/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-labltk
+_pkgname=labltk
+pkgver=8.06.12
+pkgrel=2
+_ocamlver=4.14
+pkgdesc="Tcl/Tk interface for OCaml"
+url="https://garrigue.github.io/labltk/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.0-or-later WITH OCaml-LGPL-linking-exception"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml=~$_ocamlver
+ ocaml-compiler-libs=~$_ocamlver
+ tk-dev
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/garrigue/labltk/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ ./configure --tk-no-x11
+ make -j1 all
+ make -j1 opt
+}
+
+package() {
+ local libdir="$pkgdir/usr/lib/ocaml"
+
+ mkdir -p "$libdir"/$_pkgname \
+ "$libdir"/stublibs \
+ "$pkgdir"/usr/bin
+
+ export RANLIB=ranlib
+ make install \
+ BINDIR="$pkgdir/usr/bin" \
+ INSTALLDIR="$pkgdir/usr/lib/ocaml/$_pkgname" \
+ STUBLIBDIR="$pkgdir/usr/lib/ocaml/stublibs"
+
+ # The *.o files are not installed by the Makefile.
+ # AIUI that prevents linking with native code programs.
+ install -m 0644 camltk/*.o "$libdir"/$_pkgname/
+}
+
+dev() {
+ local sitelib="usr/lib/ocaml/$_pkgname"
+ default_dev
+
+ mkdir -p "$subpkgdir"/usr
+ mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
+
+ cd "$pkgdir"/$sitelib
+ mkdir -p "$subpkgdir"/$sitelib
+ mv ./*.mli "$subpkgdir"/$sitelib/
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+e1564ab2d8922276bd8ad586b37308d60ca2dd563bac3cdd992d8a6ba4de26e5499350a62a1d4cb2bbb9a5b7aff609b5187aad5fba118eb55d1b4c8355d2979a ocaml-labltk-8.06.12.tar.gz
+"
diff --git a/testing/ocaml-lambda-term/APKBUILD b/testing/ocaml-lambda-term/APKBUILD
new file mode 100644
index 00000000000..922fd1a07b7
--- /dev/null
+++ b/testing/ocaml-lambda-term/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lambda-term
+_pkgname=lambda-term
+pkgver=3.2.0
+pkgrel=4
+pkgdesc="Terminal manipulation library for OCaml"
+url="https://github.com/ocaml-community/lambda-term"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+# ocaml-lwt_react-dev is provided by ocaml-lwt-dev
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-camomile-dev
+ ocaml-lwt-dev
+ ocaml-lwt_log-dev
+ ocaml-mew_vi-dev
+ ocaml-zed-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml-community/lambda-term/releases/download/$pkgver/lambda-term-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install --destdir="$pkgdir"
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+46cd46f47c9f34c0a5e096b96e6eec59667b645bf5201140e498e6d4eb9baba8204a2b30b73c4b2f8140e5cf1972a56e3aa485b27bc5ace25b2c368f713ad7c4 ocaml-lambda-term-3.2.0.tar.gz
+"
diff --git a/testing/ocaml-lambdasoup/APKBUILD b/testing/ocaml-lambdasoup/APKBUILD
new file mode 100644
index 00000000000..c5466e26b31
--- /dev/null
+++ b/testing/ocaml-lambdasoup/APKBUILD
@@ -0,0 +1,88 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lambdasoup
+_pkgname=lambdasoup
+pkgver=0.7.3
+pkgrel=2
+pkgdesc="Easy functional HTML scraping and manipulation with CSS selectors"
+url="https://github.com/aantron/lambdasoup"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+checkdepends="ocaml-result-dev ocaml-ounit-dev"
+makedepends="
+ dune
+ ocaml
+ ocaml-seq-dev
+ ocaml-stdlib-shims
+ ocaml-uutf-dev
+ ocaml-markup-dev
+ ocaml-bisect_ppx-dev
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/aantron/lambdasoup/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+a6f15259e0034f297913fedb2713d4048dcf760d31d00c5ce0a990f977e22aba332a7303dec557912c74c59e178cdfeebfc26703a9698a65f8020aa8222e66e9 ocaml-lambdasoup-0.7.3.tar.gz
+"
diff --git a/testing/ocaml-libvirt/0001-Add-a-binding-for-virDomainCreateXML.patch b/testing/ocaml-libvirt/0001-Add-a-binding-for-virDomainCreateXML.patch
deleted file mode 100644
index a25507b4f03..00000000000
--- a/testing/ocaml-libvirt/0001-Add-a-binding-for-virDomainCreateXML.patch
+++ /dev/null
@@ -1,213 +0,0 @@
-From 7483c7454538584a3dbe4582096f058e6e877df6 Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Fri, 6 Mar 2015 15:35:46 +0000
-Subject: [PATCH] Add a binding for virDomainCreateXML.
-
-This is more modern than the ancient virDomainCreateLinux API,
-and crucially allows you to pass flags such as AUTODESTROY.
----
- configure.ac | 2 +-
- libvirt/generator.pl | 23 +++++++++++++++++++++--
- libvirt/libvirt.ml | 19 ++++++++++++++++++-
- libvirt/libvirt.mli | 13 +++++++++++--
- libvirt/libvirt_c.c | 25 ++++++++++++++++++++++++-
- 5 files changed, 75 insertions(+), 7 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index b7544b4..a719fb3 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1,5 +1,5 @@
- # ocaml-libvirt
--# Copyright (C) 2007-2008 Red Hat Inc., Richard W.M. Jones
-+# Copyright (C) 2007-2015 Red Hat Inc., Richard W.M. Jones
- #
- # This library is free software; you can redistribute it and/or
- # modify it under the terms of the GNU Lesser General Public
-diff --git a/libvirt/generator.pl b/libvirt/generator.pl
-index 8229ad1..421592b 100755
---- a/libvirt/generator.pl
-+++ b/libvirt/generator.pl
-@@ -1,7 +1,7 @@
- #!/usr/bin/perl -w
- #
- # OCaml bindings for libvirt.
--# (C) Copyright 2007-2008 Richard W.M. Jones, Red Hat Inc.
-+# (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc.
- # http://libvirt.org/
- #
- # This library is free software; you can redistribute it and/or
-@@ -63,6 +63,7 @@ my @functions = (
- sig => "conn, int : unit" },
-
- { name => "virDomainCreateLinux", sig => "conn, string, 0U : dom" },
-+ { name => "virDomainCreateXML", sig => "conn, string, unsigned : dom" },
- { name => "virDomainFree", sig => "dom : free" },
- { name => "virDomainDestroy", sig => "dom : free" },
- { name => "virDomainLookupByName", sig => "conn, string : dom" },
-@@ -198,7 +199,7 @@ print F <<'END';
- */
-
- /* OCaml bindings for libvirt.
-- * (C) Copyright 2007-2008 Richard W.M. Jones, Red Hat Inc.
-+ * (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc.
- * http://libvirt.org/
- *
- * This library is free software; you can redistribute it and/or
-@@ -310,6 +311,8 @@ sub gen_arg_names
- ( "$1v", "strv" )
- } elsif ($sig =~ /^(\w+), string, 0U? : (\w+)$/) {
- ( "$1v", "strv" )
-+ } elsif ($sig =~ /^(\w+), string, unsigned : (\w+)$/) {
-+ ( "$1v", "strv", "uv" )
- } elsif ($sig =~ /^(\w+), u?int : (\w+)$/) {
- ( "$1v", "iv" )
- } elsif ($sig =~ /^(\w+), uuid : (\w+)$/) {
-@@ -632,6 +635,22 @@ sub gen_c_code
-
- CAMLreturn (rv);
- "
-+ } elsif ($sig =~ /^(\w+), string, unsigned : (\w+)$/) {
-+ my $c_ret_type = short_name_to_c_type ($2);
-+ "\
-+ CAMLlocal1 (rv);
-+ " . gen_unpack_args ($1) . "
-+ char *str = String_val (strv);
-+ unsigned int u = Int_val (uv);
-+ $c_ret_type r;
-+
-+ NONBLOCKING (r = $c_name ($1, str, u));
-+ CHECK_ERROR (!r, conn, \"$c_name\");
-+
-+ " . gen_pack_result ($2) . "
-+
-+ CAMLreturn (rv);
-+"
- } elsif ($sig =~ /^(\w+), (u?)int : unit$/) {
- my $unsigned = $2 eq "u" ? "unsigned " : "";
- "\
-diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml
-index 9c9368a..1be023d 100644
---- a/libvirt/libvirt.ml
-+++ b/libvirt/libvirt.ml
-@@ -1,5 +1,5 @@
- (* OCaml bindings for libvirt.
-- (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc.
-+ (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc.
- http://libvirt.org/
-
- This library is free software; you can redistribute it and/or
-@@ -337,6 +337,20 @@ struct
- cpu : int;
- }
-
-+ type domain_create_flag =
-+ | START_PAUSED
-+ | START_AUTODESTROY
-+ | START_BYPASS_CACHE
-+ | START_FORCE_BOOT
-+ | START_VALIDATE
-+ let rec int_of_domain_create_flags = function
-+ | [] -> 0
-+ | START_PAUSED :: flags -> 1 lor int_of_domain_create_flags flags
-+ | START_AUTODESTROY :: flags -> 2 lor int_of_domain_create_flags flags
-+ | START_BYPASS_CACHE :: flags -> 4 lor int_of_domain_create_flags flags
-+ | START_FORCE_BOOT :: flags -> 8 lor int_of_domain_create_flags flags
-+ | START_VALIDATE :: flags -> 16 lor int_of_domain_create_flags flags
-+
- type sched_param = string * sched_param_value
- and sched_param_value =
- | SchedFieldInt32 of int32 | SchedFieldUInt32 of int32
-@@ -385,6 +399,9 @@ struct
- let max_peek _ = 65536
-
- external create_linux : [>`W] Connect.t -> xml -> rw t = "ocaml_libvirt_domain_create_linux"
-+ external _create_xml : [>`W] Connect.t -> xml -> int -> rw t = "ocaml_libvirt_domain_create_xml"
-+ let create_xml conn xml flags =
-+ _create_xml conn xml (int_of_domain_create_flags flags)
- external lookup_by_id : 'a Connect.t -> int -> 'a t = "ocaml_libvirt_domain_lookup_by_id"
- external lookup_by_uuid : 'a Connect.t -> uuid -> 'a t = "ocaml_libvirt_domain_lookup_by_uuid"
- external lookup_by_uuid_string : 'a Connect.t -> string -> 'a t = "ocaml_libvirt_domain_lookup_by_uuid_string"
-diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli
-index 36cd113..8cfcae2 100644
---- a/libvirt/libvirt.mli
-+++ b/libvirt/libvirt.mli
-@@ -1,5 +1,5 @@
- (** OCaml bindings for libvirt. *)
--(* (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc.
-+(* (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc.
- http://libvirt.org/
-
- This library is free software; you can redistribute it and/or
-@@ -430,6 +430,13 @@ sig
- cpu : int; (** real CPU number, -1 if offline *)
- }
-
-+ type domain_create_flag =
-+ | START_PAUSED (** Launch guest in paused state *)
-+ | START_AUTODESTROY (** Automatically kill guest on close *)
-+ | START_BYPASS_CACHE (** Avoid filesystem cache pollution *)
-+ | START_FORCE_BOOT (** Discard any managed save *)
-+ | START_VALIDATE (** Validate XML against schema *)
-+
- type sched_param = string * sched_param_value
- and sched_param_value =
- | SchedFieldInt32 of int32 | SchedFieldUInt32 of int32
-@@ -478,8 +485,10 @@ sig
-
- val create_linux : [>`W] Connect.t -> xml -> rw t
- (** Create a new guest domain (not necessarily a Linux one)
-- from the given XML.
-+ from the given XML. Use {!create_xml} instead.
- *)
-+ val create_xml : [>`W] Connect.t -> xml -> domain_create_flag list -> rw t
-+ (** Create a new guest domain from the given XML. *)
- val lookup_by_id : 'a Connect.t -> int -> 'a t
- (** Lookup a domain by ID. *)
- val lookup_by_uuid : 'a Connect.t -> uuid -> 'a t
-diff --git a/libvirt/libvirt_c.c b/libvirt/libvirt_c.c
-index 71e6f61..6e56682 100644
---- a/libvirt/libvirt_c.c
-+++ b/libvirt/libvirt_c.c
-@@ -6,7 +6,7 @@
- */
-
- /* OCaml bindings for libvirt.
-- * (C) Copyright 2007-2008 Richard W.M. Jones, Red Hat Inc.
-+ * (C) Copyright 2007-2015 Richard W.M. Jones, Red Hat Inc.
- * http://libvirt.org/
- *
- * This library is free software; you can redistribute it and/or
-@@ -525,6 +525,29 @@ ocaml_libvirt_domain_create_linux (value connv, value strv)
- CAMLreturn (rv);
- }
-
-+/* Automatically generated binding for virDomainCreateXML.
-+ * In generator.pl this function has signature "conn, string, unsigned : dom".
-+ */
-+
-+CAMLprim value
-+ocaml_libvirt_domain_create_xml (value connv, value strv, value uv)
-+{
-+ CAMLparam3 (connv, strv, uv);
-+
-+ CAMLlocal1 (rv);
-+ virConnectPtr conn = Connect_val (connv);
-+ char *str = String_val (strv);
-+ unsigned int u = Int_val (uv);
-+ virDomainPtr r;
-+
-+ NONBLOCKING (r = virDomainCreateXML (conn, str, u));
-+ CHECK_ERROR (!r, conn, "virDomainCreateXML");
-+
-+ rv = Val_domain (r, connv);
-+
-+ CAMLreturn (rv);
-+}
-+
- /* Automatically generated binding for virDomainFree.
- * In generator.pl this function has signature "dom : free".
- */
---
-2.3.1
-
diff --git a/testing/ocaml-libvirt/0001-Remove-unused-not_supported-function.patch b/testing/ocaml-libvirt/0001-Remove-unused-not_supported-function.patch
deleted file mode 100644
index 851385cba3e..00000000000
--- a/testing/ocaml-libvirt/0001-Remove-unused-not_supported-function.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 8853f5a49587f00a7d2a5c8c7e52480a16bbdb02 Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Fri, 5 Feb 2016 16:28:34 +0000
-Subject: [PATCH] Remove unused 'not_supported' function.
-
-Found by compiling under GCC 6. The warning was:
-
-In file included from libvirt_c.c:2058:0:
-libvirt_c_epilogue.c:89:1: error: 'not_supported' defined but not used [-Werror=unused-function]
- not_supported (const char *fn)
- ^~~~~~~~~~~~~
----
- libvirt/libvirt_c_epilogue.c | 15 ---------------
- libvirt/libvirt_c_prologue.c | 1 -
- 2 files changed, 16 deletions(-)
-
-diff --git a/libvirt/libvirt_c_epilogue.c b/libvirt/libvirt_c_epilogue.c
-index 4972e50..fa592c9 100644
---- a/libvirt/libvirt_c_epilogue.c
-+++ b/libvirt/libvirt_c_epilogue.c
-@@ -84,21 +84,6 @@ _raise_virterror (const char *fn)
- (void) caml__frame;
- }
-
--/* Raise an error if a function is not supported. */
--static void
--not_supported (const char *fn)
--{
-- CAMLparam0 ();
-- CAMLlocal1 (fnv);
--
-- fnv = caml_copy_string (fn);
-- caml_raise_with_arg (*caml_named_value ("ocaml_libvirt_not_supported"), fnv);
--
-- /*NOTREACHED*/
-- /* Suppresses a compiler warning. */
-- (void) caml__frame;
--}
--
- /* Convert the virErrorNumber, virErrorDomain and virErrorLevel enums
- * into values (longs because they are variants in OCaml).
- *
-diff --git a/libvirt/libvirt_c_prologue.c b/libvirt/libvirt_c_prologue.c
-index bf972e9..710c0d6 100644
---- a/libvirt/libvirt_c_prologue.c
-+++ b/libvirt/libvirt_c_prologue.c
-@@ -25,7 +25,6 @@ typedef value (*Val_ptr_t) (void *);
- static value Val_opt (void *ptr, Val_ptr_t Val_ptr);
- /*static value option_default (value option, value deflt);*/
- static void _raise_virterror (const char *fn) Noreturn;
--static void not_supported (const char *fn) Noreturn;
- static value Val_virterror (virErrorPtr err);
-
- /* Use this around synchronous libvirt API calls to release the OCaml
---
-2.5.0
-
diff --git a/testing/ocaml-libvirt/0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch b/testing/ocaml-libvirt/0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch
deleted file mode 100644
index f3655349e83..00000000000
--- a/testing/ocaml-libvirt/0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch
+++ /dev/null
@@ -1,1864 +0,0 @@
-From 68fae1ec3de46fd9eec88fb7c1894ea7ed85ccc9 Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Tue, 17 Mar 2015 12:51:50 +0000
-Subject: [PATCH 1/2] Suppress errors to stderr and use thread-local
- virErrorPtr
-
-This allows us to capture errors that happen during virConnectOpen,
-without spewing error messages on stderr.
-
-The patch is rather large, only because we don't need to pass the
-virConnectPtr argument to CHECK_ERROR/_raise_virterror any longer.
----
- libvirt/generator.pl | 66 ++++++------
- libvirt/libvirt_c.c | 241 +++++++++++++++++--------------------------
- libvirt/libvirt_c_epilogue.c | 4 +-
- libvirt/libvirt_c_oneoffs.c | 94 +++++++----------
- libvirt/libvirt_c_prologue.c | 6 +-
- 5 files changed, 169 insertions(+), 242 deletions(-)
-
-diff --git a/libvirt/generator.pl b/libvirt/generator.pl
-index 421592b..34801ba 100755
---- a/libvirt/generator.pl
-+++ b/libvirt/generator.pl
-@@ -343,17 +343,13 @@ sub gen_unpack_args
- if ($_ eq "conn") {
- "virConnectPtr conn = Connect_val (connv);"
- } elsif ($_ eq "dom") {
-- "virDomainPtr dom = Domain_val (domv);\n".
-- " virConnectPtr conn = Connect_domv (domv);"
-+ "virDomainPtr dom = Domain_val (domv);"
- } elsif ($_ eq "net") {
-- "virNetworkPtr net = Network_val (netv);\n".
-- " virConnectPtr conn = Connect_netv (netv);"
-+ "virNetworkPtr net = Network_val (netv);"
- } elsif ($_ eq "pool") {
-- "virStoragePoolPtr pool = Pool_val (poolv);\n".
-- " virConnectPtr conn = Connect_polv (poolv);"
-+ "virStoragePoolPtr pool = Pool_val (poolv);"
- } elsif ($_ eq "vol") {
-- "virStorageVolPtr vol = Volume_val (volv);\n".
-- " virConnectPtr conn = Connect_volv (volv);"
-+ "virStorageVolPtr vol = Volume_val (volv);"
- } else {
- die "unknown short name $_"
- }
-@@ -402,7 +398,7 @@ sub gen_c_code
- char *r;
-
- NONBLOCKING (r = $c_name ($1));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -415,7 +411,7 @@ sub gen_c_code
- const char *r;
-
- NONBLOCKING (r = $c_name ($1));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- rv = caml_copy_string (r);
- CAMLreturn (rv);
-@@ -426,7 +422,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- CAMLreturn (Val_int (r));
- "
-@@ -438,7 +434,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1, uuid));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- /* UUIDs are byte arrays with a fixed length. */
- rv = caml_alloc_string (VIR_UUID_BUFLEN);
-@@ -453,7 +449,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1, uuid));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- rv = caml_copy_string (uuid);
- CAMLreturn (rv);
-@@ -464,7 +460,7 @@ sub gen_c_code
- int r, b;
-
- NONBLOCKING (r = $c_name ($1, &b));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- CAMLreturn (b ? Val_true : Val_false);
- "
-@@ -476,7 +472,7 @@ sub gen_c_code
- b = bv == Val_true ? 1 : 0;
-
- NONBLOCKING (r = $c_name ($1, b));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- CAMLreturn (Val_unit);
- "
-@@ -498,7 +494,7 @@ sub gen_c_code
- }
-
- NONBLOCKING (r = $c_name (conn, ids, i));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i)
-@@ -525,7 +521,7 @@ sub gen_c_code
- }
-
- NONBLOCKING (r = $c_name ($1, names, i));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-@@ -543,7 +539,7 @@ sub gen_c_code
- char *r;
-
- NONBLOCKING (r = $c_name ($1, 0));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -555,7 +551,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1, 0));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- CAMLreturn (Val_unit);
- "
-@@ -565,7 +561,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- CAMLreturn (Val_unit);
- "
-@@ -575,7 +571,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- /* So that we don't double-free in the finalizer: */
- " . gen_free_arg ($1) . "
-@@ -589,7 +585,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1, str));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- CAMLreturn (Val_unit);
- "
-@@ -601,7 +597,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1, str, 0));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- CAMLreturn (Val_unit);
- "
-@@ -614,7 +610,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, str));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- " . gen_pack_result ($2) . "
-
-@@ -629,7 +625,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, str, 0));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- " . gen_pack_result ($2) . "
-
-@@ -645,7 +641,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, str, u));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- " . gen_pack_result ($2) . "
-
-@@ -659,7 +655,7 @@ sub gen_c_code
- int r;
-
- NONBLOCKING (r = $c_name ($1, i));
-- CHECK_ERROR (r == -1, conn, \"$c_name\");
-+ CHECK_ERROR (r == -1, \"$c_name\");
-
- CAMLreturn (Val_unit);
- "
-@@ -673,7 +669,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, i));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- " . gen_pack_result ($3) . "
-
-@@ -688,7 +684,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, uuid));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- " . gen_pack_result ($2) . "
-
-@@ -702,7 +698,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, 0));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- " . gen_pack_result ($2) . "
-
-@@ -716,7 +712,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- " . gen_pack_result ($2) . "
-
-@@ -731,7 +727,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, str));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- connv = Field ($3v, 1);
- " . gen_pack_result ($2) . "
-@@ -747,7 +743,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, str, 0));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- connv = Field ($3v, 1);
- " . gen_pack_result ($2) . "
-@@ -762,7 +758,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1, 0));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- connv = Field ($3v, 1);
- " . gen_pack_result ($2) . "
-@@ -777,7 +773,7 @@ sub gen_c_code
- $c_ret_type r;
-
- NONBLOCKING (r = $c_name ($1));
-- CHECK_ERROR (!r, conn, \"$c_name\");
-+ CHECK_ERROR (!r, \"$c_name\");
-
- connv = Field ($3v, 1);
- " . gen_pack_result ($2) . "
-diff --git a/libvirt/libvirt_c.c b/libvirt/libvirt_c.c
-index 6e56682..8d51944 100644
---- a/libvirt/libvirt_c.c
-+++ b/libvirt/libvirt_c.c
-@@ -61,7 +61,7 @@ ocaml_libvirt_connect_close (value connv)
- int r;
-
- NONBLOCKING (r = virConnectClose (conn));
-- CHECK_ERROR (r == -1, conn, "virConnectClose");
-+ CHECK_ERROR (r == -1, "virConnectClose");
-
- /* So that we don't double-free in the finalizer: */
- Connect_val (connv) = NULL;
-@@ -83,7 +83,7 @@ ocaml_libvirt_connect_get_hostname (value connv)
- char *r;
-
- NONBLOCKING (r = virConnectGetHostname (conn));
-- CHECK_ERROR (!r, conn, "virConnectGetHostname");
-+ CHECK_ERROR (!r, "virConnectGetHostname");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -104,7 +104,7 @@ ocaml_libvirt_connect_get_uri (value connv)
- char *r;
-
- NONBLOCKING (r = virConnectGetURI (conn));
-- CHECK_ERROR (!r, conn, "virConnectGetURI");
-+ CHECK_ERROR (!r, "virConnectGetURI");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -125,7 +125,7 @@ ocaml_libvirt_connect_get_type (value connv)
- const char *r;
-
- NONBLOCKING (r = virConnectGetType (conn));
-- CHECK_ERROR (!r, conn, "virConnectGetType");
-+ CHECK_ERROR (!r, "virConnectGetType");
-
- rv = caml_copy_string (r);
- CAMLreturn (rv);
-@@ -144,7 +144,7 @@ ocaml_libvirt_connect_num_of_domains (value connv)
- int r;
-
- NONBLOCKING (r = virConnectNumOfDomains (conn));
-- CHECK_ERROR (r == -1, conn, "virConnectNumOfDomains");
-+ CHECK_ERROR (r == -1, "virConnectNumOfDomains");
-
- CAMLreturn (Val_int (r));
- }
-@@ -174,7 +174,7 @@ ocaml_libvirt_connect_list_domains (value connv, value iv)
- }
-
- NONBLOCKING (r = virConnectListDomains (conn, ids, i));
-- CHECK_ERROR (r == -1, conn, "virConnectListDomains");
-+ CHECK_ERROR (r == -1, "virConnectListDomains");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i)
-@@ -196,7 +196,7 @@ ocaml_libvirt_connect_num_of_defined_domains (value connv)
- int r;
-
- NONBLOCKING (r = virConnectNumOfDefinedDomains (conn));
-- CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedDomains");
-+ CHECK_ERROR (r == -1, "virConnectNumOfDefinedDomains");
-
- CAMLreturn (Val_int (r));
- }
-@@ -227,7 +227,7 @@ ocaml_libvirt_connect_list_defined_domains (value connv, value iv)
- }
-
- NONBLOCKING (r = virConnectListDefinedDomains (conn, names, i));
-- CHECK_ERROR (r == -1, conn, "virConnectListDefinedDomains");
-+ CHECK_ERROR (r == -1, "virConnectListDefinedDomains");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-@@ -252,7 +252,7 @@ ocaml_libvirt_connect_num_of_networks (value connv)
- int r;
-
- NONBLOCKING (r = virConnectNumOfNetworks (conn));
-- CHECK_ERROR (r == -1, conn, "virConnectNumOfNetworks");
-+ CHECK_ERROR (r == -1, "virConnectNumOfNetworks");
-
- CAMLreturn (Val_int (r));
- }
-@@ -283,7 +283,7 @@ ocaml_libvirt_connect_list_networks (value connv, value iv)
- }
-
- NONBLOCKING (r = virConnectListNetworks (conn, names, i));
-- CHECK_ERROR (r == -1, conn, "virConnectListNetworks");
-+ CHECK_ERROR (r == -1, "virConnectListNetworks");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-@@ -308,7 +308,7 @@ ocaml_libvirt_connect_num_of_defined_networks (value connv)
- int r;
-
- NONBLOCKING (r = virConnectNumOfDefinedNetworks (conn));
-- CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedNetworks");
-+ CHECK_ERROR (r == -1, "virConnectNumOfDefinedNetworks");
-
- CAMLreturn (Val_int (r));
- }
-@@ -339,7 +339,7 @@ ocaml_libvirt_connect_list_defined_networks (value connv, value iv)
- }
-
- NONBLOCKING (r = virConnectListDefinedNetworks (conn, names, i));
-- CHECK_ERROR (r == -1, conn, "virConnectListDefinedNetworks");
-+ CHECK_ERROR (r == -1, "virConnectListDefinedNetworks");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-@@ -364,7 +364,7 @@ ocaml_libvirt_connect_num_of_storage_pools (value connv)
- int r;
-
- NONBLOCKING (r = virConnectNumOfStoragePools (conn));
-- CHECK_ERROR (r == -1, conn, "virConnectNumOfStoragePools");
-+ CHECK_ERROR (r == -1, "virConnectNumOfStoragePools");
-
- CAMLreturn (Val_int (r));
- }
-@@ -395,7 +395,7 @@ ocaml_libvirt_connect_list_storage_pools (value connv, value iv)
- }
-
- NONBLOCKING (r = virConnectListStoragePools (conn, names, i));
-- CHECK_ERROR (r == -1, conn, "virConnectListStoragePools");
-+ CHECK_ERROR (r == -1, "virConnectListStoragePools");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-@@ -420,7 +420,7 @@ ocaml_libvirt_connect_num_of_defined_storage_pools (value connv)
- int r;
-
- NONBLOCKING (r = virConnectNumOfDefinedStoragePools (conn));
-- CHECK_ERROR (r == -1, conn, "virConnectNumOfDefinedStoragePools");
-+ CHECK_ERROR (r == -1, "virConnectNumOfDefinedStoragePools");
-
- CAMLreturn (Val_int (r));
- }
-@@ -451,7 +451,7 @@ ocaml_libvirt_connect_list_defined_storage_pools (value connv, value iv)
- }
-
- NONBLOCKING (r = virConnectListDefinedStoragePools (conn, names, i));
-- CHECK_ERROR (r == -1, conn, "virConnectListDefinedStoragePools");
-+ CHECK_ERROR (r == -1, "virConnectListDefinedStoragePools");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-@@ -477,7 +477,7 @@ ocaml_libvirt_connect_get_capabilities (value connv)
- char *r;
-
- NONBLOCKING (r = virConnectGetCapabilities (conn));
-- CHECK_ERROR (!r, conn, "virConnectGetCapabilities");
-+ CHECK_ERROR (!r, "virConnectGetCapabilities");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -498,7 +498,7 @@ ocaml_libvirt_connect_domain_event_deregister_any (value connv, value iv)
- int r;
-
- NONBLOCKING (r = virConnectDomainEventDeregisterAny (conn, i));
-- CHECK_ERROR (r == -1, conn, "virConnectDomainEventDeregisterAny");
-+ CHECK_ERROR (r == -1, "virConnectDomainEventDeregisterAny");
-
- CAMLreturn (Val_unit);
- }
-@@ -518,7 +518,7 @@ ocaml_libvirt_domain_create_linux (value connv, value strv)
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainCreateLinux (conn, str, 0));
-- CHECK_ERROR (!r, conn, "virDomainCreateLinux");
-+ CHECK_ERROR (!r, "virDomainCreateLinux");
-
- rv = Val_domain (r, connv);
-
-@@ -541,7 +541,7 @@ ocaml_libvirt_domain_create_xml (value connv, value strv, value uv)
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainCreateXML (conn, str, u));
-- CHECK_ERROR (!r, conn, "virDomainCreateXML");
-+ CHECK_ERROR (!r, "virDomainCreateXML");
-
- rv = Val_domain (r, connv);
-
-@@ -558,11 +558,10 @@ ocaml_libvirt_domain_free (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainFree (dom));
-- CHECK_ERROR (r == -1, conn, "virDomainFree");
-+ CHECK_ERROR (r == -1, "virDomainFree");
-
- /* So that we don't double-free in the finalizer: */
- Domain_val (domv) = NULL;
-@@ -580,11 +579,10 @@ ocaml_libvirt_domain_destroy (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainDestroy (dom));
-- CHECK_ERROR (r == -1, conn, "virDomainDestroy");
-+ CHECK_ERROR (r == -1, "virDomainDestroy");
-
- /* So that we don't double-free in the finalizer: */
- Domain_val (domv) = NULL;
-@@ -607,7 +605,7 @@ ocaml_libvirt_domain_lookup_by_name (value connv, value strv)
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainLookupByName (conn, str));
-- CHECK_ERROR (!r, conn, "virDomainLookupByName");
-+ CHECK_ERROR (!r, "virDomainLookupByName");
-
- rv = Val_domain (r, connv);
-
-@@ -629,7 +627,7 @@ ocaml_libvirt_domain_lookup_by_id (value connv, value iv)
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainLookupByID (conn, i));
-- CHECK_ERROR (!r, conn, "virDomainLookupByID");
-+ CHECK_ERROR (!r, "virDomainLookupByID");
-
- rv = Val_domain (r, connv);
-
-@@ -651,7 +649,7 @@ ocaml_libvirt_domain_lookup_by_uuid (value connv, value uuidv)
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainLookupByUUID (conn, uuid));
-- CHECK_ERROR (!r, conn, "virDomainLookupByUUID");
-+ CHECK_ERROR (!r, "virDomainLookupByUUID");
-
- rv = Val_domain (r, connv);
-
-@@ -673,7 +671,7 @@ ocaml_libvirt_domain_lookup_by_uuid_string (value connv, value strv)
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainLookupByUUIDString (conn, str));
-- CHECK_ERROR (!r, conn, "virDomainLookupByUUIDString");
-+ CHECK_ERROR (!r, "virDomainLookupByUUIDString");
-
- rv = Val_domain (r, connv);
-
-@@ -691,11 +689,10 @@ ocaml_libvirt_domain_get_name (value domv)
-
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- const char *r;
-
- NONBLOCKING (r = virDomainGetName (dom));
-- CHECK_ERROR (!r, conn, "virDomainGetName");
-+ CHECK_ERROR (!r, "virDomainGetName");
-
- rv = caml_copy_string (r);
- CAMLreturn (rv);
-@@ -712,11 +709,10 @@ ocaml_libvirt_domain_get_os_type (value domv)
-
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *r;
-
- NONBLOCKING (r = virDomainGetOSType (dom));
-- CHECK_ERROR (!r, conn, "virDomainGetOSType");
-+ CHECK_ERROR (!r, "virDomainGetOSType");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -734,11 +730,10 @@ ocaml_libvirt_domain_get_xml_desc (value domv)
-
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *r;
-
- NONBLOCKING (r = virDomainGetXMLDesc (dom, 0));
-- CHECK_ERROR (!r, conn, "virDomainGetXMLDesc");
-+ CHECK_ERROR (!r, "virDomainGetXMLDesc");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -756,12 +751,11 @@ ocaml_libvirt_domain_get_uuid (value domv)
-
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- unsigned char uuid[VIR_UUID_BUFLEN];
- int r;
-
- NONBLOCKING (r = virDomainGetUUID (dom, uuid));
-- CHECK_ERROR (r == -1, conn, "virDomainGetUUID");
-+ CHECK_ERROR (r == -1, "virDomainGetUUID");
-
- /* UUIDs are byte arrays with a fixed length. */
- rv = caml_alloc_string (VIR_UUID_BUFLEN);
-@@ -780,12 +774,11 @@ ocaml_libvirt_domain_get_uuid_string (value domv)
-
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char uuid[VIR_UUID_STRING_BUFLEN];
- int r;
-
- NONBLOCKING (r = virDomainGetUUIDString (dom, uuid));
-- CHECK_ERROR (r == -1, conn, "virDomainGetUUIDString");
-+ CHECK_ERROR (r == -1, "virDomainGetUUIDString");
-
- rv = caml_copy_string (uuid);
- CAMLreturn (rv);
-@@ -801,11 +794,10 @@ ocaml_libvirt_domain_get_max_vcpus (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainGetMaxVcpus (dom));
-- CHECK_ERROR (r == -1, conn, "virDomainGetMaxVcpus");
-+ CHECK_ERROR (r == -1, "virDomainGetMaxVcpus");
-
- CAMLreturn (Val_int (r));
- }
-@@ -820,12 +812,11 @@ ocaml_libvirt_domain_save (value domv, value strv)
- CAMLparam2 (domv, strv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *str = String_val (strv);
- int r;
-
- NONBLOCKING (r = virDomainSave (dom, str));
-- CHECK_ERROR (r == -1, conn, "virDomainSave");
-+ CHECK_ERROR (r == -1, "virDomainSave");
-
- CAMLreturn (Val_unit);
- }
-@@ -844,7 +835,7 @@ ocaml_libvirt_domain_restore (value connv, value strv)
- int r;
-
- NONBLOCKING (r = virDomainRestore (conn, str));
-- CHECK_ERROR (r == -1, conn, "virDomainRestore");
-+ CHECK_ERROR (r == -1, "virDomainRestore");
-
- CAMLreturn (Val_unit);
- }
-@@ -860,12 +851,11 @@ ocaml_libvirt_domain_core_dump (value domv, value strv)
-
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *str = String_val (strv);
- int r;
-
- NONBLOCKING (r = virDomainCoreDump (dom, str, 0));
-- CHECK_ERROR (!r, conn, "virDomainCoreDump");
-+ CHECK_ERROR (!r, "virDomainCoreDump");
-
- CAMLreturn (Val_unit);
- }
-@@ -880,11 +870,10 @@ ocaml_libvirt_domain_suspend (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainSuspend (dom));
-- CHECK_ERROR (r == -1, conn, "virDomainSuspend");
-+ CHECK_ERROR (r == -1, "virDomainSuspend");
-
- CAMLreturn (Val_unit);
- }
-@@ -899,11 +888,10 @@ ocaml_libvirt_domain_resume (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainResume (dom));
-- CHECK_ERROR (r == -1, conn, "virDomainResume");
-+ CHECK_ERROR (r == -1, "virDomainResume");
-
- CAMLreturn (Val_unit);
- }
-@@ -918,11 +906,10 @@ ocaml_libvirt_domain_shutdown (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainShutdown (dom));
-- CHECK_ERROR (r == -1, conn, "virDomainShutdown");
-+ CHECK_ERROR (r == -1, "virDomainShutdown");
-
- CAMLreturn (Val_unit);
- }
-@@ -937,11 +924,10 @@ ocaml_libvirt_domain_reboot (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainReboot (dom, 0));
-- CHECK_ERROR (r == -1, conn, "virDomainReboot");
-+ CHECK_ERROR (r == -1, "virDomainReboot");
-
- CAMLreturn (Val_unit);
- }
-@@ -961,7 +947,7 @@ ocaml_libvirt_domain_define_xml (value connv, value strv)
- virDomainPtr r;
-
- NONBLOCKING (r = virDomainDefineXML (conn, str));
-- CHECK_ERROR (!r, conn, "virDomainDefineXML");
-+ CHECK_ERROR (!r, "virDomainDefineXML");
-
- rv = Val_domain (r, connv);
-
-@@ -978,11 +964,10 @@ ocaml_libvirt_domain_undefine (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainUndefine (dom));
-- CHECK_ERROR (r == -1, conn, "virDomainUndefine");
-+ CHECK_ERROR (r == -1, "virDomainUndefine");
-
- CAMLreturn (Val_unit);
- }
-@@ -997,11 +982,10 @@ ocaml_libvirt_domain_create (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r;
-
- NONBLOCKING (r = virDomainCreate (dom));
-- CHECK_ERROR (r == -1, conn, "virDomainCreate");
-+ CHECK_ERROR (r == -1, "virDomainCreate");
-
- CAMLreturn (Val_unit);
- }
-@@ -1016,12 +1000,11 @@ ocaml_libvirt_domain_attach_device (value domv, value strv)
- CAMLparam2 (domv, strv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *str = String_val (strv);
- int r;
-
- NONBLOCKING (r = virDomainAttachDevice (dom, str));
-- CHECK_ERROR (r == -1, conn, "virDomainAttachDevice");
-+ CHECK_ERROR (r == -1, "virDomainAttachDevice");
-
- CAMLreturn (Val_unit);
- }
-@@ -1036,12 +1019,11 @@ ocaml_libvirt_domain_detach_device (value domv, value strv)
- CAMLparam2 (domv, strv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *str = String_val (strv);
- int r;
-
- NONBLOCKING (r = virDomainDetachDevice (dom, str));
-- CHECK_ERROR (r == -1, conn, "virDomainDetachDevice");
-+ CHECK_ERROR (r == -1, "virDomainDetachDevice");
-
- CAMLreturn (Val_unit);
- }
-@@ -1056,11 +1038,10 @@ ocaml_libvirt_domain_get_autostart (value domv)
- CAMLparam1 (domv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r, b;
-
- NONBLOCKING (r = virDomainGetAutostart (dom, &b));
-- CHECK_ERROR (r == -1, conn, "virDomainGetAutostart");
-+ CHECK_ERROR (r == -1, "virDomainGetAutostart");
-
- CAMLreturn (b ? Val_true : Val_false);
- }
-@@ -1075,13 +1056,12 @@ ocaml_libvirt_domain_set_autostart (value domv, value bv)
- CAMLparam2 (domv, bv);
-
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r, b;
-
- b = bv == Val_true ? 1 : 0;
-
- NONBLOCKING (r = virDomainSetAutostart (dom, b));
-- CHECK_ERROR (r == -1, conn, "virDomainSetAutostart");
-+ CHECK_ERROR (r == -1, "virDomainSetAutostart");
-
- CAMLreturn (Val_unit);
- }
-@@ -1096,11 +1076,10 @@ ocaml_libvirt_network_free (value netv)
- CAMLparam1 (netv);
-
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- int r;
-
- NONBLOCKING (r = virNetworkFree (net));
-- CHECK_ERROR (r == -1, conn, "virNetworkFree");
-+ CHECK_ERROR (r == -1, "virNetworkFree");
-
- /* So that we don't double-free in the finalizer: */
- Network_val (netv) = NULL;
-@@ -1118,11 +1097,10 @@ ocaml_libvirt_network_destroy (value netv)
- CAMLparam1 (netv);
-
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- int r;
-
- NONBLOCKING (r = virNetworkDestroy (net));
-- CHECK_ERROR (r == -1, conn, "virNetworkDestroy");
-+ CHECK_ERROR (r == -1, "virNetworkDestroy");
-
- /* So that we don't double-free in the finalizer: */
- Network_val (netv) = NULL;
-@@ -1145,7 +1123,7 @@ ocaml_libvirt_network_lookup_by_name (value connv, value strv)
- virNetworkPtr r;
-
- NONBLOCKING (r = virNetworkLookupByName (conn, str));
-- CHECK_ERROR (!r, conn, "virNetworkLookupByName");
-+ CHECK_ERROR (!r, "virNetworkLookupByName");
-
- rv = Val_network (r, connv);
-
-@@ -1167,7 +1145,7 @@ ocaml_libvirt_network_lookup_by_uuid (value connv, value uuidv)
- virNetworkPtr r;
-
- NONBLOCKING (r = virNetworkLookupByUUID (conn, uuid));
-- CHECK_ERROR (!r, conn, "virNetworkLookupByUUID");
-+ CHECK_ERROR (!r, "virNetworkLookupByUUID");
-
- rv = Val_network (r, connv);
-
-@@ -1189,7 +1167,7 @@ ocaml_libvirt_network_lookup_by_uuid_string (value connv, value strv)
- virNetworkPtr r;
-
- NONBLOCKING (r = virNetworkLookupByUUIDString (conn, str));
-- CHECK_ERROR (!r, conn, "virNetworkLookupByUUIDString");
-+ CHECK_ERROR (!r, "virNetworkLookupByUUIDString");
-
- rv = Val_network (r, connv);
-
-@@ -1207,11 +1185,10 @@ ocaml_libvirt_network_get_name (value netv)
-
- CAMLlocal1 (rv);
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- const char *r;
-
- NONBLOCKING (r = virNetworkGetName (net));
-- CHECK_ERROR (!r, conn, "virNetworkGetName");
-+ CHECK_ERROR (!r, "virNetworkGetName");
-
- rv = caml_copy_string (r);
- CAMLreturn (rv);
-@@ -1228,11 +1205,10 @@ ocaml_libvirt_network_get_xml_desc (value netv)
-
- CAMLlocal1 (rv);
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- char *r;
-
- NONBLOCKING (r = virNetworkGetXMLDesc (net, 0));
-- CHECK_ERROR (!r, conn, "virNetworkGetXMLDesc");
-+ CHECK_ERROR (!r, "virNetworkGetXMLDesc");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -1250,11 +1226,10 @@ ocaml_libvirt_network_get_bridge_name (value netv)
-
- CAMLlocal1 (rv);
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- char *r;
-
- NONBLOCKING (r = virNetworkGetBridgeName (net));
-- CHECK_ERROR (!r, conn, "virNetworkGetBridgeName");
-+ CHECK_ERROR (!r, "virNetworkGetBridgeName");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -1272,12 +1247,11 @@ ocaml_libvirt_network_get_uuid (value netv)
-
- CAMLlocal1 (rv);
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- unsigned char uuid[VIR_UUID_BUFLEN];
- int r;
-
- NONBLOCKING (r = virNetworkGetUUID (net, uuid));
-- CHECK_ERROR (r == -1, conn, "virNetworkGetUUID");
-+ CHECK_ERROR (r == -1, "virNetworkGetUUID");
-
- /* UUIDs are byte arrays with a fixed length. */
- rv = caml_alloc_string (VIR_UUID_BUFLEN);
-@@ -1296,12 +1270,11 @@ ocaml_libvirt_network_get_uuid_string (value netv)
-
- CAMLlocal1 (rv);
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- char uuid[VIR_UUID_STRING_BUFLEN];
- int r;
-
- NONBLOCKING (r = virNetworkGetUUIDString (net, uuid));
-- CHECK_ERROR (r == -1, conn, "virNetworkGetUUIDString");
-+ CHECK_ERROR (r == -1, "virNetworkGetUUIDString");
-
- rv = caml_copy_string (uuid);
- CAMLreturn (rv);
-@@ -1317,11 +1290,10 @@ ocaml_libvirt_network_undefine (value netv)
- CAMLparam1 (netv);
-
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- int r;
-
- NONBLOCKING (r = virNetworkUndefine (net));
-- CHECK_ERROR (r == -1, conn, "virNetworkUndefine");
-+ CHECK_ERROR (r == -1, "virNetworkUndefine");
-
- CAMLreturn (Val_unit);
- }
-@@ -1341,7 +1313,7 @@ ocaml_libvirt_network_create_xml (value connv, value strv)
- virNetworkPtr r;
-
- NONBLOCKING (r = virNetworkCreateXML (conn, str));
-- CHECK_ERROR (!r, conn, "virNetworkCreateXML");
-+ CHECK_ERROR (!r, "virNetworkCreateXML");
-
- rv = Val_network (r, connv);
-
-@@ -1363,7 +1335,7 @@ ocaml_libvirt_network_define_xml (value connv, value strv)
- virNetworkPtr r;
-
- NONBLOCKING (r = virNetworkDefineXML (conn, str));
-- CHECK_ERROR (!r, conn, "virNetworkDefineXML");
-+ CHECK_ERROR (!r, "virNetworkDefineXML");
-
- rv = Val_network (r, connv);
-
-@@ -1380,11 +1352,10 @@ ocaml_libvirt_network_create (value netv)
- CAMLparam1 (netv);
-
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- int r;
-
- NONBLOCKING (r = virNetworkCreate (net));
-- CHECK_ERROR (r == -1, conn, "virNetworkCreate");
-+ CHECK_ERROR (r == -1, "virNetworkCreate");
-
- CAMLreturn (Val_unit);
- }
-@@ -1399,11 +1370,10 @@ ocaml_libvirt_network_get_autostart (value netv)
- CAMLparam1 (netv);
-
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- int r, b;
-
- NONBLOCKING (r = virNetworkGetAutostart (net, &b));
-- CHECK_ERROR (r == -1, conn, "virNetworkGetAutostart");
-+ CHECK_ERROR (r == -1, "virNetworkGetAutostart");
-
- CAMLreturn (b ? Val_true : Val_false);
- }
-@@ -1418,13 +1388,12 @@ ocaml_libvirt_network_set_autostart (value netv, value bv)
- CAMLparam2 (netv, bv);
-
- virNetworkPtr net = Network_val (netv);
-- virConnectPtr conn = Connect_netv (netv);
- int r, b;
-
- b = bv == Val_true ? 1 : 0;
-
- NONBLOCKING (r = virNetworkSetAutostart (net, b));
-- CHECK_ERROR (r == -1, conn, "virNetworkSetAutostart");
-+ CHECK_ERROR (r == -1, "virNetworkSetAutostart");
-
- CAMLreturn (Val_unit);
- }
-@@ -1439,11 +1408,10 @@ ocaml_libvirt_storage_pool_free (value poolv)
- CAMLparam1 (poolv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int r;
-
- NONBLOCKING (r = virStoragePoolFree (pool));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolFree");
-+ CHECK_ERROR (r == -1, "virStoragePoolFree");
-
- /* So that we don't double-free in the finalizer: */
- Pool_val (poolv) = NULL;
-@@ -1461,11 +1429,10 @@ ocaml_libvirt_storage_pool_destroy (value poolv)
- CAMLparam1 (poolv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int r;
-
- NONBLOCKING (r = virStoragePoolDestroy (pool));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolDestroy");
-+ CHECK_ERROR (r == -1, "virStoragePoolDestroy");
-
- /* So that we don't double-free in the finalizer: */
- Pool_val (poolv) = NULL;
-@@ -1488,7 +1455,7 @@ ocaml_libvirt_storage_pool_lookup_by_name (value connv, value strv)
- virStoragePoolPtr r;
-
- NONBLOCKING (r = virStoragePoolLookupByName (conn, str));
-- CHECK_ERROR (!r, conn, "virStoragePoolLookupByName");
-+ CHECK_ERROR (!r, "virStoragePoolLookupByName");
-
- rv = Val_pool (r, connv);
-
-@@ -1510,7 +1477,7 @@ ocaml_libvirt_storage_pool_lookup_by_uuid (value connv, value uuidv)
- virStoragePoolPtr r;
-
- NONBLOCKING (r = virStoragePoolLookupByUUID (conn, uuid));
-- CHECK_ERROR (!r, conn, "virStoragePoolLookupByUUID");
-+ CHECK_ERROR (!r, "virStoragePoolLookupByUUID");
-
- rv = Val_pool (r, connv);
-
-@@ -1532,7 +1499,7 @@ ocaml_libvirt_storage_pool_lookup_by_uuid_string (value connv, value strv)
- virStoragePoolPtr r;
-
- NONBLOCKING (r = virStoragePoolLookupByUUIDString (conn, str));
-- CHECK_ERROR (!r, conn, "virStoragePoolLookupByUUIDString");
-+ CHECK_ERROR (!r, "virStoragePoolLookupByUUIDString");
-
- rv = Val_pool (r, connv);
-
-@@ -1550,11 +1517,10 @@ ocaml_libvirt_storage_pool_get_name (value poolv)
-
- CAMLlocal1 (rv);
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- const char *r;
-
- NONBLOCKING (r = virStoragePoolGetName (pool));
-- CHECK_ERROR (!r, conn, "virStoragePoolGetName");
-+ CHECK_ERROR (!r, "virStoragePoolGetName");
-
- rv = caml_copy_string (r);
- CAMLreturn (rv);
-@@ -1571,11 +1537,10 @@ ocaml_libvirt_storage_pool_get_xml_desc (value poolv)
-
- CAMLlocal1 (rv);
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- char *r;
-
- NONBLOCKING (r = virStoragePoolGetXMLDesc (pool, 0));
-- CHECK_ERROR (!r, conn, "virStoragePoolGetXMLDesc");
-+ CHECK_ERROR (!r, "virStoragePoolGetXMLDesc");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -1593,12 +1558,11 @@ ocaml_libvirt_storage_pool_get_uuid (value poolv)
-
- CAMLlocal1 (rv);
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- unsigned char uuid[VIR_UUID_BUFLEN];
- int r;
-
- NONBLOCKING (r = virStoragePoolGetUUID (pool, uuid));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolGetUUID");
-+ CHECK_ERROR (r == -1, "virStoragePoolGetUUID");
-
- /* UUIDs are byte arrays with a fixed length. */
- rv = caml_alloc_string (VIR_UUID_BUFLEN);
-@@ -1617,12 +1581,11 @@ ocaml_libvirt_storage_pool_get_uuid_string (value poolv)
-
- CAMLlocal1 (rv);
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- char uuid[VIR_UUID_STRING_BUFLEN];
- int r;
-
- NONBLOCKING (r = virStoragePoolGetUUIDString (pool, uuid));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolGetUUIDString");
-+ CHECK_ERROR (r == -1, "virStoragePoolGetUUIDString");
-
- rv = caml_copy_string (uuid);
- CAMLreturn (rv);
-@@ -1643,7 +1606,7 @@ ocaml_libvirt_storage_pool_create_xml (value connv, value strv)
- virStoragePoolPtr r;
-
- NONBLOCKING (r = virStoragePoolCreateXML (conn, str, 0));
-- CHECK_ERROR (!r, conn, "virStoragePoolCreateXML");
-+ CHECK_ERROR (!r, "virStoragePoolCreateXML");
-
- rv = Val_pool (r, connv);
-
-@@ -1665,7 +1628,7 @@ ocaml_libvirt_storage_pool_define_xml (value connv, value strv)
- virStoragePoolPtr r;
-
- NONBLOCKING (r = virStoragePoolDefineXML (conn, str, 0));
-- CHECK_ERROR (!r, conn, "virStoragePoolDefineXML");
-+ CHECK_ERROR (!r, "virStoragePoolDefineXML");
-
- rv = Val_pool (r, connv);
-
-@@ -1682,12 +1645,11 @@ ocaml_libvirt_storage_pool_build (value poolv, value iv)
- CAMLparam2 (poolv, iv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- unsigned int i = Int_val (iv);
- int r;
-
- NONBLOCKING (r = virStoragePoolBuild (pool, i));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolBuild");
-+ CHECK_ERROR (r == -1, "virStoragePoolBuild");
-
- CAMLreturn (Val_unit);
- }
-@@ -1702,11 +1664,10 @@ ocaml_libvirt_storage_pool_undefine (value poolv)
- CAMLparam1 (poolv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int r;
-
- NONBLOCKING (r = virStoragePoolUndefine (pool));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolUndefine");
-+ CHECK_ERROR (r == -1, "virStoragePoolUndefine");
-
- CAMLreturn (Val_unit);
- }
-@@ -1721,11 +1682,10 @@ ocaml_libvirt_storage_pool_create (value poolv)
- CAMLparam1 (poolv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int r;
-
- NONBLOCKING (r = virStoragePoolCreate (pool, 0));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolCreate");
-+ CHECK_ERROR (r == -1, "virStoragePoolCreate");
-
- CAMLreturn (Val_unit);
- }
-@@ -1740,12 +1700,11 @@ ocaml_libvirt_storage_pool_delete (value poolv, value iv)
- CAMLparam2 (poolv, iv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- unsigned int i = Int_val (iv);
- int r;
-
- NONBLOCKING (r = virStoragePoolDelete (pool, i));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolDelete");
-+ CHECK_ERROR (r == -1, "virStoragePoolDelete");
-
- CAMLreturn (Val_unit);
- }
-@@ -1760,11 +1719,10 @@ ocaml_libvirt_storage_pool_refresh (value poolv)
- CAMLparam1 (poolv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int r;
-
- NONBLOCKING (r = virStoragePoolRefresh (pool, 0));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolRefresh");
-+ CHECK_ERROR (r == -1, "virStoragePoolRefresh");
-
- CAMLreturn (Val_unit);
- }
-@@ -1779,11 +1737,10 @@ ocaml_libvirt_storage_pool_get_autostart (value poolv)
- CAMLparam1 (poolv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int r, b;
-
- NONBLOCKING (r = virStoragePoolGetAutostart (pool, &b));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolGetAutostart");
-+ CHECK_ERROR (r == -1, "virStoragePoolGetAutostart");
-
- CAMLreturn (b ? Val_true : Val_false);
- }
-@@ -1798,13 +1755,12 @@ ocaml_libvirt_storage_pool_set_autostart (value poolv, value bv)
- CAMLparam2 (poolv, bv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int r, b;
-
- b = bv == Val_true ? 1 : 0;
-
- NONBLOCKING (r = virStoragePoolSetAutostart (pool, b));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolSetAutostart");
-+ CHECK_ERROR (r == -1, "virStoragePoolSetAutostart");
-
- CAMLreturn (Val_unit);
- }
-@@ -1819,11 +1775,10 @@ ocaml_libvirt_storage_pool_num_of_volumes (value poolv)
- CAMLparam1 (poolv);
-
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int r;
-
- NONBLOCKING (r = virStoragePoolNumOfVolumes (pool));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolNumOfVolumes");
-+ CHECK_ERROR (r == -1, "virStoragePoolNumOfVolumes");
-
- CAMLreturn (Val_int (r));
- }
-@@ -1839,7 +1794,6 @@ ocaml_libvirt_storage_pool_list_volumes (value poolv, value iv)
-
- CAMLlocal2 (rv, strv);
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- int i = Int_val (iv);
- char *names[i];
- int r;
-@@ -1855,7 +1809,7 @@ ocaml_libvirt_storage_pool_list_volumes (value poolv, value iv)
- }
-
- NONBLOCKING (r = virStoragePoolListVolumes (pool, names, i));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolListVolumes");
-+ CHECK_ERROR (r == -1, "virStoragePoolListVolumes");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-@@ -1877,11 +1831,10 @@ ocaml_libvirt_storage_vol_free (value volv)
- CAMLparam1 (volv);
-
- virStorageVolPtr vol = Volume_val (volv);
-- virConnectPtr conn = Connect_volv (volv);
- int r;
-
- NONBLOCKING (r = virStorageVolFree (vol));
-- CHECK_ERROR (r == -1, conn, "virStorageVolFree");
-+ CHECK_ERROR (r == -1, "virStorageVolFree");
-
- /* So that we don't double-free in the finalizer: */
- Volume_val (volv) = NULL;
-@@ -1899,12 +1852,11 @@ ocaml_libvirt_storage_vol_delete (value volv, value iv)
- CAMLparam2 (volv, iv);
-
- virStorageVolPtr vol = Volume_val (volv);
-- virConnectPtr conn = Connect_volv (volv);
- unsigned int i = Int_val (iv);
- int r;
-
- NONBLOCKING (r = virStorageVolDelete (vol, i));
-- CHECK_ERROR (r == -1, conn, "virStorageVolDelete");
-+ CHECK_ERROR (r == -1, "virStorageVolDelete");
-
- CAMLreturn (Val_unit);
- }
-@@ -1920,12 +1872,11 @@ ocaml_libvirt_storage_vol_lookup_by_name (value poolv, value strv)
-
- CAMLlocal2 (rv, connv);
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- char *str = String_val (strv);
- virStorageVolPtr r;
-
- NONBLOCKING (r = virStorageVolLookupByName (pool, str));
-- CHECK_ERROR (!r, conn, "virStorageVolLookupByName");
-+ CHECK_ERROR (!r, "virStorageVolLookupByName");
-
- connv = Field (poolv, 1);
- rv = Val_volume (r, connv);
-@@ -1948,7 +1899,7 @@ ocaml_libvirt_storage_vol_lookup_by_key (value connv, value strv)
- virStorageVolPtr r;
-
- NONBLOCKING (r = virStorageVolLookupByKey (conn, str));
-- CHECK_ERROR (!r, conn, "virStorageVolLookupByKey");
-+ CHECK_ERROR (!r, "virStorageVolLookupByKey");
-
- rv = Val_volume (r, connv);
-
-@@ -1970,7 +1921,7 @@ ocaml_libvirt_storage_vol_lookup_by_path (value connv, value strv)
- virStorageVolPtr r;
-
- NONBLOCKING (r = virStorageVolLookupByPath (conn, str));
-- CHECK_ERROR (!r, conn, "virStorageVolLookupByPath");
-+ CHECK_ERROR (!r, "virStorageVolLookupByPath");
-
- rv = Val_volume (r, connv);
-
-@@ -1988,12 +1939,11 @@ ocaml_libvirt_storage_vol_create_xml (value poolv, value strv)
-
- CAMLlocal2 (rv, connv);
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- char *str = String_val (strv);
- virStorageVolPtr r;
-
- NONBLOCKING (r = virStorageVolCreateXML (pool, str, 0));
-- CHECK_ERROR (!r, conn, "virStorageVolCreateXML");
-+ CHECK_ERROR (!r, "virStorageVolCreateXML");
-
- connv = Field (poolv, 1);
- rv = Val_volume (r, connv);
-@@ -2012,11 +1962,10 @@ ocaml_libvirt_storage_vol_get_xml_desc (value volv)
-
- CAMLlocal1 (rv);
- virStorageVolPtr vol = Volume_val (volv);
-- virConnectPtr conn = Connect_volv (volv);
- char *r;
-
- NONBLOCKING (r = virStorageVolGetXMLDesc (vol, 0));
-- CHECK_ERROR (!r, conn, "virStorageVolGetXMLDesc");
-+ CHECK_ERROR (!r, "virStorageVolGetXMLDesc");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -2034,11 +1983,10 @@ ocaml_libvirt_storage_vol_get_path (value volv)
-
- CAMLlocal1 (rv);
- virStorageVolPtr vol = Volume_val (volv);
-- virConnectPtr conn = Connect_volv (volv);
- char *r;
-
- NONBLOCKING (r = virStorageVolGetPath (vol));
-- CHECK_ERROR (!r, conn, "virStorageVolGetPath");
-+ CHECK_ERROR (!r, "virStorageVolGetPath");
-
- rv = caml_copy_string (r);
- free (r);
-@@ -2056,11 +2004,10 @@ ocaml_libvirt_storage_vol_get_key (value volv)
-
- CAMLlocal1 (rv);
- virStorageVolPtr vol = Volume_val (volv);
-- virConnectPtr conn = Connect_volv (volv);
- const char *r;
-
- NONBLOCKING (r = virStorageVolGetKey (vol));
-- CHECK_ERROR (!r, conn, "virStorageVolGetKey");
-+ CHECK_ERROR (!r, "virStorageVolGetKey");
-
- rv = caml_copy_string (r);
- CAMLreturn (rv);
-@@ -2077,11 +2024,10 @@ ocaml_libvirt_storage_vol_get_name (value volv)
-
- CAMLlocal1 (rv);
- virStorageVolPtr vol = Volume_val (volv);
-- virConnectPtr conn = Connect_volv (volv);
- const char *r;
-
- NONBLOCKING (r = virStorageVolGetName (vol));
-- CHECK_ERROR (!r, conn, "virStorageVolGetName");
-+ CHECK_ERROR (!r, "virStorageVolGetName");
-
- rv = caml_copy_string (r);
- CAMLreturn (rv);
-@@ -2098,11 +2044,10 @@ ocaml_libvirt_storage_pool_lookup_by_volume (value volv)
-
- CAMLlocal2 (rv, connv);
- virStorageVolPtr vol = Volume_val (volv);
-- virConnectPtr conn = Connect_volv (volv);
- virStoragePoolPtr r;
-
- NONBLOCKING (r = virStoragePoolLookupByVolume (vol));
-- CHECK_ERROR (!r, conn, "virStoragePoolLookupByVolume");
-+ CHECK_ERROR (!r, "virStoragePoolLookupByVolume");
-
- connv = Field (volv, 1);
- rv = Val_pool (r, connv);
-diff --git a/libvirt/libvirt_c_epilogue.c b/libvirt/libvirt_c_epilogue.c
-index 4649724..4972e50 100644
---- a/libvirt/libvirt_c_epilogue.c
-+++ b/libvirt/libvirt_c_epilogue.c
-@@ -57,14 +57,14 @@ option_default (value option, value deflt)
- #endif
-
- static void
--_raise_virterror (virConnectPtr conn, const char *fn)
-+_raise_virterror (const char *fn)
- {
- CAMLparam0 ();
- CAMLlocal1 (rv);
- virErrorPtr errp;
- struct _virError err;
-
-- errp = conn ? virConnGetLastError (conn) : virGetLastError ();
-+ errp = virGetLastError ();
-
- if (!errp) {
- /* Fake a _virError structure. */
-diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c
-index 06b3852..32e5a4b 100644
---- a/libvirt/libvirt_c_oneoffs.c
-+++ b/libvirt/libvirt_c_oneoffs.c
-@@ -32,7 +32,7 @@ ocaml_libvirt_get_version (value driverv, value unit)
-
- typeVer_ptr = driver ? &typeVer : NULL;
- NONBLOCKING (r = virGetVersion (&libVer, driver, typeVer_ptr));
-- CHECK_ERROR (r == -1, NULL, "virGetVersion");
-+ CHECK_ERROR (r == -1, "virGetVersion");
-
- rv = caml_alloc_tuple (2);
- Store_field (rv, 0, Val_int (libVer));
-@@ -53,7 +53,7 @@ ocaml_libvirt_connect_open (value namev, value unit)
- virConnectPtr conn;
-
- NONBLOCKING (conn = virConnectOpen (name));
-- CHECK_ERROR (!conn, NULL, "virConnectOpen");
-+ CHECK_ERROR (!conn, "virConnectOpen");
-
- rv = Val_connect (conn);
-
-@@ -69,7 +69,7 @@ ocaml_libvirt_connect_open_readonly (value namev, value unit)
- virConnectPtr conn;
-
- NONBLOCKING (conn = virConnectOpenReadOnly (name));
-- CHECK_ERROR (!conn, NULL, "virConnectOpen");
-+ CHECK_ERROR (!conn, "virConnectOpen");
-
- rv = Val_connect (conn);
-
-@@ -85,7 +85,7 @@ ocaml_libvirt_connect_get_version (value connv)
- int r;
-
- NONBLOCKING (r = virConnectGetVersion (conn, &hvVer));
-- CHECK_ERROR (r == -1, conn, "virConnectGetVersion");
-+ CHECK_ERROR (r == -1, "virConnectGetVersion");
-
- CAMLreturn (Val_int (hvVer));
- }
-@@ -99,7 +99,7 @@ ocaml_libvirt_connect_get_max_vcpus (value connv, value typev)
- int r;
-
- NONBLOCKING (r = virConnectGetMaxVcpus (conn, type));
-- CHECK_ERROR (r == -1, conn, "virConnectGetMaxVcpus");
-+ CHECK_ERROR (r == -1, "virConnectGetMaxVcpus");
-
- CAMLreturn (Val_int (r));
- }
-@@ -114,7 +114,7 @@ ocaml_libvirt_connect_get_node_info (value connv)
- int r;
-
- NONBLOCKING (r = virNodeGetInfo (conn, &info));
-- CHECK_ERROR (r == -1, conn, "virNodeGetInfo");
-+ CHECK_ERROR (r == -1, "virNodeGetInfo");
-
- rv = caml_alloc (8, 0);
- v = caml_copy_string (info.model); Store_field (rv, 0, v);
-@@ -138,7 +138,7 @@ ocaml_libvirt_connect_node_get_free_memory (value connv)
- unsigned long long r;
-
- NONBLOCKING (r = virNodeGetFreeMemory (conn));
-- CHECK_ERROR (r == 0, conn, "virNodeGetFreeMemory");
-+ CHECK_ERROR (r == 0, "virNodeGetFreeMemory");
-
- rv = caml_copy_int64 ((int64_t) r);
- CAMLreturn (rv);
-@@ -157,7 +157,7 @@ ocaml_libvirt_connect_node_get_cells_free_memory (value connv,
- unsigned long long freemems[max];
-
- NONBLOCKING (r = virNodeGetCellsFreeMemory (conn, freemems, start, max));
-- CHECK_ERROR (r == -1, conn, "virNodeGetCellsFreeMemory");
-+ CHECK_ERROR (r == -1, "virNodeGetCellsFreeMemory");
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-@@ -179,7 +179,7 @@ ocaml_libvirt_connect_set_keep_alive(value connv,
- int r;
-
- NONBLOCKING(r = virConnectSetKeepAlive(conn, interval, count));
-- CHECK_ERROR (r == -1, conn, "virConnectSetKeepAlive");
-+ CHECK_ERROR (r == -1, "virConnectSetKeepAlive");
-
- CAMLreturn(Val_unit);
- }
-@@ -190,7 +190,6 @@ ocaml_libvirt_domain_get_id (value domv)
- {
- CAMLparam1 (domv);
- virDomainPtr dom = Domain_val (domv);
-- /*virConnectPtr conn = Connect_domv (domv);*/
- unsigned int r;
-
- NONBLOCKING (r = virDomainGetID (dom));
-@@ -208,11 +207,10 @@ ocaml_libvirt_domain_get_max_memory (value domv)
- CAMLparam1 (domv);
- CAMLlocal1 (rv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- unsigned long r;
-
- NONBLOCKING (r = virDomainGetMaxMemory (dom));
-- CHECK_ERROR (r == 0 /* [sic] */, conn, "virDomainGetMaxMemory");
-+ CHECK_ERROR (r == 0 /* [sic] */, "virDomainGetMaxMemory");
-
- rv = caml_copy_int64 (r);
- CAMLreturn (rv);
-@@ -223,12 +221,11 @@ ocaml_libvirt_domain_set_max_memory (value domv, value memv)
- {
- CAMLparam2 (domv, memv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- unsigned long mem = Int64_val (memv);
- int r;
-
- NONBLOCKING (r = virDomainSetMaxMemory (dom, mem));
-- CHECK_ERROR (r == -1, conn, "virDomainSetMaxMemory");
-+ CHECK_ERROR (r == -1, "virDomainSetMaxMemory");
-
- CAMLreturn (Val_unit);
- }
-@@ -238,12 +235,11 @@ ocaml_libvirt_domain_set_memory (value domv, value memv)
- {
- CAMLparam2 (domv, memv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- unsigned long mem = Int64_val (memv);
- int r;
-
- NONBLOCKING (r = virDomainSetMemory (dom, mem));
-- CHECK_ERROR (r == -1, conn, "virDomainSetMemory");
-+ CHECK_ERROR (r == -1, "virDomainSetMemory");
-
- CAMLreturn (Val_unit);
- }
-@@ -254,12 +250,11 @@ ocaml_libvirt_domain_get_info (value domv)
- CAMLparam1 (domv);
- CAMLlocal2 (rv, v);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- virDomainInfo info;
- int r;
-
- NONBLOCKING (r = virDomainGetInfo (dom, &info));
-- CHECK_ERROR (r == -1, conn, "virDomainGetInfo");
-+ CHECK_ERROR (r == -1, "virDomainGetInfo");
-
- rv = caml_alloc (5, 0);
- Store_field (rv, 0, Val_int (info.state)); // These flags are compatible.
-@@ -277,12 +272,11 @@ ocaml_libvirt_domain_get_scheduler_type (value domv)
- CAMLparam1 (domv);
- CAMLlocal2 (rv, strv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *r;
- int nparams;
-
- NONBLOCKING (r = virDomainGetSchedulerType (dom, &nparams));
-- CHECK_ERROR (!r, conn, "virDomainGetSchedulerType");
-+ CHECK_ERROR (!r, "virDomainGetSchedulerType");
-
- rv = caml_alloc_tuple (2);
- strv = caml_copy_string (r); Store_field (rv, 0, strv);
-@@ -297,13 +291,12 @@ ocaml_libvirt_domain_get_scheduler_parameters (value domv, value nparamsv)
- CAMLparam2 (domv, nparamsv);
- CAMLlocal4 (rv, v, v2, v3);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int nparams = Int_val (nparamsv);
- virSchedParameter params[nparams];
- int r, i;
-
- NONBLOCKING (r = virDomainGetSchedulerParameters (dom, params, &nparams));
-- CHECK_ERROR (r == -1, conn, "virDomainGetSchedulerParameters");
-+ CHECK_ERROR (r == -1, "virDomainGetSchedulerParameters");
-
- rv = caml_alloc (nparams, 0);
- for (i = 0; i < nparams; ++i) {
-@@ -348,7 +341,6 @@ ocaml_libvirt_domain_set_scheduler_parameters (value domv, value paramsv)
- CAMLparam2 (domv, paramsv);
- CAMLlocal1 (v);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int nparams = Wosize_val (paramsv);
- virSchedParameter params[nparams];
- int r, i;
-@@ -391,7 +383,7 @@ ocaml_libvirt_domain_set_scheduler_parameters (value domv, value paramsv)
- }
-
- NONBLOCKING (r = virDomainSetSchedulerParameters (dom, params, nparams));
-- CHECK_ERROR (r == -1, conn, "virDomainSetSchedulerParameters");
-+ CHECK_ERROR (r == -1, "virDomainSetSchedulerParameters");
-
- CAMLreturn (Val_unit);
- }
-@@ -401,11 +393,10 @@ ocaml_libvirt_domain_set_vcpus (value domv, value nvcpusv)
- {
- CAMLparam2 (domv, nvcpusv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int r, nvcpus = Int_val (nvcpusv);
-
- NONBLOCKING (r = virDomainSetVcpus (dom, nvcpus));
-- CHECK_ERROR (r == -1, conn, "virDomainSetVcpus");
-+ CHECK_ERROR (r == -1, "virDomainSetVcpus");
-
- CAMLreturn (Val_unit);
- }
-@@ -415,14 +406,13 @@ ocaml_libvirt_domain_pin_vcpu (value domv, value vcpuv, value cpumapv)
- {
- CAMLparam3 (domv, vcpuv, cpumapv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int maplen = caml_string_length (cpumapv);
- unsigned char *cpumap = (unsigned char *) String_val (cpumapv);
- int vcpu = Int_val (vcpuv);
- int r;
-
- NONBLOCKING (r = virDomainPinVcpu (dom, vcpu, cpumap, maplen));
-- CHECK_ERROR (r == -1, conn, "virDomainPinVcpu");
-+ CHECK_ERROR (r == -1, "virDomainPinVcpu");
-
- CAMLreturn (Val_unit);
- }
-@@ -433,7 +423,6 @@ ocaml_libvirt_domain_get_vcpus (value domv, value maxinfov, value maplenv)
- CAMLparam3 (domv, maxinfov, maplenv);
- CAMLlocal5 (rv, infov, strv, v, v2);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int maxinfo = Int_val (maxinfov);
- int maplen = Int_val (maplenv);
- virVcpuInfo info[maxinfo];
-@@ -444,7 +433,7 @@ ocaml_libvirt_domain_get_vcpus (value domv, value maxinfov, value maplenv)
- memset (cpumaps, 0, maxinfo * maplen);
-
- NONBLOCKING (r = virDomainGetVcpus (dom, info, maxinfo, cpumaps, maplen));
-- CHECK_ERROR (r == -1, conn, "virDomainPinVcpu");
-+ CHECK_ERROR (r == -1, "virDomainPinVcpu");
-
- /* Copy the virVcpuInfo structures. */
- infov = caml_alloc (maxinfo, 0);
-@@ -476,18 +465,17 @@ ocaml_libvirt_domain_get_cpu_stats (value domv)
- CAMLlocal5 (cpustats, param_head, param_node, typed_param, typed_param_value);
- CAMLlocal1 (v);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- virTypedParameterPtr params;
- int r, cpu, ncpus, nparams, i, j, pos;
- int nr_pcpus;
-
- /* get number of pcpus */
- NONBLOCKING (nr_pcpus = virDomainGetCPUStats(dom, NULL, 0, 0, 0, 0));
-- CHECK_ERROR (nr_pcpus < 0, conn, "virDomainGetCPUStats");
-+ CHECK_ERROR (nr_pcpus < 0, "virDomainGetCPUStats");
-
- /* get percpu information */
- NONBLOCKING (nparams = virDomainGetCPUStats(dom, NULL, 0, 0, 1, 0));
-- CHECK_ERROR (nparams < 0, conn, "virDomainGetCPUStats");
-+ CHECK_ERROR (nparams < 0, "virDomainGetCPUStats");
-
- if ((params = malloc(sizeof(*params) * nparams * 128)) == NULL)
- caml_failwith ("virDomainGetCPUStats: malloc");
-@@ -498,7 +486,7 @@ ocaml_libvirt_domain_get_cpu_stats (value domv)
- ncpus = nr_pcpus - cpu > 128 ? 128 : nr_pcpus - cpu;
-
- NONBLOCKING (r = virDomainGetCPUStats(dom, params, nparams, cpu, ncpus, 0));
-- CHECK_ERROR (r < 0, conn, "virDomainGetCPUStats");
-+ CHECK_ERROR (r < 0, "virDomainGetCPUStats");
-
- for (i = 0; i < ncpus; i++) {
- /* list of typed_param: single linked list of param_nodes */
-@@ -579,7 +567,6 @@ ocaml_libvirt_domain_migrate_native (value domv, value dconnv, value flagsv, val
- CAMLxparam2 (optbandwidthv, unitv);
- CAMLlocal2 (flagv, rv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- virConnectPtr dconn = Connect_val (dconnv);
- int flags = 0;
- const char *dname = Optstring_val (optdnamev);
-@@ -601,7 +588,7 @@ ocaml_libvirt_domain_migrate_native (value domv, value dconnv, value flagsv, val
- bandwidth = Int_val (Field (optbandwidthv, 0));
-
- NONBLOCKING (r = virDomainMigrate (dom, dconn, flags, dname, uri, bandwidth));
-- CHECK_ERROR (!r, conn, "virDomainMigrate");
-+ CHECK_ERROR (!r, "virDomainMigrate");
-
- rv = Val_domain (r, dconnv);
-
-@@ -622,13 +609,12 @@ ocaml_libvirt_domain_block_stats (value domv, value pathv)
- CAMLparam2 (domv, pathv);
- CAMLlocal2 (rv,v);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *path = String_val (pathv);
- struct _virDomainBlockStats stats;
- int r;
-
- NONBLOCKING (r = virDomainBlockStats (dom, path, &stats, sizeof stats));
-- CHECK_ERROR (r == -1, conn, "virDomainBlockStats");
-+ CHECK_ERROR (r == -1, "virDomainBlockStats");
-
- rv = caml_alloc (5, 0);
- v = caml_copy_int64 (stats.rd_req); Store_field (rv, 0, v);
-@@ -646,13 +632,12 @@ ocaml_libvirt_domain_interface_stats (value domv, value pathv)
- CAMLparam2 (domv, pathv);
- CAMLlocal2 (rv,v);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- char *path = String_val (pathv);
- struct _virDomainInterfaceStats stats;
- int r;
-
- NONBLOCKING (r = virDomainInterfaceStats (dom, path, &stats, sizeof stats));
-- CHECK_ERROR (r == -1, conn, "virDomainInterfaceStats");
-+ CHECK_ERROR (r == -1, "virDomainInterfaceStats");
-
- rv = caml_alloc (8, 0);
- v = caml_copy_int64 (stats.rx_bytes); Store_field (rv, 0, v);
-@@ -673,7 +658,6 @@ ocaml_libvirt_domain_block_peek_native (value domv, value pathv, value offsetv,
- CAMLparam5 (domv, pathv, offsetv, sizev, bufferv);
- CAMLxparam1 (boffv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- const char *path = String_val (pathv);
- unsigned long long offset = Int64_val (offsetv);
- size_t size = Int_val (sizev);
-@@ -687,7 +671,7 @@ ocaml_libvirt_domain_block_peek_native (value domv, value pathv, value offsetv,
-
- /* NB. not NONBLOCKING because buffer might move (XXX) */
- r = virDomainBlockPeek (dom, path, offset, size, buffer+boff, 0);
-- CHECK_ERROR (r == -1, conn, "virDomainBlockPeek");
-+ CHECK_ERROR (r == -1, "virDomainBlockPeek");
-
- CAMLreturn (Val_unit);
- }
-@@ -706,7 +690,6 @@ ocaml_libvirt_domain_memory_peek_native (value domv, value flagsv, value offsetv
- CAMLxparam1 (boffv);
- CAMLlocal1 (flagv);
- virDomainPtr dom = Domain_val (domv);
-- virConnectPtr conn = Connect_domv (domv);
- int flags = 0;
- unsigned long long offset = Int64_val (offsetv);
- size_t size = Int_val (sizev);
-@@ -728,7 +711,7 @@ ocaml_libvirt_domain_memory_peek_native (value domv, value flagsv, value offsetv
-
- /* NB. not NONBLOCKING because buffer might move (XXX) */
- r = virDomainMemoryPeek (dom, offset, size, buffer+boff, flags);
-- CHECK_ERROR (r == -1, conn, "virDomainMemoryPeek");
-+ CHECK_ERROR (r == -1, "virDomainMemoryPeek");
-
- CAMLreturn (Val_unit);
- }
-@@ -1042,7 +1025,6 @@ CAMLprim value
- ocaml_libvirt_event_add_timeout (value connv, value ms, value callback_id)
- {
- CAMLparam3 (connv, ms, callback_id);
-- virConnectPtr conn = Connect_val (connv);
- void *opaque;
- virFreeCallback freecb = free;
- virEventTimeoutCallback cb = timeout_callback;
-@@ -1055,7 +1037,7 @@ ocaml_libvirt_event_add_timeout (value connv, value ms, value callback_id)
- caml_failwith ("virEventAddTimeout: malloc");
- *((long*)opaque) = Int64_val(callback_id);
- NONBLOCKING(r = virEventAddTimeout(Int_val(ms), cb, opaque, freecb));
-- CHECK_ERROR(r == -1, conn, "virEventAddTimeout");
-+ CHECK_ERROR(r == -1, "virEventAddTimeout");
-
- CAMLreturn(Val_int(r));
- }
-@@ -1064,11 +1046,10 @@ CAMLprim value
- ocaml_libvirt_event_remove_timeout (value connv, value timer_id)
- {
- CAMLparam2 (connv, timer_id);
-- virConnectPtr conn = Connect_val (connv);
- int r;
-
- NONBLOCKING(r = virEventRemoveTimeout(Int_val(timer_id)));
-- CHECK_ERROR(r == -1, conn, "virEventRemoveTimeout");
-+ CHECK_ERROR(r == -1, "virEventRemoveTimeout");
-
- CAMLreturn(Val_int(r));
- }
-@@ -1146,7 +1127,7 @@ ocaml_libvirt_connect_domain_event_register_any(value connv, value domv, value c
- caml_failwith ("virConnectDomainEventRegisterAny: malloc");
- *((long*)opaque) = Int64_val(callback_id);
- NONBLOCKING(r = virConnectDomainEventRegisterAny(conn, dom, eventID, cb, opaque, freecb));
-- CHECK_ERROR(r == -1, conn, "virConnectDomainEventRegisterAny");
-+ CHECK_ERROR(r == -1, "virConnectDomainEventRegisterAny");
-
- CAMLreturn(Val_int(r));
- }
-@@ -1157,12 +1138,11 @@ ocaml_libvirt_storage_pool_get_info (value poolv)
- CAMLparam1 (poolv);
- CAMLlocal2 (rv, v);
- virStoragePoolPtr pool = Pool_val (poolv);
-- virConnectPtr conn = Connect_polv (poolv);
- virStoragePoolInfo info;
- int r;
-
- NONBLOCKING (r = virStoragePoolGetInfo (pool, &info));
-- CHECK_ERROR (r == -1, conn, "virStoragePoolGetInfo");
-+ CHECK_ERROR (r == -1, "virStoragePoolGetInfo");
-
- rv = caml_alloc (4, 0);
- Store_field (rv, 0, Val_int (info.state));
-@@ -1179,12 +1159,11 @@ ocaml_libvirt_storage_vol_get_info (value volv)
- CAMLparam1 (volv);
- CAMLlocal2 (rv, v);
- virStorageVolPtr vol = Volume_val (volv);
-- virConnectPtr conn = Connect_volv (volv);
- virStorageVolInfo info;
- int r;
-
- NONBLOCKING (r = virStorageVolGetInfo (vol, &info));
-- CHECK_ERROR (r == -1, conn, "virStorageVolGetInfo");
-+ CHECK_ERROR (r == -1, "virStorageVolGetInfo");
-
- rv = caml_alloc (3, 0);
- Store_field (rv, 0, Val_int (info.type));
-@@ -1239,6 +1218,12 @@ ocaml_libvirt_virterror_reset_last_conn_error (value connv)
-
- /*----------------------------------------------------------------------*/
-
-+static void
-+ignore_errors (void *user_data, virErrorPtr error)
-+{
-+ /* do nothing */
-+}
-+
- /* Initialise the library. */
- CAMLprim value
- ocaml_libvirt_init (value unit)
-@@ -1247,8 +1232,9 @@ ocaml_libvirt_init (value unit)
- CAMLlocal1 (rv);
- int r;
-
-+ virSetErrorFunc (NULL, ignore_errors);
- r = virInitialize ();
-- CHECK_ERROR (r == -1, NULL, "virInitialize");
-+ CHECK_ERROR (r == -1, "virInitialize");
-
- CAMLreturn (Val_unit);
- }
-diff --git a/libvirt/libvirt_c_prologue.c b/libvirt/libvirt_c_prologue.c
-index 7d9c0f5..bf972e9 100644
---- a/libvirt/libvirt_c_prologue.c
-+++ b/libvirt/libvirt_c_prologue.c
-@@ -24,7 +24,7 @@ static char *Optstring_val (value strv);
- typedef value (*Val_ptr_t) (void *);
- static value Val_opt (void *ptr, Val_ptr_t Val_ptr);
- /*static value option_default (value option, value deflt);*/
--static void _raise_virterror (virConnectPtr conn, const char *fn) Noreturn;
-+static void _raise_virterror (const char *fn) Noreturn;
- static void not_supported (const char *fn) Noreturn;
- static value Val_virterror (virErrorPtr err);
-
-@@ -43,8 +43,8 @@ static value Val_virterror (virErrorPtr err);
- /* Check error condition from a libvirt function, and automatically raise
- * an exception if one is found.
- */
--#define CHECK_ERROR(cond, conn, fn) \
-- do { if (cond) _raise_virterror (conn, fn); } while (0)
-+#define CHECK_ERROR(cond, fn) \
-+ do { if (cond) _raise_virterror (fn); } while (0)
-
- /*----------------------------------------------------------------------*/
-
---
-2.3.1
-
diff --git a/testing/ocaml-libvirt/0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch b/testing/ocaml-libvirt/0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch
deleted file mode 100644
index c00a75a1039..00000000000
--- a/testing/ocaml-libvirt/0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 21ac993da0a187821e812fe7b5b31a426121a546 Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Sat, 30 Aug 2014 19:10:19 +0100
-Subject: [PATCH] Use C99 standard int64_t instead of OCaml defined (and soon
- to go) int64.
-
----
- libvirt/libvirt_c_oneoffs.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c
-index 3bb572f..06b3852 100644
---- a/libvirt/libvirt_c_oneoffs.c
-+++ b/libvirt/libvirt_c_oneoffs.c
-@@ -140,7 +140,7 @@ ocaml_libvirt_connect_node_get_free_memory (value connv)
- NONBLOCKING (r = virNodeGetFreeMemory (conn));
- CHECK_ERROR (r == 0, conn, "virNodeGetFreeMemory");
-
-- rv = caml_copy_int64 ((int64) r);
-+ rv = caml_copy_int64 ((int64_t) r);
- CAMLreturn (rv);
- }
-
-@@ -161,7 +161,7 @@ ocaml_libvirt_connect_node_get_cells_free_memory (value connv,
-
- rv = caml_alloc (r, 0);
- for (i = 0; i < r; ++i) {
-- iv = caml_copy_int64 ((int64) freemems[i]);
-+ iv = caml_copy_int64 ((int64_t) freemems[i]);
- Store_field (rv, i, iv);
- }
-
---
-2.0.4
-
diff --git a/testing/ocaml-libvirt/0001-Use-g-warn-error.patch b/testing/ocaml-libvirt/0001-Use-g-warn-error.patch
deleted file mode 100644
index 7c6bf35a54a..00000000000
--- a/testing/ocaml-libvirt/0001-Use-g-warn-error.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 2ba6898b4dc121b00078e36d5416b3caadd5d05e Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Mon, 27 Mar 2017 14:12:50 +0100
-Subject: [PATCH 1/5] Use -g -warn-error.
-
-Use -g for ocamlopt. ocamlopt has supported generating DWARF
-information for quite a long time.
-
-Also use -warn-error with the same set of warnings as is used
-by libguestfs.
-
-Fix a warning in examples/get_cpu_stats.ml found by enabling
--warn-error.
----
- examples/Makefile.in | 4 ++--
- examples/get_cpu_stats.ml | 2 ++
- libvirt/Makefile.in | 6 +++---
- 3 files changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/examples/Makefile.in b/examples/Makefile.in
-index 041e382..46006a0 100644
---- a/examples/Makefile.in
-+++ b/examples/Makefile.in
-@@ -18,10 +18,10 @@
- OCAMLFIND = @OCAMLFIND@
-
- OCAMLCPACKAGES := -package unix -I ../libvirt
--OCAMLCFLAGS := -g
-+OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3
- OCAMLCLIBS := -linkpkg
- OCAMLOPTPACKAGES := $(OCAMLCPACKAGES)
--OCAMLOPTFLAGS :=
-+OCAMLOPTFLAGS := -g -warn-error CDEFLMPSUVYZX-3
- OCAMLOPTLIBS := $(OCAMLCLIBS)
-
- export LIBRARY_PATH=../libvirt
-diff --git a/examples/get_cpu_stats.ml b/examples/get_cpu_stats.ml
-index d7a8d0c..814c85e 100644
---- a/examples/get_cpu_stats.ml
-+++ b/examples/get_cpu_stats.ml
-@@ -19,9 +19,11 @@ let () =
-
- let conn = C.connect_readonly () in
-
-+ (*
- let nr_pcpus =
- let info = C.get_node_info conn in
- C.maxcpus_of_node_info info in
-+ *)
-
- let stats =
- let dom = D.lookup_by_name conn domname in
-diff --git a/libvirt/Makefile.in b/libvirt/Makefile.in
-index f7c04bb..cf614fc 100644
---- a/libvirt/Makefile.in
-+++ b/libvirt/Makefile.in
-@@ -31,15 +31,15 @@ OCAMLMKLIB = @OCAMLMKLIB@
-
- ifneq ($(OCAMLFIND),)
- OCAMLCPACKAGES := -package unix
--OCAMLCFLAGS := -g
-+OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3
- OCAMLCLIBS := -linkpkg
- else
- OCAMLCINCS :=
--OCAMLCFLAGS := -g
-+OCAMLCFLAGS := -g -warn-error CDEFLMPSUVYZX-3
- OCAMLCLIBS := unix.cma
- endif
-
--OCAMLOPTFLAGS :=
-+OCAMLOPTFLAGS := $(OCAMLCFLAGS)
- ifneq ($(OCAMLFIND),)
- OCAMLOPTPACKAGES := $(OCAMLCPACKAGES)
- OCAMLOPTLIBS := $(OCAMLCLIBS)
---
-2.9.3
-
diff --git a/testing/ocaml-libvirt/0002-Don-t-bother-checking-return-from-virInitialize.patch b/testing/ocaml-libvirt/0002-Don-t-bother-checking-return-from-virInitialize.patch
deleted file mode 100644
index bbf01a6a506..00000000000
--- a/testing/ocaml-libvirt/0002-Don-t-bother-checking-return-from-virInitialize.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 06b24089986523806d386b9e3cfa4fcf5eeb87e6 Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Tue, 17 Mar 2015 12:53:29 +0000
-Subject: [PATCH 2/2] Don't bother checking return from virInitialize.
-
-The Perl bindings don't do this, and it seems that the call can never
-fail, or if it does we don't care.
----
- libvirt/libvirt_c_oneoffs.c | 5 +----
- 1 file changed, 1 insertion(+), 4 deletions(-)
-
-diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c
-index 32e5a4b..5d82194 100644
---- a/libvirt/libvirt_c_oneoffs.c
-+++ b/libvirt/libvirt_c_oneoffs.c
-@@ -1229,12 +1229,9 @@ CAMLprim value
- ocaml_libvirt_init (value unit)
- {
- CAMLparam1 (unit);
-- CAMLlocal1 (rv);
-- int r;
-
- virSetErrorFunc (NULL, ignore_errors);
-- r = virInitialize ();
-- CHECK_ERROR (r == -1, "virInitialize");
-+ virInitialize ();
-
- CAMLreturn (Val_unit);
- }
---
-2.3.1
-
diff --git a/testing/ocaml-libvirt/0002-Update-dependencies.patch b/testing/ocaml-libvirt/0002-Update-dependencies.patch
deleted file mode 100644
index 1ba95ea3a69..00000000000
--- a/testing/ocaml-libvirt/0002-Update-dependencies.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From ca9a3227f9937f9cdeb84126f1c74502c9a25047 Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Mon, 27 Mar 2017 14:13:47 +0100
-Subject: [PATCH 2/5] Update dependencies.
-
----
- examples/.depend | 8 ++++----
- libvirt/.depend | 6 +++---
- 2 files changed, 7 insertions(+), 7 deletions(-)
-
-diff --git a/examples/.depend b/examples/.depend
-index b305b76..b5379d8 100644
---- a/examples/.depend
-+++ b/examples/.depend
-@@ -1,8 +1,8 @@
--node_info.cmo : ../libvirt/libvirt.cmi
--node_info.cmx : ../libvirt/libvirt.cmx
--get_cpu_stats.cmo : ../libvirt/libvirt.cmi
--get_cpu_stats.cmx : ../libvirt/libvirt.cmx
- domain_events.cmo : ../libvirt/libvirt.cmi
- domain_events.cmx : ../libvirt/libvirt.cmx
-+get_cpu_stats.cmo : ../libvirt/libvirt.cmi
-+get_cpu_stats.cmx : ../libvirt/libvirt.cmx
- list_domains.cmo : ../libvirt/libvirt.cmi
- list_domains.cmx : ../libvirt/libvirt.cmx
-+node_info.cmo : ../libvirt/libvirt.cmi
-+node_info.cmx : ../libvirt/libvirt.cmx
-diff --git a/libvirt/.depend b/libvirt/.depend
-index 7d32e13..ee1180c 100644
---- a/libvirt/.depend
-+++ b/libvirt/.depend
-@@ -1,6 +1,6 @@
--libvirt_version.cmi :
-+libvirt.cmo : libvirt.cmi
-+libvirt.cmx : libvirt.cmi
- libvirt.cmi :
- libvirt_version.cmo : libvirt_version.cmi
- libvirt_version.cmx : libvirt_version.cmi
--libvirt.cmo : libvirt.cmi
--libvirt.cmx : libvirt.cmi
-+libvirt_version.cmi :
---
-2.9.3
-
diff --git a/testing/ocaml-libvirt/0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch b/testing/ocaml-libvirt/0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch
deleted file mode 100644
index 0eb1b28eef5..00000000000
--- a/testing/ocaml-libvirt/0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch
+++ /dev/null
@@ -1,393 +0,0 @@
-From 380f1e05b244ae4750ca5101b5b5a182dcd0d1fd Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Tue, 28 Mar 2017 10:08:06 +0100
-Subject: [PATCH 3/5] Add a binding for virConnectGetAllDomainStats
- (RHBZ#1390171).
-
----
- .gitignore | 2 +
- Makefile.in | 1 +
- examples/.depend | 2 +
- examples/Makefile.in | 13 ++++-
- examples/get_all_domain_stats.ml | 65 +++++++++++++++++++++
- libvirt/libvirt.ml | 23 ++++++++
- libvirt/libvirt.mli | 28 +++++++++
- libvirt/libvirt_c_oneoffs.c | 119 ++++++++++++++++++++++++++++++++++++++-
- 8 files changed, 250 insertions(+), 3 deletions(-)
- create mode 100644 examples/get_all_domain_stats.ml
-
-diff --git a/.gitignore b/.gitignore
-index 71a245e..366eb29 100644
---- a/.gitignore
-+++ b/.gitignore
-@@ -1,3 +1,4 @@
-+.gdb_history
- META
- ocaml-libvirt-*.tar.gz
- ocaml-libvirt-*.exe
-@@ -27,6 +28,7 @@ core.*
- *~
- libvirt/libvirt_version.ml
- examples/domain_events
-+examples/get_all_domain_stats
- examples/get_cpu_stats
- examples/list_domains
- examples/node_info
-diff --git a/Makefile.in b/Makefile.in
-index 3b8b7ec..2605ddd 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -41,6 +41,7 @@ clean:
- rm -f examples/node_info
- rm -f examples/get_cpu_stats
- rm -f examples/domain_events
-+ rm -f examples/get_all_domain_stats
-
- distclean: clean
- rm -f config.h config.log config.status configure
-diff --git a/examples/.depend b/examples/.depend
-index b5379d8..11f2c7c 100644
---- a/examples/.depend
-+++ b/examples/.depend
-@@ -1,5 +1,7 @@
- domain_events.cmo : ../libvirt/libvirt.cmi
- domain_events.cmx : ../libvirt/libvirt.cmx
-+get_all_domain_stats.cmo : ../libvirt/libvirt.cmi
-+get_all_domain_stats.cmx : ../libvirt/libvirt.cmx
- get_cpu_stats.cmo : ../libvirt/libvirt.cmi
- get_cpu_stats.cmx : ../libvirt/libvirt.cmx
- list_domains.cmo : ../libvirt/libvirt.cmi
-diff --git a/examples/Makefile.in b/examples/Makefile.in
-index 46006a0..8530edc 100644
---- a/examples/Makefile.in
-+++ b/examples/Makefile.in
-@@ -27,7 +27,8 @@ OCAMLOPTLIBS := $(OCAMLCLIBS)
- export LIBRARY_PATH=../libvirt
- export LD_LIBRARY_PATH=../libvirt
-
--BYTE_TARGETS := list_domains node_info get_cpu_stats domain_events
-+BYTE_TARGETS := list_domains node_info get_cpu_stats \
-+ get_all_domain_stats domain_events
- OPT_TARGETS := $(BYTE_TARGETS:%=%.opt)
-
- all: $(BYTE_TARGETS)
-@@ -64,6 +65,16 @@ get_cpu_stats.opt: get_cpu_stats.cmx
- $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
- ../libvirt/mllibvirt.cmxa -o $@ $<
-
-+get_all_domain_stats: get_all_domain_stats.cmo
-+ $(OCAMLFIND) ocamlc \
-+ $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \
-+ ../libvirt/mllibvirt.cma -o $@ $<
-+
-+get_all_domain_stats.opt: get_all_domain_stats.cmx
-+ $(OCAMLFIND) ocamlopt \
-+ $(OCAMLOPTPACKAGES) $(OCAMLOPTFLAGS) $(OCAMLOPTLIBS) \
-+ ../libvirt/mllibvirt.cmxa -o $@ $<
-+
- domain_events: domain_events.cmo
- $(OCAMLFIND) ocamlc \
- $(OCAMLCPACKAGES) $(OCAMLCFLAGS) $(OCAMLCLIBS) \
-diff --git a/examples/get_all_domain_stats.ml b/examples/get_all_domain_stats.ml
-new file mode 100644
-index 0000000..4375639
---- /dev/null
-+++ b/examples/get_all_domain_stats.ml
-@@ -0,0 +1,65 @@
-+(* Example of using Domain.get_all_domain_stats (virConnectGetAllDomainStats).
-+ * Usage: get_all_domain_stats
-+ * http://libvirt.org/
-+ *)
-+
-+open Printf
-+
-+module C = Libvirt.Connect
-+module D = Libvirt.Domain
-+
-+let print_stats stats =
-+ try
-+ Array.iter (
-+ fun { D.dom = dom; D.params = params } ->
-+ printf "domain %s:\n" (D.get_name dom);
-+ Array.iteri (
-+ fun i (field, value) ->
-+ printf "\t%-20s = " field;
-+ (match value with
-+ | D.TypedFieldInt32 i -> printf "%ld" i
-+ | D.TypedFieldUInt32 i -> printf "%ld" i
-+ | D.TypedFieldInt64 i -> printf "%Ld" i
-+ | D.TypedFieldUInt64 i -> printf "%Ld" i
-+ | D.TypedFieldFloat f -> printf "%g" f
-+ | D.TypedFieldBool b -> printf "%b" b
-+ | D.TypedFieldString s -> printf "%S" s);
-+ printf "\n";
-+ ) params;
-+ printf "\n"
-+ ) stats
-+ with
-+ Libvirt.Virterror err ->
-+ eprintf "error: %s\n" (Libvirt.Virterror.to_string err)
-+
-+let () =
-+ if Array.length Sys.argv <> 1 then (
-+ eprintf "error: get_all_domain_stats\n";
-+ exit 1
-+ );
-+
-+ let conn = C.connect_readonly () in
-+
-+ let what_stats = [D.StatsCpuTotal; D.StatsInterface; D.StatsBlock] in
-+ let flags = [D.GetAllDomainsStatsActive; D.GetAllDomainsStatsInactive] in
-+
-+ let quit = ref false in
-+
-+ while not !quit do
-+ let stats = D.get_all_domain_stats conn what_stats flags in
-+
-+ if stats <> [||] then print_stats stats
-+ else (
-+ printf "no guests found\n";
-+ quit := true
-+ );
-+ flush stdout;
-+
-+ (* Run the garbage collector which is a good way to check for
-+ * memory corruption errors and reference counting issues in
-+ * libvirt. You shouldn't do this in ordinary programs.
-+ *)
-+ Gc.compact ();
-+
-+ if not !quit then Unix.sleep 3
-+ done
-diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml
-index 1be023d..ce1878a 100644
---- a/libvirt/libvirt.ml
-+++ b/libvirt/libvirt.ml
-@@ -392,6 +392,27 @@ struct
- tx_drop : int64;
- }
-
-+ type get_all_domain_stats_flag =
-+ | GetAllDomainsStatsActive
-+ | GetAllDomainsStatsInactive
-+ | GetAllDomainsStatsOther
-+ | GetAllDomainsStatsPaused
-+ | GetAllDomainsStatsPersistent
-+ | GetAllDomainsStatsRunning
-+ | GetAllDomainsStatsShutoff
-+ | GetAllDomainsStatsTransient
-+ | GetAllDomainsStatsBacking
-+ | GetAllDomainsStatsEnforceStats
-+
-+ type stats_type =
-+ | StatsState | StatsCpuTotal | StatsBalloon | StatsVcpu
-+ | StatsInterface | StatsBlock | StatsPerf
-+
-+ type 'a domain_stats_record = {
-+ dom : 'a t;
-+ params : typed_param array;
-+ }
-+
- (* The maximum size for Domain.memory_peek and Domain.block_peek
- * supported by libvirt. This may change with different versions
- * of libvirt in the future, hence it's a function.
-@@ -446,6 +467,8 @@ struct
- external block_peek : [>`W] t -> string -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_block_peek_bytecode" "ocaml_libvirt_domain_block_peek_native"
- external memory_peek : [>`W] t -> memory_flag list -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_memory_peek_bytecode" "ocaml_libvirt_domain_memory_peek_native"
-
-+ external get_all_domain_stats : 'a Connect.t -> stats_type list -> get_all_domain_stats_flag list -> 'a domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats"
-+
- external const : [>`R] t -> ro t = "%identity"
-
- let get_domains conn flags =
-diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli
-index 8cfcae2..d1b5992 100644
---- a/libvirt/libvirt.mli
-+++ b/libvirt/libvirt.mli
-@@ -478,6 +478,27 @@ sig
- tx_drop : int64;
- }
-
-+ type get_all_domain_stats_flag =
-+ | GetAllDomainsStatsActive
-+ | GetAllDomainsStatsInactive
-+ | GetAllDomainsStatsOther
-+ | GetAllDomainsStatsPaused
-+ | GetAllDomainsStatsPersistent
-+ | GetAllDomainsStatsRunning
-+ | GetAllDomainsStatsShutoff
-+ | GetAllDomainsStatsTransient
-+ | GetAllDomainsStatsBacking
-+ | GetAllDomainsStatsEnforceStats
-+
-+ type stats_type =
-+ | StatsState | StatsCpuTotal | StatsBalloon | StatsVcpu
-+ | StatsInterface | StatsBlock | StatsPerf
-+
-+ type 'a domain_stats_record = {
-+ dom : 'a t;
-+ params : typed_param array;
-+ }
-+
- val max_peek : [>`R] t -> int
- (** Maximum size supported by the {!block_peek} and {!memory_peek}
- functions. If you want to peek more than this then you must
-@@ -615,6 +636,13 @@ sig
-
- See also {!max_peek}. *)
-
-+ external get_all_domain_stats : 'a Connect.t -> stats_type list -> get_all_domain_stats_flag list -> 'a domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats"
-+ (** [get_all_domain_stats conn stats flags] allows you to read
-+ all stats across multiple/all domains in a single call.
-+
-+ See the libvirt documentation for
-+ [virConnectGetAllDomainStats]. *)
-+
- external const : [>`R] t -> ro t = "%identity"
- (** [const dom] turns a read/write domain handle into a read-only
- domain handle. Note that the opposite operation is impossible.
-diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c
-index 5d82194..17412f5 100644
---- a/libvirt/libvirt_c_oneoffs.c
-+++ b/libvirt/libvirt_c_oneoffs.c
-@@ -1,5 +1,5 @@
- /* OCaml bindings for libvirt.
-- * (C) Copyright 2007 Richard W.M. Jones, Red Hat Inc.
-+ * (C) Copyright 2007-2017 Richard W.M. Jones, Red Hat Inc.
- * http://libvirt.org/
- *
- * This library is free software; you can redistribute it and/or
-@@ -184,7 +184,6 @@ ocaml_libvirt_connect_set_keep_alive(value connv,
- CAMLreturn(Val_unit);
- }
-
--
- CAMLprim value
- ocaml_libvirt_domain_get_id (value domv)
- {
-@@ -560,6 +559,122 @@ ocaml_libvirt_domain_get_cpu_stats (value domv)
- CAMLreturn (cpustats);
- }
-
-+value
-+ocaml_libvirt_domain_get_all_domain_stats (value connv,
-+ value statsv, value flagsv)
-+{
-+ CAMLparam3 (connv, statsv, flagsv);
-+ CAMLlocal5 (rv, dsv, tpv, v, v1);
-+ CAMLlocal1 (v2);
-+ virConnectPtr conn = Connect_val (connv);
-+ virDomainStatsRecordPtr *rstats;
-+ unsigned int stats = 0, flags = 0;
-+ int i, j, r;
-+
-+ /* Get stats and flags. */
-+ for (; statsv != Val_int (0); statsv = Field (statsv, 1)) {
-+ v = Field (statsv, 0);
-+ if (v == Val_int (0))
-+ stats |= VIR_DOMAIN_STATS_STATE;
-+ else if (v == Val_int (1))
-+ stats |= VIR_DOMAIN_STATS_CPU_TOTAL;
-+ else if (v == Val_int (2))
-+ stats |= VIR_DOMAIN_STATS_BALLOON;
-+ else if (v == Val_int (3))
-+ stats |= VIR_DOMAIN_STATS_VCPU;
-+ else if (v == Val_int (4))
-+ stats |= VIR_DOMAIN_STATS_INTERFACE;
-+ else if (v == Val_int (5))
-+ stats |= VIR_DOMAIN_STATS_BLOCK;
-+ else if (v == Val_int (6))
-+ stats |= VIR_DOMAIN_STATS_PERF;
-+ }
-+ for (; flagsv != Val_int (0); flagsv = Field (flagsv, 1)) {
-+ v = Field (flagsv, 0);
-+ if (v == Val_int (0))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_ACTIVE;
-+ else if (v == Val_int (1))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_INACTIVE;
-+ else if (v == Val_int (2))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_OTHER;
-+ else if (v == Val_int (3))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_PAUSED;
-+ else if (v == Val_int (4))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_PERSISTENT;
-+ else if (v == Val_int (5))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_RUNNING;
-+ else if (v == Val_int (6))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_SHUTOFF;
-+ else if (v == Val_int (7))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_TRANSIENT;
-+ else if (v == Val_int (8))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_BACKING;
-+ else if (v == Val_int (9))
-+ flags |= VIR_CONNECT_GET_ALL_DOMAINS_STATS_ENFORCE_STATS;
-+ }
-+
-+ NONBLOCKING (r = virConnectGetAllDomainStats (conn, stats, &rstats, flags));
-+ CHECK_ERROR (r == -1, "virConnectGetAllDomainStats");
-+
-+ rv = caml_alloc (r, 0); /* domain_stats_record array. */
-+ for (i = 0; i < r; ++i) {
-+ dsv = caml_alloc (2, 0); /* domain_stats_record */
-+ virDomainRef (rstats[i]->dom);
-+ Store_field (dsv, 0, Val_domain (rstats[i]->dom, connv));
-+
-+ tpv = caml_alloc (rstats[i]->nparams, 0); /* typed_param array */
-+ for (j = 0; j < rstats[i]->nparams; ++j) {
-+ v2 = caml_alloc (2, 0); /* typed_param: field name, value */
-+ Store_field (v2, 0, caml_copy_string (rstats[i]->params[j].field));
-+
-+ switch (rstats[i]->params[j].type) {
-+ case VIR_TYPED_PARAM_INT:
-+ v1 = caml_alloc (1, 0);
-+ v = caml_copy_int32 (rstats[i]->params[j].value.i);
-+ break;
-+ case VIR_TYPED_PARAM_UINT:
-+ v1 = caml_alloc (1, 1);
-+ v = caml_copy_int32 (rstats[i]->params[j].value.ui);
-+ break;
-+ case VIR_TYPED_PARAM_LLONG:
-+ v1 = caml_alloc (1, 2);
-+ v = caml_copy_int64 (rstats[i]->params[j].value.l);
-+ break;
-+ case VIR_TYPED_PARAM_ULLONG:
-+ v1 = caml_alloc (1, 3);
-+ v = caml_copy_int64 (rstats[i]->params[j].value.ul);
-+ break;
-+ case VIR_TYPED_PARAM_DOUBLE:
-+ v1 = caml_alloc (1, 4);
-+ v = caml_copy_double (rstats[i]->params[j].value.d);
-+ break;
-+ case VIR_TYPED_PARAM_BOOLEAN:
-+ v1 = caml_alloc (1, 5);
-+ v = Val_bool (rstats[i]->params[j].value.b);
-+ break;
-+ case VIR_TYPED_PARAM_STRING:
-+ v1 = caml_alloc (1, 6);
-+ v = caml_copy_string (rstats[i]->params[j].value.s);
-+ break;
-+ default:
-+ virDomainStatsRecordListFree (rstats);
-+ caml_failwith ("virConnectGetAllDomainStats: "
-+ "unknown parameter type returned");
-+ }
-+ Store_field (v1, 0, v);
-+
-+ Store_field (v2, 1, v1);
-+ Store_field (tpv, j, v2);
-+ }
-+
-+ Store_field (dsv, 1, tpv);
-+ Store_field (rv, i, dsv);
-+ }
-+
-+ virDomainStatsRecordListFree (rstats);
-+ CAMLreturn (rv);
-+}
-+
- CAMLprim value
- ocaml_libvirt_domain_migrate_native (value domv, value dconnv, value flagsv, value optdnamev, value opturiv, value optbandwidthv, value unitv)
- {
---
-2.9.3
-
diff --git a/testing/ocaml-libvirt/0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch b/testing/ocaml-libvirt/0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch
deleted file mode 100644
index a4baded24ac..00000000000
--- a/testing/ocaml-libvirt/0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2bb6200934090f34f81d1badb9a55f5a86a7fb32 Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Tue, 28 Mar 2017 13:11:09 +0100
-Subject: [PATCH 4/5] examples: Print more stats in the get_all_domain_stats.ml
- example.
-
-Updates commit 380f1e05b244ae4750ca5101b5b5a182dcd0d1fd.
----
- examples/get_all_domain_stats.ml | 13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
-diff --git a/examples/get_all_domain_stats.ml b/examples/get_all_domain_stats.ml
-index 4375639..cc86da6 100644
---- a/examples/get_all_domain_stats.ml
-+++ b/examples/get_all_domain_stats.ml
-@@ -40,13 +40,20 @@ let () =
-
- let conn = C.connect_readonly () in
-
-- let what_stats = [D.StatsCpuTotal; D.StatsInterface; D.StatsBlock] in
-- let flags = [D.GetAllDomainsStatsActive; D.GetAllDomainsStatsInactive] in
-+ let what = [
-+ D.StatsState;
-+ D.StatsCpuTotal;
-+ D.StatsBalloon;
-+ D.StatsVcpu;
-+ D.StatsInterface;
-+ D.StatsBlock;
-+ ] in
-+ let who = [] in (* empty list means returns all domains *)
-
- let quit = ref false in
-
- while not !quit do
-- let stats = D.get_all_domain_stats conn what_stats flags in
-+ let stats = D.get_all_domain_stats conn what who in
-
- if stats <> [||] then print_stats stats
- else (
---
-2.9.3
-
diff --git a/testing/ocaml-libvirt/0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch b/testing/ocaml-libvirt/0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch
deleted file mode 100644
index 955a4ca71bf..00000000000
--- a/testing/ocaml-libvirt/0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 3169af3337938e18bf9ecc6ce936d644e14ff3de Mon Sep 17 00:00:00 2001
-From: "Richard W.M. Jones" <rjones@redhat.com>
-Date: Tue, 28 Mar 2017 13:52:51 +0100
-Subject: [PATCH 5/5] Change binding of virConnectGetAllDomainStats to return
- dom UUID.
-
-The virDomainPtr object returned by this binding isn't a reliable
-virDomainPtr object. The only thing we can safely do with it is to
-get its UUID. Modify the API correspondingly.
-
-Updates commit 380f1e05b244ae4750ca5101b5b5a182dcd0d1fd.
----
- examples/get_all_domain_stats.ml | 7 ++++---
- libvirt/libvirt.ml | 6 +++---
- libvirt/libvirt.mli | 6 +++---
- libvirt/libvirt_c_oneoffs.c | 13 +++++++++++--
- 4 files changed, 21 insertions(+), 11 deletions(-)
-
-diff --git a/examples/get_all_domain_stats.ml b/examples/get_all_domain_stats.ml
-index cc86da6..be91f77 100644
---- a/examples/get_all_domain_stats.ml
-+++ b/examples/get_all_domain_stats.ml
-@@ -8,10 +8,11 @@ open Printf
- module C = Libvirt.Connect
- module D = Libvirt.Domain
-
--let print_stats stats =
-+let print_stats conn stats =
- try
- Array.iter (
-- fun { D.dom = dom; D.params = params } ->
-+ fun { D.dom_uuid = uuid; D.params = params } ->
-+ let dom = D.lookup_by_uuid conn uuid in
- printf "domain %s:\n" (D.get_name dom);
- Array.iteri (
- fun i (field, value) ->
-@@ -55,7 +56,7 @@ let () =
- while not !quit do
- let stats = D.get_all_domain_stats conn what who in
-
-- if stats <> [||] then print_stats stats
-+ if stats <> [||] then print_stats conn stats
- else (
- printf "no guests found\n";
- quit := true
-diff --git a/libvirt/libvirt.ml b/libvirt/libvirt.ml
-index ce1878a..d03a127 100644
---- a/libvirt/libvirt.ml
-+++ b/libvirt/libvirt.ml
-@@ -408,8 +408,8 @@ struct
- | StatsState | StatsCpuTotal | StatsBalloon | StatsVcpu
- | StatsInterface | StatsBlock | StatsPerf
-
-- type 'a domain_stats_record = {
-- dom : 'a t;
-+ type domain_stats_record = {
-+ dom_uuid : uuid;
- params : typed_param array;
- }
-
-@@ -467,7 +467,7 @@ struct
- external block_peek : [>`W] t -> string -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_block_peek_bytecode" "ocaml_libvirt_domain_block_peek_native"
- external memory_peek : [>`W] t -> memory_flag list -> int64 -> int -> string -> int -> unit = "ocaml_libvirt_domain_memory_peek_bytecode" "ocaml_libvirt_domain_memory_peek_native"
-
-- external get_all_domain_stats : 'a Connect.t -> stats_type list -> get_all_domain_stats_flag list -> 'a domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats"
-+ external get_all_domain_stats : [>`R] Connect.t -> stats_type list -> get_all_domain_stats_flag list -> domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats"
-
- external const : [>`R] t -> ro t = "%identity"
-
-diff --git a/libvirt/libvirt.mli b/libvirt/libvirt.mli
-index d1b5992..dc0033b 100644
---- a/libvirt/libvirt.mli
-+++ b/libvirt/libvirt.mli
-@@ -494,8 +494,8 @@ sig
- | StatsState | StatsCpuTotal | StatsBalloon | StatsVcpu
- | StatsInterface | StatsBlock | StatsPerf
-
-- type 'a domain_stats_record = {
-- dom : 'a t;
-+ type domain_stats_record = {
-+ dom_uuid : uuid;
- params : typed_param array;
- }
-
-@@ -636,7 +636,7 @@ sig
-
- See also {!max_peek}. *)
-
-- external get_all_domain_stats : 'a Connect.t -> stats_type list -> get_all_domain_stats_flag list -> 'a domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats"
-+ external get_all_domain_stats : [>`R] Connect.t -> stats_type list -> get_all_domain_stats_flag list -> domain_stats_record array = "ocaml_libvirt_domain_get_all_domain_stats"
- (** [get_all_domain_stats conn stats flags] allows you to read
- all stats across multiple/all domains in a single call.
-
-diff --git a/libvirt/libvirt_c_oneoffs.c b/libvirt/libvirt_c_oneoffs.c
-index 17412f5..958ba69 100644
---- a/libvirt/libvirt_c_oneoffs.c
-+++ b/libvirt/libvirt_c_oneoffs.c
-@@ -570,6 +570,7 @@ ocaml_libvirt_domain_get_all_domain_stats (value connv,
- virDomainStatsRecordPtr *rstats;
- unsigned int stats = 0, flags = 0;
- int i, j, r;
-+ unsigned char uuid[VIR_UUID_BUFLEN];
-
- /* Get stats and flags. */
- for (; statsv != Val_int (0); statsv = Field (statsv, 1)) {
-@@ -619,8 +620,16 @@ ocaml_libvirt_domain_get_all_domain_stats (value connv,
- rv = caml_alloc (r, 0); /* domain_stats_record array. */
- for (i = 0; i < r; ++i) {
- dsv = caml_alloc (2, 0); /* domain_stats_record */
-- virDomainRef (rstats[i]->dom);
-- Store_field (dsv, 0, Val_domain (rstats[i]->dom, connv));
-+
-+ /* Libvirt returns something superficially resembling a
-+ * virDomainPtr, but it's not a real virDomainPtr object
-+ * (eg. dom->id == -1, and its refcount is wrong). The only thing
-+ * we can safely get from it is the UUID.
-+ */
-+ v = caml_alloc_string (VIR_UUID_BUFLEN);
-+ virDomainGetUUID (rstats[i]->dom, uuid);
-+ memcpy (String_val (v), uuid, VIR_UUID_BUFLEN);
-+ Store_field (dsv, 0, v);
-
- tpv = caml_alloc (rstats[i]->nparams, 0); /* typed_param array */
- for (j = 0; j < rstats[i]->nparams; ++j) {
---
-2.9.3
-
diff --git a/testing/ocaml-libvirt/APKBUILD b/testing/ocaml-libvirt/APKBUILD
index 43c4c177eea..644bc4311b3 100644
--- a/testing/ocaml-libvirt/APKBUILD
+++ b/testing/ocaml-libvirt/APKBUILD
@@ -1,67 +1,85 @@
# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
pkgname=ocaml-libvirt
-pkgver=0.6.1.4
-pkgrel=1
+_pkgname=libvirt-ocaml
+pkgver=0.6.1.7
+pkgrel=0
pkgdesc="OCaml binding for libvirt"
-url="http://libvirt.org/ocaml/"
-arch="aarch64 ppc64le x86_64" # restricted by ocaml
-license="LGPL-2.1-or-later-WITH-linking-exception"
-makedepends="ocaml ocaml-ocamldoc ocaml-findlib-dev libvirt-dev perl gawk"
+url="https://libvirt.org/ocaml/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+makedepends="autoconf automake ocaml ocaml-findlib-dev libvirt-dev perl gawk"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://libvirt.org/sources/ocaml/$pkgname-$pkgver.tar.gz
- 0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch
- 0001-Add-a-binding-for-virDomainCreateXML.patch
- 0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch
- 0002-Don-t-bother-checking-return-from-virInitialize.patch
- 0001-Remove-unused-not_supported-function.patch
- 0001-Use-g-warn-error.patch
- 0002-Update-dependencies.patch
- 0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch
- 0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch
- 0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch"
-builddir="$srcdir/$pkgname-$pkgver"
+source="https://gitlab.com/libvirt/libvirt-ocaml/-/archive/v$pkgver/libvirt-ocaml-v$pkgver.tar.gz"
options="!check" # there is no test suite/unit tests
+builddir="$srcdir/$_pkgname-v$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
prepare() {
default_prepare
- update_config_sub
+ autoreconf -i
}
build() {
- cd "$builddir"
- export OCAMLPARAM="safe-string=0,_"
./configure \
--host=$CHOST \
--build=$CBUILD \
--target=$CTARGET \
--prefix=/usr
- make -C libvirt all
- make opt
-}
-
-check() {
- cd "$builddir"
+ make
}
package() {
- cd "$builddir"
export DESTDIR="$pkgdir"
export OCAMLFIND_DESTDIR="$DESTDIR/usr/lib/ocaml"
mkdir -p "$OCAMLFIND_DESTDIR" "$OCAMLFIND_DESTDIR/stublibs"
- make install-opt
- install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
- install -D -m644 COPYING.LIB "$pkgdir/usr/share/licenses/$pkgname/COPYING.LIB"
+
+ make install
+ install -Dm644 COPYING COPYING.LIB \
+ -t "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="ed081a9b6f1388935e6a2ba0400e15881b3abb81a1079ab7fd88e72392ad29a0fd61550d3d7dc00682f283bc181d298af6519d19c3d15cf077988a3d6281d204 ocaml-libvirt-0.6.1.4.tar.gz
-ca1c6503a121ae392c46a37e4b260041a12b692afb7f2da39396f490020fe11b2284ff6fe110eac6fabd01296adf2aa030f598e7349a0984323f7cd1c9fa67b0 0001-Use-C99-standard-int64_t-instead-of-OCaml-defined-an.patch
-6404b398da1b41cd1fef41ce597a3d2b1dee44b636a403a9b730e9cec455c87b4bd4fa35eea869a12698623d4d9d667f5588032bac4938d4114f606fa499a1e0 0001-Add-a-binding-for-virDomainCreateXML.patch
-e59b4127c2244ef6465090ccf6965f8ca4431e543bd4b8772527b0080af30da9834655fce195b61e860676f9f4747d2d22caf38dc0c2ecd102c4933f0a5da668 0001-Suppress-errors-to-stderr-and-use-thread-local-virEr.patch
-7106aa55357b54409ca982ac60ff1243f4210a12fc3db7e6d355a5f317b947abe11d283ffc1c86193e93e6e30bd037f8883079a6dc83da33091adc449a31ddcd 0002-Don-t-bother-checking-return-from-virInitialize.patch
-bbc97d03031ef187230607de4830a3b250b8283d52ec0a60a220d165b4af9fe0deeacf43b00c056b4e090d6cf8f6aae8eb26c72e38cfca95df9e85ce0b72fd40 0001-Remove-unused-not_supported-function.patch
-830d93d7cd1dec1fcf3c0f762c61d056d62589972c26904b3711f9739745ab0125b117aff873abd3ff852c8ad03b3e779891d1420c3f21008915b4eb69d977bf 0001-Use-g-warn-error.patch
-f1dd3862b6c3a5ee04a2d54a885bc0baa053de60cde4ceeb9b70c6de9a8b4bfcac77429bf64400973a2d867bab542ca728438b30f07ac756cd362db454d684c0 0002-Update-dependencies.patch
-2b9ce951486ada9d700c4560e0d5c069d2b58c70d71ac70ee95900246a53ad6c5b2557fe82fc45b3f0fcdf7a966c2e1f442cc391758b0c9c6f7e755206e5e2c7 0003-Add-a-binding-for-virConnectGetAllDomainStats-RHBZ-1.patch
-2a2f48cd744d5b697ffded415993aa21aea5b3335abb6dd1d2ae9efeb443ead362b9b6988764a0405e96f054d949b2927c0a7316dcb0e41e02b19379a40b8471 0004-examples-Print-more-stats-in-the-get_all_domain_stat.patch
-abfcac22d22be5e2b552f2443244d62663d055d3eb9fd9ee9e82bcf21667d1a868cecc2bc5eac25097e9faca2ae20bd4ad6c0bb81eb072fa581ffbcd7ec3779b 0005-Change-binding-of-virConnectGetAllDomainStats-to-ret.patch"
+sha512sums="
+065008709b653f52e119665a5fbe4bedeb1dceb430b2d3ce022d4f9d685e168860145d40f6ae2be4d0715da5c0815029c9de49d370c73cd54d0e83846dc6a785 libvirt-ocaml-v0.6.1.7.tar.gz
+"
diff --git a/testing/ocaml-logs/APKBUILD b/testing/ocaml-logs/APKBUILD
new file mode 100644
index 00000000000..955f628897d
--- /dev/null
+++ b/testing/ocaml-logs/APKBUILD
@@ -0,0 +1,91 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-logs
+_pkgname=logs
+pkgver=0.7.0
+pkgrel=3
+pkgdesc="Logging infrastructure for OCaml"
+url="https://erratique.ch/software/logs"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ ocaml-fmt-dev
+ ocaml-cmdliner-dev
+ ocaml-lwt-dev
+ ocaml-seq-dev
+ cmd:opam-installer
+ "
+options="!check" # require mtime
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/logs/releases/logs-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --with-fmt true \
+ --with-cmdliner true \
+ --with-lwt true \
+ --with-base-threads true \
+ --with-js_of_ocaml false
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+657f66eeaf5788947a3ff4b2a179f7e192ad4ce086fc8968286066d4b83af476523b3befce50ee58abf2d9b8c8dc65573ba8ed62f9c5e7933db29a7fb769646a ocaml-logs-0.7.0.tar.bz2
+"
diff --git a/testing/ocaml-lru/APKBUILD b/testing/ocaml-lru/APKBUILD
new file mode 100644
index 00000000000..20c73e74cd5
--- /dev/null
+++ b/testing/ocaml-lru/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lru
+_pkgname=lru
+pkgver=0.3.0
+pkgrel=2
+pkgdesc="Scalable LRU caches"
+url="https://github.com/pqwy/lru"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-psq-dev"
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-qcheck-alcotest-dev ocaml-qcheck-core-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/pqwy/lru/releases/download/v$pkgver/lru-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+b4d23089bc73bd5b0bdaa977d6e65982486def1c4fd35a2a24655adb22377692927752de2d8373fc0f751a4ec5cf905546b8754320acb01308ce43fa42288112 ocaml-lru-0.3.0.tar.bz2
+"
diff --git a/testing/ocaml-lwd/APKBUILD b/testing/ocaml-lwd/APKBUILD
new file mode 100644
index 00000000000..63b250ca342
--- /dev/null
+++ b/testing/ocaml-lwd/APKBUILD
@@ -0,0 +1,100 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lwd
+_pkgname=lwd
+pkgver=0.3
+pkgrel=0
+pkgdesc="Lightweight reactive documents"
+url="https://github.com/let-def/lwd"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ dune
+ ocaml
+ ocaml-bigarray-compat-dev
+ ocaml-compiler-libs
+ ocaml-cppo
+ ocaml-findlib
+ ocaml-lwt-dev
+ ocaml-mmap-dev
+ ocaml-notty-dev
+ ocaml-ocplib-endian-dev
+ ocaml-uutf-dev
+ ocaml-result-dev
+ ocaml-seq-dev
+ "
+options="!check"
+checkdepends="ocaml-qcheck-dev ocaml-qtest-dev"
+subpackages="$pkgname-dev"
+provides="ocaml-nottui=$pkgver-r$pkgrel"
+source="$_pkgname-$pkgver.tar.bz2::https://github.com/let-def/lwd/releases/download/v$pkgver/lwd-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build \
+ -p lwd,nottui,nottui-lwt,nottui-pretty \
+ @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
+ lwd nottui nottui-lwt nottui-pretty
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+ provides="ocaml-nottui-dev=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+95b1fd4b7fcce72f4e220cc9a6cb3c14ea352faeac239345cca61a8906c328078e5ff3143e04c2602710e1ac4c3513d4f19c6ab62ffc716f195a3f9e0ba0560c lwd-0.3.tar.bz2
+"
diff --git a/testing/ocaml-lwt-dllist/APKBUILD b/testing/ocaml-lwt-dllist/APKBUILD
new file mode 100644
index 00000000000..450aa169833
--- /dev/null
+++ b/testing/ocaml-lwt-dllist/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lwt-dllist
+_pkgname=lwt-dllist
+pkgver=1.0.1
+pkgrel=3
+pkgdesc="Mutable doubly-linked list with Lwt iterators"
+url="https://github.com/mirage/lwt-dllist"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-lwt-dev"
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-lwt-dev" # necessary only for testing?
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/lwt-dllist/releases/download/v$pkgver/lwt-dllist-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+1df7e8e12e01a5d32e1db746f922e05f23a67c0d20e72a5b9126fead1e04decdb062081574b1c410c822305ef4eac990b7dd69f36673db8f50b9db2152abad80 ocaml-lwt-dllist-1.0.1.tar.bz2
+"
diff --git a/testing/ocaml-lwt/APKBUILD b/testing/ocaml-lwt/APKBUILD
new file mode 100644
index 00000000000..d989c294f6b
--- /dev/null
+++ b/testing/ocaml-lwt/APKBUILD
@@ -0,0 +1,110 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lwt
+_pkgname=lwt
+pkgver=5.7.0
+pkgrel=0
+pkgdesc="OCaml promises and concurrent I/O"
+url="https://github.com/ocsigen/lwt"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="
+ libev-dev
+ ocaml-mmap-dev
+ ocaml-ocplib-endian-dev
+ ocaml-ppxlib-dev
+ ocaml-react-dev
+ ocaml-result-dev
+ "
+makedepends="$depends_dev dune dune-configurator ocaml ocaml-cppo"
+options="!check" # FIXME: tests hang
+subpackages="$pkgname-dev ${pkgname}_react:_react ${pkgname}_ppx:_ppx"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/ocsigen/lwt/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune exec \
+ -p lwt,lwt_react,lwt_ppx \
+ "src/unix/config/discover.exe" -- \
+ --save --use-libev true
+
+ dune build \
+ -p lwt,lwt_react,lwt_ppx \
+ --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ lwt lwt_react lwt_ppx
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+ depends="$depends_dev
+ $pkgname=$pkgver-r$pkgrel
+ ${pkgname}_react=$pkgver-r$pkgrel
+ ${pkgname}_ppx=$pkgver-r$pkgrel"
+ provides="${pkgname}_ppx-dev ${pkgname}_react-dev"
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+_ppx() {
+ pkgdesc="$pkgdesc (PPX syntax)"
+
+ amove usr/lib/ocaml/lwt_ppx
+}
+
+_react() {
+ pkgdesc="$pkgdesc (for FRP)"
+
+ amove usr/lib/ocaml/lwt_react
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+42e629920783428673b99c9d7a639237c9e6b35079b5d907bc67e7ea506acf9edadc48cec580bdcfd2410ed9412bf5e6bcc8b09de2fa7d35ce1490973d05ddd1 lwt-5.7.0.tar.gz
+"
diff --git a/testing/ocaml-lwt_log/APKBUILD b/testing/ocaml-lwt_log/APKBUILD
new file mode 100644
index 00000000000..002c445b700
--- /dev/null
+++ b/testing/ocaml-lwt_log/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-lwt_log
+_pkgname=lwt_log
+pkgver=1.1.1
+pkgrel=5
+pkgdesc="Lwt-friendly logger"
+url="https://github.com/ocsigen/lwt_log"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.0-or-later"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-lwt-dev"
+makedepends="$depends_dev dune ocaml"
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocsigen/lwt_log/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+df3d171a7c72f37e96b756d252ab586767df9c13e01500faf13d4b2cee936b0602fd7c725c03db488d3737d8d92300af103d395a926dc654a2c44a5d6068f24a ocaml-lwt_log-1.1.1.tar.gz
+"
diff --git a/testing/ocaml-markup/APKBUILD b/testing/ocaml-markup/APKBUILD
new file mode 100644
index 00000000000..5e10202d1cc
--- /dev/null
+++ b/testing/ocaml-markup/APKBUILD
@@ -0,0 +1,99 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-markup
+_pkgname=markup.ml
+pkgver=1.0.3
+pkgrel=3
+pkgdesc="Error-recovering functional HTML5 and XML parsers and writers for OCaml"
+url="https://aantron.github.io/markup.ml"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+checkdepends="ocaml-result-dev ocaml-ounit-dev"
+makedepends="
+ dune
+ ocaml
+ ocaml-bisect_ppx-dev
+ ocaml-compiler-libs
+ ocaml-compiler-libs-repackaged-dev
+ ocaml-ppx_derivers-dev
+ ocaml-ppxlib-dev
+ ocaml-sexplib0-dev
+ ocaml-seq-dev
+ ocaml-stdlib-shims
+ ocaml-uutf-dev
+ ocaml-lwt-dev
+ ocaml-ocplib-endian-dev
+ ocaml-mmap-dev
+ ocaml-bigarray-compat-dev
+ "
+provides="$pkgname-lwt=$pkgver-r$pkgrel"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/aantron/markup.ml/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+ provides="$pkgname-lwt-dev=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+1bb030fa2d79f7a7ac2d04c07c72a39e83620757b1d7d8a33eea1ec9b4c32883a67de45d1eea9bfa6533ae8076009fab9af5f180ad2be9c1fef66e3e5937048a ocaml-markup-1.0.3.tar.gz
+"
diff --git a/testing/ocaml-menhir/APKBUILD b/testing/ocaml-menhir/APKBUILD
new file mode 100644
index 00000000000..6a98029c8d9
--- /dev/null
+++ b/testing/ocaml-menhir/APKBUILD
@@ -0,0 +1,76 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-menhir
+_pkgname=menhir
+# NOTE: Check supported version in Reason before upgrading!
+pkgver=20220210
+_commit=4f8151679e73cdfe598c42220ae869f904dfaa9a
+pkgrel=2
+pkgdesc="LR(1) parser generator for OCaml"
+url="http://gallium.inria.fr/~fpottier/menhir/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="GPL-2.0-only"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ dune
+ ocaml
+ ocaml-findlib
+ ocaml-ocamlbuild-dev
+ ocamlbuild
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.inria.fr/fpottier/menhir/-/archive/$pkgver/archive.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver-$_commit"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ mkdir -vp "$pkgdir"/usr/share
+ mv -v "$pkgdir"/usr/man "$pkgdir"/usr/share/
+}
+
+dev() {
+ pkgdesc="$pkgdesc (development files)"
+ license="LGPL-2.0-only-WITH-linking-exception"
+
+ amove usr/lib/ocaml
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+3063fec1d8b9fe092c8461b0689d426c7fe381a2bf3fd258dc42ceecca1719d32efbb8a18d94ada5555c38175ea352da3adbb239fdbcbcf52c3a5c85a4d9586f ocaml-menhir-20220210.tar.gz
+"
diff --git a/testing/ocaml-merlin-extend/APKBUILD b/testing/ocaml-merlin-extend/APKBUILD
new file mode 100644
index 00000000000..00e66758dc6
--- /dev/null
+++ b/testing/ocaml-merlin-extend/APKBUILD
@@ -0,0 +1,86 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-merlin-extend
+_pkgname=merlin-extend
+pkgver=0.6.1
+pkgrel=2
+pkgdesc="SDK to extend Merlin"
+url="https://github.com/let-def/merlin-extend"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ dune
+ ocaml
+ ocaml-compiler-libs
+ ocaml-cppo
+ ocaml-findlib
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/let-def/merlin-extend/releases/download/v$pkgver/merlin-extend-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+631fc96aab2f35e12a078c9b4907ca7b0db9f1e3a4026040e6c23b82e0171c256a89fb5d4c887f1d156eb9e3152783cdf7a546b2496051007a1bcf5777417396 ocaml-merlin-extend-0.6.1.tar.bz2
+"
diff --git a/testing/ocaml-metrics/APKBUILD b/testing/ocaml-metrics/APKBUILD
new file mode 100644
index 00000000000..1ba361924fe
--- /dev/null
+++ b/testing/ocaml-metrics/APKBUILD
@@ -0,0 +1,87 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-metrics
+_pkgname=metrics
+pkgver=0.4.0
+pkgrel=3
+pkgdesc="Metrics infrastructure for OCaml"
+url="https://github.com/mirage/metrics"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-lwt-dev
+ ocaml-mtime-dev
+ ocaml-uuidm-dev
+ ocaml-fmt-dev
+ ocaml-duration-dev
+ ocaml-logs-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/metrics/releases/download/v$pkgver/metrics-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+00b271b74b7081b2fe202f402c9be6fef70da7241ee82a82b7a52329aad7c1d73c0eb7ee579a20a08c0e54f546351104dd822052624654ecbfc1c33d067656fa ocaml-metrics-0.4.0.tar.bz2
+"
diff --git a/testing/ocaml-mew/APKBUILD b/testing/ocaml-mew/APKBUILD
new file mode 100644
index 00000000000..0c19eb64994
--- /dev/null
+++ b/testing/ocaml-mew/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mew
+_pkgname=mew
+pkgver=0.1.0
+pkgrel=3
+pkgdesc="Modal editing witch"
+url="https://github.com/kandu/mew"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-trie-dev"
+makedepends="$depends_dev dune ocaml"
+options="!check" # needs ppx_expect
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kandu/mew/archive/$pkgver.tar.gz
+ use-built-in-result-lib.patch
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+77a68f6dc9f3edc729384d59247a29f32f969dc6d987ed2e6c88b9a64b655822dafa9c3cb424bf40e6cf9ed20cddf9c708738872db245f14a711770e8e938db3 ocaml-mew-0.1.0.tar.gz
+b8bbfd9fc9281ad4463d060ba7941ed09516fb66a2b751213cd70094070e585f039bee0235012661eabfa28ba52ca011139c5def1457394bbe5fb9fb41e3d0b8 use-built-in-result-lib.patch
+"
diff --git a/testing/ocaml-mew/use-built-in-result-lib.patch b/testing/ocaml-mew/use-built-in-result-lib.patch
new file mode 100644
index 00000000000..3dc6cb11d34
--- /dev/null
+++ b/testing/ocaml-mew/use-built-in-result-lib.patch
@@ -0,0 +1,9 @@
+--- a/src/dune
++++ b/src/dune
+@@ -1,5 +1,5 @@
+ (library
+ (name mew)
+ (public_name mew)
+- (libraries result trie)
++ (libraries trie)
+ (flags (:standard -safe-string)))
diff --git a/testing/ocaml-mew_vi/APKBUILD b/testing/ocaml-mew_vi/APKBUILD
new file mode 100644
index 00000000000..acb72641993
--- /dev/null
+++ b/testing/ocaml-mew_vi/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mew_vi
+_pkgname=mew_vi
+pkgver=0.5.0
+pkgrel=3
+pkgdesc="Modal editing witch (VI interpreter)"
+url="https://github.com/kandu/mew_vi"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-mew-dev ocaml-react-dev"
+makedepends="$depends_dev dune ocaml"
+options="!check" # needs ppx_expect
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kandu/mew_vi/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f6ee1375ceee60ccae1799d07a8bc55684fdbffc2275147ef19cf3c7d242663764e6630b9423287a78efacba17f410971e3fc397d202effb331f94dc00797eb0 ocaml-mew_vi-0.5.0.tar.gz
+"
diff --git a/testing/ocaml-mikmatch/APKBUILD b/testing/ocaml-mikmatch/APKBUILD
new file mode 100644
index 00000000000..bebef618e2d
--- /dev/null
+++ b/testing/ocaml-mikmatch/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mikmatch
+_pkgname=mikmatch
+pkgver=1.0.9
+pkgrel=2
+pkgdesc="OCaml syntax extension for regexps"
+url="https://mjambon.github.io/mjambon2016/micmatch.html"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends="ocaml-tophide"
+makedepends="
+ coreutils
+ ocaml
+ ocaml-camlp4-dev
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-pcre-dev
+ "
+options="!check"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mjambon/mikmatch/releases/download/v$pkgver/mikmatch-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ make -j1
+}
+
+package() {
+ export OCAMLFIND_DESTDIR="$pkgdir"/usr/lib/ocaml
+ mkdir -vp "$OCAMLFIND_DESTDIR"
+ make install
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+dcf62f67b01f039e0510446267f3d4b965daa6507631da71c8562f7eeedebf9859403d0be7a2e217365af95bb818d05de38ab4987d900a4050a1c5403a66fa5c ocaml-mikmatch-1.0.9.tar.gz
+"
diff --git a/testing/ocaml-mirage-clock/APKBUILD b/testing/ocaml-mirage-clock/APKBUILD
new file mode 100644
index 00000000000..6bfa659f66e
--- /dev/null
+++ b/testing/ocaml-mirage-clock/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mirage-clock
+_pkgname=mirage-clock
+pkgver=4.2.0
+pkgrel=2
+pkgdesc="Libraries and module types for portable clocks"
+url="https://github.com/mirage/mirage-clock"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml dune-configurator"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-clock/releases/download/v$pkgver/mirage-clock-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+05a359dc8400d4ca200ff255dbd030acd33d2c4acb5020838f772c02cdb5f243f3dbafbc43a8cd51e6b5923a140f84c9e7ea25b2c0fa277bb68b996190d36e3b ocaml-mirage-clock-4.2.0.tar.bz2
+"
diff --git a/testing/ocaml-mirage-crypto/APKBUILD b/testing/ocaml-mirage-crypto/APKBUILD
new file mode 100644
index 00000000000..781de27360a
--- /dev/null
+++ b/testing/ocaml-mirage-crypto/APKBUILD
@@ -0,0 +1,91 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mirage-crypto
+_pkgname=mirage-crypto
+pkgver=0.10.6
+pkgrel=3
+pkgdesc="Simple symmetric cryptography for the modern age"
+url="https://github.com/mirage/mirage-crypto"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+# ocaml-zarith is not separated into a -dev subpackage
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-duration-dev
+ ocaml-eqaf-dev
+ ocaml-logs-dev
+ ocaml-mtime-dev
+ ocaml-zarith
+ "
+makedepends="$depends_dev dune dune-configurator ocaml"
+checkdepends="ocaml-ounit2-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-crypto/releases/download/v$pkgver/mirage-crypto-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build \
+ -p mirage-crypto,mirage-crypto-ec,mirage-crypto-pk,mirage-crypto-rng \
+ --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ mirage-crypto mirage-crypto-ec mirage-crypto-pk mirage-crypto-rng
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+870b7d0d32acde970afcd3fac2cb51131ac74bb20c887d07ddfccd239467a5dc8b700adf463427fa916393c503f106feb733cba5bf4b9d1f8eb57f52b5af9f9c ocaml-mirage-crypto-0.10.6.tar.bz2
+"
diff --git a/testing/ocaml-mirage-flow/APKBUILD b/testing/ocaml-mirage-flow/APKBUILD
new file mode 100644
index 00000000000..78e0bcdf8f1
--- /dev/null
+++ b/testing/ocaml-mirage-flow/APKBUILD
@@ -0,0 +1,86 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mirage-flow
+_pkgname=mirage-flow
+pkgver=3.0.0
+pkgrel=3
+pkgdesc="Flow implementations and combinators for MirageOS"
+url="https://github.com/mirage/mirage-flow"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-fmt-dev
+ ocaml-lwt-dev
+ ocaml-logs-dev
+ ocaml-mirage-clock-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-flow/releases/download/v$pkgver/mirage-flow-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+2aeb397799621bc0ea2485b68058949c99b3da8d454939d594a9b2d39ef47aa2c16489f06adfa2dea3b34fd15e60a23abc6b8e214dfbc8b7da2e958de7c36b57 ocaml-mirage-flow-3.0.0.tar.bz2
+"
diff --git a/testing/ocaml-mirage-kv/APKBUILD b/testing/ocaml-mirage-kv/APKBUILD
new file mode 100644
index 00000000000..5389fb98990
--- /dev/null
+++ b/testing/ocaml-mirage-kv/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mirage-kv
+_pkgname=mirage-kv
+pkgver=4.0.1
+pkgrel=3
+pkgdesc="MirageOS signatures for key/value devices"
+url="https://github.com/mirage/mirage-kv"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-fmt-dev ocaml-lwt-dev"
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-kv/releases/download/v$pkgver/mirage-kv-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+e6ac8b8638eac760d245edb0159366c313ff9f5986fd310557fa6bec6f9fb87a3bb59d73065b42d2a798779d7b41cb81da235624db8e836f44801c4ae20c0293 ocaml-mirage-kv-4.0.1.tar.bz2
+"
diff --git a/testing/ocaml-mirage-net/APKBUILD b/testing/ocaml-mirage-net/APKBUILD
new file mode 100644
index 00000000000..f06cbebc51d
--- /dev/null
+++ b/testing/ocaml-mirage-net/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mirage-net
+_pkgname=mirage-net
+pkgver=4.0.0
+pkgrel=3
+pkgdesc="Network signatures for MirageOS"
+url="https://github.com/mirage/mirage-net"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-lwt-dev
+ ocaml-ipaddr-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-net/releases/download/v$pkgver/mirage-net-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+52064dc704ebd0d305fd234b6d89fc313d5a80016d8875ef93212a1962ad8b1f332f7b0338244afbb2d2f207a28d476e7d7639be9dc607d95145afee7fccc483 ocaml-mirage-net-4.0.0.tar.bz2
+"
diff --git a/testing/ocaml-mirage-profile/APKBUILD b/testing/ocaml-mirage-profile/APKBUILD
new file mode 100644
index 00000000000..081d2123a41
--- /dev/null
+++ b/testing/ocaml-mirage-profile/APKBUILD
@@ -0,0 +1,87 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mirage-profile
+_pkgname=mirage-profile
+pkgver=0.9.1
+pkgrel=3
+pkgdesc="Collect runtime profiling information in CTF format"
+url="https://github.com/mirage/mirage-profile"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-lwt-dev
+ ocaml-ocplib-endian-dev
+ ocaml-mtime-dev
+ "
+makedepends="$depends_dev dune ocaml"
+options="!check" # needs MProf.Trace.Control module
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-profile/releases/download/v$pkgver/mirage-profile-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build \
+ -p mirage-profile,mirage-profile-unix \
+ --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ mirage-profile mirage-profile-unix
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+23cc4a2a62f5cc05b48d626bd6c8171a442fd46490da6810b1c507fcd7661c7fcd901d8328cddf687af4144136bf0d34b63f8484e32550077ab63d23e6eaea2b ocaml-mirage-profile-0.9.1.tar.bz2
+"
diff --git a/testing/ocaml-mirage-random/APKBUILD b/testing/ocaml-mirage-random/APKBUILD
new file mode 100644
index 00000000000..81207eedb38
--- /dev/null
+++ b/testing/ocaml-mirage-random/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mirage-random
+_pkgname=mirage-random
+pkgver=3.0.0
+pkgrel=3
+pkgdesc="Random-related devices for MirageOS"
+url="https://github.com/mirage/mirage-random"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-cstruct-dev"
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-random/releases/download/v$pkgver/mirage-random-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+5d16855740e04f8efe5bcd5a7596ccffb5b927a616c5e6de4a5f5bd96e2f9f8f3b030d8b216156cac897d49a64b0f5bd7f89c30c787c3d9be63ab952c9984160 ocaml-mirage-random-3.0.0.tar.bz2
+"
diff --git a/testing/ocaml-mirage-time/APKBUILD b/testing/ocaml-mirage-time/APKBUILD
new file mode 100644
index 00000000000..2a895232083
--- /dev/null
+++ b/testing/ocaml-mirage-time/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mirage-time
+_pkgname=mirage-time
+pkgver=3.0.0
+pkgrel=4
+pkgdesc="Time operations for MirageOS"
+url="https://github.com/mirage/mirage-time"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-lwt-dev ocaml-duration-dev"
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-time/releases/download/v$pkgver/mirage-time-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+066f9271c7871eb754cf9b3f8853f4861ce80d1cc31eb9a2384f3cd62441e15aa7636d19cc3bee6d56219fa5653b9f7da7d9b9d659fd1f7cd17326e7ba1715eb ocaml-mirage-time-3.0.0.tar.bz2
+"
diff --git a/testing/ocaml-mmap/APKBUILD b/testing/ocaml-mmap/APKBUILD
new file mode 100644
index 00000000000..169af019aac
--- /dev/null
+++ b/testing/ocaml-mmap/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mmap
+_pkgname=mmap
+pkgver=1.2.0
+pkgrel=3
+pkgdesc="File mapping functionality"
+url="https://github.com/mirage/mmap"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-only WITH OCaml-LGPL-linking-exception"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-bigarray-compat-dev"
+makedepends="$depends_dev dune ocaml"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mirage/mmap/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+cef6c37953d62f2f7472147a03707d60401d92aaf4ddb2dbaa697ee4eee252f70d8068e8fe5c6a36e005d4cc738f61d2c5bea12d844f1e3a696fef2f6546d59c ocaml-mmap-1.2.0.tar.gz
+"
diff --git a/testing/ocaml-mtime/APKBUILD b/testing/ocaml-mtime/APKBUILD
new file mode 100644
index 00000000000..fe65f63dfe4
--- /dev/null
+++ b/testing/ocaml-mtime/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-mtime
+_pkgname=mtime
+pkgver=1.4.0
+pkgrel=2
+pkgdesc="Monotonic wall-clock time for OCaml"
+url="https://erratique.ch/software/mtime"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ cmd:opam-installer
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/mtime/releases/mtime-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+0492fa5f5187b909fe2b0550363c7dcb8cffef963d51072272ef3d876b51e1ddf8de4c4e221cffb0144658fccf6a0dc584a5c8094a4b2208156e43bad5b269d4 ocaml-mtime-1.4.0.tar.bz2
+"
diff --git a/testing/ocaml-notty/APKBUILD b/testing/ocaml-notty/APKBUILD
new file mode 100644
index 00000000000..1e588d0fb42
--- /dev/null
+++ b/testing/ocaml-notty/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-notty
+_pkgname=notty
+pkgver=0.2.3
+pkgrel=0
+pkgdesc="Declarative terminal library for OCaml"
+url="https://github.com/pqwy/notty"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-compiler-libs
+ ocaml-lwt-dev
+ ocaml-uutf-dev
+ "
+makedepends="$depends_dev dune ocaml ocaml-cppo"
+subpackages="$pkgname-dev"
+source="$_pkgname-$pkgver.tar.bz2::https://github.com/pqwy/notty/releases/download/v$pkgver/notty-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+6e21d44fe39f3d80884b87635bebae55cb2b931ef74f9184ba4d74cc3e51cb0b3e976c3b6dc61d377288504e8bfabe21acdc1069eacb30df1fbf6686b80f7c6b notty-0.2.3.tar.bz2
+"
diff --git a/testing/ocaml-num/APKBUILD b/testing/ocaml-num/APKBUILD
index f937494c38c..38c6f0a7fec 100644
--- a/testing/ocaml-num/APKBUILD
+++ b/testing/ocaml-num/APKBUILD
@@ -2,19 +2,23 @@
# Maintainer: alpine-mips-patches <info@mobile-stream.com>
pkgname=ocaml-num
_pkgname=num
-pkgver=1.3
-pkgrel=0
+pkgver=1.4
+pkgrel=3
pkgdesc="Arbitray-precision rational arithmetic for OCaml"
url="https://github.com/ocaml/num"
-arch="aarch64 ppc64le x86_64" # reflect ocaml aport platforms
-license="LGPL-2.1-or-later-WITH-linking-exception-AND-MIT"
-depends="ocaml-runtime"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-only WITH OCaml-LGPL-linking-exception AND MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="ocaml ocaml-compiler-libs ocaml-findlib"
subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/$_pkgname/archive/v$pkgver.tar.gz
- "
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/$_pkgname/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+# 32bit archs
+case "$CARCH" in
+armv7|armhf|x86) options="$options textrels" ;;
+esac
+
build() {
make
}
@@ -41,14 +45,32 @@ package() {
}
dev() {
- depends="$pkgname=$pkgver-r$pkgrel"
- pkgdesc="$pkgdesc (development files)"
-
- local _numdir="usr/lib/ocaml/$_pkgname"
- mkdir -p "$subpkgdir/$_numdir"
- for p in '*.a' '*.cmx' '*.cmxa' '*.mli'; do
- mv "$pkgdir/$_numdir/"$p "$subpkgdir/$_numdir"
- done
+ default_dev
+
+ amove usr/lib/ocaml/$_pkgname/*.mli
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="c88310f8c45700990095e6b2e9abf24c27347711b9abfd1dde75e540fbbfc6a365e6713bd69f66009af305728fcb36dc61eb37fdd0be7d73824b0e92fbe8c031 ocaml-num-1.3.tar.gz"
+sha512sums="
+0cc9be8ad95704bb683b4bf6698bada1ee9a40dc05924b72adc7b969685c33eeb68ccf174cc09f6a228c48c18fe94af06f28bebc086a24973a066da620db8e6f ocaml-num-1.4.tar.gz
+"
diff --git a/testing/ocaml-obuild/APKBUILD b/testing/ocaml-obuild/APKBUILD
index db92afb0aa0..2de2c398b31 100644
--- a/testing/ocaml-obuild/APKBUILD
+++ b/testing/ocaml-obuild/APKBUILD
@@ -2,17 +2,21 @@
# Maintainer: Andy Li <andy@onthewings.net>
pkgname=ocaml-obuild
_pkgname=obuild
-pkgver=0.1.10
+pkgver=0.1.11
pkgrel=0
pkgdesc="Simple package build system for ocaml"
url="https://github.com/ocaml-obuild/obuild"
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64 !riscv64" # limited by ocaml aport
+arch="all !riscv64 !loongarch64" # ocaml
license="BSD-2-Clause"
-depends="ocaml-runtime"
-makedepends="ocaml ocaml-findlib opam"
+makedepends="bash ocaml ocaml-findlib cmd:opam-installer"
options="!check" # no tests provided
-source="$pkgname-$pkgver.tar.gz::$url/archive/obuild-v$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-obuild-v$pkgver"
+source="https://github.com/ocaml-obuild/obuild/archive/obuild-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$_pkgname-v$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
./bootstrap
@@ -20,11 +24,32 @@ build() {
package() {
opam-installer -i \
- --prefix="$pkgdir/usr" \
- --libdir="$pkgdir/usr/lib/ocaml" \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir"/usr/lib/ocaml \
$_pkgname.install
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
- rm -rf "$builddir/dist"
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="23667213ec7de6610fd5b3c7e0c5f98c081d0244619ed0c833ad13647b9a40561f21e862574488454993eab84a8467f4b2caa3288293451bb54f08b92d280175 ocaml-obuild-0.1.10.tar.gz"
+sha512sums="
+855f47e31bebacb2adcd0ed31e9d50f1f4803f91828afc192d306dc2cc28adc18dd91d0bf40f8ef814ac85822a20db16dce87a0bd6edf0ff9037b8dc039abff3 obuild-v0.1.11.tar.gz
+"
diff --git a/testing/ocaml-ocf/APKBUILD b/testing/ocaml-ocf/APKBUILD
new file mode 100644
index 00000000000..4e3c574b8ca
--- /dev/null
+++ b/testing/ocaml-ocf/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ocf
+_pkgname=ocf
+pkgver=0.8.0
+pkgrel=3
+pkgdesc="OCaml library to read and write configuration files in JSON syntax"
+url="https://zoggy.frama.io/ocf/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-3.0-only"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-ppxlib-dev
+ ocaml-yojson-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://framagit.org/zoggy/ocf/-/archive/$pkgver/ocf-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+b9b1ce82ff370222b74429b28748c99b5b78c657e8c8b273d404ba9c17df2cd48274aad4d16b4748ecdbd1402cb8fad4136122cdf617b8ca1d6256a09efe2161 ocaml-ocf-0.8.0.tar.gz
+"
diff --git a/testing/ocaml-ocplib-endian/APKBUILD b/testing/ocaml-ocplib-endian/APKBUILD
new file mode 100644
index 00000000000..ed95e33dd13
--- /dev/null
+++ b/testing/ocaml-ocplib-endian/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ocplib-endian
+_pkgname=ocplib-endian
+pkgver=1.2
+pkgrel=3
+pkgdesc="Optimised functions to read and write int16/32/64 from strings and bigarrays"
+url="https://github.com/OCamlPro/ocplib-endian"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="$depends_dev dune ocaml ocaml-cppo"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OCamlPro/ocplib-endian/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+2e70be5f3d6e377485c60664a0e235c3b9b24a8d6b6a03895d092c6e40d53810bfe1f292ee69e5181ce6daa8a582bfe3d59f3af889f417134f658812be5b8b85 ocaml-ocplib-endian-1.2.tar.gz
+"
diff --git a/testing/ocaml-omake/APKBUILD b/testing/ocaml-omake/APKBUILD
new file mode 100644
index 00000000000..72dad33b4f3
--- /dev/null
+++ b/testing/ocaml-omake/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-omake
+_pkgname=omake
+pkgver=0.10.6
+pkgrel=0
+pkgdesc="Build system designed for scalability and portability"
+url="http://projects.camlcity.org/projects/omake.html"
+arch="all !riscv64 !loongarch64" # ocaml
+license="GPL-2.0-only"
+makedepends="ocaml ocaml-findlib"
+options="!check"
+subpackages="$pkgname-doc"
+source="http://download.camlcity.org/download/omake-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+build() {
+ ./configure -prefix /usr
+ make
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+
+ mkdir -vp "$pkgdir"/usr/share/
+ mv -v "$pkgdir"/usr/man "$pkgdir"/usr/share/
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+e27e6a580b1b4c04c6ae9021d529ab5d9196932e6fd1f441038d1e31e22e2fd817572eca475818a8a9cfb9f9f2487fef57b88ec41c9f0b81a5b42a6954e90a2d omake-0.10.6.tar.gz
+"
diff --git a/testing/ocaml-omod/APKBUILD b/testing/ocaml-omod/APKBUILD
new file mode 100644
index 00000000000..01f6b2d1071
--- /dev/null
+++ b/testing/ocaml-omod/APKBUILD
@@ -0,0 +1,94 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-omod
+_pkgname=omod
+pkgver=0.0.3
+pkgrel=3
+pkgdesc="Lookup and load installed OCaml modules"
+url="https://erratique.ch/software/omod"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends="$pkgname-bin"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ ocaml-cmdliner-dev
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-bin $pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/omod/releases/omod-$pkgver.tbz
+ fix-cache-dir.patch
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --lib-dir "$(ocamlc -where)"
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+bin() {
+ pkgdesc="$pkgdesc (standalone binary)"
+ depends="cmd:ocamlc"
+ amove usr/bin/omod
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+4f53b8cdd054dc1a6813427452a91294e0bbcfefe948fc1caec47be136dbcecf13112bf2b620fa2f667592b04b28df74e3bf012ea0fb0038c1da4217155ca626 ocaml-omod-0.0.3.tar.bz2
+a53e77bc22f6b8a45b664973c648234155c5b3e1cd3526ac0713e91cf6d40bede7e8f084684203c027495c70d7ccf8ebf678a4cbe13e61f22eaa5444a2a1987d fix-cache-dir.patch
+"
diff --git a/testing/ocaml-omod/fix-cache-dir.patch b/testing/ocaml-omod/fix-cache-dir.patch
new file mode 100644
index 00000000000..08e3ca36480
--- /dev/null
+++ b/testing/ocaml-omod/fix-cache-dir.patch
@@ -0,0 +1,13 @@
+The default of "/usr/var/cache/omod" won't be writable by normal users
+
+--- a/src/omod_support.ml
++++ b/src/omod_support.ml
+@@ -680,7 +680,7 @@
+ let get_cache cache = match cache with
+ | Some l -> l | None ->
+ match get_env cache_env with
+- | Some l -> l | None -> in_prefix_path ("var" / "cache" / "omod")
++ | Some l -> l | None -> (let tmp = Filename.get_temp_dir_name () in try tmp / ".omod-cache-" ^ Unix.getlogin () with _ -> tmp / ".omod-cache")
+
+ type t = { cache : Omod.fpath; libdir : Omod.fpath }
+
diff --git a/testing/ocaml-otr/APKBUILD b/testing/ocaml-otr/APKBUILD
new file mode 100644
index 00000000000..7f44cd86157
--- /dev/null
+++ b/testing/ocaml-otr/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-otr
+_pkgname=otr
+pkgver=0.3.10
+pkgrel=2
+pkgdesc="Off the record implementation purely in OCaml"
+url="https://github.com/hannesm/ocaml-otr"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-astring-dev
+ ocaml-base64-dev
+ ocaml-cstruct-dev
+ ocaml-mirage-crypto-dev
+ ocaml-sexplib0-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/hannesm/ocaml-otr/releases/download/v$pkgver/otr-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+24eee63e54c29e27d90718fe764178d5ee8b9fa599c7ca25b042e57b2442501089c51f11656315949f60e0362f86f743597c74dd968c4d3472e18c4def5179ba ocaml-otr-0.3.10.tar.bz2
+"
diff --git a/testing/ocaml-ounit/APKBUILD b/testing/ocaml-ounit/APKBUILD
new file mode 100644
index 00000000000..dcc971f3712
--- /dev/null
+++ b/testing/ocaml-ounit/APKBUILD
@@ -0,0 +1,89 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: omni <omni+alpine@hack.org>
+pkgname=ocaml-ounit
+_pkgname=ounit
+pkgver=2.2.7
+pkgrel=3
+pkgdesc="A unit test framework for OCaml"
+url="https://github.com/gildor478/ounit"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-lwt-dev
+ ocaml-seq-dev
+ ocaml-stdlib-shims
+ "
+makedepends="$depends_dev dune ocaml ocaml-findlib"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gildor478/ounit/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build -p ounit,ounit2 --verbose
+}
+
+check() {
+ dune runtest -p ounit,ounit2 --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ ounit ounit2
+ rm -Rf "$pkgdir"/.omit
+
+ # Install oUnit transition package
+ export OCAMLFIND_DESTDIR="$pkgdir/$_ocamldir"
+ export OCAMLFIND_LDCONF=ignore
+ mkdir -vp "$OCAMLFIND_DESTDIR"
+ make install-ounit version=$pkgver
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+b2cefed53127f724c099391eefe1bce3b43cad5d6b629b5f1e9446b58892639de758f5dbcbd5efb6c409ce77ed01d06693989a3ba909cf79c36c2554c1473396 ocaml-ounit-2.2.7.tar.gz
+"
diff --git a/testing/ocaml-parsexp/APKBUILD b/testing/ocaml-parsexp/APKBUILD
new file mode 100644
index 00000000000..f303215ff73
--- /dev/null
+++ b/testing/ocaml-parsexp/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-parsexp
+_pkgname=parsexp
+pkgver=0.16.0
+pkgrel=0
+pkgdesc="S-expression parsing library"
+url="https://github.com/janestreet/parsexp"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml ocaml-sexplib0-dev"
+subpackages="$pkgname-dev"
+source="https://ocaml.janestreet.com/ocaml-core/v${pkgver%.*}/files/parsexp-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+3308c7cda8a410d1d31b0abbebb549317fd4749fa6da65742576ac5563a8a92a4f2a3c97379546eaf1a1d0e5c71493d5a98a6b033431c48fccd09375d4d939fb parsexp-v0.16.0.tar.gz
+"
diff --git a/testing/ocaml-pbkdf/APKBUILD b/testing/ocaml-pbkdf/APKBUILD
new file mode 100644
index 00000000000..fe9445379d7
--- /dev/null
+++ b/testing/ocaml-pbkdf/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-pbkdf
+pkgver=1.2.0
+pkgrel=2
+pkgdesc="Password based key derivation functions (PBKDF) from PKCS#5"
+url="https://github.com/abeaumont/ocaml-pbkdf"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-mirage-crypto-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/abeaumont/ocaml-pbkdf/archive/$pkgver.tar.gz"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+d6f7d5efd761b87dd420ddcf97c2f9d4402dcc81d65cd1f4d81039b70c4d8c1e803bbaf4251482de8de7076da9f40b48c7eb1684e31e7a316deb5036c192bd3c ocaml-pbkdf-1.2.0.tar.gz
+"
diff --git a/testing/ocaml-pcre/APKBUILD b/testing/ocaml-pcre/APKBUILD
new file mode 100644
index 00000000000..c99134c1c23
--- /dev/null
+++ b/testing/ocaml-pcre/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-pcre
+_pkgname=pcre
+pkgver=7.5.0
+pkgrel=4
+pkgdesc="OCaml bindings to the Perl Compatibility Regular Expressions (PCRE) library"
+url="https://mmottl.github.io/pcre-ocaml"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+depends_dev="$pkgname=$pkgver-r$pkgrel pcre-dev"
+makedepends="$depends_dev dune dune-configurator ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mmottl/pcre-ocaml/releases/download/$pkgver/pcre-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+be60f13ddb6bbfe20e30ca5d92434d85e1d1371479e1e2c725588af83fcc9366ed0435021b6a800c20336ac521f2134c767420136438684656a44ac1f9924be4 ocaml-pcre-7.5.0.tar.bz2
+"
diff --git a/testing/ocaml-ppx_derivers/APKBUILD b/testing/ocaml-ppx_derivers/APKBUILD
new file mode 100644
index 00000000000..0183b0cfea4
--- /dev/null
+++ b/testing/ocaml-ppx_derivers/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ppx_derivers
+_pkgname=ppx_derivers
+pkgver=1.2.1
+pkgrel=2
+pkgdesc="Shared [@@deriving] plugins registry"
+url="https://github.com/ocaml-ppx/ppx_derivers"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml ocaml-findlib"
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml-ppx/ppx_derivers/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+ef0796fe2592e653d34ba01d206d4b507429882a2aaadcb89c7f807c33a417f2871b0c94ade5c92aefd9487daa582e19d88ad5a5eaa631e8162ae12f4a0756c6 ocaml-ppx_derivers-1.2.1.tar.gz
+"
diff --git a/testing/ocaml-ppx_deriving/APKBUILD b/testing/ocaml-ppx_deriving/APKBUILD
new file mode 100644
index 00000000000..cf82ad49131
--- /dev/null
+++ b/testing/ocaml-ppx_deriving/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ppx_deriving
+_pkgname=ppx_deriving
+pkgver=5.3.0
+pkgrel=0
+pkgdesc="Type-driven code generation for OCaml"
+url="https://github.com/ocaml-ppx/ppx_deriving"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-ppxlib-dev ocaml-result-dev"
+makedepends="$depends_dev dune ocaml ocaml-cppo ocaml-findlib-dev"
+checkdepends="ocaml-ounit-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$_pkgname-$pkgver.tar.bz2::https://github.com/ocaml-ppx/ppx_deriving/releases/download/$pkgver/ppx_deriving-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+9bed9b00accf9a385f1f60ac4099bcab3c9a06a09b5cb11ecc378f7abde72caa53ed1ed7b92dd9c4479888b0f0af03f33f42126644c85a1b33c5665ec3c8ba9b ppx_deriving-5.3.0.tar.bz2
+"
diff --git a/testing/ocaml-ppx_sexp_conv/APKBUILD b/testing/ocaml-ppx_sexp_conv/APKBUILD
new file mode 100644
index 00000000000..4b94b427778
--- /dev/null
+++ b/testing/ocaml-ppx_sexp_conv/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ppx_sexp_conv
+_pkgname=ppx_sexp_conv
+pkgver=0.16.0
+pkgrel=0
+pkgdesc="[@@deriving] plugin to generate S-expression conversion functions"
+url="https://github.com/janestreet/ppx_sexp_conv"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-base-dev
+ ocaml-ppxlib-dev
+ ocaml-sexplib0-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="https://ocaml.janestreet.com/ocaml-core/v${pkgver%.*}/files/ppx_sexp_conv-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+898549b8fdac328bf4583b3ee744b7fed59bb22ebcf9d5afe4268985c60f5d7b04881a7e77fc2940776afb21669e96411a244b5e4902af737c673f0cce63bb55 ppx_sexp_conv-v0.16.0.tar.gz
+"
diff --git a/testing/ocaml-ppxlib/APKBUILD b/testing/ocaml-ppxlib/APKBUILD
new file mode 100644
index 00000000000..3a9c8c89ed7
--- /dev/null
+++ b/testing/ocaml-ppxlib/APKBUILD
@@ -0,0 +1,91 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ppxlib
+_pkgname=ppxlib
+pkgver=0.32.0
+pkgrel=0
+pkgdesc="Standard library for ppx rewriters"
+url="https://github.com/ocaml-ppx/ppxlib"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-compiler-libs-repackaged-dev
+ ocaml-ppx_derivers-dev
+ ocaml-sexplib0-dev
+ ocaml-stdlib-shims
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="
+ ocaml-base-dev
+ ocaml-cinaps-dev
+ ocaml-findlib
+ ocaml-re-dev
+ ocaml-stdio-dev
+ "
+options="!check"
+subpackages="$pkgname-dev"
+source="$_pkgname-$pkgver.tar.bz2::https://github.com/ocaml-ppx/ppxlib/releases/download/$pkgver/ppxlib-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+73fef8ab8761bfbfde6ae87cc51eaacc5a5c937f0d628a890f0abdb2bffbf073932c25287a9e3baa2a1947c37f3dfa7f83ddd33c440e2e800971015addc97cd2 ppxlib-0.32.0.tar.bz2
+"
diff --git a/testing/ocaml-psq/APKBUILD b/testing/ocaml-psq/APKBUILD
new file mode 100644
index 00000000000..5a6b0aaa443
--- /dev/null
+++ b/testing/ocaml-psq/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-psq
+_pkgname=psq
+pkgver=0.2.0
+pkgrel=2
+pkgdesc="Functional Priority Search Queues"
+url="https://github.com/pqwy/psq"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-seq-dev"
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-qcheck-alcotest-dev ocaml-qcheck-core-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/pqwy/psq/releases/download/v$pkgver/psq-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+0c570c5fc2bb2348b1ec03507abb4f152673a5d8f92c388c4cd5b7fc43a6e8f514007dbf4fb613503c4e8d5c8d3210b24ac37c546c79d94ebdf6b482e5cde024 ocaml-psq-0.2.0.tar.bz2
+"
diff --git a/testing/ocaml-ptime/APKBUILD b/testing/ocaml-ptime/APKBUILD
new file mode 100644
index 00000000000..065b9342d6b
--- /dev/null
+++ b/testing/ocaml-ptime/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-ptime
+_pkgname=ptime
+pkgver=1.0.0
+pkgrel=2
+pkgdesc="POSIX time for OCaml"
+url="https://erratique.ch/software/ptime"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ cmd:opam-installer
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/ptime/releases/ptime-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+df2410d9cc25a33083fe968a584b8fb4d68ad5c077f3356da0a20427e6cd8756a5b946b921e5cf8ed4097f2c506e93345d9dca63b113be644d5a7cc0753d1534 ocaml-ptime-1.0.0.tar.bz2
+"
diff --git a/testing/ocaml-ptmap/APKBUILD b/testing/ocaml-ptmap/APKBUILD
index 8907cb4d1de..f99d3ec1cc3 100644
--- a/testing/ocaml-ptmap/APKBUILD
+++ b/testing/ocaml-ptmap/APKBUILD
@@ -2,43 +2,85 @@
# Maintainer: Andy Li <andy@onthewings.net>
pkgname=ocaml-ptmap
_pkgname=ptmap
-pkgver=2.0.4
-pkgrel=0
+pkgver=2.0.5
+pkgrel=3
pkgdesc="Maps over integers implemented as Patricia trees"
url="https://github.com/backtracking/ptmap"
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64 !riscv64" # limited by ocaml aport
-license="LGPL-2.1-or-later WITH OCaml-linking-exception"
-depends="ocaml-runtime"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
depends_dev="$pkgname=$pkgver-r$pkgrel"
-makedepends="ocaml ocaml-findlib ocaml-obuild ocaml-qtest ocaml-qcheck-dev ocaml-ounit-dev"
+makedepends="
+ dune
+ ocaml
+ ocaml-findlib
+ ocaml-stdlib-shims
+ ocaml-seq-dev
+ "
subpackages="$pkgname-dev"
-options="!check" # no tests provided
-source="$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/backtracking/ptmap/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
build() {
- obuild configure
- obuild build
- obuild build lib-ptmap
+ export OCAMLPATH=/usr/lib/ocaml
+ make all
+}
+
+check() {
+ make test
}
package() {
- obuild install --destdir "$pkgdir/usr/lib/ocaml"
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
- # Remove annotation files and sources.
- rm \
- "$pkgdir"/usr/lib/ocaml/ptmap/*.cmt \
- "$pkgdir"/usr/lib/ocaml/ptmap/*.cmti
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
}
dev() {
default_dev
- mkdir -p "$subpkgdir"/usr/lib/ocaml/ptmap
- mv \
- "$pkgdir"/usr/lib/ocaml/ptmap/*.cmx \
- "$pkgdir"/usr/lib/ocaml/ptmap/*.cmxa \
- "$subpkgdir"/usr/lib/ocaml/ptmap/
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="3f11664f926244a212e2d782d338982826e608463eec22e91cd77350836cbab9d4aed7542fa9c5f3c1df572552a3797a149618ad370d1b47b4e03cf497100356 ocaml-ptmap-2.0.4.tar.gz"
+sha512sums="
+6815ee977cb9a4c5088af8dfb7d8055c8d35870ceb4e95f658fbdc50405495bea75a8755442dc6f7345d2e9021c3b96d14883603759baf267feced9cd5ba5202 ocaml-ptmap-2.0.5.tar.gz
+"
diff --git a/testing/ocaml-qcheck/APKBUILD b/testing/ocaml-qcheck/APKBUILD
index 7d565621b42..38ed0d5627c 100644
--- a/testing/ocaml-qcheck/APKBUILD
+++ b/testing/ocaml-qcheck/APKBUILD
@@ -2,21 +2,29 @@
# Maintainer: Andy Li <andy@onthewings.net>
pkgname=ocaml-qcheck
_pkgname=qcheck
-pkgver=0.12
-pkgrel=1
+pkgver=0.18.1
+pkgrel=3
pkgdesc="QuickCheck inspired property-based testing for OCaml"
url="https://github.com/c-cube/qcheck"
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64 !riscv64" # limited by ocaml aport
+arch="all !riscv64 !loongarch64" # ocaml
license="BSD-2-Clause"
-depends="ocaml-runtime"
depends_dev="$pkgname=$pkgver-r$pkgrel"
-makedepends="dune ocaml ocaml-findlib ocaml-ounit-dev"
+makedepends="dune ocaml ocaml-findlib ocaml-ounit-dev ocaml-seq-dev ocaml-stdlib-shims"
+options="!check" # requires alcotest
subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/c-cube/qcheck/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
build() {
- dune build @install -p qcheck,qcheck-core,qcheck-ounit -j1 --no-buffer --verbose
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build @install \
+ -p qcheck,qcheck-core,qcheck-ounit \
+ --no-buffer --verbose
}
check() {
@@ -24,21 +32,14 @@ check() {
}
package() {
- mkdir -p "$pkgdir"/usr/lib/ocaml
dune install \
--destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
qcheck qcheck-core qcheck-ounit
# There's just a readme and changelog.
rm -Rf "$pkgdir"/usr/doc
-
- # Remove annotation files and sources.
- local path; for path in $(find "$pkgdir"/usr/lib/ocaml \
- -name '*.cmt' \
- -o -name '*.ml')
- do
- rm "$path"
- done
}
dev() {
@@ -46,14 +47,38 @@ dev() {
cd "$pkgdir"
- local path; for path in $(find usr/lib/ocaml \
- -name '*.cmx' \
- -o -name '*.cmxa' \
- -o -name '*.mli')
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
do
- mkdir -p "${path%/*}"
- mv "$path" "$subpkgdir"/${path%/*}/
+ amove "$path"
done
}
-sha512sums="a8b844d66b65fdc8cd1cb2ff1a84801815501559dccac5e4188593f5b294ca318f7de971987ce810b6f7840a292999a98ea8beb1e2c989ee3abd78314fca3ad3 ocaml-qcheck-0.12.tar.gz"
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+6fd5fd4348ed6a48a8f64a466fedd07374eaf23d516b3c250ebad2a32ddbca3ae4ad9c84fe1112858075df46c119cd6550205a4228a553b014d135581f024ded ocaml-qcheck-0.18.1.tar.gz
+"
diff --git a/testing/ocaml-qtest/APKBUILD b/testing/ocaml-qtest/APKBUILD
index 1b0621e2ad3..788f4022353 100644
--- a/testing/ocaml-qtest/APKBUILD
+++ b/testing/ocaml-qtest/APKBUILD
@@ -2,21 +2,26 @@
# Maintainer: Andy Li <andy@onthewings.net>
pkgname=ocaml-qtest
_pkgname=qtest
-pkgver=2.10.1
-pkgrel=0
+pkgver=2.11.2
+pkgrel=3
pkgdesc="Lightweight inline test extraction from comments"
url="https://github.com/vincent-hugot/qtest"
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64 !riscv64" # limited by ocaml aport
+arch="all !riscv64 !loongarch64" # ocaml
license="GPL-3.0-or-later"
-depends="ocaml-runtime ocaml-qcheck"
depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="dune ocaml ocaml-findlib ocaml-qcheck-dev ocaml-ounit-dev"
subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/vincent-hugot/qtest/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
build() {
- dune build @install -p qtest -j1 --no-buffer --verbose
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build @install --no-buffer --verbose
}
check() {
@@ -24,19 +29,13 @@ check() {
}
package() {
- mkdir -p "$pkgdir"/usr/lib/ocaml
- dune install --destdir="$pkgdir"
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
# There's just a README and LICENSE.
rm -Rf "$pkgdir"/usr/doc
-
- # Remove annotation files and sources.
- find "$pkgdir"/usr/lib/ocaml \
- \( \
- -name '*.cmt' \
- -o -name '*.ml' \
- \) \
- -exec rm "{}" \;
}
dev() {
@@ -44,13 +43,38 @@ dev() {
cd "$pkgdir"
- find usr/lib/ocaml \
- \( \
- -name '*.cmx' \
- -o -name '*.cmxa' \
- -o -name '*.mli' \
- \) \
- -exec sh -c 'mkdir -p "$(dirname $1)" && mv "$1" "$subpkgdir/$(dirname $1)/"' _ {} \;
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="838ff1951b8da35f0551b1db4d36a03ad803a57ba8b85816a51e6b1bc2ad7778299a7fd026a062437252b40c0de1c83b6171605b19f01e3874274b2676341bf0 ocaml-qtest-2.10.1.tar.gz"
+sha512sums="
+3edb8471b29c9eb2f6ba11b157abf7ca43ef965d4b1500aaaf1acaeb261972a61c9b104887ada6ca63dc85e06b1d27e34f391885b2fbeb7ea5646323d3be08d0 ocaml-qtest-2.11.2.tar.gz
+"
diff --git a/testing/ocaml-randomconv/APKBUILD b/testing/ocaml-randomconv/APKBUILD
new file mode 100644
index 00000000000..caa5187691a
--- /dev/null
+++ b/testing/ocaml-randomconv/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-randomconv
+_pkgname=randomconv
+pkgver=0.1.3
+pkgrel=2
+pkgdesc="Convert from random byte vectors (Cstruct.t) to random native numbers"
+url="https://github.com/hannesm/randomconv"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-cstruct-dev"
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/hannesm/randomconv/releases/download/v$pkgver/randomconv-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f5186f7669a6b1b943442fdcfcdb37cf6c8199a1c644ed815f351f50428b9b7e1e5408ff4a0fcdfb093451b5237e48602af60f87a1b93e49897576c8aa2cd23f ocaml-randomconv-0.1.3.tar.bz2
+"
diff --git a/testing/ocaml-re/APKBUILD b/testing/ocaml-re/APKBUILD
new file mode 100644
index 00000000000..f055d15b97e
--- /dev/null
+++ b/testing/ocaml-re/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-re
+_pkgname=re
+pkgver=1.11.0
+pkgrel=1
+pkgdesc="Pure OCaml regular expressions, with support for Perl and POSIX-style strings"
+url="https://github.com/ocaml/ocaml-re"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-seq-dev"
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-ounit-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/ocaml/ocaml-re/releases/download/$pkgver/re-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+3e3712cc1266ec1f27620f3508ea2ebba338f4083b07d8a69dccee1facfdc1971a6c39f9deea664d2a62fd7f2cfd2eae816ca4c274acfadaee992a3befc4b757 ocaml-re-1.11.0.tar.bz2
+"
diff --git a/testing/ocaml-react/APKBUILD b/testing/ocaml-react/APKBUILD
new file mode 100644
index 00000000000..add2fc698c1
--- /dev/null
+++ b/testing/ocaml-react/APKBUILD
@@ -0,0 +1,87 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-react
+_pkgname=react
+pkgver=1.2.2
+pkgrel=2
+pkgdesc="OCaml framework for Functional Reactive Programming (FRP)"
+url="https://erratique.ch/software/react"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ncurses
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ ocamlbuild
+ cmd:opam-installer
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/react/releases/react-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build --tests true --dev-pkg true
+}
+
+check() {
+ ocaml pkg/pkg.ml test
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$(ocamlc -where)" \
+ $_pkgname.install
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+18cdd544d484222ba02db6bd9351571516532e7a1c107b59bbe39193837298f5c745eab6754f8bc6ff125b387be7018c6d6e6ac99f91925a5e4f53af688522b1 ocaml-react-1.2.2.tar.bz2
+"
diff --git a/testing/ocaml-result/APKBUILD b/testing/ocaml-result/APKBUILD
new file mode 100644
index 00000000000..198c23063e5
--- /dev/null
+++ b/testing/ocaml-result/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-result
+_pkgname=result
+pkgver=1.5
+pkgrel=2
+pkgdesc="Compatibility Result module"
+url="https://github.com/janestreet/result"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml ocaml-findlib"
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/janestreet/result/releases/download/$pkgver/result-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # Contains just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+4dfabc121fd69b3e0fe742f4da483830104d8fedf5ad3d83b4fb3efa2d544cb05eadc8719960b24bdf5760bff3434c5225f280339d70af9fb2842f3efe1bb87b ocaml-result-1.5.tar.bz2
+"
diff --git a/testing/ocaml-rresult/APKBUILD b/testing/ocaml-rresult/APKBUILD
new file mode 100644
index 00000000000..602510a5e2e
--- /dev/null
+++ b/testing/ocaml-rresult/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-rresult
+_pkgname=rresult
+pkgver=0.7.0
+pkgrel=2
+pkgdesc="Result value combinators for OCaml"
+url="https://erratique.ch/software/rresult"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ cmd:opam-installer
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/rresult/releases/rresult-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f1bb631c986996388e9686d49d5ae4d8aaf14034f6865c62a88fb58c48ce19ad2eb785327d69ca27c032f835984e0bd2efd969b415438628a31f3e84ec4551d3 ocaml-rresult-0.7.0.tar.bz2
+"
diff --git a/testing/ocaml-sedlex/APKBUILD b/testing/ocaml-sedlex/APKBUILD
new file mode 100644
index 00000000000..04d60305023
--- /dev/null
+++ b/testing/ocaml-sedlex/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-sedlex
+_pkgname=sedlex
+pkgver=3.2
+pkgrel=0
+pkgdesc="An OCaml lexer generator for Unicode"
+url="https://github.com/ocaml-community/sedlex"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-gen-dev ocaml-ppxlib-dev"
+makedepends="$depends_dev dune ocaml"
+checkdepends="cmd:curl"
+options="!check"
+subpackages="$pkgname-dev"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/ocaml-community/sedlex/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+00e257d1b97e99d49028d2e38b20a05c6aa151c362991c37c17522bf58c19e273b762ea39dd9783ed9ecc60d11dadeabb0487e16b4af91536e45e7e18c86cfe9 sedlex-3.2.tar.gz
+"
diff --git a/testing/ocaml-seq/APKBUILD b/testing/ocaml-seq/APKBUILD
new file mode 100644
index 00000000000..a500cad0f0d
--- /dev/null
+++ b/testing/ocaml-seq/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-seq
+_pkgname=seq
+pkgver=0.3.1
+pkgrel=2
+pkgdesc="Compatibility package for the standard OCaml iterator type"
+url="https://github.com/c-cube/seq"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-only"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml ocaml-findlib"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/c-cube/seq/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build @install
+}
+
+check() {
+ dune runtest
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+06ce767d3ec1532f8a2421d033f4d9dc5c08c9a27574754d456c31a71ecb9a3c33857591b7d24f85492dce679cd0da8c8985c9fb1a5b5a7f8588d90056b663b8 ocaml-seq-0.3.1.tar.gz
+"
diff --git a/testing/ocaml-sexplib/APKBUILD b/testing/ocaml-sexplib/APKBUILD
new file mode 100644
index 00000000000..75e9434a8e5
--- /dev/null
+++ b/testing/ocaml-sexplib/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-sexplib
+_pkgname=sexplib
+pkgver=0.16.0
+pkgrel=0
+pkgdesc="Library for serializing OCaml values to and from S-expressions"
+url="https://github.com/janestreet/sexplib"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-num-dev
+ ocaml-parsexp-dev
+ ocaml-sexplib0-dev
+ "
+makedepends="$depends_dev dune ocaml"
+subpackages="$pkgname-dev"
+source="https://ocaml.janestreet.com/ocaml-core/v${pkgver%.*}/files/sexplib-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+d361795cdc24848658aa9245fbb7a78e768849158bbbd4304e6c117f5c15b139f66a714d2eb9cbc3c16bac48dbf36357bd69641300fb7124b8a1614ce34e3a08 sexplib-v0.16.0.tar.gz
+"
diff --git a/testing/ocaml-sexplib0/APKBUILD b/testing/ocaml-sexplib0/APKBUILD
new file mode 100644
index 00000000000..e14a9650f8c
--- /dev/null
+++ b/testing/ocaml-sexplib0/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-sexplib0
+_pkgname=sexplib0
+pkgver=0.16.0
+pkgrel=0
+pkgdesc="Library containing the definition of S-expressions and some base converters"
+url="https://github.com/janestreet/sexplib0"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+subpackages="$pkgname-dev"
+source="https://ocaml.janestreet.com/ocaml-core/v${pkgver%.*}/files/sexplib0-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build -p sexplib0 @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+397c7a9cc5bd9f8a90948a94c576f757b7bb6033900b8f134f61dce8344556c4825b8408925e3686b577e67758f5de55b07181f73cbb52b12e2eacfb6c8b6259 sexplib0-v0.16.0.tar.gz
+"
diff --git a/testing/ocaml-sha/APKBUILD b/testing/ocaml-sha/APKBUILD
index 11030774cbc..55e80867211 100644
--- a/testing/ocaml-sha/APKBUILD
+++ b/testing/ocaml-sha/APKBUILD
@@ -1,49 +1,80 @@
# Contributor: Andy Li <andy@onthewings.net>
# Maintainer: Andy Li <andy@onthewings.net>
pkgname=ocaml-sha
-pkgver=1.12
+_pkgname=sha
+pkgver=1.15.4
pkgrel=0
pkgdesc="Binding to the SHA cryptographic functions"
url="https://github.com/djs55/ocaml-sha"
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64 !riscv64" # limited by ocaml aport
+arch="all !riscv64 !loongarch64" # ocaml
license="ISC"
-depends="ocaml-runtime"
depends_dev="$pkgname=$pkgver-r$pkgrel"
-makedepends="dune ocaml ocaml-findlib ocaml-ounit-dev"
+makedepends="dune ocaml ocaml-findlib ocaml-ounit-dev ocaml-stdlib-shims ocaml-seq-dev"
subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/djs55/ocaml-sha/releases/download/v$pkgver/sha-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
- dune build @install -p sha --no-buffer --verbose
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build @install --no-buffer --verbose
}
check() {
- dune runtest --verbose
+ dune runtest --build-dir=.testenv --verbose
}
package() {
- mkdir -p "$pkgdir"/usr/lib/ocaml
- dune install --destdir="$pkgdir"
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
# There are just CHANGES, README, and LICENSE.
rm -Rf "$pkgdir"/usr/doc
-
- # Remove annotation files and sources.
- rm \
- "$pkgdir"/usr/lib/ocaml/sha/*.cmt \
- "$pkgdir"/usr/lib/ocaml/sha/*.cmti \
- "$pkgdir"/usr/lib/ocaml/sha/*.ml
}
dev() {
default_dev
- mkdir -p "$subpkgdir"/usr/lib/ocaml/sha
- mv \
- "$pkgdir"/usr/lib/ocaml/sha/*.cmx \
- "$pkgdir"/usr/lib/ocaml/sha/*.cmxa \
- "$pkgdir"/usr/lib/ocaml/sha/*.mli \
- "$subpkgdir"/usr/lib/ocaml/sha/
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="e6cdbc66202281a72ccc3592d6efba0448fe28dba7a23f8079d3a3cee12c03d01338191da88e4e4834f5ee19321ffed1c950e7a5babc73479221d8da3fe372d3 ocaml-sha-1.12.tar.gz"
+sha512sums="
+dbb31b523ba0bace023bc1b0558a8f572a0ec20fb3f19f783935be755cd161e09aba352eda2bcf7c4e5ab838c7f874cfbfaed9debf0813df25d9dbe7b9314fdf ocaml-sha-1.15.4.tar.bz2
+"
diff --git a/testing/ocaml-stdlib-shims/APKBUILD b/testing/ocaml-stdlib-shims/APKBUILD
new file mode 100644
index 00000000000..847f4053534
--- /dev/null
+++ b/testing/ocaml-stdlib-shims/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-stdlib-shims
+_pkgname=stdlib-shims
+pkgver=0.3.0
+pkgrel=2
+pkgdesc="OCaml Shims to substitute Pervasives with Stdlib"
+url="https://github.com/ocaml/stdlib-shims"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-only WITH OCaml-LGPL-linking-exception"
+makedepends="dune ocaml ocaml-findlib ocaml-compiler-libs"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/stdlib-shims/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ dune build @install
+}
+
+check() {
+ dune runtest
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+c4f2a6dc38171e1d2125cc30e5d63f64f49d8ed011df6588dfa0b51f9dc634f9e8771d6237110c7d1d5e81e161dd5112eaae8df71ee3a7d8a010c2732fcc75ca ocaml-stdlib-shims-0.3.0.tar.gz
+"
diff --git a/testing/ocaml-stringext/APKBUILD b/testing/ocaml-stringext/APKBUILD
new file mode 100644
index 00000000000..c305028d691
--- /dev/null
+++ b/testing/ocaml-stringext/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-stringext
+_pkgname=stringext
+pkgver=1.6.0
+pkgrel=2
+pkgdesc="Extra string functions for OCaml"
+url="https://github.com/rgrinberg/stringext"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+checkdepends="ocaml-ounit-dev ocaml-qtest-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/rgrinberg/stringext/releases/download/$pkgver/stringext-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+d8ebe40f42b598a9bd99f1ef4b00ba93458385a4accd121af66a0bf3b3f8d7135f576740adf1a43081dd409977c2219fd4bdbb5b3d1308890d301d553ed49900 ocaml-stringext-1.6.0.tar.bz2
+"
diff --git a/testing/ocaml-tcpip/APKBUILD b/testing/ocaml-tcpip/APKBUILD
new file mode 100644
index 00000000000..8a191430c73
--- /dev/null
+++ b/testing/ocaml-tcpip/APKBUILD
@@ -0,0 +1,101 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-tcpip
+_pkgname=tcpip
+pkgver=7.1.2
+pkgrel=3
+pkgdesc="OCaml TCP/IP networking stack, used in MirageOS"
+url="https://github.com/mirage/mirage-tcpip"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+# ocaml-bisect_ppx only needed for dev
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-arp-dev
+ ocaml-bisect_ppx-dev
+ ocaml-cstruct-dev
+ ocaml-duration-dev
+ ocaml-ethernet-dev
+ ocaml-fmt-dev
+ ocaml-ipaddr-dev
+ ocaml-logs-dev
+ ocaml-lru-dev
+ ocaml-lwt-dev
+ ocaml-lwt-dllist-dev
+ ocaml-metrics-dev
+ ocaml-mirage-clock-dev
+ ocaml-mirage-flow-dev
+ ocaml-mirage-net-dev
+ ocaml-mirage-profile-dev
+ ocaml-mirage-random-dev
+ ocaml-mirage-time-dev
+ ocaml-randomconv-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-ipaddr-cstruct-dev ocaml-mirage-clock-unix-dev ocaml-mirage-random-test-dev ocaml-mirage-vnetif-dev ocaml-pcap-format-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/mirage-tcpip/releases/download/v$pkgver/tcpip-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+3f873c986de5c58df72db2953c6b2a6319963dbbbd0781b55c2878fd1eaa081ebb7cecbee595db7cb3680a6f438904f98cb69ca17e70c7a6d2d1f61277e929bd ocaml-tcpip-7.1.2.tar.bz2
+"
diff --git a/testing/ocaml-tls/APKBUILD b/testing/ocaml-tls/APKBUILD
new file mode 100644
index 00000000000..79ccbe53eba
--- /dev/null
+++ b/testing/ocaml-tls/APKBUILD
@@ -0,0 +1,103 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-tls
+_pkgname=tls
+pkgver=0.15.3
+pkgrel=4
+pkgdesc="Transport Layer Security purely in OCaml"
+url="https://github.com/mirleft/ocaml-tls"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-cstruct-dev
+ ocaml-domain-name-dev
+ ocaml-fmt-dev
+ ocaml-hkdf-dev
+ ocaml-ipaddr-dev
+ ocaml-logs-dev
+ ocaml-lwt-dev
+ ocaml-mirage-crypto-dev
+ ocaml-mirage-clock-dev
+ ocaml-mirage-flow-dev
+ ocaml-mirage-kv-dev
+ ocaml-ppx_sexp_conv-dev
+ ocaml-ptime-dev
+ ocaml-sexplib-dev
+ ocaml-x509-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="
+ ocaml-alcotest-dev
+ ocaml-cmdliner-dev
+ ocaml-cstruct-unix-dev
+ ocaml-ounit-dev
+ ocaml-randomconv-dev
+ "
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirleft/ocaml-tls/releases/download/v$pkgver/tls-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build -p tls,tls-mirage --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit \
+ tls tls-mirage
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+371b85c6afebeda0fcc8cc5252e3333d9c3ef3a6bdbee160bb194e2a5928fd537c811c6eec729f16852070944e627257d44c97142a259d00d0db66956a95df49 ocaml-tls-0.15.3.tar.bz2
+"
diff --git a/testing/ocaml-tophide/APKBUILD b/testing/ocaml-tophide/APKBUILD
new file mode 100644
index 00000000000..feca779f93b
--- /dev/null
+++ b/testing/ocaml-tophide/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-tophide
+_pkgname=tophide
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Hide OCaml toplevel values whose name starts with an underscore"
+url="https://github.com/mjambon/tophide"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+makedepends="ocaml ocaml-compiler-libs ocaml-findlib"
+options="!check"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mjambon/tophide/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ make
+}
+
+package() {
+ export OCAMLFIND_DESTDIR="$pkgdir"/usr/lib/ocaml
+ mkdir -vp "$OCAMLFIND_DESTDIR"
+ make install
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+9dafd73463f349e77b410e8df56966812752e78f08ad6ec5f1f13958beb374f8396fd05233b6499b0b941dc9ee5ca0d96e19041fc9b28c125692c8abf693734c ocaml-tophide-1.0.4.tar.gz
+"
diff --git a/testing/ocaml-topkg/APKBUILD b/testing/ocaml-topkg/APKBUILD
new file mode 100644
index 00000000000..aed4ef05edf
--- /dev/null
+++ b/testing/ocaml-topkg/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+# FIXME: run tests!
+pkgname=ocaml-topkg
+_pkgname=topkg
+pkgver=1.0.5
+pkgrel=2
+pkgdesc="The transitory OCaml software packager"
+url="https://erratique.ch/software/topkg"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocamlbuild
+ cmd:opam-installer
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/topkg/releases/topkg-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build --dev-pkg true
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/usr/lib/ocaml" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+9450e9139209aacd8ddb4ba18e4225770837e526a52a56d94fd5c9c4c9941e83e0e7102e2292b440104f4c338fabab47cdd6bb51d69b41cc92cc7a551e6fefab ocaml-topkg-1.0.5.tar.bz2
+"
diff --git a/testing/ocaml-trie/APKBUILD b/testing/ocaml-trie/APKBUILD
new file mode 100644
index 00000000000..051486a7811
--- /dev/null
+++ b/testing/ocaml-trie/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-trie
+_pkgname=trie
+pkgver=1.0.0
+pkgrel=2
+pkgdesc="Strict impure trie tree OCaml module"
+url="https://github.com/kandu/trie/"
+arch="all !riscv64 !loongarch64" # ocaml
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kandu/trie/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ rm -Rf "$pkgdir"/usr/doc
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+1921a42486a0a221e546507287cbf28ccae5462abe55817269517b7b92e19f35031f2d0fba2b1890b97236d6fff11be9d76ade317ae1dfa1089bd4740a46786f ocaml-trie-1.0.0.tar.gz
+"
diff --git a/testing/ocaml-uri/APKBUILD b/testing/ocaml-uri/APKBUILD
new file mode 100644
index 00000000000..e06be9b1ef3
--- /dev/null
+++ b/testing/ocaml-uri/APKBUILD
@@ -0,0 +1,85 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-uri
+_pkgname=uri
+pkgver=4.2.0
+pkgrel=2
+pkgdesc="RFC3986 URI/URL parsing library for OCaml"
+url="https://github.com/mirage/ocaml-uri"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-angstrom-dev
+ ocaml-stringext-dev
+ ocaml-ppx_sexp_conv-dev
+ ocaml-re-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-ounit-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirage/ocaml-uri/releases/download/v$pkgver/uri-v$pkgver.tbz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+119e39bf53db9e94383a4e3a3df492b60b2db097266b3a8660de431ad85bc87997718305972fd2abbfb529973475ce6b210ba5e34d12e85a5dabbb0e24130aa1 ocaml-uri-4.2.0.tar.bz2
+"
diff --git a/testing/ocaml-uucd/APKBUILD b/testing/ocaml-uucd/APKBUILD
new file mode 100644
index 00000000000..e9018dacf53
--- /dev/null
+++ b/testing/ocaml-uucd/APKBUILD
@@ -0,0 +1,83 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-uucd
+_pkgname=uucd
+pkgver=14.0.0
+pkgrel=2
+pkgdesc="Unicode character database decoder for OCaml"
+url="https://erratique.ch/software/uucd"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocamlbuild
+ ocaml-topkg
+ ocaml-xmlm-dev
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/uucd/releases/uucd-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+2748ea59440e5379b7a1ed2aed94f1ad0c9f9063ae329a3ac9fc8dc057fa95b4b7c81fc0011eab89af31ddfe8e5562a49476590b36352e62004db476c45a67e1 ocaml-uucd-14.0.0.tar.bz2
+"
diff --git a/testing/ocaml-uucp/APKBUILD b/testing/ocaml-uucp/APKBUILD
new file mode 100644
index 00000000000..0b25076047d
--- /dev/null
+++ b/testing/ocaml-uucp/APKBUILD
@@ -0,0 +1,90 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-uucp
+_pkgname=uucp
+pkgver=14.0.0
+pkgrel=2
+pkgdesc="Unicode character properties for OCaml"
+url="https://erratique.ch/software/uucp"
+# limited by riscv64, loongarch64: ocaml, ppc64le: ocaml-uunf
+arch="all !riscv64 !loongarch64 !ppc64le"
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocamlbuild
+ ocaml-topkg
+ ocaml-uucd-dev
+ ocaml-uunf-dev
+ ocaml-uutf-dev
+ ocaml-cmdliner-dev
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/uucp/releases/uucp-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --with-uutf true \
+ --with-uunf true \
+ --with-cmdliner true
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+2d0224aed5d5accbb121624898f08598e8c74a2415942f159a54221c0cdac62ed64fc70a039c833e50110cefce77754ada9ac2d58f79a6fc9331135326fe6899 ocaml-uucp-14.0.0.tar.bz2
+"
diff --git a/testing/ocaml-uuidm/APKBUILD b/testing/ocaml-uuidm/APKBUILD
new file mode 100644
index 00000000000..62ec82a94b8
--- /dev/null
+++ b/testing/ocaml-uuidm/APKBUILD
@@ -0,0 +1,90 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-uuidm
+_pkgname=uuidm
+pkgver=0.9.8
+pkgrel=2
+pkgdesc="Universally unique identifiers (UUIDs) for OCaml"
+url="https://erratique.ch/software/uuidm"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-cmdliner-dev"
+makedepends="
+ $depends_dev
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-topkg
+ cmd:opam-installer
+ "
+subpackages="$pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/uuidm/releases/uuidm-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --with-cmdliner true
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+tools() {
+ pkgdesc="$pkgdesc (command line utilities)"
+ depends=""
+
+ amove usr/bin
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+d5073ae49c402ab3ea6dc8f86bc5b8cc14129437e23e47da4d91431648fcb31c4dce6308f9c936c58df9a2c6afda61d77105a3022e369cca4e4c140320e803b5 ocaml-uuidm-0.9.8.tar.bz2
+"
diff --git a/testing/ocaml-uunf/APKBUILD b/testing/ocaml-uunf/APKBUILD
new file mode 100644
index 00000000000..5baeb6b156c
--- /dev/null
+++ b/testing/ocaml-uunf/APKBUILD
@@ -0,0 +1,89 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-uunf
+_pkgname=uunf
+pkgver=14.0.0
+pkgrel=2
+pkgdesc="Unicode text normalization for OCaml"
+url="https://erratique.ch/software/uunf"
+# riscv64, loongarch64: restricted by ocaml aport
+# ppc64le: ocamlopt exited with code 2 while compiling uunf_data.ml
+arch="all !riscv64 !loongarch64 !ppc64le"
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocamlbuild
+ ocaml-topkg
+ ocaml-cmdliner-dev
+ ocaml-uucd-dev
+ ocaml-uutf-dev
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/uunf/releases/uunf-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --with-uutf true \
+ --with-cmdliner true
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+9aac01483abb8a8a5d68832d7f7692909d61559f2c9b0284c1da293f8115d1100df26e9e4cf7280bda6499ba866f5da2c72c4c21ca99a1d594b29d000e9bb051 ocaml-uunf-14.0.0.tar.bz2
+"
diff --git a/testing/ocaml-uuseg/APKBUILD b/testing/ocaml-uuseg/APKBUILD
new file mode 100644
index 00000000000..27279deac6b
--- /dev/null
+++ b/testing/ocaml-uuseg/APKBUILD
@@ -0,0 +1,94 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-uuseg
+_pkgname=uuseg
+pkgver=14.0.0
+pkgrel=2
+pkgdesc="Unicode text segmentation for OCaml"
+url="https://erratique.ch/software/uuseg"
+# limited by riscv64, loongarch64: ocaml, ppc64le: ocaml-uucp
+arch="all !riscv64 !loongarch64 !ppc64le"
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-uucp-dev ocaml-uutf-dev"
+makedepends="
+ $depends_dev
+ ocaml
+ ocamlbuild
+ ocaml-compiler-libs
+ ocaml-cmdliner-dev
+ ocaml-findlib
+ ocaml-topkg
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev $pkgname-tools"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/uuseg/releases/uuseg-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --with-uutf true \
+ --with-cmdliner true
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir"/usr \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir"/.omit \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+tools() {
+ pkgdesc="$pkgdesc (command line utilities)"
+ depends=""
+
+ amove usr/bin
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+3f089baf95f010663a0c2f060b2911395d9b396f478efb10fd979815f527c9e61e0a70b3192f2e921f59287bfde0da6e25109d4a1825554e2e4a50c0535e97aa ocaml-uuseg-14.0.0.tar.bz2
+"
diff --git a/testing/ocaml-uutf/APKBUILD b/testing/ocaml-uutf/APKBUILD
new file mode 100644
index 00000000000..6c44a08fc1c
--- /dev/null
+++ b/testing/ocaml-uutf/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-uutf
+_pkgname=uutf
+pkgver=1.0.3
+pkgrel=2
+pkgdesc="Non-blocking streaming Unicode codec for OCaml"
+url="https://erratique.ch/software/uutf"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocamlbuild
+ ocaml-topkg
+ ocaml-cmdliner-dev
+ cmd:opam-installer
+ "
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/uutf/releases/uutf-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build \
+ --with-cmdliner true
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+50cc4486021da46fb08156e9daec0d57b4ca469b07309c508d5a9a41e9dbcf1f32dec2ed7be027326544453dcaf9c2534919395fd826dc7768efc6cc4bfcc9f8 ocaml-uutf-1.0.3.tar.bz2
+"
diff --git a/testing/ocaml-x509/APKBUILD b/testing/ocaml-x509/APKBUILD
new file mode 100644
index 00000000000..f1a1ca7df42
--- /dev/null
+++ b/testing/ocaml-x509/APKBUILD
@@ -0,0 +1,92 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-x509
+_pkgname=x509
+pkgver=0.16.0
+pkgrel=2
+pkgdesc="Public Key Infrastructure (RFC 5280, PKCS) purely in OCaml"
+url="https://github.com/mirleft/ocaml-x509"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-2-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-asn1-combinators-dev
+ ocaml-base64-dev
+ ocaml-cstruct-dev
+ ocaml-domain-name-dev
+ ocaml-fmt-dev
+ ocaml-gmap-dev
+ ocaml-ipaddr-dev
+ ocaml-logs-dev
+ ocaml-mirage-crypto-dev
+ ocaml-pbkdf-dev
+ ocaml-ptime-dev
+ "
+makedepends="$depends_dev dune ocaml"
+checkdepends="ocaml-alcotest-dev ocaml-cstruct-unix-dev"
+options="!check"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/mirleft/ocaml-x509/releases/download/v$pkgver/x509-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+c9b4cf55d16d8b1e6b6faa18fc9ac08065fa09937f07a3447d4b637539b37bea6374c98d184eba159a8ba8eba860303a78563097e47ef30529fedaaf722115c6 ocaml-x509-0.16.0.tar.bz2
+"
diff --git a/testing/ocaml-xml-light/APKBUILD b/testing/ocaml-xml-light/APKBUILD
index 8c4c26ec5ed..5edd35d5da7 100644
--- a/testing/ocaml-xml-light/APKBUILD
+++ b/testing/ocaml-xml-light/APKBUILD
@@ -1,47 +1,75 @@
# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
pkgname=ocaml-xml-light
-pkgver=2.4
-pkgrel=1
+_pkgname=xml-light
+pkgver=2.5
+pkgrel=0
pkgdesc="Minimal XML parser and printer for OCaml"
url="https://github.com/ncannasse/xml-light"
-arch="x86_64 ppc64le" # restrict by ocaml, build fails on aarch64
-license="LGPL-2.1-or-later-WITH-linking-exception"
-makedepends="ocaml ocaml-findlib-dev ocaml-ocamldoc gawk"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ncannasse/xml-light/archive/$pkgver.tar.gz
- Makefile-explicit-target-fix.patch"
-builddir="$srcdir/xml-light-$pkgver"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="dune ocaml"
+subpackages="$pkgname-dev"
+source="$_pkgname-$pkgver.tar.bz2::https://github.com/ncannasse/xml-light/releases/download/$pkgver/xml-light-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
- cd "$builddir"
- make all
- make doc
- make opt
+ dune build --release --verbose
}
check() {
- cd "$builddir"
- ./test.exe <<EOF
-<abc><123/></abc>
+ dune runtest --build-dir=.testenv
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+}
+
+dev() {
+ default_dev
-EOF
- ./test_opt.exe <<EOF
-<abc><123/></abc>
+ cd "$pkgdir"
-EOF
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
}
-package() {
- cd "$builddir"
- export DESTDIR="$pkgdir"
- export OCAMLFIND_DESTDIR="$DESTDIR/usr/lib/ocaml"
- mkdir -p "$OCAMLFIND_DESTDIR" "$OCAMLFIND_DESTDIR/stublibs"
- rm -f test.cmi
- make install_ocamlfind
- install -D -m644 README "$pkgdir/usr/share/licenses/$pkgname/README"
- install -D -m644 -t "$pkgdir/usr/share/doc/$pkgname/html/" doc/*
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="029068c6eb48cd1223438dc0f86e1c5e6fd0412d160ea4d79928eec5e5f5843af46260d7240e4260851e9580e7f92d578c764c63c8e0acab348637455493ef02 ocaml-xml-light-2.4.tar.gz
-6fd6d9131cb652df96c7fd7b68e9161a6e9a0c08fedfd2e2ee00a474d3d249ce16d4a8631a02ca36e158d8c61ff8fb0fe440b5e620eb64f865b23dcfd433e476 Makefile-explicit-target-fix.patch"
+sha512sums="
+fec6b83f8342a37bdad0fc745032f1faa57b359365ab53c2376fb031613a83a3139766f2d646a9b9b8d67da25252f2499a03de4caaef7bd8738f9b183ef84b6e xml-light-2.5.tar.bz2
+"
diff --git a/testing/ocaml-xml-light/Makefile-explicit-target-fix.patch b/testing/ocaml-xml-light/Makefile-explicit-target-fix.patch
deleted file mode 100644
index ebf09faa041..00000000000
--- a/testing/ocaml-xml-light/Makefile-explicit-target-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -78,6 +78,8 @@
-
- xml.cmi:
-
-+xml_parser.mli:
-+
- xmlParser.cmi: dtd.cmi xml.cmi
-
- xml_lexer.cmi: dtd.cmi
diff --git a/testing/ocaml-xmlm/APKBUILD b/testing/ocaml-xmlm/APKBUILD
new file mode 100644
index 00000000000..0399de29789
--- /dev/null
+++ b/testing/ocaml-xmlm/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-xmlm
+_pkgname=xmlm
+pkgver=1.4.0
+pkgrel=2
+pkgdesc="Streaming XML codec for OCaml"
+url="https://erratique.ch/software/xmlm"
+arch="all !riscv64 !loongarch64" # ocaml
+license="ISC"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocamlbuild
+ ocaml-topkg
+ cmd:opam-installer
+ "
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.bz2::https://erratique.ch/software/xmlm/releases/xmlm-$pkgver.tbz"
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ ocaml pkg/pkg.ml build
+}
+
+package() {
+ opam-installer -i \
+ --prefix="$pkgdir/usr" \
+ --libdir="$pkgdir/$_ocamldir" \
+ --docdir="$builddir/.omit" \
+ $_pkgname.install
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+69f6112e6466952256d670fe1751fe4ae79e20d50f018ece1709eb2240cb1b00968ac7cee110771e0617a38ebc1cdb43e9d146471ce66ac1b176e4a1660531eb ocaml-xmlm-1.4.0.tar.bz2
+"
diff --git a/testing/ocaml-yojson/APKBUILD b/testing/ocaml-yojson/APKBUILD
new file mode 100644
index 00000000000..c74cfa9ae02
--- /dev/null
+++ b/testing/ocaml-yojson/APKBUILD
@@ -0,0 +1,87 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: omni <omni+alpine@hack.org>
+pkgname=ocaml-yojson
+_pkgname=yojson
+pkgver=2.1.2
+pkgrel=0
+pkgdesc="JSON parsing and pretty-printing library for OCaml"
+url="https://github.com/ocaml-community/yojson"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="$pkgname=$pkgver-r$pkgrel ocaml-seq-dev"
+makedepends="$depends_dev dune ocaml ocaml-cppo ocaml-findlib"
+subpackages="$pkgname-dev"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/ocaml-community/yojson/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # tests need alcotest library
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build @install -p yojson
+}
+
+check() {
+ dune runtest
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
+ yojson
+
+ cd "$pkgdir"
+
+ # There's just a readme and changelog.
+ rm -Rf usr/doc
+
+ # Don't package ydump tool for now.
+ rm -Rf usr/bin
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+52c3a479492c0adcd4783f5343d00b7ce76d303e08a458e59d9faf006ebaf782a03f77c1ba1d5b75f4e3da586073911d5fdd2b80dc7ce198c9a16d9b0a776e4f yojson-2.1.2.tar.gz
+"
diff --git a/testing/ocaml-zarith/APKBUILD b/testing/ocaml-zarith/APKBUILD
index 7cf3c2fb837..6b48859b8f8 100644
--- a/testing/ocaml-zarith/APKBUILD
+++ b/testing/ocaml-zarith/APKBUILD
@@ -2,22 +2,31 @@
# Maintainer: River Dillon <oss@outerpassage.net>
pkgname=ocaml-zarith
pkgver=1.12
-pkgrel=0
+pkgrel=5
pkgdesc="library implementing arithmetic and logical operations"
url="https://github.com/ocaml/Zarith"
-arch="aarch64 ppc64le x86_64" # limited by ocaml
-license="custom"
-makedepends="ocaml ocaml-findlib ocaml-compiler-libs ocaml-ocamldoc gmp-dev"
-subpackages="$pkgname-doc"
-source="
- https://github.com/ocaml/Zarith/archive/refs/tags/release-$pkgver.tar.gz
- project.mak.patch
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.0-only WITH OCaml-LGPL-linking-exception"
+depends="gmp-dev" # zarith is not split into a -dev subpackage
+makedepends="
+ ocaml
+ ocaml-findlib
+ ocaml-compiler-libs
+ ocaml-ocamldoc
"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml/Zarith/archive/refs/tags/release-$pkgver.tar.gz"
builddir="$srcdir/Zarith-release-$pkgver"
+# 32bit archs
+case "$CARCH" in
+armv7|armhf|x86) options="$options textrels" ;;
+esac
+
build() {
- LDFLAGS= ./configure
+ ./configure -installdir "$pkgdir"/usr/lib/ocaml
make
+ make doc
}
check() {
@@ -25,12 +34,33 @@ check() {
}
package() {
- mkdir -p "$pkgdir"/usr/lib/ocaml
- INSTALLDIR="$pkgdir"/usr/lib/ocaml LDCONF=/dev/null make -e install
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ mkdir -p "$pkgdir"/usr/lib/ocaml "$pkgdir"/usr/lib/ocaml/stublibs
+ OCAMLFIND_LDCONF=ignore make install
+ install -Dm644 README.md -t "$pkgdir"/usr/share/doc/$pkgname/
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
sha512sums="
-8075573ae65579a2606b37dd1b213032a07d220d28c733f9288ae80d36f8a2cc4d91632806df2503c130ea9658dc207ee3a64347c21aa53969050a208f5b2bb4 release-1.12.tar.gz
-e642848b515ef3f60b7348307beb7e8a04d13527ff87021912eb1f06bbb88090b5ad68ff5a39c42be93ef03f1da5156d9b2e11f909cb940d9d5d64819507735b project.mak.patch
+8075573ae65579a2606b37dd1b213032a07d220d28c733f9288ae80d36f8a2cc4d91632806df2503c130ea9658dc207ee3a64347c21aa53969050a208f5b2bb4 ocaml-zarith-1.12.tar.gz
"
diff --git a/testing/ocaml-zarith/project.mak.patch b/testing/ocaml-zarith/project.mak.patch
deleted file mode 100644
index 2406f007897..00000000000
--- a/testing/ocaml-zarith/project.mak.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/project.mak
-+++ b/project.mak
-@@ -112,7 +112,7 @@
-
- ifeq ($(INSTMETH),findlib)
- install:
-- $(OCAMLFIND) install -destdir "$(INSTALLDIR)" zarith META $(TOINSTALL) -optional dllzarith.$(DLLSUFFIX)
-+ $(OCAMLFIND) install -destdir "$(INSTALLDIR)" -ldconf "$(LDCONF)" zarith META $(TOINSTALL) -optional dllzarith.$(DLLSUFFIX)
-
- uninstall:
- $(OCAMLFIND) remove -destdir "$(INSTALLDIR)" zarith
diff --git a/testing/ocaml-zed/APKBUILD b/testing/ocaml-zed/APKBUILD
new file mode 100644
index 00000000000..70ca41ded48
--- /dev/null
+++ b/testing/ocaml-zed/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml-zed
+_pkgname=zed
+pkgver=3.1.0
+pkgrel=3
+pkgdesc="Abstract engine for text edition in OCaml"
+url="https://github.com/ocaml-community/zed"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ ocaml-camomile-dev
+ ocaml-charinfo_width-dev
+ ocaml-react-dev
+ "
+makedepends="$depends_dev dune ocaml"
+options="!check" # no tests provided
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ocaml-community/zed/archive/$pkgver.tar.gz
+ use-built-in-result-lib.patch
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --docdir=/.omit
+ rm -Rf "$pkgdir"/.omit
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+d4457af15f970adb7b1ed543017e590fa0ecc47171d6dd520a1397f21ce0219caa30a9db7bedb76c0602d4f6d0f0684012cc33feafe18b848d3261a460dea10a ocaml-zed-3.1.0.tar.gz
+03655451e382d7539589ef80a97e1e16edb6f269bbf95b5997c334f08dad0332807588dc9cb5b1e4aebee64c88fcd8d1d5015bdec044093dff19bbffa84b3b53 use-built-in-result-lib.patch
+"
diff --git a/testing/ocaml-zed/use-built-in-result-lib.patch b/testing/ocaml-zed/use-built-in-result-lib.patch
new file mode 100644
index 00000000000..8514d6ee304
--- /dev/null
+++ b/testing/ocaml-zed/use-built-in-result-lib.patch
@@ -0,0 +1,8 @@
+--- a/src/dune
++++ b/src/dune
+@@ -3,4 +3,4 @@
+ (public_name zed)
+ (wrapped false)
+ (flags (:standard -safe-string))
+- (libraries bytes react camomile result charInfo_width))
++ (libraries bytes react camomile charInfo_width))
diff --git a/testing/ocaml5/APKBUILD b/testing/ocaml5/APKBUILD
new file mode 100644
index 00000000000..822775727c0
--- /dev/null
+++ b/testing/ocaml5/APKBUILD
@@ -0,0 +1,114 @@
+# Contributor: Borys Zhukov <mp5@mp5.im>
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Contributor: omni <omni+alpine@hack.org>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocaml5
+provides=ocaml
+pkgver=5.1.1
+pkgrel=0
+pkgdesc="Main implementation of the Caml programming language"
+url="https://ocaml.org/"
+# loongarch64: no upstream support
+arch="all !loongarch64"
+license="LGPL-2.1-or-later WITH OCaml-LGPL-linking-exception"
+depends="$pkgname-runtime=$pkgver-r$pkgrel gcc"
+checkdepends="parallel"
+subpackages="
+ $pkgname-doc
+ $pkgname-ocamldoc
+ $pkgname-compiler-libs:_compiler_libs
+ $pkgname-runtime
+ "
+source="https://caml.inria.fr/pub/distrib/ocaml-${pkgver%.*}/ocaml-$pkgver.tar.xz"
+builddir="$srcdir/ocaml-$pkgver"
+
+# The s390x native compiler is newly added in 5.1.x and still needs some work
+case "$CARCH" in
+s390x)
+ options="$options textrels !check"
+ export LDFLAGS="$LDFLAGS -Wl,-z,notext"
+ ;;
+esac
+
+build() {
+ local _make _conf
+ case "$CARCH" in
+ # Current native compiler support in 5.1.x
+ # Disabling riscv64 here as it segfaults while building dynlink
+ aarch64|s390x|x86_64)
+ _make="world.opt"
+ _conf="--enable-native-compiler \
+ --enable-native-toplevel \
+ --disable-installing-bytecode-programs"
+ msg "Building native compiler for $CARCH"
+ ;;
+ *)
+ _make="world"
+ _conf="--disable-native-compiler \
+ --disable-native-toplevel \
+ --enable-installing-bytecode-programs"
+ msg "Building bytecode compiler for $CARCH"
+ ;;
+ esac
+
+ ./configure \
+ --prefix /usr \
+ --bindir /usr/bin \
+ --libdir /usr/lib/ocaml \
+ --mandir /usr/share/man \
+ --docdir /usr/share/doc/$pkgname \
+ --disable-installing-source-artifacts \
+ $_conf \
+ CC="${CC:-gcc}" \
+ AS="${CC:-gcc} -c" \
+ ASPP="${CC:-gcc} -c"
+ make $_make
+}
+
+check() {
+ make ocamltest
+ make -C testsuite parallel
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+ocamldoc() {
+ pkgdesc="$pkgdesc (documentation generator)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/bin/ocamldoc*
+ amove usr/lib/ocaml/ocamldoc
+}
+
+_compiler_libs() {
+ pkgdesc="$pkgdesc (compiler libraries)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ provides="$pkgname-dev=$pkgver-r$pkgrel"
+
+ amove usr/lib/ocaml/compiler-libs
+}
+
+runtime() {
+ pkgdesc="$pkgdesc (runtime environment)"
+ depends=
+
+ amove usr/bin/ocamlrun*
+ amove usr/lib/ocaml/ld.conf
+
+ local i; for i in \
+ '*.cmo' \
+ '*.cmi' \
+ '*.cma' \
+ 'stublibs' \
+ 'threads/*.cmi' \
+ 'threads/*.cma'
+ do
+ amove "usr/lib/ocaml/$i"
+ done
+}
+
+sha512sums="
+e534881eec10b79141b6598ba6d3f59e32ed46a2c64b90c226bbec199c73cdb70e6e5bfa555c34c385d3d83c15e5115f0ea9a182fdda6547db7bbb416f8ed98f ocaml-5.1.1.tar.xz
+"
diff --git a/testing/ocamlclean/APKBUILD b/testing/ocamlclean/APKBUILD
deleted file mode 100644
index 142aeb437c0..00000000000
--- a/testing/ocamlclean/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
-pkgname=ocamlclean
-pkgver=2.2
-pkgrel=0
-pkgdesc="OCaml Bytecode Cleaner"
-url="http://www.algo-prog.info/ocapic/web/index.php?id=OCAPIC:OCamlClean"
-arch="all !mips !mips64 !riscv64" # limited by ocaml aport
-license="CECILL-2.0"
-makedepends="bash ocaml ocamlbuild"
-subpackages="$pkgname-doc"
-options="!check" # no test suite
-# backup: https://github.com/bvaugon/ocamlclean
-source="$pkgname-$pkgver.tar.bz2::http://www.algo-prog.info/ocapic/web/lib/exe/fetch.php?media=ocapic:ocamlclean-$pkgver.tar.bz2
- bump-magic.patch
- deprecated-pervasives.patch"
-
-build() {
- ./configure \
- -prefix "$pkgdir/usr" \
- -mandir "$pkgdir/usr/share/man"
- make
-}
-
-package() {
- make install
-}
-
-sha512sums="7bf2686818ce9085efde9a300eaedbb0ef2f9dbf6e80608ac9eaaf847537d11cd09083ad8bb993bf07f1f388b5420e6888732bb1d72642e0293e63070a2b9431 ocamlclean-2.2.tar.bz2
-ce063231ad2f12f214721b5a82d0b5db205d1657bc91d2cca6be9dedc5e3d4db00c933168721286f865560428b6a0fc40e807748924578c1969623c027d0fbf8 bump-magic.patch
-3294f8c5f47d70fb17f4c6a2cfdec097b34181b9114afaced2d4e3f6f6eecdbca573232472e83531b8db6c98ffc578c2f8f634c2833c9d3f23d547759fb64aad deprecated-pervasives.patch"
diff --git a/testing/ocamlclean/bump-magic.patch b/testing/ocamlclean/bump-magic.patch
deleted file mode 100644
index 8c3fea21dff..00000000000
--- a/testing/ocamlclean/bump-magic.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Bump magic_str to that of Ocaml 4.12
-
-https://github.com/ocaml/ocaml/blob/trunk/utils/HACKING.adoc
-https://github.com/ocaml/ocaml/blob/4.12/utils/config.mlp
---- a/src/index.ml
-+++ b/src/index.ml
-@@ -15,7 +15,7 @@ type section = Code | Dlpt | Dlls | Prim
-
- type t = (section * int * int) list
-
--let magic_str = "Caml1999X023"
-+let magic_str = "Caml1999X029"
-
- let parse ic =
- let magic_size = String.length magic_str in
diff --git a/testing/ocamlclean/deprecated-pervasives.patch b/testing/ocamlclean/deprecated-pervasives.patch
deleted file mode 100644
index 8d8efcf1b47..00000000000
--- a/testing/ocamlclean/deprecated-pervasives.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Error (alert deprecated): module Stdlib.Pervasives
-Use Stdlib instead.
-
-https://github.com/bvaugon/ocamlclean/pull/1
---- a/src/step1.ml
-+++ b/src/step1.ml
-@@ -91,7 +91,7 @@ let prepare_code old_code cleanables ign
- f (succ indg) adds cleans
- | None -> f (succ indg) adds cleans
- else
-- (List.sort Pervasives.compare adds, cleans)
-+ (List.sort Stdlib.compare adds, cleans)
- in
- let adds, cleans = f 0 [] [] in
- let old_code_size = Array.length old_code in
diff --git a/testing/ocamlnet/APKBUILD b/testing/ocamlnet/APKBUILD
new file mode 100644
index 00000000000..5df97c3fc4e
--- /dev/null
+++ b/testing/ocamlnet/APKBUILD
@@ -0,0 +1,104 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocamlnet
+pkgver=4.1.9
+pkgrel=2
+pkgdesc="Network and system programming library for OCaml"
+url="http://projects.camlcity.org/projects/ocamlnet.html"
+arch="all !riscv64 !loongarch64" # ocaml
+license="zlib-acknowledgement AND BSD-3-Clause AND GPL-2.0-only"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ ocaml
+ ocaml-camlzip-dev
+ ocaml-compiler-libs
+ ocaml-findlib
+ ocaml-pcre-dev
+ gnutls-dev
+ pcre-dev
+ tcl-dev
+ "
+subpackages="$pkgname-tcl $pkgname-dev"
+source="http://download.camlcity.org/download/ocamlnet-$pkgver.tar.gz
+ fix-version-number.patch
+ "
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export C_INCLUDE_PATH=/usr/lib/ocaml
+
+ ./configure \
+ -datadir /usr/share/"$pkgname" \
+ -enable-pcre \
+ -enable-gnutls \
+ -enable-zip \
+ -with-nethttpd \
+ -enable-tcl \
+ -equeue-tcl-defs -I/usr/include \
+ -equeue-tcl-libs -ltcl8.6
+
+ msg "Building Ocamlnet bytecode libraries"
+ make -j1 all
+ msg "Building Ocamlnet native code libraries"
+ make opt
+}
+
+package() {
+ export DESTDIR="$pkgdir"
+ export OCAMLFIND_DESTDIR="$pkgdir"/usr/lib/ocaml
+ mkdir -vp "$pkgdir"/usr/share/"$pkgname" \
+ "$OCAMLFIND_DESTDIR"/stublibs
+ make install
+}
+
+tcl() {
+ pkgdesc="$pkgdesc (Tcl event system)"
+ amove usr/lib/ocaml/equeue-tcl \
+ usr/lib/ocaml/stublibs/dllequeue_tcl*
+}
+
+dev() {
+ default_dev
+
+ cd "$pkgdir"
+
+ local path; find usr/lib/ocaml \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+a251724deb35e756c81d2d3ac836d413b659acdce6c0acf479a4fca48934ab62ad399a884197d00dbb7e7558132a56be1c8efd553c0a644d329418272f809a46 ocamlnet-4.1.9.tar.gz
+0fd0e8e51229a126ebf96fdac957d2ed69e8b3511b11b2d0a7b6d4a6f77018a4f79370f59f5ce460ad5847dc727cdddce96b2aa1da7180baff1245aee35939f4 fix-version-number.patch
+"
diff --git a/testing/ocamlnet/fix-version-number.patch b/testing/ocamlnet/fix-version-number.patch
new file mode 100644
index 00000000000..71f8eb1c9d1
--- /dev/null
+++ b/testing/ocamlnet/fix-version-number.patch
@@ -0,0 +1,11 @@
+--- a/configure
++++ b/configure
+@@ -73,7 +73,7 @@
+ ocamlc=`get_path ocamlc`
+ set_defaults
+
+-version="$(sed -ne 's/^version: *"\(.*\)\.git".*/\1/p' ../opam)"
++version="4.1.9"
+ exec_suffix=""
+ path_sep=":"
+
diff --git a/testing/ocfs2-tools/APKBUILD b/testing/ocfs2-tools/APKBUILD
index b5a48ec4f40..579eedcf8c6 100644
--- a/testing/ocfs2-tools/APKBUILD
+++ b/testing/ocfs2-tools/APKBUILD
@@ -5,7 +5,7 @@
# TODO: Fix init script (remove bashisms)
pkgname=ocfs2-tools
pkgver=1.8.7
-pkgrel=0
+pkgrel=2
pkgdesc="Oracle Cluster File System 2 Core Tools"
url="https://oss.oracle.com/projects/ocfs2-tools"
arch="all"
@@ -20,7 +20,7 @@ source="ocfs2-tools-$pkgver.tar.gz::https://github.com/markfasheh/ocfs2-tools/ar
cluster.conf
musl-libocfs2-__bswap_constant_32.patch
musl-o2info-atimensec.patch
- musl-sys-raw.h.patch
+ new-linux.patch
fix-operations-include-ioctl.patch
fix-o2monitor-undeclared-PATH_MAX.patch
tunefs-remove-op_query.patch
@@ -70,7 +70,7 @@ e510f08a9adc2d7c07e7b8a4d2c503c5a130a156ab1bf1cf45d8480dd94490968f718e966d0bae09
f844e5389e0b42d6f91a1335bd2ef4d2666e5b883c999d05acd3bc63ad901bc5838aa4da35bb1d069463d7cc7dcfa277dbaa938b5953e8d420a37cfbb30f24f3 cluster.conf
87ea579ddb4a6ae34c5b815fe9015dc0168cb267312f9ef3dccfd16cd65a1f13ef1275dda72308d952ca844e42a486c891340210c4757866f2caacd0d6d3a916 musl-libocfs2-__bswap_constant_32.patch
d1eb24086f71f22e0333f4c246389ce82c9b4540bb0a2d091f6deee7f563c7e5457a838937cd07f1b90359e9c215639aebcbc54c551fb0e9e3617f29c03d49a1 musl-o2info-atimensec.patch
-b471c21f30f7ebba05ed8e4c63ff00b4ddad7e6095d256929472d61368dcb7566296201ad0af382a21f0a16c47f23cfa256ad91e6629f17595034e4807c96f3b musl-sys-raw.h.patch
+56fa3bdefca7fabec6db1ba24a5b6ee669008f05a953d88f1336a6a74e095235de350bc3adb810ec79d5e2c5045cec0db25ea4eb49e65ac31324dd7e4d770c32 new-linux.patch
41b5e0d2eae738a8e05b6377e6dd4fc79592c6fc7b62dbc1ea6d7bd1fdb80122bc2f915748e64e30c9e964a1ebc73a65d81b5409fd499a959b3015d8c0683ead fix-operations-include-ioctl.patch
35d5872e6a3651583442b3a333a2e866bf241b4fc19bdbabf4bb46cdbdb6b2806d81092b1fa80a9841a49e95a40d2bc09d12ad33e8cfbf3c267698eb9120b307 fix-o2monitor-undeclared-PATH_MAX.patch
c614235c98426a60d484203b47c44643833496de9864f2f6b1bedec206de33231878799d0b16ad2462c7ed2920cd0d8f9fd41fd7b1fff5b644e8be4b31ed815d tunefs-remove-op_query.patch
diff --git a/testing/ocfs2-tools/musl-sys-raw.h.patch b/testing/ocfs2-tools/musl-sys-raw.h.patch
deleted file mode 100644
index d29210d4338..00000000000
--- a/testing/ocfs2-tools/musl-sys-raw.h.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Wed, 23 May 2018 21:18:00 +0200
-Subject: [PATCH] Replace include sys/raw.h with linux/raw.h
-
---- a/debugfs.ocfs2/include/main.h
-+++ b/debugfs.ocfs2/include/main.h
-@@ -45,7 +45,7 @@
- #include <arpa/inet.h>
- #include <netinet/in.h>
- #include <signal.h>
--#include <sys/raw.h>
-+#include <linux/raw.h>
- #include <linux/kdev_t.h>
- #include <inttypes.h>
- #include <utime.h>
---- a/fswreck/include/main.h
-+++ b/fswreck/include/main.h
-@@ -43,7 +43,7 @@
- #include <arpa/inet.h>
- #include <netinet/in.h>
- #include <signal.h>
--#include <sys/raw.h>
-+#include <linux/raw.h>
- #include <linux/kdev_t.h>
- #include <inttypes.h>
-
---- a/o2info/operations.c
-+++ b/o2info/operations.c
-@@ -22,7 +22,7 @@
- #define _GNU_SOURCE /* Because libc really doesn't want us using O_DIRECT? */
-
- #include <errno.h>
--#include <sys/raw.h>
-+#include <linux/raw.h>
- #include <inttypes.h>
-
- #include "ocfs2/ocfs2.h"
diff --git a/testing/ocfs2-tools/new-linux.patch b/testing/ocfs2-tools/new-linux.patch
new file mode 100644
index 00000000000..05de1c55f68
--- /dev/null
+++ b/testing/ocfs2-tools/new-linux.patch
@@ -0,0 +1,37 @@
+neither this nor linux/raw.h exists, but seem to not be needed
+diff --git a/debugfs.ocfs2/include/main.h b/debugfs.ocfs2/include/main.h
+index 89a55ca..dc726eb 100644
+--- a/debugfs.ocfs2/include/main.h
++++ b/debugfs.ocfs2/include/main.h
+@@ -45,7 +45,6 @@
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
+ #include <signal.h>
+-#include <sys/raw.h>
+ #include <linux/kdev_t.h>
+ #include <inttypes.h>
+ #include <utime.h>
+diff --git a/fswreck/include/main.h b/fswreck/include/main.h
+index 03e1b3d..8260e75 100644
+--- a/fswreck/include/main.h
++++ b/fswreck/include/main.h
+@@ -43,7 +43,6 @@
+ #include <arpa/inet.h>
+ #include <netinet/in.h>
+ #include <signal.h>
+-#include <sys/raw.h>
+ #include <linux/kdev_t.h>
+ #include <inttypes.h>
+
+diff --git a/o2info/operations.c b/o2info/operations.c
+index 9c0ba30..b52b54e 100644
+--- a/o2info/operations.c
++++ b/o2info/operations.c
+@@ -22,7 +22,6 @@
+ #define _GNU_SOURCE /* Because libc really doesn't want us using O_DIRECT? */
+
+ #include <errno.h>
+-#include <sys/raw.h>
+ #include <inttypes.h>
+ #include <sys/ioctl.h>
+
diff --git a/testing/ocp-indent/APKBUILD b/testing/ocp-indent/APKBUILD
new file mode 100644
index 00000000000..4316deb5e66
--- /dev/null
+++ b/testing/ocp-indent/APKBUILD
@@ -0,0 +1,102 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocp-indent
+pkgver=1.8.2
+pkgrel=2
+pkgdesc="OCaml source code indenter"
+url="http://www.typerex.org/ocp-indent.html"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-only WITH OCaml-LGPL-linking-exception"
+depends_dev="ocaml-cmdliner-dev ocaml-findlib-dev"
+makedepends="$depends_dev dune ocaml"
+subpackages="
+ $pkgname-doc
+ $pkgname-emacs::noarch
+ $pkgname-vim::noarch
+ ocaml-$pkgname-dev:_libdev
+ ocaml-$pkgname:_lib
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/OCamlPro/ocp-indent/archive/$pkgver.tar.gz"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build --release --verbose
+}
+
+check() {
+ dune runtest --verbose
+}
+
+package() {
+ dune install --destdir="$pkgdir"
+}
+
+emacs() {
+ pkgdesc="$pkgdesc for Emacs"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="$pkgname=$pkgver-r$pkgrel emacs"
+
+ amove usr/share/emacs
+}
+
+vim() {
+ pkgdesc="$pkgdesc for vim"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="$pkgname=$pkgver-r$pkgrel vim"
+
+ amove usr/share/ocp-indent/vim
+}
+
+_libdev() {
+ pkgdesc="$pkgdesc (development files)"
+ depends="$depends_dev ocaml-$pkgname=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+
+}
+
+_lib() {
+ pkgdesc="$pkgdesc (library)"
+
+ amove usr/lib/ocaml
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+c5f8b63d6d3baabbadffba159d485f54f6e903eaa59a58b6df509e12e679b5b63a1cf7734d336d6b3456ea6ac74e42c58889199f2a3ed584566589d0c9bbfef5 ocp-indent-1.8.2.tar.gz
+"
diff --git a/testing/ocp-index/APKBUILD b/testing/ocp-index/APKBUILD
new file mode 100644
index 00000000000..5f08f93f5d3
--- /dev/null
+++ b/testing/ocp-index/APKBUILD
@@ -0,0 +1,109 @@
+# Contributor: rubicon <rubicon@mailo.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=ocp-index
+pkgver=1.3.6
+pkgrel=0
+pkgdesc="Lightweight completion and documentation browsing for OCaml libraries"
+url="http://www.typerex.org/ocp-index.html"
+arch="all !riscv64 !loongarch64" # ocaml
+license="LGPL-2.1-only WITH OCaml-LGPL-linking-exception AND GPL-3.0-only"
+depends_dev="
+ ocaml-cmdliner-dev
+ ocaml-compiler-libs
+ ocaml-ocp-indent-dev
+ ocaml-re-dev
+ "
+makedepends="$depends_dev dune ocaml ocaml-cppo"
+subpackages="
+ $pkgname-doc
+ $pkgname-emacs::noarch
+ $pkgname-vim::noarch
+ ocaml-$pkgname-dev:_libdev
+ ocaml-$pkgname:_lib
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/OCamlPro/ocp-index/archive/refs/tags/$pkgver.tar.gz"
+_ocamldir=usr/lib/ocaml
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ dune build -p ocp-index --verbose
+}
+
+check() {
+ dune runtest --build-dir=.testenv -p ocp-index
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ ocp-index
+}
+
+emacs() {
+ pkgdesc="$pkgdesc in Emacs"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="$pkgname=$pkgver-r$pkgrel emacs"
+
+ amove usr/share/emacs
+}
+
+vim() {
+ pkgdesc="$pkgdesc in vim"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="$pkgname=$pkgver-r$pkgrel vim"
+
+ amove usr/share/ocp-index/vim
+}
+
+_libdev() {
+ pkgdesc="$pkgdesc (development files)"
+ depends="$depends_dev ocaml-$pkgname=$pkgver-r$pkgrel"
+
+ cd "$pkgdir"
+
+ local path; find $_ocamldir \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+
+}
+
+_lib() {
+ pkgdesc="$pkgdesc (library)"
+
+ amove usr/lib/ocaml
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+f8f97e846e37473a77636518ceefafa72a62f26ed9e7fc65ee4625498bcc1797187e895d903dfb2e874e93889956ee02b2e1f6f90c61717107db8e96d388d65a ocp-index-1.3.6.tar.gz
+"
diff --git a/testing/octoprint-creality2xfix/APKBUILD b/testing/octoprint-creality2xfix/APKBUILD
new file mode 100644
index 00000000000..335ce48a7de
--- /dev/null
+++ b/testing/octoprint-creality2xfix/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=octoprint-creality2xfix
+pkgver=0.0.4
+pkgrel=1
+pkgdesc="Fixes the temperature reporting from the Creality Ender-3 v2 printer"
+url="https://github.com/SimplyPrint/OctoPrint-Creality2xTemperatureReportingFix"
+arch="noarch"
+license="MIT"
+depends="octoprint"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+options="!check" # no tests
+subpackages="$pkgname-pyc"
+source="https://github.com/SimplyPrint/OctoPrint-Creality2xTemperatureReportingFix/archive/refs/tags/$pkgver/OctoPrint-Creality2xTemperatureReportingFix-$pkgver.tar.gz"
+builddir="$srcdir/OctoPrint-Creality2xTemperatureReportingFix-$pkgver"
+
+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="
+7ef05e9e8cc4482f815ebbc5d58abb8569a5249ed38382838048ba72e7575aa47e84120bbb9d85ac06c2914702dabecb141e124fd50cf0bb805e2b5de790a35f OctoPrint-Creality2xTemperatureReportingFix-0.0.4.tar.gz
+"
diff --git a/testing/octoprint-filecheck/APKBUILD b/testing/octoprint-filecheck/APKBUILD
new file mode 100644
index 00000000000..8e53aee6cae
--- /dev/null
+++ b/testing/octoprint-filecheck/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=octoprint-filecheck
+pkgver=2024.3.27
+pkgrel=0
+pkgdesc="Checks for common issues in uploaded files"
+url="https://github.com/OctoPrint/OctoPrint-FileCheck"
+arch="noarch"
+license="AGPL-3.0-only"
+depends="octoprint"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+options="!check" # no tests
+subpackages="$pkgname-pyc"
+source="https://github.com/OctoPrint/OctoPrint-FileCheck/archive/refs/tags/$pkgver/OctoPrint-FileCheck-$pkgver.tar.gz"
+builddir="$srcdir/OctoPrint-FileCheck-$pkgver"
+
+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="
+5aa5709dabbd8ce7fee1867d6e140f2b2d6bbce15eacb0977d7044e788b9d5db358ea0d6e729c371772605fcf28902be65ffaab050670cbb5d9e9af3596ede17 OctoPrint-FileCheck-2024.3.27.tar.gz
+"
diff --git a/testing/octoprint-firmwarecheck/APKBUILD b/testing/octoprint-firmwarecheck/APKBUILD
new file mode 100644
index 00000000000..40e5d597c8f
--- /dev/null
+++ b/testing/octoprint-firmwarecheck/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=octoprint-firmwarecheck
+pkgver=2021.10.11
+pkgrel=1
+pkgdesc="Checks for unsafe or broken printer firmwares"
+url="https://github.com/OctoPrint/OctoPrint-FirmwareCheck"
+arch="noarch"
+license="AGPL-3.0-only"
+depends="octoprint"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+options="!check" # no tests
+subpackages="$pkgname-pyc"
+source="https://github.com/OctoPrint/OctoPrint-FirmwareCheck/archive/refs/tags/$pkgver/OctoPrint-FirmwareCheck-$pkgver.tar.gz"
+builddir="$srcdir/OctoPrint-FirmwareCheck-$pkgver"
+
+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="
+1916d1fb23869aec9eb8f7a837d9622e04fef551701874f5c82f4066bc1a9a6d46bead6cd0c7bd7c1a87bff30449be147534f9f3d94d21294c7f6d1ee8d9faf6 OctoPrint-FirmwareCheck-2021.10.11.tar.gz
+"
diff --git a/testing/octoprint-pisupport/APKBUILD b/testing/octoprint-pisupport/APKBUILD
new file mode 100644
index 00000000000..e7b72dd6b2b
--- /dev/null
+++ b/testing/octoprint-pisupport/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=octoprint-pisupport
+pkgver=2023.10.10
+pkgrel=0
+pkgdesc="OctoPrint plugin that provides additional information about your Pi in the UI"
+url="https://github.com/OctoPrint/OctoPrint-PiSupport"
+arch="noarch"
+license="AGPL-3.0-only"
+depends="octoprint"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-ddt py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/OctoPrint/OctoPrint-PiSupport/archive/refs/tags/$pkgver/OctoPrint-PiSupport-$pkgver.tar.gz"
+builddir="$srcdir/OctoPrint-PiSupport-$pkgver"
+
+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="
+ecc5f323efccfe3d7ebc2d57c47799bdac589fe2edbdceb4f162aa82453335b0a0a6d4e62bfb28f3b288b152a251c05b5f09559b43b43ba46ba1eb0935b2987f OctoPrint-PiSupport-2023.10.10.tar.gz
+"
diff --git a/testing/octoprint/APKBUILD b/testing/octoprint/APKBUILD
new file mode 100644
index 00000000000..66944a2e52f
--- /dev/null
+++ b/testing/octoprint/APKBUILD
@@ -0,0 +1,119 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=octoprint
+pkgver=1.9.3
+pkgrel=4
+pkgdesc="Snappy web interface for your 3D printer"
+url="https://octoprint.org/"
+arch="noarch"
+license="AGPL-3.0-only"
+depends="
+ py3-argon2-cffi
+ py3-babel
+ py3-blinker
+ py3-cachelib
+ py3-class-doc
+ py3-click
+ py3-colorlog
+ py3-emoji
+ py3-feedparser
+ py3-filetype
+ py3-flask
+ py3-flask-assets
+ py3-flask-babel
+ py3-flask-limiter
+ py3-flask-login
+ py3-frozendict
+ py3-future
+ py3-markdown
+ py3-netaddr
+ py3-netifaces
+ py3-passlib
+ py3-pathvalidate
+ py3-pkginfo
+ py3-psutil
+ py3-pydantic
+ py3-pylru
+ py3-pyserial
+ py3-regex
+ py3-requests
+ py3-sarge
+ py3-semantic-version
+ py3-sentry-sdk
+ py3-setuptools
+ py3-tornado
+ py3-unidecode
+ py3-watchdog
+ py3-websocket-client
+ py3-werkzeug
+ py3-wrapt
+ py3-yaml
+ py3-zeroconf
+ py3-zipstream-ng
+"
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-python-versioneer
+ "
+checkdepends="
+ py3-ddt
+ py3-pytest
+ "
+pkgusers="octoprint"
+pkggroups="octoprint"
+install="$pkgname.pre-install"
+subpackages="
+ $pkgname-openrc
+ $pkgname-pyc
+ "
+# upstream produces volatile tarballs: https://github.com/OctoPrint/OctoPrint/issues/4908
+# https://github.com/OctoPrint/OctoPrint/archive/refs/tags/$pkgver/OctoPrint-$pkgver.tar.gz
+source="
+ https://dev.alpinelinux.org/archive/octoprint/OctoPrint-$pkgver.tar.gz
+
+ config.yaml
+ octoprint.initd
+
+ fix-tests.patch
+ netaddr-0.10.patch
+ pydantic-2.0.patch
+ py3.12-typeparams.patch
+ "
+builddir="$srcdir/OctoPrint-$pkgver"
+
+prepare() {
+ default_prepare
+ rm versioneer.py
+}
+
+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 -k 'not pip'
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+
+ install -Dm640 -o octoprint -g octoprint "$srcdir"/config.yaml "$pkgdir"/etc/octoprint/config.yaml
+ install -Dm755 "$srcdir"/octoprint.initd "$pkgdir"/etc/init.d/octoprint
+ install -d -o octoprint -g octoprint "$pkgdir"/var/log/octoprint/ "$pkgdir"/var/lib/octoprint/
+}
+
+sha512sums="
+ec2cc8e73c3ff4855c3e389259d87d196aadf4a55f35ccef87b1ef59a0d832a29c52c4ab28db833b5ec275c5270fefb35e4c4769d692e004828b58aa6241c044 OctoPrint-1.9.3.tar.gz
+b56a37d1225d37caff1288b9c943ee86ed1f36653bbb311c835031e53e5f68e95be3ad9b53d333aad65508ba2a3ba786f80601bd74fef8efb1c3364a8fd85010 config.yaml
+3edd9971cc59fb66126f063ecac50a77792c5a3f5b718e03b7cbff74ff9f842c7784e7de2a56fb2e847a2bcb8e1c4fcfc52f8d236cdf3ecd511b230eea001162 octoprint.initd
+d678b87aaee4529b4d96f496862e5bec86df98491330328848ac06fec8d1f4571cfac995b2e9de26dcd2efc43b9dc24578d7f50cae1893fefc76470aee074f14 fix-tests.patch
+f99c752dccdee4821a88ac6e7ea98ac906002d734d2672bbd513b30d596b0c54b699071679581cdc46bfcd0eb98d6d032243a6d940f64620a69623a65db229bf netaddr-0.10.patch
+ed0bebc3632519b0adab58f6ef4666e0192ab72021f2c127146eec9c566551f04c49f05ace5a4056177f21605064146ac6259a88db15faaf88853fd3750abe88 pydantic-2.0.patch
+6845a07fbe7776b7f29a2d2a532fe5f230d40ab74705aa6dff50b777e2ac603fd88e1f5434323285895e2a8705f54c8a2970228ee1309a746e7a921229e8de4b py3.12-typeparams.patch
+"
diff --git a/testing/octoprint/config.yaml b/testing/octoprint/config.yaml
new file mode 100644
index 00000000000..e3617db687f
--- /dev/null
+++ b/testing/octoprint/config.yaml
@@ -0,0 +1,153 @@
+# this is just some subset of the config. comments WILL disappear, octoprint edits this file.
+# for full reference, see:
+# https://docs.octoprint.org/en/master/configuration/config_yaml.html
+
+access_control:
+ # The YAML user file to use. If left out defaults to users.yaml in the default configuration folder.
+ userfile: /etc/octoprint/users.yaml
+
+ # If set to true, will automatically log on clients originating from any of the networks defined in
+ # "localNetworks" as the user defined in "autologinAs". Defaults to false.
+ #autologinLocal: false
+
+ # The name of the user to automatically log on clients originating from "localNetworks" as. Must
+ # be the name of one of your configured users.
+ #autologinAs: someUser
+
+ # A list of networks or IPs for which an automatic logon as the user defined in "autologinAs" will
+ # take place. If available OctoPrint will evaluate the "X-Forwarded-For" HTTP header for determining
+ # the client's IP address (see https://code.google.com/p/haproxy-docs/wiki/forwardfor on how to
+ # configure the sending of this header in HAProxy). Defaults to 127.0.0.0/8 (so basically anything
+ # originating from localhost).
+ #localNetworks:
+ #- 127.0.0.0/8
+ #- 192.168.1.0/24
+
+ # Whether to trust Basic Authentication headers. If you have setup Basic Authentication in front of
+ # OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will
+ # be logged into OctoPrint as the user user during Basic Authentication. Your should ONLY ENABLE THIS if your
+ # OctoPrint instance is only accessible through a connection locked down through Basic Authentication!
+ #trustBasicAuthentication: false
+
+ # Whether to also check the password provided through Basic Authentication if the Basic Authentication
+ # header is to be trusted. Disabling this will only match the user name in the Basic Authentication
+ # header and login the user without further checks. Use with caution.
+ #checkBasicAuthenticationPassword: true
+
+ # Whether to trust remote user headers. If you have setup authentication in front of
+ # OctoPrint and the user names you use there match OctoPrint accounts, by setting this to true users will
+ # be logged into OctoPrint as the user provided in the header. Your should ONLY ENABLE THIS if your
+ # OctoPrint instance is only accessible through a connection locked down through an authenticating reverse proxy!
+ #trustRemoteUser: false
+
+ # Header used by the reverse proxy to convey the authenticated user.
+ #remoteUserHeader: REMOTE_USER
+
+ # If a remote user is not found, add them. Use this only if all users from the remote system can use OctoPrint.
+ #addRemoteUsers: false
+
+
+api:
+ # Whether to enable the API
+ #enabled: True
+
+ # Current API key needed for accessing the API
+ #key: ...
+
+ # Whether to allow cross origin access to the API or not
+ #allowCrossOrigin: false
+
+
+folder:
+ # Absolute path where to store gcode uploads. Defaults to the uploads folder in the OctoPrint settings folder
+ uploads: /var/lib/octoprint/uploads
+
+ # Absolute path where to store finished timelapse recordings. Defaults to the timelapse folder in the OctoPrint
+ # settings dir
+ timelapse: /var/lib/octoprint/timelapse
+
+ # Absolute path where to store temporary timelapse files. Defaults to the timelapse/tmp folder in the OctoPrint
+ # settings dir
+ timelapse_tmp: /var/lib/octoprint/timelapse_tmp
+
+ # Absolute path where to store log files. Defaults to the logs folder in the OctoPrint settings dir
+ logs: /var/log/octoprint
+
+ # Absolute path to the virtual printer's simulated SD card. Only useful for development, just ignore
+ # it otherwise
+ virtualSd: /var/lib/octoprint/virtualSd
+
+ # Absolute path to a folder being watched for new files which then get automatically
+ # added to OctoPrint (and deleted from that folder). Can e.g. be used to define a folder which
+ # can then be mounted from remote machines and used as local folder for quickly adding downloaded
+ # and/or sliced objects to print in the future.
+ watched: /run/octoprint/watched
+
+ # Absolute path to a folder where manually installed plugins may reside
+ plugins: /var/lib/octoprint/plugins
+
+ # Absolute path where to store slicing profiles
+ slicingProfiles: /etc/octoprint/slicingProfiles
+
+ # Absolute path where to store printer profiles
+ printerProfiles: /etc/octoprint/printerProfiles
+
+ # Absolute path where to store (GCODE) scripts
+ scripts: /var/lib/octoprint/scripts
+
+
+server:
+ # Use this option to define the host to which to bind the server, defaults to "0.0.0.0" (= all
+ # interfaces)
+ host: 0.0.0.0
+
+ # Use this option to define the port to which to bind the server, defaults to 5000
+ port: 5000
+
+ # If this option is true, OctoPrint will show the First Run wizard and set the setting to
+ # false after that completes
+ firstRun: true
+
+ # Settings if OctoPrint is running behind a reverse proxy (haproxy, nginx, apache, ...).
+ # These are necessary in order to make OctoPrint generate correct external URLs so
+ # that AJAX requests and download URLs work, and so that client IPs are read correctly.
+ reverseProxy:
+
+ # The request header from which to determine the URL prefix under which OctoPrint
+ # is served by the reverse proxy
+ #prefixHeader: X-Script-Name
+
+ # The request header from which to determine the scheme (http or https) under which
+ # a specific request to OctoPrint was made to the reverse proxy
+ #schemeHeader: X-Scheme
+
+ # The request header from which to determine the host under which OctoPrint
+ # is served by the reverse proxy
+ #hostHeader: X-Forwarded-Host
+
+ # Use this option to define an optional URL prefix (with a leading /, so absolute to your
+ # server's root) under which to run OctoPrint. This should only be needed if you want to run
+ # OctoPrint behind a reverse proxy under a different root endpoint than `/` and can't configure
+ # said reverse proxy to send a prefix HTTP header (X-Script-Name by default, see above) with
+ # forwarded requests.
+ #prefixFallback: ""
+
+ # Use this option to define an optional forced scheme (http or https) under which to run
+ # OctoPrint. This should only be needed if you want to run OctoPrint behind a reverse
+ # proxy that also does HTTPS determination but can't configure said reverse proxy to
+ # send a scheme HTTP header (X-Scheme by default, see above) with forwarded requests.
+ #schemeFallback: ""
+
+ # Use this option to define an optional forced host under which to run OctoPrint. This should
+ # only be needed if you want to run OctoPrint behind a reverse proxy with a different hostname
+ # than OctoPrint itself but can't configure said reverse proxy to send a host HTTP header
+ # (X-Forwarded-Host by default, see above) with forwarded requests.
+ #hostFallback: ""
+
+ # List of trusted downstream servers for which to ignore the IP address when trying to determine
+ # the connecting client's IP address. If you have OctoPrint behind more than one reverse proxy
+ # you should add their IPs here so that they won't be interpreted as the client's IP. One reverse
+ # proxy will be handled correctly by default.
+ #trustedDownstream:
+ #- 192.168.1.254
+ #- 192.168.23.42
diff --git a/testing/octoprint/fix-tests.patch b/testing/octoprint/fix-tests.patch
new file mode 100644
index 00000000000..9a52286c1e7
--- /dev/null
+++ b/testing/octoprint/fix-tests.patch
@@ -0,0 +1,9 @@
+--- ./pytest.ini.orig
++++ ./pytest.ini
+@@ -1,5 +1,3 @@
+ [pytest]
+ testpaths = src tests
+-addopts = --doctest-modules
+- --doctest-repr=octoprint.util:pp
+- --ignore=src/octoprint/vendor
++addopts = --ignore=src/octoprint/vendor
diff --git a/testing/octoprint/netaddr-0.10.patch b/testing/octoprint/netaddr-0.10.patch
new file mode 100644
index 00000000000..54f71330b03
--- /dev/null
+++ b/testing/octoprint/netaddr-0.10.patch
@@ -0,0 +1,33 @@
+From 519b66c312e903c8485470a2792bbfaa5dc5e10a Mon Sep 17 00:00:00 2001
+From: "lauren n. liberda" <lauren@selfisekai.rocks>
+Date: Thu, 15 Feb 2024 03:18:46 +0100
+Subject: [PATCH] upgrade netaddr to 0.10.x
+
+---
+ AUTHORS.md | 1 +
+ setup.py | 2 +-
+ src/octoprint/util/net.py | 7 ++++---
+ 3 files changed, 6 insertions(+), 4 deletions(-)
+
+diff --git a/src/octoprint/util/net.py b/src/octoprint/util/net.py
+index e3fc10d5f7..4207a212e7 100644
+--- a/src/octoprint/util/net.py
++++ b/src/octoprint/util/net.py
+@@ -102,13 +102,14 @@ def to_ipnetwork(address):
+ )
+ )
+
+- subnets += list(netaddr.ip.IPV4_PRIVATE) + [
++ subnets += list(netaddr.ip.IPV4_PRIVATE_USE) + [
+ netaddr.ip.IPV4_LOOPBACK,
+ netaddr.ip.IPV4_LINK_LOCAL,
+ ]
+ if HAS_V6:
+- subnets += list(netaddr.ip.IPV6_PRIVATE) + [
+- netaddr.IPNetwork(netaddr.ip.IPV6_LOOPBACK),
++ subnets += [
++ netaddr.ip.IPV6_UNIQUE_LOCAL,
++ netaddr.ip.IPV6_LOOPBACK,
+ netaddr.ip.IPV6_LINK_LOCAL,
+ ]
+
diff --git a/testing/octoprint/octoprint.initd b/testing/octoprint/octoprint.initd
new file mode 100644
index 00000000000..691c0fa5760
--- /dev/null
+++ b/testing/octoprint/octoprint.initd
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+
+command="/usr/bin/octoprint"
+command_args="serve --basedir /etc/octoprint"
+command_user="octoprint:octoprint"
+directory="/var/lib/octoprint"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -m 755 -o "octoprint:octoprint" /etc/octoprint
+ checkpath -d -m 755 -o "octoprint:octoprint" /run/octoprint
+ checkpath -d -m 755 -o "octoprint:octoprint" /run/octoprint/watched
+ checkpath -d -m 755 -o "octoprint:octoprint" /var/lib/octoprint
+ checkpath -d -m 755 -o "octoprint:octoprint" /var/log/octoprint
+
+ # contains secrets for api, cookies
+ checkpath -f -m 640 -o "octoprint:octoprint" /etc/octoprint/config.yaml
+}
diff --git a/testing/octoprint/octoprint.pre-install b/testing/octoprint/octoprint.pre-install
new file mode 100644
index 00000000000..0bbbbd37d8e
--- /dev/null
+++ b/testing/octoprint/octoprint.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S octoprint 2>/dev/null
+adduser -S -D -H -h /var/lib/octoprint -s /sbin/nologin -G octoprint -g octoprint octoprint 2>/dev/null
+
+exit 0
diff --git a/testing/octoprint/py3.12-typeparams.patch b/testing/octoprint/py3.12-typeparams.patch
new file mode 100644
index 00000000000..f1f7d6ceb2c
--- /dev/null
+++ b/testing/octoprint/py3.12-typeparams.patch
@@ -0,0 +1,49 @@
+From 0718dfb68eaae5d9547690458c6f33b3243d9d44 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= <gina@octoprint.org>
+Date: Wed, 4 Oct 2023 13:35:56 +0200
+Subject: [PATCH] =?UTF-8?q?=F0=9F=92=9A=20Fix=203.12=20unit=20tests?=
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+---
+ src/octoprint/plugin/core.py | 5 ++++-
+ tests/plugin/test_settings.py | 2 ++
+ 2 files changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/src/octoprint/plugin/core.py b/src/octoprint/plugin/core.py
+index 297386e4a9..b793f401d0 100644
+--- a/src/octoprint/plugin/core.py
++++ b/src/octoprint/plugin/core.py
+@@ -115,7 +115,10 @@ def extract_names(node):
+ for a in reversed(assignments):
+ targets = extract_target_ids(a)
+ if key in targets:
+- if isinstance(a.value, ast.Str):
++ if isinstance(a.value, ast.Constant):
++ result[key] = a.value.value
++
++ elif isinstance(a.value, ast.Str):
+ result[key] = a.value.s
+
+ elif (
+diff --git a/tests/plugin/test_settings.py b/tests/plugin/test_settings.py
+index 6d5a3d4281..36f52182d1 100644
+--- a/tests/plugin/test_settings.py
++++ b/tests/plugin/test_settings.py
+@@ -111,6 +111,7 @@ def test_deprecated_forwarded_getter(
+ called_method.__name__ = forwarded
+ called_method.__qualname__ = forwarded
+ called_method.__annotations__ = {}
++ called_method.__type_params__ = ()
+
+ method = getattr(plugin_settings, deprecated)
+ assert callable(method)
+@@ -330,6 +331,7 @@ def test_deprecated_forwarded_setter(
+ called_method.__name__ = forwarded
+ called_method.__qualname__ = forwarded
+ called_method.__annotations__ = {}
++ called_method.__type_params__ = ()
+
+ method = getattr(plugin_settings, deprecated)
+ assert callable(method)
diff --git a/testing/octoprint/pydantic-2.0.patch b/testing/octoprint/pydantic-2.0.patch
new file mode 100644
index 00000000000..1fc21eee45c
--- /dev/null
+++ b/testing/octoprint/pydantic-2.0.patch
@@ -0,0 +1,28 @@
+--- ./src/octoprint/vendor/with_attrs_docs.py.orig
++++ ./src/octoprint/vendor/with_attrs_docs.py
+@@ -4,7 +4,6 @@
+
+ from typing import Type
+
+-from class_doc import extract_docs_from_cls_obj
+ from pydantic import BaseModel
+
+
+@@ -17,16 +16,7 @@
+ :param model: any pydantic model
+ :param override_existing: override existing descriptions
+ """
+- docs = extract_docs_from_cls_obj(model)
+-
+- for field in model.__fields__.values():
+- if field.field_info.description and not override_existing:
+- continue
+-
+- try:
+- field.field_info.description = '\n'.join(docs[field.name])
+- except KeyError:
+- pass
++ pass
+
+
+ def with_attrs_docs(
diff --git a/testing/odyssey/APKBUILD b/testing/odyssey/APKBUILD
index 34c3873773a..7ca28068ef3 100644
--- a/testing/odyssey/APKBUILD
+++ b/testing/odyssey/APKBUILD
@@ -1,16 +1,24 @@
# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
pkgname=odyssey
-pkgver=1.1
-pkgrel=1
+pkgver=1.3
+pkgrel=2
pkgdesc="Scalable PostgreSQL connection pooler"
url="https://github.com/yandex/odyssey"
arch="x86_64 x86" # limited by machinarium supported architecture
license="BSD-3-Clause"
-makedepends="cmake postgresql-dev openssl1.1-compat-dev linux-pam-dev"
+makedepends="
+ argp-standalone
+ cmake
+ linux-pam-dev
+ openssl-dev
+ postgresql-dev
+ "
options="!check" # https://github.com/yandex/odyssey/issues/134
subpackages="$pkgname-openrc"
-source="$pkgname-$pkgver-$pkgrel.tar.gz::https://github.com/yandex/odyssey/archive/$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/yandex/odyssey/archive/$pkgver.tar.gz
+ argp.patch
+ types.patch
odyssey.initd
odyssey.confd"
@@ -18,14 +26,13 @@ build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
+ export CXXFLAGS="$CXXFLAGS -I$(pg_config --includedir)/server)"
cmake -B build \
- -DPOSTGRESQL_INCLUDE_DIR="$(pg_config --includedir)/server" \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- $CMAKE_CROSSOPTS .
- make -C build
+ $CMAKE_CROSSOPTS
+ cmake --build build
}
check() {
@@ -45,6 +52,10 @@ package() {
}
-sha512sums="640eb0c68c274ad2b58edf854ae969e47b83376303c39a61cb8752598feb1afe612e62e41a373fa2630dea2f2b1682b2427058501b2db1b4f5b5eb1d9cc03090 odyssey-1.1-1.tar.gz
+sha512sums="
+d78fd48439074fe75b800051d69ed611efdafdceff339a9fbae5bb4c961c1f934c4c6e6e10c0350ad240977d8ad655586e55c7f7153528abebb7175a62fe68e6 odyssey-1.3.tar.gz
+8b3c6ca3490cf96d3578161fb7ed35fc3fbb56bed8d71dcdf4cbdce284cd352b14fc0ad6c309e087b198c4fdab3859d274825a0f77f4282b27bfd7df7077f52d argp.patch
+d938644040a555349a50f8b9cbe7b111c105f8a3d96609152aeb86880c7c6529f0a05202358bce7674ce2244d8657ae0e1781a7386e94ed124e5b975e29d987d types.patch
a1f129b06476c103465e9e649e88e1d5da071a377453e7a5b6dce4734928e8a5eb1c29b4a026d38b81587e6ca813ac3f533c668a264ae4ae7997716c2ec85715 odyssey.initd
-1e9fdd3cc7cf0d789b2ea57b275cca6de171d3adc887f1cddfb5a0b273988a514db133e58403fd5a01ec0511446b8746c6a78137df1d5141c7499065e9bd745a odyssey.confd"
+1e9fdd3cc7cf0d789b2ea57b275cca6de171d3adc887f1cddfb5a0b273988a514db133e58403fd5a01ec0511446b8746c6a78137df1d5141c7499065e9bd745a odyssey.confd
+"
diff --git a/testing/odyssey/argp.patch b/testing/odyssey/argp.patch
new file mode 100644
index 00000000000..5efbc3b08db
--- /dev/null
+++ b/testing/odyssey/argp.patch
@@ -0,0 +1,13 @@
+diff --git a/sources/CMakeLists.txt b/sources/CMakeLists.txt
+index 81f91a9..602d327 100644
+--- a/sources/CMakeLists.txt
++++ b/sources/CMakeLists.txt
+@@ -77,7 +77,7 @@ if(THREADS_HAVE_PTHREAD_ARG)
+ set_property(TARGET ${od_binary} PROPERTY INTERFACE_COMPILE_OPTIONS "-pthread")
+ endif()
+
+-target_link_libraries(${od_binary} ${od_libraries} ${CMAKE_THREAD_LIBS_INIT} m)
++target_link_libraries(${od_binary} ${od_libraries} ${CMAKE_THREAD_LIBS_INIT} m argp)
+
+ if (BUILD_COMPRESSION)
+ target_link_libraries(${od_binary} ${compression_libraries})
diff --git a/testing/odyssey/types.patch b/testing/odyssey/types.patch
new file mode 100644
index 00000000000..8e4dd145d50
--- /dev/null
+++ b/testing/odyssey/types.patch
@@ -0,0 +1,12 @@
+diff --git a/third_party/machinarium/sources/zpq_stream.h b/third_party/machinarium/sources/zpq_stream.h
+index 70ef5e2..f86b3d2 100644
+--- a/third_party/machinarium/sources/zpq_stream.h
++++ b/third_party/machinarium/sources/zpq_stream.h
+@@ -9,6 +9,7 @@
+ #define MM_ZPQ_STREAM_H
+
+ #include <stdlib.h>
++#include <sys/types.h>
+
+ #define MM_ZPQ_IO_ERROR (-1)
+ #define MM_ZPQ_DECOMPRESS_ERROR (-2)
diff --git a/testing/oh-my-zsh/APKBUILD b/testing/oh-my-zsh/APKBUILD
index 96629bca0e4..05d60a51840 100644
--- a/testing/oh-my-zsh/APKBUILD
+++ b/testing/oh-my-zsh/APKBUILD
@@ -2,9 +2,8 @@
# Maintainer: Jacek Pruciak <alpine@juniorjpdj.pl>
pkgname=oh-my-zsh
pkgver=0_git20220104
-pkgrel=0
-pkgdesc="A delightful community-driven framework for managing your zsh \
-configuration that includes plugins and themes."
+pkgrel=1
+pkgdesc="A delightful community-driven framework for managing your zsh configuration that includes plugins and themes"
url="https://ohmyz.sh/"
arch="noarch"
license="MIT"
diff --git a/testing/oil/APKBUILD b/testing/oil/APKBUILD
index bb8c0c19b96..c8bfc944917 100644
--- a/testing/oil/APKBUILD
+++ b/testing/oil/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Miles Alan <m@milesalan.com>
# Contributor: Miles Alan <m@milesalan.com>
pkgname=oil
-pkgver=0.9.6
+pkgver=0.21.0
pkgrel=0
pkgdesc="Oil is a new POSIX & bash compatible shell"
url="https://www.oilshell.org"
@@ -15,7 +15,10 @@ subpackages="$pkgname-doc"
source="https://www.oilshell.org/download/oil-$pkgver.tar.gz"
build() {
- ./configure --prefix /usr --with-readline # not a gnu-autoconf script
+ # not gnu autoconf
+ ./configure \
+ --prefix /usr \
+ --datarootdir /usr/share
make
}
@@ -25,5 +28,5 @@ package() {
}
sha512sums="
-627aacfd65beffacb60dc414f7858b6df74372be9a389edb27275595cd17d7d833ba95dd0e22bbd43ea6e4a45cbfb46defbd37beae39221f7f03f70d57bdfe0b oil-0.9.6.tar.gz
+6226fba20a7dd53344d4cd710bb5b4ffe65a9cf5413bff965e99af01c161f555c556296aebe2b842376e825c96a0dfc538964d3d1c904e61cab26bb1850ddfdc oil-0.21.0.tar.gz
"
diff --git a/testing/oksh/APKBUILD b/testing/oksh/APKBUILD
deleted file mode 100644
index dc3065dfd50..00000000000
--- a/testing/oksh/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Matthew T Hoare <matthew.t.hoare@gmail.com>
-# Maintainer: Matthew T Hoare <matthew.t.hoare@gmail.com>
-pkgname=oksh
-pkgver=7.0
-pkgrel=0
-pkgdesc="Portable OpenBSD ksh, based on the Public Domain KornShell (pdksh)"
-url="https://github.com/ibara/oksh"
-arch="all"
-license="BSD-3-Clause"
-options="!check" # no checks
-install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
-subpackages="$pkgname-doc"
-source="https://github.com/ibara/oksh/archive/oksh-$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgname-$pkgver"
-
-build() {
- ./configure \
- --bindir=/bin \
- --mandir=/usr/share/man
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-e06536b63c64ee0ab50a7a0ef28a1597e06ef9e1579ff35f48d2a1da414dbd6e6c8a53792dbdb1c77613f8f3d1247988fdfec53cb95e12974e086f3c558aa5f7 oksh-7.0.tar.gz
-"
diff --git a/testing/oksh/oksh.post-install b/testing/oksh/oksh.post-install
deleted file mode 100644
index 4244150e6cc..00000000000
--- a/testing/oksh/oksh.post-install
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-add-shell '/bin/oksh'
-exit 0
diff --git a/testing/oksh/oksh.post-upgrade b/testing/oksh/oksh.post-upgrade
deleted file mode 100644
index c5b5707c7ba..00000000000
--- a/testing/oksh/oksh.post-upgrade
+++ /dev/null
@@ -1 +0,0 @@
-oksh.post-install
diff --git a/testing/oksh/oksh.pre-deinstall b/testing/oksh/oksh.pre-deinstall
deleted file mode 100644
index a7695b8cedb..00000000000
--- a/testing/oksh/oksh.pre-deinstall
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-remove-shell '/bin/oksh'
-exit 0
diff --git a/testing/ol/APKBUILD b/testing/ol/APKBUILD
new file mode 100644
index 00000000000..6cd74abb6df
--- /dev/null
+++ b/testing/ol/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Yuriy Chumak <yuriy.chumak@mail.com>
+# Maintainer: Yuriy Chumak <yuriy.chumak@mail.com>
+pkgname=ol
+pkgver=2.4
+pkgrel=0
+pkgdesc="Purely functional dialect of Lisp"
+url="https://yuriy-chumak.github.io/ol/"
+arch="all"
+license="LGPL-3.0-or-later OR MIT"
+makedepends="xxd"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/yuriy-chumak/ol/archive/refs/tags/$pkgver.tar.gz
+ GNUmakefile.patch
+ tests-Makefile.patch
+ memfd_create.patch
+ "
+
+build() {
+ make HAS_SECCOMP=0
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+c280da70f04637e1c822ab5a4b6eda3a1e1602b4c1fbd59731be2619fb09b0acb079841ba142f9b7b80cbf7539b1c7bd15603311b2ae4a30636f174a1ba2499b ol-2.4.tar.gz
+07db7f6bc4a0a039865bb59fa09b0a10e6d0f0d644ab846435fb5fd6fe6e84a11e8c2736ea41b81b31445a57c45f1e0d7573132dd69c1beb5e144a1ee90ac995 GNUmakefile.patch
+fa5bdc23dda4139f04597e1d2f41ce99007378b457ddfd36b0ab5a1f932d5147c88b123fee6aececc7cec632eca2e54c514a097f3dffda5d156b1d57882742c7 tests-Makefile.patch
+da7466825b62cc8d918de012cecee85b6c54d66c3e051bacc3210f6b2459c6ffc6325be52257baf189aed1ab73f42c1661aa6e18508e4aeef2c4d5a7faa93705 memfd_create.patch
+"
diff --git a/testing/ol/GNUmakefile.patch b/testing/ol/GNUmakefile.patch
new file mode 100644
index 00000000000..6f0997ae6a7
--- /dev/null
+++ b/testing/ol/GNUmakefile.patch
@@ -0,0 +1,21 @@
+diff --git a/GNUmakefile b/GNUmakefile
+index 16403d50..42533737 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -57,9 +58,13 @@ CFLAGS_DEBUG := -O0 -g2 -Wall
+ CFLAGS_RELEASE := $(if $(RPM_OPT_FLAGS), $(RPM_OPT_FLAGS), -O2 -DNDEBUG)
+ CFLAGS_RELEASE += -DCAR_CHECK=0 -DCDR_CHECK=0
+
+-CFLAGS += -DHAS_SOCKETS=$(if $(HAS_SOCKETS),1,0)
+-CFLAGS += -DHAS_DLOPEN=$(if $(HAS_DLOPEN),1,0)
+-CFLAGS += -DHAS_SANDBOX=$(if $(HAS_SECCOMP),1,0)
++CFLAGS += -DHAS_SOCKETS=$(if $(HAS_SOCKETS),$(HAS_SOCKETS),0)
++CFLAGS += -DHAS_DLOPEN=$(if $(HAS_DLOPEN),$(HAS_DLOPEN),0)
++CFLAGS += -DHAS_SANDBOX=$(if $(HAS_SECCOMP),$(HAS_SECCOMP),0)
++
++ifneq ($(HAS_MEMFD_CREATE),)
++CFLAGS += -DHAS_MEMFD_CREATE=$(HAS_MEMFD_CREATE)
++endif
+
+ VERSION ?= $(shell echo `git describe --tags \`git rev-list --tags --max-count=1\``-`git rev-list HEAD --count`-`git log --pretty=format:'%h' -n 1`)
+
diff --git a/testing/ol/memfd_create.patch b/testing/ol/memfd_create.patch
new file mode 100644
index 00000000000..a3ec7b65c33
--- /dev/null
+++ b/testing/ol/memfd_create.patch
@@ -0,0 +1,107 @@
+diff --git a/configure.mk b/configure.mk
+index f784608f..bd8d8596 100644
+--- a/configure.mk
++++ b/configure.mk
+@@ -52,6 +52,8 @@ HAS_DLOPEN ?= $(call exists,,stdlib.h, dlopen, -ldl)
+ HAS_SECCOMP ?= $(call exists,,linux/seccomp.h, prctl)
+ HAS_SOCKETS ?= $(call exists,,stdlib.h, socket)
+
++HAS_MEMFD_CREATE ?= $(call exists,,sys/mman.h, memfd_create)
++
+ # computing native x11 variables
+ ifeq ($(UNAME),Linux)
+ x11_sizeof = $(shell echo "'|sizeof $1| (if x86? $(call sizeof,$1,,-m32 -include X11/Xlib.h) $(call sizeof,$1,,-m64 -include X11/Xlib.h))")
+diff --git a/src/olvm.c b/src/olvm.c
+index e614e359..fae38d50 100644
+--- a/src/olvm.c
++++ b/src/olvm.c
+@@ -1015,8 +1015,7 @@ __attribute__((used)) const char copyright[] = "@(#)(c) 2014-2023 Yuriy Chumak";
+ # define SYSCALL_PRCTL 0
+
+ # define HAS_SOCKETS 0
+-
+-# define SYSCALL_MEMFD 0
++# define HAS_MEMFD_CREATE 0
+ #endif
+
+ #ifdef __ANDROID__
+@@ -1035,7 +1034,7 @@ __attribute__((used)) const char copyright[] = "@(#)(c) 2014-2023 Yuriy Chumak";
+ # define SYSCALL_GETRLIMIT 0
+
+ # if __ANDROID_API__ < 30
+-# define SYSCALL_MEMFD 0
++# define HAS_MEMFD_CREATE 0
+ # endif
+ #endif
+
+@@ -1157,7 +1156,7 @@ __attribute__((used)) const char copyright[] = "@(#)(c) 2014-2023 Yuriy Chumak";
+ #endif
+
+ #ifndef HAS_SENDFILE
+-# if defined(_WIN32) || defined(__linux__)
++# if defined(_WIN32) || defined(__linux__) || defined(__APPLE__)
+ # define HAS_SENDFILE HAS_SOCKETS
+ # else
+ # define HAS_SENDFILE 0
+@@ -1274,7 +1273,28 @@ __attribute__((used)) const char copyright[] = "@(#)(c) 2014-2023 Yuriy Chumak";
+ # define __builtin_pow pow
+ #endif
+
+-#include <sys/mman.h> // we have own win32 implementation
++#ifdef __linux__
++# if HAS_MEMFD_CREATE
++# include <sys/mman.h>
++# else
++# undef HAS_MEMFD_CREATE
++# define HAS_MEMFD_CREATE 1
++ static // not a real memfd_create, but compatibility wrapper
++ int memfd_create (char* name, unsigned int flags)
++ {
++ (void) name;
++ assert (flags == 0);
++
++ char tmp_m[] = "/tmp/memfd_olvmXXXXXX";
++ int fd = mkstemp(tmp_m); unlink(tmp_m);
++
++ return fd;
++ }
++# endif
++#else
++# include <sys/mman.h> // we have own win32/macos implementation
++#endif
++
+ #include <sys/utsname.h> // we have own win32 implementation
+ #if HAS_DLOPEN
+ # include <dlfcn.h> // we have own win32 implementation
+@@ -1312,17 +1332,7 @@ __attribute__((used)) const char copyright[] = "@(#)(c) 2014-2023 Yuriy Chumak";
+ #endif
+
+ #ifdef __APPLE__
+-static // not a real memfd_create, but only compatibility wrapper
+-int memfd_create (char* name, unsigned int flags)
+-{
+- (void) name;
+- assert (flags == 0);
+-
+- char tmp_m[] = "/tmp/memfd_olvmXXXXXX";
+- int fd = mkstemp(tmp_m); unlink(tmp_m);
+-
+- return fd;
+-}
++int sendfile(int, int, off_t, off_t *, struct sf_hdtr *, int);
+ #endif
+
+ #if HAS_SENDFILE
+@@ -2644,7 +2654,11 @@ mainloop:;
+ # define SYSCALL_MKDIR 83 // deprecated
+
+ # ifndef SYSCALL_MEMFD
+- # define SYSCALL_MEMFD 85
++ # ifdef HAS_MEMFD_CREATE
++ # define SYSCALL_MEMFD ((HAS_MEMFD_CREATE == 1) ? 85 : 0)
++ # else
++ # define SYSCALL_MEMFD 85
++ # endif
+ # endif
+
+ # define SYSCALL_GETTIMEOFDAY 96
diff --git a/testing/ol/tests-Makefile.patch b/testing/ol/tests-Makefile.patch
new file mode 100644
index 00000000000..e745850b361
--- /dev/null
+++ b/testing/ol/tests-Makefile.patch
@@ -0,0 +1,395 @@
+diff --git a/tests/Makefile b/tests/Makefile
+index 1fe99d72..4199af3a 100644
+--- a/tests/Makefile
++++ b/tests/Makefile
+@@ -9,6 +9,7 @@ else
+
+ FAILED := $(shell mktemp -u /tmp/failed.XXXXXXXXX)
+
++# win32 tests:
+ MINGW32Q := $(shell which i686-w64-mingw32-gcc 1>/dev/null 2>/dev/null && echo 1)
+ MINGW64Q := $(shell which x86_64-w64-mingw32-gcc 1>/dev/null 2>/dev/null && echo 1)
+ WINEQ := $(shell which wine 1>/dev/null 2>/dev/null && echo 1)
+@@ -16,42 +17,34 @@ WINEQ := $(shell which wine 1>/dev/null 2>/dev/null && echo 1)
+ ok:="\033[1;32mok\033[0m"
+ failed:="\033[1;31mfailed\033[0m"
+
+-# 32-/64-bit test environment setup
+-HAS_32CDEFS ?= $(call exists,-m32,sys/cdefs.h,exit)
+-HAS_64CDEFS ?= $(call exists,-m64,sys/cdefs.h,exit)
++MACHINE ?= $(shell uname -m)
+
++# special case, test 64- and 32-bit both
++# (maximal testings under main development platform)
++ifeq ($(UNAME)-$(MACHINE),Linux-x86_64)
++HAS_32CDEFS ?= $(call exists,-m32,sys/cdefs.h,exit)
++HAS_64CDEFS ?= $(call exists,-m64,sys/cdefs.h,exit)
++ifeq ($(HAS_32CDEFS),1)
++DEV_MACHINE ?= 1
++endif
+ ifeq ($(HAS_64CDEFS),1)
+-vm64 = printf "64 " && ./vm64 repl <$$F | diff - $$F.ok
+-else
+-vm64 = true
++DEV_MACHINE ?= 1
+ endif
+-
+-ifeq ($(HAS_32CDEFS),1)
+-vm32 = printf "32 " && ./vm32 repl <$$F | diff - $$F.ok
+ else
+-vm32 = true
++HAS_32CDEFS ?= 0
++HAS_64CDEFS ?= 0
+ endif
+
+
+-vm32: src/olvm.c includes/ol/vm.h
+- $(CC) src/olvm.c -o $@ \
+- $(L) -m32 -DOLVM_FFI=0 \
+- $(CFLAGS)
+- @echo $(ok)
+-vm64: src/olvm.c includes/ol/vm.h
+- $(CC) src/olvm.c -o $@ \
+- $(L) -m64 -DOLVM_FFI=0 \
+- $(CFLAGS)
+- @echo $(ok)
+-
+ # -------------
+ # win
+ define winbuild
+ $(CC) src/olvm.c -o $1 \
+- -DOLVM_FFI=1 -Iincludes/win32 -Iincludes \
++ -DHAS_DLOPEN=1 -DHAS_SOCKES=1 -DOLVM_FFI=1 \
++ -Iincludes/win32 -Iincludes \
+ extensions/ffi.c \
+ -std=gnu99 -fno-exceptions -lws2_32 \
+- -DHAS_DLOPEN=1 -DHAS_SOCKES=1 $2
++ $2
+ endef
+
+ ifeq ($(MINGW32Q),1)
+@@ -72,45 +65,45 @@ tmp/vm64r.exe: src/olvm.c
+ endif
+
+
+-
+-test32: $(wildcard tests/*.scm)
+- @echo "-- test32 ----------"
+- @rm -f $(FAILED)
+- @$(CC) src/olvm.c $(CFLAGS) tests/vm.c -Iincludes -DOLVM_NOMAIN -o vm32d $(L) -m32
+- @./vm32d
+- @$(CC) src/olvm.c $(CFLAGS) tests/ffi.c -Iincludes \
+- -DOLVM_FFI=1 -Iincludes extensions/ffi.c -o ffi32 $(L) -m32
+- @for F in $^ ;do \
+- printf "Testing $$F ... " ;\
+- if OL_HOME=`pwd`/libraries ./ffi32 repl $$F >/dev/null; then\
+- echo "Ok." ;\
+- else \
+- echo "\033[0;31mFailed!\033[0m" ;\
+- touch $(FAILED) ;\
+- fi ;\
+- done
+- @if [ -e $(FAILED) ] ;then rm -f $(FAILED); exit 1 ;fi
+-
+-test64: $(wildcard tests/*.scm)
+- @echo "-- test64 ----------"
+- @rm -f $(FAILED)
+- @$(CC) src/olvm.c $(CFLAGS) tests/vm.c -Iincludes -DOLVM_NOMAIN -o vm64d $(L) -m64
+- @./vm64d
+- @$(CC) src/olvm.c $(CFLAGS) tests/ffi.c -Iincludes \
+- -DOLVM_FFI=1 -Iincludes extensions/ffi.c -o ffi64 $(L) -m64
+- @for F in $^ ;do \
+- printf "Testing $$F ... " ;\
+- if OL_HOME=`pwd`/libraries ./ffi64 repl $$F >/dev/null; then\
+- echo "Ok." ;\
+- else \
+- echo "\033[0;31mFailed!\033[0m" ;\
+- touch $(FAILED) ;\
+- fi ;\
+- done
+- @if [ -e $(FAILED) ] ;then rm -f $(FAILED); exit 1 ;fi
+-
+-test: test64
+- @echo "passed!"
++# # -=( test )=----------------------------------------
++# test32: $(wildcard tests/*.scm)
++# @echo "-- test32 ----------"
++# @rm -f $(FAILED)
++# @$(CC) src/olvm.c $(CFLAGS) tests/vm.c -Iincludes -DOLVM_NOMAIN -o vm32d $(L) -m32
++# @./vm32d
++# @$(CC) src/olvm.c $(CFLAGS) tests/ffi.c -Iincludes \
++# -DOLVM_FFI=1 -Iincludes extensions/ffi.c -o ffi32 $(L) -m32
++# @for F in $^ ;do \
++# printf "Testing $$F ... " ;\
++# if OL_HOME=`pwd`/libraries ./ffi32 repl $$F >/dev/null; then\
++# echo "Ok." ;\
++# else \
++# echo "\033[0;31mFailed!\033[0m" ;\
++# touch $(FAILED) ;\
++# fi ;\
++# done
++# @if [ -e $(FAILED) ] ;then rm -f $(FAILED); exit 1 ;fi
++
++# test64: $(wildcard tests/*.scm)
++# @echo "-- test64 ----------"
++# @rm -f $(FAILED)
++# @$(CC) src/olvm.c $(CFLAGS) tests/vm.c -Iincludes -DOLVM_NOMAIN -o vm64d $(L) -m64
++# @./vm64d
++# @$(CC) src/olvm.c $(CFLAGS) tests/ffi.c -Iincludes \
++# -DOLVM_FFI=1 -Iincludes extensions/ffi.c -o ffi64 $(L) -m64
++# @for F in $^ ;do \
++# printf "Testing $$F ... " ;\
++# if OL_HOME=`pwd`/libraries ./ffi64 repl $$F >/dev/null; then\
++# echo "Ok." ;\
++# else \
++# echo "\033[0;31mFailed!\033[0m" ;\
++# touch $(FAILED) ;\
++# fi ;\
++# done
++# @if [ -e $(FAILED) ] ;then rm -f $(FAILED); exit 1 ;fi
++
++# test: test64
++# @echo "passed!"
+
+ # -=( ffi )=----------------------------------------
+ test-ffi:
+@@ -134,23 +127,24 @@ test-ffi-release: CFLAGS += $(CFLAGS_RELEASE)
+ test-ffi-release: affix=r
+ test-ffi-release: test-ffi
+
+-# special case, maximal testings under main development platform
+-ifeq ($(UNAME),Linux)
++ifeq ($(HAS_32CDEFS),1) # x86_64
+ test-ffi-debug-32: CFLAGS += -m32
+ test-ffi-debug-32: bits=32
+ test-ffi-debug-32: test-ffi-debug
+-test-ffi-debug-64: CFLAGS += -m64
+-test-ffi-debug-64: bits=64
+-test-ffi-debug-64: test-ffi-debug
+ test-ffi-release-32: CFLAGS += -m32
+ test-ffi-release-32: bits=32
+ test-ffi-release-32: test-ffi-release
++endif
++ifeq ($(HAS_64CDEFS),1) # x86_64
++test-ffi-debug-64: CFLAGS += -m64
++test-ffi-debug-64: bits=64
++test-ffi-debug-64: test-ffi-debug
+ test-ffi-release-64: CFLAGS += -m64
+ test-ffi-release-64: bits=64
+ test-ffi-release-64: test-ffi-release
+ endif
+
+-# -=( vm )=----------------------------------------
++# -=( vmi )=---------------------------------------
+ test-vmi:
+ $(CC) src/olvm.c $(CFLAGS) tests/vm.c -Iincludes -DOLVM_NOMAIN -o $(vmi)$(affix)$(bits) $(L)
+ @echo "$(vmi)$(affix)$(bits):"
+@@ -164,22 +158,26 @@ test-vmi-release: CFLAGS += $(CFLAGS_RELEASE)
+ test-vmi-release: affix=r
+ test-vmi-release: test-vmi
+
+-# special case, maximal testings under main development platform
+-ifeq ($(UNAME),Linux)
++ifeq ($(HAS_32CDEFS),1) # x86_64
+ test-vmi-debug-32: CFLAGS += -m32
+ test-vmi-debug-32: bits=32
+ test-vmi-debug-32: test-vmi-debug
+-test-vmi-debug-64: CFLAGS += -m64
+-test-vmi-debug-64: bits=64
+-test-vmi-debug-64: test-vmi-debug
+ test-vmi-release-32: CFLAGS += -m32
+ test-vmi-release-32: bits=32
+ test-vmi-release-32: test-vmi-release
++endif
++ifeq ($(HAS_64CDEFS),1) # x86_64
++test-vmi-debug-64: CFLAGS += -m64
++test-vmi-debug-64: bits=64
++test-vmi-debug-64: test-vmi-debug
+ test-vmi-release-64: CFLAGS += -m64
+ test-vmi-release-64: bits=64
+ test-vmi-release-64: test-vmi-release
+ endif
+
++
++# -=( vm )=----------------------------------------
++# binaries
+ vm-debug:
+ $(CC) src/olvm.c $(CFLAGS) \
+ -DOLVM_FFI=1 -Iincludes extensions/ffi.c -o $(vm)d$(bits) $(L) $(CFLAGS_DEBUG)
+@@ -188,17 +186,25 @@ vm-release:
+ -DOLVM_FFI=1 -Iincludes extensions/ffi.c -o $(vm)r$(bits) $(L) $(CFLAGS_RELEASE)
+ vm=tmp/vm
+
+-# special case, maximal testings under main development platform
+-ifeq ($(UNAME),Linux)
++# vm-debug: CFLAGS += $(CFLAGS_DEBUG)
++# vm-debug: affix=d
++# vm-debug: vm-debug
++# vm-release: CFLAGS += $(CFLAGS_RELEASE)
++# vm-release: affix=r
++# vm-release: vm-release
++
++ifeq ($(HAS_32CDEFS),1) # x86_64
+ vm-debug-32: CFLAGS += -m32
+ vm-debug-32: bits=32
+ vm-debug-32: vm-debug
+-vm-debug-64: CFLAGS += -m64
+-vm-debug-64: bits=64
+-vm-debug-64: vm-debug
+ vm-release-32: CFLAGS += -m32
+ vm-release-32: bits=32
+ vm-release-32: vm-release
++endif
++ifeq ($(HAS_64CDEFS),1) # x86_64
++vm-debug-64: CFLAGS += -m64
++vm-debug-64: bits=64
++vm-debug-64: vm-debug
+ vm-release-64: CFLAGS += -m64
+ vm-release-64: bits=64
+ vm-release-64: vm-release
+@@ -206,8 +212,9 @@ endif
+
+ # -- binaries ---------------------
+ testing-binaries: includes/ol/vm.h
+- @echo "Building test binaries:"
+-ifeq ($(UNAME),Linux) # main development platform, try to do a maximal testings
++ @printf "Building test binaries:"
++ifeq ($(DEV_MACHINE),1) # main development platform, special case
++ @printf "\n"
+ ifeq ($(HAS_32CDEFS),1)
+ @printf " linux 32-bit debug and release versions... "
+ @$(MAKE) -s vm-debug-32
+@@ -232,20 +239,20 @@ ifeq ($(MINGW64Q),1)
+ @$(MAKE) -s $(vm)64r.exe
+ @echo $(ok)
+ endif
+- @echo "built."
+-else
+- @printf "Building test binaries (debug and release versions both)... "
++else # regular case
++ @printf " (debug and release versions both)... "
+ @$(MAKE) -s vm-debug
+ @$(MAKE) -s vm-release
+- @echo "Built."
+ endif
++ @echo "built."
++ @printf "\n"
+
+ # -- embed --------------------------------------------------------
+ testing-embed: tests/embed.c src/olvm.c includes/ol/ol.h tmp/repl.c
+ @echo "embed testing"
+ @echo "----------------------------------------"
+ @printf "tests/embed.c ..."
+-ifeq ($(UNAME),Linux) # main development platform, try to do a maximal testings
++ifeq ($(DEV_MACHINE),1) # main development platform, special case
+ ifeq ($(HAS_32CDEFS),1)
+ @printf ", debug-32: "
+ @$(CC) tests/embed.c src/olvm.c tmp/repl.c $(CFLAGS) $(L) -DOLVM_NOMAIN \
+@@ -290,7 +297,7 @@ ifeq ($(HAS_64CDEFS),1)
+ touch $(FAILED) ;\
+ fi
+ endif
+-else
++else # regular case
+ @printf ", debug: "
+ @$(CC) tests/embed.c src/olvm.c tmp/repl.c $(CFLAGS) $(L) -DOLVM_NOMAIN \
+ -DOLVM_FFI=1 extensions/ffi.c -o tmp/embedd \
+@@ -315,11 +322,11 @@ endif
+ @echo "."
+
+
+-# -- internal --------------------------------------
++# -- internal -------------------------------------
+ testing-internal:
+ @echo "Internal vm testing"
+- @echo "---------------------------------------"
+-ifeq ($(UNAME),Linux) # special case, try to do maximal testings under main development platform
++ @echo "----------------------------------------"
++ifeq ($(DEV_MACHINE),1) # main development platform, special case
+ ifeq ($(HAS_32CDEFS),1)
+ @$(MAKE) -s test-vmi-debug-32
+ @$(MAKE) -s test-vmi-release-32
+@@ -328,16 +335,17 @@ ifeq ($(HAS_64CDEFS),1)
+ @$(MAKE) -s test-vmi-debug-64
+ @$(MAKE) -s test-vmi-release-64
+ endif
+-else
++else # regular case
+ @$(MAKE) -s test-vmi-debug
+ @$(MAKE) -s test-vmi-release
+ endif
+ @echo " "
+
++# -- ffi ------------------------------------------
+ testing-ffi:
+ @echo "ffi testing"
+ @echo "----------------------------------------"
+-ifeq ($(UNAME),Linux) # special case, try to do maximal testings under main development platform
++ifeq ($(DEV_MACHINE),1) # main development platform, special case
+ ifeq ($(HAS_32CDEFS),1)
+ @$(MAKE) -s test-ffi-debug-32
+ @$(MAKE) -s test-ffi-release-32
+@@ -346,18 +354,17 @@ ifeq ($(HAS_64CDEFS),1)
+ @$(MAKE) -s test-ffi-debug-64
+ @$(MAKE) -s test-ffi-release-64
+ endif
+-else
++else # regular case
+ @$(MAKE) -s test-ffi-debug
+ @$(MAKE) -s test-ffi-release
+ endif
+ @echo " "
+
+-
+-# -- scm -------
++# -- scm ------------------------------------------
+ define scmtestok
+ @if ([ -f $1 ]); then\
+ printf ", $2: ";\
+- if ([ -f $^.in ] && $3 $1 repl --home=libraries $^ <$^.in 2>&1 || $3 $1 repl --home=libraries $^ 2>&1) | diff --strip-trailing-cr - $^.ok >/dev/null; then\
++ if ([ -f $^.in ] && $3 $1 repl --home=libraries $^ <$^.in 2>&1 || $3 $1 repl --home=libraries $^ 2>&1) | diff $4 - $^.ok >/dev/null; then\
+ printf $(ok) ;\
+ else \
+ printf $(failed);\
+@@ -374,17 +381,17 @@ endef
+ $(call scmtestok,$(vm)r,release)
+ $(call scmtestok,$(vm)r32,release-32)
+ $(call scmtestok,$(vm)r64,release-64)
+- $(call scmtestok,$(vm)32d.exe,win-debug-32,wine)
+- $(call scmtestok,$(vm)32r.exe,win-release-32,wine)
+- $(call scmtestok,$(vm)64d.exe,win-debug-64,wine)
+- $(call scmtestok,$(vm)64r.exe,win-release-64,wine)
++ $(call scmtestok,$(vm)32d.exe,win-debug-32,wine,--strip-trailing-cr)
++ $(call scmtestok,$(vm)32r.exe,win-release-32,wine,--strip-trailing-cr)
++ $(call scmtestok,$(vm)64d.exe,win-debug-64,wine,--strip-trailing-cr)
++ $(call scmtestok,$(vm)64r.exe,win-release-64,wine,--strip-trailing-cr)
+ @printf ".\n"
+
+-# -- bin -------
++# -- bin ------------------------------------------
+ define bintestok
+ @if ([ -f $1 ]); then\
+ printf ", $2: ";\
+- if ([ -f $^.in ] && $3 $1 $^ --home=libraries <$^.in || $3 $1 $^ --home=libraries) | diff --strip-trailing-cr - $^.ok >/dev/null; then\
++ if ([ -f $^.in ] && $3 $1 $^ --home=libraries <$^.in || $3 $1 $^ --home=libraries) | diff $4 - $^.ok >/dev/null; then\
+ printf $(ok) ;\
+ else \
+ printf $(failed);\
+@@ -401,13 +408,12 @@ endef
+ $(call bintestok,$(vm)r,release)
+ $(call bintestok,$(vm)r32,release-32)
+ $(call bintestok,$(vm)r64,release-64)
+- $(call bintestok,$(vm)32d.exe,win-debug-32,wine)
+- $(call bintestok,$(vm)32r.exe,win-release-32,wine)
+- $(call bintestok,$(vm)64d.exe,win-debug-64,wine)
+- $(call bintestok,$(vm)64r.exe,win-release-64,wine)
++ $(call bintestok,$(vm)32d.exe,win-debug-32,wine,--strip-trailing-cr)
++ $(call bintestok,$(vm)32r.exe,win-release-32,wine,--strip-trailing-cr)
++ $(call bintestok,$(vm)64d.exe,win-debug-64,wine,--strip-trailing-cr)
++ $(call bintestok,$(vm)64r.exe,win-release-64,wine,--strip-trailing-cr)
+ @printf ".\n"
+
+-
+ # -------------------------------------------------
+ # -=( tests )=-------------------------------------
+ check: tests
diff --git a/testing/olsrd/APKBUILD b/testing/olsrd/APKBUILD
index f60adea2f6e..a6932d8dfe1 100644
--- a/testing/olsrd/APKBUILD
+++ b/testing/olsrd/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Mathew Meins <mm@blackhelicopters.net>
pkgname=olsrd
pkgver=0.9.8
-pkgrel=1
+pkgrel=2
pkgdesc="An implementation of the IETF RFC 3626: Optimized Link State Routing Protocol"
url="http://www.olsr.org/mediawiki/index.php/Olsr_Daemon"
arch="all"
diff --git a/testing/ombi/APKBUILD b/testing/ombi/APKBUILD
new file mode 100644
index 00000000000..5e51d48e1f6
--- /dev/null
+++ b/testing/ombi/APKBUILD
@@ -0,0 +1,89 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=ombi
+pkgver=4.43.5
+pkgrel=1
+pkgdesc="Friendly media request tool which automatically syncs with your media servers!"
+url="https://ombi.io"
+arch="x86_64 aarch64 armv7" # blocked by dotnet6-sdk
+license="GPL-2.0-only"
+depends="aspnetcore6-runtime sqlite-libs"
+makedepends="dotnet6-sdk yarn"
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/Ombi-app/Ombi/archive/refs/tags/v$pkgver.tar.gz
+ ombi.initd
+ ombi.confd
+ "
+builddir="$srcdir/Ombi-$pkgver"
+pkgusers="ombi"
+pkggroups="ombi"
+options="net" # dotnet and yarn dependencies
+
+export DOTNET_CLI_HOME="$builddir"/dotnetclihome
+
+case $CARCH in
+ x86_64) _dotnet_arch="x64";;
+ aarch64) _dotnet_arch="arm64";;
+ armv7) _dotnet_arch="arm";;
+ *) _dotnet_arch="$CARCH";;
+esac
+
+_backend="$builddir/src/Ombi"
+_frontend="$_backend/ClientApp"
+_artifacts="$_backend/bin/Release/net6.0"
+_runtime="linux-musl-$_dotnet_arch"
+
+build() {
+ # set backend version
+ dotnet new tool-manifest
+ dotnet tool install --local dotnet-setversion
+ dotnet setversion -r "$pkgver"
+
+ # build the backend
+ dotnet publish "$_backend" \
+ -c Release \
+ -r "$_runtime" \
+ --no-self-contained
+
+ # move binaries out of runtime directory
+ mv "$_artifacts/$_runtime"/publish/* "$_artifacts" -f
+ rm -r "${_artifacts:?}/${_runtime:?}"
+
+ # remove dev config
+ rm "$_artifacts"/appsettings.Development.json
+
+ # build frontend
+ yarn --cwd "$_frontend" install --network-timeout 120000 --frozen-lockfile
+ yarn --cwd "$_frontend" build
+
+ # move frontend to atrifacts directory
+ mkdir -p "$_artifacts"/ClientApp
+ mv "$_frontend"/dist "$_artifacts"/ClientApp
+}
+
+check() {
+ make backend-tests
+}
+
+package() {
+ # setup runtime config file
+ mkdir -p "$pkgdir"/var/lib/ombi
+ chown -R "$pkgusers:$pkggroups" "$pkgdir"/var/lib/ombi
+
+ local DESTDIR="$pkgdir"/usr/lib/ombi
+
+ mkdir -p "$DESTDIR"
+ cp -af "$_artifacts"/* "$DESTDIR"
+ chown -R "$pkgusers:$pkggroups" "$DESTDIR"
+
+ install -Dm755 "$srcdir"/ombi.initd "$pkgdir"/etc/init.d/ombi
+ install -Dm644 "$srcdir"/ombi.confd "$pkgdir"/etc/conf.d/ombi
+}
+
+sha512sums="
+92f4eb27d0a1501347014e357738b51d9fe7ef769e744021281da18d74a513bf2c8d4b156a248b3719066bbf1064097a65228084f55d41994bf18abc6d8b05f7 ombi-4.43.5.tar.gz
+a48fac800aa0779c793aa1220cce16ccc55dc064487e11daf17b165fbc565e4c62e7a52e1372395508b199a12d6bf773157125f3cbaa845381cc035547b29afa ombi.initd
+7355ae0ffedc179688dc6e4c472bd8963b2cbb851bf00a103febe3138630c1cc8c7af37dc7d2e61bff7dc47214517d5b02bc0e8744894f1ff7272df5f566b8c1 ombi.confd
+"
diff --git a/testing/ombi/ombi.confd b/testing/ombi/ombi.confd
new file mode 100644
index 00000000000..5e16f801d86
--- /dev/null
+++ b/testing/ombi/ombi.confd
@@ -0,0 +1,4 @@
+#command_user="ombi:ombi" # user:group
+#umask=0002
+#storage_directory=/var/lib/ombi
+#port=3579
diff --git a/testing/ombi/ombi.initd b/testing/ombi/ombi.initd
new file mode 100644
index 00000000000..3905997aa5d
--- /dev/null
+++ b/testing/ombi/ombi.initd
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+
+# fallback values for /etc/conf.d/ombi
+: ${command_user:=ombi:ombi}
+: ${umask:=0002}
+: ${storage_directory:=/var/lib/ombi}
+: ${port:=3579}
+
+name=ombi
+description="Ombi daemon"
+command="/usr/lib/ombi/Ombi"
+command_args="--storage $storage_directory --host http://*:$port"
+command_background=true
+directory=/usr/lib/ombi
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need net
+ use dns logger netmount
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory"
+}
diff --git a/testing/ombi/ombi.pre-install b/testing/ombi/ombi.pre-install
new file mode 100644
index 00000000000..3892cee67c5
--- /dev/null
+++ b/testing/ombi/ombi.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S ombi 2>/dev/null
+adduser -S -D -h /var/lib/ombi -s /sbin/nologin -G ombi -g ombi ombi 2>/dev/null
+
+exit 0
diff --git a/testing/one-dnn/APKBUILD b/testing/one-dnn/APKBUILD
index d04131593e9..045953ab2d1 100644
--- a/testing/one-dnn/APKBUILD
+++ b/testing/one-dnn/APKBUILD
@@ -1,38 +1,46 @@
# Contributor: Dennis Krupenik <dennis@krupenik.com>
# Maintainer: Dennis Krupenik <dennis@krupenik.com>
pkgname=one-dnn
-pkgver=1.6.1
+pkgver=3.1
pkgrel=0
pkgdesc="oneAPI Deep Neural Network Library"
url="https://01.org/oneDNN"
# Used to executed primitives on Intel 64bit, aarch64 and compatible devices
arch="x86_64"
license="Apache-2.0"
-depends_dev="libtbb-dev opencl-headers opencl-icd-loader-dev"
-makedepends="cmake $depends_dev"
+depends_dev="onetbb-dev opencl-headers opencl-icd-loader-dev"
+makedepends="cmake samurai $depends_dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/oneapi-src/oneDNN/archive/v$pkgver/oneDNN-$pkgver.tar.gz"
+source="https://github.com/oneapi-src/oneDNN/archive/v$pkgver/oneDNN-$pkgver.tar.gz
+ gcc13.patch
+ "
builddir="$srcdir/oneDNN-$pkgver"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ # if not release type, debug is selected
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_BUILD_TYPE=Release \
-DDNNL_GPU_RUNTIME=OCL \
- $CMAKE_CROSSOPTS .
- make -C build
+ -DDNNL_CPU_RUNTIME=TBB \
+ -DONEDNN_BUILD_GRAPH=OFF \
+ $CMAKE_CROSSOPTS
+ cmake --build build
}
check() {
- ctest -E '(gpu|cross-engine)'
+ ctest -E '(gpu|cross-engine|api)' --test-dir build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="1733bc4909d64165c43a9a5b00dab47b387e04f8f7b3dc89b33f1ff48a4da582db76adc6f34b68413b1ce652228141e09af8855175feff81ac7f892be2b4bfda oneDNN-1.6.1.tar.gz"
+sha512sums="
+2053157a3885618364a9da5ec738c9cc2dde15db1ce9737578565d25c4a15a65944db3bbd17780de2032cfa2329bea4cb0af24ee428c9c246bdfa07a5bdde30b oneDNN-3.1.tar.gz
+356b2d6e2aa3156e92e23872ee6643ba0d27de08af15fdd9dcf0f6dd45eaf30bf8506dbcc3594981f5a8a68fadf9d790b4b2c920c33675bc316aea6fb5a26d6b gcc13.patch
+"
diff --git a/testing/one-dnn/gcc13.patch b/testing/one-dnn/gcc13.patch
new file mode 100644
index 00000000000..fbe8614bc5b
--- /dev/null
+++ b/testing/one-dnn/gcc13.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/benchdnn/utils/dims.hpp b/tests/benchdnn/utils/dims.hpp
+index 8b8430c..5c25428 100644
+--- a/tests/benchdnn/utils/dims.hpp
++++ b/tests/benchdnn/utils/dims.hpp
+@@ -18,6 +18,7 @@
+ #define UTILS_DIMS_T_HPP
+
+ #include <cassert>
++#include <cstdint>
+ #include <iostream>
+ #include <string>
+ #include <vector>
diff --git a/testing/onefetch/APKBUILD b/testing/onefetch/APKBUILD
deleted file mode 100644
index 55860c3fc00..00000000000
--- a/testing/onefetch/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=onefetch
-pkgver=2.11.0
-pkgrel=0
-pkgdesc="Git repository summary on your terminal"
-url="https://github.com/o2sh/onefetch"
-arch="all !s390x !mips !mips64 !riscv64"
-license="MIT"
-makedepends="cargo libgit2-dev zlib-dev"
-source="$pkgname-$pkgver.tar.gz::https://crates.io/api/v1/crates/onefetch/$pkgver/download"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- install -Dm0755 target/release/onefetch "$pkgdir"/usr/bin/onefetch
-}
-
-sha512sums="23f3490a48d05b8b0d178e06d2809f22f476cd6b7af67e6555f90f336be78a694cf2a3f19d65018dc27b7912807577fe3dec892c33821af06134f4354a199076 onefetch-2.11.0.tar.gz"
diff --git a/testing/onevpl-intel-gpu/APKBUILD b/testing/onevpl-intel-gpu/APKBUILD
new file mode 100644
index 00000000000..711e0865aff
--- /dev/null
+++ b/testing/onevpl-intel-gpu/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Assaf Inbal <shmuelzon@gmail.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=onevpl-intel-gpu
+pkgver=23.2.4
+pkgrel=1
+pkgdesc="Intel oneVPL GPU Runtime"
+options="!check" # tests can't run in check(), only on install
+url="https://github.com/oneapi-src/oneVPL-intel-gpu"
+arch="x86_64"
+license="MIT"
+depends="libva"
+makedepends="
+ cmake
+ libva-dev
+ samurai
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/oneapi-src/oneVPL-intel-gpu/archive/refs/tags/intel-onevpl-$pkgver.tar.gz"
+builddir="$srcdir/oneVPL-intel-gpu-intel-onevpl-$pkgver"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+4edadb45eac2246f15301f08ad90af5695b1d848391a639447ff292ec9df85d64ea9bd04cfb52fdb751ed3707601515b09988cebcbd06b03411cb2d69970512d onevpl-intel-gpu-23.2.4.tar.gz
+"
diff --git a/testing/onioncat/APKBUILD b/testing/onioncat/APKBUILD
new file mode 100644
index 00000000000..9860305ea2e
--- /dev/null
+++ b/testing/onioncat/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Anon <danilagdn.2004@gmail.com>
+# Maintainer: Anon <danilagdn.2004@gmail.com>
+pkgname=onioncat
+pkgver=4.11.0
+pkgrel=1
+pkgdesc="OnionCat is a VPN-adapter, which uses Tor or I2P as its transport."
+url="https://www.onioncat.org/"
+arch="x86 x86_64"
+license="GPL-3.0-only"
+depends="net-tools"
+makedepends="automake autoconf libmnl-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rahra/onioncat/archive/refs/tags/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ ./autogen.sh
+}
+
+build() {
+ ./configure --prefix=/usr --localstatedir=/var/lib --runstatedir=/run --sysconfdir=/etc
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make prefix="$pkgdir/usr" exec_prefix="$pkgdir/usr" localstatedir="$pkgdir/var/lib" install
+}
+
+sha512sums="
+5dc6538f343749530cbd2f29bdd6ba6bc1e921a4fae6f5c783dd2bc1d045ce304639acc5cea6c1946b7c938ce58b732c01ae1a00998f5438a414b4c623dfd0bf onioncat-4.11.0.tar.gz
+"
diff --git a/testing/onnxruntime/0001-Remove-MATH_NO_EXCEPT-macro.patch b/testing/onnxruntime/0001-Remove-MATH_NO_EXCEPT-macro.patch
new file mode 100644
index 00000000000..8f42e589122
--- /dev/null
+++ b/testing/onnxruntime/0001-Remove-MATH_NO_EXCEPT-macro.patch
@@ -0,0 +1,50 @@
+From 8caf31352140d655e2c88fb9784982c4e5db3b5b Mon Sep 17 00:00:00 2001
+From: sudotac <sudo@tofuyard.net>
+Date: Sun, 6 Aug 2023 23:46:28 +0900
+Subject: [PATCH] Remove MATH_NO_EXCEPT macro
+
+Signed-off-by: sudotac <sudo@tofuyard.net>
+---
+ .../test/providers/cpu/math/element_wise_ops_test.cc | 12 +++---------
+ 1 file changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/onnxruntime/test/providers/cpu/math/element_wise_ops_test.cc b/onnxruntime/test/providers/cpu/math/element_wise_ops_test.cc
+index 04fbd05669..5ec4d915f5 100644
+--- a/onnxruntime/test/providers/cpu/math/element_wise_ops_test.cc
++++ b/onnxruntime/test/providers/cpu/math/element_wise_ops_test.cc
+@@ -2603,13 +2603,7 @@ TEST(MathOpTest, Mean_8) {
+ test.Run(OpTester::ExpectResult::kExpectSuccess, "", {kTensorrtExecutionProvider}); // TensorRT: Input batch size is inconsistent
+ }
+
+-#ifdef _LIBCPP_VERSION
+-#define MATH_NO_EXCEPT
+-#else
+-#define MATH_NO_EXCEPT noexcept
+-#endif
+-
+-template <float (&op)(float value) MATH_NO_EXCEPT>
++template <float (&op)(float value)>
+ void TrigFloatTest(OpTester& test, std::initializer_list<float> input) {
+ std::vector<int64_t> dims{static_cast<int64_t>(input.size())};
+
+@@ -2622,7 +2616,7 @@ void TrigFloatTest(OpTester& test, std::initializer_list<float> input) {
+ test.Run();
+ }
+
+-template <double (&op)(double value) MATH_NO_EXCEPT>
++template <double (&op)(double value)>
+ void TrigDoubleTest(OpTester& test, std::initializer_list<double> input,
+ const std::unordered_set<std::string> excluded_provider_types = {}) {
+ std::vector<int64_t> dims{static_cast<int64_t>(input.size())};
+@@ -2636,7 +2630,7 @@ void TrigDoubleTest(OpTester& test, std::initializer_list<double> input,
+ test.Run(OpTester::ExpectResult::kExpectSuccess, "", excluded_provider_types);
+ }
+
+-template <float (&op)(float value) MATH_NO_EXCEPT>
++template <float (&op)(float value)>
+ void TrigFloat16Test(OpTester& test, std::initializer_list<float> input) {
+ std::vector<int64_t> dims{static_cast<int64_t>(input.size())};
+
+--
+2.41.0
+
diff --git a/testing/onnxruntime/APKBUILD b/testing/onnxruntime/APKBUILD
new file mode 100644
index 00000000000..d48fe7f86be
--- /dev/null
+++ b/testing/onnxruntime/APKBUILD
@@ -0,0 +1,99 @@
+# Maintainer: leso-kn <info@lesosoftware.com>
+pkgname=onnxruntime
+pkgver=1.17.1
+pkgrel=1
+pkgdesc="Cross-platform, high performance ML inferencing and training accelerator"
+url="https://onnxruntime.ai"
+# x86, s390x: fails to build
+arch="all !x86 !s390x"
+license="MIT"
+makedepends="
+ abseil-cpp-dev
+ bash
+ cmake
+ gtest-dev
+ icu-dev
+ linux-headers
+ nlohmann-json
+ protobuf-dev
+ py3-numpy-dev
+ py3-pybind11-dev
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ re2-dev
+ samurai
+ zlib-dev
+ "
+subpackages="
+ $pkgname-dev
+ py3-$pkgname-pyc
+ py3-$pkgname:py3
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/microsoft/onnxruntime/archive/refs/tags/v$pkgver.tar.gz
+ no-execinfo.patch
+ system.patch
+ 0001-Remove-MATH_NO_EXCEPT-macro.patch
+ "
+options="net"
+
+# tests fail on arm 32 bit, see https://github.com/microsoft/onnxruntime/issues/16387
+case "$CARCH" in
+armhf|armv7) options="!check $options"; CXXFLAGS="$CXXFLAGS -Wno-overflow";;
+esac
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -Wno-deprecated-declarations -flto=auto" \
+ LDFLAGS="$LDFLAGS -Wl,--copy-dt-needed-entries" \
+ cmake -S cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_ONNX_PYTHON=ON \
+ -Donnxruntime_BUILD_SHARED_LIB=ON \
+ -Donnxruntime_BUILD_UNIT_TESTS="$(want_check && echo ON || echo OFF)" \
+ -Donnxruntime_ENABLE_PYTHON=ON \
+ -Donnxruntime_USE_NEURAL_SPEED=OFF # fix for 1.17.0, see: https://github.com/microsoft/onnxruntime/pull/19382
+ # hack for protobuf 23
+ sed -i 's|CMAKE_CXX_STANDARD 11|CMAKE_CXX_STANDARD 17|' build/_deps/onnx-src/CMakeLists.txt
+
+ cmake --build build
+
+ cd build
+ msg "building python module"
+ python3 ../setup.py build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ cd build
+ python3 ../setup.py install --skip-build --root="$pkgdir"
+
+ ln -sfv ../../../../libonnxruntime_providers_shared.so \
+ "$(echo "$pkgdir"/usr/lib/python3*/site-packages/onnxruntime/capi/libonnxruntime_providers_shared.so)"
+}
+
+py3() {
+ pkgdesc="$pkgname (python3 bindings)"
+ depends="
+ py3-coloredlogs
+ py3-flatbuffers
+ py3-numpy
+ py3-packaging
+ py3-sympy
+ "
+
+ amove usr/lib/python3*
+}
+
+sha512sums="
+a4629a9bb92d30a2686ed3d760f1ae1b94f15a6021dd4bdf36bdf66f4470c870610d217169b4489eeb51e0f730176dd2e8f8e102fea6508cc3ff5fd2f3dfccb8 onnxruntime-1.17.1.tar.gz
+976913be90b0a82ff1ba403f46306ef4e5939bb05296227c99d3c4a609dd00f5750f9b1c6c30d20791ff0724c1bcffc6aa498eac906257aefefc6f35df796fe0 no-execinfo.patch
+963542ac3cfef08c9dcd60f28c0a47d6a9fbfcbe43efbf891047939aecd5b56fe0285f538e0da3df409a53745433b0ed2bc2470c59ae8fcf86ce94bf7cd02649 system.patch
+696d76c9265ad31fdd1d8b7790693e139f31006dff4d571473f8406129fff47f2885010ed0affb7fcf629f98bed5e14d33eeef9e52eb251e90f581a05f587350 0001-Remove-MATH_NO_EXCEPT-macro.patch
+"
diff --git a/testing/onnxruntime/no-execinfo.patch b/testing/onnxruntime/no-execinfo.patch
new file mode 100644
index 00000000000..4b96c29a750
--- /dev/null
+++ b/testing/onnxruntime/no-execinfo.patch
@@ -0,0 +1,22 @@
+diff --git a/onnxruntime/core/platform/posix/stacktrace.cc b/onnxruntime/core/platform/posix/stacktrace.cc
+index 76864b2..185f131 100644
+--- a/onnxruntime/core/platform/posix/stacktrace.cc
++++ b/onnxruntime/core/platform/posix/stacktrace.cc
+@@ -3,7 +3,7 @@
+
+ #include "core/common/common.h"
+
+-#if !defined(__ANDROID__) && !defined(__wasm__) && !defined(_OPSCHEMA_LIB_) && !defined(_AIX)
++#if defined(__GLIBC__) && !defined(__ANDROID__) && !defined(__wasm__) && !defined(_OPSCHEMA_LIB_) && !defined(_AIX)
+ #include <execinfo.h>
+ #endif
+ #include <vector>
+@@ -13,7 +13,7 @@ namespace onnxruntime {
+ std::vector<std::string> GetStackTrace() {
+ std::vector<std::string> stack;
+
+-#if !defined(NDEBUG) && !defined(__ANDROID__) && !defined(__wasm__) && !defined(_OPSCHEMA_LIB_)
++#if defined(__GLIBC__) && !defined(NDEBUG) && !defined(__ANDROID__) && !defined(__wasm__) && !defined(_OPSCHEMA_LIB_)
+ constexpr int kCallstackLimit = 64; // Maximum depth of callstack
+
+ void* array[kCallstackLimit];
diff --git a/testing/onnxruntime/system.patch b/testing/onnxruntime/system.patch
new file mode 100644
index 00000000000..6f9a751aba7
--- /dev/null
+++ b/testing/onnxruntime/system.patch
@@ -0,0 +1,66 @@
+diff --git a/cmake/external/onnxruntime_external_deps.cmake b/cmake/external/onnxruntime_external_deps.cmake
+index 9effd1a2db..ed15ad31aa 100644
+--- a/cmake/external/onnxruntime_external_deps.cmake
++++ b/cmake/external/onnxruntime_external_deps.cmake
+@@ -19,16 +19,16 @@ endforeach()
+
+ message("Loading Dependencies ...")
+ # ABSL should be included before protobuf because protobuf may use absl
+-include(external/abseil-cpp.cmake)
+
+ set(RE2_BUILD_TESTING OFF CACHE BOOL "" FORCE)
+
+-FetchContent_Declare(
+- re2
+- URL ${DEP_URL_re2}
+- URL_HASH SHA1=${DEP_SHA1_re2}
+- FIND_PACKAGE_ARGS NAMES re2
+-)
++find_package(absl REQUIRED)
++set(ABSEIL_LIBS absl::inlined_vector absl::flat_hash_set
++ absl::flat_hash_map absl::node_hash_set absl::node_hash_map absl::base absl::throw_delegate absl::raw_hash_set
++ absl::hash absl::city absl::low_level_hash absl::raw_logging_internal)
++find_package(Protobuf REQUIRED)
++find_package(re2 REQUIRED)
++find_package(nlohmann_json REQUIRED)
+
+ if (onnxruntime_BUILD_UNIT_TESTS)
+ # WebAssembly threading support in Node.js is still an experimental feature and
+@@ -199,7 +199,6 @@ if (onnxruntime_DISABLE_RTTI)
+ set(protobuf_DISABLE_RTTI ON CACHE BOOL "Remove runtime type information in the binaries" FORCE)
+ endif()
+
+-include(protobuf_function)
+ #protobuf end
+
+ set(ENABLE_DATE_TESTING OFF CACHE BOOL "" FORCE)
+@@ -359,7 +359,7 @@ FetchContent_Declare(
+ # protobuf's cmake/utf8_range.cmake has the following line
+ include_directories(${utf8_range_SOURCE_DIR})
+
+-onnxruntime_fetchcontent_makeavailable(Protobuf nlohmann_json mp11 re2 GSL flatbuffers ${ONNXRUNTIME_CPUINFO_PROJ} ${ONNXRUNTIME_CLOG_PROJ})
++onnxruntime_fetchcontent_makeavailable(mp11 GSL flatbuffers ${ONNXRUNTIME_CPUINFO_PROJ} ${ONNXRUNTIME_CLOG_PROJ})
+ if(NOT flatbuffers_FOUND)
+ if(NOT TARGET flatbuffers::flatbuffers)
+ add_library(flatbuffers::flatbuffers ALIAS flatbuffers)
+@@ -386,7 +386,7 @@ namespace std { using ::getenv; }
+ endif()
+
+ if (onnxruntime_BUILD_UNIT_TESTS)
+- onnxruntime_fetchcontent_makeavailable(googletest)
++ find_package(GTest REQUIRED)
+ endif()
+
+ if(Protobuf_FOUND)
+diff --git a/cmake/onnxruntime_unittests.cmake b/cmake/onnxruntime_unittests.cmake
+index 9347be180d..8c60ff40f4 100644
+--- a/cmake/onnxruntime_unittests.cmake
++++ b/cmake/onnxruntime_unittests.cmake
+@@ -935,6 +935,7 @@ endif()
+ onnxruntime_add_include_to_target(onnx_test_data_proto onnx_proto)
+ target_include_directories(onnx_test_data_proto PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
+ set_target_properties(onnx_test_data_proto PROPERTIES FOLDER "ONNXRuntimeTest")
++include(protobuf_function)
+ onnxruntime_protobuf_generate(APPEND_PATH IMPORT_DIRS ${onnx_SOURCE_DIR} TARGET onnx_test_data_proto)
+
+ #
diff --git a/testing/opa/APKBUILD b/testing/opa/APKBUILD
new file mode 100644
index 00000000000..b12d3544b78
--- /dev/null
+++ b/testing/opa/APKBUILD
@@ -0,0 +1,77 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=opa
+pkgver=0.61.0
+pkgrel=2
+pkgdesc="Open source, general-purpose policy engine"
+url="https://www.openpolicyagent.org/"
+# only platforms with full +wasm support, as upstream does
+arch="aarch64 x86_64"
+license="Apache-2.0"
+makedepends="go wasmtime-dev"
+checkdepends="tzdata"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/open-policy-agent/opa/archive/refs/tags/v$pkgver.tar.gz
+ https://dev.alpinelinux.org/archive/open-policy-agent/pr6556-bump-wasmtime-go-v17.patch
+ tests-go1.22-compat.patch
+ "
+
+export CGO_ENABLED=1
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ # report.ExternalServiceURL is left blank to disable telemetry
+ # - "opa version -c" errors out
+ # - "opa run" fails the version check process silently in the background
+ # this is intended :)
+ local goldflags="
+ -X github.com/open-policy-agent/opa/version.Version=$pkgver
+ -X github.com/open-policy-agent/opa/version.Hostname=AlpineLinux
+ -X github.com/open-policy-agent/opa/version.Vcs=0000000000000000000000000000000000000000
+ -X github.com/open-policy-agent/opa/version.Timestamp=$(date -u "+%Y-%m-%dT%H:%M:%SZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ -X github.com/open-policy-agent/opa/internal/report.ExternalServiceURL=
+ "
+
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS -L/usr/lib -lwasmtime"
+
+ go build -v -ldflags "$goldflags" -tags opa_wasm
+
+ mkdir -p man/
+ go run build/generate-man/generate.go man/
+
+ for shell in bash fish zsh; do
+ ./opa completion $shell > opa.$shell
+ done
+}
+
+check() {
+ # tests are not ran with opa_wasm tag so tests that use wasm engine fail
+ go test -skip TestRegoTargetWasmAndTargetPluginDisablesIndexingTopdownStages ./...
+}
+
+package() {
+ install -Dm755 opa -t "$pkgdir"/usr/bin/
+
+ install -Dm644 man/*.1 -t "$pkgdir"/usr/share/man/man1/
+
+ install -Dm644 opa.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/opa
+ install -Dm644 opa.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/opa.fish
+ install -Dm644 opa.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_opa
+}
+
+sha512sums="
+d80443cf58d3b703cf4209d4170b76a2173a6af5fc18c2f777d1258b328aa35e030ac220212a03ad76f26ff08c1a93077fccbacf9a3ae6c72f48162b715375a9 opa-0.61.0.tar.gz
+458e515e22faf739ef6966ea39de5f7d9863d5d1e1e9b8659dc6e0c717ec03215ffb2770f4d48437bf995ec72fc52d85d9b8b53aa3f8428901b49fe59760a167 pr6556-bump-wasmtime-go-v17.patch
+74ab9327d0b7a5ed2c568cd0f4d1e06272671e785112f0037b810c54e2a1bc5437722973e8b4bdc2619570dbf2ae637b2057817c36b7828e365f48d1c0184c9a tests-go1.22-compat.patch
+"
diff --git a/testing/opa/tests-go1.22-compat.patch b/testing/opa/tests-go1.22-compat.patch
new file mode 100644
index 00000000000..3ad677d5461
--- /dev/null
+++ b/testing/opa/tests-go1.22-compat.patch
@@ -0,0 +1,274 @@
+Patch-Source: https://github.com/open-policy-agent/opa/commit/963f5eaada9afef608a649550eb7f50d89a06181.patch
+--
+From 963f5eaada9afef608a649550eb7f50d89a06181 Mon Sep 17 00:00:00 2001
+From: Stephan Renatus <stephan@styra.com>
+Date: Tue, 20 Feb 2024 12:46:17 +0100
+Subject: [PATCH] build(go): bump golang, build with 1.22, support 1.20+
+ (#6595)
+
+https://go.dev/doc/go1.22
+
+Signed-off-by: Stephan Renatus <stephan@styra.com>
+---
+ .github/workflows/pull-request.yaml | 2 +-
+ .go-version | 2 +-
+ go.mod | 2 +-
+ internal/prometheus/prometheus_go1.19_test.go | 145 ------------------
+ internal/prometheus/prometheus_test.go | 20 ++-
+ topdown/tokens_test.go | 6 -
+ 6 files changed, 18 insertions(+), 159 deletions(-)
+ delete mode 100644 internal/prometheus/prometheus_go1.19_test.go
+
+diff --git a/.github/workflows/pull-request.yaml b/.github/workflows/pull-request.yaml
+index 10f073f7f9..52ddd670cf 100644
+--- a/.github/workflows/pull-request.yaml
++++ b/.github/workflows/pull-request.yaml
+@@ -292,7 +292,7 @@ jobs:
+ fail-fast: false
+ matrix:
+ os: [ubuntu-22.04, macos-latest]
+- version: ["1.19"]
++ version: ["1.20"]
+ steps:
+ - uses: actions/checkout@v4
+ - name: Download generated artifacts
+diff --git a/.go-version b/.go-version
+index ce2dd53570..71f7f51df9 100644
+--- a/.go-version
++++ b/.go-version
+@@ -1 +1 @@
+-1.21.5
++1.22
+diff --git a/go.mod b/go.mod
+index e0d860b6a0..7abc6d4cfd 100644
+--- a/go.mod
++++ b/go.mod
+@@ -1,6 +1,6 @@
+ module github.com/open-policy-agent/opa
+
+-go 1.19
++go 1.20
+
+ require (
+ github.com/OneOfOne/xxhash v1.2.8
+diff --git a/internal/prometheus/prometheus_go1.19_test.go b/internal/prometheus/prometheus_go1.19_test.go
+deleted file mode 100644
+index 4b253d8ada..0000000000
+--- a/internal/prometheus/prometheus_go1.19_test.go
++++ /dev/null
+@@ -1,145 +0,0 @@
+-// Copyright 2022 The OPA Authors. All rights reserved.
+-// Use of this source code is governed by an Apache2
+-// license that can be found in the LICENSE file.
+-
+-// NOTE(sr): Different go runtime metrics on 1.19.
+-// This can be removed when we drop support for go 1.19.
+-//go:build go1.19 && !go1.20
+-// +build go1.19,!go1.20
+-
+-package prometheus
+-
+-import (
+- "encoding/json"
+- "testing"
+-
+- "github.com/open-policy-agent/opa/logging"
+- "github.com/open-policy-agent/opa/metrics"
+-)
+-
+-func TestJSONSerialization(t *testing.T) {
+- inner := metrics.New()
+- logger := func(logger logging.Logger) loggerFunc {
+- return func(attrs map[string]interface{}, f string, a ...interface{}) {
+- logger.WithFields(attrs).Error(f, a...)
+- }
+- }(logging.NewNoOpLogger())
+-
+- prom := New(inner, logger, []float64{1e-6, 5e-6, 1e-5, 5e-5, 1e-4, 5e-4, 1e-3, 0.01, 0.1, 1})
+-
+- m := prom.All()
+- bs, err := json.Marshal(m)
+- if err != nil {
+- t.Fatal(err)
+- }
+-
+- act := make(map[string]map[string]interface{}, len(m))
+- err = json.Unmarshal(bs, &act)
+- if err != nil {
+- t.Fatal(err)
+- }
+-
+- // NOTE(sr): "http_request_duration_seconds" only shows up after there has been a request
+- exp := map[string][]string{
+- "GAUGE": {
+- "go_gc_heap_goal_bytes",
+- "go_gc_heap_objects_objects",
+- "go_gc_stack_starting_size_bytes",
+- "go_gc_limiter_last_enabled_gc_cycle",
+- "go_goroutines",
+- "go_info",
+- "go_memory_classes_heap_free_bytes",
+- "go_memory_classes_heap_objects_bytes",
+- "go_memory_classes_heap_released_bytes",
+- "go_memory_classes_heap_stacks_bytes",
+- "go_memory_classes_heap_unused_bytes",
+- "go_memory_classes_metadata_mcache_free_bytes",
+- "go_memory_classes_metadata_mcache_inuse_bytes",
+- "go_memory_classes_metadata_mspan_free_bytes",
+- "go_memory_classes_metadata_mspan_inuse_bytes",
+- "go_memory_classes_metadata_other_bytes",
+- "go_memory_classes_os_stacks_bytes",
+- "go_memory_classes_other_bytes",
+- "go_memory_classes_profiling_buckets_bytes",
+- "go_memory_classes_total_bytes",
+- "go_memstats_alloc_bytes",
+- "go_memstats_buck_hash_sys_bytes",
+- // "go_memstats_gc_cpu_fraction", // removed: https://github.com/prometheus/client_golang/issues/842#issuecomment-861812034
+- "go_memstats_gc_sys_bytes",
+- "go_memstats_heap_alloc_bytes",
+- "go_memstats_heap_idle_bytes",
+- "go_memstats_heap_inuse_bytes",
+- "go_memstats_heap_objects",
+- "go_memstats_heap_released_bytes",
+- "go_memstats_heap_sys_bytes",
+- "go_memstats_last_gc_time_seconds",
+- "go_memstats_mcache_inuse_bytes",
+- "go_memstats_mcache_sys_bytes",
+- "go_memstats_mspan_inuse_bytes",
+- "go_memstats_mspan_sys_bytes",
+- "go_memstats_next_gc_bytes",
+- "go_memstats_other_sys_bytes",
+- "go_memstats_stack_inuse_bytes",
+- "go_memstats_stack_sys_bytes",
+- "go_memstats_sys_bytes",
+- "go_sched_goroutines_goroutines",
+- "go_sched_gomaxprocs_threads",
+- "go_threads",
+- },
+- "COUNTER": {
+- "go_gc_cycles_automatic_gc_cycles_total",
+- "go_gc_cycles_forced_gc_cycles_total",
+- "go_gc_cycles_total_gc_cycles_total",
+- "go_gc_heap_allocs_bytes_total",
+- "go_gc_heap_allocs_objects_total",
+- "go_gc_heap_tiny_allocs_objects_total",
+- "go_gc_heap_frees_bytes_total",
+- "go_gc_heap_frees_objects_total",
+- "go_cgo_go_to_c_calls_calls_total",
+- "go_memstats_alloc_bytes_total",
+- "go_memstats_lookups_total",
+- "go_memstats_mallocs_total",
+- "go_memstats_frees_total",
+- },
+- "SUMMARY": {
+- "go_gc_duration_seconds",
+- },
+- "HISTOGRAM": {
+- "go_gc_pauses_seconds", // was: "go_gc_pauses_seconds_total"
+- "go_gc_heap_allocs_by_size_bytes", // was: "go_gc_heap_allocs_by_size_bytes_total"
+- "go_gc_heap_frees_by_size_bytes", // was: "go_gc_heap_frees_by_size_bytes_total"
+- "go_sched_latencies_seconds",
+- },
+- }
+- found := 0
+- for typ, es := range exp {
+- for _, e := range es {
+- a, ok := act[e]
+- if !ok {
+- t.Errorf("%v: metric missing", e)
+- continue
+- }
+- if act, ok := a["type"].(string); !ok || act != typ {
+- t.Errorf("%v: unexpected type: %v (expected %v)", e, act, typ)
+- continue
+- }
+- found++
+- }
+- }
+- if len(act) != found {
+- t.Errorf("unexpected extra metrics, expected %d, got %d", found, len(act))
+- for a, ty := range act {
+- found := false
+- for _, es := range exp {
+- for _, e := range es {
+- if a == e {
+- found = true
+- }
+- }
+- }
+- if !found {
+- t.Errorf("unexpected metric: %v (type: %v)", a, ty)
+- }
+- }
+- }
+-}
+diff --git a/internal/prometheus/prometheus_test.go b/internal/prometheus/prometheus_test.go
+index 7f2c73f441..4f09f866bb 100644
+--- a/internal/prometheus/prometheus_test.go
++++ b/internal/prometheus/prometheus_test.go
+@@ -1,11 +1,10 @@
+ // Copyright 2022 The OPA Authors. All rights reserved.
+ // Use of this source code is governed by an Apache2
+ // license that can be found in the LICENSE file.
+-
+-// NOTE(an): Different go runtime metrics on 1.20.
+-// This can be removed when we drop support for go 1.19.
+-//go:build go1.20
+-// +build go1.20
++//
++// NOTE(sr): Different go runtime metrics on 1.20 vs 1.22.
++// Let's only test these on 1.22.
++//go:build go1.22
+
+ package prometheus
+
+@@ -137,6 +136,13 @@ func TestJSONSerialization(t *testing.T) {
+ "go_godebug_non_default_behavior_x509usefallbackroots_events_total",
+ "go_godebug_non_default_behavior_zipinsecurepath_events_total",
+ "go_godebug_non_default_behavior_tlsmaxrsasize_events_total",
++ "go_godebug_non_default_behavior_gotypesalias_events_total", // BEGIN added in 1.22
++ "go_godebug_non_default_behavior_tlsunsafeekm_events_total",
++ "go_godebug_non_default_behavior_httplaxcontentlength_events_total",
++ "go_godebug_non_default_behavior_x509usepolicies_events_total",
++ "go_godebug_non_default_behavior_tls10server_events_total",
++ "go_godebug_non_default_behavior_httpmuxgo121_events_total",
++ "go_godebug_non_default_behavior_tlsrsakex_events_total",
+ },
+ "SUMMARY": {
+ "go_gc_duration_seconds",
+@@ -146,6 +152,10 @@ func TestJSONSerialization(t *testing.T) {
+ "go_gc_heap_allocs_by_size_bytes", // was: "go_gc_heap_allocs_by_size_bytes_total"
+ "go_gc_heap_frees_by_size_bytes", // was: "go_gc_heap_frees_by_size_bytes_total"
+ "go_sched_latencies_seconds",
++ "go_sched_pauses_stopping_other_seconds", // BEGIN added in 1.22
++ "go_sched_pauses_stopping_gc_seconds",
++ "go_sched_pauses_total_gc_seconds",
++ "go_sched_pauses_total_other_seconds",
+ },
+ }
+ found := 0
+diff --git a/topdown/tokens_test.go b/topdown/tokens_test.go
+index 975a78461c..d3f482cb00 100644
+--- a/topdown/tokens_test.go
++++ b/topdown/tokens_test.go
+@@ -10,7 +10,6 @@ import (
+ "encoding/json"
+ "fmt"
+ "os"
+- "runtime"
+ "strings"
+ "testing"
+ "time"
+@@ -472,12 +471,7 @@ func TestTopdownJWTEncodeSignECWithSeedReturnsSameSignature(t *testing.T) {
+ "d":"jpsQnnGQmL-YBIffH1136cspYG6-0iY7X1fCE9-E9LI"
+ }, x)`
+
+- // go1.20 and beyond
+ encodedSigned := "eyJhbGciOiAiRVMyNTYifQ.eyJwYXkiOiAibG9hZCJ9.GRp6wIqDZuYnvQH50hnIy559LdrjUux76v1ynxX6lH0XtlgwreyR16x2JMnuElo79X3zUbqlWrZITICv86arew"
+- if strings.HasPrefix(runtime.Version(), "go1.19") { // we don't use go1.18 anymore
+- encodedSigned = "eyJhbGciOiAiRVMyNTYifQ.eyJwYXkiOiAibG9hZCJ9.05wmHY3NomU1jr7yvusBvKwhthRklPuJhUPOkoeIn5e5n_GXvE25EfRs9AJK2wOy6NoY2ljhj07M9BMtV0dfyA"
+- }
+-
+ for i := 0; i < 10; i++ {
+ q := NewQuery(ast.MustParseBody(query)).
+ WithSeed(&cng{}).
diff --git a/testing/opcr-policy/APKBUILD b/testing/opcr-policy/APKBUILD
new file mode 100644
index 00000000000..4d3333a11d6
--- /dev/null
+++ b/testing/opcr-policy/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=opcr-policy
+pkgver=0.2.9
+pkgrel=2
+pkgdesc="CLI for building, versioning and publishing authorization policies"
+url="https://www.openpolicycontainers.com/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/opcr-io/policy/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/policy-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X github.com/opcr-io/policy/pkg/version.ver=$pkgver
+ -X github.com/opcr-io/policy/pkg/version.commit=AlpineLinux
+ -X github.com/opcr-io/policy/pkg/version.date=$(date -u "+%Y-%m-%dT%H:%M:%SZ" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ "
+
+ go build -v -ldflags "$_goldflags" ./cmd/policy/
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 policy -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+761d650b69c1eebc166b66660a3ac28686e3c69121890bc2c691db5ce0c116e6dc12343927b3302da8ded9be250721d3eeef423dbfeed08de7bb27e98e6ec589 opcr-policy-0.2.9.tar.gz
+"
diff --git a/testing/opencascade/APKBUILD b/testing/opencascade/APKBUILD
deleted file mode 100644
index 56f46234bba..00000000000
--- a/testing/opencascade/APKBUILD
+++ /dev/null
@@ -1,65 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=opencascade
-pkgver=7.6.0
-pkgrel=0
-pkgdesc="An SDK for development of applications dealing with 3D CAD data"
-url="https://dev.opencascade.org/"
-# s390x blocked by vtk -> netcdf
-arch="all !s390x"
-license="LGPL-2.1-only"
-makedepends="
- cmake
- doxygen
- ffmpeg-dev
- freeimage-dev
- freetype-dev
- libtbb
- libtbb-dev
- libxi-dev
- libxmu-dev
- mesa-dev
- tk
- tk-dev
- vtk-dev
- "
-subpackages="$pkgname-doc $pkgname-dev"
-source="
- opencascade-$pkgver.tar.gz::https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=refs/tags/V${pkgver//./_};sf=tgz
- no_mallinfo.patch
- no_feenableexcept.patch
- cmake_fix_install_dir.patch
- cmake_add_buildtype_none.patch
- no_backtrace.patch
- "
-builddir="$srcdir/occt-V${pkgver//./_}"
-options="!check" # No tests provided :-/
-
-build() {
- mkdir -p build
- cd build
- cmake .. \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DUSE_GL2PS=OFF \
- -DUSE_FREEIMAGE=ON \
- -DUSE_FFMPEG=ON \
- -DUSE_VTK=ON \
- -DUSE_TBB=ON \
- -D3RDPARTY_VTK_INCLUDE_DIR=/usr/include/vtk-9.1/
- make
-}
-
-package() {
- cd build
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-6839eb6641b9e0752474fce11cf1756223067febe0f5bcd5db249e3eccef29517a6952c124aae818220b6360070a792dacd1b0b4ce970b8351ce38598f31b4be opencascade-7.6.0.tar.gz
-e04cb898ec16c57ea5f2e9e79f6616153b7f6e4ddcad815f5d28898a692e26e1054a8f3321e6ee8616a915b10d45927f5e596c4f096c5333be910eaea751cce3 no_mallinfo.patch
-b039b8fce696bfd0f53309a72adab4065780bf1755da6208040157e9383deb0061ad8927a6f160730f431cbebe3fdd1eaa7967b38da4a245a8d9306042d97629 no_feenableexcept.patch
-10481f153adf1db55111d68da49dae1885a50e745d3a978f6316b5b13a3f2d7de6a2ed6a3c60c20ef967ea65c16b372da03bf2665ffe4493ad6fe329a3abf368 cmake_fix_install_dir.patch
-4bdedc8f0e011530115777cddeeb898750242999725347c3392d8858e5cc9543c791814aa41e1543c575a6a79b0b32fd72970bb83c8948fe42f33993244db1cf cmake_add_buildtype_none.patch
-86dceb6e8309e18f5ea72ce2e3524ff08dc761ffe76557d62a1a4f2824ca0e2f9dfc194cae22164aaaf5ad9a15a6ec0f1fef443241aa2ccb0a2140de217c8a90 no_backtrace.patch
-"
diff --git a/testing/opencascade/cmake_add_buildtype_none.patch b/testing/opencascade/cmake_add_buildtype_none.patch
deleted file mode 100644
index cabe4055a65..00000000000
--- a/testing/opencascade/cmake_add_buildtype_none.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1c6a41b..ff973e8 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -4,7 +4,7 @@ set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/adm/cmake")
-
- set (CMAKE_SUPPRESS_REGENERATION TRUE)
-
--set (CMAKE_CONFIGURATION_TYPES Release Debug RelWithDebInfo CACHE INTERNAL "" FORCE)
-+set (CMAKE_CONFIGURATION_TYPES Release Debug RelWithDebInfo None CACHE INTERNAL "" FORCE)
-
- # macro: include patched file if it exists
- macro (OCCT_INCLUDE_CMAKE_FILE BEING_INCLUDED_FILE)
diff --git a/testing/opencascade/cmake_fix_install_dir.patch b/testing/opencascade/cmake_fix_install_dir.patch
deleted file mode 100644
index f7340a97a79..00000000000
--- a/testing/opencascade/cmake_fix_install_dir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Fixes:
-> CMake Error at cmake_install.cmake:8340 (configure_file):
-> configure_file Problem configuring file
-First posted on Arch Linux
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0b445de..1c6a41b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -1122,7 +1122,7 @@ foreach (OCCT_CONFIGURATION ${CMAKE_CONFIGURATION_TYPES})
- endforeach()
- # install OpenCASCADE config file with compile definitions and C/C++ flags ONLY for current configuration
- install (CODE "string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWER)")
--install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
-+install (CODE "configure_file(\"${CMAKE_BINARY_DIR}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADECompileDefinitionsAndFlags-\${CMAKE_INSTALL_CONFIG_NAME_LOWER}.cmake\" COPYONLY)")
-
- foreach (OCCT_MODULE ${OCCT_MODULES})
- if (BUILD_MODULE_${OCCT_MODULE})
-diff --git a/adm/cmake/occt_macros.cmake b/adm/cmake/occt_macros.cmake
-index 8220ecd..d1ceea6 100644
---- a/adm/cmake/occt_macros.cmake
-+++ b/adm/cmake/occt_macros.cmake
-@@ -598,7 +598,7 @@ macro (OCCT_UPDATE_TARGET_FILE)
- "cmake_policy(PUSH)
- cmake_policy(SET CMP0007 NEW)
- string (TOLOWER \"\${CMAKE_INSTALL_CONFIG_NAME}\" CMAKE_INSTALL_CONFIG_NAME_LOWERCASE)
-- file (GLOB ALL_OCCT_TARGET_FILES \"${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
-+ file (GLOB ALL_OCCT_TARGET_FILES \"\$ENV{DESTDIR}${INSTALL_DIR}/${INSTALL_DIR_CMAKE}/OpenCASCADE*Targets-\${CMAKE_INSTALL_CONFIG_NAME_LOWERCASE}.cmake\")
- foreach(TARGET_FILENAME \${ALL_OCCT_TARGET_FILES})
- file (STRINGS \"\${TARGET_FILENAME}\" TARGET_FILE_CONTENT)
- file (REMOVE \"\${TARGET_FILENAME}\")
diff --git a/testing/opencascade/no_backtrace.patch b/testing/opencascade/no_backtrace.patch
deleted file mode 100644
index efa47ba076d..00000000000
--- a/testing/opencascade/no_backtrace.patch
+++ /dev/null
@@ -1,63 +0,0 @@
---- ./src/Standard/Standard_StackTrace.cxx
-+++ ./src/Standard/Standard_StackTrace.cxx
-@@ -30,7 +30,6 @@
- #elif defined(__QNX__)
- //#include <backtrace.h> // requires linking to libbacktrace
- #elif !defined(_WIN32) && !(defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE)
-- #include <execinfo.h>
- #elif defined(_WIN32) && !defined(OCCT_UWP)
-
- #include <Standard_WarningsDisable.hxx>
-@@ -314,51 +313,6 @@
- return false;
- #endif
- #else
-- const int aTopSkip = theNbTopSkip + 1; // skip this function call and specified extra number
-- int aNbTraces = theNbTraces + aTopSkip;
-- void** aStackArr = (void** )alloca (sizeof(void*) * aNbTraces);
-- if (aStackArr == NULL)
-- {
-- return false;
-- }
--
-- aNbTraces = ::backtrace (aStackArr, aNbTraces);
-- if (aNbTraces <= 1)
-- {
-- return false;
-- }
--
-- aNbTraces -= aTopSkip;
-- char** aStrings = ::backtrace_symbols (aStackArr + aTopSkip, aNbTraces);
-- if (aStrings == NULL)
-- {
-- return false;
-- }
--
-- const size_t aLenInit = strlen (theBuffer);
-- size_t aLimit = (size_t) theBufferSize - aLenInit - 1;
-- if (aLimit > 14)
-- {
-- strcat (theBuffer, "\n==Backtrace==");
-- aLimit -= 14;
-- }
-- for (int aLineIter = 0; aLineIter < aNbTraces; ++aLineIter)
-- {
-- const size_t aLen = strlen (aStrings[aLineIter]);
-- if (aLen + 1 >= aLimit)
-- {
-- break;
-- }
--
-- strcat (theBuffer, "\n");
-- strcat (theBuffer, aStrings[aLineIter]);
-- aLimit -= aLen + 1;
-- }
-- free (aStrings);
-- if (aLimit > 14)
-- {
-- strcat (theBuffer, "\n=============");
-- }
-- return true;
-+ return false;
- #endif
- }
diff --git a/testing/opencascade/no_feenableexcept.patch b/testing/opencascade/no_feenableexcept.patch
deleted file mode 100644
index 21d9e699e6a..00000000000
--- a/testing/opencascade/no_feenableexcept.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-musl does not provice feenableexcept and fedisableexcept. Those calls have
-only been used on linux so far. This patch extends the #ifdef logic to only use
-them on Linux if additionally glibc is used.
---- occt-V7_4_0-org/src/OSD/OSD_signal.cxx
-+++ occt-V7_4_0/src/OSD/OSD_signal.cxx
-@@ -678,7 +678,7 @@
- // POSIX threads
- #include <pthread.h>
-
--#ifdef __linux__
-+#ifdef __linux__ && defined(__GLIBC__)
- #include <cfenv>
- //#include <fenv.h>
- #endif
-@@ -793,7 +793,7 @@
- case SIGFPE:
- sigaddset(&set, SIGFPE);
- sigprocmask(SIG_UNBLOCK, &set, NULL) ;
--#ifdef __linux__
-+#ifdef __linux__ && defined(__GLIBC__)
- OSD::SetFloatingSignal (Standard_True);
- #endif
- #if (!defined (__sun)) && (!defined(SOLARIS))
-@@ -914,7 +914,7 @@
- //=======================================================================
- void OSD::SetFloatingSignal (Standard_Boolean theFloatingSignal)
- {
--#if defined (__linux__)
-+#if defined (__linux__) && defined(__GLIBC__)
- feclearexcept (FE_ALL_EXCEPT);
- if (theFloatingSignal)
- {
-@@ -947,7 +947,7 @@
- //=======================================================================
- Standard_Boolean OSD::ToCatchFloatingSignals()
- {
--#if defined (__linux__)
-+#if defined (__linux__) && defined(__GLIBC__)
- return (fegetexcept() & _OSD_FPX) != 0;
- #else
- return Standard_False;
diff --git a/testing/opencascade/no_mallinfo.patch b/testing/opencascade/no_mallinfo.patch
deleted file mode 100644
index 12301ab0904..00000000000
--- a/testing/opencascade/no_mallinfo.patch
+++ /dev/null
@@ -1,61 +0,0 @@
---- ./src/OSD/OSD_MemInfo.cxx.old
-+++ ./src/OSD/OSD_MemInfo.cxx
-@@ -35,6 +35,9 @@
- #include <sstream>
- #include <fstream>
-
-+#include <sys/time.h>
-+#include <sys/resource.h>
-+
- #include <OSD_MemInfo.hxx>
-
- #if defined(__EMSCRIPTEN__)
-@@ -161,18 +164,22 @@
- || IsActive (MemWorkingSetPeak))
- {
- // /proc/%d/status is not emulated - get more info from mallinfo()
-- const struct mallinfo aMI = mallinfo();
-+ // mallinfo() not available with musl. We use getrusage to approximate it
-+ // with the maximum resident set size
-+ struct rusage ru = { .ru_maxrss = 0 };
-+ getrusage(RUSAGE_SELF, &ru);
- if (IsActive (MemHeapUsage))
- {
-- myCounters[MemHeapUsage] = aMI.uordblks;
-+ myCounters[MemHeapUsage] = ru.ru_maxrss;
- }
- if (IsActive (MemWorkingSet))
- {
-- myCounters[MemWorkingSet] = aMI.uordblks;
-+ myCounters[MemWorkingSet] = ru.ru_maxrss;
- }
- if (IsActive (MemWorkingSetPeak))
- {
-- myCounters[MemWorkingSetPeak] = aMI.usmblks;
-+ //usmblks is always 0
-+ myCounters[MemWorkingSetPeak] = 0;
- }
- }
- if (IsActive (MemVirtual))
-@@ -182,18 +189,9 @@
- #elif (defined(__linux__) || defined(__linux))
- if (IsActive (MemHeapUsage))
- {
-- #if defined(__GLIBC__) && defined(__GLIBC_PREREQ)
-- #if __GLIBC_PREREQ(2,33)
-- #define HAS_MALLINFO2
-- #endif
-- #endif
--
-- #ifdef HAS_MALLINFO2
-- const struct mallinfo2 aMI = mallinfo2();
-- #else
-- const struct mallinfo aMI = mallinfo();
-- #endif
-- myCounters[MemHeapUsage] = aMI.uordblks;
-+ struct rusage ru = { .ru_maxrss = 0 };
-+ getrusage(RUSAGE_SELF, &ru);
-+ myCounters[MemHeapUsage] = ru.ru_maxrss;
- }
-
- if (!IsActive (MemVirtual)
diff --git a/testing/opencc/APKBUILD b/testing/opencc/APKBUILD
deleted file mode 100644
index 7ae3b337045..00000000000
--- a/testing/opencc/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Ivan Tham <pickfire@riseup.net>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
-pkgname=opencc
-_pkgname=OpenCC
-pkgver=1.1.2
-pkgrel=0
-pkgdesc="Open Chinese Convert"
-url="https://opencc.byvoid.com/"
-arch="all !mips64" # missing libmarisa
-license="Apache-2.0"
-makedepends="cmake doxygen python3 libmarisa-dev rapidjson-dev tclap-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-ver.$pkgver.tar.gz::https://github.com/BYVoid/$_pkgname/archive/ver.$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-ver.$pkgver"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_DOCUMENTATION=on \
- -DBUILD_TESTING=off \
- -DUSE_SYSTEM_MARISA=on \
- -DUSE_SYSTEM_RAPIDJSON=on \
- -DUSE_SYSTEM_TCLAP=on \
- . $CMAKE_CROSSOPTS
- make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-
- mkdir -p "$pkgdir"-doc/usr/share/doc
- mv "$pkgdir"/usr/share/$pkgname/doc "$pkgdir"-doc/usr/share/doc/$pkgname
-}
-
-sha512sums="56c84bc472b39eb0b23bac6df5aada2c2ed5fd2fbe653c1ae89d392ec0b74741a15de93c748883ec3c0779396e790a1197f6e3b267b524f111459d45daeb5d4b opencc-ver.1.1.2.tar.gz"
diff --git a/testing/opencl-clang/APKBUILD b/testing/opencl-clang/APKBUILD
deleted file mode 100644
index 0ffe72af3e7..00000000000
--- a/testing/opencl-clang/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Dennis Krupenik <dennis@krupenik.com>
-# Maintainer: Dennis Krupenik <dennis@krupenik.com>
-pkgname=opencl-clang
-pkgver=12.0.0
-pkgrel=1
-pkgdesc="opencl-clang is a thin wrapper library around clang"
-url="https://github.com/intel/opencl-clang"
-arch="x86_64"
-license="NCSA"
-depends_dev="spirv-llvm-translator-dev"
-_llvmver=12
-makedepends="$depends_dev clang-static cmake llvm-static~$_llvmver"
-subpackages="$pkgname-dev"
-source="https://github.com/intel/opencl-clang/archive/v$pkgver/$pkgname-$pkgver.tar.gz
- cl_headers-clang-include.patch
- "
-options="!check" # no check in upstream
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DBUILD_SHARED_LIBS=True \
- -DPREFERRED_LLVM_VERSION="$_llvmver" \
- $CMAKE_CROSSOPTS .
- make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-7fa05480b10be97dd784b8fb7579a2471cf3a904facd9949a980602085515bb3d42a042c74db80381771ad18f78bed2efdcb09538a865ac4a600d6190b8f9c31 opencl-clang-12.0.0.tar.gz
-87cbb5e5dfe289971d4aa979faae57cbd2b994f1543e819be07626990388b40c70610f437f0a3825c6aa2361cc88827eae4f15e3fedc979b64afb6f7e72f9a6e cl_headers-clang-include.patch
-"
diff --git a/testing/opencl-clang/cl_headers-clang-include.patch b/testing/opencl-clang/cl_headers-clang-include.patch
deleted file mode 100644
index 54c2eb433ca..00000000000
--- a/testing/opencl-clang/cl_headers-clang-include.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-we use different LLVM/Clang includes layout
----
---- a/cl_headers/CMakeLists.txt
-+++ b/cl_headers/CMakeLists.txt
-@@ -13,7 +13,7 @@
-
- if(USE_PREBUILT_LLVM)
- set(OPENCL_HEADERS_DIR
-- "${LLVM_LIBRARY_DIRS}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
-+ "/usr/lib/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH}/include/")
- else(USE_PREBUILT_LLVM)
- set(OPENCL_HEADERS_DIR "${CLANG_SOURCE_DIR}/lib/Headers")
- endif(USE_PREBUILT_LLVM)
diff --git a/testing/opencsg/APKBUILD b/testing/opencsg/APKBUILD
deleted file mode 100644
index 71a5a89f723..00000000000
--- a/testing/opencsg/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=opencsg
-pkgver=1.4.2
-pkgrel=1
-pkgdesc="A library that does image-based CSG rendering using OpenGL"
-url="http://www.opencsg.org/"
-arch="all"
-license="GPL-2.0-only"
-subpackages="$pkgname-dev $pkgname-example"
-makedepends="glew-dev freeglut-dev"
-source="http://www.opencsg.org/OpenCSG-$pkgver.tar.gz"
-builddir="$srcdir/OpenCSG-$pkgver"
-
-build() {
- make -j1
-}
-
-check() {
- make check
-}
-
-package() {
- for folder in src example; do
- sed -e 's/\/usr\/local\//\/usr\//g' -i $folder/Makefile
- make INSTALL_ROOT="$pkgdir" install -j 1 -C $folder
- done
-}
-
-example() {
- mkdir -p "$subpkgdir"/usr/
- mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
-}
-
-sha512sums="fbe6f925982717ecca7bd0eacc4fc5b362c80c7663b1ff0d9a228f2b5e1d3625d3e6d324d9e634665c74e9c0fc37d10290ece293e59a3eba67035b6b700b7778 OpenCSG-1.4.2.tar.gz"
diff --git a/testing/opendht/APKBUILD b/testing/opendht/APKBUILD
new file mode 100644
index 00000000000..37fdb53e1d7
--- /dev/null
+++ b/testing/opendht/APKBUILD
@@ -0,0 +1,75 @@
+# Contributor: Gavin Henry <ghenry@sentrypeer.org>
+# Maintainer: Gavin Henry <ghenry@sentrypeer.org>
+pkgname=opendht
+pkgver=3.1.7
+pkgrel=2
+pkgdesc="C++17 Distributed Hash Table implementation"
+url="https://github.com/savoirfairelinux/opendht"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ argon2-dev
+ asio-dev
+ cmake
+ cython
+ fmt-dev
+ gnutls-dev
+ http-parser-dev
+ jsoncpp-dev
+ msgpack-cxx-dev
+ nettle-dev
+ openssl-dev
+ py3-setuptools
+ python3-dev
+ readline-dev
+ restinio-dev
+ samurai
+ "
+checkdepends="cppunit-dev"
+depends_dev="fmt-dev"
+subpackages="py3-$pkgname:_py3 $pkgname-libs $pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/savoirfairelinux/opendht/archive/refs/tags/v$pkgver.tar.gz"
+# tests require a quiet environment or network reads don't match
+options="!check"
+
+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 \
+ -DOPENDHT_C=ON \
+ -DOPENDHT_TOOLS=ON \
+ -DOPENDHT_PYTHON=ON \
+ -DOPENDHT_HTTP=ON \
+ -DOPENDHT_PUSH_NOTIFICATIONS=ON \
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
+ $CMAKE_CROSSOPTS .
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+libs() {
+ default_libs
+ amove usr/lib/libopendht-c.so
+}
+
+_py3() {
+ pkgdesc="$pkgdesc (python bindings)"
+ amove usr/lib/python*
+ amove usr/bin/dhtcluster
+}
+
+sha512sums="
+c89e8276520f94daa31a5c07e6725ba6b8f3daa2fa118914f61394b879b63dce2e0ab462e35af31d40ebd15d1feb119236b4a791dff683486ed7ccd1d0589756 opendht-3.1.7.tar.gz
+"
diff --git a/testing/openfire/APKBUILD b/testing/openfire/APKBUILD
deleted file mode 100644
index 738d18d538d..00000000000
--- a/testing/openfire/APKBUILD
+++ /dev/null
@@ -1,85 +0,0 @@
-# Contributor: Taner Tas <taner76@gmail.com>
-# Maintainer: Taner Tas <taner76@gmail.com>
-pkgname=openfire
-pkgver=4.2.3
-pkgrel=0
-pkgdesc="Openfire is a cross-platform real-time collaboration server based on the XMPP (Jabber) protocol."
-url="https://www.igniterealtime.org/projects/openfire/"
-# mips64 and riscv64 blocked by openjdk8
-arch="all !mips64 !riscv64"
-license="Apache-2.0"
-depends="openjdk8-jre-lib"
-makedepends="apache-ant openjdk8"
-subpackages="$pkgname-plugins::noarch $pkgname-openrc"
-source="
- https://www.igniterealtime.org/downloadServlet?filename=$pkgname/openfire_src_${pkgver//./_}.tar.gz
- $pkgname.initd
- $pkgname.confd
- $pkgname.logrotate
- "
-pkgusers="openfire"
-pkggroups="openfire"
-install="
- $pkgname.pre-install
- openfire.post-install
- openfire.post-upgrade
- "
-options="!check" # No test suite
-builddir="$srcdir/openfire_src"
-_ofhome="/var/lib/openfire"
-
-build() {
- rm -rf src/resources/nativeAuth
- cd build
- ant openfire plugins
-}
-
-package() {
- install -dm0755 "$pkgdir/$_ofhome"
- install -dm0755 "$pkgdir/$_ofhome"/plugins
-
- cp -r target/openfire/conf "$pkgdir/$_ofhome"/
- cp -r target/openfire/lib "$pkgdir/$_ofhome"/
- cp -r target/openfire/resources "$pkgdir/$_ofhome"/
- cp -r target/openfire/plugins/admin "$pkgdir/$_ofhome"/plugins/
-
- find "$pkgdir" -type f -exec chmod 0644 {} \;
- find "$pkgdir" -type d -exec chmod 0755 {} \;
- find "$pkgdir" -type d -exec chmod u-s,g-s {} \;
-
- chmod 0700 "$pkgdir/$_ofhome"/conf \
- "$pkgdir/$_ofhome"/resources/security
-
- cd "$pkgdir/$_ofhome"/conf
- for i in openfire.xml security.xml
- do
- mv "$i" "$i".default
- chmod 0600 "$i".default
- done
-
- cd "$pkgdir/$_ofhome"/resources/security
- for i in client.truststore keystore truststore
- do
- mv "$i" "$i".default
- chmod 0600 "$i".default
- done
-
- chown -R $pkgusers:$pkggroups "$pkgdir/$_ofhome"
-
- install -Dm0755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm0644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
- install -Dm0644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
-
-}
-
-plugins() {
- cd "$builddir"
- install -dm755 "$subpkgdir/$_ofhome"/plugins
- cp target/openfire/plugins/*.jar "$subpkgdir/$_ofhome"/plugins/
- chown -R $pkgusers:$pkggroups "$subpkgdir/$_ofhome"
-}
-
-sha512sums="8b968c94fcd779544c90de34172b00d472dc2e42142f2aa5eda01f0e0c3dda903a3b9b6d82286916bb1ae8f97fb12f0a94aeb42fad1df0b2dd47e951e03b8523 openfire_src_4_2_3.tar.gz
-95a486898b84c4b7b0e3a60ceb7ccbb5d383451228b9c5090dc58513afc9513095e6c124e2ef170912376a7179d058b106d3bbd69db7b7204ff5f1be13823bdc openfire.initd
-e952b1dbf10df6c8303f6e71ae08853a1901cbf92f059c3dc927e0085365e6c4752d2c5ddaa9ce1da944a164ee0f29b1057e10a61840814bff3722020253b5bf openfire.confd
-e17684600700c85d366549b7ac9fec64b9abcd1fd53e131e2d5b9d53514865ad0eacb25618dfc6c264af25fb880e761cdd7349bdcbc22c1f65a6fa7444dcd2a7 openfire.logrotate"
diff --git a/testing/openfire/openfire.confd b/testing/openfire/openfire.confd
deleted file mode 100644
index d6888b0f8dd..00000000000
--- a/testing/openfire/openfire.confd
+++ /dev/null
@@ -1,6 +0,0 @@
-JAVA_HOME=/usr/lib/jvm/default-jvm
-OPENFIRE_HOME=/var/lib/openfire
-OPENFIRE_CMD="$JAVA_HOME/bin/java"
-OPENFIRE_ARGS="-server -Xmx256m -DopenfireHome=$OPENFIRE_HOME \
- -Dopenfire.lib.dir=$OPENFIRE_HOME/lib -classpath $OPENFIRE_HOME/lib/startup.jar \
- -jar $OPENFIRE_HOME/lib/startup.jar"
diff --git a/testing/openfire/openfire.initd b/testing/openfire/openfire.initd
deleted file mode 100644
index 1a370c9d884..00000000000
--- a/testing/openfire/openfire.initd
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/sbin/openrc-run
-
-depend() {
- need net
- provide jabber-server
-}
-
-start() {
- ebegin "Starting Openfire Server"
- start-stop-daemon \
- --user openfire \
- --background \
- --make-pidfile \
- --pidfile /run/openfire.pid \
- --start \
- --exec $OPENFIRE_CMD -- $OPENFIRE_ARGS > /var/log/openfire.log 2>&1
- eend
-}
-
-stop() {
- ebegin "Stopping Openfire Server"
- start-stop-daemon --pidfile /run/openfire.pid --stop
- eend
-}
diff --git a/testing/openfire/openfire.logrotate b/testing/openfire/openfire.logrotate
deleted file mode 100644
index aa26432c494..00000000000
--- a/testing/openfire/openfire.logrotate
+++ /dev/null
@@ -1,8 +0,0 @@
-/var/lib/openfire/log/* {
- size 1M
- missingok
- notifempty
- copytruncate
- rotate 7
- compress
-}
diff --git a/testing/openfire/openfire.post-install b/testing/openfire/openfire.post-install
deleted file mode 100755
index 9b2a66fae80..00000000000
--- a/testing/openfire/openfire.post-install
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-
-_ofhome=/var/lib/openfire
-
-for conf in "$_ofhome"/conf/openfire.xml \
- "$_ofhome"/conf/security.xml \
- "$_ofhome"/resources/security/client.truststore \
- "$_ofhome"/resources/security/keystore \
- "$_ofhome"/resources/security/truststore
-do
- if [ -f "$conf" ]
- then
- printf "$conf exists. Not creating new one. \n\n"
- else
- printf "Copying new $conf \n"
- cp -av "$conf".default "$conf" || printf "Copying new $conf failed. \n\n"
- fi
-done
diff --git a/testing/openfire/openfire.post-upgrade b/testing/openfire/openfire.post-upgrade
deleted file mode 120000
index d373752edb9..00000000000
--- a/testing/openfire/openfire.post-upgrade
+++ /dev/null
@@ -1 +0,0 @@
-openfire.post-install \ No newline at end of file
diff --git a/testing/openfire/openfire.pre-install b/testing/openfire/openfire.pre-install
deleted file mode 100755
index 929ee1b5a2b..00000000000
--- a/testing/openfire/openfire.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S openfire 2>/dev/null
-adduser -S -D -H -h /var/lib/openfire -G openfire -g openfire openfire 2>/dev/null
-
-exit 0
diff --git a/testing/openfortivpn/APKBUILD b/testing/openfortivpn/APKBUILD
index 3a3ce9d6ee8..4e1970ac33a 100644
--- a/testing/openfortivpn/APKBUILD
+++ b/testing/openfortivpn/APKBUILD
@@ -1,17 +1,16 @@
-# Contributor: Taner Tas <taner76@gmail.com>
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=openfortivpn
-pkgver=1.15.0
+pkgver=1.21.0
pkgrel=0
pkgdesc="Openfortivpn is a client for PPP+SSL VPN tunnel services"
url="https://github.com/adrienverge/openfortivpn"
arch="all"
license="GPL-3.0-only"
-depends="ppp"
+depends="ppp-daemon"
makedepends="
autoconf
automake
- openssl-dev
+ openssl-dev>3
"
subpackages="$pkgname-doc"
source="
@@ -37,4 +36,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="8ec6454c197925a031a454e3983ed98d93d48514d86ebb09483157872e299d9c6b36a966ac6c67cd85d203223460998cdc0e6af9d5389357d4a55789aa5e2083 openfortivpn-1.15.0.tar.gz"
+sha512sums="
+9751a1ce2f71fe51f8b15dec76afe600fc659b78a44397df9413ebdba9a77bc861fb75b1eb3540590c777447c15849e19033827cea3b494f2dac8075ec17142d openfortivpn-1.21.0.tar.gz
+"
diff --git a/testing/openfpgaloader/APKBUILD b/testing/openfpgaloader/APKBUILD
new file mode 100644
index 00000000000..6a5494c461f
--- /dev/null
+++ b/testing/openfpgaloader/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=openfpgaloader
+pkgver=0.11.0
+pkgrel=0
+pkgdesc="Universal utility for programming FPGAs"
+url="https://github.com/trabucayre/openFPGALoader"
+arch="all"
+license="Apache-2.0"
+makedepends="
+ cmake
+ hidapi-dev
+ libftdi1-dev
+ libusb-dev
+ ninja
+ zlib-dev
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/trabucayre/openFPGALoader/archive/refs/tags/v$pkgver.tar.gz
+ "
+builddir="$srcdir/openFPGALoader-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ #
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j1
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+cffc5f9ae0ffd75c7b7954dc19e348c80c2c847141879b6dfac06efc22fc0f574d9352cbd748553275077364a2086b00af67b5ea11130a6eea3e6f32e01f3f42 openfpgaloader-0.11.0.tar.gz
+"
diff --git a/testing/openh264/APKBUILD b/testing/openh264/APKBUILD
deleted file mode 100644
index a5fa50b1c69..00000000000
--- a/testing/openh264/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Martin Schmidt <martin.schmidt13@gmx.de>
-# Maintainer: Martin Schmidt <martin.schmidt13@gmx.de>
-pkgname=openh264
-pkgver=2.1.1
-pkgrel=0
-options="!check"
-pkgdesc="OpenH264 is a codec library which supports H.264 encoding and decoding"
-url="https://github.com/cisco/openh264"
-arch="all"
-license="BSD-2-Clause"
-makedepends="nasm"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/cisco/openh264/archive/v$pkgver.tar.gz"
-
-build() {
- case "$CARCH" in
- x86)
- export CFLAGS="$CFLAGS -DX86_32_PICASM"
- export CXXFLAGS="$CXXFLAGS -DX86_32_PICASM"
- export ASMFLAGS="$ASMFLAGS -DX86_32_PICASM"
- ;;
- esac
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX="/usr" install
-}
-
-sha512sums="f9c2925fa902c6278da40f68b967d25e62db7ce3541e8f5e7a0ee174204b6ecc7026b5853885c361f48ca01d71bacd585fb5b91f01f0c054ece80943f1afcf79 openh264-2.1.1.tar.gz"
diff --git a/testing/openimagedenoise/APKBUILD b/testing/openimagedenoise/APKBUILD
deleted file mode 100644
index fc334f46cc6..00000000000
--- a/testing/openimagedenoise/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Leon Marz <main@lmarz.org>
-# Maintainer: Leon Marz <main@lmarz.org>
-pkgname=openimagedenoise
-pkgver=1.4.2
-pkgrel=0
-pkgdesc="Intel Open Image Denoise library"
-url="https://www.openimagedenoise.org/"
-arch="x86_64" # openimagedenoise only really supports x86_64
-license="Apache-2.0"
-makedepends="cmake python3 libtbb-dev ispc openimageio-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/OpenImageDenoise/oidn/releases/download/v$pkgver/oidn-$pkgver.src.tar.gz"
-builddir="$srcdir/oidn-$pkgver"
-options="!check" # doesn't have a test suite
-
-build() {
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DOIDN_APPS=OFF
-
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-8b464cedc91ef7a88cfc97c3fde80275b12058cdd26b352718d90f8f20b3462c4ac65b2b1ad5548a520590fbd015fcc8ab9f964633bc8b89d72901fe8a13e352 openimagedenoise-1.4.2.tar.gz
-"
diff --git a/testing/openimageio/APKBUILD b/testing/openimageio/APKBUILD
deleted file mode 100644
index 3205c0ea3e8..00000000000
--- a/testing/openimageio/APKBUILD
+++ /dev/null
@@ -1,76 +0,0 @@
-# Contributor: Mark Riedesel <mark@klowner.com>
-# Contributor: Damian Kurek <starfire24680@gmail.com>
-# Maintainer: Damian Kurek <starfire24680@gmail.com>
-pkgname=openimageio
-pkgver=2.2.17.0
-pkgrel=2
-pkgdesc="Image I/O library supporting a multitude of image formats"
-options="!check net" # more than 10% of all tests fail
-url="https://sites.google.com/site/openimageio/"
-# s390x, mips, mips64 has missing dependency ptex-dev
-arch="all !mips !mips64 !s390x"
-license="BSD-3-Clause"
-makedepends="cmake boost-dev tiff-dev openexr-dev bzip2-dev freetype-dev hdf5-dev
- libtbb-dev libtbb ffmpeg-dev giflib-dev libheif-dev
- libraw-dev openjpeg-dev ptex-dev ptex-static ptex mesa-dev libwebp-dev
- qt5-qtbase-dev fmt-dev python3-dev py3-pybind11-dev"
-subpackages="py3-$pkgname:_python $pkgname-dev $pkgname-doc $pkgname-tools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/OpenImageIO/oiio/archive/Release-$pkgver.tar.gz"
-builddir="$srcdir/oiio-Release-$pkgver"
-
-build() {
- local _py_version=$(python3 --version | cut -c 8-11)
- local _iv="ON"
-
- case "$CARCH" in
- aarch64|armv7|armhf)
- _iv="OFF";;
- esac
-
- # fails to build with fortify source enabled
- export CXXFLAGS="$CXXFLAGS -U_FORTIFY_SOURCE"
-
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_SKIP_RPATH=ON \
- -DPYTHON_VERSION=$_py_version \
- -DOIIO_BUILD_TESTS=OFF \
- -DSTOP_ON_WARNING=OFF \
- -DENABLE_iv=$_iv \
- -DINSTALL_FONTS=OFF
- cmake --build build
-}
-
-check() {
- cd build
- ctest -E broken
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-
- mkdir -p "$pkgdir"/usr/lib/cmake
- mv "$pkgdir"/usr/share/cmake/* "$pkgdir"/usr/lib/cmake
-}
-
-tools() {
- pkgdesc="Tools for manipulating a multitude of image formats"
-
- mkdir -p "$subpkgdir"/usr
- mv "$pkgdir"/usr/bin "$subpkgdir"/usr/
-}
-
-_python() {
- local pyver="${subpkgname:2:1}"
- pkgdesc="Python $pyver bindings for OpenImageIO image I/O library"
- depends="python$pyver"
-
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/python$pyver* "$subpkgdir"/usr/lib/
-}
-
-sha512sums="
-f891a7a79124c4844cc59c01d58d3bdeca5b16b5ba3105f42984095c898f85fcf5cc5a5f4a849c32baca242164041b0960e8aa402771039723910440e4eecaf5 openimageio-2.2.17.0.tar.gz
-"
diff --git a/testing/openjfx/APKBUILD b/testing/openjfx/APKBUILD
new file mode 100644
index 00000000000..c39c09c79d4
--- /dev/null
+++ b/testing/openjfx/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Dekedro <dekedro@protonmail.com>
+pkgname=openjfx
+pkgver=21.0.3_p1 # latest LTS
+pkgrel=0
+pkgdesc="Client application platform for desktop, mobile and embedded systems built on Java"
+url="https://openjfx.io/"
+# aarch64: java broken
+arch="x86_64"
+license="GPL-2.0-only WITH Classpath-exception-2.0 AND BSD-3-Clause"
+options="net"
+makedepends="apache-ant gradle glib-dev gtk+2.0-dev gtk+3.0-dev"
+subpackages="$pkgname-doc $pkgname-demos::noarch"
+source="$pkgname-$pkgver.tar.gz::https://github.com/openjdk/jfx21u/archive/refs/tags/${pkgver%_p*}+${pkgver##*_p}.tar.gz
+ openjfx.profile
+ remove-version-suffix-check.patch"
+builddir="$srcdir/jfx21u-${pkgver%_p*}-${pkgver##*_p}"
+
+build() {
+ gradle -PRELEASE_SUFFIX="-alpine-r$pkgrel" -PCONF=Release sdk apps
+}
+
+check() {
+ gradle test -x :web:test
+}
+
+package() {
+ install -dm755 \
+ "$pkgdir"/usr/lib \
+ "$pkgdir"/usr/share/doc \
+ "$pkgdir"/usr/share/licenses \
+ "$pkgdir"/usr/share/"$pkgname"/demo
+
+ cp -a build/sdk/lib "$pkgdir"/usr/lib/"$pkgname"
+ cp -a build/sdk/legal "$pkgdir"/usr/share/licenses/"$pkgname"
+ for app in apps/*/*; do
+ test -d "$app"/dist || continue
+ cp -a "$app"/dist "$pkgdir"/usr/share/"$pkgname"/demo/"${app##*/}"
+ done
+
+ install -Dm644 "$srcdir"/openjfx.profile "$pkgdir"/etc/profile.d/openjfx.sh
+}
+
+demos() {
+ pkgdesc="$pkgdesc (demos)"
+
+ amove /usr/share/"$pkgname"/demo
+}
+
+sha512sums="
+9ef6540e316e461a8cddcc6b99c3659663d3d6911204214afe5330fd238b7112431b70e5d2bc7ad548d41f1d8e22fa8d5342f6135901ae8404a8a4e9fdd718cf openjfx-21.0.3_p1.tar.gz
+41cf37116f748269e74a3333b718a854962088b83c6c56cc2860a21c0d0e24673184cea60502afc5d4cb222de368535c417d93ebe841a75c91c6a88dbb0a5041 openjfx.profile
+3757ec908449891567150bc4e0a5b301b0b238d17095c0829f6e1f1dae59260d9b162df031a25a31d4836a200a3e045ca9d79e656e4f1b2165649005345ee7a4 remove-version-suffix-check.patch
+"
diff --git a/testing/openjfx/openjfx.profile b/testing/openjfx/openjfx.profile
new file mode 100644
index 00000000000..9ddabc854f1
--- /dev/null
+++ b/testing/openjfx/openjfx.profile
@@ -0,0 +1,3 @@
+JDK_JAVA_OPTIONS="$JDK_JAVA_OPTIONS --module-path /usr/lib/openjfx --add-modules \
+javafx.base,javafx.controls,javafx.fxml,javafx.graphics,javafx.swing"
+export JDK_JAVA_OPTIONS \ No newline at end of file
diff --git a/testing/openjfx/remove-version-suffix-check.patch b/testing/openjfx/remove-version-suffix-check.patch
new file mode 100644
index 00000000000..899b2077cf9
--- /dev/null
+++ b/testing/openjfx/remove-version-suffix-check.patch
@@ -0,0 +1,42 @@
+--- a/modules/javafx.base/src/test/java/test/com/sun/javafx/runtime/VersionInfoTest.java
++++ b/modules/javafx.base/src/test/java/test/com/sun/javafx/runtime/VersionInfoTest.java
+@@ -161,39 +161,6 @@
+ }
+
+ @Test
+- public void testNonPublic() {
+- String runtimeVersion = VersionInfo.getRuntimeVersion();
+- Version v = new Version(runtimeVersion);
+- String milestone = VersionInfo.getReleaseMilestone();
+- String timestamp = VersionInfo.getBuildTimestamp();
+- String hudsonJob = VersionInfo.getHudsonJobName();
+- assertEquals(milestone, v.suffix);
+- if (hudsonJob.length() == 0) {
+- assertEquals(timestamp, v.opt);
+- assertEquals("internal", v.suffix);
+- } else {
+- assertFalse("internal".equals(v.suffix));
+- }
+- }
+-
+- @Test
+- public void testVersionFormat() {
+- String version = VersionInfo.getVersion();
+- String message = String.format("Wrong short version string: '%s'", version);
+- assertTrue(message, version.matches(SVSTR));
+- }
+-
+- @Test
+- public void testRuntimeVersionFormat() {
+- String runtimeVersion = VersionInfo.getRuntimeVersion();
+- try {
+- Runtime.Version.parse(runtimeVersion);
+- } catch (IllegalArgumentException e) {
+- fail(e.getMessage());
+- }
+- }
+-
+- @Test
+ public void testVersionInFile() {
+ String versionLive = VersionInfo.getVersion();
+ String versionFile = properties.getProperty(VERSION_KEY);
diff --git a/testing/openmg/APKBUILD b/testing/openmg/APKBUILD
new file mode 100644
index 00000000000..b3c15ada930
--- /dev/null
+++ b/testing/openmg/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Sergio Iglesias <sergiotarxz@posteo.net>
+# Maintainer: Sergio Iglesias <sergiotarxz@posteo.net>
+pkgname=openmg
+pkgver=0.0.9
+pkgrel=0
+pkgdesc="Manga reader for GNOME"
+url="https://github.com/sergiotarxz/openmg"
+arch="all !s390x !riscv64"
+license="GPL-3.0-or-later"
+makedepends="gtk4.0-dev meson libsoup-dev libadwaita-dev pcre2-dev json-glib-dev"
+options="!check" # no tests
+source="$pkgname-$pkgver.tar.gz::https://github.com/sergiotarxz/openmg/archive/refs/tags/v$pkgver.tar.gz
+ format-security.patch
+ "
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+862ee4bfec1aee50060ea8cf375eb650c2f2646f39eb0148bec4661934cdac939b2e1255f0761142730949ff242549113087d2bc0e6142823c88d37fffdc0fe8 openmg-0.0.9.tar.gz
+880c8309c7fc6b6000cb3135e7dc1f32d740856d4d14de1e9529e9045605502692db6c5e3e6d052c3b1ecd2e5d944718d7373635b00339a3487404b216b5e668 format-security.patch
+"
diff --git a/testing/openmg/format-security.patch b/testing/openmg/format-security.patch
new file mode 100644
index 00000000000..faccc20905e
--- /dev/null
+++ b/testing/openmg/format-security.patch
@@ -0,0 +1,119 @@
+diff --git a/src/database.c b/src/database.c
+index 778ccf7..ccbb9bf 100644
+--- a/src/database.c
++++ b/src/database.c
+@@ -172,22 +172,22 @@ mg_database_register_next_migration_atttempt_insert (MgDatabase *self, sqlite3 *
+ int error = sqlite3_prepare_v2 (sqlite, "insert into options (key, value) values (?, ?);",
+ -1, &statement, NULL);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_register_next_migration_attempt_insert;
+ }
+ error = sqlite3_bind_text (statement, 1, "migration", -1, SQLITE_TRANSIENT);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_register_next_migration_attempt_insert;
+ }
+ error = sqlite3_bind_int (statement, 2, next_migration);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_register_next_migration_attempt_insert;
+ }
+ error = sqlite3_step (statement);
+ if (error != SQLITE_DONE) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_register_next_migration_attempt_insert;
+ }
+ return_value = sqlite3_changes (sqlite);
+@@ -204,22 +204,22 @@ mg_database_register_next_migration_update (MgDatabase *self, sqlite3 *sqlite,
+ int error = sqlite3_prepare_v2 (sqlite, "update options set value = ? where key = ?;",
+ -1, &statement, NULL);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_register_next_migration_update;
+ }
+ error = sqlite3_bind_int (statement, 1, next_migration);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_register_next_migration_update;
+ }
+ error = sqlite3_bind_text (statement, 2, "migration", -1, SQLITE_TRANSIENT);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_register_next_migration_update;
+ }
+ error = sqlite3_step (statement);
+ if (error != SQLITE_DONE) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_register_next_migration_update;
+ }
+ return_value = sqlite3_changes (sqlite);
+@@ -245,12 +245,12 @@ mg_database_retrieve_next_migration (MgDatabase *self, sqlite3 *sqlite) {
+ sqlite3_stmt *statement = NULL;
+ error = sqlite3_prepare_v2 (sqlite, "select value from options where key = ?;", -1, &statement, NULL);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_retrieve_next_migration;
+ }
+ error = sqlite3_bind_text (statement, 1, "migration", -1, SQLITE_TRANSIENT);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_retrieve_next_migration;
+ }
+ error = sqlite3_step (statement);
+@@ -269,12 +269,12 @@ mg_database_apply_single_migration (MgDatabase *self, sqlite3 *sqlite, int migra
+ gboolean return_value = 0;
+ int error = sqlite3_prepare_v2 (sqlite, current_migration, -1, &statement, NULL);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_apply_single_migration;
+ }
+ error = sqlite3_step (statement);
+ if (error != SQLITE_DONE) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ goto cleanup_mg_database_apply_single_migration;
+ }
+ return_value = 1;
+@@ -303,7 +303,7 @@ mg_database_prepare (MgDatabase *self, char *z_sql, const char **pz_tail) {
+ sqlite3 *sqlite = mg_database_get_sqlite (self);
+ int error = sqlite3_prepare_v2 (sqlite, z_sql, -1, &statement, pz_tail);
+ if (error != SQLITE_OK) {
+- g_warning (sqlite3_errmsg (sqlite));
++ g_warning ("%s", sqlite3_errmsg (sqlite));
+ return NULL;
+ }
+ return mg_database_statement_new (self, statement);
+diff --git a/src/database/statement.c b/src/database/statement.c
+index 1599354..7218f22 100644
+--- a/src/database/statement.c
++++ b/src/database/statement.c
+@@ -137,7 +137,7 @@ mg_database_statement_bind_text (MgDatabaseStatement *self,
+ sqlite3_stmt *stmt = mg_database_statement_get_stmt (self);
+ int error = sqlite3_bind_text (stmt, index, value, -1, SQLITE_TRANSIENT);
+ if ( error != SQLITE_OK ) {
+- g_error (mg_database_get_error_string (self->owner));
++ g_error ("%s", mg_database_get_error_string (self->owner));
+ }
+ return error;
+ }
+@@ -149,7 +149,7 @@ mg_database_statement_step (MgDatabaseStatement *self) {
+ while ((error = sqlite3_step (stmt)) == SQLITE_BUSY) {
+ }
+ if (error != SQLITE_DONE && error != SQLITE_ROW) {
+- g_error (mg_database_get_error_string (self->owner));
++ g_error ("%s", mg_database_get_error_string (self->owner));
+ }
+ return error;
+ }
diff --git a/testing/openmp/APKBUILD b/testing/openmp/APKBUILD
deleted file mode 100644
index 6e1568829f3..00000000000
--- a/testing/openmp/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=openmp
-pkgver=12.0.1
-pkgrel=0
-pkgdesc="LLVM OpenMP Runtime Library"
-options="!check" # Missing llvm-lit
-url="https://openmp.llvm.org"
-arch="all !s390x !mips64" # LIBOMP_ARCH = UnknownArchitecture
-license="Apache-2.0"
-makedepends="cmake perl elfutils-dev libffi-dev"
-subpackages="$pkgname-dev"
-source="https://github.com/llvm/llvm-project/releases/download/llvmorg-$pkgver/openmp-$pkgver.src.tar.xz"
-builddir="$srcdir/$pkgname-$pkgver.src"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake \
- -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DLIBOMP_INSTALL_ALIASES=OFF \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- $CMAKE_CROSSOPTS
- make -C build
-
-}
-
-package() {
- DESTDIR="$pkgdir" make -C build install
- rm -f "$pkgdir"/usr/lib/libarcher_static.a
-}
-
-sha512sums="554edf032995cf80cfb6c878b26510b6c4df09e6bd4813934ea523ff8e121900a91ec59c3d83ee0ba390fb83bcaf6d137f7f6019958b444bdfe6a2b35c1c8d08 openmp-12.0.1.src.tar.xz"
diff --git a/testing/openocd-esp32/APKBUILD b/testing/openocd-esp32/APKBUILD
new file mode 100644
index 00000000000..eae4a199f27
--- /dev/null
+++ b/testing/openocd-esp32/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=openocd-esp32
+pkgver=0_git20230921
+_commit=a23a2d4f82f848a9e76b0b79c4b26782f26b11ed
+pkgrel=4
+pkgdesc="Fork of OpenOCD with ESP32 support"
+url="https://github.com/espressif/openocd-esp32"
+arch="all"
+license="GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only"
+makedepends="
+ autoconf
+ automake
+ hidapi-dev
+ jimtcl-dev
+ libftdi1-dev
+ libjaylink-dev
+ libtool
+ libusb-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-udev-rules:udev_rules"
+source="$pkgname-$pkgver.tar.gz::https://github.com/espressif/openocd-esp32/archive/$_commit.tar.gz
+ fix-jimtcl-link.patch"
+builddir="$srcdir/openocd-esp32-$_commit"
+
+##
+# XXX: Remove this aport when changes are upstreamed.
+##
+
+prepare() {
+ default_prepare
+ ./bootstrap nosubmodule
+}
+
+build() {
+ # --datadir:
+ # avoid conflicts with upstream openocd to allow parallel installations
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --datadir=/usr/share/$pkgname \
+ --localstatedir=/var \
+ --disable-werror \
+ --disable-internal-jimtcl \
+ --disable-internal-libjaylink
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm644 contrib/60-openocd.rules \
+ "$pkgdir"/lib/udev/rules.d/60-$pkgname.rules
+
+ # allow parallel install with upstream openocd
+ mv "$pkgdir"/usr/bin/openocd "$pkgdir"/usr/bin/$pkgname
+ mv "$pkgdir"/usr/share/man/man1/openocd.1 \
+ "$pkgdir"/usr/share/man/man1/openocd-esp32.1
+ sed -e 's/openocd/openocd-esp32/g' -i \
+ "$pkgdir"/usr/share/man/man1/openocd-esp32.1
+}
+
+udev_rules() {
+ pkgdesc="udev rules for $pkgname"
+ depends="!openocd-udev-rules"
+ amove lib/udev/rules.d/60-$pkgname.rules
+}
+
+sha512sums="
+cb884616a7547c30776629923d6a599f5702506a96a47076bbdfbe0a550b560a1277e751a8a6cd3e6bc7f1894604c1899d9416c731fa91ce71a95049f3cc8479 openocd-esp32-0_git20230921.tar.gz
+6fd2fbe11917bb7f181ba67812f63e75d51bcd19e4df6a7e22e1abb8f36a4f4bdc9202e815f560476ec184d54d84df8ae4dceb17f2429b9dc1d9503804dacb03 fix-jimtcl-link.patch
+"
diff --git a/testing/openocd-esp32/fix-jimtcl-link.patch b/testing/openocd-esp32/fix-jimtcl-link.patch
new file mode 100644
index 00000000000..657f3333c65
--- /dev/null
+++ b/testing/openocd-esp32/fix-jimtcl-link.patch
@@ -0,0 +1,44 @@
+Without this patch, OpenOCD only adds -ljim when linking against the
+internal version of jimtcl is disabled. This is insufficient as we build
+jimtcl with various additional features (OpenSSL, …) and thus also need
+to link against the libraries needed for these features (e.g. -lssl).
+For this reason, it is required to extract libraries needed by jimtcl
+using pkg-config. In the GNU autotools context, this can be achieved using
+the PKG_CHECK_MODULES macro from pkg.m4(7).
+
+This patch uses this macro for jimtcl and adds the required
+CFLAGS/LDFLAGS values for linking against jimtcl for the openocd target.
+
+diff -upr a/configure.ac b/configure.ac
+--- a/configure.ac 2021-09-14 17:31:53.000000000 +0200
++++ b/configure.ac 2021-10-02 11:32:04.066085040 +0200
+@@ -622,6 +622,9 @@ PKG_CHECK_MODULES([LIBGPIOD], [libgpiod]
+ PKG_CHECK_MODULES([LIBJAYLINK], [libjaylink >= 0.2],
+ [use_libjaylink=yes], [use_libjaylink=no])
+
++PKG_CHECK_MODULES([LIBJIM], [jimtcl >= 0.80],
++ [use_internal_jimtcl=no], [use_internal_jimtcl=yes])
++
+ m4_define([PROCESS_ADAPTERS], [
+ m4_foreach([adapter], [$1], [
+ AS_IF([test $2], [
+diff -upr a/src/Makefile.am b/src/Makefile.am
+--- a/src/Makefile.am 2021-09-14 17:31:53.000000000 +0200
++++ b/src/Makefile.am 2021-10-02 11:31:57.529416686 +0200
+@@ -9,13 +9,15 @@ bin_PROGRAMS += %D%/openocd
+ %D%/openocd.c %D%/openocd.h
+
+ %C%_openocd_LDADD = %D%/libopenocd.la
++%C%_openocd_CFLAGS =
+
+ %C%_openocd_LDADD += $(MINGWLDADD)
+
+ if INTERNAL_JIMTCL
+ %C%_openocd_LDADD += $(top_builddir)/jimtcl/libjim.a
+ else
+-%C%_openocd_LDADD += -ljim
++%C%_openocd_CFLAGS += $(LIBJIM_CFLAGS)
++%C%_openocd_LDADD += $(LIBJIM_LIBS)
+ endif
+
+ %C%_libopenocd_la_CPPFLAGS =
diff --git a/testing/openocd-git/APKBUILD b/testing/openocd-git/APKBUILD
index 00778d41989..0f10268041b 100644
--- a/testing/openocd-git/APKBUILD
+++ b/testing/openocd-git/APKBUILD
@@ -1,22 +1,37 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
_pkgname=openocd
-_commit=28c91b8f80937e6ec6521496f363038d9a5f9a04
+_commit=ea2e26f7d521f5755b4bfda7bf12d99650277421
pkgname=$_pkgname-git
-pkgver=20210702
-pkgrel=1
+pkgver=0_git20240113
+pkgrel=0
pkgdesc="Free and Open On-Chip Debugging, In-System Programming and Boundary-Scan Testing"
url="http://openocd.org/"
arch="all"
license="GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only"
-makedepends="libftdi1-dev libusb-dev hidapi-dev jimtcl-dev
- libjaylink-dev libtool autoconf automake"
-provides="openocd"
-subpackages="$pkgname-dev $pkgname-doc"
+makedepends="
+ autoconf
+ automake
+ hidapi-dev
+ jimtcl-dev
+ libftdi1-dev
+ libjaylink-dev
+ libtool
+ libusb-dev
+ "
+subpackages="
+ $pkgname-dbg
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-udev-rules:udev_rules:noarch
+ $pkgname-cmd-openocd:symlink:noarch
+ "
# Note: Using a github mirror here as sourceforge git snapshots have changing checksums
-source="$_pkgname-$_commit.tar.gz::https://github.com/openocd-org/openocd/archive/$_commit.tar.gz
+source="
+ $_pkgname-$_commit.tar.gz::https://github.com/openocd-org/openocd/archive/$_commit.tar.gz
+
fix-jimtcl-link.patch
- fix-dynamic-linking.patch"
+ "
builddir="$srcdir/$_pkgname-$_commit"
prepare() {
@@ -25,12 +40,16 @@ prepare() {
}
build() {
+ # --datadir:
+ # avoid conflicts with release version of openocd to allow parallel
+ # installations
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
+ --datadir=/usr/share/$pkgname \
--localstatedir=/var \
--disable-werror \
--enable-cmsis-dap \
@@ -47,10 +66,31 @@ check() {
package() {
make DESTDIR="$pkgdir" install
+ install -Dm644 contrib/60-openocd.rules \
+ "$pkgdir"/lib/udev/rules.d/60-$pkgname.rules
+
+ # allow parallel install with release openocd
+ mv "$pkgdir"/usr/bin/openocd "$pkgdir"/usr/bin/$pkgname
+ mv "$pkgdir"/usr/share/man/man1/openocd.1 \
+ "$pkgdir"/usr/share/man/man1/openocd-git.1
+ sed -e 's/openocd/openocd-git/g' -i \
+ "$pkgdir"/usr/share/man/man1/openocd-git.1
+}
+
+udev_rules() {
+ pkgdesc="udev rules for $pkgname"
+ depends="!openocd-udev-rules"
+ amove lib/udev/rules.d/60-$pkgname.rules
+}
+
+symlink() {
+ pkgdesc="provide the 'openocd' cmd as symlink to 'openocd-git'"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ mkdir -p "$subpkgdir"/usr/bin/
+ ln -s openocd-git "$subpkgdir"/usr/bin/openocd
}
sha512sums="
-c1f02277262ec3cc168b18a71d436a123f08e5246e35f94e37c922618c9d91e34b8ca525eed1f93a2ce37315f23c6d9a6a8f88ca4c2bc16bc3e432127ffcd70d openocd-28c91b8f80937e6ec6521496f363038d9a5f9a04.tar.gz
+82ecf9ca084adef91f88425c0f8d35ba5939ccee4086e11559b98e21a0287c1fca7c8f20b25a7d650458319a10c106fd484616ffef6f9dd6dd3d3bc847bc8317 openocd-ea2e26f7d521f5755b4bfda7bf12d99650277421.tar.gz
6fd2fbe11917bb7f181ba67812f63e75d51bcd19e4df6a7e22e1abb8f36a4f4bdc9202e815f560476ec184d54d84df8ae4dceb17f2429b9dc1d9503804dacb03 fix-jimtcl-link.patch
-a0980806af54bafd759c2e329cd11eabf0eb352f7f823966ab0f4a60508559fb7abd41072c0a882da0906ddf086ee139115deca04bb1a70ab915b50a1d3fc2e7 fix-dynamic-linking.patch
"
diff --git a/testing/openocd-git/fix-dynamic-linking.patch b/testing/openocd-git/fix-dynamic-linking.patch
deleted file mode 100644
index 44cec606308..00000000000
--- a/testing/openocd-git/fix-dynamic-linking.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Without this patch, linking against libjim dynamically will cause an
-infinite loop. We just fix the memory leak, for which this thingy is
-supposed to be a workaround, directly in the jimtcl package instead.
-
-See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13046#note_182639
-
-diff -upr a/src/helper/command.c b/src/helper/command.c
---- a/src/helper/command.c 2021-10-02 11:47:43.452995606 +0200
-+++ b/src/helper/command.c 2021-10-02 11:51:10.803049538 +0200
-@@ -148,9 +148,14 @@ static void command_log_capture_finish(s
- * If jimtcl is linked-in from a precompiled library, either static or dynamic,
- * the symbol Jim_CreateCommandObj is not exported and the build will use the
- * bugged API.
-+ *
-+ * This workaround creates an infinite loop when OpenOCD is linked
-+ * dynamically against jimtcl on Alpine and thus only enabled if the internal
-+ * version of jimtcl is used.
-+ *
- * To be removed when OpenOCD will switch to jimtcl 0.81
- */
--#if JIM_VERSION == 80 && defined __linux__
-+#if JIM_VERSION == 80 && defined __linux__ && defined INTERNAL_JIMTCL
- static int workaround_createcommand(Jim_Interp *interp, const char *cmdName,
- Jim_CmdProc *cmdProc, void *privData, Jim_DelCmdProc *delProc);
- int Jim_CreateCommandObj(Jim_Interp *interp, Jim_Obj *cmdNameObj,
diff --git a/testing/openocd-riscv/APKBUILD b/testing/openocd-riscv/APKBUILD
index 6e15be84ba9..e1149896bf5 100644
--- a/testing/openocd-riscv/APKBUILD
+++ b/testing/openocd-riscv/APKBUILD
@@ -1,19 +1,26 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
pkgname=openocd-riscv
-pkgver=0_git20210914
-_commit=41ffb2dee645834c71b8ebda4cacf9187b3fe686
-pkgrel=3
+pkgver=0_git20230104
+_commit=43ea20dfbb6c815004a51106a3b2009d7f6c4940
+pkgrel=1
pkgdesc="Fork of OpenOCD with RISC-V support"
url="https://github.com/riscv/riscv-openocd"
arch="all"
license="GPL-2.0-only,GPL-2.0-or-later,GPL-3.0-only"
-depends="!openocd-git !openocd"
-makedepends="libftdi1-dev libusb-dev hidapi-dev libtool automake autoconf jimtcl-dev"
-subpackages="$pkgname-dev $pkgname-doc"
+makedepends="
+ autoconf
+ automake
+ hidapi-dev
+ jimtcl-dev
+ libftdi1-dev
+ libjaylink-dev
+ libtool
+ libusb-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-udev-rules:udev_rules"
source="$pkgname-$pkgver.tar.gz::https://github.com/riscv/riscv-openocd/archive/$_commit.tar.gz
- fix-jimtcl-link.patch
- fix-dynamic-linking.patch"
+ fix-jimtcl-link.patch"
builddir="$srcdir/riscv-openocd-$_commit"
##
@@ -26,18 +33,19 @@ prepare() {
}
build() {
- # XXX: This fork uses a modified version of libjaylink which is
- # not fully compatible with our packaged version of libjaylink.
- # As such, we can't pass --disable-internal-libjaylink here.
+ # --datadir:
+ # avoid conflicts with upstream openocd to allow parallel installations
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
+ --datadir=/usr/share/$pkgname \
--localstatedir=/var \
--disable-werror \
- --disable-internal-jimtcl
+ --disable-internal-jimtcl \
+ --disable-internal-libjaylink
make
}
@@ -47,10 +55,23 @@ check() {
package() {
make DESTDIR="$pkgdir" install
+ install -Dm644 contrib/60-openocd.rules \
+ "$pkgdir"/lib/udev/rules.d/60-$pkgname.rules
+ # allow parallel install with upstream openocd
+ mv "$pkgdir"/usr/bin/openocd "$pkgdir"/usr/bin/$pkgname
+ mv "$pkgdir"/usr/share/man/man1/openocd.1 \
+ "$pkgdir"/usr/share/man/man1/openocd-riscv.1
+ sed -e 's/openocd/openocd-riscv/g' -i \
+ "$pkgdir"/usr/share/man/man1/openocd-riscv.1
+}
+
+udev_rules() {
+ pkgdesc="udev rules for $pkgname"
+ depends="!openocd-udev-rules"
+ amove lib/udev/rules.d/60-$pkgname.rules
}
sha512sums="
-272f2c141d04c44e23ff743160148e7a08fcc74647fde63c719c003836b8ea65f4455fb7b5c35b48068b1e44670aab748f7ad1e7bc082f242e12566521e8e02b openocd-riscv-0_git20210914.tar.gz
+2ffe4047d4c3afa8dd7be581362f36b88d250a46c4ed3f9b396a15163bd6d131984a9b0d27c47bfbda9f195443010ddfb267e7401b6b334a466a1dcad4ebc9b8 openocd-riscv-0_git20230104.tar.gz
6fd2fbe11917bb7f181ba67812f63e75d51bcd19e4df6a7e22e1abb8f36a4f4bdc9202e815f560476ec184d54d84df8ae4dceb17f2429b9dc1d9503804dacb03 fix-jimtcl-link.patch
-a0980806af54bafd759c2e329cd11eabf0eb352f7f823966ab0f4a60508559fb7abd41072c0a882da0906ddf086ee139115deca04bb1a70ab915b50a1d3fc2e7 fix-dynamic-linking.patch
"
diff --git a/testing/openocd-riscv/fix-dynamic-linking.patch b/testing/openocd-riscv/fix-dynamic-linking.patch
deleted file mode 100644
index 44cec606308..00000000000
--- a/testing/openocd-riscv/fix-dynamic-linking.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Without this patch, linking against libjim dynamically will cause an
-infinite loop. We just fix the memory leak, for which this thingy is
-supposed to be a workaround, directly in the jimtcl package instead.
-
-See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13046#note_182639
-
-diff -upr a/src/helper/command.c b/src/helper/command.c
---- a/src/helper/command.c 2021-10-02 11:47:43.452995606 +0200
-+++ b/src/helper/command.c 2021-10-02 11:51:10.803049538 +0200
-@@ -148,9 +148,14 @@ static void command_log_capture_finish(s
- * If jimtcl is linked-in from a precompiled library, either static or dynamic,
- * the symbol Jim_CreateCommandObj is not exported and the build will use the
- * bugged API.
-+ *
-+ * This workaround creates an infinite loop when OpenOCD is linked
-+ * dynamically against jimtcl on Alpine and thus only enabled if the internal
-+ * version of jimtcl is used.
-+ *
- * To be removed when OpenOCD will switch to jimtcl 0.81
- */
--#if JIM_VERSION == 80 && defined __linux__
-+#if JIM_VERSION == 80 && defined __linux__ && defined INTERNAL_JIMTCL
- static int workaround_createcommand(Jim_Interp *interp, const char *cmdName,
- Jim_CmdProc *cmdProc, void *privData, Jim_DelCmdProc *delProc);
- int Jim_CreateCommandObj(Jim_Interp *interp, Jim_Obj *cmdNameObj,
diff --git a/testing/openra/APKBUILD b/testing/openra/APKBUILD
new file mode 100644
index 00000000000..c9b487abef4
--- /dev/null
+++ b/testing/openra/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=openra
+pkgver=20231010
+pkgrel=0
+pkgdesc="Open source implementation of the Red Alert engine"
+url="https://www.openra.net"
+arch="x86_64 armv7 aarch64"
+license="GPL-3.0-or-later"
+depends="
+ dotnet6-runtime
+ freetype
+ libgdiplus
+ lua5.1
+ openal-soft-libs
+ sdl2
+ xdg-utils
+ "
+makedepends="dotnet6-sdk"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenRA/OpenRA/archive/release-$pkgver.tar.gz"
+builddir="$srcdir/OpenRA-release-$pkgver"
+options="net"
+
+prepare() {
+ default_prepare
+
+ make version VERSION="release-$pkgver"
+}
+
+build() {
+ make RUNTIME=net6 TARGETPLATFORM=unix-generic
+}
+
+check() {
+ make RUNTIME=net6 check
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/lib/
+ cp -a bin/ "$pkgdir"/usr/lib/openra
+ # shellcheck disable=1091
+ . ./packaging/functions.sh
+
+ install_data . "$pkgdir"/usr/lib/openra/ cnc d2k ra
+ make prefix=/usr DESTDIR="$pkgdir" install-linux-shortcuts
+ make prefix=/usr DESTDIR="$pkgdir" install-linux-appdata
+}
+
+sha512sums="
+76968f241f506faf879793b63553bd259eb2ae204c607dcbfdb03078773c32d3d122ffe554049d31fed5cd7d35bf22fb07ef0fa73505a88b2ce7f8ae21189f8d openra-20231010.tar.gz
+"
diff --git a/testing/openrazer/APKBUILD b/testing/openrazer/APKBUILD
deleted file mode 100644
index aa80f7070c3..00000000000
--- a/testing/openrazer/APKBUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=openrazer
-pkgver=3.2.0
-pkgrel=1
-pkgdesc="Open source driver and user-space daemon to control Razer lighting and other features on GNU/Linux"
-url="https://openrazer.github.io/"
-arch="noarch"
-license="GPL-2.0-only"
-depends="
- py3-daemonize
- py3-setproctitle
- py3-udev
- "
-makedepends="
- py3-setuptools
- "
-subpackages="
- $pkgname-doc
- $pkgname-src
- py3-$pkgname:py3
- "
-source="https://github.com/openrazer/openrazer/archive/v$pkgver/openrazer-v$pkgver.tar.gz"
-options="!check" # No tests
-
-package() {
- DESTDIR="$pkgdir" make appstream_install udev_install daemon_install xdg_install
-
- # We don't have systemd
- rm -r "$pkgdir"/usr/lib/systemd
-}
-
-src() {
- depends="akms"
-
- cd "$builddir"
- DESTDIR="$subpkgdir" make setup_dkms
-
- # We don't have dkms but use akms instead
- #rm "$pkgdir"/usr/src/openrazer-driver-$pkgver/dkms.conf
-
- cat >"$subpkgdir"/usr/src/openrazer-driver-$pkgver/AKMBUILD <<-EOF
- modname=openrazer-driver
- modver=$pkgver
- built_modules='razeraccessory.ko razerkbd.ko razerkraken.ko razermouse.ko'
-
- build() {
- touch "\$builddir"/Makefile
- make \$MAKEFLAGS -C "\$kernel_srcdir" M="\$builddir" src="\$srcdir"/driver modules
- }
- EOF
-}
-
-py3() {
- depends="py3-numpy"
-
- cd "$builddir"
- DESTDIR="$subpkgdir" make python_library_install
-}
-
-sha512sums="
-847b90545cacab4ad73818a82b1277d622faaaf488ec28cfe1f826d976bee9d605a1b2c53afd1c628592b330486e378fb70d711bc7d2804a4bc198b507a7e0c2 openrazer-v3.2.0.tar.gz
-"
diff --git a/testing/openrc-exporter/APKBUILD b/testing/openrc-exporter/APKBUILD
deleted file mode 100644
index c93dcdca237..00000000000
--- a/testing/openrc-exporter/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Tom Lebreux <me@tomlebreux.com>
-# Maintainer: Tom Lebreux <me@tomlebreux.com>
-pkgname=openrc-exporter
-pkgver=0.0.2
-pkgrel=2
-pkgdesc="Prometheus exporter for OpenRC"
-url="https://sr.ht/~tomleb/openrc-exporter"
-arch="all"
-license="AGPL-3.0-only"
-makedepends="go openrc-dev"
-install="$pkgname.pre-install"
-subpackages="$pkgname-openrc"
-pkgusers="openrc-exporter"
-pkggroups="openrc-exporter"
-source="
- $pkgname-$pkgver.tar.gz::https://git.sr.ht/~tomleb/openrc-exporter/archive/$pkgver.tar.gz
- openrc-exporter.initd
- openrc-exporter.confd
- "
-options="!check" # No tests yet
-
-build() {
- CGO_ENABLED=1 go build -v -ldflags "-X main.version=$pkgver" \
- -trimpath ./cmd/openrc-exporter
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm755 openrc-exporter "$pkgdir"/usr/bin/openrc-exporter
-
- install -Dm755 "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd \
- "$pkgdir"/etc/conf.d/$pkgname
-}
-
-sha512sums="f593bb6e9f462527cd0a527539be576cbab361911fc19c9170f3e2da64093011eefa5a28bd527e07b2fdb4b8143bbd59b2590f9be0305b7d909a9039366f6a54 openrc-exporter-0.0.2.tar.gz
-674cc2095b5ff46f59240f3a7a76b5fe0f3824eccaaa952d56d41a8dbef7e022dbff77eb210615dab8914b6a458bfa2fdc9ccb41d3beeda358e259daf4665597 openrc-exporter.initd
-53fe95875b1f91acb91afa6e878885c2716d5b356ba535c20fc5ad4d8bf37ff4807c14b6379e82387348dde81dc3c0c421598736b48b0d3ddf337c69de2aa0a5 openrc-exporter.confd"
diff --git a/testing/openrc-exporter/openrc-exporter.confd b/testing/openrc-exporter/openrc-exporter.confd
deleted file mode 100644
index f607091e475..00000000000
--- a/testing/openrc-exporter/openrc-exporter.confd
+++ /dev/null
@@ -1,3 +0,0 @@
-# Configuration for /etc/init.d/openrc-exporter
-
-openrc_exporter_opts="-listen-address 0.0.0.0:9816"
diff --git a/testing/openrc-exporter/openrc-exporter.initd b/testing/openrc-exporter/openrc-exporter.initd
deleted file mode 100644
index a05226c39a6..00000000000
--- a/testing/openrc-exporter/openrc-exporter.initd
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-
-name=openrc-exporter
-description="Prometheus exporter which exposes metrics on services managed by OpenRC"
-
-command=/usr/bin/openrc-exporter
-command_args="$openrc_exporter_opts"
-command_user="openrc-exporter:openrc-exporter"
-
-depend() {
- need net
- after firewall
-}
diff --git a/testing/openrc-exporter/openrc-exporter.pre-install b/testing/openrc-exporter/openrc-exporter.pre-install
deleted file mode 100644
index 6ff2e15769d..00000000000
--- a/testing/openrc-exporter/openrc-exporter.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S openrc-exporter 2>/dev/null
-adduser -H -S -D -s /sbin/nologin -G openrc-exporter -g openrc-exporter openrc-exporter 2>/dev/null
-
-exit 0
diff --git a/testing/openresty/APKBUILD b/testing/openresty/APKBUILD
deleted file mode 100644
index fc0a8286ee1..00000000000
--- a/testing/openresty/APKBUILD
+++ /dev/null
@@ -1,155 +0,0 @@
-# Contributor: tcely <openresty+aports@tcely.33mail.com>
-# Maintainer: Will Sinatra <wpsinatra@gmail.com>
-pkgname=openresty
-pkgver=1.19.9.1
-pkgrel=2
-pkgdesc="Scalable Web Platform by Extending NGINX with Lua"
-url="https://openresty.org/"
-arch="all !riscv64" # blocked by luajit
-license="BSD-2-Clause"
-options="!check" # tests environment not available
-provides="nginx"
-makedepends="linux-headers gd-dev geoip-dev openssl-dev libxml2-dev libxslt-dev
- luajit-dev pcre-dev perl-dev pkgconf readline-dev zlib-dev"
-subpackages="$pkgname-doc"
-source="https://openresty.org/download/openresty-$pkgver.tar.gz"
-
-_modules_dir="/usr/lib/nginx/modules"
-_add_module() {
- local name="http-$1"
- local _soname="${2-$1}"
- local soname="ngx_http_${_soname//-/_}_module.so"
-
- subpackages="$subpackages $pkgname-mod-${name}:_module"
- eval "_module_${name//-/_}_so='${soname//\'}'"
-
- [ -z "$3" ] || { shift; shift; eval "_module_${name//-/_}_deps='${*//\'}'"; }
-}
-
-_add_module echo
-_add_module headers-more headers_more_filter
-_add_module lua lua nginx-mod-devel-kit
-_add_module lua-upstream lua_upstream "$pkgname-mod-http-lua"
-_add_module redis2
-_add_module set-misc set_misc nginx-mod-devel-kit
-
-prepare() {
- default_prepare
- sed -i.orig -e '/--add-module=$dir/s/module/dynamic-&/' configure
-}
-
-_configure() {
- local _pkgname=nginx
-
- ./configure -j"$(nproc)" \
- --prefix=/usr/lib/$_pkgname \
- --sbin-path=/usr/sbin/$_pkgname \
- --modules-path="$_modules_dir" \
- --conf-path=/etc/$_pkgname/$_pkgname.conf \
- --pid-path=/var/run/$_pkgname/$_pkgname.pid \
- --lock-path=/var/run/$_pkgname/$_pkgname.lock \
- --error-log-path=/var/log/$_pkgname/error.log \
- --http-log-path=/var/log/$_pkgname/access.log \
- \
- --http-client-body-temp-path=/var/tmp/$_pkgname/client_body \
- --http-proxy-temp-path=/var/tmp/$_pkgname/proxy \
- --http-fastcgi-temp-path=/var/tmp/$_pkgname/fastcgi \
- --http-uwsgi-temp-path=/var/tmp/$_pkgname/uwsgi \
- --http-scgi-temp-path=/var/tmp/$_pkgname/scgi \
- --with-perl_modules_path=/usr/lib/perl5/vendor_perl \
- \
- --user=$_pkgname \
- --group=$_pkgname \
- --with-threads \
- --with-file-aio \
- \
- --with-http_ssl_module \
- --with-http_v2_module \
- --with-http_realip_module \
- --with-http_addition_module \
- --with-http_xslt_module=dynamic \
- --with-http_image_filter_module=dynamic \
- --with-http_geoip_module=dynamic \
- --with-luajit=/usr \
- --with-http_sub_module \
- --with-http_dav_module \
- --with-http_flv_module \
- --with-http_mp4_module \
- --with-http_gunzip_module \
- --with-http_gzip_static_module \
- --with-http_auth_request_module \
- --with-http_random_index_module \
- --with-http_secure_link_module \
- --with-http_degradation_module \
- --with-http_slice_module \
- --with-http_stub_status_module \
- --with-http_perl_module=dynamic \
- --with-mail=dynamic \
- --with-mail_ssl_module \
- --with-stream=dynamic \
- --with-stream_ssl_module \
- --with-stream_realip_module \
- --with-stream_geoip_module=dynamic \
- --with-stream_ssl_preread_module \
- --with-pcre-jit \
-
-}
-
-build() {
- _configure
- make
- mv build built
-
- mv configure.orig configure
- _configure
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-_module() {
- local name="${subpkgname#$pkgname-mod-}"
- local soname="$(eval echo "\$_module_${name//-/_}_so")"
- local _deps="$(eval echo "\$_module_${name//-/_}_deps")"
-
- pkgdesc="$pkgdesc (module $soname)"
- depends="cmd:nginx openresty${_deps:+ }$_deps"
- provides=""
-
- mkdir -p "${subpkgdir}$_modules_dir"
- cd "${subpkgdir}$_modules_dir"
- mv "$builddir"/built/nginx-*/objs/"$soname" .
-
- mkdir -p "$subpkgdir/etc/nginx/modules"
- cd "$subpkgdir/etc/nginx/modules"
- echo "load_module \"modules/$soname\";" > "./$name.conf"
-}
-
-doc() {
- default_doc
- local _prefix='/usr/lib/nginx'
-
- mkdir -p "$subpkgdir$_prefix"
- mkdir -p "$subpkgdir$_prefix/bin"
- mkdir -p "$subpkgdir$_prefix/site"
-
- mv "$pkgdir$_prefix/pod" "$subpkgdir$_prefix/"
- mv "$pkgdir$_prefix/site/pod" "$subpkgdir$_prefix/site/"
-
- mv "$pkgdir$_prefix/bin/md2pod.pl" "$subpkgdir$_prefix/bin/"
- mv "$pkgdir$_prefix/bin/nginx-xml2pod" "$subpkgdir$_prefix/bin/"
- mv "$pkgdir$_prefix/bin/restydoc" "$subpkgdir$_prefix/bin/"
- mv "$pkgdir$_prefix/bin/restydoc-index" "$subpkgdir$_prefix/bin/"
-
- mkdir -p "$subpkgdir/usr/lib/perl5/vendor_perl"
- mv "$pkgdir/usr/lib/perl5/vendor_perl/man3" "$subpkgdir/usr/lib/perl5/vendor_perl/"
-}
-
-#gpg_signature_extensions="asc"
-#gpgfingerprints="good:2545 1EB0 8846 0026 195B D62C B550 E09E A0E9 8066"
-
-sha512sums="
-8e22c78930bc60f76bdf798264545009974f7ec0ed3756f4060217af7d36e7430d98bd0b9d5cea6fca407c22caf8954862ae3d17aa8bfc1c808e156961063ee5 openresty-1.19.9.1.tar.gz
-"
diff --git a/testing/openscad/APKBUILD b/testing/openscad/APKBUILD
deleted file mode 100644
index 44d05c7b0a8..00000000000
--- a/testing/openscad/APKBUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=openscad
-pkgver=2021.01
-pkgrel=1
-pkgdesc="The programmers solid 3D CAD modeller"
-url="http://openscad.org/"
-# mips64: builder ran out of memory
-arch="all !aarch64 !armv7 !armhf !mips64" # issues with GLEW and GLES on ARM platforms
-license="GPL-2.0-only"
-subpackages="$pkgname-doc"
-makedepends="
- bison
- boost-dev
- cgal-dev
- double-conversion-dev
- eigen-dev
- flex
- glew-dev
- gmp-dev
- harfbuzz-dev
- lib3mf-dev
- libxml2-dev
- libzip-dev
- mpfr-dev
- opencsg-dev
- qscintilla-dev
- qt5-qtbase-dev
- qt5-qtmultimedia-dev
- "
-checkdepends="
- cmake
- imagemagick
- libx11
- python3
- xorgproto
- xvfb-run
- "
-source="https://files.openscad.org/openscad-$pkgver.src.tar.gz
- "
-options="!check" # Tests fail in xvfb, but pass on real X server
-
-build() {
- qmake-qt5 PREFIX="/usr"
- # fix issue with #include_next stdlib.h
- sed -e 's/-isystem \/usr\/include //g' -i Makefile
- make
-}
-
-check() {
- cd tests
- cmake .
- make
- #xvfb-run ctest # Tests fail in xvfb, but pass on real X server
- ctest
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
-}
-
-sha512sums="
-8deaa26bf4c295c12da38f323d2b2e6f827851337f5bc1cc9c79afc083c9f913c19a263086e6e853bf2c8434c1ccc705ea22ddb02dc99d39bb1e5e03fc58d128 openscad-2021.01.src.tar.gz
-"
diff --git a/testing/openscap-daemon/APKBUILD b/testing/openscap-daemon/APKBUILD
index d5c9f5cdd79..6975d5a7d2a 100644
--- a/testing/openscap-daemon/APKBUILD
+++ b/testing/openscap-daemon/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=openscap-daemon
pkgver=0.1.10
-pkgrel=6
+pkgrel=9
pkgdesc="Manages continuous scans of your infrastructure"
url="https://www.open-scap.org/tools/openscap-daemon/"
arch="noarch"
license="LGPL-2.1-only"
depends="py3-gobject3"
-makedepends="python3-dev"
-subpackages="$pkgname-doc"
+makedepends="python3-dev py3-setuptools"
+subpackages="$pkgname-doc $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/OpenSCAP/openscap-daemon/archive/$pkgver.tar.gz
python-3.7.patch"
@@ -31,7 +31,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
rm -rf "$pkgdir"/usr/lib/systemd
}
diff --git a/testing/openscap/APKBUILD b/testing/openscap/APKBUILD
deleted file mode 100644
index dfc50635597..00000000000
--- a/testing/openscap/APKBUILD
+++ /dev/null
@@ -1,50 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=openscap
-pkgver=1.3.5
-pkgrel=3
-pkgdesc="NIST Certified SCAP 1.2 toolkit"
-url="https://www.open-scap.org/tools/openscap-base/"
-arch="all"
-license="LGPL-2.1-or-later"
-makedepends="cmake python3-dev dbus-dev dbus-glib-dev bash libselinux-dev
- curl-dev openssl1.1-compat-dev libgcrypt-dev acl-dev libblkid libcap-dev libxml2-dev
- libxslt-dev openldap-dev pcre2-dev perl-xml-parser perl-xml-xpath perl-dev
- rpm-dev swig bzip2-dev asciidoc fts-dev doxygen procps-dev
- libbz2 util-linux-dev nss-dev xmlsec-dev"
-options="!check"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-bash-completion"
-source="https://github.com/OpenSCAP/openscap/releases/download/$pkgver/openscap-$pkgver.tar.gz
- fix-ppc64le-path_max.patch
- path_mounted.patch
- "
-
-prepare() {
- default_prepare
- mkdir -p build
-}
-
-build() {
- cd "$builddir"/build
- export LIBS=-lfts
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DENABLE_DOCS=ON \
- -DENABLE_PERL=OFF \
- -DENABLE_TESTS=OFF\
- ..
- make
-}
-
-package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir" install
-
- install -Dm644 "$builddir"/dist/bash_completion.d/oscap \
- "$pkgdir"/usr/share/bash-completion/completions/$pkgname
-}
-
-sha512sums="896d7b1e4552cba936dba70f186c3e3c5696d9ccb020ab5f18d8ac08de403f236b1651682da9711ed4721c365db9de7dacd3fce5d0fa467c15c16addef1055db openscap-1.3.5.tar.gz
-0d8e5eb492b4439b82e35e4a87a2030f9aeff3173bda60d8ce57584fa7d7dda970ad35099e45fe46a7e135d9a55d6c2ced0a8b180556e37c7a9926de28244133 fix-ppc64le-path_max.patch
-f2157d6b1d31affe16edb184a287b69d28808123f1cc26a5a4238040d935517b307772b1f2d66271b8ee99b59a4d204930f9147b78478c83c36c7fc8718ec1d9 path_mounted.patch"
diff --git a/testing/openscap/fix-ppc64le-path_max.patch b/testing/openscap/fix-ppc64le-path_max.patch
deleted file mode 100644
index 5fd2981d871..00000000000
--- a/testing/openscap/fix-ppc64le-path_max.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- a/src/OVAL/probes/unix/linux/iflisteners_probe.c
-+++ b/src/OVAL/probes/unix/linux/iflisteners_probe.c
-@@ -53,6 +53,7 @@
- #include <netdb.h>
- #include <arpa/inet.h>
- #include <regex.h>
-+#include <limits.h>
-
- #include "_seap.h"
- #include "probe-api.h"
-diff --git a/src/OVAL/probes/unix/process58_probe.c b/src/OVAL/probes/unix/process58_probe.c
-index 95ef0a7..3ab2cb0 100644
---- a/src/OVAL/probes/unix/process58_probe.c
-+++ b/src/OVAL/probes/unix/process58_probe.c
-@@ -67,6 +67,7 @@
- #include <fcntl.h>
- #include <sched.h>
- #include <time.h>
-+#include <limits.h>
-
- #ifdef HAVE_PROC_DEVNAME_H
- #include <proc/devname.h>
-diff --git a/src/OVAL/probes/independent/environmentvariable58_probe.c b/src/OVAL/probes/independent/environmentvariable58_probe.c
-index 552ce67..e2490ac 100644
---- a/src/OVAL/probes/independent/environmentvariable58_probe.c
-+++ b/src/OVAL/probes/independent/environmentvariable58_probe.c
-@@ -50,6 +50,7 @@
- #include <fcntl.h>
- #include <sys/types.h>
- #include <dirent.h>
-+#include <limits.h>
-
- #include <probe/probe.h>
- #include "_seap.h"
diff --git a/testing/openscap/path_mounted.patch b/testing/openscap/path_mounted.patch
deleted file mode 100644
index 2d6361402e6..00000000000
--- a/testing/openscap/path_mounted.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/OVAL/probes/fsdev.c b/src/OVAL/probes/fsdev.c
-index c0b0f76..99bf786 100644
---- a/src/OVAL/probes/fsdev.c
-+++ b/src/OVAL/probes/fsdev.c
-@@ -38,6 +38,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <errno.h>
-+#include <paths.h>
-
- #if defined(OS_LINUX)
- # include <mntent.h>
diff --git a/testing/openslide/APKBUILD b/testing/openslide/APKBUILD
new file mode 100644
index 00000000000..47babd604d8
--- /dev/null
+++ b/testing/openslide/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=openslide
+pkgver=3.4.1
+pkgrel=3
+pkgdesc="C library for reading virtual slide images"
+url="https://openslide.org"
+arch="all"
+license="LGPL-2.1-only"
+options="!check" # no test suite
+makedepends="
+ cairo-dev
+ gdk-pixbuf-dev
+ glib-dev
+ libpng-dev
+ libjpeg-turbo-dev
+ libxml2-dev
+ tiff-dev
+ openjpeg-dev
+ sqlite-dev
+ zlib-dev
+ "
+source="https://github.com/openslide/openslide/releases/download/v$pkgver/openslide-$pkgver.tar.gz"
+subpackages="$pkgname-dev $pkgname-tools:_tools $pkgname-doc"
+
+prepare() {
+ default_prepare
+ update_config_guess
+ update_config_sub
+}
+
+build() {
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+_tools() {
+ pkgdesc="Utilities for reading virtual slide images"
+ amove usr/bin
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+dfab4de1cc0c5599d0128e59957a43ecf6f75ea773d87e58967afe54733e4bcc0ef08573723194a33e7b1da8054a458f509f15a1b4830776d2851b83a9af279b openslide-3.4.1.tar.gz
+"
diff --git a/testing/opensm/APKBUILD b/testing/opensm/APKBUILD
index 2a9a8404d70..700bc87946a 100644
--- a/testing/opensm/APKBUILD
+++ b/testing/opensm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=opensm
pkgver=3.3.24
-pkgrel=0
+pkgrel=2
pkgdesc="OpenSM InfiniBand subnet manager"
url="https://github.com/linux-rdma/opensm"
arch="x86 x86_64 ppc64le"
diff --git a/testing/opensmtpd-filter-dkimsign/APKBUILD b/testing/opensmtpd-filter-dkimsign/APKBUILD
new file mode 100644
index 00000000000..66591477885
--- /dev/null
+++ b/testing/opensmtpd-filter-dkimsign/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Malte Voos <malte@malvo.org>
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Malte Voos <malte@malvo.org>
+_pkgname=filter-dkimsign
+pkgname=opensmtpd-$_pkgname
+pkgver=0.6
+pkgrel=1
+pkgdesc="OpenSMTPD filter for DKIM signing"
+url="http://imperialat.at/dev/filter-dkimsign/"
+arch="all"
+license="ISC"
+makedepends="libopensmtpd-dev openssl-dev mandoc"
+install="$pkgname.pre-install $pkgname.post-install"
+options="!check" # no test suite
+subpackages="$pkgname-doc"
+source="http://imperialat.at/releases/filter-dkimsign-$pkgver.tar.gz
+ dkimsign-genkey
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ make -f Makefile.gnu HAVE_ED25519=1
+}
+
+package() {
+ make -f Makefile.gnu DESTDIR="$pkgdir" BINDIR=/usr/lib/opensmtpd/ install
+
+ install -D -m755 "$srcdir"/dkimsign-genkey -t "$pkgdir"/usr/sbin/
+}
+
+sha512sums="
+1efab386a020c6a3cbf6059ce0feea539fa62be0990fd8538c4b152fa0c302d7bfffa7c7bb74643c25e47c20250f600f1371d2725dc3178ad103ce585530c0ce filter-dkimsign-0.6.tar.gz
+0e6e1db509a8299c97070f82b2c4d832c9f19d8d8909e21563c3d589ef29ebfd5b867b3f5271a6ebe6b97196569a7b9d6403a91d9c0c1db72358d6c12abbc4c5 dkimsign-genkey
+"
diff --git a/testing/opensmtpd-filter-dkimsign/dkimsign-genkey b/testing/opensmtpd-filter-dkimsign/dkimsign-genkey
new file mode 100644
index 00000000000..f854fc60e29
--- /dev/null
+++ b/testing/opensmtpd-filter-dkimsign/dkimsign-genkey
@@ -0,0 +1,101 @@
+#!/bin/sh
+#---help---
+# Usage: dkimsign-genkey [options]
+#
+# Generate DKIM signing key and print instructions for DNS and OpenSMTPD.
+#
+# Options:
+# -a <alg> The signing algorithm to use: "rsa" or "ed25519".
+#
+# -d <domain> The domain name where the public key will be found
+# (informational only).
+#
+# -k <file> Where to write the private key; defaults to
+# /etc/smtpd/dkim/<selector>.key.
+#
+# -s <selector> The selector within the _domainkey subdomain of <domain>
+# where the public key will be found (informational only).
+#
+# -h Print this message and exit.
+#
+# Please report bugs at <https://gitlab.alpinelinux.org/alpine/aports/-/issues>.
+#---help---
+set -euo pipefail
+
+PROGNAME='dkimsign-genkey'
+FILTER_USER='dkimsign'
+FILTER_GROUP='dkimsign'
+
+die() {
+ printf '%s: %s\n' "$PROGNAME" "$1" >&2
+ exit 1
+}
+
+help() {
+ local tag='#---help---'
+ sed -n "/^$tag/,/^$tag/{/^$tag/d; s/^# \\?//; p}" "$0"
+}
+
+alg='rsa'
+domain='example.org'
+keyfile=
+selector='mail'
+while getopts ':a:d:o:s:h' OPT; do
+ case "$OPT" in
+ a) alg=$OPTARG;;
+ d) domain=$OPTARG;;
+ k) keyfile=$OPTARG;;
+ s) selector=$OPTARG;;
+ h) help; exit 0;;
+ \?) die "unknown option: -$OPTARG (try '$0 -h')";;
+ esac
+done
+
+: ${keyfile:="/etc/smtpd/dkim/$selector.key"}
+txtfile="${keyfile%.key}.txt"
+
+command -v openssl >/dev/null \
+ || die "openssl command is not installed, run: 'apk add cmd:openssl'"
+
+[ "$(id -u)" -eq 0 ] \
+ || die 'must be run as root'
+
+[ -d "${keyfile%/*}" ] \
+ || install -m 750 -g "$FILTER_GROUP" -d "${keyfile%/*}"
+
+case "$alg" in
+ rsa)
+ openssl genpkey -algorithm rsa -pkeyopt rsa_keygen_bits:2048 -outform PEM -out "$keyfile"
+ pubkey=$(openssl rsa -in "$keyfile" -pubout \
+ | sed '1d;:nl;${s/-----.*//;q;};N;s/\n//g;b nl')
+ ;;
+ ed25519)
+ openssl genpkey -algorithm ed25519 -outform PEM -out "$keyfile"
+ pubkey=$(openssl pkey -outform DER -pubout -in "$keyfile" \
+ | tail -c +13 \
+ | openssl base64)
+ ;;
+ *) die "unknown algorithm: $alg";;
+esac
+
+chgrp "$FILTER_GROUP" "$keyfile"
+chmod 440 "$keyfile"
+
+printf '%s._domainkey.%s.\tIN\tTXT\t"v=DKIM1; k=%s; p=%s;"\n' \
+ "$selector" "$domain" "$alg" "$pubkey" > "$txtfile"
+
+cat <<EOF
+
+Add the following record to DNS:
+------✂-------------------------
+$(cat "$txtfile")
+------✂-------------------------
+
+Declare dkimsign filter in /etc/smtpd/smtpd.conf:
+------✂------------------------------------------
+filter dkimsign \\
+ proc-exec "filter-dkimsign -a $alg-sha256 -d $domain -s $selector -k $keyfile" \\
+ user $FILTER_USER \\
+ group $FILTER_GROUP
+------✂------------------------------------------
+EOF
diff --git a/testing/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign.post-install b/testing/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign.post-install
new file mode 100644
index 00000000000..7037ce1e63f
--- /dev/null
+++ b/testing/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+cat >&2 <<EOF
+* You can use 'dkimsign-genkey' to generate a DKIM key.
+EOF
+
+exit 0
diff --git a/testing/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign.pre-install b/testing/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign.pre-install
new file mode 100644
index 00000000000..625becb4096
--- /dev/null
+++ b/testing/opensmtpd-filter-dkimsign/opensmtpd-filter-dkimsign.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S dkimsign 2>/dev/null
+adduser -S -D -H -h /dev/null -s /sbin/nologin -G dkimsign -g opensmtpd-filter-dkimsign dkimsign 2>/dev/null
+
+exit 0
diff --git a/testing/openspades/APKBUILD b/testing/openspades/APKBUILD
index 1aa891db566..4c8ea197028 100644
--- a/testing/openspades/APKBUILD
+++ b/testing/openspades/APKBUILD
@@ -3,41 +3,56 @@
pkgname=openspades
pkgver=0.1.3
_resource_version=r33
-pkgrel=3
+pkgrel=5
pkgdesc="open-source voxel firt person shooter"
url="http://openspades.yvt.jp/"
arch="x86_64 x86" #disabled for the other architectures due to compiling problems
license="GPL-3.0-only"
depends="bash openal-soft glew opus libjpeg-turbo libxinerama libxft zip"
-makedepends="grep make cmake openal-soft-dev glew-dev curl-dev sdl2-dev
- sdl2_image-dev freetype-dev opus-dev opusfile-dev libjpeg-turbo-dev
- libxinerama-dev libxft-dev"
+makedepends="
+ cmake
+ curl-dev
+ freetype-dev
+ glew-dev
+ grep
+ imagemagick
+ libjpeg-turbo-dev
+ libxft-dev
+ libxinerama-dev
+ openal-soft-dev
+ opus-dev
+ opusfile-dev
+ samurai
+ sdl2-dev
+ sdl2_image-dev
+ "
subpackages="$pkgname-doc"
options="!check" #no testsuite
source="$pkgname-$pkgver.zip::https://github.com/yvt/openspades/archive/v$pkgver.zip
https://github.com/yvt/openspades-paks/releases/download/$_resource_version/OpenSpadesDevPackage-$_resource_version.zip
fix-resources.patch"
-prepare() {
- default_prepare
- mv "$srcdir/Nonfree/pak000-Nonfree.pak" "$srcdir/$pkgname-$pkgver/Resources"
- mv "$srcdir/OfficialMods/font-unifont.pak" "$srcdir/$pkgname-$pkgver/Resources"
-}
-
build() {
- cmake CMakeLists.txt \
- -DCMAKE_INSTALL_PREFIX:PATH=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DOPENSPADES_RESDIR=/usr/share/$pkgname/Resources \
- -DOPENSPADES_INSTALL_RESOURCES=share/$pkgname/Resources \
- -DOPENSPADES_INSTALL_BINARY=bin
- make
+ cmake -G Ninja -B build \
+ -DCMAKE_INSTALL_PREFIX:PATH=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DOPENSPADES_RESDIR=/usr/share/$pkgname/Resources \
+ -DOPENSPADES_INSTALL_RESOURCES=share/$pkgname/Resources \
+ -DOPENSPADES_INSTALL_BINARY=bin
+ cmake --build build
+
+ # need to be installed by cmake
+ mv "$srcdir/Nonfree/pak000-Nonfree.pak" build/Resources/
+ mv "$srcdir/OfficialMods/font-unifont.pak" build/Resources/
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
+ install -Dm644 "$srcdir"/Nonfree/LICENSE.md "$pkgdir"/usr/share/doc/openspades/ASSETS_LICENSE
}
-sha512sums="c7164dc5c9ac67ec20ef174b18e2ed7383fbe8ccd2d2e725b92256ee58273b96d6c2fa106ea7f8f196505f847340e381c221f97fe797a040575bb2dd6e228e6c openspades-0.1.3.zip
+sha512sums="
+c7164dc5c9ac67ec20ef174b18e2ed7383fbe8ccd2d2e725b92256ee58273b96d6c2fa106ea7f8f196505f847340e381c221f97fe797a040575bb2dd6e228e6c openspades-0.1.3.zip
eb16dee8adfdd93388eac6309908811af02afdcdd6d009e2ab30b87a6b9bb495e77d3de750af18a3209dcf01ddb8400a6b03c1d570f1b77f8a1d2e5f26eb329e OpenSpadesDevPackage-r33.zip
-f9d01fb4443c5cc8a60ef1d115bff21ddbd6e1ee606391d04962228c5b986b5ec27972350aa921f6837e8d73435ba84abdbd89adc1767282625d15defa947ebe fix-resources.patch"
+f9d01fb4443c5cc8a60ef1d115bff21ddbd6e1ee606391d04962228c5b986b5ec27972350aa921f6837e8d73435ba84abdbd89adc1767282625d15defa947ebe fix-resources.patch
+"
diff --git a/testing/openssh-askpass/APKBUILD b/testing/openssh-askpass/APKBUILD
deleted file mode 100644
index 7ce2373a43d..00000000000
--- a/testing/openssh-askpass/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=openssh-askpass
-pkgver=7.6_p1
-_myver=${pkgver%_*}${pkgver#*_}
-pkgrel=0
-pkgdesc="A passphrase dialog for OpenSSH and GTK"
-url="http://www.openssh.org/portable.html"
-arch="all"
-license="AS-IS"
-depends="openssh-client"
-options="!check"
-makedepends="gtk+2.0-dev"
-subpackages=""
-source="https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-$_myver.tar.gz"
-builddir="$srcdir"/openssh-$_myver/contrib
-
-build () {
- cd "$builddir"
- make gnome-ssh-askpass2
-}
-
-package() {
- cd "$builddir"
- install -Dm755 gnome-ssh-askpass2 "$pkgdir"/usr/lib/ssh/gtk-ssh-askpass
- install -d "$pkgdir"/etc/profile.d
- cat > "$pkgdir"/etc/profile.d/openssh-askpass.sh <<- EOF
- SSH_ASKPASS=/usr/lib/ssh/gtk-ssh-askpass
- export SSH_ASKPASS
- EOF
- chmod +x "$pkgdir"/etc/profile.d/openssh-askpass.sh
-}
-
-sha512sums="de17fdcb8239401f76740c8d689a8761802f6df94e68d953f3c70b9f4f8bdb403617c48c1d01cc8c368d88e9d50aee540bf03d5a36687dfb39dfd28d73029d72 openssh-7.6p1.tar.gz"
diff --git a/testing/openssl1.1-compat/APKBUILD b/testing/openssl1.1-compat/APKBUILD
new file mode 100644
index 00000000000..29eb65bacac
--- /dev/null
+++ b/testing/openssl1.1-compat/APKBUILD
@@ -0,0 +1,177 @@
+# Contributor: Ariadne Conill <ariadne@dereferenced.org>
+# Maintainer: Timo Teras <timo.teras@iki.fi>
+pkgname=openssl1.1-compat
+pkgver=1.1.1w
+_abiver=${pkgver%.*}
+pkgrel=0
+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" ;;
+ mips64*) _target="linux64-mips64" ;;
+ # explicit _optflags is needed to prevent automatic -mips3 addition
+ mips*) _target="linux-mips32"; _optflags="-mips32" ;;
+ 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";;
+ *) 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=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"
+ mkdir -p "$subpkgdir"/lib "$subpkgdir"/usr/lib
+ mv "$pkgdir"/etc "$subpkgdir"/
+ for i in "$pkgdir"/usr/lib/libcrypto*; do
+ mv $i "$subpkgdir"/lib/
+ ln -s ../../lib/${i##*/} "$subpkgdir"/usr/lib/${i##*/}
+ done
+ mv "$pkgdir"/usr/lib/engines-$_abiver "$subpkgdir"/usr/lib/
+}
+
+_libssl() {
+ pkgdesc="SSL shared libraries"
+
+ mkdir -p "$subpkgdir"/lib "$subpkgdir"/usr/lib
+ for i in "$pkgdir"/usr/lib/libssl*; do
+ mv $i "$subpkgdir"/lib/
+ ln -s ../../lib/${i##*/} "$subpkgdir"/usr/lib/${i##*/}
+ done
+}
+
+_static() {
+ default_static
+}
+
+sha512sums="
+b4c625fe56a4e690b57b6a011a225ad0cb3af54bd8fb67af77b5eceac55cc7191291d96a660c5b568a08a2fbf62b4612818e7cca1bb95b2b6b4fc649b0552b6d openssl-1.1.1w.tar.gz
+43c3255118db6f5f340dc865c0f25ccbcafe5bf7507585244ca59b4d27daf533d6c3171aa32a8685cbb6200104bec535894b633de13feaadff87ab86739a445a man-section.patch
+e040f23770d52b988578f7ff84d77563340f37c026db7643db8e4ef18e795e27d10cb42cb8656da4d9c57a28283a2828729d70f940edc950c3422a54fea55509 ppc64.patch
+"
diff --git a/testing/openssl1.1-compat/man-section.patch b/testing/openssl1.1-compat/man-section.patch
new file mode 100644
index 00000000000..0606897f45e
--- /dev/null
+++ b/testing/openssl1.1-compat/man-section.patch
@@ -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}");
diff --git a/testing/openssl1.1-compat/ppc64.patch b/testing/openssl1.1-compat/ppc64.patch
new file mode 100644
index 00000000000..c75ceedba2c
--- /dev/null
+++ b/testing/openssl1.1-compat/ppc64.patch
@@ -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)-/) {
diff --git a/testing/opensubdiv/0001-remove-rpath.patch b/testing/opensubdiv/0001-remove-rpath.patch
deleted file mode 100644
index 6eda0fea899..00000000000
--- a/testing/opensubdiv/0001-remove-rpath.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 1d841c8e5ab36b932d9e51a1e871539451786632 Mon Sep 17 00:00:00 2001
-From: Leon Marz <main@lmarz.org>
-Date: Sat, 1 May 2021 16:21:51 +0200
-Subject: [PATCH] remove rpath
-
----
- CMakeLists.txt | 13 -------------
- 1 file changed, 13 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 359114e..eebf833 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -140,19 +140,6 @@ elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Intel")
- set(CMAKE_COMPILER_IS_ICC 1)
- endif()
-
--
--if (NOT CMAKE_COMPILER_IS_ICC)
-- # Currently icc has a bug that asserts when linking rpaths containing long
-- # sequences of ':' that this command causes. The consequence is that examples
-- # built and installed using icc will not have an rpath pointing to the built
-- # OSD library which they depend on and will have to set LD_LIBRARY_PATH instead.
-- list(APPEND CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
--endif()
--
--# add the automatically determined parts of the RPATH
--# which point to directories outside the build tree to the install RPATH
--SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
--
- # ensure that ARC is shown as enabled in the Xcode UI
- if(CMAKE_GENERATOR STREQUAL "Xcode")
- set (CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC "YES")
---
-2.31.1
-
diff --git a/testing/opensubdiv/APKBUILD b/testing/opensubdiv/APKBUILD
deleted file mode 100644
index 962a2d56902..00000000000
--- a/testing/opensubdiv/APKBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# Contributor: Mark Riedesel <mark@klowner.com>
-# Contributor: Leon Marz <main@lmarz.org>
-# Maintainer: Mark Riedesel <mark@klowner.com>
-pkgname=opensubdiv
-pkgver=3.4.4
-_pkgver=${pkgver//./_}
-pkgrel=0
-pkgdesc="An Open-Source subdivision surface library"
-url="http://graphics.pixar.com/opensubdiv"
-arch="all !s390x !mips !mips64" # ptex isn't available on these arches
-license="Apache-2.0"
-makedepends="cmake
- doxygen
- glfw-dev
- libtbb-dev
- libxcursor-dev
- libxi-dev
- libxrandr-dev
- ptex-dev
- ptex
- py3-docutils
- zlib-dev
- "
-subpackages="$pkgname-dev $pkgname-doc $pkgname-tutorials $pkgname-tools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/PixarAnimationStudios/OpenSubdiv/archive/v$_pkgver.tar.gz
- 0001-remove-rpath.patch
- "
-builddir="$srcdir/OpenSubdiv-$_pkgver"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DNO_CLEW=ON \
- -DNO_CUDA=ON \
- -DNO_GLTESTS=ON
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-tutorials() {
- pkgdesc="$pkgdesc (tutorials)"
- depends="$pkgname"
-
- mkdir -p "$subpkgdir"/usr/bin/
- local tut; for tut in "$pkgdir"/usr/bin/tutorials/*; do
- mv $tut "$subpkgdir"/usr/bin/opensubdiv_${tut##*/}
- done
- rmdir "$pkgdir"/usr/bin/tutorials
-}
-
-tools() {
- pkgdesc="$pkgdesc (tools)"
-
- amove usr/bin
-}
-
-sha512sums="fc8f28b79347015c8991150535c1339e695d96947c72fadd4fa27b546a0813c1125cd175ee03bed5aacdb3609f74c4e526ef70103d1195ba9f7df041e73ea9fb opensubdiv-3.4.4.tar.gz
-2b00a32cc6708fcd0cfe54d5b4895f64f8295044fdfa1c5e7adcddb630fe6cb3564330a9ebd6b801e7469befc45a26f48aa18620f3b7cf5a27272d54cda442c0 0001-remove-rpath.patch"
diff --git a/testing/opensurge/APKBUILD b/testing/opensurge/APKBUILD
deleted file mode 100644
index c63235b21b4..00000000000
--- a/testing/opensurge/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=opensurge
-pkgver=0.5.2.1
-pkgrel=0
-pkgdesc="2D retro platformer inspired by Sonic games"
-url="https://opensurge2d.org"
-arch="all"
-license="GPL-3.0-only"
-makedepends="allegro-dev cmake linux-headers surgescript-dev"
-source="opensurge-$pkgver.tar.gz::https://github.com/alemart/opensurge/archive/refs/tags/v$pkgver.tar.gz
- patch-zip.patch"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DGAME_BINDIR=/bin \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-1f407ca33ef6d6bd72848f3db1b0b51f42a19648c1164d3547bdc2126dba310f318527f3bf04af0dfe78998a3a53bf057af92f8b1ff36e33255ee270a97bf2f3 opensurge-0.5.2.1.tar.gz
-e830dcac54afa3d8042a5ac647dbcf96df065639b425070f7b5874741360996b46a6ffe30b14b6b01f19b9404e2541d020d7bba7caf0c29f2408a2531deba991 patch-zip.patch
-"
diff --git a/testing/opensurge/patch-zip.patch b/testing/opensurge/patch-zip.patch
deleted file mode 100644
index 39aee00055c..00000000000
--- a/testing/opensurge/patch-zip.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Fix invalid conditional on recent version of musl.
-
-Upstream: not yet, need better alternative.
---- a/src/core/zip/zip.h
-+++ b/src/core/zip/zip.h
-@@ -19,15 +19,6 @@
- extern "C" {
- #endif
-
--#if !defined(_SSIZE_T_DEFINED) && !defined(_SSIZE_T_DEFINED_) && \
-- !defined(_SSIZE_T) && !defined(_SSIZE_T_) && \
-- !defined(__ssize_t_defined) && !defined(ssize_t) && \
-- !defined(_SSIZE_T_DECLARED) && !defined(HAVE_SSIZE_T)
--#define _SSIZE_T
--#define __ssize_t_defined
--typedef long ssize_t; /* byte count or error */
--#endif
--
- #ifndef MAX_PATH
- #define MAX_PATH 32767 /* # chars in a path name including NULL */
- #endif
diff --git a/testing/opentelemetry-cpp/APKBUILD b/testing/opentelemetry-cpp/APKBUILD
new file mode 100644
index 00000000000..92997fa44c7
--- /dev/null
+++ b/testing/opentelemetry-cpp/APKBUILD
@@ -0,0 +1,108 @@
+# Contributor: Severin Neumann <neumanns@cisco.com>
+# Maintainer: Severin Neumann <neumanns@cisco.com>
+pkgname=opentelemetry-cpp
+pkgver=1.11.0
+pkgrel=2
+_opentelemetryproto_ver=1.0.0
+pkgdesc="OpenTelemetry C++"
+url="https://opentelemetry.io/"
+arch="all !s390x" # failing test (TraceIdRatioBasedSampler.ShouldSampleWithoutContext)
+license="Apache-2.0"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ $pkgname-exporter-otlp-common=$pkgver-r$pkgrel
+ $pkgname-exporter-otlp-grpc=$pkgver-r$pkgrel
+ $pkgname-exporter-otlp-http=$pkgver-r$pkgrel
+ $pkgname-exporter-zipkin=$pkgver-r$pkgrel
+ "
+makedepends="
+ abseil-cpp-dev
+ c-ares-dev
+ cmake
+ curl-dev
+ grpc-dev
+ nlohmann-json
+ protobuf-dev
+ re2-dev
+ samurai
+ "
+checkdepends="
+ benchmark-dev
+ gtest-dev
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-exporter-otlp-common
+ $pkgname-exporter-otlp-grpc
+ $pkgname-exporter-otlp-http
+ $pkgname-exporter-zipkin
+ "
+source="
+ https://github.com/open-telemetry/opentelemetry-cpp/archive/v$pkgver/opentelemetry-cpp-v$pkgver.tar.gz
+ opentelemetry-proto-$_opentelemetryproto_ver.tar.gz::https://github.com/open-telemetry/opentelemetry-proto/archive/refs/tags/v$_opentelemetryproto_ver.tar.gz
+ gcc13.patch
+ "
+
+build() {
+ # skip some broken asm in benchmark 1.8.1
+ export CXXFLAGS="$CXXFLAGS -DBENCHMARK_HAS_NO_INLINE_ASSEMBLY"
+ cmake -B build -G Ninja -Wno-dev \
+ -DOTELCPP_PROTO_PATH="$srcdir/opentelemetry-proto-$_opentelemetryproto_ver" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \
+ -DBUILD_W3CTRACECONTEXT_TEST="$(want_check && echo ON || echo OFF)" \
+ -DCMAKE_BUILD_TYPE=None \
+ -DWITH_ABSEIL=ON \
+ -DWITH_STL=ON \
+ -DWITH_EXAMPLES=OFF \
+ -DWITH_ZPAGES=OFF \
+ -DWITH_OTLP_GRPC=ON \
+ -DWITH_OTLP_HTTP=ON \
+ -DWITH_ZIPKIN=ON \
+ -DWITH_PROMETHEUS=OFF \
+ -DWITH_LOGS_PREVIEW=OFF \
+ -DWITH_ASYNC_EXPORT_PREVIEW=OFF \
+ -DWITH_METRICS_EXEMPLAR_PREVIEW=OFF
+ cmake --build build
+}
+
+check() {
+ cd build
+ # these seem to fail on 32-bit as passing an invalid curl option
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest -j1 -E '(SendPostRequest.*)'
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+common() {
+ pkgdesc="OpenTelemetry C++ OTLP Common Libraries"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ amove usr/lib/libopentelemetry_otlp*
+}
+
+http() {
+ pkgdesc="OpenTelemetry C++ OTLP HTTP exporter"
+ depends="$pkgname=$pkgver-r$pkgrel $pkgname-exporter-otlp-common=$pkgver-r$pkgrel"
+ amove usr/lib/libopentelemetry_exporter_otlp_http*
+}
+
+grpc() {
+ pkgdesc="OpenTelemetry C++ OTLP gRPC exporter"
+ depends="$pkgname=$pkgver-r$pkgrel $pkgname-exporter-otlp-common=$pkgver-r$pkgrel"
+ amove usr/lib/libopentelemetry_exporter_otlp_grpc*
+}
+
+zipkin() {
+ pkgdesc="OpenTelemetry C++ OTLP Zipkin exporter"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ amove usr/lib/libopentelemetry_exporter_zipkin*
+}
+
+sha512sums="
+906df3cd44d88f7846231bc14c7305b9c6d9ee22ebd5a0cce21d6da1d7d62e72efe6101a2518d969a238eb3d6bbdf75e8017d7ab42edc0409391700973602006 opentelemetry-cpp-v1.11.0.tar.gz
+74de78304a91fe72cfcdbd87fcb19c0d6338c161d6624ce09eac0527b1b43b8a5d8790ae055e1d3d44319eaa070a506f47e740f888c91d724a0aef8b509688f0 opentelemetry-proto-1.0.0.tar.gz
+ca839f8bac0b16855fdbe539c21bf16de0fcd13802bb0ba62d25db99a6bf1fa5e6911dbb19ee0523f39bb47188e5c657e2fd10193908c060a6b74f8d2c5f0fc3 gcc13.patch
+"
diff --git a/testing/opentelemetry-cpp/gcc13.patch b/testing/opentelemetry-cpp/gcc13.patch
new file mode 100644
index 00000000000..5933a699dfc
--- /dev/null
+++ b/testing/opentelemetry-cpp/gcc13.patch
@@ -0,0 +1,12 @@
+diff --git a/api/include/opentelemetry/trace/propagation/detail/hex.h b/api/include/opentelemetry/trace/propagation/detail/hex.h
+index c8bd58f..aecdedd 100644
+--- a/api/include/opentelemetry/trace/propagation/detail/hex.h
++++ b/api/include/opentelemetry/trace/propagation/detail/hex.h
+@@ -5,6 +5,7 @@
+
+ #include <algorithm>
+ #include <cstring>
++#include <cstdint>
+
+ #include "opentelemetry/nostd/string_view.h"
+ #include "opentelemetry/version.h"
diff --git a/testing/openttd/APKBUILD b/testing/openttd/APKBUILD
index 5db63e3bc78..8683114f3eb 100644
--- a/testing/openttd/APKBUILD
+++ b/testing/openttd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Adrian Siekierka <kontakt@asie.pl>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=openttd
-pkgver=12.1
+pkgver=13.4
pkgrel=1
pkgdesc="Open source version of the Transport Tycoon Deluxe simulator"
url="https://www.openttd.org"
@@ -15,22 +15,25 @@ makedepends="
icu-dev
libpng-dev
lzo-dev
- sdl12-compat-dev
+ samurai
+ sdl2-dev
xz-dev
zlib-dev
"
subpackages="$pkgname-doc $pkgname-lang::noarch"
-source="https://cdn.openttd.org/openttd-releases/$pkgver/openttd-$pkgver-source.tar.xz"
+source="https://cdn.openttd.org/openttd-releases/$pkgver/openttd-$pkgver-source.tar.xz
+ no-sse4.patch
+ "
options="!check" # TODO: find how to start test suite, no check implemented
build() {
cmake -B build \
+ -G "Ninja" \
-DCMAKE_INSTALL_BINDIR=bin \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_DATADIR=share/games \
- -DGLOBAL_DATA_DIR=share/games/openttd \
- -DCMAKE_BUILD_TYPE=None \
- -DReleaseBuild=ON
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -Wl,-z,stack-size=1048576"
cmake --build build
}
@@ -48,5 +51,6 @@ lang() {
}
sha512sums="
-bf58dbe308c64736973b92d66c3973081867e93f02e3b345556f5e74aea00fe0bbbb8b826f4bb59440b593d2a2d3be4f36321fb8a44be89bfa390fe6afe40bfc openttd-12.1-source.tar.xz
+84f57a39c0dade44f0e6153dff7a40eec0da8e2f892ce870d5f9e037f80daa5c7c46ff786fa51c3671366dd5056504cd7ccbc1c4e5bce8b2c5575533b454c001 openttd-13.4-source.tar.xz
+fef70a685b4d440a0c1a6b6cde94df2dcada7ee10f4b213ee0a649dfbbb5de800aed06a4f066b2be5369147b1ecd83ad6b89bdb06138c46b250ca7f75c95b5a4 no-sse4.patch
"
diff --git a/testing/openttd/no-sse4.patch b/testing/openttd/no-sse4.patch
new file mode 100644
index 00000000000..3966acc5666
--- /dev/null
+++ b/testing/openttd/no-sse4.patch
@@ -0,0 +1,13 @@
+this sets the sources to use sse4 instructions, which is above our baseline.
+it also enables sse4 on pure-x86 with our builds, so best to disable
+--- a/cmake/FindSSE.cmake
++++ b/cmake/FindSSE.cmake
+@@ -12,6 +12,7 @@
+ #include <xmmintrin.h>
+ #include <smmintrin.h>
+ #include <tmmintrin.h>
+- int main() { return 0; }"
++ # die!
++ int main() { *(int *)0 = 0; }"
+ SSE_FOUND
+ )
diff --git a/testing/openvino/APKBUILD b/testing/openvino/APKBUILD
deleted file mode 100644
index 23a622c0195..00000000000
--- a/testing/openvino/APKBUILD
+++ /dev/null
@@ -1,143 +0,0 @@
-# Contributor: Dennis Krupenik <dennis@krupenik.com>
-# Maintainer: Dennis Krupenik <dennis@krupenik.com>
-pkgname=openvino
-pkgver=2020.4
-_gflags=46f73f88b18aee341538c0dfc22b1710a6abedef
-_ade=cbe2db61a659c2cc304c3837406f95c39dfa938e
-_googletest=9bd163b993459b2ca6ba2dc508577bbc8774c851
-_onednn=2706f56ebab54415be48add2751072065f4b52ab
-pkgrel=2
-pkgdesc="Deep Learning Deployment Toolkit"
-url="https://github.com/openvinotoolkit/openvino"
-# limited by geos -> gdal -> vtk -> opencv
-# x86: error: '_mm_insert_epi64' was not declared in this scope; did you mean '_mm_insert_epi32'?
-# 'usr/openvino/deployment_tools/inference_engine/lib/*/cache.json' not found for others than x86_64
-arch="x86_64"
-license="Apache-2.0"
-depends_dev="libtbb-dev opencl-headers opencl-icd-loader-dev opencv-dev"
-makedepends="autoconf automake cmake cython gcompat git libtool python3-dev
- py3-setuptools $depends_dev"
-subpackages="$pkgname-static py3-$pkgname:py3 $pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/openvinotoolkit/openvino/archive/$pkgver.tar.gz
- gflags-$_gflags.tar.gz::https://github.com/gflags/gflags/archive/$_gflags.tar.gz
- ade-$_ade.tar.gz::https://github.com/opencv/ade/archive/$_ade.tar.gz
- googletest-$_googletest.tar.gz::https://github.com/openvinotoolkit/googletest/archive/$_googletest.tar.gz
- oneDNN-$_onednn.tar.gz::https://github.com/openvinotoolkit/oneDNN/archive/$_onednn.tar.gz
- cmake-config.patch
- pessimizing-move.patch
- deprecated-copy.patch
- cmake-dont-force-build-type.patch
- include-stdexcept.patch
- "
-
-prepare() {
- # FIXME: use system versions
- cp -r "$srcdir"/ade-*/* inference-engine/thirdparty/ade/
- cp -r "$srcdir"/gflags-*/* inference-engine/samples/thirdparty/gflags/
- cp -r "$srcdir"/googletest-*/* inference-engine/tests/ie_test_utils/common_test_utils/gtest/
- cp -r "$srcdir"/oneDNN-*/* inference-engine/thirdparty/mkl-dnn/
-
- default_prepare
-
- sed -e 's|-Werror||g' -i cmake/os_flags.cmake
-}
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -Wno-dev \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr/openvino \
- -DENABLE_ALTERNATIVE_TEMP=OFF \
- -DENABLE_CLANG_FORMAT=OFF \
- -DENABLE_CPPLINT=OFF \
- -DENABLE_GNA=OFF \
- -DENABLE_MYRIAD=OFF \
- -DENABLE_OPENCV=OFF \
- -DENABLE_PROFILING_ITT=OFF \
- -DENABLE_PYTHON=ON \
- -DENABLE_SAMPLES=OFF \
- -DENABLE_SPEECH_DEMO=OFF \
- -DENABLE_VPU=OFF \
- -DNGRAPH_DYNAMIC_COMPONENTS_ENABLE=OFF \
- -DNGRAPH_EXPORT_TARGETS_ENABLE=OFF \
- -DNGRAPH_IE_ENABLE=ON \
- -DNGRAPH_JSON_ENABLE=OFF \
- -DNGRAPH_ONNX_IMPORT_ENABLE=OFF \
- -DNGRAPH_PYTHON_BUILD_ENABLE=OFF \
- -DNGRAPH_TEST_UTIL_ENABLE=OFF \
- -DNGRAPH_UNIT_TEST_ENABLE=OFF \
- -DOpenCV_DIR=/usr/lib/cmake/opencv4 \
- -DTBB_DIR=/usr/lib/cmake/TBB \
- -DNGRAPH_WARNINGS_AS_ERRORS=False \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS -Wno-error" \
- -DTHREADING=TBB \
- $CMAKE_CROSSOPTS .
- make -C build
-}
-
-check() {
- CTEST_OUTPUT_ON_FAILURE=1 make -C build test
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-
- cd "$pkgdir"
- mkdir -p usr/bin usr/include usr/lib usr/share/openvino
-
- mv usr/openvino/include/* usr/include/
- mv usr/openvino/deployment_tools/inference_engine/include/* usr/include/
-
- # debug
- find usr/openvino -type f
-
- mv usr/openvino/deployment_tools/inference_engine/lib/*/compile_tool usr/bin/
- mv usr/openvino/deployment_tools/inference_engine/lib/*/*.so usr/lib/
- mv usr/openvino/deployment_tools/inference_engine/lib/*/cache.json usr/share/openvino
- mv usr/openvino/deployment_tools/inference_engine/lib/*/plugins.xml usr/share/openvino
-
- mv usr/openvino/lib*/* usr/lib/
- mv usr/openvino/python/* usr/lib/
-
- mv usr/openvino/share/* usr/share/
- mv usr/openvino/deployment_tools/inference_engine/share/* usr/share/
-
- rm -rf usr/openvino
-
- # These are part of third-party packages and should not be included
- rm -rf usr/include/pugiconfig.hpp usr/include/pugixml.hpp
- rm -rf usr/include/clDNN usr/include/cldnn
- rm -rf usr/include/ade
- rm -rf usr/lib/cmake/ade
- rm -rf usr/lib/cmake/pugixml
- rm -rf usr/lib/pkgconfig/gflags.pc
-}
-
-dev() {
- default_dev
-
- mkdir -p "$subpkgdir"/usr/lib/cmake/InferenceEngine
- mv "$pkgdir"/usr/share/InferenceEngine*.cmake "$subpkgdir"/usr/lib/cmake/InferenceEngine/
- mv "$pkgdir"/usr/share/ie_parallel.cmake "$subpkgdir"/usr/lib/cmake/InferenceEngine/
-}
-
-py3() {
- pkgdesc="$pkgname python bindings"
-
- mkdir -p "$subpkgdir"/usr/lib
- mv "$pkgdir"/usr/lib/python* "$subpkgdir"/usr/lib/
-}
-
-sha512sums="67cfe44f587f1b5a96cac3d0dbfbf299e09d47afef626d2a56e0ea8fbe7c24a06bc1ae8fb2c3c3f634637f34826b5a9eb53190697587f966b4140b8400061a6f openvino-2020.4.tar.gz
-cf4ba466421959b4be24efa9304f32d831a24e57b6a88d1806b232bf564a67d63a1012c6e6ce7af1ecb1fb70933bc8135b02aa72fdfd10d1bad531ce215e53aa gflags-46f73f88b18aee341538c0dfc22b1710a6abedef.tar.gz
-32453e59c3d176bc31b0a55d30667f528bee19979728d8cdeb6fd8fe7143a3b9d0bf15f36ca31b2204570164a0c234702b6f5b4201061760e4edcaed664715f6 ade-cbe2db61a659c2cc304c3837406f95c39dfa938e.tar.gz
-130a7a751fb40c55309c5b41ca8d56540e5533d922a811eb01991ac66064c37e52c00bc303d34ccb4eb3847ee8fbcf0e39bd71d05b8c02e8490f31c459c95175 googletest-9bd163b993459b2ca6ba2dc508577bbc8774c851.tar.gz
-b099fc26d3ea36ebfe8a8f8c93a7cf2d6c51196a71752c316813dd671936367bbe82aaee0b7cbc761e9d671909d53ff8b77c32f1428cb7ac5087a489f5ff2b8a oneDNN-2706f56ebab54415be48add2751072065f4b52ab.tar.gz
-b6347720e08746a4fdbb6e09691644597c900a6c440283baac6b1008399c78c5c34157dbfdb21476a71a7c4fd47c2912c7a7629076761d1bcb26d2a34ba73ba8 cmake-config.patch
-9a93c41120189166bfcd5986954de812ebb16e429711b3f637907d2abf79dab75aac55eb1ee04ccbcee06e47709c3dcdd22b56aef89e64bb82b30fa10ca3dfd2 pessimizing-move.patch
-d02374561f469f5818a9c76e697d68a84550c191459a2b4f9c7085f5b5e39eb6767a143e281dc0952a950cc7de12e11dd4a4602082f596553e2755c20a7a4867 deprecated-copy.patch
-9744e36e5f75d0b39e2862eb2fd6bd5cededda120775e2bd47a039e39f3a9594a6d900d5d060117bdfa1f733ecd08691aa709841f3c89d258b005fd5a9fdfb84 cmake-dont-force-build-type.patch
-23b051129678fd790de975f9fdbd0fd7ffdc0dd4de772b7883ffd90bc670eb62292e561b0db72468e8e142701cf3befcefeb2d17020e8eca10ffefcb841b136b include-stdexcept.patch"
diff --git a/testing/openvino/cmake-config.patch b/testing/openvino/cmake-config.patch
deleted file mode 100644
index b1c8683787a..00000000000
--- a/testing/openvino/cmake-config.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-Fix CMake scripts
----
---- a/docs/template_extension/CMakeLists.txt
-+++ b/docs/template_extension/CMakeLists.txt
-@@ -5,7 +5,10 @@
- # [cmake:extension]
- set(TARGET_NAME "template_extension")
-
--find_package(ngraph REQUIRED)
-+find_package(ngraph QUIET)
-+if(NOT ngraph_FOUND)
-+ set(ngraph_DIR ${CMAKE_BINARY_DIR}/ngraph)
-+endif()
- find_package(InferenceEngine REQUIRED)
-
- file(GLOB_RECURSE SRC *.cpp)
---- a/inference-engine/thirdparty/clDNN/CMakeLists.txt
-+++ b/inference-engine/thirdparty/clDNN/CMakeLists.txt
-@@ -465,8 +465,8 @@
- # ======================================================================================================
-
- # Check for python 2.7 interpreter (required tool).
--find_package(PythonInterp 2.7)
--if(NOT PYTHONINTERP_FOUND)
-+find_package(Python)
-+if(NOT Python_FOUND)
- message(WARNING "[clDNN] Project requires Python 2.7 interpreter to build (with python loader). CMake could not detect it correctly.
- If you have installed this interpreter, please disregard this warning or specify PYTHON_EXECUTABLE in CMake command-line."
- )
-
---- a/inference-engine/thirdparty/clDNN/kernel_selector/CMakeLists.txt
-+++ b/inference-engine/thirdparty/clDNN/kernel_selector/CMakeLists.txt
-@@ -167,7 +167,7 @@
- # =================================== Custom pre- and post-steps =======================================
- add_custom_command(OUTPUT "${__CLDNN_CGDirectory__cg_cache}/${__CLDNN_File__cg_cache__prim_db}"
- COMMAND "${CMAKE_COMMAND}" -E make_directory "${__CLDNN_CGDirectory__cg_cache}"
-- COMMAND "${PYTHON_EXECUTABLE}" "${__CLDNN_Directory__core_common}/primitive_db_gen.py" -out_path "${__CLDNN_CGDirectory__cg_cache}" -out_file_name "${__CLDNN_File__cg_cache__prim_db}" -kernels "${__CLDNN_Directory__cl_kernels}"
-+ COMMAND "${Python_EXECUTABLE}" "${__CLDNN_Directory__core_common}/primitive_db_gen.py" -out_path "${__CLDNN_CGDirectory__cg_cache}" -out_file_name "${__CLDNN_File__cg_cache__prim_db}" -kernels "${__CLDNN_Directory__cl_kernels}"
- DEPENDS ${__CLDNN_Sources__cl_kernels} "${__CLDNN_Directory__core_common}/primitive_db_gen.py"
- COMMENT "Generating ${__CLDNN_File__cg_cache__prim_db} ..."
- )
-
---- a/ngraph/CMakeLists.txt
-+++ b/ngraph/CMakeLists.txt
-@@ -258,13 +258,8 @@
- set(NGRAPH_INSTALL_DOC "${NGRAPH_COMPONENT_PREFIX}${CMAKE_INSTALL_DOCDIR}")
- set(NGRAPH_INSTALL_BIN "${NGRAPH_COMPONENT_PREFIX}${CMAKE_INSTALL_BINDIR}")
- if (LINUX)
-- if (DEFINED NGRAPH_RPATH)
-- set(CMAKE_BUILD_RPATH "$ORIGIN:${NGRAPH_RPATH}")
-- set(CMAKE_INSTALL_RPATH "$ORIGIN:${NGRAPH_RPATH}")
-- else()
-- set(CMAKE_BUILD_RPATH "$ORIGIN")
-- set(CMAKE_INSTALL_RPATH "$ORIGIN")
-- endif()
-+ set(CMAKE_BUILD_RPATH "$ORIGIN")
-+ set(CMAKE_INSTALL_RPATH "$ORIGIN")
- endif()
-
- #-----------------------------------------------------------------------------------------------
-
---- a/inference-engine/src/inference_engine/CMakeLists.txt
-+++ b/inference-engine/src/inference_engine/CMakeLists.txt
-@@ -230,30 +230,6 @@
-
- list(APPEND core_components ngraph)
-
--if(THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO")
-- ie_cpack_add_component(tbb REQUIRED)
-- list(APPEND core_components tbb)
--
-- install(DIRECTORY "${TBB}/include"
-- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb
-- COMPONENT tbb)
-- install(DIRECTORY "${TBB}/lib"
-- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb
-- COMPONENT tbb)
-- if(EXISTS "${TBB}/bin")
-- install(DIRECTORY "${TBB}/bin"
-- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb
-- COMPONENT tbb)
-- endif()
-- install(FILES "${TBB}/LICENSE"
-- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb
-- COMPONENT tbb)
-- install(FILES "${TBB}/cmake/TBBConfig.cmake"
-- "${TBB}/cmake/TBBConfigVersion.cmake"
-- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb/cmake
-- COMPONENT tbb)
--endif()
--
- ie_cpack_add_component(core REQUIRED DEPENDS ${core_components})
-
- install(DIRECTORY "${IE_MAIN_SOURCE_DIR}/include" DESTINATION ${IE_CPACK_IE_DIR}
diff --git a/testing/openvino/cmake-dont-force-build-type.patch b/testing/openvino/cmake-dont-force-build-type.patch
deleted file mode 100644
index 0b7ca5d590f..00000000000
--- a/testing/openvino/cmake-dont-force-build-type.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Upstream: No
-Reason: We use BUILD_TYPE=None
-
-diff --git a/ngraph/CMakeLists.txt b/ngraph/CMakeLists.txt
-index 356ce18..1c4984f 100644
---- a/ngraph/CMakeLists.txt
-+++ b/ngraph/CMakeLists.txt
-@@ -23,14 +23,6 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
- message(FATAL_ERROR "In-source builds are not allowed.")
- endif()
-
--if (CMAKE_BUILD_TYPE)
-- set(RELEASE_TYPES Debug Release RelWithDebInfo MinSizeRel)
-- list(FIND RELEASE_TYPES ${CMAKE_BUILD_TYPE} INDEX_FOUND)
-- if (${INDEX_FOUND} EQUAL -1)
-- message(FATAL_ERROR "CMAKE_BUILD_TYPE must be one of Debug, Release, RelWithDebInfo, or MinSizeRel")
-- endif()
--endif()
--
- include(git_tags)
- include(var_functions)
-
diff --git a/testing/openvino/deprecated-copy.patch b/testing/openvino/deprecated-copy.patch
deleted file mode 100644
index a63b0c74e63..00000000000
--- a/testing/openvino/deprecated-copy.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Fix error: implicitly-declared 'constexpr ...' is deprecated [-Werror=deprecated-copy]
----
---- a/inference-engine/thirdparty/clDNN/src/gpu/memory_gpu.cpp
-+++ b/inference-engine/thirdparty/clDNN/src/gpu/memory_gpu.cpp
-@@ -127,8 +127,7 @@
- CLDNN_ERROR_MESSAGE("2D image allocation", "unsupported image type!");
- }
-
-- cl::ImageFormat imageFormat(order, type);
-- _buffer = cl::Image2D(_context->context(), CL_MEM_READ_WRITE, imageFormat, _width, _height, 0);
-+ _buffer = cl::Image2D(_context->context(), CL_MEM_READ_WRITE, cl::ImageFormat(order, type), _width, _height, 0);
-
- if (reset) zero_image();
- }
diff --git a/testing/openvino/include-stdexcept.patch b/testing/openvino/include-stdexcept.patch
deleted file mode 100644
index b8baf987936..00000000000
--- a/testing/openvino/include-stdexcept.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Upstream: Should be
-Reason: Fixes compilation by making std::runtime_error available
-
-diff --git a/inference-engine/thirdparty/clDNN/kernel_selector/common/tensor_type.h b/inference-engine/thirdparty/clDNN/kernel_selector/common/tensor_type.h
-index 3dbdfd0..2226f1a 100644
---- a/inference-engine/thirdparty/clDNN/kernel_selector/common/tensor_type.h
-+++ b/inference-engine/thirdparty/clDNN/kernel_selector/common/tensor_type.h
-@@ -25,6 +25,7 @@
- #include <array>
- #include <string>
- #include <utility>
-+#include <stdexcept>
-
- namespace kernel_selector {
- #define KERNEL_SELECTOR_TENSOR_DIM_MAX 9
diff --git a/testing/openvino/pessimizing-move.patch b/testing/openvino/pessimizing-move.patch
deleted file mode 100644
index 8a078cf59bf..00000000000
--- a/testing/openvino/pessimizing-move.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-Fix error: moving a local object in a return statement prevents copy elision [-Werror=pessimizing-move]
----
---- a/inference-engine/thirdparty/ade/sources/ade/source/execution_engine.cpp
-+++ b/inference-engine/thirdparty/ade/sources/ade/source/execution_engine.cpp
-@@ -138,7 +138,7 @@
- }
- }
-
-- return std::move(ret);
-+ return ret;
- }
-
- void ExecutionEngine::addExecutableDependency(const std::string& lazyPassName)
-
---- a/inference-engine/thirdparty/clDNN/kernel_selector/core/actual_kernels/fully_connected/fully_connected_kernel_fs_byx_fsv32.cpp
-+++ b/inference-engine/thirdparty/clDNN/kernel_selector/core/actual_kernels/fully_connected/fully_connected_kernel_fs_byx_fsv32.cpp
-@@ -60,7 +60,7 @@
-
- runInfo.efficiency = FORCE_PRIORITY_5;
-
-- return std::move(runInfo);
-+ return runInfo;
- }
-
- JitConstants FullyConnected_fs_byx_fsv32::GetJitConstants(const fully_connected_params& params,
-
---- a/inference-engine/thirdparty/clDNN/src/gpu/kernels_cache.cpp
-+++ b/inference-engine/thirdparty/clDNN/src/gpu/kernels_cache.cpp
-@@ -74,7 +74,7 @@
- undefs += "#endif\n";
- }
-
-- return std::move(undefs);
-+ return undefs;
- }
-
- std::string reorder_options(const std::string& org_options) {
-@@ -159,7 +159,7 @@
- current_bucket.kernels_counter++;
- }
-
-- return std::move(scode);
-+ return scode;
- }
-
- kernels_cache::kernels_cache(gpu_toolkit& context, uint32_t prog_id) : _context(context), _prog_id(prog_id) {}
diff --git a/testing/openvpn3/APKBUILD b/testing/openvpn3/APKBUILD
new file mode 100644
index 00000000000..d13575a369b
--- /dev/null
+++ b/testing/openvpn3/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=openvpn3
+pkgver=3.8.4
+pkgrel=0
+pkgdesc="C++ class library that implements the functionality of an OpenVPN client"
+url="https://github.com/OpenVPN/openvpn3"
+arch="all !s390x" # broken tests due to endianness assumptions
+license="AGPL-3.0-only"
+depends_dev="lz4-dev asio-dev libcap-dev jsoncpp-dev xxhash-dev"
+makedepends="cmake samurai gtest-dev $depends_dev"
+subpackages="$pkgname-dev"
+source="https://github.com/OpenVPN/openvpn3/archive/refs/tags/release/$pkgver/openvpn3-$pkgver.tar.gz
+ unvendor.patch
+ "
+builddir="$srcdir/openvpn3-release-$pkgver"
+
+build() {
+ cmake -G Ninja -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=False \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
+}
+
+check() {
+ cd build
+ test/unittests/coreUnitTests \
+ --gtest_filter=-buffer_ip.ipv6
+}
+
+package() {
+ # no cmake install target
+ install -Dm755 build/test/ovpncli/ovpncli -t "$pkgdir"/usr/bin
+ mkdir "$pkgdir"/usr/include
+ mv openvpn "$pkgdir"/usr/include
+}
+
+sha512sums="
+2678cfc090ae65c3be03f2056ad009a708f1af13cbad904a6630d5ddf619cd7885b91c042b63c4a839d0603e754d69fe8d060b6ab7366db6ab69cecba4007da4 openvpn3-3.8.4.tar.gz
+83bf9085f97a08abccb583a5bd0b15258594b2746e45128c1f987445a92c1de0ea6ef80b750a12dab4baf4aba6fe94d44ff4e8b886796bd107e5cd3568755c5d unvendor.patch
+"
diff --git a/testing/openvpn3/unvendor.patch b/testing/openvpn3/unvendor.patch
new file mode 100644
index 00000000000..5959fae44ad
--- /dev/null
+++ b/testing/openvpn3/unvendor.patch
@@ -0,0 +1,34 @@
+
+
+--- a/test/unittests/CMakeLists.txt
++++ b/test/unittests/CMakeLists.txt
+@@ -1,28 +1,4 @@
+-
+-# current latest GTEST version
+-set(OVPN_GTEST_VERSION release-1.11.0)
+-# use an older version of gtest for GCC < 5.1.0; 1.10.1 is the latest
+-# version that works with the 4.8.x compilers
+-if (CMAKE_COMPILER_IS_GNUCC AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.1.0)
+- set(OVPN_GTEST_VERSION release-1.10.0)
+- # Note: not all the test compilation units hit the
+- # "'is_trivially_copy_constructible' is not a member of 'std'"
+- # issue; only the following do (with line number as of this
+- # writing and the include on the line):
+- # core_tests.cpp:21: // #include <gtest/gtest.h>
+- # test_b64.cpp:22: // #include "test_common.h"
+- # test_comp.cpp:45: // #include "test_common.h"
+- # test_log.cpp:22: // #include "test_common.h"
+- # test_route_emulation.cpp:23: // #include "test_common.h"
+- # test_verify_x509_name.cpp:25: // #include "test_common.h"
+- #
+- # Note further: test_common.h includes gtest/gtest.h; but that is
+- # not a sufficient condition to hit the bust. For example,
+- # test_continuation.cpp includes test_common.h but does not manifest
+- # the issue.
+-endif()
+-
+-include(dlgoogletest)
++FIND_LIBRARY(GTEST_LIB NAMES gtest)
+
+ # Extra includes/libraries that are currently only use by the core unit test
+ FIND_PATH(LZO_INCLUDE_DIR NAMES lzo/lzo1x.h)
diff --git a/testing/openwsman/APKBUILD b/testing/openwsman/APKBUILD
index 877d3ebbda1..84587296273 100644
--- a/testing/openwsman/APKBUILD
+++ b/testing/openwsman/APKBUILD
@@ -1,14 +1,24 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=openwsman
-pkgver=2.7.1
-pkgrel=1
+pkgver=2.7.2
+pkgrel=4
pkgdesc="Opensource Implementation of WS-Management"
url="https://openwsman.github.io"
arch="all"
license="custom BSD-3-Clause"
options="!check" # No test suite
-makedepends="cmake swig openssl-dev perl-dev curl-dev python3-dev sblim-sfcc-dev libxml2-dev"
+makedepends="
+ cmake
+ curl-dev
+ libxml2-dev
+ openssl-dev
+ perl-dev
+ py3-setuptools
+ python3-dev
+ sblim-sfcc-dev
+ swig
+ "
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="$pkgname-$pkgver.tar.gz::https://github.com/Openwsman/openwsman/archive/v$pkgver.tar.gz
fix-musl-build.patch
@@ -21,15 +31,9 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/Openwsman/openwsman/archive/
# 2.6.4-r0:
# - CVE-2016-2183
-prepare() {
- default_prepare
- mkdir -p build
-}
-
build() {
- cd "$builddir"/build
- cmake \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_C_FLAGS="$CFLAGS $CPPFLAGS" \
-DCMAKE_CXX_FLAGS="$CFXXLAGS $CPPFLAGS" \
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -39,13 +43,18 @@ build() {
-DBUILD_PYTHON=OFF \
-DBUILD_PYTHON3=ON \
-DBUILD_RUBY_GEM=OFF \
- -DBUILD_JAVA=OFF \
- ..
- make
+ -DBUILD_JAVA=OFF
+ cmake --build build
}
-check() {
- cd "$builddir"/build
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ mv "$pkgdir/usr/sbin/"* "$pkgdir/usr/bin"
+ rmdir "$pkgdir/usr/sbin/"
+ rm "$pkgdir"/etc/pam.d/$pkgname
+ rmdir "$pkgdir/etc/pam.d/"
+ install -Dp -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
}
libs() {
@@ -56,19 +65,8 @@ libs() {
"$subpkgdir"/usr/lib/
}
-package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir/" install
-
- mv "$pkgdir/usr/sbin/"* "$pkgdir/usr/bin"
- rmdir "$pkgdir/usr/sbin/"
- rm "$pkgdir"/etc/pam.d/$pkgname
- rmdir "$pkgdir/etc/pam.d/"
- install -Dp -m644 ../COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
-}
-
sha512sums="
-37738bc5be7b1c3fa961587fca4db74b8e7714fc0641a550682275fbe925b2c8e18a683cf493f4740e479f7461cc98392d3d675f4769f5cf04e7249f1e9ee880 openwsman-2.7.1.tar.gz
+ffd6a0d00a00b00e321b2b55e0c77326f5943ca3224eee74c706e53a1c5c44ef0e8b1cfde5d631966769eefd4e567b0db8713085b7a8b386c2871ab4ada83046 openwsman-2.7.2.tar.gz
d031a3fd5f30b71ef87d7fd9c241baf55c20953c175ab0eb6192f9971b7b8a3a9c18693fa2cd468ed7f7ef94170281b7db5e987ba1b88c92d64231e560e91542 fix-musl-build.patch
3c10cb34a0bb0d70461225c0944c0fdaf9aadba2c78ee8122dcf8b493190bc86db0252cc74a7fdb178a2d0a0c26fb3323a1cd8dce320fe21eb0ad2860e42a0f1 default-config.patch
"
diff --git a/testing/opkg-utils/APKBUILD b/testing/opkg-utils/APKBUILD
index 8089fa5724f..5ded96cc3f9 100644
--- a/testing/opkg-utils/APKBUILD
+++ b/testing/opkg-utils/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Ryan Barnett <ryanbarnett3@gmail.com>
pkgname=opkg-utils
pkgver=0.4.5
-pkgrel=0
+pkgrel=1
pkgdesc="Helper scripts for use with the opkg package manager"
url="https://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/"
arch="noarch"
diff --git a/testing/opkg/APKBUILD b/testing/opkg/APKBUILD
index 29b032cc8e8..fb19282d781 100644
--- a/testing/opkg/APKBUILD
+++ b/testing/opkg/APKBUILD
@@ -1,14 +1,14 @@
# Maintainer: Ryan Barnett <ryanbarnett3@gmail.com>
pkgname=opkg
-pkgver=0.4.5
+pkgver=0.6.2
pkgrel=0
pkgdesc="Lightweight package management system"
-url="http://git.yoctoproject.org/cgit/cgit.cgi/opkg/"
+url="https://git.yoctoproject.org/opkg/"
arch="all"
license="GPL-2.0-or-later"
-makedepends="curl-dev gpgme-dev libarchive-dev autoconf automake libtool pkgconf"
+makedepends="curl-dev gpgme-dev libarchive-dev zstd-dev autoconf automake libtool pkgconf"
subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"
-source="http://downloads.yoctoproject.org/releases/opkg/opkg-$pkgver.tar.gz"
+source="https://downloads.yoctoproject.org/releases/opkg/opkg-$pkgver.tar.gz"
build() {
./configure \
@@ -17,7 +17,8 @@ build() {
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --localstatedir=/var
+ --localstatedir=/var \
+ --enable-zstd
make
}
@@ -30,4 +31,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="d2d7b75f285c0cc3b85aaa9c0b2c4968e02be5f2aa9c084f58987572840900f9aee31d1fd899cf25497fb1166520277cdc417c2046c13cedc01e84b750166619 opkg-0.4.5.tar.gz"
+sha512sums="
+40175634d109bba45a67b01ac342a089b9caa132b143f29e76b23ef5688a103797843a555c067474a1796bdeb86e0fc5bfb584575da87cecf8809ccc77a87bde opkg-0.6.2.tar.gz
+"
diff --git a/testing/opmsg/APKBUILD b/testing/opmsg/APKBUILD
index 2690cf2dd15..c73cf8be7b3 100644
--- a/testing/opmsg/APKBUILD
+++ b/testing/opmsg/APKBUILD
@@ -1,26 +1,28 @@
# Contributor: stef <l0ls0fo2i@ctrlc.hu>
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=opmsg
-pkgver=1.78
-pkgrel=2
+pkgver=1.84
+pkgrel=1
pkgdesc="opmsg gpg-like encryption system"
url="https://github.com/stealth/opmsg"
arch="all"
license="GPL-3.0-or-later"
-makedepends="openssl-dev"
+makedepends="openssl-dev>3"
source="$pkgname-$pkgver.tar.gz::https://github.com/stealth/opmsg/archive/rel-${pkgver}s.tar.gz"
builddir="$srcdir/$pkgname-rel-${pkgver}s"
build() {
cd "$builddir/src"
- make opmsg opmux
+ make all contrib
}
package() {
- cd "$builddir/src"
+ cd "$builddir/src/build"
mkdir -p "$pkgdir"/usr/bin
- cp opmsg opmux "$pkgdir"/usr/bin
+ cp opcoin opmsg opmux "$pkgdir"/usr/bin
}
-sha512sums="bfd3a9dfcc5082f4f7e3988d31c9e7ef499dd9726565f8fa21d631698c5821bcf080ff2b46488f1a93a997ff76a6e106343d85358b25a2785ce184419372cd23 opmsg-1.78.tar.gz"
+sha512sums="
+055795e9fde157bd43f2ff124800e5f1e4d8e0349f0acbf6afe6e3c3855f01bcb0068051e0d22aa454ff2f95b6320c18823e8e066d36bcfa0f560e561aa69134 opmsg-1.84.tar.gz
+"
diff --git a/testing/optee-client/APKBUILD b/testing/optee-client/APKBUILD
new file mode 100644
index 00000000000..4e46e6a6a8c
--- /dev/null
+++ b/testing/optee-client/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Petr Hodina <phodina@protonmail.com>
+pkgname=optee-client
+pkgver=3.20.0
+pkgrel=0
+pkgdesc="Normal World Client side of tee"
+url="https://github.com/OP-TEE/optee_client"
+arch="aarch64 armv7"
+license="BSD-2-Clause"
+makedepends="
+ bsd-compat-headers
+ cmake
+ linux-headers
+ samurai
+ util-linux-dev
+ "
+subpackages="$pkgname-dev $pkgname-libs"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OP-TEE/optee_client/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/optee_client-$pkgver"
+# requires more dependencies
+options="!check"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCFG_TEE_CLIENT_LOG_FILE=/var/log/tee/teec.log \
+ -DBUILD_SHARED_LIBS=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ mkdir -p "$pkgdir"/var/log/tee
+}
+
+sha512sums="
+678db0b9c5c2a0332120e737ddd2c4d83e6e6b0e2a09fa53b61edf3dd9586268314d4cd429833d9baf1f77fd6b0a78ea5b828b62bcfb00ad59bdbab494b0842b optee-client-3.20.0.tar.gz
+"
diff --git a/testing/orage/APKBUILD b/testing/orage/APKBUILD
new file mode 100644
index 00000000000..ce5b49a4ad9
--- /dev/null
+++ b/testing/orage/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=orage
+pkgver=4.18.0
+pkgrel=0
+pkgdesc="Calendar for Xfce"
+url="https://docs.xfce.org/apps/orage/start"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ dbus-dev
+ dbus-glib-dev
+ glib-dev
+ gtk+3.0-dev
+ libical-dev
+ libnotify-dev
+ libxfce4ui-dev
+ popt-dev
+ xfce4-dev-tools
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.xfce.org/apps/orage/-/archive/orage-$pkgver/orage-orage-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver/"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make install DESTDIR="$pkgdir" prefix=/usr
+}
+
+sha512sums="
+27ee0a5d54f0e31a5f177c087db614859aed3916dbe2972c8a93b44d13ed943f321ff26d022a053d599ff1e85f37b4d28b65aff22e6efd96bc2e43b6d2e23093 orage-4.18.0.tar.gz
+"
diff --git a/testing/oras-cli/APKBUILD b/testing/oras-cli/APKBUILD
new file mode 100644
index 00000000000..b08133c7a1e
--- /dev/null
+++ b/testing/oras-cli/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=oras-cli
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="OCI registry client"
+url="https://oras.land/cli"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/oras-project/oras/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/oras-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X oras.land/oras/internal/version.Version=$pkgver
+ -X oras.land/oras/internal/version.BuildMetadata=
+ -X oras.land/oras/internal/version.GitCommit=AlpineLinux
+ -X oras.land/oras/internal/version.GitTreeState=clean
+ "
+ go build -v -ldflags "$_goldflags" ./cmd/oras
+
+ for shell in bash fish zsh; do
+ ./oras completion $shell > oras.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 oras -t "$pkgdir"/usr/bin/
+
+ install -Dm644 oras.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/oras
+ install -Dm644 oras.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/oras.fish
+ install -Dm644 oras.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_oras
+}
+
+sha512sums="
+2353a879ca7ff62f2933c2548c3b16e4dafb0b18a6428cb6722121c6961486d821e4caf4d853854cfb5879fcc97338490f6273660ad4235fc9277ad3797071c3 oras-cli-1.1.0.tar.gz
+"
diff --git a/testing/osl/APKBUILD b/testing/osl/APKBUILD
deleted file mode 100644
index f35aeb87a39..00000000000
--- a/testing/osl/APKBUILD
+++ /dev/null
@@ -1,82 +0,0 @@
-# Contributor: Damian Kurek <starfire24680@gmail.com>
-# Maintainer: Damian Kurek <starfire24680@gmail.com>
-pkgname=osl
-pkgver=1.11.14.2
-pkgrel=3
-pkgdesc="Advanced shading language for production GI renderers"
-options="!check" # All tests fail
-url="https://opensource.imageworks.com/osl.html"
-# armv7: https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/issues/1365
-# mips, mips64, riscv64 and s390x blocked by openimageio
-arch="all !armv7 !mips !mips64 !riscv64 !s390x"
-license="BSD-3-Clause"
-_llvmver=12
-makedepends="openexr-dev zlib-dev cmake boost-dev openimageio-dev openimageio-tools
- pugixml-dev llvm$_llvmver-dev llvm$_llvmver-libs bison flex-dev py3-pybind11-dev clang-dev
- qt5-qtbase-dev python3-dev"
-subpackages="
- $pkgname-libs
- $pkgname-dev
- $pkgname-doc
- $pkgname-python
- openimageio-plugin-osl:_osl
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/imageworks/OpenShadingLanguage/archive/Release-$pkgver.tar.gz
- "
-builddir="$srcdir/OpenShadingLanguage-Release-$pkgver"
-
-prepare() {
- default_prepare
- find . -iname CMakeLists.txt -exec sed -i -e "s/COMMAND python/COMMAND python3/" {} +
-}
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_STANDARD=14 \
- -DLLVM_STATIC=OFF \
- -DPYTHON_VERSION=3 \
- -DOSL_BUILD_MATERIALX=ON \
- $CMAKE_CROSSOPTS
- cmake --build build
-}
-
-check() {
- cd build
- # Broken tests
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-python() {
- pkgdesc="Python3 bindings for OSL"
- depends=""
- amove usr/lib/python3*
-}
-
-doc() {
- default_doc
- # Example shaders
- amove usr/share/OSL/shaders/*.osl
- amove usr/share/OSL/shaders/*.oso
- amove usr/share/OSL/shaders/MaterialX/*.osl
- amove usr/share/OSL/shaders/MaterialX/*.oso
-}
-
-_osl() {
- pkgdesc="Plugin to access OSL from OpenImageIO"
- depends=""
- amove usr/lib/osl.imageio.so
-}
-
-sha512sums="
-9ff36bb25c1096f533f4776099d3508ae8af26f02d3147a85d8715c4565ab3ca4d9f208ebb046a535b8a714a9722660edc13dbcceb3a9be5c1dd8235e3b613d8 osl-1.11.14.2.tar.gz
-"
diff --git a/testing/osmctools/APKBUILD b/testing/osmctools/APKBUILD
new file mode 100644
index 00000000000..512478e50ff
--- /dev/null
+++ b/testing/osmctools/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=osmctools
+pkgver=0.9
+pkgrel=0
+pkgdesc="A few really fast tools to convert, filter and update OpenStreetMap data files"
+url="https://gitlab.com/osm-c-tools/osmctools"
+arch="all"
+license="AGPL-3.0-only"
+makedepends="autoconf automake zlib-dev"
+source="https://gitlab.com/osm-c-tools/osmctools/-/archive/$pkgver/osmctools-$pkgver.tar.gz"
+options="!check" # no tests included
+
+prepare() {
+ default_prepare
+ autoreconf -vfi
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+6e51646e9291b53ce109f579c555c1eb9e6853452c81caebd530aa1be56aa3d313331a3544375f187c9d26888e4a330774f2acd6bdbb3baadf1a2db330430940 osmctools-0.9.tar.gz
+"
diff --git a/testing/ospd-acunetix/APKBUILD b/testing/ospd-acunetix/APKBUILD
deleted file mode 100644
index a78e17ecf9b..00000000000
--- a/testing/ospd-acunetix/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-acunetix
-pkgver=1.0b1
-pkgrel=5
-_pkgid=2181
-pkgdesc="OSP server implementation to allow OpenVAS to remotel control nmap port scanner"
-url="https://www.openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://wald.intevation.org/frs/download.php/$_pkgid/ospd-acunetix-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="2a5b6fde959a890cd2084d1f8414639f8d281c3456239f101d1f353ec4044142cf71d7f7788a4d9aa0ce5d7a8a33204b785f5fd5d372d5c661e1ba9b9a447fd3 ospd-acunetix-1.0b1.tar.gz"
diff --git a/testing/ospd-ancor/APKBUILD b/testing/ospd-ancor/APKBUILD
deleted file mode 100644
index 15d27b4a800..00000000000
--- a/testing/ospd-ancor/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-ancor
-pkgver=1.0.0
-pkgrel=4
-_pkgid=2005
-pkgdesc="OSP server implementation to allow OpenVAS to get scan results from an Ancor server"
-url="http://openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3 py3-requests ospd"
-makedepends="python3-dev py3-setuptools"
-source="http://wald.intevation.org/frs/download.php/$_pkgid/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
-
-build() {
- cd "$builddir"
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"
- python3 setup.py check
-}
-
-package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-
-sha512sums="5bf23798c6bed4ba70e8f9c694c5870ef05d39a92091821687251e92df05363016a700dd9432c94646af7763bc7f6681b69a827f9bd8786a614a356d8c40602a ospd-ancor-1.0.0.tar.gz"
diff --git a/testing/ospd-debsecan/APKBUILD b/testing/ospd-debsecan/APKBUILD
deleted file mode 100644
index dd9d909ce04..00000000000
--- a/testing/ospd-debsecan/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-debsecan
-pkgver=1.2b1
-pkgrel=4
-_pkgid=2405
-pkgdesc="OSP server implementation to allow OpenVAS to remotely control a debsecan scanner"
-url="https://www.openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3 ospd"
-makedepends="py3-paramiko py3-setuptools"
-source="https://wald.intevation.org/frs/download.php/$_pkgid/ospd-debsecan-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="f86f72713dda710c4b7975ed78dc26c664dcbcd5e77e7cab227416748982e29b7e22259fbf5c790a6c7d620234fc38e2c921555900b323f1bf57179ff472dcc3 ospd-debsecan-1.2b1.tar.gz"
diff --git a/testing/ospd-ikeprobe/APKBUILD b/testing/ospd-ikeprobe/APKBUILD
deleted file mode 100644
index 29f6ebb3e51..00000000000
--- a/testing/ospd-ikeprobe/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-ikeprobe
-pkgver=1.0b1
-pkgrel=5
-_pkgid=2204
-pkgdesc="OSP server implementation to allow OpenVAS to remotely control a ikeprobe scanner"
-url="http://www.openvas.org/"
-arch="noarch"
-license="GPL"
-depends="python3 ospd"
-makedepends="cmake python3-dev py3-setuptools"
-source="http://wald.intevation.org/frs/download.php/$_pkgid/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
-
-build() {
- cd "$builddir"
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"
- python3 setup.py check
-}
-
-package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="567b2100ab42d7effe8fb47890a3c05fb7066ef97e29f2c723a3f29fd58addac220a91dda01804e997eec126905d43d59621b7318bfa02487ed789e228fe8660 ospd-ikeprobe-1.0b1.tar.gz"
diff --git a/testing/ospd-ikescan/APKBUILD b/testing/ospd-ikescan/APKBUILD
deleted file mode 100644
index da47d948dbe..00000000000
--- a/testing/ospd-ikescan/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-ikescan
-pkgver=1.0b1
-pkgrel=6
-_pkgid=2185
-pkgdesc="OSP server implementation to allow OpenVAS to remotely control a ike-scan scanner"
-url="https://www.openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3 ospd py3-pexpect"
-makedepends="python3-dev py3-setuptools"
-source="https://wald.intevation.org/frs/download.php/$_pkgid/ospd-ikescan-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="4035656008d9cae579a836a4d69a7d1d2b5a45610fcfdab9b4311c942788bf4dc10b8db1dba6325fb162b4dd19cd3a522f44cff1d70152af7bfb096095a00e60 ospd-ikescan-1.0b1.tar.gz"
diff --git a/testing/ospd-nmap/APKBUILD b/testing/ospd-nmap/APKBUILD
deleted file mode 100644
index 928b4293043..00000000000
--- a/testing/ospd-nmap/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-nmap
-pkgver=1.0b1
-pkgrel=6
-_pkgid=2218
-pkgdesc="OSP server implementation to allow OpenVAS to remotel control nmap port scanner"
-url="https://www.openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3"
-makedepends="python3-dev py3-setuptools"
-source="https://wald.intevation.org/frs/download.php/$_pkgid/ospd-nmap-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="f251d0951ba6225844274d26187aa7b90a654ed765471f356fa7979b623c5c04c7f7527dffb9e8f28e278c3e4079a7881947787435779c57d5346520934a9d21 ospd-nmap-1.0b1.tar.gz"
diff --git a/testing/ospd-ovaldi/APKBUILD b/testing/ospd-ovaldi/APKBUILD
deleted file mode 100644
index d6389a7cab3..00000000000
--- a/testing/ospd-ovaldi/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-ovaldi
-pkgver=1.0.0
-pkgrel=5
-_pkgid=2003
-pkgdesc="OSP server implementation to allow OpenVAS to remotely control ovaldi scanners"
-url="http://openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3 ospd"
-makedepends="python3-dev py3-paramiko py3-setuptools"
-source="http://wald.intevation.org/frs/download.php/$_pkgid/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
-
-build() {
- cd "$builddir"
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"
- python3 setup.py check
-}
-
-package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-
-sha512sums="73a0e2782225ca010abcf3ba45378238da44450fd856a2dc6dfbcc1d24c83a8b5e1e252189029c80bab850dff4b91c8f461f49b4a3410e86285b85ce4ac5113a ospd-ovaldi-1.0.0.tar.gz"
diff --git a/testing/ospd-paloalto/APKBUILD b/testing/ospd-paloalto/APKBUILD
deleted file mode 100644
index b418446fe57..00000000000
--- a/testing/ospd-paloalto/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-paloalto
-pkgver=1.0b1
-pkgrel=6
-_pkgid=2149
-pkgdesc="OSP server implementation to allow OpenVAS to remotely control a PaloAlto"
-url="https://www.openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3 ospd"
-makedepends="python3-dev py3-setuptools"
-source="https://wald.intevation.org/frs/download.php/$_pkgid/ospd-paloalto-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="33e0645a467e08c0836096568859917beee9abc2131b22ca35e280c1a0f5ace36047cec93cbfb42c679f30e81ed1f238b7fdf8bf1ecbb90fe1f5beb1a1d0cc55 ospd-paloalto-1.0b1.tar.gz"
diff --git a/testing/ospd-ssh-keyscan/APKBUILD b/testing/ospd-ssh-keyscan/APKBUILD
deleted file mode 100644
index e73b9c914f8..00000000000
--- a/testing/ospd-ssh-keyscan/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-ssh-keyscan
-pkgver=1.0b1
-pkgrel=4
-_pkgid=2213
-pkgdesc="OSP server implementation to allow OpenVAS to scan ssh keys"
-url="http://openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3 ospd"
-makedepends="python3-dev py3-paramiko py3-setuptools"
-source="http://wald.intevation.org/frs/download.php/$_pkgid/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
-
-build() {
- cd "$builddir"
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"
- python3 setup.py check
-}
-
-package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-
-sha512sums="510a084ff93e2c6283ef21ea4c439077b15c9ada92f48cd0876fca87d430a4479b5700b536d68322cbcde7a1cc5109993706fae4d29e9ee61a7cb927450e5262 ospd-ssh-keyscan-1.0b1.tar.gz"
diff --git a/testing/ospd-w3af/APKBUILD b/testing/ospd-w3af/APKBUILD
deleted file mode 100644
index 45fa5dffbe0..00000000000
--- a/testing/ospd-w3af/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=ospd-w3af
-pkgver=1.0.0
-pkgrel=5
-_pkgid=2004
-pkgdesc="OSP server implementation to allow OpenVAS to remotely control a w3af scanner"
-url="http://openvas.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="python3 ospd"
-makedepends="python3-dev py3-paramiko py3-setuptools"
-source="http://wald.intevation.org/frs/download.php/$_pkgid/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
-
-build() {
- cd "$builddir"
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"
- python3 setup.py check
-}
-
-package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-
-sha512sums="798ce2551134e8060d2c8ed5e72ceaa9b378ee31a175120aa43441ea6ff8f5a6cd421c710d6fde7beaf659cd82d213fe78d7d5b8f846be5d2535e094b719977e ospd-w3af-1.0.0.tar.gz"
diff --git a/testing/ossp-uuid/APKBUILD b/testing/ossp-uuid/APKBUILD
deleted file mode 100644
index 977fd634b7d..00000000000
--- a/testing/ossp-uuid/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: "Andrzej Trzaska <atrzaska2@gmail.com>"
-# Maintainer: "Andrzej Trzaska <atrzaska2@gmail.com>"
-pkgname=ossp-uuid
-pkgver=1.6.2
-pkgrel=1
-pkgdesc="Open Source Software Project Universally Unique Identifier (UUID)"
-url="http://www.ossp.org/pkg/lib/uuid/"
-arch="all"
-license="MIT"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://mirrors.ocf.berkeley.edu/debian/pool/main/o/ossp-uuid/ossp-uuid_$pkgver.orig.tar.gz
- uuid.patch
- "
-builddir="$srcdir/uuid-$pkgver"
-
-prepare() {
- default_prepare
-
- update_config_sub
- update_config_guess
-}
-
-build() {
- ./configure --prefix=/usr --without-pgsql --without-perl --without-php --disable-static
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="16c7e016ce08d7679cc6ee7dec43a886a8c351960acdde99f8f9b590c7232d521bc6e66e4766d969d22c3f835dcc2814fdecc44eef1cd11e7b9b0f9c41b5c03e ossp-uuid_1.6.2.orig.tar.gz
-5247357f73ba667e4530af80f38bac17dd3395d8152ba1bf239abb1ab53f334d405a8673a3f99ac82c73737c19eccea71886b2ebc61ac37bc64e9ed69ab1bc0a uuid.patch"
diff --git a/testing/ossp-uuid/uuid.patch b/testing/ossp-uuid/uuid.patch
deleted file mode 100644
index a88c453d830..00000000000
--- a/testing/ossp-uuid/uuid.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-diff -up uuid-1.6.1/uuid-config.in.BAD uuid-1.6.1/uuid-config.in
---- uuid-1.6.1/uuid-config.in.BAD 2008-03-06 11:56:13.000000000 -0500
-+++ uuid-1.6.1/uuid-config.in 2008-03-06 11:56:25.000000000 -0500
-@@ -121,7 +121,7 @@ do
- output_extra="$output_extra $uuid_ldflags"
- ;;
- --libs)
-- output="$output -luuid"
-+ output="$output -lossp-uuid"
- output_extra="$output_extra $uuid_libs"
- ;;
- * )
-diff -up uuid-1.6.1/Makefile.in.BAD uuid-1.6.1/Makefile.in
---- uuid-1.6.1/Makefile.in.BAD 2008-03-06 11:10:13.000000000 -0500
-+++ uuid-1.6.1/Makefile.in 2008-03-06 11:11:39.000000000 -0500
-@@ -62,13 +62,13 @@ PERL = @PERL@
- PHP = @PHP@
- PG_CONFIG = @PG_CONFIG@
-
--LIB_NAME = libuuid.la
-+LIB_NAME = libossp-uuid.la
- LIB_OBJS = uuid.lo uuid_md5.lo uuid_sha1.lo uuid_prng.lo uuid_mac.lo uuid_time.lo uuid_ui64.lo uuid_ui128.lo uuid_str.lo
-
--DCE_NAME = libuuid_dce.la
-+DCE_NAME = libossp-uuid_dce.la
- DCE_OBJS = uuid_dce.lo $(LIB_OBJS)
-
--CXX_NAME = libuuid++.la
-+CXX_NAME = libossp-uuid++.la
- CXX_OBJS = uuid++.lo $(LIB_OBJS)
-
- PRG_NAME = uuid
-@@ -79,10 +79,10 @@ MAN_NAME = uuid.3 uuid++.3 uuid.1
- PERL_NAME = $(S)/perl/blib/lib/OSSP/uuid.pm
- PERL_OBJS = $(S)/perl/uuid.pm
-
--PHP_NAME = $(S)/php/modules/uuid.so
-+PHP_NAME = $(S)/php/modules/ossp-uuid.so
- PHP_OBJS = $(S)/php/uuid.c
-
--PGSQL_NAME = $(S)/pgsql/libuuid.so
-+PGSQL_NAME = $(S)/pgsql/libossp-uuid.so
- PGSQL_OBJS = $(S)/pgsql/uuid.c
-
- TARGETS = $(LIB_NAME) @DCE_NAME@ @CXX_NAME@ $(PRG_NAME) @PERL_NAME@ @PHP_NAME@ @PGSQL_NAME@
-@@ -231,7 +231,7 @@ install:
- $(SHTOOL) mkdir -f -p -m 755 $(DESTDIR)$(mandir)/man1
- $(SHTOOL) install -c -m 755 uuid-config $(DESTDIR)$(bindir)/
- $(SHTOOL) install -c -m 644 $(S)/uuid-config.1 $(DESTDIR)$(mandir)/man1/
-- $(SHTOOL) install -c -m 644 $(S)/uuid.pc $(DESTDIR)$(libdir)/pkgconfig/
-+ $(SHTOOL) install -c -m 644 $(S)/uuid.pc $(DESTDIR)$(libdir)/pkgconfig/ossp-uuid.pc
- $(SHTOOL) install -c -m 644 uuid.h $(DESTDIR)$(includedir)/
- -@if [ ".$(WITH_DCE)" = .yes ]; then \
- echo "$(SHTOOL) install -c -m 644 $(S)/uuid_dce.h $(DESTDIR)$(includedir)/"; \
-@@ -241,7 +241,7 @@ install:
- echo "$(SHTOOL) install -c -m 644 $(S)/uuid++.hh $(DESTDIR)$(includedir)/"; \
- $(SHTOOL) install -c -m 644 $(S)/uuid++.hh $(DESTDIR)$(includedir)/; \
- fi
-- $(SHTOOL) install -c -m 644 $(S)/uuid.3 $(DESTDIR)$(mandir)/man3/
-+ $(SHTOOL) install -c -m 644 $(S)/uuid.3 $(DESTDIR)$(mandir)/man3/ossp-uuid.3
- -@if [ ".$(WITH_CXX)" = .yes ]; then \
- echo "$(SHTOOL) install -c -m 644 $(S)/uuid++.3 $(DESTDIR)$(mandir)/man3/"; \
- $(SHTOOL) install -c -m 644 $(S)/uuid++.3 $(DESTDIR)$(mandir)/man3/; \
-@@ -276,7 +276,7 @@ uninstall:
- -@if [ ".$(WITH_CXX)" = .yes ]; then \
- $(LIBTOOL) --mode=uninstall $(RM) $(DESTDIR)$(libdir)/$(CXX_NAME); \
- fi
-- -$(RM) $(DESTDIR)$(mandir)/man3/uuid.3
-+ -$(RM) $(DESTDIR)$(mandir)/man3/ossp-uuid.3
- -@if [ ".$(WITH_CXX)" = .yes ]; then \
- echo "$(RM) $(DESTDIR)$(mandir)/man3/uuid++.3"; \
- $(RM) $(DESTDIR)$(mandir)/man3/uuid++.3; \
-@@ -290,7 +290,7 @@ uninstall:
- echo "$(RM) $(DESTDIR)$(includedir)/uuid++.hh"; \
- $(RM) $(DESTDIR)$(includedir)/uuid++.hh; \
- fi
-- -$(RM) $(DESTDIR)$(libdir)/pkgconfig/uuid.pc
-+ -$(RM) $(DESTDIR)$(libdir)/pkgconfig/ossp-uuid.pc
- -$(RM) $(DESTDIR)$(mandir)/man1/uuid-config.1
- -$(RM) $(DESTDIR)$(bindir)/uuid-config
- -$(RMDIR) $(DESTDIR)$(mandir)/man1 >/dev/null 2>&1 || $(TRUE)
-diff -up uuid-1.6.1/pgsql/Makefile.BAD uuid-1.6.1/pgsql/Makefile
---- uuid-1.6.1/pgsql/Makefile.BAD 2008-03-06 11:53:26.000000000 -0500
-+++ uuid-1.6.1/pgsql/Makefile 2008-03-06 11:54:14.000000000 -0500
-@@ -18,13 +18,13 @@ POSTGRES := $(shell $(PG_CONFIG
- top_builddir := $(dir $(PGXS))../..
- include $(top_builddir)/src/Makefile.global
-
--NAME = uuid
-+NAME = ossp-uuid
- OBJS = uuid.o
- SO_MAJOR_VERSION = 1
- SO_MINOR_VERSION = 0
-
- override CPPFLAGS := -I.. $(CPPFLAGS)
--SHLIB_LINK := -L../.libs -luuid
-+SHLIB_LINK := -L../.libs -lossp-uuid
- SHLIB_LINK += $(shell test $(shell uname -s) = FreeBSD && echo "-Wl,-Bsymbolic")
- SHLIB_LINK += $(shell test $(shell uname -s) = Darwin && echo "-bundle_loader $(POSTGRES)")
- rpath :=
-@@ -35,16 +35,16 @@ enable_shared = yes
- include $(top_builddir)/src/Makefile.shlib
-
- uuid.sql: uuid.sql.in
-- sed -e 's;MODULE_PATHNAME;$(DESTDIR)$(pkglibdir)/uuid$(DLSUFFIX);g' <uuid.sql.in >uuid.sql
-+ sed -e 's;MODULE_PATHNAME;$(DESTDIR)$(pkglibdir)/ossp-uuid$(DLSUFFIX);g' <uuid.sql.in >uuid.sql
-
- install: all
- $(mkinstalldirs) $(DESTDIR)$(pkglibdir)
- $(mkinstalldirs) $(DESTDIR)$(datadir)
-- $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/uuid$(DLSUFFIX)
-+ $(INSTALL_SHLIB) $(shlib) $(DESTDIR)$(pkglibdir)/ossp-uuid$(DLSUFFIX)
- $(INSTALL_DATA) uuid.sql $(DESTDIR)$(datadir)/uuid.sql
-
- uninstall:
-- -rm -f $(DESTDIR)$(pkglibdir)/uuid$(DLSUFFIX)
-+ -rm -f $(DESTDIR)$(pkglibdir)/ossp-uuid$(DLSUFFIX)
- -rm -f $(DESTDIR)$(datadir)/uuid.sql
-
- clean distclean: clean-lib
-diff -up uuid-1.6.1/uuid.pc.in.BAD uuid-1.6.1/uuid.pc.in
---- uuid-1.6.1/uuid.pc.in.BAD 2008-03-06 11:57:29.000000000 -0500
-+++ uuid-1.6.1/uuid.pc.in 2008-03-06 11:57:36.000000000 -0500
-@@ -37,6 +37,6 @@ Description: Universally Unique Identifi
- Version: @UUID_VERSION_RAW@
- URL: http://www.ossp.org/pkg/lib/uuid/
- Cflags: -I${includedir}
--Libs: -L${libdir} -luuid
-+Libs: -L${libdir} -lossp-uuid
- Libs.private: @LIBS@
-
-diff -up uuid-1.6.1/perl/Makefile.PL.BAD uuid-1.6.1/perl/Makefile.PL
---- uuid-1.6.1/perl/Makefile.PL.BAD 2008-03-06 11:12:05.000000000 -0500
-+++ uuid-1.6.1/perl/Makefile.PL 2008-03-06 11:49:25.000000000 -0500
-@@ -33,9 +33,9 @@ use Config;
- use ExtUtils::MakeMaker;
-
- # determine source directory
--my ($srcdir) = map { my $d = $_; $d =~ s/\/libuuid\.la$//; $d }
-- grep { -f $_ } ("../libuuid.la", glob("../*/libuuid.la"))
-- or die "no source directory found (where libuuid.la is located)";
-+my ($srcdir) = map { my $d = $_; $d =~ s/\/libossp-uuid\.la$//; $d }
-+ grep { -f $_ } ("../libossp-uuid.la", glob("../*/libossp-uuid.la"))
-+ or die "no source directory found (where libossp-uuid.la is located)";
-
- # determine extra build options
- my $compat = 0;
-@@ -47,7 +47,7 @@ WriteMakefile(
- VERSION_FROM => 'uuid.pm',
- ABSTRACT_FROM => 'uuid.pod',
- PREREQ_PM => {},
-- LIBS => [ "-L$srcdir/.libs -L$srcdir -luuid" ],
-+ LIBS => [ "-L$srcdir/.libs -L$srcdir -lossp-uuid" ],
- DEFINE => '',
- INC => "-I. -I$srcdir",
- PM => { 'uuid.pm' => '$(INST_LIBDIR)/uuid.pm',
-diff -up uuid-1.6.1/Makefile.PL.BAD uuid-1.6.1/Makefile.PL
---- uuid-1.6.1/Makefile.PL.BAD 2008-03-06 11:09:49.000000000 -0500
-+++ uuid-1.6.1/Makefile.PL 2008-03-06 11:10:01.000000000 -0500
-@@ -44,7 +44,7 @@ ARGS = $ARGS
- all pure_all:
- \@if [ ! -d build ]; then mkdir build; fi
- \@if [ ! -f build/Makefile ]; then (cd build && ../configure --disable-shared); fi
-- \@if [ ! -f build/libuuid.la ]; then (cd build && \$(MAKE) \$(MFLAGS) libuuid.la); fi
-+ \@if [ ! -f build/libossp-uuid.la ]; then (cd build && \$(MAKE) \$(MFLAGS) libossp-uuid.la); fi
- \@if [ ! -f perl/Makefile ]; then (cd perl && \$(PERL) Makefile.PL \$(ARGS)); fi
- \@cd perl && \$(MAKE) \$(MFLAGS) \$\@
-
-diff -up uuid-1.6.1/php/config.m4.BAD uuid-1.6.1/php/config.m4
---- uuid-1.6.1/php/config.m4.BAD 2008-03-06 11:54:55.000000000 -0500
-+++ uuid-1.6.1/php/config.m4 2008-03-06 11:55:07.000000000 -0500
-@@ -34,7 +34,7 @@ if test "$PHP_UUID" != "no"; then
- PHP_NEW_EXTENSION(uuid, uuid.c, $ext_shared)
- AC_DEFINE(HAVE_UUID, 1, [Have OSSP uuid library])
- PHP_ADD_LIBPATH([..], )
-- PHP_ADD_LIBRARY([uuid],, UUID_SHARED_LIBADD)
-+ PHP_ADD_LIBRARY([ossp-uuid],, UUID_SHARED_LIBADD)
- PHP_ADD_INCLUDE([..])
- PHP_SUBST(UUID_SHARED_LIBADD)
-
-diff -up uuid-1.6.1/php/Makefile.local.BAD uuid-1.6.1/php/Makefile.local
---- uuid-1.6.1/php/Makefile.local.BAD 2008-03-06 11:54:39.000000000 -0500
-+++ uuid-1.6.1/php/Makefile.local 2008-03-06 11:54:49.000000000 -0500
-@@ -48,7 +48,7 @@ install: build
- @version=`$(PHP)-config --version | sed -e 's;^\([0-9]\).*$$;\1;'`; extdir="$(EXTDIR)"; \
- echo "installing PHP$$version API into $$extdir"; \
- ./build/shtool mkdir -f -p -m 755 $(DESTDIR)$$extdir; \
-- ./build/shtool install -c -m 755 modules/uuid.so $(DESTDIR)$$extdir/uuid.so; \
-+ ./build/shtool install -c -m 755 modules/uuid.so $(DESTDIR)$$extdir/ossp-uuid.so; \
- ./build/shtool install -c -m 644 uuid.php$$version $(DESTDIR)$$extdir/uuid.php
-
- clean:
-diff -up uuid-1.6.1/php/uuid.ts.BAD uuid-1.6.1/php/uuid.ts
---- uuid-1.6.1/php/uuid.ts.BAD 2008-03-06 11:55:38.000000000 -0500
-+++ uuid-1.6.1/php/uuid.ts 2008-03-06 11:56:03.000000000 -0500
-@@ -34,9 +34,9 @@
-
- $php_version = $argv[1];
-
--print "++ loading DSO uuid.so (low-level API)\n";
-+print "++ loading DSO ossp-uuid.so (low-level API)\n";
- if (!extension_loaded('uuid')) {
-- dl('modules/uuid.so');
-+ dl('modules/ossp-uuid.so');
- }
-
- print "++ loading PHP uuid.php${php_version} (high-level API)\n";
-
diff --git a/testing/ostinato/APKBUILD b/testing/ostinato/APKBUILD
deleted file mode 100644
index 12d7f389f91..00000000000
--- a/testing/ostinato/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Corentin Henry <corentinhenry@gmail.com>
-# Maintainer:
-pkgname=ostinato
-pkgver=1.1
-pkgrel=6
-pkgdesc="Packet/Traffic Generator and Analyzer"
-url="https://www.ostinato.org"
-arch="all"
-license="GPL-3.0-or-later"
-options="!check" # make test does nothing
-makedepends="libnl3-dev libpcap-dev protobuf-dev qt5-qtbase-dev
- qt5-qtscript-dev qt5-qtsvg-dev"
-subpackages="$pkgname-drone $pkgname-gui"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pstavirs/ostinato/archive/v$pkgver.tar.gz
- ModelTest.patch
- "
- # ModelTest::ModelTest is included and needed during linking even in release mode
-
-build() {
- qmake-qt5 PREFIX=/usr
-
- # Parallel build fails on armv7 with:
- # fatal error: protocol.pb.h: No such file or directory
- # qmake generates broken CFLAGS, demand it use ours
- # also keep DEFINES because of #11848
- make -j1 CXXFLAGS="$CXXFLAGS \$(DEFINES)"
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
-}
-
-drone() {
- pkgdesc="ostinato controller"
-
- install -d "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/drone "$subpkgdir"/usr/bin/drone
-}
-
-gui() {
- pkgdesc="graphical controller for ostinato"
- depends="qt5-qtsvg" # 11849
-
- install -d "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/ostinato "$subpkgdir"/usr/bin/ostinato
-}
-
-sha512sums="a45e157d155d4f2efe9a1594a140647b5cbd7264985b15a9ed47d86198c9df9d763170097dcfd40fae1317206e53c9155f08c48c747cce458e0cae7f3a841449 ostinato-1.1.tar.gz
-e0a3d2781c62b1898a80af8522b36d6b1a7aeae9831c33c42e4e76fe002ee7ebff50d432508a18046d7b5988f09d9a9f90a0433cfae1d2c1cbeaf664671abf6c ModelTest.patch"
diff --git a/testing/ostinato/ModelTest.patch b/testing/ostinato/ModelTest.patch
deleted file mode 100644
index d01a1e7b0d4..00000000000
--- a/testing/ostinato/ModelTest.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Undefined reference to ModelTest::ModelTest under defaults.
-Clearly, we're not in a debug mode, but the sources think we are.
-
-Patch is not upstream, made by SpaceToast on #alpine-devel
-diff -ur a/client/ostinato.pro b/client/ostinato.pro
---- a/client/ostinato.pro 2019-05-28 09:32:50.000000000 -0400
-+++ b/client/ostinato.pro 2019-06-04 19:14:23.477762179 -0400
-@@ -123,6 +123,6 @@
-
- INCLUDEPATH += "../extra/modeltest"
- greaterThan(QT_MINOR_VERSION, 6) {
--CONFIG(debug, debug|release): LIBS += -L"../extra/modeltest/$(OBJECTS_DIR)/" -lmodeltest
--CONFIG(debug, debug|release): QT += testlib
-+LIBS += -L"../extra/modeltest/$(OBJECTS_DIR)/" -lmodeltest
-+QT += testlib
- }
-
-
diff --git a/testing/otpclient/APKBUILD b/testing/otpclient/APKBUILD
index b1c07636ecf..9e8a052aac4 100644
--- a/testing/otpclient/APKBUILD
+++ b/testing/otpclient/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=otpclient
-pkgver=2.4.7
-pkgrel=0
+pkgver=3.2.1
+pkgrel=1
pkgdesc="Simple GTK+ client for managing TOTP and HOTP"
url="https://github.com/paolostivanin/OTPClient"
license="GPL-3.0-or-later"
@@ -10,20 +10,25 @@ arch="all"
options="!check" # no test suite
makedepends="
cmake
+ gtk+3.0-dev
+ jansson-dev
libcotp-dev
libgcrypt-dev
libpng-dev
+ libqrencode-dev
+ libsecret-dev
libzip-dev
- jansson-dev
+ protobuf-c-dev
+ protobuf-dev
+ samurai
zbar-dev
- gtk+3.0-dev
"
subpackages="$pkgname-doc"
source="https://github.com/paolostivanin/OTPClient/archive/v$pkgver/OTPClient-$pkgver.tar.gz"
builddir="$srcdir/OTPClient-$pkgver"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr
cmake --build build
@@ -34,5 +39,5 @@ package() {
}
sha512sums="
-e8e79463c48bceac4f2c279be8aef492ef6423d06e3d9ba2da7df388290a09b709b456dfec09dcb541a075c76cc37a363d7a79b126b50fa194047abd2a1ee7ca OTPClient-2.4.7.tar.gz
+74eb67e93ee2ec9bf780fbe23febd927877073524ad3574034f6b885d3c898a7ec14c2f9771f8368762d76514ca863e84a4ef7cc2db5e7fdeb79de91ee28b2c0 OTPClient-3.2.1.tar.gz
"
diff --git a/testing/otrs/APKBUILD b/testing/otrs/APKBUILD
index 36ab0260cbc..a6c43aaba3d 100644
--- a/testing/otrs/APKBUILD
+++ b/testing/otrs/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=otrs
_pkgname=znuny
-pkgver=6.0.33
-pkgrel=0
+pkgver=6.0.48
+pkgrel=1
pkgdesc="Flexible Open Source Service Management Software"
url="https://www.znuny.org/"
arch="noarch"
@@ -11,10 +11,10 @@ license="AGPL-3.0-or-later"
pkgusers="otrs"
pkggroups="www-data"
depends="perl perl-archive-zip perl-crypt-eksblowfish perl-crypt-ssleay
- perl-date-format perl-dbi perl-encode-hanextra perl-io-socket-ssl perl-json-xs
+ perl-timedate perl-dbi perl-encode-hanextra perl-io-socket-ssl perl-json-xs
perl-ldap perl-libwww perl-mail-imapclient perl-net-dns perl-template-toolkit
perl-text-csv perl-text-csv_xs perl-uri perl-xml-libxml perl-xml-libxslt
- perl-xml-parser perl-yaml-xs ttf-dejavu perl-datetime perl-moo
+ perl-xml-parser perl-yaml-xs font-dejavu perl-datetime perl-moo
perl-css-minifier-xs perl-javascript-minifier-xs"
subpackages="$pkgname-doc $pkgname-dev $pkgname-setup $pkgname-apache2
$pkgname-fastcgi $pkgname-nginx $pkgname-bash-completion:bashcomp
@@ -29,6 +29,22 @@ source="https://download.znuny.org/releases/$_pkgname-$pkgver.tar.bz2
builddir=$srcdir/$_pkgname-$pkgver
# secfixes:
+# 6.0.48-r0:
+# - CVE-2022-4427
+# 6.0.44-r0:
+# - ZSA-2022-05
+# - ZSA-2022-06
+# 6.0.43-r0:
+# - ZSA-2022-04
+# 6.0.40-r0:
+# - CVE-2021-41182
+# - CVE-2021-41183
+# - CVE-2021-41184
+# 6.0.39-r0:
+# - CVE-2021-21252
+# - CVE-2021-21440
+# - CVE-2021-21443
+# - CVE-2021-36091
# 6.0.33-r0:
# - CVE-2017-16664
# - CVE-2017-16854
@@ -90,11 +106,11 @@ package() {
# switch to system fonts
rm -fr var/lib/$pkgname/var/fonts
- ln -s /usr/share/fonts/ttf-dejavu \
+ ln -s /usr/share/fonts/dejavu \
var/lib/$pkgname/var/fonts
# fix *.dist files
- for file in var/lib/$pkgname/var/cron/*.dist \
+ for file in "var/lib/$pkgname/var/cron"/*.dist \
var/lib/$pkgname/Kernel/Config.pod.dist
do
mv $file ${file%.dist}
@@ -114,11 +130,11 @@ doc() {
mv "$pkgdir"/var/lib/$pkgname/doc \
"$subpkgdir"/var/lib/$pkgname
- for file in $(find "$pkgdir" -name "*.md" -o -name "*.pod" -o -name "*.txt" \
- -o -name "ARCHIVE" -o -name "README" \
- -o -name "UPGRADING" -o -name "COPYING*")
- do
- file=${file#$pkgdir}
+ local file; find "$pkgdir" -name "*.md" -o -name "*.pod" \
+ -o -name "*.txt" -o -name "ARCHIVE" -o -name "README" \
+ -o -name "UPGRADING" -o -name "COPYING*" \
+ | while read -r file; do
+ file=${file#"$pkgdir"}
mkdir -p "$subpkgdir"/${file%/*}
mv "$pkgdir"/$file "$subpkgdir"/$file
done
@@ -223,7 +239,9 @@ bashcomp() {
"$subpkgdir"/var/lib/$pkgname/.bash_completion
}
-sha512sums="8e4750a13a1be16e676c4805eac519e10d69ae890ba7ea5fc6c34893298d162c84e309b3504d1016ebb604f60a05d9c6bff501d0883f97301ad46e97e7d4a504 znuny-6.0.33.tar.bz2
+sha512sums="
+898d97edffb82965767d77f5c7f0bdf9cf286008ce32fb46d67eb5d571b9576777d95573e2ed66d69db6141039f9b350f8c64e022478b08cd9b0d00d9c87f2a8 znuny-6.0.48.tar.bz2
90d43b350a00fa1648c8add5e2af9b88f78cb583f71438306a9b80ee45a939eda903472b84db1327e0579a5d8c5fd88e3c1e7d55a15106aeef426b16e932363d otrs.initd
7bab58132a5705c8e8ecade8e4aea3b0f04af66a71e4ae08cfeda91b0e143607de350debdc49bf2ce022277ee3804aead3ca8825804d073690c2f5f3a19d776e otrs.spawn-fcgi
-f79474575ac7c734edcfbaf56fc8062c3594749791f9d1fa4328c6bde71747f0ce6219d47ba7ab409927b7343b36dc0c4aa29cd03600c2d806ed5409edab6b14 otrs.nginx.conf"
+f79474575ac7c734edcfbaf56fc8062c3594749791f9d1fa4328c6bde71747f0ce6219d47ba7ab409927b7343b36dc0c4aa29cd03600c2d806ed5409edab6b14 otrs.nginx.conf
+"
diff --git a/testing/ouch/APKBUILD b/testing/ouch/APKBUILD
new file mode 100644
index 00000000000..735cb317f28
--- /dev/null
+++ b/testing/ouch/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: guddaff <guddaff@protonmail.com>
+# Maintainer: guddaff <guddaff@protonmail.com>
+pkgname=ouch
+pkgver=0.5.1
+pkgrel=0
+pkgdesc="Painless compression and decompression"
+url="https://github.com/ouch-org/ouch"
+arch="all"
+license="MIT"
+makedepends="cargo bzip2-dev xz-dev zlib-dev zstd-dev cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/ouch-org/ouch/archive/refs/tags/$pkgver.tar.gz
+ use-system-libs.patch
+ "
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ OUCH_ARTIFACTS_FOLDER=artifacts \
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/ouch -t "$pkgdir"/usr/bin/
+
+ cd artifacts/
+ install -Dm644 ouch.1 ouch-list.1 ouch-compress.1 ouch-decompress.1 \
+ -t "$pkgdir"/usr/share/man/man1/
+
+ install -Dm644 ouch.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/ouch
+ install -Dm644 ouch.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/ouch.fish
+ install -Dm644 _ouch \
+ "$pkgdir"/usr/share/zsh/site-functions/_ouch
+}
+
+sha512sums="
+b30dc9bb6bf8850f30ea6e23ae202df0941c2dc80b1f9b137093c36c6c2028e4c167809e657daa8b3af7a5ed1692a350e0b4709095281ad744d9fe0e22dd42b3 ouch-0.5.1.tar.gz
+1f56e8fcef76e48a7d1f3d2aac852c610a44e2d46360e8f6639f8f75a0385202aad772734f121218b132262cfe62a701e312db1a826ce45dad099ee09acd9e1b use-system-libs.patch
+"
diff --git a/testing/ouch/use-system-libs.patch b/testing/ouch/use-system-libs.patch
new file mode 100644
index 00000000000..0c61e09d672
--- /dev/null
+++ b/testing/ouch/use-system-libs.patch
@@ -0,0 +1,11 @@
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -34,7 +34,7 @@
+ unrar = "0.5.2"
+ xz2 = "0.1.7"
+ zip = { version = "0.6.6", default-features = false, features = ["time"] }
+-zstd = { version = "0.13.0", default-features = false }
++zstd = { version = "0.13.0", default-features = false, features = ["pkg-config"] }
+
+ [target.'cfg(not(unix))'.dependencies]
+ is_executable = "1.0.1"
diff --git a/testing/ovn/APKBUILD b/testing/ovn/APKBUILD
new file mode 100644
index 00000000000..70e2be13c07
--- /dev/null
+++ b/testing/ovn/APKBUILD
@@ -0,0 +1,152 @@
+# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
+# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
+pkgname=ovn
+pkgver=24.03.1
+ovs_pkgver=3.3.0
+pkgrel=0
+pkgdesc="Open Virtual Network"
+url="https://www.ovn.org"
+arch="all"
+license="Apache-2.0"
+makedepends="automake
+ autoconf
+ libtool
+ libcap-ng-dev
+ linux-headers
+ openssl-dev>3
+ python3
+ unbound-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-dbg $pkgname-openrc"
+giturl="https://github.com/openvswitch/ovs.git"
+_gitrev="498cedc"
+options="!check" # most of the tests are failing
+install="$pkgname.post-install"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ovn-org/ovn/archive/refs/tags/v$pkgver.tar.gz
+ openvswitch-$ovs_pkgver.tar.gz::https://github.com/openvswitch/ovs/archive/refs/tags/v$ovs_pkgver.tar.gz
+ ovn-ctl.confd
+ ovn-northd.initd
+ ovn-ovsdb-server-nb.initd
+ ovn-ovsdb-server-sb.initd
+ ovn-controller.initd
+ ovs-modules.initd
+ ovs-vswitchd.confd
+ ovs-vswitchd.initd
+ ovsdb-server.confd
+ ovsdb-server.initd
+
+ ovs-ifupdown-alpine.patch
+ "
+provides="openvswitch=$ovs_pkgver"
+# https://dev.alpinelinux.org/archive/ovn/openvswitch-$ovs_pkgver-$_gitrev.tar.gz
+
+snapshot() {
+ mkdir -p "$srcdir"
+ cd "$srcdir"
+ if ! [ -d ovs ]; then git clone $giturl; fi
+ cd ovs
+ git archive --prefix=openvswitch-$ovs_pkgver/ -o "$srcdir"/openvswitch-$ovs_pkgver-$_gitrev.tar.gz $_gitrev
+ scp "$srcdir"/openvswitch-$ovs_pkgver-$_gitrev.tar.gz dev.alpinelinux.org:/archive/$pkgname/
+}
+
+prepare() {
+ # default_prepare
+ ./boot.sh
+ cd "$srcdir"/ovs-$ovs_pkgver
+ patch -p1 < ../ovs-ifupdown-alpine.patch
+ ./boot.sh
+}
+
+build() {
+ export CFLAGS="$CFLAGS -fPIC"
+ # First OpenVSwitch must be built
+ # Taking the same configure options from openvswitch APKBUILD
+ cd "$srcdir"/ovs-$ovs_pkgver
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-ndebug \
+ --enable-libcap-ng
+ make
+
+ msg "Built OVS. Now building OVN"
+ cd "$builddir"
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --enable-shared \
+ --enable-ndebug \
+ --with-ovs-source=../ovs-$ovs_pkgver \
+ --with-ovs-build=../ovs-$ovs_pkgver
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ # parallel install issue
+ make -j1 DESTDIR="$pkgdir" install
+
+ install -Dm644 ../ovn-ctl.confd "$pkgdir"/etc/conf.d/ovn-ctl
+ local f
+ for f in ovn-northd \
+ ovn-ovsdb-server-nb \
+ ovn-ovsdb-server-sb \
+ ; do
+ install -Dm755 ../"$f".initd "$pkgdir/etc/init.d/$f"
+ ln -s ovn-ctl "$pkgdir/etc/conf.d/$f"
+ done
+
+ install -Dm755 ../ovn-controller.initd "$pkgdir/etc/init.d/ovn-controller"
+
+ # Install the required version of OpenVSwitch
+ # Taken from openvswitch package
+ cd "$srcdir/ovs-$ovs_pkgver"
+ make DESTDIR="$pkgdir" install
+
+ # we don't install python and bash extensions
+ rm -rf "$pkgdir"/usr/share/openvswitch/python
+ rm -rf "$pkgdir"/etc/bash_completion.d
+
+ install -Dm755 "$srcdir"/ovsdb-server.initd \
+ "$pkgdir"/etc/init.d/ovsdb-server
+ install -Dm755 "$srcdir"/ovs-vswitchd.initd \
+ "$pkgdir"/etc/init.d/ovs-vswitchd
+ install -Dm755 "$srcdir"/ovs-modules.initd \
+ "$pkgdir"/etc/init.d/ovs-modules
+ install -Dm644 "$srcdir"/ovsdb-server.confd \
+ "$pkgdir"/etc/conf.d/ovsdb-server
+ install -Dm644 "$srcdir"/ovs-vswitchd.confd \
+ "$pkgdir"/etc/conf.d/ovs-vswitchd
+
+ install -d "$pkgdir"/etc/network/if-pre-up.d \
+ "$pkgdir"/etc/network/if-post-down.d
+ install -m755 debian/ifupdown.sh \
+ "$pkgdir"/etc/network/if-pre-up.d/openvswitch
+ ln -s ../if-pre-up.d/openvswitch \
+ "$pkgdir"/etc/network/if-post-down.d/openvswitch
+}
+
+sha512sums="
+297d41adfcbcf325c69ef7e44ea6951c0c2aacca6457140e656d7fc5e33f6cd297bee05cb7ffdbe64faebe92e1f9e3a5e8dafdd62f0c4e966dce3fbae8b8bc8e ovn-24.03.1.tar.gz
+05d980e51a11ae315d81de91404351774d05717946e3200a2564c0baf7959c204e94e3ea7efda75ff1a202b05348e5f39614c49eb65f60208beabf1103a8ae4c openvswitch-3.3.0.tar.gz
+b98fd4acefcc03714cebe18dd78839ec1e6777ed6b1b035873b7a05c24ce5c91b62d890543e58529ed47413c4ab926468a9915bf15675475712ac039f9d1cda5 ovn-ctl.confd
+436f3bc162675b5baa9e301d58fe30d7d0dfb7a196f73012cd8dd3ee7b3e9016c8db81092629da08ee08fc572a697c4c1463c819254c26eaf1f69150f522c503 ovn-northd.initd
+e2dc52c9328514d5ebe1b6b9e63a6b6055ff9fe1d9b4eb1cec429631f65d24b2144d5f328c7943b501eef40f1aafdf5bd247d5e7d58b028d25a8a361b9ebdcb0 ovn-ovsdb-server-nb.initd
+393e8ae14280e8495b92063556c40273a8dc04572e2a78f03cbf61fd37fe509d9deacf30f50831f23664c1c3dd566122c5e683e928aa5e5c8a035f3183d84a78 ovn-ovsdb-server-sb.initd
+9d54d84d1e70b0cc13c2c19b327f1441208ebcf3c1248c6625afa32cd47f8207ea80006fa82c9de6aa4d3fe03b2ab3bd3c887fb85dd6cb9bb7e5c3925afa38af ovn-controller.initd
+1e08aa5ac6ce55b97256478b9243c8a4c92a42a97fc70ea0439c832b12a775af28a127224ae6c4ce01642dde65f76c610a44105912338bf443d8ea390c2d9ccf ovs-modules.initd
+346aea099f51707d2b4fc9fdc8c1502582723fb4e00c4d5d1624b0378c94dfb76674fa95e2af894f36169df52109dbe441ee6a45aa744584d9e4c74d15a46c1d ovs-vswitchd.confd
+4bff37f8bed32d5327b4b0433984ab8ffdce77f618034aa6ffd1ad4a7caa00703ea2bef312876dce5aafa4c17fe06dddd75e5c05c10e13bf8f5c3805a0654a96 ovs-vswitchd.initd
+b1588d076bbfc7ef2dd46fce8e46186f40cbbc4667697f7ac13ddc68e34568fdab315fde47838de7f6d32916853190336cfe3735f672ad7cb624ae14dbff55a5 ovsdb-server.confd
+097d4721a78fff749c534910d98543778474406bd61b469b88a0d981a2a380556444437ec44278cead6d8688c45a38b2acbf1551acb9ab38d048f413728e3b88 ovsdb-server.initd
+08c08612be2bbcc3c006a6175f2357542e436fa5bec6b2f3ff5200e8084874a72b8116d3408cffec312e33c104b177db381727666f8dd4712617616eee8c4d63 ovs-ifupdown-alpine.patch
+"
diff --git a/testing/ovn/ovn-controller.initd b/testing/ovn/ovn-controller.initd
new file mode 100644
index 00000000000..5c93465eb35
--- /dev/null
+++ b/testing/ovn/ovn-controller.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+
+command="/usr/share/ovn/scripts/ovn-ctl"
+command_args="start_controller --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS"
+command_background="yes"
+pidfile="/run/ovn/$RC_SVCNAME.pid"
+description="Open Virtual Network host control daemon"
+
+depend() {
+ need net ovs-vswitchd
+ after firewall
+}
+
+start_pre() {
+ checkpath --directory "${pidfile%/*}"
+}
+
+stop() {
+ ebegin "Stopping $RC_SVCNAME"
+ $command stop_controller --no-monitor
+ eend $?
+}
diff --git a/testing/ovn/ovn-ctl.confd b/testing/ovn/ovn-ctl.confd
new file mode 100644
index 00000000000..c969a18ef0d
--- /dev/null
+++ b/testing/ovn/ovn-ctl.confd
@@ -0,0 +1,3 @@
+# OVN_CTL_OPTS: Extra options to pass to ovs-ctl. This is, for example,
+# a suitable place to specify --ovn-northd-wrapper=valgrind.
+# OVN_CTL_OPTS=
diff --git a/testing/ovn/ovn-northd.initd b/testing/ovn/ovn-northd.initd
new file mode 100644
index 00000000000..0638b09dc06
--- /dev/null
+++ b/testing/ovn/ovn-northd.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+
+command="/usr/share/ovn/scripts/ovn-ctl"
+command_args="start_northd --ovn-manage-ovsdb=no --no-monitor $OVN_CTL_OPTS"
+command_background="yes"
+pidfile="/run/ovn/$RC_SVCNAME.pid"
+description="Open Virtual Network central control daemon"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath --directory "${pidfile%/*}"
+}
+
+stop() {
+ ebegin "Stopping $RC_SVCNAME"
+ $command stop_northd --no-monitor
+ eend $?
+}
diff --git a/testing/ovn/ovn-ovsdb-server-nb.initd b/testing/ovn/ovn-ovsdb-server-nb.initd
new file mode 100644
index 00000000000..c04148bcced
--- /dev/null
+++ b/testing/ovn/ovn-ovsdb-server-nb.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+
+command="/usr/share/ovn/scripts/ovn-ctl"
+command_args="run_nb_ovsdb $OVN_CTL_OPTS"
+command_background="yes"
+pidfile="/run/ovn/$RC_SVCNAME.pid"
+description="Open vSwitch database server for OVN Northbound database"
+
+depend() {
+ need net ovn-northd
+ after firewall
+}
+
+start_pre() {
+ checkpath --directory "${pidfile%/*}"
+}
+
+stop() {
+ ebegin "Stopping $RC_SVCNAME"
+ $command stop_nb_ovsdb
+ eend $?
+}
diff --git a/testing/ovn/ovn-ovsdb-server-sb.initd b/testing/ovn/ovn-ovsdb-server-sb.initd
new file mode 100644
index 00000000000..89e1743df57
--- /dev/null
+++ b/testing/ovn/ovn-ovsdb-server-sb.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+
+command="/usr/share/ovn/scripts/ovn-ctl"
+command_args="run_sb_ovsdb $OVN_CTL_OPTS"
+command_background="yes"
+pidfile="/run/ovn/$RC_SVCNAME.pid"
+description="Open vSwitch database server for OVN Southbound database"
+
+depend() {
+ need net ovn-northd
+ after firewall
+}
+
+start_pre() {
+ checkpath --directory "${pidfile%/*}"
+}
+
+stop() {
+ ebegin "Stopping $RC_SVCNAME"
+ $command stop_sb_ovsdb
+ eend $?
+}
diff --git a/testing/ovn/ovn.post-install b/testing/ovn/ovn.post-install
new file mode 100644
index 00000000000..8ce006b744c
--- /dev/null
+++ b/testing/ovn/ovn.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+test -e /proc/sys/kernel/random/uuid && cat /proc/sys/kernel/random/uuid > /etc/openvswitch/system-id.conf
diff --git a/testing/ovn/ovs-ifupdown-alpine.patch b/testing/ovn/ovs-ifupdown-alpine.patch
new file mode 100644
index 00000000000..2c156f0101f
--- /dev/null
+++ b/testing/ovn/ovs-ifupdown-alpine.patch
@@ -0,0 +1,17 @@
+diff --git a/debian/ifupdown.sh b/debian/ifupdown.sh
+index 952d1b0..7aed7e0 100755
+--- a/debian/ifupdown.sh
++++ b/debian/ifupdown.sh
+@@ -35,8 +35,10 @@ if [ -f $SERVICE_UNIT ] && [ -x /bin/systemctl ]; then
+ systemctl start openvswitch-switch.service
+ fi
+ else
+- if service openvswitch-switch status > /dev/null 2>&1; then
+- service openvswitch-switch start
++ if ! /etc/init.d/ovs-vswitchd status &>/dev/null; then
++ /etc/init.d/ovs-modules start
++ /etc/init.d/ovsdb-server start
++ /etc/init.d/ovs-vswitchd start
+ fi
+ fi
+
diff --git a/testing/ovn/ovs-modules.initd b/testing/ovn/ovs-modules.initd
new file mode 100644
index 00000000000..e6695ac3ccf
--- /dev/null
+++ b/testing/ovn/ovs-modules.initd
@@ -0,0 +1,20 @@
+#!/sbin/openrc-run
+
+MODULES="openvswitch"
+
+depend() {
+ before ovsdb-server
+}
+
+start() {
+ ebegin "Loading Openvswitch kernel modules"
+ for mod in $MODULES; do
+ modprobe -q $mod
+ done
+ eend $?
+}
+
+stop() {
+ # modules cannot be removed without a reboot
+ return 0
+}
diff --git a/testing/ovn/ovs-vswitchd.confd b/testing/ovn/ovs-vswitchd.confd
new file mode 100644
index 00000000000..3c3d15865b1
--- /dev/null
+++ b/testing/ovn/ovs-vswitchd.confd
@@ -0,0 +1,6 @@
+# Connection string for the configuration database (usually a unix socket)
+DATABASE="unix:/var/run/openvswitch/db.sock"
+
+# Additional options
+OPTIONS="--mlockall"
+
diff --git a/testing/ovn/ovs-vswitchd.initd b/testing/ovn/ovs-vswitchd.initd
new file mode 100644
index 00000000000..fe35a96721d
--- /dev/null
+++ b/testing/ovn/ovs-vswitchd.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/openvswitch/files/ovs-vswitchd-r1,v 1.1 2013/04/08 19:37:58 dev-zero Exp $
+
+description="Open vSwitch virtual switch"
+
+pidfile="/var/run/openvswitch/ovs-vswitchd.pid"
+command="/usr/sbin/ovs-vswitchd"
+command_args="
+ --pidfile=$pidfile
+ --detach
+ --monitor
+ ${OPTIONS} ${DATABASE}"
+
+depend() {
+ need localmount ovsdb-server
+ after bootmisc hwdrivers modules
+ before net
+ use logger
+}
+
+start_pre() {
+ checkpath --directory "${pidfile%/*}" --mode 0750
+}
diff --git a/testing/ovn/ovsdb-server.confd b/testing/ovn/ovsdb-server.confd
new file mode 100644
index 00000000000..97367b9717e
--- /dev/null
+++ b/testing/ovn/ovsdb-server.confd
@@ -0,0 +1,16 @@
+# Socket for bringing the server up
+DB_SOCKET="/var/run/openvswitch/db.sock"
+
+# Remote sockets are defined in the database by default
+REMOTE_DB="db:Open_vSwitch,Open_vSwitch,manager_options"
+
+# All certificates and keys are stored in the database (if any)
+PRIVATE_KEY="db:Open_vSwitch,SSL,private_key"
+CERTIFICATE="db:Open_vSwitch,SSL,certificate"
+BOOTSTRAP_CA_CERT="db:Open_vSwitch,SSL,ca_cert"
+
+# Alternative path for the database (default is /etc/openvswitch/conf.db)
+# DATABASE="/etc/openvswitch/conf.db"
+
+# Additional options
+# OPTIONS=""
diff --git a/testing/ovn/ovsdb-server.initd b/testing/ovn/ovsdb-server.initd
new file mode 100644
index 00000000000..65c3f2ef33e
--- /dev/null
+++ b/testing/ovn/ovsdb-server.initd
@@ -0,0 +1,50 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/openvswitch/files/ovsdb-server-r1,v 1.1 2013/04/08 19:37:58 dev-zero Exp $
+
+description="Open vSwitch database server"
+
+remote_punix=${DB_SOCKET:+"--remote=punix:${DB_SOCKET}"}
+remote_db=${REMOTE_DB:+"--remote=${REMOTE_DB}"}
+private_key=${PRIVATE_KEY:+"--private-key=${PRIVATE_KEY}"}
+certificate=${CERTIFICATE:+"--certificate=${CERTIFICATE}"}
+bootstrap_ca_cert=${BOOTSTRAP_CA_CERT:+"--bootstrap-ca-cert=${BOOTSTRAP_CA_CERT}"}
+
+db=${DATABASE:-/etc/openvswitch/conf.db}
+dbschema=/usr/share/openvswitch/vswitch.ovsschema
+
+command="/usr/sbin/ovsdb-server"
+command_args="
+ --pidfile
+ --detach
+ --monitor
+ ${remote_punix}
+ ${remote_db}
+ ${private_key}
+ ${certificate}
+ ${bootstrap_ca_cert}
+ ${DATABASE}
+ ${OPTIONS}"
+pidfile="/var/run/openvswitch/ovsdb-server.pid"
+
+
+depend() {
+ need localmount dev
+ after bootmisc hwdrivers modules
+ before net
+ use logger
+}
+
+# ovsdb-server is a hard dependency for ovs-vswitchd (to keep them in sync) - to stop the db only:
+# /etc/init.d/ovsdb-server --nodeps stop |or| rc-service ovsdb-server -- --nodeps stop
+
+start_pre() {
+ checkpath -d "/var/run/openvswitch" -m 0750
+ if ! [ -e "$db" ]; then
+ ovsdb-tool create $db $dbschema
+ elif [ "$(ovsdb-tool needs-conversion $db $dbschema)" = "yes" ]; then
+ ovsdb-tool convert $db $dbschema
+ fi
+}
+
diff --git a/testing/ovos-audio/APKBUILD b/testing/ovos-audio/APKBUILD
new file mode 100644
index 00000000000..752fef2d415
--- /dev/null
+++ b/testing/ovos-audio/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-audio
+pkgver=0.0.2_alpha13
+pkgrel=0
+pkgdesc="ovos-core metapackage for audio daemon "
+url="https://github.com/OpenVoiceOS/ovos-audio"
+arch="noarch !s390x" # blocked by py3-ovos-ocp-audio-plugin
+license="Apache-2.0"
+depends="
+ py3-ovos-bus-client
+ py3-ovos-config
+ py3-ovos-ocp-files-plugin
+ py3-ovos-ocp-m3u-plugin
+ py3-ovos-ocp-news-plugin
+ py3-ovos-ocp-rss-plugin
+ py3-ovos-ocp-audio-plugin
+ py3-ovos-plugin-manager
+ py3-ovos-tts-plugin-mimic3-server
+ py3-ovos-utils
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-audio/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+builddir=$srcdir/ovos-audio-${pkgver//_alpha/a}
+
+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="
+ff87bc8506843825a2766932f0b83a4ba72754e175d94175c01fb772193ef9372130807e7d5d931f5ba3ef406b522a094d4a965f5a05926ccda8d308f36d4d69 ovos-audio-0.0.2_alpha13.tar.gz
+"
diff --git a/testing/ovos-core/APKBUILD b/testing/ovos-core/APKBUILD
new file mode 100644
index 00000000000..6ed0824ea69
--- /dev/null
+++ b/testing/ovos-core/APKBUILD
@@ -0,0 +1,69 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-core
+pkgver=0.0.8_alpha24
+pkgrel=1
+pkgdesc="OVOS Core, the OVOS Artificial Intelligence platform"
+url="https://github.com/OpenVoiceOS/ovos-core/"
+# s390x blocked by py3-speechrecognition -> py3-ovos-backend-client
+arch="noarch !s390x"
+license="Apache-2.0"
+depends="
+ py3-adapt-parser
+ py3-combo-lock
+ py3-dateutil
+ py3-lingua-franca
+ py3-ovos-backend-client
+ py3-ovos-bus-client
+ py3-ovos-classifiers
+ py3-ovos-config
+ py3-ovos-plugin-manager
+ py3-ovos-utils
+ py3-ovos-workshop
+ py3-padatious
+ py3-requests
+ py3-watchdog
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-core/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz
+ profile.sh
+ ovos.conf
+ "
+builddir=$srcdir/ovos-core-${pkgver//_alpha/a}
+# Net is required for tests
+# Some tests are broken still, will be enabled later
+options="!check"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ # test_hotword_factory and test_local_recognizer fail
+ # https://github.com/MycroftAI/mycroft-core/issues/2574
+ 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
+
+ install -Dm644 -t "$pkgdir"/etc/OpenVoiceOS "$srcdir"/ovos.conf
+
+ install -Dm644 "$srcdir"/profile.sh "$pkgdir"/etc/profile.d/ovos.sh
+}
+sha512sums="
+c0e7bbad76b5de655ed4d14ce4b84d4a7061f34de3aebc2335f8b14b08eae5ef4090e05ca81444249d3818ff2e1caa9bb9289753fbb17b663e9cd094a7a0458e ovos-core-0.0.8_alpha24.tar.gz
+c3d1a605a0b574c8e2c4031f592bdbf023f5ed9b2e1ba0cea38cf79278331f245dbe4e220e7f81de73fe612ffd722253805058dae04ba89c3d01c361b329e4ef profile.sh
+889b668be450db9c27d7d9f3b00bbcd9a2882f8a4c129cdc5c94ab21490e85acddfd914496447f5f011713c2ecd5b1cafbf13a5948677d9ff82eb5e478faf47a ovos.conf
+"
diff --git a/testing/ovos-core/ovos.conf b/testing/ovos-core/ovos.conf
new file mode 100644
index 00000000000..0071b1db4c1
--- /dev/null
+++ b/testing/ovos-core/ovos.conf
@@ -0,0 +1 @@
+{ "xdg": true }
diff --git a/testing/ovos-core/profile.sh b/testing/ovos-core/profile.sh
new file mode 100644
index 00000000000..4765d018c0e
--- /dev/null
+++ b/testing/ovos-core/profile.sh
@@ -0,0 +1,2 @@
+export MYCROFT_START_CMD="mycroft-start all"
+export MYCROFT_STOP_CMD="mycroft-stop all"
diff --git a/testing/ovos-dinkum-listener/APKBUILD b/testing/ovos-dinkum-listener/APKBUILD
new file mode 100644
index 00000000000..03d6a46813f
--- /dev/null
+++ b/testing/ovos-dinkum-listener/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-dinkum-listener
+pkgver=0.0.2
+pkgrel=0
+pkgdesc="ovos-listener based on the voice loop from mycroft-dinkum "
+url="https://github.com/OpenVoiceOS/ovos-dinkum-listener"
+# 32-bit arches blocked by py3-webrtcvad -> py3-ovos-vad-plugin-webrtcvad
+# s390x, ppc64le and riscv64 blocked by py3-webrtcvad -> py3-ovos-vad-plugin-webrtcvad
+arch="noarch !x86 !armhf !armv7 !s390x !ppc64le !riscv64"
+license="Apache-2.0"
+depends="
+ py3-ovos-backend-client
+ py3-ovos-bus-client
+ py3-ovos-config
+ py3-ovos-microphone-plugin-alsa
+ py3-ovos-plugin-manager
+ py3-ovos-utils
+ py3-ovos-vad-plugin-webrtcvad
+ py3-speechrecognition
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-dinkum-listener/archive/refs/tags/V$pkgver.tar.gz"
+options="!check" # Broken
+
+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="
+ac351db0e53410f7b4456c7b96aad5848d0e41d058a3a30239860e9215c252d00eb1ea64a84649a923a225f1b2e054172309e34a029d5835e188a2d835bcf76e ovos-dinkum-listener-0.0.2.tar.gz
+"
diff --git a/testing/ovos-gui/APKBUILD b/testing/ovos-gui/APKBUILD
new file mode 100644
index 00000000000..c741ce43c14
--- /dev/null
+++ b/testing/ovos-gui/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-gui
+pkgver=0.0.3_alpha5
+pkgrel=1
+pkgdesc="ovos-core metapackage for gui daemon"
+url="https://github.com/OpenVoiceOS/ovos-gui"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-ovos-bus-client
+ py3-ovos-config
+ py3-ovos-plugin-manager
+ py3-ovos-utils
+ py3-tornado
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-gui/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+builddir=$srcdir/ovos-gui-${pkgver//_alpha/a}
+
+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="
+1cb8ceba3ad53dfde671b492a76bd3b3d24560a598fccc80d8254dde35e7d8b2b9446cdd56b1e8042c72695841af83a5bd7b3ee121a387f0a89213719b431ebb ovos-gui-0.0.3_alpha5.tar.gz
+"
diff --git a/testing/ovos-messagebus/APKBUILD b/testing/ovos-messagebus/APKBUILD
new file mode 100644
index 00000000000..ab6e40836a3
--- /dev/null
+++ b/testing/ovos-messagebus/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-messagebus
+pkgver=0.0.3
+pkgrel=1
+pkgdesc="ovos-core metapackage for bus daemon"
+url="https://github.com/OpenVoiceOS/ovos-messagebus"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-ovos-config
+ py3-ovos-utils
+ py3-tornado
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-messagebus/archive/refs/tags/V$pkgver.tar.gz"
+options="!check" # No tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+a908e8974440d742a79006f1167b5dde15911898fd46532c356354b177c661a651320670c5f1c00f2cb2f68cc99ccece32429c6356867360077b64c6b739b51b ovos-messagebus-0.0.3.tar.gz
+"
diff --git a/testing/ovos-phal/APKBUILD b/testing/ovos-phal/APKBUILD
new file mode 100644
index 00000000000..30a4f7e716d
--- /dev/null
+++ b/testing/ovos-phal/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-phal
+pkgver=0.0.5_alpha6
+pkgrel=1
+pkgdesc="Plugin based Hardware Abstraction Layer for OVOS"
+url="https://github.com/OpenVoiceOS/ovos-PHAL"
+# s390x blocked by py3-speechrecognition -> py3-ovos-backend-client
+arch="noarch !s390x"
+license="Apache-2.0"
+depends="
+ py3-ovos-bus-client
+ py3-ovos-config
+ py3-ovos-phal-plugin-connectivity-events
+ py3-ovos-phal-plugin-ipgeo
+ py3-ovos-phal-plugin-network-manager
+ py3-ovos-phal-plugin-oauth
+ py3-ovos-phal-plugin-system
+ py3-ovos-plugin-manager
+ py3-ovos-utils
+ py3-ovos-workshop
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-PHAL/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+builddir="$srcdir/ovos-PHAL-${pkgver//_alpha/a}"
+
+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="
+860d0e763a9caa87defd985eaa4663c1d194e41a6dbb22dbcfe42e3bb40245832caa25ce07915b5469e35ce2aaa09ffb8f52a392fedec55b946ee47f6a1eefa3 ovos-phal-0.0.5_alpha6.tar.gz
+"
diff --git a/testing/ovos-shell/APKBUILD b/testing/ovos-shell/APKBUILD
new file mode 100644
index 00000000000..2dfc807a504
--- /dev/null
+++ b/testing/ovos-shell/APKBUILD
@@ -0,0 +1,59 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-shell
+pkgver=0.0.1_git20230404
+pkgrel=2
+_commit="d98c91ac82e2aa5984a4dd616f2d072ae9767395"
+pkgdesc="OpenVoiceOS Shell with Mycroft GUI embedded view for Wayland and EGLFS platforms"
+url="https://github.com/OpenVoiceOS/ovos-shell"
+# armhf blocked by extra-cmake-modules
+# ppc64le, s390x and riscv64 blocked by qt5-qtwebengine -> qt5-qtwebview
+# armv7 blocked by mycroft-gui
+arch="all !armhf !ppc64le !s390x !riscv64 !armv7"
+license="Apache-2.0"
+depends="
+ kirigami2
+ mycroft-gui
+ plasma-pa
+ "
+makedepends="
+ extra-cmake-modules
+ kconfig5-dev
+ kconfigwidgets5-dev
+ kcoreaddons5-dev
+ kdbusaddons5-dev
+ kguiaddons5-dev
+ ki18n5-dev
+ kiconthemes5-dev
+ kirigami2-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qtwebview-dev
+ "
+source="$pkgname-$_commit.tar.gz::https://github.com/OpenVoiceOS/ovos-shell/archive/$_commit.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/$pkgname-$_commit"
+
+provides="mycroft-embedded-shell=$pkgver-r$pkgrel"
+replaces="mycroft-embedded-shell"
+
+build() {
+ cmake -B build \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+f02cce034edce9d234e93fbe2379a9a5f937664abfc47315665e7c29a8f3806a03b7b7614da1cc0baa35c3cf072a856ce7f9aee027a864b872a73c02b1dd3cc2 ovos-shell-d98c91ac82e2aa5984a4dd616f2d072ae9767395.tar.gz
+"
diff --git a/testing/ovos-skill-hello-world/APKBUILD b/testing/ovos-skill-hello-world/APKBUILD
new file mode 100644
index 00000000000..6298a4049d0
--- /dev/null
+++ b/testing/ovos-skill-hello-world/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-skill-hello-world
+pkgver=0.0.4_alpha3
+pkgrel=1
+pkgdesc="Introductory Skill so that Skill Authors can see how an OVOS Skill is put together"
+url="https://github.com/OpenVoiceOS/skill-ovos-hello-world"
+# s390x blocked by py3-speechrecognition -> py3-ovos-workshop
+arch="noarch !s390x"
+license="Apache-2.0"
+depends="
+ py3-ovos-utils
+ py3-ovos-workshop
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/skill-ovos-hello-world/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/skill-ovos-hello-world-${pkgver//_alpha/a}"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+af103a0c9d09f8e178d4da234eca133023b4ff813e4f8203c9eac9dce974684bf9c42c25d640027b8d01f6adf23a1921c9a1ba8233b1c3e8e2d887235fd3f85b ovos-skill-hello-world-0.0.4_alpha3.tar.gz
+"
diff --git a/testing/ovos-skill-manager/APKBUILD b/testing/ovos-skill-manager/APKBUILD
new file mode 100644
index 00000000000..ca6d5298b02
--- /dev/null
+++ b/testing/ovos-skill-manager/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos-skill-manager
+pkgver=0.0.13
+pkgrel=1
+pkgdesc="Open Voice OS skill manager (deprecated)"
+url="https://github.com/OpenVoiceOS/ovos_skill_manager"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ ovos-skill-installer
+ py3-beautifulsoup4
+ py3-click
+ py3-click-default-group
+ py3-combo-lock
+ py3-json-database
+ py3-ovos-config
+ py3-ovos-utils
+ py3-packaging
+ py3-pako
+ py3-requests
+ py3-requests-cache
+ py3-yaml
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos_skill_manager/archive/refs/tags/$pkgver.tar.gz
+ appstore-use-last-compatible-archive.patch
+ fix-github-main-branch-detection.patch
+ "
+# net required for tests
+options="net"
+builddir="$srcdir/ovos_skill_manager-$pkgver"
+
+# Backwards compatibility from a rename
+provides="ovos-skills-manager=$pkgver-r$pkgrel"
+replaces="ovos-skills-manager"
+
+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
+ case "$CARCH" in
+ armhf)
+ .testenv/bin/python3 -m pytest \
+ -k 'not test_locate_config and not test_skill_entry_uuid' \
+ --deselect test/unittests/test_osm.py \
+ --deselect test/unittests/test_skill_entry.py::TestSkillEntryFromGit::test_requirements_commented \
+ --deselect test/unittests/test_skill_entry.py::TestSkillEntryFromGit::test_requirements_from_txt \
+ --deselect test/unittests/test_skill_entry.py::TestSkillEntryFromGit::test_requirements_json_manifest_txt \
+ --deselect test/unittests/test_skill_entry.py::TestSkillEntryFromGit::test_requirements_json_manifest_txt_dep_system_reqs \
+ --deselect test/unittests/test_skill_entry.py::TestSkillEntryFromGit::test_requirements_null_json
+ ;;
+ *)
+ .testenv/bin/python3 -m pytest \
+ -k 'not test_locate_config and not test_skill_entry_uuid' \
+ --deselect test/unittests/test_osm.py
+ ;;
+ esac
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+38629a4571e1508dae5f9f66b93b76a02f4f90069a00148cc216728c91efa1a3b397131e71a83837d9447214021ea1f5a83a80bf42e8e9d2af7d8f70e847993f ovos-skill-manager-0.0.13.tar.gz
+fdd52cc7a40e2c39c63d8a1c7adab1d713f669bf08733c5bc11d3c0a248c56a23206825d2b3729c2a182fe0bb9b18492e5319bff970aa91a8f91f7ffdc69a409 appstore-use-last-compatible-archive.patch
+2b6bb10b244fd1b9fbd5c76c0f3506d68d693a861eaa310df1c6ee2d5db49befb80268e2fe3720942b60c4b73d2f05b2f7a9dfce7c5c19b6e6afcdbd27926667 fix-github-main-branch-detection.patch
+"
diff --git a/testing/ovos-skill-manager/appstore-use-last-compatible-archive.patch b/testing/ovos-skill-manager/appstore-use-last-compatible-archive.patch
new file mode 100644
index 00000000000..cc272c1317f
--- /dev/null
+++ b/testing/ovos-skill-manager/appstore-use-last-compatible-archive.patch
@@ -0,0 +1,26 @@
+From aa2734bc78a650aa719431bc346244a3ad314fa6 Mon Sep 17 00:00:00 2001
+From: Sertonix <sertonix@posteo.net>
+Date: Thu, 28 Mar 2024 10:48:39 +0100
+Subject: [PATCH] appstore: use last compatible archive
+
+---
+ ovos_skills_manager/appstores/ovos.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/ovos_skills_manager/appstores/ovos.py b/ovos_skills_manager/appstores/ovos.py
+index 4cc8c81..b6b8322 100644
+--- a/ovos_skills_manager/appstores/ovos.py
++++ b/ovos_skills_manager/appstores/ovos.py
+@@ -10,7 +10,8 @@ import json
+ def get_ovos_skills(parse_github:bool=False, skiplist=None):
+ skiplist = skiplist or []
+ path = join(gettempdir(), "ovos")
+- dl_url = "https://github.com/OpenVoiceOS/OVOS-skills-store/archive/main.zip"
++ # Last compatible archive
++ dl_url = "https://github.com/OpenVoiceOS/OVOS-skills-store/archive/fb99f2c7ea3f1a7c9dc691ac5adbdae03dccd35e.zip"
+ download_extract_zip(dl_url, path, join(path, "ovos-appstore.zip"))
+ for root, folders, files in walk(path):
+ files = [f for f in files if f.endswith(".json")]
+--
+2.44.0
+
diff --git a/testing/ovos-skill-manager/fix-github-main-branch-detection.patch b/testing/ovos-skill-manager/fix-github-main-branch-detection.patch
new file mode 100644
index 00000000000..d2b3af86339
--- /dev/null
+++ b/testing/ovos-skill-manager/fix-github-main-branch-detection.patch
@@ -0,0 +1,31 @@
+From 466f081c14bc889c61967bd9f3e66e7a53de3a07 Mon Sep 17 00:00:00 2001
+From: Sertonix <sertonix@posteo.net>
+Date: Thu, 28 Mar 2024 11:00:15 +0100
+Subject: [PATCH] fix github main branch detection
+
+---
+ ovos_skills_manager/github/raw.py | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/ovos_skills_manager/github/raw.py b/ovos_skills_manager/github/raw.py
+index a0a2a42..c7c7805 100644
+--- a/ovos_skills_manager/github/raw.py
++++ b/ovos_skills_manager/github/raw.py
+@@ -46,12 +46,11 @@ def get_main_branch_from_github_url(url: str) -> str:
+ """
+ html = None
+ try:
+- url = normalize_github_url(url)
++ url = normalize_github_url(url) + "/branches"
+ html = requests.get(url).text
+ if "<title>Rate limit &middot; GitHub</title>" in html:
+ raise GithubHTTPRateLimited
+- encoded = html.split("default-branch=\"")[1].split('"')[0]
+- return base64.b64decode(encoded).decode("utf-8")
++ return html.split('id="default"')[1].split('title="')[1].split('"')[0]
+ except Exception as e:
+ LOG.error(f"html={html}")
+ LOG.error(e)
+--
+2.44.0
+
diff --git a/testing/ovos/APKBUILD b/testing/ovos/APKBUILD
new file mode 100644
index 00000000000..73a3227138c
--- /dev/null
+++ b/testing/ovos/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=ovos
+pkgver=0.0.1
+pkgrel=0
+pkgdesc="Meta-package for the OpenVoiceOS system"
+url="https://openvoiceos.org/"
+# 32-bit arches blocked by py3-webrtcvad -> ovos-dinkum-listener
+# only x86_64 and aarch64 blocked by vosk-api -> py3-ovos-ww-plugin-vosk
+arch="noarch !x86 !armhf !armv7 !s390x !ppc64le !riscv64"
+license="custom"
+depends="
+ ovos-audio
+ ovos-core
+ ovos-dinkum-listener
+ ovos-gui
+ ovos-messagebus
+ ovos-phal
+ py3-ovos-stt-plugin-server
+ py3-ovos-tts-plugin-mimic3-server
+ py3-ovos-ww-plugin-vosk
+ "
+options="!check" # No tests in a meta-package
+
+package() {
+ mkdir -p "$pkgdir"
+}
+
diff --git a/testing/ovpncc/APKBUILD b/testing/ovpncc/APKBUILD
new file mode 100644
index 00000000000..e25b79e9dfb
--- /dev/null
+++ b/testing/ovpncc/APKBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Ben Fuhrmannek <ben+alpine@sektioneins.de>
+pkgname=ovpncc
+pkgver=0.1_rc1
+pkgrel=0
+pkgdesc="OpenVPN Security Config Checker"
+url="https://github.com/sektioneins/ovpncc"
+arch="noarch"
+license="Apache-2.0"
+depends="tcl tcl-lib"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sektioneins/ovpncc/archive/v${pkgver/_/}.tar.gz"
+builddir="$srcdir/$pkgname-${pkgver/_/}"
+options="!check" # No test suite
+
+package() {
+ install -Dvm755 ovpncc -t "$pkgdir"/usr/bin
+ install -Dvm644 ovpncc.tcl -t "$pkgdir"/usr/lib/"$pkgname"
+ install -Dvm755 scframework/scframework.tcl -t "$pkgdir"/usr/lib/"$pkgname"/scframework
+ install -Dvm644 README.md LICENSE.txt -t "$pkgdir"/usr/share/doc/"$pkgname"
+}
+
+sha512sums="
+7a4d461ccddadfdb306225e5c970446369f24f81e482c7dabfdb08fef0025cda8c3fcad051b6781e6ddd5df2d3ac07d48a0ba005ac9310c03eef8fa54a9c4691 ovpncc-0.1_rc1.tar.gz
+"
diff --git a/testing/owfs/APKBUILD b/testing/owfs/APKBUILD
deleted file mode 100644
index 06f567cdf35..00000000000
--- a/testing/owfs/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Michael Lyngbol <michael@lyngbol.dk>
-# Maintainer: Michael Lyngbol <michael@lyngbol.dk>
-pkgname=owfs
-pkgver=3.2p4
-pkgrel=0
-pkgdesc="OWFS — the one-wire filesystem"
-url="https://github.com/owfs/owfs-doc/wiki"
-arch="all"
-license="GPL-2.0-only"
-depends="fuse"
-makedepends="fuse-dev linux-headers"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/owfs/owfs/releases/download/v$pkgver/owfs-$pkgver.tar.gz"
-options="!check" # no testsuite
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --with-fuseinclude=/usr/include \
- --with-fuselib=/usr/lib
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-c5326c5e4952dc0d47c1420a48184c31c10a502af04953838afdc8577b123cd2ae841c7bfe5aa4c1ae2804c0e00b7757e3eddf15fc90108f35a60042d175bb48 owfs-3.2p4.tar.gz
-"
diff --git a/testing/oxipng/APKBUILD b/testing/oxipng/APKBUILD
deleted file mode 100644
index 938e006ab6f..00000000000
--- a/testing/oxipng/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Maxim Karasev <begs@disroot.org>
-# Maintainer: Maxim Karasev <begs@disroot.org>
-pkgname=oxipng
-pkgver=5.0.1
-pkgrel=0
-pkgdesc="Multithreaded PNG optimizer written in Rust"
-url="https://github.com/shssoichiro/oxipng"
-arch="x86_64 aarch64 x86 ppc64le" # limited by rust and libdeflate-sys
-license="MIT"
-makedepends="cargo"
-source="https://github.com/shssoichiro/oxipng/archive/v$pkgver/oxipng-$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-}
-
-sha512sums="
-ec96465ba1aee38c6fa59e0289a41f18247bb0dbb85884d1d90511347271669af5254d0b8f61ad6be9bf98c653835a7f2b2f8de12a5df39caf9935e30342f91d oxipng-5.0.1.tar.gz
-"
diff --git a/testing/p0f/APKBUILD b/testing/p0f/APKBUILD
index f438fdcf2fc..0d34fd54806 100644
--- a/testing/p0f/APKBUILD
+++ b/testing/p0f/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Arch3y <arch3y@riseup.net>
pkgname=p0f
pkgver=3.09b
-pkgrel=1
+pkgrel=2
pkgdesc="Passive traffic fingerprinting tool"
url="https://lcamtuf.coredump.cx/p0f3/"
arch="all"
diff --git a/testing/p910nd/APKBUILD b/testing/p910nd/APKBUILD
index f5208b343ef..c54eab0afc1 100644
--- a/testing/p910nd/APKBUILD
+++ b/testing/p910nd/APKBUILD
@@ -2,34 +2,35 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=p910nd
pkgver=0.97
-pkgrel=0
+pkgrel=2
pkgdesc="Non-spooling printer daemon"
-url="http://p910nd.sourceforge.net/"
+url="https://github.com/kenyapcomau/p910nd"
arch="all"
license="GPL"
options="!check"
subpackages="$pkgname-doc $pkgname-openrc"
-source="http://downloads.sf.net/$pkgname/$pkgname-$pkgver.tar.bz2
+source="https://github.com/kenyapcomau/p910nd/archive/$pkgver/p910nd-$pkgver.tar.gz
$pkgname.initd
$pkgname.confd
fix-paths.patch"
-builddir="$srcdir/$pkgname-$pkgver"
build() {
- cd "$builddir"
make
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
+ install -Dm755 p910nd "$pkgdir"/usr/bin/p910nd
+ install -Dm644 p910nd.8 "$pkgdir"/usr/share/man/man8/p910nd.8
+
install -D -m755 "$srcdir"/$pkgname.initd \
"$pkgdir"/etc/init.d/$pkgname
install -D -m644 "$srcdir"/$pkgname.confd \
"$pkgdir"/etc/conf.d/$pkgname
}
-sha512sums="077078f5e5bc26c8fb9a4b5b02c7551db71d807b15417b79771ea876472f9af7129d68f8011b243279ec0967ff2e8a6838f5caff68502a1d2a8f7bffe6da84a5 p910nd-0.97.tar.bz2
-6c8f0208b4589dec1945fcbc4c649c46936e54abc50e35ad5916de934ead0f34b020ef2f48ca2ca6051ca4a9c09e1ac4ff563fc134d11e39f82115f8661c588f p910nd.initd
-78a2593982ea9cd8df4dc9d6e6a9a37ace3a2eea0919b74448722a5fe877b9834eb5c725e5194081f8c75ab4a032690691bfa76883a73e276aa8fa4681a793bc p910nd.confd
-c6ec4fce1c8973ad27bc8e52e4440ab0aaa2bc527323484293eb1e3d163a29909c41ac4d18ed89818fc3d8f6b0bb65a289721ee10b431f4a86977cf96fbc4d53 fix-paths.patch"
+sha512sums="
+162cb64ca79bfb1ce76b726e677ebba9f300c90e1e647625a7ee8db1d0c808a3f7b4ef9b139dfa2cfa7c8861082fe6dcdcc18636a0e0233010411b3746c1560c p910nd-0.97.tar.gz
+14064e928e887ac932e3d9ba82167f2bef13ba046e8cf8bda36a0790961cb346ad2258f8b00ff02a025c996061c7d94d2ef3e91a1e29d207784c49fb6aed296c p910nd.initd
+9a35dde6dabbe8131cfc18c47e9cdb54876f9c680f6badd1d6b399db459ae765a5fc388c549c9559088c5a056bf2e9c8417c778344b8bbf30756bde39ba4b021 p910nd.confd
+81d528496a528d95fec474cfb569251293af506daae77893c232179f4e6d98cc897cdf574c3241b6c59611ca38b5fc2c86df8a81ef72b522b82c924127efa6cb fix-paths.patch
+"
diff --git a/testing/p910nd/fix-paths.patch b/testing/p910nd/fix-paths.patch
index d0d10960c1d..645dee4963f 100644
--- a/testing/p910nd/fix-paths.patch
+++ b/testing/p910nd/fix-paths.patch
@@ -38,30 +38,24 @@ index 2fa4454..a58c1f0 100644
#endif
#ifndef PRINTERFILE
#define PRINTERFILE "/dev/lp%c"
+
diff --git a/Makefile b/Makefile
index 53db51f..6012199 100644
--- a/Makefile
+++ b/Makefile
-@@ -14,12 +14,10 @@ STRIP := strip
- CFLAGS += -O2 -Wall
-
- PROG = p910nd
--CONFIG = p910nd.conf
- INITSCRIPT = p910nd.init
- MANPAGE = p910nd.8
+@@ -18,5 +18,4 @@ STRIP := strip
INSTALL = install
BINDIR = /usr/sbin
-CONFIGDIR = /etc/sysconfig
SCRIPTDIR = /etc/init.d
MANDIR = /usr/share/man/man8
-
-@@ -29,11 +27,10 @@ $(PROG): p910nd.c
+
+@@ -29,11 +29,10 @@ $(PROG): p910nd.c
strip: $(PROG)
$(STRIP) -s $(PROG)
--install: $(PROG) $(CONFIG) $(INITSCRIPT) $(MANPAGE)
+ install: $(PROG) $(MANPAGE)
- mkdir -p $(DESTDIR)$(BINDIR) $(DESTDIR)$(CONFIGDIR) \
-+install: $(PROG) $(INITSCRIPT) $(MANPAGE)
+ mkdir -p $(DESTDIR)$(BINDIR) \
$(DESTDIR)$(SCRIPTDIR) $(DESTDIR)$(MANDIR)
$(INSTALL) $(PROG) $(DESTDIR)$(BINDIR)
diff --git a/testing/p910nd/p910nd.confd b/testing/p910nd/p910nd.confd
index 2bdf4d9eb38..868c94fec73 100644
--- a/testing/p910nd/p910nd.confd
+++ b/testing/p910nd/p910nd.confd
@@ -1,6 +1,6 @@
# Printer number, default 0 equals to 9100, 1 to 9101, 2 to 9102
P910ND_NUM="0"
# Device
-P910ND_DEV="/dev/lp${P910ND_NUM}"
+P910ND_DEV="/dev/usb/lp${P910ND_NUM}"
# Additional daemon arguments, see man 8 p910nd
P910ND_OPTS="-b -f ${P910ND_DEV}"
diff --git a/testing/p910nd/p910nd.initd b/testing/p910nd/p910nd.initd
index 6378a75f9ea..e22811f03c0 100644
--- a/testing/p910nd/p910nd.initd
+++ b/testing/p910nd/p910nd.initd
@@ -4,7 +4,7 @@
# (c) 2019 Francesco Colista <fcolista@alpinelinux.org>
#
-command="/usr/sbin/p910nd"
+command="/usr/bin/p910nd"
pidfile="/run/p910nd/p910nd.${P910ND_NUM}.pid"
command_args="${P910ND_OPTS} ${P910ND_NUM}"
diff --git a/testing/pacparser/APKBUILD b/testing/pacparser/APKBUILD
index 08a940c593f..0db0eb80e53 100644
--- a/testing/pacparser/APKBUILD
+++ b/testing/pacparser/APKBUILD
@@ -1,21 +1,26 @@
# Contributor: Aaron Hurt <ahurt@ena.com>
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=pacparser
-pkgver=1.3.7
-pkgrel=5
+pkgver=1.4.3
+pkgrel=1
pkgdesc="A library to parse proxy auto-config (PAC) files"
url="https://pacparser.manugarg.com/"
-# x86, armhf: https://github.com/pacparser/pacparser/issues/77
-arch="x86_64"
+arch="all"
license="LGPL-3.0-or-later"
-makedepends="bash python3-dev"
-subpackages="py3-$pkgname:pymod $pkgname-doc $pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pacparser/pacparser/archive/$pkgver.tar.gz
- spidermonkey-make.patch"
+makedepends="bash python3-dev py3-setuptools"
+subpackages="py3-$pkgname-pyc:pyc py3-$pkgname:pymod $pkgname-doc $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/manugarg/pacparser/archive/refs/tags/v$pkgver.tar.gz
+ spidermonkey-make.patch
+ "
+
+# secfixes:
+# 1.4.0-r0:
+# - CVE-2019-25087
prepare() {
- find "$builddir" -name \*.git\* -delete
default_prepare
+
+ echo "VERSION=v$pkgver" > src/version.mk
}
build() {
@@ -25,7 +30,7 @@ build() {
}
package() {
- make -C src DESTDIR="$pkgdir" install
+ make -C src DESTDIR="$pkgdir" install install-pymod
}
pymod() {
@@ -33,9 +38,10 @@ pymod() {
replaces="py-pymod" # Backwards compatibility
provides="py-pymod=$pkgver-r$pkgrel" # Backwards compatibility
- cd "$builddir"
- PYTHON=python3 make -C src DESTDIR="$subpkgdir" install-pymod
+ amove usr/lib/python*
}
-sha512sums="9722dbfb0935824c5bea5f092e7bf82b74a0e59387e2a887d1c4e9234bcdb0af3ba4b58d5041dc6192e10200e46746481568a36bcdeca4860cdf00a921adfd2d pacparser-1.3.7.tar.gz
-6f584acfb1f9f16385bef277f4c6bd30fa5f1e77d137cdd3306d50ce60e4917da34d47cd943ea078a264298dfa4a8c3256b447072dd108349e8deddfa536a60d spidermonkey-make.patch"
+sha512sums="
+cc0d6c0a7b1fd9d55dece6c4ad80711d3d1055a0cde120dbb6e8274508631b325e7d876545b40ca05cefc6dce15aa1476e5b2936527e3183ad86114e4cd661a5 pacparser-1.4.3.tar.gz
+99753cfb450e685d866d80e33c58320584c15ec625a0745d4ea2b9d3a6eadb2308563d1b86bdc656a66d255b58a426a89cd5f14ea3b472d04a70a99ef3c1a2bf spidermonkey-make.patch
+"
diff --git a/testing/pacparser/spidermonkey-make.patch b/testing/pacparser/spidermonkey-make.patch
index 32bdf053408..1f78fa99b2e 100644
--- a/testing/pacparser/spidermonkey-make.patch
+++ b/testing/pacparser/spidermonkey-make.patch
@@ -3,20 +3,22 @@ over eachother without forcing the copy. This patch adds the -f (force)
option to the find copy command. This is not explicitly needed but does
seem to reduce a warning.
+diff --git a/src/spidermonkey/Makefile b/src/spidermonkey/Makefile
+index 99521a2..1641274 100644
--- a/src/spidermonkey/Makefile
+++ b/src/spidermonkey/Makefile
-@@ -30,12 +30,12 @@
-
+@@ -28,12 +28,12 @@ jsapi: js-buildstamp
+
jslib: js-buildstamp
cd js/src
-- find . -name "libjs.a" -exec cp {} .. \;
-+ find . -name "libjs.a" -exec cp -f {} .. \;
-
+- find . -name "libjs.a" -exec cp {} . \;
++ find . -name "libjs.a" -exec cp -f {} . \;
+
js-buildstamp:
mkdir -p js/src/$(OBJDIR)
- CFLAGS="$(SMCFLAGS)" "$(MAKE)" -C js/src -f Makefile.ref libjs.a
+ CFLAGS="$(SMCFLAGS)" $(MAKE) -C js/src -f Makefile.ref libjs.a
- find js/src -name "jsautocfg.h" -exec cp {} js/src \;
+ find js/src -name "jsautocfg.h" -exec cp -f {} js/src \;
touch js-buildstamp
-
+
clean:
diff --git a/testing/paho-mqtt-c/0002-make-make-all-dirs-required-in-install.patch b/testing/paho-mqtt-c/0002-make-make-all-dirs-required-in-install.patch
deleted file mode 100644
index dda939beb53..00000000000
--- a/testing/paho-mqtt-c/0002-make-make-all-dirs-required-in-install.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9452e00747348535e8c7e87a9edd4d0f1a2df5b0 Mon Sep 17 00:00:00 2001
-From: Cody P Schafer <dev@codyps.com>
-Date: Mon, 29 Oct 2018 22:40:51 -0400
-Subject: [PATCH 2/3] make: make all dirs required in install
-
-When using DESTDIR, it's possible (and typical) that none of the
-directories in the target will exist. This requires that we create all
-directories needed for our files.
-
-This adds the directories that were omitted.
----
- Makefile | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/Makefile b/Makefile
-index 54c992b..7dd3536 100644
---- a/Makefile
-+++ b/Makefile
-@@ -281,6 +281,10 @@ install-strip: build strip_options install
-
- install: build
- mkdir -p $(DESTDIR)$(PREFIX)${includedir}
-+ mkdir -p $(DESTDIR)$(PREFIX)${bindir}
-+ mkdir -p $(DESTDIR)$(PREFIX)${libdir}
-+ mkdir -p $(DESTDIR)$(PREFIX)${man1dir}
-+ mkdir -p $(DESTDIR)$(PREFIX)${man3dir}
- $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_C_TARGET} $(DESTDIR)${libdir}
- $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_CS_TARGET} $(DESTDIR)${libdir}
- $(INSTALL_DATA) ${INSTALL_OPTS} ${MQTTLIB_A_TARGET} $(DESTDIR)${libdir}
---
-2.26.2
diff --git a/testing/paho-mqtt-c/APKBUILD b/testing/paho-mqtt-c/APKBUILD
deleted file mode 100644
index ef54aed1c3c..00000000000
--- a/testing/paho-mqtt-c/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
-# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
-pkgname=paho-mqtt-c
-pkgver=1.3.8
-pkgrel=0
-pkgdesc="Fully fledged MQTT client written in ANSI standard C"
-url="https://www.eclipse.org/paho/clients/c/"
-arch="all"
-license="EPL-1.0"
-makedepends="openssl-dev"
-options="!check" # make check not implemented
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/eclipse/paho.mqtt.c/archive/v$pkgver.tar.gz
- 0002-make-make-all-dirs-required-in-install.patch
- "
-builddir="$srcdir/paho.mqtt.c-$pkgver"
-
-build() {
- make GAI_LIB="" prefix=/usr
-}
-
-package() {
- make prefix=/usr DESTDIR="$pkgdir" LDCONFIG=echo install
-}
-
-sha512sums="9bfce9d1b9a8524e7ec84e4e066f5e9da3c297808a2b6403c089f7a04c0fd0df9a8b3085aaa2199181843d23820d14dff9db7f58bb12a5731820511814a4c018 paho-mqtt-c-1.3.8.tar.gz
-9bff23e4750f9d078f1b48d69a4932d3d0655a28d88165111e96919e733a033d47df0470fd9e7ffb87d6445ac1f05af431fa815943a7e00b2bd6cfda39aabe2c 0002-make-make-all-dirs-required-in-install.patch"
diff --git a/testing/pahole/APKBUILD b/testing/pahole/APKBUILD
deleted file mode 100644
index e37d3d74765..00000000000
--- a/testing/pahole/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Dominique Martinet <dominique.martinet@atmark-techno.com>
-# Maintainer: Dominique Martinet <dominique.martinet@atmark-techno.com>
-pkgname=pahole
-pkgver=1.22
-pkgrel=0
-pkgdesc="dwarf manipulation utilities"
-url="https://git.kernel.org/pub/scm/devel/pahole/pahole.git"
-arch="all"
-license="GPL-2.0-only"
-options="!check" # no test
-makedepends="cmake elfutils-dev libdwarf-dev zlib-dev libbpf-dev
- linux-headers musl-obstack-dev argp-standalone"
-subpackages="$pkgname-doc"
-source="https://git.kernel.org/pub/scm/devel/pahole/pahole.git/snapshot/pahole-v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-v$pkgver"
-
-build() {
- cmake -B build . \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -D__LIB=lib \
- -DCMAKE_MODULE_PATH=/usr/lib/cmake \
- -DLIBBPF_EMBEDDED=OFF
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-
-sha512sums="9fd2b4eca47997a4018700fe3f55a0cdd8db7ffa3a56bb77738a52be057ef600a288e2ba7acdff005cd08c094df8f0a8ea411e3d1ff2cf8b1051f1e93f44df00 pahole-v1.22.tar.gz"
diff --git a/testing/palp/APKBUILD b/testing/palp/APKBUILD
new file mode 100644
index 00000000000..b454cf77a59
--- /dev/null
+++ b/testing/palp/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=palp
+pkgver=2.20
+pkgrel=1
+pkgdesc="Package for Analyzing Lattice Polytopes"
+url="http://hep.itp.tuwien.ac.at/~kreuzer/CY/CYpalp.html"
+arch="all"
+license="GPL-3.0-only"
+options="!check" # no test suite
+source="http://hep.itp.tuwien.ac.at/~kreuzer/CY/palp/palp-$pkgver.tar.gz"
+_files="poly class cws nef mori"
+_dimensions="4 5 6 11"
+
+prepare() {
+ default_prepare
+ mkdir -p bin
+ mv Global.h Global.h.template
+}
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ # Inspired by https://git.sagemath.org/sage.git/plain/build/pkgs/palp/spkg-install.in
+ local dim file
+ for dim in $_dimensions; do
+ sed "s/^#define[^a-zA-Z]*POLY_Dmax.*/#define POLY_Dmax $dim/" Global.h.template > Global.h
+ make
+ for file in $_files; do
+ mv "$file".x bin/"$file-${dim}d.x"
+ done
+ done
+}
+
+package() {
+ local dim file
+ for file in $_files; do
+ for dim in $_dimensions; do
+ install -Dm755 -t "$pkgdir"/usr/bin bin/"$file-${dim}d.x"
+ done
+ ln -sf "$file"-6d.x "$pkgdir"/usr/bin/"$file.x"
+ done
+}
+
+sha512sums="
+08d9a8543c2253297d6ff9076c7e27b9086dc758599f4a0a0348d391e583b3c9ccd9315cce6f425f62432d546a68e689def55c3a8c1f5a5e17bf7998468d1ee2 palp-2.20.tar.gz
+"
diff --git a/testing/pam-krb5/APKBUILD b/testing/pam-krb5/APKBUILD
index 0eabd535b20..0f90245ebc0 100644
--- a/testing/pam-krb5/APKBUILD
+++ b/testing/pam-krb5/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: ScrumpyJack <scrumpyjack@st.ilet.to>
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
pkgname=pam-krb5
-pkgver=4.9
-pkgrel=1
+pkgver=4.11
+pkgrel=0
pkgdesc="PAM module providing Kerberos v5 support"
url="https://www.eyrie.org/~eagle/software/pam-krb5/"
arch="all"
@@ -31,4 +31,6 @@ package() {
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
}
-sha512sums="0e93fbfacf56f9935902ead000dc46732c8a11cc2689c00b68cbaaf6519108a4ce53bb943479d01e439fb92bcc5c1a219d2b816a5ade2af54ea093bb78907201 pam-krb5-4.9.tar.gz"
+sha512sums="
+a48ff063227b77c7487b8afa50a7365e919c276ef829de1ed9f77c32f2cfdffb234fc156bb60e05d9b3b4f51bc1daff90e28f0256746923ea169cb1bd2821c2e pam-krb5-4.11.tar.gz
+"
diff --git a/testing/pam_mount/APKBUILD b/testing/pam_mount/APKBUILD
new file mode 100644
index 00000000000..98cbe07bb4a
--- /dev/null
+++ b/testing/pam_mount/APKBUILD
@@ -0,0 +1,57 @@
+# Maintainer:
+pkgname=pam_mount
+pkgver=2.20
+pkgrel=0
+pkgdesc="Pluggable Authentication Module that can mount volumes for a user session"
+url="https://codeberg.org/jengelh/pam_mount"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ cryptsetup-dev
+ libhx-dev
+ libxml2-dev
+ linux-pam-dev
+ openssl-dev
+ pcre2-dev
+ perl
+ util-linux-dev
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ libcryptmount
+ "
+source="https://inai.de/files/pam_mount/pam_mount-$pkgver.tar.xz
+ rundir.patch
+ "
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-rundir=/run \
+ --disable-dependency-tracking
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+libcryptmount() {
+ pkgdesc="$pkgdesc (libcryptmount library)"
+
+ amove usr/lib/libcryptmount.so.*
+}
+
+sha512sums="
+8661dc5ec134c256825df28e53751d1e0e1e881008c3687a56009f4046b3d17c5b9ddd1b1971dff4e023e5d74e5059f486b08a6cab2861a4bee5ba57fbae3454 pam_mount-2.20.tar.xz
+41275676cec24f050a194c8d375c9f949b9b93125d25df778de711d59b4e458a251978fed9a9b65d9416f7863bb2b631dc1534258075f34cf5dc86be3838b25d rundir.patch
+"
diff --git a/testing/pam_mount/rundir.patch b/testing/pam_mount/rundir.patch
new file mode 100644
index 00000000000..4e767e5b973
--- /dev/null
+++ b/testing/pam_mount/rundir.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.in b/Makefile.in
+index be4d0b9..1340490 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -924,7 +924,7 @@ uninstall-am: uninstall-pkgconfigDATA
+ ${pkgconfig_DATA}: ${top_builddir}/config.status
+
+ install-data-hook:
+- ${MKDIR_P} ${DESTDIR}${localstatedir}/run/pam_mount;
++ ${MKDIR_P} ${DESTDIR}/run/pam_mount;
+
+ .PHONY: tarball
+ tarball:
diff --git a/testing/pam_sqlite3/APKBUILD b/testing/pam_sqlite3/APKBUILD
index 18413eecfe9..f028b233f2c 100644
--- a/testing/pam_sqlite3/APKBUILD
+++ b/testing/pam_sqlite3/APKBUILD
@@ -2,17 +2,15 @@
# Maintainer: Benoit Masson <yahoo@perenite.com>
pkgname=pam_sqlite3
pkgver=1.0.2
-pkgrel=0
+pkgrel=1
pkgdesc="pam_sqlite3"
url="https://github.com/HormyAJP/pam_sqlite3"
arch="all"
-license="GPL-3.0"
-depends="linux-pam"
+license="GPL-3.0-only"
makedepends="linux-pam-dev sqlite-dev bsd-compat-headers"
-install=""
-subpackages=""
-source="$pkgname-$pkgver.tar.gz::https://github.com/HormyAJP/pam_sqlite3/archive/v1.0.2.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/HormyAJP/pam_sqlite3/archive/v$pkgver.tar.gz
+ broken-makefile.patch
+ "
options="!check"
prepare() {
@@ -21,7 +19,6 @@ prepare() {
}
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -32,10 +29,10 @@ build() {
}
package() {
- cd "$builddir"
- mkdir -p "$pkgdir/lib/security/"
-# make DESTDIR="$pkgdir" install
- install -c -m 755 -o root pam_sqlite3.so $pkgdir/lib/security/
+ install -Dm755 -o root pam_sqlite3.so -t "$pkgdir"/lib/security/
}
-sha512sums="c6925adeae0f22abef20b02404a64144990d604a77fea16d100174b7a68617662ad59eba466aa33d40001e07a24ec1579cc2b59a5fcd5fb5570f658ac1a2be5e pam_sqlite3-1.0.2.tar.gz"
+sha512sums="
+c6925adeae0f22abef20b02404a64144990d604a77fea16d100174b7a68617662ad59eba466aa33d40001e07a24ec1579cc2b59a5fcd5fb5570f658ac1a2be5e pam_sqlite3-1.0.2.tar.gz
+ef61a0905fb77de0cb6f14970886229d4c4f6d6c0854c8fc94b3e00f849e52aabb71a6c8825487918fc8d5d79941823b26cc1e2762423d85bc8ae1d50c7db41b broken-makefile.patch
+"
diff --git a/testing/pam_sqlite3/broken-makefile.patch b/testing/pam_sqlite3/broken-makefile.patch
new file mode 100644
index 00000000000..c3d6d9b6de8
--- /dev/null
+++ b/testing/pam_sqlite3/broken-makefile.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.in b/Makefile.in
+index 05e84b6..1e8c363 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -36,7 +36,7 @@ ${DISTDIR}.tar.gz: distfiles
+ dist: ${DISTDIR}.tar.gz
+
+ ${LIBLIB}: ${LIBOBJ}
+- ${CC} ${CFLAGS} ${INCLUDE} -shared -o $@ ${LIBOBJ} ${LDLIBS}
++ ${CC} ${CFLAGS} ${INCLUDE} -shared -o $@ ${LIBOBJ} ${LDLIBS} ${LDFLAGS}
+
+ test: test.c
+ ${CC} ${CFLAGS} -o $@ test.c ${LDLIBS}
diff --git a/testing/pamtester/APKBUILD b/testing/pamtester/APKBUILD
index 209451e2f54..1a2eda9a90d 100644
--- a/testing/pamtester/APKBUILD
+++ b/testing/pamtester/APKBUILD
@@ -2,15 +2,15 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pamtester
pkgver=0.1.2
-pkgrel=2
+pkgrel=3
pkgdesc="Command line tool to test PAM configuration"
-url="http://pamtester.sourceforge.net/"
+url="https://pamtester.sourceforge.net/"
arch="all"
license="BSD-3-Clause"
depends="linux-pam"
makedepends="$depends_dev linux-pam-dev"
subpackages="$pkgname-doc"
-source="https://netix.dl.sourceforge.net/project/pamtester/pamtester/0.1.2/pamtester-0.1.2.tar.gz"
+source="https://netix.dl.sourceforge.net/project/pamtester/pamtester/$pkgver/pamtester-$pkgver.tar.gz"
prepare() {
default_prepare
diff --git a/testing/pandoc/APKBUILD b/testing/pandoc/APKBUILD
deleted file mode 100644
index 7491ba03c67..00000000000
--- a/testing/pandoc/APKBUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# Contributor: Jean-Louis Fuchs <jean-louis.fuchs@adfinis-sygroup.ch>
-# Maintainer: Jean-Louis Fuchs <jean-louis.fuchs@adfinis-sygroup.ch>
-pkgname=pandoc
-pkgver=2.14.2
-pkgrel=2
-pkgdesc="universal markup converter"
-url="https://pandoc.org/"
-# ghc only supports x86_64
-arch="x86_64"
-license="GPL-2.0-or-later"
-makedepends="ghc cabal zlib-dev libffi-dev"
-subpackages="$pkgname-doc"
-source="https://hackage.haskell.org/package/pandoc-$pkgver/pandoc-$pkgver.tar.gz
- cabal.project.freeze
- "
-
-# Cabal seems to be built without sandbox, moving the cabal-dir into src
-export CABAL_DIR="$srcdir/cabal"
-
-prepare() {
- default_prepare
- cp "$srcdir/cabal.project.freeze" . # Created using "cabal freeze"
- cabal update
- cabal configure \
- --prefix='/usr' \
- --enable-tests \
- --enable-split-sections \
- --ghc-option="-split-sections" \
- --ghc-option="-j" \
- --ghc-option="-O1" \
- --flags="+embed_data_files -trypandoc +static"
-}
-
-build() {
- cabal install --only-dependencies
- cabal build --jobs=${JOBS:-1}
-}
-
-check() {
- cabal test
-}
-
-package() {
- _bindir="$pkgdir/usr/bin"
- mkdir -p "$_bindir"
- cabal install \
- --installdir="$_bindir" \
- --install-method=copy
- install -Dm644 man/pandoc.1 "$pkgdir"/usr/share/man/man1/pandoc.1
-}
-
-sha512sums="
-b6ea6e57fe500d4944d84007c693758a47890ef4880836ccdc7bf5b8d8f3e91c17f05e2d34892e308fdb99bacfa2098065af3d7f18d277f685eff81e810eee17 pandoc-2.14.2.tar.gz
-732a153601c4464fd9c35f1bb2b0e0af958a96b524423ee4189f1d0907a545c6198da3dcdbd9af256786e85e80d74b51c26fa0fb44cfb6c6f1d4ff12119e1544 cabal.project.freeze
-"
diff --git a/testing/pandoc/cabal.project.freeze b/testing/pandoc/cabal.project.freeze
deleted file mode 100644
index 41723442aa1..00000000000
--- a/testing/pandoc/cabal.project.freeze
+++ /dev/null
@@ -1,219 +0,0 @@
-active-repositories: hackage.haskell.org:merge
-constraints: any.Cabal ==3.4.0.0,
- any.Diff ==0.4.0,
- any.Glob ==0.10.2,
- any.HsYAML ==0.2.1.0,
- HsYAML -exe,
- any.JuicyPixels ==3.3.6,
- JuicyPixels -mmap,
- any.QuickCheck ==2.14.2,
- QuickCheck -old-random +templatehaskell,
- any.SHA ==1.6.4.4,
- SHA -exe,
- any.aeson ==1.5.6.0,
- aeson -bytestring-builder -cffi -developer -fast,
- any.aeson-pretty ==0.8.9,
- aeson-pretty -lib-only,
- any.ansi-terminal ==0.11,
- ansi-terminal -example,
- any.ansi-wl-pprint ==0.6.9,
- ansi-wl-pprint -example,
- any.appar ==0.1.8,
- any.array ==0.5.4.0,
- any.asn1-encoding ==0.9.6,
- any.asn1-parse ==0.9.5,
- any.asn1-types ==0.3.4,
- any.assoc ==1.0.2,
- any.async ==2.2.4,
- async -bench,
- any.attoparsec ==0.14.2,
- attoparsec -developer,
- any.base ==4.15.0.0,
- any.base-compat ==0.12.1,
- any.base-compat-batteries ==0.12.1,
- any.base-orphans ==0.8.6,
- any.base16-bytestring ==1.0.2.0,
- any.base64-bytestring ==1.2.1.0,
- any.basement ==0.0.12,
- any.bifunctors ==5.5.11,
- bifunctors +semigroups +tagged,
- any.binary ==0.8.8.0,
- any.blaze-builder ==0.4.2.2,
- any.blaze-html ==0.9.1.2,
- any.blaze-markup ==0.8.2.8,
- any.byteorder ==1.0.4,
- any.bytestring ==0.10.12.1,
- any.cabal-doctest ==1.0.9,
- any.call-stack ==0.4.0,
- any.case-insensitive ==1.2.1.0,
- any.cereal ==0.5.8.2,
- cereal -bytestring-builder,
- any.citeproc ==0.5,
- citeproc -executable -icu,
- any.clock ==0.8.2,
- clock -llvm,
- any.cmdargs ==0.10.21,
- cmdargs +quotation -testprog,
- any.colour ==2.3.6,
- any.commonmark ==0.2.1.1,
- any.commonmark-extensions ==0.2.2.1,
- any.commonmark-pandoc ==0.2.1.1,
- any.comonad ==5.0.8,
- comonad +containers +distributive +indexed-traversable,
- any.conduit ==1.3.4.2,
- any.conduit-extra ==1.3.5,
- any.connection ==0.3.1,
- any.containers ==0.6.4.1,
- any.cookie ==0.4.5,
- any.cryptonite ==0.29,
- cryptonite -check_alignment +integer-gmp -old_toolchain_inliner +support_aesni +support_deepseq -support_pclmuldq +support_rdrand -support_sse +use_target_attributes,
- any.data-default ==0.7.1.1,
- any.data-default-class ==0.1.2.0,
- any.data-default-instances-containers ==0.0.1,
- any.data-default-instances-dlist ==0.0.1,
- any.data-default-instances-old-locale ==0.0.1,
- any.data-fix ==0.3.2,
- any.deepseq ==1.4.5.0,
- any.digest ==0.0.1.3,
- digest -bytestring-in-base,
- any.directory ==1.3.6.1,
- any.distributive ==0.6.2.1,
- distributive +semigroups +tagged,
- any.dlist ==1.0,
- dlist -werror,
- any.doclayout ==0.3.1.1,
- any.doctemplates ==0.10.0.1,
- any.emojis ==0.1.2,
- any.errors ==2.3.0,
- any.exceptions ==0.10.4,
- any.file-embed ==0.0.15.0,
- any.filepath ==1.4.2.1,
- any.ghc-bignum ==1.0,
- any.ghc-boot-th ==9.0.1,
- any.ghc-prim ==0.7.0,
- any.haddock-library ==1.10.0,
- any.hashable ==1.3.5.0,
- hashable +integer-gmp -random-initial-seed,
- any.hourglass ==0.2.12,
- any.hsc2hs ==0.68.8,
- hsc2hs -in-ghc-tree,
- any.hslua ==1.3.0.2,
- hslua +allow-unsafe-gc -apicheck +export-dynamic -hardcode-reg-keys -lua_32bits -pkg-config -system-lua,
- any.hslua-module-path ==0.1.0.1,
- any.hslua-module-system ==0.2.2.1,
- any.hslua-module-text ==0.3.0.1,
- any.http-client ==0.7.9,
- http-client +network-uri,
- any.http-client-tls ==0.3.5.3,
- any.http-types ==0.12.3,
- any.indexed-traversable ==0.1.2,
- any.integer-gmp ==1.1,
- any.integer-logarithms ==1.0.3.1,
- integer-logarithms -check-bounds +integer-gmp,
- any.iproute ==1.7.12,
- any.ipynb ==0.1.0.2,
- any.jira-wiki-markup ==1.4.0,
- any.memory ==0.16.0,
- memory +support_basement +support_bytestring +support_deepseq +support_foundation,
- any.mime-types ==0.1.0.9,
- any.mono-traversable ==1.0.15.3,
- any.mtl ==2.2.2,
- any.network ==3.1.2.5,
- network -devel,
- any.network-uri ==2.6.4.1,
- any.old-locale ==1.0.0.7,
- any.optparse-applicative ==0.16.1.0,
- optparse-applicative +process,
- pandoc +embed_data_files -trypandoc,
- any.pandoc-types ==1.22.1,
- any.parsec ==3.1.14.0,
- any.pem ==0.2.4,
- any.pretty ==1.1.3.6,
- any.primitive ==0.7.3.0,
- any.process ==1.6.11.0,
- any.random ==1.2.1,
- any.resourcet ==1.2.4.3,
- any.rts ==1.0,
- any.safe ==0.3.19,
- any.scientific ==0.3.7.0,
- scientific -bytestring-builder -integer-simple,
- any.skylighting ==0.11,
- skylighting -executable,
- any.skylighting-core ==0.11,
- skylighting-core -executable,
- any.socks ==0.6.1,
- any.split ==0.2.3.4,
- any.splitmix ==0.1.0.4,
- splitmix -optimised-mixer,
- any.stm ==2.5.0.0,
- any.streaming-commons ==0.2.2.2,
- streaming-commons -use-bytestring-builder,
- any.strict ==0.4.0.1,
- strict +assoc,
- any.syb ==0.7.2.1,
- any.tagged ==0.8.6.1,
- tagged +deepseq +transformers,
- any.tagsoup ==0.14.8,
- any.tasty ==1.4.2,
- tasty +clock +unix,
- any.tasty-bench ==0.3,
- any.tasty-golden ==2.3.4,
- tasty-golden -build-example,
- any.tasty-hunit ==0.10.0.3,
- any.tasty-lua ==0.2.3.2,
- any.tasty-quickcheck ==0.10.1.2,
- any.template-haskell ==2.17.0.0,
- any.temporary ==1.3,
- any.texmath ==0.12.3.2,
- texmath -executable +network-uri,
- any.text ==1.2.4.1,
- any.text-conversions ==0.3.1,
- any.th-abstraction ==0.4.3.0,
- any.th-compat ==0.1.3,
- any.th-lift ==0.8.2,
- any.th-lift-instances ==0.1.18,
- any.these ==1.1.1.1,
- these +assoc,
- any.time ==1.9.3,
- any.time-compat ==1.9.6.1,
- time-compat -old-locale,
- any.tls ==1.5.5,
- tls +compat -hans +network,
- any.transformers ==0.5.6.2,
- any.transformers-compat ==0.7.1,
- transformers-compat -five +five-three -four +generic-deriving +mtl -three -two,
- any.typed-process ==0.2.7.0,
- any.unbounded-delays ==0.1.1.1,
- any.unicode-collation ==0.1.3.1,
- unicode-collation -doctests -executable,
- any.unicode-data ==0.1.0.1,
- unicode-data -ucd2haskell,
- any.unicode-transforms ==0.3.8,
- unicode-transforms -bench-show -dev -has-icu -has-llvm -use-gauge,
- any.uniplate ==1.6.13,
- any.unix ==2.7.2.2,
- any.unix-compat ==0.5.3,
- unix-compat -old-time,
- any.unliftio-core ==0.2.0.1,
- any.unordered-containers ==0.2.15.0,
- unordered-containers -debug,
- any.utf8-string ==1.0.2,
- any.uuid-types ==1.0.5,
- any.vector ==0.12.3.1,
- vector +boundschecks -internalchecks -unsafechecks -wall,
- any.vector-algorithms ==0.8.0.4,
- vector-algorithms +bench +boundschecks -internalchecks -llvm +properties -unsafechecks,
- any.wcwidth ==0.0.2,
- wcwidth -cli +split-base,
- any.x509 ==1.7.5,
- any.x509-store ==1.6.7,
- any.x509-system ==1.6.6,
- any.x509-validation ==1.6.11,
- any.xml ==1.3.14,
- any.xml-conduit ==1.9.1.1,
- any.xml-types ==0.3.8,
- any.zip-archive ==0.4.1,
- zip-archive -executable,
- any.zlib ==0.6.2.3,
- zlib -bundled-c-zlib -non-blocking-ffi -pkg-config
-index-state: hackage.haskell.org 2021-11-18T10:18:20Z
diff --git a/testing/pantalaimon/APKBUILD b/testing/pantalaimon/APKBUILD
index 2cc22567ee7..19fd97d7287 100644
--- a/testing/pantalaimon/APKBUILD
+++ b/testing/pantalaimon/APKBUILD
@@ -1,29 +1,33 @@
# Contributor: Antoine Fontaine <antoine.fontaine@epfl.ch>
# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Antoine Fontaine <antoine.fontaine@epfl.ch>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=pantalaimon
-pkgver=0.10.3
-pkgrel=0
+pkgver=0.10.5
+pkgrel=4
pkgdesc="E2EE-aware Matrix proxy daemon"
options="!check" # Tests hang
url="https://github.com/matrix-org/pantalaimon"
-# ppc64le: blocked by py3-keyring
-arch="noarch !ppc64le"
+arch="noarch"
license="Apache-2.0"
depends="
- python3
- py3-attrs
py3-aiohttp
- py3-brotlipy
py3-appdirs
+ py3-atomicwrites
+ py3-attrs
+ py3-cachetools
py3-click
+ py3-janus
py3-keyring
py3-logbook
+ py3-matrix-nio
+ py3-olm
py3-peewee
- py3-janus
- py3-cachetools
py3-prompt_toolkit
- py3-matrix-nio
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
"
checkdepends="
py3-aioresponses
@@ -33,42 +37,54 @@ checkdepends="
py3-pytest
py3-pytest-aiohttp
"
-makedepends="py3-wheel py3-setuptools"
-subpackages="$pkgname-ui $pkgname-doc"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/matrix-org/pantalaimon/archive/$pkgver.tar.gz
+subpackages="
+ $pkgname-ui
+ $pkgname-doc
+ $pkgname-pyc
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/matrix-org/pantalaimon/archive/$pkgver.tar.gz
+ fix-typo.patch
+ fix-media.patch
+ fix-tox.patch
+ fix-presence.patch
"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="$PWD/build/lib" python3 -m pytest
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
- cd "$srcdir/pantalaimon-$pkgver/docs/man"
- install -Dm 0644 panctl.1 "$pkgdir"/usr/share/man/man1/panctl.1
- install -Dm 0644 pantalaimon.5 "$pkgdir"/usr/share/man/man5/pantalaimon.5
- install -Dm 0644 pantalaimon.8 "$pkgdir"/usr/share/man/man8/pantalaimon.8
+ install -Dm644 docs/man/panctl.1 -t "$pkgdir"/usr/share/man/man1/
+ install -Dm644 docs/man/pantalaimon.5 -t "$pkgdir"/usr/share/man/man5/
+ install -Dm644 docs/man/pantalaimon.8 -t "$pkgdir"/usr/share/man/man8/
}
ui() {
depends="
- $pkgname
+ $pkgname=$pkgver-r$pkgrel
py3-gobject3
py3-dbus
py3-pydbus
py3-notify2
"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/panctl "$subpkgdir"/usr/bin/
-}
+ amove usr/bin/panctl
+}
sha512sums="
-07c30594a1105956affebae7250db4a80db605f80ce9abc61bd4b8f02605129a73e9375c6d5c09c0268025195bd6a43df1d870974d4d3a5d53d696342a08bcd9 pantalaimon-0.10.3.tar.gz
+8648037b49aeae9cdc10eaa83257412335267e70163d8800979a47b3c4bfa88d03a5a62272bddfdf1a77b8ea781b089512b6edae0f8ec67a36b28c1098f1d36e pantalaimon-0.10.5.tar.gz
+08b8d353ce496cfc893efde3e80ad9847730b6105926f2d2146c1f1e93af451f7ec138d57f1da48711962f6a9687ce061187fe5ec7e9cc6ffdf6a1a711fca924 fix-typo.patch
+8305b04edb607549332d77e54eda88e93e61ba4e209622ba2b55ce3de37d112f3f054b596181c39bdb9f9f0464b87658364ca06bfa69bd8a518c01a07af1a423 fix-media.patch
+6b8b9c87f261dcd78e8b3bf07d417e831d816077eb78f21499ee2847dea05aaef007a5dde77fb18904ceba35d82f02bb2afc89c1c04e3e6a3b76697bbf70da7e fix-tox.patch
+2660521a127059ae53fc962609a5f6df90f024723638ea0c148e434227f8d41fca6d18221fbdc78e990c8aa9192ac85746446cdac8ae6a5243e4864bb2c8a4b2 fix-presence.patch
"
diff --git a/testing/pantalaimon/fix-media.patch b/testing/pantalaimon/fix-media.patch
new file mode 100644
index 00000000000..082f749a021
--- /dev/null
+++ b/testing/pantalaimon/fix-media.patch
@@ -0,0 +1,24 @@
+Patch-Source: https://github.com/matrix-org/pantalaimon/commit/807deb94ee9e39bb570a904960d750e8d0dd5086.patch
+--
+From 807deb94ee9e39bb570a904960d750e8d0dd5086 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Gerber=20L=C3=B3r=C3=A1nt=20Viktor?= <glorantq@gmail.com>
+Date: Fri, 3 Feb 2023 05:45:50 +0100
+Subject: [PATCH] fix media
+
+---
+ pantalaimon/daemon.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pantalaimon/daemon.py b/pantalaimon/daemon.py
+index 3264cab..c5e4ac4 100755
+--- a/pantalaimon/daemon.py
++++ b/pantalaimon/daemon.py
+@@ -1273,7 +1273,7 @@ async def _load_decrypted_file(self, server_name, media_id, file_name):
+ client = next(iter(self.pan_clients.values()))
+
+ try:
+- response = await client.download(server_name, media_id, file_name)
++ response = await client.download(server_name=server_name, media_id=media_id, filename=file_name)
+ except ClientConnectionError as e:
+ raise e
+
diff --git a/testing/pantalaimon/fix-presence.patch b/testing/pantalaimon/fix-presence.patch
new file mode 100644
index 00000000000..665182b6f5d
--- /dev/null
+++ b/testing/pantalaimon/fix-presence.patch
@@ -0,0 +1,28 @@
+Patch-Source: https://github.com/matrix-org/pantalaimon/commit/3968c69aa846889970df1372ba9aa54c1c5e4290.patch
+--
+From 3968c69aa846889970df1372ba9aa54c1c5e4290 Mon Sep 17 00:00:00 2001
+From: Igor Artemenko <igor@codemonium.com>
+Date: Wed, 5 Apr 2023 16:17:04 +0000
+Subject: [PATCH] Set Pantalaimon presence to offline
+
+Before this change, Pantalaimon users would always appear online because
+that is the default state when the /sync endpoint's set_presence
+parameter is not set. By explicitly setting the parameter to "offline",
+only the user-facing client (which executes its own /sync request)
+affects the presence state.
+---
+ pantalaimon/client.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/pantalaimon/client.py b/pantalaimon/client.py
+index be32859..ececee3 100644
+--- a/pantalaimon/client.py
++++ b/pantalaimon/client.py
+@@ -554,6 +554,7 @@ def start_loop(self, loop_sleep_time=100):
+ full_state=True,
+ since=next_batch,
+ loop_sleep_time=loop_sleep_time,
++ set_presence="offline",
+ )
+ )
+ self.task = task
diff --git a/testing/pantalaimon/fix-tox.patch b/testing/pantalaimon/fix-tox.patch
new file mode 100644
index 00000000000..a841e13b221
--- /dev/null
+++ b/testing/pantalaimon/fix-tox.patch
@@ -0,0 +1,24 @@
+Patch-Source: https://github.com/matrix-org/pantalaimon/commit/6638393042654b3f497ac1ea4b5f550b7024b490.patch
+--
+From 6638393042654b3f497ac1ea4b5f550b7024b490 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Damir=20Jeli=C4=87?= <poljar@termina.org.uk>
+Date: Thu, 25 May 2023 19:57:25 +0200
+Subject: [PATCH] Fix tox
+
+---
+ tox.ini | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tox.ini b/tox.ini
+index c3a2630..d90feda 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -5,7 +5,7 @@ envlist = coverage
+ deps = -rtest-requirements.txt
+ install_command = pip install {opts} {packages}
+
+-passenv = TOXENV CI
++passenv = TOXENV,CI
+ commands = pytest
+
+ [testenv:coverage]
diff --git a/testing/pantalaimon/fix-typo.patch b/testing/pantalaimon/fix-typo.patch
new file mode 100644
index 00000000000..a2e8d91d104
--- /dev/null
+++ b/testing/pantalaimon/fix-typo.patch
@@ -0,0 +1,24 @@
+Patch-Source: https://github.com/matrix-org/pantalaimon/commit/127373fdcc91c5a4403e25444526822e59083a0d.patch
+--
+From 127373fdcc91c5a4403e25444526822e59083a0d Mon Sep 17 00:00:00 2001
+From: Igor Artemenko <igor@codemonium.com>
+Date: Tue, 6 Dec 2022 12:38:38 +0000
+Subject: [PATCH] Fix typo
+
+---
+ pantalaimon/client.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pantalaimon/client.py b/pantalaimon/client.py
+index 5b4ce05..be32859 100644
+--- a/pantalaimon/client.py
++++ b/pantalaimon/client.py
+@@ -135,7 +135,7 @@ class InvalidLimit(Exception):
+ class SqliteQStore(SqliteStore):
+ def _create_database(self):
+ return SqliteQueueDatabase(
+- self.database_path, pragmas=(("foregign_keys", 1), ("secure_delete", 1))
++ self.database_path, pragmas=(("foreign_keys", 1), ("secure_delete", 1))
+ )
+
+ def close(self):
diff --git a/testing/paperde/APKBUILD b/testing/paperde/APKBUILD
index 2279e08218e..922a7b79146 100644
--- a/testing/paperde/APKBUILD
+++ b/testing/paperde/APKBUILD
@@ -1,33 +1,51 @@
# Contributor: rahmanshaber <rahmanshaber@yahoo.com>
# Maintainer: rahmanshaber <rahmanshaber@yahoo.com>
pkgname=paperde
-pkgver=0.1.1
-pkgrel=0
+pkgver=0.2.1
+pkgrel=1
pkgdesc="A minimalistic Desktop Environment built on top of Qt/Wayland and Wayfire."
# armhf blocked by extra-cmake-modulese
-# riscv64, s390x and mips64 blocked by polkit
-arch="all !armhf !s390x !mips64 !riscv64"
+# riscv64 and s390x blocked by polkit
+arch="all !armhf !s390x !riscv64"
url="https://gitlab.com/cubocore"
license="GPL-3.0-or-later"
-depends="qt5-qtbase-dev libcprime-dev libcsys-dev wayfire wayland-protocols libdbusmenu-qt-dev qt5-qttools-dev qt5-qtsvg-dev qt5-qtwayland-dev upower-dev xdg-desktop-portal cmake ninja"
-makedepends="qt5-qtbase-dev extra-cmake-modules"
+depends="
+ wayfire
+ xdg-desktop-portal
+ "
+makedepends="
+ dfl-applications-dev
+ dfl-ipc-dev
+ dfl-login1-dev
+ dfl-sni-dev
+ libcprime-dev
+ libcsys-dev
+ libdbusmenu-qt-dev
+ meson
+ qt5-qtbase-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ qt5-qtwayland-dev
+ samurai
+ upower-dev
+ wayland-protocols
+ wayqt-dev
+ xdg-desktop-portal-dev
+ "
+subpackages="$pkgname-dev"
source="https://gitlab.com/cubocore/paper/paperde/-/archive/v$pkgver/paperde-v$pkgver.tar.gz"
builddir="$srcdir/$pkgname-v$pkgver"
options="!check" # No test suite
build() {
- cmake -B build \
- -GNinja \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DPKGSHAREDPATH=share/paperde \
- -DCMAKE_BUILD_TYPE=None
- cmake --build build
+ abuild-meson . output
+ meson compile -C output
}
-
package() {
- DESTDIR="$pkgdir" cmake --install build
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-sha512sums="45b1fcd8bc03ae34be7560fe8f369d1bde98da764870298a6f31b8465fd0fc24ace556bf7fadeab756dc4d86115aefc7c8d22eb84602472eeb2c60dc1539b85c paperde-v0.1.1.tar.gz"
+sha512sums="
+e391faec794ccf0d780f7796cadfec3d3a2280e0ee9556b0ba5dfd29db86f5efac168e7b9b6b5f34a54917f0ad8d664723b82910bd2a2b396582d82dd6b0cfce paperde-v0.2.1.tar.gz
+"
diff --git a/testing/paperkey/APKBUILD b/testing/paperkey/APKBUILD
index 37d81a7eb2f..6ad403e8870 100644
--- a/testing/paperkey/APKBUILD
+++ b/testing/paperkey/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=paperkey
pkgver=1.6
-pkgrel=0
+pkgrel=2
pkgdesc="Archive OpenPGP keys on paper"
url="https://www.jabberwocky.com/software/paperkey/"
arch="all"
diff --git a/testing/paprefs/APKBUILD b/testing/paprefs/APKBUILD
index 57754ee8951..c3cb4cecfc9 100644
--- a/testing/paprefs/APKBUILD
+++ b/testing/paprefs/APKBUILD
@@ -1,32 +1,35 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=paprefs
-pkgver=1.1
-pkgrel=2
+pkgver=1.2
+pkgrel=1
pkgdesc="Configuration dialog for PulseAudio"
url="https://freedesktop.org/software/pulseaudio/paprefs/"
arch="all"
license="GPL-2.0-or-later"
makedepends="
- meson
- pulseaudio-dev
+ glib-dev
gtkmm3-dev
libsigc++-dev
- glib-dev
+ meson
+ pulseaudio-dev
"
subpackages="$pkgname-lang"
-source="http://freedesktop.org/software/pulseaudio/paprefs/paprefs-$pkgver.tar.xz"
+source="https://freedesktop.org/software/pulseaudio/paprefs/paprefs-$pkgver.tar.xz"
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
check() {
- meson test --no-rebuild -v -C output
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-sha512sums="4203fcb485b40223a5c8672fdbbd2875a25d05d85366773015728f54a17020098ee9e9fd1c02180c01799e100b99389c970855fc1bd69921d32d8e43c749ce76 paprefs-1.1.tar.xz"
+
+sha512sums="
+2bc50116528c150060711899c66976179e433f6be36f6b7806f0fd3f66346ce14037875e7f119dc205d2047c3998d78105fa7d7c397dfcf02fb8d3bfec34154c paprefs-1.2.tar.xz
+"
diff --git a/testing/par/APKBUILD b/testing/par/APKBUILD
index ba79701c02d..7b17d291bbb 100644
--- a/testing/par/APKBUILD
+++ b/testing/par/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=par
pkgver=1.53.0
-pkgrel=0
+pkgrel=1
pkgdesc="paragraph reformatter, vaguely similar to fmt, but better"
url="http://www.nicemice.net/par/"
arch="all"
diff --git a/testing/par2cmdline-turbo/APKBUILD b/testing/par2cmdline-turbo/APKBUILD
new file mode 100644
index 00000000000..b70d648476d
--- /dev/null
+++ b/testing/par2cmdline-turbo/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=par2cmdline-turbo
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="par2cmdline x ParPar: speed focused par2cmdline fork"
+url="https://github.com/animetosho/par2cmdline-turbo"
+arch="x86 x86_64 aarch64 armv7"
+license="GPL-2.0-or-later"
+makedepends="automake autoconf"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/animetosho/par2cmdline-turbo/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ update_config_sub
+ update_config_guess
+}
+
+build() {
+ ./automake.sh
+ ./configure --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+bb919f885134a298ba14551e21cf89a91aee292e437133e6973bef09fb5dee9a9b45e76a59320bfede864438d3ac884699be7ca3f7234896a9da14cb07ffa89d par2cmdline-turbo-1.1.1.tar.gz
+"
diff --git a/testing/paraexec/APKBUILD b/testing/paraexec/APKBUILD
index dad28c5ede9..ca45a0f6ae1 100644
--- a/testing/paraexec/APKBUILD
+++ b/testing/paraexec/APKBUILD
@@ -2,9 +2,9 @@
# Contributor: Will Sinatra <wpsinatra@gmail.com>
pkgname=paraexec
pkgver=1.0
-pkgrel=0
+pkgrel=3
pkgdesc="Asychronous Execution Program"
-url="https://gitlab.com/Durrendal/Paraexec.git"
+url="https://gitlab.com/Durrendal/Paraexec"
arch="x86_64"
license="GPL-3.0-only"
depends="sbcl"
@@ -20,4 +20,6 @@ package() {
install -Dm755 "$builddir"/src/paraexec "$pkgdir"/usr/bin/paraexec
}
-sha512sums="b3d04931dbc3fd8af54b304071f4921cf4089f109f487ad0424c2b015ec2d968a34640e83104018d600a42630271c593191921377a6ab696a3d7a8af17623b6f paraexec.tar.bz2"
+sha512sums="
+b3d04931dbc3fd8af54b304071f4921cf4089f109f487ad0424c2b015ec2d968a34640e83104018d600a42630271c593191921377a6ab696a3d7a8af17623b6f paraexec.tar.bz2
+"
diff --git a/testing/parcellite/APKBUILD b/testing/parcellite/APKBUILD
new file mode 100644
index 00000000000..31fad7d7ad0
--- /dev/null
+++ b/testing/parcellite/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: RickyRockRat <gpib@rickyrockrat.net>
+# Maintainer: RickyRockRat <gpib@rickyrockrat.net>
+pkgname=parcellite
+pkgver=1.2.4.0
+pkgrel=0
+pkgdesc="A lightweight GTK+ clipboard manager."
+url="http://parcellite.sourceforge.net"
+arch="all"
+options='!check'
+license="GPL-3.0-or-later"
+makedepends="intltool gcc make pkgconf gtk+2.0-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rickyrockrat/parcellite/archive/$pkgver.tar.gz"
+
+build() {
+ make -f Makefile.simple VERSION=$pkgver
+}
+
+package() {
+ make -f Makefile.simple DESTDIR="$pkgdir" install-bin
+ make -f Makefile.simple DESTDIR="$pkgdir" install-doc
+ make -f Makefile.simple DESTDIR="$pkgdir" install-lang
+}
+
+sha512sums="
+f6452b1b41bae0f6af2fea72052ee17c7d47681c921afe2f89b1ed0180bac9b9551b6d5e6b9422ae696a482fb81c57df85d11620bcc77e7fd47f2050ccfd1673 parcellite-1.2.4.0.tar.gz
+"
diff --git a/testing/pari/APKBUILD b/testing/pari/APKBUILD
index 103653d8e85..afe46729518 100755..100644
--- a/testing/pari/APKBUILD
+++ b/testing/pari/APKBUILD
@@ -1,19 +1,21 @@
# Contributor: Alex Yam <alex@alexyam.com>
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=pari
-pkgver=2.13.3
+pkgver=2.15.4
pkgrel=0
pkgdesc="computer algebra system designed for fast computations in number theory"
url="https://pari.math.u-bordeaux.fr/"
arch="all !x86 !armv7 !armhf" # x86/armv7/armhf failed test matsnf-sta and matsnf-dyn
license="GPL-2.0-or-later"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
makedepends="gmp-dev readline-dev perl"
checkdepends="diffutils" # BusyBox diff: unrecognized option: c
-subpackages="$pkgname-dev $pkgname-doc"
+subpackages="$pkgname-dev $pkgname-libs:_lib $pkgname-doc"
source="https://pari.math.u-bordeaux.fr/pub/pari/unix/pari-$pkgver.tar.gz"
build() {
- export CFLAGS="$CFLAGS -flto" # reduce speed losses under pthread
+ export CFLAGS="$CFLAGS -O2 -flto=auto"
+ export CPPFLAGS="$CPPFLAGS -O2 -flto=auto"
./Configure \
--prefix=/usr \
--mt=pthread \
@@ -24,13 +26,25 @@ build() {
}
check() {
- make test-all
+ make dobench
}
package() {
make DESTDIR="$pkgdir" install
}
+_lib() {
+ # symlink is backwards so it doesn't move otherwise
+ amove usr/lib/libpari*
+}
+
+doc() {
+ default_doc
+
+ amove usr/share/pari/doc \
+ usr/share/pari/examples
+}
+
sha512sums="
-16cc20e44bc9b408798a86ffc31f8096e5adc01e0b8f7620e3d03201d71ddbe1d1bfecb22ab69c5b03270e9e97657042de29bb2055173b0d4cf169ec4373972b pari-2.13.3.tar.gz
+2b9f0c1fe7198406df8e6ceb3fcdc8bfb75f5c7ebfb963f023a1eebfff0bcc26e3b690941e188d6b9f8dfb6cddf4ce4c00f2cc320ebe47d42ae7596c774ed6cc pari-2.15.4.tar.gz
"
diff --git a/testing/partclone-utils/10-posix-close.patch b/testing/partclone-utils/10-posix-close.patch
deleted file mode 100644
index b10387069ae..00000000000
--- a/testing/partclone-utils/10-posix-close.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-Author: Sean McAvoy
-Summary: Fixes posix_close to posix_closex
-----
-diff --git a/src/sysdep_posix.c b/src/sysdep_posix.c
-index 0d70de0..b390431 100644
---- a/src/sysdep_posix.c
-+++ b/src/sysdep_posix.c
-@@ -79,7 +79,7 @@ posix_open(void *rhp, const char *p, sysdep_open_mode_t omode)
- * error - Otherwise.
- */
- static int
--posix_close(void *rh)
-+posix_closex(void *rh)
- {
- int *fhp = (int *) rh;
- int error = EINVAL;
-@@ -240,6 +240,6 @@ posix_file_size(void *rh, u_int64_t *nbytes)
- }
-
- const sysdep_dispatch_t posix_dispatch =
--{ posix_open, posix_close, posix_seek, posix_read, posix_write, posix_malloc,
-+{ posix_open, posix_closex, posix_seek, posix_read, posix_write, posix_malloc,
- posix_free, posix_file_size };
-
diff --git a/testing/partclone-utils/20-u_int-to-uint.patch b/testing/partclone-utils/20-u_int-to-uint.patch
deleted file mode 100644
index 65964650778..00000000000
--- a/testing/partclone-utils/20-u_int-to-uint.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-Author: Sean McAvoy <seanmcavoy@gmail.com>
-Summary: fixes for musl, use uint instead of u_int
-----
-diff --git a/src/cfdump.c b/src/cfdump.c
-index ff33ad6..993702a 100644
---- a/src/cfdump.c
-+++ b/src/cfdump.c
-@@ -19,18 +19,18 @@ dump_header(char *n, cf_header_t *h) {
- }
-
- static int crcinitdone = 0;
--static u_int32_t xcrc_tab32[CRC_TABLE_LEN];
--static inline u_int32_t
--xcrc32(u_int32_t crc, unsigned char *buf, u_int64_t size)
-+static uint32_t xcrc_tab32[CRC_TABLE_LEN];
-+static inline uint32_t
-+xcrc32(uint32_t crc, unsigned char *buf, uint64_t size)
- {
- int i;
-- u_int64_t s;
-- u_int32_t tmp;
-+ uint64_t s;
-+ uint32_t tmp;
-
- if (!crcinitdone) {
- for (i=0; i<CRC_TABLE_LEN; i++) {
- int j;
-- u_int32_t init_crc = (u_int32_t) i;
-+ uint32_t init_crc = (uint32_t) i;
- for (j=0; j<CRC_UNIT_BITS; j++) {
- init_crc = (init_crc & 0x00000001L) ?
- (init_crc >> 1) ^ 0xEDB88320L :
-@@ -40,20 +40,20 @@ xcrc32(u_int32_t crc, unsigned char *buf, u_int64_t size)
- }
- }
- for (s=0; s<size; s++) {
-- tmp = crc ^ (((u_int32_t) buf[s]) & 0x000000ffL);
-+ tmp = crc ^ (((uint32_t) buf[s]) & 0x000000ffL);
- crc = (crc >> 8) ^ xcrc_tab32[ tmp & 0xff ];
- }
- return(crc);
- }
-
- int
--verify_block(void *cf, u_int64_t offs, u_int64_t index, void *rbuffer,
-- u_int64_t bsize)
-+verify_block(void *cf, uint64_t offs, uint64_t index, void *rbuffer,
-+ uint64_t bsize)
- {
-- u_int64_t nread;
-+ uint64_t nread;
- int error = 1;
- if (!(error = (*sysdep->sys_seek)(cf, offs, SYSDEP_SEEK_ABSOLUTE,
-- (u_int64_t *) NULL))) {
-+ (uint64_t *) NULL))) {
- if (!(error = (*sysdep->sys_read)(cf, rbuffer, bsize, &nread)) &&
- (nread == bsize)) {
- cf_block_trailer_t btrail;
-@@ -76,10 +76,10 @@ verify_block(void *cf, u_int64_t offs, u_int64_t index, void *rbuffer,
- }
-
- void
--dump_blocks(cf_header_t *h, u_int64_t *bm, void *cf) {
-- u_int64_t bi, nread;
-- u_int64_t nfound = 0;
-- u_int64_t bsize = 0;
-+dump_blocks(cf_header_t *h, uint64_t *bm, void *cf) {
-+ uint64_t bi, nread;
-+ uint64_t nfound = 0;
-+ uint64_t bsize = 0;
- void *rbuffer = (void *) NULL;
- int error;
- for (bi=0; bi<h->cf_total_blocks; bi++) {
-@@ -107,10 +107,10 @@ dump_blocks(cf_header_t *h, u_int64_t *bm, void *cf) {
- }
- printf("%s\n", (good) ? "ok" : "INVALID");
- if (bsize && rbuffer) {
-- u_int64_t boff;
-+ uint64_t boff;
- for (boff = 0; boff < bsize; boff += 16) {
-- u_int64_t soff;
-- printf("0x%04x: ", (u_int16_t) boff);
-+ uint64_t soff;
-+ printf("0x%04x: ", (uint16_t) boff);
- for (soff = 0; soff < 16; soff++) {
- printf("%02x ", ((unsigned char *) rbuffer)[boff+soff]);
- }
-@@ -141,16 +141,16 @@ main(int argc, char *argv[])
- for (i=1; i<argc; i++) {
- if ((error = (*sysdep->sys_open)(&cfp, argv[i], SYSDEP_OPEN_RO)) == 0) {
- cf_header_t header;
-- u_int64_t nread;
-+ uint64_t nread;
- (void) (*sysdep->sys_seek)(cfp, 0, SYSDEP_SEEK_ABSOLUTE,
-- (u_int64_t *) NULL);
-+ (uint64_t *) NULL);
- if ((error = (*sysdep->sys_read)(cfp, &header, sizeof(header),
- &nread)) == 0) {
- if ((header.cf_magic == CF_MAGIC_1) &&
- (header.cf_magic2 == CF_MAGIC_2)) {
-- u_int64_t bmsize = header.cf_total_blocks *
-- sizeof(u_int64_t);
-- u_int64_t *blockmap;
-+ uint64_t bmsize = header.cf_total_blocks *
-+ sizeof(uint64_t);
-+ uint64_t *blockmap;
-
- if ((error = (*sysdep->sys_malloc)(&blockmap, bmsize))
- == 0) {
-@@ -158,7 +158,7 @@ main(int argc, char *argv[])
- (void) (*sysdep->sys_seek)(cfp,
- header.cf_blockmap_offset,
- SYSDEP_SEEK_ABSOLUTE,
-- (u_int64_t *) NULL);
-+ (uint64_t *) NULL);
- if ((error = (*sysdep->sys_read)(cfp, blockmap,
- bmsize, &nread))
- == 0) {
-diff --git a/src/changefileint.h b/src/changefileint.h
-index 237b5a8..30ae1d9 100644
---- a/src/changefileint.h
-+++ b/src/changefileint.h
-@@ -25,29 +25,29 @@
- #define CF_VERSION_1 1
- #define CF_HEADER_DIRTY 1
- typedef struct change_file_header {
-- u_int32_t cf_magic; /* 0x00 - magic */
-- u_int16_t cf_version; /* 0x04 - version */
-- u_int16_t cf_flags; /* 0x06 - flags */
-- u_int64_t cf_total_blocks; /* 0x08 - total blocks */
-- u_int64_t cf_used_blocks; /* 0x10 - used blocks */
-- u_int32_t cf_blockmap_offset; /* 0x18 - blockmap offset */
-- u_int32_t cf_magic2; /* 0x1c - magic2 */
-+ uint32_t cf_magic; /* 0x00 - magic */
-+ uint16_t cf_version; /* 0x04 - version */
-+ uint16_t cf_flags; /* 0x06 - flags */
-+ uint64_t cf_total_blocks; /* 0x08 - total blocks */
-+ uint64_t cf_used_blocks; /* 0x10 - used blocks */
-+ uint32_t cf_blockmap_offset; /* 0x18 - blockmap offset */
-+ uint32_t cf_magic2; /* 0x1c - magic2 */
- } cf_header_t; /* 0x20 - total size */
-
- typedef struct change_file_context {
- cf_header_t cfc_header;
- const sysdep_dispatch_t *cfc_sysdep;
- void *cfc_fd;
-- u_int64_t *cfc_blockmap;
-- u_int64_t cfc_blocksize;
-- u_int64_t cfc_blockcount;
-- u_int64_t cfc_curpos;
-- u_int32_t cfc_crc_tab32[CRC_TABLE_LEN];
-+ uint64_t *cfc_blockmap;
-+ uint64_t cfc_blocksize;
-+ uint64_t cfc_blockcount;
-+ uint64_t cfc_curpos;
-+ uint32_t cfc_crc_tab32[CRC_TABLE_LEN];
- } cf_context_t;
-
- typedef struct change_file_block_trailer {
-- u_int64_t cfb_curblock;
-- u_int32_t cfb_crc;
-- u_int32_t cfb_magic;
-+ uint64_t cfb_curblock;
-+ uint32_t cfb_crc;
-+ uint32_t cfb_magic;
- } cf_block_trailer_t;
- #endif /* _CHANGEFILEINT_H_ */
-diff --git a/src/sysdep_int.h b/src/sysdep_int.h
-index f7a037c..0b9fad9 100644
---- a/src/sysdep_int.h
-+++ b/src/sysdep_int.h
-@@ -73,7 +73,7 @@ typedef struct sysdep_dispatch {
- * error - Otherwise.
- */
- int (*sys_seek)(void *rh, int64_t offset, sysdep_whence_t whence,
-- u_int64_t *resoffp);
-+ uint64_t *resoffp);
- /*
- * sys_read - Read data from the current offset.
- *
-@@ -88,7 +88,7 @@ typedef struct sysdep_dispatch {
- * EINVAL - Invalid file handle.
- * error - Otherwise.
- */
-- int (*sys_read)(void *rh, void *buf, u_int64_t len, u_int64_t *nr);
-+ int (*sys_read)(void *rh, void *buf, uint64_t len, uint64_t *nr);
- /*
- * sys_write - Write data at the current offset.
- *
-@@ -103,7 +103,7 @@ typedef struct sysdep_dispatch {
- * EINVAL - Invalid file handle.
- * error - Otherwise.
- */
-- int (*sys_write)(void *rh, void *buf, u_int64_t len, u_int64_t *nw);
-+ int (*sys_write)(void *rh, void *buf, uint64_t len, uint64_t *nw);
- /*
- * sys_malloc - Allocate dynamic memory.
- *
-@@ -116,7 +116,7 @@ typedef struct sysdep_dispatch {
- * EINVAL - Invalid nmpp
- * ENOMEM - No memory available
- */
-- int (*sys_malloc)(void *nmpp, u_int64_t nbytes);
-+ int (*sys_malloc)(void *nmpp, uint64_t nbytes);
- /*
- * sys_free - Free dynamic memory.
- *
-@@ -135,6 +135,6 @@ typedef struct sysdep_dispatch {
- * rh - Open file handle.
- * nbytes - File size.
- */
-- int (*sys_file_size)(void *rh, u_int64_t *nbytes);
-+ int (*sys_file_size)(void *rh, uint64_t *nbytes);
- } sysdep_dispatch_t;
- #endif /* _SYSDEP_INT_H_ */
diff --git a/testing/partclone-utils/APKBUILD b/testing/partclone-utils/APKBUILD
deleted file mode 100644
index 35e1be94365..00000000000
--- a/testing/partclone-utils/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
-# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
-pkgname=partclone-utils
-pkgver=0.4.3
-pkgrel=0
-pkgdesc="access and mount images made by partclone, ntfsclone and dd"
-url="https://sourceforge.net/projects/partclone-utils/"
-arch="all"
-license="GPL-2.0-only"
-makedepends="linux-headers automake autoconf"
-subpackages="$pkgname-doc"
-source="https://sourceforge.net/projects/partclone-utils/files/partclone-utils-$pkgver.tar.gz
- 10-posix-close.patch
- 20-u_int-to-uint.patch"
-options="!check"
-
-prepare() {
- default_prepare
- autoreconf -i
-}
-
-build() {
- ./configure \
- --build="$CBUILD" \
- --host="$CHOST" \
- --prefix=/usr
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
-}
-
-sha512sums="2fd8a0fadc66086ef91be9cf727942ca4c041bd3a638aa97877d800dc950bce413f145084335695840b2976d352b8abeae113f435723f5e06712b0f1c0d0541d partclone-utils-0.4.3.tar.gz
-0ec02352f70d8c2a0080e1e20428cfb5156b62e586efac40f49c4b12c0f924675826eb42fb0e09f599c4609376a30ef62650e7d974dc44e1c5a88aaebe6ac5e1 10-posix-close.patch
-4ca550c635b44573ffa7a8223ae566bdb9cbd736d05583e6ba3f0a6eb9a44705e0dab8418bf789860d47b402b9bbfa13daf825167b8afb8c2ed9a7f4496b4f3e 20-u_int-to-uint.patch"
diff --git a/testing/pash/APKBUILD b/testing/pash/APKBUILD
index befca412494..d52ea9f62fb 100644
--- a/testing/pash/APKBUILD
+++ b/testing/pash/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Alan Diwix <alandiwix@gmail.com>
pkgname=pash
pkgver=2.3.0
-pkgrel=1
+pkgrel=2
pkgdesc="simple password manager"
url="https://github.com/dylanaraps/pash"
arch="noarch"
diff --git a/testing/pass2csv/APKBUILD b/testing/pass2csv/APKBUILD
index b588ed9a1f6..fe32553a758 100644
--- a/testing/pass2csv/APKBUILD
+++ b/testing/pass2csv/APKBUILD
@@ -1,25 +1,29 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=pass2csv
-pkgver=0.3.2
-pkgrel=0
+pkgver=1.1.1
+pkgrel=1
pkgdesc="Export pass(1), \"the standard unix password manager\", to CSV"
url="https://github.com/reinefjord/pass2csv"
license="MIT"
arch="noarch"
depends="python3 py3-gnupg"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/reinefjord/pass2csv/archive/v$pkgver.tar.gz"
+makedepends="py3-gpep517 py3-installer py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://github.com/reinefjord/pass2csv/archive/v$pkgver/pass2csv-$pkgver.tar.gz"
options="!check" # no test suite
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --root="$pkgdir" --skip-build
+ python3 -m installer -d "$pkgdir" \
+ .dist/pass2csv-$pkgver-py3-none-any.whl
}
sha512sums="
-a9dc27fa110625b408601532902bf2ed6938205e826bbebdac6794607a24b733941915982db294c104c39a1dd45e31089315c939c70205bfe969948c2c035013 pass2csv-0.3.2.tar.gz
+4982f56e98a3935aeb6ef4981188bfcf2b81df3dadce5abaefdc029b30b48e49fe45b96718913d2c96849cdca1220efc0a699255f39d8f91454ce983d3fc37f9 pass2csv-1.1.1.tar.gz
"
diff --git a/testing/passt/APKBUILD b/testing/passt/APKBUILD
new file mode 100644
index 00000000000..1bc9d9d4d46
--- /dev/null
+++ b/testing/passt/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=passt
+pkgver=2024.02.20
+_commit=1e6f92b
+_tag=${pkgver//./_}.$_commit
+pkgrel=0
+pkgdesc="Plug a simple socket transport"
+url="https://passt.top/"
+arch="all"
+license="BSD-3-Clause AND GPL-2.0-or-later"
+makedepends="coreutils-fmt linux-headers"
+subpackages="$pkgname-doc"
+source="https://passt.top/passt/snapshot/passt-$_tag.tar.gz"
+builddir="$srcdir/$pkgname-$_tag"
+# complicated test setup, requires qemu and a lot of VM images
+options="!check"
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" prefix=/usr install
+ install -Dm644 LICENSES/*.txt -t "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
+sha512sums="
+bd47321cb727a15310b9c02622e8d5f983ca52e996c1e80a58fba0212845beddd4060d7a78585b5e13a2cb02206ef16bf13c9edb325bb2be4b4fafed5a609bd7 passt-2024_02_20.1e6f92b.tar.gz
+"
diff --git a/testing/pastebinc/APKBUILD b/testing/pastebinc/APKBUILD
index de726f5db7a..3291b747ded 100644
--- a/testing/pastebinc/APKBUILD
+++ b/testing/pastebinc/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pastebinc
pkgver=0.9.1
-pkgrel=1
+pkgrel=2
pkgdesc="utility to pipe data into a paste on pastebin.com or a similar site"
url="https://github.com/jthomerson/pastebinc"
arch="all"
diff --git a/testing/pastel/APKBUILD b/testing/pastel/APKBUILD
index c79cdce59a1..e99f83f89c1 100644
--- a/testing/pastel/APKBUILD
+++ b/testing/pastel/APKBUILD
@@ -1,23 +1,25 @@
# Contributor: Joe Searle <joe@jsearle.net>
# Maintainer: Joe Searle <joe@jsearle.net>
pkgname=pastel
-pkgver=0.8.1
-pkgrel=1
+pkgver=0.9.0
+pkgrel=2
pkgdesc="A command-line tool to generate, analyze, convert and manipulate colors"
url="https://github.com/sharkdp/pastel"
-arch="all !s390x !mips !mips64 !riscv64" # rust/cargo
+arch="all !s390x !riscv64" # rust/cargo
license="Apache-2.0"
-makedepends="rust cargo"
+makedepends="rust cargo cargo-auditable"
source="$pkgname-$pkgver.tar.gz::https://github.com/sharkdp/pastel/archive/v$pkgver.tar.gz"
subpackages="
$pkgname-bash-completion
$pkgname-zsh-completion
$pkgname-fish-completion
"
+options="net" # fetch crates
+
build() {
export SHELL_COMPLETIONS_DIR="$builddir/completions"
- cargo build --release
+ cargo auditable build --release
}
check() {
@@ -32,9 +34,9 @@ package() {
install -Dm644 "$builddir"/completions/_pastel \
"$pkgdir"/usr/share/zsh/site-functions/_pastel
install -Dm644 "$builddir"/completions/pastel.fish \
- "$pkgdir"/usr/share/fish/completions/pastel.fish
+ "$pkgdir"/usr/share/fish/vendor_completions.d/pastel.fish
}
sha512sums="
-a8489ef023f043d0e4153dd151b3f1fb468090570726822f9acf0892e4dd3256d9c2bfe781b3c1260fafb1c05ff9af16cd07c90132c25d6cc29373f660b80160 pastel-0.8.1.tar.gz
+b1dc85062429ca8acda14bec88dcb6057643c1e999582c7e1595ca730312fc8164c558c7459e754cb934a0a1f53ccd8fc542a4ab28dfe05f2f023d223384c464 pastel-0.9.0.tar.gz
"
diff --git a/testing/pathvector/APKBUILD b/testing/pathvector/APKBUILD
new file mode 100644
index 00000000000..2bde84f04ef
--- /dev/null
+++ b/testing/pathvector/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Dennis Przytarski <dennis@przytarski.com>
+# Maintainer: Dennis Przytarski <dennis@przytarski.com>
+pkgname=pathvector
+pkgver=6.3.2
+pkgrel=5
+pkgdesc="Declarative edge routing platform"
+url="https://pathvector.io"
+# broken on 32-bit
+arch="all !x86 !armhf !armv7"
+license="MIT"
+depends="bird"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/natesales/pathvector/archive/refs/tags/v$pkgver.tar.gz
+ pathvector.yml
+ "
+# require full setup with host routing in place
+options="!check"
+
+build() {
+ sed -i 's/\(version = "\)devel/\1'"$pkgver"'/g' main.go
+ go build -v
+}
+
+package() {
+ install -Dm755 pathvector "$pkgdir"/usr/bin/pathvector
+ install -Dm644 "$srcdir"/pathvector.yml "$pkgdir"/etc/pathvector.yml
+}
+
+sha512sums="
+34cd31b30b4ded02cd01aeee96a6f7eddff0feb372cd9d5eda51dd77b87b50286ecb5585789851838afc0e47cbd6739e1dad9120b06ad4489470a380014757fc pathvector-6.3.2.tar.gz
+8c446535089ecfca6aaaa335dda2567a17224761f5daa6d8bea68981ad0cfb32d7e40a12691953f06d1e24b08bc131bf9ad2468389a8e5058c056202056f94cd pathvector.yml
+"
diff --git a/testing/pathvector/pathvector.yml b/testing/pathvector/pathvector.yml
new file mode 100644
index 00000000000..d9645a0deec
--- /dev/null
+++ b/testing/pathvector/pathvector.yml
@@ -0,0 +1 @@
+bird-socket: /run/bird.ctl
diff --git a/testing/pavucontrol-qt/APKBUILD b/testing/pavucontrol-qt/APKBUILD
deleted file mode 100644
index b9667efd907..00000000000
--- a/testing/pavucontrol-qt/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=pavucontrol-qt
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Pulseaudio mixer in Qt (port of pavucontrol)"
-url="https://github.com/lxqt/pavucontrol-qt"
-arch="all !armhf !mips64" # blocked by liblxqt-dev
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools liblxqt-dev
- qt5-qttools-dev pulseaudio-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/pavucontrol-qt/releases/download/$pkgver/pavucontrol-qt-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-10e03572287a468b2c8062098edab1e5783a6b02ec3629ff0d65f87a8dbe2e490752d9edfdba1f0886165302ec9da615467344ae6b7fa97afde63491e193df89 pavucontrol-qt-1.0.0.tar.xz
-"
diff --git a/testing/pcaudiolib/APKBUILD b/testing/pcaudiolib/APKBUILD
deleted file mode 100644
index d1d00ea978b..00000000000
--- a/testing/pcaudiolib/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Dekedro <dekedro@tankers.xyz>
-# Maintainer: Dekedro <dekedro@tankers.xyz>
-pkgname=pcaudiolib
-pkgver=1.2
-pkgrel=0
-pkgdesc="C API to different audio devices"
-url="https://github.com/espeak-ng/pcaudiolib"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="alsa-lib-dev autoconf automake libtool"
-subpackages="$pkgname-dev"
-options="!check" # no tests
-source="$pkgname-$pkgver.tar.gz::https://github.com/espeak-ng/pcaudiolib/archive/refs/tags/$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-0a0fe2a21a8410ad5196272cc579137764d5a4beba16b3c5cf46cd2967132bb48def4c7977a7ae48ff1a0a6d53e454affc6c5add503e73e7805f15aa93231af3 pcaudiolib-1.2.tar.gz
-"
diff --git a/testing/pcem/APKBUILD b/testing/pcem/APKBUILD
index 0b9ce5d9537..f97d6d0b9bc 100644
--- a/testing/pcem/APKBUILD
+++ b/testing/pcem/APKBUILD
@@ -2,22 +2,22 @@
# Maintainer: Vladimir Luzan <vluzan@disroot.org>
pkgname=pcem
pkgver=17
-pkgrel=0
+pkgrel=2
pkgdesc="Retro PC emulator"
url="http://pcem-emulator.co.uk"
# not supported due to pcem specifics
-arch="all !aarch64 !armv7 !armhf !ppc64le !s390x !mips !mips64 !riscv64"
+arch="all !aarch64 !armv7 !armhf !ppc64le !s390x !riscv64"
license="GPL-2.0-only"
-makedepends="wxgtk-dev openal-soft-dev sdl2-dev alsa-lib-dev make autoconf automake"
+makedepends="wxwidgets-dev openal-soft-dev sdl2-dev alsa-lib-dev make autoconf automake"
source="http://pcem-emulator.co.uk/files/PCemV${pkgver}Linux.tar.gz"
-
prepare() {
default_prepare
autoreconf
}
build() {
+ CPPFLAGS="$CPPFLAGS -flto=auto" \
./configure \
--build=$CBUILD \
--host=$CHOST \
diff --git a/testing/pcl/APKBUILD b/testing/pcl/APKBUILD
index d56a3bfbc76..e7ba223769f 100644
--- a/testing/pcl/APKBUILD
+++ b/testing/pcl/APKBUILD
@@ -1,75 +1,105 @@
# Contributor: Bradley J Chambers <brad.chambers@gmail.com>
-# Maintainer: Bradley J Chambers <brad.chambers@gmail.com>
+# Maintainer: Daniel Tobon <danieltobonco@gmail.com>
pkgname=pcl
-pkgver=1.8.1
-pkgrel=8
+pkgver=1.13.1
+pkgrel=1
+_gtestver=1.12.1
pkgdesc="Point Cloud Library (PCL)"
-url="https://github.com/PointCloudLibrary/pcl"
+url="https://pointclouds.org"
arch="all !x86 !s390x" # tests fails on x86 and s390x
-arch="" # Fails to build with new boost
license="BSD-3-Clause"
-makedepends="cmake eigen-dev boost-dev flann-dev"
-subpackages="$pkgname-dev"
-_gtestver=1.8.0
-source="$pkgname-$pkgver.tar.gz::https://github.com/PointCloudLibrary/$pkgname/archive/$pkgname-$pkgver.tar.gz
- release-$_gtestver.tar.gz::https://github.com/google/googletest/archive/release-$_gtestver.tar.gz
- gcc8.patch"
-builddir="$srcdir/$pkgname-$pkgname-$pkgver"
+depends_dev="
+ boost-dev
+ eigen-dev
+ flann-dev
+ hdf5-dev
+ libpcap-dev
+ libusb-dev
+ mesa-dev
+ qhull-dev
+ qhull-static
+ qt5-qtbase-dev
+ vtk-dev
+ freeglut-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ samurai
+ "
+subpackages="$pkgname-dev $pkgname-libs"
+source="$pkgname-$pkgver.tar.gz::https://github.com/PointCloudLibrary/pcl/releases/download/pcl-$pkgver/source.tar.gz
+ gtest-release-$_gtestver.tar.gz::https://github.com/google/googletest/archive/release-$_gtestver.tar.gz
+ fix-broken-flags.patch
+ "
+builddir="$srcdir/pcl"
build() {
- mkdir build && cd build
-
- local disable_segtests=
case "$CARCH" in
- ppc64le | aarch64) disable_segtests="-DBUILD_tests_segmentation=OFF"
+ ppc64le|aarch64)
+ local disable_segtests="-DBUILD_tests_segmentation=OFF"
+ ;;
esac
# Five tests are disabled below. This is in keeping with PCL's own
# Appveyor configuration
# (https://github.com/PointCloudLibrary/pcl/blob/master/.appveyor.yml),
# and is due to a list of test failures that are documented in issues
# #1702, #1719, #1921, and #2136.
- cmake .. \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
-DWITH_CUDA=OFF \
-DWITH_DAVIDSDK=OFF \
-DWITH_DSSDK=OFF \
-DWITH_ENSENSO=OFF \
-DWITH_FZAPI=OFF \
- -DWITH_LIBUSB=OFF \
- -DWITH_OPENGL=OFF \
- -DWITH_OPENNI=OFF \
+ -DWITH_LIBUSB=ON \
+ -DWITH_OPENGL=ON \
-DWITH_OPENNI2=OFF \
- -DWITH_PCAP=OFF \
- -DWITH_PNG=OFF \
- -DWITH_QHULL=OFF \
- -DWITH_QT=OFF \
- -DWITH_VTK=OFF \
- -DBUILD_global_tests=ON \
- -DBUILD_examples=OFF \
- -DBUILD_tools=ON \
+ -DWITH_OPENNI=OFF \
+ -DWITH_PCAP=ON \
+ -DWITH_PNG=ON \
+ -DWITH_QHULL=ON \
+ -DWITH_QT=ON \
+ -DWITH_VTK=ON \
-DBUILD_apps=OFF \
+ -DBUILD_examples=OFF \
+ -DBUILD_global_tests="$(want_check && echo ON || echo OFF)" \
+ -DBUILD_simulation=ON \
-DBUILD_tests_common=OFF \
-DBUILD_tests_features=OFF \
-DBUILD_tests_filters=OFF \
-DBUILD_tests_io=OFF \
- $disable_segtests \
-DBUILD_tests_registration=OFF \
- -DGTEST_SRC_DIR=$srcdir/googletest-release-$_gtestver/googletest \
- -DGTEST_INCLUDE_DIR=$srcdir/googletest-release-$_gtestver/googletest/include
- make
+ -DBUILD_tools=ON \
+ -DGTEST_SRC_DIR="$srcdir"/googletest-release-$_gtestver/googletest \
+ -DGTEST_INCLUDE_DIR="$srcdir"/googletest-release-$_gtestver/googletest/include \
+ -DVTK_RENDERING_BACKEND=OpenGL2 \
+ -DPCL_ENABLE_MARCHNATIVE=OFF \
+ -DPCL_ENABLE_AVX=OFF \
+ -DPCL_ENABLE_SSE=ON \
+ $disable_segtests
+ cmake --build build
+}
+
+dev() {
+ default_dev
+
+ amove usr/share
}
package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
check() {
- cd "$builddir"/build
- ctest -E a_octree_test # Fails on drone-ci aarch64
+ cd build
+ ctest --output-on-failure
}
-sha512sums="9e7c87fb750a176712f08d215a906012c9e8174b687bbc8c08fa65de083b4468951bd8017b10409015d5eff0fc343885d2aae5c340346118b1a251af7bdd5cd7 pcl-1.8.1.tar.gz
-1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d release-1.8.0.tar.gz
-16b3ca34fe31a3a7c9b1eefe818e963eda483b8d18a40e766306aaa653dd5d6072cd5dacb16c49e8905309ba179d0defb90c42aad1a3fb6c2d9fbde9b12e9ebc gcc8.patch"
+sha512sums="
+0259b6c4b63976847e41c45b17a00fcc64d8be53106d1edbaf4c06f7665cd71383f2b9d3676ca45f0ace0aa131feaf760e640a7849c450300048ef274174dd80 pcl-1.13.1.tar.gz
+a9104dc6c53747e36e7dd7bb93dfce51a558bd31b487a9ef08def095518e1296da140e0db263e0644d9055dbd903c0cb69380cb2322941dbfb04780ef247df9c gtest-release-1.12.1.tar.gz
+f866bf3c5eb8cf02b3531dff527f103b2f9c2bb454df6455b66e6d2f425e37d938f86efe7ba534d09a5f10a2830178e01853dc73769775d1faa9d049a5c5cc4b fix-broken-flags.patch
+"
diff --git a/testing/pcl/fix-broken-flags.patch b/testing/pcl/fix-broken-flags.patch
new file mode 100644
index 00000000000..cfea6d81a7f
--- /dev/null
+++ b/testing/pcl/fix-broken-flags.patch
@@ -0,0 +1,30 @@
+if any cxxflags are set it skips all the checks
+--
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 51879ed..b918570 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -101,7 +101,7 @@ endif()
+
+ # check for SSE flags
+ include("${PCL_SOURCE_DIR}/cmake/pcl_find_sse.cmake")
+-if(PCL_ENABLE_SSE AND "${CMAKE_CXX_FLAGS}" STREQUAL "${CMAKE_CXX_FLAGS_DEFAULT}")
++if(PCL_ENABLE_SSE)
+ PCL_CHECK_FOR_SSE()
+ endif()
+
+@@ -113,14 +113,12 @@ endif()
+
+ # ---[ Unix/Darwin/Windows specific flags
+ if(CMAKE_COMPILER_IS_GNUCXX)
+- if("${CMAKE_CXX_FLAGS}" STREQUAL "${CMAKE_CXX_FLAGS_DEFAULT}")
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7)
+ string(APPEND CMAKE_CXX_FLAGS " -Wabi=11")
+ else()
+ string(APPEND CMAKE_CXX_FLAGS " -Wabi")
+ endif()
+ string(APPEND CMAKE_CXX_FLAGS " -Wall -Wextra -fno-strict-aliasing ${SSE_FLAGS} ${AVX_FLAGS}")
+- endif()
+
+ if(PCL_WARNINGS_ARE_ERRORS)
+ string(APPEND CMAKE_CXX_FLAGS " -Werror -fno-strict-aliasing")
diff --git a/testing/pcl/gcc8.patch b/testing/pcl/gcc8.patch
deleted file mode 100644
index aec883a804c..00000000000
--- a/testing/pcl/gcc8.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From a0b3ce9ca5c69a945695c1c83dab7937a3d99b83 Mon Sep 17 00:00:00 2001
-From: Jochen Sprickerhof <git@jochen.sprickerhof.de>
-Date: Sat, 5 May 2018 23:58:13 +0200
-Subject: [PATCH] Dereference shared_ptr, fix for GCC8
-
----
- segmentation/include/pcl/segmentation/ground_plane_comparator.h | 2 +-
- .../include/pcl/segmentation/plane_coefficient_comparator.h | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/segmentation/include/pcl/segmentation/ground_plane_comparator.h b/segmentation/include/pcl/segmentation/ground_plane_comparator.h
-index e39354d7fd..f96f38bfb5 100644
---- a/segmentation/include/pcl/segmentation/ground_plane_comparator.h
-+++ b/segmentation/include/pcl/segmentation/ground_plane_comparator.h
-@@ -147,7 +147,7 @@ namespace pcl
- const std::vector<float>&
- getPlaneCoeffD () const
- {
-- return (plane_coeff_d_);
-+ return (*plane_coeff_d_);
- }
-
- /** \brief Set the tolerance in radians for difference in normal direction between neighboring points, to be considered part of the same plane.
-diff --git a/segmentation/include/pcl/segmentation/plane_coefficient_comparator.h b/segmentation/include/pcl/segmentation/plane_coefficient_comparator.h
-index 9c94813727..a21725a40c 100644
---- a/segmentation/include/pcl/segmentation/plane_coefficient_comparator.h
-+++ b/segmentation/include/pcl/segmentation/plane_coefficient_comparator.h
-@@ -141,7 +141,7 @@ namespace pcl
- const std::vector<float>&
- getPlaneCoeffD () const
- {
-- return (plane_coeff_d_);
-+ return (*plane_coeff_d_);
- }
-
- /** \brief Set the tolerance in radians for difference in normal direction between neighboring points, to be considered part of the same plane.
diff --git a/testing/pcmanfm-qt/APKBUILD b/testing/pcmanfm-qt/APKBUILD
deleted file mode 100644
index e2816c64969..00000000000
--- a/testing/pcmanfm-qt/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=pcmanfm-qt
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Qt port of pcmanfm"
-url="https://github.com/lxqt/pcmanfm-qt"
-arch="all !s390x !mips64 !armhf" # s390x blocked by libfm-qt
-license="LGPL-2.0-or-later"
-depends="desktop-file-utils paper-icon-theme lxmenu-data"
-makedepends="
- cmake lxqt-build-tools menu-cache-dev
- qt5-qttools-dev libfm-qt-dev libexif-dev
- "
-subpackages="$pkgname-doc"
-source="https://github.com/lxqt/pcmanfm-qt/releases/download/$pkgver/pcmanfm-qt-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-66f8badf47f32482f880009e24b506ad409ac4a939d4cbc0b6b9adf29874a6d76e5c154e5611329007485fe9c34985be7f67a1ec769ea0e0a107d16d48f2fd7f pcmanfm-qt-1.0.0.tar.xz
-"
diff --git a/testing/pcsc-perl/APKBUILD b/testing/pcsc-perl/APKBUILD
index fa034e5f559..536f2f1a593 100644
--- a/testing/pcsc-perl/APKBUILD
+++ b/testing/pcsc-perl/APKBUILD
@@ -1,18 +1,18 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=pcsc-perl
-pkgver=1.4.14
-pkgrel=3
+pkgver=1.4.16
+pkgrel=0
pkgdesc="Perl library allows to communicate with a smart card using PC/SC"
-url="http://ludovic.rousseau.free.fr/softwares/pcsc-perl/"
+url="https://pcsc-perl.apdu.fr/"
arch="all"
license="GPL-2.0"
depends="perl"
makedepends="pcsc-lite-dev perl-dev"
-install=""
subpackages="$pkgname-doc"
-source="http://ludovic.rousseau.free.fr/softwares/pcsc-perl/pcsc-perl-$pkgver.tar.bz2"
+source="$pkgname-$pkgver.tar.gz::https://github.com/LudovicRousseau/pcsc-perl/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/pcsc-perl-$pkgver"
+options="!check" # no tests available
build() {
cd "$builddir"
@@ -26,4 +26,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="202aca1c122c8b91340411a4930f6d0d6f3d439d1783b7ad5e2a727bb015704045d66b5b5ba51f567672a6256606ad26e8390b9f243e329d6ccd05146edc229c pcsc-perl-1.4.14.tar.bz2"
+sha512sums="
+c91a742a220e391ac5d656850751241da1cc26b35680e949ebdc22d83ee7568207567d6af5daffc378052420bbc707cbc9e970250560667630e24fe3d5d34a8a pcsc-perl-1.4.16.tar.gz
+"
diff --git a/testing/pcsc-tools/APKBUILD b/testing/pcsc-tools/APKBUILD
index b3a8710963e..4d67d0b096f 100644
--- a/testing/pcsc-tools/APKBUILD
+++ b/testing/pcsc-tools/APKBUILD
@@ -1,16 +1,16 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=pcsc-tools
-pkgver=1.5.8
+pkgver=1.7.1
pkgrel=0
pkgdesc="tools to test a PC/SC driver, card or reader or send commands"
-url="http://ludovic.rousseau.free.fr/softwares/pcsc-tools/"
+url="https://pcsc-tools.apdu.fr/"
arch="all"
license="GPL-2.0-or-later"
depends="pcsc-perl"
makedepends="pcsc-lite-dev"
subpackages="$pkgname-doc"
-source="http://ludovic.rousseau.free.fr/softwares/pcsc-tools/pcsc-tools-$pkgver.tar.bz2"
+source="https://pcsc-tools.apdu.fr/pcsc-tools-$pkgver.tar.bz2"
build() {
./configure \
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
-d7e1f6f46923be27d98ce4986e6b1d96cc1b04ae120f8dc1d5d96cca5c39564905bfbf3b42c99659bb4439f917c40fa6c946f3e40584595485a68209559c2016 pcsc-tools-1.5.8.tar.bz2
+fe60610122d05f97edf3462c9382b82c31ee75f1851db2d88088ebd378ea3f54b3112b1c1f59dd8315806f33b822e40f96d7bc186b8c5999ef339711f91136c0 pcsc-tools-1.7.1.tar.bz2
"
diff --git a/testing/pcsx2/APKBUILD b/testing/pcsx2/APKBUILD
new file mode 100644
index 00000000000..ee4938ada66
--- /dev/null
+++ b/testing/pcsx2/APKBUILD
@@ -0,0 +1,164 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=pcsx2
+pkgver=1.7.4819
+pkgrel=4
+_fastfloat=v5.2.0
+_glslang=11.12.0
+_gtest=v1.13.0
+_libchdr=54bfb871ccae31903b95a8feb7f2bf7121f304be
+_rcheevos=v10.7.1
+_patches=8519fdb0b28672cc4fd6ff3cacca5133a8e310bc
+pkgdesc="Playstation 2 emulator"
+url="https://github.com/PCSX2/pcsx2"
+# upstream limits
+arch="x86_64"
+license="GPL-3.0-or-later AND LGPL-3.0-or-later"
+makedepends="
+ alsa-lib-dev
+ clang
+ cmake
+ curl-dev
+ eudev-dev
+ extra-cmake-modules
+ ffmpeg-dev
+ glslang-dev
+ libaio-dev
+ libpcap-dev
+ libpng-dev
+ libzip-dev
+ lld
+ llvm
+ pulseaudio-dev
+ qt6-qtbase-dev
+ qt6-qttools-dev
+ rapidyaml-dev
+ samurai
+ sdl2-dev
+ vulkan-headers
+ vulkan-loader-dev
+ wayland-dev
+ zip
+ zstd-dev
+ "
+checkdepends="perl"
+source="https://github.com/PCSX2/pcsx2/archive/refs/tags/v$pkgver/pcsx2-v$pkgver.tar.gz
+ fastfloat-$_fastfloat.tar.gz::https://github.com/fastfloat/fast_float/archive/$_fastfloat.tar.gz
+ glslang-$_glslang.tar.gz::https://github.com/KhronosGroup/glslang/archive/$_glslang.tar.gz
+ gtest-$_gtest.tar.gz::https://github.com/google/googletest/archive/$_gtest.tar.gz
+ libchdr-$_libchdr.tar.gz::https://github.com/rtissera/libchdr/archive/$_libchdr.tar.gz
+ rcheevos-$_rcheevos.tar.gz::https://github.com/RetroAchievements/rcheevos/archive/$_rcheevos.tar.gz
+ pcsx2_patches-$_patches.tar.gz::https://github.com/PCSX2/pcsx2_patches/archive/$_patches.tar.gz
+ fmt-9.1.0.tar.gz::https://github.com/fmtlib/fmt/archive/refs/tags/9.1.0.tar.gz
+ fast-float.patch
+ fix-lfs64.patch
+ unbundle-vulkan.patch
+ ryml.patch
+ version.patch
+ zstd.patch
+
+ PCSX2.desktop
+ "
+
+prepare() {
+ default_prepare
+
+ rmdir 3rdparty/glslang/glslang
+ rmdir 3rdparty/gtest
+ rmdir 3rdparty/libchdr/libchdr
+ rmdir 3rdparty/rcheevos/rcheevos
+ rmdir 3rdparty/fmt/fmt
+
+ rm -r 3rdparty/ffmpeg
+
+ ln -sfv "$srcdir"/glslang-${_glslang/v/} \
+ "$builddir"/3rdparty/glslang/glslang
+ ln -sfv "$srcdir"/googletest-${_gtest/v/} \
+ "$builddir"/3rdparty/gtest
+ ln -sfv "$srcdir"/libchdr-$_libchdr \
+ "$builddir"/3rdparty/libchdr/libchdr
+ ln -sfv "$srcdir"/rcheevos-${_rcheevos/v/} \
+ "$builddir"/3rdparty/rcheevos/rcheevos
+
+ ln -sfv "$srcdir"/fast_float-${_fastfloat/v/} \
+ "$builddir"/3rdparty/fast_float
+
+ ln -sfv "$srcdir"/fmt-9.1.0 \
+ "$builddir"/3rdparty/fmt/fmt
+ sed -i \
+ -e "s|@@VERSION@@|$pkgver|g" \
+ -e "s|@@PKGREL@@|$pkgrel|g" \
+ cmake/Pcsx2Utils.cmake
+}
+
+build() {
+ export CC=clang
+ export CXX=clang++
+ export CFLAGS="$CFLAGS -flto=thin"
+ export CXXFLAGS="$CXXFLAGS -flto=thin -Wno-macro-redefined -Wno-deprecated-declarations"
+ export LDFLAGS="$LDFLAGS -fuse-ld=lld -Wl,--icf=safe,--gc-sections"
+
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DDISABLE_ADVANCE_SIMD=ON \
+ -DDISABLE_BUILD_DATE=ON \
+ -DENABLE_TESTS="$(want_check && echo ON || echo OFF)" \
+ -DCUBEB_API=ON \
+ -DUSE_ACHIEVEMENTS=ON \
+ -DUSE_DISCORD_PRESENCE=OFF \
+ -DUSE_LINKED_FFMPEG=ON \
+ -DUSE_SYSTEM_LIBS=ON \
+ -DUSE_VTUNE=OFF \
+ -DUSE_VULKAN=ON \
+ -DQT_BUILD=ON \
+ -DWAYLAND_API=ON \
+ -DX11_API=ON \
+ -DUSE_SYSTEM_FMT=OFF
+
+ cmake --build build --target all "$(want_check && echo unittests)"
+
+ cd "$srcdir"/pcsx2_patches-$_patches/patches/
+ zip -9 "$builddir"/patches.zip ./*.pnach
+}
+
+check() {
+ ctest --test-dir build/tests/ctest --output-on-failure
+}
+
+package() {
+ install -Dm644 bin/resources/icons/AppIconLarge.png \
+ "$pkgdir"/usr/share/icons/hicolor/256x256/apps/PCSX2.png
+ install -Dm644 "$srcdir"/PCSX2.desktop \
+ -t "$pkgdir"/usr/share/applications/
+
+ mkdir -p "$pkgdir"/usr/lib/
+
+ rm -f build/bin/*test*
+ cp -a build/bin "$pkgdir"/usr/lib/PCSX2
+
+ install -Dm644 patches.zip -t "$pkgdir"/usr/lib/PCSX2/resources/
+
+ install -Dm755 /dev/stdin "$pkgdir"/usr/bin/pcsx2 <<-EOF
+ #!/bin/sh
+ exec /usr/lib/PCSX2/pcsx2-qt "\$@"
+ EOF
+}
+
+sha512sums="
+2aee3f634e866561fa1c4a54e2f209df7fdc98585ba42de9d0e833fd2c261615c354dfae212b46fe99a97b3766362e43fd15ffb33d7f57e428d8e00715e35da3 pcsx2-v1.7.4819.tar.gz
+c703c7cba3c69775317c66a62ce145646fd7d3d063124501e3d6a7deebb8c62c14a2ccdffed18de2d73d9d3a8ba2061ef1d34cc780ee0b6d607935d5f1b1de81 fastfloat-v5.2.0.tar.gz
+fd955f9912551668056dfe52835eef11e5dc0bf0d25b2d961a31f684adbd63bc6380759944c1921cfd63d359a58c7cc3a4a4d5eea69fa1b050f58960e5101271 glslang-11.12.0.tar.gz
+70c0cfb1b4147bdecb467ecb22ae5b5529eec0abc085763213a796b7cdbd81d1761d12b342060539b936fa54f345d33f060601544874d6213fdde79111fa813e gtest-v1.13.0.tar.gz
+ce993e00b78e972bb1c5745594213254966ca1ae43cc11917e22355d95c056e4f6b067f201cbeadce9ba75567063e45d459ed2564acb72fec5db4c0708f751b1 libchdr-54bfb871ccae31903b95a8feb7f2bf7121f304be.tar.gz
+65c1c65328974afb21962ed0a6b73702b0eeefb93d3ca3a1d1d517864cc71f6d154578bd19df153da871791b5bd511e69f7f4db1a2178e14e9bc0df7d25b17e9 rcheevos-v10.7.1.tar.gz
+a31b379639b1db97c08034004fe1f2d1ca66b6bbce3c5688da487b2028303bb6fcbc8229f064e132cf18a711ac6248805b8ce6368305cc302a7956ca70355a38 pcsx2_patches-8519fdb0b28672cc4fd6ff3cacca5133a8e310bc.tar.gz
+a18442042722dd48e20714ec034a12fcc0576c9af7be5188586970e2edf47529825bdc99af366b1d5891630c8dbf6f63bfa9f012e77ab3d3ed80d1a118e3b2be fmt-9.1.0.tar.gz
+20624d3e46b956a5f0339b569891824b7a9321f4395c572393d42f7520d93b30b6e6bb8af90b5d6c52cbcaf2d82eb386bec3943532c5f1d8303c8b50938cd89b fast-float.patch
+e6e7964e36274372c3b9c67acd66a29b8ae7f4be1503959deb8284d427cddb5ea5bb534aad35f53073e8983bcb319d90b1127fe5dd6b8bd6bb1f3f8f306fcf0c fix-lfs64.patch
+461f184cc3b5c76539247db66fb0a364edbddc3d434869ff1641e723c6d962115cfa190be5e95205f31108ed47be0db6abf54c92d9875589ac978e73a29a379c unbundle-vulkan.patch
+151db2f789bd19937b7c78ac883388d672af0f5c38693b187311dd43d699703a8b36d9ace6d8db40e19d6cb8549a9b14a0842c4217c7eddfd547fc61f05c045c ryml.patch
+113f0e80c7975985d65c90acd2b4c9a4487d0c9f240178500feac512808b836d6ae36343895a4ef4f16d91364eeee4f0a3aa4ecc17708facdaf0cb430b5e9a71 version.patch
+8a55a976188f53d8cab18a78cecbc2d34692411801126fb9432874ba26ef0245819d2980355beed4763b8496a2497330902ad5de7c288a3acb8837b305fe4a04 zstd.patch
+bdc23c2773e1b963b06c0a51e3685b0a86db7dfe5cb2dd3e0cad4dd6f72aab2abef7eb421c8fb0f5303fae5c7ffb265eaa3a6e470998943aed54527bbb4d676c PCSX2.desktop
+"
diff --git a/testing/pcsx2/PCSX2.desktop b/testing/pcsx2/PCSX2.desktop
new file mode 100644
index 00000000000..46a90e612c9
--- /dev/null
+++ b/testing/pcsx2/PCSX2.desktop
@@ -0,0 +1,15 @@
+[Desktop Entry]
+Version=1.0
+Terminal=false
+Type=Application
+Name=PCSX2
+StartupWMClass=PCSX2
+GenericName=PlayStation 2 Emulator
+GenericName[zh_CN]=PlayStation 2 模拟器
+Comment=Sony PlayStation 2 emulator
+Comment[ru]=ЭмулÑтор Sony PlayStation 2
+Comment[zh_CN]=索尼 PlayStation 2 模拟器
+Exec=pcsx2
+Icon=PCSX2
+Keywords=game;emulator;
+Categories=Game;Emulator;
diff --git a/testing/pcsx2/fast-float.patch b/testing/pcsx2/fast-float.patch
new file mode 100644
index 00000000000..28f1163bead
--- /dev/null
+++ b/testing/pcsx2/fast-float.patch
@@ -0,0 +1,14 @@
+we use system ryml so the checkouts are missing, just pull it directly.
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index ea84fd6..33b6250 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -177,7 +177,7 @@ add_subdirectory(3rdparty/libchdr EXCLUDE_FROM_ALL)
+ # for now.
+ #add_subdirectory(3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float EXCLUDE_FROM_ALL)
+ add_library(fast_float INTERFACE)
+-target_include_directories(fast_float INTERFACE 3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float/include)
++target_include_directories(fast_float INTERFACE 3rdparty/fast_float/include)
+
+ add_subdirectory(3rdparty/jpgd EXCLUDE_FROM_ALL)
+ add_subdirectory(3rdparty/simpleini EXCLUDE_FROM_ALL)
diff --git a/testing/pcsx2/fix-lfs64.patch b/testing/pcsx2/fix-lfs64.patch
new file mode 100644
index 00000000000..98270bbe736
--- /dev/null
+++ b/testing/pcsx2/fix-lfs64.patch
@@ -0,0 +1,118 @@
+this also needs -D_FILE_OFFSET_BITS=64,
+but for musl specifically that doesn't matter
+--
+diff --git a/common/FileSystem.cpp b/common/FileSystem.cpp
+index a700e68..c8327b9 100644
+--- a/common/FileSystem.cpp
++++ b/common/FileSystem.cpp
+@@ -1488,17 +1488,10 @@ static u32 RecursiveFindFiles(const char* OriginPath, const char* ParentPath, co
+ FILESYSTEM_FIND_DATA outData;
+ outData.Attributes = 0;
+
+-#if defined(__HAIKU__) || defined(__APPLE__) || defined(__FreeBSD__)
+ struct stat sDir;
+ if (stat(full_path.c_str(), &sDir) < 0)
+ continue;
+
+-#else
+- struct stat64 sDir;
+- if (stat64(full_path.c_str(), &sDir) < 0)
+- continue;
+-#endif
+-
+ if (S_ISDIR(sDir.st_mode))
+ {
+ if (Flags & FILESYSTEM_FIND_RECURSIVE)
+@@ -1601,13 +1594,8 @@ bool FileSystem::StatFile(const char* path, FILESYSTEM_STAT_DATA* sd)
+ return false;
+
+ // stat file
+-#if defined(__HAIKU__) || defined(__APPLE__) || defined(__FreeBSD__)
+ struct stat sysStatData;
+ if (stat(path, &sysStatData) < 0)
+-#else
+- struct stat64 sysStatData;
+- if (stat64(path, &sysStatData) < 0)
+-#endif
+ return false;
+
+ // parse attributes
+@@ -1634,13 +1622,8 @@ bool FileSystem::StatFile(std::FILE* fp, FILESYSTEM_STAT_DATA* sd)
+ return false;
+
+ // stat file
+-#if defined(__HAIKU__) || defined(__APPLE__) || defined(__FreeBSD__)
+ struct stat sysStatData;
+ if (fstat(fd, &sysStatData) < 0)
+-#else
+- struct stat64 sysStatData;
+- if (fstat64(fd, &sysStatData) < 0)
+-#endif
+ return false;
+
+ // parse attributes
+@@ -1667,13 +1650,8 @@ bool FileSystem::FileExists(const char* path)
+ return false;
+
+ // stat file
+-#if defined(__HAIKU__) || defined(__APPLE__) || defined(__FreeBSD__)
+ struct stat sysStatData;
+ if (stat(path, &sysStatData) < 0)
+-#else
+- struct stat64 sysStatData;
+- if (stat64(path, &sysStatData) < 0)
+-#endif
+ return false;
+
+ if (S_ISDIR(sysStatData.st_mode))
+@@ -1689,13 +1667,8 @@ bool FileSystem::DirectoryExists(const char* path)
+ return false;
+
+ // stat file
+-#if defined(__HAIKU__) || defined(__APPLE__) || defined(__FreeBSD__)
+ struct stat sysStatData;
+ if (stat(path, &sysStatData) < 0)
+-#else
+- struct stat64 sysStatData;
+- if (stat64(path, &sysStatData) < 0)
+-#endif
+ return false;
+
+ if (S_ISDIR(sysStatData.st_mode))
+diff --git a/common/Linux/LnxHostSys.cpp b/common/Linux/LnxHostSys.cpp
+index 5b63cda..2ed3d81 100644
+--- a/common/Linux/LnxHostSys.cpp
++++ b/common/Linux/LnxHostSys.cpp
+@@ -243,12 +243,7 @@ void* HostSys::CreateSharedMemory(const char* name, size_t size)
+ // we're not going to be opening this mapping in other processes, so remove the file
+ shm_unlink(name);
+
+- // ensure it's the correct size
+-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+- if (ftruncate64(fd, static_cast<off64_t>(size)) < 0)
+-#else
+ if (ftruncate(fd, static_cast<off_t>(size)) < 0)
+-#endif
+ {
+ std::fprintf(stderr, "ftruncate64(%zu) failed: %d\n", size, errno);
+ return nullptr;
+diff --git a/pcsx2/Linux/LnxFlatFileReader.cpp b/pcsx2/Linux/LnxFlatFileReader.cpp
+index 2ecc9f2..dd1f045 100644
+--- a/pcsx2/Linux/LnxFlatFileReader.cpp
++++ b/pcsx2/Linux/LnxFlatFileReader.cpp
+@@ -100,15 +100,9 @@ void FlatFileReader::Close(void)
+
+ uint FlatFileReader::GetBlockCount(void) const
+ {
+-#if defined(__HAIKU__) || defined(__APPLE__) || defined(__FreeBSD__)
+ struct stat sysStatData;
+ if (fstat(m_fd, &sysStatData) < 0)
+ return 0;
+-#else
+- struct stat64 sysStatData;
+- if (fstat64(m_fd, &sysStatData) < 0)
+- return 0;
+-#endif
+
+ return (int)(sysStatData.st_size / m_blocksize);
+ }
diff --git a/testing/pcsx2/ryml.patch b/testing/pcsx2/ryml.patch
new file mode 100644
index 00000000000..881c545b298
--- /dev/null
+++ b/testing/pcsx2/ryml.patch
@@ -0,0 +1,13 @@
+diff --git a/pcsx2/GameDatabase.cpp b/pcsx2/GameDatabase.cpp
+index ad6a69f..542f95b 100644
+--- a/pcsx2/GameDatabase.cpp
++++ b/pcsx2/GameDatabase.cpp
+@@ -1038,7 +1038,7 @@ static bool parseHashDatabaseEntry(const c4::yml::NodeRef& node)
+ node["serial"] >> entry.serial;
+
+ const u32 index = static_cast<u32>(s_hash_database.size());
+- for (const ryml::NodeRef& n : node["hashes"].children())
++ for (const auto& n : node["hashes"].children())
+ {
+ if (!n.is_map() || !n.has_child("size") || !n.has_child("md5"))
+ {
diff --git a/testing/pcsx2/unbundle-vulkan.patch b/testing/pcsx2/unbundle-vulkan.patch
new file mode 100644
index 00000000000..46b800b9274
--- /dev/null
+++ b/testing/pcsx2/unbundle-vulkan.patch
@@ -0,0 +1,25 @@
+diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake
+index 5c81d98..746ed49 100644
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -187,7 +187,6 @@ endif()
+
+ if(USE_VULKAN)
+ add_subdirectory(3rdparty/glslang EXCLUDE_FROM_ALL)
+- add_subdirectory(3rdparty/vulkan-headers EXCLUDE_FROM_ALL)
+ endif()
+
+ if(CUBEB_API)
+diff --git a/pcsx2/CMakeLists.txt b/pcsx2/CMakeLists.txt
+index 2fe9606..9b9fc3f 100644
+--- a/pcsx2/CMakeLists.txt
++++ b/pcsx2/CMakeLists.txt
+@@ -664,7 +664,7 @@ if(USE_VULKAN)
+ GS/Renderers/Vulkan/VKTexture.h
+ GS/Renderers/Vulkan/VKUtil.h
+ )
+- target_link_libraries(PCSX2_FLAGS INTERFACE Vulkan-Headers glslang)
++ target_link_libraries(PCSX2_FLAGS INTERFACE glslang)
+ endif()
+
+ set(pcsx2GSMetalShaders
diff --git a/testing/pcsx2/version.patch b/testing/pcsx2/version.patch
new file mode 100644
index 00000000000..d131825e7b6
--- /dev/null
+++ b/testing/pcsx2/version.patch
@@ -0,0 +1,23 @@
+diff --git a/cmake/Pcsx2Utils.cmake b/cmake/Pcsx2Utils.cmake
+index 78a5ba4..eccd6d9 100644
+--- a/cmake/Pcsx2Utils.cmake
++++ b/cmake/Pcsx2Utils.cmake
+@@ -36,10 +36,14 @@ function(detectOperatingSystem)
+ endfunction()
+
+ function(get_git_version_info)
+- set(PCSX2_WC_TIME 0)
+- set(PCSX2_GIT_REV "")
+- set(PCSX2_GIT_TAG "")
+- set(PCSX2_GIT_HASH "")
++ set(PCSX2_WC_TIME 0 PARENT_SCOPE)
++ set(PCSX2_GIT_REV "" PARENT_SCOPE)
++ set(PCSX2_GIT_TAG "" PARENT_SCOPE)
++ set(PCSX2_GIT_HASH "" PARENT_SCOPE)
++ set(PCSX2_VERSION_LONG "@@VERSION@@-alpine-r@@PKGREL@@" PARENT_SCOPE)
++ set(PCSX2_VERSION_SHORT "@@VERSION@@" PARENT_SCOPE)
++ return()
++
+ if (GIT_FOUND AND EXISTS ${PROJECT_SOURCE_DIR}/.git)
+ EXECUTE_PROCESS(WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMAND ${GIT_EXECUTABLE} show -s --format=%ci HEAD
+ OUTPUT_VARIABLE PCSX2_WC_TIME
diff --git a/testing/pcsx2/zstd.patch b/testing/pcsx2/zstd.patch
new file mode 100644
index 00000000000..e4977c7e022
--- /dev/null
+++ b/testing/pcsx2/zstd.patch
@@ -0,0 +1,10 @@
+--- a/cmake/SearchForStuff.cmake
++++ b/cmake/SearchForStuff.cmake
+@@ -114,5 +114,2 @@
+-find_optional_system_library(zstd 3rdparty/zstd 1.4.5)
+-if (${zstd_TYPE} STREQUAL System)
+- alias_library(Zstd::Zstd zstd::libzstd_shared)
+- alias_library(pcsx2-zstd zstd::libzstd_shared)
+-endif()
++pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
++alias_library(Zstd::Zstd PkgConfig::zstd)
diff --git a/testing/pcsxr/APKBUILD b/testing/pcsxr/APKBUILD
deleted file mode 100644
index 16a5391bd79..00000000000
--- a/testing/pcsxr/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Contributor: Cág <ca6c@bitmessage.ch>
-# Maintainer
-pkgname=pcsxr
-pkgver=1.9.95
-pkgrel=4
-pkgdesc="Sony PlayStation emulator"
-url="https://pcsxr.codeplex.com/"
-arch="all !ppc64le"
-license="GPL-3.0-or-later"
-depends="libtxc_dxtn"
-makedepends="autoconf automake libtool intltool gtk+3.0-dev sdl2-dev mesa-dev
- libxv-dev libxtst-dev nasm libxxf86vm-dev libcdio-dev"
-subpackages="$pkgname-doc $pkgname-lang"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/frealgagu/PCSX-Reloaded/archive/$pkgver.tar.gz
- fix-assert-64bit.patch
- fix-undefined-operations.patch
- fix-uncompress2.patch
- fix-musl.patch
- "
-builddir="$srcdir/PCSX-Reloaded-$pkgver/pcsxr"
-
-prepare() {
- default_prepare
- mkdir include
- autoreconf -fi
- intltoolize --force
-}
-
-build() {
- export CFLAGS="$CFLAGS -O2 -fcommon"
- ./configure \
- --prefix=/usr \
- --enable-opengl \
- --enable-libcdio
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="950f5776f1cf11d31c44cb5f47ab2480a4302ee01af5fa6a3bac0a96936ac280649c9456d78ddf75c038a43977114a780b259467cee5da7f84b8802ca1ec86a1 pcsxr-1.9.95.tar.gz
-ddd349a5e7ad5fea809596ccf44e4963992a4a9f96316db4d3c8211bc9d22ef3830115cd7b3b09d1c4c05e6419d21b2e81695d876352ea00128728709f66d58e fix-assert-64bit.patch
-1918231c3411eb2cedc3d3766d48bd766ee7aaaae34b964aec791f1e50851c7b367eb823cf0434e26e7ea8928becb30f7fcc88d27bf990072e9f651637d1f44e fix-undefined-operations.patch
-62593bc0c9422b025fdbcf04bbeff49fa195c8807cc44bc74555ad4d970e07054427299aed65bed0f75487c98e3a68ae78be86eb77822b1cf54ba26ba0e3e5ba fix-uncompress2.patch
-af69e67b12d3398248dab36f79552bff59a8246ea4aecd66f8e0621b7a1c3f5c5f03a16dc9f91b6b520290b5f688cbf7a3d9f3dbd4819f5f89dd1a5c20ccfb78 fix-musl.patch"
diff --git a/testing/pcsxr/fix-assert-64bit.patch b/testing/pcsxr/fix-assert-64bit.patch
deleted file mode 100644
index beb35b598da..00000000000
--- a/testing/pcsxr/fix-assert-64bit.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pcsxr/libpcsxcore/ix86_64/ix86-64.c b/pcsxr/libpcsxcore/ix86_64/ix86-64.c
-index f48b742e..c69192e0 100644
---- a/libpcsxcore/ix86_64/ix86-64.c
-+++ b/libpcsxcore/ix86_64/ix86-64.c
-@@ -231,7 +231,6 @@ void x86SetJ8( u8* j8 )
-
- if ( jump > 0x7f ) {
- SysPrintf( "j8 greater than 0x7f!!\n" );
-- assert(0);
- }
- *j8 = (u8)jump;
- }
-
diff --git a/testing/pcsxr/fix-musl.patch b/testing/pcsxr/fix-musl.patch
deleted file mode 100644
index cb5a18d7dc5..00000000000
--- a/testing/pcsxr/fix-musl.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/plugins/dfinput/pad.c b/plugins/dfinput/pad.c
-index bd3aef7..2a01910 100644
---- a/plugins/dfinput/pad.c
-+++ b/plugins/dfinput/pad.c
-@@ -16,6 +16,8 @@
- * along with this program; if not, see <http://www.gnu.org/licenses>.
- */
-
-+#include <fcntl.h>
-+
- #include "pad.h"
- #if !SDL_VERSION_ATLEAST(2,0,0) && defined(__linux__)
- #include <linux/input.h>
-
diff --git a/testing/pcsxr/fix-uncompress2.patch b/testing/pcsxr/fix-uncompress2.patch
deleted file mode 100644
index 439f2c5adf0..00000000000
--- a/testing/pcsxr/fix-uncompress2.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/pcsxr/libpcsxcore/cdriso.c b/pcsxr/libpcsxcore/cdriso.c
-index b7eedea2..8ad16d15 100644
---- a/libpcsxcore/cdriso.c
-+++ b/libpcsxcore/cdriso.c
-@@ -1146,7 +1146,7 @@ static int cdread_sub_mixed(FILE *f, unsigned int base, void *dest, int sector)
- return ret;
- }
-
--static int uncompress2(void *out, unsigned long *out_size, void *in, unsigned long in_size)
-+static int uncompress2_internal(void *out, unsigned long *out_size, void *in, unsigned long in_size)
- {
- static z_stream z;
- int ret = 0;
-@@ -1225,7 +1225,7 @@ static int cdread_compressed(FILE *f, unsigned int base, void *dest, int sector)
- if (is_compressed) {
- cdbuffer_size_expect = sizeof(compr_img->buff_raw[0]) << compr_img->block_shift;
- cdbuffer_size = cdbuffer_size_expect;
-- ret = uncompress2(compr_img->buff_raw[0], &cdbuffer_size, compr_img->buff_compressed, size);
-+ ret = uncompress2_internal(compr_img->buff_raw[0], &cdbuffer_size, compr_img->buff_compressed, size);
- if (ret != 0) {
- SysPrintf("uncompress failed with %d for block %d, sector %d\n",
- ret, block, sector);
-
diff --git a/testing/pcsxr/fix-undefined-operations.patch b/testing/pcsxr/fix-undefined-operations.patch
deleted file mode 100644
index cd15906a02d..00000000000
--- a/testing/pcsxr/fix-undefined-operations.patch
+++ /dev/null
@@ -1,194 +0,0 @@
-diff --git a/pcsxr/plugins/peopsxgl/texture.c b/pcsxr/plugins/peopsxgl/texture.c
-index 8d8fb41b..0d313b97 100644
---- a/plugins/peopsxgl/texture.c
-+++ b/plugins/peopsxgl/texture.c
-@@ -1002,7 +1002,10 @@ void LoadStretchPackedWndTexturePage(int pageid, int mode, short cx, short cy)
- if(ldy)
- {ldy--;
- for(TXU=g_x1;TXU<=g_x2;TXU++)
-- *ta++=*(ta-(g_x2-g_x1));
-+ {
-+ *ta=*(ta-(g_x2-g_x1));
-+ ta++;
-+ }
- }
- }
-
-@@ -1079,7 +1082,10 @@ void LoadStretchPackedWndTexturePage(int pageid, int mode, short cx, short cy)
- if(ldy)
- {ldy--;
- for(TXU=g_x1;TXU<=g_x2;TXU++)
-- *ta++=*(ta-(g_x2-g_x1));
-+ {
-+ *ta=*(ta-(g_x2-g_x1));
-+ ta++;
-+ }
- }
-
- }
-@@ -1204,7 +1210,10 @@ void LoadStretchWndTexturePage(int pageid, int mode, short cx, short cy)
- if(ldy)
- {ldy--;
- for(TXU=g_x1;TXU<=g_x2;TXU++)
-- *ta++=*(ta-(g_x2-g_x1));
-+ {
-+ *ta=*(ta-(g_x2-g_x1));
-+ ta++;
-+ }
- }
- }
-
-@@ -1288,7 +1297,10 @@ void LoadStretchWndTexturePage(int pageid, int mode, short cx, short cy)
- if(ldy)
- {ldy--;
- for(TXU=g_x1;TXU<=g_x2;TXU++)
-- *ta++=*(ta-(g_x2-g_x1));
-+ {
-+ *ta=*(ta-(g_x2-g_x1));
-+ ta++;
-+ }
- }
-
- }
-@@ -2247,14 +2259,19 @@ GLuint LoadTextureMovie(void)
- lu=*((uint32_t *)pD);pD+=3;
- *ta++=XMBLUE(lu)|XMGREEN(lu)|XMRED(lu)|1;
- }
-- *ta++=*(ta-1);
-+ *ta=*(ta-1);
-+ ta++;
- }
- if(b_Y)
- {
- dx=xrMovieArea.x1-xrMovieArea.x0+1;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
-- *ta++=*(ta-dx);
-- *ta++=*(ta-1);
-+ {
-+ *ta=*(ta-dx);
-+ ta++;
-+ }
-+ *ta=*(ta-1);
-+ ta++;
- }
- }
- else
-@@ -2273,7 +2290,10 @@ GLuint LoadTextureMovie(void)
- {
- dx=xrMovieArea.x1-xrMovieArea.x0;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
-- *ta++=*(ta-dx);
-+ {
-+ *ta=*(ta-dx);
-+ ta++;
-+ }
- }
- }
- }
-@@ -2296,14 +2316,19 @@ GLuint LoadTextureMovie(void)
- *ta++=((c&0x1f)<<11)|((c&0x3e0)<<1)|((c&0x7c00)>>9)|1;
- }
-
-- *ta++=*(ta-1);
-+ *ta=*(ta-1);
-+ ta++;
- }
- if(b_Y)
- {
- dx=xrMovieArea.x1-xrMovieArea.x0+1;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
-- *ta++=*(ta-dx);
-- *ta++=*(ta-1);
-+ {
-+ *ta=*(ta-dx);
-+ ta++;
-+ }
-+ *ta=*(ta-1);
-+ ta++;
- }
- }
- else
-@@ -2321,7 +2346,10 @@ GLuint LoadTextureMovie(void)
- {
- dx=xrMovieArea.x1-xrMovieArea.x0;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
-- *ta++=*(ta-dx);
-+ {
-+ *ta=*(ta-dx);
-+ ta++;
-+ }
- }
- }
- }
-@@ -2347,14 +2375,19 @@ GLuint LoadTextureMovie(void)
- *ta++=*((uint32_t *)pD)|0xff000000;
- pD+=3;
- }
-- *ta++=*(ta-1);
-+ *ta=*(ta-1);
-+ ta++;
- }
- if(b_Y)
- {
- dx=xrMovieArea.x1-xrMovieArea.x0+1;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
-- *ta++=*(ta-dx);
-- *ta++=*(ta-1);
-+ {
-+ *ta=*(ta-dx);
-+ ta++;
-+ }
-+ *ta=*(ta-1);
-+ ta++;
- }
- }
- else
-@@ -2373,7 +2406,10 @@ GLuint LoadTextureMovie(void)
- {
- dx=xrMovieArea.x1-xrMovieArea.x0;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
-- *ta++=*(ta-dx);
-+ {
-+ *ta=*(ta-dx);
-+ ta++;
-+ }
- }
- }
- }
-@@ -2394,15 +2430,20 @@ GLuint LoadTextureMovie(void)
- startxy=((1024)*column)+xrMovieArea.x0;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
- *ta++=LTCOL(psxVuw[startxy++]|0x8000);
-- *ta++=*(ta-1);
-+ *ta=*(ta-1);
-+ ta++;
- }
-
- if(b_Y)
- {
- dx=xrMovieArea.x1-xrMovieArea.x0+1;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
-- *ta++=*(ta-dx);
-- *ta++=*(ta-1);
-+ {
-+ *ta=*(ta-dx);
-+ ta++;
-+ }
-+ *ta=*(ta-1);
-+ ta++;
- }
- }
- else
-@@ -2418,7 +2459,10 @@ GLuint LoadTextureMovie(void)
- {
- dx=xrMovieArea.x1-xrMovieArea.x0;
- for(row=xrMovieArea.x0;row<xrMovieArea.x1;row++)
-- *ta++=*(ta-dx);
-+ {
-+ *ta=*(ta-dx);
-+ ta++;
-+ }
- }
- }
- }
-
diff --git a/testing/pdal-python-plugins/APKBUILD b/testing/pdal-python-plugins/APKBUILD
new file mode 100644
index 00000000000..0559605a6e3
--- /dev/null
+++ b/testing/pdal-python-plugins/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Brian Vuyk <bvuyk@sama.com>
+# Maintainer: Brian Vuyk <bvuyk@sama.com>
+pkgname=pdal-python-plugins
+pkgver=1.2.1
+pkgrel=3
+pkgdesc="Supports embedding Python in PDAL pipelines with the readers.numpy and filters.python drivers."
+url="https://github.com/PDAL/python-plugins"
+arch="aarch64 armhf armv7 ppc64le riscv64 x86 x86_64" # Exclude s390x due to test failures.
+license="BSD-3-Clause"
+depends="python3 py3-numpy"
+checkdepends="pdal"
+makedepends="cmake pdal-dev py3-numpy-dev python3-dev py3-setuptools py3-packaging py3-scikit-build ninja"
+source="https://files.pythonhosted.org/packages/source/p/pdal-plugins/pdal-plugins-1.2.1.tar.gz"
+builddir="$srcdir/pdal-plugins-$pkgver"
+
+build() {
+ python3 setup.py build -DWITH_TESTS=ON
+}
+
+check() {
+ export PDAL_DRIVER_PATH=$(python3 -c "import os, skbuild; print(os.path.join(skbuild.constants.SKBUILD_DIR(), 'cmake-build'))")
+ pdal --drivers
+ $PDAL_DRIVER_PATH/pdal_filters_python_test
+ $PDAL_DRIVER_PATH/pdal_io_numpy_test
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+328bb1960c823e442f08e3b3f7aca0e98a0755bc4fd655ad57d4efa202ecab4fc034ce85bb8015e7d0f0b13f4556b25cc9fb18d9f1b4281dbf65c23e21b2e577 pdal-plugins-1.2.1.tar.gz
+"
diff --git a/testing/pdf2svg/APKBUILD b/testing/pdf2svg/APKBUILD
index b2586b415cf..cf985862f56 100644
--- a/testing/pdf2svg/APKBUILD
+++ b/testing/pdf2svg/APKBUILD
@@ -2,7 +2,7 @@
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=pdf2svg
pkgver=0.2.3
-pkgrel=0
+pkgrel=1
pkgdesc="A simple PDF to SVG converter using Poppler and Cairo"
url="http://www.cityinthesky.co.uk/opensource/pdf2svg/"
arch="all"
diff --git a/testing/pdfarranger/APKBUILD b/testing/pdfarranger/APKBUILD
deleted file mode 100644
index 81350713992..00000000000
--- a/testing/pdfarranger/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=pdfarranger
-pkgver=1.8.2
-pkgrel=0
-pkgdesc="Helps merge or split PDF documents and rotate, crop and rearrange pages"
-url="https://github.com/jeromerobert/pdfarranger"
-arch="noarch"
-license="GPL-3.0-or-later"
-depends="desktop-file-utils ghostscript gsettings-desktop-schemas
- gtk+3.0 poppler-glib py3-atspi py3-cairo py3-dateutil py3-gobject3
- py3-img2pdf>=0.3.4 py3-pikepdf>=1.17.0"
-makedepends="py3-setuptools py3-distutils-extra intltool"
-options="!check" # tests require dogtail package
-subpackages="$pkgname-lang $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/jeromerobert/pdfarranger/archive/$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --root="$pkgdir" --optimize=1
-}
-
-sha512sums="
-e0b1ed59158681766e6b707a207363a8ccd38bdc76311600d338ef443e0ee79405af6afb65b878a68d7e52d2ea35f6a7aa700d9aaf46b31bcf64fd863c8784f2 pdfarranger-1.8.2.tar.gz
-"
diff --git a/testing/pdfcpu/APKBUILD b/testing/pdfcpu/APKBUILD
new file mode 100644
index 00000000000..7eadda12d22
--- /dev/null
+++ b/testing/pdfcpu/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=pdfcpu
+pkgver=0.7.0
+pkgrel=1
+pkgdesc="PDF processor written in Go"
+url="https://pdfcpu.io"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+options="!check" # test suite fails
+source="$pkgname-$pkgver.tar.gz::https://github.com/pdfcpu/pdfcpu/archive/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o bin/pdfcpu ./cmd/...
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/pdfcpu "$pkgdir"/usr/bin/pdfcpu
+}
+
+sha512sums="
+fa58580f2ee8ba128083ead7acf3653182df127304d72c15693b0e48af80b229e44a57f51dc48b59a1483a4ad5181bb4870a28a9e39dd9db652ac0c55c2654ec pdfcpu-0.7.0.tar.gz
+"
diff --git a/testing/pdfcrack/APKBUILD b/testing/pdfcrack/APKBUILD
index 3db8ef37973..c5957eba790 100644
--- a/testing/pdfcrack/APKBUILD
+++ b/testing/pdfcrack/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=pdfcrack
-pkgver=0.19
+pkgver=0.20
pkgrel=0
pkgdesc="Command line, password recovery tool for PDF-files."
-url="http://pdfcrack.sourceforge.net/"
+url="https://pdfcrack.sourceforge.net/"
arch="all"
license="GPL-2.0"
options="!check"
@@ -21,4 +21,6 @@ package() {
install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
}
-sha512sums="e58819e7d90db9a66ebf9509c0b8aace7f8e7dbf5f8083edc70c3f2ca28cf16476bbdbaa77f7c563dcf824e440ca0df03e91d6aaf2a0435ec8f349f4e19ee626 pdfcrack-0.19.tar.gz"
+sha512sums="
+50298aeec8a50b929d1440ea644bacb6afad638552948112b3fb2744124188e0cb52f67a804d76b09f747040aea56eadbab88e90481be8fce8e8147ed4c00188 pdfcrack-0.20.tar.gz
+"
diff --git a/testing/pdfjs/APKBUILD b/testing/pdfjs/APKBUILD
deleted file mode 100644
index 59f5d9ca444..00000000000
--- a/testing/pdfjs/APKBUILD
+++ /dev/null
@@ -1,21 +0,0 @@
-# Contributor: Daniel Santana <daniel@santana.tech>
-# Maintainer: Daniel Santana <daniel@santana.tech>
-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/testing/pdm/APKBUILD b/testing/pdm/APKBUILD
new file mode 100644
index 00000000000..7edd267f531
--- /dev/null
+++ b/testing/pdm/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=pdm
+pkgver=2.12.4
+pkgrel=1
+pkgdesc="Modern Python package and dependency manager"
+url="https://pdm.fming.dev/"
+arch="noarch"
+license="MIT"
+depends="
+ py3-blinker
+ py3-cachecontrol
+ py3-certifi
+ py3-dep-logic
+ py3-dotenv
+ py3-findpython
+ py3-installer
+ py3-packaging
+ py3-platformdirs
+ py3-pyproject-hooks
+ py3-requests-toolbelt
+ py3-resolvelib
+ py3-rich
+ py3-shellingham
+ py3-tomlkit
+ py3-truststore
+ py3-unearth
+ py3-virtualenv
+ "
+makedepends="py3-pdm-backend py3-gpep517 py3-installer"
+checkdepends="
+ bash
+ py3-pytest
+ py3-pytest-httpserver
+ py3-pytest-mock
+ py3-pytest-rerunfailures
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/pdm-project/pdm/archive/$pkgver/pdm-$pkgver.tar.gz"
+
+build() {
+ export PDM_BUILD_SCM_VERSION=$pkgver
+ 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 -k 'not test_use_wrapper_python'
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+3a73baf34adcd8a7d8fbd84340ad06d7759db8378ccbe7a61705f46ae97a31dc72fd3b98c4ae06f70eb6ed02234d46c71bb185f30a3ec8f2a5803583278bafd4 pdm-2.12.4.tar.gz
+"
diff --git a/testing/pebble-le/APKBUILD b/testing/pebble-le/APKBUILD
new file mode 100644
index 00000000000..72806d9339e
--- /dev/null
+++ b/testing/pebble-le/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: leso-kn <info@lesosoftware.com>
+pkgname=pebble-le
+pkgver=0.3.0
+pkgrel=0
+_bluez_inc="41bdc1a5d98d929764600c14d0654c9ff5112f86"
+pkgdesc="Library to talk to Pebble Smartwatches via Bluetooth Low Energy (BLE)"
+url="https://github.com/leso-kn/pebble-le"
+arch="all"
+license="MIT"
+makedepends="
+ boost-dev
+ cmake
+ doxygen
+ fmt-dev
+ dbus-dev
+ glib-dev
+ samurai
+ simpleble-dev
+ "
+install="$pkgname.pre-install"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/leso-kn/pebble-le/archive/refs/tags/v$pkgver.tar.gz
+ bluez_inc-$_bluez_inc.tar.gz::https://github.com/weliem/bluez_inc/archive/$_bluez_inc.tar.gz
+ simpleble.patch
+ "
+options="!check" # soon pebble-le unit-tests
+
+prepare() {
+ rmdir third_party/binc third_party/SimpleBLE
+
+ mv "$srcdir"/bluez_inc-$_bluez_inc third_party/binc
+ default_prepare
+}
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_INCLUDEDIR=/usr/include \
+ -DCMAKE_INSTALL_SYSCONFDIR=/etc \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+8672d481e0dc94f648149627bdc413d0546750683d994b7b4b67c90216f14877fcaa9eba723ee0fdf9016505b3e49e58d605c3e1cd3e3bc4d4ad01400e68844b pebble-le-0.3.0.tar.gz
+2321fb7cdddbde7208c92185bc5af9083fc313b8ae2433308423b6ce5c1895b19bf27671ca6f352bd10a62b7ed830586d973268bc8ab547943180d64fdc72081 bluez_inc-41bdc1a5d98d929764600c14d0654c9ff5112f86.tar.gz
+77f49061da9dfef1e1765df2dcf5633a0d1ea95ced4e7276a5abee98b98108ec0dc53d4e3e27d58abb1f280afccc53f6724d5957e898d13f69c05470d84a8580 simpleble.patch
+"
diff --git a/testing/pebble-le/pebble-le.pre-install b/testing/pebble-le/pebble-le.pre-install
new file mode 100644
index 00000000000..0dd53b669a9
--- /dev/null
+++ b/testing/pebble-le/pebble-le.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+addgroup -S pebble-le 2>/dev/null
+
+exit 0
diff --git a/testing/pebble-le/simpleble.patch b/testing/pebble-le/simpleble.patch
new file mode 100644
index 00000000000..c1bfd9977c5
--- /dev/null
+++ b/testing/pebble-le/simpleble.patch
@@ -0,0 +1,45 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c7fa1dd..0163b8a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,15 +21,8 @@ set(pebble_le_SOURCES
+ src/util.cpp)
+
+ # Third-Party Dependencies
+-add_subdirectory(third_party/SimpleBLE/simpleble EXCLUDE_FROM_ALL)
+ add_subdirectory(third_party/binc/binc)
+
+-set(SimpleBLE_INCLUDE_DIRS
+- ${CMAKE_SOURCE_DIR}/third_party/SimpleBLE/simpleble/include
+- ${CMAKE_SOURCE_DIR}/third_party/SimpleBLE/simplebluez/include
+- ${CMAKE_SOURCE_DIR}/third_party/SimpleBLE/simpledbus/include
+- ${CMAKE_BINARY_DIR}/third_party/SimpleBLE/simpleble/export)
+-
+ set(Binc_INCLUDE_DIRS
+ ${CMAKE_SOURCE_DIR}/third_party/binc)
+
+@@ -37,6 +30,8 @@ find_package(PkgConfig REQUIRED)
+ pkg_search_module(GLIB REQUIRED glib-2.0)
+ pkg_search_module(GIO REQUIRED gio-2.0)
+ pkg_search_module(DBus1 REQUIRED dbus-1)
++pkg_search_module(SimpleBLE REQUIRED simpleble)
++pkg_search_module(SimpleBLUEZ REQUIRED simplebluez)
+
+ # libpebble-le
+ add_library(pebble-le_o OBJECT ${pebble_le_SOURCES})
+@@ -54,12 +49,13 @@ set_target_properties(pebble-le PROPERTIES
+ set_target_properties(pebble-le_static PROPERTIES
+ OUTPUT_NAME pebble-le)
+
+-target_include_directories(pebble-le_o PRIVATE ${Binc_INCLUDE_DIRS} ${SimpleBLE_INCLUDE_DIRS} ${DBus1_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS})
++target_include_directories(pebble-le_o PRIVATE ${Binc_INCLUDE_DIRS} ${SimpleBLE_INCLUDE_DIRS} ${SimpleBLUEZ_INCLUDE_DIRS} ${DBus1_INCLUDE_DIRS} ${GLIB_INCLUDE_DIRS})
+ target_include_directories(pebble-le_o PUBLIC include ${CMAKE_BINARY_DIR}/exports)
+
+ target_link_libraries(pebble-le_o PUBLIC
+ Binc
+- simpleble
++ ${SimpleBLE_LIBRARIES}
++ ${SimpleBLUEZ_LIBRARIES}
+ ${DBus1_LIBRARIES}
+ ${GLIB_LIBRARIES}
+ ${GIO_LIBRARIES})
diff --git a/testing/peervpn/APKBUILD b/testing/peervpn/APKBUILD
index 98874eaf42a..1983c028a9a 100644
--- a/testing/peervpn/APKBUILD
+++ b/testing/peervpn/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Markus Juenemann <markus@juenemann.net>
pkgname=peervpn
pkgver=0.044
-pkgrel=4
+pkgrel=5
pkgdesc="PeerVPN builds virtual ethernet networks between multiple computers"
options="!check" # No testsuite
url="https://peervpn.net"
arch="all"
license="GPL-3.0-or-later"
-makedepends="openssl-dev zlib-dev linux-headers"
+makedepends="openssl-dev>3 zlib-dev linux-headers"
subpackages="$pkgname-openrc"
source="
http://${pkgname}.net/files/${pkgname}-${pkgver//./-}.tar.gz
diff --git a/testing/peg/APKBUILD b/testing/peg/APKBUILD
index 79e114e72da..4b8e61098ed 100644
--- a/testing/peg/APKBUILD
+++ b/testing/peg/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=peg
pkgver=0.1.18
-pkgrel=0
+pkgrel=1
pkgdesc="Recursive-descent parser generators for C"
url="https://www.piumarta.com/software/peg/"
arch="all"
diff --git a/testing/pegasus-frontend/APKBUILD b/testing/pegasus-frontend/APKBUILD
index 07e05c78a40..9908c58a684 100644
--- a/testing/pegasus-frontend/APKBUILD
+++ b/testing/pegasus-frontend/APKBUILD
@@ -3,10 +3,10 @@
pkgname=pegasus-frontend
pkgver=13_alpha
_realver=alpha13
-pkgrel=0
+pkgrel=2
pkgdesc="A cross platform, customizable graphical frontend for launching emulators and managing your game collection."
-url="http://pegasus-frontend.org"
-arch="all !armhf !mips !mips64"
+url="https://pegasus-frontend.org"
+arch="all !armhf"
license="GPL-1.0-or-later"
depends="qt5-qtquickcontrols mesa qt5-qtgraphicaleffects qt5-qtgamepad qt5-qtmultimedia"
makedepends="qt5-qttools-dev openssl qt5-qtsvg-dev qt5-qtquickcontrols2-dev qt5-qtbase-dev qt5-qtdeclarative-dev qt5-qtgamepad-dev qt5-qtmultimedia-dev"
@@ -16,7 +16,7 @@ _translations_commit=b9eb734f8583e044b999d8c673dd5da0851ec8f5
_thirdparty_commit=a16b36d64ced67da31a3465ba6a7ad593378a0eb
_theme_commit=ccaf3152574992eacbda81ccf6624731e07e963e
source="$pkgname-$_realver.zip::https://github.com/mmatyas/pegasus-frontend/archive/$_realver.zip
- $pkgname-$_realver-translations.zip::https://github.com/mmatyas/$pkgname-translations/archive/$_translations_commit.zip
+ $pkgname-$_realver-translations.zip::https://github.com/mmatyas/pegasus-frontend-translations/archive/$_translations_commit.zip
$pkgname-$_realver-thirdparty.zip::https://github.com/mmatyas/SortFilterProxyModel/archive/$_thirdparty_commit.zip
$pkgname-$_realver-themes.zip::https://github.com/mmatyas/pegasus-theme-grid/archive/$_theme_commit.zip
qt-5-14-compatibility.patch
diff --git a/testing/pegtl/APKBUILD b/testing/pegtl/APKBUILD
index 198f76131c9..eaa8f60c95b 100644
--- a/testing/pegtl/APKBUILD
+++ b/testing/pegtl/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
+# Maintainer:
pkgname=pegtl
_pkgname=PEGTL
-pkgver=2.8.3
+pkgver=3.2.7
pkgrel=0
pkgdesc="Parsing Expression Grammar Template Library"
url="https://github.com/taocpp/PEGTL"
@@ -10,8 +10,7 @@ license="MIT"
arch="noarch"
makedepends="cmake"
subpackages="$pkgname-doc"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/taocpp/PEGTL/archive/$pkgver.tar.gz
- ignore-type-limits-error.patch"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/taocpp/PEGTL/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
@@ -34,5 +33,6 @@ package() {
DESTDIR="$pkgdir" cmake --build build --target install
}
-sha512sums="9f7644b86741dfe61716bbc43b2ea0a02cfc21eaf229c47cc71a49e2f08bf2c1ff37d2b2242a1bcf518b1893be6b82c27b0e9010a1b47ef8df87ffd90d280f71 PEGTL-2.8.3.tar.gz
-84676550e7b9e3ccb193cbe37843c6c4a5e9164ea1146d8e1cb9301b567dff255271b9ffcfacc60988bb887b13a63ba4e1b0919162da11f91724e8056671b42e ignore-type-limits-error.patch"
+sha512sums="
+e996be569e1c25377b13870c4f3e59f1935bbf24bb7c6edca0edc85b304fbe3d05db52a303839b0bd50c78769b773fc2237814787a703c58de8a79398210ee34 PEGTL-3.2.7.tar.gz
+"
diff --git a/testing/pegtl/ignore-type-limits-error.patch b/testing/pegtl/ignore-type-limits-error.patch
deleted file mode 100644
index 5407c932c59..00000000000
--- a/testing/pegtl/ignore-type-limits-error.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Reason: Ignore type-limits error
-Upstream: No
-
-This issue is fixed by upstream in https://github.com/taocpp/PEGTL/commit/a3a292c2ba66bf09b4adc4cee8fcdfb1b1386067,
-but the patch does not apply to current codebase (version 2.8.3).
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 0fe7e8e7..a3fedc20 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -7,6 +7,8 @@ set(PEGTL_VERSION "${CMAKE_MATCH_1}")
-
- project(pegtl VERSION ${PEGTL_VERSION} LANGUAGES CXX)
-
-+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=type-limits")
-+
- if(${PROJECT_NAME}_FOUND)
- # Multiple versions of PEGTL can't co-exist
- if(NOT ${PROJECT_NAME}_VERSION STREQUAL ${PROJECT_VERSION})
diff --git a/testing/percona-toolkit/APKBUILD b/testing/percona-toolkit/APKBUILD
index c755913538e..d2fc6e1e2a9 100644
--- a/testing/percona-toolkit/APKBUILD
+++ b/testing/percona-toolkit/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Matthieu Monnier <matthieu.monnier@enalean.com>
# Maintainer: Matthieu Monnier <matthieu.monnier@enalean.com>
pkgname=percona-toolkit
-pkgver=3.2.1
+pkgver=3.5.4
pkgrel=0
pkgdesc="Toolkit for MySQL/MariaDB"
url="https://www.percona.com/software/database-tools/percona-toolkit/"
@@ -25,4 +25,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="17fd9f10d2d5671c3ce75dfeba501b9c34b216844b8d8ceb03fadbfb6396cedb7b672d52af7a831739a417d6fcc5b538b4772ffdb9b55816d94fac87e88ba472 percona-toolkit-3.2.1.tar.gz"
+sha512sums="
+be94c047ce7507435573afaf0015970117039610fa84c818ded601f98ddd223e71b2304c2cad33d3151381238bab84bf563087aa4f4ccc5929395fda79b25d95 percona-toolkit-3.5.4.tar.gz
+"
diff --git a/testing/perl-adapter-async/APKBUILD b/testing/perl-adapter-async/APKBUILD
new file mode 100644
index 00000000000..9a8610e149a
--- /dev/null
+++ b/testing/perl-adapter-async/APKBUILD
@@ -0,0 +1,50 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-adapter-async
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Adapter-Async
+pkgver=0.019
+pkgrel=0
+pkgdesc="Common API for linking data sources and views"
+url="https://metacpan.org/release/Adapter-Async/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-check-unitcheck perl-curry perl-future
+ perl-list-binarysearch perl-log-any
+ perl-mixin-event-dispatch perl-variable-disposition
+ "
+checkdepends="perl-test-checkdeps perl-test-fatal"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Adapter-Async-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+5e002bc73943ddaa1b964a2dcd8c15db367c0acba60b87d22db2c7df7bda017dcd61bbaac6b6c63fe9ebe804ab3116a5475b0c5c791aa1000389894958777a0d Adapter-Async-0.019.tar.gz
+"
diff --git a/testing/perl-algorithm-backoff/APKBUILD b/testing/perl-algorithm-backoff/APKBUILD
new file mode 100644
index 00000000000..a6df240c866
--- /dev/null
+++ b/testing/perl-algorithm-backoff/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-algorithm-backoff
+pkgver=0.010
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Algorithm-Backoff
+pkgdesc="Various backoff strategies for retry"
+url="https://metacpan.org/release/Algorithm-Backoff/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+checkdepends="perl-test-exception perl-test-number-delta"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PERLANCAR/Algorithm-Backoff-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+11849a4f27caf6bfc03bafa39b641cfa258804b93a70b607523fce215b3f143322ff7731418727264ab86f63db38844d0b3cf8d0096acda1f3815ac1504066bb Algorithm-Backoff-0.010.tar.gz
+"
diff --git a/testing/perl-algorithm-c3/APKBUILD b/testing/perl-algorithm-c3/APKBUILD
index b3f42e07390..6700c6d03f1 100644
--- a/testing/perl-algorithm-c3/APKBUILD
+++ b/testing/perl-algorithm-c3/APKBUILD
@@ -5,7 +5,7 @@ pkgname=perl-algorithm-c3
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Algorithm-C3
pkgver=0.11
-pkgrel=0
+pkgrel=1
pkgdesc="A module for merging hierarchies using the C3 algorithm"
url="https://metacpan.org/release/Algorithm-C3/"
arch="noarch"
diff --git a/testing/perl-algorithm-cron/APKBUILD b/testing/perl-algorithm-cron/APKBUILD
index 8fc2ffd2761..54781a372f0 100644
--- a/testing/perl-algorithm-cron/APKBUILD
+++ b/testing/perl-algorithm-cron/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-algorithm-cron
_pkgreal=Algorithm-Cron
pkgver=0.10
-pkgrel=3
+pkgrel=4
pkgdesc="abstract implementation of the F<cron(8)> scheduling"
url="https://metacpan.org/release/Algorithm-Cron"
arch="noarch"
diff --git a/testing/perl-aliased/APKBUILD b/testing/perl-aliased/APKBUILD
index 94cf61b04f9..9a3b1535d5c 100644
--- a/testing/perl-aliased/APKBUILD
+++ b/testing/perl-aliased/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-aliased
_pkgreal=aliased
pkgver=0.34
-pkgrel=3
+pkgrel=4
pkgdesc="Use shorter versions of class names."
url="https://metacpan.org/release/aliased"
arch="noarch"
diff --git a/testing/perl-anyevent-dns-etchosts/APKBUILD b/testing/perl-anyevent-dns-etchosts/APKBUILD
index bfd6fb43fa3..841a1b0e760 100644
--- a/testing/perl-anyevent-dns-etchosts/APKBUILD
+++ b/testing/perl-anyevent-dns-etchosts/APKBUILD
@@ -3,14 +3,15 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=perl-anyevent-dns-etchosts
_pkgreal=AnyEvent-DNS-EtcHosts
-pkgver=0.0103
-pkgrel=3
+pkgver=0.0105
+pkgrel=0
pkgdesc="Use /etc/hosts before DNS"
url="https://metacpan.org/release/AnyEvent-DNS-EtcHosts"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-anyevent"
-makedepends="perl-module-build perl-test-deep"
+makedepends="perl-module-build perl-module-cpanfile"
+checkdepends="perl-test-deep"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/D/DE/DEXTER/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -36,4 +37,6 @@ check() {
./Build test
}
-sha512sums="213795e75cde1acabc73220814b1b1396fca86b964e5701e81181221501c9c5b9e3b0a43d5448bf8d9f19276320c2afab75eee56ebd7b54a64126962f60a50f8 AnyEvent-DNS-EtcHosts-0.0103.tar.gz"
+sha512sums="
+e78d1d89054b0fdc96b2f9809dbe10682b93bd9f7a0bd41c4547bc926d75b09466fe0b17488545059d2fd80b87db73f916189c2d3af2a63f7f6fad3b1c406b67 AnyEvent-DNS-EtcHosts-0.0105.tar.gz
+"
diff --git a/testing/perl-anyevent-future/APKBUILD b/testing/perl-anyevent-future/APKBUILD
new file mode 100644
index 00000000000..468b18c5e41
--- /dev/null
+++ b/testing/perl-anyevent-future/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-anyevent-future
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=AnyEvent-Future
+pkgver=0.05
+pkgrel=0
+pkgdesc="Use Future with AnyEvent"
+url="https://metacpan.org/release/AnyEvent-Future/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-anyevent perl-future"
+makedepends="perl-module-build"
+checkdepends="perl-test-timer"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/AnyEvent-Future-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+9b34b43d2f1d701aeec080f09b27ece86f23dc98a282a959f1c09c432b02f9124e9916e43a840943e940a3d3b3c19c21a18208ee19c31de9ce989c25e34587d1 AnyEvent-Future-0.05.tar.gz
+"
diff --git a/testing/perl-anyevent-http/APKBUILD b/testing/perl-anyevent-http/APKBUILD
deleted file mode 100644
index 97e796b3a9c..00000000000
--- a/testing/perl-anyevent-http/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Nick Andrew <nick@nick-andrew.net>
-# Maintainer: Nick Andrew <nick@nick-andrew.net>
-pkgname=perl-anyevent-http
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=AnyEvent-HTTP
-pkgver=2.25
-pkgrel=2
-pkgdesc="simple but non-blocking HTTP/HTTPS client"
-url="https://metacpan.org/release/AnyEvent-HTTP/"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl perl-anyevent perl-common-sense"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/AnyEvent-HTTP-$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="bc189a6a37cb3c3b6f1c36bd965911e110019fec5b8f82bea60dab2e3cf0dda0117a83a5f0608f7865f457b016f94f1ccc78939e22849bceb82a096edc24de9c AnyEvent-HTTP-2.25.tar.gz"
diff --git a/testing/perl-anyevent-mocktcpserver/APKBUILD b/testing/perl-anyevent-mocktcpserver/APKBUILD
new file mode 100644
index 00000000000..ad447a5f9c1
--- /dev/null
+++ b/testing/perl-anyevent-mocktcpserver/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-anyevent-mocktcpserver
+pkgver=1.172150
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=AnyEvent-MockTCPServer
+pkgdesc="Mock TCP Server using AnyEvent"
+url="https://metacpan.org/release/AnyEvent-MockTCPServer/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-anyevent perl-sub-name"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/B/BE/BEANZ/AnyEvent-MockTCPServer-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b4c6e75c8a26502369fbcd6dd749732b668623168c736c795288592a5804eac25f41d36eb84ba4e52089b2ee787a8a5ff02ce96f2a0c85074c37121de893872a AnyEvent-MockTCPServer-1.172150.tar.gz
+"
diff --git a/testing/perl-anyevent-mqtt/APKBUILD b/testing/perl-anyevent-mqtt/APKBUILD
new file mode 100644
index 00000000000..f28bdca3995
--- /dev/null
+++ b/testing/perl-anyevent-mqtt/APKBUILD
@@ -0,0 +1,47 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-anyevent-mqtt
+pkgver=1.212810
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=AnyEvent-MQTT
+pkgdesc="AnyEvent module for an MQTT client"
+url="https://metacpan.org/release/AnyEvent-MQTT/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-anyevent perl-net-mqtt perl-sub-name"
+checkdepends="perl-anyevent-mocktcpserver"
+subpackages="$pkgname-doc $pkgname-monitor"
+source="https://cpan.metacpan.org/authors/id/B/BE/BEANZ/AnyEvent-MQTT-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+monitor() {
+ pkgdesc="$pkgdesc (graphical monitor)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-gtk2"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-gtk2"
+
+ amove usr/bin/anyevent-mqtt-monitor
+}
+
+sha512sums="
+1883fe34200365d810a250714fd78fc2fda341dc1b38c1f54e76927801e25e3fc2f21242348bbc8de30603d403b6af746c7cfc7b858e0ffea682ac90fa36a020 AnyEvent-MQTT-1.212810.tar.gz
+"
diff --git a/testing/perl-anyevent-riperedis/APKBUILD b/testing/perl-anyevent-riperedis/APKBUILD
new file mode 100644
index 00000000000..8fac4427e72
--- /dev/null
+++ b/testing/perl-anyevent-riperedis/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-anyevent-riperedis
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=AnyEvent-RipeRedis
+pkgver=0.48
+pkgrel=0
+pkgdesc="Flexible non-blocking Redis client"
+url="https://metacpan.org/release/AnyEvent-RipeRedis/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-anyevent"
+checkdepends="perl-test-fatal perl-test-leaktrace perl-test-tcp redis"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/I/IP/IPH/AnyEvent-RipeRedis-$pkgver.tar.gz
+ test-redisrunner.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+ff09f050294dbfbf01a1307fe5f94879f178b3b425d2c2eeef254b46f65ed812a4e793bfc40384acb50053db1084acbbaa9b893487754cc6e862c928fea2187d AnyEvent-RipeRedis-0.48.tar.gz
+86de64b21cf134a634cabead4365b394097e7880e60ca3b09ccc2c56c38fb0b28ab0cbce1fdda9eb5a5342f1b7f0f92454a8221adae517274d4c49046fbe6436 test-redisrunner.patch
+"
diff --git a/testing/perl-anyevent-riperedis/test-redisrunner.patch b/testing/perl-anyevent-riperedis/test-redisrunner.patch
new file mode 100644
index 00000000000..b4d002b7326
--- /dev/null
+++ b/testing/perl-anyevent-riperedis/test-redisrunner.patch
@@ -0,0 +1,18 @@
+Patch-Source: https://sources.debian.org/data/main/liba/libanyevent-riperedis-perl/0.48-1/debian/patches/01_testsuite
+
+Reference: https://github.com/iph0/AnyEvent-RipeRedis/issues/3
+--
+
+Index: libanyevent-riperedis-perl-0.48/t/tlib/Test/RedisRunner.pm
+===================================================================
+--- libanyevent-riperedis-perl-0.48.orig/t/tlib/Test/RedisRunner.pm 2021-05-24 23:54:19.000000000 +1000
++++ libanyevent-riperedis-perl-0.48/t/tlib/Test/RedisRunner.pm 2023-04-27 10:49:08.741102460 +1000
+@@ -94,7 +94,7 @@
+
+ # confirmed this message is included from v1.3.6 (older version in
+ # git repo) to current HEAD (2012-07-30)
+- if ( $log =~ /The server is now ready to accept connections/ ) {
++ if ( $log =~ /[rR]eady to accept connections/ ) {
+ $ready = 1;
+ last;
+ }
diff --git a/testing/perl-anyevent-xmpp/APKBUILD b/testing/perl-anyevent-xmpp/APKBUILD
new file mode 100644
index 00000000000..d9dd188f27f
--- /dev/null
+++ b/testing/perl-anyevent-xmpp/APKBUILD
@@ -0,0 +1,46 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-anyevent-xmpp
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=AnyEvent-XMPP
+pkgver=0.55
+pkgrel=0
+pkgdesc="AnyEvent implementation of the XMPP Protocol"
+url="https://metacpan.org/release/AnyEvent-XMPP/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-anyevent perl-authen-sasl perl-net-libidn perl-net-ssleay
+ perl-object-event perl-xml-parser perl-xml-writer
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/M/MS/MSTPLBG/AnyEvent-XMPP-$pkgver.tar.gz
+ delivery-receipt-1.patch
+ delivery-receipt-2.patch
+ doc-typo-fix.patch
+ "
+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="
+a4e952e91771bd446c53f26aaf54099a53c475d2f20945f05d00f036388afc323108e9e3bbc4fa56dfde579e538538d845ba308d426d35bdc50054246e9e8d1f AnyEvent-XMPP-0.55.tar.gz
+875f0487b1a07e3a410a9f28e7206e8815f45eca8c82b37dd6d16c28126c7ea33a9c9d3382fecd3cc5f7627196ce41a86ef8546e12d5a0a05d32e6f3e567246e delivery-receipt-1.patch
+67b6c9c44c9e4f30e9351beb22135ca288acd410a6245c824b44fea3d6fad5ae358f86c436f618f3685ec94bf7b103e813329fbb92cec9c4a9d52295acda9615 delivery-receipt-2.patch
+3d4e6bad56a8a0b7e849ded903e5e9d339debcac89524783d3a6ae4a567b91ee1dfad49f97fb45433b4dbc1c7c28a548e938b9ff04503f2e4434fd421b575b32 doc-typo-fix.patch
+"
diff --git a/testing/perl-anyevent-xmpp/delivery-receipt-1.patch b/testing/perl-anyevent-xmpp/delivery-receipt-1.patch
new file mode 100644
index 00000000000..2895890d095
--- /dev/null
+++ b/testing/perl-anyevent-xmpp/delivery-receipt-1.patch
@@ -0,0 +1,45 @@
+Patch-Source: https://github.com/AnyEvent-XMPP/AnyEvent-XMPP/commit/9106dcd0a294dd6329d5e0883da757a1da176c0a.patch
+--
+From 9106dcd0a294dd6329d5e0883da757a1da176c0a Mon Sep 17 00:00:00 2001
+From: jlfranklin <franklin@sentaidigital.com>
+Date: Mon, 9 May 2016 10:28:04 -0400
+Subject: [PATCH] Always send a delivery receipt request, but only re-send the
+ message if we know they support receipts. (#7)
+
+---
+ lib/AnyEvent/XMPP/Ext/Receipts.pm | 15 ++-------------
+ 1 file changed, 2 insertions(+), 13 deletions(-)
+
+diff --git a/lib/AnyEvent/XMPP/Ext/Receipts.pm b/lib/AnyEvent/XMPP/Ext/Receipts.pm
+index 82c2cbe..ebee4fb 100644
+--- a/lib/AnyEvent/XMPP/Ext/Receipts.pm
++++ b/lib/AnyEvent/XMPP/Ext/Receipts.pm
+@@ -168,18 +168,6 @@ sub init {
+ ext_before_send_message_hook => sub {
+ my ($self, $con, $id, $to, $type, $attrs, $create_cb) = @_;
+
+- # We can only handle full jids as per XEP-0184 5.1:
+- # "If the sender knows only the recipient's bare JID, it cannot
+- # cannot determine [...] whether the intended recipient supports
+- # the Message Delivery Receipts protoocl. [...] the sender MUST NOT
+- # depend on receiving an ack message in reply."
+- # If we can’t rely on ack messages, receipts are useless.
+- return if is_bare_jid($to);
+-
+- # If we have already figured out that the recipient does not
+- # support message receipts, sending them (and especially waiting
+- # for acknowledge) is pointless.
+- return if exists($supports_receipts{$to}) && !$supports_receipts{$to};
+
+ # If this is a message receipt (sent by us), do not add a receipt
+ # request, that might lead to an endless loop.
+@@ -200,7 +188,8 @@ sub init {
+ $w->endTag;
+ };
+
+- if ($self->{auto_resend} > 0) {
++ # Only resend when we know they support delivery receipts
++ if (exists($supports_receipts{$to}) && !$supports_receipts{$to} && ($self->{auto_resend} > 0)) {
+ print "(xep0184) expecting reply within " . $self->{auto_resend} . "s\n" if $self->{debug};
+ # This timer will be deleted when the recipient acknowledges the
+ # message. Otherwise, it re-sends the message.
diff --git a/testing/perl-anyevent-xmpp/delivery-receipt-2.patch b/testing/perl-anyevent-xmpp/delivery-receipt-2.patch
new file mode 100644
index 00000000000..da1cca122bf
--- /dev/null
+++ b/testing/perl-anyevent-xmpp/delivery-receipt-2.patch
@@ -0,0 +1,24 @@
+Patch-Source: https://github.com/AnyEvent-XMPP/AnyEvent-XMPP/commit/23648ed086730064776a325055e3ff5fa75ad3b2.patch
+--
+From 23648ed086730064776a325055e3ff5fa75ad3b2 Mon Sep 17 00:00:00 2001
+From: jlfranklin <franklin@sentaidigital.com>
+Date: Mon, 9 May 2016 10:28:25 -0400
+Subject: [PATCH] Generate an event from the XMPP Connection object when a
+ delivery receipt comes in. (#9)
+
+---
+ lib/AnyEvent/XMPP/Ext/Receipts.pm | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/AnyEvent/XMPP/Ext/Receipts.pm b/lib/AnyEvent/XMPP/Ext/Receipts.pm
+index ebee4fb..3fb1c3c 100644
+--- a/lib/AnyEvent/XMPP/Ext/Receipts.pm
++++ b/lib/AnyEvent/XMPP/Ext/Receipts.pm
+@@ -133,6 +133,7 @@ sub init {
+ # supports receipts.
+ $supports_receipts{$node->attr('from')} = 1;
+ $self->stop_event;
++ $con->event (delivery_receipt => $self, $node);
+ }
+
+ # Figure out if this is a message which requests a receipt, such as
diff --git a/testing/perl-anyevent-xmpp/doc-typo-fix.patch b/testing/perl-anyevent-xmpp/doc-typo-fix.patch
new file mode 100644
index 00000000000..74dd8957b35
--- /dev/null
+++ b/testing/perl-anyevent-xmpp/doc-typo-fix.patch
@@ -0,0 +1,24 @@
+Patch-Source: https://github.com/AnyEvent-XMPP/AnyEvent-XMPP/commit/25f2a24da601b798397aea1469486cd55b0ca403.patch
+--
+From 25f2a24da601b798397aea1469486cd55b0ca403 Mon Sep 17 00:00:00 2001
+From: Aleksei Papulovskii <a@c17.nl>
+Date: Fri, 12 Sep 2014 12:47:14 +0200
+Subject: [PATCH] Pubsub unsubscribe doc typo fix
+
+---
+ lib/AnyEvent/XMPP/Ext/Pubsub.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/AnyEvent/XMPP/Ext/Pubsub.pm b/lib/AnyEvent/XMPP/Ext/Pubsub.pm
+index 0c2d8f2..c38a80c 100644
+--- a/lib/AnyEvent/XMPP/Ext/Pubsub.pm
++++ b/lib/AnyEvent/XMPP/Ext/Pubsub.pm
+@@ -170,7 +170,7 @@ sub subscribe_node {
+ );
+ }
+
+-=item B<unsubscribe_node>($con, $uri, $bc)>
++=item B<unsubscribe_node($con, $uri, $cb)>
+ C<$con> is the connection already established,
+ C<$uri> is the name of the node to be created
+ C<$cb> is the callback
diff --git a/testing/perl-archive-cpio/APKBUILD b/testing/perl-archive-cpio/APKBUILD
deleted file mode 100644
index a7e3da7edde..00000000000
--- a/testing/perl-archive-cpio/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Sean <nantes@albinodrought.com>
-# Maintainer: Sean <nantes@albinodrought.com>
-pkgname=perl-archive-cpio
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=Archive-Cpio
-pkgver=0.10
-pkgrel=0
-pkgdesc="module for manipulations of cpio archives"
-url="https://metacpan.org/release/Archive-Cpio/"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-dev"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/P/PI/PIXEL/Archive-Cpio-$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="
-c828f6f199de0efd7c7fbe2c3d4c5304df3c714720d91dd9a7d76e2c8d16bab1b92fc93a0b8afe78bd89b043ce7684c31d54b13c4e840f68ee040ca7bff43c3d Archive-Cpio-0.10.tar.gz
-"
diff --git a/testing/perl-archive-extract/APKBUILD b/testing/perl-archive-extract/APKBUILD
index 5ebead72376..84cd9311793 100644
--- a/testing/perl-archive-extract/APKBUILD
+++ b/testing/perl-archive-extract/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-archive-extract
_pkgreal=Archive-Extract
pkgver=0.88
-pkgrel=0
+pkgrel=1
pkgdesc="Generic archive extracting mechanism"
url="https://metacpan.org/release/Archive-Extract"
arch="noarch"
diff --git a/testing/perl-autobox/APKBUILD b/testing/perl-autobox/APKBUILD
index b5c99f9cf33..20a57d9b0e1 100644
--- a/testing/perl-autobox/APKBUILD
+++ b/testing/perl-autobox/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-autobox
_pkgreal=autobox
pkgver=3.0.1
-pkgrel=6
+pkgrel=8
pkgdesc="call methods on native types"
url="https://metacpan.org/release/autobox"
arch="all"
diff --git a/testing/perl-barcode-zbar/APKBUILD b/testing/perl-barcode-zbar/APKBUILD
new file mode 100644
index 00000000000..26fd135808f
--- /dev/null
+++ b/testing/perl-barcode-zbar/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Timothy Legge <timlegge@gmail.com>
+# Maintainer: Timothy Legge <timlegge@gmail.com>
+pkgname=perl-barcode-zbar
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Barcode-ZBar
+pkgver=0.10
+pkgrel=2
+pkgdesc="Perl module for Barcode-ZBar"
+url="https://metacpan.org/release/Barcode-ZBar/"
+arch="all"
+license="LGPL-2.1-only"
+depends="perl"
+makedepends="zbar-dev perl-dev"
+checkdepends="imagemagick imagemagick-perlmagick"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/Barcode-ZBar-$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="
+3d4655133389656288e69612cfd8fbed246802aee4001802d39829b03d8802d6f693ebfd9e454d298861bd7da2f7056a4e7fd616764ac2ffc10c46c046d02182 Barcode-ZBar-0.10.tar.gz
+"
diff --git a/testing/perl-bind-config-parser/APKBUILD b/testing/perl-bind-config-parser/APKBUILD
index 45f28fd13ae..7376b9ddb4c 100644
--- a/testing/perl-bind-config-parser/APKBUILD
+++ b/testing/perl-bind-config-parser/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-bind-config-parser
_pkgreal=BIND-Config-Parser
pkgver=0.01
-pkgrel=4
+pkgrel=5
pkgdesc="Parse BIND Config file"
url="https://metacpan.org/release/BIND-Config-Parser"
arch="noarch"
diff --git a/testing/perl-bsd-resource/APKBUILD b/testing/perl-bsd-resource/APKBUILD
index 05fe1bb7c33..f511eccbcf0 100644
--- a/testing/perl-bsd-resource/APKBUILD
+++ b/testing/perl-bsd-resource/APKBUILD
@@ -1,33 +1,29 @@
-# Automatically generated by apkbuild-cpan, template 1
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-bsd-resource
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=BSD-Resource
pkgver=1.2911
-pkgrel=6
+pkgrel=9
pkgdesc="Perl extension implements the BSD process resource limit functions"
-url="https://metacpan.org/release/BSD-Resource"
+url="https://metacpan.org/release/BSD-Resource/"
arch="all"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+license="Artistic-2.0 OR LGPL-2.0"
+depends="perl"
makedepends="perl-dev"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/J/JH/JHI/$_pkgreal-$pkgver.tar.gz"
-
+source="https://cpan.metacpan.org/authors/id/J/JH/JHI/BSD-Resource-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_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}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
make
}
check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make test
}
@@ -36,4 +32,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="d0032d41c7c0468ed1c6d8f57b885f6cb97a5039d754c8cb60b2067daedaf53bd15fb6561a3d0f828df16dfa5417f663b8065ba65f4fea16dc9262728b3b6b85 BSD-Resource-1.2911.tar.gz"
+sha512sums="
+d0032d41c7c0468ed1c6d8f57b885f6cb97a5039d754c8cb60b2067daedaf53bd15fb6561a3d0f828df16dfa5417f663b8065ba65f4fea16dc9262728b3b6b85 BSD-Resource-1.2911.tar.gz
+"
diff --git a/testing/perl-bytes-random-secure/APKBUILD b/testing/perl-bytes-random-secure/APKBUILD
new file mode 100644
index 00000000000..2ebffba20b2
--- /dev/null
+++ b/testing/perl-bytes-random-secure/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-bytes-random-secure
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Bytes-Random-Secure
+pkgver=0.29
+pkgrel=0
+pkgdesc="Perl extension to generate cryptographically-secure random bytes"
+url="https://metacpan.org/release/Bytes-Random-Secure/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-crypt-random-seed perl-math-random-isaac"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+72faf9e9fff1cc9641845d47b8dd1efb39861b4015246b169167d4f6050998e91d30b53d6a3e08daf91a838fcf29a05042073064204270de05b2f2ca9990fe64 Bytes-Random-Secure-0.29.tar.gz
+"
diff --git a/testing/perl-cache-lru/APKBUILD b/testing/perl-cache-lru/APKBUILD
new file mode 100644
index 00000000000..c8643528041
--- /dev/null
+++ b/testing/perl-cache-lru/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-cache-lru
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Cache-LRU
+pkgver=0.04
+pkgrel=0
+pkgdesc="Simple, fast implementation of LRU cache in pure perl"
+url="https://metacpan.org/release/Cache-LRU/"
+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/K/KA/KAZUHO/Cache-LRU-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+9fd4f56da78e4b8e291c4291ccb2e34bc50f7294fc8ff1d942d21fb116a5613c96f8e55ef9bb95a7ae3e810e791d3edf2f9f15063fd0fb85414a8e8964e88118 Cache-LRU-0.04.tar.gz
+"
diff --git a/testing/perl-cairo-gobject/APKBUILD b/testing/perl-cairo-gobject/APKBUILD
index d148c5a12af..dbaed32f7f6 100644
--- a/testing/perl-cairo-gobject/APKBUILD
+++ b/testing/perl-cairo-gobject/APKBUILD
@@ -5,14 +5,13 @@ pkgname=perl-cairo-gobject
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Cairo-GObject
pkgver=1.005
-pkgrel=1
+pkgrel=3
pkgdesc="Integrate Cairo into the Glib type system"
url="https://metacpan.org/release/Cairo-GObject/"
arch="all"
license="GPL-2.0-or-later"
depends="perl perl-cairo perl-extutils-depends perl-extutils-pkgconfig perl-glib"
-makedepends="perl-dev perl-cairo perl-extutils-pkgconfig perl-glib perl-extutils-depends
- cairo-dev"
+makedepends="perl-dev cairo-dev"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/X/XA/XAOC/Cairo-GObject-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
diff --git a/testing/perl-cairo/APKBUILD b/testing/perl-cairo/APKBUILD
index c19c15ec8bf..7b47e4728b8 100644
--- a/testing/perl-cairo/APKBUILD
+++ b/testing/perl-cairo/APKBUILD
@@ -5,7 +5,7 @@ pkgname=perl-cairo
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Cairo
pkgver=1.109
-pkgrel=1
+pkgrel=3
pkgdesc="Perl interface to the cairo 2d vector graphics library"
url="https://metacpan.org/release/Cairo/"
arch="all"
diff --git a/testing/perl-cgi-expand/APKBUILD b/testing/perl-cgi-expand/APKBUILD
index c9535c44d1b..3dc4898216a 100644
--- a/testing/perl-cgi-expand/APKBUILD
+++ b/testing/perl-cgi-expand/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-cgi-expand
_pkgreal=CGI-Expand
pkgver=2.05
-pkgrel=3
+pkgrel=4
pkgdesc="convert flat hash to nested data using TT2's dot convention"
url="https://metacpan.org/release/CGI-Expand"
arch="noarch"
diff --git a/testing/perl-check-unitcheck/APKBUILD b/testing/perl-check-unitcheck/APKBUILD
new file mode 100644
index 00000000000..3568c23dceb
--- /dev/null
+++ b/testing/perl-check-unitcheck/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-check-unitcheck
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Check-UnitCheck
+pkgver=0.13
+pkgrel=0
+pkgdesc="Use best of CHECK or UNITCHECK"
+url="https://metacpan.org/release/Check-UnitCheck/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/A/AJ/AJGOUGH/Check-UnitCheck-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ cd "$pkgdir"
+ rm -v usr/lib/perl5/vendor_perl/Check/example.pl
+}
+
+sha512sums="
+94a74766276fb37d97459bbecdfd063ab703850ad4759818da804e637f35b44cbdf6c06678ec6aaa9382e321c479d7167c3fd5d7a5e8144185e1d3764473cd6c Check-UnitCheck-0.13.tar.gz
+"
diff --git a/testing/perl-class-accessor-grouped/APKBUILD b/testing/perl-class-accessor-grouped/APKBUILD
index c3e30ad6d93..6ef45aac101 100644
--- a/testing/perl-class-accessor-grouped/APKBUILD
+++ b/testing/perl-class-accessor-grouped/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-class-accessor-grouped
_pkgreal=Class-Accessor-Grouped
pkgver=0.10014
-pkgrel=1
+pkgrel=2
pkgdesc="Lets you build groups of accessors"
url="https://metacpan.org/release/Class-Accessor-Grouped"
arch="noarch"
diff --git a/testing/perl-class-c3-componentised/APKBUILD b/testing/perl-class-c3-componentised/APKBUILD
index c872797977a..487eccec16e 100644
--- a/testing/perl-class-c3-componentised/APKBUILD
+++ b/testing/perl-class-c3-componentised/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-class-c3-componentised
_pkgreal=Class-C3-Componentised
pkgver=1.001002
-pkgrel=1
+pkgrel=2
pkgdesc="Load mix-ins or components to your C3-based class"
url="https://metacpan.org/release/Class-C3-Componentised"
arch="noarch"
diff --git a/testing/perl-class-c3/APKBUILD b/testing/perl-class-c3/APKBUILD
index 097e54cac16..9c25abcacf0 100644
--- a/testing/perl-class-c3/APKBUILD
+++ b/testing/perl-class-c3/APKBUILD
@@ -5,7 +5,7 @@ pkgname=perl-class-c3
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Class-C3
pkgver=0.35
-pkgrel=0
+pkgrel=1
pkgdesc="A pragma to use the C3 method resolution order algorithm"
url="https://metacpan.org/release/Class-C3/"
arch="noarch"
diff --git a/testing/perl-class-inner/APKBUILD b/testing/perl-class-inner/APKBUILD
index a27b6530e60..24a51a49839 100644
--- a/testing/perl-class-inner/APKBUILD
+++ b/testing/perl-class-inner/APKBUILD
@@ -1,29 +1,29 @@
-# Automatically generated by apkbuild-cpan, template 2
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-class-inner
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Class-Inner
pkgver=0.200001
-pkgrel=3
+pkgrel=5
pkgdesc="An implementation of Java like inner classes"
url="https://metacpan.org/release/Class-Inner/"
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/A/AR/ARUNBEAR/$_pkgreal-$pkgver.tar.gz"
+source="https://cpan.metacpan.org/authors/id/A/AR/ARUNBEAR/Class-Inner-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
+check() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make
+ make test
}
package() {
@@ -31,9 +31,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-check() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="308d688577ac9eeea14bd665269d4f32f5f9c4be9ac47460c0d4be4248c3eaabb9eb51e9a840a5e8dab58e35cf10c831b55321fdc5a2c83e04eec88ba2b8f905 Class-Inner-0.200001.tar.gz"
+sha512sums="
+308d688577ac9eeea14bd665269d4f32f5f9c4be9ac47460c0d4be4248c3eaabb9eb51e9a840a5e8dab58e35cf10c831b55321fdc5a2c83e04eec88ba2b8f905 Class-Inner-0.200001.tar.gz
+"
diff --git a/testing/perl-class-xsaccessor/APKBUILD b/testing/perl-class-xsaccessor/APKBUILD
deleted file mode 100644
index f228bbde123..00000000000
--- a/testing/perl-class-xsaccessor/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=perl-class-xsaccessor
-_pkgreal=Class-XSAccessor
-pkgver=1.19
-pkgrel=10
-pkgdesc="Generate fast XS accessors without runtime compilation"
-url="https://metacpan.org/release/Class-XSAccessor"
-arch="all"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-makedepends="perl-dev"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/S/SM/SMUELLER/$_pkgreal-$pkgver.tar.gz"
-
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- default_prepare
-
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-}
-
-build() {
- make
-}
-
-check() {
- make test
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="58855bb2108b60cc90ae1d1c4d6a011da7bac2d063c7c953ff8610ae164ba60731a664f0fbddf148e1eabb60042913a17633a9c9a8936a23a59130b381bf63f8 Class-XSAccessor-1.19.tar.gz"
diff --git a/testing/perl-clone-choose/APKBUILD b/testing/perl-clone-choose/APKBUILD
index c6d64b048ac..41d66a8f8fc 100644
--- a/testing/perl-clone-choose/APKBUILD
+++ b/testing/perl-clone-choose/APKBUILD
@@ -3,7 +3,7 @@
pkgname=perl-clone-choose
_pkgreal=Clone-Choose
pkgver=0.010
-pkgrel=3
+pkgrel=4
pkgdesc="Choose appropriate clone utility"
url="https://metacpan.org/release/Clone-Choose"
arch="noarch"
diff --git a/testing/perl-clone-pp/APKBUILD b/testing/perl-clone-pp/APKBUILD
index a10cdc77b25..d1a60c3d6af 100644
--- a/testing/perl-clone-pp/APKBUILD
+++ b/testing/perl-clone-pp/APKBUILD
@@ -5,7 +5,7 @@ pkgname=perl-clone-pp
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Clone-PP
pkgver=1.08
-pkgrel=0
+pkgrel=1
pkgdesc="Perl module for Clone-PP"
url="https://metacpan.org/release/Clone-PP/"
arch="noarch"
diff --git a/testing/perl-color-ansi-util/APKBUILD b/testing/perl-color-ansi-util/APKBUILD
new file mode 100644
index 00000000000..828b67e02e6
--- /dev/null
+++ b/testing/perl-color-ansi-util/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-color-ansi-util
+pkgver=0.165
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Color-ANSI-Util
+pkgdesc="Routines for dealing with ANSI colors"
+url="https://metacpan.org/release/Color-ANSI-Util/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-color-rgb-util"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PERLANCAR/Color-ANSI-Util-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+219da41d94882cf2b31e91a4c117d6520832b2410cf96669d0afadb50cbcd85902f7513df1b7908c45cfafa6122e9c75641ba2d58bfc4444da78d1899c8bc62f Color-ANSI-Util-0.165.tar.gz
+"
diff --git a/testing/perl-color-rgb-util/APKBUILD b/testing/perl-color-rgb-util/APKBUILD
new file mode 100644
index 00000000000..2207468d4e4
--- /dev/null
+++ b/testing/perl-color-rgb-util/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-color-rgb-util
+pkgver=0.607
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Color-RGB-Util
+pkgdesc="Utilities related to RGB colors"
+url="https://metacpan.org/release/Color-RGB-Util/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+checkdepends="perl-test-exception perl-test-randomresult"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PERLANCAR/Color-RGB-Util-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+1c38fe352918406071b63db389ce986e88619bcaac5c1a25ec061c352db7bd9e00db7951d4031ada1d67ec119b7f4a73d761aa484bbff980c4ed7045987d3aa1 Color-RGB-Util-0.607.tar.gz
+"
diff --git a/testing/perl-conf-libconfig/APKBUILD b/testing/perl-conf-libconfig/APKBUILD
index 2dfdc9349bf..285d2d4884a 100644
--- a/testing/perl-conf-libconfig/APKBUILD
+++ b/testing/perl-conf-libconfig/APKBUILD
@@ -4,8 +4,8 @@
pkgname=perl-conf-libconfig
#_pkgreal is used by apkbuild-(m)cpan to find modules at MetaCpan
_pkgreal=Conf-Libconfig
-pkgver=0.100
-pkgrel=6
+pkgver=1.0.0
+pkgrel=1
pkgdesc="Perl extension for libconfig"
url="https://metacpan.org/release/Conf-Libconfig/"
arch="all"
@@ -33,4 +33,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="52f652bd55131b0357aae6cc8f83811a4ceb5ec005977765ed70e5cb08f828c789d8bcbe247880c1807110b5486915dc90f84d52263b2e7f60adb2ee4654d2a3 Conf-Libconfig-0.100.tar.gz"
+sha512sums="
+3ad7c3fbe82adab7816fa6b1a8445df279f4d7c58ba72e88e5afcf7a85d11fa764cb30d3aa0e6a19ae7c6e96eba2544c8289a6bb06706310e26ae6a41fd1ca84 Conf-Libconfig-1.0.0.tar.gz
+"
diff --git a/testing/perl-constant-defer/APKBUILD b/testing/perl-constant-defer/APKBUILD
index c081ed1e042..6d1fc45fac1 100644
--- a/testing/perl-constant-defer/APKBUILD
+++ b/testing/perl-constant-defer/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-constant-defer
_pkgreal=constant-defer
pkgver=6
-pkgrel=3
+pkgrel=5
pkgdesc="Constant subs with deferred value calculation."
url="https://metacpan.org/release/constant-defer"
arch="noarch"
@@ -12,17 +12,16 @@ license="open_source"
depends="perl"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
-
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make && make test
+check() {
+ make test
}
package() {
@@ -30,4 +29,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="902916d32ed11737d34f8764af171ba1731de807ffbfd62e342f83bef05ab0a34ddaeec3f2c9b41814877b0568fc3e09fbf26e7ce2cd4a3dd6eeba75e6755b5f constant-defer-6.tar.gz"
+sha512sums="
+902916d32ed11737d34f8764af171ba1731de807ffbfd62e342f83bef05ab0a34ddaeec3f2c9b41814877b0568fc3e09fbf26e7ce2cd4a3dd6eeba75e6755b5f constant-defer-6.tar.gz
+"
diff --git a/testing/perl-constant-generate/APKBUILD b/testing/perl-constant-generate/APKBUILD
index 2070c46e4a8..eef78c8284c 100644
--- a/testing/perl-constant-generate/APKBUILD
+++ b/testing/perl-constant-generate/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-constant-generate
_pkgreal=Constant-Generate
pkgver=0.17
-pkgrel=3
+pkgrel=5
pkgdesc="Common tasks for symbolic constants"
url="https://metacpan.org/release/Constant-Generate"
arch="noarch"
@@ -12,17 +12,16 @@ license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/M/MN/MNUNBERG/$_pkgreal-$pkgver.tar.gz"
-
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make && make test
+check() {
+ make test
}
package() {
@@ -30,4 +29,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="6984d101ec26e7d2c35b45124a6d0240910acd30f47b9947a574e3dcd5d9365bb2d1773daae30c61237b903da929b564272aaf505f446a5e7b24a50970335a21 Constant-Generate-0.17.tar.gz"
+sha512sums="
+6984d101ec26e7d2c35b45124a6d0240910acd30f47b9947a574e3dcd5d9365bb2d1773daae30c61237b903da929b564272aaf505f446a5e7b24a50970335a21 Constant-Generate-0.17.tar.gz
+"
diff --git a/testing/perl-context-preserve/APKBUILD b/testing/perl-context-preserve/APKBUILD
index f8d675f457b..bbf78a323f2 100644
--- a/testing/perl-context-preserve/APKBUILD
+++ b/testing/perl-context-preserve/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-context-preserve
_pkgreal=Context-Preserve
pkgver=0.03
-pkgrel=3
+pkgrel=4
pkgdesc="Run code after a subroutine call, preserving the context"
url="https://metacpan.org/release/Context-Preserve"
arch="noarch"
diff --git a/testing/perl-cpan-changes/APKBUILD b/testing/perl-cpan-changes/APKBUILD
index fa5ef57905a..c1ccc2f0aec 100644
--- a/testing/perl-cpan-changes/APKBUILD
+++ b/testing/perl-cpan-changes/APKBUILD
@@ -1,34 +1,45 @@
-# Automatically generated by apkbuild-cpan, template 1
+# Automatically generated by apkbuild-cpan, template 4
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-cpan-changes
+pkgver=0.500003
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=CPAN-Changes
-pkgver=0.400002
-pkgrel=3
-pkgdesc="Read and write Changes files"
-url="https://metacpan.org/release/CPAN-Changes"
+pkgdesc="Parser for CPAN style change logs"
+url="https://metacpan.org/release/CPAN-Changes/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
+depends="perl perl-module-runtime perl-moo perl-sub-quote perl-type-tiny"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/H/HA/HAARG/$_pkgreal-$pkgver.tar.gz"
+source="https://cpan.metacpan.org/authors/id/H/HA/HAARG/CPAN-Changes-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
}
-build() {
+check() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make && make test
+ make test
}
package() {
make DESTDIR="$pkgdir" install
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="d359073d9d5ed2126835d4895c1ee5288cc09e72202ba77441bb25cf13e9cd0f16d4040b7e2cf1785efd6e8ccbe7908415fb4fefeebe9c0548d838d2ac850dfb CPAN-Changes-0.400002.tar.gz"
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+f5a9b088a76579288d69b963e344bf0d3d17d90b2600770bf2b2d74103b960ba71b16a22e0f3279c45474f62f639899611fbd5e25e3d659efa52c7995037b790 CPAN-Changes-0.500003.tar.gz
+"
diff --git a/testing/perl-crypt-random-seed/APKBUILD b/testing/perl-crypt-random-seed/APKBUILD
new file mode 100644
index 00000000000..0c2ac7b2e8f
--- /dev/null
+++ b/testing/perl-crypt-random-seed/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-crypt-random-seed
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Crypt-Random-Seed
+pkgver=0.03
+pkgrel=0
+pkgdesc="Provide strong randomness for seeding"
+url="https://metacpan.org/release/Crypt-Random-Seed/"
+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/D/DA/DANAJ/Crypt-Random-Seed-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+5ee6ea67c325aa9693c96ef650e3888a599d3d7e25316f869808dc6e06b9dd86f1c200c9097939f74511e2ed59e48df1b28cc96e5f7988076d9f7f5d840a894e Crypt-Random-Seed-0.03.tar.gz
+"
diff --git a/testing/perl-crypt-saltedhash/APKBUILD b/testing/perl-crypt-saltedhash/APKBUILD
index 06fbc0279c2..7a5d6af64d7 100644
--- a/testing/perl-crypt-saltedhash/APKBUILD
+++ b/testing/perl-crypt-saltedhash/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-crypt-saltedhash
_pkgreal=Crypt-SaltedHash
pkgver=0.09
-pkgrel=4
+pkgrel=5
pkgdesc="Perl interface to functions that assist in working with salted hashes"
url="https://metacpan.org/release/Crypt-SaltedHash"
arch="noarch"
diff --git a/testing/perl-crypt-urandom/APKBUILD b/testing/perl-crypt-urandom/APKBUILD
deleted file mode 100644
index c5dd70a3dae..00000000000
--- a/testing/perl-crypt-urandom/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 2
-# Contributor: Timo Teräs <timo.teras@iki.fi>
-# Maintainer: Timo Teräs <timo.teras@iki.fi>
-pkgname=perl-crypt-urandom
-_pkgreal=Crypt-URandom
-pkgver=0.36
-pkgrel=3
-pkgdesc="Provide non blocking randomness"
-url="https://metacpan.org/release/Crypt-URandom"
-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/D/DD/DDICK/$_pkgreal-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- default_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
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-check() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="59e6773d808f34f242f2520ed236faeed804d623fbcf4f1b8e7b39ed215ff1cde9f76ce4a9f5f260dfac42b036229a56cdb49a7f6856d5e943ed4d50e3392adc Crypt-URandom-0.36.tar.gz"
diff --git a/testing/perl-css-object/APKBUILD b/testing/perl-css-object/APKBUILD
new file mode 100644
index 00000000000..a2d555614b5
--- /dev/null
+++ b/testing/perl-css-object/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-css-object
+pkgver=0.1.6
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=CSS-Object
+pkgdesc="Object-oriented CSS parser and manipulation interface"
+url="https://metacpan.org/release/CSS-Object/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-devel-confess perl-module-generic perl-want"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JD/JDEGUEST/CSS-Object-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+4f7aeb5086d58a1466b4ac21fd931fdd2d8d11114a8e1b218ccb76c454a5df35e427ae64d1383564ce19aee8c933216d9e4b79303d8c0299eefd95014fd43e2e CSS-Object-v0.1.6.tar.gz
+"
diff --git a/testing/perl-curry/APKBUILD b/testing/perl-curry/APKBUILD
new file mode 100644
index 00000000000..d76ea30738f
--- /dev/null
+++ b/testing/perl-curry/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-curry
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=curry
+pkgver=2.000001
+pkgrel=0
+pkgdesc="Create automatic curried method call closures for any class or object"
+url="https://metacpan.org/release/curry/"
+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/M/MS/MSTROUT/curry-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+ed86de9dd5af7a3413d0b601975b3efbbcb72fe8c02ca351afcc3af872a59cd78f5a392dea6e545211a97f9994d0655d3f1787973e9f0bf44aa01db97c9afd76 curry-2.000001.tar.gz
+"
diff --git a/testing/perl-daemon-control/APKBUILD b/testing/perl-daemon-control/APKBUILD
index 111f879fc67..24598d277cd 100644
--- a/testing/perl-daemon-control/APKBUILD
+++ b/testing/perl-daemon-control/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-daemon-control
_pkgreal=Daemon-Control
pkgver=0.001010
-pkgrel=1
+pkgrel=2
pkgdesc="Create init scripts in Perl"
url="https://metacpan.org/release/Daemon-Control"
arch="noarch"
diff --git a/testing/perl-dancer-plugin-auth-extensible/APKBUILD b/testing/perl-dancer-plugin-auth-extensible/APKBUILD
index a3b26e51c91..7372ee361ae 100644
--- a/testing/perl-dancer-plugin-auth-extensible/APKBUILD
+++ b/testing/perl-dancer-plugin-auth-extensible/APKBUILD
@@ -4,12 +4,13 @@
pkgname=perl-dancer-plugin-auth-extensible
_pkgreal=Dancer-Plugin-Auth-Extensible
pkgver=1.00
-pkgrel=3
+pkgrel=5
pkgdesc="extensible authentication framework for Dancer apps"
url="https://metacpan.org/release/Dancer-Plugin-Auth-Extensible"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-yaml perl-dancer perl-crypt-saltedhash"
+checkdepends="perl-test-longstring"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/B/BI/BIGPRESH/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -36,4 +37,6 @@ check() {
make test
}
-sha512sums="e9b84ed97328d4efe53d07eb7d84a82b012a56acd5dc05de025849fe7c40875d3af52a7b1e501cd15eba0fc8b930cac32007daebf4fb75a1aa431af4bbfd1418 Dancer-Plugin-Auth-Extensible-1.00.tar.gz"
+sha512sums="
+e9b84ed97328d4efe53d07eb7d84a82b012a56acd5dc05de025849fe7c40875d3af52a7b1e501cd15eba0fc8b930cac32007daebf4fb75a1aa431af4bbfd1418 Dancer-Plugin-Auth-Extensible-1.00.tar.gz
+"
diff --git a/testing/perl-dancer-plugin-dbic/APKBUILD b/testing/perl-dancer-plugin-dbic/APKBUILD
index 37a3bd1c6d6..c17035bb7fe 100644
--- a/testing/perl-dancer-plugin-dbic/APKBUILD
+++ b/testing/perl-dancer-plugin-dbic/APKBUILD
@@ -4,13 +4,13 @@
pkgname=perl-dancer-plugin-dbic
_pkgreal=Dancer-Plugin-DBIC
pkgver=0.2104
-pkgrel=4
+pkgrel=5
pkgdesc="DBIx::Class interface for Dancer applications"
url="https://metacpan.org/release/Dancer-Plugin-DBIC"
arch="noarch !armv7"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-dancer perl-dbicx-sugar"
-checkdepends="perl-dbd-sqlite perl-dbix-class perl-test-exception perl-dbi perl-test-requires"
+checkdepends="perl-dbd-sqlite perl-dbix-class perl-test-exception perl-dbi perl-test-requires perl-test-longstring"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/I/IR/IRONCAMEL/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -37,4 +37,6 @@ check() {
make test
}
-sha512sums="9a3fea9209aceb018a5d2f804ccfc61b3c073584ea7448a3fe44dba7cdfbbb4136705fc0b27f3db2165357940e92a0fc98c1f959a320fa9fe36326ba70dc1057 Dancer-Plugin-DBIC-0.2104.tar.gz"
+sha512sums="
+9a3fea9209aceb018a5d2f804ccfc61b3c073584ea7448a3fe44dba7cdfbbb4136705fc0b27f3db2165357940e92a0fc98c1f959a320fa9fe36326ba70dc1057 Dancer-Plugin-DBIC-0.2104.tar.gz
+"
diff --git a/testing/perl-dancer-plugin-passphrase/APKBUILD b/testing/perl-dancer-plugin-passphrase/APKBUILD
index 0f28d37656a..10d08f83222 100644
--- a/testing/perl-dancer-plugin-passphrase/APKBUILD
+++ b/testing/perl-dancer-plugin-passphrase/APKBUILD
@@ -4,15 +4,17 @@
pkgname=perl-dancer-plugin-passphrase
_pkgreal=Dancer-Plugin-Passphrase
pkgver=2.0.1
-pkgrel=3
+pkgrel=4
pkgdesc="Passphrases and Passwords as objects for Dancer"
url="https://metacpan.org/release/Dancer-Plugin-Passphrase"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-dancer perl-data-entropy perl-digest-bcrypt"
+checkdepends="perl-crypt-bcrypt"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/J/JA/JAITKEN/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
+options="!check" # fail some digit test since haven't been updated in 10 years
prepare() {
default_prepare
@@ -36,4 +38,6 @@ check() {
make test
}
-sha512sums="c9a09748f2d211c26c3ec4fe41f992a8143ffeaef215489762200eafd8576173e3838fb7e510c8dbe7b9d8395b485532e855093c2145eeaf73694d5baa07be1e Dancer-Plugin-Passphrase-2.0.1.tar.gz"
+sha512sums="
+c9a09748f2d211c26c3ec4fe41f992a8143ffeaef215489762200eafd8576173e3838fb7e510c8dbe7b9d8395b485532e855093c2145eeaf73694d5baa07be1e Dancer-Plugin-Passphrase-2.0.1.tar.gz
+"
diff --git a/testing/perl-dancer-session-cookie/APKBUILD b/testing/perl-dancer-session-cookie/APKBUILD
index fbe33cd0799..791479d099a 100644
--- a/testing/perl-dancer-session-cookie/APKBUILD
+++ b/testing/perl-dancer-session-cookie/APKBUILD
@@ -4,11 +4,11 @@
pkgname=perl-dancer-session-cookie
_pkgreal=Dancer-Session-Cookie
pkgver=0.30
-pkgrel=1
+pkgrel=2
pkgdesc="Encrypted cookie-based session backend for Dancer"
options="!check" # redirect-session-dancer fails
url="https://metacpan.org/release/Dancer-Session-Cookie"
-arch="noarch !armhf" # perl-session-storage-secure -> perl-sereal-encoder
+arch="noarch !armv7 !armhf" # perl-session-storage-secure -> perl-sereal-encoder
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="
perl perl-dancer perl-session-storage-secure perl-string-crc32 perl-crypt-rijndael
diff --git a/testing/perl-data-dumper-concise/APKBUILD b/testing/perl-data-dumper-concise/APKBUILD
index ce98737d32b..39248b1c93f 100644
--- a/testing/perl-data-dumper-concise/APKBUILD
+++ b/testing/perl-data-dumper-concise/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-data-dumper-concise
_pkgreal=Data-Dumper-Concise
pkgver=2.023
-pkgrel=3
+pkgrel=4
pkgdesc="Less indentation and newlines plus sub deparsing"
url="https://metacpan.org/release/Data-Dumper-Concise"
arch="noarch"
diff --git a/testing/perl-data-printer/APKBUILD b/testing/perl-data-printer/APKBUILD
deleted file mode 100644
index f6ba8d3fce4..00000000000
--- a/testing/perl-data-printer/APKBUILD
+++ /dev/null
@@ -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-data-printer
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=Data-Printer
-pkgver=1.000004
-pkgrel=1
-pkgdesc="colored & full-featured pretty print of Perl data structures and objects"
-url="https://metacpan.org/release/Data-Printer/"
-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/G/GA/GARU/Data-Printer-$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="a1edce61cef6010aa4bbc90d60b221c0bbb8a88f8808217955b72b5fc51a221c0d10051fd2fb8cbc4b2d5a18c5eea7b81f167b2f85f8ce0e144b5b995a702bb0 Data-Printer-1.000004.tar.gz"
diff --git a/testing/perl-data-validate-domain/APKBUILD b/testing/perl-data-validate-domain/APKBUILD
new file mode 100644
index 00000000000..6bcb004f10f
--- /dev/null
+++ b/testing/perl-data-validate-domain/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-data-validate-domain
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Data-Validate-Domain
+pkgver=0.15
+pkgrel=0
+pkgdesc="Domain and host name validation"
+url="https://metacpan.org/release/Data-Validate-Domain/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-net-domain-tld"
+checkdepends="perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DR/DROLSKY/Data-Validate-Domain-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+76cfae536841e69f3694f2cf88321718ffbafa0376faec6763f295650c67e550c90c640a444616482acf7175337a646f80938255eeb32204f827a891a91d0195 Data-Validate-Domain-0.15.tar.gz
+"
diff --git a/testing/perl-data-validate-ip/APKBUILD b/testing/perl-data-validate-ip/APKBUILD
index c86a84575c7..455a7d2c58a 100644
--- a/testing/perl-data-validate-ip/APKBUILD
+++ b/testing/perl-data-validate-ip/APKBUILD
@@ -4,8 +4,8 @@
pkgname=perl-data-validate-ip
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Data-Validate-IP
-pkgver=0.30
-pkgrel=0
+pkgver=0.31
+pkgrel=1
pkgdesc="IPv4 and IPv6 validation methods"
url="https://metacpan.org/release/Data-Validate-IP/"
arch="noarch"
@@ -36,4 +36,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="ac556445f1eec0440be17263bcffce46d0c3b719d3c64022bcb3fc6d1191ed9de94c0e4d6b2c3c5c1704dc7945b14a5c87abfcf2b7dc43ec4f10a4cc6629b761 Data-Validate-IP-0.30.tar.gz"
+sha512sums="
+22ea6a8673fa07d405cb2f8645bd019265abf4104057c73d0399951a837549cedb97737f50b2e9e605202679c85ae5a7b7a24dd8d9fd8736624551b0b41fd6d8 Data-Validate-IP-0.31.tar.gz
+"
diff --git a/testing/perl-database-async-engine-postgresql/APKBUILD b/testing/perl-database-async-engine-postgresql/APKBUILD
new file mode 100644
index 00000000000..64eaeaa72c4
--- /dev/null
+++ b/testing/perl-database-async-engine-postgresql/APKBUILD
@@ -0,0 +1,57 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-database-async-engine-postgresql
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Database-Async-Engine-PostgreSQL
+pkgver=1.004
+pkgrel=0
+pkgdesc="PostgreSQL support for Database::Async"
+url="https://metacpan.org/release/Database-Async-Engine-PostgreSQL/"
+arch="noarch !armhf !armv7 !x86" # perl-ryu
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-bytes-random-secure perl-config-tiny
+ perl-cryptx perl-curry perl-database-async
+ perl-file-homedir perl-future perl-future-asyncawait
+ perl-indirect perl-io-async-ssl perl-log-any perl-path-tiny
+ perl-protocol-database-postgresql perl-ryu perl-ryu-async
+ perl-syntax-keyword-try perl-template-toolkit
+ perl-unicode-utf8 perl-uri perl-uri-db
+ "
+checkdepends="
+ perl-log-any-adapter-tap perl-test-checkdeps perl-test-deep
+ perl-test-fatal perl-test-mockmodule perl-test-refcount
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Database-Async-Engine-PostgreSQL-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+89a0b5a2151349761ca9c517ea12e264fe5c940bd90dad726c90d10d4fc6d61f72755371023155d9758396f0aa378bb144320cb34e673f53acc3e5b83ca243ed Database-Async-Engine-PostgreSQL-1.004.tar.gz
+"
diff --git a/testing/perl-database-async/APKBUILD b/testing/perl-database-async/APKBUILD
new file mode 100644
index 00000000000..921da1f25ee
--- /dev/null
+++ b/testing/perl-database-async/APKBUILD
@@ -0,0 +1,53 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-database-async
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Database-Async
+pkgver=0.019
+pkgrel=0
+pkgdesc="Database abstraction layer for IO::Async"
+url="https://metacpan.org/release/Database-Async/"
+arch="noarch !armhf !armv7 !x86" # perl-ryu
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-class-method-modifiers perl-curry
+ perl-future perl-future-asyncawait perl-indirect
+ perl-io-async perl-json-maybeutf8 perl-list-utilsby
+ perl-log-any perl-path-tiny perl-ryu perl-ryu-async
+ perl-syntax-keyword-try perl-template-toolkit
+ perl-uri perl-uri-db perl-yaml-libyaml
+ "
+checkdepends="perl-test-checkdeps perl-test-fatal perl-test-refcount"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Database-Async-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+16fe6f0a300ef594ad2edd655fe8b48450caa54d37367d11c479aea391c6c03b45aacf41bc94b3ca039019c4b4aee22e588ec4b412a82a7de0963b0e6d65f2c9 Database-Async-0.019.tar.gz
+"
diff --git a/testing/perl-datetime-format-atom/APKBUILD b/testing/perl-datetime-format-atom/APKBUILD
new file mode 100644
index 00000000000..1deecc2f6b6
--- /dev/null
+++ b/testing/perl-datetime-format-atom/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-datetime-format-atom
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=DateTime-Format-Atom
+pkgver=1.6.0
+pkgrel=0
+pkgdesc="Parse and format Atom datetime strings"
+url="https://metacpan.org/release/DateTime-Format-Atom/"
+arch="noarch"
+license="CC0-1.0"
+depends="perl perl-datetime-format-rfc3339"
+checkdepends="perl-test-pod"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/I/IK/IKEGAMI/DateTime-Format-Atom-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+96a05bad744eedb5fdae950959b4d8309e4a0f56ca238ba8abf26418da102160f3f5f49813d92fbab92fc0a6971e95f6b23b3b7e4f4abfb74a8ab9669c80eac1 DateTime-Format-Atom-v1.6.0.tar.gz
+"
diff --git a/testing/perl-datetime-format-flexible/APKBUILD b/testing/perl-datetime-format-flexible/APKBUILD
new file mode 100644
index 00000000000..1f9921393d7
--- /dev/null
+++ b/testing/perl-datetime-format-flexible/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-datetime-format-flexible
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=DateTime-Format-Flexible
+pkgver=0.34
+pkgrel=0
+pkgdesc="Flexibly parse strings and turn them into DateTime objects"
+url="https://metacpan.org/release/DateTime-Format-Flexible/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-datetime perl-datetime-format-builder
+ perl-datetime-timezone perl-list-moreutils
+ "
+checkdepends="perl-test-exception perl-test-mocktime perl-test-nowarnings"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TH/THINC/DateTime-Format-Flexible-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+2b2d730aaa9c8f6152f57493b8a0b2f9600b06dcdf2776bd1cb3fbf26c3b5ab31351a32fccb5072ed7410b558354fb3f9e3e8fa5af99da846fc623ae25e1f763 DateTime-Format-Flexible-0.34.tar.gz
+"
diff --git a/testing/perl-datetime-format-rfc3339/APKBUILD b/testing/perl-datetime-format-rfc3339/APKBUILD
new file mode 100644
index 00000000000..bd6000bc752
--- /dev/null
+++ b/testing/perl-datetime-format-rfc3339/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-datetime-format-rfc3339
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=DateTime-Format-RFC3339
+pkgver=1.8.0
+pkgrel=0
+pkgdesc="Parse and format RFC3339 datetime strings"
+url="https://metacpan.org/release/DateTime-Format-RFC3339/"
+arch="noarch"
+license="CC0-1.0"
+depends="perl perl-datetime"
+checkdepends="perl-test-pod"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/I/IK/IKEGAMI/DateTime-Format-RFC3339-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b86426c8a02fd582c45c8f73c21ac445eb4984df742decb697a8c117f6054374b6870099dc74f37260f635968017950fbd98ce80a0b25064472dd184187204ad DateTime-Format-RFC3339-v1.8.0.tar.gz
+"
diff --git a/testing/perl-datetime-format-sqlite/APKBUILD b/testing/perl-datetime-format-sqlite/APKBUILD
deleted file mode 100644
index f49e7552a8c..00000000000
--- a/testing/perl-datetime-format-sqlite/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 2
-# Contributor: Timo Teräs <timo.teras@iki.fi>
-# Maintainer: Timo Teräs <timo.teras@iki.fi>
-pkgname=perl-datetime-format-sqlite
-_pkgreal=DateTime-Format-SQLite
-pkgver=0.11
-pkgrel=3
-pkgdesc="Parse and format SQLite dates and times"
-url="https://metacpan.org/release/DateTime-Format-SQLite"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl perl-datetime-format-builder perl-datetime"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/C/CF/CFAERBER/$_pkgreal-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- default_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
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-check() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="061f831c2a8d653706d315c1cff24ad887e3f8c65afdbd2140066735649c097be921f217e6e2761f8f34604066c618f296d40e9c650c3a1bb085cadbdfa7b7b9 DateTime-Format-SQLite-0.11.tar.gz"
diff --git a/testing/perl-datetime-timezone-alias/APKBUILD b/testing/perl-datetime-timezone-alias/APKBUILD
new file mode 100644
index 00000000000..0818b5a5a13
--- /dev/null
+++ b/testing/perl-datetime-timezone-alias/APKBUILD
@@ -0,0 +1,44 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-datetime-timezone-alias
+pkgver=0.06
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=DateTime-TimeZone-Alias
+pkgdesc="Create aliases for DateTime timezones"
+url="https://metacpan.org/release/DateTime-TimeZone-Alias/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-datetime perl-datetime-timezone"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JH/JHOBLITT/DateTime-TimeZone-Alias-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ TZ=UTC ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+eec339b2819e002cce4d52d4dee5a07fcb653bd738d94a359be3182d0c2b846b087057491a8aa5912ebe29cd80a19b42f275869c1ba24236edb47e81ccd9e38c DateTime-TimeZone-Alias-0.06.tar.gz
+"
diff --git a/testing/perl-datetime-timezone-catalog-extend/APKBUILD b/testing/perl-datetime-timezone-catalog-extend/APKBUILD
new file mode 100644
index 00000000000..0f94d65f2ef
--- /dev/null
+++ b/testing/perl-datetime-timezone-catalog-extend/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-datetime-timezone-catalog-extend
+pkgver=0.3.1
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=DateTime-TimeZone-Catalog-Extend
+pkgdesc="Extend DateTime::TimeZone catalog"
+url="https://metacpan.org/release/DateTime-TimeZone-Catalog-Extend/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-datetime-timezone-alias perl-nice-try"
+checkdepends="perl-datetime-timezone"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JD/JDEGUEST/DateTime-TimeZone-Catalog-Extend-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make TZ=UTC test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+26a52f76433c311ee91fc928608d533b73431b44a7243d0eb80246c38569f143727b91ac25e71295d2d770bb79be09607aa67027d3f74c1b49e016cd02acc9ca DateTime-TimeZone-Catalog-Extend-v0.3.1.tar.gz
+"
diff --git a/testing/perl-dbicx-sugar/APKBUILD b/testing/perl-dbicx-sugar/APKBUILD
index bd14a587375..830a9324a8f 100644
--- a/testing/perl-dbicx-sugar/APKBUILD
+++ b/testing/perl-dbicx-sugar/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-dbicx-sugar
_pkgreal=DBICx-Sugar
pkgver=0.0200
-pkgrel=4
+pkgrel=5
pkgdesc="Just some syntax sugar for DBIx::Class"
url="https://metacpan.org/release/DBICx-Sugar"
arch="noarch !armv7" # tests fails on armv7
diff --git a/testing/perl-dbix-class-candy/APKBUILD b/testing/perl-dbix-class-candy/APKBUILD
index 1bd76dd18fc..75a5da0d203 100644
--- a/testing/perl-dbix-class-candy/APKBUILD
+++ b/testing/perl-dbix-class-candy/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-dbix-class-candy
_pkgreal=DBIx-Class-Candy
pkgver=0.005003
-pkgrel=4
+pkgrel=5
pkgdesc="Sugar for your favorite ORM, DBIx::Class"
url="https://metacpan.org/release/DBIx-Class-Candy"
arch="noarch !armv7"
diff --git a/testing/perl-dbix-class-helpers/APKBUILD b/testing/perl-dbix-class-helpers/APKBUILD
index f79f0ffabed..1ab965cd6a3 100644
--- a/testing/perl-dbix-class-helpers/APKBUILD
+++ b/testing/perl-dbix-class-helpers/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-dbix-class-helpers
_pkgreal=DBIx-Class-Helpers
pkgver=2.036000
-pkgrel=2
+pkgrel=3
pkgdesc="Simplify the common case stuff for DBIx::Class."
url="https://metacpan.org/release/DBIx-Class-Helpers"
arch="noarch !armv7"
diff --git a/testing/perl-dbix-class/APKBUILD b/testing/perl-dbix-class/APKBUILD
index cc68ecbb937..544c09a8ae3 100644
--- a/testing/perl-dbix-class/APKBUILD
+++ b/testing/perl-dbix-class/APKBUILD
@@ -1,41 +1,58 @@
-# Automatically generated by apkbuild-cpan, template 2
+# 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-dbix-class
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=DBIx-Class
-pkgver=0.082842
-pkgrel=0
+pkgver=0.082843
+pkgrel=1
pkgdesc="Extensible and flexible object <-> relational mapper."
-url="https://metacpan.org/release/DBIx-Class"
+url="https://metacpan.org/release/DBIx-Class/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="
- perl perl-path-class perl-namespace-clean perl-context-preserve perl-try-tiny
- perl-devel-globaldestruction perl-mro-compat perl-sql-abstract-classic perl-class-c3-componentised
- perl-sub-name perl-class-inspector perl-config-any perl-module-find perl-dbi
- perl-data-dumper-concise perl-class-accessor-grouped perl-scope-guard perl-moo
- perl-hash-merge perl-data-page
+ perl
+ perl-class-accessor-grouped
+ perl-class-c3-componentised
+ perl-class-inspector
+ perl-config-any
+ perl-context-preserve
+ perl-data-dumper-concise
+ perl-dbi
+ perl-devel-globaldestruction
+ perl-hash-merge
+ perl-module-find
+ perl-moo
+ perl-mro-compat
+ perl-namespace-clean
+ perl-path-class
+ perl-scope-guard
+ perl-sql-abstract-classic
+ perl-sub-name
+ perl-try-tiny
"
makedepends="
- perl-module-install perl-package-stash perl-test-exception perl-test-deep perl-dbd-sqlite
+ perl-dbd-sqlite
+ perl-dev
+ perl-package-stash
+ perl-test-deep
+ perl-test-exception
perl-test-warn
"
checkdepends="perl-clone-choose"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI/$_pkgreal-$pkgver.tar.gz
- "
+source="https://cpan.metacpan.org/authors/id/R/RI/RIBASUSHI/DBIx-Class-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
+check() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make
+ make test
}
package() {
@@ -43,11 +60,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-check() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
sha512sums="
-c8d7149536d5c4ebbfc866b0c143454ead37fda5ddb8fa43dfe2d56c2169be0fd8a46ec3b6c7cd22cb1c93504056d5803b5250ac151507ef4205fe53495e8f18 DBIx-Class-0.082842.tar.gz
+395752fd2568580c7a35598c4e2a30210e6ee5dc382dc56338ca6e20effa083e2bb31ebe6c715f2bd421699de10570551b1c4c25772c0f8b071f64787b041d7c DBIx-Class-0.082843.tar.gz
"
diff --git a/testing/perl-dbix-datasource/APKBUILD b/testing/perl-dbix-datasource/APKBUILD
index 1546f6b589f..42ca6fa1ccc 100644
--- a/testing/perl-dbix-datasource/APKBUILD
+++ b/testing/perl-dbix-datasource/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-dbix-datasource
_pkgreal=DBIx-DataSource
pkgver=0.02
-pkgrel=4
+pkgrel=5
pkgdesc="Database-independant create and drop functions"
url="https://metacpan.org/release/DBIx-DataSource"
arch="noarch"
diff --git a/testing/perl-dbix-introspector/APKBUILD b/testing/perl-dbix-introspector/APKBUILD
index 4ddadfd1dfb..1cac480325e 100644
--- a/testing/perl-dbix-introspector/APKBUILD
+++ b/testing/perl-dbix-introspector/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-dbix-introspector
_pkgreal=DBIx-Introspector
pkgver=0.001005
-pkgrel=3
+pkgrel=4
pkgdesc="Detect what database you are connected to"
url="https://metacpan.org/release/DBIx-Introspector"
arch="noarch"
diff --git a/testing/perl-devel-confess/APKBUILD b/testing/perl-devel-confess/APKBUILD
new file mode 100644
index 00000000000..df273224bfe
--- /dev/null
+++ b/testing/perl-devel-confess/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-devel-confess
+pkgver=0.009004
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Devel-Confess
+pkgdesc="Include stack traces on all warnings and errors"
+url="https://metacpan.org/release/Devel-Confess/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+checkdepends="perl-universal-can perl-universal-isa"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/H/HA/HAARG/Devel-Confess-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+29f807e378bcb286d111f82f9ad564a610ca9813ba040a137ef149179c6909859f46a4a528eed6aea12162cdb291d8f79c7f7864c64b0ce77a44d16c3d207f25 Devel-Confess-0.009004.tar.gz
+"
diff --git a/testing/perl-devel-leak/APKBUILD b/testing/perl-devel-leak/APKBUILD
index cac5befda59..93ff0abed38 100644
--- a/testing/perl-devel-leak/APKBUILD
+++ b/testing/perl-devel-leak/APKBUILD
@@ -3,7 +3,7 @@
pkgname=perl-devel-leak
_pkgreal=Devel-Leak
pkgver=0.03
-pkgrel=10
+pkgrel=12
pkgdesc="Utility for looking for perl objects that are not reclaimed"
url="https://metacpan.org/release/Devel-Leak"
arch="all"
diff --git a/testing/perl-devel-refcount/APKBUILD b/testing/perl-devel-refcount/APKBUILD
new file mode 100644
index 00000000000..e9dfea4feb5
--- /dev/null
+++ b/testing/perl-devel-refcount/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-devel-refcount
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Devel-Refcount
+pkgver=0.10
+pkgrel=0
+pkgdesc="Obtain the REFCNT value of a referent"
+url="https://metacpan.org/release/Devel-Refcount/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev perl-module-build"
+checkdepends="perl-test-fatal"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Devel-Refcount-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+5020df05fa8f49ac98a19b5795ee6caed20c44e6dab2cca80e2a2f6e30a5384f196175b53093d14c78b6a66555d80042540e19461b10c7dce46fa6a8f7190767 Devel-Refcount-0.10.tar.gz
+"
diff --git a/testing/perl-digest-bcrypt/APKBUILD b/testing/perl-digest-bcrypt/APKBUILD
index d78db38e081..59d9eacb750 100644
--- a/testing/perl-digest-bcrypt/APKBUILD
+++ b/testing/perl-digest-bcrypt/APKBUILD
@@ -3,14 +3,14 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=perl-digest-bcrypt
_pkgreal=Digest-Bcrypt
-pkgver=1.209
-pkgrel=3
+pkgver=1.212
+pkgrel=1
pkgdesc="Perl interface to the bcrypt digest algorithm"
url="https://metacpan.org/release/Digest-Bcrypt"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-crypt-eksblowfish"
-checkdepends="perl-try-tiny"
+checkdepends="perl-try-tiny perl-crypt-bcrypt"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/C/CA/CAPOEIRAB/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -37,4 +37,6 @@ check() {
make test
}
-sha512sums="d7e837c2cbcf7fe8713481cb6156b9ac1b4cd5922df82de2b68f0b087ceba5155c945d05086f859524510c1281e911eb8e26e3b315ec883b0cb7c11c06400eb7 Digest-Bcrypt-1.209.tar.gz"
+sha512sums="
+d2bf23d0eefda35d152c4ec5336032e585897fd69a95766832933dada2d131778d751c65845034b028c8224bef3abbfe0df1a725f0c702d94913c029958edcd1 Digest-Bcrypt-1.212.tar.gz
+"
diff --git a/testing/perl-digest-crc/APKBUILD b/testing/perl-digest-crc/APKBUILD
new file mode 100644
index 00000000000..a4b3357e1d2
--- /dev/null
+++ b/testing/perl-digest-crc/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-digest-crc
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Digest-CRC
+pkgver=0.24
+pkgrel=0
+pkgdesc="Perl module for calculating CRC sums"
+url="https://metacpan.org/release/Digest-CRC/"
+arch="all"
+license="Public-Domain"
+depends="perl"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/O/OL/OLIMAUL/Digest-CRC-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+c536cbcc5c4d336b8ec0e9f7737b5d06fbde8cfacd9b0247320b903ce868fefdf583c2bf4cedb306dc5885b7761bbcc58d385e17e939f6300206907d860110dd Digest-CRC-0.24.tar.gz
+"
diff --git a/testing/perl-dns-unbound/APKBUILD b/testing/perl-dns-unbound/APKBUILD
new file mode 100644
index 00000000000..5551e810f4f
--- /dev/null
+++ b/testing/perl-dns-unbound/APKBUILD
@@ -0,0 +1,108 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-dns-unbound
+pkgver=0.29
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=DNS-Unbound
+pkgdesc="Query DNS recursively via libunbound"
+url="https://metacpan.org/release/DNS-Unbound/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl
+ perl-class-xsaccessor
+ perl-net-dns
+ perl-promise-es6
+ perl-x-tiny
+ "
+makedepends="
+ !pyc
+ perl-dev
+ perl-extutils-makemaker-cpanfile
+ perl-extutils-pkgconfig
+ unbound-dev
+ "
+checkdepends="
+ perl-anyevent
+ perl-io-async
+ perl-mojolicious
+ perl-promise-xs
+ perl-test-deep
+ perl-test-describeme
+ perl-test-exception
+ perl-test-failwarnings
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-anyevent::noarch
+ $pkgname-ioasync::noarch
+ $pkgname-mojo::noarch
+ $pkgname-asyncquery-promisexs::noarch
+ "
+source="https://cpan.metacpan.org/authors/id/F/FE/FELIPE/DNS-Unbound-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ default_prepare
+
+ # We do not have AnyEvent::XSPromises packaged,
+ # and this file says "This leaks; don't use it".
+ rm -v lib/DNS/Unbound/AsyncQuery/AnyEventXSPromises.pm
+}
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+anyevent() {
+ pkgdesc="$pkgdesc and AnyEvent"
+ depends="$pkgname=$pkgver-r$pkgrel perl-anyevent"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-anyevent"
+
+ amove usr/lib/perl5/vendor_perl/DNS/Unbound/AnyEvent.pm
+}
+
+ioasync() {
+ pkgdesc="$pkgdesc and IO::Async"
+ depends="$pkgname=$pkgver-r$pkgrel perl-io-async"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-io-async"
+
+ amove usr/lib/perl5/vendor_perl/DNS/Unbound/IOAsync.pm
+}
+
+mojo() {
+ pkgdesc="$pkgdesc and Mojolicious"
+ depends="$pkgname=$pkgver-r$pkgrel perl-mojolicious"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-mojolicious"
+
+ amove usr/lib/perl5/vendor_perl/DNS/Unbound/Mojo.pm
+ amove usr/lib/perl5/vendor_perl/DNS/Unbound/AsyncQuery/MojoPromise.pm
+}
+
+promisexs() {
+ pkgdesc="$pkgdesc (Promise::XS engine)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-promise-xs"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-promise-xs"
+
+ amove usr/lib/perl5/vendor_perl/DNS/Unbound/AsyncQuery/PromiseXS.pm
+}
+
+sha512sums="
+722582fa7f4d81dcfcdad56d482988ebe537822739ff2b6eff3d498c2203c96d46e07e603c0acf997321b99220180f1aa305c8aa914445b352513ea10572260f DNS-Unbound-0.29.tar.gz
+"
diff --git a/testing/perl-email-abstract/APKBUILD b/testing/perl-email-abstract/APKBUILD
index 6da1266e9a2..216b83afbf9 100644
--- a/testing/perl-email-abstract/APKBUILD
+++ b/testing/perl-email-abstract/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-email-abstract
_pkgreal=Email-Abstract
-pkgver=3.009
+pkgver=3.010
pkgrel=0
pkgdesc="Unified interface to mail representations"
url="https://metacpan.org/release/Email-Abstract"
@@ -16,6 +16,8 @@ source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
prepare() {
+ default_prepare
+
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
}
@@ -35,5 +37,5 @@ package() {
}
sha512sums="
-e2c2a497d942ef56d723ab109f8844f840bc14a4a23ae0febea32f6ce814b943ac0599dfce0a17c24d6631826240d8692592292a1c4f1fcc599c1983b37e0705 Email-Abstract-3.009.tar.gz
+73c7e9083f583d17c20bcda2a17e6ff7187c587e8168415692618be2ec0a10f0bce2ddb1da8d2cc929022af56da4498d44cf0cc062c1c5b83abac2ecb48a9ae6 Email-Abstract-3.010.tar.gz
"
diff --git a/testing/perl-email-mime-attachment-stripper/APKBUILD b/testing/perl-email-mime-attachment-stripper/APKBUILD
index af6dea3c0ac..b16ed26443b 100644
--- a/testing/perl-email-mime-attachment-stripper/APKBUILD
+++ b/testing/perl-email-mime-attachment-stripper/APKBUILD
@@ -4,25 +4,25 @@
pkgname=perl-email-mime-attachment-stripper
_pkgreal=Email-MIME-Attachment-Stripper
pkgver=1.317
-pkgrel=3
+pkgrel=5
pkgdesc="strip the attachments from an email"
url="https://metacpan.org/release/Email-MIME-Attachment-Stripper"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-email-mime-contenttype perl-email-mime"
+checkdepends="perl-capture-tiny"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
-
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make && make test
+check() {
+ make test
}
package() {
@@ -30,4 +30,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="bb4dd9aa8cfbbeb1e62cb687f3d8219e0eed87acd95c31291b6ad39e870c5a344d478d7794762205a5d66ebd7ba3cd70151b791a1100d677f3a70a538c0c1063 Email-MIME-Attachment-Stripper-1.317.tar.gz"
+sha512sums="
+bb4dd9aa8cfbbeb1e62cb687f3d8219e0eed87acd95c31291b6ad39e870c5a344d478d7794762205a5d66ebd7ba3cd70151b791a1100d677f3a70a538c0c1063 Email-MIME-Attachment-Stripper-1.317.tar.gz
+"
diff --git a/testing/perl-email-reply/APKBUILD b/testing/perl-email-reply/APKBUILD
index 5f8d9cd9c05..fc1616615d8 100644
--- a/testing/perl-email-reply/APKBUILD
+++ b/testing/perl-email-reply/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-email-reply
_pkgreal=Email-Reply
pkgver=1.204
-pkgrel=3
+pkgrel=5
pkgdesc="Reply to a Message"
url="https://metacpan.org/release/Email-Reply"
arch="noarch"
@@ -12,17 +12,16 @@ license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-email-abstract perl-email-mime perl-email-address"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
-
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make && make test
+check() {
+ make test
}
package() {
@@ -30,4 +29,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="78353abe415fefbf4c70398433584221bf037eab09f4a6a20bcafec4e0a632a5ee07a880e33f806f61fe3a943b7f55c428d90bbc5ea9d5c551eb78e0ff88ac5a Email-Reply-1.204.tar.gz"
+sha512sums="
+78353abe415fefbf4c70398433584221bf037eab09f4a6a20bcafec4e0a632a5ee07a880e33f806f61fe3a943b7f55c428d90bbc5ea9d5c551eb78e0ff88ac5a Email-Reply-1.204.tar.gz
+"
diff --git a/testing/perl-ev-hiredis/APKBUILD b/testing/perl-ev-hiredis/APKBUILD
new file mode 100644
index 00000000000..9ef6a05e4c9
--- /dev/null
+++ b/testing/perl-ev-hiredis/APKBUILD
@@ -0,0 +1,61 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-ev-hiredis
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=EV-Hiredis
+pkgver=0.07
+pkgrel=0
+pkgdesc="Asynchronous redis client using hiredis and EV"
+url="https://metacpan.org/release/EV-Hiredis/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-ev"
+makedepends="
+ hiredis-dev perl-dev perl-file-which
+ perl-module-build perl-module-build-xsutil
+ "
+checkdepends="perl-devel-refcount perl-test-deep perl-test-tcp"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/S/SH/SHOGO/EV-Hiredis-$pkgver.tar.gz
+ use-system-hiredis.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+# no perl-test-redisserver on 32-bit
+case "$CARCH" in
+armv7|armhf|x86)
+ _test_args="--test_files=t/autoload.t"
+ ;;
+*)
+ checkdepends="$checkdepends perl-test-redisserver"
+ ;;
+esac
+
+prepare() {
+ default_prepare
+
+ # disable a very flaky test
+ rm -v ./t/connect_unix.t
+}
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test $_test_args
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+58d4d6d69589155c0212cbc5169e6cc5552718daddcb713339ef84a5cd803c825ff6b10d6322d3e5c1556d018d9ef75de9261f925d3420a14efee05f0226ea87 EV-Hiredis-0.07.tar.gz
+536157501fe64d127ff2d0084c03a2e8174f0aa4bc052c666624b26c79f68d6fe12493ae05daec469b5e36d96fd9704a66d90c2f40b922ff1a0b15519c794276 use-system-hiredis.patch
+"
diff --git a/testing/perl-ev-hiredis/use-system-hiredis.patch b/testing/perl-ev-hiredis/use-system-hiredis.patch
new file mode 100644
index 00000000000..bc12f8a4596
--- /dev/null
+++ b/testing/perl-ev-hiredis/use-system-hiredis.patch
@@ -0,0 +1,21 @@
+--- a/builder/MyBuilder.pm
++++ b/builder/MyBuilder.pm
+@@ -14,8 +14,8 @@
+ generate_ppport_h => 'src/ppport.h',
+ c_source => 'src',
+ xs_files => { 'src/EV__Hiredis.xs' => 'lib/EV/Hiredis.xs' },
+- include_dirs => ['src', 'deps/hiredis', "${installsitearch}/EV", $installsitearch],
+- extra_linker_flags => ["deps/hiredis/libhiredis$Config{lib_ext}"],
++ include_dirs => ['src', '/usr/include/hiredis', "${installsitearch}/EV", $installsitearch],
++ extra_linker_flags => ["-lhiredis"],
+ );
+
+ my $make;
+@@ -30,7 +30,6 @@
+ $make = $Config{make};
+ }
+
+- $self->do_system($make, '-C', 'deps/hiredis', 'static');
+ return $self;
+ }
+
diff --git a/testing/perl-extutils-makemaker/APKBUILD b/testing/perl-extutils-makemaker/APKBUILD
index ee3329a12f3..8a153c10ec0 100644
--- a/testing/perl-extutils-makemaker/APKBUILD
+++ b/testing/perl-extutils-makemaker/APKBUILD
@@ -4,15 +4,14 @@
pkgname=perl-extutils-makemaker
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=ExtUtils-MakeMaker
-pkgver=7.64
-pkgrel=0
+pkgver=7.70
+pkgrel=2
pkgdesc="Create a module Makefile"
url="https://metacpan.org/release/ExtUtils-MakeMaker/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
-makedepends="perl-dev"
-subpackages="$pkgname-doc"
+checkdepends="perl-dev"
source="https://cpan.metacpan.org/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -30,11 +29,11 @@ check() {
package() {
make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-
+ # man pages are already provided by perl-doc
+ rm -rf "$pkgdir"/usr/share/man
+}
sha512sums="
-8e06de493c71923a3a3720c9211038a06c6ee6ddb16add037e364d44f1cb6354d87ea1137eba0df19ce70e370011e0dc49decfb9e0d4f6332a695f8a7fe393f5 ExtUtils-MakeMaker-7.64.tar.gz
+53eee73c5ce6aa32412e8077ae36d54c7ee10eee56baa4ba06a397c90310e21458bd6719b0f5695bb0de3eb06eddaacf6d635ff82538b0748c8ef362555bc569 ExtUtils-MakeMaker-7.70.tar.gz
"
diff --git a/testing/perl-extutils-xsbuilder/APKBUILD b/testing/perl-extutils-xsbuilder/APKBUILD
index 5b99908efe5..50a11e41b69 100644
--- a/testing/perl-extutils-xsbuilder/APKBUILD
+++ b/testing/perl-extutils-xsbuilder/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-extutils-xsbuilder
_pkgreal=ExtUtils-XSBuilder
pkgver=0.28
-pkgrel=3
+pkgrel=5
pkgdesc="Automatic XS glue code generation"
url="https://metacpan.org/release/ExtUtils-XSBuilder"
arch="noarch"
@@ -12,15 +12,15 @@ license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-parse-recdescent perl-tie-ixhash"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/G/GR/GRICHTER/$_pkgreal-$pkgver.tar.gz"
-
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
+build() {
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- make && make test
+check() {
+ make test
}
package() {
@@ -28,4 +28,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="777c6362ce1e780f8226b47b5f1a4ee4bbde3e5eda6637dde9d04d230cfb77025a0c7ec79ef40866242950ca2f052865ab0bbfe09f6315a2fda70111f67a47e3 ExtUtils-XSBuilder-0.28.tar.gz"
+sha512sums="
+777c6362ce1e780f8226b47b5f1a4ee4bbde3e5eda6637dde9d04d230cfb77025a0c7ec79ef40866242950ca2f052865ab0bbfe09f6315a2fda70111f67a47e3 ExtUtils-XSBuilder-0.28.tar.gz
+"
diff --git a/testing/perl-feed-find/APKBUILD b/testing/perl-feed-find/APKBUILD
new file mode 100644
index 00000000000..87081989f0b
--- /dev/null
+++ b/testing/perl-feed-find/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-feed-find
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Feed-Find
+pkgver=0.13
+pkgrel=0
+pkgdesc="Syndication feed auto-discovery"
+url="https://metacpan.org/release/Feed-Find/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-class-errorhandler perl-html-parser perl-libwww perl-uri"
+checkdepends="perl-test-lwp-useragent"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAVECROSS/Feed-Find-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+436438c361a7c228af8c5d31200f75b3eab8dded20040d9cd019384df28bd2348ca8c2f8f6cc3ae4b6dee90afba7c8ed911016fd4f8da46cfe8ffccf52eecd18 Feed-Find-0.13.tar.gz
+"
diff --git a/testing/perl-ffi-c/APKBUILD b/testing/perl-ffi-c/APKBUILD
new file mode 100644
index 00000000000..3043d3560fc
--- /dev/null
+++ b/testing/perl-ffi-c/APKBUILD
@@ -0,0 +1,44 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-ffi-c
+pkgver=0.15
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=FFI-C
+pkgdesc="C data types for FFI"
+url="https://metacpan.org/release/FFI-C/"
+# armv7, armhf, x86: ffi_c_ffi.t and ffi_c_util.t tests fail
+arch="noarch !armv7 !armhf !x86"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-class-inspector perl-ffi-platypus
+ perl-ffi-platypus-type-enum perl-ref-util
+ perl-sub-identify perl-sub-install
+ "
+checkdepends="perl-capture-tiny perl-path-tiny perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-C-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+4f693a44eb9d4098f877ed9354c59e382a50d91a5a46f16441d4a96a751a87bb08ebdc99a700f5b97d03d7cfc58a50cfa946ee63252fe7b51e681e990ccb40c3 FFI-C-0.15.tar.gz
+"
diff --git a/testing/perl-ffi-platypus-type-enum/APKBUILD b/testing/perl-ffi-platypus-type-enum/APKBUILD
new file mode 100644
index 00000000000..5fda2801991
--- /dev/null
+++ b/testing/perl-ffi-platypus-type-enum/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-ffi-platypus-type-enum
+pkgver=0.06
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=FFI-Platypus-Type-Enum
+pkgdesc="Custom platypus type for dealing with C enumerated types"
+url="https://metacpan.org/release/FFI-Platypus-Type-Enum/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-ref-util"
+checkdepends="perl-ffi-platypus perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-Platypus-Type-Enum-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+592b609263cba5cfba578e125ebe91d1cbc2f2a4ff9cba2dad36fc0531f6f661bb13f74900489f924e191dc9e774b8e441d4a57d55f17e688e51b5c6d8ae434c FFI-Platypus-Type-Enum-0.06.tar.gz
+"
diff --git a/testing/perl-ffi-platypus/APKBUILD b/testing/perl-ffi-platypus/APKBUILD
new file mode 100644
index 00000000000..f951498e0d8
--- /dev/null
+++ b/testing/perl-ffi-platypus/APKBUILD
@@ -0,0 +1,48 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-ffi-platypus
+pkgver=2.08
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=FFI-Platypus
+pkgdesc="Write Perl bindings to non-Perl libraries with FFI. No XS required"
+url="https://metacpan.org/release/FFI-Platypus/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-capture-tiny perl-ffi-checklib"
+makedepends="libffi-dev perl-dev"
+checkdepends="perl-devel-hide perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PL/PLICEASE/FFI-Platypus-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+# 32-bit archs require this additional
+# package to work with 64-bit values
+case "$CARCH" in
+armv7|armhf|x86)
+ depends="$depends perl-math-int64"
+ ;;
+esac
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+3c614c78b91512352c527dfe93bc4318030df0b52d7ecdd8c445d8b074f67b965211b08cbe76b5c427ae1840fec708e2c97b528ca6adc03e6e729b8a8f65288e FFI-Platypus-2.08.tar.gz
+"
diff --git a/testing/perl-file-homedir/APKBUILD b/testing/perl-file-homedir/APKBUILD
deleted file mode 100644
index 03f7a0120af..00000000000
--- a/testing/perl-file-homedir/APKBUILD
+++ /dev/null
@@ -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"
diff --git a/testing/perl-file-mmagic-xs/APKBUILD b/testing/perl-file-mmagic-xs/APKBUILD
new file mode 100644
index 00000000000..f6adb12b420
--- /dev/null
+++ b/testing/perl-file-mmagic-xs/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Timothy Legge <timlegge@gmail.com>
+# Maintainer: Timothy Legge <timlegge@gmail.com>
+pkgname=perl-file-mmagic-xs
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=File-MMagic-XS
+pkgver=0.09008
+pkgrel=3
+pkgdesc="guess File Type With XS (a la mod_mime_magic)"
+url="https://metacpan.org/release/File-MMagic-XS/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DM/DMAKI/File-MMagic-XS-$pkgver.tar.gz
+ format-security.patch
+ "
+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="
+82c322f413dabaf916b23d3d829c7ca525d454e00d8f6b7165cef06f70cd1874c45515639e913b06b415864cda3631d34e912b0bd8c85109d2950b7212f8ad05 File-MMagic-XS-0.09008.tar.gz
+31e6543989488f283a31424376a278d87aa11ec367cb0665b5d73690d409902e052fe6b6ac110743a1a2f972e6b9554b5b39287644b22b322dd265de45830a49 format-security.patch
+"
diff --git a/testing/perl-file-mmagic-xs/format-security.patch b/testing/perl-file-mmagic-xs/format-security.patch
new file mode 100644
index 00000000000..83a35431dba
--- /dev/null
+++ b/testing/perl-file-mmagic-xs/format-security.patch
@@ -0,0 +1,13 @@
+diff --git a/src/perl-mmagic-xs.c b/src/perl-mmagic-xs.c
+index d418d38..03d43a8 100644
+--- a/src/perl-mmagic-xs.c
++++ b/src/perl-mmagic-xs.c
+@@ -1110,7 +1110,7 @@ GetDesc:
+
+ error:
+ FMM_SET_ERROR(state, err);
+- croak(SvPV_nolen(err));
++ croak("%s", SvPV_nolen(err));
+ }
+
+ /* maps to mod_mime_magic::apprentice */
diff --git a/testing/perl-file-rename/APKBUILD b/testing/perl-file-rename/APKBUILD
index 2948163641e..dd4f08e3d91 100644
--- a/testing/perl-file-rename/APKBUILD
+++ b/testing/perl-file-rename/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-file-rename
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=File-Rename
-pkgver=1.30
+pkgver=2.02
pkgrel=0
pkgdesc="Perl extension for renaming multiple files"
url="https://metacpan.org/pod/File::Rename"
@@ -18,21 +18,23 @@ builddir="$srcdir/$_pkgreal-$pkgver"
build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
- ./Build
+ perl Makefile.PL --installdirs=vendor
+ make
}
check() {
- ./Build test
+ make test
}
package() {
- ./Build install --destdir="$pkgdir"
+ make DESTDIR="$pkgdir" INSTALLDIRS=vendor install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+ rm -rf $pkgdir/usr/lib
mv $pkgdir/usr/bin/rename $pkgdir/usr/bin/file-rename
+ mv $pkgdir/usr/share/man/man1/rename.1 $pkgdir/usr/share/man/man1/file-rename.1
chmod 0755 $pkgdir/usr/bin/file-rename
}
sha512sums="
-d1f90b75a7e7d5f2d49ec4f268af7b17c764e592446988d678da218c653b4e730661fae4cbe55ef399db7bfe8b798b0f70492a4eb231ddae5d72883aa74e588c File-Rename-1.30.tar.gz
+01eb399659ed34c64ca37eef425c7da56649f83c863747858006f1b86f013fa916ec8e9126ba8186cbf6d21be7d04864161d34ac3b9b57e6333ebe2450d1731a File-Rename-2.02.tar.gz
"
diff --git a/testing/perl-freezethaw/APKBUILD b/testing/perl-freezethaw/APKBUILD
index 94f20578ebc..8fcebfbf66d 100644
--- a/testing/perl-freezethaw/APKBUILD
+++ b/testing/perl-freezethaw/APKBUILD
@@ -3,7 +3,7 @@
pkgname=perl-freezethaw
_pkgreal=FreezeThaw
pkgver=0.5001
-pkgrel=1
+pkgrel=2
pkgdesc="Convert arbitrary objects to/from strings"
url="https://metacpan.org/release/FreezeThaw/"
arch="noarch"
diff --git a/testing/perl-future-http/APKBUILD b/testing/perl-future-http/APKBUILD
new file mode 100644
index 00000000000..a5953dbf6ba
--- /dev/null
+++ b/testing/perl-future-http/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-future-http
+pkgver=0.17
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Future-HTTP
+pkgdesc="Provide the most appropriate HTTP client with a Future API"
+url="https://metacpan.org/release/Future-HTTP/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-future perl-http-message perl-moo"
+checkdepends="
+ perl-anyevent-future perl-anyevent-http perl-future-mojo
+ perl-net-async-http perl-test-http-localserver
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/C/CO/CORION/Future-HTTP-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+f7f899d7eb846e2e0f69938cf1f3bab480e63ebfc98bee2e8e25a33c007e4e2aaeb40e8af644420a4c28986bf70696d15d9793f86ac52339d5e3e40729121ac7 Future-HTTP-0.17.tar.gz
+"
diff --git a/testing/perl-future-q/APKBUILD b/testing/perl-future-q/APKBUILD
new file mode 100644
index 00000000000..3e62ecee269
--- /dev/null
+++ b/testing/perl-future-q/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-future-q
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Future-Q
+pkgver=0.120
+pkgrel=0
+pkgdesc="Future (or Promise or Deferred) with API like JavaScript's Q module"
+url="https://metacpan.org/release/Future-Q/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-devel-globaldestruction perl-future perl-try-tiny"
+makedepends="perl-module-build perl-module-build-prereqs-fromcpanfile"
+checkdepends="
+ perl-sub-identify perl-test-identity perl-test-memory-cycle
+ perl-test-mockmodule
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TO/TOSHIOITO/Future-Q-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+483951025ec6823472b49aa91540b1d6added4c87a9dc3d2021893a0858620228ae85d98a4fc9c7a6e92f5311f043e452ebb9b56fde36dc583fc7bf864e7a1a2 Future-Q-0.120.tar.gz
+"
diff --git a/testing/perl-future-queue/APKBUILD b/testing/perl-future-queue/APKBUILD
new file mode 100644
index 00000000000..eb0064bbe14
--- /dev/null
+++ b/testing/perl-future-queue/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-future-queue
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Future-Queue
+pkgver=0.52
+pkgrel=0
+pkgdesc="FIFO queue of values that uses Futures"
+url="https://metacpan.org/release/Future-Queue/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-future"
+makedepends="perl-module-build"
+checkdepends="perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Future-Queue-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+d7b0f41a37367d2afc86044eda9902380ec08d82d6d7bc8cb27260325dd3e7b245207ebd1d13a944af80af595484a727839ad62e5b4cf69346c3e95e4abac859 Future-Queue-0.52.tar.gz
+"
diff --git a/testing/perl-gearman/APKBUILD b/testing/perl-gearman/APKBUILD
index c43670276b6..802d42d33c2 100644
--- a/testing/perl-gearman/APKBUILD
+++ b/testing/perl-gearman/APKBUILD
@@ -1,29 +1,41 @@
-# Automatically generated by apkbuild-cpan, template 2
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Nick Andrew <nick@nick-andrew.net>
-# Maintainer: Nick Andrew <nick@nick-andrew.net>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-gearman
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Gearman
pkgver=2.004.015
-pkgrel=1
-pkgdesc="Client and worker libraries for gearman job dispatch dispatch. Server is in separate package."
-url="https://metacpan.org/release/Gearman"
+pkgrel=3
+pkgdesc="Client and worker libraries for gearman job dispatch"
+url="https://metacpan.org/release/Gearman/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl perl-list-moreutils perl-string-crc32 perl-io-socket-ssl"
-makedepends="perl-file-which perl-test-tcp perl-test-timer perl-proc-guard perl-test-exception"
+depends="
+ perl
+ perl-io-socket-ssl
+ perl-list-moreutils
+ perl-string-crc32
+ "
+checkdepends="
+ perl-file-which
+ perl-proc-guard
+ perl-test-exception
+ perl-test-tcp
+ perl-test-timer
+ "
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/P/PA/PALIK/Gearman-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
+check() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make
+ make test
}
package() {
@@ -31,9 +43,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-check() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="020eb3ca55f8ef33f546f60c6cb8c70d2dbbae21f11e0c165443569805040df7b2a0c89bec9de1d3c7733c3edf25bffa8faf69857c29f8b2371b5e06f5b0fd11 Gearman-2.004.015.tar.gz"
+sha512sums="
+020eb3ca55f8ef33f546f60c6cb8c70d2dbbae21f11e0c165443569805040df7b2a0c89bec9de1d3c7733c3edf25bffa8faf69857c29f8b2371b5e06f5b0fd11 Gearman-2.004.015.tar.gz
+"
diff --git a/testing/perl-getopt-long-descriptive/APKBUILD b/testing/perl-getopt-long-descriptive/APKBUILD
index 78da572d8d1..004b090c1dd 100644
--- a/testing/perl-getopt-long-descriptive/APKBUILD
+++ b/testing/perl-getopt-long-descriptive/APKBUILD
@@ -4,13 +4,13 @@
pkgname=perl-getopt-long-descriptive
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Getopt-Long-Descriptive
-pkgver=0.110
+pkgver=0.114
pkgrel=0
pkgdesc="Getopt::Long, but simpler and more powerful"
url="https://metacpan.org/release/Getopt-Long-Descriptive/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl perl-sub-exporter perl-params-validate"
+depends="perl perl-sub-exporter perl-params-validate perl-getopt-long>=2.55"
checkdepends="perl-test-warnings perl-cpan-meta-check perl-test-fatal"
subpackages="$pkgname-doc"
@@ -34,5 +34,5 @@ package() {
}
sha512sums="
-2b04427f81367ed650e722253e995899bd7e02475186a919c42b868f429040dfe3cd7df9a107f838f2afa4b97cd30993befc69801f18a5006526a25a32b0f1a7 Getopt-Long-Descriptive-0.110.tar.gz
+f7d640f0ecfc2619036f8df3e5e6a85334a814f05156e7b056cee3add372225898701c7772e7507bcf87174d6c2bf3a699fc3f924e7fdcc8837457598e35ef7a Getopt-Long-Descriptive-0.114.tar.gz
"
diff --git a/testing/perl-getopt-tabular/APKBUILD b/testing/perl-getopt-tabular/APKBUILD
index c3a27d1d1fa..fbc48366226 100644
--- a/testing/perl-getopt-tabular/APKBUILD
+++ b/testing/perl-getopt-tabular/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-getopt-tabular
_pkgreal=Getopt-Tabular
pkgver=0.3
-pkgrel=2
+pkgrel=4
pkgdesc="Table-driven argument parsing for Perl 5"
url="https://metacpan.org/release/Getopt-Tabular"
arch="noarch"
@@ -14,16 +14,14 @@ subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/G/GW/GWARD/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make && make test
+check() {
+ make test
}
package() {
@@ -31,4 +29,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="a289d4861538ae542f7549364573cadd740538f73862d89dd49eaf6bed6f787ba2848246add171aed6aef4d7d36411d00bef70b76885aa948ce0e7fc8801652b Getopt-Tabular-0.3.tar.gz"
+sha512sums="
+a289d4861538ae542f7549364573cadd740538f73862d89dd49eaf6bed6f787ba2848246add171aed6aef4d7d36411d00bef70b76885aa948ce0e7fc8801652b Getopt-Tabular-0.3.tar.gz
+"
diff --git a/testing/perl-git-raw/APKBUILD b/testing/perl-git-raw/APKBUILD
new file mode 100644
index 00000000000..640605d4c7e
--- /dev/null
+++ b/testing/perl-git-raw/APKBUILD
@@ -0,0 +1,56 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-git-raw
+pkgver=0.90
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Git-Raw
+pkgdesc="Perl bindings to the Git linkable library (libgit2)"
+url="https://metacpan.org/release/Git-Raw/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="libgit2-dev perl-dev"
+checkdepends="perl-capture-tiny perl-file-slurp-tiny perl-test-deep"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JA/JACQUESG/Git-Raw-$pkgver.tar.gz
+ libgit2-shared.mk.pl
+ libgit2-version-tests.patch
+ libgit2-1.7.1-tests.patch
+ libgit2-riscv64-tests.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cp -v ../libgit2-shared.mk.pl Makefile.PL
+}
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ # setting $HOME may fix the issue on the s390x & x86* package builders
+ make test HOME="$srcdir"
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+845c775d62509c48ecdcaf6a692d03916934575d520a85bab1693f73d78416c646d0b442cb68537de778c4ba5df901e43de378792e287588d3b0e79c05ea5fd9 Git-Raw-0.90.tar.gz
+6f11abebe591a59dcdf3bb692592221af5e7a812c403cf53d68ee55b90eb3da2e4ebce82baddfe703fc6ee960a5925da85aa556016032f859139fd464759bdb0 libgit2-shared.mk.pl
+54334d2758671b62f1852c68b23b2a33ecc76f8127ace636c8cd04c2712c005bc03e075357aa7becbd3a343a342c36ba977a288826c84d69686f5c9e9dd3d341 libgit2-version-tests.patch
+b43710476f3e1ee86f382f29a198635ce0e4715840d4b6e79135f5ce3cedd17ef3a3a95adf9609ee324158e698ffa1eff2f3ad23cef2fd46f22bdb2265edcc84 libgit2-1.7.1-tests.patch
+1a11cddecaf7991fa7a4a4b37754e22c0e39645e27afc775040b6d9b9f79b1be805b08c1e5642ad1d03ce1566e0efb8d0577041a4b127dfb072ed3afa9a2635f libgit2-riscv64-tests.patch
+"
diff --git a/testing/perl-git-raw/libgit2-1.7.1-tests.patch b/testing/perl-git-raw/libgit2-1.7.1-tests.patch
new file mode 100644
index 00000000000..ae019a91912
--- /dev/null
+++ b/testing/perl-git-raw/libgit2-1.7.1-tests.patch
@@ -0,0 +1,47 @@
+Patch-Source: https://sources.debian.org/data/main/libg/libgit-raw-perl/0.90+ds-2/debian/patches/libgit2_1.7.1
+--
+Description: adjust tests to libgit2 1.7.1
+ * t/08-branch.t: relog handling changed, adjust to the new 2 entries
+ * t/19-push.t: the pack_progress callback returns all kind of values
+ (timing issue?), mark as TODO
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/1057318
+Forwarded: not-needed (upstream uses a vendored libgit2)
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2023-12-09
+
+--- a/t/08-branch.t
++++ b/t/08-branch.t
+@@ -51,7 +51,7 @@
+
+ my $reflog = $look -> reflog;
+ my @entries = $reflog -> entries;
+-is scalar(@entries), 1;
++is scalar(@entries), 2;
+
+ ok (!defined (Git::Raw::Branch -> lookup($repo, 'nonexistent_local', 1)));
+ ok (!defined (Git::Raw::Branch -> lookup($repo, 'nonexistent_remote', 0)));
+--- a/t/19-push.t
++++ b/t/19-push.t
+@@ -31,7 +31,10 @@
+ $stage == Git::Raw::Packbuilder->DELTAFICATION);
+ if ($stage == Git::Raw::Packbuilder->ADDING_OBJECTS)
+ {
++ TODO: {
++ local $TODO = 'flaky with libgit2 1.7.1';
+ is $current, 1;
++ }
+ is $total, 0;
+ }
+ else
+@@ -70,7 +73,10 @@
+ ok ($stage == 0 || $stage == 1);
+ if ($stage == 0)
+ {
++ TODO: {
++ local $TODO = 'flaky with libgit2 1.7.1';
+ is $current, 1;
++ }
+ is $total, 0;
+ }
+ else
diff --git a/testing/perl-git-raw/libgit2-riscv64-tests.patch b/testing/perl-git-raw/libgit2-riscv64-tests.patch
new file mode 100644
index 00000000000..0706f047049
--- /dev/null
+++ b/testing/perl-git-raw/libgit2-riscv64-tests.patch
@@ -0,0 +1,19 @@
+--- a/t/27-packbuilder.t
++++ b/t/27-packbuilder.t
+@@ -5,6 +5,7 @@
+ use File::Spec::Functions qw(catfile rel2abs);
+ use File::Path qw(make_path);
+ use Git::Raw;
++use Config;
+
+ my $path = rel2abs(catfile('t', 'test_repo'));
+ my $repo = Git::Raw::Repository -> open($path);
+@@ -55,7 +56,7 @@
+ is $pb -> written, 4;
+ is $pb -> object_count, 4;
+ is $transfer_progress_count, $pb -> written + 1;
+-is $pack_progress_count, 3;
++is $pack_progress_count, 3 if $Config{archname} !~ m/riscv64/;
+
+ is $pb -> hash, '4ec0baa806411548c1051dbd4620bd8447045d9e';
+
diff --git a/testing/perl-git-raw/libgit2-shared.mk.pl b/testing/perl-git-raw/libgit2-shared.mk.pl
new file mode 100644
index 00000000000..328e083e7ef
--- /dev/null
+++ b/testing/perl-git-raw/libgit2-shared.mk.pl
@@ -0,0 +1,213 @@
+use strict;
+use warnings;
+use ExtUtils::MakeMaker 0;
+use ExtUtils::Constant qw (WriteConstants);
+
+my %WriteMakefileArgs = (
+ "ABSTRACT" => "Perl bindings to the Git linkable library (libgit2)",
+ "AUTHOR" => "Jacques Germishuys <jacquesg\@cpan.org>, Alessandro Ghedini <alexbio\@cpan.org>",
+ "CONFIGURE_REQUIRES" => {
+ "ExtUtils::Constant" => "0.23",
+ "ExtUtils::MakeMaker" => "6.63_03",
+ "File::Basename" => "2.74",
+ "Getopt::Long" => "2.35"
+ },
+ "DEFINE" => "-DGIT_SSH",
+ "DISTNAME" => "Git-Raw",
+ "LIBS" => "-lgit2",
+ "LICENSE" => "perl",
+ "MIN_PERL_VERSION" => "5.8.8",
+ "NAME" => "Git::Raw",
+ "OBJECT" => "\$(O_FILES)",
+ "PREREQ_PM" => {
+ "Carp" => 0,
+ "XSLoader" => 0,
+ "overload" => 0,
+ "strict" => 0,
+ "warnings" => 0
+ },
+ "TEST_REQUIRES" => {
+ "Capture::Tiny" => 0,
+ "Cwd" => 0,
+ "File::Basename" => 0,
+ "File::Copy" => 0,
+ "File::Path" => 0,
+ "File::Slurp::Tiny" => "0.001",
+ "File::Spec" => 0,
+ "File::Spec::Functions" => 0,
+ "File::Spec::Unix" => 0,
+ "IO::Handle" => 0,
+ "IPC::Open3" => 0,
+ "Test::Deep" => 0,
+ "Test::More" => 0,
+ "Time::Local" => 0
+ },
+ "VERSION_FROM" => "lib/Git/Raw.pm",
+ "test" => {
+ "TESTS" => "t/*.t"
+ }
+);
+
+my @error_constants = (qw(
+ OK
+ ERROR
+ ENOTFOUND
+ EEXISTS
+ EAMBIGUOUS
+ EBUFS
+ EBAREREPO
+ EUNBORNBRANCH
+ EUNMERGED
+ ENONFASTFORWARD
+ EINVALIDSPEC
+ ECONFLICT
+ ELOCKED
+ EMODIFIED
+ EAUTH
+ ECERTIFICATE
+ EAPPLIED
+ EPEEL
+ EEOF
+ EINVALID
+ EUNCOMMITTED
+ EDIRECTORY
+ EMERGECONFLICT
+ PASSTHROUGH
+
+ ASSERT
+ USAGE
+ RESOLVE
+));
+
+my @category_constants = (qw(
+ NONE
+ NOMEMORY
+ OS
+ INVALID
+ REFERENCE
+ ZLIB
+ REPOSITORY
+ CONFIG
+ REGEX
+ ODB
+ INDEX
+ OBJECT
+ NET
+ TAG
+ TREE
+ INDEXER
+ SSL
+ SUBMODULE
+ THREAD
+ STASH
+ CHECKOUT
+ FETCHHEAD
+ MERGE
+ SSH
+ FILTER
+ REVERT
+ CALLBACK
+ CHERRYPICK
+ DESCRIBE
+ REBASE
+ FILESYSTEM
+
+ INTERNAL
+));
+
+my @packbuilder_constants = (qw(
+ ADDING_OBJECTS
+ DELTAFICATION
+));
+
+my @stash_progress_constants = (qw(
+ NONE
+ LOADING_STASH
+ ANALYZE_INDEX
+ ANALYZE_MODIFIED
+ ANALYZE_UNTRACKED
+ CHECKOUT_UNTRACKED
+ CHECKOUT_MODIFIED
+ DONE
+));
+
+my @rebase_operation_constants = (qw(
+ PICK
+ REWORD
+ EDIT
+ SQUASH
+ FIXUP
+ EXEC
+));
+
+my @object_constants = (qw(
+ ANY
+ BAD
+ COMMIT
+ TREE
+ BLOB
+ TAG
+));
+
+ExtUtils::Constant::WriteConstants(
+ NAME => 'Git::Raw::Error',
+ NAMES => [@error_constants],
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c-error.inc',
+ XS_FILE => 'const-xs-error.inc',
+ XS_SUBNAME => '_constant',
+ C_SUBNAME => '_error_constant',
+);
+
+ExtUtils::Constant::WriteConstants(
+ NAME => 'Git::Raw::Error::Category',
+ NAMES => [@category_constants],
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c-category.inc',
+ XS_FILE => 'const-xs-category.inc',
+ XS_SUBNAME => '_constant',
+ C_SUBNAME => '_category_constant',
+);
+
+ExtUtils::Constant::WriteConstants(
+ NAME => 'Git::Raw::Packbuilder',
+ NAMES => [@packbuilder_constants],
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c-packbuilder.inc',
+ XS_FILE => 'const-xs-packbuilder.inc',
+ XS_SUBNAME => '_constant',
+ C_SUBNAME => '_packbuilder_constant',
+);
+
+ExtUtils::Constant::WriteConstants(
+ NAME => 'Git::Raw::Stash::Progress',
+ NAMES => [@stash_progress_constants],
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c-stash-progress.inc',
+ XS_FILE => 'const-xs-stash-progress.inc',
+ XS_SUBNAME => '_constant',
+ C_SUBNAME => '_stash_progress_constant',
+);
+
+ExtUtils::Constant::WriteConstants(
+ NAME => 'Git::Raw::Rebase::Operation',
+ NAMES => [@rebase_operation_constants],
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c-rebase-operation.inc',
+ XS_FILE => 'const-xs-rebase-operation.inc',
+ XS_SUBNAME => '_constant',
+ C_SUBNAME => '_rebase_operation_constant',
+);
+
+ExtUtils::Constant::WriteConstants(
+ NAME => 'Git::Raw::Object',
+ NAMES => [@object_constants],
+ DEFAULT_TYPE => 'IV',
+ C_FILE => 'const-c-object.inc',
+ XS_FILE => 'const-xs-object.inc',
+ XS_SUBNAME => '_constant',
+ C_SUBNAME => '_object_constant',
+);
+
+WriteMakefile(%WriteMakefileArgs);
+exit(0);
diff --git a/testing/perl-git-raw/libgit2-version-tests.patch b/testing/perl-git-raw/libgit2-version-tests.patch
new file mode 100644
index 00000000000..9f778dcf301
--- /dev/null
+++ b/testing/perl-git-raw/libgit2-version-tests.patch
@@ -0,0 +1,64 @@
+Patch-Source: https://sources.debian.org/data/main/libg/libgit-raw-perl/0.90+ds-2/debian/patches/libgit2-version-tests
+--
+Description: fix failing test
+ Patch out the expected libgit2 version from the test,
+ as the system library can have a different version.
+Origin: vendor
+Bug-Debian: https://bugs.debian.org/906482
+Forwarded: not-needed, cf. debian/patches/remove-convenience-libs
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2022-10-29
+
+--- a/t/02-commit.t
++++ b/t/02-commit.t
+@@ -231,6 +231,7 @@
+
+ my $commit2_id = $commit2 -> id;
+ my $patch = "\n".join("\n", grep { $_ !~ /^Date/ } split (/\n/, $commit2 -> as_email))."\n";
++$patch =~ s/(libgit2) [0-9.]+/$1/;
+ my $expected_patch = qq{
+ From $commit2_id Mon Sep 17 00:00:00 2001
+ From: Git::Raw author <git-xs\@example.com>
+@@ -250,7 +251,7 @@
+ +this is a second test
+ \\ No newline at end of file
+ --
+-libgit2 1.5.0
++libgit2
+ };
+
+ is $patch, $expected_patch;
+@@ -261,6 +262,7 @@
+ };
+
+ $patch = "\n".join("\n", grep { $_ !~ /^Date/ } split (/\n/, $commit2 -> as_email($email_opts, {})))."\n";
++$patch =~ s/(libgit2) [0-9.]+/$1/;
+ $expected_patch = qq{
+ From $commit2_id Mon Sep 17 00:00:00 2001
+ From: Git::Raw author <git-xs\@example.com>
+@@ -280,7 +282,7 @@
+ +this is a second test
+ \\ No newline at end of file
+ --
+-libgit2 1.5.0
++libgit2
+ };
+
+ is $patch, $expected_patch;
+@@ -290,6 +292,7 @@
+ };
+
+ $patch = "\n".join("\n", grep { $_ !~ /^Date/ } split (/\n/, $commit2 -> as_email($email_opts)))."\n";
++$patch =~ s/(libgit2) [0-9.]+/$1/;
+ $expected_patch = qq{
+ From $commit2_id Mon Sep 17 00:00:00 2001
+ From: Git::Raw author <git-xs\@example.com>
+@@ -309,7 +312,7 @@
+ +this is a second test
+ \\ No newline at end of file
+ --
+-libgit2 1.5.0
++libgit2
+ };
+
+ is $patch, $expected_patch;
diff --git a/testing/perl-git-repository/APKBUILD b/testing/perl-git-repository/APKBUILD
new file mode 100644
index 00000000000..430fd0ea35c
--- /dev/null
+++ b/testing/perl-git-repository/APKBUILD
@@ -0,0 +1,54 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-git-repository
+pkgver=1.325
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Git-Repository
+pkgdesc="Perl interface to Git repositories"
+url="https://metacpan.org/release/Git-Repository/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ git perl perl-git-version-compare
+ perl-namespace-clean perl-system-command
+ "
+checkdepends="perl-test-requires-git"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/B/BO/BOOK/Git-Repository-$pkgver.tar.gz
+ git-2.38.1-tests.patch
+ git-2.40.0-tests.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+eeaf7b975d6f6f7461ec4dbefb00bcd127badc5b7978910b6bd2493a13ccc4ff818e68ee22c4c23244af9446304122aee16544537bd1170c41dd6aabbba9b56c Git-Repository-1.325.tar.gz
+58516be4cde0b9bc0ceaa18600a316fc78886adf17965ab6aecebcc8949e0e4d92f75b63083634848aaf1a752b2cccf79cc85db4e51b290bab6c2acda95b0468 git-2.38.1-tests.patch
+019d44ef924dd2dc45cc3ad17b9eaf00d8ab84003c7c84d4962bf0654dbc4232373a6d67d2903d70bd4512331e201335286028e0ec63a79d1367695f954b4a60 git-2.40.0-tests.patch
+"
diff --git a/testing/perl-git-repository/git-2.38.1-tests.patch b/testing/perl-git-repository/git-2.38.1-tests.patch
new file mode 100644
index 00000000000..13ffc2f47b2
--- /dev/null
+++ b/testing/perl-git-repository/git-2.38.1-tests.patch
@@ -0,0 +1,33 @@
+Patch-Source: https://sources.debian.org/data/main/libg/libgit-repository-perl/1.325-3/debian/patches/gh-22.patch
+--
+From 4dc8dedb97891f37b9da2220e5740c65685b0906 Mon Sep 17 00:00:00 2001
+From: Jan Pazdziora <jpazdziora@redhat.com>
+Date: Mon, 31 Oct 2022 17:26:00 +0100
+Subject: [PATCH] Workaround change of behaviour in git 2.38.1 for
+ CVE-2022-39253.
+
+By default, protocol.file.allow now defaults to user, preventing
+clones with symlinks.
+
+https://github.blog/2022-10-18-git-security-vulnerabilities-announced/#cve-2022-39253
+
+
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=144889
+Bug-Debian: https://bugs.debian.org/1023597
+
+---
+ t/21-submodule.t | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/t/21-submodule.t b/t/21-submodule.t
+index 444029c..97374f8 100644
+--- a/t/21-submodule.t
++++ b/t/21-submodule.t
+@@ -44,6 +44,7 @@ $s->run( checkout => 'master', { quiet => 1 } );
+ # now test adding a submodule
+ my $r = test_repository(@init);
+ $r->run(
++ ( Git::Repository->version_ge('2.38.1') ? ('-c', 'protocol.file.allow=always') : ()),
+ submodule => add => $s->work_tree => 'sub',
+ { env => { GIT_WORK_TREE => undef } }
+ );
diff --git a/testing/perl-git-repository/git-2.40.0-tests.patch b/testing/perl-git-repository/git-2.40.0-tests.patch
new file mode 100644
index 00000000000..510c7999e2b
--- /dev/null
+++ b/testing/perl-git-repository/git-2.40.0-tests.patch
@@ -0,0 +1,24 @@
+Patch-Source: https://sources.debian.org/data/main/libg/libgit-repository-perl/1.325-3/debian/patches/git-2.40.0.patch
+--
+Description: Skip subtest when git version >= 2.40.0
+ 'git var GIT_EDITOR' behaviour was changed in git 2.40.0:
+ https://github.com/git/git/commit/2ad150e35e52705a97f18bee08f34e00a6557d6f
+ so skip the test which expect the old error messages if git is new enough.
+Origin: vendor
+Bug: https://github.com/book/Git-Repository/pull/23
+Forwarded: https://github.com/book/Git-Repository/pull/23
+Author: gregor herrmann <gregoa@debian.org>
+Last-Update: 2023-03-22
+
+--- a/t/20-simple.t
++++ b/t/20-simple.t
+@@ -85,6 +85,9 @@
+ skip "this test does not work with msysgit on Win32", 2
+ if $^O eq 'MSWin32';
+
++ skip "'git var GIT_EDITOR' behaviour was changed in git 2.40.0, and we have $version", 2
++ if Git::Repository->version_ge('2.40.0');
++
+ ok( !eval { $r->run( var => 'GIT_EDITOR' ); 1; }, 'git var GIT_EDITOR' );
+ like(
+ $@,
diff --git a/testing/perl-git-version-compare/APKBUILD b/testing/perl-git-version-compare/APKBUILD
new file mode 100644
index 00000000000..c53b5253043
--- /dev/null
+++ b/testing/perl-git-version-compare/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-git-version-compare
+pkgver=1.005
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Git-Version-Compare
+pkgdesc="Functions to compare Git versions"
+url="https://metacpan.org/release/Git-Version-Compare/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+checkdepends="perl-test-nowarnings"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/B/BO/BOOK/Git-Version-Compare-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+f58502ec282d4c36411c27143ae7a0f0abc751d508b90329a55a87d9812e43dfdba7dda372c7ae63783faa17ec61bf83ad4c99fa4be2a673fa4bc9489a13e246 Git-Version-Compare-1.005.tar.gz
+"
diff --git a/testing/perl-glib-ex-objectbits/APKBUILD b/testing/perl-glib-ex-objectbits/APKBUILD
index f40c924c3d7..c810081e960 100644
--- a/testing/perl-glib-ex-objectbits/APKBUILD
+++ b/testing/perl-glib-ex-objectbits/APKBUILD
@@ -4,25 +4,26 @@
pkgname=perl-glib-ex-objectbits
_pkgreal=Glib-Ex-ObjectBits
pkgver=16
-pkgrel=3
+pkgrel=5
pkgdesc="Helpers for Glib objects."
url="https://metacpan.org/release/Glib-Ex-ObjectBits"
arch="noarch"
license="GPL-3.0-or-later"
+options="!check" # fixme: Failed test 'store readonly-float, g_log warning'
depends="perl perl-devel-globaldestruction perl-glib"
+checkdepends="perl-test-weaken perl-gtk2 perl-pango"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
-
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make && make test
+check() {
+ make test
}
package() {
@@ -30,4 +31,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="e5820d251512121f4b44cfd67bcf44b1d94dfb756c5e646436684c45ff2d12f12cbfef4d9deb5deaaec0195ae1113448f0427dfe7f175ebd0ed878fb4ddcf671 Glib-Ex-ObjectBits-16.tar.gz"
+sha512sums="
+e5820d251512121f4b44cfd67bcf44b1d94dfb756c5e646436684c45ff2d12f12cbfef4d9deb5deaaec0195ae1113448f0427dfe7f175ebd0ed878fb4ddcf671 Glib-Ex-ObjectBits-16.tar.gz
+"
diff --git a/testing/perl-glib-object-introspection/APKBUILD b/testing/perl-glib-object-introspection/APKBUILD
index 89ad0412c39..c7770dc5d19 100644
--- a/testing/perl-glib-object-introspection/APKBUILD
+++ b/testing/perl-glib-object-introspection/APKBUILD
@@ -4,14 +4,14 @@
pkgname=perl-glib-object-introspection
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Glib-Object-Introspection
-pkgver=0.049
-pkgrel=2
+pkgver=0.051
+pkgrel=0
pkgdesc="Dynamically create Perl language bindings"
url="https://metacpan.org/release/Glib-Object-Introspection/"
arch="all"
license="GPL-2.0-or-later"
depends="perl perl-glib perl-extutils-pkgconfig perl-extutils-depends"
-makedepends="perl-dev perl-extutils-depends perl-extutils-pkgconfig perl-glib gobject-introspection-dev"
+makedepends="perl-dev gobject-introspection-dev"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/X/XA/XAOC/Glib-Object-Introspection-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -33,4 +33,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="fa927661dc761bfae9dba87e1e2d519b10c3aac4d6dcea37764972a0413a4f5025a12df640d66928b631c2933d4b0e6d02b559ea2c1eaa38fae6f7a9d98fe322 Glib-Object-Introspection-0.049.tar.gz"
+sha512sums="
+93ebe81b586270cbeca4296bfdd1d337d931b6349ca16a8e50bfc631c89a77d93f4d8076289e91bdcec0fdb732a2900b2a6c5e78e571c0c0fd4c7f5239cc0de5 Glib-Object-Introspection-0.051.tar.gz
+"
diff --git a/testing/perl-graphql-client/APKBUILD b/testing/perl-graphql-client/APKBUILD
new file mode 100644
index 00000000000..229e3f33ce2
--- /dev/null
+++ b/testing/perl-graphql-client/APKBUILD
@@ -0,0 +1,53 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-graphql-client
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=GraphQL-Client
+pkgver=0.605
+pkgrel=0
+pkgdesc="Execute GraphQL queries and mutations"
+url="https://metacpan.org/release/GraphQL-Client/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-http-anyua perl-json-maybexs perl-namespace-clean"
+checkdepends="perl-future perl-test-deep perl-test-exception"
+subpackages="$pkgname-cli $pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/C/CC/CCM/GraphQL-Client-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+cli() {
+ pkgdesc="$pkgdesc (command-line program)"
+ depends="
+ $pkgname=$pkgver-r$pkgrel
+ perl-json-path
+ perl-text-csv
+ perl-text-table-any
+ perl-yaml
+ "
+
+ amove usr/bin/graphql
+ amove usr/share/perl5/vendor_perl/GraphQL/Client/CLI.pm
+}
+
+sha512sums="
+c22b0afe26de013bca679a715359f0a6d3b40bd0e5b21cad95d25c50d785369ab309f380241438639472aa4e23ade45e2306ee507ac6ae2fbb068da9186ceba9 GraphQL-Client-0.605.tar.gz
+"
diff --git a/testing/perl-gtk2-ex-listmodelconcat/APKBUILD b/testing/perl-gtk2-ex-listmodelconcat/APKBUILD
index 69ee3abbfbd..637cd64aeae 100644
--- a/testing/perl-gtk2-ex-listmodelconcat/APKBUILD
+++ b/testing/perl-gtk2-ex-listmodelconcat/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-gtk2-ex-listmodelconcat
_pkgreal=Gtk2-Ex-ListModelConcat
pkgver=11
-pkgrel=2
+pkgrel=4
pkgdesc="Concatenate list models in Gtk2-Perl."
url="https://metacpan.org/release/Gtk2-Ex-ListModelConcat/"
arch="noarch"
@@ -12,25 +12,23 @@ license="open_source"
depends="perl perl-glib perl-gtk2 perl-glib-ex-objectbits perl-gtk2-ex-widgetbits"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make && make test
+check() {
+ make test
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="f46fb70aaa69ae2a669b87760dea950402576f81059590ef8d227c270ac2efdacc4959a698def46aa26a3e676349eb31085290ab5fcfea9c1ce6c56f23043cc4 Gtk2-Ex-ListModelConcat-11.tar.gz"
+sha512sums="
+f46fb70aaa69ae2a669b87760dea950402576f81059590ef8d227c270ac2efdacc4959a698def46aa26a3e676349eb31085290ab5fcfea9c1ce6c56f23043cc4 Gtk2-Ex-ListModelConcat-11.tar.gz
+"
diff --git a/testing/perl-gtk2-ex-widgetbits/APKBUILD b/testing/perl-gtk2-ex-widgetbits/APKBUILD
index 239057ffa81..f0389909bf3 100644
--- a/testing/perl-gtk2-ex-widgetbits/APKBUILD
+++ b/testing/perl-gtk2-ex-widgetbits/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-gtk2-ex-widgetbits
_pkgreal=Gtk2-Ex-WidgetBits
pkgver=48
-pkgrel=2
+pkgrel=3
pkgdesc="Helpers for Gtk2 widgets."
url="https://metacpan.org/release/Gtk2-Ex-WidgetBits/"
arch="noarch"
@@ -12,25 +12,23 @@ license="open_source"
depends="perl perl-glib perl-glib-ex-objectbits perl-gtk2 perl-scope-guard perl-pango"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make && make test
+check() {
+ make test
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="d67201f574dc5d081962e16b0439a9759a2e77a72f2530b9f7b6f7dfa214f6be39f91a0a11294d3903e490f6bf1abf1f3c1d09e765f3f9ebcc951cf59aacbbe3 Gtk2-Ex-WidgetBits-48.tar.gz"
+sha512sums="
+d67201f574dc5d081962e16b0439a9759a2e77a72f2530b9f7b6f7dfa214f6be39f91a0a11294d3903e490f6bf1abf1f3c1d09e765f3f9ebcc951cf59aacbbe3 Gtk2-Ex-WidgetBits-48.tar.gz
+"
diff --git a/testing/perl-gtk2/APKBUILD b/testing/perl-gtk2/APKBUILD
index d82e0cc6413..84a9f572780 100644
--- a/testing/perl-gtk2/APKBUILD
+++ b/testing/perl-gtk2/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-gtk2
_pkgreal=Gtk2
pkgver=1.24993
-pkgrel=3
+pkgrel=5
pkgdesc="Perl module for Gtk2"
# Failed test 'Don't crash on partial pixmap data'
options="!check"
diff --git a/testing/perl-gtk3/APKBUILD b/testing/perl-gtk3/APKBUILD
index 1defa9a4643..787700bcba8 100644
--- a/testing/perl-gtk3/APKBUILD
+++ b/testing/perl-gtk3/APKBUILD
@@ -5,13 +5,13 @@ pkgname=perl-gtk3
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Gtk3
pkgver=0.038
-pkgrel=0
+pkgrel=1
pkgdesc="Perl interface to the 3.x series of the gtk+ toolkit"
url="https://metacpan.org/release/Gtk3/"
arch="noarch"
license="GPL-2.0-or-later"
depends="perl perl-glib-object-introspection perl-cairo-gobject"
-makedepends="perl-cairo perl-glib-object-introspection perl-cairo-gobject gtk+3.0-dev"
+makedepends="perl-cairo gtk+3.0-dev"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/X/XA/XAOC/Gtk3-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
diff --git a/testing/perl-guard/APKBUILD b/testing/perl-guard/APKBUILD
index 2f9093e391a..613ae9e5fac 100644
--- a/testing/perl-guard/APKBUILD
+++ b/testing/perl-guard/APKBUILD
@@ -4,45 +4,30 @@
pkgname=perl-guard
_pkgreal=Guard
pkgver=1.023
-pkgrel=5
-pkgdesc="unknown"
+pkgrel=8
+pkgdesc="Perl module to cleanup blocks safely"
url="https://metacpan.org/release/Guard/"
arch="all"
license="GPL PerlArtistic"
-cpandepends=""
-cpanmakedepends=""
-cpancheckdepends=""
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
-checkdepends="$cpancheckdepends"
+makedepends="perl-dev"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/M/ML/MLEHMANN/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare || return 1
-
- cd "$builddir"
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+build() {
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$builddir"
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make
+check() {
+ make test
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-check() {
- cd "$builddir"
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="a991d6f9ebfadffbcabaccc45d964c40c46c7212c6de089f0c496040e151236c59cc7dd7076464f0ef96936f2c4cd462fbedf8e729d522f1090682eda976676f Guard-1.023.tar.gz"
+sha512sums="
+a991d6f9ebfadffbcabaccc45d964c40c46c7212c6de089f0c496040e151236c59cc7dd7076464f0ef96936f2c4cd462fbedf8e729d522f1090682eda976676f Guard-1.023.tar.gz
+"
diff --git a/testing/perl-hash-merge/APKBUILD b/testing/perl-hash-merge/APKBUILD
index f20c5e260d5..9ba319b2315 100644
--- a/testing/perl-hash-merge/APKBUILD
+++ b/testing/perl-hash-merge/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-hash-merge
_pkgreal=Hash-Merge
pkgver=0.302
-pkgrel=1
+pkgrel=2
pkgdesc="Merges arbitrarily deep hashes into a single hash"
url="https://metacpan.org/release/Hash-Merge/"
arch="noarch"
@@ -12,7 +12,7 @@ license="GPL PerlArtistic"
depends="perl perl-clone"
checkdepends="perl-clone-choose"
subpackages="$pkgname-doc"
-source=""https://cpan.metacpan.org/authors/id/H/HE/HERMES/Hash-Merge-$pkgver.tar.gz
+source="https://cpan.metacpan.org/authors/id/H/HE/HERMES/Hash-Merge-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
diff --git a/testing/perl-hash-ordered/APKBUILD b/testing/perl-hash-ordered/APKBUILD
new file mode 100644
index 00000000000..3f5df4fa997
--- /dev/null
+++ b/testing/perl-hash-ordered/APKBUILD
@@ -0,0 +1,46 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-hash-ordered
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Hash-Ordered
+pkgver=0.014
+pkgrel=0
+pkgdesc="Fast, pure-Perl ordered hash class"
+url="https://metacpan.org/release/Hash-Ordered/"
+arch="noarch"
+license="Apache-2.0"
+depends="perl"
+checkdepends="perl-test-deep perl-test-failwarnings perl-test-fatal"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Hash-Ordered-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+077abdd3b536f5b31d913c2c0849e1775f91daa5ca83734671088ab06d9fe11cf80f743e32c5db1bf70a874248337c3bebeafceef1a6e38078f92966474480c3 Hash-Ordered-0.014.tar.gz
+"
diff --git a/testing/perl-hook-lexwrap/APKBUILD b/testing/perl-hook-lexwrap/APKBUILD
deleted file mode 100644
index fe90b3816cd..00000000000
--- a/testing/perl-hook-lexwrap/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Timothy Legge <timlegge@gmail.com>
-# Maintainer: Timothy Legge <timlegge@gmail.com>
-pkgname=perl-hook-lexwrap
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=Hook-LexWrap
-pkgver=0.26
-pkgrel=0
-pkgdesc="Lexically scoped subroutine wrappers"
-url="https://metacpan.org/release/Hook-LexWrap/"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-checkdepends="perl-test-simple"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/Hook-LexWrap-$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="
-f7771d4fb8379f43fa5b864e345f4526603914c3c486c637ea07fb9e2d41569bf40948a9039fab7d10c683fb85e16a8653876613903d34cc6801fcc9e92aa58b Hook-LexWrap-0.26.tar.gz
-"
diff --git a/testing/perl-html-object/APKBUILD b/testing/perl-html-object/APKBUILD
new file mode 100644
index 00000000000..67fd06c8e9f
--- /dev/null
+++ b/testing/perl-html-object/APKBUILD
@@ -0,0 +1,51 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-html-object
+pkgver=0.3.1
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=HTML-Object
+pkgdesc="HTML parser, modifier and query interface"
+url="https://metacpan.org/release/HTML-Object/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-css-object perl-curry perl-data-uuid
+ perl-datetime-format-strptime perl-devel-confess
+ perl-html-parser perl-html-selector-xpath perl-json
+ perl-module-generic perl-promise-me perl-uri perl-want
+ "
+checkdepends="perl-datetime"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JD/JDEGUEST/HTML-Object-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+f1a96523f57cf30045b44871536980ca16cf57450c14fa60a64d908d881f3822f348f19998533c1406ddf97a9f7edd3bd14c472fd68536db8b3592ca08207fa9 HTML-Object-v0.3.1.tar.gz
+"
diff --git a/testing/perl-html-selector-xpath/APKBUILD b/testing/perl-html-selector-xpath/APKBUILD
new file mode 100644
index 00000000000..f7bdf22cca7
--- /dev/null
+++ b/testing/perl-html-selector-xpath/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-html-selector-xpath
+pkgver=0.28
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=HTML-Selector-XPath
+pkgdesc="CSS Selector to XPath compiler"
+url="https://metacpan.org/release/HTML-Selector-XPath/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+checkdepends="perl-test-base"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/C/CO/CORION/HTML-Selector-XPath-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+325c7aba8ddbf7c02be3ff6fd242ff6b936e79ca52c62c58e05b74c8a3f6e2c89e298d8b8b30751b15b4d5d2bd9dfa5e6dddf774928652641d2a54e59a2b5ac5 HTML-Selector-XPath-0.28.tar.gz
+"
diff --git a/testing/perl-html-tableextract/APKBUILD b/testing/perl-html-tableextract/APKBUILD
index 426afe29874..3c9fb15c588 100644
--- a/testing/perl-html-tableextract/APKBUILD
+++ b/testing/perl-html-tableextract/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-html-tableextract
_pkgreal=HTML-TableExtract
pkgver=2.15
-pkgrel=3
+pkgrel=4
pkgdesc="Perl module for extracting the content contained in tables within an HTML document"
url="https://metacpan.org/release/HTML-TableExtract/"
arch="noarch"
@@ -23,13 +23,13 @@ check() {
prepare() {
cd "$builddir"
default_prepare
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
}
build() {
cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make
}
diff --git a/testing/perl-http-thin/APKBUILD b/testing/perl-http-thin/APKBUILD
new file mode 100644
index 00000000000..9ac3bb386c9
--- /dev/null
+++ b/testing/perl-http-thin/APKBUILD
@@ -0,0 +1,41 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-http-thin
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=HTTP-Thin
+pkgver=0.006
+pkgrel=0
+pkgdesc="Thin Wrapper around HTTP::Tiny to play nice with HTTP::Message"
+url="https://metacpan.org/release/HTTP-Thin/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-class-method-modifiers perl-hash-multivalue
+ perl-http-message perl-safe-isa
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PERIGRIN/HTTP-Thin-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+634205dfc81030c0b264cc82589d50984a7d2710144a5b7fe9134ea49fa8195155e6ec99a462bfb0b37a2c8d4db9af4defa626f06a3287a1548078172b97573e HTTP-Thin-0.006.tar.gz
+"
diff --git a/testing/perl-http-xsheaders/APKBUILD b/testing/perl-http-xsheaders/APKBUILD
new file mode 100644
index 00000000000..5bcbae6c498
--- /dev/null
+++ b/testing/perl-http-xsheaders/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-http-xsheaders
+pkgver=0.400005
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=HTTP-XSHeaders
+pkgdesc="Fast XS Header library, replacing HTTP::Headers(::Fast)"
+url="https://metacpan.org/release/HTTP-XSHeaders/"
+arch="all"
+license="MIT"
+depends="perl perl-http-date perl-uri"
+makedepends="perl-dev"
+checkdepends="perl-http-headers-fast perl-http-message perl-test-memorygrowth"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX/HTTP-XSHeaders-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -Dvm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
+sha512sums="
+35b8a169b91d7fb17138435b704d596236079455c409ba6115a74d0bbdec189f16fef6e629f561662c4b56c737e3c169da346bf7ddae23a6f07c07c0ddde57ba HTTP-XSHeaders-0.400005.tar.gz
+"
diff --git a/testing/perl-i18n-langinfo-wide/APKBUILD b/testing/perl-i18n-langinfo-wide/APKBUILD
index 9cdea147412..650f2aa7f14 100644
--- a/testing/perl-i18n-langinfo-wide/APKBUILD
+++ b/testing/perl-i18n-langinfo-wide/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-i18n-langinfo-wide
_pkgreal=I18N-Langinfo-Wide
pkgver=9
-pkgrel=2
+pkgrel=4
pkgdesc="Langinfo and POSIX functions with wide-char strings."
url="https://metacpan.org/release/I18N-Langinfo-Wide/"
arch="noarch"
@@ -13,25 +13,23 @@ depends="perl"
makedepends="perl-devel-stacktrace"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/K/KR/KRYDE/$_pkgreal-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make #&& make test
+check() {
+ make test
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="4b3349e4096217e055092651522ee89d0ff949b235c977eede002ce604204ccb057b9a1b3293480bed36e9792e11cdabf5c15eecb280afe7228b5c7030044860 I18N-Langinfo-Wide-9.tar.gz"
+sha512sums="
+4b3349e4096217e055092651522ee89d0ff949b235c977eede002ce604204ccb057b9a1b3293480bed36e9792e11cdabf5c15eecb280afe7228b5c7030044860 I18N-Langinfo-Wide-9.tar.gz
+"
diff --git a/testing/perl-indirect/APKBUILD b/testing/perl-indirect/APKBUILD
new file mode 100644
index 00000000000..2c2eaabb1d0
--- /dev/null
+++ b/testing/perl-indirect/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-indirect
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=indirect
+pkgver=0.39
+pkgrel=0
+pkgdesc="Lexically warn about using the indirect method call syntax"
+url="https://metacpan.org/release/indirect/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/V/VP/VPIT/indirect-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+d3275a2cab2eeceef61756e08947d3072c0ce5cea2e8b70870c5fcbd9c63e56cf70568395002b7d02060cad3482f7f56723b1ad85fcf0a4c4ee2568b5035816c indirect-0.39.tar.gz
+"
diff --git a/testing/perl-io-async-resolver-dns/APKBUILD b/testing/perl-io-async-resolver-dns/APKBUILD
new file mode 100644
index 00000000000..8805b98c294
--- /dev/null
+++ b/testing/perl-io-async-resolver-dns/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-io-async-resolver-dns
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=IO-Async-Resolver-DNS
+pkgver=0.06
+pkgrel=0
+pkgdesc="Resolve DNS queries using IO::Async"
+url="https://metacpan.org/release/IO-Async-Resolver-DNS/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-future perl-io-async perl-list-utilsby perl-net-dns"
+makedepends="perl-module-build"
+checkdepends="perl-net-libresolv"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/IO-Async-Resolver-DNS-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+1b884b3f35badcfc9630b93ea2bb71020f411400a494f39a3264808fc384355ea4c029527b7b784b2440a13ad7b6c9c9fe2275506f66b2065283e9d03ea14c28 IO-Async-Resolver-DNS-0.06.tar.gz
+"
diff --git a/testing/perl-io-lambda/APKBUILD b/testing/perl-io-lambda/APKBUILD
new file mode 100644
index 00000000000..78985c9757a
--- /dev/null
+++ b/testing/perl-io-lambda/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-io-lambda
+pkgver=1.33
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=IO-Lambda
+pkgdesc="Non-blocking I/O as lambda calculus"
+url="https://metacpan.org/release/IO-Lambda/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-libwww perl-net-dns perl-sub-name perl-uri"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KA/KARASIK/IO-Lambda-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+12a805368b8750724329e281941a16ba4369e5b29b87a182b14d9f56a5ffa7477e0bd7d62cf20cc114a1b65062949ce8ef6ee83bc4c5d52643e0f4a3d8e18fbe IO-Lambda-1.33.tar.gz
+"
diff --git a/testing/perl-io-sessiondata/APKBUILD b/testing/perl-io-sessiondata/APKBUILD
index c84585f30ef..6df2af68ab6 100644
--- a/testing/perl-io-sessiondata/APKBUILD
+++ b/testing/perl-io-sessiondata/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-io-sessiondata
_pkgreal=IO-SessionData
pkgver=1.03
-pkgrel=2
+pkgrel=3
pkgdesc="supporting module for SOAP::Lite"
url="https://metacpan.org/release/IO-SessionData"
arch="noarch"
diff --git a/testing/perl-io-socket-timeout/APKBUILD b/testing/perl-io-socket-timeout/APKBUILD
deleted file mode 100644
index 636148fe603..00000000000
--- a/testing/perl-io-socket-timeout/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
-# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
-
-pkgname=perl-io-socket-timeout
-_pkgreal=IO-Socket-Timeout
-pkgver=0.32
-pkgrel=1
-pkgdesc="IO::Socket with read/write timeout"
-url="https://metacpan.org/release/IO-Socket-Timeout/"
-arch="noarch !armv7 !x86 !armhf" # test failures
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl perl-perlio-via-timeout perl-test-tcp"
-makedepends="perl-module-build-tiny"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/D/DA/DAMS/IO-Socket-Timeout-$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="013ad036c796880ab464b18f642260609095cf40c74f3127abaf3c8a596ba8ee85746129dc84d2d1e6f1bbfc86d75969e99c5a9b67736fa3e5e8bc7f5ddf83a6 IO-Socket-Timeout-0.32.tar.gz"
diff --git a/testing/perl-json-any/APKBUILD b/testing/perl-json-any/APKBUILD
deleted file mode 100644
index a7bf723767b..00000000000
--- a/testing/perl-json-any/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=perl-json-any
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=JSON-Any
-pkgver=1.39
-pkgrel=0
-pkgdesc="(DEPRECATED) Wrapper Class for the various JSON classes"
-url="https://metacpan.org/release/JSON-Any/"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-dev"
-checkdepends="
- perl-cpanel-json-xs
- perl-json-maybexs
- perl-json-xs
- perl-test-warnings
- perl-test-without-module
- perl-test-fatal
- perl-test-requires
- perl-yaml-syck
- "
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/JSON-Any-$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="
-a4e9494ef650fe6f0144fddad49962e717470390b5783ab7bed6ef1c34fa7aa3d4f8699b9967ec8ca8813f43ee8c1d594e5af4d4962929791aa95b470104cd9b JSON-Any-1.39.tar.gz
-"
diff --git a/testing/perl-json-maybeutf8/APKBUILD b/testing/perl-json-maybeutf8/APKBUILD
new file mode 100644
index 00000000000..f42008a468a
--- /dev/null
+++ b/testing/perl-json-maybeutf8/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-json-maybeutf8
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=JSON-MaybeUTF8
+pkgver=2.000
+pkgrel=0
+pkgdesc="Simple wrapper for explicit JSON Unicode text/UTF-8 byte functions"
+url="https://metacpan.org/release/JSON-MaybeUTF8/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-json-maybexs perl-unicode-utf8"
+checkdepends="perl-test-checkdeps perl-test-deep"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/JSON-MaybeUTF8-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cef0e04695c1f5f6e7e0ba6ec43766d4a46b7457955f13c218207450836eaa06f88cf2596876090584b908c71a40cbce35a82f8cc471891027d5a42a611f2fe6 JSON-MaybeUTF8-2.000.tar.gz
+"
diff --git a/testing/perl-json-path/APKBUILD b/testing/perl-json-path/APKBUILD
new file mode 100644
index 00000000000..16a1ad84c1b
--- /dev/null
+++ b/testing/perl-json-path/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-json-path
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=JSON-Path
+pkgver=1.0.4
+pkgrel=0
+pkgdesc="Search nested hashref/arrayref structures using JSONPath"
+url="https://metacpan.org/release/JSON-Path/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-carp-assert perl-exporter-tiny perl-json-maybexs
+ perl-lv perl-readonly perl-try-tiny
+ "
+checkdepends="perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PO/POPEFELIX/JSON-Path-$pkgver.tar.gz
+ no-tie-ixhash.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+89819d9afb8302f1b07d5d8376614f406c6e47017aef42fa0a4064a2d843d21d5aec83451f05ef66e62cd9118ebed12761d601c498efe43fcf1fce60308ff15f JSON-Path-1.0.4.tar.gz
+77471715204552bd6c49b8ce0e7082b4cc4ea94a7d6c23bb9d32a04453a541de76ca7a40df82f3b2325bcb60e3ff05a5f0f79123184706b269bb6cb2f92e8358 no-tie-ixhash.patch
+"
diff --git a/testing/perl-json-path/no-tie-ixhash.patch b/testing/perl-json-path/no-tie-ixhash.patch
new file mode 100644
index 00000000000..f943faeb3af
--- /dev/null
+++ b/testing/perl-json-path/no-tie-ixhash.patch
@@ -0,0 +1,36 @@
+Patch-Source: https://github.com/PopeFelix/p5-json-path/commit/a042749fb2e0103c3fa58fc02b70992fe34be7a9.patch
+--
+From a042749fb2e0103c3fa58fc02b70992fe34be7a9 Mon Sep 17 00:00:00 2001
+From: bernhard <Bernhard.Schmalhofer@gmx.de>
+Date: Mon, 11 Dec 2023 21:03:21 +0100
+Subject: [PATCH] Do not require Tie::IxHash
+
+---
+ cpanfile | 1 -
+ t/evaluator/paths.t | 1 -
+ 2 files changed, 2 deletions(-)
+
+diff --git a/cpanfile b/cpanfile
+index b1e5ff8..85eb5be 100644
+--- a/cpanfile
++++ b/cpanfile
+@@ -6,7 +6,6 @@ requires 'List::Util' => '1.45'; # For uniq.
+ requires 'Readonly';
+ requires 'Try::Tiny';
+ requires 'perl' => '5.010';
+-requires 'Tie::IxHash';
+
+ on test => sub {
+ requires 'Test2::V0';
+diff --git a/t/evaluator/paths.t b/t/evaluator/paths.t
+index 6db78ae..3e301af 100644
+--- a/t/evaluator/paths.t
++++ b/t/evaluator/paths.t
+@@ -2,7 +2,6 @@ use Test2::V0;
+ use JSON::MaybeXS qw/encode_json decode_json/;
+ use JSON::Path::Evaluator;
+ use Storable qw(dclone);
+-use Tie::IxHash;
+
+ my $json = sample_json();
+ my %data = %{ decode_json($json) };
diff --git a/testing/perl-json-validator/APKBUILD b/testing/perl-json-validator/APKBUILD
new file mode 100644
index 00000000000..9dfefdfacb6
--- /dev/null
+++ b/testing/perl-json-validator/APKBUILD
@@ -0,0 +1,51 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-json-validator
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=JSON-Validator
+pkgver=5.14
+pkgrel=0
+pkgdesc="Validate data against a JSON schema"
+url="https://metacpan.org/release/JSON-Validator/"
+arch="noarch"
+license="Artistic-2.0"
+depends="
+ perl perl-data-validate-domain perl-data-validate-ip
+ perl-mojolicious perl-net-idn-encode perl-yaml-libyaml
+ "
+checkdepends="perl-test-deep"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JH/JHTHORSEN/JSON-Validator-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+# no perl-sereal-encoder on 32-bit ARM
+case "$CARCH" in
+armv7|armhf)
+ ;;
+*)
+ depends="$depends perl-sereal-encoder"
+ ;;
+esac
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+411c729c8cb2363a300ba69710545a61565055c1e89f666ee830866131d8c0ad849435f5cbe2fd5e9b083e0efab3e451f51810698acb116a16f5c1c1faea608a JSON-Validator-5.14.tar.gz
+"
diff --git a/testing/perl-libapreq2/APKBUILD b/testing/perl-libapreq2/APKBUILD
index 5baf72702c8..0d79a177d91 100644
--- a/testing/perl-libapreq2/APKBUILD
+++ b/testing/perl-libapreq2/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-libapreq2
_pkgreal=libapreq2
-pkgver=2.16
-pkgrel=0
+pkgver=2.17
+pkgrel=1
pkgdesc="Perl module for libapreq2"
url="https://metacpan.org/release/libapreq2/"
arch="all"
@@ -12,7 +12,7 @@ depends="apache2 perl"
subpackages="$pkgname-dev $pkgname-doc"
install="$pkgname.post-install"
makedepends="perl-extutils-xsbuilder perl-dev libtool apache2-dev apache2-mod-perl-dev expat-dev apr-util-dev"
-source="https://cpan.metacpan.org/authors/id/S/SH/SHAY/libapreq2-$pkgver.tar.gz
+source="https://dlcdn.apache.org//httpd/libapreq/libapreq2-$pkgver.tar.gz
libapreq2-2.08-doc.patch
link-in-apr-shared-objects.patch
$pkgname.conf"
@@ -35,7 +35,7 @@ package() {
}
sha512sums="
-aa9e751a3f0d6a9cb587aa1c5408e8d9a073560860d7f653776196fe3739516df16abe943c9cb0460cfb9b68a2d79ad651cfd5e4a30a2ca34d6dc3ced73f628c libapreq2-2.16.tar.gz
+89b139b8673145d9e2d8fd77d36f878c519c1deb7f9b853cda2a15d34cbb619d1c5e784ba21553f23c2ef07803f07c75a83d96cd770f80e1b36283a4cbb88999 libapreq2-2.17.tar.gz
dc889d7890d9059efdb3fcd4d6b1e485929b69c073ff6266b90f82e89efe5bdd633fd4dc09ccd4aac3f8816271c00dca69b39ffe4706baf7d3094404784cd766 libapreq2-2.08-doc.patch
04b41c1e0694f53c5164e92c6cd81236f8030a265d9af4f5160c051425c9fa75c6326728734c31fc3f61baa88ae40924ef78974bd3cd2af719cb3bb9bb9428d3 link-in-apr-shared-objects.patch
e7fa4f3b51cbc6417369ba171ac0fb955ec0cd6d3575e07e7451ef2a8165d24ddbbcc3143a5c8106a757ecd7d4286a11a9ff87e27c1acff8abc48110fcb02e1f perl-libapreq2.conf
diff --git a/testing/perl-libintl-perl/APKBUILD b/testing/perl-libintl-perl/APKBUILD
index a8e88d4575f..5bfa13b8afb 100644
--- a/testing/perl-libintl-perl/APKBUILD
+++ b/testing/perl-libintl-perl/APKBUILD
@@ -1,33 +1,29 @@
-# Automatically generated by apkbuild-cpan, template 1
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-libintl-perl
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=libintl-perl
-pkgver=1.32
-pkgrel=0
-pkgdesc="unknown"
+pkgver=1.33
+pkgrel=1
+pkgdesc="High-Level Interface to Uniforum Message Translation"
url="https://metacpan.org/release/libintl-perl/"
arch="noarch"
-license="GPL PerlArtistic"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
+makedepends="perl-dev"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/G/GU/GUIDO/$_pkgreal-$pkgver.tar.gz"
-
+source="https://cpan.metacpan.org/authors/id/G/GU/GUIDO/libintl-perl-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_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}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
make
}
check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make test
}
@@ -36,4 +32,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="fca6c8863dfd36c7604bc80a401e825eb707bc75016521c09006c34c170a41b009d30ec93d7e2a7f61caa1dbdf0333511c3d515d4fdc0fea32242eca68a7e35d libintl-perl-1.32.tar.gz"
+sha512sums="
+494486d2e2f07fa8ee4c4b9d7b2576973772330aab7736488a692c54a6b250b0b7c06892d8cffc164346b9ebd3549141378fc84da339eaa4b34dc16c4f1a59b6 libintl-perl-1.33.tar.gz
+"
diff --git a/testing/perl-lingua-en-inflect/APKBUILD b/testing/perl-lingua-en-inflect/APKBUILD
deleted file mode 100644
index c332e7e378b..00000000000
--- a/testing/perl-lingua-en-inflect/APKBUILD
+++ /dev/null
@@ -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-lingua-en-inflect
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=Lingua-EN-Inflect
-pkgver=1.905
-pkgrel=0
-pkgdesc="Convert singular to plural. Select 'a' or 'an'"
-url="https://metacpan.org/release/Lingua-EN-Inflect/"
-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/D/DC/DCONWAY/Lingua-EN-Inflect-$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="394671c4a645edd426d3f8d7b3980aac10345b68f9c7d2558f46ec3b7ffadad86138c5f27d3afd64e2c193c6d20a537f179ff01aa40a84cd1cee718e4afde42b Lingua-EN-Inflect-1.905.tar.gz"
diff --git a/testing/perl-linux-pid/APKBUILD b/testing/perl-linux-pid/APKBUILD
index 9e84de72324..bdb98cc1bce 100644
--- a/testing/perl-linux-pid/APKBUILD
+++ b/testing/perl-linux-pid/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-linux-pid
_pkgreal=Linux-Pid
pkgver=0.04
-pkgrel=10
+pkgrel=12
pkgdesc="Get the native PID and the PPID on Linux"
url="https://metacpan.org/release/Linux-Pid/"
arch="all"
@@ -20,13 +20,13 @@ builddir="$srcdir/$_pkgreal-$pkgver"
prepare() {
cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
}
build() {
cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make
}
diff --git a/testing/perl-list-binarysearch-xs/APKBUILD b/testing/perl-list-binarysearch-xs/APKBUILD
new file mode 100644
index 00000000000..981800a82fd
--- /dev/null
+++ b/testing/perl-list-binarysearch-xs/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-list-binarysearch-xs
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=List-BinarySearch-XS
+pkgver=0.09
+pkgrel=0
+pkgdesc="Binary Search a sorted array with XS routines"
+url="https://metacpan.org/release/List-BinarySearch-XS/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAVIDO/List-BinarySearch-XS-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+feb4475706e9ae93ab82b8844dab765d93d97715b0687603c0a153ef3305b62cae4d1fb1cc34326eb9ea0f4ea1cdfe0a9e4d049b3a3756b986de83d3a3fe021c List-BinarySearch-XS-0.09.tar.gz
+"
diff --git a/testing/perl-list-binarysearch/APKBUILD b/testing/perl-list-binarysearch/APKBUILD
new file mode 100644
index 00000000000..1cc0c357f90
--- /dev/null
+++ b/testing/perl-list-binarysearch/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-list-binarysearch
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=List-BinarySearch
+pkgver=0.25
+pkgrel=0
+pkgdesc="Binary Search within a sorted array"
+url="https://metacpan.org/release/List-BinarySearch/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-list-binarysearch-xs"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAVIDO/List-BinarySearch-$pkgver.tar.gz
+ documentation.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cc2b3234fc6f14ce656f2744eb3612afea970b64b46e7288c16047c73db8095ca32aad735660a5152d1cfb8c2ee1202ec2b6a5fe151b81ccf17f4c84ced87596 List-BinarySearch-0.25.tar.gz
+1a25175b0d475830d9531afbf6f61a4fa8d256119dfc64d90d13f6c4c27228d47ea7d5a97919853d0997512697def158d1294cb45e52cb5d52ab00268fd9a20b documentation.patch
+"
diff --git a/testing/perl-list-binarysearch/documentation.patch b/testing/perl-list-binarysearch/documentation.patch
new file mode 100644
index 00000000000..d66a6fce7cb
--- /dev/null
+++ b/testing/perl-list-binarysearch/documentation.patch
@@ -0,0 +1,24 @@
+Patch-Source: https://github.com/daoswald/List-BinarySearch/pull/4.patch
+--
+From 035981013670af1c1503684e410b2f13cd10016d Mon Sep 17 00:00:00 2001
+From: Martin Barth <ufobat@users.noreply.github.com>
+Date: Thu, 21 Sep 2017 09:25:13 +0200
+Subject: [PATCH] Fixed a little mistake in the POD
+
+---
+ lib/List/BinarySearch.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/List/BinarySearch.pm b/lib/List/BinarySearch.pm
+index a51e7f5..362c15c 100644
+--- a/lib/List/BinarySearch.pm
++++ b/lib/List/BinarySearch.pm
+@@ -324,7 +324,7 @@ As an example, consider the following data structure:
+
+ A numeric custom comparator for such a data structure would look like this:
+
+- sub{ $a <=> $b->[0] }
++ sub{ $a->[0] <=> $b->[0] }
+
+ In this regard, the callback is unlike C<sort>, because C<sort> is always
+ comparing to elements, whereas C<binsearch> is comparing a target with an
diff --git a/testing/perl-lockfile-simple/APKBUILD b/testing/perl-lockfile-simple/APKBUILD
deleted file mode 100644
index e0a5e01de2f..00000000000
--- a/testing/perl-lockfile-simple/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: TBK <tbk@jjtc.eu>
-pkgname=perl-lockfile-simple
-_pkgreal=LockFile-Simple
-__pkgreal=lockfile-simple
-pkgver=0.208
-pkgrel=2
-pkgdesc="Simple file locking scheme"
-url="https://metacpan.org/release/LockFile-Simple/"
-arch="noarch"
-license="GPL PerlArtistic"
-depends="perl"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/S/SC/SCHWIGON/$__pkgreal/$_pkgreal-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-}
-
-build() {
- cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make
-}
-
-check() {
- cd "$builddir"
- make test
-}
-
-package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="a1234d11cdb7bb98bd3d6c2504697187f2f7979c7acd7cfb0398f358f390af7b5eb7d834e83c83b0515199ac8d9a306d7fcdc96df04b0513f821887ad49fd67e LockFile-Simple-0.208.tar.gz"
diff --git a/testing/perl-log-fu/APKBUILD b/testing/perl-log-fu/APKBUILD
index a889fd93b93..3132f5feb46 100644
--- a/testing/perl-log-fu/APKBUILD
+++ b/testing/perl-log-fu/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-log-fu
_pkgreal=Log-Fu
pkgver=0.31
-pkgrel=2
+pkgrel=4
pkgdesc="Simplified and developer-friendly screen logging"
url="https://metacpan.org/release/Log-Fu/"
arch="noarch"
@@ -12,25 +12,23 @@ license="GPL PerlArtistic"
depends="perl perl-dir-self perl-constant-generate"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/M/MN/MNUNBERG/$_pkgreal-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make && make test
+check() {
+ make test
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="ae32b5231c44eac0e1e23a863b4d7f57a0d3018516c6b121cd19034e52adbf5875e9bbc3468a808b64829d6992e8b7303ff3d62129670befe38bc75d28e03eff Log-Fu-0.31.tar.gz"
+sha512sums="
+ae32b5231c44eac0e1e23a863b4d7f57a0d3018516c6b121cd19034e52adbf5875e9bbc3468a808b64829d6992e8b7303ff3d62129670befe38bc75d28e03eff Log-Fu-0.31.tar.gz
+"
diff --git a/testing/perl-log-message-simple/APKBUILD b/testing/perl-log-message-simple/APKBUILD
index 91bb6c9c635..37bfdca2e8c 100644
--- a/testing/perl-log-message-simple/APKBUILD
+++ b/testing/perl-log-message-simple/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-log-message-simple
_pkgreal=Log-Message-Simple
pkgver=0.10
-pkgrel=2
+pkgrel=3
pkgdesc="Simplified interface to Log::Message"
url="https://metacpan.org/release/Log-Message-Simple/"
arch="noarch"
diff --git a/testing/perl-log-message/APKBUILD b/testing/perl-log-message/APKBUILD
index c31373e113e..e7576047336 100644
--- a/testing/perl-log-message/APKBUILD
+++ b/testing/perl-log-message/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-log-message
_pkgreal=Log-Message
pkgver=0.08
-pkgrel=2
+pkgrel=3
pkgdesc="Powerful and flexible message logging mechanism"
url="https://metacpan.org/release/Log-Message/"
arch="noarch"
diff --git a/testing/perl-lv/APKBUILD b/testing/perl-lv/APKBUILD
new file mode 100644
index 00000000000..d540c51bb79
--- /dev/null
+++ b/testing/perl-lv/APKBUILD
@@ -0,0 +1,59 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-lv
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=LV
+pkgver=0.006
+pkgrel=0
+pkgdesc="Create lvalue subroutines"
+url="https://metacpan.org/release/LV/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-sub-name"
+checkdepends="perl-sentinel perl-variable-magic"
+subpackages="
+ $pkgname-doc
+ $pkgname-backend-magic
+ $pkgname-backend-sentinel
+ "
+source="https://cpan.metacpan.org/authors/id/T/TO/TOBYINK/LV-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+magic() {
+ pkgdesc="$pkgdesc (Variable::Magic backend)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-variable-magic"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-variable-magic"
+
+ amove usr/share/perl5/vendor_perl/LV/Backend/Magic.pm
+}
+
+sentinel() {
+ pkgdesc="$pkgdesc (Sentinel backend)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-sentinel"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-sentinel"
+
+ amove usr/share/perl5/vendor_perl/LV/Backend/Sentinel.pm
+}
+
+sha512sums="
+24d211728845e29e3a7360251c8ef3a9d8666eff9ee08c06bf7d02b66cf599c17ac143dec3439d52256ae608e7c8c382a71270126e4724916c67c75034a44024 LV-0.006.tar.gz
+"
diff --git a/testing/perl-lwp-online/APKBUILD b/testing/perl-lwp-online/APKBUILD
new file mode 100644
index 00000000000..721febfc19e
--- /dev/null
+++ b/testing/perl-lwp-online/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-lwp-online
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=LWP-Online
+pkgver=1.08
+pkgrel=0
+pkgdesc="Does your process have access to the web"
+url="https://metacpan.org/release/LWP-Online/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-libwww perl-uri"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/A/AD/ADAMK/LWP-Online-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+2b255f60ee6521757ce3d49cc0720e3985ff17e3db7b7868ced6a9e1c5444dc067c80b7d34dbe7be9679c134f3de1dbe0e9421a1a20ff388c812aacd1d964497 LWP-Online-1.08.tar.gz
+"
diff --git a/testing/perl-lwp-useragent-cached/APKBUILD b/testing/perl-lwp-useragent-cached/APKBUILD
index 0ba82401ec6..01ab264918e 100644
--- a/testing/perl-lwp-useragent-cached/APKBUILD
+++ b/testing/perl-lwp-useragent-cached/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=perl-lwp-useragent-cached
pkgver=0.08
-pkgrel=0
+pkgrel=1
pkgdesc="UserAgent with simple caching mechanism"
url="https://metacpan.org/release/LWP-UserAgent-Cache"
arch="noarch"
diff --git a/testing/perl-mastodon-client/APKBUILD b/testing/perl-mastodon-client/APKBUILD
new file mode 100644
index 00000000000..8b4de7f6f59
--- /dev/null
+++ b/testing/perl-mastodon-client/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-mastodon-client
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Mastodon-Client
+pkgver=0.017
+pkgrel=0
+pkgdesc="Talk to a Mastodon server"
+url="https://metacpan.org/release/Mastodon-Client/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-class-load perl-datetime perl-datetime-format-strptime
+ perl-future perl-http-message perl-http-thin perl-image-info
+ perl-io-async perl-json-maybexs perl-log-any perl-moo
+ perl-net-async-http perl-role-eventemitter perl-try-tiny
+ perl-type-tiny perl-types-path-tiny perl-uri
+ "
+checkdepends="perl-plack perl-test-tcp perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JJ/JJATRIA/Mastodon-Client-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+74cd5eaed6d6be1c28e0560e940adf4d18f6da292e49209b36849e65ffd5a6f805944414dc6d31c2169312f784b8b7dc50269840ebb594ce6dec9758813b0eb1 Mastodon-Client-0.017.tar.gz
+"
diff --git a/testing/perl-math-int64/APKBUILD b/testing/perl-math-int64/APKBUILD
new file mode 100644
index 00000000000..ae6443e46c9
--- /dev/null
+++ b/testing/perl-math-int64/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Timothy Legge <timlegge@gmail.com>
+# Maintainer: Timothy Legge <timlegge@gmail.com>
+pkgname=perl-math-int64
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Math-Int64
+pkgver=0.57
+pkgrel=0
+pkgdesc="Manipulate 64 bits integers in Perl"
+url="https://metacpan.org/release/Math-Int64/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/S/SA/SALVA/Math-Int64-$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="
+2039822523dd7b960b0015e68b9caa1e3061a7434c2931f0cc49c503ee8dd17178cef5cebf69a6907af82564bc1f09946e9817fc4c4b19757b91fe2ef5423b9e Math-Int64-0.57.tar.gz
+"
diff --git a/testing/perl-math-libm/APKBUILD b/testing/perl-math-libm/APKBUILD
index 95090c98b3b..6a1a6acf68e 100644
--- a/testing/perl-math-libm/APKBUILD
+++ b/testing/perl-math-libm/APKBUILD
@@ -4,36 +4,31 @@
pkgname=perl-math-libm
_pkgreal=Math-Libm
pkgver=1.00
-pkgrel=10
-pkgdesc="unknown"
+pkgrel=13
+pkgdesc="Perl extension for the C math library, libm"
url="https://metacpan.org/release/Math-Libm/"
arch="all"
license="GPL PerlArtistic"
-cpandepends=""
-cpanmakedepends=" "
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
+makedepends="perl-dev"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/D/DS/DSLEWART/$_pkgreal-$pkgver.tar.gz"
-_builddir="$srcdir/$_pkgreal-$pkgver"
+builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+build() {
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make && make test
+check() {
+ make test
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="17a1f38e32a82ec9a0307033920559dfe554fdae43b9fefffd7dc0ff690b6c5018079bded8554135da8546ccaf8dc0890e7e9b9a1e3845e53d46c993cec11540 Math-Libm-1.00.tar.gz"
+sha512sums="
+17a1f38e32a82ec9a0307033920559dfe554fdae43b9fefffd7dc0ff690b6c5018079bded8554135da8546ccaf8dc0890e7e9b9a1e3845e53d46c993cec11540 Math-Libm-1.00.tar.gz
+"
diff --git a/testing/perl-math-random-isaac-xs/APKBUILD b/testing/perl-math-random-isaac-xs/APKBUILD
index 4f791d025e4..4d27426de17 100644
--- a/testing/perl-math-random-isaac-xs/APKBUILD
+++ b/testing/perl-math-random-isaac-xs/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-math-random-isaac-xs
_pkgreal=Math-Random-ISAAC-XS
pkgver=1.004
-pkgrel=5
+pkgrel=7
pkgdesc="C implementation of the ISAAC PRNG algorithm"
url="https://metacpan.org/release/Math-Random-ISAAC-XS/"
arch="all"
diff --git a/testing/perl-mce/APKBUILD b/testing/perl-mce/APKBUILD
index 5e33e49aaea..66eb27fd0e8 100644
--- a/testing/perl-mce/APKBUILD
+++ b/testing/perl-mce/APKBUILD
@@ -3,8 +3,8 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=perl-mce
_pkgreal=MCE
-pkgver=1.874
-pkgrel=1
+pkgver=1.889
+pkgrel=0
pkgdesc="Many-Core Engine for Perl providing parallel processing capabilities"
url="https://metacpan.org/release/MCE"
arch="noarch"
@@ -36,4 +36,6 @@ check() {
make test
}
-sha512sums="5d6c4684083f8cda9d69db3f426da42943ecdd33a18a41d8c0138964b338a4f37db63b50f36456e22930519d10990b4a1e300c5e27496d769d332208f6329e87 MCE-1.874.tar.gz"
+sha512sums="
+47790c91cfe21e977a53c1c897802b34dc50d3a39631d991e8b95719593e82fa425c756a317d5e0f93d6a48be590b171eb88d90b7de166e264a5b7dcfadc7ebb MCE-1.889.tar.gz
+"
diff --git a/testing/perl-memory-process/APKBUILD b/testing/perl-memory-process/APKBUILD
new file mode 100644
index 00000000000..9aebe0fb730
--- /dev/null
+++ b/testing/perl-memory-process/APKBUILD
@@ -0,0 +1,36 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-memory-process
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Memory-Process
+pkgver=0.06
+pkgrel=3
+pkgdesc="Determine actual memory usage of a Perl program"
+url="https://metacpan.org/release/Memory-Process/"
+arch="noarch"
+license="BSD-2-Clause"
+depends="perl perl-memory-usage perl-readonly"
+makedepends="perl-test-nowarnings perl-capture-tiny"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/S/SK/SKIM/Memory-Process-$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="
+13a52f12965ec0541ad0d52ac182b39de8c1fcf00d7482aa9d860fc20c7011287b48e8146e344e8a89583954d7b584010fe320458c944eeb28eac66072ceac91 Memory-Process-0.06.tar.gz
+"
diff --git a/testing/perl-memory-usage/APKBUILD b/testing/perl-memory-usage/APKBUILD
new file mode 100644
index 00000000000..7e4ce80c18f
--- /dev/null
+++ b/testing/perl-memory-usage/APKBUILD
@@ -0,0 +1,35 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-memory-usage
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Memory-Usage
+pkgver=0.201
+pkgrel=3
+pkgdesc="Tools to determine actual memory usage"
+url="https://metacpan.org/release/Memory-Usage/"
+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/D/DO/DONEILL/Memory-Usage-$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="
+4e34869ca1c97c39224c784e3dd6ef945174399678bfaefa5483cfd11ee0dc4b0efbde7a9ed59f146c4515c6db935261a8fb8fd7a4431c110160c28f9a2f9292 Memory-Usage-0.201.tar.gz
+"
diff --git a/testing/perl-minion-backend-redis/APKBUILD b/testing/perl-minion-backend-redis/APKBUILD
new file mode 100644
index 00000000000..d30188f5f8f
--- /dev/null
+++ b/testing/perl-minion-backend-redis/APKBUILD
@@ -0,0 +1,53 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-minion-backend-redis
+pkgver=0.003
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Minion-Backend-Redis
+pkgdesc="Redis backend for Minion job queue"
+url="https://metacpan.org/release/Minion-Backend-Redis/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-minion perl-mojo-redis perl-sort-versions"
+makedepends="perl-module-build-tiny"
+checkdepends="redis"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DF/DFUG/Minion-Backend-Redis-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ redis-server \
+ --dir "$builddir" \
+ --loglevel warning \
+ --unixsocket "$builddir"/redis.sock &
+ local _redispid=$!
+
+ # make sure socket is available before we start running tests
+ local _n=100 # wait up to 10 sec
+ while ! [ -e "$builddir"/redis.sock ] && [ $_n -gt 0 ]; do
+ sleep 0.1s
+ # shellcheck disable=SC3039
+ let _n="$_n - 1"
+ done
+
+ ./Build test || (kill $_redispid && false)
+ kill $_redispid
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+8dd7535559c0d9c3a36553719d51d01e58db717a92ff7e4458d2188581dc298186ad18ee7e882e2df97a79d7eabaa056417e15c21f7662a17727973cfa1c41c2 Minion-Backend-Redis-0.003.tar.gz
+"
diff --git a/testing/perl-minion-backend-sqlite/APKBUILD b/testing/perl-minion-backend-sqlite/APKBUILD
new file mode 100644
index 00000000000..6c416ac3744
--- /dev/null
+++ b/testing/perl-minion-backend-sqlite/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-minion-backend-sqlite
+pkgver=5.0.7
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Minion-Backend-SQLite
+pkgdesc="SQLite backend for Minion job queue"
+url="https://metacpan.org/release/Minion-Backend-SQLite/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-minion perl-mojo-sqlite"
+makedepends="perl-module-build-tiny"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DB/DBOOK/Minion-Backend-SQLite-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+2f1b4d575e6b0a144f074dfaedc7fe988d95fc10acdca25fccef34d283da728fad192959d31f0c3de29bdfcefbcf3279ba15d776bb648ffd5b8e95032e52e55a Minion-Backend-SQLite-v5.0.7.tar.gz
+"
diff --git a/testing/perl-minion/APKBUILD b/testing/perl-minion/APKBUILD
new file mode 100644
index 00000000000..bbf9bb41dea
--- /dev/null
+++ b/testing/perl-minion/APKBUILD
@@ -0,0 +1,54 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-minion
+pkgver=10.29
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Minion
+pkgdesc="Job queue for Mojolicious"
+url="https://metacpan.org/release/Minion/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-mojolicious perl-yaml-libyaml"
+subpackages="$pkgname-doc $pkgname-backend-pg"
+source="https://cpan.metacpan.org/authors/id/S/SR/SRI/Minion-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+pg() {
+ pkgdesc="PostgreSQL backend for Minion job queue"
+ depends="$pkgname=$pkgver-r$pkgrel perl-mojo-pg"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-mojo-pg"
+
+ amove usr/share/perl5/vendor_perl/Minion/Backend/Pg.pm \
+ usr/share/perl5/vendor_perl/Minion/Backend/resources/migrations/pg.sql
+}
+
+sha512sums="
+ff8ef0e2aa788fa71d298fa1c88d39d853c0ceac2f4f8873b819a1578a2e435affa9aa4a66745fbfef4fa37dac6af7c36da6fc4e1ec5ada18da05a72ded08e33 Minion-10.29.tar.gz
+"
diff --git a/testing/perl-mixin-event-dispatch/APKBUILD b/testing/perl-mixin-event-dispatch/APKBUILD
new file mode 100644
index 00000000000..5d328e3de8e
--- /dev/null
+++ b/testing/perl-mixin-event-dispatch/APKBUILD
@@ -0,0 +1,47 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-mixin-event-dispatch
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Mixin-Event-Dispatch
+pkgver=2.000
+pkgrel=0
+pkgdesc="Mixin methods for simple event/message dispatch framework"
+url="https://metacpan.org/release/Mixin-Event-Dispatch/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-list-utilsby"
+checkdepends="
+ perl-moo perl-role-tiny perl-test-checkdeps perl-test-fatal
+ perl-test-memory-cycle perl-test-refcount
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Mixin-Event-Dispatch-$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
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+bda967ae51d7560014e60eba37f0e57f982ef6ddf848942981dfa406bb7ef2d33db0f525351ebd2d94138512951e37732c6ab1a32edd5dbae727ba7a27861c3b Mixin-Event-Dispatch-2.000.tar.gz
+"
diff --git a/testing/perl-module-build-prereqs-fromcpanfile/APKBUILD b/testing/perl-module-build-prereqs-fromcpanfile/APKBUILD
new file mode 100644
index 00000000000..ec5398e0f7e
--- /dev/null
+++ b/testing/perl-module-build-prereqs-fromcpanfile/APKBUILD
@@ -0,0 +1,36 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-module-build-prereqs-fromcpanfile
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Module-Build-Prereqs-FromCPANfile
+pkgver=0.02
+pkgrel=0
+pkgdesc="Construct prereq parameters of Module::Build from cpanfile"
+url="https://metacpan.org/release/Module-Build-Prereqs-FromCPANfile/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-module-build perl-module-cpanfile"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TO/TOSHIOITO/Module-Build-Prereqs-FromCPANfile-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+29078020fb2638c9032cc28ca37caa12b530a6302be099dce437f89536dc5aae9aaacdecf42c6c7b2d41c40443eb03a8008855068f47ff203c75024e5175c8cd Module-Build-Prereqs-FromCPANfile-0.02.tar.gz
+"
diff --git a/testing/perl-module-find/APKBUILD b/testing/perl-module-find/APKBUILD
deleted file mode 100644
index c49d47405b6..00000000000
--- a/testing/perl-module-find/APKBUILD
+++ /dev/null
@@ -1,37 +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.15
-pkgrel=1
-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="769f1ee8836a127cb3c08edc858240c88e6481243d15b79b348c66d960213a98963bd9c453756645982c730a3c895a7dc35b06a970a0d6300690a605f4487dac Module-Find-0.15.tar.gz"
diff --git a/testing/perl-module-generic/APKBUILD b/testing/perl-module-generic/APKBUILD
new file mode 100644
index 00000000000..c703e2e37c8
--- /dev/null
+++ b/testing/perl-module-generic/APKBUILD
@@ -0,0 +1,56 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-module-generic
+pkgver=0.35.3
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Module-Generic
+pkgdesc="Generic Module to inherit from"
+url="https://metacpan.org/release/Module-Generic/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-class-load perl-clone perl-common-sense
+ perl-data-dump perl-data-uuid perl-datetime
+ perl-datetime-format-strptime perl-datetime-timezone
+ perl-datetime-timezone-catalog-extend perl-devel-stacktrace
+ perl-file-mmagic perl-io-stringy perl-json perl-json-xs
+ perl-regexp-common perl-storable-improved perl-uri perl-want
+ "
+checkdepends="perl-file-which perl-test-time perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JD/JDEGUEST/Module-Generic-v$pkgver.tar.gz
+ skip-broken-tests.patch
+ "
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ TERM=linux make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+0e329640655e9338ed57621aaebbbb0874500b5e6428d2c7fb794d33d32821857572dddfe72ab52f131f776e908f38cdcd7e2f3c1534c226156495198223b134 Module-Generic-v0.35.3.tar.gz
+af467da801c0884a5994a61c205d4c522cf40905eebc4733ea4deaa755b19bab824879f91866e7622440d9ab823eed207fbe02092559da9660081423585504b3 skip-broken-tests.patch
+"
diff --git a/testing/perl-module-generic/skip-broken-tests.patch b/testing/perl-module-generic/skip-broken-tests.patch
new file mode 100644
index 00000000000..d7f26651c18
--- /dev/null
+++ b/testing/perl-module-generic/skip-broken-tests.patch
@@ -0,0 +1,40 @@
+--- a/t/04.colour.t
++++ b/t/04.colour.t
+@@ -15,6 +15,11 @@
+ colour_open => "\{",
+ colour_close => "\}",
+ );
++my $is_tty = $m->_is_tty;
++
++SKIP: {
++skip 'Not a tty', 2 unless $is_tty;
++
+ is(
+ $m->colour_parse( "Hello {style => 'b', color => 'red'}red everyone! This is {style => 'u', color => 'rgb(255250250)'}embedded{/}{/} text..." ),
+ "Hello \e[38;5;224;1m\e[38;2;255;0;0;1mred everyone! This is \e[38;5;250;4m\e[38;2;255;250;250;4membedded\e[m\e[m\e[m\e[m text...",
+@@ -26,6 +31,7 @@
+ "And \e[38;5;224;48;5;255;3;1m\e[38;2;255;0;0;48;2;255;255;255;3;1mlight red on white\e[m\e[m \e[38;5;252;5m\e[38;2;255;255;0;5mand yellow text\e[m\e[m ?",
+ "Inline style: And \e[38;5;224;48;5;255;3;1m\e[38;2;255;0;0;48;2;255;255;255;3;1mlight red on white\e[m\e[m \e[38;5;252;5m\e[38;2;255;255;0;5mand yellow text\e[m\e[m ?",
+ );
++}
+
+ is(
+ $m->coloured( 'bold white on red', "Bold white text on red background" ),
+@@ -33,6 +39,9 @@
+ "Coloured() style: \e[38;5;255;48;5;224;1m\e[38;2;255;255;255;48;2;255;0;0;1mBold white text on red background\e[m\e[m",
+ );
+
++SKIP: {
++skip 'Not a tty', 2 unless $is_tty;
++
+ is(
+ $m->colour_parse( "And {bold light white on red}light white\non red multi line{/} {underline green}underlined green text{/}" ),
+ "And \e[38;5;255;48;5;224;1m\e[38;2;255;255;255;48;2;255;0;0;1m\e[38;5;255;48;5;224;1m\e[38;2;255;255;255;48;2;255;0;0;1mlight white\e[m
+@@ -45,6 +54,7 @@
+ "Some \e[38;5;224;48;5;255;1m\e[38;2;255;0;0;48;2;255;255;255;1mred on white. And \e[38;5;3;4m\e[38;2;0;0;255;4munderlined\e[m\e[m\e[m\e[m text...",
+ "Inline style with rgb: Some \e[38;5;224;48;5;255;1m\e[38;2;255;0;0;48;2;255;255;255;1mred on white. And \e[38;5;3;4m\e[38;2;0;0;255;4munderlined\e[m\e[m\e[m\e[m text...",
+ );
++}
+
+ is(
+ $m->coloured( 'bold rgb(255, 0, 0) on white', "Some red on white text." ),
diff --git a/testing/perl-mojo-pg/APKBUILD b/testing/perl-mojo-pg/APKBUILD
new file mode 100644
index 00000000000..32d8ac7db68
--- /dev/null
+++ b/testing/perl-mojo-pg/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-mojo-pg
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Mojo-Pg
+pkgver=4.27
+pkgrel=0
+pkgdesc="Use PostgreSQL with Mojolicious"
+url="https://metacpan.org/release/Mojo-Pg/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-dbd-pg perl-mojolicious perl-sql-abstract-pg"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/S/SR/SRI/Mojo-Pg-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+bd2ce6fe3e3bb918753e9b165be095a7caca8988b43fb2e99786bbafd61cfedd5380e37a2d8a0f03b25529544de250dbdcaa7f2ecdac2ee34551cd7c572f1ff7 Mojo-Pg-4.27.tar.gz
+"
diff --git a/testing/perl-mojo-reactor-ioasync/APKBUILD b/testing/perl-mojo-reactor-ioasync/APKBUILD
new file mode 100644
index 00000000000..56cb4e25554
--- /dev/null
+++ b/testing/perl-mojo-reactor-ioasync/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-mojo-reactor-ioasync
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Mojo-Reactor-IOAsync
+pkgver=1.002
+pkgrel=0
+pkgdesc="IO::Async backend for Mojo::Reactor"
+url="https://metacpan.org/release/Mojo-Reactor-IOAsync/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-io-async perl-mojolicious"
+makedepends="perl-module-build-tiny"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DB/DBOOK/Mojo-Reactor-IOAsync-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+9a51b4b18b6b7a1a62a4d6340dd07bec970065d43e17d2bd800395b96ef1859a4d59198c9641ffb8b378625fbe65aa250a02feca790e4f0daf8faf21299fdc23 Mojo-Reactor-IOAsync-1.002.tar.gz
+"
diff --git a/testing/perl-mojo-redis/APKBUILD b/testing/perl-mojo-redis/APKBUILD
new file mode 100644
index 00000000000..9784d81ffa5
--- /dev/null
+++ b/testing/perl-mojo-redis/APKBUILD
@@ -0,0 +1,63 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-mojo-redis
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Mojo-Redis
+pkgver=3.29
+pkgrel=0
+pkgdesc="Redis driver based on Mojo::IOLoop"
+url="https://metacpan.org/release/Mojo-Redis/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-mojolicious perl-protocol-redis-faster"
+checkdepends="perl-test-deep redis"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JH/JHTHORSEN/Mojo-Redis-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ default_prepare
+
+ # disable a very flaky test
+ rm -v ./t/pubsub.t
+}
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ export TEST_ONLINE="redis://localhost"
+
+ redis-server \
+ --dir "$builddir" \
+ --loglevel warning \
+ --unixsocket "$builddir"/redis.sock &
+ local _redispid=$!
+
+ # make sure socket is available before we start running tests
+ local _n=100 # wait up to 10 sec
+ while ! [ -e "$builddir"/redis.sock ] && [ $_n -gt 0 ]; do
+ sleep 0.1s
+ # shellcheck disable=SC3039
+ let _n="$_n - 1"
+ done
+
+ make test || (kill $_redispid && false)
+ kill $_redispid
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+115b0ea8708fff9d4a14dc761dad0f991cf78dbfc9aa19a0a30f5c8914f6e8f153026253e8a97bd30282fdd3272a03e7a61a7c9ee1214187fb62693caffa334d Mojo-Redis-3.29.tar.gz
+"
diff --git a/testing/perl-mojo-sqlite/APKBUILD b/testing/perl-mojo-sqlite/APKBUILD
new file mode 100644
index 00000000000..20ad4594593
--- /dev/null
+++ b/testing/perl-mojo-sqlite/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-mojo-sqlite
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Mojo-SQLite
+pkgver=3.009
+pkgrel=0
+pkgdesc="Tiny Mojolicious wrapper for SQLite"
+url="https://metacpan.org/release/Mojo-SQLite/"
+arch="noarch"
+license="Artistic-2.0"
+depends="
+ perl perl-dbd-sqlite perl-dbi perl-mojolicious
+ perl-sql-abstract-pg perl-uri perl-uri-db
+ "
+makedepends="perl-module-build-tiny"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DB/DBOOK/Mojo-SQLite-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+acd18cf2f86c448658c7a7e612ba478799327b2a921c2bce6db8155ad0be2f432abdc0625d328f5852970bc39119ef22507a3393a719caeaa011e17aba08e9cf Mojo-SQLite-3.009.tar.gz
+"
diff --git a/testing/perl-mojolicious-plugin-openapi/APKBUILD b/testing/perl-mojolicious-plugin-openapi/APKBUILD
new file mode 100644
index 00000000000..b652965a5f2
--- /dev/null
+++ b/testing/perl-mojolicious-plugin-openapi/APKBUILD
@@ -0,0 +1,46 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-mojolicious-plugin-openapi
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Mojolicious-Plugin-OpenAPI
+pkgver=5.09
+pkgrel=0
+pkgdesc="OpenAPI / Swagger plugin for Mojolicious"
+url="https://metacpan.org/release/Mojolicious-Plugin-OpenAPI/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-json-validator perl-mojolicious"
+checkdepends="perl-text-markdown"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+33eee4e23e6a6cac8d9ff6473f3aec9ed82e79ddfa3a66156d9f7423b40a33b823de2991dcd19c4f1f3c1f94588c5e74c5715e3b5234848fbeb7ba99d5468265 Mojolicious-Plugin-OpenAPI-5.09.tar.gz
+"
diff --git a/testing/perl-musicbrainz-discid/APKBUILD b/testing/perl-musicbrainz-discid/APKBUILD
new file mode 100644
index 00000000000..8b7522a1bee
--- /dev/null
+++ b/testing/perl-musicbrainz-discid/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=perl-musicbrainz-discid
+pkgver=0.06
+pkgrel=0
+pkgdesc="Perl Module: Perl interface for the MusicBrainz libdiscid library"
+url="https://metacpan.org/release/MusicBrainz-DiscID"
+arch="all"
+license="MIT"
+makedepends="perl-dev libdiscid-dev"
+subpackages="$pkgname-doc"
+source="https://github.com/njh/perl-musicbrainz-discid/archive/$pkgver/perl-musicbrainz-discid-$pkgver.tar.gz"
+
+build() {
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+66d9b7e2e45a0a5f87fdbe0673f6886aa0818d43ba51f46973b02e8f870635a7421b3b0a7bd0fa1d6f862256e9a36340c87af3a43a5e71c2df07dcaa04bcdd87 perl-musicbrainz-discid-0.06.tar.gz
+"
diff --git a/testing/perl-net-address-ip-local/APKBUILD b/testing/perl-net-address-ip-local/APKBUILD
new file mode 100644
index 00000000000..b9c91c1956c
--- /dev/null
+++ b/testing/perl-net-address-ip-local/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-address-ip-local
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-Address-IP-Local
+pkgver=0.1.2
+pkgrel=0
+pkgdesc="Discover the local system's IP address"
+url="https://metacpan.org/release/Net-Address-IP-Local/"
+arch="noarch"
+license="GPL-2.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-error perl-io-socket-inet6"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JM/JMEHNLE/net-address-ip-local/Net-Address-IP-Local-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+98f65c05467ce82ab45b6f9ded6a38f5c2ef6c42f94cb59a72f1b8c4660177494b606f8170812fcb37a9b49b0427d31454f6fbd094dab9877b331a24a324fb05 Net-Address-IP-Local-0.1.2.tar.gz
+"
diff --git a/testing/perl-net-amqp-rabbitmq/APKBUILD b/testing/perl-net-amqp-rabbitmq/APKBUILD
new file mode 100644
index 00000000000..b1a0eb11d61
--- /dev/null
+++ b/testing/perl-net-amqp-rabbitmq/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Timothy Legge <timlegge@gmail.com>
+# Maintainer: Timothy Legge <timlegge@gmail.com>
+pkgname=perl-net-amqp-rabbitmq
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-AMQP-RabbitMQ
+pkgver=2.40010
+pkgrel=2
+pkgdesc="interact with RabbitMQ over AMQP using librabbitmq"
+url="https://metacpan.org/release/Net-AMQP-RabbitMQ/"
+arch="all"
+license="mozilla_1_1"
+depends="perl perl-math-int64 openssl-dev"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/M/MS/MSTEMLE/Net-AMQP-RabbitMQ-$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}')
+ MQSKIPSSL=1 make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+1e0256a3903379031059723ca0d11182ed4ef5a4ae4053d47f57ae1d4c5f42b3a9c48b7fd3dceb057c492c179bc01484651bb063fb5bca4542185fdca7471b06 Net-AMQP-RabbitMQ-2.40010.tar.gz
+"
diff --git a/testing/perl-net-async-redis-xs/APKBUILD b/testing/perl-net-async-redis-xs/APKBUILD
new file mode 100644
index 00000000000..e6789d4739b
--- /dev/null
+++ b/testing/perl-net-async-redis-xs/APKBUILD
@@ -0,0 +1,64 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-async-redis-xs
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-Async-Redis-XS
+pkgver=1.001
+pkgrel=0
+pkgdesc="Faster version of Net::Async::Redis"
+url="https://metacpan.org/release/Net-Async-Redis-XS/"
+arch="all !armhf !armv7 !x86" # perl-net-async-redis
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-future-asyncawait perl-io-async
+ perl-net-async-redis perl-object-pad
+ "
+makedepends="perl-dev"
+checkdepends="
+ perl-sub-identify perl-test-checkdeps perl-test-deep
+ perl-test-fatal perl-test-hexstring perl-test-memorygrowth
+ perl-test-mockmodule redis
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Net-Async-Redis-XS-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ export NET_ASYNC_REDIS_HOST="127.0.0.1"
+
+ redis-server \
+ --dir "$builddir" \
+ --loglevel warning \
+ --unixsocket "$builddir"/redis.sock &
+ local _redispid=$!
+
+ # make sure socket is available before we start running tests
+ local _n=100 # wait up to 10 sec
+ while ! [ -e "$builddir"/redis.sock ] && [ $_n -gt 0 ]; do
+ sleep 0.1s
+ # shellcheck disable=SC3039
+ let _n="$_n - 1"
+ done
+
+ make test || (kill $_redispid && false)
+ kill $_redispid
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+79b0b319492564130fa5deeece90d34b305a6024fea16362e2fae1867db3cb941411459ca0e55a234c5a76be11b9d849891cbb3baef624be563f87f2995f61ff Net-Async-Redis-XS-1.001.tar.gz
+"
diff --git a/testing/perl-net-async-redis/APKBUILD b/testing/perl-net-async-redis/APKBUILD
new file mode 100644
index 00000000000..68ad4ad8554
--- /dev/null
+++ b/testing/perl-net-async-redis/APKBUILD
@@ -0,0 +1,77 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-async-redis
+pkgver=6.000
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-Async-Redis
+pkgdesc="Redis support for IO::Async"
+url="https://metacpan.org/release/Net-Async-Redis/"
+arch="noarch !armhf !armv7 !x86" # perl-ryu
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-cache-lru perl-class-method-modifiers perl-curry
+ perl-digest-crc perl-dir-self perl-file-sharedir
+ perl-file-sharedir-install perl-future perl-future-asyncawait
+ perl-future-queue perl-io-async perl-list-binarysearch-xs
+ perl-log-any perl-math-random-secure perl-metrics-any
+ perl-object-pad perl-path-tiny perl-ryu
+ perl-ryu-async perl-syntax-keyword-dynamically
+ perl-syntax-keyword-match perl-syntax-keyword-try
+ perl-uri perl-uri-redis perl-yaml-libyaml
+ "
+checkdepends="
+ perl-sub-identify perl-test-checkdeps perl-test-deep
+ perl-test-fatal perl-test-hexstring perl-test-mockmodule
+ perl-variable-disposition redis
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Net-Async-Redis-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ export NET_ASYNC_REDIS_HOST="127.0.0.1"
+
+ redis-server \
+ --dir "$builddir" \
+ --loglevel warning \
+ --unixsocket "$builddir"/redis.sock &
+ local _redispid=$!
+
+ # make sure socket is available before we start running tests
+ local _n=100 # wait up to 10 sec
+ while ! [ -e "$builddir"/redis.sock ] && [ $_n -gt 0 ]; do
+ sleep 0.1s
+ # shellcheck disable=SC3039
+ let _n="$_n - 1"
+ done
+
+ make test || (kill $_redispid && false)
+ kill $_redispid
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+691329551b0be74e5f9034fe9c9aaa5ad8c93306a9e3bf46b574c311631a337ed97242b134395b24a4e774ccf78220bd33420864ae43bde473b20e6693fadf70 Net-Async-Redis-6.000.tar.gz
+"
diff --git a/testing/perl-net-async-xmpp/APKBUILD b/testing/perl-net-async-xmpp/APKBUILD
new file mode 100644
index 00000000000..170fe5bd129
--- /dev/null
+++ b/testing/perl-net-async-xmpp/APKBUILD
@@ -0,0 +1,50 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-async-xmpp
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-Async-XMPP
+pkgver=0.003
+pkgrel=0
+pkgdesc="Asynchronous support for the XMPP Protocol"
+url="https://metacpan.org/release/Net-Async-XMPP/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-curry perl-future perl-io-async
+ perl-io-async-resolver-dns perl-io-async-ssl
+ perl-mixin-event-dispatch perl-protocol-xmpp
+ "
+checkdepends="perl-test-checkdeps perl-test-fatal"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Net-Async-XMPP-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+6c5b187ae82fcff3ed3e2c976f8957d1b3a882c571fb291dfe0d89b0db296ffc43636d293f86a164f77fb1b43d6184b08714671497c16d8a8c35aa7ab6d4a036 Net-Async-XMPP-0.003.tar.gz
+"
diff --git a/testing/perl-net-curl-promiser/APKBUILD b/testing/perl-net-curl-promiser/APKBUILD
new file mode 100644
index 00000000000..508f7b57d84
--- /dev/null
+++ b/testing/perl-net-curl-promiser/APKBUILD
@@ -0,0 +1,75 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-curl-promiser
+pkgver=0.20
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-Curl-Promiser
+pkgdesc="Asynchronous libcurl, the easy way"
+url="https://metacpan.org/release/Net-Curl-Promiser/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-net-curl perl-promise-es6"
+checkdepends="
+ perl-anyevent perl-io-async perl-mojolicious
+ perl-test-class-tiny perl-test-deep
+ perl-test-failwarnings perl-test-fatal
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-anyevent
+ $pkgname-ioasync
+ $pkgname-mojo
+ "
+source="https://cpan.metacpan.org/authors/id/F/FE/FELIPE/Net-Curl-Promiser-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+anyevent() {
+ pkgdesc="$pkgdesc (AnyEvent backend)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-anyevent"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-anyevent"
+
+ amove usr/share/perl5/vendor_perl/Net/Curl/Promiser/AnyEvent.pm
+ amove usr/share/perl5/vendor_perl/Net/Curl/Promiser/Backend/AnyEvent.pm
+}
+
+ioasync() {
+ pkgdesc="$pkgdesc (IO::Async backend)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-io-async"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-io-async"
+
+ amove usr/share/perl5/vendor_perl/Net/Curl/Promiser/IOAsync.pm
+ amove usr/share/perl5/vendor_perl/Net/Curl/Promiser/Backend/IOAsync.pm
+}
+
+mojo() {
+ pkgdesc="$pkgdesc (Mojolicious backend)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-mojolicious"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-mojolicious"
+
+ amove usr/share/perl5/vendor_perl/Net/Curl/Promiser/Mojo.pm
+ amove usr/share/perl5/vendor_perl/Net/Curl/Promiser/Backend/Mojo.pm
+}
+
+sha512sums="
+0fbfbd97037a26384eae5562ec9251e6bbffb6a0d4745e40111e2f1a7b1bbf196785bebb712dafcde02534d46215fbac3ca2abfecb5db1a2559011e173e3b258 Net-Curl-Promiser-0.20.tar.gz
+"
diff --git a/testing/perl-net-curl/APKBUILD b/testing/perl-net-curl/APKBUILD
index bbb1e9e704e..a23d6da9885 100644
--- a/testing/perl-net-curl/APKBUILD
+++ b/testing/perl-net-curl/APKBUILD
@@ -1,11 +1,11 @@
-# Automatically generated by apkbuild-cpan, template 3
+# Automatically generated by apkbuild-cpan, template 4
# Contributor: Timothy Legge <timlegge@gmail.com>
# Maintainer: Timothy Legge <timlegge@gmail.com>
pkgname=perl-net-curl
+pkgver=0.56
+pkgrel=0
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Net-Curl
-pkgver=0.49
-pkgrel=2
pkgdesc="Perl interface for libcurl"
url="https://metacpan.org/release/Net-Curl/"
arch="all"
@@ -18,7 +18,10 @@ builddir="$srcdir/$_pkgreal-$pkgver"
build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
make
}
@@ -29,7 +32,15 @@ check() {
package() {
make DESTDIR="$pkgdir" install
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="ef7d05e9ebd325ced817558f75352a25fbc894b8f6ac7e87b064dd01e88a5cb0373747c23368a3468e5d7c88597ff51e9a65a4315096f0834c307adab02415e7 Net-Curl-0.49.tar.gz"
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+a9facbed8c381d52c307b556b74660ee3b828f092cfbf58b6b819f6b2819cabab5622856cdbc0d47dc7cb609fa85df9007dd9d380d495d374d5e0edc46add709 Net-Curl-0.56.tar.gz
+"
diff --git a/testing/perl-net-idn-encode/APKBUILD b/testing/perl-net-idn-encode/APKBUILD
new file mode 100644
index 00000000000..4ba8ff68560
--- /dev/null
+++ b/testing/perl-net-idn-encode/APKBUILD
@@ -0,0 +1,48 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-idn-encode
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-IDN-Encode
+pkgver=2.500
+pkgrel=0
+pkgdesc="Internationalizing Domain Names in Applications (IDNA)"
+url="https://metacpan.org/release/Net-IDN-Encode/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev perl-module-build"
+checkdepends="perl-test-nowarnings"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/C/CF/CFAERBER/Net-IDN-Encode-$pkgver.tar.gz
+ perl-5.38-compat.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+3537309ea391e4f762eb8ce43929bfa024d63ee59c94f8d2ea16179aa6ad66ecef29188551749593302f14dc5b3182dbce18ebaf5176a34b40d6fa5b7e5763fb Net-IDN-Encode-2.500.tar.gz
+485c8373199ade1ee5efb630b602e0f81ced0fdc19fcdd825334fefd12e9bcc83e71dabe2c6b0747203451d012019e2f32b1f44fee9c3479e4753df8371c645c perl-5.38-compat.patch
+"
diff --git a/testing/perl-net-idn-encode/perl-5.38-compat.patch b/testing/perl-net-idn-encode/perl-5.38-compat.patch
new file mode 100644
index 00000000000..15dc298a306
--- /dev/null
+++ b/testing/perl-net-idn-encode/perl-5.38-compat.patch
@@ -0,0 +1,38 @@
+Patch-Source: https://github.com/cfaerber/Net-IDN-Encode/pull/11.patch
+--
+From 3ebe6f2e239b470efcb64a044edc8202798188af Mon Sep 17 00:00:00 2001
+From: Shin Kojima <shin@kojima.org>
+Date: Sun, 23 Jul 2023 13:15:59 +0900
+Subject: [PATCH] use uvchr_to_utf8_flags instead of uvuni_to_utf8_flags (which
+ is removed in perl 5.38.0)
+
+https://perldoc.perl.org/5.36.0/perlintern#uvuni_to_utf8_flags
+Signed-off-by: Shin Kojima <shin@kojima.org>
+---
+ lib/Net/IDN/Punycode.xs | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/lib/Net/IDN/Punycode.xs b/lib/Net/IDN/Punycode.xs
+index 211ef9c..36530dd 100644
+--- a/lib/Net/IDN/Punycode.xs
++++ b/lib/Net/IDN/Punycode.xs
+@@ -24,6 +24,10 @@
+ #define utf8_to_uvchr_buf(in_p,in_e,u8) utf8_to_uvchr(in_p,u8);
+ #endif
+
++#ifndef uvchr_to_utf8_flags
++#define uvchr_to_utf8_flags(d, uv, flags) uvuni_to_utf8_flags(d, uv, flags);
++#endif
++
+ static char enc_digit[BASE] = {
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+@@ -253,7 +257,7 @@ decode_punycode(input)
+ if(skip_p < re_p) /* move succeeding chars */
+ Move(skip_p, skip_p + u8, re_p - skip_p, char);
+ re_p += u8;
+- uvuni_to_utf8_flags((U8*)skip_p, n, UNICODE_ALLOW_ANY);
++ uvchr_to_utf8_flags((U8*)skip_p, n, UNICODE_ALLOW_ANY);
+ }
+
+ if(!first) SvUTF8_on(RETVAL); /* UTF-8 chars have been inserted */
diff --git a/testing/perl-net-irr/APKBUILD b/testing/perl-net-irr/APKBUILD
index c457308f434..10b5c5f644f 100644
--- a/testing/perl-net-irr/APKBUILD
+++ b/testing/perl-net-irr/APKBUILD
@@ -1,42 +1,39 @@
-# Automatically generated by apkbuild-cpan, template 1
+# Automatically generated by apkbuild-cpan, template 4
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-net-irr
+pkgver=0.10
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Net-IRR
-pkgver=0.08
-pkgrel=3
pkgdesc="Perl interface to the Internet Route Registry daemon"
url="https://metacpan.org/release/Net-IRR/"
arch="noarch"
-license="GPL PerlArtistic"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
makedepends="cairo-dev"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/T/TC/TCAINE/$_pkgreal-$pkgver.tar.gz"
-
+source="https://cpan.metacpan.org/authors/id/T/TC/TCAINE/Net-IRR-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
- cd "$builddir"
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-}
-
build() {
- cd "$builddir"
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
make
}
check() {
- cd "$builddir"
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make test
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="1713451dd65b44c6e87bd8cc29228c898c3790be9d0b7d8adbebbf69b91c1557eb6fef47262fc40bc543f258087ceb87903fc7faf2a3d5059b8735c686fb5823 Net-IRR-0.08.tar.gz"
+sha512sums="
+819630123616034b646772db643642dad5e3c1f8eafd7b0e60e9265de30cb30f8b82df17a0ea58e763b9d2ef7861ad0a16878e669099a1736cb2107c7f369538 Net-IRR-0.10.tar.gz
+"
diff --git a/testing/perl-net-jabber-bot/APKBUILD b/testing/perl-net-jabber-bot/APKBUILD
new file mode 100644
index 00000000000..cd4df41eb44
--- /dev/null
+++ b/testing/perl-net-jabber-bot/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-jabber-bot
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-Jabber-Bot
+pkgver=2.1.7
+pkgrel=0
+pkgdesc="Automated Jabber Bot creation with safeties"
+url="https://metacpan.org/release/Net-Jabber-Bot/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-log-log4perl perl-moose perl-moosex-types
+ perl-mozilla-ca perl-net-jabber
+ "
+checkdepends="perl-test-nowarnings"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TO/TODDR/Net-Jabber-Bot-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+9d7d2edc76cbe99da87008dc5e70eb652231ba54988ef848a34ab840582e7b3fb1b23b67898f462ad9fbfce74c4aea6e8ff8f34deb21e2df336dac4dfb6bc09f Net-Jabber-Bot-2.1.7.tar.gz
+"
diff --git a/testing/perl-net-jabber/APKBUILD b/testing/perl-net-jabber/APKBUILD
new file mode 100644
index 00000000000..0b7f9df306d
--- /dev/null
+++ b/testing/perl-net-jabber/APKBUILD
@@ -0,0 +1,50 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-jabber
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-Jabber
+pkgver=2.0
+pkgrel=0
+pkgdesc="Access the Jabber protocol with Perl"
+url="https://metacpan.org/release/Net-Jabber/"
+arch="noarch"
+license="LGPL-2.0-or-later"
+depends="perl perl-net-xmpp"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/R/RE/REATMON/Net-Jabber-$pkgver.tar.gz
+ builtin-digest-sha.patch
+ hash-randomization.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ default_prepare
+
+ # bundled Test::More causes deprecation warnings
+ mv -v t/lib t/lib.old
+}
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+2ad275fdef8a7ed17dc464f692b974e71bc3a5df5239943cceaec9509e6454945023e220ddfb42763e18813124f6b7f2d6d43faf3059e0680b753486961a1b4c Net-Jabber-2.0.tar.gz
+d418222fbb510329c1e74c934e171f13f8a23bd1c8ee0526f36ea42de3e2eae8814b04bebe0d0ddf99ac351812b16ed593fb860e17191849cb557359d3981df7 builtin-digest-sha.patch
+c9e816e4156b2b3890c8f02ac07e59f3bac0bdd56f0834694ec33afdfd1e02a20242828c2f241ef155353170c745fa2e145ebf953f246e25d62c4ea10db30260 hash-randomization.patch
+"
diff --git a/testing/perl-net-jabber/builtin-digest-sha.patch b/testing/perl-net-jabber/builtin-digest-sha.patch
new file mode 100644
index 00000000000..56aacac613a
--- /dev/null
+++ b/testing/perl-net-jabber/builtin-digest-sha.patch
@@ -0,0 +1,42 @@
+Use Digest::SHA bundled with Perl so we don't need to depend on perl-digest-sha1
+
+--- a/lib/Net/Jabber/Component.pm
++++ b/lib/Net/Jabber/Component.pm
+@@ -219,7 +219,7 @@
+
+ $self->{STREAM}->SetCallBacks(node=>undef);
+
+- $self->Send("<handshake>".Digest::SHA1::sha1_hex($self->{SESSION}->{id}.$args{secret})."</handshake>");
++ $self->Send("<handshake>".Digest::SHA::sha1_hex($self->{SESSION}->{id}.$args{secret})."</handshake>");
+ my $handshake = $self->Process();
+
+ if (!defined($handshake) ||
+--- a/lib/Net/Jabber/Key.pm
++++ b/lib/Net/Jabber/Key.pm
+@@ -103,14 +103,14 @@
+
+ $self->{CACHE} = {};
+
+- if (eval "require Digest::SHA1")
++ if (eval "require Digest::SHA")
+ {
+ $self->{DIGEST} = 1;
+- Digest::SHA1->import(qw(sha1 sha1_hex sha1_base64));
++ Digest::SHA->import(qw(sha1 sha1_hex sha1_base64));
+ }
+ else
+ {
+- print "ERROR: You cannot use Key.pm unless you have Digest::SHA1 installed.\n";
++ print "ERROR: You cannot use Key.pm unless you have Digest::SHA installed.\n";
+ exit(0);
+ }
+
+@@ -131,7 +131,7 @@
+ my $self = shift;
+
+ my $string = $$.time.rand(1000000);
+- $string = Digest::SHA1::sha1_hex($string);
++ $string = Digest::SHA::sha1_hex($string);
+ $self->{DEBUG}->Log1("Generate: key($string)");
+ return $string;
+ }
diff --git a/testing/perl-net-jabber/hash-randomization.patch b/testing/perl-net-jabber/hash-randomization.patch
new file mode 100644
index 00000000000..24ad44a2659
--- /dev/null
+++ b/testing/perl-net-jabber/hash-randomization.patch
@@ -0,0 +1,13 @@
+Fixes t/protocol_rpc.t test expecting keys to be sorted
+
+--- a/lib/Net/Jabber/Protocol.pm
++++ b/lib/Net/Jabber/Protocol.pm
+@@ -2239,7 +2239,7 @@
+ elsif (ref($value) eq "HASH")
+ {
+ my $struct = $obj->AddValue()->AddStruct();
+- foreach my $key (keys(%{$value}))
++ foreach my $key (sort keys(%{$value}))
+ {
+ $self->RPCEncode_Value($struct->AddMember(name=>$key),$value->{$key});
+ }
diff --git a/testing/perl-net-libresolv/APKBUILD b/testing/perl-net-libresolv/APKBUILD
new file mode 100644
index 00000000000..68ce0e14e4f
--- /dev/null
+++ b/testing/perl-net-libresolv/APKBUILD
@@ -0,0 +1,36 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-libresolv
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-LibResolv
+pkgver=0.03
+pkgrel=0
+pkgdesc="Perl wrapper around libresolv"
+url="https://metacpan.org/release/Net-LibResolv/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev perl-extutils-cchecker perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Net-LibResolv-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+78c447eed6c3222b66627f2930e95a78bd5688d78d242e6de19a7806f94ccd5132a2537e4584a31805d2eaacae91af85ef5d6c64a6116e3a268cafe8a2e2bb2f Net-LibResolv-0.03.tar.gz
+"
diff --git a/testing/perl-net-mpd/APKBUILD b/testing/perl-net-mpd/APKBUILD
deleted file mode 100644
index 22932cd04c2..00000000000
--- a/testing/perl-net-mpd/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 2
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=perl-net-mpd
-_pkgreal=Net-MPD
-pkgver=0.07
-pkgrel=1
-pkgdesc="Communicate with an MPD server"
-url="https://metacpan.org/release/Net-MPD/"
-arch="noarch"
-license="MIT"
-depends="perl mpd"
-makedepends="perl-module-build-tiny"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/A/AB/ABERNDT/Net-MPD-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-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 CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
-
- perl Build.PL
- ./Build
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install --destdir="$pkgdir" --prefix=/usr
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="8864cfcfa5fa22ccc32feea73644217611957aeb5fe2f3b35c389f8e8488887d589bc3f2ac794e4374bbe75134e60832d920dba22f31fbe513e688da70fec1e2 Net-MPD-0.07.tar.gz"
diff --git a/testing/perl-net-mqtt-simple/APKBUILD b/testing/perl-net-mqtt-simple/APKBUILD
new file mode 100644
index 00000000000..6b5f9db33a1
--- /dev/null
+++ b/testing/perl-net-mqtt-simple/APKBUILD
@@ -0,0 +1,46 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-mqtt-simple
+pkgver=1.29
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-MQTT-Simple
+pkgdesc="Minimal MQTT version 3 interface"
+url="https://metacpan.org/release/Net-MQTT-Simple/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+subpackages="$pkgname-doc $pkgname-ssl"
+source="https://cpan.metacpan.org/authors/id/J/JU/JUERD/Net-MQTT-Simple-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+ssl() {
+ pkgdesc="$pkgdesc with SSL support"
+ depends="$pkgname=$pkgver-r$pkgrel perl-io-socket-ssl"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-io-socket-ssl"
+
+ amove usr/share/perl5/vendor_perl/Net/MQTT/Simple/SSL.pm
+}
+
+sha512sums="
+9f0d55ed0e9b158c33f10cbb58d70abdbf02c1c9077ca9a53b9da032409ae21db5fb317c3f54033c86bbee184c736c1ab8c84e9907255d986fab72bd3975d5e0 Net-MQTT-Simple-1.29.tar.gz
+"
diff --git a/testing/perl-net-mqtt/APKBUILD b/testing/perl-net-mqtt/APKBUILD
new file mode 100644
index 00000000000..80e00fdb373
--- /dev/null
+++ b/testing/perl-net-mqtt/APKBUILD
@@ -0,0 +1,53 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-mqtt
+pkgver=1.163170
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-MQTT
+pkgdesc="Perl modules for the MQTT Protocol"
+url="https://metacpan.org/release/Net-MQTT/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-module-pluggable"
+subpackages="$pkgname-doc $pkgname-trace"
+source="https://cpan.metacpan.org/authors/id/B/BE/BEANZ/Net-MQTT-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+trace() {
+ pkgdesc="$pkgdesc (message decoder for IP packets)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-net-pcap"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-net-pcap"
+
+ amove usr/bin/net-mqtt-trace
+}
+
+sha512sums="
+9b2d412e7098b8e098e27f67ab3f26d9eb277bac7573dcff66a90752f0ffa362763e51d605a2b908fa698fb9800d83af5909b0145d5a9e8fed9a0f8c6355b874 Net-MQTT-1.163170.tar.gz
+"
diff --git a/testing/perl-net-netmask/APKBUILD b/testing/perl-net-netmask/APKBUILD
index abc0f56edd9..cb994023d58 100644
--- a/testing/perl-net-netmask/APKBUILD
+++ b/testing/perl-net-netmask/APKBUILD
@@ -1,11 +1,11 @@
# Automatically generated by apkbuild-cpan, template 3
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-net-netmask
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Net-Netmask
-pkgver=2.0001
-pkgrel=1
+pkgver=2.0002
+pkgrel=2
pkgdesc="Understand and manipulate IP netmasks"
url="https://metacpan.org/release/Net-Netmask/"
arch="noarch"
@@ -13,7 +13,6 @@ license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
makedepends="perl-test-useallmodules"
checkdepends="perl-test-useallmodules perl-test2-suite"
-
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/J/JM/JMASLAK/Net-Netmask-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -38,4 +37,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="87f4f875dc1f07968a71d558bb02b8443d63601e8414a109ddfdd47c5d8616ed0678ea950426ec646bf3b06035ff1dabf067dafb18cb66291b882b9364c0de0b Net-Netmask-2.0001.tar.gz"
+sha512sums="
+60cd9de1cac95516515428eb7d1c883b5260333768c363b47a87bb404b13bac713746e7512ff1f52bf3e5c8344f0d38889bba44a2c84b8ddf36e969d63ea8373 Net-Netmask-2.0002.tar.gz
+"
diff --git a/testing/perl-net-patricia/APKBUILD b/testing/perl-net-patricia/APKBUILD
index 6b59c3af56a..ea49d88eaf9 100644
--- a/testing/perl-net-patricia/APKBUILD
+++ b/testing/perl-net-patricia/APKBUILD
@@ -4,36 +4,28 @@
pkgname=perl-net-patricia
_pkgreal=Net-Patricia
pkgver=1.22
-pkgrel=8
-pkgdesc="unknown"
+pkgrel=11
+pkgdesc="Patricia Trie perl module for fast IP address lookups"
url="https://metacpan.org/release/Net-Patricia/"
arch="all"
license="GPL PerlArtistic"
-cpandepends="perl-net-cidr-lite perl-socket6"
-cpanmakedepends=" "
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
+options="!check" # no testsuite
+makedepends="perl-dev perl-net-cidr-lite perl-socket6"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/G/GR/GRUBER/$_pkgreal-$pkgver.tar.gz"
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
-}
+builddir="$srcdir/$_pkgreal-$pkgver"
build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="d76702d30784f8448dcf3a5269e052bc7bd6f5fe5a16824b6e3ede1d0182deb139522e45e1fb78749a7527ddbc950c213d843e43f45b5b0ed63b5b985b329861 Net-Patricia-1.22.tar.gz"
+sha512sums="
+d76702d30784f8448dcf3a5269e052bc7bd6f5fe5a16824b6e3ede1d0182deb139522e45e1fb78749a7527ddbc950c213d843e43f45b5b0ed63b5b985b329861 Net-Patricia-1.22.tar.gz
+"
diff --git a/testing/perl-net-pcap/APKBUILD b/testing/perl-net-pcap/APKBUILD
new file mode 100644
index 00000000000..edbd5e3a2b0
--- /dev/null
+++ b/testing/perl-net-pcap/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-pcap
+pkgver=0.21
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-Pcap
+pkgdesc="Interface to the pcap(3) LBL packet capture library"
+url="https://metacpan.org/release/Net-Pcap/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="libpcap-dev perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/C/CO/CORION/Net-Pcap-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+aab50ac82283b976db6a848b54c5026edd2f1608d2119a8bea7478c1b588a6ca8111691e7b4c0d2d24820fb5036727db9780966ea7270ef82a5e85b2bf612461 Net-Pcap-0.21.tar.gz
+"
diff --git a/testing/perl-net-xmpp/APKBUILD b/testing/perl-net-xmpp/APKBUILD
new file mode 100644
index 00000000000..177d3a99f83
--- /dev/null
+++ b/testing/perl-net-xmpp/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-net-xmpp
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Net-XMPP
+pkgver=1.05
+pkgrel=0
+pkgdesc="XMPP Support Library"
+url="https://metacpan.org/release/Net-XMPP/"
+arch="noarch"
+license="LGPL-2.1-or-later"
+depends="perl perl-authen-sasl perl-xml-stream"
+makedepends="perl-module-build"
+checkdepends="perl-lwp-online perl-test-memory-cycle perl-yaml-tiny"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAPATRICK/Net-XMPP-$pkgver.tar.gz
+ loop-var.patch
+ no-gtalk.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+cdd5474fcbdf7ff6c7d1247f9828f5dfb1828c258af366a831bab8e5faab423b73aa16c34228818526ebcc3180ef0ccc52d6e6cb61e2fe689458b87ec7fab699 Net-XMPP-1.05.tar.gz
+8d815b04233b140881ff105f64d5017dbd937ed03521516a8cd2ba60bb0e07dec7d27903d8a35eb4e23b4ef52ccb4703fa7f0ea698dcca64d1ead3a6a7f2740b loop-var.patch
+678db0127de65198b52094afc94c7d057fead39a3f70dc782c4d661ace8d199cd37f632fe29e0699f9f656ae467cd91c191803f3043e966d2db2a7c475fb48c5 no-gtalk.patch
+"
diff --git a/testing/perl-net-xmpp/loop-var.patch b/testing/perl-net-xmpp/loop-var.patch
new file mode 100644
index 00000000000..eb9312e0080
--- /dev/null
+++ b/testing/perl-net-xmpp/loop-var.patch
@@ -0,0 +1,26 @@
+Patch-Source: https://github.com/dap/Net-XMPP/commit/a0224e2b2c4a46b53a2591c0f369d63ae580d592.patch
+
+Reference: https://rt.cpan.org/Public/Bug/Display.html?id=58949
+--
+From a0224e2b2c4a46b53a2591c0f369d63ae580d592 Mon Sep 17 00:00:00 2001
+From: Darian Anthony Patrick <dap@darianpatrick.com>
+Date: Mon, 22 Dec 2014 15:02:25 -0800
+Subject: [PATCH] RT#58949 User array member alias
+
+---
+ lib/Net/XMPP/Stanza.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Net/XMPP/Stanza.pm b/lib/Net/XMPP/Stanza.pm
+index 15d6c5b..cb1b7b2 100644
+--- a/lib/Net/XMPP/Stanza.pm
++++ b/lib/Net/XMPP/Stanza.pm
+@@ -1366,7 +1366,7 @@ sub _parse_tree
+ {
+ foreach my $xTree (@xTrees)
+ {
+- if( exists($Net::XMPP::Namespaces::NS{$xTrees[0]->get_attrib("xmlns")}))
++ if( exists($Net::XMPP::Namespaces::NS{$xTree->get_attrib("xmlns")}))
+ {
+ $self->AddChild($xTree);
+ $self->{TREE}->remove_child($xTree);
diff --git a/testing/perl-net-xmpp/no-gtalk.patch b/testing/perl-net-xmpp/no-gtalk.patch
new file mode 100644
index 00000000000..fb7042a0d69
--- /dev/null
+++ b/testing/perl-net-xmpp/no-gtalk.patch
@@ -0,0 +1,11 @@
+--- a/t/gtalk.t
++++ b/t/gtalk.t
+@@ -52,7 +52,7 @@
+ }
+
+ my $repeat = 5;
+-plan tests => 2 + 6 * $repeat;
++plan skip_all => 'Google Talk is no longer available';
+
+ # TODO ask user if it is ok to do network tests!
+ print_size('before loading Net::XMPP');
diff --git a/testing/perl-netaddr-mac/APKBUILD b/testing/perl-netaddr-mac/APKBUILD
index 5bcc65474fc..fed5fc28d70 100644
--- a/testing/perl-netaddr-mac/APKBUILD
+++ b/testing/perl-netaddr-mac/APKBUILD
@@ -1,40 +1,36 @@
-# Automatically generated by apkbuild-cpan, template 2
+# 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-netaddr-mac
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=NetAddr-MAC
-pkgver=0.97
+pkgver=0.98
pkgrel=1
-pkgdesc="MAC address functions and object"
-url="https://metacpan.org/release/NetAddr-MAC"
+pkgdesc="MAC hardware address functions and object (EUI48 and EUI64)"
+url="https://metacpan.org/release/NetAddr-MAC/"
arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+license="MIT"
depends="perl"
-checkdepends="perl-test-trap"
+makedepends="perl-dev perl-module-build perl-test-trap perl-module-build"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/D/DJ/DJZORT/NetAddr-MAC-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ perl Build.PL --installdirs=vendor
+ ./Build
}
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make
+check() {
+ ./Build test
}
package() {
- make DESTDIR="$pkgdir" install
+ ./Build install --destdir="$pkgdir"
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-check() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="ac89cb5f2d81f3accff5ac240a7a4fda5e50854e2f5921093e4ae1c78aec6c125d1f3949cde6dff61f9196b3107ebb8b6437fe3cb703dcd1de9ef3ce624ac42d NetAddr-MAC-0.97.tar.gz"
+sha512sums="
+88ac3c10f3a5c5c1fbf2b40299c95336c26a726bf0d7d82de512985fbc846edfe009d8a40a3b5ea48b6ad65b122e8b4631588ec1019b98b17260f9b6aea72f2f NetAddr-MAC-0.98.tar.gz
+"
diff --git a/testing/perl-nice-try/APKBUILD b/testing/perl-nice-try/APKBUILD
new file mode 100644
index 00000000000..1be59b66d2b
--- /dev/null
+++ b/testing/perl-nice-try/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-nice-try
+pkgver=1.3.10
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Nice-Try
+pkgdesc="Try-Catch block implementation using Perl filter"
+url="https://metacpan.org/release/Nice-Try/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-ppi perl-ppi-xs perl-want"
+checkdepends="perl-test-pod"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JD/JDEGUEST/Nice-Try-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7f63b08de6d6e07156bbe93d509e19dd7e09e68ef68305f6fceb97ea6202bc63fba321809fda711f61fdf62e77ed4acd1f290fb50e5b13d39429ef3d1257332b Nice-Try-v1.3.10.tar.gz
+"
diff --git a/testing/perl-number-format/APKBUILD b/testing/perl-number-format/APKBUILD
index 5443ea0a562..4826f5cba49 100644
--- a/testing/perl-number-format/APKBUILD
+++ b/testing/perl-number-format/APKBUILD
@@ -3,8 +3,8 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-number-format
_pkgreal=Number-Format
-pkgver=1.75
-pkgrel=2
+pkgver=1.76
+pkgrel=1
pkgdesc="Perl extension for formatting numbers"
url="https://metacpan.org/release/Number-Format/"
arch="noarch"
@@ -12,20 +12,20 @@ license="GPL PerlArtistic"
depends="perl"
makedepends="perl-test-simple"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/W/WR/WRW/$_pkgreal-$pkgver.tar.gz"
+source="https://cpan.metacpan.org/authors/id/R/RJ/RJBS/$_pkgreal-$pkgver.tar.gz"
options="!check"
builddir="$srcdir/$_pkgreal-$pkgver"
prepare() {
cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
}
build() {
cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make
}
@@ -40,4 +40,6 @@ check() {
make test
}
-sha512sums="fa712a82b33ba062308e6bf29a4d99e73245f95495206e2c4252d8735d1851136553ec719a00683163aea0d3dddaa6bcc1261ef643439b870605df8ab17a40ef Number-Format-1.75.tar.gz"
+sha512sums="
+c7132bbd036522d35082ee18a5ca534ee8820e3d8901293621a7f573a0f44ee6c652a91a7ca9d44c8a9185e1c9306dfbd79757c9b3818dc6de3cca761883790a Number-Format-1.76.tar.gz
+"
diff --git a/testing/perl-number-misc/APKBUILD b/testing/perl-number-misc/APKBUILD
index b1dcee5cbab..7d5d2e34c9d 100644
--- a/testing/perl-number-misc/APKBUILD
+++ b/testing/perl-number-misc/APKBUILD
@@ -1,34 +1,36 @@
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: TBK <tbk@jjtc.eu>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-number-misc
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Number-Misc
pkgver=1.2
-pkgrel=2
+pkgrel=5
pkgdesc="Handy utilities for numbers"
url="https://metacpan.org/release/Number-Misc/"
arch="noarch"
-license="GPL PerlArtistic"
-options="!check"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
+makedepends="perl-module-build"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/M/MI/MIKO/$_pkgreal-$pkgver.tar.gz"
+source="https://cpan.metacpan.org/authors/id/M/MI/MIKO/Number-Misc-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- cd "$builddir"
- 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}')
+ perl Build.PL --installdirs=vendor
+ ./Build
}
-build() {
- cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make && make test
+check() {
+ ./Build test
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install || return 1
+ ./Build install --destdir="$pkgdir"
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="f160de841bc895481f6d9422ed639391fd9e9b65239e3c0adf25b63e88902e7608049496ecec864cae39a046e5f1903f3e3ede1cb71018203f62da2ded67b8eb Number-Misc-1.2.tar.gz"
+sha512sums="
+f160de841bc895481f6d9422ed639391fd9e9b65239e3c0adf25b63e88902e7608049496ecec864cae39a046e5f1903f3e3ede1cb71018203f62da2ded67b8eb Number-Misc-1.2.tar.gz
+"
diff --git a/testing/perl-number-tolerant/APKBUILD b/testing/perl-number-tolerant/APKBUILD
index 65d3031ea2f..dd35521bfd2 100644
--- a/testing/perl-number-tolerant/APKBUILD
+++ b/testing/perl-number-tolerant/APKBUILD
@@ -3,8 +3,8 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=perl-number-tolerant
_pkgreal=Number-Tolerant
-pkgver=1.708
-pkgrel=2
+pkgver=1.710
+pkgrel=0
pkgdesc="tolerance ranges for inexact numbers"
url="https://metacpan.org/release/Number-Tolerant/"
arch="noarch"
@@ -40,4 +40,6 @@ check() {
make test
}
-sha512sums="9a8b878d65e5c6cb9600bd743d5b74a639e4be4c07cca5a954fe0042d5ea749ac656e9b480d8e8a2573259ad85639e110ff531d61259e83ebb66d913fe37374a Number-Tolerant-1.708.tar.gz"
+sha512sums="
+358478a1f699a231d74391219b94bd20f41298e164279bee7f0ca793442c4ab273498daa5ac247486753644c592769239070c46a03e568e435aa626fec12dc9f Number-Tolerant-1.710.tar.gz
+"
diff --git a/testing/perl-object-event/APKBUILD b/testing/perl-object-event/APKBUILD
new file mode 100644
index 00000000000..7b9f48553c6
--- /dev/null
+++ b/testing/perl-object-event/APKBUILD
@@ -0,0 +1,36 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-object-event
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Object-Event
+pkgver=1.23
+pkgrel=0
+pkgdesc="Perl event callback interface"
+url="https://metacpan.org/release/Object-Event/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-common-sense perl-anyevent"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/EL/ELMEX/Object-Event-$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="
+f2a877e66b00cf095c1b1ea1447b7aedb2c4c24a19b46e870894811bf707616bb2c59edc31b2d9b7157ff430cf2610facd201c9fdd8254bfb945900b70c79918 Object-Event-1.23.tar.gz
+"
diff --git a/testing/perl-object-pad/APKBUILD b/testing/perl-object-pad/APKBUILD
deleted file mode 100644
index dd628b124d5..00000000000
--- a/testing/perl-object-pad/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=perl-object-pad
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=Object-Pad
-pkgver=0.59
-pkgrel=0
-pkgdesc="a simple syntax for lexical slot-based objects"
-url="https://metacpan.org/release/Object-Pad/"
-arch="all"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl perl-xs-parse-sublike perl-xs-parse-keyword"
-makedepends="perl-dev perl-module-build perl-xs-parse-sublike perl-xs-parse-keyword perl-module-build"
-checkdepends="perl-test-refcount perl-data-dump perl-test-fatal"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Object-Pad-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
- ./Build
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install --destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="
-72b0804fc44296394c270fa010aca05564718bd0b8dbf703cdc14024c13c4843dbeecc570a0e1ca0043696f7a1c6e0c71868e40d438cf3014284142fa9817e08 Object-Pad-0.59.tar.gz
-"
diff --git a/testing/perl-openapi-client/APKBUILD b/testing/perl-openapi-client/APKBUILD
new file mode 100644
index 00000000000..7ee3bba07fc
--- /dev/null
+++ b/testing/perl-openapi-client/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-openapi-client
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=OpenAPI-Client
+pkgver=1.07
+pkgrel=0
+pkgdesc="Client for talking to an Open API powered server"
+url="https://metacpan.org/release/OpenAPI-Client/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-json-validator perl-mojolicious-plugin-openapi"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JH/JHTHORSEN/OpenAPI-Client-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+18167fcbd239436c401d0d4f2775a4cd5032fbcb2feaf5107c2f76a6b822d8c688431265f2d434bfadca2d74592e57ff1fd5721a2194ef906faad538004b7050 OpenAPI-Client-1.07.tar.gz
+"
diff --git a/testing/perl-opentracing/APKBUILD b/testing/perl-opentracing/APKBUILD
new file mode 100644
index 00000000000..c77b613867d
--- /dev/null
+++ b/testing/perl-opentracing/APKBUILD
@@ -0,0 +1,55 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-opentracing
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=OpenTracing
+pkgver=1.006
+pkgrel=0
+pkgdesc="Application process monitoring, as defined by opentracing.io"
+url="https://metacpan.org/release/OpenTracing/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-bytes-random-secure perl-class-method-modifiers
+ perl-indirect perl-json-maybeutf8 perl-json-maybexs
+ perl-log-any perl-module-pluggable perl-net-address-ip-local
+ perl-role-tiny perl-syntax-keyword-try
+ "
+checkdepends="
+ perl-log-any-adapter-tap perl-test-checkdeps
+ perl-test-deep perl-test-fatal perl-test-files
+ perl-test-refcount perl-test-warnings
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/OpenTracing-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+ad6c5f7488bcb4fba3b5ff669baffe6de0c9d092585322b60c0fa1d9eeb5984c7dd56676efed141ac7fa53ae3df446314153a45f1a794174371d82916c12902b OpenTracing-1.006.tar.gz
+"
diff --git a/testing/perl-pango/APKBUILD b/testing/perl-pango/APKBUILD
index 603783c7c30..ea23fe6f7de 100644
--- a/testing/perl-pango/APKBUILD
+++ b/testing/perl-pango/APKBUILD
@@ -4,36 +4,33 @@
pkgname=perl-pango
_pkgreal=Pango
pkgver=1.227
-pkgrel=7
+pkgrel=10
pkgdesc="Layout and render international text"
url="https://metacpan.org/release/Pango/"
arch="all"
license="GPL PerlArtistic"
-cpandepends="perl-glib perl-extutils-depends perl-cairo perl-extutils-pkgconfig"
-cpanmakedepends=""
-depends="$cpandepends"
-makedepends="perl-dev pango-dev cairo-dev $cpanmakedepends"
+depends="perl-glib perl-extutils-depends perl-cairo perl-extutils-pkgconfig"
+makedepends="perl-dev pango-dev cairo-dev"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/X/XA/XAOC/$_pkgreal-$pkgver.tar.gz"
-_builddir="$srcdir/$_pkgreal-$pkgver"
+builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make && make test
+check() {
+ make test
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="df44d126d6a9aaa7b7dc2d993ca00fe9eb6abdeb6c7f75ddebc71728b0cfd2d7404c2d27e2dbcbb7acdd73f30888d4abc5c33da9ecbbc7d155f67d083960f29c Pango-1.227.tar.gz"
+sha512sums="
+df44d126d6a9aaa7b7dc2d993ca00fe9eb6abdeb6c7f75ddebc71728b0cfd2d7404c2d27e2dbcbb7acdd73f30888d4abc5c33da9ecbbc7d155f67d083960f29c Pango-1.227.tar.gz
+"
diff --git a/testing/perl-path-iter/APKBUILD b/testing/perl-path-iter/APKBUILD
index 5e942036f18..8d3ee9c944f 100644
--- a/testing/perl-path-iter/APKBUILD
+++ b/testing/perl-path-iter/APKBUILD
@@ -1,31 +1,28 @@
# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=perl-path-iter
-_realname=Path-Iter
+_pkgreal=Path-Iter
pkgver=0.2
-pkgrel=2
+pkgrel=3
pkgdesc="Simple Efficient Path Iteration"
url="http://drmuey.com/cpan_contact.pl"
arch="noarch"
license="PerlArtistic"
depends="perl"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/D/DM/DMUEY/$_realname-$pkgver.tar.gz"
-builddir="$srcdir/$_realname-$pkgver"
+source="https://cpan.metacpan.org/authors/id/D/DM/DMUEY/Path-Iter-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
build() {
- cd "$builddir"
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
check() {
- cd "$builddir"
make test
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
diff --git a/testing/perl-perlio-locale/APKBUILD b/testing/perl-perlio-locale/APKBUILD
index 9894bb431e6..280db5bad67 100644
--- a/testing/perl-perlio-locale/APKBUILD
+++ b/testing/perl-perlio-locale/APKBUILD
@@ -4,36 +4,31 @@
pkgname=perl-perlio-locale
_pkgreal=PerlIO-locale
pkgver=0.10
-pkgrel=8
-pkgdesc="unknown"
+pkgrel=11
+pkgdesc="PerlIO layer to use the encoding of the current locale"
url="https://metacpan.org/release/PerlIO-locale/"
arch="all"
license="GPL PerlArtistic"
-cpandepends=""
-cpanmakedepends=" "
-depends="$cpandepends"
-makedepends="perl-dev $cpanmakedepends"
+makedepends="perl-dev"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/R/RG/RGARCIA/$_pkgreal-$pkgver.tar.gz"
-_builddir="$srcdir/$_pkgreal-$pkgver"
+builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+build() {
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make && make test
+check() {
+ make test
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="d61a9cdf60c89cda9f39335a54878df87a112f5e4caf8d697a5173797726242ecc602a8670d2b058ad5677cc5db3100afc9742bee1498ef922e02362e5281f5c PerlIO-locale-0.10.tar.gz"
+sha512sums="
+d61a9cdf60c89cda9f39335a54878df87a112f5e4caf8d697a5173797726242ecc602a8670d2b058ad5677cc5db3100afc9742bee1498ef922e02362e5281f5c PerlIO-locale-0.10.tar.gz
+"
diff --git a/testing/perl-perlio-via-timeout/APKBUILD b/testing/perl-perlio-via-timeout/APKBUILD
deleted file mode 100644
index 13e0b6b2418..00000000000
--- a/testing/perl-perlio-via-timeout/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
-# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
-pkgname=perl-perlio-via-timeout
-_pkgreal=PerlIO-via-Timeout
-pkgver=0.32
-pkgrel=1
-pkgdesc="a PerlIO layer that adds read & write timeout to a handle"
-url="https://metacpan.org/release/PerlIO-via-Timeout/"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-test-tcp perl-module-build-tiny"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/D/DA/DAMS/PerlIO-via-Timeout-$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="52200c0d19da7a19b9b328473b0e7b57a1a3102fd3ace947af8fef8f670aaebe37811daaa2e2b6cf2f6397855a4cfb2424af053322146a8acefd71e1bb30f681 PerlIO-via-Timeout-0.32.tar.gz"
diff --git a/testing/perl-plack-middleware-expires/APKBUILD b/testing/perl-plack-middleware-expires/APKBUILD
index 3295e1e1230..d95d028528b 100644
--- a/testing/perl-plack-middleware-expires/APKBUILD
+++ b/testing/perl-plack-middleware-expires/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-plack-middleware-expires
_pkgreal=Plack-Middleware-Expires
pkgver=0.06
-pkgrel=2
+pkgrel=3
pkgdesc="mod_expires for plack"
url="https://metacpan.org/release/Plack-Middleware-Expires/"
arch="noarch"
diff --git a/testing/perl-plack-middleware-reverseproxy/APKBUILD b/testing/perl-plack-middleware-reverseproxy/APKBUILD
index 47bfb3b757a..79035a8199e 100644
--- a/testing/perl-plack-middleware-reverseproxy/APKBUILD
+++ b/testing/perl-plack-middleware-reverseproxy/APKBUILD
@@ -4,10 +4,10 @@
pkgname=perl-plack-middleware-reverseproxy
_pkgreal=Plack-Middleware-ReverseProxy
pkgver=0.16
-pkgrel=1
+pkgrel=2
pkgdesc="Supports app to run as a reverse proxy backend"
url="https://metacpan.org/release/Plack-Middleware-ReverseProxy"
-arch="noarch !mips !mips64" # tests fail
+arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-plack"
makedepends="perl-module-install"
diff --git a/testing/perl-pod-cpandoc/APKBUILD b/testing/perl-pod-cpandoc/APKBUILD
index 56a2ce76091..80aac3502ab 100644
--- a/testing/perl-pod-cpandoc/APKBUILD
+++ b/testing/perl-pod-cpandoc/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-pod-cpandoc
_pkgreal=Pod-Cpandoc
pkgver=0.16
-pkgrel=3
+pkgrel=6
pkgdesc="perldoc that works for modules you don't have installed"
url="https://metacpan.org/release/Pod-Cpandoc/"
arch="noarch"
@@ -13,25 +13,23 @@ depends="perl"
makedepends="perl-module-install"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/S/SA/SARTAK/$_pkgreal-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
-_builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$_builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
- make && make test
+check() {
+ make test
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="ac9ffa4f845f213452a69e05f5f39d3cd4cf2db4c97ba2db1e7d1c6e729575b11540715abfa972ee31dad11aa334093820913a62656e2e9bbae77c910bab51bf Pod-Cpandoc-0.16.tar.gz"
+sha512sums="
+ac9ffa4f845f213452a69e05f5f39d3cd4cf2db4c97ba2db1e7d1c6e729575b11540715abfa972ee31dad11aa334093820913a62656e2e9bbae77c910bab51bf Pod-Cpandoc-0.16.tar.gz
+"
diff --git a/testing/perl-pod-tidy/APKBUILD b/testing/perl-pod-tidy/APKBUILD
new file mode 100644
index 00000000000..fd737b391ba
--- /dev/null
+++ b/testing/perl-pod-tidy/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Duncan Bellamy <dunk@denkimushi.com>
+# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
+pkgname=perl-pod-tidy
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Pod-Tidy
+pkgver=0.10
+pkgrel=1
+pkgdesc="a reformatting Pod Processor"
+url="https://metacpan.org/release/Pod-Tidy/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-encode-newlines perl-io-string perl-pod-parser perl-pod-wrap perl-test-cmd perl-text-glob"
+makedepends="perl-dev perl-module-build"
+checkdepends="perl-test-distribution"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JH/JHOBLITT/Pod-Tidy-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+b0ee0f03c148362a348a80b54424bb0c33876e24d90b21b921f85f55a20f29417764305ac864ecb06c3d03fe502aec9434d5aeeb97d7ae3506bd3cbf155b0875 Pod-Tidy-0.10.tar.gz
+"
diff --git a/testing/perl-ppi-xs/APKBUILD b/testing/perl-ppi-xs/APKBUILD
new file mode 100644
index 00000000000..2679d669cae
--- /dev/null
+++ b/testing/perl-ppi-xs/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-ppi-xs
+pkgver=0.910
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=PPI-XS
+pkgdesc="(Minor) XS acceleration for PPI"
+url="https://metacpan.org/release/PPI-XS/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-ppi"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/PPI-XS-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+e4eb631cb6272bcb42acefe70ccb7fcf2c2fb34feabf16908de135df98b870ffc4b4d21fd705b5daeee76fe076478508391ccec9db764e9360ff523cfc1a777d PPI-XS-0.910.tar.gz
+"
diff --git a/testing/perl-proc-guard/APKBUILD b/testing/perl-proc-guard/APKBUILD
index 07fa2427bcb..6ec14137da6 100644
--- a/testing/perl-proc-guard/APKBUILD
+++ b/testing/perl-proc-guard/APKBUILD
@@ -1,35 +1,37 @@
-# Automatically generated by apkbuild-cpan, template 2
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Nick Andrew <nick@nick-andrew.net>
-# Maintainer: Nick Andrew <nick@nick-andrew.net>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-proc-guard
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Proc-Guard
pkgver=0.07
-pkgrel=2
+pkgrel=4
pkgdesc="process runner with RAII pattern"
url="https://metacpan.org/release/Proc-Guard/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-class-accessor-lite"
-makedepends="perl-test-requires perl-module-build"
+makedepends="perl-module-build"
+checkdepends="perl-file-which perl-test-requires perl-test-tcp"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM/$_pkgreal-$pkgver.tar.gz"
+source="https://cpan.metacpan.org/authors/id/T/TO/TOKUHIROM/Proc-Guard-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL installdirs=vendor
+ perl Build.PL --installdirs=vendor
+ ./Build
}
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- ./Build && ./Build test
+check() {
+ ./Build test
}
package() {
- ./Build install destdir="$pkgdir"
+ ./Build install --destdir="$pkgdir"
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-
-sha512sums="1f27f7b1ee3116f3136cc4b310751bf0ab5f04a8698ce619cf94341c26e293f8c331126c636c6dd1dcc3b85724b60b22ea553b9c9f85624c59924dc89c2b6ac4 Proc-Guard-0.07.tar.gz"
+sha512sums="
+1f27f7b1ee3116f3136cc4b310751bf0ab5f04a8698ce619cf94341c26e293f8c331126c636c6dd1dcc3b85724b60b22ea553b9c9f85624c59924dc89c2b6ac4 Proc-Guard-0.07.tar.gz
+"
diff --git a/testing/perl-promise-es6/APKBUILD b/testing/perl-promise-es6/APKBUILD
new file mode 100644
index 00000000000..7b475582e9e
--- /dev/null
+++ b/testing/perl-promise-es6/APKBUILD
@@ -0,0 +1,85 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-promise-es6
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Promise-ES6
+pkgver=0.28
+pkgrel=0
+pkgdesc="ES6-style promises in Perl"
+url="https://metacpan.org/release/Promise-ES6/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-extutils-makemaker-cpanfile"
+checkdepends="
+ perl-anyevent perl-devel-globaldestruction perl-future-asyncawait
+ perl-test-class perl-test-deep perl-test-failwarnings
+ perl-test-fatal perl-test2-suite
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-anyevent
+ $pkgname-future
+ $pkgname-io-async
+ $pkgname-mojo-ioloop
+ "
+source="https://cpan.metacpan.org/authors/id/F/FE/FELIPE/Promise-ES6-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+anyevent() {
+ pkgdesc="$pkgdesc (AnyEvent backend)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-anyevent"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-anyevent"
+
+ amove usr/share/perl5/vendor_perl/Promise/ES6/AnyEvent.pm
+ amove usr/share/perl5/vendor_perl/Promise/ES6/Event/AnyEvent.pm
+}
+
+future() {
+ pkgdesc="$pkgdesc (Future interface)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-future"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-future"
+
+ amove usr/share/perl5/vendor_perl/Promise/ES6/Future.pm
+}
+
+async() {
+ pkgdesc="$pkgdesc (IO::Async backend)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-io-async"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-io-async"
+
+ amove usr/share/perl5/vendor_perl/Promise/ES6/IOAsync.pm
+ amove usr/share/perl5/vendor_perl/Promise/ES6/Event/IOAsync.pm
+}
+
+ioloop() {
+ pkgdesc="$pkgdesc (Mojo::IOLoop backend)"
+ depends="$pkgname=$pkgver-r$pkgrel perl-mojolicious"
+ install_if="$pkgname=$pkgver-r$pkgrel perl-mojolicious"
+
+ amove usr/share/perl5/vendor_perl/Promise/ES6/Mojo.pm
+ amove usr/share/perl5/vendor_perl/Promise/ES6/Event/MojoIOLoop.pm
+}
+
+sha512sums="
+6ae5c4d1fe015c78328e778c4495199645371d35484b33a52fca2c9290a4da878d586b5929b84e4e7cb93836e7e00d2271cfcdec7268d301b3d7a20c728240a3 Promise-ES6-0.28.tar.gz
+"
diff --git a/testing/perl-promise-me/APKBUILD b/testing/perl-promise-me/APKBUILD
new file mode 100644
index 00000000000..7b24bd3f06e
--- /dev/null
+++ b/testing/perl-promise-me/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-promise-me
+pkgver=0.4.10
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Promise-Me
+pkgdesc="Implementation of Promises using fork for asynchronous tasks"
+url="https://metacpan.org/release/Promise-Me/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-clone perl-curry perl-module-generic
+ perl-nice-try perl-ppi perl-storable-improved perl-want
+ "
+checkdepends="perl-test-pod perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JD/JDEGUEST/Promise-Me-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+72d05a2df146e81e7eb452ac33ad99e2e399e279d610ca7d78e25875276d5d9e5298420b46024ed01aaaaa63aad98daa602a0d04cfec9ea44693c194ebc03648 Promise-Me-v0.4.10.tar.gz
+"
diff --git a/testing/perl-promise-xs/APKBUILD b/testing/perl-promise-xs/APKBUILD
new file mode 100644
index 00000000000..c48b5ce3588
--- /dev/null
+++ b/testing/perl-promise-xs/APKBUILD
@@ -0,0 +1,43 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-promise-xs
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Promise-XS
+pkgver=0.20
+pkgrel=0
+pkgdesc="Fast promises in Perl"
+url="https://metacpan.org/release/Promise-XS/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev perl-extutils-makemaker-cpanfile"
+checkdepends="
+ perl-anyevent perl-future-asyncawait perl-io-async perl-mojolicious
+ perl-test-deep perl-test-failwarnings perl-test2-suite
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/F/FE/FELIPE/Promise-XS-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+0fab3c6382e009ba612fffe69c30931380d04af79ddb01eac8a42dd56a5145e25155e956706115f5e85a9b6cb9eab881d7310f5b9bb1f296f3bcfc173fe6f10a Promise-XS-0.20.tar.gz
+"
diff --git a/testing/perl-protocol-database-postgresql/APKBUILD b/testing/perl-protocol-database-postgresql/APKBUILD
new file mode 100644
index 00000000000..a5338a16e53
--- /dev/null
+++ b/testing/perl-protocol-database-postgresql/APKBUILD
@@ -0,0 +1,53 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-protocol-database-postgresql
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Protocol-Database-PostgreSQL
+pkgver=2.001
+pkgrel=0
+pkgdesc="PostgreSQL wire protocol implementation"
+url="https://metacpan.org/release/Protocol-Database-PostgreSQL/"
+arch="noarch !armhf !armv7 !x86" # perl-ryu
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-adapter-async perl-check-unitcheck
+ perl-future perl-indirect perl-log-any perl-ryu
+ perl-sub-identify perl-unicode-utf8
+ "
+checkdepends="
+ perl-log-any-adapter-tap perl-test-checkdeps
+ perl-test-fatal perl-test-hexstring perl-test-refcount
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Protocol-Database-PostgreSQL-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+6b37a2e6b0632e87e381704f06a800cf1008a59127152f38ec2c245b988337753d922294569bceb36ad8af65b9a5002868188af133cff7403f7808d1118e6a77 Protocol-Database-PostgreSQL-2.001.tar.gz
+"
diff --git a/testing/perl-protocol-redis-faster/APKBUILD b/testing/perl-protocol-redis-faster/APKBUILD
new file mode 100644
index 00000000000..af429e71f7a
--- /dev/null
+++ b/testing/perl-protocol-redis-faster/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-protocol-redis-faster
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Protocol-Redis-Faster
+pkgver=0.003
+pkgrel=0
+pkgdesc="Optimized pure-perl Redis protocol parser/encoder"
+url="https://metacpan.org/release/Protocol-Redis-Faster/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-protocol-redis"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DB/DBOOK/Protocol-Redis-Faster-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+6f67c2ee1f0cf5ba79dec2c1c188d3996fafcfc14003e91eb20cb580553bec266ded814570564bb0fad630f639ceb474d6e50666e99e3c0321ccb5559fc50dfa Protocol-Redis-Faster-0.003.tar.gz
+"
diff --git a/testing/perl-protocol-redis/APKBUILD b/testing/perl-protocol-redis/APKBUILD
new file mode 100644
index 00000000000..5432b610447
--- /dev/null
+++ b/testing/perl-protocol-redis/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-protocol-redis
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Protocol-Redis
+pkgver=1.0011
+pkgrel=0
+pkgdesc="Redis protocol parser/encoder with asynchronous capabilities"
+url="https://metacpan.org/release/Protocol-Redis/"
+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/U/UN/UNDEF/Protocol-Redis-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ cd "$pkgdir"
+ # introduces a circular dependency on perl-protocol-redis-faster
+ rm -v usr/share/perl5/vendor_perl/Protocol/benchmark.pl
+}
+
+sha512sums="
+43e4a05698fe0cc0ceff0b4b7fc81dc2320bbab1ca7933c26cad5ea7caa4b930665c135f604406d192bd2d49bb804eb2bd5e2015960e5dea73e1cbcbbc86980a Protocol-Redis-1.0011.tar.gz
+"
diff --git a/testing/perl-protocol-xmpp/APKBUILD b/testing/perl-protocol-xmpp/APKBUILD
new file mode 100644
index 00000000000..dcd183d04aa
--- /dev/null
+++ b/testing/perl-protocol-xmpp/APKBUILD
@@ -0,0 +1,49 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-protocol-xmpp
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Protocol-XMPP
+pkgver=0.006
+pkgrel=0
+pkgdesc="XMPP/Jabber protocol API"
+url="https://metacpan.org/release/Protocol-XMPP/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-authen-sasl perl-curry perl-future perl-mixin-event-dispatch
+ perl-xml-libxml-sax-chunkparser perl-xml-sax
+ "
+checkdepends="perl-test-checkdeps perl-test-fatal"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Protocol-XMPP-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+caea9726918119974bef629485a6fb9c5f0c49a74ed8f0c84414a6a370fa1a1a950297c17c111fdf085512105bc6af39cf4ebe5ce329023659b3f96d0fd1060c Protocol-XMPP-0.006.tar.gz
+"
diff --git a/testing/perl-redis/APKBUILD b/testing/perl-redis/APKBUILD
deleted file mode 100644
index bdcecd92dc3..00000000000
--- a/testing/perl-redis/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
-# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
-pkgname=perl-redis
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=Redis
-pkgver=1.998
-pkgrel=0
-pkgdesc="Perl binding for Redis database"
-url="https://metacpan.org/release/Redis/"
-arch="noarch !armv7 !x86 !armhf" # perl-io-socket-timeout missing
-license="Artistic-2.0"
-depends="perl perl-io-socket-timeout perl-try-tiny"
-makedepends="perl-module-build-tiny perl-module-build"
-checkdepends="perl-test-tcp perl-test-deep perl-io-string perl-test-sharedfork perl-test-fatal"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/D/DA/DAMS/Redis-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
- ./Build
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install --destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="232f0e602f6165da426ff6ee6a531f81eea3491c0312dae2813bdb15ac34469f6621c7683d5bd6b2be0cdcc09edf3f1f19cc03c848d43d41e630fe1306f62268 Redis-1.998.tar.gz"
diff --git a/testing/perl-ref-util-xs/APKBUILD b/testing/perl-ref-util-xs/APKBUILD
index 678ac370df2..9a749490ea9 100644
--- a/testing/perl-ref-util-xs/APKBUILD
+++ b/testing/perl-ref-util-xs/APKBUILD
@@ -3,7 +3,7 @@
pkgname=perl-ref-util-xs
_pkgreal=Ref-Util-XS
pkgver=0.117
-pkgrel=5
+pkgrel=7
pkgdesc="XS implementation for Ref::Util"
url="https://metacpan.org/release/Ref-Util-XS/"
arch="all"
@@ -16,7 +16,7 @@ builddir="$srcdir/$_pkgreal-$pkgver"
build() {
cd "$builddir"
- export CFLAGS=`perl -MConfig -E 'say $Config{ccflags}'`
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
make
}
diff --git a/testing/perl-regexp-grammars/APKBUILD b/testing/perl-regexp-grammars/APKBUILD
new file mode 100644
index 00000000000..f670c0fdfeb
--- /dev/null
+++ b/testing/perl-regexp-grammars/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-regexp-grammars
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Regexp-Grammars
+pkgver=1.058
+pkgrel=0
+pkgdesc="Add grammatical parsing features to Perl 5.10 regexes"
+url="https://metacpan.org/release/Regexp-Grammars/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-module-build"
+checkdepends="perl-moose"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DC/DCONWAY/Regexp-Grammars-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+4a5b69ca1f4ba23720a4aba0cbf69d4be87cdaacfd3cebb23a160a2649083a430d98a32f98e3c35fa0db6d15aeaa8c28c2ee9969e26999125d2ea6163584ca4e Regexp-Grammars-1.058.tar.gz
+"
diff --git a/testing/perl-role-eventemitter/APKBUILD b/testing/perl-role-eventemitter/APKBUILD
new file mode 100644
index 00000000000..10798aacd61
--- /dev/null
+++ b/testing/perl-role-eventemitter/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-role-eventemitter
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Role-EventEmitter
+pkgver=0.003
+pkgrel=0
+pkgdesc="Role::Tiny role for event emitting objects"
+url="https://metacpan.org/release/Role-EventEmitter/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-role-tiny"
+checkdepends="perl-future perl-test-needs"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DB/DBOOK/Role-EventEmitter-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+592cb5c1586a57923074a4e055c62ec29de405f37485ed0fbe6f741a87ba30860739019576717c6a9a9399631fd1b70005813a1ac8cff975e0ef9a35ad387813 Role-EventEmitter-0.003.tar.gz
+"
diff --git a/testing/perl-rxperl-anyevent/APKBUILD b/testing/perl-rxperl-anyevent/APKBUILD
new file mode 100644
index 00000000000..e1746b2eca5
--- /dev/null
+++ b/testing/perl-rxperl-anyevent/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-rxperl-anyevent
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=RxPerl-AnyEvent
+pkgver=6.8.1
+pkgrel=0
+pkgdesc="AnyEvent adapter for RxPerl"
+url="https://metacpan.org/release/RxPerl-AnyEvent/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-anyevent perl-rxperl"
+makedepends="perl-module-build-tiny"
+checkdepends="perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KA/KARJALA/RxPerl-AnyEvent-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+9de7ebd142ba07dc9180acbcb7d1436d9b106f324583893c8fb4d7f09af7759006c4cba6bb6112d014fccb5f58beff56e299a8cb481051cbd27a2dbbb2bc03e2 RxPerl-AnyEvent-v6.8.1.tar.gz
+"
diff --git a/testing/perl-rxperl-ioasync/APKBUILD b/testing/perl-rxperl-ioasync/APKBUILD
new file mode 100644
index 00000000000..aa87cc77d43
--- /dev/null
+++ b/testing/perl-rxperl-ioasync/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-rxperl-ioasync
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=RxPerl-IOAsync
+pkgver=6.9.1
+pkgrel=0
+pkgdesc="IO::Async adapter for RxPerl"
+url="https://metacpan.org/release/RxPerl-IOAsync/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-io-async perl-rxperl"
+makedepends="perl-module-build-tiny"
+checkdepends="perl-future perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KA/KARJALA/RxPerl-IOAsync-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+27ea3a38481fca3901f6aa9f0f19baa3165d6d67aa541a5f0ce506a7244b72dbd0053db4539ecf1cf24e5e1dac7c789987406080713284f8c5791d7a7ec1c758 RxPerl-IOAsync-v6.9.1.tar.gz
+"
diff --git a/testing/perl-rxperl-mojo/APKBUILD b/testing/perl-rxperl-mojo/APKBUILD
new file mode 100644
index 00000000000..0ef6550bb1a
--- /dev/null
+++ b/testing/perl-rxperl-mojo/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-rxperl-mojo
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=RxPerl-Mojo
+pkgver=6.8.1
+pkgrel=0
+pkgdesc="Mojo::IOLoop adapter for RxPerl"
+url="https://metacpan.org/release/RxPerl-Mojo/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-mojolicious perl-rxperl"
+makedepends="perl-module-build-tiny"
+checkdepends="perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KA/KARJALA/RxPerl-Mojo-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+c482ffd904ee2e85df8a0a5952dbe534b3a2b6458da781cffae0f5e87e92cea978f03ce0308c7de18b1570acf9b74e5f510309d2fccdeb52d6b7ac2e32894cf0 RxPerl-Mojo-v6.8.1.tar.gz
+"
diff --git a/testing/perl-rxperl/APKBUILD b/testing/perl-rxperl/APKBUILD
new file mode 100644
index 00000000000..09cde5b0416
--- /dev/null
+++ b/testing/perl-rxperl/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-rxperl
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=RxPerl
+pkgver=6.28.0
+pkgrel=0
+pkgdesc="Implementation of Reactive Extensions / rxjs for Perl"
+url="https://metacpan.org/release/RxPerl/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-hash-ordered"
+makedepends="perl-module-build-tiny"
+checkdepends="perl-promise-es6 perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KA/KARJALA/RxPerl-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+ebfe7e6fbc479d09ddc67d4f12d53e30351e48319fca149be37db27726eeeb8e87e2df0e34ddf3d1f7593b928be29850bfe729f7065e471656932ecc0e9f3a2a RxPerl-v6.28.0.tar.gz
+"
diff --git a/testing/perl-ryu-async/APKBUILD b/testing/perl-ryu-async/APKBUILD
new file mode 100644
index 00000000000..db220540642
--- /dev/null
+++ b/testing/perl-ryu-async/APKBUILD
@@ -0,0 +1,54 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-ryu-async
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Ryu-Async
+pkgver=0.020
+pkgrel=0
+pkgdesc="IO::Async support for Ryu stream management"
+url="https://metacpan.org/release/Ryu-Async/"
+arch="noarch !armhf !armv7 !x86" # perl-ryu
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-curry perl-future perl-future-asyncawait
+ perl-io-async perl-log-any perl-namespace-clean
+ perl-ryu perl-syntax-keyword-try perl-uri-tcp
+ "
+checkdepends="
+ perl-indirect perl-test-checkdeps perl-test-deep
+ perl-test-fatal perl-test-refcount
+ perl-variable-disposition
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Ryu-Async-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+088bdcb3d157832cc550aeff93fbe0b30288ea7f2e74ce10c525dc09820c005572e401adcaa8b938dcecee7d30e7f49d4f88699d01cca4428f903396b246912b Ryu-Async-0.020.tar.gz
+"
diff --git a/testing/perl-ryu/APKBUILD b/testing/perl-ryu/APKBUILD
new file mode 100644
index 00000000000..d5bf597e2a5
--- /dev/null
+++ b/testing/perl-ryu/APKBUILD
@@ -0,0 +1,58 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-ryu
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Ryu
+pkgver=3.005
+pkgrel=0
+pkgdesc="Stream and data flow handling for async code"
+url="https://metacpan.org/release/Ryu/"
+# armhf, armv7, x86: Invalid type 'q' in pack at Buffer.pm line 202
+# According to https://perldoc.perl.org/functions/pack Quads are
+# probably available only if Perl is compiled with -Duse64bitint
+arch="noarch !armhf !armv7 !x86"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-curry perl-future perl-future-queue
+ perl-indirect perl-json-maybexs perl-list-utilsby
+ perl-log-any perl-ref-util perl-syntax-keyword-try
+ perl-text-csv
+ "
+checkdepends="
+ perl-log-any-adapter-tap perl-test-checkdeps perl-test-deep
+ perl-test-fatal perl-test-files perl-test-hexstring
+ perl-test-refcount perl-test-warnings perl-variable-disposition
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Ryu-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+1886ffea40bf42a228eaa5d43ef1dbcb56a4f70973fa3426a40b819dd708fab26cffc0aefb6242d724c1a323cb70f20541688fc264e777cdc99820088a2eea2f Ryu-3.005.tar.gz
+"
diff --git a/testing/perl-scalar-readonly/APKBUILD b/testing/perl-scalar-readonly/APKBUILD
new file mode 100644
index 00000000000..2302e17a8ce
--- /dev/null
+++ b/testing/perl-scalar-readonly/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-scalar-readonly
+pkgver=0.03
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Scalar-Readonly
+pkgdesc="Functions for controlling whether any scalar variable is read-only"
+url="https://metacpan.org/release/Scalar-Readonly/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/G/GO/GOZER/Scalar-Readonly-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+fd56dbef82c298f3bcd295b65bc68b07c8db582a60ce4bddb9d38a47b6290402be8c67cd215319db609c32b28c0bf77d8ff36a42c0377f96cacc47972a7fef5c Scalar-Readonly-0.03.tar.gz
+"
diff --git a/testing/perl-sentinel/APKBUILD b/testing/perl-sentinel/APKBUILD
new file mode 100644
index 00000000000..34cfa9534cc
--- /dev/null
+++ b/testing/perl-sentinel/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-sentinel
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Sentinel
+pkgver=0.07
+pkgrel=0
+pkgdesc="Create lightweight SCALARs with get/set callbacks"
+url="https://metacpan.org/release/Sentinel/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-dev perl-module-build"
+checkdepends="perl-syntax-keyword-dynamically perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Sentinel-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+d8393ed6e53ebe5614f45d0ef5ee0d46f4516f9015e08fb53aa85b077ad181ca7f95d957b4be7018eede43b11bbdd98c3ea5268627fb244671626852976eff77 Sentinel-0.07.tar.gz
+"
diff --git a/testing/perl-session-storage-secure/APKBUILD b/testing/perl-session-storage-secure/APKBUILD
index 900420c0996..afaaa68b83c 100644
--- a/testing/perl-session-storage-secure/APKBUILD
+++ b/testing/perl-session-storage-secure/APKBUILD
@@ -5,10 +5,10 @@ pkgname=perl-session-storage-secure
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Session-Storage-Secure
pkgver=1.000
-pkgrel=1
+pkgrel=2
pkgdesc="Encrypted, expiring, compressed, serialized session data with integrity"
url="https://metacpan.org/release/Session-Storage-Secure/"
-arch="noarch !armhf" # perl-sereal-encoder
+arch="noarch !armv7 !armhf" # perl-sereal-encoder
license="Apache-2.0"
depends="
perl perl-moox-types-mooselike perl-crypt-rijndael perl-string-compare-constanttime perl-moo
diff --git a/testing/perl-snmp-info/APKBUILD b/testing/perl-snmp-info/APKBUILD
index 10eddd462f5..ed6179d24ed 100644
--- a/testing/perl-snmp-info/APKBUILD
+++ b/testing/perl-snmp-info/APKBUILD
@@ -1,16 +1,16 @@
-# Automatically generated by apkbuild-cpan, template 3
+# Automatically generated by apkbuild-cpan, template 4
# Contributor: Timo Teräs <timo.teras@iki.fi>
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=perl-snmp-info
+pkgver=3.970001
+pkgrel=0
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=SNMP-Info
-pkgver=3.78
-pkgrel=0
pkgdesc="OO Interface to Network devices and MIBs through SNMP"
url="https://metacpan.org/release/SNMP-Info/"
arch="noarch"
license="BSD-3-Clause"
-depends="perl net-snmp-perl perl-netaddr-ip net-snmp"
+depends="perl net-snmp-perl perl-netaddr-ip net-snmp perl-regexp-common"
makedepends="perl-module-build"
checkdepends="
perl-module-find perl-class-inspector perl-test-mockobject perl-hook-lexwrap
@@ -23,7 +23,9 @@ builddir="$srcdir/$_pkgreal-$pkgver"
build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
./Build
}
@@ -33,9 +35,8 @@ check() {
package() {
./Build install --destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
sha512sums="
-eca499aba07030a0e5e976c93680a403e6cee7e83814913f4a52287ca7f16d8a4775b5b772625b36253ff604022ee06133754f60a5ef7a5d497b2624033e9a70 SNMP-Info-3.78.tar.gz
+d16a5fabc08a3733a6c9a82d04f8da7f4f5d4a36a60e24e51a4e3c590d42b299a0663bffc0be79659427507c615923fd410c46a300ee56475a17999717028bfb SNMP-Info-3.970001.tar.gz
"
diff --git a/testing/perl-snmp/APKBUILD b/testing/perl-snmp/APKBUILD
index 3fd58e598d7..00484c6a456 100644
--- a/testing/perl-snmp/APKBUILD
+++ b/testing/perl-snmp/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-snmp
_pkgreal=SNMP
pkgver=5.0404
-pkgrel=10
+pkgrel=12
pkgdesc="Perl module for SNMP"
url="https://metacpan.org/release/SNMP"
arch="all"
diff --git a/testing/perl-soap-lite/APKBUILD b/testing/perl-soap-lite/APKBUILD
index fc18038ac62..5fb92b8012a 100644
--- a/testing/perl-soap-lite/APKBUILD
+++ b/testing/perl-soap-lite/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-soap-lite
_pkgreal=SOAP-Lite
pkgver=1.27
-pkgrel=3
+pkgrel=5
pkgdesc="Perl's Web Services Toolkit"
url="https://metacpan.org/release/SOAP-Lite"
arch="noarch"
diff --git a/testing/perl-sort-naturally/APKBUILD b/testing/perl-sort-naturally/APKBUILD
index 0dc798f9858..b3025d27a90 100644
--- a/testing/perl-sort-naturally/APKBUILD
+++ b/testing/perl-sort-naturally/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-sort-naturally
_pkgreal=Sort-Naturally
pkgver=1.03
-pkgrel=3
+pkgrel=4
pkgdesc="sort lexically, but sort numeral parts numerically"
url="https://metacpan.org/release/Sort-Naturally"
arch="noarch"
diff --git a/testing/perl-sort-versions/APKBUILD b/testing/perl-sort-versions/APKBUILD
new file mode 100644
index 00000000000..f45e39d9a91
--- /dev/null
+++ b/testing/perl-sort-versions/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-sort-versions
+pkgver=1.62
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Sort-Versions
+pkgdesc="Module for sorting of revision-like numbers"
+url="https://metacpan.org/release/Sort-Versions/"
+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/N/NE/NEILB/Sort-Versions-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b30dab96a5a31023af3ecee1857ae7bf5abc45b266294b47abb4f03c332b27825c1139d1a56bf0cfbd538487d28b3be167d83f9f5a93f079717b40157abe4d96 Sort-Versions-1.62.tar.gz
+"
diff --git a/testing/perl-sql-abstract-classic/APKBUILD b/testing/perl-sql-abstract-classic/APKBUILD
index b5e6ab487c2..411c09b87aa 100644
--- a/testing/perl-sql-abstract-classic/APKBUILD
+++ b/testing/perl-sql-abstract-classic/APKBUILD
@@ -5,7 +5,7 @@ pkgname=perl-sql-abstract-classic
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=SQL-Abstract-Classic
pkgver=1.91
-pkgrel=0
+pkgrel=1
pkgdesc="Generate SQL from Perl data structures"
url="https://metacpan.org/release/SQL-Abstract-Classic/"
arch="noarch"
diff --git a/testing/perl-sql-abstract-pg/APKBUILD b/testing/perl-sql-abstract-pg/APKBUILD
new file mode 100644
index 00000000000..55449f9c4f5
--- /dev/null
+++ b/testing/perl-sql-abstract-pg/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-sql-abstract-pg
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=SQL-Abstract-Pg
+pkgver=1.0
+pkgrel=0
+pkgdesc="PostgreSQL features for SQL::Abstract"
+url="https://metacpan.org/release/SQL-Abstract-Pg/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-sql-abstract"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/S/SR/SRI/SQL-Abstract-Pg-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+544fcc730ffcd3c12bb6401ec566f4183677c7b97c58692129654fac1d8e0ef76603e66236a290c88ec5fb1019626c159398eeee476646f7bb582acce8bedd23 SQL-Abstract-Pg-1.0.tar.gz
+"
diff --git a/testing/perl-sql-abstract/APKBUILD b/testing/perl-sql-abstract/APKBUILD
index 99efe4d9129..6a63295b819 100644
--- a/testing/perl-sql-abstract/APKBUILD
+++ b/testing/perl-sql-abstract/APKBUILD
@@ -5,7 +5,7 @@ pkgname=perl-sql-abstract
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=SQL-Abstract
pkgver=2.000001
-pkgrel=1
+pkgrel=2
pkgdesc="Generate SQL from Perl data structures"
url="https://metacpan.org/release/SQL-Abstract/"
arch="noarch"
diff --git a/testing/perl-starman/APKBUILD b/testing/perl-starman/APKBUILD
index e9e3ef412a7..d596203b3d5 100644
--- a/testing/perl-starman/APKBUILD
+++ b/testing/perl-starman/APKBUILD
@@ -3,8 +3,8 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=perl-starman
_pkgreal=Starman
-pkgver=0.4015
-pkgrel=1
+pkgver=0.4017
+pkgrel=0
pkgdesc="High-performance preforking PSGI/Plack web server"
url="https://metacpan.org/release/Starman"
arch="noarch"
@@ -40,4 +40,6 @@ check() {
./Build test
}
-sha512sums="8e603dfc27ee54b577c24bd521da08ecb56ae2b6992ad2304156a23b917465b3a14d11e1f038ca809ff6359798e03d3ce6d6aa705e55637401d8391ec5086ade Starman-0.4015.tar.gz"
+sha512sums="
+04d40d5f4346cd2425516ffd414dc2eca86d241bdc75e9f6cfd3091dab38f3636aebe8e49cc2b8811d06a2332883330f0d85320668ceddd0f9d15d832d609e07 Starman-0.4017.tar.gz
+"
diff --git a/testing/perl-statistics-descriptive/APKBUILD b/testing/perl-statistics-descriptive/APKBUILD
index 20da1af8595..a7b9531c961 100644
--- a/testing/perl-statistics-descriptive/APKBUILD
+++ b/testing/perl-statistics-descriptive/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-statistics-descriptive
_pkgreal=Statistics-Descriptive
-pkgver=3.0800
+pkgver=3.0801
pkgrel=0
pkgdesc="Module of basic descriptive statistical functions."
url="https://metacpan.org/release/Statistics-Descriptive"
@@ -35,5 +35,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-
-sha512sums="691a99aca4214149d14c770d71b5d97eaefa2690698b0234b11ed33d7bdbc21e9b478941bb8fa46886ea3362f432eb744a3a3b3607f3d3fe189c4256884efdec Statistics-Descriptive-3.0800.tar.gz"
+sha512sums="
+e5901ed4f53807a53779113ad9288549dcf06618d2a81009f388edce0ead9f1178ce63eea07c0a427a3f00b6216f6e211cc2ca9b1c5fa91c82e4994343a33f35 Statistics-Descriptive-3.0801.tar.gz
+"
diff --git a/testing/perl-storable-improved/APKBUILD b/testing/perl-storable-improved/APKBUILD
new file mode 100644
index 00000000000..ef37b802d50
--- /dev/null
+++ b/testing/perl-storable-improved/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-storable-improved
+pkgver=0.1.3
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Storable-Improved
+pkgdesc="Storable improved with core flaws mitigated"
+url="https://metacpan.org/release/Storable-Improved/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+checkdepends="perl-http-xsheaders perl-test-leaktrace"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JD/JDEGUEST/Storable-Improved-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-v$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+10562ac3d7f339daa49220ec61f8b008b76501adb15da703d77e5974fd1a256688fb67e80ce7239032bd18ad8e77a40084243488f5b9f97d88a674bda5270fb8 Storable-Improved-v0.1.3.tar.gz
+"
diff --git a/testing/perl-string-camelcase/APKBUILD b/testing/perl-string-camelcase/APKBUILD
index 2c39d68ca19..61124b6cd17 100644
--- a/testing/perl-string-camelcase/APKBUILD
+++ b/testing/perl-string-camelcase/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-string-camelcase
_pkgreal=String-CamelCase
pkgver=0.04
-pkgrel=1
+pkgrel=2
pkgdesc="camelcase, de-camelcase"
url="https://metacpan.org/release/String-CamelCase"
arch="noarch"
diff --git a/testing/perl-string-compare-constanttime/APKBUILD b/testing/perl-string-compare-constanttime/APKBUILD
index 2ba7e1c9952..e37ef882075 100644
--- a/testing/perl-string-compare-constanttime/APKBUILD
+++ b/testing/perl-string-compare-constanttime/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-string-compare-constanttime
_pkgreal=String-Compare-ConstantTime
pkgver=0.321
-pkgrel=3
+pkgrel=5
pkgdesc="Timing side-channel protected string compare"
url="https://metacpan.org/release/String-Compare-ConstantTime"
arch="all"
diff --git a/testing/perl-string-crc32/APKBUILD b/testing/perl-string-crc32/APKBUILD
index 9f870791857..6604c200eba 100644
--- a/testing/perl-string-crc32/APKBUILD
+++ b/testing/perl-string-crc32/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-string-crc32
_pkgreal=String-CRC32
pkgver=2.100
-pkgrel=1
+pkgrel=3
pkgdesc="Perl interface for cyclic redundancy check generation"
url="https://metacpan.org/release/String-CRC32"
arch="all"
@@ -37,5 +37,4 @@ check() {
make test
}
-
sha512sums="24e5f69aa02b16c888fa412afd28f907756e344662d66d05759ed212d97ce3f0a05fbf5bdd1137bc31ae37e27d0778fe23d75def368e051ab1cbc4b90c96907d String-CRC32-2.100.tar.gz"
diff --git a/testing/perl-string-random/APKBUILD b/testing/perl-string-random/APKBUILD
index a48af92506c..a1936fce21a 100644
--- a/testing/perl-string-random/APKBUILD
+++ b/testing/perl-string-random/APKBUILD
@@ -1,21 +1,24 @@
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-string-random
-_realname=String-Random
-pkgver=0.31
-pkgrel=0
-pkgdesc="Perl extension to generate random strings"
-url="https://metacpan.org/release/String-Random"
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=String-Random
+pkgver=0.32
+pkgrel=2
+pkgdesc="Perl module to generate random strings based on a pattern"
+url="https://metacpan.org/release/String-Random/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
makedepends="perl-module-build"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/S/SH/SHLOMIF/String-Random-$pkgver.tar.gz"
-builddir="$srcdir"/$_realname-$pkgver
+builddir="$srcdir/$_pkgreal-$pkgver"
build() {
- perl Build.PL installdirs=vendor
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
./Build
}
@@ -24,8 +27,10 @@ check() {
}
package() {
- ./Build install destdir="$pkgdir"
+ ./Build install --destdir="$pkgdir"
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="6430fee321ff92142bd24df02145984979cdae2f6cd21c4570fc2ea498b1f308080b25b576cc62dff5d07a7dcb6c61e2108badbe93d41989d6ea92a13ceae6a2 String-Random-0.31.tar.gz"
+sha512sums="
+1dd0e7e45e03e155b7a0d8394fb3a04324f4827fe9431e9697d07c3a0f3941981e0b3de1e9f843a43936e5423146a3e6d4da075da04297525093ceffc3b1e659 String-Random-0.32.tar.gz
+"
diff --git a/testing/perl-string-util/APKBUILD b/testing/perl-string-util/APKBUILD
deleted file mode 100644
index 7952e13b7a9..00000000000
--- a/testing/perl-string-util/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: TBK <tbk@jjtc.eu>
-pkgname=perl-string-util
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=String-Util
-pkgver=1.32
-pkgrel=0
-pkgdesc="String processing utility functions"
-url="https://metacpan.org/release/String-Util/"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-module-build-tiny perl-module-build"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/B/BA/BAKERSCOT/String-Util-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
- ./Build
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install --destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="be4c5922afed8f5f5cb9b4e8cd5f7ba9d08fd2ee322b09a7f22fba6aa410febf89d4bfe5ba9dbcece61b48b4a62f15734d3c29c55e121cf784d8295063cfe14c String-Util-1.32.tar.gz"
diff --git a/testing/perl-syntax-keyword-match/APKBUILD b/testing/perl-syntax-keyword-match/APKBUILD
new file mode 100644
index 00000000000..61f5e9f4525
--- /dev/null
+++ b/testing/perl-syntax-keyword-match/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Timothy Legge <timlegge@gmail.com>
+# Maintainer: Timothy Legge <timlegge@gmail.com>
+pkgname=perl-syntax-keyword-match
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Syntax-Keyword-Match
+pkgver=0.13
+pkgrel=0
+pkgdesc="a C<match/case> syntax for perl"
+url="https://metacpan.org/release/Syntax-Keyword-Match/"
+arch="all"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-xs-parse-keyword"
+makedepends="perl-dev perl-xs-parse-keyword perl-module-build"
+checkdepends="perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Syntax-Keyword-Match-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+472a0b25b8f19a09f0a7d51963bb76382a6273e505b4141148353f0375610e77d2d458fc7cf6e1cb02aa127f252f882559b186bc35b441af5fa1dad7e3aa4e25 Syntax-Keyword-Match-0.13.tar.gz
+"
diff --git a/testing/perl-sys-syscall/0001-restore-missing-changes-from-0.20.0.22.patch b/testing/perl-sys-syscall/0001-restore-missing-changes-from-0.20.0.22.patch
new file mode 100644
index 00000000000..3c9e4569ba3
--- /dev/null
+++ b/testing/perl-sys-syscall/0001-restore-missing-changes-from-0.20.0.22.patch
@@ -0,0 +1,125 @@
+Patch-Source: https://sources.debian.org/data/main/libs/libsys-syscall-perl/0.25-7/debian/patches/0001-restore-missing-changes-from-0.20.0.22.patch
+
+>From 5fc4d9fd90f3e894bef0f1bdad0a17beaa81f39f Mon Sep 17 00:00:00 2001
+From: Eric Wong <e@80x24.org>
+Date: Wed, 3 Sep 2014 01:24:07 +0000
+Subject: [PATCH] restore missing changes from 0.20..0.22
+
+Somehow the 0.25 release omitted all the following changes from
+the 0.20..0.22 era. This restores the relevant changes based on
+the diff between the following two tarballs:
+
+http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz
+http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.25.tar.gz
+
+0.22:
+ - don't modify non-localized $_. whoops. (we don't want to mess
+ with our caller's world)
+
+0.21:
+ - add missing EPOLLRDBAND, from Paul Visscher <paulv@canonical.org>
+
+0.20:
+ - on x86_64 detect 32-bit vs 64-bit process and use right syscall
+ numbers. previously worked only with 64-bit userland.
+---
+ CHANGES | 15 +++++++++++++++
+ lib/Sys/Syscall.pm | 19 +++++++++++++++----
+ 2 files changed, 30 insertions(+), 4 deletions(-)
+
+
+Bug: https://github.com/bradfitz/sys-syscall/issues/5
+Bug-Debian: https://bugs.debian.org/760336
+
+diff --git a/CHANGES b/CHANGES
+index cb97972..7cf0f2f 100644
+--- a/CHANGES
++++ b/CHANGES
+@@ -1,5 +1,20 @@
+ 0.25:
+ - adds ARM support
+
++0.23:
++ - test bug fix https://rt.cpan.org/Public/Bug/Display.html?id=54322
++
++0.22:
++ - don't modify non-localized $_. whoops. (we don't want to mess
++ with our caller's world)
++
++0.21:
++ - add missing EPOLLRDBAND, from Paul Visscher <paulv@canonical.org>
++
++0.20:
++
++ - on x86_64 detect 32-bit vs 64-bit process and use right syscall
++ numbers. previously worked only with 64-bit userland.
++
+ 0.1:
+ - first release. epoll and sendfile only. Linux only.
+diff --git a/lib/Sys/Syscall.pm b/lib/Sys/Syscall.pm
+index 8d7cca2..7821ff7 100644
+--- a/lib/Sys/Syscall.pm
++++ b/lib/Sys/Syscall.pm
+@@ -3,14 +3,18 @@
+ package Sys::Syscall;
+ use strict;
+ use POSIX qw(ENOSYS SEEK_CUR);
++use Config;
+
+ require Exporter;
+ use vars qw(@ISA @EXPORT_OK %EXPORT_TAGS $VERSION);
+
+ $VERSION = "0.25";
+ @ISA = qw(Exporter);
+-@EXPORT_OK = qw(sendfile epoll_ctl epoll_create epoll_wait EPOLLIN EPOLLOUT EPOLLERR EPOLLHUP EPOLL_CTL_ADD EPOLL_CTL_DEL EPOLL_CTL_MOD);
+-%EXPORT_TAGS = (epoll => [qw(epoll_ctl epoll_create epoll_wait EPOLLIN EPOLLOUT EPOLLERR EPOLLHUP
++@EXPORT_OK = qw(sendfile epoll_ctl epoll_create epoll_wait
++ EPOLLIN EPOLLOUT EPOLLERR EPOLLHUP EPOLLRDBAND
++ EPOLL_CTL_ADD EPOLL_CTL_DEL EPOLL_CTL_MOD);
++%EXPORT_TAGS = (epoll => [qw(epoll_ctl epoll_create epoll_wait
++ EPOLLIN EPOLLOUT EPOLLERR EPOLLHUP EPOLLRDBAND
+ EPOLL_CTL_ADD EPOLL_CTL_DEL EPOLL_CTL_MOD)],
+ sendfile => [qw(sendfile)],
+ );
+@@ -19,6 +23,7 @@ use constant EPOLLIN => 1;
+ use constant EPOLLOUT => 4;
+ use constant EPOLLERR => 8;
+ use constant EPOLLHUP => 16;
++use constant EPOLLRDBAND => 128;
+ use constant EPOLL_CTL_ADD => 1;
+ use constant EPOLL_CTL_DEL => 2;
+ use constant EPOLL_CTL_MOD => 3;
+@@ -53,6 +58,12 @@ if ($^O eq "linux") {
+ # boundaries.
+ my $u64_mod_8 = 0;
+
++ # if we're running on an x86_64 kernel, but a 32-bit process,
++ # we need to use the i386 syscall numbers.
++ if ($machine eq "x86_64" && $Config{ptrsize} == 4) {
++ $machine = "i386";
++ }
++
+ if ($machine =~ m/^i[3456]86$/) {
+ $SYS_epoll_create = 254;
+ $SYS_epoll_ctl = 255;
+@@ -222,7 +233,7 @@ sub epoll_wait_mod4 {
+ $epoll_wait_events = "\0" x 12 x $epoll_wait_size;
+ }
+ my $ct = syscall($SYS_epoll_wait, $_[0]+0, $epoll_wait_events, $_[1]+0, $_[2]+0);
+- for ($_ = 0; $_ < $ct; $_++) {
++ for (0..$ct-1) {
+ @{$_[3]->[$_]}[1,0] = unpack("LL", substr($epoll_wait_events, 12*$_, 8));
+ }
+ return $ct;
+@@ -235,7 +246,7 @@ sub epoll_wait_mod8 {
+ $epoll_wait_events = "\0" x 16 x $epoll_wait_size;
+ }
+ my $ct = syscall($SYS_epoll_wait, $_[0]+0, $epoll_wait_events, $_[1]+0, $_[2]+0);
+- for ($_ = 0; $_ < $ct; $_++) {
++ for (0..$ct-1) {
+ # 16 byte epoll_event structs, with format:
+ # 4 byte mask [idx 1]
+ # 4 byte padding (we put it into idx 2, useless)
+--
+EW
+
diff --git a/testing/perl-sys-syscall/APKBUILD b/testing/perl-sys-syscall/APKBUILD
index acf091b5608..7e98b083680 100644
--- a/testing/perl-sys-syscall/APKBUILD
+++ b/testing/perl-sys-syscall/APKBUILD
@@ -1,31 +1,34 @@
-# Automatically generated by apkbuild-cpan, template 2
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Nick Andrew <nick@nick-andrew.net>
-# Maintainer: Nick Andrew <nick@nick-andrew.net>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-sys-syscall
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Sys-Syscall
pkgver=0.25
-pkgrel=7
+pkgrel=9
pkgdesc="Invoke system calls that are otherwise difficult to do from Perl"
-url="https://metacpan.org/release/Sys-Syscall"
-arch="all !aarch64 !s390x !mips !mips64"
+url="https://metacpan.org/release/Sys-Syscall/"
+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/B/BR/BRADFITZ/$_pkgreal-$pkgver.tar.gz
- ppc64le_epoll.patch
+source="https://cpan.metacpan.org/authors/id/B/BR/BRADFITZ/Sys-Syscall-$pkgver.tar.gz
+ 0001-restore-missing-changes-from-0.20.0.22.patch
+ aarch64.patch
+ ppc64le.patch
+ s390x.patch
"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
+check() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make
+ make test
}
package() {
@@ -33,10 +36,10 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-check() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="8b0641c992865cc7a29874a2166a4f0542039958839c6305cd4c33d17cfbdecd4f4ee74dc8110bfb000e42cabd803a84c6ba39037765d61ccb2bdf60522be87f Sys-Syscall-0.25.tar.gz
-b8d9912ae7dba60dab3bbe742ab069b86ea3846454e97d3101e975cb5568a6ca161bd928f5d4b8bd305d99830da2668de496904851fa8569ca946235f54b891f ppc64le_epoll.patch"
+sha512sums="
+8b0641c992865cc7a29874a2166a4f0542039958839c6305cd4c33d17cfbdecd4f4ee74dc8110bfb000e42cabd803a84c6ba39037765d61ccb2bdf60522be87f Sys-Syscall-0.25.tar.gz
+aa40e1b6fe8b559dab6f99825e0a362668048e2c5ef0092a19b9e18a10fc061b1a234ab237040209685cc7f0e796721f4ec2e1c2b14b5d0d164c7353d7ac2822 0001-restore-missing-changes-from-0.20.0.22.patch
+121e46b05020431c7fc76b629d8661991c0503f855d8888de7985d237b244e3766dc69e2bacfdd2af47595aee9737d58dcaa7c42ab0c8de0b4730edfaa4fc84d aarch64.patch
+0a26b35e87063970d1081468b2008064cf3476764670fcd9c9123ba88a35eb22c3fa8c6c5bf44a4b8013147a7c3ddaec108aa71506b573bd8df80cc4731de2ed ppc64le.patch
+2690e438f6a0e663cf640d76d61c24013cb26a6f04a5330b96fbcc311b05315306a9534bbe17f27d86f8df191f7084912f35ce1e7cfbe1c1e92d341c4960b6f2 s390x.patch
+"
diff --git a/testing/perl-sys-syscall/aarch64.patch b/testing/perl-sys-syscall/aarch64.patch
new file mode 100644
index 00000000000..5cea6a2ff8d
--- /dev/null
+++ b/testing/perl-sys-syscall/aarch64.patch
@@ -0,0 +1,72 @@
+Patch-Source: https://sources.debian.org/data/main/libs/libsys-syscall-perl/0.25-7/debian/patches/aarch64.patch
+
+From 6c7c516edfabd2edc835d0aaad39f946164bb25d Mon Sep 17 00:00:00 2001
+From: Yaakov Selkowitz <yselkowi@redhat.com>
+Date: Fri, 4 Dec 2015 02:31:28 -0600
+Subject: [PATCH 3/3] Add aarch64 support
+
+This is a bit complicated because AArch64, as a completely new architecture,
+does not support the deprecated epoll_create and epoll_wait syscalls.
+Instead, these wrap the epoll_create1 and epoll_pwait syscalls, which serve
+the same purpose but with slightly different syntaxes.
+
+Origin: backport, https://github.com/bradfitz/sys-syscall/commit/6c7c516edfabd2edc835d0aaad39f946164bb25d
+Bug-Debian: https://bugs.debian.org/824843
+---
+ lib/Sys/Syscall.pm | 19 +++++++++++++++++--
+ 1 file changed, 17 insertions(+), 2 deletions(-)
+
+diff --git a/lib/Sys/Syscall.pm b/lib/Sys/Syscall.pm
+index 702e835..abd010a 100644
+--- a/lib/Sys/Syscall.pm
++++ b/lib/Sys/Syscall.pm
+@@ -53,6 +53,8 @@ our (
+ $SYS_readahead,
+ );
+
++our $no_deprecated = 0;
++
+ if ($^O eq "linux") {
+ # whether the machine requires 64-bit numbers to be on 8-byte
+ # boundaries.
+@@ -105,6 +107,14 @@ if ($^O eq "linux") {
+ $SYS_epoll_wait = 409;
+ $SYS_readahead = 379;
+ $u64_mod_8 = 1;
++ } elsif ($machine eq "aarch64") {
++ $SYS_epoll_create = 20; # (sys_epoll_create1)
++ $SYS_epoll_ctl = 21;
++ $SYS_epoll_wait = 22; # (sys_epoll_pwait)
++ $SYS_sendfile = 71; # (sys_sendfile64)
++ $SYS_readahead = 213;
++ $u64_mod_8 = 1;
++ $no_deprecated = 1;
+ } elsif ($machine =~ m/arm(v\d+)?.*l/) {
+ # ARM OABI
+ $SYS_epoll_create = 250;
+@@ -207,7 +217,7 @@ sub epoll_defined { return $SYS_epoll_create ? 1 : 0; }
+ # size doesn't even matter (radix tree now, not hash)
+ sub epoll_create {
+ return -1 unless defined $SYS_epoll_create;
+- my $epfd = eval { syscall($SYS_epoll_create, ($_[0]||100)+0) };
++ my $epfd = eval { syscall($SYS_epoll_create, $no_deprecated ? 0 : ($_[0]||100)+0) };
+ return -1 if $@;
+ return $epfd;
+ }
+@@ -245,7 +255,12 @@ sub epoll_wait_mod8 {
+ $epoll_wait_size = $_[1];
+ $epoll_wait_events = "\0" x 16 x $epoll_wait_size;
+ }
+- my $ct = syscall($SYS_epoll_wait, $_[0]+0, $epoll_wait_events, $_[1]+0, $_[2]+0);
++ my $ct;
++ if ($no_deprecated) {
++ $ct = syscall($SYS_epoll_wait, $_[0]+0, $epoll_wait_events, $_[1]+0, $_[2]+0, undef);
++ } else {
++ $ct = syscall($SYS_epoll_wait, $_[0]+0, $epoll_wait_events, $_[1]+0, $_[2]+0);
++ }
+ for (0..$ct-1) {
+ # 16 byte epoll_event structs, with format:
+ # 4 byte mask [idx 1]
+--
+2.8.1
+
diff --git a/testing/perl-sys-syscall/ppc64le.patch b/testing/perl-sys-syscall/ppc64le.patch
new file mode 100644
index 00000000000..980f4973049
--- /dev/null
+++ b/testing/perl-sys-syscall/ppc64le.patch
@@ -0,0 +1,31 @@
+Patch-Source: https://sources.debian.org/data/main/libs/libsys-syscall-perl/0.25-7/debian/patches/ppc64le.patch
+
+From b877ec33b331ba01e8fad8bed0d3cde55e1efa9e Mon Sep 17 00:00:00 2001
+From: Yaakov Selkowitz <yselkowi@redhat.com>
+Date: Fri, 4 Dec 2015 02:26:35 -0600
+Subject: [PATCH 1/3] Add ppc64le support
+
+Little endian uses the same syscalls as the big endian kernel.
+
+Origin: upstream, https://github.com/bradfitz/sys-syscall/commit/b877ec33b331ba01e8fad8bed0d3cde55e1efa9e
+Bug-Debian: https://bugs.debian.org/824843
+---
+ lib/Sys/Syscall.pm | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lib/Sys/Syscall.pm b/lib/Sys/Syscall.pm
+index 8d7cca2..ece65de 100644
+--- a/lib/Sys/Syscall.pm
++++ b/lib/Sys/Syscall.pm
+@@ -78,7 +78,7 @@ if ($^O eq "linux") {
+ $SYS_epoll_wait = 232;
+ $SYS_sendfile = 40;
+ $SYS_readahead = 187;
+- } elsif ($machine eq "ppc64") {
++ } elsif ($machine =~ m/^ppc64/) {
+ $SYS_epoll_create = 236;
+ $SYS_epoll_ctl = 237;
+ $SYS_epoll_wait = 238;
+--
+2.8.1
+
diff --git a/testing/perl-sys-syscall/ppc64le_epoll.patch b/testing/perl-sys-syscall/ppc64le_epoll.patch
deleted file mode 100644
index 4f2174c8256..00000000000
--- a/testing/perl-sys-syscall/ppc64le_epoll.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/Sys/Syscall.pm
-+++ b/lib/Sys/Syscall.pm
-@@ -65,7 +65,7 @@
- $SYS_epoll_wait = 232;
- $SYS_sendfile = 40;
- $SYS_readahead = 187;
-- } elsif ($machine eq "ppc64") {
-+ } elsif ($machine =~ m/^ppc64/) {
- $SYS_epoll_create = 236;
- $SYS_epoll_ctl = 237;
- $SYS_epoll_wait = 238;
diff --git a/testing/perl-sys-syscall/s390x.patch b/testing/perl-sys-syscall/s390x.patch
new file mode 100644
index 00000000000..6f755cc355f
--- /dev/null
+++ b/testing/perl-sys-syscall/s390x.patch
@@ -0,0 +1,34 @@
+Patch-Source: https://sources.debian.org/data/main/libs/libsys-syscall-perl/0.25-7/debian/patches/s390x.patch
+
+From 5628d9c0e299eea79e87aa8a5ed2d99a2895a4d0 Mon Sep 17 00:00:00 2001
+From: Yaakov Selkowitz <yselkowi@redhat.com>
+Date: Fri, 4 Dec 2015 02:28:00 -0600
+Subject: [PATCH 2/3] Add s390/x support
+
+Origin: upstream, https://github.com/bradfitz/sys-syscall/commit/5628d9c0e299eea79e87aa8a5ed2d99a2895a4d0
+Bug-Debian: https://bugs.debian.org/824843
+---
+ lib/Sys/Syscall.pm | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/lib/Sys/Syscall.pm b/lib/Sys/Syscall.pm
+index ece65de..702e835 100644
+--- a/lib/Sys/Syscall.pm
++++ b/lib/Sys/Syscall.pm
+@@ -92,6 +92,13 @@ if ($^O eq "linux") {
+ $SYS_sendfile = 186; # sys_sendfile64=226
+ $SYS_readahead = 191;
+ $u64_mod_8 = 1;
++ } elsif ($machine =~ m/^s390/) {
++ $SYS_epoll_create = 249;
++ $SYS_epoll_ctl = 250;
++ $SYS_epoll_wait = 251;
++ $SYS_sendfile = 187; # sys_sendfile64=223
++ $SYS_readahead = 222;
++ $u64_mod_8 = 1;
+ } elsif ($machine eq "ia64") {
+ $SYS_epoll_create = 1243;
+ $SYS_epoll_ctl = 1244;
+--
+2.8.1
+
diff --git a/testing/perl-sys-virt/APKBUILD b/testing/perl-sys-virt/APKBUILD
index deaa3babaaa..a21ee1b3e0e 100644
--- a/testing/perl-sys-virt/APKBUILD
+++ b/testing/perl-sys-virt/APKBUILD
@@ -1,30 +1,34 @@
-# Automatically generated by apkbuild-cpan, template 1
+# Automatically generated by apkbuild-cpan, template 4
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-sys-virt
-_pkgreal=Sys-Virt
-pkgver=8.0.0
+pkgver=10.2.0
pkgrel=0
-pkgdesc="Perl module for Sys-Virt"
-url="https://metacpan.org/release/Sys-Virt"
-arch="all !s390x !mips64 !riscv64" # libvirt->polkit->mozjs78->rust
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-cpanmakedepends="perl-xml-xpath perl-test-pod-coverage
- perl-test-pod perl-cpan-changes perl-module-build"
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Sys-Virt
+pkgdesc="libvirt Perl API"
+url="https://metacpan.org/release/Sys-Virt/"
+arch="all"
+license="GPL-2.0-or-later OR Artistic-1.0-Perl"
depends="perl"
-makedepends="$cpanmakedepends perl-dev libvirt yajl-dev libvirt-dev"
+makedepends="
+ libvirt-dev
+ perl-cpan-changes
+ perl-dev
+ perl-module-build
+ perl-test-pod
+ perl-test-pod-coverage
+ perl-xml-xpath
+ "
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/D/DA/DANBERR/Sys-Virt-v$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-v$pkgver"
-prepare() {
- default_prepare
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
-}
-
build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
./Build
}
@@ -34,9 +38,8 @@ check() {
package() {
./Build install --destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
sha512sums="
-7caaba7b6c4d862bf7ad55b3a464d0acd105b7f594b80995b49e4243f6a9dd32eefceab997c6aa45497c07c607c7c7f8a047fd600668ac4b49d237de21f6996c Sys-Virt-v8.0.0.tar.gz
+c362e37511aff879b08a67b6337cee6d20c197fea2bb7f6ce023eafa642f53029744d704250533772fd48448ff39ea49027b83563cd9821dcd22d3621b2372ef Sys-Virt-v10.2.0.tar.gz
"
diff --git a/testing/perl-system-command/APKBUILD b/testing/perl-system-command/APKBUILD
new file mode 100644
index 00000000000..9a0df28180d
--- /dev/null
+++ b/testing/perl-system-command/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-system-command
+pkgver=1.122
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=System-Command
+pkgdesc="Object for running system commands"
+url="https://metacpan.org/release/System-Command/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+checkdepends="perl-test-command perl-test-output"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/B/BO/BOOK/System-Command-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7b83909072509b06c580c00ef6e06d83e620fa3da84c308a3f8e301a5cec9c1d3b953d3e9e70d99123f19ac164d7156806d65f65a624f3575851481674d04378 System-Command-1.122.tar.gz
+"
diff --git a/testing/perl-template-plugin-csv/APKBUILD b/testing/perl-template-plugin-csv/APKBUILD
index bb024c31977..bbe1b427dcc 100644
--- a/testing/perl-template-plugin-csv/APKBUILD
+++ b/testing/perl-template-plugin-csv/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-template-plugin-csv
_pkgreal=Template-Plugin-CSV
pkgver=0.04
-pkgrel=2
+pkgrel=3
pkgdesc="Template plugin to generate CSV"
url="https://metacpan.org/release/Template-Plugin-CSV/"
arch="noarch"
diff --git a/testing/perl-template-plugin-number-format/APKBUILD b/testing/perl-template-plugin-number-format/APKBUILD
index f8cdb04f9a8..c9c93999df5 100644
--- a/testing/perl-template-plugin-number-format/APKBUILD
+++ b/testing/perl-template-plugin-number-format/APKBUILD
@@ -4,8 +4,8 @@
pkgname=perl-template-plugin-number-format
_pkgreal=Template-Plugin-Number-Format
pkgver=1.06
-pkgrel=2
-pkgdesc="unknown"
+pkgrel=4
+pkgdesc="Plugin/filter interface to Number::Format"
url="https://metacpan.org/release/Template-Plugin-Number-Format/"
arch="noarch"
license="GPL PerlArtistic"
@@ -14,30 +14,20 @@ subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/D/DA/DARREN/$_pkgreal-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare || return 1
-
- cd "$builddir"
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+build() {
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
- cd "$builddir"
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make
+check() {
+ make test
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-check() {
- cd "$builddir"
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="85ddc46618efc5a11a657f265ea63b09bd8df9f8e99122bcee5a22a23099ac8eb3c930d61382529b1e3c0b4dd663d32e30e77ac33b6d1b305475e740053001cb Template-Plugin-Number-Format-1.06.tar.gz"
+sha512sums="
+85ddc46618efc5a11a657f265ea63b09bd8df9f8e99122bcee5a22a23099ac8eb3c930d61382529b1e3c0b4dd663d32e30e77ac33b6d1b305475e740053001cb Template-Plugin-Number-Format-1.06.tar.gz
+"
diff --git a/testing/perl-term-readline-gnu/APKBUILD b/testing/perl-term-readline-gnu/APKBUILD
deleted file mode 100644
index c30e84b2d57..00000000000
--- a/testing/perl-term-readline-gnu/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=perl-term-readline-gnu
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=Term-ReadLine-Gnu
-pkgver=1.42
-pkgrel=1
-pkgdesc="Perl extension for the GNU Readline/History Library"
-url="https://metacpan.org/release/Term-ReadLine-Gnu/"
-arch="all"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-dev readline-dev"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-$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 TERM=xterm-256color
- 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="8f62cb14432f9364b1a3cea708d3d648bc7df2bb7fed2b3ec7af389fa183bfbe1bec3020b184b19a267217d47a3547f52a20d75f17c13ba89684759084f24471 Term-ReadLine-Gnu-1.42.tar.gz"
diff --git a/testing/perl-term-size/APKBUILD b/testing/perl-term-size/APKBUILD
index 26d23788361..eeb05fc9dc6 100644
--- a/testing/perl-term-size/APKBUILD
+++ b/testing/perl-term-size/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-term-size
_pkgreal=Term-Size
pkgver=0.211
-pkgrel=1
+pkgrel=3
pkgdesc="Retrieve terminal size on Unix"
url="https://metacpan.org/release/Term-Size/"
arch="all"
@@ -31,5 +31,4 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-
sha512sums="0762951a6125dace8c67548667b8ca353b34199412fbd4c05d417a49a6d3f5bb93172736fcef98e049f094f2fdc62efd334e64f9357c7778665f2aa2bb775e0f Term-Size-0.211.tar.gz"
diff --git a/testing/perl-term-ui/APKBUILD b/testing/perl-term-ui/APKBUILD
index 5324eef4b61..fe305c3d16b 100644
--- a/testing/perl-term-ui/APKBUILD
+++ b/testing/perl-term-ui/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-term-ui
_pkgreal=Term-UI
pkgver=0.50
-pkgrel=0
+pkgrel=1
pkgdesc="User interfaces via Term::ReadLine made easy"
url="https://metacpan.org/release/Term-UI"
arch="noarch"
diff --git a/testing/perl-test-api/APKBUILD b/testing/perl-test-api/APKBUILD
index 25d37331914..e044644a897 100644
--- a/testing/perl-test-api/APKBUILD
+++ b/testing/perl-test-api/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-test-api
_pkgreal=Test-API
pkgver=0.010
-pkgrel=1
+pkgrel=2
pkgdesc="Test a list of subroutines provided by a module"
url="https://metacpan.org/release/Test-API"
arch="noarch"
diff --git a/testing/perl-test-checkdeps/APKBUILD b/testing/perl-test-checkdeps/APKBUILD
new file mode 100644
index 00000000000..71df0f6e0fe
--- /dev/null
+++ b/testing/perl-test-checkdeps/APKBUILD
@@ -0,0 +1,36 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-checkdeps
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-CheckDeps
+pkgver=0.010
+pkgrel=0
+pkgdesc="Check for presence of dependencies"
+url="https://metacpan.org/release/Test-CheckDeps/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-cpan-meta-check"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/L/LE/LEONT/Test-CheckDeps-$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="
+9683b81aa6bce358fa1abc9b2337b9b15b274742f08a3fd71e80df0bfd20619406cdded191aafdd103db8d514bdc20d36a0b60aefbd72d3de6cb117c17461697 Test-CheckDeps-0.010.tar.gz
+"
diff --git a/testing/perl-test-class-most/APKBUILD b/testing/perl-test-class-most/APKBUILD
deleted file mode 100644
index 838b2f8bf0c..00000000000
--- a/testing/perl-test-class-most/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Timothy Legge <timlegge@gmail.com>
-# Maintainer: Timothy Legge <timlegge@gmail.com>
-pkgname=perl-test-class-most
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=Test-Class-Most
-pkgver=0.08
-pkgrel=0
-pkgdesc="Test Classes the easy way"
-url="https://metacpan.org/release/Test-Class-Most/"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-module-build perl-test-simple perl-test-class perl-test-most"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/O/OV/OVID/Test-Class-Most-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
- ./Build
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install --destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="
-30284e5c186727df87688176e3fb8683000796c8fc2f45d243c8a2ad42d4d52e840ca6f0baedf5dc9a7b6a246472ff96c92d0c407dbd65c5152a7cf5a61003c1 Test-Class-Most-0.08.tar.gz
-"
diff --git a/testing/perl-test-class-tiny/APKBUILD b/testing/perl-test-class-tiny/APKBUILD
new file mode 100644
index 00000000000..253d201b0d6
--- /dev/null
+++ b/testing/perl-test-class-tiny/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-class-tiny
+pkgver=0.03
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-Class-Tiny
+pkgdesc="xUnit in Perl, simplified"
+url="https://metacpan.org/release/Test-Class-Tiny/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+checkdepends="perl-test-deep perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/F/FE/FELIPE/Test-Class-Tiny-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7342fcdd8cf1c283926f6e244fa2bfca9369e8fa9a10587c9d46bfba1b204ef5156a21d3a461a952d07cf8f0646995083ce5c1738561fac83c38c04fd8e895de Test-Class-Tiny-0.03.tar.gz
+"
diff --git a/testing/perl-test-describeme/APKBUILD b/testing/perl-test-describeme/APKBUILD
new file mode 100644
index 00000000000..71ba75dfaeb
--- /dev/null
+++ b/testing/perl-test-describeme/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-describeme
+pkgver=0.004
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-DescribeMe
+pkgdesc="Tell test runners what kind of test you are"
+url="https://metacpan.org/release/Test-DescribeMe/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-test-settings"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/W/WO/WOLFSAGE/Test-DescribeMe-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cfbdf4497393f49139f78699d47f9ebcafbb1021b1c8281633623c8c65bb97a77e8b21d6cb6eb2ea145fd3cfa5a1e1172b1b86f0f40f21b5cec970512347fb37 Test-DescribeMe-0.004.tar.gz
+"
diff --git a/testing/perl-test-distribution/APKBUILD b/testing/perl-test-distribution/APKBUILD
index b0b846f08a9..122d6dbfdf3 100644
--- a/testing/perl-test-distribution/APKBUILD
+++ b/testing/perl-test-distribution/APKBUILD
@@ -5,7 +5,7 @@ pkgname=perl-test-distribution
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Test-Distribution
pkgver=2.00
-pkgrel=0
+pkgrel=1
pkgdesc="perform tests on all modules of a distribution"
url="https://metacpan.org/release/Test-Distribution/"
arch="noarch"
diff --git a/testing/perl-test-expander/APKBUILD b/testing/perl-test-expander/APKBUILD
new file mode 100644
index 00000000000..b88da7b2a55
--- /dev/null
+++ b/testing/perl-test-expander/APKBUILD
@@ -0,0 +1,55 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-expander
+pkgver=2.5.0
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-Expander
+pkgdesc="Collection of frequently used test functionalities"
+url="https://metacpan.org/release/Test-Expander/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-const-fast perl-file-chdir perl-importer
+ perl-padwalker perl-path-tiny perl-scalar-readonly
+ perl-test2-suite perl-test2-tools-explain
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JS/JSF/Test-Expander-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ default_prepare
+
+ rm -v lib/.perlcriticrc
+}
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+db46e5110ee0620fd202cb600ef119d7b7769306a51cf9c16aef825c74c504019923608a79025ba612cbcfb1996ff637fc966e4f1422dcf825d5ab9971f7a164 Test-Expander-2.5.0.tar.gz
+"
diff --git a/testing/perl-test-file/APKBUILD b/testing/perl-test-file/APKBUILD
index 85727b4cec3..d38356070e0 100644
--- a/testing/perl-test-file/APKBUILD
+++ b/testing/perl-test-file/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=perl-test-file
-_realname=Test-File
-pkgver=1.448
-pkgrel=0
+_pkgreal=Test-File
+pkgver=1.993
+pkgrel=1
pkgdesc="test file attributes"
url="https://github.com/briandfoy/test-file"
arch="noarch"
@@ -11,8 +11,8 @@ license="Artistic-2.0"
depends="perl"
checkdepends="perl-test-utf8"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/B/BD/BDFOY/$_realname-$pkgver.tar.gz"
-builddir="$srcdir/$_realname-$pkgver"
+source="https://cpan.metacpan.org/authors/id/B/BD/BDFOY/Test-File-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
build() {
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
@@ -28,8 +28,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-
-
-
-
-sha512sums="fea5082cedb03de62dd9b4ee1db891439a14367f746f1fdec4056ac251a607cc281d22708517de4e3e64484b47fb6cc5898c30983a6af9db03412c469b4e9009 Test-File-1.448.tar.gz"
+sha512sums="
+0e14580a11afc2f3115d5594be226237803ad8e462c314a2b775ca96bf491cfeea84bd90ae92a70c58d3d8fc7c0f21d38b54a58d29dd01a2c082c0cbfecb0aaf Test-File-1.993.tar.gz
+"
diff --git a/testing/perl-test-files/APKBUILD b/testing/perl-test-files/APKBUILD
new file mode 100644
index 00000000000..b2cd82d57da
--- /dev/null
+++ b/testing/perl-test-files/APKBUILD
@@ -0,0 +1,57 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-files
+pkgver=0.26
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-Files
+pkgdesc="Test::Builder based module to ease testing with files and dirs"
+url="https://metacpan.org/release/Test-Files/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-class-xsaccessor perl-const-fast perl-data-compare
+ perl-file-chdir perl-padwalker perl-path-tiny perl-text-diff
+ "
+checkdepends="
+ perl-archive-zip perl-file-copy-recursive perl-test-expander
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JS/JSF/Test-Files-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+prepare() {
+ default_prepare
+
+ rm -v lib/.perlcriticrc
+}
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL \
+ INSTALLDIRS=vendor \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+72bdac0290230993b5364ee674d5b8289feef5f98abb0a9595574e49642be1183fd0dace03693e63ca001ea9131d2f1e8f7625843fb00e9fcce321d5e5149aec Test-Files-0.26.tar.gz
+"
diff --git a/testing/perl-test-lwp-useragent/APKBUILD b/testing/perl-test-lwp-useragent/APKBUILD
new file mode 100644
index 00000000000..93e62a64dda
--- /dev/null
+++ b/testing/perl-test-lwp-useragent/APKBUILD
@@ -0,0 +1,46 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-lwp-useragent
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-LWP-UserAgent
+pkgver=0.036
+pkgrel=0
+pkgdesc="LWP::UserAgent subclass for simulating and testing network calls"
+url="https://metacpan.org/release/Test-LWP-UserAgent/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-http-date perl-http-message perl-libwww
+ perl-namespace-clean perl-safe-isa perl-try-tiny perl-uri
+ "
+checkdepends="
+ perl-json-maybexs perl-moose perl-path-tiny perl-plack
+ perl-test-deep perl-test-fatal perl-test-needs
+ perl-test-requiresinternet perl-test-warnings
+ "
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/E/ET/ETHER/Test-LWP-UserAgent-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+6cf34dbd9c6fee3ab25ee31a97694f24499c7f41cd3d08e915176235148e69729f9434d58da78645e306d966031d2807f333f9847ddcc53b33474e6e6bea9e8e Test-LWP-UserAgent-0.036.tar.gz
+"
diff --git a/testing/perl-test-memorygrowth/APKBUILD b/testing/perl-test-memorygrowth/APKBUILD
new file mode 100644
index 00000000000..40293310d75
--- /dev/null
+++ b/testing/perl-test-memorygrowth/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-memorygrowth
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-MemoryGrowth
+pkgver=0.04
+pkgrel=0
+pkgdesc="Assert that code does not cause growth in memory usage"
+url="https://metacpan.org/release/Test-MemoryGrowth/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Test-MemoryGrowth-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+538cd6646be941e2fe67640eccad5b5b5eb29ee403837e33f9b7c703209a78a699c89a03906bb85461207c99aea3b87a9f48c869ed07979a84d083fa71e5b7f5 Test-MemoryGrowth-0.04.tar.gz
+"
diff --git a/testing/perl-test-modern/APKBUILD b/testing/perl-test-modern/APKBUILD
index d506f1b4899..8672e2b80fa 100644
--- a/testing/perl-test-modern/APKBUILD
+++ b/testing/perl-test-modern/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-test-modern
_pkgreal=Test-Modern
pkgver=0.013
-pkgrel=2
+pkgrel=3
pkgdesc="precision testing for modern perl"
url="https://metacpan.org/release/Test-Modern/"
arch="noarch"
diff --git a/testing/perl-test-randomresult/APKBUILD b/testing/perl-test-randomresult/APKBUILD
new file mode 100644
index 00000000000..0580ed8a5ec
--- /dev/null
+++ b/testing/perl-test-randomresult/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-randomresult
+pkgver=0.001
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-RandomResult
+pkgdesc="Test that results of a running code look random"
+url="https://metacpan.org/release/Test-RandomResult/"
+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/P/PE/PERLANCAR/Test-RandomResult-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+ce85acf051686186c44e9972e610117c821018c2d32900ce56ef6c96fbca6afb58f729bfe18a1651a27359d9fbf8f855a2b2b7969ef154befaf20adabbc6767b Test-RandomResult-0.001.tar.gz
+"
diff --git a/testing/perl-test-redisserver/APKBUILD b/testing/perl-test-redisserver/APKBUILD
new file mode 100644
index 00000000000..43077e0eddc
--- /dev/null
+++ b/testing/perl-test-redisserver/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-redisserver
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-RedisServer
+pkgver=0.23
+pkgrel=0
+pkgdesc="redis-server runner for tests"
+url="https://metacpan.org/release/Test-RedisServer/"
+arch="noarch !armv7 !x86 !armhf" # perl-redis not available
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-mouse perl-redis redis"
+makedepends="perl-module-build-tiny"
+checkdepends="perl-test-tcp"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/S/SO/SONGMU/Test-RedisServer-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+57616c36d505a2ff1c933c82b698924a0cfdbf10ae62d98836a93cf7ac093c2595c498a5a039a2b65929cec889f6f3b85cd581f1080e5a28c6d46b0e85f4aacd Test-RedisServer-0.23.tar.gz
+"
diff --git a/testing/perl-test-requires-git/APKBUILD b/testing/perl-test-requires-git/APKBUILD
new file mode 100644
index 00000000000..c86ce26ce02
--- /dev/null
+++ b/testing/perl-test-requires-git/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-requires-git
+pkgver=1.008
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-Requires-Git
+pkgdesc="Check your test requirements against the available version of Git"
+url="https://metacpan.org/release/Test-Requires-Git/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-git-version-compare"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/B/BO/BOOK/Test-Requires-Git-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+bc6d6cf8f371c8b20a139a468a57117c8d49fe1a83150a7597a1bb09c634d5ede2b4617209045ea0e2d707f7ab4aa7e16c9652d604b8ecfc3e9785457c2cb504 Test-Requires-Git-1.008.tar.gz
+"
diff --git a/testing/perl-test-roo/APKBUILD b/testing/perl-test-roo/APKBUILD
index a618c5026b3..696d4360007 100644
--- a/testing/perl-test-roo/APKBUILD
+++ b/testing/perl-test-roo/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-test-roo
_pkgreal=Test-Roo
pkgver=1.004
-pkgrel=2
+pkgrel=3
pkgdesc="Composable, reusable tests with roles and Moo"
url="https://metacpan.org/release/Test-Roo/"
arch="noarch"
diff --git a/testing/perl-test-settings/APKBUILD b/testing/perl-test-settings/APKBUILD
new file mode 100644
index 00000000000..8aca7a2c749
--- /dev/null
+++ b/testing/perl-test-settings/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test-settings
+pkgver=0.003
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test-Settings
+pkgdesc="Ask or tell when certain types of tests should be run"
+url="https://metacpan.org/release/Test-Settings/"
+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/W/WO/WOLFSAGE/Test-Settings-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+8839e6cd16c1527157e79bacb34fc6b95d09286a1974e7503b68f06cf17536d798c084d546b19c5f0720823d1486658918e93922737c949513e875a0bc76a6c2 Test-Settings-0.003.tar.gz
+"
diff --git a/testing/perl-test-timer/APKBUILD b/testing/perl-test-timer/APKBUILD
index e0fbc66857e..b0ec02f8926 100644
--- a/testing/perl-test-timer/APKBUILD
+++ b/testing/perl-test-timer/APKBUILD
@@ -1,30 +1,25 @@
-# Automatically generated by apkbuild-cpan, template 2
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Nick Andrew <nick@nick-andrew.net>
-# Maintainer: Nick Andrew <nick@nick-andrew.net>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-test-timer
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Test-Timer
-pkgver=2.11
-pkgrel=1
+pkgver=2.12
+pkgrel=2
pkgdesc="test module to test/assert response times"
-url="https://metacpan.org/release/Test-Timer"
+url="https://metacpan.org/release/Test-Timer/"
arch="noarch"
license="Artistic-2.0"
depends="perl perl-error"
makedepends="perl-module-build"
-checkdepends="perl-test-fatal perl-test-simple"
+checkdepends="perl-test-fatal"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/J/JO/JONASBN/Test-Timer-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL installdirs=vendor
-}
-
build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
./Build
}
@@ -33,9 +28,10 @@ check() {
}
package() {
- ./Build install destdir="$pkgdir"
+ ./Build install --destdir="$pkgdir"
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-
-sha512sums="cd276ee115c31fb24f5f518fcca0e09189e2da8bc009bf6e99b28799117edb93d95492e61c6b60ef1cce9be2fe040eed242bbe3acb8ef8f40778970e24444c9b Test-Timer-2.11.tar.gz"
+sha512sums="
+1a97676fccca9f8daae550942ab5dcd28bf121d781518b41bfc846ed5e63723e64608a24a001ff8462e7f9e6019e727ed4bf88ddb13e0e3428093abe42eb71ee Test-Timer-2.12.tar.gz
+"
diff --git a/testing/perl-test-toolbox/APKBUILD b/testing/perl-test-toolbox/APKBUILD
index 3d42d43156e..b09164ad930 100644
--- a/testing/perl-test-toolbox/APKBUILD
+++ b/testing/perl-test-toolbox/APKBUILD
@@ -1,34 +1,36 @@
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: TBK <tbk@jjtc.eu>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-test-toolbox
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Test-Toolbox
pkgver=0.4
-pkgrel=3
+pkgrel=5
pkgdesc="Tools for testing"
-url="https://metacpan.org/release/Test-Toolbox"
+url="https://metacpan.org/release/Test-Toolbox/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
+makedepends="perl-module-build"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/M/MI/MIKO/Test-Toolbox-$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
+ perl Build.PL --installdirs=vendor
+ ./Build
}
check() {
- make test
+ ./Build test
}
package() {
- make DESTDIR="$pkgdir" install
+ ./Build install --destdir="$pkgdir"
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="99d711a7cce4ac3a4fd37f4b7fc91cf75c5d4978ff83cd084599ed6c1818d22b30a3210a14b03da4646b53cc939b224937da3bea1c49bb13324c5583ee44bf81 Test-Toolbox-0.4.tar.gz"
+sha512sums="
+99d711a7cce4ac3a4fd37f4b7fc91cf75c5d4978ff83cd084599ed6c1818d22b30a3210a14b03da4646b53cc939b224937da3bea1c49bb13324c5583ee44bf81 Test-Toolbox-0.4.tar.gz
+"
diff --git a/testing/perl-test-trap/APKBUILD b/testing/perl-test-trap/APKBUILD
index 45b89d313e8..dcf900a4e24 100644
--- a/testing/perl-test-trap/APKBUILD
+++ b/testing/perl-test-trap/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=perl-test-trap
_pkgreal=Test-Trap
-pkgver=0.3.4
+pkgver=0.3.5
pkgrel=1
pkgdesc="Trap exit codes, exceptions, output, etc."
url="https://metacpan.org/release/Test-Trap"
@@ -36,4 +36,6 @@ check() {
./Build test
}
-sha512sums="cac4412a55511c820a1813a277afa802769a64219bf306190d83fea775c53bcd1d7faa275cb7f1b435e5ae274b6c1f78dd862525a6426040e51fdaf537e720ff Test-Trap-v0.3.4.tar.gz"
+sha512sums="
+02836ed9c91448cb5aa84246c17d72d119844e072289656529d87e944ad1c26fa7e18e7b45290cdffdabaff7abdad4547233156331194ce375da0b902811313e Test-Trap-v0.3.5.tar.gz
+"
diff --git a/testing/perl-test-unit/20_fix-defined-array-warnings.patch b/testing/perl-test-unit/20_fix-defined-array-warnings.patch
new file mode 100644
index 00000000000..a6401ee6987
--- /dev/null
+++ b/testing/perl-test-unit/20_fix-defined-array-warnings.patch
@@ -0,0 +1,20 @@
+Patch-Source: https://sources.debian.org/data/main/libt/libtest-unit-perl/0.25-7/debian/patches/20_fix-defined-array-warnings.patch
+
+Description: Fix defined(@array) deprecation warning
+ Also fixes test suite failures where STDERR was checked
+Author: Axel Beckert <abe@debian.org>
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=102732
+
+Index: libtest-unit-perl/lib/Test/Unit/TestCase.pm
+===================================================================
+--- libtest-unit-perl.orig/lib/Test/Unit/TestCase.pm 2013-12-25 21:59:45.182407866 +0100
++++ libtest-unit-perl/lib/Test/Unit/TestCase.pm 2013-12-25 22:08:27.777044278 +0100
+@@ -103,7 +103,7 @@
+ my $class = ref($_[0]) || $_[0];
+ my @tests = ();
+ no strict 'refs';
+- if (defined(@{"$class\::TESTS"})) {
++ if (@{"$class\::TESTS"}) {
+ push @tests, @{"$class\::TESTS"};
+ }
+ else {
diff --git a/testing/perl-test-unit/30_fix-xism-test-suite-failures.patch b/testing/perl-test-unit/30_fix-xism-test-suite-failures.patch
new file mode 100644
index 00000000000..bce2e41c087
--- /dev/null
+++ b/testing/perl-test-unit/30_fix-xism-test-suite-failures.patch
@@ -0,0 +1,29 @@
+Patch-Source: https://sources.debian.org/data/main/libt/libtest-unit-perl/0.25-7/debian/patches/30_fix-xism-test-suite-failures.patch
+
+Description: Fix test-suite failures due to ?-xism vs ?^
+ ?^ was introduced with Perl 5.14 as abbreviation for ?d-imsx
+Author: Axel Beckert <abe@debian.org>
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=62771
+
+Index: libtest-unit-perl/t/tlib/AssertTest.pm
+===================================================================
+--- libtest-unit-perl.orig/t/tlib/AssertTest.pm 2013-12-26 01:17:02.338121179 +0100
++++ libtest-unit-perl/t/tlib/AssertTest.pm 2013-12-26 01:17:50.658363830 +0100
+@@ -70,7 +70,7 @@
+
+ 'bang' => [ __LINE__, sub { shift->assert(0, 'bang') } ],
+ 'bang' => [ __LINE__, sub { shift->assert('', 'bang') } ],
+- "'qux' did not match /(?-xism:foo)/"
++ "'qux' did not match /(?^:foo)/"
+ => [ __LINE__, sub { shift->assert(qr/foo/, 'qux') } ],
+ 'bang' => [ __LINE__, sub { shift->assert(qr/foo/, 'qux', 'bang') } ],
+ 'a ne b'=> [ __LINE__, sub { shift->assert($coderef, 'a', 'b') } ],
+@@ -253,7 +253,7 @@
+ q{expected '', got 'foo'} => [ 'foo', '' ],
+ q{expected 'foo', got ''} => [ '', 'foo' ],
+ q{expected 5, got 4} => [ $adder, 5 ],
+- q{'foo' did not match /(?-xism:x)/} => [ 'foo', qr/x/ ],
++ q{'foo' did not match /(?^:x)/} => [ 'foo', qr/x/ ],
+ );
+ my @tests = ();
+ while (@checks) {
diff --git a/testing/perl-test-unit/40_make-deep-test-less-fragile.patch b/testing/perl-test-unit/40_make-deep-test-less-fragile.patch
new file mode 100644
index 00000000000..298c35b530e
--- /dev/null
+++ b/testing/perl-test-unit/40_make-deep-test-less-fragile.patch
@@ -0,0 +1,23 @@
+Patch-Source: https://sources.debian.org/data/main/libt/libtest-unit-perl/0.25-7/debian/patches/40_make-deep-test-less-fragile.patch
+
+Description: Add more variants to fragile test
+ This test was already marked by upstream as "may be fragile due to
+ recursion ordering" and it indeed is fragile. Fixes occasional test
+ suite failures due to hash randomization.
+Author: Axel Beckert <abe@debian.org>
+Bug: https://rt.cpan.org/Public/Bug/Display.html?id=87017
+
+Index: libtest-unit-perl/t/tlib/AssertTest.pm
+===================================================================
+--- libtest-unit-perl.orig/t/tlib/AssertTest.pm 2013-12-26 02:08:38.782689704 +0100
++++ libtest-unit-perl/t/tlib/AssertTest.pm 2013-12-26 02:13:11.136010021 +0100
+@@ -479,7 +479,8 @@
+ },
+ }
+ ],
+- $differ->( 'HASH', 'not exist') => [$families{orig}, $families{bad_copy}], # test may be fragile due to recursion ordering?
++ # test is fragile due to hash randomization
++ $differ->( 'HASH|John\sDoe', 'not\sexist|Baby\sDoll') => [$families{orig}, $families{bad_copy}],
+ $differ->("'3'", "'5'") => [ [ \$H, 3 ], [ \$H2, 5 ] ],
+ $differ->("'hello'", "'goodbye'") => [ { world => \$H }, { world => \$G } ],
+ $differ->("'hello'", "'goodbye'") => [ [ \$H, "world" ], [ \$G, "world" ] ],
diff --git a/testing/perl-test-unit/APKBUILD b/testing/perl-test-unit/APKBUILD
index afbb3051a8a..6310fc1eecf 100644
--- a/testing/perl-test-unit/APKBUILD
+++ b/testing/perl-test-unit/APKBUILD
@@ -1,31 +1,33 @@
-# Automatically generated by apkbuild-cpan, template 2
+# Automatically generated by apkbuild-cpan, template 3
# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-test-unit
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Test-Unit
pkgver=0.25
-pkgrel=2
+pkgrel=4
pkgdesc="A unit testing framework"
-url="https://metacpan.org/release/Test-Unit"
+url="https://metacpan.org/release/Test-Unit/"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-options="!check"
-depends="perl perl-class-inner perl-error perl-devel-symdump"
+depends="perl perl-class-inner perl-devel-symdump perl-error"
subpackages="$pkgname-doc"
source="https://cpan.metacpan.org/authors/id/M/MC/MCAST/Test-Unit-$pkgver.tar.gz
- testcase.patch"
+ 20_fix-defined-array-warnings.patch
+ 30_fix-xism-test-suite-failures.patch
+ 40_make-deep-test-less-fragile.patch
+ "
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_prepare
-
+build() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
+ make
}
-build() {
+check() {
export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make
+ make test
}
package() {
@@ -33,10 +35,9 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-check() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- make test
-}
-
-sha512sums="8f76583c7480eec825080eb6cd94d1b1a1c7c3bc7f297607414c95777e9a9f880b5a0d927a41521389ae50c2ba1b9ec3d76149da47d5997add739970df6b154d Test-Unit-0.25.tar.gz
-d7e874a687f93347cb03b403b55a9a765caa38aed1f24c437c6e4a43d287084366aff5a97b4990487f00979288146a29d36989059c8e83b702824348c0f86bc5 testcase.patch"
+sha512sums="
+8f76583c7480eec825080eb6cd94d1b1a1c7c3bc7f297607414c95777e9a9f880b5a0d927a41521389ae50c2ba1b9ec3d76149da47d5997add739970df6b154d Test-Unit-0.25.tar.gz
+47415704a1cd0f18cd95be4f231adb69093af08735f0af81cc78a8178ebd25283311f38c41e1d155e3806ed3b545de0d3c0feedbb8fd4192c04a0b6c516d4e73 20_fix-defined-array-warnings.patch
+417b738b22cf0f31d7393528610cb3362dab93341623dd7526a3cb8abebdc26f766efa162a4960e81ecce7ad77f139f7cf212a5e97ea7d07c17c768d1530ae35 30_fix-xism-test-suite-failures.patch
+40789912e9ff8ed3abbd0bd2d59cd1c0b090277d123aea720a247d0f86debd68756b1be06ae23e22526b80730239520509fc0274f129b19ae220ea84d511d2db 40_make-deep-test-less-fragile.patch
+"
diff --git a/testing/perl-test-unit/testcase.patch b/testing/perl-test-unit/testcase.patch
deleted file mode 100644
index 9f287555915..00000000000
--- a/testing/perl-test-unit/testcase.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/lib/Test/Unit/TestCase.pm
-+++ b/lib/Test/Unit/TestCase.pm
-@@ -103,7 +103,7 @@
- my $class = ref($_[0]) || $_[0];
- my @tests = ();
- no strict 'refs';
-- if (defined(@{"$class\::TESTS"})) {
-+ if (@{"$class\::TESTS"}) {
- push @tests, @{"$class\::TESTS"};
- }
- else {
diff --git a/testing/perl-test-useallmodules/APKBUILD b/testing/perl-test-useallmodules/APKBUILD
index 948867930a1..d83b2fc64cb 100644
--- a/testing/perl-test-useallmodules/APKBUILD
+++ b/testing/perl-test-useallmodules/APKBUILD
@@ -5,7 +5,7 @@ pkgname=perl-test-useallmodules
#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=Test-UseAllModules
pkgver=0.17
-pkgrel=0
+pkgrel=1
pkgdesc="do use_ok() for all the MANIFESTed modules"
url="https://metacpan.org/release/Test-UseAllModules/"
arch="noarch"
diff --git a/testing/perl-test-utf8/APKBUILD b/testing/perl-test-utf8/APKBUILD
index f0741806244..de55a80e43d 100644
--- a/testing/perl-test-utf8/APKBUILD
+++ b/testing/perl-test-utf8/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
pkgname=perl-test-utf8
-_realname=Test-utf8
+_pkgreal=Test-utf8
pkgver=1.02
-pkgrel=1
+pkgrel=2
pkgdesc="A collection of tests useful for dealing with utf8 strings"
url="https://github.com/2shortplanks/Test-utf8"
arch="noarch"
@@ -11,8 +11,8 @@ license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl"
makedepends="perl-module-install"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/M/MA/MARKF/$_realname-$pkgver.tar.gz"
-builddir="$srcdir/$_realname-$pkgver"
+source="https://cpan.metacpan.org/authors/id/M/MA/MARKF/Test-utf8-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
build() {
PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor
diff --git a/testing/perl-test2-tools-explain/APKBUILD b/testing/perl-test2-tools-explain/APKBUILD
new file mode 100644
index 00000000000..93213a5b109
--- /dev/null
+++ b/testing/perl-test2-tools-explain/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-test2-tools-explain
+pkgver=0.02
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Test2-Tools-Explain
+pkgdesc="Explain tools for Perl's Test2 framework"
+url="https://metacpan.org/release/Test2-Tools-Explain/"
+arch="noarch"
+license="Artistic-2.0"
+depends="perl perl-test2-suite"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PETDANCE/Test2-Tools-Explain-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+4359db90fede4aa2e6d8e0ee1e006131e372636ba8ab28c12ff1ef5c30e6f7a23fcf4b63d0ad64d54b881a2b344bbcf279cc7d7777982178065c89c3fceabf04 Test2-Tools-Explain-0.02.tar.gz
+"
diff --git a/testing/perl-text-brew/APKBUILD b/testing/perl-text-brew/APKBUILD
index 0bab7819509..e83631b5e70 100644
--- a/testing/perl-text-brew/APKBUILD
+++ b/testing/perl-text-brew/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-text-brew
_pkgreal=Text-Brew
pkgver=0.02
-pkgrel=4
+pkgrel=5
pkgdesc="An implementation of the Brew edit distance"
url="https://metacpan.org/release/Text-Brew"
arch="noarch"
diff --git a/testing/perl-text-table-any/APKBUILD b/testing/perl-text-table-any/APKBUILD
new file mode 100644
index 00000000000..872c954093b
--- /dev/null
+++ b/testing/perl-text-table-any/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-text-table-any
+pkgver=0.117
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Text-Table-Any
+pkgdesc="Generate text table using one of several backends"
+url="https://metacpan.org/release/Text-Table-Any/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-text-table-sprintf"
+checkdepends="perl-test-exception"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PERLANCAR/Text-Table-Any-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+ee0e0b9a4150fc289c49cedc6da49f8757e681aa0d862cad5e67dbb43df73a9a11f98127efbde086335cb4f616943e398f79991aa42d919dd2c85d13a9b8c7d2 Text-Table-Any-0.117.tar.gz
+"
diff --git a/testing/perl-text-table-sprintf/APKBUILD b/testing/perl-text-table-sprintf/APKBUILD
new file mode 100644
index 00000000000..6bc48c20225
--- /dev/null
+++ b/testing/perl-text-table-sprintf/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-text-table-sprintf
+pkgver=0.008
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Text-Table-Sprintf
+pkgdesc="Generate simple text tables from 2D arrays using sprintf()"
+url="https://metacpan.org/release/Text-Table-Sprintf/"
+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/P/PE/PERLANCAR/Text-Table-Sprintf-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+e4006c6b139f81441ffd5659da265889674a9c2a8aae1ea354d2e1d8fb61c7abe608eb9771760f4d9effb29d6aa38cab090ae0ad3e9b919bac28e188515b2bfa Text-Table-Sprintf-0.008.tar.gz
+"
diff --git a/testing/perl-throwable/APKBUILD b/testing/perl-throwable/APKBUILD
index 6529605b84f..1ea991d4133 100644
--- a/testing/perl-throwable/APKBUILD
+++ b/testing/perl-throwable/APKBUILD
@@ -3,8 +3,8 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=perl-throwable
_pkgreal=Throwable
-pkgver=1.000
-pkgrel=0
+pkgver=1.001
+pkgrel=1
pkgdesc="A role for classes that can be thrown"
url="https://metacpan.org/release/Throwable"
arch="noarch"
@@ -37,5 +37,5 @@ package() {
}
sha512sums="
-d81d2e3eff78ad396e6e61ad09ecf3c1eaaf33ae24c8b74c8336b568dceb1b62aa03f9e8417df2edc55b0c6806599c7e88ccc43f2b45c11262fd8139706a9bc3 Throwable-1.000.tar.gz
+b0b8d906c1cf7d4f5ea985b91bb2eca191056cd41b12c37560504c825bf57fe4a0cf4423ad53da04a9cd43edeba52321d407f03e556033156071b0c3ef97001a Throwable-1.001.tar.gz
"
diff --git a/testing/perl-tickit-widget-choice/APKBUILD b/testing/perl-tickit-widget-choice/APKBUILD
new file mode 100644
index 00000000000..497b2143c5c
--- /dev/null
+++ b/testing/perl-tickit-widget-choice/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-tickit-widget-choice
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Tickit-Widget-Choice
+pkgver=0.07
+pkgrel=0
+pkgdesc="Widget giving a choice from a list"
+url="https://metacpan.org/release/Tickit-Widget-Choice/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-object-pad perl-tickit-widget-menu"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Tickit-Widget-Choice-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+4ba3418c35580a297ad993de993e6cdef375405282c58d3868e08a84513d34545b0e853b9f2fa14215d99a8b206c500bdcaf85d5515311cdb0673976968e4afa Tickit-Widget-Choice-0.07.tar.gz
+"
diff --git a/testing/perl-tickit-widget-entry-plugin-completion/APKBUILD b/testing/perl-tickit-widget-entry-plugin-completion/APKBUILD
new file mode 100644
index 00000000000..0a8e3f99436
--- /dev/null
+++ b/testing/perl-tickit-widget-entry-plugin-completion/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-tickit-widget-entry-plugin-completion
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Tickit-Widget-Entry-Plugin-Completion
+pkgver=0.02
+pkgrel=0
+pkgdesc="Add word-completion logic to a Tickit::Widget::Entry"
+url="https://metacpan.org/release/Tickit-Widget-Entry-Plugin-Completion/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-object-pad perl-tickit-widgets"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Tickit-Widget-Entry-Plugin-Completion-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+296e822b8fd1b916be9e4794527132bcb5f685280668ba50ca1add31d8fa6d3cefae9b0fb070d805c47c1e5cd527656f8f6d5fbea8ef6d5494e6d9d9be8ae382 Tickit-Widget-Entry-Plugin-Completion-0.02.tar.gz
+"
diff --git a/testing/perl-tickit-widget-floatbox/APKBUILD b/testing/perl-tickit-widget-floatbox/APKBUILD
new file mode 100644
index 00000000000..77a85f892f5
--- /dev/null
+++ b/testing/perl-tickit-widget-floatbox/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-tickit-widget-floatbox
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Tickit-Widget-FloatBox
+pkgver=0.11
+pkgrel=0
+pkgdesc="Manage a collection of floating widgets"
+url="https://metacpan.org/release/Tickit-Widget-FloatBox/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-object-pad perl-tickit-widgets"
+makedepends="perl-module-build"
+checkdepends="perl-test-identity"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Tickit-Widget-FloatBox-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+42d7f84a03ebae3583734de2ce0d6b08566461a9c25952c1d802f6cbdfe7dc814a2515fb84db46fa664ec686e35a89ae7cf3853e5e41a4393596f2428953d6c8 Tickit-Widget-FloatBox-0.11.tar.gz
+"
diff --git a/testing/perl-tickit-widget-menu/APKBUILD b/testing/perl-tickit-widget-menu/APKBUILD
new file mode 100644
index 00000000000..a0b0685b5ab
--- /dev/null
+++ b/testing/perl-tickit-widget-menu/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-tickit-widget-menu
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Tickit-Widget-Menu
+pkgver=0.16
+pkgrel=0
+pkgdesc="Display a menu of choices"
+url="https://metacpan.org/release/Tickit-Widget-Menu/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-object-pad perl-tickit-widgets"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Tickit-Widget-Menu-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+ca99764ba51c6cd79c7efc010c2d1296bd57fcb86cf3a4fa059f741831228235ec9b311292027fb260435030d2328a0cf6faee5fb3115f2bb35fb53d7f4c3c86 Tickit-Widget-Menu-0.16.tar.gz
+"
diff --git a/testing/perl-tickit-widget-scrollbox/APKBUILD b/testing/perl-tickit-widget-scrollbox/APKBUILD
new file mode 100644
index 00000000000..dd91c6d3961
--- /dev/null
+++ b/testing/perl-tickit-widget-scrollbox/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-tickit-widget-scrollbox
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Tickit-Widget-ScrollBox
+pkgver=0.12
+pkgrel=0
+pkgdesc="Allow a single child widget to be scrolled"
+url="https://metacpan.org/release/Tickit-Widget-ScrollBox/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-object-pad perl-tickit-widgets"
+makedepends="perl-module-build"
+checkdepends="perl-test-refcount"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Tickit-Widget-ScrollBox-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+88715d421196b787bbfcf4c1dea90fa5a86845aa5ce67e4dd9be754099c4ae8f38720a2325d38d20f123ae0cf0953fb53a4aeaeffe999d2c338112160c7d7cc0 Tickit-Widget-ScrollBox-0.12.tar.gz
+"
diff --git a/testing/perl-tie-ixhash/APKBUILD b/testing/perl-tie-ixhash/APKBUILD
deleted file mode 100644
index bf1d8984394..00000000000
--- a/testing/perl-tie-ixhash/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=perl-tie-ixhash
-_pkgreal=Tie-IxHash
-pkgver=1.23
-pkgrel=3
-pkgdesc="ordered associative arrays for Perl"
-url="https://metacpan.org/release/Tie-IxHash"
-arch="noarch"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-module-build"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/C/CH/CHORNY/$_pkgreal-$pkgver.tar.gz"
-
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-prepare() {
- perl Build.PL installdirs=vendor
-}
-
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- ./Build
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="13e5015cf4e11e3ba828279a5090704b8e4bed26a04e1f486a9d3a63c41eaf38d54d233b20ef5d1886b56e857208c229fd145c4c676b681e3e9c1ed3c252f195 Tie-IxHash-1.23.tar.gz"
diff --git a/testing/perl-time-timegm/APKBUILD b/testing/perl-time-timegm/APKBUILD
index 74dcb69a9d3..e733f6a8874 100644
--- a/testing/perl-time-timegm/APKBUILD
+++ b/testing/perl-time-timegm/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-time-timegm
_pkgreal=Time-timegm
pkgver=0.01
-pkgrel=6
+pkgrel=8
pkgdesc="a UTC version of C<mktime()>"
url="https://metacpan.org/release/Time-timegm"
arch="all"
diff --git a/testing/perl-types-path-tiny/APKBUILD b/testing/perl-types-path-tiny/APKBUILD
new file mode 100644
index 00000000000..d07ca9747d0
--- /dev/null
+++ b/testing/perl-types-path-tiny/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-types-path-tiny
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Types-Path-Tiny
+pkgver=0.006
+pkgrel=0
+pkgdesc="Path::Tiny types and coercions for Moose and Moo"
+url="https://metacpan.org/release/Types-Path-Tiny/"
+arch="noarch"
+license="Apache-2.0"
+depends="perl perl-path-tiny perl-type-tiny"
+checkdepends="perl-file-pushd"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAGOLDEN/Types-Path-Tiny-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+9820b5e23bd916895d64573273dd0ffcf8fdc1f0cf6af2db02400bcbbc3611628f03e2ca83f9297dae3b28784279689ba40256f94f0e7ef841bd08e026941b0a Types-Path-Tiny-0.006.tar.gz
+"
diff --git a/testing/perl-uri-db/APKBUILD b/testing/perl-uri-db/APKBUILD
new file mode 100644
index 00000000000..69f0099432e
--- /dev/null
+++ b/testing/perl-uri-db/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-uri-db
+pkgver=0.22
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=URI-db
+pkgdesc="Database URIs"
+url="https://metacpan.org/release/URI-db/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-uri perl-uri-nested"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DW/DWHEELER/URI-db-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+0812e692218641040e65defb1775519278eb7c21d7848e888c5202ee2ffd6ecbd2060031dd40329f2e067ebdde4a8f4da6bf5cd473fc02744a4a4847e2f1e3dc URI-db-0.22.tar.gz
+"
diff --git a/testing/perl-uri-encode-xs/APKBUILD b/testing/perl-uri-encode-xs/APKBUILD
deleted file mode 100644
index c1f67fd7214..00000000000
--- a/testing/perl-uri-encode-xs/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor: Nick Andrew <nick@nick-andrew.net>
-# Maintainer: Nick Andrew <nick@nick-andrew.net>
-pkgname=perl-uri-encode-xs
-_pkgreal=URI-Encode-XS
-pkgver=0.11
-pkgrel=6
-pkgdesc="A Perl URI encoder/decoder using C"
-url="https://metacpan.org/release/URI-Encode-XS"
-arch="all"
-license="BSD-2-Clause"
-makedepends="perl-dev"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/D/DF/DFARRELL/$_pkgreal-$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="2035723d68e67f3dceadc6f92c95558f7d30531bd559f4de07f7f3240e4512ae35b5452213be41fa1ee3be65b1803ccbd7299587373fc2c339fdab8a42479d93 URI-Encode-XS-0.11.tar.gz"
diff --git a/testing/perl-uri-fetch/APKBUILD b/testing/perl-uri-fetch/APKBUILD
new file mode 100644
index 00000000000..6edd7f3ab22
--- /dev/null
+++ b/testing/perl-uri-fetch/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-uri-fetch
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=URI-Fetch
+pkgver=0.15
+pkgrel=0
+pkgdesc="Smart URI fetching/caching"
+url="https://metacpan.org/release/URI-Fetch/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-class-errorhandler perl-libwww perl-uri"
+checkdepends="perl-test-requiresinternet"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/N/NE/NEILB/URI-Fetch-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+eb630a628920cdee005a7a4be5c82da635050905a6cbb12b06721a11921f54b72d0c307306a413b95e43def7859eb5ac4e0d9d9400c4fe86750cc71210db7203 URI-Fetch-0.15.tar.gz
+"
diff --git a/testing/perl-uri-nested/APKBUILD b/testing/perl-uri-nested/APKBUILD
new file mode 100644
index 00000000000..eec01862112
--- /dev/null
+++ b/testing/perl-uri-nested/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-uri-nested
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=URI-Nested
+pkgver=0.10
+pkgrel=0
+pkgdesc="Nested URIs"
+url="https://metacpan.org/release/URI-Nested/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-uri"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DW/DWHEELER/URI-Nested-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+00f6bc5ac77e629b7bd82ba593f839dc2da394c5e8fafc03db2d816fffc149557ece6a50e0b82867c4e458d1dff108535bb3ec4768401a30450f51e5a827b9e4 URI-Nested-0.10.tar.gz
+"
diff --git a/testing/perl-uri-redis/APKBUILD b/testing/perl-uri-redis/APKBUILD
new file mode 100644
index 00000000000..a6c7db48b7e
--- /dev/null
+++ b/testing/perl-uri-redis/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-uri-redis
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=URI-redis
+pkgver=0.02
+pkgrel=0
+pkgdesc="URI for Redis connection info"
+url="https://metacpan.org/release/URI-redis/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-uri"
+makedepends="perl-test-most"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/M/ME/MENDEL/URI-redis-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7f9f62c8b6b3e00e02c45d5237fb3a4c33542be12a4f7cb31ae74711be66e7031d2daa5a18b2fe1c84554dcfee7db7901f8a9fcac4ba609e24dee33ab6253d9c URI-redis-0.02.tar.gz
+"
diff --git a/testing/perl-uri-tcp/APKBUILD b/testing/perl-uri-tcp/APKBUILD
new file mode 100644
index 00000000000..8ba3101be24
--- /dev/null
+++ b/testing/perl-uri-tcp/APKBUILD
@@ -0,0 +1,37 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-uri-tcp
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=URI-tcp
+pkgver=2.0.0
+pkgrel=0
+pkgdesc="TCP connection string"
+url="https://metacpan.org/release/URI-tcp/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-uri"
+makedepends="perl-module-build-tiny"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/J/JA/JASEI/URI-tcp-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+9efbd6f60984474bbb62a1519abbe10aa357bb4107626fbbe21f39987f11ffd800803f0d91cebfb58b1f51174a69b871d96da66481ab2d122158bea63079bb50 URI-tcp-2.0.0.tar.gz
+"
diff --git a/testing/perl-url-encode/APKBUILD b/testing/perl-url-encode/APKBUILD
index a393f1c91aa..f78b6189a52 100644
--- a/testing/perl-url-encode/APKBUILD
+++ b/testing/perl-url-encode/APKBUILD
@@ -4,7 +4,7 @@
pkgname=perl-url-encode
_pkgreal=URL-Encode
pkgver=0.03
-pkgrel=3
+pkgrel=4
pkgdesc="Encoding and decoding of C<application/x-www-form-urlencoded> encoding."
url="https://metacpan.org/release/URL-Encode"
arch="noarch"
diff --git a/testing/perl-variable-disposition/APKBUILD b/testing/perl-variable-disposition/APKBUILD
new file mode 100644
index 00000000000..649fd4f48e8
--- /dev/null
+++ b/testing/perl-variable-disposition/APKBUILD
@@ -0,0 +1,46 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-variable-disposition
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=Variable-Disposition
+pkgver=0.005
+pkgrel=0
+pkgdesc="Dispose of variables"
+url="https://metacpan.org/release/Variable-Disposition/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-future"
+checkdepends="perl-test-checkdeps perl-test-fatal perl-test-refcount"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/T/TE/TEAM/Variable-Disposition-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+doc() {
+ local file; find "$pkgdir" -name "*.pod" | while read -r file; do
+ amove "${file#"$pkgdir"}"
+ done
+ default_doc
+}
+
+sha512sums="
+4ed05d35658867cfd45c08b7b894d9efcdcf4c5465ec551fdd0ae2b497251f0e5d805de9243505a096757965b59f4d5b2d82c80ec6aeac7887d01dbf704b583a Variable-Disposition-0.005.tar.gz
+"
diff --git a/testing/perl-x-tiny/APKBUILD b/testing/perl-x-tiny/APKBUILD
new file mode 100644
index 00000000000..c0cb2ae6eea
--- /dev/null
+++ b/testing/perl-x-tiny/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-x-tiny
+pkgver=0.22
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=X-Tiny
+pkgdesc="Super-lightweight exception framework"
+url="https://metacpan.org/release/X-Tiny/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-module-runtime"
+checkdepends="perl-test-failwarnings"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/F/FE/FELIPE/X-Tiny-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+86378f802c74e48ec5ed615429983b7b25d58758d95fa6dfe97aca4f27be8cf361f3218316d5057ec7f54d1e2b7aa32fad8c4046b7b862e83338215503220827 X-Tiny-0.22.tar.gz
+"
diff --git a/testing/perl-xml-atom/APKBUILD b/testing/perl-xml-atom/APKBUILD
new file mode 100644
index 00000000000..ee6a3f21c75
--- /dev/null
+++ b/testing/perl-xml-atom/APKBUILD
@@ -0,0 +1,42 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-xml-atom
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=XML-Atom
+pkgver=0.43
+pkgrel=0
+pkgdesc="Atom feed and API implementation"
+url="https://metacpan.org/release/XML-Atom/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-class-data-inheritable perl-datetime
+ perl-datetime-format-atom perl-datetime-timezone
+ perl-html-parser perl-libwww perl-uri
+ perl-xml-libxml perl-xml-xpath
+ "
+makedepends="perl-module-build-tiny"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/M/MI/MIYAGAWA/XML-Atom-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+408d0753d651da7ab4cc50d79b654e9f3680f17830a3fa36e0d1869a4e7aabb17aaf5132a91ff20f1144af09290f109fe7812baa61b23b5b89de384228649fd9 XML-Atom-0.43.tar.gz
+"
diff --git a/testing/perl-xml-bare/APKBUILD b/testing/perl-xml-bare/APKBUILD
index d57e9498eff..e4f7fdb49b8 100644
--- a/testing/perl-xml-bare/APKBUILD
+++ b/testing/perl-xml-bare/APKBUILD
@@ -1,33 +1,28 @@
-# Automatically generated by apkbuild-cpan, template 1
-# Contributor:
-# Maintainer:
+# Automatically generated by apkbuild-cpan, template 3
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=perl-xml-bare
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
_pkgreal=XML-Bare
pkgver=0.53
-pkgrel=9
-pkgdesc="A minimal XML parser / schema checker / pretty-printer using C internally."
-url="https://metacpan.org/release/XML-Bare"
+pkgrel=12
+pkgdesc="Minimal XML parser / schema checker / pretty-printer using C internally"
+url="https://metacpan.org/release/XML-Bare/"
arch="all"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+license="GPL-2.0-or-later OR Artistic-1.0-Perl"
+depends="perl"
makedepends="perl-dev"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/C/CO/CODECHILD/$_pkgreal-$pkgver.tar.gz"
-
+source="https://cpan.metacpan.org/authors/id/C/CO/CODECHILD/XML-Bare-$pkgver.tar.gz"
builddir="$srcdir/$_pkgreal-$pkgver"
-prepare() {
- default_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}')
+ PERL_MM_USE_DEFAULT=1 perl -I. Makefile.PL INSTALLDIRS=vendor
make
}
check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
make test
}
@@ -36,4 +31,6 @@ package() {
find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
}
-sha512sums="e765206e5c98ed3a0c29be3a323e25beaa712489d0461e2e7269f5f3383fa805ba3829a9ed4d31cd86f35400c321f8cf519162cc41f52f8ba6992c7016f63520 XML-Bare-0.53.tar.gz"
+sha512sums="
+e765206e5c98ed3a0c29be3a323e25beaa712489d0461e2e7269f5f3383fa805ba3829a9ed4d31cd86f35400c321f8cf519162cc41f52f8ba6992c7016f63520 XML-Bare-0.53.tar.gz
+"
diff --git a/testing/perl-xml-feed/APKBUILD b/testing/perl-xml-feed/APKBUILD
new file mode 100644
index 00000000000..823df7e6948
--- /dev/null
+++ b/testing/perl-xml-feed/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-xml-feed
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=XML-Feed
+pkgver=0.63
+pkgrel=0
+pkgdesc="XML Syndication Feed Support"
+url="https://metacpan.org/release/XML-Feed/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="
+ perl perl-class-errorhandler perl-datetime
+ perl-datetime-format-flexible perl-datetime-format-iso8601
+ perl-datetime-format-mail perl-datetime-format-natural
+ perl-datetime-format-w3cdtf perl-feed-find perl-html-parser
+ perl-libwww perl-module-pluggable perl-uri-fetch
+ perl-xml-atom perl-xml-libxml perl-xml-rss
+ "
+makedepends="perl-module-build"
+checkdepends="perl-uri perl-xml-xpath"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAVECROSS/XML-Feed-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+}
+
+sha512sums="
+3c624e71194ef263f0e1105407dc9a9bf5946a6e4964eb4b6ce96427a088db22a4f4821add5beb4602353a8d49883d1f6560ea50256354f3f8e2c1593b45e010 XML-Feed-0.63.tar.gz
+"
diff --git a/testing/perl-xml-libxml-sax-chunkparser/APKBUILD b/testing/perl-xml-libxml-sax-chunkparser/APKBUILD
new file mode 100644
index 00000000000..bed39eb26b1
--- /dev/null
+++ b/testing/perl-xml-libxml-sax-chunkparser/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-xml-libxml-sax-chunkparser
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=XML-LibXML-SAX-ChunkParser
+pkgver=0.00008
+pkgrel=0
+pkgdesc="Parse XML Chunks Via LibXML SAX"
+url="https://metacpan.org/release/XML-LibXML-SAX-ChunkParser/"
+arch="noarch"
+license="GPL-1.0-or-later OR Artistic-1.0-Perl"
+depends="perl perl-xml-sax perl-xml-libxml"
+makedepends="perl-module-build"
+checkdepends="perl-test-fatal"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DM/DMAKI/XML-LibXML-SAX-ChunkParser-$pkgver.tar.gz
+ fix-tests.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+1e6b3702982f8431868e9b8e0e27a86da17b01de297caad187c7d05c64bdd60350be3acb66d49044a456ad4e24b9de4a4a243c64e546e6d4839a65735bf4b9c6 XML-LibXML-SAX-ChunkParser-0.00008.tar.gz
+342e3219e93b5bb915de7bd356137ab26986f8c314eff8893a7ee36c9d91dcc0d3ffc2be8522ca68822057455686300ebccde7faacc03301c6624e2cf400dece fix-tests.patch
+"
diff --git a/testing/perl-xml-libxml-sax-chunkparser/fix-tests.patch b/testing/perl-xml-libxml-sax-chunkparser/fix-tests.patch
new file mode 100644
index 00000000000..83a777bc35d
--- /dev/null
+++ b/testing/perl-xml-libxml-sax-chunkparser/fix-tests.patch
@@ -0,0 +1,52 @@
+Patch-Source: https://github.com/lestrrat-p5/XML-LibXML-SAX-ChunkParser/pull/4
+
+Reference: https://github.com/lestrrat-p5/XML-LibXML-SAX-ChunkParser/issues/3
+--
+From a9423bb8536070e14f85fe9cee6d1dc84d7a7874 Mon Sep 17 00:00:00 2001
+From: Slaven Rezic <slaven@rezic.de>
+Date: Fri, 30 Mar 2018 09:42:46 +0200
+Subject: [PATCH] handle set_document_locator event (#3)
+
+---
+ t/01_basic.t | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/t/01_basic.t b/t/01_basic.t
+index 546014c..99c2bbc 100644
+--- a/t/01_basic.t
++++ b/t/01_basic.t
+@@ -3,8 +3,14 @@ use strict;
+ our $AUTOLOAD;
+ use Data::Dumper;
+ use Test::More;
++use XML::LibXML;
+
+ my @EVENTS = (
++ ($XML::LibXML::VERSION >= 2.0129 ?
++ {
++ Event => 'set_document_locator'
++ }
++ : ()),
+ {
+ Event => 'start_document'
+ },
+@@ -108,9 +114,11 @@ sub AUTOLOAD {
+
+ package main;
+ use strict;
+-use Test::More( tests => 23 );
++use Test::More;
+ use XML::SAX;
+
++plan tests => $XML::LibXML::VERSION >= 2.0129 ? 25 : 23;
++
+ XML::SAX->add_parser( q{XML::LibXML::SAX::ChunkParser} );
+
+ {
+@@ -140,4 +148,4 @@ XML::SAX->add_parser( q{XML::LibXML::SAX::ChunkParser} );
+ diag("parsing chunk '$chunk'");
+ $parser->parse_chunk($chunk);
+ }
+-}
+\ No newline at end of file
++}
diff --git a/testing/perl-xml-rpc/APKBUILD b/testing/perl-xml-rpc/APKBUILD
index c2bf9d9322b..4d73d695eff 100644
--- a/testing/perl-xml-rpc/APKBUILD
+++ b/testing/perl-xml-rpc/APKBUILD
@@ -3,16 +3,17 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=perl-xml-rpc
_pkgreal=XML-RPC
-pkgver=1.1
-pkgrel=3
+pkgver=2.0
+_pkgver=${pkgver%\.0}
+pkgrel=1
pkgdesc="Pure Perl implementation for an XML-RPC client and server"
url="https://metacpan.org/release/XML-RPC"
arch="noarch"
license="GPL-1.0-or-later OR Artistic-1.0-Perl"
depends="perl perl-libwww perl-xml-treepp perl-lwp-protocol-https"
subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/C/CA/CAVAC/$_pkgreal-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
+source="https://cpan.metacpan.org/authors/id/C/CA/CAVAC/$_pkgreal-$_pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$_pkgver"
prepare() {
default_prepare
@@ -36,4 +37,6 @@ check() {
make test
}
-sha512sums="163ec99c6c7dd75db5389320d6aeace56ba9313870f6c5c9633669f413ac2f0feace9c472ac35d51cef092d36e7a2ac306d19478b8257233ad5a6ddb5401c00e XML-RPC-1.1.tar.gz"
+sha512sums="
+c48f71f0b2eb2a020caa1d6ba434a236fd755235599affbe1d1c846834c688531fbc8c6b25f5c3a8031279d8ee139a7b5be7fc718f33561d11e505ecf22981b5 XML-RPC-2.tar.gz
+"
diff --git a/testing/perl-xml-stream/APKBUILD b/testing/perl-xml-stream/APKBUILD
new file mode 100644
index 00000000000..8fdf4ce7d12
--- /dev/null
+++ b/testing/perl-xml-stream/APKBUILD
@@ -0,0 +1,39 @@
+# Automatically generated by apkbuild-cpan, template 3
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=perl-xml-stream
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=XML-Stream
+pkgver=1.24
+pkgrel=0
+pkgdesc="XML stream support library for XMPP-like protocols"
+url="https://metacpan.org/release/XML-Stream/"
+arch="noarch"
+license="LGPL-2.1-or-later"
+depends="perl perl-authen-sasl perl-io-socket-ssl"
+makedepends="perl-module-build"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/D/DA/DAPATRICK/XML-Stream-$pkgver.tar.gz
+ improvements.patch
+ "
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ perl Build.PL --installdirs=vendor
+ ./Build
+}
+
+check() {
+ ./Build test
+}
+
+package() {
+ ./Build install --destdir="$pkgdir"
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+}
+
+sha512sums="
+f762e09197fa7f36cee8484e30a6ce972e407d92cbe55bdf96bcc0073187aff34630c5d9dd2555a14cd297e506875dc2ff153b09001c971b020c37340886025d XML-Stream-1.24.tar.gz
+e7b165c381f80e1db2639a71fa13620b8bcdcb6098d9cb414d5a382d06ee2b28dc8834af07e0d587152ab0bed1aceb4c57b332de933262731bb0e9ec1e658180 improvements.patch
+"
diff --git a/testing/perl-xml-stream/improvements.patch b/testing/perl-xml-stream/improvements.patch
new file mode 100644
index 00000000000..0c11b449d3f
--- /dev/null
+++ b/testing/perl-xml-stream/improvements.patch
@@ -0,0 +1,34 @@
+https://github.com/dap/XML-Stream/pull/26
+https://github.com/dap/XML-Stream/issues/19
+https://github.com/dap/XML-Stream/issues/14
+
+--- a/lib/XML/Stream.pm
++++ b/lib/XML/Stream.pm
+@@ -205,8 +205,7 @@
+ XML::Stream::Tools::setup_debug($self, %args);
+
+ my $hostname = hostname();
+- my $address = gethostbyname($hostname) ||
+- die("Cannot resolve $hostname: $!");
++ my $address = gethostbyname($hostname) || "";
+ my $fullname = gethostbyaddr($address,AF_INET) || $hostname;
+
+ $self->debug(1,"new: hostname = ($fullname)");
+@@ -220,7 +219,7 @@
+ $self->{SIDS}->{default}->{ssl} = 0;
+ $self->{SIDS}->{default}->{_tls} = 0;
+ $self->{SIDS}->{default}->{ssl_verify} = 0x01; # verify peer by default
+- $self->{SIDS}->{default}->{ssl_ca_path} = '';
++ $self->{SIDS}->{default}->{ssl_ca_path} = '/etc/ssl/certs';
+ $self->{SIDS}->{default}->{namespace} = "";
+ $self->{SIDS}->{default}->{myhostname} = $fullname;
+ $self->{SIDS}->{default}->{derivedhostname} = $fullname;
+@@ -2164,7 +2163,7 @@
+ $response = $self->{SIDS}->{$sid}->{sasl}->{client}->client_step($challenge);
+ }
+
+- my $response64 = MIME::Base64::encode_base64($response,"");
++ my $response64 = defined($response) ? MIME::Base64::encode_base64($response,"") : "";
+ $self->SASLResponse($sid,$response64);
+ }
+
diff --git a/testing/perl-xs-parse-keyword/APKBUILD b/testing/perl-xs-parse-keyword/APKBUILD
deleted file mode 100644
index e2c295b0903..00000000000
--- a/testing/perl-xs-parse-keyword/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=perl-xs-parse-keyword
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=XS-Parse-Keyword
-pkgver=0.21
-pkgrel=0
-pkgdesc="XS functions to assist in parsing keyword syntax"
-url="https://metacpan.org/release/XS-Parse-Keyword/"
-arch="all"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-dev perl-module-build perl-extutils-cchecker perl-module-build"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/XS-Parse-Keyword-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
- ./Build
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install --destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="
-f42688985b4afa386f9a27f312846c107f3123cbb026a18889cbca67714a30250fab7d408181be557bb362b6b2e1c6f5aba3c41d5d96f8dbf1ca7e31856af9a5 XS-Parse-Keyword-0.21.tar.gz
-"
diff --git a/testing/perl-xs-parse-sublike/APKBUILD b/testing/perl-xs-parse-sublike/APKBUILD
deleted file mode 100644
index 0d66b9c296c..00000000000
--- a/testing/perl-xs-parse-sublike/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Automatically generated by apkbuild-cpan, template 3
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=perl-xs-parse-sublike
-#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
-_pkgreal=XS-Parse-Sublike
-pkgver=0.16
-pkgrel=0
-pkgdesc="XS functions to assist in parsing C<sub>-like syntax"
-url="https://metacpan.org/release/XS-Parse-Sublike/"
-arch="all"
-license="GPL-1.0-or-later OR Artistic-1.0-Perl"
-depends="perl"
-makedepends="perl-dev perl-module-build"
-checkdepends="perl-test-fatal"
-subpackages="$pkgname-doc"
-source="https://cpan.metacpan.org/authors/id/P/PE/PEVANS/XS-Parse-Sublike-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-build() {
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
- perl Build.PL --installdirs=vendor
- ./Build
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install --destdir="$pkgdir"
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
-}
-
-sha512sums="
-66615f291b498e132fc3513a18ae7723ad19e7daa5ff1e455d467235d7078d9d546281af38f5aa55a757b1cc8835fbf1e52944f0e580e7f135a574d625ef6613 XS-Parse-Sublike-0.16.tar.gz
-"
diff --git a/testing/persistent-cache-cpp/0001-src-core-Add-library-versioning.patch b/testing/persistent-cache-cpp/0001-src-core-Add-library-versioning.patch
new file mode 100644
index 00000000000..053e13232c4
--- /dev/null
+++ b/testing/persistent-cache-cpp/0001-src-core-Add-library-versioning.patch
@@ -0,0 +1,74 @@
+From 31fb33ab9cfed42cf28ec012049b178109cfa9fe Mon Sep 17 00:00:00 2001
+From: OPNA2608 <opna2608@protonmail.com>
+Date: Wed, 31 Jan 2024 12:01:27 +0100
+Subject: [PATCH] src/core: Add library versioning
+
+---
+ CMakeLists.txt | 9 ++-------
+ data/libpersistent-cache-cpp.pc.in | 2 +-
+ src/core/CMakeLists.txt | 8 ++++++++
+ 3 files changed, 11 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 98b6bec..ea76225 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,11 +1,11 @@
+-cmake_minimum_required(VERSION 2.8.11)
++cmake_minimum_required(VERSION 3.0)
+
+ # Default install location. Must be set here, before setting the project.
+ if (NOT DEFINED CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR}/install CACHE PATH "" FORCE)
+ endif()
+
+-project(persistent-cache-cpp C CXX)
++project(persistent-cache-cpp VERSION 1.0.7 LANGUAGES C CXX)
+
+ option(BUILD_SHARED_LIBS "Build library as shared" OFF)
+
+@@ -13,11 +13,6 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+ set(LIBNAME persistent-cache-cpp)
+
+-set(VERSION_MAJOR 1)
+-set(VERSION_MINOR 0)
+-set(VERSION_MICRO 7)
+-set(LIBVERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MICRO}")
+-
+ string(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower) # Build types should always be lower case
+
+ set(ACCEPTED_BUILD_TYPES "" none release debug relwithdebinfo coverage)
+diff --git a/data/libpersistent-cache-cpp.pc.in b/data/libpersistent-cache-cpp.pc.in
+index 565a209..fbe8445 100644
+--- a/data/libpersistent-cache-cpp.pc.in
++++ b/data/libpersistent-cache-cpp.pc.in
+@@ -4,6 +4,6 @@ libdir=${prefix}/@CMAKE_INSTALL_LIBDIR@
+
+ Name: lib@LIBNAME@
+ Description: Cache of key-value pairs with persistent storage for C++
+-Version: @LIBVERSION@
++Version: @PROJECT_VERSION@
+ Libs: -L${libdir} -l@LIBNAME@ @PROPAGATED_LINK_FLAGS@
+ Cflags: -I${includedir}
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index 62b4b7a..e1fc94c 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -11,5 +11,13 @@ set(CACHE_SRC
+ add_library(${LIBNAME} ${CACHE_SRC})
+ target_link_libraries(${LIBNAME} ${LEVELDB})
+
++set_target_properties(
++ ${LIBNAME}
++
++ PROPERTIES
++ VERSION "${PROJECT_VERSION}"
++ SOVERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}"
++)
++
+ install(TARGETS ${LIBNAME}
+ DESTINATION lib/${CMAKE_LIBRARY_ARCHITECTURE})
+--
+2.43.0
+
diff --git a/testing/persistent-cache-cpp/APKBUILD b/testing/persistent-cache-cpp/APKBUILD
new file mode 100644
index 00000000000..e9d6205666f
--- /dev/null
+++ b/testing/persistent-cache-cpp/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=persistent-cache-cpp
+pkgver=1.0.7
+pkgrel=0
+pkgdesc="Cache of key-value pairs with persistent storage for C++ 11"
+url="https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp"
+arch="all"
+license="LGPL-3.0-only"
+depends="
+ dconf
+ "
+depends_dev="
+ boost-dev
+ leveldb-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ cmake-extras
+ gtest-dev
+ samurai
+ "
+checkdepends="
+ xvfb-run
+ "
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://gitlab.com/ubports/development/core/lib-cpp/persistent-cache-cpp/-/archive/$pkgver/persistent-cache-cpp-$pkgver.tar.gz
+ 0001-src-core-Add-library-versioning.patch
+ remove-docs-html-from-makefile.patch
+ "
+options="!check" # 91% tests passed, 1 tests failed out of 11
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+752c758155510c2168c2a4982938867e133b8d8b2bbf3882bce8a2d83fd1547bbcee07dcd239b1732d1dda68b645f5e5fb1c02d1b316218fbb82fb8463ef8afb persistent-cache-cpp-1.0.7.tar.gz
+0bdfcdf80548fe827850f8813bf084e11cddd6bf596093d8d005528ecaa86fc0b752d07432fa588e1e95e292cc0c0df6c16e4f957aa016de7a844d20b7f65a9c 0001-src-core-Add-library-versioning.patch
+36ff4a45f203df026c595b0bdc39dd1a40a8fd43dbc30d06184bbfa9a34d26a469e2faca8574b7a18bfbdcd6da36a1f1dd7f486a01f59db4d7d1264506916f30 remove-docs-html-from-makefile.patch
+"
diff --git a/testing/persistent-cache-cpp/remove-docs-html-from-makefile.patch b/testing/persistent-cache-cpp/remove-docs-html-from-makefile.patch
new file mode 100644
index 00000000000..f5d44564ca7
--- /dev/null
+++ b/testing/persistent-cache-cpp/remove-docs-html-from-makefile.patch
@@ -0,0 +1,22 @@
+From 3c00fe8ce7eb6e7e0fbe79457e0f424da0dd01dd Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Thu, 26 Oct 2023 02:45:23 -0400
+Subject: [PATCH] remove docs/html from makefile
+
+---
+ CMakeLists.txt | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0f0d04f..7e8b0e8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -126,5 +126,3 @@ add_doxygen(
+ *::Priv
+ ALL
+ )
+-install(DIRECTORY ${CMAKE_BINARY_DIR}/doc/html
+- DESTINATION share/doc/${LIBNAME})
+--
+2.42.0
+
diff --git a/testing/pest-language-server/APKBUILD b/testing/pest-language-server/APKBUILD
new file mode 100644
index 00000000000..d4eb01ccb26
--- /dev/null
+++ b/testing/pest-language-server/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=pest-language-server
+pkgver=0.3.9
+pkgrel=0
+pkgdesc="Language Server for Pest"
+url="https://github.com/pest-parser/pest-ide-tools"
+arch="all"
+license="Apache-2.0"
+makedepends="cargo cargo-auditable openssl-dev"
+source="
+ https://github.com/pest-parser/pest-ide-tools/archive/refs/tags/v$pkgver/pest-ls-$pkgver.tar.gz
+ use-openssl.patch
+ "
+builddir="$srcdir/pest-ide-tools-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked --target="$CBUILD"
+}
+
+build() {
+ cargo auditable build -p pest-language-server --frozen --release
+}
+
+check() {
+ cargo test -p pest-language-server --frozen
+}
+
+package() {
+ install -Dm755 target/release/pest-language-server "$pkgdir"/usr/bin/pest-language-server
+}
+
+sha512sums="
+cb9eaaf7798395680af2c00415f4a8cd2a3b875c44c3304b1a605308dccf9756adc991285c26f67c73ad0f4775d1ef724e5349eecce1bd4f461c9171674d2b9d pest-ls-0.3.9.tar.gz
+37b106a44b32ba80e867d51f33499d148c3ffceb17c57482006e64b199575799dc42effcf325f7042dd3bf17ebddc59f4aaa40282663fd96b3dddc21534eb92d use-openssl.patch
+"
diff --git a/testing/pest-language-server/use-openssl.patch b/testing/pest-language-server/use-openssl.patch
new file mode 100644
index 00000000000..ddfce320b79
--- /dev/null
+++ b/testing/pest-language-server/use-openssl.patch
@@ -0,0 +1,531 @@
+--- ./language-server/Cargo.toml.orig
++++ ./language-server/Cargo.toml
+@@ -17,7 +17,7 @@
+ pest_meta = "2.7.8"
+ reqwest = { version = "0.12.2", features = [
+ "json",
+- "rustls-tls",
++ "native-tls",
+ ], default-features = false }
+ serde = { version = "1.0.197", features = ["derive"] }
+ serde_json = "1.0.115"
+--- ./Cargo.lock.orig
++++ ./Cargo.lock
+@@ -130,6 +130,12 @@
+ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+ [[package]]
++name = "bitflags"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
++
++[[package]]
+ name = "block-buffer"
+ version = "0.10.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -228,6 +234,22 @@
+ checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
+
+ [[package]]
++name = "core-foundation"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "91e195e091a93c46f7102ec7818a2aa394e1e1771c3ab4825963fa03e45afb8f"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
++
++[[package]]
+ name = "cpufeatures"
+ version = "0.2.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -305,12 +327,43 @@
+ ]
+
+ [[package]]
++name = "errno"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
++dependencies = [
++ "libc",
++ "windows-sys 0.52.0",
++]
++
++[[package]]
++name = "fastrand"
++version = "2.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984"
++
++[[package]]
+ name = "fnv"
+ version = "1.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+ [[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
+ name = "form_urlencoded"
+ version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -422,17 +475,6 @@
+ ]
+
+ [[package]]
+-name = "getrandom"
+-version = "0.2.12"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5"
+-dependencies = [
+- "cfg-if",
+- "libc",
+- "wasi",
+-]
+-
+-[[package]]
+ name = "gimli"
+ version = "0.28.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -535,19 +577,18 @@
+ ]
+
+ [[package]]
+-name = "hyper-rustls"
+-version = "0.26.0"
++name = "hyper-tls"
++version = "0.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a0bea761b46ae2b24eb4aef630d8d1c398157b6fc29e6350ecf090a0b70c952c"
++checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0"
+ dependencies = [
+- "futures-util",
+- "http",
++ "bytes",
++ "http-body-util",
+ "hyper",
+ "hyper-util",
+- "rustls",
+- "rustls-pki-types",
++ "native-tls",
+ "tokio",
+- "tokio-rustls",
++ "tokio-native-tls",
+ "tower-service",
+ ]
+
+@@ -629,12 +670,24 @@
+ ]
+
+ [[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
+ name = "libc"
+ version = "0.2.153"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
+
+ [[package]]
++name = "linux-raw-sys"
++version = "0.4.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
++
++[[package]]
+ name = "lock_api"
+ version = "0.4.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -656,7 +709,7 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "c66bfd44a06ae10647fe3f8214762e9369fd4248df1350924b4ef9e770a85ea1"
+ dependencies = [
+- "bitflags",
++ "bitflags 1.3.2",
+ "serde",
+ "serde_json",
+ "serde_repr",
+@@ -696,6 +749,24 @@
+ ]
+
+ [[package]]
++name = "native-tls"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
++dependencies = [
++ "lazy_static",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
++]
++
++[[package]]
+ name = "nias"
+ version = "0.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -727,6 +798,50 @@
+ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+ [[package]]
++name = "openssl"
++version = "0.10.64"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "95a0481286a310808298130d22dd1fef0fa571e05a8f44ec801801e84b216b1f"
++dependencies = [
++ "bitflags 2.5.0",
++ "cfg-if",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.101"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
+ name = "parking_lot"
+ version = "0.12.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -864,6 +979,12 @@
+ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+ [[package]]
++name = "pkg-config"
++version = "0.3.30"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec"
++
++[[package]]
+ name = "proc-macro2"
+ version = "1.0.79"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -887,7 +1008,7 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+ dependencies = [
+- "bitflags",
++ "bitflags 1.3.2",
+ ]
+
+ [[package]]
+@@ -921,66 +1042,48 @@
+ "http-body",
+ "http-body-util",
+ "hyper",
+- "hyper-rustls",
++ "hyper-tls",
+ "hyper-util",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
++ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+- "rustls",
+ "rustls-pemfile",
+- "rustls-pki-types",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "sync_wrapper",
+ "tokio",
+- "tokio-rustls",
++ "tokio-native-tls",
+ "tower-service",
+ "url",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+- "webpki-roots",
+ "winreg",
+ ]
+
+ [[package]]
+-name = "ring"
+-version = "0.17.8"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
+-dependencies = [
+- "cc",
+- "cfg-if",
+- "getrandom",
+- "libc",
+- "spin",
+- "untrusted",
+- "windows-sys 0.52.0",
+-]
+-
+-[[package]]
+ name = "rustc-demangle"
+ version = "0.1.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+ [[package]]
+-name = "rustls"
+-version = "0.22.3"
++name = "rustix"
++version = "0.38.32"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c"
++checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89"
+ dependencies = [
+- "log",
+- "ring",
+- "rustls-pki-types",
+- "rustls-webpki",
+- "subtle",
+- "zeroize",
++ "bitflags 2.5.0",
++ "errno",
++ "libc",
++ "linux-raw-sys",
++ "windows-sys 0.52.0",
+ ]
+
+ [[package]]
+@@ -993,23 +1096,6 @@
+ ]
+
+ [[package]]
+-name = "rustls-pki-types"
+-version = "1.4.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "868e20fada228fefaf6b652e00cc73623d54f8171e7352c18bb281571f2d92da"
+-
+-[[package]]
+-name = "rustls-webpki"
+-version = "0.102.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610"
+-dependencies = [
+- "ring",
+- "rustls-pki-types",
+- "untrusted",
+-]
+-
+-[[package]]
+ name = "rusty-hook"
+ version = "0.11.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1037,12 +1123,44 @@
+ ]
+
+ [[package]]
++name = "schannel"
++version = "0.1.23"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534"
++dependencies = [
++ "windows-sys 0.52.0",
++]
++
++[[package]]
+ name = "scopeguard"
+ version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+ [[package]]
++name = "security-framework"
++version = "2.9.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
++dependencies = [
++ "bitflags 1.3.2",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
++]
++
++[[package]]
++name = "security-framework-sys"
++version = "2.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
+ name = "serde"
+ version = "1.0.197"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1142,24 +1260,12 @@
+ ]
+
+ [[package]]
+-name = "spin"
+-version = "0.9.8"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
+-
+-[[package]]
+ name = "strsim"
+ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01"
+
+ [[package]]
+-name = "subtle"
+-version = "2.5.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+-
+-[[package]]
+ name = "syn"
+ version = "2.0.53"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1177,6 +1283,18 @@
+ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160"
+
+ [[package]]
++name = "tempfile"
++version = "3.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1"
++dependencies = [
++ "cfg-if",
++ "fastrand",
++ "rustix",
++ "windows-sys 0.52.0",
++]
++
++[[package]]
+ name = "text-utils"
+ version = "0.2.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1261,13 +1379,12 @@
+ ]
+
+ [[package]]
+-name = "tokio-rustls"
+-version = "0.25.0"
++name = "tokio-native-tls"
++version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "775e0c0f0adb3a2f22a00c4745d728b479985fc15ee7ca6a2608388c5569860f"
++checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
+ dependencies = [
+- "rustls",
+- "rustls-pki-types",
++ "native-tls",
+ "tokio",
+ ]
+
+@@ -1440,12 +1557,6 @@
+ checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
+
+ [[package]]
+-name = "untrusted"
+-version = "0.9.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
+-
+-[[package]]
+ name = "url"
+ version = "2.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1464,6 +1575,12 @@
+ checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
+
+ [[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
++
++[[package]]
+ name = "version_check"
+ version = "0.9.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1571,15 +1688,6 @@
+ ]
+
+ [[package]]
+-name = "webpki-roots"
+-version = "0.26.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
+-dependencies = [
+- "rustls-pki-types",
+-]
+-
+-[[package]]
+ name = "winapi"
+ version = "0.3.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1751,9 +1859,3 @@
+ "cfg-if",
+ "windows-sys 0.48.0",
+ ]
+-
+-[[package]]
+-name = "zeroize"
+-version = "1.7.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d"
diff --git a/testing/pfetch/APKBUILD b/testing/pfetch/APKBUILD
index d10ddccb77f..92799f786f3 100644
--- a/testing/pfetch/APKBUILD
+++ b/testing/pfetch/APKBUILD
@@ -2,13 +2,13 @@
# Maintainer: Johannes Heimansberg <git@jhe.dedyn.io>
pkgname=pfetch
pkgver=0.6.0
-pkgrel=0
+pkgrel=1
pkgdesc="System information tool written in POSIX sh"
url="https://github.com/dylanaraps/pfetch"
arch="noarch"
license="MIT"
options="!check" # There is no test suite
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dylanaraps/pfetch/archive/$pkgver.tar.gz"
package() {
install -Dm755 pfetch "$pkgdir"/usr/bin/pfetch
diff --git a/testing/pfqueue/APKBUILD b/testing/pfqueue/APKBUILD
index b4e0596a3f4..fb31a03e436 100644
--- a/testing/pfqueue/APKBUILD
+++ b/testing/pfqueue/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=pfqueue
pkgver=0.5.6
-pkgrel=0
+pkgrel=1
pkgdesc="queue scanner for postfix"
-url="http://pfqueue.sourceforge.net/"
+url="https://pfqueue.sourceforge.net/"
arch="all"
license="GPL-2.0-or-later"
makedepends="autoconf automake libtool ncurses-dev"
diff --git a/testing/pg_activity/APKBUILD b/testing/pg_activity/APKBUILD
deleted file mode 100644
index 31d17868ee0..00000000000
--- a/testing/pg_activity/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=pg_activity
-pkgver=2.1.5
-pkgrel=1
-pkgdesc="A top like application for PostgreSQL server activity monitoring"
-url="https://github.com/dalibo/pg_activity"
-arch="noarch"
-license="PostgreSQL"
-depends="python3 py3-attrs py3-blessed py3-humanize py3-psutil py3-psycopg2"
-checkdepends="py3-pytest"
-makedepends="py3-setuptools"
-source="https://github.com/dalibo/pg_activity/archive/v$pkgver/pg_activity-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- # FIXME: test_ui fails, probably missing dependency?
- pytest --ignore=tests/test_ui.txt
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="78d6560ec15b435eeeeaa132851337f04822d42e4288425d85a78842f321ad2c426041cb953fabc8f3f406b9d68e4001a3df5ba2c9223bc0facc2a65619979e0 pg_activity-2.1.5.tar.gz"
diff --git a/testing/pgcli/APKBUILD b/testing/pgcli/APKBUILD
deleted file mode 100644
index 0f4fe9b89b5..00000000000
--- a/testing/pgcli/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Thomas Boerger <thomas@webhippie.de>
-# Maintainer: Thomas Boerger <thomas@webhippie.de>
-pkgname=pgcli
-pkgver=3.2.0
-pkgrel=1
-pkgdesc="Postgres CLI with autocompletion and syntax highlighting"
-options="!check" # Tests fail
-url="https://www.pgcli.com"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3
- py3-pgspecial
- py3-click
- py3-pygments
- py3-prompt_toolkit>2.0.0
- py3-psycopg2
- py3-sqlparse<0.5.0
- py3-configobj
- py3-humanize
- py3-wcwidth
- py3-cli_helpers>1.0.0"
-checkdepends="pytest py3-mock"
-makedepends="python3-dev py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/p/pgcli/pgcli-$pkgver.tar.gz"
-
-check() {
- python3 -m pytest tests
-}
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-f440fadfafb78b4c6db11fd40f1768ac60a191a243126d7848acc3876e4dc222223abe1fb3abd13f8fa6ad5d4f1b1ac754cb3b35137b569e7174058df4548a91 pgcli-3.2.0.tar.gz
-"
diff --git a/testing/phonon-backend-vlc/APKBUILD b/testing/phonon-backend-vlc/APKBUILD
new file mode 100644
index 00000000000..220572f0c05
--- /dev/null
+++ b/testing/phonon-backend-vlc/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: team/kde <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=kde-other
+pkgname=phonon-backend-vlc
+pkgver=0.12.0
+pkgrel=0
+pkgdesc="Phonon VLC backend"
+url="https://userbase.kde.org/Phonon"
+# armhf blocked by extra-cmake-modules
+# s390x blocked by vlc
+arch="all !armhf !s390x"
+license="LGPL-2.1-or-later"
+makedepends="
+ extra-cmake-modules
+ phonon-dev
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ qt6-qtbase-dev
+ qt6-qttools-dev
+ samurai
+ vlc-dev
+ "
+subpackages="$pkgname-lang $pkgname-qt5 $pkgname-qt6"
+_repo_url="https://invent.kde.org/libraries/phonon-vlc.git"
+source="https://download.kde.org/stable/phonon/phonon-backend-vlc/$pkgver/phonon-backend-vlc-$pkgver.tar.xz"
+options="!check" # No tests available
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+qt5() {
+ amove usr/lib/qt5/plugins/phonon4qt5_backend
+}
+
+qt6() {
+ amove usr/lib/qt5/plugins/phonon4qt6_backend
+}
+
+sha512sums="
+78f5ead829d5025c7cb9e01b33819514d795651d1d932c03bd8cc2ad5d427e5aaaeeb6016820d5a7bb9907f6df1142a0fbc097830d7c63b01f77d2167a0c9264 phonon-backend-vlc-0.12.0.tar.xz
+"
diff --git a/testing/phoronix-test-suite/APKBUILD b/testing/phoronix-test-suite/APKBUILD
index 7eb58825737..1f86d16b1ce 100644
--- a/testing/phoronix-test-suite/APKBUILD
+++ b/testing/phoronix-test-suite/APKBUILD
@@ -1,16 +1,23 @@
# Contributor: Lucas Ramage <ramage.lucas@protonmail.com>
-# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
pkgname=phoronix-test-suite
-pkgver=10.6.1
-pkgrel=0
+pkgver=10.8.4
+pkgrel=2
pkgdesc="The most comprehensive testing and benchmarking platform available for Linux"
url="https://www.phoronix-test-suite.com/"
arch="noarch"
license="GPL-3.0-or-later"
-depends="php8 php8-dom php8-zip php8-simplexml php8-pcntl php8-curl"
+_php=php82
+depends="$_php $_php-dom $_php-zip $_php-simplexml $_php-pcntl $_php-curl"
subpackages="$pkgname-doc $pkgname-bash-completion"
-provides="phoromatic-server phoromatic-client"
-source="$pkgname-$pkgver.tar.gz::https://github.com/phoronix-test-suite/phoronix-test-suite/archive/v$pkgver.tar.gz"
+provides="phoromatic-server=$pkgver-r$pkgrel phoromatic-client=$pkgver-r$pkgrel"
+source="$pkgname-$pkgver.tar.gz::https://github.com/phoronix-test-suite/phoronix-test-suite/archive/v$pkgver.tar.gz
+ php82-1.patch::https://github.com/phoronix-test-suite/phoronix-test-suite/commit/f9f5ed8606299f73ef2adc7173cc52089cede6c8.diff
+ php82-2.patch::https://github.com/phoronix-test-suite/phoronix-test-suite/commit/cd59f0a38a036b969e862cd47e1dbfa1cbb484d2.diff
+ php82-3.patch::https://github.com/phoronix-test-suite/phoronix-test-suite/commit/d44c65a62ec8be2f25fb936e39d531ea28878576.diff
+ appdata.patch
+ php-discovery.patch
+ "
options="!check" # no tests
package() {
@@ -22,5 +29,10 @@ package() {
}
sha512sums="
-c7774035842040cb51dd9154da5f3dc59db1145358266b09b2bea79b302c1e1a77d22d35a3bab46bdbe07e5a593f976743a8408172111c9836d4bd95b7dbac4b phoronix-test-suite-10.6.1.tar.gz
+ca79369fd7752164dc5315c16c2e8dce615f4c9cf352674193ac10ad9025de5d1171dc307f2bab486da3a945bf828aa124e9896f929a0854272cee7847f3d578 phoronix-test-suite-10.8.4.tar.gz
+7b761fec331ff9a2cc95dff382c4e99df6d65433de0a6057d034ff8a1940821b292fc0f462ad0d8c23f69163a195705b34dd82708d9fd789f2113397daffc98b php82-1.patch
+effb085163a837665813d99d4be689ba4182aa43cf3f7874a34e5195e5bdd70869c8a3bb7072459f309a34864ae13ac9da4829c840bb57da3fce7368107830e0 php82-2.patch
+fb7294989654c34880365c48932725b533a726f37d00f720869265683384c24cee4a9c6fb4e629ee0521f04a017b13f1160da0cfb129aac423d02d567f92f050 php82-3.patch
+03419864bce834bf8762117a481aa79af8ab7d5a1272c085d9b8b58bfc965b00e2f479f29962b9f1fa5f5240805203cdfb652f76e477163d4eb15f35547a3176 appdata.patch
+0005e338d214f46a845a2607205f027827a3420005a2ef6ffc253fb621f22f9283ce4e4a16b6889dc72af73e868f06557acd03b2dc9a8a76b08deb42c8e8751c php-discovery.patch
"
diff --git a/testing/phoronix-test-suite/appdata.patch b/testing/phoronix-test-suite/appdata.patch
new file mode 100644
index 00000000000..9e13a127df2
--- /dev/null
+++ b/testing/phoronix-test-suite/appdata.patch
@@ -0,0 +1,22 @@
+diff --git a/install-sh b/install-sh
+index f6228cd..c7bd0e8 100755
+--- a/install-sh
++++ b/install-sh
+@@ -50,7 +50,7 @@ rm -rf $DESTDIR$INSTALL_PREFIX/share/phoronix-test-suite/
+ rm -rf $DESTDIR$INSTALL_PREFIX/share/doc/phoronix-test-suite/
+
+ mkdir -p $DESTDIR$INSTALL_PREFIX/bin/
+-mkdir -p $DESTDIR$INSTALL_PREFIX/share/appdata/
++mkdir -p $DESTDIR$INSTALL_PREFIX/share/metainfo/
+ mkdir -p $DESTDIR$INSTALL_PREFIX/share/applications/
+ mkdir -p $DESTDIR$INSTALL_PREFIX/share/icons/hicolor/48x48/apps/
+ mkdir -p $DESTDIR$INSTALL_PREFIX/share/man/man1/
+@@ -74,7 +74,7 @@ cp pts-core/static/bash_completion $DESTDIR$INSTALL_PREFIX/../etc/bash_completio
+ cp pts-core/static/images/phoronix-test-suite.png $DESTDIR$INSTALL_PREFIX/share/icons/hicolor/48x48/apps/phoronix-test-suite.png
+ cp pts-core/static/phoronix-test-suite.desktop $DESTDIR$INSTALL_PREFIX/share/applications/
+ cp pts-core/static/phoronix-test-suite-launcher.desktop $DESTDIR$INSTALL_PREFIX/share/applications/
+-cp pts-core/static/phoronix-test-suite.appdata.xml $DESTDIR$INSTALL_PREFIX/share/appdata/
++cp pts-core/static/phoronix-test-suite.appdata.xml $DESTDIR$INSTALL_PREFIX/share/metainfo/
+
+ mkdir -p $DESTDIR$INSTALL_PREFIX/../usr/lib/systemd/system/
+ cp deploy/*-systemd/*.service $DESTDIR$INSTALL_PREFIX/../usr/lib/systemd/system/
diff --git a/testing/phoronix-test-suite/php-discovery.patch b/testing/phoronix-test-suite/php-discovery.patch
new file mode 100644
index 00000000000..9d1975ac33e
--- /dev/null
+++ b/testing/phoronix-test-suite/php-discovery.patch
@@ -0,0 +1,14 @@
+--- a/phoronix-test-suite
++++ b/phoronix-test-suite
+@@ -67,9 +67,9 @@
+ if [ ! "X$PHP_BIN" = "X" ] && [ -x $PHP_BIN ]
+ then
+ export PHP_BIN=$PHP_BIN
+-elif [ -x /usr/bin/php8 ] || [ -x /usr/local/bin/php8 ] || [ -x /usr/pkg/bin/php8 ]
++elif [ -x /usr/bin/php82 ] || [ -x /usr/local/bin/php8 ] || [ -x /usr/pkg/bin/php8 ]
+ then
+- export PHP_BIN="php8"
++ export PHP_BIN="php82"
+ elif [ -x /usr/bin/php7 ] || [ -x /usr/local/bin/php7 ] || [ -x /usr/pkg/bin/php7 ]
+ then
+ export PHP_BIN="php7"
diff --git a/testing/php7-diseval/APKBUILD b/testing/php7-diseval/APKBUILD
deleted file mode 100644
index fc022bf3102..00000000000
--- a/testing/php7-diseval/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Stuart Cardall <developer@it-offshore.co.uk>
-# Maintainer: Stuart Cardall <developer@it-offshore.co.uk>
-pkgname=php7-diseval
-_pkgreal=diseval
-pkgver=0.1
-pkgrel=3
-pkgdesc="Disable eval in php7 (suhosin is not stable yet for php7)"
-url="https://github.com/mk-j/PHP_diseval_extension"
-arch="all"
-license="MIT"
-depends="php7-common"
-makedepends="php7-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mk-j/PHP_diseval_extension/archive/$pkgver.tar.gz"
-builddir="$srcdir/PHP_diseval_extension-$pkgver/source"
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- install -d "$pkgdir"/etc/php7/conf.d
- echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php7/conf.d/$_pkgreal.ini
-}
-
-sha512sums="14cddbebe1cb1bd114dd6f1ea122b262340ed5894178d7332f4168753c07670925fbbf9bae444a726b8d1e1cf28fc8f2e45d511e0523ac30ab37a1fb9f758c8e php7-diseval-0.1.tar.gz"
diff --git a/testing/php7-gearman/APKBUILD b/testing/php7-gearman/APKBUILD
deleted file mode 100644
index cb4996ab684..00000000000
--- a/testing/php7-gearman/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Valery Kartel <valery.kartel@gmail.com>
-pkgname=php7-gearman
-_extname=gearman
-pkgver=2.1.0
-pkgrel=0
-pkgdesc="PHP 7 wrapper to libgearman - PECL"
-url="https://pecl.php.net/package/gearman/"
-arch="all"
-license="PHP-3.01"
-depends="php7-pcntl"
-makedepends="gearman-dev php7-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-provides="php7-pecl-gearman=$pkgver-r$pkgrel" # for forward compatibility
-
-build() {
- phpize7
- ./configure \
- --prefix=/usr \
- --with-php-config=/usr/bin/php-config7
- make
-}
-
-check() {
- php7 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- TESTS=--show-diff SKIP_ONLINE_TESTS=1
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="78a3877ba2212777a1c8387ce14c0e2210f3141b9a6bb87507547f6e3f02dfc03387111e6ac84729dba8b1b9c0483ef1ba3c458480bc0f2e9d68dd49bd073ba6 php-pecl-gearman-2.1.0.tgz"
diff --git a/testing/php7-libvirt-php/APKBUILD b/testing/php7-libvirt-php/APKBUILD
deleted file mode 100644
index d094e8615c6..00000000000
--- a/testing/php7-libvirt-php/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Fernando Casas Schossow <casasfernando@outlook.com>
-# Maintainer: Fernando Casas Schossow <casasfernando@outlook.com>
-pkgname=php7-libvirt-php
-pkgver=0.5.5
-pkgrel=1
-pkgdesc="PHP language bindings for Libvirt API. For more details see: http://www.libvirt.org/php/"
-url="https://libvirt.org/php/"
-arch="all !x86 !armhf !armv7 !s390x !mips64 !riscv64" # segfault on x86, armhf and armv7
-license="LGPL-2.1-only"
-makedepends="autoconf libvirt-dev libxml2-dev libxml2-utils libxslt php7-dev php7-pecl-imagick libtool linux-headers"
-subpackages="$pkgname-doc"
-source="https://libvirt.org/sources/php/libvirt-php-$pkgver.tar.gz
- offline-tests.patch
- musl-idn.patch
- musl-fixes.patch"
-builddir="$srcdir/libvirt-php-$pkgver"
-
-prepare() {
- default_prepare
- autoconf
-}
-
-build() {
- ./configure --prefix=/usr
- make
-}
-
-check() {
- make check
- php7 --define extension=src/.libs/libvirt-php.so --ri libvirt
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -D -m644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
- rm "$pkgdir/usr/lib/php7/modules/libvirt-php.la"
-}
-
-sha512sums="2ea263561a0bf5d155314e06dcf3c3b5c278640bc5edfa674cdd777cb6d0810bda0492c6cf77a02bc88fb6aa99b0ff1f0cbaeea87ff2e45bff9b5774a2507684 libvirt-php-0.5.5.tar.gz
-a212746438428537422716f5883f6941704137cd2cdceafb965fec8306c81c3bc4a4ce1caf65efc2a033823e8eb6f5afa1b452f9a191c50cd07d4c979e10d5fd offline-tests.patch
-cae4423b361c7735052ae1c1ec4e24090486020d4f3aaf87c16991b9fb90960d90cd8bc392bb017449525fc4567de1080e3d29337b2d756f46edac672b2bd81b musl-idn.patch
-732f22ca206187b7a0ea41fe2d63808c8afc0994f941fbbb933dbde219f597d108aa3ed10b67e074fe90ac6ab571ee0dc70ef725ce8ed746d8f6e4689e972291 musl-fixes.patch"
diff --git a/testing/php7-libvirt-php/musl-fixes.patch b/testing/php7-libvirt-php/musl-fixes.patch
deleted file mode 100644
index 92388095b40..00000000000
--- a/testing/php7-libvirt-php/musl-fixes.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/tools/generate-api-docs.c b/tools/generate-api-docs.c
-index 3b88f16..12c0283 100644
---- a/tools/generate-api-docs.c
-+++ b/tools/generate-api-docs.c
-@@ -129,7 +129,9 @@ void free_functions(int function_number)
- free(functions[i].args[j]);
- free(functions[i].name);
- free(functions[i].desc);
-- free(functions[i].returns);
-+ //Commenting the line below as when compiled with musl libc it is creating a SIGSEGV
-+ //Moreover this program is only used to create libvirt-php html documentation at compile time
-+ //free(functions[i].returns);
- }
- free(functions);
- }
-
diff --git a/testing/php7-libvirt-php/musl-idn.patch b/testing/php7-libvirt-php/musl-idn.patch
deleted file mode 100644
index 323a5f56f1c..00000000000
--- a/testing/php7-libvirt-php/musl-idn.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/libvirt-php.c
-+++ b/src/libvirt-php.c
-@@ -1168,7 +1168,7 @@
-
- /* need to get FQDN of the local name */
- memset(&hints, 0, sizeof(hints));
-- hints.ai_flags = AI_CANONNAME|AI_CANONIDN;
-+ hints.ai_flags = AI_CANONNAME;
- hints.ai_family = AF_UNSPEC;
-
- /* could not get FQDN or got localhost, use whatever gethostname gave us */
diff --git a/testing/php7-libvirt-php/offline-tests.patch b/testing/php7-libvirt-php/offline-tests.patch
deleted file mode 100644
index 90826023f00..00000000000
--- a/testing/php7-libvirt-php/offline-tests.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/tests/runtests.sh
-+++ b/tests/runtests.sh
-@@ -8,7 +8,7 @@
- "test-domain-define-undefine"
- "test-domain-define-create-destroy"
- "test-domain-create" "test-domain-create-and-get-xpath" "test-domain-create-and-coredump"
-- "test-install" "test-get-models" "test-get-models-unsupported-hw" "test-domain-create-get-metadata"
-+ "test-install" "test-get-models-unsupported-hw" "test-domain-create-get-metadata"
- )
-
- run_test()
-@@ -41,12 +41,12 @@
- fi
- done
-
--qemu-img create -f qcow2 /tmp/example-test.qcow2 1M > /dev/null
--run_test "test-domain-snapshot" $nf; ret="$?"
--if [ "x$ret" == "x1" ]; then
-- error=1
--fi
--rm -f /tmp/example-test.qcow2
-+#qemu-img create -f qcow2 /tmp/example-test.qcow2 1M > /dev/null
-+#run_test "test-domain-snapshot" $nf; ret="$?"
-+#if [ "x$ret" == "x1" ]; then
-+# error=1
-+#fi
-+#rm -f /tmp/example-test.qcow2
-
- if [ "x$error" == "x0" ]; then
- echo "All tests passed successfully"
diff --git a/testing/php7-pdlib/APKBUILD b/testing/php7-pdlib/APKBUILD
deleted file mode 100644
index 5807db150ab..00000000000
--- a/testing/php7-pdlib/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: goodspb <goodspb.luo@gmail.com>
-# Maintainer: Adriaan Groenenboom <agboom@pm.me>
-pkgname=php7-pdlib
-_extname=pdlib
-pkgver=1.0.2
-pkgrel=0
-pkgdesc="PHP 7 extension for Dlib"
-url="https://github.com/goodspb/pdlib"
-arch="all !ppc64le !mips !mips64" # build fails https://github.com/goodspb/pdlib/issues/19
-license="MIT"
-depends="php7-common dlib"
-makedepends="php7-dev pkgconf php7-bz2"
-source="php-$_extname-$pkgver.tar.gz::https://github.com/goodspb/$_extname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- # Tests require bz2 extension which is not bundled
- local _modules=/usr/lib/php7/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- TESTS=--show-diff SKIP_ONLINE_TESTS=1 \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=$_modules/bz2.so \
- -d extension=modules/$_extname.so"
- php7 -dextension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="7222eeaedad8bfe8d0deb327c4d1deaea172994cfb2f2d43fb10f6b862ccc56e05bb459e0d2c94ed79f222eed8eb7c1974c15f862549bf563b132b531acf1cd3 php-pdlib-1.0.2.tar.gz"
diff --git a/testing/php7-pecl-decimal/APKBUILD b/testing/php7-pecl-decimal/APKBUILD
deleted file mode 100644
index 25daefe27e9..00000000000
--- a/testing/php7-pecl-decimal/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php7-pecl-decimal
-_pkgreal=decimal
-pkgver=2.0.0
-pkgrel=2
-pkgdesc="Correctly-rounded arbitrary precision decimal floating-point arithmetic in PHP."
-# Some tests fail until 2.0.0 is released
-# https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/17821#note_140064
-options="!check"
-url="https://pecl.php.net/package/decimal"
-arch="all"
-license="MIT"
-depends="php7-json"
-makedepends="php7-dev mpdecimal-dev"
-source="https://pecl.php.net/get/$_pkgreal-$pkgver.tgz
- fix-build.patch
- fix-test.patch
- fix-tests.patch"
-builddir="$srcdir/$_pkgreal-$pkgver"
-provides="php7-decimal=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php7-decimal" # for backward compatibility
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- # waiting upstream release
- rm -f tests/Decimal/operators.phpt tests/Number/operators.phpt tests/Rational/operators.phpt
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 TESTS="--show-diff" \
- test PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=/usr/lib/php7/modules/json.so \
- -d extension=modules/$_pkgreal.so"
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir"/ install
- install -d "$pkgdir"/etc/php7/conf.d
- echo "extension=$_pkgreal.so" > "$pkgdir"/etc/php7/conf.d/$_pkgreal.ini
-}
-
-sha512sums="765a2871af38338d1020730936d70c7d493e07c4d0fe6da5b07bf1b5f6bd7ae45239351f9202ced8f579ad1e1c909fbfede1350cc1ec85e0f4cb5f1ef8617cfe decimal-2.0.0.tgz
-8db95e40c19806d2fbb88e8132a3f679f5856ce73548d0b72bb1c806fdb59bfadad0260dd89962f4ac4c41b388d98e8ec988b5bd989e582c9cffc521e832b6d7 fix-build.patch
-36d24c2c2fd310d64f6c326ac5241c4732d323608d6dfc7e76d906cd30282e94bdbc5851f1de3e4e2056f005761af52c22afc7a7b672dc4a718f46a74bb75714 fix-test.patch
-f972d727fba7bbdf827c2b5ba0cf7588b7e9234f3e5989f06dc92c1a8c34516fdca3e1089e98e3a8c092328a04f524d7d6a0a017869188e219f4bcc1e869a261 fix-tests.patch"
diff --git a/testing/php7-pecl-decimal/fix-build.patch b/testing/php7-pecl-decimal/fix-build.patch
deleted file mode 100644
index dc6b75ec02b..00000000000
--- a/testing/php7-pecl-decimal/fix-build.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From d983b8f76f59996339a434c40d1f57703fadbd42 Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Tue, 4 Feb 2020 08:25:35 +0100
-Subject: [PATCH] fix #33 remomve unused function
-
----
- src/convert.c | 15 +--------------
- src/convert.h | 2 --
- 2 files changed, 1 insertion(+), 16 deletions(-)
-
-diff --git a/src/convert.c b/src/convert.c
-index 4136a35..77581e3 100644
---- a/src/convert.c
-+++ b/src/convert.c
-@@ -444,19 +444,6 @@ zend_string *php_decimal_rational_to_sci(const php_rational_t *obj, zend_long pr
- return str;
- }
-
--zend_string *php_decimal_rational_to_eng(const php_rational_t *obj, zend_long prec)
--{
-- zend_string *str;
--
-- PHP_DECIMAL_TEMP_MPD(tmp);
-- php_decimal_rational_evaluate(&tmp, obj, prec);
--
-- str = php_decimal_mpd_to_eng(&tmp);
-- mpd_del(&tmp);
--
-- return str;
--}
--
- zend_string *php_decimal_rational_to_fixed(const php_rational_t *obj, zend_long places, zend_bool commas, php_decimal_rounding_t mode)
- {
- PHP_DECIMAL_TEMP_MPD(tmp);
-@@ -597,4 +584,4 @@ void php_decimal_number_to_num_den(mpd_t *num, mpd_t *den, const zval *obj)
-
- assert(status == 0);
- zval_ptr_dtor(&result);
--}
-\ No newline at end of file
-+}
-diff --git a/src/convert.h b/src/convert.h
-index cb5e031..a3924e3 100644
---- a/src/convert.h
-+++ b/src/convert.h
-@@ -56,7 +56,6 @@ php_decimal_success_t php_decimal_mpd_set_string(mpd_t *mpd, const zend_string *
- php_decimal_success_t php_decimal_mpd_set_charptr(mpd_t *mpd, const char *str);
-
- zend_string *php_decimal_mpd_to_serialized(const mpd_t *mpd);
--zend_string *php_decimal_mpd_to_eng(const mpd_t *mpd);
- zend_string *php_decimal_mpd_to_sci(const mpd_t *mpd);
- zend_string *php_decimal_mpd_to_string(const mpd_t *mpd);
- zend_string *php_decimal_mpd_to_fixed(const mpd_t *mpd, zend_long places, zend_bool commas, php_decimal_rounding_t mode);
-@@ -69,7 +68,6 @@ void php_decimal_rational_set_nan(php_rational_t *obj);
- void php_decimal_rational_set_zero(php_rational_t *obj);
-
- zend_string *php_decimal_rational_to_sci(const php_rational_t *obj, zend_long prec);
--zend_string *php_decimal_rational_to_eng(const php_rational_t *obj, zend_long prec);
- zend_string *php_decimal_rational_to_string(const php_rational_t *obj);
- zend_string *php_decimal_rational_to_fixed(const php_rational_t *obj, zend_long places, zend_bool commas, php_decimal_rounding_t mode);
- zend_long php_decimal_rational_to_long(const php_rational_t *obj);
diff --git a/testing/php7-pecl-decimal/fix-test.patch b/testing/php7-pecl-decimal/fix-test.patch
deleted file mode 100644
index 8ed7831e51f..00000000000
--- a/testing/php7-pecl-decimal/fix-test.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From e71f1488b666e30e4f0121a10fee3eeab22bd327 Mon Sep 17 00:00:00 2001
-From: Remi Collet <remi@remirepo.net>
-Date: Tue, 4 Feb 2020 08:23:05 +0100
-Subject: [PATCH] fix harcoded path in test
-
----
- tests/Number/methods/pow.phpt | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tests/Number/methods/pow.phpt b/tests/Number/methods/pow.phpt
-index 5ce6582..2c78f16 100644
---- a/tests/Number/methods/pow.phpt
-+++ b/tests/Number/methods/pow.phpt
-@@ -87,7 +87,7 @@ Number Object
- )
- Number::pow
-
--Warning: Decimal arithmetic operand truncated to integer in /Users/rtheunissen/dev/decimal/ext-decimal/tests/Number/helpers/Number.php on line 63
-+Warning: Decimal arithmetic operand truncated to integer in %sNumber.php on line 63
- Number Object
- (
- [value:protected] => Decimal\Rational Object
-@@ -99,7 +99,7 @@ Number Object
- )
- Number::pow
-
--Warning: Decimal arithmetic operand truncated to integer in /Users/rtheunissen/dev/decimal/ext-decimal/tests/Number/helpers/Number.php on line 63
-+Warning: Decimal arithmetic operand truncated to integer in %sNumber.php on line 63
- Number Object
- (
- [value:protected] => Decimal\Rational Object
-@@ -123,7 +123,7 @@ Decimal\Decimal Object
- )
- Number::toRational
-
--Warning: Decimal arithmetic operand truncated to integer in /Users/rtheunissen/dev/decimal/ext-decimal/tests/Number/methods/pow.php on line 38
-+Warning: Decimal arithmetic operand truncated to integer in %spow.php on line 38
- Decimal\Rational Object
- (
- [num] => 16
-@@ -131,7 +131,7 @@ Decimal\Rational Object
- )
- Number::toRational
-
--Warning: Decimal arithmetic operand truncated to integer in /Users/rtheunissen/dev/decimal/ext-decimal/tests/Number/methods/pow.php on line 41
-+Warning: Decimal arithmetic operand truncated to integer in %spow.php on line 41
- Decimal\Rational Object
- (
- [num] => 16
diff --git a/testing/php7-pecl-decimal/fix-tests.patch b/testing/php7-pecl-decimal/fix-tests.patch
deleted file mode 100644
index efbf27bba7b..00000000000
--- a/testing/php7-pecl-decimal/fix-tests.patch
+++ /dev/null
@@ -1,138 +0,0 @@
-diff --git a/tests/Number/helpers/Number.php b/tests/Number/helpers/Number.php
-new file mode 100644
-index 0000000..07ca222
---- /dev/null
-+++ b/tests/Number/helpers/Number.php
-@@ -0,0 +1,132 @@
-+<?php
-+
-+/**
-+ *
-+ */
-+class Number extends \Decimal\Number
-+{
-+ protected $value;
-+
-+ private static function parse($number)
-+ {
-+ $value = $number instanceof self ? $number->value : $number;
-+
-+ if ($value === "INF") $value = INF;
-+ else if ($value === "-INF") $value = -INF;
-+ else if ($value === "NAN") $value = NAN;
-+
-+ return $value;
-+ }
-+
-+ protected function __construct($value)
-+ {
-+ $this->value = self::parse($value);
-+ }
-+
-+ public static function valueOf($value): \Decimal\Number
-+ {
-+ return new static($value);
-+ }
-+
-+ public function add($other): \Decimal\Number
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return new static($this->value + $this->parse($other));
-+ }
-+
-+ public function sub($other): \Decimal\Number
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return new static($this->value - $this->parse($other));
-+ }
-+
-+ public function mul($other): \Decimal\Number
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return new static($this->value * $this->parse($other));
-+ }
-+
-+ public function div($other): \Decimal\Number
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return new static($this->value / $this->parse($other));
-+ }
-+
-+ public function pow($other): \Decimal\Number
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return new static($this->value ** $this->parse($other));
-+ }
-+
-+ public function mod($other): \Decimal\Number
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return new static($this->value % $this->parse($other));
-+ }
-+
-+ public function shiftl($places): \Decimal\Number
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return new static($this->value * (10 ** $places));
-+ }
-+
-+ public function shiftr($places): \Decimal\Number
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return new static($this->value / (10 ** $places));
-+ }
-+
-+ public function round(int $places = NULL, int $mode = NULL): \Decimal\Number
-+ {
-+ return new static($this->toDecimal(\Decimal\Decimal::MAX_PRECISION)->round($places, $mode)->toString());
-+ }
-+
-+ public function toFixed(int $places = NULL, bool $commas = NULL, int $mode = NULL): string
-+ {
-+ return new static($this->toDecimal(\Decimal\Decimal::MAX_PRECISION)->toFixed($places, $commas, $mode));
-+ }
-+
-+ public function toDecimal(int $precision): \Decimal\Decimal
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return parent::toDecimal($precision);
-+ }
-+
-+ public function toRational(): \Decimal\Rational
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return parent::toRational();
-+ }
-+
-+ public function toString(): string
-+ {
-+ return (string) $this->value;
-+ }
-+
-+ public function toInt(): int
-+ {
-+ return (int) $this->value;
-+ }
-+
-+ public function toFloat(): float
-+ {
-+ return (float) $this->value;
-+ }
-+
-+ public function compareTo($other): int
-+ {
-+ printf("%s\n", __METHOD__);
-+
-+ return $this->value <=> self::parse($other);
-+ }
-+}
diff --git a/testing/php7-pecl-grpc/APKBUILD b/testing/php7-pecl-grpc/APKBUILD
deleted file mode 100644
index 853743ca014..00000000000
--- a/testing/php7-pecl-grpc/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php7-pecl-grpc
-_extname=grpc
-pkgver=1.43.0
-pkgrel=0
-pkgdesc="PHP 7 extension provide a concrete implementation of the gRPC protocol, layered over HTTP/2."
-url="https://pecl.php.net/package/grpc"
-arch="all !s390x !ppc64le !riscv64 !mips64" # build failures
-license="Apache-2.0"
-depends="php7-common"
-makedepends="php7-dev openssl-dev linux-headers"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- # Test suite is not a part of pecl release.
- php7 -d extension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/50_$_extname.ini
-}
-
-sha512sums="
-c10b9671c32c8bef2227e2af891c79c067a1f30a2d8c67768cacc7f62ab17a4127065f6f88650cbcb6a7a3007631ed3ba6e7b17d0cf4e01e0ddad0e766987bf5 php-pecl-grpc-1.43.0.tgz
-"
diff --git a/testing/php7-pecl-inotify/APKBUILD b/testing/php7-pecl-inotify/APKBUILD
deleted file mode 100644
index 545812f7ece..00000000000
--- a/testing/php7-pecl-inotify/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
-# Maintainer: Fabio Ribeiro <fabiorphp@gmail.com>
-pkgname=php7-pecl-inotify
-_extname=inotify
-pkgver=3.0.0
-pkgrel=1
-pkgdesc="Inotify bindings for PHP"
-url="https://pecl.php.net/package/inotify"
-arch="all"
-license="PHP-3.01"
-depends="php7-common"
-makedepends="php7-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-provides="php7-inotify=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php7-inotify" # for backward compatibility
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/70_$_extname.ini
-}
-
-sha512sums="f8b29f8611f16b92136ab8de89181c254bba1abee1e61cac2344440567a3155aae4b9b54b10fdb1b0254fd7a96da8c14b7dc5c9f7f08a03db30ab1645aca1eee php-pecl-inotify-3.0.0.tgz"
diff --git a/testing/php7-pecl-jsmin/APKBUILD b/testing/php7-pecl-jsmin/APKBUILD
deleted file mode 100644
index af10fed3dcc..00000000000
--- a/testing/php7-pecl-jsmin/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php7-pecl-jsmin
-_extname=jsmin
-pkgver=3.0.0
-pkgrel=0
-_jqver=2.1.3
-pkgdesc="PHP 8 extension for minifying JavaScript - PECL"
-url="https://pecl.php.net/package/jsmin"
-arch="all !ppc64le" # test fails on builder
-license="PHP-3.01"
-depends="php7-common"
-makedepends="php7-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
- jquery-$_jqver.js::https://github.com/sqmk/pecl-jsmin/raw/v$pkgver/tests/data/jquery-$_jqver.js
- fix-tests.patch
- "
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config7
- make
-}
-
-check() {
- mkdir -p tests/data
- cp "$srcdir"/jquery-$_jqver.js tests/data/
-
- php7 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS='--show-diff '
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-a465ae024a49bb8ac20463efc6b2546021806c2c43053f42c7ebfea4924b9b647b6e7c0c673102e12ecd8b693666441dc07203edef216eee958fa62f73056ea6 php-pecl-jsmin-3.0.0.tgz
-b8eb1a740c63feaab8ac24d87f39f4cfe263694c972f4978b9f0e3092f912a722596fd094dd637d22f03816617e13210bf11fad9a545dbb0423dc821c827081e jquery-2.1.3.js
-e44a2615d98d786e0188d3880b41f267dab2fa215fb17cd37b17f8cc499bee7dd9e4fe1def4707dbd6769fa40ba2dbf7895ba3544db427a7d851f69a515fa83c fix-tests.patch
-"
diff --git a/testing/php7-pecl-mustache/APKBUILD b/testing/php7-pecl-mustache/APKBUILD
deleted file mode 100644
index 23e5e242f5e..00000000000
--- a/testing/php7-pecl-mustache/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Renoir Boulanger <hello@renoirboulanger.com>
-pkgname=php7-pecl-mustache
-_extname=mustache
-pkgver=0.9.2
-pkgrel=0
-pkgdesc="PHP 7 PECL extension: C++ implementation of Mustache"
-url="https://pecl.php.net/package/mustache"
-arch="all"
-license="MIT"
-depends="php7-common"
-makedepends="php7-dev libmustache"
-source="https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-provides="php7-mustache=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php7-mustache" # for backward compatibility
-
-build() {
- phpize7
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --with-php-config=php-config7 \
- --enable-mustache
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname.so" > $_confdir/70_$_extname.ini
-}
-
-sha512sums="7a5a1a084f18cf1c45ac042bf9f2fa1f882975a5d361862034a333e5200f2df87ed34f957a31fa0994e6e53854b7529c5fffe61b13a1406847bd2475cad52ab6 mustache-0.9.2.tgz"
diff --git a/testing/php7-pecl-pcov/APKBUILD b/testing/php7-pecl-pcov/APKBUILD
deleted file mode 100644
index 996d50437d2..00000000000
--- a/testing/php7-pecl-pcov/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-
-pkgname=php7-pecl-pcov
-_extname=pcov
-pkgver=1.0.11
-pkgrel=0
-pkgdesc="Code coverage driver for PHP 7 - PECL"
-url="https://pecl.php.net/package/pcov"
-arch="all"
-license="PHP-3.01"
-depends="php7-common"
-makedepends="php7-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- php7 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
-
- local _confdir="$pkgdir"/etc/php7/conf.d
- mkdir -p $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-9d196d92ddfdcd22a69d94543202d861e8d54355991d528e7a5f5bb5423943d6bc04b1b9a117294b7337093765595e5be0ac95ab1619149ec6dc9d6a4a330d69 php-pecl-pcov-1.0.11.tgz
-"
diff --git a/testing/php7-pecl-rrd/APKBUILD b/testing/php7-pecl-rrd/APKBUILD
deleted file mode 100644
index 857dc9054bc..00000000000
--- a/testing/php7-pecl-rrd/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Pascal Hofmann <mail@pascalhofmann.de>
-# Contributor: Mickaël Remars <github@remars.com>
-# Maintainer: Mickaël Remars <github@remars.com>
-_pkgreal=rrd
-pkgname=php7-pecl-rrd
-pkgver=2.0.3
-pkgrel=0
-pkgdesc="PHP7 bindings to rrd tool system"
-url="https://pecl.php.net/package/rrd"
-arch="all"
-license="BSD-2-Clause" # just one word difference: "owner" in php-rrd's license, "holder" in bsd-2-clause
-depends="php7-common"
-makedepends="php7-dev re2c rrdtool-dev"
-checkdepends="rrdtool"
-source="$pkgname-$pkgver.tgz::http://pecl.php.net/get/$_pkgreal-$pkgver.tgz"
-builddir="$srcdir/$_pkgreal-$pkgver"
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
-}
-
-package() {
- local confdir="$pkgdir/etc/php7/conf.d"
-
- make INSTALL_ROOT="$pkgdir" install
-
- mkdir -p "$confdir"
- echo "extension=$_pkgreal.so" > "$confdir"/20_$_pkgreal.ini
-}
-
-sha512sums="28679ccead54806d1e92accc6f5ebab582a41db802f95797ddb43e3e15690889be3437f22e2a14939d217422ac2700ef90ae0a9b36244ddead3856343b3e09b4 php7-pecl-rrd-2.0.3.tgz"
diff --git a/testing/php7-pecl-seaslog/APKBUILD b/testing/php7-pecl-seaslog/APKBUILD
deleted file mode 100644
index c0772dc55a3..00000000000
--- a/testing/php7-pecl-seaslog/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: viest <dev@service.viest.me>
-# Maintainer: Chitao.Gao <neeke@php.net>
-pkgname=php7-pecl-seaslog
-_extname=seaslog
-pkgver=2.2.0
-pkgrel=0
-pkgdesc="An effective, fast, stable log extension for PHP 7."
-url="https://pecl.php.net/package/SeasLog"
-arch="all"
-license="PHP-3.01"
-depends="php7-json"
-makedepends="php7-dev re2c"
-source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/SeasLog-$pkgver.tgz"
-builddir="$srcdir"/SeasLog-$pkgver
-
-build() {
- phpize7
- ./configure \
- --prefix=/usr \
- --with-php-config=/usr/bin/php-config7
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=/usr/lib/php7/modules/json.so \
- -d extension=modules/$_extname.so"
- php7 -dextension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="5c1d7dd6641bd8b8f3bf2c52f4b427103643fa1b7407a89769de7f450e882f9a1484b5b8b1aecf13c8060966b3bbcb52cbaf1536b93a8bceca5104bfda547629 php-pecl-seaslog-2.2.0.tar.gz"
diff --git a/testing/php7-pecl-simple-kafka-client/APKBUILD b/testing/php7-pecl-simple-kafka-client/APKBUILD
deleted file mode 100644
index cfff1afca4f..00000000000
--- a/testing/php7-pecl-simple-kafka-client/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Maintainer: Nick Chiu <coding.nikazu@gmail.com>
-pkgname=php7-pecl-simple-kafka-client
-_extname=simple_kafka_client
-pkgver=0.1.4
-pkgrel=0
-pkgdesc="PHP 7 extension for Kafka based on librdkafka - PECL"
-url="https://pecl.php.net/package/simple_kafka_client"
-arch="all"
-license="BSD-3-Clause"
-depends="php7-common"
-makedepends="php7-dev file librdkafka-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-
-provides="php7-simple-kafka-client=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php7-simple-kafka-client" # for backward compatibility
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config7
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-450055cfe1b5a4b966a4cfdffffc89a3d1ac737a9d0b24aa66126f925cdbb5d7b5287a8c7e9bea5fe859cd360ba4683564837f8abd93567b54e6284687c3f4fb php-pecl-simple_kafka_client-0.1.4.tgz
-"
diff --git a/testing/php7-pecl-smbclient/APKBUILD b/testing/php7-pecl-smbclient/APKBUILD
deleted file mode 100644
index bd67ab3fe97..00000000000
--- a/testing/php7-pecl-smbclient/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-
-pkgname=php7-pecl-smbclient
-_extname=smbclient
-pkgver=1.0.6
-pkgrel=0
-pkgdesc="PHP 7 extension that uses Samba's libsmbclient library to provide Samba related functions and 'smb' streams to PHP programs."
-url="https://pecl.php.net/package/smbclient"
-arch="all"
-license="BSD-2-Clause"
-depends="php7-common"
-makedepends="php7-dev samba-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- # Test suite require phpunit to run.
- php7 -d extension=modules/$_extname.so --ri smbclient
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="381051dbe6347ce3b0be9d1ed44ee80be846ce1cd4255689127220a48e3c157853e98ae463435a12342f6370b4e96c162069d8d00574aaf88675c5b9ad0810e8 php-pecl-smbclient-1.0.6.tgz"
diff --git a/testing/php7-pecl-solr/APKBUILD b/testing/php7-pecl-solr/APKBUILD
deleted file mode 100644
index 010e422e5f6..00000000000
--- a/testing/php7-pecl-solr/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
-# Maintainer: Fabio Ribeiro <fabiorphp@gmail.com>
-pkgname=php7-pecl-solr
-_pkgreal=solr
-pkgver=2.5.1
-pkgrel=0
-pkgdesc="Apache SOLR extension for PHP"
-url="https://pecl.php.net/package/solr"
-arch="all"
-license="PHP-3.01"
-depends="php7-json"
-makedepends="php7-dev curl-dev libxml2-dev"
-source="$pkgname-$pkgver.tgz::https://pecl.php.net/get/$_pkgreal-$pkgver.tgz
- fix-tests.patch"
-builddir="$srcdir"/$_pkgreal-$pkgver
-provides="php7-solr=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php7-solr" # for backward compatibility
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- php7 -d extension=modules/$_pkgreal.so --ri $_pkgreal
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 SKIP_ONLINE_TESTS=1 test \
- TESTS='--show-diff' \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=/usr/lib/php7/modules/json.so \
- -d extension=modules/$_pkgreal.so"
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir"/ install
- local _confdir=/etc/php7/conf.d
- install -d "$pkgdir"$_confdir
- echo "extension=$_pkgreal.so" > "$pkgdir"$_confdir/40_$_pkgreal.ini
-}
-
-sha512sums="b02711989455f3839e65835808dae66fdce6abfd85fe2cb3d46c4177deb2170b5993ee0c94177c880d3defac2d2c502b43d768b590b7180b5c38ab063f55bdf3 php7-pecl-solr-2.5.1.tgz
-553503d194c8c8c4db065a4c21136e51d4ba8bb9a74327d312a6506e12d91b4d2b72c5082741e961df7f3852fecf2374333c8f00a173ca2e6e7e6f1049ecf6cb fix-tests.patch"
diff --git a/testing/php7-pecl-solr/fix-tests.patch b/testing/php7-pecl-solr/fix-tests.patch
deleted file mode 100644
index 58dd72ce456..00000000000
--- a/testing/php7-pecl-solr/fix-tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Summary: skip tests which require solr server
---- a/tests/test.config.inc
-+++ b/tests/test.config.inc
-@@ -1,6 +1,6 @@
- <?php
-
--define('SOLR_SERVER_CONFIGURED', true);
-+define('SOLR_SERVER_CONFIGURED', false);
-
- define('ROOT_DIRECTORY', dirname(__FILE__));
-
diff --git a/testing/php7-pecl-stats/APKBUILD b/testing/php7-pecl-stats/APKBUILD
deleted file mode 100644
index c3892a4531f..00000000000
--- a/testing/php7-pecl-stats/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
-# Maintainer: Fabio Ribeiro <fabiorphp@gmail.com>
-pkgname=php7-pecl-stats
-_extname=stats
-pkgver=2.0.4
-pkgrel=0
-pkgdesc="PHP 7 extension that provides few dozens routines for statistical computation."
-url="https://pecl.php.net/package/stats"
-arch="all !s390x !mips !mips64" # too many tests fails on s390x
-license="PHP-3.01"
-depends="php7-common"
-makedepends="php7-dev"
-_commit="fac78cf926bb00c9974379c7131c58b7545e5b15"
-source="php-pecl-$_extname-$_commit.tar.gz::https://github.com/php/pecl-math-stats/archive/$_commit.tar.gz"
-builddir="$srcdir"/pecl-math-stats-$_commit
-#source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-#builddir="$srcdir"/$_pkgreal-$pkgver
-provides="php7-stats=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php7-stats" # for backward compatibility
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- php7 -dextension=modules/$_extname.so --ri $_extname
- case "$CARCH" in
- # Remove test fail https://bugs.php.net/bug.php?id=76163
- aarch64 | ppc64le) rm tests/stats_stat_correlation.phpt
- esac
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/60_$_extname.ini
-}
-
-sha512sums="0f359761512aa3c11bad1aa4c812e9a6a35d8e659b9aab4a38e5218dab5d7a33ebe349d9a6f25c9bfa361989281c68988f22988d3d4a357a610700c99897881c php-pecl-stats-fac78cf926bb00c9974379c7131c58b7545e5b15.tar.gz"
diff --git a/testing/php7-pecl-swoole/APKBUILD b/testing/php7-pecl-swoole/APKBUILD
deleted file mode 100644
index 8eca5f5c625..00000000000
--- a/testing/php7-pecl-swoole/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php7-pecl-swoole
-_extname=swoole
-pkgver=4.8.6
-pkgrel=0
-pkgdesc="Event-driven asynchronous and concurrent networking engine with high performance for PHP 7.4 - PECL"
-url="https://pecl.php.net/package/swoole"
-arch="all"
-license="Apache-2.0"
-depends="php7-curl php7-json php7-mysqlnd php7-openssl php7-sockets"
-makedepends="php7-dev openssl1.1-compat-dev nghttp2-dev c-ares-dev curl-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-subpackages="$pkgname-dev"
-replaces="php7-pecl-openswoole"
-
-case "$CARCH" in
- ppc64le|s390x) makedepends="$makedepends libucontext-dev" ;;
-esac
-
-build() {
- case "$CARCH" in
- ppc64le|s390x) export LDFLAGS="$LDFLAGS -lucontext" ;;
- esac
- phpize7
- ./configure --prefix=/usr \
- --with-php-config=php-config7 \
- --enable-mysqlnd \
- --enable-openssl --with-openssl-dir=/usr \
- --enable-sockets \
- --enable-swoole-curl \
- --enable-swoole-json \
- --enable-cares \
- --enable-http2
- make
-}
-
-check() {
- # needs extra services to test all suite
- php7 -d extension=modules/swoole.so --ri swoole
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/50_$_extname.ini
-}
-
-sha512sums="
-1d15f80f92f14d42afe99aac46b57b58d0844ff7083a9de5f12cb5e9685349a5bb8d93c52a6432eee5f5a34e977c11412397be2c27ad6e6bb095432b9a0077bf php-pecl-swoole-4.8.6.tgz
-"
diff --git a/testing/php7-pecl-varnish/APKBUILD b/testing/php7-pecl-varnish/APKBUILD
deleted file mode 100644
index 009d18bfa25..00000000000
--- a/testing/php7-pecl-varnish/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php7-pecl-varnish
-_extname=varnish
-pkgver=1.2.6
-pkgrel=0
-pkgdesc="PHP 7 extension: makes it possible to interact with a running varnish instance through TCP socket or shared memory."
-url="https://pecl.php.net/package/varnish"
-arch="all"
-license="BSD-3-Clause"
-depends="php7-common"
-makedepends="php7-dev autoconf libtool varnish-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-provides="php7-varnish=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php7-varnish" # for backward compatibility
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- php7 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="d17e285a134d2541ddea2bfc8627bc4926b3dbeeee1e9c729cd49c17608030764435662148b0dc43dc0eb1eab5d5dc8fd88c86aca40178afaf1ec85fa3e63aae php-pecl-varnish-1.2.6.tgz"
diff --git a/testing/php7-pecl-xlswriter/APKBUILD b/testing/php7-pecl-xlswriter/APKBUILD
deleted file mode 100644
index a49db6e410c..00000000000
--- a/testing/php7-pecl-xlswriter/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: viest <dev@service.viest.me>
-# Maintainer: viest <dev@service.viest.me>
-pkgname=php7-pecl-xlswriter
-_extname=xlswriter
-pkgver=1.5.1
-pkgrel=0
-pkgdesc="A PHP 7 Extension for creating and reader XLSX files. "
-url="https://pecl.php.net/package/xlswriter"
-arch="all !mips !mips64" # Test failure
-license="BSD-2-Clause"
-depends="php7-common"
-makedepends="php7-dev zlib-dev"
-source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize7
- ./configure \
- --enable-reader \
- --prefix=/usr \
- --with-php-config=/usr/bin/php-config7
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-1583a6a195e11d18d86984c332ddc118c34592c2bc3f8460039fcdfead3524516504825ae4c34c7760a0644d93eb9f16fb97649a066f40c5934d79f0ada24fcc php-pecl-xlswriter-1.5.1.tar.gz
-"
diff --git a/testing/php7-snappy/APKBUILD b/testing/php7-snappy/APKBUILD
deleted file mode 100644
index a1924858dc4..00000000000
--- a/testing/php7-snappy/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php7-snappy
-_extname=snappy
-pkgver=0.2.1
-pkgrel=0
-pkgdesc="Snappy Extension for PHP"
-url="https://github.com/kjdev/php-ext-snappy"
-arch="all"
-license="PHP-3.01"
-depends="php7-common"
-makedepends="php7-dev php7-pecl-apcu snappy-dev"
-source="php-$_extname-$pkgver.tar.gz::https://github.com/kjdev/php-ext-snappy/archive/$pkgver.tar.gz"
-builddir="$srcdir/php-ext-snappy-$pkgver"
-
-build() {
- phpize7
- ./configure \
- --prefix=/usr \
- --with-php-config=php-config7 \
- --with-snappy-includedir
- make
-}
-
-check() {
- local _modules=/usr/lib/php7/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- SKIP_ONLINE_TESTS=1 PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=$_modules/apcu.so \
- -d extension=modules/$_extname.so" TESTS=--show-diff
- php7 -d extension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir"/ install
- local confdir="$pkgdir"/etc/php7/conf.d
- install -d $confdir
- echo "extension=$_extname" > $confdir/50_$_extname.ini
-}
-
-sha512sums="51cdfe7c5d020cb954cbf555038aca8398867584a587eb838f07089612d3978a182d0bc04015608a2aaf71bf9a5b5896e5d92b56f3b2d5fe9e1116f9509acb1e php-snappy-0.2.1.tar.gz"
diff --git a/testing/php7-snuffleupagus/APKBUILD b/testing/php7-snuffleupagus/APKBUILD
deleted file mode 100644
index 31cad14266e..00000000000
--- a/testing/php7-snuffleupagus/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Maintainer: Julien (jvoisin) Voisin <julien.voisin+snuffleupagus@dustri.org>
-
-pkgname=php7-snuffleupagus
-_extname=snuffleupagus
-pkgver=0.7.0
-pkgrel=1
-pkgdesc="Security module for PHP 7"
-url="https://snuffleupagus.readthedocs.io"
-arch="all"
-license="LGPL-3.0-only"
-depends="php7-common"
-builddir="$srcdir/$_extname-$pkgver/src"
-makedepends="php7-dev php7-cgi"
-source="php-$_extname-$pkgver.tar.gz::https://github.com/jvoisin/snuffleupagus/archive/v$pkgver.tar.gz"
-
-build() {
- phpize7
- ./configure \
- --prefix=/usr \
- --enable-snuffleupagus \
- --with-php-config=php-config7
- make
-}
-
-check() {
- TEST_PHP_ARGS='-q' REPORT_EXIT_STATUS=1 make test TESTS="tests/cookies_encryption tests/deny_writable"
- TEST_PHP_ARGS='-q' REPORT_EXIT_STATUS=1 make test TESTS="tests/global_strict"
- TEST_PHP_ARGS='-q' REPORT_EXIT_STATUS=1 make test TESTS="tests/harden_rand tests/sloppy_comparison tests/unserialize"
-
- # TODO re-enable these tests
- #TEST_PHP_ARGS='-q' REPORT_EXIT_STATUS=1 make test TESTS="tests/disable_function"
- #TEST_PHP_ARGS='-q' REPORT_EXIT_STATUS=1 make test TESTS="tests/xxe"
- #TEST_PHP_ARGS='-q' REPORT_EXIT_STATUS=1 make test TESTS="tests/eval_blacklist"
- #TEST_PHP_ARGS='-q' REPORT_EXIT_STATUS=1 make test TESTS="tests/dump_request"
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- install -m644 ../config/$_extname.ini $_confdir/$pkgname.ini
- install -m644 ../config/default.rules $_confdir/$_extname.rules
-}
-
-sha512sums="608ad97a9b8118c30f7c2d39b154233e5398e839d9253d7e9dd4b17ad030c5b6dfe3d794c9a469e30f32c8b21a2fdba24e0d9dba3c46f28144edcf174089fc97 php-snuffleupagus-0.7.0.tar.gz"
diff --git a/testing/php7-spx/APKBUILD b/testing/php7-spx/APKBUILD
deleted file mode 100644
index 3c36af74364..00000000000
--- a/testing/php7-spx/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php7-spx
-_extname=spx
-pkgver=0.4.10
-pkgrel=1
-pkgdesc="A simple & straight-to-the-point PHP 7 profiling extension with its built-in web UI"
-url="https://github.com/NoiseByNorthwest/php-spx"
-arch="x86_64"
-license="GPL-3.0-or-later"
-depends="php7-common"
-makedepends="php7-dev zlib-dev"
-source="php-$_extname-$pkgver.tar.gz::https://github.com/NoiseByNorthwest/php-spx/archive/v$pkgver.tar.gz"
-builddir="$srcdir/php-$_extname-$pkgver"
-
-build() {
- phpize7
- ./configure --prefix=/usr --with-php-config=php-config7
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
- php7 -d extension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php7/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="f89effb851bc9f63e5846b4f8ab998027dfaf214b9111e185fa49dd36377c4ef3d8c98de2f51a7fffca51de7033143f77c5db22a50eb252e1b65d5ebf77a8b16 php-spx-0.4.10.tar.gz"
diff --git a/testing/php8-pdlib/APKBUILD b/testing/php8-pdlib/APKBUILD
deleted file mode 100644
index 6e5c246877d..00000000000
--- a/testing/php8-pdlib/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: goodspb <goodspb.luo@gmail.com>
-# Maintainer: Adriaan Groenenboom <agboom@pm.me>
-pkgname=php8-pdlib
-_extname=pdlib
-pkgver=1.0.2
-pkgrel=0
-pkgdesc="PHP 8 extension for Dlib"
-url="https://github.com/goodspb/pdlib"
-arch="all !ppc64le !mips !mips64" # build fails https://github.com/goodspb/pdlib/issues/19
-license="MIT"
-depends="php8-common dlib"
-makedepends="php8-dev php8-bz2"
-source="php-$_extname-$pkgver.tar.gz::https://github.com/goodspb/$_extname/archive/v$pkgver.tar.gz
- https://github.com/goodspb/pdlib/commit/a31d3bc709321b784ecd93c983b476a0a298bfa0.patch"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- # Tests require bz2 extension which is not bundled
- local _modules=/usr/lib/php8/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- TESTS=--show-diff SKIP_ONLINE_TESTS=1 \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=$_modules/bz2.so \
- -d extension=modules/$_extname.so"
- php8 -dextension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="7222eeaedad8bfe8d0deb327c4d1deaea172994cfb2f2d43fb10f6b862ccc56e05bb459e0d2c94ed79f222eed8eb7c1974c15f862549bf563b132b531acf1cd3 php-pdlib-1.0.2.tar.gz
-5a910e9fbdd79da1f46f008cacc32494f781ae46c857ea1ef06b98fcc81537e12e773b0948fbd8b7fb15c2cbd2fadd13bcc752344fdcba412fa6f8351162f5b4 a31d3bc709321b784ecd93c983b476a0a298bfa0.patch"
diff --git a/testing/php8-pecl-csv/APKBUILD b/testing/php8-pecl-csv/APKBUILD
deleted file mode 100644
index ba09082509a..00000000000
--- a/testing/php8-pecl-csv/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-csv
-_extname=CSV
-pkgver=0.4.0
-pkgrel=1
-pkgdesc="CSV PHP 8 extension - PECL"
-url="https://pecl.php.net/package/CSV"
-arch="all"
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
- php8 -dextension=modules/csv.so --ri csv
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=csv" > $_confdir/csv.ini
-}
-
-sha512sums="6ffe135f8a64ba070d59474047ca981513a6e6bfd12e44540e69b8fa4a39f67657a90a3243c9213ce4e49d6864f7a82195e6c1a1e0e38cc55265fdefba3736aa php-pecl-CSV-0.4.0.tgz"
diff --git a/testing/php8-pecl-datadog_trace/APKBUILD b/testing/php8-pecl-datadog_trace/APKBUILD
deleted file mode 100644
index d0cd055acde..00000000000
--- a/testing/php8-pecl-datadog_trace/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-datadog_trace
-_extname=datadog_trace
-_realname=ddtrace
-pkgver=0.62.1
-pkgrel=0
-pkgdesc="APM and distributed tracing for PHP 8 - PECL"
-url="https://pecl.php.net/package/datadog_trace"
-arch="all !x86 !armv7 !armhf" # 64 bits only
-license="BSD-3-Clause"
-depends="php8-common"
-makedepends="php8-dev curl-dev"
-checkdepends="php8-cgi php8-curl php8-session"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
- fix-cgi-test.patch"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- local _modules=/usr/lib/php8/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=$_modules/curl.so \
- -d extension=$_modules/session.so \
- -d extension=modules/$_realname.so" \
- TEST_PHP_CGI_EXECUTABLE=/usr/bin/php-cgi8 \
- TESTS='--show-diff'
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_realname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-f1cbf97c390781682b95779c0fc08791ad1f0e6019fa3faee27a79db834e6a3838a88b9508082f7481419996e574b3fc947cb1fb9d944e28cbf77515a91bee3c php-pecl-datadog_trace-0.62.1.tgz
-4a17d92ae1c495b0acc1f16d1732e33dd82f7b182adae83f7278b710c2c5f1c8e56471b2d2b4545992c01cc57e3eae19bbfd09dae3d389fb9d7efcdd9b3ab8cc fix-cgi-test.patch
-"
diff --git a/testing/php8-pecl-datadog_trace/fix-cgi-test.patch b/testing/php8-pecl-datadog_trace/fix-cgi-test.patch
deleted file mode 100644
index a2a125da8a1..00000000000
--- a/testing/php8-pecl-datadog_trace/fix-cgi-test.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests/ext/startup_logging_disabled.phpt
-+++ b/tests/ext/startup_logging_disabled.phpt
-@@ -13,7 +13,7 @@
- var_dump($logs);
- ?>
- --EXPECTF--
--%s/php-cgi %s
-+%s/php-cgi8 %s
- No JSON found: (%s)
- array(0) {
- }
diff --git a/testing/php8-pecl-decimal/APKBUILD b/testing/php8-pecl-decimal/APKBUILD
deleted file mode 100644
index 4f4b8870e2b..00000000000
--- a/testing/php8-pecl-decimal/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-decimal
-_extname=decimal
-pkgver=1.4.0
-pkgrel=0
-pkgdesc="Correctly-rounded arbitrary precision decimal floating-point arithmetic in PHP 8 - PECL"
-url="https://pecl.php.net/package/decimal"
-arch="all"
-license="MIT"
-depends="php8-common"
-makedepends="php8-dev mpdecimal-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="39c7044a6e2f31cd2ca006fb2fe27b547ea717312a7ad1aee7a656aa60d99cc1198e6e9dcf0b90157f3514e110645f6b0fd47ccae0411d6c837dea3b6de1c521 php-pecl-decimal-1.4.0.tgz"
diff --git a/testing/php8-pecl-ev/APKBUILD b/testing/php8-pecl-ev/APKBUILD
deleted file mode 100644
index 6dd563a61f9..00000000000
--- a/testing/php8-pecl-ev/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-ev
-_extname=ev
-pkgver=1.1.6_rc1
-_pkgver=${pkgver/_rc/RC}
-pkgrel=0
-pkgdesc="PHP 8.0 PECL interface to libev library - high performance full-featured event loop written in C."
-url="https://pecl.php.net/package/ev"
-arch="all"
-license="PHP-3.01"
-depends="php8-sockets"
-makedepends="libev-dev php8-dev"
-checkdepends="php8-pcntl php8-posix"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$_pkgver.tgz"
-builddir="$srcdir/$_extname-$_pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- php8 -dextension=modules/$_extname.so --ri $_extname
- local _modules=/usr/lib/php8/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- TESTS=--show-diff \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=$_modules/pcntl.so \
- -d extension=$_modules/posix.so \
- -d extension=$_modules/sockets.so \
- -d extension=modules/$_extname.so"
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-2712d00b23a1844c89dee84893032850845033d68a201f4edc704f3bf63c9ce6abb39d940eab62c3a7a4fbee6b7d9c893a7117bd6f0fed9a6953c622ad34bfdc php-pecl-ev-1.1.6_rc1.tgz
-"
diff --git a/testing/php8-pecl-gearman/APKBUILD b/testing/php8-pecl-gearman/APKBUILD
deleted file mode 100644
index 3c30a2d3301..00000000000
--- a/testing/php8-pecl-gearman/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-gearman
-_extname=gearman
-pkgver=2.1.0
-pkgrel=0
-pkgdesc="PHP 8 wrapper to libgearman - PECL"
-url="https://github.com/php/pecl-networking-gearman"
-arch="all"
-license="PHP-3.01"
-depends="php8-pcntl"
-makedepends="gearman-dev php8-dev"
-#checkdepends="gearmand"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure \
- --prefix=/usr \
- --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- php8 -dextension=modules/$_extname.so --ri $_extname
- # Requires server running so REPORT_EXIT_STATUS=0
- local _modules=/usr/lib/php8/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- TESTS=--show-diff SKIP_ONLINE_TESTS=1 \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=$_modules/pcntl.so \
- -d extension=modules/$_extname.so"
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="78a3877ba2212777a1c8387ce14c0e2210f3141b9a6bb87507547f6e3f02dfc03387111e6ac84729dba8b1b9c0483ef1ba3c458480bc0f2e9d68dd49bd073ba6 php-pecl-gearman-2.1.0.tgz"
diff --git a/testing/php8-pecl-gmagick/APKBUILD b/testing/php8-pecl-gmagick/APKBUILD
deleted file mode 100644
index 71e8743a4f6..00000000000
--- a/testing/php8-pecl-gmagick/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-gmagick
-_pkgreal=gmagick
-pkgver=2.0.6_rc1
-_pkgver=${pkgver/_rc/RC}
-pkgrel=1
-pkgdesc="PHP 8 bindings to the GraphicsMagick library - PECL"
-url="https://pecl.php.net/package/gmagick"
-arch="all"
-license="PHP-3.01"
-depends="php8-common ghostscript-fonts"
-makedepends="graphicsmagick-dev libtool php8-dev"
-source="php-pecl-$_pkgreal-$_pkgver.tgz::https://pecl.php.net/get/$_pkgreal-$_pkgver.tgz"
-builddir="$srcdir/$_pkgreal-$_pkgver"
-
-build() {
- phpize8
- ./configure \
- --prefix=/usr \
- --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- if [ "$CARCH" = "x86" ]; then
- # https://gitlab.alpinelinux.org/alpine/aports/issues/11011
- rm -f \
- tests/gmagick-107_setimagevirtualpixelmethod.phpt \
- tests/gmagick-116_waveImage_basic.phpt
- fi
- # https://github.com/vitoc/gmagick/issues/53
- rm -f tests/gmagick-056-set_getsamplingfactors.phpt
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_pkgreal" > $_confdir/$_pkgreal.ini
-}
-
-sha512sums="c09ad751815d06964f16ab95025badc0711ceaaac0cf79035307aa75f2730b021b070d0e45e549ddd5447de68581ec666a817ec5c05a2a4557d4c1548216714f php-pecl-gmagick-2.0.6RC1.tgz"
diff --git a/testing/php8-pecl-grpc/APKBUILD b/testing/php8-pecl-grpc/APKBUILD
deleted file mode 100644
index d3ded44f450..00000000000
--- a/testing/php8-pecl-grpc/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-grpc
-_extname=grpc
-pkgver=1.43.0
-pkgrel=0
-pkgdesc="PHP 8.0 extension provide a concrete implementation of the gRPC protocol, layered over HTTP/2."
-url="https://pecl.php.net/package/grpc"
-arch="all !s390x !ppc64le !riscv64 !mips64" # build failures
-license="Apache-2.0"
-depends="php8-common"
-makedepends="php8-dev openssl-dev linux-headers"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- # Test suite is not a part of pecl release.
- php8 -d extension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/50_$_extname.ini
-}
-
-sha512sums="
-c10b9671c32c8bef2227e2af891c79c067a1f30a2d8c67768cacc7f62ab17a4127065f6f88650cbcb6a7a3007631ed3ba6e7b17d0cf4e01e0ddad0e766987bf5 php-pecl-grpc-1.43.0.tgz
-"
diff --git a/testing/php8-pecl-inotify/APKBUILD b/testing/php8-pecl-inotify/APKBUILD
deleted file mode 100644
index 286690f1045..00000000000
--- a/testing/php8-pecl-inotify/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-inotify
-_extname=inotify
-pkgver=3.0.0
-pkgrel=0
-pkgdesc="Inotify bindings for PHP 8"
-url="https://pecl.php.net/package/inotify"
-arch="all"
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/70_$_extname.ini
-}
-
-sha512sums="f8b29f8611f16b92136ab8de89181c254bba1abee1e61cac2344440567a3155aae4b9b54b10fdb1b0254fd7a96da8c14b7dc5c9f7f08a03db30ab1645aca1eee php-pecl-inotify-3.0.0.tgz"
diff --git a/testing/php8-pecl-jsmin/APKBUILD b/testing/php8-pecl-jsmin/APKBUILD
deleted file mode 100644
index cae24254b36..00000000000
--- a/testing/php8-pecl-jsmin/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-jsmin
-_extname=jsmin
-pkgver=3.0.0
-pkgrel=0
-_jqver=2.1.3
-pkgdesc="PHP 8 extension for minifying JavaScript - PECL"
-url="https://pecl.php.net/package/jsmin"
-arch="all !ppc64le" # test fails on builder
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
- jquery-$_jqver.js::https://github.com/sqmk/pecl-jsmin/raw/v$pkgver/tests/data/jquery-$_jqver.js
- fix-php8.patch
- fix-tests.patch
- "
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- mkdir -p tests/data
- cp "$srcdir"/jquery-$_jqver.js tests/data/
-
- php8 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS='--show-diff '
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-a465ae024a49bb8ac20463efc6b2546021806c2c43053f42c7ebfea4924b9b647b6e7c0c673102e12ecd8b693666441dc07203edef216eee958fa62f73056ea6 php-pecl-jsmin-3.0.0.tgz
-b8eb1a740c63feaab8ac24d87f39f4cfe263694c972f4978b9f0e3092f912a722596fd094dd637d22f03816617e13210bf11fad9a545dbb0423dc821c827081e jquery-2.1.3.js
-72f4ea4aad457d1a557e05ff8457a689ea75419e414b0893c2bdf5d7216d70b7c26a4993e3c9fa97de3409d080b3cf2a5bd2f0c4b050854c02f08ac592da1f85 fix-php8.patch
-e44a2615d98d786e0188d3880b41f267dab2fa215fb17cd37b17f8cc499bee7dd9e4fe1def4707dbd6769fa40ba2dbf7895ba3544db427a7d851f69a515fa83c fix-tests.patch
-"
diff --git a/testing/php8-pecl-memprof/APKBUILD b/testing/php8-pecl-memprof/APKBUILD
deleted file mode 100644
index 58c1207dedc..00000000000
--- a/testing/php8-pecl-memprof/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-memprof
-_extname=memprof
-pkgver=3.0.2
-pkgrel=0
-pkgdesc="fast and accurate memory profiler that can be used to find the cause of memory leaks in PHP 8.0 applications - PECL"
-url="https://pecl.php.net/package/memprof"
-arch="all !x86 !armv7 !armhf" # tests fail
-license="MIT"
-depends="php8-common"
-makedepends="php8-dev judy-dev bsd-compat-headers"
-checkdepends="php8-pecl-xdebug php8-cgi"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- # Tests require xdebug extension
- local _depsdir=/usr/lib/php8/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test PHP_TEST_SHARED_EXTENSIONS="
- -d zend_extension=$_depsdir/xdebug.so \
- -d extension=modules/$_extname.so" TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-2d951f2fd54cf074a392e5bffb22cec0d769147951986b26e6e96efc4d7e52b199bfc7964a663b8d94bd530bad566973a56d86395dfe23a7c3aeb086db12783c php-pecl-memprof-3.0.2.tgz
-"
diff --git a/testing/php8-pecl-mustache/APKBUILD b/testing/php8-pecl-mustache/APKBUILD
deleted file mode 100644
index 055495bfc5e..00000000000
--- a/testing/php8-pecl-mustache/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Renoir Boulanger <hello@renoirboulanger.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-mustache
-_extname=mustache
-pkgver=0.9.2
-pkgrel=0
-pkgdesc="PHP 8 extension: C++ implementation of Mustache - PECL"
-url="https://pecl.php.net/package/mustache"
-arch="all"
-license="MIT"
-depends="php8-common"
-makedepends="php8-dev libmustache"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize8
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --with-php-config=php-config8 \
- --enable-mustache
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/70_$_extname.ini
-}
-
-sha512sums="7a5a1a084f18cf1c45ac042bf9f2fa1f882975a5d361862034a333e5200f2df87ed34f957a31fa0994e6e53854b7529c5fffe61b13a1406847bd2475cad52ab6 php-pecl-mustache-0.9.2.tgz"
diff --git a/testing/php8-pecl-pcov/APKBUILD b/testing/php8-pecl-pcov/APKBUILD
deleted file mode 100644
index 0e79ba966e3..00000000000
--- a/testing/php8-pecl-pcov/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-
-pkgname=php8-pecl-pcov
-_extname=pcov
-pkgver=1.0.11
-pkgrel=0
-pkgdesc="Code coverage driver for PHP 8.0 - PECL"
-url="https://pecl.php.net/package/pcov"
-arch="all"
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- php8 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
-
- local _confdir="$pkgdir"/etc/php8/conf.d
- mkdir -p $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-9d196d92ddfdcd22a69d94543202d861e8d54355991d528e7a5f5bb5423943d6bc04b1b9a117294b7337093765595e5be0ac95ab1619149ec6dc9d6a4a330d69 php-pecl-pcov-1.0.11.tgz
-"
diff --git a/testing/php8-pecl-rrd/APKBUILD b/testing/php8-pecl-rrd/APKBUILD
deleted file mode 100644
index 0ab761e2072..00000000000
--- a/testing/php8-pecl-rrd/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Pascal Hofmann <mail@pascalhofmann.de>
-# Contributor: Mickaël Remars <github@remars.com>
-# Maintainer: Mickaël Remars <github@remars.com>
-_extname=rrd
-pkgname=php8-pecl-rrd
-pkgver=2.0.3
-pkgrel=0
-pkgdesc="PHP 8 bindings to rrd tool system - PECL"
-url="https://pecl.php.net/package/rrd"
-arch="all"
-license="BSD-2-Clause" # just one word difference: "owner" in php-rrd's license, "holder" in bsd-2-clause
-depends="php8-common"
-makedepends="php8-dev rrdtool-dev"
-checkdepends="rrdtool"
-source="php-pecl-$_extname-$pkgver.tgz::http://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
-
- local _confdir="$pkgdir"/etc/php8/conf.d
- mkdir -p $_confdir
- echo "extension=$_extname" > $_confdir/20_$_extname.ini
-}
-
-sha512sums="28679ccead54806d1e92accc6f5ebab582a41db802f95797ddb43e3e15690889be3437f22e2a14939d217422ac2700ef90ae0a9b36244ddead3856343b3e09b4 php-pecl-rrd-2.0.3.tgz"
diff --git a/testing/php8-pecl-runkit7/APKBUILD b/testing/php8-pecl-runkit7/APKBUILD
deleted file mode 100644
index b07cf8a78ab..00000000000
--- a/testing/php8-pecl-runkit7/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-runkit7
-_extname=runkit7
-pkgver=4.0.0a3
-pkgrel=0
-pkgdesc="PHP 8 extension for replace, rename, and remove user defined functions, methods, and constants - PECL"
-url="https://pecl.php.net/package/runkit7"
-arch="all"
-license="BSD-3-Clause"
-depends="php8-common"
-makedepends="php8-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- php8 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-a4559ed86ca76af94d4793cb6c4c9dcf367f217b81e5cf978745a6dba9c00ee981a46a753075ff249cbc0f8f13aba18f0f302d619f246271445577222b578d3f php-pecl-runkit7-4.0.0a3.tgz
-"
diff --git a/testing/php8-pecl-seaslog/APKBUILD b/testing/php8-pecl-seaslog/APKBUILD
deleted file mode 100644
index cb5efc1f4dd..00000000000
--- a/testing/php8-pecl-seaslog/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: viest <dev@service.viest.me>
-# Maintainer: Chitao.Gao <neeke@php.net>
-pkgname=php8-pecl-seaslog
-_extname=seaslog
-pkgver=2.2.0
-pkgrel=0
-pkgdesc="An effective, fast, stable log extension for PHP 9."
-url="https://pecl.php.net/package/SeasLog"
-arch="all"
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev"
-source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/SeasLog-$pkgver.tgz"
-builddir="$srcdir"/SeasLog-$pkgver
-
-build() {
- phpize8
- ./configure \
- --prefix=/usr \
- --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- TESTS=--show-diff
- php8 -dextension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="5c1d7dd6641bd8b8f3bf2c52f4b427103643fa1b7407a89769de7f450e882f9a1484b5b8b1aecf13c8060966b3bbcb52cbaf1536b93a8bceca5104bfda547629 php-pecl-seaslog-2.2.0.tar.gz"
diff --git a/testing/php8-pecl-simple-kafka-client/APKBUILD b/testing/php8-pecl-simple-kafka-client/APKBUILD
deleted file mode 100644
index 37461760655..00000000000
--- a/testing/php8-pecl-simple-kafka-client/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Nick Chiu <coding.nikazu@gmail.com>
-pkgname=php8-pecl-simple-kafka-client
-_extname=simple_kafka_client
-pkgver=0.1.4
-pkgrel=0
-pkgdesc="PHP 8 extension for Kafka based on librdkafka - PECL"
-url="https://pecl.php.net/package/simple_kafka_client"
-arch="all"
-license="BSD-3-Clause"
-depends="php8-common"
-makedepends="php8-dev file librdkafka-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- php8 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-450055cfe1b5a4b966a4cfdffffc89a3d1ac737a9d0b24aa66126f925cdbb5d7b5287a8c7e9bea5fe859cd360ba4683564837f8abd93567b54e6284687c3f4fb php-pecl-simple_kafka_client-0.1.4.tgz
-"
diff --git a/testing/php8-pecl-smbclient/APKBUILD b/testing/php8-pecl-smbclient/APKBUILD
deleted file mode 100644
index 9d380850dd8..00000000000
--- a/testing/php8-pecl-smbclient/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-
-pkgname=php8-pecl-smbclient
-_extname=smbclient
-pkgver=1.0.6
-pkgrel=0
-pkgdesc="PHP 8 extension that uses Samba's libsmbclient library to provide Samba related functions and 'smb' streams to PHP programs."
-url="https://pecl.php.net/package/smbclient"
-arch="all"
-license="BSD-2-Clause"
-depends="php8-common"
-makedepends="php8-dev samba-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- # Test suite require phpunit to run.
- php8 -d extension=modules/$_extname.so --ri smbclient
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="381051dbe6347ce3b0be9d1ed44ee80be846ce1cd4255689127220a48e3c157853e98ae463435a12342f6370b4e96c162069d8d00574aaf88675c5b9ad0810e8 php-pecl-smbclient-1.0.6.tgz"
diff --git a/testing/php8-pecl-solr/APKBUILD b/testing/php8-pecl-solr/APKBUILD
deleted file mode 100644
index 2f3a0bd687e..00000000000
--- a/testing/php8-pecl-solr/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-solr
-_extname=solr
-pkgver=2.5.1
-pkgrel=0
-pkgdesc="Apache SOLR extension for PHP 8 - PECL"
-url="https://pecl.php.net/package/solr"
-arch="all"
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev curl-dev libxml2-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
- fix-tests.patch"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- php8 -d extension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 SKIP_ONLINE_TESTS=1 test \
- TESTS='--show-diff'
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/40_$_extname.ini
-}
-
-sha512sums="b02711989455f3839e65835808dae66fdce6abfd85fe2cb3d46c4177deb2170b5993ee0c94177c880d3defac2d2c502b43d768b590b7180b5c38ab063f55bdf3 php-pecl-solr-2.5.1.tgz
-553503d194c8c8c4db065a4c21136e51d4ba8bb9a74327d312a6506e12d91b4d2b72c5082741e961df7f3852fecf2374333c8f00a173ca2e6e7e6f1049ecf6cb fix-tests.patch"
diff --git a/testing/php8-pecl-solr/fix-tests.patch b/testing/php8-pecl-solr/fix-tests.patch
deleted file mode 100644
index 58dd72ce456..00000000000
--- a/testing/php8-pecl-solr/fix-tests.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-Summary: skip tests which require solr server
---- a/tests/test.config.inc
-+++ b/tests/test.config.inc
-@@ -1,6 +1,6 @@
- <?php
-
--define('SOLR_SERVER_CONFIGURED', true);
-+define('SOLR_SERVER_CONFIGURED', false);
-
- define('ROOT_DIRECTORY', dirname(__FILE__));
-
diff --git a/testing/php8-pecl-stats/APKBUILD b/testing/php8-pecl-stats/APKBUILD
deleted file mode 100644
index 82c3f9ce92c..00000000000
--- a/testing/php8-pecl-stats/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
-# Maintainer: Fabio Ribeiro <fabiorphp@gmail.com>
-pkgname=php8-pecl-stats
-_extname=stats
-pkgver=2.0.4
-pkgrel=0
-pkgdesc="PHP 8 extension that provides few dozens routines for statistical computation."
-url="https://pecl.php.net/package/stats"
-arch="all !s390x !mips !mips64" # too many tests fails on s390x
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev"
-_commit="fac78cf926bb00c9974379c7131c58b7545e5b15"
-source="php-pecl-$_extname-$_commit.tar.gz::https://github.com/php/pecl-math-stats/archive/$_commit.tar.gz"
-builddir="$srcdir"/pecl-math-stats-$_commit
-#source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-#builddir="$srcdir"/$_pkgreal-$pkgver
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- php8 -dextension=modules/$_extname.so --ri $_extname
- case "$CARCH" in
- # Remove test fail https://bugs.php.net/bug.php?id=76163
- aarch64 | ppc64le) rm tests/stats_stat_correlation.phpt
- esac
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/60_$_extname.ini
-}
-
-sha512sums="0f359761512aa3c11bad1aa4c812e9a6a35d8e659b9aab4a38e5218dab5d7a33ebe349d9a6f25c9bfa361989281c68988f22988d3d4a357a610700c99897881c php-pecl-stats-fac78cf926bb00c9974379c7131c58b7545e5b15.tar.gz"
diff --git a/testing/php8-pecl-swoole/APKBUILD b/testing/php8-pecl-swoole/APKBUILD
deleted file mode 100644
index 5bf0e2ba06f..00000000000
--- a/testing/php8-pecl-swoole/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-swoole
-_extname=swoole
-pkgver=4.8.6
-pkgrel=0
-pkgdesc="Event-driven asynchronous and concurrent networking engine with high performance for PHP 8.0 - PECL"
-url="https://pecl.php.net/package/swoole"
-arch="all"
-license="Apache-2.0"
-depends="php8-curl php8-mysqlnd php8-openssl php8-sockets"
-makedepends="php8-dev openssl1.1-compat-dev nghttp2-dev c-ares-dev curl-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-subpackages="$pkgname-dev"
-replaces="php8-pecl-openswoole"
-
-case "$CARCH" in
- ppc64le|s390x) makedepends="$makedepends libucontext-dev" ;;
-esac
-
-build() {
- case "$CARCH" in
- ppc64le|s390x) export LDFLAGS="$LDFLAGS -lucontext" ;;
- esac
- phpize8
- ./configure --prefix=/usr \
- --with-php-config=php-config8 \
- --enable-mysqlnd \
- --enable-openssl --with-openssl-dir=/usr \
- --enable-sockets \
- --enable-swoole-curl \
- --enable-swoole-json \
- --enable-cares \
- --enable-http2
- make
-}
-
-check() {
- # needs extra services to test all suite
- php8 -d extension=modules/swoole.so --ri swoole
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/50_$_extname.ini
-}
-
-sha512sums="
-1d15f80f92f14d42afe99aac46b57b58d0844ff7083a9de5f12cb5e9685349a5bb8d93c52a6432eee5f5a34e977c11412397be2c27ad6e6bb095432b9a0077bf php-pecl-swoole-4.8.6.tgz
-"
diff --git a/testing/php8-pecl-varnish/APKBUILD b/testing/php8-pecl-varnish/APKBUILD
deleted file mode 100644
index d2a7ef77256..00000000000
--- a/testing/php8-pecl-varnish/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-varnish
-_extname=varnish
-pkgver=1.2.6
-pkgrel=0
-pkgdesc="PHP 8 extension: makes it possible to interact with a running varnish instance through TCP socket or shared memory."
-url="https://pecl.php.net/package/varnish"
-arch="all"
-license="BSD-3-Clause"
-depends="php8-common"
-makedepends="php8-dev varnish-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir/$_extname-$pkgver"
-provides="php7-varnish=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php7-varnish" # for backward compatibility
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- php8 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="d17e285a134d2541ddea2bfc8627bc4926b3dbeeee1e9c729cd49c17608030764435662148b0dc43dc0eb1eab5d5dc8fd88c86aca40178afaf1ec85fa3e63aae php-pecl-varnish-1.2.6.tgz"
diff --git a/testing/php8-pecl-xlswriter/APKBUILD b/testing/php8-pecl-xlswriter/APKBUILD
deleted file mode 100644
index 383d22ae588..00000000000
--- a/testing/php8-pecl-xlswriter/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: viest <dev@service.viest.me>
-# Maintainer: viest <dev@service.viest.me>
-pkgname=php8-pecl-xlswriter
-_extname=xlswriter
-pkgver=1.5.1
-pkgrel=0
-pkgdesc="PHP 8.0 extension for creating and reader XLSX files - PECL"
-url="https://pecl.php.net/package/xlswriter"
-arch="all !mips !mips64" # Test failure
-license="BSD-2-Clause"
-depends="php8-common"
-makedepends="php8-dev zlib-dev"
-source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-builddir="$srcdir"/$_extname-$pkgver
-
-build() {
- phpize8
- ./configure \
- --enable-reader \
- --prefix=/usr \
- --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-1583a6a195e11d18d86984c332ddc118c34592c2bc3f8460039fcdfead3524516504825ae4c34c7760a0644d93eb9f16fb97649a066f40c5934d79f0ada24fcc php-pecl-xlswriter-1.5.1.tar.gz
-"
diff --git a/testing/php8-pecl-xmlrpc/APKBUILD b/testing/php8-pecl-xmlrpc/APKBUILD
deleted file mode 100644
index d60697ece26..00000000000
--- a/testing/php8-pecl-xmlrpc/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-pecl-xmlrpc
-_extname=xmlrpc
-pkgver=1.0.0_rc3
-_pkgver=${pkgver/_rc/RC}
-pkgrel=0
-pkgdesc="PHP 8 extension to write XML-RPC servers and clients - PECL"
-url="https://pecl.php.net/package/xmlrpc"
-arch="all"
-license="PHP-3.01"
-depends="php8-xml"
-makedepends="php8-dev libxml2-dev"
-source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$_pkgver.tgz"
-builddir="$srcdir"/$_extname-$_pkgver
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=/usr/lib/php8/modules/xml.so \
- -d extension=modules/$_extname.so"
- php8 -d extension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="
-aa8e24d5a732b175adb9870357991d48ead046faed89e579eb63afe06c7ef20af9de29e2d70e71e54e5a15ee37265f69a7d52b39ef2465ced93ba818c1f7e9c1 php-pecl-xmlrpc-1.0.0_rc3.tar.gz
-"
diff --git a/testing/php8-pecl-zmq/APKBUILD b/testing/php8-pecl-zmq/APKBUILD
deleted file mode 100644
index 66688cc5a4e..00000000000
--- a/testing/php8-pecl-zmq/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
-# Maintainer: Fabio Ribeiro <fabiorphp@gmail.com>
-pkgname=php8-pecl-zmq
-_extname=zmq
-pkgver=1.1.4
-pkgrel=0
-pkgdesc="PHP 8 extension for ZeroMQ - PECL"
-url="https://pecl.php.net/package/zmq"
-arch="all"
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev zeromq-dev"
-_commit=43464c42a6a47efdf8b7cab03c62f1622fb5d3c6
-source="php-pecl-$_extname-$_commit.tar.gz::https://github.com/zeromq/php-zmq/archive/$_commit.tar.gz"
-builddir="$srcdir/php-$_extname-$_commit"
-#source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-#builddir="$srcdir/$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- php8 -dextension=modules/$_extname.so --ri $_extname
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
-
- local _confdir="$pkgdir"/etc/php8/conf.d
- mkdir -p $_confdir
- echo "extension=$_extname" > $_confdir/50_$_extname.ini
-}
-
-sha512sums="ece4f52b6717749d56280e2e988a5d291fe967c40489f1e7b7ac0a17688a5a92b2a9fa720978dbad0969830034371ea54e937dd7cce7a6d983162977afd290c7 php-pecl-zmq-43464c42a6a47efdf8b7cab03c62f1622fb5d3c6.tar.gz"
diff --git a/testing/php8-phalcon/APKBUILD b/testing/php8-phalcon/APKBUILD
deleted file mode 100644
index c902f196137..00000000000
--- a/testing/php8-phalcon/APKBUILD
+++ /dev/null
@@ -1,53 +0,0 @@
-# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-phalcon
-_extname=phalcon
-_pkgreal=cphalcon
-pkgver=5.0.0_alpha1
-_pkgver=${pkgver/_alpha/-alpha.}
-pkgrel=0
-pkgdesc="High performance, full-stack PHP 8 framework delivered as a C extension"
-url="https://phalcon.io/"
-arch="all"
-license="BSD-3-Clause"
-depends="
- php8-curl
- php8-fileinfo
- php8-gettext
- php8-mbstring
- php8-openssl
- php8-pdo
- php8-session
- php8-pecl-psr
- "
-makedepends="php8-dev gd-dev libexecinfo-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/phalcon/cphalcon/archive/v$_pkgver.tar.gz"
-builddir="$srcdir/$_pkgreal-$_pkgver/build/${pkgname%%-*}/safe"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config8
- make
-}
-
-check() {
- # It needs some external services to run checks
- local _modules=/usr/lib/php8/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- TESTS="--show-diff ../../../tests/syntax" \
- PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=$_modules/pdo.so \
- -d extension=$_modules/psr.so \
- -d extension=$_modules/session.so \
- -d extension=modules/phalcon.so"
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
-
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="eb4f31fc4e1f46e7d34011fc83371d7d1de068855c2e3278e92598c80283cff1791940c631fe36f71b1e33b5fc805685fa3a3b3d6f6aea846625eaf25298e492 php8-phalcon-5.0.0_alpha1.tar.gz"
diff --git a/testing/php8-snappy/APKBUILD b/testing/php8-snappy/APKBUILD
deleted file mode 100644
index 75b549a3f4f..00000000000
--- a/testing/php8-snappy/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Andy Postnikov <apostnikov@gmail.com>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-snappy
-_extname=snappy
-pkgver=0.2.1
-pkgrel=0
-pkgdesc="Snappy extension for PHP 8"
-url="https://github.com/kjdev/php-ext-snappy"
-arch="all"
-license="PHP-3.01"
-depends="php8-common"
-makedepends="php8-dev php8-pecl-apcu snappy-dev"
-source="php-$_extname-$pkgver.tar.gz::https://github.com/kjdev/php-ext-snappy/archive/$pkgver.tar.gz"
-builddir="$srcdir/php-ext-snappy-$pkgver"
-
-build() {
- phpize8
- ./configure \
- --prefix=/usr \
- --with-php-config=php-config8 \
- --with-snappy-includedir
- make
-}
-
-check() {
- local _modules=/usr/lib/php8/modules
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
- SKIP_ONLINE_TESTS=1 PHP_TEST_SHARED_EXTENSIONS=" \
- -d extension=$_modules/apcu.so \
- -d extension=modules/$_extname.so" TESTS=--show-diff
- php8 -d extension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir"/ install
- local confdir="$pkgdir"/etc/php8/conf.d
- install -d $confdir
- echo "extension=$_extname" > $confdir/50_$_extname.ini
-}
-
-sha512sums="51cdfe7c5d020cb954cbf555038aca8398867584a587eb838f07089612d3978a182d0bc04015608a2aaf71bf9a5b5896e5d92b56f3b2d5fe9e1116f9509acb1e php-snappy-0.2.1.tar.gz"
diff --git a/testing/php8-spx/APKBUILD b/testing/php8-spx/APKBUILD
deleted file mode 100644
index 70be793291b..00000000000
--- a/testing/php8-spx/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php8-spx
-_extname=spx
-pkgver=0.4.10
-pkgrel=0
-pkgdesc="A simple & straight-to-the-point PHP 8 profiling extension with its built-in web UI"
-url="https://github.com/NoiseByNorthwest/php-spx"
-arch="x86_64"
-license="GPL-3.0-or-later"
-depends="php8-common"
-makedepends="php8-dev zlib-dev"
-source="php-$_extname-$pkgver.tar.gz::https://github.com/NoiseByNorthwest/php-spx/archive/v$pkgver.tar.gz"
-builddir="$srcdir/php-$_extname-$pkgver"
-
-build() {
- phpize8
- ./configure --prefix=/usr --with-php-config=php-config8
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
- php8 -d extension=modules/$_extname.so --ri $_extname
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php8/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/$_extname.ini
-}
-
-sha512sums="f89effb851bc9f63e5846b4f8ab998027dfaf214b9111e185fa49dd36377c4ef3d8c98de2f51a7fffca51de7033143f77c5db22a50eb252e1b65d5ebf77a8b16 php-spx-0.4.10.tar.gz"
diff --git a/testing/php81-brotli/APKBUILD b/testing/php81-brotli/APKBUILD
deleted file mode 100644
index 85693760c60..00000000000
--- a/testing/php81-brotli/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: TBK <alpine@jjtc.eu>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=php81-brotli
-_extname=brotli
-pkgver=0.11.1
-pkgrel=0
-pkgdesc="Brotli Extension for PHP 8.1"
-url="https://github.com/kjdev/php-ext-brotli"
-arch="all"
-license="MIT"
-depends="php81-common"
-makedepends="php81-dev brotli-dev"
-checkdepends="php81-cgi"
-source="php-$_extname-$pkgver.tar.gz::https://github.com/kjdev/php-ext-brotli/archive/$pkgver.tar.gz"
-builddir="$srcdir/php-ext-brotli-$pkgver"
-
-build() {
- phpize81
- ./configure \
- --prefix=/usr \
- --with-php-config=php-config81 \
- --with-libbrotli # Use system lib
- make
-}
-
-check() {
- make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 SKIP_ONLINE_TESTS=1 test \
- TEST_PHP_CGI_EXECUTABLE=/usr/bin/php-cgi81 TESTS=--show-diff
-}
-
-package() {
- make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
- install -d $_confdir
- echo "extension=$_extname" > $_confdir/50_$_extname.ini
-}
-
-sha512sums="4d73ea67311399c08334c71c6b908d37739ca7e78670506180ff6d8288dc235fbc750b95197a993adf2c1f413a7f734681a283f6c57b6069cf145d9dfd890d4a php-brotli-0.11.1.tar.gz"
diff --git a/testing/php81-pecl-amqp/APKBUILD b/testing/php81-pecl-amqp/APKBUILD
index cb95ed3fe97..f53975c4e62 100644
--- a/testing/php81-pecl-amqp/APKBUILD
+++ b/testing/php81-pecl-amqp/APKBUILD
@@ -2,35 +2,39 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-amqp
_extname=amqp
-pkgver=1.11.0
+pkgver=2.1.2
pkgrel=0
pkgdesc="PHP 8.1 extension to communicate with any AMQP spec 0-9-1 compatible server - PECL"
url="https://pecl.php.net/package/amqp"
arch="all"
license="PHP-3.01"
-depends="php81-common"
-makedepends="php81-dev rabbitmq-c-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev rabbitmq-c-dev"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
# Tests require running AMQP server, so basic check
- php81 -d extension="$builddir"/modules/$_extname.so --ri $_extname
+ $_php -d extension="$builddir"/modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
mkdir -p $_confdir
echo "extension=$_extname" > $_confdir/40_$_extname.ini
}
sha512sums="
-0f0220fc2f1f9109640e096ab38a4bb06b2569a336b83f527d18dae2b8c21efaf383dade807ee5bb3dbf4447bc3548c15f38ac18155762fe7920ef8939bc0321 php-pecl-amqp-1.11.0.tgz
+27ccbf27e04d4008dfcabcf576e44ee6bfa88e6cf0161fe4dccc1af594d2d8ec01e7c1b16e39f6f1ce2fddbc29ccc19113f2f56182d78cf727b4bb2767fefb54 php-pecl-amqp-2.1.2.tgz
"
diff --git a/testing/php81-pecl-apcu/APKBUILD b/testing/php81-pecl-apcu/APKBUILD
index 1a2ec9e1740..f47ccc929fb 100644
--- a/testing/php81-pecl-apcu/APKBUILD
+++ b/testing/php81-pecl-apcu/APKBUILD
@@ -2,43 +2,48 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-apcu
_extname=apcu
-pkgver=5.1.21
+pkgver=5.1.23
pkgrel=0
pkgdesc="PHP 8.1 extension APC User Cache - PECL"
url="https://pecl.php.net/package/apcu"
arch="all"
license="PHP-3.01"
-depends="php81-common"
-makedepends="php81-dev"
-checkdepends="php81-pcntl"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+checkdepends="$_php-pcntl"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
-provides="php81-apcu=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php81-apcu" # for backward compatibility
+provides="$_php-apcu=$pkgver-r$pkgrel" # for backward compatibility
+replaces="$_php-apcu" # for backward compatibility
+
+install_if="php-$_extname php$_phpv"
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
- local _modules=/usr/lib/php81/modules
+ local _modules=/usr/lib/$_php/modules
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
PHP_TEST_SHARED_EXTENSIONS=" \
-d extension=$_modules/pcntl.so \
-d extension=modules/$_extname.so" TESTS=--show-diff
+ $_php -d extension="$builddir"/modules/$_extname.so --ri $_extname
}
package() {
- make INSTALL_ROOT="$pkgdir"/ install
- install -D -m644 apc.php "$pkgdir"/usr/share/php81/apcu/apc.php
+ make INSTALL_ROOT="$pkgdir" install
+ install -D -m644 apc.php "$pkgdir"/usr/share/$_php/apcu/apc.php
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
-a6ffe8349760d27cde0d86017a59a68e9639bf385e606622d807094f4e5fb305bb25b9ce00077d0856f4d223d44329f7a6314c229b62c78d8e2b085593c92bb3 php-pecl-apcu-5.1.21.tgz
+89e9f10f5d8d1a9503132e80140680be2a10d96f957f69b2f77cc1c496d15cc26dfe4c0368ebe46c72c68d1b4a794d3ddc95942b02d3ba5e8c971b09969058d8 php-pecl-apcu-5.1.23.tgz
"
diff --git a/testing/php81-pecl-ast/APKBUILD b/testing/php81-pecl-ast/APKBUILD
index cabb24c9887..d2803ecdf3e 100644
--- a/testing/php81-pecl-ast/APKBUILD
+++ b/testing/php81-pecl-ast/APKBUILD
@@ -3,20 +3,22 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-ast
_extname=ast
-pkgver=1.0.14
+pkgver=1.1.1
pkgrel=0
pkgdesc="PHP extension exposing PHP 8.1 abstract syntax tree - PECL"
url="https://pecl.php.net/package/ast"
arch="all"
license="BSD-3-Clause"
-depends="php81-common"
-makedepends="php81-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-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
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
make
}
@@ -26,11 +28,11 @@ check() {
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
-12cdb4fd864380dba0887b59986a388af49bff782cbea31b71fa0932920a328c8c1d1bda43b23f3b42645cfee38f8198bd739379fa6dc9fc60a89541b52f9336 php-pecl-ast-1.0.14.tar.gz
+a5ae79b4ad4976f2447b94ebc5d3e2d6044ade36c73695ab7f3324963c175a3288d75361e930133232191e8141009d6c0ca8cabfafa143c5dd2282102834eeab php-pecl-ast-1.1.1.tar.gz
"
diff --git a/testing/php81-pecl-brotli/APKBUILD b/testing/php81-pecl-brotli/APKBUILD
new file mode 100644
index 00000000000..9b504fa6ae3
--- /dev/null
+++ b/testing/php81-pecl-brotli/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: TBK <alpine@jjtc.eu>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-brotli
+_extname=brotli
+pkgver=0.15.0
+pkgrel=0
+pkgdesc="Brotli Extension for PHP 8.1"
+url="https://github.com/kjdev/php-ext-brotli"
+arch="all"
+license="MIT"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev $_php-pecl-apcu brotli-dev"
+checkdepends="$_php-cgi"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir/$_extname-$pkgver"
+
+provides="$_php-brotli=$pkgver-r$pkgrel" # for backward compatibility
+replaces="$_php-brotli" # for backward compatibility
+install_if="php-$_extname $_php"
+
+build() {
+ phpize$_phpv
+ ./configure \
+ --prefix=/usr \
+ --with-php-config=php-config$_phpv \
+ --with-libbrotli # Use system lib
+ make
+}
+
+check() {
+ local _modules=/usr/lib/$_php/modules
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 SKIP_ONLINE_TESTS=1 test \
+ TEST_PHP_CGI_EXECUTABLE=/usr/bin/php-cgi$_phpv \
+ PHP_TEST_SHARED_EXTENSIONS=" \
+ -d extension=$_modules/apcu.so \
+ -d extension=modules/$_extname.so" TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/50_$_extname.ini
+}
+
+sha512sums="
+0e3be424eace7ed50f67dac780fa55c0fa6da1265676cea12588d8713ec6636936379a543bde48f7b30054aeda038200a3f650259e2da589f642447125b32e6a php-pecl-brotli-0.15.0.tgz
+"
diff --git a/testing/php81-pecl-couchbase/APKBUILD b/testing/php81-pecl-couchbase/APKBUILD
index dcb3eb9b57d..6ef77aebff0 100644
--- a/testing/php81-pecl-couchbase/APKBUILD
+++ b/testing/php81-pecl-couchbase/APKBUILD
@@ -2,37 +2,38 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-couchbase
_extname=couchbase
-pkgver=3.2.2
+pkgver=4.2.0
pkgrel=0
pkgdesc="PHP 8.1 extension for Couchbase - PECL"
url="https://pecl.php.net/package/couchbase"
-arch="all"
+arch="all !riscv64 !ppc64le !s390x" # ftbfs
license="Apache-2.0"
-depends="php81-pecl-igbinary"
-makedepends="php81-dev libcouchbase-dev chrpath"
+_phpv=81
+_php=php$_phpv
+depends="$_php-pecl-igbinary"
+makedepends="$_php-dev openssl-dev>3 linux-headers cmake"
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
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
- # require couchbase and phpunit
- php81 -d extension="$builddir"/modules/$_extname.so --ri $_extname
+ # no tests shipped via PECL
+ $_php -d extension="$builddir"/modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- chrpath -d "$pkgdir"/usr/lib/php81/modules/$_extname.so
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
mkdir -p $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
-eb91d6620179c38f17310953b710e13aee3845614a55ef43e0704dcb104c1d2ea3923a0a0fe965a35c2378b8782a58f0dc973c43372a1539dcf21a6b537e4cb5 php-pecl-couchbase-3.2.2.tgz
+4e5f26d5181aad5df3162b172bda9776b2c564d5f3c0dd8aaa087091eaf3c3ebcff9044e0ccb122f34d55265f94923eb0fb37efe6a7e66c752e47ead6bde23b3 php-pecl-couchbase-4.2.0.tgz
"
diff --git a/testing/php81-pecl-csv/APKBUILD b/testing/php81-pecl-csv/APKBUILD
new file mode 100644
index 00000000000..5fe7a6e8b7e
--- /dev/null
+++ b/testing/php81-pecl-csv/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Andy Postnikov <apostnikov@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-csv
+_extname=CSV
+pkgver=0.4.2
+pkgrel=0
+pkgdesc="CSV PHP 8.1 extension - PECL"
+url="https://pecl.php.net/package/CSV"
+arch="all"
+license="PHP-3.01"
+depends="php81-common"
+makedepends="php81-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() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ php81 -dextension=modules/csv.so --ri csv
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/php81/conf.d
+ install -d $_confdir
+ echo "extension=csv" > $_confdir/csv.ini
+}
+
+sha512sums="
+43213f2df4b074631b1dcb175b5103d652d06708d1b198e3775ad9a0ac588baa27963d5ff218e67b663f8afc4dbd40574933373af44219a74278905af942d5bb php-pecl-CSV-0.4.2.tgz
+"
diff --git a/testing/php81-pecl-decimal/APKBUILD b/testing/php81-pecl-decimal/APKBUILD
index c531705b6b0..83f06f702cd 100644
--- a/testing/php81-pecl-decimal/APKBUILD
+++ b/testing/php81-pecl-decimal/APKBUILD
@@ -1,21 +1,24 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-decimal
_extname=decimal
-pkgver=1.4.0
-pkgrel=0
+pkgver=1.5.0
+pkgrel=1
pkgdesc="Correctly-rounded arbitrary precision decimal floating-point arithmetic in PHP 8.1 - PECL"
url="https://pecl.php.net/package/decimal"
arch="all"
license="MIT"
-depends="php81-common"
-makedepends="php81-dev mpdecimal-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
- fix-test.patch"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev mpdecimal-dev"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
@@ -25,12 +28,11 @@ check() {
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
-39c7044a6e2f31cd2ca006fb2fe27b547ea717312a7ad1aee7a656aa60d99cc1198e6e9dcf0b90157f3514e110645f6b0fd47ccae0411d6c837dea3b6de1c521 php-pecl-decimal-1.4.0.tgz
-7dc3ba2b75238f14cabe0125a25903c0a48ca5aed823156fe15250a012bab7684174af8138b418431e8c818eb5de519db208c6a90e0238da12046cbf29296e2d fix-test.patch
+06806cb9c5ebae3abed1d41d021be63bb6ab44878e3034c4661a13d22ffab12b9804bc9196c10bdc9416d2559719b31a7fef73e3948c1ea94d3447c6a4b6c086 php-pecl-decimal-1.5.0.tgz
"
diff --git a/testing/php81-pecl-decimal/fix-test.patch b/testing/php81-pecl-decimal/fix-test.patch
deleted file mode 100644
index ce80d8b58b9..00000000000
--- a/testing/php81-pecl-decimal/fix-test.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/tests/php8/methods/__construct.phpt
-+++ b/tests/php8/methods/__construct.phpt
-@@ -136,6 +136,8 @@
- C Decimal\Decimal::__construct() expected parameter 1 to be a string, integer, or decimal, float given
- D Decimal\Decimal::__construct() expected parameter 1 to be a string, integer, or decimal, null given
- E Decimal\Decimal::__construct(): Argument #2 ($precision) must be of type int, string given
-+
-+Deprecated: Decimal\Decimal::__construct(): Passing null to parameter #2 ($precision) of type int is deprecated in %s on line %d
- F Decimal precision out of range
- G Decimal precision out of range
- H Decimal precision out of range
diff --git a/testing/php81-pecl-ds/APKBUILD b/testing/php81-pecl-ds/APKBUILD
new file mode 100644
index 00000000000..a86a8562309
--- /dev/null
+++ b/testing/php81-pecl-ds/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-ds
+_extname=ds
+pkgver=1.5.0
+pkgrel=0
+pkgdesc="PHP 8.1 extension for efficient Data Structures - PECL"
+url="https://pecl.php.net/package/ds"
+arch="all"
+license="MIT"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+checkdepends="composer
+ $_php-curl $_php-iconv $_php-mbstring $_php-openssl $_php-phar
+ $_php-dom $_php-opcache $_php-tokenizer $_php-xml $_php-xmlwriter
+ "
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
+ php-pecl-$_extname-$pkgver-composer.json::https://github.com/php-ds/ext-ds/raw/v$pkgver/composer.json
+ php-pecl-$_extname-$pkgver-phpunit.xml::https://github.com/php-ds/ext-ds/raw/v$pkgver/phpunit.xml
+ "
+builddir="$srcdir/$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
+ make
+}
+
+check() {
+ local _testphp="$_php -d extension=$builddir/modules/$_extname.so"
+ $_testphp --ri $_extname
+ mkdir -p tests
+ cd tests
+ cp "$srcdir"/php-pecl-$_extname-$pkgver-composer.json composer.json
+ cp "$srcdir"/php-pecl-$_extname-$pkgver-phpunit.xml phpunit.xml
+ $_testphp /usr/bin/composer.phar install --prefer-dist --no-interaction
+ $_testphp vendor/bin/phpunit
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ mkdir -p $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+12c8d617c0a41df68c157a3f9304763464ab2d8d1f8ada668de53a879f78dabd08c22caa35cd893ee64a267c7bda578d6202846c3dfc237916ee326ab6f02747 php-pecl-ds-1.5.0.tgz
+eb7f2071b6b99586ecaec33f5338d730835bd152d10a56b686a092b320035506d60c0752b23e8793205822a2d1bb559f7d6fedb0de9666404dcd68818a520d17 php-pecl-ds-1.5.0-composer.json
+32fed119d6fbe0541468987cd73c6104f848e2c1616cd71b068c6d0d480a476edff24f031153d6695c4b3c0d63352c652cf61d902031e1d761a120ad8525afd0 php-pecl-ds-1.5.0-phpunit.xml
+"
diff --git a/testing/php81-pecl-event/APKBUILD b/testing/php81-pecl-event/APKBUILD
index f9b8de1607a..a68d4f81195 100644
--- a/testing/php81-pecl-event/APKBUILD
+++ b/testing/php81-pecl-event/APKBUILD
@@ -3,17 +3,16 @@
pkgname=php81-pecl-event
_php=81
_extname=event
-pkgver=3.0.7_rc1
-_pkgver=${pkgver/_rc/RC}
+pkgver=3.1.3
pkgrel=0
pkgdesc="PHP 8.1 extension that provides interface to libevent library - PECL"
url="https://pecl.php.net/package/event"
arch="all"
license="PHP-3.01"
depends="php$_php-sockets"
-makedepends="php$_php-dev libevent-dev openssl1.1-compat-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$_pkgver.tgz"
-builddir="$srcdir/$_extname-$_pkgver"
+makedepends="php$_php-dev libevent-dev openssl-dev>3"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir/$_extname-$pkgver"
build() {
phpize$_php
@@ -40,5 +39,5 @@ package() {
}
sha512sums="
-71b2f1b2057c6f427d41a0e74c719f89bdd08936410326885f236ae104be3381470fc29a25d1232b33509ec20185383b6287043787bff68e1b273b75132549be php-pecl-event-3.0.7_rc1.tgz
+d234ccaa113f6138c137adabcedf39744bf07a47e4e4f59d868a8c6e687a62120e6a0ae7760dcc494587351cca196a5810898bea426ef47ca8c999dad2bf33eb php-pecl-event-3.1.3.tgz
"
diff --git a/testing/php81-pecl-grpc/APKBUILD b/testing/php81-pecl-grpc/APKBUILD
index bc926b2b15b..f7f095dd533 100644
--- a/testing/php81-pecl-grpc/APKBUILD
+++ b/testing/php81-pecl-grpc/APKBUILD
@@ -1,35 +1,37 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-grpc
_extname=grpc
-pkgver=1.43.0
-pkgrel=1
+pkgver=1.62.0
+pkgrel=0
pkgdesc="PHP 8.1 extension provide a concrete implementation of the gRPC protocol, layered over HTTP/2."
url="https://pecl.php.net/package/grpc"
-arch="all !s390x !ppc64le !riscv64 !mips64" # build failures
+arch="all !s390x !ppc64le !riscv64" # build failures
license="Apache-2.0"
-depends="php81-common"
-makedepends="php81-dev openssl-dev linux-headers"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev openssl-dev>3 linux-headers"
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
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
# Test suite is not a part of pecl release.
- php81 -d extension=modules/$_extname.so --ri $_extname
+ $_php -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/50_$_extname.ini
}
sha512sums="
-c10b9671c32c8bef2227e2af891c79c067a1f30a2d8c67768cacc7f62ab17a4127065f6f88650cbcb6a7a3007631ed3ba6e7b17d0cf4e01e0ddad0e766987bf5 php-pecl-grpc-1.43.0.tgz
+f6dc7ae7829bce9d2650afcaa1e609090bc59d9878a7922fbfc41ec56d8cfef6d3bc14560b9f02fa4fc150a2dd6e1b493671078a6a18c0bcec57325dbd3c4c64 php-pecl-grpc-1.62.0.tgz
"
diff --git a/testing/php81-pecl-igbinary/APKBUILD b/testing/php81-pecl-igbinary/APKBUILD
index 55af2086ddd..5d2f77c8e6b 100644
--- a/testing/php81-pecl-igbinary/APKBUILD
+++ b/testing/php81-pecl-igbinary/APKBUILD
@@ -3,26 +3,30 @@
pkgname=php81-pecl-igbinary
_extname=igbinary
-pkgver=3.2.7
+pkgver=3.2.15
pkgrel=0
pkgdesc="Igbinary is a drop in replacement for the standard PHP 8.1 serializer - PECL"
url="https://pecl.php.net/package/igbinary"
arch="all"
license="BSD-3-Clause"
-depends="php81-common"
-makedepends="php81-dev php81-pecl-apcu"
-checkdepends="php81-session" # sessions needs work https://github.com/igbinary/igbinary/issues/116
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev $_php-pecl-apcu"
+checkdepends="$_php-session" # sessions needs work https://github.com/igbinary/igbinary/issues/116
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
- local _modules="/usr/lib/php81/modules"
+ local _modules="/usr/lib/$_php/modules"
# Tests require extra extensions which are not bundled
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
TESTS=--show-diff \
@@ -30,15 +34,16 @@ check() {
-d extension=$_modules/apcu.so \
-d extension=$_modules/session.so \
-d extension=modules/$_extname.so"
+ $_php -d extension="$builddir"/modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/10_$_extname.ini
}
sha512sums="
-b168e9b7aecaa9ae7760d813f2225381333b8f9a0611cc9701307202da5fefc8239dff5a4ed65faf5f165f11db79aba14e6ff942fe07191dec98cfd7eb65b21a php-pecl-igbinary-3.2.7.tgz
+1901765d302624ec0e8356fde6feabb8406122357e8ba178af6e9863e78a30f779c711785b981b8871d6c59f17bccfafe1d257a05a449935013ad8b62f7121c5 php-pecl-igbinary-3.2.15.tgz
"
diff --git a/testing/php81-pecl-imagick/APKBUILD b/testing/php81-pecl-imagick/APKBUILD
index 292dae4d82d..295d679015b 100644
--- a/testing/php81-pecl-imagick/APKBUILD
+++ b/testing/php81-pecl-imagick/APKBUILD
@@ -3,18 +3,23 @@
pkgname=php81-pecl-imagick
_extname=imagick
pkgver=3.7.0
-pkgrel=0
+pkgrel=5
pkgdesc="PHP 8.1 extension provides a wrapper to the ImageMagick library - PECL"
url="https://pecl.php.net/package/imagick"
arch="all !x86" # https://gitlab.alpinelinux.org/alpine/aports/-/issues/12537
license="PHP-3.01"
depends="php81-common imagemagick"
-checkdepends="ghostscript-fonts"
+checkdepends="ghostscript-fonts
+ imagemagick-jpeg
+ imagemagick-svg
+ "
makedepends="php81-dev imagemagick-dev"
subpackages="$pkgname-dev"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
phpize81
./configure --prefix=/usr --with-php-config=php-config81
@@ -24,6 +29,7 @@ build() {
check() {
php81 -dextension=modules/$_extname.so --ri $_extname
+ rm -f tests/316_Imagick_getImageKurtosis.phpt
# see https://gitlab.alpinelinux.org/alpine/aports/-/issues/12537
[ "$CARCH" = x86 ] && rm -f tests/166_Imagick_waveImage_basic.phpt
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
diff --git a/testing/php81-pecl-immutable_cache/APKBUILD b/testing/php81-pecl-immutable_cache/APKBUILD
new file mode 100644
index 00000000000..f884055b782
--- /dev/null
+++ b/testing/php81-pecl-immutable_cache/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Andy Postnikov <apostnikov@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+
+pkgname=php81-pecl-immutable_cache
+_extname=immutable_cache
+pkgver=6.1.0
+pkgrel=0
+pkgdesc="PHP 8.1 extension shared memory cache of immutable values - PECL"
+url="https://pecl.php.net/package/immutable_cache"
+arch="all"
+license="PHP-3.01"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-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() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ $_php -dextension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+7e3c8cc0bd5f7bbb94adf676d598cc0258d2f105cb56aeb355cb94c955d10d74520f6444f8123d9a7c579663e6e3510f0260b3450fa83d283a30972cce119aff php-pecl-immutable_cache-6.1.0.tgz
+"
diff --git a/testing/php81-pecl-jsmin/APKBUILD b/testing/php81-pecl-jsmin/APKBUILD
new file mode 100644
index 00000000000..060afad227b
--- /dev/null
+++ b/testing/php81-pecl-jsmin/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-jsmin
+_extname=jsmin
+pkgver=3.0.0
+pkgrel=0
+_jqver=2.1.3
+pkgdesc="PHP 8.1 extension for minifying JavaScript - PECL"
+url="https://pecl.php.net/package/jsmin"
+arch="all !ppc64le" # test fails on builder
+license="PHP-3.01"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
+ jquery-$_jqver.js::https://github.com/sqmk/pecl-jsmin/raw/v$pkgver/tests/data/jquery-$_jqver.js
+ fix-php8.patch
+ fix-tests.patch
+ "
+builddir="$srcdir/$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ mkdir -p tests/data
+ cp "$srcdir"/jquery-$_jqver.js tests/data/
+
+ case "$CARCH" in
+ aarch64|x86_64) rm tests/call-multiple-times.phpt ;;
+ esac
+ $_php -dextension=modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS='--show-diff '
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+a465ae024a49bb8ac20463efc6b2546021806c2c43053f42c7ebfea4924b9b647b6e7c0c673102e12ecd8b693666441dc07203edef216eee958fa62f73056ea6 php-pecl-jsmin-3.0.0.tgz
+b8eb1a740c63feaab8ac24d87f39f4cfe263694c972f4978b9f0e3092f912a722596fd094dd637d22f03816617e13210bf11fad9a545dbb0423dc821c827081e jquery-2.1.3.js
+72f4ea4aad457d1a557e05ff8457a689ea75419e414b0893c2bdf5d7216d70b7c26a4993e3c9fa97de3409d080b3cf2a5bd2f0c4b050854c02f08ac592da1f85 fix-php8.patch
+e44a2615d98d786e0188d3880b41f267dab2fa215fb17cd37b17f8cc499bee7dd9e4fe1def4707dbd6769fa40ba2dbf7895ba3544db427a7d851f69a515fa83c fix-tests.patch
+"
diff --git a/testing/php8-pecl-jsmin/fix-php8.patch b/testing/php81-pecl-jsmin/fix-php8.patch
index c8be3069563..c8be3069563 100644
--- a/testing/php8-pecl-jsmin/fix-php8.patch
+++ b/testing/php81-pecl-jsmin/fix-php8.patch
diff --git a/testing/php7-pecl-jsmin/fix-tests.patch b/testing/php81-pecl-jsmin/fix-tests.patch
index d7b9c636af6..d7b9c636af6 100644
--- a/testing/php7-pecl-jsmin/fix-tests.patch
+++ b/testing/php81-pecl-jsmin/fix-tests.patch
diff --git a/testing/php81-pecl-luasandbox/APKBUILD b/testing/php81-pecl-luasandbox/APKBUILD
new file mode 100644
index 00000000000..a259f496131
--- /dev/null
+++ b/testing/php81-pecl-luasandbox/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Andy Postnikov <apostnikov@gmail.com>
+# Contributor: MPThLee <mpthlee@gmail.com>
+# Maintainer: MPThLee <mpthlee@gmail.com>
+
+pkgname=php81-pecl-luasandbox
+_extname=LuaSandbox
+pkgver=4.1.2
+pkgrel=0
+pkgdesc="LuaSandbox PHP 8.1 extension - PECL"
+url="https://pecl.php.net/package/LuaSandbox"
+arch="all"
+license="MIT"
+_phpv=81
+_php=php$_phpv
+_luaver="5.1"
+depends="$_php-common"
+makedepends="$_php-dev lua$_luaver-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() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ $_php -dextension=modules/luasandbox.so --ri luasandbox
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=luasandbox" > $_confdir/luasandbox.ini
+}
+
+sha512sums="
+c1ae280d4fdb97f0bb50b3fad464d9178494f54065be901f6b0a5de5bfe7742c6ef054c94cbcec77a1d153b07bbb88fa0ed6d07b0279df45bcd5d6457fdc470d php-pecl-LuaSandbox-4.1.2.tgz
+"
diff --git a/testing/php81-pecl-mailparse/APKBUILD b/testing/php81-pecl-mailparse/APKBUILD
new file mode 100644
index 00000000000..d977747a1bf
--- /dev/null
+++ b/testing/php81-pecl-mailparse/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-mailparse
+_extname=mailparse
+pkgver=3.1.6
+pkgrel=0
+pkgdesc="PHP 8.1 extension for parsing and working with email messages - PECL"
+url="https://pecl.php.net/package/mailparse"
+arch="all"
+license="PHP-3.01"
+depends="php81-mbstring"
+makedepends="php81-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() {
+ # Tests require mbstring extension which is not bundled
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test PHP_TEST_SHARED_EXTENSIONS=" \
+ -d extension=/usr/lib/php81/modules/mbstring.so \
+ -d extension=modules/$_extname.so" TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/php81/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/60_$_extname.ini
+}
+
+sha512sums="
+4bb629c2fc2aa7e9ab74f004222b6cfca13a7f0c3cb5152b67423bea4fff8dca5b4442ac2ddfea1127dfc893141eedae3e22b3f05f1b2368c4a4d0267a090388 php-pecl-mailparse-3.1.6.tgz
+"
diff --git a/testing/php81-pecl-maxminddb/APKBUILD b/testing/php81-pecl-maxminddb/APKBUILD
index a208ad9301a..91f9952f645 100644
--- a/testing/php81-pecl-maxminddb/APKBUILD
+++ b/testing/php81-pecl-maxminddb/APKBUILD
@@ -2,20 +2,22 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-maxminddb
_extname=maxminddb
-pkgver=1.11.0
+pkgver=1.11.1
pkgrel=0
pkgdesc="PHP 8.1 MaxMind DB Reader extension - PECL"
url="https://pecl.php.net/package/maxminddb"
arch="all"
license="Apache-2.0"
-depends="php81-bcmath"
-makedepends="php81-dev libmaxminddb-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-bcmath"
+makedepends="$_php-dev libmaxminddb-dev"
source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver/ext"
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=/usr/bin/php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
make
}
@@ -26,11 +28,11 @@ check() {
package() {
make INSTALL_ROOT="$pkgdir" install
- local confdir="$pkgdir"/etc/php81/conf.d
+ local confdir="$pkgdir"/etc/$_php/conf.d
install -d $confdir
echo "extension=maxminddb" > $confdir/maxminddb.ini
}
sha512sums="
-9ae2b168519d67803026862a035cf7ab392f4276a662fb674b4f3b9c2c6e28616b609b9121e0af46a599e16895f59282c4ff4db47ac22134bd5bbdec4aec950f php-pecl-maxminddb-1.11.0.tar.gz
+12193a30928308e07d8abe352e5d823ee73029179cd20ee8552ea89ca597107319f6fff38169d870b54d40ec984dcfd619aeef4e2db3091b6d2706f4d7930912 php-pecl-maxminddb-1.11.1.tar.gz
"
diff --git a/testing/php81-pecl-mcrypt/APKBUILD b/testing/php81-pecl-mcrypt/APKBUILD
new file mode 100644
index 00000000000..6c8d070252a
--- /dev/null
+++ b/testing/php81-pecl-mcrypt/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: TBK <alpine@jjtc.eu>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-mcrypt
+_extname=mcrypt
+pkgver=1.0.7
+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="
+1b579af868a2db073520437ad6a93513c2591bc865d982dc7926591e712614995148d13bacc1b4b207ddecda4bad219b67010a39ea17e1ec6e180d4fd69182ff php-pecl-mcrypt-1.0.7.tgz
+"
diff --git a/testing/php81-pecl-memcache/APKBUILD b/testing/php81-pecl-memcache/APKBUILD
index 6d5df4b1718..8e585f5d4c6 100644
--- a/testing/php81-pecl-memcache/APKBUILD
+++ b/testing/php81-pecl-memcache/APKBUILD
@@ -1,35 +1,39 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-memcache
_extname=memcache
-pkgver=8.0
-pkgrel=0
+pkgver=8.2
+pkgrel=1
pkgdesc="PHP 8.1 memcache extension, provides handy OO and procedural interfaces, can be used as session handler - PECL"
url="https://pecl.php.net/package/memcache"
arch="all"
license="PHP-3.0"
-depends="php81-session"
-makedepends="php81-dev"
-source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
- version-fix.patch" # https://github.com/websupport-sk/pecl-memcache/pull/81
+_phpv=81
+_php=php$_phpv
+depends="$_php-session"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
# Tests require 3 memcached servers, basic check, see tests/memcache.sh
- php81 -dextension=modules/$_extname.so --ri $_extname
+ $_php -dextension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
-sha512sums="d5eea13b85d8d35ef6aab8c5699bdcc4707cf8debf4052cbbeac26e7e2360a4d3d4e55e8bd0b40cf19fe014ba1fc42d5417deabbe22a199f0c6aa98b67d132d4 php-pecl-memcache-8.0.tgz
-72ce38df52e1a444a1d9b404c12ef9e7fc1dce2914838879d2bf4a42215a5e1e558f9a6bc21fa6feae6f50fb7843259119baef23925e0ae9834d67b8533f3cf2 version-fix.patch"
+sha512sums="
+937f6bf33cd9202751585a2817c658bb2d361b0cef013cb6ac17ee147e07a1ca7860dc73902a607a147cd7ecfaf50cc0f3cb6758338afd29e688bc85ca59a2ba php-pecl-memcache-8.2.tgz
+"
diff --git a/testing/php81-pecl-memcache/version-fix.patch b/testing/php81-pecl-memcache/version-fix.patch
deleted file mode 100644
index e9ceba43076..00000000000
--- a/testing/php81-pecl-memcache/version-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/src/php_memcache.h.a
-+++ b/src/php_memcache.h
-@@ -67,7 +67,7 @@
- PHP_FUNCTION(memcache_flush);
- PHP_FUNCTION(memcache_set_sasl_auth_data);
-
--#define PHP_MEMCACHE_VERSION "4.0.5.2"
-+#define PHP_MEMCACHE_VERSION "8.0"
-
- #define MMC_DEFAULT_TIMEOUT 1 /* seconds */
- #define MMC_DEFAULT_RETRY 15 /* retry failed server after x seconds */
---- a/src/memcache.c.a
-+++ b/src/memcache.c
-@@ -780,7 +780,7 @@
- php_info_print_table_start();
- php_info_print_table_header(2, "memcache support", "enabled");
- php_info_print_table_row(2, "Version", PHP_MEMCACHE_VERSION);
-- php_info_print_table_row(2, "Revision", "$Revision$");
-+ php_info_print_table_row(2, "Revision", "b:NON_BLOCKING_IO_php8 v:8.0 c:36d7181 d:2020-12-06");
- php_info_print_table_end();
-
- DISPLAY_INI_ENTRIES();
diff --git a/testing/php81-pecl-memcached/APKBUILD b/testing/php81-pecl-memcached/APKBUILD
index 737272f7804..32ccc4c8ca5 100644
--- a/testing/php81-pecl-memcached/APKBUILD
+++ b/testing/php81-pecl-memcached/APKBUILD
@@ -2,42 +2,47 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-memcached
_extname=memcached
-pkgver=3.1.5
-pkgrel=1
+pkgver=3.2.0
+pkgrel=3
pkgdesc="PHP 8.1 extension for interfacing with memcached via libmemcached library - PECL"
url="https://pecl.php.net/package/memcached"
-arch="all"
+arch="all !x86" # php81-pecl-msgpack
license="PHP-3.01"
-depends="php81-session php81-pecl-igbinary"
-makedepends="php81-dev zlib-dev libmemcached-dev cyrus-sasl-dev"
-# use PECL source when next release will be tagged https://github.com/php-memcached-dev/php-memcached/issues/477
-_commit="19a02bb5bfaeb520b857a2d64172f7d2a9615fb3"
-source="php-pecl-$_extname-$_commit.tar.gz::https://github.com/php-memcached-dev/php-memcached/archive/$_commit.tar.gz"
-builddir="$srcdir/php-$_extname-$_commit"
-#source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
-#builddir="$srcdir/$_extname-$pkgver"
+_phpv=81
+_php=php$_phpv
+depends="$_php-session $_php-pecl-igbinary $_php-pecl-msgpack"
+makedepends="$_php-dev zlib-dev libmemcached-dev cyrus-sasl-dev libevent-dev"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir/$_extname-$pkgver"
+
+install_if="php-$_extname php$_phpv"
build() {
- phpize81
+ phpize$_phpv
./configure \
--prefix=/usr \
- --with-php-config=php-config81 \
+ --with-php-config=php-config$_phpv \
+ --enable-memcached-json \
--enable-memcached-igbinary \
- --disable-memcached-sasl
+ --enable-memcached-msgpack \
+ --enable-memcached-protocol \
+ --enable-memcached-sasl
make
}
check() {
# Tests require memcached server, basic check
- php81 -d extension="$builddir"/modules/$_extname.so --ri $_extname
+ $_php -d extension="$builddir"/modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
mkdir -p $_confdir
echo "extension=$_extname" > $_confdir/20_$_extname.ini
}
-sha512sums="477b3db594420c0fb6fe23215f9aba574647f7a82efa811d2082aba0a9c16d3c2b6870bf64081a035510c25e92a92e8dc17b75d7c02ad2fb41694306f600b8fb php-pecl-memcached-19a02bb5bfaeb520b857a2d64172f7d2a9615fb3.tar.gz"
+sha512sums="
+ece5759a9d6d52afd46beb0821811e5d4830e75ad8564af395e2107fd349e271c6e6cf20eeacd9ad15ee2e99ccf0118ccc83c5810e2f3fa7c61f1984b0b26514 php-pecl-memcached-3.2.0.tgz
+"
diff --git a/testing/php81-pecl-mongodb/APKBUILD b/testing/php81-pecl-mongodb/APKBUILD
index 96b8046e923..a4cb09478c6 100644
--- a/testing/php81-pecl-mongodb/APKBUILD
+++ b/testing/php81-pecl-mongodb/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-mongodb
_extname=mongodb
-pkgver=1.12.0
-pkgrel=1
+pkgver=1.18.1
+pkgrel=0
pkgdesc="PHP 8.1 MongoDB driver - PECL"
url="https://pecl.php.net/package/mongodb"
arch="all"
license="Apache-2.0"
depends="php81-common"
-makedepends="cyrus-sasl-dev icu-dev openssl1.1-compat-dev php81-dev snappy-dev"
+makedepends="cyrus-sasl-dev icu-dev openssl-dev>3 php81-dev snappy-dev zstd-dev"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir"/$_extname-$pkgver
provides="php81-mongodb=$pkgver-r$pkgrel" # for backward compatibility
@@ -36,5 +36,5 @@ package() {
}
sha512sums="
-77a552a69e8abf7b27cfe226e2af1a3674a32b04e1436023085b002b4d48e4e6f7e743c48f2db2cc44e59f83a8a8ca6180bdfb6df09b4d8e6b8e43fa538fc3a5 php-pecl-mongodb-1.12.0.tgz
+3224ea4efac1063bea58c55c2defbb149982b88387917a1301e08b65c2bbb070d962a17bc84d187abeed8950a52e5e5d24e5517524d8bf0892ecd3f6c9f815f0 php-pecl-mongodb-1.18.1.tgz
"
diff --git a/testing/php81-pecl-msgpack/APKBUILD b/testing/php81-pecl-msgpack/APKBUILD
index 5706f9f892a..6002c26a24f 100644
--- a/testing/php81-pecl-msgpack/APKBUILD
+++ b/testing/php81-pecl-msgpack/APKBUILD
@@ -2,24 +2,27 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-msgpack
_extname=msgpack
-pkgver=2.2.0_rc1
-_pkgver=${pkgver/_rc/RC}
+pkgver=2.2.0
pkgrel=0
pkgdesc="PHP 8.1 extension provides API for communicating with MessagePack serialization - PECL"
url="https://pecl.php.net/package/msgpack"
-arch="all"
+arch="all !x86"
license="BSD-3-Clause"
-depends="php81-session php81-sockets"
-makedepends="php81-dev"
-checkdepends="php81-pecl-apcu"
-source="php-pecl-$_extname-$_pkgver.tgz::https://pecl.php.net/get/$_extname-$_pkgver.tgz msgpack-162.patch"
-builddir="$srcdir"/$_extname-$_pkgver
+_phpv=81
+_php=php$_phpv
+depends="$_php-session $_php-sockets"
+makedepends="$_php-dev"
+checkdepends="$_php-pecl-apcu"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir"/$_extname-$pkgver
provides="php-msgpack=$pkgver-r$pkgrel" # for backward compatibility
replaces="php-msgpack" # for backward compatibility
+install_if="php-$_extname php$_phpv"
+
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
@@ -27,7 +30,7 @@ check() {
rm -f tests/034.phpt # XFAIL https://github.com/msgpack/msgpack-php/issues/136
rm -f tests/035.phpt # fails on ppc64le as of slow environment https://github.com/msgpack/msgpack-php/issues/123
# Tests require session and sockets extensions which are not bundled
- local _depsdir=/usr/lib/php81/modules
+ local _depsdir=/usr/lib/$_php/modules
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test PHP_TEST_SHARED_EXTENSIONS="
-d extension=$_depsdir/apcu.so \
-d extension=$_depsdir/session.so \
@@ -37,12 +40,11 @@ check() {
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
- echo "extension=$_extname" > $_confdir/50_$_extname.ini
+ echo "extension=$_extname" > $_confdir/10_$_extname.ini
}
sha512sums="
-4ddb9b6e9f4d9255d49c10e03a9ad4b37cf869f30b5e3c333518314bdbdfa8d4d20996a24954da19cba6352e76e02488b813fe6aa107c8fe390d6ca85d625096 php-pecl-msgpack-2.2.0RC1.tgz
-58521a1bd0e6189e627cdb6d1a337fd5565fe6c3f9032375e8883332467866e36b3bd4f84b267cd561a988d6f44dd33de8f562561f05ce6fd5d3371af243ba4d msgpack-162.patch
+91cb45e79b78624938ddabce39327a093d668a875fad6e2ce55058e54a742a3a35ea58069446399425816613ebdf5fc503222555b9296a22879d2b7eb475b8c9 php-pecl-msgpack-2.2.0.tgz
"
diff --git a/testing/php81-pecl-msgpack/msgpack-162.patch b/testing/php81-pecl-msgpack/msgpack-162.patch
deleted file mode 100644
index 5eef192e9a7..00000000000
--- a/testing/php81-pecl-msgpack/msgpack-162.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-diff --git a/config.m4 b/config.m4
-index 5a3fe1a..6178d4e 100644
---- a/config.m4
-+++ b/config.m4
-@@ -5,6 +5,15 @@ Make sure that the comment is aligned:
- [ --with-msgpack Include msgpack support])
-
- if test "$PHP_MSGPACK" != "no"; then
-+ AC_MSG_CHECKING([for APC/APCU includes])
-+ if test -f "$phpincludedir/ext/apcu/apc_serializer.h"; then
-+ apc_inc_path="$phpincludedir"
-+ AC_MSG_RESULT([APCU in $apc_inc_path])
-+ AC_DEFINE(HAVE_APCU_SUPPORT,1,[Whether to enable apcu support])
-+ else
-+ AC_MSG_RESULT([not found])
-+ fi
-+
- PHP_NEW_EXTENSION(msgpack, msgpack.c msgpack_pack.c msgpack_unpack.c msgpack_class.c msgpack_convert.c, $ext_shared)
-
- ifdef([PHP_INSTALL_HEADERS],
-diff --git a/msgpack.c b/msgpack.c
-index bc01848..1d332b5 100644
---- a/msgpack.c
-+++ b/msgpack.c
-@@ -13,6 +13,10 @@
- #include "ext/session/php_session.h" /* for php_session_register_serializer */
- #endif
-
-+#if defined(HAVE_APCU_SUPPORT)
-+#include "ext/apcu/apc_serializer.h"
-+#endif /* HAVE_APCU_SUPPORT */
-+
- #include "php_msgpack.h"
- #include "msgpack_pack.h"
- #include "msgpack_unpack.h"
-@@ -54,6 +58,12 @@ PHP_INI_END()
- PS_SERIALIZER_FUNCS(msgpack);
- #endif
-
-+#if defined(HAVE_APCU_SUPPORT)
-+/** Apc serializer function prototypes */
-+static int APC_SERIALIZER_NAME(msgpack) (APC_SERIALIZER_ARGS);
-+static int APC_UNSERIALIZER_NAME(msgpack) (APC_UNSERIALIZER_ARGS);
-+#endif
-+
- static zend_function_entry msgpack_functions[] = {
- ZEND_FE(msgpack_serialize, arginfo_msgpack_serialize)
- ZEND_FE(msgpack_unserialize, arginfo_msgpack_unserialize)
-@@ -88,6 +98,13 @@ static ZEND_MINIT_FUNCTION(msgpack) /* {{{ */ {
- php_session_register_serializer("msgpack", PS_SERIALIZER_ENCODE_NAME(msgpack), PS_SERIALIZER_DECODE_NAME(msgpack));
- #endif
-
-+#if defined(HAVE_APCU_SUPPORT)
-+ apc_register_serializer("msgpack",
-+ APC_SERIALIZER_NAME(msgpack),
-+ APC_UNSERIALIZER_NAME(msgpack),
-+ NULL);
-+#endif
-+
- msgpack_init_class();
-
- REGISTER_LONG_CONSTANT("MESSAGEPACK_OPT_PHPONLY",
-@@ -109,6 +126,11 @@ static ZEND_MINFO_FUNCTION(msgpack) /* {{{ */ {
- php_info_print_table_row(2, "MessagePack Support", "enabled");
- #if HAVE_PHP_SESSION
- php_info_print_table_row(2, "Session Support", "enabled" );
-+#endif
-+#if defined(HAVE_APCU_SUPPORT)
-+ php_info_print_table_row(2, "MessagePack APCu Serializer ABI", APC_SERIALIZER_ABI);
-+#else
-+ php_info_print_table_row(2, "MessagePack APCu Serializer ABI", "no");
- #endif
- php_info_print_table_row(2, "extension Version", PHP_MSGPACK_VERSION);
- php_info_print_table_row(2, "header Version", MSGPACK_VERSION);
-@@ -300,6 +322,30 @@ static ZEND_FUNCTION(msgpack_unserialize) /* {{{ */ {
- }
- /* }}} */
-
-+#if defined(HAVE_APCU_SUPPORT)
-+static int APC_SERIALIZER_NAME(msgpack) ( APC_SERIALIZER_ARGS ) /* {{{ */ {
-+ smart_str res = {0};
-+ php_msgpack_serialize(&res, (zval *) value);
-+
-+ if (res.s) {
-+ smart_str_0(&res);
-+ *buf = (unsigned char *) estrndup(ZSTR_VAL(res.s), ZSTR_LEN(res.s));
-+ *buf_len = ZSTR_LEN(res.s);
-+ return 1;
-+ }
-+ return 0;
-+}
-+/* }}} */
-+
-+static int APC_UNSERIALIZER_NAME(msgpack) ( APC_UNSERIALIZER_ARGS ) /* {{{ */ {
-+ if (buf_len > 0 && php_msgpack_unserialize(value, buf, buf_len) == SUCCESS) {
-+ return 1;
-+ }
-+ return 0;
-+}
-+/* }}} */
-+#endif
-+
- /*
- * Local variables:
- * tab-width: 4
-diff --git a/tests/029.phpt b/tests/029.phpt
-index a7e3887..45eb732 100644
---- a/tests/029.phpt
-+++ b/tests/029.phpt
-@@ -44,6 +44,7 @@ msgpack
-
- MessagePack Support => enabled
- Session Support => enabled
-+MessagePack APCu Serializer ABI => %s
- extension Version => %s
- header Version => %s
-
-diff --git a/tests/apcu.phpt b/tests/apcu.phpt
-new file mode 100644
-index 0000000..7f1c554
---- /dev/null
-+++ b/tests/apcu.phpt
-@@ -0,0 +1,63 @@
-+--TEST--
-+APCu serialization
-+--INI--
-+apc.enabled=1
-+apc.enable_cli=1
-+apc.serializer=msgpack
-+--SKIPIF--
-+<?php
-+if (!extension_loaded("msgpack")) print "skip";
-+if (!extension_loaded("apcu")) {
-+ echo "skip needs APCu enabled";
-+}
-+?>
-+--FILE--
-+<?php
-+echo ini_get('apc.serializer'), "\n";
-+
-+apcu_store('foo', 100);
-+var_dump(apcu_fetch('foo'));
-+
-+$foo = 'hello world';
-+
-+apcu_store('foo', $foo);
-+var_dump(apcu_fetch('foo'));
-+
-+apcu_store('foo\x00bar', $foo);
-+var_dump(apcu_fetch('foo\x00bar'));
-+
-+apcu_store('foo', ['foo' => $foo]);
-+var_dump(apcu_fetch('foo'));
-+
-+class Foo {
-+ public $int = 10;
-+ protected $array = [];
-+ private $string = 'foo';
-+}
-+
-+$a = new Foo;
-+apcu_store('foo', $a);
-+unset($a);
-+var_dump(apcu_fetch('foo'));
-+
-+?>
-+===DONE===
-+--EXPECT--
-+msgpack
-+int(100)
-+string(11) "hello world"
-+string(11) "hello world"
-+array(1) {
-+ ["foo"]=>
-+ string(11) "hello world"
-+}
-+object(Foo)#1 (3) {
-+ ["int"]=>
-+ int(10)
-+ ["array":protected]=>
-+ array(0) {
-+ }
-+ ["string":"Foo":private]=>
-+ string(3) "foo"
-+}
-+===DONE===
diff --git a/testing/php81-pecl-oauth/APKBUILD b/testing/php81-pecl-oauth/APKBUILD
new file mode 100644
index 00000000000..dc360ab7b30
--- /dev/null
+++ b/testing/php81-pecl-oauth/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-oauth
+_extname=oauth
+pkgver=2.0.7
+pkgrel=0
+pkgdesc="PHP 8.1 extension, OAuth is an authorization protocol built on top of HTTP - PECL"
+url="https://pecl.php.net/package/oauth"
+arch="all"
+license="BSD-3-Clause"
+depends="php81-common"
+makedepends="php81-dev curl-dev"
+checkdepends="php81-openssl php81-pcntl php81-posix"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
+ pcre.patch"
+builddir="$srcdir/$_extname-$pkgver"
+
+build() {
+ phpize81
+ ./configure --prefix=/usr --with-php-config=php-config81
+ make
+}
+
+check() {
+ local _modules="/usr/lib/php81/modules"
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
+ PHP_TEST_SHARED_EXTENSIONS=" \
+ -d extension=$_modules/openssl.so \
+ -d extension=$_modules/pcntl.so \
+ -d extension=$_modules/posix.so \
+ -d extension=modules/$_extname.so" TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/php81/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/60_$_extname.ini
+}
+
+sha512sums="261bbe6d1c4299f44ce40030b3959e26f2535c70d01b7a4e870d14c84b0a01e68484e61907554d720667fa08a2ec00b7d43cf2f523800c832f02b093e7b6534a php-pecl-oauth-2.0.7.tgz
+68d636032d2f3cb2822ea3121a80256b87a04cc5998c4775174366c6a3392dfe3abc00c84cc50aca5745a32ddd2246af129fe5aa17cc415652c52214a84feef9 pcre.patch"
diff --git a/testing/php81-pecl-oauth/pcre.patch b/testing/php81-pecl-oauth/pcre.patch
new file mode 100644
index 00000000000..7a47b989d37
--- /dev/null
+++ b/testing/php81-pecl-oauth/pcre.patch
@@ -0,0 +1,13 @@
+diff --git a/config.m4 b/config.m4
+index e05ed68..48e2608 100644
+--- a/config.m4
++++ b/config.m4
+@@ -14,8 +14,6 @@ if test "$PHP_OAUTH" != "no"; then
+ PHP_NEW_EXTENSION(oauth, oauth.c provider.c, $ext_shared)
+ CFLAGS="$CFLAGS -Wall -g"
+
+- AC_CHECK_HEADER(pcre.h, , [AC_MSG_ERROR([Couldn't find pcre.h, try installing the libpcre development/headers package])])
+-
+ AS_IF([test "x$with_curl" != "xno"],
+ [
+ AC_MSG_CHECKING(for cURL in default path)
diff --git a/testing/php81-pecl-opentelemetry/APKBUILD b/testing/php81-pecl-opentelemetry/APKBUILD
new file mode 100644
index 00000000000..d244c94d7fc
--- /dev/null
+++ b/testing/php81-pecl-opentelemetry/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-opentelemetry
+_extname=opentelemetry
+pkgver=1.0.2
+_pkgver=${pkgver/_/}
+pkgrel=0
+pkgdesc="PHP 8.1 extension for OpenTelemetry auto-instrumentation support - PECL"
+url="https://pecl.php.net/package/opentelemetry"
+arch="all"
+license="Apache-2.0"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-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() {
+ $_php -d extension="$builddir"/modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ mkdir -p $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+98f3b9ccd8296bcab79af3f1554abc6e60d89aa9fac80775496a09e7a85eae7c8be44bcfa9a35a91157675b58c02dbd1fbdfc55ab96b05852d33232b8aa44e81 php-pecl-opentelemetry-1.0.2.tgz
+"
diff --git a/testing/php81-pecl-protobuf/APKBUILD b/testing/php81-pecl-protobuf/APKBUILD
index 5e5ff4160de..0438ecebaa2 100644
--- a/testing/php81-pecl-protobuf/APKBUILD
+++ b/testing/php81-pecl-protobuf/APKBUILD
@@ -2,35 +2,37 @@
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=php81-pecl-protobuf
_extname=protobuf
-pkgver=3.19.3
+pkgver=4.26.0
pkgrel=0
pkgdesc="PHP 8.1 extension: Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data - PECL"
url="https://pecl.php.net/package/protobuf"
arch="all"
license="BSD-3-Clause"
-depends="php81-common"
-makedepends="php81-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-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
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
# Test suite is not a part of pecl release.
- php81 -d extension=modules/$_extname.so --ri $_extname
+ $_php -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
-af98ebcd80b8bdff187263517674022f6430808d57e72a7cf2880315254552e82f51b085bc9c4dd7bfc76943d9c1fa04816951fa0711d7cbce6e322727ca8fd1 php-pecl-protobuf-3.19.3.tgz
+7e5cff2b6d2c50b0ca4fe7282bf19fbba3b66071b1e8565798cd8f024ca04f1e5174a1764db7dee07c65838551464ff9c6fa74178d4b2eda7fc66c2529540ec8 php-pecl-protobuf-4.26.0.tgz
"
diff --git a/testing/php81-pecl-rdkafka/APKBUILD b/testing/php81-pecl-rdkafka/APKBUILD
index 416da4ab0ef..ed7a31e9b3a 100644
--- a/testing/php81-pecl-rdkafka/APKBUILD
+++ b/testing/php81-pecl-rdkafka/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-rdkafka
_extname=rdkafka
-pkgver=6.0.0
-pkgrel=0
+pkgver=6.0.3
+pkgrel=2
pkgdesc="A librdkafka bindings for PHP 8.1 providing a working client for Kafka - PECL"
url="https://pecl.php.net/package/rdkafka"
arch="all"
@@ -13,6 +13,8 @@ makedepends="php81-dev file librdkafka-dev"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
phpize81
./configure --prefix=/usr --with-php-config=/usr/bin/php-config81
@@ -32,5 +34,5 @@ package() {
}
sha512sums="
-f174841dc6021a1bcba0be09af13313bbe8ae25a0f99291c4783c9506f2fba0034af5b5a5b97e2303d4ee4ae3b9c37515867c066f4da8bf6d33a1e17c12373df php-pecl-rdkafka-6.0.0.tgz
+0a40cd24e68360f98c2ad941acae2ced55c13ebe6398274c7c127df18fa0181acb73be32d8eba4b0af3016ab7aead3cda516171ac388b10cd5d70fa3b22ed90d php-pecl-rdkafka-6.0.3.tgz
"
diff --git a/testing/php81-pecl-redis/APKBUILD b/testing/php81-pecl-redis/APKBUILD
index 04b3f56af23..452c511cc38 100644
--- a/testing/php81-pecl-redis/APKBUILD
+++ b/testing/php81-pecl-redis/APKBUILD
@@ -2,43 +2,48 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-redis
_extname=redis
-pkgver=5.3.5
+pkgver=6.0.2
_pkgver=${pkgver/_rc/RC}
pkgrel=0
pkgdesc="PHP 8.1 extension for interfacing with Redis - PECL"
url="https://pecl.php.net/package/redis"
-arch="all"
+arch="all !x86" # php81-pecl-msgpack
license="PHP-3.01"
-depends="php81-pecl-igbinary php81-session"
-makedepends="php81-dev lz4-dev zstd-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-pecl-igbinary $_php-pecl-msgpack $_php-session"
+makedepends="$_php-dev lz4-dev zstd-dev"
source="php-pecl-$_extname-$_pkgver.tgz::https://pecl.php.net/get/$_extname-$_pkgver.tgz"
builddir="$srcdir/$_extname-$_pkgver"
-provides="php81-redis=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php81-redis" # for backward compatibility
+provides="$_php-redis=$pkgver-r$pkgrel" # for backward compatibility
+replaces="$_php-redis" # for backward compatibility
+
+install_if="php-$_extname php$_phpv"
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81 \
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv \
--enable-redis-igbinary \
--enable-redis-lz4 --with-liblz4 \
--enable-redis-lzf \
+ --enable-redis-msgpack \
--enable-redis-zstd
make
}
check() {
# Need running redis server
- php81 -d extension=modules/$_extname.so --ri $_extname
+ $_php -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
mkdir -p $_confdir
echo "extension=$_extname" > $_confdir/20_$_extname.ini
}
sha512sums="
-326dc09f9413ade75f1a00f1bd09b28acf8a4b55bc81fe4bf1f84d3071e6d80d5904eb0726744392a1dff3ae52c626b81def6660d8450a61166a86496af74143 php-pecl-redis-5.3.5.tgz
+1918d15433d1b4d782a9fb0364f6dfeed8d9e6c2ae70c34e235be5f890992c73a40ef19842e0aabb181da86dd2cde28b9aebab8698b387738321298a2ab94aa6 php-pecl-redis-6.0.2.tgz
"
diff --git a/testing/php81-pecl-smbclient/APKBUILD b/testing/php81-pecl-smbclient/APKBUILD
new file mode 100644
index 00000000000..dfe3155a51c
--- /dev/null
+++ b/testing/php81-pecl-smbclient/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Andy Postnikov <apostnikov@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+
+pkgname=php81-pecl-smbclient
+_extname=smbclient
+pkgver=1.1.1
+pkgrel=1
+pkgdesc="PHP 8.1 extension that uses Samba's libsmbclient library to provide Samba related functions and 'smb' streams to PHP programs."
+url="https://pecl.php.net/package/smbclient"
+arch="all"
+license="BSD-2-Clause"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev samba-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() {
+ # Test suite require smb to run.
+ $_php -d extension=modules/$_extname.so --ri smbclient
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+17df088cacb80c378dec38fd6c6b8e83e1f6d8787e96e5eccac72792f8125cadda205568466fccd21900d1854bdaf3f042992d44e1c5ef458ade61aeec483513 php-pecl-smbclient-1.1.1.tgz
+"
diff --git a/testing/php81-pecl-ssh2/APKBUILD b/testing/php81-pecl-ssh2/APKBUILD
index da3f269ea5c..a19612ec5db 100644
--- a/testing/php81-pecl-ssh2/APKBUILD
+++ b/testing/php81-pecl-ssh2/APKBUILD
@@ -2,36 +2,40 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-ssh2
_extname=ssh2
-pkgver=1.3.1
+pkgver=1.4.1
pkgrel=0
pkgdesc="PHP 8.1 extension provide bindings for the libssh2 library - PECL"
url="https://pecl.php.net/package/ssh2"
arch="all"
license="PHP-3.01"
-depends="php81-common"
-makedepends="php81-dev libssh2-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev libssh2-dev"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test
# Check extension loading, testsuite skips tests if extension broken
- php81 -d extension=modules/$_extname.so --ri $_extname
+ $_php -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
-c74d4f699853148b53cdca0eaf8837bfdbdd21d185761606acadf2442e84dbefdb00cde207e0ce4794ae1e4f8692a38ed903b6d11fdc57bca7b54a4250da9a76 php-pecl-ssh2-1.3.1.tgz
+9ff90b95b8fabfa2a75cf8a62a55e93df19d3e952f79234fc1d7ef3a030089f8b3703412bf6e22d85c7bf5825cf8493a4d97ad51a1600185d3d16f81c72e155c php-pecl-ssh2-1.4.1.tgz
"
diff --git a/testing/php81-pecl-swoole/APKBUILD b/testing/php81-pecl-swoole/APKBUILD
index bdf674ded17..fb88fcf5298 100644
--- a/testing/php81-pecl-swoole/APKBUILD
+++ b/testing/php81-pecl-swoole/APKBUILD
@@ -1,14 +1,23 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-swoole
_extname=swoole
-pkgver=4.8.6
+pkgver=5.1.1
pkgrel=0
pkgdesc="Event-driven asynchronous and concurrent networking engine with high performance for PHP 8.1 - PECL"
url="https://pecl.php.net/package/swoole"
-arch="all"
+arch="all !x86 !armv7 !armhf" # no 32-bit support
license="Apache-2.0"
-depends="php81-curl php81-mysqlnd php81-openssl php81-sockets"
-makedepends="php81-dev openssl1.1-compat-dev nghttp2-dev c-ares-dev curl-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-curl $_php-mysqlnd $_php-openssl $_php-pdo $_php-sockets"
+makedepends="$_php-dev
+ c-ares-dev
+ curl-dev
+ libpq-dev
+ nghttp2-dev
+ openssl-dev>3
+ sqlite-dev
+ "
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir"/$_extname-$pkgver
subpackages="$pkgname-dev"
@@ -18,36 +27,37 @@ case "$CARCH" in
ppc64le|s390x) makedepends="$makedepends libucontext-dev" ;;
esac
-
build() {
case "$CARCH" in
ppc64le|s390x) export LDFLAGS="$LDFLAGS -lucontext" ;;
esac
- phpize81
+ phpize$_phpv
./configure --prefix=/usr \
- --with-php-config=php-config81 \
+ --with-php-config=php-config$_phpv \
+ --with-nghttp2_dir=/usr \
--enable-mysqlnd \
--enable-openssl --with-openssl-dir=/usr \
--enable-sockets \
--enable-swoole-curl \
- --enable-swoole-json \
- --enable-cares \
- --enable-http2
+ --enable-swoole-pgsql \
+ --enable-swoole-sqlite \
+ --enable-brotli --with-brotli-dir=/usr \
+ --enable-cares
make
}
check() {
# needs extra services to test all suite
- php81 -d extension=modules/swoole.so --ri swoole
+ $_php -d extension=modules/swoole.so --ri swoole
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/50_$_extname.ini
}
sha512sums="
-1d15f80f92f14d42afe99aac46b57b58d0844ff7083a9de5f12cb5e9685349a5bb8d93c52a6432eee5f5a34e977c11412397be2c27ad6e6bb095432b9a0077bf php-pecl-swoole-4.8.6.tgz
+ac5f6a737a42123417de33219f56c1ce95b7217d1e66d5021cb6f0126c9fead7917aa38f577330e3391e7780e3a2117b53dff72069680c1c3d0780b52d8d1f61 php-pecl-swoole-5.1.1.tgz
"
diff --git a/testing/php81-pecl-timezonedb/APKBUILD b/testing/php81-pecl-timezonedb/APKBUILD
new file mode 100644
index 00000000000..5409b3a746c
--- /dev/null
+++ b/testing/php81-pecl-timezonedb/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-pecl-timezonedb
+_extname=timezonedb
+pkgver=2024.1
+pkgrel=0
+pkgdesc="Timezone Database to be used with PHP's date and time functions."
+url="https://pecl.php.net/package/timezonedb"
+arch="all"
+license="PHP-3.01"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-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() {
+ # Test suite is not a part of pecl release.
+ $_php -dextension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/40_$_extname.ini
+}
+
+sha512sums="
+09772cdb0d94f8bcf937f075dbcc385b3c5c23657c4442b2ea741bb5dcd8b9898bd23019a2e2319178ffcb62aedd11cbc222ed9d603fba608e0e185a9d5282bc php-pecl-timezonedb-2024.1.tgz
+"
diff --git a/testing/php81-pecl-uploadprogress/APKBUILD b/testing/php81-pecl-uploadprogress/APKBUILD
index 6784851576c..d376d848e90 100644
--- a/testing/php81-pecl-uploadprogress/APKBUILD
+++ b/testing/php81-pecl-uploadprogress/APKBUILD
@@ -4,32 +4,36 @@
pkgname=php81-pecl-uploadprogress
_extname=uploadprogress
pkgver=2.0.2
-pkgrel=0
+pkgrel=1
pkgdesc="PHP 8.1 extension to track progress of a file upload - PECL"
url="https://pecl.php.net/package/uploadprogress"
arch="all"
license="PHP-3.01"
-depends="php81-common"
-makedepends="php81-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
subpackages="$pkgname-doc::noarch"
source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/uploadprogress-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
- php81 -d extension=modules/$_extname.so --ri $_extname
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS='--show-diff '
+ $_php -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local confdir="$pkgdir/etc/php81/conf.d"
+ local confdir="$pkgdir/etc/$_php/conf.d"
mkdir -p "$confdir"
echo "extension=$_extname" > "$confdir"/$_extname.ini
diff --git a/testing/php81-pecl-vips/APKBUILD b/testing/php81-pecl-vips/APKBUILD
new file mode 100644
index 00000000000..15027ca1a66
--- /dev/null
+++ b/testing/php81-pecl-vips/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: TBK <alpine@jjtc.eu>
+# Maintainer: TBK <alpine@jjtc.eu>
+pkgname=php81-pecl-vips
+_extname=vips
+pkgver=1.0.13
+pkgrel=0
+pkgdesc="PHP 8.1 extension for interfacing with vips - PECL"
+url="https://pecl.php.net/package/vips"
+arch="all !x86 !aarch64 !armv7 !armhf" # threads https://gitlab.alpinelinux.org/alpine/aports/-/issues/15972
+license="MIT"
+depends="php81-common"
+makedepends="php81-dev vips-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() {
+ php81 -dextension=modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 SKIP_ONLINE_TESTS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/php81/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+005660e3adb834e38a57b559411f4d33ec3efc5b2bc2e9afe182826618a7670530635ca684e73af2eb2c30ac4d3360653ba53fcfbcb835c712341bd6ed98bea3 php-pecl-vips-1.0.13.tgz
+"
diff --git a/testing/php81-pecl-xdebug/APKBUILD b/testing/php81-pecl-xdebug/APKBUILD
index d66f5479f50..ea5986532ca 100644
--- a/testing/php81-pecl-xdebug/APKBUILD
+++ b/testing/php81-pecl-xdebug/APKBUILD
@@ -4,34 +4,38 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-xdebug
_extname=xdebug
-pkgver=3.1.2
+pkgver=3.3.2
pkgrel=0
pkgdesc="PHP 8.1 extension that provides functions for function traces and profiling - PECL"
url="https://pecl.php.net/package/xdebug"
arch="all"
license="PHP-3.0"
-depends="php81-common"
-makedepends="php81-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev linux-headers"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
-provides="php81-xdebug=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php81-xdebug" # for backward compatibility
+provides="$_php-xdebug=$pkgver-r$pkgrel" # for backward compatibility
+replaces="$_php-xdebug" # for backward compatibility
+
+install_if="php-$_extname php$_phpv"
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
# PECL package has no test suite.
- php81 -d zend_extension="$builddir"/modules/xdebug.so -r 'xdebug_info();'
+ $_php -d zend_extension="$builddir"/modules/xdebug.so -r 'xdebug_info();'
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
mkdir -p $_confdir
# should go after opcache
cat > $_confdir/50_$_extname.ini <<-EOF
@@ -40,10 +44,10 @@ package() {
;xdebug.mode=off
EOF
- install -D -m644 -t "$pkgdir"/usr/share/php81/xdebug/ contrib/tracefile-analyser.php
+ install -D -m644 -t "$pkgdir"/usr/share/$_php/xdebug/ contrib/tracefile-analyser.php
install -D -m644 -t "$pkgdir"/usr/share/vim/vimfiles/syntax/ contrib/xt.vim
}
sha512sums="
-63554545a1c1b94d8503a32d23d70ca16fc82866f9b4191e6f3d026e89e4efdc10974d97f8199c2aa3c0dc0b1f27def9906302e96867cad4e3514b0cc1c5de98 php-pecl-xdebug-3.1.2.tgz
+06096e7a8899e586af8a9a763889546274ef0b520c1b84a1153c704cfdd2f6ff5491c30510da34c0b41169c94fe1f08f27b81535f98162edbb14f1569bd55846 php-pecl-xdebug-3.3.2.tgz
"
diff --git a/testing/php81-pecl-xhprof/APKBUILD b/testing/php81-pecl-xhprof/APKBUILD
index 766693ebfde..9f494e9a110 100644
--- a/testing/php81-pecl-xhprof/APKBUILD
+++ b/testing/php81-pecl-xhprof/APKBUILD
@@ -3,35 +3,40 @@
pkgname=php81-pecl-xhprof
_extname=xhprof
-pkgver=2.3.5
-pkgrel=0
+pkgver=2.3.9
+pkgrel=1
pkgdesc="A Hierarchical Profiler for PHP 8.1 - PECL"
url="https://pecl.php.net/package/xhprof"
arch="all"
license="Apache-2.0"
-depends="php81-common"
-makedepends="php81-dev"
-_assetsdepends="php81-ctype graphviz ghostscript-fonts"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+_assetsdepends="$_php-ctype graphviz ghostscript-fonts"
subpackages="$pkgname-assets::noarch"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver/extension"
-provides="php81-xhprof=$pkgver-r$pkgrel" # for backward compatibility
-replaces="php81-xhprof" # for backward compatibility
+provides="$_php-xhprof=$pkgver-r$pkgrel" # for backward compatibility
+replaces="$_php-xhprof" # for backward compatibility
+
+install_if="php-$_extname php$_phpv"
build() {
- phpize81
- ./configure --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --with-php-config=php-config$_phpv
make
}
check() {
[ $CARCH = s390x ] && rm -fr tests/xhprof_005.phpt # sleeping longer in CI
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 TESTS=--show-diff test
+ $_php -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
cat > $_confdir/$_extname.ini <<-EOF
extension=$_extname
@@ -42,10 +47,10 @@ package() {
assets() {
pkgdesc="A Hierarchical Profiler for PHP (UI assets)"
depends="$_assetsdepends"
- provides="php81-xhprof-assets=$pkgver-r$pkgrel" # for backward compatibility
- replaces="php81-xhprof-assets" # for backward compatibility
+ provides="$_php-xhprof-assets=$pkgver-r$pkgrel" # for backward compatibility
+ replaces="$_php-xhprof-assets" # for backward compatibility
- local _assetsdir="$subpkgdir"/usr/share/php81/xhprof
+ local _assetsdir="$subpkgdir"/usr/share/$_php/xhprof
install -d $_assetsdir
cp -R "$builddir"/../xhprof_lib $_assetsdir
cp -R "$builddir"/../xhprof_html $_assetsdir
@@ -53,5 +58,5 @@ assets() {
}
sha512sums="
-50ae6fb8d63ac8354b7887daecd1882f33e616cd1ef165b54d51f26fa93d2827f621e89d0d583979c453af5d66a83ddcbf0eb2d462df74ebb422294e601268f4 php-pecl-xhprof-2.3.5.tgz
+38a2609d961d908c6a4b5d1ff2085ffdad4a5f7d277705c826ae19e215660802528d606c5ee052f2e65255a7a85b2a9cb9038f4785c730ec468fc76dc7bcf5de php-pecl-xhprof-2.3.9.tgz
"
diff --git a/testing/php81-pecl-xlswriter/APKBUILD b/testing/php81-pecl-xlswriter/APKBUILD
new file mode 100644
index 00000000000..d2cf48fb567
--- /dev/null
+++ b/testing/php81-pecl-xlswriter/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: viest <dev@service.viest.me>
+# Maintainer: viest <dev@service.viest.me>
+pkgname=php81-pecl-xlswriter
+_extname=xlswriter
+pkgver=1.5.5
+pkgrel=0
+pkgdesc="PHP 8.1 extension for creating and reader XLSX files - PECL"
+url="https://pecl.php.net/package/xlswriter"
+arch="all"
+license="BSD-2-Clause"
+depends="php81-common"
+makedepends="php81-dev zlib-dev"
+source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir"/$_extname-$pkgver
+
+build() {
+ phpize81
+ ./configure \
+ --enable-reader \
+ --prefix=/usr \
+ --with-php-config=/usr/bin/php-config81
+ make
+}
+
+check() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/php81/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+11b9799fb54ec916b2e2ffc78ec49ba7828d9486680a3c68391768b2df0623f92065a29377dea273ba55a29841e26c4618c9312dcf20ff08747b2c95ba956429 php-pecl-xlswriter-1.5.5.tar.gz
+"
diff --git a/testing/php81-pecl-xmlrpc/APKBUILD b/testing/php81-pecl-xmlrpc/APKBUILD
index f330face728..2d6c6b09fbb 100644
--- a/testing/php81-pecl-xmlrpc/APKBUILD
+++ b/testing/php81-pecl-xmlrpc/APKBUILD
@@ -3,7 +3,7 @@ pkgname=php81-pecl-xmlrpc
_extname=xmlrpc
pkgver=1.0.0_rc3
_pkgver=${pkgver/_rc/RC}
-pkgrel=0
+pkgrel=1
pkgdesc="PHP 8.1 extension to write XML-RPC servers and clients - PECL"
url="https://pecl.php.net/package/xmlrpc"
arch="all"
diff --git a/testing/php81-pecl-yaml/APKBUILD b/testing/php81-pecl-yaml/APKBUILD
index 3ee6920ecf3..9321eb7f580 100644
--- a/testing/php81-pecl-yaml/APKBUILD
+++ b/testing/php81-pecl-yaml/APKBUILD
@@ -2,34 +2,39 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-yaml
_extname=yaml
-pkgver=2.2.2
-pkgrel=0
+pkgver=2.2.3
+pkgrel=1
pkgdesc="YAML syntax bindings for PHP 8.1 - PECL"
url="https://pecl.php.net/package/yaml"
arch="all"
license="MIT"
-depends="php81-common"
-makedepends="php81-dev yaml-dev"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev yaml-dev"
source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
builddir="$srcdir/$_extname-$pkgver"
+install_if="php-$_extname php$_phpv"
+
build() {
- phpize81
- ./configure --prefix=/usr --with-php-config=php-config81
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
make
}
check() {
make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ $_php -d extension=modules/$_extname.so --ri $_extname
}
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/70_$_extname.ini
}
sha512sums="
-4c1d3012623154b8d74908fb319a637d7bff178d02d0732d1a3d19d24df2c612d62948eb7dcd9ead9fd31f2da7af0cec54657b8cce128968a04079dd0002117d php-pecl-yaml-2.2.2.tgz
+99d63d430dd2fa9767ecb3f70599d2ebd4c53b27770df72c00c4723816de422c581cea05e96c3cba5aaecbdc57cc482fad0f1fa300bdcf887daa7c2c034e6f4b php-pecl-yaml-2.2.3.tgz
"
diff --git a/testing/php81-pecl-zephir_parser/APKBUILD b/testing/php81-pecl-zephir_parser/APKBUILD
index 7884729c0bb..a52192685e9 100644
--- a/testing/php81-pecl-zephir_parser/APKBUILD
+++ b/testing/php81-pecl-zephir_parser/APKBUILD
@@ -1,22 +1,22 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-zephir_parser
_extname=zephir_parser
-pkgver=1.4.1
+pkgver=1.6.0
pkgrel=0
pkgdesc="Zephir Parser is a code parser, delivered as a C extension for the PHP 8.1 language - PECL"
url="https://pecl.php.net/package/zephir_parser"
arch="all"
license="MIT"
-depends="php81-common"
-makedepends="php81-dev"
-source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz
- failed-tests.patch
- "
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-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
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
make
}
@@ -27,12 +27,11 @@ check() {
package() {
make INSTALL_ROOT="$pkgdir" install
- local _confdir="$pkgdir"/etc/php81/conf.d
+ local _confdir="$pkgdir"/etc/$_php/conf.d
install -d $_confdir
echo "extension=$_extname" > $_confdir/$_extname.ini
}
sha512sums="
-0e55cec4e0af153953b4c1b6c98fe2fc242188f1eb274d31fd4f922343cdc95e7032d09551c206c40d5bcf0c10b06720e0d2dc8f30d39e2d2c5f44ee0bfc8243 php-pecl-zephir_parser-1.4.1.tar.gz
-a82a7086fdb5d771e40abc1ecd571ef99ed113d702938821a6bde3959ab2f85074b20af9b02b0fd7270a8f63be788e75852555c9310c5b565b3ece7163fcb8b2 failed-tests.patch
+84195c5702a12b1c6f9f027d2d0651bc7fb762cf71f4c7b4c9bc36b35fb92db54b994f5d2b0502d21b1dd8bb03710a72e4f0790b621edd2c1c69a10043b5d2ad php-pecl-zephir_parser-1.6.0.tar.gz
"
diff --git a/testing/php81-pecl-zephir_parser/failed-tests.patch b/testing/php81-pecl-zephir_parser/failed-tests.patch
deleted file mode 100644
index ef373216815..00000000000
--- a/testing/php81-pecl-zephir_parser/failed-tests.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/tests/base/cblocks.phpt
-+++ b/tests/base/cblocks.phpt
-@@ -3,6 +3,8 @@
- --SKIPIF--
- <?php include(__DIR__ . '/../skipif.inc'); ?>
- <?php include(__DIR__ . '/../skipifwin32.inc'); ?>
-+--XFAIL--
-+To be fixed
- --FILE--
- <?php
-
---- a/tests/comments/comments_before.phpt
-+++ b/tests/comments/comments_before.phpt
-@@ -3,6 +3,8 @@
- --SKIPIF--
- <?php include(__DIR__ . '/../skipif.inc'); ?>
- <?php include(__DIR__ . '/../skipifwin32.inc'); ?>
-+--XFAIL--
-+To be fixed
- --FILE--
- <?php
-
---- a/tests/errors/bug30.phpt
-+++ b/tests/errors/bug30.phpt
-@@ -3,6 +3,8 @@
- --SKIPIF--
- <?php include(__DIR__ . '/../skipif.inc'); ?>
- <?php include(__DIR__ . '/../skipifwin32.inc'); ?>
-+--XFAIL--
-+To be fixed
- --FILE--
- <?php
-
diff --git a/testing/php81-pecl-zstd/APKBUILD b/testing/php81-pecl-zstd/APKBUILD
index ddca9710577..3c4d1e0bf7d 100644
--- a/testing/php81-pecl-zstd/APKBUILD
+++ b/testing/php81-pecl-zstd/APKBUILD
@@ -1,11 +1,11 @@
# Maintainer: Andy Postnikov <apostnikov@gmail.com>
pkgname=php81-pecl-zstd
_extname=zstd
-pkgver=0.11.0
+pkgver=0.13.3
pkgrel=0
pkgdesc="PHP 8.1 Zstandard extension - PECL"
url="https://pecl.php.net/package/zstd"
-arch="all !armhf" # tests fails on armhf builders
+arch="all"
license="MIT"
depends="php81-common"
makedepends="php81-dev php81-pecl-apcu zstd-dev"
@@ -35,5 +35,5 @@ package() {
}
sha512sums="
-faf1ea07a7b9c4f8a4ee732b7f17fc104670ebc6a2babe83d297dc59b945f843f671ad03e668290a282485e746bd9b9381daec38c0e5e5749ca93cba5eb594ae php-pecl-zstd-0.11.0.tgz
+c6bcffcd71a1145e60bc3c1b25fec724cf406d1eb111a892b3603566e1a31e41fbf946d5f61746cd8db733e86ae3758b174a74c17c00b2f60e23dd61e0987198 php-pecl-zstd-0.13.3.tgz
"
diff --git a/testing/php81-spx/APKBUILD b/testing/php81-spx/APKBUILD
new file mode 100644
index 00000000000..d2f181b4194
--- /dev/null
+++ b/testing/php81-spx/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-spx
+_extname=spx
+pkgver=0.4.15
+pkgrel=0
+pkgdesc="A simple & straight-to-the-point PHP 8.1 profiling extension with its built-in web UI"
+url="https://github.com/NoiseByNorthwest/php-spx"
+arch="x86_64 aarch64"
+license="GPL-3.0-or-later"
+_phpv=81
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev zlib-dev"
+checkdepends="$_php-cgi"
+source="php-$_extname-$pkgver.tar.gz::https://github.com/NoiseByNorthwest/php-spx/archive/v$pkgver.tar.gz"
+builddir="$srcdir/php-$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
+ make
+}
+
+check() {
+ TEST_PHP_CGI_EXECUTABLE=/usr/bin/php-cgi$_phpv \
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ $_php -d extension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+c12c934012e6eee2fc7d42312b61e6d61482e2277b530ab86c81427a74731157ff48ae425b17dcd4f891cb4099aaa853bc38f7b285d6eb0f07934aa831e6c21a php-spx-0.4.15.tar.gz
+"
diff --git a/testing/php81-tideways_xhprof/APKBUILD b/testing/php81-tideways_xhprof/APKBUILD
new file mode 100644
index 00000000000..3eec84ce8c4
--- /dev/null
+++ b/testing/php81-tideways_xhprof/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Andy Postnikov <apostnikov@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php81-tideways_xhprof
+_extname=tideways_xhprof
+pkgver=5.0.4
+pkgrel=1
+pkgdesc="Modern XHProf compatible Profiler for PHP 8.1"
+url="http://tideways.io"
+arch="all !s390x" # fails to build https://github.com/tideways/php-xhprof-extension/issues/72
+license="Apache-2.0"
+depends="php81-common"
+makedepends="php81-dev"
+source="php-$_extname-$pkgver.tar.gz::https://github.com/tideways/php-xhprof-extension/archive/v$pkgver.tar.gz"
+builddir="$srcdir/php-xhprof-extension-$pkgver"
+
+build() {
+ phpize81
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config81
+ make
+}
+
+check() {
+ 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="
+bc7689060e33100ed43ed4ec0a251f6b4d9b7fcd3420e3c1208f400fc68d302a2fced90641016e55b8ee434e4d0de91703a2253c2515f16200fc0e330e4f60c2 php-tideways_xhprof-5.0.4.tar.gz
+"
diff --git a/testing/php81/APKBUILD b/testing/php81/APKBUILD
index 26b1f24627a..6c6a83dafc1 100644
--- a/testing/php81/APKBUILD
+++ b/testing/php81/APKBUILD
@@ -11,6 +11,7 @@
# fileinfo | BSD-2-Clause | ext/fileinfo/libmagic | used
# gd | BSD | ext/gd/libgd | used
# hash | CC0-1.0 | ext/hash/sha3 | used
+# xxHash | BSD-2-Clause | ext/hash/xxhash | used
# libmbfl | LGPL-2.1-only | ext/mbstring/libmbfl | used
# pcre | BSD-3-Clause | ext/pcre/pcrelib | not used
# sqlite3 | Public | ext/sqlite3/libsqlite | not used
@@ -25,12 +26,15 @@
pkgname=php81
_pkgreal=php
-pkgver=8.1.1
+pkgver=8.1.28
pkgrel=0
_apiver=20210902
_suffix=${pkgname#php}
# Is this package the default (latest) PHP version?
_default_php="no"
+provides="$pkgname-cli php-cli php" # for backward compatibility
+# priority of community/php82 is 100
+provider_priority=50
pkgdesc="The PHP$_suffix language runtime engine"
url="https://www.php.net/"
arch="all"
@@ -46,11 +50,13 @@ _depends_phar="$pkgname"
_depends_mysqli="$pkgname-mysqlnd $pkgname-openssl"
makedepends="
$depends_dev
+ acl-dev
apache2-dev
argon2-dev
aspell-dev
bison
bzip2-dev
+ clang
curl-dev
enchant2-dev
freetds-dev
@@ -77,32 +83,42 @@ makedepends="
libzip-dev
net-snmp-dev
openldap-dev
+ openssl-dev>3
+ patchelf
sqlite-dev
tidyhtml-dev
unixodbc-dev
zlib-dev
"
-provides="$pkgname-cli php-cli php" # for backward compatibility
-# priority of community/php7 is 100
-provider_priority=1
-subpackages="$pkgname-dbg $pkgname-dev $pkgname-doc
+checkdepends="icu-data-full"
+subpackages="$pkgname-dev $pkgname-doc
$pkgname-phpdbg $pkgname-apache2
$pkgname-embed $pkgname-cgi $pkgname-fpm
$pkgname-pear::noarch
"
-source="https://php.net/distributions/$_pkgreal-$pkgver.tar.xz
+# sources for RC available at
+# - https://downloads.php.net/~patrickallaert/php-${pkgver}RC1.tar.xz
+# - https://downloads.php.net/~ramsey/php-${pkgver}RC1.tar.xz
+source="$_pkgreal-$pkgver.tar.xz::https://php.net/distributions/$_pkgreal-$pkgver.tar.xz
$pkgname-fpm.initd
$pkgname-fpm.logrotate
$pkgname-module.conf
disabled-tests.list
+ disabled-tests.ppc64le.list
+ disabled-tests.riscv64.list
+ disabled-tests.s390x.list
+ disabled-tests.x86.list
install-pear.patch
includedir.patch
sharedir.patch
$pkgname-fpm-version-suffix.patch
fix-tests-devserver.patch
- xfail-openssl-1.1-test.patch
- https://github.com/php/php-src/commit/5459ed4c2fbc25560da3808e823c0503704a8f31.patch
- https://github.com/php/php-src/commit/98175fc7f1623873ceb2e9a017a319d19bfb3912.patch
+ fix-lfs64.patch
+ fix-s390x-test.patch
+ fix-icu74.patch
+ fix-curl.patch
+ fix-libxml-1.patch
+ fix-libxml-2.patch
"
builddir="$srcdir/$_pkgreal-$pkgver"
@@ -173,19 +189,28 @@ for _ext in $_extensions; do
esac
done
subpackages="$subpackages $pkgname-common::noarch"
-
-case "$CARCH" in
- riscv64)
- makedepends="$makedepends libucontext-dev"
- export LDFLAGS="$LDFLAGS -lucontext"
- ;;
- *)
- # see https://gitlab.alpinelinux.org/alpine/aports/-/issues/12775
- subpackages="$subpackages $pkgname-litespeed"
- ;;
-esac
+subpackages="$subpackages $pkgname-litespeed"
# secfixes:
+# 8.1.28-r0:
+# - CVE-2024-1874
+# - CVE-2024-2756
+# - CVE-2024-3096
+# 8.1.16-r0:
+# - CVE-2023-0567
+# - CVE-2023-0568
+# - CVE-2023-0662
+# 8.1.14-r0:
+# - CVE-2022-31631
+# 8.1.12-r0:
+# - CVE-2022-31630
+# - CVE-2022-37454
+# 8.1.11-r0:
+# - CVE-2022-31628
+# - CVE-2022-31629
+# 8.1.6-r2:
+# - CVE-2022-31625
+# - CVE-2022-31626
# 8.1.0-r0:
# - CVE-2021-21707
# 8.1.0_rc5-r0:
@@ -215,9 +240,12 @@ prepare() {
# Fix some bogus permissions.
find . -name '*.[ch]' -exec chmod 644 {} \;
- # XXX: Delete failing tests.
- sed -n '/^[^#]/p' "$srcdir"/disabled-tests.list | while read -r item; do
- rm -r $item # do it in this way to apply globbing...
+ # Remove failing tests includng arch specific ones.
+ local tests="disabled-tests.list disabled-tests.$CARCH.list"
+ local file; for file in $tests; do [ -f "$srcdir"/$file ] && \
+ sed -n '/^[^#]/p' "$srcdir"/$file | while read -r item; do
+ rm -r $item # do it in this way to apply globbing...
+ done
done
autoconf
@@ -229,12 +257,22 @@ prepare() {
# * -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php andypost)
# * -O2 optimize for apps usage (andypost)
_build() {
- export CFLAGS="${CFLAGS/-Os/-O2} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
- export CXXFLAGS="${CXXFLAGS/-Os/-O2} -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+ local _extra='-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
+ export CFLAGS="${CFLAGS/-Os/-O2} $_extra"
+ export CXXFLAGS="${CXXFLAGS/-Os/-O2} $_extra"
local without_pcre_jit
[ "$CARCH" = "s390x" ] && without_pcre_jit="--without-pcre-jit"
+ case "$CARCH" in
+ arm*|aarch64|riscv64)
+ export CFLAGS="${CFLAGS/-fstack-clash-protection}"
+ export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection}"
+ ;;
+ esac
+
+ export CC=clang
+ export CXX=clang++
EXTENSION_DIR=$_extension_dir ./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -248,6 +286,7 @@ _build() {
--with-pic \
--with-config-file-path=/etc/$pkgname \
--with-config-file-scan-dir=$_extension_confd \
+ --disable-rpath \
--disable-short-tags \
\
--enable-bcmath=shared \
@@ -325,6 +364,7 @@ _build() {
--with-xsl=shared \
--with-zip=shared \
--with-zlib \
+ --enable-zend-test=shared \
"$@"
rm -f modules/* # clean-up possible previous build
make
@@ -345,6 +385,7 @@ build() {
_build --enable-phpdbg \
--with-pear=/usr/share/$pkgname \
--enable-fpm \
+ --with-fpm-acl \
$enable_litespeed \
--enable-embed
}
@@ -364,13 +405,13 @@ check() {
# Ignore it for now and continue build even on test failures.
local allow_fail='no'
case "$CARCH" in
- ppc64le | x86 | s390x | mips*) allow_fail='yes'
+ no ) allow_fail='yes'
esac
TESTS="${TESTS:- --show-diff }" NO_INTERACTION=1 REPORT_EXIT_STATUS=1 \
SKIP_SLOW_TESTS=1 SKIP_ONLINE_TESTS=1 TEST_TIMEOUT=10 \
SKIP_PERF_SENSITIVE=1 \
- TZ='' LANG='' LC_ALL='' \
+ TZ='' LANG='' LC_ALL='' TEST_FPM_EXTENSION_DIR=modules \
TRAVIS=true SKIP_IO_CAPTURE_TESTS=1 \
make test || [ "$allow_fail" = yes ]
@@ -379,6 +420,7 @@ check() {
package() {
make -j1 INSTALL_ROOT="$pkgdir" install
+ rm "$pkgdir"/usr/lib/php$_suffix/modules/zend_test.so
install -Dm644 php.ini-production "$pkgdir"/etc/$pkgname/php.ini
@@ -399,15 +441,11 @@ package() {
dev() {
default_dev
replaces="php-dev"
- depends="$depends"
- cd "$pkgdir"
-
- _mv usr/bin/php-config$_suffix \
+ amove \
+ usr/bin/php-config$_suffix \
usr/bin/phpize$_suffix \
- "$subpkgdir"/usr/bin/
-
- _mv ./$_libdir/build "$subpkgdir"/$_libdir/
+ $_libdir/build
if [ "$_default_php" = yes ]; then
ln -s phpize$_suffix "$subpkgdir"/usr/bin/phpize
@@ -453,15 +491,17 @@ embed() {
pkgdesc="PHP$_suffix Embedded Library"
provides="php-embed"
- _mv "$pkgdir"/usr/lib/libphp*.so "$subpkgdir"/usr/lib/
+ mkdir -p "$subpkgdir"/usr/lib
+ mv "$pkgdir"/usr/lib/libphp.so "$subpkgdir"/usr/lib/libphp$_suffix.so
+ # we do this so it matches the name, otherwise SONAME libphp.so conflicts
+ patchelf --set-soname libphp$_suffix.so "$subpkgdir"/usr/lib/libphp$_suffix.so
}
litespeed() {
pkgdesc="PHP$_suffix LiteSpeed SAPI"
provides="php-lightspeed"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/lsphp$_suffix "$subpkgdir"/usr/bin
+ amove usr/bin/lsphp$_suffix
if [ "$_default_php" = yes ]; then
ln -s lsphp$_suffix "$subpkgdir"/usr/bin/lsphp
@@ -472,7 +512,7 @@ cgi() {
pkgdesc="PHP$_suffix Common Gateway Interface"
provides="php-cgi"
- _mv "$pkgdir"/usr/bin/php-cgi$_suffix "$subpkgdir"/usr/bin/
+ amove usr/bin/php-cgi$_suffix
if [ "$_default_php" = yes ]; then
ln -s php-cgi$_suffix "$subpkgdir"/usr/bin/php-cgi
@@ -483,12 +523,8 @@ fpm() {
pkgdesc="PHP$_suffix FastCGI Process Manager"
provides="php-fpm"
- cd "$pkgdir"
-
- _mv var "$subpkgdir"/
- _mv usr/share/$pkgname/fpm "$subpkgdir"/var/lib/$pkgname/
- _mv usr/sbin "$subpkgdir"/usr/
- _mv etc/$pkgname/php-fpm* "$subpkgdir"/etc/$pkgname/
+ amove etc/$pkgname/php-fpm* usr/sbin var
+ amove usr/share/$pkgname/fpm
local file; for file in php-fpm.conf php-fpm.d/www.conf; do
mv "$subpkgdir"/etc/$pkgname/$file.default \
@@ -509,18 +545,15 @@ pear() {
depends="$pkgname $pkgname-xml"
provides="php-pear"
- cd "$pkgdir"
-
mkdir -p "$subpkgdir"/usr/bin
local file; for file in pecl pear peardev; do
- mv usr/bin/$file "$subpkgdir"/usr/bin/$file$_suffix
+ mv "$pkgdir"/usr/bin/$file "$subpkgdir"/usr/bin/$file$_suffix
if [ "$_default_php" = yes ]; then
ln -s $file$_suffix "$subpkgdir"/usr/bin/$file
fi
done
- _mv etc/$pkgname/pear.conf "$subpkgdir"/etc/$pkgname/
- _mv usr/share "$subpkgdir"/usr/
+ amove etc/$pkgname/pear.conf usr/share
}
common() {
@@ -528,22 +561,17 @@ common() {
provides="php-common $pkgname-zlib php-zlib $pkgname-json php-json" # for backward compatibility
depends=""
- cd "$pkgdir"
-
- _mv usr/lib "$subpkgdir"/usr/
- _mv etc "$subpkgdir"/
- mkdir -p "$subpkgdir"/$_extension_confd
+ amove etc
+ mkdir -p "$subpkgdir"/$_extension_confd "$subpkgdir"/$_extension_dir
}
phar() {
_extension
- cd "$pkgdir"
-
mkdir -p "$subpkgdir"/usr/bin
- mv usr/bin/phar$_suffix.phar "$subpkgdir"/usr/bin/phar.phar$_suffix
+ mv "$pkgdir"/usr/bin/phar$_suffix.phar "$subpkgdir"/usr/bin/phar.phar$_suffix
- rm usr/bin/phar$_suffix
+ rm "$pkgdir"/usr/bin/phar$_suffix
ln -s phar.phar$_suffix "$subpkgdir"/usr/bin/phar$_suffix
if [ "$_default_php" = yes ]; then
@@ -553,13 +581,13 @@ phar() {
}
_extension() {
- local extname="${subpkgname#$pkgname-}"
+ local extname="${subpkgname#"$pkgname"-}"
local extdepends="$(eval "echo \$_depends_$extname")"
local extdesc="$(head -n1 "$builddir"/ext/$extname/CREDITS 2>/dev/null ||:)"
pkgdesc="PHP$_suffix extension: ${extdesc:-$extname}"
provides="php-$extname"
- : ${extdepends:=$(_resolve_extension_deps "$extname")}
+ : "${extdepends:=$(_resolve_extension_deps "$extname")}"
depends="$depends $extdepends"
local load_order=$(_extension_load_order "$extname")
@@ -568,8 +596,7 @@ _extension() {
local prefix=
[ "$extname" != "opcache" ] || prefix="zend_"
- _mv "$pkgdir"/$_extension_dir/$extname.so \
- "$subpkgdir"/$_extension_dir/
+ amove $_extension_dir/$extname.so
mkdir -p "$subpkgdir"/$_extension_confd
echo "${prefix}extension=$extname" \
@@ -585,8 +612,7 @@ _resolve_extension_deps() {
local config="$builddir/ext/$name/config.w32"
[ -f "$config" ] || return 0
- cat "$config" \
- | sed -En "s/.*ADD_EXTENSION_DEP\('$name', ([^)]+)\).*/\1/p" \
+ sed -En "s/.*ADD_EXTENSION_DEP\('$name', ([^)]+)\).*/\1/p" "$config" \
| tr -d "'," | tr ' ' '\n' \
| sort -u \
| while read -r dep; do
@@ -621,24 +647,25 @@ _extensions_by_load_order() {
printf '%s\n' $list | sort -t ';' -k 1 | sed -E 's/\d+;//'
}
-_mv() {
- local dest; for dest; do true; done # get last argument
- mkdir -p "$dest"
- mv "$@"
-}
-
sha512sums="
-ab1cca08eb49fc2316f19d9e136a2d6462fe5b33967ecb671564dd9def2a765cc1b864a764c9cfbb8e7853936fb2d4939e7ed4f97220ca30eaf08c3badeb44da php-8.1.1.tar.xz
-0280c390bf4b67ebb0ed9006489ea0c6426d27844824b81e946e583c83743d0f846d6a3858c96c3cce9305966d4879be7533f7626add006c8bb13021848c7a0f php81-fpm.initd
+d56ecac164e00e9514cd3c6c8c453598b323118dc7d7ae7cc14ba0847d50a2e455b2391f52e0d81af325b02d8f73a7d2ed66bf66d068dac4a496d777c83a398f php-8.1.28.tar.xz
+7dc9f55b12998355a6a6b5cf277285058e66928215f8d0109448d06fb696a74c674f83d18a81bf03f4f0bee06e77979e9a4ee5c81c7fdebff91447f8e697cc69 php81-fpm.initd
98bb27864f1ece80fef18cb286885c8c18de8f9d1076507b6a24df07e33aa400623b90401375e7ebe55d9ff802069d281642ec7d3a58ef8727121aabe7643241 php81-fpm.logrotate
2e3b22b4adbc81c6120757095c89e56642f3e8bf7724af2926f2667759ef082cdcff416334aad87f704a61fcb5b2c11830f17759ac771a3dd4e47d9bc5c7cf72 php81-module.conf
-301184194877661831ef429bbc23004303adb150c7ecc3f72fdc366c94d6bc7ee7ca95ab1679910a22861bcb98c4744bff59e4a77963fbdb9f697c41adb2245c disabled-tests.list
+20e5cd0cfd76265f168240891f2b774181947d623467ed729199e7750fe1613592a152eeb452cab8e8822e79ed0a1c3ec686e21e74fd8097af69b89db53e2f44 disabled-tests.list
+65676dea36ff8823dd1e8d7165e48c2719133ca8cf5287d6051f35f70e4bc57f1c93fe9b0196c9307c072187deb08409731f1eef281387ae4367655472f882d3 disabled-tests.ppc64le.list
+378db19d08cec29c4e56f2c82ee0a99b31e5ec3eaac56c40597de442da36a4d7efcc7551577e37a6ca22649d612d42714c93e16e3f7579aeb85a44090bde80fc disabled-tests.riscv64.list
+54930246f22034e6a73020aa95915d14b2a2fcfe121df57eb17fdc663aceeb94c5c4b1800347149a8fb4eaa0edda4224a11133bdb7e0cd34a2065a2de121db0d disabled-tests.s390x.list
+6d3bc15982e13ec4c065b6445e07818d589f2cc677147a57929d1739b3e6b119cc9be6a07d3a99bb5e989e47a62fa6047f967c3c962253845d4bab224b378db3 disabled-tests.x86.list
ec206639d076ddac6c2d1db697a5428ed3be979157db39417af7fbe6ab837e8dc00315ae0e55aea4f92f45ca5827c88cc4933099fad9c962f029ca81bef779d7 install-pear.patch
e88ad17895742b74019912ad45c90af74817d75d7e1f71bd3d4a180b5f710a25d3c73c7410394f415eee0f428a8c5a0ea3702009ef9d2bffdebdd5da748f8b9b includedir.patch
8db38c523a8e0ed64298661d328372ea33ba0a56d23c023299ad94ee43a6db8c49393efcb679e74bbb936383dcacebdfb440bbacdf74068d78d071dd3f795101 sharedir.patch
f43ab399c3b4a2b9a3a329acd32d9cbc690cad697dd0a0e87f3d654028b88af7dd1cd80cbf970c6fe95a44d9b24646640bb4cc9eba15f36afc171504f1060066 php81-fpm-version-suffix.patch
1b64a7cef9e81387f955cb60ffa4e3d2277b4f6072e9328d779c0d447c202c8ee9dff0d8d8c34abc82c150311f51c4e9316a3b72a383ca6c9a6e683bc5b349a0 fix-tests-devserver.patch
-d90e839cfae1cbb42c1dfb0fb73defa55154dbef69bc9a8206e561c2d0ceb43ca778e35dcfa3224570deabe7d59d35dac3f21d0c4bd82ac92cebd5477a30a89d xfail-openssl-1.1-test.patch
-4930fdfbb82987011faecc001d4e7246f86058253097117792817a6636faad3f042d7d31891a0775ee7220f1200683a5312a3aae0a0fc87eefeea3ec2233682b 5459ed4c2fbc25560da3808e823c0503704a8f31.patch
-4df4bd85fa28526c99e7d67f1ef8a75e7df749f2e4366711a8489eb4bd59b3d98a404dec3f11e2ad5f18775bfc1c5ac26f544681c5eeb0a62ac69aa306475e5e 98175fc7f1623873ceb2e9a017a319d19bfb3912.patch
+73ad23e675c336b7607ff99fc3a3ffdb381779411c5503ef5a353ad43607070d889e441800abc54080d6be42032e94c3884d05d3bfbc46e5dda93b5e10fc40f7 fix-lfs64.patch
+10c8da2e2ff24903c012b4df4f1fd7ed739429d0630260c398ed255cb45589ee170c29af09f5f57202a5fe37d4e82669196c813a5b916b7f2be2d46e9bfd1d85 fix-s390x-test.patch
+16d283ac2373442f2fbbca4968df92e0114454c7645a797f1f04af27e546293f3312d45aef049357057facd4fb62339ebfe7f59e65d4278910c4195d873955d1 fix-icu74.patch
+9154ea68ec28b83aaa25d2be9012fde5802872b0d97b6141fcddbf93ee86fddd2d1f0e14fe64942c2a5bc51089041659e8b09cce94c634cb1898f25cdf86ed61 fix-curl.patch
+6413bcd3542248974b737ecd0f01e28609b35cbc2fdb6b94b702035cb840b27d062a387c99e50abec66196beb908cacd1aa2b97feb0224266436a50dd0905d61 fix-libxml-1.patch
+d1722ee0429f9218886351f08fe728be3e2e0e65b9b886dd7bee2d7f0e08ffba97e0ba3d14f851c1c839d726916c45316681731891577f781129da0d05c75eea fix-libxml-2.patch
"
diff --git a/testing/php81/disabled-tests.list b/testing/php81/disabled-tests.list
index 295325adaf4..26914cf0bb4 100644
--- a/testing/php81/disabled-tests.list
+++ b/testing/php81/disabled-tests.list
@@ -6,6 +6,13 @@
ext/standard/tests/file/windows_mb_path/*
ext/standard/tests/file/*win32*.phpt
ext/standard/tests/dir/*win32*.phpt
+ext/standard/tests/general_functions/*win32*.phpt
+ext/standard/tests/mail/*win32.phpt
+ext/standard/tests/streams/*win32.phpt
+ext/standard/tests/strings/*win32.phpt
+ext/phar/tests/*win32.phpt
+ext/readline/tests/*win32.phpt
+ext/sockets/tests/*win32.phpt
# Require database or slow as dblib
ext/mysqli/tests/*
@@ -65,19 +72,14 @@ ext/openssl/tests/tlsv1.3_wrapper.phpt
# Needs to open tls socket
ext/openssl/tests/bug62890.phpt
+ext/openssl/tests/san_ipv6_peer_matching.phpt
# Broken tests, missing config.
sapi/fpm/tests/socket-ipv4-fallback.phpt
-# Fails in chroot (on Travis).
-sapi/cli/tests/cli_process_title_unix.phpt
-
# Error messages in different order.
sapi/cgi/tests/005.phpt
-# Fails on ppc64le.
-sapi/phpdbg/tests/watch_006.phpt
-
# Not stable enchant-2 library support - 15/29
ext/enchant/tests/broker_dict_exists.phpt
ext/enchant/tests/broker_free_02.phpt
@@ -104,11 +106,6 @@ ext/iconv/tests/bug48147.phpt
# stream_filter_append(): unable to create or locate filter "convert.iconv.ucs-2/utf-8//IGNORE"
ext/iconv/tests/bug76249.phpt
-# for ICU <= 57.1
-ext/intl/tests/spoofchecker_001.phpt
-ext/intl/tests/timezone_IDforWindowsID_basic.phpt
-ext/intl/tests/timezone_windowsID_basic.phpt
-
# Class 'Phar' not found.
ext/opcache/tests/issue0115.phpt
ext/opcache/tests/issue0149.phpt
@@ -142,8 +139,6 @@ ext/pcre/tests/ctype_back_to_c.phpt
ext/pcre/tests/locales.phpt
ext/soap/tests/bugs/bug39815.phpt
ext/standard/tests/array/locale_sort.phpt
-ext/standard/tests/strings/htmlentities02.phpt
-ext/standard/tests/strings/htmlentities03.phpt
ext/standard/tests/strings/setlocale_basic1.phpt
ext/standard/tests/strings/setlocale_basic2.phpt
ext/standard/tests/strings/setlocale_basic3.phpt
@@ -155,10 +150,8 @@ ext/standard/tests/strings/setlocale_variation4.phpt
ext/standard/tests/strings/setlocale_variation5.phpt
ext/standard/tests/strings/sprintf_f_3.phpt
ext/standard/tests/strings/strtoupper.phpt
-ext/standard/tests/time/strptime_basic.phpt
-ext/standard/tests/time/strptime_parts.phpt
-tests/basic/consistent_float_string_casts.phpt
ext/standard/tests/strings/locale_independent_float_to_string.phpt
+tests/basic/consistent_float_string_casts.phpt
tests/lang/bug30638.phpt
Zend/tests/lc_ctype_inheritance.phpt
@@ -166,22 +159,9 @@ Zend/tests/lc_ctype_inheritance.phpt
ext/fileinfo/tests/bug74170.phpt
ext/standard/tests/strings/bug79986.phpt
-# Wrong results
-ext/pcre/tests/bug79846.phpt
-ext/pcre/tests/bug80118.phpt
-
-# no xml header displayed
-ext/tidy/tests/020.phpt
-
# float formatting
ext/standard/tests/strings/printf_h_H.phpt
-# fails on armv7
-ext/standard/tests/strings/chunk_split_variation2_32bit.phpt
-
-# fails on arch64, ppc64le, s390x
-ext/standard/tests/array/range.phpt
-
#
# Tests that fail for known reason and/or we don't need to worry about them
@@ -194,32 +174,17 @@ ext/iconv/tests/iconv_mime_encode.phpt
# Requires running SNMP server.
ext/snmp/tests/*
-# Expects permissions on /etc to be 40755
+# Expects permissions on /etc to be 40755 (armhf)
ext/standard/tests/file/006_error.phpt
-# Fails probably due to differencies in musl.
-ext/sockets/tests/socket_create_pair-wrongparams.phpt
-
-# Fail due to libxml2 upgrade to 2.9.12
-# See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/12692
-ext/dom/tests/DOMDocument_loadXML_error1.phpt
-ext/dom/tests/DOMDocument_load_error1.phpt
-ext/dom/tests/bug43364.phpt
-ext/dom/tests/bug80268.phpt
-ext/libxml/tests/bug61367-read.phpt
-ext/libxml/tests/libxml_disable_entity_loader.phpt
-sapi/fpm/tests/bug68391-conf-include-order.phpt
-
# Fails on armhf CI
ext/hash/tests/hash-clone.phpt
ext/hash/tests/hash_copy_001.phpt
-# Fails on riscv64 CI (lmdb and socket_set_option)
-ext/dba/tests/bug78808.phpt
-ext/dba/tests/dba_lmdb.phpt
-ext/sockets/tests/bug63000.phpt
-ext/sockets/tests/socket_getopt.phpt
-ext/sockets/tests/socket_sendrecvmsg_error.phpt
-ext/sockets/tests/mcast_ipv4_send.phpt
-ext/sockets/tests/mcast_ipv4_send_error.phpt
-ext/sockets/tests/mcast_ipv6_send.phpt
+# openssl 1 and unstable
+ext/openssl/tests/openssl_error_string_basic.phpt
+
+# openssl 3.2.1
+ext/openssl/tests/openssl_error_string_basic_openssl3.phpt
+ext/openssl/tests/openssl_private_decrypt_basic.phpt
+ext/openssl/tests/openssl_x509_parse_basic.phpt
diff --git a/testing/php81/disabled-tests.ppc64le.list b/testing/php81/disabled-tests.ppc64le.list
new file mode 100644
index 00000000000..e2f4f874569
--- /dev/null
+++ b/testing/php81/disabled-tests.ppc64le.list
@@ -0,0 +1,3 @@
+Zend/tests/fibers/no-switch-force-close-finally.phpt
+Zend/tests/fibers/suspend-in-force-close-fiber-after-shutdown.phpt
+Zend/tests/fibers/throw-in-multiple-destroyed-fibers-after-shutdown.phpt
diff --git a/testing/php81/disabled-tests.riscv64.list b/testing/php81/disabled-tests.riscv64.list
new file mode 100644
index 00000000000..6648fa91f32
--- /dev/null
+++ b/testing/php81/disabled-tests.riscv64.list
@@ -0,0 +1,7 @@
+ext/dba/tests/bug78808.phpt
+ext/dba/tests/dba_lmdb.phpt
+ext/sockets/tests/bug63000.phpt
+ext/sockets/tests/socket_getopt.phpt
+ext/sockets/tests/mcast_ipv4_send.phpt
+ext/sockets/tests/mcast_ipv4_send_error.phpt
+ext/sockets/tests/mcast_ipv6_send.phpt
diff --git a/testing/php81/disabled-tests.s390x.list b/testing/php81/disabled-tests.s390x.list
new file mode 100644
index 00000000000..1d5deb0bbaa
--- /dev/null
+++ b/testing/php81/disabled-tests.s390x.list
@@ -0,0 +1,2 @@
+# https://gitlab.alpinelinux.org/alpine/aports/-/issues/15319
+ext/gd/tests/avif_decode_encode.phpt
diff --git a/testing/php81/disabled-tests.x86.list b/testing/php81/disabled-tests.x86.list
new file mode 100644
index 00000000000..703bd1953bb
--- /dev/null
+++ b/testing/php81/disabled-tests.x86.list
@@ -0,0 +1,8 @@
+ext/standard/tests/math/cos_basic.phpt
+ext/standard/tests/math/cos_variation.phpt
+ext/standard/tests/math/sin_basic.phpt
+ext/standard/tests/math/sin_variation.phpt
+ext/standard/tests/math/tan_variation.phpt
+
+# https://github.com/php/php-src/issues/12076
+ext/sqlite3/tests/sqlite3_bind_bug68849.phpt
diff --git a/testing/php81/fix-curl.patch b/testing/php81/fix-curl.patch
new file mode 100644
index 00000000000..c12313a3d10
--- /dev/null
+++ b/testing/php81/fix-curl.patch
@@ -0,0 +1,28 @@
+Patch-Source: https://github.com/php/php-src/commit/404803577db5e53209a5ae881c39c9092b7deacb
+From 404803577db5e53209a5ae881c39c9092b7deacb Mon Sep 17 00:00:00 2001
+From: Ayesh Karunaratne <ayesh@aye.sh>
+Date: Thu, 1 Feb 2024 02:03:55 +0700
+Subject: [PATCH] ext/curl: Fix failing tests due to string changes in libcurl
+ 8.6.0
+
+Upstream libcurl 8.6.0 contains a change[^1] that caused a test failure.
+This fixes it by updating the test's `EXPECTF` to use a regex to account for both string patterns.
+
+[^1]: https://github.com/curl/curl/commit/45cf4755e71f#diff-a8a54563608f8155973318f4ddb61d7328dab512b8ff2b5cc48cc76979d4204cL1683
+
+Closes GH-13293.
+---
+ NEWS | 2 ++
+ ext/curl/tests/bug77946.phpt | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/ext/curl/tests/bug77946.phpt b/ext/curl/tests/bug77946.phpt
+index 8b1e70675554f..7b836187d6bfb 100644
+--- a/ext/curl/tests/bug77946.phpt
++++ b/ext/curl/tests/bug77946.phpt
+@@ -34,4 +34,4 @@ curl_multi_close($mh);
+ --EXPECTF--
+ int(1)
+ int(1)
+-string(%d) "Protocol %Sunknown%S not supported or disabled in libcurl"
++string(%d) "Protocol %Sunknown%S %rnot supported( or disabled in libcurl)?%r"
diff --git a/testing/php81/fix-icu74.patch b/testing/php81/fix-icu74.patch
new file mode 100644
index 00000000000..077aa0b9735
--- /dev/null
+++ b/testing/php81/fix-icu74.patch
@@ -0,0 +1,13 @@
+https://github.com/php/php-src/issues/12635
+
+diff --git a/ext/intl/tests/bug69398.phpt b/ext/intl/tests/bug69398.phpt
+index 02c4b7daef..d7633d54bb 100644
+--- a/ext/intl/tests/bug69398.phpt
++++ b/ext/intl/tests/bug69398.phpt
+@@ -13,5 +13,5 @@
+ echo IntlDateFormatter::formatObject ($date, array(IntlDateFormatter::SHORT, IntlDateFormatter::NONE), 'ko_KR'), "\n";
+ ?>
+ --EXPECT--
+-04/04/2015
++4/4/15
+ 15. 4. 4.
diff --git a/testing/php81/fix-lfs64.patch b/testing/php81/fix-lfs64.patch
new file mode 100644
index 00000000000..e50904ac8c9
--- /dev/null
+++ b/testing/php81/fix-lfs64.patch
@@ -0,0 +1,30 @@
+Patch-Source: https://github.com/php/php-src/issues/11678
+
+diff --git a/main/streams/cast.c b/main/streams/cast.c
+index 3bad65fbac..05cab34658 100644
+--- a/main/streams/cast.c
++++ b/main/streams/cast.c
+@@ -102,8 +102,7 @@ static ssize_t stream_cookie_writer(void *cookie, const char *buffer, size_t siz
+ return php_stream_write(((php_stream *)cookie), (char *)buffer, size);
+ }
+
+-# ifdef COOKIE_SEEKER_USES_OFF64_T
+-static int stream_cookie_seeker(void *cookie, off64_t *position, int whence)
++static int stream_cookie_seeker(void *cookie, off_t *position, int whence)
+ {
+
+ *position = php_stream_seek((php_stream *)cookie, (zend_off_t)*position, whence);
+@@ -113,13 +112,6 @@ static int stream_cookie_seeker(void *cookie, off64_t *position, int whence)
+ }
+ return 0;
+ }
+-# else
+-static int stream_cookie_seeker(void *cookie, zend_off_t position, int whence)
+-{
+-
+- return php_stream_seek((php_stream *)cookie, position, whence);
+-}
+-# endif
+
+ static int stream_cookie_closer(void *cookie)
+ {
diff --git a/testing/php81/fix-libxml-1.patch b/testing/php81/fix-libxml-1.patch
new file mode 100644
index 00000000000..e6b113e2887
--- /dev/null
+++ b/testing/php81/fix-libxml-1.patch
@@ -0,0 +1,67 @@
+Patch-Source: https://github.com/php/php-src/commit/0a39890c967aa57225bb6bdf4821aff7a3a3c082
+From 0a39890c967aa57225bb6bdf4821aff7a3a3c082 Mon Sep 17 00:00:00 2001
+From: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
+Date: Fri, 1 Dec 2023 18:03:35 +0100
+Subject: [PATCH] Fix libxml2 2.12 build due to API breaks
+
+See https://github.com/php/php-src/actions/runs/7062192818/job/19225478601
+---
+ ext/libxml/libxml.c | 14 ++++++++++----
+ ext/soap/php_sdl.c | 2 +-
+ 2 files changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/ext/libxml/libxml.c b/ext/libxml/libxml.c
+index 22eb1901b8909..1de693892b7aa 100644
+--- a/ext/libxml/libxml.c
++++ b/ext/libxml/libxml.c
+@@ -472,7 +472,11 @@ static void _php_libxml_free_error(void *ptr)
+ xmlResetError((xmlErrorPtr) ptr);
+ }
+
+-static void _php_list_set_error_structure(xmlErrorPtr error, const char *msg)
++#if LIBXML_VERSION >= 21200
++static void _php_list_set_error_structure(const xmlError *error, const char *msg)
++#else
++static void _php_list_set_error_structure(xmlError *error, const char *msg)
++#endif
+ {
+ xmlError error_copy;
+ int ret;
+@@ -725,7 +729,11 @@ PHP_LIBXML_API void php_libxml_ctx_warning(void *ctx, const char *msg, ...)
+ va_end(args);
+ }
+
++#if LIBXML_VERSION >= 21200
++PHP_LIBXML_API void php_libxml_structured_error_handler(void *userData, const xmlError *error)
++#else
+ PHP_LIBXML_API void php_libxml_structured_error_handler(void *userData, xmlErrorPtr error)
++#endif
+ {
+ _php_list_set_error_structure(error, NULL);
+
+@@ -957,11 +965,9 @@ PHP_FUNCTION(libxml_use_internal_errors)
+ /* {{{ Retrieve last error from libxml */
+ PHP_FUNCTION(libxml_get_last_error)
+ {
+- xmlErrorPtr error;
+-
+ ZEND_PARSE_PARAMETERS_NONE();
+
+- error = xmlGetLastError();
++ const xmlError *error = xmlGetLastError();
+
+ if (error) {
+ object_init_ex(return_value, libxmlerror_class_entry);
+diff --git a/ext/soap/php_sdl.c b/ext/soap/php_sdl.c
+index 749f5a5685ec2..b731114775ad7 100644
+--- a/ext/soap/php_sdl.c
++++ b/ext/soap/php_sdl.c
+@@ -332,7 +332,7 @@ static void load_wsdl_ex(zval *this_ptr, char *struri, sdlCtx *ctx, int include)
+ sdl_restore_uri_credentials(ctx);
+
+ if (!wsdl) {
+- xmlErrorPtr xmlErrorPtr = xmlGetLastError();
++ const xmlError *xmlErrorPtr = xmlGetLastError();
+
+ if (xmlErrorPtr) {
+ soap_error2(E_ERROR, "Parsing WSDL: Couldn't load from '%s' : %s", struri, xmlErrorPtr->message);
diff --git a/testing/php81/fix-libxml-2.patch b/testing/php81/fix-libxml-2.patch
new file mode 100644
index 00000000000..ace186391f6
--- /dev/null
+++ b/testing/php81/fix-libxml-2.patch
@@ -0,0 +1,244 @@
+Patch-Source: https://github.com/php/php-src/commit/061058a9b1bbd90d27d97d79aebcf2b5029767b0
+From 061058a9b1bbd90d27d97d79aebcf2b5029767b0 Mon Sep 17 00:00:00 2001
+From: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
+Date: Wed, 29 Nov 2023 20:49:29 +0100
+Subject: [PATCH] Test fixes for libxml2 2.12.0
+
+---
+ NEWS | 1 +
+ ext/dom/tests/DOMDocument_loadXML_error1.phpt | 4 +++
+ .../DOMDocument_loadXML_error1_gte2_12.phpt | 26 ++++++++++++++++
+ .../DOMDocument_loadXML_error2_gte2_11.phpt | 2 +-
+ .../DOMDocument_loadXML_error2_gte2_12.phpt | 30 +++++++++++++++++++
+ ext/dom/tests/DOMDocument_load_error1.phpt | 4 +++
+ .../DOMDocument_load_error1_gte2_12.phpt | 26 ++++++++++++++++
+ .../DOMDocument_load_error2_gte2_11.phpt | 2 +-
+ .../DOMDocument_load_error2_gte2_12.phpt | 30 +++++++++++++++++++
+ ext/xml/tests/bug81351.phpt | 4 +--
+ ext/xml/tests/xml_error_string_basic.phpt | 6 ++--
+ 11 files changed, 128 insertions(+), 7 deletions(-)
+ create mode 100644 ext/dom/tests/DOMDocument_loadXML_error1_gte2_12.phpt
+ create mode 100644 ext/dom/tests/DOMDocument_loadXML_error2_gte2_12.phpt
+ create mode 100644 ext/dom/tests/DOMDocument_load_error1_gte2_12.phpt
+ create mode 100644 ext/dom/tests/DOMDocument_load_error2_gte2_12.phpt
+
+diff --git a/ext/dom/tests/DOMDocument_loadXML_error1.phpt b/ext/dom/tests/DOMDocument_loadXML_error1.phpt
+index 14d99e4ed9ad9..2af3217bd6c6a 100644
+--- a/ext/dom/tests/DOMDocument_loadXML_error1.phpt
++++ b/ext/dom/tests/DOMDocument_loadXML_error1.phpt
+@@ -1,5 +1,9 @@
+ --TEST--
+ Test DOMDocument::loadXML() detects not-well formed XML
++--SKIPIF--
++<?php
++if (LIBXML_VERSION >= 21200) die('skip libxml2 test variant for version < 2.12');
++?>
+ --DESCRIPTION--
+ This test verifies the method detects an opening and ending tag mismatch
+ Environment variables used in the test:
+diff --git a/ext/dom/tests/DOMDocument_loadXML_error1_gte2_12.phpt b/ext/dom/tests/DOMDocument_loadXML_error1_gte2_12.phpt
+new file mode 100644
+index 0000000000000..e1ded0ffadd7f
+--- /dev/null
++++ b/ext/dom/tests/DOMDocument_loadXML_error1_gte2_12.phpt
+@@ -0,0 +1,26 @@
++--TEST--
++Test DOMDocument::loadXML() detects not-well formed XML
++--SKIPIF--
++<?php
++if (LIBXML_VERSION < 21200) die('skip libxml2 test variant for version >= 2.12');
++?>
++--DESCRIPTION--
++This test verifies the method detects an opening and ending tag mismatch
++Environment variables used in the test:
++- XML_FILE: the xml file to load
++- LOAD_OPTIONS: the second parameter to pass to the method
++- EXPECTED_RESULT: the expected result
++--CREDITS--
++Antonio Diaz Ruiz <dejalatele@gmail.com>
++--EXTENSIONS--
++dom
++--ENV--
++XML_FILE=/not_well_formed.xml
++LOAD_OPTIONS=0
++EXPECTED_RESULT=0
++--FILE_EXTERNAL--
++domdocumentloadxml_test_method.inc
++--EXPECTF--
++Warning: DOMDocument::load%r(XML){0,1}%r(): Opening and ending tag mismatch: title line 5 and book %s
++
++Warning: DOMDocument::load%r(XML){0,1}%r(): %rexpected '>'|Opening and ending tag mismatch: book line (4|5) and books%r %s
+diff --git a/ext/dom/tests/DOMDocument_loadXML_error2_gte2_11.phpt b/ext/dom/tests/DOMDocument_loadXML_error2_gte2_11.phpt
+index ff5ceb3fbed53..f52d3348138c5 100644
+--- a/ext/dom/tests/DOMDocument_loadXML_error2_gte2_11.phpt
++++ b/ext/dom/tests/DOMDocument_loadXML_error2_gte2_11.phpt
+@@ -2,7 +2,7 @@
+ Test DOMDocument::loadXML() detects not-well formed XML
+ --SKIPIF--
+ <?php
+-if (LIBXML_VERSION < 21100) die('skip libxml2 test variant for version >= 2.11');
++if (LIBXML_VERSION < 21100 || LIBXML_VERSION >= 21200) die('skip libxml2 test variant for version >= 2.11 && <= 2.12');
+ ?>
+ --DESCRIPTION--
+ This test verifies the method detects attributes values not closed between " or '
+diff --git a/ext/dom/tests/DOMDocument_loadXML_error2_gte2_12.phpt b/ext/dom/tests/DOMDocument_loadXML_error2_gte2_12.phpt
+new file mode 100644
+index 0000000000000..6a3ff5841f565
+--- /dev/null
++++ b/ext/dom/tests/DOMDocument_loadXML_error2_gte2_12.phpt
+@@ -0,0 +1,30 @@
++--TEST--
++Test DOMDocument::loadXML() detects not-well formed XML
++--SKIPIF--
++<?php
++if (LIBXML_VERSION < 21200) die('skip libxml2 test variant for version >= 2.12');
++?>
++--DESCRIPTION--
++This test verifies the method detects attributes values not closed between " or '
++Environment variables used in the test:
++- XML_FILE: the xml file to load
++- LOAD_OPTIONS: the second parameter to pass to the method
++- EXPECTED_RESULT: the expected result
++--CREDITS--
++Antonio Diaz Ruiz <dejalatele@gmail.com>
++--EXTENSIONS--
++dom
++--ENV--
++XML_FILE=/not_well_formed2.xml
++LOAD_OPTIONS=0
++EXPECTED_RESULT=0
++--FILE_EXTERNAL--
++domdocumentloadxml_test_method.inc
++--EXPECTF--
++Warning: DOMDocument::loadXML(): AttValue: " or ' expected in Entity, line: 4 in %s on line %d
++
++Warning: DOMDocument::loadXML(): internal error: xmlParseStartTag: problem parsing attributes in Entity, line: 4 in %s on line %d
++
++Warning: DOMDocument::loadXML(): Couldn't find end of Start Tag book line 4 in Entity, line: 4 in %s on line %d
++
++Warning: DOMDocument::loadXML(): Opening and ending tag mismatch: books line 3 and book in Entity, line: 7 in %s on line %d
+diff --git a/ext/dom/tests/DOMDocument_load_error1.phpt b/ext/dom/tests/DOMDocument_load_error1.phpt
+index f736b0a0e81c6..2da8c0cd18b4e 100644
+--- a/ext/dom/tests/DOMDocument_load_error1.phpt
++++ b/ext/dom/tests/DOMDocument_load_error1.phpt
+@@ -1,5 +1,9 @@
+ --TEST--
+ Test DOMDocument::load() detects not-well formed XML
++--SKIPIF--
++<?php
++if (LIBXML_VERSION >= 21200) die('skip libxml2 test variant for version < 2.12');
++?>
+ --DESCRIPTION--
+ This test verifies the method detects an opening and ending tag mismatch
+ Environment variables used in the test:
+diff --git a/ext/dom/tests/DOMDocument_load_error1_gte2_12.phpt b/ext/dom/tests/DOMDocument_load_error1_gte2_12.phpt
+new file mode 100644
+index 0000000000000..183c8406fdfc8
+--- /dev/null
++++ b/ext/dom/tests/DOMDocument_load_error1_gte2_12.phpt
+@@ -0,0 +1,26 @@
++--TEST--
++Test DOMDocument::load() detects not-well formed XML
++--SKIPIF--
++<?php
++if (LIBXML_VERSION < 21200) die('skip libxml2 test variant for version >= 2.12');
++?>
++--DESCRIPTION--
++This test verifies the method detects an opening and ending tag mismatch
++Environment variables used in the test:
++- XML_FILE: the xml file to load
++- LOAD_OPTIONS: the second parameter to pass to the method
++- EXPECTED_RESULT: the expected result
++--CREDITS--
++Antonio Diaz Ruiz <dejalatele@gmail.com>
++--EXTENSIONS--
++dom
++--ENV--
++XML_FILE=/not_well_formed.xml
++LOAD_OPTIONS=0
++EXPECTED_RESULT=0
++--FILE_EXTERNAL--
++domdocumentload_test_method.inc
++--EXPECTF--
++Warning: DOMDocument::load%r(XML){0,1}%r(): Opening and ending tag mismatch: title line 5 and book %s
++
++Warning: DOMDocument::load%r(XML){0,1}%r(): %rexpected '>'|Opening and ending tag mismatch: book line (4|5) and books%r %s
+diff --git a/ext/dom/tests/DOMDocument_load_error2_gte2_11.phpt b/ext/dom/tests/DOMDocument_load_error2_gte2_11.phpt
+index 32b6bf161142e..4d9f992b3bafd 100644
+--- a/ext/dom/tests/DOMDocument_load_error2_gte2_11.phpt
++++ b/ext/dom/tests/DOMDocument_load_error2_gte2_11.phpt
+@@ -2,7 +2,7 @@
+ Test DOMDocument::load() detects not-well formed
+ --SKIPIF--
+ <?php
+-if (LIBXML_VERSION < 21100) die('skip libxml2 test variant for version >= 2.11');
++if (LIBXML_VERSION < 21100 || LIBXML_VERSION >= 21200) die('skip libxml2 test variant for version >= 2.11 && <= 2.12');
+ ?>
+ --DESCRIPTION--
+ This test verifies the method detects attributes values not closed between " or '
+diff --git a/ext/dom/tests/DOMDocument_load_error2_gte2_12.phpt b/ext/dom/tests/DOMDocument_load_error2_gte2_12.phpt
+new file mode 100644
+index 0000000000000..4fadf41736124
+--- /dev/null
++++ b/ext/dom/tests/DOMDocument_load_error2_gte2_12.phpt
+@@ -0,0 +1,30 @@
++--TEST--
++Test DOMDocument::load() detects not-well formed
++--SKIPIF--
++<?php
++if (LIBXML_VERSION < 21200) die('skip libxml2 test variant for version >= 2.12');
++?>
++--DESCRIPTION--
++This test verifies the method detects attributes values not closed between " or '
++Environment variables used in the test:
++- XML_FILE: the xml file to load
++- LOAD_OPTIONS: the second parameter to pass to the method
++- EXPECTED_RESULT: the expected result
++--CREDITS--
++Antonio Diaz Ruiz <dejalatele@gmail.com>
++--EXTENSIONS--
++dom
++--ENV--
++XML_FILE=/not_well_formed2.xml
++LOAD_OPTIONS=0
++EXPECTED_RESULT=0
++--FILE_EXTERNAL--
++domdocumentload_test_method.inc
++--EXPECTF--
++Warning: DOMDocument::load(): AttValue: " or ' expected in %s on line %d
++
++Warning: DOMDocument::load(): internal error: xmlParseStartTag: problem parsing attributes in %s on line %d
++
++Warning: DOMDocument::load(): Couldn't find end of Start Tag book line 4 in %s on line %d
++
++Warning: DOMDocument::load(): Opening and ending tag mismatch: books line 3 and book in %s on line %d
+diff --git a/ext/xml/tests/bug81351.phpt b/ext/xml/tests/bug81351.phpt
+index 78aea041046f7..7380a9a937008 100644
+--- a/ext/xml/tests/bug81351.phpt
++++ b/ext/xml/tests/bug81351.phpt
+@@ -21,6 +21,6 @@ $code = xml_get_error_code($parser);
+ $error = xml_error_string($code);
+ echo "xml_parse returned $success, xml_get_error_code = $code, xml_error_string = $error\r\n";
+ ?>
+---EXPECT--
++--EXPECTF--
+ xml_parse returned 1, xml_get_error_code = 0, xml_error_string = No error
+-xml_parse returned 0, xml_get_error_code = 5, xml_error_string = Invalid document end
++%rxml_parse returned 0, xml_get_error_code = 5, xml_error_string = Invalid document end|xml_parse returned 0, xml_get_error_code = 77, xml_error_string = Tag not finished%r
+diff --git a/ext/xml/tests/xml_error_string_basic.phpt b/ext/xml/tests/xml_error_string_basic.phpt
+index 86dede1730f7e..a23ec8741d592 100644
+--- a/ext/xml/tests/xml_error_string_basic.phpt
++++ b/ext/xml/tests/xml_error_string_basic.phpt
+@@ -21,9 +21,9 @@ foreach ($xmls as $xml) {
+ xml_parser_free($xml_parser);
+ }
+ ?>
+---EXPECT--
+-int(5)
+-string(20) "Invalid document end"
++--EXPECTF--
++int(%r5|77%r)
++string(%d) %r"Invalid document end"|"Tag not finished"%r
+ int(47)
+ string(35) "Processing Instruction not finished"
+ int(57)
diff --git a/testing/php81/fix-s390x-test.patch b/testing/php81/fix-s390x-test.patch
new file mode 100644
index 00000000000..dc4b55a95d7
--- /dev/null
+++ b/testing/php81/fix-s390x-test.patch
@@ -0,0 +1,42 @@
+Patch-Source: https://github.com/php/php-src/commit/962c082a5b7b94f7a3779378e8ab83bedb4445ad
+From 962c082a5b7b94f7a3779378e8ab83bedb4445ad Mon Sep 17 00:00:00 2001
+From: Anatol Belski <ab@php.net>
+Date: Sun, 2 Oct 2022 19:54:34 +0200
+Subject: [PATCH] fileinfo: Fix expected values for test on s390x
+
+The peak memory usage increased by the blanket 1mb on s390 only.
+This is good to note but otherwise seems acceptable, so just
+adjusting the test is fine.
+
+Signed-off-by: Anatol Belski <ab@php.net>
+---
+ ext/fileinfo/tests/bug78987.phpt | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/ext/fileinfo/tests/bug78987.phpt b/ext/fileinfo/tests/bug78987.phpt
+index 617d8ca4412d..423ecb1b8517 100644
+--- a/ext/fileinfo/tests/bug78987.phpt
++++ b/ext/fileinfo/tests/bug78987.phpt
+@@ -11,14 +11,14 @@ $minSize = 128 * 1024;
+ $maxSize = 16 * 1024 * 1024;
+
+ $map = array(
+- 131072 => 9113600,
+- 262144 => 9113600,
+- 524288 => 10850304,
+- 1048576 => 11210752,
+- 2097152 => 13312000,
+- 4194304 => 17510400,
+- 8388608 => 23801856,
+- 16777216 => 36384768,
++ 131072 => 10055680,
++ 262144 => 10055680,
++ 524288 => 11898880,
++ 1048576 => 12152832,
++ 2097152 => 14254080,
++ 4194304 => 18452480,
++ 8388608 => 24743936,
++ 16777216 => 37326848,
+ );
+ for($size = $minSize; $size <= $maxSize; $size *= 2) {
+ $content = str_repeat('0', $size);
diff --git a/testing/php81/php81-fpm.initd b/testing/php81/php81-fpm.initd
index ce9437957ee..87a54b27f6f 100644
--- a/testing/php81/php81-fpm.initd
+++ b/testing/php81/php81-fpm.initd
@@ -8,7 +8,7 @@
: ${name:="PHP FastCGI Process Manager"}
-command="/usr/sbin/php-fpm8"
+command="/usr/sbin/php-fpm81"
command_background="yes"
start_stop_daemon_args="--quiet"
pidfile="/run/$RC_SVCNAME/php-fpm.pid"
diff --git a/testing/php81/xfail-openssl-1.1-test.patch b/testing/php81/xfail-openssl-1.1-test.patch
deleted file mode 100644
index 18fefe64796..00000000000
--- a/testing/php81/xfail-openssl-1.1-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/ext/openssl/tests/openssl_error_string_basic.phpt b/ext/openssl/tests/openssl_error_string_basic.phpt
-index e4ea264b3b..fd1f7ef9d3 100644
---- a/ext/openssl/tests/openssl_error_string_basic.phpt
-+++ b/ext/openssl/tests/openssl_error_string_basic.phpt
-@@ -6,6 +6,8 @@ openssl
- <?php
- if (OPENSSL_VERSION_NUMBER >= 0x30000000) die('skip For OpenSSL < 3.0');
- ?>
-+--XFAIL--
-+Somehow unstable
- --FILE--
- <?php
- // helper function to check openssl errors
diff --git a/testing/php82-pdlib/APKBUILD b/testing/php82-pdlib/APKBUILD
new file mode 100644
index 00000000000..62502bb7b09
--- /dev/null
+++ b/testing/php82-pdlib/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: goodspb <goodspb.luo@gmail.com>
+# Contributor: Adriaan Groenenboom <agboom@pm.me>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pdlib
+_extname=pdlib
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="PHP 8.2 extension for Dlib"
+url="https://github.com/goodspb/pdlib"
+# x86, s390x: check fails
+# ppc64le: fails to build https://github.com/goodspb/pdlib/issues/19
+arch="all !x86 !s390x !ppc64le"
+license="MIT"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common dlib"
+makedepends="dlib-dev $_php-dev $_php-bz2"
+source="php-$_extname-$pkgver.tar.gz::https://github.com/goodspb/$_extname/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
+ make
+}
+
+check() {
+ # Tests require bz2 extension which is not bundled
+ local _modules=/usr/lib/$_php/modules
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
+ TESTS=--show-diff SKIP_ONLINE_TESTS=1 \
+ PHP_TEST_SHARED_EXTENSIONS=" \
+ -d extension=$_modules/bz2.so \
+ -d extension=modules/$_extname.so"
+ $_php -dextension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+a87316495c04e5ca9b8b6980f859b1e9b4cfccc9b9ad0ab5f83320f2e9bc2f92a006fe0fe9621b21a9755efdf719e533519dfc2319d437a5475e067d5e633661 php-pdlib-1.1.0.tar.gz
+"
diff --git a/testing/php82-pecl-apfd/APKBUILD b/testing/php82-pecl-apfd/APKBUILD
new file mode 100644
index 00000000000..6bc29e80f99
--- /dev/null
+++ b/testing/php82-pecl-apfd/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-apfd
+_extname=apfd
+pkgver=1.0.3
+pkgrel=0
+pkgdesc="PHP 8.2 extension for always populate form data - PECL"
+url="https://pecl.php.net/package/apfd"
+arch="all"
+license="BSD-2-Clause"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+checkdepends="$_php-cgi"
+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() {
+ $_php -d extension="$builddir"/modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ mkdir -p $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+1290594de5d2992cb2d46308ee5c3f44d30dc478afc60ce38f1bc3215c56fa3f396e6a8a90ed9288d4c5c61e8f8bdf77c682bfa0d83494647c61e0920048ea59 php-pecl-apfd-1.0.3.tgz
+"
diff --git a/testing/php82-pecl-excimer/APKBUILD b/testing/php82-pecl-excimer/APKBUILD
new file mode 100644
index 00000000000..1657b60af61
--- /dev/null
+++ b/testing/php82-pecl-excimer/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-excimer
+_extname=excimer
+pkgver=1.2.1
+pkgrel=0
+pkgdesc="Interrupting timer and low-overhead sampling profiler PHP 8.2 - PECL"
+url="https://pecl.php.net/package/excimer"
+arch="all"
+license="Apache-2.0"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir"/$_extname-$pkgver
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ $_php -d extension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+a5616fd1897342c0dc59cf8551ed498b88520e66b9c2a2e031df670c447c42243946ed1c2f0b1171bcb2be9777a8796d4caa4fb7c636f5d6fad03a62509ce3fd php-pecl-excimer-1.2.1.tar.gz
+"
diff --git a/testing/php82-pecl-immutable_cache/APKBUILD b/testing/php82-pecl-immutable_cache/APKBUILD
new file mode 100644
index 00000000000..11f85f5bfce
--- /dev/null
+++ b/testing/php82-pecl-immutable_cache/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Andy Postnikov <apostnikov@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+
+pkgname=php82-pecl-immutable_cache
+_extname=immutable_cache
+pkgver=6.1.0
+pkgrel=0
+pkgdesc="PHP 8.2 extension shared memory cache of immutable values - PECL"
+url="https://pecl.php.net/package/immutable_cache"
+arch="all"
+license="PHP-3.01"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-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() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ $_php -dextension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+7e3c8cc0bd5f7bbb94adf676d598cc0258d2f105cb56aeb355cb94c955d10d74520f6444f8123d9a7c579663e6e3510f0260b3450fa83d283a30972cce119aff php-pecl-immutable_cache-6.1.0.tgz
+"
diff --git a/testing/php82-pecl-jsmin/APKBUILD b/testing/php82-pecl-jsmin/APKBUILD
new file mode 100644
index 00000000000..1097cb17546
--- /dev/null
+++ b/testing/php82-pecl-jsmin/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-jsmin
+_extname=jsmin
+pkgver=3.0.0
+pkgrel=0
+_jqver=2.1.3
+pkgdesc="PHP 8.2 extension for minifying JavaScript - PECL"
+url="https://pecl.php.net/package/jsmin"
+arch="all !ppc64le" # test fails on builder
+license="PHP-3.01"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
+ jquery-$_jqver.js::https://github.com/sqmk/pecl-jsmin/raw/v$pkgver/tests/data/jquery-$_jqver.js
+ fix-php8.patch
+ fix-tests.patch
+ "
+builddir="$srcdir/$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ mkdir -p tests/data
+ cp "$srcdir"/jquery-$_jqver.js tests/data/
+
+ case "$CARCH" in
+ aarch64|x86_64) rm tests/call-multiple-times.phpt ;;
+ esac
+ $_php -dextension=modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS='--show-diff '
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+a465ae024a49bb8ac20463efc6b2546021806c2c43053f42c7ebfea4924b9b647b6e7c0c673102e12ecd8b693666441dc07203edef216eee958fa62f73056ea6 php-pecl-jsmin-3.0.0.tgz
+b8eb1a740c63feaab8ac24d87f39f4cfe263694c972f4978b9f0e3092f912a722596fd094dd637d22f03816617e13210bf11fad9a545dbb0423dc821c827081e jquery-2.1.3.js
+72f4ea4aad457d1a557e05ff8457a689ea75419e414b0893c2bdf5d7216d70b7c26a4993e3c9fa97de3409d080b3cf2a5bd2f0c4b050854c02f08ac592da1f85 fix-php8.patch
+e44a2615d98d786e0188d3880b41f267dab2fa215fb17cd37b17f8cc499bee7dd9e4fe1def4707dbd6769fa40ba2dbf7895ba3544db427a7d851f69a515fa83c fix-tests.patch
+"
diff --git a/testing/php82-pecl-jsmin/fix-php8.patch b/testing/php82-pecl-jsmin/fix-php8.patch
new file mode 100644
index 00000000000..c8be3069563
--- /dev/null
+++ b/testing/php82-pecl-jsmin/fix-php8.patch
@@ -0,0 +1,87 @@
+From 3e49feb8362f14d6f13d79c9533edd900bbf1d21 Mon Sep 17 00:00:00 2001
+From: Qiangjun Ran <ranqiangjun@gmail.com>
+Date: Tue, 8 Jun 2021 14:43:34 +0800
+Subject: [PATCH] PHP 8 support
+
+Patch-Source: https://github.com/sqmk/pecl-jsmin/pull/59
+---
+ jsmin.c | 8 ++++----
+ jsmin.h | 4 ++--
+ php_jsmin.c | 6 +++---
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/jsmin.c b/jsmin.c
+index 2744aef..773dc09 100644
+--- a/jsmin.c
++++ b/jsmin.c
+@@ -34,7 +34,7 @@ SOFTWARE.
+ */
+
+ static jsmin_obj*
+-new_jsmin_obj(char *javascript TSRMLS_DC)
++new_jsmin_obj(char *javascript)
+ {
+ jsmin_obj *jmo = ecalloc(1, sizeof(jsmin_obj));
+ jmo->javascript = javascript;
+@@ -48,7 +48,7 @@ new_jsmin_obj(char *javascript TSRMLS_DC)
+ /* free_jsmin_obj -- frees up memory on struct
+ */
+ void
+-free_jsmin_obj(jsmin_obj *jmo TSRMLS_DC)
++free_jsmin_obj(jsmin_obj *jmo)
+ {
+ smart_string_free(&jmo->buffer);
+ efree(jmo);
+@@ -250,9 +250,9 @@ jsmin_action(int d, jsmin_obj *jmo)
+ */
+
+ jsmin_obj*
+-jsmin(char *javascript TSRMLS_DC)
++jsmin(char *javascript)
+ {
+- jsmin_obj *jmo = new_jsmin_obj(javascript TSRMLS_CC);
++ jsmin_obj *jmo = new_jsmin_obj(javascript);
+
+ jsmin_action(3, jmo);
+ while (jmo->theA != 0) {
+diff --git a/jsmin.h b/jsmin.h
+index 317b90b..0bda630 100644
+--- a/jsmin.h
++++ b/jsmin.h
+@@ -25,7 +25,7 @@ enum error_codes {
+ PHP_JSMIN_ERROR_UNTERMINATED_REGEX
+ };
+
+-extern jsmin_obj* jsmin(char *javascript TSRMLS_DC);
+-extern void free_jsmin_obj(jsmin_obj *jmo TSRMLS_DC);
++extern jsmin_obj* jsmin(char *javascript);
++extern void free_jsmin_obj(jsmin_obj *jmo);
+
+ #endif
+diff --git a/php_jsmin.c b/php_jsmin.c
+index a9783d4..6cc034a 100644
+--- a/php_jsmin.c
++++ b/php_jsmin.c
+@@ -105,11 +105,11 @@ PHP_FUNCTION(jsmin)
+
+ zval *ret_code = NULL;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z/", &javascript, &javascript_len, &ret_code) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|z/", &javascript, &javascript_len, &ret_code) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+- jmo = jsmin(javascript TSRMLS_CC);
++ jmo = jsmin(javascript);
+ if (ret_code) {
+ zval_dtor(ret_code);
+ ZVAL_LONG(ret_code, jmo->errorCode);
+@@ -121,7 +121,7 @@ PHP_FUNCTION(jsmin)
+ } else {
+ ZVAL_STRINGL(return_value, jmo->buffer.c, jmo->buffer.len);
+ }
+- free_jsmin_obj(jmo TSRMLS_CC);
++ free_jsmin_obj(jmo);
+ }
+ /* }}} */
+
diff --git a/testing/php8-pecl-jsmin/fix-tests.patch b/testing/php82-pecl-jsmin/fix-tests.patch
index d7b9c636af6..d7b9c636af6 100644
--- a/testing/php8-pecl-jsmin/fix-tests.patch
+++ b/testing/php82-pecl-jsmin/fix-tests.patch
diff --git a/testing/php82-pecl-oauth/APKBUILD b/testing/php82-pecl-oauth/APKBUILD
new file mode 100644
index 00000000000..03b7835d108
--- /dev/null
+++ b/testing/php82-pecl-oauth/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-oauth
+_extname=oauth
+pkgver=2.0.8
+pkgrel=0
+pkgdesc="PHP 8.2 extension, OAuth is an authorization protocol built on top of HTTP - PECL"
+url="https://pecl.php.net/package/oauth"
+arch="all"
+license="BSD-3-Clause"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev curl-dev"
+checkdepends="$_php-openssl $_php-pcntl $_php-posix"
+#source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
+source="php-$_extname-$pkgver.tgz::https://github.com/php/pecl-web_services-oauth/archive/refs/tags/$pkgver.tar.gz
+ fix-php-8-2.patch::https://github.com/php/pecl-web_services-oauth/commit/36a08239bf62c6fbc39ce38cf95ed42e098c022d.patch
+ fix-tests.patch
+ "
+builddir="$srcdir/pecl-web_services-$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=php-config$_phpv
+ make
+}
+
+check() {
+ local _modules="/usr/lib/$_php/modules"
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
+ PHP_TEST_SHARED_EXTENSIONS=" \
+ -d extension=$_modules/openssl.so \
+ -d extension=$_modules/pcntl.so \
+ -d extension=$_modules/posix.so \
+ -d extension=modules/$_extname.so" TESTS=--show-diff
+ $_php -dextension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/60_$_extname.ini
+}
+
+sha512sums="
+93ca722f70760db95c53fcf19cbc3175920785186c89bd50a7d30e952d5cc9dc4ce6758324b770a60a759a748cf44c3c9caae52e629e6f5578b4c2c1a07ee950 php-oauth-2.0.8.tgz
+db69d0e8a2e5471c5d38aec8050796913c363908d21a00d373348e88990683e63d90bdc2a0150733d7c568e077f52922f65ff62a2099d9f2285388d441494b47 fix-php-8-2.patch
+8944170fbc9e2e42a76fe9444e94cf28485ef3c2bac5e755a66eca93531f0c526acc23a30dcb5a273a598ccb377ce367cb6b673948c46f1e0e2478e71ebc5e38 fix-tests.patch
+"
diff --git a/testing/php82-pecl-oauth/fix-tests.patch b/testing/php82-pecl-oauth/fix-tests.patch
new file mode 100644
index 00000000000..ad8eb4a8c7e
--- /dev/null
+++ b/testing/php82-pecl-oauth/fix-tests.patch
@@ -0,0 +1,85 @@
+From 66e8e9cf9805c96dd9aa6a7c08ec0da5c2c6b656 Mon Sep 17 00:00:00 2001
+From: Remi Collet <remi@php.net>
+Date: Fri, 9 Sep 2022 14:03:57 +0200
+Subject: [PATCH] fix for php 8.2: declare used properties
+
+---
+ oauth.c | 1 +
+ provider.c | 13 +++++++++++++
+ tests/oauthprovider_001.phpt | 12 ++++++++----
+ 3 files changed, 22 insertions(+), 4 deletions(-)
+
+diff --git a/oauth.c b/oauth.c
+index f845893..46eccda 100644
+--- a/oauth.c
++++ b/oauth.c
+@@ -2781,6 +2781,7 @@ PHP_MINIT_FUNCTION(oauth)
+ soo_exception_ce = zend_register_internal_class_ex(&soo_ex_ce, zend_exception_get_default());
+ zend_declare_property_null(soo_exception_ce, "lastResponse", sizeof("lastResponse")-1, ZEND_ACC_PUBLIC);
+ zend_declare_property_null(soo_exception_ce, "debugInfo", sizeof("debugInfo")-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(soo_exception_ce, "additionalInfo", sizeof("additionalInfo")-1, ZEND_ACC_PUBLIC);
+
+ REGISTER_STRING_CONSTANT("OAUTH_SIG_METHOD_HMACSHA1", OAUTH_SIG_METHOD_HMACSHA1, CONST_CS | CONST_PERSISTENT);
+ REGISTER_STRING_CONSTANT("OAUTH_SIG_METHOD_HMACSHA256", OAUTH_SIG_METHOD_HMACSHA256, CONST_CS | CONST_PERSISTENT);
+diff --git a/provider.c b/provider.c
+index 45880fb..43f2bc0 100644
+--- a/provider.c
++++ b/provider.c
+@@ -1184,6 +1184,19 @@ extern int oauth_provider_register_class(void) /* {{{ */
+ osce.create_object = oauth_provider_new;
+ oauthprovider = zend_register_internal_class(&osce);
+
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_CONSUMER_KEY, sizeof(OAUTH_PROVIDER_CONSUMER_KEY)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_CONSUMER_SECRET, sizeof(OAUTH_PROVIDER_CONSUMER_SECRET)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_SIGNATURE, sizeof(OAUTH_PROVIDER_SIGNATURE)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_SIGNATURE_METHOD, sizeof(OAUTH_PROVIDER_SIGNATURE_METHOD)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_TOKEN, sizeof(OAUTH_PROVIDER_TOKEN)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_TOKEN_SECRET, sizeof(OAUTH_PROVIDER_TOKEN_SECRET)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_NONCE, sizeof(OAUTH_PROVIDER_NONCE)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_TIMESTAMP, sizeof(OAUTH_PROVIDER_TIMESTAMP)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_VERSION, sizeof(OAUTH_PROVIDER_VERSION)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_CALLBACK, sizeof(OAUTH_PROVIDER_CALLBACK)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, OAUTH_PROVIDER_VERIFIER, sizeof(OAUTH_PROVIDER_VERIFIER)-1, ZEND_ACC_PUBLIC);
++ zend_declare_property_null(oauthprovider, "request_token_endpoint", sizeof("request_token_endpoint")-1, ZEND_ACC_PUBLIC);
++
+ memcpy(&oauth_provider_obj_hndlrs, zend_get_std_object_handlers(), sizeof(zend_object_handlers));
+ oauth_provider_obj_hndlrs.offset = XtOffsetOf(php_oauth_provider, zo);
+ oauth_provider_obj_hndlrs.free_obj = oauth_provider_free_storage;
+diff --git a/tests/oauthprovider_001.phpt b/tests/oauthprovider_001.phpt
+index e93af65..ab005c4 100644
+--- a/tests/oauthprovider_001.phpt
++++ b/tests/oauthprovider_001.phpt
+@@ -6,25 +6,29 @@ $provider = new OAuthProvider(['foo' => 'bar']);
+ var_dump($provider);
+
+ --EXPECT--
+-object(OAuthProvider)#1 (10) {
++object(OAuthProvider)#1 (12) {
+ ["consumer_key"]=>
+ NULL
+ ["consumer_secret"]=>
+ NULL
+- ["nonce"]=>
++ ["signature"]=>
++ NULL
++ ["signature_method"]=>
+ NULL
+ ["token"]=>
+ NULL
+ ["token_secret"]=>
+ NULL
++ ["nonce"]=>
++ NULL
+ ["timestamp"]=>
+ NULL
+ ["version"]=>
+ NULL
+- ["signature_method"]=>
+- NULL
+ ["callback"]=>
+ NULL
++ ["verifier"]=>
++ NULL
+ ["request_token_endpoint"]=>
+ bool(false)
+ }
diff --git a/testing/php82-pecl-phalcon/APKBUILD b/testing/php82-pecl-phalcon/APKBUILD
new file mode 100644
index 00000000000..2e96c17f167
--- /dev/null
+++ b/testing/php82-pecl-phalcon/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-phalcon
+_extname=phalcon
+pkgver=5.6.2
+pkgrel=0
+pkgdesc="High performance, full-stack PHP 8.2 framework delivered as a C extension"
+url="https://phalcon.io/"
+arch="all"
+license="BSD-3-Clause"
+_phpv=82
+_php=php$_phpv
+depends="
+ $_php-curl
+ $_php-fileinfo
+ $_php-gettext
+ $_php-mbstring
+ $_php-openssl
+ $_php-pdo
+ $_php-session
+ $_php-pecl-psr
+ "
+makedepends="$_php-dev"
+source="php-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir/$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ # no tests provided
+ $_php -d extension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+27fb1ba24ea6444abba142acf9fa717a9d69fbfb719335358a29d2f74e8ad6c4e76c310a7144cfb34628cd228e239de1bdca6c3365111a4fe588966ab195c7e0 php-phalcon-5.6.2.tgz
+"
diff --git a/testing/php82-pecl-runkit7/APKBUILD b/testing/php82-pecl-runkit7/APKBUILD
new file mode 100644
index 00000000000..26608f9ed5c
--- /dev/null
+++ b/testing/php82-pecl-runkit7/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-runkit7
+_extname=runkit7
+pkgver=4.0.0_alpha6
+pkgrel=1
+pkgdesc="PHP 8.2 extension for replace, rename, and remove user defined functions, methods, and constants - PECL"
+url="https://pecl.php.net/package/runkit7"
+arch="all"
+license="BSD-3-Clause"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-${pkgver//_alpha/a}.tgz"
+builddir="$srcdir/$_extname-${pkgver//_alpha/a}"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ $_php -dextension=modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+fd54b395ab07806035d18ba4efa4337304c345d8800063755c94b0b776b254b41ed7932ca0a9e366fe8f0a8e4e184355ed2e1b3452fbe3c45e6fa28750aa956e php-pecl-runkit7-4.0.0_alpha6.tgz
+"
diff --git a/testing/php82-pecl-teds/APKBUILD b/testing/php82-pecl-teds/APKBUILD
new file mode 100644
index 00000000000..e3a37114e77
--- /dev/null
+++ b/testing/php82-pecl-teds/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-teds
+_extname=teds
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="PHP 8.2 extra data structures and iterable/array functionality - PECL"
+url="https://pecl.php.net/package/teds"
+arch="all"
+license="BSD-3-Clause"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir"/$_extname-$pkgver
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+24950e4a2f6b346fb83eb639ba7333d3408e549ef8b9e25a8dbd210474c5adaa35dcaf373ed96c361a09d72ae7c1fdf58c24d9a373df099b50877a41b311fe28 php-pecl-teds-1.3.0.tar.gz
+"
diff --git a/testing/php82-pecl-vld/APKBUILD b/testing/php82-pecl-vld/APKBUILD
new file mode 100644
index 00000000000..836a973671e
--- /dev/null
+++ b/testing/php82-pecl-vld/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-vld
+_extname=vld
+pkgver=0.18.0
+pkgrel=0
+pkgdesc="PHP extension to dump the internal representation of PHP 8.2 scripts - PECL"
+url="https://pecl.php.net/package/vld"
+arch="all"
+license="BSD-3-Clause"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir"/$_extname-$pkgver
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ $_php -d extension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+da4a675fc29f9d296c7d444cf6d2408e747326fb89e6c4752e4829997fd89ea40433cb183c0af49c69ded0c2a22954c951a765662243ffe0cba70684ab0a4f18 php-pecl-vld-0.18.0.tar.gz
+"
diff --git a/testing/php82-pecl-zephir_parser/APKBUILD b/testing/php82-pecl-zephir_parser/APKBUILD
new file mode 100644
index 00000000000..d42ef62d729
--- /dev/null
+++ b/testing/php82-pecl-zephir_parser/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-pecl-zephir_parser
+_extname=zephir_parser
+pkgver=1.6.0
+pkgrel=0
+pkgdesc="Zephir Parser is a code parser, delivered as a C extension for the PHP 8.2 language - PECL"
+url="https://pecl.php.net/package/zephir_parser"
+arch="all"
+license="MIT"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir"/$_extname-$pkgver
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ echo "$pkgver" > VERSION
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS="${TESTS:- --show-diff }"
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+84195c5702a12b1c6f9f027d2d0651bc7fb762cf71f4c7b4c9bc36b35fb92db54b994f5d2b0502d21b1dd8bb03710a72e4f0790b621edd2c1c69a10043b5d2ad php-pecl-zephir_parser-1.6.0.tar.gz
+"
diff --git a/testing/php82-snappy/APKBUILD b/testing/php82-snappy/APKBUILD
new file mode 100644
index 00000000000..a491e364ff2
--- /dev/null
+++ b/testing/php82-snappy/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Andy Postnikov <apostnikov@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php82-snappy
+_extname=snappy
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="Snappy extension for PHP 8.2"
+url="https://github.com/kjdev/php-ext-snappy"
+arch="all"
+license="PHP-3.01"
+_phpv=82
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev $_php-pecl-apcu snappy-dev"
+source="php-$_extname-$pkgver.tar.gz::https://github.com/kjdev/php-ext-snappy/archive/$pkgver.tar.gz
+ https://github.com/kjdev/php-ext-snappy/commit/c27f830dcfe6c41eb2619a374de10fd0597f4939.patch
+ "
+builddir="$srcdir/php-ext-snappy-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure \
+ --prefix=/usr \
+ --with-php-config=php-config$_phpv \
+ --with-snappy-includedir
+ make
+}
+
+check() {
+ local _modules=/usr/lib/$_php/modules
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
+ SKIP_ONLINE_TESTS=1 PHP_TEST_SHARED_EXTENSIONS=" \
+ -d extension=$_modules/apcu.so \
+ -d extension=modules/$_extname.so" TESTS=--show-diff
+ $_php -d extension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir"/ install
+ local confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $confdir
+ echo "extension=$_extname" > $confdir/50_$_extname.ini
+}
+
+sha512sums="
+51cdfe7c5d020cb954cbf555038aca8398867584a587eb838f07089612d3978a182d0bc04015608a2aaf71bf9a5b5896e5d92b56f3b2d5fe9e1116f9509acb1e php-snappy-0.2.1.tar.gz
+4f45438e6f5b8784bff45c5791628af905c70a4b1adf1f3b7248f52d7b41648b07e10e833f3f3ae60f24d421ad302a8a1ab4e464697df9bc36b8fc7a3f0cb3cc c27f830dcfe6c41eb2619a374de10fd0597f4939.patch
+"
diff --git a/testing/php83-pecl-apfd/APKBUILD b/testing/php83-pecl-apfd/APKBUILD
new file mode 100644
index 00000000000..23e79b4fa62
--- /dev/null
+++ b/testing/php83-pecl-apfd/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php83-pecl-apfd
+_extname=apfd
+pkgver=1.0.3
+pkgrel=0
+pkgdesc="PHP 8.3 extension for always populate form data - PECL"
+url="https://pecl.php.net/package/apfd"
+arch="all"
+license="BSD-2-Clause"
+_phpv=83
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+checkdepends="$_php-cgi"
+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() {
+ $_php -d extension="$builddir"/modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ mkdir -p $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+1290594de5d2992cb2d46308ee5c3f44d30dc478afc60ce38f1bc3215c56fa3f396e6a8a90ed9288d4c5c61e8f8bdf77c682bfa0d83494647c61e0920048ea59 php-pecl-apfd-1.0.3.tgz
+"
diff --git a/testing/php83-pecl-eio/APKBUILD b/testing/php83-pecl-eio/APKBUILD
new file mode 100644
index 00000000000..8c3a3921562
--- /dev/null
+++ b/testing/php83-pecl-eio/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php83-pecl-eio
+_extname=eio
+pkgver=3.1.3
+pkgrel=0
+pkgdesc="Interface to the libeio library PHP 8.3 - PECL"
+url="https://pecl.php.net/package/eio"
+arch="all"
+license="Apache-2.0"
+_phpv=83
+_php=php$_phpv
+depends="$_php-pcntl $_php-posix $_php-sockets"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir"/$_extname-$pkgver
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ $_php -d extension=modules/$_extname.so --ri $_extname
+ local _modules="/usr/lib/$_php/modules"
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test \
+ PHP_TEST_SHARED_EXTENSIONS=" \
+ -d extension=$_modules/pcntl.so \
+ -d extension=$_modules/posix.so \
+ -d extension=$_modules/sockets.so \
+ -d extension=modules/$_extname.so" TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+ce81a5b60f6374d291c2d09106d8a51192b21d7d122c3b93777eefd0f8e34c0929b5f3c0e25670f1c478970f6a5e14acb92d14fcb6a4914fdef91a40e273622e php-pecl-eio-3.1.3.tar.gz
+"
diff --git a/testing/php83-pecl-excimer/APKBUILD b/testing/php83-pecl-excimer/APKBUILD
new file mode 100644
index 00000000000..5378f92d681
--- /dev/null
+++ b/testing/php83-pecl-excimer/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php83-pecl-excimer
+_extname=excimer
+pkgver=1.2.1
+pkgrel=0
+pkgdesc="Interrupting timer and low-overhead sampling profiler PHP 8.3 - PECL"
+url="https://pecl.php.net/package/excimer"
+arch="all"
+license="Apache-2.0"
+_phpv=83
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tar.gz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir"/$_extname-$pkgver
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+ $_php -d extension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+a5616fd1897342c0dc59cf8551ed498b88520e66b9c2a2e031df670c447c42243946ed1c2f0b1171bcb2be9777a8796d4caa4fb7c636f5d6fad03a62509ce3fd php-pecl-excimer-1.2.1.tar.gz
+"
diff --git a/testing/php83-pecl-jsmin/APKBUILD b/testing/php83-pecl-jsmin/APKBUILD
new file mode 100644
index 00000000000..b53eaf86bdd
--- /dev/null
+++ b/testing/php83-pecl-jsmin/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php83-pecl-jsmin
+_extname=jsmin
+pkgver=3.0.0
+pkgrel=0
+_jqver=2.1.3
+pkgdesc="PHP 8.3 extension for minifying JavaScript - PECL"
+url="https://pecl.php.net/package/jsmin"
+arch="all !ppc64le" # test fails on builder
+license="PHP-3.01"
+_phpv=83
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev"
+source="php-pecl-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz
+ jquery-$_jqver.js::https://github.com/sqmk/pecl-jsmin/raw/v$pkgver/tests/data/jquery-$_jqver.js
+ fix-php8.patch
+ fix-tests.patch
+ "
+builddir="$srcdir/$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ mkdir -p tests/data
+ cp "$srcdir"/jquery-$_jqver.js tests/data/
+
+ case "$CARCH" in
+ armv7|armhf|x86) rm tests/call-multiple-times.phpt ;;
+ esac
+ $_php -dextension=modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS='--show-diff '
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+a465ae024a49bb8ac20463efc6b2546021806c2c43053f42c7ebfea4924b9b647b6e7c0c673102e12ecd8b693666441dc07203edef216eee958fa62f73056ea6 php-pecl-jsmin-3.0.0.tgz
+b8eb1a740c63feaab8ac24d87f39f4cfe263694c972f4978b9f0e3092f912a722596fd094dd637d22f03816617e13210bf11fad9a545dbb0423dc821c827081e jquery-2.1.3.js
+72f4ea4aad457d1a557e05ff8457a689ea75419e414b0893c2bdf5d7216d70b7c26a4993e3c9fa97de3409d080b3cf2a5bd2f0c4b050854c02f08ac592da1f85 fix-php8.patch
+e44a2615d98d786e0188d3880b41f267dab2fa215fb17cd37b17f8cc499bee7dd9e4fe1def4707dbd6769fa40ba2dbf7895ba3544db427a7d851f69a515fa83c fix-tests.patch
+"
diff --git a/testing/php83-pecl-jsmin/fix-php8.patch b/testing/php83-pecl-jsmin/fix-php8.patch
new file mode 100644
index 00000000000..c8be3069563
--- /dev/null
+++ b/testing/php83-pecl-jsmin/fix-php8.patch
@@ -0,0 +1,87 @@
+From 3e49feb8362f14d6f13d79c9533edd900bbf1d21 Mon Sep 17 00:00:00 2001
+From: Qiangjun Ran <ranqiangjun@gmail.com>
+Date: Tue, 8 Jun 2021 14:43:34 +0800
+Subject: [PATCH] PHP 8 support
+
+Patch-Source: https://github.com/sqmk/pecl-jsmin/pull/59
+---
+ jsmin.c | 8 ++++----
+ jsmin.h | 4 ++--
+ php_jsmin.c | 6 +++---
+ 3 files changed, 9 insertions(+), 9 deletions(-)
+
+diff --git a/jsmin.c b/jsmin.c
+index 2744aef..773dc09 100644
+--- a/jsmin.c
++++ b/jsmin.c
+@@ -34,7 +34,7 @@ SOFTWARE.
+ */
+
+ static jsmin_obj*
+-new_jsmin_obj(char *javascript TSRMLS_DC)
++new_jsmin_obj(char *javascript)
+ {
+ jsmin_obj *jmo = ecalloc(1, sizeof(jsmin_obj));
+ jmo->javascript = javascript;
+@@ -48,7 +48,7 @@ new_jsmin_obj(char *javascript TSRMLS_DC)
+ /* free_jsmin_obj -- frees up memory on struct
+ */
+ void
+-free_jsmin_obj(jsmin_obj *jmo TSRMLS_DC)
++free_jsmin_obj(jsmin_obj *jmo)
+ {
+ smart_string_free(&jmo->buffer);
+ efree(jmo);
+@@ -250,9 +250,9 @@ jsmin_action(int d, jsmin_obj *jmo)
+ */
+
+ jsmin_obj*
+-jsmin(char *javascript TSRMLS_DC)
++jsmin(char *javascript)
+ {
+- jsmin_obj *jmo = new_jsmin_obj(javascript TSRMLS_CC);
++ jsmin_obj *jmo = new_jsmin_obj(javascript);
+
+ jsmin_action(3, jmo);
+ while (jmo->theA != 0) {
+diff --git a/jsmin.h b/jsmin.h
+index 317b90b..0bda630 100644
+--- a/jsmin.h
++++ b/jsmin.h
+@@ -25,7 +25,7 @@ enum error_codes {
+ PHP_JSMIN_ERROR_UNTERMINATED_REGEX
+ };
+
+-extern jsmin_obj* jsmin(char *javascript TSRMLS_DC);
+-extern void free_jsmin_obj(jsmin_obj *jmo TSRMLS_DC);
++extern jsmin_obj* jsmin(char *javascript);
++extern void free_jsmin_obj(jsmin_obj *jmo);
+
+ #endif
+diff --git a/php_jsmin.c b/php_jsmin.c
+index a9783d4..6cc034a 100644
+--- a/php_jsmin.c
++++ b/php_jsmin.c
+@@ -105,11 +105,11 @@ PHP_FUNCTION(jsmin)
+
+ zval *ret_code = NULL;
+
+- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z/", &javascript, &javascript_len, &ret_code) == FAILURE) {
++ if (zend_parse_parameters(ZEND_NUM_ARGS(), "s|z/", &javascript, &javascript_len, &ret_code) == FAILURE) {
+ RETURN_FALSE;
+ }
+
+- jmo = jsmin(javascript TSRMLS_CC);
++ jmo = jsmin(javascript);
+ if (ret_code) {
+ zval_dtor(ret_code);
+ ZVAL_LONG(ret_code, jmo->errorCode);
+@@ -121,7 +121,7 @@ PHP_FUNCTION(jsmin)
+ } else {
+ ZVAL_STRINGL(return_value, jmo->buffer.c, jmo->buffer.len);
+ }
+- free_jsmin_obj(jmo TSRMLS_CC);
++ free_jsmin_obj(jmo);
+ }
+ /* }}} */
+
diff --git a/testing/php83-pecl-jsmin/fix-tests.patch b/testing/php83-pecl-jsmin/fix-tests.patch
new file mode 100644
index 00000000000..d7b9c636af6
--- /dev/null
+++ b/testing/php83-pecl-jsmin/fix-tests.patch
@@ -0,0 +1,39 @@
+Patch-Source: https://github.com/sqmk/pecl-jsmin/pull/60
+
+diff --git a/tests/missing-argument.phpt b/tests/missing-argument.phpt
+index 57d0925..826038b 100644
+--- a/tests/missing-argument.phpt
++++ b/tests/missing-argument.phpt
+@@ -1,5 +1,9 @@
+ --TEST--
+ Missing argument throws warning
++--SKIPIF--
++<?php
++if (PHP_VERSION_ID >= 80000) die('skip Only for PHP < 8.0');
++?>
+ --FILE--
+ <?php
+
+diff --git a/tests/missing-argument8.phpt b/tests/missing-argument8.phpt
+new file mode 100644
+index 0000000..4638dc2
+--- /dev/null
++++ b/tests/missing-argument8.phpt
+@@ -0,0 +1,17 @@
++--TEST--
++Missing argument throws fatal error
++--SKIPIF--
++<?php
++if (PHP_VERSION_ID < 80000) die('skip Only for PHP >= 8.0');
++?>
++--FILE--
++<?php
++
++echo jsmin();
++
++--EXPECTF--
++Fatal error: Uncaught ArgumentCountError: jsmin() expects at least 1 argument, 0 given in %s
++Stack trace:
++#0 %s(3): jsmin()
++#1 {main}
++ thrown in %s on line 3
diff --git a/testing/php83-pecl-phalcon/APKBUILD b/testing/php83-pecl-phalcon/APKBUILD
new file mode 100644
index 00000000000..2a196bc7cc4
--- /dev/null
+++ b/testing/php83-pecl-phalcon/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php83-pecl-phalcon
+_extname=phalcon
+pkgver=5.6.2
+pkgrel=0
+pkgdesc="High performance, full-stack PHP 8.3 framework delivered as a C extension"
+url="https://phalcon.io/"
+arch="all"
+license="BSD-3-Clause"
+_phpv=83
+_php=php$_phpv
+depends="
+ $_php-curl
+ $_php-fileinfo
+ $_php-gettext
+ $_php-mbstring
+ $_php-openssl
+ $_php-pdo
+ $_php-session
+ $_php-pecl-psr
+ "
+makedepends="$_php-dev"
+source="php-$_extname-$pkgver.tgz::https://pecl.php.net/get/$_extname-$pkgver.tgz"
+builddir="$srcdir/$_extname-$pkgver"
+
+build() {
+ phpize$_phpv
+ ./configure --prefix=/usr --with-php-config=/usr/bin/php-config$_phpv
+ make
+}
+
+check() {
+ # no tests provided
+ $_php -d extension=modules/$_extname.so --ri $_extname
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+27fb1ba24ea6444abba142acf9fa717a9d69fbfb719335358a29d2f74e8ad6c4e76c310a7144cfb34628cd228e239de1bdca6c3365111a4fe588966ab195c7e0 php-phalcon-5.6.2.tgz
+"
diff --git a/testing/php83-pecl-vld/APKBUILD b/testing/php83-pecl-vld/APKBUILD
new file mode 100644
index 00000000000..68aa787b67d
--- /dev/null
+++ b/testing/php83-pecl-vld/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=php83-pecl-vld
+_extname=vld
+pkgver=0.18.0
+pkgrel=1
+pkgdesc="Dumps the internal representation of PHP 8.3 scripts - PECL"
+url="https://pecl.php.net/package/vld"
+arch="all"
+license="BSD-2-Clause"
+_phpv=83
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-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() {
+ $_php -dextension=modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ install -d $_confdir
+ echo "extension=$_extname" > $_confdir/$_extname.ini
+}
+
+sha512sums="
+da4a675fc29f9d296c7d444cf6d2408e747326fb89e6c4752e4829997fd89ea40433cb183c0af49c69ded0c2a22954c951a765662243ffe0cba70684ab0a4f18 php-pecl-vld-0.18.0.tgz
+"
diff --git a/testing/php83-pecl-zmq/APKBUILD b/testing/php83-pecl-zmq/APKBUILD
new file mode 100644
index 00000000000..df5fc45dcb2
--- /dev/null
+++ b/testing/php83-pecl-zmq/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Fabio Ribeiro <fabiorphp@gmail.com>
+# Maintainer: Fabio Ribeiro <fabiorphp@gmail.com>
+pkgname=php83-pecl-zmq
+_extname=zmq
+pkgver=1.1.4
+pkgrel=0
+pkgdesc="PHP 8.3 extension for ZeroMQ - PECL"
+url="https://pecl.php.net/package/zmq"
+arch="all"
+license="PHP-3.01"
+_phpv=83
+_php=php$_phpv
+depends="$_php-common"
+makedepends="$_php-dev zeromq-dev"
+_commit=84f072064dd8aedaf1ff883c602c5e34f3876897
+source="php-pecl-$_extname-$_commit.tar.gz::https://github.com/zeromq/php-zmq/archive/$_commit.tar.gz"
+builddir="$srcdir/php-$_extname-$_commit"
+#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() {
+ $_php -dextension=modules/$_extname.so --ri $_extname
+ make NO_INTERACTION=1 REPORT_EXIT_STATUS=1 test TESTS=--show-diff
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+
+ local _confdir="$pkgdir"/etc/$_php/conf.d
+ mkdir -p $_confdir
+ echo "extension=$_extname" > $_confdir/50_$_extname.ini
+}
+
+sha512sums="
+49b0d19e2884f29fb474906bbc0d3d58b518779b3ce4561805d3387a3eaa97e039dc57d941df630f6d86b1517e5f7fb3435677d5f31c275602186bb2c45cf31b php-pecl-zmq-84f072064dd8aedaf1ff883c602c5e34f3876897.tar.gz
+"
diff --git a/testing/phpspy/APKBUILD b/testing/phpspy/APKBUILD
deleted file mode 100644
index 3761c4b1a12..00000000000
--- a/testing/phpspy/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=phpspy
-pkgver=0.5.0
-pkgrel=1
-pkgdesc="Low-overhead sampling profiler for PHP 7 "
-url="https://github.com/adsr/phpspy"
-arch="all"
-license="MIT"
-depends="perl"
-makedepends="linux-headers termbox-dev"
-checkdepends="ncurses bash grep php7 procps"
-options="!check" # require ptrace capability and checkroot is not enough
-source="$pkgname-$pkgver.tar.gz::https://github.com/adsr/phpspy/archive/v$pkgver.tar.gz
- libpthread.patch
- remove-termbox-check.patch
- fix-install.patch
- "
-
-build() {
- make phpspy_dynamic
-}
-
-package() {
- make prefix="/usr" DESTDIR="$pkgdir" install
- install -D -v -m 755 stackcollapse-phpspy.pl \
- "$pkgdir"/usr/bin/stackcollapse-phpspy
- install -D -v -m 755 vendor/flamegraph.pl \
- "$pkgdir"/usr/bin/flamegraph-phpspy
-}
-
-sha512sums="7163a9f0a44a7dc94e9b722b403218154a27992ba4bfcdae936bdc197b8bc732f70f506318540f356467acdbfec1b0ebc868409010d367a51c056790ab81be1f phpspy-0.5.0.tar.gz
-e3a6a0d3943c588570406e13155671fc9e16141e202aada9178681ea2afdc98698f54120a499aab85b82f5de1d25a30afe5cea1209fc2cc7f3da6cf4486dd3b5 libpthread.patch
-c07a0e9df74dc16fc51445ddc9321314d131049ac0acc3ab7aab76907f05ab78cd3e8fd55e5db14a43e66568ca19f7006369d3f9bf8c09e122a57a58513d071c remove-termbox-check.patch
-0d7a53a77fc6b8d191eb873af29771e520b8119357ceda0a81ad710a6d365812be3d4e87c3863d34ee14059a355626ba5dce507607ec7434aed4198bafb33ac3 fix-install.patch"
diff --git a/testing/phpspy/fix-install.patch b/testing/phpspy/fix-install.patch
deleted file mode 100644
index f559b83958e..00000000000
--- a/testing/phpspy/fix-install.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-We don't want a static binary, make sure the install target respects that.
-
-diff -upr phpspy-0.5.0.orig/Makefile phpspy-0.5.0/Makefile
---- phpspy-0.5.0.orig/Makefile 2020-05-31 18:37:11.787907276 +0200
-+++ phpspy-0.5.0/Makefile 2020-05-31 18:37:18.961241194 +0200
-@@ -55,7 +55,7 @@ test: phpspy_static $(phpspy_tests)
- printf "Passed %d out of %d tests\n" $$pass $$total ; \
- [ $$pass -eq $$total ] || exit 1
-
--install: phpspy_static
-+install: phpspy_dynamic
- install -D -v -m 755 phpspy $(DESTDIR)$(prefix)/bin/phpspy
-
- clean:
diff --git a/testing/phpspy/libpthread.patch b/testing/phpspy/libpthread.patch
deleted file mode 100644
index 35366646d1e..00000000000
--- a/testing/phpspy/libpthread.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/Makefile.bak
-+++ b/Makefile
-@@ -19,7 +19,7 @@
- has_termbox := $(shell $(LD) $(phpspy_ldflags) -ltermbox -o/dev/null >/dev/null 2>&1 && echo :)
- has_phpconf := $(shell command -v php-config >/dev/null 2>&1 && echo :)
-
--$(or $(has_pthread), $(error Need libpthread))
-+#$(or $(has_pthread), $(error Need libpthread))
-
- ifdef USE_ZEND
- $(or $(has_phpconf), $(error Need php-config))
diff --git a/testing/phpspy/remove-termbox-check.patch b/testing/phpspy/remove-termbox-check.patch
deleted file mode 100644
index c94fb32dae6..00000000000
--- a/testing/phpspy/remove-termbox-check.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Check fails with:
-
- ld: unrecognized option '-Wl,--as-needed'
- ld: use the --help option for usage information
-
-diff -upr phpspy-0.5.0.orig/Makefile phpspy-0.5.0/Makefile
---- phpspy-0.5.0.orig/Makefile 2020-05-31 18:34:19.931393581 +0200
-+++ phpspy-0.5.0/Makefile 2020-05-31 18:34:23.341389992 +0200
-@@ -33,7 +33,6 @@ phpspy_static: $(wildcard *.c *.h) vendo
- $(CC) $(phpspy_cflags) $(phpspy_includes) $(termbox_inlcudes) $(phpspy_defines) $(phpspy_sources) -o phpspy $(phpspy_ldflags) $(phpspy_libs) $(termbox_libs)
-
- phpspy_dynamic: $(wildcard *.c *.h)
-- @$(or $(has_termbox), $(error Need libtermbox. Hint: try `make phpspy_static`))
- $(CC) $(phpspy_cflags) $(phpspy_includes) $(phpspy_defines) $(phpspy_sources) -o phpspy $(phpspy_ldflags) $(phpspy_libs) -ltermbox
-
- vendor/termbox/build/src/libtermbox.a: vendor/termbox/waf
diff --git a/testing/pick/APKBUILD b/testing/pick/APKBUILD
new file mode 100644
index 00000000000..1e0fa6ad188
--- /dev/null
+++ b/testing/pick/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=pick
+pkgver=4.0.0
+pkgrel=0
+pkgdesc="Fuzzy search tool for the command-line"
+url="https://github.com/mptre/pick"
+arch="all"
+license="MIT"
+makedepends="ncurses-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mptre/pick/archive/v$pkgver.tar.gz"
+
+build() {
+ PREFIX=/usr MANDIR=/usr/share/man ./configure
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+041f6aa13673678b9171a16debfdab11a4ce2d67b03a25677b457148aa642720803028aa6c77d56df9f022ca24f0e25d0c9a40d275ac7c93d03ed13036709fc8 pick-4.0.0.tar.gz
+"
diff --git a/testing/picolibc/APKBUILD b/testing/picolibc/APKBUILD
deleted file mode 100644
index febecb87c30..00000000000
--- a/testing/picolibc/APKBUILD
+++ /dev/null
@@ -1,78 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-
-_targets="
- arm-none-eabi
- riscv-none-elf
- "
-pkgname=picolibc
-pkgver=1.7.4
-pkgrel=1
-pkgdesc="A C standard library based on newlib with focus on compact size"
-url="https://github.com/picolibc/picolibc"
-makedepends="meson"
-# s390x, mips64 and riscv64 blocked by gcc-cross-embedded
-arch="all !s390x !mips64 !riscv64"
-license="GPL-2.0-only AND LGPL-2.1-only AND 0BSD AND BSD-3-Clause AND GPL-3.0-only AND LGPL-3.0-only"
-source="$pkgname-$pkgver.tar.xz::https://github.com/picolibc/picolibc/releases/download/$pkgver/picolibc-$pkgver.tar.xz"
-options="!check"
-
-for target in $_targets; do
- targetnorm="${target//-/_}"
- subpackages="picolibc-$target:$targetnorm $subpackages"
- makedepends="binutils-$target gcc-$target newlib-$target $makedepends"
-done
-
-prepare() {
- default_prepare
-
- # Handle mismatch of target triples
- mv "$builddir/scripts/cross-riscv64-unknown-elf.txt" \
- "$builddir/scripts/cross-riscv-none-elf.txt"
- sed -e 's/riscv64-unknown-elf/riscv-none-elf/g' \
- -i "$builddir/scripts/cross-riscv-none-elf.txt"
-
- # We don't really need bash
- find "$builddir/scripts" -type f -exec \
- sed -e 's|#!/bin/bash|#!/bin/sh|g' -i {} \;
-}
-
-build() {
- for target in $_targets; do
- # cannot use abuild-meson here, as target != host
- meson \
- --prefix=/usr/ \
- --buildtype=plain \
- --cross-file=scripts/cross-$target.txt \
- -Dincludedir=picolibc/$target/include \
- -Dlibdir=picolibc/$target/lib \
- . build-$target
- meson compile -C build-$target
- done
-}
-
-package() {
- for target in $_targets; do
- depends="$depends picolibc-$target"
- done
- mkdir -p "$pkgdir"
-}
-
-_install_subpkg() {
- target="${subpkgname#picolibc-}"
- pkgdesc="A C standard library based on newlib with focus on compact size for $target"
- depends="binutils-$target gcc-$target $depends"
-
- DESTDIR="$subpkgdir" meson install -C "$builddir/build-$target"
-}
-
-arm_none_eabi() {
- _install_subpkg
-}
-
-riscv_none_elf() {
- _install_subpkg
-}
-
-sha512sums="
-33fb67a23e36f3dd5934b6cf27d6dbb5abab5bd4439cb4d2c67c31750b590e198e7fc79363874bb775b109eddc636d6970e3cebabd0b857e9071cfcffc2ad351 picolibc-1.7.4.tar.xz
-"
diff --git a/testing/picotts/APKBUILD b/testing/picotts/APKBUILD
deleted file mode 100644
index 06faa84cb04..00000000000
--- a/testing/picotts/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Eric Trombly <etrombly@yahoo.com>
-# Maintainer:
-pkgname=picotts
-pkgver=0.1
-pkgrel=0
-pkgdesc="Pico TTS: text to speech voice synthesizer from SVox"
-url="https://github.com/naggety/picotts"
-arch="all"
-license="Apache-2.0"
-makedepends="popt-dev autoconf automake libtool"
-subpackages="$pkgname-dev $pkgname-libs"
-source="https://github.com/naggety/picotts/archive/e3ba46009ee868911fa0b53db672a55f9cc13b1c.zip"
-builddir="$srcdir/picotts-e3ba46009ee868911fa0b53db672a55f9cc13b1c/pico"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-static
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="e65b46aaeb65cf151e94b8740d6ac9a691613de973cb7d10e1a39b71ef7dead53525602209c99dfefbcb5abed3520321f45e9f324efae7b28af72a10e3f06ba5 e3ba46009ee868911fa0b53db672a55f9cc13b1c.zip"
diff --git a/testing/pict-rs/APKBUILD b/testing/pict-rs/APKBUILD
new file mode 100644
index 00000000000..4779dc16338
--- /dev/null
+++ b/testing/pict-rs/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=pict-rs
+pkgver=0.5.13
+pkgrel=0
+pkgdesc="Simple image hosting service written in Rust"
+url="https://git.asonix.dog/asonix/pict-rs"
+# riscv64: tests fail
+arch="all !riscv64"
+license="AGPL-3.0-or-later"
+depends="exiftool ffmpeg imagemagick"
+makedepends="cargo cargo-auditable"
+install="$pkgname.pre-install"
+pkgusers="pict-rs"
+pkggroups="pict-rs"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://git.asonix.dog/asonix/pict-rs/archive/v$pkgver.tar.gz
+ config-file.patch
+ pict-rs.initd
+ "
+builddir="$srcdir/pict-rs"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/pict-rs -t "$pkgdir"/usr/bin
+
+ install -Dm640 -g pict-rs pict-rs.toml -t "$pkgdir"/etc/pict-rs
+ install -Dm755 "$srcdir"/pict-rs.initd "$pkgdir"/etc/init.d/pict-rs
+}
+
+sha512sums="
+5ca1092b9c1a7f086b8884f3fd05fe11d431c509f72150fd115c21c04d3c8da71299067f1eae872f0bffaa26d7632270f583a5f1de0106b2d0a1ffefc4b1aa79 pict-rs-0.5.13.tar.gz
+6abcd4907bfbf8857031af947cec088841e2a249a31a530678870c0da77667f05fdaa8c301bc12bf05b91a9054aea32f25cdb41be6d52f8140dc4340743d1d4c config-file.patch
+6a9d40fc5c57d35a6601118eff551b4353f0e544045b953cc2728135bdea1e1f8945ffac889d805b988af8403e0114338cde31d8d977491a63270ce97b8cae73 pict-rs.initd
+"
diff --git a/testing/pict-rs/config-file.patch b/testing/pict-rs/config-file.patch
new file mode 100644
index 00000000000..74ecb6a58a9
--- /dev/null
+++ b/testing/pict-rs/config-file.patch
@@ -0,0 +1,247 @@
+--- a/pict-rs.toml
++++ b/pict-rs.toml
+@@ -3,7 +3,7 @@
+ ## Optional: pict-rs binding address
+ # environment variable: PICTRS__SERVER__ADDRESS
+ # default: 0.0.0.0:8080
+-address = '0.0.0.0:8080'
++address = '127.0.0.1:8080'
+
+ ## Optional: whether to reject any operations that would change the state of pict-rs.
+ # environment variable: PICTRS__SERVER__READ_ONLY
+@@ -42,14 +42,14 @@
+ # default: empty
+ #
+ # Note that both certificate and private_key must be set to enable TLS
+-certificate = "/path/to/server.crt"
++#certificate = "/path/to/server.crt"
+
+ ## Optional: path to server key to enable TLS
+ # environment variable: PICTRS__SERVER__PRIVATE_KEY
+ # default: empty
+ #
+ # Note that both private_key and certificate must be set to enable TLS
+-private_key = "/path/to/server.key"
++#private_key = "/path/to/server.key"
+
+ ## Client configuration
+ [client]
+@@ -95,7 +95,7 @@
+
+
+ ## Console configuration
+-[tracing.console]
++#[tracing.console]
+ ## Optional: console address
+ # environment variable: PICTRS__TRACING__CONSOLE__ADDRESS
+ # default: empty
+@@ -124,7 +124,7 @@
+ # ```
+ # $ tokio-console http://localhost:6669
+ # ```
+-address = '0.0.0.0:6669'
++#address = '0.0.0.0:6669'
+
+ ## Optional: console buffer capacity
+ # environment variable: PICTRS__TRACING__CONSOLE__BUFFER_CAPACITY
+@@ -132,11 +132,11 @@
+ #
+ # This is the number of _events_ to buffer, not the number of bytes. In reality, the amount of
+ # RAM used will be significatnly larger (in bytes) than the buffer capacity (in events)
+-buffer_capacity = 102400
++#buffer_capacity = 102400
+
+
+ ## OpenTelemetry configuration
+-[tracing.opentelemetry]
++#[tracing.opentelemetry]
+ ## Optional: url for exporting otlp traces
+ # environment variable: PICTRS__TRACING__OPENTELEMETRY__URL
+ # default: empty
+@@ -145,36 +145,36 @@
+ # When set, pict-rs will export OpenTelemetry traces to the provided URL. If the URL is
+ # inaccessible, this can cause performance degredation in pict-rs, so it is best left unset unless
+ # you have an OpenTelemetry collector
+-url = 'http://localhost:4317/'
++#url = 'http://localhost:4317/'
+
+ ## Optional: name to relate OpenTelemetry traces
+ # environment variable: PICTRS__TRACING__OPENTELEMETRY__SERVICE_NAME
+ # default: pict-rs
+-service_name = 'pict-rs'
++#service_name = 'pict-rs'
+
+ ## Optional: trace level to export
+ # environment variable: PICTRS__TRACING__OPENTELEMETRY__TARGETS
+ # default: info
+ #
+ # Follows the same format as RUST_LOG
+-targets = 'info'
++#targets = 'info'
+
+-[metrics]
++#[metrics]
+ ## Optional: enable a prometheus scrape endpoint for pict-rs
+ # environment variable: PICTRS__METRICS__PROMETHEUS_ADDRESS
+ # default: empty
+ #
+ # Setting this value enables pointing prometheus at pict-rs to receive metrics. It can also be
+ # queried with curl.
+-prometheus_address = "0.0.0.0:9000"
++#prometheus_address = "0.0.0.0:9000"
+
+
+ ## Configuration for migrating from pict-rs 0.4
+-[old_repo]
++#[old_repo]
+ ## Optional: path to sled repository
+ # environment variable: PICTRS__OLD_REPO__PATH
+ # default: /mnt/sled-repo
+-path = '/mnt/sled-repo'
++#path = '/mnt/sled-repo'
+
+
+ ## Media Processing Configuration
+@@ -613,7 +613,7 @@
+ ## Optional: path to sled repository
+ # environment variable: PICTRS__REPO__PATH
+ # default: /mnt/sled-repo
+-path = '/mnt/sled-repo'
++path = '/var/lib/pict-rs/sled-repo'
+
+ ## Optional: in-memory cache capacity for sled data (in bytes)
+ # environment variable: PICTRS__REPO__CACHE_CAPACITY
+@@ -626,32 +626,32 @@
+ #
+ # Used in combination with the /internal/export endpoint to dump the current sled database into a
+ # new file. This can be helpful for backing up a running pict-rs server.
+-export_path = "/mnt/exports"
++export_path = "/var/lib/pict-rs/exports"
+
+
+ ## Postgres repo configuration example
+-[repo]
++#[repo]
+ ## Optional: database backend to use
+ # environment variable: PICTRS__REPO__TYPE
+ # default: sled
+ #
+ # available options: sled, postgres
+-type = 'postgres'
++#type = 'postgres'
+
+ ## Required: URL to postgres database
+ # environment variable: PICTRS__REPO__URL
+ # default: empty
+-url = 'postgres://user:password@host:5432/db'
++#url = 'postgres://user:password@host:5432/db'
+
+ ## Optional: Whether to use TLS when connecting to postgres
+ # environment variable: PICTRS__REPO__USE_TLS
+ # default: false
+-use_tls = false
++#use_tls = false
+
+ ## Optional: The CA Certificate used to verify the postgres TLS certificate
+ # environment variable: PICTRS__REPO__CERTIFICATE_FILE
+ # default: empty
+-certificate_file = '/etc/ca-certificate.crt'
++#certificate_file = '/etc/ca-certificate.crt'
+
+
+ ### Media storage configuration
+@@ -668,17 +668,17 @@
+ ## Optional: path to uploaded media
+ # environment variable: PICTRS__STORE__PATH
+ # default: /mnt/files
+-path = '/mnt/files'
++path = '/var/lib/pict-rs/files'
+
+
+ ## Object media storage example
+-[store]
++#[store]
+ ## Optional: type of media storage to use
+ # environment variable: PICTRS__STORE__TYPE
+ # default: filesystem
+ #
+ # available options: filesystem, object_storage
+-type = 'object_storage'
++#type = 'object_storage'
+
+ ## Required: endpoint at which the object storage exists
+ # environment variable: PICTRS__STORE__ENDPOINT
+@@ -687,7 +687,7 @@
+ # examples:
+ # - `http://localhost:9000` # minio
+ # - `https://s3.dualstack.eu-west-1.amazonaws.com` # s3
+-endpoint = 'http://minio:9000'
++#endpoint = 'http://minio:9000'
+
+ ## Optional: How to format object storage requests
+ # environment variable: PICTRS__STORE__USE_PATH_STYLE
+@@ -697,34 +697,34 @@
+ # When false, objects will be fetched from http{s}://{bucket_name}.{endpoint}:{port}/{object}
+ #
+ # Set to true when using minio
+-use_path_style = false
++#use_path_style = false
+
+ ## Required: object storage bucket name
+ # environment variable: PICTRS__STORE__BUCKET_NAME
+ # default: empty
+-bucket_name = 'pict-rs'
++#bucket_name = 'pict-rs'
+
+ ## Required: object storage region
+ # environment variable: PICTRS__STORE__REGION
+ # default: empty
+ #
+ # When using minio, this can be set to `minio`
+-region = 'minio'
++#region = 'minio'
+
+ ## Required: object storage access key
+ # environment variable: PICTRS__STORE__ACCESS_KEY
+ # default: empty
+-access_key = 'ACCESS_KEY'
++#access_key = 'ACCESS_KEY'
+
+ ## Required: object storage secret key
+ # environment variable: PICTRS__STORE__SECRET_KEY
+ # default: empty
+-secret_key = 'SECRET_KEY'
++#secret_key = 'SECRET_KEY'
+
+ ## Optional: object storage session token
+ # environment variable: PICTRS__STORE__SESSION_TOKEN
+ # default: empty
+-session_token = 'SESSION_TOKEN'
++#session_token = 'SESSION_TOKEN'
+
+ ## Optional: set how long object storage signatures are valid for (in seconds)
+ # environment variable: PICTRS__STORE__SIGNATURE_EXPIRATION
+@@ -732,7 +732,7 @@
+ #
+ # This can be useful if your object storage might take a while to process requests. It should not be
+ # increased more than needed to prevent replay attacks.
+-signature_expiration = 15
++#signature_expiration = 15
+
+ ## Optional: set how long pict-rs will wait (in seconds) for a response from object storage
+ # environment variable: PICTRS__STORE__CLIENT_TIMEOUT
+@@ -740,7 +740,7 @@
+ #
+ # This value is the total wait time, and not additional wait time on top of the
+ # signature_expiration.
+-client_timeout = 30
++#client_timeout = 30
+
+ ## Optional: URL to a CDN at which pict-rs files are available for web consumption
+ # environment variable: PICTRS__STORE__PUBLIC_ENDPOINT
+@@ -753,4 +753,4 @@
+ # Note that in order for clients to fetch media from this URL directly, any server between the
+ # client and pict-rs must not be configured to follow redirects, or else that server will fetch from
+ # this public URL and serve the file itself.
+-public_endpoint = "https://pict-rs.some.cdn.example.com/subpath/"
++#public_endpoint = "https://pict-rs.some.cdn.example.com/subpath/"
diff --git a/testing/pict-rs/pict-rs.initd b/testing/pict-rs/pict-rs.initd
new file mode 100644
index 00000000000..55ee7b02642
--- /dev/null
+++ b/testing/pict-rs/pict-rs.initd
@@ -0,0 +1,28 @@
+#!/sbin/openrc-run
+
+name=pict-rs
+description="pict-rs image hosting service"
+
+: ${cfgfile:="/etc/pict-rs/pict-rs.toml"}
+
+command="/usr/bin/pict-rs"
+command_args="-c $cfgfile run"
+command_background=true
+command_user="pict-rs:pict-rs"
+pidfile="/run/${RC_SVCNAME}.pid"
+directory="/var/lib/pict-rs"
+output_log="/var/log/pict-rs.log"
+error_log="/var/log/pict-rs.err"
+
+required_files="$cfgfile"
+
+depend() {
+ need localmount net
+ after firewall
+}
+
+start_pre() {
+ checkpath -f -m 0640 -o "root:pict-rs" "$cfgfile"
+ checkpath -f -m 0640 -o "$command_user" "$output_log" "$error_log"
+ checkpath -d -m 0750 -o "$command_user" "$directory"
+}
diff --git a/testing/pict-rs/pict-rs.pre-install b/testing/pict-rs/pict-rs.pre-install
new file mode 100644
index 00000000000..84d5da221ab
--- /dev/null
+++ b/testing/pict-rs/pict-rs.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S pict-rs 2>/dev/null
+adduser -S -D \
+ -h /var/lib/pict-rs \
+ -s /sbin/nologin \
+ -G pict-rs \
+ -g "Pict-rs image hosting service" \
+ pict-rs 2>/dev/null
+
+exit 0
diff --git a/testing/pidif/APKBUILD b/testing/pidif/APKBUILD
new file mode 100644
index 00000000000..420f5238c4a
--- /dev/null
+++ b/testing/pidif/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Yo'av Moshe <alpine@yoavmoshe.com>
+pkgname=pidif
+pkgver=0.1
+pkgrel=1
+pkgdesc="Simple PDF Reader"
+url="https://github.com/bjesus/pidif"
+arch="all !s390x !riscv64" # rust
+license="GPL-3.0-or-later"
+makedepends="
+ cairo-dev
+ cargo
+ cargo-auditable
+ gtk4.0-dev
+ poppler-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/bjesus/pidif/archive/refs/tags/$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 "target/release/pidif" "$pkgdir/usr/bin/pidif"
+}
+
+sha512sums="
+ba067c8c98cc5db6c3412dd7793ba901863f9ca6fa2cf828d28597c87614c3ba7f57e74d7ba85267e28c569d30e3ab12424eae96e963092d5bfb6fd720d40ca9 pidif-0.1.tar.gz
+"
diff --git a/testing/pigpio/APKBUILD b/testing/pigpio/APKBUILD
new file mode 100644
index 00000000000..47141d569e4
--- /dev/null
+++ b/testing/pigpio/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: knuxify <knuxify@gmail.com>
+# Maintainer: knuxify <knuxify@gmail.com>
+pkgname=pigpio
+pkgver=79
+pkgrel=3
+pkgdesc="C library for the Raspberry Pi which allows control of the GPIO"
+url="https://abyz.me.uk/rpi/pigpio/"
+arch="armhf armv7 aarch64" # only runs on the Raspberry Pi
+license="Unlicense"
+makedepends="cmake py3-gpep517 py3-setuptools py3-wheel samurai"
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-openrc
+ py3-$pkgname:_python:noarch
+ "
+install="$pkgname.post-install"
+source="https://github.com/joan2937/pigpio/archive/refs/tags/v$pkgver/pigpio-$pkgver.tar.gz
+ pigpiod.initd"
+options="!check" # tests require GPIO access
+
+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 \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ $CMAKE_CROSSOPTS .
+ cmake --build build
+
+ gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2
+
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ mkdir -p "$pkgdir"/usr/share
+ mv "$pkgdir"/usr/man "$pkgdir"/usr/share/man
+
+ mkdir -p "$pkgdir"/etc/init.d
+ install -Dm755 "$srcdir"/pigpiod.initd "$pkgdir"/etc/init.d/pigpiod
+
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+_python() {
+ pkgdesc="$pkgdesc (python bindings)"
+ depends="python3"
+
+ # rename
+ provides="$pkgname-python=$pkgver-r$pkgrel"
+ replaces="$pkgname-python"
+
+ amove usr/lib/python3*
+}
+
+sha512sums="
+bae24b0a28b6865bf4e0903d9e1881344ab7cf26a513f295d178402a426f90f2fdd43444cfe899c0bc25939a129ebf47ecd1ac1600683cd648902d56825a3203 pigpio-79.tar.gz
+04ebf3ef5b740e694509f134305630f87d76c1c8651df50e83083c0c74b5946e17d601df2d192c034aeaa5f11d6fc3ae3a0579ff58a2073cdb4e45475b128054 pigpiod.initd
+"
diff --git a/testing/pigpio/pigpio.post-install b/testing/pigpio/pigpio.post-install
new file mode 100644
index 00000000000..c88316867f0
--- /dev/null
+++ b/testing/pigpio/pigpio.post-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+cat << __EOF__
+* Note that in order for pigpio to work, you will need to add "iomem=relaxed"
+* to your kernel's cmdline.
+__EOF__
+exit 0
diff --git a/testing/pigpio/pigpiod.initd b/testing/pigpio/pigpiod.initd
new file mode 100644
index 00000000000..82a506f0cbb
--- /dev/null
+++ b/testing/pigpio/pigpiod.initd
@@ -0,0 +1,9 @@
+#!/sbin/openrc-run
+
+name="pigpiod"
+
+command="/usr/bin/pigpiod"
+command_args="-g -k"
+command_background="yes"
+
+pidfile="/run/$RC_SVCNAME.pid"
diff --git a/testing/pijul/APKBUILD b/testing/pijul/APKBUILD
deleted file mode 100644
index 0deba1bc199..00000000000
--- a/testing/pijul/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: TBK <alpine@jjtc.eu>
-# Maintainer: TBK <alpine@jjtc.eu>
-pkgname=pijul
-pkgver=0.12.2
-pkgrel=1
-pkgdesc="Patch-based distributed version control system"
-url="https://pijul.org/"
-arch="all !s390x !mips !mips64 !riscv64" # Limited by cargo
-license="GPL-2.0-or-later"
-makedepends="cargo clang libsodium-dev nettle-dev openssl-dev"
-subpackages="
- $pkgname-bash-completion
- $pkgname-fish-completion
- $pkgname-zsh-completion
- "
-source="$pkgname-$pkgver.tar.gz::https://crates.io/api/v1/crates/pijul/$pkgver/download"
-
-build() {
- cargo build --release
-}
-
-check() {
- cargo test --release
-}
-
-package() {
- cd target/release/
- install -Dm755 pijul -t "$pkgdir"/usr/bin/
-
- # Generate completion scripts
- for s in bash fish zsh
- do
- ./pijul generate-completions --$s > $pkgname.$s
- done
-
- install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/completions/$pkgname.fish
- install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
-}
-
-sha512sums="b6f6b6ba631f02b2b5bc49ed712581244a03b5062fc06cce8127ab7683e20a3736d2b94c77eef47c4552b430dca848f3ebdbb6117bee07c41e89710829738921 pijul-0.12.2.tar.gz"
diff --git a/testing/pike/APKBUILD b/testing/pike/APKBUILD
deleted file mode 100644
index b67edd91d4e..00000000000
--- a/testing/pike/APKBUILD
+++ /dev/null
@@ -1,183 +0,0 @@
-# Maintainer: Paweł Tomak <pawel@tomak.eu>
-pkgname=pike
-_pkgname=Pike
-pkgver=8.0.1116
-pkgrel=0
-pkgdesc="Pike Programing language"
-url="https://pike.lysator.liu.se"
-arch="x86_64"
-license="GPL-2.0-or-later"
-options="!check" # there are no tests for those packages
-depends="readline"
-makedepends="gmp-dev
- bzip2-dev
- freeglut-dev
- gdbm-dev
- giflib-dev
- giflib-utils
- gtk+2.0-dev
- libsm-dev
- mesa-gl
- nettle
- nettle-dev
- nettle-utils
- pcre-dev
- sdl12-compat-dev
- sdl_mixer-dev
- sqlite-dev
- sqlite-libs
- zlib-dev
- librsvg-dev"
-subpackages="$pkgname-doc $pkgname-full::noarch"
-source="http://pike.lysator.liu.se/pub/pike/all/$pkgver/$_pkgname-v$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-v$pkgver"
-
-_full_deps="$pkgname=$pkgver-r$pkgrel $pkgname-doc=$pkgver-r$pkgrel"
-for _name in bzip2 gdbm gl gtk image pcre sdl svg sqlite
-do
- subpackages="$subpackages $pkgname-$_name"
- _full_deps="$_full_deps $pkgname-$_name=$pkgver-r$pkgrel"
-done
-
-build() {
- make CONFIGUREARGS=" \
- --prefix=/usr \
- --disable-make_conf \
- --disable-noopty-retry \
- --without-cdebug \
- --without-bundles \
- --without-ssleay \
- --with-gmp \
- --with-crypt \
- --with-bignums \
- --without-rtldebug \
- --with-Bz2 \
- --without-fftw \
- --without-_Ffmpeg \
- --with-gdbm \
- --without-GTK1 \
- --with-GTK2 \
- --with-jpeglib \
- --without-Kerberos \
- --without-msql \
- --without-mysql \
- --without-Odbc \
- --without-oracle \
- --with-GL \
- --with-GLUT \
- --with-_Regexp_PCRE \
- --without-libpdf \
- --without-sass \
- --with-sane \
- --with-SDL \
- --with-SDL_Mixer \
- --with-svg \
- --with-tifflib \
- --without-freetype \
- --without-vcdiff \
- --with-_Image_WebP \
- --with-zlib"
- PATH="$builddir/bin:$PATH" make doc
-}
-
-package() {
- make INSTALLARGS="--traditional" buildroot="$pkgdir" install
-}
-
-_install() {
- local _arg
- for _arg; do
- [ -e "$_arg" ] || continue
- local bn=$(basename "$_arg")
- local dn=$(dirname "$_arg")
- mkdir -p "$subpkgdir/$dn"
- mv "$_arg" "$subpkgdir/$dn/$bn"
- done
-}
-
-bzip2() {
- cd "$pkgdir"
- pkgdesc="$pkgname support"
- depends="pike"
- _install usr/lib/pike/modules/*Bz2.*
-}
-
-gdbm() {
- cd "$pkgdir"
- pkgdesc="$pkgname GDBM support"
- depends="pike"
- _install usr/lib/pike/modules/*Gdbm.*
-}
-
-gl() {
- cd "$pkgdir"
- pkgdesc="$pkgname OpenGL/GLUT support"
- depends="pike freeglut libsm"
- _install usr/lib/pike/modules/*GL*
-}
-
-gtk() {
- cd "$pkgdir"
- pkgdesc="$pkgname GTK2 support"
- depends="pike-image"
- _install usr/lib/pike/modules/*GTK2*
- _install usr/lib/pike/modules/Tools.pmod/PV.pike
-}
-
-image() {
- cd "$pkgdir"
- pkgdesc="$pkgname image handling modules"
- depends="pike libjpeg tiff libwebp"
- _install usr/lib/pike/?.?/modules/Image.pmod
- _install usr/lib/pike/modules/Image.so
- _install usr/lib/pike/modules/*Image_[!S]*.so
- _install usr/lib/pike/modules/*Image*.pmod
- _install usr/lib/pike/modules/Graphics.pmod
- _install usr/lib/pike/modules/Colors.pmod
- _install usr/lib/pike/modules/Protocols.pmod/X.pmod/XImage.pmod
-}
-
-pcre() {
- cd "$pkgdir"
- pkgdesc="$pkgname PCRE support"
- depends="pike"
- _install usr/lib/pike/modules/*Regexp_PCRE.*
-}
-
-sdl() {
- cd "$pkgdir"
- pkgdesc="$pkgname SDL support"
- depends="pike-image"
- _install usr/lib/pike/modules/*SDL.*
-}
-
-svg() {
- cd "$pkgdir"
- pkgdesc="$pkgname SVG support"
- depends="pike"
- _install usr/lib/pike/modules/_Image_SVG.so
-}
-
-sqlite() {
- cd "$pkgdir"
- pkgdesc="$pkgname SQLite support"
- depends="pike"
- _install usr/lib/pike/modules/*SQLite.*
- _install usr/lib/pike/modules/Sql.pmod/sqlite*
-}
-
-doc() {
- cd "$pkgdir"
- mkdir -p usr/share/doc/
- mv "$builddir/refdoc/traditional_manual/" usr/share/doc/pike/
- rm -rf usr/doc/
- default_doc
-}
-
-full() {
- depends="$_full_deps"
- pkgdesc="Meta package for Pike Programing Language"
- mkdir -p "$subpkgdir"
-}
-
-sha512sums="7a03d2d68ba7516947c176e469ac6fd86608a348211a06b0f13b29f9c1b1d23526fa7faca5d7c1bfe2b8d8fea6b178e1aabe1374685ecc67309ab55545e7eb48 Pike-v8.0.1116.tar.gz"
diff --git a/testing/piler/0001-utf8_encode_char.patch b/testing/piler/0001-utf8_encode_char.patch
new file mode 100644
index 00000000000..c6b52188ee5
--- /dev/null
+++ b/testing/piler/0001-utf8_encode_char.patch
@@ -0,0 +1,10 @@
+diff -ruN a/src/decoder.h b/src/decoder.h
+--- a/src/decoder.h 2021-02-23 07:26:47.000000000 +0100
++++ b/src/decoder.h 2022-03-28 18:35:10.706474194 +0200
+@@ -11,5 +11,6 @@
+ void decodeHTML(char *p, int utf8);
+ void decodeURL(char *p);
+ int utf8_encode(char *inbuf, int inbuflen, char *outbuf, int outbuflen, char *encoding);
++void utf8_encode_char(unsigned char c, unsigned char *buf, int buflen, int *len);
+
+ #endif /* _DECODER_H */
diff --git a/testing/piler/0002-manticore-conf.patch b/testing/piler/0002-manticore-conf.patch
new file mode 100644
index 00000000000..8721644ffcb
--- /dev/null
+++ b/testing/piler/0002-manticore-conf.patch
@@ -0,0 +1,17 @@
+diff -ruN a/etc/manticore.conf.in b/etc/manticore.conf.in
+--- a/etc/manticore.conf.in 2024-03-13 09:38:42.847170715 +0100
++++ b/etc/manticore.conf.in 2024-03-13 09:41:24.847111111 +0100
+@@ -248,11 +248,11 @@
+ {
+ listen = 127.0.0.1:9312
+ listen = 127.0.0.1:9306:mysql41
+- log = /var/piler/manticore/manticore.log
++ log = /var/log/piler/manticore.log
+ binlog_max_log_size = 256M
+ binlog_path = /var/piler/manticore
+ binlog_flush = 2
+- query_log = /var/piler/manticore/query.log
++ query_log = /var/log/piler/query.log
+ network_timeout = 5
+ pid_file = /var/run/piler/searchd.pid
+ seamless_rotate = 1
diff --git a/testing/piler/0003-fix_pilerpurge_for_rt_index.patch b/testing/piler/0003-fix_pilerpurge_for_rt_index.patch
new file mode 100644
index 00000000000..66dd1912157
--- /dev/null
+++ b/testing/piler/0003-fix_pilerpurge_for_rt_index.patch
@@ -0,0 +1,91 @@
+From e2f6a718272585dd99737087b9c63fa7a734461c Mon Sep 17 00:00:00 2001
+From: Janos SUTO <sj@acts.hu>
+Date: Wed, 1 Nov 2023 08:25:56 +0100
+Subject: [PATCH] Updated pilerpurge to remove data from manticore in case of
+ RT index
+
+Signed-off-by: Janos SUTO <sj@acts.hu>
+---
+ util/pilerpurge.py | 26 ++++++++++++++++++++++----
+ 1 file changed, 22 insertions(+), 4 deletions(-)
+
+diff --git a/util/pilerpurge.py b/util/pilerpurge.py
+index e2e2d61f..dc87916e 100755
+--- a/util/pilerpurge.py
++++ b/util/pilerpurge.py
+@@ -9,7 +9,7 @@ import sys
+ import syslog
+ import time
+
+-SQL_PURGE_SELECT_QUERY = "SELECT piler_id, size FROM " +\
++SQL_PURGE_SELECT_QUERY = "SELECT id, piler_id, size FROM " +\
+ "metadata WHERE deleted=0 AND retained < UNIX_TIMESTAMP(NOW()) " +\
+ "AND id NOT IN (SELECT id FROM rcpt WHERE `to` IN " +\
+ "(SELECT email FROM legal_hold)) AND id NOT IN (SELECT " +\
+@@ -33,7 +33,9 @@ def read_options(filename="", opts={}):
+ opts['password'] = config.get('piler', 'mysqlpwd')
+ opts['database'] = config.get('piler', 'mysqldb')
+ opts['storedir'] = config.get('piler', 'queuedir')
+-
++ opts['rtindex'] = config.getint('piler', 'rtindex', fallback=0)
++ opts['sphxhost'] = config.get('piler', 'sphxhost', fallback='127.0.0.1')
++ opts['sphxport'] = config.getint('piler', 'sphxport', fallback=9306)
+ opts['server_id'] = "%02x" % config.getint('piler', 'server_id')
+
+
+@@ -184,6 +186,17 @@ def get_attachment_file_path(piler_id='', attachment_id=0, opts={}):
+ str(attachment_id)])
+
+
++def purge_index_data(ids=[], opts={}):
++ '''
++ Delete from index data in case of RT index
++ '''
++
++ if opts['rtindex'] == 1 and opts['dry_run'] is False:
++ cursor = opts['sphx'].cursor()
++ a = "," . join([str(x) for x in ids])
++ cursor.execute("DELETE FROM piler WHERE id IN (%s)" % (a))
++
++
+ def main():
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-c", "--config", type=str, help="piler.conf path",
+@@ -203,6 +216,7 @@ def main():
+ opts['dry_run'] = args.dry_run
+ opts['verbose'] = args.verbose
+ opts['db'] = None
++ opts['sphx'] = None
+ opts['messages'] = 0
+ opts['files'] = 0
+ opts['size'] = 0
+@@ -217,6 +231,8 @@ def main():
+ opts['db'] = dbapi.connect(opts['dbhost'], opts['username'],
+ opts['password'], opts['database'])
+
++ opts['sphx'] = dbapi.connect(host=opts['sphxhost'], port=opts['sphxport'])
++
+ if is_purge_enabled(opts) is False:
+ syslog.syslog("Purging emails is disabled")
+ sys.exit(1)
+@@ -229,13 +245,15 @@ def main():
+ if rows == ():
+ break
+
+- piler_id = [x[0] for x in rows]
+- size = [x[1] for x in rows]
++ id = [x[0] for x in rows]
++ piler_id = [x[1] for x in rows]
++ size = [x[2] for x in rows]
+
+ opts['purged_size'] = opts['purged_size'] + sum(size)
+
+ purge_m_files(piler_id, opts)
+ purge_attachments_by_piler_id(piler_id, opts)
++ purge_index_data(id, opts)
+
+ # It's possible that there's attachment duplication, thus
+ # refcount > 0, even though after deleting the duplicates
+--
+2.42.0
+
diff --git a/testing/piler/APKBUILD b/testing/piler/APKBUILD
new file mode 100644
index 00000000000..62b95da727d
--- /dev/null
+++ b/testing/piler/APKBUILD
@@ -0,0 +1,114 @@
+# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
+# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
+pkgname=piler
+pkgver=1.4.4
+pkgrel=0
+pkgdesc="Open source email archiving solution with all the necessary features for your enterprise"
+url="https://www.mailpiler.org/"
+arch="all !ppc64le !s390x !x86 !armhf !armv7" # exclusions because manticore is not built for these architectures
+license="GPL-3.0-only"
+depends="
+ bash
+ catdoc
+ coreutils
+ findutils
+ libzip
+ manticore
+ memcached
+ poppler-utils
+ python3
+ py3-mysqlclient
+ sysstat
+ tnef
+ tre
+ unrtf
+ xlhtml
+ "
+#optional = poppler: for reading attachments
+# catdoc: for reading attachments
+# tnef: for reading attachments
+# bash is required to execute the cron maintenance scripts
+makedepends="$depends mariadb-dev php82-dev openssl-dev tre-dev libzip-dev"
+install="$pkgname.pre-install"
+options="!check"
+subpackages="$pkgname-openrc"
+pkgusers="piler"
+pkggroups="piler"
+source="https://bitbucket.org/jsuto/piler/downloads/piler-$pkgver.tar.gz
+ 0001-utf8_encode_char.patch
+ 0002-manticore-conf.patch
+ 0003-fix_pilerpurge_for_rt_index.patch
+
+ piler.initd
+ piler-smtp.initd
+ searchd.initd
+ searchd.confd
+"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib \
+ --with-database=mysql \
+ --with-piler-user=root \
+ --enable-memcached
+
+ #Attention! The makefile is not formulated correctly for multithreading! We need to use one thread or it breaks.
+ make -j1
+}
+
+package() {
+
+ make installdirs DESTDIR="$pkgdir"
+ make install DESTDIR="$pkgdir"
+
+ # service files
+ rm -rf "$pkgdir"/etc/init.d
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm755 "$srcdir"/$pkgname-smtp.initd "$pkgdir"/etc/init.d/$pkgname-smtp
+ install -Dm755 "$srcdir"/searchd.initd "$pkgdir"/etc/init.d/searchd
+ install -Dm644 "$srcdir"/searchd.confd "$pkgdir"/etc/conf.d/searchd
+
+ # crontab
+ install -Dm600 "$pkgdir"/usr/share/piler/piler.cron "$pkgdir"/etc/crontabs/piler
+
+ # configuration
+ install -Dm655 "$builddir"/contrib/webserver/piler-nginx.conf "$pkgdir"/etc/piler/piler-nginx.conf
+ install -Dm644 "$builddir"/etc/example.conf "$pkgdir"/etc/piler/piler.conf
+ install -Dm644 "$builddir"/etc/smtp.acl.example "$pkgdir"/etc/piler/smtp.acl.example
+ install -Dm644 "$builddir"/util/db-upgrade.sql "$pkgdir"/usr/share/piler/db-upgrade.sql
+ mv "$pkgdir"/etc/piler/manticore.conf.dist "$pkgdir"/etc/piler/manticore.conf
+ mv "$pkgdir"/etc/piler/config-site.dist.php "$pkgdir"/etc/piler/config-site.php
+ rm -f "$pkgdir"/etc/piler/sphinx.conf.dist
+ touch "$pkgdir"/etc/piler/MANTICORE
+
+ # license
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+ # Fix directory permissions
+ chmod -R a-s "$pkgdir"/usr/bin
+ chmod 644 "$pkgdir"/etc/piler/*
+ chmod 770 "$pkgdir"/var/piler/www/tmp "$pkgdir"/var/piler/www/images
+ chown piler:www-data "$pkgdir"/var/piler/www/tmp
+
+ install -d "$pkgdir"/var/log/$pkgname
+
+ # remove unnecessary files
+ rm -f "$pkgdir"/usr/lib/piler/*.service "$pkgdir"/usr/lib/piler/postinstall.sh
+}
+
+sha512sums="
+bd53fa14d01fe50c7fa6ccded4404d4ceb6b19ff4484cc2c4f8fde05cc9a66937c701a4378535afc939707d4c27955ec3f31337674506488b10672fc41ba7b4b piler-1.4.4.tar.gz
+017f3c6241a0368efb6d1b1b734c38b52af67753f5245dad42e265f44961c90bd218d947824a02e7ff02aa11edd642a2947aeff64033f4757670948f88478f4a 0001-utf8_encode_char.patch
+6bbf4c70dd51413b6568f2866a28524eb2986fee35fc4921166baa702fbf466ded7c3357ef7987403c3ad694bbd62aad9abfc90ac8313613e31b7b65784c9b08 0002-manticore-conf.patch
+aefef3ff8101c62524f3cd866e3243d4e0cfb2acfd98627db29d9e2d8c12647962bf1b7b62dbd8d0f8b8b20f7719da134dde5d903b4adcf589f5494576ee3e58 0003-fix_pilerpurge_for_rt_index.patch
+f3895913350ffb252455c50bb276cc9fff0603804507d2a3f6ab6167a1b8b357ca8039ccb8725849ffa99fe04673d510dfcdc09f099631a8f0dd148494def615 piler.initd
+3aa8e661c1c806311abecdc76dcbd12a167e64de11785d2a3c63416cd1e5a445eb021ff4882de5fe1a145fc78483b3691262a07fc0168bbfc03b88812cc1ad17 piler-smtp.initd
+c4ad4742c3bd899d8f8004f16252b4862e19683cba6d3d4a7c86d9ed90942c7b3878fc713915aa299b28852f798fedee5ae73e28844d653383d6c7a07698fde4 searchd.initd
+d6a57f4f972786898d39e94666daa36ba6265dbb577d97e4a9586d4e7b2f3f7b4e69537b316529123186df30f530dc54c03af10c88c8e205192d2b8568571bb3 searchd.confd
+"
diff --git a/testing/piler/piler-smtp.initd b/testing/piler/piler-smtp.initd
new file mode 100644
index 00000000000..8070d2d35f7
--- /dev/null
+++ b/testing/piler/piler-smtp.initd
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+
+description="Piler SMTP server"
+
+command="/usr/bin/$SVCNAME"
+command_background=yes
+
+depend() {
+ need net
+ after firewall
+}
+
diff --git a/testing/piler/piler.initd b/testing/piler/piler.initd
new file mode 100644
index 00000000000..3e69b9272b3
--- /dev/null
+++ b/testing/piler/piler.initd
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+
+description="Piler daemon"
+
+command="/usr/bin/$SVCNAME"
+command_background=yes
+
+depend() {
+ need net
+ after firewall mariadb
+}
+
+start_pre() {
+ checkpath -d -m 750 -o piler:piler /run/piler
+}
+
diff --git a/testing/piler/piler.pre-install b/testing/piler/piler.pre-install
new file mode 100644
index 00000000000..e798611b7fd
--- /dev/null
+++ b/testing/piler/piler.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S piler 2>/dev/null
+adduser -S -D -h /var/piler -s /bin/bash -G piler -g piler piler 2>/dev/null
+
+exit 0
diff --git a/testing/piler/searchd.confd b/testing/piler/searchd.confd
new file mode 100644
index 00000000000..e3c05669a0e
--- /dev/null
+++ b/testing/piler/searchd.confd
@@ -0,0 +1,8 @@
+# Configuration for /etc/init.d/searchd
+
+# Path of the configuration file
+#cfgfile="/etc/piler/manticore.conf"
+
+# Additional options to pass to the searchd command
+#command_args=""
+
diff --git a/testing/piler/searchd.initd b/testing/piler/searchd.initd
new file mode 100644
index 00000000000..dd7c0e013f0
--- /dev/null
+++ b/testing/piler/searchd.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+
+: ${cfgfile:="/etc/piler/manticore.conf"}
+
+Description="Searchd for piler daemon"
+command="/usr/bin/searchd"
+command_args="--config $cfgfile $command_args"
+command_user="piler:piler"
+
+piddir=${piddir:-"/run/piler"}
+pidfile="${piddir}/${SVCNAME}.pid"
+
+depend() {
+ need net
+ after firewall mariadb
+}
+
+start_pre() {
+ checkpath --directory --owner "piler:piler" "$piddir"
+}
+
diff --git a/testing/pimd-dense/APKBUILD b/testing/pimd-dense/APKBUILD
new file mode 100644
index 00000000000..056db1faa7f
--- /dev/null
+++ b/testing/pimd-dense/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Nico de Haer <nico.dehaer@gmail.com>
+# Maintainer: Nico de Haer <nico.dehaer@gmail.com>
+pkgname=pimd-dense
+pkgver=2.1.0
+pkgrel=0
+pkgdesc="PIM-DENSE Multicast Routing for UNIX"
+url="https://github.com/troglobit/pimd-dense"
+arch="all"
+license="custom"
+makedepends="linux-headers"
+subpackages="$pkgname-doc $pkgname-openrc"
+options="!spdx !check" # requires intricate setup with tshark/unshare
+source="
+ https://github.com/troglobit/pimd-dense/releases/download/$pkgver/pimd-dense-$pkgver.tar.gz
+ pimd-dense.initd
+ pimd-dense.confd
+ "
+
+build() {
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/$pkgname
+ install -m644 -D "$builddir"/pimdd.conf \
+ "$pkgdir"/etc/pimdd.conf
+ install -Dm644 LICENSE \
+ "$pkgdir"/usr/share/licenses/"$pkgname"/COPYING
+ install -Dm644 doc/LICENSE.mrouted \
+ "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE.mrouted
+ install -Dm644 doc/LICENSE.pimd \
+ "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE.pimd
+}
+
+sha512sums="
+1963c88f49e766b456aeb1d649c65f5209bbb901ed4fb8293ec8a347882c754d2742a6147023c3592d835df88cbedee20593ca1c52a1d350b71d69d21d5d74ec pimd-dense-2.1.0.tar.gz
+9d77336c50062dfdd553ee474a16d40ffe2a07d6141a48ef3725c0afe2b974f430adcdb9cbe2723f8a67f0b16747264094b537327acd47cc6dbaa7acdf7fff92 pimd-dense.initd
+078b78e46379c0225791a081534622493561a2ed07388d0a93c7517d5166e33c0594ebb7bf75a600aecb36635b33984fadd81c85cb06d7bd0862772131d82367 pimd-dense.confd
+"
diff --git a/testing/pimd-dense/pimd-dense.confd b/testing/pimd-dense/pimd-dense.confd
new file mode 100644
index 00000000000..6e8e4496723
--- /dev/null
+++ b/testing/pimd-dense/pimd-dense.confd
@@ -0,0 +1 @@
+pimdd_opts="-f /etc/pimdd.conf -l notice"
diff --git a/testing/pimd-dense/pimd-dense.initd b/testing/pimd-dense/pimd-dense.initd
new file mode 100644
index 00000000000..af45297f368
--- /dev/null
+++ b/testing/pimd-dense/pimd-dense.initd
@@ -0,0 +1,13 @@
+#!/sbin/openrc-run
+
+name=pimdd
+command="/usr/sbin/$name"
+command_args="$pimdd_opts -n"
+command_background="yes"
+
+pidfile="/run/$name.pid"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/pimd/APKBUILD b/testing/pimd/APKBUILD
new file mode 100644
index 00000000000..b5c50f3a976
--- /dev/null
+++ b/testing/pimd/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Nico de Haer <nico.dehaer@gmail.com>
+# Maintainer: Nico de Haer <nico.dehaer@gmail.com>
+pkgname=pimd
+pkgver=3.0_git20220201
+_gitrev=facecc14c46fb0991d458664c650a7141dec035d
+pkgrel=0
+pkgdesc="PIM-SM/SSM Multicast Routing for UNIX"
+url="https://troglobit.com/pimd.html"
+arch="all"
+options="!check"
+license="BSD-3-Clause"
+makedepends="linux-headers automake autoconf"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="
+ $pkgname-$_gitrev.tar.gz::https://github.com/troglobit/pimd/archive/$_gitrev.tar.gz
+ pimd.initd
+ pimd.confd
+ "
+builddir="$srcdir/$pkgname-$_gitrev"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/$pkgname
+ install -m644 -D "$builddir"/pimd.conf \
+ "$pkgdir"/etc/pimd.conf
+}
+
+sha512sums="
+87124ce25e4a5d31843cf397e8f6309078dbcf2b80fdfe4dafc539e52c31e362591314ae77b57302ab616237f9e6f945eb6b72178c090d1e2a136f0633b77b21 pimd-facecc14c46fb0991d458664c650a7141dec035d.tar.gz
+e1858b511a4fea2bee743c2a9158c05844451ebb9ba3c23de257f7f25144a3671c04b32a37afdd158483ed9079427d00d25e314aabd0d83d44ba7e32da698166 pimd.initd
+a0602071a27483dd955805e1eb885896626968ba7caba8e66ecdcc03244f4346cb3bc9c06e1da81e35c560f0d6c6622cbd52c190bae9088eaedae5d7f795acfc pimd.confd
+"
diff --git a/testing/pimd/pimd.confd b/testing/pimd/pimd.confd
new file mode 100644
index 00000000000..4478a09e6de
--- /dev/null
+++ b/testing/pimd/pimd.confd
@@ -0,0 +1,3 @@
+# PIMD conf.d file for alpine linux
+
+pimd_opts="-f /etc/pimd.conf -l notice"
diff --git a/testing/pimd/pimd.initd b/testing/pimd/pimd.initd
new file mode 100644
index 00000000000..a306799a67b
--- /dev/null
+++ b/testing/pimd/pimd.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+
+# PIMD init.d file for alpine linux.
+
+name=pimd
+command="/usr/sbin/$name"
+command_args="$pimd_opts"
+command_background="yes"
+
+pidfile="/run/$name.pid"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/pinentry-bemenu/APKBUILD b/testing/pinentry-bemenu/APKBUILD
index 5235c28e094..a9325cbced5 100644
--- a/testing/pinentry-bemenu/APKBUILD
+++ b/testing/pinentry-bemenu/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=pinentry-bemenu
-pkgver=0.9.0
+pkgver=0.13.1
pkgrel=0
pkgdesc="Pinentry based on bemenu"
url="https://github.com/t-8ch/pinentry-bemenu"
@@ -22,11 +22,11 @@ source="https://github.com/t-8ch/pinentry-bemenu/archive/v$pkgver/pinentry-bemen
build() {
echo "$pkgver" > VERSION
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -j ${JOBS:-0} -C output
}
check() {
- meson test --no-rebuild -v -C output
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
@@ -34,6 +34,6 @@ package() {
}
sha512sums="
-d69388c1734eee3bd3f97145f8c80d695f8ab18b6728cd675360bbddd55ec493f02e089187e0b88005ddb4cf628599d56ef5f055db456d5e5d3ec5760b807ae5 pinentry-bemenu-0.9.0.tar.gz
-32847aaba84ebc8eb6cedb36911113ef2ce5d3ee460aea4e0f5e11e30a46ea68b3379b60622c5ef746463b0fe7d563d39f89e4b9876f021440087bc9ea941d4f meson-ungit.patch
+9cdb4a3876c96900dc5ae31ad8520e0f5bc337a7e97e30c35fc0898c5f25dea322b9f41afa191a75eb3502455a96f2cb03f3699802ac38dcd1af67445fb8a3b2 pinentry-bemenu-0.13.1.tar.gz
+45e542b6feef5d8b61b84a93572f04bb3ec8d972eb820b9fef5f04a67e0e44adb252eeb6cbcd53b3942006f3bb2179d894050b1640f6cf4607cd912c26c934dc meson-ungit.patch
"
diff --git a/testing/pinentry-bemenu/meson-ungit.patch b/testing/pinentry-bemenu/meson-ungit.patch
index 10a50caf4b9..477860cc8b4 100644
--- a/testing/pinentry-bemenu/meson-ungit.patch
+++ b/testing/pinentry-bemenu/meson-ungit.patch
@@ -1,19 +1,15 @@
--- a/meson.build
+++ b/meson.build
-@@ -1,12 +1,12 @@
- project('pinentry-bemenu', 'c',
-+ version : files('VERSION'),
- default_options : ['warning_level=3', 'c_std=c11'])
+@@ -4,10 +4,10 @@
+ )
-version_h = vcs_tag(
+version_h = configure_file(
+ configuration : { 'VCS_TAG': meson.project_version() },
input : 'version.h.in',
-- output : 'version.h',
+ output : 'version.h',
- command : ['git', 'describe', '--tag', '--dirty', '--broken'],
--)
-+ output : 'version.h')
+ )
compiler = meson.get_compiler('c')
-
diff --git a/testing/pinephone-compass/APKBUILD b/testing/pinephone-compass/APKBUILD
new file mode 100644
index 00000000000..a2e6ff56726
--- /dev/null
+++ b/testing/pinephone-compass/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Mike Banon <mikebdp2@gmail.com>
+# Maintainer: Mike Banon <mikebdp2@gmail.com>
+pkgname=pinephone-compass
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="GTK3 compass app for the Pine64 Pinephone, supports LIS3MDL and AF8133J magnetometers"
+url="https://gitlab.com/lgtrombetta/pinephone-compass"
+license="GPL-3.0-or-later"
+arch="aarch64"
+depends="
+ gtk+3.0
+ libhandy1
+ librsvg
+ py3-gobject3
+ py3-matplotlib
+ py3-numpy
+ py3-pandas
+ py3-xdg
+ python3
+ "
+makedepends="
+ gettext
+ glib-dev
+ meson
+ "
+source="https://gitlab.com/lgtrombetta/pinephone-compass/-/archive/v$pkgver/compass-v$pkgver.tar.gz
+ correct_udev_rules_path.patch
+"
+options="!check" # no test suite
+builddir="$srcdir/compass-v$pkgver"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+34cdc6abea979e363a088c53af14679c600e270002f28166d3348544ad28ca28c06328b6299ea2a074def0d1291a600ff6c2e7244487077187d029c687726aa1 compass-v0.4.0.tar.gz
+807355165b7d732bba183cfd19d89caf5fdb0041f4e30a965d19d6e39542da5cbf2bcb458519499ad052048522180585dd7317d78cdfae972da121bb3a45b11b correct_udev_rules_path.patch
+"
diff --git a/testing/pinephone-compass/correct_udev_rules_path.patch b/testing/pinephone-compass/correct_udev_rules_path.patch
new file mode 100644
index 00000000000..36be538d9e4
--- /dev/null
+++ b/testing/pinephone-compass/correct_udev_rules_path.patch
@@ -0,0 +1,13 @@
+diff --git a/data/meson.build b/data/meson.build
+index f35d456..15c54ae 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -33,7 +33,7 @@ install_data('com.gitlab.lgtrombetta.Compass.gschema.xml',
+ install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')
+ )
+
+-install_data('90-magn.rules', install_dir: '/lib/udev/rules.d')
++install_data('90-magn.rules', install_dir: '/usr/lib/udev/rules.d/')
+
+ compile_schemas = find_program('glib-compile-schemas', required: false)
+ if compile_schemas.found()
diff --git a/testing/pingus/00-fix-python-typos.patch b/testing/pingus/00-fix-python-typos.patch
deleted file mode 100644
index 4388ce37669..00000000000
--- a/testing/pingus/00-fix-python-typos.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/SConscript
-+++ b/SConscript
-@@ -126,12 +126,12 @@
- def configure_end(self):
- self.env = self.conf.Finish()
-
-- print "Reports:"
-- print self.reports
-+ print("Reports:")
-+ print(self.reports)
-
- if not self.fatal_error == "":
-- print "Fatal Errors:"
-- print self.fatal_error
-+ print("Fatal Errors:")
-+ print(self.fatal_error)
- Exit(1)
-
- def configure_gxx(self):
diff --git a/testing/pingus/01-pingus-1.76-boost-1.69.patch b/testing/pingus/01-pingus-1.76-boost-1.69.patch
deleted file mode 100644
index b27620b6398..00000000000
--- a/testing/pingus/01-pingus-1.76-boost-1.69.patch
+++ /dev/null
@@ -1,382 +0,0 @@
---- a/SConscript
-+++ b/SConscript
-@@ -187,9 +187,8 @@ class Project:
- 'src/engine/input/xinput/xinput_device.cpp'])
-
- def configure_boost(self):
-- if not self.conf.CheckLibWithHeader('boost_signals', 'boost/signals.hpp', 'c++'):
-- if not self.conf.CheckLibWithHeader('boost_signals-mt', 'boost/signals.hpp', 'c++'):
-- self.fatal_error += " * library 'boost_signals' not found\n"
-+ if not self.conf.CheckHeader('boost/signals2.hpp', '<>', 'c++'):
-+ self.fatal_error += " * library 'boost_signals2' not found\n"
-
- def configure_png(self):
- if self.conf.CheckMyProgram('pkg-config'):
-
-
-
-
---- a/src/editor/button.hpp
-+++ b/src/editor/button.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_EDITOR_BUTTON_HPP
- #define HEADER_PINGUS_EDITOR_BUTTON_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "engine/gui/rect_component.hpp"
-
-@@ -48,7 +48,7 @@ public:
- void enable() { enabled = true; }
- void disable() { enabled = false; }
-
-- boost::signal<void()> on_click;
-+ boost::signals2::signal<void()> on_click;
-
- private:
- Button (const Button&);
-
-
-
-
---- a/src/editor/checkbox.hpp
-+++ b/src/editor/checkbox.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_EDITOR_CHECKBOX_HPP
- #define HEADER_PINGUS_EDITOR_CHECKBOX_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "engine/gui/rect_component.hpp"
-
-@@ -40,7 +40,7 @@ public:
- bool is_checked() const { return checked; }
- void on_primary_button_press(int x, int y);
-
-- boost::signal<void (bool)> on_change;
-+ boost::signals2::signal<void (bool)> on_change;
-
- private:
- Checkbox (const Checkbox&);
-
-
-
-
---- a/src/editor/combobox.hpp
-+++ b/src/editor/combobox.hpp
-@@ -18,7 +18,7 @@
- #ifndef HEADER_PINGUS_EDITOR_COMBOBOX_HPP
- #define HEADER_PINGUS_EDITOR_COMBOBOX_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "engine/display/sprite.hpp"
- #include "engine/gui/rect_component.hpp"
-@@ -88,7 +88,7 @@ public:
-
- void update_layout() {}
-
-- boost::signal<void (const ComboItem&)> on_select;
-+ boost::signals2::signal<void (const ComboItem&)> on_select;
-
- private:
- Combobox();
-
-
-
-
---- a/src/editor/file_list.hpp
-+++ b/src/editor/file_list.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_EDITOR_FILE_LIST_HPP
- #define HEADER_PINGUS_EDITOR_FILE_LIST_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "engine/display/sprite.hpp"
- #include "engine/gui/rect_component.hpp"
-@@ -61,7 +61,7 @@ public:
- bool has_more_next_pages();
- bool has_more_prev_pages();
-
-- boost::signal<void (const System::DirectoryEntry&)> on_click;
-+ boost::signals2::signal<void (const System::DirectoryEntry&)> on_click;
-
- private:
- int items_per_page();
-
-
-
-
---- a/src/editor/inputbox.hpp
-+++ b/src/editor/inputbox.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_EDITOR_INPUTBOX_HPP
- #define HEADER_PINGUS_EDITOR_INPUTBOX_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "engine/gui/rect_component.hpp"
-
-@@ -40,8 +40,8 @@ public:
-
- void update_layout() {}
-
-- boost::signal<void (const std::string&)> on_change;
-- boost::signal<void (const std::string&)> on_enter;
-+ boost::signals2::signal<void (const std::string&)> on_change;
-+ boost::signals2::signal<void (const std::string&)> on_enter;
-
- private:
- Inputbox (const Inputbox&);
-
-
-
-
---- a/src/editor/message_box.hpp
-+++ b/src/editor/message_box.hpp
-@@ -45,7 +45,7 @@ public:
- void on_cancel_button();
-
- public:
-- boost::signal<void()> on_ok;
-+ boost::signals2::signal<void()> on_ok;
-
- private:
- MessageBox(const MessageBox&);
-
-
-
-
---- a/src/editor/object_selector.cpp
-+++ b/src/editor/object_selector.cpp
-@@ -16,7 +16,7 @@
-
- #include "editor/object_selector.hpp"
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "editor/generic_level_obj.hpp"
- #include "editor/gui_style.hpp"
-@@ -47,7 +47,7 @@ private:
- std::string tooltip;
-
- public:
-- boost::signal<void()> on_click;
-+ boost::signals2::signal<void()> on_click;
-
- public:
- ObjectSelectorButton(ObjectSelectorList* object_list_,
-
-
-
-
---- a/src/editor/viewport.hpp
-+++ b/src/editor/viewport.hpp
-@@ -18,7 +18,7 @@
- #ifndef HEADER_PINGUS_EDITOR_VIEWPORT_HPP
- #define HEADER_PINGUS_EDITOR_VIEWPORT_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
- #include <set>
-
- #include "editor/selection.hpp"
-@@ -148,7 +148,7 @@ public:
-
- void clear_selection();
-
-- boost::signal<void (const Selection&)> selection_changed;
-+ boost::signals2::signal<void (const Selection&)> selection_changed;
- private:
- Viewport();
- Viewport (const Viewport&);
-
-
-
-
---- a/src/pingus/components/check_box.hpp
-+++ b/src/pingus/components/check_box.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_PINGUS_COMPONENTS_CHECK_BOX_HPP
- #define HEADER_PINGUS_PINGUS_COMPONENTS_CHECK_BOX_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "engine/display/sprite.hpp"
- #include "engine/gui/rect_component.hpp"
-@@ -39,7 +39,7 @@ public:
-
- void set_state(bool v, bool send_signal);
-
-- boost::signal<void (bool)> on_change;
-+ boost::signals2::signal<void (bool)> on_change;
-
- private:
- CheckBox (const CheckBox&);
-
-
-
-
---- a/src/pingus/components/choice_box.hpp
-+++ b/src/pingus/components/choice_box.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_PINGUS_COMPONENTS_CHOICE_BOX_HPP
- #define HEADER_PINGUS_PINGUS_COMPONENTS_CHOICE_BOX_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "engine/gui/rect_component.hpp"
-
-@@ -36,7 +36,7 @@ public:
- void add_choice(const std::string& str);
- void set_current_choice(int choice);
-
-- boost::signal<void (std::string)> on_change;
-+ boost::signals2::signal<void (std::string)> on_change;
-
- private:
- ChoiceBox (const ChoiceBox&);
-
-
-
-
---- a/src/pingus/components/slider_box.hpp
-+++ b/src/pingus/components/slider_box.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_PINGUS_COMPONENTS_SLIDER_BOX_HPP
- #define HEADER_PINGUS_PINGUS_COMPONENTS_SLIDER_BOX_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "engine/gui/rect_component.hpp"
-
-@@ -39,7 +39,7 @@ public:
-
- void set_value(int v);
-
-- boost::signal<void (int)> on_change;
-+ boost::signals2::signal<void (int)> on_change;
-
- private:
- SliderBox (const SliderBox&);
-
-
-
-
---- a/src/pingus/config_manager.hpp
-+++ b/src/pingus/config_manager.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_PINGUS_CONFIG_MANAGER_HPP
- #define HEADER_PINGUS_PINGUS_CONFIG_MANAGER_HPP
-
--#include <boost/signal.hpp>
-+#include <boost/signals2.hpp>
-
- #include "math/size.hpp"
- #include "pingus/options.hpp"
-@@ -39,55 +39,55 @@ public:
-
- void set_master_volume(int);
- int get_master_volume() const;
-- boost::signal<void(int)> on_master_volume_change;
-+ boost::signals2::signal<void(int)> on_master_volume_change;
-
- void set_sound_volume(int);
- int get_sound_volume() const;
-- boost::signal<void(int)> on_sound_volume_change;
-+ boost::signals2::signal<void(int)> on_sound_volume_change;
-
- void set_music_volume(int);
- int get_music_volume() const;
-- boost::signal<void(int)> on_music_volume_change;
-+ boost::signals2::signal<void(int)> on_music_volume_change;
-
- void set_fullscreen_resolution(const Size& size);
- Size get_fullscreen_resolution() const;
-- boost::signal<void(Size)> on_fullscreen_resolution_change;
-+ boost::signals2::signal<void(Size)> on_fullscreen_resolution_change;
-
- void set_fullscreen(bool);
- bool get_fullscreen() const;
-- boost::signal<void(bool)> on_fullscreen_change;
-+ boost::signals2::signal<void(bool)> on_fullscreen_change;
-
- void set_renderer(FramebufferType type);
- FramebufferType get_renderer() const;
-- boost::signal<void(FramebufferType)> on_renderer_change;
-+ boost::signals2::signal<void(FramebufferType)> on_renderer_change;
-
- void set_resizable(bool);
- bool get_resizable() const;
-- boost::signal<void(bool)> on_resizable_change;
-+ boost::signals2::signal<void(bool)> on_resizable_change;
-
- void set_mouse_grab(bool);
- bool get_mouse_grab() const;
-- boost::signal<void(bool)> on_mouse_grab_change;
-+ boost::signals2::signal<void(bool)> on_mouse_grab_change;
-
- void set_print_fps(bool);
- bool get_print_fps() const;
-- boost::signal<void(bool)> on_print_fps_change;
-+ boost::signals2::signal<void(bool)> on_print_fps_change;
-
- void set_language(const tinygettext::Language&);
- tinygettext::Language get_language() const;
-- boost::signal<void(const tinygettext::Language&)> on_language_change;
-+ boost::signals2::signal<void(const tinygettext::Language&)> on_language_change;
-
- void set_software_cursor(bool);
- bool get_software_cursor() const;
-- boost::signal<void(bool)> on_software_cursor_change;
-+ boost::signals2::signal<void(bool)> on_software_cursor_change;
-
- void set_auto_scrolling(bool);
- bool get_auto_scrolling() const;
-- boost::signal<void(bool)> on_auto_scrolling_change;
-+ boost::signals2::signal<void(bool)> on_auto_scrolling_change;
-
- void set_drag_drop_scrolling(bool);
- bool get_drag_drop_scrolling() const;
-- boost::signal<void(bool)> on_drag_drop_scrolling_change;
-+ boost::signals2::signal<void(bool)> on_drag_drop_scrolling_change;
-
- private:
- ConfigManager (const ConfigManager&);
-
-
-
-
---- a/src/pingus/screens/option_menu.hpp
-+++ b/src/pingus/screens/option_menu.hpp
-@@ -17,7 +17,7 @@
- #ifndef HEADER_PINGUS_PINGUS_SCREENS_OPTION_MENU_HPP
- #define HEADER_PINGUS_PINGUS_SCREENS_OPTION_MENU_HPP
-
--#include <boost/signals.hpp>
-+#include <boost/signals2.hpp>
- #include <map>
- #include <vector>
-
-@@ -66,7 +66,7 @@ private:
- //Label* defaults_label;
- //CheckBox* defaults_box;
-
-- typedef std::vector<boost::signals::connection> Connections;
-+ typedef std::vector<boost::signals2::connection> Connections;
- Connections connections;
-
- tinygettext::Language m_language;
---
-2.18.1
-
diff --git a/testing/pingus/02-missing-header.patch b/testing/pingus/02-missing-header.patch
deleted file mode 100644
index a6d7dded4c1..00000000000
--- a/testing/pingus/02-missing-header.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/pingus/screens/demo_session.cpp
-+++ b/src/pingus/screens/demo_session.cpp
-@@ -18,6 +18,7 @@
-
- #include <algorithm>
- #include <iostream>
-+#include <functional>
-
- #include "engine/gui/gui_manager.hpp"
- #include "engine/gui/surface_button.hpp"
-
diff --git a/testing/pingus/03-pingus-0.7.6-gcc470-udl.patch b/testing/pingus/03-pingus-0.7.6-gcc470-udl.patch
deleted file mode 100644
index 8c05149feb2..00000000000
--- a/testing/pingus/03-pingus-0.7.6-gcc470-udl.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/src/pingus/pingus_main.cpp~ 2011-12-24 15:46:47.000000000 -0600
-+++ b/src/pingus/pingus_main.cpp 2012-01-03 13:13:03.034195720 -0600
-@@ -465,7 +465,7 @@
- void
- PingusMain::print_greeting_message()
- {
-- std::string greeting = "Welcome to Pingus "VERSION;
-+ std::string greeting = "Welcome to Pingus " VERSION;
- greeting += "!";
- std::cout << greeting << std::endl;
- for (unsigned int i = 0; i < greeting.length(); ++i)
---- a/src/pingus/screens/pingus_menu.cpp~ 2011-12-24 15:46:47.000000000 -0600
-+++ b/src/pingus/screens/pingus_menu.cpp 2012-01-03 13:30:28.967700554 -0600
-@@ -153,7 +153,7 @@
- gc.get_height()/2 - 280));
-
- gc.print_left(Fonts::pingus_small, Vector2i(gc.get_width()/2 - 400 + 25, gc.get_height()-140),
-- "Pingus "VERSION" - Copyright (C) 1998-2011 Ingo Ruhnke <grumbel@gmail.com>\n"
-+ "Pingus " VERSION " - Copyright (C) 1998-2011 Ingo Ruhnke <grumbel@gmail.com>\n"
- "See the file AUTHORS for a complete list of contributors.\n"
- "Pingus comes with ABSOLUTELY NO WARRANTY. This is free software, and you are\n"
- "welcome to redistribute it under certain conditions; see the file COPYING for details.\n");
diff --git a/testing/pingus/APKBUILD b/testing/pingus/APKBUILD
deleted file mode 100644
index e9fb4e8668b..00000000000
--- a/testing/pingus/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=pingus
-pkgver=0.7.6
-pkgrel=5
-pkgdesc="Free Lemmings(TM) clone"
-url="https://pingus.seul.org/"
-arch="all"
-license="GPL-2.0-only"
-depends="$pkgname-data libmikmod"
-makedepends="freeglut-dev sdl12-compat-dev sdl_image-dev sdl_mixer-dev libpng-dev boost-dev scons"
-options="!check" # No testsuite
-source="https://gitlab.com/pingus/downloads/-/raw/master/pingus-$pkgver.tar.bz2
- 00-fix-python-typos.patch
- 01-pingus-1.76-boost-1.69.patch
- 02-missing-header.patch
- 03-pingus-0.7.6-gcc470-udl.patch
- pingus.desktop
- "
-subpackages="$pkgname-doc $pkgname-data::noarch"
-
-build() {
- scons prefix=/usr DESTDIR="$pkgdir"
-}
-
-package() {
- make PREFIX=/usr DESTDIR="$pkgdir" install
- install -Dm644 "$srcdir"/pingus.desktop \
- "$pkgdir"/usr/share/applications/pingus.desktop
-}
-
-data() {
- pkgdesc="$pkgdesc (data files)"
- amove /usr/share/pingus
-}
-
-sha512sums="6c8c2ace1a9229b4e3b506aee76aa94c0dd906a64fa2c817902c2cd3854df390cf675c8c6ddd3ba1926a467348b2103818bd44bc095378cc7bf3f2ff7af27188 pingus-0.7.6.tar.bz2
-674620c2b56df129f297a41bb4fc61af18063a17a9cd3022418cfa28b12f422a37db3e04b04d2a28f450a3250ac6a7dc58fe44fefda60577a0af6cb5b0c10739 00-fix-python-typos.patch
-d6dff30f61ebf57d2f8768f5e5f9721b4ff675ca1c9e3af99c96f9d79b06acf8aeb838a9b93d3b7eb6280c6af886809f0ef272ec5016fca75be00b755efc9c34 01-pingus-1.76-boost-1.69.patch
-b872ad5f1ba988c2c29f1ac84dc8af72b891a57b657e3894158d020857876c8a5859b48dc18d126c0ddfc102183c77a1977b03f296bd5969ec8ff23b154d29d9 02-missing-header.patch
-6b5ced7f03911694a219e42ca69953625cfe1f8059c788d5261640407286e90c7792c587df881656cce6730bf003de3ee12083c329c7520d0cebdf59ad797a0d 03-pingus-0.7.6-gcc470-udl.patch
-6c2a8da1bcb250217c47d70ad223c02cf12879bab201433e76bf98f5693886ab0d96da295a795bfefe1723596011d41ff615c2262a277414234b88c8e35c64c8 pingus.desktop"
diff --git a/testing/pingus/pingus.desktop b/testing/pingus/pingus.desktop
deleted file mode 100644
index 276db36a444..00000000000
--- a/testing/pingus/pingus.desktop
+++ /dev/null
@@ -1,9 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Name=Pingus
-Comment=A free Lemmings[tm] clone
-Exec=pingus
-Terminal=false
-Type=Application
-Categories=Application;Game;LogicGame
-Icon=/usr/share/pingus/images/core/editor/actions.png
diff --git a/testing/pipe-viewer/APKBUILD b/testing/pipe-viewer/APKBUILD
deleted file mode 100644
index f4d80edebe2..00000000000
--- a/testing/pipe-viewer/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=pipe-viewer
-pkgver=0.1.7
-pkgrel=0
-pkgdesc="Lightweight YouTube client that does not require an YouTube API key"
-url="https://github.com/trizen/pipe-viewer"
-arch="noarch"
-license="Artistic-2.0"
-makedepends="perl-module-build"
-depends="perl-data-dump perl-json perl-lwp-protocol-https perl-libwww
- perl-term-readline-gnu perl-unicode-linebreak"
-checkdepends="perl-test-pod"
-subpackages="$pkgname-doc $pkgname-gtk"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
-
-build() {
- perl Build.PL --gtk3
-}
-
-check() {
- ./Build test
-}
-
-package() {
- ./Build install --destdir "$pkgdir" --installdirs vendor
-}
-
-gtk() {
- depends="$pkgname perl-gtk3 perl-file-sharedir"
- pkgdesc="$pkgdesc (GTK interface)"
-
- amove usr/bin/gtk-pipe-viewer
- amove "usr/share/perl5/vendor_perl/auto/share/dist/WWW-PipeViewer/gtk-*"
- amove usr/share/perl5/vendor_perl/auto/share/dist/WWW-PipeViewer/icons
-}
-
-sha512sums="
-bd3191b8a759e16759bd1c5967bbe711c45bc454a6da13c8a4fab18564d6a9b6da83c6e6d5aa288d07898105661ab6e31ebdd1f3212d2c1a510d15fd40912f37 pipe-viewer-0.1.7.tar.gz
-"
diff --git a/testing/pipectl/APKBUILD b/testing/pipectl/APKBUILD
new file mode 100644
index 00000000000..1ec06bae5fc
--- /dev/null
+++ b/testing/pipectl/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=pipectl
+pkgver=0.4.1
+pkgrel=1
+pkgdesc="A simple named pipe management utility"
+url="https://github.com/Ferdi265/pipectl"
+license="GPL-3.0-or-later"
+arch="all"
+makedepends="cmake samurai scdoc"
+subpackages="$pkgname-doc"
+source="https://github.com/Ferdi265/pipectl/archive/v$pkgver/pipectl-$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DINSTALL_DOCUMENTATION=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+812993da6a274dc4965d1aec93ff557a421881159be1b457621488dcc74b673a6cddfa39cd2c0f22723036d71289341f3702771de6ff47b28f02a4721dd99260 pipectl-0.4.1.tar.gz
+"
diff --git a/testing/pipeline/APKBUILD b/testing/pipeline/APKBUILD
new file mode 100644
index 00000000000..130798d722b
--- /dev/null
+++ b/testing/pipeline/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=pipeline
+pkgver=1.14.5
+pkgrel=0
+pkgdesc="Watch YouTube and PeerTube videos in one place"
+url="https://gitlab.com/schmiddi-on-mobile/pipeline"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ appstream-glib
+ cargo
+ cargo-auditable
+ desktop-file-utils
+ gtk4.0-dev
+ libadwaita-dev
+ meson
+ openssl-dev
+"
+subpackages="$pkgname-doc $pkgname-lang"
+source="
+ $pkgname-$pkgver.tar.gz::https://gitlab.com/schmiddi-on-mobile/pipeline/-/archive/v$pkgver/pipeline-v$pkgver.tar.gz
+"
+options="net !check" # no tests
+builddir="$srcdir/$pkgname-v$pkgver"
+
+prepare() {
+ default_prepare
+
+ meson setup build --prefix /usr
+ sed -i "s/cargo build/cargo auditable build --frozen/" build/build.ninja
+ CARGO_HOME="$builddir"/build/cargo-home cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ meson compile -C build
+}
+
+package() {
+ meson install -C build --no-rebuild --destdir "$pkgdir"
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+92d32d91c8e8acd3f93c71d5c7b0c13028c9e6667023a68d1b06d01e9fe576418ebdf5b2378c117d942d73f5f36be605138f02e04d587f2d801fd7b69af5c3f2 pipeline-1.14.5.tar.gz
+"
diff --git a/testing/piper-phonemize/APKBUILD b/testing/piper-phonemize/APKBUILD
new file mode 100644
index 00000000000..0292235936b
--- /dev/null
+++ b/testing/piper-phonemize/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: leso-kn <info@lesosoftware.com>
+pkgname=piper-phonemize
+_pkgver=2023.11.14-4
+pkgver=${_pkgver/-/.}
+pkgrel=1
+pkgdesc="C++ library for converting text to phonemes for piper-tts"
+url="https://github.com/rhasspy/piper-phonemize"
+# x86, s390x: not supported by onnxruntime
+arch="all !x86 !s390x"
+license="MIT AND GPL-3.0-only"
+depends_dev="$pkgname-libs"
+makedepends="
+ cmake
+ espeak-ng-dev
+ onnxruntime-dev
+ samurai
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-libs:_libs
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/rhasspy/piper-phonemize/archive/refs/tags/$_pkgver.tar.gz
+ no-rpath.patch
+ use-system-espeak-ng.patch
+ use-system-onnxruntime.patch
+ add-pkgconfig-support.patch
+ "
+builddir="$srcdir"/piper-phonemize-$_pkgver
+
+case "$CARCH" in
+ riscv64) options="!check";;
+esac
+
+build() {
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+_libs() {
+ amove usr/lib
+}
+
+sha512sums="
+0a5e07c98da91fd887a9082d42b7b884277fcb02af3116c71fe0900457528dd432abe2634c837f8fe8b47c718ff9dbc4003ce36d502d6a58c7ecc61fab015776 piper-phonemize-2023.11.14.4.tar.gz
+793c4e6b2666bce8840474cc1c927d459ac9e0b8d752777aa4dd17e5b9a6aaa242ef44a9b88d18bc96886f58be4dcb3c8d885dfc26c92d9d0d1fc08626d6da77 no-rpath.patch
+7afc438cb3c2af3c1b502a5d9f2360efe26636c8ae346432bc749c20ada3d29e57cafaa92c0779ce3954353f70e9f82bf03e7010019b940f7c17695c5c0e5ed1 use-system-espeak-ng.patch
+7288e01ec021d5c14fb39769ca8f219f95d5781301504ce7cd6b0bc4cfa590f60ebfb9293a741972768ac5a6e066d462ea49ba1f141aad98276ff1a31e07ab8c use-system-onnxruntime.patch
+1cb5e8c0f6bdfc53e6de7422c89b0561586e28fd9c0692d87578e47d1f903b25387c887f23a81621f128a2cd0306a9ef2b5f9cf9d57b25d6a9402ef09e62d5ab add-pkgconfig-support.patch
+"
diff --git a/testing/piper-phonemize/add-pkgconfig-support.patch b/testing/piper-phonemize/add-pkgconfig-support.patch
new file mode 100644
index 00000000000..f7a5cfb228c
--- /dev/null
+++ b/testing/piper-phonemize/add-pkgconfig-support.patch
@@ -0,0 +1,50 @@
+commit 6f9df58efef9fd8262e37c717d25f37839f4cdc0
+Author: Shaun Ren <shaun.ren@linux.com>
+Date: Fri Sep 29 22:56:36 2023 -0400
+
+ Add piper_phonemize.pc
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index a7b30a6..b7fd68c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -166,6 +166,9 @@ endif()
+
+ target_compile_features(piper_phonemize PUBLIC cxx_std_17)
+
++set(pc_requires_private "espeak-ng libonnxruntime")
++configure_file(piper_phonemize.pc.in piper_phonemize.pc @ONLY)
++
+ # ---- Declare executable ----
+
+ add_executable(piper_phonemize_exe src/main.cpp src/phoneme_ids.cpp)
+@@ -249,6 +252,10 @@ install(
+ PATTERN "*.h"
+ PATTERN "*.hpp")
+
++install(
++ FILES ${CMAKE_CURRENT_BINARY_DIR}/piper_phonemize.pc
++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
++
+ install(
+ TARGETS piper_phonemize_exe
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_BINDIR})
+diff --git a/piper_phonemize.pc.in b/piper_phonemize.pc.in
+new file mode 100644
+index 0000000..57d32db
+--- /dev/null
++++ b/piper_phonemize.pc.in
+@@ -0,0 +1,13 @@
++prefix="@CMAKE_INSTALL_PREFIX@"
++exec_prefix="${prefix}"
++libdir="${prefix}/@CMAKE_INSTALL_LIBDIR@"
++includedir="${prefix}/include"
++
++Name: @PROJECT_NAME@
++Description: @CMAKE_PROJECT_DESCRIPTION@
++URL: @CMAKE_PROJECT_HOMEPAGE_URL@
++Version: @PROJECT_VERSION@
++
++Requires.private: @pc_requires_private@
++Cflags: -I"${includedir}"
++Libs: -L"${libdir}" -l@PROJECT_NAME@
diff --git a/testing/piper-phonemize/no-rpath.patch b/testing/piper-phonemize/no-rpath.patch
new file mode 100644
index 00000000000..43266a301e1
--- /dev/null
+++ b/testing/piper-phonemize/no-rpath.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b1562a1..afb0c03 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -17,7 +17,7 @@ if(MSVC)
+
+ elseif(NOT APPLE)
+ # Linux flags
+- string(APPEND CMAKE_CXX_FLAGS " -Wall -Wextra -Wl,-rpath,'$ORIGIN'")
++ string(APPEND CMAKE_CXX_FLAGS " -Wall -Wextra")
+ string(APPEND CMAKE_C_FLAGS " -Wall -Wextra")
+ endif()
+
diff --git a/testing/piper-phonemize/use-system-espeak-ng.patch b/testing/piper-phonemize/use-system-espeak-ng.patch
new file mode 100644
index 00000000000..16e790dd0c1
--- /dev/null
+++ b/testing/piper-phonemize/use-system-espeak-ng.patch
@@ -0,0 +1,110 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b1562a1..4de504c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -97,7 +97,10 @@ endif()
+
+ # ---- espeak-ng ---
+
+-if(NOT DEFINED ESPEAK_NG_DIR)
++find_package(PkgConfig)
++pkg_check_modules(ESPEAK_NG REQUIRED espeak-ng<2)
++
++if(FALSE)
+ set(ESPEAK_NG_DIR "${CMAKE_CURRENT_BINARY_DIR}/ei")
+
+ include(ExternalProject)
+@@ -125,13 +128,11 @@ endif()
+ target_include_directories(
+ piper_phonemize PUBLIC
+ "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>"
+- ${ESPEAK_NG_DIR}/include
+ ${ONNXRUNTIME_DIR}/include
+ )
+
+ target_link_directories(
+ piper_phonemize PUBLIC
+- ${ESPEAK_NG_DIR}/lib
+ ${ONNXRUNTIME_DIR}/lib
+ )
+
+@@ -221,16 +221,3 @@ install(
+ install(
+ FILES ${CMAKE_SOURCE_DIR}/etc/libtashkeel_model.ort
+ TYPE DATA)
+-
+-# Dependencies
+-install(
+- DIRECTORY ${ESPEAK_NG_DIR}/
+- DESTINATION ${CMAKE_INSTALL_PREFIX})
+-
+-install(
+- DIRECTORY ${ONNXRUNTIME_DIR}/include/
+- DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
+-
+-install(
+- DIRECTORY ${ONNXRUNTIME_DIR}/lib/
+- DESTINATION ${CMAKE_INSTALL_LIBDIR})
+diff --git a/src/phonemize.cpp b/src/phonemize.cpp
+index 28b01e4..a5b748a 100644
+--- a/src/phonemize.cpp
++++ b/src/phonemize.cpp
+@@ -35,14 +35,21 @@ void phonemize_eSpeak(std::string text, eSpeakPhonemeConfig &config,
+
+ std::vector<Phoneme> *sentencePhonemes = nullptr;
+ const char *inputTextPointer = textCopy.c_str();
+- int terminator = 0;
+
+ while (inputTextPointer != NULL) {
+- // Modified espeak-ng API to get access to clause terminator
+- std::string clausePhonemes(espeak_TextToPhonemesWithTerminator(
++ int terminator = 0;
++ std::string clausePhonemes(espeak_TextToPhonemes(
+ (const void **)&inputTextPointer,
+ /*textmode*/ espeakCHARS_AUTO,
+- /*phonememode = IPA*/ 0x02, &terminator));
++ /*phonememode = IPA*/ 0x02));
++
++ const char *remainingTextPointer = inputTextPointer ? inputTextPointer : textCopy.c_str()+textCopy.length()+1;
++ for (size_t i = -2; remainingTextPointer+i > textCopy.c_str(); i--) {
++ if ((remainingTextPointer[i]) != ' ') {
++ terminator = remainingTextPointer[i];
++ break;
++ }
++ }
+
+ // Decompose, e.g. "ç" -> "c" + "̧"
+ auto phonemesNorm = una::norm::to_nfd_utf8(clausePhonemes);
+@@ -105,25 +112,24 @@ void phonemize_eSpeak(std::string text, eSpeakPhonemeConfig &config,
+ }
+
+ // Add appropriate punctuation depending on terminator type
+- int punctuation = terminator & 0x000FFFFF;
+- if (punctuation == CLAUSE_PERIOD) {
++ if (terminator == '.') {
+ sentencePhonemes->push_back(config.period);
+- } else if (punctuation == CLAUSE_QUESTION) {
++ } else if (terminator == '?') {
+ sentencePhonemes->push_back(config.question);
+- } else if (punctuation == CLAUSE_EXCLAMATION) {
++ } else if (terminator == '!') {
+ sentencePhonemes->push_back(config.exclamation);
+- } else if (punctuation == CLAUSE_COMMA) {
++ } else if (terminator == ',') {
+ sentencePhonemes->push_back(config.comma);
+ sentencePhonemes->push_back(config.space);
+- } else if (punctuation == CLAUSE_COLON) {
++ } else if (terminator == ':') {
+ sentencePhonemes->push_back(config.colon);
+ sentencePhonemes->push_back(config.space);
+- } else if (punctuation == CLAUSE_SEMICOLON) {
++ } else if (terminator == ';') {
+ sentencePhonemes->push_back(config.semicolon);
+ sentencePhonemes->push_back(config.space);
+ }
+
+- if ((terminator & CLAUSE_TYPE_SENTENCE) == CLAUSE_TYPE_SENTENCE) {
++ if (terminator == '.' || terminator == '?' || terminator == '!') {
+ // End of sentence
+ sentencePhonemes = nullptr;
+ }
diff --git a/testing/piper-phonemize/use-system-onnxruntime.patch b/testing/piper-phonemize/use-system-onnxruntime.patch
new file mode 100644
index 00000000000..96140176985
--- /dev/null
+++ b/testing/piper-phonemize/use-system-onnxruntime.patch
@@ -0,0 +1,36 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d23aa2f..edc9c09 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,7 +37,7 @@ set_target_properties(piper_phonemize PROPERTIES
+ # ---- onnxruntime ---
+
+ # Look for onnxruntime files in <root>/lib
+-if(NOT DEFINED ONNXRUNTIME_DIR)
++if(FALSE)
+ if(NOT DEFINED ONNXRUNTIME_VERSION)
+ set(ONNXRUNTIME_VERSION "1.14.1")
+ endif()
+@@ -99,6 +99,7 @@ endif()
+
+ find_package(PkgConfig)
+ pkg_check_modules(ESPEAK_NG REQUIRED espeak-ng<2)
++pkg_check_modules(ONNXRUNTIME REQUIRED libonnxruntime)
+
+ if(FALSE)
+ set(ESPEAK_NG_DIR "${CMAKE_CURRENT_BINARY_DIR}/ei")
+@@ -128,12 +129,12 @@ endif()
+ target_include_directories(
+ piper_phonemize PUBLIC
+ "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>"
+- ${ONNXRUNTIME_DIR}/include
++ ${ONNXRUNTIME_INCLUDE_DIRS}
+ )
+
+ target_link_directories(
+ piper_phonemize PUBLIC
+- ${ONNXRUNTIME_DIR}/lib
++ ${ONNXRUNTIME_LIBRARY_DIRS}
+ )
+
+ target_link_libraries(
diff --git a/testing/piper-tts/APKBUILD b/testing/piper-tts/APKBUILD
new file mode 100644
index 00000000000..965abc240fb
--- /dev/null
+++ b/testing/piper-tts/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: leso-kn <info@lesosoftware.com>
+pkgname=piper-tts
+_pkgver=2023.11.14-2
+pkgver=${_pkgver/-/.}
+pkgrel=3
+pkgdesc="Fast, local neural text to speech system"
+url="https://github.com/rhasspy/piper"
+provides="larynx2=$pkgver-r$pkgrel"
+replaces=larynx2
+# x86, s390x: not supported by onnxruntime
+arch="all !x86 !s390x"
+license="MIT"
+depends_dev="
+ espeak-ng-dev
+ onnxruntime-dev
+ piper-phonemize-dev
+ "
+makedepends="
+ $depends_dev
+ cmake
+ pcaudiolib-dev
+ samurai
+ spdlog-dev
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rhasspy/piper/archive/refs/tags/$_pkgver.tar.gz
+ no-rpath.patch
+ use-system-libs.patch
+ "
+builddir="$srcdir"/piper-$_pkgver
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ install -Dm755 build/piper \
+ -t "$pkgdir"/usr/bin/
+
+ mkdir -p "$pkgdir"/usr/include/piper
+ cp -a src/cpp/*.h src/cpp/*.hpp src/cpp/utf8/ "$pkgdir"/usr/include/piper/
+}
+
+sha512sums="
+2156c8d384aafc977a41eea181855b5e3fddab1eca353528d919d421958e4c10dbcf6526d03433e4246ac847a2fe4a7c43a57d2cb5666993ad0f28ed9fb68fe6 piper-tts-2023.11.14.2.tar.gz
+60c3233dd281c7a73077bca2c191c095ac7447cda34018c085fb08f5866d785d13bf5099a25d3803fa78215c2e3e73b6671349a0446286a6ec808335dcaa8808 no-rpath.patch
+7d0a2df1139edea6c46d49b7440b5be76c52a1b46835c7647fcc0a400351829dc0a6e77cf9c3f77aaeea6e4ec616317e707b2ab2e94c7b9de9533d147a8155d9 use-system-libs.patch
+"
diff --git a/testing/piper-tts/no-rpath.patch b/testing/piper-tts/no-rpath.patch
new file mode 100644
index 00000000000..5f8d093ea2f
--- /dev/null
+++ b/testing/piper-tts/no-rpath.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f96ec44..df05cc2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -13,7 +13,7 @@ if(MSVC)
+ add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
+ elseif(NOT APPLE)
+ # Linux flags
+- string(APPEND CMAKE_CXX_FLAGS " -Wall -Wextra -Wl,-rpath,'$ORIGIN'")
++ string(APPEND CMAKE_CXX_FLAGS " -Wall -Wextra")
+ string(APPEND CMAKE_C_FLAGS " -Wall -Wextra")
+ endif()
diff --git a/testing/piper-tts/use-system-libs.patch b/testing/piper-tts/use-system-libs.patch
new file mode 100644
index 00000000000..44e180d2c8a
--- /dev/null
+++ b/testing/piper-tts/use-system-libs.patch
@@ -0,0 +1,130 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index f96ec44..05a8a6d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,7 +25,7 @@ add_executable(test_piper src/cpp/test.cpp src/cpp/piper.cpp)
+
+ # ---- fmt ---
+
+-if(NOT DEFINED FMT_DIR)
++if(FALSE)
+ set(FMT_VERSION "10.0.0")
+ set(FMT_DIR "${CMAKE_CURRENT_BINARY_DIR}/fi")
+
+@@ -43,7 +43,7 @@ endif()
+
+ # ---- spdlog ---
+
+-if(NOT DEFINED SPDLOG_DIR)
++if(FALSE)
+ set(SPDLOG_DIR "${CMAKE_CURRENT_BINARY_DIR}/si")
+ set(SPDLOG_VERSION "1.12.0")
+ ExternalProject_Add(
+@@ -58,7 +58,13 @@ endif()
+
+ # ---- piper-phonemize ---
+
+-if(NOT DEFINED PIPER_PHONEMIZE_DIR)
++find_package(PkgConfig)
++pkg_check_modules(FMT REQUIRED fmt)
++pkg_check_modules(ONNXRUNTIME REQUIRED libonnxruntime)
++pkg_check_modules(PIPER_PHONEMIZE REQUIRED piper_phonemize)
++pkg_check_modules(SPDLOG REQUIRED spdlog)
++
++if(FALSE)
+ set(PIPER_PHONEMIZE_DIR "${CMAKE_CURRENT_BINARY_DIR}/pi")
+ ExternalProject_Add(
+ piper_phonemize_external
+@@ -74,9 +80,8 @@ endif()
+
+ if((NOT MSVC) AND (NOT APPLE))
+ # Linux flags
+- string(APPEND CMAKE_CXX_FLAGS " -Wall -Wextra -Wl,-rpath,'$ORIGIN'")
++ string(APPEND CMAKE_CXX_FLAGS " -Wall -Wextra")
+ string(APPEND CMAKE_C_FLAGS " -Wall -Wextra")
+- target_link_libraries(piper -static-libgcc -static-libstdc++)
+
+ set(PIPER_EXTRA_LIBRARIES "pthread")
+ endif()
+@@ -91,18 +96,18 @@ target_link_libraries(piper
+ )
+
+ target_link_directories(piper PUBLIC
+- ${FMT_DIR}/lib
+- ${SPDLOG_DIR}/lib
+- ${PIPER_PHONEMIZE_DIR}/lib
++ ${FMT_LIBRARY_DIRS}
++ ${SPDLOG_LIBRARY_DIRS}
++ ${ONNXRUNTIME_LIBRARY_DIRS}
+ )
+
+ target_include_directories(piper PUBLIC
+- ${FMT_DIR}/include
+- ${SPDLOG_DIR}/include
+- ${PIPER_PHONEMIZE_DIR}/include
++ ${FMT_INCLUDE_DIRS}
++ ${SPDLOG_INCLUDE_DIRS}
++ ${ONNXRUNTIME_INCLUDE_DIRS}
+ )
+
+-target_compile_definitions(piper PUBLIC _PIPER_VERSION=${piper_version})
++target_compile_definitions(piper PUBLIC _PIPER_VERSION="${piper_version}")
+
+ # ---- Declare test ----
+ include(CTest)
+@@ -116,16 +121,16 @@ target_compile_features(test_piper PUBLIC cxx_std_17)
+
+ target_include_directories(
+ test_piper PUBLIC
+- ${FMT_DIR}/include
+- ${SPDLOG_DIR}/include
+- ${PIPER_PHONEMIZE_DIR}/include
++ ${FMT_INCLUDE_DIRS}
++ ${SPDLOG_INCLUDE_DIRS}
++ ${ONNXRUNTIME_INCLUDE_DIRS}
+ )
+
+ target_link_directories(
+ test_piper PUBLIC
+- ${FMT_DIR}/lib
+- ${SPDLOG_DIR}/lib
+- ${PIPER_PHONEMIZE_DIR}/lib
++ ${FMT_LIBRARY_DIRS}
++ ${SPDLOG_LIBRARY_DIRS}
++ ${ONNXRUNTIME_LIBRARY_DIRS}
+ )
+
+ target_link_libraries(test_piper PUBLIC
+@@ -141,32 +146,3 @@ target_link_libraries(test_piper PUBLIC
+ install(
+ TARGETS piper
+ DESTINATION ${CMAKE_INSTALL_PREFIX})
+-
+-# Dependencies
+-install(
+- DIRECTORY ${PIPER_PHONEMIZE_DIR}/bin/
+- DESTINATION ${CMAKE_INSTALL_PREFIX}
+- USE_SOURCE_PERMISSIONS # keep +x
+- FILES_MATCHING
+- PATTERN "piper_phonemize"
+- PATTERN "espeak-ng"
+- PATTERN "*.dll"
+-)
+-
+-install(
+- DIRECTORY ${PIPER_PHONEMIZE_DIR}/lib/
+- DESTINATION ${CMAKE_INSTALL_PREFIX}
+- FILES_MATCHING
+- PATTERN "*.dll"
+- PATTERN "*.so*"
+-)
+-
+-install(
+- DIRECTORY ${PIPER_PHONEMIZE_DIR}/share/espeak-ng-data
+- DESTINATION ${CMAKE_INSTALL_PREFIX}
+-)
+-
+-install(
+- FILES ${PIPER_PHONEMIZE_DIR}/share/libtashkeel_model.ort
+- DESTINATION ${CMAKE_INSTALL_PREFIX}
+-)
diff --git a/testing/pipexec/APKBUILD b/testing/pipexec/APKBUILD
deleted file mode 100644
index 9e2fac6ec66..00000000000
--- a/testing/pipexec/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=pipexec
-pkgver=2.5.5
-pkgrel=2
-pkgdesc="Handling pipe of commands like a single command"
-url="https://github.com/flonatel/pipexec"
-arch="all"
-license="GPL-2.0"
-subpackages="$pkgname-doc"
-source="https://github.com/flonatel/pipexec/releases/download/$pkgver/$pkgname-$pkgver.tar.xz
- dont-require-bash.patch"
-builddir="$srcdir/$pkgname-$pkgver"
-
-prepare() {
- default_prepare
- update_config_sub
-}
-
-build() {
- cd "$builddir"
-
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --mandir=/usr/share/man
- make
-}
-
-# Note: make check actually does not run any tests.
-check() {
- local out
-
- out=$("$builddir"/bin/pipexec -- \
- [A /bin/echo 'Hello, world!' ] [B /bin/grep -o world ] '{A:1>B:0}')
- [ "$out" = world ]
-}
-
-package() {
- cd "$builddir"
-
- make DESTDIR="$pkgdir" install
-
- rm "$pkgdir"/usr/bin/ptest
-
- mkdir -p "$pkgdir"/usr/share/man/man1
- cp doc/man/*.1 "$pkgdir"/usr/share/man/man1/
-}
-
-sha512sums="5f33f42ffec1e16090491895fb7403de6c0fcdf99e0fef7a49db19684b261a355ab0e0364891d1dfdaf47ff32671f2725d5e236df29e3f3feb5484cd8ffca0ca pipexec-2.5.5.tar.xz
-9838e8c45f6ded0e3207be4f225e751cec892ff110e8d18daaae514ea88b0f7a96381b31d425c1178c78f87ee86da4ddf18483fccd5308b9d7daa85c287df3ea dont-require-bash.patch"
diff --git a/testing/pipexec/dont-require-bash.patch b/testing/pipexec/dont-require-bash.patch
deleted file mode 100644
index ce8eb8f773d..00000000000
--- a/testing/pipexec/dont-require-bash.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-From 5aa236515f385befc3062b61d098082ab43e6f5a Mon Sep 17 00:00:00 2001
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Fri, 1 Dec 2017 01:50:44 +0100
-Subject: [PATCH] Replace /bin/bash with /bin/sh
-
-1. Not every system provides bash by default.
-2. Many systems don't install bash into /bin (but /usr/bin,
- /usr/local/bin, ...)
-3. Your shell scripts are already POSIX-sh compatible, so it's not
- needed to require one particular shell implementation.
-
-Upstream-Issue: https://github.com/flonatel/pipexec/pull/14
-
-diff --git a/build/create_tar.sh b/build/create_tar.sh
-index 7bf286f..4223014 100644
---- a/build/create_tar.sh
-+++ b/build/create_tar.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # Create release tarball
- #
-diff --git a/build/init_autotools.sh b/build/init_autotools.sh
-index 1ad160d..3a42399 100755
---- a/build/init_autotools.sh
-+++ b/build/init_autotools.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- #
- # This must be called from within the top source dir.
- #
-diff --git a/src/Makefile.inc b/src/Makefile.inc
-index 7792bd7..bc3614d 100644
---- a/src/Makefile.inc
-+++ b/src/Makefile.inc
-@@ -2,7 +2,7 @@
- if !USE_VERSION_FILE
- .FORCE: src/app_version.c
- src/app_version.c:
-- bash $(top_srcdir)/build/version-gen.sh ${top_srcdir}
-+ /bin/sh $(top_srcdir)/build/version-gen.sh ${top_srcdir}
- endif
-
- # pipexec itself
-diff --git a/version.sh b/version.sh
-index 9f5ae2a..1150c91 100755
---- a/version.sh
-+++ b/version.sh
-@@ -1,4 +1,4 @@
--#!/bin/bash
-+#!/bin/sh
- set -e
-
- TOPSRCDIR=""
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -1354,7 +1354,7 @@
-
- @USE_VERSION_FILE_FALSE@.FORCE: src/app_version.c
- @USE_VERSION_FILE_FALSE@src/app_version.c:
--@USE_VERSION_FILE_FALSE@ bash $(top_srcdir)/build/version-gen.sh ${top_srcdir}
-+@USE_VERSION_FILE_FALSE@ /bin/sh $(top_srcdir)/build/version-gen.sh ${top_srcdir}
-
- # Local Variables:
- # mode: makefile
diff --git a/testing/piping-server/APKBUILD b/testing/piping-server/APKBUILD
index 344dd3cf6ef..d91533c5800 100644
--- a/testing/piping-server/APKBUILD
+++ b/testing/piping-server/APKBUILD
@@ -1,23 +1,28 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=piping-server
-pkgver=0.10.2
+pkgver=0.17.0
pkgrel=0
pkgdesc="Infinitely transfer data between devices over HTTP"
url="https://github.com/nwtgck/piping-server-rust"
license="MIT"
-arch="all !s390x !mips64 !riscv64" # limited by cargo
+arch="all !s390x !riscv64" # limited by cargo
arch="$arch !ppc64le" # FTBFS
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
subpackages="$pkgname-openrc"
source="https://github.com/nwtgck/piping-server-rust/archive/v$pkgver/piping-server-rust-$pkgver.tar.gz
piping-server.initd
- piping-server.confd
"
builddir="$srcdir/piping-server-rust-$pkgver"
+options="net" # fetch dependencies
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
build() {
- cargo build --release --locked
+ cargo auditable build --release --frozen
}
check() {
@@ -26,13 +31,10 @@ check() {
package() {
install -Dm755 target/release/piping-server "$pkgdir"/usr/bin/piping-server
-
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
sha512sums="
-b8024f1ecec9169993fa320815cd5498fe23dbfecceea02266208791c98c4eeb5882f6e2198a58b95a8e736586f5c6410d417eb10d41459f0564b14bfec133de piping-server-rust-0.10.2.tar.gz
-4f928fd0a0160cd3770f9c0cda5b52a3d2feb3ae2919a252d9b8e618eaf375905779853725130868b24afcb2421c5ecc894be19ce353469f696968f1a1f1ec65 piping-server.initd
-250716bb0da8e61538812e233dc49d1f4a781f04ff7326475705a5c82a8df1207db8c062d4e6e9501f5cc716a4935f173e6212edfa7eddb7b02c8f26e52a5e09 piping-server.confd
+c68a7e14a6eaadeaec3f72864a0cd1d605b7e65d09ee2f17bd424d955028a6cc616085da04fef0766ddc4a383d0c74b50267c9f967b6a02038ca9726862eff51 piping-server-rust-0.17.0.tar.gz
+88fe822b7d98f9d1d63a24e30c11a39504641b664bd26eb5ff3a834ad343bbc46140762dfcc63131d1dc6938c9e4d82131ebc7249283ac3f288cc8aebd6dbe4c piping-server.initd
"
diff --git a/testing/piping-server/piping-server.confd b/testing/piping-server/piping-server.confd
deleted file mode 100644
index d281aaad5b4..00000000000
--- a/testing/piping-server/piping-server.confd
+++ /dev/null
@@ -1,4 +0,0 @@
-# Configuration for /etc/init.d/piping-server
-
-# Additional arguments to pass to the server
-#piping_server_opts=""
diff --git a/testing/piping-server/piping-server.initd b/testing/piping-server/piping-server.initd
index cba4db58bc0..ba07f8d0499 100644
--- a/testing/piping-server/piping-server.initd
+++ b/testing/piping-server/piping-server.initd
@@ -5,13 +5,10 @@ name="Piping Server"
description="Infinitely transfer data between devices over HTTP"
command="/usr/bin/piping-server"
-command_args="$piping_server_opts"
command_user="nobody:nobody"
directory="/var/empty"
-logdir="/var/log/piping-server"
-logfile="$logdir/piping-server.log"
-supervise_daemon_args="--stdout $logfile --stderr $logfile"
+: ${error_log:="/var/log/piping-server.log"}
depend() {
need net
@@ -19,6 +16,5 @@ depend() {
}
start_pre() {
- checkpath -d -o "$command_user" "$logdir"
- checkpath -f -o "$command_user" "$logfile"
+ checkpath -f -o $command_user "$error_log"
}
diff --git a/testing/pithos/APKBUILD b/testing/pithos/APKBUILD
new file mode 100644
index 00000000000..bd9615b2527
--- /dev/null
+++ b/testing/pithos/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Adam Plumb <adamplumb@gmail.com>
+# Maintainer: Adam Plumb <adamplumb@gmail.com>
+pkgname=pithos
+pkgver=1.6.1
+pkgrel=0
+pkgdesc="GTK+ player for pandora web radio"
+url="https://pithos.github.io/"
+arch="noarch"
+license="GPL-3.0-only"
+depends="
+ gst-libav
+ gst-plugins-base
+ gst-plugins-good
+ gtk+3.0
+ libsecret
+ python3
+ py3-cairo
+ py3-gobject3
+ "
+makedepends="meson glib-dev help2man py3-sphinx"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://github.com/pithos/pithos/releases/download/$pkgver/pithos-$pkgver.tar.xz
+ no-optimise.patch
+ "
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install -C output
+}
+
+pyc() {
+ pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
+ install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
+
+ cd "$pkgdir" || return 0
+ local IFS=$'\n'
+ amove $(find usr/share* -type d -name __pycache__)
+}
+
+sha512sums="
+e1a13d2c789e40bf135ed551d06dfe44bf948bfe84a8bbb3f4afcab70bbcdc4f1d3f82d25f5e8d930888dd6fa04795fa2d9d47515d4199647be854c9c4a84591 pithos-1.6.1.tar.xz
+d80de0beb0e856d5020f7d4a275abb00404bbd5875f1639a324a8f21f58208594a0962b73e7b0bda765ef74649db5e10e8a2a02e57f18d7d55212be51655c436 no-optimise.patch
+"
diff --git a/testing/pithos/no-optimise.patch b/testing/pithos/no-optimise.patch
new file mode 100644
index 00000000000..7a6c54bd837
--- /dev/null
+++ b/testing/pithos/no-optimise.patch
@@ -0,0 +1,10 @@
+diff --git a/meson_post_install.py b/meson_post_install.py
+index 17b4f2a..caf1c33 100644
+--- a/meson_post_install.py
++++ b/meson_post_install.py
+@@ -18,4 +18,4 @@ if not destdir:
+ call(['glib-compile-schemas', path.join(datadir, 'glib-2.0', 'schemas')])
+
+ print('Compiling python bytecode...')
+-compile_dir(destdir + path.join(datadir, 'pithos', 'pithos'), optimize=2)
++compile_dir(destdir + path.join(datadir, 'pithos', 'pithos'))
diff --git a/testing/pitivi/APKBUILD b/testing/pitivi/APKBUILD
index bf7a5b63721..3b8410de127 100644
--- a/testing/pitivi/APKBUILD
+++ b/testing/pitivi/APKBUILD
@@ -1,22 +1,40 @@
# Maintainer: Pellegrino Prevete <pellegrinoprevete@gmail.com>
pkgname=pitivi
-pkgver=2021.05
+pkgver=2023.03
pkgrel=1
pkgdesc="Editor for audio/video projects using the GStreamer framework"
url="https://pitivi.org"
arch="all !s390x !riscv64" # missing gst-editing-services
license="LGPL-2.1-or-later"
-depends="gsound gst-editing-services gst-libav gst-plugins-good-gtk
- gst-plugins-bad gst-plugins-good py3-gst libnotify libpeas
- py3-cairo py3-gobject3 py3-matplotlib py3-numpy"
-makedepends="cmake gstreamer-dev py3-cairo-dev python3-dev intltool
- itstool meson"
+depends="
+ gsound
+ gst-editing-services
+ gst-libav
+ gst-plugins-bad
+ gst-plugins-good
+ gst-plugins-good-gtk
+ gtk+3.0
+ libnotify
+ libpeas
+ py3-cairo
+ py3-gobject3
+ py3-gst
+ py3-matplotlib
+ py3-numpy
+ "
+makedepends="
+ gstreamer-dev
+ itstool
+ meson
+ py3-cairo-dev
+ python3-dev
+ "
checkdepends="appstream-glib"
+subpackages="$pkgname-lang $pkgname-pyc"
source="https://download.gnome.org/sources/pitivi/${pkgver%.*}/pitivi-$pkgver.tar.xz"
-builddir="$srcdir/"
build() {
- abuild-meson $pkgname-$pkgver build
+ abuild-meson . build
meson compile -C build
}
@@ -27,6 +45,17 @@ check() {
package() {
DESTDIR="$pkgdir" meson install -C build
}
+
+pyc() {
+ pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
+ install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
+
+ cd "$pkgdir" || return 0
+ local IFS='
+'
+ amove $(find usr/lib -type d -name __pycache__)
+}
+
sha512sums="
-3ecb571d501b634ca3a369d4020954cc0b2bc101ceb12bee74d6b38c9ca8f2bf15fe94030421c43503870128d8218548feca7d32cf25b4afcf610365784ca9bb pitivi-2021.05.tar.xz
+505c011bb375fcce250a46c958ef06d050f83e73fa41a66f8ba3be6a41332a4a05838b8245233f481146edae9af924b618901b7ed0600f642ebe550c151f52b0 pitivi-2023.03.tar.xz
"
diff --git a/testing/pixi/APKBUILD b/testing/pixi/APKBUILD
new file mode 100644
index 00000000000..104282e9bab
--- /dev/null
+++ b/testing/pixi/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=pixi
+pkgver=0.19.1
+pkgrel=0
+pkgdesc="A package management and workflow tool"
+url="https://github.com/prefix-dev/pixi"
+# !s390x: nix crate fails to build
+# !armhf: openssl fails to build
+arch="all !s390x !armhf"
+license="BSD-3-Clause"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ perl
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+# https://github.com/prefix-dev/pixi/issues/821
+options="net !check"
+source="$pkgname-$pkgver.tar.gz::https://github.com/prefix-dev/pixi/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+ mkdir -p completions/
+}
+
+build() {
+ cargo auditable build --frozen --release
+ local _completion="target/release/$pkgname completion"
+ $_completion --shell bash > "completions/$pkgname"
+ $_completion --shell fish > "completions/$pkgname.fish"
+ $_completion --shell zsh > "completions/_$pkgname"
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+ install -Dm 664 "completions/$pkgname" -t "$pkgdir/usr/share/bash-completion/completions/"
+ install -Dm 664 "completions/$pkgname.fish" -t "$pkgdir/usr/share/fish/vendor_completions.d/"
+ install -Dm 664 "completions/_$pkgname" -t "$pkgdir/usr/share/zsh/site-functions/"
+}
+
+sha512sums="
+dcb5b23e1395bea6424a831f190eab1368bdb29ffd2ad6f4c4a3398260eb851021a955e8d7d19b4ecbbd3f57ccd0f46186e9ff80de7807e1cb83df4bd3de87c6 pixi-0.19.1.tar.gz
+"
diff --git a/testing/pixiewps/APKBUILD b/testing/pixiewps/APKBUILD
index e0158ebc634..9e88cdbbb91 100644
--- a/testing/pixiewps/APKBUILD
+++ b/testing/pixiewps/APKBUILD
@@ -2,15 +2,15 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=pixiewps
pkgver=1.4.2
-pkgrel=0
+pkgrel=1
pkgdesc="An offline WPS bruteforce utility"
-url="https://github.com/wiire/pixiewps"
+url="https://github.com/wiire-a/pixiewps"
arch="all"
# upstream does not provide check
options="!check"
license="GPL-3.0"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/wiire/$pkgname/archive/v$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/wiire-a/pixiewps/archive/v$pkgver.tar.gz
make-bindir.patch"
builddir="$srcdir/$pkgname-$pkgver"
diff --git a/testing/pixz/APKBUILD b/testing/pixz/APKBUILD
deleted file mode 100644
index a79e67c6765..00000000000
--- a/testing/pixz/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=pixz
-pkgver=1.0.7
-pkgrel=0
-pkgdesc="Parallel, indexed xz compressor"
-url="https://github.com/vasi/pixz"
-arch="all"
-license="BSD-2-Clause"
-checkdepends="xz"
-makedepends="libarchive-dev xz-dev"
-source="https://github.com/vasi/pixz/releases/download/v$pkgver/pixz-$pkgver.tar.xz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="7f343cb74958b9582b60a2e916243e72421fad1ebecc5867c9e046c881e8a318da9bb885edd71da8fe6953fd5d5c2f5119133cd0bbbf4d0f9b35f8aecd61120d pixz-1.0.7.tar.xz"
diff --git a/testing/planarity/APKBUILD b/testing/planarity/APKBUILD
new file mode 100644
index 00000000000..17d045cb811
--- /dev/null
+++ b/testing/planarity/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=planarity
+pkgver=3.0.2.0
+pkgrel=2
+pkgdesc="Library for the edge addition planar graph embedding algorithm and related algorithms"
+url="https://github.com/graph-algorithms/edge-addition-planarity-suite"
+arch="all"
+license="BSD-3-Clause"
+makedepends="autoconf automake libtool"
+source="https://github.com/graph-algorithms/edge-addition-planarity-suite/archive/Version_$pkgver/planarity-$pkgver.tar.gz"
+subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"
+builddir="$srcdir/edge-addition-planarity-suite-Version_$pkgver"
+
+prepare() {
+ default_prepare
+ autoreconf -fi
+}
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+26d003196b5300d49b126fe159f4ed219ee3cb3396ad939ceacaa53bcfa5049ea891f3e7f323e810fe43a20aeaa68fefbe43828e9e75b10792f4cf8bbf9594f3 planarity-3.0.2.0.tar.gz
+"
diff --git a/testing/planner/APKBUILD b/testing/planner/APKBUILD
index e56134a502c..fd28b432bfc 100644
--- a/testing/planner/APKBUILD
+++ b/testing/planner/APKBUILD
@@ -1,34 +1,28 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=planner
-pkgver=0.14.6_git20211001
+pkgver=0.14.92
pkgrel=0
-_commit="fd4ff710a0b3552218665bda784def56b817103e"
pkgdesc="Project management application"
url="https://wiki.gnome.org/Apps/Planner"
arch="all"
license="GPL-2.0-or-later"
makedepends="meson cmake glib-dev gtk+3.0-dev libxslt-dev"
subpackages="$pkgname-lang $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://gitlab.gnome.org/World/planner/-/archive/$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
+source="https://download.gnome.org/sources/planner/${pkgver%.*}/planner-$pkgver.tar.xz"
build() {
- abuild-meson . build
+ abuild-meson -Db_lto=true . build
meson compile -C build
}
check() {
- meson test --no-rebuild -v -C build
+ meson test --no-rebuild --print-errorlogs -C build
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C build
-
- # Remove conflicting files
- cd "$pkgdir"/usr/share/mime
- find . -maxdepth 1 -type f -exec rm "{}" \;
}
sha512sums="
-23de2707093e7f6488166ed34230fb293d8999c80d8dbb2d86bfde6202106a95532e5327ac057ab48a87a95d022f5a9d8e423885b312fdaeb82e8bc91e30a2c6 planner-0.14.6_git20211001.tar.gz
+35f0ea6bb04937c164c42082db717962eba6e0353a4750d3213cb7a0e93b8649c99c52060c95c4c6037b6c7019f90161b3c531d5e75eabe453d0fad50c887f27 planner-0.14.92.tar.xz
"
diff --git a/testing/plantuml/APKBUILD b/testing/plantuml/APKBUILD
deleted file mode 100644
index 4ae0191a364..00000000000
--- a/testing/plantuml/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Maintainer: Krystian Chachuła <krystian@krystianch.com>
-pkgname=plantuml
-pkgver=1.2022.0
-pkgrel=0
-pkgdesc="Draw UML diagrams, using a simple and human readable text description"
-url="https://plantuml.com/"
-# no mips64 and riscv64 because of apache-ant
-# there's no more 32-bit bit
-arch="noarch !x86 !armhf !armv7 !mips64 !riscv64"
-license="GPL-3.0-or-later"
-depends="busybox java-common java-jre"
-makedepends="apache-ant"
-options="!check" # no tests provided
-source="https://downloads.sourceforge.net/plantuml/plantuml-$pkgver.tar.gz
- plantuml.run"
-
-build() {
- ant dist
-}
-
-package() {
- install -Dm644 plantuml.jar \
- "$pkgdir/usr/share/java/plantuml.jar"
- install -Dm755 "$srcdir/plantuml.run" \
- "$pkgdir/usr/bin/plantuml"
-}
-
-sha512sums="
-8fdead5696e6ddceb947a2d67aad4dce5d82511b795c5f5a5196fe8d7abc7c7de72f56d2982c82a3b784139dccaec53de7510f757eda758ab5f300b440a278b1 plantuml-1.2022.0.tar.gz
-cab64f1676cbd495752eda31f2ee4ab7d976253fe523a6db5b55fd9a165f1530da0d34196494ce38b0aaad6525f4f1e1e7fe60307ad220146b5a654d96c9d060 plantuml.run
-"
diff --git a/testing/plantuml/plantuml.run b/testing/plantuml/plantuml.run
deleted file mode 100644
index 9e3207f1714..00000000000
--- a/testing/plantuml/plantuml.run
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-exec /usr/bin/java -jar '/usr/share/java/plantuml.jar' "$@"
diff --git a/testing/platformio-core/APKBUILD b/testing/platformio-core/APKBUILD
index c8851723288..6df80f2f11a 100644
--- a/testing/platformio-core/APKBUILD
+++ b/testing/platformio-core/APKBUILD
@@ -1,26 +1,43 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
+# Contributor: Marten Ringwelski <git+alpine@maringuu.de>
+# Maintainer: Marten Ringwelski <git+alpine@maringuu.de>
pkgname=platformio-core
-pkgver=4.0.0
-pkgrel=5
+pkgver=6.1.7
+pkgrel=1
pkgdesc="An open source ecosystem for IoT development"
url="https://platformio.org"
-arch="noarch"
+arch="noarch !armhf !ppc64le" # limited by py3-starlette
license="Apache-2.0"
-depends="py3-bottle py3-click py3-colorama py3-lockfile py3-requests
- py3-semantic-version py3-pyserial"
+depends="
+ py3-aiofiles
+ py3-ajsonrpc
+ py3-bottle
+ py3-click
+ py3-colorama
+ py3-marshmallow
+ py3-elftools
+ py3-pyserial
+ py3-requests
+ py3-semantic-version
+ py3-starlette
+ py3-tabulate
+ py3-wsproto
+ py3-zeroconf
+ uvicorn
+ "
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/platformio/platformio-core/archive/v$pkgver.tar.gz"
build() {
python3 setup.py build
cd "$builddir"/scripts
- 2to3 -w *.py
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="e483850e7e1bd73522931da17b934116f44e730868ff424faa7bbb3b7853d0435ebb3fa3e6f8eab2bd57ada1d05140302b827b4724fe7981025cdc7660baff4c platformio-core-4.0.0.tar.gz"
+sha512sums="
+de38560e3bafc0ce97836a722122800e9cd31a4c8b6e97cfc9d490ee4d6c5112f87a45d81ec9b191eb4f678c330de4a797be5e176564f6e36fcb9432b47f52d8 platformio-core-6.1.7.tar.gz
+"
diff --git a/testing/please-build/APKBUILD b/testing/please-build/APKBUILD
new file mode 100644
index 00000000000..f5b57742917
--- /dev/null
+++ b/testing/please-build/APKBUILD
@@ -0,0 +1,80 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=please-build
+pkgver=17.8.0
+pkgrel=2
+pkgdesc="High-performance, extensible build system for reproducible multi-language builds"
+url="https://please.build/"
+# The only architectures supported upstream
+arch="x86_64 aarch64"
+license="Apache-2.0"
+makedepends="go bash"
+subpackages="
+ $pkgname-tools
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/thought-machine/please/archive/refs/tags/v$pkgver.tar.gz
+ fix-test.patch
+ go-1.22.patch
+ "
+builddir="$srcdir/please-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _buildargs="--plain_output --noupdate --profile=alpine"
+ go run src/please.go build $_buildargs //src:please
+
+ ./plz-out/bin/src/please build $_buildargs \
+ //tools/sandbox:please_sandbox \
+ //tools/please_shim:please_shim \
+ //tools/build_langserver:build_langserver
+
+ ./plz-out/bin/src/please --completion_script > plz.bash
+}
+
+check() {
+ # The test has an input only for x86_64 target.
+ rm -r test/config_rules
+
+ # python3: vendored 'please_pex' binary doesn't run on musl.
+ # Also, it can't be built from source due to dependency cycling.
+ # clang:
+ # - 16: hardcode -fmodules-ts in cc-rules plugin
+ # - 15: undefined reference to 'initializer for module q1'
+ ./plz-out/bin/src/please test \
+ --plain_output --noupdate --profile=alpine \
+ --exclude=python3 --exclude=clang --exclude=e2e
+}
+
+package() {
+ install -Dm755 plz-out/bin/src/please "$pkgdir"/usr/bin/plz
+
+ install -Dm755 -t "$pkgdir"/usr/bin/ \
+ plz-out/bin/tools/build_langserver/build_langserver \
+ plz-out/bin/tools/sandbox/please_sandbox \
+ plz-out/bin/tools/please_shim/please_shim
+
+ install -Dm644 plz.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/plz
+ install -Dm644 plz.bash \
+ "$pkgdir"/usr/share/zsh/site-functions/_plz
+}
+
+tools() {
+ pkgdesc="External utilities for Please build system"
+
+ amove \
+ usr/bin/build_langserver \
+ usr/bin/please_sandbox \
+ usr/bin/please_shim
+}
+
+sha512sums="
+862b9791989e6dc742b3dcab12a70a596ae149802206bdc44e0845fb41ba6655a89b2019e966082373e06b31cf5ab83f2f39935e2e2edd4fb7c87f1e3e2914ff please-build-17.8.0.tar.gz
+e628c001a45daacfa19eacb99b79b51bc2d8ba4957a1fa56da6d524c553bfef9422fe54c0551403b675c761367627312579cafdaf0944c7122d3b2ba9edc3719 fix-test.patch
+9610694cd38a93b01e9fbb2b1dde3af300bef02f47f38dbd74bd6f25b98c92019bc2c9b6d78248a4d2a4e748c6ebf592d8340f3974b7d9916a615aa8c78eb7cf go-1.22.patch
+"
diff --git a/testing/please-build/fix-test.patch b/testing/please-build/fix-test.patch
new file mode 100644
index 00000000000..a563fcb925f
--- /dev/null
+++ b/testing/please-build/fix-test.patch
@@ -0,0 +1,38 @@
+* The Complete() function fails to re-execute the current please process, so the
+ 'completions' result is always empty.
+* Remove the hardcoded emulation mode elf_$XARCH
+
+diff --git a/src/core/build_label_test.go b/src/core/build_label_test.go
+index 8ee242f..819f904 100644
+--- a/src/core/build_label_test.go
++++ b/src/core/build_label_test.go
+@@ -92,16 +92,6 @@ func TestLooksLikeABuildLabel(t *testing.T) {
+ assert.True(t, LooksLikeABuildLabel("///test_x86"))
+ }
+
+-func TestComplete(t *testing.T) {
+- label := BuildLabel{}
+- completions := label.Complete("//src/c")
+- assert.Equal(t, 4, len(completions))
+- assert.Equal(t, "//src/cache", completions[0].Item)
+- assert.Equal(t, "//src/clean", completions[1].Item)
+- assert.Equal(t, "//src/cli", completions[2].Item)
+- assert.Equal(t, "//src/core", completions[3].Item)
+-}
+-
+ func TestCompleteError(t *testing.T) {
+ label := BuildLabel{}
+ completions := label.Complete("nope")
+diff --git a/test/build_defs/cc_embed_binary.build_defs b/test/build_defs/cc_embed_binary.build_defs
+index d17aac9..cc8a4fc 100644
+--- a/test/build_defs/cc_embed_binary.build_defs
++++ b/test/build_defs/cc_embed_binary.build_defs
+@@ -64,7 +64,7 @@ def cc_embed_binary(name:str, src:str, deps:list=[], visibility:list=None,
+ ])
+ tools['asm'] = [CONFIG.ASM_TOOL]
+ else:
+- cmd = '$TOOLS_LD -r --format binary -z noexecstack -m elf_$XARCH %s -o "${OUTS/.a/.o}" $SRC && $TOOLS_ARCAT ar --srcs "${OUTS/.a/.o}" && $TOOLS_AR s "$OUTS"' % CONFIG.DEFAULT_LDFLAGS
++ cmd = '$TOOLS_LD -r --format binary -z noexecstack %s -o "${OUTS/.a/.o}" $SRC && $TOOLS_ARCAT ar --srcs "${OUTS/.a/.o}" && $TOOLS_AR s "$OUTS"' % CONFIG.DEFAULT_LDFLAGS
+ tools['ld'] = [CONFIG.LD_TOOL]
+
+ lib_rule = build_rule(
diff --git a/testing/please-build/go-1.22.patch b/testing/please-build/go-1.22.patch
new file mode 100644
index 00000000000..396e3eb48a8
--- /dev/null
+++ b/testing/please-build/go-1.22.patch
@@ -0,0 +1,564 @@
+From 744bb45cb0af9476cd1477bfa2be8be46daa21ca Mon Sep 17 00:00:00 2001
+From: Peter Ebden <peter.ebden@gmail.com>
+Date: Mon, 12 Feb 2024 11:40:15 +0000
+Subject: [PATCH] Update to Go 1.22.0 (#3070)
+
+* Update images to Go 1.22
+
+* update toolchain
+
+* update go.mod
+
+* bump this for my sanity
+
+* update plugin
+
+* revert this
+
+* update image; the base used for the old one appears to incorrectly have been an x86 image (pretty sure this must be an upstream bug)
+
+* Update test repos too
+
+* update
+
+* migrate this bastard to go_repo
+
+* Use a tagged release
+
+* Update moar
+
+* Fine, disable this for now
+
+* fine i'll do the docs thing
+---
+ .circleci/config.yml | 14 +-
+ docs/BUILD | 2 +-
+ plugins/BUILD | 2 +-
+ test/plugins/test_repo/plugins/BUILD_FILE | 2 +-
+ test/plz_exec/test_repo/plugins/BUILD_FILE | 3 +-
+ test/proto_plugin/BUILD | 1 +
+ test/proto_plugin/test_repo/.plzconfig | 6 +-
+ .../proto_plugin/test_repo/plugins/BUILD_FILE | 4 +-
+ .../test_repo/third_party/go/BUILD_FILE | 181 ++----------------
+ third_party/go/BUILD | 16 +-
+ tools/images/alpine/Dockerfile | 2 +-
+ tools/images/ubuntu/Dockerfile | 2 +-
+ tools/images/ubuntu_alt/Dockerfile | 2 +-
+ 13 files changed, 47 insertions(+), 190 deletions(-)
+
+diff --git a/.circleci/config.yml b/.circleci/config.yml
+index b751280998..c928a6e121 100644
+--- a/.circleci/config.yml
++++ b/.circleci/config.yml
+@@ -3,7 +3,7 @@ jobs:
+ build-alpine:
+ working_directory: ~/please
+ docker:
+- - image: thoughtmachine/please_alpine:20240111
++ - image: thoughtmachine/please_alpine:20240209
+ resource_class: large
+ environment:
+ PLZ_ARGS: "-p --profile ci --profile alpine --exclude no-musl"
+@@ -43,7 +43,7 @@ jobs:
+ build-linux:
+ working_directory: ~/please
+ docker:
+- - image: thoughtmachine/please_ubuntu:20240103
++ - image: thoughtmachine/please_ubuntu:20240207
+ resource_class: large
+ environment:
+ PLZ_ARGS: "-p --profile ci"
+@@ -91,7 +91,7 @@ jobs:
+ build-linux-alt:
+ working_directory: ~/please
+ docker:
+- - image: thoughtmachine/please_ubuntu_alt:20240103
++ - image: thoughtmachine/please_ubuntu_alt:20240207
+ resource_class: large
+ environment:
+ PLZ_ARGS: "-p -c cover --profile ci-alt"
+@@ -176,7 +176,7 @@ jobs:
+ build-linux-arm64:
+ working_directory: ~/please
+ docker:
+- - image: thoughtmachine/please_ubuntu:20240103
++ - image: thoughtmachine/please_ubuntu:20240207
+ resource_class: large
+ steps:
+ - checkout
+@@ -245,7 +245,7 @@ jobs:
+ test-rex:
+ working_directory: ~/please
+ docker:
+- - image: thoughtmachine/please_ubuntu:20240103
++ - image: thoughtmachine/please_ubuntu:20240207
+ resource_class: xlarge
+ steps:
+ - checkout
+@@ -262,7 +262,7 @@ jobs:
+ test-http-cache:
+ working_directory: ~/please
+ docker:
+- - image: thoughtmachine/please_ubuntu:20240103
++ - image: thoughtmachine/please_ubuntu:20240207
+ resource_class: large
+ steps:
+ - checkout
+@@ -305,7 +305,7 @@ jobs:
+ # Runs a benchmarking test and records some performance results.
+ perf-test:
+ docker:
+- - image: thoughtmachine/please_ubuntu:20240103
++ - image: thoughtmachine/please_ubuntu:20240207
+ resource_class: xlarge # Want to run these tests with a significant amount of parallelism
+ steps:
+ - checkout
+diff --git a/docs/BUILD b/docs/BUILD
+index bcc3e12b92..2c15da331d 100644
+--- a/docs/BUILD
++++ b/docs/BUILD
+@@ -59,7 +59,7 @@ genrule(
+ plugins = {
+ "python": "v1.5.0",
+ "java": "v0.4.0",
+- "go": "v1.16.3",
++ "go": "v1.16.5",
+ "cc": "v0.4.0",
+ "shell": "v0.2.0",
+ "go-proto": "v0.3.0",
+diff --git a/plugins/BUILD b/plugins/BUILD
+index 13348ef2e0..a0338de522 100644
+--- a/plugins/BUILD
++++ b/plugins/BUILD
+@@ -1,7 +1,7 @@
+ plugin_repo(
+ name = "go",
+ plugin = "go-rules",
+- revision = "v1.16.3",
++ revision = "v1.16.5",
+ )
+
+ plugin_repo(
+diff --git a/test/plugins/test_repo/plugins/BUILD_FILE b/test/plugins/test_repo/plugins/BUILD_FILE
+index c4ceaa968f..f3f451a3ab 100644
+--- a/test/plugins/test_repo/plugins/BUILD_FILE
++++ b/test/plugins/test_repo/plugins/BUILD_FILE
+@@ -5,5 +5,5 @@ plugin_repo(
+
+ plugin_repo(
+ name = "go",
+- revision = "v1.2.1",
++ revision = "v1.16.5",
+ )
+\ No newline at end of file
+diff --git a/test/plz_exec/test_repo/plugins/BUILD_FILE b/test/plz_exec/test_repo/plugins/BUILD_FILE
+index 08f8bf9927..8b6aa87432 100644
+--- a/test/plz_exec/test_repo/plugins/BUILD_FILE
++++ b/test/plz_exec/test_repo/plugins/BUILD_FILE
+@@ -3,8 +3,7 @@ plugin_repo(
+ revision = "v0.1.1",
+ )
+
+-
+ plugin_repo(
+ name = "go",
+- revision = "v1.2.0",
++ revision = "v1.16.5",
+ )
+diff --git a/test/proto_plugin/BUILD b/test/proto_plugin/BUILD
+index 08f4ad4581..c1ee32d020 100644
+--- a/test/proto_plugin/BUILD
++++ b/test/proto_plugin/BUILD
+@@ -6,6 +6,7 @@ please_repo_e2e_test(
+ labels = [
+ "no_cirrus",
+ "no-musl",
++ "manual",
+ ],
+ plz_command = "plz -o plugin.go.gotool:$TOOLS_GO test",
+ repo = "test_repo",
+diff --git a/test/proto_plugin/test_repo/.plzconfig b/test/proto_plugin/test_repo/.plzconfig
+index b2cb9b90f9..883d4272cd 100644
+--- a/test/proto_plugin/test_repo/.plzconfig
++++ b/test/proto_plugin/test_repo/.plzconfig
+@@ -6,7 +6,7 @@ ImportPath = github.com/thought-machine/please/test/proto_plugin
+
+ [Plugin "proto"]
+ Target = //plugins:proto
+-LanguageDef = ///go_proto//build_defs:go
++LanguageDef = ///go_proto//build_defs:go_proto
+ ProtocTool = ///proto//third_party/proto:protoc
+
+ [Plugin "go"]
+@@ -15,5 +15,5 @@ ImportPath = github.com/thought-machine/please/test/proto_plugin
+
+ [Plugin "go_proto"]
+ Target = //plugins:go-proto
+-GrpcPlugin = //third_party/go:protoc-gen-go-grpc
+-ProtoPlugin = //third_party/go:protoc-gen-go
++GrpcPlugin = ///third_party/go/google.golang.org_grpc_cmd_protoc-gen-go-grpc//:protoc-gen-go-grpc
++ProtoPlugin = ///third_party/go/google.golang.org_protobuf//cmd/protoc-gen-go
+diff --git a/test/proto_plugin/test_repo/plugins/BUILD_FILE b/test/proto_plugin/test_repo/plugins/BUILD_FILE
+index 00be4f8494..793049b4b9 100644
+--- a/test/proto_plugin/test_repo/plugins/BUILD_FILE
++++ b/test/proto_plugin/test_repo/plugins/BUILD_FILE
+@@ -5,10 +5,10 @@ plugin_repo(
+
+ plugin_repo(
+ name = "go",
+- revision = "v1.4.1",
++ revision = "v1.16.5",
+ )
+
+ plugin_repo(
+ name = "go-proto",
+- revision = "v0.2.0",
++ revision = "v0.3.0",
+ )
+diff --git a/test/proto_plugin/test_repo/third_party/go/BUILD_FILE b/test/proto_plugin/test_repo/third_party/go/BUILD_FILE
+index 4fa9134750..c9d1def735 100644
+--- a/test/proto_plugin/test_repo/third_party/go/BUILD_FILE
++++ b/test/proto_plugin/test_repo/third_party/go/BUILD_FILE
+@@ -1,6 +1,6 @@
+ subinclude("///go//build_defs:go")
+
+-go_module(
++go_repo(
+ name = "go-spew",
+ install = ["spew"],
+ module = "github.com/davecgh/go-spew",
+@@ -8,7 +8,7 @@ go_module(
+ visibility = ["PUBLIC"],
+ )
+
+-go_module(
++go_repo(
+ name = "go-difflib",
+ install = ["difflib"],
+ module = "github.com/pmezard/go-difflib",
+@@ -16,229 +16,86 @@ go_module(
+ visibility = ["PUBLIC"],
+ )
+
+-go_module(
++go_repo(
+ name = "yaml.v3",
+ module = "gopkg.in/yaml.v3",
+ version = "v3.0.0-20200313102051-9f266ea9e77c",
+ visibility = ["PUBLIC"],
+ )
+
+-go_module(
++go_repo(
+ name = "testify",
+- install = [
+- ".",
+- "assert",
+- "http",
+- "mock",
+- "require",
+- "suite",
+- ],
+ module = "github.com/stretchr/testify",
+ version = "v1.7.0",
+ visibility = ["PUBLIC"],
+- deps = [
+- ":go-difflib",
+- ":go-spew",
+- ":objx",
+- ":yaml.v3",
+- ],
+ )
+
+-go_module(
++go_repo(
+ name = "objx",
+ module = "github.com/stretchr/objx",
+ version = "v0.1.0",
+ visibility = ["PUBLIC"],
+ )
+
+-go_module(
++go_repo(
+ name = "text",
+- install = [
+- "secure/bidirule",
+- "transform",
+- "unicode/bidi",
+- "unicode/norm",
+- ],
+ module = "golang.org/x/text",
+ version = "v0.3.0",
+ visibility = ["PUBLIC"],
+ )
+
+-go_module(
++go_repo(
+ name = "protobuf",
+- exported_deps = [":google.golang.org.protobuf"],
+- install = [
+- "proto",
+- "ptypes",
+- "ptypes/any",
+- "ptypes/duration",
+- "ptypes/timestamp",
+- ],
+ module = "github.com/golang/protobuf",
+ version = "v1.4.3",
+ visibility = ["PUBLIC"],
+ )
+
+-go_module(
++go_repo(
+ name = "grpc",
+- install = [
+- ".",
+- "attributes",
+- "backoff",
+- "balancer",
+- "balancer/base",
+- "balancer/grpclb/state",
+- "balancer/roundrobin",
+- "binarylog/grpc_binarylog_v1",
+- "codes",
+- "connectivity",
+- "credentials",
+- "encoding",
+- "encoding/proto",
+- "grpclog",
+- "internal",
+- "internal/backoff",
+- "internal/balancerload",
+- "internal/binarylog",
+- "internal/buffer",
+- "internal/channelz",
+- "internal/credentials",
+- "internal/envconfig",
+- "internal/grpclog",
+- "internal/grpcrand",
+- "internal/grpcsync",
+- "internal/grpcutil",
+- "internal/metadata",
+- "internal/resolver",
+- "internal/resolver/dns",
+- "internal/resolver/passthrough",
+- "internal/resolver/unix",
+- "internal/serviceconfig",
+- "internal/status",
+- "internal/syscall",
+- "internal/transport",
+- "internal/transport/networktype",
+- "internal/xds/env",
+- "keepalive",
+- "metadata",
+- "peer",
+- "resolver",
+- "serviceconfig",
+- "stats",
+- "status",
+- "tap",
+- ],
+ module = "google.golang.org/grpc",
+ version = "v1.42.0",
+ visibility = ["PUBLIC"],
+- deps = [
+- ":genproto",
+- ":google.golang.org.protobuf",
+- ":net",
+- ":protobuf",
+- ":sys",
+- ],
+ )
+
+-go_mod_download(
+- name = "protobuf_dl",
+- module = "google.golang.org/protobuf",
+- version = "v1.27.1",
+-)
+-
+-go_module(
+- name = "google.golang.org.protobuf",
+- download = ":protobuf_dl",
+- install = [
+- "cmd/protoc-gen-go/internal_gengo",
+- "compiler/protogen",
+- "encoding/prototext",
+- "encoding/protowire",
+- "internal/...",
+- "proto",
+- "reflect/protodesc",
+- "reflect/protoreflect",
+- "reflect/protoregistry",
+- "runtime/protoiface",
+- "runtime/protoimpl",
+- "types/descriptorpb",
+- "types/known/anypb",
+- "types/known/durationpb",
+- "types/known/timestamppb",
+- "types/pluginpb",
+- ],
+- module = "google.golang.org/protobuf",
+-)
+-
+-go_module(
++go_repo(
+ name = "protoc-gen-go-grpc",
+- binary = True,
+ module = "google.golang.org/grpc/cmd/protoc-gen-go-grpc",
+- version = "v1.1.0",
++ version = "v1.3.0",
+ visibility = ["PUBLIC"],
+- deps = [":google.golang.org.protobuf"],
+ )
+
+-go_module(
+- name = "protoc-gen-go",
+- binary = True,
+- download = ":protobuf_dl",
+- install = ["cmd/protoc-gen-go"],
++go_repo(
++ name = "google.golang.org.protobuf",
+ module = "google.golang.org/protobuf",
++ version = "v1.27.1",
+ visibility = ["PUBLIC"],
+- deps = [":google.golang.org.protobuf"],
+ )
+
+-go_module(
++go_repo(
+ name = "net",
+- install = [
+- "http/httpguts",
+- "http2",
+- "http2/hpack",
+- "idna",
+- "internal/timeseries",
+- "trace",
+- ],
+ module = "golang.org/x/net",
+- version = "v0.0.0-20200822124328-c89045814202",
++ version = "v0.21.0",
+ visibility = ["PUBLIC"],
+ deps = [":text"],
+ )
+
+-go_module(
++go_repo(
+ name = "sys",
+- install = ["unix"],
+ module = "golang.org/x/sys",
+- version = "v0.0.0-20220315194320-039c03cc5b86",
++ version = "v0.17.0",
+ visibility = ["PUBLIC"],
+ )
+
+-go_module(
++go_repo(
+ name = "genproto",
+- install = ["googleapis/rpc/status"],
+ module = "google.golang.org/genproto",
+ version = "v0.0.0-20200526211855-cb27e3aa2013",
+ visibility = ["PUBLIC"],
+- deps = [
+- ":google.golang.org.protobuf",
+- ":protobuf",
+- ],
+ )
+
+-go_module(
++go_repo(
+ name = "go-cmp",
+- install = [
+- "cmp",
+- "cmp/cmpopts",
+- "cmp/internal/diff",
+- "cmp/internal/flags",
+- "cmp/internal/function",
+- "cmp/internal/testprotos",
+- "cmp/internal/teststructs",
+- "cmp/internal/teststructs/foo1",
+- "cmp/internal/teststructs/foo2",
+- "cmp/internal/value",
+- ],
+ module = "github.com/google/go-cmp",
+ version = "v0.5.6",
+ visibility = ["PUBLIC"],
+diff --git a/third_party/go/BUILD b/third_party/go/BUILD
+index 6ba84d0441..28a754d342 100644
+--- a/third_party/go/BUILD
++++ b/third_party/go/BUILD
+@@ -5,14 +5,14 @@ package(default_visibility = ["PUBLIC"])
+ go_toolchain(
+ name = "toolchain",
+ hashes = [
+- "27014fc69e301d7588a169ca239b3cc609f0aa1abf38528bf0d20d3b259211eb", # darwin-amd64
+- "65302a7a9f7a4834932b3a7a14cb8be51beddda757b567a2f9e0cbd0d7b5a6ab", # darwin-arm64
+- "6e74f65f586e93d1f3947894766f69e9b2ebda488592a09df61f36f06bfe58a8", # freebsd-amd64
+- "1241381b2843fae5a9707eec1f8fb2ef94d827990582c7c7c32f5bdfbfd420c8", # linux-amd64
+- "fc90fa48ae97ba6368eecb914343590bbb61b388089510d0c56c2dde52987ef3", # linux-arm64
++ "ebca81df938d2d1047cc992be6c6c759543cf309d401b86af38a6aed3d4090f4", # darwin-amd64
++ "bf8e388b09134164717cd52d3285a4ab3b68691b80515212da0e9f56f518fb1e", # darwin-arm64
++ "50f421c7f217083ac94aab1e09400cb9c2fea7d337679ec11f1638a11460da30", # freebsd-amd64
++ "f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265", # linux-amd64
++ "6a63fef0e050146f275bf02a0896badfe77c11b6f05499bb647e7bd613a45a10", # linux-arm64
+ ],
+ install_std = True,
+- version = "1.21.3",
++ version = "1.22.0",
+ )
+
+ go_stdlib(
+@@ -352,7 +352,7 @@ go_repo(
+
+ go_repo(
+ module = "golang.org/x/sys",
+- version = "v0.0.0-20220315194320-039c03cc5b86",
++ version = "v0.17.0",
+ )
+
+ go_repo(
+@@ -387,7 +387,7 @@ go_repo(
+
+ go_repo(
+ module = "github.com/cespare/xxhash/v2",
+- version = "v2.1.2",
++ version = "v2.2.0",
+ )
+
+ go_repo(
+diff --git a/tools/images/alpine/Dockerfile b/tools/images/alpine/Dockerfile
+index 74ad14b32b..48b84506ef 100644
+--- a/tools/images/alpine/Dockerfile
++++ b/tools/images/alpine/Dockerfile
+@@ -1,4 +1,4 @@
+-FROM golang:1.21-alpine
++FROM golang:1.22-alpine
+ MAINTAINER peter.ebden@gmail.com
+
+ RUN apk update && apk add --no-cache git patch gcc g++ libc-dev bash libgcc xz protoc protobuf-dev perl-utils
+diff --git a/tools/images/ubuntu/Dockerfile b/tools/images/ubuntu/Dockerfile
+index a37cafb84a..9da3df1c0e 100644
+--- a/tools/images/ubuntu/Dockerfile
++++ b/tools/images/ubuntu/Dockerfile
+@@ -15,7 +15,7 @@ RUN truncate -s0 /tmp/preseed.cfg; \
+ apt-get clean
+
+ # Go - we want a specific package version here.
+-RUN curl -fsSL https://dl.google.com/go/go1.21.5.linux-amd64.tar.gz | tar -xzC /usr/local
++RUN curl -fsSL https://dl.google.com/go/go1.22.0.linux-amd64.tar.gz | tar -xzC /usr/local
+ RUN ln -s /usr/local/go/bin/go /usr/local/bin/go && ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt
+
+ # Locale
+diff --git a/tools/images/ubuntu_alt/Dockerfile b/tools/images/ubuntu_alt/Dockerfile
+index 15d4ae8207..7d80e363a1 100644
+--- a/tools/images/ubuntu_alt/Dockerfile
++++ b/tools/images/ubuntu_alt/Dockerfile
+@@ -10,7 +10,7 @@ RUN apt-get update && \
+ apt-get clean
+
+ # Go
+-RUN curl -fsSL https://dl.google.com/go/go1.21.5.linux-amd64.tar.gz | tar -xzC /usr/local
++RUN curl -fsSL https://dl.google.com/go/go1.21.7.linux-amd64.tar.gz | tar -xzC /usr/local
+ RUN ln -s /usr/local/go/bin/go /usr/local/bin/go && ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt
+
+ # Locale
diff --git a/testing/please/APKBUILD b/testing/please/APKBUILD
index 9f3ef2589ec..6641b2e19ad 100644
--- a/testing/please/APKBUILD
+++ b/testing/please/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: Ed Neville <ed@s5h.net>
pkgname=please
pkgver=0.4.2
-pkgrel=0
+pkgrel=2
pkgdesc="sudo alternative with regex support"
url="https://gitlab.com/edneville/please"
-arch="all !s390x !mips64 !riscv64" # limited by rust/cargo
+arch="all !s390x !riscv64" # limited by rust/cargo
license="GPL-3.0-or-later"
-makedepends="cargo linux-pam-dev chrpath"
+makedepends="cargo linux-pam-dev chrpath cargo-auditable"
source="https://gitlab.com/edneville/please/-/archive/v$pkgver/please-v$pkgver.tar.gz
please.pam
"
@@ -15,8 +15,9 @@ options="suid" # Required to call setuid with target uids
builddir="$srcdir/$pkgname-v$pkgver"
subpackages="$pkgname-doc"
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
check() {
diff --git a/testing/plfit/APKBUILD b/testing/plfit/APKBUILD
new file mode 100644
index 00000000000..85e101a2a9d
--- /dev/null
+++ b/testing/plfit/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=plfit
+pkgver=0.9.4
+pkgrel=2
+pkgdesc="Tool for fitting power-law distributions to empirical data"
+url="https://github.com/ntamas/plfit"
+arch="all"
+license="GPL-2.0-only"
+makedepends="cmake samurai"
+subpackages="$pkgname-static $pkgname-libs $pkgname-dev"
+source="https://github.com/ntamas/plfit/archive/$pkgver/plfit-$pkgver.tar.gz"
+
+build() {
+ cmake -B builddir -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DBUILD_SHARED_LIBS=ON
+ cmake -B builddir-static -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ cmake --build builddir
+ cmake --build builddir-static
+}
+
+check() {
+ ctest --output-on-failure --test-dir builddir
+}
+
+package() {
+ # Install static build first because we want the utilities to be linked dynamically.
+ DESTDIR="$pkgdir" cmake --install builddir-static
+ DESTDIR="$pkgdir" cmake --install builddir
+}
+
+sha512sums="
+39cb644de20645b35b8ce6f95bb074276314f5fdc755e0d7eba8e69d1f0d65b784cd755b7a4481e933f8863c30f6b2957e7dba45fc9a695cef14ad4fef729885 plfit-0.9.4.tar.gz
+"
diff --git a/testing/plib/APKBUILD b/testing/plib/APKBUILD
index 741bbb83eb1..55f22c2abe4 100644
--- a/testing/plib/APKBUILD
+++ b/testing/plib/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer:
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=plib
pkgver=1.8.5
-pkgrel=1
+pkgrel=3
pkgdesc="Portable Game Library"
-url="http://plib.sourceforge.net"
+url="https://plib.sourceforge.net/"
arch="all"
license="LGPL-2.0-or-later"
makedepends="$depends_dev libxi-dev libxmu-dev mesa-dev"
-source="http://plib.sourceforge.net/dist/plib-$pkgver.tar.gz
+source="https://plib.sourceforge.net/dist/plib-$pkgver.tar.gz
includes-fix.patch
CVE-2011-4620.patch
CVE-2012-4552.patch
diff --git a/testing/plots/APKBUILD b/testing/plots/APKBUILD
new file mode 100644
index 00000000000..dcdd43cbf72
--- /dev/null
+++ b/testing/plots/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Thomas Aldrian <aldrian.thom@proton.me>
+pkgname=plots
+pkgver=0.7.0
+pkgrel=0
+pkgdesc="A graph plotting app for GNOME"
+url="https://github.com/alexhuntley/Plots"
+arch="noarch"
+license="GPL-3.0-or-later"
+# >=0.8.0 requires adwaita & gtk4 instead of libhandy & gtk3
+depends="
+ freeglut
+ gtk+3.0
+ libhandy1
+ py3-freetype-py
+ py3-gobject3
+ py3-jinja2
+ py3-lark-parser
+ py3-numpy
+ py3-opengl
+ py3-pyglm
+ "
+makedepends="py3-setuptools"
+checkdepends="py3-pytest mesa-osmesa"
+source="$pkgname-$pkgver.tar.gz::https://github.com/alexhuntley/Plots/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/Plots-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ # Required for headless
+ export PYOPENGL_PLATFORM="osmesa"
+ pytest
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="
+d72576873b728ab4d02375462912c970f1c52524e80bd0690d79c04b117af7d9d60f150dc29f70ac198074aa338e21eef94cf8d28e9062540401564de3a4b88b plots-0.7.0.tar.gz
+"
diff --git a/testing/plplot/APKBUILD b/testing/plplot/APKBUILD
index ca657ce00f6..232b5c06a9b 100644
--- a/testing/plplot/APKBUILD
+++ b/testing/plplot/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: River Dillon <oss@outerpassage.net>
pkgname=plplot
pkgver=5.15.0
-pkgrel=1
+pkgrel=2
pkgdesc="scientific graphics plotting library"
url="http://plplot.org/"
license="LGPL-2.0-or-later"
arch="all"
makedepends="cmake gfortran pango-dev"
subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"
-source="https://netactuate.dl.sourceforge.net/project/plplot/plplot/$pkgver%20Source/plplot-$pkgver.tar.gz"
+source="https://downloads.sourceforge.net/project/plplot/plplot/$pkgver%20Source/plplot-$pkgver.tar.gz"
options="!check" # XXX: no working check function yet
build() {
diff --git a/testing/plzip/APKBUILD b/testing/plzip/APKBUILD
index 446376d0f09..a7f6ed391ce 100644
--- a/testing/plzip/APKBUILD
+++ b/testing/plzip/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Klemens Nanni <kl3@posteo.org>
-# Maintainer: Klemens Nanni <kl3@posteo.org>
+# Maintainer:
pkgname=plzip
-pkgver=1.9
+pkgver=1.11
pkgrel=0
pkgdesc="Massively parallel lossless data compressor"
url="http://www.nongnu.org/lzip/plzip.html"
@@ -26,4 +26,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="3bca603ba6337462bde3967e7c7a7e66287f3a71adf8db987429fcdcb06ebbb90b52e666a7f98ac699bc158cbda21a9cce02490131d33fc44171b84ebb3a4a19 plzip-1.9.tar.gz"
+sha512sums="
+3a0f0443e68a6b776d85b69ed24d21e03d7bad1b788d6e8f741cc0ebb2537aebde2d68aa6765bcb4d61df6521779af27d176f5ef348014fa3088aa219d5ec691 plzip-1.11.tar.gz
+"
diff --git a/testing/pmccabe/APKBUILD b/testing/pmccabe/APKBUILD
index 80749add5f9..f80fa0e36f3 100644
--- a/testing/pmccabe/APKBUILD
+++ b/testing/pmccabe/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Olliver Schinagl <oliver@schinagl.nl>
pkgname="pmccabe"
pkgver="2.8"
-pkgrel=0
+pkgrel=1
pkgdesc="McCabe-style complexity and line counting for C and C++"
url="https://gitlab.com/pmccabe/pmccabe"
arch="all"
diff --git a/testing/pnmixer/APKBUILD b/testing/pnmixer/APKBUILD
index 300a3ea3219..b137220fb98 100644
--- a/testing/pnmixer/APKBUILD
+++ b/testing/pnmixer/APKBUILD
@@ -1,11 +1,11 @@
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=pnmixer
pkgver=0.7.2
-pkgrel=1
+pkgrel=3
pkgdesc="PNMixer is a simple mixer application designed to run in system tray."
url="https://github.com/nicklan/pnmixer"
arch="all"
-license="GPL"
+license="GPL-3.0-only"
makedepends="cmake gettext gtk+2.0-dev alsa-lib-dev libnotify-dev"
install=""
subpackages="$pkgname-doc $pkgname-lang"
diff --git a/testing/pnpm/APKBUILD b/testing/pnpm/APKBUILD
new file mode 100644
index 00000000000..757cfe4e1c4
--- /dev/null
+++ b/testing/pnpm/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Hygna <hygna@proton.me>
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=pnpm
+pkgver=9.0.1
+pkgrel=0
+pkgdesc="Fast, disk space efficient package manager"
+url="https://pnpm.io"
+arch="noarch"
+license="MIT"
+depends="nodejs"
+source="https://registry.npmjs.org/pnpm/-/pnpm-$pkgver.tgz"
+options="!check" # not implemented
+builddir="$srcdir/package"
+
+prepare() {
+ default_prepare
+
+ # remove node-gyp
+ rm -rf dist/node-gyp-bin dist/node_modules/node-gyp
+ # remove windows files
+ rm -rf dist/vendor/*.exe
+
+ # remove other unnecessary files
+ find . -type f \( \
+ -name '.*' -o \
+ -name '*.cmd' -o \
+ -name '*.bat' -o \
+ -name '*.map' -o \
+ -name '*.md' -o \
+ -name '*.darwin*' -o \
+ -name '*.win*' -o \
+ -iname 'README*' \) -delete
+}
+
+package() {
+ local destdir="$pkgdir"/usr/share/node_modules/pnpm
+
+ mkdir -p "$destdir"
+ cp -R "$builddir"/* "$destdir"/
+
+ mkdir -p "$pkgdir"/usr/bin
+ ln -sf ../share/node_modules/pnpm/bin/pnpm.cjs "$pkgdir"/usr/bin/pnpm
+ ln -sf ../share/node_modules/pnpm/bin/pnpx.cjs "$pkgdir"/usr/bin/pnpx
+}
+
+sha512sums="
+f904b133d699415b0d997ee3f05a269affbdb02cf6b227fa03d85483a8f3dfced0b9160a7d477dc051ab67af8be44705b9fdf15f2ae33bc83b76886529fb4b1d pnpm-9.0.1.tgz
+"
diff --git a/testing/podman-compose/APKBUILD b/testing/podman-compose/APKBUILD
deleted file mode 100644
index e40eeea4e02..00000000000
--- a/testing/podman-compose/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributor: TBK <alpine@jjtc.eu>
-# Maintainer: TBK <alpine@jjtc.eu>
-pkgname=podman-compose
-pkgver=0.1.5
-pkgrel=4
-pkgdesc="Script to run docker-compose.yml using podman"
-url="https://github.com/containers/podman-compose"
-arch="noarch !mips !mips64" # blocked by podman
-license="GPL-2.0-or-later"
-options="!check" # Requires running docker env
-depends="podman python3 py3-yaml"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/containers/podman-compose/archive/v$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="3a5fd56b5394ada0ca465d2cac2249601bb72b20793106d625953e94f55ac19e65d7cd181bbc685fe5de0ac2a7169f0e5f4726e04ff927073eb656c9462c8606 podman-compose-0.1.5.tar.gz"
diff --git a/testing/poetry/APKBUILD b/testing/poetry/APKBUILD
deleted file mode 100644
index 4af8139d9d1..00000000000
--- a/testing/poetry/APKBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=poetry
-pkgver=1.1.12
-pkgrel=1
-pkgdesc="Python3 dependency management and packaging system"
-url="https://python-poetry.org"
-license="MIT"
-arch="noarch !ppc64le !mips64" # limited by py3-keyring
-options="!check" # TODO: add tests
-depends="
- python3
- py3-poetry-core
- py3-cleo
- py3-clikit
- py3-crashtest
- py3-requests
- py3-cachy
- py3-requests-toolbelt
- py3-cachecontrol
- py3-pkginfo
- py3-html5lib
- py3-shellingham
- py3-tomlkit
- py3-pexpect
- py3-packaging
- py3-virtualenv
- py3-keyring
- "
-makedepends="pyproject2setuppy"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sdispater/poetry/archive/$pkgver.tar.gz"
-
-build() {
- python3 -m pyproject2setuppy.main build
-}
-
-package() {
- python3 -m pyproject2setuppy.main install \
- --prefix=/usr --root="$pkgdir" --skip-build
-
- # remove conflicts with files owned by py3-poetry-core (direct dependency of poetry)
- # see: https://github.com/python-poetry/poetry/issues/2800
- local sitedir=$(python3 -c "import site; print(site.getsitepackages()[0])")
- rm "$pkgdir/$sitedir"/poetry/__init__.py \
- "$pkgdir/$sitedir"/poetry/__pycache__/__init__.cpython-*.pyc
-}
-
-sha512sums="
-2a779ffbf2438624116312ad331f3dab30f18c966c5d51886a135f94358686d307ccf4a416cad6f2619694560ebefa7114a0921f787086bfb46de41db04d20b1 poetry-1.1.12.tar.gz
-"
diff --git a/testing/poke/APKBUILD b/testing/poke/APKBUILD
new file mode 100644
index 00000000000..26a6b7fe189
--- /dev/null
+++ b/testing/poke/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=poke
+pkgver=3.3
+pkgrel=0
+pkgdesc="extensible editor for binary data"
+url="https://www.jemarch.net/poke.html"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="automake autoconf help2man gc-dev readline-dev gettext-dev json-c-dev dejagnu-dev"
+checkdepends="dejagnu"
+subpackages="$pkgname-doc"
+source="https://ftp.gnu.org/gnu/poke/poke-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make -k check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+b00dca38d27bddee6ea131d45988aaead1d11d29b757c048f3b2be8013575cedc591844d4d99870f90964fd4f517d500cbb42aae5aff57e9fe07aac8273aa236 poke-3.3.tar.gz
+"
diff --git a/testing/pokoy/APKBUILD b/testing/pokoy/APKBUILD
new file mode 100644
index 00000000000..1dff8b359f5
--- /dev/null
+++ b/testing/pokoy/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=pokoy
+pkgver=0.2.5
+pkgrel=0
+pkgdesc="Lightweight daemon that helps prevent RSI and other computer related stress"
+url="https://github.com/ttygde/pokoy"
+arch="all"
+license="GPL-2.0-only"
+makedepends="libxcb-dev xcb-util-wm-dev xcb-util-keysyms-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ttygde/pokoy/archive/v$pkgver.tar.gz
+ broken-makefile.patch
+ "
+options="!check" # No tests
+
+build() {
+ make PREFIX=/usr STRIP=
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cd7505f0fc88c51f9a74e19aae3aed0e20a408b70ead93f04043a886c448099b4d56443c8a0404746b3b4ee4ba6b4c7d442793a7f24b93b1f3b06d8c149692ca pokoy-0.2.5.tar.gz
+c0973a7300fb77b45b597272bec9d182573a3b8a3eb16f1b4e70c838a1b59bbdc7041a10742bfee03d6191f068dd7bc16fbc046d94b7cce2e62c9736f760d039 broken-makefile.patch
+"
diff --git a/testing/pokoy/broken-makefile.patch b/testing/pokoy/broken-makefile.patch
new file mode 100644
index 00000000000..8eade4450cf
--- /dev/null
+++ b/testing/pokoy/broken-makefile.patch
@@ -0,0 +1,15 @@
+diff --git a/Makefile b/Makefile
+index 60f6519..b0c0793 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,8 +1,8 @@
+ VERSION = 0.2.5
+ CC ?= gcc
+ STRIP ?= strip
+-CFLAGS = -std=c99 -D_DEFAULT_SOURCE -O2
+-LDFLAGS = -lxcb -lxcb-keysyms -lxcb-icccm -lxcb-screensaver
++CFLAGS := -std=c99 -D_DEFAULT_SOURCE -O2 $(CFLAGS)
++LDFLAGS := -lxcb -lxcb-keysyms -lxcb-icccm -lxcb-screensaver $(LDFLAGS)
+
+ SRCR = pokoy.c
+ OBJS = ${SRCR:.c=.o}
diff --git a/testing/policycoreutils/0003-fix-pam-rules.patch b/testing/policycoreutils/0003-fix-pam-rules.patch
new file mode 100644
index 00000000000..d2d69d09f6b
--- /dev/null
+++ b/testing/policycoreutils/0003-fix-pam-rules.patch
@@ -0,0 +1,34 @@
+diff --git a/newrole/newrole.pamd b/newrole/newrole.pamd
+index 683c544..dc947b7 100644
+--- a/newrole/newrole.pamd
++++ b/newrole/newrole.pamd
+@@ -1,8 +1,8 @@
+ #%PAM-1.0
+ # Uncomment the next line if you do not want to enter your passwd every time
+ # auth sufficient pam_rootok.so
+-auth include system-auth
+-account include system-auth
+-password include system-auth
+-session include system-auth
++auth include base-auth
++account include base-account
++password include base-password
++session include base-session
+ session optional pam_xauth.so
+diff --git a/run_init/run_init.pamd b/run_init/run_init.pamd
+index ef46013..74cb988 100644
+--- a/run_init/run_init.pamd
++++ b/run_init/run_init.pamd
+@@ -1,8 +1,8 @@
+ #%PAM-1.0
+ # Uncomment the next line if you do not want to enter your passwd every time
+ #auth sufficient pam_rootok.so
+-auth include system-auth
+-account include system-auth
+-password include system-auth
+-session include system-auth
++auth include base-auth
++account include base-account
++password include base-password
++session include base-session
+ session optional pam_xauth.so
diff --git a/testing/policycoreutils/APKBUILD b/testing/policycoreutils/APKBUILD
index 603069432bd..0d11a36c88b 100644
--- a/testing/policycoreutils/APKBUILD
+++ b/testing/policycoreutils/APKBUILD
@@ -1,43 +1,42 @@
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
# Maintainer: Tycho Andersen <tycho@docker.com>
pkgname=policycoreutils
-pkgver=2.8
+pkgver=3.6
pkgrel=0
pkgdesc="SELinux policy core utilities"
url="https://selinuxproject.org/"
arch="all"
-license="GPL-2.0"
-depends=""
+license="GPL-2.0-only"
makedepends="
gettext-dev
libsepol-dev
- libselinux-dev
+ libselinux-dev
libsemanage-dev
- fts-dev
+ musl-fts-dev
linux-pam-dev
libcap-ng-dev
audit-dev
-
gawk
"
-install=""
-subpackages="$pkgname-doc $pkgname-lang"
-source="https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20180524/policycoreutils-2.8.tar.gz
+subpackages="$pkgname-doc $pkgname-lang $pkgname-bash-completion"
+source="https://github.com/SELinuxProject/selinux/releases/download/$pkgver/policycoreutils-$pkgver.tar.gz
0002-hack-around-GLOB-BRACE-TILDE.patch
+ 0003-fix-pam-rules.patch
busybox-install-compat.patch
"
-builddir="$srcdir/policycoreutils-$pkgver"
options="suid"
build() {
- cd "$builddir"
make LDLIBS="$LDLIBS -lintl" LSPP_PRIV=y
}
package() {
- cd "$builddir"
make LSPP_PRIV=y DESTDIR="$pkgdir" install
}
-sha512sums="2b4a70836fd8727a16b8f8d4afcc39c9461ab6f5bc1ba5ce5833d41150da921ebb3c9bdbd1cfa7dd31fd382ba18b5433ca9b63bce58bd290db81fa9bedfe29f3 policycoreutils-2.8.tar.gz
+sha512sums="
+e1f32e6e0310b879a5aadab157b103314a61bf3b8fd59c1212d701fbf39900e3b9a0b727338988103d784a7e505355a871ba519dd91520b135a3b9dae40bf1b0 policycoreutils-3.6.tar.gz
d611ca3107439fbdb9618a72f55cb66e299fa71392821b223343aa314c65af3e67d6e79ff40e93eca9a20dd0e90c660393c604a18048fcf293374cf2bc61e918 0002-hack-around-GLOB-BRACE-TILDE.patch
-cc0244d19b0ef4c0453d5ba02144f9a47c61164b55e8ed946c25075e1fac6401edbd46b2efc8ac0e733e1989ec6755409512b8a5c3e6ff31d59ad43b3ba41783 busybox-install-compat.patch"
+e3d1a658c76b80e694188049bde153a525a227c5e94cfc008537c15a7a7758ddf23b3cf64dd8c5aaa6d32ddeb5b468c6f95c17a82131fe8d8779695e96b56704 0003-fix-pam-rules.patch
+4f6ccc3ce6d88a85c5550d55fb6b8bb3ca601bb3996b68964e31b790273a3a27f33e1ae420c4bd64964270a6cf97501344a27c3d5f0210c825e88378be07bd49 busybox-install-compat.patch
+"
diff --git a/testing/policycoreutils/busybox-install-compat.patch b/testing/policycoreutils/busybox-install-compat.patch
index aba281d57ac..bb3369b7abf 100644
--- a/testing/policycoreutils/busybox-install-compat.patch
+++ b/testing/policycoreutils/busybox-install-compat.patch
@@ -9,3 +9,14 @@
done
%.mo: %.po
+--- a/sestatus/Makefile
++++ b/sestatus/Makefile
+@@ -22,7 +22,7 @@
+ # Some tools hard code /usr/sbin/sestatus ; add a compatibility symlink
+ # install will overwrite a symlink, so create the symlink before calling
+ # install to allow distributions with BINDIR == SBINDIR
+- ln -sf --relative $(DESTDIR)$(BINDIR)/sestatus $(DESTDIR)$(SBINDIR)
++ ln -sf $(DESTDIR)$(BINDIR)/sestatus $(DESTDIR)$(SBINDIR)
+ install -m 755 sestatus $(DESTDIR)$(BINDIR)
+ install -m 644 sestatus.8 $(DESTDIR)$(MANDIR)/man8
+ install -m 644 sestatus.conf.5 $(DESTDIR)$(MANDIR)/man5
diff --git a/testing/polyglot/APKBUILD b/testing/polyglot/APKBUILD
new file mode 100644
index 00000000000..1a08f577e77
--- /dev/null
+++ b/testing/polyglot/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=polyglot
+pkgver=2.0.4
+pkgrel=1
+pkgdesc="Protocol adapter to run UCI chess engines under XBoard"
+url="https://www.chessprogramming.org/PolyGlot"
+arch="all"
+license="GPL-2.0-or-later"
+options="!check" # no test suite
+source="http://hgm.nubati.net/releases/polyglot-$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+
+build() {
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+e0ab6b5d7f01b7a877808e7411b510acd6b85f307c86f317bb0f8a11059f40234e75853d0524c08518b0dc4e4a17e0fa483c464c246950a6af8e4cc1a22c35d7 polyglot-2.0.4.tar.gz
+"
diff --git a/testing/polyml/APKBUILD b/testing/polyml/APKBUILD
deleted file mode 100644
index 5d224dc216f..00000000000
--- a/testing/polyml/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=polyml
-pkgver=5.9
-pkgrel=0
-pkgdesc="ML97 compatible Standard ML implementation"
-url="https://www.polyml.org/"
-arch="all !aarch64 !ppc64le !s390x !mips !mips64 !riscv64"
-license="LGPL-2.1-only"
-makedepends="gmp-dev libffi-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/polyml/polyml/archive/v$pkgver.tar.gz
- "
-
-# FIXME: https://github.com/polyml/polyml/issues/110
-case "$CARCH" in
- armhf|armv7) options="!check" ;;
-esac
-
-build() {
- # Compiling poly as a dynamically linked position independent
- # executable causes it to segfault. Since Alpine's GCC enables
- # PIE by default we need to explicitly disable it.
- CFLAGS="$CFLAGS -no-pie" ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --with-system-libffi \
- --with-gmp
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-e996cbe820216e854a50ba214f2a2a0291ee3279eb35be4126b6558bc1582732a236156fb8d0f548b31fca4a496db62ece83d902b6f5e72de64507fdef602e45 polyml-5.9.tar.gz
-"
diff --git a/testing/pomo/APKBUILD b/testing/pomo/APKBUILD
new file mode 100644
index 00000000000..b7376a9ff62
--- /dev/null
+++ b/testing/pomo/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=pomo
+pkgver=0.8.1
+pkgrel=15
+pkgdesc="Pomodoro CLI"
+url="https://kevinschoon.github.io/pomo/"
+license="MIT"
+arch="all"
+makedepends="go scdoc sqlite-dev"
+subpackages="$pkgname-doc"
+source="https://github.com/kevinschoon/pomo/archive/$pkgver/pomo-$pkgver.tar.gz"
+
+export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build \
+ -ldflags "-X github.com/kevinschoon/pomo/pkg/internal.Version=$pkgver" \
+ ./cmd/pomo
+ scdoc <man/pomo.1.scd >pomo.1
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 pomo -t "$pkgdir"/usr/bin/
+ install -Dm644 pomo.1 -t "$pkgdir"/usr/share/man/man1/
+}
+
+sha512sums="
+53b9608efce6a0820fc9fa3bfb9af406c23f1457bba2113c83b2fe714bff6e6e4d956533691ba7de8ada4db38a37527bed47692524128d275be3ec9a8b9bf758 pomo-0.8.1.tar.gz
+"
diff --git a/testing/pongoos-loader/APKBUILD b/testing/pongoos-loader/APKBUILD
index cc9b08b1129..a5c28cdc405 100644
--- a/testing/pongoos-loader/APKBUILD
+++ b/testing/pongoos-loader/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Jonas Heinrich <onny@project-insanity.org>
pkgname=pongoos-loader
pkgver=0_git20210704
-pkgrel=0
+pkgrel=1
pkgdesc="Loader for Android on iPhone"
url="https://github.com/checkra1n/pongoOS"
arch="all"
diff --git a/testing/popeye/APKBUILD b/testing/popeye/APKBUILD
new file mode 100644
index 00000000000..7ff54a325ce
--- /dev/null
+++ b/testing/popeye/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=popeye
+pkgver=0.20.4
+pkgrel=2
+pkgdesc="Kubernetes cluster resource sanitizer"
+url="https://popeyecli.io/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/derailed/popeye/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ GOLDFLAGS="
+ -X github.com/derailed/popeye/cmd.version=v$pkgver
+ -X github.com/derailed/popeye/cmd.commit=AlpineLinux
+ -X github.com/derailed/popeye/cmd.date=$(date +%FT%T%Z)
+ "
+ go build -v -tags netgo -o $pkgname -ldflags "$GOLDFLAGS"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+3f5ba8875dd2b7e005472ade518ae8f14550c6f292619550fbd0b2065ef635586d75910517a9a6efb066232297756a0fa239e6ca163532a9d413458833f2cbd8 popeye-0.20.4.tar.gz
+"
diff --git a/testing/portsmf/APKBUILD b/testing/portsmf/APKBUILD
index fa26ad61a4c..51b6d0e7d41 100644
--- a/testing/portsmf/APKBUILD
+++ b/testing/portsmf/APKBUILD
@@ -2,15 +2,16 @@
# Maintainer: Sol Fisher Romanoff <sol@solfisher.com>
pkgname=portsmf
pkgver=239
-pkgrel=0
+pkgrel=1
pkgdesc="C++ library for reading and writing Standard MIDI Files"
-url="https://github.com/tenacityteam/portsmf"
+url="https://codeberg.org/tenacityteam/portsmf"
arch="all"
license="MIT"
makedepends="cmake"
subpackages="$pkgname-dev"
options="!check" # No testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/tenacityteam/portsmf/archive/refs/tags/$pkgver.tar.gz"
+source="$pkgname-$pkgver-1.tar.gz::https://codeberg.org/tenacityteam/portsmf/archive/$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
build() {
cmake \
@@ -26,5 +27,5 @@ package() {
}
sha512sums="
-5908ef79043b44f90da8286d639a0693334f160454d206f4a212fe958a7a2e19cbc18e4240e191c1678690f34976c5e0d34dcb030d7bab007ee528fbb5e19486 portsmf-239.tar.gz
+522ef6e92de6497c66d6b9adf2b6b4e419024d26fac421096718b024ea0e183d322d3f0cd9fc357e0ba983371cf313d7a0b93b8b24aff5c9cb1ab61c915725ff portsmf-239-1.tar.gz
"
diff --git a/testing/postgresql-citus/APKBUILD b/testing/postgresql-citus/APKBUILD
deleted file mode 100644
index e286389568b..00000000000
--- a/testing/postgresql-citus/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
-# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
-pkgname=postgresql-citus
-_projname=citus
-pkgver=10.2.3
-pkgrel=0
-pkgdesc="Scalable PostgreSQL for multi-tenant and real-time analytics workloads"
-url="https://github.com/citusdata/citus"
-arch="all"
-license="AGPL-3.0-only"
-makedepends="autoconf postgresql-dev icu-dev lz4-dev zstd-dev"
-install="$pkgname.post-install"
-source="https://github.com/citusdata/citus/archive/v$pkgver/$_projname-$pkgver.tar.gz"
-builddir="$srcdir/$_projname-$pkgver"
-options="!check" # tests requires running postgresql cluster
-
-prepare() {
- default_prepare
- autoreconf -fi
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --without-libcurl
- make
-}
-
-package() {
- depends="postgresql$(pg_config --major-version)"
-
- make DESTDIR="$pkgdir" install
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
-}
-
-sha512sums="
-544d47093878c4ba02502f52dd4ac23cecd67c75635d825ad43f24ef19aa5de97b1d34e1e4e86f2f23028de363cb4979244ea3639caa8f142891d247d0187322 citus-10.2.3.tar.gz
-"
diff --git a/testing/postgresql-citus/postgresql-citus.post-install b/testing/postgresql-citus/postgresql-citus.post-install
deleted file mode 100644
index 9b6974a6a9f..00000000000
--- a/testing/postgresql-citus/postgresql-citus.post-install
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-
-cat >&2 <<EOF
-*
-* Add the following line to postgresql.conf and restart PostgreSQL:
-* shared_preload_libraries = 'citus'
-*
-EOF
-
-exit 0
diff --git a/testing/postgresql-hll/APKBUILD b/testing/postgresql-hll/APKBUILD
new file mode 100644
index 00000000000..f2a6bccc806
--- /dev/null
+++ b/testing/postgresql-hll/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=postgresql-hll
+pkgver=2.18
+pkgrel=0
+pkgdesc="PostgreSQL extension adding HyperLogLog data structures as a native data type"
+url="https://github.com/citusdata/postgresql-hll"
+# armhf,armv7,x86: 32-bit is not supported (error=format)
+arch="all !armhf !armv7 !x86"
+license="Apache-2.0"
+makedepends="postgresql-dev"
+subpackages="$pkgname-bitcode"
+source="https://github.com/citusdata/postgresql-hll/archive/v$pkgver/postgresql-hll-$pkgver.tar.gz"
+options="!check" # requires running PostgreSQL
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+bitcode() {
+ pkgdesc="$pkgdesc (bitcode for JIT)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="postgresql$(pg_config --major-version)-jit $pkgname=$pkgver-r$pkgrel"
+
+ amove usr/lib/postgresql*/bitcode
+}
+
+sha512sums="
+0c9aa39ab3abe2e8eba77d2fe190689858d2c49d9b87b25b763c864892a4f1fecab8758ea72616c4bb7446e477850cd95c06e8e8bb5c3a346fa009d26a7f3d44 postgresql-hll-2.18.tar.gz
+"
diff --git a/testing/postgresql-login_hook/APKBUILD b/testing/postgresql-login_hook/APKBUILD
deleted file mode 100644
index 4f692a128e4..00000000000
--- a/testing/postgresql-login_hook/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=postgresql-login_hook
-_projname=login_hook
-# No versions tagged, see https://github.com/splendiddata/login_hook/issues/9
-pkgver=1.1
-pkgrel=1
-pkgdesc="PostgreSQL database extension to mimic a logon trigger"
-url="https://github.com/splendiddata/login_hook"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="postgresql-dev"
-subpackages="$pkgname-doc"
-install="$pkgname.post-install"
-source="https://github.com/splendiddata/login_hook/archive/version_$pkgver/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_projname-version_$pkgver"
-options="!check" # XXX: tests require running PostgreSQL
-
-build() {
- make
-}
-
-package() {
- depends="postgresql$(pg_config --major-version)"
-
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="ac3d02ee9c90f2512d3055a12bd20e1df9e41be16acc330f8e4d54bd0b3a8b12e2c1624c7593b3667b17d3d9a798a65fbd577830bd49162b17303d205113f29b postgresql-login_hook-1.1.tar.gz"
diff --git a/testing/postgresql-login_hook/postgresql-login_hook.post-install b/testing/postgresql-login_hook/postgresql-login_hook.post-install
deleted file mode 100644
index 01b8b0ec69b..00000000000
--- a/testing/postgresql-login_hook/postgresql-login_hook.post-install
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-cat >&2 <<EOF
-*
-* To use login_hook, you have to add the following line to postgresql.conf:
-* session_preload_libraries = 'login_hook'
-*
-EOF
diff --git a/testing/postgresql-pg_graphql/APKBUILD b/testing/postgresql-pg_graphql/APKBUILD
new file mode 100644
index 00000000000..5882f4fbfc8
--- /dev/null
+++ b/testing/postgresql-pg_graphql/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=postgresql-pg_graphql
+_projname=pg_graphql
+pkgver=1.4.2
+pkgrel=0
+pkgdesc="GraphQL support for PostgreSQL"
+url="https://supabase.github.io/pg_graphql/"
+# ppc64le,riscv64,s390x: fails to build due to ring crate (https://github.com/pgcentralfoundation/pgrx/pull/1442)
+arch="all !ppc64le !riscv64 !s390x"
+license="Apache-2.0"
+makedepends="
+ cargo
+ chrpath
+ jq
+ openssl-dev
+ postgresql
+ postgresql-dev
+ rustfmt
+ "
+source="https://github.com/supabase/pg_graphql/archive/v$pkgver/$_projname-$pkgver.tar.gz
+ remove-regex.patch
+ "
+builddir="$srcdir/$_projname-$pkgver"
+# check: tests tries to write to /usr/lib/...
+# net: fetches crates in build phase
+options="!check net"
+
+export PGRX_HOME="$srcdir/.pgrx"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ local pgver="$(pg_config --major-version)"
+
+ # We must install it this way because cargo-pgrx and pgrx dependency
+ # versions in the project must be identical. :(
+ local pgrx_ver; pgrx_ver="$(cargo metadata --locked --format-version 1 \
+ | jq -r '.packages[] | select(.name == "pgrx") | .version')"
+ # Use dev profile to speed-up compilation.
+ cargo install --locked --profile dev --bins --root target/tools "cargo-pgrx@$pgrx_ver"
+
+ export PATH="$PWD/target/tools/bin:$PATH"
+
+ cargo pgrx init --pg$pgver="$(which pg_config)"
+
+ # TODO: Remove after >0.11.2 is released (https://github.com/pgcentralfoundation/pgrx/pull/1441).
+ [ -n "$RUSTFLAGS" ] && export RUSTFLAGS="$(echo $RUSTFLAGS)" || unset RUSTFLAGS
+
+ cargo pgrx package --verbose --out-dir="target/release/dist"
+
+ # Remove RPATH.
+ # NOTE: CARGO_PROFILE_RELEASE_RPATH=false doesn't work here.
+ chrpath -d target/release/dist/usr/lib/postgresql*/*.so
+}
+
+package() {
+ depends="postgresql$(pg_config --major-version)"
+
+ mkdir -p "$pkgdir"
+ cp -r target/release/dist/* "$pkgdir"/
+}
+
+sha512sums="
+d1d0612b39916062b85b855975948376aae47066028532c118ee404808c245fc7617fd0a39a410397572601194f38f7a04a69a99b8aa71f43a79cc8710223cb4 pg_graphql-1.4.2.tar.gz
+dc517bfb9813a1c807c01146d7f81dbfc14b004fb5be915794092bf7a2cdfa84edcdfe221094f8e196cf169980c02cdfcf339d80fd16114c040a03a3d765b416 remove-regex.patch
+"
diff --git a/testing/postgresql-pg_graphql/remove-regex.patch b/testing/postgresql-pg_graphql/remove-regex.patch
new file mode 100644
index 00000000000..4662f4be780
--- /dev/null
+++ b/testing/postgresql-pg_graphql/remove-regex.patch
@@ -0,0 +1,66 @@
+Patch-Source: https://github.com/supabase/pg_graphql/pull/473
+--
+From bd6d3c4af27e7961e0c3d4632289d155336e399e Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Mon, 18 Dec 2023 19:20:43 +0100
+Subject: [PATCH] replace regex with std alternative
+
+regex is a big dependency (adds over 1 MiB to the binary size) and it's
+unnecessary for such a simple check.
+---
+ Cargo.lock | 1 -
+ Cargo.toml | 1 -
+ src/graphql.rs | 10 +++-------
+ 3 files changed, 3 insertions(+), 9 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index bcd2ab8d..16ef67c8 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1105,7 +1105,6 @@ dependencies = [
+ "pgrx",
+ "pgrx-tests",
+ "rand",
+- "regex",
+ "serde",
+ "serde_json",
+ "uuid",
+diff --git a/Cargo.toml b/Cargo.toml
+index 88d0995d..610767b3 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -22,7 +22,6 @@ itertools = "0.10.3"
+ cached = "0.34.0"
+ rand = "0.8"
+ uuid = "1"
+-regex = "1"
+ base64 = "0.13"
+ lazy_static = "1"
+ bimap = { version = "0.6.3", features = ["serde"] }
+diff --git a/src/graphql.rs b/src/graphql.rs
+index 602153b3..f2a4e394 100644
+--- a/src/graphql.rs
++++ b/src/graphql.rs
+@@ -2,19 +2,15 @@ use crate::sql_types::*;
+ use cached::proc_macro::cached;
+ use cached::SizedCache;
+ use itertools::Itertools;
+-use lazy_static::lazy_static;
+-use regex::Regex;
+ use serde::Serialize;
+ use std::collections::{HashMap, HashSet};
+ use std::ops::Deref;
+ use std::sync::Arc;
+
+-lazy_static! {
+- static ref GRAPHQL_NAME_RE: Regex = Regex::new("^[_A-Za-z][_0-9A-Za-z]*$").unwrap();
+-}
+-
+ fn is_valid_graphql_name(name: &str) -> bool {
+- GRAPHQL_NAME_RE.is_match(name)
++ !name.is_empty()
++ && name.starts_with(|c: char| c == '_' || c.is_ascii_alphabetic())
++ && name.chars().all(|c| c == '_' || c.is_ascii_alphanumeric())
+ }
+
+ fn to_base_type_name(name: &str, name_override: &Option<String>, inflect_names: bool) -> String {
diff --git a/testing/postgresql-pg_later/APKBUILD b/testing/postgresql-pg_later/APKBUILD
new file mode 100644
index 00000000000..bc6773ff21e
--- /dev/null
+++ b/testing/postgresql-pg_later/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=postgresql-pg_later
+_projname=pg_later
+pkgver=0.0.14
+pkgrel=0
+pkgdesc="PostgreSQL extension to execute SQL now and get the results later"
+url="https://github.com/tembo-io/pg_later"
+# s390x: fails to build nix crate
+arch="all !s390x"
+license="PostgreSQL"
+makedepends="
+ cargo
+ chrpath
+ jq
+ openssl-dev
+ postgresql
+ postgresql-dev
+ rustfmt
+ "
+source="https://github.com/tembo-io/pg_later/archive/v$pkgver/postgresql-pg_later-$pkgver.tar.gz
+ remove-tls.patch
+ "
+builddir="$srcdir/$_projname-$pkgver"
+# check: tests tries to write to /usr/lib/...
+# net: fetches crates in build phase
+options="!check net"
+
+export PGRX_HOME="$srcdir/.pgrx"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ local pgver="$(pg_config --major-version)"
+
+ # We must install it this way because cargo-pgrx and pgrx dependency
+ # versions in the project must be identical. :(
+ local pgrx_ver; pgrx_ver="$(cargo metadata --locked --format-version 1 \
+ | jq -r '.packages[] | select(.name == "pgrx") | .version')"
+ # Use dev profile to speed-up compilation.
+ cargo install --locked --profile dev --bins --root target/tools "cargo-pgrx@$pgrx_ver"
+
+ export PATH="$PWD/target/tools/bin:$PATH"
+
+ cargo pgrx init --pg$pgver="$(which pg_config)"
+
+ # TODO: Remove after >0.11.2 is released (https://github.com/pgcentralfoundation/pgrx/pull/1441).
+ [ -n "$RUSTFLAGS" ] && export RUSTFLAGS="$(echo $RUSTFLAGS)" || unset RUSTFLAGS
+
+ cargo pgrx package --verbose --out-dir="target/release/dist"
+
+ # Remove RPATH.
+ # NOTE: CARGO_PROFILE_RELEASE_RPATH=false doesn't work here.
+ chrpath -d target/release/dist/usr/lib/postgresql*/*.so
+}
+
+package() {
+ depends="postgresql$(pg_config --major-version)"
+
+ mkdir -p "$pkgdir"
+ cp -r target/release/dist/* "$pkgdir"/
+}
+
+sha512sums="
+6685d49411e2c441d53994f7b98e2a0bab84d9d9f047a7d75ee7ff1b2c266f44e4b89ec8b2b4553877e72eceee448fd4dadd37ad8cd15f6e924864aa8b8c9606 postgresql-pg_later-0.0.14.tar.gz
+94b8e7e944bb6233d74084b44e5f7c7a2024782a16f5be52718b2ec11cb47b66363d9abf1321879b3cd0c7652ccbfcae83014c34bfb31c77977097b561f7c49c remove-tls.patch
+"
diff --git a/testing/postgresql-pg_later/remove-tls.patch b/testing/postgresql-pg_later/remove-tls.patch
new file mode 100644
index 00000000000..409a10e4f45
--- /dev/null
+++ b/testing/postgresql-pg_later/remove-tls.patch
@@ -0,0 +1,646 @@
+Patch-Source: https://github.com/tembo-io/pg_later/pull/45
+--
+From 202519fbee9d740661480bc4b190dd3a4f63d575 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Tue, 30 Jan 2024 04:21:11 +0100
+Subject: [PATCH] Bump dependencies and remove sqlx runtime-tokio-native-tls
+ feature (#45)
+
+* Bump pgrx from 0.11.2 to 0.11.3
+
+* Bump pgmq-core from 0.8.2 to 0.8.4
+
+* Bump pgmq from 0.25.0 to 0.26.0
+
+* Bump sqlx from 0.7.2 to 0.7.3
+
+* Remove sqlx feature runtime-tokio-native-tls
+
+pg_later doesn't connect to a remote PostgreSQL, so TLS is unnecessary.
+This change will reduce the number of dependencies and the binary size.
+---
+ Cargo.lock | 260 ++++++++++++++++++++---------------------------------
+ Cargo.toml | 11 ++-
+ 2 files changed, 100 insertions(+), 171 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index a0241f7..f538486 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -19,14 +19,15 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+ [[package]]
+ name = "ahash"
+-version = "0.8.3"
++version = "0.8.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
++checksum = "77c3a9648d43b9cd48db467b3f87fdd6e146bcc88ab0180006cef2179fe11d01"
+ dependencies = [
+ "cfg-if",
+ "getrandom",
+ "once_cell",
+ "version_check",
++ "zerocopy",
+ ]
+
+ [[package]]
+@@ -79,7 +80,7 @@ checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -110,6 +111,16 @@ dependencies = [
+ "rustc_version 0.3.3",
+ ]
+
++[[package]]
++name = "atomic-write-file"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "edcdbedc2236483ab103a53415653d6b4442ea6141baf1ffa85df29635e88436"
++dependencies = [
++ "nix",
++ "rand",
++]
++
+ [[package]]
+ name = "autocfg"
+ version = "1.1.0"
+@@ -145,9 +156,9 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+
+ [[package]]
+ name = "bindgen"
+-version = "0.68.1"
++version = "0.69.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
++checksum = "a4c69fae65a523209d34240b60abe0c42d33d1045d445c0839d8a4894a736e2d"
+ dependencies = [
+ "bitflags 2.4.0",
+ "cexpr",
+@@ -160,7 +171,7 @@ dependencies = [
+ "regex",
+ "rustc-hash",
+ "shlex",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -333,7 +344,7 @@ dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -357,16 +368,6 @@ dependencies = [
+ "unicode-segmentation",
+ ]
+
+-[[package]]
+-name = "core-foundation"
+-version = "0.9.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+-dependencies = [
+- "core-foundation-sys",
+- "libc",
+-]
+-
+ [[package]]
+ name = "core-foundation-sys"
+ version = "0.8.4"
+@@ -548,7 +549,7 @@ checksum = "f282cfdfe92516eb26c2af8589c274c7c17681f5ecc03c18255fe741c6aa64eb"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -640,21 +641,6 @@ version = "1.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+-[[package]]
+-name = "foreign-types"
+-version = "0.3.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+-dependencies = [
+- "foreign-types-shared",
+-]
+-
+-[[package]]
+-name = "foreign-types-shared"
+-version = "0.1.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+-
+ [[package]]
+ name = "form_urlencoded"
+ version = "1.2.1"
+@@ -722,7 +708,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -994,9 +980,9 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
+ [[package]]
+ name = "libsqlite3-sys"
+-version = "0.26.0"
++version = "0.27.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "afc22eff61b133b115c6e8c74e818c628d6d5e7a502afea6f64dee076dd94326"
++checksum = "cf4e226dcd58b4be396f7bd3c20da8fdee2911400705297ba7d2d7cc2c30f716"
+ dependencies = [
+ "cc",
+ "pkg-config",
+@@ -1076,21 +1062,14 @@ dependencies = [
+ ]
+
+ [[package]]
+-name = "native-tls"
+-version = "0.2.11"
++name = "nix"
++version = "0.27.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
++checksum = "2eb04e9c688eff1c89d72b407f168cf79bb9e867a9d3323ed6c01519eb9cc053"
+ dependencies = [
+- "lazy_static",
++ "bitflags 2.4.0",
++ "cfg-if",
+ "libc",
+- "log",
+- "openssl",
+- "openssl-probe",
+- "openssl-sys",
+- "schannel",
+- "security-framework",
+- "security-framework-sys",
+- "tempfile",
+ ]
+
+ [[package]]
+@@ -1185,50 +1164,6 @@ version = "1.18.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "dd8b5dd2ae5ed71462c540258bedcb51965123ad7e7ccf4b9a8cafaa4a63576d"
+
+-[[package]]
+-name = "openssl"
+-version = "0.10.56"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e"
+-dependencies = [
+- "bitflags 1.3.2",
+- "cfg-if",
+- "foreign-types",
+- "libc",
+- "once_cell",
+- "openssl-macros",
+- "openssl-sys",
+-]
+-
+-[[package]]
+-name = "openssl-macros"
+-version = "0.1.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
+-dependencies = [
+- "proc-macro2",
+- "quote",
+- "syn 2.0.28",
+-]
+-
+-[[package]]
+-name = "openssl-probe"
+-version = "0.1.5"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+-
+-[[package]]
+-name = "openssl-sys"
+-version = "0.9.91"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac"
+-dependencies = [
+- "cc",
+- "libc",
+- "pkg-config",
+- "vcpkg",
+-]
+-
+ [[package]]
+ name = "option-ext"
+ version = "0.2.0"
+@@ -1344,9 +1279,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgmq"
+-version = "0.25.0"
++version = "0.26.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c78e66be0f79f0b4232c5cd704a1c7b5a141c214a6cf35544bf5837a149f3606"
++checksum = "1c0159d414341a3badb16cc9b7282cad40ee8c461d30c1a1a32f3be17d4039d6"
+ dependencies = [
+ "chrono",
+ "log",
+@@ -1361,9 +1296,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgmq-core"
+-version = "0.8.2"
++version = "0.8.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6feb214f7d3489151fc4baef4a565ec31437f280dd7e22eb8a5be6eb282a37a9"
++checksum = "cd282003c4cbcfdf5190e259f940231f91a8b04fbda4588e45d51b7f1bf8177d"
+ dependencies = [
+ "chrono",
+ "log",
+@@ -1377,9 +1312,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx"
+-version = "0.11.2"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cb44171122605250e719ca2ae49afb357bdb2fce4b3c876fcf2225165237328a"
++checksum = "2102faa5ef4a7bf096fefcf67692b293583efd18f9236340ad3169807dfc2b73"
+ dependencies = [
+ "atomic-traits",
+ "bitflags 2.4.0",
+@@ -1402,9 +1337,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-macros"
+-version = "0.11.2"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a18ac8628b7de2f29a93d0abdbdcaee95a0e0ef4b59fd4de99cc117e166e843b"
++checksum = "c26810d09910ec987a6708d48d243efb5f879331e01c6fec0893714d0eb12bae"
+ dependencies = [
+ "pgrx-sql-entity-graph",
+ "proc-macro2",
+@@ -1414,9 +1349,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-pg-config"
+-version = "0.11.2"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "acd45ac6eb1142c5690df63c4e0bdfb74f27c9f93a7af84f064dc2c0a2c2d6f7"
++checksum = "0b0099ba4b635dfe1e34afc8bca8be43e9577c5d726aaf1dc7dd23a78f6c8a60"
+ dependencies = [
+ "cargo_toml",
+ "dirs",
+@@ -1432,9 +1367,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-pg-sys"
+-version = "0.11.2"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "81c6207939582934fc26fceb651cb5338e363c06ddc6b2d50ca71867f7c70ffe"
++checksum = "3f40315259c41fede51eb23b791b48d0a112b0f47d0dcb6862b798d1fa1db6ea"
+ dependencies = [
+ "bindgen",
+ "clang-sys",
+@@ -1456,9 +1391,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-sql-entity-graph"
+-version = "0.11.2"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a50083de83b1fac2484e8f2c2a7da5fed0193904e2578fa6c4ce02262c455c2b"
++checksum = "7d47a4e991c8c66162c5d6b0fc2bd382e43a58fc893ce05a6a15ddcb1bf7eee4"
+ dependencies = [
+ "convert_case",
+ "eyre",
+@@ -1471,9 +1406,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-tests"
+-version = "0.11.2"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6ba0115cd80d9e3ca1d5d2a8ab8b7320d6ed614a53d025b86152696a8b3caa75"
++checksum = "ab3abc01e2bb930b072bd660d04c8eaa69a29d4727d5b2a641f946c603c1605e"
+ dependencies = [
+ "clap-cargo",
+ "eyre",
+@@ -1858,15 +1793,6 @@ dependencies = [
+ "winapi-util",
+ ]
+
+-[[package]]
+-name = "schannel"
+-version = "0.1.22"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0c3733bf4cf7ea0880754e19cb5a462007c4a8c1914bff372ccc95b464f1df88"
+-dependencies = [
+- "windows-sys",
+-]
+-
+ [[package]]
+ name = "scopeguard"
+ version = "1.2.0"
+@@ -1879,29 +1805,6 @@ version = "4.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b"
+
+-[[package]]
+-name = "security-framework"
+-version = "2.9.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de"
+-dependencies = [
+- "bitflags 1.3.2",
+- "core-foundation",
+- "core-foundation-sys",
+- "libc",
+- "security-framework-sys",
+-]
+-
+-[[package]]
+-name = "security-framework-sys"
+-version = "2.9.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a"
+-dependencies = [
+- "core-foundation-sys",
+- "libc",
+-]
+-
+ [[package]]
+ name = "semver"
+ version = "0.11.0"
+@@ -1959,7 +1862,7 @@ checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -2006,9 +1909,9 @@ dependencies = [
+
+ [[package]]
+ name = "shlex"
+-version = "1.2.0"
++version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
++checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+ [[package]]
+ name = "signature"
+@@ -2095,9 +1998,9 @@ dependencies = [
+
+ [[package]]
+ name = "sqlx"
+-version = "0.7.2"
++version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0e50c216e3624ec8e7ecd14c6a6a6370aad6ee5d8cfc3ab30b5162eeeef2ed33"
++checksum = "dba03c279da73694ef99763320dea58b51095dfe87d001b1d4b5fe78ba8763cf"
+ dependencies = [
+ "sqlx-core",
+ "sqlx-macros",
+@@ -2108,9 +2011,9 @@ dependencies = [
+
+ [[package]]
+ name = "sqlx-core"
+-version = "0.7.2"
++version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8d6753e460c998bbd4cd8c6f0ed9a64346fcca0723d6e75e52fdc351c5d2169d"
++checksum = "d84b0a3c3739e220d94b3239fd69fb1f74bc36e16643423bd99de3b43c21bfbd"
+ dependencies = [
+ "ahash",
+ "atoi",
+@@ -2132,7 +2035,6 @@ dependencies = [
+ "indexmap",
+ "log",
+ "memchr",
+- "native-tls",
+ "once_cell",
+ "paste",
+ "percent-encoding",
+@@ -2150,9 +2052,9 @@ dependencies = [
+
+ [[package]]
+ name = "sqlx-macros"
+-version = "0.7.2"
++version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9a793bb3ba331ec8359c1853bd39eed32cdd7baaf22c35ccf5c92a7e8d1189ec"
++checksum = "89961c00dc4d7dffb7aee214964b065072bff69e36ddb9e2c107541f75e4f2a5"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -2163,10 +2065,11 @@ dependencies = [
+
+ [[package]]
+ name = "sqlx-macros-core"
+-version = "0.7.2"
++version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0a4ee1e104e00dedb6aa5ffdd1343107b0a4702e862a84320ee7cc74782d96fc"
++checksum = "d0bd4519486723648186a08785143599760f7cc81c52334a55d6a83ea1e20841"
+ dependencies = [
++ "atomic-write-file",
+ "dotenvy",
+ "either",
+ "heck",
+@@ -2189,9 +2092,9 @@ dependencies = [
+
+ [[package]]
+ name = "sqlx-mysql"
+-version = "0.7.2"
++version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "864b869fdf56263f4c95c45483191ea0af340f9f3e3e7b4d57a61c7c87a970db"
++checksum = "e37195395df71fd068f6e2082247891bc11e3289624bbc776a0cdfa1ca7f1ea4"
+ dependencies = [
+ "atoi",
+ "base64",
+@@ -2232,9 +2135,9 @@ dependencies = [
+
+ [[package]]
+ name = "sqlx-postgres"
+-version = "0.7.2"
++version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "eb7ae0e6a97fb3ba33b23ac2671a5ce6e3cabe003f451abd5a56e7951d975624"
++checksum = "d6ac0ac3b7ccd10cc96c7ab29791a7dd236bd94021f31eec7ba3d46a74aa1c24"
+ dependencies = [
+ "atoi",
+ "base64",
+@@ -2272,9 +2175,9 @@ dependencies = [
+
+ [[package]]
+ name = "sqlx-sqlite"
+-version = "0.7.2"
++version = "0.7.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d59dc83cf45d89c555a577694534fcd1b55c545a816c816ce51f20bbe56a4f3f"
++checksum = "210976b7d948c7ba9fced8ca835b11cbb2d677c59c79de41ac0d397e14547490"
+ dependencies = [
+ "atoi",
+ "chrono",
+@@ -2291,6 +2194,7 @@ dependencies = [
+ "sqlx-core",
+ "tracing",
+ "url",
++ "urlencoding",
+ ]
+
+ [[package]]
+@@ -2328,9 +2232,9 @@ dependencies = [
+
+ [[package]]
+ name = "syn"
+-version = "2.0.28"
++version = "2.0.43"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567"
++checksum = "ee659fb5f3d355364e1f3e5bc10fb82068efbf824a1e9d1c9504244a6469ad53"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -2388,7 +2292,7 @@ checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -2441,7 +2345,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -2550,7 +2454,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ ]
+
+ [[package]]
+@@ -2630,6 +2534,12 @@ dependencies = [
+ "percent-encoding",
+ ]
+
++[[package]]
++name = "urlencoding"
++version = "2.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "daf8dba3b7eb870caf1ddeed7bc9d2a049f3cfdfae7cb521b087cc33ae4c49da"
++
+ [[package]]
+ name = "uuid"
+ version = "1.4.1"
+@@ -2703,7 +2613,7 @@ dependencies = [
+ "once_cell",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ "wasm-bindgen-shared",
+ ]
+
+@@ -2725,7 +2635,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.28",
++ "syn 2.0.43",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+ ]
+@@ -2880,6 +2790,26 @@ dependencies = [
+ "tap",
+ ]
+
++[[package]]
++name = "zerocopy"
++version = "0.7.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
++dependencies = [
++ "zerocopy-derive",
++]
++
++[[package]]
++name = "zerocopy-derive"
++version = "0.7.32"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.43",
++]
++
+ [[package]]
+ name = "zeroize"
+ version = "1.6.0"
+diff --git a/Cargo.toml b/Cargo.toml
+index 8df9cf8..1d13b44 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -19,12 +19,11 @@ pg_test = []
+ anyhow = "1.0.72"
+ chrono = {version = "0.4.26", features = ["serde"] }
+ log = "0.4.19"
+-pgmq = "0.25.0"
+-pgrx = "0.11.2"
++pgmq = "0.26.0"
++pgrx = "0.11.3"
+ serde = "1.0.164"
+ serde_json = "1.0.99"
+-sqlx = { version = "0.7.2", features = [
+- "runtime-tokio-native-tls",
++sqlx = { version = "0.7.3", features = [
+ "postgres",
+ "chrono",
+ "postgres",
+@@ -36,11 +35,11 @@ postgres-types = "0.2.5"
+
+
+ [dev-dependencies]
+-pgrx-tests = "0.11.2"
++pgrx-tests = "0.11.3"
+ rand = "0.8.5"
+ tokio = { version = "1", features = ["macros"] }
+ whoami = "1.4.0"
+-pgmq-core = "0.8.2"
++pgmq-core = "0.8.4"
+
+ [profile.dev]
+ panic = "unwind"
diff --git a/testing/postgresql-pg_partman/APKBUILD b/testing/postgresql-pg_partman/APKBUILD
new file mode 100644
index 00000000000..63099326aae
--- /dev/null
+++ b/testing/postgresql-pg_partman/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=postgresql-pg_partman
+_projname=pg_partman
+pkgver=5.0.0
+pkgrel=0
+pkgdesc="Partition management extension for PostgreSQL"
+url="https://github.com/pgpartman/pg_partman"
+arch="all"
+license="PostgreSQL"
+_depends_scripts="
+ py3-psycopg2
+ python3
+ "
+makedepends="
+ $_depends_scripts
+ postgresql-dev
+ "
+subpackages="
+ $pkgname-scripts:_scripts:noarch
+ $pkgname-bitcode
+ $pkgname-doc
+ "
+source="https://github.com/pgpartman/pg_partman/archive/v$pkgver/$_projname-$pkgver.tar.gz
+ fix-python-shebang.patch
+ "
+builddir="$srcdir/$_projname-$pkgver"
+options="!check" # tests require running PostgreSQL
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+_scripts() {
+ pkgdesc="$pkgdesc - Python scripts"
+ depends="$pkgname=$pkgver-r$pkgrel $_depends_scripts"
+ # Declare it as a "soft dependency", so the user can opt-out from installing.
+ install_if="$pkgname=$pkgver-r$pkgrel"
+
+ amove usr/libexec/postgresql*/*.py
+}
+
+bitcode() {
+ pkgdesc="$pkgdesc (bitcode for JIT)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="postgresql$(pg_config --major-version)-jit $pkgname=$pkgver-r$pkgrel"
+
+ amove usr/lib/postgresql*/bitcode
+}
+
+sha512sums="
+7a1b41732eb063a94cee7a589a252055e3a33ccf0ddfe5cddba22978ffd306cf263312b172355c930d355aea0f5f5530fd2344520791df9cb05a38614c521f9f pg_partman-5.0.0.tar.gz
+e3cdd19267b6fc73173c05b0bcc33038f9c7dc8d53ec348ec2a641de03695c247522a503867cd93a750964c05b4fa17d6dc5f4f21e9673925d0656a90a4afb79 fix-python-shebang.patch
+"
diff --git a/testing/postgresql-pg_partman/fix-python-shebang.patch b/testing/postgresql-pg_partman/fix-python-shebang.patch
new file mode 100644
index 00000000000..5f18ffda57a
--- /dev/null
+++ b/testing/postgresql-pg_partman/fix-python-shebang.patch
@@ -0,0 +1,24 @@
+--- a/bin/common/check_unique_constraint.py
++++ b/bin/common/check_unique_constraint.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+
+ import argparse, collections, psycopg2, sys, tempfile
+
+--- a/bin/common/dump_partition.py
++++ b/bin/common/dump_partition.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+
+ import argparse, hashlib, os, os.path, psycopg2, subprocess, sys
+
+--- a/bin/common/vacuum_maintenance.py
++++ b/bin/common/vacuum_maintenance.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+
+ import argparse, psycopg2, sys
+
diff --git a/testing/postgresql-pg_variables/APKBUILD b/testing/postgresql-pg_variables/APKBUILD
new file mode 100644
index 00000000000..cb9d80d651c
--- /dev/null
+++ b/testing/postgresql-pg_variables/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=postgresql-pg_variables
+pkgver=1.2.4_git20220909
+_gitrev=9f9466c2b9193133446851b1f4b2b5b192d8f0e0
+pkgrel=2
+pkgdesc="Session wide variables for PostgreSQL"
+url="https://github.com/postgrespro/pg_variables"
+arch="all"
+license="PostgreSQL"
+makedepends="postgresql-dev"
+subpackages="$pkgname-bitcode"
+source="https://github.com/postgrespro/pg_variables/archive/$_gitrev/$pkgname-$_gitrev.tar.gz"
+builddir="$srcdir/pg_variables-$_gitrev"
+options="!check" # tests require running PostgreSQL
+
+build() {
+ make USE_PGXS=1
+}
+
+package() {
+ _pgver=$(pg_config --major-version)
+ depends="postgresql$_pgver"
+
+ make USE_PGXS=1 DESTDIR="$pkgdir" install
+}
+
+bitcode() {
+ _pgver=$(pg_config --major-version)
+ pkgdesc="$pkgdesc (bitcode for JIT)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="postgresql$_pgver-jit $pkgname=$pkgver-r$pkgrel"
+
+ amove usr/lib/postgresql*/bitcode
+}
+
+sha512sums="
+277d76665e0be5dffd99cee8290ccf2be72246e7756ae456674633bbbd2ebfe79bf3d5f0a67b69dede460cdfb3fb43c000b6ca472ef5176138877628070e7539 postgresql-pg_variables-9f9466c2b9193133446851b1f4b2b5b192d8f0e0.tar.gz
+"
diff --git a/testing/postgresql-pgmq/APKBUILD b/testing/postgresql-pgmq/APKBUILD
new file mode 100644
index 00000000000..765f12aa8b6
--- /dev/null
+++ b/testing/postgresql-pgmq/APKBUILD
@@ -0,0 +1,68 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=postgresql-pgmq
+pkgver=1.1.1
+pkgrel=0
+pkgdesc="A lightweight message queue, like AWS SQS and RSMQ, but on PostgreSQL"
+url="https://github.com/tembo-io/pgmq"
+arch="all"
+license="PostgreSQL"
+makedepends="
+ cargo
+ chrpath
+ jq
+ openssl-dev
+ postgresql
+ postgresql-dev
+ rustfmt
+ "
+source="https://github.com/tembo-io/pgmq/archive/v$pkgver/postgresql-pgmq-$pkgver.tar.gz
+ bump-pgrx.patch
+ "
+builddir="$srcdir/pgmq-$pkgver"
+# check: tests tries to write to /usr/lib/...
+# net: fetches crates in build phase
+options="!check net"
+
+export PGRX_HOME="$srcdir/.pgrx"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ local pgver="$(pg_config --major-version)"
+
+ # We must install it this way because cargo-pgrx and pgrx dependency
+ # versions in the project must be identical. :(
+ local pgrx_ver; pgrx_ver="$(cargo metadata --locked --format-version 1 \
+ | jq -r '.packages[] | select(.name == "pgrx") | .version')"
+ # Use dev profile to speed-up compilation.
+ cargo install --locked --profile dev --bins --root target/tools "cargo-pgrx@$pgrx_ver"
+
+ export PATH="$PWD/target/tools/bin:$PATH"
+
+ cargo pgrx init --pg$pgver="$(which pg_config)"
+
+ # TODO: Remove after https://github.com/pgcentralfoundation/pgrx/issues/1455 is resolved.
+ [ -n "$RUSTFLAGS" ] && export RUSTFLAGS="$(echo $RUSTFLAGS)" || unset RUSTFLAGS
+ cargo pgrx package --verbose --out-dir="target/release/dist"
+
+ # Remove RPATH.
+ # NOTE: CARGO_PROFILE_RELEASE_RPATH=false doesn't work here.
+ chrpath -d target/release/dist/usr/lib/postgresql*/*.so
+}
+
+package() {
+ depends="postgresql$(pg_config --major-version)"
+
+ mkdir -p "$pkgdir"
+ cp -r target/release/dist/* "$pkgdir"/
+}
+
+sha512sums="
+75e9472f0b5ef3d3b29f0ff04571acae9fa00a1210e49b3cd36710099607f9b4827d34764424f42cbb169351b88bb4d04afba53993e8c8862e83755d1ab1d304 postgresql-pgmq-1.1.1.tar.gz
+ce5161c08645cad6f5ef2623786654e7916eb14190b453affeb10c940aff7b98178a1b4d7ac99b2cff22fe589ced108f3261acc0fe8a9da160f18a7128b20775 bump-pgrx.patch
+"
diff --git a/testing/postgresql-pgmq/bump-pgrx.patch b/testing/postgresql-pgmq/bump-pgrx.patch
new file mode 100644
index 00000000000..8e8cef3627d
--- /dev/null
+++ b/testing/postgresql-pgmq/bump-pgrx.patch
@@ -0,0 +1,168 @@
+Patch-Source: https://github.com/tembo-io/pgmq/pull/188
+--
+From 0d7197eed345259336ff60fde9006533d8534c65 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sat, 27 Jan 2024 23:25:26 +0100
+Subject: [PATCH] Bump pgrx from 0.11.0 to 0.11.3
+
+---
+ Cargo.lock | 62 ++++++++++++++++++++++++++++++++++++++++--------------
+ 1 file changed, 46 insertions(+), 16 deletions(-)
+
+diff --git a/Cargo.lock b/Cargo.lock
+index bc00ead..7839bd4 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -145,9 +145,9 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b"
+
+ [[package]]
+ name = "bindgen"
+-version = "0.68.1"
++version = "0.69.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "726e4313eb6ec35d2730258ad4e15b547ee75d6afaa1361a922e78e59b7d8078"
++checksum = "a4c69fae65a523209d34240b60abe0c42d33d1045d445c0839d8a4894a736e2d"
+ dependencies = [
+ "bitflags 2.4.0",
+ "cexpr",
+@@ -1354,9 +1354,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx"
+-version = "0.11.0"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "bd3c4b36fbe84329b86c83bfd33b9514a50606f00074f47085f99062a7dd8c9c"
++checksum = "2102faa5ef4a7bf096fefcf67692b293583efd18f9236340ad3169807dfc2b73"
+ dependencies = [
+ "atomic-traits",
+ "bitflags 2.4.0",
+@@ -1379,9 +1379,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-macros"
+-version = "0.11.0"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9c6a41e021321a814fac1aa27bd4266208b4507709ecbc28fc99693adfbd0c41"
++checksum = "c26810d09910ec987a6708d48d243efb5f879331e01c6fec0893714d0eb12bae"
+ dependencies = [
+ "pgrx-sql-entity-graph",
+ "proc-macro2",
+@@ -1391,9 +1391,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-pg-config"
+-version = "0.11.0"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "17da1e26800e747d501b8d8bb8aeee4530a07d93a39c3fb2c4229a8feff213b2"
++checksum = "0b0099ba4b635dfe1e34afc8bca8be43e9577c5d726aaf1dc7dd23a78f6c8a60"
+ dependencies = [
+ "cargo_toml",
+ "dirs",
+@@ -1409,11 +1409,12 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-pg-sys"
+-version = "0.11.0"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f9032b517525ec71579cc68e92905b5f5f63e892c094834202313c42f2f1a669"
++checksum = "3f40315259c41fede51eb23b791b48d0a112b0f47d0dcb6862b798d1fa1db6ea"
+ dependencies = [
+ "bindgen",
++ "clang-sys",
+ "eyre",
+ "libc",
+ "memoffset",
+@@ -1427,13 +1428,14 @@ dependencies = [
+ "shlex",
+ "sptr",
+ "syn 1.0.109",
++ "walkdir",
+ ]
+
+ [[package]]
+ name = "pgrx-sql-entity-graph"
+-version = "0.11.0"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2e4a88203974b887bca8bfdea17ab9936411fb7e84957763dc0124df78d07907"
++checksum = "7d47a4e991c8c66162c5d6b0fc2bd382e43a58fc893ce05a6a15ddcb1bf7eee4"
+ dependencies = [
+ "convert_case",
+ "eyre",
+@@ -1446,9 +1448,9 @@ dependencies = [
+
+ [[package]]
+ name = "pgrx-tests"
+-version = "0.11.0"
++version = "0.11.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c80deb4310538e6ef14f4cbb30b56eb24b6d7aae66bfd4e516f153987159e65e"
++checksum = "ab3abc01e2bb930b072bd660d04c8eaa69a29d4727d5b2a641f946c603c1605e"
+ dependencies = [
+ "clap-cargo",
+ "eyre",
+@@ -1832,6 +1834,15 @@ version = "1.0.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "1ad4cc8da4ef723ed60bced201181d83791ad433213d8c24efffda1eec85d741"
+
++[[package]]
++name = "same-file"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
++dependencies = [
++ "winapi-util",
++]
++
+ [[package]]
+ name = "schannel"
+ version = "0.1.22"
+@@ -1980,9 +1991,9 @@ dependencies = [
+
+ [[package]]
+ name = "shlex"
+-version = "1.2.0"
++version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a7cee0529a6d40f580e7a5e6c495c8fbfe21b7b52795ed4bb5e62cdf92bc6380"
++checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
+
+ [[package]]
+ name = "signature"
+@@ -2645,6 +2656,16 @@ dependencies = [
+ "libc",
+ ]
+
++[[package]]
++name = "walkdir"
++version = "2.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee"
++dependencies = [
++ "same-file",
++ "winapi-util",
++]
++
+ [[package]]
+ name = "wasi"
+ version = "0.10.0+wasi-snapshot-preview1"
+@@ -2747,6 +2768,15 @@ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
++[[package]]
++name = "winapi-util"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596"
++dependencies = [
++ "winapi",
++]
++
+ [[package]]
+ name = "winapi-x86_64-pc-windows-gnu"
+ version = "0.4.0"
diff --git a/testing/pounce/APKBUILD b/testing/pounce/APKBUILD
index d83de2b414d..76069dc5e4e 100644
--- a/testing/pounce/APKBUILD
+++ b/testing/pounce/APKBUILD
@@ -1,16 +1,23 @@
+# Contributor: ayushnix <ayush@ayushnix.com>
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=pounce
-pkgver=3.0
-pkgrel=0
+pkgver=3.1
+pkgrel=3
pkgdesc="Multi-client, TLS-only IRC bouncer"
arch="all"
url="https://git.causal.agency/pounce/"
license="GPL-3.0-or-later"
options="!check" # No test suite
makedepends="libretls-dev"
-subpackages="$pkgname-doc"
-source="https://git.causal.agency/pounce/snapshot/pounce-$pkgver.tar.gz"
+install="$pkgname.pre-install"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="https://git.causal.agency/pounce/snapshot/pounce-$pkgver.tar.gz
+ pounce.confd
+ pounce.initd
+ calico.confd
+ calico.initd
+ pounce.pre-install"
build() {
./configure \
@@ -21,8 +28,17 @@ build() {
package() {
make DESTDIR="$pkgdir" install
+ install -Dm644 "$srcdir"/pounce.confd "$pkgdir"/etc/conf.d/pounce
+ install -Dm644 "$srcdir"/calico.confd "$pkgdir"/etc/conf.d/calico
+ install -Dm755 "$srcdir"/pounce.initd "$pkgdir"/etc/init.d/pounce
+ install -Dm755 "$srcdir"/calico.initd "$pkgdir"/etc/init.d/calico
}
sha512sums="
-76fce4820c877202720505a96d45394027d88f9755fe9a96fb69e305699022d61f8dba7db524b0bc5058b5f999bcd02b82904525d3284b34a29ffbe64c1c3bc0 pounce-3.0.tar.gz
+b2c2481e152368080e6ce9b3be2d7920eb4cac630dabb994e31170fb44977e2235c0ff30a7f08e826a329da69371a3ff2dae33831cb93b18655f98fc6569da7d pounce-3.1.tar.gz
+9f265d407b492a8cbc21455382ad0437605a2008a896f22a39c1d7606f437b5cc06b42a25f0115dc4142a1f43012a573a943ae120a124783b8f570967a7ae748 pounce.confd
+c341fd11cb59766f6a41bfdc0ce69d9c771ad26291ccdd6bace5225e2ced092fc9ecf9e1f533fe7901ab3be84edd8356a523c4736beb088325f99f7105ca9ba0 pounce.initd
+388f3a064705eb1e4d978e4e75e43c65342c6e3fdbc872cea0da120ea5d443598a2e5c5b574a17a2214056fdf00b3c3d103212650a958156db263d0c2830408f calico.confd
+9ad4d2b314e7ec33f353636cc57de0d609b472870cf500ddd6e222e458cbc3b93b221cc805df04b51ec41f80576e19c30b296671cea3eeab388af9a8ae6e5c5d calico.initd
+c4082bd08ee0124a10ddce240de62b8ef6e5ae85e939e856af7758ac43ef8edca3fd6e219823d6259848b59589f3db51de6d73735e4d5fcadf8c7be05d49a7bf pounce.pre-install
"
diff --git a/testing/pounce/calico.confd b/testing/pounce/calico.confd
new file mode 100644
index 00000000000..0c25fcfd1c2
--- /dev/null
+++ b/testing/pounce/calico.confd
@@ -0,0 +1,22 @@
+calico_user=pounce
+calico_group=pounce
+
+# the $calico_dir directory should be accessible to the $calico_user and the
+# $pounce_user in the respective pounce config file in /etc/conf.d/
+# the value of this variable should be equal to the value of the 'local-path'
+# configuration option in pounce configuration file(s)
+calico_dir=/run/pounce
+
+# the '-H' argument for calico
+# the hostname on which calico will listen on
+# calico_hostname=hostname.example.org
+
+# the '-P' argument for calico
+# read calico(1) for more details
+# calico_port=
+
+# the '-t' argument for calico
+# read calico(1) for more details
+# calico_timeout=
+
+supervisor=supervise-daemon
diff --git a/testing/pounce/calico.initd b/testing/pounce/calico.initd
new file mode 100644
index 00000000000..c2728cdc7fd
--- /dev/null
+++ b/testing/pounce/calico.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+
+: "${calico_user:=pounce}"
+: "${calico_group:=pounce}"
+: "${calico_hostname:=localhost}"
+: "${calico_dir:=/run/$calico_user}"
+
+name="calico"
+description="dispatch incoming TLS connections to pounce by SNI"
+command=/usr/bin/calico
+command_args="-H $calico_hostname $calico_dir"
+[ -n "$calico_port" ] && command_args="$command_args -P $calico_port"
+[ -n "$calico_timeout" ] && command_args="$command_args -t $calico_timeout"
+command_background=true
+command_user="${calico_user}:${calico_group}"
+pidfile="/run/${RC_SVCNAME}.pid"
+
+depend() {
+ need localmount net
+ use dns
+}
diff --git a/testing/pounce/pounce.confd b/testing/pounce/pounce.confd
new file mode 100644
index 00000000000..cdb61e01ad4
--- /dev/null
+++ b/testing/pounce/pounce.confd
@@ -0,0 +1,13 @@
+pounce_user=pounce
+pounce_group=pounce
+pounce_verbose=true
+
+# specify the location of the configuration file for an IRC network
+# pounce_config="/var/lib/pounce/.config/pounce/libera.conf"
+
+# if an initscript called pounce.libera is symlinked to the pounce initscript,
+# the default log file will be /var/log/pounce.libera.log
+# output_log=/var/log/pounce.log"
+# error_log=/var/log/pounce.log"
+
+supervisor=supervise-daemon
diff --git a/testing/pounce/pounce.initd b/testing/pounce/pounce.initd
new file mode 100644
index 00000000000..ca87a621f82
--- /dev/null
+++ b/testing/pounce/pounce.initd
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+
+description="A multi-client, TLS-only IRC bouncer"
+
+: "${pounce_user:=pounce}"
+: "${pounce_group:=pounce}"
+: "${pounce_verbose:=false}"
+: "${output_log:=/var/log/${RC_SVCNAME}.log}"
+: "${error_log:=/var/log/${RC_SVCNAME}.log}"
+
+instance_name="${RC_SVCNAME#*.}"
+[ "$instance_name" != "pounce" ] \
+ && name="pounce ($instance_name)" \
+ || name="pounce"
+
+command=/usr/bin/pounce
+command_background="true"
+pidfile="/run/${RC_SVCNAME}.pid"
+command_user="${pounce_user}:${pounce_group}"
+
+if yesno "${pounce_verbose}"; then
+ command_args="-v $pounce_config"
+else
+ command_args="$pounce_config"
+fi
+
+depend() {
+ need localmount net
+ use dns
+}
+
+start_pre() {
+ [ -n "$output_log" ] && checkpath -q -f -m 0640 \
+ -o "$command_user" "$output_log"
+
+ [ -n "$error_log" ] && checkpath -q -f -m 0640 \
+ -o "$command_user" "$error_log"
+
+ [ -n "$pounce_config" ] && checkpath -q -f -m 0640 \
+ -o "$command_user" "$pounce_config"
+}
diff --git a/testing/pounce/pounce.pre-install b/testing/pounce/pounce.pre-install
new file mode 100644
index 00000000000..99dfa6c47a4
--- /dev/null
+++ b/testing/pounce/pounce.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+addgroup -S pounce 2> /dev/null
+adduser -S -D -H -h /var/lib/pounce -s /sbin/nologin -G pounce -g 'pounce irc bouncer' pounce 2> /dev/null
+exit 0
diff --git a/testing/powder-toy/APKBUILD b/testing/powder-toy/APKBUILD
index f69a0cd5a1b..5ded4fd3f74 100644
--- a/testing/powder-toy/APKBUILD
+++ b/testing/powder-toy/APKBUILD
@@ -1,22 +1,25 @@
# Contributor: Alex Denes <caskd@redxen.eu>
# Maintainer: Alex Denes <caskd@redxen.eu>
pkgname=powder-toy
-pkgver=96.2.350
+pkgver=97.0.352
pkgrel=0
pkgdesc="Desktop version of the classic falling sand physics sandbox, simulates air pressure, velocity & heat!"
url="http://powdertoy.co.uk/"
-arch="all !riscv64" # textrels
+# riscv64: textrels
+# ppc64le: luajit
+arch="all !ppc64le !riscv64"
license="GPL-3.0-only"
-_feature_http="true"
makedepends="
+ bzip2-dev
+ curl-dev
+ fftw-dev
+ jsoncpp-dev
+ libpng-dev
+ luajit-dev
meson
- cmake
sdl2-dev
- fftw-dev
- bzip2-dev
zlib-dev
"
-[ "$_feature_http" = "true" ] && makedepends="$makedepends curl-dev"
source="
$pkgname-$pkgver.tar.gz::https://github.com/The-Powder-Toy/The-Powder-Toy/archive/refs/tags/v$pkgver.tar.gz
"
@@ -25,11 +28,9 @@ builddir="$srcdir/The-Powder-Toy-$pkgver"
build() {
abuild-meson \
- -Dstatic=system \
- -Dhttp="$_feature_http" \
- -Dlua=none \
- build
- meson compile ${JOBS:+-j ${JOBS}} -C build
+ -Db_lto=true \
+ . build
+ meson compile -v -C build
}
package() {
@@ -38,5 +39,5 @@ package() {
}
sha512sums="
-566def511fc77531ddf202c7660a9f78bd1371f5d361aadbc68c664b2d6425865a30ef611785db22472378905acf47c168a2692f3d79f864534d17a2667ec425 powder-toy-96.2.350.tar.gz
+001905b659efc4b4563f1918a3ae83ccc6f3727b26156a189191573e78548b8b7966b73423cf98f0fc8ddf5e77b32364bddc6566196b7bf7e9f88f2189947ed4 powder-toy-97.0.352.tar.gz
"
diff --git a/testing/power-profiles-daemon/0001-dbus-no-systemd.patch b/testing/power-profiles-daemon/0001-dbus-no-systemd.patch
new file mode 100644
index 00000000000..6e63d4b54f3
--- /dev/null
+++ b/testing/power-profiles-daemon/0001-dbus-no-systemd.patch
@@ -0,0 +1,13 @@
+diff --git a/data/power-profiles-daemon.dbus.service.in b/data/power-profiles-daemon.dbus.service.in
+index 5baefa1..9d0043d 100644
+--- a/data/power-profiles-daemon.dbus.service.in
++++ b/data/power-profiles-daemon.dbus.service.in
+@@ -6,6 +6,6 @@
+
+ [D-BUS Service]
+ Name=@dbus_name@
+-Exec=/bin/false
++Exec=/usr/libexec/power-profiles-daemon
+ User=root
+ SystemdService=power-profiles-daemon.service
+
diff --git a/testing/power-profiles-daemon/APKBUILD b/testing/power-profiles-daemon/APKBUILD
new file mode 100644
index 00000000000..88a2a6f4a7b
--- /dev/null
+++ b/testing/power-profiles-daemon/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Cedric Bellegarde <cedric.bellegarde@adishatz.org>
+pkgname=power-profiles-daemon
+pkgver=0.20
+pkgrel=1
+pkgdesc="Makes power profiles handling available over D-Bus"
+url="https://gitlab.freedesktop.org/upower/power-profiles-daemon"
+arch="all"
+license="GPL-3.0-or-later"
+depends="
+ glib
+ py3-gobject3
+ "
+makedepends="
+ glib-dev
+ libgudev-dev
+ meson
+ polkit-dev
+ upower-dev
+ "
+checkdepends="
+ py3-dbusmock
+ umockdev
+ "
+source="https://gitlab.freedesktop.org/upower/power-profiles-daemon/-/archive/$pkgver/power-profiles-daemon-$pkgver.tar.gz
+ 0001-dbus-no-systemd.patch
+ "
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ -Dsystemdsystemunitdir="" \
+ -Dtests="$(want_check && echo true || echo false)" \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+b3e7f91aa68feec3c38b32b301401a9c9afe46badaf83e59cc73fe5d2aa5ea87a66d4584977b1f0de94b0283381183a6b755096be2156169c6b4a09149295d68 power-profiles-daemon-0.20.tar.gz
+62dcec5d54b9014d16ec74448782beee656d4736c24e69c6a2111c92f895ee6869311e4f7e72a679226485374db14274d6e2ad54e62103b29c3301d6840d8891 0001-dbus-no-systemd.patch
+"
diff --git a/testing/powerctl/APKBUILD b/testing/powerctl/APKBUILD
new file mode 100644
index 00000000000..2a27e9aa7db
--- /dev/null
+++ b/testing/powerctl/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Pedro Lucas Porcellis <porcellis@eletrotupi.com>
+pkgname=powerctl
+pkgver=1.1
+pkgrel=5
+pkgdesc="CLI tool to manage Linux power management states"
+url="https://sr.ht/~sircmpwn/powerctl/"
+arch="x86_64 aarch64 riscv64" # Hare
+license="GPL-3.0-only"
+makedepends="hare scdoc"
+subpackages="$pkgname-doc"
+source="
+ $pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/powerctl/archive/$pkgver.tar.gz
+ new-hare-strings.patch
+ getopts-fs-flags.patch
+"
+install="$pkgname.post-install"
+# Hare does not support PIE
+options="$options !check suid"
+
+build() {
+ make -j1 PREFIX=/usr
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+02fec6e8bab802cbb7436cb1ea378cba2ddf84ac1dc129f10ccb5ccad91f5d44d56373871ff14b23cc81eddf22abfdc2f92c87baece94fbba7aaf91f1654dc1a powerctl-1.1.tar.gz
+123c185190a1b8cd96d4d4edb6d3e5101f4884cbf2f83fc00bc3218bccc101733c1068e77579c942f5acb3e5573071257b76d38b1594d066def3c1c2febb9b2d new-hare-strings.patch
+db6c2331256aca10908cc43cc08f17ca45c3a6f4966315a95ba99652ff09d8d62f632312e8c3b985fd95eb96509efbce45e89fe10a8f9f279bde509c4d9bc31d getopts-fs-flags.patch
+"
diff --git a/testing/powerctl/getopts-fs-flags.patch b/testing/powerctl/getopts-fs-flags.patch
new file mode 100644
index 00000000000..847c39314cd
--- /dev/null
+++ b/testing/powerctl/getopts-fs-flags.patch
@@ -0,0 +1,79 @@
+From: Pedro Lucas Porcellis <porcellis@eletrotupi.com>
+Subject: [PATCH] Fix getopts and fs::flag to match latest Hare changes
+Date: Fri, 15 Sep 2023 15:36:19 -0300
+MIME-Version: 1.0
+Content-Transfer-Encoding: 8bit
+
+---
+It would be nice if you could release a new version containing
+these fixes, so I could package downstream.
+
+ main.ha | 10 +++++-----
+ sysfs.ha | 2 +-
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/main.ha b/main.ha
+index 9e80e9a..0a59752 100644
+--- a/main.ha
++++ b/main.ha
+@@ -44,7 +44,7 @@ export fn main() void = {
+
+ if (op == operation::QUERY) {
+ if (len(cmd.args) != 0) {
+- getopt::printhelp(os::stderr, "powerctl", help...);
++ getopt::printhelp(os::stderr, "powerctl", help...)!;
+ os::exit(1);
+ };
+
+@@ -64,7 +64,7 @@ export fn main() void = {
+ };
+
+ if (len(cmd.args) != 1) {
+- getopt::printhelp(os::stderr, "powerctl", help...);
++ getopt::printhelp(os::stderr, "powerctl", help...)!;
+ os::exit(1);
+ };
+
+@@ -76,7 +76,7 @@ export fn main() void = {
+ case let state: disk_state =>
+ yield state;
+ case errors::invalid =>
+- getopt::printhelp(os::stderr, "powerctl", help...);
++ getopt::printhelp(os::stderr, "powerctl", help...)!;
+ os::exit(1);
+ };
+ const result = set_disk_state(state);
+@@ -95,7 +95,7 @@ export fn main() void = {
+ case let state: mem_state =>
+ yield state;
+ case errors::invalid =>
+- getopt::printhelp(os::stderr, "powerctl", help...);
++ getopt::printhelp(os::stderr, "powerctl", help...)!;
+ os::exit(1);
+ };
+ const result = set_mem_state(state);
+@@ -105,7 +105,7 @@ export fn main() void = {
+ case let state: sleep_state =>
+ yield state;
+ case errors::invalid =>
+- getopt::printhelp(os::stderr, "powerctl", help...);
++ getopt::printhelp(os::stderr, "powerctl", help...)!;
+ os::exit(1);
+ };
+ const result = set_sleep_state(state);
+diff --git a/sysfs.ha b/sysfs.ha
+index 3473086..df7f373 100644
+--- a/sysfs.ha
++++ b/sysfs.ha
+@@ -46,7 +46,7 @@ fn read_states(path: str) (strings::tokenizer | fs::error | io::error) = {
+ };
+
+ fn write_sysfs_file(path: str, content: str) (void | fs::error | io::error) = {
+- const file = os::open(path, fs::flags::WRONLY | fs::flags::TRUNC)?;
++ const file = os::open(path, fs::flag::WRONLY | fs::flag::TRUNC)?;
+ defer io::close(file)!;
+ io::write(file, strings::toutf8(content))?;
+ };
+--
+2.42.0
+
diff --git a/testing/powerctl/new-hare-strings.patch b/testing/powerctl/new-hare-strings.patch
new file mode 100644
index 00000000000..9fdcb4dd919
--- /dev/null
+++ b/testing/powerctl/new-hare-strings.patch
@@ -0,0 +1,37 @@
+Patch-Source: https://git.sr.ht/~sircmpwn/powerctl/commit/1c30fc759f5999718e810e69e7d05658030c1373
+--
+From 1c30fc759f5999718e810e69e7d05658030c1373 Mon Sep 17 00:00:00 2001
+From: Carlos Une <une@fastmail.fm>
+Date: Sun, 16 Oct 2022 00:12:02 -0300
+Subject: [PATCH] Fix build with Hare ^HEAD
+
+Signed-off-by: Carlos Une <une@fastmail.fm>
+---
+ sysfs.ha | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/sysfs.ha b/sysfs.ha
+index 5cf9591..3473086 100644
+--- a/sysfs.ha
++++ b/sysfs.ha
+@@ -41,7 +41,7 @@ fn read_states(path: str) (strings::tokenizer | fs::error | io::error) = {
+ case =>
+ abort("Unexpected EOF from sysfs");
+ };
+- const string = strings::rtrim(strings::fromutf8(buf[..z]), '\n');
++ const string = strings::rtrim(strings::fromutf8(buf[..z])!, '\n');
+ return strings::tokenize(string, " ");
+ };
+
+@@ -255,7 +255,7 @@ fn read_image_size() (size | fs::error | io::error) = {
+ abort("Unexpected EOF from /sys/power/image_size");
+ };
+
+- const val = strings::rtrim(strings::fromutf8(buf[..z]), '\n');
++ const val = strings::rtrim(strings::fromutf8(buf[..z])!, '\n');
+ match (strconv::stoz(val)) {
+ case let z: size =>
+ return z;
+--
+2.38.4
+
diff --git a/testing/powerctl/powerctl.post-install b/testing/powerctl/powerctl.post-install
new file mode 100644
index 00000000000..81f75c5d6a8
--- /dev/null
+++ b/testing/powerctl/powerctl.post-install
@@ -0,0 +1,2 @@
+#!/bin/sh
+addgroup -S power || true
diff --git a/testing/powermanga/APKBUILD b/testing/powermanga/APKBUILD
deleted file mode 100644
index 7fc39d9f9cc..00000000000
--- a/testing/powermanga/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=powermanga
-pkgver=0.93.1
-pkgrel=0
-pkgdesc="arcade 2D shoot-them-up game"
-url="http://linux.tlk.fr/games/Powermanga"
-arch="all !x86" # Does not build.
-license="GPL-3.0-only"
-depends="libmikmod"
-makedepends="autoconf automake libpng-dev libtool sdl_mixer-dev"
-subpackages="$pkgname-doc"
-source="http://linux.tlk.fr/games/Powermanga/download/powermanga-$pkgver.tgz"
-options="suid" # For game save files.
-
-prepare() {
- default_prepare
- autoreconf -vif
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- mv "$pkgdir"/usr/games "$pkgdir"/usr/bin
-
- install -Dm644 images_for_menu_entry/powermanga_48x48.png "$pkgdir"/usr/share/pixmaps/$pkgname.png
- install -Dm644 $pkgname.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
-}
-
-sha512sums="852c0b4550db6c9e4ecd380077d390327f6649b6e8ab4cad246f23e7335e8622008f9fc753e2f474bf9cf7a5654b071e3f117f6a2b5be72ea53709912f4a0f41 powermanga-0.93.1.tgz"
diff --git a/testing/powerstat/APKBUILD b/testing/powerstat/APKBUILD
index 57b0b2dbf9a..a8c4e6d4bbc 100644
--- a/testing/powerstat/APKBUILD
+++ b/testing/powerstat/APKBUILD
@@ -1,17 +1,15 @@
# Contributor: Niklas Cathor <niklas.cathor@gmx.de>
# Maintainer: Niklas Cathor <niklas.cathor@gmx.de>
pkgname=powerstat
-pkgver=0.02.25
+pkgver=0.04.01
pkgrel=0
-pkgdesc="tool to measure power consumption"
-url="https://kernel.ubuntu.com/~cking/powerstat/"
+pkgdesc="Measures power consumption via ACPI battery data"
+url="https://github.com/ColinIanKing/powerstat"
arch="all"
license="GPL-2.0-only"
depends="linux-headers"
subpackages="$pkgname-doc $pkgname-bash-completion"
-source="
- $pkgname-$pkgver.tar.gz::https://kernel.ubuntu.com/~cking/tarballs/powerstat/powerstat-$pkgver.tar.gz
-"
+source="https://github.com/ColinIanKing/powerstat/archive/V$pkgver/powerstat-$pkgver.tar.gz"
options="!check" # no tests
build() {
@@ -21,4 +19,7 @@ build() {
package() {
make install DESTDIR="$pkgdir"
}
-sha512sums="2ef2e47ee09552960f529b8c0c4c7ef30bf9e0f391da8aa08ac35944df9090f02f9f3842c87111ec800f510a659e0e970936f5dee5b1079eb14b81fd8c29e7db powerstat-0.02.25.tar.gz"
+
+sha512sums="
+83d6381fc311968466a02bf578c279e48796bf53120c2583dfcbed2f3ee3deef21771a1d0ecfcc6774b7cc068a9657d624bc5f23ba2eaf7dbfd539b1c60cf201 powerstat-0.04.01.tar.gz
+"
diff --git a/testing/powersupply/APKBUILD b/testing/powersupply/APKBUILD
new file mode 100644
index 00000000000..0707d54f41b
--- /dev/null
+++ b/testing/powersupply/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+pkgname=powersupply
+pkgver=0.9.0
+pkgrel=0
+pkgdesc="GTK3 app to display power status of phones"
+url="https://gitlab.com/MartijnBraam/powersupply"
+arch="noarch"
+license="MIT"
+source="https://gitlab.com/MartijnBraam/powersupply/-/archive/$pkgver/powersupply-$pkgver.tar.gz"
+depends="
+ gtk+3.0
+ libhandy1
+ py3-gobject3
+ python3
+ "
+makedepends="
+ libhandy1-dev
+ meson
+ "
+options="!check" # There's no testsuite
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+0fc4d71a8d3be0208b6a9e08472bf154ab1ef7d832f7e4ffb093ad20744f2cf1fcdf06c26a627618867839d67480d21254df216229fc8eca65845b415bac85ec powersupply-0.9.0.tar.gz
+"
diff --git a/testing/ppl/APKBUILD b/testing/ppl/APKBUILD
new file mode 100644
index 00000000000..ad6ea7c4a1f
--- /dev/null
+++ b/testing/ppl/APKBUILD
@@ -0,0 +1,57 @@
+# Maintainer: Cormac Stephenson <c7s@kasku.net>
+pkgname=ppl
+pkgver=1.2
+pkgrel=1
+pkgdesc="Parma Polyhedra Library"
+url="https://www.bugseng.com/ppl"
+# ppc64le: fails tests
+arch="all !ppc64le"
+license="GPL-3.0-or-later"
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ libppl
+ libppl_c
+ "
+makedepends="gmp-dev m4"
+source="https://bugseng.com/products/ppl/download/ftp/releases/$pkgver/ppl-$pkgver.tar.xz
+ gcc13.patch
+ "
+
+build() {
+ CFLAGS="$CFLAGS -O2" \
+ CXXFLAGS="$CXXFLAGS -O2" \
+ ./configure \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --disable-static \
+ --enable-interfaces="c,cxx"
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+libppl() {
+ amove usr/lib/libppl.so.*
+}
+
+libppl_c() {
+ amove usr/lib/libppl_c.so.*
+}
+
+doc() {
+ default_doc
+ license="GFDL-1.2-only"
+}
+
+sha512sums="
+b509ed85fa6aedd40119bd4c980b17f33072c56c2acd923da3445b6bc80d48051cfa4c04cce96f6974711f5279c24b31cb3869f87b2eb6a2a1b30a058c809350 ppl-1.2.tar.xz
+e9ca1b4217257c58e7a23055ffbd683ff5572112f551fedf6f81104469aedb67198c5fe03fe50f01ec9a30d737effe07e034c46282677fd824c02fb3b88c4206 gcc13.patch
+"
diff --git a/testing/ppl/gcc13.patch b/testing/ppl/gcc13.patch
new file mode 100644
index 00000000000..6309124477d
--- /dev/null
+++ b/testing/ppl/gcc13.patch
@@ -0,0 +1,12 @@
+diff --git a/src/ppl-config.cc.in b/src/ppl-config.cc.in
+index ffaf352..954a5fe 100644
+--- a/src/ppl-config.cc.in
++++ b/src/ppl-config.cc.in
+@@ -33,6 +33,7 @@ namespace PPL = Parma_Polyhedra_Library;
+ #error "PPL version 0.8 or following is required"
+ #endif
+
++#include <cassert>
+ #include <cstdarg>
+ #include <cstring>
+ #include <cctype>
diff --git a/testing/ppsspp/APKBUILD b/testing/ppsspp/APKBUILD
deleted file mode 100644
index 04f19f6d622..00000000000
--- a/testing/ppsspp/APKBUILD
+++ /dev/null
@@ -1,76 +0,0 @@
-# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
-# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
-pkgname=ppsspp
-pkgver=1.11
-pkgrel=0
-pkgdesc="PPSSPP - a fast and portable PSP emulator"
-url="https://www.ppsspp.org/"
-arch="x86_64 x86"
-_armips_commit="7885552b208493a6a0f21663770c446c3ba65576"
-_discord_commit="3d3ae7129d17643bc706da0a2eea85aafd10ab3a"
-_glslang_commit="d0850f875ec392a130ccf00018dab458b546f27c"
-_spirv_cross_commit="a1f7c8dc8ea2f94443951ee27003bffa562c1f13"
-_rapidjson_commit="73063f5002612c6bf64fe24f851cd5cc0d83eef9"
-_lang_commit="567b22525b115751ee3ae2ed2c8b046034c9dd8d"
-_miniupnp_commit="7e229ddd635933239583ab190d9b614bde018157"
-license="GPL-2.0-only"
-makedepends="make glew-dev libzip-dev snappy-dev mesa-dev qt5-qtbase-dev
- zlib-dev sdl2-dev cmake coreutils qt5-qtmultimedia-dev ffmpeg-dev python3"
-options="!check" # make check not implemented
-source="ppsspp-$pkgver.tar.gz::https://github.com/hrydgard/ppsspp/archive/v$pkgver.tar.gz
- ppsspp-$pkgver-armips.tar.gz::https://github.com/Kingcom/armips/archive/$_armips_commit.tar.gz
- ppsspp-$pkgver-discord-rpc.tar.gz::https://github.com/discordapp/discord-rpc/archive/$_discord_commit.tar.gz
- ppsspp-$pkgver-glslang.tar.gz::https://github.com/hrydgard/glslang/archive/$_glslang_commit.tar.gz
- ppsspp-$pkgver-SPIRV-Cross.tar.gz::https://github.com/KhronosGroup/SPIRV-Cross/archive/$_spirv_cross_commit.tar.gz
- ppsspp-$pkgver-rapidjson.tar.gz::https://github.com/Tencent/rapidjson/archive/$_rapidjson_commit.tar.gz
- ppsspp-$pkgver-lang.tar.gz::https://github.com/hrydgard/ppsspp-lang/archive/$_lang_commit.tar.gz
- ppsspp-$pkgver-miniupnp.tar.gz::https://github.com/hrydgard/miniupnp/archive/$_miniupnp_commit.tar.gz
- ppsspp.desktop
- ppsspp
- ppsspp-version.patch"
-
-prepare() {
- default_prepare
- # adding submodules needed by ppsspp
- mv "$srcdir/"armips-$_armips_commit/* "$builddir"/ext/armips/
- mv "$srcdir/"discord-rpc-$_discord_commit/* "$builddir"/ext/discord-rpc/
- mv "$srcdir/"glslang-$_glslang_commit/* "$builddir"/ext/glslang/
- mv "$srcdir/"rapidjson-$_rapidjson_commit/* "$builddir"/ext/rapidjson/
- mv "$srcdir/"SPIRV-Cross-$_spirv_cross_commit/* "$builddir"/ext/SPIRV-Cross/
- mv "$srcdir/"miniupnp-$_miniupnp_commit/* "$builddir"/ext/miniupnp/
- mv "$srcdir/"$pkgname-lang-$_lang_commit/* "$builddir"/assets/lang/
-}
-
-build() {
- mkdir build-qt
- cd build-qt
- cmake .. \
- -DUSE_SYSTEM_FFMPEG=ON \
- -DUSING_QT_UI=ON
- make
-}
-
-package() {
- mkdir -p "$pkgdir"/usr/bin
- install -m 755 $srcdir/ppsspp "$pkgdir"/usr/bin/ppsspp
- mkdir -p "$pkgdir"/usr/share/ppsspp
- mv build-qt/assets "$pkgdir"/usr/share/ppsspp
- cp -Rp build-qt/PPSSPPQt "$pkgdir"/usr/share/ppsspp
- mkdir -p "$pkgdir"/usr/share/applications
- install -m 644 $srcdir/ppsspp.desktop "$pkgdir"/usr/share/applications/ppsspp.desktop
- mkdir -p "$pkgdir"/usr/share/pixmaps
- install -m 644 icons/icon-512.svg "$pkgdir"/usr/share/pixmaps/ppsspp.svg
-}
-
-
-sha512sums="de3c7a275151bb29db750a1e76f4c6b44990d85cb948a347acdc2f21013e3e730c1b04d72b4c07a9a21710eb449989da57b276530a0f2403ce4d954e4122b041 ppsspp-1.11.tar.gz
-2a94e2c7b7280c00a39c8fc92d81ed15fc4b3270a124ef882e3cd8878db6ec827aefa06b0e646a60916636a95e4ebfa886e9878ba70c6bcfcd048def457368be ppsspp-1.11-armips.tar.gz
-17fb5de5d5afea9b7e0cdc116d5e3611b147eb2cde3a295a1a4ceb688bceb93d54feb2e479d511ce39d53a1380462a75dcdf6be9ddc2cece9d44b7f8ff7504af ppsspp-1.11-discord-rpc.tar.gz
-153233429ac7ff16b8a530eae28152e55eb90481c9adca5119853fefe76b265b16b922694396d70e8e4511b2da5519c2e1e016bd79617befb90b609cad5a5fc3 ppsspp-1.11-glslang.tar.gz
-b3faff10e2578a27740a013e463750c5244796e651b9586f900a3c97adba060f5e978d47a411f9fb255dd8314e21ea54cccbf90f726d1779448d5dc030f64b65 ppsspp-1.11-SPIRV-Cross.tar.gz
-3472e129e710bf5343b8b27a61581a1480c8096493e466440b62702d8b5353745d561931f72b5405a736ad92525be3843ea1cf4b5ea5839721cc6d6b358f19bc ppsspp-1.11-rapidjson.tar.gz
-4cc8c98f2de35e4585773dba38e39764018fcc64cad00b37976263ac63a003b8fd43bdbab0b820fbfb17fe5c205b9faa2f6d15f043e7d2e932cb72b18b42671c ppsspp-1.11-lang.tar.gz
-99f336d44f2cb53f2f79bd65726ea5209023efe264207255161d3b8a0452082ed1830b70db81d8bf5ebbf40db66ed391eb000306b2af0918dfa171093b2680e7 ppsspp-1.11-miniupnp.tar.gz
-fb8c6c4a48003dac866b094f4d9d750bf7d1def14c9d3bf7a70f584ba187dacd5e57b29313e302740f5a0ec4bf27b6fea3d5cf27ae12bf6fac06f5a8ab23195b ppsspp.desktop
-c22214c15b6e9305f688c25c5997248a6a04c2dc229ea8c2126f0d288be7386134d15fc210e07f70f7eee13b0ab7ff05befd5657de0fc897d947f23c94711cd0 ppsspp
-c610a4576e941d6180c26fa6bf805f4dbf21a38ebf4519a02d6978e702b5efd1a600f636764947c89114d4f7fef05e72261da8ae99b59abe86a2ba11d0bcbc90 ppsspp-version.patch"
diff --git a/testing/ppsspp/ppsspp b/testing/ppsspp/ppsspp
deleted file mode 100755
index f15c033b96e..00000000000
--- a/testing/ppsspp/ppsspp
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-cd /usr/share/ppsspp
-exec ./PPSSPPQt "$@"
diff --git a/testing/ppsspp/ppsspp-version.patch b/testing/ppsspp/ppsspp-version.patch
deleted file mode 100644
index eef4361c68d..00000000000
--- a/testing/ppsspp/ppsspp-version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-I add the current version to ppsspp as the default is unknown
-
---- a/git-version.cmake
-+++ b/git-version.cmake
-@@ -1,5 +1,5 @@
- set(GIT_VERSION_FILE "${SOURCE_DIR}/git-version.cpp")
--set(GIT_VERSION "unknown")
-+set(GIT_VERSION "1.11")
- set(GIT_VERSION_UPDATE "1")
-
- find_package(Git)
diff --git a/testing/ppsspp/ppsspp.desktop b/testing/ppsspp/ppsspp.desktop
deleted file mode 100644
index c3309ed01cc..00000000000
--- a/testing/ppsspp/ppsspp.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Type=Application
-Name=PPSSPP
-GenericName=PSP Emulator
-Comment=PlayStation Portable Simulator Suitable for Playing Portably (PPSSPP)
-Exec=/usr/bin/ppsspp
-Icon=ppsspp.svg
-Type=Application
-Terminal=false
-Categories=Game;Emulator;QT;
diff --git a/testing/pptpclient/APKBUILD b/testing/pptpclient/APKBUILD
index b63e6825ce2..c39b38e2a1f 100644
--- a/testing/pptpclient/APKBUILD
+++ b/testing/pptpclient/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=pptpclient
pkgver=1.10.0
-pkgrel=2
+pkgrel=4
pkgdesc="Client for the proprietary Microsoft Point-to-Point Tunneling Protocol, PPTP."
-url="http://pptpclient.sourceforge.net/"
+url="https://pptpclient.sourceforge.net/"
arch="all"
license="GPL-2.0-or-later"
depends="ppp-daemon iproute2"
diff --git a/testing/pqiv/APKBUILD b/testing/pqiv/APKBUILD
index 7ac12bce168..caeda49a44c 100644
--- a/testing/pqiv/APKBUILD
+++ b/testing/pqiv/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Sascha Paunovic <azarus@posteo.net>
pkgname=pqiv
pkgver=2.12
-pkgrel=0
+pkgrel=1
pkgdesc="powerful image viewer with minimal UI"
url="http://www.pberndt.com/Programme/Linux/pqiv/index.html"
arch="all"
diff --git a/testing/pre-commit/APKBUILD b/testing/pre-commit/APKBUILD
deleted file mode 100644
index a5ea15895b2..00000000000
--- a/testing/pre-commit/APKBUILD
+++ /dev/null
@@ -1,70 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=pre-commit
-pkgver=2.16.0
-pkgrel=1
-pkgdesc="framework for managing and maintaining multi-language pre-commit hooks"
-url="https://pre-commit.com"
-arch="noarch !mips64" # blocked by npm
-license="MIT"
-depends="
- python3
- py3-cfgv
- py3-identify
- py3-nodeenv
- py3-yaml
- py3-toml
- py3-virtualenv
- "
-makedepends="py3-setuptools"
-checkdepends="
- py3-pytest
- py3-pytest-env
- py3-re-assert
- py3-distlib
- ruby
- npm
- git
- "
-options="net"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pre-commit/pre-commit/archive/refs/tags/v$pkgver.tar.gz
- fix-importlib-metadata.patch
- "
-
-prepare() {
- default_prepare
- sed -i "s|%%PKGVER%%|'$pkgver'|g" pre_commit/constants.py
-}
-
-build() {
- python3 setup.py build
-}
-
-check() {
- export PYTHONPATH="."
-
- # setup for some of the integration tests
- git init
- git config user.email "test@alpinelinux.org"
- git config user.name "Alpine Linux"
- export GIT_AUTHOR_NAME="Alpine Linux"
- export GIT_COMMITTER_NAME="Alpine Linux"
- export GIT_AUTHOR_EMAIL="test@alpinelinux.org"
- export GIT_COMMITTER_EMAIL="test@alpinelinux.org"
- export PRE_COMMIT_NO_CONCURRENCY=1
-
- # skip some of the tests since they depend on non-packaged tools
- PYTHONPATH="$PWD"/build/lib pytest -v \
- --ignore tests/repository_test.py \
- --deselect tests/languages/ruby_test.py::test_install_ruby_with_version \
- --deselect tests/commands/install_uninstall_test.py::test_installed_from_venv
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-c9eb14a40e25e8408c2b2b5687eba4908d609bbb7bcf58a0153326696d272bca555156fd75f3ec5f0dec219aeeb4084df77f329f47cf190e40052c11e92fe185 pre-commit-2.16.0.tar.gz
-6c4ef9d9dff0a6b0edbba254d026112a3e269930f145399d29bb48c18a4e1fcca8c7e9125541c1bb9cfc7e5fc8c484c0de4b143f4ab8b29b1098ecc3197602da fix-importlib-metadata.patch
-"
diff --git a/testing/pre-commit/fix-importlib-metadata.patch b/testing/pre-commit/fix-importlib-metadata.patch
deleted file mode 100644
index 14af5c3a3b6..00000000000
--- a/testing/pre-commit/fix-importlib-metadata.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git i/pre_commit/constants.py w/pre_commit/constants.py
-index d2f9363..694384f 100644
---- i/pre_commit/constants.py
-+++ w/pre_commit/constants.py
-@@ -1,10 +1,5 @@
- import sys
-
--if sys.version_info >= (3, 8): # pragma: >=3.8 cover
-- import importlib.metadata as importlib_metadata
--else: # pragma: <3.8 cover
-- import importlib_metadata
--
- CONFIG_FILE = '.pre-commit-config.yaml'
- MANIFEST_FILE = '.pre-commit-hooks.yaml'
-
-@@ -13,7 +8,7 @@ INSTALLED_STATE_VERSION = '1'
- # Bump when modifying `empty_template`
- LOCAL_REPO_VERSION = '1'
-
--VERSION = importlib_metadata.version('pre_commit')
-+VERSION = %%PKGVER%%
-
- # `manual` is not invoked by any installed git hook. See #719
- STAGES = (
diff --git a/testing/premake/0001-Change-Test-FindLibrary-to-libc.patch b/testing/premake/0001-Change-Test-FindLibrary-to-libc.patch
deleted file mode 100644
index f6584880c54..00000000000
--- a/testing/premake/0001-Change-Test-FindLibrary-to-libc.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7bb635ffcb0fcff4e61f2ae7fc2b1aa6a699b52f Mon Sep 17 00:00:00 2001
-From: Ralf Rachinger <ralfrachinger@gmail.com>
-Date: Tue, 10 Aug 2021 02:09:47 +0200
-Subject: [PATCH 2/2] Change Test FindLibrary to libc
-
----
- tests/base/test_os.lua | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/base/test_os.lua b/tests/base/test_os.lua
-index 62315dea..23c5b966 100644
---- a/tests/base/test_os.lua
-+++ b/tests/base/test_os.lua
-@@ -28,7 +28,7 @@
- elseif os.istarget("haiku") then
- test.istrue(os.findlib("root"))
- else
-- test.istrue(os.findlib("m"))
-+ test.istrue(os.findlib("libc"))
- end
- end
-
---
-2.32.0
-
diff --git a/testing/premake/APKBUILD b/testing/premake/APKBUILD
deleted file mode 100644
index 3348ac5d814..00000000000
--- a/testing/premake/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Ralf Rachinger <ralfrachinger@gmail.com>
-# Maintainer: Ralf Rachinger <ralfrachinger@gmail.com>
-# *Inspired* by https://github.com/archlinux/svntogit-community/blob/794c98925b4cc2684d067b7142710ae84bd80d21/trunk/PKGBUILD
-pkgname=premake
-pkgver=5.0.0_alpha16
-_ver=5.0.0-alpha16
-pkgrel=0
-pkgdesc="Simple build configuration and project generation tool"
-url="https://premake.github.io"
-arch="all"
-license="BSD-3-Clause"
-source="
- https://github.com/premake/premake-core/releases/download/v$_ver/premake-$_ver-src.zip
- 0001-Change-Test-FindLibrary-to-libc.patch
-"
-builddir="$srcdir/premake-$_ver-src"
-
-
-build() {
- make -C "$builddir/build/gmake2.unix" config=release
-}
-
-check() {
- bin/release/premake5 test
-}
-
-package() {
- install -Dm755 bin/release/premake5 "$pkgdir"/usr/bin/premake5
- install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname"/LICENSE
-}
-
-sha512sums="
-2b869da4eb0487405289e2274fc8feefa02fb543559e43f2c2c9e869f701a40d78cfc135f679fa00554f2993a5511c8d740a8fe5576914ba8dc8636b75736b5c premake-5.0.0-alpha16-src.zip
-7b5e7f51b1f927532b8ef655d82954b357ac992644c6abb90d44dad33a60242f49cd7482bf521c16c1b7cc6df96fd35d65c3c2dc041984683b7dc79062e9674d 0001-Change-Test-FindLibrary-to-libc.patch
-"
diff --git a/testing/prettier/APKBUILD b/testing/prettier/APKBUILD
index cdb4af9d7be..8956f59cd91 100644
--- a/testing/prettier/APKBUILD
+++ b/testing/prettier/APKBUILD
@@ -1,21 +1,19 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=prettier
-pkgver=2.5.1
+pkgver=3.2.5
pkgrel=0
pkgdesc="Opinionated code formatter"
url="https://prettier.io/"
license="MIT"
-# riscv64: blocked by nodejs
-# armhf, armv7, x86: fails to build on 32-bit arches
-arch="noarch !armhf !armv7 !riscv64 !x86"
+# armhf, armv7, x86, riscv64: fails to build
+# s390x: hangs at yarn "fetch step"
+arch="noarch !armhf !armv7 !x86 !riscv64 !s390x"
depends="nodejs"
makedepends="yarn"
checkdepends="npm"
subpackages="$pkgname-doc"
-source="https://github.com/prettier/prettier/archive/$pkgver/prettier-$pkgver.tar.gz
- timeout.patch
- "
+source="https://github.com/prettier/prettier/archive/$pkgver/prettier-$pkgver.tar.gz"
build() {
yarn install --frozen-lockfile
@@ -35,15 +33,13 @@ package() {
"$pkgdir"/usr/share/licenses/prettier
cp -r dist/* "$pkgdir"/$destdir
- ln -s $destdir/bin-prettier.js "$pkgdir"/usr/bin/prettier
+ ln -s $destdir/bin/prettier.cjs "$pkgdir"/usr/bin/prettier
cd "$pkgdir"/$destdir
- rm -r esm # remove ES modules: not needed for command-line usage
rm README.md # more links to various badges than actual content
mv LICENSE "$pkgdir"/usr/share/licenses/prettier/LICENSE
}
sha512sums="
-a50182f6654733c284671251d8d0beafdd8832710e56186600854857f8bb1ef7e02ea7d93b4ea8de84dedade8f332be2468565fb10e2a1b50ea7aa0e5d112fe9 prettier-2.5.1.tar.gz
-06968fc076d2cd68360601c84c49b82a1f872a1b54d5ec9738de7ac63793f96cd609817bbb0a0f1902b7ba004232d1276b3577557dc60dd2a7d71fad5e440099 timeout.patch
+b74a06131f5d531096180224ccece2eed2c3eef79cc51c9c826325775c82c4c2aa9082b14e07beffcfda7fcb6213f3058c2c543be8a82af4b3ed298189e9399c prettier-3.2.5.tar.gz
"
diff --git a/testing/prettier/timeout.patch b/testing/prettier/timeout.patch
deleted file mode 100644
index 028775bd9e5..00000000000
--- a/testing/prettier/timeout.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-increase default timeout to prevent test failures
-
---- a/tests/config/setup.js
-+++ b/tests/config/setup.js
-@@ -5,3 +5,6 @@ Object.defineProperty(global, "run_spec", {
- return require("./format-test.js");
- },
- });
-+
-+// increase default timeout of 5000 ms
-+jest.setTimeout(30000);
diff --git a/testing/primecount/APKBUILD b/testing/primecount/APKBUILD
new file mode 100644
index 00000000000..128c1c30c9c
--- /dev/null
+++ b/testing/primecount/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=primecount
+pkgver=7.11
+pkgrel=0
+pkgdesc="Fast prime counting C/C++ library"
+url="https://github.com/kimwalisch/primecount"
+arch="all !aarch64 !s390x" # iroot test failed
+license="BSD-2-Clause"
+makedepends="
+ cmake
+ samurai
+ primesieve-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kimwalisch/primecount/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DBUILD_SHARED_LIBS=ON \
+ -DBUILD_TESTS=ON \
+ -DBUILD_LIBPRIMESIEVE=OFF \
+ -DWITH_POPCNT=OFF
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+2e58bc7214b0ff506086ab36b8840fbcd2a1f27e61dc134787bb5ce084d3f81e2c5190f69b47ad8ee970bb364fdc30354826b70db6c418f533d0bd521515717c primecount-7.11.tar.gz
+"
diff --git a/testing/primesieve/APKBUILD b/testing/primesieve/APKBUILD
index a06c079090e..432dc9255d6 100644
--- a/testing/primesieve/APKBUILD
+++ b/testing/primesieve/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Curt Tilmes <Curt.Tilmes@nasa.gov>
# Maintainer: Curt Tilmes <Curt.Tilmes@nasa.gov>
pkgname=primesieve
-pkgver=7.7
+pkgver=12.1
pkgrel=0
pkgdesc="Program and library for generating prime numbers"
url="http://primesieve.org"
arch="all"
license="BSD-2-Clause"
-makedepends="cmake"
-subpackages="$pkgname-dev $pkgname-doc"
-source="primesieve-$pkgver.tar.gz::https://github.com/kimwalisch/primesieve/archive/v$pkgver.tar.gz"
+makedepends="cmake samurai"
+subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kimwalisch/primesieve/archive/v$pkgver.tar.gz"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DBUILD_TESTS=ON
cmake --build build
}
@@ -30,5 +30,5 @@ package() {
}
sha512sums="
-bbcc141a12afdf54386d2408e067b1c6af2dd9b5c9f44d71290269ddefc7c46ba6794064cde6728c8356724553cb6bc2e765bf18c24a18b6d5d1f472d2c6e6dd primesieve-7.7.tar.gz
+8a78b0db6750a2f00b78aa2e525d3061f2e287514469c14b3e2232874cc120242272ebc33070b91d74ce7fc98273bf08a192b38cf5078c8c9f95981a1187a1b3 primesieve-12.1.tar.gz
"
diff --git a/testing/prjtrellis-db/APKBUILD b/testing/prjtrellis-db/APKBUILD
new file mode 100644
index 00000000000..eb2f7b2c816
--- /dev/null
+++ b/testing/prjtrellis-db/APKBUILD
@@ -0,0 +1,66 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=prjtrellis-db
+pkgver=0_git20230929
+_commit=4dda149b9e4f1753ebc8b011ece2fe794be1281a
+pkgrel=0
+pkgdesc="Project Trellis database"
+url="https://github.com/YosysHQ/prjtrellis-db"
+arch="noarch"
+license="CC0-1.0"
+source="
+ $pkgname-$_commit.tar.gz::https://github.com/YosysHQ/prjtrellis-db/archive/$_commit.tar.gz
+ "
+subpackages="
+ $pkgname-ecp5
+ $pkgname-machxo
+ $pkgname-machxo2
+ $pkgname-machxo3
+ $pkgname-machxo3d
+ "
+options="!check" # no unit tests provided
+builddir="$srcdir/prjtrellis-db-$_commit"
+
+package() {
+ local _destdir="$pkgdir"/usr/share/trellis/database
+ install -dm 755 "$_destdir"
+ cp -r \
+ devices.json \
+ ECP5 \
+ MachXO \
+ MachXO2 \
+ MachXO3 \
+ MachXO3D \
+ "$_destdir"
+}
+
+_subpkg() {
+ local _platform="$1"
+ pkgdesc="Project Trellis database for $_platform"
+ depends="$pkgname"
+ amove usr/share/trellis/database/"$_platform"
+
+}
+
+ecp5() {
+ _subpkg ECP5
+}
+
+machxo() {
+ _subpkg MachXO
+}
+
+machxo2() {
+ _subpkg MachXO2
+}
+
+machxo3() {
+ _subpkg MachXO3
+}
+
+machxo3d() {
+ _subpkg MachXO3D
+}
+
+sha512sums="
+e2e6d37ad93c082f97033288299c045138aebe3bb0ab0169545c0a7ee64a8b408007475ebb94b756378b1e51c3621c89f94b857d2bb9eec0d77bfea5ac7ebe4c prjtrellis-db-4dda149b9e4f1753ebc8b011ece2fe794be1281a.tar.gz
+"
diff --git a/testing/prjtrellis/0001-library-install-path.patch b/testing/prjtrellis/0001-library-install-path.patch
new file mode 100644
index 00000000000..47df3d1305c
--- /dev/null
+++ b/testing/prjtrellis/0001-library-install-path.patch
@@ -0,0 +1,86 @@
+Install libraries to /usr/lib, not to /usr/lib/trellis/.
+
+This fixes tracing dependencies:
+
+ >>> prjtrellis*: Tracing dependencies...
+ >>> ERROR: prjtrellis*: libtrellis.so: path not found
+ so:libboost_filesystem.so.1.82.0
+ so:libboost_program_options.so.1.82.0
+ so:libboost_thread.so.1.82.0
+ so:libc.musl-x86_64.so.1
+ so:libgcc_s.so.1
+ so:libpython3.11.so.1.0
+ so:libstdc++.so.6
+
+--- a/libtrellis/CMakeLists.txt 2023-05-08 09:55:05.000000000 +0200
++++ b/libtrellis/CMakeLists.txt 2024-01-10 10:31:42.455914809 +0100
+@@ -100,20 +100,6 @@ include(GNUInstallDirs)
+ file(RELATIVE_PATH TRELLIS_RPATH_LIBDIR /${CMAKE_INSTALL_BINDIR} /${CMAKE_INSTALL_LIBDIR})
+ file(RELATIVE_PATH TRELLIS_RPATH_DATADIR /${CMAKE_INSTALL_BINDIR} /${CMAKE_INSTALL_DATADIR})
+
+-function(setup_rpath name)
+- if(APPLE)
+- set_target_properties(${name} PROPERTIES
+- BUILD_WITH_INSTALL_RPATH ON
+- INSTALL_RPATH "@loader_path/${TRELLIS_RPATH_LIBDIR}/${PROGRAM_PREFIX}trellis"
+- INSTALL_NAME_DIR "@rpath")
+- elseif(UNIX)
+- set_target_properties(${name} PROPERTIES
+- BUILD_WITH_INSTALL_RPATH ON
+- INSTALL_RPATH "\$ORIGIN/${TRELLIS_RPATH_LIBDIR}/${PROGRAM_PREFIX}trellis")
+- endif()
+-endfunction()
+-
+-
+ # Avoid perturbing build if git version hasn't changed
+ file(MAKE_DIRECTORY "${CMAKE_BINARY_DIR}/generated")
+ set(LAST_GIT_VERSION "")
+@@ -137,7 +123,6 @@ if (BUILD_ECPBRAM)
+ target_include_directories(${PROGRAM_PREFIX}ecpbram PRIVATE tools)
+ target_compile_definitions(${PROGRAM_PREFIX}ecpbram PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
+ target_link_libraries(${PROGRAM_PREFIX}ecpbram trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
+- setup_rpath(${PROGRAM_PREFIX}ecpbram)
+ if (WASI)
+ set_property(TARGET ${PROGRAM_PREFIX}ecpbram PROPERTY SUFFIX ".wasm")
+ endif()
+@@ -149,7 +134,6 @@ if (BUILD_ECPPACK)
+ target_include_directories(${PROGRAM_PREFIX}ecppack PRIVATE tools)
+ target_compile_definitions(${PROGRAM_PREFIX}ecppack PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
+ target_link_libraries(${PROGRAM_PREFIX}ecppack trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
+- setup_rpath(${PROGRAM_PREFIX}ecppack)
+ if (WASI)
+ set_property(TARGET ${PROGRAM_PREFIX}ecppack PROPERTY SUFFIX ".wasm")
+ endif()
+@@ -161,7 +145,6 @@ if (BUILD_ECPUNPACK)
+ target_include_directories(${PROGRAM_PREFIX}ecpunpack PRIVATE tools)
+ target_compile_definitions(${PROGRAM_PREFIX}ecpunpack PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
+ target_link_libraries(${PROGRAM_PREFIX}ecpunpack trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
+- setup_rpath(${PROGRAM_PREFIX}ecpunpack)
+ if (WASI)
+ set_property(TARGET ${PROGRAM_PREFIX}ecpunpack PROPERTY SUFFIX ".wasm")
+ endif()
+@@ -173,7 +156,6 @@ if (BUILD_ECPPLL)
+ target_include_directories(${PROGRAM_PREFIX}ecppll PRIVATE tools)
+ target_compile_definitions(${PROGRAM_PREFIX}ecppll PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
+ target_link_libraries(${PROGRAM_PREFIX}ecppll trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
+- setup_rpath(${PROGRAM_PREFIX}ecppll)
+ if (WASI)
+ set_property(TARGET ${PROGRAM_PREFIX}ecppll PROPERTY SUFFIX ".wasm")
+ endif()
+@@ -185,7 +167,6 @@ if (BUILD_ECPMULTI)
+ target_include_directories(${PROGRAM_PREFIX}ecpmulti PRIVATE tools)
+ target_compile_definitions(${PROGRAM_PREFIX}ecpmulti PRIVATE TRELLIS_RPATH_DATADIR="${TRELLIS_RPATH_DATADIR}" TRELLIS_PREFIX="${CMAKE_INSTALL_PREFIX}" TRELLIS_PROGRAM_PREFIX="${PROGRAM_PREFIX}")
+ target_link_libraries(${PROGRAM_PREFIX}ecpmulti trellis ${Boost_LIBRARIES} ${CMAKE_DL_LIBS} ${link_param})
+- setup_rpath(${PROGRAM_PREFIX}ecpmulti)
+ if (WASI)
+ set_property(TARGET ${PROGRAM_PREFIX}ecpmulti PROPERTY SUFFIX ".wasm")
+ endif()
+@@ -194,7 +175,7 @@ endif()
+
+
+ if (BUILD_SHARED)
+- install(TARGETS trellis ${PythonInstallTarget} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/${PROGRAM_PREFIX}trellis)
++ install(TARGETS trellis ${PythonInstallTarget} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ endif()
+
+ install(DIRECTORY ../database DESTINATION ${CMAKE_INSTALL_DATADIR}/${PROGRAM_PREFIX}trellis PATTERN ".git" EXCLUDE)
diff --git a/testing/prjtrellis/APKBUILD b/testing/prjtrellis/APKBUILD
new file mode 100644
index 00000000000..d62685cc7d5
--- /dev/null
+++ b/testing/prjtrellis/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=prjtrellis
+pkgver=1.4
+pkgrel=1
+pkgdesc="Documentation of the Lattice ECP5 bit-stream format"
+url="https://github.com/YosysHQ/prjtrellis"
+arch="all"
+license="ISC AND MIT"
+makedepends="
+ cmake
+ ninja
+ python3
+ python3-dev
+ boost-dev
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/YosysHQ/prjtrellis/archive/refs/tags/$pkgver.tar.gz
+
+ 0001-library-install-path.patch
+ "
+options="!check" # no unit tests provided
+
+build() {
+ cmake -B build -G Ninja -S libtrellis \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCURRENT_GIT_VERSION=$pkgver \
+ #
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+3fd8bf533da98f3cdf6a0fe92ee4b2cb5d58fcc568e3365a1927fae392a4aaeec80b1f53e26ccd6c7afd7efb17b749cd8bac6d3ec2d17f9ad2c33da592a213d9 prjtrellis-1.4.tar.gz
+f6cee3e14a05a5ad8845f11ad3b6102cdbacb43b906eaa3f3892b7418193a4652bf3ff1a3ce42496a39adeecea5fe55bf32a470cf7b3a23b653e052b22c68a3f 0001-library-install-path.patch
+"
diff --git a/testing/profanity/APKBUILD b/testing/profanity/APKBUILD
deleted file mode 100644
index ed2e136a532..00000000000
--- a/testing/profanity/APKBUILD
+++ /dev/null
@@ -1,62 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=profanity
-pkgver=0.11.1
-pkgrel=1
-pkgdesc="Ncurses based XMPP client"
-url="https://github.com/profanity-im/profanity"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="
- autoconf
- autoconf-archive
- automake
- libtool
- pkgconf
- libmesode-dev
- ncurses-dev
- glib-dev
- curl-dev
- readline-dev
- libotr-dev
- libsignal-protocol-c-dev
- libgcrypt-dev
- cmocka-dev
- sqlite-dev
-"
-subpackages="$pkgname-doc"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/profanity-im/profanity/archive/$pkgver.tar.gz
- "
-
-prepare() {
- default_prepare
- ./bootstrap.sh
-}
-
-build() {
- # GPG is "suboptimal" for chat, since it doesn't provide forward secrecy, deniability, ...
- # Its usage/support is currently discouraged in XMPP.
- # Users are encouraged to use OTR, or even better, OMEMO.
- ./configure \
- --disable-plugins \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --enable-pgp=no
- make
-}
-
-check() {
- LANG=en_US.UTF-8 make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-sha512sums="
-560116b85516f883711f54f2229619b49179666c6a5459df0dec311cc5ab6919bf648f14888b09f5c4f13a2d834f3c598967fe84ecf1169bc197274e8b5aaa93 profanity-0.11.1.tar.gz
-"
diff --git a/testing/progress/APKBUILD b/testing/progress/APKBUILD
deleted file mode 100644
index d1d14d8b767..00000000000
--- a/testing/progress/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Ralf Rachinger <alpine@ralfrachinger.de>
-# Maintainer: Ralf Rachinger <alpine@ralfrachinger.de>
-pkgname=progress
-pkgver=0.16
-pkgrel=0
-pkgdesc="Coreutils Progress Viewer"
-url="https://github.com/Xfennec/progress"
-arch="all"
-license="GPL-3.0-only"
-makedepends="ncurses-dev linux-headers"
-source="https://github.com/Xfennec/progress/archive/v$pkgver/progress-$pkgver.tar.gz"
-subpackages="$pkgname-doc"
-options="!check"
-
-build() {
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX="/usr" install
-}
-
-sha512sums="
-11fef1b973e899f4b605513f341cfc412c7c62b138d2b87cfb8b57fe7c46449cdac1e1b5c1cdc77d7cd905a26e5cf85c4ff88d892c58c8c839e95cab07596eb3 progress-0.16.tar.gz
-"
diff --git a/testing/projectm/APKBUILD b/testing/projectm/APKBUILD
index e549fe410e3..5a780da4eb2 100644
--- a/testing/projectm/APKBUILD
+++ b/testing/projectm/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: knuxify <knuxify@gmail.com>
pkgname=projectm
pkgver=3.1.12
-pkgrel=0
+pkgrel=1
pkgdesc="Music visualizer which uses 3D accelerated iterative image based rendering"
url="https://github.com/projectM-visualizer/projectm"
arch="all"
license="LGPL-2.1-or-later"
-makedepends="mesa-gl glm-dev mesa-dev fts-dev qt5-qtbase-dev sdl2-dev pulseaudio-dev"
+makedepends="mesa-gl glm-dev mesa-dev musl-fts-dev qt5-qtbase-dev sdl2-dev pulseaudio-dev"
subpackages="$pkgname-dev $pkgname-presets $pkgname-sdl $pkgname-pulseaudio
$pkgname-pulseaudio-doc:pulseaudio_doc"
source="https://github.com/projectM-visualizer/projectm/releases/download/v$pkgver/projectM-$pkgver.tar.gz
@@ -94,7 +94,6 @@ pulseaudio_doc() {
default_doc
}
-
sha512sums="
13aafc2ebd5eb4aa59b54d7c1d2933ed9a5c014899560a241079b725ffaed2e37f9ac451bb74a7fce235184ac795c55cb54c1d0f0c9e8c571e5cbda9cd3c4058 projectM-3.1.12.tar.gz
8250250f5b409b4806869da1a5692d441c6928bf0ababdcce8072df74d8f93b314bbfe2c60a4d2c25a6a4d0d8722e3bf62106c63694933a05022970a3cbf02d1 fix-missing-gl-symbols-on-arm.patch
diff --git a/testing/projectsandcastle-loader/APKBUILD b/testing/projectsandcastle-loader/APKBUILD
index a0f7c529425..c1f88b56848 100644
--- a/testing/projectsandcastle-loader/APKBUILD
+++ b/testing/projectsandcastle-loader/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Jonas Heinrich <onny@project-insanity.org>
pkgname=projectsandcastle-loader
pkgver=0_git20200307
-pkgrel=0
+pkgrel=1
pkgdesc="Loader for Android on iPhone"
url="https://github.com/corellium/projectsandcastle"
arch="all"
diff --git a/testing/prometheus-bind-exporter/APKBUILD b/testing/prometheus-bind-exporter/APKBUILD
new file mode 100644
index 00000000000..f992cd6ffe2
--- /dev/null
+++ b/testing/prometheus-bind-exporter/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Mike Crute <mike@crute.us>
+# Contributor: Mike Crute <mike@crute.us>
+pkgname=prometheus-bind-exporter
+_pkgname=bind_exporter
+pkgver=0.7.0
+pkgrel=3
+pkgdesc="Prometheus Bind Exporter"
+url="https://github.com/prometheus-community/bind_exporter"
+license="Apache-2.0"
+arch="all"
+install="$pkgname.pre-install"
+makedepends="go promu"
+provides="bind_exporter=$pkgver-r$pkgrel"
+replaces="bind_exporter"
+source="
+ $_pkgname-$pkgver.tar.gz::https://github.com/prometheus-community/bind_exporter/archive/v$pkgver.tar.gz
+ bind-exporter.confd
+ bind-exporter.initd
+"
+builddir="$srcdir/$_pkgname-$pkgver"
+subpackages="$pkgname-openrc"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ make PROMU=/usr/bin/promu build
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -dm755 "$pkgdir"/etc/prometheus
+
+ install -Dm755 bind_exporter \
+ "$pkgdir"/usr/bin/bind_exporter
+ install -Dm755 "$srcdir"/bind-exporter.initd \
+ "$pkgdir"/etc/init.d/bind-exporter
+ install -Dm644 "$srcdir"/bind-exporter.confd \
+ "$pkgdir"/etc/conf.d/bind-exporter
+}
+
+sha512sums="
+98e9bdd78605ded8ebc38351700c082c7e018e9ad06ccfce07d8b1116986f44bda10cb9f85c13faeee34449205a16f44e397604251cbbc835eca0e1ad93840ab bind_exporter-0.7.0.tar.gz
+b9c08a14f318c6127d44f9f1055cbd228acbe2fae043dbd719a6654128680e2dd7811611e48114154753e70d66f49d6e5fee590c37792d23b9189ee62b6fbb7f bind-exporter.confd
+a29b23cbc391c5703f78085ae23ef24a341e0f6e02818d36dca481fbcb217f55ea1e43ed6307a18386e1d3247d899319f6cc7bdb766272a4dd89cbf52d30c0cf bind-exporter.initd
+"
diff --git a/testing/prometheus-bind-exporter/bind-exporter.confd b/testing/prometheus-bind-exporter/bind-exporter.confd
new file mode 100644
index 00000000000..af78f8dba4c
--- /dev/null
+++ b/testing/prometheus-bind-exporter/bind-exporter.confd
@@ -0,0 +1,4 @@
+bind_exporter_args=
+
+output_log=/var/log/bind_exporter.log
+error_log=/var/log/bind_exporter.log
diff --git a/testing/prometheus-bind-exporter/bind-exporter.initd b/testing/prometheus-bind-exporter/bind-exporter.initd
new file mode 100644
index 00000000000..7f4235bcc03
--- /dev/null
+++ b/testing/prometheus-bind-exporter/bind-exporter.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+
+name="bind_exporter"
+description="bind exporter for the prometheus monitoring system"
+supervisor=supervise-daemon
+command=/usr/bin/bind_exporter
+command_args="$bind_exporter_args"
+command_user="prometheus:prometheus"
+
+start_pre() {
+ [ -n "$output_log" ] && checkpath -f "$output_log" \
+ -m 644 -o prometheus:prometheus
+ [ -n "$error_log" ] && checkpath -f "$error_log" \
+ -m 644 -o prometheus:prometheus
+}
diff --git a/testing/blackbox_exporter/blackbox_exporter.pre-install b/testing/prometheus-bind-exporter/prometheus-bind-exporter.pre-install
index 1dd28103b83..1dd28103b83 100644
--- a/testing/blackbox_exporter/blackbox_exporter.pre-install
+++ b/testing/prometheus-bind-exporter/prometheus-bind-exporter.pre-install
diff --git a/testing/prometheus-ceph-exporter/APKBUILD b/testing/prometheus-ceph-exporter/APKBUILD
new file mode 100644
index 00000000000..d2efde862da
--- /dev/null
+++ b/testing/prometheus-ceph-exporter/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Alex Denes <caskd@redxen.eu>
+# Maintainer: Alex Denes <caskd@redxen.eu>
+pkgname=prometheus-ceph-exporter
+pkgver=4.2.3
+pkgrel=1
+pkgdesc="Prometheus exporter that scrapes meta information about a ceph cluster"
+url="https://github.com/digitalocean/ceph_exporter"
+license="Apache-2.0"
+# riscv64, 32bit: doesn't build
+arch="all !x86 !armhf !armv7"
+makedepends="
+ ceph-dev
+ linux-headers
+ go
+ "
+install="$pkgname.pre-install $pkgname.pre-upgrade"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/digitalocean/ceph_exporter/archive/refs/tags/$pkgver.tar.gz
+ ceph-exporter.initd
+ ceph-exporter.confd
+ "
+builddir="$srcdir/ceph_exporter-$pkgver"
+options="net"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o ceph-exporter -tags "quincy reef" # support ceph 16 and 18
+}
+
+check() {
+ go test -tags "quincy reef" ./...
+}
+
+package() {
+ install -Dm755 ceph-exporter -t "$pkgdir"/usr/bin/
+
+ install -Dm755 "$srcdir"/ceph-exporter.initd "$pkgdir"/etc/init.d/ceph-exporter
+ install -Dm644 "$srcdir"/ceph-exporter.confd "$pkgdir"/etc/conf.d/ceph-exporter
+}
+
+sha512sums="
+2106cb2bcc99b5108dc20a60013075be7718b5f156be6f917210d77659d2b4a5d2e49d810fc8275e33a5ddd2afb6e86ec007132ef3851efa8f72afd907143733 prometheus-ceph-exporter-4.2.3.tar.gz
+392448b600c3dab44718ccf3133fdc349ebc840f9fe4f8445be10bcc3c4c65cd7db96babe52ae9cec8cbf22d72865bd6794da1b4ee990c279d586b08c8dd8b3e ceph-exporter.initd
+2278273061c1f8e216193f1b0a00dbe0d791c460b803ff14408f1519bf2ee7daf402162741057a648747be9647510215d262f1e1672cd1cab0224a7e9175af53 ceph-exporter.confd
+"
diff --git a/testing/prometheus-ceph-exporter/ceph-exporter.confd b/testing/prometheus-ceph-exporter/ceph-exporter.confd
new file mode 100644
index 00000000000..ab4744400d5
--- /dev/null
+++ b/testing/prometheus-ceph-exporter/ceph-exporter.confd
@@ -0,0 +1,3 @@
+command_args=""
+
+supervisor=supervise-daemon
diff --git a/testing/prometheus-ceph-exporter/ceph-exporter.initd b/testing/prometheus-ceph-exporter/ceph-exporter.initd
new file mode 100755
index 00000000000..ea5427394e7
--- /dev/null
+++ b/testing/prometheus-ceph-exporter/ceph-exporter.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+command="/usr/bin/ceph_exporter"
+command_background=true
+command_user="prometheus:prometheus"
+
+logdir="/var/log/prometheus"
+error_log="$logdir/${SVCNAME}.log"
+pidfile="/run/${SVCNAME}.pid"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o $command_user -m755 $logdir
+ checkpath -f -o $command_user -m644 $error_log
+}
diff --git a/testing/prometheus-ceph-exporter/prometheus-ceph-exporter.pre-install b/testing/prometheus-ceph-exporter/prometheus-ceph-exporter.pre-install
new file mode 100755
index 00000000000..120995cf353
--- /dev/null
+++ b/testing/prometheus-ceph-exporter/prometheus-ceph-exporter.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S prometheus 2>/dev/null
+adduser -S -D -h /var/lib/prometheus -s /sbin/nologin -G prometheus -g prometheus prometheus 2>/dev/null
+
+exit 0
diff --git a/testing/prometheus-ceph-exporter/prometheus-ceph-exporter.pre-upgrade b/testing/prometheus-ceph-exporter/prometheus-ceph-exporter.pre-upgrade
new file mode 120000
index 00000000000..6374c299e7f
--- /dev/null
+++ b/testing/prometheus-ceph-exporter/prometheus-ceph-exporter.pre-upgrade
@@ -0,0 +1 @@
+prometheus-ceph-exporter.pre-install \ No newline at end of file
diff --git a/testing/prometheus-rethinkdb-exporter/APKBUILD b/testing/prometheus-rethinkdb-exporter/APKBUILD
index 93c279e990b..8887ad10dff 100644
--- a/testing/prometheus-rethinkdb-exporter/APKBUILD
+++ b/testing/prometheus-rethinkdb-exporter/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=prometheus-rethinkdb-exporter
pkgver=1.0.1
-pkgrel=2
+pkgrel=20
pkgdesc="Prometheus exporter for RethinkDB"
url="https://github.com/rethinkdb/prometheus-exporter"
license="Apache-2.0"
@@ -15,6 +15,10 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/rethinkdb/prometheus-exporte
"
builddir="$srcdir/prometheus-exporter-$pkgver"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
make
}
diff --git a/testing/prometheus-smartctl-exporter/APKBUILD b/testing/prometheus-smartctl-exporter/APKBUILD
new file mode 100644
index 00000000000..5004566f1bc
--- /dev/null
+++ b/testing/prometheus-smartctl-exporter/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=prometheus-smartctl-exporter
+_pkgname=smartctl_exporter
+pkgver=0.12.0
+pkgrel=2
+pkgdesc="Prometheus smartctl exporter"
+url="https://github.com/prometheus-community/smartctl_exporter"
+arch="all"
+license="LGPL-3.0-or-later"
+depends="smartmontools jq"
+makedepends="go"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$_pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz
+ smartctl-exporter.initd
+ smartctl-exporter.confd
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
+options="net"
+
+build() {
+ GOLDFLAGS="-X main.Version=$pkgver"
+ go build \
+ -tags netgo \
+ -ldflags "$GOLDFLAGS" \
+ -o smartctl-exporter
+}
+
+check() {
+ go test -cover ./...
+}
+
+package() {
+ install -Dm755 smartctl-exporter "$pkgdir"/usr/bin/smartctl-exporter
+ install -Dm755 "$srcdir"/smartctl-exporter.initd "$pkgdir"/etc/init.d/smartctl-exporter
+ install -Dm644 "$srcdir"/smartctl-exporter.confd "$pkgdir"/etc/conf.d/smartctl-exporter
+}
+
+sha512sums="
+8f2cc973fd967c9ab737dcaa7456f019cb574ac3297bd5d15559167cde51f8076bcb48c7befb7efb869e056c1c5e404f4bb2774e8fe020736354ede4ae3e77f3 smartctl_exporter-0.12.0.tar.gz
+605e753b3f90bf20c035798af9702f60d7f39d600e96a5d5b6cc8909334c2e6adb8fae6f6f3a7cfb4b097e2ceeb90257d9041d41aefa891e25aabf7cc2cac9e2 smartctl-exporter.initd
+cd46f20e8b479331e4e831da1dd36fcd93990904560555b5ba67d2344dc50405d8d8e4a3b03c32b1aaf969fed0a2a176c5248e671495604112fafb6dc325b999 smartctl-exporter.confd
+"
diff --git a/testing/prometheus-smartctl-exporter/prometheus-smartctl-exporter.pre-install b/testing/prometheus-smartctl-exporter/prometheus-smartctl-exporter.pre-install
new file mode 100644
index 00000000000..17964b0cd38
--- /dev/null
+++ b/testing/prometheus-smartctl-exporter/prometheus-smartctl-exporter.pre-install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+addgroup -S prometheus 2>/dev/null
+adduser -S -D -h /var/lib/prometheus \
+ -s /sbin/nologin -G prometheus -g prometheus prometheus prometheus 2>/dev/null
+adduser prometheus disk
+
+exit 0
diff --git a/testing/prometheus-smartctl-exporter/smartctl-exporter.confd b/testing/prometheus-smartctl-exporter/smartctl-exporter.confd
new file mode 100644
index 00000000000..0044540675d
--- /dev/null
+++ b/testing/prometheus-smartctl-exporter/smartctl-exporter.confd
@@ -0,0 +1,10 @@
+# /etc/conf.d/nextcloud-exporter
+
+# Custom arguments can be specified like:
+#
+# ARGS="--web.listen-address=:9633"
+
+ARGS=""
+
+# comment out to use traditional service management
+supervisor="supervise-daemon"
diff --git a/testing/prometheus-smartctl-exporter/smartctl-exporter.initd b/testing/prometheus-smartctl-exporter/smartctl-exporter.initd
new file mode 100755
index 00000000000..a90a0671ce6
--- /dev/null
+++ b/testing/prometheus-smartctl-exporter/smartctl-exporter.initd
@@ -0,0 +1,7 @@
+#!/sbin/openrc-run
+name="prometheus-smartctl-exporter"
+command="/usr/bin/smartctl-exporter"
+command_args="$ARGS"
+command_background="yes"
+command_user="prometheus:prometheus"
+pidfile="/run/${RC_SVCNAME}.pid"
diff --git a/testing/prometheus-smokeping-prober/APKBUILD b/testing/prometheus-smokeping-prober/APKBUILD
new file mode 100644
index 00000000000..b9c50c6c096
--- /dev/null
+++ b/testing/prometheus-smokeping-prober/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Mike Crute <mike@crute.us>
+# Maintainer: Mike Crute <mike@crute.us>
+pkgname=prometheus-smokeping-prober
+_pkgname=smokeping_prober
+pkgver=0.7.1
+pkgrel=4
+pkgdesc="Prometheus style smokeping prober"
+url="https://github.com/SuperQ/smokeping_prober"
+license="Apache-2.0"
+arch="all"
+options="!check" # no testsuite
+makedepends="go"
+pkgusers="prometheus"
+pkggroups="prometheus"
+install="$pkgname.pre-install $pkgname.pre-upgrade"
+subpackages="$pkgname-openrc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/SuperQ/smokeping_prober/archive/v$pkgver.tar.gz
+ smokeping-prober.initd
+ smokeping-prober.confd
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build \
+ -ldflags "-X github.com/prometheus/common/version.Version=$pkgver" \
+ -v -o smokeping_prober
+}
+
+package() {
+ install -Dm755 smokeping_prober "$pkgdir"/usr/bin/smokeping_prober
+
+ install -Dm755 "$srcdir"/smokeping-prober.initd "$pkgdir"/etc/init.d/smokeping-prober
+ install -Dm644 "$srcdir"/smokeping-prober.confd "$pkgdir"/etc/conf.d/smokeping-prober
+}
+
+sha512sums="
+074a38e29b93687498e6a796257e625b0b15ec6fa2181eec0a82b9d5e4c9efc78a5de567525c8b78dec6d1adde0b34b2bd6e96b450eeb05e3d68d8fc1c6c5716 smokeping_prober-0.7.1.tar.gz
+6a551247df6dfa2b5bfbb9a36e181ea685679208dc44401eb24cf3904dac7f7974c974d45878c3ee88e1b9e562f6355d942d28b1ec8513439e603e06f7f07352 smokeping-prober.initd
+a29cb9e49fc3a0be67368b9f8764a88563f600a29ebc5ee40629d1da96ca28034e73af18d9d1f0c9c77b9c75fa67c3d2dd5af3d233ee0dc9e9bfd89bcf60b60a smokeping-prober.confd
+"
diff --git a/testing/prometheus-smokeping-prober/prometheus-smokeping-prober.pre-install b/testing/prometheus-smokeping-prober/prometheus-smokeping-prober.pre-install
new file mode 100755
index 00000000000..120995cf353
--- /dev/null
+++ b/testing/prometheus-smokeping-prober/prometheus-smokeping-prober.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S prometheus 2>/dev/null
+adduser -S -D -h /var/lib/prometheus -s /sbin/nologin -G prometheus -g prometheus prometheus 2>/dev/null
+
+exit 0
diff --git a/testing/prometheus-smokeping-prober/prometheus-smokeping-prober.pre-upgrade b/testing/prometheus-smokeping-prober/prometheus-smokeping-prober.pre-upgrade
new file mode 120000
index 00000000000..4b1792b9864
--- /dev/null
+++ b/testing/prometheus-smokeping-prober/prometheus-smokeping-prober.pre-upgrade
@@ -0,0 +1 @@
+prometheus-smokeping-prober.pre-install \ No newline at end of file
diff --git a/testing/prometheus-smokeping-prober/smokeping-prober.confd b/testing/prometheus-smokeping-prober/smokeping-prober.confd
new file mode 100644
index 00000000000..37c310bfbec
--- /dev/null
+++ b/testing/prometheus-smokeping-prober/smokeping-prober.confd
@@ -0,0 +1,7 @@
+# /etc/conf.d/prometheus-smokeping-prober
+
+# Custom arguments can be specified like:
+#
+# ARGS="--web.listen-address=':9100'"
+
+ARGS=""
diff --git a/testing/prometheus-smokeping-prober/smokeping-prober.initd b/testing/prometheus-smokeping-prober/smokeping-prober.initd
new file mode 100755
index 00000000000..418ef0732d3
--- /dev/null
+++ b/testing/prometheus-smokeping-prober/smokeping-prober.initd
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+command="/usr/bin/smokeping_prober"
+command_args="$ARGS"
+command_background="yes"
+group="prometheus"
+user="prometheus"
+
+logdir="/var/log/prometheus"
+logfile="$logdir/${SVCNAME}.log"
+pidfile="/var/run/${SVCNAME}.pid"
+start_stop_daemon_args="--stderr $logfile --user $user --group $group"
+capabilities="^cap_net_raw"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o $user:$group -m755 $logdir
+ checkpath -f -o $user:$group -m644 $logfile
+}
diff --git a/testing/prometheus-unbound-exporter/0001-dont-authenticate-by-default.patch b/testing/prometheus-unbound-exporter/0001-dont-authenticate-by-default.patch
new file mode 100644
index 00000000000..1d6b58946fb
--- /dev/null
+++ b/testing/prometheus-unbound-exporter/0001-dont-authenticate-by-default.patch
@@ -0,0 +1,15 @@
+--- a/unbound_exporter.go
++++ b/unbound_exporter.go
+@@ -469,9 +469,9 @@
+ listenAddress = flag.String("web.listen-address", ":9167", "Address to listen on for web interface and telemetry.")
+ metricsPath = flag.String("web.telemetry-path", "/metrics", "Path under which to expose metrics.")
+ unboundHost = flag.String("unbound.host", "tcp://localhost:8953", "Unix or TCP address of Unbound control socket.")
+- unboundCa = flag.String("unbound.ca", "/etc/unbound/unbound_server.pem", "Unbound server certificate.")
+- unboundCert = flag.String("unbound.cert", "/etc/unbound/unbound_control.pem", "Unbound client certificate.")
+- unboundKey = flag.String("unbound.key", "/etc/unbound/unbound_control.key", "Unbound client key.")
++ unboundCa = flag.String("unbound.ca", "", "Unbound server certificate.")
++ unboundCert = flag.String("unbound.cert", "", "Unbound client certificate.")
++ unboundKey = flag.String("unbound.key", "", "Unbound client key.")
+ )
+ flag.Parse()
+
diff --git a/testing/prometheus-unbound-exporter/APKBUILD b/testing/prometheus-unbound-exporter/APKBUILD
new file mode 100644
index 00000000000..65a05d01f97
--- /dev/null
+++ b/testing/prometheus-unbound-exporter/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Alex Denes <caskd@redxen.eu>
+# Maintainer: Alex Denes <caskd@redxen.eu>
+pkgname=prometheus-unbound-exporter
+_pkgname=unbound_exporter
+pkgver=0.4.1
+pkgrel=5
+pkgdesc="Prometheus exporter for Unbound statistics"
+url="https://github.com/letsencrypt/unbound_exporter"
+license="Apache-2.0"
+arch="all"
+makedepends="go>=1.14"
+install="$pkgname.pre-install $pkgname.pre-upgrade"
+subpackages="$pkgname-openrc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/letsencrypt/unbound_exporter/archive/v$pkgver.tar.gz
+ unbound-exporter.initd
+ unbound-exporter.confd
+ 0001-dont-authenticate-by-default.patch
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no test suite available
+
+export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build \
+ -ldflags "-X github.com/prometheus/common/version.Version=$pkgver" \
+ -v -o unbound_exporter
+}
+
+package() {
+ install -Dm755 unbound_exporter "$pkgdir"/usr/bin/unbound_exporter
+
+ install -Dm755 "$srcdir"/unbound-exporter.initd "$pkgdir"/etc/init.d/unbound-exporter
+ install -Dm644 "$srcdir"/unbound-exporter.confd "$pkgdir"/etc/conf.d/unbound-exporter
+}
+
+sha512sums="
+752a3d4903dc19c91484bad535df951ad8c8ab38ca3741493afe32472b9e873d6255039616974b36eae43b886f02b947b3418129af20eea01edb7f9ab05a7be9 unbound_exporter-0.4.1.tar.gz
+99acbb1af5ea1d0f37ec282f8c5dfb884e1d184baa7d5cd0132e63da88defd170fb0db44c762b02a169d93677333231bfb1f7740a401b4e0d64217e8d38927a4 unbound-exporter.initd
+2fecc0fdf9da9179ad24c14651efec341fccf3747d4570fe0ca5e1f5db1eb7ec49ce84add28d2804c03c95acd9762a660dfe5577fe26265ef35a82fa9c455aad unbound-exporter.confd
+7f806a9a19da38e790c978c411f9f37e1ddda7e74b37b3c691111fe86c79957d9704f1b4ee15d25da54b749e2c7322c6833087618455d05be7768452f4522d50 0001-dont-authenticate-by-default.patch
+"
diff --git a/testing/prometheus-unbound-exporter/prometheus-unbound-exporter.pre-install b/testing/prometheus-unbound-exporter/prometheus-unbound-exporter.pre-install
new file mode 100755
index 00000000000..120995cf353
--- /dev/null
+++ b/testing/prometheus-unbound-exporter/prometheus-unbound-exporter.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S prometheus 2>/dev/null
+adduser -S -D -h /var/lib/prometheus -s /sbin/nologin -G prometheus -g prometheus prometheus 2>/dev/null
+
+exit 0
diff --git a/testing/prometheus-unbound-exporter/prometheus-unbound-exporter.pre-upgrade b/testing/prometheus-unbound-exporter/prometheus-unbound-exporter.pre-upgrade
new file mode 120000
index 00000000000..c39c22470fd
--- /dev/null
+++ b/testing/prometheus-unbound-exporter/prometheus-unbound-exporter.pre-upgrade
@@ -0,0 +1 @@
+prometheus-unbound-exporter.pre-install \ No newline at end of file
diff --git a/testing/prometheus-unbound-exporter/unbound-exporter.confd b/testing/prometheus-unbound-exporter/unbound-exporter.confd
new file mode 100644
index 00000000000..a7b394a3443
--- /dev/null
+++ b/testing/prometheus-unbound-exporter/unbound-exporter.confd
@@ -0,0 +1,7 @@
+# /etc/conf.d/unbound-exporter
+
+# Custom arguments can be specified like:
+#
+# ARGS="--web.listen-address=':9100'"
+
+ARGS=""
diff --git a/testing/prometheus-unbound-exporter/unbound-exporter.initd b/testing/prometheus-unbound-exporter/unbound-exporter.initd
new file mode 100755
index 00000000000..4c7364969d3
--- /dev/null
+++ b/testing/prometheus-unbound-exporter/unbound-exporter.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+command="/usr/bin/unbound_exporter"
+command_args="$ARGS"
+command_background="yes"
+command_user="prometheus:prometheus"
+
+logdir="/var/log/prometheus"
+error_log="$logdir/${SVCNAME}.log"
+pidfile="/var/run/${SVCNAME}.pid"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o $command_user -m755 $logdir
+ checkpath -f -o $command_user -m644 $error_log
+}
diff --git a/testing/prometheus-wireguard-exporter/APKBUILD b/testing/prometheus-wireguard-exporter/APKBUILD
deleted file mode 100644
index 84623b05df3..00000000000
--- a/testing/prometheus-wireguard-exporter/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Maintainer:
-pkgname=prometheus-wireguard-exporter
-pkgver=3.5.1
-pkgrel=0
-pkgdesc="A Prometheus exporter for WireGuard, written in Rust"
-url="https://github.com/MindFlavor/prometheus_wireguard_exporter"
-arch="all !s390x !ppc64le !mips !mips64 !riscv64" #Crypto is broken (https://github.com/briansmith/ring/issues/389)
-license="MIT"
-makedepends="cargo"
-subpackages="$pkgname-openrc"
-source="https://github.com/MindFlavor/prometheus_wireguard_exporter/archive/$pkgver/prometheus_wireguard_exporter-$pkgver.tar.gz
- prometheus-wireguard-exporter.initd
- prometheus-wireguard-exporter.confd
- "
-options="net"
-builddir="$srcdir"/prometheus_wireguard_exporter-"$pkgver"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- cargo install --locked --path . --root="$pkgdir"/usr
- rm -f "$pkgdir"/usr/.crates2.json
- rm -f "$pkgdir"/usr/.crates.toml
-
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
-}
-sha512sums="
-8588114916738c3fad46064494867ceccd332df46bbab02b78a2b82babc6c9803a3b4b76b569ae96c8393f13c0577485ebd2b947ccc0549ca3b6ce6637e4aa8e prometheus_wireguard_exporter-3.5.1.tar.gz
-f611bb81839735075f19e80155e9eb9e18da284ef2bada06eb6c5b9b06fc706a6b21d463f52027ba7dbe81b76e3f4771401265fe8a20d512082ec35358f091a3 prometheus-wireguard-exporter.initd
-876f7f5a8c5092980783aa9f60eb7b3497d93ab66c1aa6780bf4988f720187d437c8b951f938f012956ed1ac1971eab85e972521750d1a25d41fc7fcf0357188 prometheus-wireguard-exporter.confd
-"
diff --git a/testing/prometheus-wireguard-exporter/prometheus-wireguard-exporter.confd b/testing/prometheus-wireguard-exporter/prometheus-wireguard-exporter.confd
deleted file mode 100644
index 68d8b23e5da..00000000000
--- a/testing/prometheus-wireguard-exporter/prometheus-wireguard-exporter.confd
+++ /dev/null
@@ -1 +0,0 @@
-export INTERFACE=wg0
diff --git a/testing/prometheus-wireguard-exporter/prometheus-wireguard-exporter.initd b/testing/prometheus-wireguard-exporter/prometheus-wireguard-exporter.initd
deleted file mode 100644
index 9b2efd98dc5..00000000000
--- a/testing/prometheus-wireguard-exporter/prometheus-wireguard-exporter.initd
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/sbin/openrc-run
-
-description="Prometheus Wireguard Exporter"
-supervisor=supervise-daemon
-command=/usr/bin/prometheus_wireguard_exporter
-command_args="-n /etc/wireguard/${INTERFACE}.conf"
-pidfile="/run/${RC_SVCNAME}.pid"
-
-depend() {
- need net
-}
diff --git a/testing/proot/APKBUILD b/testing/proot/APKBUILD
index cf565ebef1a..11a52e1ad80 100644
--- a/testing/proot/APKBUILD
+++ b/testing/proot/APKBUILD
@@ -1,14 +1,13 @@
# Contributor: Daniel Santana <daniel@santana.tech>
# Maintainer: Daniel Santana <daniel@santana.tech>
pkgname=proot
-pkgver=5.2.0_pre20210122
-_gitrev=8c0ccf7db18b5d5ca2f47e1afba7897fb1bb39c0
+pkgver=5.4.0
pkgrel=0
pkgdesc="User-space implementation of chroot, mount --bind, and binfmt_misc"
url="https://proot-me.github.io"
arch="aarch64 armhf armv7 x86 x86_64"
-license="GPL-2-or-later"
-checkdepends="bash coreutils grep lzop mcookie python2 strace"
+license="GPL-2.0-or-later"
+checkdepends="bash coreutils grep lzop mcookie python3 strace"
makedepends="
bsd-compat-headers
libarchive-dev
@@ -18,11 +17,10 @@ makedepends="
talloc-static
uthash-dev
"
-subpackages="care $pkgname-doc $pkgname-static"
-source="https://github.com/proot-me/proot/archive/$_gitrev/$pkgname-$_gitrev.tar.gz
+subpackages="$pkgname-doc $pkgname-static"
+source="https://github.com/proot-me/proot/archive/v$pkgver/proot-$pkgver.tar.gz
tests-musl-compat.patch
"
-builddir="$srcdir/$pkgname-$_gitrev"
options="!check" # FIXME: several tests are failing
prepare() {
@@ -31,25 +29,19 @@ prepare() {
}
build() {
- make -C src proot care GIT=false
- make -C src-static proot GIT=false LDFLAGS="$LDFLAGS -static -ltalloc"
- make -C doc proot/man.1 care/man.1
+ make -C src proot VERSION=$pkgver
+ make -C src-static proot VERSION=$pkgver LDFLAGS="$LDFLAGS -static -ltalloc"
+ make -C doc proot/man.1
}
check() {
- make -C test
+ ln -sfv /usr/bin/python3 python
+ PATH="$PATH:$PWD" make -C test
}
package() {
install -Dm 0755 ./src/proot "$pkgdir"/usr/bin/proot
install -Dm 0644 ./doc/proot/man.1 "$pkgdir"/usr/share/man/man1/proot.1
- install -Dm 0644 ./doc/care/man.1 "$pkgdir"/usr/share/man/man1/care.1
-}
-
-care() {
- pkgdesc="Comprehensive Archiver for Reproducible Execution"
-
- install -Dm 0755 "$builddir"/src/care "$subpkgdir"/usr/bin/care
}
static() {
@@ -58,5 +50,7 @@ static() {
install -Dm 0755 "$builddir"/src-static/proot "$subpkgdir"/usr/bin/proot.static
}
-sha512sums="0b4617486630255ec7b26a0aae8e07c42ee302ea7d6aed676644cf4507f5951206d83a65d22263cb17ea803cfbec3b93c01d8936c401c58f20ea41ffad9a9230 proot-8c0ccf7db18b5d5ca2f47e1afba7897fb1bb39c0.tar.gz
-d09de6d776072e9991abd04e294e6d36bd1634b9e972294a112526ebf3f63e919d01755de1ecd7253d614b41b07fe6882df8787c638b8576bcf2555abcafa466 tests-musl-compat.patch"
+sha512sums="
+c4d7b7428758c0d8f6a89ecaa01d1d7d5d9663a84b7e730e8160bc2a2385a7e278589f5dd86f5cd4f8e0736f09b3097b9efea7814096fd2d28e6032435b9ee63 proot-5.4.0.tar.gz
+d09de6d776072e9991abd04e294e6d36bd1634b9e972294a112526ebf3f63e919d01755de1ecd7253d614b41b07fe6882df8787c638b8576bcf2555abcafa466 tests-musl-compat.patch
+"
diff --git a/testing/protoc-gen-go/APKBUILD b/testing/protoc-gen-go/APKBUILD
new file mode 100644
index 00000000000..bc728f74b75
--- /dev/null
+++ b/testing/protoc-gen-go/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=protoc-gen-go
+pkgver=1.32.0
+pkgrel=2
+pkgdesc="Protocol Buffers Go generator"
+url="https://github.com/protocolbuffers/protobuf-go"
+arch="all"
+license="BSD-3-Clause"
+depends="protoc"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/protocolbuffers/protobuf-go/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/protobuf-go-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v \
+ -ldflags "-X google.golang.org/protobuf/internal/version.PreRelease=" \
+ ./cmd/protoc-gen-go/
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 protoc-gen-go -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+dffb159952282db426af8759346441003b461c6c1dde3a84671f644892a8bce6d0a57bfd6f19ad9d48852bdd4bf52544aae3f8cce66d498eb15be0a3acb276ae protoc-gen-go-1.32.0.tar.gz
+"
diff --git a/testing/protoc-gen-js/APKBUILD b/testing/protoc-gen-js/APKBUILD
new file mode 100644
index 00000000000..c4c930e01a0
--- /dev/null
+++ b/testing/protoc-gen-js/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer:
+pkgname=protoc-gen-js
+pkgver=3.21.2
+pkgrel=1
+pkgdesc="protoc-gen-js javascript protobuf generator"
+url="https://github.com/protocolbuffers/protobuf-javascript"
+# bazel
+arch="x86_64"
+license="BSD-3-Clause AND Apache-2.0"
+depends="protoc"
+makedepends="bazel"
+source="$pkgname-$pkgver.tar.gz::https://github.com/protocolbuffers/protobuf-javascript/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/protobuf-javascript-$pkgver"
+# bazel stuff, no tests
+options="net !check"
+
+build() {
+ # prevent broken ccache use
+ JAVA_HOME=/usr/lib/jvm/java-11-openjdk \
+ PATH=/bin:/usr/bin \
+ bazel build plugin_files
+}
+
+package() {
+ install -Dm755 bazel-bin/generator/protoc-gen-js -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+afe5b16d1161a6a5e981976bfbdeaacdfcf6909126e55ee35f2513c3267c27870bde9fcd34fbd6aec22c79c41c975b643e26e24ce00b46c1814dfff24f542d48 protoc-gen-js-3.21.2.tar.gz
+"
diff --git a/testing/protoconf/APKBUILD b/testing/protoconf/APKBUILD
new file mode 100644
index 00000000000..6589ffe7175
--- /dev/null
+++ b/testing/protoconf/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=protoconf
+pkgver=0.1.7
+pkgrel=5
+pkgdesc="Configuration as Code framework based on protobuf and Starlark"
+url="https://docs.protoconf.sh/"
+arch="all"
+license="MIT"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/protoconf/protoconf/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v \
+ -ldflags "-X github.com/protoconf/protoconf/consts.Version=$pkgver" \
+ ./cmd/protoconf/
+}
+
+check() {
+ # /importers/golang_importer: failed to load packages: err: chdir src/html/template
+ # /importers/terraform_importer: flaky network call to https://releases.hashicorp.com/terraform-provider-tfe
+ go test $(go list ./... | grep -v \
+ -e '/importers/golang_importer$' \
+ -e '/importers/terraform_importer$' \
+ )
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+0652958a9a93b27959626da4a9b0feadbb97737a1d97f5dd2165609627626108af5c87304e3d5b5169a3008daf7cf644c1fdccce15406281766615bc4d17c35d protoconf-0.1.7.tar.gz
+"
diff --git a/testing/prowlarr/0001-disable-restart.patch b/testing/prowlarr/0001-disable-restart.patch
new file mode 100644
index 00000000000..8dc5aebe628
--- /dev/null
+++ b/testing/prowlarr/0001-disable-restart.patch
@@ -0,0 +1,20 @@
+Disable the restart functionality so the daemon can manage it.
+
+---
+ src/NzbDrone.Core/Lifecycle/LifecycleService.cs | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/NzbDrone.Core/Lifecycle/LifecycleService.cs b/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
+index 9ed36a42e..565641284 100644
+--- a/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
++++ b/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
+@@ -46,8 +46,7 @@ public void Shutdown()
+ public void Restart()
+ {
+ _logger.Info("Restart requested.");
+-
+- _eventAggregator.PublishEvent(new ApplicationShutdownRequested(true));
++ _eventAggregator.PublishEvent(new ApplicationShutdownRequested());
+
+ if (_runtimeInfo.IsWindowsService)
+ {
diff --git a/testing/prowlarr/APKBUILD b/testing/prowlarr/APKBUILD
new file mode 100644
index 00000000000..132372132bc
--- /dev/null
+++ b/testing/prowlarr/APKBUILD
@@ -0,0 +1,98 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=prowlarr
+pkgver=1.15.0.4361
+pkgrel=0
+pkgdesc="Aggregator for usenet index and torrent tracker"
+url="https://github.com/Prowlarr/Prowlarr"
+arch="x86_64 aarch64 armv7"
+license="GPL-3.0-only"
+options="net !check" # no tests
+depends="
+ aspnetcore6-runtime
+ sqlite-libs
+ "
+makedepends="
+ dotnet6-sdk
+ yarn
+ "
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/Prowlarr/Prowlarr/archive/refs/tags/v$pkgver.tar.gz
+ 0001-disable-restart.patch
+ prowlarr.initd
+ prowlarr.confd
+ package_info
+ "
+builddir="$srcdir/Prowlarr-$pkgver"
+pkgusers="prowlarr"
+pkggroups="prowlarr"
+
+# map arch to dotnet
+case $CARCH in
+ x86_64) _dotnet_arch="x64" ;;
+ aarch64) _dotnet_arch="arm64" ;;
+ armv7) _dotnet_arch="arm" ;;
+ *) _dotnet_arch="$CARCH" ;;
+esac
+
+# custom variables
+_runtime="linux-musl-$_dotnet_arch"
+_framework="net6.0"
+_output="_output"
+_artifacts="$_output/$_framework/$_runtime/publish"
+
+prepare() {
+ default_prepare
+
+ # increase max opened files
+ ulimit -n 4096
+
+ # replace version info
+ local buildprops=src/Directory.Build.props
+ sed -i "/<AssemblyVersion>/s/>.*<\//>$pkgver<\//" "$buildprops"
+ sed -i "/<AssemblyConfiguration>/s/>.*<\//>master<\//" "$buildprops"
+
+ export BROWSERSLIST_IGNORE_OLD_DATA=true
+ yarn install --frozen-lockfile --network-timeout 120000
+}
+
+build() {
+ dotnet build src \
+ -p:RuntimeIdentifiers="$_runtime" \
+ -p:Configuration=Release \
+ -p:SelfContained=false \
+ -t:PublishAllRids
+ yarn build --env production --no-stats
+
+ # cleanup
+ find "$_artifacts" \( \
+ -name "ServiceUninstall.*" -o \
+ -name "ServiceInstall.*" -o \
+ -name "Prowlarr.Windows.*" \) -delete
+
+ mv "$_output"/UI "$_artifacts"
+}
+
+package() {
+ local DESTDIR="$pkgdir"/usr/lib/prowlarr
+
+ # use package_info to disable update feature
+ install -Dm644 "$srcdir"/package_info "$DESTDIR"/package_info
+ echo "PackageVersion=$pkgver-r$pkgrel" >>"$DESTDIR"/package_info
+
+ cp -af "$_artifacts" "$DESTDIR"/bin
+ chown -R "$pkgusers:$pkggroups" "$DESTDIR"
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+f82144968d778b2935b09ddef0246c9211909350a10d538745ae6fc08c2af0567f0992653937d1afdb8c13075ece8a65921459c51bd0a8e728a1aedfb64e74a3 prowlarr-1.15.0.4361.tar.gz
+753520379a6c5f2899b4ddfd820d5573598a32cb105f74c6fd978a3f2c98895cf709ef2d9afe2bae8c4856da86cb6a1364f5713ea7ef6a36bb21b5a5840c1471 0001-disable-restart.patch
+33de66749dc613a430ce00abcff070b646c80f158de2bf70c7078e5526f93348f24bb5d45ff55e3e06123aa4c849a8eebfebf941c8f9c54db87fa614bda679c7 prowlarr.initd
+1f073dd820a890e7d24d84e18763b04f07abd86a0370f56f7319c3e7c9da9d3e2be484e0cef2fb5fc4050be1cbb1e0445080d702d217393633256ed3758fc593 prowlarr.confd
+67c4dd1cf8259296d994c350dfd3962d23333071889ce0b4ef6b2f4cbb4349490c5dbe4dcc202c99bab7a5c4b7611be56d7c8835b2b13924526c45311db1c3fb package_info
+"
diff --git a/testing/prowlarr/package_info b/testing/prowlarr/package_info
new file mode 100644
index 00000000000..c2e444817cd
--- /dev/null
+++ b/testing/prowlarr/package_info
@@ -0,0 +1,4 @@
+# PackageVersion is added by APKBUILD
+PackageAuthor=[alpine](https://pkgs.alpinelinux.org/packages)
+UpdateMethod=External
+Branch=master
diff --git a/testing/prowlarr/prowlarr.confd b/testing/prowlarr/prowlarr.confd
new file mode 100644
index 00000000000..387687d5c99
--- /dev/null
+++ b/testing/prowlarr/prowlarr.confd
@@ -0,0 +1,9 @@
+# Prowlarr configuration options
+
+command_user="prowlarr:prowlarr" # user:group
+directory="/var/lib/prowlarr"
+supervisor="supervise-daemon"
+
+#logdir="/var/log/prowlarr"
+#error_log="$logdir/error.log"
+#output_log="$logdir/output.log"
diff --git a/testing/prowlarr/prowlarr.initd b/testing/prowlarr/prowlarr.initd
new file mode 100644
index 00000000000..14e5f07c67d
--- /dev/null
+++ b/testing/prowlarr/prowlarr.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+
+# fallback values for /etc/conf.d/prowlarr
+: ${command_user:=prowlarr:prowlarr}
+: ${directory:=/var/lib/prowlarr}
+
+name=prowlarr
+description="Prowlarr daemon"
+command="/usr/lib/prowlarr/bin/Prowlarr"
+command_args="-nobrowser -data=$directory"
+command_background=true
+pidfile="/run/$name.pid"
+
+depend() {
+ need net
+ use dns logger netmount
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory"
+
+ if [ -n "$logdir" ]; then
+ checkpath -d -o "$command_user" "$logdir"
+ fi
+
+ if [ -n "$output_log" ]; then
+ checkpath -f -o "$command_user" "$output_log"
+ fi
+
+ if [ -n "$error_log" ]; then
+ checkpath -f -o "$command_user" "$error_log"
+ fi
+}
diff --git a/testing/prowlarr/prowlarr.pre-install b/testing/prowlarr/prowlarr.pre-install
new file mode 100644
index 00000000000..79d527ee989
--- /dev/null
+++ b/testing/prowlarr/prowlarr.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S prowlarr 2>/dev/null
+adduser -S -D -h /var/lib/prowlarr -s /sbin/nologin -G prowlarr -g prowlarr prowlarr 2>/dev/null
+
+exit 0
diff --git a/testing/psi-notify/APKBUILD b/testing/psi-notify/APKBUILD
index b6650a2f547..7545f48756d 100644
--- a/testing/psi-notify/APKBUILD
+++ b/testing/psi-notify/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=psi-notify
-pkgver=1.2.1
+pkgver=1.3.1
pkgrel=0
pkgdesc="Notifier for system-wide resource pressure using PSI"
url="https://github.com/cdown/psi-notify"
@@ -27,5 +27,5 @@ package() {
}
sha512sums="
-47fc8d7dff0af1771d6095641b3ee89954aec49b647246c4384b420aeeb46867cfbf800e22ba9351e3f0c039970f8d011897050ddc3a59cef439d8dedbf04f9a psi-notify-1.2.1.tar.gz
+bfc61e212097af53e6afdb916996418c7d05550a6bdf799f461da8d44bd2215e4a6a8d91b421b9c24326cf0d64e3a9e00fb8de87fb3aed4d1aa6018f289f62e8 psi-notify-1.3.1.tar.gz
"
diff --git a/testing/psi-plus/APKBUILD b/testing/psi-plus/APKBUILD
new file mode 100644
index 00000000000..e1eae3171a7
--- /dev/null
+++ b/testing/psi-plus/APKBUILD
@@ -0,0 +1,59 @@
+# Maintainer: Cowington Post <cowingotnpost@gmail.com>
+pkgname=psi-plus
+pkgver=1.5.1653
+pkgrel=0
+pkgdesc="Powerful XMPP (Jabber) client (Qt, C++) designed for power users"
+url="https://psi-plus.com/"
+# ppc64le, s390x, riscv64: qt5-qtwebengine missing
+arch="all !ppc64le !s390x !riscv64"
+license="GPL-2.0"
+makedepends="
+ cmake
+ hunspell-dev
+ libidn-dev
+ libotr-dev
+ libsignal-protocol-c-dev
+ libusrsctp-dev
+ qca-dev
+ qt5-qtbase-dev
+ qt5-qtmultimedia-dev
+ qt5-qtsvg-dev
+ qt5-qtwebengine-dev
+ qt5-qtx11extras-dev
+ samurai
+ tidyhtml-dev
+ "
+subpackages="$pkgname-plugins"
+source="https://github.com/psi-plus/psi-plus-snapshots/archive/$pkgver/psi-plus-$pkgver.tar.gz"
+builddir="$srcdir/psi-plus-snapshots-$pkgver"
+options="!check" # no tests
+
+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=None \
+ -DCHAT_TYPE=webengine\
+ -DUSE_XSS=0 \
+ -DPSI_PLUS=1 \
+ -DENABLE_PLUGINS=ON \
+ -DBUILD_DEV_PLUGINS=ON \
+ $crossopts
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+plugins() {
+ amove usr/lib/psi-plus/plugins
+}
+
+sha512sums="
+c86f6701717ea2208c8ed95fd1b558d4848880fd479e18d09f97ab05e14c9854972369dfcd8d28ef20b5fb02d12fa812a0a5acd54281a80b2f5c3134e54ab8c5 psi-plus-1.5.1653.tar.gz
+"
diff --git a/testing/pspp/APKBUILD b/testing/pspp/APKBUILD
index 1275dd67dbe..98c0eecb9b9 100644
--- a/testing/pspp/APKBUILD
+++ b/testing/pspp/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=pspp
pkgver=1.4.1
-pkgrel=0
+pkgrel=3
pkgdesc="GNU PSPP is a program for statistical analysis of sampled data"
url="https://www.gnu.org/software/pspp/"
arch="all"
diff --git a/testing/ptpd/APKBUILD b/testing/ptpd/APKBUILD
index eafd866f41e..3429949671f 100644
--- a/testing/ptpd/APKBUILD
+++ b/testing/ptpd/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Denis Tolstov <tolstov_den@mail.ru>
pkgname=ptpd
pkgver=2.3.1
-pkgrel=0
+pkgrel=1
pkgdesc="Precision Time Protocol daemon"
options="!check" # No testsuite
url="https://github.com/ptpd/ptpd"
diff --git a/testing/ptylie/APKBUILD b/testing/ptylie/APKBUILD
index 878cd14d64a..26dcb175d10 100644
--- a/testing/ptylie/APKBUILD
+++ b/testing/ptylie/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=ptylie
pkgver=0.2
-pkgrel=0
+pkgrel=1
pkgdesc="Record a terminal session with automatic keyboard entry"
url="https://github.com/p-gen/ptylie"
arch="all"
diff --git a/testing/pully/APKBUILD b/testing/pully/APKBUILD
new file mode 100644
index 00000000000..94aa81fb4b9
--- /dev/null
+++ b/testing/pully/APKBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+# Contributor: Martijn Braam <martijn@brixit.nl>
+pkgname=pully
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="Gitlab webhook receiver daemon"
+url="https://git.sr.ht/~martijnbraam/pully"
+arch="all"
+license="GPL-3.0-only"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/pully/archive/$pkgver.tar.gz
+ pully.confd
+ pully.initd
+ "
+depends="python3"
+subpackages="$pkgname-openrc"
+
+package() {
+ install -D -m755 "$builddir"/pully.py \
+ "$pkgdir"/usr/bin/pully
+
+ install -D -m644 "$srcdir"/pully.confd \
+ "$pkgdir"/etc/conf.d/pully
+ install -D -m755 "$srcdir"/pully.initd \
+ "$pkgdir"/etc/init.d/pully
+}
+
+sha512sums="
+dd59b23375a969bd1e76d9f024abd63d9c64993e536d879bb37b33ab8963772b6f6e067fb10a5008b84ef00ab633668f7ce6bbc881d8bd49748855f6dc7d7921 pully-1.0.0.tar.gz
+5bea58d6a7359342238ae2b6e1a2c220c2e95ba860fd69460f8053c804fac3f1600bb1b02e2d9464f14d22d095159781a666070a82618191b19b590fd7844274 pully.confd
+d668da01a75793d0d0f4fb68aa0b750fcbf022060d0d5b76291e50f11c222b2c7a616de015dba4b43b6537621445519ee239edc5851b23f1da67649a43499f79 pully.initd
+"
diff --git a/testing/pully/pully.confd b/testing/pully/pully.confd
new file mode 100644
index 00000000000..b87a3e1c74b
--- /dev/null
+++ b/testing/pully/pully.confd
@@ -0,0 +1,10 @@
+# Configuration for /etc/init.d/pully
+
+# Path to the config file to use.
+#cfgfile="/etc/pully.conf"
+
+output_log="/var/log/pully.log"
+error_log="/var/log/pully.log"
+
+supervisor=supervise-daemon
+
diff --git a/testing/pully/pully.initd b/testing/pully/pully.initd
new file mode 100644
index 00000000000..4602d705692
--- /dev/null
+++ b/testing/pully/pully.initd
@@ -0,0 +1,21 @@
+#!/sbin/openrc-run
+
+name="Pully"
+description="Gitlab Webhook receiver"
+
+: ${cfgfile:="/etc/pully.conf"}
+: ${command_user:="root:root"}
+
+command="/usr/bin/pully"
+command_args="$cfgfile"
+
+required_files="$cfgfile"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -f --owner "$command_user" --mode "0644" $logfile
+}
diff --git a/testing/pulsar-client-cpp/APKBUILD b/testing/pulsar-client-cpp/APKBUILD
new file mode 100644
index 00000000000..eaa7cb62958
--- /dev/null
+++ b/testing/pulsar-client-cpp/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=pulsar-client-cpp
+pkgver=3.1.2
+pkgrel=3
+pkgdesc="Apache Pulsar C++ client"
+url="https://github.com/apache/pulsar-client-cpp"
+arch="all"
+# Apache-2.0 : pulsar
+# BSD-2-Clause : pulsar-client-cpp/lib/lz4/lz4.{h,c}
+# Zlib : pulsar-client-cpp/lib/checksum/crc32c_sw.cc
+license="Apache-2.0 AND BSD-2-Clause AND Zlib"
+subpackages="$pkgname-dev"
+options="!check" # test requires docker/java/pulsar-server
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ boost-dev
+ cmake
+ curl-dev
+ openssl-dev>3
+ protobuf-dev
+ samurai
+ snappy-dev
+ zstd-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/apache/pulsar-client-cpp/archive/refs/tags/v$pkgver.tar.gz
+ cxx17.patch
+ no-werror.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 \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_SKIP_BUILD_RPATH=ON \
+ -DBUILD_DYNAMIC_LIB=ON \
+ -DBUILD_PERF_TOOLS=OFF \
+ -DBUILD_STATIC_LIB=OFF \
+ -DBUILD_TESTS=OFF \
+ -DLIBRARY_VERSION=$pkgver \
+ $CMAKE_CROSSOPTS .
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+9339eab337ab08a7ba3c52d96e017bc11fbfd604e65a9820d78348ed4adba285d3380738a063311b0cb542d17299b2770936f8a2be6d5cb8fa85b0e339bd6f0b pulsar-client-cpp-3.1.2.tar.gz
+20591a050403d9e49a75c52cba1555a3568d7ec85212d051808ac6e308d8adcc846df25e2f0d14dda0a75ccadace346e9b95a13508b31c31be661a96cbf9e2f4 cxx17.patch
+6a757a63ae380de1d9b068a8567aad34a90cf8caa01dee48091d1cfa6c5584cd619392896c4bbfa4695e3def5934e87b5cdcf363217a0020f1784e36a976f08d no-werror.patch
+"
diff --git a/testing/pulsar-client-cpp/cxx17.patch b/testing/pulsar-client-cpp/cxx17.patch
new file mode 100644
index 00000000000..d1c07ec727c
--- /dev/null
+++ b/testing/pulsar-client-cpp/cxx17.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0e346e5..ed267a9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -88,7 +88,7 @@ find_package(Threads REQUIRED)
+ MESSAGE(STATUS "Threads library: " ${CMAKE_THREAD_LIBS_INIT})
+
+ set(Boost_NO_BOOST_CMAKE ON)
+-set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 17)
+ set(CMAKE_C_STANDARD 11)
+
+ # Compiler specific configuration:
diff --git a/testing/pulsar-client-cpp/no-werror.patch b/testing/pulsar-client-cpp/no-werror.patch
new file mode 100644
index 00000000000..c7b7c8836c9
--- /dev/null
+++ b/testing/pulsar-client-cpp/no-werror.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7db05c4..0e346e5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -100,7 +100,7 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+ # ?? Don't have this to test with
+ else() # GCC or Clang are mostly compatible:
+ # Turn on warnings and enable warnings-as-errors:
+- add_compile_options(-Wall -Wformat-security -Wvla -Werror)
++ add_compile_options(-Wall -Wformat-security -Wvla)
+ # Turn off certain warnings that are too much pain for too little gain:
+ add_compile_options(-Wno-sign-compare -Wno-deprecated-declarations -Wno-error=cpp)
+ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" OR APPLE)
diff --git a/testing/pulseaudio-modules-bt/APKBUILD b/testing/pulseaudio-modules-bt/APKBUILD
deleted file mode 100644
index 238d26a38d3..00000000000
--- a/testing/pulseaudio-modules-bt/APKBUILD
+++ /dev/null
@@ -1,55 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# This APKBUILD is looking for a new maintainer
-pkgname=pulseaudio-modules-bt
-pkgver=1.4
-pkgrel=2
-# TODO: Package libldacBT, so that this also provides LDAC support
-pkgdesc="Pulseaudio bluetooth with support for APTX, APTX-HD, AAC"
-url="https://github.com/EHfive/pulseaudio-modules-bt"
-arch="all"
-license="GPL-3.0-only"
-_pulseaudio_ver=15.0
-makedepends="
- bluez-dev
- cmake
- dbus-dev
- ffmpeg-dev
- libtool
- pulseaudio-dev
- sbc-dev
- fdk-aac-dev
- "
-source="
- $pkgname.tar.gz::https://github.com/EHfive/pulseaudio-modules-bt/archive/v$pkgver.tar.gz
- https://freedesktop.org/software/pulseaudio/releases/pulseaudio-$_pulseaudio_ver.tar.xz
- "
-provides="pulseaudio-bluez=$_pulseaudio_ver"
-options="!check" # no unit tests provided
-
-prepare() {
- default_prepare
-
- # As this provides a pulseaudio module, the internal pulseaudio API is used.
- # This API is not provided by pulseaudio-dev, so we make the headers
- # available directly from source.
- rm -rf pa
- ln -sf ../pulseaudio-$_pulseaudio_ver pa
-}
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-390b6ad0931b464a546c6624bec38cc5b6da7084e4defe2045f4164b0c910a9dd6d4327466eb0e53fcfbc78c995cf2e3634a75b67ee2a14f38ed18e31b5d2bce pulseaudio-modules-bt.tar.gz
-352ef20384c76c631c0faa73b08e2318902a433712e0c086a5ac7a0ae58873c8d4be8f35879bdec71a93b19ae8e2ba073cacac4d56215bcf58375a0cd9d88833 pulseaudio-15.0.tar.xz
-"
diff --git a/testing/pulseview/APKBUILD b/testing/pulseview/APKBUILD
index 40f28cae141..9c11617d3ae 100644
--- a/testing/pulseview/APKBUILD
+++ b/testing/pulseview/APKBUILD
@@ -1,11 +1,21 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=pulseview
pkgver=0.4.2
-pkgrel=2
+pkgrel=7
pkgdesc="QT-based GUI frontend for sigrok"
url="https://sigrok.org/wiki/PulseView"
-makedepends="libserialport-dev libsigrok-dev libsigrokdecode-dev glibmm-dev
- qt5-qtbase-dev qt5-qtsvg-dev boost-dev cmake qt5-qttools-dev"
+makedepends="
+ boost-dev
+ cmake
+ glibmm-dev
+ libserialport-dev
+ libsigrok-dev
+ libsigrokdecode-dev
+ qt5-qtbase-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ samurai
+ "
# Without qt5-qtsvg some icons in the GUI are missing
depends="qt5-qtsvg"
arch="all !riscv64" # fails to build on riscv64
@@ -18,7 +28,8 @@ source="http://sigrok.org/download/source/pulseview/pulseview-$pkgver.tar.gz
subpackages="$pkgname-doc"
build() {
- cmake . -DCMAKE_INSTALL_PREFIX=/usr \
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_BINDIR=/usr/bin \
-DCMAKE_INSTALL_SBINDIR=/usr/sbin \
-DCMAKE_INSTALL_SYSCONFDIR=/etc/hiawatha \
@@ -26,15 +37,15 @@ build() {
-DCMAKE_INSTALL_MANDIR=/usr/share/man \
-DENABLE_TESTS=y \
-DENABLE_DECODE=y
- make
+ cmake --build build
}
check() {
- ctest --output-on-failure
+ ctest --output-on-failure --test-dir build
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
diff --git a/testing/pulumi-watch/APKBUILD b/testing/pulumi-watch/APKBUILD
new file mode 100644
index 00000000000..8729efed3fc
--- /dev/null
+++ b/testing/pulumi-watch/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=pulumi-watch
+pkgver=0.1.5
+pkgrel=2
+pkgdesc="Helper utility for pulumi watch command"
+url="https://github.com/pulumi/watchutil-rs"
+# blocked by pulumi
+arch="x86_64 aarch64"
+license="Apache-2.0"
+makedepends="cargo cargo-auditable"
+depends="pulumi"
+source="$pkgname-$pkgver.tar.gz::https://github.com/pulumi/watchutil-rs/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/watchutil-rs-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/pulumi-watch -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+61ddd07f533811badc269332e97f3e9f6337bb3c22e4c5d237bec03596791ca900b408edc7cd57b4474ac7256a283865936d99ad70d4690667e4f481aa62865b pulumi-watch-0.1.5.tar.gz
+"
diff --git a/testing/pulumi/10-install1.patch b/testing/pulumi/10-install1.patch
deleted file mode 100644
index 685f493b179..00000000000
--- a/testing/pulumi/10-install1.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-Workaround some issues with the pulumi build pipeline.
-Currently the build system doesn't quite provide a way to build
-just the native components we need to apk package.
-
-diff --git a/Makefile b/Makefile
-index 0b81a9de2..26a2f8e8a 100644
---- a/Makefile
-+++ b/Makefile
-@@ -53,6 +56,8 @@ install:: generate
-
- install_all:: install
-
-+install_plugin_all:: install
-+
- dist:: build
- cd pkg && go install -ldflags "-X github.com/pulumi/pulumi/pkg/v2/version.Version=${VERSION}" ${PROJECT}
-
-diff --git a/build/common.mk b/build/common.mk
-index 20690ac23..c49c5fbd3 100644
---- a/build/common.mk
-+++ b/build/common.mk
-@@ -128,6 +128,7 @@ only_test_fast:: $(SUB_PROJECTS:%=%_only_test_fast)
- default:: $(SUB_PROJECTS:%=%_default)
- all:: $(SUB_PROJECTS:%=%_all)
- install_all:: $(SUB_PROJECTS:%=%_install_all)
-+install_plugin_all:: $(SUB_PROJECTS:%=%_install_plugin_all)
- test_all:: $(SUB_PROJECTS:%=%_test_all)
- ensure:: $(SUB_PROJECTS:%=%_ensure)
- dist:: $(SUB_PROJECTS:%=%_dist)
-@@ -212,6 +213,8 @@ $(SUB_PROJECTS:%=%_build):
- @$(MAKE) -C ./$(@:%_build=%) build
- $(SUB_PROJECTS:%=%_install_all):
- @$(MAKE) -C ./$(@:%_install_all=%) install
-+$(SUB_PROJECTS:%=%_install_plugin_all):
-+ @$(MAKE) -C ./$(@:%_install_plugin_all=%) install_plugin
- $(SUB_PROJECTS:%=%_lint):
- @$(MAKE) -C ./$(@:%_lint=%) lint
- $(SUB_PROJECTS:%=%_test_fast):
-diff --git a/sdk/nodejs/Makefile b/sdk/nodejs/Makefile
-index 3c5769223..04d92bcfb 100644
---- a/sdk/nodejs/Makefile
-+++ b/sdk/nodejs/Makefile
-@@ -32,11 +32,11 @@ build_plugin::
-
- build:: build_package build_plugin
-
--install_package:: build
-+install_package:: build_package
- cp dist/pulumi-resource-pulumi-nodejs "$(PULUMI_BIN)"
- cp dist/pulumi-analyzer-policy "$(PULUMI_BIN)"
-
--install_plugin:: build
-+install_plugin:: build_plugin
- GOBIN=$(PULUMI_BIN) go install -ldflags "-X github.com/pulumi/pulumi/sdk/v2/go/common/version.Version=${VERSION}" ${LANGUAGE_HOST}
-
- install:: install_package install_plugin
diff --git a/testing/pulumi/APKBUILD b/testing/pulumi/APKBUILD
deleted file mode 100644
index bbc781fb744..00000000000
--- a/testing/pulumi/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Fraser Waters <frassle@gmail.com>
-# Maintainer: Fraser Waters <frassle@gmail.com>
-pkgname=pulumi
-pkgver=2.20.0
-pkgrel=4
-pkgdesc="Pulumi's Infrastructure as Code SDK"
-url="https://github.com/pulumi/pulumi"
-# x86_64 is the only supported architecture by pulumi
-arch="x86_64"
-license="Apache-2.0"
-depends="ca-certificates"
-makedepends="go bash"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pulumi/pulumi/archive/v$pkgver.tar.gz
- 10-install1.patch
- "
-builddir="$srcdir/github.com/pulumi/$pkgname"
-
-prepare() {
- mkdir -p ${builddir%/*}
- mv $srcdir/$pkgname-$pkgver "$builddir"/
- mkdir -p "$srcdir"/opt
- default_prepare
-}
-
-build() {
- export GOFLAGS="$GOFLAGS -modcacherw"
- PULUMI_VERSION="v$pkgver" PULUMI_ROOT="$srcdir"/opt GOPATH="$srcdir" make install_plugin_all
-}
-
-check() {
- # It would be good to at least run the fast tests but this hits OOM on the alpine pipelines
- # PULUMI_ROOT="$srcdir"/opt GOPATH="$srcdir" make test_fast
- [ "$("$srcdir"/opt/bin/"$pkgname" version)" == "v$pkgver" ]
-}
-
-package() {
- install -Dm755 -t "$pkgdir"/usr/bin "$srcdir"/opt/bin/*
-}
-
-sha512sums="7b756336fd0259027a1e22ecf8fb26efaaa3653943e4d3c653d9c35a9fa1312a886d2fb18efdf82fe7f1a9c4ade1d690d8e85ec811f8b606d76e5efde38796f7 pulumi-2.20.0.tar.gz
-96783665ebb3993ef767d1e35781901ef115508c527e868c5816e37850b2e28372b11f1878c5c18c3cd276041cb85761ee50a1d838cf95dc21f19befb895bfca 10-install1.patch"
diff --git a/testing/pure-data/APKBUILD b/testing/pure-data/APKBUILD
new file mode 100644
index 00000000000..67784a4a16f
--- /dev/null
+++ b/testing/pure-data/APKBUILD
@@ -0,0 +1,80 @@
+# Maintainer:
+pkgname=pure-data
+pkgver=0.54.1
+_pkgver=0.54-1
+_icon=9e4f117ade0bc1da951981128998ad82fff83b0c
+pkgrel=0
+pkgdesc="Pure Data real-time music and multimedia environment"
+url="https://puredata.info"
+arch="aarch64 x86_64"
+license="BSD-3-Clause"
+makedepends="
+ alsa-lib-dev
+ autoconf
+ automake
+ fftw-dev
+ jack-dev
+ libtool
+ portaudio-dev
+ portmidi-dev
+ tk-dev
+ "
+subpackages="$pkgname-doc $pkgname-libs $pkgname-dev"
+source="https://msp.puredata.info/Software/pd-$_pkgver.src.tar.gz
+ pd-$_icon.svg::https://raw.githubusercontent.com/pure-data/pd-icon/$_icon/masters/icon.svg
+ system-portmidi.patch
+ implicit.patch
+ "
+builddir="$srcdir/pd-$_pkgver"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ EXTERNAL_LDFLAGS="$LDFLAGS" \
+ ./configure \
+ --prefix=/usr \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --enable-fftw \
+ --enable-alsa \
+ --enable-jack \
+ --enable-libpd \
+ --enable-libpd-utils \
+ --enable-libpd-instance \
+ --enable-libpd-extras \
+ --disable-oss \
+ --disable-static \
+ --without-local-portaudio \
+ --without-local-portmidi
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ ln -sfv ../../../bin/pd "$pkgdir"/usr/lib/pd/bin/pd
+
+ install -Dm644 "$srcdir"/pd-$_icon.svg \
+ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/pd.svg
+
+ rm -r "$pkgdir"/usr/share/pixmaps
+}
+
+doc() {
+ default_doc
+
+ amove usr/lib/pd/doc
+}
+
+sha512sums="
+619a4bb9ddb13fdc278e868c98c8715e1251936f34d5d43da275cf4c9fdd18aa4a140c7def7e6201b6aa0ea3193afc65afe85efd44139a4534b332187b675a55 pd-0.54-1.src.tar.gz
+8d8b274e159bd4cc6a83d5d9d5019b106a74fa61943b36e2a56336b9c3c2c1b1092ce7f79f5264eb69ca43a9360404b800df338b2ad738ca3c237a8ae3c9c41d pd-9e4f117ade0bc1da951981128998ad82fff83b0c.svg
+8a346e9ecfe31de92639ca546bbdf7f9c55d3123bf71dcaeea77b55fdf0b9ec5850b23c2b25396b9b7bec46c0b0bdcae9eaf4c5d35d0425a4ae5f592401ceccf system-portmidi.patch
+ac563547cc677cda793badb7994548867e7f55c1a59167de7e92f871f711b6f1fa188e9fa30413a27e8d76adbd01e7a795a577bfc3599f91a60b055ea25d21a0 implicit.patch
+"
diff --git a/testing/pure-data/implicit.patch b/testing/pure-data/implicit.patch
new file mode 100644
index 00000000000..999a4d5ced0
--- /dev/null
+++ b/testing/pure-data/implicit.patch
@@ -0,0 +1,12 @@
+diff --git a/src/d_fft_fftw.c b/src/d_fft_fftw.c
+index 10d1ce4..200eaf5 100644
+--- a/src/d_fft_fftw.c
++++ b/src/d_fft_fftw.c
+@@ -7,6 +7,7 @@
+ /* changes and additions for FFTW3 by Thomas Grill */
+
+ #include "m_pd.h"
++#include "m_imp.h"
+ #include <fftw3.h>
+
+ int ilog2(int n);
diff --git a/testing/pure-data/system-portmidi.patch b/testing/pure-data/system-portmidi.patch
new file mode 100644
index 00000000000..7e6322ff7d6
--- /dev/null
+++ b/testing/pure-data/system-portmidi.patch
@@ -0,0 +1,28 @@
+Patch-Source: https://github.com/archlinux/svntogit-community/blob/9d9b3d8f2b48a61848634ef48812a72b574ddd2c/trunk/pd-0.52.1-system_portmidi.patch
+--
+diff -ruN a/configure.ac b/configure.ac
+--- a/configure.ac 2021-12-20 00:21:34.000000000 +0100
++++ b/configure.ac 2021-12-20 18:37:26.445665793 +0100
+@@ -422,9 +422,7 @@
+ portmidi=no])
+ AS_IF([test x$portmidi = xyes],[
+ AS_IF([test x$local_portmidi = xno],[
+- # fall back to local portmidi if not foud
+- AC_CHECK_LIB([portmidi], [Pm_Initialize],
+- [AC_MSG_NOTICE([Using system PortMidi])], [local_portmidi=yes])
++ PKG_CHECK_MODULES([LIBPORTMIDI], [portmidi])
+ ])
+ AS_IF([test x$local_portmidi = xyes],[
+ AS_IF([test -d "$srcdir/portmidi"],[
+diff -ruN a/src/Makefile.am b/src/Makefile.am
+--- a/src/Makefile.am 2021-12-20 00:21:34.000000000 +0100
++++ b/src/Makefile.am 2021-12-20 18:37:51.975761871 +0100
+@@ -292,7 +292,7 @@
+ pd_LDADD_standalone += $(top_builddir)/portmidi/libportmidi.a
+ else
+ # link the system's portmidi
+-pd_LDADD_standalone += -lportmidi
++pd_LDADD_standalone += @LIBPORTMIDI_LIBS@
+ endif
+
+ # need Carbon framework for PM on Mac
diff --git a/testing/pure-ftpd/APKBUILD b/testing/pure-ftpd/APKBUILD
deleted file mode 100644
index e065e3c6ea5..00000000000
--- a/testing/pure-ftpd/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Contributor: Douglas Haber <me@douglashaber.com>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=pure-ftpd
-pkgver=1.0.50
-pkgrel=0
-pkgdesc="Pure FTPD FTP daemon"
-url="https://pureftpd.org/"
-arch="all"
-license="ISC"
-makedepends="openssl-dev"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-$pkgver.tar.gz
- pure-ftpd.initd
- pure-ftpd.confd
- minimal.patch
- "
-
-# secfixes:
-# 1.0.49-r1:
-# - CVE-2020-9274
-# - CVE-2020-9365
-
-build() {
- ./configure \
- --prefix=/usr \
- --with-minimal \
- --with-throttling \
- --with-puredb \
- --with-tls
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm755 ../$pkgname.initd \
- "$pkgdir/etc/init.d/$pkgname"
-
- install -Dm644 ../$pkgname.confd \
- "$pkgdir/etc/conf.d/$pkgname"
-}
-
-sha512sums="
-d790253fe82a3d83534afd80f5ac9a6995ef4e89f5226cede273f944acc97dccf0275d62f1d5bd056130ed4613f5704ee2746cd6357581e45ea2d730f254afac pure-ftpd-1.0.50.tar.gz
-fde2e979410779cc0044e1190b88fe2f0956166b68e2d7fb94520bc0803a3ec85814f66e09a7fdae4ebead872c9a48d973cf7ef3d2818f2298b22ac629cfcf25 pure-ftpd.initd
-a5cc8e59178a5d0f7b5909d09009ef6ace1f8e6874bd733e21bc30f4899447e70b020a0369077132751ceb28afa971588efedcce3dea83e9b043b1545caf3393 pure-ftpd.confd
-8d05f6e61f5849d59843b6117d2f0dac25a543298f78e982296177ef464f1c7db12b9450a0b31553906600e03b38218f75c0e690cb370e91a562b38fb4f1adbe minimal.patch
-"
diff --git a/testing/pure-ftpd/minimal.patch b/testing/pure-ftpd/minimal.patch
deleted file mode 100644
index 89152034a72..00000000000
--- a/testing/pure-ftpd/minimal.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/src/ftpd.c b/src/ftpd.c
-index 60b95b6..6aee9bc 100644
---- a/src/ftpd.c
-+++ b/src/ftpd.c
-@@ -1080,8 +1080,6 @@ void dobanner(const int type)
-
- #endif
-
--#ifndef MINIMAL
--
- int modernformat(const char *file, char *target, size_t target_size,
- const char * const prefix)
- {
-@@ -1228,8 +1226,6 @@ void doallo(const off_t size)
- }
- }
-
--#endif
--
- void dositetime(void)
- {
- char tmp[64];
-
diff --git a/testing/pure-ftpd/pure-ftpd.confd b/testing/pure-ftpd/pure-ftpd.confd
deleted file mode 100644
index 29b15a5a892..00000000000
--- a/testing/pure-ftpd/pure-ftpd.confd
+++ /dev/null
@@ -1,90 +0,0 @@
-# Config file for /etc/init.d/pure-ftpd
-##Comment variables out to disable its features, or change the values in it... ##
-
-## This variable must be uncommented in order for the server to start ##
-#IS_CONFIGURED="yes"
-
-## FTP Server,Port (separated by comma) ##
-## If you prefer host names over IP addresses, it's your choice:
-## SERVER="-S ftp.rtchat.com,21"
-## IPv6 addresses are supported.
-## !!! WARNING !!!
-## Using an invalid IP will result in the server not starting,
-## but reporting a correct start!
-## SERVER="-S 192.168.0.1,21"
-## By default binds to all available IPs.
-SERVER="-S 21"
-
-## Number of simultaneous connections in total, and per IP ##
-MAX_CONN="-c 30"
-MAX_CONN_IP="-C 10"
-
-## Don't allow uploads if the partition is more full then this var ##
-DISK_FULL="-k 90%"
-
-## If your FTP server is behind a NAT box, uncomment this ##
-#USE_NAT="-N"
-
-## Authentication mechanisms (others are 'pam', ...) ##
-## Further infos can be found in the README file.
-AUTH="-l unix"
-
-## Change the maximum idle time (in minutes) ##
-## If this variable is not defined, it will default to 15 minutes.
-#TIMEOUT="-I <timeout>'"
-
-## Facility used for syslog logging ##
-## If this variable is not defined, it will default to the 'ftp' facility.
-## Logging can be disabled with '-f none'.
-#LOG="-f <facility>"
-
-## Charset conversion support *experimental* ##
-## Only works if USE "charconv" is enabled (only Pure-FTPd >=1.0.21).
-## Set the charset of the filesystem.
-# CHARCONV="--fscharset <charset>"
-
-## If you want to process each file uploaded through Pure-FTPd, enter the name
-## of the script that should process the files below.
-## man pure-uploadscript to learn more about how to write this script.
-# UPLOADSCRIPT="/path/to/uploadscript"
-
-## Misc. Others ##
-MISC_OTHER="-A -x -j -R -Z"
-
-#
-# Use these inside $MISC_OTHER
-# More can be found on "http://download.pureftpd.org/pub/pure-ftpd/doc/README"
-#
-# -A [ chroot() everyone, but root ]
-# -e [ Only allow anonymous users ]
-# -E [ Only allow authenticated users. Anonymous logins are prohibited. ]
-# -i [ Disallow upload for anonymous users, whatever directory perms are ]
-# -j [ If the home directory of a user doesn't exist, auto-create it ]
-# -M [ Allow anonymous users to create directories. ]
-# -R [ Disallow users (even non-anonymous ones) usage of the CHMOD command ]
-# -x [ In normal operation mode, authenticated users can read/write
-# files beginning with a dot ('.'). Anonymous users can't, for security reasons
-# (like changing banners or a forgotten .rhosts). When '-x' is used, authenticated
-# users can download dot-files, but not overwrite/create them, even if they own
-# them. ]
-# -X [ This flag is identical to the previous one (writing
-# dot-files is prohibited), but in addition, users can't even *read* files and
-# directories beginning with a dot (like "cd .ssh"). ]
-# -D [ List files beginning with a dot ('.') even when the client doesn't
-# append the '-a' option to the list command. A workaround for badly
-# configured FTP clients. ]
-# -G [ Disallow renaming. ]
-# -d [ Send various debugging messages to the syslog. ONLY for DEBUG ]
-# -F <fortune file> [ Display a fortune cookie on login. Check the README file ]
-# -H [ By default, fully-qualified host names are logged. The '-H' flag avoids host names resolution. ]
-
-
-# Some filesystems don't like accesses being memory mapped. This happens for
-# example with ftpwho on JFFS2 filesystems (bug #330563). If you happen to
-# have such a filesystem on /var set TMPFS_MOUNT to "true".
-TMPFS_MOUNT="false"
-
-# Special mount options (like nosuid or nodev) for the tmpfs mount can be added
-# here. Several options must be separated by comma: "nodev,nosuid"
-#TMPFS_OPTS=""
-
diff --git a/testing/pure-ftpd/pure-ftpd.initd b/testing/pure-ftpd/pure-ftpd.initd
deleted file mode 100644
index 9ef0ea2ece1..00000000000
--- a/testing/pure-ftpd/pure-ftpd.initd
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/net-ftp/pure-ftpd/files/pure-ftpd.rc11,v 1.4 2012/03/29 11:33:22 polynomial-c Exp $
-
-ftpd_pidfile="/var/run/pure-ftpd.pid"
-script_pidfile="/var/run/pure-uploadscript.pid"
-ftpd_rundir="/var/lib/run/pure-ftpd"
-daemon="/usr/sbin/pure-ftpd"
-script_daemon="/usr/sbin/pure-uploadscript"
-
-depend() {
- need net
-}
-
-checkconfig() {
- if [ -z "$IS_CONFIGURED" ] ; then
- eerror "You need to setup /etc/conf.d/pure-ftpd first!"
- return 1
- fi
-}
-
-start() {
- checkconfig || return 1
-
- UPSCRIPT=""
- if [ -n "$UPLOADSCRIPT" ] ; then
- UPSCRIPT="--uploadscript"
- fi
-
- FTPD_CONFIG="$SERVER $MAX_CONN $MAX_CONN_IP $DISK_FULL $USE_NAT $AUTH
- $LOG $TIMEOUT $CHARCONV $MISC_OTHER $UPSCRIPT"
-
- WAIT="--wait 100"
-
- if ${TMPFS_MOUNT:-false} && grep -q tmpfs /proc/filesystems ; then
- [ -n "${TMPFS_OPTS}" ] && MOUNT_OPTS="-o ${TMPFS_OPTS}"
- einfo "Mounting tmpfs on ${ftpd_rundir}"
- mount ${MOUNT_OPTS} -t tmpfs tmpfs ${ftpd_rundir} \
- || eerror "Unable to mount tmpfs"
- fi
-
- ebegin "Starting Pure-FTPd"
- start-stop-daemon --start --quiet --pidfile ${ftpd_pidfile} \
- --make-pidfile --background --exec /usr/sbin/pure-ftpd ${WAIT} \
- -- $(echo ${FTPD_CONFIG} | sed 's@\([[:space:]]\+\|^\)-B\([[:space:]]\+\|$\)@\1@g')
- result=$?
- if [ $result -ne 0 ] ; then
- eend 1 "Could not launch Pure-FTPd"
- else
- eend $result
- if [ -n "$UPLOADSCRIPT" ] ; then
- ebegin "Starting Pure-FTPd upload script"
- start-stop-daemon --start --quiet --make-pidfile \
- --pidfile ${script_pidfile} \
- --exec ${script_daemon} --background ${WAIT} \
- -- -r $UPLOADSCRIPT
- eend $?
- fi
- fi
-}
-
-stop() {
- if [ -n "$UPLOADSCRIPT" ] ; then
- ebegin "Stopping Pure-FTPd upload script"
- start-stop-daemon --stop --retry 20 --quiet \
- --pidfile ${script_pidfile}
- eend $?
- fi
- ebegin "Stopping Pure-FTPd"
- start-stop-daemon --stop --retry 20 --quiet --pidfile ${ftpd_pidfile}
- eend $?
-
- if ${TMPFS_MOUNT:-false} && mount | grep -q ${ftpd_rundir} ; then
- umount ${ftpd_rundir} >/dev/null 2>&1
- fi
-}
diff --git a/testing/pw-volume/APKBUILD b/testing/pw-volume/APKBUILD
new file mode 100644
index 00000000000..864217211a6
--- /dev/null
+++ b/testing/pw-volume/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=pw-volume
+pkgver=0.5.0
+pkgrel=1
+pkgdesc="Basic interface to PipeWire volume controls"
+url="https://github.com/smasher164/pw-volume"
+arch="all !s390x" # blocked by pipewire -> libcamera -> libcamera-ipa
+license="MIT"
+depends="cmd:pw-cli cmd:pw-dump"
+makedepends="cargo cargo-auditable"
+source="https://github.com/smasher164/pw-volume/archive/v$pkgver/pw-volume-$pkgver.tar.gz
+ update-lockfile.patch
+ "
+# !check: no tests provided
+# net: fetch dependencies
+options="!check net"
+
+export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -D -m755 target/release/pw-volume -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+05de82e615dee4e599a786d7b384534462042547b3a26b910b475e7d2c77fa4926325a0e21cd78610aa37e11d523aac996a351a2127b74f15ac0469144a1e337 pw-volume-0.5.0.tar.gz
+4cedcb45535611376e75439a279d9f17dff4e15d62864c630c00ea36df4b939d1f2e8b15200181f3c83500ef8197367777558f4e0c5c7d3d48888dfa812b73ce update-lockfile.patch
+"
diff --git a/testing/pw-volume/update-lockfile.patch b/testing/pw-volume/update-lockfile.patch
new file mode 100644
index 00000000000..ff43687bffb
--- /dev/null
+++ b/testing/pw-volume/update-lockfile.patch
@@ -0,0 +1,180 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index d9447ab..a57dfca 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -4,18 +4,18 @@ version = 3
+
+ [[package]]
+ name = "ansi_term"
+-version = "0.11.0"
++version = "0.12.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+ dependencies = [
+ "winapi",
+ ]
+
+ [[package]]
+ name = "anyhow"
+-version = "1.0.56"
++version = "1.0.69"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27"
++checksum = "224afbd727c3d6e4b90103ece64b8d1b67fbb1973b1046c2281eed3f3803f800"
+
+ [[package]]
+ name = "atty"
+@@ -42,9 +42,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "clap"
+-version = "2.33.3"
++version = "2.34.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
++checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+ dependencies = [
+ "ansi_term",
+ "atty",
+@@ -72,9 +72,9 @@ checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.107"
++version = "0.2.139"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fbe5e23404da5b4f555ef85ebed98fb4083e55a00c317800bc2a50ede9f3d219"
++checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
+
+ [[package]]
+ name = "proc-macro-error"
+@@ -102,11 +102,11 @@ dependencies = [
+
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.32"
++version = "1.0.51"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43"
++checksum = "5d727cae5b39d21da60fa540906919ad737832fe0b1c165da3a34d6548c849d6"
+ dependencies = [
+- "unicode-xid",
++ "unicode-ident",
+ ]
+
+ [[package]]
+@@ -122,33 +122,33 @@ dependencies = [
+
+ [[package]]
+ name = "quote"
+-version = "1.0.10"
++version = "1.0.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05"
++checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
+ dependencies = [
+ "proc-macro2",
+ ]
+
+ [[package]]
+ name = "ryu"
+-version = "1.0.5"
++version = "1.0.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
++checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
+
+ [[package]]
+ name = "serde"
+-version = "1.0.130"
++version = "1.0.152"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913"
++checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+ dependencies = [
+ "serde_derive",
+ ]
+
+ [[package]]
+ name = "serde_derive"
+-version = "1.0.130"
++version = "1.0.152"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b"
++checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -157,9 +157,9 @@ dependencies = [
+
+ [[package]]
+ name = "serde_json"
+-version = "1.0.92"
++version = "1.0.93"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7434af0dc1cbd59268aa98b4c22c131c0584d2232f6fb166efb993e2832e896a"
++checksum = "cad406b69c91885b5107daf2c29572f6c8cdb3c66826821e286c533490c0bc76"
+ dependencies = [
+ "itoa",
+ "ryu",
+@@ -174,29 +174,29 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+ [[package]]
+ name = "syn"
+-version = "1.0.81"
++version = "1.0.107"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966"
++checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "unicode-xid",
++ "unicode-ident",
+ ]
+
+ [[package]]
+ name = "test-case"
+-version = "2.1.0"
++version = "2.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "196e8a70562e252cc51eaaaee3ecddc39803d9b7fd4a772b7c7dae7cdf42a859"
++checksum = "21d6cf5a7dffb3f9dceec8e6b8ca528d9bd71d36c9f074defb548ce161f598c0"
+ dependencies = [
+ "test-case-macros",
+ ]
+
+ [[package]]
+ name = "test-case-macros"
+-version = "2.1.0"
++version = "2.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8dd461f47ade621665c9f4e44b20449341769911c253275dc5cb03726cbb852c"
++checksum = "e45b7bf6e19353ddd832745c8fcf77a17a93171df7151187f26623f2b75b5b26"
+ dependencies = [
+ "cfg-if",
+ "proc-macro-error",
+@@ -215,16 +215,16 @@ dependencies = [
+ ]
+
+ [[package]]
+-name = "unicode-width"
+-version = "0.1.9"
++name = "unicode-ident"
++version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
++checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
+
+ [[package]]
+-name = "unicode-xid"
+-version = "0.2.2"
++name = "unicode-width"
++version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
++checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+ [[package]]
+ name = "vec_map"
diff --git a/testing/pwauth/APKBUILD b/testing/pwauth/APKBUILD
index 3789422566a..55242a9a341 100644
--- a/testing/pwauth/APKBUILD
+++ b/testing/pwauth/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Nathan Rennie-Waldock <nathan.renniewaldock@gmail.com>
pkgname=pwauth
pkgver=2.3.11
-pkgrel=1
+pkgrel=2
pkgdesc="Authenticator for mod_authnz_external and Apache"
url="https://github.com/phokz/pwauth"
arch="all"
diff --git a/testing/pwru/APKBUILD b/testing/pwru/APKBUILD
new file mode 100644
index 00000000000..160e3086b7c
--- /dev/null
+++ b/testing/pwru/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=pwru
+pkgver=1.0.5
+pkgrel=2
+pkgdesc="eBPF-based Linux kernel networking debugger"
+url="https://github.com/cilium/pwru"
+arch="x86_64 aarch64" # the only platforms supported upstream
+license="GPL-2.0-or-later"
+makedepends="go clang llvm libpcap-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cilium/pwru/archive/refs/tags/v$pkgver.tar.gz"
+
+export CGO_ENABLED=1
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS -L/usr/lib -lpcap"
+
+ TARGET_GOARCH=$(go env GOARCH) go generate
+ go build -v -ldflags "-X github.com/cilium/pwru/internal/pwru.Version=v$pkgver"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+17ea7f106498735804947feeac94458551a847a2b8b409421c68c9d7035b13124a0382812f7b6ff5e8f0567fb013d4b68b9924613c0a3c60577a8cacb05f3de1 pwru-1.0.5.tar.gz
+"
diff --git a/testing/pxalarm/APKBUILD b/testing/pxalarm/APKBUILD
new file mode 100644
index 00000000000..5bcfae1c68d
--- /dev/null
+++ b/testing/pxalarm/APKBUILD
@@ -0,0 +1,19 @@
+# Contributor: Sam Nystrom <sam@samnystrom.dev>
+# Maintainer: Sam Nystrom <sam@samnystrom.dev>
+pkgname=pxalarm
+pkgver=2.0.0a
+pkgrel=0
+pkgdesc="POSIX sh simple alarm"
+url="https://github.com/iruzo/pxalarm"
+arch="noarch"
+license="MIT"
+source="$pkgname-$pkgver.tar.gz::https://github.com/iruzo/pxalarm/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+package() {
+ install -Dm755 "$builddir"/pxalarm "$pkgdir"/usr/bin/pxalarm
+}
+
+sha512sums="
+bbdabb3a71371703b0d92281727997e2889f90437b2d7a4d59b4da263f6d7dca1e8e0f0ce0c2cf080f4a7558a34fd760e4b2d2c631ae053bc3ed6b6397ec330b pxalarm-2.0.0a.tar.gz
+"
diff --git a/testing/pxmenu/APKBUILD b/testing/pxmenu/APKBUILD
new file mode 100644
index 00000000000..1f6cbaeca5b
--- /dev/null
+++ b/testing/pxmenu/APKBUILD
@@ -0,0 +1,20 @@
+# Contributor: Sam Nystrom <sam@samnystrom.dev>
+# Maintainer: Sam Nystrom <sam@samnystrom.dev>
+pkgname=pxmenu
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="POSIX sh simple menu"
+url="https://github.com/iruzo/pxmenu"
+arch="noarch"
+license="MIT"
+depends="ncurses"
+source="$pkgname-$pkgver.tar.gz::https://github.com/iruzo/pxmenu/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+package() {
+ install -Dm755 ./pxmenu "$pkgdir"/usr/bin/pxmenu
+}
+
+sha512sums="
+8126cbf96204a010e8bf8da241a52f11fe902856df4c3c9969ad1a59b392d922cc563166fe7799980a9abe75c65c368e591ee1ae4ed0dc4ff380b581ded1e61a pxmenu-1.0.0.tar.gz
+"
diff --git a/testing/py-spy/APKBUILD b/testing/py-spy/APKBUILD
index 6be21eb6e38..d0ace8e67b4 100644
--- a/testing/py-spy/APKBUILD
+++ b/testing/py-spy/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: messense <messense@icloud.com>
# Maintainer: messense <messense@icloud.com>
pkgname=py-spy
-pkgver=0.3.11
-pkgrel=0
+pkgver=0.3.14
+pkgrel=3
pkgdesc="Sampling profiler for Python programs"
url="https://github.com/benfred/py-spy"
-arch="aarch64 armv7 armhf x86_64 ppc64le" # limited by rust
+arch="aarch64 x86_64 ppc64le" # limited by rust
license="MIT"
-makedepends="cargo zlib-dev libunwind-dev xz-dev"
+makedepends="cargo zlib-dev libunwind-dev xz-dev cargo-auditable"
checkdepends="python3 bash"
subpackages="
$pkgname-doc
@@ -15,10 +15,18 @@ subpackages="
$pkgname-fish-completion
$pkgname-zsh-completion
"
-source="$pkgname-$pkgver.tar.gz::https://github.com/benfred/py-spy/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/benfred/py-spy/archive/v$pkgver.tar.gz
+ $pkgname-fix-check.patch::https://github.com/benfred/py-spy/commit/e6053b5f6f7440451ed0c7607ec1431fa17d972a.diff
+ "
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
build() {
- cargo build --release --locked
+ cargo auditable build --release --frozen
./target/release/py-spy completions bash > $pkgname.bash
./target/release/py-spy completions fish > $pkgname.fish
@@ -26,13 +34,8 @@ build() {
}
check() {
- # enable interpreter "python" hack
- mkdir "$builddir"/pythonbindir
- ln -s /usr/bin/python3 "$builddir"/pythonbindir/python
- export PATH="$PATH:$builddir/pythonbindir"
-
# Some tests need additional privileges
- cargo test --release --locked -- \
+ cargo test --frozen -- \
--skip test_busy_loop \
--skip test_delayed_subprocess \
--skip test_local_vars \
@@ -51,8 +54,11 @@ package() {
install -Dm0644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/completions/$pkgname.fish
+ install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
}
-sha512sums="ff6a9cf84da7e821b9245868597fc813217f3c1a4637f70e3d70425a61b466033463609ce48795f4983c50519f6a20470641d3b64fee916e4732d4e12ec99fd7 py-spy-0.3.11.tar.gz"
+sha512sums="
+f079b002248a033eac3b93723fd267e6cbdb415ac3172ace0d14eb9cd87a1e4adf471eeec641f9644abe8a4fab43b48db7440b4b1242ea18e02bcc574104d303 py-spy-0.3.14.tar.gz
+2b927080cd953facc47994b665bfa3d1c47552b549673b11b047db21bc773a53d10faffd26482c3f9825fae8f0f87d387cb9e602898288cf88b7d5a0a8589eb3 py-spy-fix-check.patch
+"
diff --git a/testing/py3-actdiag/APKBUILD b/testing/py3-actdiag/APKBUILD
index 952edaede23..32a72715060 100644
--- a/testing/py3-actdiag/APKBUILD
+++ b/testing/py3-actdiag/APKBUILD
@@ -2,26 +2,32 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-actdiag
_pkgname=actdiag
-pkgver=2.0.0
-pkgrel=2
+pkgver=3.0.0
+pkgrel=3
pkgdesc="Generate activity-diagram image file from spec-text file"
-url="https://pypi.python.org/pypi/actdiag"
+url="https://pypi.org/project/actdiag"
arch="noarch"
license="Apache-2.0"
-depends="py3-funcparserlib py3-blockdiag py3-pillow"
+depends="py3-funcparserlib py3-blockdiag python3"
makedepends="py3-setuptools"
+checkdepends="py3-docutils py3-nose py3-blockdiag-tests"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-actdiag" # for backwards compatibility
-provides="py-actdiag=$pkgver-r$pkgrel" # for backwards compatibility
-
build() {
python3 setup.py build
}
+check() {
+ nosetests
+}
+
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
+ rm -r "$pkgdir"/usr/lib/python3*/site-packages/actdiag/tests/
}
-sha512sums="e955b9b919e137f10ff128d5d8817b2da660b121937cab3386a866a0bff08218b6e777e302a9130616228af6c357c463ceeb12cb95b8734928001d8ad6a90250 actdiag-2.0.0.tar.gz"
+sha512sums="
+240a687fd0c9f8ee10e66fed9ce8ca3359f3336c1623a05b1394f1444e518c1c325922eb5cd2d6d1a867876ff820b2b1b6f5eb518a6af5d688bd8116b97c9dca actdiag-3.0.0.tar.gz
+"
diff --git a/testing/py3-aesedb/APKBUILD b/testing/py3-aesedb/APKBUILD
new file mode 100644
index 00000000000..6e18a91d638
--- /dev/null
+++ b/testing/py3-aesedb/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-aesedb
+_pyname=aesedb
+pkgver=0.1.6
+pkgrel=2
+pkgdesc="NTDS parser toolkit"
+url="https://github.com/skelsec/aesedb"
+arch="noarch"
+license="Apache-1.1"
+depends="
+ py3-aiowinreg
+ py3-colorama
+ py3-tqdm
+ py3-unicrypto
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+checkdepends="
+ py3-pytest
+ py3-pytest-asyncio
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/aesedb/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+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
+ rm -rf "$pkgdir"/usr/lib/python3.*/site-packages/tests/ # remove tests
+}
+
+sha512sums="
+73513510909da98ab27f21d4a4b630294212132ba6d583dba99578764c20c887cf56b6456709b1c161c2b46958bd4318abccddade80f3b3d98478114d3a98520 py3-aesedb-0.1.6.tar.gz
+"
diff --git a/testing/py3-agithub/APKBUILD b/testing/py3-agithub/APKBUILD
index ab014fef9fa..0cbad2cfac2 100644
--- a/testing/py3-agithub/APKBUILD
+++ b/testing/py3-agithub/APKBUILD
@@ -1,13 +1,14 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-agithub
pkgver=2.2.2
-pkgrel=2
+pkgrel=5
pkgdesc="The Agnostic GitHub API"
url="https://github.com/mozilla/agithub"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://github.com/mozilla/agithub/archive/v$pkgver/mautrix-python-v$pkgver.tar.gz"
options="!check" # No tests
builddir="$srcdir/agithub-$pkgver"
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="8b9761bd31f30965bf9904a017dac3f97a7539987b6aa76a287dab16a698a98972b44e4781f67e312bb1ca4e77d4d15d575e567f08ac791789bd7114e8f430a0 mautrix-python-v2.2.2.tar.gz"
diff --git a/testing/py3-aiodocker/APKBUILD b/testing/py3-aiodocker/APKBUILD
new file mode 100644
index 00000000000..99720571e55
--- /dev/null
+++ b/testing/py3-aiodocker/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-pypi, template 4
+# Contributor: Niklas Meyer <derlinkman@gmail.com>
+# Maintainer: Niklas Meyer <derlinkman@gmail.com>
+pkgname=py3-aiodocker
+#_pkgreal is used by apkbuild-pypi to find modules at PyPI
+_pkgreal=aiodocker
+pkgver=0.21.0
+pkgrel=1
+pkgdesc="Docker API client for asyncio"
+url="https://pypi.org/project/aiodocker/"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-aiohttp py3-typing-extensions"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/a/aiodocker/aiodocker-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+options="!check" #check needs docker
+
+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="
+55fc5015edea5ffe17798aa5a3e1b85b68f7ee011ac7fd94adbecf659a55f537b75f5c5d768e70d364c1337e4bcbe5cabed4dd5cdb3f35ff140d641411038562 aiodocker-0.21.0.tar.gz
+"
diff --git a/testing/py3-aiohttp-debugtoolbar/APKBUILD b/testing/py3-aiohttp-debugtoolbar/APKBUILD
index 743923ccdc4..503ee642069 100644
--- a/testing/py3-aiohttp-debugtoolbar/APKBUILD
+++ b/testing/py3-aiohttp-debugtoolbar/APKBUILD
@@ -2,24 +2,36 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-aiohttp-debugtoolbar
_pkgname=aiohttp-debugtoolbar
-pkgver=0.6.0
-pkgrel=2
-pkgdesc="A ibrary for debugtoolbar support for aiohttp"
-options="!check" # Requires unpackaged pytest-aiohttp
+pkgver=0.6.1
+pkgrel=1
+pkgdesc="A library for debugtoolbar support for aiohttp"
url="https://github.com/aio-libs/aiohttp-debugtoolbar"
arch="noarch"
license="Apache-2.0"
-depends="py3-aiohttp py3-aiohttp-jinja2"
+depends="py3-aiohttp py3-aiohttp-jinja2 python3"
makedepends="py3-setuptools"
+checkdepends="
+ py3-pytest
+ py3-pytest-aiohttp
+ py3-pytest-asyncio
+ "
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/aio-libs/aiohttp-debugtoolbar/archive/v$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
+options="!check" # deprecation warnings
build() {
python3 setup.py build
}
+check() {
+ PYTHONPATH=build/lib pytest
+}
+
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="a842fedfbb6bd5bae9baab8ab6c36fe352075f9312c4836a4c33c87909143c62e389a529128096e0e27b23d595eae7eb80a1f0becdf0d71d122378457b144267 py3-aiohttp-debugtoolbar-0.6.0.tar.gz"
+sha512sums="
+0c46fbe35f8d7d49130ca6f7e2378fc486a821fd08b99c71c37dbc70d83b0c891cedaa7a6022726a74e02be398b669f8b50896d0a868b0915a4384648d03e8eb py3-aiohttp-debugtoolbar-0.6.1.tar.gz
+"
diff --git a/testing/py3-aiohttp-jinja2/APKBUILD b/testing/py3-aiohttp-jinja2/APKBUILD
index 009df32778c..00d22a6c7e8 100644
--- a/testing/py3-aiohttp-jinja2/APKBUILD
+++ b/testing/py3-aiohttp-jinja2/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-aiohttp-jinja2
_pkgname=aiohttp_jinja2
-pkgver=1.4.2
+pkgver=1.6
pkgrel=2
pkgdesc="Jinja2 template renderer for aiohttp"
options="!check" # Requires unpackaged pytest-aiohttp
@@ -10,16 +10,22 @@ url="https://github.com/aio-libs/aiohttp-jinja2"
arch="noarch"
license="Apache-2.0"
depends="py3-aiohttp py3-jinja2"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="$_pkgname-$pkgver.tar.gz::https://github.com/aio-libs/aiohttp-jinja2/archive/v$pkgver.tar.gz"
builddir="$srcdir"/aiohttp-jinja2-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="09356f5f010504b5d1449196006162e6daeeeee8671e261d2b4fa66d5ba0ede386a2782fa84cd46647f4f6077bf3539217546850543ebbdb0bd4b70a8c698d17 aiohttp_jinja2-1.4.2.tar.gz"
+sha512sums="
+a434443580b050ac849f80ec3fc1815bce7b682febadb827e473e6b8b88d79017335cf2cd93bfc37d8ab79552afedaf5a67cb961341407d768bce0c15fa20b3c aiohttp_jinja2-1.6.tar.gz
+"
diff --git a/testing/py3-aiohttp-remotes/APKBUILD b/testing/py3-aiohttp-remotes/APKBUILD
new file mode 100644
index 00000000000..6767f45e17d
--- /dev/null
+++ b/testing/py3-aiohttp-remotes/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
+# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
+pkgname=py3-aiohttp-remotes
+_pkgname=aiohttp-remotes
+pkgver=1.2.0
+pkgrel=3
+pkgdesc="A set of useful tools for aiohttp.web server"
+url="https://github.com/aio-libs/aiohttp-remotes"
+arch="noarch"
+license="MIT"
+checkdepends="
+ py3-pytest
+ py3-pytest-aiohttp
+ py3-pytest-asyncio
+ py3-pytest-cov
+ py3-trustme
+ "
+makedepends="
+ py3-flit
+ py3-installer
+ py3-setuptools
+ "
+depends="
+ py3-aiohttp
+ py3-yarl
+ python3
+ "
+subpackages="$pkgname-pyc"
+source="
+ https://github.com/aio-libs/aiohttp-remotes/archive/v$pkgver/$_pkgname-$pkgver.tar.gz
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ flit build --format wheel
+}
+
+check() {
+ # do test installation
+ python3 -m installer -d "$builddir"/test_install dist/aiohttp_remotes-$pkgver-py3-none-any.whl
+ PYTHONPATH="$(echo "$builddir"/test_install/usr/lib/python3*/site-packages)"
+ export PYTHONPATH
+
+ # run tests (skip async tests for now)
+ pytest-3 tests/test_utils.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" dist/aiohttp_remotes-$pkgver-py3-none-any.whl
+}
+
+sha512sums="
+b625b136a071c67a7a8e28ce63f56cc84712cce9193d2573a6dd58ef89ae30b0d817217ce9e5eb6531285449108c3b282c0dbf6c4f1a049ee027f0fb59dbc1ec aiohttp-remotes-1.2.0.tar.gz
+"
diff --git a/testing/py3-aiohttp-session/APKBUILD b/testing/py3-aiohttp-session/APKBUILD
index 7fe2bdbd1e7..1a111df28eb 100644
--- a/testing/py3-aiohttp-session/APKBUILD
+++ b/testing/py3-aiohttp-session/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-aiohttp-session
_pkgname=aiohttp_session
-pkgver=2.9.0
-pkgrel=2
+pkgver=2.12.0
+pkgrel=3
pkgdesc="Sessions support for aiohttp"
url="https://aiohttp-session.readthedocs.io/"
arch="noarch"
@@ -12,6 +12,7 @@ license="Apache-2.0"
options="!check"
depends="py3-aiohttp"
makedepends="python3-dev py3-setuptools"
+subpackages="$pkgname-pyc"
source="aiohttp-session-$pkgver.tar.gz::https://github.com/aio-libs/aiohttp-session/archive/v$pkgver.tar.gz"
builddir="$srcdir"/aiohttp-session-$pkgver
@@ -24,7 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="27c1c1553bfb65e8d277ada226917835ea92dd0593c28988a8800a275fd7ec7c304f10ebb18320fe582e92440ac6b2621ca5eb2f3a3cd5ef1b068fe41ae178fa aiohttp-session-2.9.0.tar.gz"
+sha512sums="
+42bd608abda7aa09351c30b683310940a01d4f4c0bec20db162720680a608715820c27961cb0814f1e5078965695befaa06136440b2a009eae951a1ab3f339e0 aiohttp-session-2.12.0.tar.gz
+"
diff --git a/testing/py3-aioopenssl/APKBUILD b/testing/py3-aioopenssl/APKBUILD
new file mode 100644
index 00000000000..3ad7a73dac4
--- /dev/null
+++ b/testing/py3-aioopenssl/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Sam Whited <sam@samwhited.com>
+# Maintainer: Sam Whited <sam@samwhited.com>
+pkgname=py3-aioopenssl
+_pkgname=aioopenssl
+pkgver=0.6.0
+pkgrel=3
+pkgdesc="An asyncio Transport which uses PyOpenSSL instead of the built-in ssl module."
+url="https://pypi.org/project/aioopenssl/"
+arch="all"
+license="Apache-2.0"
+depends="python3 py3-openssl"
+makedepends="py3-setuptools"
+subpackages="$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 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+ install -Dm644 README.rst "$pkgdir"/usr/share/licenses/$pkgname/README.rst
+}
+
+sha512sums="
+fee9fa34dd79a40b06bdbfa87dd7feba100c7a9e906f06e46fde63faa1e73fbe0f3085c5b05bd308cf73f73155eb1db07f3250f159c9fb0b9142a26a1ce747b3 aioopenssl-0.6.0.tar.gz
+"
diff --git a/testing/py3-aiosasl/APKBUILD b/testing/py3-aiosasl/APKBUILD
new file mode 100644
index 00000000000..d7ccb6499df
--- /dev/null
+++ b/testing/py3-aiosasl/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Sam Whited <sam@samwhited.com>
+# Maintainer: Sam Whited <sam@samwhited.com>
+pkgname=py3-aiosasl
+_pkgname=aiosasl
+pkgver=0.5.0
+pkgrel=3
+pkgdesc="A generic asyncio-based SASL authentication library."
+url="https://pypi.org/project/aiosasl/"
+arch="all"
+license="LGPL-3.0-only"
+depends="python3"
+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 COPYING.LESSER COPYING.gpl3 LICENSES README.rst \
+ -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+bde4bf6ac82a385be60593305ac83927aa44312393850c8f6489e885392d033e90ab6cdbd3ccadec1ca45aa3bd9907f7f586293d54e8180c71706e3b53c36ed8 aiosasl-0.5.0.tar.gz
+"
diff --git a/testing/py3-aiosmb/APKBUILD b/testing/py3-aiosmb/APKBUILD
new file mode 100644
index 00000000000..57ab7833292
--- /dev/null
+++ b/testing/py3-aiosmb/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-aiosmb
+_pyname=aiosmb
+pkgver=0.4.10
+pkgrel=1
+pkgdesc="Asynchronous SMB protocol implementation"
+url="https://github.com/skelsec/aiosmb"
+arch="noarch"
+license="MIT"
+depends="
+ py3-asn1crypto
+ py3-asyauth
+ py3-asysocks
+ py3-colorama
+ py3-minikerberos
+ py3-prompt_toolkit
+ py3-six
+ py3-tqdm
+ py3-unicrypto
+ py3-wcwidth
+ py3-winacl
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/aiosmb/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+ rm -rf "$pkgdir"/usr/lib/python3.*/site-packages/tests/ # remove tests
+}
+
+sha512sums="
+ca0db6eab06ee452841ac4767ece5ab15607912ceb221fde6d77d8d01bcd8db84e62ed4331f943cb8b718a5c33a2ecdd7fc399d92fadc9c5b7bc5e938f5d7d6a py3-aiosmb-0.4.10.tar.gz
+"
diff --git a/testing/py3-aiowinreg/APKBUILD b/testing/py3-aiowinreg/APKBUILD
new file mode 100644
index 00000000000..2cabdce6829
--- /dev/null
+++ b/testing/py3-aiowinreg/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-aiowinreg
+_pyname=aiowinreg
+pkgver=0.0.10
+pkgrel=1
+pkgdesc="Windows registry file reader"
+url="https://github.com/skelsec/aiowinreg"
+arch="noarch"
+license="MIT"
+depends="
+ py3-prompt_toolkit
+ py3-winacl
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+checkdepends="
+ py3-pytest
+ py3-pytest-asyncio
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/aiowinreg/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+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
+ rm -rf "$pkgdir"/usr/lib/python3.*/site-packages/tests/ # remove tests
+}
+
+sha512sums="
+7842812dbe7455b8c560e8062bd4371cf89e9600f037caadf7a65c049be38f4263c5bf5923f57c49cdb19ea34f394d203ee9db029ac6d6b6d114a45ba7c93ea2 py3-aiowinreg-0.0.10.tar.gz
+"
diff --git a/testing/py3-aioxmpp/APKBUILD b/testing/py3-aioxmpp/APKBUILD
new file mode 100644
index 00000000000..cdde72431aa
--- /dev/null
+++ b/testing/py3-aioxmpp/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Sam Whited <sam@samwhited.com>
+# Maintainer: Sam Whited <sam@samwhited.com>
+pkgname=py3-aioxmpp
+_pkgname=aioxmpp
+pkgver=0.13.3
+pkgrel=2
+pkgdesc="An XMPP library in pure Python and using asyncio."
+url="https://pypi.org/project/aioxmpp/"
+arch="noarch"
+license="LGPL-3.0-only"
+depends="
+py3-aioopenssl
+py3-aiosasl
+py3-asn1
+py3-asn1-modules
+py3-babel
+py3-dnspython
+py3-lxml
+py3-multidict
+py3-openssl
+py3-sortedcollections
+py3-sortedcontainers
+py3-tzlocal
+python3
+"
+makedepends="py3-setuptools"
+source="https://files.pythonhosted.org/packages/source/a/aioxmpp/aioxmpp-$pkgver.tar.gz"
+subpackages="$pkgname-doc $pkgname-pyc"
+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 COPYING.LESSER COPYING.gpl3 LICENSES README.rst \
+ -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+1f3b9b086c083b6c613f71e56e85e35d844c5917c24de952233e65521dc4863da770e6b5b0cf2af4132971e78fa9c847c55b657f7f7d9c7eb15f0dad1285d85f aioxmpp-0.13.3.tar.gz
+"
diff --git a/testing/py3-ajsonrpc/APKBUILD b/testing/py3-ajsonrpc/APKBUILD
new file mode 100644
index 00000000000..05caf58f471
--- /dev/null
+++ b/testing/py3-ajsonrpc/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Marten Ringwelski <git+alpine@maringuu.de>
+# Maintainer: Marten Ringwelski <git+alpine@maringuu.de>
+pkgname=py3-ajsonrpc
+pkgver=1.2.0
+pkgrel=3
+pkgdesc="Lightweight JSON-RPC 2.0 protocol implementation and asynchronous server powered by asyncio"
+url="https://github.com/pavlov99/ajsonrpc"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/pavlov99/ajsonrpc/archive/refs/tags/$pkgver.tar.gz
+ no-test-install.patch
+ "
+builddir="$srcdir/ajsonrpc-$pkgver"
+
+build() {
+ # See ajsonrpcs github actions
+ echo "__version__ = \"$pkgver\"" >> ajsonrpc/__init__.py
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+af307f13c4e3a2b3004dc03629a3d0216c9c72014d290e66ad73b60925548fb3c1cf18d6b7ef6b270fca98b3b8efe9cc2741796f9b6f360267ab2df0a7eee9d3 py3-ajsonrpc-1.2.0.tar.gz
+414a0b53b5c6eb1a5b0927d818c9223d76c75bc5f00f30a88b26166b50f47784c8e30e0605bf48a277ff25b914e25d4fa15bfe1083610778b2c2db39eb0be0eb no-test-install.patch
+"
diff --git a/testing/py3-ajsonrpc/no-test-install.patch b/testing/py3-ajsonrpc/no-test-install.patch
new file mode 100644
index 00000000000..586a47bf666
--- /dev/null
+++ b/testing/py3-ajsonrpc/no-test-install.patch
@@ -0,0 +1,8 @@
+--- a/MANIFEST.in
++++ b/MANIFEST.in
+@@ -3,3 +3,5 @@
+ graft ajsonrpc
+
+ global-exclude *.py[co]
++
++prune ajsonrpc/tests/
diff --git a/testing/py3-allfiles/APKBUILD b/testing/py3-allfiles/APKBUILD
index 03ab1397042..f5956b87a01 100644
--- a/testing/py3-allfiles/APKBUILD
+++ b/testing/py3-allfiles/APKBUILD
@@ -3,26 +3,28 @@
pkgname=py3-allfiles
_pkgname=allfiles
pkgver=1.0
-pkgrel=3
+pkgrel=8
pkgdesc="Iterator for matching files in directory trees"
-url="https://pypi.python.org/pypi/allfiles"
+url="https://pypi.org/project/allfiles"
arch="noarch"
license="MIT"
-replaces="py-allfiles" # for backwards compatibility
+replaces="py-allfiles" # for backwards compatibility
provides="py-allfiles=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.zip"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- cd "$builddir"
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="698f1131950eba7cc12af727e2c27c5018c1d81ab1cca7f94f308061220003b5b412ef4720ba1bbebc50e7fee4f5549c43868d2cfe81e99df1f78e6bf7c38d0f allfiles-1.0.zip"
diff --git a/testing/py3-altgraph/APKBUILD b/testing/py3-altgraph/APKBUILD
new file mode 100644
index 00000000000..1723f78a36f
--- /dev/null
+++ b/testing/py3-altgraph/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-altgraph
+pkgver=0.17.4
+pkgrel=1
+pkgdesc="Python graph (network) package"
+url="https://github.com/ronaldoussoren/altgraph"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://pypi.python.org/packages/source/a/altgraph/altgraph-$pkgver.tar.gz"
+builddir="$srcdir/altgraph-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+c931e8c185269a036c7f0665ac92ad79ecbd1e93682880618502a52cec6bdd745cc664afd4b8b5f2b656119dcfcc6b5c11c3e82d903d7f5f6d362974e0a93259 altgraph-0.17.4.tar.gz
+"
diff --git a/testing/py3-amqp/APKBUILD b/testing/py3-amqp/APKBUILD
deleted file mode 100644
index fdc75cc10bc..00000000000
--- a/testing/py3-amqp/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=py3-amqp
-pkgver=2.6.1
-pkgrel=2
-pkgdesc="an AMQP implementation"
-url="https://pypi.python.org/pypi/amqp/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="py3-vine python3"
-makedepends="py3-setuptools"
-checkdepends="py3-vine py3-case py3-nose py2py3-mock"
-source="https://files.pythonhosted.org/packages/source/a/amqp/amqp-$pkgver.tar.gz"
-options="!check" # requires a running rabbitmq sever
-builddir="$srcdir"/amqp-$pkgver
-
-replaces="py-amqp" # Backwards compatibility
-provides="py-amqp=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="e2c628cfe8075a3014a9fe991ae3e6f49198db2ecd46dd48f980730da692e4d25d9f055b1ccd4743917fc38a8afa69a5902a64275f8f45ef68113c6756f3a17b amqp-2.6.1.tar.gz"
diff --git a/testing/py3-ansi2html/APKBUILD b/testing/py3-ansi2html/APKBUILD
index 5993bfee045..81ce7eb5359 100644
--- a/testing/py3-ansi2html/APKBUILD
+++ b/testing/py3-ansi2html/APKBUILD
@@ -2,35 +2,46 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-ansi2html
_pkgname=ansi2html
-pkgver=1.6.0
-pkgrel=2
+pkgver=1.9.1
+pkgrel=1
pkgdesc="Convert text with ANSI color codes to HTML"
-url="https://github.com/ralphbean/ansi2html"
+url="https://github.com/pycontribs/ansi2html"
arch="noarch"
license="LGPL-3.0-or-later"
-depends="python3 py3-six py3-setuptools"
-makedepends="python3-dev"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-setuptools_scm
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
replaces="py-ansi2html" # for backwards compatibility
provides="py-ansi2html=$pkgver-r$pkgrel" # for backwards compatibility
-prepare() {
- default_prepare
+export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
- sed -e '/setuptools_scm/d' \
- -e "s/use_scm_version=.*/version='$pkgver',/" \
- -i setup.py
- sed -e '/setuptools_scm/d' -i setup.cfg
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
-build() {
- python3 setup.py build
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/ansi2html-$pkgver-py3-none-any.whl
+ PATH="$PATH:$PWD/.testenv/bin" .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer --destdir "$pkgdir" \
+ .dist/ansi2html-$pkgver-py3-none-any.whl
}
-sha512sums="35e5fb6cee96fe41a658c005734a58b08bc05e8ad5903ad18684c316bdad351a70c534b4162416225bc2ca774d01b4ac1bb8a8dad3170d0738aa7b3daf46b3c0 ansi2html-1.6.0.tar.gz"
+sha512sums="
+1ffeffdd4f861b809c424b5b9e7d07212aaf1b5ef483a2820f128f815002628c823b5701652b0770ed182f0585052f040b55fca5db31e4690be86c49553105b3 ansi2html-1.9.1.tar.gz
+"
diff --git a/testing/py3-anyascii/APKBUILD b/testing/py3-anyascii/APKBUILD
new file mode 100644
index 00000000000..965fc2d08bd
--- /dev/null
+++ b/testing/py3-anyascii/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=py3-anyascii
+_pyname=anyascii
+pkgver=0.3.2
+pkgrel=1
+pkgdesc="Unicode to ASCII transliteration"
+url="https://anyascii.com"
+arch="noarch"
+license="ISC"
+makedepends="py3-gpep517 py3-flit-core"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$_pyname-$pkgver.tar.gz::https://github.com/anyascii/anyascii/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver/impl/python"
+
+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="
+2d1231822a051943cc2c958f94c62d2bebe4314d73a598d92cc1c20e8cacd548f7eb2283633ca44359c44d2d2a0d62fad11e2adf1a066f2e100e83294b2e9617 anyascii-0.3.2.tar.gz
+"
diff --git a/testing/py3-anyjson/APKBUILD b/testing/py3-anyjson/APKBUILD
deleted file mode 100644
index ad1324e00cf..00000000000
--- a/testing/py3-anyjson/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Contributor: Stefan Wagner <stw@bit-strickerei.de>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-anyjson
-_pkgname=anyjson
-pkgver=0.3.3
-pkgrel=7
-pkgdesc="Wraps the best available JSON implementation available in a common interface"
-url="https://bitbucket.org/runeh/anyjson/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-future py3-nose"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
- python3.patch"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-anyjson" # Backwards compatibility
-provides="py-anyjson=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="9e70df3cb8bfe2348fdb0eb03cf3c33ca5a1171aca6467787fc28c161354b5ebe89b2f73badfa00708774d6825799860493ddcac7f5da8cc9c251b92b5a343bc anyjson-0.3.3.tar.gz
-d8e70ed13971e78a6f225df7fec74813a3c565446c1c538ac35f91a1e752a4381d895c87994d848c3661c736811b05b70084e3b8c5e3d6531e8424979b48cfb6 python3.patch"
diff --git a/testing/py3-anyjson/python3.patch b/testing/py3-anyjson/python3.patch
deleted file mode 100644
index ce84c05eed3..00000000000
--- a/testing/py3-anyjson/python3.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff -ur a/anyjson/__init__.py b/anyjson/__init__.py
---- a/anyjson/__init__.py 2018-11-03 12:48:31.808085115 +0100
-+++ b/anyjson/__init__.py 2018-11-03 12:48:39.784931829 +0100
-@@ -1,7 +1,10 @@
- """Wraps the best available JSON implementation available in a common
- interface"""
-
-+from __future__ import print_function
- import sys
-+from future.utils import raise_with_traceback
-+from past.builtins import basestring
-
- VERSION = (0, 3, 3)
- __version__ = ".".join(map(str, VERSION[0:3])) + "".join(VERSION[3:])
-@@ -85,8 +88,8 @@
- TypeError if the object could not be serialized."""
- try:
- return self._encode(data)
-- except self._encode_error, exc:
-- raise TypeError, TypeError(*exc.args), sys.exc_info()[2]
-+ except self._encode_error as exc:
-+ raise_with_traceback(TypeError(*exc.args))
- serialize = dumps
-
- def loads(self, s):
-@@ -97,8 +100,8 @@
- if self._filedecode and not isinstance(s, basestring):
- return self._filedecode(StringIO(s))
- return self._decode(s)
-- except self._decode_error, exc:
-- raise ValueError, ValueError(*exc.args), sys.exc_info()[2]
-+ except self._decode_error as exc:
-+ raise_with_traceback(ValueError(*exc.args))
- deserialize = loads
-
-
-@@ -117,7 +120,7 @@
- # We do NOT try to load a compatible module because that may throw an
- # exception, which renders the package uninstallable with easy_install
- # (It trys to execfile the script when installing, to make sure it works)
-- print "Running anyjson as a stand alone script is not supported"
-+ print("Running anyjson as a stand alone script is not supported")
- sys.exit(1)
- else:
- for modspec in _modules:
-diff -ur a/setup.py b/setup.py
---- a/setup.py 2018-11-03 12:48:31.808085115 +0100
-+++ b/setup.py 2018-11-03 12:48:47.935115786 +0100
-@@ -87,6 +87,9 @@
- 'Programming Language :: Python :: 2.7',
- 'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.1',
-+ 'Programming Language :: Python :: 3.4',
-+ 'Programming Language :: Python :: 3.5',
-+ 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: Implementation :: CPython',
- 'Programming Language :: Python :: Implementation :: PyPy',
- 'Programming Language :: Python :: Implementation :: Jython',
diff --git a/testing/py3-apicula/APKBUILD b/testing/py3-apicula/APKBUILD
new file mode 100644
index 00000000000..c4281901ee2
--- /dev/null
+++ b/testing/py3-apicula/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=py3-apicula
+_pkgname=Apycula
+pkgver=0.11.1
+pkgrel=1
+pkgdesc="Project Apicula: bitstream documentation for Gowin FPGAs"
+url="https://github.com/YosysHQ/apicula"
+arch="noarch"
+license="MIT"
+depends="
+ py3-crcmod
+ py3-numpy
+ py3-openpyxl
+ py3-pandas
+ py3-pillow
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+# Note: The GitHub repo contains only the source of the tools used to extract
+# the bitstream info from the binary only Gowin tools via fuzzing. The
+# source package form pypi also contains the extracted databases. Since
+# the fuzzing takes ages and only works on x86_64 glibc systems (the
+# binary only Gowin tools are built for that), we really want to use
+# the pypi source.
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no unit tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+e3a86adf1ba571d155c0f151595ea303f5d19f24d2eacd882a4967ad1f5ae3eff77e000ac1f88748624ee37a6839f6c806e403cd443912abb7b48f31f37c6be5 Apycula-0.11.1.tar.gz
+"
diff --git a/testing/py3-apsw/APKBUILD b/testing/py3-apsw/APKBUILD
index 4502360b8f0..1259ba3d7e9 100644
--- a/testing/py3-apsw/APKBUILD
+++ b/testing/py3-apsw/APKBUILD
@@ -2,33 +2,45 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-apsw
_pkgname=apsw
-pkgver=3.36.0
-_pkgrel=r1
+pkgver=3.45.2.0
pkgrel=1
pkgdesc="Another Python SQLite Wrapper"
url="https://github.com/rogerbinns/apsw"
arch="all"
license="Zlib"
depends="python3"
-makedepends="python3-dev py3-setuptools sqlite-dev"
-source="$pkgname-$pkgver-$_pkgrel.tar.gz::https://github.com/rogerbinns/apsw/archive/$pkgver-$_pkgrel.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver-$_pkgrel"
+makedepends="
+ python3-dev
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ sqlite-dev
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.zip::https://github.com/rogerbinns/apsw/releases/download/$pkgver/apsw-$pkgver.zip
+ detect-sqlite-config.patch
+ "
-replaces=py-apsw # Backwards compatibility
-provides=py-apsw=$pkgver-r$pkgrel # Backwards compatibility
+builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py check
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 setup.py build_test_extension test
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-22848effb6d4d69e486750b1706316551b593c055b40b32e897161d6d78642a36ccf72cf86ff5e7e1a2520b33fcdcf50116338aaa689630b00e1b6b3362744c0 py3-apsw-3.36.0-r1.tar.gz
+0260f6479d5f1188ad172dfc0dd7e4a03c9d809d2f80c2296e587a19286681bb2ce759b0bd19ec6957e2902f18729b7e79410e4db79dff9918089f57dd510828 py3-apsw-3.45.2.0.zip
+8f3957bd6fecb5660a7cab367043e4ccdacd87d8963bbe41cc3d525265de28f08aa207099658d785be29c5c90b818c1418f766995cd780d02b8e36252a389758 detect-sqlite-config.patch
"
diff --git a/testing/py3-apsw/detect-sqlite-config.patch b/testing/py3-apsw/detect-sqlite-config.patch
new file mode 100644
index 00000000000..4750250a09e
--- /dev/null
+++ b/testing/py3-apsw/detect-sqlite-config.patch
@@ -0,0 +1,8 @@
+diff --git a/setup.apsw b/setup.apsw
+index 68dedb9..3ceb10b 100644
+--- a/setup.apsw
++++ b/setup.apsw
+@@ -1 +1,3 @@
+ # You can put ini format directives here in addition to command line flags
++[build_ext]
++use_system_sqlite_config = True
diff --git a/testing/py3-arcus/APKBUILD b/testing/py3-arcus/APKBUILD
new file mode 100644
index 00000000000..de241556aa8
--- /dev/null
+++ b/testing/py3-arcus/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Aiden Grossman <agrossman154@yahoo.com>
+# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
+pkgname=py3-arcus
+# Needs to be upgraded in sync with libarcus
+pkgver=5.2.2
+pkgrel=4
+pkgdesc="Python bindings for libarcus"
+url="https://github.com/Ultimaker/pyArcus"
+arch="all"
+license="LGPL-3.0-only"
+makedepends="
+ cmake
+ libarcus-dev
+ protobuf-dev
+ py3-sip
+ python3-dev
+ samurai
+ "
+options="!check" # package doesn't provide any tests
+source="$pkgname-$pkgver.tar.gz::https://github.com/Ultimaker/pyArcus/archive/refs/tags/$pkgver.tar.gz
+ cmake.patch
+ cmake-helpers.patch
+ pyproject.patch"
+builddir="$srcdir/pyArcus-$pkgver"
+
+build() {
+ cmake -G Ninja -B build \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+b24cbb9a5d7aa917b1b21e46f935b1293645e731d4e475a5abe364237f35708e8e96a1c6f06fe78e2e0e381737f4a27a6db87e42a5f4de9d48091d9de096f9b0 py3-arcus-5.2.2.tar.gz
+f14e55cd31c13051981f26364e34da8c94e8eb5227b1cfd6fe44b9f97b5a4dcf6142a1751fa62eb0514a47583e6ec2d51dc253f23cf72c3fe6a1cb5dca136f21 cmake.patch
+de75b985607feae0a9c511742915814e9c3d4bc467183f010ccc334ce4d0d952b6ff86020360b78558c4738cc03cf62c386b44ed76bcec12075c4a93dd03eeb7 cmake-helpers.patch
+ef593230d5c78da8ba0fc6ea83225c4543857de1837d3151c45e59ffd7c98063b8f97f25d01c15b6a8f90c26c919206f9f7fa26c9650117f4ce7be49ebca876f pyproject.patch
+"
diff --git a/testing/py3-arcus/cmake-helpers.patch b/testing/py3-arcus/cmake-helpers.patch
new file mode 100644
index 00000000000..c556985b9ff
--- /dev/null
+++ b/testing/py3-arcus/cmake-helpers.patch
@@ -0,0 +1,254 @@
+--- /dev/null
++++ ./cmake/CMakeBuilder.py
+@@ -0,0 +1,13 @@
++from sipbuild import SetuptoolsBuilder
++
++
++class CMakeBuilder(SetuptoolsBuilder):
++ def __init__(self, project, **kwargs):
++ print("Using the CMake builder")
++ super().__init__(project, **kwargs)
++
++ def build(self):
++ """ Only Generate the source files """
++ print("Generating the source files")
++ self._generate_bindings()
++ self._generate_scripts()
+--- /dev/null
++++ ./cmake/FindSIP.cmake
+@@ -0,0 +1,65 @@
++# Find SIP
++# ~~~~~~~~
++#
++# SIP website: http://www.riverbankcomputing.co.uk/sip/index.php
++#
++# Find the installed version of SIP. FindSIP should be called after Python
++# has been found.
++#
++# This file defines the following variables:
++#
++# SIP_VERSION - The version of SIP found expressed as a 6 digit hex number
++# suitable for comparison as a string.
++#
++# SIP_VERSION_STR - The version of SIP found as a human readable string.
++#
++# SIP_BINARY_PATH - Path and filename of the SIP command line executable.
++#
++# SIP_INCLUDE_DIR - Directory holding the SIP C++ header file.
++#
++# SIP_DEFAULT_SIP_DIR - Default directory where .sip files should be installed
++# into.
++
++# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
++# Redistribution and use is allowed according to the terms of the BSD license.
++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
++
++
++
++IF(SIP_VERSION OR SIP_BUILD_EXECUTABLE)
++ # Already in cache, be silent
++ SET(SIP_FOUND TRUE)
++ELSE()
++
++ FIND_FILE(_find_sip_py FindSIP.py PATHS ${CMAKE_MODULE_PATH} NO_CMAKE_FIND_ROOT_PATH)
++
++ EXECUTE_PROCESS(COMMAND ${Python_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config)
++ IF(sip_config)
++ STRING(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config})
++ STRING(REGEX REPLACE ".*\nsip_version_num:([^\n]+).*$" "\\1" SIP_VERSION_NUM ${sip_config})
++ STRING(REGEX REPLACE ".*\nsip_version_str:([^\n]+).*$" "\\1" SIP_VERSION_STR ${sip_config})
++ STRING(REGEX REPLACE ".*\ndefault_sip_dir:([^\n]+).*$" "\\1" SIP_DEFAULT_SIP_DIR ${sip_config})
++ IF(${SIP_VERSION_STR} VERSION_LESS 5)
++ STRING(REGEX REPLACE ".*\nsip_bin:([^\n]+).*$" "\\1" SIP_BINARY_PATH ${sip_config})
++ STRING(REGEX REPLACE ".*\nsip_inc_dir:([^\n]+).*$" "\\1" SIP_INCLUDE_DIR ${sip_config})
++ STRING(REGEX REPLACE ".*\nsip_module_dir:([^\n]+).*$" "\\1" SIP_MODULE_DIR ${sip_config})
++ ELSE(${SIP_VERSION_STR} VERSION_LESS 5)
++ FIND_PROGRAM(SIP_BUILD_EXECUTABLE sip-build)
++ ENDIF(${SIP_VERSION_STR} VERSION_LESS 5)
++ SET(SIP_FOUND TRUE)
++ ENDIF(sip_config)
++
++ IF(SIP_FOUND)
++ IF(NOT SIP_FIND_QUIETLY)
++ MESSAGE(STATUS "Found SIP version: ${SIP_VERSION_STR}")
++ ENDIF(NOT SIP_FIND_QUIETLY)
++ ELSE(SIP_FOUND)
++ IF(SIP_FIND_REQUIRED)
++ MESSAGE(FATAL_ERROR "Could not find SIP")
++ ENDIF(SIP_FIND_REQUIRED)
++ ENDIF(SIP_FOUND)
++
++ENDIF()
++
++include(${CMAKE_SOURCE_DIR}/cmake/SIPMacros.cmake)
++ADD_DEFINITIONS(-DSIP_VERSION=0x${SIP_VERSION})
+--- /dev/null
++++ ./cmake/FindSIP.py
+@@ -0,0 +1,57 @@
++# -*- coding: utf-8 -*-
++#
++# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions are met:
++# * Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++# * Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++# * Neither the name of the Simon Edwards <simon@simonzone.com> nor the
++# names of its contributors may be used to endorse or promote products
++# derived from this software without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY Simon Edwards <simon@simonzone.com> ''AS IS'' AND ANY
++# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++# DISCLAIMED. IN NO EVENT SHALL Simon Edwards <simon@simonzone.com> BE LIABLE FOR ANY
++# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++#
++# FindSIP.py
++# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
++# Redistribution and use is allowed according to the terms of the BSD license.
++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
++
++try:
++ import sipbuild
++
++ print("sip_version:%06.0x" % sipbuild.version.SIP_VERSION)
++ print("sip_version_num:%d" % sipbuild.version.SIP_VERSION)
++ print("sip_version_str:%s" % sipbuild.version.SIP_VERSION_STR)
++
++ from distutils.sysconfig import get_python_lib
++ python_modules_dir = get_python_lib(plat_specific=1)
++ print("default_sip_dir:%s" % python_modules_dir)
++except ImportError: # Code for SIP v4
++ import sipconfig
++
++ sipcfg = sipconfig.Configuration()
++ print("sip_version:%06.0x" % sipcfg.sip_version)
++ print("sip_version_num:%d" % sipcfg.sip_version)
++ print("sip_version_str:%s" % sipcfg.sip_version_str)
++ print("sip_bin:%s" % sipcfg.sip_bin)
++ print("default_sip_dir:%s" % sipcfg.default_sip_dir)
++ print("sip_inc_dir:%s" % sipcfg.sip_inc_dir)
++ # SIP 4.19.10+ has new sipcfg.sip_module_dir
++ if hasattr(sipcfg, "sip_module_dir"):
++ print("sip_module_dir:%s" % sipcfg.sip_module_dir)
++ else:
++ print("sip_module_dir:%s" % sipcfg.sip_mod_dir)
+--- /dev/null
++++ ./cmake/SIPMacros.cmake
+@@ -0,0 +1,107 @@
++
++
++# Macros for SIP
++# ~~~~~~~~~~~~~~
++
++set(SIP_ARGS --pep484-pyi --no-protected-is-public)
++
++function(add_sip_module MODULE_TARGET)
++ if(NOT SIP_BUILD_EXECUTABLE)
++ set(SIP_BUILD_EXECUTABLE ${CMAKE_PREFIX_PATH}/Scripts/sip-build)
++ endif()
++
++ message(STATUS "SIP: Generating pyproject.toml")
++ configure_file(${CMAKE_SOURCE_DIR}/pyproject.toml.in ${CMAKE_CURRENT_BINARY_DIR}/pyproject.toml)
++ configure_file(${CMAKE_SOURCE_DIR}/cmake/CMakeBuilder.py ${CMAKE_CURRENT_BINARY_DIR}/CMakeBuilder.py)
++ if(WIN32)
++ set(ext .pyd)
++ set(env_path_sep ";")
++ else()
++ set(ext .so)
++ set(env_path_sep ":")
++ endif()
++
++ message(STATUS "SIP: Generating source files")
++ execute_process(
++ COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${PYTHONPATH}${env_path_sep}$ENV{PYTHONPATH}${env_path_sep}${CMAKE_CURRENT_BINARY_DIR}" ${SIP_BUILD_EXECUTABLE} ${SIP_ARGS}
++ COMMAND_ECHO STDOUT
++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
++ )
++ # This will generate the source-files during the configuration step in CMake. Needed to obtain the sources
++
++ # Touch the generated files (8 in total) to make them dirty and force them to rebuild
++ message(STATUS "SIP: Touching the source files")
++ set(_sip_output_files)
++ list(LENGTH SIP_FILES _no_outputfiles)
++ foreach(_concat_file_nr RANGE 0 ${_no_outputfiles})
++ if(${_concat_file_nr} LESS 8)
++ list(APPEND _sip_output_files "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/sip${MODULE_TARGET}part${_concat_file_nr}.cpp")
++ endif()
++ endforeach()
++
++ # Find the generated source files
++ message(STATUS "SIP: Collecting the generated source files")
++ file(GLOB sip_c "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/*.c")
++ file(GLOB sip_cpp "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/*.cpp")
++ file(GLOB sip_hdr "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/*.h")
++
++ # Add the user specified source files
++ message(STATUS "SIP: Collecting the user specified source files")
++ get_target_property(usr_src ${MODULE_TARGET} SOURCES)
++
++ # create the target library and link all the files (generated and user specified
++ message(STATUS "SIP: Linking the interface target against the shared library")
++ set(sip_sources "${sip_c}" "${sip_cpp}" "${usr_src}")
++
++ if (BUILD_SHARED_LIBS)
++ add_library("sip_${MODULE_TARGET}" SHARED ${sip_sources})
++ else()
++ add_library("sip_${MODULE_TARGET}" STATIC ${sip_sources})
++ endif()
++
++ # Make sure that the library name of the target is the same as the MODULE_TARGET with the appropriate extension
++ target_link_libraries("sip_${MODULE_TARGET}" PRIVATE "${MODULE_TARGET}")
++ set_target_properties("sip_${MODULE_TARGET}" PROPERTIES PREFIX "")
++ set_target_properties("sip_${MODULE_TARGET}" PROPERTIES SUFFIX ${ext})
++ set_target_properties("sip_${MODULE_TARGET}" PROPERTIES OUTPUT_NAME "${MODULE_TARGET}")
++
++ # Add the custom command to (re-)generate the files and mark them as dirty. This allows the user to actually work
++ # on the sip definition files without having to reconfigure the complete project.
++ if (NOT DEFINED PYTHONPATH)
++ set(PYTHONPATH "")
++ endif ()
++ add_custom_command(
++ TARGET "sip_${MODULE_TARGET}"
++ COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${PYTHONPATH}${env_path_sep}$ENV{PYTHONPATH}${env_path_sep}${CMAKE_CURRENT_BINARY_DIR}" ${SIP_BUILD_EXECUTABLE} ${SIP_ARGS}
++ COMMAND ${CMAKE_COMMAND} -E touch ${_sip_output_files}
++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
++ MAIN_DEPENDENCY ${MODULE_SIP}
++ DEPENDS ${sip_sources}
++ VERBATIM
++ )
++
++ set_target_properties("sip_${MODULE_TARGET}"
++ PROPERTIES
++ RESOURCE "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/${MODULE_TARGET}.pyi")
++endfunction()
++
++function(install_sip_module MODULE_TARGET)
++ if(DEFINED ARGV1)
++ set(_install_path ${ARGV1})
++ else()
++ if(DEFINED Python_SITEARCH)
++ set(_install_path ${Python_SITEARCH})
++ elseif(DEFINED Python_SITELIB)
++ set(_install_path ${Python_SITELIB})
++ else()
++ message(FATAL_ERROR "SIP: Specify the site-packages location")
++ endif()
++ endif()
++ message(STATUS "SIP: Installing Python module and PEP 484 file in ${_install_path}")
++ install(TARGETS "sip_${MODULE_TARGET}"
++ ARCHIVE DESTINATION ${_install_path}
++ LIBRARY DESTINATION ${_install_path}
++ RUNTIME DESTINATION ${_install_path}
++ RESOURCE DESTINATION ${_install_path}
++ )
++endfunction()
diff --git a/testing/py3-arcus/cmake.patch b/testing/py3-arcus/cmake.patch
new file mode 100644
index 00000000000..e7390e0fe00
--- /dev/null
+++ b/testing/py3-arcus/cmake.patch
@@ -0,0 +1,32 @@
+--- ./CMakeLists.txt.orig
++++ ./CMakeLists.txt
+@@ -2,22 +2,22 @@
+ project(pyarcus)
+ cmake_minimum_required(VERSION 3.20)
+
+-find_package(protobuf REQUIRED)
+-find_package(cpython REQUIRED)
+-find_package(arcus REQUIRED)
++list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+
+-find_package(standardprojectsettings REQUIRED)
+-find_package(sipbuildtool REQUIRED)
++find_package(Protobuf REQUIRED)
++find_package(Python REQUIRED COMPONENTS Interpreter Development)
++find_package(Arcus REQUIRED)
+
++find_package(SIP 6.5.0 REQUIRED)
++
+ add_library(pyArcus INTERFACE src/PythonMessage.cpp)
+-use_threads(pyArcus)
+
+ target_include_directories(pyArcus
+ INTERFACE
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include/>
+ )
+-target_link_libraries(pyArcus INTERFACE arcus::arcus protobuf::libprotobuf cpython::cpython)
++target_link_libraries(pyArcus INTERFACE Arcus protobuf::libprotobuf Python::Python)
+ add_sip_module(pyArcus)
+ install_sip_module(pyArcus)
+
diff --git a/testing/py3-arcus/pyproject.patch b/testing/py3-arcus/pyproject.patch
new file mode 100644
index 00000000000..3dd7f3a6e7b
--- /dev/null
+++ b/testing/py3-arcus/pyproject.patch
@@ -0,0 +1,20 @@
+--- /dev/null
++++ ./pyproject.toml.in
+@@ -0,0 +1,17 @@
++[build-system]
++requires = ["sip >=6, <7"]
++build-backend = "sipbuild.api"
++
++[tool.sip.metadata]
++name = "pyArcus"
++
++[tool.sip.project]
++builder-factory = "CMakeBuilder"
++sip-files-dir = "${CMAKE_CURRENT_SOURCE_DIR}/python/"
++sip-include-dirs = ["CMAKE_CURRENT_SOURCE_DIR/python/"]
++build-dir = "${CMAKE_CURRENT_BINARY_DIR}/pyArcus/"
++
++[tool.sip.bindings.pyArcus]
++exceptions = true
++release-gil = true
++concatenate = 8
diff --git a/testing/py3-argcomplete/APKBUILD b/testing/py3-argcomplete/APKBUILD
deleted file mode 100644
index cbb6b9b2cd2..00000000000
--- a/testing/py3-argcomplete/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=py3-argcomplete
-_pyname=argcomplete
-pkgver=1.12.3
-pkgrel=1
-pkgdesc="Easy, extensible command line tab completion of arguments for your Python script"
-options="!check" # Tests are py2 dependent
-url="https://github.com/kislyuk/argcomplete"
-arch="noarch"
-license="Apache-2.0"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-coverage py3-flake8 py3-pexpect bash"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kislyuk/$_pyname/archive/v$pkgver.tar.gz
- "
-builddir="$srcdir/$_pyname-$pkgver"
-
-replaces="py-argcomplete" # Backwards compatibility
-provides="py-argcomplete=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
-}
-
-sha512sums="
-055c12f0c6c2d575979e7ac5d9e60688564ea6c38d2637c39393af03a140a29c8b70ffc6d91dcfee194d30556f1a9d6c33c190469e5e658da6543f08fb41b725 py3-argcomplete-1.12.3.tar.gz
-"
diff --git a/testing/py3-arpeggio/APKBUILD b/testing/py3-arpeggio/APKBUILD
index 3e3c0053eb6..df811b77cf5 100644
--- a/testing/py3-arpeggio/APKBUILD
+++ b/testing/py3-arpeggio/APKBUILD
@@ -1,27 +1,19 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=py3-arpeggio
-pkgver=1.10.2
+pkgver=2.0.2
pkgrel=1
pkgdesc="Recursive descent parser based on PEG grammars"
url="https://github.com/textX/Arpeggio"
license="MIT"
arch="noarch"
depends="python3"
-makedepends="
- py3-pytest-runner
- py3-setuptools
- "
+makedepends="py3-setuptools"
checkdepends="py3-pytest"
-source="https://github.com/textX/Arpeggio/archive/$pkgver/Arpeggio-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://github.com/textX/Arpeggio/archive/$pkgver/py3-arpeggio-$pkgver.tar.gz"
builddir="$srcdir/Arpeggio-$pkgver"
-prepare() {
- default_prepare
-
- sed -e "/wheel/d" -i setup.cfg
-}
-
build() {
python3 setup.py build
}
@@ -31,9 +23,11 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ python3 setup.py install --skip-build --root="$pkgdir"
rm -r "$pkgdir"/usr/lib/python3.*/site-packages/arpeggio/tests
}
-sha512sums="c6a162f9ab854bac7e2bc9e5d5553c2dbcc068fcf61607149727cd4c8a7c87c63cab765b423c8ea76e09fa81ccc42157d724388a81e22864580ccf734998142a Arpeggio-1.10.2.tar.gz"
+sha512sums="
+53628b94c5181a5768be686d7c27178f77823065164dcaa421125aa3c5f2fedf2bf9e54761b92a73832dd9ae667a23eaa4ca3b00155d1acd800c00acf0f449a4 py3-arpeggio-2.0.2.tar.gz
+"
diff --git a/testing/py3-asif/APKBUILD b/testing/py3-asif/APKBUILD
index c97305342cb..79142ba4d45 100644
--- a/testing/py3-asif/APKBUILD
+++ b/testing/py3-asif/APKBUILD
@@ -1,14 +1,15 @@
# Maintainer: Pedro Lucas Porcellis <porcellis@eletrotupi.com>
pkgname=py3-asif
_pkgname=asif
-pkgver=0.3.0
-pkgrel=1
+pkgver=0.3.2
+pkgrel=2
pkgdesc="asyncio-powered IRC bot framework"
url="https://github.com/minus7/asif"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/minus7/asif/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
options="!check" # no testsuite
@@ -18,9 +19,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-7d7fa82cbfa7bf7eb693be32d6f63ed397f82f9b14a1e60c99e0a0538fea4343933152fdb22dbcc40ff9701d22a08d8e8ee5929469f57ae76fa96c50209222c6 py3-asif-0.3.0.tar.gz
+7bc8a1a3ed2992a0e30e6f2595564706335139513ef25ec4e632afe246f446029dbb0ff3abfa942b65b0adb91e6c1d7089f36157003fd41a84cf52ae8cc72928 py3-asif-0.3.2.tar.gz
"
diff --git a/testing/py3-ask/APKBUILD b/testing/py3-ask/APKBUILD
index a61ad7b2613..0cc7e1c1842 100644
--- a/testing/py3-ask/APKBUILD
+++ b/testing/py3-ask/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-ask
_pkgname=ask
pkgver=0.0.8
-pkgrel=4
+pkgrel=8
pkgdesc="An easy input validation for Python"
options="!check" # No testsuite
url="https://github.com/chive/ask"
arch="noarch"
license="MIT"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
-replaces="py-ask" # Backwards compatibility
+replaces="py-ask" # Backwards compatibility
provides="py-ask=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="8258349066a4f57d1a5e7a136cca8330e662e135ac366b905327e9c3535ec1a949865cf20e1332d9f8a22d06c76474f86cdbd11e52bf7c002e87a3f3654ded60 ask-0.0.8.tar.gz"
diff --git a/testing/py3-astral/APKBUILD b/testing/py3-astral/APKBUILD
index 60699844077..44c3a5ab39b 100644
--- a/testing/py3-astral/APKBUILD
+++ b/testing/py3-astral/APKBUILD
@@ -2,15 +2,16 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-astral
_pkgname=astral
-pkgver=2.2
-pkgrel=2
+pkgver=3.2
+pkgrel=3
pkgdesc="Calculations for the position of the sun and moon"
-url="https://pypi.python.org/pypi/astral"
+url="https://pypi.org/project/astral"
arch="noarch"
license="Apache-2.0"
-depends="py3-requests py3-tz python3"
-makedepends="py3-setuptools"
+depends="python3 tzdata"
+makedepends="py3-poetry-core py3-gpep517 py3-installer"
checkdepends="py3-pytest py3-freezegun"
+subpackages="$pkgname-pyc"
source="$_pkgname-$pkgver.tar.gz::https://github.com/sffjunkie/astral/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -18,16 +19,21 @@ replaces=py-astral # Backwards compatibility
provides=py-astral=$pkgver-r$pkgrel # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
# skip the webtest since we lack an API key
- PYTHONPATH="$PWD/build/lib" py.test-3 -v -m "not webtest"
+ pytest -v -m "not webtest"
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/astral-*.whl
}
-sha512sums="2b2f2c6f6f5960f747542e6410800bfab1125aa6ebe2d77d9fb4ef9e99458e808449c96855ef4d1cb8eac07f8e400e2cdbe71420391f6ee81efab31ce7693b90 astral-2.2.tar.gz"
+sha512sums="
+f463d58ecd2d251a5c9bbcc18a65d7234e596a6c4f8fdd29574049e5d6942cc3881da8e3851a052050b1e40db5db55fdd4967468b5f6bea2fa8ea597b0d65251 astral-3.2.tar.gz
+"
diff --git a/testing/py3-asyauth/APKBUILD b/testing/py3-asyauth/APKBUILD
new file mode 100644
index 00000000000..702bc9a62dc
--- /dev/null
+++ b/testing/py3-asyauth/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-asyauth
+_pyname=asyauth
+pkgver=0.0.20
+pkgrel=1
+pkgdesc="Unified authentication library"
+url="https://github.com/skelsec/asyauth"
+arch="noarch"
+license="MIT"
+depends="
+ py3-asn1crypto
+ py3-asysocks
+ py3-minikerberos
+ py3-unicrypto
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/asyauth/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+1d34ea4114f7df70f3b180ab5effc00db9d48ef8450173fc7ea8b0e7129f7e1b95569b1db8e3c5fd196acf3db0046a6dbf75c0480ac3ff9bbeb9f4770994d432 py3-asyauth-0.0.20.tar.gz
+"
diff --git a/testing/py3-async-lru/APKBUILD b/testing/py3-async-lru/APKBUILD
new file mode 100644
index 00000000000..fb9e5e189ac
--- /dev/null
+++ b/testing/py3-async-lru/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-pypi, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=py3-async-lru
+#_pkgreal is used by apkbuild-pypi to find modules at PyPI
+_pkgreal=async-lru
+pkgver=2.0.4
+pkgrel=1
+pkgdesc="Simple LRU cache for asyncio"
+url="https://pypi.org/project/async-lru/"
+arch="noarch"
+license="MIT"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest-asyncio py3-pytest-cov py3-pytest-timeout"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/a/async-lru/async-lru-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+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="
+f659fe8fdcec310f0070ffee5eabbc92c50b9d987d0b221e119a6cc67710f4c704ba3447518170e408f32b598abcf8e94fcaec9c9111120947126f26d5f021c6 async-lru-2.0.4.tar.gz
+"
diff --git a/testing/py3-asyncmock/APKBUILD b/testing/py3-asyncmock/APKBUILD
deleted file mode 100644
index d70c8579842..00000000000
--- a/testing/py3-asyncmock/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-asyncmock
-pkgver=0.4.2
-pkgrel=1
-pkgdesc="Extension to the standard mock framework to support support async"
-url="https://github.com/timsavage/asyncmock"
-arch="noarch"
-license="BSD-3-Clause"
-# PyPi tarball has no tests
-options="!check"
-depends="python3 py3-mock"
-makedepends="py3-setuptools py3-pytest-runner"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/a/asyncmock/asyncmock-$pkgver.tar.gz"
-builddir="$srcdir/asyncmock-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-b421849eda8edddd9e5d12b90ed3544ae164b890deff4052d5be252d65b9ad11ee32a45250de1e103fc84d5de06bf05d76aacaa4b907b1b784ccc18135674959 py3-asyncmock-0.4.2.tar.gz
-"
diff --git a/testing/py3-asysocks/APKBUILD b/testing/py3-asysocks/APKBUILD
new file mode 100644
index 00000000000..4b420bd2a59
--- /dev/null
+++ b/testing/py3-asysocks/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-asysocks
+_pyname="asysocks"
+pkgver=0.2.12
+pkgrel=1
+pkgdesc="Socks5 / Socks4 client and server library"
+url="https://github.com/skelsec/asysocks"
+arch="noarch"
+license="MIT"
+depends="
+ py3-asn1crypto
+ py3-cryptography
+ py3-h11
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/asysocks/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+9aa67b2d8548737e0bddecd54a0d01bbfe2dedac40f90dc3be08d26b259a8994b8f4f1ab1bacf783e7a87271d8c568fc71eeb46bcbced829cc7ae0b1b4f7e53f py3-asysocks-0.2.12.tar.gz
+"
diff --git a/testing/py3-audioread/APKBUILD b/testing/py3-audioread/APKBUILD
deleted file mode 100644
index 2b75273a739..00000000000
--- a/testing/py3-audioread/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=py3-audioread
-_pkgname=audioread
-pkgver=2.1.9
-pkgrel=2
-pkgdesc="Multi-library, cross-platform audio decoding"
-url="https://github.com/sampsyo/audioread"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-options="!check" # upstream provides no testsuite
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-replaces="py-audioread" # Backwards compatibility
-provides="py-audioread=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="ad2260b6931cfeebb815d48221366a2a5d8095965ff18e94c5eb0809d9a1b02e650a62ad5e895b7f1e003771fa3babf56f59ce4538aca78b678566fd28327290 audioread-2.1.9.tar.gz"
diff --git a/testing/py3-authres/APKBUILD b/testing/py3-authres/APKBUILD
new file mode 100644
index 00000000000..a413a79e6b7
--- /dev/null
+++ b/testing/py3-authres/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: knuxify <knuxify@gmail.com>
+# Maintainer: knuxify <knuxify@gmail.com>
+pkgname=py3-authres
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="RFC 5451/7001/7601 Authentication-Results Headers generation and parsing for Python"
+url="https://launchpad.net/authentication-results-python"
+arch="noarch"
+license="Apache-2.0"
+depends="python3"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://launchpad.net/authentication-results-python/1.2/$pkgver/+download/authres-$pkgver.tar.gz"
+builddir="$srcdir/authres-$pkgver"
+options="!check" # no test suite
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+b801b24127f90608c4e7870a3a15bfb6e350f7d8bbe7b7cd9e1c6d541fd360afb9bdd15f35e864f01f8ff2d33d65650e712c932c9402ab2affb86bc7536b63e1 authres-1.2.0.tar.gz
+"
diff --git a/testing/py3-avro/APKBUILD b/testing/py3-avro/APKBUILD
index be387846bf2..ba4e252600c 100644
--- a/testing/py3-avro/APKBUILD
+++ b/testing/py3-avro/APKBUILD
@@ -2,27 +2,41 @@
# Contributor: Gennady Feldman <gena01@gmail.com>
pkgname=py3-avro
_pkgname=avro
-pkgver=1.10.2
+pkgver=1.11.3
pkgrel=1
pkgdesc="Serialization and RPC framework"
url="https://avro.apache.org/"
arch="noarch"
license="Apache-2.0"
-depends="py3-six"
-makedepends="py3-setuptools py3-pycodestyle py3-isort"
-source="$pkgname-$pkgver.tar.gz::http://github.com/apache/$_pkgname/archive/release-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-release-$pkgver/lang/py3"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-isort
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/apache/$_pkgname/archive/release-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-release-$pkgver/lang/py"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="7a136dde14e20329c4b2163f3707eff2b352405e56f7b48e56af78e58ef55b992397a7d4bf319b3be86edbc0e5f7aed6af014a10d73452a261ab8ed3d7e25e93 py3-avro-1.10.2.tar.gz"
+sha512sums="
+728609f562460e1115366663ede2c5d4acbdd6950c1ee3e434ffc65d28b72e3a43c3ebce93d0a8459f0c4f6c492ebb9444e2127a0385f38eb7cdf74b28f0c3ed py3-avro-1.11.3.tar.gz
+"
diff --git a/testing/py3-awesomeversion/APKBUILD b/testing/py3-awesomeversion/APKBUILD
deleted file mode 100644
index 12254ae9314..00000000000
--- a/testing/py3-awesomeversion/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-awesomeversion
-pkgver=22.1.0
-pkgrel=0
-pkgdesc="Python module to deal with versions"
-url="https://github.com/ludeeus/awesomeversion"
-license="MIT"
-arch="noarch"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://github.com/ludeeus/awesomeversion/archive/$pkgver/py3-awesomeversion-$pkgver.tar.gz"
-builddir="$srcdir/awesomeversion-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$PWD/build/lib" pytest
-}
-
-package() {
- python3 setup.py install --root="$pkgdir" --skip-build
-}
-
-sha512sums="
-bcd837524499e92a2259b75b52902d9a2996a53c42cd2cfe220ae319adfe8e3695494c8cf293b70373f349f249abefc5707ede69886c317e835db05599923b0c py3-awesomeversion-22.1.0.tar.gz
-"
diff --git a/testing/py3-axolotl-curve25519/APKBUILD b/testing/py3-axolotl-curve25519/APKBUILD
deleted file mode 100644
index a7a518939af..00000000000
--- a/testing/py3-axolotl-curve25519/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=py3-axolotl-curve25519
-_pkgname="python-${pkgname#py3-}"
-pkgver=0.4.1b
-_pkgver=0.4.1-2
-pkgrel=5
-pkgdesc="A python wrapper for curve25519 library with ed25519 signatures"
-options="!check" # No testsuite
-url="https://github.com/tgalal/python-axolotl-curve25519"
-arch="all"
-license="GPL-3.0-only"
-makedepends="py3-setuptools python3-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/tgalal/$_pkgname/archive/$_pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$_pkgver
-
-replaces="py-axolotl-cuve25519" # Backwards compatibility
-provides="py-axolotl-cuve25519=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="cbc7c6caa47a9a811640c247a1be727d7b1b68bcdb4c5336e02b4d1eaf9fd2c57b7438b0da466a379a1c0f3f146756b9b7eea3c9b7945ce88478d4bf0b8a1e0d py3-axolotl-curve25519-0.4.1b.tar.gz"
diff --git a/testing/py3-axolotl/APKBUILD b/testing/py3-axolotl/APKBUILD
deleted file mode 100644
index b499633a978..00000000000
--- a/testing/py3-axolotl/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=py3-axolotl
-_pkgname="python-${pkgname#py3-}"
-pkgver=0.2.3
-pkgrel=3
-pkgdesc="Python3 port of libsignal-protocol-java"
-url="https://github.com/tgalal/python-axolotl"
-arch="noarch"
-license="GPL-3.0-only"
-depends="py3-cryptography py3-protobuf py3-axolotl-curve25519"
-makedepends="py3-setuptools"
-checkdepends="py3-cparser"
-source="$pkgname-$pkgver.tar.gz::https://github.com/tgalal/$_pkgname/archive/$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-axolotl" # Backwards compatibility
-provides="py-axolotl=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="1a10dc9df2f95d19b49909d4d136b5266aae19e24ac84f8b263ae7d4de18f77353c737616ac0648b600e05699a90d348f95c6c1659849986becefb4a0277fc80 py3-axolotl-0.2.3.tar.gz"
diff --git a/testing/py3-babelfish/APKBUILD b/testing/py3-babelfish/APKBUILD
deleted file mode 100644
index 4f207047a5f..00000000000
--- a/testing/py3-babelfish/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Philipp Glaum <p@pglaum.de>
-# Maintainer: Philipp Glaum <p@pglaum.de>
-pkgname=py3-babelfish
-_pkgname=babelfish
-pkgver=0.6.0
-pkgrel=0
-pkgdesc="Work with countries and languages"
-url="https://pypi.org/project/babelfish/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-f5b6c1394ba3106773ceafd63f65e0a4df94ff7860069cdba1d4bbe91bccf528be4ad0eb1acdd00ce336afcd61f29e71910baab511a1fc26ded6aac7e10fe9cf babelfish-0.6.0.tar.gz
-"
diff --git a/testing/py3-banal/APKBUILD b/testing/py3-banal/APKBUILD
new file mode 100644
index 00000000000..07a0e3e446b
--- /dev/null
+++ b/testing/py3-banal/APKBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Daniele Parisi <danieleparisi@mailfence.com>
+pkgname=py3-banal
+_pkgname=banal
+pkgver=1.0.6
+pkgrel=3
+pkgdesc="Commons of banal micro-functions for Python."
+url="https://pypi.org/project/banal/"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no test suite available
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+da35a9e5f6e9d905b9b3244a8bc398f1106116e4d5842a90e052bbdb95a17e51a08d2771f4438067d69cfc8834febe4718555d3c00e4e24f8b6e6d6a282682cb banal-1.0.6.tar.gz
+"
diff --git a/testing/py3-bandwidth-sdk/APKBUILD b/testing/py3-bandwidth-sdk/APKBUILD
index 40c64ea1a50..384987772e0 100644
--- a/testing/py3-bandwidth-sdk/APKBUILD
+++ b/testing/py3-bandwidth-sdk/APKBUILD
@@ -1,13 +1,14 @@
# Maintainer:
pkgname=py3-bandwidth-sdk
pkgver=3.1.0
-pkgrel=3
+pkgrel=7
pkgdesc="python helpers for using bandwidth.com API"
-url="https://pypi.python.org/pypi/bandwidth-sdk/"
+url="https://pypi.org/project/bandwidth-sdk/"
arch="noarch"
license="MIT"
depends="py3-requests py3-dateutil py3-lxml py3-six"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="bandwidth-sdk-$pkgver.tar.gz::https://github.com/Bandwidth/python-bandwidth/archive/v$pkgver.tar.gz"
builddir="$srcdir/python-bandwidth-$pkgver"
@@ -20,7 +21,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="31c09c709b4f61741f9eabf5a4ec56d3577996b5b3933c51264442cac1bbf95da5f3e5d9e98b914eb06d8897e273ea0863406fb6bf9c65af0ac1cd71f2f06ac1 bandwidth-sdk-3.1.0.tar.gz"
diff --git a/testing/py3-banknumber/APKBUILD b/testing/py3-banknumber/APKBUILD
deleted file mode 100644
index f7df6001e7c..00000000000
--- a/testing/py3-banknumber/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-banknumber
-_pkgname=banknumber
-pkgver=2.0
-pkgrel=6
-pkgdesc="Python3 module to validate Bank codes"
-url="https://bitbucket.org/zikzakmedia/python-banknumber"
-arch="noarch"
-license="GPL-3.0-or-later"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-banknumber" # Backwards compatibility
-provides="py-banknumber=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="78eb4911483a2cf54f5f2c5dd0b023483b9b14fc630c1a93238145491f79de31d3213dbee2838dd36643f4adca89136bda1a104b89710a7292aa497f511bb25d banknumber-2.0.tar.gz"
diff --git a/testing/py3-barcodenumber/APKBUILD b/testing/py3-barcodenumber/APKBUILD
index bf85a0427b7..3b8354daaa3 100644
--- a/testing/py3-barcodenumber/APKBUILD
+++ b/testing/py3-barcodenumber/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-barcodenumber
_pkgname=barcodenumber
pkgver=0.2.1
-pkgrel=6
+pkgrel=10
pkgdesc="A Python module to validate product codes"
url="https://bitbucket.org/zikzakmedia/python-barcodenumber"
arch="noarch"
license="GPL-3.0-or-later"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces=py-barcodenumber # Backwards compatibility
+replaces=py-barcodenumber # Backwards compatibility
provides=py-barcodenumber=$pkgver-r$pkgrel # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="5a2f517cf3ea4d0ff9cbcf7b6b81e44cd4cd3a2ac38bc5b2a087a5e84f0917daa560f6bd7eeb33b3a3695f833fcc321b8fee114f28b89eed7bdb4efaf7de4412 barcodenumber-0.2.1.tar.gz"
diff --git a/testing/py3-base58/APKBUILD b/testing/py3-base58/APKBUILD
new file mode 100644
index 00000000000..055f9dd1397
--- /dev/null
+++ b/testing/py3-base58/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Eloi Torrents <eloitor@duck.com>
+# Maintainer: Eloi Torrents <eloitor@duck.com>
+pkgname=py3-base58
+pkgver=2.1.1
+pkgrel=1
+pkgdesc="Bitcoin-compatible Base58 and Base58Check implementation"
+url="https://github.com/keis/base58"
+arch="all"
+license="MIT"
+depends="python3"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest py3-pyhamcrest py3-pytest-benchmark"
+source="$pkgname-$pkgver.tar.gz::https://github.com/keis/base58/archive/v$pkgver.tar.gz"
+builddir="$srcdir/${pkgname/py3-/}-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="
+e39131ffbcc4f2d64d576fc6a6e7052b4f0ac0e9895819cc3086fec686c276bdfc031e8a3756197a18da576cf165b6d8c8d5e72bed9820e7e4dd4053aa9b8068 py3-base58-2.1.1.tar.gz
+"
diff --git a/testing/py3-beartype/APKBUILD b/testing/py3-beartype/APKBUILD
new file mode 100644
index 00000000000..91ab9162505
--- /dev/null
+++ b/testing/py3-beartype/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=py3-beartype
+_pyname=beartype
+pkgver=0.18.3
+pkgrel=0
+pkgdesc="Fast, pure-Python type checker"
+url="https://github.com/beartype/beartype"
+arch="noarch"
+license="MIT"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-numpy py3-mypy py3-docutils py3-sphinx"
+subpackages="$pkgname-pyc"
+source="
+ $_pyname-$pkgver.tar.gz::https://github.com/beartype/beartype/archive/refs/tags/v$pkgver.tar.gz
+ "
+builddir="$srcdir/$_pyname-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ # nuitka isn't packaged for alpine yet
+ # pyright isn't packaged anymore
+ # long type-check test fails on some architectures
+ python3 -m venv --clear --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest \
+ --deselect beartype_test/a90_func/z90_lib/a90_nuitka/test_nuitka.py \
+ --deselect beartype_test/a90_func/pep/test_pep561_static.py::test_pep561_pyright \
+ --deselect beartype_test/a00_unit/a70_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+f9cf06e9f986890383528aa451becb4a006a7333279e3e4ec8a82b00dbc570f02182f1faf51e89dbb556b0c93d6ac7a3808cef1c92ad6d314e79bf66487511f8 beartype-0.18.3.tar.gz
+"
diff --git a/testing/py3-bencode/APKBUILD b/testing/py3-bencode/APKBUILD
new file mode 100644
index 00000000000..afa1e8c0b10
--- /dev/null
+++ b/testing/py3-bencode/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=py3-bencode
+_pkgname=bencode.py
+pkgver=4.0.0
+pkgrel=1
+pkgdesc="Simple bencode parser"
+url="https://github.com/fuzeman/bencode.py"
+arch="noarch"
+license="BitTorrent-1.1"
+makedepends="
+ py3-setuptools
+ py3-pbr
+ py3-gpep517
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fuzeman/bencode.py/archive/$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+builddir="$srcdir"/$_pkgname-$pkgver
+
+build() {
+ export PBR_VERSION=$pkgver
+ 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="
+30d6e9c61fbe91d274b10e9a8bd01cee77111e164a41975433a3a6d9d225a3148887fbb46153c6800f1a0846c8dd1e9852d4d4bed67a1964aac7bdb6837e6072 py3-bencode-4.0.0.tar.gz
+"
diff --git a/testing/py3-bidict/APKBUILD b/testing/py3-bidict/APKBUILD
new file mode 100644
index 00000000000..b54b9cd920e
--- /dev/null
+++ b/testing/py3-bidict/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-bidict
+pkgver=0.23.1
+pkgrel=1
+pkgdesc="The bidirectional mapping library for Python"
+url="https://bidict.readthedocs.io/"
+arch="noarch"
+license="MPL-2.0"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-hypothesis
+ py3-pytest
+ py3-pytest-benchmark
+ py3-pytest-xdist
+ py3-sortedcollections
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jab/bidict/archive/refs/tags/v$pkgver.tar.gz
+ no-typing-ext.patch
+ "
+builddir="$srcdir/bidict-$pkgver"
+
+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="
+795e29b61c1717dd34807c60ce598fc6a142decebd0545378bdc728f397e2050f52cf11212075ba60e22553031e9727fcbaae26891f531219075f6f58e457d05 py3-bidict-0.23.1.tar.gz
+eaef2f16cdf89e4f206d8595167286da672054c68715686eb412f3d5e1be4b55537c300248034c2679cda5c1d12fba961f23917648e8fe805949cb5cad70e10b no-typing-ext.patch
+"
diff --git a/testing/py3-bidict/no-typing-ext.patch b/testing/py3-bidict/no-typing-ext.patch
new file mode 100644
index 00000000000..05ad5905704
--- /dev/null
+++ b/testing/py3-bidict/no-typing-ext.patch
@@ -0,0 +1,9 @@
+diff --git a/tests/test_bidict.py b/tests/test_bidict.py
+index 461d08b..d48ffe8 100644
+--- a/tests/test_bidict.py
++++ b/tests/test_bidict.py
+@@ -59,3 +59,3 @@ from hypothesis.strategies import sampled_from
+ from hypothesis.strategies import tuples
+-from typing_extensions import assert_type
++from typing import assert_type
+
diff --git a/testing/py3-billiard/APKBUILD b/testing/py3-billiard/APKBUILD
deleted file mode 100644
index ee33cfeeb86..00000000000
--- a/testing/py3-billiard/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=py3-billiard
-pkgver=3.6.4.0
-pkgrel=1
-pkgdesc="a message queue abstraction layer"
-url="https://pypi.python.org/pypi/billiard/"
-arch="noarch"
-license="BSD-3-Clause"
-makedepends="py3-setuptools"
-checkdepends="py3-psutil py3-pytest py3-nose py3-case"
-source="https://files.pythonhosted.org/packages/source/b/billiard/billiard-$pkgver.tar.gz"
-builddir="$srcdir/billiard-$pkgver"
-
-replaces="py-billiard" # Backwards compatibility
-provides="py-billiard=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- # Uses wrong name for 'queue' module.
- # Uses internal 'test' and 'test.support' modules.
- rm -f t/integration/tests/test_multiprocessing.py
-
- # Windows only
- rm -f t/unit/test_win32.py
-
- py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="9f2a44024e45c4e7667472a0a3ade7caae755ec7c163929433f818e4b87165218b9cc9545bdee2254e7159c206e525306e383d38906b00fd5428bd1616c39b8f billiard-3.6.4.0.tar.gz"
diff --git a/testing/py3-biopython/APKBUILD b/testing/py3-biopython/APKBUILD
deleted file mode 100644
index c0d6d5e5004..00000000000
--- a/testing/py3-biopython/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Charles Pritchard <chuck@jumis.com>
-# Maintainer: Charles Pritchard <chuck@jumis.com>
-pkgname=py3-biopython
-pkgver=1.79
-pkgrel=1
-pkgdesc="Python tools for computational molecular biology."
-options="!check" # test_NCBI_qblast hangs
-url="https://biopython.org/"
-arch="all !mips !mips64" # blocked by py3-numpy
-license="BSD-3-Clause"
-depends="py3-numpy python3"
-makedepends="py3-setuptools py3-numpy-dev python3-dev"
-source="https://files.pythonhosted.org/packages/source/b/biopython/biopython-$pkgver.tar.gz"
-builddir="$srcdir/biopython-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-81e2718f4015bb038637b4d1181e6bea48018fec1e769c5f0ab75442a769336899191f1222e82e1b9569c1fac470500d7582420e5cbe9bce0056b41751adeaaa biopython-1.79.tar.gz
-"
diff --git a/testing/py3-bite-parser/APKBUILD b/testing/py3-bite-parser/APKBUILD
new file mode 100644
index 00000000000..e717ee03a7f
--- /dev/null
+++ b/testing/py3-bite-parser/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=py3-bite-parser
+pkgver=0.2.4
+pkgrel=1
+pkgdesc="Asynchronous parser taking incremental bites out of your byte input stream"
+url="https://github.com/jgosmann/bite-parser"
+arch="noarch"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest-asyncio
+ py3-pytest-forked
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jgosmann/bite-parser/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/bite-parser-$pkgver"
+
+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 -n auto --forked
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+ rm -r "$pkgdir"/usr/lib/python*/site-packages/bite/tests
+}
+
+sha512sums="
+57edf56b27c07e3b113481b63d7db95053822c28c03111950e86eaeb15efd7be98e11652019e81a24d928d7dd7fe1781cedaa43d844c3a618377c1c8beb82e1a py3-bite-parser-0.2.4.tar.gz
+"
diff --git a/testing/py3-bitstruct/APKBUILD b/testing/py3-bitstruct/APKBUILD
new file mode 100644
index 00000000000..d3d4f661938
--- /dev/null
+++ b/testing/py3-bitstruct/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-bitstruct
+pkgver=8.19.0
+pkgrel=1
+pkgdesc="Python bit pack/unpack package"
+url="https://github.com/eerimoq/bitstruct"
+arch="all"
+license="MIT"
+depends="py3-codespell"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/eerimoq/bitstruct/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # Fails to import bitstruct.c
+builddir="$srcdir/bitstruct-$pkgver"
+
+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="
+9a3f7068664d70b86db1da4df4d3e650b774e89d69d71d9e6d73cc26ff98d5e606618301fa817ca5021d77a16b75c7b4c4f5d386a6b346104786de50ce9b02aa py3-bitstruct-8.19.0.tar.gz
+"
diff --git a/testing/py3-bleach-allowlist/APKBUILD b/testing/py3-bleach-allowlist/APKBUILD
deleted file mode 100644
index aa911e46c64..00000000000
--- a/testing/py3-bleach-allowlist/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=py3-bleach-allowlist
-pkgver=1.0.3
-pkgrel=1
-pkgdesc="Curated list of tags and attributes for sanitizing html"
-url="https://github.com/yourcelf/bleach-allowlist"
-arch="noarch"
-license="BSD-2-Clause"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://pypi.python.org/packages/source/b/bleach-allowlist/bleach-allowlist-$pkgver.tar.gz"
-options="!check" # No tests
-builddir="$srcdir/bleach-allowlist-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-a9ee0b746e082af5e8e0a09501f34050c3395d83b3e9b89c2c7980c6f55f6d305c490992fecac09a3146f924024235bff09255accb96d3da36bfeb32f8739da4 bleach-allowlist-1.0.3.tar.gz
-"
diff --git a/testing/py3-blis/APKBUILD b/testing/py3-blis/APKBUILD
deleted file mode 100644
index bd175db7335..00000000000
--- a/testing/py3-blis/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-blis
-pkgver=0.7.4
-pkgrel=1
-pkgdesc="Fast matrix-multiplication as a self-contained Python library"
-url="https://github.com/explosion/cython-blis"
-arch="x86_64 x86"
-license="MIT"
-depends="python3 py3-numpy"
-makedepends="python3-dev py3-setuptools cython py3-numpy-dev"
-checkdepends="py3-pytest py3-hypothesis"
-subpackages="$pkgname-doc"
-source="blis-$pkgver.tar.gz::https://github.com/explosion/cython-blis/archive/v$pkgver.tar.gz"
-#options="!check" # Disable checks as py3-hypothesis 5.x is not supported
-builddir="$srcdir/cython-blis-$pkgver"
-
-prepare() {
- default_prepare
- case "$CARCH" in
- x86_64) BLIS_ARCH=x86_64 ;;
- x86) BLIS_ARCH=generic ;;
- aarch64) BLIS_ARCH=cortexa53 ;;
- esac
- export BLIS_ARCH
-}
-
-build() {
- python3 setup.py build_ext --inplace
-}
-
-check() {
- python3 setup.py install --root="$PWD/tmp_install"
-
- cd tmp_install/$(python3 -c "import site; print(site.getsitepackages()[0])")
-
- PYTHONPATH="$PWD/build/lib" pytest-3 blis
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="cdcb37de625ba36d038d4ddb3f4cb9a9f185f594af29d7cc6540518de1df3b7a3a721bc8805de7c53d9c3d7afcfb2ef53ef24dafbf966f36a99261dd338549c3 blis-0.7.4.tar.gz"
diff --git a/testing/py3-blockchain/APKBUILD b/testing/py3-blockchain/APKBUILD
index 1478befa096..8ec3947a0a5 100644
--- a/testing/py3-blockchain/APKBUILD
+++ b/testing/py3-blockchain/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-blockchain
_pkgname=blockchain
pkgver=1.4.4
-pkgrel=3
+pkgrel=6
pkgdesc="Blockchain API library (v1)"
url="https://github.com/blockchain/api-v1-client-python"
arch="noarch"
license="MIT"
depends="py3-future"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -25,7 +26,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="46e9d83f3a8220aef67f90a5b1d0f29df709f48c69392eef3fa38eb22c5b346296e3f15cf61dcc612c57d0f94a838af6d74ae906c8ffffefec86e471bc036a8f blockchain-1.4.4.tar.gz"
diff --git a/testing/py3-blockdiag/APKBUILD b/testing/py3-blockdiag/APKBUILD
index e667ed9e5fa..cb3e6bb52cc 100644
--- a/testing/py3-blockdiag/APKBUILD
+++ b/testing/py3-blockdiag/APKBUILD
@@ -2,26 +2,36 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-blockdiag
_pkgname=blockdiag
-pkgver=2.0.1
-pkgrel=2
+pkgver=3.0.0
+pkgrel=4
pkgdesc="Generate block-diagram image file from spec-text file"
url="http://blockdiag.com"
arch="noarch"
license="Apache-2.0"
depends="py3-funcparserlib py3-pillow py3-webcolors"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-tests $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-blockdiag" # for backwards compatibility
+replaces="py-blockdiag" # for backwards compatibility
provides="py-blockdiag=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="07690882b05d4cf7be04245e183a7c54d9cd4acab3bb4b5e170b7b0f9229d6ea42eba4dc9fab47604c1572d3c4b09de96cffb610c0c31882b9c0b150f0e76d89 blockdiag-2.0.1.tar.gz"
+tests() {
+ amove usr/lib/python3*/site-packages/blockdiag/tests
+}
+
+sha512sums="
+e0e588941c5212a924068cc0b3953b670089e33c385ea8ce52fc54f5ca79414fb12217eba1052c5384c9f2fd81e79304639c9604cdc4a6464f7c221bb67ef267 blockdiag-3.0.0.tar.gz
+"
diff --git a/testing/py3-bookkeeper/APKBUILD b/testing/py3-bookkeeper/APKBUILD
new file mode 100644
index 00000000000..c419c120be0
--- /dev/null
+++ b/testing/py3-bookkeeper/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=py3-bookkeeper
+pkgver=4.16.2
+pkgrel=1
+pkgdesc="Python client for Apache Bookkeeper"
+url="https://github.com/apache/bookkeeper"
+arch="noarch"
+license="Apache-2.0"
+depends="python3"
+makedepends="py3-setuptools"
+options="!check" # test requires bookkeeper server
+subpackages="$pkgname-pyc"
+source="bookkeeper-release-$pkgver.tar.gz::https://github.com/apache/bookkeeper/archive/refs/tags/release-$pkgver.tar.gz"
+builddir="$srcdir/bookkeeper-release-$pkgver/stream/clients/python"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --root="$pkgdir"
+}
+
+sha512sums="
+2826cbd9c8769a8d6f9d0c6102999684bccf9f667ca693e5f6fabb1e4c99ce096a9f99b51d87e5eae311bd5a8f3b8557e93edaaa8a00fd0e21be68aad44811eb bookkeeper-release-4.16.2.tar.gz
+"
diff --git a/testing/py3-bottle-api/APKBUILD b/testing/py3-bottle-api/APKBUILD
index d9aca96d36c..da1ad3586af 100644
--- a/testing/py3-bottle-api/APKBUILD
+++ b/testing/py3-bottle-api/APKBUILD
@@ -3,27 +3,31 @@
pkgname=py3-bottle-api
_pkgname=bottle-api
pkgver=0.0.4
-pkgrel=3
+pkgrel=7
pkgdesc="Bottle JSON Web API"
options="!check" # tests not present in pypi tarballs, only github which has no tags
url="https://github.com/tomotaka/bottle-api"
arch="noarch"
license="MIT"
depends="python3 py3-bottle"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-replaces="py-bottle-api" # Backwards compat
+replaces="py-bottle-api" # Backwards compat
provides="py-bottle-api=$pkgver-r$pkgrel" # Backwards compat
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="538f0a12941a333fcae5694edba3930d449ed5464f05e760fb174481acf2bb95c413f1fa3cf67b09f7fd647c60bcbbad05a51f020d64dc41b39b25b7744308c6 bottle-api-0.0.4.tar.gz"
diff --git a/testing/py3-bottle-hotqueue/APKBUILD b/testing/py3-bottle-hotqueue/APKBUILD
deleted file mode 100644
index d1ce27bca99..00000000000
--- a/testing/py3-bottle-hotqueue/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-bottle-hotqueue
-_pkgname=bottle-hotqueue
-pkgver=0.2.5
-pkgrel=5
-pkgdesc="Bottle HotQueue plugin"
-options="!check" # No testsuite
-url="https://github.com/waawal/bottle_hotqueue"
-arch="noarch !armv7"
-license="MIT"
-depends="py3-bottle py3-hotqueue"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-bottle-hotqueue" # Backwards compatibility
-provides="py-bottle-hotqueue=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="0ee8a1254d3997b7066443100a27de5ca22b31f4c24bd2bc92bb41fa296516a9096d170e1d48b30dea192fe424b3d9b487b851c6a4c272c0c4a55681a1afc2dc bottle-hotqueue-0.2.5.tar.gz"
diff --git a/testing/py3-bottle-pgsql/APKBUILD b/testing/py3-bottle-pgsql/APKBUILD
index 8ef4a8f8c10..09b34294b07 100644
--- a/testing/py3-bottle-pgsql/APKBUILD
+++ b/testing/py3-bottle-pgsql/APKBUILD
@@ -3,26 +3,29 @@
pkgname=py3-bottle-pgsql
_pkgname=bottle-pgsql
pkgver=0.2
-pkgrel=2
+pkgrel=5
pkgdesc="Bottle PgSQL integration plugin"
options="!check" # No testsuite
url="https://github.com/raisoblast/bottle-pgsql"
arch="noarch"
license="MIT"
depends="python3 py3-bottle"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-bottle-pgsql" # Backwards compatibility
+replaces="py-bottle-pgsql" # Backwards compatibility
provides="py-bottle-pgsql=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="d45624d5b330be4624cac45a2a631f403679b1fa3799efd2db282ebc89cbc7f89b12c3c128a8be860d700904e420f6a2327a2bb3a18f4b0d490d423c131ef2a3 bottle-pgsql-0.2.tar.gz"
diff --git a/testing/py3-bottle-redis/APKBUILD b/testing/py3-bottle-redis/APKBUILD
index d45a5230ff4..2ad116e8ef3 100644
--- a/testing/py3-bottle-redis/APKBUILD
+++ b/testing/py3-bottle-redis/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-bottle-redis
_pkgname=bottle-redis
pkgver=0.2.3
-pkgrel=2
+pkgrel=6
pkgdesc="Bottle redis plugin"
options="!check" # No testsuite
url="https://github.com/bottlepy/bottle-redis"
arch="noarch"
license="MIT"
depends="python3 py3-bottle py3-redis"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-bottle-redis" # Backwards compatibility
+replaces="py-bottle-redis" # Backwards compatibility
provides="py-bottle-redis=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="7cfff9f20379be42186ed88c5de854302fb67bbb306a3ff81d41f4332e29a335e7b3ca69b89f6785d54cd9c2a0d312f3e3ac9537b1c28d70afad032ab4746008 bottle-redis-0.2.3.tar.gz"
diff --git a/testing/py3-bottle-renderer/APKBUILD b/testing/py3-bottle-renderer/APKBUILD
index bb791f788db..e390f483eb0 100644
--- a/testing/py3-bottle-renderer/APKBUILD
+++ b/testing/py3-bottle-renderer/APKBUILD
@@ -3,27 +3,31 @@
pkgname=py3-bottle-renderer
_pkgname=bottle-renderer
pkgver=0.1.1
-pkgrel=4
+pkgrel=9
pkgdesc="Bottle renderer plugin"
options="!check" # No testsuite upstream
-url="https://pypi.python.org/pypi/bottle-renderer"
+url="https://pypi.org/project/bottle-renderer"
arch="noarch"
license="MIT"
depends="python3 py3-bottle"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-replaces="py-bottle-renderer" # Backwards compat
+replaces="py-bottle-renderer" # Backwards compat
provides="py-bottle-renderer=$pkgver-r$pkgrel" # Backwards compat
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="1bbf5750de425afa201b525d4207d542512288fa2506053b460db9d6ffd2d5040cefe29ed663abb85e337b66025cd594d401c25181bdcdfbbe4c0cbd709f8311 bottle-renderer-0.1.1.tar.gz"
diff --git a/testing/py3-bottle-request/APKBUILD b/testing/py3-bottle-request/APKBUILD
index 100d14e471e..00116f00917 100644
--- a/testing/py3-bottle-request/APKBUILD
+++ b/testing/py3-bottle-request/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-bottle-request
_pkgname=bottle-request
pkgver=0.2.0
-pkgrel=5
+pkgrel=9
pkgdesc="Bottle 'stateless' request object plugin"
options="!check" # No testsuite
url="https://github.com/turtlebender/bottle-request/"
arch="noarch"
license="MIT"
depends="python3 py3-bottle"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-bottle-request" # Backwards compatibility
+replaces="py-bottle-request" # Backwards compatibility
provides="py-bottle-request=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="bd12268d703996e200dea5817f939ecf80e572e97d3686bcaf988ec048cda4e3b950122588b91ce78a06712a321e155e2e365bc75bbd2a720228a65441a67e21 bottle-request-0.2.0.tar.gz"
diff --git a/testing/py3-bottle-rest/APKBUILD b/testing/py3-bottle-rest/APKBUILD
index aad64c2b231..ea48ab96bf0 100644
--- a/testing/py3-bottle-rest/APKBUILD
+++ b/testing/py3-bottle-rest/APKBUILD
@@ -2,16 +2,17 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-bottle-rest
_pkgname=bottle-rest
-pkgver=0.5.2
-pkgrel=2
+pkgver=0.6.0
+pkgrel=1
pkgdesc="A decorator for REST in Bottle"
-options="!check" # Has no github tarballs with tests
-url="https://pypi.python.org/pypi/bottle-rest/"
+url="https://pypi.org/project/bottle-rest/"
arch="noarch"
license="MIT"
depends="python3 py3-bottle"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+makedepends="py3-gpep517 py3-setuptools py3-wheel py3-installer"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Bystroushaak/bottle-rest/archive/refs/tags/$pkgver.tar.gz"
replaces="py-bottle-rest" # Backwards compat
provides="py-bottle-rest=$pkgver-r$pkgrel" # Backwards compat
@@ -19,11 +20,22 @@ provides="py-bottle-rest=$pkgver-r$pkgrel" # Backwards compat
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py 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 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="2071a9b6e74e9cbed6bc07d55e9f64c3752e03a5fb24640a94bf0624be27675a01e525f3830119778d29b76b57fda1a7cb34895adc1332b038d0840ce27d11cb bottle-rest-0.5.2.tar.gz"
+sha512sums="
+abc34f287866188e84d3636df5d279061bbe9bc2dbc56bf1a6bafb39b255b5b04ae03fc0a2357e3d9a63ef100dfd3e630a408f84c05f8cbfe685e68a87a2ea93 py3-bottle-rest-0.6.0.tar.gz
+"
diff --git a/testing/py3-bottle-session/APKBUILD b/testing/py3-bottle-session/APKBUILD
index 11cdc64a38a..e1807e23717 100644
--- a/testing/py3-bottle-session/APKBUILD
+++ b/testing/py3-bottle-session/APKBUILD
@@ -3,27 +3,31 @@
pkgname=py3-bottle-session
_pkgname=bottle-session
pkgver=1.0
-pkgrel=2
+pkgrel=6
pkgdesc="Bottle session plugin"
options="!check" # No testsuite on tarball
url="https://bitbucket.org/devries/bottle-session"
arch="noarch"
license="Artistic-2.0"
depends="python3 py3-bottle py3-redis"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-replaces="py-bottle-session" # Backwards compat
+replaces="py-bottle-session" # Backwards compat
provides="py-bottle-session=$pkgver-r$pkgrel" # Backwards compat
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="fe1888d26d20e1a759f31276737b5091f5ba7fc324b07ab778fc3e5b9083b5956bc215824c8fa297ebac7730de22cc6b034efa5b2eafdbfab9bf4019b696c7f2 bottle-session-1.0.tar.gz"
diff --git a/testing/py3-bottle-sqlalchemy/APKBUILD b/testing/py3-bottle-sqlalchemy/APKBUILD
index 7ccde4cd9c7..229ede394b3 100644
--- a/testing/py3-bottle-sqlalchemy/APKBUILD
+++ b/testing/py3-bottle-sqlalchemy/APKBUILD
@@ -3,27 +3,31 @@
pkgname=py3-bottle-sqlalchemy
_pkgname=bottle-sqlalchemy
pkgver=0.4.3
-pkgrel=3
+pkgrel=8
pkgdesc="Bottle SQLAlchemy integration plugin"
options="!check" # No testsuite in tarballs or usable github tarballs
-url="http://www.github.com/iurisilvio/bottle-sqlalchemy"
+url="https://github.com/iurisilvio/bottle-sqlalchemy"
arch="noarch"
license="MIT"
depends="python3 py3-bottle py3-sqlalchemy"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-replaces="py-bottle-sqlalchemy" # Backwards compat
+replaces="py-bottle-sqlalchemy" # Backwards compat
provides="py-bottle-sqlalchemy=$pkgver-r$pkgrel" # Backwards compat
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="3b7eeafa1d8dcd5864b2a132ccf68eb0dfa738c090101615d0cef68f5b0f1efc2cecd66d34be59ac46aaa14c939e2bf7eeb0b6a8932921fa2bd11dc2dcf3a3aa bottle-sqlalchemy-0.4.3.tar.gz"
diff --git a/testing/py3-bottle-sqlite/APKBUILD b/testing/py3-bottle-sqlite/APKBUILD
index c1a88bd845a..608314f0492 100644
--- a/testing/py3-bottle-sqlite/APKBUILD
+++ b/testing/py3-bottle-sqlite/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-bottle-sqlite
_pkgname=bottle-sqlite
pkgver=0.2.0
-pkgrel=2
+pkgrel=7
pkgdesc="Bottle sqlite plugin"
options="!check" # No testsuite
-url="https://pypi.python.org/pypi/bottle-sqlite"
+url="https://pypi.org/project/bottle-sqlite"
arch="noarch"
license="MIT"
depends="python3 py3-bottle"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
-replaces="py-bottle-sqlite" # Backwards compatibility
+replaces="py-bottle-sqlite" # Backwards compatibility
provides="py-bottle-sqlite=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="5110adc5b1e7196aec28f96495db805bb16cace3ec2b4e4ccd40ad10f5cf8bea811568c3a8c876507ee76d146da0b576c7d0e7d34ca8d7f28ee64d858cedf3e4 bottle-sqlite-0.2.0.tar.gz"
diff --git a/testing/py3-bottle-websocket/APKBUILD b/testing/py3-bottle-websocket/APKBUILD
index c3a9e28093a..30230bbab26 100644
--- a/testing/py3-bottle-websocket/APKBUILD
+++ b/testing/py3-bottle-websocket/APKBUILD
@@ -3,27 +3,31 @@
pkgname=py3-bottle-websocket
_pkgname=bottle-websocket
pkgver=0.2.9
-pkgrel=3
+pkgrel=8
pkgdesc="Bottle websocket plugin"
options="!check" # No upstream testsuite
-url="https://pypi.python.org/pypi/bottle-websocket"
+url="https://pypi.org/project/bottle-websocket"
arch="noarch"
license="MIT"
depends="python3 py3-bottle py3-gevent-websocket"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/zeekay/bottle-websocket/archive/v$pkgver.tar.gz"
-replaces="py-bottle-websocket" # Backwards compat
+replaces="py-bottle-websocket" # Backwards compat
provides="py-bottle-websocket=$pkgver-r$pkgrel" # Backwards compat
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="e57ffcee8d1bf0f75ebe9e5c4679ebe63d4ab3da31556f217e3849084ae3a69fb5bc05a978484dee7dd8d6822c0d4cff2c68b494d7ad7b075bd0accde2aa4c1a py3-bottle-websocket-0.2.9.tar.gz"
diff --git a/testing/py3-bottle-werkzeug/APKBUILD b/testing/py3-bottle-werkzeug/APKBUILD
index 79b7b0bce46..b15200c3e5e 100644
--- a/testing/py3-bottle-werkzeug/APKBUILD
+++ b/testing/py3-bottle-werkzeug/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-bottle-werkzeug
_pkgname=bottle-werkzeug
pkgver=0.1.1
-pkgrel=4
+pkgrel=9
pkgdesc="Bottle werkzeug plugin"
-url="https://pypi.python.org/pypi/bottle-werkzeug"
+url="https://pypi.org/project/bottle-werkzeug"
arch="noarch"
license="MIT"
depends="python3 py3-bottle py3-werkzeug"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
options="!check"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
-replaces="py-bottle-werkzeug" # Backwards compatibility
+replaces="py-bottle-werkzeug" # Backwards compatibility
provides="py-bottle-werkzeug=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="13fce3be73caa42c8cbdf437799c1fdb32a6e1ea513055ce9cd53788cea318a6d990b0975b39bcbad3b6fb2994d17d29651603687f59604e81508e61b3b0319a bottle-werkzeug-0.1.1.tar.gz"
diff --git a/testing/py3-bson/APKBUILD b/testing/py3-bson/APKBUILD
index c99d30475dd..d57dc3c4169 100644
--- a/testing/py3-bson/APKBUILD
+++ b/testing/py3-bson/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-bson
_pkgname=bson
pkgver=0.5.10
-pkgrel=2
+pkgrel=5
pkgdesc="Independent BSON codec for Python that doesn’t depend on MongoDB"
options="!check" # No testsuite
url="https://github.com/py-bson/bson"
@@ -11,6 +11,7 @@ arch="noarch"
license="BSD-3-Clause"
depends="py3-dateutil py3-six"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/${_pkgname/-/_}-$pkgver
@@ -19,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
check() {
diff --git a/testing/py3-bump2version/APKBUILD b/testing/py3-bump2version/APKBUILD
deleted file mode 100644
index b6b77d7a550..00000000000
--- a/testing/py3-bump2version/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor:
-# Maintainer: Charles Wimmer <charles@wimmer.net>
-pkgname=py3-bump2version
-_pkgname=bump2version
-pkgver=1.0.1
-pkgrel=2
-pkgdesc="Version-bump your software with a single command!"
-url="https://github.com/c4urself/bump2version"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-tox py3-pytest py3-testfixtures"
-source="$pkgname-$pkgver.tar.gz::https://github.com/c4urself/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-sha512sums="aceb3770b2537e93a996795dba521d1b862d61fe07d6f4e086ba1d2b8e478690394a82dba9e40b32ea969b19b049750635508c1ecd45646e24d4e45ad2d47795 py3-bump2version-1.0.1.tar.gz"
diff --git a/testing/py3-businesstime/APKBUILD b/testing/py3-businesstime/APKBUILD
index 233bb157a83..8df46741200 100644
--- a/testing/py3-businesstime/APKBUILD
+++ b/testing/py3-businesstime/APKBUILD
@@ -3,26 +3,28 @@
pkgname=py3-businesstime
_pkgname=businesstime
pkgver=0.3.0
-pkgrel=5
+pkgrel=9
pkgdesc="Python utility for calculating business time between two datetimes"
url="https://github.com/seatgeek/businesstime"
arch="noarch"
license="BSD-2-Clause"
-replaces="py-businesstime" # for backwards compatibility
+replaces="py-businesstime" # for backwards compatibility
provides="py-businesstime=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
-makedepends="python3-dev py3-setuptools"
+makedepends="python3-dev py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- cd "$builddir"
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="20e44a0057c66c15cf79452f2a602c8e1719f866c608bfffe25ec14fb5c3ec06fcd6f7ac93e2328ee38ea862464c128d8b3a66a544f13fd0f989fc3d6a3d10a7 businesstime-0.3.0.tar.gz"
diff --git a/testing/py3-c3d/APKBUILD b/testing/py3-c3d/APKBUILD
new file mode 100644
index 00000000000..b4f723dcf94
--- /dev/null
+++ b/testing/py3-c3d/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Sam Nystrom <sam@samnystrom.dev>
+# Maintainer: Sam Nystrom <sam@samnystrom.dev>
+pkgname=py3-c3d
+pkgver=0.5.2
+pkgrel=1
+pkgdesc="Read and write C3D mocap files"
+url="https://github.com/EmbodiedCognition/py-c3d"
+arch="noarch"
+license="MIT"
+depends="py3-numpy"
+makedepends="py3-gpep517 py3-setuptools py3-wheel py3-poetry-core"
+options="!check" # downloads many, large C3D files for tests
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/EmbodiedCognition/py-c3d/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/py-c3d-$pkgver"
+
+build() {
+ # poetry build
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" dist/*.whl
+}
+
+sha512sums="
+acdf48098257a29e9dc7a29efc328af81df00d93baf4f36f3f3364fbb19b91caf74c6aed6c05343304d34d1d159b79d685366ca126b8cb56fbefc518ec1879c9 py3-c3d-0.5.2.tar.gz
+"
diff --git a/testing/py3-cachy/APKBUILD b/testing/py3-cachy/APKBUILD
deleted file mode 100644
index 3878b22f260..00000000000
--- a/testing/py3-cachy/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-cachy
-_realname=cachy
-pkgver=0.3.0
-pkgrel=4
-pkgdesc="Simple yet effective caching library"
-url="https://github.com/sdispater/cachy"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="pyproject2setuppy"
-checkdepends="py3-pytest py3-flexmock py3-fakeredis"
-source="https://files.pythonhosted.org/packages/source/${_realname:0:1}/$_realname/$_realname-$pkgver.tar.gz
- No-need-to-teardown-flexmock.patch"
-builddir="$srcdir/$_realname-$pkgver"
-
-prepare() {
- default_prepare
- cat <<- __EOF__ >> pyproject.toml
-
- [build-system]
- build-backend = "poetry.core.masonry.api"
- __EOF__
-}
-
-build() {
- python3 -m pyproject2setuppy.main build
-}
-
-check() {
- PYTHONPATH="$PWD/build/lib" py.test-3 -v \
- --deselect tests/stores/test_memcached_store.py::RedisStoreTestCase
-}
-
-package() {
- python3 -m pyproject2setuppy.main install --prefix=/usr --root="$pkgdir"
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
-}
-
-sha512sums="
-0b69bd45ce81fc57710b44011965b8c4a313808f7c464a409b839d9206158f91b1e39a760d08d62bb5eb15e455ba9b89683f0eb42d2bfcc2e99b0b8f267e3ead cachy-0.3.0.tar.gz
-f6bfa0c013e7f2ed1b386ac5f9d5687a34ffaf7c98bddc2bae80e4c0b008b01511d8658e1244aa93484ad008b671a590c064c88005f06fcc23067b8ea4dbd176 No-need-to-teardown-flexmock.patch
-"
diff --git a/testing/py3-cachy/No-need-to-teardown-flexmock.patch b/testing/py3-cachy/No-need-to-teardown-flexmock.patch
deleted file mode 100644
index 72305fa7b11..00000000000
--- a/testing/py3-cachy/No-need-to-teardown-flexmock.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From d6fd558be00e3818d01bd1f6a5290bd094a87e52 Mon Sep 17 00:00:00 2001
-From: Stefano Rivera <stefano@rivera.za.net>
-Date: Tue, 9 Nov 2021 23:09:46 -0800
-Subject: [PATCH] No need to teardown flexmock
-
-flexmock patches unittest to hook tearing down, itself.
-
-The flexmock_teardown() function is a private API that was moved in
-0.11.0.
----
- tests/stores/test_dict_store.py | 5 +----
- tests/stores/test_file_store.py | 4 +---
- tests/stores/test_redis_store.py | 2 --
- tests/test_cache_manager.py | 5 +----
- tests/test_repository.py | 5 +----
- tests/test_tagged_cache.py | 5 +----
- 6 files changed, 5 insertions(+), 21 deletions(-)
-
-diff --git a/tests/stores/test_dict_store.py b/tests/stores/test_dict_store.py
-index b2574a3..8d4171f 100644
---- a/tests/stores/test_dict_store.py
-+++ b/tests/stores/test_dict_store.py
-@@ -1,16 +1,13 @@
- # -*- coding: utf-8 -*-
-
- from unittest import TestCase
--from flexmock import flexmock, flexmock_teardown
-+from flexmock import flexmock
-
- from cachy.stores import DictStore
-
-
- class DictStoreTestCase(TestCase):
-
-- def tearDown(self):
-- flexmock_teardown()
--
- def test_items_can_be_set_and_retrieved(self):
- store = DictStore()
- store.put('foo', 'bar', 10)
-diff --git a/tests/stores/test_file_store.py b/tests/stores/test_file_store.py
-index 10ab336..704612d 100644
---- a/tests/stores/test_file_store.py
-+++ b/tests/stores/test_file_store.py
-@@ -7,7 +7,7 @@
- import shutil
-
- from unittest import TestCase
--from flexmock import flexmock, flexmock_teardown
-+from flexmock import flexmock
-
- from cachy.serializers import JsonSerializer
- from cachy.stores import FileStore
-@@ -29,8 +29,6 @@ def tearDown(self):
- if os.path.isdir(e):
- shutil.rmtree(e)
-
-- flexmock_teardown()
--
- def test_none_is_returned_if_file_doesnt_exist(self):
- mock = flexmock(os.path)
- mock.should_receive('exists').once().and_return(False)
-diff --git a/tests/stores/test_redis_store.py b/tests/stores/test_redis_store.py
-index a5009f4..82e1fb4 100644
---- a/tests/stores/test_redis_store.py
-+++ b/tests/stores/test_redis_store.py
-@@ -4,7 +4,6 @@
-
- import redis
- from unittest import TestCase
--from flexmock import flexmock, flexmock_teardown
- from fakeredis import FakeServer
- from fakeredis import FakeStrictRedis
- from cachy.stores import RedisStore
-@@ -23,7 +22,6 @@ def setUp(self):
- super(RedisStoreTestCase, self).setUp()
-
- def tearDown(self):
-- flexmock_teardown()
- self.redis.flushdb()
-
- def test_get_returns_null_when_not_found(self):
-diff --git a/tests/test_cache_manager.py b/tests/test_cache_manager.py
-index ae9dda4..b5da411 100644
---- a/tests/test_cache_manager.py
-+++ b/tests/test_cache_manager.py
-@@ -3,7 +3,7 @@
- import os
- import tempfile
- from unittest import TestCase
--from flexmock import flexmock, flexmock_teardown
-+from flexmock import flexmock
-
- from cachy import CacheManager, Repository
- from cachy.stores import DictStore, FileStore
-@@ -12,9 +12,6 @@
-
- class RepositoryTestCase(TestCase):
-
-- def tearDown(self):
-- flexmock_teardown()
--
- def test_store_get_the_correct_store(self):
- cache = CacheManager({
- 'default': 'dict',
-diff --git a/tests/test_repository.py b/tests/test_repository.py
-index aeb53b7..f7b3bf5 100644
---- a/tests/test_repository.py
-+++ b/tests/test_repository.py
-@@ -2,7 +2,7 @@
-
- import datetime
- from unittest import TestCase
--from flexmock import flexmock, flexmock_teardown
-+from flexmock import flexmock
-
- from cachy import Repository
- from cachy.contracts.store import Store
-@@ -10,9 +10,6 @@
-
- class RepositoryTestCase(TestCase):
-
-- def tearDown(self):
-- flexmock_teardown()
--
- def test_get_returns_value_from_cache(self):
- repo = self._get_repository()
- repo.get_store().should_receive('get').once().with_args('foo').and_return('bar')
-diff --git a/tests/test_tagged_cache.py b/tests/test_tagged_cache.py
-index cefdc69..79e986c 100644
---- a/tests/test_tagged_cache.py
-+++ b/tests/test_tagged_cache.py
-@@ -7,14 +7,11 @@
- from cachy.tag_set import TagSet
- from cachy.redis_tagged_cache import RedisTaggedCache
- from datetime import datetime, timedelta
--from flexmock import flexmock, flexmock_teardown
-+from flexmock import flexmock
-
-
- class TaggedCacheTestCase(TestCase):
-
-- def tearDown(self):
-- flexmock_teardown()
--
- def test_tags_can_be_flushed(self):
- store = DictStore()
-
diff --git a/testing/py3-caldav/APKBUILD b/testing/py3-caldav/APKBUILD
index cbd3188a63f..78addb19d5c 100644
--- a/testing/py3-caldav/APKBUILD
+++ b/testing/py3-caldav/APKBUILD
@@ -1,39 +1,44 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-caldav
-pkgver=0.8.2
+pkgver=1.3.9
pkgrel=1
pkgdesc="caldav client library for Python"
url="https://github.com/python-caldav/caldav"
arch="noarch"
license="GPL-3.0-only AND Apache-2.0"
depends="
- python3
py3-icalendar
py3-lxml
+ py3-recurring-ical-events
py3-requests
- py3-six
py3-tz
py3-tzlocal
py3-vobject
"
-makedepends="py3-setuptools"
-checkdepends="py3-nose py3-coverage"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/python-caldav/caldav/archive/v$pkgver.tar.gz"
builddir="$srcdir/caldav-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="." nosetests
+ python3 -m venv --clear --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-cbaa2521bdff88bee14b9c43aa892ca0aff90f0796ea2c600e4dfff50f9dfdeac13ad64335f66929740ccfe2e93ee7cf37113718a7daab5540c63fcb41019f10 py3-caldav-0.8.2.tar.gz
+f1912b26ce989ef8c7bd6278de20e26f265a5e9477fc168dc63c152b50a38faacf031cfb06f1d5f5e2333908c31cb75804c29d952227f5d58cd02a775956af77 py3-caldav-1.3.9.tar.gz
"
diff --git a/testing/py3-case/APKBUILD b/testing/py3-case/APKBUILD
deleted file mode 100644
index 35794f14cfa..00000000000
--- a/testing/py3-case/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=py3-case
-_pyname=case
-pkgver=1.5.3
-pkgrel=3
-pkgdesc="Python unittest utilities"
-url="https://github.com/celery/case/"
-arch="noarch"
-license="BSD-3-Clause"
-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 --prefix=/usr --root="$pkgdir"
-}
-sha512sums="ae98a571c282f80c685c42ab1dc578847fe88cf8cd07faff505a8df8e3282a602908a8780ab88b36851e3ee6f3c178405e5c50776fd0f49fcc990087575f2958 case-1.5.3.tar.gz"
diff --git a/testing/py3-cassandra-driver/APKBUILD b/testing/py3-cassandra-driver/APKBUILD
index 05eb96a50c1..3be35f01b78 100644
--- a/testing/py3-cassandra-driver/APKBUILD
+++ b/testing/py3-cassandra-driver/APKBUILD
@@ -1,23 +1,35 @@
-# Maintainer: Austin Page <jaustinpage@gmail.com>
# Contributor: Austin Page <jaustinpage@gmail.com>
+# Maintainer: Austin Page <jaustinpage@gmail.com>
pkgname=py3-cassandra-driver
_pkgname="${pkgname/py3-/}"
-pkgver=3.20.2
-pkgrel=2
+pkgver=3.29.1
+pkgrel=0
pkgdesc="Python driver for Apache Cassandra"
url="https://github.com/datastax/python-driver"
-arch="all"
+arch="noarch"
license="Apache-2.0"
-makedepends="cython libev-dev py3-setuptools python3-dev"
+makedepends="libev-dev py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # requires cython>=0.20,<0.30
build() {
- python3 setup.py 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 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+
}
-sha512sums="f04359887af276682e996f3262b5cb7f91255fc538b9d2bfd34a7a2f451d43ea663d61f35328f43e0f6b5410f3a8ef9f466a5827c2b91b2505c07246307a8af3 cassandra-driver-3.20.2.tar.gz"
+sha512sums="
+8a1be4490a7ee22a446d2ae3aef2bab9071934d2499bf2f43e63c0efea923eacede217814ab947879eb4c92eaf1375cd26f39fa879dfc5c9532f7c1d9a58cf0b cassandra-driver-3.29.1.tar.gz
+"
diff --git a/testing/py3-catalogue/APKBUILD b/testing/py3-catalogue/APKBUILD
deleted file mode 100644
index 7a3aa1b9a5e..00000000000
--- a/testing/py3-catalogue/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-catalogue
-pkgver=2.0.6
-pkgrel=0
-pkgdesc="Super lightweight function registries for your library"
-url="https://github.com/explosion/catalogue"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/explosion/catalogue/archive/v$pkgver.tar.gz"
-
-builddir=$srcdir/catalogue-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest-3 catalogue/tests/test_catalogue.py
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="
-65df37550a4fddf8f17d0a46326c57237757eb0874c1a19f323c7c84da0d150cb3d0b4b6c010614a7ff1fcd3486ca039dc8800e09328579310637a79c53795fd py3-catalogue-2.0.6.tar.gz
-"
diff --git a/testing/py3-catkin-pkg/APKBUILD b/testing/py3-catkin-pkg/APKBUILD
index 53d44e7e8b5..1456eee9f0a 100644
--- a/testing/py3-catkin-pkg/APKBUILD
+++ b/testing/py3-catkin-pkg/APKBUILD
@@ -2,26 +2,40 @@
# Maintainer: Russ Webber <russ@rw.id.au>
pkgname=py3-catkin-pkg
_pkgname=catkin_pkg
-pkgver=0.4.23
-pkgrel=2
+pkgver=0.5.2
+pkgrel=3
pkgdesc="Standalone Python library for the catkin build system."
url="http://wiki.ros.org/catkin_pkg"
arch="noarch"
license="BSD-3-Clause"
-options="!check" # python deps not packaged: # flake8-class-newline flake8-comprehensions flake8-deprecated flake8-docstrings
depends="python3 py3-docutils py3-dateutil py3-parsing"
makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+checkdepends="py3-pytest py3-mock"
+subpackages="$pkgname-pyc"
+source="https://github.com/ros-infrastructure/catkin_pkg/archive/refs/tags/$pkgver/catkin-pkg-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
replaces="py3-catkin-pkg-modules" # module was renamed in pypi
provides="py3-catkin-pkg-modules=$pkgver-r$pkgrel"
+prepare() {
+ default_prepare
+ # skip lint checks
+ rm test/test_flake8.py
+}
+
build() {
python3 setup.py build
}
+check() {
+ PYTHONPATH=build/lib python3 -m unittest test/test_*.py
+}
+
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="6f0bec590ad85a74781a445bf5d5923acb8f45fd446decfa69eec5d6136dd90c3e95f1fef89bb6e1ed5613e04ced132d7bc3d48e072cd83ca07ec745ec9ed369 catkin_pkg-0.4.23.tar.gz"
+
+sha512sums="
+40e7e3839017ad430ee36dccf87a90727e5efd92e6c605cdba3e9f8850b71a6a80da79bd8760d94e356dadebdd842c8a3f8b530782fb75503d3e620add79be4a catkin-pkg-0.5.2.tar.gz
+"
diff --git a/testing/py3-cbor2/APKBUILD b/testing/py3-cbor2/APKBUILD
new file mode 100644
index 00000000000..6ad2f3fb299
--- /dev/null
+++ b/testing/py3-cbor2/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=py3-cbor2
+pkgver=5.6.1
+pkgrel=1
+pkgdesc="encoding and decoding for CBOR (RFC 8949)"
+url="https://github.com/agronholm/cbor2"
+arch="all"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ python3-dev
+ "
+checkdepends="
+ py3-hypothesis
+ py3-pytest
+ py3-pytest-cov
+ py3-tomli
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/c/cbor2/cbor2-$pkgver.tar.gz
+ fix-32bit-tests.patch
+ "
+builddir="$srcdir/cbor2-$pkgver"
+
+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="
+9ddf2c3690780816ff50ff4ed371435ca45b597b706254c37c9f01d1f1a699892e2c945a72e69b5506a803c41692f399b58b4e32d9409a0197c677e537e656b2 py3-cbor2-5.6.1.tar.gz
+ba8a19a73fe2dc747846b77fde6cd621ccb500a514ba61192dfa28c875720003666165ad12c767260b31148b0dd25454e36e4f43dd8bb1d11928944c6a5b61dd fix-32bit-tests.patch
+"
diff --git a/testing/py3-cbor2/fix-32bit-tests.patch b/testing/py3-cbor2/fix-32bit-tests.patch
new file mode 100644
index 00000000000..de8fdbb0823
--- /dev/null
+++ b/testing/py3-cbor2/fix-32bit-tests.patch
@@ -0,0 +1,29 @@
+Patch-Source: https://github.com/agronholm/cbor2/commit/75279162a019d20db3bff8d64d41c7e97b555b53
+From 75279162a019d20db3bff8d64d41c7e97b555b53 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Tue, 6 Feb 2024 15:43:23 +0200
+Subject: [PATCH] Fixed test_oversized_read failing on 32-bit platforms
+
+Fixes #215.
+---
+ tests/test_decoder.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/test_decoder.py b/tests/test_decoder.py
+index cd0b45a..d11be6e 100644
+--- a/tests/test_decoder.py
++++ b/tests/test_decoder.py
+@@ -939,11 +939,11 @@ def test_decimal_payload_unpacking(impl, data, expected):
+ "payload",
+ [
+ pytest.param(
+- unhexlify("5b7fffffffffffff00"),
++ unhexlify("41"),
+ id="bytestring",
+ ),
+ pytest.param(
+- unhexlify("7b7fffffffffffff00"),
++ unhexlify("61"),
+ id="unicode",
+ ),
+ ],
diff --git a/testing/py3-cchardet/APKBUILD b/testing/py3-cchardet/APKBUILD
index 75b92201e35..7546b3fd7e1 100644
--- a/testing/py3-cchardet/APKBUILD
+++ b/testing/py3-cchardet/APKBUILD
@@ -1,12 +1,13 @@
# Maintainer: Michał Adamski <michal@ert.pl>
pkgname=py3-cchardet
pkgver=2.1.7
-pkgrel=1
+pkgrel=4
pkgdesc="High speed universal character encoding detector"
url="https://github.com/PyYoshi/cChardet"
arch="all"
license="MPL-1.1"
-makedepends="py3-setuptools python3-dev"
+makedepends="cython py3-setuptools python3-dev"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/c/cchardet/cchardet-$pkgver.tar.gz"
builddir="$srcdir/cchardet-$pkgver"
@@ -19,7 +20,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
43e663e30ec079b2a954862de5e8136a2e40f69e300d65eb4ce9d7ffa5d8c496dc7c0937b3306b4096cfad12a1d0617628f8f0115534ab6faf9eb39d2b3935a2 cchardet-2.1.7.tar.gz
diff --git a/testing/py3-cdio/APKBUILD b/testing/py3-cdio/APKBUILD
index e8277447dee..bf3ad7308d7 100644
--- a/testing/py3-cdio/APKBUILD
+++ b/testing/py3-cdio/APKBUILD
@@ -3,14 +3,17 @@
pkgname=py3-cdio
_pyname=pycdio
pkgver=2.1.1
-pkgrel=1
+pkgrel=4
pkgdesc="python interface to libcdio"
url="https://www.gnu.org/software/libcdio"
arch="all"
license="GPL-3.0-only"
depends="python3"
makedepends="python3-dev py3-setuptools libcdio-dev swig py3-nose"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz
+ assertEquals.patch
+ "
builddir="$srcdir/$_pyname-$pkgver"
build() {
@@ -22,8 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
4c756b1c2f39332add86e01af129ccb608178306be42c9719c163b6bad0ba4de3916ac477c6866450890e094b14a2689a24e7d19bcf13846330555c2bb1feaa7 pycdio-2.1.1.tar.gz
+8e64bbe0df39f42fa026423b113e3d26067d7c8a2169fafbb3e0d8fff1933cfb073ece116b243a39ed6b900ee0dcab5c44b257d9c464ce485f562c33c58beb14 assertEquals.patch
"
diff --git a/testing/py3-cdio/assertEquals.patch b/testing/py3-cdio/assertEquals.patch
new file mode 100644
index 00000000000..611d2d01917
--- /dev/null
+++ b/testing/py3-cdio/assertEquals.patch
@@ -0,0 +1,23 @@
+diff --git a/test/test-cdtext.py b/test/test-cdtext.py
+index d635c7c..424f9c3 100644
+--- a/test/test-cdtext.py
++++ b/test/test-cdtext.py
+@@ -31,3 +31,3 @@ class CDTextTests(unittest.TestCase):
+ """Test keywords"""
+- self.assertEquals(
++ self.assertEqual(
+ pycdio.cdtext_field2str(pycdio.CDTEXT_FIELD_PERFORMER), "PERFORMER"
+@@ -41,8 +41,8 @@ class CDTextTests(unittest.TestCase):
+ text = device.get_cdtext()
+- self.assertEquals(text.get(pycdio.CDTEXT_FIELD_PERFORMER, 0), "Performer")
+- self.assertEquals(text.get(pycdio.CDTEXT_FIELD_TITLE, 0), "CD Title")
+- self.assertEquals(text.get(pycdio.CDTEXT_FIELD_DISCID, 0), "XY12345")
++ self.assertEqual(text.get(pycdio.CDTEXT_FIELD_PERFORMER, 0), "Performer")
++ self.assertEqual(text.get(pycdio.CDTEXT_FIELD_TITLE, 0), "CD Title")
++ self.assertEqual(text.get(pycdio.CDTEXT_FIELD_DISCID, 0), "XY12345")
+
+- self.assertEquals(text.get(pycdio.CDTEXT_FIELD_PERFORMER, 1), "Performer")
+- self.assertEquals(text.get(pycdio.CDTEXT_FIELD_TITLE, 1), "Track Title")
++ self.assertEqual(text.get(pycdio.CDTEXT_FIELD_PERFORMER, 1), "Performer")
++ self.assertEqual(text.get(pycdio.CDTEXT_FIELD_TITLE, 1), "Track Title")
+
diff --git a/testing/py3-cerberus/APKBUILD b/testing/py3-cerberus/APKBUILD
deleted file mode 100644
index d69243dcd91..00000000000
--- a/testing/py3-cerberus/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
-# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
-pkgname=py3-cerberus
-pkgver=1.3.4
-pkgrel=1
-pkgdesc="Lightweight, extensible data validation library for Python"
-url="http://python-cerberus.org/"
-license="ISC"
-arch="noarch"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pyeve/cerberus/archive/refs/tags/$pkgver.tar.gz"
-builddir="$srcdir/cerberus-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- py.test-3 -v cerberus/tests
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
- # Don't package the tests or benchmarks
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/cerberus/tests
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/cerberus/benchmarks
-}
-
-sha512sums="
-c816b426ed1b32367d1e8f1c26d6ddd4b49c6578540e688baf693e3094a05800f645cfe879be6378c1e9be9899cad7bc2ad1ed9844d6762d2ef6e0cc54a7476a py3-cerberus-1.3.4.tar.gz
-"
diff --git a/testing/py3-certauth/APKBUILD b/testing/py3-certauth/APKBUILD
new file mode 100644
index 00000000000..21e55b93548
--- /dev/null
+++ b/testing/py3-certauth/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=py3-certauth
+pkgver=1.3.0
+pkgrel=0
+pkgdesc="Simple CertificateAuthority and host certificate creation, useful for man-in-the-middle HTTPS proxy"
+url="https://github.com/ikreymer/certauth"
+arch="noarch"
+license="MIT"
+depends="python3 py3-openssl py3-tldextract"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-cov"
+subpackages="$pkgname-pyc"
+source="py3-certauth-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/c/certauth/certauth-$pkgver.tar.gz"
+builddir="$srcdir/certauth-$pkgver"
+
+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
+
+ # testfile is good on github, but has unnesesary '\n' on pypi.org
+ .testenv/bin/python3 -m pytest --cov certauth -v test/ \
+ -k 'not test_file_ipv6_wildcard_ignore'
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+03a483461c90ae4b91ca60e0240a67f5b9ea50642c589d83c762b168095b137a0d9726ce24e0c1fe4eb91d7dd064e42755107b5fdf60be1addaa4b7e166dc01e py3-certauth-1.3.0.tar.gz
+"
diff --git a/testing/py3-cfgv/APKBUILD b/testing/py3-cfgv/APKBUILD
deleted file mode 100644
index c6cf1e388f2..00000000000
--- a/testing/py3-cfgv/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-cfgv
-_pyname=cfgv
-pkgver=3.3.1
-pkgrel=1
-pkgdesc="Validate configuration and produce human readable error messages"
-url="https://github.com/asottile/cfgv"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="$_pyname-$pkgver.tar.gz::https://github.com/asottile/cfgv/archive/refs/tags/v$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-59c358bab9f2b32a1ac6eb72bba67b76e8368e0cf78c32228a6add200a0205f698aa80d9bd1b1e8701fb699b9599c88a240f76e2c91a602a0c292a67693e6857 cfgv-3.3.1.tar.gz
-"
diff --git a/testing/py3-chameleon/APKBUILD b/testing/py3-chameleon/APKBUILD
index 8291dff863e..4bcfa58f158 100644
--- a/testing/py3-chameleon/APKBUILD
+++ b/testing/py3-chameleon/APKBUILD
@@ -1,14 +1,19 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-chameleon
-pkgver=3.9.1
-pkgrel=1
+pkgver=4.5.4
+pkgrel=0
pkgdesc="Fast Python HTML/XML Template Compiler"
url="https://chameleon.readthedocs.org"
arch="noarch"
license="BSD-3-Clause AND BSD-4-Clause AND Python-2.0 AND ZPL-2.1"
-depends="python3"
-makedepends="py3-setuptools"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/malthe/chameleon/archive/$pkgver.tar.gz"
builddir="$srcdir"/chameleon-$pkgver
@@ -16,17 +21,24 @@ replaces="py-chameleon" # Backwards compatibility
provides="py-chameleon=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+
+ rm -r "$pkgdir"/usr/lib/python3*/site-packages/chameleon/tests
}
sha512sums="
-53b0aeeef89df7cacc299dad20e05023c638e708604876ce5269f22bab00e5001b640123920aef0ef9a0f554bbd37d151bedfdfe55ec161defe6b6f3781d841e py3-chameleon-3.9.1.tar.gz
+2820282d54a7a727a8765c2d8fe29281faa86ff2ef3c55ce0f2f107d03abc900588abe9884a371e15f00f24a3d97cd010bd9448264a28acdc627338f1a86096e py3-chameleon-4.5.4.tar.gz
"
diff --git a/testing/py3-ciso8601/APKBUILD b/testing/py3-ciso8601/APKBUILD
index 1b844b8ae7e..28a4055c209 100644
--- a/testing/py3-ciso8601/APKBUILD
+++ b/testing/py3-ciso8601/APKBUILD
@@ -1,30 +1,34 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=py3-ciso8601
-pkgver=2.2.0
-pkgrel=0
+pkgver=2.3.1
+pkgrel=1
pkgdesc="Fast ISO8601 date time parser for Python written in C"
url="https://github.com/closeio/ciso8601"
license="MIT"
arch="all"
-depends="python3"
-makedepends="python3-dev py3-setuptools"
-checkdepends="py3-tz"
+makedepends="python3-dev py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-tz"
source="https://github.com/closeio/ciso8601/archive/v$pkgver/py3-ciso8601-$pkgver.tar.gz"
builddir="$srcdir/ciso8601-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --root="$pkgdir" --skip-build
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-a78a26bd60a64d31b896cf04650f0bbf3f38324f70572c8357f5d9146e12a9c0f150961f9df640665ee13521a265b49636a532e0b61ab4f394f08f8baafa211d py3-ciso8601-2.2.0.tar.gz
+cf01355ffb197d8fe10c336d78e370bdf508f9a58cf2b9e912ae4d7da80910387eaf8809e3c6ccf12891b915708111bb155a0e2bb3de8a7e95f74284be9256a8 py3-ciso8601-2.3.1.tar.gz
"
diff --git a/testing/py3-cjkwrap/APKBUILD b/testing/py3-cjkwrap/APKBUILD
new file mode 100644
index 00000000000..e5a0a7aa6ba
--- /dev/null
+++ b/testing/py3-cjkwrap/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=py3-cjkwrap
+_pkgname=cjkwrap
+pkgver=2.2
+pkgrel=3
+pkgdesc="Library for wrapping and filling UTF-8 CJK text"
+url="https://gitlab.com/fgallaire/cjkwrap"
+arch="noarch"
+license="LGPL-3.0-or-later"
+depends="python3"
+makedepends="py3-setuptools"
+options="!check" # no test suite
+subpackages="$pkgname-pyc"
+source="https://gitlab.com/fgallaire/cjkwrap/-/archive/v$pkgver/cjkwrap-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-v$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+9f744c672d5b045aa3bd80c9f13817706d459ffdbd4478a25c528a7fd85354934d938023eeaf14cfcca12f49654612f344c0f659305c0c493a664c9a684579e1 cjkwrap-v2.2.tar.gz
+"
diff --git a/testing/py3-class-doc/APKBUILD b/testing/py3-class-doc/APKBUILD
new file mode 100644
index 00000000000..9a0fa4f0a83
--- /dev/null
+++ b/testing/py3-class-doc/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=py3-class-doc
+pkgver=1.25
+pkgrel=1
+pkgdesc="Extract attributes docstrings defined in various ways"
+url="https://github.com/danields761/class-doc"
+arch="noarch"
+license="MIT"
+depends="py3-more-itertools"
+makedepends="py3-gpep517 py3-poetry-core"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/danields761/class-doc/archive/refs/tags/$pkgver/class-doc-$pkgver.tar.gz
+ masonry.patch
+ "
+builddir="$srcdir/class-doc-$pkgver"
+
+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="
+ee90100b8be199873c411ecb97915bc835c744d30e539eb661193224a200e66d66189857dc5043bd32f2f01c9ea852b9624d3b01d4236e2e3f93fe278d0da26a class-doc-1.25.tar.gz
+f063b339531531a47a9a72f84a49374f6e8178d8901c207bcb7713a19c49ed72f54260937b5d5d106bc48c8d54e43eeef818c0d6a6a32f4edc06ce9f71962050 masonry.patch
+"
diff --git a/testing/py3-class-doc/masonry.patch b/testing/py3-class-doc/masonry.patch
new file mode 100644
index 00000000000..749e4c10b7f
--- /dev/null
+++ b/testing/py3-class-doc/masonry.patch
@@ -0,0 +1,11 @@
+--- ./pyproject.toml.orig
++++ ./pyproject.toml
+@@ -31,7 +31,7 @@
+
+ [build-system]
+ requires = ["poetry>=0.12"]
+-build-backend = "poetry.masonry.api"
++build-backend = "poetry.core.masonry.api"
+
+ [tool.black]
+ skip_string_normalization = true
diff --git a/testing/py3-cleo/APKBUILD b/testing/py3-cleo/APKBUILD
deleted file mode 100644
index 36b6606434d..00000000000
--- a/testing/py3-cleo/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-cleo
-_realname=cleo
-pkgver=0.8.1
-pkgrel=3
-pkgdesc="Python3 library to create beautiful and testable command-line interfaces"
-url="https://github.com/sdispater/cleo"
-arch="noarch"
-license="MIT"
-depends="python3 py3-pastel py3-pylev py3-clikit"
-checkdepends="py3-pytest py3-pytest-mock"
-makedepends="pyproject2setuppy"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sdispater/cleo/archive/refs/tags/$pkgver.tar.gz"
-builddir="$srcdir/$_realname-$pkgver"
-
-build() {
- python3 -m pyproject2setuppy.main build
-}
-
-check() {
- PYTHONPATH="$PWD/build/lib" py.test-3 -v
-}
-
-package() {
- python3 -m pyproject2setuppy.main install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-9cd470063db9866a526f0bb8619d772c585377d5b1a662e0f94bad9fb9c853598b176444ca1ac0fadec82992196c471646504d6a28d4dcd1171433b8d160be9c py3-cleo-0.8.1.tar.gz
-"
diff --git a/testing/py3-cli_helpers/APKBUILD b/testing/py3-cli_helpers/APKBUILD
deleted file mode 100644
index 74e7c17c72c..00000000000
--- a/testing/py3-cli_helpers/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Thomas Boerger <thomas@webhippie.de>
-# Maintainer: Thomas Boerger <thomas@webhippie.de>
-pkgname=py3-cli_helpers
-_pkgname=cli_helpers
-pkgver=1.2.1
-pkgrel=3
-pkgdesc="A helper library for command-line interfaces"
-url="https://pypi.python.org/pypi/cli-helpers"
-arch="noarch"
-license="BSD-3-Clause"
-depends="py3-terminaltables py3-tabulate py3-configobj"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-wcwidth py3-mock"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-replaces="py-cli_helpers" # Backwards compatibility
-provides="py-cli_helpers=$pkgver-r$pkgrel" # Backwards compatiblity
-
-check() {
- py.test-3
-}
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="46f83382800da7e6ba9116df5cd77bf012e14af821a842e73a7f0ddae64e032dd2d00c124b0f0ed18a07226058dbc41185e99ccd7616e971116a57a22ceace51 py3-cli_helpers-1.2.1.tar.gz"
diff --git a/testing/py3-click-completion/APKBUILD b/testing/py3-click-completion/APKBUILD
new file mode 100644
index 00000000000..bf7cae6a93a
--- /dev/null
+++ b/testing/py3-click-completion/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-click-completion
+pkgver=0.5.2
+pkgrel=1
+pkgdesc="Fish, Bash, Zsh and PowerShell completion for Click"
+url="https://github.com/click-contrib/click-completion"
+arch="noarch"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/click-contrib/click-completion/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/click-completion-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+e3298cd69b4486f0626fe286cff3b31ac62381a205f04248150e543a87f1eaebb6d650a7579fd8e9fd3be6adbdc39eb829cbccf0113650f58146757f781f1f50 py3-click-completion-0.5.2.tar.gz
+"
diff --git a/testing/py3-click-default-group/APKBUILD b/testing/py3-click-default-group/APKBUILD
new file mode 100644
index 00000000000..19d29efc2f7
--- /dev/null
+++ b/testing/py3-click-default-group/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-click-default-group
+pkgver=1.2.4
+pkgrel=1
+pkgdesc="Extends click.Group to invoke a command without explicit subcommand name"
+url="https://github.com/click-contrib/click-default-group"
+arch="noarch"
+license="BSD-3-Clause"
+depends="py3-click"
+makedepends="
+ py3-flit-core
+ py3-gpep517
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/click-contrib/click-default-group/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/click-default-group-$pkgver"
+
+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 -k 'not test_default_command_with_arguments'
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+0239e703421e693399e8e54e4a6bdc4a74e6f16307f008ee742788ce3e8040f633de2b1bf12997a5c448b70cb55f77ccd4f42c5b4abe3b6a05df18908daf61da py3-click-default-group-1.2.4.tar.gz
+"
diff --git a/testing/py3-click-log/APKBUILD b/testing/py3-click-log/APKBUILD
deleted file mode 100644
index 591b45f88f8..00000000000
--- a/testing/py3-click-log/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-click-log
-_pyname=click-log
-pkgver=0.3.2
-pkgrel=2
-pkgdesc="Integrates logging with click"
-url="https://github.com/click-contrib/click-log"
-arch="noarch"
-license="MIT"
-depends="python3 py3-click"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$PWD/build/lib" pytest -v
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="8ae5c43d739127367bbcdcf32bfd4b34b2ea1c377948df3b8588e4bfe2b0f5e7a61d1ccc6cb32c77045b15251222866daffa5a7bfb7a907487548784ba345351 click-log-0.3.2.tar.gz"
diff --git a/testing/py3-click-threading/APKBUILD b/testing/py3-click-threading/APKBUILD
index 488aafe9253..cf88e3276b7 100644
--- a/testing/py3-click-threading/APKBUILD
+++ b/testing/py3-click-threading/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-click-threading
_pyname=click-threading
pkgver=0.5.0
-pkgrel=1
+pkgrel=4
pkgdesc="Utilities for multithreading in click"
url="https://github.com/click-contrib/click-threading"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="python3 py3-click"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -23,7 +24,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-clickclick/APKBUILD b/testing/py3-clickclick/APKBUILD
new file mode 100644
index 00000000000..a6c58812bec
--- /dev/null
+++ b/testing/py3-clickclick/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
+# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
+pkgname=py3-clickclick
+_pkgname=python-clickclick
+pkgver=20.10.2
+pkgrel=2
+pkgdesc="Click command line utilities"
+url="https://codeberg.org/hjacobs/python-clickclick"
+arch="noarch"
+license="Apache-2.0"
+#options="!check" # one failing test
+checkdepends="
+ py3-pytest
+ py3-pytest-cov
+ py3-toml
+ "
+makedepends="
+ py3-flake8
+ py3-setuptools
+ "
+depends="
+ py3-click
+ py3-yaml
+ python3
+ "
+subpackages="$pkgname-pyc"
+source="
+ $pkgname-$pkgver.tar.gz::https://codeberg.org/hjacobs/$_pkgname/archive/$pkgver.tar.gz
+ Remove-unused-six-from-setup_requires-1.patch
+ fix-quoting-style-in-assert.patch
+ "
+builddir="$srcdir/$_pkgname"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+d8954d231bff6945ac0e8350be05775a8a0b852dd0284e3446b3f9c8bc5861870ed1bc058e132c144fe8d543aee87d7a7a54894abdb4006664e5994c8cfb507f py3-clickclick-20.10.2.tar.gz
+b2a6c1517f0fe8c35d89c886340afb20f18f107328fd34271b1d56743fd194b0d2fce277036b689498173e65b13b51620d9ed8809d41c8b98004440af8c8fd73 Remove-unused-six-from-setup_requires-1.patch
+977a63eb6210b3d9d65eabe11c0ef7ed68947147e4704909027547efda512472240affcc1ce0ebb381433bcecfbb325af91903093ca7add0496a9a63f9592f82 fix-quoting-style-in-assert.patch
+"
diff --git a/testing/py3-clickclick/Remove-unused-six-from-setup_requires-1.patch b/testing/py3-clickclick/Remove-unused-six-from-setup_requires-1.patch
new file mode 100644
index 00000000000..fb2088ca4f8
--- /dev/null
+++ b/testing/py3-clickclick/Remove-unused-six-from-setup_requires-1.patch
@@ -0,0 +1,30 @@
+From 119b22ada558837a567cdf7dee8d85100429bdf8 Mon Sep 17 00:00:00 2001
+From: felixonmars <felixonmars@archlinux.org>
+Date: Mon, 7 Feb 2022 10:14:46 +0100
+Subject: [PATCH] Remove unused 'six' from setup_requires (#1)
+
+Signed-off-by: felixonmars <felixonmars@noreply.codeberg.org>
+Co-authored-by: felixonmars <felixonmars@noreply.codeberg.org>
+Reviewed-on: https://codeberg.org/hjacobs/python-clickclick/pulls/1
+Co-authored-by: felixonmars <felixonmars@archlinux.org>
+Co-committed-by: felixonmars <felixonmars@archlinux.org>
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 803852f..46fb595 100755
+--- a/setup.py
++++ b/setup.py
+@@ -145,7 +145,7 @@ def setup_package():
+ packages=setuptools.find_packages(exclude=['tests', 'tests.*']),
+ package_data={MAIN_PACKAGE: ["*.json"]},
+ install_requires=install_reqs,
+- setup_requires=['six', 'flake8'],
++ setup_requires=['flake8'],
+ cmdclass=cmdclass,
+ tests_require=['pytest-cov', 'pytest'],
+ command_options=command_options,
+--
+2.38.0
+
diff --git a/testing/py3-clickclick/fix-quoting-style-in-assert.patch b/testing/py3-clickclick/fix-quoting-style-in-assert.patch
new file mode 100644
index 00000000000..efe557f2521
--- /dev/null
+++ b/testing/py3-clickclick/fix-quoting-style-in-assert.patch
@@ -0,0 +1,25 @@
+From 78992219065dc4762987883c39e75dbb2921e187 Mon Sep 17 00:00:00 2001
+From: Henrik Riomar <henrik.riomar@gmail.com>
+Date: Thu, 6 Oct 2022 12:11:49 +0200
+Subject: [PATCH] fix quoting style in assert
+
+---
+ tests/test_console.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_console.py b/tests/test_console.py
+index 782fb83..62d16ae 100644
+--- a/tests/test_console.py
++++ b/tests/test_console.py
+@@ -204,7 +204,7 @@ def test_cli(monkeypatch):
+
+ runner = CliRunner()
+ result = runner.invoke(cli, ['notexists'])
+- assert 'Error: No such command "notexists"' in result.output
++ assert 'Error: No such command \'notexists\'' in result.output
+
+
+ def test_choice_default(monkeypatch):
+--
+2.38.0
+
diff --git a/testing/py3-clikit/APKBUILD b/testing/py3-clikit/APKBUILD
deleted file mode 100644
index 3cf216db92a..00000000000
--- a/testing/py3-clikit/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-clikit
-pkgver=0.6.2
-pkgrel=3
-pkgdesc="Python3 library to create beautiful and testable command-line interfaces"
-url="https://github.com/sdispater/clikit"
-arch="noarch"
-license="MIT"
-depends="python3 py3-crashtest py3-pastel py3-pylev"
-makedepends="py3-setuptools pyproject2setuppy"
-checkdepends="py3-pytest py3-pytest-mock"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sdispater/clikit/archive/refs/tags/$pkgver.tar.gz"
-builddir="$srcdir/clikit-$pkgver"
-
-build() {
- python3 -m pyproject2setuppy.main build
-}
-
-check() {
- PYTHONPATH="$PWD/build/lib" py.test-3 -v
-}
-
-package() {
- python3 -m pyproject2setuppy.main install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-6f6e436b2161349ce03c705df594e564dbc594b03370dfd62e3b1c8f2accbbc12a1cda881ca392a096435ee243e4f772589ce6f6dfbd3af63d1656d49c3fcb04 py3-clikit-0.6.2.tar.gz
-"
diff --git a/testing/py3-cmd2/APKBUILD b/testing/py3-cmd2/APKBUILD
index f8362a6e5f8..9f58062ee59 100644
--- a/testing/py3-cmd2/APKBUILD
+++ b/testing/py3-cmd2/APKBUILD
@@ -1,38 +1,34 @@
# Contributor: prspkt <prspkt@protonmail.com>
# Maintainer: prspkt <prspkt@protonmail.com>
pkgname=py3-cmd2
-pkgver=2.3.3
-pkgrel=1
+pkgver=2.4.3
+pkgrel=2
pkgdesc="Tool for building interactive command line applications in Python"
url="https://github.com/python-cmd2/cmd2"
arch="noarch"
license="MIT"
depends="python3 py3-attrs py3-pyperclip py3-wcwidth"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-setuptools py3-setuptools_scm py3-wheel"
checkdepends="py3-pytest py3-pytest-mock py3-pytest-xdist py3-pytest-cov"
-source="https://files.pythonhosted.org/packages/source/c/cmd2/cmd2-$pkgver.tar.gz
- remove-setuptools_scm.patch
- "
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/c/cmd2/cmd2-$pkgver.tar.gz"
builddir="$srcdir/cmd2-$pkgver"
-prepare() {
- default_prepare
- sed -i "s/%VERSION%/$pkgver/" setup.py
-}
-
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- pytest
+ pytest -k 'not test_send_to_paste_buffer'
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/cmd2*.whl
}
sha512sums="
-30d7a82a1c3d23431a40a7e99f10a4c23227e9ab073ab1d7fd83e516f54e9c90bda10e6072b50c0a2ca435498c1060e06b32a550409721899e28d2662995a8b8 cmd2-2.3.3.tar.gz
-8a6499b22d0a00f9b450313035510db7f0241a72cec49644ed3e7e88c34a94e1d43ae57dfe9107a47d7b48475651485283888ea07db2da128737670ffbeacd81 remove-setuptools_scm.patch
+1d440752262f38a742069e636373884edcc49c17ba17b21b24015cfe559b4df36b45ac9489f2f643897fbd38f54b8e6120daf07ef25d2f209af8a4ac8e4c0085 cmd2-2.4.3.tar.gz
"
diff --git a/testing/py3-cmd2/remove-setuptools_scm.patch b/testing/py3-cmd2/remove-setuptools_scm.patch
deleted file mode 100644
index 91fbeb87eae..00000000000
--- a/testing/py3-cmd2/remove-setuptools_scm.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -40,7 +40,7 @@
- )
- ) # noqa: E128
-
--SETUP_REQUIRES = ['setuptools >= 34.4', 'setuptools_scm >= 3.0']
-+SETUP_REQUIRES = ['setuptools >= 34.4']
-
- INSTALL_REQUIRES = [
- 'attrs >= 16.3.0',
-@@ -91,8 +91,8 @@
- }
-
- setup(
-+ version="%VERSION%",
- name="cmd2",
-- use_scm_version={'git_describe_command': 'git describe --dirty --tags --long --exclude plugin-*'},
- description=DESCRIPTION,
- long_description=LONG_DESCRIPTION,
- long_description_content_type='text/markdown',
diff --git a/testing/py3-cobs/APKBUILD b/testing/py3-cobs/APKBUILD
index 4dcacf06f20..9ab39843295 100644
--- a/testing/py3-cobs/APKBUILD
+++ b/testing/py3-cobs/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
pkgname=py3-cobs
_pyname=cobs
-pkgver=1.1.4
-pkgrel=2
+pkgver=1.2.0
+pkgrel=3
pkgdesc="Consistent Overhead Byte Stuffing"
options="!check" # Testsuite runs 0 tests
url="https://pypi.org/project/cobs/"
@@ -11,6 +11,7 @@ license="MIT"
depends="python3"
makedepends="py3-setuptools python3-dev"
_pypiprefix="${_pyname%${_pyname#?}}"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir=$srcdir/$_pyname-$pkgver
@@ -19,6 +20,8 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="0cd6a6e68eaeaf45f3e8d5a0e1bcd20ca8c390fcebfb9b14a47d84a6c04de39d04b0e2411a8c6842a65331331ade318e292aac82b29c7761bf0307b64ae81673 cobs-1.1.4.tar.gz"
+sha512sums="
+92a3324fd07dd75ce84049f412bd3f1e9cfc42864672eea09f2d106a942dc0dab8bef1812a1288b92a70897f73171919d4b4b917d9155eb193606f8159d34405 cobs-1.2.0.tar.gz
+"
diff --git a/testing/py3-codecov/APKBUILD b/testing/py3-codecov/APKBUILD
index 5ca29949532..5c391d850f1 100644
--- a/testing/py3-codecov/APKBUILD
+++ b/testing/py3-codecov/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-codecov
-pkgver=2.1.12
-pkgrel=1
+pkgver=2.1.13
+pkgrel=2
pkgdesc="Report uploader for Codecov"
options="!check" # Requires unpackaged 'ddt'
url="https://github.com/codecov/codecov-python"
@@ -11,6 +11,7 @@ license="Apache-2.0"
depends="python3 py3-coverage py3-requests"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/codecov/codecov-python/archive/v$pkgver.tar.gz"
builddir="$srcdir"/codecov-python-$pkgver
@@ -26,7 +27,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
local file; for file in "$pkgdir"/usr/bin/*; do
mv $file $file-3
@@ -35,5 +36,5 @@ package() {
}
sha512sums="
-fac34179ace4d4813ed71a5745e6ef8120d052fd7d7bef5548f80f7009f7b3242ec3aeb948f2125980ea932f130a2e81f742f47a3bd4f984726eaba16e1a7133 py3-codecov-2.1.12.tar.gz
+beddc2d19c6d2b535340e10084fc197ba4a86878d0c1c3da50d93ee4e7ed90cfa1f5456e1e8b6d1bee781c653b296e291b2257761f9b0339408a9f3d7844646e py3-codecov-2.1.13.tar.gz
"
diff --git a/testing/py3-codespell/APKBUILD b/testing/py3-codespell/APKBUILD
deleted file mode 100644
index 670f46bef07..00000000000
--- a/testing/py3-codespell/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=py3-codespell
-_pkgname=${pkgname#py3-}
-pkgver=2.1.0
-pkgrel=1
-pkgdesc="Fix common misspellings in text files, primarily source code"
-options="!check" # No testsuite
-url="https://github.com/codespell-project/codespell/"
-arch="noarch"
-license="GPL-2.0-only"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-depends="py3-chardet"
-source="$pkgname-$pkgver.tar.gz::https://github.com/codespell-project/codespell/archive/refs/tags/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-check() {
- python3 setup.py test
-}
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-16d9a4239ae18fad6a06825a2afae6adc903d50eb90b759cdc61b1e1d145458bbfb1385837c4465b0a9858da100be074c597343c4816ca0260bbf6710d9c84e8 py3-codespell-2.1.0.tar.gz
-"
diff --git a/testing/py3-colander/APKBUILD b/testing/py3-colander/APKBUILD
index 53f3887fb7a..08a70377bfd 100644
--- a/testing/py3-colander/APKBUILD
+++ b/testing/py3-colander/APKBUILD
@@ -2,15 +2,16 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-colander
_pkgname=colander
-pkgver=1.8.3
-pkgrel=2
+pkgver=2.0
+pkgrel=1
pkgdesc="simple schema-based Python serialization and deserialization library"
-url="http://docs.pylonsproject.org/projects/colander/en/latest/"
+url="https://docs.pylonsproject.org/projects/colander/en/latest/"
arch="noarch"
license="ZPL-2.1"
-depends="python3 py3-iso8601 py3-translationstring"
+depends="python3 py3-iso8601 py3-translationstring py3-babel"
checkdepends="py3-nose py3-coverage"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -24,7 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="463cb4ab7538a7b8991f8eff3652f003366b96c8456df8f7ed0faa64aacf7e068e6af9e13dc81fd233253bd1454de0d3dfe6191ba2465ec8d8b41b9c06cdc5f8 colander-1.8.3.tar.gz"
+sha512sums="
+16e9f55442899bef03f15802dd87b051aa3932d88273a141fcc1300f7e7f5457de263ec6d1ed8b8025660e0d99aefa8390eb2349b6ccd5339faaafce1321de56 colander-2.0.tar.gz
+"
diff --git a/testing/py3-colored/APKBUILD b/testing/py3-colored/APKBUILD
new file mode 100644
index 00000000000..d11a5541e37
--- /dev/null
+++ b/testing/py3-colored/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-colored
+_pyname=${pkgname/py3-/}
+pkgver=1.4.4
+pkgrel=2
+pkgdesc="Simple Python library for color and formatting in terminal"
+url="https://gitlab.com/dslackw/colored"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://gitlab.com/dslackw/colored/-/archive/$pkgver/colored-$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # No testsuite
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="
+d49075f97bcc220802a8a64780b4c3910acd420e7e0e82ee71659132e7a294a638b098e4e46ae54f531739f8a43cd35979e521c02bb359205a13d96e37cfe8ed colored-1.4.4.tar.gz
+"
diff --git a/testing/py3-colorlog/APKBUILD b/testing/py3-colorlog/APKBUILD
deleted file mode 100644
index 77477aa53d4..00000000000
--- a/testing/py3-colorlog/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-colorlog
-_pyname=colorlog
-pkgver=5.0.1
-pkgrel=1
-pkgdesc="formatter for use with Python's logging module"
-url="https://github.com/borntyping/python-colorlog"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/c/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pyname-$pkgver
-
-replaces="py-colorlog" # Backwards compatibility
-provides="py-colorlog=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"/colorlog/tests
- PYTHONPATH="$builddir"/build/lib py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-53cce2f97ee36d8429fa5917ce6d143c17d4f258aab5ab30e999472ff4401b8cf2bf9d6152a003f02e11a3c05ee42fa9562728853557b41ff17cf2a5112c748d colorlog-5.0.1.tar.gz
-"
diff --git a/testing/py3-colorthief/APKBUILD b/testing/py3-colorthief/APKBUILD
new file mode 100644
index 00000000000..0e3c0250346
--- /dev/null
+++ b/testing/py3-colorthief/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=py3-colorthief
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="Grabs the dominant color or a representative color palette from an image."
+url="http://lokeshdhakar.com/projects/color-thief/"
+arch="noarch"
+license="BSD-3-Clause"
+subpackages="$pkgname-pyc"
+depends="py3-pillow"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+source="https://github.com/fengsp/color-thief-py/archive/$pkgver/color-thief-py-$pkgver.tar.gz"
+builddir="$srcdir/color-thief-py-$pkgver"
+options="!check"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+406c2eaf5e405ff7878444908161ca47628aef592c8e7c473a606f0eeb87957cf3ba6c146f7ba66a6fcd39cf6cd716ff7544be3832bbe0060b7abe8970b0c2d2 color-thief-py-0.2.1.tar.gz
+"
diff --git a/testing/py3-columnize/APKBUILD b/testing/py3-columnize/APKBUILD
index ed1e49425fd..edc07d8bd63 100644
--- a/testing/py3-columnize/APKBUILD
+++ b/testing/py3-columnize/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-columnize
-pkgver=0.3.10
-pkgrel=2
+pkgver=0.3.11
+pkgrel=3
pkgdesc="Python module to align in columns a simple list"
url="https://github.com/rocky/pycolumnize"
arch="noarch"
@@ -12,6 +12,7 @@ provides="py-columnize=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
makedepends="py3-setuptools py3-nose"
checkdepends="py3-pytest py3-mock py3-pytest-mock"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/c/columnize/columnize-$pkgver.tar.gz"
builddir="$srcdir"/columnize-$pkgver
@@ -20,11 +21,13 @@ build() {
}
check() {
- python3 setup.py test
+ PYTHONPATH=build/lib pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="684799077601eee5c92ce6f696d56eda79cdf081b880f8d5086b5229876aeeb2c322fdceecfe0bb151e1cb2d1cbb835056b5a53ef7bf63c35ebd0a32aa93c1a6 columnize-0.3.10.tar.gz"
+sha512sums="
+aba1b911c57ac6f237460889d3da6dcfbedac3d42165dd99dc1798f3e2e767a3b895c4266fe82e5b35dfe43af7bff8e778f85bf9c71b10e8b13417e015779432 columnize-0.3.11.tar.gz
+"
diff --git a/testing/py3-compdb/APKBUILD b/testing/py3-compdb/APKBUILD
index ba4d2eaf21d..5ab993f1ee7 100644
--- a/testing/py3-compdb/APKBUILD
+++ b/testing/py3-compdb/APKBUILD
@@ -4,14 +4,14 @@
pkgname=py3-compdb
_pkgname=${pkgname#py3-*}
pkgver=0.2.0
-pkgrel=4
+pkgrel=7
pkgdesc="The compilation database Swiss army knife"
url="https://github.com/Sarcasm/compdb"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/Sarcasm/$_pkgname/archive/v$pkgver.tar.gz"
builddir="$srcdir/"$_pkgname-$pkgver
replaces="py-compdb" # Backwards compat
@@ -25,7 +25,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -d "$pkgdir"/usr/share/doc/$_pkgname/
install -t "$pkgdir"/usr/share/doc/$_pkgname/ README.rst
}
diff --git a/testing/py3-confluent-kafka/APKBUILD b/testing/py3-confluent-kafka/APKBUILD
index 77ca5c59cb7..8250513ed02 100644
--- a/testing/py3-confluent-kafka/APKBUILD
+++ b/testing/py3-confluent-kafka/APKBUILD
@@ -2,16 +2,17 @@
# Contributor: Gennady Feldman <gena01@gmail.com>
pkgname=py3-confluent-kafka
_pkgname=confluent-kafka-python
-pkgver=1.7.0
-pkgrel=1
+pkgver=1.8.2
+pkgrel=4
pkgdesc="Confluent's Apache Kafka Python clien"
url="https://github.com/confluentinc/confluent-kafka-python"
-arch="all !x86 !mips !mips64" # Restricted by py3-fastavro
+arch="all !x86" # Restricted by py3-fastavro
license="Apache-2.0"
-depends="py3-six py3-avro py3-fastavro py3-requests"
+depends="py3-avro py3-fastavro py3-jsonschema py3-protobuf py3-requests"
makedepends="py3-setuptools python3-dev librdkafka-dev>=1.0.1"
checkdepends="py3-pytest py3-trivup"
options="!check" # missing deps
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/confluentinc/confluent-kafka-python/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -24,9 +25,10 @@ check() {
PYTHONPATH=. python3 -m pytest -v tests
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
+ rm "$pkgdir"/usr/LICENSE.txt
}
sha512sums="
-06bd27dfda151fa860f59d740c64e9d93e7a53c95e9b57eb0730cc0058471dbc6b1ecafd769b97c13ef66c0c34634686108ccbba18882f6613052e4e5e409ef4 py3-confluent-kafka-1.7.0.tar.gz
+6db66371b7cac822aafeaa4acb491556d9a866f8502d76e2acfe52d18b282caab338cd3f51f84845eab2ec5b2c44ed80426a7ad8afd0314a8a5ddc1a9299d693 py3-confluent-kafka-1.8.2.tar.gz
"
diff --git a/testing/py3-cookiecutter/APKBUILD b/testing/py3-cookiecutter/APKBUILD
new file mode 100644
index 00000000000..44274f3317a
--- /dev/null
+++ b/testing/py3-cookiecutter/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=py3-cookiecutter
+pkgver=2.6.0
+pkgrel=1
+pkgdesc="A command-line utility that creates projects from project templates"
+url="https://github.com/cookiecutter/cookiecutter"
+arch="noarch"
+license="BSD-3-Clause"
+depends="
+ bash
+ py3-arrow
+ py3-binaryornot
+ py3-click
+ py3-freezegun
+ py3-jinja2
+ py3-pyaml
+ py3-requests
+ py3-rich
+ py3-slugify
+ "
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="
+ py3-pytest
+ py3-pytest-cov
+ py3-pytest-mock
+ "
+subpackages="$pkgname-doc $pkgname-pyc"
+source="py3-cookiecutter-$pkgver.tar.gz::https://github.com/cookiecutter/cookiecutter/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/cookiecutter-$pkgver"
+
+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
+
+ install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
+}
+
+sha512sums="
+619be103bb831cbe9c50c4fa5114d6151a462a29a233f8999305403dda449f90a5900940a2b9d98433a8cdd3dbad421afe6feded42f4bcb6ee83523570ed2c1e py3-cookiecutter-2.6.0.tar.gz
+"
diff --git a/testing/py3-cookies/APKBUILD b/testing/py3-cookies/APKBUILD
deleted file mode 100644
index 58f1ef04004..00000000000
--- a/testing/py3-cookies/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Maintainer:
-pkgname=py3-cookies
-pkgver=2.2.1
-pkgrel=5
-pkgdesc="generate and validate cookies check digits"
-options="!check" # test_encoding_assumptions fails
-url="https://pypi.python.org/pypi/cookies/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="py3-amqp"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/c/cookies/cookies-$pkgver.tar.gz"
-builddir="$srcdir/cookies-$pkgver"
-
-replaces="py-cookies" # Backwards compatibility
-provides="py-cookies=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="76f362a9a1d74b87c90c5b91ad806d872612d31f487e4067a627409316f6099602c9e5a429f85ce20adcb0a7b63dd131b9e1ecc5c0c6444d1569367432a719de cookies-2.2.1.tar.gz"
diff --git a/testing/py3-coreapi/APKBUILD b/testing/py3-coreapi/APKBUILD
index 3acbf214195..d1afe2e66e8 100644
--- a/testing/py3-coreapi/APKBUILD
+++ b/testing/py3-coreapi/APKBUILD
@@ -3,14 +3,14 @@
pkgname=py3-coreapi
_pkgname=python-client
pkgver=2.3.3
-pkgrel=4
+pkgrel=8
pkgdesc="client library for Core API"
url="https://github.com/core-api/python-client"
arch="noarch"
license="BSD-3-Clause"
-depends="py3-coreschema py3-requests py3-itypes py3-uritemplate"
-makedepends="py3-setuptools"
+depends="py3-coreschema py3-requests py3-itypes py3-uritemplate py3-setuptools"
checkdepends="py3-pytest py3-coverage"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/core-api/python-client/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -23,7 +23,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="aeae3ace84c0ce61552236b83db28e47492f5ac17a0e216e1a8eeddaf67270b94127f7a40f8a37cc5051abe097555adfd690a7e6c8801524ca77c916bd451ab8 py3-coreapi-2.3.3.tar.gz"
diff --git a/testing/py3-crashtest/APKBUILD b/testing/py3-crashtest/APKBUILD
deleted file mode 100644
index 4ee670a943b..00000000000
--- a/testing/py3-crashtest/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Justin Berthault <justin.berthault@zaclys.net>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
-pkgname=py3-crashtest
-_pyname=crashtest
-pkgver=0.3.1
-pkgrel=2
-pkgdesc="Manage Python errors with ease"
-url="https://github.com/sdispater/crashtest"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-pytest-cov"
-source="https://files.pythonhosted.org/packages/source/c/crashtest/crashtest-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="e608e59d6bd772fd292b34ccc3a77d26f23f152aa0b72dbf2e60fbcaa0196f47bdfb8dfe28c30f2196132d32a86903f835bea6f6eb29b3cf179ea11bae237ea9 crashtest-0.3.1.tar.gz"
diff --git a/testing/py3-crc16/APKBUILD b/testing/py3-crc16/APKBUILD
index 610bb243d20..e7d65953671 100644
--- a/testing/py3-crc16/APKBUILD
+++ b/testing/py3-crc16/APKBUILD
@@ -3,24 +3,28 @@
pkgname=py3-crc16
_pkgname=crc16
pkgver=0.1.1
-pkgrel=6
+pkgrel=10
pkgdesc="Python library for calculating CRC16"
url="https://github.com/gtrafimenkov/pycrc16"
arch="all"
license="LGPL-3.0-or-later"
-replaces="py-crc16" # for backwards compatibility
+replaces="py-crc16" # for backwards compatibility
provides="py-crc16=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
-makedepends="python3-dev py3-setuptools"
+makedepends="python3-dev py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="45d5e8e13b1ac5f885b40516872a9233514f09aa8990915904b214eec2ef6084016f8f0c15bb411aaa1ffc32e8207020916f723e48eee726a7e6989901c9e65d crc16-0.1.1.tar.gz"
diff --git a/testing/py3-cssutils/APKBUILD b/testing/py3-cssutils/APKBUILD
index 3198c2d39b8..3f8e0fe3dd7 100644
--- a/testing/py3-cssutils/APKBUILD
+++ b/testing/py3-cssutils/APKBUILD
@@ -2,32 +2,38 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-cssutils
_pkgname=cssutils
-pkgver=2.3.0
-pkgrel=1
+pkgver=2.9.0
+pkgrel=0
pkgdesc="CSS Cascading Style Sheets library for Python"
url="http://cthedot.de/cssutils/"
arch="noarch"
license="LGPL-3.0-or-later"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/c/cssutils/cssutils-$pkgver.tar.gz
- remove-setuptools_scm.patch"
+makedepends="py3-gpep517 py3-setuptools py3-setuptools_scm py3-wheel"
+checkdepends="py3-pytest py3-jaraco.test"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/c/cssutils/cssutils-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-prepare() {
- default_prepare
- sed -i "s/%VERSION%/$pkgver/" setup.cfg
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
-build() {
- python3 setup.py build
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest cssutils/tests
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/cssutils*.whl
+
+ rm -r "$pkgdir"/usr/lib/python3*/site-packages/cssutils/tests
}
sha512sums="
-9919224a61222e860a99ec80e6375a472b89c52af72272c1de7bcd5fd31cf8570a04da7762c62a17a85bef2c41b1c67447583087df4c86c1f8969ad4875a76d2 cssutils-2.3.0.tar.gz
-28ba0759d4cba7ca959b6262bf387b6861e49578351d0b82713ba515c0d7705fa3c134ddad2a2b2c5ca2cc4405c76b0fb370c0145162bb7abf263c0afd8d0651 remove-setuptools_scm.patch
+d13d53b3e4f133afb5b72faba1e41a95cf2b146efb075dd3b328fc424eccd371194e1e14fd9e607b207b5c7d473e64f1e4c63975173d8491fa8036a16dc94d38 cssutils-2.9.0.tar.gz
"
diff --git a/testing/py3-cssutils/remove-setuptools_scm.patch b/testing/py3-cssutils/remove-setuptools_scm.patch
deleted file mode 100644
index 96136895ad2..00000000000
--- a/testing/py3-cssutils/remove-setuptools_scm.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -2,6 +2,7 @@
- license_files =
- COPYING
- COPYING.LESSER
-+version = %VERSION%
- name = cssutils
- author = Christof Hoeke
- author_email = c@cthedot.de
-@@ -27,7 +28,6 @@
- python_requires = >=3.6
- install_requires =
- importlib_metadata; python_version < "3.8"
--setup_requires = setuptools_scm[toml] >= 3.4.1
-
- [options.packages.find]
- exclude =
diff --git a/testing/py3-cstruct/APKBUILD b/testing/py3-cstruct/APKBUILD
new file mode 100644
index 00000000000..960cf56f598
--- /dev/null
+++ b/testing/py3-cstruct/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=py3-cstruct
+pkgver=5.3
+pkgrel=1
+pkgdesc="C-style structs for Python"
+url="https://github.com/andreax79/python-cstruct"
+license="MIT"
+arch="noarch !s390x" # test_union_unpack test fails on s390x
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/andreax79/python-cstruct/archive/v$pkgver/py3-cstruct-$pkgver.tar.gz"
+builddir="$srcdir/python-cstruct-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/cstruct-$pkgver-py2.py3-none-any.whl
+}
+
+sha512sums="
+71ad411c6733676c165c9724554a7c1b5f56921ac925020817d812b53b1dfcc9a30d794e8aa8da75bae144e3d659a7426034b5cced4262a699e4626e287b3790 py3-cstruct-5.3.tar.gz
+"
diff --git a/testing/py3-cucumber-tag-expressions/APKBUILD b/testing/py3-cucumber-tag-expressions/APKBUILD
new file mode 100644
index 00000000000..4d71d0a74f6
--- /dev/null
+++ b/testing/py3-cucumber-tag-expressions/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-cucumber-tag-expressions
+pkgver=6.0.0
+pkgrel=1
+pkgdesc="Cucumber tag expression parser"
+url="https://github.com/cucumber/tag-expressions"
+arch="noarch"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ py3-pytest-html
+ py3-yaml
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cucumber/tag-expressions/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/tag-expressions-$pkgver/python"
+
+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="
+9b976cab730420921cd7344c764ae5af0b594099e49b25416632d8e97a9ff551d9e3f042f99d47335807fe2fa3713e32ebfbf14a03b110bedc1b520db2e4fe2f py3-cucumber-tag-expressions-6.0.0.tar.gz
+"
diff --git a/testing/py3-cvxpy/APKBUILD b/testing/py3-cvxpy/APKBUILD
new file mode 100644
index 00000000000..27405ee8c75
--- /dev/null
+++ b/testing/py3-cvxpy/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=py3-cvxpy
+pkgver=1.2.1
+pkgrel=4
+pkgdesc="a Python-embedded modeling language for convex optimization problems"
+url="https://github.com/cvxpy/cvxpy"
+arch="all"
+license="Apache-2.0"
+depends="python3 py3-numpy py3-scipy py3-toolz py3-ecos py3-scs"
+makedepends="py3-setuptools py3-numpy-dev python3-dev"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="cvxpy-$pkgver.tar.gz::https://github.com/cvxpy/cvxpy/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/cvxpy-$pkgver"
+options="!check"
+
+case "$CARCH" in
+ x86|armv7|armhf);;
+ *) depends="$depends py3-osqp";;
+esac
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+faf07c94cb3361eb196ba05d77733b1be3086046252097e272d4f0b4694907974b026328f9d6e82884fbd81917cd0535f1c466de1d325c5bb6026694c9ff7ee4 cvxpy-1.2.1.tar.gz
+"
diff --git a/testing/py3-cymem/APKBUILD b/testing/py3-cymem/APKBUILD
deleted file mode 100644
index 190d7d2ff09..00000000000
--- a/testing/py3-cymem/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-cymem
-pkgver=2.0.5
-pkgrel=2
-pkgdesc="Cython memory pool for RAll-style memory management"
-url="https://github.com/explosion/cymem"
-arch="all"
-license="MIT"
-depends="python3"
-makedepends="python3-dev py3-setuptools cython"
-checkdepends="py3-pytest"
-subpackages="$pkgname-doc"
-source="cymem-$pkgver.tar.gz::https://github.com/explosion/cymem/archive/v$pkgver.tar.gz"
-builddir="$srcdir/cymem-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$(echo $PWD/build/lib.*)" pytest-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="3bb1fa6a8dee6ffb60a244682a3d869b057bbe44b49c03e3ef79703a1076c50f9850f6e06c232ff317afcf213f77c7fb4561004a10056f806d5795b44c626ffe cymem-2.0.5.tar.gz"
diff --git a/testing/py3-daemon/APKBUILD b/testing/py3-daemon/APKBUILD
index 999f289e24a..194bf31f278 100644
--- a/testing/py3-daemon/APKBUILD
+++ b/testing/py3-daemon/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
pkgname=py3-daemon
-pkgver=2.3.0
-pkgrel=1
+pkgver=2.3.2
+pkgrel=3
pkgdesc="Library to implement a well-behaved Unix daemon process"
url="https://pagure.io/python-daemon"
options="!check" # Has lots of dependencies
@@ -10,6 +10,7 @@ arch="noarch"
license="Apache-2.0 AND GPL-3.0-or-later"
depends="py3-setuptools py3-lockfile"
makedepends="py3-docutils"
+subpackages="$pkgname-pyc"
source="https://pypi.io/packages/source/p/python-daemon/python-daemon-$pkgver.tar.gz"
builddir="$srcdir/python-daemon-$pkgver"
@@ -31,5 +32,5 @@ package() {
}
sha512sums="
-30bb70821aae720d09032c8c666524fa9a1a486314ffff73eb161231a1f2b954914295b4ad41f9c8529bc045fb6d0f89256bc59f8979a4f8a6698e9bd4d7441a python-daemon-2.3.0.tar.gz
+d9f6e6c376a496fae96bd9efed0a56d00a137617a3d1d5ef74802ef176bc813bb1d49bbb9164cdbec03213529f944b32b257bcc64283abfa4a3522ff00826bfd python-daemon-2.3.2.tar.gz
"
diff --git a/testing/py3-daiquiri/APKBUILD b/testing/py3-daiquiri/APKBUILD
index 18f6c130b49..4283fc38cdf 100644
--- a/testing/py3-daiquiri/APKBUILD
+++ b/testing/py3-daiquiri/APKBUILD
@@ -1,30 +1,44 @@
# Contributor: Justin Berthault <justin.berthault@zaclys.net>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-daiquiri
-pkgver=3.0.1
+pkgver=3.2.5.1
pkgrel=1
pkgdesc="Library to configure Python logging easily"
-url="https://github.com/jd/daiquiri"
+url="https://github.com/Mergifyio/daiquiri"
arch="noarch"
license="Apache-2.0"
depends="py3-json-logger"
-makedepends="py3-setuptools_scm"
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ "
checkdepends="py3-mock py3-pytest"
-source="https://files.pythonhosted.org/packages/source/d/daiquiri/daiquiri-$pkgver.tar.gz"
-builddir="$srcdir/"daiquiri-$pkgver
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Mergifyio/daiquiri/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/daiquiri-$pkgver"
build() {
- python3 setup.py build
+ export SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- py.test-3
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/daiquiri/tests
}
sha512sums="
-4c786a744a8ed89147bb77c8825d8733ca88bf1d1877058c87257c92a7ae3b343a0820e9d83f4ac8a2a1b9b74d33f72bb5b306703b3bd57b51cf7931041c5d6c daiquiri-3.0.1.tar.gz
+7cb085ed5a27a8e13878413a2ec99e93a5cb984be2e702cf1516276f6418c15c62868ddf1bd8c1e634836f6377abc5ad9f775e268b72e0309f5ed52ad0001f56 py3-daiquiri-3.2.5.1.tar.gz
"
diff --git a/testing/py3-dataclasses-json/APKBUILD b/testing/py3-dataclasses-json/APKBUILD
index c4b0456dbbf..59e5b533f7f 100644
--- a/testing/py3-dataclasses-json/APKBUILD
+++ b/testing/py3-dataclasses-json/APKBUILD
@@ -1,31 +1,38 @@
# Contributor: Alex McGrath <amk@amk.ie>
-# Maintainer: Alex McGrath <amk@amk.ie>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-dataclasses-json
_pkgname=dataclasses-json
-pkgver=0.5.6
+pkgver=0.6.4
pkgrel=1
pkgdesc="Provides a simple API for encoding and decoding dataclasses to and from JSON."
url="https://github.com/lidatong/dataclasses-json"
arch="all"
license="MIT"
depends="python3 py3-marshmallow py3-marshmallow-enum py3-typing_inspect py3-stringcase"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-poetry-core py3-installer py3-poetry-dynamic-versioning"
checkdepends="py3-pytest py3-hypothesis py3-mypy"
+subpackages="$pkgname-pyc"
source="dataclasses-json-$pkgver.tar.gz::https://github.com/lidatong/dataclasses-json/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ export POETRY_DYNAMIC_VERSIONING_BYPASS="$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-e6883ae8ca68e4f4c6446948e106334ea2357489a6234a7e9f50004f450246e7028367571f8aa69e64c2886bcce74a1258b836ad45b210ce14685bac8e0b5a4f dataclasses-json-0.5.6.tar.gz
+78c94055e55703266de19fe0f712ca4945443f124cc75469e7b68b32cd13d0e1effcc5450f7539d9cde42698b38f4e749a912ef7bf39af4c13981a36b4234746 dataclasses-json-0.6.4.tar.gz
"
diff --git a/testing/py3-dataclasses-serialization/APKBUILD b/testing/py3-dataclasses-serialization/APKBUILD
new file mode 100644
index 00000000000..4d4ee4ac1ae
--- /dev/null
+++ b/testing/py3-dataclasses-serialization/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=py3-dataclasses-serialization
+pkgver=1.3.1
+pkgrel=3
+pkgdesc="Serialize/deserialize Python dataclasses"
+url="https://github.com/madman-bob/python-dataclasses-serialization"
+arch="noarch"
+license="MIT"
+depends="
+ py3-more-properties
+ py3-toolz
+ py3-toposort
+ py3-typing_inspect
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest-forked
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/madman-bob/python-dataclasses-serialization/archive/refs/tags/$pkgver.tar.gz
+ $pkgname-fix-deserialize.patch::https://github.com/madman-bob/python-dataclasses-serialization/commit/00fbd280034abeff277523a6579f14d10e8427a2.diff
+ root.patch
+ "
+builddir="$srcdir/python-dataclasses-serialization-$pkgver/"
+
+prepare() {
+ default_prepare
+
+ # fixup location
+ mv pypi_upload/setup.py .
+}
+
+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
+ # https://github.com/madman-bob/python-dataclasses-serialization/issues/16
+ .testenv/bin/python3 -m pytest -n auto --forked \
+ -k 'not test_json_serialization_types'
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+5dc3569675749c82aaf1d9a8e2507fa9a2ee2bb14d6cb082fde15a108e4651afbdb0b1d6c8ca60dca839206abfca2c10b0fc9efe4867e521c1522a7a68b8a7c1 py3-dataclasses-serialization-1.3.1.tar.gz
+4febeff6f08f12267fdceb1243449099c16002c3731cdde80a841a3d63fcb27333ae871fd8d05f45ee8881eccc77b69e8bc6b737ccb49d3c55cb008b49e32762 py3-dataclasses-serialization-fix-deserialize.patch
+78c1714b7373586fcf67adc5dd3ec39b42f9f4cd03cad705d568cbc45de10f506e04a76d112b5cc6ea9b3e0e110f32dd4b9163a3eddeecc1fc94237887b4ed45 root.patch
+"
diff --git a/testing/py3-dataclasses-serialization/root.patch b/testing/py3-dataclasses-serialization/root.patch
new file mode 100644
index 00000000000..19200dbd54e
--- /dev/null
+++ b/testing/py3-dataclasses-serialization/root.patch
@@ -0,0 +1,15 @@
+diff --git a/pypi_upload/setup.py b/pypi_upload/setup.py
+index cd56011..427bcc9 100644
+--- a/pypi_upload/setup.py
++++ b/pypi_upload/setup.py
+@@ -6,8 +6,8 @@ from pathlib import Path
+ from setuptools import find_packages, setup
+ from setuptools.command.install import install
+
+-project_root = Path(__file__).parents[1]
+-
++import pathlib
++project_root = pathlib.Path().resolve()
+
+ class VerifyCommand(install):
+ """Custom command to verify module integrity"""
diff --git a/testing/py3-dateparser/APKBUILD b/testing/py3-dateparser/APKBUILD
new file mode 100644
index 00000000000..6a342fb24f3
--- /dev/null
+++ b/testing/py3-dateparser/APKBUILD
@@ -0,0 +1,68 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-dateparser
+_pyname=${pkgname#py3-}
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="Python parser for human readable dates"
+url="https://github.com/scrapinghub/dateparser"
+arch="noarch"
+license="BSD-3-Clause"
+depends="
+ python3
+ py3-dateutil
+ py3-regex
+ py3-tz
+ py3-tzlocal
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-fasttext
+ py3-gitpython
+ py3-langdetect
+ py3-parameterized
+ py3-parsel
+ py3-pytest
+ py3-requests
+ py3-ruamel.yaml
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/scrapinghub/dateparser/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ _test_filter='not test_parsing_date_should_fail_using_datetime_strptime_if_locale_is_non_english'
+ # test_custom_language_detect_fast_text fails due to wrong file format
+ case "$CARCH" in
+ s390x)
+ _test_filter="$_test_filter and not test_custom_language_detect_fast_text"
+ ;;
+ esac
+
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+
+ # test_hijri.py: needs hijri_converter, test_jalali.py: convertdate
+ .testenv/bin/python3 -m pytest tests \
+ -k "$_test_filter" \
+ --ignore tests/test_hijri.py \
+ --ignore tests/test_jalali.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+2d37115f25c2076c4521b77b89ef1cff3cd0a5233c45beb00d78a5c9b1a384dcd993ff7cdd1f77db95a53ce566cf7d709d46ffa2e63eb468ac954fda178a5b6e py3-dateparser-1.2.0.tar.gz
+"
diff --git a/testing/py3-daterangestr/APKBUILD b/testing/py3-daterangestr/APKBUILD
index e3dce455837..7594fbaa423 100644
--- a/testing/py3-daterangestr/APKBUILD
+++ b/testing/py3-daterangestr/APKBUILD
@@ -3,24 +3,28 @@
pkgname=py3-daterangestr
_pkgname=daterangestr
pkgver=0.0.3
-pkgrel=4
+pkgrel=8
pkgdesc="Utility to convert strings to start and end datetime tuples"
url="https://github.com/marians/py-daterangestr"
arch="noarch"
license="MIT"
-depends="python3"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-daterangestr" # for backwards compatibility
+replaces="py-daterangestr" # for backwards compatibility
provides="py-daterangestr=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="eeba3792cb7e9ad4e308821866d4f555829267a7790d6bedc8ad95b2dbcf6235f4181947a63d55d052dcdfac1f1c0e550e8f4e41ec5a851d75b47040246c05a6 daterangestr-0.0.3.tar.gz"
diff --git a/testing/py3-ddt/APKBUILD b/testing/py3-ddt/APKBUILD
deleted file mode 100644
index e679f041f81..00000000000
--- a/testing/py3-ddt/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: prspkt <prspkt@protonmail.com>
-# Contributor: prspkt <prspkt@protonmail.com>
-pkgname=py3-ddt
-pkgver=1.4.4
-pkgrel=1
-pkgdesc="Python library to multiply test cases"
-url="https://github.com/txels/ddt"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="
- py3-mock
- py3-nose
- py3-pytest
- py3-yaml
- "
-source="https://files.pythonhosted.org/packages/source/d/ddt/ddt-$pkgver.tar.gz"
-builddir="$srcdir/ddt-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-506f5d9f1c11a57dc1a93a16f026fb0735654400259e297a96b4163348c3ef1ce66b6f82a46effe507cc66e07819415ffee028e3c96baf5fbbd9d26b14b96abc ddt-1.4.4.tar.gz
-"
diff --git a/testing/py3-deepdiff/APKBUILD b/testing/py3-deepdiff/APKBUILD
deleted file mode 100644
index 5e63e05cb46..00000000000
--- a/testing/py3-deepdiff/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Alex McGrath <amk@amk.ie>
-# Maintainer: Alex McGrath <amk@amk.ie>
-pkgname=py3-deepdiff
-_pkgname=deepdiff
-pkgver=5.7.0
-pkgrel=0
-pkgdesc="Deep Difference and Search of any Python object/data"
-url="https://github.com/seperman/deepdiff"
-arch="noarch"
-license="MIT"
-depends="python3 py3-ordered-set"
-makedepends="py3-setuptools"
-options="!check" # tests fail
-source="https://files.pythonhosted.org/packages/source/d/deepdiff/deepdiff-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-10d3b6116aef660126bd33c5df3142ef8a9413dc0b3f639db88b670dd0ec74bde4afd07f044bfd298f048f717d2fef150add04115e4d0408329fcb94303a0687 deepdiff-5.7.0.tar.gz
-"
diff --git a/testing/py3-dep-logic/APKBUILD b/testing/py3-dep-logic/APKBUILD
new file mode 100644
index 00000000000..5e283fd71bd
--- /dev/null
+++ b/testing/py3-dep-logic/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-dep-logic
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="Python dependency specifications supporting logical operations"
+url="https://github.com/pdm-project/dep-logic"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-packaging"
+makedepends="py3-gpep517 py3-pdm-backend py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/pdm-project/dep-logic/archive/$pkgver/py3-dep-logic-$pkgver.tar.gz"
+builddir="$srcdir/dep-logic-$pkgver"
+
+build() {
+ export PDM_BUILD_SCM_VERSION=$pkgver
+ 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="
+a58cd7b6a08de8e56fcb03aad13ac4ce864a650066de802268b1bb6f1c97835d3197feed982666cbc6113104a6b5aa0782adc8bd6fed9ed8723eb040206442f9 py3-dep-logic-0.2.0.tar.gz
+"
diff --git a/testing/py3-dexml/APKBUILD b/testing/py3-dexml/APKBUILD
index 784389f2d44..127f8f7fca7 100644
--- a/testing/py3-dexml/APKBUILD
+++ b/testing/py3-dexml/APKBUILD
@@ -3,26 +3,33 @@
pkgname=py3-dexml
_pkgname=dexml
pkgver=0.5.1
-pkgrel=5
+pkgrel=9
pkgdesc="A simple Object-XML mapper for Python"
url="https://pypi.org/project/dexml"
arch="noarch"
license="MIT"
-replaces="py-dexml" # for backwards compatibility
+replaces="py-dexml" # for backwards compatibility
provides="py-dexml=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
-makedepends="python3-dev py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+makedepends="python3-dev py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ py3.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- cd "$builddir"
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="b8ac2b9f875ac7cf699eb9ee17adb8678ed8d4a796130bbb60f05431207adb68f490b7a7a41600acbc16a3cc08d55f22d91a13e53fe3d835a322709ee3446c9f dexml-0.5.1.tar.gz"
+sha512sums="
+b8ac2b9f875ac7cf699eb9ee17adb8678ed8d4a796130bbb60f05431207adb68f490b7a7a41600acbc16a3cc08d55f22d91a13e53fe3d835a322709ee3446c9f dexml-0.5.1.tar.gz
+de2ea4ce179d64c0bb3bf66a40739b4f1b01504b43e74666f60882d86da83d22edbe4606bd24c9605947ac677cc69169e5270df8574b8c9737830959bb16300f py3.patch
+"
diff --git a/testing/py3-dexml/py3.patch b/testing/py3-dexml/py3.patch
new file mode 100644
index 00000000000..bc7394c01d0
--- /dev/null
+++ b/testing/py3-dexml/py3.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 285a258..2521bb6 100644
+--- a/setup.py
++++ b/setup.py
+@@ -20,8 +20,6 @@ except ImportError:
+ from distutils.core import setup
+ else:
+ setup_kwds["test_suite"] = "dexml.test"
+- if sys.version_info > (3,):
+- setup_kwds["use_2to3"] = True
+
+
+ # Extract the docstring and version declaration from the module.
diff --git a/testing/py3-dict2xml/APKBUILD b/testing/py3-dict2xml/APKBUILD
index b159713f9ac..df7e66e5fe5 100644
--- a/testing/py3-dict2xml/APKBUILD
+++ b/testing/py3-dict2xml/APKBUILD
@@ -1,25 +1,34 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-dict2xml
_pyname=dict2xml
-pkgver=1.7.0
-pkgrel=3
+pkgver=1.7.5
+pkgrel=2
pkgdesc="Small utility to convert a python dictionary into an XML string"
-options="!check" # Requires unpackaged 'NoseOfYeti'
url="https://github.com/delfick/python-dict2xml"
arch="noarch"
license="MIT"
depends="python3"
-makedepends="py3-setuptools"
-_pypiprefix="${_pyname%${_pyname#?}}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
+makedepends="py3-hatchling py3-gpep517 py3-installer"
+checkdepends="py3-pytest py3-nose-of-yeti"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/d/dict2xml/dict2xml-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ pytest
}
package() {
- python3 setup.py install --root="$pkgdir" --optimize=1
+ python3 -m installer -d "$pkgdir" \
+ .dist/dict2xml*.whl
}
-sha512sums="7ed2af3facc81d70b1ccb1a1ffacdd7f72a38b7435048f170f657e8b48f3f9a144238df93e577ea8d3bfae019edfbbe35da7b2e7cd82fbb8f59cd3f646ac6a6e dict2xml-1.7.0.tar.gz"
+sha512sums="
+88a77fcdc2ec320ba1668b27da4aacfcfc817090aebabc01fce76bff51b316166a0cc1f053884e8012a28e7118449f901465703869245dc662f29cee9665157e dict2xml-1.7.5.tar.gz
+"
diff --git a/testing/py3-dill/APKBUILD b/testing/py3-dill/APKBUILD
deleted file mode 100644
index bc20a73422a..00000000000
--- a/testing/py3-dill/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=py3-dill
-_pyname=dill
-pkgver=0.3.4
-pkgrel=1
-pkgdesc="Python serializer supporting a broader range of types than pickle"
-url="https://pypi.org/project/dill/"
-arch="noarch !s390x !mips !mips64" # broken on big-endian
-license="BSD-3-Clause"
-makedepends="python3 py3-setuptools"
-_pypiprefix="${_pyname%${_pyname#?}}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.zip"
-builddir=$srcdir/$_pyname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-check() {
- export PYTHONPATH="$(pwd):$PYTHONPATH"
- for t in tests/test*.py
- do
- echo "$t"
- python3 "$t"
- done
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/dill/tests
-}
-
-sha512sums="
-25f1683d725e5ed2d6ce61fcd82d679c0504ef506ad7cb501be6dfce3b80f1fdacbb39991eea8899259f9803248c75cb1bc3bd4b28a43be5902dd724946c68f6 dill-0.3.4.zip
-"
diff --git a/testing/py3-discid/APKBUILD b/testing/py3-discid/APKBUILD
index 0e0ca146750..90cd8f86ee2 100644
--- a/testing/py3-discid/APKBUILD
+++ b/testing/py3-discid/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-discid
_pyname=discid
pkgver=1.2.0
-pkgrel=2
+pkgrel=5
pkgdesc="python bindings for libdiscid"
url="https://python-discid.readthedocs.io/en/latest/"
arch="noarch"
license="LGPL-3.0-or-later"
depends="python3 libdiscid"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -22,6 +23,6 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="d004b7e4b5416310c8fb21bb9e686b5e5f5651366fb78785e299dcd17aaa99e7c2e115cc1c5175d8fbf853d3f7b8813555be32bf387d7ce82271b5e57bdff0dd discid-1.2.0.tar.gz"
diff --git a/testing/py3-discogs-client/APKBUILD b/testing/py3-discogs-client/APKBUILD
index 1c91243a9f2..488d3d40218 100644
--- a/testing/py3-discogs-client/APKBUILD
+++ b/testing/py3-discogs-client/APKBUILD
@@ -1,15 +1,16 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-discogs-client
_pyname=python3-discogs-client
-pkgver=2.3.12
-pkgrel=1
+pkgver=2.7
+pkgrel=2
pkgdesc="Joalla Python Discogs API Client"
url="https://github.com/joalla/discogs_client"
arch="noarch"
license="BSD-2-Clause"
-depends="py3-oauthlib py3-requests py3-six"
+depends="py3-oauthlib py3-requests python3 py3-dateutil"
makedepends="py3-dateutil py3-setuptools py3-yaml"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/python3-discogs-client/python3-discogs-client-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -25,9 +26,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-c14ea953e92f2d77909a7af8f840ee5a1df2416e16f6de0b7f0e988f6ef56a07fc04c75b247508dc0d1b5f7033faf6cce80196b610d1169a23350d3e816e2925 python3-discogs-client-2.3.12.tar.gz
+7bb43429d6ceb3bbf892b6a65d4d93f0a9ec1bb3535b62169d7e1e4ff0e5032963b2ad5753e381745559efd21ed9e875bfbe3f5260e26f7df5f4a344bedded4a python3-discogs-client-2.7.tar.gz
"
diff --git a/testing/py3-diskcache/APKBUILD b/testing/py3-diskcache/APKBUILD
index be1d19b11a0..489341364a3 100644
--- a/testing/py3-diskcache/APKBUILD
+++ b/testing/py3-diskcache/APKBUILD
@@ -1,16 +1,17 @@
# Contributor:
# Maintainer:
pkgname=py3-diskcache
-pkgver=5.3.0
+pkgver=5.6.3
pkgrel=1
pkgdesc="disk caching implementation"
options="!check" # test_incr_update_keyerror fails
-url="http://www.grantjenks.com/docs/diskcache/"
+url="https://grantjenks.com/docs/diskcache/"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-pytest-xdist py3-mock py3-django"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/grantjenks/python-diskcache/archive/v$pkgver.tar.gz"
builddir="$srcdir"/python-diskcache-$pkgver
@@ -26,9 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-106c8eb8320153e42e076927d51fa75d30b92156e17a75756e0392028cb6b5054af9af66b93aa69b7a7105012f0b92fe942ee447a75e53e005b56eb0b067dc38 py3-diskcache-5.3.0.tar.gz
+476d677d88212aa3f9a6e8d12c3e7076cc6a06973d703ed0b2c550b4b4e916b24fb7d8f33c7174854015886fab26e2707b134328d2bc3e144aef5510e7bc0f7c py3-diskcache-5.6.3.tar.gz
"
diff --git a/testing/py3-distorm3/APKBUILD b/testing/py3-distorm3/APKBUILD
index 47cce912916..8712395a4e5 100644
--- a/testing/py3-distorm3/APKBUILD
+++ b/testing/py3-distorm3/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-distorm3
_pkgname=distorm3
pkgver=3.5.2
-pkgrel=1
+pkgrel=5
pkgdesc="Disassembler Library For x86/AMD64"
-url="https://pypi.python.org/pypi/distorm3"
+url="https://pypi.org/project/distorm3"
arch="all"
license="BSD-3-Clause"
depends="python3"
makedepends="py3-setuptools python3-dev"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/d/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
diff --git a/testing/py3-django-auth-ldap/APKBUILD b/testing/py3-django-auth-ldap/APKBUILD
new file mode 100644
index 00000000000..f3c10d9e0d5
--- /dev/null
+++ b/testing/py3-django-auth-ldap/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
+# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
+pkgname=py3-django-auth-ldap
+#_pkgreal is used by apkbuild-pypi to find modules at PyPI
+_pkgreal=django-auth-ldap
+pkgver=4.8.0
+pkgrel=1
+pkgdesc="Django LDAP authentication backend"
+url="https://pypi.python.org/project/django-auth-ldap"
+# s390x | riscv64: test failure
+arch="noarch !s390x !riscv64"
+license="BSD"
+depends="py3-django py3-ldap"
+checkdepends="
+ py3-pytest
+ py3-pytest-django
+ py3-pytest-black
+ py3-isort
+ py3-flake8
+ openldap
+ openldap-back-mdb
+ openldap-clients
+ openldap-overlay-syncprov
+ "
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+source="$pkgname-$pkgver.tar.gz::https://github.com/django-auth-ldap/django-auth-ldap/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+subpackages="$pkgname-pyc"
+
+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 -Wa -b -m django test --settings tests.settings
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+559d6c0a556ccab2a0440866db9e1260b236e0bd4de92d07082660118b99886e7d362824cf0453de1f1d87ce1d5b5ab23d5181b8c970086d3a100ae32a29c482 py3-django-auth-ldap-4.8.0.tar.gz
+"
diff --git a/testing/py3-django-compress-staticfiles/APKBUILD b/testing/py3-django-compress-staticfiles/APKBUILD
new file mode 100644
index 00000000000..92e9c84d5d0
--- /dev/null
+++ b/testing/py3-django-compress-staticfiles/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Alex Denes <caskd@redxen.eu>
+# Maintainer: Alex Denes <caskd@redxen.eu>
+_pkgname=django-compress-staticfiles
+pkgname="py3-$_pkgname"
+pkgver=1.0.1_beta0
+pkgrel=4
+pkgdesc="Django static files storage backend inheriting from ManifestFilesMixin and StaticFilesStorage"
+url="https://github.com/armandtvz/django-compress-staticfiles"
+arch="noarch"
+license="GPL-3.0-only"
+depends="
+ py3-django
+ py3-brotli
+ py3-csscompressor
+"
+makedepends="py3-setuptools_scm"
+checkdepends="py3-django-utils-six"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-${pkgver//_beta/b}.tar.gz"
+builddir="$srcdir/$_pkgname-${pkgver//_beta/b}"
+options="!check" # requires py3-django-utils-six
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --root "$pkgdir"
+
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
+}
+
+sha512sums="
+f877e7cf6e1406743a5940f47cc5de8376fefb182e92864c1176cd94c2a88d135bcefbb8189a3d54ca51c30e8854b44fde43f47c5906eb9e50a04176332e26cc django-compress-staticfiles-1.0.1b0.tar.gz
+"
diff --git a/testing/py3-django-debug-toolbar/APKBUILD b/testing/py3-django-debug-toolbar/APKBUILD
index bb9cddbf8df..b0974d344e1 100644
--- a/testing/py3-django-debug-toolbar/APKBUILD
+++ b/testing/py3-django-debug-toolbar/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer:
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-django-debug-toolbar
_pkgname=django-debug-toolbar
-pkgver=3.2.1
+pkgver=4.3
pkgrel=1
pkgdesc="Configurable set of panels that display various debug information about the current request/response"
options="!check" # Requires unpackaged Selenium python3 module
@@ -10,8 +10,12 @@ url="https://github.com/jazzband/django-debug-toolbar"
arch="noarch"
license="BSD-3-Clause"
depends="py3-django py3-sqlparse"
-makedepends="py3-setuptools"
+makedepends="
+ py3-gpep517
+ py3-hatchling
+ "
# options="!check" #no testsuite
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/jazzband/$_pkgname/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -19,13 +23,16 @@ replaces="py-django-debug-toolbar" # Backwards compatibility
provides="py-django-debug-toolbar=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py --quiet build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py --quiet install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-d28e13cc2e3bbb27e9c728037229adac444180e3831b88c9ac1aa0e139bd1e85f9190c7a324afe3292bde4ad0c919bd17fbde4998be266f81314b9b22c4a28e6 py3-django-debug-toolbar-3.2.1.tar.gz
+caa8563d38e8c96305828b7a07006ce2ee0afae099d70d75d332f2196fc3ffcf7f3848440ea22c00f2b918029477672a172e30714f6f73a630404175aef3b925 py3-django-debug-toolbar-4.3.tar.gz
"
diff --git a/testing/py3-django-js-asset/APKBUILD b/testing/py3-django-js-asset/APKBUILD
index 0aa257a6103..bf98b4809ef 100644
--- a/testing/py3-django-js-asset/APKBUILD
+++ b/testing/py3-django-js-asset/APKBUILD
@@ -1,35 +1,45 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer:
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-django-js-asset
_pkgname=django-js-asset
-pkgver=1.2.2
-pkgrel=3
+pkgver=2.2
+pkgrel=2
pkgdesc="script tag with additional attributes for django.forms.Media"
url="https://github.com/matthiask/django-js-asset"
arch="noarch"
license="BSD-3-Clause"
depends="py3-django"
-makedepends="py3-setuptools"
-checkdepends="py3-coverage"
-source="$pkgname-$pkgver.tar.gz::https://github.com/matthiask/$_pkgname/archive/$pkgver.tar.gz
- Adapt-the-test-suite-to-changes-in-Django.patch
+makedepends="
+ py3-gpep517
+ py3-hatchling
+ py3-wheel
"
+checkdepends="py3-pytest py3-coverage"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/matthiask/$_pkgname/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
+options="!check" # need more setup
replaces="py-django-js-asset" # Backwards compatibility
provides="py-django-js-asset=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py --quiet build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 tests/manage.py test -v 2 testapp
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py --quiet install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="ad2c51399da9b5d75305c0fa257cc75496df3f6704a827a0d297a4d762712039c3ebd921afbe6e10672626f1badd8637728292dd700ba41c4192c95ec73095a9 py3-django-js-asset-1.2.2.tar.gz
-2319e16762981fa0b5e6fa09be470ef3d2f7e5b39e383945574859b6ca1e216a5b3f45d9624f595717d9e501b79e9be0985cafc10328f84d1fed7a590de7a893 Adapt-the-test-suite-to-changes-in-Django.patch"
+sha512sums="
+d35f8f1b83726826e9092e7d33dc22d5b53df9f6c1a6a141d7928dfa9eaada3d13a5879b2ee65825b73a2b048e4d21528d462c6449a87d4c0b599501811a40fe py3-django-js-asset-2.2.tar.gz
+"
diff --git a/testing/py3-django-js-asset/Adapt-the-test-suite-to-changes-in-Django.patch b/testing/py3-django-js-asset/Adapt-the-test-suite-to-changes-in-Django.patch
deleted file mode 100644
index 7306575d87a..00000000000
--- a/testing/py3-django-js-asset/Adapt-the-test-suite-to-changes-in-Django.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-From 232536ba50a2e1a0cffc6046dbcdfdec22cb0d9e Mon Sep 17 00:00:00 2001
-From: Matthias Kestenholz <mk@feinheit.ch>
-Date: Fri, 15 May 2020 08:51:33 +0200
-Subject: [PATCH] Adapt the test suite to changes in Django
-
----
- tests/testapp/test_js_asset.py | 16 ++++++++++++----
- tox.ini | 14 ++++++++++++++
- 2 files changed, 26 insertions(+), 4 deletions(-)
-
-diff --git a/tests/testapp/test_js_asset.py b/tests/testapp/test_js_asset.py
-index 902e2a1..3762da6 100644
---- a/tests/testapp/test_js_asset.py
-+++ b/tests/testapp/test_js_asset.py
-@@ -1,11 +1,15 @@
- from __future__ import unicode_literals
-
-+import django
- from django.forms import Media
- from django.test import TestCase
-
- from js_asset.js import JS
-
-
-+JS_TYPE = ' type="text/javascript"' if django.VERSION < (3, 1) else ""
-+
-+
- class AssetTest(TestCase):
- def test_asset(self):
- media = Media(
-@@ -25,15 +29,17 @@ def test_asset(self):
- html,
- )
- self.assertInHTML(
-- '<script type="text/javascript" src="/static/app/test.js"></script>', # noqa
-+ '<script{} src="/static/app/test.js"></script>'.format(JS_TYPE), # noqa
- html,
- )
- self.assertInHTML(
-- '<script type="text/javascript" src="/static/app/asset.js" data-the-answer="42" id="asset-script"></script>', # noqa
-+ '<script{} src="/static/app/asset.js" data-the-answer="42" id="asset-script"></script>'.format( # noqa
-+ JS_TYPE
-+ ),
- html,
- )
- self.assertInHTML(
-- '<script type="text/javascript" src="/static/app/asset-without.js"></script>', # noqa
-+ '<script{} src="/static/app/asset-without.js"></script>'.format(JS_TYPE),
- html,
- )
-
-@@ -42,7 +48,9 @@ def test_absolute(self):
- html = "%s" % media
-
- self.assertInHTML(
-- '<script type="text/javascript" src="https://cdn.example.org/script.js"></script>', # noqa
-+ '<script{} src="https://cdn.example.org/script.js"></script>'.format(
-+ JS_TYPE
-+ ),
- html,
- )
-
-diff --git a/tox.ini b/tox.ini
-index 3ddafc6..5ee9d33 100644
---- a/tox.ini
-+++ b/tox.ini
-@@ -1,3 +1,6 @@
-+[tox]
-+envlist = style,tests,tests-old,tests-master
-+
- [testenv]
- basepython = python3
-
-@@ -37,3 +40,14 @@ changedir = {toxinidir}
- skip_install = true
- commands =
- python tests/manage.py test -v 2 testapp
-+
-+
-+[testenv:tests-master]
-+deps =
-+ https://github.com/django/django/archive/master.zip
-+ coverage
-+changedir = {toxinidir}
-+skip_install = true
-+commands =
-+ coverage run tests/manage.py test -v 2 testapp
-+ coverage html
diff --git a/testing/py3-django-mptt/APKBUILD b/testing/py3-django-mptt/APKBUILD
index c28a7c954d9..ed15b7a845c 100644
--- a/testing/py3-django-mptt/APKBUILD
+++ b/testing/py3-django-mptt/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer:
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-django-mptt
_pkgname=django-mptt
-pkgver=0.12.0
-pkgrel=1
+pkgver=0.16
+pkgrel=2
pkgdesc="Utilities for implementing a modified pre-order traversal tree in django"
options="!check" # Requires running django instance
url="https://github.com/django-mptt/django-mptt"
arch="noarch"
license="MIT"
depends="py3-django py3-django-js-asset"
-makedepends="py3-setuptools"
+makedepends="py3-hatchling py3-gpep517"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/django-mptt/$_pkgname/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -18,13 +19,16 @@ replaces="py-django-mptt" # Backwards compatibiity
provides="py-django-mptt=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py --quiet build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py --quiet install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-fae2991aaa0b300d725242c94401818a5d0620a1180b86f0fc503c5943ec4012b129dfa25999f1393d678fc2588fd03152a361cb6e0a271c82f8c45411e9a09e py3-django-mptt-0.12.0.tar.gz
+98f40f2b51e8d48f6b872d6775968282d135ca60d13e9a36a811ef54506f957fa5abe3098e1f68476709d80966558db69809f3d2ff5f5a4a1a69c43931e4c141 py3-django-mptt-0.16.tar.gz
"
diff --git a/testing/py3-django-suit/APKBUILD b/testing/py3-django-suit/APKBUILD
index 3ea27365549..74ea59a82a9 100644
--- a/testing/py3-django-suit/APKBUILD
+++ b/testing/py3-django-suit/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-django-suit
_realname=django-suit
pkgver=0.2.28
-pkgrel=4
+pkgrel=7
pkgdesc="Modern theme for Django admin interface"
options="!check" # No testsuite
url="https://djangosuit.com/"
@@ -11,6 +11,7 @@ arch="noarch"
license="CC-BY-NC-3.0"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/d/$_realname/$_realname-$pkgver.tar.gz"
builddir="$srcdir"/$_realname-$pkgver
@@ -22,7 +23,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="5ed7c6fdc0c3a14c4b525338b9f0c6e2bc296bd06f20cc5b262dcef23711212a5d84d9f3bee610895ca31ac7b547c793177871023a254f0ccbb8ec3bca22b933 django-suit-0.2.28.tar.gz"
diff --git a/testing/py3-django-taggit-serializer/APKBUILD b/testing/py3-django-taggit-serializer/APKBUILD
index 4c151d29289..81ba6cc5a43 100644
--- a/testing/py3-django-taggit-serializer/APKBUILD
+++ b/testing/py3-django-taggit-serializer/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=py3-django-taggit-serializer
pkgver=0.1.7
-pkgrel=5
+pkgrel=8
pkgdesc="The Django Taggit Serializer Created for the Django REST Framework"
options="!check" # Missing py-django-nose
url="https://github.com/glemmaPaul/django-taggit-serializer"
@@ -11,6 +11,7 @@ license="BSD-3-Clause"
depends="py3-django"
makedepends="py3-setuptools"
checkdepends="py3-django-rest-framework py3-django-taggit py3-nose py3-django-nose"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/glemmaPaul/django-taggit-serializer/archive/$pkgver.tar.gz"
builddir="$srcdir"/django-taggit-serializer-$pkgver
@@ -23,8 +24,7 @@ check() {
}
package() {
- python3 setup.py --quiet install --prefix=/usr --root="$pkgdir"
+ python3 setup.py --quiet install --skip-build --root="$pkgdir"
}
-
sha512sums="e4f2dcabac8e4afa9b6969bbb8718e2e5047ec97dab80f800ad73c3f59da438b8e9becbcce1af0c986a4a903a9846ca85db58d2135658d7103caee69431b59a5 py3-django-taggit-serializer-0.1.7.tar.gz"
diff --git a/testing/py3-django-taggit/APKBUILD b/testing/py3-django-taggit/APKBUILD
deleted file mode 100644
index 8f38046b978..00000000000
--- a/testing/py3-django-taggit/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
-pkgname=py3-django-taggit
-pkgver=1.5.1
-pkgrel=1
-pkgdesc="Simple tagging for django"
-options="!check" # Testsuite for coverage and flake8
-url="https://github.com/alex/django-taggit"
-arch="noarch"
-license="BSD-3-Clause"
-depends="py3-django"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/alex/django-taggit/archive/$pkgver.tar.gz"
-builddir="$srcdir"/django-taggit-$pkgver
-
-replaces="py-djanog-taggit" # Backwards compatibility
-provides="py-djanog-taggit=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py --quiet install --prefix=/usr --root="$pkgdir"
-}
-
-
-sha512sums="
-7ebddc4a08629b4382a0f3d73446375860e38f9b42921d4f86668d96c34dd589a5c06f75e5d1c31999a3430b3f6d99339b766eb2cee2930f2222d8cb2871ee1d py3-django-taggit-1.5.1.tar.gz
-"
diff --git a/testing/py3-django-timezone-field/APKBUILD b/testing/py3-django-timezone-field/APKBUILD
index 48b2e36e868..3b29ace2a2b 100644
--- a/testing/py3-django-timezone-field/APKBUILD
+++ b/testing/py3-django-timezone-field/APKBUILD
@@ -1,35 +1,50 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer:
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-django-timezone-field
_pkgname=django-timezone-field
-pkgver=4.2.1
-pkgrel=1
+pkgver=6.1.0
+pkgrel=2
pkgdesc="Django app providing database and form fields for pytz timezone objects"
-options="!check" # Testsuite is only coverage and flake8 tests
-url="https://pypi.python.org/pypi/django-timezone-field"
+url="https://pypi.org/project/django-timezone-field"
arch="noarch"
license="BSD-2-Clause"
-depends="py3-django py3-tz"
-makedepends="py3-setuptools"
+depends="py3-django"
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ "
+checkdepends="
+ py3-django-rest-framework
+ py3-pytest
+ py3-pytest-django
+ py3-tz
+ tzdata
+ "
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/mfogel/$_pkgname/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
+options="!check" #fails with funcargs error, likely lazy_fixture incompatibility in test suite
replaces="py-django-timezone-field" # Backwards compatibility
provides="py-django-timezone-field=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
-
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 tests.py
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py --quiet install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-4c2da420c3aaffa23d8cdb66dbbe4b2ea8638de5a45d9e381bf9af980e52eba77fc03a2b8fee8497662199cdc9436d56543c0f6316e74ae5da68187a305c34a2 py3-django-timezone-field-4.2.1.tar.gz
+b070e55a2a5196de1fcae4bd19979caf9d84c234a4e379d82dab843541cf99a0acced9a6996e35afe6b40d1bf737d522d34b91df10596e7365f85cfbe0597015 py3-django-timezone-field-6.1.0.tar.gz
"
diff --git a/testing/py3-dkimpy/APKBUILD b/testing/py3-dkimpy/APKBUILD
new file mode 100644
index 00000000000..e608b626590
--- /dev/null
+++ b/testing/py3-dkimpy/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: knuxify <knuxify@gmail.com>
+# Maintainer: knuxify <knuxify@gmail.com>
+pkgname=py3-dkimpy
+pkgver=1.1.5
+pkgrel=1
+pkgdesc="DKIM, ARC, and TLSRPT email signing and verification"
+url="https://launchpad.net/dkimpy/"
+arch="noarch"
+license="Zlib"
+depends="python3 py3-aiodns py3-dnspython py3-authres py3-pynacl"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="https://launchpad.net/dkimpy/1.1/$pkgver/+download/dkimpy-$pkgver.tar.gz"
+builddir="$srcdir/dkimpy-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m unittest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+650476a54cb39d72fefe05a6fdd8167694cd6f1cf521efb7807713ccfa868dd5458732ee8501c4edea203f9726689c9632a92473698ee31889208d19891b7a13 dkimpy-1.1.5.tar.gz
+"
diff --git a/testing/py3-dnslib/APKBUILD b/testing/py3-dnslib/APKBUILD
index e0372da0508..e4d86d7e7bf 100644
--- a/testing/py3-dnslib/APKBUILD
+++ b/testing/py3-dnslib/APKBUILD
@@ -1,33 +1,41 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-dnslib
-_pkgname=dnslib
-pkgver=0.9.16
+pkgver=0.9.24
pkgrel=1
pkgdesc="simple library to encode/decode DNS wire-format packets"
url="https://github.com/paulc/dnslib"
arch="noarch"
license="BSD-2-Clause"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/d/dnslib/dnslib-$pkgver.tar.gz"
+builddir="$srcdir/dnslib-$pkgver"
replaces=py-dnslib # Backwards compatibility
provides=py-dnslib=$pkgver-r$pkgrel # Backwards compatibility
+# secfixes:
+# 0.9.19-r0:
+# - CVE-2022-22846
+
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="$PWD/build/lib" python3 dnslib/test_decode.py
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 dnslib/test_decode.py
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-debe8a68cd88224a42aec3800683e803f8928dfd67645b58e0fd7f74eff6b22bad09a84e7b322c3e19e7aecb7b70ea086a2ab4b3f8d91c11dc3efc6f8b288ff2 dnslib-0.9.16.tar.gz
+95163676394f417b7d41f572c9a933728061b430ffbe670cdd44486a6447615273d2ac2805daf839721c247d902713e70ad183c580c8515f4e5e3d740986e633 dnslib-0.9.24.tar.gz
"
diff --git a/testing/py3-docformatter/APKBUILD b/testing/py3-docformatter/APKBUILD
new file mode 100644
index 00000000000..4007d641a8f
--- /dev/null
+++ b/testing/py3-docformatter/APKBUILD
@@ -0,0 +1,56 @@
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=py3-docformatter
+pkgver=1.7.5
+pkgrel=3
+pkgdesc="Formats docstrings to follow PEP 257"
+url="https://github.com/PyCQA/docformatter"
+arch="noarch"
+license="MIT"
+depends="
+ py3-charset-normalizer
+ py3-untokenize
+ "
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ "
+checkdepends="
+ black
+ py3-mock
+ py3-pytest-forked
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/PyCQA/docformatter/archive/refs/tags/v$pkgver.tar.gz
+ fix-tests.patch
+ "
+builddir="$srcdir/docformatter-$pkgver"
+
+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
+ (
+ # shellcheck disable=1091
+ . .testenv/bin/activate
+ # dumb checks that seems to fail to add a space or whatever
+ .testenv/bin/python3 -m pytest -n auto --forked \
+ --deselect=tests/test_docformatter.py \
+ --deselect=tests/test_configuration_functions.py
+ )
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+bb3e7674845632be7b75151a874987582f7cba2682905b0527a1bb8cda37156931ade35cb712ffba91d510e89a45474d5df8f41bea6979cc933f7ec999cf01f4 py3-docformatter-1.7.5.tar.gz
+a9f9a970b74c8a353df99ba3b005197562f4a320a5f38913cfafb1d13c2f45a6ce1aa5899ed219e72cc52a5c3ca3b690cee029a7b13f13768952c239ca2a0d87 fix-tests.patch
+"
diff --git a/testing/py3-docformatter/fix-tests.patch b/testing/py3-docformatter/fix-tests.patch
new file mode 100644
index 00000000000..100a04d4ea0
--- /dev/null
+++ b/testing/py3-docformatter/fix-tests.patch
@@ -0,0 +1,19 @@
+diff --git a/tests/_data/string_files/do_format_code.toml b/tests/_data/string_files/do_format_code.toml
+index 5d886f3..794431e 100644
+--- a/tests/_data/string_files/do_format_code.toml
++++ b/tests/_data/string_files/do_format_code.toml
+@@ -43,3 +43,3 @@ outstring='''
+ """docstring for CONST."""
+-'''
++ '''
+
+@@ -60,3 +60,3 @@ outstring='''
+ """
+-'''
++ '''
+
+@@ -86,3 +86,3 @@ outstring='''
+ """This is a second class variable docstring."""
+-'''
++ '''
+
diff --git a/testing/py3-docstring-to-markdown/APKBUILD b/testing/py3-docstring-to-markdown/APKBUILD
deleted file mode 100644
index 5317c12a571..00000000000
--- a/testing/py3-docstring-to-markdown/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-docstring-to-markdown
-_pyname=docstring-to-markdown
-pkgver=0.10
-pkgrel=1
-pkgdesc="On the fly conversion of Python docstrings to markdown"
-url="https://github.com/krassowski/docstring-to-markdown"
-arch="noarch"
-license="LGPL-2.1-only"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="$_pyname-$pkgver.tar.gz::https://github.com/krassowski/docstring-to-markdown/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="." pytest -c /dev/null tests
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-cb716fbaa8311bd563f9275eb64bb67d2870803a6c6c6ffce7b15b672260b46359008dc9ff80a99fee3033f3105fdfd77d7a248e7d8a22df695af820eba8e319 docstring-to-markdown-0.10.tar.gz
-"
diff --git a/testing/py3-dogpile.cache/APKBUILD b/testing/py3-dogpile.cache/APKBUILD
index 53696d1e837..dc159859934 100644
--- a/testing/py3-dogpile.cache/APKBUILD
+++ b/testing/py3-dogpile.cache/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
pkgname=py3-dogpile.cache
_pkgname=dogpile.cache
-pkgver=1.1.4
-pkgrel=0
+pkgver=1.2.2
+pkgrel=1
pkgdesc="Caching front-end based on the Dogpile lock"
url="https://github.com/sqlalchemy/dogpile.cache"
arch="noarch"
@@ -11,6 +11,7 @@ license="BSD-3-Clause"
depends="python3 py3-decorator"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-pbr py3-mako py3-redis py3-stevedore"
+subpackages="$pkgname-pyc"
source="https://pypi.io/packages/source/d/dogpile.cache/dogpile.cache-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -23,9 +24,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-d70f0ad1097f7de5bc887cfd0835f02a10bd6096433d39e6fe2fad5ed294f019ee043ced670c08bacb8ad1f6cf32ada36a62149a9b6db6205e72f49fa68bf4c4 dogpile.cache-1.1.4.tar.gz
+23b078b79e4b1f87c8d397d35b772f0b5fee66a0e452de06e7644ecb1ef577ae1629307a0e32fa62f49d536f95fb62fe70ededeb43647fa0c2e0baf896261931 dogpile.cache-1.2.2.tar.gz
"
diff --git a/testing/py3-doit/APKBUILD b/testing/py3-doit/APKBUILD
index 980f06cde43..bdaff8f2498 100644
--- a/testing/py3-doit/APKBUILD
+++ b/testing/py3-doit/APKBUILD
@@ -2,16 +2,15 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-doit
_pkgname=doit
-pkgver=0.33.1
-pkgrel=2
+pkgver=0.36.0
+pkgrel=4
pkgdesc="A Python Automation Tool"
url="https://pydoit.org/"
-# aarch64: Fails to find py3-inotify
-# mips64: Fails to find py3-cloudpickle
-arch="noarch !aarch64 !mips64"
+arch="noarch"
license="MIT"
-depends="py3-cloudpickle py3-inotify py3-six"
+depends="py3-importlib-metadata py3-cloudpickle python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,8 +21,14 @@ build() {
python3 setup.py build
}
+check() {
+ PYTHONPATH=build/lib python3 -m doit --version
+}
+
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="852efa3b770ec5de7def1fad1167b8cdce1de7435b2ba5e4af43a84c84df0cbf960d8d5c4c9f526f303d19c7536f745c2c7700daaced984ec86fb4202f894170 doit-0.33.1.tar.gz"
+sha512sums="
+d4caa31701755c7f59213dde0f89fd3616c0c01b7f06245cbfd9f1a315d503e62f3556c3b86685cd0ebfcffcc9cae0987ca150f037aa7b3cd960439a1191be42 doit-0.36.0.tar.gz
+"
diff --git a/testing/py3-dominate/APKBUILD b/testing/py3-dominate/APKBUILD
index b54d0f4f138..55c11929134 100644
--- a/testing/py3-dominate/APKBUILD
+++ b/testing/py3-dominate/APKBUILD
@@ -1,28 +1,36 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-dominate
-pkgver=2.6.0
-pkgrel=2
+pkgver=2.9.1
+pkgrel=1
pkgdesc="Library for creating and manipulating HTML documents using an elegant DOM API"
url="https://github.com/Knio/dominate/"
arch="noarch"
license="LGPL-3.0-only"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-installer py3-wheel"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/Knio/dominate/archive/$pkgver.tar.gz"
builddir="$srcdir/dominate-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- py.test-3
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="ce32146ab105b5f53e5b1281d3da1166d5704c6972ff294cdb8ecfa69bc88ec49c62998e9e3e58f303389cb6002ae6042e956037a521b118de2d6de35ea712af py3-dominate-2.6.0.tar.gz"
+sha512sums="
+d13b3fcc22176b2ad0c393887b6b3fa896252f9c4126a017eb696a973c05090cbbf0b0437495761987e1f08b76d0e2901d06c61b02b6b20a4aac652ec2867297 py3-dominate-2.9.1.tar.gz
+"
diff --git a/testing/py3-dotty-dict/APKBUILD b/testing/py3-dotty-dict/APKBUILD
index c6f26ce04d8..7e3f260af12 100644
--- a/testing/py3-dotty-dict/APKBUILD
+++ b/testing/py3-dotty-dict/APKBUILD
@@ -1,15 +1,16 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-dotty-dict
-pkgver=1.3.0
-pkgrel=2
+pkgver=1.3.1
+pkgrel=3
pkgdesc="Dictionary wrapper for quick access to deeply nested keys"
url="https://github.com/pawelzny/dotty_dict"
arch="noarch"
license="MIT"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-setuptools_scm"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/pawelzny/dotty_dict/archive/v$pkgver.tar.gz"
builddir="$srcdir/dotty_dict-$pkgver"
@@ -24,7 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="97c99813335c0312528e4779dc60c882cdb5daa257e88241a9d7d6708c5056f553251a47238fd17baa62169a9f6d5cd659c9f610b9ea0f9bb35fdad48a4ddd89 py3-dotty-dict-1.3.0.tar.gz"
+sha512sums="
+a70cc8a7d8d60c918dc735d7ae2675f20f9558be75c7ae2b124597e35eac1dad47f3733774ce782854bc98665f515d5d8d1e0b26d8f0ba4e4a107ab95933d59f py3-dotty-dict-1.3.1.tar.gz
+"
diff --git a/testing/py3-dpath/APKBUILD b/testing/py3-dpath/APKBUILD
index 15f3163bd9f..2cc9ce281dd 100644
--- a/testing/py3-dpath/APKBUILD
+++ b/testing/py3-dpath/APKBUILD
@@ -2,17 +2,18 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-dpath
_pkgname=dpath
-pkgver=2.0.5
-pkgrel=0
+pkgver=2.1.6
+pkgrel=1
pkgdesc="Filesystem-like pathing and searching for dictionaries"
-url="https://www.github.com/akesterson/dpath-python"
+url="https://github.com/dpath-maintainers/dpath-python"
arch="noarch"
license="MIT"
replaces="py-dpath" # for backwards compatibility
provides="py-dpath=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
makedepends="py3-setuptools"
-checkdepends="py3-hypothesis py3-mock py3-nose py3-pytest"
+checkdepends="py3-hypothesis py3-mock py3-nose2 py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -26,9 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-592a7d1fb1227b26802ee2c4579f39b8957cc487008514817c20326365e26205b505dbf2c227110503a5066b5a9197b231e1168890262c3c4387094cda1da970 dpath-2.0.5.tar.gz
+2f2dac39b6e1ad2effd8d61ac4acf6619205423389ecebc54061aa10ec11ce3236ea666b632a7dca349e9b7a6579815c97e01c930eaa1a99d965e37b9825b82c dpath-2.1.6.tar.gz
"
diff --git a/testing/py3-drf-yasg/APKBUILD b/testing/py3-drf-yasg/APKBUILD
index 1a89d12397b..67d2e2e438a 100644
--- a/testing/py3-drf-yasg/APKBUILD
+++ b/testing/py3-drf-yasg/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer:
pkgname=py3-drf-yasg
-pkgver=1.20.0
+pkgver=1.21.7
pkgrel=1
pkgdesc="Automated generation of real Swagger/OpenAPI 2.0 schemas from Django Rest Framework code"
options="!check" # Missing dependencies
@@ -9,10 +9,11 @@ url="https://pypi.org/project/drf-yasg/"
arch="noarch"
license="BSD-3-Clause"
depends="py3-django py3-coreschema py3-ruamel.yaml py3-inflection
- py3-six py3-uritemplate py3-coreapi"
+ py3-uritemplate"
makedepends="py3-setuptools py3-setuptools_scm py3-pbr"
# Requires unpackaged datadiff pytest-pythonpath pytest-django
checkdepends="py3-pytest py3-pytest-cov py3-pytest-xdist"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/axnsan12/drf-yasg/archive/$pkgver.tar.gz"
builddir="$srcdir"/drf-yasg-$pkgver
@@ -25,10 +26,9 @@ build() {
}
package() {
- python3 setup.py --quiet install --prefix=/usr --root="$pkgdir"
+ python3 setup.py --quiet install --skip-build --root="$pkgdir"
}
-
sha512sums="
-ad16d90b4640cd419cdc9698bdf898161d49b6910b23920237cf77c52baa8e3e7ac21193c6e03cc3dec7f9e4d1651a1fe070d6680c5c4c5df44bdd103ddb32c3 py3-drf-yasg-1.20.0.tar.gz
+4db6daea8e5c0b3179c1a0146f65ad16feb82d5bbd4220108f1cf6256d160a65e0a4a6831d88aba6991fa4558bea62c7f1cd911cf51ca1f91a940e4fe5202727 py3-drf-yasg-1.21.7.tar.gz
"
diff --git a/testing/py3-dt-schema/APKBUILD b/testing/py3-dt-schema/APKBUILD
index b4880cef68b..eb9d144c300 100644
--- a/testing/py3-dt-schema/APKBUILD
+++ b/testing/py3-dt-schema/APKBUILD
@@ -1,29 +1,61 @@
-# Contributor: Iskren Chernev <iskren.chernev@gmail.com>
-# Maintainer: Iskren Chernev <iskren.chernev@gmail.com>
+# Contributor: Iskren Chernev <me@iskren.info>
+# Maintainer: Iskren Chernev <me@iskren.info>
pkgname=py3-dt-schema
-pkgver=2021.12
-pkgrel=0
+pkgver=2024.02
+pkgrel=1
pkgdesc="Devicetree schema tools"
url="https://github.com/devicetree-org/dt-schema"
arch="noarch"
license="BSD-2-Clause"
-depends="python3 py3-ruamel.yaml py3-jsonschema py3-rfc3987"
-makedepends="py3-setuptools py3-setuptools_scm"
+depends="python3 py3-ruamel.yaml py3-jsonschema417 py3-rfc3987 py3-libfdt"
+makedepends="py3-setuptools py3-setuptools_scm py3-wheel py3-gpep517 py3-installer"
+checkdepends="dtc"
+subpackages="$pkgname-pyc"
source="dt-schema-$pkgver.tar.gz::https://github.com/devicetree-org/dt-schema/archive/v$pkgver.tar.gz"
builddir="$srcdir/dt-schema-$pkgver"
+options="net"
-build() {
- SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" python3 setup.py build
+prepare() {
+ default_prepare
+ {
+ find dtschema -name '*.py'
+ find test -name '*.py'
+ find tools -type f
+ } | while read -r file; do
+ sed -i \
+ -e 's/import jsonschema$/import jsonschema417 as jsonschema/' \
+ -e 's/from jsonschema/from jsonschema417/' \
+ "$file"
+ done
+ sed -i 's/jsonschema/jsonschema417/' pyproject.toml
+ # The project uses setuptools_scm, which handles adding the schema
+ # files to the package, but there is no SCM here..
+ {
+ echo '[tools.setuptools.package.find]'
+ echo 'where=["."]'
+ } >> pyproject.toml
+ echo "recursive-include dtschema/*schemas *.yaml" > MANIFEST.in
}
-package() {
- SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" python3 setup.py install --prefix=/usr --root="$pkgdir"
+build() {
+ SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" \
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH=. python3 test/test-dt-validate.py
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 test/test-dt-validate.py
+}
+
+package() {
+ SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" \
+ python3 -m installer -d "$pkgdir" \
+ .dist/dtschema-*-py3-none-any.whl
}
sha512sums="
-1eb6997a660aefefe07fe40f6966adbcb92853c71504e02fef63cfc5eee4fb6abb1257bf4d1fc798b4874da94bc029997abcf7bc338aedc881b152449b88646c dt-schema-2021.12.tar.gz
+9d1bb062541ea422e6551fed7fa2d5a7e80e7af2cad4ac66ea0f3b3f6bd4e15fbc7b27052556a61b32c35044fde6339b01a7b6679a314f9b17cc29a7a6f02cab dt-schema-2024.02.tar.gz
"
diff --git a/testing/py3-dunamai/APKBUILD b/testing/py3-dunamai/APKBUILD
new file mode 100644
index 00000000000..6ecc5942e75
--- /dev/null
+++ b/testing/py3-dunamai/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-dunamai
+pkgver=1.20.0
+pkgrel=0
+pkgdesc="Dynamic versioning library and CLI"
+url="https://github.com/mtkennerly/dunamai"
+arch="noarch"
+license="MIT"
+depends="py3-packaging"
+makedepends="py3-gpep517 py3-poetry-core py3-wheel py3-installer"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/mtkennerly/dunamai/releases/download/v$pkgver/dunamai-$pkgver.tar.gz"
+builddir="$srcdir/dunamai-$pkgver"
+options="!check" # tests require a git repo
+
+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="
+ec29e737203034178387a8b11cb82f331cf5094d43e3d5934cef8551b8a979df7774613271312d2a8db6a721e37b004d493aa466aa414748e5fd0a1dd71e733b dunamai-1.20.0.tar.gz
+"
diff --git a/testing/py3-duniterpy/APKBUILD b/testing/py3-duniterpy/APKBUILD
new file mode 100644
index 00000000000..ee61634bd9a
--- /dev/null
+++ b/testing/py3-duniterpy/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Eloi Torrents <eloitor@duck.com>
+# Maintainer: Eloi Torrents <eloitor@duck.com>
+pkgname=py3-duniterpy
+_pkgname=duniterpy
+pkgver=1.1.1
+pkgrel=3
+pkgdesc="Python APIs library to implement Duniter clients software"
+url="https://git.duniter.org/clients/python/duniterpy"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ attr
+ python3
+ py3-aiohttp
+ py3-attrs
+ py3-base58
+ py3-jsonschema
+ py3-libnacl
+ py3-pyaes
+ py3-pypeg2
+ py3-scrypt
+ py3-websocket-client
+ "
+makedepends="py3-build py3-wheel py3-installer poetry libsodium-dev"
+checkdepends="py3-pytest"
+source="https://git.duniter.org/clients/python/$_pkgname/-/archive/$pkgver/$_pkgname-$pkgver.tar.gz
+ Remove_empty_homepage_field_from_pyproject.patch
+ Support_py3-libnacl_1.9.0.patch
+ "
+builddir="$srcdir/"$_pkgname-$pkgver
+
+build() {
+ python -m build --wheel --no-isolation
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 -m installer --destdir="$pkgdir" dist/*.whl
+}
+
+sha512sums="
+4fd702f37d65c83ce907c90dde8fe2d55a47c9b19624f9f48a5bb988bf11c62cf56092a0fd61cae91225b42afb7784739ab2a9c14577e0fa275b97c21f312608 duniterpy-1.1.1.tar.gz
+b85743c269fff452d71016059c287a4b12f6442d29c06481ac5c9604b20a88887d5d7806058fc99c6471bc57dc866102ee8d5319e7aa89bd24fe2ada873cc0f2 Remove_empty_homepage_field_from_pyproject.patch
+b0b71d291898be989e6a74ea0ec75942fdea5e089c022b42f7a6751de2911699998cc84fc48bca80ce5829caae9dc137266e43f19be573e239fa3ce7d7dc8066 Support_py3-libnacl_1.9.0.patch
+"
diff --git a/testing/py3-duniterpy/Remove_empty_homepage_field_from_pyproject.patch b/testing/py3-duniterpy/Remove_empty_homepage_field_from_pyproject.patch
new file mode 100644
index 00000000000..a89205ec332
--- /dev/null
+++ b/testing/py3-duniterpy/Remove_empty_homepage_field_from_pyproject.patch
@@ -0,0 +1,12 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index c2a9b4d190c7c92caba8784d3fa5975646e7260e..5b2d3789f76e857846455cdcf64518d067d913a0 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -7,7 +7,6 @@ authors = ["inso <insomniak.fr@gmail.com>", "canercandan", "s_b"]
+ maintainers = ["vit <vit@free.fr>", "Moul <moul@moul.re>"]
+ readme = "README.md"
+ license = "GPL-3.0-or-later"
+-homepage = ""
+ repository = "https://git.duniter.org/clients/python/duniterpy"
+ documentation = "https://clients.pages.duniter.org/python/duniterpy/index.html"
+ urls = { Changelog = "https://git.duniter.org/clients/python/duniterpy/-/blob/main/CHANGELOG.md" }
diff --git a/testing/py3-duniterpy/Support_py3-libnacl_1.9.0.patch b/testing/py3-duniterpy/Support_py3-libnacl_1.9.0.patch
new file mode 100644
index 00000000000..c2a9b8841d4
--- /dev/null
+++ b/testing/py3-duniterpy/Support_py3-libnacl_1.9.0.patch
@@ -0,0 +1,25 @@
+diff --git a/duniterpy/key/ascii_armor.py b/duniterpy/key/ascii_armor.py
+index 9ab3efe47b0224179926f04bc3c2be03674fbccd..84b8c68335d83dad70d8e61a7b013d6a830c6047 100644
+--- a/duniterpy/key/ascii_armor.py
++++ b/duniterpy/key/ascii_armor.py
+@@ -14,11 +14,11 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ import base64
++import importlib.metadata
+ import re
+ from typing import Any, Dict, List, Optional
+
+ import libnacl
+-from libnacl.version import version as libnacl_version
+
+ from .encryption_key import PublicKey
+ from .signing_key import SigningKey
+@@ -33,6 +33,7 @@ HEADER_PREFIX = "-----"
+ DASH_ESCAPE_PREFIX = "\x2D\x20"
+
+ # Version field value
++libnacl_version = importlib.metadata.version("libnacl")
+ VERSION_FIELD_VALUE = f"Python Libnacl {libnacl_version}"
+
+ # Parser cursor status
diff --git a/testing/py3-duviz/APKBUILD b/testing/py3-duviz/APKBUILD
deleted file mode 100644
index 9a7b003275b..00000000000
--- a/testing/py3-duviz/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=py3-duviz
-pkgver=3.1.0
-pkgrel=2
-pkgdesc="A command-line tool to visualize disk space usage."
-url="https://github.com/soxofaan/duviz"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="$pkgname-$pkgver.tar.gz::https://github.com/soxofaan/duviz/archive/v$pkgver.tar.gz"
-builddir="$srcdir/duviz-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 -m pytest -v
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="58b2256154640658de6dd1c12ebd77c46adc1cc62cc397412d416171dd71c98123b39c801edfd53a01b492a0542acf23037005cf764bd71d7811a40a0175992f py3-duviz-3.1.0.tar.gz"
diff --git a/testing/py3-dweepy/APKBUILD b/testing/py3-dweepy/APKBUILD
index f9d33bdcda1..a6dc125ce22 100644
--- a/testing/py3-dweepy/APKBUILD
+++ b/testing/py3-dweepy/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-dweepy
_pkgname=dweepy
pkgver=0.3.0
-pkgrel=3
+pkgrel=7
pkgdesc="A Python client for Dweet.io"
url="https://github.com/paddycarey/dweepy"
arch="noarch"
license="MIT"
depends="py3-requests"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-dweepy" # Backwards compatibility
+replaces="py-dweepy" # Backwards compatibility
provides="py-dweepy=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="f190c40bbcfdbaa516fff3d2f91dc58bf8ed71096385a74476c2e1c13cfafc32c0c24645801b3fdb5116a80807b0150a4a4b0976ebf499b4fa51ebf9a5ac797e dweepy-0.3.0.tar.gz"
diff --git a/testing/py3-ecos/APKBUILD b/testing/py3-ecos/APKBUILD
new file mode 100644
index 00000000000..b99ad2306aa
--- /dev/null
+++ b/testing/py3-ecos/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=py3-ecos
+pkgver=2.0.11
+pkgrel=3
+pkgdesc="python interface for ECOS"
+url="https://github.com/embotech/ecos-python"
+arch="all"
+license="GPL-3.0-only"
+depends="py3-numpy py3-scipy ecos"
+makedepends="py3-setuptools ecos-dev py3-numpy-dev python3-dev"
+checkdepends="py3-nose"
+subpackages="$pkgname-pyc"
+source="ecos-python-$pkgver.tar.gz::https://github.com/embotech/ecos-python/archive/refs/tags/v$pkgver.tar.gz
+ use_external_ecos.patch
+ "
+builddir="$srcdir/ecos-python-$pkgver"
+options="!check" # cannot get checks to pass
+
+build() {
+ make version
+ python3 setup.py build
+}
+
+check() {
+ python setup.py build_ext --inplace
+ nosetests
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+30ee09ca02f8b2c4b308917f766bd82df62e78737f3a4f7490c89add45473606c1aad431073445d47e488553a8f34642e680c5c98b034c56df15033d3a298180 ecos-python-2.0.11.tar.gz
+671bea0c1eadf6fe67a632af6598bc1bc48fbe2ddbdc4439f6bcc52636a9a5b43e7f1c5b7a384a737088a16f69ca3835048b562eeb4c6894a52f381d759ec6c9 use_external_ecos.patch
+"
diff --git a/testing/py3-ecos/use_external_ecos.patch b/testing/py3-ecos/use_external_ecos.patch
new file mode 100644
index 00000000000..eee5fcc2e56
--- /dev/null
+++ b/testing/py3-ecos/use_external_ecos.patch
@@ -0,0 +1,44 @@
+Author: Guillaume Horel <guillaume.horel@gmail.com>
+URL: https://aur.archlinux.org/packages/python-ecos/
+Summary: Allows us to compile ecos as a seperate package and install.
+----
+diff -urN ecos-python-2.0.7rc2-orig/setup.py ecos-python-2.0.7rc2/setup.py
+--- ecos-python-2.0.7rc2-orig/setup.py 2018-05-23 22:16:42.967677526 -0400
++++ ecos-python-2.0.7rc2/setup.py 2018-05-23 22:17:41.981221901 -0400
+@@ -9,7 +9,7 @@
+ from glob import glob
+ from platform import system
+
+-lib = []
++lib = ['ecos']
+ if system() == 'Linux':
+ lib += ['rt']
+
+@@ -21,25 +21,8 @@
+ ('DLONG', None),
+ ('LDL_LONG', None),
+ ('CTRLC', 1)],
+- include_dirs = ['ecos/include',
+- 'ecos/external/amd/include',
+- 'ecos/external/ldl/include',
+- 'ecos/external/SuiteSparse_config'],
+- sources = ['src/ecosmodule.c',
+- 'ecos/external/ldl/src/ldl.c',
+- 'ecos/src/cone.c',
+- 'ecos/src/ctrlc.c',
+- 'ecos/src/ecos.c',
+- 'ecos/src/equil.c',
+- 'ecos/src/expcone.c',
+- 'ecos/src/kkt.c',
+- 'ecos/src/preproc.c',
+- 'ecos/src/spla.c',
+- 'ecos/src/splamm.c',
+- 'ecos/src/timer.c',
+- 'ecos/src/wright_omega.c'
+- ] + glob('ecos/external/amd/src/*.c')
+- + glob('ecos/ecos_bb/*.c')) # glob bb source files
++ include_dirs = ['/usr/include/ecos'],
++ sources = ['src/ecosmodule.c'])
+
+ def set_builtin(name, value):
+ if isinstance(__builtins__, dict):
diff --git a/testing/py3-editdistance-s/APKBUILD b/testing/py3-editdistance-s/APKBUILD
index 8a43a3276d5..1296732ca68 100644
--- a/testing/py3-editdistance-s/APKBUILD
+++ b/testing/py3-editdistance-s/APKBUILD
@@ -3,15 +3,16 @@
pkgname=py3-editdistance-s
_pyname=editdistance-s
pkgver=1.0.0
-pkgrel=1
+pkgrel=5
pkgdesc="Fast implementation of the edit distance"
-url="https://github.com/asottile/editdistance-s"
+url="https://github.com/asottile-archive/editdistance-s"
arch="all"
license="MIT"
depends="python3 py3-cffi"
makedepends="py3-setuptools python3-dev"
checkdepends="py3-pytest"
-source="$_pyname-$pkgver.tar.gz::https://github.com/asottile/editdistance-s/archive/refs/tags/v$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="$_pyname-$pkgver.tar.gz::https://github.com/asottile-archive/editdistance-s/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
build() {
@@ -23,7 +24,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-empy/APKBUILD b/testing/py3-empy/APKBUILD
index f6faaac333b..95ffded5fd5 100644
--- a/testing/py3-empy/APKBUILD
+++ b/testing/py3-empy/APKBUILD
@@ -3,12 +3,14 @@
pkgname=py3-empy
_pkgname=empy
pkgver=3.3.4
-pkgrel=3
+pkgrel=6
pkgdesc="A powerful and robust templating system for Python."
url="http://www.alcyone.com/software/empy/"
arch="noarch"
license="LGPL-2.1-or-later"
depends="python3"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="http://www.alcyone.com/software/empy/empy-$pkgver.tar.gz
10-fix-test-case.patch
20-fix-setuppy.patch
@@ -24,7 +26,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="5de8de26484468d180a2575bfc8302cb3d32004ed4d70768310b7564a9ed1bb880b8c1d862f419588b2b5baa8c3da8bc707eac41f3921e6136cc5bc3f47f1a3d empy-3.3.4.tar.gz
diff --git a/testing/py3-enzyme/APKBUILD b/testing/py3-enzyme/APKBUILD
index 408f518292c..a19ddcfc65b 100644
--- a/testing/py3-enzyme/APKBUILD
+++ b/testing/py3-enzyme/APKBUILD
@@ -3,15 +3,15 @@
pkgname=py3-enzyme
_pkgname=enzyme
pkgver=0.4.1
-pkgrel=0
+pkgrel=4
pkgdesc="Python module to parse video metadata"
url="https://github.com/Diaoul/enzyme"
arch="noarch"
license="Apache-2.0"
-depends="python3"
-makedepends="py3-setuptools"
+depends="py3-setuptools"
checkdepends="py3-pytest py3-requests py3-yaml"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Diaoul/enzyme/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
@@ -23,7 +23,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
456f3ee8b9f0b218451dc455acba7365c0ab12ae0e43df72cb4f748a29ac8fe12c14a48913681e29de355d297ec219bc9288d09acdec228fee9bbab85b5e048b py3-enzyme-0.4.1.tar.gz
diff --git a/testing/py3-eradicate/APKBUILD b/testing/py3-eradicate/APKBUILD
index 18e071001d2..3003a9ed866 100644
--- a/testing/py3-eradicate/APKBUILD
+++ b/testing/py3-eradicate/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Rejah Rehim <rejah@beaglesecurity.com>
pkgname=py3-eradicate
_pkgname=eradicate
-pkgver=2.0.0
+pkgver=2.3.0
pkgrel=1
pkgdesc="Removes commented-out code"
options="!check" # no test suite
@@ -11,7 +11,7 @@ arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/e/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -20,10 +20,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -Dm644 README.rst -t "$pkgdir"/usr/share/doc/"$pkgname"
}
sha512sums="
-ca786e128dc7a27d0070a8e4e888aaa79a989fd8c0de2d7fb528ab1e6f5d127a1778c6decf7a6d96be030d15065a021b23b1d51505fcdaf776af9bf4876d8028 eradicate-2.0.0.tar.gz
+3b2498277e8aa6e36f1dbab0731b28d22034b95564c300e067151fe5a6c8f124661f169e43290a57950588fcd8c8f27b990755bdba7e28afcc0fee6b82c1c07f eradicate-2.3.0.tar.gz
"
diff --git a/testing/py3-euclid3/APKBUILD b/testing/py3-euclid3/APKBUILD
index e6c0da0b84a..2fe23088eb5 100644
--- a/testing/py3-euclid3/APKBUILD
+++ b/testing/py3-euclid3/APKBUILD
@@ -1,7 +1,8 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Contributor: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
pkgname=py3-euclid3
pkgver=0.01
-pkgrel=3
+pkgrel=7
pkgdesc="Vector, matrix, quaternion and some geometry in 2D and 3D for Python 3"
url="https://github.com/euclid3/euclid3"
arch="noarch"
@@ -10,11 +11,10 @@ depends="python3"
makedepends="
py3-setuptools
"
-_pyname="euclid3"
-_pypiprefix="${_pyname%${_pyname#?}}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/e/euclid3/euclid3-$pkgver.tar.gz"
builddir="$srcdir/euclid3-$pkgver"
-options="!check" # Version 0.01 contains no tests :-/
+options="!check" # no tests
build() {
python3 setup.py build
@@ -25,6 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="c4e5e2770ab4ede08904fc3b76e50d6812944ed226c9db52f2da8d100370e20ea6031ca554ae44d72d53e96727d163bd3cc8da7bf175539de10749da77877b0b euclid3-0.01.tar.gz"
+
+sha512sums="
+c4e5e2770ab4ede08904fc3b76e50d6812944ed226c9db52f2da8d100370e20ea6031ca554ae44d72d53e96727d163bd3cc8da7bf175539de10749da77877b0b euclid3-0.01.tar.gz
+"
diff --git a/testing/py3-eventlet/APKBUILD b/testing/py3-eventlet/APKBUILD
index 7c4c35616a5..f12f4a5f38c 100644
--- a/testing/py3-eventlet/APKBUILD
+++ b/testing/py3-eventlet/APKBUILD
@@ -1,18 +1,26 @@
-# Maintainer: Elizabeth Jennifer Myers <elizabeth@sporksirc.net>
# Contributor: Elizabeth Jennifer Myers <elizabeth@sporksirc.net>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-eventlet
-pkgver=0.33.0
+pkgver=0.36.1
pkgrel=0
pkgdesc="Python library for seamless coroutine-based concurrency"
url="https://eventlet.net/"
arch="noarch"
license="MIT"
-depends="python3 py3-greenlet py3-openssl py3-six py3-dnspython py3-monotonic py3-httplib2 py3-psycopg2"
-makedepends="py3-setuptools"
-checkdepends="py3-tox py3-nose"
-source="https://files.pythonhosted.org/packages/source/e/eventlet/eventlet-$pkgver.tar.gz
- skip-broken-tests.patch
+depends="
+ py3-dnspython
+ py3-greenlet
+ py3-httplib2
+ py3-openssl
+ py3-psycopg2
+ py3-six
+ python3
"
+makedepends="py3-hatchling py3-gpep517 py3-wheel py3-hatch-vcs"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/e/eventlet/eventlet-$pkgver.tar.gz"
+
builddir="$srcdir"/eventlet-$pkgver
# secfixes:
@@ -20,18 +28,23 @@ builddir="$srcdir"/eventlet-$pkgver
# - CVE-2021-21419
build() {
- python3 setup.py build
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- nosetests -sv tests
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --root "$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-52ef5c6997d0c8a3b55d5f6e969320e06950503984c90440b484020ba346d622ba99abf2bd389b962534849b0c70d80b06f110b2586417f27fb6dde725bfaef4 eventlet-0.33.0.tar.gz
-c01f0d89c9d681f30b68a78c9a980788637d42d450e89fab7f1ac83313e9f07fdcc94ca6fab0ae613445e8147b1e9a9389ab5b61cb0930ab643786ec61193681 skip-broken-tests.patch
+a13565588c570b8d57b7a8dc3c496e9d95fb3c5a8ce2c60560e532370522b852297cc5bfc7cb3ed80de7a6dca39f15effaf6b1b5498bd910ef278788cb7bc7bd eventlet-0.36.1.tar.gz
"
diff --git a/testing/py3-eventlet/skip-broken-tests.patch b/testing/py3-eventlet/skip-broken-tests.patch
deleted file mode 100644
index 17b017f6824..00000000000
--- a/testing/py3-eventlet/skip-broken-tests.patch
+++ /dev/null
@@ -1,55 +0,0 @@
---- a/tests/wsgi_test.py
-+++ b/tests/wsgi_test.py
-@@ -10,6 +10,8 @@
- import tempfile
- import traceback
-
-+from nose.tools import nottest
-+
- import eventlet
- from eventlet import debug
- from eventlet import event
-@@ -556,6 +558,7 @@
- self.assertEqual(1, len(
- [l for l in header_lines if l.lower().startswith(b'content-length')]))
-
-+ @nottest
- @tests.skip_if_no_ssl
- def test_017_ssl_zeroreturnerror(self):
-
-@@ -608,6 +608,7 @@
- self.assertEqual('keep-alive', result2.headers_lower['connection'])
- sock.close()
-
-+ @nottest
- def test_018b_http_10_keepalive_framing(self):
- # verify that if an http/1.0 client sends connection: keep-alive
- # that we don't mangle the request framing if the app doesn't read the request
---- a/tests/patcher_test.py
-+++ b/tests/patcher_test.py
-@@ -6,7 +6,9 @@
- import six
- import tests
-
-+from nose.tools import nottest
-
-+
- base_module_contents = """
- import socket
- import urllib
-@@ -476,6 +478,7 @@
- tests.run_isolated('patcher_existing_locks_late.py')
-
-
-+@nottest
- def test_patcher_existing_locks_locked():
- tests.run_isolated('patcher_existing_locks_locked.py')
-
-@@ -517,6 +518,7 @@
- tests.run_isolated('patcher_threadpoolexecutor.py')
-
-
-+@nottest
- def test_fork_after_monkey_patch():
- tests.run_isolated('patcher_fork_after_monkey_patch.py')
-
diff --git a/testing/py3-evohome-client/APKBUILD b/testing/py3-evohome-client/APKBUILD
index 83f3a2dac10..8ad1762efff 100644
--- a/testing/py3-evohome-client/APKBUILD
+++ b/testing/py3-evohome-client/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer:
pkgname=py3-evohome-client
-pkgver=0.3.3
+pkgver=0.3.7
pkgrel=3
pkgdesc="Python client to access the Evohome web service"
url="https://github.com/watchforstock/evohome-client"
@@ -10,6 +10,7 @@ license="Apache-2.0"
depends="python3 py3-requests"
makedepends="py3-setuptools"
checkdepends="py3-nose py3-requests-mock"
+subpackages="$pkgname-pyc"
source="evohome-client-$pkgver.tar.gz::https://github.com/watchforstock/evohome-client/archive/$pkgver.tar.gz"
builddir="$srcdir"/evohome-client-$pkgver
@@ -26,7 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="2f140f52c5b1236aeaecd27b16c0f490e0bbb361a07ef1e9e4ca14e856f840aa62f110c14f65bacf6f7eecb9282506aabf2c88378810c0db32557effe291e66c evohome-client-0.3.3.tar.gz"
+sha512sums="
+0ba4ea1c952425f453b8189759be6037be91af73bd2b8da91bb532745fc73a43b93fb2237ac8b39b86da9c2d196c0d9567f857aecb9984327d67e1b9f62d923e evohome-client-0.3.7.tar.gz
+"
diff --git a/testing/py3-ewmh/APKBUILD b/testing/py3-ewmh/APKBUILD
deleted file mode 100644
index 206ab458374..00000000000
--- a/testing/py3-ewmh/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=py3-ewmh
-pkgver=0.1.6
-pkgrel=2
-pkgdesc="Python implementation of Extended Window Manager Hints, based on Xlib"
-url="https://github.com/parkouss/pyewmh"
-arch="noarch"
-license="LGPL-3.0-or-later"
-depends="py3-xlib"
-makedepends="py3-setuptools"
-options="!check" # No testsuite
-source="$pkgname-$pkgver.tar.gz::https://github.com/parkouss/pyewmh/archive/v$pkgver.tar.gz"
-builddir="$srcdir/pyewmh-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install \
- --prefix=/usr \
- --root="$pkgdir" \
- --optimize=1
-}
-
-sha512sums="257d59c0927cec3cd75a6084cd484f1dcf9fa882719707078398d2a65e95e975ad9f6225ed1fd8ec1a29badbdc492c84eb4e04640cc6b480b31bc5ae8ab3f7c8 py3-ewmh-0.1.6.tar.gz"
diff --git a/testing/py3-fastapi/APKBUILD b/testing/py3-fastapi/APKBUILD
new file mode 100644
index 00000000000..e7f882347e0
--- /dev/null
+++ b/testing/py3-fastapi/APKBUILD
@@ -0,0 +1,66 @@
+# Contributor: Steven Guikal <void@fluix.one>
+# Maintainer: Steven Guikal <void@fluix.one>
+pkgname=py3-fastapi
+pkgver=0.108.0
+pkgrel=0
+pkgdesc="Modern, high-performance, web framework for building APIs based on standard Python type hints"
+url="https://github.com/tiangolo/fastapi"
+arch="noarch !armhf !ppc64le" # limited by py3-starlette
+license="MIT"
+depends="
+ py3-pydantic
+ py3-starlette
+ "
+makedepends="
+ py3-gpep517
+ py3-hatchling
+ py3-installer
+ "
+checkdepends="
+ py3-dirty-equals
+ py3-email-validator
+ py3-flask
+ py3-httpx
+ py3-orjson
+ py3-passlib
+ py3-peewee
+ py3-pytest
+ py3-pytest-xdist
+ py3-python-jose
+ py3-python-multipart
+ py3-sqlalchemy
+ py3-trio
+ py3-ujson
+ py3-yaml
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tiangolo/fastapi/archive/refs/tags/$pkgver.tar.gz
+ pytest-markers.patch
+ "
+builddir="$srcdir/fastapi-$pkgver"
+
+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
+ # Depends on older SQLAlchemy and slated for removal:
+ # https://github.com/tiangolo/fastapi/blob/dd4e78ca7b09abdf0d4646fe4697316c021a8b2e/requirements-tests.txt#L9
+ .testenv/bin/python3 -m pytest -p no:warnings \
+ --ignore-glob "tests/test_tutorial/*sql_databases" \
+ --ignore tests/test_dependency_normal_exceptions.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+c7f1b265c680e75e2654623e14c94d06fa880e219346d577c70bb070dbf15f424ebd4fa4450ce0e364dc4d794ba496dee8e24f20ff292ef6ee7f0eed2aee05a4 py3-fastapi-0.108.0.tar.gz
+854946e3e52460edfd84cd44e254659354171e88245f4134c7f943a07bf3b08455ad81c54f4c58c50f639aa7288e25d81711f3d7867bbe2d6c83844e2fdd9921 pytest-markers.patch
+"
diff --git a/testing/py3-fastapi/pytest-markers.patch b/testing/py3-fastapi/pytest-markers.patch
new file mode 100644
index 00000000000..58792ca7c8d
--- /dev/null
+++ b/testing/py3-fastapi/pytest-markers.patch
@@ -0,0 +1,12 @@
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -90,6 +90,9 @@
+ "--strict-markers",
+ "--ignore=docs_src",
+ ]
++markers = [
++ "filterwarnings",
++]
+ xfail_strict = true
+ junit_family = "xunit2"
+ filterwarnings = [
diff --git a/testing/py3-fastavro/APKBUILD b/testing/py3-fastavro/APKBUILD
index d9acd40605a..b9b0c4f3da1 100644
--- a/testing/py3-fastavro/APKBUILD
+++ b/testing/py3-fastavro/APKBUILD
@@ -1,24 +1,29 @@
-# Maintainer: Gennady Feldman <gena01@gmail.com>
+# Maintainer: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
# Contributor: Gennady Feldman <gena01@gmail.com>
+# Contributor: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
pkgname=py3-fastavro
_pkgname=fastavro
-pkgver=1.4.4
+pkgver=1.9.4
pkgrel=1
pkgdesc="Fast Avro for Python"
# Tests for optional zstd and snappy codecs require
# unpackaged python modules 'zstandard' and 'python-snappy'
options="!check"
url="https://github.com/fastavro/fastavro"
-arch="all !x86 !mips !mips64" # _tz_ tests fail, blocked by numpy on mips
+arch="all !x86" # _tz_ tests fail
license="MIT"
-depends="py3-six"
-makedepends="py3-setuptools python3-dev cython"
-checkdepends="py3-pytest py3-numpy"
+depends="python3"
+makedepends="py3-gpep517 py3-setuptools python3-dev cython py3-wheel"
+checkdepends="py3-pytest-xdist py3-numpy"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/fastavro/fastavro/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- FASTAVRO_USE_CYTHON=1 python3 setup.py build
+ FASTAVRO_USE_CYTHON=1 \
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
@@ -26,9 +31,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-352fc032156c9bd5b062843a10836d46a601876d87302c83230b040c47e8c66738500231aa94553e1bec097156c6ef2d43bc8f5ba4456c7c9b058f6f8eae54e3 py3-fastavro-1.4.4.tar.gz
+88a9d7dbf4c8870dda4c7c8265649c6c4e405d6cf5e10b39029e4ec1cd762237daae6d5b9a317886f21b71625fd73c401c7518168282b1f2d7b9c02fbb825931 py3-fastavro-1.9.4.tar.gz
"
diff --git a/testing/py3-fastdiff/APKBUILD b/testing/py3-fastdiff/APKBUILD
index 1061b3aec22..1a3135b84df 100644
--- a/testing/py3-fastdiff/APKBUILD
+++ b/testing/py3-fastdiff/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=py3-fastdiff
pkgver=0.3.0
-pkgrel=1
+pkgrel=4
pkgdesc="A fast native implementation of diff algorithm with a pure Python fallback"
url="https://github.com/syrusakbary/fastdiff"
arch="noarch"
@@ -13,6 +13,7 @@ makedepends="
py3-setuptools
"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://pypi.python.org/packages/source/f/fastdiff/fastdiff-$pkgver.tar.gz"
options="!check" # Requires unpackaged native modules
builddir="$srcdir/fastdiff-$pkgver"
@@ -26,7 +27,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-feedgen/APKBUILD b/testing/py3-feedgen/APKBUILD
new file mode 100644
index 00000000000..4b2e8b9af93
--- /dev/null
+++ b/testing/py3-feedgen/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Thomas Faughnan <thomas@faughnan.net>
+pkgname=py3-feedgen
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Python module to generate ATOM feeds, RSS feeds and Podcasts"
+url="https://github.com/lkiesow/python-feedgen"
+arch="noarch"
+license="BSD-2-Clause AND LGPL-3.0-or-later"
+depends="
+ py3-dateutil
+ py3-lxml
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/lkiesow/python-feedgen/archive/v$pkgver/python-feedgen-$pkgver.tar.gz"
+builddir="$srcdir/python-feedgen-$pkgver"
+
+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 unittest discover tests
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+f21704f7f4714e51c9b7b1d98f71db041426e01039f4d85439ee0623b77575293f3efd6fdb7b6609f67e0a868863b15169f91cef3a3c16542182ecf9409eb524 python-feedgen-1.0.0.tar.gz
+"
diff --git a/testing/py3-feedgenerator/APKBUILD b/testing/py3-feedgenerator/APKBUILD
index 6bc7d2c6860..193885b59e8 100644
--- a/testing/py3-feedgenerator/APKBUILD
+++ b/testing/py3-feedgenerator/APKBUILD
@@ -2,14 +2,16 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-feedgenerator
_pkgname=feedgenerator
-pkgver=1.9.2
+pkgver=2.1.0
pkgrel=1
pkgdesc="A Python feed generator"
url="https://github.com/getpelican/feedgenerator"
arch="noarch"
license="BSD-3-Clause"
-depends="py3-six py3-tz"
+depends="python3 py3-tz"
makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -25,9 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-3f9799a8008cf456635bacce87699c3fa00ac990ed675a92dbdccf898fd189c8908109a27bb393e9f25bda7f880c66c40fc3d1179d09e579be8125c70bf1b7a9 feedgenerator-1.9.2.tar.gz
+b8b41f5b256130166c8dba34dd950782f9acb506e3e37a2fe13b5e1f9d33f7d39b7f862e446f4f6f2f480973617feb70303f78a4fb6741f110166e61b92f0075 feedgenerator-2.1.0.tar.gz
"
diff --git a/testing/py3-ffmpeg/APKBUILD b/testing/py3-ffmpeg/APKBUILD
new file mode 100644
index 00000000000..d83a41b975f
--- /dev/null
+++ b/testing/py3-ffmpeg/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=py3-ffmpeg
+_pkgname=ffmpeg-python
+pkgver=0.2.0
+pkgrel=3
+pkgdesc="Python bindings for FFmpeg"
+url="https://github.com/kkroening/ffmpeg-python"
+arch="noarch"
+license="Apache-2.0"
+depends="ffmpeg py3-future"
+makedepends="py3-setuptools"
+options="!check" # test fails
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kkroening/ffmpeg-python/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+prepare() {
+ default_prepare
+ sed -e '/pytest-runner/d' -i setup.py
+}
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+933ed958d61536bbbc0e0b08e19521c4b1f7df1cfe97de0b3d149a2748c5bd74915a3134861e8ecb1f92d5860315228b76aefcd087fcf07e188a56c651f5e301 py3-ffmpeg-0.2.0.tar.gz
+"
diff --git a/testing/py3-findpython/APKBUILD b/testing/py3-findpython/APKBUILD
new file mode 100644
index 00000000000..d941dbda3a2
--- /dev/null
+++ b/testing/py3-findpython/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-findpython
+pkgver=0.6.0
+pkgrel=1
+pkgdesc="Utility to find python versions on your system"
+url="https://github.com/frostming/findpython"
+arch="noarch"
+license="MIT"
+depends="py3-packaging"
+makedepends="py3-gpep517 py3-installer py3-pdm-backend"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/frostming/findpython/archive/$pkgver/py3-findpython-$pkgver.tar.gz"
+builddir="$srcdir/findpython-$pkgver"
+
+build() {
+ export PDM_BUILD_SCM_VERSION=$pkgver
+ 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="
+e6651fe040042ca1f7b75fd8fed899be91fa5d3e51b898ff6e9cb59a0d0155a9cdc2af26321681d51326b7f7900c1048bc813aad7ad201269b8bb5a2775427c2 py3-findpython-0.6.0.tar.gz
+"
diff --git a/testing/py3-firmata/APKBUILD b/testing/py3-firmata/APKBUILD
index fdd5b55bf6b..4f6f265de38 100644
--- a/testing/py3-firmata/APKBUILD
+++ b/testing/py3-firmata/APKBUILD
@@ -3,14 +3,17 @@
pkgname=py3-firmata
_pkgname=pyFirmata
pkgver=1.0.3
-pkgrel=6
+pkgrel=9
pkgdesc="Python interface for the Firmata procotol"
url="https://github.com/tino/pyFirmata"
arch="noarch"
license="MIT"
depends="python3 py3-pyserial"
makedepends="py3-setuptools"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/tino/pyFirmata/archive/$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/tino/pyFirmata/archive/$pkgver.tar.gz
+ py311.patch
+ "
builddir="$srcdir/$_pkgname-$pkgver"
replaces=py-firmata # Backwards compatibility
@@ -25,7 +28,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="626da09ea543dd722129dd7156bb1ba185d40480689d3b0108d89a1a2c9361105822c57e50c39413d1a6ded08f20211b4606b2cb18f5a578c399fda6b00e6abb pyFirmata-1.0.3.tar.gz"
+sha512sums="
+626da09ea543dd722129dd7156bb1ba185d40480689d3b0108d89a1a2c9361105822c57e50c39413d1a6ded08f20211b4606b2cb18f5a578c399fda6b00e6abb pyFirmata-1.0.3.tar.gz
+95d990613c3338d1e7e81d846bd0a1343fbaae58b02fd641f8cc05ac25f0fac25a232ca18e8abda075f99ff83564174c09347f83aec0f14338f58b2feb0de6de py311.patch
+"
diff --git a/testing/py3-firmata/py311.patch b/testing/py3-firmata/py311.patch
new file mode 100644
index 00000000000..eba213aacbd
--- /dev/null
+++ b/testing/py3-firmata/py311.patch
@@ -0,0 +1,13 @@
+diff --git a/pyfirmata/pyfirmata.py b/pyfirmata/pyfirmata.py
+index 045efc4..06b0c9d 100755
+--- a/pyfirmata/pyfirmata.py
++++ b/pyfirmata/pyfirmata.py
+@@ -182,7 +182,7 @@ class Board(object):
+
+ def add_cmd_handler(self, cmd, func):
+ """Adds a command handler for a command."""
+- len_args = len(inspect.getargspec(func)[0])
++ len_args = len(inspect.getfullargspec(func)[0])
+
+ def add_meta(f):
+ def decorator(*args, **kwargs):
diff --git a/testing/py3-flake8-blind-except/APKBUILD b/testing/py3-flake8-blind-except/APKBUILD
index de92c4e53af..9f4b4e3962b 100644
--- a/testing/py3-flake8-blind-except/APKBUILD
+++ b/testing/py3-flake8-blind-except/APKBUILD
@@ -2,26 +2,33 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flake8-blind-except
_pkgname=flake8-blind-except
-pkgver=0.1.1
-pkgrel=3
+pkgver=0.2.1
+pkgrel=4
pkgdesc="Extension for flake8 which checks for blind except: statements"
options="!check" # No testsuite
url="https://github.com/elijahandrews/flake8-blind-except"
arch="noarch"
license="MIT"
depends="py3-flake8 py3-setuptools"
+makedepends="py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flake8-blind-except" # Backwards compatibility
+replaces="py-flake8-blind-except" # Backwards compatibility
provides="py-flake8-blind-except=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="3a74e626b87e570a079dd54ac4abbdabf2daa0b5bc64b8205f54747ddb8ce8dd4ded9dd3222307f879dcda8fc9aa47dcfacf401da27d7717888cd3d9691a0513 flake8-blind-except-0.1.1.tar.gz"
+sha512sums="
+0917df4610c6c25319f6382b92f8a2a67519b2a6266f43ae23ea2e44f0416f93cacdd7cc39bb69c817f608becf726839c81c93425ecf66ffb95b49eeb2e0145b flake8-blind-except-0.2.1.tar.gz
+"
diff --git a/testing/py3-flake8-builtins/APKBUILD b/testing/py3-flake8-builtins/APKBUILD
index a84b9ee45d4..f9a5e0bc0d4 100644
--- a/testing/py3-flake8-builtins/APKBUILD
+++ b/testing/py3-flake8-builtins/APKBUILD
@@ -1,27 +1,33 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flake8-builtins
-pkgver=1.5.3
-pkgrel=2
+pkgver=2.1.0
+pkgrel=3
pkgdesc="Extension for flake8 to check for builtins"
options="!check" # No testsuite
url="https://github.com/gforcada/flake8-builtins"
arch="noarch"
license="MIT"
depends="py3-flake8"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/f/flake8-builtins/flake8-builtins-$pkgver.tar.gz"
builddir="$srcdir"/flake8-builtins-$pkgver
-replaces="py-flake8-builtins" # Backwards compatibility
+replaces="py-flake8-builtins" # Backwards compatibility
provides="py-flake8-builtins=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="78f71bac92c8090e54b682684649a98101de6bfdb7d07717fb26c827cead7417ef27f23ed39afc086a19e9f587a0d7c6e86d95f0686d528af5c6594e863c111a flake8-builtins-1.5.3.tar.gz"
+sha512sums="
+66fc3c0740642a02a5b0e8cc4d65eb0e7469a66ccdd725a7f593de10f45f503f336e346fdaa6e8a557340724f5b8f47f18f5a381bd20d65cbadbbe4934a625a2 flake8-builtins-2.1.0.tar.gz
+"
diff --git a/testing/py3-flake8-commas/APKBUILD b/testing/py3-flake8-commas/APKBUILD
deleted file mode 100644
index f7b83804899..00000000000
--- a/testing/py3-flake8-commas/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-flake8-commas
-_pkgname=flake8-commas
-pkgver=2.0.0
-pkgrel=3
-pkgdesc="Extension for flake8 to enforce trailing commas"
-options="!check" # Uses flake8 not flake8-3 to run tests
-url="https://github.com/trevorcreech/flake8-commas"
-arch="noarch"
-license="MIT"
-depends="py3-flake8"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-flake8-commas" # Bacwards compatibility
-provides="py-flake8-commas=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="${PWD}/build/lib" py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="454190df8b8068731a8310db69a3b01944600a95d456b133d3746a7d9712cccd4c599b88ccd9b24d74f46843a14752b44c60084f6195e800c5b89891073823d7 flake8-commas-2.0.0.tar.gz"
diff --git a/testing/py3-flake8-copyright/APKBUILD b/testing/py3-flake8-copyright/APKBUILD
index 5436f2ac3e8..73c3bbcba2d 100644
--- a/testing/py3-flake8-copyright/APKBUILD
+++ b/testing/py3-flake8-copyright/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flake8-copyright
_pkgname=flake8-copyright
-pkgver=0.2.2
+pkgver=0.2.4
pkgrel=3
pkgdesc="Extension for flake8 which checks for copyrights"
options="!check" # No testsuite
@@ -10,18 +10,25 @@ url="https://github.com/savoirfairelinux/flake8-copyright"
arch="noarch"
license="MIT"
depends="py3-flake8 py3-setuptools"
+makedepends="py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flake8-copyright" # Backwards compatibility
+replaces="py-flake8-copyright" # Backwards compatibility
provides="py-flake8-copyright=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="8ade49f386e67d14e4b826946b947454cf2502ff249a9ab1d359f61fa42ebc2b17dd465708894cf82ffd153f0be1bed746464220d40d9d4dc1b07940ec280f28 flake8-copyright-0.2.2.tar.gz"
+sha512sums="
+a6ab47e1bb715618f075c51f398e18180404871b3b0faf1c2d30701d5203db6bc23771bf22ffb5bafcd8ee856b9b64237b316bd503ae7dceed6ca284ccd5a74d flake8-copyright-0.2.4.tar.gz
+"
diff --git a/testing/py3-flake8-debugger/APKBUILD b/testing/py3-flake8-debugger/APKBUILD
index 3e9b1e217bb..99f37252913 100644
--- a/testing/py3-flake8-debugger/APKBUILD
+++ b/testing/py3-flake8-debugger/APKBUILD
@@ -2,27 +2,38 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flake8-debugger
_pkgname=flake8-debugger
-pkgver=3.2.1
-pkgrel=3
+pkgver=4.1.2
+pkgrel=4
pkgdesc="Extension for flake8 which lint for ipdb/pdb statements"
options="!check" # No tests on PyPi, GitHub uses pyproject.toml
url="https://github.com/jbkahn/flake8-debugger"
arch="noarch"
license="MIT"
depends="py3-flake8"
-makedepends="py3-setuptools py3-pytest-runner"
+makedepends="py3-poetry-core py3-pytest-runner py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/f/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flake8-debugger" # Backwards compatibility
+replaces="py-flake8-debugger" # Backwards compatibility
provides="py-flake8-debugger=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+
+ # https://github.com/JBKahn/flake8-debugger/issues/30
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/pyproject.toml \
+ "$pkgdir"/usr/lib/python3*/site-packages/test_linter.py \
+ "$pkgdir"/usr/lib/python3*/site-packages/__pycache__/test_linter*
}
-sha512sums="0c67007e05f5ec7177bb27869ac4f05def04ecb4c5763b2d6860358f796333e833a5c87a5b6dc357000c9216850be9929de5f1d56297088b8e41039bb4ece18d flake8-debugger-3.2.1.tar.gz"
+sha512sums="
+2f65ebe2c97d144e2104142f5739998e7b09937c27c1710e4a5e26c1837895b834293543f574ac4872229533213d26436cc8598afabf283ede8b4fdc6fdbb1ed flake8-debugger-4.1.2.tar.gz
+"
diff --git a/testing/py3-flake8-import-order/APKBUILD b/testing/py3-flake8-import-order/APKBUILD
index 97243540005..647aa2498ed 100644
--- a/testing/py3-flake8-import-order/APKBUILD
+++ b/testing/py3-flake8-import-order/APKBUILD
@@ -2,27 +2,33 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flake8-import-order
_pkgname=flake8-import-order
-pkgver=0.18.1
-pkgrel=3
+pkgver=0.18.2
+pkgrel=4
pkgdesc="Extension for flake8 which checks for the ordering of import statements"
options="!check" # Requires unpackaged pylama
-url="https://github.com/public/flake8-import-order"
+url="https://github.com/PyCQA/flake8-import-order"
arch="noarch"
license="MIT"
-depends="py3-flake8"
-makedepends="py3-setuptools"
+depends="py3-flake8 py3-setuptools"
+makedepends="py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flake8-import-order" # Backwards compatibility
+replaces="py-flake8-import-order" # Backwards compatibility
provides="py-flake8-import-order=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="f7c6e53d1033214f774b6b169deff2872e6eb36a3656cdd723449561611ad90c0be5fbbd822e1bba9e93f64f83f40fa3823aa5a21c22b9df0b3426f8182239f2 flake8-import-order-0.18.1.tar.gz"
+sha512sums="
+a0367a5ae834fc0d0ee8d65bfec4eb4bdf1039806a69e0be2fc9e9d37b6b413ecc81275f8ecf6bb33b42e31603b02ff0c3c7baefe812dd5c443df54d8fc0d1cd flake8-import-order-0.18.2.tar.gz
+"
diff --git a/testing/py3-flake8-isort/APKBUILD b/testing/py3-flake8-isort/APKBUILD
index 39f4fd7f9c3..aff17ae7197 100644
--- a/testing/py3-flake8-isort/APKBUILD
+++ b/testing/py3-flake8-isort/APKBUILD
@@ -1,28 +1,38 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flake8-isort
-_pyname=flake8-isort
-pkgver=4.0.0
-pkgrel=2
+pkgver=6.1.1
+pkgrel=1
pkgdesc="Extension for flake8 which integrates isort"
-options="!check" # No testsuite
url="https://github.com/gforcada/flake8-isort"
arch="noarch"
license="GPL-2.0-only"
depends="py3-flake8 py3-isort"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/f/flake8-isort/flake8-isort-$pkgver.tar.gz"
-builddir="$srcdir"/flake8-isort-$pkgver
+makedepends="py3-gpep517 py3-hatchling"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/f/flake8-isort/flake8_isort-$pkgver.tar.gz"
+builddir="$srcdir/flake8_isort-$pkgver"
replaces="py-flake8-isort" # Backwards compatibility
provides="py-flake8-isort=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py 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 run_tests
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
}
-sha512sums="894899a767c27deb9882d0d885a525613b89598542bceaeb61bb85a45daa836322824f8d4684e14da5f819bdce2e26cc908c9fed744b32d2367bacb5374409bb flake8-isort-4.0.0.tar.gz"
+sha512sums="
+72840b133396524a4a4b514cc72a4ce96007144d3f1950671d7cbfedb27be1bb0d03bebe1281addc3acd70bb08ea269cea1626f17f174fa937d37ebd8e07cfc3 flake8_isort-6.1.1.tar.gz
+"
diff --git a/testing/py3-flake8-polyfill/APKBUILD b/testing/py3-flake8-polyfill/APKBUILD
index 1ec27b1846b..f3066a8500a 100644
--- a/testing/py3-flake8-polyfill/APKBUILD
+++ b/testing/py3-flake8-polyfill/APKBUILD
@@ -1,13 +1,14 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=py3-flake8-polyfill
pkgver=1.0.2
-pkgrel=1
+pkgrel=4
pkgdesc="compatibility helpers for Flake8 plugins that intend to support Flake8 2.x and 3.x simultaneously"
url="https://gitlab.com/pycqa/flake8-polyfill"
arch="all"
license="MIT"
depends="py3-flake8"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/f/flake8-polyfill/flake8-polyfill-$pkgver.tar.gz"
builddir="$srcdir/flake8-polyfill-$pkgver"
@@ -20,7 +21,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="767a599aacbe87328b3e36bd85e0841870760ed9bd95dd3a4a9084edc6f0ae89f8203d565c2b075f16f1db21b647c17b2aa59b08e4702109d7e5f79f36d9f3fa flake8-polyfill-1.0.2.tar.gz"
diff --git a/testing/py3-flake8-print/APKBUILD b/testing/py3-flake8-print/APKBUILD
index ced8e01d0bc..303d08ecc45 100644
--- a/testing/py3-flake8-print/APKBUILD
+++ b/testing/py3-flake8-print/APKBUILD
@@ -2,26 +2,32 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flake8-print
_pkgname=flake8-print
-pkgver=3.1.0
-pkgrel=3
+pkgver=5.0.0
+pkgrel=5
pkgdesc="Extension for flake8 which lint for print statements"
url="https://github.com/jbkahn/flake8-print"
arch="noarch"
license="MIT"
-depends="py3-flake8 py3-six"
-makedepends="py3-setuptools py3-pytest-runner"
+depends="py3-flake8 python3"
+makedepends="py3-poetry-core py3-pytest-runner py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flake8-print" # Backwards compatiblity
+replaces="py-flake8-print" # Backwards compatiblity
provides="py-flake8-print=$pkgver-r$pkgrel" # Backwards compatiblity
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="9d8ea7017eebedf365a45cc3f1bcca2aec73c5257a935cd5d5bc927d5d1f06866b7e072f70e2a8a13e61c3416af6afbaa1fa6225dad087bbdc796656f0eda1f0 flake8-print-3.1.0.tar.gz"
+sha512sums="
+69fd20fa92b795c8efa5971f9e17e6ac579fb642b3c07fafc4143b4d01acc2c577dbba6fd818c8ad92ad60709986777da59b804f2fec768f210a64b88252a987 flake8-print-5.0.0.tar.gz
+"
diff --git a/testing/py3-flake8-quotes/APKBUILD b/testing/py3-flake8-quotes/APKBUILD
deleted file mode 100644
index d8db27d73f3..00000000000
--- a/testing/py3-flake8-quotes/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-flake8-quotes
-pkgver=3.2.0
-pkgrel=3
-pkgdesc="Extension for flake8 which lint for double quotes"
-url="https://github.com/zheller/flake8-quotes/"
-arch="noarch"
-license="MIT"
-depends="py3-flake8"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/f/flake8-quotes/flake8-quotes-$pkgver.tar.gz"
-builddir="$srcdir"/flake8-quotes-$pkgver
-
-replaces="py-flake8-quotes" # Backwards compatiblity
-provides="py-flake8-quotes=$pkgver-r$pkgrel" # Backwards compatiblity
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="29e3d73ab8710ae39c5dd610cef60dabcc72312b23a6ae44ff2969426fde8cf3f35b0b5d1445688374fc1236c9eef73a394cf987b7738835a877e6a78d86fdb8 flake8-quotes-3.2.0.tar.gz"
diff --git a/testing/py3-flake8-snippets/APKBUILD b/testing/py3-flake8-snippets/APKBUILD
index 99b9dfe55e9..c667f7c6e65 100644
--- a/testing/py3-flake8-snippets/APKBUILD
+++ b/testing/py3-flake8-snippets/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-flake8-snippets
_pkgname=flake8-snippets
pkgver=0.2
-pkgrel=3
+pkgrel=8
pkgdesc="Extension for flake8 which lint for code snippets"
-url="https://github.com/bitmazk/flake8-snippets"
+url="https://github.com/bitlabstudio/flake8-snippets"
arch="noarch"
license="MIT"
depends="py3-flake8"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flake8-snippets" # Backwards compatibility
+replaces="py-flake8-snippets" # Backwards compatibility
provides="py-flake8-snippets=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="b7a3a335770912da9c162cb002550c299034e08c40b9b64d352b048650d1fe772508b1a226b873e65b8f6fea856fd2a2099e6bb84bc1e121730d19d32eae5e21 flake8-snippets-0.2.tar.gz"
diff --git a/testing/py3-flake8-todo/APKBUILD b/testing/py3-flake8-todo/APKBUILD
index a95e8a06aca..d6a1034237c 100644
--- a/testing/py3-flake8-todo/APKBUILD
+++ b/testing/py3-flake8-todo/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-flake8-todo
_pkgname=flake8-todo
pkgver=0.7
-pkgrel=3
+pkgrel=7
pkgdesc="TODO notes checker plugin for flake8"
url="https://github.com/schlamar/flake8-todo"
arch="noarch"
license="MIT"
depends="py3-flake8"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flake8-todo" # Backwards compatibility
+replaces="py-flake8-todo" # Backwards compatibility
provides="py-flake8-todo=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="d7a2259b531627c8866f1d7c29664f61dcd01a523f55efc851052f8ed5e1bc13108d7011093a1aedda2c343e1b127999aa91f65a5f29b218efc2bfc7064fdd96 flake8-todo-0.7.tar.gz"
diff --git a/testing/py3-flask-accept/APKBUILD b/testing/py3-flask-accept/APKBUILD
new file mode 100644
index 00000000000..b25de7bd78e
--- /dev/null
+++ b/testing/py3-flask-accept/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=py3-flask-accept
+_pkgname=flask_accept
+pkgver=0.0.6
+pkgrel=1
+pkgdesc="Custom Accept header routing support for Flask"
+url="https://github.com/di/flask-accept"
+arch="noarch"
+license="MIT"
+depends="
+ py3-flask
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-flake8
+ "
+options="!check"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/f/flask_accept/flask_accept-$pkgver.tar.gz"
+
+builddir="$srcdir"/$_pkgname-$pkgver
+
+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 -W ignore::DeprecationWarning
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+1f3eff090ee847e27323b62c0c9fffc34c74fc120c4828550caa93403d0462227554a470b565e6d9be045d923682995df1faa342a3df6cc1defdaafaf52b9af0 flask_accept-0.0.6.tar.gz
+"
diff --git a/testing/py3-flask-admin/APKBUILD b/testing/py3-flask-admin/APKBUILD
index 7a00335c0da..a00c403c501 100644
--- a/testing/py3-flask-admin/APKBUILD
+++ b/testing/py3-flask-admin/APKBUILD
@@ -1,10 +1,10 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flask-admin
-pkgver=1.5.8
-pkgrel=1
+pkgver=1.6.1
+pkgrel=3
pkgdesc="Flask admin interface"
-url="https://pypi.python.org/pypi/Flask-Admin"
+url="https://pypi.org/project/Flask-Admin"
arch="noarch"
license="BSD-3-Clause"
depends="
@@ -12,21 +12,25 @@ depends="
py3-flask
py3-wtforms
"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/F/Flask-Admin/Flask-Admin-$pkgver.tar.gz"
builddir="$srcdir"/Flask-Admin-$pkgver
-replaces="py-flask-admin" # Backwards compatibility
+replaces="py-flask-admin" # Backwards compatibility
provides="py-flask-admin=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-53e14ba6992b358280e69580fa9911539fb34069d08f43f658ef54387c6e2b700d3fb6d8e90a9ee3f8f3592eb936b76234b7afd93baa28d683683472e1d01283 Flask-Admin-1.5.8.tar.gz
+3defe8eecaf96a775b93de761ffc51c80950f3dc71d005830aabfb24e019d9c4fc3fe9a69805b7b227b13693708f3aa381206cf1240b9fe5efb28c1bee44503d Flask-Admin-1.6.1.tar.gz
"
diff --git a/testing/py3-flask-autorouter/APKBUILD b/testing/py3-flask-autorouter/APKBUILD
index c0a8b42504c..0571025ccfa 100644
--- a/testing/py3-flask-autorouter/APKBUILD
+++ b/testing/py3-flask-autorouter/APKBUILD
@@ -1,27 +1,32 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flask-autorouter
-_pkgname=flask-autorouter
-pkgver=0.2.1
-pkgrel=4
+pkgver=0.2.2
+pkgrel=3
pkgdesc="Flask generating URL routing"
-url="https://pypi.python.org/pypi/flask-autorouter"
+url="https://pypi.org/project/flask-autorouter"
arch="noarch"
license="MIT"
depends="python3 py3-flask"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dpep/flask_autorouter/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/flask_autorouter-$pkgver"
-replaces="py-flask-autorouter" # Backwards compatibility
+replaces="py-flask-autorouter" # Backwards compatibility
provides="py-flask-autorouter=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="d588377c2dafee3e478de2a03b7e5819df4f63e976d12b758e5da52fdeda4ec662538c174a7c0411195f0abaf9e3e7a942d1f571360344fcc296b8e18a682ead flask-autorouter-0.2.1.tar.gz"
+sha512sums="
+b16441cfcd1f25df9f365fbd4db8f57fcc40e16932ba8e27f95b054ed535afbc238685831e5a7086c94a2c2a0c51ee9d996277bf1384089921ebf6d71e32bd3f py3-flask-autorouter-0.2.2.tar.gz
+"
diff --git a/testing/py3-flask-basicauth/APKBUILD b/testing/py3-flask-basicauth/APKBUILD
index 4d64ea795b1..a939ce12048 100644
--- a/testing/py3-flask-basicauth/APKBUILD
+++ b/testing/py3-flask-basicauth/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-flask-basicauth
_pkgname=Flask-BasicAuth
pkgver=0.2.0
-pkgrel=4
+pkgrel=9
pkgdesc="Flask HTTP basic access authentication"
options="!check" # Broken testsuite
-url="https://pypi.python.org/pypi/Flask-BasicAuth"
+url="https://pypi.org/project/Flask-BasicAuth"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-basicauth" # Backwards compatibility
+replaces="py-flask-basicauth" # Backwards compatibility
provides="py-flask-basicauth=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="921b05e273e9a4b06f00cb68b68ddca20328f1a3afd1dd779d973792f1382a2bf2c6a8f70719e097dfa3d00d8e511fc35fba218de3fbb8ed6197ddbaa8027f93 Flask-BasicAuth-0.2.0.tar.gz"
diff --git a/testing/py3-flask-bcrypt/APKBUILD b/testing/py3-flask-bcrypt/APKBUILD
index 7b6d661b7a8..797d9e10b75 100644
--- a/testing/py3-flask-bcrypt/APKBUILD
+++ b/testing/py3-flask-bcrypt/APKBUILD
@@ -2,26 +2,32 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flask-bcrypt
_pkgname=Flask-Bcrypt
-pkgver=0.7.1
-pkgrel=3
+pkgver=1.0.1
+pkgrel=5
pkgdesc="Flask Bcrypt hashing extension"
-url="https://pypi.python.org/pypi/Flask-Bcrypt"
+url="https://pypi.org/project/Flask-Bcrypt"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-flask py3-bcrypt"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-bcrypt" # Backwards compatibility
+replaces="py-flask-bcrypt" # Backwards compatibility
provides="py-flask-bcrypt=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="05184a6a29f0a45943c435bf025f3f9522a357e88fcf7949f72083f0696b4ca16cb2c8cdb54e7cb266068bb04b1b41b44456ae97641bda930e00d20f3a60e5f3 Flask-Bcrypt-0.7.1.tar.gz"
+sha512sums="
+e7df01d5e2e193e80e12c8cf07fe01a487ab1b3a2f9175533e653636c2a4aa7a4175cbfc456b3251b7c536ab72f9b88c6d407163741807c9965c2b6d842c8203 Flask-Bcrypt-1.0.1.tar.gz
+"
diff --git a/testing/py3-flask-bootstrap/APKBUILD b/testing/py3-flask-bootstrap/APKBUILD
index 45f2fd3358a..b5129a1361b 100644
--- a/testing/py3-flask-bootstrap/APKBUILD
+++ b/testing/py3-flask-bootstrap/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-flask-bootstrap
_pkgname=Flask-Bootstrap
pkgver=3.3.7.1
-pkgrel=3
+pkgrel=8
pkgdesc="Flask bootstrap extension"
-url="https://pypi.python.org/pypi/Flask-Bootstrap"
+url="https://pypi.org/project/Flask-Bootstrap"
arch="noarch"
license="BSD-3-Clause and Apache-2.0"
depends="python3 py3-flask py3-dominate py3-visitor"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-bootstrap" # Backwards compatibility
+replaces="py-flask-bootstrap" # Backwards compatibility
provides="py-flask-bootstrap=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="23500d9575de5c52fcfd8a41bb7d5680440a0f1bae25e7a089b7f0e3885304a4c7d5b916f98adbfe80b98c8d107feef0c5c282e7a4bec7038310e778da4ca2e7 Flask-Bootstrap-3.3.7.1.tar.gz"
diff --git a/testing/py3-flask-cache/APKBUILD b/testing/py3-flask-cache/APKBUILD
index 386d7fa3b57..3a8c355b4b8 100644
--- a/testing/py3-flask-cache/APKBUILD
+++ b/testing/py3-flask-cache/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-flask-cache
_pkgname=Flask-Cache
pkgver=0.13.1
-pkgrel=4
+pkgrel=9
pkgdesc="Flask cache support"
options="!check" # Testsuite broken
-url="https://pypi.python.org/pypi/Flask-Cache"
+url="https://pypi.org/project/Flask-Cache"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-cache" # Backwards compatibility
+replaces="py-flask-cache" # Backwards compatibility
provides="py-flask-cache=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="1ef8e1ad7cef40cd75579c17c106cc30f32d3a0f442b11b2aaf350e6045c4483fd885e65d79040f871eaeb9bf6b1a6fc320245172d7199ae0bbfd2f0343d4f56 Flask-Cache-0.13.1.tar.gz"
diff --git a/testing/py3-flask-cdn/APKBUILD b/testing/py3-flask-cdn/APKBUILD
index cfcca19fb1d..d0a7154fc5e 100644
--- a/testing/py3-flask-cdn/APKBUILD
+++ b/testing/py3-flask-cdn/APKBUILD
@@ -3,14 +3,17 @@
pkgname=py3-flask-cdn
_pkgname=Flask-CDN
pkgver=1.5.3
-pkgrel=3
+pkgrel=7
pkgdesc="Flask CDN static files extension"
-url="https://pypi.python.org/pypi/Flask-CDN"
+url="https://pypi.org/project/Flask-CDN"
arch="noarch"
license="MIT"
depends="python3 py3-flask"
makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ assertEquals.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
replaces="py-flask-cdn" # Backwards compatibility
@@ -25,7 +28,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="dbec6798506876ea098f11236f960c7b557a0174a38330845e7fe8312cd359b104c025aabfc2b8d1d22a095106c9f7c1af6b4cd55a83039b94ed177f1045e3e4 Flask-CDN-1.5.3.tar.gz"
+sha512sums="
+dbec6798506876ea098f11236f960c7b557a0174a38330845e7fe8312cd359b104c025aabfc2b8d1d22a095106c9f7c1af6b4cd55a83039b94ed177f1045e3e4 Flask-CDN-1.5.3.tar.gz
+8afbf6584f0fd64f0c242d112d3e6c97496278c33c5bd70fe722983032957cf5471783a54fea2fedb7674aaf1f843d4e7eb9ca5aff95b90c3122950826e23172 assertEquals.patch
+"
diff --git a/testing/py3-flask-cdn/assertEquals.patch b/testing/py3-flask-cdn/assertEquals.patch
new file mode 100644
index 00000000000..22d0a74598b
--- /dev/null
+++ b/testing/py3-flask-cdn/assertEquals.patch
@@ -0,0 +1,96 @@
+diff --git a/tests/test_flask_cdn.py b/tests/test_flask_cdn.py
+index adc72c5..5640852 100644
+--- a/tests/test_flask_cdn.py
++++ b/tests/test_flask_cdn.py
+@@ -19,3 +19,3 @@ class DefaultsTest(unittest.TestCase):
+ """ Tests CDN_DEBUG default value is correctly set. """
+- self.assertEquals(self.app.config['CDN_DEBUG'], False)
++ self.assertEqual(self.app.config['CDN_DEBUG'], False)
+
+@@ -23,3 +23,3 @@ class DefaultsTest(unittest.TestCase):
+ """ Tests CDN_DOMAIN default value is correctly set. """
+- self.assertEquals(self.app.config['CDN_DOMAIN'], None)
++ self.assertEqual(self.app.config['CDN_DOMAIN'], None)
+
+@@ -27,3 +27,3 @@ class DefaultsTest(unittest.TestCase):
+ """ Tests CDN_HTTPS default value is correctly set. """
+- self.assertEquals(self.app.config['CDN_HTTPS'], None)
++ self.assertEqual(self.app.config['CDN_HTTPS'], None)
+
+@@ -31,3 +31,3 @@ class DefaultsTest(unittest.TestCase):
+ """ Tests CDN_TIMESTAMP default value is correctly set. """
+- self.assertEquals(self.app.config['CDN_TIMESTAMP'], True)
++ self.assertEqual(self.app.config['CDN_TIMESTAMP'], True)
+
+@@ -61,3 +61,3 @@ class UrlTests(unittest.TestCase):
+ # non static endpoint url_for in template
+- self.assertEquals(self.client_get('').get_data(True), '/')
++ self.assertEqual(self.client_get('').get_data(True), '/')
+
+@@ -66,3 +66,3 @@ class UrlTests(unittest.TestCase):
+ exp = 'http://mycdnname.cloudfront.net/static/bah.js'
+- self.assertEquals(self.client_get(ufs).get_data(True), exp)
++ self.assertEqual(self.client_get(ufs).get_data(True), exp)
+
+@@ -74,3 +74,3 @@ class UrlTests(unittest.TestCase):
+ exp = '/static/bah.js'
+- self.assertEquals(self.client_get(ufs).get_data(True), exp)
++ self.assertEqual(self.client_get(ufs).get_data(True), exp)
+
+@@ -84,15 +84,15 @@ class UrlTests(unittest.TestCase):
+ self.app.config['CDN_HTTPS'] = True
+- self.assertEquals(self.client_get(ufs, secure=True).get_data(True),
++ self.assertEqual(self.client_get(ufs, secure=True).get_data(True),
+ https_exp)
+- self.assertEquals(self.client_get(ufs).get_data(True), https_exp)
++ self.assertEqual(self.client_get(ufs).get_data(True), https_exp)
+
+ self.app.config['CDN_HTTPS'] = False
+- self.assertEquals(self.client_get(ufs, secure=True).get_data(True),
++ self.assertEqual(self.client_get(ufs, secure=True).get_data(True),
+ http_exp)
+- self.assertEquals(self.client_get(ufs).get_data(True), http_exp)
++ self.assertEqual(self.client_get(ufs).get_data(True), http_exp)
+
+ self.app.config['CDN_HTTPS'] = None
+- self.assertEquals(self.client_get(ufs, secure=True).get_data(True),
++ self.assertEqual(self.client_get(ufs, secure=True).get_data(True),
+ https_exp)
+- self.assertEquals(self.client_get(ufs).get_data(True), http_exp)
++ self.assertEqual(self.client_get(ufs).get_data(True), http_exp)
+
+@@ -106,3 +106,3 @@ class UrlTests(unittest.TestCase):
+ exp = 'http://mycdnname.cloudfront.net/static/bah.js?t={0}'.format(ts)
+- self.assertEquals(self.client_get(ufs).get_data(True), exp)
++ self.assertEqual(self.client_get(ufs).get_data(True), exp)
+
+@@ -110,3 +110,3 @@ class UrlTests(unittest.TestCase):
+ exp = 'http://mycdnname.cloudfront.net/static/bah.js'
+- self.assertEquals(self.client_get(ufs).get_data(True), exp)
++ self.assertEqual(self.client_get(ufs).get_data(True), exp)
+
+@@ -117,3 +117,3 @@ class UrlTests(unittest.TestCase):
+ exp = 'https://mycdnname.cloudfront.net/static/bah.js'
+- self.assertEquals(self.client_get(ufs, secure=False).get_data(True),
++ self.assertEqual(self.client_get(ufs, secure=False).get_data(True),
+ exp)
+@@ -123,3 +123,3 @@ class UrlTests(unittest.TestCase):
+ exp = 'http://mycdnname.cloudfront.net/static/bah.js'
+- self.assertEquals(self.client_get(ufs, secure=True).get_data(True),
++ self.assertEqual(self.client_get(ufs, secure=True).get_data(True),
+ exp)
+@@ -129,3 +129,3 @@ class UrlTests(unittest.TestCase):
+ exp = '//mycdnname.cloudfront.net/static/bah.js'
+- self.assertEquals(self.client_get(ufs, secure=True).get_data(True),
++ self.assertEqual(self.client_get(ufs, secure=True).get_data(True),
+ exp)
+@@ -161,3 +161,3 @@ class BlueprintTest(unittest.TestCase):
+ exp = 'http://mycdnname.cloudfront.net/static/bah.js?t={0}'.format(ts)
+- self.assertEquals(response.get_data(True), exp)
++ self.assertEqual(response.get_data(True), exp)
+
+@@ -171,3 +171,3 @@ class BlueprintTest(unittest.TestCase):
+ exp = 'http://mycdnname.cloudfront.net/static/bah_bp.js?t={0}'.format(ts)
+- self.assertEquals(response.get_data(True), exp)
++ self.assertEqual(response.get_data(True), exp)
+
diff --git a/testing/py3-flask-components/APKBUILD b/testing/py3-flask-components/APKBUILD
index 533d23c6504..3f67bb35ed2 100644
--- a/testing/py3-flask-components/APKBUILD
+++ b/testing/py3-flask-components/APKBUILD
@@ -3,25 +3,35 @@
pkgname=py3-flask-components
_pkgname=Flask-Components
pkgver=0.1.1
-pkgrel=4
+pkgrel=9
pkgdesc="Flask files discovery extension"
-url="https://pypi.python.org/pypi/Flask-Components"
+url="https://pypi.org/project/Flask-Components"
arch="noarch"
license="MIT"
depends="python3 py3-flask"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ importlib.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
+options="!check"
-replaces="py-flask-components" # Backwards compatibility
+replaces="py-flask-components" # Backwards compatibility
provides="py-flask-components=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="ba93d8080939c9e754c801e9860940b029a853a2f591772be497e6884d9fb443c67b945cf452f530a74e1b3cc7123e7d18432df7002bf60284d58a0f9d036657 Flask-Components-0.1.1.tar.gz"
+sha512sums="
+ba93d8080939c9e754c801e9860940b029a853a2f591772be497e6884d9fb443c67b945cf452f530a74e1b3cc7123e7d18432df7002bf60284d58a0f9d036657 Flask-Components-0.1.1.tar.gz
+67e9958191c8528a5d9294619bafa0366804f0515901dc9167b685bc892bca48b9aa05fa680d1b142e19169212206c0aa2ed0ecd771d7371132fd769a672169b importlib.patch
+"
diff --git a/testing/py3-flask-components/importlib.patch b/testing/py3-flask-components/importlib.patch
new file mode 100644
index 00000000000..f2bb0d8e683
--- /dev/null
+++ b/testing/py3-flask-components/importlib.patch
@@ -0,0 +1,15 @@
+diff --git a/setup.py b/setup.py
+index 051e9f6..0421483 100644
+--- a/setup.py
++++ b/setup.py
+@@ -3,4 +3,3 @@
+ from setuptools import setup, find_packages
+-from imp import load_source
+-
++from importlib.machinery import SourceFileLoader
+
+@@ -8,3 +7,3 @@ setup(
+ name='Flask-Components',
+- version=load_source('', 'src/flask_components/_version.py').__version__,
++ version=SourceFileLoader('', 'src/flask_components/_version.py').load_module().__version__,
+ description='A simple flask extension to discover files in a declared '
diff --git a/testing/py3-flask-dbconfig/APKBUILD b/testing/py3-flask-dbconfig/APKBUILD
index 5252810e938..500a0284797 100644
--- a/testing/py3-flask-dbconfig/APKBUILD
+++ b/testing/py3-flask-dbconfig/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-flask-dbconfig
_pkgname=Flask-DBConfig
pkgver=0.3.12
-pkgrel=4
+pkgrel=8
pkgdesc="Flask local DB extension"
options="!check" # No testsuite
url="https://github.com/tedw4rd/flask-db-configuration/"
arch="noarch"
license="MIT"
depends="python3 py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-dbconfig" # Backwards compatibility
+replaces="py-flask-dbconfig" # Backwards compatibility
provides="py-flask-dbconfig=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="3fd006e4dde523fc12a446aa8c42fb0e69e22d43b303ecd0556433cf6ddbcbbefdbac9a0f2a87236901baab14b42df9a146ee4d44c0ae7014ad24d7b8722b6f4 Flask-DBConfig-0.3.12.tar.gz"
diff --git a/testing/py3-flask-flatpages/APKBUILD b/testing/py3-flask-flatpages/APKBUILD
index 032fc4cb474..c0fded4cbe1 100644
--- a/testing/py3-flask-flatpages/APKBUILD
+++ b/testing/py3-flask-flatpages/APKBUILD
@@ -1,29 +1,33 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flask-flatpages
-pkgver=0.7.3
-pkgrel=1
+pkgver=0.8.2
+pkgrel=2
pkgdesc="Flask static pages extension"
-url="https://pypi.python.org/pypi/Flask-FlatPages"
+url="https://pypi.org/project/Flask-FlatPages"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-flask py3-jinja2 py3-markdown py3-yaml"
-makedepends="py3-setuptools py3-pytest-runner"
+makedepends="py3-setuptools py3-pytest-runner py3-gpep517 py3-wheel"
checkdepends="py3-pygments"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/F/Flask-FlatPages/Flask-FlatPages-$pkgver.tar.gz"
builddir="$srcdir"/Flask-FlatPages-$pkgver
-replaces="py-flask-flatpages" # Backwards compatibility
+replaces="py-flask-flatpages" # Backwards compatibility
provides="py-flask-flatpages=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-9d75ba2ed2273aaff26beee203271e1b6e3fe41d7b319ee69d2337e8151582be85d95288bcfff7e7b4907b7824f9aa4bb2019f8050b137195e9ad5fae8291efa Flask-FlatPages-0.7.3.tar.gz
+b46d32df54b08a91a5f0a8f9c311bb1d86a6f88270125f251c6b22d2c5c59ecf72c2cb52e9257d9ed2a3f64c324d087b7d2f93154ced832ff28837bc6c22a919 Flask-FlatPages-0.8.2.tar.gz
"
diff --git a/testing/py3-flask-gzip/APKBUILD b/testing/py3-flask-gzip/APKBUILD
index 089a85f1d2c..f2b0c76a52d 100644
--- a/testing/py3-flask-gzip/APKBUILD
+++ b/testing/py3-flask-gzip/APKBUILD
@@ -3,22 +3,26 @@
pkgname=py3-flask-gzip
_pkgname=Flask-gzip
pkgver=0.2
-pkgrel=3
+pkgrel=8
pkgdesc="Compress responses in your Flask app with gzip"
-url="https://pypi.python.org/pypi/Flask-gzip"
+url="https://pypi.org/project/Flask-gzip"
arch="noarch"
license="BSD-3-Clause"
depends="py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="0625fcab11c607209a8b95455621e347bd71d5be47ae1af09f11f284d495f29d0e23b7f228eeca9bed1615fffa48f036eddfdf2abab78b81b0d693a9b0b94fd8 Flask-gzip-0.2.tar.gz"
diff --git a/testing/py3-flask-headers/APKBUILD b/testing/py3-flask-headers/APKBUILD
index 4f9d0608ba8..e85f50fb931 100644
--- a/testing/py3-flask-headers/APKBUILD
+++ b/testing/py3-flask-headers/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-flask-headers
_pkgname=Flask-Headers
pkgver=1.0
-pkgrel=4
+pkgrel=9
pkgdesc="Flask headers extension"
options="!check" # No testsuite on PYPI, no GitHub tarballs
-url="https://pypi.python.org/pypi/Flask-Headers"
+url="https://pypi.org/project/Flask-Headers"
arch="noarch"
license="MIT"
depends="python3 py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-headers" # Backwards compatibility
+replaces="py-flask-headers" # Backwards compatibility
provides="py-flask-headers=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="aae3088745970575464dc93bb0198a461ac218f4b9d2396a9ff7b950610f191453341f6d434ba7636d44f54a6d8fd0b3e000dba36c272d80c3d85242e029a48b Flask-Headers-1.0.tar.gz"
diff --git a/testing/py3-flask-httpauth/APKBUILD b/testing/py3-flask-httpauth/APKBUILD
index 97311b032c8..c7dc061fd8f 100644
--- a/testing/py3-flask-httpauth/APKBUILD
+++ b/testing/py3-flask-httpauth/APKBUILD
@@ -1,14 +1,16 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flask-httpauth
-pkgver=4.4.0
-pkgrel=1
+pkgver=4.8.0
+pkgrel=2
pkgdesc="Basic and Digest HTTP authentication for Flask routes"
-url="https://pypi.python.org/pypi/Flask-HTTPAuth"
+url="https://pypi.org/project/Flask-HTTPAuth"
arch="noarch"
license="MIT"
depends="py3-flask python3"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-asyncio py3-asgiref"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/F/Flask-HTTPAuth/Flask-HTTPAuth-$pkgver.tar.gz"
builddir="$srcdir"/Flask-HTTPAuth-$pkgver
@@ -16,17 +18,22 @@ replaces="py-flask-httpauth" # Backwards compatibility
provides="py-flask-httpauth=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/Flask_HTTPAuth*.whl
}
sha512sums="
-de5d13f81b8fcabafaaf62756ff03b30ed01b873d5a9fc850c42d30059aa5f2e489c4ebc46fd11e625eaf8b59a84f5a8a84156167e4ccd5f9f5f8c8281bbb4e8 Flask-HTTPAuth-4.4.0.tar.gz
+15878f45faf6bdde43d7b588539b044d621ba1ba590880e3d0a3bccf4e9bd04b898b3372775e99577b7e7955c4b6d2d7cc80df19ba30415c6b7c1d3183b7e5f4 Flask-HTTPAuth-4.8.0.tar.gz
"
diff --git a/testing/py3-flask-json-schema/APKBUILD b/testing/py3-flask-json-schema/APKBUILD
new file mode 100644
index 00000000000..92ce2df61c5
--- /dev/null
+++ b/testing/py3-flask-json-schema/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-flask-json-schema
+pkgver=0.0.5
+pkgrel=4
+pkgdesc="Flask extension to validate JSON requests"
+url="https://pypi.org/project/flask-json-schema/"
+arch="noarch"
+license="MIT"
+depends="py3-flask py3-jsonschema"
+makedepends="py3-setuptools py3-wheel py3-gpep517"
+subpackages="$pkgname-pyc"
+source="https://pypi.org/packages/source/f/flask-json-schema/Flask-json-schema-$pkgver.tar.gz"
+builddir="$srcdir/Flask-json-schema-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+43564624775972d90ff38a8f1f81385975bf201e1915f4e9e01ba1efbd2f09a61669748d74d508861ecb346e37bdbc065b330da9a493cfe397eb58ed9215590c Flask-json-schema-0.0.5.tar.gz
+"
diff --git a/testing/py3-flask-limiter/APKBUILD b/testing/py3-flask-limiter/APKBUILD
new file mode 100644
index 00000000000..491f4cfba09
--- /dev/null
+++ b/testing/py3-flask-limiter/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=py3-flask-limiter
+pkgver=3.5.0
+pkgrel=1
+pkgdesc="Rate Limiting extension for Flask"
+url="https://github.com/alisaifee/flask-limiter"
+arch="noarch"
+license="MIT"
+depends="
+ py3-flask
+ py3-limits
+ py3-ordered-set
+ py3-rich
+ python3
+ "
+makedepends="py3-setuptools"
+checkdepends="
+ py3-flask-restful
+ py3-flask-restx
+ py3-limits-mongodb
+ py3-limits-redis
+ py3-pytest
+ py3-pytest-cov
+ "
+options="!check" # tests depend on unpackaged modules
+subpackages="$pkgname-pyc"
+source="
+ https://github.com/alisaifee/flask-limiter/archive/refs/tags/$pkgver/flask-limiter-$pkgver.tar.gz
+
+ our-std-is-good-enough.patch
+ "
+builddir="$srcdir/flask-limiter-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="
+f97fd830fd0bbb2186c82451643413420be93872ed17d71d20c830a76ec3aee999bcda3a07b9d27d4602ef5fcd33f78888dc5d75c220eae5cb83ef02853151e6 flask-limiter-3.5.0.tar.gz
+1b90e9134076cda249695d5ea741db9d205a2ae452c7d6edfe01eb37a221ce6f64b0e8ddcdbbee9b0e0fb16a28e5eabf14f1c1e41e965c7e3b93ea4f42caf553 our-std-is-good-enough.patch
+"
diff --git a/testing/py3-flask-limiter/our-std-is-good-enough.patch b/testing/py3-flask-limiter/our-std-is-good-enough.patch
new file mode 100644
index 00000000000..664143fae57
--- /dev/null
+++ b/testing/py3-flask-limiter/our-std-is-good-enough.patch
@@ -0,0 +1,22 @@
+--- ./flask_limiter/typing.py.orig
++++ ./flask_limiter/typing.py
+@@ -11,7 +11,7 @@
+ cast,
+ )
+
+-from typing_extensions import ParamSpec
++from typing import ParamSpec
+
+ R = TypeVar("R")
+ P = ParamSpec("P")
+--- ./flask_limiter/commands.py.orig
++++ ./flask_limiter/commands.py
+@@ -14,7 +14,7 @@
+ from rich.table import Table
+ from rich.theme import Theme
+ from rich.tree import Tree
+-from typing_extensions import TypedDict
++from typing import TypedDict
+ from werkzeug.exceptions import MethodNotAllowed, NotFound
+ from werkzeug.routing import Rule
+
diff --git a/testing/py3-flask-loopback/APKBUILD b/testing/py3-flask-loopback/APKBUILD
index 864bca470a4..5848d8795a4 100644
--- a/testing/py3-flask-loopback/APKBUILD
+++ b/testing/py3-flask-loopback/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-flask-loopback
_pkgname=Flask-Loopback
pkgver=1.4.7
-pkgrel=2
+pkgrel=7
pkgdesc="A library to create requests without network connection"
-url="https://pypi.python.org/pypi/Flask-Loopback"
+url="https://pypi.org/project/Flask-Loopback"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-flask py3-requests py3-urlobject"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-loopback" # Backwards compatibility
+replaces="py-flask-loopback" # Backwards compatibility
provides="py-flask-loopback=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="556f6182fabeabff3b173ee030f1986c4a791760e388ae5352b883a3ad79e3495ae9a3a7e3ee3826de149665609ba01f25fb993cebe4ea8d63ef5c14c18f57df Flask-Loopback-1.4.7.tar.gz"
diff --git a/testing/py3-flask-mailman/APKBUILD b/testing/py3-flask-mailman/APKBUILD
new file mode 100644
index 00000000000..c064333081b
--- /dev/null
+++ b/testing/py3-flask-mailman/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=py3-flask-mailman
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="Porting Django's email implementation to your Flask applications"
+url="https://waynerv.github.io/flask-mailman/"
+arch="noarch"
+license="BSD-3-Clause"
+depends="py3-flask"
+makedepends="py3-gpep517 py3-poetry-core py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/waynerv/flask-mailman/archive/v$pkgver/py3-flask-mailman-$pkgver.tar.gz"
+builddir="$srcdir/flask-mailman-$pkgver"
+
+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="
+4ce9e4d6075c90d9e9dca19942c829bcaf74079f866d62799e659a3f593152412f7c8c847aafb6d09a7c1e9f1ab290a77878bcecd75e8e6270037dd60c1c76f5 py3-flask-mailman-1.0.0.tar.gz
+"
diff --git a/testing/py3-flask-markdown/APKBUILD b/testing/py3-flask-markdown/APKBUILD
index 16555bb98a1..8c8ee78d854 100644
--- a/testing/py3-flask-markdown/APKBUILD
+++ b/testing/py3-flask-markdown/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-flask-markdown
_pkgname=Flask-Markdown
pkgver=0.3
-pkgrel=3
+pkgrel=8
pkgdesc="Flask markdown extension"
-url="https://pypi.python.org/pypi/Flask-Markdown"
+url="https://pypi.org/project/Flask-Markdown"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-flask py3-markdown"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-markdown" # Backwards compatibility
+replaces="py-flask-markdown" # Backwards compatibility
provides="py-flask-markdown=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="0d95217bbbf34aca2027b51cbf5114fbd6a5a695fd7caaf4427ea9244ddd188b5a509bf86cfb98479068691fcc04d0b5747a2b2ac7059b13d868237a168f398a Flask-Markdown-0.3.tar.gz"
diff --git a/testing/py3-flask-migrate/APKBUILD b/testing/py3-flask-migrate/APKBUILD
index 705445e9e65..50bae4cc8dc 100644
--- a/testing/py3-flask-migrate/APKBUILD
+++ b/testing/py3-flask-migrate/APKBUILD
@@ -1,30 +1,46 @@
-# Contributor:
+# Contributor: Steven Guikal <void@fluix.one>
# Maintainer: Philipp Glaum <p@pglaum.de>
pkgname=py3-flask-migrate
_pkgname=Flask-Migrate
-pkgver=3.0.1
+pkgver=4.0.5
pkgrel=1
pkgdesc="SQLAlchemy database migrations for Flask applications using Alembic"
url="https://pypi.org/project/Flask-Migrate/"
arch="noarch"
license="MIT"
-depends="python3 py3-flask py3-flask-sqlalchemy py3-alembic"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+depends="
+ py3-alembic
+ py3-flask
+ py3-flask-sqlalchemy
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/miguelgrinberg/Flask-Migrate/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ PYTHONPATH="$PWD/src" .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-cefad924e471730778dfca16da665b499733ff236ad2d499e27094b1caf73da5d6c8d667fe51bb5fc353ec9954e6952a22bb85c223ce9a4009d5a6e831284421 Flask-Migrate-3.0.1.tar.gz
+cdc02e3f567119604e56e9cafed3e7b40e7335d4c3f42cffb26515a4cec12ff34c16f8d5ae036d841cf846985973980d820cdc5d87a99ebf634b3b17becaeb69 Flask-Migrate-4.0.5.tar.gz
"
diff --git a/testing/py3-flask-paginate/APKBUILD b/testing/py3-flask-paginate/APKBUILD
index e6b40226d3a..5f2a692fbbf 100644
--- a/testing/py3-flask-paginate/APKBUILD
+++ b/testing/py3-flask-paginate/APKBUILD
@@ -2,25 +2,29 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flask-paginate
pkgver=0.8.1
-pkgrel=1
+pkgrel=6
pkgdesc="Simple paginate support for Flask"
-url="https://pypi.python.org/pypi/Flask-paginate"
+url="https://pypi.org/project/Flask-paginate"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/lixxu/flask-paginate/archive/$pkgver.tar.gz"
builddir="$srcdir"/flask-paginate-$pkgver
-replaces="py-flask-paginate" # Backwards compatibility
+replaces="py-flask-paginate" # Backwards compatibility
provides="py-flask-paginate=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
diff --git a/testing/py3-flask-peewee/APKBUILD b/testing/py3-flask-peewee/APKBUILD
index e1d2d91ce23..cd2fccefb3a 100644
--- a/testing/py3-flask-peewee/APKBUILD
+++ b/testing/py3-flask-peewee/APKBUILD
@@ -3,24 +3,28 @@
pkgname=py3-flask-peewee
_pkgname=flask-peewee
pkgver=3.0.4
-pkgrel=1
+pkgrel=6
pkgdesc="Flask integration for peewee"
-url="http://pypi.python.org/pypi/flask-peewee"
+url="https://pypi.org/project/flask-peewee"
arch="noarch"
license="MIT"
depends="py3-flask py3-jinja2 py3-peewee py3-werkzeug py3-wtf-peewee
py3-wtforms"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
diff --git a/testing/py3-flask-principal/APKBUILD b/testing/py3-flask-principal/APKBUILD
index 10d72bd84f1..bd64616063d 100644
--- a/testing/py3-flask-principal/APKBUILD
+++ b/testing/py3-flask-principal/APKBUILD
@@ -3,30 +3,36 @@
pkgname=py3-flask-principal
_pkgname=flask-principal
pkgver=0.4.0
-pkgrel=4
+pkgrel=8
pkgdesc="Flask Identity management"
url="https://pythonhosted.org/Flask-Principal/"
arch="noarch"
license="MIT"
depends="python3 py3-blinker py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
checkdepends="py3-nose"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/mattupstate/flask-principal/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-principal" # Backwards compatibility
+replaces="py-flask-principal" # Backwards compatibility
provides="py-flask-principal=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- nosetests
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m nose
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="ed8cb28c4e8d936de96db0bf9f7cb45b253dc204c4b8f8dd8022ef1552592ff6324b4a33d3ee862794a6e20eb8c32a0365e7b9397d427da5022c5ded3dfa308a py3-flask-principal-0.4.0.tar.gz"
diff --git a/testing/py3-flask-qrcode/APKBUILD b/testing/py3-flask-qrcode/APKBUILD
index 6a9bd0ff2de..14fe6e39087 100644
--- a/testing/py3-flask-qrcode/APKBUILD
+++ b/testing/py3-flask-qrcode/APKBUILD
@@ -2,29 +2,35 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-flask-qrcode
_pkgname=Flask-QRcode
-pkgver=3.0.0
-pkgrel=1
+pkgver=3.1.0
+pkgrel=4
pkgdesc="Simple flask extension to render QR codes on template"
url="https://github.com/marcoagner/Flask-QRcode"
arch="noarch"
license="GPL-3.0-or-later"
depends="py3-flask py3-qrcode"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-qrcode" # Backwards compatibility
+replaces="py-flask-qrcode" # Backwards compatibility
provides="py-flask-qrcode=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
}
sha512sums="
-25bddd05a2a5d11642c4777864215bc968270b4ee7a25d93f6760b22f7689f89316dc1e5c16be6a4545919a0318bc76f0e91b8d37e2c225f8854be6f6b4495e3 Flask-QRcode-3.0.0.tar.gz
+399555827132ff08911691cafaf33feb4ed4c66eba1d880f56b1a91d4ffbcdbe5f7ed0abe4a4c7972eff8103d410455bb333232ac596f6bc25cd51df0c0d7a79 Flask-QRcode-3.1.0.tar.gz
"
diff --git a/testing/py3-flask-restaction/APKBUILD b/testing/py3-flask-restaction/APKBUILD
index 5fdf992822d..9cf60085f99 100644
--- a/testing/py3-flask-restaction/APKBUILD
+++ b/testing/py3-flask-restaction/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-flask-restaction
_pkgname=flask-restaction
pkgver=0.25.3
-pkgrel=3
+pkgrel=8
pkgdesc="Flask RESTful API extension"
-url="https://pypi.python.org/pypi/flask-restaction"
+url="https://pypi.org/project/flask-restaction"
arch="noarch"
license="MIT"
# Has missing dependencies
depends="python3 py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-restaction" # Backwards compatibility
+replaces="py-flask-restaction" # Backwards compatibility
provides="py-flask-restaction=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="ac49d7547b036be9d0f40a632afce4df8718e2cb2cd205f93fd8ee6f560b894f8bc07fa00907ac92824d97001c4d8b9c99f92414ba69f4dbfe6a4e5955251c4e flask-restaction-0.25.3.tar.gz"
diff --git a/testing/py3-flask-restful/APKBUILD b/testing/py3-flask-restful/APKBUILD
deleted file mode 100644
index 724b039baed..00000000000
--- a/testing/py3-flask-restful/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-flask-restful
-_pkgname=Flask-RESTful
-pkgver=0.3.9
-pkgrel=1
-pkgdesc="Flask RESTful API extension"
-url="https://pypi.python.org/pypi/Flask-RESTful"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 py3-flask"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-flask-restful" # Backwards compatibility
-provides="py-flask-restful=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-b3cab1ca9451c4fddaa30dc5fda6dc4c36d01ec4ee684f433f76935e66fad71b870880a4f197cdc7af8f5786ae630e014f2571635a7e20a13a50ee8b270dd734 Flask-RESTful-0.3.9.tar.gz
-"
diff --git a/testing/py3-flask-restless/APKBUILD b/testing/py3-flask-restless/APKBUILD
index 39e74d8782b..b37b23d04c1 100644
--- a/testing/py3-flask-restless/APKBUILD
+++ b/testing/py3-flask-restless/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-flask-restless
_pkgname=Flask-Restless
pkgver=0.17.0
-pkgrel=4
+pkgrel=9
pkgdesc="Flask ReSTful API generation extension"
-url="https://pypi.python.org/pypi/Flask-Restless"
+url="https://pypi.org/project/Flask-Restless"
arch="noarch"
license="AGPL-3.0-or-later OR BSD-3-Clause"
depends="python3 py3-flask"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-flask-restless" # Backwards compatibility
+replaces="py-flask-restless" # Backwards compatibility
provides="py-flask-restless=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="c7fc7ee0626f010af528fce02dcfb896673c5ba81e9815acc50f5060a826a95a7f5c5af966a3bc6f222416d161dad70cad25acb43e9575621d036f0315d526d3 Flask-Restless-0.17.0.tar.gz"
diff --git a/testing/py3-flask-security/APKBUILD b/testing/py3-flask-security/APKBUILD
new file mode 100644
index 00000000000..0c75cb9c8f0
--- /dev/null
+++ b/testing/py3-flask-security/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=py3-flask-security
+pkgver=5.4.3
+pkgrel=1
+pkgdesc="Quick and simple security for Flask applications"
+url="https://github.com/Flask-Middleware/flask-security"
+arch="noarch"
+license="MIT"
+depends="
+ py3-email-validator
+ py3-flask
+ py3-flask-babel
+ py3-flask-login
+ py3-flask-mailman
+ py3-flask-principal
+ py3-flask-sqlalchemy
+ py3-flask-wtf
+ py3-itsdangerous
+ py3-passlib
+ py3-phonenumbers
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-dateutil
+ py3-pytest
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/Flask-Middleware/flask-security/archive/$pkgver/py3-flask-security-$pkgver.tar.gz
+ nowarnings.patch
+ remove_importlib_resources.patch
+ "
+builddir="$srcdir/flask-security-$pkgver"
+options="!check" # tests broken
+
+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 -n auto
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+9fdce3dfbfd622ae417166da383bb8bf744648b92026b4f28640e6658d355d25f7267382636bc1a5cc47969a7c0ebdd43d66b29aaafdd0cf7a6cafb248aff7a6 py3-flask-security-5.4.3.tar.gz
+5d0367c29f69362b1df536f26a7f399c25a351c46572cc37ffc5526c124a860a8fc0a0b01b19483daded64990247a0e48761c25e6b2a9316fbd293088315d016 nowarnings.patch
+1d77cf6d7a57100a072a788cd1e4b362f3ff8fe6e4cce8fdf777f1891ce365d9d7958e956f8c7b6ff9c1079234e21b095a6cb99ed687cd907ad8cc86030da36d remove_importlib_resources.patch
+"
diff --git a/testing/py3-flask-security/nowarnings.patch b/testing/py3-flask-security/nowarnings.patch
new file mode 100644
index 00000000000..36d0daae88a
--- /dev/null
+++ b/testing/py3-flask-security/nowarnings.patch
@@ -0,0 +1,12 @@
+diff --git a/pytest.ini b/pytest.ini
+index 6272c1f..3511a1d 100644
+--- a/pytest.ini
++++ b/pytest.ini
+@@ -16,7 +16,6 @@ markers =
+ webauthn
+
+ filterwarnings =
+- error
+ ignore::DeprecationWarning:mongoengine:
+ ignore::DeprecationWarning:flask_login:0
+ ignore::DeprecationWarning:pydantic_core:0
diff --git a/testing/py3-flask-security/remove_importlib_resources.patch b/testing/py3-flask-security/remove_importlib_resources.patch
new file mode 100644
index 00000000000..f563d8f8b32
--- /dev/null
+++ b/testing/py3-flask-security/remove_importlib_resources.patch
@@ -0,0 +1,13 @@
+diff --git a/flask_security/babel.py b/flask_security/babel.py
+index 44c6d2f..c4a29bf 100644
+--- a/flask_security/babel.py
++++ b/flask_security/babel.py
+@@ -18,7 +18,7 @@
+ from collections.abc import Iterable
+ import atexit
+ from contextlib import ExitStack
+-from importlib_resources import files, as_file
++from importlib.resources import files, as_file
+
+ import typing as t
+
diff --git a/testing/py3-flask-sqlalchemy/APKBUILD b/testing/py3-flask-sqlalchemy/APKBUILD
deleted file mode 100644
index 218fcc8ca21..00000000000
--- a/testing/py3-flask-sqlalchemy/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor:
-# Maintainer: Philipp Glaum <p@pglaum.de>
-pkgname=py3-flask-sqlalchemy
-_pkgname=Flask-SQLAlchemy
-pkgver=2.5.1
-pkgrel=2
-pkgdesc="Adds SQLAlchemy support to your Flask application."
-url="https://pypi.org/project/Flask-SQLAlchemy/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 py3-flask py3-greenlet py3-sqlalchemy"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-5d483418204030837e62769d45c16af88c5be6dbafc7c340cc4e67ef1736ea5102f506156119864cd7673cf382b0d3f27050bda64273b93ef4805fce9e1a0f6f Flask-SQLAlchemy-2.5.1.tar.gz
-"
diff --git a/testing/py3-flask-themer/APKBUILD b/testing/py3-flask-themer/APKBUILD
index b3ae65d3abd..d8664fee0e2 100644
--- a/testing/py3-flask-themer/APKBUILD
+++ b/testing/py3-flask-themer/APKBUILD
@@ -2,10 +2,10 @@
# Maintainer: Éloi Rivard <eloi.rivard@aquilenet.fr>
pkgname=py3-flask-themer
_pyname=flask-themer
-pkgver=1.4.3
+pkgver=2.0.0
pkgrel=1
pkgdesc="Simple theme mechanism for Flask"
-url="http://packages.python.org/pypi/flask-themer"
+url="https://pypi.org/project/flask-themer"
arch="noarch"
license="MIT"
depends="py3-flask"
@@ -14,6 +14,7 @@ checkdepends="
py3-pytest-cov
"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/TkTech/flask-themer/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir/flask-themer-$pkgver"
@@ -26,9 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-21287b19e907423e656d16fcdebdca00589d8915714d88fcd054408db2ae820a1e8d25cffc819f5b710ec6ad6265598ef831b22dbd6d81ac2a5111742214101e py3-flask-themer-1.4.3.tar.gz
+334f72e5f8fb888c1cf1067e5b29b587e9c67708845d1efb00a8c4dbe30f3e7c684734b584d4c64b3516b75fdebd92b7c14355a3aa0d68f7c60fd7a983c29a14 py3-flask-themer-2.0.0.tar.gz
"
diff --git a/testing/py3-forbiddenfruit/APKBUILD b/testing/py3-forbiddenfruit/APKBUILD
index 48fd381badb..976ec243c05 100644
--- a/testing/py3-forbiddenfruit/APKBUILD
+++ b/testing/py3-forbiddenfruit/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Dmitry Romanenko <dmitry@romanenko.in>
pkgname=py3-forbiddenfruit
_pkgname=forbiddenfruit
-pkgver=0.1.3
-pkgrel=3
+pkgver=0.1.4
+pkgrel=2
pkgdesc="Patch built-in python objects"
url="https://github.com/clarete/forbiddenfruit"
arch="all"
@@ -11,8 +11,10 @@ license="GPL-3.0-or-later OR MIT"
depends="python3"
checkdepends="py3-nose py3-coverage"
makedepends="python3-dev py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/f/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
+options="!check" # fail with 3.11
build() {
python3 setup.py build
@@ -24,7 +26,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="abd3e95a03f60bbe2c522cc77487fcbafce1325e1537bcfdaaa347db0eb283adf3c97c08b5cb05e37a3ee10f5bff160bc8c96e61f1b5aa64a55f58dd1563d25b forbiddenfruit-0.1.3.tar.gz"
+sha512sums="
+88f8751a9ca1d475eb74114787a7aeda02973e9bc2c4bbb08de8a4d6fe05c6fb82db093aace8f718caaaeb8b06c89112e5f418b8ee4d903cc6183ddfa2cdb087 forbiddenfruit-0.1.4.tar.gz
+"
diff --git a/testing/py3-fpdf/APKBUILD b/testing/py3-fpdf/APKBUILD
index 87bcaed94b0..98e6a039fa3 100644
--- a/testing/py3-fpdf/APKBUILD
+++ b/testing/py3-fpdf/APKBUILD
@@ -1,13 +1,14 @@
# Maintainer: Michał Adamski <michal@ert.pl>
pkgname=py3-fpdf
pkgver=1.7.2
-pkgrel=2
+pkgrel=5
pkgdesc="Simple PDF generation for Python"
url="https://pyfpdf.readthedocs.io/en/latest/"
arch="noarch"
license="LGPL-3.0-or-later"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/f/fpdf/fpdf-$pkgver.tar.gz"
builddir="$srcdir/fpdf-$pkgver"
@@ -20,6 +21,6 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="3a4b4f363f36f821b5626b656b0ad199379aca171c7dd2a019e94f3bc39570b5624111d9fb3f8e0a7662e8f31184158e67263a475101378e84c200ebbbbcdd63 fpdf-1.7.2.tar.gz"
diff --git a/testing/py3-freetype-py/APKBUILD b/testing/py3-freetype-py/APKBUILD
new file mode 100644
index 00000000000..f62d4957823
--- /dev/null
+++ b/testing/py3-freetype-py/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Thomas Aldrian <aldrian.thom@proton.me>
+pkgname=py3-freetype-py
+pkgver=2.4.0
+pkgrel=1
+pkgdesc="FreeType Python bindings"
+url="https://github.com/rougier/freetype-py"
+arch="all"
+license="BSD-3-Clause"
+depends="freetype"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rougier/freetype-py/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/freetype-py-$pkgver/"
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+
+ 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 tests
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+82cdb06cfae90bb94b5a2c91235ebc39e03ed85da92db139f6edddc09e219b07a9b6983b0990998fb0baaab2e92c628cf08d9b90a635a91636e17d2b228109e7 py3-freetype-py-2.4.0.tar.gz
+"
diff --git a/testing/py3-funcparserlib/APKBUILD b/testing/py3-funcparserlib/APKBUILD
index 1e25d4f59d1..b724d32627a 100644
--- a/testing/py3-funcparserlib/APKBUILD
+++ b/testing/py3-funcparserlib/APKBUILD
@@ -2,26 +2,32 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-funcparserlib
_pkgname=funcparserlib
-pkgver=0.3.6
-pkgrel=7
+pkgver=1.0.1
+pkgrel=4
pkgdesc="Recursive descent parsing library based on functional combinators"
url="https://github.com/vlasovskikh/funcparserlib"
arch="noarch"
license="MIT"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-poetry-core py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-funcparserlib" # for backwards compatibility
+replaces="py-funcparserlib" # for backwards compatibility
provides="py-funcparserlib=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="efa52f788aa902b099660cb8bc60a025085a8c383e52bd0824a0c3ae28a6c13804a0659de0c80b4dcd839ee70491805d4eecda6cea221e35c3750ec569098c24 funcparserlib-0.3.6.tar.gz"
+sha512sums="
+721673b7d79c19cd3cbad8387297644790581057d077139fe6efbaa14bc5ad28dc9074b34728bdd9ea1c00c56c402ce329d9f53728e59030408fd87059339f79 funcparserlib-1.0.1.tar.gz
+"
diff --git a/testing/py3-furl/APKBUILD b/testing/py3-furl/APKBUILD
index c267753c259..828c12059e4 100644
--- a/testing/py3-furl/APKBUILD
+++ b/testing/py3-furl/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-furl
_pkgname=furl
-pkgver=2.1.2
-pkgrel=1
+pkgver=2.1.3
+pkgrel=2
pkgdesc="Python3 URL manipulator"
url="https://github.com/gruns/furl"
arch="noarch"
@@ -11,6 +11,7 @@ license="Unlicense"
depends="py3-orderedmultidict py3-six"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-flake8 py3-pycodestyle py3-pyflakes"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/f/furl/furl-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -23,9 +24,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-d788344d129b511d00debe2cd4ee7c555453a0bf5e81444cededf48fe3b51fa2b45cdead6ddffb42837cb8684d085a3b5773b65a82cef87f6b16f60f1fcbc778 furl-2.1.2.tar.gz
+ce7455bd1a352243efd9715e80e9f9979631cc058927edcd8c52ccb85d27fd8f32079611bb29c487d2add2d1d941d56e4db75520339dc371b1539811ccefda02 furl-2.1.3.tar.gz
"
diff --git a/testing/py3-fuzzywuzzy/APKBUILD b/testing/py3-fuzzywuzzy/APKBUILD
index 39b68df43af..ad0fce208a4 100644
--- a/testing/py3-fuzzywuzzy/APKBUILD
+++ b/testing/py3-fuzzywuzzy/APKBUILD
@@ -3,14 +3,15 @@
pkgname=py3-fuzzywuzzy
_pyname=fuzzywuzzy
pkgver=0.18.0
-pkgrel=2
+pkgrel=6
pkgdesc="Fuzzy string matching in python"
url="https://github.com/seatgeek/fuzzywuzzy"
arch="noarch"
license="GPL-2.0-only"
-depends="python3"
+depends="python3 py3-levenshtein"
makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-pycodestyle py3-hypothesis py3-levenshtein"
+checkdepends="py3-pytest py3-pycodestyle py3-hypothesis"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -23,7 +24,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="4a21ea67278fa525842d48fed8db666d00eae6d13254e8844d11f63b47c3a305b3cac760f28c24c6347aebcf73e96180e0a7cfba29c75f01ece2f7751e0398c5 fuzzywuzzy-0.18.0.tar.gz"
+sha512sums="
+4a21ea67278fa525842d48fed8db666d00eae6d13254e8844d11f63b47c3a305b3cac760f28c24c6347aebcf73e96180e0a7cfba29c75f01ece2f7751e0398c5 fuzzywuzzy-0.18.0.tar.gz
+"
diff --git a/testing/py3-geoip/APKBUILD b/testing/py3-geoip/APKBUILD
new file mode 100644
index 00000000000..18e136b703f
--- /dev/null
+++ b/testing/py3-geoip/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Weilu Jia <optix2000@gmail.com>
+# Maintainer: Weilu Jia <optix2000@gmail.com>
+pkgname=py3-geoip
+pkgver=1.3.2
+pkgrel=3
+pkgdesc="MaxMind GeoIP Legacy Database - Python API"
+url="https://github.com/maxmind/geoip-api-python"
+arch="all"
+license="LGPL-2.1-or-later"
+depends="python3 geoip"
+makedepends="py3-setuptools python3-dev geoip-dev"
+checkdepends="py3-nose"
+options="!check" # Until there's an easy way to download legacy GeoIP DBs
+source="https://pypi.python.org/packages/source/G/GeoIP/GeoIP-$pkgver.tar.gz"
+builddir="$srcdir/GeoIP-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+313af794d839e83408b40573566fb55483c1ddd663a7919b54751bc9da85cf855f9eb17d8fdb641702740da5c5d79d79d3d7f15b82fa88092f780d0c667c4e7a GeoIP-1.3.2.tar.gz
+"
diff --git a/testing/py3-gevent-websocket/APKBUILD b/testing/py3-gevent-websocket/APKBUILD
index 370629a58be..26cfadf5f23 100644
--- a/testing/py3-gevent-websocket/APKBUILD
+++ b/testing/py3-gevent-websocket/APKBUILD
@@ -3,14 +3,15 @@
pkgname=py3-gevent-websocket
_realname=gevent-websocket
pkgver=0.10.1
-pkgrel=3
+pkgrel=7
pkgdesc="gevent websockets library"
options="!check" # Requires unpackaged autobahntestsuite
-url="https://pypi.python.org/pypi/gevent-websocket/"
+url="https://pypi.org/project/gevent-websocket/"
arch="noarch"
license="Apache-2.0"
depends="python3 py3-gevent"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/g/$_realname/$_realname-$pkgver.tar.gz"
replaces="py-geventwebsocket" # Backwards compat
@@ -23,7 +24,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="4f25ec1646c223b89ddbb7cf4decae72cc4baa6e872443dc05994987f509068a806c8b5e135c433d631e35b3902227f0e4c89d8071aa74e24c06b0e543e8df93 gevent-websocket-0.10.1.tar.gz"
diff --git a/testing/py3-ghp-import/APKBUILD b/testing/py3-ghp-import/APKBUILD
deleted file mode 100644
index 5e1e6c78a59..00000000000
--- a/testing/py3-ghp-import/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=py3-ghp-import
-pkgver=2.0.1
-pkgrel=1
-pkgdesc="copy your docs directly to the gh-pages branch"
-url="https://github.com/c-w/ghp-import"
-arch="noarch"
-license="Apache-2.0"
-depends="python3 py3-dateutil"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/g/ghp-import/ghp-import-$pkgver.tar.gz"
-builddir="$srcdir/ghp-import-$pkgver"
-options="!check" # No tests.
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-8e53b1a516a8d9780159d57b3973ebe02bbc4f60788470ec823c99608c2b026f5c43a12796506adf039420f06964a11d9e7e318cf9ea10df167faddd8b6f9707 ghp-import-2.0.1.tar.gz
-"
diff --git a/testing/py3-git-versioner/APKBUILD b/testing/py3-git-versioner/APKBUILD
new file mode 100644
index 00000000000..398c12b2d8d
--- /dev/null
+++ b/testing/py3-git-versioner/APKBUILD
@@ -0,0 +1,50 @@
+# Maintainer: Frank Oltmanns <alpine@oltmanns.dev>
+pkgname=py3-git-versioner
+pkgver=7.1
+pkgrel=1
+pkgdesc="Manage current / next version for project"
+url="https://gitlab.com/alelec/__version__"
+arch="noarch"
+license="MIT"
+depends="py3-setuptools"
+makedepends="
+ py3-wheel
+ py3-gpep517"
+source="https://gitlab.com/alelec/__version__/-/archive/v$pkgver/__version__-v$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+builddir="$srcdir/__version__-v$pkgver"
+
+prepare() {
+ default_prepare
+
+ # The wheel needs to be built twice for bootstrapping.
+ # The first build creates a wheel with version number 0.0.0
+ msg "Bootstrapping ..."
+ GIT_VERSIONER_VERSION_PY=$pkgver \
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+ # Remove the first build
+ rm -r .dist
+}
+
+build() {
+ # Now build again to build the wheel with the correct version number
+ GIT_VERSIONER_VERSION_PY=$pkgver \
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python test.py
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" .dist/*.whl
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/"$pkgname"
+}
+
+sha512sums="
+34b6fb4ad5bcec3c3ba78451c6c9716b330aca11e4752daa8ddaad6c1fbd1ddc9f263e24263bb02e96e28df656cf9c04f31cc67ac6edd8d025f82a7a77b54f46 __version__-v7.1.tar.gz
+"
diff --git a/testing/py3-github3/APKBUILD b/testing/py3-github3/APKBUILD
index 1b251be46b7..c9e68679b1c 100644
--- a/testing/py3-github3/APKBUILD
+++ b/testing/py3-github3/APKBUILD
@@ -2,26 +2,53 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-github3
_pkgname=github3.py
-pkgver=1.3.0
-pkgrel=4
+pkgver=4.0.1
+pkgrel=1
pkgdesc="Python wrapper for the GitHub API"
url="https://github3py.readthedocs.org/"
arch="noarch"
license="BSD-3-Clause"
-depends="py3-dateutil py3-jwcrypto py3-requests py3-uritemplate py3-six"
-makedepends="py3-setuptools"
+depends="
+ py3-cryptography
+ py3-dateutil
+ py3-jwt
+ py3-requests
+ py3-uritemplate
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-hatchling
+ "
+checkdepends="
+ py3-betamax
+ py3-betamax_matchers
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
+builddir="$srcdir/github3.py-$pkgver"
replaces="py-github3" # Backwards compatibility
provides="py-github3=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py 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 -n auto -k 'not test_delete_key'
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="b57526f9ac2ce70569abbe8e8efcdc77376885b8f81a48d10ed255c9cdb530d0b9e544612781ffeadbedef08e04fe63cec3dbe029b6d86d15aeff143ce620366 github3.py-1.3.0.tar.gz"
+sha512sums="
+a79f7e4c48405318bd61d03c7a8b2dc3629f6e2d8e954e316fba319115dd12c6e5e2fd69a00743e86078367b083841dbc494704e66ffda8582fb48c614ecf5b2 github3.py-4.0.1.tar.gz
+"
diff --git a/testing/py3-gitlab/APKBUILD b/testing/py3-gitlab/APKBUILD
new file mode 100644
index 00000000000..28fac140ffc
--- /dev/null
+++ b/testing/py3-gitlab/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-gitlab
+_pyname=${pkgname/py3/python}
+pkgver=4.4.0
+pkgrel=1
+pkgdesc="Python wrapper for Gitlab's API"
+url="https://github.com/python-gitlab/python-gitlab"
+arch="noarch"
+license="LGPL-3.0-or-later"
+depends="python3 py3-requests py3-requests-toolbelt"
+makedepends="
+ py3-setuptools
+ py3-gpep517
+ py3-installer
+ py3-wheel
+ py3-sphinx
+ py3-sphinxcontrib-autoprogram
+ py3-myst-parser
+ "
+checkdepends="py3-pytest py3-responses py3-build"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/python-gitlab/python-gitlab/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+ sphinx-build -W -b man docs/ man/
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest --ignore=tests/functional/ \
+ --deselect tests/smoke/test_dists.py::test_sdist_includes_correct_files
+# FAILED tests/smoke/test_dists.py::test_sdist_includes_correct_files - FileNot...
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+ install -Dm644 man/$_pyname.1 \
+ "$pkgdir"/usr/share/man/man1/$_pyname.1
+}
+
+sha512sums="
+cb572d169d948dcd74b1d85fb4e8fc2b2593ad167dd708f38bcaf5cccacc8a8b32231b2231d9cb69909e63ba0ce2c6f1cf522f21df56659343314ea2c0d39645 py3-gitlab-4.4.0.tar.gz
+"
diff --git a/testing/py3-glob2/APKBUILD b/testing/py3-glob2/APKBUILD
index f16ce698b59..8b29fc9de58 100644
--- a/testing/py3-glob2/APKBUILD
+++ b/testing/py3-glob2/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-glob2
_pkgname=glob2
pkgver=0.7
-pkgrel=3
+pkgrel=5
pkgdesc="Version of the glob module that supports recursion via **, and can capture patterns"
url="https://github.com/miracle2k/python-glob2"
arch="noarch"
@@ -11,6 +11,7 @@ license="BSD-2-Clause"
depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -23,7 +24,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="6707c33782373cd71b1794ef3a143f6c0ceb5733bec944d16596eb4662df4c788328078b621bdda6096da95ec2f267256fca620dd7691eb02bf0ce940dd4150e glob2-0.7.tar.gz"
diff --git a/testing/py3-gls/APKBUILD b/testing/py3-gls/APKBUILD
index 9b11f73e3f5..ec7e8f6644c 100644
--- a/testing/py3-gls/APKBUILD
+++ b/testing/py3-gls/APKBUILD
@@ -1,30 +1,37 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-gls
-pkgver=0.11.3
-pkgrel=0
+pkgver=1.3.1
+pkgrel=1
pkgdesc="pythonic generic language server"
url="https://github.com/openlawlibrary/pygls"
arch="noarch"
license="Apache-2.0"
-depends="python3 py3-pydantic py3-typeguard"
-makedepends="py3-setuptools py3-setuptools_scm py3-toml py3-wheel"
-checkdepends="py3-pytest py3-pytest-asyncio py3-mock"
-source="$pkgname-$pkgver.tar.gz::https://pypi.python.org/packages/source/p/pygls/pygls-$pkgver.tar.gz"
+depends="py3-lsprotocol py3-cattrs"
+makedepends="py3-gpep517 py3-wheel py3-poetry-core"
+checkdepends="py3-pytest py3-pytest-asyncio"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/openlawlibrary/pygls/archive/refs/tags/v$pkgver.tar.gz
+ "
builddir="$srcdir/pygls-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="." pytest
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-2209fa3f8cfd82de4edfe832f4e01ee8f805bbc145dca7f5f35d99919b2aace4a9c25fb61539d065509e163dc3db51cf8ec17b163ffd7ed4a25f33ac0c520a11 py3-gls-0.11.3.tar.gz
+ef5d516d2da7e747fafd0a333157a964efcc7bcb424b2171451eb4f4084ada40ea2294cfa2322201b052a10f2958cbf2ea05748fbf7890bc4fbf6d82e154f9d4 py3-gls-1.3.1.tar.gz
"
diff --git a/testing/py3-gnupg/APKBUILD b/testing/py3-gnupg/APKBUILD
deleted file mode 100644
index 3c9da75e9eb..00000000000
--- a/testing/py3-gnupg/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
-pkgname=py3-gnupg
-pkgver=0.4.8
-pkgrel=1
-pkgdesc="Python3 wrapper for the Gnu Privacy Guard (GPG or GnuPG)"
-url="https://gnupg.readthedocs.io/en/latest/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 gnupg"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://pypi.io/packages/source/p/python-gnupg/python-gnupg-$pkgver.tar.gz"
-builddir="$srcdir/python-gnupg-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- NO_EXTERNAL_TESTS=no pytest -v
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-fcaa121a356595328a26e8184280f859dfc2771b9692dcf28db2d9b0fdddc77d4c1238665a8e419758ec17320616e7741aacd3638e37d449b86fe5555beef1f6 python-gnupg-0.4.8.tar.gz
-"
diff --git a/testing/py3-google-trans-new/APKBUILD b/testing/py3-google-trans-new/APKBUILD
new file mode 100644
index 00000000000..09b4980e984
--- /dev/null
+++ b/testing/py3-google-trans-new/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer:
+pkgname=py3-google-trans-new
+pkgver=1.1.9
+pkgrel=2
+pkgdesc="Free and unlimited python API for google translate"
+url="https://github.com/lushan88a/google_trans_new"
+arch="noarch"
+license="MIT"
+depends="
+ py3-requests
+ py3-urllib3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/g/google_trans_new/google_trans_new-$pkgver.tar.gz"
+builddir="$srcdir/google_trans_new-$pkgver"
+options="!check" # no tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+c9d00b62b5ae3169d11b5f07aed0f0a71950e67fb875eaa32ecb5a1bd26388ac954abb7c124e01b278850bef887e507e468d39d2df891a6018abf436d2850278 google_trans_new-1.1.9.tar.gz
+"
diff --git a/testing/py3-googletrans/APKBUILD b/testing/py3-googletrans/APKBUILD
new file mode 100644
index 00000000000..7c78a51683f
--- /dev/null
+++ b/testing/py3-googletrans/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Eloi Torrents <eloitor@disroot.org>
+# Maintainer: Eloi Torrents <eloitor@disroot.org>
+pkgname=py3-googletrans
+pkgver=3.0.0
+pkgrel=4
+pkgdesc="Free Google Translate API for Python"
+url="https://py-googletrans.readthedocs.io/en/latest/"
+arch="noarch !armhf !ppc64le" # missing py3-httpx
+license="MIT"
+depends="
+ py3-httpx
+ python3
+ "
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="
+ https://pypi.io/packages/source/g/googletrans/googletrans-$pkgver.tar.gz
+ client.patch
+ "
+builddir="$srcdir/googletrans-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+1a31c52e1fc72ab45131c95ff3649d1d679e3c082adc2b43ba1e5d9bbc57bf740c9e14575c6416e406e6e6e1796cac57330fbb1a639ad96841464e042ef70981 googletrans-3.0.0.tar.gz
+00eaccaa3da8ebc7d18cde5970683667871fe849b510ce7609ee2b7a3c84d4fa60e89a51104be3b90f6fcff79580e6c438a5411a94fa7e846fcab6061409a062 client.patch
+"
diff --git a/testing/py3-googletrans/client.patch b/testing/py3-googletrans/client.patch
new file mode 100644
index 00000000000..5f1c1256277
--- /dev/null
+++ b/testing/py3-googletrans/client.patch
@@ -0,0 +1,12 @@
+--- a/googletrans/client.py
++++ b/googletrans/client.py
+@@ -52,7 +52,7 @@
+
+ def __init__(self, service_urls=None, user_agent=DEFAULT_USER_AGENT,
+ raise_exception=DEFAULT_RAISE_EXCEPTION,
+- proxies: typing.Dict[str, httpcore.SyncHTTPTransport] = None, timeout: Timeout = None):
++ proxies: typing.Dict[str, httpcore.HTTPProxy] = None, timeout: Timeout = None):
+
+ self.client = httpx.Client()
+ if proxies is not None: # pragma: nocover
+
diff --git a/testing/py3-grequests/APKBUILD b/testing/py3-grequests/APKBUILD
new file mode 100644
index 00000000000..7a3f27cf1d5
--- /dev/null
+++ b/testing/py3-grequests/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=py3-grequests
+_pkgname=grequests
+pkgver=0.7.0
+pkgrel=1
+pkgdesc="Asynchronus HTTP requests with gevent"
+url="https://github.com/spyoungtech/grequests"
+arch="noarch"
+license="BSD-2-Clause"
+depends="python3 py3-gevent py3-requests"
+makedepends="py3-setuptools"
+checkdepends="py3-nose"
+subpackages="$pkgname-pyc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/spyoungtech/grequests/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # need net to httpbin and timeout quickly
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ nosetests
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+ff3e57c7ed8ea643ad0b7a1987216e98de77d650807037a3c953f8fdb8e9a0090d79debb54205a13934c10043e4d3693336b9d9c1b5342fef383221bfefd5330 grequests-0.7.0.tar.gz
+"
diff --git a/testing/py3-guessit/APKBUILD b/testing/py3-guessit/APKBUILD
deleted file mode 100644
index b6c713852dd..00000000000
--- a/testing/py3-guessit/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Philipp Glaum <p@pglaum.de>
-# Maintainer: Philipp Glaum <p@pglaum.de>
-pkgname=py3-guessit
-pkgver=3.3.1
-pkgrel=1
-pkgdesc="Library for guessing information from video filenames"
-url="https://pypi.org/project/guessit/"
-arch="noarch !mips64"
-license="LGPL-3.0-only"
-depends="python3 py3-rebulk py3-babelfish py3-dateutil py3-six py3-setuptools"
-makedepends="py3-wheel py3-pytest-runner"
-checkdepends="py3-pytest py3-pytest-benchmark py3-yaml"
-source="https://files.pythonhosted.org/packages/source/g/guessit/guessit-$pkgver.tar.gz"
-builddir="$srcdir/guessit-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/guessit/test
-}
-
-sha512sums="
-42c87525ea2d9c808e30b50db674862f5362f26b95ba5e6bc163df03a261d9b24daf4b4d525677d3e6d53e8e7f637c3d9e0ba3f25f4397e0658b618f50a3248b guessit-3.3.1.tar.gz
-"
diff --git a/testing/py3-halo/APKBUILD b/testing/py3-halo/APKBUILD
index 0474b88e88a..2ce74e0d31a 100644
--- a/testing/py3-halo/APKBUILD
+++ b/testing/py3-halo/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-halo
_pyname=halo
pkgver=0.0.31
-pkgrel=1
+pkgrel=4
pkgdesc="Python library for terminal spinners"
url="https://github.com/manrajgrover/halo"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="python3 py3-log-symbols py3-spinners py3-termcolor py3-colorama py3-six"
makedepends="py3-setuptools"
options="!check" # no tests
+subpackages="$pkgname-pyc"
source="$_pyname-$pkgver.tar.gz::https://pypi.python.org/packages/source/h/halo/halo-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -19,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-hatch-openzim-bootstrap/APKBUILD b/testing/py3-hatch-openzim-bootstrap/APKBUILD
new file mode 100644
index 00000000000..363cf9c4aff
--- /dev/null
+++ b/testing/py3-hatch-openzim-bootstrap/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=py3-hatch-openzim-bootstrap
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="Bootstrap for py3-hatch-plugin"
+url="https://github.com/openzim/hatch-openzim/"
+arch="noarch"
+license="GPL-3.0-or-later"
+makedepends="py3-gpep517 py3-hatchling py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-cov"
+subpackages="$pkgname-pyc"
+source="py3-hatch-openzim-$pkgver.tar.gz::https://github.com/openzim/hatch-openzim/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/hatch-openzim-$pkgver"
+
+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
+
+ # it is expected that test_metadata_nominal will fail
+ # (git tarball in use),
+ # reported upstream:
+ # https://github.com/openzim/hatch-openzim/issues/13
+ .testenv/bin/python3 -m pytest \
+ -k "not test_metadata_nominal"
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+5d7a0c75de7517c2e1f9649fd04d43577373f28dfcaa12dc15788e045226ef93f1cb7346a806169c5131749970fbe45a582006189c47daa60d9769cb2fab15db py3-hatch-openzim-0.1.0.tar.gz
+"
diff --git a/testing/py3-hatch-openzim/APKBUILD b/testing/py3-hatch-openzim/APKBUILD
new file mode 100644
index 00000000000..f753a39fd6e
--- /dev/null
+++ b/testing/py3-hatch-openzim/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=py3-hatch-openzim
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Hhatch(ling) plugin for generic openZIM operations"
+url="https://github.com/openzim/hatch-openzim/"
+arch="noarch"
+license="GPL-3.0-or-later"
+makedepends="
+ py3-gpep517
+ py3-hatch-openzim-bootstrap
+ py3-hatchling
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest py3-pytest-cov"
+subpackages="$pkgname-pyc"
+source="py3-hatch-openzim-$pkgver.tar.gz::https://github.com/openzim/hatch-openzim/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/hatch-openzim-$pkgver"
+
+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="
+f14dc236a482495b9d96f9c2a8d9b56c3c39d019caec37304129fab118bdaf7a5f2fa0ed545e874c44515345715049c1ba981abfebb6b57dae995c4d840fdc20 py3-hatch-openzim-0.2.0.tar.gz
+"
diff --git a/testing/py3-hbmqtt/APKBUILD b/testing/py3-hbmqtt/APKBUILD
deleted file mode 100644
index baadbf12cee..00000000000
--- a/testing/py3-hbmqtt/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-hbmqtt
-_pkgname=hbmqtt
-pkgver=0.9.6
-pkgrel=2
-pkgdesc="MQTT client/broker using Python asynchronous I/O"
-url="https://hbmqtt.readthedocs.io/"
-arch="noarch"
-license="MIT"
-depends="py3-passlib py3-websockets py3-transitions py3-docopt py3-yaml"
-makedepends="python3-dev py3-setuptools"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/beerfactory/hbmqtt/archive/$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-options="!check" # FIXME: disable tests to unblock builders
-
-build() {
- cd "$builddir"
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"
- python3 setup.py test
-}
-
-package() {
- cd "$builddir"
- python3 setup.py install --root="$pkgdir" --optimize=1
-}
-
-sha512sums="dbbdd328296cb9545f4ea8843fdc951c72c53b54f87a6c589c8d19fa34d2f48a2fb902a918f34196009740b4b6574dc8aabd5c408dcea2905cbb7094238be834 hbmqtt-0.9.6.tar.gz"
diff --git a/testing/py3-helper/APKBUILD b/testing/py3-helper/APKBUILD
index 402d948ecc6..754e77723e8 100644
--- a/testing/py3-helper/APKBUILD
+++ b/testing/py3-helper/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-helper
_pkgname=helper
pkgver=2.5.0
-pkgrel=1
+pkgrel=4
pkgdesc="A Python library for quickly writing configurable applications and daemons"
url="https://helper.readthedocs.org/"
arch="noarch"
@@ -12,6 +12,7 @@ replaces="py-helper" # for backwards compatibility
provides="py-helper=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3 py3-yaml"
makedepends="python3-dev py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -20,7 +21,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-hg-git/APKBUILD b/testing/py3-hg-git/APKBUILD
index 183a8f8cdfe..14937fd2496 100644
--- a/testing/py3-hg-git/APKBUILD
+++ b/testing/py3-hg-git/APKBUILD
@@ -2,26 +2,36 @@
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=py3-hg-git
_pkgname="hg-git"
-pkgver=0.10.2
+pkgver=1.1.1
pkgrel=1
pkgdesc="Mercurial plugin to pull and push from Git"
url="https://hg-git.github.io"
arch="noarch"
license="GPL-2.0-only"
depends="py3-dulwich"
-makedepends="py3-setuptools"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
options="!check" # No tests.
build() {
- python3 setup.py build
+ SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver \
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-aab8f6d6d7fe9c40a742890c046c8c945e9b53a97218cf8927692b745a641843f58ea8ce30d74957df5036901d6a07cf4907c1fcf4653cc2ae7fc1389a2aa899 hg-git-0.10.2.tar.gz
+eeee47258ac4e9ef8a2dbaa75a660f4d9732adf37d701e8f13e60cca699705a7a1a9aa1ab50b48132ddfd2239f379a8501a8ecd2a85659f14690d713cc7d28c3 hg-git-1.1.1.tar.gz
"
diff --git a/testing/py3-hiplot/APKBUILD b/testing/py3-hiplot/APKBUILD
new file mode 100644
index 00000000000..34b3d22dac8
--- /dev/null
+++ b/testing/py3-hiplot/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
+# Maintainer: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
+pkgname=py3-hiplot
+pkgver=0.1.33
+pkgrel=1
+pkgdesc="HiPlot makes understanding high dimensional data easy"
+url="https://github.com/facebookresearch/hiplot"
+arch="noarch"
+license="MIT"
+depends="
+ python3
+ ipython
+ py3-beautifulsoup4
+ py3-flask
+ py3-flask-compress
+ py3-pandas
+ "
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest-xdist py3-pytest-cov py3-ipykernel py3-optuna"
+subpackages="$pkgname-pyc"
+source="https://github.com/facebookresearch/hiplot/archive/$pkgver/hiplot-$pkgver.tar.gz"
+builddir="$srcdir/hiplot-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+
+ # assertion errors or missing dependencies
+ local _skipped_tests="
+ test_to_filename
+ and not test_to_html
+ and not test_demos_streamlit
+ and not test_demos_ipython
+ "
+
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest -n auto -k "not $(echo $_skipped_tests)"
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+a21d564333e52797956cf17a0eb12827272718e2f98e9a793867f7b5a556f8f3edd38a724968b99894a299e05f90b350a1b65ca14061508f21395165081ec60a hiplot-0.1.33.tar.gz
+"
diff --git a/testing/py3-hjson/APKBUILD b/testing/py3-hjson/APKBUILD
deleted file mode 100644
index 5fc3258a0d4..00000000000
--- a/testing/py3-hjson/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-hjson
-pkgver=3.0.2
-pkgrel=2
-pkgdesc="a Python user interface for JSON"
-url="https://github.com/hjson/hjson-py"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="$pkgname-$pkgver.tar.gz::https://github.com/hjson/hjson-py/archive/v$pkgver.tar.gz"
-builddir="$srcdir/hjson-py-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="." pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/hjson/tests
-}
-
-sha512sums="f08541b981797859e39356d65916fff4fe6ec11a7deb98bd03efbbe7f1a1ea93f8cc4881c4e9d225086b489483d3960f0ef1a30333d403eacb5674c6c11336c6 py3-hjson-3.0.2.tar.gz"
diff --git a/testing/py3-hotqueue/APKBUILD b/testing/py3-hotqueue/APKBUILD
deleted file mode 100644
index 3e94175b7d5..00000000000
--- a/testing/py3-hotqueue/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-hotqueue
-_pkgname=hotqueue
-pkgver=0.2.8
-pkgrel=6
-pkgdesc="Python library that allows to use Redis as a message queue"
-options="!check" # Require running instance of redis server
-url="https://github.com/richardhenry/hotqueue"
-arch="noarch !armv7" # urllib2.HTTPError: HTTP Error 403: SSL is required
-license="MIT"
-depends="py3-redis"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-hotqueue" # Backwards compatibility
-provides="py-hotqueue=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="89a726aa970de5f0a3c3551e69b3efad00d6b795b59cfe219a35080be4be52b894637899cd1677572419180d8aa918a64b3d227371d2c409aa8da0e15876accf hotqueue-0.2.8.tar.gz"
diff --git a/testing/py3-html2markdown/APKBUILD b/testing/py3-html2markdown/APKBUILD
deleted file mode 100644
index 83e50618a19..00000000000
--- a/testing/py3-html2markdown/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=py3-html2markdown
-pkgver=0.1.7
-pkgrel=1
-pkgdesc="Conservatively convert html to markdown"
-url="https://github.com/dlon/html2markdown"
-arch="noarch"
-license="MIT"
-depends="
- py3-beautifulsoup4
- python3
- "
-makedepends="py3-setuptools"
-checkdepends="
- py3-markdown
- py3-pytest
- "
-#source="https://pypi.python.org/packages/source/h/html2markdown/html2markdown-$pkgver.tar.gz"
-source="https://github.com/dlon/html2markdown/archive/v$pkgver/html2markdown-v$pkgver.tar.gz"
-builddir="$srcdir/html2markdown-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest tests.py -k 'not test_inline_tag_content'
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-cd6a9fe266e9579e52dc85e8dfe09e817a36ed7b4c038f1a237d54f229aa3f70b961f923b2e1a90f649412a4a746df651853fc19178c82935fd3ccbc87297977 html2markdown-v0.1.7.tar.gz
-"
diff --git a/testing/py3-html5-parser/APKBUILD b/testing/py3-html5-parser/APKBUILD
new file mode 100644
index 00000000000..45e141599ba
--- /dev/null
+++ b/testing/py3-html5-parser/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=py3-html5-parser
+pkgver=0.4.12
+pkgrel=1
+pkgdesc="Fast C based HTML 5 parsing for python"
+url="https://github.com/kovidgoyal/html5-parser"
+arch="all"
+license="Apache-2.0"
+depends="py3-lxml py3-chardet"
+makedepends="
+ libxml2-dev
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="py3-beautifulsoup4"
+subpackages="$pkgname-pyc"
+source="https://github.com/kovidgoyal/html5-parser/archive/v$pkgver/py3-html5-parser-$pkgver.tar.gz"
+builddir="$srcdir/html5-parser-$pkgver"
+
+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 setup.py test
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+d2c031225b74d01a1ae3455837ac09e9afad8a4ec6ab1b8f66cbea8a86188db271a72570ef06e05ac56d369b41d97fc6f382455e25ca346a1897f62a3696a252 py3-html5-parser-0.4.12.tar.gz
+"
diff --git a/testing/py3-hurry.filesize/APKBUILD b/testing/py3-hurry.filesize/APKBUILD
index 8f14d52928a..f6e26129025 100644
--- a/testing/py3-hurry.filesize/APKBUILD
+++ b/testing/py3-hurry.filesize/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-hurry.filesize
_pkgname=hurry.filesize
pkgver=0.9
-pkgrel=3
+pkgrel=7
pkgdesc="A Python library for human readable file sizes"
-url="https://pypi.python.org/pypi/hurry.filesize"
+url="https://pypi.org/project/hurry.filesize"
arch="noarch"
license="ZPL-2.1"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -18,7 +19,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="24b7ebf5a6e833cec01d1904e5202ab5bde238fbeabb92d893866118e152c0f861f853e11bb71c58d84060bffaf0b7bc88221e37aaacc0b07751febf8a2b1606 hurry.filesize-0.9.tar.gz"
diff --git a/testing/py3-i18naddress/APKBUILD b/testing/py3-i18naddress/APKBUILD
index 9a70e06b2a3..8b9ce680505 100644
--- a/testing/py3-i18naddress/APKBUILD
+++ b/testing/py3-i18naddress/APKBUILD
@@ -1,32 +1,38 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Drew DeVault <sir@cmpwn.com>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-i18naddress
_pyname=google-i18n-address
-pkgver=2.4.0
+pkgver=3.1.0
pkgrel=2
pkgdesc="Address validation helpers for Google's i18n address database"
url="https://github.com/mirumee/google-i18n-address"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-requests"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-hatchling py3-installer py3-wheel"
checkdepends="py3-pytest"
-_pypiprefix="${_pyname%${_pyname#?}}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz
- python-3.9.patch"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mirumee/google-i18n-address/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
build() {
- python3 setup.py build
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- py.test-3
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --root="$pkgdir" --optimize=1
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="a64e598b838f9d83b70b4f6acb3dc6c8930239e44b726f39a8f973334e2927d0394d1f323ca53acd43f4d9abede2a7ee48427f48a90427cbae7aada4cd8f08a5 google-i18n-address-2.4.0.tar.gz
-b4538f0acdcd8fced7c2d6372428dda4fbcb61eed2d8acc1b9e77a1147ba8d7ee8e4f6b0b63c16d50533c8cbea933157aed8a09b14b5664170303f602d0b25ad python-3.9.patch"
+sha512sums="
+b47b5eeaf214a04614ed0976055d25fbce2d298c45db4bfe31b369cd27dc1e097b14d4fae62b5f8dd95be5693d2fda12d0b618029dc1f3ed2784e28b60c43ef9 py3-i18naddress-3.1.0.tar.gz
+"
diff --git a/testing/py3-i18naddress/python-3.9.patch b/testing/py3-i18naddress/python-3.9.patch
deleted file mode 100644
index 8dade13161b..00000000000
--- a/testing/py3-i18naddress/python-3.9.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From b1d63d980e8b1a666e312e1c05c9037e2920685b Mon Sep 17 00:00:00 2001
-From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Date: Fri, 29 Jan 2021 18:10:32 -0500
-Subject: [PATCH] Drop encoding parameter from json.load
-
-Apparently this is no longer an accepted keyword for json.load(), as
-of python 3.9.
-
-This was uncovered in https://bugs.debian.org/973175 where the
-google-i18n-address tests failed. But i haven't been able to find a
-reference for the change in python upstream. Perhaps the encoding
-parameter never did anything, but 3.9 became more strict about
-unhandled keywords.
-
-It looks like python's json module does bytestream encoding
-autodetection anyway so this should be safe to do:
-https://bugs.python.org/issue17909
----
- tests/test_downloader.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tests/test_downloader.py b/tests/test_downloader.py
-index f9be4ac..856e739 100644
---- a/tests/test_downloader.py
-+++ b/tests/test_downloader.py
-@@ -45,7 +45,7 @@ def test_downloader_country(tmpdir, country, file_names, data):
- for file_name in file_names:
- assert data_dir.join(file_name).exists()
- assert json.load(
-- data_dir.join(file_name), encoding='utf-8') == data[file_name]
-+ data_dir.join(file_name)) == data[file_name]
-
-
- def test_downloader_invalid_country():
diff --git a/testing/py3-i3ipc/APKBUILD b/testing/py3-i3ipc/APKBUILD
deleted file mode 100644
index 4b1d35e035b..00000000000
--- a/testing/py3-i3ipc/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=py3-i3ipc
-pkgver=2.2.1
-pkgrel=2
-pkgdesc="An improved Python library to control i3wm and sway"
-options="!check" # Requires unpackaged 'asyncio'
-url="https://github.com/altdesktop/i3ipc-python"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 py3-xlib"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/altdesktop/i3ipc-python/archive/v$pkgver.tar.gz"
-builddir="$srcdir/i3ipc-python-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="edbcec3cd0da53815dba22d696a17ddf909c39db771cf234befaa3130f8b56003ccc70eb28a07b286ab31c2cbb9d5893caf42b01ed20d61efdcd6359afbecc18 py3-i3ipc-2.2.1.tar.gz"
diff --git a/testing/py3-icalendar/APKBUILD b/testing/py3-icalendar/APKBUILD
deleted file mode 100644
index a5aa5301b1c..00000000000
--- a/testing/py3-icalendar/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-icalendar
-_pyname=icalendar
-pkgver=4.0.9
-pkgrel=1
-pkgdesc="icalendar parser library for Python"
-url="https://github.com/collective/icalendar"
-arch="noarch"
-license="BSD-2-Clause"
-depends="python3 py3-dateutil py3-tz"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-hypothesis"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="build:$PYTHONPATH" pytest -v "src/$_pyname/tests"
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-2eeb69da89207fe91661dfa6e9c2a623eb3be2fb5a48e999e87a881d7fecc1f339764124601b0610a14ce809f238c6731f30f2071bb4706206de10181365d1dd icalendar-4.0.9.tar.gz
-"
diff --git a/testing/py3-identify/APKBUILD b/testing/py3-identify/APKBUILD
deleted file mode 100644
index efc9e0ec2cd..00000000000
--- a/testing/py3-identify/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-identify
-_pyname=identify
-pkgver=2.4.4
-pkgrel=0
-pkgdesc="File identification library for Python"
-url="https://github.com/pre-commit/identify"
-arch="noarch"
-license="MIT"
-depends="python3 py3-ukkonen"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="$_pyname-$pkgver.tar.gz::https://github.com/pre-commit/identify/archive/refs/tags/v$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-34a93640ca96483599e0cfdb1d69f37f8f4cb659b68ee84824079ee177e93aeb259ebc654f5fb39d5a0b68d267ba3c963870c9c55b6676e12c21b7f7573438a4 identify-2.4.4.tar.gz
-"
diff --git a/testing/py3-igraph/APKBUILD b/testing/py3-igraph/APKBUILD
new file mode 100644
index 00000000000..9683d3e2424
--- /dev/null
+++ b/testing/py3-igraph/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-igraph
+_pyname=python-igraph
+pkgver=0.11.4
+pkgrel=1
+pkgdesc="Python interface for igraph"
+url="https://github.com/igraph/python-igraph"
+# s390x: libigraph-dev
+arch="all !s390x"
+license="GPL-2.0-only"
+depends="py3-texttable"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ libigraph-dev
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ python3-dev
+ "
+checkdepends="
+ py3-pillow
+ py3-pytest
+ "
+subpackages="$pkgname-dev $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/igraph/python-igraph/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+build() {
+ IGRAPH_USE_PKG_CONFIG=yes \
+ 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="
+aca2482967fd440da52299c82a949961ccfed20a347d08b74a19eb223a516ed76aaca47f587960ec42a15828038ce180d810d83d48367a08a858879f54d072ab py3-igraph-0.11.4.tar.gz
+"
diff --git a/testing/py3-imageio-ffmpeg/APKBUILD b/testing/py3-imageio-ffmpeg/APKBUILD
index 220a5f3788a..9546859a525 100644
--- a/testing/py3-imageio-ffmpeg/APKBUILD
+++ b/testing/py3-imageio-ffmpeg/APKBUILD
@@ -1,28 +1,44 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=py3-imageio-ffmpeg
-pkgver=0.4.5
-pkgrel=1
+pkgver=0.4.9
+pkgrel=0
pkgdesc="FFMPEG wrapper for Python"
url="https://github.com/imageio/imageio-ffmpeg"
arch="noarch"
license="BSD-2-Clause"
-depends="ffmpeg python3"
-makedepends="py3-setuptools"
-options="!check" # No test suite
-source="$pkgname-$pkgver.tar.gz::https://github.com/imageio/imageio-ffmpeg/archive/v$pkgver.tar.gz
- pip-requirement.patch
- "
+depends="ffmpeg python3 py3-setuptools"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-psutil py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/imageio/imageio-ffmpeg/archive/v$pkgver.tar.gz"
builddir="$srcdir/imageio-ffmpeg-$pkgver"
build() {
- python3 setup.py 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
+
+ # ppc64le fails test_write_pix_fmt_in with assert error
+ case "$CARCH" in
+ ppc64le)
+ .testenv/bin/python3 -m pytest \
+ --deselect tests/test_io.py::test_write_pix_fmt_in
+ ;;
+ *)
+ .testenv/bin/python3 -m pytest
+ ;;
+ esac
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --optimize=1
+ python3 -m installer -d "$pkgdir" .dist/*.whl
}
sha512sums="
-c4180903f7194cac880c3851b08e4563c6e12cb6336e321ca35a7baf92ec1de5a49880fd05db9c7c266327642d75830cac4060371cbdc76448fb0a2c21ab0c1c py3-imageio-ffmpeg-0.4.5.tar.gz
-4a4fd212fc6ac1a7720b65a36ad15927e25c73f84c5f1d970801b122e70e3e63475fc093be7a1009d8ca9f9d629200ffd7b6bc6a8f8bb46c1836100896d1872b pip-requirement.patch
+ebf63b9ac9c733d4c12d3aa4c6a9e81dd0128795a040e65df03bfae00e3562a3976eaa2f4058562bbddc3f8d63d6bf2a38133de4d2ddb0d2dc62ffab2449e143 py3-imageio-ffmpeg-0.4.9.tar.gz
"
diff --git a/testing/py3-imageio-ffmpeg/pip-requirement.patch b/testing/py3-imageio-ffmpeg/pip-requirement.patch
deleted file mode 100644
index ad2aaf6617d..00000000000
--- a/testing/py3-imageio-ffmpeg/pip-requirement.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --unified --recursive --text imageio-ffmpeg-0.4.3.orig/setup.py imageio-ffmpeg-0.4.3.new/setup.py
---- a/setup.py 2021-01-04 17:18:12.000000000 +0100
-+++ b/setup.py 2021-02-13 09:51:58.744209490 +0100
-@@ -57,7 +57,7 @@
- platforms="any",
- provides=["imageio_ffmpeg"],
- python_requires=">=3.4",
-- setup_requires=["pip>19"],
-+ setup_requires=[],
- install_requires=[],
- packages=["imageio_ffmpeg"],
- package_dir={"imageio_ffmpeg": "imageio_ffmpeg"},
diff --git a/testing/py3-imageio/APKBUILD b/testing/py3-imageio/APKBUILD
index 8be5d734752..e8629a361ac 100644
--- a/testing/py3-imageio/APKBUILD
+++ b/testing/py3-imageio/APKBUILD
@@ -1,33 +1,41 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=py3-imageio
-pkgver=2.10.3
+pkgver=2.34.0
pkgrel=1
pkgdesc="Python library that provides an easy interface to read and write a wide range of image data"
url="https://github.com/imageio/imageio"
license="BSD-2-Clause"
# ppc64le: test failures
-arch="noarch !ppc64le"
-depends="python3 py3-numpy py3-pillow freeimage"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-psutil py3-imageio-ffmpeg"
+# s390x: freeimage
+arch="noarch !ppc64le !s390x"
+depends="py3-numpy py3-pillow freeimage"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-psutil py3-imageio-ffmpeg py3-fsspec"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/i/imageio/imageio-$pkgver.tar.gz"
builddir="$srcdir/imageio-$pkgver"
+options="!check" # intentionally fail without internet(?), todo
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="$PWD"/build/lib IMAGEIO_NO_INTERNET=1 pytest -v
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ IMAGEIO_NO_INTERNET=1 .testenv/bin/python3 -m pytest -v
}
package() {
- python3 setup.py install --root="$pkgdir" --optimize=1
+ python3 -m installer -d "$pkgdir" .dist/*.whl
# remove unneeded binaries
+ # shellcheck disable=2115
rm -r "$pkgdir"/usr/bin
}
sha512sums="
-56bc2cbd0544b4ad6c3d4c85fcc2f6656605d9216dd640c649a977fbe46347b8053aad92ac3168716c461f0ec4647623ab93cc65816c7caccc19282e2fadcec8 py3-imageio-2.10.3.tar.gz
+ecbe0a85cf8ade6555aa49132678a13cdc44053884580f7bd8e6b7a8858473e8d0822e84c59e07546a8dde202d2f699e1c5a057b2dadc325b0517816730744a4 py3-imageio-2.34.0.tar.gz
"
diff --git a/testing/py3-imdbpy/APKBUILD b/testing/py3-imdbpy/APKBUILD
index 458a24762fa..915051a603a 100644
--- a/testing/py3-imdbpy/APKBUILD
+++ b/testing/py3-imdbpy/APKBUILD
@@ -1,13 +1,14 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=py3-imdbpy
pkgver=2021.4.18
-pkgrel=1
+pkgrel=4
pkgdesc="Python bindings for the Internet Movie Database (IMDb)"
url="https://imdbpy.sourceforge.io/"
arch="noarch"
license="GPL-2.0-or-later"
depends="py3-lxml py3-sqlalchemy"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/I/IMDbPY/IMDbPY-$pkgver.tar.gz"
options="!check" # Disable tests for now: https://github.com/alberanid/imdbpy/issues/240
builddir="$srcdir/IMDbPY-$pkgver"
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-incoming/APKBUILD b/testing/py3-incoming/APKBUILD
index 018c7bcc673..3df471d6bae 100644
--- a/testing/py3-incoming/APKBUILD
+++ b/testing/py3-incoming/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-incoming
_pkgname=incoming
pkgver=0.3.1
-pkgrel=3
+pkgrel=7
pkgdesc="A Python JSON validation framework"
url="https://github.com/vaidik/incoming"
arch="noarch"
@@ -11,7 +11,10 @@ license="MIT"
depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ assertEquals.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
replaces="py-incoming" # Backwards compatibility
@@ -26,7 +29,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="5018e919485450fd8e361d8d505ead8c5fd0c99e0349feecf372697e866eb53f6dca6186a49244b20b61ddb65f754d58b6c0e11aa0ae95e8c98f35983a691cb8 incoming-0.3.1.tar.gz"
+sha512sums="
+5018e919485450fd8e361d8d505ead8c5fd0c99e0349feecf372697e866eb53f6dca6186a49244b20b61ddb65f754d58b6c0e11aa0ae95e8c98f35983a691cb8 incoming-0.3.1.tar.gz
+7adbe0a1830818ad4bf5d3a424595b8dedeb33be80c40e8e957760fa293054ed6f655780d1cec418d1d393633a088a5fc2afab51e59775e63d0319d2e8106170 assertEquals.patch
+"
diff --git a/testing/py3-incoming/assertEquals.patch b/testing/py3-incoming/assertEquals.patch
new file mode 100644
index 00000000000..a05977d7321
--- /dev/null
+++ b/testing/py3-incoming/assertEquals.patch
@@ -0,0 +1,31 @@
+diff --git a/incoming/tests/test_datatypes.py b/incoming/tests/test_datatypes.py
+index c1e7586..6d8a6dc 100644
+--- a/incoming/tests/test_datatypes.py
++++ b/incoming/tests/test_datatypes.py
+@@ -136,3 +136,3 @@ class TestJSON(TestCase):
+ validator = datatypes.JSON(CustomJSONValidator)
+- self.assertEquals(
++ self.assertEqual(
+ validator.cls.inner.cls.__name__,
+diff --git a/incoming/tests/test_incoming.py b/incoming/tests/test_incoming.py
+index 7f0321b..1ac82e7 100644
+--- a/incoming/tests/test_incoming.py
++++ b/incoming/tests/test_incoming.py
+@@ -70,3 +70,3 @@ class TestPayloadValidator(TestCase):
+ self.assertTrue(result[0])
+- self.assertEquals(result[1], None)
++ self.assertEqual(result[1], None)
+
+@@ -205,5 +205,5 @@ class TestPayloadValidator(TestCase):
+ self.assertItemsEqual(errors.keys(), ['missing1', 'missing2'])
+- self.assertEquals(errors['missing1'][0],
++ self.assertEqual(errors['missing1'][0],
+ AnotherDummyValidator.strict_error)
+- self.assertEquals(errors['missing2'][0],
++ self.assertEqual(errors['missing2'][0],
+ AnotherDummyValidator.strict_error)
+@@ -222,3 +222,3 @@ class TestPayloadValidator(TestCase):
+ self.assertTrue(result)
+- self.assertEquals(errors, None)
++ self.assertEqual(errors, None)
+
diff --git a/testing/py3-infinity/APKBUILD b/testing/py3-infinity/APKBUILD
index 64a23c16e73..7331ac65efc 100644
--- a/testing/py3-infinity/APKBUILD
+++ b/testing/py3-infinity/APKBUILD
@@ -3,14 +3,15 @@
pkgname=py3-infinity
_pkgname=infinity
pkgver=1.5
-pkgrel=2
+pkgrel=5
pkgdesc="All-in-one infinity value for Python"
url="https://github.com/kvesteri/infinity"
arch="noarch"
license="BSD-3-Clause"
depends="python3"
makedepends="py3-setuptools"
-checkdepends="py3-pytest"
+checkdepends="py3-pytest py3-six"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -26,7 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="d61c16fe08749dab050ffb17f8cb392b22ef0c409d736625820419859a0533e067d04a3244e937cf968b40eb02d6bcecb0f80525797dc372eba7205836bad9cb infinity-1.5.tar.gz"
+sha512sums="
+d61c16fe08749dab050ffb17f8cb392b22ef0c409d736625820419859a0533e067d04a3244e937cf968b40eb02d6bcecb0f80525797dc372eba7205836bad9cb infinity-1.5.tar.gz
+"
diff --git a/testing/py3-influxdb/APKBUILD b/testing/py3-influxdb/APKBUILD
deleted file mode 100644
index 30925c098bf..00000000000
--- a/testing/py3-influxdb/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Olivier Mauras <olivier@mauras.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-influxdb
-_pkgname=influxdb-python
-pkgver=5.2.3
-pkgrel=3
-pkgdesc="Python bindings for InfluxDB"
-options="!check" # Requires unpackaged nose-cov
-url="https://github.com/influxdata/influxdb-python"
-arch="noarch"
-license="MIT"
-depends="python3 py3-tz py3-six py3-requests py3-dateutil"
-makedepends="py3-setuptools"
-checkdepends="py3-nose"
-source="$pkgname-$pkgver.tar.gz::https://github.com/influxdata/influxdb-python/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-replaces="py-influxdb" # Backwards compatibility
-provides="py-influxdb=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="49d70e6293883bad16db5d7d72e02988562311a070f8aca6c82880dea7f40b1c411d5882bc9e224934341a5180bc1fcb0987363cdf0e2ffe9e7f1c615e9588f8 py3-influxdb-5.2.3.tar.gz"
diff --git a/testing/py3-iniparse/APKBUILD b/testing/py3-iniparse/APKBUILD
index febb8d9a809..b09ac85a984 100644
--- a/testing/py3-iniparse/APKBUILD
+++ b/testing/py3-iniparse/APKBUILD
@@ -3,14 +3,14 @@
pkgname=py3-iniparse
_pkgname=iniparse
pkgver=0.5
-pkgrel=3
+pkgrel=6
pkgdesc="INI parser library for Python"
options="!check" # Testsuite loader broken
url="https://github.com/candlepin/python-iniparse"
arch="noarch"
license="MIT"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,7 +22,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="b3f10d1b36497c3c5c71cb0a1ac73d74d8944f4ad3b7acc4a4b0246c2f1a20c184d9af20bbb3cb8ec4f57fddfb5e103b92688847debb4200ef0583353d7f9556 iniparse-0.5.tar.gz"
diff --git a/testing/py3-intervals/APKBUILD b/testing/py3-intervals/APKBUILD
index b2b3a7f6c00..6321ad2cc60 100644
--- a/testing/py3-intervals/APKBUILD
+++ b/testing/py3-intervals/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-intervals
_pkgname=intervals
pkgver=0.9.2
-pkgrel=1
+pkgrel=4
pkgdesc="Python module for handling intervals (ranges of comparable objects)"
url="https://github.com/kvesteri/intervals"
arch="noarch"
@@ -11,6 +11,7 @@ license="BSD-3-Clause"
depends="py3-infinity"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
pytest5.patch"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -27,7 +28,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-invoke/APKBUILD b/testing/py3-invoke/APKBUILD
index 2ca960dec01..f48abf397f5 100644
--- a/testing/py3-invoke/APKBUILD
+++ b/testing/py3-invoke/APKBUILD
@@ -1,25 +1,34 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-invoke
-_pkgname=invoke
-pkgver=1.5.0
-pkgrel=3
+pkgver=2.2.0
+pkgrel=2
pkgdesc="Pythonic task execution"
options="!check" # Can't find invoke.vendor.six
-url="http://docs.pyinvoke.org/en/1.3/"
+url="https://www.pyinvoke.org/"
arch="noarch"
license="BSD-2-Clause"
-depends="python3 py3-yaml"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
+depends="py3-yaml"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/pyinvoke/invoke/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/invoke-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="ac6b1939907ba34930836f567454aeea63373aa510644964eb18e1e684f30d4053c75a73506d0e947a38ca206daf847ce927ec2df15e73932278c2c73c3e20bd invoke-1.5.0.tar.gz"
+sha512sums="
+3d0adabec4825fb45524d3ab4f2a790d31245a89e038c08c770fc9f33c81ed182769e8f17d3d6f33a913b431cba475b975826ddfd533a945d481b52deba759a2 py3-invoke-2.2.0.tar.gz
+"
diff --git a/testing/py3-ioflo/APKBUILD b/testing/py3-ioflo/APKBUILD
deleted file mode 100644
index acaea7994b4..00000000000
--- a/testing/py3-ioflo/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-ioflo
-_pkgname=ioflo
-pkgver=2.0.2
-pkgrel=1
-pkgdesc="Automated Reasoning Engine and Flow Based Programming Framework"
-url="https://github.com/ioflo/ioflo"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools-git py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
- python-3.9.patch
- "
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-ioflo" # Backwards compatibility
-provides="py-ioflo=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- # keep ioflo and remove ioflo3
- rm -f "$pkgdir"/usr/bin/ioflo3
-}
-
-sha512sums="7f704ccd5680b612d63990915259999e967d87dadd25608143dbc6ecf7a7679eb33f1c11c2d490a358845946add668e6014b80705db8701127b5d05ac436cc4b ioflo-2.0.2.tar.gz
-f951ce837fbe501535b6baab8e4f998af14660c0ec375e01b2526fd848c8d24ceae822263a256befea75163fade36ab059c775b53d5e96fe514097516d9d5726 python-3.9.patch"
diff --git a/testing/py3-ioflo/python-3.9.patch b/testing/py3-ioflo/python-3.9.patch
deleted file mode 100644
index 4ae368cd642..00000000000
--- a/testing/py3-ioflo/python-3.9.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From 2961d846dd250334b8fc52c2ef4c00ebc36ed510 Mon Sep 17 00:00:00 2001
-From: Felix Yan <felixonmars@archlinux.org>
-Date: Fri, 20 Nov 2020 04:42:02 +0800
-Subject: [PATCH] Fix compatibility with Python 3.9
-
-json.loads() removed encoding parameter
-(https://bugs.python.org/issue39377)
-It was a no-op since 3.1.
----
- ioflo/aio/http/clienting.py | 4 ++--
- ioflo/aio/http/httping.py | 3 +--
- 2 files changed, 3 insertions(+), 4 deletions(-)
-
-diff --git a/ioflo/aio/http/clienting.py b/ioflo/aio/http/clienting.py
-index 11132e3..967570e 100644
---- a/ioflo/aio/http/clienting.py
-+++ b/ioflo/aio/http/clienting.py
-@@ -268,13 +268,13 @@ def build(self):
- '\r\n{2}'.format(boundary, key, val))
- formParts.append('\r\n--{0}--'.format(boundary))
- form = "".join(formParts)
-- body = form.encode(encoding='utf-8')
-+ body = form.encode('utf-8')
- self.headers[u'content-type'] = u'multipart/form-data; boundary={0}'.format(boundary)
- else:
- formParts = [u"{0}={1}".format(key, val) for key, val in self.fargs.items()]
- form = u'&'.join(formParts)
- form = quote_plus(form, '&=')
-- body = form.encode(encoding='utf-8')
-+ body = form.encode('utf-8')
- self.headers[u'content-type'] = u'application/x-www-form-urlencoded; charset=utf-8'
- else: # body last in precendence
- body = self.body
-diff --git a/ioflo/aio/http/httping.py b/ioflo/aio/http/httping.py
-index ba604e7..a22cc84 100644
---- a/ioflo/aio/http/httping.py
-+++ b/ioflo/aio/http/httping.py
-@@ -746,7 +746,7 @@ def parseEvents(self):
- if edata: # data so dispatch event by appending to .events
- if self.dictable:
- try:
-- ejson = json.loads(edata, encoding='utf-8', object_pairs_hook=odict)
-+ ejson = json.loads(edata, object_pairs_hook=odict)
- except ValueError as ex:
- ejson = None
- else: # valid json set edata to ejson
-@@ -1058,7 +1058,6 @@ def dictify(self):
- if self.jsoned or self.dictable: # attempt to deserialize json
- try:
- self.data = json.loads(self.body.decode('utf-8'),
-- encoding='utf-8',
- object_pairs_hook=odict)
- except ValueError as ex:
- self.data = None
diff --git a/testing/py3-iso639-lang/APKBUILD b/testing/py3-iso639-lang/APKBUILD
new file mode 100644
index 00000000000..f01efd82b13
--- /dev/null
+++ b/testing/py3-iso639-lang/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=py3-iso639-lang
+pkgver=2.2.3
+pkgrel=0
+pkgdesc="Easy-to-use library for the ISO 639 language representation standards"
+url="https://github.com/LBeaudoux/iso639"
+arch="noarch"
+license="MIT"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="py3-iso639-lang-$pkgver.tar.gz::https://github.com/LBeaudoux/iso639/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/iso639-$pkgver"
+
+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 test.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+4846c73b9a8f7e6e5d258c7408f6c4a7eb64ed0b64733f813cbf4e4945acaac55075a5030541629dafce0bc20c98eb1a7fac82c39f96c12309d096e9ef42e629 py3-iso639-lang-2.2.3.tar.gz
+"
diff --git a/testing/py3-itemadapter/APKBUILD b/testing/py3-itemadapter/APKBUILD
index 7881ee457f8..7570362f92c 100644
--- a/testing/py3-itemadapter/APKBUILD
+++ b/testing/py3-itemadapter/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: prspkt <prspkt@protonmail.com>
# Maintainer: prspkt <prspkt@protonmail.com>
pkgname=py3-itemadapter
-pkgver=0.2.0
+pkgver=0.8.0
pkgrel=2
pkgdesc="Common interface for data container classes"
options="!check" # Introduces circular dependency with py3-scrapy
@@ -11,6 +11,7 @@ license="BSD-3-Clause"
depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-scrapy"
+subpackages="$pkgname-pyc"
source="https://github.com/scrapy/itemadapter/archive/v$pkgver/itemadapter-$pkgver.tar.gz"
builddir="$srcdir/itemadapter-$pkgver"
@@ -23,7 +24,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="317e42ebe7f161e114719c942fb7261b3b06e38fe81f609ccdacebfb051a5eaea90286bfef79c8bcf56d041d26e087dbbc9a74270c7a61bdd73841596a01f174 itemadapter-0.2.0.tar.gz"
+sha512sums="
+86c688bef2d0add3f5ea2bd119689b076c5bc9f92edefb6f5d8faaf88023355e7d2ba5d683ce8f6acd24a2954c5a798902b30d0a70ca31dc32eb5245ad57953f itemadapter-0.8.0.tar.gz
+"
diff --git a/testing/py3-itemloaders/APKBUILD b/testing/py3-itemloaders/APKBUILD
new file mode 100644
index 00000000000..8bdc888bbdc
--- /dev/null
+++ b/testing/py3-itemloaders/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer:
+pkgname=py3-itemloaders
+pkgver=1.1.0
+pkgrel=2
+pkgdesc="Library to populate items using XPath and CSS with a convenient API"
+url="https://github.com/scrapy/itemloaders"
+arch="noarch"
+license="BSD-3-Clause"
+depends="
+ py3-itemadapter
+ py3-jmespath
+ py3-parsel
+ py3-w3lib
+ python3
+ "
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/scrapy/itemloaders/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/itemloaders-$pkgver"
+
+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 \
+ --ignore tests/test_utils_python.py
+ # https://github.com/scrapy/itemloaders/issues/76
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+4a52e75405409124a3c1f7e7079fedf36e34a76877b04d754006743a2f403602de9b463e1f338bead3a68a0c1cf32f2a50b4cbe4cc57a10539ec529a93b81607 py3-itemloaders-1.1.0.tar.gz
+"
diff --git a/testing/py3-itunespy/APKBUILD b/testing/py3-itunespy/APKBUILD
new file mode 100644
index 00000000000..eb3a503a632
--- /dev/null
+++ b/testing/py3-itunespy/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=py3-itunespy
+_pkgname=itunespy
+pkgver=1.6
+pkgrel=3
+pkgdesc="Library to fetch data from the iTunes Store API"
+url="https://github.com/sleepyfran/itunespy"
+arch="noarch"
+license="MIT"
+depends="py3-requests py3-pycountry"
+makedepends="py3-setuptools"
+options="!check" # no test suite
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sleepyfran/itunespy/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+d91428e23a71bdbc62e6b8126b379aa48f06a365056147cf30eb4fa6132243d35c8a8d6dc536174a53f206bf7bcb4dcebb5a3697fac0fd88cbcb38205202ad81 py3-itunespy-1.6.tar.gz
+"
diff --git a/testing/py3-janus/APKBUILD b/testing/py3-janus/APKBUILD
index c26a7e59e6e..bc7bfa2ca60 100644
--- a/testing/py3-janus/APKBUILD
+++ b/testing/py3-janus/APKBUILD
@@ -1,28 +1,38 @@
# Contributor: Antoine Fontaine <antoine.fontaine@epfl.ch>
-# Maintainer: Antoine Fontaine <antoine.fontaine@epfl.ch>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=py3-janus
-pkgver=0.6.1
-pkgrel=1
+pkgver=1.0.0
+pkgrel=3
pkgdesc="Mixed sync-async queue to interoperate between asyncio tasks and classic threads"
url="https://github.com/aio-libs/janus/"
arch="noarch"
license="Apache-2.0"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-pytest-asyncio py3-pytest-regtest"
-source="https://files.pythonhosted.org/packages/source/j/janus/janus-$pkgver.tar.gz"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-asyncio"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/j/janus/janus-$pkgver.tar.gz
+ no-typing-extensions.patch
+ "
builddir="$srcdir/janus-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="7b54c0a1f9b457dd8bfe5de69d2d3e22a8b8b26570b6956fcfd943bf94f060b4b4a59cfac5e522af25fd037333d19e07e5b9ceb23b0116006bde930815ee9f63 janus-0.6.1.tar.gz"
+sha512sums="
+d66899adad12cc1100a20cb75d8e146321ef947bde996a07490158a5f34c39421bb1a5b08ac87679264a6bee1d3dc9f425fa29d52199626d322fe4462ed8f1f3 janus-1.0.0.tar.gz
+53723d86b73fe8dc135aa5e462fb00c1824ce0dbeacef449a38891860e5fb2058bbe31f5d7f1c1534b51fe6d08498d418a549e30508fffa0418be78c6910e547 no-typing-extensions.patch
+"
diff --git a/testing/py3-janus/no-typing-extensions.patch b/testing/py3-janus/no-typing-extensions.patch
new file mode 100644
index 00000000000..948039cf501
--- /dev/null
+++ b/testing/py3-janus/no-typing-extensions.patch
@@ -0,0 +1,42 @@
+Patch-Source: https://github.com/aio-libs/janus/pull/504
+From 78632be4f75181432dc2ccffe912e063a8258a65 Mon Sep 17 00:00:00 2001
+From: ptrcnull <git@ptrcnull.me>
+Date: Sun, 12 Feb 2023 22:33:15 +0100
+Subject: [PATCH] Use typing_extensions only on Python 3.7 and lower
+
+Protocol was added with PEP 544 to Python 3.8+
+---
+ janus/__init__.py | 6 +++++-
+ setup.cfg | 2 +-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/janus/__init__.py b/janus/__init__.py
+index a2887aa..8b2a9fe 100644
+--- a/janus/__init__.py
++++ b/janus/__init__.py
+@@ -9,7 +9,11 @@ from queue import Empty as SyncQueueEmpty
+ from queue import Full as SyncQueueFull
+ from typing import Any, Callable, Deque, Generic, List, Optional, Set, TypeVar
+
+-from typing_extensions import Protocol
++try:
++ # Python 3.8+
++ from typing import Protocol
++except ImportError:
++ from typing_extensions import Protocol
+
+ __version__ = "1.0.0"
+ __all__ = (
+diff --git a/setup.cfg b/setup.cfg
+index e0032f3..44a6efe 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -44,7 +44,7 @@ packages = find:
+ zip_safe = True
+ include_package_data = True
+ install_requires =
+- typing-extensions>=3.7.4.3
++ typing-extensions>=3.7.4.3;python_version<"3.8"
+
+ [flake8]
+ exclude = .git,.env,__pycache__,.eggs
diff --git a/testing/py3-jaraco.packaging/APKBUILD b/testing/py3-jaraco.packaging/APKBUILD
deleted file mode 100644
index 93f4e9c67d0..00000000000
--- a/testing/py3-jaraco.packaging/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-jaraco.packaging
-pkgver=8.2.1
-pkgrel=1
-pkgdesc="tools to supplement packaging Python releases"
-url="https://github.com/jaraco/jaraco.packaging"
-arch="noarch"
-license="MIT"
-#needs jaraco-common-init for tests
-options="!check"
-depends="python3 py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/j/jaraco.packaging/jaraco.packaging-$pkgver.tar.gz
- setuptools_scm.patch
- "
-builddir="$srcdir/jaraco.packaging-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-3235756833bb4b0aff8dc832adb6e269bda622c5458493a302c6d487547ce224865aa367773f42bd456553c69cf451944d9b50d148761a40a775f59a398ec02c jaraco.packaging-8.2.1.tar.gz
-7ff2303412c892e17f33908e11d9aace9de75e00826c05e486139220b6a28ff1c126be5f4e5b1b1b570e5e5034feff94309e4418e40b487a833fe887d9a22262 setuptools_scm.patch
-"
diff --git a/testing/py3-jaraco.packaging/setuptools_scm.patch b/testing/py3-jaraco.packaging/setuptools_scm.patch
deleted file mode 100644
index c647b848a6c..00000000000
--- a/testing/py3-jaraco.packaging/setuptools_scm.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -22,7 +22,6 @@
- install_requires =
- setuptools
- importlib_metadata; python_version < "3.8"
--setup_requires = setuptools_scm[toml] >= 3.4.1
-
- [options.packages.find]
- exclude =
diff --git a/testing/py3-json-logger/APKBUILD b/testing/py3-json-logger/APKBUILD
deleted file mode 100644
index 9b5e1987cef..00000000000
--- a/testing/py3-json-logger/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Justin Berthault <justin.berthault@zaclys.net>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
-pkgname=py3-json-logger
-pkgver=0.1.11
-pkgrel=2
-pkgdesc="A python library adding a json log formatter"
-url="https://github.com/madzak/python-json-logger"
-arch="noarch"
-license="BSD-2-Clause"
-depends="py3-setuptools"
-source="$pkgname-v$pkgver.tar.gz::https://github.com/madzak/python-json-logger/archive/v$pkgver.tar.gz"
-builddir="$srcdir/"python-json-logger-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="de0e66fd99d5b763c1fe2574e0e2cfc8c1053b88adbbc9b7bf8a48027c1c14c141c1389a303f9dcc43a18671085abaef8650150ecd4a7c281a2a966de5f0f136 py3-json-logger-v0.1.11.tar.gz"
diff --git a/testing/py3-jsonpickle/APKBUILD b/testing/py3-jsonpickle/APKBUILD
deleted file mode 100644
index 74f9bdae23f..00000000000
--- a/testing/py3-jsonpickle/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer:
-pkgname=py3-jsonpickle
-pkgver=2.0.0
-pkgrel=2
-pkgdesc="Serializing any arbitrary object graph into JSON"
-url="https://pypi.python.org/pypi/jsonpickle/"
-arch="noarch !mips !mips64 !s390x"
-license="BSD-3-Clause"
-depends="python3 py3-numpy py3-pandas"
-makedepends="py3-setuptools py3-setuptools_scm"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/j/jsonpickle/jsonpickle-$pkgver.tar.gz
- tests.patch
- "
-builddir="$srcdir/jsonpickle-$pkgver"
-
-replaces="py-jsonpickle" # Backwards compatibility
-provides="py-jsonpickle=$pkgver-r$pkgrel" # Backwards compatibility
-
-prepare() {
- default_prepare
-
- sed -e '/setuptools_scm/d' \
- -e "/^\[metadata\]/a verison = $pkgver" \
- -i setup.cfg
-}
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH=$PWD/build/lib pytest-3 -c /dev/null
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="acba11e5dfce116b27edfe0fdccdd74755e299aa43f873dd1ce547d947b58f14c1059c21d04007b5be0857f7ce69fe5355fb2edc47a99cc2217fe00297ca78d3 jsonpickle-2.0.0.tar.gz
-8df533695556bc7b329211dfbb5ad667fbd8f9b569721a054f9dead9402ac365666f50ff4343feda536e679a58f1244708ab10fa2f6f8b33b2469dfdc57c576c tests.patch"
diff --git a/testing/py3-jsonpickle/tests.patch b/testing/py3-jsonpickle/tests.patch
deleted file mode 100644
index 99d78af9620..00000000000
--- a/testing/py3-jsonpickle/tests.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/jsonpickle/pickler.py b/jsonpickle/pickler.py
-index ce64592..62ba575 100644
---- a/jsonpickle/pickler.py
-+++ b/jsonpickle/pickler.py
-@@ -462,6 +462,9 @@ class Pickler(object):
- if has_getinitargs:
- data[tags.INITARGS] = self._flatten(obj.__getinitargs__())
-
-+ if type(obj).__name__ == 'TextIOWrapper':
-+ return None
-+
- if has_getstate:
- try:
- state = obj.__getstate__()
-
diff --git a/testing/py3-jsonschema417/APKBUILD b/testing/py3-jsonschema417/APKBUILD
new file mode 100644
index 00000000000..86980990210
--- /dev/null
+++ b/testing/py3-jsonschema417/APKBUILD
@@ -0,0 +1,67 @@
+# Contributor: Iskren Chernev <me@iskren.info>
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Iskren Chernev <me@iskren.info>
+pkgname=py3-jsonschema417
+pkgver=4.17.3
+pkgrel=1
+pkgdesc="An implementation of JSON Schema validation for Python"
+url="https://github.com/python-jsonschema/jsonschema"
+arch="noarch"
+license="MIT"
+depends="python3 py3-pyrsistent py3-attrs"
+makedepends="
+ py3-gpep517
+ py3-hatch-fancy-pypi-readme
+ py3-hatch-vcs
+ py3-hatchling
+ py3-installer
+ py3-setuptools_scm
+ py3-wheel
+ "
+checkdepends="py3-twisted py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/j/jsonschema/jsonschema-$pkgver.tar.gz
+ "
+builddir="$srcdir/jsonschema-$pkgver"
+
+prepare() {
+ default_prepare
+ find . -name '*.py' -exec \
+ sed -i \
+ -e 's/import jsonschema$/import jsonschema417 as jsonschema/' \
+ -e 's/import jsonschema[.]/import jsonschema417./' \
+ -e 's/from jsonschema/from jsonschema417/' '{}' \;
+ mv jsonschema jsonschema417
+ sed -i 's/name = "jsonschema"/name = "jsonschema417"/' pyproject.toml
+ # cli doesn't work as of now, it's also deprecated
+ rm jsonschema417/tests/test_cli.py
+ rm jsonschema417/tests/test_deprecations.py
+}
+
+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 twisted.trial jsonschema417
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/jsonschema417-$pkgver-py3-none-any.whl
+
+ # Add version suffix to executable files.
+ local path; for path in "$pkgdir"/usr/bin/*; do
+ mv "$path" "$path"-3
+ done
+
+ ln -s $pkgname-3 "$pkgdir"/usr/bin/jsonschema
+}
+
+sha512sums="
+626fc913c37d2e49e4b47c9e058aab4a96c1dc50c35d8def0b2ea0ca464dc25e3318d4fde4927c11ca38068743cd81779d5189464b821407ac1de1788bad30e2 jsonschema-4.17.3.tar.gz
+"
diff --git a/testing/py3-junit-xml/APKBUILD b/testing/py3-junit-xml/APKBUILD
index 453fad26b07..4136d13b9de 100644
--- a/testing/py3-junit-xml/APKBUILD
+++ b/testing/py3-junit-xml/APKBUILD
@@ -1,16 +1,17 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinx.org>
pkgname=py3-junit-xml
_pkgname=junit-xml
-pkgver=1.8
-pkgrel=6
+pkgver=1.9
+pkgrel=2
pkgdesc="Creates JUnit XML test result documents that can be read by tools such as Jenkins"
options="!check" # 1 test fail
-url="https://pypi.python.org/pypi/junit-xml"
+url="https://pypi.org/project/junit-xml"
arch="noarch"
license="MIT"
depends="py3-six"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -23,7 +24,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="8fcef94ea73a77ad597bb3280578f0fea86573b779eb4aea1e458e55f1866637a7b43aa04502a65ecb1f2a7403cc61a76ccd35feb4b69eeb6fdc8352914d61a4 junit-xml-1.8.tar.gz"
+sha512sums="
+2a8135255f649cf1ffe0fb580ea80cec1f00e6276ebb0cbc28feda64a8c788102f5b4b65a555b451b0e9b137118baaccb014ab86be0fa30fb6829d0734226619 junit-xml-1.9.tar.gz
+"
diff --git a/testing/py3-jwcrypto/APKBUILD b/testing/py3-jwcrypto/APKBUILD
deleted file mode 100644
index dbf3181b910..00000000000
--- a/testing/py3-jwcrypto/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: prspkt <prspkt@protonmail.com>
-# Maintainer: prspkt <prspkt@protonmail.com>
-pkgname=py3-jwcrypto
-_pkgname=jwcrypto
-pkgver=0.8
-pkgrel=2
-pkgdesc="Python module implementing JOSE Web standards"
-url="https://github.com/latchset/jwcrypto"
-arch="noarch"
-license="LGPL-3.0-only"
-depends="py3-cryptography"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-subpackages="$pkgname-doc"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"/$_pkgname
- py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="e8dc62d6159e5722a572e049c41edc8e31fe0d022aa47987ab6720c7057cbac2f98cec5d35af1ea02f6bc6efde769810fde4b868e019956b138cfac529cc027d jwcrypto-0.8.tar.gz"
diff --git a/testing/py3-kaitaistruct/APKBUILD b/testing/py3-kaitaistruct/APKBUILD
deleted file mode 100644
index 7c2e2c7caf0..00000000000
--- a/testing/py3-kaitaistruct/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-kaitaistruct
-_pkgname=kaitai_struct_python_runtime
-pkgver=0.9
-pkgrel=2
-pkgdesc="Kaitai Struct API for Python"
-url="https://kaitai.io/"
-license="MIT"
-arch="noarch"
-options="!check" # no test suite
-depends="python3"
-makedepends="py3-setuptools"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/kaitai-io/kaitai_struct_python_runtime/archive/$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
-}
-
-sha512sums="e99d4aa0df046b346f73c8ee7b3d737bc62bea2891b5948be3d8814b575d44e59146e318b6dd9966d937e327103f9348b26048885dbdf5a44080601795d49b05 kaitai_struct_python_runtime-0.9.tar.gz"
diff --git a/testing/py3-kazoo/APKBUILD b/testing/py3-kazoo/APKBUILD
new file mode 100644
index 00000000000..eecdfaa344d
--- /dev/null
+++ b/testing/py3-kazoo/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=py3-kazoo
+pkgver=0_git20211202
+_gitrev=f585d605eea0a37a08aae95a8cc259b80da2ecf0 # tag/rel is 16 months behind
+pkgrel=3
+pkgdesc="Python library for Apache Zookeeper"
+url="https://github.com/python-zk/kazoo"
+arch="noarch"
+license="Apache-2.0"
+depends="python3"
+makedepends="py3-setuptools"
+options="!check" # test requires zookeeper server
+subpackages="$pkgname-pyc"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/python-zk/kazoo/archive/$_gitrev.tar.gz"
+builddir="$srcdir/kazoo-$_gitrev"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --root="$pkgdir"
+}
+
+sha512sums="
+70b3065ff5b1d119fa32937843c20dce3a355db53980c85168b2b654edb846b917ab3a612e22c0ce99e1f2d79579d90dc6252889323255b16c2ce0a6b8b1f2a1 py3-kazoo-f585d605eea0a37a08aae95a8cc259b80da2ecf0.tar.gz
+"
diff --git a/testing/py3-keepalive/APKBUILD b/testing/py3-keepalive/APKBUILD
index 428ebd4c382..63c8ebc2599 100644
--- a/testing/py3-keepalive/APKBUILD
+++ b/testing/py3-keepalive/APKBUILD
@@ -3,29 +3,44 @@
pkgname=py3-keepalive
pkgver=0.5
_pkgname=keepalive
-pkgrel=1
+pkgrel=5
pkgdesc="urllib keepalive support for python"
-options="!check" # no test suite
url="https://github.com/wikier/keepalive"
arch="noarch"
license="LGPL-2.1-or-later"
depends="python3"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+makedepends="py3-setuptools py3-gpep517 py3-wheel py3-installer"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/k/$_pkgname/$_pkgname-$pkgver.tar.gz
-https://raw.githubusercontent.com/wikier/$_pkgname/master/README.md"
+https://raw.githubusercontent.com/wikier/$_pkgname/master/README.md
+ py3.patch
+ fix-import.patch
+ "
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ # no proper testsuite
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -c 'from keepalive import HTTPHandler'
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+
install -Dm0644 "$srcdir"/README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
}
sha512sums="
f5a7a2113d87aafda42fbbefe0ca6af27986dbac59cdd76f6f66b858b8a66c7b792d93324e3c77009fac80b10996f74bad631935118617a49703e111db3e68a8 keepalive-0.5.tar.gz
1cc046e36aa7697a5a96755bdd5f55916f0a3b97508ce51105affc694e3935910bfb88d6065808e3bc489b0aae01d77c6f7c60f193b551fe760949dd3bb78582 README.md
+174795226911e8a7b55c02c0d5aa608ff4d6fac83a6a1632d69c252f280be26c205ddb03ec37c5f9cc55fa38ae536a54812f4d61bbabaa9a1be1314ac1d8c299 py3.patch
+25d0cd481908ac39cdfe699bf1ba1a920b51ef620ebbb47b9dabb8fb4a6d446c7028edd26494c4067590fac4464b6e92aac0b92be4a3c0c7fb227b99768d0a3b fix-import.patch
"
diff --git a/testing/py3-keepalive/fix-import.patch b/testing/py3-keepalive/fix-import.patch
new file mode 100644
index 00000000000..1b439511c15
--- /dev/null
+++ b/testing/py3-keepalive/fix-import.patch
@@ -0,0 +1,18 @@
+From: Patrycja Rosa <alpine@ptrcnull.me>
+Date: Wed, 06 Sep 2023 23:09:21 +0200
+Subject: [PATCH] make import relative
+
+otherwise, the package wants to import itself and imports nothing
+
+diff --git a/keepalive/__init__.py b/keepalive/__init__.py
+index 65dd57b..e04f96a 100644
+--- a/keepalive/__init__.py
++++ b/keepalive/__init__.py
+@@ -20,6 +20,6 @@
+ # Copyright 2002-2004 Michael D. Stenner, Ryan Tomayko
+ # Copyright 2015 Sergio Fernández
+
+-from keepalive import *
++from .keepalive import *
+
+ __version__ = "0.5"
diff --git a/testing/py3-keepalive/py3.patch b/testing/py3-keepalive/py3.patch
new file mode 100644
index 00000000000..3042af31b01
--- /dev/null
+++ b/testing/py3-keepalive/py3.patch
@@ -0,0 +1,553 @@
+Patch-Source: https://github.com/wikier/keepalive/pull/11
+From 64393f6c5bf9c69d946b584fd664dd4df72604e6 Mon Sep 17 00:00:00 2001
+From: Theodore Ni <3806110+tjni@users.noreply.github.com>
+Date: Tue, 6 Jun 2023 21:51:59 -0700
+Subject: [PATCH] Convert to Python 3 and drop support for Python 2.
+
+---
+ README.md | 2 +-
+ keepalive/keepalive.py | 226 +++++++++++++++++------------------------
+ setup.py | 28 ++---
+ 3 files changed, 103 insertions(+), 153 deletions(-)
+
+diff --git a/keepalive/keepalive.py b/keepalive/keepalive.py
+index c07ef81..43787c7 100644
+--- a/keepalive/keepalive.py
++++ b/keepalive/keepalive.py
+@@ -20,15 +20,15 @@
+ # Copyright 2002-2004 Michael D. Stenner, Ryan Tomayko
+ # Copyright 2015 Sergio Fernández
+
+-"""An HTTP handler for urllib2 that supports HTTP 1.1 and keepalive.
++"""An HTTP handler for urllib that supports HTTP 1.1 and keepalive.
+
+->>> import urllib2
++>>> import urllib.request
+ >>> from keepalive import HTTPHandler
+ >>> keepalive_handler = HTTPHandler()
+->>> opener = urllib2.build_opener(keepalive_handler)
+->>> urllib2.install_opener(opener)
++>>> opener = urllib.request.build_opener(keepalive_handler)
++>>> urllib.request.install_opener(opener)
+ >>>
+->>> fo = urllib2.urlopen('http://www.python.org')
++>>> fo = urllib.request.urlopen('http://www.python.org')
+
+ If a connection to a given host is requested, and all of the existing
+ connections are still in use, another connection will be opened. If
+@@ -58,7 +58,7 @@
+
+ Upon a status of 200, the object returned has a few additional
+ attributes and methods, which should not be used if you want to
+- remain consistent with the normal urllib2-returned objects:
++ remain consistent with the normal urllib-returned objects:
+
+ close_connection() - close the connection to the host
+ readlines() - you know, readlines()
+@@ -73,55 +73,30 @@
+
+ Unfortunately, these are ONLY there if status == 200, so it's not
+ easy to distinguish between non-200 responses. The reason is that
+- urllib2 tries to do clever things with error codes 301, 302, 401,
++ urllib tries to do clever things with error codes 301, 302, 401,
+ and 407, and it wraps the object upon return.
+
+- For python versions earlier than 2.4, you can avoid this fancy error
+- handling by setting the module-level global HANDLE_ERRORS to zero.
+- You see, prior to 2.4, it's the HTTP Handler's job to determine what
+- to handle specially, and what to just pass up. HANDLE_ERRORS == 0
+- means "pass everything up". In python 2.4, however, this job no
+- longer belongs to the HTTP Handler and is now done by a NEW handler,
+- HTTPErrorProcessor. Here's the bottom line:
+-
+- python version < 2.4
+- HANDLE_ERRORS == 1 (default) pass up 200, treat the rest as
+- errors
+- HANDLE_ERRORS == 0 pass everything up, error processing is
+- left to the calling code
+- python version >= 2.4
+- HANDLE_ERRORS == 1 pass up 200, treat the rest as errors
+- HANDLE_ERRORS == 0 (default) pass everything up, let the
+- other handlers (specifically,
+- HTTPErrorProcessor) decide what to do
+-
+- In practice, setting the variable either way makes little difference
+- in python 2.4, so for the most consistent behavior across versions,
+- you probably just want to use the defaults, which will give you
+- exceptions on errors.
+-
+ """
+
+ # $Id: keepalive.py,v 1.17 2006/12/08 00:14:16 mstenner Exp $
+
+-import urllib2
+-import httplib
++import urllib.error
++import urllib.request
++import http.client
+ import socket
+-import thread
++import _thread
+
+ DEBUG = None
+
+ import sys
+-if sys.version_info < (2, 4): HANDLE_ERRORS = 1
+-else: HANDLE_ERRORS = 0
+-
++
+ class ConnectionManager:
+ """
+ The connection manager must be able to:
+ * keep track of all existing
+ """
+ def __init__(self):
+- self._lock = thread.allocate_lock()
++ self._lock = _thread.allocate_lock()
+ self._hostmap = {} # map hosts to a list of connections
+ self._connmap = {} # map connections to host
+ self._readymap = {} # map connection to ready state
+@@ -129,7 +104,7 @@ def __init__(self):
+ def add(self, host, connection, ready):
+ self._lock.acquire()
+ try:
+- if not self._hostmap.has_key(host): self._hostmap[host] = []
++ if host not in self._hostmap: self._hostmap[host] = []
+ self._hostmap[host].append(connection)
+ self._connmap[connection] = host
+ self._readymap[connection] = ready
+@@ -159,7 +134,7 @@ def get_ready_conn(self, host):
+ conn = None
+ self._lock.acquire()
+ try:
+- if self._hostmap.has_key(host):
++ if host in self._hostmap:
+ for c in self._hostmap[host]:
+ if self._readymap[c]:
+ self._readymap[c] = 0
+@@ -183,7 +158,7 @@ def __init__(self):
+ def open_connections(self):
+ """return a list of connected hosts and the number of connections
+ to each. [('foo.com:80', 2), ('bar.org', 1)]"""
+- return [(host, len(li)) for (host, li) in self._cm.get_all().items()]
++ return [(host, len(li)) for (host, li) in list(self._cm.get_all().items())]
+
+ def close_connection(self, host):
+ """close connection(s) to <host>
+@@ -195,7 +170,7 @@ def close_connection(self, host):
+
+ def close_all(self):
+ """close all open connections"""
+- for host, conns in self._cm.get_all().items():
++ for host, conns in list(self._cm.get_all().items()):
+ for h in conns:
+ self._cm.remove(h)
+ h.close()
+@@ -213,7 +188,7 @@ def _remove_connection(self, host, connection, close=0):
+ def do_open(self, req):
+ host = req.host
+ if not host:
+- raise urllib2.URLError('no host given')
++ raise urllib.error.URLError('no host given')
+
+ try:
+ h = self._cm.get_ready_conn(host)
+@@ -237,8 +212,8 @@ def do_open(self, req):
+ self._cm.add(host, h, 0)
+ self._start_transaction(h, req)
+ r = h.getresponse()
+- except (socket.error, httplib.HTTPException), err:
+- raise urllib2.URLError(err)
++ except (socket.error, http.client.HTTPException) as err:
++ raise urllib.error.URLError(err)
+
+ if DEBUG: DEBUG.info("STATUS: %s, %s", r.status, r.reason)
+
+@@ -255,11 +230,7 @@ def do_open(self, req):
+ r.headers = r.msg
+ r.msg = r.reason
+
+- if r.status == 200 or not HANDLE_ERRORS:
+- return r
+- else:
+- return self.parent.error('http', req, r,
+- r.status, r.msg, r.headers)
++ return r
+
+ def _reuse_connection(self, h, req, host):
+ """start the transaction with a re-used connection
+@@ -273,7 +244,7 @@ def _reuse_connection(self, h, req, host):
+ r = h.getresponse()
+ # note: just because we got something back doesn't mean it
+ # worked. We'll check the version below, too.
+- except (socket.error, httplib.HTTPException):
++ except (socket.error, http.client.HTTPException):
+ r = None
+ except:
+ # adding this block just in case we've missed
+@@ -292,7 +263,7 @@ def _reuse_connection(self, h, req, host):
+ raise
+
+ if r is None or r.version == 9:
+- # httplib falls back to assuming HTTP 0.9 if it gets a
++ # http.client falls back to assuming HTTP 0.9 if it gets a
+ # bad header back. This is most likely to happen if
+ # the socket has been closed by the server since we
+ # last used the connection.
+@@ -312,22 +283,22 @@ def _start_transaction(self, h, req):
+ h.putrequest('POST', req.selector)
+ else:
+ h.putrequest('POST', req.get_selector())
+- if not req.headers.has_key('Content-type'):
++ if 'Content-type' not in req.headers:
+ h.putheader('Content-type',
+ 'application/x-www-form-urlencoded')
+- if not req.headers.has_key('Content-length'):
++ if 'Content-length' not in req.headers:
+ h.putheader('Content-length', '%d' % len(data))
+ else:
+ if hasattr(req, 'selector'):
+ h.putrequest('GET', req.selector)
+ else:
+ h.putrequest('GET', req.get_selector())
+- except (socket.error, httplib.HTTPException), err:
+- raise urllib2.URLError(err)
++ except (socket.error, http.client.HTTPException) as err:
++ raise urllib.error.URLError(err)
+
+ for args in self.parent.addheaders:
+ h.putheader(*args)
+- for k, v in req.headers.items():
++ for k, v in list(req.headers.items()):
+ h.putheader(k, v)
+ h.endheaders()
+ if req.data:
+@@ -336,7 +307,7 @@ def _start_transaction(self, h, req):
+ def _get_connection(self, host):
+ return NotImplementedError
+
+-class HTTPHandler(KeepAliveHandler, urllib2.HTTPHandler):
++class HTTPHandler(KeepAliveHandler, urllib.request.HTTPHandler):
+ def __init__(self):
+ KeepAliveHandler.__init__(self)
+
+@@ -346,7 +317,7 @@ def http_open(self, req):
+ def _get_connection(self, host):
+ return HTTPConnection(host)
+
+-class HTTPSHandler(KeepAliveHandler, urllib2.HTTPSHandler):
++class HTTPSHandler(KeepAliveHandler, urllib.request.HTTPSHandler):
+ def __init__(self, ssl_factory=None):
+ KeepAliveHandler.__init__(self)
+ if not ssl_factory:
+@@ -364,7 +335,7 @@ def _get_connection(self, host):
+ try: return self._ssl_factory.get_https_connection(host)
+ except AttributeError: return HTTPSConnection(host)
+
+-class HTTPResponse(httplib.HTTPResponse):
++class HTTPResponse(http.client.HTTPResponse):
+ # we need to subclass HTTPResponse in order to
+ # 1) add readline() and readlines() methods
+ # 2) add close_connection() methods
+@@ -385,10 +356,7 @@ class HTTPResponse(httplib.HTTPResponse):
+
+
+ def __init__(self, sock, debuglevel=0, strict=0, method=None):
+- if method: # the httplib in python 2.3 uses the method arg
+- httplib.HTTPResponse.__init__(self, sock, debuglevel, method)
+- else: # 2.2 doesn't
+- httplib.HTTPResponse.__init__(self, sock, debuglevel)
++ http.client.HTTPResponse.__init__(self, sock, debuglevel, method)
+ self.fileno = sock.fileno
+ self.code = None
+ self._rbuf = b""
+@@ -398,7 +366,7 @@ def __init__(self, sock, debuglevel=0, strict=0, method=None):
+ self._url = None # (same)
+ self._connection = None # (same)
+
+- _raw_read = httplib.HTTPResponse.read
++ _raw_read = http.client.HTTPResponse.read
+
+ def close(self):
+ if self.fp:
+@@ -462,11 +430,11 @@ def readlines(self, sizehint = 0):
+ return list
+
+
+-class HTTPConnection(httplib.HTTPConnection):
++class HTTPConnection(http.client.HTTPConnection):
+ # use the modified response class
+ response_class = HTTPResponse
+
+-class HTTPSConnection(httplib.HTTPSConnection):
++class HTTPSConnection(http.client.HTTPSConnection):
+ response_class = HTTPResponse
+
+ #########################################################################
+@@ -474,81 +442,77 @@ class HTTPSConnection(httplib.HTTPSConnection):
+ #########################################################################
+
+ def error_handler(url):
+- global HANDLE_ERRORS
+- orig = HANDLE_ERRORS
+ keepalive_handler = HTTPHandler()
+- opener = urllib2.build_opener(keepalive_handler)
+- urllib2.install_opener(opener)
+- pos = {0: 'off', 1: 'on'}
+- for i in (0, 1):
+- print " fancy error handling %s (HANDLE_ERRORS = %i)" % (pos[i], i)
+- HANDLE_ERRORS = i
+- try:
+- fo = urllib2.urlopen(url)
+- foo = fo.read()
+- fo.close()
+- try: status, reason = fo.status, fo.reason
+- except AttributeError: status, reason = None, None
+- except IOError, e:
+- print " EXCEPTION: %s" % e
+- raise
+- else:
+- print " status = %s, reason = %s" % (status, reason)
+- HANDLE_ERRORS = orig
++ opener = urllib.request.build_opener(keepalive_handler)
++ urllib.request.install_opener(opener)
++ try:
++ fo = urllib.request.urlopen(url)
++ foo = fo.read()
++ fo.close()
++ try: status, reason = fo.status, fo.reason
++ except AttributeError: status, reason = None, None
++ except IOError as e:
++ print(" EXCEPTION: %s" % e)
++ raise
++ else:
++ print(" status = %s, reason = %s" % (status, reason))
+ hosts = keepalive_handler.open_connections()
+- print "open connections:", hosts
++ print("open connections:", hosts)
+ keepalive_handler.close_all()
+
+ def continuity(url):
+- import md5
++ import hashlib
+ format = '%25s: %s'
+
+ # first fetch the file with the normal http handler
+- opener = urllib2.build_opener()
+- urllib2.install_opener(opener)
+- fo = urllib2.urlopen(url)
++ opener = urllib.request.build_opener()
++ urllib.request.install_opener(opener)
++ fo = urllib.request.urlopen(url)
+ foo = fo.read()
+ fo.close()
+- m = md5.new(foo)
+- print format % ('normal urllib', m.hexdigest())
++ m = hashlib.md5()
++ m.update(foo)
++ print(format % ('normal urllib', m.hexdigest()))
+
+ # now install the keepalive handler and try again
+- opener = urllib2.build_opener(HTTPHandler())
+- urllib2.install_opener(opener)
++ opener = urllib.request.build_opener(HTTPHandler())
++ urllib.request.install_opener(opener)
+
+- fo = urllib2.urlopen(url)
++ fo = urllib.request.urlopen(url)
+ foo = fo.read()
+ fo.close()
+- m = md5.new(foo)
+- print format % ('keepalive read', m.hexdigest())
++ m = hashlib.md5()
++ m.update(foo)
++ print(format % ('keepalive read', m.hexdigest()))
+
+- fo = urllib2.urlopen(url)
+- foo = ''
++ fo = urllib.request.urlopen(url)
++ foo = b''
+ while 1:
+ f = fo.readline()
+ if f: foo = foo + f
+ else: break
+ fo.close()
+- m = md5.new(foo)
+- print format % ('keepalive readline', m.hexdigest())
++ m = hashlib.md5()
++ m.update(foo)
++ print(format % ('keepalive readline', m.hexdigest()))
+
+ def comp(N, url):
+- print ' making %i connections to:\n %s' % (N, url)
++ print(' making %i connections to:\n %s' % (N, url))
+
+ sys.stdout.write(' first using the normal urllib handlers')
+ # first use normal opener
+- opener = urllib2.build_opener()
+- urllib2.install_opener(opener)
++ opener = urllib.request.build_opener()
++ urllib.request.install_opener(opener)
+ t1 = fetch(N, url)
+- print ' TIME: %.3f s' % t1
++ print(' TIME: %.3f s' % t1)
+
+ sys.stdout.write(' now using the keepalive handler ')
+ # now install the keepalive handler and try again
+- opener = urllib2.build_opener(HTTPHandler())
+- urllib2.install_opener(opener)
++ opener = urllib.request.build_opener(HTTPHandler())
++ urllib.request.install_opener(opener)
+ t2 = fetch(N, url)
+- print ' TIME: %.3f s' % t2
+- print ' improvement factor: %.2f' % (t1/t2, )
++ print(' TIME: %.3f s' % t2)
++ print(' improvement factor: %.2f' % (t1/t2, ))
+
+ def fetch(N, url, delay=0):
+ import time
+@@ -556,7 +520,7 @@ def fetch(N, url, delay=0):
+ starttime = time.time()
+ for i in range(N):
+ if delay and i > 0: time.sleep(delay)
+- fo = urllib2.urlopen(url)
++ fo = urllib.request.urlopen(url)
+ foo = fo.read()
+ fo.close()
+ lens.append(len(foo))
+@@ -566,7 +530,7 @@ def fetch(N, url, delay=0):
+ for i in lens[1:]:
+ j = j + 1
+ if not i == lens[0]:
+- print "WARNING: inconsistent length on read %i: %i" % (j, i)
++ print("WARNING: inconsistent length on read %i: %i" % (j, i))
+
+ return diff
+
+@@ -574,16 +538,16 @@ def test_timeout(url):
+ global DEBUG
+ dbbackup = DEBUG
+ class FakeLogger:
+- def debug(self, msg, *args): print msg % args
++ def debug(self, msg, *args): print(msg % args)
+ info = warning = error = debug
+ DEBUG = FakeLogger()
+- print " fetching the file to establish a connection"
+- fo = urllib2.urlopen(url)
++ print(" fetching the file to establish a connection")
++ fo = urllib.request.urlopen(url)
+ data1 = fo.read()
+ fo.close()
+
+ i = 20
+- print " waiting %i seconds for the server to close the connection" % i
++ print(" waiting %i seconds for the server to close the connection" % i)
+ while i > 0:
+ sys.stdout.write('\r %2i' % i)
+ sys.stdout.flush()
+@@ -591,33 +555,33 @@ def debug(self, msg, *args): print msg % args
+ i -= 1
+ sys.stderr.write('\r')
+
+- print " fetching the file a second time"
+- fo = urllib2.urlopen(url)
++ print(" fetching the file a second time")
++ fo = urllib.request.urlopen(url)
+ data2 = fo.read()
+ fo.close()
+
+ if data1 == data2:
+- print ' data are identical'
++ print(' data are identical')
+ else:
+- print ' ERROR: DATA DIFFER'
++ print(' ERROR: DATA DIFFER')
+
+ DEBUG = dbbackup
+
+
+ def test(url, N=10):
+- print "checking error hander (do this on a non-200)"
++ print("checking error hander (do this on a non-200)")
+ try: error_handler(url)
+- except IOError, e:
+- print "exiting - exception will prevent further tests"
++ except IOError as e:
++ print("exiting - exception will prevent further tests")
+ sys.exit()
+- print
+- print "performing continuity test (making sure stuff isn't corrupted)"
++ print()
++ print("performing continuity test (making sure stuff isn't corrupted)")
+ continuity(url)
+- print
+- print "performing speed comparison"
++ print()
++ print("performing speed comparison")
+ comp(N, url)
+- print
+- print "performing dropped-connection check"
++ print()
++ print("performing dropped-connection check")
+ test_timeout(url)
+
+ if __name__ == '__main__':
+@@ -627,7 +591,7 @@ def test(url, N=10):
+ N = int(sys.argv[1])
+ url = sys.argv[2]
+ except:
+- print "%s <integer> <url>" % sys.argv[0]
++ print("%s <integer> <url>" % sys.argv[0])
+ else:
+ test(url, N)
+
+diff --git a/setup.py b/setup.py
+index 4f06360..0f963c1 100644
+--- a/setup.py
++++ b/setup.py
+@@ -23,23 +23,13 @@
+ from setuptools import setup
+ import sys
+
+-try:
+- import six
+- py3 = six.PY3
+-except:
+- py3 = sys.version_info[0] >= 3
+-
+ # metadata
+-if py3:
+- import re
+- _version_re = re.compile(r'__version__\s*=\s*"(.*)"')
+- for line in open('keepalive/__init__.py', encoding='utf-8'):
+- version_match = _version_re.match(line)
+- if version_match:
+- _version = version_match.group(1)
+-else:
+- import keepalive
+- _version = keepalive.__version__
++import re
++_version_re = re.compile(r'__version__\s*=\s*"(.*)"')
++for line in open('keepalive/__init__.py', encoding='utf-8'):
++ version_match = _version_re.match(line)
++ if version_match:
++ _version = version_match.group(1)
+
+ setup(
+ name = 'keepalive',
+@@ -62,14 +52,10 @@
+ 'Topic :: Software Development :: Libraries :: Python Modules',
+ 'License :: OSI Approved :: GNU Lesser General Public License v2 or later (LGPLv2+)',
+ 'Operating System :: OS Independent',
+- 'Programming Language :: Python :: 2',
+- 'Programming Language :: Python :: 2.6',
+- 'Programming Language :: Python :: 2.7',
+ 'Programming Language :: Python :: 3',
+ 'Programming Language :: Python :: 3.3',
+ 'Programming Language :: Python :: 3.4',
+ 'Programming Language :: Python :: 3.5',
+ ],
+- keywords = 'python http urllib keepalive',
+- use_2to3 = True
++ keywords = 'python http urllib keepalive'
+ )
diff --git a/testing/py3-kerberos/APKBUILD b/testing/py3-kerberos/APKBUILD
index 21cad75b1b7..4993ada1bf1 100644
--- a/testing/py3-kerberos/APKBUILD
+++ b/testing/py3-kerberos/APKBUILD
@@ -3,9 +3,9 @@
pkgname=py3-kerberos
_pkgname=kerberos
pkgver=1.3.1
-pkgrel=2
+pkgrel=4
pkgdesc="Python Kerberos high-level interface"
-url="https://pypi.python.org/pypi/kerberos"
+url="https://pypi.org/project/kerberos"
arch="all"
license="Apache-2.0"
depends="python3"
@@ -25,7 +25,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="63608c6ee94bcade567de19bea5e139039b336e181a319184666a0d1a11b1b6cd10cebf7bab52adc67502788c1632ff36a2534de37b4d01a5a32d9003aa74c6e kerberos-1.3.1.tar.gz"
diff --git a/testing/py3-kikit/APKBUILD b/testing/py3-kikit/APKBUILD
index 73b98678b74..d7330d690ca 100644
--- a/testing/py3-kikit/APKBUILD
+++ b/testing/py3-kikit/APKBUILD
@@ -1,38 +1,63 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-kikit
-pkgver=1.0.2
+pkgver=1.5.1
pkgrel=0
pkgdesc="Python library and CLI tool to automate several tasks in KiCAD"
url="https://github.com/yaqwsx/KiKit"
-# mips, mips64, s390x: py3-shapely
-# aarch64, armv7, armhf, mips, mips64: py3-solidpython
-arch="noarch !mips !mips64 !s390x !aarch64 !armv7 !armhf"
+# riscv64: py3-shapely
+# aarch64, armv7, armhf, mips64: py3-solidpython
+# s390x: kicad
+arch="noarch !riscv64 !aarch64 !armv7 !armhf !s390x"
license="MIT"
depends="
- python3
+ kicad
py3-click
+ py3-commentjson
py3-markdown2
+ py3-pcbnewtransition
py3-pybars3
py3-shapely
py3-solidpython
+ python3
+ "
+makedepends="
+ py3-gpep517
py3-python-versioneer
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/yaqwsx/KiKit/archive/v$pkgver.tar.gz
"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/yaqwsx/KiKit/archive/v$pkgver.tar.gz"
builddir="$srcdir/KiKit-$pkgver"
-options="!check" # Not all dependencies packaged for check
+
+prepare() {
+ default_prepare
+
+ # unvendor old versioneer
+ rm -f versioneer.py
+}
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ cd test/units
+ ../../.testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
+
sha512sums="
-404fecf3e89d7398159a1c63f4996fd8f8175ca55c7509994948a7e09d398e1836b5ad453c67cac0fcf7f10f0c1ad43cfccbb6c487d6b2732bbae2ed15910061 py3-kikit-1.0.2.tar.gz
+1090211f1840ebb6f2f0533b3f588405b5eb007cca6d391183e0450361f55631912891c2e25768431dc4ae0e79025313752d72e00fd049ee9e48b10cf470fcac py3-kikit-1.5.1.tar.gz
"
diff --git a/testing/py3-kitchen/APKBUILD b/testing/py3-kitchen/APKBUILD
deleted file mode 100644
index d5fd28efda9..00000000000
--- a/testing/py3-kitchen/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-kitchen
-_pyname=kitchen
-pkgver=1.2.6
-pkgrel=2
-pkgdesc="Useful snippets of python code"
-url="https://github.com/fedora-infra/kitchen"
-arch="noarch"
-license="LGPL-2.1-only"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/k/kitchen/kitchen-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="215d9e1f64b2f10362ecc434999b27607ecf091c8abe317f47b8607d82a45a63ba2cdfaef8b560e38c82a5e4ab270bb9b5283f957e8a66423fd93e9b83ed0123 kitchen-1.2.6.tar.gz"
diff --git a/testing/py3-kombu/APKBUILD b/testing/py3-kombu/APKBUILD
deleted file mode 100644
index 35633a77062..00000000000
--- a/testing/py3-kombu/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Stefan Wagner <stw@bit-strickerei.de>
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=py3-kombu
-pkgver=4.6.11
-pkgrel=2
-pkgdesc="a message queue abstraction layer"
-options="!check" # 3 Redis tests fail
-url="https://pypi.python.org/pypi/kombu/"
-arch="noarch !s390x" # Limited by py3-dill
-license="BSD-3-Clause"
-depends="py3-amqp py3-vine"
-makedepends="py3-setuptools"
-checkdepends="py3-pyro4 py3-case py3-nose py3-mock py3-tz py3-pytest py3-sqlalchemy py3-fakeredis"
-source="https://files.pythonhosted.org/packages/source/k/kombu/kombu-$pkgver.tar.gz"
-builddir="$srcdir/kombu-$pkgver"
-
-replaces="py-kombu" # Backwards compatibility
-provides="py-kombu=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-sha512sums="a69d380238da08a446b1d49facd16ab881ecf3b24bdca686e656b8a8974544e99e718e21cccd7ebb890764d6d6db3a58924917492b5a43189782ebaf482b039f kombu-4.6.11.tar.gz"
diff --git a/testing/py3-landlock/APKBUILD b/testing/py3-landlock/APKBUILD
new file mode 100644
index 00000000000..c82d3a7b632
--- /dev/null
+++ b/testing/py3-landlock/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer:
+pkgname=py3-landlock
+pkgver=1.0.0_pre4
+_pkgver="${pkgver//_pre/.dev}"
+pkgrel=2
+pkgdesc="Python interface to the Landlock Linux Security Module"
+url="https://github.com/Edward-Knight/landlock"
+arch="all"
+license="MIT"
+makedepends="
+ py3-flit-core
+ py3-gpep517
+ "
+checkdepends="
+ py3-pytest
+ py3-pytest-cov
+ py3-pytest-forked
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$_pkgver.tar.gz::https://github.com/Edward-Knight/landlock/archive/refs/tags/v$_pkgver.tar.gz"
+builddir="$srcdir/landlock-$_pkgver"
+options="!check" # needs landlock LSM loaded by kernel
+
+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="
+40254d8c4bdac02daa7883705a55705087b9171ad2ed269bb29de8082ef7288755ac3a7f4f6a184b76b0c2786903057d08dc06244b0d126ee0bf57f9d90c0795 py3-landlock-1.0.0.dev4.tar.gz
+"
diff --git a/testing/py3-langcodes/APKBUILD b/testing/py3-langcodes/APKBUILD
new file mode 100644
index 00000000000..3569fcce1f2
--- /dev/null
+++ b/testing/py3-langcodes/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-langcodes
+pkgver=3.3.0
+pkgrel=2
+pkgdesc="Tools for labeling human languages with IETF language tags"
+url="https://github.com/rspeer/langcodes"
+arch="noarch"
+license="MIT"
+depends="py3-language-data py3-setuptools"
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://pypi.python.org/packages/source/l/langcodes/langcodes-$pkgver.tar.gz"
+builddir="$srcdir/langcodes-$pkgver"
+
+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="
+b728d951dda28cdbc20e1bb7d3ad55281c04dee09f4451ea2820d3d5ad29eb4957c7fc5b0ad5e2a6828f28284d6a4785c780931396230401c2960bbf8d7f444a langcodes-3.3.0.tar.gz
+"
diff --git a/testing/py3-language-data/APKBUILD b/testing/py3-language-data/APKBUILD
new file mode 100644
index 00000000000..910a7978726
--- /dev/null
+++ b/testing/py3-language-data/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-language-data
+pkgver=1.1
+pkgrel=1
+pkgdesc="Supplementary data about languages used by the langcodes module"
+url="https://github.com/rspeer/language_data"
+arch="noarch"
+license="MIT"
+depends="
+ py3-marisa-trie
+ py3-setuptools
+ "
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://pypi.python.org/packages/source/l/language_data/language_data-$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/language_data-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+4c9fcbf98a06bc5eb9eb3b004e6254d56cba6eaf3c8ae45f7b30d6d9ac13480344bd03ff234edc2086fea36267644d59aaa4b0db4920c04c83f831db9fc05cf3 language_data-1.1.tar.gz
+"
diff --git a/testing/py3-lark-parser/APKBUILD b/testing/py3-lark-parser/APKBUILD
deleted file mode 100644
index a935e3c844f..00000000000
--- a/testing/py3-lark-parser/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Russ Webber <russ@rw.id.au>
-# Maintainer: Russ Webber <russ@rw.id.au>
-pkgname=py3-lark-parser
-pkgver=0.11.3
-pkgrel=1
-pkgdesc="modern parsing library for Python, implementing Earley & LALR(1) and an easy interface"
-url="https://github.com/lark-parser/lark"
-arch="noarch"
-license="MIT"
-options="!check" # requires python dependency js2py
-depends="python3"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/lark-parser/lark/archive/$pkgver.tar.gz"
-builddir="$srcdir/lark-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-16d318493c59d305cee16501568ecd38e1a8c38ab3905ad02a74171382f57bc56d226dd697ea86b3b8a47d2262195291523eb9443ff73d9117ffccc1f44708d0 py3-lark-parser-0.11.3.tar.gz
-"
diff --git a/testing/py3-latex2mathml/APKBUILD b/testing/py3-latex2mathml/APKBUILD
new file mode 100644
index 00000000000..0f8750cd9be
--- /dev/null
+++ b/testing/py3-latex2mathml/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=py3-latex2mathml
+pkgver=3.77.0
+pkgrel=1
+pkgdesc="Pure Python library for LaTeX to MathML conversion"
+url="https://pypi.org/project/latex2mathml/"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/roniemartinez/latex2mathml/archive/$pkgver/latex2mathml-$pkgver.tar.gz"
+builddir="$srcdir/latex2mathml-$pkgver"
+options="!check"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
+}
+
+sha512sums="
+1f7b7f383e75017720d07518b665ffba0b9a6803f771ece64245b6cc12803f0b2ec5aa9a79c030a1735aa09225825edd14a522d90e65bc52c28c8bd4b7066e31 latex2mathml-3.77.0.tar.gz
+"
diff --git a/testing/py3-levenshtein/APKBUILD b/testing/py3-levenshtein/APKBUILD
index 1589bfebd6c..c14686726f6 100644
--- a/testing/py3-levenshtein/APKBUILD
+++ b/testing/py3-levenshtein/APKBUILD
@@ -1,25 +1,45 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-levenshtein
-_pyname=python-Levenshtein
-pkgver=0.12.2
+pkgver=0.25.1
pkgrel=2
pkgdesc="Python extension for computing string edit distances and similarities"
-url="https://github.com/ztane/python-Levenshtein"
+url="https://github.com/maxbachmann/Levenshtein"
arch="all"
license="GPL-2.0-only"
-options="!check" # no tests
-depends="python3"
-makedepends="py3-setuptools python3-dev"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
+depends="py3-rapidfuzz"
+makedepends="
+ cmake
+ cython
+ py3-gpep517
+ py3-scikit-build
+ python3-dev
+ rapidfuzz
+ samurai
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/maxbachmann/Levenshtein/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/Levenshtein-$pkgver"
build() {
- python3 setup.py 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/Levenshtein*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/Levenshtein*.whl
}
-sha512sums="97eac9d19121758af7620ad3963846e48434ceabb5376a83f28452015adf1a620620bfb53edb1c4f60b0fc8ec2b0faf35a105d7e2a0fc5df7a45fce81ba0dcdb python-Levenshtein-0.12.2.tar.gz"
+sha512sums="
+936dab36b15df6f2ee5425efb1fdb1490fb8f618ba453f464a6dd615bcc427e55ceee7474f06b34392871d9f38470b853602a11d8f9776eee66ec34156511ca4 py3-levenshtein-0.25.1.tar.gz
+"
diff --git a/testing/py3-lib_users/APKBUILD b/testing/py3-lib_users/APKBUILD
index c3caa11eea9..5cc2e422133 100644
--- a/testing/py3-lib_users/APKBUILD
+++ b/testing/py3-lib_users/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-lib_users
_pkgname=lib_users
pkgver=0.15
-pkgrel=0
+pkgrel=3
pkgdesc="Checks /proc for libraries being mapped but marked as deleted"
url="https://github.com/klausman/lib_users"
arch="noarch"
@@ -11,6 +11,7 @@ license="GPL-2.0-or-later"
depends="python3"
makedepends="py3-setuptools"
options="!check" # https://bugs.python.org/issue29130
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/klausman/lib_users/archive/v$pkgver.tar.gz
setuptools.patch"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -24,7 +25,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-libacl/APKBUILD b/testing/py3-libacl/APKBUILD
index d908dd48948..37fd6fd97a5 100644
--- a/testing/py3-libacl/APKBUILD
+++ b/testing/py3-libacl/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-libacl
_pkgname=pylibacl
-pkgver=0.5.3
-pkgrel=5
+pkgver=0.7.0
+pkgrel=1
pkgdesc="A python module for manipulating ACLs"
url="https://pylibacl.k1024.org/"
arch="all"
@@ -27,4 +27,6 @@ package() {
python3 setup.py install --root="$pkgdir"
}
-sha512sums="7d58a3a64e939a8891333a0fb8aa6e12dcbbf09e4e829f86fd1bb41693dd4f734a4ab907770e8e341476594aa495b5308a26d495ebf251dcda308ee46e5392ad pylibacl-0.5.3.tar.gz"
+sha512sums="
+077515a00c7a048faf7792acd9c3e768d35674c0b3f4ec72fdf37561c90ed12bb392582a4fb9a23b7916db3375278c2636f2844f362a8335e7ad68e1e9b9c3bd pylibacl-0.7.0.tar.gz
+"
diff --git a/testing/py3-libarchive-c/APKBUILD b/testing/py3-libarchive-c/APKBUILD
deleted file mode 100644
index 3ccee9e7fb7..00000000000
--- a/testing/py3-libarchive-c/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=py3-libarchive-c
-pkgver=2.9
-pkgrel=4
-pkgdesc="Python interface to libarchive"
-url="https://github.com/Changaco/python-libarchive-c"
-arch="noarch !mips !mips64" # essential tests fail on mips
-license="CC0-1.0"
-depends="libarchive python3" # uses ffi
-makedepends="python3-dev libarchive-dev py3-setuptools"
-checkdepends="py3-pytest py3-mock"
-source="python-libarchive-c-$pkgver.tar.gz::https://github.com/Changaco/python-libarchive-c/archive/$pkgver.tar.gz
- time64.patch"
-builddir="$srcdir/python-libarchive-c-$pkgver"
-
-prepare() {
- default_prepare
- soname=$(scanelf --quiet --soname /usr/lib/libarchive.so | awk '{print $1}')
- sed -i -e "s/find_library('archive')/find_library('$soname')/" libarchive/ffi.py
-}
-
-build() {
- python3 setup.py build
-}
-
-check() {
- py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="282791cef6ff67aefc238ce1b40783e3952b366fc5c464fe99557e81d91e8057b9ec339c52535917c251f9a9bffdd3ec2773c91cbb6c9881d9ecb8572cf0fc5b python-libarchive-c-2.9.tar.gz
-24cbdbfeeb8f375bfdf4061dbdbd6bd40fbe5cd6b2c9f15c6b15814062121ede938c90b2b73cb5540ee7fedf56062a748d5b9b21b3d35327ce583be1d6e164ba time64.patch"
diff --git a/testing/py3-libarchive-c/time64.patch b/testing/py3-libarchive-c/time64.patch
deleted file mode 100644
index 4cdc8a32fad..00000000000
--- a/testing/py3-libarchive-c/time64.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/libarchive/ffi.py b/libarchive/ffi.py
-index 26b383f..b089575 100644
---- a/libarchive/ffi.py
-+++ b/libarchive/ffi.py
-@@ -2,7 +2,7 @@ from __future__ import division, print_function, unicode_literals
-
- from ctypes import (
- c_char_p, c_int, c_uint, c_long, c_longlong, c_size_t, c_void_p,
-- c_wchar_p, CFUNCTYPE, POINTER,
-+ c_wchar_p, CFUNCTYPE, POINTER, c_int64
- )
-
- try:
-@@ -56,6 +56,7 @@ VOID_CB = lambda *_: ARCHIVE_OK
-
- c_archive_p = c_void_p
- c_archive_entry_p = c_void_p
-+c_time_t = c_int64
-
-
- # Helper functions
-@@ -113,10 +114,10 @@ error_string = ffi('error_string', [c_archive_p], c_char_p)
- ffi('entry_new', [], c_archive_entry_p, check_null)
-
- ffi('entry_filetype', [c_archive_entry_p], c_int)
--ffi('entry_atime', [c_archive_entry_p], c_int)
--ffi('entry_birthtime', [c_archive_entry_p], c_int)
--ffi('entry_mtime', [c_archive_entry_p], c_int)
--ffi('entry_ctime', [c_archive_entry_p], c_int)
-+ffi('entry_atime', [c_archive_entry_p], c_time_t)
-+ffi('entry_birthtime', [c_archive_entry_p], c_time_t)
-+ffi('entry_mtime', [c_archive_entry_p], c_time_t)
-+ffi('entry_ctime', [c_archive_entry_p], c_time_t)
- ffi('entry_atime_nsec', [c_archive_entry_p], c_long)
- ffi('entry_birthtime_nsec', [c_archive_entry_p], c_long)
- ffi('entry_mtime_nsec', [c_archive_entry_p], c_long)
-@@ -140,10 +141,10 @@ ffi('entry_gid', [c_archive_entry_p], c_longlong)
- ffi('entry_set_size', [c_archive_entry_p, c_longlong], None)
- ffi('entry_set_filetype', [c_archive_entry_p, c_uint], None)
- ffi('entry_set_perm', [c_archive_entry_p, c_int], None)
--ffi('entry_set_atime', [c_archive_entry_p, c_int, c_long], None)
--ffi('entry_set_mtime', [c_archive_entry_p, c_int, c_long], None)
--ffi('entry_set_ctime', [c_archive_entry_p, c_int, c_long], None)
--ffi('entry_set_birthtime', [c_archive_entry_p, c_int, c_long], None)
-+ffi('entry_set_atime', [c_archive_entry_p, c_time_t, c_long], None)
-+ffi('entry_set_mtime', [c_archive_entry_p, c_time_t, c_long], None)
-+ffi('entry_set_ctime', [c_archive_entry_p, c_time_t, c_long], None)
-+ffi('entry_set_birthtime', [c_archive_entry_p, c_time_t, c_long], None)
-
- ffi('entry_update_pathname_utf8', [c_archive_entry_p, c_char_p], None)
-
-
diff --git a/testing/py3-liblarch/APKBUILD b/testing/py3-liblarch/APKBUILD
index be1b645f23a..8827ce2b664 100644
--- a/testing/py3-liblarch/APKBUILD
+++ b/testing/py3-liblarch/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=py3-liblarch
-pkgver=3.1.0
-pkgrel=1
+pkgver=3.2.0
+pkgrel=4
pkgdesc="A Python library to easily handle complex data structures, with a GTK binding"
url="https://wiki.gnome.org/Projects/liblarch"
arch="noarch"
@@ -10,6 +10,7 @@ license="LGPL-3.0-or-later"
depends="python3 py3-gobject3 gtk+3.0"
makedepends="py3-setuptools"
checkdepends="py3-nose py3-pyflakes xvfb-run"
+subpackages="$pkgname-pyc"
source="https://github.com/getting-things-gnome/liblarch/archive/v$pkgver/liblarch-$pkgver.tar.gz"
builddir="$srcdir/liblarch-$pkgver"
@@ -22,7 +23,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="042a763dd12612d6630c064b5af84011f1fb908626f17f866e103743cdaabb4983f922290287b0138938488a7c9bff33680ef8157f8bbcbc166e4f4f2d008951 liblarch-3.1.0.tar.gz"
+sha512sums="
+d356535f2e60885249be009f7e671fcb1ee02b7d32b7abecc3805c5f6b6e231fc34be0d7a73cd9f9a68dfaae0b1cf0a5bdc54ed3075901a149d58ad6577d92ab liblarch-3.2.0.tar.gz
+"
diff --git a/testing/py3-libmdbx/APKBUILD b/testing/py3-libmdbx/APKBUILD
index 65db1ab48c4..194fd298a00 100644
--- a/testing/py3-libmdbx/APKBUILD
+++ b/testing/py3-libmdbx/APKBUILD
@@ -1,14 +1,15 @@
# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
pkgname=py3-libmdbx
pkgver=0.10.2
-pkgrel=3
+pkgrel=6
pkgdesc="Python bindings for libmdbx"
url="https://gitlab.com/thermi/py3-libmdbx/"
-arch="noarch !ppc64le !mips64" # test case segfaults in ppc64le, libmdbx doesn't work on mips64 right now
+arch="noarch !ppc64le" # test case segfaults in ppc64le
license="OLDAP-2.8"
depends="libmdbx"
-makedepends="py3-setuptools libmdbx"
-checkdepends="py3-pytest libmdbx"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="py3-libmdbx-$pkgver.tar.gz::https://gitlab.com/Thermi/py3-libmdbx/-/archive/v$pkgver/py3-libmdbx-v$pkgver.tar.gz"
builddir="$srcdir/$pkgname-v$pkgver"
@@ -22,8 +23,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-
sha512sums="3014aa59b7b00c53442b9d2ad2a4ca55f61381c754ea8df1d38d6e26b5ab9109564026efc533a13f4d15fe7a45dbe507a75928a6b47932c89fe7a1d977dc38c4 py3-libmdbx-0.10.2.tar.gz"
diff --git a/testing/py3-libnacl/APKBUILD b/testing/py3-libnacl/APKBUILD
index 704a189c419..09f7740fabb 100644
--- a/testing/py3-libnacl/APKBUILD
+++ b/testing/py3-libnacl/APKBUILD
@@ -1,30 +1,43 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-libnacl
-_pkgname=libnacl
-pkgver=1.7.2
-pkgrel=2
+pkgver=2.1.0
+pkgrel=1
pkgdesc="Python bindings for libsodium/tweetnacl"
url="https://libnacl.readthedocs.org/"
-arch="noarch !armhf !armv7 !x86" # Tests fail on the builder but pass on CI
+arch="noarch"
license="Apache-2.0"
-makedepends="py3-setuptools libsodium-dev"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/saltstack/libnacl/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
+depends="libsodium"
+makedepends="
+ libsodium-dev
+ py3-gpep517
+ py3-poetry-core
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/saltstack/libnacl/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir"/libnacl-$pkgver
replaces="py-libnacl" # Backwards compatibility
provides="py-libnacl=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 -m unittest discover --start-directory tests -v
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest -v
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="a4efbf73f73d9493ac365efa5a5bd6481f85ce4c880ad236bbf7478090bdea857e78e33e445c4e467d2a2032040863b835f32f9a942d2f1e467015bd76b0d469 libnacl-1.7.2.tar.gz"
+sha512sums="
+717aec5fcc9ffbb7fef5f265861f86a087cc1ad1a122d752b1d8447bf495b98106056f19ff2ad1001ca81b84085ae6167ec96db2c2f3823f0f9a72a2a54788df py3-libnacl-2.1.0.tar.gz
+"
diff --git a/testing/py3-librelingo-audios/APKBUILD b/testing/py3-librelingo-audios/APKBUILD
deleted file mode 100644
index 0a0e5575314..00000000000
--- a/testing/py3-librelingo-audios/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=py3-librelingo-audios
-pkgver=1.3.0
-pkgrel=1
-pkgdesc="Tools to help getting audios for LibreLingo courses"
-url="https://github.com/kantord/LibreLingo"
-arch="noarch"
-license="AGPL-3.0-only"
-depends="
- py3-librelingo-utils
- py3-librelingo-yaml-loader
- python3
- "
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://pypi.python.org/packages/source/l/librelingo_audios/librelingo_audios-$pkgver.tar.gz"
-options="!check" # No tests in the PyPi package
-builddir="$srcdir/librelingo_audios-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-28acf157e4788a2c8216f79176e58eca1269e505fe536950a634a843d7c612d31058cb976c4c2961db3a36c2ad2fdb891ded62d32519c407ab8c7a17c50b1ced librelingo_audios-1.3.0.tar.gz
-"
diff --git a/testing/py3-librelingo-types/APKBUILD b/testing/py3-librelingo-types/APKBUILD
deleted file mode 100644
index 52464097127..00000000000
--- a/testing/py3-librelingo-types/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=py3-librelingo-types
-pkgver=3.2.0
-pkgrel=1
-pkgdesc="Data types to be used in Python packages for LibreLingo"
-url="https://github.com/kantord/LibreLingo"
-arch="noarch"
-license="AGPL-3.0-only"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://pypi.python.org/packages/source/l/librelingo_types/librelingo_types-$pkgver.tar.gz"
-options="!check" # No tests in the PyPi package
-builddir="$srcdir/librelingo_types-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-1889eaa4c7b9a6912f78f340f97f1009312d6fcb43bacc3e8cb7f3a0c785fa2ef73b4813e325381a36bff7e9c0c9c70ec3bf15e48fb8da0aaa672a08c32c7366 librelingo_types-3.2.0.tar.gz
-"
diff --git a/testing/py3-librelingo-utils/APKBUILD b/testing/py3-librelingo-utils/APKBUILD
deleted file mode 100644
index 95e21ef22ce..00000000000
--- a/testing/py3-librelingo-utils/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=py3-librelingo-utils
-pkgver=2.6.1
-pkgrel=1
-pkgdesc="Utilities to be used in LibreLingo-related-packages"
-url="https://github.com/kantord/LibreLingo"
-arch="noarch"
-license="AGPL-3.0-only"
-depends="
- py3-librelingo-types
- py3-regex
- python3
- "
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://pypi.python.org/packages/source/l/librelingo_utils/librelingo_utils-$pkgver.tar.gz"
-options="!check" # No tests in the PyPi package
-builddir="$srcdir/librelingo_utils-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-56268c17d537212a22701bfd185784ecad6d25e662237039cde6d408757d7fadf92e121cef362aa797bb22278b9b1501d7a124b6d5d0c8610eb676022d44bbb9 librelingo_utils-2.6.1.tar.gz
-"
diff --git a/testing/py3-librelingo-yaml-loader/APKBUILD b/testing/py3-librelingo-yaml-loader/APKBUILD
deleted file mode 100644
index 11ce92804f9..00000000000
--- a/testing/py3-librelingo-yaml-loader/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=py3-librelingo-yaml-loader
-pkgver=1.8.0
-pkgrel=1
-pkgdesc="Load YAML-based LibreLingo courses in your Python project"
-url="https://github.com/kantord/LibreLingo"
-arch="noarch"
-license="AGPL-3.0-only"
-depends="
- py3-bleach
- py3-bleach-allowlist
- py3-click
- py3-html2markdown
- py3-librelingo-types
- py3-markdown
- py3-pyfakefs
- py3-slugify
- py3-yaml
- python3
- "
-makedepends="py3-setuptools"
-checkdepends="
- py3-pytest
- py3-snapshottest
- "
-source="https://pypi.python.org/packages/source/l/librelingo_yaml_loader/librelingo_yaml_loader-$pkgver.tar.gz"
-options="!check" # No tests in the PyPi package
-builddir="$srcdir/librelingo_yaml_loader-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-e3331b0d50b360c7aa447c7bdc9937e578bfde9f398b916e951d6a1aa5d17c78a1591b9274021b31cc6a76df4415006d42cec0a13b7e3136f855fb24b858a605 librelingo_yaml_loader-1.8.0.tar.gz
-"
diff --git a/testing/py3-librtmp/APKBUILD b/testing/py3-librtmp/APKBUILD
index 64fa40d4b7f..d41fa5cb8ee 100644
--- a/testing/py3-librtmp/APKBUILD
+++ b/testing/py3-librtmp/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-librtmp
_pkgname=python-librtmp
pkgver=0.3.0
-pkgrel=3
+pkgrel=6
pkgdesc="Python bindings for librtmp, built with cffi"
url="https://github.com/chrippa/python-librtmp"
arch="all"
@@ -11,6 +11,7 @@ license="BSD-2-Clause"
depends="py3-cffi"
makedepends="python3-dev py3-setuptools rtmpdump-dev"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -26,7 +27,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="1fa529f5c68341f225849061cbcf6883f80e48a492fae8319336ea1e17c22070d5bd204f768b2561b0ef8dfdf29b38789673fab3d3386290143eb94d2b51b8fe python-librtmp-0.3.0.tar.gz"
diff --git a/testing/py3-limits/APKBUILD b/testing/py3-limits/APKBUILD
new file mode 100644
index 00000000000..89bcddf8bc5
--- /dev/null
+++ b/testing/py3-limits/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=py3-limits
+pkgver=3.10.1
+pkgrel=1
+pkgdesc="Rate limiting using various strategies and storage backends such as redis & memcached"
+url="https://github.com/alisaifee/limits"
+arch="noarch"
+license="MIT"
+depends="
+ py3-deprecated
+ python3
+ "
+makedepends="py3-setuptools"
+checkdepends="
+ py3-flaky
+ py3-mongo
+ py3-pytest
+ py3-pytest-asyncio
+ py3-pytest-benchmark
+ py3-pytest-cov
+ py3-redis
+ "
+subpackages="$pkgname-pyc"
+options="!check" # most tests are integration with db connections, assume all connectors installed
+source="
+ https://github.com/alisaifee/limits/archive/refs/tags/$pkgver/limits-$pkgver.tar.gz
+
+ our-std-is-good-enough.patch
+ "
+builddir="$srcdir/limits-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest \
+ -m 'not benchmark and not etcd and not integration and not memcached' \
+ -k 'not aio and not Storage and not strategy' -v
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="
+5daa23a2a53dc56ba8e24fe72000bd69bfade9956a159c02731ef3a240682f467c4ae1f58878139fd9d0f67806bf115f6f97999160a2f66f34c64fdad1503d70 limits-3.10.1.tar.gz
+8db0d96f860a07bbc554504a6e94b61546a6be22c0b9736c6b5aca628db9b618efc30609fce3702ee8e3812e1e34329c04d2f34bd69fdaecaa7c7fa0a2bde8a7 our-std-is-good-enough.patch
+"
diff --git a/testing/py3-limits/our-std-is-good-enough.patch b/testing/py3-limits/our-std-is-good-enough.patch
new file mode 100644
index 00000000000..f2247e70e6e
--- /dev/null
+++ b/testing/py3-limits/our-std-is-good-enough.patch
@@ -0,0 +1,22 @@
+--- ./limits/util.py.orig
++++ ./limits/util.py
+@@ -8,7 +8,7 @@
+ from types import ModuleType
+ from typing import TYPE_CHECKING, cast
+
+-import importlib_resources
++from importlib import resources as importlib_resources
+ from packaging.version import Version
+
+ from limits.typing import Dict, List, NamedTuple, Optional, Tuple, Type, Union
+--- ./limits/typing.py.orig
++++ ./limits/typing.py
+@@ -11,7 +11,7 @@
+ Union,
+ )
+
+-from typing_extensions import ClassVar, Counter, ParamSpec, Protocol
++from typing import ClassVar, Counter, ParamSpec, Protocol
+
+ Serializable = Union[int, str, float]
+
diff --git a/testing/py3-lingua-franca/APKBUILD b/testing/py3-lingua-franca/APKBUILD
new file mode 100644
index 00000000000..c918237f30c
--- /dev/null
+++ b/testing/py3-lingua-franca/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-lingua-franca
+pkgver=0.4.8_alpha3
+pkgrel=1
+pkgdesc="Mycroft's multilingual text parsing and formatting library"
+url="https://github.com/OpenVoiceOS/ovos-lingua-franca"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-colour
+ py3-dateutil
+ py3-quebra-frases
+ py3-rapidfuzz
+ py3-webcolors
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-lingua-franca/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+builddir="$srcdir/ovos-lingua-franca-${pkgver//_alpha/a}"
+
+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="
+fce6e1aa17215110cc18c8d8a620aab63549492813dfdbe263ba7bc60748108476af7fb28d9b65dfcea46e009c469bb1410ffe752651649966fc3d4909d15d46 py3-lingua-franca-0.4.8_alpha3.tar.gz
+"
diff --git a/testing/py3-linkify-it-py/APKBUILD b/testing/py3-linkify-it-py/APKBUILD
new file mode 100644
index 00000000000..c9a6931b5b3
--- /dev/null
+++ b/testing/py3-linkify-it-py/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-linkify-it-py
+pkgver=2.0.3
+pkgrel=1
+pkgdesc="Links recognition library with full unicode support"
+url="https://github.com/tsutsu3/linkify-it-py"
+arch="noarch"
+license="MIT"
+depends="python3 py3-uc-micro-py"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tsutsu3/linkify-it-py/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/linkify-it-py-$pkgver"
+
+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="
+6621533246a42f3b13fb7dd9f1366cadb0e3c291bcb92fd899bc6389cb9f7904ababf4b5dbae51a561a4f50f8a20597badf03c82653ae8db75d9a5a484bc1229 py3-linkify-it-py-2.0.3.tar.gz
+"
diff --git a/testing/py3-litex-hub-modules/0001-fix-pythondata_software_compiler_rt-python3.patch b/testing/py3-litex-hub-modules/0001-fix-pythondata_software_compiler_rt-python3.patch
new file mode 100644
index 00000000000..9f17f2853d1
--- /dev/null
+++ b/testing/py3-litex-hub-modules/0001-fix-pythondata_software_compiler_rt-python3.patch
@@ -0,0 +1,405 @@
+Ran 2to3 to run python code on python3
+diff --color -rupN a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/asan/scripts/asan_symbolize.py b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/asan/scripts/asan_symbolize.py
+--- a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/asan/scripts/asan_symbolize.py 2020-04-09 07:33:54.000000000 +0200
++++ b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/asan/scripts/asan_symbolize.py 2024-01-11 13:21:54.089653123 +0100
+@@ -84,7 +84,7 @@ class LLVMSymbolizer(Symbolizer):
+ for hint in self.dsym_hints:
+ cmd.append('--dsym-hint=%s' % hint)
+ if DEBUG:
+- print ' '.join(cmd)
++ print(' '.join(cmd))
+ try:
+ result = subprocess.Popen(cmd, stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE)
+@@ -100,8 +100,8 @@ class LLVMSymbolizer(Symbolizer):
+ try:
+ symbolizer_input = '"%s" %s' % (binary, offset)
+ if DEBUG:
+- print symbolizer_input
+- print >> self.pipe.stdin, symbolizer_input
++ print(symbolizer_input)
++ print(symbolizer_input, file=self.pipe.stdin)
+ while True:
+ function_name = self.pipe.stdout.readline().rstrip()
+ if not function_name:
+@@ -146,7 +146,7 @@ class Addr2LineSymbolizer(Symbolizer):
+ cmd += ['--demangle']
+ cmd += ['-e', self.binary]
+ if DEBUG:
+- print ' '.join(cmd)
++ print(' '.join(cmd))
+ return subprocess.Popen(cmd,
+ stdin=subprocess.PIPE, stdout=subprocess.PIPE)
+
+@@ -156,8 +156,8 @@ class Addr2LineSymbolizer(Symbolizer):
+ return None
+ lines = []
+ try:
+- print >> self.pipe.stdin, offset
+- print >> self.pipe.stdin, self.output_terminator
++ print(offset, file=self.pipe.stdin)
++ print(self.output_terminator, file=self.pipe.stdin)
+ is_first_frame = True
+ while True:
+ function_name = self.pipe.stdout.readline().rstrip()
+@@ -214,7 +214,7 @@ class DarwinSymbolizer(Symbolizer):
+
+ def open_atos(self):
+ if DEBUG:
+- print 'atos -o %s -arch %s' % (self.binary, self.arch)
++ print('atos -o %s -arch %s' % (self.binary, self.arch))
+ cmdline = ['atos', '-o', self.binary, '-arch', self.arch]
+ self.atos = UnbufferedLineConverter(cmdline, close_stderr=True)
+
+@@ -229,7 +229,7 @@ class DarwinSymbolizer(Symbolizer):
+ # foo(type1, type2) (in object.name) (filename.cc:80)
+ match = re.match('^(.*) \(in (.*)\) \((.*:\d*)\)$', atos_line)
+ if DEBUG:
+- print 'atos_line: ', atos_line
++ print('atos_line: ', atos_line)
+ if match:
+ function_name = match.group(1)
+ function_name = re.sub('\(.*?\)', '', function_name)
+@@ -304,7 +304,7 @@ class BreakpadSymbolizer(Symbolizer):
+ pass
+ elif fragments[0] == 'FUNC':
+ cur_function_addr = int(fragments[1], 16)
+- if not cur_function_addr in self.symbols.keys():
++ if not cur_function_addr in list(self.symbols.keys()):
+ self.symbols[cur_function_addr] = ' '.join(fragments[4:])
+ else:
+ # Line starting with an address.
+@@ -319,7 +319,7 @@ class BreakpadSymbolizer(Symbolizer):
+
+ def get_sym_file_line(self, addr):
+ key = None
+- if addr in self.addresses.keys():
++ if addr in list(self.addresses.keys()):
+ key = addr
+ else:
+ index = bisect.bisect_left(self.address_list, addr)
+@@ -343,7 +343,7 @@ class BreakpadSymbolizer(Symbolizer):
+ function_name, file_name, line_no = res
+ result = ['%s in %s %s:%d' % (
+ addr, function_name, file_name, line_no)]
+- print result
++ print(result)
+ return result
+ else:
+ return None
+@@ -425,7 +425,7 @@ class SymbolizationLoop(object):
+ self.frame_no = 0
+ for line in logfile:
+ processed = self.process_line(line)
+- print '\n'.join(processed)
++ print('\n'.join(processed))
+
+ def process_line_echo(self, line):
+ return [line.rstrip()]
+@@ -439,7 +439,7 @@ class SymbolizationLoop(object):
+ if not match:
+ return [self.current_line]
+ if DEBUG:
+- print line
++ print(line)
+ _, frameno_str, addr, binary, offset = match.groups()
+ if frameno_str == '0':
+ # Assume that frame #0 is the first frame of new stack trace.
+diff --color -rupN a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/dfsan/scripts/build-libc-list.py b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/dfsan/scripts/build-libc-list.py
+--- a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/dfsan/scripts/build-libc-list.py 2020-04-09 07:33:54.000000000 +0200
++++ b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/dfsan/scripts/build-libc-list.py 2024-01-11 13:21:54.209651423 +0100
+@@ -87,10 +87,10 @@ for l in libs:
+ if os.path.exists(l):
+ functions += defined_function_list(l)
+ else:
+- print >> sys.stderr, 'warning: library %s not found' % l
++ print('warning: library %s not found' % l, file=sys.stderr)
+
+ functions = list(set(functions))
+ functions.sort()
+
+ for f in functions:
+- print 'fun:%s=uninstrumented' % f
++ print('fun:%s=uninstrumented' % f)
+diff --color -rupN a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/cpplint.py b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/cpplint.py
+--- a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/cpplint.py 2020-04-09 07:33:54.000000000 +0200
++++ b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/cpplint.py 2024-01-11 13:21:54.762976917 +0100
+@@ -321,7 +321,7 @@ _ALT_TOKEN_REPLACEMENT = {
+ # and multi-line strings (http://go/beujw ), but those have always been
+ # troublesome for cpplint.
+ _ALT_TOKEN_REPLACEMENT_PATTERN = re.compile(
+- r'[ =()](' + ('|'.join(_ALT_TOKEN_REPLACEMENT.keys())) + r')(?=[ (]|$)')
++ r'[ =()](' + ('|'.join(list(_ALT_TOKEN_REPLACEMENT.keys()))) + r')(?=[ (]|$)')
+
+
+ # These constants define types of headers for use with
+@@ -620,7 +620,7 @@ class _CppLintState(object):
+
+ def PrintErrorCounts(self):
+ """Print a summary of errors by category, and the total."""
+- for category, count in self.errors_by_category.iteritems():
++ for category, count in self.errors_by_category.items():
+ sys.stderr.write('Category \'%s\' errors found: %d\n' %
+ (category, count))
+ sys.stderr.write('Total errors found: %d\n' % self.error_count)
+@@ -1041,7 +1041,7 @@ def FindEndOfExpressionInLine(line, star
+ Returns:
+ Index just after endchar.
+ """
+- for i in xrange(startpos, len(line)):
++ for i in range(startpos, len(line)):
+ if line[i] == startchar:
+ depth += 1
+ elif line[i] == endchar:
+@@ -1100,7 +1100,7 @@ def CheckForCopyright(filename, lines, e
+
+ # We'll say it should occur by line 10. Don't forget there's a
+ # dummy line at the front.
+- for line in xrange(1, min(len(lines), 11)):
++ for line in range(1, min(len(lines), 11)):
+ if re.search(r'Copyright', lines[line], re.I): break
+ else: # means no copyright line was found
+ error(filename, 0, 'legal/copyright', 5,
+@@ -1221,7 +1221,7 @@ def CheckForUnicodeReplacementCharacters
+ error: The function to call with any errors found.
+ """
+ for linenum, line in enumerate(lines):
+- if u'\ufffd' in line:
++ if '\ufffd' in line:
+ error(filename, linenum, 'readability/utf8', 5,
+ 'Line contains invalid UTF-8 (or Unicode replacement character).')
+
+@@ -1978,7 +1978,7 @@ def CheckForFunctionLengths(filename, cl
+
+ if starting_func:
+ body_found = False
+- for start_linenum in xrange(linenum, clean_lines.NumLines()):
++ for start_linenum in range(linenum, clean_lines.NumLines()):
+ start_line = lines[start_linenum]
+ joined_line += ' ' + start_line.lstrip()
+ if Search(r'(;|})', start_line): # Declarations and trivial functions
+@@ -2777,7 +2777,7 @@ def GetLineWidth(line):
+ The width of the line in column positions, accounting for Unicode
+ combining characters and wide characters.
+ """
+- if isinstance(line, unicode):
++ if isinstance(line, str):
+ width = 0
+ for uc in unicodedata.normalize('NFC', line):
+ if unicodedata.east_asian_width(uc) in ('W', 'F'):
+@@ -3109,7 +3109,7 @@ def _GetTextInside(text, start_pattern):
+
+ # Give opening punctuations to get the matching close-punctuations.
+ matching_punctuation = {'(': ')', '{': '}', '[': ']'}
+- closing_punctuation = set(matching_punctuation.itervalues())
++ closing_punctuation = set(matching_punctuation.values())
+
+ # Find the position to start extracting text.
+ match = re.search(start_pattern, text, re.M)
+@@ -3675,7 +3675,7 @@ def CheckForIncludeWhatYouUse(filename,
+ required = {} # A map of header name to linenumber and the template entity.
+ # Example of required: { '<functional>': (1219, 'less<>') }
+
+- for linenum in xrange(clean_lines.NumLines()):
++ for linenum in range(clean_lines.NumLines()):
+ line = clean_lines.elided[linenum]
+ if not line or line[0] == '#':
+ continue
+@@ -3723,7 +3723,7 @@ def CheckForIncludeWhatYouUse(filename,
+
+ # include_state is modified during iteration, so we iterate over a copy of
+ # the keys.
+- header_keys = include_state.keys()
++ header_keys = list(include_state.keys())
+ for header in header_keys:
+ (same_module, common_path) = FilesBelongToSameModule(abs_filename, header)
+ fullpath = common_path + header
+@@ -3842,7 +3842,7 @@ def ProcessFileData(filename, file_exten
+
+ RemoveMultiLineComments(filename, lines, error)
+ clean_lines = CleansedLines(lines)
+- for line in xrange(clean_lines.NumLines()):
++ for line in range(clean_lines.NumLines()):
+ ProcessLine(filename, file_extension, clean_lines, line,
+ include_state, function_state, nesting_state, error,
+ extra_check_functions)
+diff --color -rupN a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/gen_dynamic_list.py b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/gen_dynamic_list.py
+--- a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/gen_dynamic_list.py 2020-04-09 07:33:54.000000000 +0200
++++ b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/gen_dynamic_list.py 2024-01-11 13:21:54.896308362 +0100
+@@ -100,7 +100,7 @@ def main(argv):
+ print('global:')
+ result.sort()
+ for f in result:
+- print(u' %s;' % f)
++ print((' %s;' % f))
+ if args.version_list:
+ print('local:')
+ print(' *;')
+diff --color -rupN a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/sancov.py b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/sancov.py
+--- a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/sancov.py 2020-04-09 07:33:54.000000000 +0200
++++ b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/lib/sanitizer_common/scripts/sancov.py 2024-01-11 13:21:55.032973093 +0100
+@@ -14,12 +14,12 @@ import sys
+ prog_name = ""
+
+ def Usage():
+- print >> sys.stderr, "Usage: \n" + \
++ print("Usage: \n" + \
+ " " + prog_name + " merge FILE [FILE...] > OUTPUT\n" \
+ " " + prog_name + " print FILE [FILE...]\n" \
+ " " + prog_name + " unpack FILE [FILE...]\n" \
+ " " + prog_name + " rawunpack FILE [FILE ...]\n" \
+- " " + prog_name + " missing BINARY < LIST_OF_PCS\n"
++ " " + prog_name + " missing BINARY < LIST_OF_PCS\n", file=sys.stderr)
+ exit(1)
+
+ def CheckBits(bits):
+@@ -65,15 +65,15 @@ def ReadOneFile(path):
+ bits = ReadMagicAndReturnBitness(f, path)
+ size -= 8
+ s = array.array(TypeCodeForBits(bits), f.read(size))
+- print >>sys.stderr, "%s: read %d %d-bit PCs from %s" % (prog_name, size * 8 / bits, bits, path)
++ print("%s: read %d %d-bit PCs from %s" % (prog_name, size * 8 / bits, bits, path), file=sys.stderr)
+ return s
+
+ def Merge(files):
+ s = set()
+ for f in files:
+ s = s.union(set(ReadOneFile(f)))
+- print >> sys.stderr, "%s: %d files merged; %d PCs total" % \
+- (prog_name, len(files), len(s))
++ print("%s: %d files merged; %d PCs total" % \
++ (prog_name, len(files), len(s)), file=sys.stderr)
+ return sorted(s)
+
+ def PrintFiles(files):
+@@ -81,10 +81,10 @@ def PrintFiles(files):
+ s = Merge(files)
+ else: # If there is just on file, print the PCs in order.
+ s = ReadOneFile(files[0])
+- print >> sys.stderr, "%s: 1 file merged; %d PCs total" % \
+- (prog_name, len(s))
++ print("%s: 1 file merged; %d PCs total" % \
++ (prog_name, len(s)), file=sys.stderr)
+ for i in s:
+- print "0x%x" % i
++ print("0x%x" % i)
+
+ def MergeAndPrint(files):
+ if sys.stdout.isatty():
+@@ -100,7 +100,7 @@ def MergeAndPrint(files):
+
+ def UnpackOneFile(path):
+ with open(path, mode="rb") as f:
+- print >> sys.stderr, "%s: unpacking %s" % (prog_name, path)
++ print("%s: unpacking %s" % (prog_name, path), file=sys.stderr)
+ while True:
+ header = f.read(12)
+ if not header: return
+@@ -112,8 +112,8 @@ def UnpackOneFile(path):
+ assert(len(module) == module_length)
+ assert(len(blob) == blob_size)
+ extracted_file = "%s.%d.sancov" % (module, pid)
+- print >> sys.stderr, "%s: extracting %s" % \
+- (prog_name, extracted_file)
++ print("%s: extracting %s" % \
++ (prog_name, extracted_file), file=sys.stderr)
+ # The packed file may contain multiple blobs for the same pid/module
+ # pair. Append to the end of the file instead of overwriting.
+ with open(extracted_file, 'ab') as f2:
+@@ -129,7 +129,7 @@ def Unpack(files):
+ def UnpackOneRawFile(path, map_path):
+ mem_map = []
+ with open(map_path, mode="rt") as f_map:
+- print >> sys.stderr, "%s: reading map %s" % (prog_name, map_path)
++ print("%s: reading map %s" % (prog_name, map_path), file=sys.stderr)
+ bits = int(f_map.readline())
+ if bits != 32 and bits != 64:
+ raise Exception('Wrong bits size in the map')
+@@ -143,7 +143,7 @@ def UnpackOneRawFile(path, map_path):
+ mem_map_keys = [m[0] for m in mem_map]
+
+ with open(path, mode="rb") as f:
+- print >> sys.stderr, "%s: unpacking %s" % (prog_name, path)
++ print("%s: unpacking %s" % (prog_name, path), file=sys.stderr)
+
+ f.seek(0, 2)
+ size = f.tell()
+@@ -157,7 +157,7 @@ def UnpackOneRawFile(path, map_path):
+ (start, end, base, module_path) = mem_map[map_idx]
+ assert pc >= start
+ if pc >= end:
+- print >> sys.stderr, "warning: %s: pc %x outside of any known mapping" % (prog_name, pc)
++ print("warning: %s: pc %x outside of any known mapping" % (prog_name, pc), file=sys.stderr)
+ continue
+ mem_map_pcs[map_idx].append(pc - base)
+
+@@ -165,7 +165,7 @@ def UnpackOneRawFile(path, map_path):
+ if len(pc_list) == 0: continue
+ assert path.endswith('.sancov.raw')
+ dst_path = module_path + '.' + os.path.basename(path)[:-4]
+- print >> sys.stderr, "%s: writing %d PCs to %s" % (prog_name, len(pc_list), dst_path)
++ print("%s: writing %d PCs to %s" % (prog_name, len(pc_list), dst_path), file=sys.stderr)
+ arr = array.array(TypeCodeForBits(bits))
+ arr.fromlist(sorted(pc_list))
+ with open(dst_path, 'ab') as f2:
+@@ -199,18 +199,17 @@ def PrintMissing(binary):
+ if not os.path.isfile(binary):
+ raise Exception('File not found: %s' % binary)
+ instrumented = GetInstrumentedPCs(binary)
+- print >> sys.stderr, "%s: found %d instrumented PCs in %s" % (prog_name,
++ print("%s: found %d instrumented PCs in %s" % (prog_name,
+ len(instrumented),
+- binary)
++ binary), file=sys.stderr)
+ covered = set(int(line, 16) for line in sys.stdin)
+- print >> sys.stderr, "%s: read %d PCs from stdin" % (prog_name, len(covered))
++ print("%s: read %d PCs from stdin" % (prog_name, len(covered)), file=sys.stderr)
+ missing = instrumented - covered
+- print >> sys.stderr, "%s: %d PCs missing from coverage" % (prog_name, len(missing))
++ print("%s: %d PCs missing from coverage" % (prog_name, len(missing)), file=sys.stderr)
+ if (len(missing) > len(instrumented) - len(covered)):
+- print >> sys.stderr, \
+- "%s: WARNING: stdin contains PCs not found in binary" % prog_name
++ print("%s: WARNING: stdin contains PCs not found in binary" % prog_name, file=sys.stderr)
+ for pc in sorted(missing):
+- print "0x%x" % pc
++ print("0x%x" % pc)
+
+ if __name__ == '__main__':
+ prog_name = sys.argv[0]
+diff --color -rupN a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_common.py b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_common.py
+--- a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_common.py 2020-04-09 07:33:54.000000000 +0200
++++ b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_common.py 2024-01-11 13:21:55.146304820 +0100
+@@ -10,7 +10,7 @@ if os.environ.get('ANDROID_RUN_VERBOSE')
+
+ def adb(args):
+ if verbose:
+- print args
++ print(args)
+ devnull = open(os.devnull, 'w')
+ return subprocess.call([ADB] + args, stdout=devnull, stderr=subprocess.STDOUT)
+
+diff --color -rupN a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_compile.py b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_compile.py
+--- a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_compile.py 2020-04-09 07:33:54.000000000 +0200
++++ b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_compile.py 2024-01-11 13:21:55.259636548 +0100
+@@ -21,7 +21,7 @@ while args:
+ output = args.pop(0)
+
+ if output == None:
+- print "No output file name!"
++ print("No output file name!")
+ sys.exit(1)
+
+ ret = subprocess.call(sys.argv[1:])
+diff --color -rupN a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_run.py b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_run.py
+--- a/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_run.py 2020-04-09 07:33:54.000000000 +0200
++++ b/pythondata-software-compiler_rt-2020.04/pythondata_software_compiler_rt/data/test/asan/android_commands/android_run.py 2024-01-11 13:21:55.372968276 +0100
+@@ -13,7 +13,7 @@ def build_env():
+ # Android linker ignores RPATH. Set LD_LIBRARY_PATH to Output dir.
+ args.append('LD_LIBRARY_PATH=%s:%s' %
+ (ANDROID_TMPDIR, os.environ.get('LD_LIBRARY_PATH', '')))
+- for (key, value) in os.environ.items():
++ for (key, value) in list(os.environ.items()):
+ if key in ['ASAN_OPTIONS', 'ASAN_ACTIVATION_OPTIONS']:
+ args.append('%s="%s"' % (key, value))
+ return ' '.join(args)
diff --git a/testing/py3-litex-hub-modules/0002-fix-pythondata-cpu-blackparrot-python3.patch b/testing/py3-litex-hub-modules/0002-fix-pythondata-cpu-blackparrot-python3.patch
new file mode 100644
index 00000000000..38a3b827092
--- /dev/null
+++ b/testing/py3-litex-hub-modules/0002-fix-pythondata-cpu-blackparrot-python3.patch
@@ -0,0 +1,2824 @@
+Ran 2to3 to run python code on python3
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_me/software/py/checker.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_me/software/py/checker.py 2024-01-11 13:10:59.751756535 +0100
+@@ -16,5 +16,5 @@ for root, dirs, files in os.walk(os.path
+ for line in fread:
+ l = line.strip()
+ if len(l) > args.len:
+- print "{0}: {1}".format(i, l)
++ print("{0}: {1}".format(i, l))
+ i = i+1
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_me/software/py/trace_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_me/software/py/trace_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_me/software/py/trace_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_me/software/py/trace_gen.py 2024-01-11 13:10:59.638424702 +0100
+@@ -19,7 +19,7 @@ class TraceGen:
+ # print header
+ def print_header(self):
+ print("#### generated by trace_gen.py ####")
+- print("#### packet_len = " + str(self.packet_len) + " ####")
++ print(("#### packet_len = " + str(self.packet_len) + " ####"))
+
+ # send load
+ # signed: sign extend or not
+@@ -88,20 +88,20 @@ class TraceGen:
+ # wait for a number of cycles
+ # num_cycles: number of cycles to wait.
+ def wait(self, num_cycles):
+- print("0110_" + format(num_cycles, "0" + str(self.packet_len-4) + "b"))
+- print("0101_" + (self.packet_len-4)*"0")
++ print(("0110_" + format(num_cycles, "0" + str(self.packet_len-4) + "b")))
++ print(("0101_" + (self.packet_len-4)*"0"))
+
+ # finish trace
+ def test_finish(self):
+ print("#### FINISH ####")
+ self.wait(8)
+- print("0100_" + (self.packet_len-4)*"0")
++ print(("0100_" + (self.packet_len-4)*"0"))
+
+ def test_done(self):
+ print("#### DONE ####")
+ self.wait(8)
+- print("0011_" + (self.packet_len-4)*"0")
++ print(("0011_" + (self.packet_len-4)*"0"))
+
+ # wait for a single cycle
+ def nop(self):
+- print("0000_" + "0"*(self.packet_len-4))
++ print(("0000_" + "0"*(self.packet_len-4)))
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_top/software/py/ptgen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_top/software/py/ptgen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_top/software/py/ptgen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/bp_top/software/py/ptgen.py 2024-01-11 13:11:00.115085056 +0100
+@@ -3,14 +3,14 @@ import sys
+ import math
+
+ def help():
+- print "Usage: ptgen.py <outfile> <root table address> <data sections roots> <data sections size(in pages)>"
+- print "Example: python ptgen.py pt.S 0x80008000 0x80000000,0x8fffc000 4,1"
++ print("Usage: ptgen.py <outfile> <root table address> <data sections roots> <data sections size(in pages)>")
++ print("Example: python ptgen.py pt.S 0x80008000 0x80000000,0x8fffc000 4,1")
+
+ def int2hex(num, width):
+ return "{0:#0{1}x}".format(num,width/4 + 2)
+
+ def checkAddr(vpn, as_start_vpn, as_size, page_pte_num, level, pt_depth):
+- for i in xrange(len(as_start_vpn)):
++ for i in range(len(as_start_vpn)):
+ as_start = as_start_vpn[i]
+ as_end = as_start_vpn[i] + as_size[i] - 1
+
+@@ -26,7 +26,7 @@ try:
+ fileName = str(sys.argv[1])
+ root_table_addr = sys.argv[2]
+ as_start = sys.argv[3].split(',')
+- as_size = map(int, sys.argv[4].split(','))
++ as_size = list(map(int, sys.argv[4].split(',')))
+ except:
+ help()
+ quit()
+@@ -45,7 +45,7 @@ page_size = 2**page_offset_width
+ root_table_ppn = int(root_table_addr, 16)/page_size
+
+ as_start_vpn = [0]*len(as_start)
+-for i in xrange(len(as_start)):
++for i in range(len(as_start)):
+ as_start_vpn[i] = int(as_start[i], 16)/page_size
+
+ vpn_width = vaddr_width - page_offset_width
+@@ -65,10 +65,10 @@ page_table = []
+
+ pt_table_num[0] = 1
+ table_vpns = [[0], [], []]
+-for level in xrange(1, pt_depth):
++for level in range(1, pt_depth):
+ last_vpn = -1
+ #print "#######"
+- for j in xrange(len(as_start_vpn)):
++ for j in range(len(as_start_vpn)):
+ masked_vpn = as_start_vpn[j] >> ((pt_depth-level)*lg_page_pte_num)
+ masked_vpn = masked_vpn << ((pt_depth-level)*lg_page_pte_num)
+ if(last_vpn != masked_vpn):
+@@ -78,9 +78,9 @@ for level in xrange(1, pt_depth):
+ pt_table_num[level] += 1
+
+ last_ppn = root_table_ppn
+-for level in xrange(pt_depth):
++for level in range(pt_depth):
+ pt_roots.append([])
+- for tableNum in xrange(pt_table_num[level]):
++ for tableNum in range(pt_table_num[level]):
+ pt_roots[level].append(last_ppn)
+ last_ppn += 1
+
+@@ -88,13 +88,13 @@ for level in xrange(pt_depth):
+ #print pt_roots
+ #print table_vpns
+
+-for level in xrange(pt_depth):
++for level in range(pt_depth):
+ page_table.append([])
+ #print "---------"
+- for tableNum in xrange(pt_table_num[level]):
++ for tableNum in range(pt_table_num[level]):
+ page_table[level].append([])
+ target_tableNum = 0
+- for offset in xrange(page_pte_num):
++ for offset in range(page_pte_num):
+
+ vpn = table_vpns[level][tableNum] + (offset << ((pt_depth-level-1)*lg_page_pte_num))
+
+@@ -134,8 +134,8 @@ outfile.write("/* address space size in
+ outfile.write(".section \".data.pt\"\n")
+ outfile.write(".globl _pt\n\n")
+ outfile.write("_pt:\n")
+-for i in xrange(len(page_table)):
+- for j in xrange(len(page_table[i])):
+- for k in xrange(len(page_table[i][j])):
++for i in range(len(page_table)):
++ for j in range(len(page_table[i])):
++ for k in range(len(page_table[i][j])):
+ outfile.write(" .dword " + int2hex(page_table[i][j][k], 64) + "\n")
+ outfile.close()
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_dataflow/bsg_scatter_gather.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_dataflow/bsg_scatter_gather.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_dataflow/bsg_scatter_gather.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_dataflow/bsg_scatter_gather.py 2024-01-11 13:11:00.898408014 +0100
+@@ -39,13 +39,13 @@ def bits_to_rep(x) :
+ return len(bin(x-1))-2;
+
+ def print_case_line(a,result,var_name,result_x):
+- print " ",str(len(a))+"'b",
++ print(" ",str(len(a))+"'b", end=' ')
+ print_bit_list(a)
+- print ": "+var_name+" = ",str(bits_to_rep(len(a))*len(a))+"'b",
++ print(": "+var_name+" = ",str(bits_to_rep(len(a))*len(a))+"'b", end=' ')
+ for x in reversed(result) :
+ print_bit_list(int_to_bit_list(x,bits_to_rep(len(a))));
+ #sys.stdout.write("_")
+- print "; // ", ' '.join([str(y) for y in reversed(result_x)]);
++ print("; // ", ' '.join([str(y) for y in reversed(result_x)]));
+
+ def gen_vec(channels, fn) :
+
+@@ -55,7 +55,7 @@ def gen_vec(channels, fn) :
+ for j in range(0,2**channels) :
+ q = fn(int_to_bit_list(j,channels))
+
+- print (" default: "+q+"= 'X;");
++ print((" default: "+q+"= 'X;"));
+ print (" endcase");
+
+ def gen_fwd_vec_line_helper(a,dpath) :
+@@ -134,23 +134,23 @@ def gen_back_vec_line(a) :
+
+ def generate_code_for_channel(chan) :
+
+- print "\nif (vec_size_lp == "+str(chan)+")"
+- print " begin"
++ print("\nif (vec_size_lp == "+str(chan)+")")
++ print(" begin")
+
+- print " // backward vec";
++ print(" // backward vec");
+
+ gen_vec(chan,gen_back_vec_line)
+
+- print "\n // backward vec datapath";
++ print("\n // backward vec datapath");
+
+ gen_vec(chan,gen_back_vec_line_dpath)
+
+
+- print "\n // fwd vec";
++ print("\n // fwd vec");
+
+ gen_vec(chan,gen_fwd_vec_line)
+
+- print "\n // fwd datapath vec";
++ print("\n // fwd datapath vec");
+
+ gen_vec(chan,gen_fwd_vec_line_dpath)
+
+@@ -161,7 +161,7 @@ def generate_code_for_channel(chan) :
+
+
+
+-print """
++print("""
+ // MBT 8-18-2014
+ // bsg_scatter_gather
+ // generated by bsg_scatter_gather.py;
+@@ -196,19 +196,19 @@ module bsg_scatter_gather #(`BSG_INV_PAR
+ ,output reg [vec_size_lp*`BSG_SAFE_CLOG2(vec_size_lp)-1:0] bk_o
+ ,output reg [vec_size_lp*`BSG_SAFE_CLOG2(vec_size_lp)-1:0] bk_datapath_o
+ );
+-"""
++""")
+
+
+ for x in channels :
+ generate_code_for_channel(x)
+
+-print "// synopsys translate_off";
+-print "initial assert (vec_size_lp < ",max_channel,") else $error(\"bsg_scatter_gather: vec_size_lp too large %d\", vec_size_lp);";
+-print "// synopsys translate_on";
++print("// synopsys translate_off");
++print("initial assert (vec_size_lp < ",max_channel,") else $error(\"bsg_scatter_gather: vec_size_lp too large %d\", vec_size_lp);");
++print("// synopsys translate_on");
+
+-print "endmodule";
++print("endmodule");
+
+-print "`BSG_ABSTRACT_MODULE(bsg_scatter_gather)"
++print("`BSG_ABSTRACT_MODULE(bsg_scatter_gather)")
+
+ #for i in range(1,10) :
+ # print i,bits_to_rep(i)
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_mem/bsg_ascii_to_rom.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_mem/bsg_ascii_to_rom.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_mem/bsg_ascii_to_rom.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_mem/bsg_ascii_to_rom.py 2024-01-11 13:11:01.358401921 +0100
+@@ -27,37 +27,37 @@ if ((len(sys.argv)==4) and sys.argv[3]==
+ zero = 1;
+
+ if ((len(sys.argv)!=3) and (len(sys.argv)!=4)) :
+- print "Usage ascii_to_rom.py <filename> <modulename>";
++ print("Usage ascii_to_rom.py <filename> <modulename>");
+ exit -1
+
+ myFile = open(sys.argv[1],"r");
+
+ i = 0;
+-print "// auto-generated by bsg_ascii_to_rom.py from " + os.path.abspath(sys.argv[1]) + "; do not modify";
+-print "module " + sys.argv[2] + " #(`BSG_INV_PARAM(width_p), `BSG_INV_PARAM(addr_width_p))";
+-print "(input [addr_width_p-1:0] addr_i";
+-print ",output logic [width_p-1:0] data_o";
+-print ");";
+-print "always_comb case(addr_i)"
++print("// auto-generated by bsg_ascii_to_rom.py from " + os.path.abspath(sys.argv[1]) + "; do not modify");
++print("module " + sys.argv[2] + " #(`BSG_INV_PARAM(width_p), `BSG_INV_PARAM(addr_width_p))");
++print("(input [addr_width_p-1:0] addr_i");
++print(",output logic [width_p-1:0] data_o");
++print(");");
++print("always_comb case(addr_i)")
+ all_zero = set("0_");
+ for line in myFile.readlines() :
+ line = line.strip();
+ if (len(line)!=0):
+ if (line[0] != "#") :
+ if (not zero or not (set(line) <= all_zero)) :
+- digits_only = filter(lambda m:m.isdigit(), str(line));
++ digits_only = [m for m in str(line) if m.isdigit()];
+
+ # http://stackoverflow.com/questions/2072351/python-conversion-from-binary-string-to-hexadecimal
+ hstr = '%0*X' % ((len(digits_only) + 3) // 4, int(digits_only, 2))
+
+- print str(i).rjust(10)+": data_o = width_p ' (" + str(len(digits_only))+ "'b"+line+");"+" // 0x"+hstr;
++ print(str(i).rjust(10)+": data_o = width_p ' (" + str(len(digits_only))+ "'b"+line+");"+" // 0x"+hstr);
+ i = i + 1;
+ else :
+- print " // " + line;
++ print(" // " + line);
+ if (zero) :
+- print "default".rjust(10) + ": data_o = { width_p { 1'b0 } };"
++ print("default".rjust(10) + ": data_o = { width_p { 1'b0 } };")
+ else :
+- print "default".rjust(10) + ": data_o = 'X;"
+-print "endcase"
+-print "endmodule"
+-print "`BSG_ABSTRACT_MODULE(" + sys.argv[2] + ")"
++ print("default".rjust(10) + ": data_o = 'X;")
++print("endcase")
++print("endmodule")
++print("`BSG_ABSTRACT_MODULE(" + sys.argv[2] + ")")
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_misc/bsg_round_robin_arb.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_misc/bsg_round_robin_arb.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_misc/bsg_round_robin_arb.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_misc/bsg_round_robin_arb.py 2024-01-11 13:10:59.991753356 +0100
+@@ -46,31 +46,31 @@ def print_hold_on_logic(last_w, reqs_w):
+ """
+ Print the logic of the hold on logic
+ """
+- print """
+-if ( hold_on_sr_p ) begin """
+- print """
++ print("""
++if ( hold_on_sr_p ) begin """)
++ print("""
+ always_comb begin
+- unique casez( last_r )"""
++ unique casez( last_r )""")
+ for last_r in range(reqs_w ):
+ last_r_str = bin(last_r)[2:].zfill(last_w);
+ req_str = get_single_request_str(last_r, reqs_w)
+ #Full cases
+ if( (last_r == ( (1<< last_w) -1 ) ) & (last_r == (reqs_w-1) ) ):
+- print """ default: hold_on_sr = ( reqs_i == %d'b%s );"""%( reqs_w, req_str)
++ print(""" default: hold_on_sr = ( reqs_i == %d'b%s );"""%( reqs_w, req_str))
+ #Not Full cases
+ else :
+- print """ %d'b%s : hold_on_sr = ( reqs_i == %d'b%s );"""%( last_w, last_r_str, reqs_w, req_str)
++ print(""" %d'b%s : hold_on_sr = ( reqs_i == %d'b%s );"""%( last_w, last_r_str, reqs_w, req_str))
+
+ #Not full cases
+ if( (1<< last_w ) != reqs_w ):
+- print """ default : hold_on_sr = 1'b0;"""
++ print(""" default : hold_on_sr = 1'b0;""")
+
+- print """ endcase
++ print(""" endcase
+ end //end of always_comb
+
+ end else begin:not_hold_on_sr_p
+ assign hold_on_sr = '0;
+-end //end of hold_on_sr_p """
++end //end of hold_on_sr_p """)
+
+ ################################################################################
+ # Logic for priority reset logic
+@@ -83,28 +83,28 @@ def print_reset_on_logic(reqs_w):
+
+ req_str= get_single_request_str(0, reqs_w)
+
+- print """
++ print("""
+ if ( reset_on_sr_p ) begin:reset_on_%d
+- assign reset_on_sr = ( reqs_i == %d'b%s ) """%( reqs_w,reqs_w, req_str)
++ assign reset_on_sr = ( reqs_i == %d'b%s ) """%( reqs_w,reqs_w, req_str))
+
+ for curr_r in range(1, reqs_w):
+ req_str= get_single_request_str(curr_r, reqs_w)
+- print """ | ( reqs_i == %d'b%s ) """ %(reqs_w, req_str )
++ print(""" | ( reqs_i == %d'b%s ) """ %(reqs_w, req_str ))
+
+- print " ;"
+- print """
++ print(" ;")
++ print("""
+ end else begin:not_reset_on_sr_p
+ assign reset_on_sr = '0;
+-end //end of reset_on_sr_p """
++end //end of reset_on_sr_p """)
+ max_reqs = 0 # no. of inputs
+ try:
+ assert len(sys.argv) == 2
+ max_reqs = int(sys.argv[1])
+ except:
+- print "UsageError: bsg_round_robin_arb.py <max no. of channels>"
++ print("UsageError: bsg_round_robin_arb.py <max no. of channels>")
+ sys.exit()
+
+-print """// Round robin arbitration unit
++print("""// Round robin arbitration unit
+
+ // Automatically generated using bsg_round_robin_arb.py
+ // NOTE: generally prefer https://github.com/bespoke-silicon-group/basejump_stl/blob/master/bsg_misc/bsg_arb_round_robin.v to this module
+@@ -122,9 +122,9 @@ print """// Round robin arbitration unit
+
+ `include "bsg_defines.v"
+
+-"""
++""")
+
+-print """module bsg_round_robin_arb #(`BSG_INV_PARAM(inputs_p)
++print("""module bsg_round_robin_arb #(`BSG_INV_PARAM(inputs_p)
+ ,lg_inputs_p =`BSG_SAFE_CLOG2(inputs_p)
+ ,reset_on_sr_p = 1'b0
+ ,hold_on_sr_p = 1'b0
+@@ -135,9 +135,9 @@ print """module bsg_round_robin_arb #(`B
+ // with bsg_parallel_in_serial_out_passthrough. This policy
+ // has a slight throughput degradation but effectively
+ // arbitrates based on age, so minimizes worst case latency.
+- ,hold_on_valid_p = 1'b0)""" % '''-1'''
++ ,hold_on_valid_p = 1'b0)""" % '''-1''')
+
+-print """ (input clk_i
++print(""" (input clk_i
+ , input reset_i
+ , input grants_en_i // whether to suppress grants_o
+
+@@ -158,10 +158,10 @@ print """ (input clk_i
+ logic [lg_inputs_p-1:0] last, last_n, last_r;
+ logic hold_on_sr, reset_on_sr;
+
+-"""
++""")
+
+ for reqs_w in range(1, max_reqs+1):
+- print """
++ print("""
+ if(inputs_p == %d)
+ begin: inputs_%d
+
+@@ -169,15 +169,15 @@ logic [%d-1: 0 ] sel_one_hot_n;
+
+ always_comb
+ begin
+- unique casez({last_r, reqs_i})""" % (reqs_w, reqs_w, reqs_w)
++ unique casez({last_r, reqs_i})""" % (reqs_w, reqs_w, reqs_w))
+
+ last_w = int(math.ceil(math.log(reqs_w)/math.log(2))) if (reqs_w!=1) else 1
+ # print " %d'b"%(1+last_w+reqs_w) + "0" + "_" + "?"*last_w + "_" + "?"*reqs_w + ":"\
+ # , "begin sel_one_hot_n="\
+ # , "%d'b"%reqs_w + "0"*reqs_w + "; tag_o = (lg_inputs_p) ' (0); end // X"
+- print " %d'b"%(last_w+reqs_w) + "?"*last_w + "_" + "0"*reqs_w + ":"\
++ print(" %d'b"%(last_w+reqs_w) + "?"*last_w + "_" + "0"*reqs_w + ":"\
+ , "begin sel_one_hot_n ="\
+- , "%d'b"%reqs_w + "0"*reqs_w + "; tag_o = (lg_inputs_p) ' (0); end // X"
++ , "%d'b"%reqs_w + "0"*reqs_w + "; tag_o = (lg_inputs_p) ' (0); end // X")
+
+ grants = {}
+ for i in range(reqs_w):
+@@ -185,29 +185,29 @@ begin
+
+ for key in grants:
+ for req in grants[key]:
+- print " %d'b"%(last_w+reqs_w) + bin(key)[2:].zfill(last_w)\
++ print(" %d'b"%(last_w+reqs_w) + bin(key)[2:].zfill(last_w)\
+ + "_" + req[0] + ":"\
+ , "begin sel_one_hot_n="\
+- , "%d'b"%reqs_w + req[1] + "; tag_o = (lg_inputs_p) ' ("+str(req[1][::-1].index('1'))+"); end"
++ , "%d'b"%reqs_w + req[1] + "; tag_o = (lg_inputs_p) ' ("+str(req[1][::-1].index('1'))+"); end")
+
+- print """ default: begin sel_one_hot_n= {%d{1'bx}}; tag_o = (lg_inputs_p) ' (0); end // X
++ print(""" default: begin sel_one_hot_n= {%d{1'bx}}; tag_o = (lg_inputs_p) ' (0); end // X
+ endcase
+-end """% (reqs_w)
++end """% (reqs_w))
+
+- print """
++ print("""
+ assign sel_one_hot_o = sel_one_hot_n;
+ assign grants_o = sel_one_hot_n & {%d{grants_en_i}} ;
+- """% (reqs_w)
++ """% (reqs_w))
+
+ print_hold_on_logic(last_w, reqs_w)
+
+ print_reset_on_logic(reqs_w)
+
+
+- print """
+-end: inputs_%d""" % (reqs_w)
++ print("""
++end: inputs_%d""" % (reqs_w))
+
+-print """
++print("""
+
+ assign v_o = | reqs_i ;
+
+@@ -238,4 +238,4 @@ endmodule
+
+ `BSG_ABSTRACT_MODULE(bsg_round_robin_arb)
+
+-"""
++""")
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_noc/bsg_mesh_to_ring_stitch.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_noc/bsg_mesh_to_ring_stitch.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_noc/bsg_mesh_to_ring_stitch.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_noc/bsg_mesh_to_ring_stitch.py 2024-01-11 13:11:01.135071546 +0100
+@@ -16,22 +16,22 @@
+ topX = 8
+ topY = 8
+
+-print "// AUTOGENERATED FILE; DO NOT MODIFY."
+-print "// run with topX=",topX," and topY=",topY
+-print "// ";
+-print '`include "bsg_defines.v"'
+-
+-print "module bsg_mesh_to_ring_stitch #(`BSG_INV_PARAM(y_max_p)"
+-print " ,`BSG_INV_PARAM(x_max_p)"
+-print " ,`BSG_INV_PARAM(width_back_p)"
+-print " ,`BSG_INV_PARAM(width_fwd_p)"
+-print " ,parameter b_lp = $clog2(x_max_p*y_max_p)"
+-print " ) (output [x_max_p-1:0][y_max_p-1:0][b_lp-1:0] id_o"
+-print " ,output [x_max_p-1:0][y_max_p-1:0][width_back_p-1:0] back_data_in_o"
+-print " ,input [x_max_p-1:0][y_max_p-1:0][width_back_p-1:0] back_data_out_i"
+-print " ,output [x_max_p-1:0][y_max_p-1:0][width_fwd_p-1:0] fwd_data_in_o"
+-print " ,input [x_max_p-1:0][y_max_p-1:0][width_fwd_p-1:0] fwd_data_out_i"
+-print " );\n\n"
++print("// AUTOGENERATED FILE; DO NOT MODIFY.")
++print("// run with topX=",topX," and topY=",topY)
++print("// ");
++print('`include "bsg_defines.v"')
++
++print("module bsg_mesh_to_ring_stitch #(`BSG_INV_PARAM(y_max_p)")
++print(" ,`BSG_INV_PARAM(x_max_p)")
++print(" ,`BSG_INV_PARAM(width_back_p)")
++print(" ,`BSG_INV_PARAM(width_fwd_p)")
++print(" ,parameter b_lp = $clog2(x_max_p*y_max_p)")
++print(" ) (output [x_max_p-1:0][y_max_p-1:0][b_lp-1:0] id_o")
++print(" ,output [x_max_p-1:0][y_max_p-1:0][width_back_p-1:0] back_data_in_o")
++print(" ,input [x_max_p-1:0][y_max_p-1:0][width_back_p-1:0] back_data_out_i")
++print(" ,output [x_max_p-1:0][y_max_p-1:0][width_fwd_p-1:0] fwd_data_in_o")
++print(" ,input [x_max_p-1:0][y_max_p-1:0][width_fwd_p-1:0] fwd_data_out_i")
++print(" );\n\n")
+
+
+ def print_config (maxX,maxY,order) :
+@@ -41,7 +41,7 @@ def print_config (maxX,maxY,order) :
+ my_dict[position] = (x,y);
+ matrix[x][y] = position;
+
+- print "if (x_max_p ==",maxX," && y_max_p ==",maxY,")\nbegin\n"
++ print("if (x_max_p ==",maxX," && y_max_p ==",maxY,")\nbegin\n")
+ for y in range(maxY-1,-1,-1) :
+ for x in range(maxX-1,-1,-1) :
+ position=matrix[x][y];
+@@ -49,25 +49,25 @@ def print_config (maxX,maxY,order) :
+ above = 0 if ((position + 1) == maxX*maxY) else position + 1;
+ (below_x,below_y)=my_dict[below];
+ (above_x,above_y)=my_dict[above];
+- print "assign back_data_in_o[",below_x,"][",below_y,"] = back_data_out_i[",x,"][",y,"]; // ",below,"<-",position
+- print "assign fwd_data_in_o [",above_x,"][",above_y,"] = fwd_data_out_i [",x,"][",y,"]; // ",position,"->",above
+- print "\n"
+- print " assign id_o = \n {"
+- print "// y = ",
++ print("assign back_data_in_o[",below_x,"][",below_y,"] = back_data_out_i[",x,"][",y,"]; // ",below,"<-",position)
++ print("assign fwd_data_in_o [",above_x,"][",above_y,"] = fwd_data_out_i [",x,"][",y,"]; // ",position,"->",above)
++ print("\n")
++ print(" assign id_o = \n {")
++ print("// y = ", end=' ')
+ for y in range(0,maxY) :
+- print str(y)+", ",
+- print "";
++ print(str(y)+", ", end=' ')
++ print("");
+ for x in range(0,maxX) :
+- print " {",
++ print(" {", end=' ')
+ for y in range(0,maxY) :
+ if (y != 0) :
+- print ",",
+- print "b_lp ' (" + str(matrix[x][y]) +")",
++ print(",", end=' ')
++ print("b_lp ' (" + str(matrix[x][y]) +")", end=' ')
+ if (x != maxX-1) :
+- print " }, // x = ",x
++ print(" }, // x = ",x)
+ else:
+- print " } // x = ",x
+- print " };\nend\n"
++ print(" } // x = ",x)
++ print(" };\nend\n")
+
+ # even X, odd/even Y
+ for maxX in range(2,topX+1,2) :
+@@ -103,9 +103,9 @@ for maxX in range(3,topX+1,2) :
+ print_config(1,2,[(0,0), (0,1)]);
+ print_config(2,1,[(0,0), (1,0)]);
+
+-print "initial assert ((x_max_p <= " + str(topX) + ") && (y_max_p <= " + str(topY) +")) else begin $error(\"%m x_max_p %d or y_max_p %d too large; rerun generator with larger size than %d/%d\",x_max_p,y_max_p,"+str(topX)+","+str(topY)+"); $finish(); end "
++print("initial assert ((x_max_p <= " + str(topX) + ") && (y_max_p <= " + str(topY) +")) else begin $error(\"%m x_max_p %d or y_max_p %d too large; rerun generator with larger size than %d/%d\",x_max_p,y_max_p,"+str(topX)+","+str(topY)+"); $finish(); end ")
+
+
+-print "endmodule"
++print("endmodule")
+
+-print "`BSG_ABSTRACT_MODULE(bsg_mesh_to_ring_stitch)"
++print("`BSG_ABSTRACT_MODULE(bsg_mesh_to_ring_stitch)")
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_tag/legacy/config_net/sim/generate_tb.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_tag/legacy/config_net/sim/generate_tb.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_tag/legacy/config_net/sim/generate_tb.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/bsg_tag/legacy/config_net/sim/generate_tb.py 2024-01-11 13:11:02.871715210 +0100
+@@ -53,7 +53,7 @@ sim_time = 500 # time units
+
+ # ========== Functions ==========
+ def readme():
+- print " \n\
++ print(" \n\
+ Name:\n\
+ generate_tb.py - python script to generate testbench for chained config_node instances\n\
+ \n\
+@@ -77,7 +77,7 @@ def readme():
+ \n\
+ You can extend the generated testfile to contain your specific test cases;\n\
+ then use command ./generate_tb.py -r <testfile> -o <tb file name> to read the\n\
+- modified file, and create testbench accordingly."
++ modified file, and create testbench accordingly.")
+
+ def dec2bin(dec, n): # Only works on non-negative number
+ bin = ""
+@@ -186,7 +186,7 @@ argparser.add_argument("--create-probe-f
+
+ try:
+ args = argparser.parse_args()
+-except IOError, msg:
++except IOError as msg:
+ argparser.error(str(msg))
+
+ # ========== ==========
+@@ -201,8 +201,8 @@ for line in spec_file:
+ if (l_words[0] == 'r'): # type 'r' indicates a relay node
+ relay_id = int(l_words[1]) # l_words[1] must be consecutive integers starting from 0
+ if (relay_id != relay_nodes):
+- print "ERROR spec file format: relay_id must be consecutive integers starting from 0!"
+- print ">>> " + line
++ print("ERROR spec file format: relay_id must be consecutive integers starting from 0!")
++ print(">>> " + line)
+ sys.exit(1)
+ else: # relay_nodes != 0
+ if (l_words[1] != '0'): # no need to process relay node 0
+@@ -210,7 +210,7 @@ for line in spec_file:
+ branch_id = random.randint(0, relay_nodes - 1) # to which the new relay node is connected
+ else:
+ branch_id = int(l_words[2]) # l_words[2] must be an integer if not an 'x'
+- if d_relay_tree.has_key(branch_id):
++ if branch_id in d_relay_tree:
+ d_relay_tree[branch_id].append(relay_id)
+ else:
+ d_relay_tree[branch_id] = [relay_id]
+@@ -222,8 +222,8 @@ for line in spec_file:
+ d_inst_data_bits[inst_id] = int(l_words[4])
+ d_inst_default[inst_id] = l_words[5]
+ else:
+- print "ERROR spec file format: type " + l_words[0] + " is not recognized!"
+- print ">>> " + line
++ print("ERROR spec file format: type " + l_words[0] + " is not recognized!")
++ print(">>> " + line)
+ sys.exit(1)
+
+ # randomize d_relay_tree if relay_nodes are not provided in spec file
+@@ -232,7 +232,7 @@ if (relay_nodes == 0):
+ for relay_id in range(1, relay_nodes): # relay_id 0 is the root
+ # because relay node id are consecutive integers, randint(0, relay_id - 1) makes all nodes are connected
+ branch_id = random.randint(0, relay_id - 1) # to which the new relay is connected
+- if d_relay_tree.has_key(branch_id):
++ if branch_id in d_relay_tree:
+ d_relay_tree[branch_id].append(relay_id)
+ else:
+ d_relay_tree[branch_id] = [relay_id]
+@@ -249,8 +249,8 @@ for line in spec_file:
+ if (l_words[2] == 'x'): # position 'x' indicates a random branch
+ d_inst_pos[inst_id] = random.randint(0, relay_nodes - 1) # inclusive of 0 and (relay_nodes - 1)
+ elif (int(l_words[2]) >= relay_nodes): # l_words[2] must be an integer if not an 'x'
+- print "ERROR spec file format: config node branch id doesn't exist, " + l_words[2] + " >= number of relay nodes = " + str(relay_nodes) + "!"
+- print ">>> " + line
++ print("ERROR spec file format: config node branch id doesn't exist, " + l_words[2] + " >= number of relay nodes = " + str(relay_nodes) + "!")
++ print(">>> " + line)
+ sys.exit(1)
+ else:
+ d_inst_pos[inst_id] = int(l_words[2])
+@@ -281,8 +281,8 @@ if (args.generate_tests != None):
+ test_file.write(str(l_test_id[test]) + "\t\t" + l_test_data[test] + "\n")
+ test_file.close()
+ os.system("cat " + test_file.name)
+- print " "
+- print str(number_of_tests) + " sets of random test id and data are generated and written into " + test_file.name
++ print(" ")
++ print(str(number_of_tests) + " sets of random test id and data are generated and written into " + test_file.name)
+ sys.exit(0) # exit after making the test file
+ elif (args.read_tests != None):
+ # read existing test file and parse
+@@ -327,7 +327,7 @@ for inst_id in l_inst_id: # initialize d
+ test_idx = 0
+ for test_id in l_test_id:
+ test_data = l_test_data[test_idx]
+- if d_reference.has_key(test_id): # extend an existing test sequence for a node having test_id
++ if test_id in d_reference: # extend an existing test sequence for a node having test_id
+ last_index = len(d_reference[test_id]) - 1
+ # if a new data item for an id is the same as its previous one, the new data is not appended.
+ if(d_reference[test_id][last_index] != test_data):
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_mem/bsg_rf_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_mem/bsg_rf_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_mem/bsg_rf_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_mem/bsg_rf_gen.py 2024-01-11 13:11:01.505066645 +0100
+@@ -18,27 +18,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -69,13 +69,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -134,7 +134,7 @@ def generate_2_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";");
+ for b in range (0,bits) :
+
+ emit_gate_instance(dffe
+@@ -148,7 +148,7 @@ def generate_2_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_bit_port("qaoi",b,0) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_bit_port("qaoi",b,0) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(aoi22,
+@@ -197,7 +197,7 @@ def generate_4_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";");
+ for b in range (0,bits) :
+
+ emit_gate_instance(dffe
+@@ -211,7 +211,7 @@ def generate_4_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("qaoi",bank,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("qaoi",bank,b) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(aoi22,
+@@ -271,7 +271,7 @@ def generate_Nr1w_array ( words, bits, r
+ emit_wire_definition(ident_name_bit("data_i_inv",b));
+ emit_rp_fill(str(column) +" 0 UX")
+ # we generate the state first
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for w in range(words)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for w in range(words)]) + ";");
+ for w in range (0,words) :
+ emit_gate_instance(dffe
+ ,[ ident_name_word_bit("reg",w,b)
+@@ -301,7 +301,7 @@ def generate_Nr1w_array ( words, bits, r
+ # AOI22 every pair of words
+
+ # we generate the state first
+- print "wire " + ",".join([ident_name_word_bit_port("qaoi",w,b,p) for w in range(0,words,2)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit_port("qaoi",w,b,p) for w in range(0,words,2)]) + ";");
+
+ for w in range (0,words,2) :
+ queue_gate_instance(gate_dict, aoi22
+@@ -357,7 +357,7 @@ def generate_Nr1w_array ( words, bits, r
+ , w+(15 if (words > 16) else 13)
+ );
+
+- print "\n";
++ print("\n");
+ # add inverters to data in, and data out.
+ # these are on opposite sides of the array
+ # we may potentially pay in delay, but we get
+@@ -381,9 +381,9 @@ def generate_Nr1w_array ( words, bits, r
+ # since we are using rp_fill commands
+ # but it makes things more readable
+
+- for x in sorted(gate_dict.items(), key=lambda x: x[1]) :
++ for x in sorted(list(gate_dict.items()), key=lambda x: x[1]) :
+ emit_rp_fill( str(column) +" "+str(x[1])+" UX")
+- print x[0], "// ",x[1];
++ print(x[0], "// ",x[1]);
+ column=column+1
+
+
+@@ -393,5 +393,5 @@ def generate_Nr1w_array ( words, bits, r
+ if len(sys.argv) == 4 :
+ generate_Nr1w_array (int(sys.argv[1]), int(sys.argv[2]), int(sys.argv[3]));
+ else :
+- print "Usage: " + sys.argv[0] + " words bits readports";
++ print("Usage: " + sys.argv[0] + " words bits readports");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_dff_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_dff_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_dff_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_dff_gen.py 2024-01-11 13:11:02.081725673 +0100
+@@ -6,27 +6,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + "(",
++ print("module " + name + "(", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -57,16 +57,16 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def rp_fill_string (params) :
+ return "// synopsys rp_fill (" + params + ")"
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -166,6 +166,6 @@ else :
+ for b in range (1,int(sys.argv[2])+1) :
+ generate_dff_nreset_en( sys.argv[1], b, sys.argv[3] );
+ else:
+- print "Usage: " + sys.argv[0] + " type " + " bits " + " strength";
+- print "Usage: " + sys.argv[0] + " type " + " bits " + " strength " + "SWEEP (to go from 1..bits)";
++ print("Usage: " + sys.argv[0] + " type " + " bits " + " strength");
++ print("Usage: " + sys.argv[0] + " type " + " bits " + " strength " + "SWEEP (to go from 1..bits)");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_gate_stack_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_gate_stack_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_gate_stack_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_gate_stack_gen.py 2024-01-11 13:11:01.848395430 +0100
+@@ -16,27 +16,27 @@ import sys;
+ fab = "gf_14"
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -87,13 +87,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+ def generate_gate_stack ( gatename, rows,signature, vert) :
+ if (vert) :
+@@ -135,38 +135,38 @@ def generate_gate_stack ( gatename, rows
+ if len(sys.argv) == 4 :
+ if sys.argv[2].isdigit() :
+ for x in range(1,int(sys.argv[2])+1) :
+- print "\n// ****************************************************** \n"
++ print("\n// ****************************************************** \n")
+ generate_gate_stack(sys.argv[1],x,sys.argv[3],1);
+ elif (sys.argv[2][0]=="-") :
+ for x in range(1,-(int(sys.argv[2]))+1) :
+- print "\n// ****************************************************** \n"
++ print("\n// ****************************************************** \n")
+ generate_gate_stack(sys.argv[1],x,sys.argv[3],0);
+
+ elif len(sys.argv) == 5 :
+ signature=sys.argv[3]
+ num_inputs = signature.count('#') - 2;
+ input_params = ["input [width_p-1:0] i"+str(x) for x in range(0,num_inputs)]
+- print '''
++ print('''
+
+ module bsg_'''+sys.argv[4],'''#(width_p="inv",harden_p=1)
+ ('''+"\n ,".join(input_params)+'''
+ , output [width_p-1:0] o
+ );
+-'''
++''')
+
+ for x in range(1,int(sys.argv[2])+1) :
+- print ''' if (harden_p && (width_p=='''+str(x)+'''))
++ print(''' if (harden_p && (width_p=='''+str(x)+'''))
+ begin:macro
+ bsg_rp_gf_14_'''+sys.argv[1]+'''_b'''+str(x)+''' gate(.*);
+ end
+- else ''';
+- print '''
++ else ''');
++ print('''
+ begin: notmacro
+ initial assert(0!=1) else $error("%m unsupported gatestack size",width_p);
+ end
+
+ endmodule
+-'''
++''')
+ else :
+- print "Usage: bsg_gate_stack_gen.py AND2X1 32 > bsg_and_stacks.v # generate each individual netlist of each size"
+- print " bsg_gate_stack_gen.py AND2X1 32 and > bsg_and.v # generate the verilog function that thunks to the right netlist"
++ print("Usage: bsg_gate_stack_gen.py AND2X1 32 > bsg_and_stacks.v # generate each individual netlist of each size")
++ print(" bsg_gate_stack_gen.py AND2X1 32 and > bsg_and.v # generate the verilog function that thunks to the right netlist")
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_mux_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_mux_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_mux_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_mux_gen.py 2024-01-11 13:11:02.315055915 +0100
+@@ -23,27 +23,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + "(",
++ print("module " + name + "(", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -74,13 +74,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -131,7 +131,7 @@ def generate_mux_shift ( inputs, bits):
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";");
+
+ for b in range (0,bits) :
+
+@@ -149,7 +149,7 @@ def generate_mux_shift ( inputs, bits):
+ column=column+1;
+
+ for g in range(left,left+right) :
+- print "wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(joiner
+@@ -184,5 +184,5 @@ def generate_mux_shift ( inputs, bits):
+ if len(sys.argv) == 3 :
+ generate_mux_shift (int(sys.argv[1]), int(sys.argv[2]));
+ else :
+- print "Usage: " + sys.argv[0] + " inputs bits";
++ print("Usage: " + sys.argv[0] + " inputs bits");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_reduce_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_reduce_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_reduce_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/gf_14/bsg_misc/bsg_reduce_gen.py 2024-01-11 13:11:01.725063730 +0100
+@@ -2,7 +2,7 @@
+
+ import sys;
+
+-print '''
++print('''
+
+ module bsg_rp_gf_14_reduce_and_b4 (input [3:0] i, output o);
+ wire [1:0] lo;
+@@ -91,4 +91,4 @@ SC7P5T_ND4X2_SSC14SL bCDEF (.A(i[12]),
+ endmodule
+
+
+-''';
++''');
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_dataflow/bsg_fifo_shift_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_dataflow/bsg_fifo_shift_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_dataflow/bsg_fifo_shift_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_dataflow/bsg_fifo_shift_gen.py 2024-01-11 13:11:02.441720904 +0100
+@@ -24,27 +24,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + "(",
++ print("module " + name + "(", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -75,13 +75,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -113,19 +113,19 @@ def generate_fifo_shift_array ( words, b
+ emit_rp_group_begin("fifo_shift")
+
+ for w in range (0,words+1) :
+- print "wire " + ",".join([ident_name_word_bit("reg",w,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("reg",w,b) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+- print "assign " + access_bit("data_o",b)+ " = ", ident_name_word_bit("reg",0,b) + ";";
++ print("assign " + access_bit("data_o",b)+ " = ", ident_name_word_bit("reg",0,b) + ";");
+
+- for w in reversed(range (0,words)) :
++ for w in reversed(list(range(0,words))) :
+
+ for g in [1, 2, 0] :
+ if (g != 1 or w < words-1) :
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit_port("a2",w,b,g) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit_port("a2",w,b,g) for b in range(0,bits)]) + ";");
+
+ for b in range (0,bits) :
+ # we put the selects first on these gates because
+@@ -160,7 +160,7 @@ def generate_fifo_shift_array ( words, b
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("a3",w,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("a3",w,b) for b in range(0,bits)]) + ";");
+ for b in range (0,bits) :
+ if (w < words - 1) :
+ emit_gate_instance(nand3
+@@ -201,5 +201,5 @@ def generate_fifo_shift_array ( words, b
+ if len(sys.argv) == 3 :
+ generate_fifo_shift_array (int(sys.argv[1]), int(sys.argv[2]));
+ else :
+- print "Usage: " + sys.argv[0] + " words bits";
++ print("Usage: " + sys.argv[0] + " words bits");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_mem/bsg_rf_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_mem/bsg_rf_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_mem/bsg_rf_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_mem/bsg_rf_gen.py 2024-01-11 13:11:03.415041346 +0100
+@@ -17,27 +17,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -68,13 +68,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -125,7 +125,7 @@ def generate_2_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";");
+ for b in range (0,bits) :
+
+ emit_gate_instance(dffe
+@@ -139,7 +139,7 @@ def generate_2_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_bit_port("qaoi",b,0) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_bit_port("qaoi",b,0) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(aoi22,
+@@ -188,7 +188,7 @@ def generate_4_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";");
+ for b in range (0,bits) :
+
+ emit_gate_instance(dffe
+@@ -202,7 +202,7 @@ def generate_4_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("qaoi",bank,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("qaoi",bank,b) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(aoi22,
+@@ -262,7 +262,7 @@ def generate_Nr1w_array ( words, bits, r
+ emit_wire_definition(ident_name_bit("data_i_inv",b));
+ emit_rp_fill(str(column) +" 0 UX")
+ # we generate the state first
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for w in range(words)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for w in range(words)]) + ";");
+ for w in range (0,words) :
+ emit_gate_instance(dffe
+ ,[ ident_name_word_bit("reg",w,b)
+@@ -292,7 +292,7 @@ def generate_Nr1w_array ( words, bits, r
+ # AOI22 every pair of words
+
+ # we generate the state first
+- print "wire " + ",".join([ident_name_word_bit_port("qaoi",w,b,p) for w in range(0,words,2)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit_port("qaoi",w,b,p) for w in range(0,words,2)]) + ";");
+
+ for w in range (0,words,2) :
+ queue_gate_instance(gate_dict, aoi22
+@@ -348,7 +348,7 @@ def generate_Nr1w_array ( words, bits, r
+ , w+(15 if (words > 16) else 13)
+ );
+
+- print "\n";
++ print("\n");
+ # add inverters to data in, and data out.
+ # these are on opposite sides of the array
+ # we may potentially pay in delay, but we get
+@@ -372,9 +372,9 @@ def generate_Nr1w_array ( words, bits, r
+ # since we are using rp_fill commands
+ # but it makes things more readable
+
+- for x in sorted(gate_dict.items(), key=lambda x: x[1]) :
++ for x in sorted(list(gate_dict.items()), key=lambda x: x[1]) :
+ emit_rp_fill( str(column) +" "+str(x[1])+" UX")
+- print x[0], "// ",x[1];
++ print(x[0], "// ",x[1]);
+ column=column+1
+
+
+@@ -384,5 +384,5 @@ def generate_Nr1w_array ( words, bits, r
+ if len(sys.argv) == 4 :
+ generate_Nr1w_array (int(sys.argv[1]), int(sys.argv[2]), int(sys.argv[3]));
+ else :
+- print "Usage: " + sys.argv[0] + " words bits readports";
++ print("Usage: " + sys.argv[0] + " words bits readports");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_dff_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_dff_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_dff_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_dff_gen.py 2024-01-11 13:11:04.155031544 +0100
+@@ -6,27 +6,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + "(",
++ print("module " + name + "(", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -57,16 +57,16 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def rp_fill_string (params) :
+ return "// synopsys rp_fill (" + params + ")"
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -153,6 +153,6 @@ else :
+ for b in range (1,int(sys.argv[2])+1) :
+ generate_dff_nreset_en( sys.argv[1], b, sys.argv[3] );
+ else:
+- print "Usage: " + sys.argv[0] + " type " + " bits " + " strength";
+- print "Usage: " + sys.argv[0] + " type " + " bits " + " strength " + "SWEEP (to go from 1..bits)";
++ print("Usage: " + sys.argv[0] + " type " + " bits " + " strength");
++ print("Usage: " + sys.argv[0] + " type " + " bits " + " strength " + "SWEEP (to go from 1..bits)");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_gate_stack_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_gate_stack_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_gate_stack_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_gate_stack_gen.py 2024-01-11 13:11:04.521693353 +0100
+@@ -16,27 +16,27 @@ import sys;
+ fab = "tsmc_250"
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -87,13 +87,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+ def generate_gate_stack ( gatename, rows,signature, vert) :
+ if (vert) :
+@@ -135,38 +135,38 @@ def generate_gate_stack ( gatename, rows
+ if len(sys.argv) == 4 :
+ if sys.argv[2].isdigit() :
+ for x in range(1,int(sys.argv[2])+1) :
+- print "\n// ****************************************************** \n"
++ print("\n// ****************************************************** \n")
+ generate_gate_stack(sys.argv[1],x,sys.argv[3],1);
+ elif (sys.argv[2][0]=="-") :
+ for x in range(1,-(int(sys.argv[2]))+1) :
+- print "\n// ****************************************************** \n"
++ print("\n// ****************************************************** \n")
+ generate_gate_stack(sys.argv[1],x,sys.argv[3],0);
+
+ elif len(sys.argv) == 5 :
+ signature=sys.argv[3]
+ num_inputs = signature.count('#') - 2;
+ input_params = ["input [width_p-1:0] i"+str(x) for x in range(0,num_inputs)]
+- print '''
++ print('''
+
+ module bsg_'''+sys.argv[4],'''#(width_p="inv",harden_p=1)
+ ('''+"\n ,".join(input_params)+'''
+ , output [width_p-1:0] o
+ );
+-'''
++''')
+
+ for x in range(1,int(sys.argv[2])+1) :
+- print ''' if (harden_p && (width_p=='''+str(x)+'''))
++ print(''' if (harden_p && (width_p=='''+str(x)+'''))
+ begin:macro
+ bsg_rp_tsmc_250_'''+sys.argv[1]+'''_b'''+str(x)+''' gate(.*);
+ end
+- else ''';
+- print '''
++ else ''');
++ print('''
+ begin: notmacro
+ initial assert(0!=1) else $error("%m unsupported gatestack size",width_p);
+ end
+
+ endmodule
+-'''
++''')
+ else :
+- print "Usage: bsg_gate_stack_gen.py AND2X1 32 > bsg_and_stacks.v # generate each individual netlist of each size"
+- print " bsg_gate_stack_gen.py AND2X1 32 and > bsg_and.v # generate the verilog function that thunks to the right netlist"
++ print("Usage: bsg_gate_stack_gen.py AND2X1 32 > bsg_and_stacks.v # generate each individual netlist of each size")
++ print(" bsg_gate_stack_gen.py AND2X1 32 and > bsg_and.v # generate the verilog function that thunks to the right netlist")
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_and_csa_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_and_csa_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_and_csa_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_and_csa_gen.py 2024-01-11 13:11:04.645025053 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -129,7 +129,7 @@ def generate_and_csa_block ( rows ) :
+ for pos in range (0,rows) :
+
+ emit_rp_fill("0 " + str(pos*2) + " UX");
+- print "wire " + ident_name_bit("and_int",pos) + ";";
++ print("wire " + ident_name_bit("and_int",pos) + ";");
+
+ emit_gate_instance(addf
+ , [ ident_name_word_bit("csa", pos, 0)
+@@ -155,5 +155,5 @@ def generate_and_csa_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_and_csa_block(int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0] + " rows";
++ print("Usage: " + sys.argv[0] + " rows");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen.py 2024-01-11 13:11:05.051686334 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+ # NOTE: for symmetric pins, assume that earlier ones are always faster.
+@@ -130,11 +130,11 @@ def generate_booth_4_block ( rows ) :
+ emit_rp_group_begin("b4b")
+
+ for pos in range (0,rows) :
+- print ""
+- print "wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";"
+- print "wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";"
++ print("")
++ print("wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";")
++ print("wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";")
+
+ emit_rp_fill("0 " + str(pos*2) + " RX");
+
+@@ -242,5 +242,5 @@ def generate_booth_4_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_booth_4_block (int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0] + " rows";
++ print("Usage: " + sys.argv[0] + " rows");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen_cornice.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen_cornice.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen_cornice.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen_cornice.py 2024-01-11 13:11:04.778356621 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -138,11 +138,11 @@ def generate_booth_4_block ( rows ) :
+ for pos in range (0,rows) :
+ adj_pos = start_row + pos;
+
+- print ""
+- print "wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";"
+- print "wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";"
++ print("")
++ print("wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";")
++ print("wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";")
+
+
+ # irritatingly, we need to place at least one cell at X position 0 for it to shift everything over.
+@@ -242,13 +242,13 @@ def generate_booth_4_block ( rows ) :
+
+
+ if (adj_pos == 0) :
+- print "assign s_o[0] = SDN_i[0]; /* SDN_i[0][0] */ assign c_o[0] = 1'b0;"
++ print("assign s_o[0] = SDN_i[0]; /* SDN_i[0][0] */ assign c_o[0] = 1'b0;")
+
+ if (adj_pos == 1) :
+- print "assign s_o[1] = 1'b0; assign c_o[1] = 1'b0;"
++ print("assign s_o[1] = 1'b0; assign c_o[1] = 1'b0;")
+
+ if (adj_pos == 3) :
+- print "assign s_o[" + str(pos) + "] = pp_w" + str(pos) + "_b0; assign c_o[" + str(pos) + "] = 1'b0;"
++ print("assign s_o[" + str(pos) + "] = pp_w" + str(pos) + "_b0; assign c_o[" + str(pos) + "] = 1'b0;")
+
+
+ emit_rp_group_end("b4b")
+@@ -257,5 +257,5 @@ def generate_booth_4_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_booth_4_block (int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0]
++ print("Usage: " + sys.argv[0])
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen_end_cornice.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen_end_cornice.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen_end_cornice.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_booth_4_block_gen_end_cornice.py 2024-01-11 13:11:04.915021478 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -138,24 +138,24 @@ def generate_booth_4_block ( rows ) :
+
+ for pos in range (0,rows) :
+
+- print ""
+- print "wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";"
+- print "wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";"
++ print("")
++ print("wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";")
++ print("wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";")
+
+
+ emit_rp_fill("0 " + str(pos*2) + " RX");
+
+ if (pos == 0) :
+- print "assign cl_o = 1'b0;"
++ print("assign cl_o = 1'b0;")
+
+ if (pos == 7) :
+- print "assign c_o[" + str(pos) + "] = 1'b0;"
+- print "assign s_o[" + str(pos) + "] = 1'b1;"
++ print("assign c_o[" + str(pos) + "] = 1'b0;")
++ print("assign s_o[" + str(pos) + "] = 1'b1;")
+
+ if (pos == 6) :
+- print "assign c_o[" + str(pos) + "] = 1'b0;"
++ print("assign c_o[" + str(pos) + "] = 1'b0;")
+
+ #3
+ if (pos < 7) :
+@@ -267,5 +267,5 @@ def generate_booth_4_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_booth_4_block (int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0]
++ print("Usage: " + sys.argv[0])
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_comp42_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_comp42_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_comp42_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mul/bsg_comp42_gen.py 2024-01-11 13:11:05.175018033 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -126,9 +126,9 @@ def generate_c42_block ( rows ) :
+ emit_rp_group_begin("c42")
+
+ for pos in range (0,rows) :
+- print ""
+- print "wire " + ident_name_bit("s_int",pos) +";";
+- print "wire " + ident_name_bit("cl_int",pos)+";";
++ print("")
++ print("wire " + ident_name_bit("s_int",pos) +";");
++ print("wire " + ident_name_bit("cl_int",pos)+";");
+
+ emit_rp_fill("0 " + str(pos*2) + " UX");
+
+@@ -157,5 +157,5 @@ def generate_c42_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_c42_block (int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0] + " rows";
++ print("Usage: " + sys.argv[0] + " rows");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mux_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mux_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mux_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_mux_gen.py 2024-01-11 13:11:04.278363243 +0100
+@@ -23,27 +23,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + "(",
++ print("module " + name + "(", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -74,13 +74,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -127,7 +127,7 @@ def generate_mux_shift ( inputs, bits):
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";");
+
+ for b in range (0,bits) :
+
+@@ -145,7 +145,7 @@ def generate_mux_shift ( inputs, bits):
+ column=column+1;
+
+ for g in range(left,left+right) :
+- print "wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(joiner
+@@ -180,5 +180,5 @@ def generate_mux_shift ( inputs, bits):
+ if len(sys.argv) == 3 :
+ generate_mux_shift (int(sys.argv[1]), int(sys.argv[2]));
+ else :
+- print "Usage: " + sys.argv[0] + " inputs bits";
++ print("Usage: " + sys.argv[0] + " inputs bits");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_reduce_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_reduce_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_reduce_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_180_250/bsg_misc/bsg_reduce_gen.py 2024-01-11 13:11:04.391695076 +0100
+@@ -2,7 +2,7 @@
+
+ import sys;
+
+-print '''
++print('''
+
+ module bsg_rp_tsmc_250_reduce_and_b4 (input [3:0] i, output o);
+ wire [1:0] lo;
+@@ -91,4 +91,4 @@ NAND4X2 bCDEF (.A(i[12]),.B(i[13]),.C(
+ endmodule
+
+
+-''';
++''');
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_mem/bsg_rf_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_mem/bsg_rf_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_mem/bsg_rf_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_mem/bsg_rf_gen.py 2024-01-11 13:11:02.715050617 +0100
+@@ -17,27 +17,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -68,13 +68,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -132,7 +132,7 @@ def generate_2_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";");
+ for b in range (0,bits) :
+
+ emit_gate_instance(dffe
+@@ -146,7 +146,7 @@ def generate_2_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_bit_port("qaoi",b,0) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_bit_port("qaoi",b,0) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(aoi22,
+@@ -195,7 +195,7 @@ def generate_4_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for b in range(0,bits)]) + ";");
+ for b in range (0,bits) :
+
+ emit_gate_instance(dffe
+@@ -209,7 +209,7 @@ def generate_4_word_1r1w_array ( words,
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("qaoi",bank,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("qaoi",bank,b) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(aoi22,
+@@ -269,7 +269,7 @@ def generate_Nr1w_array ( words, bits, r
+ emit_wire_definition(ident_name_bit("data_i_inv",b));
+ emit_rp_fill(str(column) +" 0 UX")
+ # we generate the state first
+- print "wire " + ",".join([ident_name_word_bit("q",w,b) for w in range(words)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("q",w,b) for w in range(words)]) + ";");
+ for w in range (0,words) :
+ emit_gate_instance(dffe
+ ,[ ident_name_word_bit("reg",w,b)
+@@ -299,7 +299,7 @@ def generate_Nr1w_array ( words, bits, r
+ # AOI22 every pair of words
+
+ # we generate the state first
+- print "wire " + ",".join([ident_name_word_bit_port("qaoi",w,b,p) for w in range(0,words,2)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit_port("qaoi",w,b,p) for w in range(0,words,2)]) + ";");
+
+ for w in range (0,words,2) :
+ queue_gate_instance(gate_dict, aoi22
+@@ -355,7 +355,7 @@ def generate_Nr1w_array ( words, bits, r
+ , w+(15 if (words > 16) else 13)
+ );
+
+- print "\n";
++ print("\n");
+ # add inverters to data in, and data out.
+ # these are on opposite sides of the array
+ # we may potentially pay in delay, but we get
+@@ -379,9 +379,9 @@ def generate_Nr1w_array ( words, bits, r
+ # since we are using rp_fill commands
+ # but it makes things more readable
+
+- for x in sorted(gate_dict.items(), key=lambda x: x[1]) :
++ for x in sorted(list(gate_dict.items()), key=lambda x: x[1]) :
+ emit_rp_fill( str(column) +" "+str(x[1])+" UX")
+- print x[0], "// ",x[1];
++ print(x[0], "// ",x[1]);
+ column=column+1
+
+
+@@ -391,5 +391,5 @@ def generate_Nr1w_array ( words, bits, r
+ if len(sys.argv) == 4 :
+ generate_Nr1w_array (int(sys.argv[1]), int(sys.argv[2]), int(sys.argv[3]));
+ else :
+- print "Usage: " + sys.argv[0] + " words bits readports";
++ print("Usage: " + sys.argv[0] + " words bits readports");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_dff_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_dff_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_dff_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_dff_gen.py 2024-01-11 13:11:03.925034590 +0100
+@@ -6,27 +6,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + "(",
++ print("module " + name + "(", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -57,16 +57,16 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def rp_fill_string (params) :
+ return "// synopsys rp_fill (" + params + ")"
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -161,6 +161,6 @@ else :
+ for b in range (1,int(sys.argv[2])+1) :
+ generate_dff_nreset_en( sys.argv[1], b, sys.argv[3] );
+ else:
+- print "Usage: " + sys.argv[0] + " type " + " bits " + " strength";
+- print "Usage: " + sys.argv[0] + " type " + " bits " + " strength " + "SWEEP (to go from 1..bits)";
++ print("Usage: " + sys.argv[0] + " type " + " bits " + " strength");
++ print("Usage: " + sys.argv[0] + " type " + " bits " + " strength " + "SWEEP (to go from 1..bits)");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_gate_stack_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_gate_stack_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_gate_stack_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_gate_stack_gen.py 2024-01-11 13:11:02.568385894 +0100
+@@ -16,27 +16,27 @@ import sys;
+ fab = "tsmc_40"
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -87,13 +87,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+ def generate_gate_stack ( gatename, rows,signature, vert) :
+ if (vert) :
+@@ -135,38 +135,38 @@ def generate_gate_stack ( gatename, rows
+ if len(sys.argv) == 4 :
+ if sys.argv[2].isdigit() :
+ for x in range(1,int(sys.argv[2])+1) :
+- print "\n// ****************************************************** \n"
++ print("\n// ****************************************************** \n")
+ generate_gate_stack(sys.argv[1],x,sys.argv[3],1);
+ elif (sys.argv[2][0]=="-") :
+ for x in range(1,-(int(sys.argv[2]))+1) :
+- print "\n// ****************************************************** \n"
++ print("\n// ****************************************************** \n")
+ generate_gate_stack(sys.argv[1],x,sys.argv[3],0);
+
+ elif len(sys.argv) == 5 :
+ signature=sys.argv[3]
+ num_inputs = signature.count('#') - 2;
+ input_params = ["input [width_p-1:0] i"+str(x) for x in range(0,num_inputs)]
+- print '''
++ print('''
+
+ module bsg_'''+sys.argv[4],'''#(width_p="inv",harden_p=1)
+ ('''+"\n ,".join(input_params)+'''
+ , output [width_p-1:0] o
+ );
+-'''
++''')
+
+ for x in range(1,int(sys.argv[2])+1) :
+- print ''' if (harden_p && (width_p=='''+str(x)+'''))
++ print(''' if (harden_p && (width_p=='''+str(x)+'''))
+ begin:macro
+ bsg_rp_tsmc_40_'''+sys.argv[1]+'''_b'''+str(x)+''' gate(.*);
+ end
+- else ''';
+- print '''
++ else ''');
++ print('''
+ begin: notmacro
+ initial assert(0!=1) else $error("%m unsupported gatestack size",width_p);
+ end
+
+ endmodule
+-'''
++''')
+ else :
+- print "Usage: bsg_gate_stack_gen.py AND2X1 32 > bsg_and_stacks.v # generate each individual netlist of each size"
+- print " bsg_gate_stack_gen.py AND2X1 32 and > bsg_and.v # generate the verilog function that thunks to the right netlist"
++ print("Usage: bsg_gate_stack_gen.py AND2X1 32 > bsg_and_stacks.v # generate each individual netlist of each size")
++ print(" bsg_gate_stack_gen.py AND2X1 32 and > bsg_and.v # generate the verilog function that thunks to the right netlist")
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_and_csa_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_and_csa_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_and_csa_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_and_csa_gen.py 2024-01-11 13:11:03.801702891 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -129,7 +129,7 @@ def generate_and_csa_block ( rows ) :
+ for pos in range (0,rows) :
+
+ emit_rp_fill("0 " + str(pos*2) + " UX");
+- print "wire " + ident_name_bit("and_int",pos) + ";";
++ print("wire " + ident_name_bit("and_int",pos) + ";");
+
+ emit_gate_instance(addf
+ , [ ident_name_word_bit("csa", pos, 0)
+@@ -155,5 +155,5 @@ def generate_and_csa_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_and_csa_block(int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0] + " rows";
++ print("Usage: " + sys.argv[0] + " rows");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen.py 2024-01-11 13:11:03.268376621 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+ # NOTE: for symmetric pins, assume that earlier ones are always faster.
+@@ -130,11 +130,11 @@ def generate_booth_4_block ( rows ) :
+ emit_rp_group_begin("b4b")
+
+ for pos in range (0,rows) :
+- print ""
+- print "wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";"
+- print "wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";"
++ print("")
++ print("wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";")
++ print("wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";")
+
+ emit_rp_fill("0 " + str(pos*2) + " RX");
+
+@@ -242,5 +242,5 @@ def generate_booth_4_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_booth_4_block (int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0] + " rows";
++ print("Usage: " + sys.argv[0] + " rows");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen_cornice.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen_cornice.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen_cornice.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen_cornice.py 2024-01-11 13:11:03.135045055 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -138,11 +138,11 @@ def generate_booth_4_block ( rows ) :
+ for pos in range (0,rows) :
+ adj_pos = start_row + pos;
+
+- print ""
+- print "wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";"
+- print "wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";"
++ print("")
++ print("wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";")
++ print("wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";")
+
+
+ # irritatingly, we need to place at least one cell at X position 0 for it to shift everything over.
+@@ -242,13 +242,13 @@ def generate_booth_4_block ( rows ) :
+
+
+ if (adj_pos == 0) :
+- print "assign s_o[0] = SDN_i[0]; /* SDN_i[0][0] */ assign c_o[0] = 1'b0;"
++ print("assign s_o[0] = SDN_i[0]; /* SDN_i[0][0] */ assign c_o[0] = 1'b0;")
+
+ if (adj_pos == 1) :
+- print "assign s_o[1] = 1'b0; assign c_o[1] = 1'b0;"
++ print("assign s_o[1] = 1'b0; assign c_o[1] = 1'b0;")
+
+ if (adj_pos == 3) :
+- print "assign s_o[" + str(pos) + "] = pp_w" + str(pos) + "_b0; assign c_o[" + str(pos) + "] = 1'b0;"
++ print("assign s_o[" + str(pos) + "] = pp_w" + str(pos) + "_b0; assign c_o[" + str(pos) + "] = 1'b0;")
+
+
+ emit_rp_group_end("b4b")
+@@ -257,5 +257,5 @@ def generate_booth_4_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_booth_4_block (int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0]
++ print("Usage: " + sys.argv[0])
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen_end_cornice.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen_end_cornice.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen_end_cornice.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_booth_4_block_gen_end_cornice.py 2024-01-11 13:11:03.551706202 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -138,24 +138,24 @@ def generate_booth_4_block ( rows ) :
+
+ for pos in range (0,rows) :
+
+- print ""
+- print "wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";"
+- print "wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";"
+- print "wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";"
++ print("")
++ print("wire " + ",".join([ident_name_word_bit("pp",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("aoi",pos,b) for b in range(0,4)])+";")
++ print("wire " + ",".join([ident_name_word_bit("cl",pos,b) for b in range(0,1)])+";")
++ print("wire " + ",".join([ident_name_word_bit("s0",pos,b) for b in range(0,1)])+";")
+
+
+ emit_rp_fill("0 " + str(pos*2) + " RX");
+
+ if (pos == 0) :
+- print "assign cl_o = 1'b0;"
++ print("assign cl_o = 1'b0;")
+
+ if (pos == 7) :
+- print "assign c_o[" + str(pos) + "] = 1'b0;"
+- print "assign s_o[" + str(pos) + "] = 1'b1;"
++ print("assign c_o[" + str(pos) + "] = 1'b0;")
++ print("assign s_o[" + str(pos) + "] = 1'b1;")
+
+ if (pos == 6) :
+- print "assign c_o[" + str(pos) + "] = 1'b0;"
++ print("assign c_o[" + str(pos) + "] = 1'b0;")
+
+ #3
+ if (pos < 7) :
+@@ -267,5 +267,5 @@ def generate_booth_4_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_booth_4_block (int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0]
++ print("Usage: " + sys.argv[0])
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_comp42_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_comp42_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_comp42_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mul/bsg_comp42_gen.py 2024-01-11 13:11:03.678371190 +0100
+@@ -14,27 +14,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + " (",
++ print("module " + name + " (", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -86,13 +86,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -126,9 +126,9 @@ def generate_c42_block ( rows ) :
+ emit_rp_group_begin("c42")
+
+ for pos in range (0,rows) :
+- print ""
+- print "wire " + ident_name_bit("s_int",pos) +";";
+- print "wire " + ident_name_bit("cl_int",pos)+";";
++ print("")
++ print("wire " + ident_name_bit("s_int",pos) +";");
++ print("wire " + ident_name_bit("cl_int",pos)+";");
+
+ emit_rp_fill("0 " + str(pos*2) + " UX");
+
+@@ -157,5 +157,5 @@ def generate_c42_block ( rows ) :
+ if len(sys.argv) == 2 :
+ generate_c42_block (int(sys.argv[1]));
+ else :
+- print "Usage: " + sys.argv[0] + " rows";
++ print("Usage: " + sys.argv[0] + " rows");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mux_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mux_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mux_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_mux_gen.py 2024-01-11 13:11:02.998380198 +0100
+@@ -23,27 +23,27 @@
+ import sys;
+
+ def emit_module_header (name, input_args, output_args) :
+- print "module " + name + "(",
++ print("module " + name + "(", end=' ')
+ my_list = []
+ for x in input_args :
+ my_list.append("input "+x+"\n");
+ for x in output_args :
+ my_list.append("output "+x+"\n");
+- print (" "*(len(name)+8)+",").join(my_list);
++ print((" "*(len(name)+8)+",").join(my_list));
+
+- print ");";
++ print(");");
+
+ def emit_module_footer( ) :
+- print "endmodule";
++ print("endmodule");
+
+ def emit_wire_definition (name) :
+- print "wire " + name + "; "
++ print("wire " + name + "; ")
+
+ def emit_wire_definition_nocr (name) :
+- print "wire " + name + "; ",
++ print("wire " + name + "; ", end=' ')
+
+ def emit_gate_instance (gate_str, arg_list ) :
+- print gate_instance(gate_str,arg_list);
++ print(gate_instance(gate_str,arg_list));
+
+ def queue_gate_instance (out_dict, gate_str, arg_list, order) :
+ the_string = gate_instance(gate_str,arg_list)
+@@ -74,13 +74,13 @@ def ident_name_bit (name,bit) :
+
+
+ def emit_rp_group_begin (name) :
+- print "// synopsys rp_group (" + name + ")"
++ print("// synopsys rp_group (" + name + ")")
+
+ def emit_rp_group_end (name) :
+- print "// synopsys rp_endgroup (" + name +")"
++ print("// synopsys rp_endgroup (" + name +")")
+
+ def emit_rp_fill (params):
+- print "// synopsys rp_fill (" + params +")"
++ print("// synopsys rp_fill (" + params +")")
+
+
+
+@@ -130,7 +130,7 @@ def generate_mux_shift ( inputs, bits):
+ emit_rp_fill(str(column) + " 0 UX");
+ column=column+1;
+
+- print "wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";");
+
+ for b in range (0,bits) :
+
+@@ -148,7 +148,7 @@ def generate_mux_shift ( inputs, bits):
+ column=column+1;
+
+ for g in range(left,left+right) :
+- print "wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";";
++ print("wire " + ",".join([ident_name_word_bit("a2",g,b) for b in range(0,bits)]) + ";");
+
+ for b in range(0,bits) :
+ emit_gate_instance(joiner
+@@ -183,5 +183,5 @@ def generate_mux_shift ( inputs, bits):
+ if len(sys.argv) == 3 :
+ generate_mux_shift (int(sys.argv[1]), int(sys.argv[2]));
+ else :
+- print "Usage: " + sys.argv[0] + " inputs bits";
++ print("Usage: " + sys.argv[0] + " inputs bits");
+
+diff --color -rupN a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_reduce_gen.py b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_reduce_gen.py
+--- a/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_reduce_gen.py 2021-09-26 19:02:04.000000000 +0200
++++ b/pythondata-cpu-blackparrot-2023.12/pythondata_cpu_blackparrot/system_verilog/black-parrot/external/basejump_stl/hard/tsmc_40/bsg_misc/bsg_reduce_gen.py 2024-01-11 13:11:02.191724216 +0100
+@@ -2,7 +2,7 @@
+
+ import sys;
+
+-print '''
++print('''
+
+ module bsg_rp_tsmc_40_reduce_and_b4 (input [3:0] i, output o);
+ wire [1:0] lo;
+@@ -91,4 +91,4 @@ ND4D2BWP bCDEF (.A1(i[12]),.A2(i[13]),
+ endmodule
+
+
+-''';
++''');
diff --git a/testing/py3-litex-hub-modules/APKBUILD b/testing/py3-litex-hub-modules/APKBUILD
new file mode 100644
index 00000000000..337820c242d
--- /dev/null
+++ b/testing/py3-litex-hub-modules/APKBUILD
@@ -0,0 +1,235 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=py3-litex-hub-modules
+_pkgname=litex
+pkgver=2023.12
+pkgrel=4
+pkgdesc="Python modules containing verilog and/or data files for use with LiteX"
+url="https://github.com/litex-hub"
+license="BSD-2-Clause"
+arch="all"
+# match this commit against https://github.com/litex-hub/pythondata-software-picolibc/tree/master/pythondata_software_picolibc
+_picolibc_commit="f165dc22f1f67e3e8bdc8edf750ff7dc596de2ff"
+_fpnew_commit="855bb82b6e85772fc290fa8b9c14fdd8f1b16be7"
+_riscv_dbg_commit="6d38d957b036231db668666255e938c91b7ce424"
+_trace_debugger_commit="0aafa398e208ad79826407e3805642987287cfae"
+_common_cells_commit="790f2385c01c83022474eede55809666209216e3"
+_fpu_div_sqrt_mvp_commit="83a601f97934ed5e06d737b9c80d98b08867c5fa"
+_modules="
+ pythondata-cpu-blackparrot:2023.12:BSD-3-Clause
+ pythondata-cpu-cv32e40p:2023.12:Apache-2.0
+ pythondata-cpu-cv32e41p:2023.12:Apache-2.0
+ pythondata-cpu-cva5:2023.12:Apache-2.0
+ pythondata-cpu-cva6:2023.12:Apache-2.0
+ pythondata-cpu-ibex:2023.12:Apache-2.0
+ pythondata-cpu-lm32:2020.04:EPL-1.0
+ pythondata-cpu-marocchino:2023.12:MPL-2.0
+ pythondata-cpu-microwatt:2023.12:CC-BY-SA-4.0
+ pythondata-cpu-minerva:2023.12:BSD-2-Clause
+ pythondata-cpu-mor1kx:2020.04:MPL-2.0
+ pythondata-cpu-naxriscv:2023.12:MIT
+ pythondata-cpu-picorv32:2020.04:ISC
+ pythondata-cpu-rocket:2020.04:Apache-2.0
+ pythondata-cpu-serv:2020.04:ISC
+ pythondata-cpu-vexriscv:2020.04:MIT
+ pythondata-cpu-vexriscv_smp:2023.12:MIT
+ pythondata-misc-tapcfg:2020.04:LGPL-2.1-only
+ pythondata-software-compiler_rt:2020.04:Apache-2.0
+ pythondata-software-picolibc:2023.12:BSD-3-Clause
+ valentyusb:2023.12:BSD-3-Clause
+ "
+depends="
+ python3
+ "
+makedepends="
+ py3-setuptools
+ py3-gpep517
+ py3-wheel
+ py3-installer
+ "
+subpackages="$pkgname-pyc"
+source="
+ picolibc-$_picolibc_commit.tar.gz::https://github.com/picolibc/picolibc/archive/$_picolibc_commit.tar.gz
+ fpnew-$_fpnew_commit.tar.gz::https://github.com/antmicro/fpnew/archive/$_fpnew_commit.tar.gz
+ riscv-dbg-$_riscv_dbg_commit.tar.gz::https://github.com/antmicro/riscv-dbg/archive/$_riscv_dbg_commit.tar.gz
+ trace_debugger-$_trace_debugger_commit.tar.gz::https://github.com/antmicro/trace_debugger/archive/$_trace_debugger_commit.tar.gz
+ common_cells-$_common_cells_commit.tar.gz::https://github.com/pulp-platform/common_cells/archive/$_common_cells_commit.tar.gz
+ fpu_div_sqrt_mvp-$_fpu_div_sqrt_mvp_commit.tar.gz::https://github.com/pulp-platform/fpu_div_sqrt_mvp/archive/$_fpu_div_sqrt_mvp_commit.tar.gz
+
+ 0001-fix-pythondata_software_compiler_rt-python3.patch
+ 0002-fix-pythondata-cpu-blackparrot-python3.patch
+ "
+builddir="$srcdir"
+# most LiteX-Hub repos contain no unit tests. The basically wrap upstream
+# repos in a fashion suitable for use with LiteX, so they can rely on unit
+# tests of the upstream repos. Those LiteX-Hub repos that do have tests
+# depend on LiteX to be installed, but LiteX depends on these for its unit
+# tests (circular dependency). The unit tests in LiteX are more important, so
+# we disable tests here.
+options="!check"
+
+# The data contains ELF files intended for the softcore CPUs, which cannot
+# be stripped with the native toolchain due to mismatching target architecture.
+options="$options !strip"
+
+_repo_name() {
+ echo ${1%%:*}
+}
+
+_pkgver() {
+ a=${1%:*}
+ echo ${a#*:}
+}
+
+_version_by_name() {
+ for _name_ver_license in $_modules; do
+ if [ "$1" = "$(_repo_name "$_name_ver_license")" ]; then
+ _pkgver "$_name_ver_license"
+ fi
+ done
+}
+
+_supply_git_submodule() {
+ rmdir "$1" || rm "$1"
+ ln -s "$2" "$1"
+}
+
+_license() {
+ echo $1 | cut -d : -f 3
+}
+
+for _name_ver_license in $_modules; do
+ _name="$(_repo_name "$_name_ver_license")"
+ _ver="$(_pkgver "$_name_ver_license")"
+ source="$source $_name-$_ver.tar.gz::https://github.com/litex-hub/$_name/archive/refs/tags/$_ver.tar.gz"
+ subpackages="$subpackages py3-litex-hub-$_name:_subpkg"
+done
+
+prepare() {
+ local _name
+ local _ver
+ default_prepare
+
+ # remove drivers for OSX, Solaris and Windows as well as tools for mingw.
+ # We don't need them and they cause lots of warnings
+ rm -rf "$srcdir"/pythondata-misc-tapcfg-2020.04/pythondata_misc_tapcfg/data/drivers
+ rm -rf "$srcdir"/pythondata-misc-tapcfg-2020.04/pythondata_misc_tapcfg/data/scons-tools
+
+ # setuptools.find_packages() doesn't work here and many instance of
+ # Warning: Package '<data_pkg_name>' is absent from the packages configuration.
+ # are triggered. Using setuptools.find_namespace_packages() instead does
+ # the trick.
+ find "$srcdir" -maxdepth 2 -name setup.py -exec \
+ sed \
+ -e 's/packages=setuptools\.find_packages/packages=setuptools\.find_namespace_packages/g' \
+ -i {} \;
+
+ # manually supply pythondata-software-picolibc git submodule from downloaded source
+ _name=pythondata-software-picolibc
+ _ver="$(_version_by_name "$_name")"
+ _supply_git_submodule \
+ "$srcdir/$_name-$_ver/pythondata_software_picolibc/data" \
+ "$srcdir/picolibc-$_picolibc_commit"
+
+ # manually supply pythondata-cpu-cv32e40p git submodule from downloaded source
+ _name=pythondata-cpu-cv32e40p
+ _ver="$(_version_by_name "$_name")"
+ _supply_git_submodule \
+ "$srcdir/$_name-$_ver/pythondata_cpu_cv32e40p/system_verilog/rtl/fpnew" \
+ "$srcdir/fpnew-$_fpnew_commit"
+ _supply_git_submodule \
+ "$srcdir/$_name-$_ver/pythondata_cpu_cv32e40p/system_verilog/rtl/riscv-dbg" \
+ "$srcdir/riscv-dbg-$_riscv_dbg_commit"
+ _supply_git_submodule \
+ "$srcdir/$_name-$_ver/pythondata_cpu_cv32e40p/system_verilog/rtl/trace_debugger" \
+ "$srcdir/trace_debugger-$_trace_debugger_commit"
+
+ # manually supply git submodules for fpnew
+ _supply_git_submodule \
+ "$srcdir/fpnew-$_fpnew_commit/src/common_cells" \
+ "$srcdir/common_cells-$_common_cells_commit"
+ _supply_git_submodule \
+ "$srcdir/fpnew-$_fpnew_commit/src/fpu_div_sqrt_mvp" \
+ "$srcdir/fpu_div_sqrt_mvp-$_fpu_div_sqrt_mvp_commit"
+}
+
+build() {
+ local _name
+ local _version
+ for _name_ver_license in $_modules; do
+ _name="$(_repo_name "$_name_ver_license")"
+ _version="$(_pkgver "$_name_ver_license")"
+ echo "--> Building LiteX Hub module $_name"
+
+ cd "$srcdir/$_name-$_version"
+ gpep517 build-wheel \
+ --wheel-dir "$srcdir/.dist" \
+ --output-fd 3 3>&1 >&2
+ done
+}
+
+package() {
+ # This package will be empty after all the subpackage split functions are
+ # executed. We use it as a meta-package to pull in all the subpackage for
+ # anyone interested in a full LiteX installation.
+ for _name_ver_license in $_modules; do
+ _name="$(_repo_name "$_name_ver_license")"
+ depends="$depends py3-litex-hub-$_name=$pkgver-r$pkgrel"
+ done
+
+ local wheel
+ mkdir -p "$pkgdir"
+
+ for wheel in "$srcdir/.dist"/*.whl; do
+ python3 -m installer -d "$pkgdir" \
+ "$wheel"
+ done
+}
+
+_subpkg() {
+ local _name
+ local _pyname
+ _name="${subpkgname#py3-litex-hub-}"
+ _pyname="${_name//-/_}"
+ amove usr/lib/python3*/site-packages/"$_pyname"
+ amove usr/lib/python3*/site-packages/"$_pyname"-*.dist-info
+
+ for _name_ver_license in $_modules; do
+ if [ "$_name" = "$(_repo_name "$_name_ver_license")" ]; then
+ license="$(_license "$_name_ver_license")"
+ pkgdesc="Python module containing verilog/data files \"$_name\" for use with LiteX"
+ fi
+ done
+}
+
+sha512sums="
+795a9983d1bc0f851d8f1116e0c580a893aefa82d2034796d14868a1ec14f2ec6d2a4f5bf649b073b8e59f903bd65642766580c52573c7064ba3fb6b972e6e07 picolibc-f165dc22f1f67e3e8bdc8edf750ff7dc596de2ff.tar.gz
+66b088bda0a629af97ad109ba06a7d0f9da7f2fb515c6de9752862c9ff77db9c23e520c5bffbb98c3ecc6fb2f800ea266f8b8359d3ad3c3ea2c970490877d2e1 fpnew-855bb82b6e85772fc290fa8b9c14fdd8f1b16be7.tar.gz
+534a1c2358c85ed7464971b6cd2f06d949ec1db918ed531a75e0b5fe6da9a1b86f9cb675f1fb400cec9c5d607ef40bc0320a6e38b71650f1d0f4111d1c41dd02 riscv-dbg-6d38d957b036231db668666255e938c91b7ce424.tar.gz
+3979457f51be8d1b079feaa07e04b02b3db425e1e02a52ae46c1fd4d304c2b513cf49d180c6018fe01e85908523712ce069de2893f3d180019264de42f6c619d trace_debugger-0aafa398e208ad79826407e3805642987287cfae.tar.gz
+926856d4ba701a14c29bf4fe7d9cec774b95fe8778bb0029e1aa361e144a99f328cf4f0d5806a7dee21a2e152a662b9aa7e9bb45b84c816280e0b6ac943979fc common_cells-790f2385c01c83022474eede55809666209216e3.tar.gz
+d7bf78ddbb00239a37e6410994bfc75c07a295f44aa0ecf968949448433a05282c7279f5d46b77a12faa77bba2cac92251cb56f972a95b22443c6045feba49db fpu_div_sqrt_mvp-83a601f97934ed5e06d737b9c80d98b08867c5fa.tar.gz
+3e1f7e96fc144b1f819ffad5262d669e3abf214c89d547344f66b325a6c60b523f03b19a68ea2166fe98733cb310255a36ef7c843b30a3227517a46ac37d7c33 0001-fix-pythondata_software_compiler_rt-python3.patch
+1df7abd5c382d8b42292c1cb6ebb09213a2fc82e408ccdcff0207d32dc99257d553ffac95b918b028a79c08a7fa7fc7bfbc396f7aa9a0b2b770abc3a93f19ed5 0002-fix-pythondata-cpu-blackparrot-python3.patch
+19e48ff191e6755eca198486b516195128b26317146fbd2e854c0f513e49341c014a8d06284a2fda31e04e03946afe135059beb7d3fa358d123e397578336851 pythondata-cpu-blackparrot-2023.12.tar.gz
+a8bc38152811f62511389e77b131cb3aa2c6b9c518bfe40406e682682489d91964099dbc50bcff546d530bafed5c8f74130c70428d4db5d1b80ee7494d8b6863 pythondata-cpu-cv32e40p-2023.12.tar.gz
+7514804727aabb8a68a3dc9950e0893ccdadeed8d49a7f2b315b737ebcac74bee594b2c1eec06256f70db980f08de930ed0bd4c4c04e030dc64e3141e2399125 pythondata-cpu-cv32e41p-2023.12.tar.gz
+b594c60b6ff761f716878eb8652db35e54bee0b2c49424fd06fd0df029a2b3a51f544b4508252b2ac3f7f0e8b10e12f6d270e8d77529f3667d3988305bc94f51 pythondata-cpu-cva5-2023.12.tar.gz
+fdc11249059857edd72a321c274a167e8b70848916c8ba54d271a564eb8af507671cee1dd37aa25534c437cbf09c41c5667c82f9440cc74c3a193dea987fe7ed pythondata-cpu-cva6-2023.12.tar.gz
+90254ba5506663d37d18fb099cbd9de91703be7db4972346c39bd828ede109b745904d748a47717a022a2d5a86b71400b0741d9acd7d30dc569736b3976833c7 pythondata-cpu-ibex-2023.12.tar.gz
+e37da7c510485160f9686867a301ea182145ce1d6c3f53c4b69fa47ccf040c8bf6696012672d1237a469280010f1f11d73eb5dbe1d6a0adf6318d6c98fc93e69 pythondata-cpu-lm32-2020.04.tar.gz
+61b4576f0de33c2a86ff7ade4e10d7c2e2b65771148468710448206d2f022ea3a89a467e99dfd467843fb15d577b0e2e792c4557120d41a9a71e3f1e313b54f3 pythondata-cpu-marocchino-2023.12.tar.gz
+c576b9582d9f51de90f398a0ec9011e9423524f401ddad3c54a658adc0b1f19899187586ca6d77c17a62cfbb5cb632a3ff41b8f5ce89868e19b9f17740d6a368 pythondata-cpu-microwatt-2023.12.tar.gz
+b19fd16fc2d24579d08b854b9d4a9dbadf5fcee7725f5ba4cc705bbf1ddc8b2951ee6dc2b041cb4550a9ab1618198f2a6e29b932543d380a281aa9faf3c93477 pythondata-cpu-minerva-2023.12.tar.gz
+fc7e4fdba394831bd1dce9a47a33cf91f051b04108af9dca8dc57f1a9221d53c16692ef4117a7cca485fdc9684848e31ca9311be73088b8c1108e25fed6e9df4 pythondata-cpu-mor1kx-2020.04.tar.gz
+0595dcb4d66ba5f7b865643660cd128efc12b966d4cc336e879239ae73096542063c0886982fcd6afc3df7d0ac6cf9e9bf0b51dae848abe0544093a086ca5157 pythondata-cpu-naxriscv-2023.12.tar.gz
+2087236196f9797d4b5746a30634e5d4a535b065c780b85102d7d97b858e30d615d5c2868b61ac8fbb71e671bf2b414eabf2ad6b8a39b34f64f4bde0c907cfb1 pythondata-cpu-picorv32-2020.04.tar.gz
+7ae6d8b2cb42f0c5c0093dbb35e8f1eb863b1fd49a4cdaa6ed3ff1b1a2e3ae1ac14a8fe13ed6826f9ada72740b2151075a14eb40df4756c2dd6f02712de91e23 pythondata-cpu-rocket-2020.04.tar.gz
+187a78c150a63399131ac4815d2670773917ca8e1de6adec9c7fdbdbb2d78900cc72bd1a103349ed318b1fb7ee17a9e6580db31dc03acd31d68e0aa5e56f378b pythondata-cpu-serv-2020.04.tar.gz
+9f4a0ca2cabfe7cefd5b1be1e40b6f02f2fb5edb9d70099d6d95530f5e4476574a3901340dcac606f7a1a31a2ac29764227f01b93f3e912b299718751746078b pythondata-cpu-vexriscv-2020.04.tar.gz
+e01d0593e4d515f6b38a4373f57f03290bcbd70e8e9117b995055461869db03a277d0ad4faffef0f7775acff48e7ee40666968d6aabf2d926cdeff3a190b5a29 pythondata-cpu-vexriscv_smp-2023.12.tar.gz
+66ff1bd80665c6beaf2b8b069698461cf836317a3de1fd06f5959b660e9b2ffefe057c86813c9ca2749ff381ab50a6519f9717eece117b569fb29b84d07163ff pythondata-misc-tapcfg-2020.04.tar.gz
+3e70d5e5941654588a353b866224b4e8b14324d4e771c2d43918ed4749e9c14d1e9229d6fa2f62fb7b58b2964f5d3f5d2f0fee6b14fd3862cfa211a3b93b89bb pythondata-software-compiler_rt-2020.04.tar.gz
+953968a0ba0df4207c04bec43de3ad4b599b0d63182c8ae8da4f254768aacf4a8a8e0a935cdc2aebc23c99494e1d3736b78f1d7413c1f94da3b016036a7f4b0a pythondata-software-picolibc-2023.12.tar.gz
+b9cb43acd169e8e05560ee5d90326a95426e26f8f837c21d3965770f8ed5fdb4352729d4f8320d8070e57fe36e3276d3b04df90498e874d6a6c3fab61fa85829 valentyusb-2023.12.tar.gz
+"
diff --git a/testing/py3-litex/0001-litedram-phy-lpddr-fix-use-of-invalid-escape-sequenc.patch b/testing/py3-litex/0001-litedram-phy-lpddr-fix-use-of-invalid-escape-sequenc.patch
new file mode 100644
index 00000000000..aeba3b5e9b9
--- /dev/null
+++ b/testing/py3-litex/0001-litedram-phy-lpddr-fix-use-of-invalid-escape-sequenc.patch
@@ -0,0 +1,105 @@
+From 37e1f346e5a47dff74c0535c3b3cacd8f7b144dd Mon Sep 17 00:00:00 2001
+From: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+Date: Thu, 11 Jan 2024 09:46:43 +0100
+Subject: [PATCH] litedram/phy/lpddr*: fix use of invalid escape sequence
+
+This fixes multiple instances of:
+
+litedram/phy/lpddr4/commands.py:209
+ litedram-2023.12/litedram/phy/lpddr4/commands.py:209: DeprecationWarning: invalid escape sequence '\d'
+ "BA(\d+)": lambda i: self.dfi.bank[i],
+---
+ litedram/phy/lpddr4/commands.py | 24 ++++++++++----------
+ litedram/phy/lpddr5/commands.py | 40 ++++++++++++++++-----------------
+ 2 files changed, 32 insertions(+), 32 deletions(-)
+
+diff --git a/litedram/phy/lpddr4/commands.py b/litedram/phy/lpddr4/commands.py
+index 737e318..90ade80 100644
+--- a/litedram-2023.12/litedram/phy/lpddr4/commands.py
++++ b/litedram-2023.12/litedram/phy/lpddr4/commands.py
+@@ -199,18 +199,18 @@ class Command(Module):
+ assert len(self.dfi.address) >= 17, "At least 17 DFI addressbits needed for row address"
+ mr_address = self.dfi.bank if is_mrw else self.dfi.address
+ rules = {
+- "H": lambda: 1, # high
+- "L": lambda: 0, # low
+- "V": lambda: 0, # defined logic
+- "X": lambda: 0, # don't care
+- "BL": lambda: 0, # on-the-fly burst length, not using
+- "AP": lambda: self.dfi.address[10], # auto precharge
+- "AB": lambda: self.dfi.address[10], # all banks
+- "BA(\d+)": lambda i: self.dfi.bank[i],
+- "R(\d+)": lambda i: self.dfi.address[i], # row
+- "C(\d+)": lambda i: self.dfi.address[i], # column
+- "MA(\d+)": lambda i: mr_address[i], # mode register address
+- "OP(\d+)": lambda i: self.dfi.address[i], # mode register value, or operand for MPC
++ "H": lambda: 1, # high
++ "L": lambda: 0, # low
++ "V": lambda: 0, # defined logic
++ "X": lambda: 0, # don't care
++ "BL": lambda: 0, # on-the-fly burst length, not using
++ "AP": lambda: self.dfi.address[10], # auto precharge
++ "AB": lambda: self.dfi.address[10], # all banks
++ "BA(\\d+)": lambda i: self.dfi.bank[i],
++ "R(\\d+)": lambda i: self.dfi.address[i], # row
++ "C(\\d+)": lambda i: self.dfi.address[i], # column
++ "MA(\\d+)": lambda i: mr_address[i], # mode register address
++ "OP(\\d+)": lambda i: self.dfi.address[i], # mode register value, or operand for MPC
+ }
+ for pattern, value in rules.items():
+ m = re.match(pattern, bit)
+diff --git a/litedram/phy/lpddr5/commands.py b/litedram/phy/lpddr5/commands.py
+index 9fd13ee..52733ec 100644
+--- a/litedram-2023.12/litedram/phy/lpddr5/commands.py
++++ b/litedram-2023.12/litedram/phy/lpddr5/commands.py
+@@ -275,27 +275,27 @@ class Command(Module):
+ op = mpc_op if is_mpc else self.dfi.address
+
+ rules = {
+- "H": lambda: 1, # high
+- "L": lambda: 0, # low
+- "V": lambda: 0, # defined logic
+- "X": lambda: 0, # don't care
+- "AB": lambda: self.dfi.address[10], # all banks
+- "AP": lambda: self.dfi.address[10], # auto precharge
+- "RFM": lambda: 0, # TODO: 1=RFM, 0=REF (Refresh Managemenent, only if r/o MR[27][0]=1, else always REF)
+- "SB(\d+)": lambda i: 0, # sub-bank selection related to RFM
+- "WS_WR": lambda: self.wck_sync == WCKSyncType.WR, # Write WCK2CK SYNC
+- "WS_RD": lambda: self.wck_sync == WCKSyncType.RD, # Read WCK2CK SYNC
+- "WS_FS": lambda: self.wck_sync == WCKSyncType.FS, # FAST SYNC
+- "DC(\d+)": lambda i: 0, # Data Copy, unimplemented
+- "WRX": lambda: 0, # Write X function, unimplemented
+- "WXSA": lambda: 0, # Write X function, unimplemented
+- "WXSB": lambda: 0, # Write X function, unimplemented
+- "BA(\d+)": lambda i: self.dfi.bank[i], # only BA0-2 is used, in BG/B16 modes we always refresh banks (x, x+8)
+- "R(\d+)": lambda i: self.dfi.address[i], # row
++ "H": lambda: 1, # high
++ "L": lambda: 0, # low
++ "V": lambda: 0, # defined logic
++ "X": lambda: 0, # don't care
++ "AB": lambda: self.dfi.address[10], # all banks
++ "AP": lambda: self.dfi.address[10], # auto precharge
++ "RFM": lambda: 0, # TODO: 1=RFM, 0=REF (Refresh Managemenent, only if r/o MR[27][0]=1, else always REF)
++ "SB(\\d+)": lambda i: 0, # sub-bank selection related to RFM
++ "WS_WR": lambda: self.wck_sync == WCKSyncType.WR, # Write WCK2CK SYNC
++ "WS_RD": lambda: self.wck_sync == WCKSyncType.RD, # Read WCK2CK SYNC
++ "WS_FS": lambda: self.wck_sync == WCKSyncType.FS, # FAST SYNC
++ "DC(\\d+)": lambda i: 0, # Data Copy, unimplemented
++ "WRX": lambda: 0, # Write X function, unimplemented
++ "WXSA": lambda: 0, # Write X function, unimplemented
++ "WXSB": lambda: 0, # Write X function, unimplemented
++ "BA(\\d+)": lambda i: self.dfi.bank[i], # only BA0-2 is used, in BG/B16 modes we always refresh banks (x, x+8)
++ "R(\\d+)": lambda i: self.dfi.address[i], # row
+ # LPDDR5 specs split the regular column address into C[5:0] "column address" and B[3:0] "burst address"
+- "C(\d+)": lambda i: self.dfi.address[i + 4],
+- "MA(\d+)": lambda i: mr_address[i], # mode register address
+- "OP(\d+)": lambda i: op[i], # mode register value, or operand for MPC
++ "C(\\d+)": lambda i: self.dfi.address[i + 4],
++ "MA(\\d+)": lambda i: mr_address[i], # mode register address
++ "OP(\\d+)": lambda i: op[i], # mode register value, or operand for MPC
+ }
+
+ for pattern, value in rules.items():
+--
+2.43.0
+
diff --git a/testing/py3-litex/0002-litex-fix-invalid-escape-sequence.patch b/testing/py3-litex/0002-litex-fix-invalid-escape-sequence.patch
new file mode 100644
index 00000000000..aa6c4f7121b
--- /dev/null
+++ b/testing/py3-litex/0002-litex-fix-invalid-escape-sequence.patch
@@ -0,0 +1,16 @@
+This fixes:
+
+ test/test_cpu.py:15
+ /home/maribu/Repos/software/aports/testing/py3-litex/src/litex-2023.12/test/test_cpu.py:15: DeprecationWarning: invalid escape sequence '\['
+ litex_prompt = [b'\033\[[0-9;]+mlitex\033\[[0-9;]+m>']
+--- a/litex-2023.12/test/test_cpu.py 2024-01-11 15:12:24.107360027 +0100
++++ b/litex-2023.12/test/test_cpu.py 2024-01-11 15:13:21.403348076 +0100
+@@ -12,7 +12,7 @@ import os
+ class TestCPU(unittest.TestCase):
+ def boot_test(self, cpu_type, jobs, cpu_variant="standard"):
+ cmd = f'litex_sim --cpu-type={cpu_type} --cpu-variant={cpu_variant} --opt-level=O0 --jobs {jobs}'
+- litex_prompt = [b'\033\[[0-9;]+mlitex\033\[[0-9;]+m>']
++ litex_prompt = [b'\033\\[[0-9;]+mlitex\033\\[[0-9;]+m>']
+ is_success = True
+ with open("/tmp/test_boot_log", "wb") as result_file:
+ p = pexpect.spawn(cmd, timeout=None, logfile=result_file)
diff --git a/testing/py3-litex/0003-litepcie-fix-package-absent-from-packages-configuration.patch b/testing/py3-litex/0003-litepcie-fix-package-absent-from-packages-configuration.patch
new file mode 100644
index 00000000000..ea889c69412
--- /dev/null
+++ b/testing/py3-litex/0003-litepcie-fix-package-absent-from-packages-configuration.patch
@@ -0,0 +1,23 @@
+This fixes multiple instances of:
+
+ _Warning: Package '<data_pkg_name>' is absent from the packages configuration.
+--- a/litepcie-2023.12/setup.py 2024-04-16 22:43:46.834348505 +0200
++++ b/litepcie-2023.12/setup.py 2024-04-16 22:44:09.857501663 +0200
+@@ -1,7 +1,7 @@
+ #!/usr/bin/env python3
+
+ from setuptools import setup
+-from setuptools import find_packages
++from setuptools import find_namespace_packages
+
+
+ with open("README.md", "r", encoding="utf-8") as fp:
+@@ -30,7 +30,7 @@ setup(
+ "requests"
+ ]
+ },
+- packages = find_packages(exclude=("test*", "sim*", "doc*", "examples*")),
++ packages = find_namespace_packages(exclude=("test*", "sim*", "doc*", "examples*")),
+ include_package_data = True,
+ keywords = "HDL ASIC FPGA hardware design",
+ classifiers = [
diff --git a/testing/py3-litex/APKBUILD b/testing/py3-litex/APKBUILD
new file mode 100644
index 00000000000..fab2cce1e38
--- /dev/null
+++ b/testing/py3-litex/APKBUILD
@@ -0,0 +1,249 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=py3-litex
+_pkgname=litex
+pkgver=2023.12
+pkgrel=1
+pkgdesc="infrastructure to create FPGA Cores/SoCs and full FPGA based systems"
+url="https://github.com/enjoy-digital/litex"
+license="BSD-2-Clause"
+# ppc64le: verilator verilator-dev
+# s390x: verilator verilator-dev, picolibc-riscv-none-elf
+# armv7: verilator verilator-dev, picolibc-riscv-none-elf
+# armhf: verilator verilator-dev, picolibc-riscv-none-elf
+# riscv64: verilator verilator-dev, picolibc-riscv-none-elf
+# aarch64: verilator verilator-dev
+# x86: unit test failures
+arch="all !ppc64le !s390x !armv7 !armhf !riscv64 !aarch64 !x86"
+depends="
+ py3-migen
+ py3-packaging
+ py3-pyserial
+ py3-requests
+ py3-yaml
+ python3
+ "
+makedepends="
+ py3-setuptools
+ py3-gpep517
+ py3-wheel
+ py3-installer
+ "
+checkdepends="
+ bash
+ json-c-dev
+ libevent-dev
+ linux-headers
+ meson
+ picolibc-riscv-none-elf
+ py3-litex-hub-modules
+ py3-pexpect
+ py3-pytest
+ verilator
+ verilator-dev
+ zlib-dev
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/enjoy-digital/litex/archive/refs/tags/$pkgver.tar.gz
+ litescope-$pkgver.tar.gz::https://github.com/enjoy-digital/litescope/archive/refs/tags/$pkgver.tar.gz
+ litex-boards-$pkgver.tar.gz::https://github.com/litex-hub/litex-boards/archive/refs/tags/$pkgver.tar.gz
+
+ 0001-litedram-phy-lpddr-fix-use-of-invalid-escape-sequenc.patch
+ 0002-litex-fix-invalid-escape-sequence.patch
+ 0003-litepcie-fix-package-absent-from-packages-configuration.patch
+ "
+builddir="$srcdir"
+subpackages="
+ $pkgname-pyc
+ $pkgname-full
+ py3-litescope
+ py3-litex-boards
+ "
+
+_cores_enjoy_digital="
+ dram:DRAM
+ eth:Ethernet
+ iclink:Inter-Chip-Communication
+ jesd204b:JESD204B
+ pcie:PCIe
+ sata:SATA
+ sdcard:SDCard
+ "
+_cores_litex_hub="
+ spi:SPI
+ "
+_cores="$_cores_enjoy_digital $_cores_litex_hub"
+
+for _core_name in $_cores_enjoy_digital; do
+ _core=${_core_name%:*}
+ subpackages="$subpackages py3-lite$_core:_subpkg_core"
+ source="$source py3-lite$_core-$pkgver.tar.gz::https://github.com/enjoy-digital/lite$_core/archive/refs/tags/$pkgver.tar.gz"
+done
+
+for _core_name in $_cores_litex_hub; do
+ _core=${_core_name%:*}
+ subpackages="$subpackages py3-lite$_core:_subpkg_core"
+ source="$source py3-lite$_core-$pkgver.tar.gz::https://github.com/litex-hub/lite$_core/archive/refs/tags/$pkgver.tar.gz"
+done
+
+prepare() {
+ default_prepare
+
+ # remove and rebuild x86_64 glibc binaries used in litesata test
+ cd "$srcdir/litesata-$pkgver/test/model"
+ rm crc scrambler
+ gcc -Os -o scrambler scrambler.c
+ gcc -Os -o crc crc.c
+}
+
+build() {
+ echo "--> Building LiteX"
+ cd "$srcdir/litex-$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+
+ echo "--> Building LiteX-Boards"
+ cd "$srcdir/litex-boards-$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+
+ echo "--> Building LiteScope"
+ cd "$srcdir/litescope-$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+
+ for _core_name in $_cores; do
+ _core=$(echo "$_core_name" | cut -d : -f 1)
+ _name=$(echo "$_core_name" | cut -d : -f 2)
+ echo "--> Building LiteX core $_name"
+
+ cd "$srcdir/lite$_core-$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+ done
+}
+
+check() {
+ cd "$srcdir/litex-$pkgver"
+ python3 -m venv --clear --without-pip --system-site-packages "$srcdir"/testenv
+ "$srcdir"/testenv/bin/python3 -m installer dist/*.whl
+ "$srcdir"/testenv/bin/python3 -m installer "$srcdir/litex-boards-$pkgver"/dist/*.whl
+ "$srcdir"/testenv/bin/python3 -m installer "$srcdir/litescope-$pkgver"/dist/*.whl
+
+ for _core_name in $_cores; do
+ _core=$(echo "$_core_name" | cut -d : -f 1)
+ "$srcdir"/testenv/bin/python3 -m installer "$srcdir/lite$_core-$pkgver"/dist/*.whl
+ done
+
+ echo "--> Testing LiteX"
+ # CPU test fails with "%Error: Verilator internal fault, sorry. Suggest trying --debug --gdbbt"
+ env PATH="$srcdir/testenv/bin:$PATH" "$srcdir"/testenv/bin/python3 -m pytest -v \
+ --deselect test/test_cpu.py::TestCPU::test_cpu
+
+ for _core_name in $_cores; do
+ _core=$(echo "$_core_name" | cut -d : -f 1)
+ _name=$(echo "$_core_name" | cut -d : -f 2)
+ echo "--> Testing LiteX core $_name"
+ cd "$srcdir/lite$_core-$pkgver"
+
+ # running tests now, but deselecting two of the slowest tests
+ # (when unlucky, the run for longer than the 12 minute timeout and
+ # fail on the builder).
+ env PATH="$srcdir/testenv/bin:$PATH" "$srcdir/testenv/bin/python3" -m pytest -v \
+ --deselect test/test_lpddr4.py::VerilatorLPDDR4Tests::test_lpddr4_sim_fast \
+ --deselect test/test_lpddr4.py::VerilatorLPDDR4Tests::test_lpddr4_sim_x2rate_no_cache \
+ #
+
+ done
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ "$srcdir/litex-$pkgver"/dist/*.whl
+
+ for _core_name in $_cores; do
+ _core=$(echo "$_core_name" | cut -d : -f 1)
+ python3 -m installer -d "$pkgdir" \
+ "$srcdir/lite$_core-$pkgver"/dist/*.whl
+ done
+
+ python3 -m installer -d "$pkgdir" \
+ "$srcdir/litescope-$pkgver"/dist/*.whl
+
+ python3 -m installer -d "$pkgdir" \
+ "$srcdir/litex-boards-$pkgver"/dist/*.whl
+}
+
+_subpkg_core() {
+ _core="${subpkgname#py3-lite}"
+ for _core_name in $_cores; do
+ if [ "$_core" = "$(echo "$_core_name" | cut -d : -f 1)" ]; then
+ _name=$(echo "$_core_name" | cut -d : -f 2)
+ fi
+ done
+ pkgdesc="Small footprint and configurable $_name core"
+ depends="$depends py3-litex"
+
+ amove usr/lib/python3*/site-packages/"lite$_core"
+ amove usr/lib/python3*/site-packages/"lite$_core"-*.dist-info
+}
+
+litescope() {
+ pkgdesc="Small footprint and configurable embedded FPGA logic analyzer"
+ depends="$depends py3-litex"
+ amove usr/lib/python3*/site-packages/litescope
+ amove usr/lib/python3*/site-packages/litescope-*.dist-info
+}
+
+boards() {
+ pkgdesc="LiteX boards files"
+ depends="$depends py3-litex"
+ amove usr/lib/python3*/site-packages/litex_boards
+ amove usr/lib/python3*/site-packages/litex_boards-*.dist-info
+}
+
+full() {
+ pkgdesc="Meta package to install full LiteX framework"
+ depends="
+ bash
+ json-c-dev
+ libevent-dev
+ linux-headers
+ meson
+ picolibc-riscv-none-elf
+ py3-litescope
+ py3-litex
+ py3-litex-boards
+ py3-litex-hub-modules
+ verilator
+ verilator-dev
+ zlib-dev
+ "
+ for _core_name in $_cores; do
+ _core=$(echo "$_core_name" | cut -d : -f 1)
+ depends="$depends py3-lite$_core"
+ done
+
+ mkdir -p "$subpkgdir"
+}
+
+sha512sums="
+6fa3888d6f80214ef8a2e1af439ac652794deba8a0da97cc7d7bc0f6fd5e45898966be22c117629d91e8df6ad7dbd383d7a3ae50567f0eeb7f1cc98d36b31e08 py3-litex-2023.12.tar.gz
+4aaa452fc6dbb2edbc9c61c7a9c66d70763dd2a6a3b12eac1a9185b117f31e94d6d532462971cb2082002dc8f4d95c6f4bb1f07d6e692fa967ebdfa3aaf1a1d3 litescope-2023.12.tar.gz
+f41ac30e1b76bc06341827c1600c1e072ce457c03b9170fe34d4d1c5b9c2e7c8851615139b9d0f4107b33aee26bb20b3918ec8111115b35b0d451757e11234b4 litex-boards-2023.12.tar.gz
+b975f8d3e38f4b64e775dd026e173002007f789d9ec959442b3ed9fc00d37ba3a4891af15c219e806deda272edda37e05aa4a241e7db0fe8c36297dafa55b64e 0001-litedram-phy-lpddr-fix-use-of-invalid-escape-sequenc.patch
+faae763691fa50db3f9358b5abd64e23bc2e8974b125b2df82c58aca778900253bbab20673412c57174bf7767368fa1e706fde5b54c281ff212d821859e6a076 0002-litex-fix-invalid-escape-sequence.patch
+63ccc3ad64702325060a91e6df620a68d76b418d03dce7d357607fa479651ff1bc70b0219f8c61185ebf91102bb2b3a7eac110bd260b76a07a093f3dbfd15f87 0003-litepcie-fix-package-absent-from-packages-configuration.patch
+5137b7db6db5c33223c0cf0c51dd3eb724f83a7050dfba8e68d4aeb9514095ac1afd0105645a9381b2f68751d17e95276ffe464cf01e1fa44e078a7092e2ea07 py3-litedram-2023.12.tar.gz
+454b51651ffe863f6f81b8a010805550c197845f719ad5d7e67454c4ce9a42b290adb92c9aab355dbdbc53484bf436baf2a9d5921c3d7053ac6cbe0ce8c56161 py3-liteeth-2023.12.tar.gz
+fc019f3def7790aa9822762c63d5578555af30a731da56976e7ec1b91591d833dadca91f9cc4ffd3a457ad76484b13a0e4f67b9f66a90d78b6f3106b34617720 py3-liteiclink-2023.12.tar.gz
+f6e4bf357e24b898e08079a119912ff58b48e754544313611914dba1e13dd921e5ee919a5559c4b8f77c9768203b396fbc49ac5019a488a797ebcedc24754409 py3-litejesd204b-2023.12.tar.gz
+8155a87e320345741b4a7f187651c15a704d65ed0c4e95fe5994c913632b20ae56ab8f36968a606658e361c9a8968447e31b3c00ff34f2bd66bd89dc2001c09f py3-litepcie-2023.12.tar.gz
+ab62eb5c183e4559ea352c561b4c9b985ffc917c686f6dac121ec64558a873a5225e591c44daf473cbb56fab719703e89bbcd8710ae94b9e5522f7500a495ee1 py3-litesata-2023.12.tar.gz
+755f253a0c0e720c16970f515c1b4aa82f3f4401f9cf2301803a514942cf1b4211c43aa602910beb7181bb53f435cb9c41cb96d54423e110e3914f4512b559c1 py3-litesdcard-2023.12.tar.gz
+19946e9e4a8f8085f5644e8b51fb588332598fdede7e5f9acb30160a794fa8768f4b9a4ba0cc4532e995debbe3059e32f72029722ce9624ee3531bd65543e58b py3-litespi-2023.12.tar.gz
+"
diff --git a/testing/py3-livestream/APKBUILD b/testing/py3-livestream/APKBUILD
index 3efda078a81..2347c103842 100644
--- a/testing/py3-livestream/APKBUILD
+++ b/testing/py3-livestream/APKBUILD
@@ -2,31 +2,34 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-livestream
_pkgname=PyLivestream
-pkgver=1.5.1
-pkgrel=4
+pkgver=2.0.0
+pkgrel=2
pkgdesc="Simple cross-platform FFmpeg-based live streaming to YouTube, Periscope, Facebook Live and more"
url="https://github.com/scivision/PyLivestream"
arch="noarch"
license="AGPL-3.0-or-later"
-depends="ffmpeg"
-makedepends="python3-dev py3-setuptools"
+depends="ffmpeg ffplay"
+makedepends="python3-dev py3-gpep517 py3-installer py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-timeout xvfb-run"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/scivision/$_pkgname/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- cd "$builddir"
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 1
}
check() {
- cd "$builddir"
- python3 setup.py check
+ PYTHONPATH=src xvfb-run -a python3 -m pytest
}
package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- install -D -m0644 stream.ini "$pkgdir"/etc/$_pkgname/stream.ini
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="e31f3e66f233935a4843ccaf3569d6b0439f5be21b4e9ddf94b5e87315503ce6b00d64739dd3fa86a8e8bcb011f1523e62ac0aec2ac9dc8628502f14c09e39db py3-livestream-1.5.1.tar.gz"
+sha512sums="
+98d6343b41354625d618b9e3c91da180c72c44526e1c62e8eb30f3a7cfa902849f33f7eca3d80ccb9f8eca7f1675e5397fefa4239310100c5f21b933e80a0825 py3-livestream-2.0.0.tar.gz
+"
diff --git a/testing/py3-llfuse/APKBUILD b/testing/py3-llfuse/APKBUILD
deleted file mode 100644
index 0546e7338b3..00000000000
--- a/testing/py3-llfuse/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
-# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
-pkgname=py3-llfuse
-pkgver=1.4.1
-pkgrel=1
-pkgdesc="Python-LLFUSE is a set of Python bindings for the low level FUSE API"
-url="https://github.com/python-llfuse/python-llfuse/"
-arch="all"
-license="GPL-2.0-or-later"
-depends="python3"
-makedepends="python3-dev py3-setuptools fuse-dev"
-options="!check" # checks are dependent on self
-source="https://files.pythonhosted.org/packages/b1/d4/44443fbaac6d5b878da99e7c0948ee93c7934fa3b00e48c5363823b583d0/llfuse-$pkgver.tar.gz
- "
-builddir="$srcdir/llfuse-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-e94045018e9d78b7b16355dd499a27694a77a70d61102d05938223b99686e4b9d90b5e14745d92a187ac8e34aa593a12d99bff1baccb19d4236d54eb66ec3e4f llfuse-1.4.1.tar.gz
-"
diff --git a/testing/py3-log-symbols/APKBUILD b/testing/py3-log-symbols/APKBUILD
index 5a5ec93a892..4e254002550 100644
--- a/testing/py3-log-symbols/APKBUILD
+++ b/testing/py3-log-symbols/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-log-symbols
_pyname=log_symbols
pkgver=0.0.14
-pkgrel=1
+pkgrel=4
pkgdesc="Colored symbols for Python log levels"
url="https://github.com/manrajgrover/py-log-symbols"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="python3 py3-colorama"
makedepends="py3-setuptools"
options="!check" # no tests
+subpackages="$pkgname-pyc"
source="$_pyname-$pkgver.tar.gz::https://pypi.python.org/packages/source/l/log-symbols/log_symbols-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -19,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-logutils/APKBUILD b/testing/py3-logutils/APKBUILD
deleted file mode 100644
index 5be29fe8b6e..00000000000
--- a/testing/py3-logutils/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-logutils
-pkgver=0.3.5
-pkgrel=0
-pkgdesc="Logging utilities"
-url="https://bitbucket.org/vinay.sajip/logutils/src/master/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 "
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-redis redis"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/l/logutils/logutils-$pkgver.tar.gz"
-builddir="$srcdir/logutils-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-# deselect test that is written for older python versions
-check() {
- python3 -m pytest --deselect=tests/test_adapter.py
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-0194bf4f01e7a29d4211495dc5fead9d4bd5bc1b791d25ff38ad28960a229a9bcdbaa7e6d3b5a4105eef6c9aa159459d6529c2615df113e7ec1ae93aac5cce6c py3-logutils-0.3.5.tar.gz
-"
diff --git a/testing/py3-lsp-black/APKBUILD b/testing/py3-lsp-black/APKBUILD
new file mode 100644
index 00000000000..a77e9af3dfb
--- /dev/null
+++ b/testing/py3-lsp-black/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=py3-lsp-black
+_pypi_name=python-lsp-black
+pkgver=2.0.0
+pkgrel=1
+pkgdesc="Plugin for black support in py3-lsp-server"
+url="https://github.com/python-lsp/python-lsp-black"
+arch="noarch !armhf !s390x" # armhf, s390x: no py3-lsp-server
+license="MIT"
+depends="py3-lsp-server black"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pypi_name:0:1}/$_pypi_name/$_pypi_name-$pkgver.tar.gz"
+builddir="$srcdir"/$_pypi_name-$pkgver
+
+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
+ # See: https://github.com/python-lsp/python-lsp-black/issues/55
+ .testenv/bin/python3 -m pytest -k "not (test_pylsp_format or syntax_error or test_load_config_defaults or test_load_config_with_skip_options)"
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+595ccb0e5b99a827c3961d63f0c9ee511e5c156372d19760b048f0e1f3af45e889724397109722174a75ef46f71a1b200a8849b6939c517ec2003aaab87f032f python-lsp-black-2.0.0.tar.gz
+"
diff --git a/testing/py3-lsp-mypy/APKBUILD b/testing/py3-lsp-mypy/APKBUILD
new file mode 100644
index 00000000000..84e73cf58b0
--- /dev/null
+++ b/testing/py3-lsp-mypy/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=py3-lsp-mypy
+_pypi_name=pylsp-mypy
+pkgver=0.6.8
+pkgrel=1
+pkgdesc="MyPy plugin for the Python LSP Server"
+url="https://github.com/python-lsp/pylsp-mypy"
+# armhf, s390x: no py3-lsp-server
+arch="noarch !armhf !s390x"
+license="MIT"
+depends="
+ py3-lsp-server
+ py3-mypy
+ "
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pypi_name:0:1}/$_pypi_name/$_pypi_name-$pkgver.tar.gz"
+builddir="$srcdir"/$_pypi_name-$pkgver
+
+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="
+c270ff6871c5e5d5dfb2d0b3e0f3ee22133ff0ef90c0668f2585cecdfc83664eb47b08c6169e0e05ea7f38e61de895fad6c06d435d9bd0323b4a3ea74dd5bc7c pylsp-mypy-0.6.8.tar.gz
+"
diff --git a/testing/py3-lsprotocol/APKBUILD b/testing/py3-lsprotocol/APKBUILD
new file mode 100644
index 00000000000..65b9c22051b
--- /dev/null
+++ b/testing/py3-lsprotocol/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer:
+pkgname=py3-lsprotocol
+pkgver=2023.0.1
+pkgrel=1
+pkgdesc="Python implementation of the Language Server Protocol"
+url="https://github.com/microsoft/lsprotocol"
+arch="noarch"
+license="MIT"
+depends="
+ py3-attrs
+ py3-cattrs
+ "
+makedepends="
+ py3-flit-core
+ py3-gpep517
+ "
+checkdepends="
+ py3-jsonschema
+ py3-pyhamcrest
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/microsoft/lsprotocol/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/lsprotocol-$pkgver"
+
+build() {
+ cd packages/python
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ pytest tests/python
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ packages/python/.dist/*.whl
+}
+
+sha512sums="
+e929125f259240feb757c55a62ca4ee021e9727884dc5b7465894aa5d5a3cf13235f9b863af862ae1f1c04f1eaa3de6356cf7abecc6efa1979facaecbfb45e64 py3-lsprotocol-2023.0.1.tar.gz
+"
diff --git a/testing/py3-luhn/APKBUILD b/testing/py3-luhn/APKBUILD
index 22e1095a3db..c1aa3837cf5 100644
--- a/testing/py3-luhn/APKBUILD
+++ b/testing/py3-luhn/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-luhn
_pkgname=luhn
pkgver=0.2.0
-pkgrel=5
+pkgrel=8
pkgdesc="Generate and verify Luhn check digits"
url="https://github.com/mmcloughlin/luhn"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="py3-amqp"
makedepends="py3-setuptools"
checkdepends="py3-nose"
+subpackages="$pkgname-pyc"
source="$_pkgname-$pkgver.tar.gz::https://github.com/mmcloughlin/luhn/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -26,7 +27,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="43732155358352fa25ca4c25e59a40efd98250e4296f75cdd1d2050a79a1ac26110f024a585159a626784dbfd4b6def3c85b2594c6ecf4e8b74a9cd165870c78 luhn-0.2.0.tar.gz"
diff --git a/testing/py3-lunr/APKBUILD b/testing/py3-lunr/APKBUILD
index 218dff64e0e..3a7fdf85c34 100644
--- a/testing/py3-lunr/APKBUILD
+++ b/testing/py3-lunr/APKBUILD
@@ -1,15 +1,16 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=py3-lunr
-pkgver=0.6.0
-pkgrel=1
+pkgver=0.6.2
+pkgrel=3
pkgdesc="python implementation of Lunr.js"
url="https://github.com/yeraydiazdiaz/lunr.py"
arch="noarch"
license="MIT"
-depends="python3 py3-future py3-six"
+depends="python3 py3-future"
makedepends="py3-setuptools"
checkdepends="py3-coverage py3-mock py3-pytest py3-pytest-timeout py3-tox"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/l/lunr/lunr-$pkgver.tar.gz"
builddir="$srcdir/lunr-$pkgver"
options="!check" # No tests yet.
@@ -19,7 +20,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="035f1ba81e4a7323b88eb0e5fb2482814808dfe7c5781f4a2767e7003d66fe97f8f2957f3506f406399d4a293c4105a98ff282d377d42a03b3ce9e41101db34c lunr-0.6.0.tar.gz"
+sha512sums="
+6b7c29d30a8a64b71246ff884e473cceeef5e00e382ad54474e7855dcafcf3817dcc14c29c1bb2eb3371f1cb5ab1485a7840dbe41d345a4503294052aa9cd644 lunr-0.6.2.tar.gz
+"
diff --git a/testing/py3-ly/APKBUILD b/testing/py3-ly/APKBUILD
new file mode 100644
index 00000000000..08f3f7cb48b
--- /dev/null
+++ b/testing/py3-ly/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Krystian Chachuła <krystian@krystianch.com>
+pkgname=py3-ly
+_pkgname=python-ly
+pkgver=0.9.8
+pkgrel=1
+pkgdesc="Tool and library for manipulating LilyPond files"
+url="https://github.com/frescobaldi/python-ly"
+arch="noarch"
+license="GPL-2.0-or-later"
+makedepends="py3-gpep517 py3-setuptools py3-wheel py3-sphinx"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/frescobaldi/python-ly/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # tests are broken
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+
+ sphinx-build -b man doc doc/build/man/
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
+
+ mkdir -p "$pkgdir"/usr/share/man/man1/
+
+ install -m 644 doc/build/man/ly-server.1 doc/build/man/ly.1 \
+ "$pkgdir"/usr/share/man/man1/
+}
+
+sha512sums="
+28cf9a828a79ad473cb0429c3dd186d9028036bb6ab750aaf1d1299d1e4ac476262a4fcbcce0846fa4c851966d0e2dc9f263a7667613a5a2841ce0dd4c5b729a python-ly-0.9.8.tar.gz
+"
diff --git a/testing/py3-lzo/APKBUILD b/testing/py3-lzo/APKBUILD
new file mode 100644
index 00000000000..1f2f4cdd5ef
--- /dev/null
+++ b/testing/py3-lzo/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-lzo
+pkgver=1.16
+pkgrel=1
+pkgdesc="Python bindings for the LZO data compression library"
+url="https://github.com/jd-boyd/python-lzo"
+arch="all"
+license="GPL-2.0-or-later"
+depends="python3"
+makedepends="
+ lzo-dev
+ py3-gpep517
+ py3-installer
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/jd-boyd/python-lzo/archive/v$pkgver/py3-lzo-$pkgver.tar.gz"
+builddir="$srcdir/python-lzo-$pkgver"
+
+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/python_lzo-$pkgver-*.whl
+}
+
+sha512sums="
+19a96a3b545d7f7addc549e1b928f39df57ec63acc35bedb2d625bd513fcaf4e1efebcaefc3e9ce45b56ee8ecd481027ceee38b4515532e6800ccf45e74e8faf py3-lzo-1.16.tar.gz
+"
diff --git a/testing/py3-m2crypto/APKBUILD b/testing/py3-m2crypto/APKBUILD
index 6172e42cc72..5c5ec204cb5 100644
--- a/testing/py3-m2crypto/APKBUILD
+++ b/testing/py3-m2crypto/APKBUILD
@@ -2,15 +2,16 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-m2crypto
_pyname=M2Crypto
-pkgver=0.36.0
-pkgrel=2
+pkgver=0.41.0
+pkgrel=1
pkgdesc="A crypto and SSL toolkit for Python3"
options="!check" # test_public_encrypt and test_server_simple_timeouts fail
-url="https://pypi.python.org/pypi/M2Crypto/"
+url="https://pypi.org/project/M2Crypto/"
arch="all"
license="MIT"
depends="python3"
makedepends="python3-dev py3-setuptools openssl-dev swig"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -26,7 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="5b7d6d10c943ff0e09e0e9748d5578e7e0f7659a73de4ba49481152bca05871aef2bfbb869e1636a7cebcf2dd8b9f67fb0d299a833d1d4ebd538031c35d7bca1 M2Crypto-0.36.0.tar.gz"
+sha512sums="
+50ca5e32ae999b9ecdc7f3bbd35221b4a7523ef29e54eb4bc266457723117718955f99b9e7ac42a4cb982f0e22a94e5c852d6886d7dfb157d040ad86c17660fb M2Crypto-0.41.0.tar.gz
+"
diff --git a/testing/py3-managesieve/APKBUILD b/testing/py3-managesieve/APKBUILD
deleted file mode 100644
index 1c3845b880f..00000000000
--- a/testing/py3-managesieve/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: omni <omni+alpine@hack.org>
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=py3-managesieve
-_pkgname=managesieve
-pkgver=0.6
-pkgrel=3
-pkgdesc="ManageSieve client library, including user application sieveshell"
-url="https://managesieve.readthedocs.io/"
-arch="noarch"
-license="PSF-2.0 AND GPL-3.0-or-later"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-pytest-runner"
-source="https://gitlab.com/htgoebel/managesieve/-/archive/v$pkgver/managesieve-v$pkgver.tar.gz
- dont-depend-on-pytest-runner.patch
- "
-builddir="$srcdir/$_pkgname-v$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-00eb96c29b25888bab94cf72c7150e5c3f5c651ab7963099ac9f25c73b3eef31ebfde1723ab81811c33e922e91c43f452f2fd0c4206ba9b964db95ebb3a2325e managesieve-v0.6.tar.gz
-aa91457aa9fc224f2a0baf3acc8b3350984beaae14056b0183be640fdf4ffc2febafbb987a3b0f547176e13238399ddd434ab285a51e107c6723c5f9de982ed4 dont-depend-on-pytest-runner.patch
-"
diff --git a/testing/py3-managesieve/dont-depend-on-pytest-runner.patch b/testing/py3-managesieve/dont-depend-on-pytest-runner.patch
deleted file mode 100644
index 133ff3a5b1e..00000000000
--- a/testing/py3-managesieve/dont-depend-on-pytest-runner.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-We should not depend on pytest-runner unconditionally, there are situations where we don't run tests like when bootstrapping new arches
-
-diff --git a/setup.py b/setup.py
-index 1ba1dcd..38cb78a 100644
---- a/setup.py
-+++ b/setup.py
-@@ -17,7 +17,6 @@ with io.open(path.join(this_directory, 'README.txt'), encoding='utf-8') as f:
- setup (name = "managesieve",
- version='0.6',
- python_requires='>=2.7',
-- setup_requires=["pytest-runner"],
- tests_require=["pytest"],
- description = description,
- long_description = long_description,
diff --git a/testing/py3-mando/APKBUILD b/testing/py3-mando/APKBUILD
index 005e8ecf35c..4007eedb7ab 100644
--- a/testing/py3-mando/APKBUILD
+++ b/testing/py3-mando/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Rejah Rehim <rejah@beaglesecurity.com>
pkgname=py3-mando
_pkgname=mando
-pkgver=0.7.0
-pkgrel=1
+pkgver=0.7.1
+pkgrel=2
pkgdesc="Python CLI apps with little to no effort at all!"
options="!check" # no test suite
url="https://mando.readthedocs.org/"
@@ -11,7 +11,7 @@ arch="noarch"
license="MIT"
depends="python3 py3-six"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/m/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -20,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -Dm644 README.rst -t "$pkgdir"/usr/share/doc/"$pkgname"
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/"$pkgname"
@@ -28,5 +28,5 @@ package() {
}
sha512sums="
-99f4dbf81cff848d5620648693032dc3217bfc9ac686b08eb486718a632fb8c7a2e60bd9993df88e19c5592a946e4e4aa8966bf2d6282c9762bf0b880565151d mando-0.7.0.tar.gz
+469ff797d70a2426042ac0a289bbdb04d53ad8f18c6ea58bf361d4aa13611beb77f845fe73f67b459717e1c886fde627f5f039488826b1ca75ca71665fc55772 mando-0.7.1.tar.gz
"
diff --git a/testing/py3-manuel/APKBUILD b/testing/py3-manuel/APKBUILD
index 690c1e79adb..60075d12b1f 100644
--- a/testing/py3-manuel/APKBUILD
+++ b/testing/py3-manuel/APKBUILD
@@ -1,17 +1,19 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
# Maintainer:
pkgname=py3-manuel
-pkgver=1.10.1
-pkgrel=1
+pkgver=1.12.4
+pkgrel=2
pkgdesc="mix and match traditional doctests with custom test syntax"
url="https://github.com/benji-york/manuel"
arch="noarch"
license="Apache-2.0"
-depends="python3"
+depends="python3 py3-six"
makedepends="py3-setuptools"
checkdepends="py3-zope-testing"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/benji-york/manuel/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/manuel-$pkgver"
+options="!check" # fail matching exact string against newer dep versions
build() {
python3 setup.py build
@@ -22,7 +24,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="7109852a80097a12237a363c91ac433dd2662e238ab4f20757b4d4b93019d0ada19069fd45a13a66128adf4dbc32f162d12a90879db2f2eb4748635118d75072 py3-manuel-1.10.1.tar.gz"
+sha512sums="
+e39c93a6be92b2a5c09c461e2341690f670919b9bcb7665771cba0a0a4f6d695e4ad1ae53641f73f8e54b5ad8b4485831b480874936dc2ad17cbc88abfe2935c py3-manuel-1.12.4.tar.gz
+"
diff --git a/testing/py3-mapbox-earcut/APKBUILD b/testing/py3-mapbox-earcut/APKBUILD
new file mode 100644
index 00000000000..99db5b5f731
--- /dev/null
+++ b/testing/py3-mapbox-earcut/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Aiden Grossman <agrossman154@yahoo.com>
+# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
+pkgname=py3-mapbox-earcut
+pkgver=1.0.1
+pkgrel=0
+pkgdesc="Python bindings for the mapbox earcut c++ library"
+url="https://github.com/skogler/mapbox_earcut_python"
+arch="all"
+license="ISC"
+depends="py3-numpy"
+makedepends="py3-setuptools py3-pybind11-dev python3-dev"
+checkdepends="pytest"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skogler/mapbox_earcut_python/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/mapbox_earcut_python-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages test-env
+ test-env/bin/python3 setup.py install
+ test-env/bin/python3 -m pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+cdb32585cbaf74c15e59af0ae70d983dd2f9bc9cfe1b59b3eadc4d442f7d962241854b589a035deae67cacd9334833b911d0981f0d417fe587348fc7d24f0c0a py3-mapbox-earcut-1.0.1.tar.gz
+"
diff --git a/testing/py3-marisa-trie/APKBUILD b/testing/py3-marisa-trie/APKBUILD
new file mode 100644
index 00000000000..a594c5a0356
--- /dev/null
+++ b/testing/py3-marisa-trie/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-marisa-trie
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Static memory-efficient and fast Trie-like structures for Python"
+url="https://github.com/kmike/marisa-trie"
+arch="all"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="
+ py3-hypothesis
+ py3-pytest
+ py3-readme_renderer
+ "
+source="https://pypi.python.org/packages/source/m/marisa-trie/marisa-trie-$pkgver.tar.gz"
+builddir="$srcdir/marisa-trie-$pkgver"
+
+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
+ case "$CARCH" in
+ arm*)
+ .testenv/bin/python3 -m pytest \
+ --ignore tests/test_trie.py
+ # https://github.com/pytries/marisa-trie/issues/96
+ ;;
+ *)
+ .testenv/bin/python3 -m pytest
+ ;;
+ esac
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+a49759bc3b1148766c80f99dd450b48cbc4cf8d954de7d3a3caf6fd7d9b6536896aca185ae085fc8d534da182a846ef69adb8ef4bd1c12709efeb853ea607800 marisa-trie-1.1.0.tar.gz
+"
diff --git a/testing/py3-markdown2/APKBUILD b/testing/py3-markdown2/APKBUILD
index ac944bb39b0..7a75ead81ff 100644
--- a/testing/py3-markdown2/APKBUILD
+++ b/testing/py3-markdown2/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-markdown2
-pkgver=2.4.1
+pkgver=2.4.13
pkgrel=1
pkgdesc="fast and complete implementation of Markdown in Python"
url="https://github.com/trentm/python-markdown2"
@@ -10,24 +10,34 @@ depends="
python3
"
makedepends="
+ py3-gpep517
py3-setuptools
+ py3-wheel
"
-_pyname="markdown2"
-_pypiprefix="${_pyname%${_pyname#?}}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
+checkdepends="
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/m/markdown2/markdown2-$pkgver.tar.gz"
+builddir="$srcdir/markdown2-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
+
sha512sums="
-fa62640a135bb01b2dc82f658089c5880a3183c3b6e498ce76a27075d3045d70d7e00b9d497180a63c00cbd9ece83ebabaa8cd31ee326160d891fb422f43528e markdown2-2.4.1.tar.gz
+df015b53a87138b55fb6ab28c5b4cc8b1a36867a9a1b0fab962399c467e9847b249bff6a8ad920d56c4b72a02b46ffc536e61fa3168794403602926e65091748 markdown2-2.4.13.tar.gz
"
diff --git a/testing/py3-marshmallow-enum/APKBUILD b/testing/py3-marshmallow-enum/APKBUILD
index 0ce03ff6b9e..4e28559acc6 100644
--- a/testing/py3-marshmallow-enum/APKBUILD
+++ b/testing/py3-marshmallow-enum/APKBUILD
@@ -1,28 +1,31 @@
# Contributor: Alex McGrath <amk@amk.ie>
-# Maintainer: Alex McGrath <amk@amk.ie>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-marshmallow-enum
_pkgname=marshmallow_enum
pkgver=1.5.1
-pkgrel=2
+pkgrel=7
pkgdesc="Enum field for use with Marshmallow."
url="https://github.com/justanr/marshmallow_enum"
-arch="all"
+arch="noarch"
license="MIT"
-depends="python3 py3-marshmallow"
-makedepends="py3-setuptools"
+depends="py3-marshmallow"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="marshmallow-enum-$pkgver.tar.gz::https://github.com/justanr/marshmallow_enum/archive/v1.5.1.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no tests
build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="989fe58613dc28f242b1990a727a87c453809ad2de9355595e53e2c569de6434c76c150522c31189282edca74740dc0aabfafa57e2f78397644adae1b6d99f7d marshmallow-enum-1.5.1.tar.gz"
+sha512sums="
+989fe58613dc28f242b1990a727a87c453809ad2de9355595e53e2c569de6434c76c150522c31189282edca74740dc0aabfafa57e2f78397644adae1b6d99f7d marshmallow-enum-1.5.1.tar.gz
+"
diff --git a/testing/py3-marshmallow/APKBUILD b/testing/py3-marshmallow/APKBUILD
index e5ddd66b262..5dc185bec5d 100644
--- a/testing/py3-marshmallow/APKBUILD
+++ b/testing/py3-marshmallow/APKBUILD
@@ -1,31 +1,36 @@
# Contributor: Alex McGrath <amk@amk.ie>
-# Maintainer: Alex McGrath <amk@amk.ie>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-marshmallow
_pkgname=marshmallow
-pkgver=3.14.1
+pkgver=3.21.1
pkgrel=1
pkgdesc="A lightweight library for converting complex objects to and from simple Python datatypes"
url="https://github.com/marshmallow-code/marshmallow"
-arch="all"
+arch="noarch"
license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-flit-core py3-gpep517 py3-wheel"
checkdepends="py3-pytest py3-tz py3-simplejson"
+subpackages="$pkgname-pyc"
source="py3-marshmallow-$pkgver.tar.gz::https://github.com/marshmallow-code/marshmallow/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest -k 'not test_unknown_parameter_value_is_validated'
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-6e3586f3a6d30817642e05f9510e394fb1d36a8fefd10f83b2e58802c0a2295b0f492b5ad97fe0188235ffbcb1a6abdbfcce2142e07be4d92ee743d39e6cc878 py3-marshmallow-3.14.1.tar.gz
+6de06ced6a58ef0c312ee4c1edfbe011401bba08c27fcf2dd2c3e44cb072cded1cf5f16a4d4945344d56f0d26b5eb165f6d031b50c215f122c7cc6fe25389318 py3-marshmallow-3.21.1.tar.gz
"
diff --git a/testing/py3-mbedtls/APKBUILD b/testing/py3-mbedtls/APKBUILD
new file mode 100644
index 00000000000..def90e568d2
--- /dev/null
+++ b/testing/py3-mbedtls/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-mbedtls
+_pyname=python-mbedtls
+pkgver=2.9.2
+pkgrel=1
+pkgdesc="hash, hmac, RSA, ECC, X.509, TLS, DTLS, handshakes, and secrets with an mbed TLS back end"
+url="https://github.com/Synss/python-mbedtls"
+arch="all"
+license="MIT"
+depends="
+ mbedtls2
+ py3-certifi
+ py3-typing-extensions
+ "
+makedepends="
+ cython
+ mbedtls2-dev
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="
+ py3-pytest-repeat
+ py3-pytest-timeout
+ py3-readme_renderer
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Synss/python-mbedtls/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+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
+ rm -rf "$pkgdir"/usr/lib/python3.*/site-packages/tests/ # remove tests
+}
+
+sha512sums="
+3b71f3e2c898d9fec01bf5b2a3e97bc2fa3688efc80e096bd57b902bf8e34ea5ba0cb221ea46c0fa844d01610918da61bf6ac118b5262b4c11f22bef80a5ce04 py3-mbedtls-2.9.2.tar.gz
+"
diff --git a/testing/py3-memory-profiler/APKBUILD b/testing/py3-memory-profiler/APKBUILD
new file mode 100644
index 00000000000..df9b2980827
--- /dev/null
+++ b/testing/py3-memory-profiler/APKBUILD
@@ -0,0 +1,60 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-memory-profiler
+pkgver=0.61
+pkgrel=1
+pkgdesc="A module for monitoring memory usage of a python program"
+url="https://github.com/pythonprofilers/memory_profiler"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-psutil"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/pythonprofilers/memory_profiler/archive/refs/tags/v$pkgver.tar.gz
+ assertRaisesRegexp.patch
+ "
+builddir="$srcdir/memory_profiler-$pkgver"
+
+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 memory_profiler test/test_func.py
+ .testenv/bin/python3 -m memory_profiler test/test_loop.py
+ .testenv/bin/python3 -m memory_profiler test/test_mprofile.py
+ .testenv/bin/python3 -m memory_profiler test/test_as.py
+ .testenv/bin/python3 -m memory_profiler test/test_global.py
+ .testenv/bin/python3 -m memory_profiler test/test_precision_command_line.py
+ .testenv/bin/python3 -m memory_profiler test/test_gen.py
+ .testenv/bin/python3 -m memory_profiler test/test_unicode.py
+ .testenv/bin/python3 test/test_tracemalloc.py
+ .testenv/bin/python3 test/test_import.py
+ .testenv/bin/python3 test/test_memory_usage.py
+ .testenv/bin/python3 test/test_precision_import.py
+ .testenv/bin/python3 test/test_exception.py
+ .testenv/bin/python3 test/test_exit_code.py
+ .testenv/bin/python3 test/test_mprof.py
+ .testenv/bin/python3 test/test_async.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+02c70a049107ad4df635e20e22eaaa91fd4e4fd29690b0a7c314e08ed6e076bbb81f85dd97924ed35f7f0133cfd3c7e55b35400449489733beb172debe592c4e py3-memory-profiler-0.61.tar.gz
+a15ff3b422fd0c7c32376e845612d163b587542fed292fe6fc931b1010785574bf255f724feac64911b1d89e4ddf04c5515084da908eb94674ae2490c290989d assertRaisesRegexp.patch
+"
diff --git a/testing/py3-memory-profiler/assertRaisesRegexp.patch b/testing/py3-memory-profiler/assertRaisesRegexp.patch
new file mode 100644
index 00000000000..df0da779ae4
--- /dev/null
+++ b/testing/py3-memory-profiler/assertRaisesRegexp.patch
@@ -0,0 +1,14 @@
+diff --git a/test/test_exit_code.py b/test/test_exit_code.py
+index bae2be9..3a37063 100644
+--- a/test/test_exit_code.py
++++ b/test/test_exit_code.py
+@@ -20,3 +20,3 @@ class TestExitCode(unittest.TestCase):
+ sys.argv = ['<ignored>', '--exit-code', tmpfile.name]
+- self.assertRaisesRegexp(SystemExit, '0', self.run_action)
++ self.assertRaisesRegex(SystemExit, '0', self.run_action)
+
+@@ -29,3 +29,3 @@ class TestExitCode(unittest.TestCase):
+ sys.argv = ['<ignored>', '--exit-code', tmpfile.name]
+- self.assertRaisesRegexp(SystemExit, '1', self.run_action)
++ self.assertRaisesRegex(SystemExit, '1', self.run_action)
+
diff --git a/testing/py3-mergedeep/APKBUILD b/testing/py3-mergedeep/APKBUILD
deleted file mode 100644
index 8ff97c32e8d..00000000000
--- a/testing/py3-mergedeep/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=py3-mergedeep
-pkgver=1.3.4
-pkgrel=1
-pkgdesc="a deep merge function for python"
-url="https://github.com/clarketm/mergedeep"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/m/mergedeep/mergedeep-$pkgver.tar.gz"
-builddir="$srcdir/mergedeep-$pkgver"
-options="!check" # No tests.
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-4b7d56a3338d23def1c3f101ce568e1b6ae0384ca67975489de296f01fd5f98c35d26a305c073b1de22b2a4dba4e8a3a374b1f191d6224c3493fac7d05ea37b5 mergedeep-1.3.4.tar.gz
-"
diff --git a/testing/py3-migen/0001-fix-get_var_name.patch b/testing/py3-migen/0001-fix-get_var_name.patch
new file mode 100644
index 00000000000..7a241d7fb61
--- /dev/null
+++ b/testing/py3-migen/0001-fix-get_var_name.patch
@@ -0,0 +1,113 @@
+Take get_var_name() from amaranth with minor impedance matching. This
+fixes:
+
+ test/test_phy_utils.py:54: in serializer_test
+ dut = Serializer(clk=clk, clkdiv=clkdiv, i_dw=data_width, o_dw=1)
+ litedram/phy/utils.py:240: in __init__
+ if i is None: i = Signal(i_dw)
+ /usr/lib/python3.11/site-packages/migen/fhdl/structure.py:395: in __init__
+ self.backtrace = _tracer.trace_back(name)
+ /usr/lib/python3.11/site-packages/migen/fhdl/tracer.py:111: in trace_back
+ varname = get_var_name(frame)
+
+See https://github.com/amaranth-lang/amaranth/blob/main/amaranth/tracer.py for
+original source.
+
+See https://github.com/m-labs/migen/pull/283 for an effort to upstream the fix.
+--- a/migen/fhdl/tracer.py 2024-01-11 10:35:38.211748883 +0100
++++ b/migen/fhdl/tracer.py 2024-01-11 10:36:04.864735268 +0100
+@@ -1,56 +1,55 @@
+ import inspect
++import sys
+ from sys import version_info
+ from opcode import opname
+ from collections import defaultdict
+
+-# All opcodes are 2 bytes in length in Python 3.6
+-def _bytecode_length_version_guard(old_len):
+- return old_len if version_info[1] < 6 else 2
+-
+-_call_opcodes = {
+- "CALL_FUNCTION" : _bytecode_length_version_guard(3),
+- "CALL_FUNCTION_KW" : _bytecode_length_version_guard(3),
+-}
+-
+-if version_info[1] < 6:
+- _call_opcodes["CALL_FUNCTION_VAR"] = 3
+- _call_opcodes["CALL_FUNCTION_VAR_KW"] = 3
+-elif version_info[1] < 7:
+- _call_opcodes["CALL_FUNCTION_EX"] = 2
+-else:
+- _call_opcodes["CALL_FUNCTION_EX"] = 2
+- _call_opcodes["CALL_METHOD"] = 2
+-
+-_load_build_opcodes = {
+- "LOAD_GLOBAL" : _bytecode_length_version_guard(3),
+- "LOAD_ATTR" : _bytecode_length_version_guard(3),
+- "LOAD_FAST" : _bytecode_length_version_guard(3),
+- "LOAD_DEREF" : _bytecode_length_version_guard(3),
+- "DUP_TOP" : _bytecode_length_version_guard(1),
+- "BUILD_LIST" : _bytecode_length_version_guard(3),
+-}
+-
+
+ def get_var_name(frame):
+ code = frame.f_code
+ call_index = frame.f_lasti
+- call_opc = opname[code.co_code[call_index]]
+- if call_opc not in _call_opcodes:
++ while call_index > 0 and opname[code.co_code[call_index]] == "CACHE":
++ call_index -= 2
++ while True:
++ call_opc = opname[code.co_code[call_index]]
++ if call_opc in ("EXTENDED_ARG",):
++ call_index += 2
++ else:
++ break
++ if call_opc not in ("CALL_FUNCTION", "CALL_FUNCTION_KW", "CALL_FUNCTION_EX",
++ "CALL_METHOD", "CALL", "CALL_KW"):
+ return None
+- index = call_index+_call_opcodes[call_opc]
++
++ index = call_index + 2
++ imm = 0
+ while True:
+ opc = opname[code.co_code[index]]
+- if opc == "STORE_NAME" or opc == "STORE_ATTR":
+- name_index = int(code.co_code[index+1])
+- return code.co_names[name_index]
++ if opc == 'EXTENDED_ARG':
++ imm |= int(code.co_code[index + 1])
++ imm <<= 8
++ index += 2
++ elif opc in ("STORE_NAME", "STORE_ATTR"):
++ imm |= int(code.co_code[index + 1])
++ return code.co_names[imm]
+ elif opc == "STORE_FAST":
+- name_index = int(code.co_code[index+1])
+- return code.co_varnames[name_index]
++ imm |= int(code.co_code[index + 1])
++ if sys.version_info >= (3, 11):
++ return code._varname_from_oparg(imm)
++ else:
++ return code.co_varnames[imm]
+ elif opc == "STORE_DEREF":
+- name_index = int(code.co_code[index+1])
+- return code.co_cellvars[name_index]
+- elif opc in _load_build_opcodes:
+- index += _load_build_opcodes[opc]
++ imm |= int(code.co_code[index + 1])
++ if sys.version_info >= (3, 11):
++ return code._varname_from_oparg(imm)
++ else:
++ if imm < len(code.co_cellvars):
++ return code.co_cellvars[imm]
++ else:
++ return code.co_freevars[imm - len(code.co_cellvars)]
++ elif opc in ("LOAD_GLOBAL", "LOAD_NAME", "LOAD_ATTR", "LOAD_FAST", "LOAD_DEREF",
++ "DUP_TOP", "BUILD_LIST", "CACHE", "COPY"):
++ imm = 0
++ index += 2
+ else:
+ return None
+
diff --git a/testing/py3-migen/0002-fix-incorrect-use-of-is.patch b/testing/py3-migen/0002-fix-incorrect-use-of-is.patch
new file mode 100644
index 00000000000..08f106fd0d4
--- /dev/null
+++ b/testing/py3-migen/0002-fix-incorrect-use-of-is.patch
@@ -0,0 +1,29 @@
+Fix:
+
+ migen/fhdl/visit.py:86
+ /builds/maribu/aports/testing/py3-migen/src/migen-0.9.2/migen/fhdl/visit.py:86: SyntaxWarning: "is" with a literal. Did you mean "=="?
+ key=lambda x: -1 if x[0] is "default" else x[0].duid):
+ migen/fhdl/visit.py:191
+ /builds/maribu/aports/testing/py3-migen/src/migen-0.9.2/migen/fhdl/visit.py:191: SyntaxWarning: "is" with a literal. Did you mean "=="?
+ key=lambda x: -1 if x[0] is "default" else x[0].duid)}
+ migen/test/test_platform.py:47
+--- a/migen/fhdl/visit.py 2024-01-11 16:52:08.195971473 +0100
++++ b/migen/fhdl/visit.py 2024-01-11 16:52:44.862281145 +0100
+@@ -83,7 +83,7 @@ class NodeVisitor:
+ def visit_Case(self, node):
+ self.visit(node.test)
+ for v, statements in sorted(node.cases.items(),
+- key=lambda x: -1 if x[0] is "default" else x[0].duid):
++ key=lambda x: -1 if isinstance(x[0], str) and x[0] == "default" else x[0].duid):
+ self.visit(statements)
+
+ def visit_Fragment(self, node):
+@@ -188,7 +188,7 @@ class NodeTransformer:
+ def visit_Case(self, node):
+ cases = {v: self.visit(statements)
+ for v, statements in sorted(node.cases.items(),
+- key=lambda x: -1 if x[0] is "default" else x[0].duid)}
++ key=lambda x: -1 if isinstance(x[0], str) and x[0] == "default" else x[0].duid)}
+ r = Case(self.visit(node.test), cases)
+ return r
+
diff --git a/testing/py3-migen/APKBUILD b/testing/py3-migen/APKBUILD
new file mode 100644
index 00000000000..7d9581ee831
--- /dev/null
+++ b/testing/py3-migen/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=py3-migen
+_pkgname=migen
+pkgver=0.9.2
+pkgrel=2
+pkgdesc="Python-based tool that aims at automating further the VLSI design process"
+url="https://m-labs.hk/gateware/migen/"
+license="BSD-2-Clause"
+arch="noarch"
+depends="python3"
+makedepends="
+ py3-setuptools
+ py3-gpep517
+ py3-wheel
+ py3-installer
+ "
+checkdepends="
+ py3-pytest
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/m-labs/migen/archive/refs/tags/$pkgver.tar.gz
+
+ 0001-fix-get_var_name.patch
+ 0002-fix-incorrect-use-of-is.patch
+ "
+builddir="$srcdir"/$_pkgname-$pkgver
+subpackages="$pkgname-pyc"
+
+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 -v
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
+}
+
+sha512sums="
+9ff39f9f9b7e99b7d933e39091eb7e98c413ec3e60b98722d813df30fe95484470a1a027ac08bdf065bf688f4bb53af2c4618d3bbc0f1086adab33e149dca98f py3-migen-0.9.2.tar.gz
+6287fc34278e84b942a5aaefafa86d1078f393a60f34393c39a4f8226c4ee7913b4f156a517d7deb26a92f90331fed84ac529bbb4dd36ca2d052492e72cf6402 0001-fix-get_var_name.patch
+9ad29c4d5f95c31073d34b08dcd7de243330a5eb90f001f73fc4c7a2af17ebbb9855c431ae243ce4df0908f92155e38b60282779670c79e8b04dd44e110d75b9 0002-fix-incorrect-use-of-is.patch
+"
diff --git a/testing/py3-milc/APKBUILD b/testing/py3-milc/APKBUILD
index 65f57b3a008..e7bf769f0f4 100644
--- a/testing/py3-milc/APKBUILD
+++ b/testing/py3-milc/APKBUILD
@@ -1,30 +1,36 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-milc
-pkgver=1.6.5
+pkgver=1.8.0
pkgrel=1
pkgdesc="Opinionated Batteries-Included Python 3 CLI Framework"
url="https://milc.clueboard.co"
arch="noarch"
license="MIT"
depends="python3 py3-appdirs py3-argcomplete py3-colorama py3-halo"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
checkdepends="py3-pytest py3-semver"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/clueboard/milc/archive/$pkgver.tar.gz"
builddir="$srcdir/milc-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="." pytest
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-8e0817eb41f0f4cedf4486a7618c4c8cd70cec666c17cc16cdcb607ae260cd61df0123c4da48db13c24725d9e40ad918d2623fd33bbb8ca525d7672f62c21dd6 py3-milc-1.6.5.tar.gz
+2789b7f8f4c639fb53ec223bac935de6da5d6c4ac8fda6a070fe1a9546d138323041d53b37d6a1478b0883d9945b9ec62386825109cd9816ec5d7371cc52c64b py3-milc-1.8.0.tar.gz
"
diff --git a/testing/py3-minidb/APKBUILD b/testing/py3-minidb/APKBUILD
new file mode 100644
index 00000000000..c773a7f2263
--- /dev/null
+++ b/testing/py3-minidb/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Thiago Perrotta <tbperrotta@gmail.com>
+# Maintainer: Thiago Perrotta <tbperrotta@gmail.com>
+pkgname=py3-minidb
+pkgver=2.0.7
+pkgrel=3
+pkgdesc="Simple SQLite3 store for Python objects"
+url="https://thp.io/2010/minidb"
+arch="noarch"
+license="ISC"
+depends="python3"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/m/minidb/minidb-$pkgver.tar.gz"
+builddir="$srcdir/minidb-$pkgver/"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH=. pytest
+}
+
+package() {
+ python3 setup.py install --root="$pkgdir" --skip-build
+}
+
+sha512sums="
+dc04d2d51fdc4ecf30e234cb25e17bf0cd5c320dfca6bdd306b61eced89fe8f1fb5df93111ec0c04f1b258ecde467203a968e61b913feee87301dec7e93d9412 minidb-2.0.7.tar.gz
+"
diff --git a/testing/py3-minidump/APKBUILD b/testing/py3-minidump/APKBUILD
new file mode 100644
index 00000000000..164c3a73605
--- /dev/null
+++ b/testing/py3-minidump/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-minidump
+_pyname=minidump
+pkgver=0.0.23
+pkgrel=1
+pkgdesc="Python library to parse and read Microsoft minidump file format"
+url="https://github.com/skelsec/minidump"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/minidump/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+df938d85196726db78f5c5a3809963fef8a1a473a4afb0869c271226166edf2e8c6329d1b0946fe297a2d7e01d4e1da55baa4b3ce59a74429b17434521bf4d6d py3-minidump-0.0.23.tar.gz
+"
diff --git a/testing/py3-minikerberos/APKBUILD b/testing/py3-minikerberos/APKBUILD
new file mode 100644
index 00000000000..07f1a845853
--- /dev/null
+++ b/testing/py3-minikerberos/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-minikerberos
+_pyname=minikerberos
+pkgver=0.4.4
+pkgrel=1
+pkgdesc="Kerberos manipulation library in pure Python"
+url="https://github.com/skelsec/minikerberos"
+arch="noarch"
+license="MIT"
+depends="
+ py3-asn1crypto
+ py3-asysocks
+ py3-oscrypto
+ py3-six
+ py3-tqdm
+ py3-unicrypto
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/minikerberos/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # test suite requires connection to a KDC service (see /tests/config.py)
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+ rm -rf "$pkgdir"/usr/lib/python3.*/site-packages/tests/ # remove tests
+}
+
+sha512sums="
+3e7e5e464eaf2c0b94e11ead13a1d2fd56e45a36fb9592aaa5d6de4beeecb8960df523ab647b1e9ab0e8104cec557803bd3dbfa1ae1dbf3333f4ecbd4d6fa198 py3-minikerberos-0.4.4.tar.gz
+"
diff --git a/testing/py3-minio/APKBUILD b/testing/py3-minio/APKBUILD
new file mode 100644
index 00000000000..6080669f60d
--- /dev/null
+++ b/testing/py3-minio/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=py3-minio
+pkgver=7.2.0
+pkgrel=1
+pkgdesc="MinIO client SDK for Python"
+url="https://docs.min.io/docs/python-client-quickstart-guide.html"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-certifi py3-urllib3 py3-argon2-cffi py3-pycryptodome"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/minio/minio-py/archive/$pkgver/py3-minio-$pkgver.tar.gz
+ assertEquals.patch
+ "
+builddir="$srcdir/minio-py-$pkgver"
+
+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="
+13d6771043538a5eb4108e693e8135ecaae0aea23492fab735b0de921ac575528a72520356281da0bbaf0b56cfef0026d7d51b64ad30881d8cdb67f9723be424 py3-minio-7.2.0.tar.gz
+31b52c6250fa31347aeae234e62978312163f8c5a7b407521000c966a908260b3578108473f26170238b8fd0d88690df7ed861012933dc96f0948d9d16899298 assertEquals.patch
+"
diff --git a/testing/py3-minio/assertEquals.patch b/testing/py3-minio/assertEquals.patch
new file mode 100644
index 00000000000..ab1abf1e678
--- /dev/null
+++ b/testing/py3-minio/assertEquals.patch
@@ -0,0 +1,9 @@
+diff --git a/tests/unit/crypto_test.py b/tests/unit/crypto_test.py
+index 367399a..ae7846c 100644
+--- a/tests/unit/crypto_test.py
++++ b/tests/unit/crypto_test.py
+@@ -27,3 +27,3 @@ class CryptoTest(TestCase):
+ decrypted = decrypt(encrypted, secret).decode()
+- self.assertEquals(plaintext, decrypted)
++ self.assertEqual(plaintext, decrypted)
+
diff --git a/testing/py3-mistletoe/APKBUILD b/testing/py3-mistletoe/APKBUILD
new file mode 100644
index 00000000000..337f38d6e19
--- /dev/null
+++ b/testing/py3-mistletoe/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=py3-mistletoe
+_pkgname="${pkgname#py3-}"
+pkgver=1.2.1
+pkgrel=1
+pkgdesc="markdown parser in pure Python, designed to be fast, spec-compliant and fully customizable"
+url="https://github.com/miyuchina/mistletoe"
+arch="noarch"
+license="MIT"
+depends="py3-pygments"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest py3-requests py3-yaml py3-parameterized"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/miyuchina/mistletoe/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+a6dc5dc021d001a0b34a4d6cb5007ef55958b93d143937ecde07602aaf25e3a9c3116be2ed8f8cd90353524cf8d4058239f4018b726bec007b13d917e6deefac py3-mistletoe-1.2.1.tar.gz
+"
diff --git a/testing/py3-mitmproxy-rs/APKBUILD b/testing/py3-mitmproxy-rs/APKBUILD
new file mode 100644
index 00000000000..5d80b743efa
--- /dev/null
+++ b/testing/py3-mitmproxy-rs/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=py3-mitmproxy-rs
+pkgver=0.5.1
+pkgrel=0
+pkgdesc="mitmproxy modules written in Rust"
+url="https://github.com/mitmproxy/mitmproxy_rs"
+license="MIT"
+arch="all !ppc64le !riscv64 !s390x" # fails to build ring crate
+makedepends="
+ cargo
+ py3-gpep517
+ py3-installer
+ py3-maturin
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/mitmproxy/mitmproxy_rs/archive/$pkgver/py3-mitmproxy-rs-$pkgver.tar.gz"
+builddir="$srcdir/mitmproxy_rs-$pkgver"
+options="net" # cargo
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cd mitmproxy-rs
+ gpep517 build-wheel \
+ --wheel-dir "$builddir"/.dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+e08f632f7acbff0c99cbac479ff2a6fee5f1343c3fe8f1ed0d749d13f159385eee1cdd28bb182e6ef9145957dbc66cd74ae8535c1551917062881aff22676969 py3-mitmproxy-rs-0.5.1.tar.gz
+"
diff --git a/testing/py3-mmh3/APKBUILD b/testing/py3-mmh3/APKBUILD
deleted file mode 100644
index c7132f60884..00000000000
--- a/testing/py3-mmh3/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-mmh3
-pkgver=3.0.0
-pkgrel=1
-pkgdesc="Python wrapper for MurmurHash (MurmurHash3), a set of fast and robust hash functions"
-url="https://github.com/hajimes/mmh3"
-arch="all"
-license="CC0-1.0"
-depends="python3"
-makedepends="python3-dev py3-setuptools"
-checkdepends="py3-numpy"
-subpackages="$pkgname-doc"
-source="mmh3-$pkgver.tar.gz::https://github.com/hajimes/mmh3/archive/v$pkgver.tar.gz"
-builddir="$srcdir/mmh3-$pkgver"
-
-# tests blocked by py3-numpy
-case "$CARCH" in
- mips*) options="!check";;
-esac
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$(echo $PWD/build/lib.*)" python3 test_mmh3.py
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="
-40ef0a477b18544a4353c45cd5444039e2f79a3a047a6f5ba9c9595e45211429f94ba23402cd206a5edace618780b051d37c787fd1a9253df874015161011422 mmh3-3.0.0.tar.gz
-"
diff --git a/testing/py3-modbus-tk/APKBUILD b/testing/py3-modbus-tk/APKBUILD
new file mode 100644
index 00000000000..1d8408dfec1
--- /dev/null
+++ b/testing/py3-modbus-tk/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Guilherme Felipe da Silva <gfsilva.eng@gmail.com>
+# Maintainer: Guilherme Felipe da Silva <gfsilva.eng@gmail.com>
+pkgname=py3-modbus-tk
+_pkgname="${pkgname#py3-}"
+pkgver=1.1.1
+pkgrel=3
+pkgdesc="Create Modbus app easily with Python"
+url="https://github.com/ljean/modbus-tk"
+arch="noarch"
+license="LGPL-2.1-or-later"
+depends="python3 py3-pyserial"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/ljean/modbus-tk/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 -m unittest tests/unittest_*
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+sha512sums="
+9868a6720434a86da2f87dc53719bbd21595e0c2e20fe1acb5baf7dca18c7da2afd83a6f02d15947725967755f6f43eb60fa66deef7e3c907dfbfd6e22a48f84 modbus-tk-1.1.1.tar.gz
+"
diff --git a/testing/py3-mongo/APKBUILD b/testing/py3-mongo/APKBUILD
deleted file mode 100644
index e817733045b..00000000000
--- a/testing/py3-mongo/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Danilo Falcão <danilo@falcao.org>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-mongo
-_pkgname=pymongo
-pkgver=3.12.1
-pkgrel=1
-pkgdesc="Python3 driver for MongoDB"
-url="https://github.com/mongodb/mongo-python-driver"
-arch="all"
-license="Apache-2.0"
-makedepends="python3-dev py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-mongo" # Backwards compatibility
-provides="py-mongo=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-36294f9437c91e5ea744452e0dc1049be65706dced61a296dfae09d32e31aae0276da2bb059a5548569e6cde62f66b935f2a422f297a3eabf0b928cfee07d060 pymongo-3.12.1.tar.gz
-"
diff --git a/testing/py3-mopidy-jellyfin/APKBUILD b/testing/py3-mopidy-jellyfin/APKBUILD
new file mode 100644
index 00000000000..5a48f9fa6e8
--- /dev/null
+++ b/testing/py3-mopidy-jellyfin/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-mopidy-jellyfin
+_pyname=${pkgname#py3-}
+pkgver=1.0.4
+pkgrel=3
+pkgdesc="Mopidy extension for Jellyfin"
+url="https://github.com/jellyfin/mopidy-jellyfin"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ python3
+ mopidy
+ py3-pykka
+ py3-requests
+ py3-unidecode
+ py3-websocket-client
+ "
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="$_pyname-$pkgver.tar.gz::https://github.com/jellyfin/mopidy-jellyfin/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+# AttributeError: <class 'mopidy_jellyfin.remote.JellyfinHandler'> does not have the attribute '_get_token'
+options="!check"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+e78d61ab1c4029fcc472a55c30eb4f75d18427d5ca5759ea03bb1dcb6bf9626570c5e2a84f7727ec59be07dd5ce78c63228c08524e703042950f087ae3878823 mopidy-jellyfin-1.0.4.tar.gz
+"
diff --git a/testing/py3-mopidy-local/APKBUILD b/testing/py3-mopidy-local/APKBUILD
new file mode 100644
index 00000000000..dd380d6b5cc
--- /dev/null
+++ b/testing/py3-mopidy-local/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-mopidy-local
+_pyname=${pkgname#py3-}
+pkgver=3.2.1
+pkgrel=3
+pkgdesc="Mopidy extension for playing music from local music archive"
+url="https://github.com/mopidy/mopidy-local"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ mopidy
+ python3
+ py3-pykka
+ py3-uritools
+ "
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$_pyname-$pkgver.tar.gz::https://github.com/mopidy/mopidy-local/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # tests fail on CI
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 -m pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+2a34018306f9ca7b94e55c40f41e728329d10d6c530c58a7c5f58f6783b280069db27a1249e1d021126cda35be5f7cb1bc02affdd7b3eb7c77a4627fe588005f mopidy-local-3.2.1.tar.gz
+"
diff --git a/testing/py3-mopidy-mpd/APKBUILD b/testing/py3-mopidy-mpd/APKBUILD
index d2b8e9325a8..c7efe1c3922 100644
--- a/testing/py3-mopidy-mpd/APKBUILD
+++ b/testing/py3-mopidy-mpd/APKBUILD
@@ -2,30 +2,37 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-mopidy-mpd
_pyname=Mopidy-MPD
-pkgver=3.2.0
-pkgrel=1
+pkgver=3.3.0
+pkgrel=4
pkgdesc="Mopidy extension for controlling playback from MPD clients"
url="https://github.com/mopidy/mopidy-mpd"
arch="noarch"
license="Apache-2.0"
depends="python3 mopidy py3-pykka"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel py3-installer"
checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pyname%"${_pyname#?}"}/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # response verification fails
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-6d399491ec8c5e9e44a4ccc0054ee8aae01cdaad646de3ff58b02f30cce94fc55aa382d6e5c4cde59e78902c1ea76e827bf355fb091a5d647b3721e39f20f675 Mopidy-MPD-3.2.0.tar.gz
+a8d59e3c8908390603a275af6d8b6e5bd48fcb2dd35e97d3313d0384bb31f97e832513432a95b1dec8bafba67c7a54170c55caef5f3db8fc5256d0814fda3121 Mopidy-MPD-3.3.0.tar.gz
"
diff --git a/testing/py3-mopidy-spotify/APKBUILD b/testing/py3-mopidy-spotify/APKBUILD
new file mode 100644
index 00000000000..43fd8dac5d9
--- /dev/null
+++ b/testing/py3-mopidy-spotify/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-mopidy-spotify
+pkgver=5.0.0_alpha2
+pkgrel=0
+pkgdesc="Mopidy extension for playing music from Spotify"
+url="https://mopidy.com/ext/spotify/"
+# armhf armv7 ppc64le riscv64 s390x x86 blocked by gst-plugins-rs
+arch="noarch !armhf !armv7 !ppc64le !riscv64 !s390x !x86"
+license="Apache-2.0"
+depends="
+ gst-plugins-rs
+ mopidy
+ py3-responses
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mopidy/mopidy-spotify/archive/refs/tags/v${pkgver//_alpha/a}.tar.gz"
+builddir="$srcdir/mopidy-spotify-${pkgver//_alpha/a}"
+
+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="
+6321a908bb5b5b8d4c7938cdcaa9110fef7b2f42e295f93788640fdca238448adc8aacdd4a8a926e5387f91b8b2b9f1de4d7b0ca4482e7fd87811fbb5a72e5b5 py3-mopidy-spotify-5.0.0_alpha2.tar.gz
+"
diff --git a/testing/py3-mopidy-tidal/APKBUILD b/testing/py3-mopidy-tidal/APKBUILD
new file mode 100644
index 00000000000..adb71bf4d29
--- /dev/null
+++ b/testing/py3-mopidy-tidal/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=py3-mopidy-tidal
+_pyname=Mopidy-Tidal
+pkgver=0.3.2
+pkgrel=5
+pkgdesc="Mopidy extension for Tidal music service integration"
+url="https://github.com/tehkillerbee/mopidy-tidal"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ gst-plugins-bad
+ mopidy
+ py3-pykka
+ py3-requests
+ py3-tidalapi
+ py3-typing-extensions
+ python3
+ "
+makedepends="py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-mock py3-dateutil"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest tests
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+8ef77615cb33889c3743ef024a383466c64e7e8e88924c5a31e93918e1fe599e72bb409e6c1aa4a1f8b35342e3ca7a73aab32deb8a25a0ec8790348ccc7ccb23 Mopidy-Tidal-0.3.2.tar.gz
+"
diff --git a/testing/py3-more-properties/APKBUILD b/testing/py3-more-properties/APKBUILD
new file mode 100644
index 00000000000..852d80564c7
--- /dev/null
+++ b/testing/py3-more-properties/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=py3-more-properties
+pkgver=1.1.1
+pkgrel=3
+pkgdesc="Collection of property variants"
+url="https://github.com/madman-bob/python-more-properties"
+arch="noarch"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest-forked
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/madman-bob/python-more-properties/archive/refs/tags/$pkgver.tar.gz
+ root.patch
+ "
+builddir="$srcdir/python-more-properties-$pkgver/"
+
+prepare() {
+ default_prepare
+
+ # fixup location
+ mv pypi_upload/setup.py .
+}
+
+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 -n auto --forked
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+fed395bccc4aacb38c976e6a7d15079e37850d134d8e1864d625aa120c857ace71deaf159b4a2c6d559121fcbff7e9d8be905de0dfa93425bc547f8cd8349fc6 py3-more-properties-1.1.1.tar.gz
+99ca365084b2c0f1e0e1bf8b2fea1b8b4a3f86263112b0acc37abb15cefef4c23cd98fb6f13c33fcad603dc9c90c5a04ac8f467eba3b74572d742f15508d2d88 root.patch
+"
diff --git a/testing/py3-more-properties/root.patch b/testing/py3-more-properties/root.patch
new file mode 100644
index 00000000000..a9993d8825e
--- /dev/null
+++ b/testing/py3-more-properties/root.patch
@@ -0,0 +1,15 @@
+diff --git a/pypi_upload/setup.py b/pypi_upload/setup.py
+index 9de24a4..44b8064 100644
+--- a/pypi_upload/setup.py
++++ b/pypi_upload/setup.py
+@@ -6,8 +6,8 @@ from pathlib import Path
+ from setuptools import find_packages, setup
+ from setuptools.command.install import install
+
+-project_root = Path(__file__).parents[1]
+-
++import pathlib
++project_root = pathlib.Path().resolve()
+
+ class VerifyCommand(install):
+ """Custom command to verify module integrity"""
diff --git a/testing/py3-moviepy/APKBUILD b/testing/py3-moviepy/APKBUILD
index 4a17aa0680f..b54a1f3b326 100644
--- a/testing/py3-moviepy/APKBUILD
+++ b/testing/py3-moviepy/APKBUILD
@@ -1,14 +1,16 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=py3-moviepy
pkgver=1.0.3
-pkgrel=1
+pkgrel=4
pkgdesc="Video editing with Python"
url="https://zulko.github.io/moviepy/"
-arch="noarch !ppc64le !mips64" # blocked by py3-imageio
+arch="noarch !s390x !ppc64le" # blocked by py3-imageio
license="MIT"
-depends="ffmpeg py3-proglog py3-imageio py3-decorator py3-numpy py3-pillow"
+depends="py3-requests py3-proglog py3-imageio py3-imageio-ffmpeg py3-decorator py3-tqdm"
makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Zulko/moviepy/archive/v$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Zulko/moviepy/archive/v$pkgver.tar.gz
+ decorators.patch"
builddir="$srcdir/moviepy-$pkgver"
options="!check" # No tests, require network connection
@@ -19,7 +21,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="24490b41fde6aacc202256254032e9993ef35cb2a5d09844509107ed31959bfed6105285a6c21196cdd63a3270d6f538d32305c1525dc769d07504a8178f66f9 py3-moviepy-1.0.3.tar.gz"
+sha512sums="
+24490b41fde6aacc202256254032e9993ef35cb2a5d09844509107ed31959bfed6105285a6c21196cdd63a3270d6f538d32305c1525dc769d07504a8178f66f9 py3-moviepy-1.0.3.tar.gz
+d79b0a461e47d29af319b53601493466e82321121d30a951ad31d8d0431499e360b5ad33a903908555ad75dce3734a4cef9c2aed64c5769b484302d50bbd886e decorators.patch
+"
diff --git a/testing/py3-moviepy/decorators.patch b/testing/py3-moviepy/decorators.patch
new file mode 100644
index 00000000000..80732fe8ef5
--- /dev/null
+++ b/testing/py3-moviepy/decorators.patch
@@ -0,0 +1,47 @@
+commit 2ea1de64553d610a2fdd1abe54dba6797a49a5e4
+Author: Daniel Mizyrycki <mzdaniel@glidelink.net>
+Date: Sat Sep 24 16:33:28 2022 -0700
+
+ Update code introspection logic in decorators
+
+diff --git a/moviepy/decorators.py b/moviepy/decorators.py
+index 277276c..3bce1ac 100644
+--- a/moviepy/decorators.py
++++ b/moviepy/decorators.py
+@@ -2,6 +2,7 @@
+ all decorators used in moviepy go there
+ """
+
++import inspect
+ import decorator
+
+ from moviepy.tools import cvsecs
+@@ -76,12 +77,7 @@ def preprocess_args(fun,varnames):
+ """ Applies fun to variables in varnames before launching the function """
+
+ def wrapper(f, *a, **kw):
+- if hasattr(f, "func_code"):
+- func_code = f.func_code # Python 2
+- else:
+- func_code = f.__code__ # Python 3
+-
+- names = func_code.co_varnames
++ names = inspect.getfullargspec(f).args
+ new_a = [fun(arg) if (name in varnames) else arg
+ for (arg, name) in zip(a, names)]
+ new_kw = {k: fun(v) if k in varnames else v
+@@ -120,12 +116,7 @@ def use_clip_fps_by_default(f, clip, *a, **k):
+ " the clip's fps with `clip.fps=24`" % f.__name__)
+
+
+- if hasattr(f, "func_code"):
+- func_code = f.func_code # Python 2
+- else:
+- func_code = f.__code__ # Python 3
+-
+- names = func_code.co_varnames[1:]
++ names = inspect.getfullargspec(f).args[1:]
+
+ new_a = [fun(arg) if (name=='fps') else arg
+ for (arg, name) in zip(a, names)]
+
diff --git a/testing/py3-mpd2/APKBUILD b/testing/py3-mpd2/APKBUILD
index 6bce2a01eeb..1e88c4e31f3 100644
--- a/testing/py3-mpd2/APKBUILD
+++ b/testing/py3-mpd2/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-mpd2
_pyname=python-mpd2
-pkgver=3.0.4
-pkgrel=2
+pkgver=3.1.1
+pkgrel=1
pkgdesc="python client interface for MPD"
url="https://github.com/Mic92/python-mpd2"
arch="noarch"
@@ -11,6 +11,7 @@ license="LGPL-3.0-only"
depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-mock py3-twisted"
+subpackages="$pkgname-pyc"
source="$_pyname-$pkgver.tar.gz::https://github.com/Mic92/python-mpd2/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -23,6 +24,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="7adf0daf64c6132dcd4d347f0772e9cbef903f9f5fba5315b745708dd2179090f53c5303b7ce905c685076861d21f7a14951e598c88eb65be423dea627dbb26a python-mpd2-3.0.4.tar.gz"
+
+sha512sums="
+abd882bc0652ed4a8ee2f4abf0a039e7c62e77b35d278c5fc99bb032c220caac831cc483445516044964f2ea078d2134af61c64d55cb20770b4d32a5aa1ce5e2 python-mpd2-3.1.1.tar.gz
+"
diff --git a/testing/py3-msldap/APKBUILD b/testing/py3-msldap/APKBUILD
new file mode 100644
index 00000000000..77367ddefc4
--- /dev/null
+++ b/testing/py3-msldap/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-msldap
+_pyname=msldap
+pkgver=0.5.10
+pkgrel=1
+pkgdesc="Python library to play with MS LDAP"
+url="https://github.com/skelsec/msldap"
+arch="noarch"
+license="MIT"
+depends="
+ py3-asn1crypto
+ py3-asyauth
+ py3-asysocks
+ py3-minikerberos
+ py3-prompt_toolkit
+ py3-tqdm
+ py3-unicrypto
+ py3-wcwidth
+ py3-winacl
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/msldap/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+8b96a46d2b685dc30078c476bab75bcb925668784a2e7bf8980d174d7b0bffb0ff5bd7044bccd5f0b1f4a621d33d6f0cf41027f49979f4f13b466ba2012b82e5 py3-msldap-0.5.10.tar.gz
+"
diff --git a/testing/py3-murmurhash/APKBUILD b/testing/py3-murmurhash/APKBUILD
deleted file mode 100644
index 943d34c8b42..00000000000
--- a/testing/py3-murmurhash/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-murmurhash
-pkgver=1.0.5
-pkgrel=2
-pkgdesc="Cython bindings for MurmurHash2"
-options="!check" # Requires older version of pytest
-url="https://github.com/explosion/murmurhash"
-arch="all"
-license="MIT"
-depends="python3"
-makedepends="python3-dev py3-setuptools cython"
-checkdepends="py3-pytest py3-mmh3"
-subpackages="$pkgname-doc"
-source="murmurhash-$pkgver.tar.gz::https://github.com/explosion/murmurhash/archive/v$pkgver.tar.gz"
-builddir="$srcdir/murmurhash-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$(echo $PWD/build/lib.*)" pytest-3 murmurhash
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 README.md -t "$pkgdir"/usr/share/doc/$pkgname
-}
-
-sha512sums="08cd5ee332d93238b64a8fcb0017c9ba8dcc45821c77b4650cb5ea55d7534b33fcb044404cb4b9be2e2dc6dcb19d6efaf0aee1d523b635188bd1124a761675ad murmurhash-1.0.5.tar.gz"
diff --git a/testing/py3-nanoid/APKBUILD b/testing/py3-nanoid/APKBUILD
new file mode 100644
index 00000000000..b4aa4e19618
--- /dev/null
+++ b/testing/py3-nanoid/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-nanoid
+_pyname=${pkgname/py3-/}
+pkgver=2.0.0
+pkgrel=2
+pkgdesc="Tiny, secure, URL-friendly, unique string ID generator for Python"
+url="https://github.com/puyuan/py-nanoid"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$_pyname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/n/nanoid/nanoid-$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # No test included in the source tarball
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="
+7db65075357feb19c4747be9abca1a19a2b8583f82cdcae87f06846141d798a725128ee784ce33cd3b14b272c0beb2dcac0faf4536e8d5183eaa06eab79fff87 nanoid-2.0.0.tar.gz
+"
diff --git a/testing/py3-natpmp/APKBUILD b/testing/py3-natpmp/APKBUILD
new file mode 100644
index 00000000000..2623abab977
--- /dev/null
+++ b/testing/py3-natpmp/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=py3-natpmp
+pkgver=1.3.2
+pkgrel=1
+pkgdesc="NAT-PMP client library for Python"
+url="https://github.com/jaraco/nat-pmp"
+arch="noarch"
+license="MIT"
+depends="py3-netifaces"
+makedepends="
+ py3-gpep517
+ py3-setuptools_scm
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jaraco/nat-pmp/archive/v$pkgver.tar.gz"
+builddir="$srcdir"/nat-pmp-$pkgver
+options="!check" # no tests
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+92e211038042c0d8ea07b4d69c4e9c40abdcd7bcb3b21d14ba6cb98104d13606acf14a227af1754d4378791a22e6651e2333f97036bab41c36f688ce7935a8af py3-natpmp-1.3.2.tar.gz
+"
diff --git a/testing/py3-ncclient/APKBUILD b/testing/py3-ncclient/APKBUILD
index eb0e7c85976..134e942a444 100644
--- a/testing/py3-ncclient/APKBUILD
+++ b/testing/py3-ncclient/APKBUILD
@@ -1,20 +1,29 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer:
pkgname=py3-ncclient
-pkgver=0.6.12
-pkgrel=1
+pkgver=0.6.13
+pkgrel=4
pkgdesc="Library for NETCONF clients"
url="https://github.com/ncclient/ncclient"
arch="noarch"
license="Apache-2.0"
depends="py3-lxml py3-paramiko py3-six py3-setuptools"
+makedepends="py3-python-versioneer"
checkdepends="py3-mock py3-nose"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/ncclient/ncclient/archive/v$pkgver.tar.gz"
builddir="$srcdir"/ncclient-$pkgver
replaces="py-ncclient" # Backwards compatibility
provides="py-ncclient=$pkgver-r$pkgrel" # Backwards compatibility
+prepare() {
+ default_prepare
+
+ # unvendor
+ rm versioneer.py
+}
+
build() {
python3 setup.py build
}
@@ -24,9 +33,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-ba1547579c830733f2f450ecafaf146a364b3a123f4cb0a3395e0ed19ad31025823b928d06acb537a531203a5ac65fc757b6fb34fefdde0f1e357e5f57bf73d0 py3-ncclient-0.6.12.tar.gz
+650d07477d48cd209ef758ebd1716e48c4021c3d681f0ce2e9065ca5f34ace82079f5577884d26fc99e552c6f4cd7b59a9bf8866008e7b2985f1d8b23cc8d61f py3-ncclient-0.6.13.tar.gz
"
diff --git a/testing/py3-netdisco/APKBUILD b/testing/py3-netdisco/APKBUILD
deleted file mode 100644
index 1f88832a2d5..00000000000
--- a/testing/py3-netdisco/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-netdisco
-_pkgname=netdisco
-pkgver=2.8.2
-pkgrel=2
-pkgdesc="Python library to scan local network for services and devices"
-url="https://github.com/home-assistant/netdisco/"
-arch="noarch"
-license="Apache-2.0"
-depends="py3-zeroconf py3-requests python3"
-checkdepends="py3-pytest"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="668d3549ff26a5dff20546bdb7bb084f5660b7190d7e0c177319c43f79e5bfa57a259ba5a11c6970ba251c76f4be46d6307996c341d7d0bcdebb9ccad53173db netdisco-2.8.2.tar.gz"
diff --git a/testing/py3-netifaces2/APKBUILD b/testing/py3-netifaces2/APKBUILD
new file mode 100644
index 00000000000..610b1a80f3a
--- /dev/null
+++ b/testing/py3-netifaces2/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=py3-netifaces2
+pkgver=0.0.22
+pkgrel=0
+pkgdesc="network interface information 2: oxidized"
+url="https://github.com/SamuelYvon/netifaces-2"
+arch="all"
+license="MIT"
+makedepends="
+ cargo
+ py3-gpep517
+ py3-maturin
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+options="net"
+subpackages="$pkgname-pyc"
+source="
+ https://github.com/SamuelYvon/netifaces-2/archive/V$pkgver/py3-netifaces2-V$pkgver.tar.gz
+ "
+builddir="$srcdir/netifaces-2-$pkgver"
+provides="py3-netifaces"
+replaces="py3-netifaces"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked
+}
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --config-json '{"build-args": "--frozen"}' \
+ --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="
+eb188ef1ac16a59ca05b8c94aee380a6e55d2dc78271967a29db5b3528b55057ce4d19ed2ac64dba9a731a64ddaebb627654773012105bcf7a9e5440936aefea py3-netifaces2-V0.0.22.tar.gz
+"
diff --git a/testing/py3-netmiko/APKBUILD b/testing/py3-netmiko/APKBUILD
index 2da3b4d5234..7b938873710 100644
--- a/testing/py3-netmiko/APKBUILD
+++ b/testing/py3-netmiko/APKBUILD
@@ -2,30 +2,31 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-netmiko
_pkgname=netmiko
-pkgver=3.4.0
+pkgver=4.3.0
pkgrel=1
pkgdesc="Multi-vendor library to simplify Paramiko SSH connections to network devices"
url="https://github.com/ktbyers/netmiko"
arch="noarch"
license="MIT"
depends="openssh-client py3-yaml py3-paramiko py3-scp python3"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ktbyers/$_pkgname/archive/v$pkgver.tar.gz"
+options="!check" # no textfsm package available
+makedepends="py3-gpep517 py3-setuptools py3-wheel poetry"
+checkdepends="py3-pytest py3-pyserial"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ktbyers/netmiko/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-netmiko" # Backwawrds compatibility
-provides="py-netmiko=$pkgver-r$pkgrel" # Backwards compatibility
-
-check() {
- python3 setup.py check
-}
-
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="8d34246a8fa9228fcbba97872bcad9d86eec1b743c9452247091d5c6b629d9dbb1deca7e0848672fcacb7de3cb3e14d2079975becdb1e2ee16cf10a4d717456a py3-netmiko-3.4.0.tar.gz"
+sha512sums="
+e3f1ad4cee212687247687ac17e413f4f738a20eac34cfe0ca538ec3c8152d0dbc27441dd0fbb7325eb61cef56ab44ffeb2e4604475464758690b0909ee1d3b8 py3-netmiko-4.3.0.tar.gz
+"
diff --git a/testing/py3-nikola/APKBUILD b/testing/py3-nikola/APKBUILD
index d5c429df84a..3d35c003db3 100644
--- a/testing/py3-nikola/APKBUILD
+++ b/testing/py3-nikola/APKBUILD
@@ -2,38 +2,44 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-nikola
_pyname=Nikola
-pkgver=8.1.3
+pkgver=8.3.0
pkgrel=2
pkgdesc="Modular, fast, simple, static python website generator"
options="!check" # Tests require more packages
url="https://getnikola.com"
# armv7, armhf, s390x, x86: py3-piexif
-# aarch64: py3-inotify
-# mips64 blocked by py3-doit
-arch="noarch !armv7 !armhf !s390x !x86 !aarch64 !mips64"
+arch="noarch !armv7 !armhf !s390x !x86"
license="MIT"
depends="py3-babel py3-blinker py3-doit py3-dateutil py3-docutils py3-logbook
py3-lxml py3-mako py3-markdown py3-natsort py3-piexif py3-pillow
py3-pygments py3-pyphen py3-pyrss2gen py3-requests py3-unidecode py3-yapsy
"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
source="https://files.pythonhosted.org/packages/source/N/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir"/$_pyname-$pkgver
-replaces="py-nikola" # Backwards compatibility
+replaces="py-nikola" # Backwards compatibility
provides="py-nikola=$pkgver-r$pkgrel" # Backwards compatibility
+subpackages="$pkgname-doc $pkgname-pyc"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- py.test-3 -c /dev/null
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
}
-sha512sums="7b6a8391d023a339125392082cc3d2ea2a2fe25b8938bd82b8c9efe0cbb3e8b83537f1bd00d97a648e3fc2b096e673702026fa3942ab9c97e76bf21b5afefe16 Nikola-8.1.3.tar.gz"
+sha512sums="
+9b25eb90fa560b45e8cd0b03f24523859548353f2a4d2ac91b23b05bfb614d20456bb71f1aaa5702b6d6ab7980696aeb2f5ccc3c00ebc648cfcad49619481247 Nikola-8.3.0.tar.gz
+"
diff --git a/testing/py3-nmap/APKBUILD b/testing/py3-nmap/APKBUILD
index db8602e93f3..eee0a019203 100644
--- a/testing/py3-nmap/APKBUILD
+++ b/testing/py3-nmap/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-nmap
_pkgname=nmap
pkgver=0.7.1
-pkgrel=0
+pkgrel=3
pkgdesc="Python3 class to use nmap and access scan results"
options="!check" # tests prompt for doas password (wtf)
url="http://xael.org/pages/python-nmap-en.html"
@@ -12,6 +12,7 @@ license="GPL-3.0-or-later"
depends="nmap"
makedepends="py3-setuptools"
checkdepends="py3-nose"
+subpackages="$pkgname-pyc"
source="http://xael.org/pages/python-$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/python-$_pkgname-$pkgver
@@ -27,7 +28,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-nose-of-yeti/APKBUILD b/testing/py3-nose-of-yeti/APKBUILD
new file mode 100644
index 00000000000..17d95747933
--- /dev/null
+++ b/testing/py3-nose-of-yeti/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-nose-of-yeti
+pkgver=2.4.8
+pkgrel=1
+pkgdesc="Nose plugin that provides an RSpec inspired dsl for python"
+url="https://noseofyeti.readthedocs.io/"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-gpep517 py3-hatchling py3-installer"
+checkdepends="py3-pytest py3-pytest-helpers-namespace py3-pytest-asyncio"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/delfick/nose-of-yeti/archive/refs/tags/release-$pkgver.tar.gz
+ use-pytest-asyncio.patch
+ "
+builddir="$srcdir/nose-of-yeti-release-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages test-env
+ test-env/bin/python3 -m installer .dist/*.whl
+ test-env/bin/python3 -m pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+b0fd267e90ec73713f4f3ce9482b93e1cc4f36dfae3bbce12dac4e9fb2851b620f8d996f0567327f1517bc4cbe5a3c634edc2341ac6ba73e785e89aa94c43dde py3-nose-of-yeti-2.4.8.tar.gz
+8c834594f02b5a98645c717b4de21ccd33f7f9d70be7f38b1745a405c2078ebc168cc72309698457811631e72f96e1e8a6ebd063d7e697390bfbed6cb850e55c use-pytest-asyncio.patch
+"
diff --git a/testing/py3-nose-of-yeti/use-pytest-asyncio.patch b/testing/py3-nose-of-yeti/use-pytest-asyncio.patch
new file mode 100644
index 00000000000..739a20e26ad
--- /dev/null
+++ b/testing/py3-nose-of-yeti/use-pytest-asyncio.patch
@@ -0,0 +1,20 @@
+diff --git a/tests/for_pytest_plugin/test_two.py b/tests/for_pytest_plugin/test_two.py
+index 4f24a43..acd1668 100644
+--- a/tests/for_pytest_plugin/test_two.py
++++ b/tests/for_pytest_plugin/test_two.py
+@@ -27,6 +27,7 @@ describe "one":
+ def collector(self):
+ return 3
+
++ @pytest.mark.asyncio
+ async it "seven", register, collector:
+ assert register == 2
+ assert collector == 3
+@@ -37,6 +38,7 @@ describe "one":
+ def collector(self):
+ return 4
+
++ @pytest.mark.asyncio
+ async it "nine", register, collector:
+ assert register == 2
+ assert collector == 4
diff --git a/testing/py3-nose-timer/APKBUILD b/testing/py3-nose-timer/APKBUILD
index a21f954b9a9..39828cbbc3b 100644
--- a/testing/py3-nose-timer/APKBUILD
+++ b/testing/py3-nose-timer/APKBUILD
@@ -3,15 +3,18 @@
pkgname=py3-nose-timer
_pkgname=nose-timer
pkgver=1.0.1
-pkgrel=2
+pkgrel=5
pkgdesc="timer plugin for nosetests that answers the question: how much time does every test take?"
url="https://github.com/mahmoudimus/nose-timer/"
-arch="noarch !mips !mips64" # blocked by py3-parameterized
+arch="noarch"
license="MIT"
depends="py3-nose"
makedepends="py3-setuptools"
-checkdepends="py3-coverage py3-mock py3-parameterized py3-termcolor"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mahmoudimus/nose-timer/archive/v$pkgver.tar.gz"
+checkdepends="py3-coverage py3-mock py3-parameterized py3-termcolor py3-colorama"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mahmoudimus/nose-timer/archive/v$pkgver.tar.gz
+ assertEquals.patch
+ "
builddir="$srcdir/"$_pkgname-$pkgver
build() {
@@ -19,11 +22,14 @@ build() {
}
check() {
- python3 setup.py test
+ FORCE_COLOR=1 python3 setup.py test
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="ee6b6378998db06892959056916750b094546cc2fbef32cfbdad9dd7b941c21d20eb31eab3f4a32de29b66ba5a33312dd97423778057eee24c861488c110afc7 py3-nose-timer-1.0.1.tar.gz"
+sha512sums="
+ee6b6378998db06892959056916750b094546cc2fbef32cfbdad9dd7b941c21d20eb31eab3f4a32de29b66ba5a33312dd97423778057eee24c861488c110afc7 py3-nose-timer-1.0.1.tar.gz
+822f06d74be76170980076a2fca0336dea76b5988acc55528f688a1587f2fc454018bc7ae39098fd9f7da7348f69d91274d84c7d6e48235c171b50787b081bb4 assertEquals.patch
+"
diff --git a/testing/py3-nose-timer/assertEquals.patch b/testing/py3-nose-timer/assertEquals.patch
new file mode 100644
index 00000000000..35fb93ab0f8
--- /dev/null
+++ b/testing/py3-nose-timer/assertEquals.patch
@@ -0,0 +1,9 @@
+diff --git a/tests/test_plugin.py b/tests/test_plugin.py
+index 20cbcf2..da82e01 100644
+--- a/tests/test_plugin.py
++++ b/tests/test_plugin.py
+@@ -105,3 +105,3 @@ class TestTimerPlugin(unittest.TestCase):
+ self.assertTrue(hasattr(self.plugin, '_timer'))
+- self.assertNotEquals(self.plugin._time_taken(), 0.0)
++ self.assertNotEqual(self.plugin._time_taken(), 0.0)
+
diff --git a/testing/py3-notifymail/APKBUILD b/testing/py3-notifymail/APKBUILD
index 1cbd3f622c6..1da42226907 100644
--- a/testing/py3-notifymail/APKBUILD
+++ b/testing/py3-notifymail/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-notifymail
_pkgname=notifymail
pkgver=1.1
-pkgrel=4
+pkgrel=7
pkgdesc="A Python module to send emails"
url="https://github.com/davidfstr/notifymail/"
arch="noarch"
@@ -12,6 +12,7 @@ replaces="py-notifymail" # for backwards compatibility
provides="py-notifymail=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
makedepends="python3-dev py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,7 +23,7 @@ build() {
package() {
cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="f06bf000c0855c852bc4fccfb5da5c625bbabe334640dc6557e6518a5657b61ec2fd546cb92ef63cb66b64c6ce469cfb94da21f844e1c6934cc1339a08fe3f1a notifymail-1.1.tar.gz"
diff --git a/testing/py3-nptyping/APKBUILD b/testing/py3-nptyping/APKBUILD
new file mode 100644
index 00000000000..cd484758d90
--- /dev/null
+++ b/testing/py3-nptyping/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=py3-nptyping
+_pyname=nptyping
+pkgver=2.5.0
+pkgrel=2
+pkgdesc="Type hints for Numpy"
+url="https://github.com/ramonhagenaars/nptyping"
+arch="noarch"
+license="MIT"
+depends="python3 py3-numpy"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest py3-typeguard py3-beartype py3-mypy py3-wheel py3-pandas"
+subpackages="$pkgname-pyc"
+source="$_pyname-$pkgver.tar.gz::https://github.com/ramonhagenaars/nptyping/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # FIXME! also look into the ignored tests below
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ # disable tests which require network or pyright (python wrapper for the type
+ # checker implemented in js, which just downloads it using npx)
+ #
+ # mypy tests are currently broken as pandas doesn't package type hints
+ pytest \
+ --ignore tests/test_wheel.py \
+ --ignore tests/test_package_info.py \
+ --ignore tests/test_pyright.py \
+ --ignore tests/pandas_/test_fork_sync.py \
+ --ignore tests/test_mypy.py \
+ --ignore tests/pandas_/test_mypy_dataframe.py \
+ --ignore tests/test_beartype.py
+
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+sha512sums="
+2cde9c5f7694d4f916b85c93b86df7f72709a70b2ffa91b7bbc98c5884236f5b36bb545a89c37e8c02a9b460065c97151d77c64f8d93b92fd93bcff406f039d9 nptyping-2.5.0.tar.gz
+"
diff --git a/testing/py3-ntplib/APKBUILD b/testing/py3-ntplib/APKBUILD
index 2ef88f0cd8c..55581b71675 100644
--- a/testing/py3-ntplib/APKBUILD
+++ b/testing/py3-ntplib/APKBUILD
@@ -2,17 +2,18 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-ntplib
_pkgname=ntplib
-pkgver=0.3.4
-pkgrel=2
+pkgver=0.4.0
+pkgrel=4
pkgdesc="Python module that offers a simple interface to query NTP servers"
options="net" # Requires connecting to pool.ntp.org
-url="https://pypi.python.org/pypi/ntplib"
+url="https://pypi.org/project/ntplib"
arch="noarch"
license="MIT"
replaces="py-ntplib" # for backwards compatibility
provides="py-ntplib=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
makedepends="python3-dev py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/cf-natali/ntplib/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -25,7 +26,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="368852f3fcc9e9a1c90340656bcf8e9b1143d62f616a1f177567eed419125466d572e57bac9a25465c775499cfb6b5ce1b1ee9a93c54e93667d751285757709e py3-ntplib-0.3.4.tar.gz"
+sha512sums="
+ad735b1bccc4dc149622423b2877dc1d4b461f245dd0bd5b0cf963918ea63806772783e03eb8a66c75934746981fbd28789f19efa339c87b2f83e8218ee4a4c3 py3-ntplib-0.4.0.tar.gz
+"
diff --git a/testing/py3-numpy-stl/APKBUILD b/testing/py3-numpy-stl/APKBUILD
new file mode 100644
index 00000000000..6ef430bd527
--- /dev/null
+++ b/testing/py3-numpy-stl/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Aiden Grossman <agrossman154@yahoo.com>
+# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
+pkgname=py3-numpy-stl
+pkgver=3.0.1
+pkgrel=2
+pkgdesc="Library for working with STLs"
+url="https://github.com/WoLpH/numpy-stl"
+# s390x: no py3-utils
+arch="noarch !s390x"
+license="BSD-3-Clause"
+depends="python3 py3-utils py3-numpy"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/wolph/numpy-stl/releases/download/v$pkgver/numpy-stl-$pkgver.tar.gz"
+builddir="$srcdir/numpy-stl-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ # deselected test needs xvfb-run and fails
+ pytest \
+ --deselect tests/test_ascii.py::test_use_with_qt_with_custom_locale_decimal_delimeter
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+d01abb8f54738600ce36c8c44e1392957061030e7accbbfa0352aea4a904323a96712099146b311ce9518f243317c25c47cfb30930469602c0ad439de9f43c5f py3-numpy-stl-3.0.1.tar.gz
+"
diff --git a/testing/py3-nwdiag/APKBUILD b/testing/py3-nwdiag/APKBUILD
index 58c6de04c41..d70f968885c 100644
--- a/testing/py3-nwdiag/APKBUILD
+++ b/testing/py3-nwdiag/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-nwdiag
_pkgname=nwdiag
-pkgver=2.0.0
+pkgver=3.0.0
pkgrel=2
pkgdesc="Generate network-diagram image file from spec-text file"
-url="https://pypi.python.org/pypi/nwdiag"
+url="https://pypi.org/project/nwdiag"
arch="noarch"
license="Apache-2.0"
depends="py3-funcparserlib py3-blockdiag py3-pillow"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -21,7 +22,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/rackdiag/tests
}
-sha512sums="b9064c56955c68074e6c9e262f90fadde5b0c9412d86e6fe3c7f76745638fb02a62ab720b515d3b81d1b896cac18df55622893d73380dfe003a4004b0b8b50e5 nwdiag-2.0.0.tar.gz"
+sha512sums="
+3443d2599c91c2e1a267172fe1c35ead18f733d4eebb7313597fdae3b8cac9cd8e0c2700750aef5b2a332851cc3e6a1942d3ffe165f55cdd68dc54430f0dd86f nwdiag-3.0.0.tar.gz
+"
diff --git a/testing/py3-onelogin/APKBUILD b/testing/py3-onelogin/APKBUILD
new file mode 100644
index 00000000000..db6bdbab51f
--- /dev/null
+++ b/testing/py3-onelogin/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
+# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
+pkgname=py3-onelogin
+_pkgname=onelogin-python-sdk
+pkgver=3.1.6
+pkgrel=1
+pkgdesc="OpenAPI Specification for OneLogin"
+url="https://github.com/onelogin/onelogin-python-sdk"
+license="MIT"
+arch="noarch"
+depends="
+ py3-dateutil
+ py3-urllib3
+ py3-frozendict
+ py3-typing-extensions
+ py3-certifi
+ "
+makedepends="
+ py3-setuptools
+ py3-gpep517
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ py3-pytest-cov
+ py3-pytest-randomly
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/onelogin/onelogin-python-sdk/archive/$pkgver.tar.gz"
+builddir="$srcdir"/$_pkgname-$pkgver
+subpackages="$pkgname-pyc"
+options="!check" # Failure due to factory-boy issues
+
+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 "$builddir"/.dist/*.whl
+ .testenv/bin/python3 -m pytest --cov=onelogin -v
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+44fccb05e82c55db82617c33cc0e2287699969d9a7f12a4992c0cd35c28b2215c66bef37849e45b5506df11524d1b143a2ab3ae16f001af51f0135c92d0801a4 py3-onelogin-3.1.6.tar.gz
+"
+
diff --git a/testing/py3-openapi-codec/APKBUILD b/testing/py3-openapi-codec/APKBUILD
index 438787ecbd1..2fb77ee4b43 100644
--- a/testing/py3-openapi-codec/APKBUILD
+++ b/testing/py3-openapi-codec/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-openapi-codec
_pkgname=python-openapi-codec
pkgver=1.3.2
-pkgrel=6
+pkgrel=9
pkgdesc="OpenAPI codec for Core API"
url="https://github.com/core-api/python-openapi-codec"
arch="noarch"
@@ -11,8 +11,10 @@ license="BSD-2-Clause"
depends="py3-core-api"
makedepends="py3-setuptools"
checkdepends="py3-coverage py3-pytest py3-jinja2 py3-pycodestyle py3-pyflakes"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/core-api/$_pkgname/archive/$pkgver.tar.gz
disable-flake8-tests-that-requires-pyflake15.patch
+ assertEquals.patch
"
replaces="py-openapi-codec" # Backwards compatibility
@@ -25,12 +27,15 @@ build() {
}
package() {
- python3 setup.py --quiet install --prefix=/usr --root="$pkgdir"
+ python3 setup.py --quiet install --skip-build --root="$pkgdir"
}
check() {
python3 runtests
}
-sha512sums="566c82643bd6ad3e9bc444ceb9a518cb8bdddc9239f43e8bcce69d3b425a9d62b5d56d56cbe685fb0d054c1c3e33a19b010d5f8b4469d1c98fd092742b17bb22 py3-openapi-codec-1.3.2.tar.gz
-6807f1d48f17bcec58642037e262246b818fb0e5d522606c46fbe343fd2c7d5388a40d29e6d361ad34d92611a1eb24e29cc78377472bd608503a71c8e8017363 disable-flake8-tests-that-requires-pyflake15.patch"
+sha512sums="
+566c82643bd6ad3e9bc444ceb9a518cb8bdddc9239f43e8bcce69d3b425a9d62b5d56d56cbe685fb0d054c1c3e33a19b010d5f8b4469d1c98fd092742b17bb22 py3-openapi-codec-1.3.2.tar.gz
+6807f1d48f17bcec58642037e262246b818fb0e5d522606c46fbe343fd2c7d5388a40d29e6d361ad34d92611a1eb24e29cc78377472bd608503a71c8e8017363 disable-flake8-tests-that-requires-pyflake15.patch
+187935b5c43b30089da2c467c5e0cf17a717f02ec78b9cea05ac5b0369086233ed6dc125d3eb4bf4011b9baa069e276a9bc77e965712f72e7884e995cdc00c8e assertEquals.patch
+"
diff --git a/testing/py3-openapi-codec/assertEquals.patch b/testing/py3-openapi-codec/assertEquals.patch
new file mode 100644
index 00000000000..3caba7c0518
--- /dev/null
+++ b/testing/py3-openapi-codec/assertEquals.patch
@@ -0,0 +1,43 @@
+diff --git a/tests/test_encode.py b/tests/test_encode.py
+index 429a9f0..b6ecf2a 100644
+--- a/tests/test_encode.py
++++ b/tests/test_encode.py
+@@ -22,3 +22,3 @@ class TestBasicInfo(TestCase):
+ }
+- self.assertEquals(self.swagger['info'], expected)
++ self.assertEqual(self.swagger['info'], expected)
+
+@@ -27,3 +27,3 @@ class TestBasicInfo(TestCase):
+ expected = '2.0'
+- self.assertEquals(self.swagger['swagger'], expected)
++ self.assertEqual(self.swagger['swagger'], expected)
+
+@@ -32,3 +32,3 @@ class TestBasicInfo(TestCase):
+ expected = 'www.example.com'
+- self.assertEquals(self.swagger['host'], expected)
++ self.assertEqual(self.swagger['host'], expected)
+
+@@ -37,3 +37,3 @@ class TestBasicInfo(TestCase):
+ expected = ['https']
+- self.assertEquals(self.swagger['schemes'], expected)
++ self.assertEqual(self.swagger['schemes'], expected)
+
+@@ -74,3 +74,3 @@ class TestPaths(TestCase):
+ }
+- self.assertEquals(self.swagger['paths'][self.path]['get'], expected)
++ self.assertEqual(self.swagger['paths'][self.path]['get'], expected)
+ expected = {
+@@ -85,3 +85,3 @@ class TestPaths(TestCase):
+ }
+- self.assertEquals(self.swagger['paths'][self.path]['post'], expected)
++ self.assertEqual(self.swagger['paths'][self.path]['post'], expected)
+
+@@ -99,3 +99,3 @@ class TestParameters(TestCase):
+ def test_expected_fields(self):
+- self.assertEquals(len(self.swagger), 1)
++ self.assertEqual(len(self.swagger), 1)
+ expected = {
+@@ -107,2 +107,2 @@ class TestParameters(TestCase):
+ }
+- self.assertEquals(self.swagger[0], expected)
++ self.assertEqual(self.swagger[0], expected)
diff --git a/testing/py3-openssh-wrapper/APKBUILD b/testing/py3-openssh-wrapper/APKBUILD
new file mode 100644
index 00000000000..81a767f3471
--- /dev/null
+++ b/testing/py3-openssh-wrapper/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-openssh-wrapper
+pkgver=0.5_git20130425
+_commit=bbae8f9085ee341ea9f34231c8b716aa0d9b3a49
+pkgrel=4
+pkgdesc="Python wrapper around OpenSSH client"
+url="https://github.com/NetAngels/openssh-wrapper"
+arch="noarch"
+license="BSD"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://github.com/NetAngels/openssh-wrapper/archive/$_commit/py3-openssh-wrapper-$pkgver.tar.gz"
+builddir="$srcdir/openssh-wrapper-$_commit"
+options="!check" # requires ssh daemon on localhost
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+7b41f37aa4051e62efda1014543e395e396b9ce5e5b4a291cc4af6b31331b634818ff040bc385834ac26432b5d83cd6ac1767ecfd89c8902fe1d07a0b725a3e5 py3-openssh-wrapper-0.5_git20130425.tar.gz
+"
diff --git a/testing/py3-openwisp-utils/APKBUILD b/testing/py3-openwisp-utils/APKBUILD
new file mode 100644
index 00000000000..8e992c52431
--- /dev/null
+++ b/testing/py3-openwisp-utils/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Alex Denes <caskd@redxen.eu>
+# Maintainer: Alex Denes <caskd@redxen.eu>
+_pkgname=openwisp-utils
+pkgname="py3-$_pkgname"
+pkgver=1.0.4
+pkgrel=2
+pkgdesc="Python and Django utilities shared between different openwisp modules"
+url="https://github.com/openwisp/openwisp-utils"
+arch="noarch"
+license="BSD-3-Clause"
+depends="
+ py3-django-compress-staticfiles
+ py3-django-filter
+ py3-django-model-utils
+ py3-django-rest-framework
+ py3-drf-yasg
+ py3-swapper
+ python3
+"
+checkdepends="
+ py3-openwisp-controller
+"
+makedepends="py3-setuptools_scm"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/openwisp/openwisp-utils/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # circular dependency caused by testing suite (controller <=> utils)
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 runtests.py
+}
+
+package() {
+ python3 setup.py install --root "$pkgdir"
+}
+
+sha512sums="
+3ea32fc87f789a94221154ab17893b04d59f58cc542b6315117895195c019356a8a41495a77f28c382425e246c536c78ad2e5196fd01ed3b5e4d6923879be1ab py3-openwisp-utils-1.0.4.tar.gz
+"
diff --git a/testing/py3-optuna/APKBUILD b/testing/py3-optuna/APKBUILD
new file mode 100644
index 00000000000..69c05fd357f
--- /dev/null
+++ b/testing/py3-optuna/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
+# Maintainer: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
+pkgname=py3-optuna
+_pkgorig=optuna
+pkgver=3.6.1
+pkgrel=1
+pkgdesc="Hyperparameter optimization framework"
+url="https://optuna.org"
+arch="noarch"
+license="MIT"
+depends="
+ python3
+ py3-alembic
+ py3-colorlog
+ py3-cmaes
+ py3-numpy
+ py3-packaging
+ py3-scipy
+ py3-sqlalchemy
+ py3-tqdm
+ py3-yaml
+ "
+checkdepends="
+ python3-dev
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/optuna/optuna/archive/v$pkgver/$_pkgorig-$pkgver.tar.gz"
+builddir="$srcdir/optuna-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+# several test dependencies are missing | use smoke tests now
+check() {
+ PYTHONPATH=build/lib python3 -c "import optuna"
+}
+
+package() {
+ python3 -m installer --destdir="$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+f8c04157c9dd8a82ecd2034ef818ead99580724c3c06c16e93bf996441432051a6fecd31ca11de9e75586f81fe566892dcbc32148b57e2801b02c9fa28c79bf7 optuna-3.6.1.tar.gz
+"
diff --git a/testing/py3-orderedmultidict/APKBUILD b/testing/py3-orderedmultidict/APKBUILD
index 6ee5e438fcd..30d47964db8 100644
--- a/testing/py3-orderedmultidict/APKBUILD
+++ b/testing/py3-orderedmultidict/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-orderedmultidict
_pkgname=orderedmultidict
pkgver=1.0.1
-pkgrel=3
+pkgrel=6
pkgdesc="Ordered Multivalue Dictionary"
url="https://github.com/gruns/orderedmultidict"
arch="noarch"
@@ -11,6 +11,7 @@ license="Unlicense"
depends="py3-six"
makedepends="py3-setuptools"
checkdepends="py3-pycodestyle py3-flake8"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/"$_pkgname-$pkgver
@@ -23,7 +24,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="5a826bb46dfe9d7e6e2159bf545612a35dd0f1bb5817c1fd78e0f3f4019f9144b36be94af08f87e881a310f593091df09702d001624c377f559a30f64b219c24 orderedmultidict-1.0.1.tar.gz"
diff --git a/testing/py3-osqp/APKBUILD b/testing/py3-osqp/APKBUILD
new file mode 100644
index 00000000000..b383039a5d1
--- /dev/null
+++ b/testing/py3-osqp/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=py3-osqp
+pkgver=0.6.2
+pkgrel=5
+pkgdesc="python interface for OSQP"
+url="https://osqp.org/"
+arch="all !x86 !armv7 !armhf" # py3-qdldl doesnt compile on these arches
+license="Apache-2.0"
+depends="python3 py3-qdldl"
+makedepends="py3-setuptools py3-wheel cmake py3-numpy-dev python3-dev"
+checkdepends="py3-pytest"
+subpackages="$pkgname-dev $pkgname-pyc"
+source="osqp-python-$pkgver.tar.gz::https://github.com/osqp/osqp-python/archive/refs/tags/v$pkgver.post0.tar.gz
+ osqp-$pkgver.tar.gz::https://github.com/osqp/osqp/releases/download/v$pkgver/complete_sources.tar.gz"
+builddir="$srcdir/osqp-python-$pkgver.post0"
+options="!check" # cant get checks to work
+
+prepare() {
+ default_prepare
+ rmdir osqp_sources
+ mv ../osqp osqp_sources
+}
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+05f725069ff94b81f3fe7da4fa7b552d749bdfa5adb97f780781c27f7f2f51dd16b64d8f830cfa16bd77d2613f4e0c3f5e01dd97bf42a4d9b6a483fcd986134d osqp-python-0.6.2.tar.gz
+10145d4ce9d4eb692a482e27f1bcea6cc871d1a518b0558f658d4764ebac09f633bc69598446647b775094d748fd465cfc39c09ac4525ae3f5dc65e51bf58b12 osqp-0.6.2.tar.gz
+"
diff --git a/testing/py3-ovos-backend-client/APKBUILD b/testing/py3-ovos-backend-client/APKBUILD
new file mode 100644
index 00000000000..6d329352f1f
--- /dev/null
+++ b/testing/py3-ovos-backend-client/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-backend-client
+pkgver=0.1.0_alpha13
+pkgrel=1
+pkgdesc="Unofficial python api for interaction with https://api.mycroft.ai"
+url="https://github.com/OpenVoiceOS/ovos-backend-client"
+# s390x blocked by py3-speechrecognition
+arch="noarch !s390x"
+license="Apache-2.0"
+depends="
+ py3-json-database
+ py3-ovos-bus-client
+ py3-ovos-plugin-manager
+ py3-ovos-utils
+ py3-speechrecognition
+ py3-timezonefinder
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/OpenVoiceOS/ovos-backend-client/archive/V${pkgver//_alpha/a}/ovos-backend-client-${pkgver//_alpha/a}.tar.gz"
+builddir="$srcdir/ovos-backend-client-${pkgver//_alpha/a}"
+
+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="
+8da8176974b3341bbaa49e3149061dfede0e0748151e7194b75a64070251de1d453b5d010325aaa544e6ae2808aaed54308b626e8df213939348d5b5e4473196 ovos-backend-client-0.1.0a13.tar.gz
+"
diff --git a/testing/py3-ovos-bus-client/APKBUILD b/testing/py3-ovos-bus-client/APKBUILD
new file mode 100644
index 00000000000..da241940c27
--- /dev/null
+++ b/testing/py3-ovos-bus-client/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-bus-client
+pkgver=0.0.5
+pkgrel=1
+pkgdesc="A simple interface for the mycroft messagebus and can be used to connect to ovos"
+url="https://github.com/OpenVoiceOS/ovos-bus-client"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-ovos-config
+ py3-ovos-utils
+ py3-pyee
+ py3-websocket-client
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-bus-client/archive/refs/tags/V$pkgver.tar.gz"
+builddir="$srcdir/ovos-bus-client-$pkgver"
+
+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
+ # Disabled tests have broken imports
+ .testenv/bin/python3 -m pytest -k 'not test_class_patching and not test_inheritance' \
+ --ignore test/unittests/test_compat.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+5e61190fb8774174ba8594ceb2db170a0ca29afb0b941c6081f8ebc3ae3ca5813f325155016d2255d0d674b6ccc7ff02d74f9a458aca716b98dafeaa647cd62b py3-ovos-bus-client-0.0.5.tar.gz
+"
diff --git a/testing/py3-ovos-classifiers/APKBUILD b/testing/py3-ovos-classifiers/APKBUILD
new file mode 100644
index 00000000000..5c046a1f1a5
--- /dev/null
+++ b/testing/py3-ovos-classifiers/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-classifiers
+pkgver=0.0.0_alpha37
+pkgrel=1
+pkgdesc="Open during construction"
+url="https://github.com/OpenVoiceOS/ovos-classifiers"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-dateutil
+ py3-joblib
+ py3-nltk
+ py3-ovos-utils
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-ovos-plugin-manager
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-classifiers/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz
+ assertEquals.patch
+ "
+builddir="$srcdir/ovos-classifiers-${pkgver//_alpha/a}"
+
+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
+ # test/unittests/test_opm.py is broken
+ .testenv/bin/python3 -m pytest \
+ --ignore test/unittests/test_opm.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+f81a49f0711cb1f033300beefea7c211b147e095b8a0d00b18b4ea54a6e7cf2dcc586414a3b3e737189f058d72218f354e5e618f7af2e0539ab5f4fdf4fe84b5 py3-ovos-classifiers-0.0.0_alpha37.tar.gz
+6ed6be4095a9bcf07196c5ee867fcb6c53114dc7f5c4a58eac52371ab63e629e39b3f9cf15f80e2bf74be7f5439072c02beedcecd3e4f2e8db839eead0a308bb assertEquals.patch
+"
diff --git a/testing/py3-ovos-classifiers/assertEquals.patch b/testing/py3-ovos-classifiers/assertEquals.patch
new file mode 100644
index 00000000000..0c7769cbe0f
--- /dev/null
+++ b/testing/py3-ovos-classifiers/assertEquals.patch
@@ -0,0 +1,18 @@
+diff --git a/test/unittests/test_numeric.py b/test/unittests/test_numeric.py
+index a32fe5e..cd1e781 100644
+--- a/test/unittests/test_numeric.py
++++ b/test/unittests/test_numeric.py
+@@ -11,9 +11,9 @@ class TestEnglish(unittest.TestCase):
+
+- self.assertEquals(parser.convert_words_to_numbers("this is test number two"),
++ self.assertEqual(parser.convert_words_to_numbers("this is test number two"),
+ "this is test number 2")
+- self.assertEquals(parser.convert_words_to_numbers("this is test number two and a half"),
++ self.assertEqual(parser.convert_words_to_numbers("this is test number two and a half"),
+ "this is test number 2.5")
+- self.assertEquals(parser.convert_words_to_numbers("this is the first test"),
++ self.assertEqual(parser.convert_words_to_numbers("this is the first test"),
+ "this is the first test")
+- self.assertEquals(parser.convert_words_to_numbers("this is the first test", ordinals=True),
++ self.assertEqual(parser.convert_words_to_numbers("this is the first test", ordinals=True),
+ "this is the 1 test")
diff --git a/testing/py3-ovos-config/APKBUILD b/testing/py3-ovos-config/APKBUILD
new file mode 100644
index 00000000000..79a6596e564
--- /dev/null
+++ b/testing/py3-ovos-config/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-config
+pkgver=0.0.11
+pkgrel=1
+pkgdesc="OVOS configuration manager library"
+url="https://github.com/OpenVoiceOS/ovos-config"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-combo-lock
+ py3-dateutil
+ py3-ovos-utils
+ py3-ovos-utils
+ py3-rich-click
+ py3-watchdog
+ py3-yaml
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/OpenVoiceOS/ovos-config/archive/V$pkgver/ovos-config-$pkgver.tar.gz"
+builddir="$srcdir/ovos-config-$pkgver"
+
+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="
+a82e9d70c1776331c8531e16a5941f2a975a0fc89f1c17e7ca2de094ff38b848adfde522e2310b65ccda8d74900f3031445cdcb5650e50adaf240bb6fd7a7e26 ovos-config-0.0.11.tar.gz
+"
diff --git a/testing/py3-ovos-media-plugin-simple/APKBUILD b/testing/py3-ovos-media-plugin-simple/APKBUILD
new file mode 100644
index 00000000000..263c178ef0b
--- /dev/null
+++ b/testing/py3-ovos-media-plugin-simple/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-media-plugin-simple
+pkgver=0.0.1
+pkgrel=1
+pkgdesc="OVOS simple audio plugin"
+url="https://github.com/OpenVoiceOS/ovos-media-plugin-simple"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-ovos-plugin-manager"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-media-plugin-simple/archive/refs/tags/V$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-media-plugin-simple-$pkgver"
+
+replaces="py3-ovos-audio-plugin-simple"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+7b4ab41f1d549a18bdb8e3b0395bd6b849a53daf63c111ac9cdb538c7969a93689bf12c5f40c1a14497e69d5f9b137a6020b27f454870d50758ff95ce75e654e py3-ovos-media-plugin-simple-0.0.1.tar.gz
+"
diff --git a/testing/py3-ovos-microphone-plugin-alsa/APKBUILD b/testing/py3-ovos-microphone-plugin-alsa/APKBUILD
new file mode 100644
index 00000000000..9cf57f24162
--- /dev/null
+++ b/testing/py3-ovos-microphone-plugin-alsa/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-microphone-plugin-alsa
+pkgver=0.0.0
+pkgrel=1
+pkgdesc="OpenVoiceOS Microphone plugin"
+url="https://github.com/OpenVoiceOS/ovos-microphone-plugin-alsa"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-ovos-plugin-manager
+ py3-pyalsaaudio
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-microphone-plugin-alsa/archive/refs/tags/V$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-microphone-plugin-alsa-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+a70124794bdf16b6aae84a47e7c454c7670f01679e48d58bb3796434de3f2c07222ce69880de21c3ede691c886a9aa1b7403580fa42bced263b5bcafd45ed3c3 py3-ovos-microphone-plugin-alsa-0.0.0.tar.gz
+"
diff --git a/testing/py3-ovos-ocp-audio-plugin/APKBUILD b/testing/py3-ovos-ocp-audio-plugin/APKBUILD
new file mode 100644
index 00000000000..295e876391c
--- /dev/null
+++ b/testing/py3-ovos-ocp-audio-plugin/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-ocp-audio-plugin
+pkgver=0.0.6_alpha2
+pkgrel=2
+pkgdesc="A full-fledged voice media player packaged as a Mycroft audio plugin"
+url="https://github.com/OpenVoiceOS/ovos-ocp-audio-plugin"
+# s390x blocked by py3-speechrecognition -> py3-ovos-backend-client
+arch="noarch !s390x"
+license="Apache-2.0"
+depends="
+ py3-dbus-next
+ py3-lingua-franca
+ py3-ovos-media-plugin-simple
+ py3-ovos-backend-client
+ py3-ovos-bus-client
+ py3-ovos-ocp-files-plugin
+ py3-ovos-plugin-manager
+ py3-ovos-workshop
+ py3-padacioso
+ "
+makedepends="
+ py3-setuptools
+ py3-gpep517
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-ocp-audio-plugin/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+# Hangs on collecting tests
+options="!check"
+builddir="$srcdir/ovos-ocp-audio-plugin-${pkgver//_alpha/a}"
+
+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
+
+ # test/unittests/test_media_intents.py is failing
+ # Ignored test have a dependency on mycroft (provided by ovos-core), causing a circular dependency
+ .testenv/bin/python3 -m pytest \
+ --ignore test/unittests/test_audio_backends.py \
+ --ignore test/unittests/test_external_ocp.py \
+ --ignore test/unittests/test_mycroft.py \
+ --ignore test/unittests/test_mycroft_bus_api.py \
+ --ignore test/unittests/test_media_intents.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+90eb290c4c16cd471e12fc3431ea5229e4a0db909b782cc855cca223e47a3ba44ca90e0a86cc03f3b978803b3b3546bb370bdb9667ab91b5e3e5bc82f6b11998 py3-ovos-ocp-audio-plugin-0.0.6_alpha2.tar.gz
+"
diff --git a/testing/py3-ovos-ocp-files-plugin/APKBUILD b/testing/py3-ovos-ocp-files-plugin/APKBUILD
new file mode 100644
index 00000000000..4c032f8a11e
--- /dev/null
+++ b/testing/py3-ovos-ocp-files-plugin/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-ocp-files-plugin
+pkgver=0.13.0
+pkgrel=1
+pkgdesc="A library for reading and, in the future, writing audio metadata"
+url="https://github.com/OpenVoiceOS/ovos-ocp-files-plugin"
+arch="noarch"
+license="MIT"
+depends="
+ py3-attrs
+ py3-bidict
+ py3-bitstruct
+ py3-more-itertools
+ py3-pprintpp
+ py3-wrapt
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ py3-ward
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-ocp-files-plugin/archive/refs/tags/V$pkgver.tar.gz"
+options="!check" # Pytest fails to find fixture "description"
+builddir="$srcdir/ovos-ocp-files-plugin-$pkgver"
+
+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="
+737c8e319e86f58e6523597ceba2b142ef7adb956c169c2c68194b1bea5ebcd5ce22221ca158c6db97b3fc0c54afe968356268e25b84cac68b10133d98f152ed py3-ovos-ocp-files-plugin-0.13.0.tar.gz
+"
diff --git a/testing/py3-ovos-ocp-m3u-plugin/APKBUILD b/testing/py3-ovos-ocp-m3u-plugin/APKBUILD
new file mode 100644
index 00000000000..51321838fe9
--- /dev/null
+++ b/testing/py3-ovos-ocp-m3u-plugin/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-ocp-m3u-plugin
+pkgver=0.0.2_alpha1
+pkgrel=1
+pkgdesc="ovos-core m3u plugin"
+url="https://github.com/OpenVoiceOS/ovos-ocp-m3u-plugin"
+arch="noarch !s390x" # blocked by py3-ovos-ocp-audio-plugin
+license="Apache-2.0"
+depends="py3-ovos-ocp-audio-plugin"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-ocp-m3u-plugin/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-ocp-m3u-plugin-${pkgver//_alpha/a}"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+abb92e3cf319a22eb803d8789277b317d65492419993ab6e2486abbd91587404b8d5230c4125dd0554730644a3e5be1be49de127b7fc57b3ca8cd9833ea274fa py3-ovos-ocp-m3u-plugin-0.0.2_alpha1.tar.gz
+"
diff --git a/testing/py3-ovos-ocp-news-plugin/APKBUILD b/testing/py3-ovos-ocp-news-plugin/APKBUILD
new file mode 100644
index 00000000000..b19d0bcda93
--- /dev/null
+++ b/testing/py3-ovos-ocp-news-plugin/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-ocp-news-plugin
+pkgver=0.0.3
+pkgrel=1
+pkgdesc="ovos-core news plugin"
+url="https://github.com/OpenVoiceOS/ovos-ocp-news-plugin"
+arch="noarch !s390x" # blocked by py3-ovos-ocp-audio-plugin
+license="Apache-2.0"
+depends="
+ py3-beautifulsoup4
+ py3-ovos-ocp-audio-plugin
+ py3-ovos-ocp-m3u-plugin
+ py3-ovos-ocp-rss-plugin
+ py3-tz
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-ocp-news-plugin/archive/refs/tags/V$pkgver.tar.gz"
+builddir="$srcdir/ovos-ocp-news-plugin-$pkgver"
+
+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="
+36f0c6fa081e6aec492e324032f0f3fb372e556c074c4241dd4c36a8acd133641f9f33d44f54ad12fb5e595c749989969cc129ccbffd81690a69e6319e026fbe py3-ovos-ocp-news-plugin-0.0.3.tar.gz
+"
diff --git a/testing/py3-ovos-ocp-rss-plugin/APKBUILD b/testing/py3-ovos-ocp-rss-plugin/APKBUILD
new file mode 100644
index 00000000000..a7e79c69c17
--- /dev/null
+++ b/testing/py3-ovos-ocp-rss-plugin/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-ocp-rss-plugin
+pkgver=0.0.2
+pkgrel=1
+pkgdesc="ovos-core rss plugin"
+url="https://github.com/OpenVoiceOS/ovos-ocp-rss-plugin"
+arch="noarch !s390x" # blocked by py3-ovos-ocp-audio-plugin
+license="Apache-2.0"
+depends="
+ py3-feedparser
+ py3-ovos-ocp-audio-plugin
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-ocp-rss-plugin/archive/refs/tags/V$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-ocp-rss-plugin-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+ee05a725efab1b75a746033f57583a5608d38133102a9c651c882a5042bb721a11ddeda476a19487ffada193ec9b7890bd6d348b33422ab19f0ceeb818150e39 py3-ovos-ocp-rss-plugin-0.0.2.tar.gz
+"
diff --git a/testing/py3-ovos-phal-plugin-connectivity-events/APKBUILD b/testing/py3-ovos-phal-plugin-connectivity-events/APKBUILD
new file mode 100644
index 00000000000..09f2a81df64
--- /dev/null
+++ b/testing/py3-ovos-phal-plugin-connectivity-events/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-phal-plugin-connectivity-events
+pkgver=0.0.3
+pkgrel=1
+pkgdesc="Monitors network state and exposes it via messagebus"
+url="https://github.com/OpenVoiceOS/ovos-PHAL-plugin-connectivity-events"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-ovos-bus-client
+ py3-ovos-plugin-manager
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-PHAL-plugin-connectivity-events/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/ovos-PHAL-plugin-connectivity-events-$pkgver"
+
+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="
+7ba4a960fcc8b48cc793d266b64cb326d9a7a310d45056c4fb777df34e0473aa3bab375bef268d399d83278dc31ab96fd1a3f3b20a80febf3a6e94d97c0362ef py3-ovos-phal-plugin-connectivity-events-0.0.3.tar.gz
+"
diff --git a/testing/py3-ovos-phal-plugin-ipgeo/APKBUILD b/testing/py3-ovos-phal-plugin-ipgeo/APKBUILD
new file mode 100644
index 00000000000..cf1de2cd16f
--- /dev/null
+++ b/testing/py3-ovos-phal-plugin-ipgeo/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-phal-plugin-ipgeo
+pkgver=0.0.2
+pkgrel=1
+pkgdesc="Provides geolocation information via the OVOS Messagebus"
+url="https://github.com/OpenVoiceOS/ovos-PHAL-plugin-ipgeo"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-ovos-config
+ py3-ovos-plugin-manager
+ py3-requests
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-PHAL-plugin-ipgeo/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-PHAL-plugin-ipgeo-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+6ba8c42e4bbcc33f66cf80d7ce6eee5d36f83f8d130cc406625786734a9a0f5c296b3b3ec1ca56cfafd8a3f2fa066d179814706fb9830ddc6e67701488e72d23 py3-ovos-phal-plugin-ipgeo-0.0.2.tar.gz
+"
diff --git a/testing/py3-ovos-phal-plugin-network-manager/APKBUILD b/testing/py3-ovos-phal-plugin-network-manager/APKBUILD
new file mode 100644
index 00000000000..a16a277cd17
--- /dev/null
+++ b/testing/py3-ovos-phal-plugin-network-manager/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-phal-plugin-network-manager
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="NetworkManager plugin for PHAL"
+url="https://github.com/OpenVoiceOS/ovos-PHAL-plugin-network-manager"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ networkmanager-cli
+ py3-dbus-next
+ py3-ovos-bus-client
+ py3-ovos-plugin-manager
+ py3-ovos-utils
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-PHAL-plugin-network-manager/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-PHAL-plugin-network-manager-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+b2e19a740749c91d617a007de8000bab89197260e6ffc1d649bc182dc79f989eef8c9eb5fb1dccc4e5d31c6420f85ee3280f9707e70ada637fbfeea83efe77da py3-ovos-phal-plugin-network-manager-1.1.0.tar.gz
+"
diff --git a/testing/py3-ovos-phal-plugin-oauth/APKBUILD b/testing/py3-ovos-phal-plugin-oauth/APKBUILD
new file mode 100644
index 00000000000..bfe23a3597d
--- /dev/null
+++ b/testing/py3-ovos-phal-plugin-oauth/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-phal-plugin-oauth
+pkgver=0.0.2
+pkgrel=1
+pkgdesc="OAuth plugin for OVOS"
+url="https://github.com/OpenVoiceOS/ovos-PHAL-plugin-oauth"
+# s390x blocked by py3-speechrecognition -> py3-ovos-backend-client
+arch="noarch !s390x"
+license="Apache-2.0"
+depends="
+ py3-flask
+ py3-oauthlib
+ py3-ovos-backend-client
+ py3-ovos-bus-client
+ py3-ovos-utils
+ py3-pillow
+ py3-qrcode
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-PHAL-plugin-oauth/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-PHAL-plugin-oauth-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+b1f374a6df7446897efce7960c1cea6b0ff22a5076c766fb116daf2d52c6e63677df9aba702ae33e2bc0cdbf827c212d181291ddaacf303be30ca9e8462f6528 py3-ovos-phal-plugin-oauth-0.0.2.tar.gz
+"
diff --git a/testing/py3-ovos-phal-plugin-system/APKBUILD b/testing/py3-ovos-phal-plugin-system/APKBUILD
new file mode 100644
index 00000000000..ac027ef404a
--- /dev/null
+++ b/testing/py3-ovos-phal-plugin-system/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-phal-plugin-system
+pkgver=0.0.4
+pkgrel=1
+pkgdesc="handle bus events to interact with the OS"
+url="https://github.com/OpenVoiceOS/ovos-PHAL-plugin-system"
+arch="noarch"
+license="Apache-2.0"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-PHAL-plugin-system/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-PHAL-plugin-system-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+6d0d689be51add4cb97e421159be26dd23fa9f67abce7a39a66da0bdc9f36e56f32fa025aff2e1cd1ed22988a4b2d4d9ce51d44f76ac97ffc19ce9145507ceeb py3-ovos-phal-plugin-system-0.0.4.tar.gz
+"
diff --git a/testing/py3-ovos-plugin-manager/APKBUILD b/testing/py3-ovos-plugin-manager/APKBUILD
new file mode 100644
index 00000000000..9753b5c897f
--- /dev/null
+++ b/testing/py3-ovos-plugin-manager/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-plugin-manager
+pkgver=0.0.24
+pkgrel=1
+pkgdesc="Plugin manager for OpenVoiceOS, STT/TTS/Wakewords that can be used anywhere"
+url="https://github.com/OpenVoiceOS/OVOS-plugin-manager"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-combo-lock
+ py3-langcodes
+ py3-ovos-bus-client
+ py3-ovos-utils
+ py3-quebra-frases
+ py3-requests
+ "
+makedepends="
+ py3-setuptools
+ py3-gpep517
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/OpenVoiceOS/OVOS-plugin-manager/archive/V$pkgver/ovos-plugin-manager-V$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-plugin-manager-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+e8c5605311cb42fa964b1e1024926f079aa09c9da56d313f5e63044db065e426b1f7b4b447f0ffeefad83b301fa78f1e0c036bb651dcfec0d14816884d8a887a ovos-plugin-manager-V0.0.24.tar.gz
+"
diff --git a/testing/py3-ovos-stt-plugin-server/APKBUILD b/testing/py3-ovos-stt-plugin-server/APKBUILD
new file mode 100644
index 00000000000..2af47c77058
--- /dev/null
+++ b/testing/py3-ovos-stt-plugin-server/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-stt-plugin-server
+pkgver=0.0.4_alpha4
+pkgrel=1
+pkgdesc="OpenVoiceOS companion plugin for OpenVoiceOS STT Server"
+url="https://github.com/OpenVoiceOS/ovos-stt-plugin-server"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-ovos-plugin-manager"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-stt-plugin-server/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-stt-plugin-server-${pkgver//_alpha/a}"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+92794b6dc46f651dea89f67379609f6e1f793e13c6aa08ac50318b3c6d40f8a17a4d1c0eb584c71811aef5bacb9d7449c25043faf9d03cd27b1afdfd280eb8b2 py3-ovos-stt-plugin-server-0.0.4_alpha4.tar.gz
+"
diff --git a/testing/py3-ovos-tts-plugin-mimic3-server/APKBUILD b/testing/py3-ovos-tts-plugin-mimic3-server/APKBUILD
new file mode 100644
index 00000000000..5e48b259f21
--- /dev/null
+++ b/testing/py3-ovos-tts-plugin-mimic3-server/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-tts-plugin-mimic3-server
+pkgver=0.0.2_alpha4
+pkgrel=1
+pkgdesc="OVOS Server TTS plugin for Mimic3"
+url="https://github.com/OpenVoiceOS/ovos-tts-plugin-mimic3-server"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-ovos-plugin-manager
+ py3-ovos-utils
+ py3-requests
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-tts-plugin-mimic3-server/archive/refs/tags/V${pkgver//_alpha/a}.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-tts-plugin-mimic3-server-${pkgver//_alpha/a}"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+d6f3b3606f438c1b9b438e1b252bf2e61de751cf8d39192554c2cbfa6d77672d718e54746d2d04265045a084cb0a7718623e78cae07cd0b93492e1c80aaac3c7 py3-ovos-tts-plugin-mimic3-server-0.0.2_alpha4.tar.gz
+"
diff --git a/testing/py3-ovos-utils/APKBUILD b/testing/py3-ovos-utils/APKBUILD
new file mode 100644
index 00000000000..bd1f3117047
--- /dev/null
+++ b/testing/py3-ovos-utils/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-utils
+pkgver=0.0.36
+pkgrel=1
+pkgdesc="Collection of simple utilities for use across the MyCroft ecosystem"
+url="https://github.com/OpenVoiceOS/ovos_utils"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-json-database
+ py3-kthread
+ py3-pexpect
+ py3-pyee
+ py3-rapidfuzz
+ py3-requests
+ py3-watchdog
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-dateutil
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/OpenVoiceOS/ovos_utils/archive/V$pkgver/ovos_utils-V$pkgver.tar.gz"
+builddir="$srcdir/ovos-utils-$pkgver"
+
+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
+ # Ignored tests cause circular dependencies on py3-ovos-config and ovos-messagebus
+ .testenv/bin/python3 -m pytest -k 'not test_event_scheduler_interface and not test_get_source_message' \
+ --ignore test/unittests/test_gui.py \
+ --ignore test/unittests/test_skills.py \
+ --ignore test/unittests/test_time.py \
+ --ignore test/unittests/test_events.py \
+ --deselect test/unittests/test_audio_utils.py::TestPlaySounds
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+90adcd7c548b97d53859d638fb566a836ed394e229b190491e72f2844d830c30ac29510c4e06dfbf8dda951a3e61416b754db0a19347960d0d136909a4a78080 ovos_utils-V0.0.36.tar.gz
+"
diff --git a/testing/py3-ovos-vad-plugin-webrtcvad/APKBUILD b/testing/py3-ovos-vad-plugin-webrtcvad/APKBUILD
new file mode 100644
index 00000000000..bb4f581644e
--- /dev/null
+++ b/testing/py3-ovos-vad-plugin-webrtcvad/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-vad-plugin-webrtcvad
+pkgver=0.0.1
+pkgrel=0
+pkgdesc="ovos plugin for voice activity detection using webrtcvad"
+url="https://github.com/OpenVoiceOS/ovos-vad-plugin-webrtcvad"
+# 32-bit arches blocked by py3-webrtcvad
+# s390x, ppc64le and riscv64 blocked by py3-webrtcvad
+arch="noarch !x86 !armhf !armv7 !s390x !ppc64le !riscv64"
+license="Apache-2.0"
+depends="
+ py3-webrtcvad
+ py3-ovos-plugin-manager
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-vad-plugin-webrtcvad/archive/refs/tags/V$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-vad-plugin-webrtcvad-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+516d565498d65fdb1dec1cc22be242fd401943164e85dc3c01861348640a6aa40a0175d7e6bc3a913750a91ef9ae804fe71e185a9efd2c25112e9ee698150f1e py3-ovos-vad-plugin-webrtcvad-0.0.1.tar.gz
+"
diff --git a/testing/py3-ovos-workshop/APKBUILD b/testing/py3-ovos-workshop/APKBUILD
new file mode 100644
index 00000000000..b7f9dcef8c4
--- /dev/null
+++ b/testing/py3-ovos-workshop/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-workshop
+pkgver=0.0.13_alpha17
+pkgrel=1
+pkgdesc="Frameworks, templates and patches for the mycroft universe "
+url="https://github.com/OpenVoiceOS/OVOS-workshop"
+# s390x blocked by py3-speechrecognition -> py3-ovos-backend-client
+arch="noarch !s390x"
+license="Apache-2.0"
+depends="
+ py3-lingua-franca
+ py3-ovos-backend-client
+ py3-ovos-config
+ py3-ovos-config
+ py3-ovos-utils
+ py3-rapidfuzz
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-adapt-parser
+ py3-lingua-franca
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-workshop/archive/refs/tags/${pkgver//_alpha/a}.tar.gz"
+options="!check" # OVOS-utils
+builddir="$srcdir/OVOS-workshop-${pkgver//_alpha/a}"
+
+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="
+692c65a6d4b7d7a110949bbd5d76f3403d7c17179faabce922d4af4126e9fc0494a2bb80de397351089f31dc9ec66949ceee0276ef30abf9385d2e8dd6882ad1 py3-ovos-workshop-0.0.13_alpha17.tar.gz
+"
diff --git a/testing/py3-ovos-ww-plugin-vosk/APKBUILD b/testing/py3-ovos-ww-plugin-vosk/APKBUILD
new file mode 100644
index 00000000000..14192c8c64d
--- /dev/null
+++ b/testing/py3-ovos-ww-plugin-vosk/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ovos-ww-plugin-vosk
+pkgver=0.1.1
+pkgrel=0
+pkgdesc="Vosk wake word plugin for OVOS"
+url="https://github.com/OpenVoiceOS/ovos-ww-plugin-vosk"
+# only x86_64 and aarch64 supported by vosk-api
+arch="noarch !x86 !armhf !armv7 !s390x !ppc64le !riscv64"
+license="Apache-2.0"
+depends="
+ ovos-skill-installer
+ py3-numpy
+ py3-ovos-plugin-manager
+ py3-ovos-utils
+ py3-speechrecognition
+ py3-vosk-api
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVoiceOS/ovos-ww-plugin-vosk/archive/refs/tags/V$pkgver.tar.gz"
+options="!check" # No tests
+builddir="$srcdir/ovos-ww-plugin-vosk-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+47b8e6ab431b8d9137f79a7941a4f74bd0ca59bbe362ca25f16bd6db63c8f7c652f43d9ef798b48582238b6170bb21c66009992f2bfc9ada23adde6812815621 py3-ovos-ww-plugin-vosk-0.1.1.tar.gz
+"
diff --git a/testing/py3-owslib/APKBUILD b/testing/py3-owslib/APKBUILD
new file mode 100644
index 00000000000..e5af59275bf
--- /dev/null
+++ b/testing/py3-owslib/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
+# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
+pkgname=py3-owslib
+#_pkgreal is used by apkbuild-pypi to find modules at PyPI
+_pkgreal=OWSLib
+pkgver=0.29.3
+pkgrel=1
+pkgdesc="OGC Web Service utility library"
+url="http://packages.python.org/pypi/OWSLib"
+arch="noarch"
+license="BSD-3-Clause"
+depends="python3 py3-dateutil py3-tz py3-requests py3-lxml"
+checkdepends="python3-dev py3-pytest py3-tox py3-lxml"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/O/OWSLib/OWSLib-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ tox --sitepackages
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+fc503be2b2e7d7f539283c7602831097bda680a74133debacb0a51116a25c261b972e3497e69ccea27329672183b447e6e299e7e8cc3853be1341db2cef427e2 OWSLib-0.29.3.tar.gz
+"
diff --git a/testing/py3-padacioso/APKBUILD b/testing/py3-padacioso/APKBUILD
new file mode 100644
index 00000000000..966abf9e254
--- /dev/null
+++ b/testing/py3-padacioso/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-padacioso
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="Dead simple regex based intent parser"
+url="https://github.com/OpenJarbas/padacioso"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-simplematch"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenJarbas/padacioso/archive/refs/tags/V$pkgver.tar.gz"
+builddir="$srcdir/padacioso-$pkgver"
+
+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="
+bfb8758a1835c19e6d625d98f140bde2beacab4c5098d3ec5946d66f950582f2ab3fff90d4953bd0b13dd5f53fa12857b020b9da033f45b15cf6d59c256f5149 py3-padacioso-0.2.0.tar.gz
+"
diff --git a/testing/py3-pam/APKBUILD b/testing/py3-pam/APKBUILD
index a882789e907..848e549e245 100644
--- a/testing/py3-pam/APKBUILD
+++ b/testing/py3-pam/APKBUILD
@@ -2,14 +2,16 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-pam
_pkgname=python-pam
-pkgver=1.8.4
-pkgrel=4
+pkgver=2.0.2
+pkgrel=2
pkgdesc="A Python interface to the PAM library"
url="https://github.com/FirefighterBlu3/python-pam"
arch="noarch"
license="MIT"
-depends="linux-pam python3"
-makedepends="py3-setuptools"
+depends="linux-pam python3 py3-six"
+makedepends="py3-setuptools py3-wheel py3-gpep517 py3-installer"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/FirefighterBlu3/python-pam/archive/v$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -17,15 +19,40 @@ replaces="py-pam" # Backwards compatibility
provides="py-pam=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py check
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ case "$CARCH" in
+ aarch64)
+ .testenv/bin/python3 -m pytest \
+ --deselect tests/test_internals.py::test_PamAuthenticator__normal_success \
+ --deselect tests/test_internals.py::test_PamAuthenticator__unset_DISPLAY \
+ --deselect tests/test_internals.py::test_PamAuthenticator__env_set \
+ --deselect tests/test_internals.py::test_PamAuthenticator__open_session_unauthenticated \
+ --deselect tests/test_internals.py::test_PamAuthenticator__close_session_unauthenticated
+ ;;
+# FAILED tests/test_internals.py::test_PamAuthenticator__normal_success - asser...
+# FAILED tests/test_internals.py::test_PamAuthenticator__unset_DISPLAY - assert...
+# FAILED tests/test_internals.py::test_PamAuthenticator__env_set - assert True ...
+# FAILED tests/test_internals.py::test_PamAuthenticator__close_session_unauthenticated
+ *)
+ .testenv/bin/python3 -m pytest \
+ --deselect tests/test_internals.py::test_PamAuthenticator__open_session_unauthenticated
+ ;;
+#FAILED tests/test_internals.py::test_PamAuthenticator__open_session_unauthenticated - assert 14 == 10
+ esac
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="8228df0136df890746579f66ff181fd4fd269536db3ecf3d5e0410501e8d67a906ac5cedb0ed29b6cde5eb824727d644e60be20b22b0a8ba6da0523854f023d7 py3-pam-1.8.4.tar.gz"
+sha512sums="
+eafeb753b22ffccc1c5729516ea1ae26799d3749140fe91849ddb804066cabd4b5493e9b059172977dd5b3c5d48c8b5ced6c5c944931fcf23225dda09db026f6 py3-pam-2.0.2.tar.gz
+"
diff --git a/testing/py3-parse/APKBUILD b/testing/py3-parse/APKBUILD
new file mode 100644
index 00000000000..1ac233b8a4e
--- /dev/null
+++ b/testing/py3-parse/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Ado <ado@expedio.it>
+# Maintainer: Ado <ado@expedio.it>
+pkgname=py3-parse
+_pkgname=parse
+pkgver=1.20.0
+pkgrel=1
+pkgdesc="Parse strings using a specification based on the Python format() syntax"
+url="https://github.com/r1chardj0n3s/parse"
+arch="noarch"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/r1chardj0n3s/parse/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # todo
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/$_pkgname-$pkgver-*.whl
+}
+
+
+sha512sums="
+690152d1c459cb52860a948094b2d3f0e5f7a391162ed8fabb8fba032ef5a0741cd04d13090d791299b970497a7a2e8578f483d3c286a6a74d03940b9b6e9fba parse-1.20.0.tar.gz
+"
diff --git a/testing/py3-parsel/APKBUILD b/testing/py3-parsel/APKBUILD
deleted file mode 100644
index 2b18160def9..00000000000
--- a/testing/py3-parsel/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: prspkt <prspkt@protonmail.com>
-# Maintainer: prspkt <prspkt@protonmail.com>
-pkgname=py3-parsel
-_pkgname=parsel
-pkgver=1.6.0
-pkgrel=2
-pkgdesc="Library to extract data from HTML and XML using XPath and CSS selectors"
-url="https://github.com/scrapy/parsel"
-arch="noarch"
-license="BSD-3-Clause"
-makedepends="py3-setuptools py3-pytest-runner"
-depends="py3-cssselect py3-lxml py3-six py3-w3lib"
-checkdepends="py3-pytest py3-sybil"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/scrapy/parsel/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-d3161522e1102cceeb1f29ab020b33019d4ac7f096cfab8fbe40f54073e49afc24f02aa54206d86f56c8f92e3db2d0d2f8a3dbdfa6417492cf299201f2ae6604 parsel-1.6.0.tar.gz
-"
diff --git a/testing/py3-parver/APKBUILD b/testing/py3-parver/APKBUILD
index f30daa5b866..640256dd7e2 100644
--- a/testing/py3-parver/APKBUILD
+++ b/testing/py3-parver/APKBUILD
@@ -1,21 +1,23 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=py3-parver
-_pkgname=parver
-pkgver=0.3.1
-pkgrel=2
+pkgver=0.5
+pkgrel=1
pkgdesc="Parse and manipulate PEP 440 version numbers"
url="https://github.com/RazerM/parver"
license="MIT"
arch="noarch"
-depends="python3 py3-arpeggio"
-makedepends="py3-setuptools"
+depends="py3-arpeggio py3-attrs"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
checkdepends="py3-pytest py3-hypothesis py3-pretend"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/RazerM/parver/archive/$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
+subpackages="$pkgname-pyc"
+source="https://github.com/RazerM/parver/archive/$pkgver/py3-parver-$pkgver.tar.gz"
+builddir="$srcdir/parver-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
@@ -23,7 +25,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ python3 -m installer -d "$pkgdir" \
+ .dist/parver-$pkgver-py3-none-any.whl
}
-sha512sums="2ea7eb7be0c58657f5261d7b4729da6caaf2fac67db3fc3f36d29627bdbeba45f6ecb0e4bb251575b621908eb1ff5fa5ede5fc2ef0e041156dcc00548fd34360 parver-0.3.1.tar.gz"
+sha512sums="
+55fd52cb229c8358e89053f4c44d8cdb4bfbc8fd79ec40f4b7c6f18f2c848fb025e2be4e907b5cfbeb598e535fed67be4e10cea71d529a21e6d0712679c665d3 py3-parver-0.5.tar.gz
+"
diff --git a/testing/py3-pastel/APKBUILD b/testing/py3-pastel/APKBUILD
deleted file mode 100644
index 1deb78057b9..00000000000
--- a/testing/py3-pastel/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-pastel
-_realname=pastel
-pkgver=0.2.1
-pkgrel=2
-pkgdesc="Python3 library to bring colors to your terminal"
-options="!check" # No testsuite on tarball with setup.py
-url="https://github.com/sdispater/pastel"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://pypi.io/packages/source/p/pastel/pastel-$pkgver.tar.gz"
-builddir="$srcdir/$_realname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- # do not install the tests package
- # see: https://github.com/sdispater/pastel/issues/7
- rm -r "$pkgdir"/usr/lib/python*/site-packages/tests
-}
-
-sha512sums="7e310d632212c3d940823dc45fffc192094701ac3f8a06b030f0738522637be5dd770af74c009e7c96c120f6a0935e696baa8ee65b75cded1d064b885c2a2eea pastel-0.2.1.tar.gz"
diff --git a/testing/py3-patatt/APKBUILD b/testing/py3-patatt/APKBUILD
new file mode 100644
index 00000000000..6583a2e3975
--- /dev/null
+++ b/testing/py3-patatt/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: knuxify <knuxify@gmail.com>
+# Maintainer: knuxify <knuxify@gmail.com>
+pkgname=py3-patatt
+pkgver=0.6.3
+pkgrel=1
+pkgdesc="A simple library to add cryptographic attestation to patches sent via email"
+url="https://git.kernel.org/pub/scm/utils/patatt/patatt.git/about/"
+arch="noarch"
+license="MIT-0"
+depends="py3-pynacl"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="https://git.kernel.org/pub/scm/utils/patatt/patatt.git/snapshot/patatt-$pkgver.tar.gz"
+builddir="$srcdir/patatt-$pkgver"
+options="!check" # no test suite
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+bbbf38fcf62b3f811b141147df2a167d4cfcf7f3f0484a5380c80213edb00aad20f578ae27c560c1266cbce48878072176a0460f09b7bcc5142b9009d8e99e17 patatt-0.6.3.tar.gz
+"
diff --git a/testing/py3-pathvalidate/APKBUILD b/testing/py3-pathvalidate/APKBUILD
new file mode 100644
index 00000000000..6ea6d42884b
--- /dev/null
+++ b/testing/py3-pathvalidate/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=py3-pathvalidate
+pkgver=3.2.0
+pkgrel=1
+pkgdesc="Python library to sanitize/validate a string such as filenames/file-paths/etc"
+url="https://github.com/thombashi/pathvalidate"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest py3-click py3-faker"
+options="!check" # tests require unpackaged unmaintained dependencies
+subpackages="$pkgname-pyc"
+source="https://github.com/thombashi/pathvalidate/archive/refs/tags/v$pkgver/pathvalidate-$pkgver.tar.gz"
+builddir="$srcdir/pathvalidate-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+d1b0e49028bc5497558d9a0c15b4e3c301cacb439bebccffc467fc23001854877dbc81a214cc6eb34c5a905a88c4f9394f5865a4de42f354b2450a3bfe10bb9e pathvalidate-3.2.0.tar.gz
+"
diff --git a/testing/py3-pbkdf2/APKBUILD b/testing/py3-pbkdf2/APKBUILD
index 1e82eb5db8c..fd46e6ac429 100644
--- a/testing/py3-pbkdf2/APKBUILD
+++ b/testing/py3-pbkdf2/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-pbkdf2
_pkgname=python-pbkdf2
pkgver=1.3
-pkgrel=3
+pkgrel=6
pkgdesc="Password-based key derivation function"
url="http://www.dlitz.net/software/python-pbkdf2"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/dlitz/$_pkgname/archive/v$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,6 +23,6 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="642372615a2ffc9cf352805789f836c42763c49cbf113d64524a55c6ff8a09f0fda36c92713387f27c2f6a2950ce89ae04dc9f92495cba904400685b148f947e py3-pbkdf2-1.3.tar.gz"
diff --git a/testing/py3-pcbnewtransition/APKBUILD b/testing/py3-pcbnewtransition/APKBUILD
new file mode 100644
index 00000000000..f9d39cd603f
--- /dev/null
+++ b/testing/py3-pcbnewtransition/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=py3-pcbnewtransition
+pkgver=0.4.1
+pkgrel=0
+pkgdesc="Easily support KiCAD 7, 6 and 5 in your KiCAD plugins by monkeypatching older versions to KiCAD 7 API"
+url="https://github.com/yaqwsx/pcbnewTransition"
+# riscv64: py3-shapely
+# aarch64, armv7, armhf, mips64: py3-solidpython
+# s390x: kicad
+arch="noarch !riscv64 !aarch64 !armv7 !armhf !s390x"
+license="MIT"
+depends="
+ kicad
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-python-versioneer
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/yaqwsx/pcbnewTransition/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/pcbnewTransition-$pkgver"
+options="!check" # no tests in the repo
+
+prepare() {
+ default_prepare
+
+ # unvendor old versioneer
+ rm -f versioneer.py
+}
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+5e3d68279d7626b1cb7bc6a2f265c1b3ee2fd283a55cbf7d765931553ad6fae95ae3365d1543d4711124a53a170dd884f612c6dc09d4a4e56856837b2bf73351 py3-pcbnewtransition-0.4.1.tar.gz
+"
diff --git a/testing/py3-pdal/APKBUILD b/testing/py3-pdal/APKBUILD
index 8163651eaf6..62c15dc83ab 100644
--- a/testing/py3-pdal/APKBUILD
+++ b/testing/py3-pdal/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: Bradley J Chambers <brad.chambers@gmail.com>
# Maintainer: Bradley J Chambers <brad.chambers@gmail.com>
pkgname=py3-pdal
-pkgver=2.2.2
+pkgver=3.2.3
pkgrel=4
pkgdesc="PDAL Python bindings"
-options="!check" # 1 test fail
+options="!check" # disabled - failing test with circular import
url="https://github.com/pdal/python"
arch="all"
license="BSD-3-Clause"
depends="python3 py3-numpy"
-makedepends="cython python3-dev py3-setuptools py3-packaging pdal-dev>=1.7.2-r1
- py3-numpy-dev libxml2-dev"
+checkdepends="pdal py3-pytest"
+makedepends="python3-dev pdal-dev py3-scikit-build py3-numpy-dev cmake ninja py3-pybind11-dev"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/PDAL/python/archive/$pkgver.tar.gz"
builddir="$srcdir/python-$pkgver"
@@ -18,17 +19,18 @@ replaces="py-pdal" # Backwards compatibility
provides="py-pdal=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ python3 setup.py build -DWITH_TESTS=ON
}
check() {
- python3 setup.py test
+ export PYTHONPATH=$PYTHONPATH:$(python -c "import os, skbuild; print(os.path.join('plugins', skbuild.constants.SKBUILD_DIR(), 'cmake-build'))")
+ py.test -v test/
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-120cd86d773eea9c621a58efd81ebaee8323ea4dc2f51513a7f02eaa38ae363ba689a5e83737d199a033eece8503007abd5536bec2bf7c9d0ada5f8890f831e9 py3-pdal-2.2.2.tar.gz
+363c3ffe25f4f5498ceddf9b2dc93793e70ecbf787d8c393a55be68ae3432119557be3b28122476030a81009a1f8882079dd10deb9087fcbe1eaec1c8dc44808 py3-pdal-3.2.3.tar.gz
"
diff --git a/testing/py3-pebble/APKBUILD b/testing/py3-pebble/APKBUILD
new file mode 100644
index 00000000000..1c357939adc
--- /dev/null
+++ b/testing/py3-pebble/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=py3-pebble
+pkgver=5.0.7
+pkgrel=1
+pkgdesc="Multi threading and processing eye-candy"
+url="https://github.com/noxdafox/pebble"
+arch="noarch"
+license="LGPL-3.0-or-later"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest-forked
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/noxdafox/pebble/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/pebble-$pkgver"
+
+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 -n auto --forked
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+5044ba70e174cb67c965e409c9f2bc6f718a36de86d4510e3e8eb40e334ed46ba8ac9edf5c04a4af5e3ad2abed01bd518cdd4726bfaf46b2a6253fbcbe323cd7 py3-pebble-5.0.7.tar.gz
+"
diff --git a/testing/py3-pecan/APKBUILD b/testing/py3-pecan/APKBUILD
deleted file mode 100644
index d32811296a9..00000000000
--- a/testing/py3-pecan/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-pecan
-pkgver=1.4.1
-pkgrel=0
-pkgdesc="A WSGI object-dispatching web framework, designed to be lean and fast, with few dependencies"
-url="https://github.com/pecan/pecan"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 py3-logutils py3-mako py3-six py3-webob py3-webtest"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/p/pecan/pecan-$pkgver.tar.gz"
-builddir="$srcdir/pecan-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-# deselect test which looks like it should pass
-check() {
- rm pecan/tests/__init__.py
- python3 -m pytest --deselect=pecan/tests/test_base.py::TestAppRoot::test_controller_lookup_by_string_path
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-bd5ba47935e2d97677bcdc25ad4678ec63293e0000750fa3b39a2447be326dc7e1fd4cf77ac0519e1b7c6ecc7ba7c3e66d98443e78e647fba92383f048775c83 py3-pecan-1.4.1.tar.gz
-"
diff --git a/testing/py3-pefile/APKBUILD b/testing/py3-pefile/APKBUILD
deleted file mode 100644
index d1015a540e9..00000000000
--- a/testing/py3-pefile/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=py3-pefile
-_pkgname=pefile
-pkgver=2021.9.3
-pkgrel=1
-pkgdesc="Python PE parsing module"
-url="https://github.com/erocarrera/pefile"
-arch="noarch"
-license="MIT"
-depends="py3-future python3"
-makedepends="py3-setuptools"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/erocarrera/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-replaces=py-pefile # Backwards compatibility
-provides=py-pefile=$pkgver-r$pkgrel # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-57a1e0b8923443c121756ce9303a834d93d7b823cdd6e11be1ea2dd14645f9e473695561787d28c1ab7daef7d5a592cfd530e0246db9c810b8951fd849b0e5e5 pefile-2021.9.3.tar.gz
-"
diff --git a/testing/py3-pelican/APKBUILD b/testing/py3-pelican/APKBUILD
index 1d3bfac00fb..b6fd0c97e7a 100644
--- a/testing/py3-pelican/APKBUILD
+++ b/testing/py3-pelican/APKBUILD
@@ -2,55 +2,65 @@
# Maintainer: Danilo Falcão <danilo@falcao.org>
pkgname=py3-pelican
_pkgname=pelican
-pkgver=4.7.1
-pkgrel=0
+pkgver=4.9.1
+pkgrel=2
pkgdesc="Static site generator written in Python"
-options="!check" # Tests require locale support
-url="https://getpelican.com"
+url="https://getpelican.com/"
arch="noarch"
license="AGPL-3.0-only"
depends="
- python3
+ py3-blinker
+ py3-docutils
py3-feedgenerator
py3-jinja2
+ py3-ordered-set
py3-pygments
- py3-docutils
- py3-tz
- py3-blinker
- py3-unidecode
py3-dateutil
- py3-markdown
py3-rich
+ py3-unidecode
+ py3-watchfiles
+ py3-markdown
"
-makedepends="py3-setuptools"
-checkdepends="py3-django"
-source="https://files.pythonhosted.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-prepare() {
- default_prepare
-
- # remove shebang from python files
- sed -i '1d' \
- pelican/tools/*.py \
- pelican/tools/templates/*.py.jinja2
-}
+makedepends="
+ py3-gpep517
+ py3-pdm-backend
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ py3-typogrify
+ tzdata
+ "
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz
+ no-locales-for-tests.patch
+ remove-shebang.patch
+ "
+builddir="$srcdir/$_pkgname-$pkgver"
replaces="pelican" # Backwards compatibility
provides="pelican=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest -p no:warnings \
+ -k 'not test_datetime and not test_blinker_is_ordered'
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+ rm -r "$pkgdir"/usr/lib/python*/site-packages/pelican/tests
}
sha512sums="
-403bd624a8900c6dc5e7da4542cad7e75ed80fd18d9976466563271691fd6141c14e4549d6ca4f90b74fac5b65b0dabc6ee652c3f0008e21089b659fe3c73670 pelican-4.7.1.tar.gz
+3c5ece93864a29aa296e353e044022864c1c551b7a805adeb0914df9021bdf7a3d3977c91ddeba6c542c8879ff5fe7ca23e0163e17aaa93ed36747f35895937b pelican-4.9.1.tar.gz
+5d4c9a8b19d1614ebbf02850891aaf936652b360d961b6f2a849e66184b26f459dc3c7c2f7931429db750d7bd9dfcebfdc223af5b8cba2ebfe79050ede8ec553 no-locales-for-tests.patch
+2bd01659c4cc958b1deb8a9d20cd7585d84228e127050d81c4df424c8e7e4f832fd78f2e42dbc55793788cd8d0ef80cc8bbabb366173ebbfb3bc0a332b308ff6 remove-shebang.patch
"
diff --git a/testing/py3-pelican/no-locales-for-tests.patch b/testing/py3-pelican/no-locales-for-tests.patch
new file mode 100644
index 00000000000..8793ec611fb
--- /dev/null
+++ b/testing/py3-pelican/no-locales-for-tests.patch
@@ -0,0 +1,19 @@
+--- a/pelican/tests/support.py
++++ b/pelican/tests/support.py
+@@ -150,15 +150,7 @@
+
+
+ def locale_available(locale_):
+- old_locale = locale.setlocale(locale.LC_TIME)
+-
+- try:
+- locale.setlocale(locale.LC_TIME, str(locale_))
+- except locale.Error:
+- return False
+- else:
+- locale.setlocale(locale.LC_TIME, old_locale)
+- return True
++ return False
+
+
+ def can_symlink():
diff --git a/testing/py3-pelican/remove-shebang.patch b/testing/py3-pelican/remove-shebang.patch
new file mode 100644
index 00000000000..91633d37870
--- /dev/null
+++ b/testing/py3-pelican/remove-shebang.patch
@@ -0,0 +1,21 @@
+--- a/pelican/tools/pelican_import.py
++++ b/pelican/tools/pelican_import.py
+@@ -1,4 +1,3 @@
+-#!/usr/bin/env python
+
+ import argparse
+ import datetime
+--- a/pelican/tools/pelican_quickstart.py
++++ b/pelican/tools/pelican_quickstart.py
+@@ -1,4 +1,3 @@
+-#!/usr/bin/env python
+
+ import argparse
+ import locale
+--- a/pelican/tools/pelican_themes.py
++++ b/pelican/tools/pelican_themes.py
+@@ -1,4 +1,3 @@
+-#!/usr/bin/env python
+
+ import argparse
+ import os
diff --git a/testing/py3-pep8-naming/APKBUILD b/testing/py3-pep8-naming/APKBUILD
index 37d3fe0c8a9..d7feae3291c 100644
--- a/testing/py3-pep8-naming/APKBUILD
+++ b/testing/py3-pep8-naming/APKBUILD
@@ -1,22 +1,16 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-pep8-naming
-pkgver=0.12.1
-pkgrel=0
+pkgver=0.13.3
+pkgrel=2
pkgdesc="Check PEP-8 naming conventions plugin for flake8"
-url="https://github.com/flintwork/pep8-naming"
+url="https://github.com/PyCQA/pep8-naming"
arch="noarch"
license="MIT"
-depends="python3 py3-flake8 py3-flake8-polyfill"
+depends="python3 py3-flake8"
makedepends="py3-setuptools"
-checkdepends="
- py3-six
- py3-tox
- py3-virtualenv
- "
-source="https://files.pythonhosted.org/packages/source/p/pep8-naming/pep8-naming-$pkgver.tar.gz
- fix-missing-option.patch
- "
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/p/pep8-naming/pep8-naming-$pkgver.tar.gz"
builddir="$srcdir/pep8-naming-$pkgver"
replaces="py-pep8-naming" # Backwards compatibility
@@ -31,10 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-52f3b15455976f48cbe31940764585249d34fcebb6a735820aee5d24daa201d4df2fd2f3fdf807a04ebfd685b04cc42cfc42c238ef84df57af5adca101f26e90 pep8-naming-0.12.1.tar.gz
-a2492ec44ca56e77ef6eda1016368ce9ff035aa125ef758cd080352b9342e3e390432effde1673ce55fa99cde58887446552660907c1a4f0425a856420e07da2 fix-missing-option.patch
+67953b0908833fe6fb9fb1e78ffe315c076814dd5be7d813b2357c977acf5c7355961af76e2a2bb700a5da4030b65ee8e146be5227ec141c4f6ed329de8455d4 pep8-naming-0.13.3.tar.gz
"
diff --git a/testing/py3-pep8-naming/fix-missing-option.patch b/testing/py3-pep8-naming/fix-missing-option.patch
deleted file mode 100644
index 50f6d3ba7ed..00000000000
--- a/testing/py3-pep8-naming/fix-missing-option.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Patch-Source: https://github.com/PyCQA/pep8-naming/pull/181
-From 03b8f36f6a8bb8bc79dfa5a71ad9be2a0bf8bbf5 Mon Sep 17 00:00:00 2001
-From: Ian Stapleton Cordasco <graffatcolmingov@gmail.com>
-Date: Wed, 20 Oct 2021 07:58:49 -0500
-Subject: [PATCH] Add missing option to get passing tests
-
-Related to https://github.com/PyCQA/pep8-naming/pull/180
----
- run_tests.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/run_tests.py b/run_tests.py
-index 64d80b5..660fede 100644
---- a/run_tests.py
-+++ b/run_tests.py
-@@ -86,6 +86,7 @@ def parse_options(checker, options):
- options_manager = OptionsManager('flake8')
- options_manager.add_option('--select', default=[])
- options_manager.add_option('--extended-default-select', default=['N'])
-+ options_manager.add_option('--extend-select', default=[])
- options_manager.add_option('--ignore', default=[])
- options_manager.add_option('--extend-ignore', default=[])
- options_manager.add_option('--enable-extensions', default=[])
diff --git a/testing/py3-pg_activity/APKBUILD b/testing/py3-pg_activity/APKBUILD
deleted file mode 100644
index ec33e15151b..00000000000
--- a/testing/py3-pg_activity/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=py3-pg_activity
-pkgver=2.2.1
-pkgrel=1
-pkgdesc="A top like application for PostgreSQL server activity monitoring."
-url="https://github.com/julmon/pg_activity"
-arch="noarch"
-license="PostgreSQL"
-depends="py3-psycopg2 py3-psutil"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/dalibo/pg_activity/archive/v$pkgver.tar.gz"
-builddir="$srcdir/${pkgname/py3-//}-$pkgver"
-
-replaces=py-pg_activity # Backwards compatibility
-provides=py-pg_activity=$pkgver-r$pkgrel # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-8128dab29465b1521801a0abdbe242c08ee33aba63b6a29b04293e83383a66a302d96a1980afdc5e92b44aebb784f5b093f48dd22e3d2e703247f4f3408120e5 py3-pg_activity-2.2.1.tar.gz
-"
diff --git a/testing/py3-pgspecial/APKBUILD b/testing/py3-pgspecial/APKBUILD
deleted file mode 100644
index 4b661990043..00000000000
--- a/testing/py3-pgspecial/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Thomas Boerger <thomas@webhippie.de>
-# Maintainer: Thomas Boerger <thomas@webhippie.de>
-pkgname=py3-pgspecial
-_pkgname=pgspecial
-pkgver=1.11.10
-pkgrel=2
-pkgdesc="Meta-commands handler for Postgres Database"
-url="https://pypi.python.org/pypi/pgspecial"
-arch="noarch"
-license="BSD-3-Clause"
-depends="py3-click py3-psycopg2 py3-sqlparse"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-replaces="py-pgspecial" # Backwards compatibility
-provides="py-pgspecial=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="04ef511a26a92bc21a99d256e8f71ce6b12b8ee66a50dd2e2b92e647a0163a23e49f4451eaed0d11c7fbf6ffb421444f48d1991b66c9c3b8a3aa8a00fafbeb08 pgspecial-1.11.10.tar.gz"
diff --git a/testing/py3-phpserialize/APKBUILD b/testing/py3-phpserialize/APKBUILD
index 15446bc91f4..0e6353e6d84 100644
--- a/testing/py3-phpserialize/APKBUILD
+++ b/testing/py3-phpserialize/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-phpserialize
_pkgname=phpserialize
pkgver=1.3
-pkgrel=4
+pkgrel=7
pkgdesc="A PHP serializer implementation for Python"
options="!check" # failures=1
url="https://github.com/mitsuhiko/phpserialize"
@@ -11,6 +11,7 @@ arch="noarch"
license="BSD-3-Clause"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/mitsuhiko/phpserialize/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -26,7 +27,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="d96e3aa87d2f03fef6c7cee234e90b373989a9c8e3a07a8e2147a2e7487d3448ea0ef646263e517d6b307bf66f9ba1a4e8def04f919767532cede802cc7db144 py3-phpserialize-1.3.tar.gz"
diff --git a/testing/py3-piccata/APKBUILD b/testing/py3-piccata/APKBUILD
new file mode 100644
index 00000000000..502037f8c07
--- /dev/null
+++ b/testing/py3-piccata/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-piccata
+pkgver=2.0.3
+pkgrel=1
+pkgdesc="Python CoAP Toolkit"
+url="https://github.com/NordicSemiconductor/piccata"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="piccata-$pkgver.tar.gz::https://github.com/NordicSemiconductor/piccata/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/piccata-$pkgver"
+options="!check" # no test ran
+
+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
+
+ # test_decode is broken
+ case "$CARCH" in
+ ppc64le) .testenv/bin/python3 -m unittest discover -k 'not test_decode and not test_client_server_communication' ;;
+ *) .testenv/bin/python3 -m unittest discover -k 'not test_decode' ;;
+ esac
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+0ca0a94e8eff860ddf8a2c41c4047e0838543490e12f651859d176bf70fd892618f92bc7da47cc6612bd2885f6a122b6ba9349d3536ce2abfcee1db81caf6624 piccata-2.0.3.tar.gz
+"
diff --git a/testing/py3-pickle-secure/APKBUILD b/testing/py3-pickle-secure/APKBUILD
new file mode 100644
index 00000000000..2b7eb6edf3d
--- /dev/null
+++ b/testing/py3-pickle-secure/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=py3-pickle-secure
+pkgver=0.99.9
+pkgrel=1
+pkgdesc="Easily create encrypted pickle files"
+url="https://pypi.org/project/pickle-secure/"
+arch="noarch"
+license="LGPL-3.0-or-later"
+depends="py3-cryptography"
+makedepends="py3-gpep517 py3-poetry-core"
+checkdepends="py3-pytest-cov"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/spapanik/pickle-secure/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/pickle-secure-$pkgver"
+
+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="
+b4594d50def34c0470b547dacb71d445227183e5cd78ac28aced37cc0b1007296988d82aefe4265b06adf61f0a57d29dd008a1517216034aa84b4eed5a10236f py3-pickle-secure-0.99.9.tar.gz
+"
diff --git a/testing/py3-piexif/APKBUILD b/testing/py3-piexif/APKBUILD
deleted file mode 100644
index 543121e05f4..00000000000
--- a/testing/py3-piexif/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: prspkt <prspkt@protonmail.com>
-# Maintainer: prspkt <prspkt@protonmail.com>
-pkgname=py3-piexif
-_pyname=piexif
-pkgver=1.1.3
-pkgrel=3
-pkgdesc="EXIF manipulations with Python"
-url="https://github.com/hMatoba/Piexif"
-arch="noarch !armhf !armv7 !s390x !x86" # Test failures
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pillow"
-options="!check" # tests are broken https://github.com/hMatoba/Piexif/issues/108
-source="https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.zip"
-builddir="$srcdir"/$_pyname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="df5f7793c39911af58bbae76cf998e2a7bc820b84dcf9808ee8f6a38f766f824fef28392ef88387e18b10c270c4b27881be310f0368076b6fb65379a11a93270 piexif-1.1.3.zip"
diff --git a/testing/py3-pika/APKBUILD b/testing/py3-pika/APKBUILD
index 7af9cadc0ce..a5d67d891ce 100644
--- a/testing/py3-pika/APKBUILD
+++ b/testing/py3-pika/APKBUILD
@@ -2,21 +2,22 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-pika
_pkgname=pika
-pkgver=1.2.0
+pkgver=1.3.2
pkgrel=1
pkgdesc="Python3 AMQP client library"
options="!check" # failures=1
-url="https://pika.readthedocs.org"
+url="https://pika.readthedocs.org/"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-tornado py3-twisted"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-installer py3-setuptools py3-wheel"
checkdepends="
py3-coverage
py3-codecov
py3-mock
py3-nose
"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/pika/pika/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -24,7 +25,9 @@ replaces="py-pika" # Backwards compatibility
provides="py-pika=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 1
}
check() {
@@ -32,9 +35,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-0b5db7e09e589b35b42221970dc16c1fe26a7a7be35ab64a23574ae8d2eff72d700f6c95b457f8a4558f6835f3a80f464479e1db75826382776e74819412014b py3-pika-1.2.0.tar.gz
+86c1c33db808274052cbe18af68bef685fafa260f692d16dcd3ce6259107c343ebdd3482713a7948583566581defa6037f3344d03b11c50458432d044d8b2057 py3-pika-1.3.2.tar.gz
"
diff --git a/testing/py3-pip-system-certs/APKBUILD b/testing/py3-pip-system-certs/APKBUILD
new file mode 100644
index 00000000000..7e218d23ecc
--- /dev/null
+++ b/testing/py3-pip-system-certs/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Frank Oltmanns <alpine@oltmanns.dev>
+pkgname=py3-pip-system-certs
+pkgver=4.0
+pkgrel=1
+pkgdesc="Patches pip and requests at runtime to use certificates from the default system store"
+url="https://pypi.org/project/pip-system-certs/"
+arch="noarch"
+license="BSD-2-Clause"
+depends="py3-wrapt"
+makedepends="
+ py3-git-versioner
+ py3-gpep517
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://gitlab.com/alelec/pip-system-certs/-/archive/v$pkgver/pip-system-certs-v$pkgver.tar.gz"
+builddir="$srcdir/pip-system-certs-v$pkgver"
+options="!check" # test suite installs/uninstalls using pip. Skip that.
+
+build() {
+ GIT_VERSIONER_VERSION_PY=$pkgver \
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+6c583e0f8b61a774a78e0f561aa95717ed3e5735268bdd6a2767f0803697a3f7a64d132c9d1d5947a2bf06c220b9da4a10d4c31e8e523605422c4cbb7935a294 pip-system-certs-v4.0.tar.gz
+"
diff --git a/testing/py3-pivy/APKBUILD b/testing/py3-pivy/APKBUILD
index e307a21af33..86d311220a2 100644
--- a/testing/py3-pivy/APKBUILD
+++ b/testing/py3-pivy/APKBUILD
@@ -1,34 +1,29 @@
# Contributor: Aiden Grossman <agrossman154@yahoo.com>
# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
pkgname=py3-pivy
-_pkgname=pivy
-pkgver=0.6.6
-pkgrel=1
+pkgver=0.6.9_alpha0
+pkgrel=0
pkgdesc="Python3 bindings for coin"
url="https://github.com/coin3d/pivy"
-# riscv64 blocked by qt5-qtwebengine via py3-pyside2
-# py3-pisde2 is not available on armhf
-arch="all !armhf !riscv64"
+# riscv64 blocked by py3-pyside6
+arch="all !riscv64"
license="ISC"
-depends="py3-pyside2"
-makedepends="swig soqt-dev qt5-qtbase-dev python3-dev glu-dev cmake"
+depends="py3-pyside6"
+makedepends="swig soqt-dev qt6-qtbase-dev python3-dev glu-dev cmake samurai"
checkdepends="py3-pytest"
options="!check" # test suite is interactive and requires full installation
-source="$pkgname-$pkgver.tar.gz::https://github.com/coin3d/pivy/archive/refs/tags/$pkgver.tar.gz
- qt5.patch
- "
-builddir="$srcdir/$_pkgname-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/coin3d/pivy/archive/refs/tags/${pkgver//_alpha/.a}.tar.gz"
+builddir="$srcdir/pivy-${pkgver//_alpha/.a}"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- $CMAKE_CROSSOPTS .
+ $CMAKE_CROSSOPTS
cmake --build build
}
@@ -37,6 +32,5 @@ package() {
}
sha512sums="
-e260c6abd0aede7621d5fed66eeceb98a32634af84370ef713d70d583ec017cded4be682fd7e70e5faa19988a5e032a9d2f2308b8ae6dd9495d76e884de1d80c py3-pivy-0.6.6.tar.gz
-7750ded3eb09da510ba5f84e7957c2ae1f92be0df280901fd9c9eba4164758a8f2d436e2d6ae7634a91aed12609f4eefd181922e6caed0b4906c6bc9dbd7b562 qt5.patch
+1bfefd58d2921c8be170a97efa30cad53b01f636ea0cf236acca242be4f691669a4c310cd61c64d3e0c55e55e8be96d36945cd244380ddc0b3a06170d0f8b691 py3-pivy-0.6.9_alpha0.tar.gz
"
diff --git a/testing/py3-pivy/qt5.patch b/testing/py3-pivy/qt5.patch
deleted file mode 100644
index 7dfdc97658a..00000000000
--- a/testing/py3-pivy/qt5.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./qtinfo.py
-+++ ./qtinfo.py
-@@ -7,7 +7,7 @@
- if qmake_command:
- self._qmake_command = qmake_command
- else:
-- self._qmake_command = [find_executable("qmake"),]
-+ self._qmake_command = [find_executable("qmake-qt5"),]
- self._dict = {}
- # bind all variables early at __init__ time.
- for thing in self.__class__.__dict__:
diff --git a/testing/py3-plac/APKBUILD b/testing/py3-plac/APKBUILD
deleted file mode 100644
index 3adcf01bdf2..00000000000
--- a/testing/py3-plac/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-plac
-pkgver=1.3.3
-pkgrel=1
-pkgdesc="Parsing the command line the easy way"
-url="https://github.com/micheles/plac"
-arch="noarch"
-license="BSD-2-Clause"
-depends="python3 py3-argparse"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-sqlsoup"
-source="https://files.pythonhosted.org/packages/source/p/plac/plac-$pkgver.tar.gz
- index.rst" # replicate index.rst for tests to pass
-builddir="$srcdir/plac-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- cp "$srcdir/index.rst" "$builddir/doc/index.rst"
- PYTHONPATH="$PWD/build/lib" pytest-3 -v -k "not test_expected_help"
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="304cd2ca23adf45b150adb395d83c3653228177c0a14db207150b7f9cd5a992421959c6e3c1204dd80f5cb09f7e601bd689034fa158a500e9214d4357f68a2e8 plac-1.3.3.tar.gz
-763e0838200a4dc25c4d4a74a9dc5b8ff8c32f5e67d00207a9f43274ad42eff1e0c6f08d04dc7123967d9426231d1ba3b0f0e8c0fcc688a528389e22f5b4c477 index.rst"
diff --git a/testing/py3-plac/index.rst b/testing/py3-plac/index.rst
deleted file mode 100644
index 74d4fecad20..00000000000
--- a/testing/py3-plac/index.rst
+++ /dev/null
@@ -1,2 +0,0 @@
-.. include:: plac_core.rst
-.. include:: plac_adv.rst
diff --git a/testing/py3-playsound/APKBUILD b/testing/py3-playsound/APKBUILD
index 182ed6faf05..6ba8f1def02 100644
--- a/testing/py3-playsound/APKBUILD
+++ b/testing/py3-playsound/APKBUILD
@@ -1,24 +1,30 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=py3-playsound
-pkgver=1.2.2
+pkgver=1.3.0
pkgrel=1
-_commit=907f1fe73375a2156f7e0900c4b42c0a60fa1d00
pkgdesc="Pure Python, cross platform, single function module for playing sounds"
-options="!check" # No testsuite
url="https://github.com/TaylorSMarks/playsound"
arch="noarch"
license="MIT"
-depends="python3"
+depends="python3 py3-gobject3 py3-gst"
makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/TaylorSMarks/playsound/archive/$_commit.tar.gz"
-builddir="$srcdir/playsound-$_commit"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/TaylorSMarks/playsound/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/playsound-$pkgver"
+options="!check" # tests hang
build() {
python3 setup.py build
}
+check() {
+ python3 test.py
+}
+
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="decd84ac3e7105adaecdd817cd2ff65eea5e507934278b058e5d183b384b9dd9dbd73236313e2eaed2b38f39ebbeb73f18bdefddde92b5963266e7773cbecc77 py3-playsound-1.2.2.tar.gz"
+sha512sums="
+a64d34ae843bc648a26a5c146e87f7a4da0a99edae5c9b50a522527a20cc464ddc80d85572efece4518c43e5a54a7ffdf756ebc3adad96d552314fa40e491148 py3-playsound-1.3.0.tar.gz
+"
diff --git a/testing/py3-plexapi/APKBUILD b/testing/py3-plexapi/APKBUILD
new file mode 100644
index 00000000000..0629a98d1c1
--- /dev/null
+++ b/testing/py3-plexapi/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=py3-plexapi
+_pkgname=python-plexapi
+pkgver=4.15.11
+pkgrel=1
+pkgdesc="Python bindings for the Plex API"
+url="https://github.com/pkkid/python-plexapi"
+arch="noarch"
+license="BSD-3-Clause"
+# tests requires an instance of plex running
+# net for sphinx
+options="net !check"
+depends="
+ python3
+ py3-requests
+ "
+makedepends="
+ py3-gpep517
+ py3-recommonmark
+ py3-setuptools
+ py3-sphinx_rtd_theme
+ py3-wheel
+ "
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://github.com/pkkid/python-plexapi/archive/$pkgver/py3-plexapi-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+ sphinx-build -W -b man docs man
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+ install -Dm644 man/pythonplexapi.1 -t "$pkgdir"/usr/share/man/man1
+}
+
+sha512sums="
+c68b414aa9262c3505dc2490c38e8d5dd896970f4df7fe8d382a0c5f2276ecc9833767e243b596c4f0f625e6d8984f5f89790fe7a71e9b6cab1c439f26b9cde1 py3-plexapi-4.15.11.tar.gz
+"
diff --git a/testing/py3-pockethernet/APKBUILD b/testing/py3-pockethernet/APKBUILD
index 94c8f48d4b1..4829d8af4be 100644
--- a/testing/py3-pockethernet/APKBUILD
+++ b/testing/py3-pockethernet/APKBUILD
@@ -1,7 +1,8 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
+# Contributor: Martijn Braam <martijn@brixit.nl>
pkgname=py3-pockethernet
_pyname=pockethernet
-pkgver=0.2.1
+pkgver=0.7.0
pkgrel=3
pkgdesc="Library for controlling the Pockethernet"
url="https://gitlab.com/MartijnBraam/pockethernet-protocol"
@@ -10,8 +11,9 @@ license="MIT"
depends="python3 py3-cobs py3-crc16"
makedepends="py3-setuptools"
_pypiprefix="${_pyname%${_pyname#?}}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir=$srcdir/$_pyname-$pkgver
+subpackages="$pkgname-pyc"
+source="https://gitlab.com/MartijnBraam/pockethernet-protocol/-/archive/$pkgver/pockethernet-protocol-$pkgver.tar.gz"
+builddir=$srcdir/pockethernet-protocol-$pkgver
build() {
python3 setup.py build
@@ -22,6 +24,8 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="df8c438868a15e8e401a62b3033a6e81610fdb4d54a66be42a8691b965820f2e58ddf8a31a8334412f8decc0c771849f8c02798d64e71413a3b821365ed5e3cb pockethernet-0.2.1.tar.gz"
+sha512sums="
+e312f712b8ca914d307a9d2a4a82d5c954f210c1fb7936442e0c5608a8bab92a5b2e100a8e5be24a249f9ca15e6de2086c50bebd48ba6dcf69f70bf50e7b2c4d pockethernet-protocol-0.7.0.tar.gz
+"
diff --git a/testing/py3-podman/APKBUILD b/testing/py3-podman/APKBUILD
deleted file mode 100644
index 2df37f893b6..00000000000
--- a/testing/py3-podman/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-podman
-pkgver=3.2.1
-pkgrel=1
-pkgdesc="Python bindings for Podman's RESTful API"
-url="https://github.com/containers/podman-py"
-license="Apache-2.0"
-arch="noarch"
-depends="python3 py3-requests py3-toml py3-xdg"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-requests-mock py3-fixtures py3-testtools"
-source="https://github.com/containers/podman-py/archive/v$pkgver/py3-podman-$pkgver.tar.gz
- python3.10.patch
- fix-tests.patch
- "
-builddir="$srcdir/podman-py-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest podman/tests/unit
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
-}
-
-sha512sums="
-656a5e61d9809e2866a071ff5b4792fb71fbe0f8cc05467b498718b74898acc39a970ba64fc08ffe70d9c34a9caeabc3d8ea07dcce856fec308b6ebd268b2fb0 py3-podman-3.2.1.tar.gz
-bca951c54bc663120be1f1d6021d60ada6c778ac2fdc51f6f5173c246c099ebde8b5247a4f0669e603723d2417cbe3824791059597b63c36cb673b81b018a9aa python3.10.patch
-c73671e893ede2f325875c39db44a8752ef8f101dd2eebcbe0f3ba9be723db5fe5fa114ce3d08cc38562006007dcb0e0cbfd1ac70c993761ce2fa75a5e189735 fix-tests.patch
-"
diff --git a/testing/py3-podman/fix-tests.patch b/testing/py3-podman/fix-tests.patch
deleted file mode 100644
index 86689a7e7af..00000000000
--- a/testing/py3-podman/fix-tests.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Patch-Source: https://github.com/containers/podman-py/pull/154
-
-From d1f4a6a0c095c3b9665c4f4d2fa492036094db80 Mon Sep 17 00:00:00 2001
-From: "Jonathan G. Underwood" <jonathan.underwood@gmail.com>
-Date: Sun, 26 Dec 2021 19:17:07 +0000
-Subject: [PATCH] Fix incorrect patching of open() in tests
-
-The tests for prepare_containerignore incorrectly patch the io.open()
-function. Since prepare_containerignore calls the open instance method
-on a pathlib.Path object, we patch pathlib.Path.open() instead.
-
-Patching io.open() worked when the tests were run under nose, but not
-under pytest. With this change the tests work under both.
----
- podman/tests/unit/test_api_utils.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/podman/tests/unit/test_api_utils.py b/podman/tests/unit/test_api_utils.py
-index 321c2cf..6867df8 100644
---- a/podman/tests/unit/test_api_utils.py
-+++ b/podman/tests/unit/test_api_utils.py
-@@ -65,7 +65,7 @@ def test_containerignore_read(self, patch_exists):
- **/*.class
- """
-
-- with mock.patch("io.open", mock_open(read_data=data)):
-+ with mock.patch("pathlib.Path.open", mock_open(read_data=data)):
- actual = api.prepare_containerignore(".")
-
- self.assertListEqual(
-@@ -79,7 +79,7 @@ def test_containerignore_empty(self, patch_exists):
- """
-
- patch_exists.return_value = True
-- with mock.patch("io.open", mock_open(read_data=data)):
-+ with mock.patch("pathlib.Path.open", mock_open(read_data=data)):
- actual = api.prepare_containerignore(".")
-
- self.assertListEqual(actual, [])
diff --git a/testing/py3-podman/python3.10.patch b/testing/py3-podman/python3.10.patch
deleted file mode 100644
index 65dcd6ca9da..00000000000
--- a/testing/py3-podman/python3.10.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Patch-Source: https://github.com/containers/podman-py/pull/154
-
-From 3de1796a9acb9864ff0f79fac63edb74e8b94242 Mon Sep 17 00:00:00 2001
-From: "Jonathan G. Underwood" <jonathan.underwood@gmail.com>
-Date: Sat, 25 Dec 2021 13:07:01 +0000
-Subject: [PATCH] Import Iterator/Iterable from collections.abc for Python >=
- 3.10
-
----
- podman/tests/integration/test_containers.py | 7 ++++++-
- podman/tests/unit/test_build.py | 7 ++++++-
- podman/tests/unit/test_container.py | 7 ++++++-
- podman/tests/unit/test_containersmanager.py | 7 ++++++-
- podman/tests/unit/test_imagesmanager.py | 7 ++++++-
- 5 files changed, 30 insertions(+), 5 deletions(-)
-
-diff --git a/podman/tests/integration/test_containers.py b/podman/tests/integration/test_containers.py
-index 1283735..b8f9955 100644
---- a/podman/tests/integration/test_containers.py
-+++ b/podman/tests/integration/test_containers.py
-@@ -2,7 +2,12 @@
- import random
- import tarfile
- import unittest
--from collections import Iterator
-+try:
-+ # Python >= 3.10
-+ from collections.abc import Iterator
-+except:
-+ # Python < 3.10
-+ from collections import Iterator
-
- import podman.tests.integration.base as base
- from podman import PodmanClient
-diff --git a/podman/tests/unit/test_build.py b/podman/tests/unit/test_build.py
-index 96f8f52..d4c26bc 100644
---- a/podman/tests/unit/test_build.py
-+++ b/podman/tests/unit/test_build.py
-@@ -1,7 +1,12 @@
- import io
- import json
- import unittest
--from collections import Iterable
-+try:
-+ # Python >= 3.10
-+ from collections.abc import Iterable
-+except:
-+ # Python < 3.10
-+ from collections import Iterable
- from unittest.mock import patch
-
- import requests_mock
-diff --git a/podman/tests/unit/test_container.py b/podman/tests/unit/test_container.py
-index d114853..8521777 100644
---- a/podman/tests/unit/test_container.py
-+++ b/podman/tests/unit/test_container.py
-@@ -2,7 +2,12 @@
- import io
- import json
- import unittest
--from collections import Iterable
-+try:
-+ # Python >= 3.10
-+ from collections.abc import Iterable
-+except:
-+ # Python < 3.10
-+ from collections import Iterable
-
- import requests_mock
-
-diff --git a/podman/tests/unit/test_containersmanager.py b/podman/tests/unit/test_containersmanager.py
-index 71ad093..4932823 100644
---- a/podman/tests/unit/test_containersmanager.py
-+++ b/podman/tests/unit/test_containersmanager.py
-@@ -1,5 +1,10 @@
- import unittest
--from collections import Iterator
-+try:
-+ # Python >= 3.10
-+ from collections.abc import Iterator
-+except:
-+ # Python < 3.10
-+ from collections import Iterator
- from unittest.mock import patch, DEFAULT
-
- import requests_mock
-diff --git a/podman/tests/unit/test_imagesmanager.py b/podman/tests/unit/test_imagesmanager.py
-index 2398b6a..eca629a 100644
---- a/podman/tests/unit/test_imagesmanager.py
-+++ b/podman/tests/unit/test_imagesmanager.py
-@@ -1,6 +1,11 @@
- import types
- import unittest
--from collections import Iterable
-+try:
-+ # Python >= 3.10
-+ from collections.abc import Iterable
-+except:
-+ # Python < 3.10
-+ from collections import Iterable
-
- import requests_mock
-
diff --git a/testing/py3-poetry-core/APKBUILD b/testing/py3-poetry-core/APKBUILD
deleted file mode 100644
index 5db4c15c6f4..00000000000
--- a/testing/py3-poetry-core/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-poetry-core
-_pkgname=poetry-core
-pkgver=1.0.7
-pkgrel=1
-pkgdesc="PEP 517 build backend implementation for Poetry"
-url="https://github.com/python-poetry/poetry-core"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-pip"
-checkdepends="py3-pytest py3-pytest-mock py3-virtualenv python3-dev"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/python-poetry/poetry-core/archive/$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-check() {
- # skip test that is incompatible with the .gitignore file in the aports tree (src entry)
- pytest tests \
- --deselect tests/masonry/builders/test_sdist.py::test_includes_with_inline_table
- pytest --integration tests/integration
-}
-
-package() {
- pip install --compile --no-deps --root="$pkgdir" .
-}
-
-sha512sums="
-40a8b17ae7c51135eb5f96ec76426f075075de7dafff8ab828fe3b47d13759856a7fd2e7504c1216c4f942befde2c6d42c3976978202ce7aa224e966162bd8e5 poetry-core-1.0.7.tar.gz
-"
diff --git a/testing/py3-poetry-dynamic-versioning/APKBUILD b/testing/py3-poetry-dynamic-versioning/APKBUILD
new file mode 100644
index 00000000000..450d4b34ab2
--- /dev/null
+++ b/testing/py3-poetry-dynamic-versioning/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-poetry-dynamic-versioning
+pkgver=1.2.0
+pkgrel=1
+pkgdesc="Plugin for Poetry to enable dynamic versioning based on VCS tags"
+url="https://github.com/mtkennerly/poetry-dynamic-versioning"
+arch="noarch"
+license="MIT"
+depends="py3-dunamai py3-tomlkit py3-jinja2 py3-poetry-core"
+makedepends="py3-gpep517 py3-poetry-core py3-wheel py3-installer"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/mtkennerly/poetry-dynamic-versioning/archive/v$pkgver/py3-poetry-dynamic-versioning-$pkgver.tar.gz"
+builddir="$srcdir/poetry-dynamic-versioning-$pkgver"
+options="!check" # tests require a git repo
+
+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="
+7e12745045dfa8b8bc7c140165cb39eef0e0231e23903ed7f58761e109dc28254906bc9609fd4b830559a8c462bd3cf80ac7a0bb71f6ba91ae9ef3a2d70cd811 py3-poetry-dynamic-versioning-1.2.0.tar.gz
+"
diff --git a/testing/py3-poppler-qt5/APKBUILD b/testing/py3-poppler-qt5/APKBUILD
new file mode 100644
index 00000000000..e58354b9616
--- /dev/null
+++ b/testing/py3-poppler-qt5/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Krystian Chachuła <krystian@krystianch.com>
+pkgname=py3-poppler-qt5
+_pkgname=python-poppler-qt5
+pkgver=21.3.0
+pkgrel=1
+pkgdesc="Python binding to Poppler-Qt5"
+url="https://github.com/frescobaldi/python-poppler-qt5"
+arch="all"
+license="LGPL-2.1-or-later"
+depends="py3-qt5 poppler-qt5"
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-sip
+ python3-dev
+ py3-pyqt-builder
+ qt5-qtbase-dev
+ poppler-qt5-dev
+"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/frescobaldi/python-poppler-qt5/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
+}
+
+sha512sums="
+cc942a860c2c999ff04fb0468b1556b0e23e7aa19a0185a39c5e903e717dca64bcbd51b8fe34b6885bd789cbf5cc1080c2ca1dcee30b3e69fa1721618e8db278 python-poppler-qt5-21.3.0.tar.gz
+"
diff --git a/testing/py3-pprintpp/APKBUILD b/testing/py3-pprintpp/APKBUILD
new file mode 100644
index 00000000000..2a90eeca843
--- /dev/null
+++ b/testing/py3-pprintpp/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-pprintpp
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="A drop-in replacement for pprint that's actually pretty"
+url="https://github.com/wolever/pprintpp"
+arch="noarch"
+license="BSD-2-Clause"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://pypi.python.org/packages/source/p/pprintpp/pprintpp-$pkgver.tar.gz
+ $pkgname-0001-remove-u.patch::https://github.com/wolever/pprintpp/commit/deec5e5efad562fc2f9084abfe249ed0c7dd65fa.patch
+ "
+options="!check" # No tests
+builddir="$srcdir/pprintpp-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+c59d759744499ec74bbbbcf440a45b4bb5a1ed0586cd76d444da764eb3e3c02ef5e883c00c0501f1138baa84b04f5e89ce3f8c9ed7a9cbe65c93d42deb573010 pprintpp-0.4.0.tar.gz
+5fc1e52ff7e64fa6dad3e19f160d948dfcef24c6afa493878395cdfbe701fce20c85a8dee46be9ef86d6a56f7c1bdc02d4c735c9186bfc10b00d8e9f0166cc85 py3-pprintpp-0001-remove-u.patch
+"
diff --git a/testing/py3-precis-i18n/APKBUILD b/testing/py3-precis-i18n/APKBUILD
deleted file mode 100644
index a6ad1e322b3..00000000000
--- a/testing/py3-precis-i18n/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=py3-precis-i18n
-_pkgname=precis-i18n
-pkgver=1.0.2
-pkgrel=2
-pkgdesc="Internationalized Usernames and Passwords"
-url="https://github.com/byllyfish/precis_i18n"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/byllyfish/precis_i18n/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/${_pkgname/-/_}-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-check() {
- python3 setup.py test
-}
-sha512sums="bbbc52ae11fc9f0da3f4723d52205c4103f6f96929f10926436b1bff3aee22ce9ff2f7bdf9df6c9f82a4b99aeea94a9ad5df85b9c9f03bccfa5109c35eb181d7 precis-i18n-1.0.2.tar.gz"
diff --git a/testing/py3-preggy/APKBUILD b/testing/py3-preggy/APKBUILD
index 8c3149a382e..14a49191ccd 100644
--- a/testing/py3-preggy/APKBUILD
+++ b/testing/py3-preggy/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-preggy
_pkgname=preggy
pkgver=1.4.4
-pkgrel=1
+pkgrel=4
pkgdesc="assertion library for Python"
options="!check" # no test suite
url="http://heynemann.github.io/preggy"
@@ -11,7 +11,7 @@ arch="noarch"
license="MIT"
depends="python3 py3-six py3-unidecode"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -20,11 +20,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -Dm644 README.md "$pkgdir"/usr/share/licenses/$pkgname/README.md
}
-
sha512sums="
6eb6073eb28ba8684f2795c1d9aa93c2a24e50063359a769f7f7d84da2928e25a0ca86d4ac268dce0c2462bbe1a73e76f496325b6175a1218025e15fb7ce4f4c preggy-1.4.4.tar.gz
"
diff --git a/testing/py3-preshed/APKBUILD b/testing/py3-preshed/APKBUILD
deleted file mode 100644
index 4fc050cf428..00000000000
--- a/testing/py3-preshed/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-preshed
-pkgver=3.0.5
-pkgrel=2
-pkgdesc="Cython hash tables that assume keys are pre-hashed"
-url="https://github.com/explosion/preshed"
-arch="all"
-license="MIT"
-depends="python3 py3-cymem py3-murmurhash"
-makedepends="python3-dev py3-setuptools cython"
-checkdepends="py3-pytest"
-subpackages="$pkgname-doc"
-source="preshed-$pkgver.tar.gz::https://github.com/explosion/preshed/archive/v$pkgver.tar.gz"
-builddir="$srcdir/preshed-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py install --root="$PWD/tmp_install"
-
- cd tmp_install/$(python3 -c "import site; print(site.getsitepackages()[0])")
-
-
- PYTHONPATH="$PWD/usr/lib" \
- pytest-3 preshed
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="8ff93890e421ad67504152c06265c39cff373e0f6c0d4fae78b6ab5d4847611dc424cc00fb809fafa8d6880d710ed927f7db36d0bd80f98a51f4ba456b164b91 preshed-3.0.5.tar.gz"
diff --git a/testing/py3-proglog/APKBUILD b/testing/py3-proglog/APKBUILD
index ee5f7dd53df..e9e685ffed1 100644
--- a/testing/py3-proglog/APKBUILD
+++ b/testing/py3-proglog/APKBUILD
@@ -1,23 +1,42 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=py3-proglog
-pkgver=0.1.9
-pkgrel=1
+pkgver=0.1.10
+pkgrel=2
pkgdesc="Log and progress bar manager for console, notebooks, web"
url="https://github.com/Edinburgh-Genome-Foundry/Proglog"
arch="noarch"
license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/fe/ab/4cb19b578e1364c0b2d6efd6521a8b4b4e5c4ae6528041d31a2a951dd991/proglog-$pkgver.tar.gz"
-options="!check" # No testsuite
-builddir="$srcdir/proglog-$pkgver"
+depends="
+ py3-tqdm
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Edinburgh-Genome-Foundry/Proglog/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/Proglog-$pkgver"
build() {
- python3 setup.py 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 setup.py install --root="$pkgdir" --optimize=1
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="9491bee1d1e15e047df19091e764dce02f5d7c698706766e5e8dc9494fd628af5a973751170b713641c8df5882f3964fcfdc8c6db66fb1d20e601cdcbf4bc019 proglog-0.1.9.tar.gz"
+sha512sums="
+5613643430d9842efa4b4061a1afcefdbbf7b7367a7ccd61b35080c7b514b384bec40457e18cf21dd637885249efe827b9604751a3c7980dce48a5a28a0eb07b py3-proglog-0.1.10.tar.gz
+"
diff --git a/testing/py3-progressbar/APKBUILD b/testing/py3-progressbar/APKBUILD
deleted file mode 100644
index 0e4933e9716..00000000000
--- a/testing/py3-progressbar/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-progressbar
-_pkgname=progressbar
-pkgver=2.5
-pkgrel=5
-pkgdesc="Text progress bar library for Python"
-url="https://github.com/niltonvolpato/python-progressbar"
-arch="noarch"
-license="BSD-3-Clause LGPL-2.1-or-later"
-replaces="py-progressbar" # for backwards compatibility
-provides="py-progressbar=$pkgver-r$pkgrel" # for backwards compatibility
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- cd "$builddir"
- python3 setup.py build
-}
-
-package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="86a56a573b903b947baac98b26f88e40072603007fdf5cda3e4a7e797fe4c4c42fd1a4b1ddb1c9ca9a062659d3647c428e33949e2df9e20b0f56a9a4099de51b progressbar-2.5.tar.gz"
diff --git a/testing/py3-progressbar2/APKBUILD b/testing/py3-progressbar2/APKBUILD
new file mode 100644
index 00000000000..67e742a7e62
--- /dev/null
+++ b/testing/py3-progressbar2/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=py3-progressbar2
+_pkgname=progressbar2
+pkgver=4.2.0
+pkgrel=2
+pkgdesc="Text progress bar library for Python"
+url="https://github.com/WoLpH/python-progressbar"
+arch="noarch !s390x" # py3-utils
+license="BSD-3-Clause"
+replaces="py-progressbar" # for backwards compatibility
+provides="py-progressbar=$pkgver-r$pkgrel" # for backwards compatibility
+depends="python3 py3-utils py3-freezegun"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest py3-pytest-cov"
+
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH="$PWD" pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+d49c154e48bd730c2a7916ed53272ff20cb6fac8c9752734cf645d4701ffcdf25309bf493d03fdc5b6072a85b5f758332fa7448f307d4acc001ad4ab36303a68 progressbar2-4.2.0.tar.gz
+"
diff --git a/testing/py3-proplot/APKBUILD b/testing/py3-proplot/APKBUILD
new file mode 100644
index 00000000000..47d232f2cb0
--- /dev/null
+++ b/testing/py3-proplot/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
+# Maintainer: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
+pkgname=py3-proplot
+pkgver=0.9.7
+pkgrel=2
+pkgdesc="Succinct matplotlib wrapper for making beautiful, publication-quality graphics"
+url="https://github.com/proplot-dev/proplot"
+arch="noarch"
+license="MIT"
+depends="py3-matplotlib py3-numpy"
+makedepends="
+ py3-gpep517
+ py3-setuptools_scm
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/proplot-dev/proplot/archive/v$pkgver/proplot-$pkgver.tar.gz"
+builddir="$srcdir/proplot-$pkgver"
+options="!check" # issues during the collection | will be fixed before moving to community
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+3fce95d8bad6ed3e691251dfe4fdb6434bbce13d8bce28e8cb2696d390a29687fa033eabd0791b462ea23ca670244d82ac66a0b6e0361a39fb0ba3dadf736b0e proplot-0.9.7.tar.gz
+"
diff --git a/testing/py3-protego/APKBUILD b/testing/py3-protego/APKBUILD
index 8cee32876b2..eca7d348f83 100644
--- a/testing/py3-protego/APKBUILD
+++ b/testing/py3-protego/APKBUILD
@@ -1,15 +1,16 @@
# Contributor: prspkt <prspkt@protonmail.com>
# Maintainer: prspkt <prspkt@protonmail.com>
pkgname=py3-protego
-pkgver=0.1.16
-pkgrel=2
+pkgver=0.3.0
+pkgrel=1
pkgdesc="Pure-Python robots.txt parser with support for modern conventions"
url="https://github.com/scrapy/protego"
arch="noarch"
license="BSD-3-Clause"
-depends="python3 py3-six"
+depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/P/Protego/Protego-$pkgver.tar.gz"
builddir="$srcdir/Protego-$pkgver"
@@ -22,7 +23,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="437a52eb05d77db0d084a572a528e92ff71702ea46df794b081f8ca0338d92a89035bd4f02891ae636b8662ecd4c4e129c4e54d4267b1ea36d40df6dd616b9a0 Protego-0.1.16.tar.gz"
+sha512sums="
+cb1209f93ed5dd6dc91d517107837c780e2138efa7766a9f6d00bd22d7b1904a5db5edb08db83bde34571735245d702db3a5c67970103dc77859bb4c9024e863 Protego-0.3.0.tar.gz
+"
diff --git a/testing/py3-proxmoxer/APKBUILD b/testing/py3-proxmoxer/APKBUILD
new file mode 100644
index 00000000000..0c4dcc9015e
--- /dev/null
+++ b/testing/py3-proxmoxer/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-proxmoxer
+pkgver=2.0.1
+pkgrel=3
+pkgdesc="Python wrapper for Proxmox API v2"
+url="https://github.com/proxmoxer/proxmoxer"
+arch="noarch"
+license="MIT"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+checkdepends="
+ py3-mock
+ py3-openssh-wrapper
+ py3-paramiko
+ py3-pytest
+ py3-requests-toolbelt
+ py3-responses
+ py3-testfixtures
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/proxmoxer/proxmoxer/archive/$pkgver/proxmoxer-$pkgver.tar.gz"
+builddir="$srcdir/proxmoxer-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+74bdf599d85aaf16cf2802a728b83c18d572ea0df46c743e221ba0019c3fb9163f5acc0288cfd0d613d3c1b5691866e77b9e6448591dfc5faacc4226eab8344e proxmoxer-2.0.1.tar.gz
+"
diff --git a/testing/py3-publicsuffix2/APKBUILD b/testing/py3-publicsuffix2/APKBUILD
index 47bdceae74e..d4eb1fad52c 100644
--- a/testing/py3-publicsuffix2/APKBUILD
+++ b/testing/py3-publicsuffix2/APKBUILD
@@ -4,7 +4,7 @@ pkgname=py3-publicsuffix2
_pkgname=python-publicsuffix2
_pkgver=2.2019-12-21
pkgver=${_pkgver//-}
-pkgrel=2
+pkgrel=5
pkgdesc="Python library to deal with publicsuffix data"
url="https://github.com/nexB/python-publicsuffix2"
license="MIT AND MPL-2.0"
@@ -12,6 +12,7 @@ arch="noarch"
depends="python3 py3-requests"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$_pkgname-release-$_pkgver.tar.gz::https://github.com/nexB/python-publicsuffix2/archive/release-$_pkgver.tar.gz"
builddir="$srcdir/$_pkgname-release-$_pkgver"
@@ -24,7 +25,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ python3 setup.py install --skip-build --root="$pkgdir"
# remove stray license file; SPDX identifier is sufficient in Alpine
rm "$pkgdir"/usr/lib/python3.*/site-packages/publicsuffix2/mpl-2.0.LICENSE
diff --git a/testing/py3-pure_protobuf/APKBUILD b/testing/py3-pure_protobuf/APKBUILD
new file mode 100644
index 00000000000..e65f028583c
--- /dev/null
+++ b/testing/py3-pure_protobuf/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=py3-pure_protobuf
+# Also needs to be updated in the use_fixed_version.patch
+pkgver=3.0.1
+pkgrel=2
+pkgdesc="Python implementation of Protocol Buffers with dataclass-based schemaʼs "
+url="https://pypi.org/project/pure-protobuf/"
+arch="noarch"
+license="MIT"
+depends="py3-typing-extensions"
+makedepends="
+py3-gpep517
+py3-hatchling
+py3-poetry-core
+py3-wheel
+py3-setuptools
+"
+subpackages="$pkgname-pyc"
+source="
+ https://github.com/eigenein/protobuf/archive/$pkgver/protobuf-$pkgver.tar.gz
+ use_fixed_version.patch
+"
+builddir="$srcdir/protobuf-$pkgver"
+options="!check"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
+}
+
+sha512sums="
+d710a242e6e9cadc86dcaae2f28174477f76053bda501c077868fdd09597568eb52dbce02e4b463ef8cb3c9e2401d6754e333bec55614cfca1c7dc1cd7c211dd protobuf-3.0.1.tar.gz
+7a2151c8116e1b6551cd5cbf0174958f1a692b6c4e3aba2f8c9ec9fdd6ebe2bacd3fb29812c85b5b041271575c4d467e7b2a0cb541b288e001537f5dc6aed1a9 use_fixed_version.patch
+"
diff --git a/testing/py3-pure_protobuf/use_fixed_version.patch b/testing/py3-pure_protobuf/use_fixed_version.patch
new file mode 100644
index 00000000000..c2f5249176c
--- /dev/null
+++ b/testing/py3-pure_protobuf/use_fixed_version.patch
@@ -0,0 +1,23 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index c0a325364fc..17be46fca96 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -13,7 +13,7 @@ license = "MIT"
+ name = "pure-protobuf"
+ readme = "README.md"
+ repository = "https://github.com/eigenein/protobuf"
+-version = "0.0.0"
++version = "3.0.1"
+ classifiers = [
+ "Development Status :: 5 - Production/Stable",
+ "Intended Audience :: Developers",
+@@ -30,8 +30,7 @@ classifiers = [
+ ]
+
+ [build-system]
+-requires = ["poetry-core", "poetry-dynamic-versioning"]
+-build-backend = "poetry_dynamic_versioning.backend"
++requires = ["poetry-core"]
+
+ [tool.poetry.dependencies]
+ get-annotations = { version = "^0.1.2", python = "<3.10" }
diff --git a/testing/py3-puremagic/APKBUILD b/testing/py3-puremagic/APKBUILD
new file mode 100644
index 00000000000..9a6a959ab50
--- /dev/null
+++ b/testing/py3-puremagic/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-puremagic
+pkgver=1.21
+pkgrel=1
+pkgdesc="Pure python implementation of identifying files based off their magic numbers"
+url="https://github.com/cdgriffith/puremagic"
+arch="noarch"
+license="MIT"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+checkdepends="py3-pytest py3-pytest-cov"
+subpackages="$pkgname-pyc"
+source="https://github.com/cdgriffith/puremagic/archive/refs/tags/$pkgver/puremagic-$pkgver.tar.gz"
+builddir="$srcdir/puremagic-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+cc2c76a2ddcfacdfce778e565b07692dcd247723aa85c562ba4d8c70992f79a8f13a7bc33f1468ee37298c266d35d76febe2e6164fdc145077d68b05cfa2e1c4 puremagic-1.21.tar.gz
+"
diff --git a/testing/py3-py-radix/APKBUILD b/testing/py3-py-radix/APKBUILD
index ebc2a520927..f6ec91b5bc9 100644
--- a/testing/py3-py-radix/APKBUILD
+++ b/testing/py3-py-radix/APKBUILD
@@ -1,9 +1,8 @@
-# Contributor:
# Maintainer: Kristóf Jakab <jakab.kristof@balasys.hu>
pkgname=py3-py-radix
_pkgname=py-radix
pkgver=0.10.0
-pkgrel=5
+pkgrel=9
pkgdesc="An implementation of a radix tree for Python"
url="https://github.com/mjschultz/py-radix"
arch="all"
@@ -11,8 +10,10 @@ license="BSD-4-Clause AND ISC"
depends="python3"
makedepends="py3-setuptools python3-dev"
checkdepends="py3-coverage py3-nose"
+subpackages="$pkgname-pyc"
source="$_pkgname-$pkgver.tar.gz::https://github.com/mjschultz/py-radix/archive/v$pkgver.tar.gz
python3.10-support.patch
+ assertEquals.patch
"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -28,10 +29,11 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
b4b6a35aad76c19c2eaa5bff828cbec5182cc4074397d4b9e5c39ac76bd9045c86600ed52ac06632abac8a9e70d6e82aa9e741ab3eb92970453bb14acdba72ea py-radix-0.10.0.tar.gz
56808e892ebcc951f76bfb21647687ccf8c2d3e605c64c650ca95e54a766e8f110bfa087fdc1921e9ba68109dbbf8220885a9c12dcb6ef69bf7695d7722a75b0 python3.10-support.patch
+cb7abba0dd5f0ea24c953d5c7a5c2d8dcdaf86b5ce30aa49d633de2572967afef2475019c88eaeddc2397633b08eef5c5607ac34bedf7afc4d1410108c61f0f7 assertEquals.patch
"
diff --git a/testing/py3-py-radix/assertEquals.patch b/testing/py3-py-radix/assertEquals.patch
new file mode 100644
index 00000000000..e68e608153e
--- /dev/null
+++ b/testing/py3-py-radix/assertEquals.patch
@@ -0,0 +1,181 @@
+diff --git a/tests/test_compat.py b/tests/test_compat.py
+index 7ebe71b..2765351 100644
+--- a/tests/test_compat.py
++++ b/tests/test_compat.py
+@@ -32,3 +32,3 @@ class LoadRadixPickle(TestCase):
+ tree = load(f)
+- self.assertEquals(len(tree.nodes()), 3)
++ self.assertEqual(len(tree.nodes()), 3)
+ nodes = ['10.0.1.0/24', '10.0.2.0/24', '10.0.3.0/24']
+diff --git a/tests/test_regression.py b/tests/test_regression.py
+index 2b173e3..4861ec9 100644
+--- a/tests/test_regression.py
++++ b/tests/test_regression.py
+@@ -191,3 +191,3 @@ class TestRadix(unittest.TestCase):
+ del tree
+- self.assertEquals(node1.prefix, "10.0.0.0/8")
++ self.assertEqual(node1.prefix, "10.0.0.0/8")
+
+@@ -207,3 +207,3 @@ class TestRadix(unittest.TestCase):
+ self.assertTrue(node1 is node3)
+- self.assertEquals(node1.prefix, "10.255.255.240/28")
++ self.assertEqual(node1.prefix, "10.255.255.240/28")
+
+@@ -216,3 +216,3 @@ class TestRadix(unittest.TestCase):
+ self.assertTrue(node1 is node3)
+- self.assertEquals(node1.prefix, "dead:beef::/32")
++ self.assertEqual(node1.prefix, "dead:beef::/32")
+
+@@ -222,5 +222,5 @@ class TestRadix(unittest.TestCase):
+ node = tree.add(packed=p, masklen=26)
+- self.assertEquals(node.family, socket.AF_INET)
+- self.assertEquals(node.prefix, "224.20.11.64/26")
+- self.assertEquals(node.packed, p)
++ self.assertEqual(node.family, socket.AF_INET)
++ self.assertEqual(node.prefix, "224.20.11.64/26")
++ self.assertEqual(node.packed, p)
+
+@@ -233,7 +233,7 @@ class TestRadix(unittest.TestCase):
+ node = tree.add(packed=p, masklen=108)
+- self.assertEquals(node.family, socket.AF_INET6)
+- self.assertEquals(
++ self.assertEqual(node.family, socket.AF_INET6)
++ self.assertEqual(
+ node.prefix,
+ "dead:beef:1234:5678:9abc:def0::/108")
+- self.assertEquals(node.packed, p)
++ self.assertEqual(node.packed, p)
+
+@@ -248,3 +248,3 @@ class TestRadix(unittest.TestCase):
+ self.assertRaises(ValueError, tree.add, "::", 256)
+- self.assertEquals(len(tree.nodes()), 0)
++ self.assertEqual(len(tree.nodes()), 0)
+
+@@ -258,5 +258,5 @@ class TestRadix(unittest.TestCase):
+ self.assertTrue(node2 is node2_o)
+- self.assertNotEquals(node1.prefix, node2.prefix)
+- self.assertNotEquals(node1.network, node2.network)
+- self.assertNotEquals(node1.family, node2.family)
++ self.assertNotEqual(node1.prefix, node2.prefix)
++ self.assertNotEqual(node1.network, node2.network)
++ self.assertNotEqual(node1.family, node2.family)
+
+@@ -323,7 +323,7 @@ class TestRadix(unittest.TestCase):
+ prefix = "1.%d.%d.0/%d" % (i, j, k)
+- self.assertEquals(node.prefix, prefix)
++ self.assertEqual(node.prefix, prefix)
+ num_nodes_out += 1
+
+- self.assertEquals(num_nodes_in - num_nodes_del, num_nodes_out)
+- self.assertEquals(
++ self.assertEqual(num_nodes_in - num_nodes_del, num_nodes_out)
++ self.assertEqual(
+ num_nodes_in - num_nodes_del,
+@@ -334,3 +334,3 @@ class TestRadix(unittest.TestCase):
+ node = tree.add("255.255.255.255/15")
+- self.assertEquals(node.prefix, "255.254.0.0/15")
++ self.assertEqual(node.prefix, "255.254.0.0/15")
+
+@@ -355,7 +355,7 @@ class TestRadix(unittest.TestCase):
+ node = tree2.search_exact(addr, k)
+- self.assertNotEquals(node, None)
+- self.assertEquals(node.data["i"], i)
+- self.assertEquals(node.data["j"], j)
++ self.assertNotEqual(node, None)
++ self.assertEqual(node.data["i"], i)
++ self.assertEqual(node.data["j"], j)
+ node.data["j"] = j
+- self.assertEquals(len(tree2.nodes()), num_nodes_in)
++ self.assertEqual(len(tree2.nodes()), num_nodes_in)
+
+@@ -382,7 +382,7 @@ class TestRadix(unittest.TestCase):
+ node = tree2.search_exact(addr, k)
+- self.assertNotEquals(node, None)
+- self.assertEquals(node.data["i"], i)
+- self.assertEquals(node.data["j"], j)
++ self.assertNotEqual(node, None)
++ self.assertEqual(node.data["i"], i)
++ self.assertEqual(node.data["j"], j)
+ node.data["j"] = j
+- self.assertEquals(len(tree2.nodes()), num_nodes_in)
++ self.assertEqual(len(tree2.nodes()), num_nodes_in)
+
+@@ -393,3 +393,3 @@ class TestRadix(unittest.TestCase):
+ tree.add('10.0.0.0/16')
+- self.assertEquals(
++ self.assertEqual(
+ tree.search_best('10.0.0.0/15').prefix,
+@@ -411,6 +411,6 @@ class TestRadix(unittest.TestCase):
+ tree.add('10.0.0.0/16')
+- self.assertEquals(
++ self.assertEqual(
+ tree.search_worst('10.0.0.0/15').prefix,
+ '10.0.0.0/8')
+- self.assertEquals(
++ self.assertEqual(
+ tree.search_worst('100.0.0.0/15'),
+@@ -423,3 +423,3 @@ class TestRadix(unittest.TestCase):
+ tree.add('0.0.0.0/0')
+- self.assertEquals(
++ self.assertEqual(
+ tree.search_best('10.10.10.10').prefix,
+@@ -436,24 +436,24 @@ class TestRadix(unittest.TestCase):
+ tree.add('0.0.0.0/0')
+- self.assertEquals(
++ self.assertEqual(
+ [n.prefix for n in tree.search_covered('11.0.0.0/8')],
+ ['11.0.0.0/16'])
+- self.assertEquals(
++ self.assertEqual(
+ sorted([n.prefix for n in tree.search_covered('10.0.0.0/9')]),
+ ['10.0.0.0/13', '10.0.0.0/31', '10.30.2.0/25', '10.30.2.1/32'])
+- self.assertEquals(
++ self.assertEqual(
+ sorted([n.prefix for n in tree.search_covered('10.0.0.0/8')]),
+ ['10.0.0.0/13', '10.0.0.0/31', '10.0.0.0/8', '10.30.2.0/25', '10.30.2.1/32'])
+- self.assertEquals(
++ self.assertEqual(
+ [n.prefix for n in tree.search_covered('11.0.0.0/8')],
+ ['11.0.0.0/16'])
+- self.assertEquals(
++ self.assertEqual(
+ [n.prefix for n in tree.search_covered('10.30.2.64/32')],
+ [])
+- self.assertEquals(
++ self.assertEqual(
+ [n.prefix for n in tree.search_covered('21.0.0.0/8')],
+ [])
+- self.assertEquals(
++ self.assertEqual(
+ [n.prefix for n in tree.search_covered('10.0.0.1')],
+ [])
+- self.assertEquals(
++ self.assertEqual(
+ sorted([n.prefix for n in tree.search_covered('0.0.0.0/0')]),
+@@ -467,3 +467,3 @@ class TestRadix(unittest.TestCase):
+
+- self.assertEquals(
++ self.assertEqual(
+ [n.prefix for n in tree.search_covered('193.178.152.0/21')],
+@@ -477,3 +477,3 @@ class TestRadix(unittest.TestCase):
+
+- self.assertEquals(
++ self.assertEqual(
+ [n.prefix for n in tree.search_covered('31.3.104.0/21')],
+@@ -490,12 +490,12 @@ class TestRadix(unittest.TestCase):
+
+- self.assertEquals([n.prefix for n in
++ self.assertEqual([n.prefix for n in
+ tree.search_covering('8.9.0.1/32')],
+ ['8.9.0.1/32', '8.9.0.0/16', '0.0.0.0/2'])
+- self.assertEquals([n.prefix for n in
++ self.assertEqual([n.prefix for n in
+ tree.search_covering('5.5.5.0/24')],
+ ['0.0.0.0/2'])
+- self.assertEquals([n.prefix for n in
++ self.assertEqual([n.prefix for n in
+ tree.search_covering('3.178.152.0/21')],
+ ['0.0.0.0/2'])
+- self.assertEquals([n.prefix for n in
++ self.assertEqual([n.prefix for n in
+ tree.search_covering('205.0.1.0/24')],
diff --git a/testing/py3-pyatem/APKBUILD b/testing/py3-pyatem/APKBUILD
index 4cdf712d160..93c6cffbcfc 100644
--- a/testing/py3-pyatem/APKBUILD
+++ b/testing/py3-pyatem/APKBUILD
@@ -1,22 +1,21 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
# Contributor: Martijn Braam <martijn@brixit.nl>
pkgname=py3-pyatem
-pkgver=0.4.2
-pkgrel=2
+pkgver=0.5.0
+pkgrel=3
pkgdesc="Python library for controlling Blackmagic Design ATEM hardware"
url="https://git.sr.ht/~martijnbraam/pyatem"
-# s390x and riscv64 blocked by libhandy1
-arch="all !s390x !riscv64"
+arch="all"
license="LGPL-3.0-only"
source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/pyatem/archive/$pkgver.tar.gz
openswitcher-proxy.confd
openswitcher-proxy.initd
"
-depends="python3 py3-usb"
+depends="python3 py3-usb py3-zeroconf"
makedepends="py3-setuptools python3-dev glib-dev libhandy1-dev meson"
checkdepends="py3-pytest"
builddir="$srcdir/pyatem-$pkgver"
-subpackages="openswitcher openswitcher-proxy:proxy openswitcher-proxy-openrc"
+subpackages="openswitcher openswitcher-proxy:proxy openswitcher-proxy-openrc $pkgname-pyc"
build() {
# Build the python library
@@ -27,11 +26,11 @@ build() {
# Build the GTK app
abuild-meson -Dwith_proxy=False . output_gtk
- meson compile ${JOBS:+-j ${JOBS}} -C output_gtk
+ meson compile -C output_gtk
# Build the proxy daemon
abuild-meson -Dwith_gtk_app=False . output_proxy
- meson compile ${JOBS:+-j ${JOBS}} -C output_proxy
+ meson compile -C output_proxy
}
check() {
@@ -39,7 +38,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -D -m644 "$builddir"/100-blackmagicdesign.rules \
"$pkgdir"/lib/udev/rules.d/100-blackmagicdesign.rules
@@ -68,7 +67,7 @@ proxy() {
}
sha512sums="
-e10b62f0fe993871cf876fe309a50a67d5167df2aa610847d20bd68cd7ea08be38ed3c5b928bc58a51f7781f8e7c67357b8b77a1600d611d1856b6d0057323f1 py3-pyatem-0.4.2.tar.gz
+54db7562c9f85fc0f272949e34ec5b16b3a061af96651cbb491bb735aeaacc794d3e07f744a59be9e3c77f45bd8bbf6de6c7b6428b9ed953f9408040a50e953e py3-pyatem-0.5.0.tar.gz
f7d60a2b4effb5795fedfde6c2d9f7523847530d933af73b275642c2b6afd254fe0f189f9a5c304544f1b2be3f79db88404a8d6d0a5a26ce1f5b5d3375eea858 openswitcher-proxy.confd
a0e337e9b337825b6f23bf43fd9fe700bebf32e9747f2ddd92383a6a4a7f9da14151744af03f3c80c997d96dc9ce767f198cf18460ccf93828e6d1cd519fe50f openswitcher-proxy.initd
"
diff --git a/testing/py3-pyautogui/APKBUILD b/testing/py3-pyautogui/APKBUILD
index 84b5225c850..a63b7cc2321 100644
--- a/testing/py3-pyautogui/APKBUILD
+++ b/testing/py3-pyautogui/APKBUILD
@@ -1,33 +1,47 @@
# Contributor: Ivan Tham <pickfire@riseup.net>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
+# Maintainer:
pkgname=py3-pyautogui
_pkgname=PyAutoGUI
# upstream does not tag releases https://github.com/asweigart/pyautogui/issues/270
-_commit=57a98be5fc1c33f077ca499f7836741faf31d463
-pkgver=0.9.50
-pkgrel=2
+_commit=9de7b3ebf8817a846b03caec0775ecbf4596452b
+pkgver=0.9.53
+pkgrel=4
pkgdesc="A cross-platform Python module for GUI automation for human beings"
url="https://pyautogui.readthedocs.io/"
arch="noarch"
license="BSD-3-Clause"
-depends="py3-xlib py3-pillow"
-makedepends="py3-setuptools xvfb-run"
+depends="
+ py3-pillow
+ py3-pymsgbox
+ py3-pyscreeze
+ py3-pytweening
+ py3-xlib
+ python3
+ "
+makedepends="py3-setuptools"
+checkdepends="xvfb-run"
+subpackages="$pkgname-pyc"
source="$_pkgname-$_commit.tar.gz::https://github.com/asweigart/pyautogui/archive/$_commit.tar.gz"
builddir="$srcdir/pyautogui-$_commit"
+options="!check" # hang forever
replaces="py-pyautogui" # Backwards compatibility
provides="py-pyautogui=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- xvfb-run python3 setup.py build
+ python3 setup.py build
}
check() {
- python3 setup.py check
+ PYTHONPATH="$PWD" \
+ xvfb-run -a \
+ python3 tests/test_pyautogui.py
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="5d5bb8c9e3ee5759ac6cfd7872cf62621bcbb3093df11d785928d9159dd0902527fb8a02add57bb223d28b0f1ee0b574180178e99e2018aa24f5a279ce01e40e PyAutoGUI-57a98be5fc1c33f077ca499f7836741faf31d463.tar.gz"
+sha512sums="
+afa4d3fde6a79d6946c520c536d64d5f76ae7982eb7a5ed4dd0c86bececc232a0e08e25705dc8cd184876ae24b8630fb0721042ee9653533798617344b0bf945 PyAutoGUI-9de7b3ebf8817a846b03caec0775ecbf4596452b.tar.gz
+"
diff --git a/testing/py3-pybars3/APKBUILD b/testing/py3-pybars3/APKBUILD
index 23956b140df..27933d06e14 100644
--- a/testing/py3-pybars3/APKBUILD
+++ b/testing/py3-pybars3/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-pybars3
pkgver=0.9.7
-pkgrel=2
+pkgrel=5
pkgdesc="implementation of the handlebars.js template language for Python 3"
url="https://github.com/wbond/pybars3"
arch="noarch"
@@ -13,6 +13,7 @@ depends="
makedepends="
py3-setuptools
"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/pybars3/pybars3-$pkgver.tar.gz"
builddir="$srcdir/pybars3-$pkgver"
@@ -25,7 +26,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
7aff86c0703e3827909f3603d7f35026ee39ce74d9c5ff1beb18a71b0a839c3aa407402f8d9c1aca9eb69af33750db0477881826e72135fc26a7274b0f1f538b pybars3-0.9.7.tar.gz
diff --git a/testing/py3-pycaption/APKBUILD b/testing/py3-pycaption/APKBUILD
new file mode 100644
index 00000000000..e44e2cda347
--- /dev/null
+++ b/testing/py3-pycaption/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=py3-pycaption
+pkgver=2.2.4
+pkgrel=0
+pkgdesc="Python module to read/write popular video caption formats"
+url="https://github.com/pbs/pycaption"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ python3
+ py3-beautifulsoup4
+ py3-cssutils
+ py3-lxml
+ py3-nltk
+ "
+makedepends="py3-setuptools"
+checkdepends="py3-pytest"
+source="https://github.com/pbs/pycaption/archive/refs/tags/$pkgver/pycaption-$pkgver.tar.gz"
+builddir="$srcdir/pycaption-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
+}
+
+sha512sums="
+6082cf098b2e8b97e84729538f842405c667a5eda50d5bec094b372f9e9b0ac79a64bb807fc2b75b0ee3c79d934f6e15f595cdf4882277086067207fb7637976 pycaption-2.2.4.tar.gz
+"
diff --git a/testing/py3-pycolorterm/APKBUILD b/testing/py3-pycolorterm/APKBUILD
index 570905cabf2..9311edbce0f 100644
--- a/testing/py3-pycolorterm/APKBUILD
+++ b/testing/py3-pycolorterm/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-pycolorterm
_pkgname=pycolorterm
pkgver=0.2.1
-pkgrel=4
+pkgrel=5
pkgdesc="A Python module to work with color and style formatting"
url="https://github.com/dnmellen/pycolorterm"
arch="noarch"
@@ -22,7 +22,7 @@ build() {
package() {
cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="c90cb9a0fde94bbd856ba555bb5137004a3a936e028830938bdadf25be94a6f13a0597afb5439681c89d483806375708106be585c236109e83c3e493973e7d4a pycolorterm-0.2.1.tar.gz"
diff --git a/testing/py3-pycosat/APKBUILD b/testing/py3-pycosat/APKBUILD
index 8d172fe4f97..7716bcd9038 100644
--- a/testing/py3-pycosat/APKBUILD
+++ b/testing/py3-pycosat/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=py3-pycosat
_pkgname=pycosat
-pkgver=0.6.3
-pkgrel=3
+pkgver=0.6.6
+pkgrel=1
pkgdesc="Python bindings to picosat (a SAT solver)"
-url="https://github.com/ContinuumIO/pycosat"
+url="https://github.com/conda/pycosat"
arch="all"
license="MIT"
-makedepends="python3-dev"
-source="https://github.com/ContinuumIO/pycosat/archive/$pkgver/$_pkgname-$pkgver.tar.gz
+makedepends="python3-dev py3-setuptools"
+source="https://github.com/conda/pycosat/archive/$pkgver/$_pkgname-$pkgver.tar.gz
musl-compat.patch
"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -19,13 +19,15 @@ build() {
}
check() {
- PYTHONPATH="$(dirname ./build/lib.linux-*-3.*/*.so)" \
+ PYTHONPATH="$(echo build/lib.linux*)" \
python3 test_pycosat.py
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="6163f9879d4ed98486f36990f0134db0a9b6096a8507312a1013d707b0dcb7e963845a5959c601f672a53a5db8c80b63d3184a0ef906b2ec563ca1a4c63850fa pycosat-0.6.3.tar.gz
-57fae28c1d9f9e5fd2c8800ec664e0c43b04935f540ab2576fd660cb902e62edcc727aab3f7dacd33db1e775d49ebdffc24fbe4a4136ec5e3ea54cc5c37b2cef musl-compat.patch"
+sha512sums="
+a831bee95746c19133463b903429aaf7619407733d49128fdb0afe368e62bcdffc1406b4bbfdbbf67b1a96953bfba2f23a7e2dc151979d61efb29facb8609dc4 pycosat-0.6.6.tar.gz
+57fae28c1d9f9e5fd2c8800ec664e0c43b04935f540ab2576fd660cb902e62edcc727aab3f7dacd33db1e775d49ebdffc24fbe4a4136ec5e3ea54cc5c37b2cef musl-compat.patch
+"
diff --git a/testing/py3-pydes/APKBUILD b/testing/py3-pydes/APKBUILD
index f05f23efea5..579451b5cfa 100644
--- a/testing/py3-pydes/APKBUILD
+++ b/testing/py3-pydes/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-pydes
pkgver=2.0.1
_pkgname=pyDes
-pkgrel=1
+pkgrel=4
pkgdesc="Python implementation of DES and TRIPLE DES encryption algorithm"
options="!check" # no test suite
url="http://twhiteman.netfirms.com/des.html"
@@ -11,7 +11,7 @@ arch="noarch"
license="CC-PDDC"
depends="python3"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -20,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -Dm0644 README.txt -t "$pkgdir"/usr/share/doc/"$pkgname"
}
diff --git a/testing/py3-pygdbmi/APKBUILD b/testing/py3-pygdbmi/APKBUILD
deleted file mode 100644
index ed634c6fba6..00000000000
--- a/testing/py3-pygdbmi/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-_pkgname=pygdbmi
-pkgname=py3-$_pkgname
-pkgver=0.10.0.0
-pkgrel=2
-pkgdesc="Get Structured Output from GDB's Machine Interface"
-options="!check" # No testsuite
-url="https://github.com/cs01/pygdbmi"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-check() {
- python3 setup.py check
-}
-
-sha512sums="ab848ca0a37a39ac6ba911782dba035c1be561deff5ed5d0e755052662ae7c2500c3e419575ca7fe810b5bf9f4f4a1bf67770ad26b140b0946a29babf067e377 pygdbmi-0.10.0.0.tar.gz"
diff --git a/testing/py3-pygelbooru/APKBUILD b/testing/py3-pygelbooru/APKBUILD
new file mode 100644
index 00000000000..2cfca6735bf
--- /dev/null
+++ b/testing/py3-pygelbooru/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Haelwenn (lanodan) Monnier <contact+alpine@hacktivis.me>
+# Maintainer: Haelwenn (lanodan) Monnier <contact+alpine@hacktivis.me>
+pkgname=py3-pygelbooru
+_pkgreal=pygelbooru
+pkgver=0.5.0
+pkgrel=2
+pkgdesc="unofficial and lightweight asynchronous library for Gelbooru compatible API"
+url="https://github.com/MakotoAme/pygelbooru"
+arch="noarch"
+license="GPL-3"
+depends="python3 py3-aiohttp py3-furl py3-xmltodict"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgreal:0:1}/$_pkgreal/$_pkgreal-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install \
+ --prefix=/usr \
+ --root="$pkgdir" \
+ --single-version-externally-managed
+}
+
+sha512sums="
+4301aa8c07bac9d70adbe13a8283869c48944cbaadeb5f28b6649d0d349861a09f21b057d26815e1a826f085ac8d54d135be466d543856ed00fc47d38734e204 pygelbooru-0.5.0.tar.gz
+"
diff --git a/testing/py3-pygfm/APKBUILD b/testing/py3-pygfm/APKBUILD
index e74881a673a..4f4422a7e6b 100644
--- a/testing/py3-pygfm/APKBUILD
+++ b/testing/py3-pygfm/APKBUILD
@@ -3,8 +3,8 @@
# Maintainer: Stefan Wagner <stw@bit-strickerei.de>
pkgname=py3-pygfm
_pkgname=py-gfm
-pkgver=1.0.0
-pkgrel=2
+pkgver=2.0.0
+pkgrel=1
pkgdesc="Github-Flavored Markdown for Python-Markdown"
options="!check"
url="https://github.com/zopieux/py-gfm"
@@ -13,6 +13,7 @@ license="BSD-3-Clause"
depends="python3 py3-markdown"
makedepends="py3-setuptools"
checkdepends="py3-codecov py3-coverage py3-coveralls"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/Zopieux/py-gfm/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -28,7 +29,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="eb1b190d4b8ebdf229141965cad57531bdb7b2c834acf9ef62a06955f5c61fdc16e85a0871121f99d2bdb0d07482ed9bc84c52e85e6a446f49e869780c463b89 py3-pygfm-1.0.0.tar.gz"
+sha512sums="
+45d62280465bdc0cc51fc3e74486d0923c71fce7497ca29d68ba7bce232bf423d209b7ee54170d2ae283374c4e5979766d95e13ce9285bff303e7a5a83e1e12b py3-pygfm-2.0.0.tar.gz
+"
diff --git a/testing/py3-pyglm/APKBUILD b/testing/py3-pyglm/APKBUILD
new file mode 100644
index 00000000000..3288f9ae741
--- /dev/null
+++ b/testing/py3-pyglm/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Thomas Aldrian <aldrian.thom@proton.me>
+pkgname=py3-pyglm
+pkgver=2.7.1
+pkgrel=0
+pkgdesc="OpenGL Mathematics library for Python"
+url="https://github.com/Zuzu-Typ/PyGLM"
+arch="all"
+license="Zlib"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="py3-pytest"
+# Keep in sync with project's submodules.
+_glm_gitrev=fcda03b54596adda543bcdccc6c1879e380c86a7
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/Zuzu-Typ/PyGLM/archive/refs/tags/$pkgver.tar.gz
+ https://github.com/Zuzu-Typ/glm/archive/$_glm_gitrev/glm-$_glm_gitrev.tar.gz
+"
+builddir="$srcdir/PyGLM-$pkgver/"
+
+prepare() {
+ default_prepare
+
+ rm -r glm
+ ln -s "$srcdir/glm-$_glm_gitrev" glm
+}
+
+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="
+1b7cc0f7986fbb8bd17963675997762b1dbbf7769c2659bfe6c2e110da0d30e93b36e998aad4946abdeebf38555e85a31dfb819c2b9c3d64a6dc3326a8c8bc5a py3-pyglm-2.7.1.tar.gz
+ae9f6cb040700f98be6cbadc6f4bec1ac22e1fe704c7e36781aaa1db155e70fa9bd280e8ddd14bf941a02d0ed7587965a7607f3ad6699655a15131d440141f41 glm-fcda03b54596adda543bcdccc6c1879e380c86a7.tar.gz
+"
diff --git a/testing/py3-pygpgme/APKBUILD b/testing/py3-pygpgme/APKBUILD
index 046b768cbad..45a009f0a6d 100644
--- a/testing/py3-pygpgme/APKBUILD
+++ b/testing/py3-pygpgme/APKBUILD
@@ -3,14 +3,17 @@
pkgname=py3-pygpgme
_pkgname=pygpgme
pkgver=0.3.1
-pkgrel=5
+pkgrel=8
pkgdesc="PyGPGME is a Python module that lets you sign, verify, encrypt and decrypt messages using the OpenPGP format."
url="https://github.com/rshk/pygpgme/"
arch="all"
license="LGPL-2.1-or-later"
depends="python3"
-makedepends="gpgme-dev python3-dev"
-source="$_pkgname-$pkgver.tar.gz::https://github.com/rshk/pygpgme/archive/v$pkgver.tar.gz"
+makedepends="gpgme-dev python3-dev py3-setuptools"
+subpackages="$pkgname-pyc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/rshk/pygpgme/archive/v$pkgver.tar.gz
+ py3.11.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
build() {
@@ -18,7 +21,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="f3c9de92956917f5e55c3a8d49be354d845e4f99b3a5173601841afcdd7b9ad270be0dea50468425c517328ceba46f1252685587bcf011287d1ed3a07b7ba8ab pygpgme-0.3.1.tar.gz"
+sha512sums="
+f3c9de92956917f5e55c3a8d49be354d845e4f99b3a5173601841afcdd7b9ad270be0dea50468425c517328ceba46f1252685587bcf011287d1ed3a07b7ba8ab pygpgme-0.3.1.tar.gz
+6e34c4b3001348cc0763f1ad2174244518f36a209bcb7ecdfbf271b9ee9b64014ad1726ce7467ec650f17f05f45730c88241e7a838dd080fc3c8f99209201b06 py3.11.patch
+"
diff --git a/testing/py3-pygpgme/py3.11.patch b/testing/py3-pygpgme/py3.11.patch
new file mode 100644
index 00000000000..3471d050109
--- /dev/null
+++ b/testing/py3-pygpgme/py3.11.patch
@@ -0,0 +1,13 @@
+diff --git a/src/gpgme.c b/src/gpgme.c
+index 7b80c95..8bfe3e9 100644
+--- a/src/gpgme.c
++++ b/src/gpgme.c
+@@ -46,7 +46,7 @@ create_module(void)
+
+ #define INIT_TYPE(type) \
+ if (!Py_TYPE(&type)) \
+- Py_TYPE(&type) = &PyType_Type; \
++ Py_SET_TYPE(&type, &PyType_Type); \
+ if (!type.tp_alloc) \
+ type.tp_alloc = PyType_GenericAlloc; \
+ if (!type.tp_new) \
diff --git a/testing/py3-pygtail/APKBUILD b/testing/py3-pygtail/APKBUILD
index c5f472f92b2..61f7de9f0c0 100644
--- a/testing/py3-pygtail/APKBUILD
+++ b/testing/py3-pygtail/APKBUILD
@@ -2,23 +2,29 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-pygtail
_pkgname=pygtail
-pkgver=0.11.1
+pkgver=0.14.0
pkgrel=3
pkgdesc="Reads log file lines that have not been read"
url="https://github.com/bgreenlee/pygtail"
arch="noarch"
license="GPL-2.0-or-later"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="93954e1aa08ba4e889666bd6cf648e944436266a5b97a8ae63c0f1eab36f64c2cd360e20a799f2c314c723b44df5271bd62d17258be87fffd550d595616b6364 pygtail-0.11.1.tar.gz"
+sha512sums="
+7446c622ec17a5051a0d3caa9cb00c37a261ef735f434c52b6088ed22b7add4e58c94d4b7006549468067f8c032046b79406e2d5899de85e314e90b23ce739c2 pygtail-0.14.0.tar.gz
+"
diff --git a/testing/py3-pyinstrument/APKBUILD b/testing/py3-pyinstrument/APKBUILD
new file mode 100644
index 00000000000..50f4f80c1ab
--- /dev/null
+++ b/testing/py3-pyinstrument/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Aiden Grossman <agrossman154@yahoo.com>
+# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
+pkgname=py3-pyinstrument
+pkgver=4.6.2
+pkgrel=1
+pkgdesc="Call stack profiler for Python"
+url="https://github.com/joerick/pyinstrument"
+arch="all"
+license="BSD-3-Clause"
+makedepends="py3-gpep517 py3-setuptools py3-wheel python3-dev"
+checkdepends="py3-pytest py3-flaky py3-trio py3-greenlet"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/joerick/pyinstrument/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/pyinstrument-$pkgver"
+options="!check" # currently not working
+
+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="
+da23988e6c68876cb8920ce284326f349425303ae36718c5c479b72b5f5ca5d48ced1674bcab71851f60e81a0985bb668bfa89a8b96cc20a1faa0dd7e623ec50 py3-pyinstrument-4.6.2.tar.gz
+"
diff --git a/testing/py3-pyisbn/APKBUILD b/testing/py3-pyisbn/APKBUILD
index a2123e2e63f..897e03ddd8b 100644
--- a/testing/py3-pyisbn/APKBUILD
+++ b/testing/py3-pyisbn/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-pyisbn
_pkgname=pyisbn
-pkgver=1.2.1
-pkgrel=3
+pkgver=1.3.1
+pkgrel=2
pkgdesc="A module for working with 10- and 13-digit ISBNs"
url="https://github.com/JNRowe/pyisbn"
arch="noarch"
license="GPL-3.0-or-later"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -21,7 +22,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="4ba93722350803cde1bf969421864e27f4aaf562021e7a4400b182aa4c503ce4e33e5e328aabaef48071704d9533fc42cb95d69e4a5e817ea864149affe6ec85 pyisbn-1.2.1.tar.gz"
+sha512sums="
+3abb14ebcd6d1feaf892fcfdd6da19a3010b1d80c898e5a3ff871e759e7833b09a988ff1b7a9f46cbfdd2eb44172c7ddd0a499b9e40eea4fed89df3d467bf0c1 pyisbn-1.3.1.tar.gz
+"
diff --git a/testing/py3-pylev/APKBUILD b/testing/py3-pylev/APKBUILD
deleted file mode 100644
index abec3157439..00000000000
--- a/testing/py3-pylev/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-pylev
-_realname=pylev
-pkgver=1.4.0
-pkgrel=1
-pkgdesc="Pure Python3 Levenshtein implementation"
-options="!check" # No tests on pypi, no tags on github
-url="https://github.com/toastdriven/pylev"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_realname:0:1}/$_realname/$_realname-$pkgver.tar.gz"
-builddir="$srcdir/$_realname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-9e11c7b27bce4a12889173658be03549f39bc0a02e4d1b8e82d12a8f07376438a3d735befbd2d4da4a291eeacfd757fcb62ceb0d8557f34d0bf7041b228e404a pylev-1.4.0.tar.gz
-"
diff --git a/testing/py3-pylru/APKBUILD b/testing/py3-pylru/APKBUILD
new file mode 100644
index 00000000000..9f36bf32927
--- /dev/null
+++ b/testing/py3-pylru/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=py3-pylru
+pkgver=1.2.1
+pkgrel=1
+pkgdesc="Least recently used (LRU) cache for Python"
+url="https://github.com/jlhutch/pylru"
+arch="noarch"
+license="GPL-2.0-or-later"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://github.com/jlhutch/pylru/archive/refs/tags/v$pkgver/pylru-$pkgver.tar.gz"
+builddir="$srcdir/pylru-$pkgver"
+options="!check" # no tests
+
+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="
+930a017431229cd02967e0aeb2ca8f456900e0bc90063b873e4d880fd52d4216d64da60220a5863984d3f9a8f6a6fcd6bad575fb2a0df45071e839cffcb0a5ba pylru-1.2.1.tar.gz
+"
diff --git a/testing/py3-pymaging-png/APKBUILD b/testing/py3-pymaging-png/APKBUILD
index 4f57c9f9d31..6be22de819d 100644
--- a/testing/py3-pymaging-png/APKBUILD
+++ b/testing/py3-pymaging-png/APKBUILD
@@ -3,13 +3,14 @@ pkgname=py3-pymaging-png
_pkgname=pymaging-png
_commit=83d85c44e4b2342818e6c068065e031a9f81bb9f
pkgver=0.0.20130727
-pkgrel=6
+pkgrel=9
pkgdesc="PNG format support for pymaging"
url="https://github.com/ojii/pymaging-png"
arch="noarch"
license="MIT"
depends="python3 py3-pymaging"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/ojii/$_pkgname/archive/$_commit.tar.gz"
builddir="$srcdir"/$_pkgname-$_commit
@@ -25,7 +26,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="b0860355c66d30d026443f1a360ca639bfd953da2bf00cc2b25902294d23eb07c3dd94a6c08a588fab816a7b92395bf4b65bf7a78c397a4c4811224035f1cb92 py3-pymaging-png-0.0.20130727.tar.gz"
diff --git a/testing/py3-pymaging/APKBUILD b/testing/py3-pymaging/APKBUILD
index fce065c0395..7a634c14b83 100644
--- a/testing/py3-pymaging/APKBUILD
+++ b/testing/py3-pymaging/APKBUILD
@@ -3,13 +3,14 @@ pkgname=py3-pymaging
_pkgname=pymaging
_commit=596a08fce5664e58d6e8c96847393fbe987783f2
pkgver=0.0.20130908
-pkgrel=6
+pkgrel=9
pkgdesc="Pure Python imaging library"
url="https://github.com/ojii/pymaging"
arch="noarch"
license="BSD-3-Clause AND MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/ojii/$_pkgname/archive/$_commit.tar.gz"
builddir="$srcdir"/$_pkgname-$_commit
@@ -25,7 +26,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="757431eb53ee839ae8f341c5021b96a704a78434bb81f843de36c0b8274ca8de603ca5f04bf6e38a5dae39d42be2da05f03119235fe5ca5d34bd10fa30faa813 py3-pymaging-0.0.20130908.tar.gz"
diff --git a/testing/py3-pymata/APKBUILD b/testing/py3-pymata/APKBUILD
new file mode 100644
index 00000000000..34327d4331f
--- /dev/null
+++ b/testing/py3-pymata/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: David Demelier <markand@malikania.fr>
+# Maintainer: David Demelier <markand@malikania.fr>
+pkgname=py3-pymata
+pkgver=2.20
+pkgrel=3
+pkgdesc="A Python client class library for Interaction with Standard Firmata"
+url="https://github.com/MrYsLab/PyMata"
+arch="noarch"
+license="AGPL-3.0-or-later"
+depends="python3 py3-pyserial"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/P/PyMata/PyMata-$pkgver.tar.gz"
+builddir="$srcdir/PyMata-$pkgver"
+options="!check" # No tests.
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+22ccfa550cebcfd61246af07c131cc70ea478e8cf1b98371bba79b2239af598b3d966e09edf2c511f3afe4aeb83b7ce72d427758f09e42b926a2273661fa043f PyMata-2.20.tar.gz
+"
diff --git a/testing/py3-pymata4/APKBUILD b/testing/py3-pymata4/APKBUILD
new file mode 100644
index 00000000000..0d1c1ae0e0c
--- /dev/null
+++ b/testing/py3-pymata4/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: David Demelier <markand@malikania.fr>
+# Maintainer: David Demelier <markand@malikania.fr>
+pkgname=py3-pymata4
+pkgver=1.15
+pkgrel=3
+pkgdesc="a Python Protocol Abstraction Library For Arduino Firmata"
+url="https://github.com/MrYsLab/pymata4"
+arch="noarch"
+license="AGPL-3.0-or-later"
+depends="python3 py3-pyserial"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/p/pymata4/pymata4-$pkgver.tar.gz"
+builddir="$srcdir/pymata4-$pkgver"
+options="!check" # No tests.
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+f4e6d93abe0557f9275527dcf1e548f9bc4940f5ceec6acdd3127e137b48a94a865d8f1ba6afd51b3e0d8fdcb56eef6e43f5a4f1931d7d8422fee3e9192d7bc1 pymata4-1.15.tar.gz
+"
diff --git a/testing/py3-pymdown-extensions/APKBUILD b/testing/py3-pymdown-extensions/APKBUILD
deleted file mode 100644
index 669038dce02..00000000000
--- a/testing/py3-pymdown-extensions/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=py3-pymdown-extensions
-pkgver=8.2
-pkgrel=1
-pkgdesc="extension pack for Python Markdown"
-url="https://github.com/facelessuser/pymdown-extensions"
-arch="noarch"
-license="MIT"
-depends="python3 py3-markdown"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/p/pymdown-extensions/pymdown-extensions-$pkgver.tar.gz"
-builddir="$srcdir/pymdown-extensions-$pkgver"
-options="!check" # Some tests fail.
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-9a0ed59783fdd071017daaa4bbc29b4e71e7078c06948b841cd9986cdbe3dde9379aea5459cc5a860b476935936c53c273fd13a6fc99d3d5719cf633f642d69f pymdown-extensions-8.2.tar.gz
-"
diff --git a/testing/py3-pymeta3/APKBUILD b/testing/py3-pymeta3/APKBUILD
index 1ac4579e25a..f7f5ace3ccb 100644
--- a/testing/py3-pymeta3/APKBUILD
+++ b/testing/py3-pymeta3/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-pymeta3
pkgver=0.5.1
-pkgrel=2
+pkgrel=5
pkgdesc="general object-oriented pattern matcher for Python 3"
url="https://github.com/wbond/pymeta3"
arch="noarch"
@@ -12,6 +12,7 @@ makedepends="
"
_pyname="PyMeta3"
_pypiprefix="${_pyname%${_pyname#?}}"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
options="!check" # No tests provided
@@ -21,6 +22,6 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="3a44661ae550cbb56fb0397af835e3a12ac81243d4a2f1ac3d9d713a3955cb276441e112e7cd75beb7ebd0c4bfa03014ec8b625750dffeec891b5b7802b72575 PyMeta3-0.5.1.tar.gz"
diff --git a/testing/py3-pymsgbox/APKBUILD b/testing/py3-pymsgbox/APKBUILD
new file mode 100644
index 00000000000..9206e134bdd
--- /dev/null
+++ b/testing/py3-pymsgbox/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer:
+pkgname=py3-pymsgbox
+pkgver=1.0.9
+# no actual tags
+_gitrev=ad76bd85a9cd2506a5417b82408c82ed60585421
+pkgrel=4
+pkgdesc="Simple, cross-platform, pure Python module to display message boxes, and just message boxes"
+url="https://github.com/asweigart/PyMsgBox"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="python3"
+makedepends="py3-setuptools"
+checkdepends="xvfb-run"
+subpackages="$pkgname-pyc"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/asweigart/PyMsgBox/archive/$_gitrev.tar.gz"
+builddir="$srcdir/PyMsgBox-$_gitrev"
+options="!check" # circular with pyautogui
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH="$PWD/src" \
+ xvfb-run -a \
+ python3 tests/test_pymsgbox.py
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+c2cc71d098f9498d434648aad70bbe1c718868d778decd3666092e8c4f9f1384f4d22bc1e222639a37be8fd7b802de38fec2832714fd50b3f24a7107232637fd py3-pymsgbox-ad76bd85a9cd2506a5417b82408c82ed60585421.tar.gz
+"
diff --git a/testing/py3-pymsteams/APKBUILD b/testing/py3-pymsteams/APKBUILD
new file mode 100644
index 00000000000..770b1afa288
--- /dev/null
+++ b/testing/py3-pymsteams/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=py3-pymsteams
+pkgver=0.2.2
+pkgrel=3
+pkgdesc="Format messages and post to Microsoft Teams."
+url="https://github.com/rveachkc/pymsteams"
+arch="noarch"
+license="Apache-2.0"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest py3-requests py3-py py3-pluggy"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rveachkc/pymsteams/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir"/${pkgname/py3-/}-$pkgver
+# httpstat.us is down
+options="!check"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ export MS_TEAMS_WEBHOOK="https://localhost"
+ python3 -m pytest -v -k "not test_message_size"
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+a15ae179f81214c27a279e728b7e716261017b9d27417efcb7d83fe64f21e56aca03b34ba31b1ebcaac2a1dac623065706ac69c679c28472f90ed7dae05b1b98 py3-pymsteams-0.2.2.tar.gz
+"
diff --git a/testing/py3-pymysql/APKBUILD b/testing/py3-pymysql/APKBUILD
deleted file mode 100644
index 12a2c4c435a..00000000000
--- a/testing/py3-pymysql/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Thomas Boerger <thomas@webhippie.de>
-# Maintainer: Thomas Boerger <thomas@webhippie.de>
-pkgname=py3-pymysql
-_pyname=PyMySQL
-pkgver=0.10.1
-pkgrel=2
-pkgdesc="Pure Python MySQL Client"
-url="https://pypi.python.org/pypi/PyMySQL"
-arch="noarch"
-license="MIT"
-options="!check" #require mysql for tests
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-replaces="py-pymysql" # Backwards compatibility
-provides="py-pymysql=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="33dba505fd937ddece7b4c52a1db64084656bccc0b3e98ecee1227732fe03f4e8c3f4bcb64bcf67db54f3407f3ce8a706a08d3f992450755267b0e6c5b123b99 py3-pymysql-0.10.1.tar.gz"
diff --git a/testing/py3-pynest2d/APKBUILD b/testing/py3-pynest2d/APKBUILD
new file mode 100644
index 00000000000..4c046dc1d07
--- /dev/null
+++ b/testing/py3-pynest2d/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=py3-pynest2d
+pkgver=5.2.2
+pkgrel=3
+pkgdesc="Python bindings for libnest2d"
+url="https://github.com/Ultimaker/pynest2d"
+arch="all"
+license="LGPL-3.0-or-later"
+makedepends="samurai cmake libnest2d-dev clipper-dev py3-sip nlopt-dev boost-dev python3-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Ultimaker/pynest2d/archive/refs/tags/$pkgver.tar.gz
+ cmake.patch
+ cmake-helpers.patch
+ pyproject.patch"
+builddir="$srcdir/pynest2d-$pkgver"
+options="!check" # doesn't seem like tests are packaged anymore
+
+prepare() {
+ mv ./python ./src
+ default_prepare
+}
+
+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 \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+f5d701e431c81f8d2da7b14ca5677d3303064cf7910e80d289d7ff8fe99117fb9c470242f25f21fa8e1f064c63accf5349f4956981e316b09b14342223f79b61 py3-pynest2d-5.2.2.tar.gz
+c8133d221a2fd8ed5fb32933a69f992dab2e83cdb9db30dcb715ebdfe6d403be3e94df393a921f506b63ef9d8b30a107f26b57cd39810faa9bee461afe5e1afd cmake.patch
+dbf6609a21e39ae87fa89f2faf9c98a011f287cb383c5b74f92f41e3a350b487e69643c94110f7fcc25e9e25921a698cc20d9ee021d36ff908d03c0d5ca88a46 cmake-helpers.patch
+f1b710509d97b5a2a4d021747e73884d27ae00fd93a04c90be01f123cdcc59be4757b4a73dff9c9921b7794551e531cf6729e4211144c60294d107b92a928b51 pyproject.patch
+"
diff --git a/testing/py3-pynest2d/cmake-helpers.patch b/testing/py3-pynest2d/cmake-helpers.patch
new file mode 100644
index 00000000000..288df071fb4
--- /dev/null
+++ b/testing/py3-pynest2d/cmake-helpers.patch
@@ -0,0 +1,253 @@
+--- /dev/null
++++ ./cmake/CMakeBuilder.py
+@@ -0,0 +1,13 @@
++from sipbuild import SetuptoolsBuilder
++
++
++class CMakeBuilder(SetuptoolsBuilder):
++ def __init__(self, project, **kwargs):
++ print("Using the CMake builder")
++ super().__init__(project, **kwargs)
++
++ def build(self):
++ """ Only Generate the source files """
++ print("Generating the source files")
++ self._generate_bindings()
++ self._generate_scripts()
+\ No newline at end of file
+--- /dev/null
++++ ./cmake/FindSIP.py
+@@ -0,0 +1,57 @@
++# -*- coding: utf-8 -*-
++#
++# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
++# All rights reserved.
++#
++# Redistribution and use in source and binary forms, with or without
++# modification, are permitted provided that the following conditions are met:
++# * Redistributions of source code must retain the above copyright
++# notice, this list of conditions and the following disclaimer.
++# * Redistributions in binary form must reproduce the above copyright
++# notice, this list of conditions and the following disclaimer in the
++# documentation and/or other materials provided with the distribution.
++# * Neither the name of the Simon Edwards <simon@simonzone.com> nor the
++# names of its contributors may be used to endorse or promote products
++# derived from this software without specific prior written permission.
++#
++# THIS SOFTWARE IS PROVIDED BY Simon Edwards <simon@simonzone.com> ''AS IS'' AND ANY
++# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
++# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
++# DISCLAIMED. IN NO EVENT SHALL Simon Edwards <simon@simonzone.com> BE LIABLE FOR ANY
++# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
++# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
++# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
++# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
++# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++#
++# FindSIP.py
++# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
++# Redistribution and use is allowed according to the terms of the BSD license.
++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
++
++try:
++ import sipbuild
++
++ print("sip_version:%06.0x" % sipbuild.version.SIP_VERSION)
++ print("sip_version_num:%d" % sipbuild.version.SIP_VERSION)
++ print("sip_version_str:%s" % sipbuild.version.SIP_VERSION_STR)
++
++ from distutils.sysconfig import get_python_lib
++ python_modules_dir = get_python_lib(plat_specific=1)
++ print("default_sip_dir:%s" % python_modules_dir)
++except ImportError: # Code for SIP v4
++ import sipconfig
++
++ sipcfg = sipconfig.Configuration()
++ print("sip_version:%06.0x" % sipcfg.sip_version)
++ print("sip_version_num:%d" % sipcfg.sip_version)
++ print("sip_version_str:%s" % sipcfg.sip_version_str)
++ print("sip_bin:%s" % sipcfg.sip_bin)
++ print("default_sip_dir:%s" % sipcfg.default_sip_dir)
++ print("sip_inc_dir:%s" % sipcfg.sip_inc_dir)
++ # SIP 4.19.10+ has new sipcfg.sip_module_dir
++ if hasattr(sipcfg, "sip_module_dir"):
++ print("sip_module_dir:%s" % sipcfg.sip_module_dir)
++ else:
++ print("sip_module_dir:%s" % sipcfg.sip_mod_dir)
+--- /dev/null
++++ ./cmake/FindSIP.cmake
+@@ -0,0 +1,65 @@
++# Find SIP
++# ~~~~~~~~
++#
++# SIP website: http://www.riverbankcomputing.co.uk/sip/index.php
++#
++# Find the installed version of SIP. FindSIP should be called after Python
++# has been found.
++#
++# This file defines the following variables:
++#
++# SIP_VERSION - The version of SIP found expressed as a 6 digit hex number
++# suitable for comparison as a string.
++#
++# SIP_VERSION_STR - The version of SIP found as a human readable string.
++#
++# SIP_BINARY_PATH - Path and filename of the SIP command line executable.
++#
++# SIP_INCLUDE_DIR - Directory holding the SIP C++ header file.
++#
++# SIP_DEFAULT_SIP_DIR - Default directory where .sip files should be installed
++# into.
++
++# Copyright (c) 2007, Simon Edwards <simon@simonzone.com>
++# Redistribution and use is allowed according to the terms of the BSD license.
++# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
++
++
++
++IF(SIP_VERSION OR SIP_BUILD_EXECUTABLE)
++ # Already in cache, be silent
++ SET(SIP_FOUND TRUE)
++ELSE()
++
++ FIND_FILE(_find_sip_py FindSIP.py PATHS ${CMAKE_MODULE_PATH} NO_CMAKE_FIND_ROOT_PATH)
++
++ EXECUTE_PROCESS(COMMAND ${Python_EXECUTABLE} ${_find_sip_py} OUTPUT_VARIABLE sip_config)
++ IF(sip_config)
++ STRING(REGEX REPLACE "^sip_version:([^\n]+).*$" "\\1" SIP_VERSION ${sip_config})
++ STRING(REGEX REPLACE ".*\nsip_version_num:([^\n]+).*$" "\\1" SIP_VERSION_NUM ${sip_config})
++ STRING(REGEX REPLACE ".*\nsip_version_str:([^\n]+).*$" "\\1" SIP_VERSION_STR ${sip_config})
++ STRING(REGEX REPLACE ".*\ndefault_sip_dir:([^\n]+).*$" "\\1" SIP_DEFAULT_SIP_DIR ${sip_config})
++ IF(${SIP_VERSION_STR} VERSION_LESS 5)
++ STRING(REGEX REPLACE ".*\nsip_bin:([^\n]+).*$" "\\1" SIP_BINARY_PATH ${sip_config})
++ STRING(REGEX REPLACE ".*\nsip_inc_dir:([^\n]+).*$" "\\1" SIP_INCLUDE_DIR ${sip_config})
++ STRING(REGEX REPLACE ".*\nsip_module_dir:([^\n]+).*$" "\\1" SIP_MODULE_DIR ${sip_config})
++ ELSE(${SIP_VERSION_STR} VERSION_LESS 5)
++ FIND_PROGRAM(SIP_BUILD_EXECUTABLE sip-build)
++ ENDIF(${SIP_VERSION_STR} VERSION_LESS 5)
++ SET(SIP_FOUND TRUE)
++ ENDIF(sip_config)
++
++ IF(SIP_FOUND)
++ IF(NOT SIP_FIND_QUIETLY)
++ MESSAGE(STATUS "Found SIP version: ${SIP_VERSION_STR}")
++ ENDIF(NOT SIP_FIND_QUIETLY)
++ ELSE(SIP_FOUND)
++ IF(SIP_FIND_REQUIRED)
++ MESSAGE(FATAL_ERROR "Could not find SIP")
++ ENDIF(SIP_FIND_REQUIRED)
++ ENDIF(SIP_FOUND)
++
++ENDIF()
++
++include(${CMAKE_SOURCE_DIR}/cmake/SIPMacros.cmake)
++ADD_DEFINITIONS(-DSIP_VERSION=0x${SIP_VERSION})
+--- /dev/null
++++ ./cmake/SIPMacros.cmake
+@@ -0,0 +1,105 @@
++# Macros for SIP
++# ~~~~~~~~~~~~~~
++
++set(SIP_ARGS --pep484-pyi --no-protected-is-public)
++
++function(add_sip_module MODULE_TARGET)
++ if(NOT SIP_BUILD_EXECUTABLE)
++ set(SIP_BUILD_EXECUTABLE ${CMAKE_PREFIX_PATH}/Scripts/sip-build)
++ endif()
++
++ message(STATUS "SIP: Generating pyproject.toml")
++ configure_file(${CMAKE_SOURCE_DIR}/pyproject.toml.in ${CMAKE_CURRENT_BINARY_DIR}/pyproject.toml)
++ configure_file(${CMAKE_SOURCE_DIR}/cmake/CMakeBuilder.py ${CMAKE_CURRENT_BINARY_DIR}/CMakeBuilder.py)
++ if(WIN32)
++ set(ext .pyd)
++ set(env_path_sep ";")
++ else()
++ set(ext .so)
++ set(env_path_sep ":")
++ endif()
++
++ message(STATUS "SIP: Generating source files")
++ execute_process(
++ COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${PYTHONPATH}${env_path_sep}$ENV{PYTHONPATH}${env_path_sep}${CMAKE_CURRENT_BINARY_DIR}" ${SIP_BUILD_EXECUTABLE} ${SIP_ARGS}
++ COMMAND_ECHO STDOUT
++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
++ )
++ # This will generate the source-files during the configuration step in CMake. Needed to obtain the sources
++
++ # Touch the generated files (8 in total) to make them dirty and force them to rebuild
++ message(STATUS "SIP: Touching the source files")
++ set(_sip_output_files)
++ list(LENGTH SIP_FILES _no_outputfiles)
++ foreach(_concat_file_nr RANGE 0 ${_no_outputfiles})
++ if(${_concat_file_nr} LESS 8)
++ list(APPEND _sip_output_files "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/sip${MODULE_TARGET}part${_concat_file_nr}.cpp")
++ endif()
++ endforeach()
++
++ # Find the generated source files
++ message(STATUS "SIP: Collecting the generated source files")
++ file(GLOB sip_c "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/*.c")
++ file(GLOB sip_cpp "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/*.cpp")
++ file(GLOB sip_hdr "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/*.h")
++
++ # Add the user specified source files
++ message(STATUS "SIP: Collecting the user specified source files")
++ get_target_property(usr_src ${MODULE_TARGET} SOURCES)
++
++ # create the target library and link all the files (generated and user specified
++ message(STATUS "SIP: Linking the interface target against the shared library")
++ set(sip_sources "${sip_c}" "${sip_cpp}")
++ if(${usr_src})
++ list(APPEND sip_sources "${usr_src}")
++ endif()
++
++ if (BUILD_SHARED_LIBS)
++ add_library("sip_${MODULE_TARGET}" SHARED ${sip_sources})
++ else()
++ add_library("sip_${MODULE_TARGET}" STATIC ${sip_sources})
++ endif()
++
++ # Make sure that the library name of the target is the same as the MODULE_TARGET with the appropriate extension
++ target_link_libraries("sip_${MODULE_TARGET}" PRIVATE "${MODULE_TARGET}")
++ set_target_properties("sip_${MODULE_TARGET}" PROPERTIES PREFIX "")
++ set_target_properties("sip_${MODULE_TARGET}" PROPERTIES SUFFIX ${ext})
++ set_target_properties("sip_${MODULE_TARGET}" PROPERTIES OUTPUT_NAME "${MODULE_TARGET}")
++
++ # Add the custom command to (re-)generate the files and mark them as dirty. This allows the user to actually work
++ # on the sip definition files without having to reconfigure the complete project.
++ add_custom_command(
++ TARGET "sip_${MODULE_TARGET}"
++ COMMAND ${CMAKE_COMMAND} -E env "PYTHONPATH=${PYTHONPATH}${env_path_sep}$ENV{PYTHONPATH}${env_path_sep}${CMAKE_CURRENT_BINARY_DIR}" ${SIP_BUILD_EXECUTABLE} ${SIP_ARGS}
++ COMMAND ${CMAKE_COMMAND} -E touch ${_sip_output_files}
++ WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/
++ MAIN_DEPENDENCY ${MODULE_SIP}
++ DEPENDS ${sip_sources}
++ VERBATIM
++ )
++
++ set_target_properties("sip_${MODULE_TARGET}"
++ PROPERTIES
++ RESOURCE "${CMAKE_CURRENT_BINARY_DIR}/${MODULE_TARGET}/${MODULE_TARGET}/${MODULE_TARGET}.pyi")
++endfunction()
++
++function(install_sip_module MODULE_TARGET)
++ if(DEFINED ARGV1)
++ set(_install_path ${ARGV1})
++ else()
++ if(DEFINED Python_SITEARCH)
++ set(_install_path ${Python_SITEARCH})
++ elseif(DEFINED Python_SITELIB)
++ set(_install_path ${Python_SITELIB})
++ else()
++ message(FATAL_ERROR "SIP: Specify the site-packages location")
++ endif()
++ endif()
++ message(STATUS "SIP: Installing Python module and PEP 484 file in ${_install_path}")
++ install(TARGETS "sip_${MODULE_TARGET}"
++ ARCHIVE DESTINATION ${_install_path}
++ LIBRARY DESTINATION ${_install_path}
++ RUNTIME DESTINATION ${_install_path}
++ RESOURCE DESTINATION ${_install_path}
++ )
++endfunction()
diff --git a/testing/py3-pynest2d/cmake.patch b/testing/py3-pynest2d/cmake.patch
new file mode 100644
index 00000000000..c2ac24e9d50
--- /dev/null
+++ b/testing/py3-pynest2d/cmake.patch
@@ -0,0 +1,34 @@
+--- ./CMakeLists.txt.orig
++++ ./CMakeLists.txt
+@@ -2,16 +2,25 @@
+ project(pynest2d)
+ cmake_minimum_required(VERSION 3.20)
+
+-find_package(nest2d REQUIRED)
+-find_package(cpython REQUIRED)
++list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+
+-find_package(standardprojectsettings REQUIRED)
+-find_package(sipbuildtool REQUIRED)
++find_package(Libnest2D REQUIRED)
+
++find_package(Python REQUIRED COMPONENTS Interpreter Development)
++find_package(SIP REQUIRED 6.5.0)
++
+ add_library(pynest2d INTERFACE)
+-use_threads(pynest2d)
+
+-target_link_libraries(pynest2d INTERFACE nest2d::nest2d cpython::cpython)
++target_include_directories(pynest2d
++ INTERFACE
++ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
++ $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/python/>
++ )
++
++find_package(Threads REQUIRED)
++find_package(Boost REQUIRED)
++target_link_libraries(pynest2d INTERFACE Libnest2D::libnest2d Python::Python Threads::Threads Boost::boost)
++
+ add_sip_module(pynest2d)
+ install_sip_module(pynest2d)
+
diff --git a/testing/py3-pynest2d/pyproject.patch b/testing/py3-pynest2d/pyproject.patch
new file mode 100644
index 00000000000..3c743898c6e
--- /dev/null
+++ b/testing/py3-pynest2d/pyproject.patch
@@ -0,0 +1,21 @@
+--- /dev/null
++++ ./pyproject.toml.in
+@@ -0,0 +1,17 @@
++[build-system]
++requires = ["sip >=6, <7"]
++build-backend = "sipbuild.api"
++
++[tool.sip.metadata]
++name = "pynest2d"
++
++[tool.sip.project]
++builder-factory = "CMakeBuilder"
++sip-files-dir = "${CMAKE_CURRENT_SOURCE_DIR}/src/"
++sip-include-dirs = ["CMAKE_CURRENT_SOURCE_DIR/src/"]
++build-dir = "${CMAKE_CURRENT_BINARY_DIR}/pynest2d/"
++
++[tool.sip.bindings.pynest2d]
++exceptions = true
++release-gil = true
++concatenate = 8
+\ No newline at end of file
diff --git a/testing/py3-pypandoc/APKBUILD b/testing/py3-pypandoc/APKBUILD
index 83e0f1dde04..b246a90867e 100644
--- a/testing/py3-pypandoc/APKBUILD
+++ b/testing/py3-pypandoc/APKBUILD
@@ -1,20 +1,23 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=py3-pypandoc
-pkgver=1.5
-pkgrel=2
+pkgver=1.12
+pkgrel=3
pkgdesc="Thin wrapper for pandoc"
-url="https://github.com/bebraw/pypandoc"
-arch="x86_64" # pandoc
+url="https://github.com/NicklasTegner/pypandoc"
+arch="aarch64 x86_64" # pandoc
license="MIT"
depends="python3 pandoc"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-poetry-core"
options="!check" # missing pandoc-citeproc
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/pypandoc/pypandoc-$pkgver.tar.gz"
builddir="$srcdir/pypandoc-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
@@ -22,7 +25,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/pypandoc-*.whl
}
-sha512sums="511f5f5f7bff8de686c3f74d3756d27a3ae245803e2e9b45abc957acf112b306eff057ce87e8f3b335de00b97d4753de31e9681830d9aa776247ca707683ed13 pypandoc-1.5.tar.gz"
+sha512sums="
+9b6e3e8402928e5ff43a014135a3eeca25034e5519bdf1a1e17e46812115544a63373337b204bb5ce05cded407b76181599657e582b9042a3a0b8eaf02064c2d pypandoc-1.12.tar.gz
+"
diff --git a/testing/py3-pyparted/APKBUILD b/testing/py3-pyparted/APKBUILD
index 1f74c6c76e7..f1591305ca1 100644
--- a/testing/py3-pyparted/APKBUILD
+++ b/testing/py3-pyparted/APKBUILD
@@ -2,26 +2,50 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-pyparted
_pkgname=pyparted
-pkgver=3.11.7
-pkgrel=2
+pkgver=3.13.0
+pkgrel=1
pkgdesc="Python bindings for GNU parted (libparted)"
url="https://github.com/dcantrell/pyparted"
arch="all"
license="GPL-2.0-or-later"
-depends="python3"
-makedepends="python3-dev py3-setuptools parted-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/dcantrell/pyparted/archive/v$pkgver.tar.gz"
+makedepends="
+ parted-dev
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="
+ e2fsprogs
+ "
+subpackages="$pkgname-pyc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/dcantrell/pyparted/archive/v$pkgver.tar.gz
+ archlabels-armv8l.patch
+ "
builddir="$srcdir/$_pkgname-$pkgver"
replaces=py-pyparted # Backwards compatibility
provides=py-pyparted=$pkgver-r$pkgrel # Backwards compatibility
build() {
- python3 setup.py 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 unittest discover
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="147fdc45d47faaee574a7b0268a218eef49be929a147d20adf85cc0302d94e57e98e02072591ca035cad7efe164e7dd87bd1a31504f5cff8575f18d4469dc2b0 py3-pyparted-3.11.7.tar.gz"
+sha512sums="
+26819e28d73420937874f52fda03eb50ab1b136574ea9867a69d46ae4976d38c4f26a2697fa70597eed90dd78a5ea209bafcc3227a17a7a5d63cff6d107c2b11 py3-pyparted-3.13.0.tar.gz
+1b2e92b83df51e4c2fe44f67b3ea21839614ab4613d4c32b5875f9fbf364fd6c9c85fa2400b55b84d4f64435f98f8e22f93c1db9d882ed9658379b20fe76e0d8 archlabels-armv8l.patch
+"
diff --git a/testing/py3-pyparted/archlabels-armv8l.patch b/testing/py3-pyparted/archlabels-armv8l.patch
new file mode 100644
index 00000000000..2bb6f178d87
--- /dev/null
+++ b/testing/py3-pyparted/archlabels-armv8l.patch
@@ -0,0 +1,20 @@
+builders are armv8l (aarch64 32-bits)
+diff --git a/src/parted/__init__.py b/src/parted/__init__.py
+index 594e092..00be6f6 100644
+--- a/src/parted/__init__.py
++++ b/src/parted/__init__.py
+@@ -479,12 +479,12 @@ __archLabels = (
+ ("dasd", "s390x?$"),
+ (
+ "gpt",
+- "i[3-6]86$|x86_64$|ia64$|ppc(64|64le)?$|aarch64$|armv7l$|riscv(32|64)$|loongarch(32|64)$",
++ "i[3-6]86$|x86_64$|ia64$|ppc(64|64le)?$|aarch64$|armv7l$|armv8l$|riscv(32|64)$|loongarch(32|64)$",
+ ),
+ ("mac", "ppc(64)?$"),
+ (
+ "msdos",
+- "i[3-6]86$|x86_64$|s390x?$|alpha$|ia64$|ppc(64|64le)?$|aarch64$|mips64$|armv7l$|riscv(32|64)$|loongarch(32|64)$",
++ "i[3-6]86$|x86_64$|s390x?$|alpha$|ia64$|ppc(64|64le)?$|aarch64$|mips64$|armv7l$|armv8l$|riscv(32|64)$|loongarch(32|64)$",
+ ),
+ ("sun", "sparc(64)?$"),
+ )
diff --git a/testing/py3-pypng/APKBUILD b/testing/py3-pypng/APKBUILD
deleted file mode 100644
index ea34684ee18..00000000000
--- a/testing/py3-pypng/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=py3-pypng
-pkgver=0.0.20
-pkgrel=2
-pkgdesc="Pure Python PNG image encoder/decoder"
-url="https://github.com/drj11/pypng"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="
- py3-setuptools
- "
-_pyname="pypng"
-_pypiprefix="${_pyname%${_pyname#?}}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz
- python-3.9.patch"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 code/test_png.py
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-sha512sums="4f84e9b9cc68c0ad7e4558f0f46c54b0f091561f1a3679ac0679d8a1f1ab9a06493d71bf9df4db5deb6bedbdfa53bb1775ee51204133309eba962077102fdcdd pypng-0.0.20.tar.gz
-48c74a646b6e01b354b252b7d2c25e744c324c753978a56608b308744ff7fd0e556595259816c1221bdfbdf5cb73ee5c146076205fbae5e21a51a838a4f694fb python-3.9.patch"
diff --git a/testing/py3-pypng/python-3.9.patch b/testing/py3-pypng/python-3.9.patch
deleted file mode 100644
index cbb4bde50c5..00000000000
--- a/testing/py3-pypng/python-3.9.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From fe9c973c5e92f24746dfa1be8796c14a2befec4f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 15 Jul 2020 07:54:53 +0200
-Subject: [PATCH] test_png: Use array.tobytes to fix py3.9 compatibility
-
-The deprecated array.tostring() method has been removed in Python 3.9.
-Use .tobytes() instead.
----
- code/test_png.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/code/test_png.py b/code/test_png.py
-index c858d18..447c314 100644
---- a/code/test_png.py
-+++ b/code/test_png.py
-@@ -448,13 +448,13 @@ def test_write_packed(self):
- def test_interlaced_array(self):
- """Reading an interlaced PNG yields each row as an array."""
- r = png.Reader(bytes=pngsuite.basi0g08)
-- list(r.read()[2])[0].tostring
-+ list(r.read()[2])[0].tobytes
-
- def test_trns_array(self):
- """A type 2 PNG with tRNS chunk yields each row
- as an array (using asDirect)."""
- r = png.Reader(bytes=pngsuite.tbrn2c08)
-- list(r.asDirect()[2])[0].tostring
-+ list(r.asDirect()[2])[0].tobytes
-
- def test_flat(self):
- """Test read_flat."""
diff --git a/testing/py3-pyproj/APKBUILD b/testing/py3-pyproj/APKBUILD
deleted file mode 100644
index 1de1eb9e2d5..00000000000
--- a/testing/py3-pyproj/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Russ Webber <russ@rw.id.au>
-# Maintainer: Russ Webber <russ@rw.id.au>
-pkgname=py3-pyproj
-_pkgname=pyproj
-pkgver=2.6.0
-pkgrel=2
-pkgdesc="Python interface to PROJ (cartographic projections and coordinate transformations library)."
-url="https://pyproj4.github.io/pyproj"
-# broken with proj 7.1.0
-# arch="all"
-license="MIT"
-depends="python3"
-makedepends="python3-dev py3-setuptools proj-dev proj-util cython"
-checkdepends="py3-pytest py3-numpy py3-mock"
-
-source="https://github.com/pyproj4/pyproj/archive/v${pkgver}rel.tar.gz"
-builddir="$srcdir/$_pkgname-${pkgver}rel"
-
-case "$CARCH" in
-# blocked by py3-numpy
-mips*) options="!check";;
-esac
-
-build() {
- python3 setup.py build
-}
-
-check() {
- modulebuilddir=$(python3 -c 'import sys,sysconfig; print("build/lib.{}-{}.{}".format(sysconfig.get_platform(), *sys.version_info[:2]))')
- PYTHONPATH="$builddir/$modulebuilddir" make test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="9f49e60ed927a73bb48f6776464f30a03419c5b27e0262091ab7db3b4eeb8e435a73b6c07c4e055f56ea43fbc2d8ddc13514a42c8e2d24569be4fbc5337ba7b4 v2.6.0rel.tar.gz"
diff --git a/testing/py3-pyrebase/APKBUILD b/testing/py3-pyrebase/APKBUILD
index 06de4ce3d0a..1aa0d1d8779 100644
--- a/testing/py3-pyrebase/APKBUILD
+++ b/testing/py3-pyrebase/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-pyrebase
_pkgname=Pyrebase
pkgver=3.0.27
-pkgrel=1
+pkgrel=4
pkgdesc="simple python wrapper for the Firebase API"
options="!check" # no test suite
url="https://github.com/thisbejim/Pyrebase"
@@ -12,6 +12,7 @@ license="MIT"
depends="python3 py3-pycryptodome py3-requests py3-six py3-oauth2client
py3-parsing py3-requests-toolbelt py3-python-jwt"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/P/$_pkgname/$_pkgname-$pkgver.tar.gz
drop-requirements.patch
"
@@ -22,10 +23,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-
sha512sums="
49368b656e49eb74d2e690f916eb3a80f0670f5dfcbca0d9972fd7be993df2901a1fe03c70ef738a721a90ea23a49c5361c4fefe80d6f012af609da104506805 Pyrebase-3.0.27.tar.gz
36fe10f58564995b09d8eced1a2e1b6db7e6c6ad24f3d8f34bbe31edeb331166b1ea11daf93d61c25886f7d5997cf3d4759502e989915aa5b5dceb010e1edd4c drop-requirements.patch
diff --git a/testing/py3-pyro4/APKBUILD b/testing/py3-pyro4/APKBUILD
deleted file mode 100644
index aa3fbde23fc..00000000000
--- a/testing/py3-pyro4/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=py3-pyro4
-_pyname=Pyro4
-pkgver=4.82
-pkgrel=0
-pkgdesc="Python remote objects"
-url="http://pyro4.readthedocs.io/"
-arch="noarch !s390x !mips !mips64" # Limited by py3-dill
-license="MIT"
-depends="py3-serpent"
-makedepends="python3 py3-setuptools"
-checkdepends="py3-msgpack py3-dill py3-cloudpickle"
-_pypiprefix="${_pyname%"${_pyname#?}"}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir=$srcdir/$_pyname-$pkgver
-
-replaces="py-pyro4" # Backwards compatibility
-provides="py-pyro4=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-f5916ce37ec52d8cd23bece79325480140621ac8412febb4877a32b1ce54502ef17d20bf591dc30eb20e9619741548b30a78165937d5e69e8d1911d95a23b1e1 Pyro4-4.82.tar.gz
-"
diff --git a/testing/py3-pyroma/APKBUILD b/testing/py3-pyroma/APKBUILD
index 23b1d002381..7246b67e854 100644
--- a/testing/py3-pyroma/APKBUILD
+++ b/testing/py3-pyroma/APKBUILD
@@ -1,27 +1,39 @@
# Maintainer: Hristiyan Ivanov <hristiyan.d.ivanov@gmail.com>
pkgname=py3-pyroma
_pkgname=pyroma
-pkgver=2.6
-pkgrel=2
-pkgdesc="Python project assessment tool."
+pkgver=4.2
+pkgrel=0
+pkgdesc="Rate your Python packages package friendliness"
url="https://pypi.org/project/pyroma/"
arch="noarch"
license="MIT"
-depends="py3-pygments py3-setuptools py3-docutils"
-makedepends="python3-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/regebro/$_pkgname/archive/$pkgver.tar.gz"
+depends="py3-build
+ py3-docutils
+ py3-pygments
+ py3-requests
+ py3-setuptools
+ py3-trove-classifiers
+ "
+makedepends="py3-gpep517 py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/regebro/pyroma/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
}
-sha512sums="9cbaf4bafc78c8b70948b0ee4233c8c254cd0e2eba2df247a7ecb50595896464cffef67b97208d7196d521bb4219ae9056f8da33c7776f354ea6cbada32363be py3-pyroma-2.6.tar.gz"
+sha512sums="
+6b1830d171674409cc16894233768db065ad8d1c8ebe1edeb49575dc9df37f99b6d82096a19b9c5d6aaf23df94e62f5df86919a78acca4fe718926db73670e26 py3-pyroma-4.2.tar.gz
+"
diff --git a/testing/py3-pyrss2gen/APKBUILD b/testing/py3-pyrss2gen/APKBUILD
deleted file mode 100644
index db8bc3fa00c..00000000000
--- a/testing/py3-pyrss2gen/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-pyrss2gen
-_pkgname=PyRSS2Gen
-pkgver=1.1
-pkgrel=5
-pkgdesc="RSS2 generator"
-url="http://dalkescientific.com/Python/PyRSS2Gen.html"
-arch="noarch"
-license="BSD-2-Clause"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-pyrss2gen" # Backwards compatibility
-provides="py-pyrss2gen=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="23079bdd6a54c0c5f27f0ade81b8ac1a28031779b9952e2d2f16d5100fa0f58c1f6b0a3f02a5e2c7d2d0e309c369a5f518ebcafb77f17c3d2f639b997d13fbd4 PyRSS2Gen-1.1.tar.gz"
diff --git a/testing/py3-pyscreeze/APKBUILD b/testing/py3-pyscreeze/APKBUILD
new file mode 100644
index 00000000000..a0de05f9ca3
--- /dev/null
+++ b/testing/py3-pyscreeze/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer:
+pkgname=py3-pyscreeze
+pkgver=0.1.29
+# no actual tags
+_gitrev=2cf06466855260fb20982a813957e9452ce45c11
+pkgrel=2
+pkgdesc="Simple, cross-platform screenshot module for Python 2 and 3"
+url="https://github.com/asweigart/pyscreeze"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="python3 py3-pillow py3-xlib scrot"
+makedepends="py3-setuptools"
+checkdepends="xvfb-run"
+subpackages="$pkgname-pyc"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/asweigart/pyscreeze/archive/$_gitrev.tar.gz"
+builddir="$srcdir/pyscreeze-$_gitrev"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH="$PWD" \
+ xvfb-run -a \
+ python3 tests/test_pyscreeze.py
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+cedf02941a0c3ba7018bb732de3c11206a0a88badd0531e78d0a636abf53df8bea15497205954ed2ef9d66eeff15ea263b6d7e34f4f103fe6542010de931fa32 py3-pyscreeze-2cf06466855260fb20982a813957e9452ce45c11.tar.gz
+"
diff --git a/testing/py3-pysequoia/APKBUILD b/testing/py3-pysequoia/APKBUILD
new file mode 100644
index 00000000000..1de71e09aef
--- /dev/null
+++ b/testing/py3-pysequoia/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer:
+pkgname=py3-pysequoia
+pkgver=0.1.20
+pkgrel=2
+pkgdesc="Pythong bindings for the Sequoia PGP library"
+url="https://codeberg.org/wiktor/pysequoia"
+# rust-ring
+arch="all !s390x !ppc64le !riscv64"
+license="Apache-2.0"
+makedepends="
+ bzip2-dev
+ cargo
+ clang-libclang
+ gmp-dev
+ nettle-dev
+ openssl-dev
+ pcsc-lite-dev
+ py3-gpep517
+ py3-maturin
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/wiktor/pysequoia/archive/v$pkgver.tar.gz"
+builddir="$srcdir/pysequoia"
+options="net" # cargo
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked
+}
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --config-json '{"build-args": "--frozen"}' \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ cargo test
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+1db48aa093420cc9733b122a96b813923e4e7ef040ddc8d79df1a1d0a2c6d26ffd33e9c56c4873df17720e374a377a4f294c0e8d0a134625b8daefc3bd74a9e2 py3-pysequoia-0.1.20.tar.gz
+"
diff --git a/testing/py3-pysimplesoap/APKBUILD b/testing/py3-pysimplesoap/APKBUILD
index ceed28c43aa..b5ef46bbd8f 100644
--- a/testing/py3-pysimplesoap/APKBUILD
+++ b/testing/py3-pysimplesoap/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-pysimplesoap
_pkgname=PySimpleSOAP
pkgver=1.16.2
-pkgrel=3
+pkgrel=6
pkgdesc="Simple SOAP library"
options="!check" # Tests only work on python2
url="https://github.com/pysimplesoap/pysimplesoap"
@@ -11,6 +11,7 @@ arch="noarch"
license="LGPL-3.0-or-later"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -19,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="179387328d81a08413820cd0ce6cb92fedc13cd8be4451c38bd70b7a4408555acd80ca25cdf2ddc5d5295bcd9346d646c65f93b36368a35f81399dd07eba0643 PySimpleSOAP-1.16.2.tar.gz"
diff --git a/testing/py3-pysonic/APKBUILD b/testing/py3-pysonic/APKBUILD
index 0cd72613ae9..9b64bff2c25 100644
--- a/testing/py3-pysonic/APKBUILD
+++ b/testing/py3-pysonic/APKBUILD
@@ -2,24 +2,29 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-pysonic
_pyname=py-sonic
-pkgver=0.7.9
-pkgrel=2
+pkgver=1.0.1
+pkgrel=1
pkgdesc="Python library to wrap the Subsonic REST API"
url="https://github.com/crustymonkey/py-sonic"
arch="noarch"
license="GPL-3.0-only"
options="!check" # no tests
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/p/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
}
-sha512sums="4a89537f12cb2f0cdecbdf48a9f8593e734dbfb181855bdbb6306e26e7b62a3acbb66dec7beb13f08b0c92c75fbd6a1ba766ce898445b360f6616fe7fbc327d3 py-sonic-0.7.9.tar.gz"
+sha512sums="
+10fd65abea96fcadbfd73527c8d9d31cdf0e60ac6a22de64cea7987b22d8de6b54cb3e9cb2683370a1382965667c4bea49b375e774a5195e00344881d363a456 py-sonic-1.0.1.tar.gz
+"
diff --git a/testing/py3-pyspinel/APKBUILD b/testing/py3-pyspinel/APKBUILD
new file mode 100644
index 00000000000..8802090b529
--- /dev/null
+++ b/testing/py3-pyspinel/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-pyspinel
+pkgver=1.0.3
+pkgrel=1
+pkgdesc="A Python interface to the OpenThread Network Co-Processor (NCP)"
+url="https://github.com/openthread/openthread"
+arch="noarch"
+license="Apache-2.0"
+depends="
+ py3-pyserial
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-installer
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://pypi.python.org/packages/source/p/pyspinel/pyspinel-$pkgver.tar.gz"
+options="!check" # Broken
+builddir="$srcdir/pyspinel-$pkgver"
+
+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 unittest discover
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+e5b128680b846263924bd306d419917f3e3dc6b2052adfdf6931dd18f6d1ddb18be033880874b4404d79fa0910b64ece7d9fdbda5c7ab4aed759ef1fc9f0f1a7 pyspinel-1.0.3.tar.gz
+"
diff --git a/testing/py3-pysrt/APKBUILD b/testing/py3-pysrt/APKBUILD
index e8ffe65b8a1..dc738ac7d47 100644
--- a/testing/py3-pysrt/APKBUILD
+++ b/testing/py3-pysrt/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-pysrt
_pkgname=pysrt
pkgver=1.1.2
-pkgrel=0
+pkgrel=3
pkgdesc="Python parser for SubRip (srt) files"
url="https://github.com/byroot/pysrt"
arch="noarch"
@@ -11,7 +11,10 @@ license="GPL-3.0-only"
depends="python3 py3-chardet"
makedepends="py3-setuptools"
checkdepends="py3-nose"
-source="$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/byroot/pysrt/archive/v$pkgver.tar.gz
+ assertEquals.patch
+ "
builddir="$srcdir/$_pkgname-$pkgver"
build() {
@@ -23,9 +26,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
0d6b3a7ce4c8733221bfb5c3e434233d1b221fedda3c145fafe124093f1f9090b99c175e79de386717ec5f8b564c62719f377651db95a8d3c382e2bf8dccb0a8 py3-pysrt-1.1.2.tar.gz
+0a1f74486e70488b236a5cfe4008c375adede8c8383016c39c660337e61c589ca5970e7a93e4514e43ed2162f2f1964171d706aa8c4b8854b0a1f90538f21673 assertEquals.patch
"
diff --git a/testing/py3-pysrt/assertEquals.patch b/testing/py3-pysrt/assertEquals.patch
new file mode 100644
index 00000000000..16a7abfab96
--- /dev/null
+++ b/testing/py3-pysrt/assertEquals.patch
@@ -0,0 +1,49 @@
+diff --git a/tests/test_srtfile.py b/tests/test_srtfile.py
+index 819aa4d..b24e8ac 100644
+--- a/tests/test_srtfile.py
++++ b/tests/test_srtfile.py
+@@ -119,4 +119,4 @@ class TestSlice(unittest.TestCase):
+ def test_at(self):
+- self.assertEquals(len(self.file.at((0, 0, 31, 0))), 1)
+- self.assertEquals(len(self.file.at(seconds=31)), 1)
++ self.assertEqual(len(self.file.at((0, 0, 31, 0))), 1)
++ self.assertEqual(len(self.file.at(seconds=31)), 1)
+
+@@ -139,3 +139,3 @@ class TestText(unittest.TestCase):
+ ])
+- self.assertEquals(srt_file.text, 'Hello')
++ self.assertEqual(srt_file.text, 'Hello')
+
+@@ -146,3 +146,3 @@ class TestText(unittest.TestCase):
+ ])
+- self.assertEquals(srt_file.text, 'Hello\nWorld !')
++ self.assertEqual(srt_file.text, 'Hello\nWorld !')
+
+@@ -253,3 +253,3 @@ class TestIntegration(unittest.TestCase):
+ items = pysrt.open(os.path.join(self.base_path, 'no-indexes.srt'))
+- self.assertEquals(len(items), 7)
++ self.assertEqual(len(items), 7)
+
+diff --git a/tests/test_srtitem.py b/tests/test_srtitem.py
+index f4a6f2f..9d29538 100644
+--- a/tests/test_srtitem.py
++++ b/tests/test_srtitem.py
+@@ -199,4 +199,4 @@ class TestSerialAndParsing(unittest.TestCase):
+ item = SubRipItem.from_string(self.string_index)
+- self.assertEquals(item.index, 'foo')
+- self.assertEquals(item.text, 'Hello !')
++ self.assertEqual(item.index, 'foo')
++ self.assertEqual(item.text, 'Hello !')
+
+@@ -204,4 +204,4 @@ class TestSerialAndParsing(unittest.TestCase):
+ item = SubRipItem.from_string(self.no_index)
+- self.assertEquals(item.index, None)
+- self.assertEquals(item.text, 'Hello world !')
++ self.assertEqual(item.index, None)
++ self.assertEqual(item.text, 'Hello world !')
+
+@@ -209,3 +209,3 @@ class TestSerialAndParsing(unittest.TestCase):
+ item = SubRipItem.from_string(self.junk_after_timestamp)
+- self.assertEquals(item, self.item)
++ self.assertEqual(item, self.item)
+
diff --git a/testing/py3-pystache/APKBUILD b/testing/py3-pystache/APKBUILD
index 7cd9a070def..b0355da87b4 100644
--- a/testing/py3-pystache/APKBUILD
+++ b/testing/py3-pystache/APKBUILD
@@ -4,35 +4,39 @@
# Maintainer: Paul Kilar <pkilar@gmail.com>
pkgname=py3-pystache
_realname=pystache
-pkgver=0.5.4
-pkgrel=6
+pkgver=0.6.5
+pkgrel=1
pkgdesc="Pystache is a Python implementation of Mustache"
-url="https://pypi.python.org/pypi/pystache"
+url="https://pypi.org/project/pystache"
arch="noarch"
license="MIT"
replaces="py-pystache" # For backwards compatibility
provides="py-pystache=$pkgver-r$pkgrel" # For backwards compatibility
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-installer py3-wheel py3-setuptools_scm"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_realname:0:1}/$_realname/$_realname-$pkgver.tar.gz"
builddir="$srcdir"/$_realname-$pkgver
build() {
- python3 setup.py build
+ export SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- # This package uses 2to3 to convert itself to Python 3 on the fly
- # So we need to jump through some hoops here
- local _py3ver=$(python3 -c 'import sys; print("{}.{}".format(sys.version_info.major, sys.version_info.minor))')
- mkdir -p test_dir
- python3 setup.py install --root=test_dir
- PYTHONPATH=test_dir/usr/lib/python$_py3ver/site-packages test_dir/usr/bin/pystache-test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-
-sha512sums="4ac325e1431f58f740218c9ec309821db82d89989ef4ca7fc3536dea0ef1c90e8e85ebaa7df27f33129ca02252b84bcbd7429a1ed999b496f62f174dd66502cb pystache-0.5.4.tar.gz"
+sha512sums="
+56b6e5ce6bc95aa2d5d77172d75d3fa2a37cf0927259f9136d77d9a73ce26384d72b3dd158577d247e1cbbe887916d7bc7982b6d8df2d1c0411dc33c93be6e1c pystache-0.6.5.tar.gz
+"
diff --git a/testing/py3-pytaglib/APKBUILD b/testing/py3-pytaglib/APKBUILD
index aa9ab76565b..e109c66b9b0 100644
--- a/testing/py3-pytaglib/APKBUILD
+++ b/testing/py3-pytaglib/APKBUILD
@@ -2,18 +2,20 @@
# Maintainer: prspkt <prspkt@protonmail.com>
pkgname=py3-pytaglib
pkgver=1.5.0
-pkgrel=0
+pkgrel=3
pkgdesc="Python bindigs for the TagLib audio metadata library"
url="https://taglib.org"
arch="all"
license="GPL-3.0-or-later"
depends="python3"
-makedepends="py3-setuptools python3-dev taglib-dev"
+makedepends="cython py3-setuptools python3-dev taglib-dev"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/pytaglib/pytaglib-$pkgver.tar.gz"
builddir="$srcdir/pytaglib-$pkgver"
build() {
+ PYTAGLIB_CYTHONIZE=1 \
python3 setup.py build
}
@@ -23,7 +25,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-pyte/APKBUILD b/testing/py3-pyte/APKBUILD
index ee00c3c4515..ff6f1505437 100644
--- a/testing/py3-pyte/APKBUILD
+++ b/testing/py3-pyte/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=py3-pyte
_pkgname=pyte
-pkgver=0.8.0
-pkgrel=3
+pkgver=0.8.2
+pkgrel=1
pkgdesc="Pyte is an in memory VTXXX-compatible terminal emulator"
url="https://github.com/selectel/pyte"
arch="noarch"
license="LGPL"
depends="py3-wcwidth"
makedepends="py3-setuptools py3-pytest-runner"
+subpackages="$pkgname-pyc"
source="pyte-$pkgver.tar.gz::https://github.com/selectel/pyte/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,8 +23,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-
-sha512sums="c488fd0a61c1dc34b27e12ed9ba1109bb2c331626c982da06e7540bdd168008cb5106a17c71e60e38c493f2dd9f21ba3cf05118928744dfa192d62e511b4c4e8 pyte-0.8.0.tar.gz"
+sha512sums="
+e9e79babb81b32eedbb4f0585ef07f8978e8592171834d9ce43a09f8a1d3156c00abb535e887ba9c83909bf1010210009b9a00ccbec7c2e430e5147120949743 pyte-0.8.2.tar.gz
+"
diff --git a/testing/py3-pytest-env/APKBUILD b/testing/py3-pytest-env/APKBUILD
deleted file mode 100644
index 241c40d3695..00000000000
--- a/testing/py3-pytest-env/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-pytest-env
-_pyname=pytest-env
-pkgver=0.6.2
-pkgrel=1
-pkgdesc="Pytest plugin for adding environment variables"
-url="https://github.com/MobileDynasty/pytest-env"
-arch="noarch"
-license="MIT"
-depends="python3 py3-pytest"
-makedepends="py3-setuptools"
-options="!check" # no tests
-source="$_pyname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-0b3bb21fc881023c102b584593c6e28840400ce8190810f33f9a421df4141e17dcfad2943c4159aaab82376b7b47b07b45f97c9cb232a7d17c4d35b55966596d pytest-env-0.6.2.tar.gz
-"
diff --git a/testing/py3-pytest-expect/APKBUILD b/testing/py3-pytest-expect/APKBUILD
index 63cf74c9890..817954cecf3 100644
--- a/testing/py3-pytest-expect/APKBUILD
+++ b/testing/py3-pytest-expect/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-pytest-expect
_pkgname=pytest-expect
pkgver=1.1.0
-pkgrel=6
+pkgrel=9
pkgdesc="A pytest plugin that stores test expectations"
options="!check" # no test suite
url="https://github.com/gsnedders/pytest-expect"
@@ -11,6 +11,7 @@ arch="noarch"
license="MIT"
depends="py3-pytest py3-u-msgpack"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$_pkgname-$pkgver.tar.gz::https://github.com/gsnedders/pytest-expect/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -19,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="dbef3c394e974663179e91ca3cd6f096fdb055693b3e540dd0f27d6bf59a5c7298144598eb069f8f0acddd82ecce0bdce14ccd25728eb6a024d41895403e5144 pytest-expect-1.1.0.tar.gz"
diff --git a/testing/py3-pytest-freezegun/APKBUILD b/testing/py3-pytest-freezegun/APKBUILD
deleted file mode 100644
index 2a00dc57433..00000000000
--- a/testing/py3-pytest-freezegun/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-pytest-freezegun
-pkgver=0.4.2
-pkgrel=0
-pkgdesc="Wrap tests with fixtures in freeze_time"
-url="https://github.com/ktosiek/pytest-freezegun"
-license="MIT"
-arch="noarch"
-depends="python3 py3-freezegun py3-pytest"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.zip::https://github.com/ktosiek/pytest-freezegun/archive/refs/tags/$pkgver.zip"
-builddir="$srcdir/pytest-freezegun-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py install --root="$PWD/test_install"
- PYTHONPATH="$(echo $PWD/test_install/usr/lib/python3*/site-packages)" pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-fbbe8a2fa6dffb33d2042bdd96438f00f6bc4b8dac8f5b4b20363bb9946f4f8060ed359e1f2c26258e78a24e4bd305c89c854318a2f075ae71856f6e37c15bd1 py3-pytest-freezegun-0.4.2.zip
-"
diff --git a/testing/py3-pytest-helpers-namespace/APKBUILD b/testing/py3-pytest-helpers-namespace/APKBUILD
new file mode 100644
index 00000000000..eca89de8db5
--- /dev/null
+++ b/testing/py3-pytest-helpers-namespace/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-pytest-helpers-namespace
+pkgver=2021.12.29
+pkgrel=3
+pkgdesc="Pytest Helpers Namespace Plugin"
+url="https://pytest-helpers-namespace.readthedocs.io/"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-pytest"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools-declarative-requirements
+ py3-setuptools_scm
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/saltstack/pytest-helpers-namespace/archive/refs/tags/v$pkgver/py3-pytest-helpers-namespace-$pkgver.tar.gz"
+builddir="$srcdir/pytest-helpers-namespace-$pkgver"
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+82c231ff11a36fce7b16a0ceea51c9306f7e05ca3f9e8cc7cc1c77ac9822f974d1ac893d2bf9b7154bf9593a529193daa041ccaaced6fdd9e38ba4f794f161b0 py3-pytest-helpers-namespace-2021.12.29.tar.gz
+"
diff --git a/testing/py3-pytest-html/APKBUILD b/testing/py3-pytest-html/APKBUILD
new file mode 100644
index 00000000000..afdbef226e5
--- /dev/null
+++ b/testing/py3-pytest-html/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-pytest-html
+pkgver=4.1.1
+pkgrel=1
+pkgdesc="pytest plugin for generating HTML reports"
+url="https://github.com/pytest-dev/pytest-html"
+arch="noarch"
+license="MPL-2.0"
+depends="
+ py3-jinja2
+ py3-pytest
+ py3-pytest-metadata
+ "
+makedepends="
+ npm
+ py3-gpep517
+ py3-hatch-vcs
+ py3-hatchling
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/pytest-dev/pytest-html/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # Requires non-packaged dependencies
+builddir="$srcdir/pytest-html-$pkgver"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver"
+
+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="
+c0cbb342d67ed222130907e43f9ab5ea792865598304d8de9b9da6d1d021a39c78468e79a7806b6a847384c555f060eb0236a905db29a92075e6b8682f12c838 py3-pytest-html-4.1.1.tar.gz
+"
diff --git a/testing/py3-pytest-instafail/APKBUILD b/testing/py3-pytest-instafail/APKBUILD
deleted file mode 100644
index 4cf6c07d5ac..00000000000
--- a/testing/py3-pytest-instafail/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-pytest-instafail
-pkgver=0.4.2
-pkgrel=1
-pkgdesc="pytest plugin to show failures instantly"
-url="https://github.com/pytest-dev/pytest-instafail"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3 py3-pytest"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/p/pytest-instafail/pytest-instafail-$pkgver.tar.gz"
-builddir="$srcdir/pytest-instafail-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-19191d2e0c003ff06e5ef98d5696d9085971c86f13759d9a464315ca78f35f65f75ac66a1f03886db4a3c118e72673f4cad3067a23e2a4fddcdd85ac164e31ae py3-pytest-instafail-0.4.2.tar.gz
-"
diff --git a/testing/py3-pytest-metadata/APKBUILD b/testing/py3-pytest-metadata/APKBUILD
new file mode 100644
index 00000000000..d39d0ddc197
--- /dev/null
+++ b/testing/py3-pytest-metadata/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-pytest-metadata
+pkgver=3.1.1
+pkgrel=0
+pkgdesc="pytest plugin for test session metadata"
+url="https://github.com/pytest-dev/pytest-metadata"
+arch="noarch"
+license="MPL-2.0"
+depends="py3-pytest"
+makedepends="
+ py3-gpep517
+ py3-hatch-vcs
+ py3-hatchling
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://pypi.python.org/packages/source/p/pytest_metadata/pytest_metadata-$pkgver.tar.gz"
+builddir="$srcdir/pytest_metadata-$pkgver"
+
+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="
+20c880cd797534dee9206ef99755643fccc9d62521f1b50dbcc7f2ac0a8ab6adccc4158510c00e20308bed93ada180448ac9f06277cc1af3ba94a1b903da4b09 pytest_metadata-3.1.1.tar.gz
+"
diff --git a/testing/py3-pytest-mypy/APKBUILD b/testing/py3-pytest-mypy/APKBUILD
new file mode 100644
index 00000000000..3bfbbc6f45e
--- /dev/null
+++ b/testing/py3-pytest-mypy/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer:
+pkgname=py3-pytest-mypy
+pkgver=0.10.3
+pkgrel=2
+pkgdesc="Pytest plugin for mypy"
+url="https://github.com/realpython/pytest-mypy"
+arch="noarch"
+license="MIT"
+depends="
+ py3-attrs
+ py3-filelock
+ py3-mypy
+ py3-pytest
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools_scm
+ py3-wheel
+ "
+checkdepends="
+ py3-pexpect
+ py3-pytest-xdist
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/realpython/pytest-mypy/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/pytest-mypy-$pkgver"
+
+build() {
+ SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver \
+ 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 -n auto
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+74e0a6759cedd745ea57c0025698b09fe1297fc9fa344b72130a04f43ee06b7f4ceedf8473948429086f15fbb69efed51f5c934a83343cf7b4c92a5b400e6795 py3-pytest-mypy-0.10.3.tar.gz
+"
diff --git a/testing/py3-pytest-regtest/APKBUILD b/testing/py3-pytest-regtest/APKBUILD
index b9c9e13c3b1..c07182c1a96 100644
--- a/testing/py3-pytest-regtest/APKBUILD
+++ b/testing/py3-pytest-regtest/APKBUILD
@@ -1,31 +1,49 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-pytest-regtest
-_pyname=pytest-regtest
-pkgver=1.4.5
-pkgrel=2
+_pyname=pytest_regtest
+pkgver=2.1.1
+pkgrel=1
pkgdesc="pytest-regtest is a pytest-plugin for implementing regression tests"
url="https://gitlab.com/uweschmitt/pytest-regtest"
arch="noarch"
license="MIT"
-depends="py3-pytest"
-makedepends="py3-setuptools"
-checkdepends="py3-pexpect py3-tox"
-source="https://files.pythonhosted.org/packages/source/p/$_pyname/$_pyname-$pkgver.tar.gz"
+depends="
+ py3-pytest
+ "
+makedepends="
+ py3-gpep517
+ py3-hatchling
+ py3-setuptools
+ py3-wheel
+ twine
+ "
+checkdepends="
+ py3-pexpect
+ py3-tox
+ "
+subpackages="$pkgname-pyc"
+source="
+ https://files.pythonhosted.org/packages/source/p/$_pyname/$_pyname-$pkgver.tar.gz
+ "
builddir="$srcdir/$_pyname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages test-env
+ test-env/bin/python3 -m installer .dist/*.whl
+ test-env/bin/python3 -m pytest tests/test_plugin.py
}
package() {
- python3 setup.py install \
- --prefix=/usr \
- --root="$pkgdir"
-
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="f10faf6f6bbbe1e08f6aaa6e67ef8b47da48d081f041e0977ebed348c1e49432fc9f00e8567a996fd0bd6f103ca8335b3fb5e5796baaf6cdaa18293da9d82064 pytest-regtest-1.4.5.tar.gz"
+sha512sums="
+31f5da09d1bfae682caba6eb716cf75f80de8ef0f30893b760d6eee60717b9453b0b3c72a5e706f8b3c84d85ac7a856d4c03632f851c40741a4893a1ca8002fb pytest_regtest-2.1.1.tar.gz
+"
diff --git a/testing/py3-pytest-rerunfailures/APKBUILD b/testing/py3-pytest-rerunfailures/APKBUILD
deleted file mode 100644
index fb9a8ea9642..00000000000
--- a/testing/py3-pytest-rerunfailures/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Philipp Glaum <p@pglaum.de>
-# Maintainer: Philipp Glaum <p@pglaum.de>
-pkgname=py3-pytest-rerunfailures
-_pkgname=pytest-rerunfailures
-pkgver=9.1.1
-pkgrel=2
-pkgdesc="Pytest plugin to re-run tests to eliminate flaky failures"
-url="https://pypi.org/project/pytest-rerunfailures/"
-arch="noarch"
-license="MPL-2.0"
-depends="python3 py3-pytest"
-makedepends="py3-setuptools"
-checkdepends="py3-mock"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="875591306ab010494ccbb865ea6445ab37422fce9105260d9495215af44057210564aca4fed3b4765b5a30c1cbef120de716d15d10a6db91dcb7d9f5b4f3b102 pytest-rerunfailures-9.1.1.tar.gz"
diff --git a/testing/py3-pytest-subprocess/APKBUILD b/testing/py3-pytest-subprocess/APKBUILD
new file mode 100644
index 00000000000..e8581b5aa01
--- /dev/null
+++ b/testing/py3-pytest-subprocess/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-pytest-subprocess
+_pyname=${pkgname#py3-}
+pkgver=1.5.0
+pkgrel=2
+pkgdesc="Pytest plugin to fake subprocess"
+url="https://github.com/aklajnert/pytest-subprocess"
+arch="noarch"
+license="MIT"
+depends="python3 py3-pytest"
+makedepends="py3-setuptools"
+checkdepends="
+ py3-anyio
+ py3-docutils
+ py3-pygments
+ py3-pytest-asyncio
+ py3-pytest-rerunfailures
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/aklajnert/pytest-subprocess/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages test-env
+ test-env/bin/python3 setup.py install
+ test-env/bin/python3 -m pytest \
+ -W "ignore:There is no current event loop:DeprecationWarning"
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+8489993cc396d41d127927ab46a43120528dbcb9641e7be03777689af127df29fe618eee3a815e96a0353cc02117dc1af22800d748476c4fe2b76c2246229f08 py3-pytest-subprocess-1.5.0.tar.gz
+"
diff --git a/testing/py3-python-archive/APKBUILD b/testing/py3-python-archive/APKBUILD
index 5d6a82e0ddd..af37c899dfa 100644
--- a/testing/py3-python-archive/APKBUILD
+++ b/testing/py3-python-archive/APKBUILD
@@ -3,25 +3,25 @@
pkgname=py3-python-archive
_pkgname=python-archive
pkgver=0.2
-pkgrel=3
+pkgrel=6
pkgdesc="Library for extracting zip and tar archives"
url="https://github.com/gdub/python-archive"
arch="noarch"
license="MIT"
replaces="py-archive" # for backwards compatibility
provides="py-archive=$pkgver-r$pkgrel" # for backwards compatibility
-depends="python3"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
+options="!check" # no tests
build() {
- cd "$builddir"
python3 setup.py build
}
package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="5f02fe522f44989c1b61db48239cdbda5536ff685174ba93af028591eba276dcefd7655aad3a458d92140f163724d87bbe25711c78a82e06dfb382b6ae9f5683 python-archive-0.2.tar.gz"
diff --git a/testing/py3-python-iptables/APKBUILD b/testing/py3-python-iptables/APKBUILD
new file mode 100644
index 00000000000..500ababc2fa
--- /dev/null
+++ b/testing/py3-python-iptables/APKBUILD
@@ -0,0 +1,40 @@
+# Automatically generated by apkbuild-pypi, template 4
+# Contributor: Niklas Meyer <derlinkman@gmail.com>
+# Maintainer: Niklas Meyer <derlinkman@gmail.com>
+pkgname=py3-python-iptables
+#_pkgreal is used by apkbuild-pypi to find modules at PyPI
+_pkgreal=python-iptables
+pkgver=1.0.1
+pkgrel=1
+pkgdesc="Python bindings for iptables"
+url="https://pypi.org/project/python-iptables/"
+arch="all"
+license="Apache-2.0"
+depends="iptables"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/p/python-iptables/python-iptables-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+options="!check" #needs iptables for check
+
+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="
+85e251b58b71d8428d061861d924454fcda1fbacc429a0347223ce7eee6f7543894ab6231ea64346bb87dd1248580d5cdf851f12e1e5ed98e68f93a895a4c055 python-iptables-1.0.1.tar.gz
+"
diff --git a/testing/py3-python-jose/APKBUILD b/testing/py3-python-jose/APKBUILD
new file mode 100644
index 00000000000..e59a5161c87
--- /dev/null
+++ b/testing/py3-python-jose/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=py3-python-jose
+pkgver=3.3.0
+pkgrel=2
+pkgdesc="A JOSE implementation in Python"
+url="https://github.com/mpdavis/python-jose/"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-cryptography py3-pycryptodome py3-pytest-runner"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="python-jose-$pkgver.tar.gz::https://github.com/mpdavis/python-jose/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/python-jose-$pkgver"
+
+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() {
+ python -m installer -d "$pkgdir" .dist/*.whl
+
+ install -vDm644 README.rst -t "$pkgdir/usr/share/doc/$pkgname/"
+}
+
+sha512sums="
+de7147cc6e12406d6e459c32829acae46395acba727c53e65bc05f4794ee3050eecd355e3ae2e87f4ebdbd871f53822eea08a10f25d7ca6088fc6128dc7d9637 python-jose-3.3.0.tar.gz
+"
diff --git a/testing/py3-python-jwt/APKBUILD b/testing/py3-python-jwt/APKBUILD
deleted file mode 100644
index 324118d2796..00000000000
--- a/testing/py3-python-jwt/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Rejah Rehim <rejah@beaglesecurity.com>
-# Maintainer: Rejah Rehim <rejah@beaglesecurity.com>
-pkgname=py3-python-jwt
-_pkgname=python_jwt
-pkgver=3.3.0
-pkgrel=1
-pkgdesc="Module for generating and verifying JSON Web Tokens"
-options="!check" # no test suite
-url="https://github.com/davedoesdev/python-jwt"
-arch="noarch"
-license="MIT"
-depends="python3 py3-jwcrypto"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
-source="https://files.pythonhosted.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- install -Dm644 LICENCE "$pkgdir"/usr/share/licenses/$pkgname/LICENCE
- install -Dm644 README.md "$pkgdir"/usr/share/licenses/$pkgname/README.md
-}
-
-
-sha512sums="
-dfc5963eb3d374d44711ac42bb983c4cc44ad2e2231792991207d2ef15192bb8b686f0b76e3a324e19e1669f4c4bc06f27871e5072a22046169c54f6916e6fc1 python_jwt-3.3.0.tar.gz
-"
diff --git a/testing/py3-python-logstash/APKBUILD b/testing/py3-python-logstash/APKBUILD
index 35cd5344bbb..33aa634462b 100644
--- a/testing/py3-python-logstash/APKBUILD
+++ b/testing/py3-python-logstash/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Rejah Rehim <rejah@beaglesecurity.com>
pkgname=py3-python-logstash
_pkgname=python-logstash
-pkgver=0.4.6
-pkgrel=1
+pkgver=0.4.8
+pkgrel=3
pkgdesc="Python logging handler for Logstash"
options="!check" # no test suite
url="https://github.com/vklochan/python-logstash"
@@ -11,7 +11,7 @@ arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -20,10 +20,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
sha512sums="
-b8cff0e6f8efb97f6450c98f36f7339b63daafb34c415eebc18d8d4ac17aeb2e2e0ba934a841317e9cc9f424e664d3b57d73ac74e30d98c3dd273db2c886f2b7 python-logstash-0.4.6.tar.gz
+0ddc7e142f54aa27b0678fa903357ac877b755fb0ce3d8596472e843ca67c11d727289cebb5a0b4b4b613a768e8afde0ab4c0366305b7d9d5743fde8f1060e7a python-logstash-0.4.8.tar.gz
"
diff --git a/testing/py3-python-mystrom/APKBUILD b/testing/py3-python-mystrom/APKBUILD
deleted file mode 100644
index 365570e4523..00000000000
--- a/testing/py3-python-mystrom/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-python-mystrom
-_pkgname=python-mystrom
-pkgver=0.5.0
-pkgrel=3
-pkgdesc="Python API for controlling myStrom switches/plugs"
-url="https://github.com/fabaff/python-mystrom"
-arch="noarch"
-license="MIT"
-depends="py3-click py3-requests"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces=py-mystrom # Backwards compatibility
-provides=py-mystrom=$pkgver-r$pkgrel # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="db330bbc0e304224b586caa9d2ea646cb25beff165268d68b52e6d470cd5fa2db71bfe7d21628f74679cd8480c7f0269c42ea3a3fc76636bec3ff184bf9a80d9 python-mystrom-0.5.0.tar.gz"
diff --git a/testing/py3-python-stdnum/APKBUILD b/testing/py3-python-stdnum/APKBUILD
index c1c275d78be..9af59f27d9f 100644
--- a/testing/py3-python-stdnum/APKBUILD
+++ b/testing/py3-python-stdnum/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-python-stdnum
_pkgname=python-stdnum
-pkgver=1.17
-pkgrel=0
+pkgver=1.19
+pkgrel=1
pkgdesc="Python module to handle standardized numbers and codes"
url="https://arthurdejong.org/python-stdnum"
arch="noarch"
@@ -11,9 +11,8 @@ license="LGPL-2.0-or-later"
depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-coverage py3-nose"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
- lower-coverage.patch
- "
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
replaces="py-stdnum" # Backwards compatibility
@@ -28,10 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-9ddec525ea153e3066f205ee70602a59821e793f9ffde66a4b01511daf9a559a3a42082a99bddf69c1159a27b2d9e64d91f8a65ee283a2d7da473d766ce0e711 python-stdnum-1.17.tar.gz
-adbdbc93de54af2145e37d790e550e42532dd4b06302ab09047892ffd133cd21c0a3f77522f9ab400db1b5330b676479a01977cedd0e23fe00eb59a325e8dc8e lower-coverage.patch
+02c56aea710a9a02e14160840fbd45751cd00f1a49b1d046124945ba92e2dd3377006f44a146030522d09b92f809ceb4d1e3589ef3d9c9302f7674a79602ef07 python-stdnum-1.19.tar.gz
"
diff --git a/testing/py3-python-stdnum/lower-coverage.patch b/testing/py3-python-stdnum/lower-coverage.patch
deleted file mode 100644
index 41838653adb..00000000000
--- a/testing/py3-python-stdnum/lower-coverage.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-coverage is not relevant for us
---- a/setup.cfg
-+++ b/setup.cfg
-@@ -19,7 +19,7 @@
- cover-erase = true
- cover-html = true
- cover-html-dir = coverage
--cover-min-percentage = 100
-+cover-min-percentage = 95
-
- [coverage:report]
- fail_under = 100
diff --git a/testing/py3-pytube/APKBUILD b/testing/py3-pytube/APKBUILD
new file mode 100644
index 00000000000..6d27b69d04e
--- /dev/null
+++ b/testing/py3-pytube/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
+# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
+pkgname=py3-pytube
+#_pkgreal is used by apkbuild-pypi to find modules at PyPI
+_pkgreal=pytube
+pkgver=15.0.0
+pkgrel=1
+pkgdesc="Python 3 library for downloading YouTube Videos."
+url="https://pypi.python.org/project/pytube"
+arch="noarch"
+license="Unlicense"
+checkdepends="py3-pytest"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+source="$pkgname-$pkgver.tar.gz::https://github.com/pytube/pytube/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+subpackages="$pkgname-pyc"
+# 7/131 units failing due to:
+# AttributeError: 'NoneType' object has no attribute 'register_on_progress_callback'
+# AttributeError: 'YouTube' object has no attribute 'stream_monostate'
+# StopIteration
+options="!check"
+
+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 "$builddir"/.dist/*.whl
+ .testenv/bin/python3 -m pytest -v
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+fc28d87c56bae9da3def68224a03687cc521c26e6f38dd41abe81e84f91bb2cab73dc8c7dbbc388787cf066f7d7304c78162cc60c544b99e75187b760c64b4a3 py3-pytube-15.0.0.tar.gz
+"
diff --git a/testing/py3-pytweening/APKBUILD b/testing/py3-pytweening/APKBUILD
new file mode 100644
index 00000000000..f35fdddfcda
--- /dev/null
+++ b/testing/py3-pytweening/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=py3-pytweening
+pkgver=1.2.0
+pkgrel=2
+pkgdesc="Set of tweening / easing functions implemented in Python"
+url="https://github.com/asweigart/pytweening"
+arch="noarch"
+license="GPL-3.0-or-later"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/p/pytweening/pytweening-$pkgver.tar.gz"
+builddir="$srcdir/pytweening-$pkgver"
+
+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 tests/basicTests.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+2a06ab1ba3dfd8cb2446b53470613c05eb3133d071da84984c4512c7f9905be2b353918a2ca6ea58eb44cd1af50a55df2c4a6792be39d79f305ef6cbf43f742d pytweening-1.2.0.tar.gz
+"
diff --git a/testing/py3-pyvcd/APKBUILD b/testing/py3-pyvcd/APKBUILD
new file mode 100644
index 00000000000..b558eb26a6d
--- /dev/null
+++ b/testing/py3-pyvcd/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-pyvcd
+pkgver=0.4.0
+pkgrel=1
+pkgdesc="Python package for writing Value Change Dump (VCD) files"
+url="https://github.com/westerndigitalcorporation/pyvcd"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-setuptools py3-gpep517 py3-installer py3-setuptools_scm py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/westerndigitalcorporation/pyvcd/archive/refs/tags/$pkgver/py3-pyvcd-$pkgver.tar.gz"
+builddir="$srcdir/pyvcd-$pkgver"
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages test-env
+ test-env/bin/python3 -m installer .dist/*.whl
+ test-env/bin/python3 -m pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+245eeb440ca31ef2eda202d46dee002703bfec06e14ba3ff5d03a5cd19991133915221c94fbcffb672f6ac105296b03834f1fe9c2cf449550d6054de6b964e5e py3-pyvcd-0.4.0.tar.gz
+"
diff --git a/testing/py3-pyvows/APKBUILD b/testing/py3-pyvows/APKBUILD
index 92518b4771a..da67c9aa481 100644
--- a/testing/py3-pyvows/APKBUILD
+++ b/testing/py3-pyvows/APKBUILD
@@ -3,15 +3,15 @@
pkgname=py3-pyvows
_pkgname=pyVows
pkgver=3.0.0
-pkgrel=1
+pkgrel=4
pkgdesc="BDD test engine based on Vows.js"
url="https://github.com/heynemann/pyvows"
arch="noarch"
license="MIT"
depends="python3 py3-gevent py3-preggy"
makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-argparse py3-colorama py3-coverage"
-subpackages="$pkgname-doc"
+checkdepends="py3-pytest py3-colorama py3-coverage"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz
drop-requirements.patch"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -24,7 +24,7 @@ check() {
python3 setup.py test
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -Dm644 README.md "$pkgdir"/usr/share/licenses/$pkgname/README.md
}
diff --git a/testing/py3-pyyaml-env-tag/APKBUILD b/testing/py3-pyyaml-env-tag/APKBUILD
deleted file mode 100644
index 8cb3cb904f2..00000000000
--- a/testing/py3-pyyaml-env-tag/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=py3-pyyaml-env-tag
-pkgver=0.1
-pkgrel=1
-pkgdesc="a custom YAML tag for referencing environment variables in YAML files"
-url="https://github.com/waylan/pyyaml-env-tag"
-arch="noarch"
-license="MIT"
-depends="python3 py3-yaml"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/p/pyyaml_env_tag/pyyaml_env_tag-$pkgver.tar.gz"
-builddir="$srcdir/pyyaml_env_tag-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-7d3dbc08fb338b3de5bbe657fa8a98a330d7ac7962ac2ea6513ade362b36deaaad8d9e82eb018454d73fd26d90003861a3ffee9abc2e9ac51dea4ba315b5c1f9 pyyaml_env_tag-0.1.tar.gz
-"
diff --git a/testing/py3-pyzor/APKBUILD b/testing/py3-pyzor/APKBUILD
index de009f55120..557621ece14 100644
--- a/testing/py3-pyzor/APKBUILD
+++ b/testing/py3-pyzor/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-pyzor
_pkgname=pyzor
pkgver=1.0.0
-pkgrel=6
+pkgrel=10
pkgdesc="Python implementation of a spam-blocking networked system that use spam signatures to identify them."
-url="https://pypi.python.org/pypi/pyzor/"
+url="https://pypi.org/project/pyzor/"
arch="noarch"
license="GPL-2.0-only"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/p/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -21,6 +22,6 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="5ce22d23dac02f3b14b7e87f1049cdcd06b8b02a0214898bf9946d966e3d5e1e5788d82cdf7883641d0291dcf949483a926989482cdd344460d9f6a8e7182cc5 pyzor-1.0.0.tar.gz"
diff --git a/testing/py3-qasync/APKBUILD b/testing/py3-qasync/APKBUILD
new file mode 100644
index 00000000000..decf5a071e9
--- /dev/null
+++ b/testing/py3-qasync/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: guddaff <alpine@guddaff.de>
+# Maintainer: guddaff <alpine@guddaff.de>
+pkgname=py3-qasync
+_pkgname=qasync
+pkgver=0.19.0
+pkgrel=1
+pkgdesc="asyncio in Qt-based applications"
+url="https://github.com/CabbageDevelopment/qasync"
+arch="noarch"
+license="BSD-2-Clause"
+depends="python3"
+makedepends="py3-setuptools py3-qt5"
+checkdepends="py3-pytest"
+options=!check #test segfaults
+source="$pkgname-$pkgver.tar.gz::https://github.com/CabbageDevelopment/$_pkgname/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="
+a46f5b335b12592c134c7e2e1bf42a4599aa130f8f98071e51af299c8687d588480e3c76bc12bcc918e488fbe0c86b2b45c785eed4ba0cb68a8c3f8962d7141e py3-qasync-0.19.0.tar.gz
+"
diff --git a/testing/py3-qbittorrent-api/APKBUILD b/testing/py3-qbittorrent-api/APKBUILD
new file mode 100644
index 00000000000..1acc1157e67
--- /dev/null
+++ b/testing/py3-qbittorrent-api/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=py3-qbittorrent-api
+pkgver=2024.3.60
+pkgrel=0
+pkgdesc="Python client implementation for qBittorrent's Web API"
+url="https://github.com/rmartin16/qbittorrent-api"
+arch="noarch"
+license="MIT"
+depends="
+ py3-requests
+ py3-setuptools
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools_scm
+ py3-sphinx-copybutton
+ py3-sphinx-autodoc-typehints
+ "
+subpackages="$pkgname-doc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rmartin16/qbittorrent-api/archive/v$pkgver.tar.gz"
+builddir="$srcdir/qbittorrent-api-$pkgver"
+# tests requires an instance of qbittorrent running
+# net for sphinx
+options="net !check"
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+ sphinx-build -W -b man docs/source docs/build
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+ install -Dm644 docs/build/qbittorrent-api.1 -t "$pkgdir"/usr/share/man/man1
+
+ rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
+}
+
+sha512sums="
+716b2f8eadd0556a57bfcaec6f03227c67e7412f78cbb350f7a608897bf23075a5d85986993235305be8d056926401e8438fdc4dd2e0a65183a4bd1f79fbf148 py3-qbittorrent-api-2024.3.60.tar.gz
+"
diff --git a/testing/py3-qdldl/APKBUILD b/testing/py3-qdldl/APKBUILD
new file mode 100644
index 00000000000..f27859b126f
--- /dev/null
+++ b/testing/py3-qdldl/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=py3-qdldl
+pkgver=0.1.5
+pkgrel=3
+pkgdesc="Python interface to the QDLDL free LDL factorization routine for quasi-definite linear systems: Ax = b"
+url="https://github.com/osqp/qdldl-python"
+arch="all !armhf !armv7 !x86" # error: cannot convert 'QDLDL_int*' {aka 'int*'} to 'const long long int*'
+license="Apache-2.0"
+depends="python3 py3-numpy py3-scipy"
+makedepends="py3-setuptools py3-pybind11-dev python3-dev cmake"
+source="qdldl-python-$pkgver.tar.gz::https://github.com/osqp/qdldl-python/archive/refs/tags/v$pkgver.post0.tar.gz
+ qdldl-$pkgver.tar.gz::https://github.com/osqp/qdldl/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/qdldl-python-$pkgver.post0"
+options="!check" # no upstream checks
+
+prepare() {
+ default_prepare
+ rmdir c/qdldl
+ mv "$srcdir/qdldl-$pkgver" c/qdldl
+}
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+d9552adb93c2e023cc9b0b611224e4cc6539de34b30e99d9bcf9a0e244158c4bf6cedae56d05839d8d0a2f39a105d7b0a5b2d08a3cfb3e3f9f1a4f030ee328f1 qdldl-python-0.1.5.tar.gz
+3a224767708484d6728e4b0801210c5e7d4e906564c0855c7987876316cde7349c2717a169b4a6680495b0c71415be383e3e5c6826873fb92d7e93258a7a03a8 qdldl-0.1.5.tar.gz
+"
diff --git a/testing/py3-qpageview/APKBUILD b/testing/py3-qpageview/APKBUILD
new file mode 100644
index 00000000000..64b1028b8d9
--- /dev/null
+++ b/testing/py3-qpageview/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Krystian Chachuła <krystian@krystianch.com>
+pkgname=py3-qpageview
+_pkgname=qpageview
+pkgver=0.6.2
+pkgrel=1
+pkgdesc="Page-based viewer widget for PyQt5"
+url="https://qpageview.org"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="py3-qt5"
+makedepends="py3-gpep517 py3-setuptools py3-wheel py3-sphinx"
+subpackages="$pkgname-pyc $pkgname-doc"
+source="$_pkgname-$pkgver.tar.gz::https://github.com/frescobaldi/qpageview/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+
+ sphinx-build -b man docs/source/ docs/build/man/
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ dist/*.whl
+
+ install -m 644 -D docs/build/man/qpageview.1 \
+ "$pkgdir"/usr/share/man/man1/qpageview.1
+}
+
+sha512sums="
+80b1d6d4419594bcac195450ab030ab0b4fe3fe92dc9a6db598d1dd2282670f0d0b9d957b3c37313d7002f8f7dbc1bdd101edca81e5edca19c6e33ec4f6e4ffe qpageview-0.6.2.tar.gz
+"
diff --git a/testing/py3-qt.py/APKBUILD b/testing/py3-qt.py/APKBUILD
index 58319e8ccce..e122cfe5a1a 100644
--- a/testing/py3-qt.py/APKBUILD
+++ b/testing/py3-qt.py/APKBUILD
@@ -1,15 +1,18 @@
# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-qt.py
-pkgver=1.3.2
-pkgrel=1
+pkgver=1.3.10
+pkgrel=0
pkgdesc="Minimal Python 2 & 3 shim around all Qt bindings"
url="https://github.com/mottosso/Qt.py"
arch="noarch !armhf" # no py3-qt5 on armhf
license="MIT"
depends="python3 py3-qt5 py3-setuptools"
-checkdepends="py3-nose"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mottosso/Qt.py/archive/$pkgver.tar.gz"
+checkdepends="py3-nose py3-six"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mottosso/Qt.py/archive/$pkgver.tar.gz
+ importlib.patch
+ "
builddir="$srcdir/Qt.py-$pkgver"
build() {
@@ -21,7 +24,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="fd1394ebff8d73406765a8369c4ec20618b6a9fbad7f4ac80d4ef87c03d5577e192fd543794d73daf57875b8cb6ded9057534eb7366430741b780e6503465223 py3-qt.py-1.3.2.tar.gz"
+sha512sums="
+a8cf1de389881b453dafa53d6bfd9e9bbe263effef03c9eefbc87b33798463d5117996006545687f91329b976a2e94b0b27a1bf8969728685c1a432c7c31a7b6 py3-qt.py-1.3.10.tar.gz
+0ac7faa921bde9ff487c0f7c1443c2f1390cbd888055cfe174f5a8ab3b1429f695b264b371b8d5f6d0ac07136a5e064bcc534edbd8cbf8bfe65f70dd141a02c4 importlib.patch
+"
diff --git a/testing/py3-qt.py/importlib.patch b/testing/py3-qt.py/importlib.patch
new file mode 100644
index 00000000000..48a6eaf5fa1
--- /dev/null
+++ b/testing/py3-qt.py/importlib.patch
@@ -0,0 +1,20 @@
+diff --git a/tests.py b/tests.py
+index 833fcc6..3c1c937 100644
+--- a/tests.py
++++ b/tests.py
+@@ -5,3 +5,3 @@ import os
+ import sys
+-import imp
++import importlib
+ import shutil
+@@ -310,6 +310,6 @@ def test_environment():
+ # PySide is not available for Python > 3.4
+- imp.find_module("PySide")
+- imp.find_module("PySide2")
+- imp.find_module("PyQt4")
+- imp.find_module("PyQt5")
++ importlib.util.find_spec("PySide")
++ importlib.util.find_spec("PySide2")
++ importlib.util.find_spec("PyQt4")
++ importlib.util.find_spec("PyQt5")
+
diff --git a/testing/py3-qtgraph/APKBUILD b/testing/py3-qtgraph/APKBUILD
deleted file mode 100644
index 126418d2a69..00000000000
--- a/testing/py3-qtgraph/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=py3-qtgraph
-pkgver=0.11.0
-pkgrel=2
-pkgdesc="Scientific Graphics and GUI Library for Python"
-url="http://www.pyqtgraph.org/"
- # armhf blocked by py3-qt5
- # mips64 blocked by py3-numpy
-arch="noarch !armhf !mips64"
-license="MIT"
-depends="python3 py3-qt5 py3-numpy py3-scipy py3-opengl"
-checkdepends="py3-pytest xvfb-run"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pyqtgraph/pyqtgraph/archive/pyqtgraph-$pkgver.tar.gz"
-builddir="$srcdir/pyqtgraph-pyqtgraph-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- xvfb-run python3 test.py
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="1ef7c3c28359a25861424cf7670dcfe471ba62786ebb0288af72a3f626af49ca51a87ac85fccacb7cadce49b6318efb895a7682fb93aa84ff9e2171134d8071b py3-qtgraph-0.11.0.tar.gz"
diff --git a/testing/py3-quebra-frases/APKBUILD b/testing/py3-quebra-frases/APKBUILD
new file mode 100644
index 00000000000..9a284ee96e1
--- /dev/null
+++ b/testing/py3-quebra-frases/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-quebra-frases
+pkgver=0.3.7
+pkgrel=1
+pkgdesc="Chunks strings into byte sized pieces"
+url="https://github.com/OpenJarbas/quebra_frases"
+arch="noarch"
+license="Apache-2.0"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://pypi.python.org/packages/source/q/quebra_frases/quebra_frases-$pkgver.tar.gz"
+builddir="$srcdir/quebra_frases-$pkgver"
+
+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="
+608be3ef5090fb4001913a39f593a98f8da49c0d7c238d62680d0cd03bca0985af08b2bdc78ebc279f4ad5c8de40129dc5e18c75d78d263f21d8cd99c80fa400 quebra_frases-0.3.7.tar.gz
+"
diff --git a/testing/py3-queuelib/APKBUILD b/testing/py3-queuelib/APKBUILD
index 1685ab260b7..7c15f3ed876 100644
--- a/testing/py3-queuelib/APKBUILD
+++ b/testing/py3-queuelib/APKBUILD
@@ -2,30 +2,38 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-queuelib
_pkgname=queuelib
-pkgver=1.5.0
+pkgver=1.6.2
pkgrel=4
pkgdesc="A collection of persistent (disk-based) queues"
url="https://github.com/scrapy/queuelib"
arch="noarch"
license="BSD-3-Clause"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-queuelib" # Backwards compatibility
+replaces="py-queuelib" # Backwards compatibility
provides="py-queuelib=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="aafaf8756b00cd84b36a73d9573a8a321a0432648c2e7dfc9de566d339087fcd855eb2d5991694a495e47bbb9c4ca25d655e4de7101552e96ee0040ed31c9e0f queuelib-1.5.0.tar.gz"
+sha512sums="
+a836f43d5e1d2b06fd9869842b7f400e950e476a253c5fd0adc3a340f153218ddeb854b43cb63177ceda1069f0172ef474b4d1739a9142b76c0b7185efe6330f queuelib-1.6.2.tar.gz
+"
diff --git a/testing/py3-rabbit/APKBUILD b/testing/py3-rabbit/APKBUILD
index fa62cefd804..01e2130e1a8 100644
--- a/testing/py3-rabbit/APKBUILD
+++ b/testing/py3-rabbit/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-rabbit
_pkgname=pyrabbit
pkgver=1.1.0
-pkgrel=4
+pkgrel=7
pkgdesc="Pythonic interface to the RabbitMQ Management HTTP API"
options="!check" # No testsuite in PYPI tarball
url="https://github.com/bkjones/pyrabbit"
@@ -11,6 +11,7 @@ arch="noarch"
license="MIT"
depends="python3 py3-httplib2"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,7 +23,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="aa18c3ad232840da9b4978e275c05a82ea75212f3c4ee2df68075ac93295d9448a2376656953e7d1d9c9bc6a7e759eef020a8aaef98491a12959a416c31187ad pyrabbit-1.1.0.tar.gz"
diff --git a/testing/py3-radon/APKBUILD b/testing/py3-radon/APKBUILD
index 3299474b223..0b80ecd8d69 100644
--- a/testing/py3-radon/APKBUILD
+++ b/testing/py3-radon/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Rejah Rehim <rejah@beaglesecurity.com>
pkgname=py3-radon
_pkgname=radon
-pkgver=5.1.0
+pkgver=6.0.1
pkgrel=1
pkgdesc="Code Metrics in Python"
options="!check" # no test suite
@@ -11,7 +11,7 @@ arch="noarch"
license="MIT"
depends="python3 py3-colorama py3-future py3-mando"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/r/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -20,12 +20,12 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
rm -rf "$pkgdir"/usr/lib/python3*/site-packages/radon/tests
install -Dm644 README.rst -t "$pkgdir"/usr/share/doc/"$pkgname"
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/"$pkgname"
}
sha512sums="
-98e1c3dbf419ff0a791f01ea5376177c5be47c9cf1afdd9ae53014e8869dd10c7a7661a69bace48adb880173a8a176d4a13534711fcf53408b3f495f4579f7c5 radon-5.1.0.tar.gz
+91bd091610568dacb95491ba314b68dfb33ee397b043ae96badc7c134a841122d90394a36b1d665c9cabf273c0e6128217ebfc459c36020c12dcab647dd5df53 radon-6.0.1.tar.gz
"
diff --git a/testing/py3-raet/APKBUILD b/testing/py3-raet/APKBUILD
deleted file mode 100644
index 96f180445ba..00000000000
--- a/testing/py3-raet/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-raet
-_pkgname=raet
-pkgver=0.6.8
-pkgrel=3
-pkgdesc="Reliable Asynchronous Event Transport Protocol"
-url="https://github.com/RaetProtocol/raet"
-arch="noarch !armhf !armv7 !x86" # Limited by py3-libnacl
-license="Apache-2.0"
-replaces="py-raet" # for backwards compatibility
-provides="py-raet=$pkgver-r$pkgrel" # for backwards compatibility
-depends="py3-ioflo py3-libnacl py3-six python3"
-makedepends="py3-setuptools py3-setuptools-git"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-01279e7414ec3edc9f2bc0641cb9e0606ebf5700b5ce37a05fd5919f3274b3b43aad64110baf4c4b1fda3843cb1a87b6be4ab592a8f62e82b3a716a86ae61b20 raet-0.6.8.tar.gz
-"
diff --git a/testing/py3-rapidjson/APKBUILD b/testing/py3-rapidjson/APKBUILD
new file mode 100644
index 00000000000..1418ad71e07
--- /dev/null
+++ b/testing/py3-rapidjson/APKBUILD
@@ -0,0 +1,56 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=py3-rapidjson
+pkgver=1.12
+pkgrel=1
+pkgdesc="Python3 wrapper around RapidJSON"
+url="https://github.com/python-rapidjson/python-rapidjson"
+arch="all"
+license="MIT"
+depends="
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ rapidjson-dev
+ "
+checkdepends="
+ py3-pytest
+ py3-tz
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/python-rapidjson/python-rapidjson/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/"python-rapidjson-$pkgver
+
+prepare() {
+ default_prepare
+
+ # workaround setup.py complaining about "sources not found"
+ mkdir -v rapidjson/include
+}
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ PYTHONPATH="$(echo "$PWD"/build/lib.linux*)" pytest \
+ --ignore benchmarks \
+ --deselect tests/test_base_types.py::test_base_values \
+ --deselect tests/test_unicode.py::test_unicode_decode_error \
+ --deselect tests/test_validator.py::test_additional_and_pattern_properties_valid \
+ #
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+15d021491c64db53352830d8f3f62c8b48476fcb001f97c174bcbb9053d973eb135ceb92f14290a58f6ad6c5dfb24d02f6385c8cad70f4a74f5a5726aa0728e7 py3-rapidjson-1.12.tar.gz
+"
diff --git a/testing/py3-re-assert/APKBUILD b/testing/py3-re-assert/APKBUILD
deleted file mode 100644
index d282e93f7ea..00000000000
--- a/testing/py3-re-assert/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-re-assert
-_pyname=re-assert
-pkgver=1.1.0
-pkgrel=1
-pkgdesc="Easy assertions of regexes"
-url="https://github.com/asottile/re-assert"
-arch="noarch"
-license="MIT"
-depends="python3 py3-regex"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="$_pyname-$pkgver.tar.gz::https://github.com/asottile/re-assert/archive/refs/tags/v$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-fc14267cc68a12ff7350982f0bf54c77107809c9f0379ab3aa73fa1b7cf5ccabb130fcd35ab75bdf183e69c802a041deac707e1f0bab1c3815d4146b4e320c07 re-assert-1.1.0.tar.gz
-"
diff --git a/testing/py3-rebulk/APKBUILD b/testing/py3-rebulk/APKBUILD
deleted file mode 100644
index 91bf99e3065..00000000000
--- a/testing/py3-rebulk/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: Philipp Glaum <p@pglaum.de>
-# Maintainer: Philipp Glaum <p@pglaum.de>
-pkgname=py3-rebulk
-_pkgname=rebulk
-pkgver=3.0.1
-pkgrel=3
-pkgdesc="Define simple search patterns in bulk to perform advanced matching on any string"
-url="https://pypi.org/project/rebulk/"
-arch="noarch"
-license="MIT"
-depends="python3 py3-six py3-regex"
-makedepends="py3-setuptools py3-pytest-runner"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- py.test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/rebulk/test
-}
-
-sha512sums="a1e3ed157b262a2bbe214a01a0959372989eb354dae8ac185b2142564f7ec41e20e2e6e380f85aef14679b42d2d6a54a37076c0ebe47da2444ac2f71bcded9db rebulk-3.0.1.tar.gz"
diff --git a/testing/py3-recommonmark/APKBUILD b/testing/py3-recommonmark/APKBUILD
index 5692a03648b..a5749ad10ba 100644
--- a/testing/py3-recommonmark/APKBUILD
+++ b/testing/py3-recommonmark/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Robert Sacks <robert@sacks.email>
pkgname=py3-recommonmark
_pyname=recommonmark
-pkgver=0.6.0
-pkgrel=2
+pkgver=0.7.1
+pkgrel=3
pkgdesc="A docutils-compatibility bridge to CommonMark"
url="https://github.com/readthedocs/recommonmark"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="python3 py3-commonmark>=0.8.1 py3-docutils py3-sphinx"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$_pyname-$pkgver.tar.gz::https://github.com/readthedocs/$_pyname/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -24,7 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="44005b3fd0052cd8d4fce8a64f9d66a1ac75dc3041a28c115e922254956b2143296cbfbc0a2396b9f95691145645c4242e3be68e695b2c62ae37964014511679 recommonmark-0.6.0.tar.gz"
+sha512sums="
+3e03440d606ea6247df9bd122a6fa2dccf01c0c315eeace046d5cd336657e26bbd1c6b7ad4ba46f344215905128b72508c036cc57bbe4b5e27df50c55371fe01 recommonmark-0.7.1.tar.gz
+"
diff --git a/testing/py3-recurring-ical-events/APKBUILD b/testing/py3-recurring-ical-events/APKBUILD
new file mode 100644
index 00000000000..f7b0a55e372
--- /dev/null
+++ b/testing/py3-recurring-ical-events/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=py3-recurring-ical-events
+pkgver=2.2.1
+pkgrel=1
+pkgdesc="Python library for recurrence of ical events based on icalendar"
+url="https://github.com/niccokunzmann/python-recurring-ical-events"
+arch="noarch"
+license="LGPL-3.0-or-later"
+depends="python3 py3-icalendar py3-tz py3-tzdata py3-x-wr-timezone"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/niccokunzmann/python-recurring-ical-events/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/python-recurring-ical-events-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ # Disable unnecessary test that adds another dependency.
+ pytest -v \
+ --ignore test/test_readme.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+1bd6337b5b8670b2c587d54eae26291c381adba76c38e21a937db8a16480d9b4c6eaddda6660fd0c345f67e38ed4f7cfe9e528ecce3686bce9659f4ef30d278c py3-recurring-ical-events-2.2.1.tar.gz
+"
diff --git a/testing/py3-redmine/APKBUILD b/testing/py3-redmine/APKBUILD
index e71928bb57e..92aa1cabcce 100644
--- a/testing/py3-redmine/APKBUILD
+++ b/testing/py3-redmine/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-redmine
_pkgname=python-redmine
-pkgver=2.2.1
+pkgver=2.4.0
pkgrel=3
pkgdesc="A simple library for communicating with redmine"
url="https://github.com/maxtepkeev/python-redmine"
@@ -10,8 +10,11 @@ arch="noarch"
license="Apache-2.0"
depends="python3 py3-requests"
makedepends="py3-setuptools"
-checkdepends="py3-nose"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+checkdepends="py3-pytest py3-pytest-cov"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ assertEquals.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
replaces="py-redmine" # Backwards compatibility
@@ -22,11 +25,14 @@ build() {
}
check() {
- nosetests
+ pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="95d137f9652964e6dcaec72bd13e1fe8e6771d9864972252ade700da27e1f3e6cb67179a9a8fc35e32559a481fab52e6df14b89d6e87bb17f36c6fb7f380c07b python-redmine-2.2.1.tar.gz"
+sha512sums="
+afb03ca8a3bdacace3c12b7295ba08953ab2040971b57988deb9955df24e5ac1782a9b3fbf0f5070eb22c640e88f489cda12cdec38449f9e3bcf7189dc422642 python-redmine-2.4.0.tar.gz
+7da14671b170863796bf5f9f44b1e7e104d53e7f97d3e251f47bf3de13d6a0ec2e9baa37693230d0ffa2bb8f595dfc97099ffdbf8b0635b4f8dc8852b9684d6e assertEquals.patch
+"
diff --git a/testing/py3-redmine/assertEquals.patch b/testing/py3-redmine/assertEquals.patch
new file mode 100644
index 00000000000..a1b6c96c79d
--- /dev/null
+++ b/testing/py3-redmine/assertEquals.patch
@@ -0,0 +1,23 @@
+diff --git a/tests/test_managers.py b/tests/test_managers.py
+index 37728b6..e435e1b 100644
+--- a/tests/test_managers.py
++++ b/tests/test_managers.py
+@@ -127,3 +127,3 @@ class ResourceManagerTestCase(BaseRedmineTestCase):
+ issue = self.redmine.issue.create(project_id=1, subject='Foo', uploads=[{'path': stream}])
+- self.assertEquals(len(w), 1)
++ self.assertEqual(len(w), 1)
+ self.assertIs(w[0].category, exceptions.PerformanceWarning)
+@@ -168,3 +168,3 @@ class ResourceManagerTestCase(BaseRedmineTestCase):
+ self.assertEqual(self.redmine.issue.update(1, subject='Bar', uploads=[{'path': stream}]), True)
+- self.assertEquals(len(w), 1)
++ self.assertEqual(len(w), 1)
+ self.assertIs(w[0].category, exceptions.PerformanceWarning)
+diff --git a/tests/test_redmine.py b/tests/test_redmine.py
+index 22d9600..f39098c 100644
+--- a/tests/test_redmine.py
++++ b/tests/test_redmine.py
+@@ -79,3 +79,3 @@ class RedmineTestCase(BaseRedmineTestCase):
+ self.assertEqual(self.redmine.upload(StringIO(b'\xcf\x86oo'.decode('utf-8')))['token'], '456789')
+- self.assertEquals(len(w), 1)
++ self.assertEqual(len(w), 1)
+ self.assertIs(w[0].category, exceptions.PerformanceWarning)
diff --git a/testing/py3-reedsolo/APKBUILD b/testing/py3-reedsolo/APKBUILD
deleted file mode 100644
index 048880be228..00000000000
--- a/testing/py3-reedsolo/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-reedsolo
-pkgver=1.5.4
-pkgrel=1
-pkgdesc="Pure-Python implementation of a Reed–Solomon codec"
-url="https://pypi.org/project/reedsolo/"
-license="MIT"
-arch="all"
-depends="python3"
-makedepends="python3-dev cython py3-setuptools"
-checkdepends="py3-pytest"
-source="https://github.com/tomerfiliba/reedsolomon/archive/v$pkgver/py3-reedsolo-$pkgver.tar.gz
- python3.10.patch"
-builddir="$srcdir/reedsolomon-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$(echo $PWD/build/lib*)" pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
-}
-
-sha512sums="
-c738f817c8f536ee86e5bcd3de73a4cf6a3e606ba196a359b6c09e7372dba31316ddb8b134d7c335100e4c2ff0158ff07caa35fee9bc20768bde23cd803e274a py3-reedsolo-1.5.4.tar.gz
-297e3da4a5ac2073ff589305adf4f70e0027d36c54914e7772e148f90002c5ae1d39c1a2cadb0a099c22d170b07e65ffb1cd5063de408f16863dd7530f20e673 python3.10.patch
-"
diff --git a/testing/py3-reedsolo/python3.10.patch b/testing/py3-reedsolo/python3.10.patch
deleted file mode 100644
index d4924663c61..00000000000
--- a/testing/py3-reedsolo/python3.10.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-Patch-Source: https://github.com/tomerfiliba/reedsolomon/pull/38
-
-From 63e5bd9fc3ca503990c212eb2c77c10589e6d6c3 Mon Sep 17 00:00:00 2001
-From: Marco Rossi <developer@marco-rossi.com>
-Date: Tue, 23 Nov 2021 20:31:50 +0100
-Subject: [PATCH] Force cythonize of *.pyx file
-
-If not set the also exisiting and *.c file is used
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 63d4264..ca08d02 100644
---- a/setup.py
-+++ b/setup.py
-@@ -31,7 +31,7 @@
- # If Cython is installed, transpile the optimized Cython module to C and compile as a .pyd to be distributed
- from Cython.Build import cythonize
- print("Cython is installed, building creedsolo module")
-- extensions = cythonize([ Extension('creedsolo', ['creedsolo.pyx']) ])
-+ extensions = cythonize([ Extension('creedsolo', ['creedsolo.pyx']) ], force=True)
- except ImportError:
- # Else Cython is not installed (or user explicitly wanted to skip)
- if '--native-compile' in sys.argv:
diff --git a/testing/py3-remind/APKBUILD b/testing/py3-remind/APKBUILD
index 61af8a4a7fb..be402312b7c 100644
--- a/testing/py3-remind/APKBUILD
+++ b/testing/py3-remind/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-remind
pkgver=0.18.0
-pkgrel=0
+pkgrel=3
pkgdesc="Python library to convert between Remind and iCalendar"
url="https://github.com/jspricke/python-remind"
arch="noarch"
@@ -14,6 +14,7 @@ makedepends="
py3-setuptools
py3-wheel
"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/jspricke/python-remind/archive/v$pkgver.tar.gz"
options="!check"
builddir="$srcdir/python-remind-$pkgver"
@@ -27,7 +28,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-remoto/APKBUILD b/testing/py3-remoto/APKBUILD
deleted file mode 100644
index b6b2fc81b13..00000000000
--- a/testing/py3-remoto/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-remoto
-_pkgname=remoto
-pkgver=1.2.1
-pkgrel=1
-pkgdesc="Execute remote commands or processes"
-url="https://github.com/alfredodeza/remoto"
-arch="noarch"
-license="MIT"
-depends="py3-execnet"
-makedepends="py3-setuptools"
-checkdepends="py3-mock py3-pytest"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/r/remoto/remoto-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- # Remove installed-tests
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/remoto/tests
-}
-
-sha512sums="c2593d93bd53f5aada39318f575dc27ddbbd1cb86dae75db6111b49eff0708d7f242072ee173c57aad466a4e5dc2c4f6d173cbc85c3764c7060205afc4583e53 py3-remoto-1.2.1.tar.gz"
diff --git a/testing/py3-requests-kerberos/APKBUILD b/testing/py3-requests-kerberos/APKBUILD
new file mode 100644
index 00000000000..6c794a754fc
--- /dev/null
+++ b/testing/py3-requests-kerberos/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
+# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
+pkgname=py3-requests-kerberos
+_pkgname=requests-kerberos
+pkgver=0.14.0
+pkgrel=4
+pkgdesc="Kerberos authentication handler for using with Python Requests"
+url="https://github.com/requests/requests-kerberos"
+arch="noarch"
+license="Apache-2.0"
+depends="python3 py3-requests py3-spnego py3-cryptography"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-mock"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/requests/requests-kerberos/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+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="
+9dd6eed0d6afe4b852ba96f621be3af2965e9011bf372c5dce77e0bca18191255ea407ba313904271615d722d60029807db2d6815b24437b021b02b026eb60d6 py3-requests-kerberos-0.14.0.tar.gz
+"
diff --git a/testing/py3-requests-wsgi-adapter/APKBUILD b/testing/py3-requests-wsgi-adapter/APKBUILD
new file mode 100644
index 00000000000..b23f7a1624d
--- /dev/null
+++ b/testing/py3-requests-wsgi-adapter/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-requests-wsgi-adapter
+pkgver=0.4.1
+pkgrel=1
+# upstream does not tag releases on git:
+# https://github.com/seanbrant/requests-wsgi-adapter/issues/20
+_gitrev=5b771effb5414096089375a3a36a3e7af1522ae0
+pkgdesc="WSGI Transport Adapter for Requests"
+url="https://pypi.org/project/requests-wsgi-adapter/"
+arch="noarch"
+license="BSD-3-Clause"
+depends="py3-requests"
+checkdepends="py3-pytest"
+makedepends="py3-gpep517 py3-installer py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/seanbrant/requests-wsgi-adapter/archive/$_gitrev.tar.gz"
+builddir="$srcdir/requests-wsgi-adapter-$_gitrev"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 runtests.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+f5f3572586f3a4cba98bcebfec2a77382e101fb799998007ad37f804ec721533ccb84bb7cc4f7ee8cf2fe9e61e75440b75003e88d384c44a6484acc65bfa3626 py3-requests-wsgi-adapter-0.4.1.tar.gz
+"
diff --git a/testing/py3-rfc-bibtex/APKBUILD b/testing/py3-rfc-bibtex/APKBUILD
index da2be0c81a7..750852094e5 100644
--- a/testing/py3-rfc-bibtex/APKBUILD
+++ b/testing/py3-rfc-bibtex/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-rfc-bibtex
_pkgname=${pkgname#py3-}
pkgver=0.3.2
-pkgrel=2
+pkgrel=6
pkgdesc="Command line tool that creates BibTex entries for IETF RFCs and Internet Drafts"
url="https://github.com/iluxonchik/rfc-bibtex/"
arch="noarch"
license="MIT"
makedepends="py3-setuptools"
-depends="py3-idna py3-multidict py3-yaml py3-six py3-vcrpy py3-wrapt py3-yarl"
+depends="py3-idna py3-multidict py3-yaml py3-vcrpy py3-wrapt py3-yarl"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/iluxonchik/rfc-bibtex/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,7 +23,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="be67bf6e05df333333375e002344d2ca5fda133efbdcc400541ccc9c50b0452f1f52a1f65ec8f157930070fb44e05e0c1d26f220212112af0b0133f641156296 py3-rfc-bibtex-0.3.2.tar.gz"
diff --git a/testing/py3-rfc3987/APKBUILD b/testing/py3-rfc3987/APKBUILD
index bf99c3cd5b6..27aabba4d7c 100644
--- a/testing/py3-rfc3987/APKBUILD
+++ b/testing/py3-rfc3987/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: Iskren Chernev <iskren.chernev@gmail.com>
pkgname=py3-rfc3987
pkgver=1.3.8
-pkgrel=2
+pkgrel=5
pkgdesc="Parsing and validation of URIs (RFC 3896) and IRIs (RFC 3987)"
url="https://github.com/dgerber/rfc3987"
arch="noarch"
license="GPL-3.0-or-later"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://pypi.io/packages/source/r/rfc3987/rfc3987-$pkgver.tar.gz"
builddir="$srcdir/rfc3987-$pkgver"
@@ -19,6 +20,6 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="0e81b8dbc8c410f08b1efa7ee1c90174ed6e70bf7622d3748f598d383583b439908e1b5da1e1a1eb22af4f214ae08680a29f00b253f37808034bae8a1808c32c py3-rfc3987-1.3.8.tar.gz"
diff --git a/testing/py3-rich-click/APKBUILD b/testing/py3-rich-click/APKBUILD
new file mode 100644
index 00000000000..e731844a2a6
--- /dev/null
+++ b/testing/py3-rich-click/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-rich-click
+pkgver=1.7.3
+pkgrel=1
+pkgdesc="Format click help output nicely with rich"
+url="https://github.com/ewels/rich-click"
+arch="noarch"
+license="MIT"
+depends="
+ py3-click
+ py3-rich
+ py3-typing-extensions
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ewels/rich-click/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/rich-click-$pkgver"
+
+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="
+f3e967142fcf5ba042265b4bd4a1f3f90df38f07996dd981f537bb226d144aa7c74c1bdbcb945d3048c5cdae02a06a1aaffce1633bbcfd568bc3ea466b08767d py3-rich-click-1.7.3.tar.gz
+"
diff --git a/testing/py3-riotctrl/APKBUILD b/testing/py3-riotctrl/APKBUILD
new file mode 100644
index 00000000000..2ffa9d082a2
--- /dev/null
+++ b/testing/py3-riotctrl/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=py3-riotctrl
+pkgver=0.5.0
+pkgrel=3
+pkgdesc="python object abstraction of a RIOT device"
+url="https://github.com/RIOT-OS/riotctrl"
+arch="noarch"
+license="MIT"
+depends="
+ py3-pexpect
+ py3-psutil
+ py3-rapidjson
+ python3
+ "
+makedepends="
+ py3-setuptools
+ "
+checkdepends="
+ py3-pytest
+ py3-pytest-cov
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/RIOT-OS/riotctrl/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/"riotctrl-$pkgver
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest \
+ --deselect riotctrl/tests/ctrl_test.py::test_riotctrl_application_dir \
+ --deselect riotctrl/tests/ctrl_test.py::test_riotctrl_curdir \
+ --deselect riotctrl/tests/shell_json_test.py::test_rapid_json_shell_interaction_parser_wo_rapidjson \
+ #
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+ rm -r "$pkgdir"/usr/lib/python3*/site-packages/riotctrl/tests
+}
+
+sha512sums="
+95caf93c8594fc56f0b9bfa8eccd4bdbccaa223d963961c11ae54eeb842690ae9c7b88c4ef6892ddfdc0fa7e23804c41c460073b5e608c978c80ae48c9d5eafd py3-riotctrl-0.5.0.tar.gz
+"
diff --git a/testing/py3-rosdistro/APKBUILD b/testing/py3-rosdistro/APKBUILD
index 1abc19056c6..759e313a604 100644
--- a/testing/py3-rosdistro/APKBUILD
+++ b/testing/py3-rosdistro/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Russ Webber <russ@rw.id.au>
pkgname=py3-rosdistro
_pkgname=rosdistro
-pkgver=0.8.3
-pkgrel=2
+pkgver=0.9.0
+pkgrel=3
pkgdesc="Tools to work with catkinized rosdistro files"
url="https://github.com/ros-infrastructure/rosdistro"
arch="noarch"
@@ -12,6 +12,7 @@ depends="python3 py3-yaml py3-catkin-pkg"
makedepends="py3-setuptools"
checkdepends="py3-nose py3-mock"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/ros-infrastructure/rosdistro/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -24,9 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-19e248497b4001c522a84a52d768bc9f20a08020c88574d1a8345cf2173dc2aadd8a1480d4fddf2285ac579ee69dd0b6d4b930333cd6a9cbe32708efed2e5747 py3-rosdistro-0.8.3.tar.gz
+f3212c8dbceb2862ad8680da537cfdddb347fc302929afa0b0a8601dfa56fd328406eeb9a0d44aba2afa3c1c53fa934dc7721fc3fb2b2c9b0d3f2b9444e78174 py3-rosdistro-0.9.0.tar.gz
"
diff --git a/testing/py3-rospkg/APKBUILD b/testing/py3-rospkg/APKBUILD
index fd5e83d1dbf..b4cac94cf10 100644
--- a/testing/py3-rospkg/APKBUILD
+++ b/testing/py3-rospkg/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-rospkg
_pkgname=rospkg
pkgver=1.2.9
-pkgrel=2
+pkgrel=5
pkgdesc="Standalone Python library for the ROS package system"
url="http://wiki.ros.org/rospkg"
arch="noarch"
@@ -13,6 +13,7 @@ depends="python3 py3-yaml py3-catkin-pkg py3-distro"
makedepends="py3-setuptools"
checkdepends="py3-nose py3-mock"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/ros-infrastructure/rospkg/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -25,7 +26,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="e2e97b2454919a35b5a2ab938a3ab519a125457857c34badb9354f8322b1de704d429753589828500b46814ddad5ad6a7573149ab0a58a925bf7347eadf93746 py3-rospkg-1.2.9.tar.gz"
diff --git a/testing/py3-rpio/APKBUILD b/testing/py3-rpio/APKBUILD
index 4cd80f97c47..02262c9b6a2 100644
--- a/testing/py3-rpio/APKBUILD
+++ b/testing/py3-rpio/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-rpio
_pkgname=RPIO
pkgver=0.10.1
-pkgrel=4
+pkgrel=7
pkgdesc="GPIO toolbox for the Raspberry Pi"
options="!check" # No testsuite
url="https://github.com/metachris/RPIO"
arch="all"
license="LGPL-3.0-or-later"
makedepends="py3-setuptools python3-dev"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/metachris/RPIO/archive/v$pkgver.tar.gz
missing-typesh.patch"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,7 +23,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="47243abb5fa05a019e5de851035cf4d3e2d00b7ebb58fee86e3d89dc5ab4f4938c387d1824a721887a59706d0b401742c709ae53730f09cd021a224eddcd09c4 py3-rpio-0.10.1.tar.gz
diff --git a/testing/py3-rst.linker/APKBUILD b/testing/py3-rst.linker/APKBUILD
index a68188b5547..27a866c6665 100644
--- a/testing/py3-rst.linker/APKBUILD
+++ b/testing/py3-rst.linker/APKBUILD
@@ -1,30 +1,36 @@
# Contributor: Duncan Bellamy <dunk@denkimushi.com>
# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
pkgname=py3-rst.linker
-pkgver=2.2.0
-pkgrel=1
+pkgver=2.4.0
+pkgrel=2
pkgdesc="Tools for adding metadata and hyperlinks to reStructuredText"
url="https://github.com/jaraco/rst.linker"
arch="noarch"
license="MIT"
depends="py3-dateutil py3-sphinx"
-makedepends="py3-setuptools py3-setuptools_scm"
+makedepends="py3-gpep517 py3-installer py3-setuptools_scm py3-wheel"
checkdepends="py3-path py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/r/rst.linker/rst.linker-$pkgver.tar.gz"
builddir="$srcdir/rst.linker-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- pytest
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-3e51103eb5111e1dd6e4e6f8c546a366eeb669d27b050de41a0580ac992117c530c322ed7cf31fd26a2f4a872ce8a7a41e801630e9291a6a644befd7272351a1 rst.linker-2.2.0.tar.gz
+31e3427ecf35b433cc9650138ee36090e99003b72c69b60b530835eb624d7eb13aae4cf81cc0044b36750798a4b8aa676e53e3b9eb335430076593640a243940 rst.linker-2.4.0.tar.gz
"
diff --git a/testing/py3-rst/APKBUILD b/testing/py3-rst/APKBUILD
index cd4cd27b2f7..e7de876cf0f 100644
--- a/testing/py3-rst/APKBUILD
+++ b/testing/py3-rst/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-rst
_pkgname=rst
pkgver=0.1
-pkgrel=5
+pkgrel=8
pkgdesc="A Python module to create reStructuredText documents"
url="https://github.com/kushaldas/rst"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="python3 py3-six"
makedepends="py3-setuptools"
checkdepends="py3-mock"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -26,7 +27,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="77cf2500c79c702881ffaad23819c792575634046d30c3bc9ee3aef237c39bf2a20d85bd98c7d1ec175826beb4486b7c990c2750b4e045cb79fdfa51eb3220c6 rst-0.1.tar.gz"
diff --git a/testing/py3-rstr/APKBUILD b/testing/py3-rstr/APKBUILD
index 19539bafb1e..21d22a6b5e6 100644
--- a/testing/py3-rstr/APKBUILD
+++ b/testing/py3-rstr/APKBUILD
@@ -1,31 +1,36 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=py3-rstr
-pkgver=3.0.0
-pkgrel=1
+pkgver=3.2.2
+pkgrel=3
pkgdesc="Random string generator"
-url="https://bitbucket.org/leapfrogdevelopment/rstr"
+url="https://github.com/leapfrogonline/rstr"
arch="noarch"
license="BSD-3-Clause"
-depends="python3"
-makedepends="py3-setuptools pyproject2setuppy"
+makedepends="py3-gpep517 py3-setuptools py3-setuptools_scm py3-wheel"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/r/rstr/rstr-$pkgver.tar.gz"
builddir="$srcdir/rstr-$pkgver"
build() {
- python3 -m pyproject2setuppy.main build
+ export SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver"
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="$PWD/build/lib" py.test-3 -v
+ 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 pyproject2setuppy.main install --prefix=/usr --root="$pkgdir"
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/*/tests
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-8b9909057f44ffdbfa5a037f9eaf50e506204d846143b54c23c6c83a8589ea5dc7236fa7f987e20b127ef139bef6f47b22239fd961da1f5c5b45606f511cadd8 rstr-3.0.0.tar.gz
+a7fe59cac3382a7ce4dea97b97aae607f6820a0aabf445426e0bedb127a053ed70990ac5137c52a78c2356089e0b474eac05c3cc794f705dc30a1f4ffa6c35ac rstr-3.2.2.tar.gz
"
diff --git a/testing/py3-rtree/APKBUILD b/testing/py3-rtree/APKBUILD
index fb575281ac3..52acba3565e 100644
--- a/testing/py3-rtree/APKBUILD
+++ b/testing/py3-rtree/APKBUILD
@@ -2,18 +2,18 @@
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=py3-rtree
_pkgname=rtree
-pkgver=0.9.7
-pkgrel=2
+pkgver=1.1.0
+pkgrel=1
pkgdesc="Python3 library for r-tree spatial index (wrapper for libspatialindex)"
url="https://pypi.org/project/Rtree/"
# s390x: Test failed: IndexSerialization::test_interleaving - AssertionError
# s390x: Test failed: IndexStream::test_stream_input - AssertionError
-# mips(64): numpy missing
-arch="noarch !s390x !mips !mips64"
+arch="noarch !s390x"
license="MIT"
depends="python3 libspatialindex-dev"
makedepends="py3-setuptools py3-wheel"
checkdepends="py3-pytest py3-numpy"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/Toblerity/rtree/archive/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -26,7 +26,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="f3add9440ddbc3b40366a3826c4206d03d46aa4e0e5cf90e5838347def7f9b52662458cb964a5f27cfd589637b2b1616dca62cbd89e6095601cf0f1881e2090b py3-rtree-0.9.7.tar.gz"
+sha512sums="
+97a87027e49520f12cb86444ee8a9795fabeec6d8f0e3e869f2714df8f7c649ced1374385852af0ce7d7eb91e5a2cb464a4330807be15d538dc0a4d8de7b7ca2 py3-rtree-1.1.0.tar.gz
+"
diff --git a/testing/py3-sabctools/APKBUILD b/testing/py3-sabctools/APKBUILD
new file mode 100644
index 00000000000..1d92df7b4dd
--- /dev/null
+++ b/testing/py3-sabctools/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=py3-sabctools
+_pkgname=sabctools
+pkgver=8.1.0
+pkgrel=1
+pkgdesc="C implementations of functions for use within SABnzbd"
+url="https://github.com/sabnzbd/sabctools"
+arch="all"
+license="GPL-2.0-or-later AND Apache-2.0 AND CC0-1.0"
+makedepends="
+ linux-headers
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="
+ py3-chardet
+ py3-jaraco.functools
+ py3-portend
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sabnzbd/sabctools/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+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="
+862c39f2e386622b528f120a431f214e1e2e92b7c5a751e47d0768f40ce06ad2736d867f7ac2e1810d676e980312bbfedd29951cbadeddefe75246cdcf53fcc6 py3-sabctools-8.1.0.tar.gz
+"
diff --git a/testing/py3-sarge/APKBUILD b/testing/py3-sarge/APKBUILD
new file mode 100644
index 00000000000..4036da557a9
--- /dev/null
+++ b/testing/py3-sarge/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=py3-sarge
+pkgver=0.1.7
+pkgrel=1
+pkgdesc="Subprocess Allegedly Rewards Good Encapsulation"
+url="https://github.com/vsajip/sarge"
+arch="noarch"
+license="BSD-3-Clause" # effectively BSD-3-clause but not exact text
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/vsajip/sarge/archive/refs/tags/$pkgver/sarge-$pkgver.tar.gz"
+builddir="$srcdir/sarge-$pkgver"
+
+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="
+f2017fdab137e1aebfcd60a125ea7ff057158c6bf6a277d3084db73ed62a07cfd3464deba883284980c9f6ea3f56810effb551e8e8523ab750a086895ad0297a sarge-0.1.7.tar.gz
+"
diff --git a/testing/py3-schema/APKBUILD b/testing/py3-schema/APKBUILD
index b7b048ca5ac..9a059b8a036 100644
--- a/testing/py3-schema/APKBUILD
+++ b/testing/py3-schema/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Sasha Gerrand <alpine-pkgs@sgerrand.com>
# Maintainer: Sasha Gerrand <alpine-pkgs@sgerrand.com>
pkgname=py3-schema
-pkgver=0.7.3
-pkgrel=2
+pkgver=0.7.5
+pkgrel=3
pkgdesc="Schema is a library for validating Python data structures"
url="https://github.com/keleshev/schema"
arch="noarch"
@@ -10,6 +10,7 @@ license="MIT"
depends="python3"
checkdepends="py3-pytest py3-mock"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/keleshev/schema/archive/v$pkgver.tar.gz"
builddir="$srcdir/schema-$pkgver"
@@ -22,7 +23,9 @@ check() {
}
package() {
- PYTHONPATH="$PWD" python3 setup.py install --prefix=/usr --root="$pkgdir"
+ PYTHONPATH="$PWD" python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="a64e88a21eb4a5978db5d582ed8494844e563cfc22ae012b8533f2eab57323e0d08eb1b4ce078478a53ad20cc9cc682ce29787258460123fa9a58d119bb07102 py3-schema-0.7.3.tar.gz"
+sha512sums="
+360669128595104ece7295769d29e57218cc49342e3744289389a3e62bfa66b2f086a52cafb1d6fb8ce1d8744d205045a384d7da3814f92ee7dfdf8acd5617d5 py3-schema-0.7.5.tar.gz
+"
diff --git a/testing/py3-scour/APKBUILD b/testing/py3-scour/APKBUILD
new file mode 100644
index 00000000000..bda8cd418fa
--- /dev/null
+++ b/testing/py3-scour/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Sertonix <sertonix@posteo.net>
+# Maintainer: Sertonix <sertonix@posteo.net>
+pkgname=py3-scour
+pkgver=0.38.2
+pkgrel=1
+pkgdesc="SVG Optimizer / Cleaner"
+url="https://github.com/scour-project/scour"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-six"
+makedepends="py3-gpep517 py3-setuptools py3-wheel py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/scour-project/scour/archive/v$pkgver/py3-scour-$pkgver.tar.gz"
+builddir="$srcdir/scour-$pkgver"
+
+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="
+a2c418e25283af399be032322b3af0c336c2392ba361681d4b133b64ebc441ac5beeed2b920f42316cef376c971b230681e306687786a875162d33b659d3fdeb py3-scour-0.38.2.tar.gz
+"
diff --git a/testing/py3-scrapy/APKBUILD b/testing/py3-scrapy/APKBUILD
index 121f929ed63..2efec5d4bb1 100644
--- a/testing/py3-scrapy/APKBUILD
+++ b/testing/py3-scrapy/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: Orion <systmkor@gmail.com>
# Maintainer: Orion <systmkor@gmail.com>
pkgname=py3-scrapy
-pkgver=2.3.0
-pkgrel=3
+pkgver=2.11.1
+pkgrel=1
pkgdesc="Fast high-level scraping and web crawling framework"
url="https://scrapy.org/"
arch="noarch"
license="BSD-3-Clause"
depends="
- python3
+ py3-cryptography
py3-cssselect
py3-itemadapter
+ py3-itemloaders
py3-lxml
py3-openssl
py3-parsel
@@ -18,23 +19,50 @@ depends="
py3-pydispatcher
py3-queuelib
py3-service_identity
- py3-six
+ py3-tldextract
py3-twisted
py3-w3lib
+ py3-zope-interface
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pyftpdlib
+ py3-pytest
+ py3-sybil
+ py3-testfixtures
"
-makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/S/Scrapy/Scrapy-$pkgver.tar.gz"
builddir="$srcdir"/Scrapy-$pkgver
+options="!check" # take forever
+
+# secfixes:
+# 2.6.1-r0:
+# - CVE-2022-0577
+# - CVE-2022-21716
replaces="py-scrapy" # Backwards compatibility
provides="py-scrapy=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ pytest tests
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
}
-sha512sums="85a4083f26b7131b39be24aaffd1353616b2d04fdff437f2037b64357b5d1cc43f3b964614add06beea24c77f430923daaa2531f8d90d9cd77710cb48f352103 Scrapy-2.3.0.tar.gz"
+sha512sums="
+c33bf8fe45c96865483398920e823bd169d7d7e5d67dcfd5e57e4546f1016cfdcb404ebcbf67a6710a4597d5970f55481226fee25c27291dfaedfc00322327d9 Scrapy-2.11.1.tar.gz
+"
diff --git a/testing/py3-scs/APKBUILD b/testing/py3-scs/APKBUILD
new file mode 100644
index 00000000000..dee85f502a3
--- /dev/null
+++ b/testing/py3-scs/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=py3-scs
+pkgver=3.2.3
+pkgrel=3
+pkgdesc="C package that solves convex cone problems via operator splitting"
+url="https://github.com/cvxgrp/scs"
+arch="all"
+license="MIT"
+depends="python3 py3-numpy py3-scipy"
+makedepends="py3-setuptools py3-numpy-dev python3-dev"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="scs-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/s/scs/scs-$pkgver.tar.gz"
+builddir="$srcdir/scs-$pkgver"
+options="!check" # Cannot solve SDPs without linked blas+lapack libraries
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH=$(echo build/lib*) pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+9b3bef40f34fc9350444e2bd56602def10d2fedd6efd0c78eceacfba2f8276bfd16cd7e8a479cd9431c55f5efe65f6869d2d9ecb5dc6450801dd371f802ff3a9 scs-3.2.3.tar.gz
+"
diff --git a/testing/py3-semver/APKBUILD b/testing/py3-semver/APKBUILD
deleted file mode 100644
index a7c3e7a221c..00000000000
--- a/testing/py3-semver/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Alex McGrath <amk@amk.ie>
-# Maintainer: Alex McGrath <amk@amk.ie>
-pkgname=py3-semver
-_pkgname=python-semver
-pkgver=2.13.0
-pkgrel=2
-pkgdesc="Python package to work with Semantic Versioning"
-url="https://github.com/python-semver/python-semver"
-arch="all"
-license="BSD-3-Clause"
-depends="python3"
-options="!check" # tox throws an exception
-makedepends="py3-setuptools"
-source="semver-$pkgver.tar.gz::https://github.com/python-semver/python-semver/archive/$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="ca0d408d8bb7305e90802ea04d935cd7b76b8f166a9ec97ed3427dbc2cf60eeca0b2d27ad0cb2f15f32f5b2589d6717a63717c463183374c5335bf79e1eec222 semver-2.13.0.tar.gz"
diff --git a/testing/py3-seqdiag/APKBUILD b/testing/py3-seqdiag/APKBUILD
index af1cd7c46d1..4a5a03138d0 100644
--- a/testing/py3-seqdiag/APKBUILD
+++ b/testing/py3-seqdiag/APKBUILD
@@ -2,26 +2,32 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-seqdiag
_pkgname=seqdiag
-pkgver=2.0.0
-pkgrel=2
+pkgver=3.0.0
+pkgrel=5
pkgdesc="Generate sequence-diagram image file from spec-text file"
-url="https://pypi.python.org/pypi/seqdiag"
+url="https://pypi.org/project/seqdiag"
arch="noarch"
license="Apache-2.0"
depends="py3-funcparserlib py3-blockdiag py3-pillow"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-seqdiag" # for backwards compatibility
+replaces="py-seqdiag" # for backwards compatibility
provides="py-seqdiag=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="944fbacffefb496a3ac4959af7681122f686b9a5d4a019659128c8b999314e52860068474c67265c328f31fd3e750f3d2e3e7c633c50f5d4bcbe1880feb94804 seqdiag-2.0.0.tar.gz"
+sha512sums="
+b98a7056abc9941fe88fec5e58d07fa76b027d24204a0b072aa15690d557303589fb2bffed59f6be1b58c8bdadac9cac3e75e427e027bc815a82e97be9570e22 seqdiag-3.0.0.tar.gz
+"
diff --git a/testing/py3-serpent/APKBUILD b/testing/py3-serpent/APKBUILD
deleted file mode 100644
index 6d22131a91e..00000000000
--- a/testing/py3-serpent/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Drew DeVault <sir@cmpwn.com>
-pkgname=py3-serpent
-_pyname=serpent
-pkgver=1.40
-pkgrel=1
-pkgdesc="Serialization based on ast.literal_eval for Python"
-url="https://pypi.org/project/serpent/"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-attrs py3-tz"
-source="https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-replaces="py-serpent" # Backwards compatiblity
-provides="py-serpent=$pkgname-r$pkgrel" # Backwards compatiblity
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-9f8edebcd6e37de7442a00157f64b1dec6742cd198f45ab475be7f38aff4e090345739f7500181f0b0a4dbdc9241b2f11bca5ada7a89aa577d94646269d7ab28 serpent-1.40.tar.gz
-"
diff --git a/testing/py3-setuptools-declarative-requirements/APKBUILD b/testing/py3-setuptools-declarative-requirements/APKBUILD
new file mode 100644
index 00000000000..f1cae441167
--- /dev/null
+++ b/testing/py3-setuptools-declarative-requirements/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-setuptools-declarative-requirements
+pkgver=1.3.0
+pkgrel=3
+pkgdesc="Requirements Support For Setuptools Declarative setup.cfg"
+url="https://github.com/s0undt3ch/setuptools-declarative-requirements"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-setuptools"
+makedepends="py3-setuptools_scm py3-gpep517 py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/s0undt3ch/setuptools-declarative-requirements/archive/refs/tags/$pkgver/py3-setuptools-declarative-requirements-$pkgver.tar.gz"
+builddir="$srcdir/setuptools-declarative-requirements-$pkgver"
+options="!check" # circular dependency with py3-pytest-shell-utilities
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+eb20016ab0b8029a38ff4632d19d63cd4b6396c9d101efce577ac862feb3fc485ac4a644035d3267cd05caf679f9b2259e1d1340f8cd902ea7c7451e099c71cc py3-setuptools-declarative-requirements-1.3.0.tar.gz
+"
diff --git a/testing/py3-setuptools-git/APKBUILD b/testing/py3-setuptools-git/APKBUILD
deleted file mode 100644
index 820c88ef48b..00000000000
--- a/testing/py3-setuptools-git/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-setuptools-git
-_pkgname=setuptools-git
-pkgver=1.2
-pkgrel=4
-pkgdesc="Setuptools plugin for Git"
-url="https://github.com/wichert/setuptools-git"
-arch="noarch"
-license="BSD-3-Clause"
-replaces="py-setuptools-git" # for backwards compatibility
-provides="py-setuptools-git=$pkgver-r$pkgrel" # for backwards compatibility
-depends="python3 git"
-makedepends="python3-dev py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- cd "$builddir"
- python3 setup.py build
-}
-
-check() {
- cd "$builddir"
- export EMAIL="Test User <user@example.com>"
- python3 setup.py test
-}
-
-package() {
- cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="c070911618b6b92c862fb0bd40f1daeaf79e2ba10389fa1e69e4c50cfdd39c8e57a612082cbc7d932f8cea12a769e13451e35e1c8fe34f170d4817fd0d44f156 setuptools-git-1.2.tar.gz"
diff --git a/testing/py3-setuptools-lint/APKBUILD b/testing/py3-setuptools-lint/APKBUILD
index 1eeb07ab9c8..2c6b82cd42a 100644
--- a/testing/py3-setuptools-lint/APKBUILD
+++ b/testing/py3-setuptools-lint/APKBUILD
@@ -2,25 +2,31 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-setuptools-lint
pkgver=0.6.0
-pkgrel=3
-pkgdesc="Setuptools plugin for Git"
+pkgrel=9
+pkgdesc="Expose pylint as a lint command into setup.py"
url="https://github.com/johnnoone/setuptools-pylint"
arch="noarch"
license="BSD"
-depends="python3"
-makedepends="py3-setuptools"
+depends="py3-setuptools"
+makedepends="py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/s/setuptools-lint/setuptools-lint-$pkgver.tar.gz"
builddir="$srcdir"/setuptools-lint-$pkgver
-replaces="py-setuptools-lint" # Backwards compatibility
+replaces="py-setuptools-lint" # Backwards compatibility
provides="py-setuptools-lint=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="d36c10bab45672b3c7d92391c8f1ae297a483500654e8b31a312587c9d9355a74beddb466ea952fa4cc8bc035c4f631536eeefd61ae159f807767f61fabc72d4 setuptools-lint-0.6.0.tar.gz"
+sha512sums="
+d36c10bab45672b3c7d92391c8f1ae297a483500654e8b31a312587c9d9355a74beddb466ea952fa4cc8bc035c4f631536eeefd61ae159f807767f61fabc72d4 setuptools-lint-0.6.0.tar.gz
+"
diff --git a/testing/py3-sh/APKBUILD b/testing/py3-sh/APKBUILD
index 0a830f7106d..6edfd555b39 100644
--- a/testing/py3-sh/APKBUILD
+++ b/testing/py3-sh/APKBUILD
@@ -2,32 +2,36 @@
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=py3-sh
_pyname=sh
-pkgver=1.14.2
+pkgver=2.0.6
pkgrel=1
pkgdesc="Python subprocess replacement"
-url="https://amoffat.github.io/sh/"
+url="https://sh.readthedocs.io/"
license="MIT"
-arch="noarch !x86 !armv7" # test_custom_timeout_signal fails on x86 and armv7
-options="!check" # tests fail on the builders
+arch="noarch"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-poetry-core"
checkdepends="py3-pytest lsof coreutils"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://pypi.io/packages/source/s/sh/sh-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="$PWD"/build/lib pytest test.py \
- --deselect test.py::MiscTests::test_no_fd_leak # skip unreliable test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-b7917504ae85606e1986b681274077777ad3011639bfe933d4133c3ed16f930842e03b572caa396ca4d58f41fd5594bef776cc16c4b0fbd1242e57c6aad19e62 py3-sh-1.14.2.tar.gz
+717dae58ebd08b3a86e0d30ba2a6f3055592844d064265280b97a1d29bd7d0422c9e5500b6eb999cc1a97c1c2af04cf8ed214670bc08cb2bc45e418f69560c1d py3-sh-2.0.6.tar.gz
"
diff --git a/testing/py3-shellingham/APKBUILD b/testing/py3-shellingham/APKBUILD
deleted file mode 100644
index e2165e36df1..00000000000
--- a/testing/py3-shellingham/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-shellingham
-_realname=shellingham
-pkgver=1.4.0
-pkgrel=0
-pkgdesc="Python3 module to poke around and find out running shell"
-options="!check" # Requires unpackaged dependencies
-url="https://github.com/sarugaku/shellingham"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sarugaku/shellingham/archive/$pkgver.tar.gz"
-builddir="$srcdir/$_realname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-c7dd1814d106e2e3a6abbb4bb0d8c3bcca1bd45e729d93085611f53c0f9102209a2d21a973e76df720648294d99ef83f737e9f3c3479a9f361766959c5c5b9cb py3-shellingham-1.4.0.tar.gz
-"
diff --git a/testing/py3-shodan/APKBUILD b/testing/py3-shodan/APKBUILD
new file mode 100644
index 00000000000..9676ed0506b
--- /dev/null
+++ b/testing/py3-shodan/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-shodan
+pkgver=1.31.0
+pkgrel=1
+pkgdesc="The official Python library for Shodan"
+url="https://developer.shodan.io/"
+arch="noarch"
+license="MIT"
+depends="
+ python3
+ py3-click
+ py3-click-plugins
+ py3-colorama
+ py3-requests
+ py3-setuptools
+ py3-xlsxwriter
+ py3-tldextract
+ "
+makedepends="
+ py3-gpep517
+ py3-sphinx
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://pypi.python.org/packages/source/s/shodan/shodan-$pkgver.tar.gz"
+builddir="$srcdir/shodan-$pkgver"
+options="!check" # tests require a working api key
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+
+ make -C docs man
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+
+ install -Dm644 docs/_build/man/shodan-python.1 \
+ -t "$pkgdir"/usr/share/man/man1
+}
+
+sha512sums="
+fe66fdd4ae1088d165a2acd67f85a54a9fcbed8130ee5e2a5764d318fa0c50fb472fd5a76ce72f84fcfdb4c74c29ae2e14881f86468fb177ddc3191cb95d3b67 shodan-1.31.0.tar.gz
+"
diff --git a/testing/py3-shortuuid/APKBUILD b/testing/py3-shortuuid/APKBUILD
index f703f2835ed..4fd011cf015 100644
--- a/testing/py3-shortuuid/APKBUILD
+++ b/testing/py3-shortuuid/APKBUILD
@@ -1,14 +1,16 @@
# Maintainer:
pkgname=py3-shortuuid
_pkgname=shortuuid
-pkgver=1.0.2
-pkgrel=1
+pkgver=1.0.11
+pkgrel=3
pkgdesc="Python library that generates short, pretty, unambiguous unique IDs"
-url="https://pypi.python.org/pypi/shortuuid/"
+url="https://pypi.org/project/shortuuid/"
arch="noarch"
license="BSD-3-Clause"
depends="python3"
makedepends="py3-setuptools"
+checkdepends="py3-django"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/shortuuid-$pkgver"
@@ -24,9 +26,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-c8ee7a88dc5f369990995dc106f03d052b58bdc6f97b93701a24ec4865ca474a67bfd2991c62149950c36c519f00ed356a011babc783ec6d1df9b54d51772aa4 shortuuid-1.0.2.tar.gz
+3aec978713a9a95aa3cb269c0772fd1c4849587041d81765aac816004cad05eea29cad7cc90e31dc85b1f4886ea08c643b4495f7920f93c2a73358bdfce6edb8 shortuuid-1.0.11.tar.gz
"
diff --git a/testing/py3-shtab/APKBUILD b/testing/py3-shtab/APKBUILD
index 9ff3fdc2cfc..21b7f95f538 100644
--- a/testing/py3-shtab/APKBUILD
+++ b/testing/py3-shtab/APKBUILD
@@ -1,28 +1,34 @@
# Maintainer: Keith Toh <ktprograms@gmail.com>
pkgname=py3-shtab
-pkgver=1.5.3
-pkgrel=0
+pkgver=1.6.4
+pkgrel=1
pkgdesc="Automagic shell tab completion for Python CLI applications"
url="https://docs.iterative.ai/shtab/"
arch="noarch"
license="Apache-2.0"
depends="python3"
-makedepends="py3-setuptools py3-setuptools_scm py3-wheel"
+makedepends="py3-setuptools py3-setuptools_scm py3-wheel py3-gpep517 py3-installer"
checkdepends="py3-pytest py3-pytest-cov py3-pytest-timeout bash"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://github.com/iterative/shtab/releases/download/v$pkgver/shtab-$pkgver.tar.gz"
builddir="$srcdir/shtab-$pkgver"
build() {
- python3 setup.py build
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- pytest
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
doc() {
@@ -34,5 +40,5 @@ doc() {
}
sha512sums="
-113543c2e071ee8e843ce517c15339426ed6ef55aea0e952b8382e013053e314e74700c54c57fbc95646f7fc0d0a4527965395017ef9396072461ba013ac4e26 shtab-1.5.3.tar.gz
+35db209e2dcb2342c944f8cf37dafa3191e01e304037cb46dec6742b4a29724e30912f23986e989f7d159f253f4b61cff5f02262716efb1aab030ecd9511b984 shtab-1.6.4.tar.gz
"
diff --git a/testing/py3-simber/APKBUILD b/testing/py3-simber/APKBUILD
new file mode 100644
index 00000000000..901918aa583
--- /dev/null
+++ b/testing/py3-simber/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=py3-simber
+_pkgname=simber
+pkgver=0.2.6
+pkgrel=3
+pkgdesc="Simple, minimal and powerful logging library for Python"
+url="https://github.com/deepjyoti30/simber"
+arch="noarch"
+license="MIT"
+depends="py3-colorama"
+makedepends="py3-setuptools"
+checkdepends="py3-pytest $depends"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/deepjyoti30/simber/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 -m pytest
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+805f5c4aa08e1a6af803528648d3359d745fafba5e44ac416a8bdfc1e9c4ec80e9436aecd82e5b8efb16ec8b346074dc5b1300026ae21e4211777a0eb1642986 py3-simber-0.2.6.tar.gz
+"
diff --git a/testing/py3-simplematch/APKBUILD b/testing/py3-simplematch/APKBUILD
new file mode 100644
index 00000000000..52504cd69c3
--- /dev/null
+++ b/testing/py3-simplematch/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-simplematch
+pkgver=1.4
+pkgrel=1
+pkgdesc="Minimal, super readable string pattern matching"
+url="https://github.com/tfeldmann/simplematch"
+arch="noarch"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tfeldmann/simplematch/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/simplematch-$pkgver"
+
+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="
+fe11eed63cd5ec916cafbd61da77bda5049a4f5ed0dece36e21e2350625fa9fc77f2ecbfffe04d2414cc3d0b553a635543af6ed56eb1fbfc871ab33499995f00 py3-simplematch-1.4.tar.gz
+"
diff --git a/testing/py3-simplesoapy/APKBUILD b/testing/py3-simplesoapy/APKBUILD
index 72c04c70368..6d183f58e94 100644
--- a/testing/py3-simplesoapy/APKBUILD
+++ b/testing/py3-simplesoapy/APKBUILD
@@ -2,14 +2,14 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-simplesoapy
pkgver=1.5.1
-pkgrel=2
+pkgrel=6
pkgdesc="Simple pythonic wrapper for SoapySDR library"
url="https://github.com/xmikos/simplesoapy"
-arch="noarch !mips64"
+arch="noarch"
license="MIT"
-depends="python3 py3-setuptools py3-numpy py3-soapy-sdr"
-makedepends="soapy-sdr-dev"
-checkdepends="py3-wheel py3-pip"
+depends="python3 py3-numpy py3-soapy-sdr"
+makedepends="py3-setuptools soapy-sdr-dev"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/xmikos/simplesoapy/archive/v$pkgver.tar.gz"
builddir="$srcdir/simplesoapy-$pkgver"
options="!check" # no unit tests provided
@@ -19,7 +19,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-simplespectral/APKBUILD b/testing/py3-simplespectral/APKBUILD
index bd80a665041..01a1c149f79 100644
--- a/testing/py3-simplespectral/APKBUILD
+++ b/testing/py3-simplespectral/APKBUILD
@@ -2,12 +2,13 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-simplespectral
pkgver=1.0.0
-pkgrel=1
+pkgrel=4
pkgdesc="Heavily simplified scipy.signal.spectral module"
url="https://github.com/xmikos/simplespectral"
-arch="noarch !mips64" # blocked by numpy and scipy
+arch="noarch"
license="MIT"
depends="python3 py3-numpy py3-scipy py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/xmikos/simplespectral/archive/v$pkgver.tar.gz"
builddir="$srcdir/simplespectral-$pkgver"
options="!check" # no checks provided
@@ -23,7 +24,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="16da3cb19cd7c567b64709a26ed5def7eb3047b08e2cb48db6962036a6c3e34c122dadf71821b6a22df55ebcf3c2ff95e3af3898efc8b4a6d5902e48de8e050c py3-simplespectral-1.0.0.tar.gz"
diff --git a/testing/py3-slidge-style-parser/APKBUILD b/testing/py3-slidge-style-parser/APKBUILD
new file mode 100644
index 00000000000..7d0f8662eff
--- /dev/null
+++ b/testing/py3-slidge-style-parser/APKBUILD
@@ -0,0 +1,45 @@
+# Automatically generated by apkbuild-pypi, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=py3-slidge-style-parser
+#_pkgreal is used by apkbuild-pypi to find modules at PyPI
+_pkgreal=slidge-style-parser
+pkgver=0.1.6
+pkgrel=1
+pkgdesc="Style parser for Slidge"
+url="https://pypi.org/project/slidge-style-parser/"
+arch="all"
+license="AGPL-3.0-or-later"
+makedepends="cargo py3-gpep517 py3-maturin"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/s/slidge-style-parser/slidge_style_parser-$pkgver.tar.gz"
+builddir="$srcdir/slidge_style_parser-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked
+}
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --config-json '{"build-args": "--frozen"}' \
+ --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="
+e006e455f5139e58b88e515b42b31b9d35a2c981a5b1e3284cb1661c04d7ffaa0781bab7faffb77d4ba40ee5efee285468ec41b296e6f130418a16a12b3e2086 slidge_style_parser-0.1.6.tar.gz
+"
diff --git a/testing/py3-slixmpp/APKBUILD b/testing/py3-slixmpp/APKBUILD
new file mode 100644
index 00000000000..71bfb074106
--- /dev/null
+++ b/testing/py3-slixmpp/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: Sam Whited <sam@samwhited.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=py3-slixmpp
+_pkgname=slixmpp
+pkgver=1.8.5
+pkgrel=2
+pkgdesc="Fork of the SleekXMPP XMPP library for async IO and Python 3.7+"
+url="https://slixmpp.readthedocs.io/en/latest/"
+arch="all"
+license="MIT"
+depends="
+ py3-aiodns
+ py3-aiohttp
+ py3-cryptography
+ py3-defusedxml
+ py3-emoji
+ "
+makedepends="
+ cython
+ libidn-dev
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="
+ cmd:gpg
+ py3-pytest
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-pyc
+ "
+source="https://files.pythonhosted.org/packages/source/s/slixmpp/slixmpp-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+# secfixes:
+# 1.8.3-r0:
+# - CVE-2022-45197
+
+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 \
+ --ignore tests/live_test.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+ install -Dm644 README.rst -t "$pkgdir"/usr/share/doc/$pkgname/
+}
+
+sha512sums="
+f2e123bd462097d0b7dc28cd960f723419f4fa2af59c8f5b7d30a05135c2f9fc6982e6d2855ea10b22936bdd4a96faeae73f87a495e2d1f10e6c63cdcb412665 slixmpp-1.8.5.tar.gz
+"
diff --git a/testing/py3-snapshottest/APKBUILD b/testing/py3-snapshottest/APKBUILD
index 287734f81a5..994327719b5 100644
--- a/testing/py3-snapshottest/APKBUILD
+++ b/testing/py3-snapshottest/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Bart Ribbers <bribbers@disroot.org>
pkgname=py3-snapshottest
pkgver=0.6.0
-pkgrel=1
+pkgrel=3
pkgdesc="Snapshot testing for pytest, unittest, Django, and Nose"
url="https://github.com/syrusakbary/snapshottest"
arch="noarch"
@@ -18,7 +18,9 @@ checkdepends="
py3-nose
py3-pytest
py3-pytest-cov
+ py3-six
"
+subpackages="$pkgname-pyc"
source="https://pypi.python.org/packages/source/s/snapshottest/snapshottest-$pkgver.tar.gz"
builddir="$srcdir/snapshottest-$pkgver"
@@ -31,7 +33,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-soappy/APKBUILD b/testing/py3-soappy/APKBUILD
index 30f37b38990..0b54d805cb7 100644
--- a/testing/py3-soappy/APKBUILD
+++ b/testing/py3-soappy/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
pkgname=py3-soappy
-pkgver=0.52.25
+pkgver=0.52.28
pkgrel=2
pkgdesc="Simple to use SOAP library for Python"
url="https://github.com/Synerty/SOAPpy-py3"
@@ -10,6 +10,7 @@ arch="noarch"
license="BSD-3-Clause-Attribution"
depends="py3-defusedxml py3-wstools py3-m2crypto"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://pypi.io/packages/source/S/SOAPpy-py3/SOAPpy-py3-$pkgver.tar.gz"
builddir="$srcdir/SOAPpy-py3-$pkgver"
@@ -18,7 +19,9 @@ build() {
}
package() {
- python3 setup.py install --root="$pkgdir" --optimize=1
+ python3 setup.py install --root="$pkgdir"
}
-sha512sums="5a81f863f3ba61c507767bdbef3fd7830f0a435280cf0ccc2ff0d74f98cf6b917294e96fb5a5bf3c132545cb28c2203e00707ea9c31a5bb2b0be1f37863b821f SOAPpy-py3-0.52.25.tar.gz"
+sha512sums="
+fcfee577ccf142900215c52567c7393b8df268feca1ceccb4978b207733bce33cd2b17f4e4064e87c42d38d749e305f698615fde29531c027b661c388ba33771 SOAPpy-py3-0.52.28.tar.gz
+"
diff --git a/testing/py3-soapy_power/APKBUILD b/testing/py3-soapy_power/APKBUILD
index d9dee8f25fa..a407013d5ad 100644
--- a/testing/py3-soapy_power/APKBUILD
+++ b/testing/py3-soapy_power/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-soapy_power
pkgver=1.6.1
-pkgrel=1
+pkgrel=4
pkgdesc="Obtain power spectrum from SoapySDR devices"
url="https://github.com/xmikos/soapy_power"
-arch="noarch !mips64" # blocked by py3-numpy
+arch="noarch"
license="MIT"
depends="python3 py3-numpy py3-simplesoapy py3-simplespectral py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/xmikos/soapy_power/archive/v$pkgver.tar.gz"
builddir="$srcdir/soapy_power-$pkgver"
@@ -21,7 +22,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="19aa0e80a7b67cb29d842343c09b8ca2e3068583c8117a8151c5b47f1a34369f0ec833f038595323712986c9348b14a43dc1fdc6516adb40de6b42a281d782e1 py3-soapy_power-1.6.1.tar.gz"
diff --git a/testing/py3-solidpython/APKBUILD b/testing/py3-solidpython/APKBUILD
index 176f3592588..bee98aec33e 100644
--- a/testing/py3-solidpython/APKBUILD
+++ b/testing/py3-solidpython/APKBUILD
@@ -1,44 +1,61 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=py3-solidpython
-pkgver=1.0.2
-pkgrel=3
+pkgver=1.1.2
+pkgrel=2
pkgdesc="Python library to generated OpenSCAD code"
url="https://github.com/SolidCode/SolidPython"
-arch="noarch !aarch64 !armv7 !armhf !mips !mips64" # openscad
+arch="noarch !aarch64 !armv7 !armhf" # openscad
license="LGPL-2.1-or-later"
depends="
openscad
+ py3-astroid
py3-euclid3<0.2.0
+ py3-mccabe
+ py3-platformdirs
+ py3-ply
py3-prettytable
py3-pypng
py3-regex
+ py3-setuptools
+ py3-tomlkit
python3
"
makedepends="
- py3-setuptools
+ py3-gpep517
+ py3-poetry-core
"
_pyname="solidpython"
-_pypiprefix="${_pyname%${_pyname#?}}"
+_pypiprefix="${_pyname%"${_pyname#?}"}"
+subpackages="$pkgname-pyc"
source="
https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz
- fix-versions.patch
+ poetry-core.patch
"
builddir="$srcdir/$_pyname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- # Run the loop ourselves instead of relying on bash
- local i; for i in solid/test/test_*.py; do
- echo "$i"
- PYTHONPATH="$PWD/build/lib" python3 "$i"
- done
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m unittest discover solid/test
+ # local i; for i in solid/test/test_*.py; do
+ # echo "$i"
+ # python3 "$i"
+ # done
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+ rm -r "$pkgdir"/usr/lib/python3*/site-packages/solid/test
}
-sha512sums="eeb7c68e54055fcfd5b53cf9c2745ea4dac602dbce158c8c7559dde21372c87cacbcac9c203cf0b577bd292a59304d48e8a4c7afcf9afdd9cc6c6cf0286e1d09 solidpython-1.0.2.tar.gz
-41e71d68ba0381ea44ab206a95549558991e923a218d4a8d7730a8baa21922762d0d3555a61e5d81bfb39d1918627deb1f17fa2347d279a3cf9b14cbf8270ae4 fix-versions.patch"
+
+sha512sums="
+b66b530fc1abc9c8c3044ad0bb74f7dab2932c77e6374a1e46573f934c2d59af9c24dae86e54201dec7ebae4d3e0dbfa2c2733fa18394a9ce87d5fd562544dc0 solidpython-1.1.2.tar.gz
+df25c55af2d6dc6744b344deab129b5128c60d3c768f92018cbf7ceeca06f414fe427c231045ca8f0586a6f2bfbd598f8c2964492bf5def620f4a38ba5d84c96 poetry-core.patch
+"
diff --git a/testing/py3-solidpython/fix-versions.patch b/testing/py3-solidpython/fix-versions.patch
deleted file mode 100644
index 43da9ba87a7..00000000000
--- a/testing/py3-solidpython/fix-versions.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-Upstream: No
-Reason: allow more liberal versions to be used
-
---- solidpython-1.0.2.orig/PKG-INFO
-+++ solidpython-1.0.2/PKG-INFO
-@@ -21,8 +21,8 @@
- Classifier: Topic :: Scientific/Engineering :: Mathematics
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
- Requires-Dist: PrettyTable (==0.7.2)
--Requires-Dist: euclid3 (>=0.1.0,<0.2.0)
--Requires-Dist: pypng (>=0.0.19,<0.0.20)
--Requires-Dist: regex (>=2019.4,<2020.0)
-+Requires-Dist: euclid3 (>=0.1.0)
-+Requires-Dist: pypng (>=0.0.19)
-+Requires-Dist: regex (>=2019.4)
- Project-URL: Documentation, https://solidpython.readthedocs.io/en/latest/
- Project-URL: Repository, https://github.com/SolidCode/SolidPython
---- solidpython-1.0.2.orig/setup.py
-+++ solidpython-1.0.2/setup.py
-@@ -13,9 +13,9 @@
-
- install_requires = \
- ['PrettyTable==0.7.2',
-- 'euclid3>=0.1.0,<0.2.0',
-- 'pypng>=0.0.19,<0.0.20',
-- 'regex>=2019.4,<2020.0']
-+ 'euclid3>=0.1.0',
-+ 'pypng>=0.0.19',
-+ 'regex>=2019.4']
-
- setup_kwargs = {
- 'name': 'solidpython',
diff --git a/testing/py3-solidpython/poetry-core.patch b/testing/py3-solidpython/poetry-core.patch
new file mode 100644
index 00000000000..bfb6010ead8
--- /dev/null
+++ b/testing/py3-solidpython/poetry-core.patch
@@ -0,0 +1,11 @@
+diff --git a/pyproject.toml b/pyproject.toml
+index e29373a..3ce3993 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -56,5 +56,5 @@ requires = [
+
+ ]
+
+-build-backend = "poetry.masonry.api"
++build-backend = "poetry.core.masonry.api"
+
diff --git a/testing/py3-sortedcollections/APKBUILD b/testing/py3-sortedcollections/APKBUILD
new file mode 100644
index 00000000000..8c18ef9f0b0
--- /dev/null
+++ b/testing/py3-sortedcollections/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Sam Whited <sam@samwhited.com>
+# Maintainer: Sam Whited <sam@samwhited.com>
+pkgname=py3-sortedcollections
+_pkgname=sortedcollections
+pkgver=2.1.0
+pkgrel=4
+pkgdesc="A Python library containing various sorted collections."
+url="https://pypi.org/project/sortedcollections/"
+arch="all"
+license="Apache-2.0"
+depends="python3"
+makedepends="py3-setuptools"
+subpackages="$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="
+e0ea72c24300c156bd9f9d40c42c92ad4a6391f7fa17675cf956a02617b9614aa329c24e3c7a9abd6662d45cf4f12f6d04296d69b287bae11b5f320481fd5748 sortedcollections-2.1.0.tar.gz
+"
diff --git a/testing/py3-spacy/APKBUILD b/testing/py3-spacy/APKBUILD
deleted file mode 100644
index f78a565a4aa..00000000000
--- a/testing/py3-spacy/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-spacy
-pkgver=2.3.2
-pkgrel=1
-pkgdesc="Industrial-strength Natural Language Processing (NLP)"
-url="https://spacy.io/"
-arch="x86_64" # limited by py3-blis as it has highly optimized routines for x86_64 only
- # and py3-srsly as it does not pass tests for x86 and aarch64, reported upstream
-arch="" # Requires 'wheel' for some reason
-license="MIT"
-depends="
- python3
- py3-numpy
- py3-jsonschema
- py3-thinc
- py3-srsly
- py3-tqdm
- py3-wasabi
- py3-pyrsistent
- py3-plac
- py3-catalogue
- "
-makedepends="python3-dev py3-setuptools cython py3-requests"
-checkdepends="py3-pytest py3-pytest-timeout py3-mock py3-flake8"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/explosion/spaCy/archive/v$pkgver.tar.gz"
-builddir=$srcdir/spaCy-$pkgver
-
-build() {
- python3 setup.py build_ext --inplace
-}
-
-check() {
- pytest-3 spacy
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="48ad852a68c5f348f08bd1406936722ad45b850b61c33b8e6647c861856ffef387d85fbda978f4b3a1205774926a60c02cb4250bb2e38f74959f932201324abd py3-spacy-2.3.2.tar.gz"
diff --git a/testing/py3-sphinx-argparse/APKBUILD b/testing/py3-sphinx-argparse/APKBUILD
index 01c139eb682..b87294adf32 100644
--- a/testing/py3-sphinx-argparse/APKBUILD
+++ b/testing/py3-sphinx-argparse/APKBUILD
@@ -1,20 +1,23 @@
-# Maintainer: Keith Toh <ktprograms@gmail.com>
+# Contributor: Keith Toh <ktprograms@gmail.com>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-sphinx-argparse
-pkgver=0.3.1
-pkgrel=0
+pkgver=0.4.0
+pkgrel=3
pkgdesc="Sphinx extension that automatically documents argparse commands and options"
url="https://sphinx-argparse.readthedocs.io/en/latest/"
arch="noarch"
license="MIT"
depends="python3 py3-sphinx"
-makedepends="py3-setuptools pyproject2setuppy"
+makedepends="py3-gpep517 py3-installer py3-poetry-core py3-wheel"
checkdepends="py3-pytest"
-source="sphinx-argparse-$pkgver.tar.gz::https://github.com/ashb/sphinx-argparse/archive/refs/tags/$pkgver.tar.gz
- fix-python3.10-tests.patch"
+subpackages="$pkgname-pyc"
+source="sphinx-argparse-$pkgver.tar.gz::https://github.com/ashb/sphinx-argparse/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir/sphinx-argparse-$pkgver"
build() {
- python3 -m pyproject2setuppy.main build
+ gpep517 build-wheel \
+ --output-fd 3 3>&1 >&2 \
+ --wheel-dir .dist
}
check() {
@@ -22,11 +25,11 @@ check() {
}
package() {
- python3 -m pyproject2setuppy.main install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/sphinx_argparse-$pkgver-py3-none-any.whl
install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
}
sha512sums="
-3d289c90165eb6a3d7a94dff8e6a429a49eb404ce373e80e007a0cd9abaae1e1236f5393df2fbf11701c349dade9d199640dc398064da4fd50a58a90eb3f8f12 sphinx-argparse-0.3.1.tar.gz
-790aef1651fcb5160058e8359b13368fbbbb01dafe8d792187e942a542f5cce9b84d1c44b85f75782f373b9ce3dca976ed703fb496f6f8fe52dd6708038edc29 fix-python3.10-tests.patch
+be08ca4eed2786f28dc2288024250577bc767fa9c596946202dc882653ee2d4f3f23230827f802b262c2a4889e6c8b85d01dceb5c494759e6551c8b471d1631f sphinx-argparse-0.4.0.tar.gz
"
diff --git a/testing/py3-sphinx-argparse/fix-python3.10-tests.patch b/testing/py3-sphinx-argparse/fix-python3.10-tests.patch
deleted file mode 100644
index ce74aa307fa..00000000000
--- a/testing/py3-sphinx-argparse/fix-python3.10-tests.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Fix tests failing because of a change in Python 3.10 argparse
-
-Modified from https://github.com/ashb/sphinx-argparse/commit/a7b186aa60cf256dd91268ca3c18e78ef6644223
-Removed the changes to CI matrix since it doesn't exist in the PyPI tarball
-
-diff --git a/sphinxarg/parser.py b/sphinxarg/parser.py
-index 9a6f76a..89583c6 100644
---- a/sphinxarg/parser.py
-+++ b/sphinxarg/parser.py
-@@ -154,7 +154,9 @@ def parse_parser(parser, data=None, **kwargs):
- continue
-
- # Upper case "Positional Arguments" and "Optional Arguments" titles
-- if action_group.title == 'optional arguments':
-+ # Since python-3.10 'optional arguments' changed to 'options'
-+ # more info: https://github.com/python/cpython/pull/23858
-+ if action_group.title == 'optional arguments' or action_group.title == 'options':
- action_group.title = 'Named Arguments'
- if action_group.title == 'positional arguments':
- action_group.title = 'Positional Arguments'
diff --git a/testing/py3-sphinx-autoapi/APKBUILD b/testing/py3-sphinx-autoapi/APKBUILD
index fa71d527ae9..68de3a84ead 100644
--- a/testing/py3-sphinx-autoapi/APKBUILD
+++ b/testing/py3-sphinx-autoapi/APKBUILD
@@ -2,30 +2,38 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-sphinx-autoapi
_pyname=sphinx-autoapi
-pkgver=1.8.3
+pkgver=3.0.0
pkgrel=1
pkgdesc="Automatic API documentation for Sphinx"
url="https://sphinx-autoapi.readthedocs.io"
-arch="noarch !x86" # build breaks on x86
+arch="noarch !x86" # build breaks on x86
license="MIT"
-depends="python3 py3-astroid py3-jinja2 py3-sphinx py3-unidecode py3-yaml"
-makedepends="py3-setuptools"
-checkdepends="py3-mock py3-pytest"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
+depends="python3 py3-astroid py3-jinja2 py3-sphinx py3-anyascii py3-yaml"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-mock py3-pytest py3-beautifulsoup4"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/s/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="build:$PYTHONPATH" pytest -v
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ # Test requires network access
+ .testenv/bin/python3 -m pytest \
+ --deselect tests/python/test_pyintegration.py::TestPipeUnionModule::test_integration
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-af6f1daa82cdb2795a0e1a12029d84906e365bd50968c44ded78c806026176f22ef1c2138332dde60a5343a0455d141c3046d75b65e7b9862aed816bb78066ec sphinx-autoapi-1.8.3.tar.gz
+f59fb203e1b867f02d5757fb3f58dcaf52b936eff67f4837ae75d9cbff24989d19bb254830bf0e2f90bae1760204e8900ea2e30573da654ad0b5223b9c39750d sphinx-autoapi-3.0.0.tar.gz
"
diff --git a/testing/py3-sphinx-autodoc-typehints/APKBUILD b/testing/py3-sphinx-autodoc-typehints/APKBUILD
index d9a6a561b5a..e9f87d36419 100644
--- a/testing/py3-sphinx-autodoc-typehints/APKBUILD
+++ b/testing/py3-sphinx-autodoc-typehints/APKBUILD
@@ -1,32 +1,39 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-sphinx-autodoc-typehints
-_pyname=sphinx_autodoc_typehints
-pkgver=1.15.1
+_pyname=sphinx-autodoc-typehints
+pkgver=2.0.1
pkgrel=0
pkgdesc="Type hints support for the Sphinx autodoc extension"
-url="https://github.com/agronholm/sphinx-autodoc-typehints"
+url="https://github.com/tox-dev/sphinx-autodoc-typehints"
arch="noarch"
license="MIT"
options="net"
depends="python3 py3-sphinx py3-typing-extensions"
-makedepends="py3-setuptools py3-setuptools_scm"
-checkdepends="py3-pytest py3-sphobjinv"
-source="https://files.pythonhosted.org/packages/source/s/$_pyname/$_pyname-$pkgver.tar.gz"
+makedepends="py3-gpep517 py3-installer py3-hatchling py3-hatch-vcs"
+checkdepends="py3-pytest py3-sphobjinv py3-nptyping"
+subpackages="$pkgname-pyc"
+source="$_pyname-$pkgver.tar.gz::https://github.com/tox-dev/sphinx-autodoc-typehints/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
build() {
- python3 setup.py build
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="build/lib" pytest
+ python3 -m venv --clear --without-pip --system-site-packages test-env
+ test-env/bin/python3 -m installer .dist/sphinx_autodoc_typehints*.whl
+ test-env/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/sphinx_autodoc_typehints*.whl
}
sha512sums="
-c04575cca78fd62fd82f876c26e129c1ac9bc2adcfc33d99a34fde6d940ab9ecb94b032c4ec5c1e1785d6219785ddca04579bb34d1d76bcb2c146b606cc2f5a8 sphinx_autodoc_typehints-1.15.1.tar.gz
+0bda871f30f523b3e87a94a164668632c7045a5b9b7ac5b3e6d8ce39bc6e462132aaba713e6514e38fdd0507805e2475f694933c3395e2526b335ee36ecdd8f7 sphinx-autodoc-typehints-2.0.1.tar.gz
"
diff --git a/testing/py3-sphinx-autorun/APKBUILD b/testing/py3-sphinx-autorun/APKBUILD
deleted file mode 100644
index d19ac7cce35..00000000000
--- a/testing/py3-sphinx-autorun/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Dhruvin Gandhi <contact@dhruvin.dev>
-# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
-pkgname=py3-sphinx-autorun
-_pyname=sphinx-autorun
-pkgver=1.1.1
-pkgrel=0
-pkgdesc="Sphinx extension to attach the output of runblock directive to the document"
-url="https://github.com/WhyNotHugo/sphinx-autorun"
-arch="noarch"
-license="BSD-2-Clause"
-depends="python3 py3-sphinx"
-makedepends="py3-setuptools py3-setuptools_scm"
-options="!check" # no tests
-source="https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-cfe99a9cd249d142fa52986964bca7fa392d15036e69f504b3ea0fdabd37a7c43329101df7cb5d02ff614b9da9cbef15a39f519bf416daa0589829fb7b21a482 sphinx-autorun-1.1.1.tar.gz
-"
diff --git a/testing/py3-sphinx-click/APKBUILD b/testing/py3-sphinx-click/APKBUILD
deleted file mode 100644
index 2632b995fff..00000000000
--- a/testing/py3-sphinx-click/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Dhruvin Gandhi <contact@dhruvin.dev>
-# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
-pkgname=py3-sphinx-click
-_pyname=sphinx-click
-pkgver=3.0.2
-pkgrel=0
-pkgdesc="Sphinx plugin to extract documentation from click-based applications"
-url="https://github.com/click-contrib/sphinx-click"
-arch="noarch"
-license="MIT"
-depends="python3 py3-sphinx py3-click py3-docutils"
-makedepends="py3-setuptools py3-pbr"
-checkdepends="py3-pytest py3-click py3-coverage"
-source="https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-dcf60ca31dcc7c1f45157ed88a5d723d8b531f01b617fb0cc4ada8f09c709b23b55a86bcf8bbe66bf4c2f5ef77329123d271724887022a43b86747087e87ed7c sphinx-click-3.0.2.tar.gz
-"
diff --git a/testing/py3-sphinx-theme-better/APKBUILD b/testing/py3-sphinx-theme-better/APKBUILD
index bb3c53c4832..e2bc81c0be0 100644
--- a/testing/py3-sphinx-theme-better/APKBUILD
+++ b/testing/py3-sphinx-theme-better/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-sphinx-theme-better
_pkgname=sphinx-better-theme
pkgver=0.1.5
-pkgrel=3
+pkgrel=6
pkgdesc="The Better Sphinx theme"
url="https://github.com/irskep/sphinx-better-theme"
arch="noarch"
license="BSD-2-Clause"
depends="py3-sphinx"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/irskep/sphinx-better-theme/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,7 +23,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="057c0f0c57fa7a9637997f22ba9931844020ba537f5eafaf9504352fe6ae70fc2d10c0dc6fb06f8ab31c45d7cf4760e9e3047aaaa105060af4ead04de31c8af1 py3-sphinx-theme-better-0.1.5.tar.gz"
diff --git a/testing/py3-sphinx-theme-bootstrap/APKBUILD b/testing/py3-sphinx-theme-bootstrap/APKBUILD
index 19e178a76e1..f7ab98e6c63 100644
--- a/testing/py3-sphinx-theme-bootstrap/APKBUILD
+++ b/testing/py3-sphinx-theme-bootstrap/APKBUILD
@@ -2,18 +2,18 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinx-theme-bootstrap
_pkgname=sphinx-bootstrap-theme
-pkgver=0.8.0
-pkgrel=1
+pkgver=0.8.1
+pkgrel=3
pkgdesc="The Bootstrap Sphinx theme"
url="http://ryan-roemer.github.com/sphinx-bootstrap-theme"
arch="noarch"
license="MIT"
depends="python3 py3-sphinx"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$_pkgname-$pkgver.tar.gz::https://github.com/ryan-roemer/sphinx-bootstrap-theme/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinx-theme-bootstrap" # Backwards compatibility
replaces="py-sphinx-theme-bootstrap=$pkgver-r$pkgrel" # Backwards compatibility
build() {
@@ -21,9 +21,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-471519ecf46c359a9c036b1ba15245b4a5d499263560dde7a7217a1a17a62e8f559359fd66de9c1f35c150314a68d62e3b9bcff8ff018bff909ece9284bb948f sphinx-bootstrap-theme-0.8.0.tar.gz
+de56b56bbb729c9d4f98697a1d312555ddb22c05588fb00e0417075f8b500a6cb09c8918276f4a59900ceec1374f1355cd4919b012505a37481de970f0172399 sphinx-bootstrap-theme-0.8.1.tar.gz
"
diff --git a/testing/py3-sphinx-theme-bw/APKBUILD b/testing/py3-sphinx-theme-bw/APKBUILD
index a61fc06517d..eb7085127aa 100644
--- a/testing/py3-sphinx-theme-bw/APKBUILD
+++ b/testing/py3-sphinx-theme-bw/APKBUILD
@@ -3,22 +3,26 @@
pkgname=py3-sphinx-theme-bw
_pkgname=bw_sphinxtheme
pkgver=0.1.8
-pkgrel=3
+pkgrel=7
pkgdesc="A black and white Sphinx theme"
url="https://pypi.org/project/bw_sphinxtheme"
arch="noarch"
license="BSD-3-Clause"
depends="py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="a89d9892d431ddf916d6ad4eebe43c2fa7ce2a079c926f9f8e12ea54e3a0c2a76cc933e9365ea811c72cd19a7737c6972b9cc52009ee1d4bfda81bd7a948b50e bw_sphinxtheme-0.1.8.tar.gz"
diff --git a/testing/py3-sphinx-theme-cloud/APKBUILD b/testing/py3-sphinx-theme-cloud/APKBUILD
index 39ea051d89e..10ae66edbc8 100644
--- a/testing/py3-sphinx-theme-cloud/APKBUILD
+++ b/testing/py3-sphinx-theme-cloud/APKBUILD
@@ -2,26 +2,50 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinx-theme-cloud
_pkgname=cloud_sptheme
-pkgver=1.9.4
-pkgrel=3
+pkgver=1.10.0
+pkgrel=2
pkgdesc="The Cloud Sphinx theme"
url="https://bitbucket.org/ecollins/cloud_sptheme"
arch="noarch"
license="BSD-3-Clause"
-depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+depends="
+ py3-sphinx
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-mock"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ markup.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
+options="!check" # mock fails
replaces="py-sphinx-theme-cloud" # Backwards compatibility
provides="py-sphinx-theme-cloud=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages test-env
+ test-env/bin/python3 -m installer .dist/*.whl
+ test-env/bin/python3 -m unittest discover
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="83293e81c4430b457be25b9374b8e20d0c267acf6dae493766525cf5364f49996900cde0c64987ccf8ec65fde69d9aa1f47a56aa80d2325bd2346d356c503b7a cloud_sptheme-1.9.4.tar.gz"
+sha512sums="
+296a7db1e30b5012ebaf4117db1ed72cf109ff7bb4dc08c9cce5c7822ca68a5a8f53c8dd84df2780aabcce0509d1cfc48ab459ba3879d8721bbf8ca730307dda cloud_sptheme-1.10.0.tar.gz
+b1af0a7fc60837511ed2be170e1db6649873f3803be4b127d39c76326507af0e7c64b810e84a6046f11078392b1b4fb1dbd4bc0b02670676011b72f5100c6c35 markup.patch
+"
diff --git a/testing/py3-sphinx-theme-cloud/markup.patch b/testing/py3-sphinx-theme-cloud/markup.patch
new file mode 100644
index 00000000000..606a7dfa788
--- /dev/null
+++ b/testing/py3-sphinx-theme-cloud/markup.patch
@@ -0,0 +1,13 @@
+diff --git a/cloud_sptheme/ext/index_styling.py b/cloud_sptheme/ext/index_styling.py
+index 8fd8e6d..64a0958 100644
+--- a/cloud_sptheme/ext/index_styling.py
++++ b/cloud_sptheme/ext/index_styling.py
+@@ -1,7 +1,7 @@
+ """cloud_sptheme.ext.index_styling - improves css styling for genindex"""
+ import logging; log = logging.getLogger(__name__)
+ import re
+-from jinja2 import Markup as literal, escape
++from markupsafe import Markup as literal, escape
+ from cloud_sptheme import __version__
+
+ prefix = r"^(?P<name>.*)\("
diff --git a/testing/py3-sphinx-theme-epfl/APKBUILD b/testing/py3-sphinx-theme-epfl/APKBUILD
index 9030ea3a5cc..ceaae71d9a0 100644
--- a/testing/py3-sphinx-theme-epfl/APKBUILD
+++ b/testing/py3-sphinx-theme-epfl/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinx-theme-epfl
_pkgname=epfl-sphinx-theme
pkgver=1.1.1
-pkgrel=5
+pkgrel=9
pkgdesc="The EPFL Sphinx theme"
url="https://pypi.org/project/epfl-sphinx-theme/"
arch="noarch"
license="GPL-3.0-only"
depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinx-theme-epfl" # Backwards compatibility
+replaces="py-sphinx-theme-epfl" # Backwards compatibility
provides="py-sphinx-theme-epfl=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="af36469cbd33c5f8d1a4ebef201838a26dc52c04b1432b6cc49b46bfb74c585aad83da11cc9ebb675ad166573af41b00bed3e4ec770dcd60330599a732196ea0 epfl-sphinx-theme-1.1.1.tar.gz"
diff --git a/testing/py3-sphinx-theme-guzzle/APKBUILD b/testing/py3-sphinx-theme-guzzle/APKBUILD
index 6d19c457cea..1b322eb2ddc 100644
--- a/testing/py3-sphinx-theme-guzzle/APKBUILD
+++ b/testing/py3-sphinx-theme-guzzle/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-sphinx-theme-guzzle
_pkgname=guzzle_sphinx_theme
pkgver=0.7.11
-pkgrel=3
+pkgrel=6
pkgdesc="The Guzzle Sphinx theme"
url="https://github.com/guzzle/guzzle_sphinx_theme"
arch="noarch"
license="MIT"
depends="py3-sphinx"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -18,7 +19,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="9aecdd4cf8ae286c9dd59a453790d957e96a57a9c9acd3aa38ff8fe64969cde4619c4154cd7304dd1c5bd0ea58fe71f556701b7a9b12f58fe3f5c1bdd2681da5 guzzle_sphinx_theme-0.7.11.tar.gz"
diff --git a/testing/py3-sphinx-theme-quark/APKBUILD b/testing/py3-sphinx-theme-quark/APKBUILD
index 6b66ee91aa2..389d31c4bca 100644
--- a/testing/py3-sphinx-theme-quark/APKBUILD
+++ b/testing/py3-sphinx-theme-quark/APKBUILD
@@ -2,17 +2,19 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-sphinx-theme-quark
_pkgname=quark-sphinx-theme
-pkgver=0.5.1
-pkgrel=4
+pkgver=0.6.0
+pkgrel=2
pkgdesc="A Sphinx theme for Qt toolkit’s QTextBrowser"
url="https://gitlab.com/fkrull/quark-sphinx-theme"
arch="noarch"
license="BSD-2-Clause"
-depends="py3-sphinx"
+depends="py3-sphinx python3"
makedepends="py3-setuptools"
-checkdepends="py3-tinycss2 py3-html5lib"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.bz2
- tinycss.patch"
+checkdepends="py3-html5lib"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/q/quark-sphinx-theme/quark-sphinx-theme-$pkgver.tar.gz
+ tinycss.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
build() {
@@ -24,8 +26,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="505c285f661c50567f79af644ba577eb636c1502ff265a612693d514120a0e572540ff277c08b9d1de0a38d48f6d3f804996a8dd1cbf928faf5dcfcb8dc875a5 quark-sphinx-theme-0.5.1.tar.bz2
-cbc1fe4dd924a75333b74985d4fb22a49badec93d8e8312181f988ac8c4a1d286bf682ece54e0e37b4adfbc42554f41eb1fb5533c3de2dbf391e612151cf9e65 tinycss.patch"
+sha512sums="
+7750459947e83f067ff165af632e5ac59db3487d622c367384e9e47a08e5a01c0ea34dd578f0deb70e9924cb45bda15fde5ecebcbc99a0611565f5c926392ea9 quark-sphinx-theme-0.6.0.tar.gz
+5d820b06f6a3d2fe713a3f6d66849ae3c9735a13cd9cd8169020e4468f1b58ec8c4238407a8de33a0660cc82a950c6e2bd13363d41f3a56f1775fc790779d8ca tinycss.patch
+"
diff --git a/testing/py3-sphinx-theme-quark/tinycss.patch b/testing/py3-sphinx-theme-quark/tinycss.patch
index d910c2599a9..2dbe4c0f76b 100644
--- a/testing/py3-sphinx-theme-quark/tinycss.patch
+++ b/testing/py3-sphinx-theme-quark/tinycss.patch
@@ -1,13 +1,112 @@
+we don't package tinycss (and it's *very* deprecated),
+so it's easier to just skip these tests
+
diff --git a/setup.py b/setup.py
-index 6bf1104..732809f 100644
+index 0f63a21..b713398 100644
--- a/setup.py
+++ b/setup.py
-@@ -14,7 +14,7 @@ sys.path.insert(0, os.path.join(dist_dir, 'src', 'quark_sphinx_theme'))
- from __version__ import __version__ # noqa
- del sys.path[0]
+@@ -15,7 +15,7 @@ install_requires = \
+ ['sphinx >= 1.8']
--tests_require = ['html5lib', 'tinycss']
-+tests_require = ['html5lib', 'tinycss2']
- if sys.version_info[:2] < (3, 3):
- tests_require.append('mock')
+ extras_require = \
+-{'test': ['html5lib', 'tinycss']}
++{'test': ['html5lib']}
+ entry_points = \
+ {'sphinx.html_themes': ['quark = quark_sphinx_theme']}
+diff --git a/test/test_theme.py b/test/test_theme.py
+index aa9543d..6910aae 100644
+--- a/test/test_theme.py
++++ b/test/test_theme.py
+@@ -23,9 +23,6 @@ class TestThemeEntrypoint(SphinxBuildFixture, unittest.TestCase):
+ class TestThemeDefaults(SphinxBuildFixture, unittest.TestCase):
+ source_dir = testdoc_theme
+
+- def test_quark_css(self):
+- self.assertSphinxCSSValid('quark.css')
+-
+ def _nav_elems(self, doc):
+ self.assertHasElement(doc, './/table[@class="nav-sidebar"]')
+ self.assertHasElement(doc, './/table[@class="navbar navbar-top"]')
+@@ -63,9 +60,6 @@ class TestThemeExtraCss(SphinxBuildFixture, unittest.TestCase):
+ '_static/extra2.css'
+ }
+
+- def test_quark_css(self):
+- self.assertSphinxCSSValid('quark.css')
+-
+ @with_document('contents')
+ def test_contents_css_files(self, doc):
+ extra_css = {
+@@ -83,9 +77,6 @@ class TestThemeNoSidebar(SphinxBuildFixture, unittest.TestCase):
+ 'html_theme_options.nosidebar': True,
+ }
+
+- def test_quark_css(self):
+- self.assertSphinxCSSValid('quark.css')
+-
+ def _nav_elems(self, doc):
+ self.assertNotElement(doc, './/table[@class="nav-sidebar"]')
+ self.assertHasElement(doc, './/table[@class="navbar navbar-top"]')
+@@ -151,9 +142,6 @@ class TestThemeAllSettingsUnset(SphinxBuildFixture, unittest.TestCase):
+ ]
+ config = {'html_theme_options.%s' % s: '' for s in _SETTINGS}
+
+- def test_quark_css(self):
+- self.assertSphinxCSSValid('quark.css')
+-
+
+ if __name__ == '__main__':
+ unittest.main()
+diff --git a/test/util.py b/test/util.py
+index 86b3d43..b59d474 100644
+--- a/test/util.py
++++ b/test/util.py
+@@ -6,7 +6,6 @@ import sys
+ import tempfile
+
+ import html5lib
+-import tinycss
+ from sphinx.cmd.build import main
+
+
+@@ -31,24 +30,6 @@ def capture_output():
+ yield stdout
+
+
+-def get_css_errors(filename_or_fobj, encoding=None):
+- if hasattr(filename_or_fobj, 'read'):
+- source = filename_or_fobj.read()
+- else:
+- with open(filename_or_fobj, 'r', encoding=encoding) as fobj:
+- source = fobj.read()
+- parser = tinycss.make_parser()
+- css = parser.parse_stylesheet(source)
+- lines = source.split('\n')
+- errors = []
+- for err in css.errors:
+- try:
+- errors.append(' %s [%s]\n' % (err, lines[err.line - 1]))
+- except IndexError:
+- errors.append(' %s\n' % err)
+- return errors
+-
+-
+ def run_sphinx(source_dir, build_dir, builder='html', extra_config={}, tags=[]):
+ args = ['-b', builder, '-N']
+ for k, v in extra_config.items():
+@@ -104,14 +85,6 @@ class SphinxBuildFixture:
+ def assertNotElement(self, doc, path):
+ self.assertHasElement(doc, path, 0)
+
+- def assertCSSValid(self, filename_or_fobj, encoding=None):
+- errors = get_css_errors(filename_or_fobj, encoding)
+- self.assertEqual(len(errors), 0, 'CSS errors:\n' + ''.join(errors))
+-
+- def assertSphinxCSSValid(self, basename, encoding='utf-8'):
+- self.assertCSSValid(os.path.join(self.build_dir, '_static', basename),
+- encoding=encoding)
+-
+
+ def with_document(docname):
+ def wrap1(func):
diff --git a/testing/py3-sphinx-theme-readable/APKBUILD b/testing/py3-sphinx-theme-readable/APKBUILD
index 856e2bc8124..f4a0dcce4ba 100644
--- a/testing/py3-sphinx-theme-readable/APKBUILD
+++ b/testing/py3-sphinx-theme-readable/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinx-theme-readable
_pkgname=sphinx-readable-theme
pkgver=1.3.0
-pkgrel=4
+pkgrel=9
pkgdesc="The Readable Sphinx theme"
url="https://github.com/ignacysokolowski/sphinx-readable-theme"
arch="noarch"
-license="BSD"
+license="MIT"
depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinx-theme-readable" # Backwards compatibility
+replaces="py-sphinx-theme-readable" # Backwards compatibility
provides="py-sphinx-theme-readable=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="e0810973fe77434efd7ca442c26784f5d894322832555953ff0c900835707bd797b5ce8308510590f31fe2a5f61e0ed465b3316cd8a3fa2f5ca9b1c5f432feaf sphinx-readable-theme-1.3.0.tar.gz"
diff --git a/testing/py3-sphinxcontrib-actdiag/APKBUILD b/testing/py3-sphinxcontrib-actdiag/APKBUILD
index 0e84a1d4e0f..33524841565 100644
--- a/testing/py3-sphinxcontrib-actdiag/APKBUILD
+++ b/testing/py3-sphinxcontrib-actdiag/APKBUILD
@@ -2,26 +2,31 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinxcontrib-actdiag
_pkgname=sphinxcontrib-actdiag
-pkgver=2.0.0
+pkgver=3.0.0
pkgrel=2
pkgdesc="Sphinx actdiag extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-actdiag"
+url="https://github.com/blockdiag/sphinxcontrib-actdiag"
arch="noarch"
license="BSD-2-Clause"
-depends="py3-actdiag py3-sphinx"
+depends="py3-actdiag py3-blockdiag py3-sphinx python3"
makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/blockdiag/sphinxcontrib-actdiag/archive/refs/tags/$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-
-replaces="py-sphinxcontrib-actdiag" # for backwards compatibility
-provides="py-sphinxcontrib-actdiag=$pkgver-r$pkgrel" # for backwards compatibility
+options="!check" # sphinx-testing
build() {
python3 setup.py build
}
+check() {
+ python3 -m unittest discover
+}
+
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="8faeb97b6be7c1a3603d34d34331ed4144a0b4a1ea537d8826682252213268a288f180ee0218d1266e199c41eba5e85caabf0a0f734024c358019fe806dd38de sphinxcontrib-actdiag-2.0.0.tar.gz"
+sha512sums="
+caef6c9e8e968e9053150a28aede2a07be1396ba2426745cd35cbb4a2093d93c1056336c49d1f7a901e22845e547b7e46b6caecc9f7cfea7ce7f7bd46c2ff49e py3-sphinxcontrib-actdiag-3.0.0.tar.gz
+"
diff --git a/testing/py3-sphinxcontrib-adadomain/APKBUILD b/testing/py3-sphinxcontrib-adadomain/APKBUILD
index 756b5b7e2cc..22394e25369 100644
--- a/testing/py3-sphinxcontrib-adadomain/APKBUILD
+++ b/testing/py3-sphinxcontrib-adadomain/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-sphinxcontrib-adadomain
_pkgname=sphinxcontrib-adadomain
pkgver=0.2
-pkgrel=4
+pkgrel=9
pkgdesc="Sphinx adadomain extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-adadomain"
+url="https://pypi.org/project/sphinxcontrib-adadomain"
arch="noarch"
license="BSD-2-Clause"
depends="py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
fix-imports.patch"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-adadomain" # for backwards compatibility
+replaces="py-sphinxcontrib-adadomain" # for backwards compatibility
provides="py-sphinxcontrib-adadomain=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="99d2b8b2dcb16e76c33c4a7965140c44ec3b4a166b69e930a68f27a1ddbb0871d77bc6b05fce79d161063561d21ebf5205218a05aebf9ff073e9ab2a3ba4e9a7 sphinxcontrib-adadomain-0.2.tar.gz
diff --git a/testing/py3-sphinxcontrib-apidoc/APKBUILD b/testing/py3-sphinxcontrib-apidoc/APKBUILD
deleted file mode 100644
index ba6b8118586..00000000000
--- a/testing/py3-sphinxcontrib-apidoc/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-sphinxcontrib-apidoc
-pkgver=0.3.0
-pkgrel=1
-pkgdesc="A Sphinx extension for running sphinx-apidoc on each build"
-url="https://github.com/sphinx-contrib/apidoc"
-arch="noarch"
-license="BSD-2-Clause"
-depends="py3-sphinx"
-makedepends="py3-pbr py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/s/sphinxcontrib-apidoc/sphinxcontrib-apidoc-$pkgver.tar.gz"
-builddir="$srcdir/sphinxcontrib-apidoc-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 -m pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="043f9b36eaff7b3f6d23c834dd3947e2b029c66010b3862f1658f03e0fb6c4aac3304f49465dd515a30107a685dc704a0e319675c9d7b27897445a2c315d07a1 sphinxcontrib-apidoc-0.3.0.tar.gz"
diff --git a/testing/py3-sphinxcontrib-autoprogram/APKBUILD b/testing/py3-sphinxcontrib-autoprogram/APKBUILD
new file mode 100644
index 00000000000..9a1f6f8c5fa
--- /dev/null
+++ b/testing/py3-sphinxcontrib-autoprogram/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-sphinxcontrib-autoprogram
+pkgver=0.1.8
+pkgrel=2
+pkgdesc="Sphinx extension to document CLI programs"
+url="https://github.com/sphinx-contrib/autoprogram"
+arch="noarch"
+license="BSD-2-Clause"
+depends="python3 py3-six py3-sphinx"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/sphinx-contrib/autoprogram/archive/refs/tags/$pkgver.tar.gz
+ "
+builddir="$srcdir/autoprogram-$pkgver"
+options="!check" # no tests
+
+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 unittest discover
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+bc07f25c34884f8e3130bbe5d2d6fb645f45aca5794c6b11a772f0351d680380d3e63cfe4b60aabf05ad8c6f44bae72e592500454598d31cc3c98dcbc8dbf899 py3-sphinxcontrib-autoprogram-0.1.8.tar.gz
+"
diff --git a/testing/py3-sphinxcontrib-bitbucket/APKBUILD b/testing/py3-sphinxcontrib-bitbucket/APKBUILD
index 9d88b853d3d..4e379b6b161 100644
--- a/testing/py3-sphinxcontrib-bitbucket/APKBUILD
+++ b/testing/py3-sphinxcontrib-bitbucket/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-sphinxcontrib-bitbucket
_pkgname=sphinxcontrib-bitbucket
pkgver=1.0
-pkgrel=3
+pkgrel=8
pkgdesc="Sphinx BitBucket extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-bitbucket"
+url="https://pypi.org/project/sphinxcontrib-bitbucket"
arch="noarch"
license="BSD-2-Clause"
depends="py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
fix-python3.patch"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-bitbucket" # Backwards compatibility
+replaces="py-sphinxcontrib-bitbucket" # Backwards compatibility
provides="py-sphinxcontrib-bitbucket=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="e018fceecc24b7a9656d57a9855c824665948f877394b7ca6b0f22473bf83492d4155a9c9960cf18e9b10268f2928d0762a4ad48ffee2ebb819275d563751e18 sphinxcontrib-bitbucket-1.0.tar.gz
diff --git a/testing/py3-sphinxcontrib-blockdiag/APKBUILD b/testing/py3-sphinxcontrib-blockdiag/APKBUILD
index c52deab5217..a2fe675de2e 100644
--- a/testing/py3-sphinxcontrib-blockdiag/APKBUILD
+++ b/testing/py3-sphinxcontrib-blockdiag/APKBUILD
@@ -2,27 +2,32 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinxcontrib-blockdiag
_pkgname=sphinxcontrib-blockdiag
-pkgver=2.0.0
-pkgrel=2
+pkgver=3.0.0
+pkgrel=4
pkgdesc="Sphinx blockdiag extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-blockdiag"
+url="https://pypi.org/project/sphinxcontrib-blockdiag"
arch="noarch"
license="BSD-2-Clause"
depends="py3-blockdiag py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-blockdiag" # for backwards compatibility
+replaces="py-sphinxcontrib-blockdiag" # for backwards compatibility
provides="py-sphinxcontrib-blockdiag=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-
-sha512sums="3968b75396129fa9337ccb7f5139944071fa81a247841142dd97a4ee6696c2b16dfcd1d944043e807a72e0b371e8a0b5ea85f42adfbc037842917cf78f38d2de sphinxcontrib-blockdiag-2.0.0.tar.gz"
+sha512sums="
+e173b4149368b8c13d08da6cd423ebba218ff0265b629242b6076f3781cc1ffe0fa007556cd0019f40bd5e5ed1c0f7953f7713f3dc56eceac3e53cc22b892238 sphinxcontrib-blockdiag-3.0.0.tar.gz
+"
diff --git a/testing/py3-sphinxcontrib-cacoo/APKBUILD b/testing/py3-sphinxcontrib-cacoo/APKBUILD
index 7e98bc384d5..285f39d404c 100644
--- a/testing/py3-sphinxcontrib-cacoo/APKBUILD
+++ b/testing/py3-sphinxcontrib-cacoo/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-cacoo
_pkgname=sphinxcontrib-cacoo
pkgver=2.0.0
-pkgrel=3
+pkgrel=7
pkgdesc="Sphinx cacoo extension"
url="https://github.com/tk0miya/sphinxcontrib-cacoo"
arch="noarch"
license="BSD-2-Clause"
depends="py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-cacoo" # Backwards compatibility
+replaces="py-sphinxcontrib-cacoo" # Backwards compatibility
provides="py-sphinxcontrib-cacoo=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="180d34e3d77870c3d6385b62c59094c15ba7af64b1821f0bbdcbbc04ca901396fe3e78e72f0a504286afd9583e86af590fcfc6867ab2c959c6a5164b009fe032 sphinxcontrib-cacoo-2.0.0.tar.gz"
diff --git a/testing/py3-sphinxcontrib-cartouche/APKBUILD b/testing/py3-sphinxcontrib-cartouche/APKBUILD
index dc4233a5e09..02c336bacec 100644
--- a/testing/py3-sphinxcontrib-cartouche/APKBUILD
+++ b/testing/py3-sphinxcontrib-cartouche/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-cartouche
_pkgname=cartouche
pkgver=1.1.2
-pkgrel=3
+pkgrel=7
pkgdesc="Sphinx cartouche extension"
url="https://github.com/rob-smallshire/cartouche"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-cartouche" # Backwards compatibility
+replaces="py-sphinxcontrib-cartouche" # Backwards compatibility
provides="py-sphinxcontrib-cartouche=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="cbfc11d9ff545b9d891e218804627a9524af513c1c2eff461c41813b99f7db1336bd14ed95dbf6b5cfcce19f91ac817bb42cd660057b9bf6427daccb4b375462 cartouche-1.1.2.tar.gz"
diff --git a/testing/py3-sphinxcontrib-doxylink/APKBUILD b/testing/py3-sphinxcontrib-doxylink/APKBUILD
index a1ab57f6a87..6eb101cbc7e 100644
--- a/testing/py3-sphinxcontrib-doxylink/APKBUILD
+++ b/testing/py3-sphinxcontrib-doxylink/APKBUILD
@@ -2,26 +2,41 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinxcontrib-doxylink
_pkgname=sphinxcontrib-doxylink
-pkgver=1.6.1
-pkgrel=3
+pkgver=1.12.2
+pkgrel=2
pkgdesc="Sphinx Doxygen linking extension"
url="https://github.com/sphinx-contrib/doxylink"
arch="noarch"
license="BSD-2-Clause"
-depends="py3-parsing py3-sphinx"
-makedepends="py3-setuptools"
+depends="
+ py3-dateutil
+ py3-parsing
+ py3-sphinx
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ "
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
+options="!check" # no tarball tests
replaces="py-sphinxcontrib-doxylink" # for backwards compatibility
provides="py-sphinxcontrib-doxylink=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="c27983cbd54d6ff2c4110b0269d630cd81b8aff6bf7f6b1b006dbb18fc3643d59a25ecff0ec9c92785c697e38861e755fb44a95382314b8b2888da9e8e191637 sphinxcontrib-doxylink-1.6.1.tar.gz"
+sha512sums="
+dd07053a7f3c01697fa4c488c1bcd55de7d5cf41cd8a33c64dfcfcc26c5b63b079055626a6617c1afc6350796e30d4db5209364a146f814bd81227afd561614b sphinxcontrib-doxylink-1.12.2.tar.gz
+"
diff --git a/testing/py3-sphinxcontrib-fulltoc/APKBUILD b/testing/py3-sphinxcontrib-fulltoc/APKBUILD
index abf15a43e48..4984d3ce1cd 100644
--- a/testing/py3-sphinxcontrib-fulltoc/APKBUILD
+++ b/testing/py3-sphinxcontrib-fulltoc/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-fulltoc
_pkgname=sphinxcontrib-fulltoc
pkgver=1.2.0
-pkgrel=3
+pkgrel=8
pkgdesc="Sphinx fulltoc extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-fulltoc"
+url="https://pypi.org/project/sphinxcontrib-fulltoc"
arch="noarch"
license="Apache-2.0"
depends="py3-sphinx"
-makedepends="py3-pbr py3-setuptools"
+makedepends="py3-pbr py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-fulltoc" # Backwards compatibility
+replaces="py-sphinxcontrib-fulltoc" # Backwards compatibility
provides="py-sphinxcontrib-fulltoc=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="9f806ed3717db65c9d67f9b35a676586484bbd81347216ee25309c3d74427b283e7efe5af48be588fd72d814158250e2ffa85c6c1f3f0358534f8f64fe45d904 sphinxcontrib-fulltoc-1.2.0.tar.gz"
diff --git a/testing/py3-sphinxcontrib-gist/APKBUILD b/testing/py3-sphinxcontrib-gist/APKBUILD
index c791c8738f3..6f1ee7bde96 100644
--- a/testing/py3-sphinxcontrib-gist/APKBUILD
+++ b/testing/py3-sphinxcontrib-gist/APKBUILD
@@ -3,25 +3,34 @@
pkgname=py3-sphinxcontrib-gist
_pkgname=sphinxcontrib.gist
pkgver=0.1.0
-pkgrel=4
+pkgrel=9
pkgdesc="Sphinx gist extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-gist"
+url="https://pypi.org/project/sphinxcontrib-gist"
arch="noarch"
license="LGPL-3.0-only"
depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ fix-build.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-gist" # Backwards compatibility
+replaces="py-sphinxcontrib-gist" # Backwards compatibility
provides="py-sphinxcontrib-gist=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="a6bc8bae2bf64c5201452134c075c6336ab1928c534bb6d274c3fdda555609ad58e02d11d4c9d78528be39578c759394016c58ef6f0bad1ffc38328e3cf3ca00 sphinxcontrib.gist-0.1.0.tar.gz"
+sha512sums="
+a6bc8bae2bf64c5201452134c075c6336ab1928c534bb6d274c3fdda555609ad58e02d11d4c9d78528be39578c759394016c58ef6f0bad1ffc38328e3cf3ca00 sphinxcontrib.gist-0.1.0.tar.gz
+e1bbfac6dc5d6b9dd4b8c2a3ec1d4b790cafb89e69640ca7a9da041d27d20388d973ba8529bafd098dce9b2f5029ad7b219af5414a59bd557744964eeac050e1 fix-build.patch
+"
diff --git a/testing/py3-sphinxcontrib-gist/fix-build.patch b/testing/py3-sphinxcontrib-gist/fix-build.patch
new file mode 100644
index 00000000000..44735804e9a
--- /dev/null
+++ b/testing/py3-sphinxcontrib-gist/fix-build.patch
@@ -0,0 +1,19 @@
+a bit of an ugly hack to import the module properly
+
+`from sphinxcontrib ...` doesn't work, because sphinxcontrib is defined by
+all the other py3-sphinxcontrib-* packages that use (now depreacated) declare_namespace
+as a namespace residing in sitedir, thus python doesn't see the local directory
+
+diff --git a/setup.py b/setup.py
+index b0bf058..e43693e 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,5 +1,8 @@
+ #-*- coding:utf-8 -*-
+
++import sys
++del sys.modules['sphinxcontrib']
++
+ import setuptools
+ from sphinxcontrib import gist as pkg
+
diff --git a/testing/py3-sphinxcontrib-git/APKBUILD b/testing/py3-sphinxcontrib-git/APKBUILD
index 9be34519b18..fd411fd9982 100644
--- a/testing/py3-sphinxcontrib-git/APKBUILD
+++ b/testing/py3-sphinxcontrib-git/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-git
_pkgname=sphinx-git
pkgver=11.0.0
-pkgrel=3
+pkgrel=7
pkgdesc="Sphinx git changelog extension"
url="https://github.com/OddBloke/sphinx-git"
arch="noarch"
license="GPL-3.0-or-later"
depends="python3 py3-sphinx py3-six py3-gitpython"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-git" # Backwards compatibility
+replaces="py-sphinxcontrib-git" # Backwards compatibility
provides="py-sphinxcontrib-git=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="2d795a791d0b626ec88df9cf835508a3ef9be8a502cb977613813334a671e8676e3c9af8b478870db817a7f29aa24497d665a6b619ea3ccf15353398a8d28e4b sphinx-git-11.0.0.tar.gz"
diff --git a/testing/py3-sphinxcontrib-gravatar/APKBUILD b/testing/py3-sphinxcontrib-gravatar/APKBUILD
index 8bcbc2403eb..58d4cc6e97f 100644
--- a/testing/py3-sphinxcontrib-gravatar/APKBUILD
+++ b/testing/py3-sphinxcontrib-gravatar/APKBUILD
@@ -3,15 +3,16 @@
pkgname=py3-sphinxcontrib-gravatar
_pkgname=sphinxcontrib-gravatar
pkgver=0.1.2
-pkgrel=3
+pkgrel=7
pkgdesc="Sphinx gravatar extension"
options="!check" # Most tests fail
-url="https://pypi.python.org/pypi/sphinxcontrib-gravatar"
+url="https://pypi.org/project/sphinxcontrib-gravatar"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-sphinx"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-pytest-cov py3-mock"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -27,7 +28,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="18f68ab2259a85fe33bf76c9c6c98eed2b196b33a5a3fe04bb481f4df37b653473aeca1bf58871164dc60cf82d7225b62bade9993d825356f6450bca9d8f2980 sphinxcontrib-gravatar-0.1.2.tar.gz"
diff --git a/testing/py3-sphinxcontrib-htsql/APKBUILD b/testing/py3-sphinxcontrib-htsql/APKBUILD
index a2fca86d74c..e9ae9132afe 100644
--- a/testing/py3-sphinxcontrib-htsql/APKBUILD
+++ b/testing/py3-sphinxcontrib-htsql/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-htsql
_pkgname=sphinxcontrib-htsql
pkgver=0.1.5
-pkgrel=3
+pkgrel=8
pkgdesc="Sphinx htsql extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-htsql"
+url="https://pypi.org/project/sphinxcontrib-htsql"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-htsql" # Backwards compatibility
+replaces="py-sphinxcontrib-htsql" # Backwards compatibility
provides="py-sphinxcontrib-htsql=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="778114bd18f3f0d3f08465ccb477949d7934eca2223d346cc130cbb9256572d769082b86436ce60211b030965155792c6ab6d02074fd47d3838a26c906092de6 sphinxcontrib-htsql-0.1.5.tar.gz"
diff --git a/testing/py3-sphinxcontrib-httpdomain/APKBUILD b/testing/py3-sphinxcontrib-httpdomain/APKBUILD
index 9dc4f1503c9..e19f352e6c5 100644
--- a/testing/py3-sphinxcontrib-httpdomain/APKBUILD
+++ b/testing/py3-sphinxcontrib-httpdomain/APKBUILD
@@ -2,14 +2,19 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinxcontrib-httpdomain
_pkgname=sphinxcontrib-httpdomain
-pkgver=1.7.0
+pkgver=1.8.1
pkgrel=3
pkgdesc="Sphinx httpdomain extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-httpdomain"
+url="https://pypi.org/project/sphinxcontrib-httpdomain"
arch="noarch"
license="BSD-2-Clause"
-depends="py3-sphinx"
-makedepends="py3-setuptools"
+depends="py3-sphinx py3-six"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-lang $pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -17,11 +22,23 @@ replaces="py-sphinxcontrib-httpdomain" # for backwards compatibility
provides="py-sphinxcontrib-httpdomain=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="132803f60af263a4948108145ac27635da50254eb79dad2c461c4f364b04eb6b28d4917449fae31b792fc8773ce948f1fd20b06b22e167bfb4584dad756c8f17 sphinxcontrib-httpdomain-1.7.0.tar.gz"
+lang() {
+ pkgdesc="translations for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel lang"
+
+ amove usr/lib/python3*/site-packages/sphinxcontrib/locale/
+}
+
+sha512sums="
+197c44fd9bdc146f49c6a0aa365a5bd49b76f712ae89082be3761aa21c99683279090fc274308ca199fb7efae5a2d713be4531b90747f504860f36a01ee4c52b sphinxcontrib-httpdomain-1.8.1.tar.gz
+"
diff --git a/testing/py3-sphinxcontrib-hydomain/APKBUILD b/testing/py3-sphinxcontrib-hydomain/APKBUILD
index 24df4077b75..5448189ec81 100644
--- a/testing/py3-sphinxcontrib-hydomain/APKBUILD
+++ b/testing/py3-sphinxcontrib-hydomain/APKBUILD
@@ -1,31 +1,33 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
pkgname=py3-sphinxcontrib-hydomain
-pkgver=0.1.0
+pkgver=0.1.0_git20230930
+_commit="5919f40522b5a8a3787daa7a9bca3df737436d5b"
pkgrel=1
pkgdesc="Sphinx hydomain extension"
url="https://github.com/hylang/sphinxcontrib-hydomain"
arch="noarch"
license="BSD-3-Clause"
depends="py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
options="!check" # no test suite
-source="$pkgname-$pkgver.tar.gz::https://github.com/hylang/sphinxcontrib-hydomain/archive/refs/tags/v$pkgver.tar.gz
- do-not-insert-stdlib.patch"
-builddir="$srcdir/sphinxcontrib-hydomain-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/hylang/sphinxcontrib-hydomain/archive/$_commit.tar.gz"
+builddir="$srcdir/sphinxcontrib-hydomain-$_commit"
replaces="py-sphinxcontrib-hydomain" # for backwards compatibility
provides="py-sphinxcontrib-hydomain=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
}
sha512sums="
-60bc96105b820cd9523aa8babb3fd00a5f192954486de85dbee24c04d6908024602afe488a0e3c4f182d06a4111a5846625e1adc26c1b940bf6079e0ed23c960 py3-sphinxcontrib-hydomain-0.1.0.tar.gz
-8d2986368c9d79f3b0288a480ada2d861e26401068757e3bb3c26a70978798bb8711e2a695fbb15cf93dcf0b5cf57173f1bed37bbaefb2c273b5f80defda834b do-not-insert-stdlib.patch
+5e429b1ac8b2deb67a3ae716976a4f8e4ee85d1bfa6ef7236f26b6992ce4f97a5a53fac650d4026c4cd2f812ad556604824482edf4ac166aab15a8dfb29aa2e8 py3-sphinxcontrib-hydomain-0.1.0_git20230930.tar.gz
"
diff --git a/testing/py3-sphinxcontrib-hydomain/do-not-insert-stdlib.patch b/testing/py3-sphinxcontrib-hydomain/do-not-insert-stdlib.patch
deleted file mode 100644
index 75628224ff6..00000000000
--- a/testing/py3-sphinxcontrib-hydomain/do-not-insert-stdlib.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From bcd7e72b406ac532d487f0504d760e857c6fee70 Mon Sep 17 00:00:00 2001
-From: Sunjay Cauligi <scauligi@eng.ucsd.edu>
-Date: Fri, 26 Feb 2021 17:10:33 -0800
-Subject: [PATCH] Fix: don't insert stdlib when generating docs
-
----
- sphinxcontrib/hydomain.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/sphinxcontrib/hydomain.py b/sphinxcontrib/hydomain.py
-index abb3fac..f93d24e 100644
---- a/sphinxcontrib/hydomain.py
-+++ b/sphinxcontrib/hydomain.py
-@@ -82,7 +82,7 @@ def bool_option(arg):
-
- def hy2py(source: str) -> str:
- hst = hy.lex.hy_parse(source)
-- ast = hy.compiler.hy_compile(hst, "__main__")
-+ ast = hy.compiler.hy_compile(hst, "__main__", import_stdlib=False)
- return astor.code_gen.to_source(ast)
-
-
-@@ -90,7 +90,7 @@ def signature_from_str(signature: str) -> inspect.Signature:
- # NOTE Likely where the crash on -sentinel bug is happening
- code = "(defn func" + signature + ")"
- hst = hy.lex.hy_parse(code)
-- module = hy.compiler.hy_compile(hst, "__main__")
-+ module = hy.compiler.hy_compile(hst, "__main__", import_stdlib=False)
- function = cast(ast.FunctionDef, module.body[0])
-
- return signature_from_ast(function)
diff --git a/testing/py3-sphinxcontrib-inheritance/APKBUILD b/testing/py3-sphinxcontrib-inheritance/APKBUILD
index a8eedfd552d..8891a0fce4b 100644
--- a/testing/py3-sphinxcontrib-inheritance/APKBUILD
+++ b/testing/py3-sphinxcontrib-inheritance/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-inheritance
_pkgname=sphinxcontrib-inheritance
pkgver=0.9.0
-pkgrel=4
+pkgrel=9
pkgdesc="Sphinx inheritance functionality"
-url="https://pypi.python.org/pypi/sphinxcontrib-inheritance"
+url="https://pypi.org/project/sphinxcontrib-inheritance"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-sphinx py3-path"
-makedepends="python3-dev py3-setuptools"
+makedepends="python3-dev py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-inheritance" # Backwards compatibility
+replaces="py-sphinxcontrib-inheritance" # Backwards compatibility
provides="py-sphinxcontrib-inheritance=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="979a8ed286616c2b2981e5581492e0de5b4cee1d6117ed93d098591872fc5c46b813b72042da9d40169086dda503a97ef320884fb601d18ba20d079a2886d412 sphinxcontrib-inheritance-0.9.0.tar.gz"
diff --git a/testing/py3-sphinxcontrib-issuetracker/APKBUILD b/testing/py3-sphinxcontrib-issuetracker/APKBUILD
index ba9c16718d0..00fce85cdd7 100644
--- a/testing/py3-sphinxcontrib-issuetracker/APKBUILD
+++ b/testing/py3-sphinxcontrib-issuetracker/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-issuetracker
_pkgname=sphinxcontrib-issuetracker
pkgver=0.11
-pkgrel=3
+pkgrel=7
pkgdesc="Sphinx issuetracker extension"
url="https://github.com/ignatenkobrain/sphinxcontrib-issuetracker"
arch="noarch"
license="BSD-2-Clause"
depends="py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-issuetracker" # for backwards compatibility
+replaces="py-sphinxcontrib-issuetracker" # for backwards compatibility
provides="py-sphinxcontrib-issuetracker=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="fb4a977bea22451a3d90b16821fc2a38ed53b17913666ca250e9aab8bb1726bbdb52fb2b6dbb2ae512a0ca6cc3d33dcddeba758c02c77b099180443d67e147c9 sphinxcontrib-issuetracker-0.11.tar.gz"
diff --git a/testing/py3-sphinxcontrib-lassodomain/APKBUILD b/testing/py3-sphinxcontrib-lassodomain/APKBUILD
index 0e8f05c0c02..da388b98dd8 100644
--- a/testing/py3-sphinxcontrib-lassodomain/APKBUILD
+++ b/testing/py3-sphinxcontrib-lassodomain/APKBUILD
@@ -3,26 +3,30 @@
pkgname=py3-sphinxcontrib-lassodomain
_pkgname=sphinxcontrib-lassodomain
pkgver=0.4
-pkgrel=3
+pkgrel=8
pkgdesc="Sphinx lassodomain extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-lassodomain"
+url="https://pypi.org/project/sphinxcontrib-lassodomain"
arch="noarch"
license="BSD-2-Clause"
depends="py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
fix-python3.patch"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-lassodomain" # Backwards compatibility
+replaces="py-sphinxcontrib-lassodomain" # Backwards compatibility
provides="py-sphinxcontrib-lassodomain=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="527511a8342175e1f157705d76eb4c03e409d62024cb95dad98067765fb9321c4a93eea1a23d75b18d19eaf48c5dde496bcbe2789809eb11408c018e1972b7cf sphinxcontrib-lassodomain-0.4.tar.gz
diff --git a/testing/py3-sphinxcontrib-manpage/APKBUILD b/testing/py3-sphinxcontrib-manpage/APKBUILD
index a27696291ca..bf542fc2f45 100644
--- a/testing/py3-sphinxcontrib-manpage/APKBUILD
+++ b/testing/py3-sphinxcontrib-manpage/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-manpage
_pkgname=sphinxcontrib-manpage
pkgver=0.6
-pkgrel=3
+pkgrel=8
pkgdesc="Sphinx manpage extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-manpage"
+url="https://pypi.org/project/sphinxcontrib-manpage"
arch="noarch"
license="Apache-2.0"
depends="python3 py3-sphinx py3-nwdiag"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-manpage" # Backwards compatibility
+replaces="py-sphinxcontrib-manpage" # Backwards compatibility
provides="py-sphinxcontrib-manpage=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="312215626275cade4595db044b9b1f90eeb816d4cd5277e1f628f164faa67d7c912d5ea295b68ed436e39276448fe27ae0f0aea6062af2fbf48e957bd9dc2d36 sphinxcontrib-manpage-0.6.tar.gz"
diff --git a/testing/py3-sphinxcontrib-newsfeed/APKBUILD b/testing/py3-sphinxcontrib-newsfeed/APKBUILD
deleted file mode 100644
index 6504d9afdcc..00000000000
--- a/testing/py3-sphinxcontrib-newsfeed/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-sphinxcontrib-newsfeed
-_pyname=sphinxcontrib-newsfeed
-pkgver=0.1.4
-pkgrel=2
-pkgdesc="News Feed extension for Sphinx"
-url="https://github.com/prometheusresearch/sphinxcontrib-newsfeed"
-arch="noarch"
-license="BSD-2-Clause"
-options="!check" # no tests
-depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="96d9d0c15fca8b62f945bafc8f0eafa62df9c471f7510e2f153e47b66534e5f3041e5c01df772e6c35a9f09baa70064642f7f0fa43ccfd33dd64c2604494f2fc sphinxcontrib-newsfeed-0.1.4.tar.gz"
diff --git a/testing/py3-sphinxcontrib-nwdiag/APKBUILD b/testing/py3-sphinxcontrib-nwdiag/APKBUILD
index 5a64885eeef..8a716f9af9d 100644
--- a/testing/py3-sphinxcontrib-nwdiag/APKBUILD
+++ b/testing/py3-sphinxcontrib-nwdiag/APKBUILD
@@ -3,26 +3,29 @@
pkgname=py3-sphinxcontrib-nwdiag
_pkgname=sphinxcontrib-nwdiag
pkgver=2.0.0
-pkgrel=2
+pkgrel=7
pkgdesc="Sphinx nwdiag extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-nwdiag"
+url="https://pypi.org/project/sphinxcontrib-nwdiag"
arch="noarch"
license="BSD-2-Clause"
depends="py3-nwdiag py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-nwdiag" # for backwards compatibility
+replaces="py-sphinxcontrib-nwdiag" # for backwards compatibility
provides="py-sphinxcontrib-nwdiag=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-
sha512sums="a77d8259a4c1f238dec20ef0c260e6e0ad4665ab13e0124a5cdd3dc135969b44c218131746cc9f955a3dd088bf3b17e23354f8edc0409a239ca2e02d38ec645a sphinxcontrib-nwdiag-2.0.0.tar.gz"
diff --git a/testing/py3-sphinxcontrib-phpdomain/APKBUILD b/testing/py3-sphinxcontrib-phpdomain/APKBUILD
index 2674671ee7e..d5a58add1d8 100644
--- a/testing/py3-sphinxcontrib-phpdomain/APKBUILD
+++ b/testing/py3-sphinxcontrib-phpdomain/APKBUILD
@@ -1,29 +1,36 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinxcontrib-phpdomain
-_pkgname=sphinxcontrib-phpdomain
-pkgver=0.7.3
+pkgver=0.11.2
pkgrel=1
pkgdesc="Sphinx phpdomain extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-phpdomain"
+url="https://pypi.org/project/sphinxcontrib-phpdomain"
arch="noarch"
license="BSD-2-Clause"
depends="py3-sphinx"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/markstory/sphinxcontrib-phpdomain/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir"/sphinxcontrib-phpdomain-$pkgver
replaces="py-sphinxcontrib-phpdomain" # for backwards compatibility
provides="py-sphinxcontrib-phpdomain=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-d02a9a11ab23c6c272ab16760cd9cc808adbf31be963cb99fd5da5e3d34e160c5fceacefb2c6ce052c58c294ddc65992fa983dad559fbb09eddf95b4cf4c7a46 sphinxcontrib-phpdomain-0.7.3.tar.gz
+00b806a601b1921a2e5b1dbde466f9eb47c69ff7bee12cd65725e8e83edab4430778a9963500417e116cc4c9f0281eab9fb63bfeb8f4c7ac31cf3de5fcdbcd83 py3-sphinxcontrib-phpdomain-0.11.2.tar.gz
"
diff --git a/testing/py3-sphinxcontrib-programoutput/APKBUILD b/testing/py3-sphinxcontrib-programoutput/APKBUILD
index b94a6b29da8..503b2a38872 100644
--- a/testing/py3-sphinxcontrib-programoutput/APKBUILD
+++ b/testing/py3-sphinxcontrib-programoutput/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-sphinxcontrib-programoutput
_pkgname=sphinxcontrib-programoutput
pkgver=0.17
-pkgrel=1
+pkgrel=4
pkgdesc="Sphinx programoutput extension"
url="https://sphinxcontrib-programoutput.readthedocs.io/en/latest/"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-sphinx"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/NextThought/$_pkgname/archive/$pkgver.tar.gz"
replaces="py-sphinxcontrib-programoutput" # Backwards compatibility
@@ -26,7 +27,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-sphinxcontrib-restbuilder/APKBUILD b/testing/py3-sphinxcontrib-restbuilder/APKBUILD
index 250b3d16831..a8c1278a64a 100644
--- a/testing/py3-sphinxcontrib-restbuilder/APKBUILD
+++ b/testing/py3-sphinxcontrib-restbuilder/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-restbuilder
_pkgname=sphinxcontrib-restbuilder
pkgver=0.3
-pkgrel=1
+pkgrel=6
pkgdesc="Sphinx restbuilder extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-restbuilder"
+url="https://pypi.org/project/sphinxcontrib-restbuilder"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-restbuilder" # Backwards compatibility
+replaces="py-sphinxcontrib-restbuilder" # Backwards compatibility
provides="py-sphinxcontrib-restbuilder=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
diff --git a/testing/py3-sphinxcontrib-seqdiag/APKBUILD b/testing/py3-sphinxcontrib-seqdiag/APKBUILD
index 1df97786360..af3f7219a1c 100644
--- a/testing/py3-sphinxcontrib-seqdiag/APKBUILD
+++ b/testing/py3-sphinxcontrib-seqdiag/APKBUILD
@@ -2,26 +2,32 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinxcontrib-seqdiag
_pkgname=sphinxcontrib-seqdiag
-pkgver=2.0.0
-pkgrel=2
+pkgver=3.0.0
+pkgrel=5
pkgdesc="Sphinx seqdiag extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-seqdiag"
+url="https://pypi.org/project/sphinxcontrib-seqdiag"
arch="noarch"
license="BSD-2-Clause"
depends="py3-seqdiag py3-sphinx"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-seqdiag" # for backwards compatibility
+replaces="py-sphinxcontrib-seqdiag" # for backwards compatibility
provides="py-sphinxcontrib-seqdiag=$pkgver-r$pkgrel" # for backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="6136bf53af5f69b1dfd08bca65a8f9831ec7a5dbef23ce452e99296ead721aebf21a9fdbba01e402108830916109a17ba0e84f76fba6a67685b70d07932b39ba sphinxcontrib-seqdiag-2.0.0.tar.gz"
+sha512sums="
+fd1bcbda3f73eec56314b4ad3054725e9c1b946c6fe3b8b950b5fc3a97ad4d12aa695e5741946cf86bbc8f62f77873400d09afbc568ad593c04fad1810c3e4fe sphinxcontrib-seqdiag-3.0.0.tar.gz
+"
diff --git a/testing/py3-sphinxcontrib-slide/APKBUILD b/testing/py3-sphinxcontrib-slide/APKBUILD
index 415d2d34be0..cb62b124b2c 100644
--- a/testing/py3-sphinxcontrib-slide/APKBUILD
+++ b/testing/py3-sphinxcontrib-slide/APKBUILD
@@ -2,13 +2,15 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinxcontrib-slide
_pkgname=sphinxcontrib-slide
-pkgver=0.3.0
-pkgrel=4
+pkgver=1.0.0
+pkgrel=3
pkgdesc="Sphinx FindAnything extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-slide"
+url="https://pypi.org/project/sphinxcontrib-slide"
arch="noarch"
license="BSD" # No LICENSE file
depends="python3 py3-sphinx py3-setuptools"
+makedepends="py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -16,11 +18,16 @@ replaces="py-sphinxcontrib-slide" # Backwards compatibility
provides="py-sphinxcontrib-slide=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="5c0cc13c6fa317aeec499cd918b4eb08fd1fed82ecc2d4f6fe2d1fc54dce9a48f99c8d373ea858756314eb432afceb73658d8cc3e17d0f0e66f7df20be0b7e75 sphinxcontrib-slide-0.3.0.tar.gz"
+sha512sums="
+67bbcbf11668fed8ad7ea185b32590921ba4f37ae2c4fb3243fda8a1f377c0f3169056c6b3e6c32c4af7b8a74172f050abdc2c72062b009dba72069d6a19ab65 sphinxcontrib-slide-1.0.0.tar.gz
+"
diff --git a/testing/py3-sphinxcontrib-spelling/APKBUILD b/testing/py3-sphinxcontrib-spelling/APKBUILD
index b72d62f6469..0afeeea0a9a 100644
--- a/testing/py3-sphinxcontrib-spelling/APKBUILD
+++ b/testing/py3-sphinxcontrib-spelling/APKBUILD
@@ -2,14 +2,20 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-sphinxcontrib-spelling
_pkgname=sphinxcontrib-spelling
-pkgver=7.2.1
-pkgrel=1
+pkgver=8.0.0
+pkgrel=3
pkgdesc="Sphinx spelling extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-spelling"
+url="https://pypi.org/project/sphinxcontrib-spelling"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-sphinx py3-enchant"
-makedepends="py3-setuptools py3-pbr"
+makedepends="
+ py3-gpep517
+ py3-setuptools_scm
+ py3-wheel
+ "
+checkdepends="py3-pytest enchant2-aspell aspell-en"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -17,13 +23,23 @@ replaces="py-sphinxcontrib-spelling" # Backwards compatibility
provides="py-sphinxcontrib-spelling=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver" \
+ 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 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-e9b9709b627545e1191d64753c97c0cf65e100d5379e7cc1da46faf9c5d5ea0eeb6c7aafe99331f9518488fb0801c245e0c1fa9853360bb6cf373515a4fed2ed sphinxcontrib-spelling-7.2.1.tar.gz
+0d8c21ea660516238c43fabb505666dfee15abb39f538c40c6b61f91e20c246b16aa170cd444263507dd51913a27fc7719cddb28f30eab26825b565f70dd3ab6 sphinxcontrib-spelling-8.0.0.tar.gz
"
diff --git a/testing/py3-sphinxcontrib-sqltable/APKBUILD b/testing/py3-sphinxcontrib-sqltable/APKBUILD
index b73e37dbc84..d812736410a 100644
--- a/testing/py3-sphinxcontrib-sqltable/APKBUILD
+++ b/testing/py3-sphinxcontrib-sqltable/APKBUILD
@@ -3,25 +3,29 @@
pkgname=py3-sphinxcontrib-sqltable
_pkgname=sphinxcontrib.sqltable
pkgver=2.0.0
-pkgrel=3
+pkgrel=8
pkgdesc="Sphinx sqltable extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-sqltable"
+url="https://pypi.org/project/sphinxcontrib-sqltable"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-sphinx py3-sqlalchemy"
-makedepends="py3-setuptools py3-pbr"
+makedepends="py3-setuptools py3-pbr py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-sqltable" # Backwards compatibility
+replaces="py-sphinxcontrib-sqltable" # Backwards compatibility
provides="py-sphinxcontrib-sqltable=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="1f56e779857fd0578db5bf194b2867b0b1bcca4a89397a0764c005baef984ef4311ba23b56f87b1d7a17edadd53ec90a58a1cca619286547993ca5e6efb50e7b sphinxcontrib.sqltable-2.0.0.tar.gz"
diff --git a/testing/py3-sphinxcontrib-tabs/APKBUILD b/testing/py3-sphinxcontrib-tabs/APKBUILD
deleted file mode 100644
index 80095724806..00000000000
--- a/testing/py3-sphinxcontrib-tabs/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-sphinxcontrib-tabs
-pkgver=3.2.0
-pkgrel=1
-pkgdesc="Create tabbed content in Sphinx documentation when building HTML"
-url="https://github.com/executablebooks/sphinx-tabs"
-arch="noarch"
-license="MIT"
-#test files are not included in pypi archive
-options="!check"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/s/sphinx-tabs/sphinx-tabs-$pkgver.tar.gz"
-builddir="$srcdir/sphinx-tabs-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-965086fce54ea87803b85a36d2f2f56b863d82f14fbcabfd85adb98bf665b539bfca75758e87686b094a3e4c396ed890d66ecef32b5791037a5e56ef41b0daa2 sphinx-tabs-3.2.0.tar.gz
-"
diff --git a/testing/py3-sphinxcontrib-textstyle/APKBUILD b/testing/py3-sphinxcontrib-textstyle/APKBUILD
index 1f646dfaea1..8507bf50bee 100644
--- a/testing/py3-sphinxcontrib-textstyle/APKBUILD
+++ b/testing/py3-sphinxcontrib-textstyle/APKBUILD
@@ -3,24 +3,29 @@
pkgname=py3-sphinxcontrib-textstyle
_pkgname=sphinxcontrib-textstyle
pkgver=0.2.3
-pkgrel=3
+pkgrel=8
pkgdesc="Sphinx textstyle extension"
-url="https://pypi.python.org/pypi/sphinxcontrib-textstyle"
+url="https://pypi.org/project/sphinxcontrib-textstyle"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-sphinx py3-setuptools"
+makedepends="py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-sphinxcontrib-textstyle" # Backwards compatibility
+replaces="py-sphinxcontrib-textstyle" # Backwards compatibility
provides="py-sphinxcontrib-textstyle=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="0b6ba8d50a97439e2ab57de336157f942876ee9c8203e8ff5be415fdc340bacab15fb461579457209e616c7fa1eec2c42720d5b0e3726c83a123e700b096fb4d sphinxcontrib-textstyle-0.2.3.tar.gz"
diff --git a/testing/py3-sphobjinv/APKBUILD b/testing/py3-sphobjinv/APKBUILD
index d01dbbf3367..dcb38babd47 100644
--- a/testing/py3-sphobjinv/APKBUILD
+++ b/testing/py3-sphobjinv/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=py3-sphobjinv
_pyname=sphobjinv
-pkgver=2.1
-pkgrel=1
+pkgver=2.3.1
+pkgrel=2
pkgdesc="Sphinx objects.inv Inspection/Manipulation Tool"
url="https://github.com/bskinn/sphobjinv"
arch="noarch"
@@ -12,6 +12,7 @@ options="!check" # no tests
depends="python3 py3-attrs py3-certifi py3-jsonschema py3-fuzzywuzzy"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$_pyname-$pkgver.tar.gz::https://github.com/bskinn/sphobjinv/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -20,7 +21,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="cde77d73b09b72358b0ac5b0d8f1a748e78dce6664d1b849ba68f5ff70dc43cbcff4581374d0151be29c4d97efe2920c5c00ff68918371243be158031e9554fa sphobjinv-2.1.tar.gz"
+sha512sums="
+7253b8b21e2027ce22013edf76a6cd397dcebf652e235a8af8b82349fb19a2f7df15d33f9f032f195a4b471f5bb5321c7de0fb195a5c0c2ce3847be23da35862 sphobjinv-2.3.1.tar.gz
+"
diff --git a/testing/py3-spidev/APKBUILD b/testing/py3-spidev/APKBUILD
new file mode 100644
index 00000000000..09f0b02675f
--- /dev/null
+++ b/testing/py3-spidev/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=py3-spidev
+pkgver=3.6
+pkgrel=0
+pkgdesc="python module for interfacing with SPI devices from user space"
+url="https://github.com/doceme/py-spidev"
+arch="all"
+license="MIT"
+depends="python3"
+makedepends="linux-headers python3-dev py3-setuptools py3-gpep517 py3-installer py3-wheel"
+source="https://github.com/doceme/py-spidev/archive/v$pkgver/py-spidev-v$pkgver.tar.gz"
+builddir="$srcdir/py-spidev-$pkgver/"
+options="!check" # no upstream tests
+
+build() {
+ gpep517 build-wheel \
+ --backend setuptools.build_meta \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/spidev*.whl
+}
+
+sha512sums="
+0d69f8058ffaf8ec6867db78248c398cce5f7349908940ad68297289e7fa0dbb532af4607ad0e0d783e96d0e9fa65f2cb40b442d34c5fba94741e32e0466e61e py-spidev-v3.6.tar.gz
+"
diff --git a/testing/py3-spin/APKBUILD b/testing/py3-spin/APKBUILD
new file mode 100644
index 00000000000..793c2f9ce69
--- /dev/null
+++ b/testing/py3-spin/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=py3-spin
+_pkgname=spin
+pkgver=0.8
+pkgrel=0
+pkgdesc="Developer tool for scientific Python libraries"
+url="https://pypi.org/project/spin/"
+arch="noarch"
+license="BSD-3-Clause"
+depends="python3"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+checkdepends="py3-pytest py3-click"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+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="
+b8755f692b484b66b445d8e1405946182137c5f176f402a99fffb12883896cce90cd0aed7504dc014b705861b96ca523c0ce87585d16707ba5e49cdd00b40284 spin-0.8.tar.gz
+"
diff --git a/testing/py3-spinners/APKBUILD b/testing/py3-spinners/APKBUILD
index a92561f71a1..b858ccc27f5 100644
--- a/testing/py3-spinners/APKBUILD
+++ b/testing/py3-spinners/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-spinners
_pyname=spinners
pkgver=0.0.24
-pkgrel=1
+pkgrel=4
pkgdesc="Terminal spinners for Python"
url="https://github.com/manrajgrover/py-spinners"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="python3"
makedepends="py3-setuptools"
options="!check" # no tests
+subpackages="$pkgname-pyc"
source="$_pyname-$pkgver.tar.gz::https://pypi.python.org/packages/source/s/spinners/spinners-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -19,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/py3-spnego/APKBUILD b/testing/py3-spnego/APKBUILD
new file mode 100644
index 00000000000..a72d957116d
--- /dev/null
+++ b/testing/py3-spnego/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
+# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
+pkgname=py3-spnego
+_pkgname=pyspnego
+pkgver=0.10.2
+pkgrel=1
+pkgdesc="SPNEGO Authentication library"
+url="https://github.com/jborean93/pyspnego"
+arch="noarch"
+license="MIT"
+depends="python3 py3-cryptography"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="
+ cython
+ py3-krb5
+ py3-pytest
+ py3-pytest-cov
+ py3-pytest-mock
+ py3-pytest-xdist
+ py3-python-gssapi
+ py3-ruamel.yaml
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/jborean93/pyspnego/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+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 -n auto
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+4795c08f541fce3c6c52323bf9182ed7bffdd567986881ad0ff7e039b875e1f7410b6fb83817b0771d45bc5afbefca56a94136c0154553eb7aa5b0a142b71489 py3-spnego-0.10.2.tar.gz
+"
diff --git a/testing/py3-sportydatagen/APKBUILD b/testing/py3-sportydatagen/APKBUILD
new file mode 100644
index 00000000000..7dd26123e0d
--- /dev/null
+++ b/testing/py3-sportydatagen/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
+# Maintainer: Iztok Fister, Jr. <iztok@iztok-jr-fister.eu>
+pkgname=py3-sportydatagen
+pkgver=0.2.2
+pkgrel=3
+pkgdesc="Generator of Endurance Sports Activity Collections (datasets)"
+url="https://gitlab.com/firefly-cpp/sportydatagen"
+arch="noarch !ppc64le !s390x !riscv64" # py3-sport-activities-features
+license="MIT"
+depends="python3 py3-niapy py3-numpy py3-pandas py3-scikit-learn py3-sport-activities-features"
+makedepends="py3-poetry-core py3-gpep517"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/firefly-cpp/sportydatagen/-/archive/$pkgver/sportydatagen-$pkgver.tar.gz"
+builddir="$srcdir/sportydatagen-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+# problems with test collection | missing deps; use smoke tests now
+check() {
+ PYTHONPATH=build/lib python3 -c "from sportydatagen import *"
+}
+
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/sportydatagen-$pkgver-py3-none-any.whl
+}
+
+sha512sums="
+8ae9801bbcec2cab63b1e8600f28c0da74008cedbb38b98ba8d59b636265b0f93ab13514ffd778cd15abec71731e1aa9fd30aa88f5be3e513c8c4059a691291d py3-sportydatagen-0.2.2.tar.gz
+"
diff --git a/testing/py3-spotipy/APKBUILD b/testing/py3-spotipy/APKBUILD
new file mode 100644
index 00000000000..2d6940e99e9
--- /dev/null
+++ b/testing/py3-spotipy/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=py3-spotipy
+_pkgname=spotipy
+pkgver=2.23.0
+pkgrel=2
+pkgdesc="Light weight Python library for the Spotify Web API"
+url="https://github.com/spotipy-dev/spotipy"
+arch="noarch"
+license="MIT"
+depends="py3-requests py3-six py3-urllib3 py3-redis"
+makedepends="py3-setuptools"
+options="!check" # requires Spotify API Key
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/spotipy-dev/spotipy/archive/$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+52955fa3365d5153f19f60874ce8e96910ac8db783499e0e2ef2ab31127277844e24a045115dc522dd7b7535f7907de56da87e02a63b94ee7506b75c1e108e9b py3-spotipy-2.23.0.tar.gz
+"
diff --git a/testing/py3-sqlalchemy-utils/APKBUILD b/testing/py3-sqlalchemy-utils/APKBUILD
deleted file mode 100644
index 16364455db5..00000000000
--- a/testing/py3-sqlalchemy-utils/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-sqlalchemy-utils
-_pkgname=SQLAlchemy-Utils
-pkgver=0.36.8
-pkgrel=2
-pkgdesc="Various utility functions and custom data types for SQLAlchemy"
-url="https://sqlalchemy-utils.readthedocs.io/"
-arch="noarch"
-license="BSD-3-Clause"
-depends="py3-anyjson py3-arrow py3-babel py3-colour py3-cryptography
- py3-dateutil py3-furl py3-intervals py3-passlib py3-phonenumbers
- py3-sqlalchemy"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="c31151fb43dd715e6def7397e67b44d10476aa21cab9ad0052fdd09c602995f32ae8c9c65ec9909e258ec95c7e798885c1816a2702ef89146ed4f416db8ad382 SQLAlchemy-Utils-0.36.8.tar.gz"
diff --git a/testing/py3-srsly/APKBUILD b/testing/py3-srsly/APKBUILD
deleted file mode 100644
index 8698bbc9ab7..00000000000
--- a/testing/py3-srsly/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-srsly
-pkgver=2.0.1
-pkgrel=2
-pkgdesc="Modern high-performance serialization utilities for Python"
-url="https://github.com/explosion/srsly"
-arch="all !mips !mips64" # blocked by py3-numpy
-license="MIT"
-depends="python3 py3-numpy py3-tz"
-makedepends="python3-dev py3-setuptools cython py3-wheel"
-checkdepends="py3-pytest py3-pytest-timeout py3-mock"
-subpackages="$pkgname-doc"
-source="srsly-$pkgver.tar.gz::https://github.com/explosion/srsly/archive/v$pkgver.tar.gz"
-builddir="$srcdir/srsly-$pkgver"
-
-build() {
- python3 setup.py build_ext --inplace
-}
-
-check() {
- PYTHONPATH="$(echo $PWD/build/lib.*)" pytest-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="25557e5bd2869b4fcd3a801af6e19461eaf5fab920a252ce24229b637fcdec96ce706eb6b92158e9537c9cf9890b2ac5635c5a4f08641d30f8801fb18cff5128 srsly-2.0.1.tar.gz"
diff --git a/testing/py3-srt/APKBUILD b/testing/py3-srt/APKBUILD
new file mode 100644
index 00000000000..7d0493974c2
--- /dev/null
+++ b/testing/py3-srt/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-srt
+pkgver=3.5.3
+pkgrel=1
+pkgdesc="A tiny library for parsing, modifying, and composing SRT files"
+url="https://github.com/cdown/srt"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-hypothesis
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/cdown/srt/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/srt-$pkgver"
+
+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="
+df4968715a557ec594b68ade57ef3fa86599338f693fc339acf91a5036cb50c066e900927001ae92ad71b66e16de3cfe4cfbbf9946372428f7a5cbe179c6de8a py3-srt-3.5.3.tar.gz
+"
diff --git a/testing/py3-sstash/APKBUILD b/testing/py3-sstash/APKBUILD
index 1ea9cda0a3f..2957b062e8b 100644
--- a/testing/py3-sstash/APKBUILD
+++ b/testing/py3-sstash/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-sstash
_pkgname=sstash
pkgver=0.17
-pkgrel=5
+pkgrel=8
pkgdesc="A python based on-disk secure stash"
url="https://github.com/realcr/sstash"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="python3 py3-pynacl py3-click py3-jsonschema"
makedepends="py3-setuptools py3-pytest py3-pytest-runner"
options="!check" # PYPI tarball has no tests, GitHub has no releases
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -19,7 +20,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="133b67875b002ac59c17fa8b21c3889108317083c32a6fb4858c3a6c970dc0c97ddfa1fa45d262bbc5d1f5c8210780083cbeb8c740c5f41b5862711eaf3867d5 sstash-0.17.tar.gz"
diff --git a/testing/py3-stem/APKBUILD b/testing/py3-stem/APKBUILD
deleted file mode 100644
index e40b826cd08..00000000000
--- a/testing/py3-stem/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Maintainer: Donoban <donoban@riseup.net>
-pkgname=py3-stem
-pkgver=1.8.0
-pkgrel=1
-pkgdesc="Python controller library that allows applications to interact with Tor"
-url="https://stem.torproject.org/"
-arch="noarch"
-license="LGPL-3.0-or-later"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/s/stem/stem-$pkgver.tar.gz"
-builddir="$srcdir"/stem-"$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-aa2033567b79aef960f8321e4c6cbc28105c59d6513ff49a9f12509d8f97b1a2e8a3b04dc28abb07fad59b0f6ba66443b92bbefa0d08b26038bbaf24f7f2846d stem-1.8.0.tar.gz
-"
diff --git a/testing/py3-stevedore/APKBUILD b/testing/py3-stevedore/APKBUILD
deleted file mode 100644
index 65d4ecad5b1..00000000000
--- a/testing/py3-stevedore/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
-# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
-pkgname=py3-stevedore
-_pkgname=stevedore
-pkgver=3.5.0
-pkgrel=0
-pkgdesc="Manage dynamic plugins for Python applications"
-url="https://github.com/openstack/stevedore"
-arch="noarch"
-license="Apache-2.0"
-depends="python3"
-makedepends="py3-setuptools py3-pbr"
-checkdepends="py3-pytest py3-testtools py3-docutils py3-sphinx"
-source="https://pypi.org/packages/source/s/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-prepare() {
- default_prepare
- # Remove dependency on pbr; it's not a runtime dependency
- sed -i '/^pbr([<>=]|$)/d' requirements.txt
-}
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-be0f82230d7d4d3cf18dd913e11093ad90744e32a3021d9f88f0be244f56d0e3606af0adef67674c569c41d885837be3f0fc4d58009e036151cc67963a4f2ab3 stevedore-3.5.0.tar.gz
-"
diff --git a/testing/py3-stringcase/APKBUILD b/testing/py3-stringcase/APKBUILD
index 08e4b97b1ba..d307586065a 100644
--- a/testing/py3-stringcase/APKBUILD
+++ b/testing/py3-stringcase/APKBUILD
@@ -1,25 +1,30 @@
# Contributor: Alex McGrath <amk@amk.ie>
-# Maintainer: Alex McGrath <amk@amk.ie>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-stringcase
_pkgname=stringcase
pkgver=1.2.0
-pkgrel=2
+pkgrel=8
pkgdesc="Convert string cases between camel case, pascal case, snake case etc..."
url="https://pypi.org/project/stringcase"
-arch="all"
+arch="noarch"
license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-options="!check" # no tests
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="stringcase-$pkgver.tar.gz::https://pypi.io/packages/source/s/stringcase/stringcase-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no tests
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="c987f9aa42d22bcfaa6559791bf9292e4300af00d2cf2165838cacd6203b913da197852d49285c30188ca529fd529513cce73a1984f5555cfb81e704977786d3 stringcase-1.2.0.tar.gz"
+sha512sums="
+c987f9aa42d22bcfaa6559791bf9292e4300af00d2cf2165838cacd6203b913da197852d49285c30188ca529fd529513cce73a1984f5555cfb81e704977786d3 stringcase-1.2.0.tar.gz
+"
diff --git a/testing/py3-subtesthack/APKBUILD b/testing/py3-subtesthack/APKBUILD
deleted file mode 100644
index 41bcd1c0b5e..00000000000
--- a/testing/py3-subtesthack/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-subtesthack
-_pyname=pytest-subtesthack
-pkgver=0.1.2
-pkgrel=2
-pkgdesc="Explicitly set up and tear down fixtures"
-url="https://github.com/untitaker/pytest-subtesthack"
-arch="noarch"
-license="Unlicense"
-options="!check" # no tests
-depends="python3 py3-pytest"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="2d57b30de711692da90318d07c8d0ed1fc3cb9638780ff4499c49fbbc2c7e4bf79dd5355b34114cdf7332730c23820b18e68c50dcdda0eff061e5965d2fc7755 pytest-subtesthack-0.1.2.tar.gz"
diff --git a/testing/py3-svgpath/105_use-better-than-nothing-font.patch b/testing/py3-svgpath/105_use-better-than-nothing-font.patch
new file mode 100644
index 00000000000..7e3d18d1fc5
--- /dev/null
+++ b/testing/py3-svgpath/105_use-better-than-nothing-font.patch
@@ -0,0 +1,300 @@
+From a17ed35e490a99a7dfab9833f6f3be86f004f699 Mon Sep 17 00:00:00 2001
+From: Benjamin Drung <benjamin.drung@canonical.com>
+Date: Fri, 15 Dec 2023 15:32:16 +0100
+Subject: [PATCH] tests: Use better than nothing font
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Pillow 10.1.0 uses a version of Aileron Regular instead of the previous
+“better than nothing†default font (in case FreeType support is
+available). This font change changes the resulting bitmap.
+
+Use the "better than nothing" font to keep the expected result
+identical. The proper solution is either to use one specific font in
+svg.path or make pillow support loading the “better than nothingâ€
+default font.
+
+Bug-Debian: https://bugs.debian.org/1055159
+---
+ tests/font.py | 145 ++++++++++++++++++++++++++++++++
+ tests/test_boundingbox_image.py | 18 ++--
+ tests/test_image.py | 18 +++-
+ 3 files changed, 170 insertions(+), 11 deletions(-)
+ create mode 100644 tests/font.py
+
+diff --git a/tests/font.py b/tests/font.py
+new file mode 100644
+index 0000000..d375f49
+--- /dev/null
++++ b/tests/font.py
+@@ -0,0 +1,145 @@
++# Code taken from https://github.com/python-pillow/Pillow/blob/main/src/PIL/ImageFont.py
++#
++# License: the open source HPND License
++# Copyright (c) 1997-2003 by Secret Labs AB
++# Copyright (c) 1996-2003 by Fredrik Lundh
++
++from PIL import Image, ImageFont
++from io import BytesIO
++import base64
++
++
++def get_better_than_nothing_font():
++ font = ImageFont.ImageFont()
++ font._load_pilfont_data(
++ # courB08
++ BytesIO(
++ base64.b64decode(
++ b"""
++UElMZm9udAo7Ozs7OzsxMDsKREFUQQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAA//8AAQAAAAAAAAABAAEA
++BgAAAAH/+gADAAAAAQAAAAMABgAGAAAAAf/6AAT//QADAAAABgADAAYAAAAA//kABQABAAYAAAAL
++AAgABgAAAAD/+AAFAAEACwAAABAACQAGAAAAAP/5AAUAAAAQAAAAFQAHAAYAAP////oABQAAABUA
++AAAbAAYABgAAAAH/+QAE//wAGwAAAB4AAwAGAAAAAf/5AAQAAQAeAAAAIQAIAAYAAAAB//kABAAB
++ACEAAAAkAAgABgAAAAD/+QAE//0AJAAAACgABAAGAAAAAP/6AAX//wAoAAAALQAFAAYAAAAB//8A
++BAACAC0AAAAwAAMABgAAAAD//AAF//0AMAAAADUAAQAGAAAAAf//AAMAAAA1AAAANwABAAYAAAAB
++//kABQABADcAAAA7AAgABgAAAAD/+QAFAAAAOwAAAEAABwAGAAAAAP/5AAYAAABAAAAARgAHAAYA
++AAAA//kABQAAAEYAAABLAAcABgAAAAD/+QAFAAAASwAAAFAABwAGAAAAAP/5AAYAAABQAAAAVgAH
++AAYAAAAA//kABQAAAFYAAABbAAcABgAAAAD/+QAFAAAAWwAAAGAABwAGAAAAAP/5AAUAAABgAAAA
++ZQAHAAYAAAAA//kABQAAAGUAAABqAAcABgAAAAD/+QAFAAAAagAAAG8ABwAGAAAAAf/8AAMAAABv
++AAAAcQAEAAYAAAAA//wAAwACAHEAAAB0AAYABgAAAAD/+gAE//8AdAAAAHgABQAGAAAAAP/7AAT/
++/gB4AAAAfAADAAYAAAAB//oABf//AHwAAACAAAUABgAAAAD/+gAFAAAAgAAAAIUABgAGAAAAAP/5
++AAYAAQCFAAAAiwAIAAYAAP////oABgAAAIsAAACSAAYABgAA////+gAFAAAAkgAAAJgABgAGAAAA
++AP/6AAUAAACYAAAAnQAGAAYAAP////oABQAAAJ0AAACjAAYABgAA////+gAFAAAAowAAAKkABgAG
++AAD////6AAUAAACpAAAArwAGAAYAAAAA//oABQAAAK8AAAC0AAYABgAA////+gAGAAAAtAAAALsA
++BgAGAAAAAP/6AAQAAAC7AAAAvwAGAAYAAP////oABQAAAL8AAADFAAYABgAA////+gAGAAAAxQAA
++AMwABgAGAAD////6AAUAAADMAAAA0gAGAAYAAP////oABQAAANIAAADYAAYABgAA////+gAGAAAA
++2AAAAN8ABgAGAAAAAP/6AAUAAADfAAAA5AAGAAYAAP////oABQAAAOQAAADqAAYABgAAAAD/+gAF
++AAEA6gAAAO8ABwAGAAD////6AAYAAADvAAAA9gAGAAYAAAAA//oABQAAAPYAAAD7AAYABgAA////
+++gAFAAAA+wAAAQEABgAGAAD////6AAYAAAEBAAABCAAGAAYAAP////oABgAAAQgAAAEPAAYABgAA
++////+gAGAAABDwAAARYABgAGAAAAAP/6AAYAAAEWAAABHAAGAAYAAP////oABgAAARwAAAEjAAYA
++BgAAAAD/+gAFAAABIwAAASgABgAGAAAAAf/5AAQAAQEoAAABKwAIAAYAAAAA//kABAABASsAAAEv
++AAgABgAAAAH/+QAEAAEBLwAAATIACAAGAAAAAP/5AAX//AEyAAABNwADAAYAAAAAAAEABgACATcA
++AAE9AAEABgAAAAH/+QAE//wBPQAAAUAAAwAGAAAAAP/7AAYAAAFAAAABRgAFAAYAAP////kABQAA
++AUYAAAFMAAcABgAAAAD/+wAFAAABTAAAAVEABQAGAAAAAP/5AAYAAAFRAAABVwAHAAYAAAAA//sA
++BQAAAVcAAAFcAAUABgAAAAD/+QAFAAABXAAAAWEABwAGAAAAAP/7AAYAAgFhAAABZwAHAAYAAP//
++//kABQAAAWcAAAFtAAcABgAAAAD/+QAGAAABbQAAAXMABwAGAAAAAP/5AAQAAgFzAAABdwAJAAYA
++AP////kABgAAAXcAAAF+AAcABgAAAAD/+QAGAAABfgAAAYQABwAGAAD////7AAUAAAGEAAABigAF
++AAYAAP////sABQAAAYoAAAGQAAUABgAAAAD/+wAFAAABkAAAAZUABQAGAAD////7AAUAAgGVAAAB
++mwAHAAYAAAAA//sABgACAZsAAAGhAAcABgAAAAD/+wAGAAABoQAAAacABQAGAAAAAP/7AAYAAAGn
++AAABrQAFAAYAAAAA//kABgAAAa0AAAGzAAcABgAA////+wAGAAABswAAAboABQAGAAD////7AAUA
++AAG6AAABwAAFAAYAAP////sABgAAAcAAAAHHAAUABgAAAAD/+wAGAAABxwAAAc0ABQAGAAD////7
++AAYAAgHNAAAB1AAHAAYAAAAA//sABQAAAdQAAAHZAAUABgAAAAH/+QAFAAEB2QAAAd0ACAAGAAAA
++Av/6AAMAAQHdAAAB3gAHAAYAAAAA//kABAABAd4AAAHiAAgABgAAAAD/+wAF//0B4gAAAecAAgAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAB
++//sAAwACAecAAAHpAAcABgAAAAD/+QAFAAEB6QAAAe4ACAAGAAAAAP/5AAYAAAHuAAAB9AAHAAYA
++AAAA//oABf//AfQAAAH5AAUABgAAAAD/+QAGAAAB+QAAAf8ABwAGAAAAAv/5AAMAAgH/AAACAAAJ
++AAYAAAAA//kABQABAgAAAAIFAAgABgAAAAH/+gAE//sCBQAAAggAAQAGAAAAAP/5AAYAAAIIAAAC
++DgAHAAYAAAAB//kABf/+Ag4AAAISAAUABgAA////+wAGAAACEgAAAhkABQAGAAAAAP/7AAX//gIZ
++AAACHgADAAYAAAAA//wABf/9Ah4AAAIjAAEABgAAAAD/+QAHAAACIwAAAioABwAGAAAAAP/6AAT/
+++wIqAAACLgABAAYAAAAA//kABP/8Ai4AAAIyAAMABgAAAAD/+gAFAAACMgAAAjcABgAGAAAAAf/5
++AAT//QI3AAACOgAEAAYAAAAB//kABP/9AjoAAAI9AAQABgAAAAL/+QAE//sCPQAAAj8AAgAGAAD/
++///7AAYAAgI/AAACRgAHAAYAAAAA//kABgABAkYAAAJMAAgABgAAAAH//AAD//0CTAAAAk4AAQAG
++AAAAAf//AAQAAgJOAAACUQADAAYAAAAB//kABP/9AlEAAAJUAAQABgAAAAH/+QAF//4CVAAAAlgA
++BQAGAAD////7AAYAAAJYAAACXwAFAAYAAP////kABgAAAl8AAAJmAAcABgAA////+QAGAAACZgAA
++Am0ABwAGAAD////5AAYAAAJtAAACdAAHAAYAAAAA//sABQACAnQAAAJ5AAcABgAA////9wAGAAAC
++eQAAAoAACQAGAAD////3AAYAAAKAAAAChwAJAAYAAP////cABgAAAocAAAKOAAkABgAA////9wAG
++AAACjgAAApUACQAGAAD////4AAYAAAKVAAACnAAIAAYAAP////cABgAAApwAAAKjAAkABgAA////
+++gAGAAACowAAAqoABgAGAAAAAP/6AAUAAgKqAAACrwAIAAYAAP////cABQAAAq8AAAK1AAkABgAA
++////9wAFAAACtQAAArsACQAGAAD////3AAUAAAK7AAACwQAJAAYAAP////gABQAAAsEAAALHAAgA
++BgAAAAD/9wAEAAACxwAAAssACQAGAAAAAP/3AAQAAALLAAACzwAJAAYAAAAA//cABAAAAs8AAALT
++AAkABgAAAAD/+AAEAAAC0wAAAtcACAAGAAD////6AAUAAALXAAAC3QAGAAYAAP////cABgAAAt0A
++AALkAAkABgAAAAD/9wAFAAAC5AAAAukACQAGAAAAAP/3AAUAAALpAAAC7gAJAAYAAAAA//cABQAA
++Au4AAALzAAkABgAAAAD/9wAFAAAC8wAAAvgACQAGAAAAAP/4AAUAAAL4AAAC/QAIAAYAAAAA//oA
++Bf//Av0AAAMCAAUABgAA////+gAGAAADAgAAAwkABgAGAAD////3AAYAAAMJAAADEAAJAAYAAP//
++//cABgAAAxAAAAMXAAkABgAA////9wAGAAADFwAAAx4ACQAGAAD////4AAYAAAAAAAoABwASAAYA
++AP////cABgAAAAcACgAOABMABgAA////+gAFAAAADgAKABQAEAAGAAD////6AAYAAAAUAAoAGwAQ
++AAYAAAAA//gABgAAABsACgAhABIABgAAAAD/+AAGAAAAIQAKACcAEgAGAAAAAP/4AAYAAAAnAAoA
++LQASAAYAAAAA//gABgAAAC0ACgAzABIABgAAAAD/+QAGAAAAMwAKADkAEQAGAAAAAP/3AAYAAAA5
++AAoAPwATAAYAAP////sABQAAAD8ACgBFAA8ABgAAAAD/+wAFAAIARQAKAEoAEQAGAAAAAP/4AAUA
++AABKAAoATwASAAYAAAAA//gABQAAAE8ACgBUABIABgAAAAD/+AAFAAAAVAAKAFkAEgAGAAAAAP/5
++AAUAAABZAAoAXgARAAYAAAAA//gABgAAAF4ACgBkABIABgAAAAD/+AAGAAAAZAAKAGoAEgAGAAAA
++AP/4AAYAAABqAAoAcAASAAYAAAAA//kABgAAAHAACgB2ABEABgAAAAD/+AAFAAAAdgAKAHsAEgAG
++AAD////4AAYAAAB7AAoAggASAAYAAAAA//gABQAAAIIACgCHABIABgAAAAD/+AAFAAAAhwAKAIwA
++EgAGAAAAAP/4AAUAAACMAAoAkQASAAYAAAAA//gABQAAAJEACgCWABIABgAAAAD/+QAFAAAAlgAK
++AJsAEQAGAAAAAP/6AAX//wCbAAoAoAAPAAYAAAAA//oABQABAKAACgClABEABgAA////+AAGAAAA
++pQAKAKwAEgAGAAD////4AAYAAACsAAoAswASAAYAAP////gABgAAALMACgC6ABIABgAA////+QAG
++AAAAugAKAMEAEQAGAAD////4AAYAAgDBAAoAyAAUAAYAAP////kABQACAMgACgDOABMABgAA////
+++QAGAAIAzgAKANUAEw==
++"""
++ )
++ ),
++ Image.open(
++ BytesIO(
++ base64.b64decode(
++ b"""
++iVBORw0KGgoAAAANSUhEUgAAAx4AAAAUAQAAAAArMtZoAAAEwElEQVR4nABlAJr/AHVE4czCI/4u
++Mc4b7vuds/xzjz5/3/7u/n9vMe7vnfH/9++vPn/xyf5zhxzjt8GHw8+2d83u8x27199/nxuQ6Od9
++M43/5z2I+9n9ZtmDBwMQECDRQw/eQIQohJXxpBCNVE6QCCAAAAD//wBlAJr/AgALyj1t/wINwq0g
++LeNZUworuN1cjTPIzrTX6ofHWeo3v336qPzfEwRmBnHTtf95/fglZK5N0PDgfRTslpGBvz7LFc4F
++IUXBWQGjQ5MGCx34EDFPwXiY4YbYxavpnhHFrk14CDAAAAD//wBlAJr/AgKqRooH2gAgPeggvUAA
++Bu2WfgPoAwzRAABAAAAAAACQgLz/3Uv4Gv+gX7BJgDeeGP6AAAD1NMDzKHD7ANWr3loYbxsAD791
++NAADfcoIDyP44K/jv4Y63/Z+t98Ovt+ub4T48LAAAAD//wBlAJr/AuplMlADJAAAAGuAphWpqhMx
++in0A/fRvAYBABPgBwBUgABBQ/sYAyv9g0bCHgOLoGAAAAAAAREAAwI7nr0ArYpow7aX8//9LaP/9
++SjdavWA8ePHeBIKB//81/83ndznOaXx379wAAAD//wBlAJr/AqDxW+D3AABAAbUh/QMnbQag/gAY
++AYDAAACgtgD/gOqAAAB5IA/8AAAk+n9w0AAA8AAAmFRJuPo27ciC0cD5oeW4E7KA/wD3ECMAn2tt
++y8PgwH8AfAxFzC0JzeAMtratAsC/ffwAAAD//wBlAJr/BGKAyCAA4AAAAvgeYTAwHd1kmQF5chkG
++ABoMIHcL5xVpTfQbUqzlAAAErwAQBgAAEOClA5D9il08AEh/tUzdCBsXkbgACED+woQg8Si9VeqY
++lODCn7lmF6NhnAEYgAAA/NMIAAAAAAD//2JgjLZgVGBg5Pv/Tvpc8hwGBjYGJADjHDrAwPzAjv/H
++/Wf3PzCwtzcwHmBgYGcwbZz8wHaCAQMDOwMDQ8MCBgYOC3W7mp+f0w+wHOYxO3OG+e376hsMZjk3
++AAAAAP//YmCMY2A4wMAIN5e5gQETPD6AZisDAwMDgzSDAAPjByiHcQMDAwMDg1nOze1lByRu5/47
++c4859311AYNZzg0AAAAA//9iYGDBYihOIIMuwIjGL39/fwffA8b//xv/P2BPtzzHwCBjUQAAAAD/
++/yLFBrIBAAAA//9i1HhcwdhizX7u8NZNzyLbvT97bfrMf/QHI8evOwcSqGUJAAAA//9iYBB81iSw
++pEE170Qrg5MIYydHqwdDQRMrAwcVrQAAAAD//2J4x7j9AAMDn8Q/BgYLBoaiAwwMjPdvMDBYM1Tv
++oJodAAAAAP//Yqo/83+dxePWlxl3npsel9lvLfPcqlE9725C+acfVLMEAAAA//9i+s9gwCoaaGMR
++evta/58PTEWzr21hufPjA8N+qlnBwAAAAAD//2JiWLci5v1+HmFXDqcnULE/MxgYGBj+f6CaJQAA
++AAD//2Ji2FrkY3iYpYC5qDeGgeEMAwPDvwQBBoYvcTwOVLMEAAAA//9isDBgkP///0EOg9z35v//
++Gc/eeW7BwPj5+QGZhANUswMAAAD//2JgqGBgYGBgqEMXlvhMPUsAAAAA//8iYDd1AAAAAP//AwDR
++w7IkEbzhVQAAAABJRU5ErkJggg==
++"""
++ )
++ )
++ ),
++ )
++ return font
+diff --git a/tests/test_boundingbox_image.py b/tests/test_boundingbox_image.py
+index 21f19a7..414f0b1 100644
+--- a/tests/test_boundingbox_image.py
++++ b/tests/test_boundingbox_image.py
+@@ -5,6 +5,7 @@
+
+ from PIL import Image, ImageDraw, ImageColor, ImageChops
+ from svg.path.path import CubicBezier, QuadraticBezier, Line, Arc
++from .font import get_better_than_nothing_font
+
+
+ RED = ImageColor.getcolor("red", mode="RGB")
+@@ -57,17 +58,15 @@ def draw_boundingbox(self, path):
+ sys.platform != "linux", reason="Different platforms have different fonts"
+ )
+ def test_image(self):
+- self.draw.text((10, 10), "This is an SVG line:")
+- self.draw.text(
+- (10, 100),
+- "The red line is a bounding box.",
+- )
++ font = get_better_than_nothing_font()
++ self.draw.text((10, 10), "This is an SVG line:", font=font)
++ self.draw.text((10, 100), "The red line is a bounding box.", font=font)
+
+ line1 = Line(40 + 60j, 200 + 80j)
+ self.draw_path(line1)
+ self.draw_boundingbox(line1)
+
+- self.draw.text((10, 140), "These are Arc segments:")
++ self.draw.text((10, 140), "These are Arc segments:", font=font)
+ arc1 = Arc(260 + 320j, 100 + 100j, 0, 1, 1, 260 + 319j)
+ self.draw_path(arc1)
+ self.draw_boundingbox(arc1)
+@@ -83,6 +82,7 @@ def test_image(self):
+ self.draw.text(
+ (10, 500),
+ "Next we have a quadratic bezier curve, with one tangent:",
++ font=font,
+ )
+ start = 30 + 600j
+ control = 400 + 540j
+@@ -95,12 +95,16 @@ def test_image(self):
+ self.draw.text(
+ (10, 670),
+ "The white dot is the control point, and the cyan lines are ",
++ font=font,
++ )
++ self.draw.text(
++ (10, 690), "illustrating the how the control point works.", font=font
+ )
+- self.draw.text((10, 690), "illustrating the how the control point works.")
+
+ self.draw.text(
+ (10, 730),
+ "Lastly is a cubic bezier, with 2 tangents, and 2 control points:",
++ font=font,
+ )
+
+ start = 200 + 800j
+diff --git a/tests/test_image.py b/tests/test_image.py
+index 49967ea..ae3a357 100644
+--- a/tests/test_image.py
++++ b/tests/test_image.py
+@@ -4,6 +4,7 @@
+ from math import sqrt
+
+ from svg.path.path import CubicBezier, QuadraticBezier, Line, Arc
++from .font import get_better_than_nothing_font
+
+
+ RED = ImageColor.getcolor("red", mode="RGB")
+@@ -57,25 +58,30 @@ def draw_tangents(self, path, count):
+ self.draw.line([c2t(p), c2t(tt + p)], fill=YELLOW, width=1)
+
+ def test_image(self):
+- self.draw.text((10, 10), "This is an SVG line:")
++ font = get_better_than_nothing_font()
++ self.draw.text((10, 10), "This is an SVG line:", font=font)
+ self.draw.text(
+ (10, 100),
+ "The red line is a tangent, and the yellow is 90 degrees from that.",
++ font=font,
+ )
+
+ line1 = Line(40 + 60j, 200 + 80j)
+ self.draw_path(line1)
+ self.draw_tangents(line1, 1)
+
+- self.draw.text((10, 140), "This is an Arc segment, almost a whole circle:")
++ self.draw.text(
++ (10, 140), "This is an Arc segment, almost a whole circle:", font=font
++ )
+ arc1 = Arc(260 + 320j, 100 + 100j, 0, 1, 1, 260 + 319j)
+ self.draw_path(arc1)
+ self.draw_tangents(arc1, 5)
+- self.draw.text((10, 460), "With five tangents.")
++ self.draw.text((10, 460), "With five tangents.", font=font)
+
+ self.draw.text(
+ (10, 500),
+ "Next we have a quadratic bezier curve, with one tangent:",
++ font=font,
+ )
+ start = 30 + 600j
+ control = 400 + 540j
+@@ -88,12 +94,16 @@ def test_image(self):
+ self.draw.text(
+ (10, 670),
+ "The white dot is the control point, and the cyan lines are ",
++ font=font,
++ )
++ self.draw.text(
++ (10, 690), "illustrating the how the control point works.", font=font
+ )
+- self.draw.text((10, 690), "illustrating the how the control point works.")
+
+ self.draw.text(
+ (10, 730),
+ "Lastly is a cubic bezier, with 2 tangents, and 2 control points:",
++ font=font,
+ )
+
+ start = 30 + 800j
diff --git a/testing/py3-svgpath/APKBUILD b/testing/py3-svgpath/APKBUILD
new file mode 100644
index 00000000000..12901b96a2f
--- /dev/null
+++ b/testing/py3-svgpath/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Aiden Grossman <agrossman154@yahoo.com>
+# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
+pkgname=py3-svgpath
+pkgver=6.3
+pkgrel=2
+pkgdesc="SVG path and object parser"
+url="https://github.com/regebro/svg.path"
+arch="noarch"
+license="MIT"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+checkdepends="py3-pytest py3-pillow"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/regebro/svg.path/archive/refs/tags/$pkgver.tar.gz
+ 105_use-better-than-nothing-font.patch
+ no-install-tests.patch"
+builddir="$srcdir/svg.path-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ PYTHONPATH=build/lib pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+fd9dd9e1e603be5e212e3eb247c9f3778203f5285397a4cdde4c038c3f31f7bc2b8904491c208256996e2fbd39b4e5f7ea58d964bd5d22bc09c57e4bc2c70317 py3-svgpath-6.3.tar.gz
+d12d32b0f6b075ee8602a7eee5dd1ddaa8f097fe3d471f2941fac0bba335641111eb2c0e2819dffea822f895833ffafa35baac80085cf759ca1ed8f7a6b92773 105_use-better-than-nothing-font.patch
+62ab1e0980c7fb797f74b81c937a68b6af1112fff293e6ddec6389a8e490a08e181c37217408b58ce3a2ae2afda7813bb3bbe57d5414cfc18e4e53e6d2f2ea5a no-install-tests.patch
+"
diff --git a/testing/py3-svgpath/no-install-tests.patch b/testing/py3-svgpath/no-install-tests.patch
new file mode 100644
index 00000000000..994ce3ce7bd
--- /dev/null
+++ b/testing/py3-svgpath/no-install-tests.patch
@@ -0,0 +1,15 @@
+--- ./setup.py.orig
++++ ./setup.py
+@@ -1,3 +1,3 @@
+-from setuptools import setup
++from setuptools import setup, find_packages
+
+-setup()
++setup(packages=find_packages("src", exclude=["*tests"]))
+--- ./MANIFEST.in.orig
++++ ./MANIFEST.in
+@@ -3,3 +3,4 @@
+
+ recursive-include src *.png
+
++global-exclude tests/*
diff --git a/testing/py3-swagger-ui-bundle/APKBUILD b/testing/py3-swagger-ui-bundle/APKBUILD
new file mode 100644
index 00000000000..1ead641bb98
--- /dev/null
+++ b/testing/py3-swagger-ui-bundle/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
+# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
+pkgname=py3-swagger-ui-bundle
+_pkgname=swagger_ui_bundle
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="bundled swagger-ui package"
+url="https://github.com/dtkav/swagger-ui-bundle"
+arch="noarch !riscv64" # missing checkdep
+license="Apache-2.0"
+checkdepends="
+ py3-pytest
+ py3-pytest-runner
+ "
+makedepends="
+ py3-flake8
+ py3-gpep517
+ py3-poetry-core
+ py3-setuptools
+ py3-wheel
+ "
+depends="
+ python3
+ py3-jinja2
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/dtkav/swagger-ui-bundle/archive/$pkgver/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+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="
+a32f7119698e1303ddab3708b307ab4a83e74804800124bedc78228e0f389ca3442aaff900ac374209813f0f1b01713c65292bda862ec04212593405cbb659fe swagger_ui_bundle-1.1.0.tar.gz
+"
diff --git a/testing/py3-syrupy/APKBUILD b/testing/py3-syrupy/APKBUILD
new file mode 100644
index 00000000000..ab914fc103a
--- /dev/null
+++ b/testing/py3-syrupy/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-syrupy
+_pyname=${pkgname/py3-/}
+pkgver=4.6.1
+pkgrel=1
+pkgdesc="The sweeter pytest snapshot plugin"
+url="https://tophat.github.io/syrupy"
+arch="noarch"
+license="Apache-2.0"
+depends="python3 py3-pytest py3-colored"
+makedepends="py3-poetry-core py3-gpep517"
+checkdepends="py3-invoke py3-pytest-benchmark"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tophat/syrupy/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+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 --snapshot-update
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/$_pyname-$pkgver-py3-none-any.whl
+}
+
+sha512sums="
+579787b788567d7e22e322cbccf1105666ad6d72d2eb0c0dad90a78714626f925d31d4e6187b9761c82576d47d34e56fda4b6bf39df3e83b2b43a37d1bbc7f0d py3-syrupy-4.6.1.tar.gz
+"
diff --git a/testing/py3-tabulate/APKBUILD b/testing/py3-tabulate/APKBUILD
deleted file mode 100644
index 321afbef454..00000000000
--- a/testing/py3-tabulate/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Maintainer: Andy Postnikov <apostnikov@gmail.com>
-pkgname=py3-tabulate
-pkgver=0.8.9
-pkgrel=1
-pkgdesc="Pretty-print tabular data"
-url="https://bitbucket.org/astanin/python-tabulate"
-arch="noarch"
-license="MIT"
-depends="python3 py3-wcwidth"
-makedepends="py3-setuptools"
-checkdepends="py3-nose"
-source="https://files.pythonhosted.org/packages/source/t/tabulate/tabulate-$pkgver.tar.gz"
-builddir="$srcdir/tabulate-$pkgver"
-
-replaces=py-tabulate # Backwards compatibility
-provides=py-tabulate=$pkgver-r$pkgrel # Backwards compatibility
-
-prepare() {
- default_prepare
- # fix interpreter invocation
- sed -i 's/"python"/"python3"/g' test/test_cli.py
-}
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$builddir"/build/lib python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-4170bb4ded836997ea053b039f19e084818c40e8ae2ae4f56c686ed3d33a341986bc311dd0370256b1af815db7b1ed8ba89008f87f8634b216412d0fd5fa76d9 tabulate-0.8.9.tar.gz
-"
diff --git a/testing/py3-tailer/APKBUILD b/testing/py3-tailer/APKBUILD
index f0928c6903b..df30c3b17ec 100644
--- a/testing/py3-tailer/APKBUILD
+++ b/testing/py3-tailer/APKBUILD
@@ -1,23 +1,29 @@
# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-tailer
-_pkgname=tailer
pkgver=0.4.1
-pkgrel=3
+pkgrel=7
pkgdesc="Python tail is a simple implementation of GNU tail and head"
url="https://github.com/six8/pytailer"
arch="noarch"
license="MIT"
-depends="python3"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+makedepends="py3-gpep517 py3-wheel py3-setuptools"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/t/tailer/tailer-$pkgver.tar.gz"
+builddir="$srcdir/tailer-$pkgver"
+options="!check" # no tests provided
-builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="c1f0f4cf9356c58366e3d86087bc922378a5d5d9833385e8b0f9acd16211a7ff486c4ea3be13208b85a9766b3fa163071216de54c7170395c18ba6da61650da3 tailer-0.4.1.tar.gz"
+sha512sums="
+c1f0f4cf9356c58366e3d86087bc922378a5d5d9833385e8b0f9acd16211a7ff486c4ea3be13208b85a9766b3fa163071216de54c7170395c18ba6da61650da3 tailer-0.4.1.tar.gz
+"
diff --git a/testing/py3-tasklib/APKBUILD b/testing/py3-tasklib/APKBUILD
new file mode 100644
index 00000000000..c5d406fac0d
--- /dev/null
+++ b/testing/py3-tasklib/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=py3-tasklib
+pkgver=2.5.1
+pkgrel=2
+pkgdesc="A Python library for interacting with taskwarrior databases"
+url="https://github.com/GothenburgBitFactory/tasklib"
+arch="noarch"
+license="BSD-3-Clause"
+depends="python3 task py3-tz py3-tzlocal"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/GothenburgBitFactory/tasklib/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/tasklib-$pkgver"
+options="!check" # no upstream tests
+
+package() {
+ python3 setup.py install \
+ --prefix=/usr \
+ --root="$pkgdir" \
+ --single-version-externally-managed
+}
+sha512sums="
+b52a94e487eb90776a5edec63bfef9a4eaa5a87065be3a5386bd0d8b277b88fb35663ea5789e573a088e54fb9aa835c27d787fced4ed5198badff995dcc2e7e0 py3-tasklib-2.5.1.tar.gz
+"
diff --git a/testing/py3-telegram-bot/APKBUILD b/testing/py3-telegram-bot/APKBUILD
index f411db116fb..a591d6d772f 100644
--- a/testing/py3-telegram-bot/APKBUILD
+++ b/testing/py3-telegram-bot/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=py3-telegram-bot
_pkgname=python-telegram-bot
-pkgver=13.10
-pkgrel=0
+pkgver=20.8
+pkgrel=1
pkgdesc="A Python wrapper around the Telegram Bot API"
url="https://github.com/python-telegram-bot/python-telegram-bot"
arch="noarch"
@@ -12,6 +12,7 @@ depends="py3-future py3-certifi py3-tornado py3-cryptography py3-decorator"
#checkdepends="pytest py-cffi py-cryptography py-future py-pathlib2"
options="!check" # few requirements-dev.txt packages missing in alpine
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/python-telegram-bot/python-telegram-bot/archive/v$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -27,9 +28,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-22146588812d1e0765faadcc81c0413a0546060fb48010bdb9e152671d6599a01e6a5f2f752e6f176a4e7563e194ee123ab96dc30671d366b712c6b29f1d528b py3-telegram-bot-13.10.tar.gz
+835a62bca5c14f06b3db682e3e5af732ab17c32ff89df1020d6cf30217c7db86f800a05f55e977dbd59cb9d46b26e03bc262ace48cd3f5b2ff1c63eb109b81c7 py3-telegram-bot-20.8.tar.gz
"
diff --git a/testing/py3-telegram-text/APKBUILD b/testing/py3-telegram-text/APKBUILD
new file mode 100644
index 00000000000..b91fd43a68a
--- /dev/null
+++ b/testing/py3-telegram-text/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-telegram-text
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="Python markup module for Telegram messenger"
+url="https://telegram-text.alinsky.tech/"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-gpep517 py3-poetry-core py3-installer"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/SKY-ALIN/telegram-text/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/telegram-text-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/telegram_text*.whl
+}
+
+sha512sums="
+aeab4e87fb4f07f0c335ecd2cddc42b754699285b59eec5bc8433dbf817b576dd36ade4c75cbad79642127f0c7e2f7c1f6bd2b220c2755bb9550ffed82a5cb14 py3-telegram-text-0.2.0.tar.gz
+"
diff --git a/testing/py3-telegram/0001-Use-system-tdlib.patch b/testing/py3-telegram/0001-Use-system-tdlib.patch
deleted file mode 100644
index a5f9340cc6d..00000000000
--- a/testing/py3-telegram/0001-Use-system-tdlib.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/telegram/tdjson.py b/telegram/tdjson.py
-index 091145e..21c0361 100644
---- a/telegram/tdjson.py
-+++ b/telegram/tdjson.py
-@@ -2,6 +2,7 @@ import json
- import logging
- import platform
- from ctypes import CDLL, CFUNCTYPE, c_int, c_char_p, c_double, c_void_p, c_longlong
-+from ctypes.util import find_library
- from typing import Any, Dict, Optional, Union
-
- import pkg_resources
-@@ -10,13 +11,7 @@ logger = logging.getLogger(__name__)
-
-
- def _get_tdjson_lib_path() -> str:
-- if platform.system().lower() == 'darwin':
-- lib_name = 'darwin/libtdjson.dylib'
-- else:
-- lib_name = 'linux/libtdjson.so'
--
-- return pkg_resources.resource_filename('telegram', f'lib/{lib_name}')
--
-+ return find_library("tdjson")
-
- class TDJson:
- def __init__(self, library_path: Optional[str] = None, verbosity: int = 2) -> None:
diff --git a/testing/py3-telegram/0002-Remove-binarys.patch b/testing/py3-telegram/0002-Remove-binarys.patch
index 72b1744dfb5..0e090063534 100644
--- a/testing/py3-telegram/0002-Remove-binarys.patch
+++ b/testing/py3-telegram/0002-Remove-binarys.patch
@@ -1,8 +1,8 @@
diff --git a/setup.py b/setup.py
-index a1ac7b0..aecc107 100644
+index 36d7905..5e7df4b 100644
--- a/setup.py
+++ b/setup.py
-@@ -25,10 +25,4 @@ setup(
+@@ -28,12 +28,6 @@ setup(
packages=[
'telegram',
],
@@ -12,4 +12,6 @@ index a1ac7b0..aecc107 100644
- 'lib/linux/*',
- ],
- },
- )
+ install_requires=[
+ 'telegram-text~=0.1',
+ ],
diff --git a/testing/py3-telegram/APKBUILD b/testing/py3-telegram/APKBUILD
index 571080ee86f..0a0c22e2689 100644
--- a/testing/py3-telegram/APKBUILD
+++ b/testing/py3-telegram/APKBUILD
@@ -2,19 +2,18 @@
# Maintainer: j.r <j.r@jugendhacker.de>
pkgname=py3-telegram
_pyname=python-telegram
-pkgver=0.15.0
-pkgrel=1
+pkgver=0.18.0
+pkgrel=2
pkgdesc="Python client for the Telegram's tdlib"
url="https://github.com/alexander-akhmetov/python-telegram"
-arch="noarch !s390x !mips !mips64"
+arch="noarch !s390x"
license="MIT"
-depends="python3 telegram-tdlib>=1.7.9"
+depends="python3 telegram-tdlib py3-telegram-text"
makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
-source="https://files.pythonhosted.org/packages/source/${_pyname%"${_pyname#?}"}/$_pyname/$_pyname-$pkgver.tar.gz
- https://raw.githubusercontent.com/alexander-akhmetov/python-telegram/$pkgver/LICENSE
- 0001-Use-system-tdlib.patch
- 0002-Remove-binarys.patch"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/p/python-telegram/python-telegram-$pkgver.tar.gz
+ 0002-Remove-binarys.patch
+ "
builddir="$srcdir/$_pyname-$pkgver/"
options="!check"
@@ -23,14 +22,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 $srcdir/LICENSE "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-43b58439ac414f69787262eff3656227e89dec4eedfbb13c1fce56555605d9b747d20cb1e2b5850b8649615873a8f1d9ebdcb8d5a1a2f12adeeada5757b2bb5b python-telegram-0.15.0.tar.gz
-b038c7b0c6138ff6f215a45d0da25ac8e3b52e3849087e90f68d3ebe246fbcd17c1f78f2ee3c020bfc759334d35709a1ac28b71c74091912dbf165785a3f5895 LICENSE
-7521f123e0d3719eb8db2a6c2b120377f1ee9dbd235ad92cc91ab5b5e4ce0884692721a4fc478c8058038d24b8cae8dd8a0e5eed8d568bc769bdc80b8f2e3327 0001-Use-system-tdlib.patch
-8c24db516797f8ffa8695b31be6364087ed9e6cfb9fc49bc8f68fdcb259b88dcf786afa71d30848bad50c4a201ea8d09f28fb5b86da023404f7ef6c4d17d3447 0002-Remove-binarys.patch
+3137695894f8d88d71619231739601219acb3d8f4c00ab4cc6ecf79fd6aa5a36c6c025e9287d5dce03d53f75a065330d47a7a829bf6e25e29568bb9caf297d67 python-telegram-0.18.0.tar.gz
+7931b19b34806fe84361d3e15fc39330e0b93f4945e7bb892b7b0c78a717a484040b5ad60d9c77063bb452badab2ada314032bfe2064918999e9e7a6863cb5c1 0002-Remove-binarys.patch
"
diff --git a/testing/py3-telemetrix/APKBUILD b/testing/py3-telemetrix/APKBUILD
new file mode 100644
index 00000000000..a7d8b316001
--- /dev/null
+++ b/testing/py3-telemetrix/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: David Demelier <markand@malikania.fr>
+# Maintainer: David Demelier <markand@malikania.fr>
+pkgname=py3-telemetrix
+pkgver=1.20
+pkgrel=2
+pkgdesc="Remotely Control And Monitor Arduino-Core devices"
+url="https://mryslab.github.io/telemetrix"
+arch="noarch"
+license="AGPL-3.0-or-later"
+depends="python3 py3-pyserial"
+makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/t/telemetrix/telemetrix-$pkgver.tar.gz"
+builddir="$srcdir/telemetrix-$pkgver"
+options="!check" # No tests.
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+0ee02a885b05d5925f476e236f581dbb318338e51031660ea7d4f9a4f2c4ad350c4df40dab51f0b8039bed8e069da5fd32230ca0f49f752a51e83c8a74588197 telemetrix-1.20.tar.gz
+"
diff --git a/testing/py3-teletype/APKBUILD b/testing/py3-teletype/APKBUILD
index ebac1ef595d..334714bd902 100644
--- a/testing/py3-teletype/APKBUILD
+++ b/testing/py3-teletype/APKBUILD
@@ -2,24 +2,30 @@
# Maintainer: Philipp Glaum <p@pglaum.de>
pkgname=py3-teletype
_pkgname=teletype
-pkgver=1.1.0
-pkgrel=2
+pkgver=1.3.4
+pkgrel=3
pkgdesc="high-level cross platform tty library"
options="!check" # No testsuite
url="https://pypi.org/project/teletype/"
arch="noarch"
license="MIT"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-installer py3-wheel py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/teletype*.whl
}
-sha512sums="440cd00b46abb58daec4c9f2dbbd25dd8b566cf071c668d636f622ecbde080ced2436c9f5fc21b70771ccc2b6f4278720e585673dc2bc215dfcad9b3cc8f958f teletype-1.1.0.tar.gz"
+sha512sums="
+4580aed4be710dc49d9bff7cbbd8c678067bd4f61266f97ced19555860bd6b634939d66a2484469f03454878def981278168a542b3faf83ef038874cbf4e2133 teletype-1.3.4.tar.gz
+"
diff --git a/testing/py3-terminaltables/APKBUILD b/testing/py3-terminaltables/APKBUILD
deleted file mode 100644
index 801ff9f27ae..00000000000
--- a/testing/py3-terminaltables/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Thomas Boerger <thomas@webhippie.de>
-# Maintainer: Thomas Boerger <thomas@webhippie.de>
-pkgname=py3-terminaltables
-_pkgname=terminaltables
-pkgver=3.1.0
-pkgrel=6
-pkgdesc="Generate simple tables in terminals from a nested list of strings"
-url="https://pypi.python.org/pypi/terminaltables"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-replaces=py-terminaltables # Backwards compatibility
-provides=py-terminaltables=$pkgver-r$pkgrel # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="f30620f57c4d40b4ee5736d2886e744f7ed34aae702252b2ecf90844d314c4ccce7a7bc9146637504e6996c148567ba16247136f081f086a2b264f2f4920ecd8 terminaltables-3.1.0.tar.gz"
diff --git a/testing/py3-testresources/APKBUILD b/testing/py3-testresources/APKBUILD
index 22a4a848877..eff36f96ef4 100644
--- a/testing/py3-testresources/APKBUILD
+++ b/testing/py3-testresources/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-testresources
_pyname=testresources
pkgver=2.0.1
-pkgrel=3
+pkgrel=5
pkgdesc="A pyunit extension for managing expensive test resources"
url="https://launchpad.net/testresources"
arch="noarch"
@@ -11,6 +11,7 @@ license="Apache-2.0 OR BSD-3-Clause"
depends="python3"
makedepends="py3-setuptools py3-pbr"
checkdepends="py3-testtools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -23,7 +24,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
rm -rf "$pkgdir"/usr/lib/python3*/site-packages/testresources/tests/
}
diff --git a/testing/py3-textual/APKBUILD b/testing/py3-textual/APKBUILD
new file mode 100644
index 00000000000..ba2a549357e
--- /dev/null
+++ b/testing/py3-textual/APKBUILD
@@ -0,0 +1,61 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-textual
+_pyname=${pkgname#py3-}
+pkgver=0.47.1
+pkgrel=1
+pkgdesc="TUI framework for Python inspired by modern web development"
+url="https://github.com/Textualize/textual"
+arch="noarch"
+license="MIT"
+depends="
+ python3
+ py3-importlib-metadata
+ py3-linkify-it-py
+ py3-markdown-it-py
+ py3-rich
+ py3-typing-extensions
+ "
+makedepends="py3-gpep517 py3-poetry-core"
+checkdepends="
+ py3-aiohttp
+ py3-click
+ py3-jinja2
+ py3-msgpack
+ py3-nanoid
+ py3-pytest
+ py3-pytest-aiohttp
+ py3-pytest-asyncio
+ py3-syrupy
+ py3-time-machine
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Textualize/textual/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+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
+
+ # test_snapshots.py requires pytest-textual-snapshot, which depends on py3-textual itself, for snap_compare fixture
+ # test_languages.py requires optional tree_sitter_languages Python package
+ # test_features.py is broken
+ .testenv/bin/python3 -m pytest \
+ --ignore=tests/snapshot_tests/test_snapshots.py \
+ --ignore=tests/text_area/test_languages.py \
+ --ignore=tests/test_features.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+f17684f8e822423164a6b549c261f5662b6997e9934e1c76f159610d1ed682e26d34e39ae22c3b8fe47e84c8b4a87cc6bd70e0121806b498ddda5ddb9f575bd1 py3-textual-0.47.1.tar.gz
+"
diff --git a/testing/py3-tg/0001-Allow-newer-python-telegram.patch b/testing/py3-tg/0001-Allow-newer-python-telegram.patch
new file mode 100644
index 00000000000..d3e8085eeb5
--- /dev/null
+++ b/testing/py3-tg/0001-Allow-newer-python-telegram.patch
@@ -0,0 +1,23 @@
+From 21bd3e168d33ae7d11aad4ed0c6c23eef027e3c3 Mon Sep 17 00:00:00 2001
+From: "j.r" <j.r@jugendhacker.de>
+Date: Sun, 4 Sep 2022 23:45:12 +0200
+Subject: [PATCH] Allow newer python-telegram
+
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index f6b2e37..5be5d12 100644
+--- a/setup.py
++++ b/setup.py
+@@ -23,5 +23,5 @@ setup(
+ packages=["tg"],
+ entry_points={"console_scripts": ["tg = tg.__main__:main"]},
+ python_requires=">=3.8",
+- install_requires=["python-telegram==0.15.0"],
++ install_requires=["python-telegram>=0.15.0"],
+ )
+--
+2.37.3
+
diff --git a/testing/py3-tg/0001-Change-setup.py-to-accept-new-python-telegram-ver.patch b/testing/py3-tg/0001-Change-setup.py-to-accept-new-python-telegram-ver.patch
deleted file mode 100644
index ca6006a6572..00000000000
--- a/testing/py3-tg/0001-Change-setup.py-to-accept-new-python-telegram-ver.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From ac8b551d16feb2fd9dbc5b1bfac4057ce6e9ef87 Mon Sep 17 00:00:00 2001
-From: "j.r" <j.r@jugendhacker.de>
-Date: Tue, 29 Dec 2020 14:44:26 +0100
-Subject: [PATCH] Change setup.py to accept new python-telegram ver
-
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 2455e78..011eed7 100644
---- a/setup.py
-+++ b/setup.py
-@@ -22,5 +22,5 @@ setup(
- packages=["tg"],
- entry_points={"console_scripts": ["tg = tg.__main__:main"]},
- python_requires=">=3.8",
-- install_requires=["python-telegram==0.14.0"],
-+ install_requires=["python-telegram==0.15.0"],
- )
---
-2.34.1
-
diff --git a/testing/py3-tg/APKBUILD b/testing/py3-tg/APKBUILD
index 280f4a6d056..e2c5ddcc5f1 100644
--- a/testing/py3-tg/APKBUILD
+++ b/testing/py3-tg/APKBUILD
@@ -2,15 +2,18 @@
# Maintainer: j.r <j.r@jugendhacker.de>
pkgname=py3-tg
_pyname=tg
-pkgver=0.17.0
-pkgrel=2
+pkgver=0.19.0
+pkgrel=4
pkgdesc="Terminal telegram client that really works"
url="https://github.com/paul-nameless/tg"
-arch="noarch !s390x !mips !mips64"
+arch="noarch !s390x"
license="Unlicense"
depends="python3 py3-telegram py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/paul-nameless/tg/archive/refs/tags/v$pkgver.tar.gz
- 0001-Change-setup.py-to-accept-new-python-telegram-ver.patch"
+subpackages="$pkgname-pyc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/paul-nameless/tg/archive/refs/tags/v$pkgver.tar.gz
+ 0001-Allow-newer-python-telegram.patch
+ "
builddir="$srcdir/$_pyname-$pkgver"
options="!check"
@@ -19,10 +22,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-8e72317baad9117f542188d62fc599cccb02212311bd75a8acf1221da960ad0b67d58408d458828633a8baa8e3b62e6f3ceb5ec9800b5cb291497c016f444afd py3-tg-0.17.0.tar.gz
-a9549ce7749235e8310cf1b79408ecfab3cabcbbc4c4189f396cd35eb957dd96bd66f7b076a2b2ea37d77fbc78c64bff55b791f0e6cb5ae6a86f70566d2b74c1 0001-Change-setup.py-to-accept-new-python-telegram-ver.patch
+ccaba3614d72d7fc115d8f6e1cb51c52a5e7be3b588a8135c9435226df98c55a4f3184c1e280e26913e982c65cc393f09981ed2612adbdd718bfc70d4ad28ffe py3-tg-0.19.0.tar.gz
+3a9c5e546f388842aa6f270bbf86cc45f98f29779fed02d2c381d7e35f2435f883bfea43bf6448e9c9cbace8be51494a97ecbc8aebe9c23b412aec059bfa757e 0001-Allow-newer-python-telegram.patch
"
diff --git a/testing/py3-thefuzz/APKBUILD b/testing/py3-thefuzz/APKBUILD
new file mode 100644
index 00000000000..0eb21bea579
--- /dev/null
+++ b/testing/py3-thefuzz/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-thefuzz
+pkgver=0.22.1
+pkgrel=1
+pkgdesc="Fuzzy String Matching in Python"
+url="https://github.com/seatgeek/thefuzz"
+arch="noarch"
+license="MIT"
+depends="py3-levenshtein"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-hypothesis py3-pycodestyle"
+subpackages="$pkgname-pyc"
+source="https://github.com/seatgeek/thefuzz/archive/refs/tags/$pkgver/py3-thefuzz-$pkgver.tar.gz"
+builddir="$srcdir/thefuzz-$pkgver"
+
+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="
+6a49feaba32a9966699b9b82a5e47a11b4915624e9e09c1b67fe3d1dcb5e7f5538e7f43a0573b6ef8f0cedf9d7360957c952d6a530fcb3b4d65934111a39a3db py3-thefuzz-0.22.1.tar.gz
+"
diff --git a/testing/py3-thinc/APKBUILD b/testing/py3-thinc/APKBUILD
deleted file mode 100644
index e709b590088..00000000000
--- a/testing/py3-thinc/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-thinc
-pkgver=7.4.1
-pkgrel=1
-pkgdesc="Practical Machine Learning for NLP"
-url="https://github.com/explosion/thinc"
-arch="x86_64 x86"
-license="MIT"
-depends="python3 py3-cymem py3-preshed py3-murmurhash py3-blis py3-plac py3-srsly
- py3-wasabi py3-catalogue"
-makedepends="python3-dev py3-setuptools cython"
-checkdepends="py3-pytest py3-numpy py3-mock py3-tqdm py3-hypothesis"
-subpackages="$pkgname-doc"
-source="thinc-$pkgver.tar.gz::https://github.com/explosion/thinc/archive/v$pkgver.tar.gz"
-builddir="$srcdir/thinc-$pkgver"
-
-build() {
- python3 setup.py build_ext --inplace
-}
-
-check() {
- # disable some tests due to use of py3-hypothesis >= 5.0.0
- pytest-3 thinc \
- --ignore=thinc/tests/integration/test_batch_norm.py \
- --ignore=thinc/tests/unit/test_affine.py \
- --ignore=thinc/tests/unit/test_ops.py
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="ff4f86c78f1cd6ebb48d15f6f944c56d40fd7f264a14e055a5b1b24b3b95121b8cb789a152fa408220606e4b6022fc3ce3233f7effa86890db28b60533764d79 thinc-7.4.1.tar.gz"
diff --git a/testing/py3-ticket-auth/APKBUILD b/testing/py3-ticket-auth/APKBUILD
index dcbcfbb248b..eb0a49b1643 100644
--- a/testing/py3-ticket-auth/APKBUILD
+++ b/testing/py3-ticket-auth/APKBUILD
@@ -3,12 +3,13 @@
pkgname=py3-ticket-auth
_pkgname=ticket_auth
pkgver=0.1.4
-pkgrel=5
+pkgrel=8
pkgdesc="Ticket authentication system"
url="https://github.com/gnarlychicken/ticket_auth"
arch="noarch"
license="MIT"
makedepends="python3-dev py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -19,7 +20,7 @@ build() {
package() {
cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="67af674a5061d72350bc683a8614151815a91b4bdb2b641ade4d171a631fe71e574f48b3535285ace18ac5ae101e32434efaba5ec72bed30a6f0fbe88124708b ticket_auth-0.1.4.tar.gz"
diff --git a/testing/py3-tidalapi/APKBUILD b/testing/py3-tidalapi/APKBUILD
new file mode 100644
index 00000000000..bcd88679940
--- /dev/null
+++ b/testing/py3-tidalapi/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=py3-tidalapi
+pkgver=0.7.4
+pkgrel=1
+pkgdesc="Unofficial Python API for TIDAL music streaming service"
+url="https://pypi.org/project/tidalapi/"
+arch="noarch"
+license="LGPL-3.0-or-later"
+depends="python3 py3-requests py3-dateutil"
+makedepends="py3-gpep517 py3-wheel py3-installer py3-poetry-core"
+checkdepends="py3-pytest py3-keyring py3-ffmpeg py3-pillow"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tamland/python-tidal/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/python-tidal-$pkgver"
+options="!check" # Visit https://link.tidal.com/... to log in
+
+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="
+eb95a3c371bfda1e570e1e8751e80891833c8cece81770f5d77a27913a39c21bf010ced03b2372c70f00f729d98cd8378328a3fae7d466d721352273f3d80f0c py3-tidalapi-0.7.4.tar.gz
+"
diff --git a/testing/py3-tls_parser/APKBUILD b/testing/py3-tls_parser/APKBUILD
index f29c23f58e9..964b6e68d83 100644
--- a/testing/py3-tls_parser/APKBUILD
+++ b/testing/py3-tls_parser/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=py3-tls_parser
_pkgname=tls_parser
-pkgver=1.2.2
-pkgrel=2
+pkgver=2.0.1
+pkgrel=1
pkgdesc="Python library to parse TLS records."
url="https://pypi.org/project/tls-parser/"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -25,7 +26,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="234a5c4a3037374d3b90741b835786e2bb6b57818f24802462fd1d338a37090ab4a18585f32293c45d85cd95b69cd9d27f17126c4c29eea61b525f8b83fba42c tls_parser-1.2.2.tar.gz"
+sha512sums="
+693d18f0f3baaa8bf122f0166a9041cfe816772930dcfb73cfc1e16b0cedef2cfd19623d91a6d9e745bfcc1d2cbfb001a031d8c0d6fe1dd46319c3469ba60812 tls_parser-2.0.1.tar.gz
+"
diff --git a/testing/py3-tlslite-ng/APKBUILD b/testing/py3-tlslite-ng/APKBUILD
index 5dff6fe5d2b..d13b6da7ae1 100644
--- a/testing/py3-tlslite-ng/APKBUILD
+++ b/testing/py3-tlslite-ng/APKBUILD
@@ -2,15 +2,16 @@
# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
pkgname=py3-tlslite-ng
pkgver=0.7.6
-pkgrel=2
+pkgrel=7
pkgdesc="Pure python implementation of SSL and TLS"
-url="https://github.com/tomato42/tlslite-ng"
+url="https://github.com/tlsfuzzer/tlslite-ng"
arch="noarch"
license="LGPL-2.1-only"
depends="py3-ecdsa"
makedepends="py3-setuptools"
options="!check" # requires client/server
-source="$pkgname-$pkgver.tar.gz::https://github.com/tomato42/tlslite-ng/archive/v$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tlsfuzzer/tlslite-ng/archive/v$pkgver.tar.gz"
builddir="$srcdir/tlslite-ng-$pkgver"
# secfixes:
@@ -22,7 +23,9 @@ build() {
}
package() {
- python3 setup.py install --root="$pkgdir" --optimize=1
+ python3 setup.py install --root="$pkgdir"
}
-sha512sums="c4fcdfaf45b40cd85fee26657956651b781d41f9c9f35a8a927d00c9f13cdcfae1b4f7a594d0d07d08d477b19480af152988c6075dc9f564215761bcf9857119 py3-tlslite-ng-0.7.6.tar.gz"
+sha512sums="
+c4fcdfaf45b40cd85fee26657956651b781d41f9c9f35a8a927d00c9f13cdcfae1b4f7a594d0d07d08d477b19480af152988c6075dc9f564215761bcf9857119 py3-tlslite-ng-0.7.6.tar.gz
+"
diff --git a/testing/py3-tokenizers/APKBUILD b/testing/py3-tokenizers/APKBUILD
new file mode 100644
index 00000000000..dd280b99f85
--- /dev/null
+++ b/testing/py3-tokenizers/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-tokenizers
+pkgver=0.15.2
+pkgrel=1
+pkgdesc="Fast State-of-the-Art Tokenizers optimized for Research and Production"
+url="https://github.com/huggingface/tokenizers"
+arch="all !s390x !riscv64" # blocked by rust
+license="Apache-2.0"
+depends="python3"
+makedepends="
+ bzip2-dev
+ cargo
+ openssl-dev>3
+ py3-gpep517
+ py3-maturin
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/huggingface/tokenizers/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/tokenizers-$pkgver/bindings/python"
+options="net !check" # requires pulling test data
+
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/tokenizers*.whl
+}
+
+sha512sums="
+0635d074d98a74d171a5f113c1b6f8b8c80c9f36b2d3b82c18d90d3fc1f1daaec55b7e98f2d771d5b22593b888ab4561e8f3e3152170c22605e034ee84d6a10a py3-tokenizers-0.15.2.tar.gz
+"
diff --git a/testing/py3-tomlkit/APKBUILD b/testing/py3-tomlkit/APKBUILD
deleted file mode 100644
index b0553678ad8..00000000000
--- a/testing/py3-tomlkit/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-tomlkit
-_realname=tomlkit
-pkgver=0.8.0
-pkgrel=0
-pkgdesc="Python3 library for parsing and modifying TOML"
-url="https://github.com/sdispater/tomlkit"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-yaml"
-source="https://files.pythonhosted.org/packages/source/${_realname:0:1}/$_realname/$_realname-$pkgver.tar.gz"
-builddir="$srcdir/$_realname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- rm -rf "$pkgdir"/usr/lib/python3*/site-packages/tests
-}
-
-sha512sums="
-77b267201021e740d8134d0d5edfbef2cf077adac0b320d80887fdedda3f63f74df1957e8230976f16c80fcc58fd4cfabb195cccf0eda7d6cd29f5f65d362147 tomlkit-0.8.0.tar.gz
-"
diff --git a/testing/py3-toposort/APKBUILD b/testing/py3-toposort/APKBUILD
new file mode 100644
index 00000000000..5d30d855326
--- /dev/null
+++ b/testing/py3-toposort/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=py3-toposort
+pkgver=1.10
+pkgrel=3
+pkgdesc="Topological sorting for python"
+url="https://gitlab.com/ericvsmith/toposort"
+arch="noarch"
+license="Apache-2.0"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="https://gitlab.com/ericvsmith/toposort/-/archive/$pkgver/toposort-$pkgver.tar.bz2"
+builddir="$srcdir/toposort-$pkgver"
+
+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 test.test_toposort
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+a1bf41e7324b56eaf914e6b89f0ec5e18c6661d8d31b429e169086c71d1060b6aa0e29cc048fe971455b5b43e500a1d74fea0168c4c869cdab09206ba3f9c50f toposort-1.10.tar.bz2
+"
diff --git a/testing/py3-tpm2-pytss/APKBUILD b/testing/py3-tpm2-pytss/APKBUILD
new file mode 100644
index 00000000000..0a514a49fac
--- /dev/null
+++ b/testing/py3-tpm2-pytss/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
+# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
+pkgname=py3-tpm2-pytss
+_pkgname=tpm2-pytss
+pkgver=2.2.1
+pkgrel=0
+pkgdesc="Python bindings for TSS"
+url="https://github.com/tpm2-software/tpm2-pytss"
+arch="all !armhf !armv7 !riscv64 !x86" # limited by failing check()
+license="BSD-2-Clause"
+checkdepends="
+ py3-pytest-forked
+ py3-pytest-xdist
+ swtpm
+ "
+makedepends="
+ py3-gpep517
+ py3-pkgconfig
+ py3-setuptools
+ py3-setuptools_scm
+ py3-wheel
+ python3-dev
+ tpm2-tss-dev
+ "
+depends="
+ py3-asn1crypto
+ py3-cparser
+ py3-cryptography
+ py3-yaml
+ python3
+ "
+subpackages="$pkgname-pyc"
+source="https://github.com/tpm2-software/tpm2-pytss/archive/$pkgver/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+case "$CARCH" in
+ armv7|ppc64le|s390x) options="!check";; # no swtpm package
+ *) ;;
+esac
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ 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
+ PYTHONPATH="$(echo .testenv/lib/python3*/site-packages/):$PWD" \
+ .testenv/bin/python3 -m pytest test \
+ -n"$(nproc)"
+}
+
+package() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+b55c8f0ba03204e803e33da115961893a1a7e08bcac29399a728d9f984be2d538076fa7dd289e96beedb6d6125a53f5b5841dd216f89d55833db9eb9197ba747 tpm2-pytss-2.2.1.tar.gz
+"
diff --git a/testing/py3-transitions/APKBUILD b/testing/py3-transitions/APKBUILD
index 8165efb8993..5107de4dcff 100644
--- a/testing/py3-transitions/APKBUILD
+++ b/testing/py3-transitions/APKBUILD
@@ -2,17 +2,19 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-transitions
_pyname=transitions
-pkgver=0.8.2
-pkgrel=2
+pkgver=0.9.0
+pkgrel=3
pkgdesc="A lightweight, object-oriented Python state machine implementation"
-url="https://github.com/tyarkoni/transitions"
+url="https://github.com/pytransitions/transitions"
arch="noarch"
license="MIT"
depends="py3-six"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-pycodestyle py3-graphviz"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz"
builddir="$srcdir"/$_pyname-$pkgver
+options="!check" # fail with py311
replaces=py-transitions # Backwards compatibility
provides=py-transitions=$pkgver-r$pkgrel # Backwards compatibility
@@ -27,11 +29,13 @@ build() {
}
check() {
- py.test-3
+ pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="83f60d4ef2084c14c9c8c8a1e37af5bf5f5eb68732a2deeda8456da6d141984eb2abf1350fd0370ae39cb9038f365bfb501b6ecdaad84f32fdd97d9ff4454abf transitions-0.8.2.tar.gz"
+sha512sums="
+d324a57e1f2d20d9e8dc7d1f7854a6e81c3a09afda927de38dc23936c8c585b87303d5a47256487ba0cd03f63bb1a2ff69304c634896e488a7217591404f0a3c transitions-0.9.0.tar.gz
+"
diff --git a/testing/py3-translationstring/APKBUILD b/testing/py3-translationstring/APKBUILD
index 8b7e4f41080..4289d6b389e 100644
--- a/testing/py3-translationstring/APKBUILD
+++ b/testing/py3-translationstring/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-translationstring
_pkgname=translationstring
-pkgver=1.3
+pkgver=1.4
pkgrel=3
pkgdesc="A Python utility library for i18n"
url="https://pypi.org/project/translationstring/" # actual homepage doesn't exist anymore
@@ -10,6 +10,7 @@ arch="noarch"
license="ZPL-2.1"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -25,10 +26,12 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
# Reduce size by removing installed-tests
rm -rf "$pkgdir"/usr/lib/python3*/site-packages/translationstring/tests
}
-sha512sums="deba5b460d9ea640087cff8b5d7b9256708abd4340a54556f1f0542e2e4f9f0ae0a3482b66a176712fcd6925c470da621adbc5e4c4173c0ef29b9cca5fba1102 translationstring-1.3.tar.gz"
+sha512sums="
+2f06af782421fcf9ba907a8bc6419cd2c8f5352eee44d051ca1647b418f634e24220727b0eec748c9ead6aeb3c57ea1740356b65d6e2017fa0a395e1823ac81a translationstring-1.4.tar.gz
+"
diff --git a/testing/py3-trimesh/APKBUILD b/testing/py3-trimesh/APKBUILD
new file mode 100644
index 00000000000..bab0b96ca9b
--- /dev/null
+++ b/testing/py3-trimesh/APKBUILD
@@ -0,0 +1,65 @@
+# Contributor: Aiden Grossman <agrossman154@yahoo.com>
+# Maintainer: Aiden Grossman <agrossman154@yahoo.com>
+pkgname=py3-trimesh
+pkgver=3.22.1
+pkgrel=1
+pkgdesc="Python library for working with triangular meshes"
+url="https://github.com/mikedh/trimesh"
+# x86, armhf, armv7 Tests fail on int64 to int32 casts on these arches
+# s390x, no py3-rtree
+# riscv64, no py3-shapely
+arch="noarch !x86 !armhf !armv7 !s390x !riscv64"
+# TODO: investigate why checks stall
+options="!check"
+license="MIT"
+depends="
+ py3-colorlog
+ py3-jsonschema
+ py3-lxml
+ py3-mapbox-earcut
+ py3-msgpack
+ py3-networkx
+ py3-numpy
+ py3-pillow
+ py3-requests
+ py3-rtree
+ py3-scipy
+ py3-shapely
+ py3-svgpath
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest py3-pytest-xdist py3-pyinstrument"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mikedh/trimesh/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/trimesh-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ # test_obj.py: no format zae, probably needs more investigation
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest -n auto \
+ --deselect tests/test_dae.py::DAETest::test_material_round \
+ --deselect tests/test_dae.py::DAETest::test_obj_roundtrip \
+ --deselect tests/test_light.py::LightTests::test_scene \
+ --deselect tests/test_obj.py::OBJTest::test_multi_nodupe
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+27952e0d29ccd110d4087b4144e0923706bed3cd0734e7a17d7f55738c6322849c5dad04ab4ecfe0638bc16d65d1e647d08905a396dd6ebd1f78c833a8b95636 py3-trimesh-3.22.1.tar.gz
+"
diff --git a/testing/py3-trivup/APKBUILD b/testing/py3-trivup/APKBUILD
index 56ef3a6db7d..57d64c0c857 100644
--- a/testing/py3-trivup/APKBUILD
+++ b/testing/py3-trivup/APKBUILD
@@ -1,14 +1,15 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
_pyname=trivup
pkgname=py3-$_pyname
-pkgver=0.9.0
+pkgver=0.12.2
pkgrel=1
pkgdesc="Trivially Up a cluster of programs, such as a Kafka cluster"
url="https://github.com/edenhill/trivup"
arch="noarch"
license="BSD-2-Clause"
-depends="python3 py3-requests"
+depends="python3 py3-jwcrypto py3-python-jwt py3-requests"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/t/trivup/trivup-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -21,7 +22,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="0a799c20e8b4873af74b6d78477eccd2586710c21c94eff87947cc82b30b3a517dcddf57b80bac0cee0d7b1c9a571f6427e5b772f84fcb9bb68dfd44cb200062 trivup-0.9.0.tar.gz"
+sha512sums="
+258f0305053f2a14dfe9f9ceeef9b75534bf3fb31c34ab2b9528013eccbaf783386cfe56a81102c965e4cda4f1adf3a24ec7bfe096ee5809df9f507dddc1ab2b trivup-0.12.2.tar.gz
+"
diff --git a/testing/py3-truststore/APKBUILD b/testing/py3-truststore/APKBUILD
new file mode 100644
index 00000000000..23bba5bff6e
--- /dev/null
+++ b/testing/py3-truststore/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-truststore
+pkgver=0.8.0
+pkgrel=1
+pkgdesc="Verify certificates using OS trust stores"
+url="https://github.com/sethmlarson/truststore"
+arch="noarch"
+license="MIT"
+makedepends="py3-gpep517 py3-installer py3-flit-core"
+checkdepends="
+ py3-aiohttp
+ py3-flaky
+ py3-httpx
+ py3-openssl
+ py3-pytest
+ py3-pytest-asyncio
+ py3-pytest-httpserver
+ py3-requests
+ py3-trustme
+ py3-urllib3
+"
+subpackages="$pkgname-pyc"
+source="https://github.com/sethmlarson/truststore/archive/v$pkgver/py3-truststore-$pkgver.tar.gz"
+builddir="$srcdir/truststore-$pkgver"
+
+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="
+9492874b2c0eb5ba011c0d4af6fc4e2d1664686458775344c928e25248b0d54f776d9400138330b225146402345ab8d5ccb9f73b5db51e566342855a8b4ac579 py3-truststore-0.8.0.tar.gz
+"
diff --git a/testing/py3-twiggy/APKBUILD b/testing/py3-twiggy/APKBUILD
index f108147fbdd..fd7b8afd740 100644
--- a/testing/py3-twiggy/APKBUILD
+++ b/testing/py3-twiggy/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-twiggy
_pkgname=Twiggy
-pkgver=0.5.0
-pkgrel=2
+pkgver=0.5.1
+pkgrel=3
pkgdesc="A Pythonic logger"
url="https://github.com/wearpants/twiggy"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-six"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -21,7 +22,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="29eb8e642e437e09aeeff66e6659d74df72892395a9b0a082e241200c8e46c29db6377f5698d7f422e62101a3f851b1fe9b3d60a7309a67636afd09e6a464249 Twiggy-0.5.0.tar.gz"
+sha512sums="
+71557175e8b4629bffe78ce81b1e6487fff30162fb123794a19b8f7e117b756cdb890dc21c8673a554931c1b33e47871d51876e65470808b57ad3f1d3df4b4fa Twiggy-0.5.1.tar.gz
+"
diff --git a/testing/py3-typing_inspect/APKBUILD b/testing/py3-typing_inspect/APKBUILD
index d86d71e96d6..7ac713c1743 100644
--- a/testing/py3-typing_inspect/APKBUILD
+++ b/testing/py3-typing_inspect/APKBUILD
@@ -1,30 +1,39 @@
# Contributor: Alex McGrath <amk@amk.ie>
-# Maintainer: Alex McGrath <amk@amk.ie>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=py3-typing_inspect
_pkgname=typing_inspect
-pkgver=0.7.1
-pkgrel=1
+pkgver=0.9.0
+pkgrel=2
pkgdesc="Defines an API for runtime inspection of types defined in the Python standard typing module"
url="https://github.com/ilevkivskyi/typing_inspect"
-arch="all"
+arch="noarch"
license="MIT"
-depends="python3 py3-mypy-extensions py3-typing-extensions"
-makedepends="py3-setuptools"
+depends="py3-mypy-extensions py3-typing-extensions"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="typing_inspect-$pkgver.tar.gz::https://github.com/ilevkivskyi/typing_inspect/archive/$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest \
+ --deselect test_typing_inspect.py::GetUtilityTestCase::test_typed_dict_typing_extension
+ # https://github.com/ilevkivskyi/typing_inspect/issues/84
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
-f934d2c4a131a11e61c0fd4a2b095015f29f5cba6edf2240cc2fca81c1d8b2fc26ccf4f5ef7342d093f924f08a68c1c2490780200d843f35a90e5c461ac3304b typing_inspect-0.7.1.tar.gz
+106597b100c3abda89cc15e0f0cd1fbcc771cb04e15e1d85da2134b9937d1a9b8d1fb396aa94fc350d8e21eeaa7f96f4c98c08923360f7eb1fb5b7b7d1a32df5 typing_inspect-0.9.0.tar.gz
"
diff --git a/testing/py3-tzlocal/APKBUILD b/testing/py3-tzlocal/APKBUILD
deleted file mode 100644
index 171d06086e3..00000000000
--- a/testing/py3-tzlocal/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Maintainer: prspkt <prspkt@protonmail.com>
-pkgname=py3-tzlocal
-pkgver=2.1
-pkgrel=2
-pkgdesc="Python tzinfo object for the local timezone"
-url="https://github.com/regebro/tzlocal"
-arch="noarch"
-license="MIT"
-replaces="py-tzlocal" # for backwards compatibility
-provides="py-tzlocal=$pkgver-r$pkgrel" # for backwards compatibility
-depends="python3 py3-tz"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/t/tzlocal/tzlocal-$pkgver.tar.gz"
-builddir="$srcdir/tzlocal-$pkgver"
-options="!check" # the package requires a configured timezone
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="5419f3316dfcbf0355cc6f0790454fe6cecfa8b1ae17bfa7bf8aff89b0af3e63c94ffe9c22b11f612e53826a33e7179ff71bc2a86f6a358cdff36c7ae34e2453 tzlocal-2.1.tar.gz"
diff --git a/testing/py3-u-msgpack/APKBUILD b/testing/py3-u-msgpack/APKBUILD
index c2b03911adc..edc77a28a40 100644
--- a/testing/py3-u-msgpack/APKBUILD
+++ b/testing/py3-u-msgpack/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Stefan Wagner <stw@bit-strickerei.de>
pkgname=py3-u-msgpack
_pyname=u-msgpack-python
-pkgver=2.7.1
-pkgrel=2
+pkgver=2.8.0
+pkgrel=1
pkgdesc="portable, lightweight MessagePack serializer and deserializer written in pure Python."
url="https://github.com/vsergeev/u-msgpack-python"
arch="noarch"
license="MIT"
checkdepends="py3-pytest"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/vsergeev/$_pyname/archive/v$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -25,7 +26,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="d2036ce2c203235d8e01b0e19c82f15807b46ff50803319560dec13f9461a1445ef4849a522c0e61c0cc0bbfa337be755d6bc6750344ac6239623860d17c3c15 py3-u-msgpack-2.7.1.tar.gz"
+sha512sums="
+1b1e3e4b649676571ad32a757a0b4033d049d847fee70ceb0a9fc390d6162f2777cce9560845faa949343d7a4fafbf175ce306d71c66744c13a5c3c20e8260ee py3-u-msgpack-2.8.0.tar.gz
+"
diff --git a/testing/py3-uc-micro-py/APKBUILD b/testing/py3-uc-micro-py/APKBUILD
new file mode 100644
index 00000000000..627c8341e90
--- /dev/null
+++ b/testing/py3-uc-micro-py/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=py3-uc-micro-py
+pkgver=1.0.2
+pkgrel=1
+pkgdesc="Micro subset of unicode data files used by py3-linkify-it-py"
+url="https://github.com/tsutsu3/uc.micro-py"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tsutsu3/uc.micro-py/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/uc.micro-py-$pkgver"
+
+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="
+772487db5f46424576c92e61076f9b0a55de8b36cfdc9ca5274e91855b749f793f0b6e6efa79287cd2862f65cceb1e10c7e2c28439a867681a8d1ac67a2f0e33 py3-uc-micro-py-1.0.2.tar.gz
+"
diff --git a/testing/py3-ufonormalizer/APKBUILD b/testing/py3-ufonormalizer/APKBUILD
index 0368cdfeae4..11a73d1a3b7 100644
--- a/testing/py3-ufonormalizer/APKBUILD
+++ b/testing/py3-ufonormalizer/APKBUILD
@@ -2,18 +2,20 @@
# Maintainer: Sascha Brawer <sascha@brawer.ch>
pkgname=py3-ufonormalizer
_pyname=ufonormalizer
-pkgver=0.4.2
+pkgver=0.6.1
pkgrel=2
pkgdesc="Normalize the XML and other data inside UFO font design sources"
url="https://github.com/unified-font-object/ufoNormalizer"
arch="noarch"
license="BSD-3-Clause"
depends="python3"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-setuptools_scm"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/u/$_pyname/$_pyname-$pkgver.zip"
builddir="$srcdir/$_pyname-$pkgver"
build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
python3 setup.py build
}
@@ -22,10 +24,11 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
# Make files world-readable so others than root can run the installed script.
chmod -R a+r "$pkgdir"/usr/lib/python3*/site-packages
}
-
-sha512sums="023e52fc6bf3bebdd75b81efc61f8ab3e4c6a62dfb3f6e63efb5a9f4998fcd471be37caab6d8f59733d6f68b1486dfd3f675fb2835f693f5705c7e93a3f07429 ufonormalizer-0.4.2.zip"
+sha512sums="
+301bef368a7d42333d885437322991d075e5ebb7169e3397e1d2a486ae18d4efba4db625bad1f9452f512e0a452ec8a9fd0b5c716c8571eb45f9d4d2718f37a7 ufonormalizer-0.6.1.zip
+"
diff --git a/testing/py3-ukkonen/01-fix-musl-build.patch b/testing/py3-ukkonen/01-fix-musl-build.patch
deleted file mode 100644
index dc0db985317..00000000000
--- a/testing/py3-ukkonen/01-fix-musl-build.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-# Fixes musl builds: https://github.com/asottile/ukkonen/pull/7
-diff --git a/_ukkonen.cpp b/_ukkonen.cpp
-index 0acf39a..5060887 100644
---- a/_ukkonen.cpp
-+++ b/_ukkonen.cpp
-@@ -1,4 +1,5 @@
- #include <algorithm>
-+#include <cstdint>
- #include <vector>
-
- template <typename T> int64_t edit_distance_k_impl(
diff --git a/testing/py3-ukkonen/APKBUILD b/testing/py3-ukkonen/APKBUILD
deleted file mode 100644
index 66d4d115aaf..00000000000
--- a/testing/py3-ukkonen/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=py3-ukkonen
-_pyname=ukkonen
-pkgver=1.0.1
-pkgrel=0
-pkgdesc="Implementation of bounded Levenshtein distance"
-url="https://github.com/asottile/ukkonen"
-arch="all"
-license="MIT"
-depends="python3 py3-cffi"
-makedepends="python3-dev py3-setuptools py3-wheel py3-pip"
-checkdepends="py3-pytest"
-source="
- $_pyname-$pkgver.tar.gz::https://github.com/asottile/ukkonen/archive/refs/tags/v$pkgver.tar.gz
- 01-fix-musl-build.patch"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$(echo $PWD/build/lib.*)" pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-23978b8e22454155e7d8a0d2dbb963f4aa5a6be6cdd75a74e8ec5e06fe32a96b6fc14f0f6d03089726bf761ad6d833dc68ea3fb6cad1ad2ee5b259043072875a ukkonen-1.0.1.tar.gz
-d11f03b3acc8ec06ccafe533c4265688851e3a17fe57b5d969bf9345aee7d6dcd342da9600d0d44421d0a8301242fa82771ea74aec83e402b4447017282bba0b 01-fix-musl-build.patch
-"
diff --git a/testing/py3-unearth/APKBUILD b/testing/py3-unearth/APKBUILD
new file mode 100644
index 00000000000..802a9ee9f20
--- /dev/null
+++ b/testing/py3-unearth/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=py3-unearth
+pkgver=0.15.1
+pkgrel=1
+pkgdesc="Utility to fetch and download python packages"
+url="https://github.com/frostming/unearth"
+arch="noarch"
+license="MIT"
+depends="py3-packaging py3-requests py3-httpx"
+makedepends="py3-pdm-backend py3-gpep517 py3-installer py3-trustme"
+checkdepends="
+ py3-pytest
+ py3-flask
+ py3-requests-wsgi-adapter
+ py3-pytest-httpserver
+ py3-pytest-mock
+"
+subpackages="$pkgname-pyc"
+source="https://github.com/frostming/unearth/archive/$pkgver/py3-unearth-$pkgver.tar.gz"
+builddir="$srcdir/unearth-$pkgver"
+
+build() {
+ export PDM_BUILD_SCM_VERSION=$pkgver
+ 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="
+d4c4bd15c29ab7a172ded4db04dbc56187b5f3d5cf9c47433958240b5c475ee6708c16f7c606ae9998e0fe10e6570e02a57238d38a7cd83e6fc8e24b1aaa8180 py3-unearth-0.15.1.tar.gz
+"
diff --git a/testing/py3-unicorn-hat/APKBUILD b/testing/py3-unicorn-hat/APKBUILD
index 0cb5cccbec4..97df501a464 100644
--- a/testing/py3-unicorn-hat/APKBUILD
+++ b/testing/py3-unicorn-hat/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-unicorn-hat
_pkgname=unicorn-hat-unicornhat
pkgver=2.1.2
-pkgrel=3
+pkgrel=5
pkgdesc="Python wrapper for driving ws2812 pixels from the Raspberry Pi"
url="http://shop.pimoroni.com/products/unicorn-hat"
arch="armhf armv7 aarch64"
@@ -21,6 +21,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="dee24ec570b8624792899fbf98fafea6565b939581ecce0adcf78c389cc0f2ec274466be31bf3e09c861a30a074f491f1366b0ac4a55529c259bfb3869d96bef py3-unicorn-hat-2.1.2.tar.gz"
+
+sha512sums="
+dee24ec570b8624792899fbf98fafea6565b939581ecce0adcf78c389cc0f2ec274466be31bf3e09c861a30a074f491f1366b0ac4a55529c259bfb3869d96bef py3-unicorn-hat-2.1.2.tar.gz
+"
diff --git a/testing/py3-unicrypto/APKBUILD b/testing/py3-unicrypto/APKBUILD
new file mode 100644
index 00000000000..c4f3d449860
--- /dev/null
+++ b/testing/py3-unicrypto/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-unicrypto
+_pyname=unicrypto
+pkgver=0.0.10
+pkgrel=2
+pkgdesc="Unified interface for cryptographic libraries"
+url="https://github.com/skelsec/unicrypto"
+arch="noarch"
+license="MIT"
+depends="
+ py3-cryptography
+ py3-mbedtls
+ py3-pycryptodome
+ py3-pycryptodomex
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/unicrypto/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+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
+ rm -rf "$pkgdir"/usr/lib/python3.*/site-packages/tests/ # remove tests
+}
+
+sha512sums="
+fda2a0031e608dbba7721c5251e2b1663d492c6982640e472b7049893e567e7b088756f1be514ed08a2785603985852e711d7cec70cbb7833b79e5406f9ec59a py3-unicrypto-0.0.10.tar.gz
+"
diff --git a/testing/py3-unidiff/APKBUILD b/testing/py3-unidiff/APKBUILD
deleted file mode 100644
index af3b5d1ceb4..00000000000
--- a/testing/py3-unidiff/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
-pkgname=py3-unidiff
-pkgver=0.7.0
-pkgrel=1
-pkgdesc="Unified diff python parsing/metadata extraction library"
-url="https://github.com/matiasb/python-unidiff"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/matiasb/python-unidiff/archive/refs/tags/v$pkgver.tar.gz
- fix-test-script.patch"
-builddir="$srcdir/python-unidiff-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- sh run_tests.sh
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- mkdir -p "$pkgdir"/usr/share/doc/$pkgname
- install -m644 README.rst HISTORY AUTHORS \
- "$pkgdir"/usr/share/doc/$pkgname
-}
-
-sha512sums="
-8a8b3bf322a2a383b4efb0a51fa49ca5392d523188ee573adccdd19f88ab94030d7007796be054cc5a400dfc38f5e013f9c3cbcada1184c66fd04439a36363fb py3-unidiff-0.7.0.tar.gz
-3c42b36da7a549d59647a2a489cb85f45d5d51c839b206893e39f2bc5fc14917719e1aa5cd1042758c55bc7a218c63f1df3bb76c28c57724cc6a890ecafa64bc fix-test-script.patch
-"
diff --git a/testing/py3-unidiff/fix-test-script.patch b/testing/py3-unidiff/fix-test-script.patch
deleted file mode 100644
index 45a6901a882..00000000000
--- a/testing/py3-unidiff/fix-test-script.patch
+++ /dev/null
@@ -1,8 +0,0 @@
-diff -upr python-unidiff-0.7.0.orig/run_tests.sh python-unidiff-0.7.0/run_tests.sh
---- python-unidiff-0.7.0.orig/run_tests.sh 2021-11-25 19:06:30.063860770 +0100
-+++ python-unidiff-0.7.0/run_tests.sh 2021-11-25 19:06:39.597243030 +0100
-@@ -1,2 +1,2 @@
--#! /bin/bash
--PYTHONPATH=unidiff python -m unittest discover -s tests/
-+#!/bin/sh
-+PYTHONPATH=unidiff python3 -m unittest discover -s tests/
diff --git a/testing/py3-unidns/APKBUILD b/testing/py3-unidns/APKBUILD
new file mode 100644
index 00000000000..3c7b24b3dba
--- /dev/null
+++ b/testing/py3-unidns/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-unidns
+_pyname="unidns"
+pkgver=0.0.1
+pkgrel=2
+pkgdesc="Rudimentary async DNS client in Python"
+url="https://github.com/skelsec/unidns"
+arch="noarch"
+license="MIT"
+depends="
+ py3-asysocks
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc $pkgname-examples"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/unidns/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+examples() {
+ pkgdesc="$pkgdesc (example client)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ amove usr/lib/python*/site-packages/unidns/examples
+ amove usr/bin
+}
+
+sha512sums="
+5251f740dcb34d78cd8dea2cfd87e1c5ffa5776745ca2d8e080f8a002c3441a96806ec1b244b81cc0e38d5b152a36614da9a3161eeeebf01c28c2c99de046d4c py3-unidns-0.0.1.tar.gz
+"
diff --git a/testing/py3-unoconv/APKBUILD b/testing/py3-unoconv/APKBUILD
index c24936118c9..42c2d0d2e42 100644
--- a/testing/py3-unoconv/APKBUILD
+++ b/testing/py3-unoconv/APKBUILD
@@ -1,7 +1,8 @@
# Contributor: TBK <tbk@jjtc.eu>
+# Maintainer:
pkgname=py3-unoconv
-pkgver=0.8.2
-pkgrel=3
+pkgver=0.9.0
+pkgrel=0
pkgdesc="Tool to convert between any document format supported by LibreOffice"
url="http://dag.wieers.com/home-made/unoconv/"
arch="noarch !armhf !s390x !ppc64le !riscv64" # blocked by libreoffice
@@ -28,9 +29,11 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="cd6a4d06559895c0aebb5fda51ca86928474dd0ca0aa908e81762643186c29cf8436c889eedbb18bc74ed6016414d1aa831cd034614244d5aae677a6b4cdd4c9 unoconv-0.8.2.tar.gz
+sha512sums="
+37d63ada32675fd0ebd089a74db453fdb7332a24e62cbf3e060d6d15cc503c76ede9ccc5e09467f4a38833a8358c09fde23cc8780a77c343268f20e0c37f2469 unoconv-0.9.0.tar.gz
b4fa76011fb96ba9521bb09d1a5c43dbd457c50bb2c6d66a5bc65928cde1e1d8174e43ad86f8f53755f222127cc5b0084b4564c248ce1fca56f9acfb4c03d86d setup.py
-ab3a9aad6c14190083364c7430a4a0ed3eaad54225ae88ea72b7ee940b80767298152f5fad4a0e17a506c7dbc85733a9910d2ed1a48c4c95bd078f139ec8f54c CVE-2019-17400.patch"
+ea4c2f734fec724596052b0ece570755500a368ed36e951eee1f81c4e62419d4e86d1064b38defc474da44c584848cfe2b8d8b03c6bdf5828e78969180b9d214 CVE-2019-17400.patch
+"
diff --git a/testing/py3-unoconv/CVE-2019-17400.patch b/testing/py3-unoconv/CVE-2019-17400.patch
index ba1f8287b32..1575088c90b 100644
--- a/testing/py3-unoconv/CVE-2019-17400.patch
+++ b/testing/py3-unoconv/CVE-2019-17400.patch
@@ -9,33 +9,13 @@ Subject: [PATCH] change default updateDocMode behavior and add new option to
1 file changed, 30 insertions(+), 21 deletions(-)
diff --git a/unoconv b/unoconv
-index f844d0f..762dc85 100755
+index 6aa1bfa..27acfcf 100755
--- a/unoconv
+++ b/unoconv
-@@ -543,6 +543,8 @@ class Options:
- self.template = None
- self.timeout = 6
- self.verbose = 0
-+ self.userProfile = None
-+ self.updateDocMode = NO_UPDATE
-
- self.setprinter = False
- self.paperformat = None
-@@ -555,8 +557,8 @@ class Options:
- ['connection=', 'debug', 'doctype=', 'export=', 'field=', 'format=',
- 'help', 'import=', 'import-filter-name=', 'listener', 'meta=', 'no-launch',
- 'output=', 'outputpath', 'password=', 'pipe=', 'port=', 'preserve',
-- 'server=', 'timeout=', 'show', 'stdin', 'stdout', 'template', 'printer=',
-- 'verbose', 'version'] )
-+ 'server=', 'timeout=', 'user-profile=', 'show', 'stdin',
-+ 'stdout', 'template', 'printer=', 'unsafe-quiet-update', 'verbose', 'version'] )
- except getopt.error as exc:
- print('unoconv: %s, try unoconv -h for a list of all the options' % str(exc))
- sys.exit(255)
-@@ -646,6 +648,10 @@ class Options:
- self.template = arg
- elif opt in ['-T', '--timeout']:
- self.timeout = int(arg)
+@@ -682,6 +682,10 @@ class Options:
+ # ref https://www.openoffice.org/api/docs/common/ref/com/sun/star/document/UpdateDocMode.html
+ print('Warning: Do not use the option --unsafe-quiet-update with untrusted input.')
+ self.updateDocMode = QUIET_UPDATE
+ elif opt in ['--unsafe-quiet-update']:
+ # ref https://www.openoffice.org/api/docs/common/ref/com/sun/star/document/UpdateDocMode.html
+ print('Warning: Do not use the option --unsafe-quiet-update with untrusted input.')
@@ -43,75 +23,3 @@ index f844d0f..762dc85 100755
elif opt in ['-v', '--verbose']:
self.verbose = self.verbose + 1
elif opt in ['-V', '--version']:
-@@ -760,6 +766,7 @@ unoconv options:
- --stdout write output to stdout
- -t, --template=file import the styles from template (.ott)
- -T, --timeout=secs timeout after secs if connection to listener fails
-+ --unsafe-quiet-update allow rendered document to fetch external resources (Warning: this is unsafe with untrusted input)
- -v, --verbose be more and more verbose (-vvv for debugging)
- --version display version number of unoconv, OOo/LO and platform details
- -P, --printer printer options
-@@ -930,7 +937,7 @@ class Convertor:
- phase = "import"
-
- ### Load inputfile
-- inputprops = UnoProps(Hidden=True, ReadOnly=True, UpdateDocMode=QUIET_UPDATE)
-+ inputprops = UnoProps(Hidden=True, ReadOnly=True, UpdateDocMode=op.updateDocMode)
-
- if op.password:
- inputprops += UnoProps(Password=op.password)
-@@ -983,23 +990,25 @@ class Convertor:
- # except AttributeError:
- # pass
-
-- ### Update document links
-- phase = "update-links"
-- try:
-- document.updateLinks()
-- # Found that when converting HTML files with external images, OO would only load five or six of
-- # the images in the file. In the resulting document, the rest of the images did not appear. Cycling
-- # through all the image references in the document seems to force OO to actually load them. Found
-- # some helpful guidance in this thread:
-- # https://forum.openoffice.org/en/forum/viewtopic.php?f=30&t=23909
-- # Ideally we would like to have the option to embed the images into the document, but I have not been
-- # able to figure out how to do this yet.
-- graphObjs = document.GraphicObjects
-- for i in range(0, graphObjs.getCount()):
-- graphObj = graphObjs.getByIndex(i)
-- except AttributeError:
-- # the document doesn't implement the XLinkUpdate interface
-- pass
-+ ### Update document links if appropriate
-+ if op.updateDocMode != NO_UPDATE:
-+ phase = "update-links"
-+ try:
-+ document.updateLinks()
-+ # Found that when converting HTML files with external images, OO would only load five or six of
-+ # the images in the file. In the resulting document, the rest of the images did not appear. Cycling
-+ # through all the image references in the document seems to force OO to actually load them. Found
-+ # some helpful guidance in this thread:
-+ # https://forum.openoffice.org/en/forum/viewtopic.php?f=30&t=23909
-+ # Ideally we would like to have the option to embed the images into the document, but I have not been
-+ # able to figure out how to do this yet.
-+ if op.updatehtmllinks:
-+ graphObjs = document.GraphicObjects
-+ for i in range(0, graphObjs.getCount()):
-+ graphObj = graphObjs.getByIndex(i)
-+ except AttributeError:
-+ # the document doesn't implement the XLinkUpdate interface
-+ pass
-
- ### Add/Replace variables
- phase = "replace-fields"
-@@ -1347,7 +1356,7 @@ if __name__ == '__main__':
- ### Now that we have found a working pyuno library, let's import some classes
- from com.sun.star.beans import PropertyValue
- from com.sun.star.connection import NoConnectException
-- from com.sun.star.document.UpdateDocMode import QUIET_UPDATE
-+ from com.sun.star.document.UpdateDocMode import NO_UPDATE, QUIET_UPDATE
- from com.sun.star.lang import DisposedException, IllegalArgumentException
- from com.sun.star.io import IOException, XOutputStream
- from com.sun.star.script import CannotConvertException
---
-2.23.0
-
diff --git a/testing/py3-untokenize/APKBUILD b/testing/py3-untokenize/APKBUILD
new file mode 100644
index 00000000000..adc9ca79614
--- /dev/null
+++ b/testing/py3-untokenize/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=py3-untokenize
+pkgver=0.1.1
+pkgrel=3
+pkgdesc=" Transforms tokens into original source code"
+url="https://github.com/myint/untokenize"
+arch="noarch"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/myint/untokenize/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/untokenize-$pkgver"
+
+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 unittest discover
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+ea47c2936945c2bf69196800e15188ec264004413dc62ddb0b3097eb6c6e70335191ec43b81cb1a7842c6bd0218dd1806525de8dfd21eea88aca4c56b6035ad7 py3-untokenize-0.1.1.tar.gz
+"
diff --git a/testing/py3-uptime/APKBUILD b/testing/py3-uptime/APKBUILD
index 76390e4eda3..adf1cf61687 100644
--- a/testing/py3-uptime/APKBUILD
+++ b/testing/py3-uptime/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-uptime
_pkgname=uptime
pkgver=3.0.1
-pkgrel=5
+pkgrel=8
pkgdesc="A Python uptime library"
url="https://github.com/Cairnarvon/uptime"
arch="all"
@@ -12,6 +12,7 @@ replaces="py-uptime" # for backwards compatibility
provides="py-uptime=$pkgver-r$pkgrel" # for backwards compatibility
depends="python3"
makedepends="python3-dev py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -22,7 +23,7 @@ build() {
package() {
cd "$builddir"
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="55df1c30aa4be3e873ad36d0f784d49bc127d2bd38041c1453b112474dd52033e55d277172d8fdd73b3fabc7bf5071f29329d2a828244ef420d2da7db0f49a54 uptime-3.0.1.tar.gz"
diff --git a/testing/py3-uritools/APKBUILD b/testing/py3-uritools/APKBUILD
index 33805e70fe9..55e5d87ac04 100644
--- a/testing/py3-uritools/APKBUILD
+++ b/testing/py3-uritools/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=py3-uritools
_pyname=uritools
-pkgver=4.0.0
-pkgrel=0
+pkgver=4.0.2
+pkgrel=1
pkgdesc="Python functions for URI parsing, classification, and composition"
url="https://github.com/tkem/uritools"
license="MIT"
@@ -11,6 +11,7 @@ arch="noarch"
depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://github.com/tkem/uritools/archive/v$pkgver/uritools-$pkgver.tar.gz"
builddir="$srcdir/$_pyname-$pkgver"
@@ -23,9 +24,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-1925e0014072276451a3b409fac66a2c2c0562269f94e1e14c59557de2100d4b3633e5e8236045eab335f772a46bb00ad4890e4f0ab28968c1077307d10c65bd uritools-4.0.0.tar.gz
+74ebcb656586a2c8b4fc179dd94754915242c077520fdd8f3abf862646de502148c580746ebdc11a138991fdabbf7f6fcf84c73f9ab191e7241ec077744bb40e uritools-4.0.2.tar.gz
"
diff --git a/testing/py3-urlobject/APKBUILD b/testing/py3-urlobject/APKBUILD
index 5bdc3cd8872..b46032e80bf 100644
--- a/testing/py3-urlobject/APKBUILD
+++ b/testing/py3-urlobject/APKBUILD
@@ -4,13 +4,14 @@
pkgname=py3-urlobject
_pkgname=URLObject
pkgver=2.4.3
-pkgrel=5
+pkgrel=8
pkgdesc="A Python utility class for manipulating URLs"
url="https://github.com/dperezrada/html2data"
arch="noarch"
license="Unlicense"
makedepends="py3-setuptools"
checkdepends="py3-nose"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -26,7 +27,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="a557731f4da8a2aaf8f7e3f7219b48cf66cf6a5706a0ba6978e9eeb310d8246baec6a6c9d798e31ac1b3874fd0d93bb88ea359a87390f7b935ba5472994e1bbe URLObject-2.4.3.tar.gz"
diff --git a/testing/py3-urwid_readline/APKBUILD b/testing/py3-urwid_readline/APKBUILD
deleted file mode 100644
index 9fd13d49cc8..00000000000
--- a/testing/py3-urwid_readline/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: omni <omni+alpine@hack.org>
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=py3-urwid_readline
-_pkgname=urwid_readline
-pkgver=0.13
-pkgrel=1
-pkgdesc="text input widget for urwid that supports readline shortcuts"
-url="https://github.com/rr-/urwid_readline"
-arch="noarch"
-license="MIT"
-depends="python3 py3-urwid"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-pytest-runner"
-#options="!check" # no test suite
-source="$pkgname-$pkgver.tar.gz::https://github.com/rr-/urwid_readline/archive/$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- PYTHONPATH="$PWD"/build/lib py.test-3 -v
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-49087b2b0e47d6adba317941b6be99d7d61fd66ae28fa2ed89730c24cc04b8fa4ce20cb8eb35ebab56f838491432684bb8892463439dcd5d06d087b509182d3d py3-urwid_readline-0.13.tar.gz
-"
diff --git a/testing/py3-us/APKBUILD b/testing/py3-us/APKBUILD
index 67a6f0e50c0..9e1eadcb9cb 100644
--- a/testing/py3-us/APKBUILD
+++ b/testing/py3-us/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-us
_pkgname=us
-pkgver=2.0.2
-pkgrel=3
+pkgver=3.1.1
+pkgrel=1
pkgdesc="US state meta information and other fun stuff"
url="https://github.com/unitedstates/python-us"
arch="noarch"
@@ -13,6 +13,7 @@ provides="py-us=$pkgver-r$pkgrel" # for backwards compatibility
depends="py3-jellyfish python3"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-tz"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
fix-requires.patch"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -26,8 +27,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="0e6d814c248dbebbeb3f452989357150fedd1a5fe5a03e710ea742fb1001411b093d7494d4f4312cb3ff11d772de9419b6f7ce5779bfc96b5c762d75a96bd31d us-2.0.2.tar.gz
-dd6598d28ed9e9e3457b74d4f8cbff91e8993aff43a4634e6277223e5245fc0ea2e66f39fa1227ffb96447fbdccd23c28c8fa6f153f1616e39e0fc69b25f5cf4 fix-requires.patch"
+sha512sums="
+c74aebc6aa49afa8dc36d23b6d67c0d26294b8416d35b8c9b2e833b6c7fbb2d6f7d8983d56b7edaa129b94887c132043ebf02f3642e1a340f6fae889ee3d0e54 us-3.1.1.tar.gz
+7178b90935c71692db8a90e235a05a0d23b5fafe22449713abb85dc24c2345ea1bab990532314632d5c86351666bf5ce687c59b9ec31355bbe17fdbd65d7e914 fix-requires.patch
+"
diff --git a/testing/py3-us/fix-requires.patch b/testing/py3-us/fix-requires.patch
index e9572087b02..bcc7106ff5a 100644
--- a/testing/py3-us/fix-requires.patch
+++ b/testing/py3-us/fix-requires.patch
@@ -1,11 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 0566674..87e049b 100644
--- a/setup.py
+++ b/setup.py
-@@ -13,7 +13,7 @@
+@@ -13,7 +13,7 @@ setup(
license="BSD",
packages=find_packages(),
include_package_data=True,
-- install_requires=["jellyfish==0.6.1"],
-+ install_requires=["jellyfish>=0.6.1"],
+- install_requires=["jellyfish==0.11.2"],
++ install_requires=["jellyfish>=0.11.2"],
entry_points={"console_scripts": ["states = us.cli.states:main"]},
platforms=["any"],
classifiers=[
diff --git a/testing/py3-utc/APKBUILD b/testing/py3-utc/APKBUILD
index e87223e955c..aa3573f41ee 100644
--- a/testing/py3-utc/APKBUILD
+++ b/testing/py3-utc/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-utc
_pkgname=utc
pkgver=0.0.3
-pkgrel=5
+pkgrel=8
pkgdesc="A tiny library for working with UTC time"
url="https://bitbucket.org/btubbs/utc"
arch="noarch"
license="MIT"
depends="python3"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -21,7 +22,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="efaa3ad007d658b05588eb995f23a5873d3e04f769cae00ca44feb65f29f54340dbe0bf73237c9300fb2cf61274318c77f446301a0fc4ebfeb4a67beeaf9a24b utc-0.0.3.tar.gz"
diff --git a/testing/py3-utils/APKBUILD b/testing/py3-utils/APKBUILD
new file mode 100644
index 00000000000..b89b2bf947e
--- /dev/null
+++ b/testing/py3-utils/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
+pkgname=py3-utils
+_pkgname=python-utils
+pkgver=3.8.1
+pkgrel=1
+pkgdesc="Convenient utilities not included with the standard Python install"
+url="https://github.com/WoLpH/python-utils"
+arch="noarch"
+license="BSD-3-Clause"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest py3-pytest-asyncio py3-loguru"
+subpackages="$pkgname-pyc"
+source="
+ https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+
+ fix-setuptools-deprecation.patch
+ pytest.patch
+ typing-ext.patch
+ "
+
+builddir="$srcdir/$_pkgname-$pkgver"
+
+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="
+ccba9651cc99a8f4e3f13e7ff66a43a40d2e85bc735b6246524269495ff321225a0dcad9abd03ca9cb61b4b1b35a27009fac3fe87e3f748ffc5c87a956acd335 python-utils-3.8.1.tar.gz
+c001453b958b8231806ef6a04fcd21e1d252eeec36d4e6cbfce35f0662bae76c3f7484e0e8ff06d68a3e9cc7d19c9cdbf792c13e0101c580bb5e8de9d837fde7 fix-setuptools-deprecation.patch
+99cc91ad155f8140aedc9420659c0e560a4d816ac1f85468ddb3a9fdc87526d591da916441d63b601146a86fb2c26f61c9dfbe37e31b86ee605f732e24e7b465 pytest.patch
+d68943e3301eaafe2a9ea27f382a2eba1ce98149d8cbbe91aa9222cf76a8f7bebba3d9dbfced54bd88c90688a6e18373f011fbb83cd36cbf2ecd3e36b034aa22 typing-ext.patch
+"
diff --git a/testing/py3-utils/fix-setuptools-deprecation.patch b/testing/py3-utils/fix-setuptools-deprecation.patch
new file mode 100644
index 00000000000..16b5e5a1b8a
--- /dev/null
+++ b/testing/py3-utils/fix-setuptools-deprecation.patch
@@ -0,0 +1,11 @@
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -2,7 +2,7 @@
+ test = pytest
+
+ [metadata]
+-description-file = README.rst
++description_file = README.rst
+
+ [nosetests]
+ verbosity = 3
diff --git a/testing/py3-utils/pytest.patch b/testing/py3-utils/pytest.patch
new file mode 100644
index 00000000000..a7f016dd82d
--- /dev/null
+++ b/testing/py3-utils/pytest.patch
@@ -0,0 +1,14 @@
+diff --git a/pytest.ini b/pytest.ini
+index a8e632a..e28ed7d 100644
+--- a/pytest.ini
++++ b/pytest.ini
+@@ -5,9 +5,6 @@ python_files =
+
+ addopts =
+ --doctest-modules
+- --cov python_utils
+- --cov-report term-missing
+-; --mypy
+
+ doctest_optionflags =
+ ALLOW_UNICODE
diff --git a/testing/py3-utils/typing-ext.patch b/testing/py3-utils/typing-ext.patch
new file mode 100644
index 00000000000..ee6acb2f2ee
--- /dev/null
+++ b/testing/py3-utils/typing-ext.patch
@@ -0,0 +1,22 @@
+diff --git a/python_utils/types.py b/python_utils/types.py
+index 01c319a..79ef950 100644
+--- a/python_utils/types.py
++++ b/python_utils/types.py
+@@ -1,7 +1,6 @@
+ # pyright: reportWildcardImportFromLibrary=false
+ import datetime
+ import decimal
+-from typing_extensions import * # type: ignore # noqa: F403
+ from typing import * # type: ignore # pragma: no cover # noqa: F403
+ from types import * # type: ignore # pragma: no cover # noqa: F403
+
+--- a/setup.py
++++ b/setup.py
+@@ -29,7 +29,6 @@
+ ),
+ package_data={'python_utils': ['py.typed']},
+ long_description=long_description,
+- install_requires=['typing_extensions>3.10.0.2'],
+ tests_require=['pytest'],
+ extras_require={
+ 'loguru': [
diff --git a/testing/py3-uvloop/APKBUILD b/testing/py3-uvloop/APKBUILD
deleted file mode 100644
index 0b40bb39313..00000000000
--- a/testing/py3-uvloop/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-uvloop
-pkgver=0.16.0
-pkgrel=0
-pkgdesc="Ultra fast asyncio event loop"
-url="https://github.com/MagicStack/uvloop"
-license="MIT OR Apache-2.0"
-arch="all !armhf !ppc64le" # tests fail
-depends="python3"
-makedepends="py3-setuptools python3-dev cython libuv-dev"
-checkdepends="py3-pytest py3-aiohttp py3-openssl py3-psutil"
-source="https://github.com/MagicStack/uvloop/archive/v$pkgver/py3-uvloop-$pkgver.tar.gz
- dns-tests.patch
- tcp-tests.patch
- "
-builddir="$srcdir/uvloop-$pkgver"
-
-build() {
- python3 setup.py build build_ext --inplace --cython-always --use-system-libuv
-}
-
-check() {
- PYTHONASYNCIODEBUG=1 PYTHONPATH="$(echo "$builddir"/build/lib.linux-*)" pytest
-}
-
-package() {
- python3 setup.py install --root="$pkgdir" --skip-build
-}
-
-sha512sums="
-1896d9a60a9c4e4b8d146ad858e664f3e43969ad0c14026fe79c69f546e40bf1dc6a4cce2d388a7a6e0f5b8306b1eb4da3f713cce44c58ba6628b82ac6eaf271 py3-uvloop-0.16.0.tar.gz
-072c955662a9922de1f08713a73f0f9a08bd76b82cabd04e15cbb8b8299d81615516d03bdff207d2f0125afe055e9573604ebc331ad85f5d69ec6bf69668e620 dns-tests.patch
-809af42dc056b718652ff1e2f99cc493b230a9566367bccf349afc705653ffb830288b7de80bc6016071980af5d5e0e635e72d53f7774ace193ce4fb2b1a62cc tcp-tests.patch
-"
diff --git a/testing/py3-uvloop/dns-tests.patch b/testing/py3-uvloop/dns-tests.patch
deleted file mode 100644
index 57d14bad5ef..00000000000
--- a/testing/py3-uvloop/dns-tests.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Behavior of getaddrinfo provided by libuv differs from musl.
-Skip affected tests.
-
---- a/tests/test_dns.py
-+++ b/tests/test_dns.py
-@@ -1,4 +1,5 @@
- import asyncio
-+import pytest
- import socket
- import unittest
-
-@@ -99,18 +100,22 @@ class BaseTestDNS:
- self._test_getaddrinfo(b'example.com', '80')
- self._test_getaddrinfo(b'example.com', '80', type=socket.SOCK_STREAM)
-
-+ @pytest.mark.skip(reason="failure")
- def test_getaddrinfo_12(self):
- self._test_getaddrinfo('127.0.0.1', '80')
- self._test_getaddrinfo('127.0.0.1', '80', type=socket.SOCK_STREAM)
-
-+ @pytest.mark.skip(reason="failure")
- def test_getaddrinfo_13(self):
- self._test_getaddrinfo(b'127.0.0.1', b'80')
- self._test_getaddrinfo(b'127.0.0.1', b'80', type=socket.SOCK_STREAM)
-
-+ @pytest.mark.skip(reason="failure")
- def test_getaddrinfo_14(self):
- self._test_getaddrinfo(b'127.0.0.1', b'http')
- self._test_getaddrinfo(b'127.0.0.1', b'http', type=socket.SOCK_STREAM)
-
-+ @pytest.mark.skip(reason="failure")
- def test_getaddrinfo_15(self):
- self._test_getaddrinfo('127.0.0.1', 'http')
- self._test_getaddrinfo('127.0.0.1', 'http', type=socket.SOCK_STREAM)
-@@ -127,10 +132,12 @@ class BaseTestDNS:
- self._test_getaddrinfo('localhost', b'http')
- self._test_getaddrinfo('localhost', b'http', type=socket.SOCK_STREAM)
-
-+ @pytest.mark.skip(reason="failure")
- def test_getaddrinfo_19(self):
- self._test_getaddrinfo('::1', 80)
- self._test_getaddrinfo('::1', 80, type=socket.SOCK_STREAM)
-
-+ @pytest.mark.skip(reason="failure")
- def test_getaddrinfo_20(self):
- self._test_getaddrinfo('127.0.0.1', 80)
- self._test_getaddrinfo('127.0.0.1', 80, type=socket.SOCK_STREAM)
diff --git a/testing/py3-uvloop/tcp-tests.patch b/testing/py3-uvloop/tcp-tests.patch
deleted file mode 100644
index e5619bc217b..00000000000
--- a/testing/py3-uvloop/tcp-tests.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Adjust error message for musl-based systems.
-
---- a/tests/test_tcp.py
-+++ b/tests/test_tcp.py
-@@ -221,8 +221,8 @@ class _TestTCP:
- addr = sock.getsockname()
-
- with self.assertRaisesRegex(OSError,
-- r"error while attempting.*\('127.*: "
-- r"address already in use"):
-+ r"\[Errno 98\] error while attempting.*\('127.*: "
-+ r"address in use"):
-
- self.loop.run_until_complete(
- self.loop.create_server(object, *addr))
diff --git a/testing/py3-vatnumber/APKBUILD b/testing/py3-vatnumber/APKBUILD
index a4bde13d9d5..8031d832b1f 100644
--- a/testing/py3-vatnumber/APKBUILD
+++ b/testing/py3-vatnumber/APKBUILD
@@ -3,7 +3,7 @@
pkgname=py3-vatnumber
_pkgname=vatnumber
pkgver=1.2
-pkgrel=5
+pkgrel=8
pkgdesc="A Python module to validate VAT numbers"
options="!check" # Requres unpackaged 'suds'
url="https://pypi.org/project/vatnumber/"
@@ -12,11 +12,15 @@ license="GPL-3.0-or-later"
depends="python3 py3-python-stdnum"
makedepends="py3-setuptools"
checkdepends="py3-pysimplesoap"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ py3.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
build() {
+ 2to3 -w vatnumber
python3 setup.py build
}
@@ -25,7 +29,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="708b73f8d059638c165663f8b36dd8602c0aa857be456e50690dd61c09b9a8a2e560bf2a3ed89a790670c93f5b84c5a391cef748bebf0fa978a6fe5e319a541f vatnumber-1.2.tar.gz"
+sha512sums="
+708b73f8d059638c165663f8b36dd8602c0aa857be456e50690dd61c09b9a8a2e560bf2a3ed89a790670c93f5b84c5a391cef748bebf0fa978a6fe5e319a541f vatnumber-1.2.tar.gz
+74339ae600e1745ffbcd9c75ebcccbfe2f2a9cc33f5cfcecfa446ac59284dbfcc7e2db9001e86b6bef6677c37e4d27b371fdfef86e1eba23c2b7659ad5281f24 py3.patch
+"
diff --git a/testing/py3-vatnumber/py3.patch b/testing/py3-vatnumber/py3.patch
new file mode 100644
index 00000000000..9804bcf60b5
--- /dev/null
+++ b/testing/py3-vatnumber/py3.patch
@@ -0,0 +1,10 @@
+diff --git a/setup.py b/setup.py
+index 048fe6b..5a7a7a2 100644
+--- a/setup.py
++++ b/setup.py
+@@ -43,5 +43,4 @@ setup(name='vatnumber',
+ 'suds': ['suds'],
+ },
+ test_suite="vatnumber.tests",
+- use_2to3=True,
+ )
diff --git a/testing/py3-vdf/APKBUILD b/testing/py3-vdf/APKBUILD
new file mode 100644
index 00000000000..961676289e0
--- /dev/null
+++ b/testing/py3-vdf/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Joshua Murphy <joshuamurphy@posteo.net>
+# Maintainer: Joshua Murphy <joshuamurphy@posteo.net>
+pkgname=py3-vdf
+pkgver=3.4
+pkgrel=1
+pkgdesc="Package for working with Valve's text and binary KeyValue format"
+url="https://github.com/ValvePython/vdf"
+# s390x: broken tests on big endian
+arch="noarch !s390x"
+license="MIT"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-coverage
+ py3-mock
+ py3-nose
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ValvePython/vdf/archive/v$pkgver.tar.gz"
+builddir="$srcdir/vdf-$pkgver"
+
+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="
+a22668039d32cb1ef4660ea187a3a144a32e55e5b02c4c567b850d059a47beac111f9164c67bbe3e7b67d15117efe7b207882465b2353a65b7e0f0c107e88d5c py3-vdf-3.4.tar.gz
+"
diff --git a/testing/py3-venusian/APKBUILD b/testing/py3-venusian/APKBUILD
index 5c7c78caca5..f89a8611eef 100644
--- a/testing/py3-venusian/APKBUILD
+++ b/testing/py3-venusian/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-venusian
_pkgname=venusian
-pkgver=3.0.0
-pkgrel=2
+pkgver=3.1.0
+pkgrel=1
pkgdesc="A Python library for deferring decorator actions"
-url="https://pypi.python.org/pypi/venusian"
+url="https://pypi.org/project/venusian"
arch="noarch"
license="BSD-4-Clause"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -26,7 +27,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="dec12473f30697ec678190054974d48bd30775f2204308dc43469e65814dbeea1b7ebf571187cc9efe2d3d2a73ab9ef839ad39b99ed81dfa75577f203653a776 venusian-3.0.0.tar.gz"
+sha512sums="
+094fe85ca1e241437c386eb4db63ed8985ba962cb7b199bb4ef903d35de885948be135715a9b39bc2a102752678d0c2aaa18e0002c7c4669fb961686b360910e venusian-3.1.0.tar.gz
+"
diff --git a/testing/py3-vici/APKBUILD b/testing/py3-vici/APKBUILD
deleted file mode 100644
index 42fc93fe5b5..00000000000
--- a/testing/py3-vici/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
-pkgname=py3-vici
-pkgver=5.9.4
-pkgrel=0
-pkgdesc="Native Python interface for strongSwan's VICI protocol"
-url="https://strongswan.org"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="automake autoconf py3-setuptools"
-checkdepends="py3-pytest py3-tox"
-source="https://github.com/strongswan/strongswan/releases/download/$pkgver/strongswan-$pkgver.tar.bz2
- use-sitepackages.patch
- "
-builddir="$srcdir/strongswan-$pkgver"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --disable-defaults \
- --enable-python-eggs
-
- cd src/libcharon/plugins/vici/python
- make all
- python3 setup.py build
-}
-
-check() {
- make -C src/libcharon/plugins/vici/python check
-}
-
-package() {
- cd src/libcharon/plugins/vici/python/
- python3 setup.py install --root="$pkgdir" --optimize=1
-}
-
-sha512sums="
-796356c1d5c1ad410f0ed944ab4a131076d26f120ec6fa57796fe4060b0741201199625883ddc9ebd8a7ad299495f073cec76a6780ebd8f375605aae16750cf3 strongswan-5.9.4.tar.bz2
-4c53fb194339598c2d4226c152b2624550eac052498f52294202468c3dbf5108590f31326e2ca87ce833839ec2daf1ad991d83088e5388c0bcc5503507f7dae5 use-sitepackages.patch
-"
diff --git a/testing/py3-vici/use-sitepackages.patch b/testing/py3-vici/use-sitepackages.patch
deleted file mode 100644
index 9e029a5322a..00000000000
--- a/testing/py3-vici/use-sitepackages.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-diff --git a/src/libcharon/plugins/vici/python/tox.sh b/src/libcharon/plugins/vici/python/tox.sh
-index 1a4f786..d52b626 100755
---- a/src/libcharon/plugins/vici/python/tox.sh
-+++ b/src/libcharon/plugins/vici/python/tox.sh
-@@ -1,3 +1,3 @@
- #!/bin/sh
-
--${TOX} -c ${srcdir} --skip-missing-interpreters
-+${TOX} -c ${srcdir} --skip-missing-interpreters --sitepackages
diff --git a/testing/py3-vine/APKBUILD b/testing/py3-vine/APKBUILD
deleted file mode 100644
index 3e107a59378..00000000000
--- a/testing/py3-vine/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Maintainer:
-pkgname=py3-vine
-pkgver=1.3.0
-pkgrel=3
-pkgdesc="futures and promises implementation for python"
-url="https://github.com/celery/vine"
-arch="noarch"
-license="BSD-3-Clause"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-case py3-nose"
-source="https://files.pythonhosted.org/packages/source/v/vine/vine-$pkgver.tar.gz"
-builddir="$srcdir/vine-$pkgver"
-
-replaces="py-vine" # Backwards compatibility
-provides="py-vine=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 -m pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="f7242378ebc9b591b6e0a7b6263514f32cee4b996bc6461313221b9a391dd0dd1d833591d6e9ca72ae003f6ce5c4204856d49bb5e57c69a125072cac25758688 vine-1.3.0.tar.gz"
diff --git a/testing/py3-virtualenvwrapper/APKBUILD b/testing/py3-virtualenvwrapper/APKBUILD
new file mode 100644
index 00000000000..04a335b7340
--- /dev/null
+++ b/testing/py3-virtualenvwrapper/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=py3-virtualenvwrapper
+pkgver=6.1.0
+pkgrel=1
+pkgdesc="Extensions to Ian Bicking's virtualenv tool"
+url="https://virtualenvwrapper.readthedocs.io/"
+arch="noarch"
+license="MIT"
+depends="python3 py3-virtualenv py3-stevedore"
+makedepends="
+ grep
+ py3-gpep517
+ py3-pbr
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest py3-six"
+subpackages="$pkgname-pyc"
+source="https://pypi.org/packages/source/v/virtualenvwrapper/virtualenvwrapper-$pkgver.tar.gz"
+builddir="$srcdir/virtualenvwrapper-$pkgver"
+options="!check" # fail to run
+
+build() {
+ export PBR_VERSION=$pkgver
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ sh tests/run_tests
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+78e09956132862fbf1caf53cb6c9375aa3718685f72d8f3fb61e402e6b26e8568d5b3a3ed18142b14f3b2691f89e6f912782e813d8139dc71ceb7e47bde8d0b0 virtualenvwrapper-6.1.0.tar.gz
+"
diff --git a/testing/py3-visitor/APKBUILD b/testing/py3-visitor/APKBUILD
index 6a3feef1c88..229fbc0440f 100644
--- a/testing/py3-visitor/APKBUILD
+++ b/testing/py3-visitor/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=py3-visitor
pkgver=0.1.3
-pkgrel=3
+pkgrel=6
pkgdesc="Tiny pythonic visitor implementation."
url="https://github.com/mbr/visitor"
arch="noarch"
@@ -10,6 +10,7 @@ license="MIT"
depends="python3"
makedepends="py3-setuptools"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/mbr/visitor/archive/$pkgver.tar.gz"
builddir="$srcdir/visitor-$pkgver"
@@ -22,7 +23,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="414c77df8efcc22df5ee8073e02b8c5c28563954ef9b9a869c4ea3f7f1268a97929c1fe29142ba41e3a5acafea52599f6bf073aacd654643d7d8380cd4f41fbc py3-visitor-0.1.3.tar.gz"
diff --git a/testing/py3-w3lib/APKBUILD b/testing/py3-w3lib/APKBUILD
deleted file mode 100644
index b91b642e611..00000000000
--- a/testing/py3-w3lib/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=py3-w3lib
-_pkgname=w3lib
-pkgver=1.22.0
-pkgrel=2
-pkgdesc="A library of web-related functions"
-url="https://github.com/scrapy/w3lib"
-arch="noarch"
-license="BSD-3-Clause"
-depends="py3-six"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
- python-3.9.patch
- "
-builddir="$srcdir/$_pkgname-$pkgver"
-
-replaces="py-w3lib" # Backwards compatibility
-provides="py-w3lib=$pkgver-r$pkgrel" # Backwards compatibility
-
-build() {
- python3 setup.py build
-}
-
-check() {
- py.test-3 -v
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="fbc2bbc06808ec5d28e300ce00e2a59cc07a3a15e4a3690d3b6a105b6f33e6e02fab057b27733d9ea69bc99ebc1e7e8e628e1408a00194991ea05f35dae8bf10 w3lib-1.22.0.tar.gz
-02ce9478acae629c385c7874ba4daf859d94a6b3258f17b80fd56d7f86c4830c8cbfdfe5adcb1329bfa72c05ed963081ae0fda4e989287133423e11caad80fa4 python-3.9.patch"
diff --git a/testing/py3-w3lib/python-3.9.patch b/testing/py3-w3lib/python-3.9.patch
deleted file mode 100644
index a24eefd0240..00000000000
--- a/testing/py3-w3lib/python-3.9.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From fae6cc40e112cd13697cb0e8d79976f32c72491d Mon Sep 17 00:00:00 2001
-From: Eugenio Lacuesta <eugenio.lacuesta@gmail.com>
-Date: Wed, 10 Mar 2021 12:31:05 -0300
-Subject: [PATCH 2/8] [CI] Mark single add_or_replace_parameter test as xfail
-
----
- .gitignore | 3 ++-
- tests/test_url.py | 25 ++++++++++++++-----------
- 2 files changed, 16 insertions(+), 12 deletions(-)
-
-diff --git a/tests/test_url.py b/tests/test_url.py
-index 8b07c00..0f7458e 100644
---- a/tests/test_url.py
-+++ b/tests/test_url.py
-@@ -1,12 +1,14 @@
--# -*- coding: utf-8 -*-
- from __future__ import absolute_import
- import os
- import unittest
-+
-+import pytest
-+from six.moves.urllib.parse import urlparse
-+
- from w3lib.url import (is_url, safe_url_string, safe_download_url,
- url_query_parameter, add_or_replace_parameter, url_query_cleaner,
- file_uri_to_path, parse_data_uri, path_to_file_uri, any_to_uri,
- urljoin_rfc, canonicalize_url, parse_url, add_or_replace_parameters)
--from six.moves.urllib.parse import urlparse
-
-
- class UrlTests(unittest.TestCase):
-@@ -76,17 +78,16 @@ def test_safe_url_string_remove_ascii_tab_and_newlines(self):
- def test_safe_url_string_unsafe_chars(self):
- safeurl = safe_url_string(r"http://localhost:8001/unwise{,},|,\,^,[,],`?|=[]&[]=|")
- self.assertEqual(safeurl, r"http://localhost:8001/unwise%7B,%7D,|,%5C,%5E,[,],%60?|=[]&[]=|")
--
-+
- def test_safe_url_string_quote_path(self):
- safeurl = safe_url_string(u'http://google.com/"hello"', quote_path=True)
- self.assertEqual(safeurl, u'http://google.com/%22hello%22')
--
-+
- safeurl = safe_url_string(u'http://google.com/"hello"', quote_path=False)
- self.assertEqual(safeurl, u'http://google.com/"hello"')
--
-+
- safeurl = safe_url_string(u'http://google.com/"hello"')
- self.assertEqual(safeurl, u'http://google.com/%22hello%22')
--
-
- def test_safe_url_string_with_query(self):
- safeurl = safe_url_string(u"http://www.example.com/£?unit=µ")
-@@ -310,10 +311,6 @@ def test_add_or_replace_parameter(self):
- self.assertEqual(add_or_replace_parameter(url, 'arg3', 'nv3'),
- 'http://domain/test?arg1=v1&arg2=v2&arg3=nv3')
-
-- url = 'http://domain/test?arg1=v1;arg2=v2'
-- self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
-- 'http://domain/test?arg1=v3&arg2=v2')
--
- self.assertEqual(add_or_replace_parameter("http://domain/moreInfo.asp?prodID=", 'prodID', '20'),
- 'http://domain/moreInfo.asp?prodID=20')
- url = 'http://rmc-offers.co.uk/productlist.asp?BCat=2%2C60&CatID=60'
-@@ -338,6 +335,13 @@ def test_add_or_replace_parameter(self):
- self.assertEqual(add_or_replace_parameter(url, 'arg1', 'v3'),
- 'http://domain/test?arg1=v3&arg2=v2')
-
-+ @pytest.mark.xfail(reason="https://github.com/scrapy/w3lib/issues/164")
-+ def test_add_or_replace_parameter_fail(self):
-+ self.assertEqual(
-+ add_or_replace_parameter('http://domain/test?arg1=v1;arg2=v2', 'arg1', 'v3'),
-+ 'http://domain/test?arg1=v3&arg2=v2'
-+ )
-+
- def test_add_or_replace_parameters(self):
- url = 'http://domain/test'
- self.assertEqual(add_or_replace_parameters(url, {'arg': 'v'}),
-@@ -767,4 +771,3 @@ def test_scheme_case_insensitive(self):
-
- if __name__ == "__main__":
- unittest.main()
--
-
-From 71479b659af134123857d721b6fdeb8864b9c2f3 Mon Sep 17 00:00:00 2001
-From: Eugenio Lacuesta <eugenio.lacuesta@gmail.com>
-Date: Wed, 10 Mar 2021 12:34:47 -0300
-Subject: [PATCH 3/8] Restore encoding declaration
-
----
- tests/test_url.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/test_url.py b/tests/test_url.py
-index 0f7458e..0769550 100644
---- a/tests/test_url.py
-+++ b/tests/test_url.py
-@@ -1,3 +1,4 @@
-+# -*- coding: utf-8 -*-
- from __future__ import absolute_import
- import os
- import unittest
-
diff --git a/testing/py3-ward/APKBUILD b/testing/py3-ward/APKBUILD
new file mode 100644
index 00000000000..3b52ed06c20
--- /dev/null
+++ b/testing/py3-ward/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-ward
+pkgver=0.67.0_beta0
+pkgrel=2
+pkgdesc="Modern test framework for Python"
+url="https://ward.readthedocs.io/"
+arch="noarch"
+license="MIT"
+depends="
+ py3-click
+ py3-click-completion
+ py3-click-default-group
+ py3-cucumber-tag-expressions
+ py3-pluggy
+ py3-pprintpp
+ py3-rich
+ py3-tomli
+ "
+makedepends="
+ poetry
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/darrenburns/ward/archive/refs/tags/release/${pkgver//_beta/b}.tar.gz"
+options="!check" # Pytest fails to find fixture "description"
+builddir="$srcdir/ward-release-${pkgver//_beta/b}"
+
+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 --ignore tests/resources
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+c94106da8123ec5a2aa32fc68c09ab14179c0226245c467755736b9c069d287326398ef95ba609c57468e5fb5d61dedbfcc6a18db351e556cd0914f6b8d5e5f6 py3-ward-0.67.0_beta0.tar.gz
+"
diff --git a/testing/py3-wasabi/APKBUILD b/testing/py3-wasabi/APKBUILD
deleted file mode 100644
index 1e11936bade..00000000000
--- a/testing/py3-wasabi/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=py3-wasabi
-pkgver=0.7.1
-pkgrel=2
-pkgdesc="A lightweight console printing and formatting toolkit"
-url="https://github.com/ines/wasabi"
-arch="noarch"
-license="MIT"
-depends="python3"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-subpackages="$pkgname-doc"
-source="wasabi-$pkgver.tar.gz::https://github.com/ines/wasabi/archive/v$pkgver.tar.gz"
-builddir="$srcdir/wasabi-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest-3 wasabi
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="9b264ee0d7d793b1481b79d16fe5da74180b0074d2b748f4bfcbba717dc59bb1e5052be3bfa656bffd81b30fdf62833ee7b930c886409bde9ee8856293f2f718 wasabi-0.7.1.tar.gz"
diff --git a/testing/py3-wbdata/APKBUILD b/testing/py3-wbdata/APKBUILD
index d0bdf1969fe..c63d5c5bb34 100644
--- a/testing/py3-wbdata/APKBUILD
+++ b/testing/py3-wbdata/APKBUILD
@@ -2,15 +2,16 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-wbdata
_pkgname=wbdata
-pkgver=0.2.7
-pkgrel=4
+pkgver=1.0.0
+pkgrel=1
pkgdesc="A library to access World Bank data"
options="!check" # Tests are broken
url="https://github.com/oliversherouse/wbdata"
arch="noarch"
license="GPL-2.0-or-later"
depends="python3 py3-decorator"
-makedepends="py3-setuptools"
+makedepends="py3-poetry-core py3-gpep517"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -18,15 +19,22 @@ replaces="py-wbdata" # Backwards compatibility
provides="py-wbdata=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m unittest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="5b7d8a556f12414e12f2c6bb8e6cb0ca6961675c1e606f8f2153b6d73911e60e22fca0fe70e82143ea2df5c1b4b156f270b15210eec2a8086936500b15be91fe wbdata-0.2.7.tar.gz"
+sha512sums="
+649d994d4d42e4cadc532212f799a4788317e58bd2d6cfb971f7331622d9df0da04229221eff5cb1ca401b6d9289a8215e242be2f7dfd2607e7eb01cd6c3dbcf wbdata-1.0.0.tar.gz
+"
diff --git a/testing/py3-webdavclient3/APKBUILD b/testing/py3-webdavclient3/APKBUILD
new file mode 100644
index 00000000000..0e477599a33
--- /dev/null
+++ b/testing/py3-webdavclient3/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Antoine Martin (ayakael) <dev@ayakael.net>
+# Maintainer: Antoine Martin (ayakael) <dev@ayakael.net>
+pkgname=py3-webdavclient3
+#_pkgreal is used by apkbuild-pypi to find modules at PyPI
+_pkgreal=webdav-client-python-3
+pkgver=3.14.6
+pkgrel=1
+pkgdesc="WebDAV client"
+url="https://pypi.python.org/project/webdavclient3"
+arch="noarch"
+license="MIT"
+depends="py3-requests py3-lxml py3-dateutil"
+checkdepends="py3-pytest"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ezhov-evgeny/webdav-client-python-3/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgreal-$pkgver"
+subpackages="$pkgname-pyc"
+options="!check" # Test suite needs more work to be setup to work in aports env
+
+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 "$builddir"/.dist/*.whl
+ .testenv/bin/python3 -m pytest -v
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+4621dfe3fdde4a60a7580b37aaf2bf778ebae1615946e9ff5aedcf3d2d17b3e60511a4522f8023bd4756139c66027149a2afafbd07bf02d029d811bec172057d py3-webdavclient3-3.14.6.tar.gz
+"
diff --git a/testing/py3-webrtcvad/APKBUILD b/testing/py3-webrtcvad/APKBUILD
new file mode 100644
index 00000000000..11e62b019e4
--- /dev/null
+++ b/testing/py3-webrtcvad/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-webrtcvad
+pkgver=2.0.10
+pkgrel=0
+pkgdesc="Python interface to the Google WebRTC Voice Activity Detector (VAD)"
+url="https://github.com/wiseman/py-webrtcvad"
+# 32-bit arches are not supported
+# s390x, ppc64le and riscv64 are not supported
+arch="all !x86 !armhf !armv7 !s390x !ppc64le !riscv64"
+license="MIT AND BSD-3-Clause"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+checkdepends="
+ py3-memory-profiler
+ pytest
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/wiseman/py-webrtcvad/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/py-webrtcvad-$pkgver"
+
+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="
+ce414e39c3128e22495e8e21e46d09485952168ca763937cebb654dab87ffcfecea8198c74c009a47d8caed2a8ebc22572036fda4be36597d82e6e7057f80ae2 py3-webrtcvad-2.0.10.tar.gz
+"
diff --git a/testing/py3-webvtt/APKBUILD b/testing/py3-webvtt/APKBUILD
new file mode 100644
index 00000000000..782faca2ce2
--- /dev/null
+++ b/testing/py3-webvtt/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=py3-webvtt
+pkgver=0.4.6
+pkgrel=1
+pkgdesc="WebVTT reader, writer and segmenter"
+url="https://github.com/glut23/webvtt-py"
+arch="noarch"
+license="MIT"
+depends="
+ py3-docopt
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/glut23/webvtt-py/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/webvtt-py-$pkgver"
+
+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="
+aca4420ab4816a1a2568e8b41f306eff4df0fd1bea7929655f02ffd393ed5a5edde27d708c4189bc4401d59b2482fb7ec25fc19b8aa2ee1dcf12233c78a1d282 py3-webvtt-0.4.6.tar.gz
+"
diff --git a/testing/py3-wg-netns/APKBUILD b/testing/py3-wg-netns/APKBUILD
new file mode 100644
index 00000000000..5768237ad2f
--- /dev/null
+++ b/testing/py3-wg-netns/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=py3-wg-netns
+_pkgname=wg-netns
+pkgver=2.3.1
+pkgrel=1
+pkgdesc="A Python script that implements the steps described at wireguard.com/netns"
+url="https://github.com/dadevel/wg-netns"
+arch="noarch"
+license="MIT"
+depends="python3"
+makedepends="py3-poetry-core py3-gpep517 py3-installer"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dadevel/wg-netns/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+options="!check" # no tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+30ea08d2144e1d49d7fb8e10d6529717116364c9cf1628e67edaddb8e7595cfdb3a2d2ba03c87725e9e3b1fefaffe1956db3a047c3e91f5a49461ea3843f1753 py3-wg-netns-2.3.1.tar.gz
+"
diff --git a/testing/py3-whois/APKBUILD b/testing/py3-whois/APKBUILD
deleted file mode 100644
index a9719fd5be3..00000000000
--- a/testing/py3-whois/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=py3-whois
-pkgver=0.9.8
-pkgrel=2
-pkgdesc="Python module/library for retrieving WHOIS information of domains"
-url="https://github.com/DannyCork/python-whois"
-arch="noarch"
-license="WTFPL"
-depends="python3 whois"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/w/whois/whois-$pkgver.tar.gz"
-builddir="$srcdir/whois-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- :
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="554836ce0908c9bf5a5c21976bd7494c51df2915cfbe1c3b26ecf673c47fc82e9eaa9b230868ff729b4c9cef8e17477d9e7331db1a8631cf431c792cf3c3772c py3-whois-0.9.8.tar.gz"
diff --git a/testing/py3-wifi/APKBUILD b/testing/py3-wifi/APKBUILD
index 93e25056b61..163f65a0d7a 100644
--- a/testing/py3-wifi/APKBUILD
+++ b/testing/py3-wifi/APKBUILD
@@ -3,13 +3,14 @@
pkgname=py3-wifi
_pkgname=wifi
pkgver=0.3.8
-pkgrel=3
+pkgrel=6
pkgdesc="Command line tool and library wrappers for network interfaces"
options="!check" # Tests only on GitHub tarball that are on 0.3.5
url="https://github.com/rockymeza/wifi"
arch="noarch"
license="BSD-3-Clause"
depends="python3 py3-pbkdf2 py3-setuptools wireless-tools"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
fix-iwlist-path.patch
"
@@ -23,7 +24,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
# Avoid conflict with tlp
mv "$pkgdir"/usr/bin/wifi "$pkgdir"/usr/bin/pywifi
diff --git a/testing/py3-winacl/APKBUILD b/testing/py3-winacl/APKBUILD
new file mode 100644
index 00000000000..5b826f472cd
--- /dev/null
+++ b/testing/py3-winacl/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=py3-winacl
+_pyname=winacl
+pkgver=0.1.8
+pkgrel=1
+pkgdesc="ACL/ACE/Security Descriptor manipulation library in pure Python"
+url="https://github.com/skelsec/winacl"
+arch="noarch"
+license="MIT"
+depends="
+ py3-cryptography
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/winacl/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+fd28579e1a524c0bdea28e5a3f12722513f9c0aa413e31dc4e54238c15f778fa769ab1e8992b028d265da6dadd512b7e56aa524d14d8a326b7927a4cf52786a1 py3-winacl-0.1.8.tar.gz
+"
diff --git a/testing/py3-wsgiprox/APKBUILD b/testing/py3-wsgiprox/APKBUILD
new file mode 100644
index 00000000000..1caed0f2461
--- /dev/null
+++ b/testing/py3-wsgiprox/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=py3-wsgiprox
+pkgver=1.5.2
+pkgrel=0
+pkgdesc="Python WSGI Middleware for adding HTTP/S proxy support to any WSGI Application"
+url="https://github.com/webrecorder/wsgiprox"
+arch="noarch"
+license="Apache-2.0"
+depends="py3-certauth py3-gevent-websocket py3-six"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="
+ py3-gevent
+ py3-mock
+ py3-pytest
+ py3-pytest-cov
+ py3-requests
+ py3-waitress
+ py3-websocket-client
+ "
+subpackages="$pkgname-pyc"
+
+source="py3-wsgiprox-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/w/wsgiprox/wsgiprox-$pkgver.tar.gz"
+builddir="$srcdir/wsgiprox-$pkgver"
+
+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
+ # tests are known to fail for https,
+ # https://github.com/webrecorder/wsgiprox/issues/6
+ .testenv/bin/python3 -m pytest \
+ --doctest-modules ./wsgiprox --cov wsgiprox -v test/ \
+ -k "not https and not test_chunked_force_http10_buffer and not test_error_proxy_unsupported"
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+d07b97c7ce755b1f22cf250e553036b7196f7205ae2ba52655f5a3b0c6f210fec20d30ca2ff2576c752bf9468aa2fbbeda9db1843d69a85989e881c6f1ada777 py3-wsgiprox-1.5.2.tar.gz
+"
diff --git a/testing/py3-wstools/APKBUILD b/testing/py3-wstools/APKBUILD
index 5c15b141e22..02c5d66d479 100644
--- a/testing/py3-wstools/APKBUILD
+++ b/testing/py3-wstools/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
pkgname=py3-wstools
pkgver=0.4.10
-pkgrel=2
+pkgrel=6
url="https://github.com/pycontribs/wstools"
pkgdesc="WSDL parsing services package for Web Services for Python"
arch="noarch"
@@ -10,17 +10,15 @@ license="BSD-3-Clause AND BSD-3-Clause-LBNL AND ZPL-2.0"
depends="py3-six"
makedepends="py3-pbr py3-setuptools py3-pytest-runner"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/pycontribs/wstools/archive/$pkgver.tar.gz
python3.10-support.patch
+ python3.12-support.patch
"
builddir="$srcdir/wstools-$pkgver"
-prepare() {
- default_prepare
- export PBR_VERSION=$pkgver
-}
-
build() {
+ export PBR_VERSION=$pkgver
python3 setup.py build
}
@@ -29,10 +27,11 @@ check() {
}
package() {
- python3 setup.py install --root="$pkgdir" --optimize=1
+ python3 setup.py install --root="$pkgdir"
}
sha512sums="
1acd8e62d71c7d330f1e953a0da1956291c5dfb25ff9b8b8799c83feaa4230e384955735b131bab7b430b92ae6c18498927d416d2d1e11fb5c5dad93417c671a py3-wstools-0.4.10.tar.gz
9c19ae50724249dacb91206301417238c04df3afd841fe5b3ef2280dfd57ce635e01690e6d28c88798aebc6b7b2bea7a83eeb1f45eeb07bb94ddcd00d3c6ed94 python3.10-support.patch
+64e25d87337d27ef36d9d97702001f2fb87e0215b93b8a03653dbed2331b10b44963eeddbe508813d9fbd0ba1727b68a0fe3d181855d548014df4f8f5cbe53c2 python3.12-support.patch
"
diff --git a/testing/py3-wstools/python3.12-support.patch b/testing/py3-wstools/python3.12-support.patch
new file mode 100644
index 00000000000..231b66a6530
--- /dev/null
+++ b/testing/py3-wstools/python3.12-support.patch
@@ -0,0 +1,22 @@
+diff --git a/tests/test_wsdl.py b/tests/test_wsdl.py
+index aeeddf7..8cfa7fb 100755
+--- a/tests/test_wsdl.py
++++ b/tests/test_wsdl.py
+@@ -70,7 +70,7 @@ class WSDLToolsTestCase(unittest.TestCase):
+ for node in DOM.getElements(definition, tag_name, nspname):
+ name = DOM.getAttr(node, key)
+ comp = component[name] # noqa F841
+- self.failUnlessEqual(eval('comp.%s' % key), name)
++ self.assertEqual(eval('comp.%s' % key), name)
+
+ def checkXSDCollection(self, tag_name, component, node, key='name'):
+ for cnode in DOM.getElements(node, tag_name):
+@@ -126,7 +126,7 @@ class WSDLToolsTestCase(unittest.TestCase):
+ try:
+ for key in self.wsdl.types.keys():
+ schema = self.wsdl.types[key]
+- self.failUnlessEqual(key, schema.getTargetNamespace())
++ self.assertEqual(key, schema.getTargetNamespace())
+
+ definition = self.wsdl.document.documentElement
+ version = DOM.WSDLUriToVersion(definition.namespaceURI)
diff --git a/testing/py3-wtf-peewee/APKBUILD b/testing/py3-wtf-peewee/APKBUILD
index d0ed099d736..8f423904dbf 100644
--- a/testing/py3-wtf-peewee/APKBUILD
+++ b/testing/py3-wtf-peewee/APKBUILD
@@ -2,8 +2,8 @@
# Maintainer:
pkgname=py3-wtf-peewee
_pkgname=wtf-peewee
-pkgver=3.0.3
-pkgrel=0
+pkgver=3.0.5
+pkgrel=1
pkgdesc="WTForms integration for peewee"
url="https://github.com/coleifer/wtf-peewee"
arch="noarch"
@@ -11,6 +11,7 @@ license="MIT"
depends="py3-peewee py3-wtforms py3-markupsafe"
makedepends="py3-setuptools"
options="!check" # broken tests
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
@@ -24,9 +25,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-eba8a874e31a2034798fcd504aa28835cd0e57e2ae6f888fbccdfe659ddea59195e8f28eb11172703acec90878bd82138ecdcc08b7a1b4a1c5b64c8c913ea0b6 wtf-peewee-3.0.3.tar.gz
+e5b0d4836a1b5aa99f1940ef0fde549f4841f3c4329f6a7d82ceb6f8ede9226d3e35cda592775a5b5fe7590660367a45df0ffb7803b63272eface5fb3f9d716f wtf-peewee-3.0.5.tar.gz
"
diff --git a/testing/py3-wxpython/APKBUILD b/testing/py3-wxpython/APKBUILD
deleted file mode 100644
index 98194a364be..00000000000
--- a/testing/py3-wxpython/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-_pkgname=wxPython
-pkgname=py3-wxpython
-pkgver=4.0.7
-pkgrel=3
-pkgdesc="Cross-platform GUI toolkit for the Python language"
-url="https://wxpython.org/"
-arch="all"
-license="custom"
-depends="py3-six py3-pathlib2"
-makedepends="py3-setuptools wxgtk3-dev python3-dev"
-checkdepends="py3-pytest py3-pytest-xdist xvfb-run"
-source="https://files.pythonhosted.org/packages/source/w/wxPython/wxPython-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgver
-# Not all unit tests are passing. Some due to missing features of xvfb where the
-# tests are running in (GL, display settings). Some are checking features that
-# have not been provided in this package. Disabling failing unit tests to track
-# regressions would be nice, but I do not have the time for that now
-options="!check"
-
-prepare() {
- default_prepare
- sed -i "s|WX_CONFIG = 'wx-config'|WX_CONFIG = 'wx-config-gtk3'|" build.py
-}
-
-build() {
- python3 build.py build --use_syswx --release
-}
-
-check() {
- xvfb-run python3 build.py test
-}
-
-package() {
- python3 build.py install --destdir="$pkgdir"
- install -Dm 644 LICENSE.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
- find "$pkgdir"/usr/lib -type f -exec chmod 644 {} \;
-}
-
-sha512sums="22d74a1285de432dd251ed6343b6138411a70742a7026e1ab002e08b84f111123382625bd64055412687d9ba7b579681d9894a58705455eb6a2b5e3c9d9985c0 wxPython-4.0.7.tar.gz"
diff --git a/testing/py3-x-wr-timezone/APKBUILD b/testing/py3-x-wr-timezone/APKBUILD
new file mode 100644
index 00000000000..f3204c440c6
--- /dev/null
+++ b/testing/py3-x-wr-timezone/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=py3-x-wr-timezone
+_pyname=x-wr-timezone
+pkgver=0.0.7
+pkgrel=1
+pkgdesc="Handling of non-standard X-WR-TIMEZONE icalendar property in Python and Command Line"
+url="https://github.com/niccokunzmann/x-wr-timezone"
+arch="noarch"
+license="LGPL-3.0-or-later"
+depends="python3 py3-icalendar py3-tz"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$_pyname-$pkgver.tar.gz::https://github.com/niccokunzmann/x-wr-timezone/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/$_pyname-$pkgver"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ # Disable command line test since we aren't installed yet.
+ # Disable unnecessary test that adds another dependency.
+ PYTHONPATH=. pytest \
+ --ignore test/test_command_line.py \
+ --ignore test/test_readme.py
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+6d37de592741a8786855a1f6c8b61165b3267869dcd86e0b9fe56de31f326ee2f7206ab35c45c21713d4cc808d1b14934d6b5b9daac90791d13b0363af5b5cbf x-wr-timezone-0.0.7.tar.gz
+"
diff --git a/testing/py3-xapp/APKBUILD b/testing/py3-xapp/APKBUILD
new file mode 100644
index 00000000000..bfaa7d92711
--- /dev/null
+++ b/testing/py3-xapp/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=py3-xapp
+pkgver=2.4.1
+pkgrel=1
+pkgdesc="Python3 Xapp Library"
+url="https://github.com/linuxmint/python3-xapp"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="xapp"
+makedepends="meson"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/python3-xapp/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/python3-xapp-$pkgver/"
+options="!check" # doesn't have tests
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+97045061aa5965adcfe7301774dbd35a226fa9b846e31a7c097229cc417ff4008e518ebd5b600d4ce6a46daa39d51de70d391b6b0a7c78490419d3a96daca6a9 py3-xapp-2.4.1.tar.gz
+"
diff --git a/testing/py3-xlwt/APKBUILD b/testing/py3-xlwt/APKBUILD
index cbf083a58a4..576aa4af24f 100644
--- a/testing/py3-xlwt/APKBUILD
+++ b/testing/py3-xlwt/APKBUILD
@@ -3,24 +3,28 @@
pkgname=py3-xlwt
_pkgname=xlwt
pkgver=1.3.0
-pkgrel=5
+pkgrel=9
pkgdesc="A library to create spreadsheet files"
url="https://pypi.org/project/xlwt"
arch="noarch"
license="BSD-3-Clause BSD-4-Clause LGPL-2.1-or-later"
-replaces="py-xlwt" # for backwards compatibility
+replaces="py-xlwt" # for backwards compatibility
provides="py-xlwt=$pkgver-r$pkgrel" # for backwards compatibility
depends="py3-six"
-makedepends="py3-setuptools"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
sha512sums="e09c515bda7edadb9624b842796a537316c1e2e06f3e74aca5440a5797dbc259036539fd64ea61648a30894f4091d3be829411d36e6170894980728c798c5963 xlwt-1.3.0.tar.gz"
diff --git a/testing/py3-xmldiff/APKBUILD b/testing/py3-xmldiff/APKBUILD
deleted file mode 100644
index 3cde147c022..00000000000
--- a/testing/py3-xmldiff/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Sascha Brawer <sascha@brawer.ch>
-# Maintainer: Sascha Brawer <sascha@brawer.ch>
-pkgname=py3-xmldiff
-_pyname=xmldiff
-pkgver=2.4
-pkgrel=2
-pkgdesc="Creates diffs of XML files"
-url="https://github.com/Shoobx/xmldiff"
-arch="noarch"
-license="MIT"
-depends="python3 py3-lxml py3-six"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/x/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="cc96c0d46d251ce1cf664c86f8fc0cc8fef67de6d0472415ae755e32cb86f21495dd144b5ecebba11820297a3f3cae8067c8d3b25b3107a8134b6ea641f2fc07 xmldiff-2.4.tar.gz"
diff --git a/testing/py3-xsdata/APKBUILD b/testing/py3-xsdata/APKBUILD
new file mode 100644
index 00000000000..8122f767ffc
--- /dev/null
+++ b/testing/py3-xsdata/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=py3-xsdata
+pkgver=24.4
+pkgrel=1
+pkgdesc="Naive XML & JSON Bindings for python"
+url="https://github.com/tefra/xsdata"
+arch="noarch"
+license="MIT"
+depends="
+ py3-click
+ py3-click-default-group
+ py3-docformatter
+ py3-jinja2
+ py3-toposort
+ ruff
+ "
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="
+ py3-lxml
+ py3-pytest-benchmark
+ py3-pytest-forked
+ py3-requests
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tefra/xsdata/archive/refs/tags/v$pkgver.tar.gz
+ typing.patch
+ "
+builddir="$srcdir/xsdata-$pkgver"
+
+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 --forked
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+6b346c40855662171747e1759bbe58880c668a3ee134eaef1dbe9b57c939a3813da10e5ccf68ec6923b097a1e518bcc7f19dfde27c79f7bc73530ccecdfee52e py3-xsdata-24.4.tar.gz
+3140a89f223a57cafb3c8e331e937188c22abceee1c3492da08e59f7b9928f8fef74a7fa6c348766c41cfe852057beb68639c3c04af09c717569da00f0fb6ea8 typing.patch
+"
diff --git a/testing/py3-xsdata/typing.patch b/testing/py3-xsdata/typing.patch
new file mode 100644
index 00000000000..a6579eefb17
--- /dev/null
+++ b/testing/py3-xsdata/typing.patch
@@ -0,0 +1,26 @@
+diff --git a/xsdata/formats/dataclass/serializers/mixins.py b/xsdata/formats/dataclass/serializers/mixins.py
+index 4ab8509..31f4643 100644
+--- a/xsdata/formats/dataclass/serializers/mixins.py
++++ b/xsdata/formats/dataclass/serializers/mixins.py
+@@ -14,7 +14,7 @@ from typing import (
+ from xml.etree.ElementTree import QName
+ from xml.sax.handler import ContentHandler
+
+-from typing_extensions import TypeAlias
++from typing import TypeAlias
+
+ from xsdata.exceptions import XmlWriterError
+ from xsdata.formats.converter import converter
+diff --git a/xsdata/formats/dataclass/typing.py b/xsdata/formats/dataclass/typing.py
+index a375346..defaf1b 100644
+--- a/xsdata/formats/dataclass/typing.py
++++ b/xsdata/formats/dataclass/typing.py
+@@ -1,7 +1,7 @@
+ import sys
+ from typing import Any, Iterator, Tuple, Type, TypeVar, Union
+
+-from typing_extensions import get_args, get_origin
++from typing import get_args, get_origin
+
+ NONE_TYPE = type(None)
+
diff --git a/testing/py3-yapsy/APKBUILD b/testing/py3-yapsy/APKBUILD
index 2aa2744b2a1..5b7987e6023 100644
--- a/testing/py3-yapsy/APKBUILD
+++ b/testing/py3-yapsy/APKBUILD
@@ -3,29 +3,41 @@
pkgname=py3-yapsy
_pkgname=Yapsy
pkgver=1.12.2
-pkgrel=3
+pkgrel=7
pkgdesc="DIY Python plugin management toolkit"
url="https://yapsy.sourceforge.net"
arch="noarch"
license="BSD-2-Clause"
depends="python3"
-makedepends="py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz
+ deprecated.patch
+ "
builddir="$srcdir"/$_pkgname-$pkgver
replaces="py-yapsy" # Backwards compatibility
provides="py-yapsy=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="3fdb4de1a6d8f836e22d82354492b99ec9883443c389393d25ea40a08bb0b6ae03db9c947af55237b67764facd4d55a09a36cdba107c8d9202f3700fd55c31fa Yapsy-1.12.2.tar.gz"
+sha512sums="
+3fdb4de1a6d8f836e22d82354492b99ec9883443c389393d25ea40a08bb0b6ae03db9c947af55237b67764facd4d55a09a36cdba107c8d9202f3700fd55c31fa Yapsy-1.12.2.tar.gz
+f51c83f61437205ec19590a5b7fbd5479cbfee7a1b58402855b79edf9b9dd88fb25d90e65fd01fc8e0b6d467dc3c239abdf0a1d7fffa0b8fa16db145cb7f3c70 deprecated.patch
+"
diff --git a/testing/py3-yapsy/deprecated.patch b/testing/py3-yapsy/deprecated.patch
new file mode 100644
index 00000000000..02b058fb221
--- /dev/null
+++ b/testing/py3-yapsy/deprecated.patch
@@ -0,0 +1,96 @@
+Patch-Source: https://github.com/tibonihoo/yapsy/commit/29286320673f9e853559cf20aeb3456e541afbd4
+From 29286320673f9e853559cf20aeb3456e541afbd4 Mon Sep 17 00:00:00 2001
+From: Ameya Vikram Singh <ameya.v.singh@gmail.com>
+Date: Mon, 6 Feb 2023 13:31:23 +0530
+Subject: [PATCH] Remove Deprecated API's
+
+* Replaced packaging.version instead of distutils.version
+* Replaced imp module to importlib
+
+**Note:** Probably Deprecates Python 2.7 supports, and maybe some initial versions of Python 3.x.
+
+Signed-off-by: Ameya Vikram Singh <ameya.v.singh@gmail.com>
+---
+ test/test_PluginInfo.py | 3 ++-
+ yapsy/PluginInfo.py | 6 +++---
+ yapsy/PluginManager.py | 17 ++++++++++-------
+ yapsy/VersionedPluginManager.py | 8 ++++----
+ 4 files changed, 19 insertions(+), 15 deletions(-)
+
+diff --git a/test/test_PluginInfo.py b/test/test_PluginInfo.py
+index 0863671..745226f 100644
+--- a/test/test_PluginInfo.py
++++ b/test/test_PluginInfo.py
+@@ -22,3 +22,3 @@ class PluginInfoTest(unittest.TestCase):
+ self.assertEqual(None,pi.error)
+- self.assertEqual("0.0",pi.version)
++ self.assertEqual("0.0",str(pi.version))
+ self.assertEqual("Unknown",pi.author)
+diff --git a/yapsy/PluginInfo.py b/yapsy/PluginInfo.py
+index 69d220e..700374e 100644
+--- a/yapsy/PluginInfo.py
++++ b/yapsy/PluginInfo.py
+@@ -14,3 +14,3 @@ API
+ from yapsy.compat import ConfigParser
+-from distutils.version import StrictVersion
++from packaging.version import Version
+
+@@ -107,3 +107,3 @@ class PluginInfo(object):
+ def __getVersion(self):
+- return StrictVersion(self.details.get("Documentation","Version"))
++ return Version(self.details.get("Documentation","Version"))
+
+@@ -116,3 +116,3 @@ class PluginInfo(object):
+ """
+- if isinstance(vstring,StrictVersion):
++ if isinstance(vstring,Version):
+ vstring = str(vstring)
+diff --git a/yapsy/PluginManager.py b/yapsy/PluginManager.py
+index 81a7c2b..b72de93 100644
+--- a/yapsy/PluginManager.py
++++ b/yapsy/PluginManager.py
+@@ -130,6 +130,3 @@ import sys
+ import os
+-try:
+- import importlib.abc.Loader as imp
+-except ImportError:
+- import imp
++import importlib
+
+@@ -579,7 +576,13 @@ class PluginManager(object):
+ # use imp to correctly load the plugin as a module
++ candidate_module = None
+ if os.path.isdir(candidate_filepath):
+- candidate_module = imp.load_module(plugin_module_name,None,candidate_filepath,("py","r",imp.PKG_DIRECTORY))
++ if (spec := importlib.util.spec_from_file_location(candidate_filepath.split('/')[-1], candidate_filepath + "/__init__.py")) is not None:
++ candidate_module = importlib.util.module_from_spec(spec)
++ sys.modules[plugin_module_name] = candidate_module
++ spec.loader.exec_module(candidate_module)
+ else:
+- with open(candidate_filepath+".py","r") as plugin_file:
+- candidate_module = imp.load_module(plugin_module_name,plugin_file,candidate_filepath+".py",("py","r",imp.PY_SOURCE))
++ if (spec := importlib.util.spec_from_file_location(candidate_filepath.split('/')[-1], candidate_filepath + ".py")) is not None:
++ candidate_module = importlib.util.module_from_spec(spec)
++ sys.modules[plugin_module_name] = candidate_module
++ spec.loader.exec_module(candidate_module)
+ return candidate_module
+diff --git a/yapsy/VersionedPluginManager.py b/yapsy/VersionedPluginManager.py
+index 83ad4fd..686a52a 100644
+--- a/yapsy/VersionedPluginManager.py
++++ b/yapsy/VersionedPluginManager.py
+@@ -14,3 +14,3 @@ API
+
+-from distutils.version import StrictVersion
++from packaging.version import Version
+
+@@ -29,7 +29,7 @@ class VersionedPluginInfo(PluginInfo):
+ PluginInfo.__init__(self, plugin_name, plugin_path)
+- # version number is now required to be a StrictVersion object
+- self.version = StrictVersion("0.0")
++ # version number is now required to be a Version object
++ self.version = Version("0.0")
+
+ def setVersion(self, vstring):
+- self.version = StrictVersion(vstring)
++ self.version = Version(vstring)
+
diff --git a/testing/py3-yara/APKBUILD b/testing/py3-yara/APKBUILD
index e090d3b28ce..d285d3a9944 100644
--- a/testing/py3-yara/APKBUILD
+++ b/testing/py3-yara/APKBUILD
@@ -1,21 +1,22 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname="py3-yara"
+pkgname=py3-yara
_pkgname="${pkgname/py3-/}-python"
-pkgver=4.1.3
+pkgver=4.5.0
pkgrel=1
pkgdesc="The Python interface for YARA"
url="https://virustotal.github.io/yara/"
-arch="all !armv7 !armhf" # missing yara
+arch="all"
license="Apache-2.0"
depends="python3"
-makedepends="python3-dev yara py3-setuptools"
+makedepends="python3-dev yara-dev py3-setuptools"
source="$pkgname-$pkgver.tar.gz::https://github.com/VirusTotal/yara-python/archive/v$pkgver.tar.gz
- use-system-yara.patch"
+ use-system-yara.patch
+ "
builddir="$srcdir/$_pkgname-$pkgver"
build() {
- python3 setup.py build
+ python3 setup.py build --dynamic-linking
}
check() {
@@ -23,10 +24,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
-9c96ae78df7694dd55b8bdde4fad49043f120b94477fa9d7090610665072626eba4fa410cd9292205e0b18bb9f384f07288c0340232e163294b91051b84dcab2 py3-yara-4.1.3.tar.gz
-d56d2c437f66b0d3c5bc92737f6b5c7bf5191e38fe4f72849145dbcbc2eb7d9cad10a2d07674c25aaa1e7f542b21e723c30722516e722db5c238840e4f6be07a use-system-yara.patch
+b4f091bff7fd3bcd63e7f9f0a765aac7bdb3f17a1bc4b163687ae9ca21048194d90cf2bf1165998edb9953b83e022939179c51de59862a456676f099de69778d py3-yara-4.5.0.tar.gz
+bd19ef0a225ca070d9939d7e2ce6ea5be585130b5e0c4df196cd17ad62aa2e481e61dc40c6bfba8de26fc8f91b720e8f512f657afaa0f96f2609d9f10cfbf0ec use-system-yara.patch
"
diff --git a/testing/py3-yara/use-system-yara.patch b/testing/py3-yara/use-system-yara.patch
index d7a0f8e7ced..a0858d6513b 100644
--- a/testing/py3-yara/use-system-yara.patch
+++ b/testing/py3-yara/use-system-yara.patch
@@ -1,9 +1,12 @@
---- a/setup.py.orig 2019-05-02 17:34:46.000000000 +0800
-+++ b/setup.py 2019-05-07 08:20:20.841022106 +0800
-@@ -325,5 +325,5 @@
+diff --git a/setup.py b/setup.py
+index 1289558..5fa5605 100644
+--- a/setup.py
++++ b/setup.py
+@@ -392,6 +392,6 @@ setup(
'update': UpdateCommand},
ext_modules=[Extension(
name='yara',
- include_dirs=['yara/libyara/include', 'yara/libyara/', '.'],
+ libraries = ['yara'],
+ define_macros=[('BUCKETS_128', 1), ('CHECKSUM_1B', 1)],
sources=['yara-python.c'])])
diff --git a/testing/py3-yg.lockfile/APKBUILD b/testing/py3-yg.lockfile/APKBUILD
deleted file mode 100644
index 50da7f6fa5e..00000000000
--- a/testing/py3-yg.lockfile/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Duncan Bellamy <dunk@denkimushi.com>
-# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
-pkgname=py3-yg.lockfile
-pkgver=2.3
-pkgrel=2
-pkgdesc="Lockfile object with timeouts and context manager"
-url="https://github.com/yougov/yg.lockfile"
-arch="noarch"
-license="MIT"
-depends="py3-jaraco.functools py3-tempora py3-zc.lockfile"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest"
-source="https://files.pythonhosted.org/packages/source/y/yg.lockfile/yg.lockfile-$pkgver.tar.gz
- setuptools_scm.patch
- "
-builddir="$srcdir/yg.lockfile-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 -m pytest
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-0d28f48dd380f8919d592fad85d7aadf40802a23267c2c6751915b65b284c94acd64422454d04a0b45275b6c600b4e880b82a87cef2c38289c464e95eda121ff yg.lockfile-2.3.tar.gz
-93da566bf12f0902da490b5a96a39e12771e6d040abd5385ff9b61499788f470f6ce8d212c671666db04f831ee979cdcb4e0e1943946c5e123b3a6ab8686b185 setuptools_scm.patch
-"
diff --git a/testing/py3-yg.lockfile/setuptools_scm.patch b/testing/py3-yg.lockfile/setuptools_scm.patch
deleted file mode 100644
index ef87d7c78cf..00000000000
--- a/testing/py3-yg.lockfile/setuptools_scm.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -49,9 +49,6 @@
- "contextlib2>=0.5",
- ],
- },
-- setup_requires=[
-- 'setuptools_scm>=1.15.0',
-- ],
- classifiers=[
- "Development Status :: 5 - Production/Stable",
- "Intended Audience :: Developers",
diff --git a/testing/py3-youtube-search/APKBUILD b/testing/py3-youtube-search/APKBUILD
new file mode 100644
index 00000000000..ff46a5d7e2b
--- /dev/null
+++ b/testing/py3-youtube-search/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=py3-youtube-search
+_pkgname=youtube-search-python
+pkgver=1.6.6
+pkgrel=3
+pkgdesc="Search for YouTube videos, channels & playlists"
+url="https://github.com/alexmercerind/youtube-search-python"
+arch="noarch !armhf !ppc64le" # limited by py3-httpx
+license="MIT"
+depends="py3-httpx"
+makedepends="py3-setuptools"
+options="!check" # no test suite
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/alexmercerind/youtube-search-python/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+075af3545d92c19819a1f46d27199a9c0733fc7a69806f6398dcfc2b391051618bd06d845658a4cfb94adf13c1adb5463971bf28b634873af79a59d3d8c6c1dc py3-youtube-search-1.6.6.tar.gz
+"
diff --git a/testing/py3-zfs-autobackup/APKBUILD b/testing/py3-zfs-autobackup/APKBUILD
new file mode 100644
index 00000000000..2acfa3d45d9
--- /dev/null
+++ b/testing/py3-zfs-autobackup/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Edwin Eefting <edwin@datux.nl>
+# Maintainer: Julie Koubova <julie@koubova.net>
+pkgname=py3-zfs-autobackup
+pkgver=3.2.2
+pkgrel=1
+pkgdesc="ZFS autobackup is used to periodically backup ZFS filesystems to other locations."
+url="https://github.com/psy0rz/zfs_autobackup"
+arch="noarch"
+license="GPL-3.0-only"
+depends="py3-colorama"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+source="$pkgname-$pkgver.tar.gz::https://github.com/psy0rz/zfs_autobackup/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/zfs_autobackup-$pkgver"
+subpackages="$pkgname-pyc"
+options="!check" # tests need ZFS installed and root access to create RAM-disk zpools
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ "$builddir"/.dist/*.whl
+}
+
+sha512sums="
+48aaf51d89a649caeccb57cef75b4e09a325106ac6fdc63f85fe70b2961e6b42c64dfbbfc8f2ae1d1b4b0628747ed91969bed4b376d2f1f3d07fbea15ff5b3a2 py3-zfs-autobackup-3.2.2.tar.gz
+"
diff --git a/testing/py3-zimscraperlib/APKBUILD b/testing/py3-zimscraperlib/APKBUILD
new file mode 100644
index 00000000000..57ff81ea02d
--- /dev/null
+++ b/testing/py3-zimscraperlib/APKBUILD
@@ -0,0 +1,69 @@
+# Contributor: Oleg Titov <oleg.titov@gmail.com>
+# Maintainer: Oleg Titov <oleg.titov@gmail.com>
+pkgname=py3-zimscraperlib
+pkgver=3.2.0
+pkgrel=0
+pkgdesc="Collection of python code to re-use across python-based scrapers"
+url="https://github.com/openzim/python-scraperlib"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ ffmpeg
+ gifsicle
+ py3-pillow
+ py3-six
+ wget
+ "
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+checkdepends="
+ py3-babel
+ py3-beautifulsoup4
+ py3-colorthief
+ py3-iso639
+ py3-libzim
+ py3-lxml
+ py3-magic
+ py3-optimize-images
+ py3-piexif
+ py3-pytest
+ py3-pytest-cov
+ py3-pytest-httpbin
+ py3-resizeimage
+ py3-requests
+ py3-wsgiprox
+ yt-dlp-core
+ "
+subpackages="$pkgname-pyc"
+source="py3-zimscraperlib-$pkgver.tar.gz::https://github.com/openzim/python-scraperlib/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/python-scraperlib-$pkgver"
+
+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
+
+ # some tests may fail, so disable them
+ # https://github.com/openzim/python-scraperlib/issues/114
+ .testenv/bin/python3 -m pytest \
+ -k "not test_get_media_info[mp4-video.mp4-expected1]"` \
+ `" and not test_reencode_media[video.mkv-video.mp4-ffmpeg_args0-expected0]"` \
+ `" and not test_selocale_unsupported"` \
+ `" and not test_installed_script" \
+ --runslow --runinstalled \
+ --cov=zimscraperlib \
+ --cov-report=term --cov-report term-missing
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+4f15f6cb4aee8adb07ed9baa7b6dff055aa334e204a53d49c23828f2c1247ec195a10f30d4a7477e3d9510c785cf8fcb7aeed2ab7a4f39136d7da58de103c3d5 py3-zimscraperlib-3.2.0.tar.gz
+"
diff --git a/testing/py3-zipstream-ng/APKBUILD b/testing/py3-zipstream-ng/APKBUILD
new file mode 100644
index 00000000000..793debfc873
--- /dev/null
+++ b/testing/py3-zipstream-ng/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=py3-zipstream-ng
+pkgver=1.7.1
+pkgrel=1
+pkgdesc="A modern and easy to use streamable zip file generator"
+url="https://github.com/pR0Ps/zipstream-ng"
+arch="noarch"
+license="LGPL-3.0-only"
+depends="python3"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/pR0Ps/zipstream-ng/archive/refs/tags/v$pkgver/zipstream-ng-$pkgver.tar.gz"
+builddir="$srcdir/zipstream-ng-$pkgver"
+
+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="
+c775e0240880209984c3d3faba62c4ec43874f007397669358e308ca833abe5d8d2cf20b0157ffbdd06df476ed767c027a1dbc08c6677002f94e71eb9d934d96 zipstream-ng-1.7.1.tar.gz
+"
diff --git a/testing/py3-zope-configuration/APKBUILD b/testing/py3-zope-configuration/APKBUILD
index 9368d8422e0..b6bc723373d 100644
--- a/testing/py3-zope-configuration/APKBUILD
+++ b/testing/py3-zope-configuration/APKBUILD
@@ -2,32 +2,40 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=py3-zope-configuration
_pkgname=zope.configuration
-pkgver=4.4.0
+pkgver=5.0.1
pkgrel=2
pkgdesc="Zope Configuration Markup Language"
-url="http://pypi.python.org/pypi/zope.configuration"
+url="https://pypi.org/project/zope.configuration"
arch="noarch"
license="ZPL-2.1"
-depends="python3 py3-zope-interface py3-setuptools py3-zope-schema py3-zope-i18nmessageid"
+depends="py3-zope-interface py3-setuptools py3-zope-schema py3-zope-i18nmessageid"
+makedepends="py3-gpep517 py3-wheel"
checkdepends="py3-zope-testrunner py3-zope-testing py3-manuel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir"/$_pkgname-$pkgver
-replaces="py-zope-configuration" # Backwards compatibility
+replaces="py-zope-configuration" # Backwards compatibility
provides="py-zope-configuration=$pkgver-r$pkgrel" # Backwards compatibility
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m zope.testrunner
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+ rm -r "$pkgdir"/usr/lib/python*/site-packages/zope/configuration/tests
}
sha512sums="
-6383c8e19ddbde098a545b6f22b21eadc860980e8248d05c2e29832971c2060fcde6f5092425d12198e97851f0b7b5edb0b83cc6725cda433867762778c896f9 zope.configuration-4.4.0.tar.gz
+58fec7b330a4ee5f9bb71238fbcb8f07fdd7b6767cb2d8e054699ffcb915973b9dfead33e5515f40049f6aede233d31624d09d7f84d75b96318e63f8ab454147 zope.configuration-5.0.1.tar.gz
"
diff --git a/testing/py3-zope-exceptions/APKBUILD b/testing/py3-zope-exceptions/APKBUILD
deleted file mode 100644
index d444bf3e1a9..00000000000
--- a/testing/py3-zope-exceptions/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
-pkgname=py3-zope-exceptions
-_pyname=zope.exceptions
-pkgver=4.4
-pkgrel=2
-pkgdesc="Zope Exceptions"
-# Cyclic dep zope.testrunner needs zope.exceptions to run, but zope.exceptions
-# needs zope.testrunner on its test dependencies
-options="!check"
-url="https://github.com/zopefoundation/zope.exceptions"
-arch="noarch"
-license="ZPL-2.1"
-depends="python3 py3-zope-interface py3-setuptools"
-source="https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz"
-builddir="$srcdir/$_pyname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="6ef175271ad1d62b450533e4c7d8f7380ffac519be5c48be084be297ad21d21fd8be380d9b5e221a8dac6a4c792bab14abc707331415c2df88208cac9c34013e zope.exceptions-4.4.tar.gz"
diff --git a/testing/py3-zope-i18nmessageid/APKBUILD b/testing/py3-zope-i18nmessageid/APKBUILD
index 276042a2c34..4fbd6652da5 100644
--- a/testing/py3-zope-i18nmessageid/APKBUILD
+++ b/testing/py3-zope-i18nmessageid/APKBUILD
@@ -2,15 +2,16 @@
# Maintainer:
pkgname=py3-zope-i18nmessageid
_pkgname=zope.i18nmessageid
-pkgver=5.0.1
-pkgrel=2
+pkgver=6.1.0
+pkgrel=1
pkgdesc="Message Identifiers for internationalization"
url="https://github.com/zopefoundation/zope.i18nmessageid"
arch="all"
license="ZPL-2.1"
-depends="py3-setuptools py3-six"
+depends="py3-setuptools"
makedepends="python3-dev"
checkdepends="py3-nose py3-coverage py3-zope-testrunner"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -19,11 +20,14 @@ build() {
}
check() {
- python3 setup.py test
+ # optimizations don't work(?)
+ nosetests -e "test_optimizations_available"
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="31af16581d59ce1b7d5d8fd86c715c56b84aee9a7a0756bb2b7ceac6db30903acc5fdff85d844c0250c0a112cb45ab03be2f56d3d4ca6165272ff76c09d40d8c zope.i18nmessageid-5.0.1.tar.gz"
+sha512sums="
+13ca8d6c145ac48217d0f4fae4ae7fa2129a8d37ceeea640dcedca8815587cc9507935f0cc070bf37307cc21269b1a9decd2d18ae1bc79fdb0128f59f7e4b43b zope.i18nmessageid-6.1.0.tar.gz
+"
diff --git a/testing/py3-zope-schema/APKBUILD b/testing/py3-zope-schema/APKBUILD
index 0ce4944497a..d96f6ea560d 100644
--- a/testing/py3-zope-schema/APKBUILD
+++ b/testing/py3-zope-schema/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=py3-zope-schema
_pkgname=zope.schema
-pkgver=5.0.1
+pkgver=7.0.1
pkgrel=2
pkgdesc="zope.interface extension for defining data schemas"
options="!check" # Tests require 'zope.testing', 'zope.testruner' and 'zope.i18nmessageid'
@@ -10,6 +10,7 @@ url="https://github.com/zopefoundation/zope.schema"
arch="noarch"
license="ZPL-2.1"
depends="py3-setuptools py3-zope-interface py3-zope-event"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
builddir="$srcdir/$_pkgname-$pkgver"
@@ -18,8 +19,10 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
rm -rf "$pkgdir"/usr/lib/python3*/site-packages/zope/schema/tests
}
-sha512sums="f3fe1b2e881f4a39bdce07f37e22491880dfbc827041a90c6dd5b2384a6c4daabe6c965810372adb98f9a32fd3bd11717cf3d9762365ccc449483833b5095dae zope.schema-5.0.1.tar.gz"
+sha512sums="
+a8da9ac2e7239d15ed6cef83b4f500bca989c9ef2b7f1cd06ce532c260a8b8488b6fa42a6b2cfaeee505db87d3235f81815dc7eb80401c9e482141f8bf717e62 zope.schema-7.0.1.tar.gz
+"
diff --git a/testing/py3-zope-testrunner/APKBUILD b/testing/py3-zope-testrunner/APKBUILD
deleted file mode 100644
index 7266f2d6456..00000000000
--- a/testing/py3-zope-testrunner/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: Justin Berthault <justin.berthault@zaclys.net>
-pkgname=py3-zope-testrunner
-_pkgname=zope.testrunner
-pkgver=5.4.0
-pkgrel=0
-pkgdesc="Zope testrunner script"
-options="!check" # Fails to run
-url="https://github.com/zopefoundation/zope.testrunner"
-arch="noarch"
-license="ZPL-2.1"
-depends="python3 py3-setuptools py3-six py3-zope-exceptions py3-zope-interface"
-checkdepends="py3-zope-testing"
-source="https://files.pythonhosted.org/packages/source/${_pkgname:0:1}/$_pkgname/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-c8c6cbbd2cc352f52068ada3c23305cc270736aaa20c14f7c218bc40d6873cb8e8ecb4e2e1601b8833d32e91ac87e0067515458b96194cfc23b6d02cb71613f2 zope.testrunner-5.4.0.tar.gz
-"
diff --git a/testing/py3-zstandard/APKBUILD b/testing/py3-zstandard/APKBUILD
deleted file mode 100644
index c488a11f7c6..00000000000
--- a/testing/py3-zstandard/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=py3-zstandard
-pkgver=0.16.0
-pkgrel=0
-pkgdesc="Python bindings to the Zstandard (zstd) compression library"
-url="https://github.com/indygreg/python-zstandard"
-license="BSD-3-Clause"
-# armhf: tests fail (bus error)
-# s390x: https://github.com/indygreg/python-zstandard/issues/105
-arch="all !armhf !s390x"
-depends="python3"
-makedepends="python3-dev py3-setuptools py3-cffi"
-checkdepends="py3-hypothesis"
-source="$pkgname-$pkgver.tar.gz::https://github.com/indygreg/python-zstandard/archive/$pkgver.tar.gz"
-builddir="$srcdir/python-zstandard-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --root="$pkgdir" --skip-build
-}
-
-sha512sums="
-d016017db79d60a1bfd318968f595959bf7feacbd3d0fec4f1bd89f122cbc4923b4744b760332eae36e5deb0041336e2fddc7a165055b33c4d60eae5db5e0d34 py3-zstandard-0.16.0.tar.gz
-"
diff --git a/testing/py3-zulip/APKBUILD b/testing/py3-zulip/APKBUILD
deleted file mode 100644
index c6475b04840..00000000000
--- a/testing/py3-zulip/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: omni <omni+alpine@hack.org>
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=py3-zulip
-_pkgname=python-zulip-api
-pkgver=0.8.1
-pkgrel=1
-pkgdesc="Zulip API bindings"
-url="https://github.com/zulip/python-zulip-api/"
-arch="noarch"
-license="Apache-2.0"
-depends="py3-requests py3-distro py3-openssl"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-pytest-runner"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/zulip/python-zulip-api/archive/$pkgver.tar.gz
- disable-matrix_bridge.patch"
-builddir="$srcdir/$_pkgname-$pkgver/zulip"
-
-prepare() {
- default_prepare
- rm -rf integrations/bridge_with_matrix # FIXME: when upstream use matrix-nio
-}
-
-build() {
- python3 setup.py build
-}
-
-check() {
- py.test-3
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm0644 README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
- install -Dm0644 ../LICENSE -t "$pkgdir"/usr/share/doc/"$pkgname"
-}
-
-sha512sums="42c7feb0864fbe6432edd5fd7ac68b7f183d749a4692230e2a233472a8c05277c4b03deff0cee46a01b67e9f150f00d37f68a71bac70dbe6c8e1aa639a8f965d py3-zulip-0.8.1.tar.gz
-9db34d936e8de3927104120aa5d254434582882680b9b4309e84ad7bc850fb5a4e0cfa1edd880ecd264dd9ecc5d75e066afc6d31b2ac3802501b8e150273bee6 disable-matrix_bridge.patch"
diff --git a/testing/py3-zulip/disable-matrix_bridge.patch b/testing/py3-zulip/disable-matrix_bridge.patch
deleted file mode 100644
index c4073d1b4d2..00000000000
--- a/testing/py3-zulip/disable-matrix_bridge.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Disable this until upstream has migrated to matrix-nio
-https://github.com/zulip/python-zulip-api/issues/604
---- a/setup.py
-+++ b/setup.py
-@@ -59,7 +59,6 @@ package_info = dict(
- "console_scripts": [
- "zulip-send=zulip.send:main",
- "zulip-api-examples=zulip.api_examples:main",
-- "zulip-matrix-bridge=integrations.bridge_with_matrix.matrix_bridge:main",
- "zulip-api=zulip.cli:cli",
- ],
- },
-@@ -69,7 +68,6 @@ package_info = dict(
- setuptools_info = dict(
- install_requires=[
- "requests[security]>=0.12.1",
-- "matrix_client",
- "distro",
- "click",
- ],
diff --git a/testing/pympress/APKBUILD b/testing/pympress/APKBUILD
new file mode 100644
index 00000000000..4628560fefd
--- /dev/null
+++ b/testing/pympress/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=pympress
+pkgver=1.8.5
+pkgrel=1
+pkgdesc="PDF reader designed for dual-screen presentations"
+url="https://github.com/Cimbali/pympress"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="
+ gdk-pixbuf
+ gobject-introspection
+ gstreamer
+ gtk+3.0
+ poppler-glib
+ py3-cairo
+ py3-gobject3
+ py3-watchdog
+ "
+makedepends="
+ py3-babel
+ py3-gpep517
+ py3-myst-parser
+ py3-setuptools
+ py3-sphinx
+ py3-wheel
+ "
+subpackages="$pkgname-pyc $pkgname-lang $pkgname-doc"
+source="https://github.com/Cimbali/pympress/archive/refs/tags/v$pkgver/pympress-$pkgver.tar.gz"
+options="bigdocs !check" # no upstream tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+
+ python3 -m sphinx -bhtml docs/ build/sphinx/html/
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+
+ mkdir -p "$pkgdir"/usr/share/doc/"$pkgname"
+ cp -a build/sphinx/html/* "$pkgdir"/usr/share/doc/"$pkgname"/
+}
+
+lang() {
+ pkgdesc="Translations for $pkgname"
+ install_if="lang $pkgname=$pkgver-r$pkgrel"
+ amove usr/lib/python3.*/site-packages/pympress/share/locale
+}
+
+sha512sums="
+e110d99935a43f7b4b36581993247c8f44cb214759a98017f8d49f9aadcb998528787154a0c6e53d39c1da650df8a314513af06482b1dc145ea020dd278f4aea pympress-1.8.5.tar.gz
+"
diff --git a/testing/pypy-bootstrap/APKBUILD b/testing/pypy-bootstrap/APKBUILD
new file mode 100644
index 00000000000..103cfb5e43b
--- /dev/null
+++ b/testing/pypy-bootstrap/APKBUILD
@@ -0,0 +1,121 @@
+# Maintainer: Thomas Liske <thomas@fiasko-nw.net>
+pkgname=pypy-bootstrap
+pkgver=7.3.12
+_py2ver=2.7.18
+_pycpver=2.21
+pkgrel=0
+pkgdesc="Fast, compliant alternative implementation of Python"
+url="https://www.pypy.org/"
+arch="x86 x86_64 s390x aarch64 ppc64le"
+license="MIT"
+makedepends="
+ bzip2-dev
+ expat-dev
+ gdbm-dev
+ libc-dev
+ libffi-dev
+ linux-headers
+ ncurses-dev
+ openssl-dev>3
+ perl
+ pkgconf
+ readline-dev
+ rsync
+ sqlite-dev
+ tk-dev
+ xz-dev
+ zlib-dev
+ "
+options="!check"
+# libpypy-c.so on x86 has textrels; no checks for bootstrap
+[ "$CARCH" = "x86" ] && options="$options textrels"
+source="https://downloads.python.org/pypy/pypy2.7-v$pkgver-src.tar.bz2
+ https://www.python.org/ftp/python/$_py2ver/Python-$_py2ver.tar.xz
+ https://files.pythonhosted.org/packages/source/p/pycparser/pycparser-$_pycpver.tar.gz
+ py2_musl-find_library.py2patch
+ py2_unchecked-ioctl.py2patch
+ py2_cve-2021-3177.py2patch
+ "
+
+# Provide pypy-bootstrap for testing/pypy.
+provider_priority=1 # lowest
+
+prepare() {
+ default_prepare
+
+ cd Python-$_py2ver
+
+ # apply Python2 patches
+ for i in ../py2_*.py2patch; do
+ patch -p1 <$i
+ done
+
+ # Make sure Python2 uses system libs
+ rm -r Modules/expat Modules/_ctypes/libffi* Modules/zlib
+}
+
+build() {
+ ### Python2 ###
+ export OPT="$CFLAGS -DTHREAD_STACK_SIZE=0x100000"
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=$srcdir/usr \
+ --enable-ipv6 \
+ --enable-shared \
+ --enable-unicode=ucs4 \
+ --with-system-expat \
+ --with-system-ffi \
+ --with-system-zlib \
+ --with-threads
+ make LD_RUN_PATH="$srcdir/usr/lib"
+ make -j1 install
+
+ # pycparser
+ cd $srcdir/pycparser-$_pycpver
+ ../usr/bin/python2 setup.py install
+
+ ### PyPy ###
+ cd $srcdir/pypy2.7-v$pkgver-src/pypy/goal
+
+ if [ "$JOBS" -gt 16 ]; then
+ export JOBS=16
+ fi
+
+ # translate with JIT
+ ../../../usr/bin/python2 ../../rpython/bin/rpython \
+ --opt=jit \
+ --shared \
+ --make-jobs $JOBS \
+ targetpypystandalone
+
+ # compile binary modules
+ PYTHONPATH=../.. ./pypy-c ../../lib_pypy/pypy_tools/build_cffi_imports.py
+}
+
+package() {
+ cd src/pypy2.7-v$pkgver-src
+
+ install -Dm755 pypy/goal/pypy-c "$pkgdir"/usr/lib/pypy/bin/pypy-c
+ install -Dm755 pypy/goal/libpypy-c.so "$pkgdir"/usr/lib/pypy/bin/libpypy-c.so
+
+ rsync -r --exclude='__pycache__' --exclude='*.c' --exclude '*.o' lib_pypy/ "$pkgdir"/usr/lib/pypy/lib_pypy/
+
+ rsync -r --exclude='__pycache__' --exclude='test' --exclude='tests' lib-python/ "$pkgdir"/usr/lib/pypy/lib-python/
+
+ rsync -r --include='*.h' -f 'hide,! */' include/ "$pkgdir"/usr/lib/pypy/include/
+
+ # Install symlinks
+ mkdir -p "$pkgdir"/usr/bin "$pkgdir"/usr/lib
+ ln -s ../lib/pypy/bin/pypy-c "$pkgdir"/usr/bin/pypy
+ ln -s pypy/bin/libpypy-c.so "$pkgdir"/usr/lib/libpypy-c.so
+}
+
+sha512sums="
+35ec35376f1e7c1a5dea9dc5bce6819a94c2df2645806c83185487587470b47ab529c25ecb8ca200505319f40789859a2919c61902b693421e2001313b46e5f4 pypy2.7-v7.3.12-src.tar.bz2
+a7bb62b51f48ff0b6df0b18f5b0312a523e3110f49c3237936bfe56ed0e26838c0274ff5401bda6fc21bf24337477ccac49e8026c5d651e4b4cafb5eb5086f6c Python-2.7.18.tar.xz
+e61fbdde484d1cf74d4b27bdde40cf2da4b7028ca8ecd37c83d77473dab707d457321aecaf97da3b114c1d58a4eb200290b76f9c958044b57e5fed949895b5f0 pycparser-2.21.tar.gz
+ab8eaa2858d5109049b1f9f553198d40e0ef8d78211ad6455f7b491af525bffb16738fed60fc84e960c4889568d25753b9e4a1494834fea48291b33f07000ec2 py2_musl-find_library.py2patch
+5a8e013a4132d71c4360771f130d27b37275ae59330cf9a75378dc8a11236017f540eb224f2a148984e82ca3fb6b29129375b1080ba05b81044faa717520ab82 py2_unchecked-ioctl.py2patch
+7d6c5d85a572450fb463feea9c7a8159aa8dd0c604e69f19da6eb57108c60e37ebce41b80758f63dd01e4a22286f80665ce4d778a30fa45ad5f1d6ce074c1f81 py2_cve-2021-3177.py2patch
+"
diff --git a/testing/pypy-bootstrap/py2_cve-2021-3177.py2patch b/testing/pypy-bootstrap/py2_cve-2021-3177.py2patch
new file mode 100644
index 00000000000..ca5da80e13c
--- /dev/null
+++ b/testing/pypy-bootstrap/py2_cve-2021-3177.py2patch
@@ -0,0 +1,150 @@
+bpo-42938: Replace snprintf with Python unicode formatting in ctypes param reprs.
+--- Python-2.7.18.orig/Lib/ctypes/test/test_parameters.py
++++ Python-2.7.18/Lib/ctypes/test/test_parameters.py
+@@ -206,6 +206,49 @@
+ with self.assertRaises(ZeroDivisionError):
+ WorseStruct().__setstate__({}, b'foo')
+
++ def test_parameter_repr(self):
++ from ctypes import (
++ c_bool,
++ c_char,
++ c_wchar,
++ c_byte,
++ c_ubyte,
++ c_short,
++ c_ushort,
++ c_int,
++ c_uint,
++ c_long,
++ c_ulong,
++ c_longlong,
++ c_ulonglong,
++ c_float,
++ c_double,
++ c_longdouble,
++ c_char_p,
++ c_wchar_p,
++ c_void_p,
++ )
++ self.assertRegexpMatches(repr(c_bool.from_param(True)), r"^<cparam '\?' at 0x[A-Fa-f0-9]+>$")
++ self.assertEqual(repr(c_char.from_param('a')), "<cparam 'c' (a)>")
++ self.assertRegexpMatches(repr(c_wchar.from_param('a')), r"^<cparam 'u' at 0x[A-Fa-f0-9]+>$")
++ self.assertEqual(repr(c_byte.from_param(98)), "<cparam 'b' (98)>")
++ self.assertEqual(repr(c_ubyte.from_param(98)), "<cparam 'B' (98)>")
++ self.assertEqual(repr(c_short.from_param(511)), "<cparam 'h' (511)>")
++ self.assertEqual(repr(c_ushort.from_param(511)), "<cparam 'H' (511)>")
++ self.assertRegexpMatches(repr(c_int.from_param(20000)), r"^<cparam '[li]' \(20000\)>$")
++ self.assertRegexpMatches(repr(c_uint.from_param(20000)), r"^<cparam '[LI]' \(20000\)>$")
++ self.assertRegexpMatches(repr(c_long.from_param(20000)), r"^<cparam '[li]' \(20000\)>$")
++ self.assertRegexpMatches(repr(c_ulong.from_param(20000)), r"^<cparam '[LI]' \(20000\)>$")
++ self.assertRegexpMatches(repr(c_longlong.from_param(20000)), r"^<cparam '[liq]' \(20000\)>$")
++ self.assertRegexpMatches(repr(c_ulonglong.from_param(20000)), r"^<cparam '[LIQ]' \(20000\)>$")
++ self.assertEqual(repr(c_float.from_param(1.5)), "<cparam 'f' (1.5)>")
++ self.assertEqual(repr(c_double.from_param(1.5)), "<cparam 'd' (1.5)>")
++ self.assertEqual(repr(c_double.from_param(1e300)), "<cparam 'd' (1e+300)>")
++ self.assertRegexpMatches(repr(c_longdouble.from_param(1.5)), r"^<cparam ('d' \(1.5\)|'g' at 0x[A-Fa-f0-9]+)>$")
++ self.assertRegexpMatches(repr(c_char_p.from_param(b'hihi')), "^<cparam 'z' \(0x[A-Fa-f0-9]+\)>$")
++ self.assertRegexpMatches(repr(c_wchar_p.from_param('hihi')), "^<cparam 'Z' \(0x[A-Fa-f0-9]+\)>$")
++ self.assertRegexpMatches(repr(c_void_p.from_param(0x12)), r"^<cparam 'P' \(0x0*12\)>$")
++
+ ################################################################
+
+ if __name__ == '__main__':
+--- Python-2.7.18.orig/Modules/_ctypes/callproc.c
++++ Python-2.7.18/Modules/_ctypes/callproc.c
+@@ -460,50 +460,53 @@
+ static PyObject *
+ PyCArg_repr(PyCArgObject *self)
+ {
+- char buffer[256];
+ switch(self->tag) {
+ case 'b':
+ case 'B':
+- sprintf(buffer, "<cparam '%c' (%d)>",
++ return PyString_FromFormat("<cparam '%c' (%d)>",
+ self->tag, self->value.b);
+- break;
+ case 'h':
+ case 'H':
+- sprintf(buffer, "<cparam '%c' (%d)>",
++ return PyString_FromFormat("<cparam '%c' (%d)>",
+ self->tag, self->value.h);
+- break;
+ case 'i':
+ case 'I':
+- sprintf(buffer, "<cparam '%c' (%d)>",
++ return PyString_FromFormat("<cparam '%c' (%d)>",
+ self->tag, self->value.i);
+- break;
+ case 'l':
+ case 'L':
+- sprintf(buffer, "<cparam '%c' (%ld)>",
++ return PyString_FromFormat("<cparam '%c' (%ld)>",
+ self->tag, self->value.l);
+- break;
+
+ #ifdef HAVE_LONG_LONG
+ case 'q':
+ case 'Q':
+- sprintf(buffer,
+- "<cparam '%c' (%" PY_FORMAT_LONG_LONG "d)>",
++ return PyString_FromFormat("<cparam '%c' (%" PY_FORMAT_LONG_LONG "d)>",
+ self->tag, self->value.q);
+- break;
+ #endif
+ case 'd':
+- sprintf(buffer, "<cparam '%c' (%f)>",
+- self->tag, self->value.d);
+- break;
+- case 'f':
+- sprintf(buffer, "<cparam '%c' (%f)>",
+- self->tag, self->value.f);
+- break;
++ case 'f': {
++ PyObject *f = PyFloat_FromDouble((self->tag == 'f') ? self->value.f : self->value.d);
++ if (f == NULL) {
++ return NULL;
++ }
++ PyObject *r = PyObject_Repr(f);
++ Py_DECREF(f);
++ if (r == NULL) {
++ return NULL;
++ }
++ char *value = PyString_AsString(r);
++ Py_DECREF(r);
++ if (value == NULL) {
++ return NULL;
++ }
++ return PyString_FromFormat("<cparam '%c' (%s)>",
++ self->tag, value);
++ }
+
+ case 'c':
+- sprintf(buffer, "<cparam '%c' (%c)>",
++ return PyString_FromFormat("<cparam '%c' (%c)>",
+ self->tag, self->value.c);
+- break;
+
+ /* Hm, are these 'z' and 'Z' codes useful at all?
+ Shouldn't they be replaced by the functionality of c_string
+@@ -512,16 +515,13 @@
+ case 'z':
+ case 'Z':
+ case 'P':
+- sprintf(buffer, "<cparam '%c' (%p)>",
++ return PyString_FromFormat("<cparam '%c' (%p)>",
+ self->tag, self->value.p);
+- break;
+
+ default:
+- sprintf(buffer, "<cparam '%c' at %p>",
++ return PyString_FromFormat("<cparam '%c' at %p>",
+ self->tag, self);
+- break;
+ }
+- return PyString_FromString(buffer);
+ }
+
+ static PyMemberDef PyCArgType_members[] = {
+
diff --git a/testing/pypy-bootstrap/py2_musl-find_library.py2patch b/testing/pypy-bootstrap/py2_musl-find_library.py2patch
new file mode 100644
index 00000000000..7899abb7360
--- /dev/null
+++ b/testing/pypy-bootstrap/py2_musl-find_library.py2patch
@@ -0,0 +1,45 @@
+diff -ru Python-2.7.12.orig/Lib/ctypes/util.py Python-2.7.12/Lib/ctypes/util.py
+--- Python-2.7.12.orig/Lib/ctypes/util.py 2016-06-26 00:49:30.000000000 +0300
++++ Python-2.7.12/Lib/ctypes/util.py 2016-11-03 16:05:46.954665040 +0200
+@@ -204,6 +204,41 @@
+ def find_library(name, is64 = False):
+ return _get_soname(_findLib_crle(name, is64) or _findLib_gcc(name))
+
++ elif True:
++
++ # Patched for Alpine Linux / musl - search manually system paths
++ def _is_elf(filepath):
++ try:
++ with open(filepath, 'rb') as fh:
++ return fh.read(4) == b'\x7fELF'
++ except:
++ return False
++
++ def find_library(name):
++ from glob import glob
++ # absolute name?
++ if os.path.isabs(name):
++ return name
++ # special case for libm, libcrypt and libpthread and musl
++ if name in ['m', 'crypt', 'pthread']:
++ name = 'c'
++ elif name in ['libm.so', 'libcrypt.so', 'libpthread.so']:
++ name = 'libc.so'
++ # search in standard locations (musl order)
++ paths = ['/lib', '/usr/local/lib', '/usr/lib']
++ if 'LD_LIBRARY_PATH' in os.environ:
++ paths = os.environ['LD_LIBRARY_PATH'].split(':') + paths
++ for d in paths:
++ f = os.path.join(d, name)
++ if _is_elf(f):
++ return os.path.basename(f)
++
++ prefix = os.path.join(d, 'lib'+name)
++ for suffix in ['.so', '.so.*']:
++ for f in glob('{0}{1}'.format(prefix, suffix)):
++ if _is_elf(f):
++ return os.path.basename(f)
++
+ else:
+
+ def _findSoname_ldconfig(name):
diff --git a/testing/pypy-bootstrap/py2_unchecked-ioctl.py2patch b/testing/pypy-bootstrap/py2_unchecked-ioctl.py2patch
new file mode 100644
index 00000000000..4d5564c2cb8
--- /dev/null
+++ b/testing/pypy-bootstrap/py2_unchecked-ioctl.py2patch
@@ -0,0 +1,11 @@
+--- ./Modules/fcntlmodule.c.orig
++++ ./Modules/fcntlmodule.c
+@@ -118,7 +118,7 @@
+ int mutate_arg = 1;
+ char buf[IOCTL_BUFSZ+1]; /* argument plus NUL byte */
+
+- if (PyArg_ParseTuple(args, "O&Iw#|i:ioctl",
++ if (PyArg_ParseTuple(args, "O&Iw#|n:ioctl",
+ conv_descriptor, &fd, &code,
+ &str, &len, &mutate_arg)) {
+ char *arg;
diff --git a/testing/pypy/APKBUILD b/testing/pypy/APKBUILD
index 44370690506..42ad73f332a 100644
--- a/testing/pypy/APKBUILD
+++ b/testing/pypy/APKBUILD
@@ -1,42 +1,67 @@
# Maintainer: Thomas Liske <thomas@fiasko-nw.net>
-
pkgname=pypy
-pkgver=7.3.5
-pkgrel=1
-pkgdesc="A fast, compliant alternative implementation of Python"
+pkgver=7.3.12
+_pkgver=${pkgver/_/}
+pkgrel=0
+pkgdesc="A fast, compliant alternative implementation of Python 2.7"
url="https://www.pypy.org/"
-arch="x86 x86_64 s390x aarch64"
+arch="x86 x86_64 s390x aarch64 ppc64le"
license="MIT"
subpackages="$pkgname-dev $pkgname-tkinter"
-provides="$pkgname-bootstrap=$pkgver-r$pkgrel"
-makedepends="bzip2-dev expat-dev gdbm-dev libc-dev libffi-dev linux-headers
- ncurses-dev openssl1.1-compat-dev pkgconf readline-dev sqlite-dev
- tk-dev xz-dev zlib-dev pypy-bootstrap py3-virtualenv rsync"
+provides="pypy-bootstrap"
+provider_priority=100 # highest
+makedepends="
+ bzip2-dev
+ expat-dev
+ gdbm-dev
+ libffi-dev
+ linux-headers
+ ncurses-dev
+ openssl-dev>3
+ perl
+ py3-virtualenv
+ pypy-bootstrap
+ readline-dev
+ rsync
+ sqlite-dev
+ tk-dev
+ util-linux-misc
+ xz-dev
+ zlib-dev
+ "
[ "$CARCH" = "x86" ] && options="textrels" # libpypy-c.so on x86 has textrels
-source="https://downloads.python.org/pypy/pypy2.7-v$pkgver-src.tar.bz2
+source="https://downloads.python.org/pypy/pypy2.7-v$_pkgver-src.tar.bz2
"
+case "$CARCH" in
+x86_64)
+ ;;
+*)
+ # ignore failing tests on some archs for now
+ options="$options !check"
+ ;;
+esac
+
build() {
- cd pypy2.7-v$pkgver-src/pypy/goal
+ cd pypy2.7-v$_pkgver-src/pypy/goal
+
+ if [ "$JOBS" -gt 16 ]; then
+ export JOBS=16
+ fi
# translate with JIT
- export JOBS=${JOBS:-$(nproc)}
- pypy ../../rpython/bin/rpython --opt=jit --shared --make-jobs $(( JOBS > 16 ? 16 : JOBS )) targetpypystandalone
+ pypy ../../rpython/bin/rpython --opt=jit --shared --make-jobs $JOBS targetpypystandalone
# compile binary modules
PYTHONPATH=../.. ./pypy-c ../../lib_pypy/pypy_tools/build_cffi_imports.py
}
check() {
- # ignore failing tests on aarch64 for now
- ./pypy-c -u ../test_all.py \
- ../module/pypyjit/test_pypy_c || \
- [ "$CARCH" = "aarch64" ] || \
- [ "$CARCH" = "s390x" ]
+ ./pypy-c -u ../test_all.py ../module/pypyjit/test_pypy_c
}
package() {
- cd src/pypy2.7-v$pkgver-src
+ cd src/pypy2.7-v$_pkgver-src
install -Dm755 pypy/goal/pypy-c "$pkgdir"/usr/lib/pypy/bin/pypy-c
install -Dm755 pypy/goal/libpypy-c.so "$pkgdir"/usr/lib/pypy/bin/libpypy-c.so
@@ -65,15 +90,12 @@ dev() {
tkinter() {
pkgdesc="Writing Tk applications with Pypy"
- mkdir -p "$subpkgdir"/usr/lib/pypy/lib_pypy "$subpkgdir"/usr/lib/pypy/lib-python/2.7
- mv "$pkgdir"/usr/lib/pypy/lib_pypy/_tkinter \
- "$subpkgdir"/usr/lib/pypy/lib_pypy/
- mv "$pkgdir"/usr/lib/pypy/lib-python/2.7/lib-tk \
- "$subpkgdir"/usr/lib/pypy/lib-python/2.7/
- mv "$pkgdir"/usr/lib/pypy/lib-python/2.7/idlelib \
- "$subpkgdir"/usr/lib/pypy/lib-python/2.7/
+ amove \
+ usr/lib/pypy/lib_pypy/_tkinter \
+ usr/lib/pypy/lib-python/2.7/lib-tk \
+ usr/lib/pypy/lib-python/2.7/idlelib
}
sha512sums="
-a30c666c29eec7cca7e2e52f26480958b5885cd59c6b2e3d3c0d8c1cc55c298e878fc95f88e38a4297bb3d7d1cc1f77470de958e5acfd317e1fc8bdd5d013dcb pypy2.7-v7.3.5-src.tar.bz2
+35ec35376f1e7c1a5dea9dc5bce6819a94c2df2645806c83185487587470b47ab529c25ecb8ca200505319f40789859a2919c61902b693421e2001313b46e5f4 pypy2.7-v7.3.12-src.tar.bz2
"
diff --git a/testing/pypy3/0001-time.patch b/testing/pypy3/0001-time.patch
index 83e2b4e3f4a..fa929736bc3 100644
--- a/testing/pypy3/0001-time.patch
+++ b/testing/pypy3/0001-time.patch
@@ -1,10 +1,10 @@
--- a/pypy/module/cpyext/include/Python.h.orig
+++ b/pypy/module/cpyext/include/Python.h
-@@ -11,6 +11,7 @@
+@@ -14,6 +14,7 @@
# include <math.h>
# include <errno.h>
# include <unistd.h>
+# include <sys/time.h>
- # define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
- # define PyAPI_FUNC(RTYPE) __attribute__((visibility("default"))) RTYPE
- # define PyAPI_DATA(RTYPE) extern PyAPI_FUNC(RTYPE)
+ #else
+ # ifdef _MSC_VER
+ # include <crtdefs.h>
diff --git a/testing/pypy3/APKBUILD b/testing/pypy3/APKBUILD
index 16a6714ba74..5322f6e6f83 100644
--- a/testing/pypy3/APKBUILD
+++ b/testing/pypy3/APKBUILD
@@ -1,43 +1,135 @@
# Maintainer: Thomas Liske <thomas@fiasko-nw.net>
-
pkgname=pypy3
-pkgver=7.3.7
+pkgver=7.3.12
+_pkgver=${pkgver/_/}
+_pyver=3.10
pkgrel=0
-pkgdesc="fast, compliant alternative implementation of Python 3.7"
+pkgdesc="Fast, compliant alternative implementation of Python $_pyver"
url="https://www.pypy.org/"
arch="x86 x86_64 aarch64 s390x"
license="MIT"
-makedepends="bzip2-dev expat-dev gdbm-dev libc-dev libffi-dev linux-headers
- ncurses-dev openssl1.1-compat-dev pkgconf readline-dev sqlite-dev tk-dev
- xz-dev zlib-dev pypy"
-options="!check" # checks will be enabled later
-[ "$CARCH" = "x86" ] && options="$options textrels" # on x86 has textrels
-source="https://downloads.python.org/pypy/pypy3.7-v$pkgver-src.tar.bz2
+makedepends="
+ bzip2-dev
+ expat-dev
+ gdbm-dev
+ libffi-dev
+ linux-headers
+ ncurses-dev
+ openssl-dev>3
+ pypy
+ readline-dev
+ sqlite-dev
+ tk-dev
+ util-linux-misc
+ xz-dev
+ zlib-dev
+ "
+subpackages="$pkgname-dev $pkgname-tests $pkgname-tkinter $pkgname-pyc"
+source="https://downloads.python.org/pypy/pypy$_pyver-v$_pkgver-src.tar.bz2
0001-time.patch
0002-extern-stdio.patch
"
-builddir="$srcdir/pypy3.7-v$pkgver-src"
+builddir="$srcdir/pypy$_pyver-v$_pkgver-src"
+options="!check" # todo
+
+[ "$CARCH" = "x86" ] && options="$options textrels" # on x86 has textrels
build() {
- cd pypy/goal
+ if [ "$JOBS" -gt 16 ]; then
+ export JOBS=16
+ fi
+
+ msg "building pypy3"
+ pypy rpython/bin/rpython --opt=jit --shared --make-jobs=${JOBS:-2} pypy/goal/targetpypystandalone.py
+
+ msg "configuring system dirs"
+ ./pypy3.10-c -m sysconfig --generate-posix-vars \
+ LIBDIR=/usr/lib \
+ TZPATH=/usr/share/zoneinfo \
+ INCLUDEPY=/usr/include/pypy$_pyver
- # translate with JIT
- export JOBS=${JOBS:-$(nproc)}
- pypy ../../rpython/bin/rpython --opt=jit --shared --make-jobs $(( JOBS > 16 ? 16 : JOBS )) targetpypystandalone
+ local out="$(cat pybuilddir.txt)"
+ cp "$out"/_sysconfigdata__*.py lib-python/3/
- # compile binary modules
- PYTHONPATH=../.. ./pypy3-c ../../lib_pypy/pypy_tools/build_cffi_imports.py
+ msg "generating pattern pickles"
+ ./pypy$_pyver-c - <<-EOF
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ msg "compiling binary modules"
+ ./pypy$_pyver-c lib_pypy/pypy_tools/build_cffi_imports.py
+
+ # cleanup pypy libdir
+ find lib_pypy -name "*_cffi.[co]" -delete
+ find lib_pypy -type d -empty -delete
+}
+
+check() {
+ ./pypy$_pyver-c -u pypy/test_all.py \
+ pypy/module/pypyjit/test_pypy_c
}
package() {
- # Prepare installation
- pypy pypy/tool/release/package.py --archive-name pypy --targetdir .
- mkdir -p $pkgdir
- tar xf pypy.tar.bz2 -C "$pkgdir"
+ mkdir -p "$pkgdir"/usr/lib/pypy$_pyver "$pkgdir"/usr/include
+
+ # install stdlib
+ # this puts everything just like python itself does
+ cp -a lib-python/3/. lib_pypy/. "$pkgdir"/usr/lib/pypy$_pyver/
+
+ # install includes
+ cp -a include/pypy$_pyver "$pkgdir"/usr/include/
+
+ # install pypy itself
+ install -Dm755 ./pypy$_pyver-c -t "$pkgdir"/usr/bin
+ install -Dm755 ./libpypy$_pyver-c.so -t "$pkgdir"/usr/lib/
+
+ # install symlink
+ ln -sfv pypy$_pyver-c "$pkgdir"/usr/bin/pypy3
+
+ # allow fail for 2to3 module
+ ./pypy$_pyver-c -m compileall -fq "$pkgdir"/usr/lib || true
+}
+
+dev() {
+ default_dev
+
+ # pyconfig.h is needed at runtime
+ mkdir -p "$pkgdir"/usr/include/pypy$_pyver
+ mv "$subpkgdir"/usr/include/pypy$_pyver/pyconfig.h \
+ "$pkgdir"/usr/include/pypy$_pyver/
+}
+
+tests() {
+ pkgdesc="$pkgdesc (test module)"
+
+ amove \
+ usr/lib/pypy$_pyver/test \
+ usr/lib/pypy$_pyver/*/test \
+ usr/lib/pypy$_pyver/*/tests
+}
+
+pyc() {
+ pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
+ install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
+
+ cd "$pkgdir"
+ local IFS='
+'
+ # shellcheck disable=2046
+ amove $(find usr/lib/pypy$_pyver -type d -name __pycache__)
+}
+
+tkinter() {
+ pkgdesc="$pkgdesc (tkinter module)"
+
+ amove usr/lib/pypy$_pyver/_tkinter \
+ usr/lib/pypy$_pyver/tkinter
}
sha512sums="
-99099f17682b606864753b76a6a0cdf860bc2bf79588ee53e7d0586d3f8f6ab6820240666bd3646ade6523dd5adc6999116d4db4285c688984dc33d4fa7743c6 pypy3.7-v7.3.7-src.tar.bz2
-17c5cb7101e9e1edaabf87e69e89bc5c750657291df7817b1cc86e63f28e86f61e14523a3ab9a04d35078efcf563c0b7bd45cdd7dea665df10e061a356aa66b1 0001-time.patch
+080520c7de267e17a2823f06cd0a15c108a2c32fc296d6e24782050eb546fa74852d948ede2c381dba110774121b20efc3a07b553acd0ac0db4a844dfc09069e pypy3.10-v7.3.12-src.tar.bz2
+42abc8c67c249ff012010aec568579cd738ed2d74ffdf93755c9427117e85cd859390266c7431fcb4d2fcfd82b61d5ba0c58bd0ceda44e5d12bf22df5935bb24 0001-time.patch
b648204914072e74367b94065d65b423324bcbabc0e2199ad195ab9822ccc6c51ec552c8c17ed22c26caf73b04d16d6f4c3e14a8d1af0e378d76d6c3b587b784 0002-extern-stdio.patch
"
diff --git a/testing/pypykatz/APKBUILD b/testing/pypykatz/APKBUILD
new file mode 100644
index 00000000000..5363e619b11
--- /dev/null
+++ b/testing/pypykatz/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=pypykatz
+pkgver=0.6.9
+pkgrel=1
+pkgdesc="Python implementation of Mimikatz"
+url="https://github.com/skelsec/pypykatz"
+arch="noarch"
+license="MIT"
+depends="
+ py3-aesedb
+ py3-aiosmb
+ py3-aiowinreg
+ py3-minidump
+ py3-minikerberos
+ py3-msldap
+ py3-tqdm
+ py3-unicrypto
+ py3-winacl
+ python3
+ "
+makedepends="
+ py3-gpep517
+ py3-wheel
+ py3-setuptools
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/skelsec/pypykatz/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+ac2c64424c1352c45c667116acf65c5aff9976db92f2f8a678b2e578410073484b4ae7e787e03f84d349f4b6277fa3927f2b2b471800a2fa193c007a5a90d1aa pypykatz-0.6.9.tar.gz
+"
diff --git a/testing/pyradio/APKBUILD b/testing/pyradio/APKBUILD
new file mode 100644
index 00000000000..a75c5e03743
--- /dev/null
+++ b/testing/pyradio/APKBUILD
@@ -0,0 +1,52 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=pyradio
+pkgver=0.9.2.25
+pkgrel=1
+pkgdesc="Curses based internet radio player"
+url="https://www.coderholic.com/pyradio"
+arch="noarch"
+license="MIT"
+depends="
+ python3
+ py3-dateutil
+ py3-dnspython
+ py3-netifaces
+ py3-psutil
+ py3-requests
+ py3-rich
+ "
+makedepends="py3-gpep517 py3-installer py3-setuptools py3-wheel"
+options="!check" # no testsuite
+subpackages="$pkgname-doc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/coderholic/pyradio/archive/refs/tags/$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ sed -i 's/^distro = None$/distro = AlpineLinux/' pyradio/config
+}
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+
+ install -Dm644 devel/pyradio.png \
+ -t "$pkgdir"/usr/share/icons/hicolor/512x512/apps/
+ install -Dm644 devel/pyradio.desktop \
+ -t "$pkgdir"/usr/share/applications/
+
+ install -Dm644 docs/pyradio*.1 \
+ -t "$pkgdir"/usr/share/man/man1/
+ install -Dm644 docs/*.md \
+ -t "$pkgdir"/usr/share/doc/$pkgname/
+}
+
+sha512sums="
+103c89754310a04d952ab962d5bef92e057de65f84394b3f040804fae2ae848a91b6fd3f5bfdfcc587ae495e569efe36ee2179d5f4d5ea03989480c55b7b599b pyradio-0.9.2.25.tar.gz
+"
diff --git a/testing/pyright/APKBUILD b/testing/pyright/APKBUILD
deleted file mode 100644
index f9a4ad73a36..00000000000
--- a/testing/pyright/APKBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=pyright
-pkgver=1.1.209
-pkgrel=0
-pkgdesc="Static type checker for Python"
-url="https://github.com/microsoft/pyright"
-license="MIT"
-# riscv64: blocked by nodejs
-# s390x: tests fail
-arch="noarch !riscv64 !s390x"
-depends="nodejs"
-makedepends="npm"
-subpackages="$pkgname-doc"
-source="https://github.com/microsoft/pyright/archive/$pkgver/pyright-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- npm ci
-}
-
-build() {
- cd packages/pyright
- npm run build
-}
-
-check() {
- cd packages/pyright-internal
- npm run test
-}
-
-package() {
- local destdir=/usr/lib/node_modules/pyright
-
- install -d \
- "$pkgdir"/usr/bin \
- "$pkgdir"/$destdir \
- "$pkgdir"/usr/share/doc/pyright
-
- cp -r docs/* LICENSE.txt "$pkgdir"/usr/share/doc/pyright
-
- cd packages/pyright
- cp -r dist index.js langserver.index.js package.json "$pkgdir"/$destdir
-
- ln -s $destdir/index.js "$pkgdir"/usr/bin/pyright
- ln -s $destdir/langserver.index.js "$pkgdir"/usr/bin/pyright-langserver
-}
-
-sha512sums="
-4a78dd30195d891bb4b899aaec3c3815cbeb10880455682b950fba32472e4bc780a4da478cdd973231527642f03b54ee8e6da094c1706374151805aab1735743 pyright-1.1.209.tar.gz
-"
diff --git a/testing/qalculate-gtk/APKBUILD b/testing/qalculate-gtk/APKBUILD
deleted file mode 100644
index e4ca1e06a45..00000000000
--- a/testing/qalculate-gtk/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: lonjil <alpine@lonjil.xyz>
-# Maintainer: lonjil <alpine@lonjil.xyz>
-pkgname=qalculate-gtk
-# the pkgver must be kept in sync with: libqalculate
-pkgver=3.22.0
-pkgrel=0
-pkgdesc="Multi-purpose desktop calculator - GTK+ version"
-url="https://qalculate.github.io/"
-license="GPL-2.0-or-later"
-arch="all"
-makedepends="intltool pkgconf glib-dev libqalculate-dev gtk+3.0-dev"
-subpackages="$pkgname-doc $pkgname-lang"
-source="https://github.com/Qalculate/qalculate-gtk/releases/download/v$pkgver/qalculate-gtk-$pkgver.tar.gz"
-options="!check" # no test suite
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --mandir=/usr/share/man
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-029e0a5db69d04a1bfb796915ded3b4533f3036d99833035ae7e8b214f0b2086f6ecb1c08f463561642bdbbd0fd729250a9bc892bbac5ee0a72a9073d7555a04 qalculate-gtk-3.22.0.tar.gz
-"
diff --git a/testing/qbittorrent-cli/APKBUILD b/testing/qbittorrent-cli/APKBUILD
new file mode 100644
index 00000000000..a206b320c11
--- /dev/null
+++ b/testing/qbittorrent-cli/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=qbittorrent-cli
+pkgver=2.0.0
+pkgrel=3
+pkgdesc="Cli to manage qBittorrent"
+url="https://github.com/ludviglundgren/qbittorrent-cli"
+arch="all"
+license="MIT"
+makedepends="go"
+source="https://github.com/ludviglundgren/qbittorrent-cli/archive/v$pkgver/qbittorrent-cli-$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ make build
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/qbt "$pkgdir"/usr/bin/qbt
+}
+
+sha512sums="
+7f88322d6f46cf2c48d0eb4ae50ff5ce39893b42e210f68fa7320671f5f50217430a0d1d90118d2cf0f417ce15a8b16cf1de7ad3c937d6118a9eee5e2fbbcebc qbittorrent-cli-2.0.0.tar.gz
+"
diff --git a/testing/qdjango/APKBUILD b/testing/qdjango/APKBUILD
new file mode 100644
index 00000000000..3fdd69262e9
--- /dev/null
+++ b/testing/qdjango/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=qdjango
+pkgver=0.6.2
+pkgrel=0
+pkgdesc="Qt-based C++ web framework"
+url="https://github.com/jlaine/qdjango"
+arch="all"
+license="LGPL-2.1-or-later"
+depends_dev="qt5-qtdeclarative-dev"
+makedepends="
+ $depends_dev
+ doxygen
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/jlaine/qdjango/archive/v$pkgver.tar.gz
+ no_docs_tests.patch
+ "
+subpackages="$pkgname-dev"
+
+build() {
+ qmake-qt5 PREFIX=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+sha512sums="
+0280b09f0740ca7e70f62e36ea9e5bb648fe6d3ba1492e59f8c956df163c6db2338ea735e0b7937ee6e417f503a510eedf983ec6dc9744021a0c83a9432aa33f qdjango-0.6.2.tar.gz
+4c18534ded97db3793679f46828ad212105db4fa4018def98157ce12579245a9feecd7570ef3c958c59dd4bd9e9dc6d5b09070bd8ce4f5872784cb7f60b402e5 no_docs_tests.patch
+"
diff --git a/testing/qdjango/no_docs_tests.patch b/testing/qdjango/no_docs_tests.patch
new file mode 100644
index 00000000000..ccb22c89135
--- /dev/null
+++ b/testing/qdjango/no_docs_tests.patch
@@ -0,0 +1,14 @@
+diff --git a/qdjango.pro b/qdjango.pro
+index e9b6a08..d00c3c2 100644
+--- a/qdjango.pro
++++ b/qdjango.pro
+@@ -6,8 +6,7 @@ SUBDIRS = src
+
+ android {
+ } else {
+- SUBDIRS += tests examples
+- INSTALLS += htmldocs
++ SUBDIRS += examples
+ }
+
+ CONFIG += ordered
diff --git a/testing/qflipper/APKBUILD b/testing/qflipper/APKBUILD
new file mode 100644
index 00000000000..4375ec791c1
--- /dev/null
+++ b/testing/qflipper/APKBUILD
@@ -0,0 +1,80 @@
+# Contributor: Lauren N. Liberda <lauren@selfisekai.rocks>
+# Maintainer: Lauren N. Liberda <lauren@selfisekai.rocks>
+pkgname=qflipper
+pkgver=1.3.3
+pkgrel=0
+_nanopb=0.4.8
+_libwdi=1.5.0
+pkgdesc="Flipper Zero firmware updater"
+url="https://update.flipperzero.one/"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ chrpath
+ libusb-dev
+ qt6-qt5compat-dev
+ qt6-qtbase-dev
+ qt6-qtdeclarative-dev
+ qt6-qtserialport-dev
+ qt6-qtsvg-dev
+ qt6-qttools-dev
+ qt6-qtwayland-dev
+ zlib-dev
+ "
+subpackages="$pkgname-gui"
+source="$pkgname-$pkgver.tar.gz::https://github.com/flipperdevices/qFlipper/archive/refs/tags/$pkgver.tar.gz
+ nanopb-$_nanopb.tar.gz::https://github.com/nanopb/nanopb/archive/$_nanopb.tar.gz
+ libwdi-$_libwdi.tar.gz::https://github.com/pbatard/libwdi/archive/v$_libwdi.tar.gz
+ "
+builddir="$srcdir/qFlipper-$pkgver"
+options="!check" # no suite
+
+prepare() {
+ default_prepare
+
+ mkdir -p build
+
+ rmdir 3rdparty/nanopb
+ ln -sfv "$srcdir"/nanopb-$_nanopb 3rdparty/nanopb
+ rmdir driver-tool/libwdi
+ ln -sfv "$srcdir"/libwdi-$_libwdi driver-tool/libwdi
+}
+
+build() {
+ cd build
+
+ qmake6 ../qFlipper.pro \
+ PREFIX=/usr \
+ -spec linux-g++ \
+ CONFIG+=qtquickcompiler \
+ INSTALLS.CONFIG+=nostrip \
+ QMAKE_CFLAGS="$CFLAGS" \
+ QMAKE_CXXFLAGS="$CXXFLAGS" \
+ QMAKE_LFLAGS="$LDFLAGS" \
+ DEFINES+=DISABLE_APPLICATION_UPDATES
+
+ make
+}
+
+package() {
+ make -C build INSTALL_ROOT="$pkgdir" install
+
+ # TODO: how to make qmake not do this
+ chrpath -d "$pkgdir"/usr/bin/*
+ chrpath -d "$pkgdir"/usr/lib/qFlipper/plugins/libflipperproto0.so
+}
+
+gui() {
+ pkgdesc="$pkgdesc (qt6 gui)"
+ depends="$pkgname=$pkgver-r$pkgrel"
+
+ amove \
+ usr/bin/qFlipper \
+ usr/share
+}
+
+sha512sums="
+55f19517982dbcc52f586bafd1c6f3d9acc9c81c29e3f42bc4e4d2f09c962b976bfb97406e20c7a126b9f555b2e6b6e420fa94cd97b07877d00ef74e425e6751 qflipper-1.3.3.tar.gz
+635577498dfbfb46fd64b8ec83b2a4a9b03b57c665f3c9f67d35c272810c0330b0e9011d7c0e43623e9da74d6ee3a4c1f012878e2bff7e1a7e57fb7c0857ad42 nanopb-0.4.8.tar.gz
+a70dbf1652228d2fc27968b76c0b92a737c29a3ad6dbc4494a0f6ebd39a539f5155c02e4aaeb437a3b4ba017e61e5e297776163ae94b838a753d467de37b7c0c libwdi-1.5.0.tar.gz
+"
diff --git a/testing/qgis/10-exiv2-0.28.patch b/testing/qgis/10-exiv2-0.28.patch
new file mode 100644
index 00000000000..52044ed4a04
--- /dev/null
+++ b/testing/qgis/10-exiv2-0.28.patch
@@ -0,0 +1,37 @@
+From 32f5418fc4f7bb2ee986dee1824ff2989c113a94 Mon Sep 17 00:00:00 2001
+From: Antonio Rojas <arojas@archlinux.org>
+Date: Sun, 9 Jul 2023 10:01:49 +0200
+Subject: [PATCH] Fix build with exiv2 0.28
+
+---
+ src/core/raster/qgsexiftools.cpp | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/src/core/raster/qgsexiftools.cpp b/src/core/raster/qgsexiftools.cpp
+index 7fa270984557..f883d7960c68 100644
+--- a/src/core/raster/qgsexiftools.cpp
++++ b/src/core/raster/qgsexiftools.cpp
+@@ -94,7 +94,11 @@
+ case Exiv2::signedLong:
+ case Exiv2::unsignedLongLong:
+ case Exiv2::signedLongLong:
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ val = QVariant::fromValue( it->toUint32() );
++#else
+ val = QVariant::fromValue( it->toLong() );
++#endif
+ break;
+
+ case Exiv2::tiffDouble:
+@@ -108,7 +112,11 @@
+ case Exiv2::signedByte:
+ case Exiv2::tiffIfd:
+ case Exiv2::tiffIfd8:
++#if EXIV2_TEST_VERSION (0, 28, 0)
++ val = QVariant::fromValue( static_cast< int >( it->toUint32() ) );
++#else
+ val = QVariant::fromValue( static_cast< int >( it->toLong() ) );
++#endif
+ break;
+
+ case Exiv2::date:
diff --git a/testing/qgis/20-protobuf-23.patch b/testing/qgis/20-protobuf-23.patch
new file mode 100644
index 00000000000..eeea2f2fdc3
--- /dev/null
+++ b/testing/qgis/20-protobuf-23.patch
@@ -0,0 +1,15 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 48a34626b0..e2b5cca718 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -366,7 +366,9 @@
+ message (SEND_ERROR "sqlite3 dependency was not found!")
+ endif()
+
+- find_package(Protobuf REQUIRED) # for decoding of vector tiles in MVT format
++ find_package(Protobuf CONFIG REQUIRED) # for decoding of vector tiles in MVT format
++ find_package(Protobuf) # for protobuf_generate_cpp
++ set(Protobuf_LITE_LIBRARY protobuf::libprotobuf-lite)
+ message(STATUS "Found Protobuf: ${Protobuf_LIBRARIES}")
+ if (NOT Protobuf_PROTOC_EXECUTABLE)
+ message (SEND_ERROR "Protobuf library's 'protoc' tool was not found!")
diff --git a/testing/qgis/30-qgstyle-infinite-loop.patch b/testing/qgis/30-qgstyle-infinite-loop.patch
new file mode 100644
index 00000000000..20cf95a59d2
--- /dev/null
+++ b/testing/qgis/30-qgstyle-infinite-loop.patch
@@ -0,0 +1,61 @@
+From 19823b76c27c3bfbff1d111cf09af948e8db4367 Mon Sep 17 00:00:00 2001
+From: PeterPetrik <zilolv@gmail.com>
+Date: Fri, 2 Jul 2021 14:40:59 +0200
+Subject: [PATCH] fix infinite loop in qgsstyle
+
+---
+ src/core/symbology/qgsstyle.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/core/symbology/qgsstyle.cpp b/src/core/symbology/qgsstyle.cpp
+index 6ca37dde3a15..c87305b3c8fa 100644
+--- a/src/core/symbology/qgsstyle.cpp
++++ b/src/core/symbology/qgsstyle.cpp
+@@ -2753,6 +2753,7 @@
+ if ( entityAddedVersion != 0 && sinceVersion != -1 && entityAddedVersion <= sinceVersion )
+ {
+ // skip the symbol, should already be present
++ e = e.nextSiblingElement();
+ continue;
+ }
+
+@@ -2807,6 +2808,7 @@
+ if ( entityAddedVersion != 0 && sinceVersion != -1 && entityAddedVersion <= sinceVersion )
+ {
+ // skip the ramp, should already be present
++ e = e.nextSiblingElement();
+ continue;
+ }
+
+@@ -2855,6 +2857,7 @@
+ if ( entityAddedVersion != 0 && sinceVersion != -1 && entityAddedVersion <= sinceVersion )
+ {
+ // skip the format, should already be present
++ e = e.nextSiblingElement();
+ continue;
+ }
+
+@@ -2899,6 +2902,7 @@
+ if ( entityAddedVersion != 0 && sinceVersion != -1 && entityAddedVersion <= sinceVersion )
+ {
+ // skip the settings, should already be present
++ e = e.nextSiblingElement();
+ continue;
+ }
+
+@@ -2944,6 +2948,7 @@
+ if ( entityAddedVersion != 0 && sinceVersion != -1 && entityAddedVersion <= sinceVersion )
+ {
+ // skip the shape, should already be present
++ e = e.nextSiblingElement();
+ continue;
+ }
+
+@@ -2988,6 +2993,7 @@
+ if ( entityAddedVersion != 0 && sinceVersion != -1 && entityAddedVersion <= sinceVersion )
+ {
+ // skip the symbol, should already be present
++ e = e.nextSiblingElement();
+ continue;
+ }
+
diff --git a/testing/qgis/40-pdal.patch b/testing/qgis/40-pdal.patch
new file mode 100644
index 00000000000..7b5270a5039
--- /dev/null
+++ b/testing/qgis/40-pdal.patch
@@ -0,0 +1,176 @@
+From 021f919f241806be566dce0a37ce84a56774eb84 Mon Sep 17 00:00:00 2001
+From: Nicklas Larsson <n_larsson@yahoo.com>
+Date: Tue, 17 Oct 2023 12:47:14 +0200
+Subject: [PATCH] cmake: update to find PDAL 2.6+
+
+With PDAL 2.6 the 'pdal_util' library is removed as a separate library
+and hence part of the 'pdalcpp' library.
+---
+ cmake/FindPDAL.cmake | 35 ++++++++++++++++++++++++++-----
+ cmake_templates/qgsconfig.h.in | 2 +-
+ python/CMakeLists.txt | 4 ----
+ src/app/CMakeLists.txt | 7 ++-----
+ src/core/CMakeLists.txt | 9 ++------
+ src/gui/CMakeLists.txt | 7 ++-----
+ src/providers/pdal/CMakeLists.txt | 5 -----
+ tests/src/core/CMakeLists.txt | 4 ----
+ 8 files changed, 37 insertions(+), 36 deletions(-)
+
+diff --git a/cmake/FindPDAL.cmake b/cmake/FindPDAL.cmake
+index 1899d26de5ff..d1de5c8dccba 100644
+--- a/cmake/FindPDAL.cmake
++++ b/cmake/FindPDAL.cmake
+@@ -7,8 +7,7 @@
+ # CMake module to search for PDAL library
+ #
+ # If it's found it sets PDAL_FOUND to TRUE
+-# and following variables are set:
+-# PDAL_INCLUDE_DIR
++# and adds the following variable containing library target(s):
+ # PDAL_LIBRARIES
+
+ # FIND_PATH and FIND_LIBRARY normally search standard locations
+@@ -18,6 +17,22 @@
+ # locations. When an earlier FIND_* succeeds, subsequent FIND_*s
+ # searching for the same item do nothing.
+
++find_package(PDAL CONFIG)
++
++if(PDAL_FOUND)
++ if(NOT PDAL_FIND_QUIETLY)
++ message(STATUS "Found PDAL: ${PDAL_LIBRARIES} (${PDAL_VERSION})")
++ endif()
++
++ if(PDAL_VERSION VERSION_LESS "1.7.0")
++ message(FATAL_ERROR "PDAL version is too old (${PDAL_VERSION}). Use 1.7 or higher.")
++ endif()
++
++ return()
++endif()
++
++# Fallback for systems where PDAL's config-file package is not present.
++# It is not adapted for PDAL 2.6+ (where pdal_util library is removed).
+ FIND_PATH(PDAL_INCLUDE_DIR pdal/pdal.hpp
+ "$ENV{LIB_DIR}/include"
+ "/usr/include"
+@@ -50,7 +65,7 @@ FIND_PROGRAM(PDAL_BIN pdal)
+
+ IF (PDAL_INCLUDE_DIR AND PDAL_CPP_LIBRARY AND PDAL_UTIL_LIBRARY AND PDAL_BIN)
+ SET(PDAL_FOUND TRUE)
+- SET(PDAL_LIBRARIES ${PDAL_CPP_LIBRARY} ${PDAL_UTIL_LIBRARY})
++ SET(PDAL_LIBRARIES pdalcpp pdal_util)
+ ENDIF (PDAL_INCLUDE_DIR AND PDAL_CPP_LIBRARY AND PDAL_UTIL_LIBRARY AND PDAL_BIN)
+
+ IF (PDAL_FOUND)
+@@ -60,8 +75,8 @@ IF (PDAL_FOUND)
+ OUTPUT_VARIABLE PDAL_VERSION_OUT )
+ STRING(REGEX REPLACE "^.*([0-9]+)\\.([0-9]+)\\.([0-9]+).*$" "\\1" PDAL_VERSION_MAJOR "${PDAL_VERSION_OUT}")
+ STRING(REGEX REPLACE "^.*([0-9]+)\\.([0-9]+)\\.([0-9]+).*$" "\\2" PDAL_VERSION_MINOR "${PDAL_VERSION_OUT}")
+- STRING(REGEX REPLACE "^.*([0-9]+)\\.([0-9]+)\\.([0-9]+).*$" "\\3" PDAL_VERSION_MICRO "${PDAL_VERSION_OUT}")
+- STRING(CONCAT PDAL_VERSION ${PDAL_VERSION_MAJOR} "." ${PDAL_VERSION_MINOR} "." ${PDAL_VERSION_MICRO})
++ STRING(REGEX REPLACE "^.*([0-9]+)\\.([0-9]+)\\.([0-9]+).*$" "\\3" PDAL_VERSION_PATCH "${PDAL_VERSION_OUT}")
++ STRING(CONCAT PDAL_VERSION ${PDAL_VERSION_MAJOR} "." ${PDAL_VERSION_MINOR} "." ${PDAL_VERSION_PATCH})
+
+ IF (NOT PDAL_FIND_QUIETLY)
+ MESSAGE(STATUS "Found PDAL: ${PDAL_LIBRARIES} (${PDAL_VERSION})")
+@@ -71,6 +86,16 @@ IF (PDAL_FOUND)
+ MESSAGE (FATAL_ERROR "PDAL version is too old (${PDAL_VERSION}). Use 1.7 or higher.")
+ ENDIF()
+
++ add_library(pdalcpp UNKNOWN IMPORTED)
++ target_link_libraries(pdalcpp INTERFACE ${PDAL_CPP_LIBRARY})
++ target_include_directories(pdalcpp INTERFACE ${PDAL_INCLUDE_DIR})
++ set_target_properties(pdalcpp PROPERTIES IMPORTED_LOCATION ${PDAL_CPP_LIBRARY})
++
++ add_library(pdal_util UNKNOWN IMPORTED)
++ target_link_libraries(pdal_util INTERFACE ${PDAL_UTIL_LIBRARY})
++ target_include_directories(pdal_util INTERFACE ${PDAL_INCLUDE_DIR})
++ set_target_properties(pdal_util PROPERTIES IMPORTED_LOCATION ${PDAL_UTIL_LIBRARY})
++
+ ELSE (PDAL_FOUND)
+ IF (PDAL_FIND_REQUIRED)
+ MESSAGE(FATAL_ERROR "Could not find PDAL")
+diff --git a/cmake_templates/qgsconfig.h.in b/cmake_templates/qgsconfig.h.in
+index 628a9c9b6aa1..800e65d3cfda 100644
+--- a/cmake_templates/qgsconfig.h.in
++++ b/cmake_templates/qgsconfig.h.in
+@@ -110,7 +110,7 @@
+ #define PDAL_VERSION_MINOR_INT ${PDAL_VERSION_MINOR}
+ #define PDAL_VERSION_MAJOR "${PDAL_VERSION_MAJOR}"
+ #define PDAL_VERSION_MINOR "${PDAL_VERSION_MINOR}"
+-#define PDAL_VERSION_MICRO "${PDAL_VERSION_MICRO}"
++#define PDAL_VERSION_MICRO "${PDAL_VERSION_PATCH}"
+
+ #cmakedefine HAVE_DRACO
+
+diff --git a/src/app/CMakeLists.txt b/src/app/CMakeLists.txt
+index 64f2cfd10355..71c26df216df 100644
+--- a/src/app/CMakeLists.txt
++++ b/src/app/CMakeLists.txt
+@@ -482,11 +482,8 @@ if(HAVE_OPENCL)
+ include_directories(SYSTEM ${OpenCL_INCLUDE_DIRS})
+ endif()
+
+-if (WITH_PDAL)
+- include_directories(SYSTEM ${PDAL_INCLUDE_DIR})
+- if(MSVC)
+- add_definitions(-DWIN32_LEAN_AND_MEAN)
+- endif()
++if (WITH_PDAL AND MSVC)
++ add_definitions(-DWIN32_LEAN_AND_MEAN)
+ endif()
+
+ if(ENABLE_MODELTEST)
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index 869428249e98..1f891d96e7a7 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -2093,13 +2093,8 @@ if (${QT_VERSION_BASE}Positioning_FOUND)
+ )
+ endif()
+
+-if (WITH_PDAL)
+- include_directories(SYSTEM
+- ${PDAL_INCLUDE_DIR}
+- )
+- if(MSVC)
+- add_definitions(-DWIN32_LEAN_AND_MEAN)
+- endif()
++if (WITH_PDAL AND MSVC)
++ add_definitions(-DWIN32_LEAN_AND_MEAN)
+ endif()
+
+ if (HAVE_OPENCL)
+diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
+index 016da19d4b83..708858399e0e 100644
+--- a/src/gui/CMakeLists.txt
++++ b/src/gui/CMakeLists.txt
+@@ -1599,11 +1599,8 @@ if (BUILD_WITH_QT6)
+ )
+ endif()
+
+-if (WITH_PDAL)
+- include_directories(SYSTEM ${PDAL_INCLUDE_DIR})
+- if(MSVC)
+- add_definitions(-DWIN32_LEAN_AND_MEAN)
+- endif()
++if (WITH_PDAL AND MSVC)
++ add_definitions(-DWIN32_LEAN_AND_MEAN)
+ endif()
+
+ target_include_directories(qgis_gui PUBLIC
+diff --git a/src/providers/pdal/CMakeLists.txt b/src/providers/pdal/CMakeLists.txt
+index 38509d1c235b..e8ea264e5597 100644
+--- a/src/providers/pdal/CMakeLists.txt
++++ b/src/providers/pdal/CMakeLists.txt
+@@ -149,10 +149,6 @@ include_directories(
+ ${CMAKE_SOURCE_DIR}/external/untwine/api
+ )
+
+-include_directories(SYSTEM
+- ${PDAL_INCLUDE_DIR}
+-)
+-
+ add_executable(untwine ${UNTWINE_SRCS} ${UNTWINE_HDRS})
+ target_compile_features(untwine PRIVATE cxx_std_17)
+
diff --git a/testing/qgis/APKBUILD b/testing/qgis/APKBUILD
new file mode 100644
index 00000000000..970d36bc9eb
--- /dev/null
+++ b/testing/qgis/APKBUILD
@@ -0,0 +1,337 @@
+# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
+# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
+pkgname=qgis
+pkgver=3.28.12
+pkgrel=3
+pkgdesc="Geographic Information System (GIS) that supports vector, raster & database formats"
+url="https://qgis.org/"
+# armhf: py3-qscintilla qt5-qt3d-dev qt5-qtlocation-dev missing
+# ppc64le and riscv64: qt5-qtwebengine-dev missing
+# s390x: grass-gis-dev netcdf-dev qt5-qtwebengine-dev missing
+arch="all !armhf !ppc64le !riscv64 !s390x"
+license="GPL-2.0-or-later"
+depends="font-opensans font-cantarell qt5-qtbase-sqlite postgresql-client"
+makedepends="
+ bison
+ cmake
+ exiv2-dev
+ expat-dev
+ fcgi-dev
+ flex
+ gdal-dev
+ geos-dev
+ gsl-dev
+ grass-gis-dev
+ hdf5-dev
+ hdf5-static
+ libspatialindex-dev
+ libspatialite-dev
+ libzip-dev
+ netcdf-dev
+ opencl-dev
+ pdal-dev
+ postgresql-dev
+ proj-dev
+ protobuf-dev
+ py3-ply
+ py3-pyqt-builder
+ py3-qscintilla
+ py3-qt5
+ py3-sip
+ python3-dev
+ qca-dev
+ qscintilla-dev
+ qt5-qt3d-dev
+ qt5-qtbase-dev
+ qt5-qtlocation-dev
+ qt5-qtmultimedia-dev
+ qt5-qtserialport-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ qt5-qtwebengine-dev
+ qtkeychain-dev
+ qwt-dev
+ samurai
+ sqlite-dev
+ unixodbc-dev
+ yarn
+ "
+checkdepends="py3-nose2 py3-yaml py3-gdal py3-psycopg2 py3-oauthlib py3-owslib gdal-tools gdal-driver-all py3-mock py3-termcolor qpdf poppler-utils xvfb-run firefox bash"
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-lang
+ $pkgname-server
+ $pkgname-grass
+ py3-$pkgname:py3
+ "
+options="!check" # test failures on builders
+source="https://qgis.org/downloads/qgis-$pkgver.tar.bz2
+ 10-exiv2-0.28.patch
+ 20-protobuf-23.patch
+ 30-qgstyle-infinite-loop.patch
+ 40-pdal.patch
+ "
+langdir="/usr/share/qgis/i18n"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DQGIS_CGIBIN_SUBDIR=libexec/qgis \
+ -DBINDINGS_GLOBAL_INSTALL=TRUE \
+ -DBUILD_TESTING="$(want_check && echo TRUE || echo FALSE)" \
+ -DENABLE_TESTS="$(want_check && echo TRUE || echo FALSE)" \
+ -DWITH_3D=TRUE \
+ -DWITH_ANALYSIS=TRUE \
+ -DWITH_AUTH=TRUE \
+ -DWITH_BINDINGS=TRUE \
+ -DWITH_COPC=TRUE \
+ -DWITH_DESKTOP=TRUE \
+ -DWITH_EPT=TRUE \
+ -DWITH_GUI=TRUE \
+ -DWITH_GRASS8=TRUE \
+ -DGRASS_PREFIX8="$(pkg-config --variable=prefix grass)" \
+ -DWITH_HANA=TRUE \
+ -DWITH_ORACLE=FALSE \
+ -DWITH_PDAL=TRUE \
+ -DWITH_POSTGRESQL=TRUE \
+ -DWITH_QGIS_PROCESS=TRUE \
+ -DWITH_QSPATIALITE=TRUE \
+ -DWITH_SERVER=TRUE \
+ -DWITH_SERVER_LANDINGPAGE_WEBAPP=TRUE \
+ -DWITH_CUSTOM_WIDGETS=TRUE \
+ -DQGIS_MANUAL_SUBDIR=share/man \
+ -DWITH_QTWEBKIT=FALSE \
+ -DWITH_QWTPOLAR=TRUE \
+ -DQWTPOLAR_LIBRARY=/usr/lib/libqwt.so \
+ -DQWTPOLAR_INCLUDE_DIR=/usr/include/qwt \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS -DQWT_POLAR_VERSION=0x060200" \
+ -DWITH_INTERNAL_QWTPOLAR=FALSE \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ local test_excludes="(
+ logGitStatus$|
+ checkGitStatus$|
+ ProcessingQgisAlgorithmsTestPt1$|
+ ProcessingQgisAlgorithmsTestPt4$|
+ ProcessingGdalAlgorithmsRasterTest$|
+ ProcessingGdalAlgorithmsVectorTest$|
+ ProcessingGrass7AlgorithmsImageryTest$|
+ ProcessingGrass7AlgorithmsRasterTestPt1$|
+ ProcessingGrass7AlgorithmsRasterTestPt2$|
+ ProcessingOtbAlgorithmsTest$|
+ test_core_authconfig$|
+ test_core_authmanager$|
+ test_core_blendmodes$|
+ test_core_compositionconverter$|
+ test_core_dataitem$|
+ test_core_dxfexport$|
+ test_core_expression$|
+ test_core_gdalprovider$|
+ test_core_gdalutils$|
+ test_core_labelingengine$|
+ test_core_layoutgeopdfexport$|
+ test_core_layoutmap$|
+ test_core_layoutmapoverview$|
+ test_core_layoutpicture$|
+ test_core_layouttable$|
+ test_core_maprendererjob$|
+ test_core_maprotation$|
+ test_core_overlayexpression$|
+ test_core_projectstorage$|
+ test_core_rasterlayer$|
+ test_core_rastersublayer$|
+ test_core_openclutils$|
+ test_core_coordinatereferencesystem$|
+ test_gui_filedownloader$|
+ test_gui_layoutgui$|
+ test_gui_queryresultwidget$|
+ test_3d_3drendering$|
+ test_analysis_processingalgspt2$|
+ test_analysis_processing$|
+ test_geometry_checker_geometrychecks$|
+ test_provider_wcsprovider$|
+ test_provider_eptprovider$|
+ test_app_gpsinformationwidget$|
+ PyQgsAnnotation$|
+ PyQgsAuthenticationSystem$|
+ PyQgsBlendModes$|
+ PyQgsBlockingProcess$|
+ PyQgsConnectionRegistry$|
+ PyQgsDatumTransform$|
+ PyQgsExpression$|
+ PyQgsExternalStorageWebDAV$|
+ PyQgsFillSymbolLayers$|
+ PyQgsFileUtils$|
+ PyQgsGeometryTest$|
+ PyQgsHashLineSymbolLayer$|
+ PyQgsInterpolatedLineSymbolLayer$|
+ PyQgsLayerMetadataProviderPython$|
+ PyQgsLayoutExporter$|
+ PyQgsLayoutHtml$|
+ PyQgsLayoutLegend$|
+ PyQgsLayoutMapOverview$|
+ PyQgsLineSymbolLayers$|
+ PyQgsMapClippingRegion$|
+ PyQgsMapLayerComboBox$|
+ PyQgsMapLayerProxyModel$|
+ PyQgsMapUnitScale$|
+ PyQgsMergedFeatureRenderer$|
+ PyQgsNoApplication$|
+ PyQgsPalLabelingPlacement$|
+ PyQgsProcessExecutablePt1$|
+ PyQgsProcessExecutablePt2$|
+ PyQgsProviderConnectionGpkg$|
+ PyQgsProviderConnectionSpatialite$|
+ PyQgsRasterFileWriter$|
+ PyQgsRasterLayerRenderer$|
+ PyQgsShapefileProvider$|
+ PyQgsSvgCache$|
+ PyQgsTextRenderer$|
+ PyQgsOGRProvider$|
+ PyQgsSpatialiteProvider$|
+ PyQgsStyleModel$|
+ PyQgsVectorFileWriter$|
+ PyQgsVectorLayerEditBuffer$|
+ PyQgsVectorLayerNamedStyle$|
+ PyQgsVectorLayerProfileGenerator$|
+ PyQgsDBManagerGpkg$|
+ PyQgsSelectiveMasking$|
+ PyQgsPalLabelingServer$|
+ PyQgsAppStartup$|
+ PyQgsServerWMS$|
+ PyQgsServerWMSGetFeatureInfo$|
+ PyQgsServerWMSGetMap$|
+ PyQgsServerWMSGetLegendGraphic$|
+ PyQgsServerWMSGetPrint$|
+ PyQgsServerWMSGetPrintExtra$|
+ PyQgsServerWMSGetPrintOutputs$|
+ PyQgsServerWMSDimension$|
+ PyQgsServerProjectUtils$|
+ PyQgsServerWFS$|
+ PyQgsServerLocaleOverride$|
+ PyQgsServerConfigCache$|
+ qgis_sipify$|
+ qgis_sip_include$|
+ qgis_sip_uptodate$|
+ ProcessingQgisAlgorithmsTestPt2$|
+ ProcessingQgisAlgorithmsTestPt3$|
+ ProcessingGrass7AlgorithmsVectorTest$|
+ test_core_application$|
+ test_core_callout$|
+ test_core_centroidfillsymbol$|
+ test_core_filledmarker$|
+ test_core_gradients$|
+ test_core_layoutitem$|
+ test_core_linefillsymbol$|
+ test_core_meshlayer$|
+ test_core_meshlayerrenderer$|
+ test_core_networkaccessmanager$|
+ test_core_pointcloudexpression$|
+ test_core_pointcloudlayerexporter$|
+ test_core_pointpatternfillsymbol$|
+ test_core_rastercontourrenderer$|
+ test_core_simplemarker$|
+ test_core_svgmarker$|
+ test_gui_processinggui$|
+ test_3d_layout3dmap$|
+ test_3d_tessellator$|
+ test_analysis_processingalgspt1$|
+ test_analysis_meshcalculator$|
+ test_analysis_meshcontours$|
+ test_analysis_triangulation$|
+ test_provider_wmsprovider$|
+ test_provider_copcprovider$|
+ qgis_grassprovidertest8$|
+ test_app_fieldcalculator$|
+ test_app_maptoolcircularstring$|
+ test_app_maptooleditmesh$|
+ test_app_vertextool$|
+ PyQgsAnimatedMarkerSymbolLayer$|
+ PyQgsEmbeddedSymbolRenderer$|
+ PyQgsExpressionBuilderWidget$|
+ PyQgsGdalProvider$|
+ PyQgsGroupLayer$|
+ PyQgsHistoryProviderRegistry$|
+ PyQgsLayoutMap$|
+ PyQgsLayoutPicture$|
+ PyQgsPalLabelingCanvas$|
+ PyQgsPalLabelingLayout$|
+ PyQgsPointCloudAttributeByRampRenderer$|
+ PyQgsPointCloudClassifiedRenderer$|
+ PyQgsPointCloudLayerProfileGenerator$|
+ PyQgsPointCloudRgbRenderer$|
+ PyQgsProcessingAlgRunner$|
+ TestQgsRandomMarkerSymbolLayer$|
+ PyQgsRasterLayer$|
+ PyQgsRasterResampler$|
+ PyQgsWFSProvider$|
+ PyQgsServerPlugins$|
+ PyQgsServerApi$|
+ test_core_tiledownloadmanager$|
+ test_app_qgisappclipboard$|
+ PyQgsServerCacheManager$
+ )"
+ local test_excludes_regexp
+ local testcase; for testcase in $test_excludes
+ do
+ test_excludes_regexp=$test_excludes_regexp$testcase
+ done
+ xvfb-run -a -s "-screen 0 1280x1024x24 -dpi 96" ctest -j 1 --test-dir build --output-on-failure --timeout 15000 -E $test_excludes_regexp
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+dev() {
+ default_dev
+ amove usr/share/qgis/FindQGIS.cmake
+ amove usr/lib/qt5/plugins/designer/libqgis_customwidgets.so*
+}
+
+server() {
+ pkgdesc="FCGI-based OGC web map server"
+ amove usr/bin/qgis_mapserver
+ amove usr/lib/qgis/server
+ amove usr/lib/libqgis_server.so*
+ amove usr/libexec/qgis
+ amove usr/lib/python3*/site-packages/qgis/server
+ amove usr/lib/python3*/site-packages/qgis/_server.so
+ amove usr/share/qgis/resources/server
+}
+
+grass() {
+ pkgdesc="GRASS Support Libraries for QGIS"
+ amove usr/lib/libqgisgrass*.so.*
+ amove usr/lib/qgis/plugins/libplugin_grass8.so
+ amove usr/lib/qgis/plugins/libprovider_grass8.so
+ amove usr/lib/qgis/plugins/libprovider_grassraster8.so
+ amove usr/lib/qgis/grass/
+ amove usr/share/qgis/grass/
+}
+
+py3() {
+ pkgdesc="Python integration and plug-ins for QGIS"
+ depends="py3-owslib py3-pyaml py3-gdal py3-httplib2 py3-jinja2
+ py3-matplotlib py3-psycopg2 py3-pygments py3-qscintilla"
+ amove usr/lib/libqgispython.so*
+ amove usr/share/qgis/python/
+ amove usr/lib/python3*/site-packages/qgis/
+ amove usr/lib/python3*/site-packages/PyQt5/uic/widget-plugins/
+}
+
+sha512sums="
+0c5a095ba1c66391bc7feb5ac91595e4de29889c3921e6a6123a8446c85f5a81be32ef799e51c6483f795e2abd90367e05f6662a6eb6c76dea62488a41566cf7 qgis-3.28.12.tar.bz2
+47cec7b889a2b12f321e8727b06b5edc24a5bb5947dd98671a9aebbbd17adffa515769afcc0e05911a2754b36e78acf0cea2e074b1316beb48a72f78b860a43a 10-exiv2-0.28.patch
+a93bbd7655ded2aae734356ed06346f4508c7a9da916e424892abbdc88c8c1818bd53e818c1a5c41fb14f2bf9bc5309b11b331021ba44b5b4e530b942227ad79 20-protobuf-23.patch
+ab9fe3afac98abbec5007c9c9604c9e3bef5e576f695a8b0a73a5fe29b3c07baec3f46ef4503d4f1df8e5587735c7565ae583f312167bd9c7e20554f88bb0bff 30-qgstyle-infinite-loop.patch
+1beb94b0ccfd1f990c4cd2ed66793ac878526670c1295588539c026e214237c61a4f9f2d3474cbeb6f59f55138ab997fa4f02cf358f36687dd11666527d7616a 40-pdal.patch
+"
diff --git a/testing/qjackctl/APKBUILD b/testing/qjackctl/APKBUILD
deleted file mode 100644
index b03dd4b234a..00000000000
--- a/testing/qjackctl/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=qjackctl
-pkgver=0.9.4
-pkgrel=0
-pkgdesc="GUI interface for JACK"
-url="https://qjackctl.sourceforge.io"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="
- alsa-lib-dev
- cmake
- dbus-dev
- jack-dev
- portaudio-dev
- qt5-qtbase-dev
- qt5-qttools-dev
-"
-subpackages="$pkgname-doc"
-source="https://sourceforge.net/projects/qjackctl/files/qjackctl/$pkgver/qjackctl-$pkgver.tar.gz
- "
-options="!check" # No tests.
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-ce808242d8bacadf4e267bdf75c20b53601f54c8a4eb0b5116653afa7bcdd17e99ac4f878d4ec78844194e13623a804850cf8ea7e12430806caad4fe986115c7 qjackctl-0.9.4.tar.gz
-"
diff --git a/testing/qmk-cli/APKBUILD b/testing/qmk-cli/APKBUILD
index 6c14d0c3856..0cb5927f5a4 100644
--- a/testing/qmk-cli/APKBUILD
+++ b/testing/qmk-cli/APKBUILD
@@ -1,41 +1,64 @@
# Contributor: Galen Abell <galen@galenabell.com>
+# Contributor: Nulo <alpine@nulo.in>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=qmk-cli
-pkgver=1.0.0
-pkgrel=0
+pkgver=1.1.5
+pkgrel=1
+# latest change to util/udev/50-qmk.rules
+_qmk_firmware=d915ab59ac2d05062f931a36463c1a84b57a2438
pkgdesc="QMK helper CLI"
url="https://github.com/qmk/qmk_cli"
-arch="noarch"
+# archs on which cross embedded compilers are available
+arch="x86_64 aarch64 ppc64le x86"
license="MIT"
-# py3-hidapi is not a dependency of qmk-cli but is required to work with
-# a qmk_firmware repository
depends="
- python3
- py3-appdirs
- py3-argcomplete
- py3-colorama
+ avr-libc
+ avrdude
+ dfu-programmer
+ dfu-util
+ git
+ gcc-arm-none-eabi
+ gcc-avr
+ newlib-arm-none-eabi
py3-dotty-dict
py3-hidapi
py3-hjson
py3-jsonschema
py3-milc
+ py3-pillow
py3-pygments
+ py3-pyserial
+ py3-usb
"
-makedepends="py3-setuptools py3-build py3-wheel py3-pip"
+makedepends="py3-setuptools py3-gpep517 py3-installer py3-wheel"
options="!check" # no tests
-source="$pkgname-$pkgver.tar.gz::https://github.com/qmk/qmk_cli/archive/$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/qmk/qmk_cli/archive/refs/tags/$pkgver.tar.gz
+ qmk-firmware-$_qmk_firmware.tar.gz::https://github.com/qmk/qmk_firmware/archive/$_qmk_firmware.tar.gz
+ add-plugdev.patch
+ "
builddir="$srcdir/qmk_cli-$pkgver"
+prepare() {
+ mv "$srcdir"/qmk_firmware-$_qmk_firmware/util/udev/50-qmk.rules "$builddir"/
+ default_prepare
+}
+
build() {
- python3 -m build --skip-dependency-check --no-isolation --wheel .
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 -m pip install \
- --no-warn-script-location --ignore-installed --no-deps --root="$pkgdir" \
- dist/qmk-$pkgver-*.whl
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+ install -Dm644 50-qmk.rules \
+ -t "$pkgdir"/usr/lib/udev/rules.d/
}
sha512sums="
-e78207d5be82b29d3c1b623cfb7931a8af1b6cb6d07001d871f5a0bbc189e8aa5ee3d1df317105914295a325da56c38f9be47d1d4b8c5387515cd80f29764d41 qmk-cli-1.0.0.tar.gz
+89ad029216b4c5ae38bc564f0d04c02565d7caca972a70491da8a84d43797e0f54d48de7bada1806baefbc471ae0fdfe886cc2bc0ea15b7186eaeaba2de621f0 qmk-cli-1.1.5.tar.gz
+2af187f8d5823a39d2eb5f350b93e94bc5546242cc0d4b5c71a403c1352020a41f296022f9c79bb8488a6555a00052a5f3d999018d264527ae0e24b2311be9c0 qmk-firmware-d915ab59ac2d05062f931a36463c1a84b57a2438.tar.gz
+96389af3a9db98b3904dfa9811f95a20bb9c763667af731eb23262ffca37bf153db59ce83afaee054e7bfbaae2011297aa347a1cd1cb9e3bc3f95348a0b1c5de add-plugdev.patch
"
diff --git a/testing/qmk-cli/add-plugdev.patch b/testing/qmk-cli/add-plugdev.patch
new file mode 100644
index 00000000000..08a8baaa7a2
--- /dev/null
+++ b/testing/qmk-cli/add-plugdev.patch
@@ -0,0 +1,120 @@
+--- a/50-qmk.rules
++++ b/50-qmk.rules
+@@ -1,85 +1,85 @@
+ # Atmel DFU
+ ### ATmega16U2
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fef", GROUP="plugdev", TAG+="uaccess"
+ ### ATmega32U2
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", GROUP="plugdev", TAG+="uaccess"
+ ### ATmega16U4
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff3", GROUP="plugdev", TAG+="uaccess"
+ ### ATmega32U4
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", GROUP="plugdev", TAG+="uaccess"
+ ### AT90USB64
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff9", GROUP="plugdev", TAG+="uaccess"
+ ### AT90USB162
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffa", GROUP="plugdev", TAG+="uaccess"
+ ### AT90USB128
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", GROUP="plugdev", TAG+="uaccess"
+
+ # Input Club
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="1c11", ATTRS{idProduct}=="b007", GROUP="plugdev", TAG+="uaccess"
+
+ # STM32duino
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="1eaf", ATTRS{idProduct}=="0003", GROUP="plugdev", TAG+="uaccess"
+ # STM32 DFU
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", GROUP="plugdev", TAG+="uaccess"
+
+ # BootloadHID
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05df", GROUP="plugdev", TAG+="uaccess"
+
+ # USBAspLoader
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="05dc", GROUP="plugdev", TAG+="uaccess"
+
+ # USBtinyISP
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1782", ATTRS{idProduct}=="0c9f", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="1782", ATTRS{idProduct}=="0c9f", GROUP="plugdev", TAG+="uaccess"
+
+ # ModemManager should ignore the following devices
+ # Atmel SAM-BA (Massdrop)
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="6124", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+
+ # Caterina (Pro Micro)
+ ## pid.codes shared PID
+ ### Keyboardio Atreus 2 Bootloader
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2302", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="1209", ATTRS{idProduct}=="2302", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ## Spark Fun Electronics
+ ### Pro Micro 3V3/8MHz
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9203", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ### Pro Micro 5V/16MHz
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9205", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ### LilyPad 3V3/8MHz (and some Pro Micro clones)
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b4f", ATTRS{idProduct}=="9207", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ## Pololu Electronics
+ ### A-Star 32U4
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="1ffb", ATTRS{idProduct}=="0101", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ## Arduino SA
+ ### Leonardo
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0036", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ### Micro
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0037", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ## Adafruit Industries LLC
+ ### Feather 32U4
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000c", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ### ItsyBitsy 32U4 3V3/8MHz
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000d", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ### ItsyBitsy 32U4 5V/16MHz
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="239a", ATTRS{idProduct}=="000e", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ## dog hunter AG
+ ### Leonardo
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0036", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+ ### Micro
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="2a03", ATTRS{idProduct}=="0037", GROUP="plugdev", TAG+="uaccess", ENV{ID_MM_DEVICE_IGNORE}="1"
+
+ # hid_listen
+ KERNEL=="hidraw*", MODE="0660", GROUP="plugdev", TAG+="uaccess", TAG+="udev-acl"
+
+ # hid bootloaders
+ ## QMK HID
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2067", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2067", GROUP="plugdev", TAG+="uaccess"
+ ## PJRC's HalfKay
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0478", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="0478", GROUP="plugdev", TAG+="uaccess"
+
+ # APM32 DFU
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="314b", ATTRS{idProduct}=="0106", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="314b", ATTRS{idProduct}=="0106", GROUP="plugdev", TAG+="uaccess"
+
+ # GD32V DFU
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="28e9", ATTRS{idProduct}=="0189", GROUP="plugdev", TAG+="uaccess"
+
+ # WB32 DFU
+-SUBSYSTEMS=="usb", ATTRS{idVendor}=="342d", ATTRS{idProduct}=="dfa0", TAG+="uaccess"
++SUBSYSTEMS=="usb", ATTRS{idVendor}=="342d", ATTRS{idProduct}=="dfa0", GROUP="plugdev", TAG+="uaccess"
diff --git a/testing/qml-asteroid/APKBUILD b/testing/qml-asteroid/APKBUILD
index 9946a82b2a4..9cef6c3e5dc 100644
--- a/testing/qml-asteroid/APKBUILD
+++ b/testing/qml-asteroid/APKBUILD
@@ -1,9 +1,11 @@
# Contributor: Bart Ribbers <bribbers@disroot.org>
# Maintainer: Bart Ribbers <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=asteroid
pkgname=qml-asteroid
-pkgver=0_git20210517
-pkgrel=1
-_commit="8945fa436e3fbb646bc35a9aa60c430323d7f2a7"
+pkgver=2.0.0
+pkgrel=0
pkgdesc="QML components, styles and demos for AsteroidOS"
url="https://github.com/AsteroidOS/qml-asteroid"
# armhf blocked by qt5-qtvirtualkeyboard
@@ -22,14 +24,14 @@ depends_dev="
makedepends="$depends_dev
extra-cmake-modules
mapplauncherd-qt-dev
+ samurai
"
subpackages="$pkgname-dbg $pkgname-dev"
-source="https://github.com/asteroidos/qml-asteroid/archive/$_commit/qml-asteroid-$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
+source="$pkgname-$pkgver.tar.gz::https://github.com/asteroidos/qml-asteroid/archive/refs/tags/$pkgver.tar.gz"
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DINSTALL_QML_IMPORT_DIR=/usr/lib/qt5/qml
@@ -37,8 +39,7 @@ build() {
}
check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+ ctest --test-dir build --output-on-failure
}
package() {
@@ -53,5 +54,5 @@ dev() {
}
sha512sums="
-b0bfc7f9ab090b319beba86091c987521f5d9a039c21e51c95a0336e0acf515bed88eb97fa42521daedfa5b45dfc7c3a81365eacd980c54ebaf311a2a573fadb qml-asteroid-8945fa436e3fbb646bc35a9aa60c430323d7f2a7.tar.gz
+6bce67a1fe66cf88d43dc3c27fe46421bef4b0f6f8f52deb25717590deb529fa2d48a1705517998e4222eecf00038a4ff2a50f5d8d28babd0bd9a1d72fc33bf0 qml-asteroid-2.0.0.tar.gz
"
diff --git a/testing/qoi/APKBUILD b/testing/qoi/APKBUILD
new file mode 100644
index 00000000000..09655660c00
--- /dev/null
+++ b/testing/qoi/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Elly Fong-Jones <elly@elly.town>
+# Maintainer: Elly Fong-Jones <elly@elly.town>
+pkgname=qoi
+pkgver=0.0.0_git20230312
+_commit=f6dffaf1e8170cdd79945a4fb60f6403e447e020
+pkgrel=0
+pkgdesc="Quite OK Image format reference implementation"
+url="https://github.com/phoboslab/qoi"
+arch="all"
+license="MIT"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="stb" # for qoiconv
+subpackages="qoiconv qoi-dev"
+source="https://github.com/phoboslab/qoi/archive/$_commit.tar.gz"
+builddir="$srcdir/qoi-$_commit"
+options="!check" # no tests
+
+build() {
+ # pass through ldflags, single-file
+ make CFLAGS="$CFLAGS $LDFLAGS" qoiconv
+}
+
+package() {
+ depends="qoiconv=$pkgver-r$pkgrel"
+ install -Dm644 qoi.h -t "$pkgdir"/usr/include
+
+ # note that qoibench is not built: it is a tool for benchmarking qoi
+ # compression vs libpng, so it adds a dep on libpng, and is more useful
+ # for development of qoi than users of qoi.
+ install -Dm755 qoiconv -t "$pkgdir"/usr/bin
+}
+
+qoiconv() {
+ pkgdesc="$pkgdesc (qoiconv utility)"
+ amove usr/bin/qoiconv
+}
+
+sha512sums="
+4e19584895232fa5b3a06598cc272fc51b58c2a59006f9443afdb8f728b9724ae57a3c6c6937c684cc1b2e7e8f9c58785b1933a3b5321fd7cd34651e884f76d7 f6dffaf1e8170cdd79945a4fb60f6403e447e020.tar.gz
+"
diff --git a/testing/qownnotes/APKBUILD b/testing/qownnotes/APKBUILD
index 5a6a5e0ad6c..a057768e1de 100644
--- a/testing/qownnotes/APKBUILD
+++ b/testing/qownnotes/APKBUILD
@@ -1,17 +1,33 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=qownnotes
-pkgver=22.1.5
+pkgver=23.6.6
pkgrel=0
pkgdesc="Plain-text file markdown note taking with Nextcloud/ownCloud integration"
url="https://www.qownnotes.org/"
arch="all !ppc64le !s390x !armhf" # armhf blocked by qt5-qtdeclarative
license="GPL-2.0-only"
-makedepends="qt5-qtdeclarative-dev qt5-qtsvg-dev qt5-qtxmlpatterns-dev
- qt5-qttools-dev qt5-qtbase-dev qt5-qtwebsockets-dev botan-dev
- qt5-qtx11extras-dev"
+makedepends="
+ botan-dev
+ cmake
+ md4c-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ qt5-qtwebsockets-dev
+ qt5-qtx11extras-dev
+ qt5-qtxmlpatterns-dev
+ samurai
+ "
subpackages="$pkgname-lang"
-source="https://download.tuxfamily.org/qownnotes/src/qownnotes-$pkgver.tar.xz"
+source="https://download.tuxfamily.org/qownnotes/src/qownnotes-$pkgver.tar.xz
+ botan.patch
+ exclude.patch
+ md4c.patch
+ no-werror.patch
+ "
+options="!check" # no tests
prepare() {
default_prepare
@@ -19,19 +35,16 @@ prepare() {
}
build() {
- /usr/lib/qt5/bin/qmake \
- QMAKE_CFLAGS_RELEASE="$CFLAGS" \
- QMAKE_CXXFLAGS_RELEASE="$CXXFLAGS" \
- QMAKE_LFLAGS_RELEASE="$LDFLAGS"
- make
-}
-
-check() {
- make check
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DBUILD_WITH_SYSTEM_BOTAN=ON
+ cmake --build build
}
package() {
- install -D -m755 QOwnNotes "$pkgdir/usr/bin/QOwnNotes"
+ DESTDIR="$pkgdir" cmake --install build
+ install -D -m755 build/QOwnNotes "$pkgdir/usr/bin/QOwnNotes"
install -D -m644 PBE.QOwnNotes.desktop "$pkgdir/usr/share/applications/PBE.QOwnNotes.desktop"
install -D -m644 "images/icons/128x128/apps/QOwnNotes.png" "$pkgdir/usr/share/pixmaps/QOwnNotes.png"
for format in 16x16 24x24 32x32 48x48 64x64 96x96 128x128 256x256 512x512 ; do
@@ -40,10 +53,16 @@ package() {
}
lang() {
- install -d "$subpkgdir/usr/share/QOwnNotes/languages/"
- install -D -m644 "$builddir"/languages/*.qm "$subpkgdir/usr/share/QOwnNotes/languages/"
+ pkgdesc="Translations for $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel lang"
+
+ amove usr/share/qt5/translations
}
sha512sums="
-7d79dd987467799374bf90365ca426c4248c89e1eab709ffa488c135730e116c36538a253b3f9ef39301e99faa1cab12343796e33cf9cb7c1796e4c85295dd31 qownnotes-22.1.5.tar.xz
+c64460a92dd4d250d69dacecc7d6f74c248c51909cfec19603e56ee12fea77de86ad38155cee5d3e48bf52422f3f7e3efe1aaa03c8260f35d901350d2094ac8e qownnotes-23.6.6.tar.xz
+81b3171f826a310be0e78e56f9f9780a226b4aea5a81ddd7d3cdc90e3a6d460c242a20766e4db72df1b0a6a99edced04f85f2fa3d939e5f7969a624044365e33 botan.patch
+4fe0cb83bc32b3fdbd31ed97a1c228a558579daabb0a5aee7c2b6a357256e04fc90cdbf7dde8897670130737bda5db2de0db664f1c1407875b2012f22ec038be exclude.patch
+f8a279b4485aad1649cb1941761cec385be035affd8acc71b071f368461593dfe787c8fc7080d9e0b18b5dceac2a897a0b4f8e8345d6f6301a244ed4c14386ff md4c.patch
+4129d840d17046015947c55c382db26938bfa4605a8737d69161eff6e44adaa06cd8c908e411f754595fe204e46a801ec1e8dc79121eab62dfd631ff6998fce9 no-werror.patch
"
diff --git a/testing/qownnotes/botan.patch b/testing/qownnotes/botan.patch
new file mode 100644
index 00000000000..cb01653cdf8
--- /dev/null
+++ b/testing/qownnotes/botan.patch
@@ -0,0 +1,17 @@
+link to system botan
+--
+diff --git a/libraries/botan/CMakeLists.txt b/libraries/botan/CMakeLists.txt
+index 4836a38..97ad24a 100644
+--- a/libraries/botan/CMakeLists.txt
++++ b/libraries/botan/CMakeLists.txt
+@@ -18,7 +18,9 @@ target_link_libraries(botan PUBLIC Qt5::Core)
+ target_include_directories(botan PUBLIC ${CMAKE_CURRENT_LIST_DIR})
+
+ if(BUILD_WITH_SYSTEM_BOTAN)
+- find_package(Botan2 REQUIRED)
++ find_package(PkgConfig REQUIRED)
++ pkg_check_modules(Botan2 REQUIRED botan-2 IMPORTED_TARGET)
++ add_library(Botan2::Botan2 ALIAS PkgConfig::Botan2)
+ if(NOT TARGET Botan2::Botan2)
+ message(FATAL_ERROR "Could not find system Botan 2 library using PkgConfig")
+ endif()
diff --git a/testing/qownnotes/exclude.patch b/testing/qownnotes/exclude.patch
new file mode 100644
index 00000000000..1a5fb36c69a
--- /dev/null
+++ b/testing/qownnotes/exclude.patch
@@ -0,0 +1,31 @@
+prevent install of a bunch of useless stuff that is already linked in
+--
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9d41d0c..d42ab53 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -56,20 +56,20 @@ set(BUILD_SHARED_LIBS OFF)
+ # Disable building tests inside QHotKey library
+ set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
+ set(QHOTKEY_EXAMPLES OFF)
+-add_subdirectory(libraries/qhotkey)
++add_subdirectory(libraries/qhotkey EXCLUDE_FROM_ALL)
+
+ # FakeVim library
+ set(CREATE_STATIC_LIBRARY ON)
+ if(MSVC)
+ add_compile_definitions(FAKEVIM_STATIC_DEFINE QTCREATOR_UTILS_STATIC_LIB)
+ endif()
+-add_subdirectory(libraries/fakevim)
+-add_subdirectory(libraries/diff_match_patch)
++add_subdirectory(libraries/fakevim EXCLUDE_FROM_ALL)
++add_subdirectory(libraries/diff_match_patch EXCLUDE_FROM_ALL)
+
+ option(USE_QLITE_HTML "Build using QLiteHtml for preview" OFF)
+ if (USE_QLITEHTML)
+ add_definitions(-DUSE_QLITEHTML=1)
+- add_subdirectory(libraries/qlitehtml)
++ add_subdirectory(libraries/qlitehtml EXCLUDE_FROM_ALL)
+ endif()
+
+
diff --git a/testing/qownnotes/md4c.patch b/testing/qownnotes/md4c.patch
new file mode 100644
index 00000000000..712037b5751
--- /dev/null
+++ b/testing/qownnotes/md4c.patch
@@ -0,0 +1,15 @@
+link to system md4c
+--
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1f82fe7..77fa2a8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,7 +8,7 @@ include_directories(libraries/sonnet/src/core)
+ #some hunspell settings for windows
+ include(libraries/sonnet/src/plugins/hunspell/hunspell/CMakeLists.txt)
+
+-add_subdirectory(libraries/md4c)
++find_package(md4c)
+
+ add_executable(QOwnNotes "")
+
diff --git a/testing/qownnotes/no-werror.patch b/testing/qownnotes/no-werror.patch
new file mode 100644
index 00000000000..71bf869aeee
--- /dev/null
+++ b/testing/qownnotes/no-werror.patch
@@ -0,0 +1,12 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9d41d0c..1f82fe7 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -41,7 +41,6 @@ if (UNIX)
+ # enable werror on linux
+ if (NOT APPLE)
+ message("Werror enabled on linux")
+- target_compile_options(QOwnNotes PRIVATE -Werror)
+ endif()
+ endif()
+
diff --git a/testing/qpdfview/APKBUILD b/testing/qpdfview/APKBUILD
new file mode 100644
index 00000000000..b3333422e69
--- /dev/null
+++ b/testing/qpdfview/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: gay <gay@disroot.org>
+# Maintainer: gay <gay@disroot.org>
+pkgname=qpdfview
+pkgver=0.5
+pkgrel=0
+pkgdesc="A tabbed PDF viewer using the poppler library."
+url="https://launchpad.net/qpdfview"
+arch="all !riscv64"
+license="GPL-2.0-or-later"
+options="!check"
+makedepends="
+ cups-dev
+ djvulibre-dev
+ file-dev
+ libspectre-dev
+ poppler-qt5-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ "
+subpackages="$pkgname-doc"
+source="https://launchpad.net/qpdfview/trunk/$pkgver.0/+download/qpdfview-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ lrelease-qt5 qpdfview.pro
+}
+
+build() {
+ qmake-qt5 qpdfview.pro
+ make
+}
+
+package() {
+ make INSTALL_ROOT="$pkgdir" install
+}
+
+sha512sums="
+1b6b479bb42f4568c21b5f6cb0c552c4323739ba9fe46cea80cc199f48b0b49a278e0a2fb0d21f83bafb467e43dd37352b99ef41795d140220bb82d704e03926 qpdfview-0.5.tar.gz
+"
diff --git a/testing/qperf/APKBUILD b/testing/qperf/APKBUILD
index ae667f9ffb2..5fc72132270 100644
--- a/testing/qperf/APKBUILD
+++ b/testing/qperf/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Matthieu Monnier <matthieu.monnier@enalean.com>
pkgname=qperf
pkgver=0.4.11
-pkgrel=0
+pkgrel=1
pkgdesc="Measuring network performance"
url="https://www.openfabrics.org"
arch="all"
diff --git a/testing/qps/APKBUILD b/testing/qps/APKBUILD
deleted file mode 100644
index d1b4809fd08..00000000000
--- a/testing/qps/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=qps
-pkgver=2.4.0
-pkgrel=0
-pkgdesc="LXQt process manager"
-url="https://github.com/lxqt/qps"
-arch="all !armhf !mips64 !riscv64" # limited by lxqt-config
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools qt5-qtbase-dev qt5-qttools-dev
- libqtxdg-dev liblxqt-dev kwindowsystem-dev
- "
-subpackages="$pkgname-doc"
-options="!check" # No testsuite
-source="https://github.com/lxqt/qps/releases/download/$pkgver/qps-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-ee71ca88ba21644d0a144730b7e36131890c0626ffea6b2082bc3d8a2f7f6230335632a7dbb95aa0ae4068f278cca58c628c72fe74dda2a7c8a8021b0ff87825 qps-2.4.0.tar.xz
-"
diff --git a/testing/qqc2-suru-style/APKBUILD b/testing/qqc2-suru-style/APKBUILD
new file mode 100644
index 00000000000..87b5631e1a0
--- /dev/null
+++ b/testing/qqc2-suru-style/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=qqc2-suru-style
+pkgver=0.20230206
+pkgrel=0
+pkgdesc="Suru Style for QtQuick Controls 2"
+arch="all"
+url="https://gitlab.com/ubports/development/core/qqc2-suru-style"
+license="GPL-2.0-or-later"
+makedepends="
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qtquickcontrols2-dev
+ "
+source="https://gitlab.com/ubports/development/core/qqc2-suru-style/-/archive/$pkgver/qqc2-suru-style-$pkgver.tar.gz"
+options="!check" # No tests
+
+build() {
+ qmake-qt5
+ make
+}
+
+package() {
+ INSTALL_ROOT="$pkgdir" make install
+}
+
+sha512sums="
+90605186c924255d94f1488445c0331a29795d00cdb3addee0572f5ec4e560fbc29e13bb0cd6561a9328edbb2df1c540fc4262668a16f102b4da0611fff3b362 qqc2-suru-style-0.20230206.tar.gz
+"
diff --git a/testing/qspectrumanalyzer/APKBUILD b/testing/qspectrumanalyzer/APKBUILD
index d393a6a3e27..f97ce0248a9 100644
--- a/testing/qspectrumanalyzer/APKBUILD
+++ b/testing/qspectrumanalyzer/APKBUILD
@@ -2,10 +2,10 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=qspectrumanalyzer
pkgver=2.2.0
-pkgrel=1
+pkgrel=4
pkgdesc="Spectrum analyzer for multiple SDR platforms"
url="https://github.com/xmikos/qspectrumanalyzer"
-arch="noarch !armhf !mips64" # no py3-qt on armhf
+arch="noarch !x86 !armhf" # no py3-qt on armhf
license="GPL-3.0-only"
depends="
hackrf
@@ -16,6 +16,7 @@ depends="
python3
"
checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/xmikos/qspectrumanalyzer/archive/v$pkgver.tar.gz"
options="!check" # Test seems windows only :-/
@@ -28,7 +29,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="8aad19d4f02fac579a65279eb0a26bab18f9e1243a626419640b91eab488eb21c96b0a9c83e6cc0141760c887b2481b533d0a32432de0919e41904c5b279c627 qspectrumanalyzer-2.2.0.tar.gz"
diff --git a/testing/qsstv/APKBUILD b/testing/qsstv/APKBUILD
new file mode 100644
index 00000000000..a28f094a7f0
--- /dev/null
+++ b/testing/qsstv/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=qsstv
+pkgver=9.5.8
+pkgrel=2
+pkgdesc="Program for receiving and transmitting SSTV and HAMDRM"
+url="https://www.qsl.net/on4qz/qsstv/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ qt5-qtbase-dev
+ openjpeg-dev
+ alsa-lib-dev
+ pulseaudio-dev
+ fftw-dev
+ hamlib-dev
+ v4l-utils-dev
+"
+source="https://www.qsl.net/o/on4qz/qsstv/downloads/qsstv_$pkgver.tar.gz"
+options="!check" # no test suite
+builddir="$srcdir/qsstv"
+
+build() {
+ qmake-qt5 PREFIX="/usr"
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ INSTALL_ROOT="$pkgdir" make install
+ install -Dm644 "$builddir"/qsstv.desktop \
+ "$pkgdir"/usr/share/applications/qsstv.desktop
+ install -Dm644 "$builddir"/icons/qsstv.png \
+ "$pkgdir"/usr/share/icons/hicolor/48x48/apps/qsstv.png
+}
+
+sha512sums="
+88e1bb62e3838d94c670397fceced7913ac4675e7fea93d78c2b2799ef172c27baad9ac7f7d119eb1130296d21b641164cdd0f53a93967305f632fa9bb3b4e6a qsstv_9.5.8.tar.gz
+"
diff --git a/testing/qstardict/APKBUILD b/testing/qstardict/APKBUILD
index e95b80a8ebd..fe30d2cb0c3 100644
--- a/testing/qstardict/APKBUILD
+++ b/testing/qstardict/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=qstardict
pkgver=1.3
-pkgrel=0
+pkgrel=1
pkgdesc="Free dictionary program written using Qt."
url="https://qstardict.ylsoftware.com"
arch="all"
diff --git a/testing/qsynth/APKBUILD b/testing/qsynth/APKBUILD
new file mode 100644
index 00000000000..7e9841d3dfd
--- /dev/null
+++ b/testing/qsynth/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Krystian Chachuła <krystian@krystianch.com>
+pkgname=qsynth
+pkgver=0.9.13
+pkgrel=0
+pkgdesc="Qt GUI Interface for FluidSynth"
+url="https://qsynth.sourceforge.io/"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ cmake
+ samurai
+ qt6-qtbase-dev
+ qt6-qttools-dev
+ qt6-qtsvg-dev
+ fluidsynth-dev
+"
+subpackages="$pkgname-doc"
+source="https://downloads.sourceforge.net/project/qsynth/qsynth/$pkgver/qsynth-$pkgver.tar.gz"
+options="!check" # no tests
+
+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=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+8249438429191a2beb381af9f6fc6bc0d88711c2590379bfa10c558464c562f28453dacec8edbe1afdc590ee437530cefac211b272553cf8acc266706894f17c qsynth-0.9.13.tar.gz
+"
diff --git a/testing/qt-creator/APKBUILD b/testing/qt-creator/APKBUILD
index 2596138400a..e2bbbb0b5b1 100644
--- a/testing/qt-creator/APKBUILD
+++ b/testing/qt-creator/APKBUILD
@@ -2,51 +2,71 @@
# Contributor: Alexey Minnekhanov <alexeymin@postmarketos.org>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=qt-creator
-pkgver=6.0.1
+pkgver=13.0.0
pkgrel=0
pkgdesc="Lightweight and cross-platform C++ IDE"
url="https://qt-project.org/wiki/Category:Tools::QtCreator"
-arch="all !armhf" # armhf blocked by qt5-qtdeclarative
+arch="x86_64 aarch64" # qt6-qtwebengine
license="GPL-3.0-only WITH Qt-GPL-exception-1.0"
depends="
- qt5-qtbase-sqlite
- qt5-qtquickcontrols
- qt5-qtquickcontrols2
- qt5-qtbase-dev
- qt5-qttools-dev
-"
+ qt6-qtbase-sqlite
+ qt6-qtbase-dev
+ qt6-qttools-dev
+ "
+_llvmver=17
makedepends="
botan-dev
- clang-dev
- clang-static
+ clang$_llvmver-dev
+ clang$_llvmver-static
cmake
elfutils-dev
- llvm12-dev
- llvm12-static
- qt5-qtdeclarative-dev
- qt5-qtscript-dev
- qt5-qtsvg-dev
- qt5-qtquickcontrols2-dev
- syntax-highlighting-dev
+ lld
+ llvm$_llvmver-dev
+ llvm$_llvmver-gtest
+ llvm$_llvmver-static
+ qt6-qt5compat-dev
+ qt6-qtdeclarative-dev
+ qt6-qtquick3d-dev
+ qt6-qtserialport-dev
+ qt6-qtshadertools-dev
+ qt6-qtsvg-dev
+ qt6-qtwebengine-dev
+ samurai
"
ldpath="/usr/lib/qtcreator:/usr/lib/qtcreator/plugins"
source="
https://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/qt-creator-opensource-src-$pkgver.tar.xz
fix-execinfo.patch
fix-malloc-trim.patch
-"
+ "
builddir="$srcdir"/qt-creator-opensource-src-$pkgver
build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
+ # enum-constexpr-conversion in clang16 now flags outside-enumeration
+ # values like -1 as invalid
+ export CC=clang-$_llvmver
+ export CXX=clang++-$_llvmver
+ export CFLAGS="$CFLAGS -flto=thin"
+ export CXXFLAGS="$CXXFLAGS -flto=thin -Wno-error=enum-constexpr-conversion -I/usr/lib/llvm$_llvmver/include"
+ export LDFLAGS="$LDFLAGS -fuse-ld=lld"
+
+ case "$CARCH" in
+ aarch64)
+ # not recognised by clang on aarch64
+ export CFLAGS="${CFLAGS/-fstack-clash-protection}"
+ export CXXFLAGS="${CXXFLAGS/-fstack-clash-protection}"
+ ;;
+ esac
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DPYTHON_EXECUTABLE=/usr/bin/python3 \
- -DBUILD_PLUGIN_CLANGFORMAT=OFF
- # Note: -DBUILD_PLUGIN_CLANGFORMAT=OFF: incompatible llvm/clang? without this:
- # /usr/include/clang/Basic/LLVM.h:21:10: fatal error: llvm/Support/Casting.h: No such file or directory
+ -DBUILD_QBS=OFF \
+ -DBUILD_PLUGIN_CLANGFORMAT=OFF \
+ -DBUILD_PLUGIN_COPILOT=OFF \
+ -DBUILD_WITH_PCH=OFF \
+ -DCLANGTOOLING_LINK_CLANG_DYLIB=ON
cmake --build build
}
@@ -55,7 +75,7 @@ package() {
}
sha512sums="
-39fe083d533b5658f2b1aec71d7a9d1276644f18350cdedaf2b33f32bd3aa5d19b00cd7ff2f5c4f12567d907a814ec4eec4b2f4dac1c429449f3fc9cfc4f0f29 qt-creator-opensource-src-6.0.1.tar.xz
-702f014fc99bfba2576aa7459890afaad430638b2461059793884a3a527a05c73b58b649447e1f46b45c564f777aa7117581066b559dac896d082381057ef1b0 fix-execinfo.patch
-4fbb9ad60622983c3ffb5600d374e76c2e21d1d8e1f0da255932c9c2e828c14ccc61c4065dd8cceff74088565a08f39685b29b9e2f767fc09773ac1ae89c4b60 fix-malloc-trim.patch
+26fea156becc136fb55702a65c29dad825fd3fa60d8e19d8d142ab6518dc8e40fbddfe70d79d2b71f14f76c8a1d9bca34fb65e565702e67c9276aec9758bf345 qt-creator-opensource-src-13.0.0.tar.xz
+43d73c9cd272ee849a5d85490d351c71b786d7ce6b5b46c6ec13642329c14bacc84a122f0bfbb445841aedef8d1cc9fe2485c0c8db24080b5a9dd4380e36c58d fix-execinfo.patch
+efb137318e7005beb4c01cb27dcfc49d63b5c6faa66b0a6d6989bb6533ca94875e34880c482ce36f699dadf920b55a3de43eeed4fa5cf98d1b56405ee2ff0aa5 fix-malloc-trim.patch
"
diff --git a/testing/qt-creator/fix-execinfo.patch b/testing/qt-creator/fix-execinfo.patch
index f9bf5662222..c4577ed644e 100644
--- a/testing/qt-creator/fix-execinfo.patch
+++ b/testing/qt-creator/fix-execinfo.patch
@@ -1,56 +1,57 @@
+diff --git a/src/libs/utils/qtcassert.cpp b/src/libs/utils/qtcassert.cpp
+index d371b6f6..1db95aad 100644
--- a/src/libs/utils/qtcassert.cpp
+++ b/src/libs/utils/qtcassert.cpp
-@@ -31,8 +31,10 @@
- #if defined(Q_OS_LINUX)
+@@ -11,7 +11,9 @@
+ #if defined(Q_OS_UNIX)
#include <stdio.h>
#include <signal.h>
+#ifdef __GLIBC__
#include <execinfo.h>
- #endif
+#endif
-
- namespace Utils {
-
-@@ -40,7 +42,7 @@ void dumpBacktrace(int maxdepth)
- {
- if (maxdepth == -1)
- maxdepth = 1000;
+ #elif defined(_MSC_VER)
+ #ifdef QTCREATOR_PCH_H
+ #define CALLBACK WINAPI
+@@ -29,7 +31,7 @@ void dumpBacktrace(int maxdepth)
+ const int ArraySize = 1000;
+ if (maxdepth < 0 || maxdepth > ArraySize)
+ maxdepth = ArraySize;
-#if defined(Q_OS_UNIX)
+#if defined(Q_OS_UNIX) && defined(__GLIBC__)
- void *bt[1000] = {nullptr};
- int size = backtrace(bt, sizeof(bt) / sizeof(bt[0]));
+ void *bt[ArraySize] = {nullptr};
+ int size = backtrace(bt, maxdepth);
char **lines = backtrace_symbols(bt, size);
diff --git a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp
-index a3a9806f7e..c369e681ab 100644
+index ba8afd56..4040dc6a 100644
--- a/src/plugins/qmldesigner/designercore/exceptions/exception.cpp
+++ b/src/plugins/qmldesigner/designercore/exceptions/exception.cpp
-@@ -26,7 +26,9 @@
+@@ -4,7 +4,9 @@
#include "exception.h"
-
+
#ifdef Q_OS_LINUX
+#if defined(__GLIBC__)
#include <execinfo.h>
+#endif
#include <cxxabi.h>
#endif
-
-@@ -100,6 +102,7 @@ bool Exception::warnAboutException()
+
+@@ -76,6 +78,7 @@ bool Exception::warnAboutException()
}
-
+
#ifdef Q_OS_LINUX
+#ifdef __GLIBC__
static QString getBackTrace()
{
QString backTrace;
-@@ -115,6 +118,7 @@ static QString getBackTrace()
+@@ -91,6 +94,7 @@ static QString getBackTrace()
return backTrace;
}
#endif
+#endif
-
+
QString Exception::defaultDescription(int line, const QByteArray &function, const QByteArray &file)
{
-@@ -138,8 +142,10 @@ Exception::Exception(int line, const QByteArray &function,
+@@ -114,8 +118,10 @@ Exception::Exception(int line, const QByteArray &function,
, m_file(QString::fromUtf8(file))
, m_description(description)
#ifdef Q_OS_LINUX
diff --git a/testing/qt-creator/fix-malloc-trim.patch b/testing/qt-creator/fix-malloc-trim.patch
index 144494f4bcf..2261b0519d9 100644
--- a/testing/qt-creator/fix-malloc-trim.patch
+++ b/testing/qt-creator/fix-malloc-trim.patch
@@ -1,13 +1,11 @@
-diff --git a/src/app/main.cpp b/src/app/main.cpp
-index 248fa8efef..4c27f65625 100644
---- a/src/app/main.cpp
-+++ b/src/app/main.cpp
-@@ -741,7 +741,7 @@ int main(int argc, char **argv)
- // shutdown plugin manager on the exit
- QObject::connect(&app, &QCoreApplication::aboutToQuit, &pluginManager, &PluginManager::shutdown);
-
+--- a/src/plugins/coreplugin/icore.cpp
++++ b/src/plugins/coreplugin/icore.cpp
+@@ -1274,7 +1274,7 @@
+ m_trimTimer.setSingleShot(true);
+ m_trimTimer.setInterval(60000);
+ // glibc may not actually free memory in free().
-#ifdef Q_OS_LINUX
+#if defined(Q_OS_LINUX) && defined(__GLIBC__)
- class MemoryTrimmer : public QObject
- {
- public:
+ connect(&m_trimTimer, &QTimer::timeout, this, [] { malloc_trim(0); });
+ #endif
+ }
diff --git a/testing/qt-wayland-shell-helpers/APKBUILD b/testing/qt-wayland-shell-helpers/APKBUILD
index 7c2c3d41fbb..b245cbb0f6a 100644
--- a/testing/qt-wayland-shell-helpers/APKBUILD
+++ b/testing/qt-wayland-shell-helpers/APKBUILD
@@ -1,22 +1,20 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=qt-wayland-shell-helpers
pkgver=0.1.1
-pkgrel=0
+pkgrel=3
pkgdesc="helpers for using Qt with arbitrary Wayland shell protocols"
url="https://github.com/iridescent-desktop/qt-wayland-shell-helpers"
arch="all !armhf" # blocked by qt5-qtdeclarative
license="ISC"
-makedepends="wayland-protocols wayland-dev qt5-qtbase-dev qt5-qtwayland-dev
- qtchooser meson"
+makedepends="wayland-protocols wayland-dev qt5-qtbase-dev qt5-qttools-dev qt5-qtwayland-dev meson"
subpackages="$pkgname-dev"
source="https://github.com/iridescent-desktop/qt-wayland-shell-helpers/archive/v$pkgver/qt-wayland-shell-helpers-$pkgver.tar.gz
fix-qt-include-directory.patch"
-builddir="$srcdir/qt-wayland-shell-helpers-$pkgver"
options="!check" # No test suite.
build() {
abuild-meson . output
- meson compile -j 4 -C output
+ meson compile -C output
}
package() {
diff --git a/testing/qt5ct/APKBUILD b/testing/qt5ct/APKBUILD
index 0991ff18645..6e7da084d50 100644
--- a/testing/qt5ct/APKBUILD
+++ b/testing/qt5ct/APKBUILD
@@ -1,37 +1,33 @@
# Contributor: Vladimir Luzan <vluzan@disroot.org>
# Maintainer: Vladimir Luzan <vluzan@disroot.org>
pkgname=qt5ct
-pkgver=1.5
+pkgver=1.7
pkgrel=0
pkgdesc="Qt5 configuration tool"
url="https://sourceforge.net/projects/qt5ct/"
arch="all"
license="BSD-2-Clause"
-makedepends="cmake qt5-qtbase-dev qt5-qttools-dev"
+makedepends="cmake qt5-qtbase-dev qt5-qttools-dev samurai"
+subpackages="$pkgname-dev"
source="https://sourceforge.net/projects/qt5ct/files/qt5ct-$pkgver.tar.bz2"
+options="!check" # no tests
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \
$CMAKE_CROSSOPTS .
cmake --build build
}
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
package() {
DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-fc16c7849a89aa8ee9480162888294638bc01f83b89d86c978397e58f6da4360cf07b9f558635b8a5b13bd10d18f3ad49663fe8a76183da9ae55aac23230b1e5 qt5ct-1.5.tar.bz2
+97f1afc137e750abbb8c4e442cb6e09d2aa0c4979de2117ea644d484e1f7489bec144332814aae961bfaa5f8ac9ddf027c7a665274a65aef26fc4bf7c45610c0 qt5ct-1.7.tar.bz2
"
diff --git a/testing/qt6-qtwebengine/0001-Enable-building-on-musl.patch b/testing/qt6-qtwebengine/0001-Enable-building-on-musl.patch
deleted file mode 100644
index afc88b01049..00000000000
--- a/testing/qt6-qtwebengine/0001-Enable-building-on-musl.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/configure.cmake b/configure.cmake
-index 172831c6..76813841 100644
---- a/configure.cmake
-+++ b/configure.cmake
-@@ -403,11 +403,6 @@ add_check_for_support(
- CONDITION NOT LINUX OR PkgConfig_FOUND
- MESSAGE "A pkg-config support is required."
- )
--add_check_for_support(
-- MODULES QtWebEngine QtPdf
-- CONDITION NOT LINUX OR TEST_glibc
-- MESSAGE "A suitable version >= 2.17 of glibc is required."
--)
- add_check_for_support(
- MODULES QtWebEngine QtPdf
- CONDITION NOT LINUX OR TEST_khr
diff --git a/testing/qt6-qtwebengine/0002-musl-fixes.patch b/testing/qt6-qtwebengine/0002-musl-fixes.patch
deleted file mode 100644
index 434a6322d52..00000000000
--- a/testing/qt6-qtwebengine/0002-musl-fixes.patch
+++ /dev/null
@@ -1,185 +0,0 @@
---- ./src/3rdparty/chromium/third_party/lss/linux_syscall_support.h.orig
-+++ ./src/3rdparty/chromium/third_party/lss/linux_syscall_support.h
-@@ -139,12 +139,14 @@
- */
- #pragma push_macro("stat64")
- #pragma push_macro("fstat64")
-+#pragma push_macro("fstatat64")
- #pragma push_macro("lstat64")
- #pragma push_macro("pread64")
- #pragma push_macro("pwrite64")
- #pragma push_macro("getdents64")
- #undef stat64
- #undef fstat64
-+#undef fstatat64
- #undef lstat64
- #undef pread64
- #undef pwrite64
-@@ -1258,6 +1260,12 @@
- #ifndef __NR_getrandom
- #define __NR_getrandom 318
- #endif
-+
-+#undef __NR_pread
-+#define __NR_pread __NR_pread64
-+#undef __NR_pwrite
-+#define __NR_pwrite __NR_pwrite64
-+
- /* End of x86-64 definitions */
- #elif defined(__mips__)
- #if _MIPS_SIM == _MIPS_SIM_ABI32
-@@ -4545,6 +4553,7 @@
- * corresponding #pragma push_macro near the top of this file. */
- #pragma pop_macro("stat64")
- #pragma pop_macro("fstat64")
-+#pragma pop_macro("fstatat64")
- #pragma pop_macro("lstat64")
- #pragma pop_macro("pread64")
- #pragma pop_macro("pwrite64")
-
---- ./src/3rdparty/chromium/sandbox/linux/suid/process_util.h.orig
-+++ ./src/3rdparty/chromium/sandbox/linux/suid/process_util.h
-@@ -11,6 +11,14 @@
- #include <stdbool.h>
- #include <sys/types.h>
-
-+// Some additional functions
-+# define TEMP_FAILURE_RETRY(expression) \
-+ (__extension__ \
-+ ({ long int __result; \
-+ do __result = (long int) (expression); \
-+ while (__result == -1L && errno == EINTR); \
-+ __result; }))
-+
- // This adjusts /proc/process/oom_score_adj so the Linux OOM killer
- // will prefer certain process types over others. The range for the
- // adjustment is [-1000, 1000], with [0, 1000] being user accessible.
---- ./src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig 2020-04-12 08:26:40.184159217 -0400
-+++ ./src/3rdparty/chromium/sandbox/linux/seccomp-bpf/trap.cc 2020-04-12 08:46:16.737191222 -0400
-@@ -174,7 +174,7 @@
- // If the version of glibc doesn't include this information in
- // siginfo_t (older than 2.17), we need to explicitly copy it
- // into an arch_sigsys structure.
-- memcpy(&sigsys, &info->_sifields, sizeof(sigsys));
-+ memcpy(&sigsys, &info->__sifields, sizeof(sigsys));
- #endif
-
- #if defined(__mips__)
---- ./src/3rdparty/chromium/third_party/ffmpeg/libavutil/cpu.c.orig
-+++ ./src/3rdparty/chromium/third_party/ffmpeg/libavutil/cpu.c
-@@ -38,7 +38,6 @@
- #include <sys/param.h>
- #endif
- #include <sys/types.h>
--#include <sys/sysctl.h>
- #endif
- #if HAVE_UNISTD_H
- #include <unistd.h>
-diff --git a/src/3rdparty/chromium/third_party/ots/src/include/opentype-sanitiser.h b/src/3rdparty/chromium/third_party/ots/src/include/opentype-sanitiser.h
---- a/src/3rdparty/chromium/third_party/ots/src/include/opentype-sanitiser.h
-+++ b/src/3rdparty/chromium/third_party/ots/src/include/opentype-sanitiser.h
-@@ -20,6 +20,7 @@ typedef unsigned __int64 uint64_t;
- #define ots_htonl(x) _byteswap_ulong (x)
- #define ots_htons(x) _byteswap_ushort (x)
- #else
-+#include <sys/types.h>
- #include <arpa/inet.h>
- #include <stdint.h>
- #define ots_ntohl(x) ntohl (x)
-diff --git a/src/3rdparty/chromium/base/logging.cc b/src/3rdparty/chromium/base/logging.cc
---- a/src/3rdparty/chromium/base/logging.cc
-+++ b/src/3rdparty/chromium/base/logging.cc
-@@ -558,7 +558,7 @@ LogMessage::LogMessage(const char* file, int line, const char* condition)
-
- LogMessage::~LogMessage() {
- size_t stack_start = stream_.tellp();
--#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && !defined(__UCLIBC__) && \
-+#if !defined(OFFICIAL_BUILD) && !defined(OS_NACL) && (defined(OS_LINUX) && defined(__GLIBC__)) && \
- !defined(OS_AIX)
- if (severity_ == LOGGING_FATAL && !base::debug::BeingDebugged()) {
- // Include a stack trace on a fatal, unless a debugger is attached.
-diff --git a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc
---- a/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc
-+++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/wtf/stack_util.cc
-@@ -29,7 +29,7 @@ size_t GetUnderestimatedStackSize() {
- // FIXME: On Mac OSX and Linux, this method cannot estimate stack size
- // correctly for the main thread.
-
--#elif defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
-+#elif defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
- defined(OS_FUCHSIA)
- // pthread_getattr_np() can fail if the thread is not invoked by
- // pthread_create() (e.g., the main thread of blink_unittests).
-@@ -97,7 +97,7 @@ return Threading::ThreadStackSize();
- }
-
- void* GetStackStart() {
--#if defined(__GLIBC__) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
-+#if defined(OS_LINUX) || defined(OS_ANDROID) || defined(OS_FREEBSD) || \
- defined(OS_FUCHSIA)
- pthread_attr_t attr;
- int error;
-
---- ./src/3rdparty/chromium/net/dns/dns_config_service_posix.cc.orig
-+++ ./src/3rdparty/chromium/net/dns/dns_config_service_posix.cc
-@@ -122,7 +122,7 @@
- ConfigParsePosixResult result;
- config->unhandled_options = false;
- // TODO(fuchsia): Use res_ninit() when it's implemented on Fuchsia.
--#if defined(OS_OPENBSD) || defined(OS_FUCHSIA)
-+#if defined(OS_OPENBSD) || defined(OS_FUCHSIA) || defined(_GNU_SOURCE)
- // Note: res_ninit in glibc always returns 0 and sets RES_INIT.
- // res_init behaves the same way.
- memset(&_res, 0, sizeof(_res));
-diff --git a/src/3rdparty/chromium/third_party/nasm/nasmlib/realpath.c b/src/3rdparty/chromium/third_party/nasm/nasmlib/realpath.c
---- a/src/3rdparty/chromium/third_party/nasm/nasmlib/realpath.c
-+++ b/src/3rdparty/chromium/third_party/nasm/nasmlib/realpath.c
-@@ -47,7 +47,7 @@
-
- #include "nasmlib.h"
-
--#ifdef HAVE_CANONICALIZE_FILE_NAME
-+#if defined(__GLIBC__)
-
- /*
- * GNU-specific, but avoids the realpath(..., NULL)
---- ./src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/thread_utils.h.orig
-+++ ./src/3rdparty/chromium/third_party/perfetto/include/perfetto/ext/base/thread_utils.h
-@@ -61,9 +61,11 @@
- #if PERFETTO_BUILDFLAG(PERFETTO_OS_ANDROID)
- if (prctl(PR_GET_NAME, buf) != 0)
- return false;
--#else
-+#elif defined(__GLIBC__)
- if (pthread_getname_np(pthread_self(), buf, sizeof(buf)) != 0)
- return false;
-+#else
-+ return false;
- #endif
- out_result = std::string(buf);
- return true;
---- ./src/3rdparty/chromium/base/files/file_util_posix.cc.orig
-+++ ./src/3rdparty/chromium/base/files/file_util_posix.cc
-@@ -845,6 +845,9 @@
- // NaCl doesn't implement system calls to open files directly.
- #if !defined(OS_NACL)
- FILE* FileToFILE(File file, const char* mode) {
-+ if (!file.IsValid() || !(fcntl(file.GetPlatformFile(), F_GETFD) != -1 || errno != EBADF))
-+ return nullptr;
-+
- FILE* stream = fdopen(file.GetPlatformFile(), mode);
- if (stream)
- file.TakePlatformFile();
-diff --git a/src/3rdparty/chromium/net/socket/udp_socket_posix.cc b/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-index dbc8c5aaf..077bbde33 100644
---- a/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-+++ b/src/3rdparty/chromium/net/socket/udp_socket_posix.cc
-@@ -1152,7 +1152,7 @@ SendResult UDPSocketPosixSender::InternalSendmmsgBuffers(
- msg_iov->push_back({const_cast<char*>(buffer->data()), buffer->length()});
- msgvec->reserve(buffers.size());
- for (size_t j = 0; j < buffers.size(); j++)
-- msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, nullptr, 0, 0}, 0});
-+ msgvec->push_back({{nullptr, 0, &msg_iov[j], 1, 0, 0, 0}, 0});
- int result = HANDLE_EINTR(Sendmmsg(fd, &msgvec[0], buffers.size(), 0));
- SendResult send_result(0, 0, std::move(buffers));
- if (result < 0) {
diff --git a/testing/qt6-qtwebengine/0003-qt-musl-mallinfo.patch b/testing/qt6-qtwebengine/0003-qt-musl-mallinfo.patch
deleted file mode 100644
index c7b7f27f2b7..00000000000
--- a/testing/qt6-qtwebengine/0003-qt-musl-mallinfo.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff --git a/src/3rdparty/chromium/base/process/process_metrics_posix.cc b/src/3rdparty/chromium/base/process/process_metrics_posix.cc
-index 9d12c427b..9030de9f6 100644
---- a/src/3rdparty/chromium/base/process/process_metrics_posix.cc
-+++ b/src/3rdparty/chromium/base/process/process_metrics_posix.cc
-@@ -119,14 +119,14 @@ size_t ProcessMetrics::GetMallocUsage() {
- malloc_statistics_t stats = {0};
- malloc_zone_statistics(nullptr, &stats);
- return stats.size_in_use;
--#elif defined(OS_LINUX) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
-+#elif (defined(OS_LINUX) && defined(__GLIBC__)) || defined(OS_CHROMEOS) || defined(OS_ANDROID)
- struct mallinfo minfo = mallinfo();
- #if BUILDFLAG(USE_TCMALLOC)
- return minfo.uordblks;
- #else
- return minfo.hblkhd + minfo.arena;
- #endif
--#elif defined(OS_FUCHSIA)
-+#else //if defined(OS_FUCHSIA) // also musl doesn't do this.
- // TODO(fuchsia): Not currently exposed. https://crbug.com/735087.
- return 0;
- #endif
-diff --git a/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc b/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc
-index c327f4865..2717eca5a 100644
---- a/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc
-+++ b/src/3rdparty/chromium/base/trace_event/malloc_dump_provider.cc
-@@ -132,7 +132,7 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
- }
- #elif defined(OS_FUCHSIA)
- // TODO(fuchsia): Port, see https://crbug.com/706592.
--#else
-+#elif defined(__GLIBC__)
- struct mallinfo info = mallinfo();
- // In case of Android's jemalloc |arena| is 0 and the outer pages size is
- // reported by |hblkhd|. In case of dlmalloc the total is given by
-@@ -142,6 +142,8 @@ bool MallocDumpProvider::OnMemoryDump(const MemoryDumpArgs& args,
-
- // Total allocated space is given by |uordblks|.
- allocated_objects_size = info.uordblks;
-+#else
-+ // musl libc does not support mallinfo()
- #endif
-
- MemoryAllocatorDump* outer_dump = pmd->CreateAllocatorDump("malloc");
diff --git a/testing/qt6-qtwebengine/0004-qt-musl-resolve.patch b/testing/qt6-qtwebengine/0004-qt-musl-resolve.patch
deleted file mode 100644
index 386062e0b39..00000000000
--- a/testing/qt6-qtwebengine/0004-qt-musl-resolve.patch
+++ /dev/null
@@ -1,61 +0,0 @@
---- a/src/3rdparty/chromium/net/dns/dns_reloader.cc
-+++ b/src/3rdparty/chromium/net/dns/dns_reloader.cc
-@@ -9,6 +9,10 @@
-
- #include <resolv.h>
-
-+#if !defined(__GLIBC__)
-+#include "resolv_compat.h"
-+#endif
-+
- #include "base/lazy_instance.h"
- #include "base/macros.h"
- #include "base/notreached.h"
---- a/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc
-+++ b/src/3rdparty/chromium/net/dns/dns_config_service_posix.cc
-@@ -8,6 +8,10 @@
- #include <string>
- #include <type_traits>
-
-+#if !defined(__GLIBC__)
-+#include "resolv_compat.h"
-+#endif
-+
- #include "base/bind.h"
- #include "base/files/file.h"
- #include "base/files/file_path.h"
-diff --git a/src/3rdparty/chromium/net/dns/resolv_compat.h b/src/3rdparty/chromium/net/dns/resolv_compat.h
-new file mode 100644
-index 0000000..4f0e852
---- /dev/null
-+++ b/src/3rdparty/chromium/net/dns/resolv_compat.h
-@@ -0,0 +1,29 @@
-+#if !defined(__GLIBC__)
-+/***************************************************************************
-+ * resolv_compat.h
-+ *
-+ * Mimick GLIBC's res_ninit() and res_nclose() for musl libc
-+ * Note: res_init() is actually deprecated according to
-+ * http://docs.oracle.com/cd/E36784_01/html/E36875/res-nclose-3resolv.html
-+ **************************************************************************/
-+#include <string.h>
-+
-+static inline int res_ninit(res_state statp)
-+{
-+ int rc = res_init();
-+ if (statp != &_res) {
-+ memcpy(statp, &_res, sizeof(*statp));
-+ }
-+ return rc;
-+}
-+
-+static inline int res_nclose(res_state statp)
-+{
-+ if (!statp)
-+ return -1;
-+ if (statp != &_res) {
-+ memset(statp, 0, sizeof(*statp));
-+ }
-+ return 0;
-+}
-+#endif
diff --git a/testing/qt6-qtwebengine/0005-qt-musl-crashpad.patch b/testing/qt6-qtwebengine/0005-qt-musl-crashpad.patch
deleted file mode 100644
index 0dd9789ee77..00000000000
--- a/testing/qt6-qtwebengine/0005-qt-musl-crashpad.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h
-index 5b55c24..08cec52 100644
---- a/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h
-+++ b/src/3rdparty/chromium/third_party/crashpad/crashpad/util/linux/thread_info.h
-@@ -273,7 +273,7 @@ union FloatContext {
- "Size mismatch");
- #elif defined(ARCH_CPU_ARMEL)
- static_assert(sizeof(f32_t::fpregs) == sizeof(user_fpregs), "Size mismatch");
--#if !defined(__GLIBC__)
-+#if defined(OS_ANDROID)
- static_assert(sizeof(f32_t::vfp) == sizeof(user_vfp), "Size mismatch");
- #endif
- #elif defined(ARCH_CPU_ARM64)
diff --git a/testing/qt6-qtwebengine/0006-musl-hacks.patch b/testing/qt6-qtwebengine/0006-musl-hacks.patch
deleted file mode 100644
index 3cd240583cf..00000000000
--- a/testing/qt6-qtwebengine/0006-musl-hacks.patch
+++ /dev/null
@@ -1,151 +0,0 @@
---- ./src/3rdparty/chromium/base/debug/stack_trace.cc.orig
-+++ ./src/3rdparty/chromium/base/debug/stack_trace.cc
-@@ -144,7 +144,7 @@
-
- #if BUILDFLAG(CAN_UNWIND_WITH_FRAME_POINTERS)
- uintptr_t GetStackEnd() {
--#if defined(OS_ANDROID)
-+#if defined(OS_ANDROID) || (defined(OS_LINUX) && !defined(__GLIBC__))
- // Bionic reads proc/maps on every call to pthread_getattr_np() when called
- // from the main thread. So we need to cache end of stack in that case to get
- // acceptable performance.
-@@ -217,7 +217,9 @@
- }
-
- void StackTrace::OutputToStream(std::ostream* os) const {
-+#if defined(__GLIBC__) && !defined(_AIX)
- OutputToStreamWithPrefix(os, nullptr);
-+#endif
- }
-
- std::string StackTrace::ToString() const {
-@@ -225,7 +227,7 @@
- }
- std::string StackTrace::ToStringWithPrefix(const char* prefix_string) const {
- std::stringstream stream;
--#if !defined(__UCLIBC__) && !defined(_AIX)
-+#if defined(__GLIBC__) && !defined(_AIX)
- OutputToStreamWithPrefix(&stream, prefix_string);
- #endif
- return stream.str();
---- ./src/3rdparty/chromium/base/debug/elf_reader.cc.orig
-+++ ./src/3rdparty/chromium/base/debug/elf_reader.cc
-@@ -148,7 +148,12 @@
- strtab_addr = static_cast<size_t>(dynamic_iter->d_un.d_ptr) +
- reinterpret_cast<const char*>(relocation_offset);
- #else
-- strtab_addr = reinterpret_cast<const char*>(dynamic_iter->d_un.d_ptr);
-+ if (dynamic_iter->d_un.d_ptr < relocation_offset) {
-+ strtab_addr = static_cast<size_t>(dynamic_iter->d_un.d_ptr) +
-+ reinterpret_cast<const char*>(relocation_offset);
-+ } else {
-+ strtab_addr = reinterpret_cast<const char*>(dynamic_iter->d_un.d_ptr);
-+ }
- #endif
- } else if (dynamic_iter->d_tag == DT_SONAME) {
- soname_strtab_offset = dynamic_iter->d_un.d_val;
---- ./src/3rdparty/chromium/mojo/public/c/system/thunks.cc.orig
-+++ ./src/3rdparty/chromium/mojo/public/c/system/thunks.cc
-@@ -100,7 +100,8 @@
- base::ScopedAllowBlocking allow_blocking;
- base::NativeLibraryOptions library_options;
- #if !defined(ADDRESS_SANITIZER) && !defined(THREAD_SANITIZER) && \
-- !defined(MEMORY_SANITIZER) && !defined(LEAK_SANITIZER)
-+ !defined(MEMORY_SANITIZER) && !defined(LEAK_SANITIZER) && \
-+ defined(RTLD_DEEPBIND)
- // Sanitizer builds cannnot support RTLD_DEEPBIND, but they also disable
- // allocator shims, so it's unnecessary there.
- library_options.prefer_own_symbols = true;
---- ./src/3rdparty/chromium/base/native_library_unittest.cc.orig
-+++ ./src/3rdparty/chromium/base/native_library_unittest.cc
-@@ -121,6 +121,7 @@
- #if !defined(OS_ANDROID) && !defined(THREAD_SANITIZER) && \
- !defined(MEMORY_SANITIZER)
-
-+#if defined(RTLD_DEEPBIND)
- // Verifies that the |prefer_own_symbols| option satisfies its guarantee that
- // a loaded library will always prefer local symbol resolution before
- // considering global symbols.
-@@ -156,6 +157,7 @@
- EXPECT_EQ(2, NativeLibraryTestIncrement());
- EXPECT_EQ(3, NativeLibraryTestIncrement());
- }
-+#endif // defined(RTLD_DEEPBIND)
-
- #endif // !defined(OS_ANDROID)
-
---- a/src/3rdparty/chromium/v8/src/codegen/external-reference-table.cc.orig
-+++ b/src/3rdparty/chromium/v8/src/codegen/external-reference-table.cc
-@@ -11,7 +11,9 @@
-
- #if defined(DEBUG) && defined(V8_OS_LINUX) && !defined(V8_OS_ANDROID)
- #define SYMBOLIZE_FUNCTION
-+#if defined(__GLIBC__)
- #include <execinfo.h>
-+#endif
-
- #include <vector>
-
-@@ -96,7 +98,7 @@
- }
-
- const char* ExternalReferenceTable::ResolveSymbol(void* address) {
--#ifdef SYMBOLIZE_FUNCTION
-+#if defined(SYMBOLIZE_FUNCTION) && defined(__GLIBC__)
- char** names = backtrace_symbols(&address, 1);
- const char* name = names[0];
- // The array of names is malloc'ed. However, each name string is static
---- a/src/3rdparty/chromium/base/debug/stack_trace_posix.cc.orig
-+++ b/src/3rdparty/chromium/base/debug/stack_trace_posix.cc
-@@ -27,7 +27,7 @@
- #if !defined(USE_SYMBOLIZE)
- #include <cxxabi.h>
- #endif
--#if !defined(__UCLIBC__) && !defined(_AIX)
-+#if defined(__GLIBC__) && !defined(_AIX)
- #include <execinfo.h>
- #endif
-
-@@ -88,7 +88,7 @@
- // Note: code in this function is NOT async-signal safe (std::string uses
- // malloc internally).
-
--#if !defined(__UCLIBC__) && !defined(_AIX)
-+#if defined(__GLIBC__) && !defined(_AIX)
- std::string::size_type search_from = 0;
- while (search_from < text->size()) {
- // Look for the start of a mangled symbol, from search_from.
-@@ -135,7 +135,7 @@
- virtual ~BacktraceOutputHandler() = default;
- };
-
--#if !defined(__UCLIBC__) && !defined(_AIX)
-+#if defined(__GLIBC__) && !defined(_AIX)
- void OutputPointer(void* pointer, BacktraceOutputHandler* handler) {
- // This should be more than enough to store a 64-bit number in hex:
- // 16 hex digits + 1 for null-terminator.
-@@ -827,7 +827,7 @@
- // NOTE: This code MUST be async-signal safe (it's used by in-process
- // stack dumping signal handler). NO malloc or stdio is allowed here.
-
--#if !defined(__UCLIBC__) && !defined(_AIX)
-+#if defined(__GLIBC__) && !defined(_AIX)
- // Though the backtrace API man page does not list any possible negative
- // return values, we take no chance.
- return base::saturated_cast<size_t>(backtrace(trace, count));
-@@ -840,13 +840,13 @@
- // NOTE: This code MUST be async-signal safe (it's used by in-process
- // stack dumping signal handler). NO malloc or stdio is allowed here.
-
--#if !defined(__UCLIBC__) && !defined(_AIX)
-+#if defined(__GLIBC__) && !defined(_AIX)
- PrintBacktraceOutputHandler handler;
- ProcessBacktrace(trace_, count_, prefix_string, &handler);
- #endif
- }
-
--#if !defined(__UCLIBC__) && !defined(_AIX)
-+#if defined(__GLIBC__) && !defined(_AIX)
- void StackTrace::OutputToStreamWithPrefix(std::ostream* os,
- const char* prefix_string) const {
- StreamBacktraceOutputHandler handler(os);
diff --git a/testing/qt6-qtwebengine/APKBUILD b/testing/qt6-qtwebengine/APKBUILD
deleted file mode 100644
index 4a6fff312de..00000000000
--- a/testing/qt6-qtwebengine/APKBUILD
+++ /dev/null
@@ -1,115 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=qt6-qtwebengine
-pkgver=6.2.2
-pkgrel=0
-pkgdesc="Provides support for web applications using the Chromium browser project"
-url="https://qt.io/"
-# s390x blocked by qt6-qtdeclarative
-# ppc64le not supported by chromium
-# riscv64 blocked by nodejs
-# 32-bit arches are blocked by memory exhaustion and "libblink_core.a: error adding symbols: file format not recognized"
-arch="all !s390x !ppc64le !riscv64 !armv7 !x86 !armhf"
-license="LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0"
-depends_dev="
- alsa-lib-dev
- ffmpeg-dev
- icu-dev
- krb5-dev
- lcms2-dev
- libevent-dev
- libexecinfo-dev
- libvpx-dev>=1.10.0-r1
- libxkbfile-dev
- libxml2-dev
- libxslt-dev
- minizip-dev
- nss-dev
- opus-dev
- pciutils-dev
- pipewire-dev
- pulseaudio-dev
- qt6-qtbase-dev
- qt6-qtdeclarative-dev
- qt6-qtpositioning-dev
- qt6-qtwebchannel-dev
- re2-dev
- "
-makedepends="$depends_dev
- bison
- bsd-compat-headers
- cmake
- flex
- gperf
- gzip
- nodejs
- perl
- python2
- samurai
- "
-subpackages="$pkgname-dev"
-builddir="$srcdir/qtwebengine-everywhere-src-${pkgver/_/-}"
-
-case $pkgver in
- *_alpha*|*_beta*|*_rc*) _rel=development_releases;;
- *) _rel=official_releases;;
-esac
-
-source="https://download.qt.io/$_rel/qt/${pkgver%.*}/${pkgver/_/-}/submodules/qtwebengine-everywhere-src-${pkgver/_/-}.tar.xz
- 0001-Enable-building-on-musl.patch
- 0002-musl-fixes.patch
- 0003-qt-musl-mallinfo.patch
- 0004-qt-musl-resolve.patch
- 0005-qt-musl-crashpad.patch
- 0006-musl-hacks.patch
- "
-
-build() {
- # Build type Release is used rather than None as Alpine policy dictates
- # This is because building debug symbols requires too much memory and
- # makes it impossible to build the package on any architecture
- cmake -B build -G Ninja \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DINSTALL_BINDIR=lib/qt6/bin \
- -DINSTALL_DOCDIR=share/doc/qt6 \
- -DINSTALL_ARCHDATADIR=lib/qt6 \
- -DINSTALL_DATADIR=share/qt6 \
- -DINSTALL_INCLUDEDIR=include/qt6 \
- -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \
- -DINSTALL_EXAMPLESDIR=share/doc/qt6/examples \
- -DQT_FEATURE_webengine_system_alsa=ON \
- -DQT_FEATURE_webengine_system_ffmpeg=ON \
- -DQT_FEATURE_webengine_system_icu=ON \
- -DQT_FEATURE_webengine_system_libevent=ON \
- -DQT_FEATURE_webengine_system_libpci=ON \
- -DQT_FEATURE_webengine_system_libpng=ON \
- -DQT_FEATURE_webengine_system_libwebp=ON \
- -DQT_FEATURE_webengine_system_libxml=ON \
- -DQT_FEATURE_webengine_system_minizip=ON \
- -DQT_FEATURE_webengine_system_opus=ON \
- -DQT_FEATURE_webengine_system_pulseaudio=ON \
- -DQT_FEATURE_webengine_system_zlib=ON \
- -DQT_FEATURE_webengine_proprietary_codecs=ON \
- -DQT_FEATURE_webengine_kerberos=ON \
- -DQT_FEATURE_webengine_webrtc_pipewire=ON
- SAMUFLAGS=-j4 cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-sha512sums="
-7bc7a6ada9125d02995a71a962ae464ae3f452e30b409a004aed245c4636af4b6e6736fbeb9349ecc4ecfeec7328ac96bc9193ed53221de322ebc913ea2a833f qtwebengine-everywhere-src-6.2.2.tar.xz
-9a05c07c4616053d247b1200cdd1883e8067babc5ab5bc169ea1599643d120c445fb4db586f5e247e122711f37e148d13fc8a7443d879877d7c82fb1f778db58 0001-Enable-building-on-musl.patch
-0a75c7b5b9f195e0322f5a3177dfc9808ab0f712f9bb76d0738010a5c8e4f8a04de58d0db98b532eea41d7a996661b4e7fa197a1b1170adb45e5c2241cfbe2c8 0002-musl-fixes.patch
-b021664599128cd614daaf39f7592ea98b3d1d5815a9768ff11515fad28b723f678df78d5fe3122ea7d0c043dc997f1e53e528359663960d44805e3b2d8e4ee3 0003-qt-musl-mallinfo.patch
-6e915b0eb6cddf27100bdd80ed3a90ca64257f0a3be2c0f9a9c9baf30d9baaf0466b0cf4f310a4aaf7ff8195afe733d129b7f356b7a957f578f39927cce9308a 0004-qt-musl-resolve.patch
-173c401e1a0daa7a1471880807e4fb0a74fc338a0f306dc067147878c29e7bb94cae43c37fe2bf21dd7a7ffd2d739697fd21d10c059ce647df01d8236612cc68 0005-qt-musl-crashpad.patch
-b9e836b7084a6c4d0c86c03c6a7700e5296133dd0dbef0b1059ed5c8c4d10873db65379be46e83f8a6d03dd557a7bdd83414a54dd4a8febd49b5c40d948200de 0006-musl-hacks.patch
-"
diff --git a/testing/qt6-qtwebview/APKBUILD b/testing/qt6-qtwebview/APKBUILD
deleted file mode 100644
index cd909a0b41e..00000000000
--- a/testing/qt6-qtwebview/APKBUILD
+++ /dev/null
@@ -1,58 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=qt6-qtwebview
-pkgver=6.2.0
-pkgrel=0
-pkgdesc="Provides a way to display web content in a QML application"
-url="https://qt.io/"
-# s390x blocked by qt6-qtdeclarative
-# ppc64le blocked by qt6-qtwebengine
-# riscv64 blocked by qt6-qtwebengine
-# 32-bit arches blocked by qt6-qtwebengine
-arch="all !s390x !ppc64le !riscv64 !x86 !armv7 !armhf"
-license="LGPL-2.1-only AND LGPL-3.0-only AND GPL-3.0-only AND Qt-GPL-exception-1.0"
-depends_dev="
- qt6-qtbase-dev
- qt6-qtdeclarative-dev
- qt6-qtwebengine-dev
- "
-makedepends="$depends_dev
- cmake
- perl
- samurai
- "
-subpackages="$pkgname-dev"
-builddir="$srcdir/qtwebview-everywhere-src-${pkgver/_/-}"
-
-case $pkgver in
- *_alpha*|*_beta*|*_rc*) _rel=development_releases;;
- *) _rel=official_releases;;
-esac
-
-source="https://download.qt.io/$_rel/qt/${pkgver%.*}/${pkgver/_/-}/submodules/qtwebview-everywhere-src-${pkgver/_/-}.tar.xz"
-
-build() {
- cmake -B build -G Ninja \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DINSTALL_BINDIR=lib/qt6/bin \
- -DINSTALL_DOCDIR=share/doc/qt6 \
- -DINSTALL_ARCHDATADIR=lib/qt6 \
- -DINSTALL_DATADIR=share/qt6 \
- -DINSTALL_INCLUDEDIR=include/qt6 \
- -DINSTALL_MKSPECSDIR=lib/qt6/mkspecs \
- -DINSTALL_EXAMPLESDIR=share/doc/qt6/examples
- cmake --build build --parallel
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-sha512sums="
-05158d4a53952e07c29fcfddc8c890bf5776430db453fff4e3c9a3797e3bff271502317ad11383369935a72599566ef0de36c815bd3079cc22179d47ced596f2 qtwebview-everywhere-src-6.2.0.tar.xz
-"
diff --git a/testing/qt6ct/APKBUILD b/testing/qt6ct/APKBUILD
new file mode 100644
index 00000000000..27c437403cc
--- /dev/null
+++ b/testing/qt6ct/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=qt6ct
+pkgver=0.9
+pkgrel=0
+pkgdesc="Qt6 configuration tool"
+url="https://github.com/trialuser02/qt6ct/"
+arch="all"
+license="BSD-2-Clause"
+options="!check" # no test suite
+makedepends="cmake samurai qt6-qtbase-dev qt6-qttools-dev"
+source="https://github.com/trialuser02/qt6ct/releases/download/$pkgver/qt6ct-$pkgver.tar.xz
+ find-lrelease.patch
+ "
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+ea5242cc10d9d210e190dd442c72c9f75c6a13e50191ec164fc9772de0475ca39453f22b061cfe24e1face4d660159d491627b65f2637b5d611cfe5fb0ac228f qt6ct-0.9.tar.xz
+92e419c9d7dfbc35de00b1f9cd453e62294a19b5d930ef745e7f03f28d1f858bac8fef5118b1fd6d3d1de758c7caab63e0a5e1a91c5bd537722edb579c01dec2 find-lrelease.patch
+"
diff --git a/testing/qt6ct/find-lrelease.patch b/testing/qt6ct/find-lrelease.patch
new file mode 100644
index 00000000000..ea7cb2c9b47
--- /dev/null
+++ b/testing/qt6ct/find-lrelease.patch
@@ -0,0 +1,11 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -29,7 +29,7 @@
+ get_target_property(QT_QTPATHS_EXECUTABLE Qt6::qtpaths IMPORTED_LOCATION)
+
+ if(Qt6LinguistTools_FOUND)
+- get_target_property(QT_LRELEASE_EXECUTABLE Qt6::lrelease IMPORTED_LOCATION)
++ set(QT_LRELEASE_EXECUTABLE /usr/lib/qt6/bin/lrelease)
+ if(NOT QT_QTPATHS_EXECUTABLE AND QT_LRELEASE_EXECUTABLE)
+ get_filename_component(QT_LRELEASE_PATH ${QT_LRELEASE_EXECUTABLE} DIRECTORY)
+ set(QT_QTPATHS_EXECUTABLE ${QT_LRELEASE_PATH}/qtpaths)
diff --git a/testing/qterminal/APKBUILD b/testing/qterminal/APKBUILD
deleted file mode 100644
index ee2c3cb516e..00000000000
--- a/testing/qterminal/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=qterminal
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Lightweight Qt-based terminal emulator"
-url="https://github.com/lxqt/qterminal"
-arch="all"
-license="LGPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools qt5-qttools-dev
- qt5-qtx11extras-dev qtermwidget-dev
- "
-options="!check" # No testsuite
-source="https://github.com/lxqt/qterminal/releases/download/$pkgver/qterminal-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-d3fd04ef94d683aae641367e56185723cf32d2390ab505b956c6736fe674144f6f270ef0def43b1f2d3aec659a2a7735cfb3713da07f49697823f9384572b3a0 qterminal-1.0.0.tar.xz
-"
diff --git a/testing/qtermwidget/APKBUILD b/testing/qtermwidget/APKBUILD
deleted file mode 100644
index 4c692c2ee0c..00000000000
--- a/testing/qtermwidget/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=qtermwidget
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Terminal widget for QTerminal"
-url="https://github.com/lxqt/qtermwidget"
-arch="all"
-license="LGPL-2.0-or-later"
-makedepends="cmake lxqt-build-tools qt5-qtbase-dev qt5-qttools-dev"
-subpackages="$pkgname-dev"
-options="!check" # No testsuite
-source="https://github.com/lxqt/qtermwidget/releases/download/$pkgver/qtermwidget-$pkgver.tar.xz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-sha512sums="
-c4628e13b8aaba88c6992c982b91dbf13205aaa9ecdcc49906850d3c80f00ea43ddf5d0d1bd9962ef0213f056b13c76133cdb59eecce794f6b74553e5db696c5 qtermwidget-1.0.0.tar.xz
-"
diff --git a/testing/qtile/APKBUILD b/testing/qtile/APKBUILD
new file mode 100644
index 00000000000..d10cede8f6c
--- /dev/null
+++ b/testing/qtile/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Emma Nora Theuer <kontakt@entheuer.de>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+# Maintainer: Emma Nora Theuer <kontakt@entheuer.de>
+pkgname=qtile
+pkgver=0.23.0
+pkgrel=1
+pkgdesc="A full-featured, hackable tiling X11 window manager written and configured in Python"
+url="https://github.com/qtile/qtile"
+arch="all"
+license="MIT"
+depends="
+ pango
+ py3-cairocffi
+ py3-dbus-next
+ py3-xcffib
+ "
+makedepends="
+ libx11-dev
+ pango
+ py3-cffi
+ py3-setuptools
+ py3-setuptools_scm
+ "
+options="!check" # broken due to unavailable packages
+subpackages="$pkgname-pyc"
+source="qtile-$pkgver.tar.gz::https://github.com/qtile/qtile/archive/v$pkgver.tar.gz"
+
+build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+}
+
+sha512sums="
+8121d980fb74de6b7c464c0d8d82fcffa922653400c0d74dfb5e9105762a6a9931fbc7465d68accc6c513abe11a79547282ab886d20cac9970dba1b184da682b qtile-0.23.0.tar.gz
+"
diff --git a/testing/qtmir/0001-Wayland-hack-set-maliit-server-to-inputmethod-type-W.patch b/testing/qtmir/0001-Wayland-hack-set-maliit-server-to-inputmethod-type-W.patch
new file mode 100644
index 00000000000..6a6807d48c1
--- /dev/null
+++ b/testing/qtmir/0001-Wayland-hack-set-maliit-server-to-inputmethod-type-W.patch
@@ -0,0 +1,29 @@
+From 56bb606298f8f0e64d565e8b664836f7241c59c3 Mon Sep 17 00:00:00 2001
+From: Marius Gripsgard <marius@ubports.com>
+Date: Sun, 8 Sep 2019 19:54:55 +0200
+Subject: [PATCH 1/4] Wayland hack, set maliit-server to inputmethod type (WIP)
+
+---
+ src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp b/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
+index d44e730b..6a4563b2 100644
+--- a/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
++++ b/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
+@@ -131,6 +131,12 @@ namespace qtmir
+ parameters.size() = toMirSize(initialSize);
+ hasInitialSize = true;
+ }
++
++ auto surfaceName = requestParameters.name().is_set() ? requestParameters.name().value() : "";
++
++ if (surfaceName == "maliit-server") {
++ parameters.type() = mir_window_type_inputmethod;
++ }
+ }
+
+ if (!hasInitialSize &&
+--
+2.43.0
+
diff --git a/testing/qtmir/0002-Squash-of-miroil-patches.patch b/testing/qtmir/0002-Squash-of-miroil-patches.patch
new file mode 100644
index 00000000000..4c69f31bb86
--- /dev/null
+++ b/testing/qtmir/0002-Squash-of-miroil-patches.patch
@@ -0,0 +1,12405 @@
+From 336ebdc70b8401028c842ef2da7e6d5ee49e5081 Mon Sep 17 00:00:00 2001
+From: Marius Gripsgard <marius@ubports.com>
+Date: Tue, 25 Jan 2022 22:06:10 +0100
+Subject: [PATCH 2/4] Squash of miroil patches
+
+Squashed from upstream development in branch
+"personal/mariogrip/desktop-development", required for compatibility
+with Mir 2.x
+
+$ git diff 8291ea2ae..origin/personal/mariogrip/desktop-development
+---
+ .gitlab-ci.yml | 17 +
+ CMakeLists.txt | 16 +-
+ debian/changelog | 331 ++-
+ debian/control | 65 +-
+ debian/copyright | 150 +-
+ debian/libqtmirserver1.install | 1 -
+ debian/libqtmirserver2.install | 1 +
+ debian/libqtmirserver2.symbols | 2381 +++++++++++++++++
+ debian/qml-module-qtmir.install | 4 +-
+ debian/qtmir-tests.install | 1 -
+ debian/rules | 15 +-
+ debian/watch | 4 +
+ demos/qtmir-demo-shell/CMakeLists.txt | 1 +
+ demos/qtmir-demo-shell/Shell.qml | 5 +-
+ demos/qtmir-demo-shell/main.cpp | 17 +-
+ demos/qtmir-demo-shell/qml-demo-shell.qml | 2 +
+ .../display_configuration_policy.h | 14 +-
+ .../display_configuration_storage.h | 19 +-
+ include/{qtmir/miral => miroil}/display_id.h | 11 +-
+ include/{qtmir/miral => miroil}/edid.h | 11 +-
+ include/qtmir/displayconfigurationpolicy.h | 15 +-
+ include/qtmir/displayconfigurationstorage.h | 4 +-
+ include/qtmir/screen.h | 10 +-
+ include/qtmir/windowmanagementpolicy.h | 4 +-
+ src/common/debughelpers.cpp | 7 +
+ src/common/debughelpers.h | 6 +
+ src/common/windowcontrollerinterface.h | 6 +
+ src/common/windowmodelnotifier.h | 4 +
+ src/common/workspacecontrollerinterface.h | 2 -
+ src/modules/QtMir/Application/CMakeLists.txt | 6 +
+ src/modules/QtMir/Application/application.cpp | 16 +-
+ src/modules/QtMir/Application/application.h | 3 +
+ .../QtMir/Application/application_manager.cpp | 82 +
+ .../QtMir/Application/application_manager.h | 1 +
+ .../QtMir/Application/mirbuffersgtexture.cpp | 35 +-
+ .../QtMir/Application/mirbuffersgtexture.h | 2 +-
+ src/modules/QtMir/Application/mirsurface.cpp | 132 +-
+ src/modules/QtMir/Application/mirsurface.h | 12 +-
+ .../QtMir/Application/mirsurfaceinterface.h | 8 +-
+ .../QtMir/Application/mirsurfaceitem.cpp | 76 +-
+ src/modules/QtMir/Application/proc_info.cpp | 5 +
+ src/modules/QtMir/Application/proc_info.h | 1 +
+ src/modules/QtMir/Application/session.cpp | 8 +-
+ src/modules/QtMir/Application/session.h | 10 +-
+ .../QtMir/Application/taskcontroller.cpp | 8 +-
+ .../QtMir/Application/taskcontroller.h | 10 +-
+ src/platforms/mirserver/CMakeLists.txt | 52 +-
+ src/platforms/mirserver/eventbuilder.cpp | 103 +-
+ src/platforms/mirserver/eventbuilder.h | 40 +-
+ .../mirserver/inputdeviceobserver.cpp | 42 +-
+ src/platforms/mirserver/inputdeviceobserver.h | 14 +-
+ src/platforms/mirserver/logging.cpp | 1 +
+ src/platforms/mirserver/logging.h | 1 +
+ src/platforms/mirserver/miral/CMakeLists.txt | 14 -
+ src/platforms/mirserver/miroil/CMakeLists.txt | 1 +
+ .../miroil/include/miroil/compositor.h | 40 +
+ ...display_configuration_controller_wrapper.h | 51 +
+ .../include/miroil/display_listener_wrapper.h | 44 +
+ .../miroil/include/miroil/event_builder.h | 117 +
+ .../include/miroil}/eventdispatch.h | 14 +-
+ .../miroil/include/miroil/input_device.h | 52 +
+ .../include/miroil/input_device_observer.h | 40 +
+ .../include/miroil/mir_prompt_session.h | 48 +
+ .../miroil/include/miroil/mir_server_hooks.h | 57 +
+ .../include/miroil}/mirbuffer.h | 8 +-
+ .../include/miroil/open_gl_context.h} | 22 +-
+ .../include/miroil}/persist_display_config.h | 16 +-
+ .../include/miroil/prompt_session_listener.h | 49 +
+ .../include/miroil/prompt_session_manager.h | 51 +
+ .../miroil/include/miroil/set_compositor.h | 54 +
+ .../mirserver/miroil/include/miroil/surface.h | 77 +
+ .../miroil/include/miroil/surface_observer.h | 63 +
+ .../mirserver/miroil/src/CMakeLists.txt | 39 +
+ .../mirserver/miroil/src/compositor.cpp | 20 +
+ ...splay_configuration_controller_wrapper.cpp | 32 +
+ .../src}/display_configuration_policy.cpp | 7 +-
+ .../miroil/src/display_listener_wrapper.cpp | 41 +
+ .../mirserver/{miral => miroil/src}/edid.cpp | 10 +-
+ .../mirserver/miroil/src/event_builder.cpp | 116 +
+ .../{ => miroil/src}/eventdispatch.cpp | 5 +-
+ .../mirserver/miroil/src/input_device.cpp | 80 +
+ .../miroil/src/input_device_observer.cpp | 19 +
+ .../miroil/src/mir_prompt_session.cpp | 34 +
+ .../mirserver/miroil/src/mir_server_hooks.cpp | 252 ++
+ .../{miral => miroil/src}/mirbuffer.cpp | 6 +-
+ .../src/open_gl_context.cpp} | 39 +-
+ .../src}/persist_display_config.cpp | 95 +-
+ .../miroil/src/prompt_session_listener.cpp | 19 +
+ .../miroil/src/prompt_session_manager.cpp | 54 +
+ .../mirserver/miroil/src/set_compositor.cpp | 88 +
+ .../mirserver/miroil/src/surface.cpp | 267 ++
+ src/platforms/mirserver/miropenglcontext.cpp | 2 +-
+ src/platforms/mirserver/mirserverhooks.cpp | 229 --
+ src/platforms/mirserver/mirserverhooks.h | 57 -
+ src/platforms/mirserver/nativeinterface.cpp | 2 +-
+ src/platforms/mirserver/nativeinterface.h | 5 +-
+ src/platforms/mirserver/platformscreen.h | 8 +-
+ .../mirserver/promptsessionlistener.cpp | 49 +
+ .../mirserver/promptsessionlistener.h | 31 +-
+ .../mirserver/promptsessionmanager.cpp | 47 -
+ .../mirserver/promptsessionmanager.h | 49 -
+ src/platforms/mirserver/qmirserver.cpp | 3 +-
+ src/platforms/mirserver/qmirserver.h | 7 +-
+ src/platforms/mirserver/qmirserver_p.cpp | 113 +-
+ src/platforms/mirserver/qmirserver_p.h | 20 +-
+ src/platforms/mirserver/qtcompositor.cpp | 16 +
+ src/platforms/mirserver/qtcompositor.h | 7 +-
+ src/platforms/mirserver/qteventfeeder.h | 6 +
+ src/platforms/mirserver/qtwindowmanager.cpp | 80 +
+ ...{mircursorimages.cpp => qtwindowmanager.h} | 21 +-
+ src/platforms/mirserver/screenadaptor.cpp | 2 +-
+ src/platforms/mirserver/screenadaptor.h | 2 +-
+ src/platforms/mirserver/screenscontroller.cpp | 5 +-
+ src/platforms/mirserver/screenscontroller.h | 5 +-
+ src/platforms/mirserver/screensmodel.cpp | 12 +-
+ src/platforms/mirserver/screensmodel.h | 12 +-
+ src/platforms/mirserver/setqtcompositor.cpp | 83 -
+ src/platforms/mirserver/setqtcompositor.h | 47 -
+ src/platforms/mirserver/surfaceobserver.cpp | 5 +
+ .../mirserver/urlbuilderdispatcher.cpp | 56 +
+ .../mirserver/urlbuilderdispatcher.h | 47 +
+ .../wayland-generated/CMakeLists.txt | 24 +
+ .../qt-windowmanager_wrapper.cpp | 177 ++
+ .../qt-windowmanager_wrapper.h | 69 +
+ .../server-decoration_wrapper.cpp | 295 ++
+ .../server-decoration_wrapper.h | 107 +
+ .../xdg-decoration-unstable-v1_wrapper.cpp | 315 +++
+ .../xdg-decoration-unstable-v1_wrapper.h | 98 +
+ .../wayland-protocols/qt-windowmanager.xml | 58 +
+ .../wayland-protocols/server-decoration.xml | 85 +
+ .../xdg-decoration-unstable-v1.xml | 156 ++
+ .../wayland/kwinserverdecoration.cpp | 109 +
+ .../mirserver/wayland/kwinserverdecoration.h | 34 +
+ .../mirserver/wayland/xdgdecorationV1.cpp | 96 +
+ .../mirserver/wayland/xdgdecorationV1.h | 31 +
+ .../mirserver/windowmodelnotifier.cpp | 10 +
+ .../wrappedwindowmanagementpolicy.cpp | 73 +-
+ tests/framework/CMakeLists.txt | 2 +
+ tests/framework/mock_task_controller.cpp | 2 +-
+ tests/framework/mock_task_controller.h | 2 +-
+ tests/framework/qtmir_test.h | 4 +-
+ tests/mirserver/CMakeLists.txt | 1 +
+ tests/mirserver/EventBuilder/CMakeLists.txt | 3 +
+ tests/mirserver/ScreensModel/CMakeLists.txt | 2 +
+ tests/mirserver/ScreensModel/stub_display.h | 7 +-
+ .../ScreensModel/testable_screensmodel.h | 2 +-
+ .../URLBuilderDispatcher/CMakeLists.txt | 30 +
+ .../URLBuilderDispatcher/mock_services.h | 23 +-
+ .../urlbuilderdispatcher_test.cpp | 115 +
+ tests/mirserver/miral/CMakeLists.txt | 4 +-
+ tests/mirserver/miral/edid_test.cpp | 18 +-
+ tests/modules/Application/CMakeLists.txt | 2 +
+ .../modules/ApplicationManager/CMakeLists.txt | 2 +
+ tests/modules/Session/CMakeLists.txt | 2 +
+ tests/modules/Session/session_test.cpp | 2 +-
+ tests/modules/SurfaceManager/CMakeLists.txt | 2 +-
+ tests/modules/WindowManager/CMakeLists.txt | 2 +
+ 157 files changed, 7641 insertions(+), 1184 deletions(-)
+ create mode 100644 .gitlab-ci.yml
+ delete mode 100644 debian/libqtmirserver1.install
+ create mode 100644 debian/libqtmirserver2.install
+ create mode 100644 debian/libqtmirserver2.symbols
+ create mode 100644 debian/watch
+ rename include/{qtmir/miral => miroil}/display_configuration_policy.h (79%)
+ rename include/{qtmir/miral => miroil}/display_configuration_storage.h (79%)
+ rename include/{qtmir/miral => miroil}/display_id.h (66%)
+ rename include/{qtmir/miral => miroil}/edid.h (89%)
+ delete mode 100644 src/platforms/mirserver/miral/CMakeLists.txt
+ create mode 100644 src/platforms/mirserver/miroil/CMakeLists.txt
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/compositor.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/display_configuration_controller_wrapper.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/display_listener_wrapper.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/event_builder.h
+ rename src/platforms/mirserver/{ => miroil/include/miroil}/eventdispatch.h (75%)
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/input_device.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/input_device_observer.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/mir_prompt_session.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/mir_server_hooks.h
+ rename src/platforms/mirserver/{miral => miroil/include/miroil}/mirbuffer.h (94%)
+ rename src/platforms/mirserver/{openglcontextfactory.h => miroil/include/miroil/open_gl_context.h} (67%)
+ rename src/platforms/mirserver/{miral => miroil/include/miroil}/persist_display_config.h (78%)
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/prompt_session_listener.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/prompt_session_manager.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/set_compositor.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/surface.h
+ create mode 100644 src/platforms/mirserver/miroil/include/miroil/surface_observer.h
+ create mode 100644 src/platforms/mirserver/miroil/src/CMakeLists.txt
+ create mode 100644 src/platforms/mirserver/miroil/src/compositor.cpp
+ create mode 100644 src/platforms/mirserver/miroil/src/display_configuration_controller_wrapper.cpp
+ rename src/platforms/mirserver/{miral => miroil/src}/display_configuration_policy.cpp (73%)
+ create mode 100644 src/platforms/mirserver/miroil/src/display_listener_wrapper.cpp
+ rename src/platforms/mirserver/{miral => miroil/src}/edid.cpp (91%)
+ create mode 100644 src/platforms/mirserver/miroil/src/event_builder.cpp
+ rename src/platforms/mirserver/{ => miroil/src}/eventdispatch.cpp (87%)
+ create mode 100644 src/platforms/mirserver/miroil/src/input_device.cpp
+ create mode 100644 src/platforms/mirserver/miroil/src/input_device_observer.cpp
+ create mode 100644 src/platforms/mirserver/miroil/src/mir_prompt_session.cpp
+ create mode 100644 src/platforms/mirserver/miroil/src/mir_server_hooks.cpp
+ rename src/platforms/mirserver/{miral => miroil/src}/mirbuffer.cpp (97%)
+ rename src/platforms/mirserver/{openglcontextfactory.cpp => miroil/src/open_gl_context.cpp} (51%)
+ rename src/platforms/mirserver/{miral => miroil/src}/persist_display_config.cpp (74%)
+ create mode 100644 src/platforms/mirserver/miroil/src/prompt_session_listener.cpp
+ create mode 100644 src/platforms/mirserver/miroil/src/prompt_session_manager.cpp
+ create mode 100644 src/platforms/mirserver/miroil/src/set_compositor.cpp
+ create mode 100644 src/platforms/mirserver/miroil/src/surface.cpp
+ delete mode 100644 src/platforms/mirserver/mirserverhooks.cpp
+ delete mode 100644 src/platforms/mirserver/mirserverhooks.h
+ delete mode 100644 src/platforms/mirserver/promptsessionmanager.cpp
+ delete mode 100644 src/platforms/mirserver/promptsessionmanager.h
+ create mode 100644 src/platforms/mirserver/qtwindowmanager.cpp
+ rename src/platforms/mirserver/{mircursorimages.cpp => qtwindowmanager.h} (55%)
+ delete mode 100644 src/platforms/mirserver/setqtcompositor.cpp
+ delete mode 100644 src/platforms/mirserver/setqtcompositor.h
+ create mode 100644 src/platforms/mirserver/urlbuilderdispatcher.cpp
+ create mode 100644 src/platforms/mirserver/urlbuilderdispatcher.h
+ create mode 100644 src/platforms/mirserver/wayland-generated/CMakeLists.txt
+ create mode 100644 src/platforms/mirserver/wayland-generated/qt-windowmanager_wrapper.cpp
+ create mode 100644 src/platforms/mirserver/wayland-generated/qt-windowmanager_wrapper.h
+ create mode 100644 src/platforms/mirserver/wayland-generated/server-decoration_wrapper.cpp
+ create mode 100644 src/platforms/mirserver/wayland-generated/server-decoration_wrapper.h
+ create mode 100644 src/platforms/mirserver/wayland-generated/xdg-decoration-unstable-v1_wrapper.cpp
+ create mode 100644 src/platforms/mirserver/wayland-generated/xdg-decoration-unstable-v1_wrapper.h
+ create mode 100644 src/platforms/mirserver/wayland-protocols/qt-windowmanager.xml
+ create mode 100644 src/platforms/mirserver/wayland-protocols/server-decoration.xml
+ create mode 100644 src/platforms/mirserver/wayland-protocols/xdg-decoration-unstable-v1.xml
+ create mode 100644 src/platforms/mirserver/wayland/kwinserverdecoration.cpp
+ create mode 100644 src/platforms/mirserver/wayland/kwinserverdecoration.h
+ create mode 100644 src/platforms/mirserver/wayland/xdgdecorationV1.cpp
+ create mode 100644 src/platforms/mirserver/wayland/xdgdecorationV1.h
+ create mode 100644 tests/mirserver/URLBuilderDispatcher/CMakeLists.txt
+ rename src/platforms/mirserver/mircursorimages.h => tests/mirserver/URLBuilderDispatcher/mock_services.h (62%)
+ create mode 100644 tests/mirserver/URLBuilderDispatcher/urlbuilderdispatcher_test.cpp
+
+diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
+new file mode 100644
+index 00000000..c63abcd1
+--- /dev/null
++++ b/.gitlab-ci.yml
+@@ -0,0 +1,17 @@
++default:
++ image:
++ name: ubuntu:latest
++ before_script:
++ - apt-get update -yq
++ - DEBIAN_FRONTEND=noninteractive apt-get install -yq devscripts dput git-buildpackage debhelper dh-python pkg-kde-tools
++ - gpg -v --import <(echo "$GPG_PRIVATE_KEY")
++
++upload-ppa:
++ stage: deploy
++ only:
++ - lunar
++ script:
++ - gbp dch --auto -S --multimaint-merge --distribution lunar --force-distribution --ignore-branch
++ - debchange --release --distribution lunar --force-distribution ""
++ - dpkg-buildpackage -I".git" -I"build" -i"^.git|^build" -d -S
++ - dput ppa:mariogrip/butterfly-linux ../*_source.changes
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1c5aace0..72f90b42 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -3,8 +3,8 @@ cmake_minimum_required(VERSION 3.1)
+ project(qtmir)
+
+ set(QTMIR_VERSION_MAJOR 0)
+-set(QTMIR_VERSION_MINOR 7)
+-set(QTMIR_VERSION_PATCH 2)
++set(QTMIR_VERSION_MINOR 8)
++set(QTMIR_VERSION_PATCH 0)
+
+ set(QTMIR_VERSION ${QTMIR_VERSION_MAJOR}.${QTMIR_VERSION_MINOR}.${QTMIR_VERSION_PATCH})
+
+@@ -32,7 +32,7 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -Wextra")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC -Wall -fno-strict-aliasing -Wextra")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
+
+-set (CMAKE_CXX_STANDARD 14)
++set (CMAKE_CXX_STANDARD 17)
+
+ if ("${CMAKE_CXX_COMPILER}" MATCHES "clang")
+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-return-type-c-linkage -Wno-mismatched-tags -Wno-inconsistent-missing-override -Wno-implicit-exception-spec-mismatch -Wno-unknown-pragmas")
+@@ -66,6 +66,7 @@ add_custom_target(cppcheck COMMAND cppcheck --enable=all -q --error-exitcode=2
+
+ option(WITH_CONTENTHUB "Build with content-hub" OFF)
+ option(WITH_VALGRIND "Build with Valgrind detection" ON)
++option(WITH_MIR2 "Build with mir 2.x" OFF)
+
+ include(FindPkgConfig)
+ find_package(Qt5Core 5.9 REQUIRED)
+@@ -79,9 +80,16 @@ find_package(Qt5Test 5.9 REQUIRED)
+ find_package(Threads REQUIRED)
+
+ pkg_check_modules(MIRSERVER mirserver>=0.26 REQUIRED)
++if(WITH_MIR2)
++pkg_check_modules(MIROIL miroil REQUIRED)
++else()
+ pkg_check_modules(MIRCLIENT mirclient>=0.26 REQUIRED)
++endif()
+ pkg_check_modules(MIRRENDERERGLDEV mir-renderer-gl-dev>=0.26 REQUIRED)
+ pkg_check_modules(MIRAL miral>=1.1.0 REQUIRED)
++pkg_check_modules(MIRWAYLAND mirwayland REQUIRED)
++pkg_check_modules(WAYLAND_CLIENT REQUIRED wayland-client)
++pkg_check_modules(WAYLAND_SERVER REQUIRED wayland-server)
+
+ pkg_check_modules(XKBCOMMON xkbcommon REQUIRED)
+ pkg_check_modules(GLIB glib-2.0 REQUIRED)
+@@ -165,7 +173,7 @@ endif()
+ add_definitions(-DQT_NO_KEYWORDS)
+
+ # Tests
+-if (NO_TESTS)
++if (NO_TESTS OR WITH_MIR2)
+ message(STATUS "Tests disabled")
+ else()
+ include(CTest)
+diff --git a/debian/changelog b/debian/changelog
+index 4405cb42..b467f2ca 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -7,26 +7,329 @@ qtmir (0.7.2) unstable; urgency=medium
+
+ qtmir (0.7.1) unstable; urgency=medium
+
+- * Upstream-provided Debian package for qtmir. See upstream ChangeLog
+- for recent changes.
++ [ Mike Gabriel ]
++ * debian/rules:
++ + Don't hard-code architectures with valgrind support. Simply disable
++ valgrind if not found in $PATH. (Closes: #1022222).
++ * debian/control:
++ + Bump to versioned B-D on liblomiri-api-dev (>= 0.2.0).
+
+- -- UBports developers <developers@ubports.com> Mon, 02 Jan 2023 03:07:10 +0100
++ [ Marius Gripsgard ]
++ * New git snapshot
+
+-qtmir (0.7.0) unstable; urgency=medium
++ -- Marius Gripsgard <marius@ubports.com> Wed, 08 Feb 2023 00:44:49 +0100
+
++qtmir (0.8.0~git20230115.30c2337-3) unstable; urgency=medium
+
+- [ UBports developers ]
+- * Upstream-provided Debian package for qtmir. See upstream ChangeLog
+- for recent changes.
++ * debian/.install: Spesify that we only want xwayland desktop & icon
++ file in qml-module-qtmir (closes: #1029291)
++
++ -- Marius Gripsgard <marius@ubports.com> Sun, 22 Jan 2023 05:54:37 +0000
++
++qtmir (0.8.0~git20230115.30c2337-2) unstable; urgency=medium
++
++ * debian/control: Drop mir-pref-framework from qtmir-tests (closes: #1029015)
++
++ -- Marius Gripsgard <marius@ubports.com> Tue, 17 Jan 2023 22:18:34 +0000
++
++qtmir (0.8.0~git20230115.30c2337-1) unstable; urgency=medium
++
++ * New git snapshot (0.8.0~git20230115.30c2337)
++ * debian/*.symbols: Refresh symbols using pkgkde
++ * debian/patches: Refresh patch to match new git snapshot
++ * debian/copyright: Refresh copyright to match new git snapshot
++ * debian/.install: Install x11 desktop file and icon
++
++ -- Marius Gripsgard <marius@ubports.com> Sun, 15 Jan 2023 20:23:41 +0100
++
++qtmir (0.8.0~git20230109.671f617-3) unstable; urgency=medium
++
++ * Now!!! Really re-upload as is to unstable.
++
++ -- Mike Gabriel <sunweaver@debian.org> Fri, 13 Jan 2023 16:45:56 +0100
++
++qtmir (0.8.0~git20230109.671f617-2) experimental; urgency=medium
++
++ * Re-upload as is to unstable.
++
++ -- Mike Gabriel <sunweaver@debian.org> Fri, 13 Jan 2023 13:23:18 +0100
++
++qtmir (0.8.0~git20230109.671f617-1) experimental; urgency=medium
++
++ * Upload to experimental.
++
++ [ Marius Gripsgard ]
++ * New git snapshot (based on ubports/focal_-_mir2 branch)
++ * debian/*:
++ + Bump libqtmirserver soname version to 2
++ * debian/control:
++ + Bump mir requirement to 2.11 and add miroil-dev as B-D.
++ * debian/rules:
++ + Build with MIR2 option enabled.
++ * debian/watch:
++ + Update watch to pull git branch.
++ * debian/copyright:
++ + Refresh copyright to match new git snapshot
++ * debian/*.symbols:
++ + Refresh symbols using pkgkde.
++
++ [ Mike Gabriel ]
++ * debian/copyright:
++ + Update auto-generated copyright.in file.
++ + Update attributions for debian/.
++ * debian/changelog:
++ + Amend white-space issue.
++
++ -- Mike Gabriel <sunweaver@debian.org> Tue, 10 Jan 2023 08:07:55 +0100
++
++qtmir (0.7.1-3) unstable; urgency=medium
++
++ * [debian/.symbols] Refresh symbols using pkgkde
++
++ -- Marius Gripsgard <marius@ubports.com> Tue, 03 Jan 2023 10:38:41 +0100
++
++qtmir (0.7.1-2) unstable; urgency=medium
++
++ * debian/rules:
++ - Disable valgrind on mipsel due to known issues with valgrind on mipsel
++
++ -- Marius Gripsgard <marius@ubports.com> Mon, 02 Jan 2023 12:04:30 +0100
++
++qtmir (0.7.1-1) unstable; urgency=medium
++
++ * New upstream release v0.7.1
++ * Drop upstreamed patch:
++ - 0001_remove-unused-gmock-fixes.patch
++ * Refresh libqtmirserver1 symbols using pkgkde
++ * Update copyright to match new upstream release v0.7.1
++
++ -- Marius Gripsgard <marius@ubports.com> Mon, 02 Jan 2023 03:25:08 +0100
++
++qtmir (0.7.0-4) unstable; urgency=medium
++
++ * debian/libqtmirserver1.symbols:
++ + Update symbols. (Closes: #1021359).
++
++ -- Mike Gabriel <sunweaver@debian.org> Fri, 07 Oct 2022 09:20:06 +0200
++
++qtmir (0.7.0-3) unstable; urgency=medium
++
++ * debian/patches:
++ + Cherry-picḱ 0001_remove-unused-gmock-fixes.patch. (Closes: #1015133).
++ * debian/:
++ + Update upstream Git repo URL.
++ * debian/control:
++ + Bump Standards-Version: to 4.6.1. No changes needed.
++ * debian/libqtmirserver1.symbols:
++ + Update .symbols for gcc-12 rebuild.
++ * debian/copyright:
++ + Update copyright attributions for debian/*.
++
++ -- Mike Gabriel <sunweaver@debian.org> Wed, 05 Oct 2022 21:03:05 +0200
++
++qtmir (0.7.0-2) unstable; urgency=medium
++
++ [ Mike Gabriel ]
++ * debian/control:
++ + Update Homepage: field. Use upstream GitLab URL (instead of deprecated
++ Github URL).
+
+- -- UBports developers <developers@ubports.com> Fri, 22 Apr 2022 06:26:25 +0200
++ [ Marius Gripsgard ]
++ * debian/libqtmirserver1.symbols:
++ + Refresh symbol file from buildd logs using pkgkde-symbolshelper.
+
+-qtmir (0.6.1-0) unstable; urgency=medium
++ -- Mike Gabriel <sunweaver@debian.org> Wed, 25 May 2022 23:48:32 +0200
+
+- * Upstream-provided Debian package for qtmir.
+- See upstream ChangeLog for recent changes.
++qtmir (0.7.0-1) unstable; urgency=medium
+
+- -- UBports Team <developers@ubports.com> Mon, 28 Sep 2020 10:08:12 +0200
++ [ Marius Gripsgard ]
++ * New upstream release v0.7.0
++ * debian/patches: Drop upstreamed and unneeded patches, refresh patches:
++ + Drop upstreamed and unneeded patches:
++ - 0001_demo-fix-detecting-running-installed.patch
++ - 0002_demos-fix-application-name.patch
++ - 1002_drop-cgmanager-dependency.patch
++ - 1003_INSTANTIATE_TEST_SUITE.patch
++ - 1004_remove-cmake-instructions-that-have-been-moved-into-FindGMock.patch
++ - 1005_add-missing-pthread-to-link-target.patch
++ - 1006_make-sure-tracepoints-h-exists.patch
++ - 1007_make-valgrind-dependency-optional.patch
++ - 1008_drop-Werror-enforcement-leave-it-to-configure-option.patch
++ - 2001_no-convert-to-gles-test.patch
++ - 2004_qml-demo-shell-work-without-ui-toolkit.patch
++ + Refreshed patches:
++ - 2002_no-requires-provides-check.patch
++ - 2003_disable-benchmarks.patch
++ * debian/copyright: Update copyright to match new upstream release
++ * debian/symbols: Update symbols to match new upstream release
++ * debian/control: Drop qtmir-{android/desktop} and use a generic qtmir package
++ * debian/control: Add myself as uploader
++ * debian/control: Bump required versions for cmake-extras and googletest
++ * debian/rules: Clean up rules and remove dual binary build (was for
++ android/desktop split)
++ * debian/qtmir-tests: Rename paths to match upstream renames
++ * debian/control: Add qml-module-lomiri-components as DEP for qtmir-tests
++
++ [ Mike Gabriel ]
++ * debian/copyright:
++ + Update auto-generated copyright.in file.
++ + Update more copyright attributions, finalize for upload.
++ * debian/control:
++ + Improve transitional packages, provide former info on the packages'
++ content. Thanks, lintian.
++
++ -- Mike Gabriel <sunweaver@debian.org> Sat, 23 Apr 2022 09:45:49 +0200
++
++qtmir (0.6.1-8) unstable; urgency=medium
++
++ * debian/rules:
++ + Comment out DPKG_GENSYMBOLS_CHECK_LEVEL=4. Let's use level 1 (default)
++ and receive less build failures. (related to #997464).
++ * debian/control:
++ + Bump Standards-Version: to 4.6.0. No changes needed.
++ * debian/libqtmirserver1.symbols:
++ + Update symbols after build with gcc-11. (Closes: #997464).
++
++ -- Mike Gabriel <sunweaver@debian.org> Sat, 13 Nov 2021 21:05:14 +0100
++
++qtmir (0.6.1-7) unstable; urgency=medium
++
++ * debian/libqtmirserver1.symbols:
++ + Update for architectures arm64, m68k, mips64el and sh4.
++
++ -- Mike Gabriel <sunweaver@debian.org> Sun, 14 Mar 2021 21:36:52 +0100
++
++qtmir (0.6.1-6) unstable; urgency=medium
++
++ * debian/control:
++ + Limit qtmir to linux-any architecture builds.
++ * debian/patches:
++ + Add 0001_demo-fix-detecting-running-installed.patch,
++ 0002_demos-fix-application-name.patch. Fix loading demo shell and demo
++ client.
++ + Add 2004_qml-demo-shell-work-without-ui-toolkit.patch. Make qml-demo-shell
++ work without lomiri-ui-toolkit.
++ * debian/rules:
++ + Move qtmir-demo-shell files to the correct location.
++ * debian/qtmir-tests.install:
++ + Pick up files for qtmir-demo-shell and qtmir-demo-client from the correct
++ location (as moved around by d/rules).
++
++ -- Mike Gabriel <sunweaver@debian.org> Wed, 10 Mar 2021 21:08:51 +0100
++
++qtmir (0.6.1-5) unstable; urgency=medium
++
++ * debian/control:
++ + Replace D (qtmir-tests): qtdeclarative5-qtmir-plugin by qml-module-qtmir,
++ drop from D (qtmir-tests): autopilot-qt5 and python3-autopilot. (Closes:
++ #977134).
++ + Bump Standards-Version: to 4.5.1. No changes needed.
++ * debian/qtmir-tests.install:
++ + Drop DATADIR/qtmir/benachmarks/* from qtmir-tests bin:pkg.
++ * debian/patches:
++ + Add 2003_disable-benchmarks.patch. No autopilot in Debian, so let's build
++ qtmir without dependency on it (i.e. without benchmarks).
++
++ -- Mike Gabriel <sunweaver@debian.org> Wed, 16 Dec 2020 16:32:50 +0100
++
++qtmir (0.6.1-4) unstable; urgency=medium
++
++ * debian/libqtmirserver1.symbols:
++ + Update for armel architecture. (Closes: #973423).
++
++ -- Mike Gabriel <sunweaver@debian.org> Fri, 30 Oct 2020 19:56:05 +0100
++
++qtmir (0.6.1-3) unstable; urgency=medium
++
++ * debian/patches:
++ + Add 1008_drop-Werror-enforcement-leave-it-to-configure-option.patch. Fix
++ disabling -Werror via CMake configure option.
++ * debian/rules:
++ + Build with CMake option '-DWerror=OFF'. (Closes: #973437).
++ * debian/libqtmirserver1.symbols:
++ + Update after rebuild against Qt 5.15 (amd64 only for now).
++
++ -- Mike Gabriel <sunweaver@debian.org> Fri, 30 Oct 2020 17:45:48 +0100
++
++qtmir (0.6.1-2) unstable; urgency=medium
++
++ * debian/control:
++ + Only require valgrind as B-D on architectures where it is available on.
++ * debian/patches:
++ + Add 1007_make-valgrind-dependency-optional.patch. Make Valgrind an
++ optional build dependency.
++ * debian/libqtmirserver1.symbols:
++ + Update symbols for armhf i386 mipsel ppc64el.
++
++ -- Mike Gabriel <sunweaver@debian.org> Wed, 28 Oct 2020 14:33:37 +0100
++
++qtmir (0.6.1-1) unstable; urgency=medium
++
++ * Initial upload to Debian (Closes: #971257).
++ * debian/*:
++ + Rename bin:pkg qtdeclarative5-qtmir-plugin to qml-module-qtmir.
++ * debian/watch:
++ + Add file.
++ * debian/control:
++ + Adjust B-Ds for googletest.
++ + Drop B-D libcontent-hub-dev.
++ + Drop B-D on libcgmanager-dev. (Package not available in Debian anymore).
++ + Drop B-D on libmirclient-dev. Not required anymore with qtmir 0.6.1.
++ + Fix dev:pkg name provided by lomiri-app-launch.
++ + Fix versioned B-D on lomiri-api-dev. Remnant of Unity8 -> Lomiri
++ migration.
++ + Update versioned B-D: cmake-extras (>= 1.5-4~).
++ + Drop from B-D: qt5-default (meta package).
++ + Bump Standards-Version: to 4.5.0. No changes needed.
++ + Bump DH compat level to version 13.
++ + Add Vcs-*: fields.
++ + Assure binNMU'ability between bin:pkgs in this src:pkg.
++ + Add Rules-Requires-Root: field and set it to 'no'.
++ + Add B-D pkg-kde-tools.
++ + Drop Section: field duplicating global Section: field.
++ + Improve LONG_DESCRIPTION fields of two bin:pkgs.
++ + Turn bin:pkg qtmir-tests into Multi-Arch: foreign.
++ + Move qtmir-tests bin:pkg into section 'libdevel'.
++ + Adjust Maintainer: field and Uploaders: field to official upload to
++ Debian.
++ + Add Debian Qt/KDE Maintainers to Uploaders: field.
++ * debian/rules:
++ + Add get-orig-source target.
++ + Move --fail-missing flag into dh_missing override.
++ + Remove build-*/ during dh_clean. Makes build idempotent.
++ + Don't build WITH_CONTENTHUB anymore. Obsolete in qtmir 0.6.1.
++ + Drop now default --parallel DH build option.
++ + Enable all hardening build flags.
++ + Build with pkgkde_symbolshelper.
++ * debian/patches:
++ + Add 1002_drop-cgmanager-dependency.patch. Rip out cgmanager dependent
++ code. This has been sanctioned by upstream.
++ + Add 1003_INSTANTIATE_TEST_SUITE.patch. Use INSTANTIATE_TEST_SUITE macro,
++ rather than deprecated INSTANTIATE_TEST_CASE macro.
++ + Add 1004_remove-cmake-instructions-that-have-been-moved-into-
++ FindGMock.patch. Drop CMake instructions that have been moved into
++ FindGMock of cmake-extras.
++ + Add 1005_add-missing-pthread-to-link-target.patch. Add missing -pthread
++ linker argument. Probably to hard-coded, but works for now.
++ + Add 2001_no-convert-to-gles-test.patch and 2002_no-requires-provides-
++ check.patch. Disable tests fiddling around with files in debian/*. Not
++ wanted by Debian maintainer.
++ + Add 1006_make-sure-tracepoints-h-exists.patch. Make sure tracepoints.h
++ exists for building library 'qtmirserver-mirserver'.
++ + Add upstream bugs for all 100* patches.
++ + Refer to a bug report for Debian-specific patches 200*_*.patch.
++ * debian/source/format:
++ + Add file.
++ * debian/copyright:
++ + Add auto-generated copyright.in file.
++ + Rework copyright attributions, use individual-code-file style.
++ + Also mention files we remove via patch.
++ * debian/upstream/metadata:
++ + Add file. Comply with DEP-12.
++ * debian/libqtmirserver1.symbols:
++ + Add file.
++
++ -- Mike Gabriel <sunweaver@debian.org> Sun, 25 Oct 2020 01:31:45 +0200
+
+ qtmir (0.6.0ubuntu5) xenial; urgency=medium
+
+@@ -44,7 +347,7 @@ qtmir (0.6.0ubuntu5) xenial; urgency=medium
+
+ qtmir (0.5.3+ubports1) xenial; urgency=medium
+
+- * Import to ubports
++ * Import to ubports
+
+ -- Marius Gripsgard <marius@ubports.com> Thu, 28 Dec 2017 04:30:55 +0100
+
+@@ -982,7 +1285,7 @@ qtmir (0.4.6+15.04.20150827.1-0ubuntu1) vivid; urgency=medium
+
+ qtmir (0.4.5+15.10.20150817-0ubuntu1) wily; urgency=medium
+
+- *
++ *
+
+ -- CI Train Bot <ci-train-bot@canonical.com> Mon, 17 Aug 2015 19:28:26 +0000
+
+diff --git a/debian/control b/debian/control
+index a1489e85..9c5b5631 100644
+--- a/debian/control
++++ b/debian/control
+@@ -1,21 +1,24 @@
+ Source: qtmir
+ Section: libs
+ Priority: optional
+-Maintainer: UBports Developers <developers@ubports.com>
++Maintainer: Debian UBports Team <team+ubports@tracker.debian.org>
++Uploaders:
++ Debian Qt/KDE Maintainers <debian-qt-kde@lists.debian.org>,
++ Mike Gabriel <sunweaver@debian.org>,
++ Marius Gripsgard <marius@ubports.com>,
+ Build-Depends: cmake,
+ cmake-extras (>= 1.6~),
+- debhelper-compat (= 12),
++ debhelper-compat (= 13),
+ googletest (>= 1.10.0),
+- libcontent-hub-dev (>= 1.0.0),
+ libfontconfig1-dev,
+ libgles2-mesa-dev,
+ libglib2.0-dev,
+ libgsettings-qt-dev,
+ libgtest-dev,
+ liblttng-ust-dev,
+- libmiral-dev (>= 1.2),
+- libmircommon-dev (>= 0.26.0),
+- libmirserver-dev (>= 0.26.0),
++ libmiral-dev (>= 3.0),
++ libmircommon-dev (>= 2.11.0),
++ libmirserver-dev (>= 2.11.0),
+ libmtdev-dev,
+ libprocess-cpp-dev,
+ libqt5sensors5-dev,
+@@ -27,9 +30,13 @@ Build-Depends: cmake,
+ liblomiri-url-dispatcher-dev,
+ libxkbcommon-dev,
+ libxrender-dev,
+- mir-renderer-gl-dev (>= 0.26.0),
+- mirtest-dev (>= 0.26.0),
++ mir-renderer-gl-dev (>= 2.11.0),
++ mirtest-dev (>= 2.11.0),
++ libmiroil-dev,
++ libmirwayland-dev,
++ libwayland-dev,
+ pkg-config,
++ pkg-kde-tools,
+ # lttng-gen-ts needs python3, but doesn't depend on it itself: bug 1359147
+ python3:any,
+ qtbase5-dev,
+@@ -37,15 +44,17 @@ Build-Depends: cmake,
+ qtdeclarative5-dev,
+ qtdeclarative5-private-dev,
+ quilt,
+- valgrind [amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x powerpc ppc64 x32],
++ valgrind-if-available,
+ # libmirserver-dev should have brought this dep. Bug lp:1617435
+ uuid-dev,
+ # mirtest pkgconfig requires these, but doesn't have a deb dependency. Bug lp:1633537
+ libboost-filesystem-dev,
+ libboost-system-dev,
+-Standards-Version: 4.5.1
++Standards-Version: 4.6.1
+ Rules-Requires-Root: no
+-Homepage: https://github.com/ubports/qtmir
++Homepage: https://gitlab.com/ubports/development/core/qtmir
++Vcs-Git: https://salsa.debian.org/ubports-team/qtmir.git
++Vcs-Browser: https://salsa.debian.org/ubports-team/qtmir
+
+ Package: qtmir
+ Architecture: linux-any
+@@ -65,19 +74,29 @@ Package: qtmir-android
+ Architecture: armhf arm64
+ Multi-Arch: same
+ Depends: qtmir, ${misc:Depends},
+-Priority: optional
+ Section: oldlibs
+-Description: transitional package
+- This is a transitional package. It can safely be removed.
++Description: QPA plugin for a Mir server (mobile, transitional package)
++ QtMir is a set of Qt5 components to enable one to write a Mir server with Qt.
++ It contains a QPA (Qt Platform Abstraction) plugin which creates and manages
++ a Mir server. It also exposes some internal Mir functionality.
++ .
++ This variant of the package is for Android-based phones and tablets.
++ .
++ This is a transitional package. It can safely be removed.
+
+ Package: qtmir-desktop
+ Architecture: linux-any
+ Multi-Arch: same
+ Depends: qtmir, ${misc:Depends},
+-Priority: optional
+ Section: oldlibs
+-Description: transitional package
+- This is a transitional package. It can safely be removed.
++Description: QPA plugin for a Mir server (desktop, transitional package)
++ QtMir is a set of Qt5 components to enable one to write a Mir server with Qt.
++ It contains a QPA (Qt Platform Abstraction) plugin which creates and manages
++ a Mir server. It also exposes some internal Mir functionality.
++ .
++ This variant of the package is for GNU-based desktops.
++ .
++ This is a transitional package. It can safely be removed.
+
+ Package: libqtmirserver-dev
+ Section: libdevel
+@@ -86,7 +105,8 @@ Multi-Arch: same
+ Pre-Depends: ${misc:Pre-Depends}
+ Depends: qtmir (= ${binary:Version}),
+ ${misc:Depends},
+- libmiral-dev (>= 1.3.0),
++ libmiral-dev (>= 3.0),
++ libmiroil-dev,
+ Description: Developer files for QtMir server API
+ QtMir is a set of Qt5 components to enable one to write a Mir server with Qt.
+ It contains a QPA (Qt Platform Abstraction) plugin which creates and manages
+@@ -94,7 +114,7 @@ Description: Developer files for QtMir server API
+ .
+ This package contains the library headers for developers.
+
+-Package: libqtmirserver1
++Package: libqtmirserver2
+ Architecture: linux-any
+ Multi-Arch: same
+ Pre-Depends: ${misc:Pre-Depends}
+@@ -115,7 +135,7 @@ Depends: qtmir (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+ Provides: lomiri-application-impl,
+- lomiri-application-impl-28,
++ lomiri-application-impl-27,
+ Description: Qt/QML module for Lomiri specific Mir APIs
+ QtMir is a set of Qt5 components to enable one to write a Mir server with Qt.
+ It contains a QPA (Qt Platform Abstraction) plugin which creates and manages
+@@ -133,16 +153,11 @@ Pre-Depends: ${misc:Pre-Depends},
+ Depends: littler,
+ lttng-tools,
+ mir-test-tools,
+- python3-autopilot,
+- python3-babeltrace,
+- python3-evdev,
+- python3-mir-perf-framework,
+ qml-module-lomiri-components,
+ qml-module-qtmir,
+ qtmir (= ${binary:Version}),
+ ${misc:Depends},
+ ${shlibs:Depends},
+-Recommends: autopilot-qt5,
+ Description: QtMir tests and demos
+ QtMir is a set of Qt5 components to enable one to write a Mir server with Qt.
+ It contains a QPA (Qt Platform Abstraction) plugin which creates and manages
+diff --git a/debian/copyright b/debian/copyright
+index ca90ebf9..88486c50 100644
+--- a/debian/copyright
++++ b/debian/copyright
+@@ -1,12 +1,12 @@
+ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+ Upstream-Name: qtmir
+ Upstream-Contact: Marius Gripsgard <marius@ubports.com>
+-Source: https://gitlab.com/ubports/core/qtmir/
++Source: https://gitlab.com/ubports/development/core/qtmir/
+
+-Files: demos/qml-demo-shell/screens.cpp
+- demos/qml-demo-shell/screens.h
+- demos/qml-demo-shell/screenwindow.cpp
+- demos/qml-demo-shell/screenwindow.h
++Files: demos/qtmir-demo-shell/screens.cpp
++ demos/qtmir-demo-shell/screens.h
++ demos/qtmir-demo-shell/screenwindow.cpp
++ demos/qtmir-demo-shell/screenwindow.h
+ include/qtmir/displayconfigurationpolicy.h
+ include/qtmir/displayconfigurationstorage.h
+ include/qtmir/mirserverapplication.h
+@@ -26,19 +26,18 @@ Files: demos/qml-demo-shell/screens.cpp
+ src/common/workspacecontrollerinterface.h
+ src/modules/QtMir/Application/application.cpp
+ src/modules/QtMir/Application/application.h
++ src/modules/QtMir/Application/application_manager.cpp
+ src/modules/QtMir/Application/application_manager.h
+ src/modules/QtMir/Application/applicationinfo.h
+- src/modules/QtMir/Application/cgmanager.cpp
+- src/modules/QtMir/Application/cgmanager.h
+ src/modules/QtMir/Application/compositortextureprovider.cpp
+ src/modules/QtMir/Application/compositortextureprovider.h
+ src/modules/QtMir/Application/dbusfocusinfo.cpp
+ src/modules/QtMir/Application/dbusfocusinfo.h
+ src/modules/QtMir/Application/gscopedpointer.h
+- src/modules/QtMir/Application/mirbuffersgtexture.cpp
+ src/modules/QtMir/Application/mirbuffersgtexture.h
+ src/modules/QtMir/Application/mirsurface.h
+ src/modules/QtMir/Application/mirsurfaceinterface.h
++ src/modules/QtMir/Application/mirsurfaceitem.cpp
+ src/modules/QtMir/Application/mirsurfaceitem.h
+ src/modules/QtMir/Application/objectlistmodel.h
+ src/modules/QtMir/Application/plugin.cpp
+@@ -78,8 +77,6 @@ Files: demos/qml-demo-shell/screens.cpp
+ src/platforms/mirserver/inputdeviceobserver.h
+ src/platforms/mirserver/logging.cpp
+ src/platforms/mirserver/logging.h
+- src/platforms/mirserver/mircursorimages.cpp
+- src/platforms/mirserver/mircursorimages.h
+ src/platforms/mirserver/mirdisplayconfigurationobserver.cpp
+ src/platforms/mirserver/mirdisplayconfigurationobserver.h
+ src/platforms/mirserver/mirglconfig.h
+@@ -107,6 +104,7 @@ Files: demos/qml-demo-shell/screens.cpp
+ src/platforms/mirserver/qmirserver_p.h
+ src/platforms/mirserver/qtcompositor.cpp
+ src/platforms/mirserver/qtcompositor.h
++ src/platforms/mirserver/qteventfeeder.cpp
+ src/platforms/mirserver/qteventfeeder.h
+ src/platforms/mirserver/screenadaptor.cpp
+ src/platforms/mirserver/screenadaptor.h
+@@ -130,6 +128,7 @@ Files: demos/qml-demo-shell/screens.cpp
+ src/platforms/mirserver/windowmodelnotifier.cpp
+ src/platforms/mirserver/workspacecontroller.cpp
+ src/platforms/mirserver/workspacecontroller.h
++ src/platforms/mirserver/wrappedsessionauthorizer.cpp
+ src/platforms/mirserver/wrappedsessionauthorizer.h
+ src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
+ src/platforms/mirserver/wrappedwindowmanagementpolicy.h
+@@ -214,8 +213,10 @@ Copyright: 2011-2014, Canonical, Ltd.
+ 2017, Canonical, Ltd.
+ License: LGPL-3
+
+-Files: CMakeLists.txt
+- Jenkinsfile
++Files:
++ AUTHORS
++ CMakeLists.txt
++ ChangeLog
+ NEWS
+ README
+ benchmarks/CMakeLists.txt
+@@ -225,24 +226,27 @@ Files: CMakeLists.txt
+ cmake/modules/QmlTest.cmake
+ cmake/modules/UseLttngGenTp.cmake
+ cmake/modules/autopilot.cmake
++ data/CMakeLists.txt
++ data/xwayland.qtmir.desktop
++ data/xwayland.qtmir.png
+ demos/CMakeLists.txt
+- demos/qml-demo-client/CMakeLists.txt
+- demos/qml-demo-client/MovingRect.qml
+- demos/qml-demo-client/qml-demo-client.qml
+- demos/qml-demo-client/qtmir-demo-client.desktop.in
+- demos/qml-demo-shell/Button.qml
+- demos/qml-demo-shell/CMakeLists.txt
+- demos/qml-demo-shell/ResizeArea.qml
+- demos/qml-demo-shell/ScreenConfiguration.qml
+- demos/qml-demo-shell/Shell.qml
+- demos/qml-demo-shell/TitleBar.qml
+- demos/qml-demo-shell/UnityLogo.png
+- demos/qml-demo-shell/Window.qml
+- demos/qml-demo-shell/WindowBufferSized.qml
+- demos/qml-demo-shell/WindowModelDebugView.qml
+- demos/qml-demo-shell/qml-demo-shell.qml
+- demos/qml-demo-shell/qml-demo-shell.qmlproject
+- include/qtmir/miral/display_id.h
++ demos/qtmir-demo-client/CMakeLists.txt
++ demos/qtmir-demo-client/MovingRect.qml
++ demos/qtmir-demo-client/qml-demo-client.qml
++ demos/qtmir-demo-client/qtmir-demo-client.desktop.in
++ demos/qtmir-demo-shell/Button.qml
++ demos/qtmir-demo-shell/CMakeLists.txt
++ demos/qtmir-demo-shell/ResizeArea.qml
++ demos/qtmir-demo-shell/ScreenConfiguration.qml
++ demos/qtmir-demo-shell/Shell.qml
++ demos/qtmir-demo-shell/TitleBar.qml
++ demos/qtmir-demo-shell/UnityLogo.png
++ demos/qtmir-demo-shell/Window.qml
++ demos/qtmir-demo-shell/WindowBufferSized.qml
++ demos/qtmir-demo-shell/WindowModelDebugView.qml
++ demos/qtmir-demo-shell/qml-demo-shell.qml
++ demos/qtmir-demo-shell/qml-demo-shell.qmlproject
++ include/miroil/display_id.h
+ include/qtmir/qtmir.h
+ src/CMakeLists.txt
+ src/common/timestamp.cpp
+@@ -255,14 +259,14 @@ Files: CMakeLists.txt
+ src/modules/QtMir/CMakeLists.txt
+ src/platforms/CMakeLists.txt
+ src/platforms/mirserver/CMakeLists.txt
+- src/platforms/mirserver/miral/CMakeLists.txt
++ src/platforms/mirserver/miroil/CMakeLists.txt
++ src/platforms/mirserver/miroil/src/CMakeLists.txt
+ src/platforms/mirserver/mirserver.json
+ src/platforms/mirserver/qtmir.cpp
+ src/platforms/mirserver/qtmirserver.pc.in
+ src/platforms/mirserver/tracepoints.tp
+ tests/CMakeLists.txt
+ tests/check-requires-provides.sh
+- tests/convert-to-gles.sh
+ tests/framework/CMakeLists.txt
+ tests/framework/mock_persistent_surface_store.h
+ tests/mirserver/CMakeLists.txt
+@@ -288,39 +292,59 @@ Comment:
+ Assuming same license as for the majority of code files,
+ assuming same copyright holders.
+
+-Files: include/qtmir/miral/display_configuration_policy.h
+- include/qtmir/miral/display_configuration_storage.h
+- include/qtmir/miral/edid.h
+- src/platforms/mirserver/eventdispatch.cpp
+- src/platforms/mirserver/eventdispatch.h
+- src/platforms/mirserver/miral/display_configuration_policy.cpp
+- src/platforms/mirserver/miral/edid.cpp
+- src/platforms/mirserver/miral/mirbuffer.cpp
+- src/platforms/mirserver/miral/mirbuffer.h
+- src/platforms/mirserver/miral/persist_display_config.cpp
+- src/platforms/mirserver/miral/persist_display_config.h
+- src/platforms/mirserver/mirserverhooks.cpp
+- src/platforms/mirserver/mirserverhooks.h
+- src/platforms/mirserver/openglcontextfactory.cpp
+- src/platforms/mirserver/openglcontextfactory.h
++Files: include/miroil/display_configuration_policy.h
++ include/miroil/display_configuration_storage.h
++ include/miroil/edid.h
++ src/platforms/mirserver/miroil/include/miroil/compositor.h
++ src/platforms/mirserver/miroil/include/miroil/display_configuration_controller_wrapper.h
++ src/platforms/mirserver/miroil/include/miroil/display_listener_wrapper.h
++ src/platforms/mirserver/miroil/include/miroil/event_builder.h
++ src/platforms/mirserver/miroil/include/miroil/eventdispatch.h
++ src/platforms/mirserver/miroil/include/miroil/input_device.h
++ src/platforms/mirserver/miroil/include/miroil/input_device_observer.h
++ src/platforms/mirserver/miroil/include/miroil/mir_prompt_session.h
++ src/platforms/mirserver/miroil/include/miroil/mir_server_hooks.h
++ src/platforms/mirserver/miroil/include/miroil/mirbuffer.h
++ src/platforms/mirserver/miroil/include/miroil/open_gl_context.h
++ src/platforms/mirserver/miroil/include/miroil/persist_display_config.h
++ src/platforms/mirserver/miroil/include/miroil/prompt_session_listener.h
++ src/platforms/mirserver/miroil/include/miroil/prompt_session_manager.h
++ src/platforms/mirserver/miroil/include/miroil/set_compositor.h
++ src/platforms/mirserver/miroil/include/miroil/surface.h
++ src/platforms/mirserver/miroil/include/miroil/surface_observer.h
++ src/platforms/mirserver/miroil/src/compositor.cpp
++ src/platforms/mirserver/miroil/src/display_configuration_controller_wrapper.cpp
++ src/platforms/mirserver/miroil/src/display_configuration_policy.cpp
++ src/platforms/mirserver/miroil/src/display_listener_wrapper.cpp
++ src/platforms/mirserver/miroil/src/edid.cpp
++ src/platforms/mirserver/miroil/src/event_builder.cpp
++ src/platforms/mirserver/miroil/src/eventdispatch.cpp
++ src/platforms/mirserver/miroil/src/input_device.cpp
++ src/platforms/mirserver/miroil/src/input_device_observer.cpp
++ src/platforms/mirserver/miroil/src/mir_prompt_session.cpp
++ src/platforms/mirserver/miroil/src/mir_server_hooks.cpp
++ src/platforms/mirserver/miroil/src/mirbuffer.cpp
++ src/platforms/mirserver/miroil/src/open_gl_context.cpp
++ src/platforms/mirserver/miroil/src/persist_display_config.cpp
++ src/platforms/mirserver/miroil/src/prompt_session_listener.cpp
++ src/platforms/mirserver/miroil/src/prompt_session_manager.cpp
++ src/platforms/mirserver/miroil/src/set_compositor.cpp
++ src/platforms/mirserver/miroil/src/surface.cpp
+ src/platforms/mirserver/promptsession.h
+- src/platforms/mirserver/promptsessionmanager.cpp
+- src/platforms/mirserver/promptsessionmanager.h
+- src/platforms/mirserver/setqtcompositor.cpp
+- src/platforms/mirserver/setqtcompositor.h
+ tests/framework/fake_surface.h
+ tests/framework/stub_scene_surface.h
+ Copyright: 2014, 2016, Canonical Ltd.
+ 2016, Canonical Ltd.
+ 2016-2017, Canonical Ltd.
+ 2017, Canonical Ltd.
++ 2016-2020 Canonical Ltd.
+ License: GPL-3
+
+ Files: demos/paths.h.in
+- demos/qml-demo-client/main.cpp
+- demos/qml-demo-shell/main.cpp
+- demos/qml-demo-shell/pointerposition.cpp
+- demos/qml-demo-shell/pointerposition.h
++ demos/qtmir-demo-client/main.cpp
++ demos/qtmir-demo-shell/main.cpp
++ demos/qtmir-demo-shell/pointerposition.cpp
++ demos/qtmir-demo-shell/pointerposition.h
+ src/modules/QtMir/Application/mirsurfacelistmodel.cpp
+ src/modules/QtMir/Application/mirsurfacelistmodel.h
+ src/modules/QtMir/Application/timer.cpp
+@@ -338,16 +362,6 @@ Copyright: 2015, Canonical Ltd.
+ 2016, Canonical Ltd.
+ License: LGPL-3
+
+-Files: src/modules/QtMir/Application/application_manager.cpp
+- src/modules/QtMir/Application/mirsurfaceitem.cpp
+- src/platforms/mirserver/qteventfeeder.cpp
+- src/platforms/mirserver/wrappedsessionauthorizer.cpp
+-Copyright: 2013-2016, Canonical, Ltd.
+- 2013-2017, Canonical, Ltd.
+- 2016, Canonical, Ltd.
+-License: LGPL-3
+-Comment: GENERATED FILE
+-
+ Files: cmake/modules/FindQt5EventDispatcherSupport.cmake
+ cmake/modules/FindQt5FontDatabaseSupport.cmake
+ cmake/modules/FindQt5ThemeSupport.cmake
+@@ -379,6 +393,11 @@ Copyright: 2015-2017, Canonical, Ltd.
+ 2020, UBports Foundation
+ License: LGPL-3
+
++Files: src/modules/QtMir/Application/mirbuffersgtexture.cpp
++Copyright: 2013-2015, Canonical, Ltd.
++ 2021, UBports Foundation
++License: GPL-3
++
+ Files: cmake/modules/FindQt5PlatformSupport.cmake
+ Copyright: 2014, Alex Merry <alex.merry@kde.org>
+ 2014, Martin Gräßlin <mgraesslin@kde.org>
+@@ -386,7 +405,8 @@ License: BSD-3-clause
+
+ Files: debian/*
+ Copyright: 2013-2017, Canonical Ltd.
+- 2020, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
++ 2020-2023, Marius Gripsgard <marius@ubports.com>
++ 2020-2023, Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+ License: GPL-2 or GPL-3 or LGPL-2.1 or LGPL-3 or BSD-3-clause
+
+ License: LGPL-3
+diff --git a/debian/libqtmirserver1.install b/debian/libqtmirserver1.install
+deleted file mode 100644
+index e07913b9..00000000
+--- a/debian/libqtmirserver1.install
++++ /dev/null
+@@ -1 +0,0 @@
+-usr/lib/*/libqtmirserver.so.1
+diff --git a/debian/libqtmirserver2.install b/debian/libqtmirserver2.install
+new file mode 100644
+index 00000000..89778b57
+--- /dev/null
++++ b/debian/libqtmirserver2.install
+@@ -0,0 +1 @@
++usr/lib/*/libqtmirserver.so.2
+diff --git a/debian/libqtmirserver2.symbols b/debian/libqtmirserver2.symbols
+new file mode 100644
+index 00000000..27b9a899
+--- /dev/null
++++ b/debian/libqtmirserver2.symbols
+@@ -0,0 +1,2381 @@
++# SymbolsHelper-Confirmed: 0.8.0~git20230109.671f617 amd64 arm64 armel armhf hppa i386 mips64el mipsel powerpc ppc64 s390x
++libqtmirserver.so.2 libqtmirserver2 #MINVER#
++* Build-Depends-Package: libqtmirserver-dev
++ _Z10QTMIR_DBUSv@Base 0.6.1
++ _Z13QTMIR_SCREENSv@Base 0.6.1
++ _Z14QTMIR_SESSIONSv@Base 0.6.1
++ _Z14QTMIR_SURFACESv@Base 0.6.1
++ _Z15QTMIR_CLIPBOARDv@Base 0.6.1
++ _Z15QTMIR_MIR_INPUTv@Base 0.6.1
++ _Z16QTMIR_MIR_KEYMAPv@Base 0.6.1
++ (optional=templinst)_Z17qRegisterMetaTypeIN3Mir5StateEEiPKcPT_N9QtPrivate21MetaTypeDefinedHelperIS4_Xaasr12QMetaTypeId2IS4_E7DefinedntsrS9_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ (optional=templinst)_Z17qRegisterMetaTypeIN5qtmir13PromptSessionEEiPKcPT_N9QtPrivate21MetaTypeDefinedHelperIS4_Xaasr12QMetaTypeId2IS4_E7DefinedntsrS9_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ (optional=templinst)_Z17qRegisterMetaTypeISt10shared_ptrIN3mir5scene7SessionEEEiPKcPT_N9QtPrivate21MetaTypeDefinedHelperIS7_Xaasr12QMetaTypeId2IS7_E7DefinedntsrSC_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ _Z18QTMIR_APPLICATIONSv@Base 0.6.1
++ _Z18QTMIR_MIR_MESSAGESv@Base 0.6.1
++ _Z18qtCursorShapeToStrN2Qt11CursorShapeE@Base 0.6.1
++ _Z18touchEventToStringPK11QTouchEvent@Base 0.6.1
++ _Z19mirSurfaceTypeToStri@Base 0.6.1
++ _Z20mirSurfaceStateToStri@Base 0.6.1
++ _Z21QTMIR_SENSOR_MESSAGESv@Base 0.6.1
++ _Z21applicationStateToStri@Base 0.6.1
++ _Z21mirTouchEventToStringPK13MirTouchEvent@Base 0.6.1
++ _Z21unityapiMirStateToStri@Base 0.6.1
++ _Z22mirTouchActionToString14MirTouchAction@Base 0.6.1
++ _Z23mirPointerEventToStringPK15MirPointerEvent@Base 0.6.1
++ _Z23touchPointStateToStringN2Qt15TouchPointStateE@Base 0.6.1
++ _Z24mirKeyboardEventToStringPK16MirKeyboardEvent@Base 0.6.1
++ _Z25mirSurfaceFocusStateToStri@Base 0.6.1
++ _Z25mirSurfaceVisibilityToStri@Base 0.6.1
++ (optional=templinst)_Z27qRegisterNormalizedMetaTypeIN3Mir5StateEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ (optional=templinst)_Z27qRegisterNormalizedMetaTypeIN5qtmir10FormFactorEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ (optional=templinst)_Z27qRegisterNormalizedMetaTypeIN5qtmir11OutputTypesEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ (optional=templinst)_Z27qRegisterNormalizedMetaTypeIN5qtmir13PromptSessionEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS5_Xaasr12QMetaTypeId2IS5_E7DefinedntsrSA_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ (optional=templinst)_Z27qRegisterNormalizedMetaTypeIPN5qtmir19ScreenConfigurationEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS6_Xaasr12QMetaTypeId2IS6_E7DefinedntsrSB_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ (optional=templinst)_Z27qRegisterNormalizedMetaTypeISt10shared_ptrIN3mir5scene7SessionEEEiRK10QByteArrayPT_N9QtPrivate21MetaTypeDefinedHelperIS8_Xaasr12QMetaTypeId2IS8_E7DefinedntsrSD_9IsBuiltInEE11DefinedTypeE@Base 0.6.1
++ _Z32mirSurfaceAttribAndValueToString15MirWindowAttribi@Base 0.6.1
++ _ZGVZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoE5QSizeEEELb1EE5typesEvE1t@Base 0.6.1
++ _ZGVZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoE6QPointEEELb1EE5typesEvE1t@Base 0.6.1
++ _ZGVZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoEEEELb1EE5typesEvE1t@Base 0.6.1
++ _ZGVZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoEN3Mir5StateEEEELb1EE5typesEvE1t@Base 0.6.1
++ _ZGVZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoEbEEELb1EE5typesEvE1t@Base 0.6.1
++ _ZGVZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5qtmir9NewWindowEEEELb1EE5typesEvE1t@Base 0.6.1
++ _ZN10QByteArrayD1Ev@Base 0.6.1
++ _ZN10QByteArrayD2Ev@Base 0.6.1
++ _ZN10QMirServer11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN10QMirServer11qt_metacastEPKc@Base 0.6.1
++ _ZN10QMirServer16staticMetaObjectE@Base 0.6.1
++ (optional=templinst)_ZN10QMirServer25overrideSessionAuthorizerERKSt8functionIFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEE@Base 0.6.1
++ (optional=templinst)_ZN10QMirServer30overrideWindowManagementPolicyERKSt8functionIFSt10shared_ptrIN5qtmir22WindowManagementPolicyEERKN5miral18WindowManagerToolsES1_INS2_29WindowManagementPolicyPrivateEEEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN10QMirServer30wrapDisplayConfigurationPolicyERKSt8functionIFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvEE@Base 0.6.1
++ (optional=templinst)_ZN10QMirServer30wrapDisplayConfigurationPolicyERKSt8functionIFSt10shared_ptrIN6miroil26DisplayConfigurationPolicyEERKS1_IN3mir8graphics26DisplayConfigurationPolicyEEEE@Base 0.8.0~git20230109.671f617
++ _ZN10QMirServer35overrideDisplayConfigurationStorageERKN5qtmir35BasicSetDisplayConfigurationStorageE@Base 0.6.1
++ _ZN10QMirServer4stopEv@Base 0.6.1
++ _ZN10QMirServer5startEv@Base 0.6.1
++ _ZN10QMirServer6createEv@Base 0.6.1
++ _ZN10QMirServer7startedEv@Base 0.6.1
++ _ZN10QMirServer7stoppedEv@Base 0.6.1
++ _ZN10QMirServerC1EP7QObject@Base 0.6.1
++ _ZN10QMirServerC2EP7QObject@Base 0.6.1
++ _ZN10QMirServerD0Ev@Base 0.6.1
++ _ZN10QMirServerD1Ev@Base 0.6.1
++ _ZN10QMirServerD2Ev@Base 0.6.1
++ (optional=templinst)_ZN10QMultiHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEED1Ev@Base 0.6.1
++ (optional=templinst)_ZN10QMultiHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEED2Ev@Base 0.6.1
++ _ZN11MirGLConfigD0Ev@Base 0.6.1
++ _ZN11MirGLConfigD1Ev@Base 0.6.1
++ _ZN11MirGLConfigD2Ev@Base 0.6.1
++ (optional=templinst)_ZN11QMetaTypeIdIN3Mir5StateEE14qt_metatype_idEv@Base 0.6.1
++ _ZN12QMutexLocker6unlockEv@Base 0.6.1
++#MISSING: 0.6.1-8# _ZN12QMutexLockerC1EP11QBasicMutex@Base 0.6.1
++#MISSING: 0.6.1-8# _ZN12QMutexLockerC2EP11QBasicMutex@Base 0.6.1
++ (optional=templinst)_ZN12QWeakPointerI10QMirServerED1Ev@Base 0.6.1
++ (optional=templinst)_ZN12QWeakPointerI10QMirServerED2Ev@Base 0.6.1
++ (optional=templinst)_ZN12QWeakPointerI7QObjectED1Ev@Base 0.6.1
++ (optional=templinst)_ZN12QWeakPointerI7QObjectED2Ev@Base 0.6.1
++ (optional=templinst)_ZN12QWeakPointerIN5qtmir7ScreensEED1Ev@Base 0.6.1
++ (optional=templinst)_ZN12QWeakPointerIN5qtmir7ScreensEED2Ev@Base 0.6.1
++ _ZN12QtCompositor11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN12QtCompositor11qt_metacastEPKc@Base 0.6.1
++ _ZN12QtCompositor16staticMetaObjectE@Base 0.6.1
++ _ZN12QtCompositor4stopEv@Base 0.8.0~git20230109.671f617
++ _ZN12QtCompositor5startEv@Base 0.8.0~git20230109.671f617
++ _ZN12QtCompositor8startingEv@Base 0.6.1
++ _ZN12QtCompositor8stoppingEv@Base 0.6.1
++ _ZN12QtCompositorD0Ev@Base 0.6.1
++ _ZN12QtCompositorD1Ev@Base 0.6.1
++ _ZN12QtCompositorD2Ev@Base 0.6.1
++ _ZN12ScreensModel11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN12ScreensModel11qt_metacastEPKc@Base 0.6.1
++ _ZN12ScreensModel11screenAddedEP14PlatformScreen@Base 0.6.1
++ _ZN12ScreensModel12haltRendererEv@Base 0.6.1
++ _ZN12ScreensModel13screenRemovedEP14PlatformScreen@Base 0.6.1
++ _ZN12ScreensModel13startRendererEv@Base 0.6.1
++ _ZN12ScreensModel14updateInternalEv@Base 0.7.1
++ _ZN12ScreensModel16findScreenWithIdERK5QListIP14PlatformScreenEN3mir10IntWrapperINS6_8graphics6detail23GraphicsConfOutputIdTagEiEE@Base 0.6.1
++ _ZN12ScreensModel16staticMetaObjectE@Base 0.6.1
++ _ZN12ScreensModel20onCompositorStartingEv@Base 0.6.1
++ _ZN12ScreensModel20onCompositorStoppingEv@Base 0.6.1
++ _ZN12ScreensModel23canUpdateExistingScreenEPK14PlatformScreenRKN3mir8graphics26DisplayConfigurationOutputE@Base 0.6.1
++ _ZN12ScreensModel4initERKSt10shared_ptrIN3mir8graphics7DisplayEERKS0_I12QtCompositorERKS0_IN6miroil22DisplayListenerWrapperEE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.8.0~git20230109.671f617# _ZN12ScreensModel4initERKSt10shared_ptrIN3mir8graphics7DisplayEERKS0_I12QtCompositorERKS0_INS1_10compositor15DisplayListenerEE@Base 0.6.1
++ _ZN12ScreensModel6updateEv@Base 0.6.1
++ _ZN12ScreensModel9terminateEv@Base 0.6.1
++ _ZN12ScreensModelC1EP7QObject@Base 0.6.1
++ _ZN12ScreensModelC2EP7QObject@Base 0.6.1
++ _ZN12ScreensModelD0Ev@Base 0.6.1
++ _ZN12ScreensModelD1Ev@Base 0.6.1
++ _ZN12ScreensModelD2Ev@Base 0.6.1
++ _ZN13QtEventFeeder11dispatchKeyEPK16MirKeyboardEvent@Base 0.6.1
++ _ZN13QtEventFeeder13dispatchTouchEPK13MirTouchEvent@Base 0.6.1
++ _ZN13QtEventFeeder13validateTouchERN22QWindowSystemInterface10TouchPointE@Base 0.6.1
++ _ZN13QtEventFeeder15dispatchPointerEPK15MirPointerEvent@Base 0.6.1
++ _ZN13QtEventFeeder15touchesToStringERK5QListIN22QWindowSystemInterface10TouchPointEE@Base 0.6.1
++ _ZN13QtEventFeeder15validateTouchesEP7QWindowmR5QListIN22QWindowSystemInterface10TouchPointEE@Base 0.6.1
++ _ZN13QtEventFeeder22sendActiveTouchReleaseEP7QWindowmi@Base 0.6.1
++ _ZN13QtEventFeeder5eventEP6QEvent@Base 0.6.1
++ _ZN13QtEventFeeder8dispatchERK8MirEvent@Base 0.6.1
++ _ZN13QtEventFeederC1EPNS_23QtWindowSystemInterfaceE@Base 0.6.1
++ _ZN13QtEventFeederC1Ev@Base 0.6.1
++ _ZN13QtEventFeederC2EPNS_23QtWindowSystemInterfaceE@Base 0.6.1
++ _ZN13QtEventFeederC2Ev@Base 0.6.1
++ _ZN13QtEventFeederD0Ev@Base 0.6.1
++ _ZN13QtEventFeederD1Ev@Base 0.6.1
++ _ZN13QtEventFeederD2Ev@Base 0.6.1
++ _ZN13ScreenAdaptor11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN13ScreenAdaptor11qt_metacastEPKc@Base 0.6.1
++ _ZN13ScreenAdaptor14availableModesEv@Base 0.6.1
++ _ZN13ScreenAdaptor16staticMetaObjectE@Base 0.6.1
++ _ZN13ScreenAdaptor17updateScreenModesEv@Base 0.6.1
++ _ZN13ScreenAdaptor18applyConfigurationEPN5qtmir19ScreenConfigurationE@Base 0.6.1
++ _ZN13ScreenAdaptor9setActiveEb@Base 0.6.1
++ _ZN13ScreenAdaptorC1EP7QScreenP7QObject@Base 0.6.1
++ _ZN13ScreenAdaptorC2EP7QScreenP7QObject@Base 0.6.1
++ _ZN13ScreenAdaptorD0Ev@Base 0.6.1
++ _ZN13ScreenAdaptorD1Ev@Base 0.6.1
++ _ZN13ScreenAdaptorD2Ev@Base 0.6.1
++ _ZN14PlatformScreen11customEventEP6QEvent@Base 0.6.1
++ _ZN14PlatformScreen11doneCurrentEv@Base 0.6.1
++ _ZN14PlatformScreen11makeCurrentEv@Base 0.6.1
++ _ZN14PlatformScreen11modeChangedEv@Base 0.6.1
++ _ZN14PlatformScreen11nameChangedEv@Base 0.6.1
++ _ZN14PlatformScreen11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN14PlatformScreen11qt_metacastEPKc@Base 0.6.1
++ _ZN14PlatformScreen11swapBuffersEv@Base 0.6.1
++ _ZN14PlatformScreen11usedChangedEv@Base 0.6.1
++ _ZN14PlatformScreen12removeWindowEP20ScreenPlatformWindow@Base 0.6.1
++ _ZN14PlatformScreen12scaleChangedEv@Base 0.6.1
++ _ZN14PlatformScreen13activeChangedEb@Base 0.6.1
++ _ZN14PlatformScreen14destroyWindowsEv@Base 0.7.1
++ _ZN14PlatformScreen15positionChangedEv@Base 0.6.1
++ _ZN14PlatformScreen16powerModeChangedEv@Base 0.6.1
++ _ZN14PlatformScreen16staticMetaObjectE@Base 0.6.1
++ _ZN14PlatformScreen17formFactorChangedEv@Base 0.6.1
++ _ZN14PlatformScreen17outputTypeChangedEv@Base 0.6.1
++ _ZN14PlatformScreen18orientationChangedEv@Base 0.6.1
++ _ZN14PlatformScreen19physicalSizeChangedEv@Base 0.6.1
++ _ZN14PlatformScreen19setMirDisplayBufferEPN3mir8graphics13DisplayBufferEPNS1_16DisplaySyncGroupE@Base 0.6.1
++ _ZN14PlatformScreen20primaryWindowChangedEP20ScreenPlatformWindow@Base 0.6.1
++ _ZN14PlatformScreen21availableModesChangedEv@Base 0.6.1
++ _ZN14PlatformScreen23currentModeIndexChangedEv@Base 0.6.1
++ _ZN14PlatformScreen24orientationSensorEnabledEv@Base 0.6.1
++ _ZN14PlatformScreen26setMirDisplayConfigurationERKN3mir8graphics26DisplayConfigurationOutputEb@Base 0.6.1
++ _ZN14PlatformScreen27onOrientationReadingChangedEN19QOrientationReading11OrientationE@Base 0.6.1
++ _ZN14PlatformScreen8activateEv@Base 0.6.1
++ _ZN14PlatformScreen9addWindowEP20ScreenPlatformWindow@Base 0.6.1
++ _ZN14PlatformScreen9setActiveEb@Base 0.6.1
++ _ZN14PlatformScreenC1ERKN3mir8graphics26DisplayConfigurationOutputESt10shared_ptrI17OrientationSensorE@Base 0.6.1
++ _ZN14PlatformScreenC2ERKN3mir8graphics26DisplayConfigurationOutputESt10shared_ptrI17OrientationSensorE@Base 0.6.1
++ _ZN14PlatformScreenD0Ev@Base 0.6.1
++ _ZN14PlatformScreenD1Ev@Base 0.6.1
++ _ZN14PlatformScreenD2Ev@Base 0.6.1
++ (optional=templinst)_ZN14QSharedPointerI10QMirServerED1Ev@Base 0.6.1
++ (optional=templinst)_ZN14QSharedPointerI10QMirServerED2Ev@Base 0.6.1
++ (optional=templinst)_ZN14QSharedPointerIN5qtmir7ScreensEE5derefEPN15QtSharedPointer20ExternalRefCountDataE@Base 0.6.1
++ _ZN15MirServerThread11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN15MirServerThread11qt_metacastEPKc@Base 0.6.1
++ _ZN15MirServerThread16staticMetaObjectE@Base 0.6.1
++ _ZN15MirServerThread17waitForMirStartupEv@Base 0.6.1
++ _ZN15MirServerThread3runEv@Base 0.6.1
++ _ZN15MirServerThread7stoppedEv@Base 0.6.1
++ _ZN15MirServerThreadD0Ev@Base 0.6.1
++ _ZN15MirServerThreadD1Ev@Base 0.6.1
++ _ZN15MirServerThreadD2Ev@Base 0.6.1
++ _ZN15NativeInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN15NativeInterface11qt_metacastEPKc@Base 0.6.1
++ _ZN15NativeInterface16staticMetaObjectE@Base 0.6.1
++ _ZN15NativeInterface17setWindowPropertyEP15QPlatformWindowRK7QStringRK8QVariant@Base 0.6.1
++ _ZN15NativeInterface23nativeResourceForScreenERK10QByteArrayP7QScreen@Base 0.7.1
++ _ZN15NativeInterface28nativeResourceForIntegrationERK10QByteArray@Base 0.6.1
++ _ZN15NativeInterfaceC1EP10QMirServer@Base 0.6.1
++ _ZN15NativeInterfaceC2EP10QMirServer@Base 0.6.1
++ _ZN15NativeInterfaceD0Ev@Base 0.6.1
++ _ZN15NativeInterfaceD1Ev@Base 0.6.1
++ _ZN15NativeInterfaceD2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN15QVarLengthArrayIcLi32EEC1Ei@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN15QVarLengthArrayIcLi32EEC2Ei@Base 0.6.1
++#MISSING: 0.6.1-8# _ZN15QtSharedPointer20ExternalRefCountDataD1Ev@Base 0.6.1
++#MISSING: 0.6.1-8# _ZN15QtSharedPointer20ExternalRefCountDataD2Ev@Base 0.6.1
++ (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterI10QMirServerNS_13NormalDeleterEE7deleterEPNS_20ExternalRefCountDataE@Base 0.6.1
++ (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterI17ScreensControllerNS_13NormalDeleterEE7deleterEPNS_20ExternalRefCountDataE@Base 0.6.1
++ (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterI18ScreenAdaptorModelNS_13NormalDeleterEE7deleterEPNS_20ExternalRefCountDataE@Base 0.6.1
++ (optional=templinst)_ZN15QtSharedPointer33ExternalRefCountWithCustomDeleterIN5qtmir6Cursor7PrivateENS_13NormalDeleterEE7deleterEPNS_20ExternalRefCountDataE@Base 0.6.1
++ _ZN15SurfaceObserver11nameChangedERK7QString@Base 0.6.1
++ _ZN15SurfaceObserver11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN15SurfaceObserver11qt_metacastEPKc@Base 0.6.1
++ _ZN15SurfaceObserver12framesPostedEv@Base 0.6.1
++ _ZN15SurfaceObserver13cursorChangedERK7QCursor@Base 0.6.1
++ _ZN15SurfaceObserver13hiddenChangedEb@Base 0.6.1
++ _ZN15SurfaceObserver16attributeChangedE15MirWindowAttribi@Base 0.6.1
++ _ZN15SurfaceObserver16staticMetaObjectE@Base 0.6.1
++ _ZN15SurfaceObserver18inputBoundsChangedERK5QRect@Base 0.6.1
++ _ZN15SurfaceObserver18observerForSurfaceEPKN3mir5scene7SurfaceE@Base 0.6.1
++ _ZN15SurfaceObserver18shellChromeChangedE14MirShellChrome@Base 0.6.1
++ _ZN15SurfaceObserver19maximumWidthChangedEi@Base 0.6.1
++ _ZN15SurfaceObserver19minimumWidthChangedEi@Base 0.6.1
++ _ZN15SurfaceObserver20maximumHeightChangedEi@Base 0.6.1
++ _ZN15SurfaceObserver20minimumHeightChangedEi@Base 0.6.1
++ _ZN15SurfaceObserver21widthIncrementChangedEi@Base 0.6.1
++ _ZN15SurfaceObserver22heightIncrementChangedEi@Base 0.6.1
++ _ZN15SurfaceObserver26notifySurfaceModificationsERKN5miral19WindowSpecificationE@Base 0.6.1
++ _ZN15SurfaceObserver26registerObserverForSurfaceEPS_PKN3mir5scene7SurfaceE@Base 0.6.1
++ _ZN15SurfaceObserver27confinesMousePointerChangedEb@Base 0.6.1
++ _ZN15SurfaceObserver7resizedERK5QSize@Base 0.6.1
++ _ZN15SurfaceObserverD0Ev@Base 0.6.1
++ _ZN15SurfaceObserverD1Ev@Base 0.6.1
++ _ZN15SurfaceObserverD2Ev@Base 0.6.1
++ _ZN16MirOpenGLContext11doneCurrentEv@Base 0.6.1
++ _ZN16MirOpenGLContext11makeCurrentEP16QPlatformSurface@Base 0.6.1
++ _ZN16MirOpenGLContext11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN16MirOpenGLContext11qt_metacastEPKc@Base 0.6.1
++ _ZN16MirOpenGLContext11swapBuffersEP16QPlatformSurface@Base 0.6.1
++ _ZN16MirOpenGLContext14getProcAddressEPKc@Base 0.6.1
++ _ZN16MirOpenGLContext16staticMetaObjectE@Base 0.6.1
++ _ZN16MirOpenGLContextC1ERN3mir8graphics7DisplayERNS1_8GLConfigERK14QSurfaceFormat@Base 0.6.1
++ _ZN16MirOpenGLContextC2ERN3mir8graphics7DisplayERNS1_8GLConfigERK14QSurfaceFormat@Base 0.6.1
++ _ZN16MirOpenGLContextD0Ev@Base 0.6.1
++ _ZN16MirOpenGLContextD1Ev@Base 0.6.1
++ _ZN16MirOpenGLContextD2Ev@Base 0.6.1
++ _ZN16OffscreenSurface9setBufferEP24QOpenGLFramebufferObject@Base 0.6.1
++ _ZN16OffscreenSurfaceC1EP17QOffscreenSurface@Base 0.6.1
++ _ZN16OffscreenSurfaceC2EP17QOffscreenSurface@Base 0.6.1
++ _ZN16OffscreenSurfaceD0Ev@Base 0.6.1
++ _ZN16OffscreenSurfaceD1Ev@Base 0.6.1
++ _ZN16OffscreenSurfaceD2Ev@Base 0.6.1
++ (optional=templinst)_ZN16QQmlListPropertyIN5qtmir10ScreenModeEE11qlist_clearEPS2_@Base 0.6.1
++ (optional=templinst)_ZN16QQmlListPropertyIN5qtmir10ScreenModeEE11qlist_countEPS2_@Base 0.6.1
++ _ZN16QQmlListPropertyIN5qtmir10ScreenModeEE11qslow_clearEPS2_@Base 0.6.1
++ (optional=templinst)_ZN16QQmlListPropertyIN5qtmir10ScreenModeEE12qlist_appendEPS2_PS1_@Base 0.6.1
++ _ZN16QQmlListPropertyIN5qtmir10ScreenModeEE13qslow_replaceEPS2_iPS1_@Base 0.6.1
++ _ZN16QQmlListPropertyIN5qtmir10ScreenModeEE16qslow_removeLastEPS2_@Base 0.6.1
++ (optional=templinst)_ZN16QQmlListPropertyIN5qtmir10ScreenModeEE8qlist_atEPS2_i@Base 0.6.1
++ _ZN17OrientationSensor11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN17OrientationSensor11qt_metacastEPKc@Base 0.6.1
++ _ZN17OrientationSensor13startIfNeededEv@Base 0.6.1
++ _ZN17OrientationSensor16staticMetaObjectE@Base 0.6.1
++ _ZN17OrientationSensor20onOrientationChangedEN19QOrientationReading11OrientationE@Base 0.6.1
++ _ZN17OrientationSensor20skipDBusRegistrationE@Base 0.6.1
++ _ZN17OrientationSensor26onDisplayPowerStateChangedEii@Base 0.6.1
++ _ZN17OrientationSensor4stopEv@Base 0.6.1
++ _ZN17OrientationSensor5startEv@Base 0.6.1
++ _ZN17OrientationSensor6enableEv@Base 0.6.1
++ _ZN17OrientationSensor7enabledEv@Base 0.6.1
++ _ZN17OrientationSensorC1EP7QObject@Base 0.6.1
++ _ZN17OrientationSensorC2EP7QObject@Base 0.6.1
++ _ZN17OrientationSensorD0Ev@Base 0.6.1
++ _ZN17OrientationSensorD1Ev@Base 0.6.1
++ _ZN17OrientationSensorD2Ev@Base 0.6.1
++ _ZN17QMirServerPrivate3runERKSt8functionIFvvEE@Base 0.6.1
++ _ZN17QMirServerPrivate4stopEv@Base 0.6.1
++ _ZN17QMirServerPrivateC1Ev@Base 0.6.1
++ _ZN17QMirServerPrivateC2Ev@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI6QFlagsIN2Qt11MouseButtonEELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI6QFlagsIN2Qt11MouseButtonEELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI6QFlagsIN2Qt16KeyboardModifierEELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperI6QFlagsIN2Qt16KeyboardModifierEELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN3Mir5StateELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN3Mir5StateELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5miral10WindowInfoELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5miral10WindowInfoELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5miral15ApplicationInfoELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5miral15ApplicationInfoELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5qtmir10FormFactorELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5qtmir10FormFactorELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5qtmir11OutputTypesELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5qtmir11OutputTypesELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5qtmir13PromptSessionELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5qtmir13PromptSessionELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5qtmir9NewWindowELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIN5qtmir9NewWindowELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP20ScreenPlatformWindowLb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIP20ScreenPlatformWindowLb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIPN5qtmir19ScreenConfigurationELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperIPN5qtmir19ScreenConfigurationELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperISt10shared_ptrIN3mir5scene7SessionEELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperISt10shared_ptrIN3mir5scene7SessionEELb1EE9ConstructEPvPKv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperISt6vectorIN5miral6WindowESaIS3_EELb1EE8DestructEPv@Base 0.6.1
++ (optional=templinst)_ZN17QtMetaTypePrivate23QMetaTypeFunctionHelperISt6vectorIN5miral6WindowESaIS3_EELb1EE9ConstructEPvPKv@Base 0.6.1
++ _ZN17ScreensController11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN17ScreensController11qt_metacastEPKc@Base 0.6.1
++ _ZN17ScreensController13configurationEv@Base 0.6.1
++ _ZN17ScreensController16setConfigurationERK7QVectorIN5qtmir19ScreenConfigurationEE@Base 0.6.1
++ _ZN17ScreensController16staticMetaObjectE@Base 0.6.1
++ _ZN17ScreensController19outputConfigurationEN3mir10IntWrapperINS0_8graphics6detail23GraphicsConfOutputIdTagEiEE@Base 0.6.1
++ _ZN17ScreensController22setOutputConfigurationERKN5qtmir19ScreenConfigurationE@Base 0.6.1
++ _ZN17ScreensControllerC1ERKSt10shared_ptrI12ScreensModelERKS0_IN3mir8graphics7DisplayEERKS0_INS5_5shell30DisplayConfigurationControllerEEP7QObject@Base 0.6.1
++ _ZN17ScreensControllerC2ERKSt10shared_ptrI12ScreensModelERKS0_IN3mir8graphics7DisplayEERKS0_INS5_5shell30DisplayConfigurationControllerEEP7QObject@Base 0.6.1
++ _ZN17ScreensControllerD0Ev@Base 0.6.1
++ _ZN17ScreensControllerD1Ev@Base 0.6.1
++ _ZN17ScreensControllerD2Ev@Base 0.6.1
++ (optional=templinst)_ZN18QMetaTypeIdQObjectIP20ScreenPlatformWindowLi8EE14qt_metatype_idEv@Base 0.6.1
++ _ZN18ScreenAdaptorModel13onScreenAddedEP7QScreen@Base 0.6.1
++ _ZN18ScreenAdaptorModel15onScreenRemovedEP7QScreen@Base 0.6.1
++ _ZN18ScreenAdaptorModelC1EP7QObject@Base 0.6.1
++ _ZN18ScreenAdaptorModelC2EP7QObject@Base 0.6.1
++ _ZN18ScreenAdaptorModelD0Ev@Base 0.6.1
++ _ZN18ScreenAdaptorModelD1Ev@Base 0.6.1
++ _ZN18ScreenAdaptorModelD2Ev@Base 0.6.1
++ _ZN19InitialSurfaceSizes14sizeForSessionE@Base 0.6.1
++ _ZN19InitialSurfaceSizes3getEi@Base 0.6.1
++ _ZN19InitialSurfaceSizes3setEiRK5QSize@Base 0.6.1
++ _ZN19InitialSurfaceSizes5mutexE@Base 0.6.1
++ _ZN19InitialSurfaceSizes6removeEi@Base 0.6.1
++ _ZN20ScreenPlatformWindow10setExposedEb@Base 0.6.1
++ _ZN20ScreenPlatformWindow10setPrimaryEb@Base 0.6.1
++ _ZN20ScreenPlatformWindow10setVisibleEb@Base 0.6.1
++ _ZN20ScreenPlatformWindow11doneCurrentEv@Base 0.6.1
++ _ZN20ScreenPlatformWindow11makeCurrentEv@Base 0.6.1
++ _ZN20ScreenPlatformWindow11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN20ScreenPlatformWindow11qt_metacastEPKc@Base 0.6.1
++ _ZN20ScreenPlatformWindow11setGeometryERK5QRect@Base 0.6.1
++ _ZN20ScreenPlatformWindow11swapBuffersEv@Base 0.6.1
++ _ZN20ScreenPlatformWindow12updateExposeEv@Base 0.6.1
++ _ZN20ScreenPlatformWindow16staticMetaObjectE@Base 0.6.1
++ _ZN20ScreenPlatformWindow21requestActivateWindowEv@Base 0.6.1
++ _ZN20ScreenPlatformWindow9setActiveEb@Base 0.6.1
++ _ZN20ScreenPlatformWindow9setScreenEP15QPlatformScreen@Base 0.6.1
++ _ZN20ScreenPlatformWindowC1EP7QWindowb@Base 0.6.1
++ _ZN20ScreenPlatformWindowC2EP7QWindowb@Base 0.6.1
++ _ZN20ScreenPlatformWindowD0Ev@Base 0.6.1
++ _ZN20ScreenPlatformWindowD1Ev@Base 0.6.1
++ _ZN20ScreenPlatformWindowD2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener11qt_metacastEPKc@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener16staticMetaObjectE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener19promptProviderAddedERKN5qtmir13PromptSessionERKSt10shared_ptrIN3mir5scene7SessionEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener21promptProviderRemovedERKN5qtmir13PromptSessionERKSt10shared_ptrIN3mir5scene7SessionEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener21promptSessionResumingERKN5qtmir13PromptSessionE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener21promptSessionStartingERKN5qtmir13PromptSessionE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener21promptSessionStoppingERKN5qtmir13PromptSessionE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListener23promptSessionSuspendingERKN5qtmir13PromptSessionE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListenerC1EP7QObject@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListenerC2EP7QObject@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListenerD0Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListenerD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN21PromptSessionListenerD2Ev@Base 0.6.1
++ _ZN23OrientationReadingEvent6m_typeE@Base 0.6.1
++ _ZN23OrientationReadingEventD0Ev@Base 0.6.1
++ _ZN23OrientationReadingEventD1Ev@Base 0.6.1
++ _ZN23OrientationReadingEventD2Ev@Base 0.6.1
++ _ZN24MirMousePointerInterface11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN24MirMousePointerInterface11qt_metacastEPKc@Base 0.6.1
++ _ZN24MirMousePointerInterface16staticMetaObjectE@Base 0.6.1
++ _ZN24MirMousePointerInterface16themeNameChangedE7QString@Base 0.6.1
++ _ZN24MirMousePointerInterface17cursorNameChangedE7QString@Base 0.6.1
++ _ZN24WrappedSessionAuthorizer21connection_is_allowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN24WrappedSessionAuthorizer21screencast_is_allowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN24WrappedSessionAuthorizer25prompt_session_is_allowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN24WrappedSessionAuthorizer26configure_input_is_allowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN24WrappedSessionAuthorizer28configure_display_is_allowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN24WrappedSessionAuthorizer39set_base_input_configuration_is_allowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN24WrappedSessionAuthorizer41set_base_display_configuration_is_allowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ (optional=templinst)_ZN24WrappedSessionAuthorizerC1ERKSt8functionIFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEE@Base 0.6.1
++ (optional=templinst)_ZN24WrappedSessionAuthorizerC2ERKSt8functionIFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEE@Base 0.6.1
++ _ZN24WrappedSessionAuthorizerD0Ev@Base 0.6.1
++ _ZN24WrappedSessionAuthorizerD1Ev@Base 0.6.1
++ _ZN24WrappedSessionAuthorizerD2Ev@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy10advise_endEv@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy10forceCloseERKN5miral6WindowE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy12advise_beginEv@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy12advise_raiseERKSt6vectorIN5miral6WindowESaIS2_EE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy12requestStateERKN5miral6WindowEN3Mir5StateE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN29WrappedWindowManagementPolicy13advise_resizeERKN5miral10WindowInfoERKN3mir8geometry4SizeE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy13advise_resizeERKN5miral10WindowInfoERKN3mir8geometry7generic4SizeIiEE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.8.0~git20230109.671f617# _ZN29WrappedWindowManagementPolicy14advise_move_toERKN5miral10WindowInfoEN3mir8geometry5PointE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy14advise_move_toERKN5miral10WindowInfoEN3mir8geometry7generic5PointIiEE@Base 0.8.0~git20230109.671f617
++ _ZN29WrappedWindowManagementPolicy14advise_new_appERN5miral15ApplicationInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy16place_new_windowERKN5miral15ApplicationInfoERKNS0_19WindowSpecificationE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy17advise_delete_appERKN5miral15ApplicationInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy17advise_focus_lostERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy17advise_new_windowERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy18handle_touch_eventEPK13MirTouchEvent@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy18set_window_marginsE13MirWindowTypeRK8QMargins@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy19advise_focus_gainedERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy19advise_state_changeERKN5miral10WindowInfoE14MirWindowState@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy19ask_client_to_closeERKN5miral6WindowE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy19deliver_touch_eventEPK13MirTouchEventRKN5miral6WindowE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy19handle_raise_windowERN5miral10WindowInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy19handle_request_moveERN5miral10WindowInfoEPK13MirInputEvent@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy19handle_window_readyERN5miral10WindowInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy20advise_delete_windowERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy20advise_output_createERKN5miral6OutputE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy20advise_output_deleteERKN5miral6OutputE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy20advise_output_updateERKN5miral6OutputES3_@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy20handle_modify_windowERN5miral10WindowInfoERKNS0_19WindowSpecificationE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy20handle_pointer_eventEPK15MirPointerEvent@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy21deliver_pointer_eventEPK15MirPointerEventRKN5miral6WindowE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy21handle_keyboard_eventEPK16MirKeyboardEvent@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy21handle_request_resizeERN5miral10WindowInfoEPK13MirInputEvent13MirResizeEdge@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN29WrappedWindowManagementPolicy22confirm_inherited_moveERKN5miral10WindowInfoEN3mir8geometry12DisplacementE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy22confirm_inherited_moveERKN5miral10WindowInfoEN3mir8geometry7generic12DisplacementIiEE@Base 0.8.0~git20230109.671f617
++ _ZN29WrappedWindowManagementPolicy22deliver_keyboard_eventEPK16MirKeyboardEventRKN5miral6WindowE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy24move_window_to_workspaceERKN5miral6WindowERKSt10shared_ptrINS0_9WorkspaceEE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy26advise_adding_to_workspaceERKSt10shared_ptrIN5miral9WorkspaceEERKSt6vectorINS1_6WindowESaIS7_EE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy28confirm_placement_on_displayERKN5miral10WindowInfoE14MirWindowStateRKN3mir8geometry7generic9RectangleIiEE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.8.0~git20230109.671f617# _ZN29WrappedWindowManagementPolicy28confirm_placement_on_displayERKN5miral10WindowInfoE14MirWindowStateRKN3mir8geometry9RectangleE@Base 0.6.1
++ (optional=templinst)_ZN29WrappedWindowManagementPolicy28for_each_window_in_workspaceERKSt10shared_ptrIN5miral9WorkspaceEERKSt8functionIFvRKNS1_6WindowEEE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy28handle_request_drag_and_dropERN5miral10WindowInfoE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy30advise_removing_from_workspaceERKSt10shared_ptrIN5miral9WorkspaceEERKSt6vectorINS1_6WindowESaIS7_EE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy30set_window_confinement_regionsERK7QVectorI5QRectE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy34move_worspace_content_to_workspaceERKSt10shared_ptrIN5miral9WorkspaceEES5_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN29WrappedWindowManagementPolicy4moveERKN5miral6WindowEN3mir8geometry5PointE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy4moveERKN5miral6WindowEN3mir8geometry7generic5PointIiEE@Base 0.8.0~git20230109.671f617
++ _ZN29WrappedWindowManagementPolicy5raiseERKN5miral6WindowE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN29WrappedWindowManagementPolicy6resizeERKN5miral6WindowEN3mir8geometry4SizeE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicy6resizeERKN5miral6WindowEN3mir8geometry7generic4SizeIiEE@Base 0.8.0~git20230109.671f617
++ _ZN29WrappedWindowManagementPolicy8activateERKN5miral6WindowE@Base 0.6.1
++ (optional=templinst)_ZN29WrappedWindowManagementPolicyC1ERKN5miral18WindowManagerToolsERN5qtmir19WindowModelNotifierERNS4_16WindowControllerERNS4_19WorkspaceControllerERNS4_11AppNotifierESt10shared_ptrI12ScreensModelERKSD_I13QtEventFeederERKSt8functionIFSD_INS4_22WindowManagementPolicyEES3_SD_INS4_29WindowManagementPolicyPrivateEEEE@Base 0.6.1
++ (optional=templinst)_ZN29WrappedWindowManagementPolicyC2ERKN5miral18WindowManagerToolsERN5qtmir19WindowModelNotifierERNS4_16WindowControllerERNS4_19WorkspaceControllerERNS4_11AppNotifierESt10shared_ptrI12ScreensModelERKSD_I13QtEventFeederERKSt8functionIFSD_INS4_22WindowManagementPolicyEES3_SD_INS4_29WindowManagementPolicyPrivateEEEE@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicyD0Ev@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicyD1Ev@Base 0.6.1
++ _ZN29WrappedWindowManagementPolicyD2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver11qt_metacastEPKc@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver16staticMetaObjectE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver20configurationAppliedERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver20configuration_failedERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEERKSt9exception@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver20initialConfigurationERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver21configuration_appliedERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver21initial_configurationERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver24baseConfigurationUpdatedERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver26base_configuration_updatedERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver29session_configuration_appliedERKSt10shared_ptrIN3mir5scene7SessionEERKS0_INS1_8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver29session_configuration_removedERKSt10shared_ptrIN3mir5scene7SessionEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver32catastrophic_configuration_errorERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEERKSt9exception@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserver33configuration_updated_for_sessionERKSt10shared_ptrIN3mir5scene7SessionEERKS0_IKNS1_8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserverC1EP7QObject@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserverC2EP7QObject@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserverD0Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserverD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN31MirDisplayConfigurationObserverD2Ev@Base 0.6.1
++ _ZN3Mir11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN3Mir11qt_metacastEPKc@Base 0.6.1
++ _ZN3Mir16staticMetaObjectE@Base 0.6.1
++ _ZN3Mir17cursorNameChangedERK7QString@Base 0.6.1
++ _ZN3Mir20currentKeymapChangedERK7QString@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN3mir5input6KeymapD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN3mir5input6KeymapD2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN3mir8graphics11GammaCurvesD1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN3mir8graphics11GammaCurvesD2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN3mir8graphics26DisplayConfigurationOutputC1ERKS1_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN3mir8graphics26DisplayConfigurationOutputC2ERKS1_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN3mir8graphics26DisplayConfigurationOutputD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN3mir8graphics26DisplayConfigurationOutputD2Ev@Base 0.6.1
++ (optional=templinst)_ZN4QMapIi5QSizeE13detach_helperEv@Base 0.6.1
++ (optional=templinst)_ZN4QMapIi5QSizeED1Ev@Base 0.6.1
++ (optional=templinst)_ZN4QMapIi5QSizeED2Ev@Base 0.6.1
++ (optional=templinst)_ZN4QMapIi7QStringE13detach_helperEv@Base 0.6.1
++ (optional=templinst)_ZN4QMapIi7QStringEixERKi@Base 0.6.1
++ (optional=templinst)_ZN5QHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEE11deleteNode2EPN9QHashData4NodeE@Base 0.6.1
++ (optional=templinst)_ZN5QHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEE13detach_helperEv@Base 0.6.1
++ (optional=templinst)_ZN5QHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEE13duplicateNodeEPN9QHashData4NodeEPv@Base 0.6.1
++ (optional=templinst)_ZN5QHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEE5eraseENS6_14const_iteratorE@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QHashIP20ScreenPlatformWindowP14PlatformScreenE11deleteNode2EPN9QHashData4NodeE@Base 0.6.1
++ (optional=templinst)_ZN5QHashIP20ScreenPlatformWindowP14PlatformScreenE13duplicateNodeEPN9QHashData4NodeEPv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIP20ScreenPlatformWindowP14PlatformScreenED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIP20ScreenPlatformWindowP14PlatformScreenED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene13PromptSessionEN5qtmir13PromptSessionEE11deleteNode2EPN9QHashData4NodeE@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene13PromptSessionEN5qtmir13PromptSessionEE13detach_helperEv@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene13PromptSessionEN5qtmir13PromptSessionEE13duplicateNodeEPN9QHashData4NodeEPv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN5QHashIPKN3mir5scene13PromptSessionEN5qtmir13PromptSessionEE6removeERKS4_@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIPKN3mir5scene13PromptSessionEN5qtmir13PromptSessionEED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIPKN3mir5scene13PromptSessionEN5qtmir13PromptSessionEED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN5QHashIPKN3mir5scene13PromptSessionEN5qtmir13PromptSessionEEixERKS4_@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene7SurfaceEP15SurfaceObserverE11deleteNode2EPN9QHashData4NodeE@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene7SurfaceEP15SurfaceObserverE13detach_helperEv@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene7SurfaceEP15SurfaceObserverE13duplicateNodeEPN9QHashData4NodeEPv@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene7SurfaceEP15SurfaceObserverE5eraseENS7_14const_iteratorE@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene7SurfaceEP15SurfaceObserverED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QHashIPKN3mir5scene7SurfaceEP15SurfaceObserverED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QHashIi15QHashDummyValueE11deleteNode2EPN9QHashData4NodeE@Base 0.6.1
++ (optional=templinst)_ZN5QHashIi15QHashDummyValueE13duplicateNodeEPN9QHashData4NodeEPv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIi15QHashDummyValueED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIi15QHashDummyValueED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QHashIiN22QWindowSystemInterface10TouchPointEE11deleteNode2EPN9QHashData4NodeE@Base 0.6.1
++ (optional=templinst)_ZN5QHashIiN22QWindowSystemInterface10TouchPointEE13detach_helperEv@Base 0.6.1
++ (optional=templinst)_ZN5QHashIiN22QWindowSystemInterface10TouchPointEE13duplicateNodeEPN9QHashData4NodeEPv@Base 0.6.1
++ (optional=templinst)_ZN5QHashIiN22QWindowSystemInterface10TouchPointEE5eraseENS2_14const_iteratorE@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIiN22QWindowSystemInterface10TouchPointEED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN5QHashIiN22QWindowSystemInterface10TouchPointEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListI5QPairId5QSizeEE18detach_helper_growEii@Base 0.6.1
++ (optional=templinst)_ZN5QListI5QPairId5QSizeEE6appendERKS2_@Base 0.6.1
++ (optional=templinst)_ZN5QListI5QPairId5QSizeEEC1ERKS3_@Base 0.6.1
++ (optional=templinst)_ZN5QListI5QPairId5QSizeEEC2ERKS3_@Base 0.6.1
++ (optional=templinst)_ZN5QListI5QPairId5QSizeEED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListI5QPairId5QSizeEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListI7QStringED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListI7QStringED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIN22QWindowSystemInterface10TouchPointEE13detach_helperEi@Base 0.6.1
++ (optional=templinst)_ZN5QListIN22QWindowSystemInterface10TouchPointEE18detach_helper_growEii@Base 0.6.1
++ (optional=templinst)_ZN5QListIN22QWindowSystemInterface10TouchPointEE6appendERKS1_@Base 0.6.1
++ (optional=templinst)_ZN5QListIN22QWindowSystemInterface10TouchPointEED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIN22QWindowSystemInterface10TouchPointEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIP14PlatformScreenE18detach_helper_growEii@Base 0.6.1
++ (optional=templinst)_ZN5QListIP14PlatformScreenE6appendERKS1_@Base 0.6.1
++ (optional=templinst)_ZN5QListIP14PlatformScreenEC1ERKS2_@Base 0.6.1
++ (optional=templinst)_ZN5QListIP14PlatformScreenEC2ERKS2_@Base 0.6.1
++ (optional=templinst)_ZN5QListIP14PlatformScreenED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIP14PlatformScreenED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIP7QScreenED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIP7QScreenED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIP7QWindowEC1ERKS2_@Base 0.6.1
++ (optional=templinst)_ZN5QListIP7QWindowEC2ERKS2_@Base 0.6.1
++ (optional=templinst)_ZN5QListIP7QWindowED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIP7QWindowED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir10ScreenModeEE18detach_helper_growEii@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir10ScreenModeEE6appendERKS2_@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir10ScreenModeEED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir10ScreenModeEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir22WindowNotifierObserverEE18detach_helper_growEii@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir22WindowNotifierObserverEE6appendERKS2_@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir22WindowNotifierObserverEEC1ERKS3_@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir22WindowNotifierObserverEEC2ERKS3_@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir22WindowNotifierObserverEED1Ev@Base 0.6.1
++ (optional=templinst)_ZN5QListIPN5qtmir22WindowNotifierObserverEED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral15GLTextureBuffer10setWrappedERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral15GLTextureBuffer4typeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral15GLTextureBuffer8tex_bindEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral15GLTextureBufferC1ERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral15GLTextureBufferC2ERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfig4Self26base_configuration_updatedERKSt10shared_ptrIKN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfig4Self29session_configuration_appliedERKSt10shared_ptrIN3mir5scene7SessionEERKS2_INS3_8graphics20DisplayConfigurationEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfig4Self29session_configuration_removedERKSt10shared_ptrIN3mir5scene7SessionEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfig4SelfD0Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfig4SelfD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfig4SelfD2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfigC1ERKS0_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN5miral20PersistDisplayConfigC1ERKSt10shared_ptrINS_27DisplayConfigurationStorageEERKSt8functionIFS1_INS_26DisplayConfigurationPolicyEEvEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfigC2ERKS0_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN5miral20PersistDisplayConfigC2ERKSt10shared_ptrINS_27DisplayConfigurationStorageEERKSt8functionIFS1_INS_26DisplayConfigurationPolicyEEvEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfigD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfigD2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfigaSERKS0_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral20PersistDisplayConfigclERN3mir6ServerE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral21GLTextureSourceBuffer10setWrappedERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral21GLTextureSourceBuffer17upload_to_textureEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral21GLTextureSourceBuffer4typeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral21GLTextureSourceBufferC1ERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral21GLTextureSourceBufferC2ERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral26DisplayConfigurationPolicyC1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral26DisplayConfigurationPolicyC2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral4Edid10parse_dataERKSt6vectorIhSaIhEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral8GLBuffer10setWrappedERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.7.0
++#MISSING: 0.7.0# _ZN5miral8GLBuffer15bind_to_textureEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral8GLBuffer15from_mir_bufferERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.7.0
++#MISSING: 0.7.0# _ZN5miral8GLBuffer17secure_for_renderEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral8GLBuffer5emptyEv@Base 0.7.0
++#MISSING: 0.7.0# _ZN5miral8GLBuffer5resetERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral8GLBuffer5resetEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral8GLBufferC1ERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.6.1
++#MISSING: 0.7.0# _ZN5miral8GLBufferC1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral8GLBufferC2ERKSt10shared_ptrIN3mir8graphics6BufferEE@Base 0.6.1
++#MISSING: 0.7.0# _ZN5miral8GLBufferC2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral8GLBufferD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5miral8GLBufferD2Ev@Base 0.6.1
++ _ZN5qtmir10ScreenMode11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir10ScreenMode11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir10ScreenMode16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir10ScreenModeD0Ev@Base 0.6.1
++ _ZN5qtmir10ScreenModeD1Ev@Base 0.6.1
++ _ZN5qtmir10ScreenModeD2Ev@Base 0.6.1
++ _ZN5qtmir11AppNotifier10appRemovedERKN5miral15ApplicationInfoE@Base 0.6.1
++ _ZN5qtmir11AppNotifier11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir11AppNotifier11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir11AppNotifier16appCreatedWindowERKN5miral15ApplicationInfoE@Base 0.6.1
++ _ZN5qtmir11AppNotifier16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir11AppNotifier8appAddedERKN5miral15ApplicationInfoE@Base 0.6.1
++ _ZN5qtmir11AppNotifierD0Ev@Base 0.6.1
++ _ZN5qtmir11AppNotifierD1Ev@Base 0.6.1
++ _ZN5qtmir11AppNotifierD2Ev@Base 0.6.1
++ _ZN5qtmir11NamedCursorD0Ev@Base 0.6.1
++ _ZN5qtmir11NamedCursorD1Ev@Base 0.6.1
++ _ZN5qtmir11NamedCursorD2Ev@Base 0.6.1
++ _ZN5qtmir12EventBuilder10m_instanceE@Base 0.6.1
++ _ZN5qtmir12EventBuilder12makeMirEventE6QFlagsIN2Qt16KeyboardModifierEERK5QListIN11QTouchEvent10TouchPointEES1_INS2_15TouchPointStateEEm@Base 0.6.1
++ _ZN5qtmir12EventBuilder12makeMirEventEP11QInputEventiij@Base 0.6.1
++ _ZN5qtmir12EventBuilder12makeMirEventEP11QWheelEvent@Base 0.6.1
++ _ZN5qtmir12EventBuilder12makeMirEventEP9QKeyEvent@Base 0.6.1
++ _ZN5qtmir12EventBuilder19reconstructMirEventEP11QHoverEvent@Base 0.6.1
++ _ZN5qtmir12EventBuilder19reconstructMirEventEP11QMouseEvent@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir12EventBuilder5storeEPK13MirInputEventm@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir12EventBuilder8findInfoEm@Base 0.6.1
++ _ZN5qtmir12EventBuilder8instanceEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir12EventBuilder9EventInfo5storeEPK13MirInputEventm@Base 0.6.1
++ _ZN5qtmir12EventBuilderC1Ev@Base 0.6.1
++ _ZN5qtmir12EventBuilderC2Ev@Base 0.6.1
++ _ZN5qtmir12EventBuilderD0Ev@Base 0.6.1
++ _ZN5qtmir12EventBuilderD1Ev@Base 0.6.1
++ _ZN5qtmir12EventBuilderD2Ev@Base 0.6.1
++ _ZN5qtmir12getExtraInfoERKN5miral10WindowInfoE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir14MirServerHooks25createInputDeviceObserverEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir14MirServerHooksC1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir14MirServerHooksC2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir14MirServerHooksclERN3mir6ServerE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15MirCursorImages5imageERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKN3mir8geometry4SizeE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15MirCursorImagesD0Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15MirCursorImagesD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15MirCursorImagesD2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15SetQtCompositorC1ERKSt10shared_ptrI12ScreensModelE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15SetQtCompositorC2ERKSt10shared_ptrI12ScreensModelE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15SetQtCompositorD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15SetQtCompositorD2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir15SetQtCompositorclERN3mir6ServerE@Base 0.6.1
++ _ZN5qtmir16WindowController10forceCloseERKN5miral6WindowE@Base 0.6.1
++ _ZN5qtmir16WindowController12requestCloseERKN5miral6WindowE@Base 0.6.1
++ _ZN5qtmir16WindowController12requestStateERKN5miral6WindowEN3Mir5StateE@Base 0.6.1
++ _ZN5qtmir16WindowController16setWindowMarginsEN3Mir4TypeERK8QMargins@Base 0.6.1
++ _ZN5qtmir16WindowController17deliverTouchEventERKN5miral6WindowEPK13MirTouchEvent@Base 0.6.1
++ _ZN5qtmir16WindowController19deliverPointerEventERKN5miral6WindowEPK15MirPointerEvent@Base 0.6.1
++ _ZN5qtmir16WindowController20deliverKeyboardEventERKN5miral6WindowEPK16MirKeyboardEvent@Base 0.6.1
++ _ZN5qtmir16WindowController27setWindowConfinementRegionsERK7QVectorI5QRectE@Base 0.6.1
++ _ZN5qtmir16WindowController4moveERKN5miral6WindowERK6QPoint@Base 0.6.1
++ _ZN5qtmir16WindowController5raiseERKN5miral6WindowE@Base 0.6.1
++ _ZN5qtmir16WindowController6resizeERKN5miral6WindowERK5QSize@Base 0.6.1
++ _ZN5qtmir16WindowController8activateERKN5miral6WindowE@Base 0.6.1
++ _ZN5qtmir16WindowController9setPolicyEP29WrappedWindowManagementPolicy@Base 0.6.1
++ _ZN5qtmir16WindowControllerC1Ev@Base 0.6.1
++ _ZN5qtmir16WindowControllerC2Ev@Base 0.6.1
++ _ZN5qtmir16WindowControllerD0Ev@Base 0.6.1
++ _ZN5qtmir16WindowControllerD1Ev@Base 0.6.1
++ _ZN5qtmir16WindowControllerD2Ev@Base 0.6.1
++ _ZN5qtmir16get_screen_modelEv@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer19connectionIsAllowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer19screencastIsAllowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer22promptSessionIsAllowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer23configureInputIsAllowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer25configureDisplayIsAllowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer30requestAuthorizationForSessionERKiRb@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer34setBaseInputConfigurationIsAllowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizer36setBaseDisplayConfigurationIsAllowedERKN5miral22ApplicationCredentialsE@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizerC1Ev@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizerC2Ev@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizerD0Ev@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizerD1Ev@Base 0.6.1
++ _ZN5qtmir17SessionAuthorizerD2Ev@Base 0.6.1
++ (optional=templinst|arch=armel armhf m68k)_ZN5qtmir17compressTimestampINSt6chrono8durationImSt5ratioILx1ELx1000EEEEEET_NS2_IxS3_ILx1ELx1000000000EEEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir18dispatchInputEventERKN5miral6WindowEPK13MirInputEvent@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier11windowAddedERKNS_9NewWindowE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier11windowMovedERKN5miral10WindowInfoE6QPoint@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier11windowReadyERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier13windowRemovedERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier13windowResizedERKN5miral10WindowInfoE5QSize@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier13windowsRaisedERKSt6vectorIN5miral6WindowESaIS3_EE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier18modificationsEndedEv@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier18windowFocusChangedERKN5miral10WindowInfoEb@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier18windowStateChangedERKN5miral10WindowInfoEN3Mir5StateE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier20modificationsStartedEv@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier20windowRequestedRaiseERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier23windowsAddedToWorkspaceERKSt10shared_ptrIN5miral9WorkspaceEERKSt6vectorINS2_6WindowESaIS8_EE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifier36windowsAboutToBeRemovedFromWorkspaceERKSt10shared_ptrIN5miral9WorkspaceEERKSt6vectorINS2_6WindowESaIS8_EE@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifierC1Ev@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifierC2Ev@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifierD0Ev@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifierD1Ev@Base 0.6.1
++ _ZN5qtmir19WindowModelNotifierD2Ev@Base 0.6.1
++ _ZN5qtmir19WorkspaceController21moveWindowToWorkspaceERKN5miral6WindowERKSt10shared_ptrINS1_9WorkspaceEE@Base 0.6.1
++ (optional=templinst)_ZN5qtmir19WorkspaceController24forEachWindowInWorkspaceERKSt10shared_ptrIN5miral9WorkspaceEERKSt8functionIFvRKNS2_6WindowEEE@Base 0.6.1
++ _ZN5qtmir19WorkspaceController31moveWorkspaceContentToWorkspaceERKSt10shared_ptrIN5miral9WorkspaceEES6_@Base 0.6.1
++ _ZN5qtmir19WorkspaceController9setPolicyEP29WrappedWindowManagementPolicy@Base 0.6.1
++ _ZN5qtmir19WorkspaceControllerC1Ev@Base 0.6.1
++ _ZN5qtmir19WorkspaceControllerC2Ev@Base 0.6.1
++ _ZN5qtmir19WorkspaceControllerD0Ev@Base 0.6.1
++ _ZN5qtmir19WorkspaceControllerD1Ev@Base 0.6.1
++ _ZN5qtmir19WorkspaceControllerD2Ev@Base 0.6.1
++ _ZN5qtmir20MirServerApplication11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir20MirServerApplication11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir20MirServerApplication16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir20MirServerApplication22screenAboutToBeRemovedEP7QScreen@Base 0.6.1
++ _ZN5qtmir20MirServerApplicationC1ERiPPcSt16initializer_listISt8functionIFvR10QMirServerEEE@Base 0.6.1
++ _ZN5qtmir20MirServerApplicationC2ERiPPcSt16initializer_listISt8functionIFvR10QMirServerEEE@Base 0.6.1
++ _ZN5qtmir20MirServerApplicationD0Ev@Base 0.6.1
++ _ZN5qtmir20MirServerApplicationD1Ev@Base 0.6.1
++ _ZN5qtmir20MirServerApplicationD2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir20OpenGLContextFactoryC1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir20OpenGLContextFactoryC2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir20OpenGLContextFactoryclERN3mir6ServerE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir20PromptSessionManagerC1ERKSt10shared_ptrIN3mir5scene20PromptSessionManagerEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir20PromptSessionManagerC2ERKSt10shared_ptrIN3mir5scene20PromptSessionManagerEE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir20PromptSessionManagerD0Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir20PromptSessionManagerD1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir20PromptSessionManagerD2Ev@Base 0.6.1
++ _ZN5qtmir21PromptSessionListener10suspendingERKSt10shared_ptrIN3mir5scene13PromptSessionEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener11qt_metacastEPKc@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener16staticMetaObjectE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener19promptProviderAddedERKNS_13PromptSessionERKSt10shared_ptrIN3mir5scene7SessionEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener21promptProviderRemovedERKNS_13PromptSessionERKSt10shared_ptrIN3mir5scene7SessionEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener21promptSessionResumingERKNS_13PromptSessionE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener21promptSessionStartingERKNS_13PromptSessionE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener21promptSessionStoppingERKNS_13PromptSessionE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener21prompt_provider_addedERKN3mir5scene13PromptSessionERKSt10shared_ptrINS2_7SessionEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener23promptSessionSuspendingERKNS_13PromptSessionE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener23prompt_provider_removedERKN3mir5scene13PromptSessionERKSt10shared_ptrINS2_7SessionEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener8resumingERKSt10shared_ptrIN3mir5scene13PromptSessionEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener8startingERKSt10shared_ptrIN3mir5scene13PromptSessionEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListener8stoppingERKSt10shared_ptrIN3mir5scene13PromptSessionEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListenerC1EP7QObject@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListenerC2EP7QObject@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListenerD0Ev@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListenerD1Ev@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir21PromptSessionListenerD2Ev@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir22MirInputDeviceObserver11applyKeymapEN6miroil11InputDeviceE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir22MirInputDeviceObserver11applyKeymapERKSt10shared_ptrIN3mir5input6DeviceEE@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserver11applyKeymapEv@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserver11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserver11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserver12device_addedEN6miroil11InputDeviceE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir22MirInputDeviceObserver14device_removedEN6miroil11InputDeviceE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir22MirInputDeviceObserver16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserver9setKeymapERK7QString@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserverC1EP7QObject@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserverC2EP7QObject@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserverD0Ev@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserverD1Ev@Base 0.6.1
++ _ZN5qtmir22MirInputDeviceObserverD2Ev@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy10advise_endEv@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy12advise_beginEv@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy12advise_raiseERKSt6vectorIN5miral6WindowESaIS3_EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir22WindowManagementPolicy13advise_resizeERKN5miral10WindowInfoERKN3mir8geometry4SizeE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy13advise_resizeERKN5miral10WindowInfoERKN3mir8geometry7generic4SizeIiEE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir22WindowManagementPolicy14advise_move_toERKN5miral10WindowInfoEN3mir8geometry5PointE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy14advise_move_toERKN5miral10WindowInfoEN3mir8geometry7generic5PointIiEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir22WindowManagementPolicy14advise_new_appERN5miral15ApplicationInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy16place_new_windowERKN5miral15ApplicationInfoERKNS1_19WindowSpecificationE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy17advise_delete_appERKN5miral15ApplicationInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy17advise_focus_lostERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy17advise_new_windowERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy18handle_touch_eventEPK13MirTouchEvent@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy19advise_focus_gainedERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy19advise_state_changeERKN5miral10WindowInfoE14MirWindowState@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy19handle_raise_windowERN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy19handle_request_moveERN5miral10WindowInfoEPK13MirInputEvent@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy19handle_window_readyERN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy20advise_delete_windowERKN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy20advise_output_createERKN5miral6OutputE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy20advise_output_deleteERKN5miral6OutputE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy20advise_output_updateERKN5miral6OutputES4_@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy20handle_modify_windowERN5miral10WindowInfoERKNS1_19WindowSpecificationE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy20handle_pointer_eventEPK15MirPointerEvent@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy21handle_keyboard_eventEPK16MirKeyboardEvent@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy21handle_request_resizeERN5miral10WindowInfoEPK13MirInputEvent13MirResizeEdge@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir22WindowManagementPolicy22confirm_inherited_moveERKN5miral10WindowInfoEN3mir8geometry12DisplacementE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy22confirm_inherited_moveERKN5miral10WindowInfoEN3mir8geometry7generic12DisplacementIiEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir22WindowManagementPolicy26advise_adding_to_workspaceERKSt10shared_ptrIN5miral9WorkspaceEERKSt6vectorINS2_6WindowESaIS8_EE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy28confirm_placement_on_displayERKN5miral10WindowInfoE14MirWindowStateRKN3mir8geometry7generic9RectangleIiEE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.8.0~git20230109.671f617# _ZN5qtmir22WindowManagementPolicy28confirm_placement_on_displayERKN5miral10WindowInfoE14MirWindowStateRKN3mir8geometry9RectangleE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy28handle_request_drag_and_dropERN5miral10WindowInfoE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicy30advise_removing_from_workspaceERKSt10shared_ptrIN5miral9WorkspaceEERKSt6vectorINS2_6WindowESaIS8_EE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicyC1ERKN5miral18WindowManagerToolsESt10shared_ptrINS_29WindowManagementPolicyPrivateEE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicyC2ERKN5miral18WindowManagerToolsESt10shared_ptrINS_29WindowManagementPolicyPrivateEE@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicyD0Ev@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicyD1Ev@Base 0.6.1
++ _ZN5qtmir22WindowManagementPolicyD2Ev@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver11windowMovedERK6QPoint@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver11windowReadyEv@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver13windowCreatedEv@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver13windowRemovedEv@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver13windowResizedERK5QSize@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver18windowFocusChangedEb@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver18windowStateChangedEN3Mir5StateE@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver20windowRequestedRaiseEv@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserver24foreachObserverForWindowERKN5miral6WindowESt8functionIFvPS0_EE@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserverC1ERKN5miral6WindowE@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserverC2ERKN5miral6WindowE@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserverD0Ev@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserverD1Ev@Base 0.6.1
++ _ZN5qtmir22WindowNotifierObserverD2Ev@Base 0.6.1
++ (optional=templinst)_ZN5qtmir25BasicSetSessionAuthorizerC1ERKSt8functionIFSt10shared_ptrINS_17SessionAuthorizerEEvEE@Base 0.6.1
++ (optional=templinst)_ZN5qtmir25BasicSetSessionAuthorizerC2ERKSt8functionIFSt10shared_ptrINS_17SessionAuthorizerEEvEE@Base 0.6.1
++ _ZN5qtmir25BasicSetSessionAuthorizerclER10QMirServer@Base 0.6.1
++ _ZN5qtmir26DisplayConfigurationPolicy8apply_toERN3mir8graphics20DisplayConfigurationE@Base 0.6.1
++ _ZN5qtmir26DisplayConfigurationPolicyC1Ev@Base 0.6.1
++ _ZN5qtmir26DisplayConfigurationPolicyC2Ev@Base 0.6.1
++ _ZN5qtmir26DisplayConfigurationPolicyD0Ev@Base 0.6.1
++ _ZN5qtmir26DisplayConfigurationPolicyD1Ev@Base 0.6.1
++ _ZN5qtmir26DisplayConfigurationPolicyD2Ev@Base 0.6.1
++ (optional=templinst)_ZN5qtmir30BasicSetWindowManagementPolicyC1ERKSt8functionIFSt10shared_ptrINS_22WindowManagementPolicyEERKN5miral18WindowManagerToolsES2_INS_29WindowManagementPolicyPrivateEEEE@Base 0.6.1
++ (optional=templinst)_ZN5qtmir30BasicSetWindowManagementPolicyC2ERKSt8functionIFSt10shared_ptrINS_22WindowManagementPolicyEERKN5miral18WindowManagerToolsES2_INS_29WindowManagementPolicyPrivateEEEE@Base 0.6.1
++ _ZN5qtmir30BasicSetWindowManagementPolicyclER10QMirServer@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN5qtmir34BasicSetDisplayConfigurationPolicyC1ERKSt8functionIFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvEE@Base 0.6.1
++ (optional=templinst)_ZN5qtmir34BasicSetDisplayConfigurationPolicyC1ERKSt8functionIFSt10shared_ptrIN6miroil26DisplayConfigurationPolicyEERKS2_IN3mir8graphics26DisplayConfigurationPolicyEEEE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN5qtmir34BasicSetDisplayConfigurationPolicyC2ERKSt8functionIFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvEE@Base 0.6.1
++ (optional=templinst)_ZN5qtmir34BasicSetDisplayConfigurationPolicyC2ERKSt8functionIFSt10shared_ptrIN6miroil26DisplayConfigurationPolicyEERKS2_IN3mir8graphics26DisplayConfigurationPolicyEEEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir34BasicSetDisplayConfigurationPolicyclER10QMirServer@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN5qtmir35BasicSetDisplayConfigurationStorageC1ERKSt8functionIFSt10shared_ptrIN5miral27DisplayConfigurationStorageEEvEE@Base 0.6.1
++ (optional=templinst)_ZN5qtmir35BasicSetDisplayConfigurationStorageC1ERKSt8functionIFSt10shared_ptrIN6miroil27DisplayConfigurationStorageEEvEE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN5qtmir35BasicSetDisplayConfigurationStorageC2ERKSt8functionIFSt10shared_ptrIN5miral27DisplayConfigurationStorageEEvEE@Base 0.6.1
++ (optional=templinst)_ZN5qtmir35BasicSetDisplayConfigurationStorageC2ERKSt8functionIFSt10shared_ptrIN6miroil27DisplayConfigurationStorageEEvEE@Base 0.8.0~git20230109.671f617
++ _ZN5qtmir35BasicSetDisplayConfigurationStorageclER10QMirServer@Base 0.6.1
++ _ZN5qtmir3Mir10m_instanceE@Base 0.6.1
++ _ZN5qtmir3Mir11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir3Mir11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir3Mir13setCursorNameERK7QString@Base 0.6.1
++ _ZN5qtmir3Mir16setCurrentKeymapERK7QString@Base 0.6.1
++ _ZN5qtmir3Mir16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir3Mir8instanceEv@Base 0.6.1
++ _ZN5qtmir3MirC1Ev@Base 0.6.1
++ _ZN5qtmir3MirC2Ev@Base 0.6.1
++ _ZN5qtmir3MirD0Ev@Base 0.6.1
++ _ZN5qtmir3MirD1Ev@Base 0.6.1
++ _ZN5qtmir3MirD2Ev@Base 0.6.1
++ _ZN5qtmir6Cursor11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir6Cursor11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir6Cursor12changeCursorEP7QCursorP7QWindow@Base 0.6.1
++ _ZN5qtmir6Cursor12pointerEventERK11QMouseEvent@Base 0.6.1
++ _ZN5qtmir6Cursor16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir6Cursor20registerMousePointerEP24MirMousePointerInterface@Base 0.6.1
++ _ZN5qtmir6Cursor22unregisterMousePointerEP24MirMousePointerInterface@Base 0.6.1
++ _ZN5qtmir6Cursor6setPosERK6QPoint@Base 0.6.1
++ _ZN5qtmir6Cursor7Private11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir6Cursor7Private11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir6Cursor7Private13cursorChangedERK7QCursorRK7QString@Base 0.6.1
++ _ZN5qtmir6Cursor7Private15setCustomCursorEP7QCursorRK7QString@Base 0.6.1
++ _ZN5qtmir6Cursor7Private16setMirCursorNameERK7QString@Base 0.6.1
++ _ZN5qtmir6Cursor7Private16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir6Cursor7Private21screenPositionChangedERK6QPoint@Base 0.6.1
++ _ZN5qtmir6Cursor7PrivateC1Ev@Base 0.6.1
++ _ZN5qtmir6Cursor7PrivateC2Ev@Base 0.6.1
++ _ZN5qtmir6Cursor7PrivateD0Ev@Base 0.6.1
++ _ZN5qtmir6Cursor7PrivateD1Ev@Base 0.6.1
++ _ZN5qtmir6Cursor7PrivateD2Ev@Base 0.6.1
++ _ZN5qtmir6CursorC1Ev@Base 0.6.1
++ _ZN5qtmir6CursorC2Ev@Base 0.6.1
++ _ZN5qtmir6CursorD0Ev@Base 0.6.1
++ _ZN5qtmir6CursorD1Ev@Base 0.6.1
++ _ZN5qtmir6CursorD2Ev@Base 0.6.1
++ _ZN5qtmir6Screen11nameChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir6Screen11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir6Screen11usedChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen12scaleChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen13activeChangedEb@Base 0.6.1
++ _ZN5qtmir6Screen15positionChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen16powerModeChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir6Screen17formFactorChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen17outputTypeChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen18orientationChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen19physicalSizeChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen21availableModesChangedEv@Base 0.6.1
++ _ZN5qtmir6Screen23currentModeIndexChangedEv@Base 0.6.1
++ _ZN5qtmir7Screens11qt_metacallEN11QMetaObject4CallEiPPv@Base 0.6.1
++ _ZN5qtmir7Screens11qt_metacastEPKc@Base 0.6.1
++ _ZN5qtmir7Screens11screenAddedEPNS_6ScreenE@Base 0.6.1
++ _ZN5qtmir7Screens13screenRemovedEPNS_6ScreenE@Base 0.6.1
++ _ZN5qtmir7Screens16staticMetaObjectE@Base 0.6.1
++ _ZN5qtmir7Screens19activeScreenChangedEv@Base 0.6.1
++ _ZN5qtmir9NewWindowD1Ev@Base 0.6.1
++ _ZN5qtmir9NewWindowD2Ev@Base 0.6.1
++ _ZN5qtmir9ShellUuId6m_uuidE@Base 0.6.1
++ _ZN5qtmir9ShellUuId7m_mutexE@Base 0.6.1
++ _ZN5qtmir9ShellUuId8toStringEv@Base 0.6.1
++ _ZN6QDebuglsEPKc@Base 0.6.1
++ _ZN6miroil13SetCompositorD1Ev@Base 0.8.0~git20230109.671f617
++ _ZN6miroil13SetCompositorD2Ev@Base 0.8.0~git20230109.671f617
++#MISSING: 0.6.1-8# _ZN7QStringC1ERKS_@Base 0.6.1
++#MISSING: 0.6.1-8# _ZN7QStringC2ERKS_@Base 0.6.1
++ _ZN7QStringD1Ev@Base 0.6.1
++ _ZN7QStringD2Ev@Base 0.6.1
++#MISSING: 0.7.0-1# (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sh4)_ZN7QVectorI5QRectEC1ERKS1_@Base 0.6.1
++#MISSING: 0.7.0-1# (optional=templinst|arch=!amd64 !arm64 !mips64el !ppc64el !sh4)_ZN7QVectorI5QRectEC2ERKS1_@Base 0.6.1
++ (optional=templinst)_ZN7QVectorI5QRectED1Ev@Base 0.6.1
++ (optional=templinst)_ZN7QVectorI5QRectED2Ev@Base 0.6.1
++ (optional=templinst|arch=!amd64 !arm64 !hppa !mips64el !ppc64 !ppc64el !riscv64 !s390x !sh4)_ZN7QVectorI7QPointFEC1ERKS1_@Base 0.6.1
++ (optional=templinst|arch=!amd64 !arm64 !hppa !mips64el !ppc64 !ppc64el !riscv64 !s390x !sh4)_ZN7QVectorI7QPointFEC2ERKS1_@Base 0.6.1
++ (optional=templinst)_ZN7QVectorI7QPointFED1Ev@Base 0.6.1
++ (optional=templinst)_ZN7QVectorI7QPointFED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN7QVectorIN5qtmir12EventBuilder9EventInfoEE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN7QVectorIN5qtmir12EventBuilder9EventInfoEED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !armhf)_ZN7QVectorIN5qtmir12EventBuilder9EventInfoEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIN5qtmir19ScreenConfigurationEE6appendEOS1_@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIN5qtmir19ScreenConfigurationEE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 0.6.1
++#MISSING: 0.7.0-1# (optional=templinst|arch=!amd64)_ZN7QVectorIN5qtmir19ScreenConfigurationEEC1ERKS2_@Base 0.6.1
++#MISSING: 0.7.0-1# (optional=templinst|arch=!amd64)_ZN7QVectorIN5qtmir19ScreenConfigurationEEC2ERKS2_@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIN5qtmir19ScreenConfigurationEED1Ev@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIN5qtmir19ScreenConfigurationEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIN6miroil11InputDeviceEE6appendERKS1_@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZN7QVectorIN6miroil11InputDeviceEE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZN7QVectorIN6miroil11InputDeviceEED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZN7QVectorIN6miroil11InputDeviceEED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZN7QVectorIP20ScreenPlatformWindowE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN7QVectorIP20ScreenPlatformWindowEC1ERKS2_@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN7QVectorIP20ScreenPlatformWindowEC2ERKS2_@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIP20ScreenPlatformWindowED1Ev@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIP20ScreenPlatformWindowED2Ev@Base 0.6.1
++ _ZN7QVectorIPN5qtmir10ScreenModeEE6appendEOS2_@Base 0.6.1
++ _ZN7QVectorIPN5qtmir10ScreenModeEE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 0.6.1
++ _ZN7QVectorIPN5qtmir10ScreenModeEE7reserveEi@Base 0.6.1
++ _ZN7QVectorIPN5qtmir10ScreenModeEED1Ev@Base 0.6.1
++ _ZN7QVectorIPN5qtmir10ScreenModeEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIPN5qtmir6ScreenEE5eraseEPS2_S4_@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIPN5qtmir6ScreenEE6appendEOS2_@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIPN5qtmir6ScreenEE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN7QVectorIPN5qtmir6ScreenEEC1ERKS3_@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN7QVectorIPN5qtmir6ScreenEEC2ERKS3_@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIPN5qtmir6ScreenEED1Ev@Base 0.6.1
++ (optional=templinst)_ZN7QVectorIPN5qtmir6ScreenEED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN7QVectorISt10shared_ptrIN3mir5input6DeviceEEE6appendERKS4_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN7QVectorISt10shared_ptrIN3mir5input6DeviceEEE7reallocEi6QFlagsIN10QArrayData16AllocationOptionEE@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN7QVectorISt10shared_ptrIN3mir5input6DeviceEEE9removeAllERKS4_@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN7QVectorISt10shared_ptrIN3mir5input6DeviceEEEC1ERKS5_@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst)_ZN7QVectorISt10shared_ptrIN3mir5input6DeviceEEEC2ERKS5_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN7QVectorISt10shared_ptrIN3mir5input6DeviceEEED1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZN7QVectorISt10shared_ptrIN3mir5input6DeviceEEED2Ev@Base 0.6.1
++ (optional=templinst)_ZN8QMapDataIi7QStringE7destroyEv@Base 0.6.1
++ (optional=templinst)_ZN8QMapNodeIi7QStringE14destroySubTreeEv@Base 0.6.1
++ _ZN8Services12openDocumentERK4QUrl@Base 0.6.1
++ _ZN8Services14callDispatcherERK4QUrl@Base 0.6.1
++ _ZN8Services7openUrlERK4QUrl@Base 0.6.1
++ _ZN8ServicesD0Ev@Base 0.6.1
++ _ZN8ServicesD1Ev@Base 0.6.1
++ _ZN8ServicesD2Ev@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIM10QMirServerFvvENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIM12ScreensModelFvvENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIM13ScreenAdaptorFvvENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIM14PlatformScreenFvN19QOrientationReading11OrientationEENS_4ListIJS3_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIM18ScreenAdaptorModelFvP7QScreenENS_4ListIJS3_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIM20ScreenPlatformWindowFvbENS_4ListIJbEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIM20ScreenPlatformWindowFvvENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIMN5qtmir22MirInputDeviceObserverEFvRK7QStringENS_4ListIJS5_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIMN5qtmir6Cursor7PrivateEFvRK7QStringENS_4ListIJS6_EEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIMN5qtmir6ScreenEFvbENS_4ListIJbEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIMN5qtmir6ScreenEFvvENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate11QSlotObjectIMN5qtmir7ScreensEFvvENS_4ListIJEEEvE4implEiPNS_15QSlotObjectBaseEP7QObjectPPvPb@Base 0.6.1
++ _ZN9QtPrivate17QForeachContainerI7QVectorIP20ScreenPlatformWindowEEC1ERKS4_@Base 0.6.1
++ _ZN9QtPrivate17QForeachContainerI7QVectorIP20ScreenPlatformWindowEEC2ERKS4_@Base 0.6.1
++ (optional=templinst)_ZN9QtPrivate24printSequentialContainerI7QVectorIPN5qtmir6ScreenEEEE6QDebugS6_PKcRKT_@Base 0.6.1
++ (arch=armel riscv64)_ZN9__gnu_cxx24__concurrence_lock_errorD0Ev@Base 0.7.0
++ (arch=armel riscv64)_ZN9__gnu_cxx24__concurrence_lock_errorD1Ev@Base 0.7.0
++ (arch=armel riscv64)_ZN9__gnu_cxx24__concurrence_lock_errorD2Ev@Base 0.7.0
++ (arch=armel riscv64)_ZN9__gnu_cxx26__concurrence_unlock_errorD0Ev@Base 0.7.0
++ (arch=armel riscv64)_ZN9__gnu_cxx26__concurrence_unlock_errorD1Ev@Base 0.7.0
++ (arch=armel riscv64)_ZN9__gnu_cxx26__concurrence_unlock_errorD2Ev@Base 0.7.0
++ _ZNK10QMirServer10metaObjectEv@Base 0.6.1
++ _ZNK10QMirServer11appNotifierEv@Base 0.6.1
++ _ZNK10QMirServer12screensModelEv@Base 0.6.1
++ _ZNK10QMirServer19windowModelNotifierEv@Base 0.6.1
++ _ZNK10QMirServer23thePromptSessionManagerEv@Base 0.6.1
++ _ZNK10QMirServer27createPlatformOpenGLContextEP14QOpenGLContext@Base 0.6.1
++ _ZNK10QMirServer28nativeResourceForIntegrationERK10QByteArray@Base 0.6.1
++ _ZNK10QMirServer9isRunningEv@Base 0.6.1
++ _ZNK11MirGLConfig17depth_buffer_bitsEv@Base 0.6.1
++ _ZNK11MirGLConfig19stencil_buffer_bitsEv@Base 0.6.1
++ _ZNK12QtCompositor10metaObjectEv@Base 0.6.1
++ _ZNK12ScreensModel10metaObjectEv@Base 0.6.1
++ _ZNK12ScreensModel12createScreenERKN3mir8graphics26DisplayConfigurationOutputE@Base 0.6.1
++ _ZNK13ScreenAdaptor10formFactorEv@Base 0.6.1
++ _ZNK13ScreenAdaptor10metaObjectEv@Base 0.6.1
++ _ZNK13ScreenAdaptor10outputTypeEv@Base 0.6.1
++ _ZNK13ScreenAdaptor11orientationEv@Base 0.6.1
++ _ZNK13ScreenAdaptor12physicalSizeEv@Base 0.6.1
++ _ZNK13ScreenAdaptor16currentModeIndexEv@Base 0.6.1
++ _ZNK13ScreenAdaptor18beginConfigurationEv@Base 0.6.1
++ _ZNK13ScreenAdaptor4nameEv@Base 0.6.1
++ _ZNK13ScreenAdaptor4usedEv@Base 0.6.1
++ _ZNK13ScreenAdaptor5scaleEv@Base 0.6.1
++ _ZNK13ScreenAdaptor7qscreenEv@Base 0.6.1
++ _ZNK13ScreenAdaptor8isActiveEv@Base 0.6.1
++ _ZNK13ScreenAdaptor8positionEv@Base 0.6.1
++ _ZNK13ScreenAdaptor9displayIdEv@Base 0.6.1
++ _ZNK13ScreenAdaptor9powerModeEv@Base 0.6.1
++ _ZNK14PlatformScreen10metaObjectEv@Base 0.6.1
++ _ZNK14PlatformScreen10topLevelAtERK6QPoint@Base 0.6.1
++ _ZNK14PlatformScreen11orientationEv@Base 0.6.1
++ _ZNK14PlatformScreen11refreshRateEv@Base 0.6.1
++ _ZNK14PlatformScreen12physicalSizeEv@Base 0.6.1
++ _ZNK14PlatformScreen13primaryWindowEv@Base 0.6.1
++ _ZNK14PlatformScreen14availableModesEv@Base 0.6.1
++ _ZNK14PlatformScreen15internalDisplayEv@Base 0.6.1
++ _ZNK14PlatformScreen16devicePixelRatioEv@Base 0.6.1
++ _ZNK14PlatformScreen17nativeOrientationEv@Base 0.6.1
++ _ZNK14PlatformScreen4nameEv@Base 0.6.1
++ _ZNK14PlatformScreen5depthEv@Base 0.6.1
++ _ZNK14PlatformScreen6cursorEv@Base 0.6.1
++ _ZNK14PlatformScreen6formatEv@Base 0.6.1
++ _ZNK14PlatformScreen8geometryEv@Base 0.6.1
++ _ZNK15MirServerThread10metaObjectEv@Base 0.6.1
++ _ZNK15NativeInterface10metaObjectEv@Base 0.6.1
++ _ZNK15NativeInterface23thePromptSessionManagerEv@Base 0.6.1
++ _ZNK15QPlatformScreen13isPlaceholderEv@Base 0.6.1
++ _ZNK15QPlatformScreen17availableGeometryEv@Base 0.6.1
++ _ZNK15QPlatformWindow15isForeignWindowEv@Base 0.6.1
++ _ZNK15SurfaceObserver10metaObjectEv@Base 0.6.1
++ _ZNK16MirOpenGLContext10metaObjectEv@Base 0.6.1
++ _ZNK16MirOpenGLContext6formatEv@Base 0.6.1
++ _ZNK16MirOpenGLContext9isSharingEv@Base 0.6.1
++ _ZNK16OffscreenSurface6bufferEv@Base 0.6.1
++ _ZNK16OffscreenSurface6formatEv@Base 0.6.1
++ _ZNK16OffscreenSurface7isValidEv@Base 0.6.1
++ _ZNK17OrientationSensor10metaObjectEv@Base 0.6.1
++ _ZNK17QMirServerPrivate20promptSessionManagerEv@Base 0.6.1
++ _ZNK17QMirServerPrivate21promptSessionListenerEv@Base 0.6.1
++ _ZNK17QMirServerPrivate24theApplicationAuthorizerEv@Base 0.6.1
++ _ZNK17QMirServerPrivate27createPlatformOpenGLContextEP14QOpenGLContext@Base 0.6.1
++ _ZNK17ScreensController10metaObjectEv@Base 0.6.1
++ _ZNK18ScreenAdaptorModel12activeScreenEv@Base 0.6.1
++ _ZNK18ScreenAdaptorModel7screensEv@Base 0.6.1
++ _ZNK20ScreenPlatformWindow10metaObjectEv@Base 0.6.1
++ _ZNK20ScreenPlatformWindow5winIdEv@Base 0.6.1
++ _ZNK20ScreenPlatformWindow8isActiveEv@Base 0.6.1
++ _ZNK20ScreenPlatformWindow9isExposedEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK21PromptSessionListener10metaObjectEv@Base 0.6.1
++ _ZNK22QPlatformOpenGLContext7isValidEv@Base 0.6.1
++ _ZNK24MirMousePointerInterface10metaObjectEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK31MirDisplayConfigurationObserver10metaObjectEv@Base 0.6.1
++ _ZNK3Mir10metaObjectEv@Base 0.6.1
++ (optional=templinst)_ZNK5QHashIKN5miral6WindowEPN5qtmir22WindowNotifierObserverEE8findNodeERS2_j@Base 0.6.1
++ (optional=templinst)_ZNK5QHashIPKN3mir5scene13PromptSessionEN5qtmir13PromptSessionEE8findNodeERKS4_j@Base 0.6.1
++ (optional=templinst)_ZNK5QHashIPKN3mir5scene7SurfaceEP15SurfaceObserverE8findNodeERKS4_j@Base 0.6.1
++ (optional=templinst)_ZNK5QHashIiN22QWindowSystemInterface10TouchPointEE6valuesEv@Base 0.6.1
++ (optional=templinst)_ZNK5QListI5QPairId5QSizeEEeqERKS3_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5miral4Edid10Descriptor12string_valueB5cxx11Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5miral8GLBuffer17has_alpha_channelEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5miral8GLBuffer4sizeEv@Base 0.6.1
++#MISSING: 0.7.0# _ZNK5miral8GLBuffercvbEv@Base 0.6.1
++ _ZNK5qtmir10ScreenMode10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir11AppNotifier10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir11NamedCursor12as_argb_8888Ev@Base 0.6.1
++ _ZNK5qtmir11NamedCursor4sizeEv@Base 0.6.1
++ _ZNK5qtmir11NamedCursor7hotspotEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir14MirServerHooks13theMirDisplayEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir14MirServerHooks17theInputDeviceHubEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir14MirServerHooks21promptSessionListenerEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir14MirServerHooks23createScreensControllerERKSt10shared_ptrI12ScreensModelE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir14MirServerHooks23thePromptSessionManagerEv@Base 0.6.1
++ _ZNK5qtmir17SessionAuthorizer10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir19WindowModelNotifier10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir20MirServerApplication10metaObjectEv@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir20OpenGLContextFactory27createPlatformOpenGLContextE14QSurfaceFormatRN3mir8graphics7DisplayE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir20PromptSessionManager14applicationForERKNS_13PromptSessionE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir20PromptSessionManager17stopPromptSessionERKNS_13PromptSessionE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir20PromptSessionManager19resumePromptSessionERKNS_13PromptSessionE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZNK5qtmir20PromptSessionManager20suspendPromptSessionERKNS_13PromptSessionE@Base 0.6.1
++ _ZNK5qtmir21PromptSessionListener10metaObjectEv@Base 0.8.0~git20230109.671f617
++ _ZNK5qtmir22MirInputDeviceObserver10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir22WindowNotifierObserver10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir25BasicSetSessionAuthorizer7builderEv@Base 0.6.1
++ _ZNK5qtmir30BasicSetWindowManagementPolicy7builderEv@Base 0.6.1
++ _ZNK5qtmir35BasicSetDisplayConfigurationStorage7builderEv@Base 0.6.1
++ _ZNK5qtmir3Mir10cursorNameEv@Base 0.6.1
++ _ZNK5qtmir3Mir10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir3Mir13currentKeymapEv@Base 0.6.1
++ _ZNK5qtmir6Cursor10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir6Cursor3posEv@Base 0.6.1
++ _ZNK5qtmir6Cursor7Private10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir6Screen10metaObjectEv@Base 0.6.1
++ _ZNK5qtmir7Screens10metaObjectEv@Base 0.6.1
++ (optional=templinst)_ZNK8QMapNodeIi5QSizeE4copyEP8QMapDataIiS0_E@Base 0.6.1
++ (optional=templinst)_ZNK8QMapNodeIi7QStringE4copyEP8QMapDataIiS0_E@Base 0.6.1
++ (arch=armel riscv64)_ZNK9__gnu_cxx24__concurrence_lock_error4whatEv@Base 0.7.0
++ (arch=armel riscv64)_ZNK9__gnu_cxx26__concurrence_unlock_error4whatEv@Base 0.7.0
++ (optional=templinst)_ZNSt10unique_ptrIN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_EED1Ev@Base 0.6.1
++ (optional=templinst)_ZNSt10unique_ptrIN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_EED2Ev@Base 0.6.1
++ (optional=templinst)_ZNSt12_Vector_baseIhSaIhEED1Ev@Base 0.6.1
++ (optional=templinst)_ZNSt12_Vector_baseIhSaIhEED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt12_Vector_baseItSaItEED1Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt12_Vector_baseItSaItEED2Ev@Base 0.6.1
++ _ZNSt14_Function_baseD1Ev@Base 0.6.1
++ _ZNSt14_Function_baseD2Ev@Base 0.6.1
++#MISSING: 0.7.0-1# (optional=templinst|arch=armel)_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE1EEC1IN3mir8graphics20DisplayConfigurationESt14default_deleteIS6_EEEOSt10unique_ptrIT_T0_E@Base 0.6.1
++#MISSING: 0.7.0-1# (optional=templinst|arch=armel)_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE1EEC2IN3mir8graphics20DisplayConfigurationESt14default_deleteIS6_EEEOSt10unique_ptrIT_T0_E@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel)_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC1IN3mir8graphics20DisplayConfigurationESt14default_deleteIS6_EEEOSt10unique_ptrIT_T0_E@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel)_ZNSt14__shared_countILN9__gnu_cxx12_Lock_policyE2EEC2IN3mir8graphics20DisplayConfigurationESt14default_deleteIS6_EEEOSt10unique_ptrIT_T0_E@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIDnLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE10_M_releaseEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv@Base 0.6.1
++ (arch=amd64 arm64 m68k mips64el ppc64 ppc64el s390x)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE24_M_release_last_use_coldEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5miral21ApplicationAuthorizerEEvEZNS1_24SetApplicationAuthorizerI24WrappedSessionAuthorizerEC4IJFS0_IN5qtmir17SessionAuthorizerEEvEEEEDpRKT_EUlvE_E10_M_managerERSt9_Any_dataRKSJ_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5miral21ApplicationAuthorizerEEvEZNS1_24SetApplicationAuthorizerI24WrappedSessionAuthorizerEC4IJFS0_IN5qtmir17SessionAuthorizerEEvEEEEDpRKT_EUlvE_E9_M_invokeERKSt9_Any_data@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5miral21ApplicationAuthorizerEEvEZNS1_24SetApplicationAuthorizerI24WrappedSessionAuthorizerEC4IJSt8functionIFS0_IN5qtmir17SessionAuthorizerEEvEEEEEDpRKT_EUlvE_E10_M_managerERSt9_Any_dataRKSL_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5miral21ApplicationAuthorizerEEvEZNS1_24SetApplicationAuthorizerI24WrappedSessionAuthorizerEC4IJSt8functionIFS0_IN5qtmir17SessionAuthorizerEEvEEEEEDpRKT_EUlvE_E9_M_invokeERKSt9_Any_data@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvEPS4_E9_M_invokeERKSt9_Any_data@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5miral27DisplayConfigurationStorageEEvEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5miral27DisplayConfigurationStorageEEvEPS4_E9_M_invokeERKSt9_Any_data@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEPS4_E9_M_invokeERKSt9_Any_data@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5qtmir22WindowManagementPolicyEERKN5miral18WindowManagerToolsES0_INS1_29WindowManagementPolicyPrivateEEEPSA_E10_M_managerERSt9_Any_dataRKSD_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN5qtmir22WindowManagementPolicyEERKN5miral18WindowManagerToolsES0_INS1_29WindowManagementPolicyPrivateEEEPSA_E9_M_invokeERKSt9_Any_dataS7_OS9_@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN6miroil27DisplayConfigurationStorageEEvEPS4_E10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10shared_ptrIN6miroil27DisplayConfigurationStorageEEvEPS4_E9_M_invokeERKSt9_Any_data@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10unique_ptrIN5miral22WindowManagementPolicyESt14default_deleteIS2_EERKNS1_18WindowManagerToolsEEZNS1_28set_window_management_policyI29WrappedWindowManagementPolicyJN5qtmir19WindowModelNotifierENSC_16WindowControllerENSC_19WorkspaceControllerENSC_11AppNotifierEKSt10shared_ptrI12ScreensModelESH_I13QtEventFeederESt8functionIFSH_INSC_22WindowManagementPolicyEES8_SH_INSC_29WindowManagementPolicyPrivateEEEEEEENS1_25SetWindowManagementPolicyEDpRT0_EUlS8_E_E10_M_managerERSt9_Any_dataRKS10_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFSt10unique_ptrIN5miral22WindowManagementPolicyESt14default_deleteIS2_EERKNS1_18WindowManagerToolsEEZNS1_28set_window_management_policyI29WrappedWindowManagementPolicyJN5qtmir19WindowModelNotifierENSC_16WindowControllerENSC_19WorkspaceControllerENSC_11AppNotifierEKSt10shared_ptrI12ScreensModelESH_I13QtEventFeederESt8functionIFSH_INSC_22WindowManagementPolicyEES8_SH_INSC_29WindowManagementPolicyPrivateEEEEEEENS1_25SetWindowManagementPolicyEDpRT0_EUlS8_E_E9_M_invokeERKSt9_Any_dataS8_@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral13SetTerminatorEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral13SetTerminatorEE9_M_invokeERKSt9_Any_dataS2_@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral15AddInitCallbackEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral15AddInitCallbackEE9_M_invokeERKSt9_Any_dataS2_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral20PersistDisplayConfigEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral20PersistDisplayConfigEE9_M_invokeERKSt9_Any_dataS2_@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral24SetApplicationAuthorizerI24WrappedSessionAuthorizerEEE10_M_managerERSt9_Any_dataRKS9_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral24SetApplicationAuthorizerI24WrappedSessionAuthorizerEEE9_M_invokeERKSt9_Any_dataS2_@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral25SetWindowManagementPolicyEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5miral25SetWindowManagementPolicyEE9_M_invokeERKSt9_Any_dataS2_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5qtmir14MirServerHooksEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5qtmir14MirServerHooksEE9_M_invokeERKSt9_Any_dataS2_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5qtmir15SetQtCompositorEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5qtmir15SetQtCompositorEE9_M_invokeERKSt9_Any_dataS2_@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5qtmir20OpenGLContextFactoryEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN5qtmir20OpenGLContextFactoryEE9_M_invokeERKSt9_Any_dataS2_@Base 0.6.1
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN6miroil13OpenGLContextEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN6miroil13OpenGLContextEE9_M_invokeERKSt9_Any_dataS2_@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN6miroil13SetCompositorEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN6miroil13SetCompositorEE9_M_invokeERKSt9_Any_dataS2_@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN6miroil14MirServerHooksEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN6miroil14MirServerHooksEE9_M_invokeERKSt9_Any_dataS2_@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN6miroil20PersistDisplayConfigEE10_M_managerERSt9_Any_dataRKS7_St18_Manager_operation@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt17_Function_handlerIFvRN3mir6ServerEEN6miroil20PersistDisplayConfigEE9_M_invokeERKSt9_Any_dataS2_@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++ (optional=templinst|arch=!armel !riscv64)_ZNSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.8.0~git20230109.671f617
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.8.0~git20230109.671f617
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.6.1
++#MISSING: 0.7.0# (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.6.1
++#MISSING: 0.7.0-3# (optional=templinst|arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.6.1
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.7.0
++ (optional=templinst|arch=armel riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.7.0
++ (arch=!armel !riscv64)_ZNSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.7.0
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst|arch=!armel)_ZNSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZNSt6vectorISt10shared_ptrIN5miral9WorkspaceEESaIS3_EE17_M_realloc_insertIJRKS3_EEEvN9__gnu_cxx17__normal_iteratorIPS3_S5_EEDpOT_@Base 0.6.1
++ (optional=templinst)_ZNSt6vectorISt10shared_ptrIN5miral9WorkspaceEESaIS3_EED1Ev@Base 0.6.1
++ (optional=templinst)_ZNSt6vectorISt10shared_ptrIN5miral9WorkspaceEESaIS3_EED2Ev@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|subst)_ZNSt6vectorIhSaIhEE17_M_default_appendE{size_t}@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=amd64 arm64)_ZNSt7__cxx119to_stringEm@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=!mipsel)_ZStplIcSt11char_traitsIcESaIcEENSt7__cxx1112basic_stringIT_T0_T1_EEOS8_S9_@Base 0.7.1-2
++ _ZTI10QMirServer@Base 0.6.1
++ _ZTI11MirGLConfig@Base 0.6.1
++ _ZTI12QtCompositor@Base 0.6.1
++ _ZTI12ScreensModel@Base 0.6.1
++ _ZTI13QtEventFeeder@Base 0.6.1
++ _ZTI13ScreenAdaptor@Base 0.6.1
++ _ZTI14PlatformScreen@Base 0.6.1
++ _ZTI15MirServerThread@Base 0.6.1
++ _ZTI15NativeInterface@Base 0.6.1
++ _ZTI15SurfaceObserver@Base 0.6.1
++ _ZTI16MirOpenGLContext@Base 0.6.1
++ _ZTI16OffscreenSurface@Base 0.6.1
++ _ZTI17MirPlatformCursor@Base 0.6.1
++ _ZTI17OrientationSensor@Base 0.6.1
++ _ZTI17ScreensController@Base 0.6.1
++ _ZTI18ScreenAdaptorModel@Base 0.6.1
++ _ZTI20ScreenPlatformWindow@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTI21PromptSessionListener@Base 0.6.1
++ _ZTI23OrientationReadingEvent@Base 0.6.1
++ _ZTI24MirMousePointerInterface@Base 0.6.1
++ _ZTI24WrappedSessionAuthorizer@Base 0.6.1
++ _ZTI29WrappedWindowManagementPolicy@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTI31MirDisplayConfigurationObserver@Base 0.6.1
++ _ZTI3Mir@Base 0.6.1
++ _ZTI8Services@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIFSt10shared_ptrIN5miral27DisplayConfigurationStorageEEvE@Base 0.6.1
++ _ZTIFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvE@Base 0.6.1
++ _ZTIFSt10shared_ptrIN5qtmir22WindowManagementPolicyEERKN5miral18WindowManagerToolsES_INS0_29WindowManagementPolicyPrivateEEE@Base 0.6.1
++ _ZTIFSt10shared_ptrIN6miroil27DisplayConfigurationStorageEEvE@Base 0.8.0~git20230109.671f617
++ _ZTIN13QtEventFeeder23QtWindowSystemInterfaceE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir10compositor10CompositorE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir5input12CursorImagesE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir5input19InputDeviceObserverE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir5scene21PromptSessionListenerE@Base 0.6.1
++ _ZTIN3mir8graphics11CursorImageE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir8graphics13NativeDisplayE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir8graphics16NativeBufferBaseE@Base 0.6.1
++ _ZTIN3mir8graphics19NativeDisplayBufferE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir8graphics26DisplayConfigurationPolicyE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir8graphics28DisplayConfigurationObserverE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir8graphics6CursorE@Base 0.6.1
++ _ZTIN3mir8graphics8GLConfigE@Base 0.6.1
++ _ZTIN3mir8renderer2gl12RenderTargetE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir8renderer2gl13ContextSourceE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN3mir8renderer2gl13TextureSourceE@Base 0.6.1
++ _ZTIN5miral13SetTerminatorE@Base 0.6.1
++ _ZTIN5miral15AddInitCallbackE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5miral15GLTextureBufferE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5miral20PersistDisplayConfig4SelfE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5miral20PersistDisplayConfigE@Base 0.6.1
++ _ZTIN5miral21ApplicationAuthorizerE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5miral21GLTextureSourceBufferE@Base 0.7.0
++ _ZTIN5miral24SetApplicationAuthorizerI24WrappedSessionAuthorizerEE@Base 0.6.1
++ _ZTIN5miral25SetWindowManagementPolicyE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5miral26DisplayConfigurationPolicyE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5miral27DisplayConfigurationStorageE@Base 0.6.1
++ _ZTIN5miral29BasicSetApplicationAuthorizerE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5miral8GLBufferE@Base 0.7.0
++ _ZTIN5qtmir10ScreenModeE@Base 0.6.1
++ _ZTIN5qtmir11AppNotifierE@Base 0.6.1
++ _ZTIN5qtmir11NamedCursorE@Base 0.6.1
++ _ZTIN5qtmir12EventBuilderE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5qtmir14MirServerHooksE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5qtmir15MirCursorImagesE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5qtmir15SetQtCompositorE@Base 0.6.1
++ _ZTIN5qtmir16WindowControllerE@Base 0.6.1
++ _ZTIN5qtmir17SessionAuthorizerE@Base 0.6.1
++ _ZTIN5qtmir19WindowModelNotifierE@Base 0.6.1
++ _ZTIN5qtmir19WorkspaceControllerE@Base 0.6.1
++ _ZTIN5qtmir20MirServerApplicationE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5qtmir20OpenGLContextFactoryE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIN5qtmir20PromptSessionManagerE@Base 0.6.1
++ _ZTIN5qtmir21PromptSessionListenerE@Base 0.8.0~git20230109.671f617
++ _ZTIN5qtmir22MirInputDeviceObserverE@Base 0.6.1
++ _ZTIN5qtmir22WindowManagementPolicyE@Base 0.6.1
++ _ZTIN5qtmir22WindowNotifierObserverE@Base 0.6.1
++ _ZTIN5qtmir25WindowControllerInterfaceE@Base 0.6.1
++ _ZTIN5qtmir26DisplayConfigurationPolicyE@Base 0.6.1
++ _ZTIN5qtmir28WorkspaceControllerInterfaceE@Base 0.6.1
++ _ZTIN5qtmir3MirE@Base 0.6.1
++ _ZTIN5qtmir6Cursor7PrivateE@Base 0.6.1
++ _ZTIN5qtmir6CursorE@Base 0.6.1
++ _ZTIN5qtmir6ScreenE@Base 0.6.1
++ _ZTIN5qtmir7ScreensE@Base 0.6.1
++ _ZTIN6miroil13OpenGLContextE@Base 0.8.0~git20230109.671f617
++ _ZTIN6miroil13SetCompositorE@Base 0.8.0~git20230109.671f617
++ _ZTIN6miroil14MirServerHooksE@Base 0.8.0~git20230109.671f617
++ _ZTIN6miroil20PersistDisplayConfigE@Base 0.8.0~git20230109.671f617
++ _ZTIN6miroil27DisplayConfigurationStorageE@Base 0.8.0~git20230109.671f617
++ (arch=armel riscv64)_ZTIN9__gnu_cxx24__concurrence_lock_errorE@Base 0.7.0
++ (arch=armel riscv64)_ZTIN9__gnu_cxx26__concurrence_unlock_errorE@Base 0.7.0
++ (arch=armel riscv64)_ZTIN9__gnu_cxx7__mutexE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZTIPFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTIPFSt10shared_ptrIN5miral27DisplayConfigurationStorageEEvE@Base 0.6.1
++ _ZTIPFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvE@Base 0.6.1
++ _ZTIPFSt10shared_ptrIN5qtmir22WindowManagementPolicyEERKN5miral18WindowManagerToolsES_INS0_29WindowManagementPolicyPrivateEEE@Base 0.6.1
++ _ZTIPFSt10shared_ptrIN6miroil27DisplayConfigurationStorageEEvE@Base 0.8.0~git20230109.671f617
++ (arch=armel riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel armhf)_ZTISt14default_deleteIN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel armhf)_ZTISt19_Sp_make_shared_tag@Base 0.6.1
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTISt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTISt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTISt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ _ZTIZN5miral24SetApplicationAuthorizerI24WrappedSessionAuthorizerEC4IJFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEEEEDpRKT_EUlvE_@Base 0.6.1
++ _ZTIZN5miral24SetApplicationAuthorizerI24WrappedSessionAuthorizerEC4IJSt8functionIFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEEEEEDpRKT_EUlvE_@Base 0.6.1
++ _ZTIZN5miral28set_window_management_policyI29WrappedWindowManagementPolicyJN5qtmir19WindowModelNotifierENS2_16WindowControllerENS2_19WorkspaceControllerENS2_11AppNotifierEKSt10shared_ptrI12ScreensModelES7_I13QtEventFeederESt8functionIFS7_INS2_22WindowManagementPolicyEERKNS_18WindowManagerToolsES7_INS2_29WindowManagementPolicyPrivateEEEEEEENS_25SetWindowManagementPolicyEDpRT0_EUlSI_E_@Base 0.6.1
++ _ZTS10QMirServer@Base 0.6.1
++ _ZTS11MirGLConfig@Base 0.6.1
++ _ZTS12QtCompositor@Base 0.6.1
++ _ZTS12ScreensModel@Base 0.6.1
++ _ZTS13QtEventFeeder@Base 0.6.1
++ _ZTS13ScreenAdaptor@Base 0.6.1
++ _ZTS14PlatformScreen@Base 0.6.1
++ _ZTS15MirServerThread@Base 0.6.1
++ _ZTS15NativeInterface@Base 0.6.1
++ _ZTS15SurfaceObserver@Base 0.6.1
++ _ZTS16MirOpenGLContext@Base 0.6.1
++ _ZTS16OffscreenSurface@Base 0.6.1
++ _ZTS17MirPlatformCursor@Base 0.6.1
++ _ZTS17OrientationSensor@Base 0.6.1
++ _ZTS17ScreensController@Base 0.6.1
++ _ZTS18ScreenAdaptorModel@Base 0.6.1
++ _ZTS20ScreenPlatformWindow@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTS21PromptSessionListener@Base 0.6.1
++ _ZTS23OrientationReadingEvent@Base 0.6.1
++ _ZTS24MirMousePointerInterface@Base 0.6.1
++ _ZTS24WrappedSessionAuthorizer@Base 0.6.1
++ _ZTS29WrappedWindowManagementPolicy@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTS31MirDisplayConfigurationObserver@Base 0.6.1
++ _ZTS3Mir@Base 0.6.1
++ _ZTS8Services@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSFSt10shared_ptrIN5miral27DisplayConfigurationStorageEEvE@Base 0.6.1
++ _ZTSFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvE@Base 0.6.1
++ _ZTSFSt10shared_ptrIN5qtmir22WindowManagementPolicyEERKN5miral18WindowManagerToolsES_INS0_29WindowManagementPolicyPrivateEEE@Base 0.6.1
++ _ZTSFSt10shared_ptrIN6miroil27DisplayConfigurationStorageEEvE@Base 0.8.0~git20230109.671f617
++ _ZTSN13QtEventFeeder23QtWindowSystemInterfaceE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir10compositor10CompositorE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir5input12CursorImagesE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir5input19InputDeviceObserverE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir5scene21PromptSessionListenerE@Base 0.6.1
++ _ZTSN3mir8graphics11CursorImageE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir8graphics13NativeDisplayE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir8graphics16NativeBufferBaseE@Base 0.6.1
++ _ZTSN3mir8graphics19NativeDisplayBufferE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir8graphics26DisplayConfigurationPolicyE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir8graphics28DisplayConfigurationObserverE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir8graphics6CursorE@Base 0.6.1
++ _ZTSN3mir8graphics8GLConfigE@Base 0.6.1
++ _ZTSN3mir8renderer2gl12RenderTargetE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir8renderer2gl13ContextSourceE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN3mir8renderer2gl13TextureSourceE@Base 0.6.1
++ _ZTSN5miral13SetTerminatorE@Base 0.6.1
++ _ZTSN5miral15AddInitCallbackE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5miral15GLTextureBufferE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5miral20PersistDisplayConfig4SelfE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5miral20PersistDisplayConfigE@Base 0.6.1
++ _ZTSN5miral21ApplicationAuthorizerE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5miral21GLTextureSourceBufferE@Base 0.7.0
++ _ZTSN5miral24SetApplicationAuthorizerI24WrappedSessionAuthorizerEE@Base 0.6.1
++ _ZTSN5miral25SetWindowManagementPolicyE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5miral26DisplayConfigurationPolicyE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5miral27DisplayConfigurationStorageE@Base 0.6.1
++ _ZTSN5miral29BasicSetApplicationAuthorizerE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5miral8GLBufferE@Base 0.7.0
++ _ZTSN5qtmir10ScreenModeE@Base 0.6.1
++ _ZTSN5qtmir11AppNotifierE@Base 0.6.1
++ _ZTSN5qtmir11NamedCursorE@Base 0.6.1
++ _ZTSN5qtmir12EventBuilderE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5qtmir14MirServerHooksE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5qtmir15MirCursorImagesE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5qtmir15SetQtCompositorE@Base 0.6.1
++ _ZTSN5qtmir16WindowControllerE@Base 0.6.1
++ _ZTSN5qtmir17SessionAuthorizerE@Base 0.6.1
++ _ZTSN5qtmir19WindowModelNotifierE@Base 0.6.1
++ _ZTSN5qtmir19WorkspaceControllerE@Base 0.6.1
++ _ZTSN5qtmir20MirServerApplicationE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5qtmir20OpenGLContextFactoryE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSN5qtmir20PromptSessionManagerE@Base 0.6.1
++ _ZTSN5qtmir21PromptSessionListenerE@Base 0.8.0~git20230109.671f617
++ _ZTSN5qtmir22MirInputDeviceObserverE@Base 0.6.1
++ _ZTSN5qtmir22WindowManagementPolicyE@Base 0.6.1
++ _ZTSN5qtmir22WindowNotifierObserverE@Base 0.6.1
++ _ZTSN5qtmir25WindowControllerInterfaceE@Base 0.6.1
++ _ZTSN5qtmir26DisplayConfigurationPolicyE@Base 0.6.1
++ _ZTSN5qtmir28WorkspaceControllerInterfaceE@Base 0.6.1
++ _ZTSN5qtmir3MirE@Base 0.6.1
++ _ZTSN5qtmir6Cursor7PrivateE@Base 0.6.1
++ _ZTSN5qtmir6CursorE@Base 0.6.1
++ _ZTSN5qtmir6ScreenE@Base 0.6.1
++ _ZTSN5qtmir7ScreensE@Base 0.6.1
++ _ZTSN6miroil13OpenGLContextE@Base 0.8.0~git20230109.671f617
++ _ZTSN6miroil13SetCompositorE@Base 0.8.0~git20230109.671f617
++ _ZTSN6miroil14MirServerHooksE@Base 0.8.0~git20230109.671f617
++ _ZTSN6miroil20PersistDisplayConfigE@Base 0.8.0~git20230109.671f617
++ _ZTSN6miroil27DisplayConfigurationStorageE@Base 0.8.0~git20230109.671f617
++ (arch=armel riscv64)_ZTSN9__gnu_cxx24__concurrence_lock_errorE@Base 0.7.0
++ (arch=armel riscv64)_ZTSN9__gnu_cxx26__concurrence_unlock_errorE@Base 0.7.0
++ (arch=armel riscv64)_ZTSN9__gnu_cxx7__mutexE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZTSPFSt10shared_ptrIN5miral26DisplayConfigurationPolicyEEvE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTSPFSt10shared_ptrIN5miral27DisplayConfigurationStorageEEvE@Base 0.6.1
++ _ZTSPFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvE@Base 0.6.1
++ _ZTSPFSt10shared_ptrIN5qtmir22WindowManagementPolicyEERKN5miral18WindowManagerToolsES_INS0_29WindowManagementPolicyPrivateEEE@Base 0.6.1
++ _ZTSPFSt10shared_ptrIN6miroil27DisplayConfigurationStorageEEvE@Base 0.8.0~git20230109.671f617
++ (arch=armel riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ _ZTSSt14default_deleteIN3mir8graphics20DisplayConfigurationEE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ _ZTSSt19_Sp_make_shared_tag@Base 0.6.1
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTSSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTSSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTSSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ _ZTSZN5miral24SetApplicationAuthorizerI24WrappedSessionAuthorizerEC4IJFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEEEEDpRKT_EUlvE_@Base 0.6.1
++ _ZTSZN5miral24SetApplicationAuthorizerI24WrappedSessionAuthorizerEC4IJSt8functionIFSt10shared_ptrIN5qtmir17SessionAuthorizerEEvEEEEEDpRKT_EUlvE_@Base 0.6.1
++ _ZTSZN5miral28set_window_management_policyI29WrappedWindowManagementPolicyJN5qtmir19WindowModelNotifierENS2_16WindowControllerENS2_19WorkspaceControllerENS2_11AppNotifierEKSt10shared_ptrI12ScreensModelES7_I13QtEventFeederESt8functionIFS7_INS2_22WindowManagementPolicyEERKNS_18WindowManagerToolsES7_INS2_29WindowManagementPolicyPrivateEEEEEEENS_25SetWindowManagementPolicyEDpRT0_EUlSI_E_@Base 0.6.1
++ _ZTV10QMirServer@Base 0.6.1
++ _ZTV11MirGLConfig@Base 0.6.1
++ _ZTV12QtCompositor@Base 0.6.1
++ _ZTV12ScreensModel@Base 0.6.1
++ _ZTV13QtEventFeeder@Base 0.6.1
++ _ZTV13ScreenAdaptor@Base 0.6.1
++ _ZTV14PlatformScreen@Base 0.6.1
++ _ZTV15MirServerThread@Base 0.6.1
++ _ZTV15NativeInterface@Base 0.6.1
++ _ZTV15SurfaceObserver@Base 0.6.1
++ _ZTV16MirOpenGLContext@Base 0.6.1
++ _ZTV16OffscreenSurface@Base 0.6.1
++ _ZTV17OrientationSensor@Base 0.6.1
++ _ZTV17ScreensController@Base 0.6.1
++ _ZTV18ScreenAdaptorModel@Base 0.6.1
++ _ZTV20ScreenPlatformWindow@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTV21PromptSessionListener@Base 0.6.1
++ _ZTV23OrientationReadingEvent@Base 0.6.1
++ _ZTV24MirMousePointerInterface@Base 0.6.1
++ _ZTV24WrappedSessionAuthorizer@Base 0.6.1
++ _ZTV29WrappedWindowManagementPolicy@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTV31MirDisplayConfigurationObserver@Base 0.6.1
++ _ZTV3Mir@Base 0.6.1
++ _ZTV8Services@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTVN5miral15GLTextureBufferE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZTVN5miral20PersistDisplayConfig4SelfE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTVN5miral21GLTextureSourceBufferE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# _ZTVN5miral26DisplayConfigurationPolicyE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTVN5miral8GLBufferE@Base 0.7.0
++ _ZTVN5qtmir10ScreenModeE@Base 0.6.1
++ _ZTVN5qtmir11AppNotifierE@Base 0.6.1
++ _ZTVN5qtmir11NamedCursorE@Base 0.6.1
++ _ZTVN5qtmir12EventBuilderE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTVN5qtmir15MirCursorImagesE@Base 0.6.1
++ _ZTVN5qtmir16WindowControllerE@Base 0.6.1
++ _ZTVN5qtmir17SessionAuthorizerE@Base 0.6.1
++ _ZTVN5qtmir19WindowModelNotifierE@Base 0.6.1
++ _ZTVN5qtmir19WorkspaceControllerE@Base 0.6.1
++ _ZTVN5qtmir20MirServerApplicationE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# _ZTVN5qtmir20PromptSessionManagerE@Base 0.6.1
++ _ZTVN5qtmir21PromptSessionListenerE@Base 0.8.0~git20230109.671f617
++ _ZTVN5qtmir22MirInputDeviceObserverE@Base 0.6.1
++ _ZTVN5qtmir22WindowManagementPolicyE@Base 0.6.1
++ _ZTVN5qtmir22WindowNotifierObserverE@Base 0.6.1
++ _ZTVN5qtmir26DisplayConfigurationPolicyE@Base 0.6.1
++ _ZTVN5qtmir3MirE@Base 0.6.1
++ _ZTVN5qtmir6Cursor7PrivateE@Base 0.6.1
++ _ZTVN5qtmir6CursorE@Base 0.6.1
++ _ZTVN5qtmir6ScreenE@Base 0.6.1
++ _ZTVN5qtmir7ScreensE@Base 0.6.1
++ (arch=armel riscv64)_ZTVN9__gnu_cxx24__concurrence_lock_errorE@Base 0.7.0
++ (arch=armel riscv64)_ZTVN9__gnu_cxx26__concurrence_unlock_errorE@Base 0.7.0
++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIP12ScreensModelLN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIP13QtEventFeederLN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN5qtmir17SessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN5qtmir25BasicSetSessionAuthorizer7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN5qtmir26DisplayConfigurationPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt15_Sp_counted_ptrIPN5qtmir30BasicSetWindowManagementPolicy7PrivateELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt19_Sp_counted_deleterIPN3mir8graphics20DisplayConfigurationESt14default_deleteIS2_ESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI11MirGLConfigSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceI12QtCompositorSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI17OrientationSensorSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIS0_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceI24WrappedSessionAuthorizerSaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral15GLTextureBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral20PersistDisplayConfig4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5miral21GLTextureSourceBufferESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir11NamedCursorESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir14MirServerHooks4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir15ExtraWindowInfoESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir15MirCursorImagesESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir17SessionAuthorizerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir20OpenGLContextFactory4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.8.0~git20230109.671f617# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir21PromptSessionListenerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir22MirInputDeviceObserverESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir26DisplayConfigurationPolicyESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIS1_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir29WindowManagementPolicyPrivateESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir34BasicSetDisplayConfigurationPolicy4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++#MISSING: 0.7.0# (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++#MISSING: 0.7.0-3# (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIS2_ELN9__gnu_cxx12_Lock_policyE2EE@Base 0.6.1
++ (arch=armel riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.7.0
++ (arch=!armel !riscv64)_ZTVSt23_Sp_counted_ptr_inplaceIN5qtmir35BasicSetDisplayConfigurationStorage4SelfESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.7.0
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceIN6miroil20PromptSessionManagerESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceIN6miroil22DisplayListenerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (arch=armel)_ZTVSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 0.8.0~git20230109.671f617
++ (arch=!armel)_ZTVSt23_Sp_counted_ptr_inplaceIN6miroil37DisplayConfigurationControllerWrapperESaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 0.8.0~git20230109.671f617
++ (optional=templinst)_ZZN11QMetaTypeIdIN3Mir5StateEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdIN5miral10WindowInfoEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdIN5miral15ApplicationInfoEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdIN5qtmir10FormFactorEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdIN5qtmir11OutputTypesEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdIN5qtmir13PromptSessionEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdIN5qtmir9NewWindowEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdIPN5qtmir19ScreenConfigurationEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdISt10shared_ptrIN3mir5scene7SessionEEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN11QMetaTypeIdISt6vectorIN5miral6WindowESaIS2_EEE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN18QMetaTypeIdQObjectI6QFlagsIN2Qt11MouseButtonEELi16EE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN18QMetaTypeIdQObjectI6QFlagsIN2Qt16KeyboardModifierEELi16EE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN18QMetaTypeIdQObjectIP20ScreenPlatformWindowLi8EE14qt_metatype_idEvE11metatype_id@Base 0.6.1
++ (optional=templinst)_ZZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoE5QSizeEEELb1EE5typesEvE1t@Base 0.6.1
++ (optional=templinst)_ZZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoE6QPointEEELb1EE5typesEvE1t@Base 0.6.1
++ (optional=templinst)_ZZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoEEEELb1EE5typesEvE1t@Base 0.6.1
++ (optional=templinst)_ZZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoEN3Mir5StateEEEELb1EE5typesEvE1t@Base 0.6.1
++ (optional=templinst)_ZZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5miral10WindowInfoEbEEELb1EE5typesEvE1t@Base 0.6.1
++ (optional=templinst)_ZZN9QtPrivate15ConnectionTypesINS_4ListIJRKN5qtmir9NewWindowEEEELb1EE5typesEvE1t@Base 0.6.1
++ _ZZNSt19_Sp_make_shared_tag5_S_tiEvE5__tag@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (optional=templinst|subst)_ZZNSt8__detail18__to_chars_10_implI{size_t}EEvPcjT_E8__digits@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE0_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE10_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE11_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE12_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE13_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE14_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE15_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE16_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE17_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE18_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE19_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE1_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE20_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE2_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE3_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE4_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE5_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE6_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE7_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE8_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE9_clEvE15qstring_literal@Base 0.6.1
++ _ZZZN5qtmir6Cursor7PrivateC4EvENKUlvE_clEvE15qstring_literal@Base 0.6.1
++ _ZZZNK5qtmir6Cursor7Private10cursorNameEvENKUlvE_clEvE15qstring_literal@Base 0.6.1
++#MISSING: 0.6.1-8# __start___tracepoints_ptrs@Base 0.6.1
++ __start_lttng_ust_tracepoints_ptrs@Base 0.6.1
++#MISSING: 0.6.1-8# __stop___tracepoints_ptrs@Base 0.6.1
++ __stop_lttng_ust_tracepoints_ptrs@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_provider_qtmirserver@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_qtmirserver___sessionAuthorizeEnd@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_qtmirserver___sessionAuthorizeStart@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_qtmirserver___starting@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_qtmirserver___stopping@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_qtmirserver___surfaceCreated@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_qtmirserver___surfaceDestroyed@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_qtmirserver___touchEventDispatch_end@Base 0.6.1
++#MISSING: 0.6.1-8# __tracepoint_qtmirserver___touchEventDispatch_start@Base 0.6.1
++ appStartTime@Base 0.6.1
++ getStartTime@Base 0.6.1
++ lttng_ust_tracepoint_provider_qtmirserver@Base 0.6.1
++ lttng_ust_tracepoint_qtmirserver___sessionAuthorizeEnd@Base 0.6.1
++ lttng_ust_tracepoint_qtmirserver___sessionAuthorizeStart@Base 0.6.1
++ lttng_ust_tracepoint_qtmirserver___starting@Base 0.6.1
++ lttng_ust_tracepoint_qtmirserver___stopping@Base 0.6.1
++ lttng_ust_tracepoint_qtmirserver___surfaceCreated@Base 0.6.1
++ lttng_ust_tracepoint_qtmirserver___surfaceDestroyed@Base 0.6.1
++ lttng_ust_tracepoint_qtmirserver___touchEventDispatch_end@Base 0.6.1
++ lttng_ust_tracepoint_qtmirserver___touchEventDispatch_start@Base 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::base_configuration_updated(std::shared_ptr<mir::graphics::DisplayConfiguration const> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::catastrophic_configuration_error(std::shared_ptr<mir::graphics::DisplayConfiguration const> const&, std::exception const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::configuration_applied(std::shared_ptr<mir::graphics::DisplayConfiguration const> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::configuration_failed(std::shared_ptr<mir::graphics::DisplayConfiguration const> const&, std::exception const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::configuration_updated_for_session(std::shared_ptr<mir::scene::Session> const&, std::shared_ptr<mir::graphics::DisplayConfiguration const> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::initial_configuration(std::shared_ptr<mir::graphics::DisplayConfiguration const> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::session_configuration_applied(std::shared_ptr<mir::scene::Session> const&, std::shared_ptr<mir::graphics::DisplayConfiguration> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::session_configuration_removed(std::shared_ptr<mir::scene::Session> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to MirDisplayConfigurationObserver::~MirDisplayConfigurationObserver()@Base" 0.6.1
++ (c++)"non-virtual thunk to MirOpenGLContext::doneCurrent()@Base" 0.6.1
++ (c++)"non-virtual thunk to MirOpenGLContext::format() const@Base" 0.6.1
++ (c++)"non-virtual thunk to MirOpenGLContext::getProcAddress(char const*)@Base" 0.6.1
++ (c++)"non-virtual thunk to MirOpenGLContext::isSharing() const@Base" 0.6.1
++ (c++)"non-virtual thunk to MirOpenGLContext::makeCurrent(QPlatformSurface*)@Base" 0.6.1
++ (c++)"non-virtual thunk to MirOpenGLContext::swapBuffers(QPlatformSurface*)@Base" 0.6.1
++ (c++)"non-virtual thunk to MirOpenGLContext::~MirOpenGLContext()@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::cursor() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::depth() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::devicePixelRatio() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::format() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::geometry() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::name() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::nativeOrientation() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::orientation() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::physicalSize() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::refreshRate() const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::topLevelAt(QPoint const&) const@Base" 0.6.1
++ (c++)"non-virtual thunk to PlatformScreen::~PlatformScreen()@Base" 0.6.1
++ (c++)"non-virtual thunk to QtCompositor::start()@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to QtCompositor::stop()@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to QtCompositor::~QtCompositor()@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to ScreenPlatformWindow::isActive() const@Base" 0.6.1
++ (c++)"non-virtual thunk to ScreenPlatformWindow::isExposed() const@Base" 0.6.1
++ (c++)"non-virtual thunk to ScreenPlatformWindow::requestActivateWindow()@Base" 0.6.1
++ (c++)"non-virtual thunk to ScreenPlatformWindow::setGeometry(QRect const&)@Base" 0.6.1
++ (c++)"non-virtual thunk to ScreenPlatformWindow::setVisible(bool)@Base" 0.6.1
++ (c++)"non-virtual thunk to ScreenPlatformWindow::winId() const@Base" 0.6.1
++ (c++)"non-virtual thunk to ScreenPlatformWindow::~ScreenPlatformWindow()@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to ScreensModel::~ScreensModel()@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to miral::PersistDisplayConfig::Self::base_configuration_updated(std::shared_ptr<mir::graphics::DisplayConfiguration const> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to miral::PersistDisplayConfig::Self::session_configuration_applied(std::shared_ptr<mir::scene::Session> const&, std::shared_ptr<mir::graphics::DisplayConfiguration> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to miral::PersistDisplayConfig::Self::session_configuration_removed(std::shared_ptr<mir::scene::Session> const&)@Base" 0.6.1
++#MISSING: 0.8.0~git20230109.671f617# (c++)"non-virtual thunk to miral::PersistDisplayConfig::Self::~Self()@Base" 0.6.1
++ (c++)"non-virtual thunk to qtmir::MirInputDeviceObserver::device_added(miroil::InputDevice)@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::MirInputDeviceObserver::device_removed(miroil::InputDevice)@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::MirInputDeviceObserver::~MirInputDeviceObserver()@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::PromptSessionListener::prompt_provider_added(mir::scene::PromptSession const&, std::shared_ptr<mir::scene::Session> const&)@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::PromptSessionListener::prompt_provider_removed(mir::scene::PromptSession const&, std::shared_ptr<mir::scene::Session> const&)@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::PromptSessionListener::resuming(std::shared_ptr<mir::scene::PromptSession> const&)@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::PromptSessionListener::starting(std::shared_ptr<mir::scene::PromptSession> const&)@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::PromptSessionListener::stopping(std::shared_ptr<mir::scene::PromptSession> const&)@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::PromptSessionListener::suspending(std::shared_ptr<mir::scene::PromptSession> const&)@Base" 0.8.0~git20230109.671f617
++ (c++)"non-virtual thunk to qtmir::PromptSessionListener::~PromptSessionListener()@Base" 0.8.0~git20230109.671f617
++ resetStartTime@Base 0.6.1
++ weakScreenModel@Base 0.6.1
+diff --git a/debian/qml-module-qtmir.install b/debian/qml-module-qtmir.install
+index edbef82e..dc7a46e3 100644
+--- a/debian/qml-module-qtmir.install
++++ b/debian/qml-module-qtmir.install
+@@ -1,4 +1,4 @@
+ usr/lib/*/qt5/qml/*
+ usr/share/glib-2.0/schemas
+-usr/share/applications
+-usr/share/icons/hicolor/256x256/apps
++usr/share/applications/xwayland.qtmir.desktop
++usr/share/icons/hicolor/256x256/apps/xwayland.qtmir.png
+diff --git a/debian/qtmir-tests.install b/debian/qtmir-tests.install
+index e050f651..38088e4f 100644
+--- a/debian/qtmir-tests.install
++++ b/debian/qtmir-tests.install
+@@ -1,6 +1,5 @@
+ usr/bin/qtmir-demo-client
+ usr/bin/qtmir-demo-shell
+ usr/share/applications/qtmir-demo-client.desktop
+-usr/share/qtmir/benchmarks/*
+ usr/share/qtmir/qtmir-demo-client/*
+ usr/share/qtmir/qtmir-demo-shell/*
+diff --git a/debian/rules b/debian/rules
+index b9811ae7..d723a112 100755
+--- a/debian/rules
++++ b/debian/rules
+@@ -1,7 +1,8 @@
+ #!/usr/bin/make -f
+ # -*- makefile -*-
+
+-export DPKG_GENSYMBOLS_CHECK_LEVEL=4
++# Uncomment this to be more picky with non-updated .symbols files
++#export DPKG_GENSYMBOLS_CHECK_LEVEL=4
+
+ include /usr/share/dpkg/default.mk
+
+@@ -12,15 +13,16 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+ DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
+
+ %:
+- dh $@
++ dh $@ --with pkgkde_symbolshelper
+
+ override_dh_missing:
+ dh_missing --fail-missing
+
+-FLAGS := -DWITH_CONTENTHUB=ON -DWerror=ON
++FLAGS := -DWITH_CONTENTHUB=ON -DWerror=ON -DWITH_MIR2=on
+ # Explicitly disable building with Valgrind on architectures without it.
+-valgrind_architectures := amd64 arm64 armhf i386 mips64el mipsel ppc64el s390x powerpc ppc64 x32
+-ifeq ($(filter $(DEB_HOST_ARCH), $(valgrind_architectures)),)
++# If valgrind is available or not gets decided via the valgrind-if-available
++# virtual package.
++ifeq (, $(shell command -v valgrind))
+ FLAGS += -DWITH_VALGRIND=OFF
+ endif
+
+@@ -32,3 +34,6 @@ override_dh_install:
+ -rm -f debian/tmp/usr/lib/libgmock*.a debian/tmp/usr/lib/libgtest*.a
+ -rm -rf debian/tmp/usr/include/gmock debian/tmp/usr/include/gtest
+ dh_install
++
++get-orig-source:
++ uscan --noconf --force-download --rename --download-current-version --destdir=..
+diff --git a/debian/watch b/debian/watch
+new file mode 100644
+index 00000000..0d87b500
+--- /dev/null
++++ b/debian/watch
+@@ -0,0 +1,4 @@
++version=4
++opts="mode=git, pgpmode=none, pretty=0.8.0~git%cd.%h" \
++https://gitlab.com/ubports/development/core/qtmir.git \
++heads/ubports/focal_-_mir2.0 debian uupdate
+diff --git a/demos/qtmir-demo-shell/CMakeLists.txt b/demos/qtmir-demo-shell/CMakeLists.txt
+index 2a95365d..7f0e3839 100644
+--- a/demos/qtmir-demo-shell/CMakeLists.txt
++++ b/demos/qtmir-demo-shell/CMakeLists.txt
+@@ -6,6 +6,7 @@ include_directories(
+ ${CMAKE_SOURCE_DIR}/include
+
+ ${MIRSERVER_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
+ ${MIRAL_INCLUDE_DIRS}
+
+ ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
+diff --git a/demos/qtmir-demo-shell/Shell.qml b/demos/qtmir-demo-shell/Shell.qml
+index d0777379..066c0a3b 100644
+--- a/demos/qtmir-demo-shell/Shell.qml
++++ b/demos/qtmir-demo-shell/Shell.qml
+@@ -62,6 +62,7 @@ FocusScope {
+ height: surface.size.height
+ focus: surface.focused
+ visible: surface.visible
++ fillMode: MirSurfaceItem.PadOrCrop
+
+ Rectangle {
+ anchors { top: parent.bottom; right: parent.right }
+@@ -104,8 +105,8 @@ Resize window: Ctrl+Right click"
+ color: "black"
+ width: 6
+ height: 10
+- x: PointerPosition.x - window.screen.position.x
+- y: PointerPosition.y - window.screen.position.y
++ x: PointerPosition.x// - window.screen.position.x
++ y: PointerPosition.y// - window.screen.position.y
+ }
+
+ MouseArea {
+diff --git a/demos/qtmir-demo-shell/main.cpp b/demos/qtmir-demo-shell/main.cpp
+index 828a630e..800d385f 100644
+--- a/demos/qtmir-demo-shell/main.cpp
++++ b/demos/qtmir-demo-shell/main.cpp
+@@ -33,10 +33,11 @@
+ #include <qtmir/sessionauthorizer.h>
+ #include <qtmir/windowmanagementpolicy.h>
+ #include <qtmir/displayconfigurationstorage.h>
+-#include <qtmir/miral/edid.h>
+
++#include <miroil/edid.h>
+
+-inline QString stringFromEdid(const miral::Edid& edid)
++
++inline QString stringFromEdid(const miroil::Edid& edid)
+ {
+ QString str;
+ str += QString::fromStdString(edid.vendor);
+@@ -75,12 +76,12 @@ public:
+ }
+ };
+
+-struct DemoDisplayConfigurationStorage : miral::DisplayConfigurationStorage
++struct DemoDisplayConfigurationStorage : miroil::DisplayConfigurationStorage
+ {
+- void save(const miral::DisplayId& displayId, const miral::DisplayConfigurationOptions& options) override
++ void save(const miroil::DisplayId& displayId, const miroil::DisplayConfigurationOptions& options) override
+ {
+ QFile f(stringFromEdid(displayId.edid) + ".edid");
+- qDebug() << "OVERRIDE miral::DisplayConfigurationStorage::save" << f.fileName();
++ qDebug() << "OVERRIDE miroil::DisplayConfigurationStorage::save" << f.fileName();
+
+ QJsonObject json;
+ if (options.used.is_set()) json.insert("used", options.used.value());
+@@ -105,10 +106,10 @@ struct DemoDisplayConfigurationStorage : miral::DisplayConfigurationStorage
+ }
+ }
+
+- bool load(const miral::DisplayId& displayId, miral::DisplayConfigurationOptions& options) const override
++ bool load(const miroil::DisplayId& displayId, miroil::DisplayConfigurationOptions& options) const override
+ {
+ QFile f(stringFromEdid(displayId.edid) + ".edid");
+- qDebug() << "OVERRIDE miral::DisplayConfigurationStorage::load" << f.fileName();
++ qDebug() << "OVERRIDE miroil::DisplayConfigurationStorage::load" << f.fileName();
+
+ if (f.open(QIODevice::ReadOnly)) {
+ QByteArray saveData = f.readAll();
+@@ -124,7 +125,7 @@ struct DemoDisplayConfigurationStorage : miral::DisplayConfigurationStorage
+ QString sz(jsonMode["size"].toString());
+ QStringList geo = sz.split("x", QString::SkipEmptyParts);
+ if (geo.count() == 2) {
+- miral::DisplayConfigurationOptions::DisplayMode mode;
++ miroil::DisplayConfigurationOptions::DisplayMode mode;
+ mode.size = mir::geometry::Size(geo[0].toInt(), geo[1].toInt());
+ mode.refresh_rate = jsonMode["refresh_rate"].toDouble();
+ options.mode = mode;
+diff --git a/demos/qtmir-demo-shell/qml-demo-shell.qml b/demos/qtmir-demo-shell/qml-demo-shell.qml
+index ac175cb0..7ed32d45 100644
+--- a/demos/qtmir-demo-shell/qml-demo-shell.qml
++++ b/demos/qtmir-demo-shell/qml-demo-shell.qml
+@@ -1,4 +1,6 @@
+ import QtQuick 2.5
++import QtQml.Models 2.15
++import QtQml 2.15
+ import QtMir.DemoShell 0.1
+
+ Instantiator {
+diff --git a/include/qtmir/miral/display_configuration_policy.h b/include/miroil/display_configuration_policy.h
+similarity index 79%
+rename from include/qtmir/miral/display_configuration_policy.h
+rename to include/miroil/display_configuration_policy.h
+index 9c277135..c6d2b70e 100644
+--- a/include/qtmir/miral/display_configuration_policy.h
++++ b/include/miroil/display_configuration_policy.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright © 2016 Canonical Ltd.
++ * Copyright © 2016-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -16,12 +16,12 @@
+ * Authored by: Nick Dedekind <nick.dedekind@canonical.com>
+ */
+
+-#ifndef MIRAL_DISPLAY_CONDIFIGURATION_POLICY_H
+-#define MIRAL_DISPLAY_CONDIFIGURATION_POLICY_H
++#ifndef MIROIL_DISPLAY_CONDIFIGURATION_POLICY_H
++#define MIROIL_DISPLAY_CONDIFIGURATION_POLICY_H
+
+ namespace mir { namespace graphics { class DisplayConfiguration; } }
+
+-namespace miral
++namespace miroil
+ {
+
+ class DisplayConfigurationPolicy
+@@ -29,14 +29,14 @@ class DisplayConfigurationPolicy
+ public:
+ DisplayConfigurationPolicy();
+
+- virtual ~DisplayConfigurationPolicy() = default;
++ virtual ~DisplayConfigurationPolicy();
+ DisplayConfigurationPolicy(DisplayConfigurationPolicy const&) = delete;
+ DisplayConfigurationPolicy& operator=(DisplayConfigurationPolicy const&) = delete;
+
+ virtual void apply_to(mir::graphics::DisplayConfiguration& conf) = 0;
+ };
+
+-} // namespace miral
++} // namespace miroil
+
+
+-#endif // MIRAL_DISPLAY_CONDIFIGURATION_POLICY_H
++#endif // MIROIL_DISPLAY_CONDIFIGURATION_POLICY_H
+diff --git a/include/qtmir/miral/display_configuration_storage.h b/include/miroil/display_configuration_storage.h
+similarity index 79%
+rename from include/qtmir/miral/display_configuration_storage.h
+rename to include/miroil/display_configuration_storage.h
+index 8090877b..f66e3d00 100644
+--- a/include/qtmir/miral/display_configuration_storage.h
++++ b/include/miroil/display_configuration_storage.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright © 2016-2017 Canonical Ltd.
++ * Copyright © 2016-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -16,23 +16,24 @@
+ * Authored by: Nick Dedekind <nick.dedekind@canonical.com>
+ */
+
+-#ifndef MIRAL_DISPLAY_CONFIGURATION_STORAGE_H
+-#define MIRAL_DISPLAY_CONFIGURATION_STORAGE_H
++#ifndef MIROIL_DISPLAY_CONFIGURATION_STORAGE_H
++#define MIROIL_DISPLAY_CONFIGURATION_STORAGE_H
++
++#include <miroil/display_id.h>
+
+ #include <mir/geometry/rectangle.h>
+ #include <mir/optional_value.h>
+ #include <mir_toolkit/common.h>
+
+-#include "display_id.h"
++#include <sys/types.h>
+
+-// Prototyping namespace for later incorporation in MirAL
+-namespace miral
++namespace miroil
+ {
+
+ struct DisplayConfigurationOptions
+ {
+ mir::optional_value<bool> used;
+- mir::optional_value<unsigned int> clone_output_index;
++ mir::optional_value<uint> clone_output_index;
+ struct DisplayMode
+ {
+ mir::geometry::Size size;
+@@ -53,6 +54,6 @@ public:
+ virtual bool load(const DisplayId&, DisplayConfigurationOptions&) const = 0;
+ };
+
+-} // namespace miral
++} // namespace miroil
+
+-#endif // MIRAL_DISPLAY_CONFIGURATION_STORAGE_H
++#endif // MIROIL_DISPLAY_CONFIGURATION_STORAGE_H
+diff --git a/include/qtmir/miral/display_id.h b/include/miroil/display_id.h
+similarity index 66%
+rename from include/qtmir/miral/display_id.h
+rename to include/miroil/display_id.h
+index a65d59b4..50b0c933 100644
+--- a/include/qtmir/miral/display_id.h
++++ b/include/miroil/display_id.h
+@@ -1,14 +1,13 @@
+-#ifndef MIRAL_DISPLAY_ID_H
+-#define MIRAL_DISPLAY_ID_H
++#ifndef MIROIL_DISPLAY_ID_H
++#define MIROIL_DISPLAY_ID_H
+
+ #include <mir/int_wrapper.h>
+
+-#include "edid.h"
++#include <miroil/edid.h>
+
+ namespace mir { namespace graphics { namespace detail { struct GraphicsConfOutputIdTag; } } }
+
+-// Prototyping namespace for later incorporation in MirAL
+-namespace miral
++namespace miroil
+ {
+ using OutputId = mir::IntWrapper<mir::graphics::detail::GraphicsConfOutputIdTag>;
+
+@@ -20,4 +19,4 @@ struct DisplayId
+
+ } // namespace miral
+
+-#endif // MIRAL_DISPLAY_ID_H
++#endif // MIROIL_DISPLAY_ID_H
+diff --git a/include/qtmir/miral/edid.h b/include/miroil/edid.h
+similarity index 89%
+rename from include/qtmir/miral/edid.h
+rename to include/miroil/edid.h
+index d8f4e369..ec5996e5 100644
+--- a/include/qtmir/miral/edid.h
++++ b/include/miroil/edid.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright © 2016 Canonical Ltd.
++ * Copyright © 2016-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -16,15 +16,14 @@
+ * Authored by: Nick Dedekind <nick.dedekind@canonical.com>
+ */
+
+-#ifndef MIRAL_EDID_H
+-#define MIRAL_EDID_H
++#ifndef MIROIL_EDID_H
++#define MIROIL_EDID_H
+
+ #include <cstdint>
+ #include <string>
+ #include <vector>
+
+-// Prototyping namespace for later incorporation in MirAL
+-namespace miral
++namespace miroil
+ {
+
+ struct Edid
+@@ -66,4 +65,4 @@ struct Edid
+
+ }
+
+-#endif // MIRAL_EDID_H
++#endif // MIROIL_EDID_H
+diff --git a/include/qtmir/displayconfigurationpolicy.h b/include/qtmir/displayconfigurationpolicy.h
+index cb26a0de..3b437625 100644
+--- a/include/qtmir/displayconfigurationpolicy.h
++++ b/include/qtmir/displayconfigurationpolicy.h
+@@ -17,13 +17,12 @@
+ #ifndef QTMIR_DISPLAYCONFIGURATIONPOLICY_H
+ #define QTMIR_DISPLAYCONFIGURATIONPOLICY_H
+
+-//qtmir
+-#include "qtmir/miral/display_configuration_policy.h"
+-
+-// mir
+-#include <mir/server.h>
++//miroil
++#include <miroil/display_configuration_policy.h>
++#include <miroil/persist_display_config.h>
+
+ #include <memory>
++#include <functional>
+
+ class QMirServer;
+
+@@ -44,7 +43,7 @@ namespace qtmir
+
+ qtmir::GuiServerApplication app(argc, argv, { SetDisplayConfigurationPolicy<MyDisplayConfigurationPolicy>() });
+ */
+-class DisplayConfigurationPolicy : public miral::DisplayConfigurationPolicy
++class DisplayConfigurationPolicy : public miroil::DisplayConfigurationPolicy
+ {
+ public:
+ DisplayConfigurationPolicy();
+@@ -56,7 +55,7 @@ private:
+ std::shared_ptr<Private> d;
+ };
+
+-using DisplayConfigurationPolicyWrapper = std::function<std::shared_ptr<miral::DisplayConfigurationPolicy>()>;
++using DisplayConfigurationPolicyWrapper = std::function<std::shared_ptr<miroil::DisplayConfigurationPolicy>(std::shared_ptr<mir::graphics::DisplayConfigurationPolicy> const& wrapped)>;
+
+ /*
+ Base class for access to set the display configuration policy
+@@ -84,7 +83,7 @@ public:
+ template<typename ...Args>
+ explicit SetDisplayConfigurationPolicy(Args const& ...args) :
+ BasicSetDisplayConfigurationPolicy{
+- [&args...]() { return std::make_shared<Policy>(args...); }} {}
++ [&args...](auto) { return std::make_shared<Policy>(args...); }} {}
+ };
+
+ } // namespace qtmir
+diff --git a/include/qtmir/displayconfigurationstorage.h b/include/qtmir/displayconfigurationstorage.h
+index 8a24e4ab..c7f1451c 100644
+--- a/include/qtmir/displayconfigurationstorage.h
++++ b/include/qtmir/displayconfigurationstorage.h
+@@ -17,7 +17,7 @@
+ #ifndef DISPLAYCONFIGURATIONSTORAGE_H
+ #define DISPLAYCONFIGURATIONSTORAGE_H
+
+-#include "qtmir/miral/display_configuration_storage.h"
++#include <miroil/display_configuration_storage.h>
+
+ #include <functional>
+ #include <memory>
+@@ -27,7 +27,7 @@ class QMirServer;
+ namespace qtmir
+ {
+
+-using DisplayConfigurationStorageBuilder = std::function<std::shared_ptr<miral::DisplayConfigurationStorage>()>;
++using DisplayConfigurationStorageBuilder = std::function<std::shared_ptr<miroil::DisplayConfigurationStorage>()>;
+
+ class BasicSetDisplayConfigurationStorage
+ {
+diff --git a/include/qtmir/screen.h b/include/qtmir/screen.h
+index 48793411..805a0fb7 100644
+--- a/include/qtmir/screen.h
++++ b/include/qtmir/screen.h
+@@ -18,7 +18,7 @@
+ #define QTMIR_SCREEN_H
+
+ #include <qtmir/types.h>
+-#include <qtmir/miral/display_id.h>
++#include <miroil/display_id.h>
+
+ #include <QObject>
+ #include <QPointer>
+@@ -40,7 +40,7 @@ class Screen : public QObject
+ {
+ Q_OBJECT
+ public:
+- virtual miral::DisplayId displayId() const = 0;
++ virtual miroil::DisplayId displayId() const = 0;
+ virtual bool used() const = 0;
+ virtual QString name() const = 0;
+ virtual float scale() const = 0;
+@@ -57,8 +57,8 @@ public:
+
+ virtual QScreen* qscreen() const = 0;
+
+- virtual ScreenConfiguration *beginConfiguration() const = 0;
+- virtual bool applyConfiguration(ScreenConfiguration *configuration) = 0;
++ virtual Q_INVOKABLE ScreenConfiguration *beginConfiguration() const = 0;
++ virtual Q_INVOKABLE bool applyConfiguration(ScreenConfiguration *configuration) = 0;
+
+ Q_SIGNALS:
+ void usedChanged();
+@@ -96,7 +96,7 @@ public:
+ struct ScreenConfiguration
+ {
+ bool valid{false};
+- miral::OutputId id;
++ miroil::OutputId id;
+
+ bool used;
+ QPoint topLeft;
+diff --git a/include/qtmir/windowmanagementpolicy.h b/include/qtmir/windowmanagementpolicy.h
+index 69f4f6b0..c1e5519f 100644
+--- a/include/qtmir/windowmanagementpolicy.h
++++ b/include/qtmir/windowmanagementpolicy.h
+@@ -18,7 +18,7 @@
+ #define QTMIR_WINDOWMANAGEMENTPOLICY_H
+
+ // miral
+-#include <miral/canonical_window_manager.h>
++#include <miral/minimal_window_manager.h>
+ #include <miral/version.h>
+ #if MIRAL_VERSION > MIR_VERSION_NUMBER(1,3,1)
+ #include <miral/set_window_management_policy.h>
+@@ -43,7 +43,7 @@ class WindowManagementPolicyPrivate;
+ /*
+ Provides window management callbacks for window behaviour customization
+ */
+-class WindowManagementPolicy : public miral::CanonicalWindowManagerPolicy
++class WindowManagementPolicy : public miral::MinimalWindowManager
+ {
+ public:
+
+diff --git a/src/common/debughelpers.cpp b/src/common/debughelpers.cpp
+index 0e3be568..362d252d 100644
+--- a/src/common/debughelpers.cpp
++++ b/src/common/debughelpers.cpp
+@@ -17,7 +17,13 @@
+ #include "debughelpers.h"
+ #include <QTouchEvent>
+
++#include <mir/version.h>
++#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(2, 0, 0)
++#include <miral/toolkit_event.h>
++using namespace miral::toolkit;
++#else
+ #include <mir_toolkit/event.h>
++#endif
+
+ // Lomiri Shell API
+ #include <lomiri/shell/application/ApplicationInfoInterface.h>
+@@ -124,6 +130,7 @@ const char *mirSurfaceTypeToStr(int value)
+ case mir_window_type_inputmethod: return "input Method"; /**< AKA "OSK" or handwriting etc. */
+ case mir_window_type_satellite: return "satellite"; /**< AKA "toolbox"/"toolbar" */
+ case mir_window_type_tip: return "tip"; /**< AKA "tooltip" */
++ case mir_window_type_decoration: return "decoration";
+ case mir_window_types: Q_UNREACHABLE();
+ }
+ Q_UNREACHABLE();
+diff --git a/src/common/debughelpers.h b/src/common/debughelpers.h
+index 0828db27..31814dbe 100644
+--- a/src/common/debughelpers.h
++++ b/src/common/debughelpers.h
+@@ -20,7 +20,13 @@
+ #include <QString>
+
+ #include <mir_toolkit/common.h>
++#include <mir/version.h>
++#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(2, 0, 0)
++#include <miral/toolkit_event.h>
++using namespace miral::toolkit;
++#else
+ #include <mir_toolkit/event.h>
++#endif
+
+ class QTouchEvent;
+
+diff --git a/src/common/windowcontrollerinterface.h b/src/common/windowcontrollerinterface.h
+index 062c02a7..f33b1b80 100644
+--- a/src/common/windowcontrollerinterface.h
++++ b/src/common/windowcontrollerinterface.h
+@@ -19,7 +19,13 @@
+
+ #include <miral/window.h>
+
++#include <mir/version.h>
++#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(2, 0, 0)
++#include <miral/toolkit_event.h>
++using namespace miral::toolkit;
++#else
+ #include <mir_toolkit/event.h>
++#endif
+
+ #include <QPoint>
+ #include <QSize>
+diff --git a/src/common/windowmodelnotifier.h b/src/common/windowmodelnotifier.h
+index e534803d..388d0175 100644
+--- a/src/common/windowmodelnotifier.h
++++ b/src/common/windowmodelnotifier.h
+@@ -90,6 +90,8 @@ Q_SIGNALS: // **Must used Queued Connection or else events will be out of order*
+ void modificationsStarted();
+ void modificationsEnded();
+
++ void windowDecorationChanged(const miral::Window &window, bool ssd);
++
+ private:
+ Q_DISABLE_COPY(WindowModelNotifier)
+ };
+@@ -112,6 +114,7 @@ Q_SIGNALS:
+ void windowStateChanged(Mir::State state);
+ void windowFocusChanged(bool focused);
+ void windowRequestedRaise();
++ void windowDecorationChanged(bool ssd);
+ };
+
+ } // namespace qtmir
+@@ -120,5 +123,6 @@ Q_DECLARE_METATYPE(qtmir::NewWindow)
+ Q_DECLARE_METATYPE(miral::WindowInfo)
+ Q_DECLARE_METATYPE(std::vector<miral::Window>)
+ Q_DECLARE_METATYPE(MirWindowState)
++Q_DECLARE_METATYPE(miral::Window)
+
+ #endif // WINDOWMODELNOTIFIER_H
+diff --git a/src/common/workspacecontrollerinterface.h b/src/common/workspacecontrollerinterface.h
+index eb7b281c..fcb26fb2 100644
+--- a/src/common/workspacecontrollerinterface.h
++++ b/src/common/workspacecontrollerinterface.h
+@@ -19,8 +19,6 @@
+
+ #include <miral/window.h>
+
+-#include <mir_toolkit/event.h>
+-
+ #include <QPoint>
+ #include <QSize>
+
+diff --git a/src/modules/QtMir/Application/CMakeLists.txt b/src/modules/QtMir/Application/CMakeLists.txt
+index 5fac5329..f5a0b125 100644
+--- a/src/modules/QtMir/Application/CMakeLists.txt
++++ b/src/modules/QtMir/Application/CMakeLists.txt
+@@ -1,8 +1,13 @@
+ include(UseLttngGenTp)
+
++if(NOT WITH_MIR2)
++ set(MIROIL_INC ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include)
++endif()
++
+ include_directories(
+ ${CMAKE_SOURCE_DIR}/include
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${MIROIL_INC}
+ ${CMAKE_SOURCE_DIR}/src/common
+ ${CMAKE_CURRENT_BINARY_DIR} # for tracepoints.h
+ )
+@@ -14,6 +19,7 @@ include_directories(
+ ${GIO_UNIX_INCLUDE_DIRS}
+ ${MIRAL_INCLUDE_DIRS}
+ ${MIRSERVER_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
+ ${MIRRENDERERGLDEV_INCLUDE_DIRS}
+ ${PROCESS_CPP_INCLUDE_DIRS}
+ ${UBUNTU_PLATFORM_API_INCLUDE_DIRS}
+diff --git a/src/modules/QtMir/Application/application.cpp b/src/modules/QtMir/Application/application.cpp
+index c5979f20..f7ca448a 100644
+--- a/src/modules/QtMir/Application/application.cpp
++++ b/src/modules/QtMir/Application/application.cpp
+@@ -441,12 +441,6 @@ bool Application::fullscreen() const
+ return false;
+ }
+
+-// TODO
+-bool Application::serverSideDecoration() const
+-{
+- return true;
+-}
+-
+ void Application::close()
+ {
+ DEBUG_MSG << "()";
+@@ -896,6 +890,16 @@ shellapp::MirSurfaceListInterface* Application::promptSurfaceList() const
+ return m_proxyPromptSurfaceList;
+ }
+
++bool Application::serverSideDecoration() const
++{
++ return m_ssd;
++}
++
++void Application::setServerSideDecoration(bool ssd) {
++ m_ssd = ssd;
++ Q_EMIT serverSideDecorationChanged(ssd);
++}
++
+ void Application::requestFocus()
+ {
+ if (m_surfaceList.rowCount() > 0) {
+diff --git a/src/modules/QtMir/Application/application.h b/src/modules/QtMir/Application/application.h
+index 41d8e05d..13514097 100644
+--- a/src/modules/QtMir/Application/application.h
++++ b/src/modules/QtMir/Application/application.h
+@@ -106,6 +106,8 @@ public:
+ lomiri::shell::application::MirSurfaceListInterface* promptSurfaceList() const override;
+ int surfaceCount() const override { return surfaceList()->count(); }
+ bool serverSideDecoration() const override;
++ void setServerSideDecoration(bool ssd);
++
+ void close() override;
+
+ ProcessState processState() const { return m_processState; }
+@@ -180,6 +182,7 @@ private:
+ bool m_exemptFromLifecycle;
+ QSize m_initialSurfaceSize;
+ bool m_closing{false};
++ bool m_ssd{true};
+
+ mutable MirSurfaceListModel m_surfaceList;
+ ProxySurfaceListModel *m_proxyPromptSurfaceList;
+diff --git a/src/modules/QtMir/Application/application_manager.cpp b/src/modules/QtMir/Application/application_manager.cpp
+index 3b135541..fe2a69a8 100644
+--- a/src/modules/QtMir/Application/application_manager.cpp
++++ b/src/modules/QtMir/Application/application_manager.cpp
+@@ -78,6 +78,32 @@ QString toShortAppIdIfPossible(const QString &appId) {
+
+ } // namespace
+
++class NoDesktopAppInfo : public ApplicationInfo
++{
++public:
++ NoDesktopAppInfo(QString name) : m_name(name) {};
++ QString appId() const override { return m_name; };
++ QString name() const override { return m_name; };
++ QString comment() const override { return m_name; };
++ QUrl icon() const override {return QUrl(); };
++ bool showSplash() const override { return false; };
++ QString splashTitle() const override {return m_name; };
++ QUrl splashImage() const override {return QUrl(); };
++ bool splashShowHeader() const override { return false; };
++ QString splashColor() const override { return ""; };
++ QString splashColorHeader() const override { return ""; };
++ QString splashColorFooter() const override { return ""; };
++ Qt::ScreenOrientations supportedOrientations() const override { return Qt::PortraitOrientation |
++ Qt::LandscapeOrientation |
++ Qt::InvertedPortraitOrientation |
++ Qt::InvertedLandscapeOrientation; };
++ bool rotatesWindowContents() const override { return false; };
++ bool isTouchApp() const override { return false; };
++
++private:
++ QString m_name;
++};
++
+ ApplicationManager* ApplicationManager::create()
+ {
+ NativeInterface *nativeInterface = dynamic_cast<NativeInterface*>(QGuiApplication::platformNativeInterface());
+@@ -503,6 +529,62 @@ void ApplicationManager::onAppDataChanged(const int role)
+ }
+ }
+
++QSharedPointer<ApplicationInfo> ApplicationManager::tryFindApp(const pid_t pid)
++{
++ // We first try task controller
++ std::unique_ptr<ProcInfo::CommandLine> info = m_procInfo->commandLine(pid);
++ QString desktopFileName = info->getParameter("--desktop_file_hint=");
++
++ if (desktopFileName.isNull()) {
++ auto environment = m_procInfo->environment(pid);
++ if (environment && environment->contains("DESKTOP_FILE_HINT")) {
++ desktopFileName = environment->getParameter("DESKTOP_FILE_HINT");
++ }
++ }
++
++ qCDebug(QTMIR_APPLICATIONS) << "Trying to find desktop file";
++
++ if (desktopFileName.isNull()) {
++ const auto paths = QStandardPaths::standardLocations(QStandardPaths::ApplicationsLocation);
++ for (const auto &path: paths) {
++ qWarning() << "searching" << path;
++ QDirIterator it(path, QStringList() << "*.desktop", QDir::Files, QDirIterator::Subdirectories);
++ while (it.hasNext()) {
++ auto file = it.next();
++ QTextStream in (&file);
++ QString line;
++ while (!line.isNull()) {
++ line = in.readLine();
++ if (line.contains("exec") && line.contains(info->getExec())) {
++ qWarning() << "found match for" << info->asStringList()[0] << "as" << file;
++ desktopFileName = file;
++ break;
++ }
++ }
++ if (!desktopFileName.isNull())
++ break;
++ }
++ if (!desktopFileName.isNull())
++ break;
++ }
++ }
++
++ if (!desktopFileName.isNull()) {
++ // Guess appId from the desktop file hint
++ const QString appId = toShortAppIdIfPossible(desktopFileName.split('/').last().remove(QRegExp(QStringLiteral(".desktop$"))));
++
++ qCDebug(QTMIR_APPLICATIONS) << "Process supplied desktop_file_hint, loading:" << appId;
++
++ auto appInfo = m_taskController->getInfoForApp(appId);
++ return appInfo;
++ }
++
++ // If all else fails, make a dummy app info
++ auto nod = new NoDesktopAppInfo(info->getExec());
++ return QSharedPointer<NoDesktopAppInfo>(nod);
++
++}
++
+ void ApplicationManager::authorizeSession(const pid_t pid, bool &authorized)
+ {
+ // This is the only function that is called from a different thread than the one
+diff --git a/src/modules/QtMir/Application/application_manager.h b/src/modules/QtMir/Application/application_manager.h
+index 59e6ec72..cce98d1f 100644
+--- a/src/modules/QtMir/Application/application_manager.h
++++ b/src/modules/QtMir/Application/application_manager.h
+@@ -123,6 +123,7 @@ private:
+
+ Application* findApplicationWithPromptSession(const mir::scene::PromptSession* promptSession);
+ Application *findClosingApplication(const QString &inputAppId) const;
++ QSharedPointer<qtmir::ApplicationInfo> tryFindApp(const pid_t pid);
+
+ QList<Application*> m_applications;
+ DBusFocusInfo *m_dbusFocusInfo;
+diff --git a/src/modules/QtMir/Application/mirbuffersgtexture.cpp b/src/modules/QtMir/Application/mirbuffersgtexture.cpp
+index 704a4f08..c4bfb53a 100644
+--- a/src/modules/QtMir/Application/mirbuffersgtexture.cpp
++++ b/src/modules/QtMir/Application/mirbuffersgtexture.cpp
+@@ -19,6 +19,7 @@
+
+ // Mir
+ #include <mir/geometry/size.h>
++#include <mir/version.h>
+
+ // Qt
+ #include <QDebug>
+@@ -30,7 +31,7 @@ namespace mg = mir::geometry;
+ class MirGlBuffer
+ {
+ public:
+- MirGlBuffer(const std::shared_ptr<miral::GLBuffer>& buffer);
++ MirGlBuffer(const std::shared_ptr<miroil::GLBuffer>& buffer);
+ virtual ~MirGlBuffer();
+
+ static std::shared_ptr<MirGlBuffer> from_mir_buffer(const std::shared_ptr<mir::graphics::Buffer>& buffer);
+@@ -50,7 +51,7 @@ public:
+ protected:
+ virtual void bindTexture() = 0;
+
+- std::shared_ptr<miral::GLBuffer> m_mirBuffer;
++ std::shared_ptr<miroil::GLBuffer> m_mirBuffer;
+ GLuint m_textureId;
+
+ private:
+@@ -63,10 +64,14 @@ private:
+ class MirGlBufferTexture : public MirGlBuffer
+ {
+ public:
+- MirGlBufferTexture(const std::shared_ptr<miral::GLBuffer>& buffer)
++ MirGlBufferTexture(const std::shared_ptr<miroil::GLBuffer>& buffer)
+ : MirGlBuffer(buffer)
+ // Strong reference held by base class.
+- , m_texBuf(static_cast<miral::GLTextureBuffer *>(buffer.get()))
++#if MIR_SERVER_MAJOR_VERSION < 2
++ , m_texBuf(static_cast<miroil::GLTextureBuffer *>(buffer.get()))
++#else
++ , m_texBuf(buffer.get())
++#endif
+ {}
+
+ void updateTextureId() override
+@@ -85,16 +90,21 @@ public:
+ }
+
+ private:
+- miral::GLTextureBuffer *m_texBuf;
++#if MIR_SERVER_MAJOR_VERSION < 2
++ miroil::GLTextureBuffer *m_texBuf;
++#else
++ miroil::GLBuffer *m_texBuf;
++#endif
+ };
+
++#if MIR_SERVER_MAJOR_VERSION < 2
+ class MirGlBufferTexturesource : public MirGlBuffer
+ {
+ public:
+- MirGlBufferTexturesource(const std::shared_ptr<miral::GLBuffer>& buffer)
++ MirGlBufferTexturesource(const std::shared_ptr<miroil::GLBuffer>& buffer)
+ : MirGlBuffer(buffer)
+ // Strong reference held by base class.
+- , m_texSourceBuf(static_cast<miral::GLTextureSourceBuffer *>(buffer.get()))
++ , m_texSourceBuf(static_cast<miroil::GLTextureSourceBuffer *>(buffer.get()))
+ {}
+
+ void updateTextureId() override
+@@ -113,10 +123,11 @@ public:
+ }
+
+ private:
+- miral::GLTextureSourceBuffer * m_texSourceBuf;
++ miroil::GLTextureSourceBuffer * m_texSourceBuf;
+ };
++#endif
+
+-MirGlBuffer::MirGlBuffer(const std::shared_ptr<miral::GLBuffer>& buffer) :
++MirGlBuffer::MirGlBuffer(const std::shared_ptr<miroil::GLBuffer>& buffer) :
+ m_mirBuffer(buffer)
+ , m_textureId(0)
+ , m_needsUpdate(true)
+@@ -135,10 +146,12 @@ MirGlBuffer::~MirGlBuffer()
+ }
+
+ std::shared_ptr<MirGlBuffer> MirGlBuffer::from_mir_buffer(const std::shared_ptr<mir::graphics::Buffer>& buffer) {
+- auto glBuffer = miral::GLBuffer::from_mir_buffer(buffer);
+- if (glBuffer->type() == miral::GLBuffer::Type::GLTextureSource)
++ auto glBuffer = miroil::GLBuffer::from_mir_buffer(buffer);
++ #if MIR_SERVER_MAJOR_VERSION < 2
++ if (glBuffer->type() == miroil::GLBuffer::Type::GLTextureSource)
+ return std::make_shared<MirGlBufferTexturesource>(glBuffer);
+ else
++#endif
+ return std::make_shared<MirGlBufferTexture>(glBuffer);
+ }
+
+diff --git a/src/modules/QtMir/Application/mirbuffersgtexture.h b/src/modules/QtMir/Application/mirbuffersgtexture.h
+index 51579d03..2b45b339 100644
+--- a/src/modules/QtMir/Application/mirbuffersgtexture.h
++++ b/src/modules/QtMir/Application/mirbuffersgtexture.h
+@@ -17,7 +17,7 @@
+ #ifndef MIRBUFFERSGTEXTURE_H
+ #define MIRBUFFERSGTEXTURE_H
+
+-#include "miral/mirbuffer.h"
++#include <miroil/mirbuffer.h>
+
+ #include <QSGTexture>
+
+diff --git a/src/modules/QtMir/Application/mirsurface.cpp b/src/modules/QtMir/Application/mirsurface.cpp
+index 1290d1f5..3391a5c5 100644
+--- a/src/modules/QtMir/Application/mirsurface.cpp
++++ b/src/modules/QtMir/Application/mirsurface.cpp
+@@ -18,7 +18,6 @@
+ #include "compositortextureprovider.h"
+ #include "mirsurface.h"
+ #include "mirsurfacelistmodel.h"
+-#include "namedcursor.h"
+ #include "session_interface.h"
+ #include "surfacemanager.h"
+ #include "timer.h"
+@@ -36,10 +35,13 @@
+
+ // Mir
+ #include <mir/geometry/rectangle.h>
+-#include <mir/scene/surface.h>
+-#include <mir/scene/surface_observer.h>
++//#include <mir/scene/surface.h>
++//#include <mir/scene/surface_observer.h>
+ #include <mir/version.h>
+-#include <mir_toolkit/cursors.h>
++//#include <mir_toolkit/cursors.h>
++// #include <mir_toolkit/event.h>
++#include <miroil/surface_observer.h>
++#include "namedcursor.h"
+
+ // mirserver
+ #include <logging.h>
+@@ -82,7 +84,7 @@ qint64 msecsSinceReference()
+
+ } // namespace {
+
+-class MirSurface::SurfaceObserverImpl : public SurfaceObserver, public mir::scene::SurfaceObserver
++class MirSurface::SurfaceObserverImpl : public SurfaceObserver, public miroil::SurfaceObserver
+ {
+ public:
+ SurfaceObserverImpl();
+@@ -94,7 +96,7 @@ public:
+ void attrib_changed(mir::scene::Surface const*, MirWindowAttrib, int) override;
+ #if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(1, 6, 0)
+ void content_resized_to(mir::scene::Surface const*, mir::geometry::Size const&) override;
+- void window_resized_to(mir::scene::Surface const*, mir::geometry::Size const&) override {}
++ void window_resized_to(mir::scene::Surface const*, mir::geometry::Size const&) override { qWarning("Window resized to");}
+ #else
+ void resized_to(mir::scene::Surface const*, mir::geometry::Size const&) override;
+ #endif
+@@ -106,7 +108,7 @@ public:
+
+ void alpha_set_to(mir::scene::Surface const*, float) override {}
+ void transformation_set_to(mir::scene::Surface const*, glm::mat4 const&) override {}
+- void reception_mode_set_to(mir::scene::Surface const*, mir::input::InputReceptionMode) override {}
++// void reception_mode_set_to(mir::scene::Surface const*, mir::input::InputReceptionMode) override {}
+ void cursor_image_set_to(mir::scene::Surface const*, mir::graphics::CursorImage const&) override;
+ void orientation_set_to(mir::scene::Surface const*, MirOrientation) override {}
+ void client_surface_close_requested(mir::scene::Surface const*) override {}
+@@ -192,6 +194,10 @@ public:
+ connect(this, &WindowNotifierObserver::windowRequestedRaise, this, [surface]() {
+ surface->requestFocus();
+ });
++ connect(this, &WindowNotifierObserver::windowDecorationChanged, this, [surface]( bool ssd) {
++ Application *app = static_cast<Application*>(surface->session()->application());
++ app->setServerSideDecoration(ssd);
++ });
+ }
+ };
+
+@@ -210,7 +216,7 @@ MirSurface::MirSurface(NewWindow newWindowInfo,
+ , m_maxHeight{newWindowInfo.windowInfo.max_height().as_int()}
+ , m_incWidth{newWindowInfo.windowInfo.width_inc().as_int()}
+ , m_incHeight{newWindowInfo.windowInfo.height_inc().as_int()}
+- , m_surface(newWindowInfo.surface)
++ , m_surface(std::make_shared<miroil::Surface>(newWindowInfo.surface))
+ , m_session(session)
+ , m_controller(controller)
+ , m_orientationAngle(Mir::Angle0)
+@@ -235,7 +241,7 @@ MirSurface::MirSurface(NewWindow newWindowInfo,
+
+ m_position = convertDisplayToLocalCoords(toQPoint(m_window.top_left()));
+
+- SurfaceObserver::registerObserverForSurface(m_surfaceObserver.get(), m_surface.get());
++ SurfaceObserver::registerObserverForSurface(m_surfaceObserver.get(), m_surface->get_wrapped());
+ m_surface->add_observer(m_surfaceObserver);
+
+ connect(m_surfaceObserver.get(), &SurfaceObserver::framesPosted, this, &MirSurface::onFramesPostedObserved);
+@@ -254,6 +260,10 @@ MirSurface::MirSurface(NewWindow newWindowInfo,
+ });
+ connect(m_surfaceObserver.get(), &SurfaceObserver::inputBoundsChanged, this, &MirSurface::setInputBounds);
+ connect(m_surfaceObserver.get(), &SurfaceObserver::confinesMousePointerChanged, this, &MirSurface::confinesMousePointerChanged);
++ connect(m_surfaceObserver.get(), &SurfaceObserver::resized, this, [&](QSize const &size){
++ m_size = size;
++ QMetaObject::invokeMethod(this, "emitSizeChanged", Qt::QueuedConnection);
++ });
+ m_surfaceObserver->setListener(this);
+
+ connect(session, &SessionInterface::stateChanged, this, [this]() {
+@@ -382,9 +392,9 @@ void MirSurface::dropPendingBuffer()
+ texture->freeBuffer();
+ texture->setBuffer(renderables[0]->buffer());
+ if (texture->textureSize() != m_size) {
+- m_size = texture->textureSize();
+- m_sizePendingChange = false;
+- QMetaObject::invokeMethod(this, "emitSizeChanged", Qt::QueuedConnection);
++ //m_size = texture->textureSize();
++ //m_sizePendingChange = false;
++ //QMetaObject::invokeMethod(this, "emitSizeChanged", Qt::QueuedConnection);
+ }
+ compositorTexture->setUpToDate(true);
+
+@@ -440,27 +450,29 @@ QSGTexture *MirSurface::weakTexture(qintptr userId) const
+ return compositorTexure ? compositorTexure->texture().toStrongRef().data() : nullptr;
+ }
+
+-bool MirSurface::updateTexture(qintptr userId)
++std::vector<MirSurface::SubSurfaceTexture> MirSurface::updateTexture(qintptr userId)
+ {
+ QMutexLocker locker(&m_mutex);
+
+ auto compositorTexure = m_textures->compositorTextureForId(userId);
+- if (!compositorTexure) return false;
++ if (!compositorTexure) return {};
+
+ return updateTextureLocked(userId, compositorTexure);
+ }
+
+-bool MirSurface::updateTextureLocked(qintptr userId, CompositorTexture *compositorTexture)
++std::vector<MirSurface::SubSurfaceTexture> MirSurface::updateTextureLocked(qintptr userId, CompositorTexture *compositorTexture)
+ {
+ auto texture = qWeakPointerCast<MirBufferSGTexture, QSGTexture>(compositorTexture->texture()).lock();
+- if (!texture) return false;
++ // TODO figure out how to cache!
++ //if (!texture) return {};
+
+- if (compositorTexture->isUpToDate()) {
+- return texture->hasBuffer();
+- }
++ //if (compositorTexture->isUpToDate()) {
++ // return {};
++ //}
+
+ auto renderables = m_surface->generate_renderables((void*)userId);
+
++ std::vector<SubSurfaceTexture> subsurfaces;
+ if (renderables.size() > 0 &&
+ (m_surface->buffers_ready_for_compositor((void*)userId) > 0 || !texture->hasBuffer())
+ ) {
+@@ -471,12 +483,35 @@ bool MirSurface::updateTextureLocked(qintptr userId, CompositorTexture *composit
+ compositorTexture->incrementFrame();
+
+ if (texture->textureSize() != m_size) {
+- m_size = texture->textureSize();
+- m_sizePendingChange = false;
+- QMetaObject::invokeMethod(this, "emitSizeChanged", Qt::QueuedConnection);
++ //m_size = texture->textureSize();
++ //m_sizePendingChange = false;
++ //QMetaObject::invokeMethod(this, "emitSizeChanged", Qt::QueuedConnection);
+ }
+
+ compositorTexture->setUpToDate(true);
++
++ subsurfaces.reserve(renderables.size());
++ for (auto const& renderable : renderables)
++ {
++ auto const mirTopLeft = m_surface->top_left();
++ auto const mirStreamPosition = renderable->screen_position();
++ QRectF const relativePosition(
++ mirStreamPosition.left().as_int() - mirTopLeft.x.as_int(),
++ mirStreamPosition.top().as_int() - mirTopLeft.y.as_int(),
++ mirStreamPosition.size.width.as_int(),
++ mirStreamPosition.size.height.as_int()
++ );
++
++ QSharedPointer<MirBufferSGTexture> texture(new MirBufferSGTexture);
++ texture->freeBuffer();
++ texture->setBuffer(renderable->buffer());
++ subsurfaces.emplace_back(
++ SubSurfaceTexture{
++ relativePosition,
++ texture
++ });
++ }
++ m_subTextures = subsurfaces;
+ }
+
+ if (m_surface->buffers_ready_for_compositor((void*)userId) > 0) {
+@@ -485,7 +520,7 @@ bool MirSurface::updateTextureLocked(qintptr userId, CompositorTexture *composit
+ QMetaObject::invokeMethod(&m_frameDropperTimer, "start", Qt::QueuedConnection);
+ }
+
+- return texture->hasBuffer();
++ return m_subTextures;
+ }
+
+ bool MirSurface::numBuffersReadyForCompositor(qintptr userId)
+@@ -738,7 +773,6 @@ bool MirSurface::visible() const
+ {
+ return m_visible;
+ }
+-#include <mir_toolkit/event.h>
+ void MirSurface::mousePressEvent(QMouseEvent *event)
+ {
+ auto ev = EventBuilder::instance()->reconstructMirEvent(event);
+@@ -801,9 +835,9 @@ void MirSurface::keyPressEvent(QKeyEvent *qtEvent)
+ if (!qtEvent->isAutoRepeat()) {
+ Q_ASSERT(!isKeyPressed(qtEvent->nativeVirtualKey()));
+ PressedKey pressedKey(qtEvent, msecsSinceReference());
+- auto info = EventBuilder::instance()->findInfo(qtEvent->timestamp());
++ auto info = EventBuilder::instance()->find_info(qtEvent->timestamp());
+ if (info) {
+- pressedKey.deviceId = info->deviceId;
++ pressedKey.deviceId = info->device_id;
+ }
+ m_pressedKeys.append(std::move(pressedKey));
+ }
+@@ -1080,7 +1114,7 @@ QRect MirSurface::inputBounds() const
+
+ bool MirSurface::confinesMousePointer() const
+ {
+- return m_surface->confine_pointer_state() == mir_pointer_confined_to_window;
++ return m_surface->is_confined_to_window();
+ }
+
+ bool MirSurface::allowClientResize() const
+@@ -1282,23 +1316,23 @@ MirSurface::SurfaceObserverImpl::SurfaceObserverImpl()
+ , m_framesPosted(false)
+ {
+ // mir cursor names, used by the mir protocol
+-
+- m_cursorNameToShape[mir_default_cursor_name] = Qt::ArrowCursor;
+- m_cursorNameToShape[mir_arrow_cursor_name] = Qt::ArrowCursor;
+- m_cursorNameToShape[mir_crosshair_cursor_name] = Qt::CrossCursor;
+- m_cursorNameToShape[mir_busy_cursor_name] = Qt::WaitCursor;
+- m_cursorNameToShape[mir_caret_cursor_name] = Qt::IBeamCursor;
+- m_cursorNameToShape[mir_vertical_resize_cursor_name] = Qt::SizeVerCursor;
+- m_cursorNameToShape[mir_horizontal_resize_cursor_name] = Qt::SizeHorCursor;
+- m_cursorNameToShape[mir_diagonal_resize_bottom_to_top_cursor_name] = Qt::SizeBDiagCursor;
+- m_cursorNameToShape[mir_diagonal_resize_top_to_bottom_cursor_name] = Qt::SizeFDiagCursor;
+- m_cursorNameToShape[mir_omnidirectional_resize_cursor_name] = Qt::SizeAllCursor;
+- m_cursorNameToShape[mir_disabled_cursor_name] = Qt::BlankCursor;
+- m_cursorNameToShape[mir_vsplit_resize_cursor_name] = Qt::SplitVCursor;
+- m_cursorNameToShape[mir_hsplit_resize_cursor_name] = Qt::SplitHCursor;
+- m_cursorNameToShape[mir_pointing_hand_cursor_name] = Qt::PointingHandCursor;
+- m_cursorNameToShape[mir_open_hand_cursor_name] = Qt::OpenHandCursor;
+- m_cursorNameToShape[mir_closed_hand_cursor_name] = Qt::ClosedHandCursor;
++ // Cursor names are from CSS3: https://www.w3.org/TR/css-ui-3/#propdef-cursor
++
++ m_cursorNameToShape["default"] = Qt::ArrowCursor;
++ m_cursorNameToShape["crosshair"] = Qt::CrossCursor;
++ m_cursorNameToShape["wait"] = Qt::WaitCursor;
++ m_cursorNameToShape["text"] = Qt::IBeamCursor;
++ m_cursorNameToShape["ns-resize"] = Qt::SizeVerCursor;
++ m_cursorNameToShape["ew-resize"] = Qt::SizeHorCursor;
++ m_cursorNameToShape["ne-resize"] = Qt::SizeBDiagCursor;
++ m_cursorNameToShape["se-resize"] = Qt::SizeFDiagCursor;
++ m_cursorNameToShape["move"] = Qt::SizeAllCursor;
++ m_cursorNameToShape["none"] = Qt::BlankCursor;
++ m_cursorNameToShape["row-resize"] = Qt::SplitVCursor;
++ m_cursorNameToShape["col-resize"] = Qt::SplitHCursor;
++ m_cursorNameToShape["pointer"] = Qt::PointingHandCursor;
++ m_cursorNameToShape["grab"] = Qt::OpenHandCursor;
++ m_cursorNameToShape["grabbing"] = Qt::ClosedHandCursor;
+
+ // xcursor names, used by our cursor themes
+
+@@ -1500,7 +1534,8 @@ QPoint MirSurface::convertDisplayToLocalCoords(const QPoint &displayPos) const
+ QPoint localPos = displayPos;
+
+ if (m_surface->parent()) {
+- auto parentPos = m_surface->parent()->top_left();
++ auto parent = m_surface->parent();
++ auto parentPos = miroil::Surface(parent).top_left();
+ localPos.rx() -= parentPos.x.as_int();
+ localPos.ry() -= parentPos.y.as_int();
+ }
+@@ -1513,7 +1548,9 @@ QPoint MirSurface::convertLocalToDisplayCoords(const QPoint &localPos) const
+ QPoint displayPos = localPos;
+
+ if (m_surface->parent()) {
+- auto parentPos = m_surface->parent()->top_left();
++ miroil::Surface parent(m_surface->parent());
++
++ auto parentPos = parent.top_left();
+ displayPos.rx() += parentPos.x.as_int();
+ displayPos.ry() += parentPos.y.as_int();
+ }
+@@ -1563,8 +1600,7 @@ void MirSurface::releaseAllPressedKeys()
+ auto deltaMs = (ulong)(msecsSinceReference() - pressedKey.msecsSinceReference);
+ ulong timestamp = pressedKey.timestamp + deltaMs;
+ std::vector<uint8_t> cookie{};
+-
+- auto ev = mir::events::make_event(pressedKey.deviceId,
++ auto ev = EventBuilder::instance()->make_key_event(pressedKey.deviceId,
+ uncompressTimestamp<qtmir::Timestamp>(qtmir::Timestamp(timestamp)),
+ cookie, mir_keyboard_action_up, pressedKey.nativeVirtualKey, pressedKey.nativeScanCode,
+ mir_input_event_modifier_none);
+diff --git a/src/modules/QtMir/Application/mirsurface.h b/src/modules/QtMir/Application/mirsurface.h
+index e7866108..e14dae8b 100644
+--- a/src/modules/QtMir/Application/mirsurface.h
++++ b/src/modules/QtMir/Application/mirsurface.h
+@@ -38,7 +38,8 @@
+
+ // mir
+ #include <mir_toolkit/common.h>
+-
++#include <mir_toolkit/mir_input_device_types.h>
++#include <miroil/surface.h>
+
+ class SurfaceObserver;
+
+@@ -130,7 +131,7 @@ public:
+ // methods called from the rendering (scene graph) thread:
+ QSharedPointer<QSGTexture> texture(qintptr userId) override;
+ QSGTexture *weakTexture(qintptr userId) const override;
+- bool updateTexture(qintptr userId) override;
++ std::vector<SubSurfaceTexture> updateTexture(qintptr userId) override;
+ unsigned int currentFrameNumber(qintptr userId) const override;
+ bool numBuffersReadyForCompositor(qintptr userId) override;
+ // end of methods called from the rendering (scene graph) thread
+@@ -225,10 +226,12 @@ private:
+ void forgetPressedKey(quint32 nativeVirtualKey);
+ void releaseAllPressedKeys();
+
+- bool updateTextureLocked(qintptr userId, CompositorTexture* compositorTexture);
++ std::vector<SubSurfaceTexture> updateTextureLocked(qintptr userId, CompositorTexture* compositorTexture);
+
+ const miral::Window m_window;
+ const std::shared_ptr<ExtraWindowInfo> m_extraInfo;
++ // To manage memory
++ std::vector<SubSurfaceTexture> m_subTextures;
+ QString m_name;
+ MirWindowType m_type;
+ int m_minWidth;
+@@ -238,7 +241,7 @@ private:
+ int m_incWidth;
+ int m_incHeight;
+
+- const std::shared_ptr<mir::scene::Surface> m_surface; // keep copy of the Surface for lifecycle
++ const std::shared_ptr<miroil::Surface> m_surface; // keep copy of the Surface for lifecycle
+ QPointer<SessionInterface> m_session;
+ WindowControllerInterface *const m_controller;
+
+@@ -273,6 +276,7 @@ private:
+ bool m_sizePendingChange;
+ QSize m_pendingResize;
+ QString m_keymap;
++ bool m_ssd;
+
+ QCursor m_cursor;
+ Mir::State m_state; // FIXME: remove when Mir gains additional window states to match Mir::State
+diff --git a/src/modules/QtMir/Application/mirsurfaceinterface.h b/src/modules/QtMir/Application/mirsurfaceinterface.h
+index d5fa1dd5..b6384c6b 100644
+--- a/src/modules/QtMir/Application/mirsurfaceinterface.h
++++ b/src/modules/QtMir/Application/mirsurfaceinterface.h
+@@ -57,7 +57,13 @@ public:
+ // methods called from the rendering (scene graph) thread:
+ virtual QSharedPointer<QSGTexture> texture(qintptr userId) = 0;
+ virtual QSGTexture *weakTexture(qintptr userId) const = 0;
+- virtual bool updateTexture(qintptr userId) = 0;
++ struct SubSurfaceTexture
++ {
++ QRectF extent;
++ QSharedPointer<QSGTexture> texture;
++ };
++ virtual std::vector<SubSurfaceTexture> updateTexture(qintptr userId) = 0;
++
+ virtual unsigned int currentFrameNumber(qintptr userId) const = 0;
+ virtual bool numBuffersReadyForCompositor(qintptr userId) = 0;
+ // end of methods called from the rendering (scene graph) thread
+diff --git a/src/modules/QtMir/Application/mirsurfaceitem.cpp b/src/modules/QtMir/Application/mirsurfaceitem.cpp
+index 5b509f36..b78ef201 100644
+--- a/src/modules/QtMir/Application/mirsurfaceitem.cpp
++++ b/src/modules/QtMir/Application/mirsurfaceitem.cpp
+@@ -244,8 +244,9 @@ QSGNode *MirSurfaceItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *
+ ensureTextureProvider();
+
+ const qintptr userId = (qintptr)window();
++ auto subtextures = m_surface->updateTexture(userId);
+
+- if (!userId || !m_textureProvider->texture() || !m_surface->updateTexture(userId)) {
++ if (!userId || !m_textureProvider->texture() || subtextures.empty()) {
+ delete oldNode;
+ return nullptr;
+ }
+@@ -273,6 +274,64 @@ QSGNode *MirSurfaceItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *
+ auto texture = m_textureProvider->texture();
+ node->setTexture(texture);
+
++ // If we have no subtextures at all, drop all other childnodes
++ if (subtextures.size() - 1 <= 0) {
++ if (node->childCount() > 0) {
++ qWarning() << " dropping all childnodes";
++ node->removeAllChildNodes();
++ }
++ } else {
++ // - 1 since first subtexture is main texture
++ bool isEqual = subtextures.size() - 1 == node->childCount();
++ if (!isEqual) {
++ qWarning() << "Not equal, recreating childnodes";
++ if (node->childCount() > 0) {
++ qWarning() << " dropping all childnodes";
++ node->removeAllChildNodes();
++ }
++ }
++
++ // Meh, this is not great code
++ int first = 0;
++ for (auto sub : subtextures) {
++ first++;
++ // Skip first subtexture as this is the main texture
++ if (first < 2)
++ continue;
++
++ // Atempt at some caching, we only recrate the nodes if the amount of childnodes
++ // does not match subtextures, this could be better
++ QSGDefaultInternalImageNode *subnode;
++ if (isEqual) {
++ subnode = static_cast<QSGDefaultInternalImageNode*>(node->childAtIndex(first - 2));
++ subnode->markDirty(QSGNode::DirtyMaterial);
++ } else {
++ #if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
++ QSGRenderContext *rc = QQuickWindowPrivate::get(window())->context;
++ subnode = new QSGDefaultInternalImageNode(static_cast<QSGDefaultRenderContext *>(rc));
++ #else
++ subnode = new QSGDefaultInternalImageNode;
++ #endif
++ subnode->setMipmapFiltering(QSGTexture::None);
++ subnode->setHorizontalWrapMode(QSGTexture::ClampToEdge);
++ subnode->setVerticalWrapMode(QSGTexture::ClampToEdge);
++ }
++
++ // texture is memory managed by mirsubsufrace's shared buffer
++ subnode->setTexture(sub.texture.data());
++
++ subnode->setSubSourceRect(QRectF(0, 0, 1, 1));
++ subnode->setTargetRect(sub.extent);
++ subnode->setInnerTargetRect(sub.extent);
++ subnode->setFiltering(smooth() ? QSGTexture::Linear : QSGTexture::Nearest);
++ subnode->setAntialiasing(antialiasing());
++ subnode->update();
++
++ if (!isEqual)
++ node->appendChildNode(subnode);
++ }
++ }
++
+ if (m_fillMode == PadOrCrop) {
+ const QSize &textureSize = texture->textureSize();
+
+@@ -280,6 +339,11 @@ QSGNode *MirSurfaceItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *
+ targetRect.setWidth(qMin(width(), static_cast<qreal>(textureSize.width())));
+ targetRect.setHeight(qMin(height(), static_cast<qreal>(textureSize.height())));
+
++ // x/y from extent is offset
++ auto r = subtextures[0].extent;
++ targetRect.setX(r.x());
++ targetRect.setY(r.y());
++
+ qreal u = targetRect.width() / textureSize.width();
+ qreal v = targetRect.height() / textureSize.height();
+ node->setSubSourceRect(QRectF(0, 0, u, v));
+@@ -288,9 +352,15 @@ QSGNode *MirSurfaceItem::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *
+ node->setInnerTargetRect(targetRect);
+ } else {
+ // Stretch
++ const QSize &textureSize = texture->textureSize();
++ qWarning() << "Streethcing" << height() << textureSize.height();
+ node->setSubSourceRect(QRectF(0, 0, 1, 1));
+- node->setTargetRect(QRectF(0, 0, width(), height()));
+- node->setInnerTargetRect(QRectF(0, 0, width(), height()));
++
++ auto r = subtextures[0].extent;
++ auto offset_x = r.x();
++ auto offset_y = r.y();
++ node->setTargetRect(QRectF(offset_x, offset_y, width(), height()));
++ node->setInnerTargetRect(QRectF(offset_x, offset_y, width(), height()));
+ }
+
+ node->setFiltering(smooth() ? QSGTexture::Linear : QSGTexture::Nearest);
+diff --git a/src/modules/QtMir/Application/proc_info.cpp b/src/modules/QtMir/Application/proc_info.cpp
+index 3809cece..aab46115 100644
+--- a/src/modules/QtMir/Application/proc_info.cpp
++++ b/src/modules/QtMir/Application/proc_info.cpp
+@@ -61,6 +61,11 @@ QString ProcInfo::CommandLine::getParameter(const char* name) const
+ return QString(regExpMatch.captured(1));
+ }
+
++QString ProcInfo::CommandLine::getExec() const
++{
++ return asStringList()[0];
++}
++
+
+ std::unique_ptr<ProcInfo::Environment> ProcInfo::environment(pid_t pid)
+ {
+diff --git a/src/modules/QtMir/Application/proc_info.h b/src/modules/QtMir/Application/proc_info.h
+index 2be60b2f..3f589819 100644
+--- a/src/modules/QtMir/Application/proc_info.h
++++ b/src/modules/QtMir/Application/proc_info.h
+@@ -41,6 +41,7 @@ public:
+ bool contains(const char* prefix) const;
+ QString getParameter(const char* name) const;
+ QStringList asStringList() const;
++ QString getExec() const;
+ };
+
+ struct Environment {
+diff --git a/src/modules/QtMir/Application/session.cpp b/src/modules/QtMir/Application/session.cpp
+index c47d1a28..97477c88 100644
+--- a/src/modules/QtMir/Application/session.cpp
++++ b/src/modules/QtMir/Application/session.cpp
+@@ -64,7 +64,7 @@ const char *sessionStateToString(SessionInterface::State state)
+ }
+
+ Session::Session(const std::shared_ptr<ms::Session>& session,
+- const std::shared_ptr<PromptSessionManager>& promptSessionManager,
++ const std::shared_ptr<miroil::PromptSessionManager>& promptSessionManager,
+ QObject *parent)
+ : SessionInterface(parent)
+ , m_session(session)
+@@ -302,7 +302,7 @@ void Session::suspend()
+ m_suspendTimer->start();
+
+ foreachPromptSession([this](const qtmir::PromptSession &promptSession) {
+- m_promptSessionManager->suspendPromptSession(promptSession);
++ m_promptSessionManager->suspend_prompt_session(promptSession);
+ });
+
+ foreachChildSession([](SessionInterface* session) {
+@@ -334,7 +334,7 @@ void Session::doResume()
+ miral::apply_lifecycle_state_to(session(), mir_lifecycle_state_resumed);
+
+ foreachPromptSession([this](const qtmir::PromptSession &promptSession) {
+- m_promptSessionManager->resumePromptSession(promptSession);
++ m_promptSessionManager->resume_prompt_session(promptSession);
+ });
+
+ foreachChildSession([](SessionInterface* session) {
+@@ -494,7 +494,7 @@ void Session::stopPromptSessions()
+ qtmir::PromptSession promptSession = it.previous();
+ DEBUG_MSG << " - promptSession=" << promptSession.get();
+
+- m_promptSessionManager->stopPromptSession(promptSession);
++ m_promptSessionManager->stop_prompt_session(promptSession);
+ }
+ }
+
+diff --git a/src/modules/QtMir/Application/session.h b/src/modules/QtMir/Application/session.h
+index 1d9fa2b2..4bf19cd6 100644
+--- a/src/modules/QtMir/Application/session.h
++++ b/src/modules/QtMir/Application/session.h
+@@ -23,17 +23,17 @@
+ // local
+ #include "session_interface.h"
+ #include "mirsurfacelistmodel.h"
+-#include "promptsessionmanager.h"
+ #include "timer.h"
+
++// mir
++#include <miroil/prompt_session_manager.h>
++
+ // Qt
+ #include <QObject>
+
+
+ namespace qtmir {
+
+-class PromptSessionManager;
+-
+ class Application;
+
+ class Session : public SessionInterface
+@@ -41,7 +41,7 @@ class Session : public SessionInterface
+ Q_OBJECT
+ public:
+ explicit Session(const std::shared_ptr<mir::scene::Session>& session,
+- const std::shared_ptr<PromptSessionManager>& promptSessionManager,
++ const std::shared_ptr<miroil::PromptSessionManager>& promptSessionManager,
+ QObject *parent = 0);
+ virtual ~Session();
+
+@@ -119,7 +119,7 @@ protected:
+ bool m_live;
+ AbstractTimer* m_suspendTimer{nullptr};
+ QVector<PromptSession> m_promptSessions;
+- std::shared_ptr<PromptSessionManager> const m_promptSessionManager;
++ std::shared_ptr<miroil::PromptSessionManager> const m_promptSessionManager;
+ QList<MirSurfaceInterface*> m_closingSurfaces;
+ bool m_hadSurface{false};
+ };
+diff --git a/src/modules/QtMir/Application/taskcontroller.cpp b/src/modules/QtMir/Application/taskcontroller.cpp
+index a53467a9..7467af93 100644
+--- a/src/modules/QtMir/Application/taskcontroller.cpp
++++ b/src/modules/QtMir/Application/taskcontroller.cpp
+@@ -51,7 +51,7 @@ TaskController::TaskController(QObject *parent)
+ auto appNotifier = static_cast<AppNotifier*>(nativeInterface->nativeResourceForIntegration("AppNotifier"));
+ connectToAppNotifier(appNotifier);
+
+- auto promptSessionListener = static_cast<PromptSessionListener*>(nativeInterface->nativeResourceForIntegration("PromptSessionListener"));
++ auto promptSessionListener = static_cast<qtmir::PromptSessionListener*>(nativeInterface->nativeResourceForIntegration("PromptSessionListener"));
+ connectToPromptSessionListener(promptSessionListener);
+
+ auto sessionAuthorizer = static_cast<SessionAuthorizer*>(nativeInterface->nativeResourceForIntegration("SessionAuthorizer"));
+@@ -59,7 +59,7 @@ TaskController::TaskController(QObject *parent)
+ this, &TaskController::authorizationRequestedForSession, Qt::DirectConnection);
+ }
+
+-TaskController::TaskController(std::shared_ptr<PromptSessionManager> &promptSessionManager, QObject *parent)
++TaskController::TaskController(std::shared_ptr<miroil::PromptSessionManager> &promptSessionManager, QObject *parent)
+ : QObject(parent)
+ , m_promptSessionManager(promptSessionManager)
+ {
+@@ -98,7 +98,7 @@ void TaskController::onPromptSessionStarting(const qtmir::PromptSession &promptS
+ {
+ DEBUG_MSG << " - promptSession=" << promptSession.get();
+
+- std::shared_ptr<mir::scene::Session> appSession = m_promptSessionManager->applicationFor(promptSession);
++ std::shared_ptr<mir::scene::Session> appSession = m_promptSessionManager->application_for(promptSession);
+ SessionInterface *qmlAppSession = findSession(appSession.get());
+ if (qmlAppSession) {
+ m_mirPromptToSessionHash[promptSession.get()] = qmlAppSession;
+@@ -170,7 +170,7 @@ void TaskController::connectToAppNotifier(AppNotifier *appNotifier)
+ this, &TaskController::onSessionStopping);
+ }
+
+-void TaskController::connectToPromptSessionListener(PromptSessionListener *listener)
++void TaskController::connectToPromptSessionListener(qtmir::PromptSessionListener *listener)
+ {
+ QObject::connect(listener, &PromptSessionListener::promptSessionStarting,
+ this, &TaskController::onPromptSessionStarting);
+diff --git a/src/modules/QtMir/Application/taskcontroller.h b/src/modules/QtMir/Application/taskcontroller.h
+index f709aa48..4f0729f5 100644
+--- a/src/modules/QtMir/Application/taskcontroller.h
++++ b/src/modules/QtMir/Application/taskcontroller.h
+@@ -29,7 +29,7 @@
+ #include <miral/application_info.h>
+
+ // mirserver
+-#include "promptsessionmanager.h"
++#include <miroil/prompt_session_manager.h>
+
+ namespace mir {
+ namespace scene {
+@@ -46,13 +46,13 @@ namespace lomiri {
+ }
+ }
+
+-class PromptSessionListener;
+-
+ namespace qtmir
+ {
+
+ class AppNotifier;
+ class ApplicationInfo;
++class PromptSession;
++class PromptSessionListener;
+ class SessionInterface;
+
+ class TaskController : public QObject
+@@ -107,13 +107,13 @@ public Q_SLOTS:
+
+ protected:
+ TaskController(QObject *parent = nullptr);
+- TaskController(std::shared_ptr<PromptSessionManager>&, QObject *parent = nullptr);
++ TaskController(std::shared_ptr<miroil::PromptSessionManager>&, QObject *parent = nullptr);
+
+ private:
+ void connectToAppNotifier(AppNotifier *);
+ void connectToPromptSessionListener(PromptSessionListener *);
+
+- std::shared_ptr<PromptSessionManager> m_promptSessionManager;
++ std::shared_ptr<miroil::PromptSessionManager> m_promptSessionManager;
+
+ QHash<const mir::scene::PromptSession *, SessionInterface *> m_mirPromptToSessionHash;
+ QList<SessionInterface*> m_sessionList;
+diff --git a/src/platforms/mirserver/CMakeLists.txt b/src/platforms/mirserver/CMakeLists.txt
+index 8f676ce5..d1a63e69 100644
+--- a/src/platforms/mirserver/CMakeLists.txt
++++ b/src/platforms/mirserver/CMakeLists.txt
+@@ -6,7 +6,14 @@ include(UseLttngGenTp)
+
+ set(QTMIRSERVER_ABI 1)
+
+-add_subdirectory(miral)
++set(qtmir_include ${CMAKE_SOURCE_DIR}/include)
++
++if(NOT WITH_MIR2)
++ set(MIROIL_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/miroil/include)
++ add_subdirectory(miroil)
++endif()
++
++add_subdirectory(wayland-generated)
+
+ # Hacks for the QPA privates monster.
+ pkg_check_modules(FONTCONFIG fontconfig REQUIRED)
+@@ -41,6 +48,9 @@ include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR} # for tracepoints.h
+ )
+
++set(MIRCOMMON_INCLUDE_DIRS /usr/include/mircommon/)
++set(MIRCOMMON_LDFLAGS "-lmircommon")
++
+ include_directories(
+ SYSTEM
+ ${MIRAL_INCLUDE_DIRS}
+@@ -48,6 +58,8 @@ include_directories(
+ ${MIRSERVER_INCLUDE_DIRS}
+ ${MIRRENDERERGLDEV_INCLUDE_DIRS}
+ ${MIRSERVER_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
++ ${MIRWAYLAND_INCLUDE_DIRS}
+
+ ${URL_DISPATCHER_INCLUDE_DIRS}
+ ${EGL_INCLUDE_DIRS}
+@@ -98,6 +110,7 @@ add_library(qtmirserver-nomirserver OBJECT
+ displayconfigurationstorage.cpp
+ nativeinterface.cpp
+ services.cpp
++ urlbuilderdispatcher.cpp
+ windowcontroller.cpp
+ workspacecontroller.cpp
+ tracepoints.c
+@@ -114,17 +127,14 @@ include_directories(SYSTEM ${MIRSERVER_INCLUDE_DIRS})
+
+ # These files will only compile with mirserver-dev
+ add_library(qtmirserver-mirserver OBJECT
+- openglcontextfactory.cpp openglcontextfactory.h
+- mircursorimages.cpp
+ screenscontroller.cpp
+ qtcompositor.cpp
+ displayconfigurationpolicy.cpp
+ wrappedwindowmanagementpolicy.cpp
+- mirdisplayconfigurationobserver.cpp
+- mirserverhooks.cpp mirserverhooks.h
+- setqtcompositor.cpp setqtcompositor.h
+- eventdispatch.cpp eventdispatch.h
+- promptsessionmanager.cpp promptsessionmanager.h promptsession.h
++ # mirdisplayconfigurationobserver.cpp
++ wayland-generated/qt-windowmanager_wrapper.cpp
++ wayland-generated/xdg-decoration-unstable-v1_wrapper.cpp
++ wayland-generated/server-decoration_wrapper.cpp
+ )
+ add_dependencies(qtmirserver-mirserver MirServer_LTTNG)
+
+@@ -133,6 +143,7 @@ set(QMIRSERVER_PLUGIN_SRC
+ ${CMAKE_SOURCE_DIR}/src/common/debughelpers.cpp
+ cursor.cpp
+ eventbuilder.cpp
++ qtwindowmanager.cpp
+ qteventfeeder.cpp
+ qmirserver.cpp
+ qmirserver_p.cpp
+@@ -145,6 +156,9 @@ set(QMIRSERVER_PLUGIN_SRC
+ mirserverapplication.cpp
+ windowmodelnotifier.cpp
+
++ wayland/xdgdecorationV1.cpp
++ wayland/kwinserverdecoration.cpp
++
+ # We need to run moc on these headers
+ ${APPLICATION_API_INCLUDEDIR}/lomiri/shell/application/MirMousePointerInterface.h
+ ${APPLICATION_API_INCLUDEDIR}/lomiri/shell/application/Mir.h
+@@ -165,16 +179,22 @@ set(QMIRSERVER_PLUGIN_SRC
+ ${CMAKE_SOURCE_DIR}/src/common/appnotifier.h
+ )
+
++if(NOT WITH_MIR2)
++ set(MIROIL_OBJ $<TARGET_OBJECTS:miroil>)
++endif()
++
+ add_library(qtmirserver SHARED
+ ${QMIRSERVER_PLUGIN_SRC}
+ $<TARGET_OBJECTS:qtmirserver-nomirserver>
+ $<TARGET_OBJECTS:qtmirserver-mirserver>
+- $<TARGET_OBJECTS:miral-prototypes>
++ ${MIROIL_OBJ}
+ )
+
+ target_link_libraries(qtmirserver
+ PUBLIC
+ ${MIRAL_LDFLAGS}
++ ${MIROIL_LDFLAGS}
++ ${MIROIL_LIBRARIES}
+ ${MIRSERVER_LDFLAGS}
+ Qt5::Core
+ Qt5::Gui
+@@ -188,6 +208,11 @@ target_link_libraries(qtmirserver
+ ${FONTCONFIG_LDFLAGS}
+ ${XKBCOMMON_LIBRARIES}
+
++ ${MIRCOMMON_LDFLAGS}
++ ${MIRWAYLAND_LDFLAGS}
++ ${WAYLAND_CLIENT_LIBRARIES}
++ ${WAYLAND_SERVER_LDFLAGS}
++
+ ${CONTENT_HUB_LIBRARIES}
+
+ Qt5::DBus
+@@ -225,6 +250,15 @@ install(
+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
+ )
+
++if(NOT WITH_MIR2)
++ # To avoid conflicts, we install to qtmir include
++ # and since do -I/some/thing/qtmir in the .pc we can
++ # include miroil as <miroil/blah>
++ install(
++ DIRECTORY ${CMAKE_SOURCE_DIR}/include/miroil
++ DESTINATION "include/qtmir"
++ )
++endif()
+
+ add_library(qpa-mirserver SHARED
+ mirserverintegration.cpp
+diff --git a/src/platforms/mirserver/eventbuilder.cpp b/src/platforms/mirserver/eventbuilder.cpp
+index eca408e1..9cd54cb1 100644
+--- a/src/platforms/mirserver/eventbuilder.cpp
++++ b/src/platforms/mirserver/eventbuilder.cpp
+@@ -21,9 +21,6 @@
+ // common
+ #include <timestamp.h>
+
+-#include <mir_toolkit/event.h>
+-#include <mir_toolkit/mir_cookie.h>
+-
+ #include <QDebug>
+
+ namespace {
+@@ -96,7 +93,6 @@ EventBuilder *EventBuilder::instance()
+ }
+
+ EventBuilder::EventBuilder()
+- : m_eventInfoVector(10)
+ {
+ }
+
+@@ -105,18 +101,6 @@ EventBuilder::~EventBuilder()
+ m_instance = nullptr;
+ }
+
+-void EventBuilder::store(const MirInputEvent *mirInputEvent, ulong qtTimestamp)
+-{
+- EventInfo &eventInfo = m_eventInfoVector[m_nextIndex];
+- eventInfo.store(mirInputEvent, qtTimestamp);
+-
+- m_nextIndex = (m_nextIndex + 1) % m_eventInfoVector.size();
+-
+- if (m_count < m_eventInfoVector.size()) {
+- ++m_count;
+- }
+-}
+-
+ mir::EventUPtr EventBuilder::reconstructMirEvent(QMouseEvent *qtEvent)
+ {
+ auto buttons = getMirButtonsFromQt(qtEvent->buttons());
+@@ -143,19 +127,19 @@ mir::EventUPtr EventBuilder::makeMirEvent(QInputEvent *qtEvent, int x, int y, Mi
+ // Timestamp will be zero in case of synthetic events. Particularly synthetic QHoverEvents caused
+ // by item movement under a stationary mouse pointer.
+ if (qtEvent->timestamp() != 0) {
+- auto eventInfo = findInfo(qtEvent->timestamp());
++ auto eventInfo = find_info(qtEvent->timestamp());
+ if (eventInfo) {
+- relativeX = eventInfo->relativeX;
+- relativeY = eventInfo->relativeY;
+- deviceId = eventInfo->deviceId;
++ relativeX = eventInfo->relative_x;
++ relativeY = eventInfo->relative_y;
++ deviceId = eventInfo->device_id;
+ cookie = eventInfo->cookie;
+ } else {
+ qCWarning(QTMIR_MIR_INPUT) << "EventBuilder::makeMirEvent didn't find EventInfo with timestamp" << qtEvent->timestamp();
+ }
+ }
+
+- return mir::events::make_event(deviceId, timestamp, cookie, modifiers, action,
+- buttons, x, y, 0 /*hscroll*/, 0 /*vscroll*/, relativeX, relativeY);
++ return make_pointer_event(deviceId, timestamp, cookie, modifiers, action,
++ buttons, x, y, 0 /*hscroll*/, 0 /*vscroll*/, relativeX, relativeY);
+ }
+
+ mir::EventUPtr EventBuilder::makeMirEvent(QWheelEvent *qtEvent)
+@@ -172,19 +156,19 @@ mir::EventUPtr EventBuilder::makeMirEvent(QWheelEvent *qtEvent)
+ mirScroll /= 120.0f;
+
+ if (qtEvent->timestamp() != 0) {
+- auto eventInfo = findInfo(qtEvent->timestamp());
++ auto eventInfo = find_info(qtEvent->timestamp());
+ if (eventInfo) {
+- deviceId = eventInfo->deviceId;
++ deviceId = eventInfo->device_id;
+ cookie = eventInfo->cookie;
+ } else {
+ qCWarning(QTMIR_MIR_INPUT) << "EventBuilder::makeMirEvent didn't find EventInfo with timestamp" << qtEvent->timestamp();
+ }
+ }
+
+- return mir::events::make_event(deviceId, timestamp, cookie, modifiers, mir_pointer_action_motion,
+- buttons, qtEvent->x(), qtEvent->y(),
+- mirScroll.x(), mirScroll.y(),
+- 0, 0);
++ return make_pointer_event(deviceId, timestamp, cookie, modifiers, mir_pointer_action_motion,
++ buttons, qtEvent->x(), qtEvent->y(),
++ mirScroll.x(), mirScroll.y(),
++ 0, 0);
+ }
+
+ mir::EventUPtr EventBuilder::makeMirEvent(QKeyEvent *qtEvent)
+@@ -207,19 +191,19 @@ mir::EventUPtr EventBuilder::makeMirEvent(QKeyEvent *qtEvent)
+ std::vector<uint8_t> cookie{};
+
+ if (qtEvent->timestamp() != 0) {
+- auto eventInfo = findInfo(qtEvent->timestamp());
++ auto eventInfo = find_info(qtEvent->timestamp());
+ if (eventInfo) {
+- deviceId = eventInfo->deviceId;
++ deviceId = eventInfo->device_id;
+ cookie = eventInfo->cookie;
+ } else {
+ qCWarning(QTMIR_MIR_INPUT) << "EventBuilder::makeMirEvent didn't find EventInfo with timestamp" << qtEvent->timestamp();
+ }
+ }
+
+- return mir::events::make_event(deviceId, uncompressTimestamp<qtmir::Timestamp>(qtmir::Timestamp(qtEvent->timestamp())),
+- cookie, action, qtEvent->nativeVirtualKey(),
+- qtEvent->nativeScanCode(),
+- qtEvent->nativeModifiers());
++ return make_key_event(deviceId, uncompressTimestamp<qtmir::Timestamp>(qtmir::Timestamp(qtEvent->timestamp())),
++ cookie, action, qtEvent->nativeVirtualKey(),
++ qtEvent->nativeScanCode(),
++ qtEvent->nativeModifiers());
+ }
+
+ mir::EventUPtr EventBuilder::makeMirEvent(Qt::KeyboardModifiers qmods,
+@@ -231,9 +215,9 @@ mir::EventUPtr EventBuilder::makeMirEvent(Qt::KeyboardModifiers qmods,
+ std::vector<uint8_t> cookie{};
+
+ if (qtTimestamp != 0) {
+- auto eventInfo = findInfo(qtTimestamp);
++ auto eventInfo = find_info(qtTimestamp);
+ if (eventInfo) {
+- deviceId = eventInfo->deviceId;
++ deviceId = eventInfo->device_id;
+ cookie = eventInfo->cookie;
+ } else {
+ qCWarning(QTMIR_MIR_INPUT) << "EventBuilder::makeMirEvent didn't find EventInfo with timestamp" << qtTimestamp;
+@@ -241,8 +225,8 @@ mir::EventUPtr EventBuilder::makeMirEvent(Qt::KeyboardModifiers qmods,
+ }
+
+ auto modifiers = getMirModifiersFromQt(qmods);
+- auto ev = mir::events::make_event(deviceId, uncompressTimestamp<qtmir::Timestamp>(qtmir::Timestamp(qtTimestamp)),
+- cookie, modifiers);
++ auto ev = make_touch_event(deviceId, uncompressTimestamp<qtmir::Timestamp>(qtmir::Timestamp(qtTimestamp)),
++ cookie, modifiers);
+
+ for (int i = 0; i < qtTouchPoints.count(); ++i) {
+ auto touchPoint = qtTouchPoints.at(i);
+@@ -262,44 +246,13 @@ mir::EventUPtr EventBuilder::makeMirEvent(Qt::KeyboardModifiers qmods,
+ if (touchPoint.flags() & QTouchEvent::TouchPoint::Pen)
+ tooltype = mir_touch_tooltype_stylus;
+
+- mir::events::add_touch(*ev, id, action, tooltype,
+- touchPoint.pos().x(), touchPoint.pos().y(),
+- touchPoint.pressure(),
+- touchPoint.rect().width(),
+- touchPoint.rect().height(),
+- 0 /* size */);
++ add_touch(*ev, id, action, tooltype,
++ touchPoint.pos().x(), touchPoint.pos().y(),
++ touchPoint.pressure(),
++ touchPoint.rect().width(),
++ touchPoint.rect().height(),
++ 0 /* size */);
+ }
+
+ return ev;
+ }
+-
+-EventBuilder::EventInfo *EventBuilder::findInfo(ulong qtTimestamp)
+-{
+- for (int i = 0; i < m_count; ++i) {
+- if (m_eventInfoVector[i].qtTimestamp == qtTimestamp) {
+- return &m_eventInfoVector[i];
+- }
+- }
+- return nullptr;
+-}
+-
+-void EventBuilder::EventInfo::store(const MirInputEvent *iev, ulong qtTimestamp)
+-{
+- this->qtTimestamp = qtTimestamp;
+- deviceId = mir_input_event_get_device_id(iev);
+- if (mir_input_event_has_cookie(iev))
+- {
+- auto cookie_ptr = mir_input_event_get_cookie(iev);
+- cookie.resize(mir_cookie_buffer_size(cookie_ptr));
+- mir_cookie_to_buffer(cookie_ptr, cookie.data(), cookie.size());
+- mir_cookie_release(cookie_ptr);
+- } else {
+- cookie.resize(0);
+- }
+- if (mir_input_event_type_pointer == mir_input_event_get_type(iev))
+- {
+- auto pev = mir_input_event_get_pointer_event(iev);
+- relativeX = mir_pointer_event_axis_value(pev, mir_pointer_axis_relative_x);
+- relativeY = mir_pointer_event_axis_value(pev, mir_pointer_axis_relative_y);
+- }
+-}
+diff --git a/src/platforms/mirserver/eventbuilder.h b/src/platforms/mirserver/eventbuilder.h
+index 708ffd62..aeb462c5 100644
+--- a/src/platforms/mirserver/eventbuilder.h
++++ b/src/platforms/mirserver/eventbuilder.h
+@@ -16,6 +16,7 @@
+
+ #ifndef QTMIR_EVENT_REGISTRY_H
+ #define QTMIR_EVENT_REGISTRY_H
++#include <miroil/event_builder.h>
+
+ #include <QtGlobal>
+ #include <QHoverEvent>
+@@ -25,10 +26,6 @@
+ #include <QTouchEvent>
+ #include <QVector>
+
+-#include <mir/events/event_builders.h>
+-
+-class MirPointerEvent;
+-
+ namespace qtmir {
+
+ /*
+@@ -37,17 +34,13 @@ namespace qtmir {
+ One important feature is that it's able to match a QInputEvent with the MirInputEvent that originated it, so
+ it can make a MirInputEvent version of a QInputEvent containing also information that the latter does not carry,
+ such as relative axis movement for pointer devices.
+- */
+-class EventBuilder {
++*/
++class EventBuilder : public miroil::EventBuilder {
+ public:
+ static EventBuilder *instance();
+ EventBuilder();
+ virtual ~EventBuilder();
+
+- /* Stores information that cannot be carried by QInputEvents so that it can be fully
+- reconstructed later given the same qtTimestamp */
+- void store(const MirInputEvent *mirInputEvent, ulong qtTimestamp);
+-
+ /*
+ Builds a MirEvent version of the given QInputEvent using also extra data from the
+ MirPointerEvent that caused it.
+@@ -69,37 +62,10 @@ public:
+ const QList<QTouchEvent::TouchPoint> &qtTouchPoints,
+ Qt::TouchPointStates /* qtTouchPointStates */,
+ ulong qtTimestamp);
+- class EventInfo {
+- public:
+- void store(const MirInputEvent *mirInputEvent, ulong qtTimestamp);
+- ulong qtTimestamp;
+- MirInputDeviceId deviceId;
+- std::vector<uint8_t> cookie;
+- float relativeX{0};
+- float relativeY{0};
+- };
+-
+- EventInfo *findInfo(ulong qtTimestamp);
+
+ private:
+ mir::EventUPtr makeMirEvent(QInputEvent *qtEvent, int x, int y, MirPointerButtons buttons);
+
+-
+- /*
+- Ring buffer that stores information on recent MirInputEvents that cannot be carried by QInputEvents.
+-
+- When MirInputEvents are dispatched through a QML scene, not all of its information can be carried
+- by QInputEvents. Some information is lost. Thus further on, if we want to transform a QInputEvent back into
+- its original MirInputEvent so that it can be consumed by a mir::scene::Surface and properly handled by mir clients
+- we have to reach out to this EventRegistry to get the missing bits.
+-
+- Given the objective of this EventRegistry (MirInputEvent reconstruction after having gone through QQuickWindow input dispatch
+- as a QInputEvent), it stores information only about the most recent MirInputEvents.
+- */
+- QVector<EventInfo> m_eventInfoVector;
+- int m_nextIndex{0};
+- int m_count{0};
+-
+ static EventBuilder *m_instance;
+ };
+
+diff --git a/src/platforms/mirserver/inputdeviceobserver.cpp b/src/platforms/mirserver/inputdeviceobserver.cpp
+index 60e59c09..3a61e20c 100644
+--- a/src/platforms/mirserver/inputdeviceobserver.cpp
++++ b/src/platforms/mirserver/inputdeviceobserver.cpp
+@@ -14,9 +14,6 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#include <mir/input/device.h>
+-#include <mir/input/mir_keyboard_config.h>
+-
+ #include <Qt>
+ #include <QTimer>
+
+@@ -49,12 +46,12 @@ void MirInputDeviceObserver::setKeymap(const QString &keymap)
+
+ void MirInputDeviceObserver::applyKeymap()
+ {
+- Q_FOREACH(const auto &device, m_devices) {
++ Q_FOREACH(auto &device, m_devices) {
+ applyKeymap(device);
+ }
+ }
+
+-void MirInputDeviceObserver::applyKeymap(const std::shared_ptr<mi::Device> &device)
++void MirInputDeviceObserver::applyKeymap(miroil::InputDevice device)
+ {
+ if (!m_keymap.isEmpty()) {
+ const QStringList stringList = m_keymap.split('+', QString::SkipEmptyParts);
+@@ -66,20 +63,11 @@ void MirInputDeviceObserver::applyKeymap(const std::shared_ptr<mi::Device> &devi
+ variant = stringList.at(1);
+ }
+
+- qCDebug(QTMIR_MIR_KEYMAP) << "Applying keymap" << layout << variant << "on" << device->id() << QString::fromStdString(device->name());
+- MirKeyboardConfig oldConfig;
+- mi::Keymap keymap;
+- if (device->keyboard_configuration().is_set()) { // preserve the model and options
+- oldConfig = device->keyboard_configuration().value();
+- keymap.model = oldConfig.device_keymap().model;
+- keymap.options = oldConfig.device_keymap().options;
+- }
+- keymap.layout = layout.toStdString();
+- keymap.variant = variant.toStdString();
++ qCDebug(QTMIR_MIR_KEYMAP) << "Applying keymap" << layout << variant << "on" << device.get_device_id() << QString::fromStdString(device.get_device_name());
+
+ try
+ {
+- device->apply_keyboard_configuration(std::move(keymap));
++ device.apply_keymap(layout.toStdString(), variant.toStdString());
+ qCDebug(QTMIR_MIR_KEYMAP) << "Keymap applied";
+ }
+ catch(std::exception const& e)
+@@ -88,3 +76,25 @@ void MirInputDeviceObserver::applyKeymap(const std::shared_ptr<mi::Device> &devi
+ }
+ }
+ }
++
++void MirInputDeviceObserver::device_added(miroil::InputDevice device)
++{
++ QMutexLocker locker(&m_mutex); // lock so that Qt and Mir don't apply the keymap at the same time
++
++ if (device.is_keyboard() && device.is_alpha_numeric()) {
++ qCDebug(QTMIR_MIR_KEYMAP) << "Device added" << device.get_device_id();
++ m_devices.append(device);
++ applyKeymap(device);
++ }
++}
++
++void MirInputDeviceObserver::device_removed(miroil::InputDevice device)
++{
++ QMutexLocker locker(&m_mutex); // lock so that Qt and Mir don't apply the keymap at the same time
++
++ auto i = m_devices.indexOf(device);
++ if (i >= 0) {
++ qCDebug(QTMIR_MIR_KEYMAP) << "Device removed" << device.get_device_id();
++ m_devices.remove(i);
++ }
++}
+diff --git a/src/platforms/mirserver/inputdeviceobserver.h b/src/platforms/mirserver/inputdeviceobserver.h
+index 1fb56243..c0199389 100644
+--- a/src/platforms/mirserver/inputdeviceobserver.h
++++ b/src/platforms/mirserver/inputdeviceobserver.h
+@@ -14,8 +14,8 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#ifndef INPUTDEVICEOBSERVER_H
+-#define INPUTDEVICEOBSERVER_H
++#ifndef QTMIR_MIR_INPUT_DEVICE_OBSERVER_H
++#define QTMIR_MIR_INPUT_DEVICE_OBSERVER_H
+
+ #include <QObject>
+ #include <QString>
+@@ -23,11 +23,13 @@
+ #include <QMutex>
+ #include <memory>
+
++#include "miroil/input_device_observer.h"
++
+ namespace mir { namespace input { class Device; }}
+
+ namespace qtmir {
+
+-class MirInputDeviceObserver: public QObject
++class MirInputDeviceObserver: public QObject, public miroil::InputDeviceObserver
+ {
+ Q_OBJECT
+ public:
+@@ -39,10 +41,12 @@ private Q_SLOTS:
+
+ protected:
+ void applyKeymap();
+- void applyKeymap(const std::shared_ptr<mir::input::Device> &device);
++ void applyKeymap(miroil::InputDevice device);
++ void device_added(miroil::InputDevice device);
++ void device_removed(miroil::InputDevice device);
+
+ QString m_keymap;
+- QVector<std::shared_ptr<mir::input::Device>> m_devices;
++ QVector<miroil::InputDevice> m_devices;
+ QMutex m_mutex;
+ };
+
+diff --git a/src/platforms/mirserver/logging.cpp b/src/platforms/mirserver/logging.cpp
+index af12e7d5..1bed03d1 100644
+--- a/src/platforms/mirserver/logging.cpp
++++ b/src/platforms/mirserver/logging.cpp
+@@ -26,3 +26,4 @@ Q_LOGGING_CATEGORY(QTMIR_CLIPBOARD, "qtmir.clipboard")
+ Q_LOGGING_CATEGORY(QTMIR_SENSOR_MESSAGES, "qtmir.sensor")
+ Q_LOGGING_CATEGORY(QTMIR_SCREENS, "qtmir.screens")
+ Q_LOGGING_CATEGORY(QTMIR_DBUS, "qtmir.dbus", QtWarningMsg)
++Q_LOGGING_CATEGORY(QTMIR_URLBUILDER, "qtmir.urlbuilder", QtInfoMsg)
+diff --git a/src/platforms/mirserver/logging.h b/src/platforms/mirserver/logging.h
+index 43d5d50f..4f93fe0d 100644
+--- a/src/platforms/mirserver/logging.h
++++ b/src/platforms/mirserver/logging.h
+@@ -28,5 +28,6 @@ Q_DECLARE_LOGGING_CATEGORY(QTMIR_MIR_KEYMAP)
+ Q_DECLARE_LOGGING_CATEGORY(QTMIR_CLIPBOARD)
+ Q_DECLARE_LOGGING_CATEGORY(QTMIR_SCREENS)
+ Q_DECLARE_LOGGING_CATEGORY(QTMIR_DBUS)
++Q_DECLARE_LOGGING_CATEGORY(QTMIR_URLBUILDER)
+
+ #endif // UBUNTU_APPLICATION_PLUGIN_LOGGING_H
+diff --git a/src/platforms/mirserver/miral/CMakeLists.txt b/src/platforms/mirserver/miral/CMakeLists.txt
+deleted file mode 100644
+index 9f254c98..00000000
+--- a/src/platforms/mirserver/miral/CMakeLists.txt
++++ /dev/null
+@@ -1,14 +0,0 @@
+-include_directories(SYSTEM ${MIRSERVER_INCLUDE_DIRS} ${MIRRENDERERGLDEV_INCLUDE_DIRS})
+-
+-include_directories(
+- ${CMAKE_SOURCE_DIR}/include
+-)
+-
+-add_library(miral-prototypes OBJECT
+- persist_display_config.cpp persist_display_config.h
+- mirbuffer.cpp mirbuffer.h
+- ${CMAKE_SOURCE_DIR}/include/qtmir/miral/display_configuration_storage.h
+- edid.cpp ${CMAKE_SOURCE_DIR}/include/qtmir/miral/display_id.h
+- edid.cpp ${CMAKE_SOURCE_DIR}/include/qtmir/miral/edid.h
+- display_configuration_policy.cpp ${CMAKE_SOURCE_DIR}/include/qtmir/miral/display_configuration_policy.h
+-)
+diff --git a/src/platforms/mirserver/miroil/CMakeLists.txt b/src/platforms/mirserver/miroil/CMakeLists.txt
+new file mode 100644
+index 00000000..febd4f0a
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/CMakeLists.txt
+@@ -0,0 +1 @@
++add_subdirectory(src)
+diff --git a/src/platforms/mirserver/miroil/include/miroil/compositor.h b/src/platforms/mirserver/miroil/include/miroil/compositor.h
+new file mode 100644
+index 00000000..2edf40e2
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/compositor.h
+@@ -0,0 +1,40 @@
++/*
++ * Copyright © 2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef MIROIL_COMPOSITOR_H
++#define MIROIL_COMPOSITOR_H
++
++namespace miroil
++{
++
++class Compositor
++{
++ public:
++ virtual ~Compositor();
++
++ Compositor& operator=(Compositor const&) = delete;
++
++ virtual void start() = 0;
++ virtual void stop() = 0;
++
++protected:
++ Compositor() = default;
++ Compositor(Compositor const&) = delete;
++};
++
++}
++
++#endif // MIROIL_COMPOSITOR_H
+diff --git a/src/platforms/mirserver/miroil/include/miroil/display_configuration_controller_wrapper.h b/src/platforms/mirserver/miroil/include/miroil/display_configuration_controller_wrapper.h
+new file mode 100644
+index 00000000..6b4f227a
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/display_configuration_controller_wrapper.h
+@@ -0,0 +1,51 @@
++/*
++ * Copyright (C) 2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef MIROIL_DISPLAY_CONFIGURATION_CONTROLLER_WRAPPER_H_
++#define MIROIL_DISPLAY_CONFIGURATION_CONTROLLER_WRAPPER_H_
++
++#include <memory>
++
++namespace mir { namespace shell { class DisplayConfigurationController; } }
++namespace mir { namespace graphics { class DisplayConfiguration; } }
++
++namespace miroil
++{
++
++class DisplayConfigurationControllerWrapper
++{
++public:
++ DisplayConfigurationControllerWrapper(std::shared_ptr<mir::shell::DisplayConfigurationController> const & wrapped);
++ ~DisplayConfigurationControllerWrapper() = default;
++
++ /**
++ * Set the base display configuration.
++ *
++ * This is the display configuration that is used by default, but will be
++ * overridden by a client's requested configuration if that client is focused.
++ *
++ * \param [in] conf The new display configuration to set
++ */
++ void set_base_configuration(std::shared_ptr<mir::graphics::DisplayConfiguration> const& conf);
++
++private:
++ std::shared_ptr<mir::shell::DisplayConfigurationController> const & wrapped;
++};
++
++}
++
++#endif //MIROIL_DISPLAY_CONFIGURATION_CONTROLLER_WRAPPER_H_
++
+diff --git a/src/platforms/mirserver/miroil/include/miroil/display_listener_wrapper.h b/src/platforms/mirserver/miroil/include/miroil/display_listener_wrapper.h
+new file mode 100644
+index 00000000..7c4ced19
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/display_listener_wrapper.h
+@@ -0,0 +1,44 @@
++/*
++ * Copyright (C) 2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef MIROIL_DISPLAY_LISTENER_WRAPPER_H
++#define MIROIL_DISPLAY_LISTENER_WRAPPER_H
++#include <memory>
++
++namespace mir {
++ namespace geometry { struct Rectangle; }
++ namespace compositor { class DisplayListener; }
++}
++
++namespace miroil
++{
++
++class DisplayListenerWrapper
++{
++public:
++ DisplayListenerWrapper(std::shared_ptr<mir::compositor::DisplayListener> const& display_listener);
++ ~DisplayListenerWrapper();
++
++ virtual void add_display(mir::geometry::Rectangle const& area);
++ virtual void remove_display(mir::geometry::Rectangle const& area);
++
++private:
++ std::shared_ptr<mir::compositor::DisplayListener> const& display_listener;
++};
++
++}
++
++#endif /* MIROIL_DISPLAY_LISTENER_WRAPPER_H */
+diff --git a/src/platforms/mirserver/miroil/include/miroil/event_builder.h b/src/platforms/mirserver/miroil/include/miroil/event_builder.h
+new file mode 100644
+index 00000000..184552b3
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/event_builder.h
+@@ -0,0 +1,117 @@
++/*
++ * Copyright (C) 2016-2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef MIROIL_EVENT_BUILDER_H
++#define MIROIL_EVENT_BUILDER_H
++
++#include <mir_toolkit/mir_input_device_types.h>
++#include <miral/version.h>
++#if MIRAL_VERSION >= MIR_VERSION_NUMBER(3, 0, 0)
++#include <miral/toolkit_event.h>
++#else
++#include <mir_toolkit/event.h>
++#endif
++
++#include <chrono>
++#include <memory>
++#include <sys/types.h>
++#include <vector>
++
++struct MirEvent;
++struct MirInputEvent;
++
++namespace mir { typedef std::unique_ptr<MirEvent, void(*)(MirEvent*)> EventUPtr; }
++
++namespace miroil
++{
++
++/*
++ Creates Mir input events out of Qt input events
++
++ The class is splitt into miroil::EventBuilder which does the internal mir stuff,
++ and qtmir::EventBuilder which handles the qt stuff.
++
++ One important feature is that it's able to match a QInputEvent with the MirInputEvent that originated it, so
++ it can make a MirInputEvent version of a QInputEvent containing also information that the latter does not carry,
++ such as relative axis movement for pointer devices.
++*/
++
++class EventBuilder {
++
++public:
++ class EventInfo {
++ public:
++ void store(const MirInputEvent *mirInputEvent, ulong qtTimestamp);
++
++ ulong timestamp;
++ MirInputDeviceId device_id;
++ std::vector<uint8_t> cookie;
++ float relative_x{0};
++ float relative_y{0};
++ };
++
++public:
++ EventBuilder();
++ virtual ~EventBuilder();
++
++ // add Touch event
++ void add_touch(MirEvent &event, MirTouchId touch_id, MirTouchAction action,
++ MirTouchTooltype tooltype, float x_axis_value, float y_axis_value,
++ float pressure_value, float touch_major_value, float touch_minor_value, float size_value);
++
++ // Key event
++ mir::EventUPtr make_key_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp,
++ std::vector<uint8_t> const& cookie, MirKeyboardAction action, xkb_keysym_t key_code,
++ int scan_code, MirInputEventModifiers modifiers);
++
++ // Touch event
++ mir::EventUPtr make_touch_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp,
++ std::vector<uint8_t> const& mac, MirInputEventModifiers modifiers);
++
++ // Pointer event
++ mir::EventUPtr make_pointer_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp,
++ std::vector<uint8_t> const& mac, MirInputEventModifiers modifiers, MirPointerAction action,
++ MirPointerButtons buttons_pressed,
++ float x_axis_value, float y_axis_value,
++ float hscroll_value, float vscroll_value,
++ float relative_x_value, float relative_y_value);
++
++ EventInfo * find_info(ulong qtTimestamp);
++
++ /* Stores information that cannot be carried by QInputEvents so that it can be fully
++ reconstructed later given the same qtTimestamp */
++ void store(const MirInputEvent *mirInputEvent, ulong qtTimestamp);
++
++private:
++ /*
++ Ring buffer that stores information on recent MirInputEvents that cannot be carried by QInputEvents.
++
++ When MirInputEvents are dispatched through a QML scene, not all of its information can be carried
++ by QInputEvents. Some information is lost. Thus further on, if we want to transform a QInputEvent back into
++ its original MirInputEvent so that it can be consumed by a mir::scene::Surface and properly handled by mir clients
++ we have to reach out to this EventRegistry to get the missing bits.
++
++ Given the objective of this EventRegistry (MirInputEvent reconstruction after having gone through QQuickWindow input dispatch
++ as a QInputEvent), it stores information only about the most recent MirInputEvents.
++ */
++ std::vector<EventInfo> event_info_vector;
++ size_t next_index{0};
++ size_t event_info_count{0};
++};
++
++}
++
++#endif // MIROIL_EVENT_BUILDER_H
+diff --git a/src/platforms/mirserver/eventdispatch.h b/src/platforms/mirserver/miroil/include/miroil/eventdispatch.h
+similarity index 75%
+rename from src/platforms/mirserver/eventdispatch.h
+rename to src/platforms/mirserver/miroil/include/miroil/eventdispatch.h
+index 5a829c34..16a75e3d 100644
+--- a/src/platforms/mirserver/eventdispatch.h
++++ b/src/platforms/mirserver/miroil/include/miroil/eventdispatch.h
+@@ -14,16 +14,16 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#ifndef QTMIR_EVENTDISPATCH_H
+-#define QTMIR_EVENTDISPATCH_H
+-
+-#include <mir_toolkit/event.h>
++#ifndef MIROIL_EVENTDISPATCH_H
++#define MIROIL_EVENTDISPATCH_H
+
+ namespace miral { class Window; }
+
+-namespace qtmir
++struct MirInputEvent;
++
++namespace miroil
+ {
+-void dispatchInputEvent(const miral::Window& window, const MirInputEvent* event);
++void dispatch_input_event(const miral::Window& window, const MirInputEvent* event);
+ }
+
+-#endif //QTMIR_EVENTDISPATCH_H
++#endif //MIROIL_EVENTDISPATCH_H
+diff --git a/src/platforms/mirserver/miroil/include/miroil/input_device.h b/src/platforms/mirserver/miroil/include/miroil/input_device.h
+new file mode 100644
+index 00000000..509956ae
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/input_device.h
+@@ -0,0 +1,52 @@
++/*
++ * Copyright (C) 2016-2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++#ifndef MIROIL_INPUT_DEVICE_H
++#define MIROIL_INPUT_DEVICE_H
++#include <mir_toolkit/mir_input_device_types.h>
++#include <memory>
++#include <string>
++
++namespace mir { namespace input { class Device; } }
++
++namespace miroil
++{
++class InputDevice
++{
++public:
++ InputDevice(std::shared_ptr<mir::input::Device> const& device);
++ InputDevice(InputDevice const& src);
++ InputDevice(InputDevice&& src);
++ InputDevice();
++ ~InputDevice();
++
++ auto operator=(InputDevice const& src) -> InputDevice&;
++ auto operator=(InputDevice&& src) -> InputDevice&;
++
++ bool operator==(InputDevice const& other);
++
++ void apply_keymap(std::string const& layout, std::string const& variant);
++ auto get_device_id() -> MirInputDeviceId;
++ auto get_device_name() -> std::string;
++ auto is_keyboard() -> bool;
++ auto is_alpha_numeric() -> bool;
++
++private:
++ std::shared_ptr<mir::input::Device> device;
++};
++
++}
++
++#endif //MIROIL_INPUT_DEVICE_H
+diff --git a/src/platforms/mirserver/miroil/include/miroil/input_device_observer.h b/src/platforms/mirserver/miroil/include/miroil/input_device_observer.h
+new file mode 100644
+index 00000000..1dd92d1c
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/input_device_observer.h
+@@ -0,0 +1,40 @@
++/*
++ * Copyright (C) 2016-2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++#ifndef MIROIL_INPUT_DEVICE_OBSERVER_H
++#define MIROIL_INPUT_DEVICE_OBSERVER_H
++
++#include <miroil/input_device.h>
++
++#include <memory>
++#include <string>
++
++namespace miroil
++{
++class InputDeviceObserver
++{
++public:
++ InputDeviceObserver() = default;
++ InputDeviceObserver(InputDeviceObserver const&) = delete;
++ InputDeviceObserver& operator=(InputDeviceObserver const&) = delete;
++ virtual ~InputDeviceObserver();
++
++ virtual void device_added(miroil::InputDevice device) = 0;
++ virtual void device_removed(miroil::InputDevice device) = 0;
++};
++
++}
++
++#endif //MIROIL_INPUT_DEVICE_OBSERVER_H
+diff --git a/src/platforms/mirserver/miroil/include/miroil/mir_prompt_session.h b/src/platforms/mirserver/miroil/include/miroil/mir_prompt_session.h
+new file mode 100644
+index 00000000..971bdddc
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/mir_prompt_session.h
+@@ -0,0 +1,48 @@
++/*
++ * Copyright © 2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU Lesser General Public License version 2 or 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef MIROIL_MIR_PROMPT_SESSION_H_
++#define MIROIL_MIR_PROMPT_SESSION_H_
++#include <memory>
++#include <functional>
++
++typedef struct MirPromptSession MirPromptSession;
++typedef void (*MirClientFdCallback)(MirPromptSession *prompt_session, size_t count, int const* fds, void* context);
++
++namespace miroil
++{
++
++class MirPromptSession
++{
++public:
++ MirPromptSession(::MirPromptSession * promptSession);
++ MirPromptSession(MirPromptSession const& src);
++ MirPromptSession(MirPromptSession && src);
++ ~MirPromptSession();
++
++ auto operator=(MirPromptSession const& src) -> MirPromptSession&;
++ auto operator=(MirPromptSession&& src) -> MirPromptSession&;
++
++ bool operator==(MirPromptSession const& other);
++
++ bool new_fds_for_prompt_providers(unsigned int no_of_fds, MirClientFdCallback callback, void * context);
++
++ ::MirPromptSession * prompt_session;
++};
++
++}
++
++#endif /* MIROIL_MIR_PROMPT_SESSION_H_ */
+diff --git a/src/platforms/mirserver/miroil/include/miroil/mir_server_hooks.h b/src/platforms/mirserver/miroil/include/miroil/mir_server_hooks.h
+new file mode 100644
+index 00000000..847ec9de
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/mir_server_hooks.h
+@@ -0,0 +1,57 @@
++/*
++ * Copyright © 2016 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ *
++ * Authored by: Alan Griffiths <alan@octopull.co.uk>
++ */
++
++#ifndef MIROIL_MIRSERVERHOOKS_H
++#define MIROIL_MIRSERVERHOOKS_H
++#include <miroil/input_device_observer.h>
++#include <miroil/prompt_session_listener.h>
++#include <mir/graphics/cursor_image.h>
++#include <functional>
++#include <memory>
++
++namespace mir { class Server; }
++namespace mir { namespace scene { class PromptSessionManager; }}
++namespace mir { namespace graphics { class Display; }}
++namespace mir { namespace shell { class DisplayConfigurationController; } }
++
++namespace miroil
++{
++using CreateNamedCursor = std::function<std::shared_ptr< mir::graphics::CursorImage>(std::string const& name)>;
++
++class MirServerHooks
++{
++public:
++ MirServerHooks();
++
++ void operator()(mir::Server& server);
++
++ auto the_prompt_session_listener() const -> PromptSessionListener*;
++ auto the_prompt_session_manager() const -> std::shared_ptr<mir::scene::PromptSessionManager>;
++ auto the_mir_display() const -> std::shared_ptr<mir::graphics::Display>;
++ auto the_display_configuration_controller() const -> std::shared_ptr<mir::shell::DisplayConfigurationController>;
++ void create_named_cursor(CreateNamedCursor func);
++ void create_input_device_observer(std::shared_ptr<InputDeviceObserver> & observer);
++ void create_prompt_session_listener(std::shared_ptr<PromptSessionListener> listener);
++
++private:
++ struct Self;
++ std::shared_ptr<Self> self;
++};
++}
++
++#endif //MIROIL_MIRSERVERHOOKS_H
+diff --git a/src/platforms/mirserver/miral/mirbuffer.h b/src/platforms/mirserver/miroil/include/miroil/mirbuffer.h
+similarity index 94%
+rename from src/platforms/mirserver/miral/mirbuffer.h
+rename to src/platforms/mirserver/miroil/include/miroil/mirbuffer.h
+index 21656292..c5fab09a 100644
+--- a/src/platforms/mirserver/miral/mirbuffer.h
++++ b/src/platforms/mirserver/miroil/include/miroil/mirbuffer.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright © 2017 Canonical Ltd.
++ * Copyright © 2017-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -14,8 +14,8 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#ifndef MIRAL_GLBUFFER_H
+-#define MIRAL_GLBUFFER_H
++#ifndef MIROIL_GLBUFFER_H
++#define MIROIL_GLBUFFER_H
+
+ #include <mir/geometry/size.h>
+
+@@ -93,4 +93,4 @@ public:
+
+ }
+
+-#endif //MIRAL_GLBUFFER_H
++#endif //MIROIL_GLBUFFER_H
+diff --git a/src/platforms/mirserver/openglcontextfactory.h b/src/platforms/mirserver/miroil/include/miroil/open_gl_context.h
+similarity index 67%
+rename from src/platforms/mirserver/openglcontextfactory.h
+rename to src/platforms/mirserver/miroil/include/miroil/open_gl_context.h
+index 56753005..f05edd6e 100644
+--- a/src/platforms/mirserver/openglcontextfactory.h
++++ b/src/platforms/mirserver/miroil/include/miroil/open_gl_context.h
+@@ -16,27 +16,23 @@
+ * Authored by: Alan Griffiths <alan@octopull.co.uk>
+ */
+
+-#ifndef MIRAL_OPENGLCONTEXTFACTORY_H
+-#define MIRAL_OPENGLCONTEXTFACTORY_H
+-
++#ifndef MIROIL_OPEN_GL_CONTEXT_H
++#define MIROIL_OPEN_GL_CONTEXT_H
++#include <mir/graphics/gl_config.h>
+ #include <memory>
++#include <functional>
+
+-namespace mir { namespace graphics { class Display; }}
+ namespace mir { class Server; }
+
+-class QPlatformOpenGLContext;
+-class QSurfaceFormat;
+-
+-namespace qtmir
++namespace miroil
+ {
+-class OpenGLContextFactory
++class OpenGLContext
+ {
+ public:
+- OpenGLContextFactory();
++ OpenGLContext(mir::graphics::GLConfig* gl_config);
+
+ void operator()(mir::Server& server);
+-
+- QPlatformOpenGLContext *createPlatformOpenGLContext(QSurfaceFormat format, mir::graphics::Display &mirDisplay) const;
++ auto the_open_gl_config() const -> std::shared_ptr<mir::graphics::GLConfig>;
+
+ private:
+ struct Self;
+@@ -44,4 +40,4 @@ private:
+ };
+ }
+
+-#endif //MIRAL_OPENGLCONTEXTFACTORY_H
++#endif //MIROIL_OPEN_GL_CONTEXT_H
+diff --git a/src/platforms/mirserver/miral/persist_display_config.h b/src/platforms/mirserver/miroil/include/miroil/persist_display_config.h
+similarity index 78%
+rename from src/platforms/mirserver/miral/persist_display_config.h
+rename to src/platforms/mirserver/miroil/include/miroil/persist_display_config.h
+index 45705a04..83a25264 100644
+--- a/src/platforms/mirserver/miral/persist_display_config.h
++++ b/src/platforms/mirserver/miroil/include/miroil/persist_display_config.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright © 2016 Canonical Ltd.
++ * Copyright © 2016-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -16,16 +16,15 @@
+ * Authored by: Alan Griffiths <alan@octopull.co.uk>
+ */
+
+-#ifndef MIRAL_PERSIST_DISPLAY_CONFIG_H
+-#define MIRAL_PERSIST_DISPLAY_CONFIG_H
++#ifndef MIROIL_PERSIST_DISPLAY_CONFIG_H
++#define MIROIL_PERSIST_DISPLAY_CONFIG_H
+
+ #include <functional>
+ #include <memory>
+
+-namespace mir { class Server; }
++namespace mir { class Server; namespace graphics { class DisplayConfigurationPolicy; }}
+
+-// Prototyping namespace for later incorporation in MirAL
+-namespace miral
++namespace miroil
+ {
+ class DisplayConfigurationPolicy;
+ class DisplayConfigurationStorage;
+@@ -39,7 +38,7 @@ public:
+ auto operator=(PersistDisplayConfig const&) -> PersistDisplayConfig&;
+
+ // TODO factor this out better
+- using DisplayConfigurationPolicyWrapper = std::function<std::shared_ptr<DisplayConfigurationPolicy>()>;
++ using DisplayConfigurationPolicyWrapper = std::function<std::shared_ptr<DisplayConfigurationPolicy>(std::shared_ptr<mir::graphics::DisplayConfigurationPolicy> const& wrapped)>;
+
+ PersistDisplayConfig(std::shared_ptr<DisplayConfigurationStorage> const& storage,
+ DisplayConfigurationPolicyWrapper const& custom_wrapper);
+@@ -50,7 +49,6 @@ private:
+ struct Self;
+ std::shared_ptr<Self> self;
+ };
+-
+ }
+
+-#endif //MIRAL_PERSIST_DISPLAY_CONFIG_H
++#endif //MIROIL_PERSIST_DISPLAY_CONFIG_H
+diff --git a/src/platforms/mirserver/miroil/include/miroil/prompt_session_listener.h b/src/platforms/mirserver/miroil/include/miroil/prompt_session_listener.h
+new file mode 100644
+index 00000000..5049a11e
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/prompt_session_listener.h
+@@ -0,0 +1,49 @@
++/*
++ * Copyright © 2016-2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef MIROIL_PROMPT_SESSION_LISTENER_H
++#define MIROIL_PROMPT_SESSION_LISTENER_H
++#include <memory>
++
++namespace mir { namespace scene { class PromptSession; } }
++namespace mir { namespace scene { class Session; } }
++
++namespace miroil {
++
++class PromptSessionListener
++{
++public:
++ virtual ~PromptSessionListener();
++
++ PromptSessionListener& operator=(PromptSessionListener const&) = delete;
++
++ virtual void starting(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) = 0;
++ virtual void stopping(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) = 0;
++ virtual void suspending(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) = 0;
++ virtual void resuming(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) = 0;
++ virtual void prompt_provider_added(mir::scene::PromptSession const& prompt_session,
++ std::shared_ptr<mir::scene::Session> const& prompt_provider) = 0;
++ virtual void prompt_provider_removed(mir::scene::PromptSession const& prompt_session,
++ std::shared_ptr<mir::scene::Session> const& prompt_provider) = 0;
++
++protected:
++ PromptSessionListener() = default;
++ PromptSessionListener(PromptSessionListener const&) = delete;
++};
++
++}
++
++#endif // MIROIL_PROMPT_SESSION_LISTENER_H
+diff --git a/src/platforms/mirserver/miroil/include/miroil/prompt_session_manager.h b/src/platforms/mirserver/miroil/include/miroil/prompt_session_manager.h
+new file mode 100644
+index 00000000..2e1a5385
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/prompt_session_manager.h
+@@ -0,0 +1,51 @@
++/*
++ * Copyright © 2016-2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef MIROIL_PROMPT_SESSION_MANAGER_H
++#define MIROIL_PROMPT_SESSION_MANAGER_H
++
++#include <miral/application.h>
++
++#include <memory>
++
++namespace mir { namespace scene { class PromptSessionManager; class PromptSession;} }
++
++namespace miroil {
++
++class PromptSessionManager
++{
++public:
++ PromptSessionManager(std::shared_ptr<mir::scene::PromptSessionManager> const& prompt_session_manager);
++ PromptSessionManager(PromptSessionManager const& src);
++ PromptSessionManager(PromptSessionManager&& src);
++ ~PromptSessionManager();
++
++ auto operator=(PromptSessionManager const& src) -> PromptSessionManager&;
++ auto operator=(PromptSessionManager&& src) -> PromptSessionManager&;
++
++ bool operator==(PromptSessionManager const& other);
++
++ auto application_for(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) const -> miral::Application;
++ void resume_prompt_session(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) const;
++ void stop_prompt_session(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) const;
++ void suspend_prompt_session(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) const;
++
++private:
++ std::shared_ptr<mir::scene::PromptSessionManager> prompt_session_manager;
++};
++}
++
++#endif //MIROIL_PROMPT_SESSION_MANAGER_H
+diff --git a/src/platforms/mirserver/miroil/include/miroil/set_compositor.h b/src/platforms/mirserver/miroil/include/miroil/set_compositor.h
+new file mode 100644
+index 00000000..10179601
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/set_compositor.h
+@@ -0,0 +1,54 @@
++/*
++ * Copyright © 2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#ifndef MIROIL_SET_COMPOSITOR_H
++#define MIROIL_SET_COMPOSITOR_H
++#include <memory>
++#include <functional>
++
++namespace mir { class Server; }
++namespace mir { namespace graphics { class Display; } }
++namespace mir { namespace compositor { class DisplayListener; } }
++
++namespace miroil
++{
++ class Compositor;
++
++// Configure the server for using the Qt compositor
++class SetCompositor
++{
++ using InitFunction = std::function<void(const std::shared_ptr<mir::graphics::Display>& display,
++ const std::shared_ptr<Compositor> & compositor,
++ const std::shared_ptr<mir::compositor::DisplayListener>& displayListener)>;
++
++ using ConstructorFunction = std::function<std::shared_ptr<Compositor>()>;
++
++public:
++ SetCompositor(ConstructorFunction constructor, InitFunction init);
++
++ void operator()(mir::Server& server);
++
++private:
++ struct CompositorImpl;
++
++ std::weak_ptr<CompositorImpl> compositor_impl;
++ ConstructorFunction constructor_function;
++ InitFunction init_function;
++};
++
++}
++
++#endif //MIROIL_SET_COMPOSITOR_H
+diff --git a/src/platforms/mirserver/miroil/include/miroil/surface.h b/src/platforms/mirserver/miroil/include/miroil/surface.h
+new file mode 100644
+index 00000000..1b0dc2db
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/surface.h
+@@ -0,0 +1,77 @@
++/*
++ * Copyright (C) 2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++#ifndef MIROIL_SURFACE_H
++#define MIROIL_SURFACE_H
++#include <memory>
++#include <unordered_map>
++#include <mir_toolkit/mir_input_device_types.h>
++#include <mir_toolkit/common.h>
++#include <mir/graphics/renderable.h>
++
++namespace mir {
++ namespace scene { class Surface; }
++ namespace shell { class InputTargeter; }
++ namespace geometry { struct Rectangle; }
++ namespace graphics { class CursorImage; }
++ namespace compositor { class BufferStream; }
++}
++
++namespace miroil {
++
++class SurfaceObserver;
++class SurfaceObserverImpl;
++
++using CompositorID = void const*;
++
++class Surface
++{
++public:
++ Surface(std::shared_ptr<mir::scene::Surface> wrapped);
++ ~Surface() = default;
++
++ mir::scene::Surface *get_wrapped() const;
++ void add_observer(std::shared_ptr<miroil::SurfaceObserver> const& observer);
++ void remove_observer(std::shared_ptr<miroil::SurfaceObserver> const& observer);
++
++ int buffers_ready_for_compositor(void const* compositor_id) const;
++ mir::graphics::RenderableList generate_renderables(miroil::CompositorID id) const;
++
++
++ bool is_confined_to_window();
++ void set_orientation(MirOrientation orientation);
++
++ void set_confine_pointer_state(MirPointerConfinementState state);
++ std::shared_ptr<mir::scene::Surface> parent() const;
++ /// Top-left corner (of the window frame if present)
++ mir::geometry::Point top_left() const;
++ bool visible() const;
++
++ // TODO a legacy of old interactions and needs removing
++ int configure(MirWindowAttrib attrib, int value);
++ // TODO a legacy of old interactions and needs removing
++ int query(MirWindowAttrib attrib) const;
++ // TODO a legacy of old interactions and needs removing
++ void set_keymap(MirInputDeviceId id, std::string const& model, std::string const& layout,
++ std::string const& variant, std::string const& options);
++
++private:
++ std::shared_ptr<mir::scene::Surface> wrapped;
++ std::unordered_map<std::shared_ptr<miroil::SurfaceObserver>, std::shared_ptr<miroil::SurfaceObserverImpl>> observers;
++};
++
++}
++
++#endif
+diff --git a/src/platforms/mirserver/miroil/include/miroil/surface_observer.h b/src/platforms/mirserver/miroil/include/miroil/surface_observer.h
+new file mode 100644
+index 00000000..97fc1a03
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/include/miroil/surface_observer.h
+@@ -0,0 +1,63 @@
++/*
++ * Copyright © 2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++#include <mir_toolkit/common.h>
++#include <mir/geometry/size.h>
++#include <mir/geometry/rectangle.h>
++#include <mir/graphics/cursor_image.h>
++#include <glm/glm.hpp>
++#include <mir_toolkit/mir_input_device_types.h>
++#include <vector>
++
++namespace mir { namespace scene { class SurfaceObserver; } }
++namespace mir { namespace scene { class Surface; } }
++
++struct MirEvent;
++struct MirInputEvent;
++
++namespace miroil
++{
++
++class SurfaceObserver
++{
++public:
++ SurfaceObserver() = default;
++ SurfaceObserver(SurfaceObserver const&) = delete;
++ SurfaceObserver& operator=(SurfaceObserver const&) = delete;
++ virtual ~SurfaceObserver() = default;
++
++ virtual void attrib_changed(mir::scene::Surface const* surf, MirWindowAttrib attrib, int value) = 0;
++ virtual void window_resized_to(mir::scene::Surface const* surf, mir::geometry::Size const& window_size) = 0;
++ virtual void content_resized_to(mir::scene::Surface const* surf, mir::geometry::Size const& content_size) = 0;
++ virtual void moved_to(mir::scene::Surface const* surf, mir::geometry::Point const& top_left) = 0;
++ virtual void hidden_set_to(mir::scene::Surface const* surf, bool hide) = 0;
++ virtual void frame_posted(mir::scene::Surface const* surf, int frames_available, mir::geometry::Size const& size) = 0;
++ virtual void alpha_set_to(mir::scene::Surface const* surf, float alpha) = 0;
++ virtual void orientation_set_to(mir::scene::Surface const* surf, MirOrientation orientation) = 0;
++ virtual void transformation_set_to(mir::scene::Surface const* surf, glm::mat4 const& t) = 0;
++ virtual void cursor_image_set_to(mir::scene::Surface const* surf, mir::graphics::CursorImage const& image) = 0;
++ virtual void client_surface_close_requested(mir::scene::Surface const* surf) = 0;
++ virtual void keymap_changed(mir::scene::Surface const* surf, MirInputDeviceId id, std::string const& model,
++ std::string const& layout, std::string const& variant, std::string const& options) = 0;
++ virtual void renamed(mir::scene::Surface const* surf, char const* name) = 0;
++ virtual void cursor_image_removed(mir::scene::Surface const* surf) = 0;
++ virtual void placed_relative(mir::scene::Surface const* surf, mir::geometry::Rectangle const& placement) = 0;
++ virtual void input_consumed(mir::scene::Surface const* surf, MirEvent const* event) = 0;
++ virtual void start_drag_and_drop(mir::scene::Surface const* surf, std::vector<uint8_t> const& handle) = 0;
++ virtual void depth_layer_set_to(mir::scene::Surface const* surf, MirDepthLayer depth_layer) = 0;
++ virtual void application_id_set_to(mir::scene::Surface const* surf, std::string const& application_id) = 0;
++};
++
++}
+diff --git a/src/platforms/mirserver/miroil/src/CMakeLists.txt b/src/platforms/mirserver/miroil/src/CMakeLists.txt
+new file mode 100644
+index 00000000..32d7d4ed
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/CMakeLists.txt
+@@ -0,0 +1,39 @@
++add_library(miroil OBJECT
++ compositor.cpp ${MIROIL_INCLUDE_DIRS}/miroil/compositor.h
++ edid.cpp ${qtmir_include}/miroil/edid.h
++ mirbuffer.cpp ${MIROIL_INCLUDE_DIRS}/miroil/mirbuffer.h
++ persist_display_config.cpp ${MIROIL_INCLUDE_DIRS}/miroil/persist_display_config.h
++ display_configuration_policy.cpp ${qtmir_include}/miroil/display_configuration_policy.h
++ display_configuration_controller_wrapper.cpp ${MIROIL_INCLUDE_DIRS}/miroil/display_configuration_controller_wrapper.h
++ display_listener_wrapper.cpp ${MIROIL_INCLUDE_DIRS}/miroil/display_listener_wrapper.h
++ eventdispatch.cpp ${MIROIL_INCLUDE_DIRS}/miroil/eventdispatch.h
++ event_builder.cpp ${MIROIL_INCLUDE_DIRS}/miroil/event_builder.h
++ input_device.cpp ${MIROIL_INCLUDE_DIRS}/miroil/input_device.h
++ input_device_observer.cpp ${MIROIL_INCLUDE_DIRS}/miroil/input_device_observer.h
++ mir_server_hooks.cpp ${MIROIL_INCLUDE_DIRS}/miroil/mir_server_hooks.h
++ mir_prompt_session.cpp ${MIROIL_INCLUDE_DIRS}/miroil/mir_prompt_session.h
++ open_gl_context.cpp ${MIROIL_INCLUDE_DIRS}/miroil/open_gl_context.h
++ prompt_session_listener.cpp ${MIROIL_INCLUDE_DIRS}/miroil/prompt_session_listener.h
++ prompt_session_manager.cpp ${MIROIL_INCLUDE_DIRS}/miroil/prompt_session_manager.h
++ set_compositor.cpp ${MIROIL_INCLUDE_DIRS}/miroil/set_compositor.h
++ surface.cpp ${MIROIL_INCLUDE_DIRS}/miroil/surface.h
++ ${qtmir_include}/miroil/display_configuration_storage.h
++ ${qtmir_include}/miroil/display_id.h
++)
++
++target_include_directories(miroil
++ PUBLIC "${MIROIL_INCLUDE_DIRS}" "${qtmir_include}" "${qtmir_include}/qtmir"
++ PRIVATE ${MIRAL_INCLUDE_DIRS}
++ ${MIRCOMMON_INCLUDE_DIRS}
++ ${MIRSERVER_INCLUDE_DIRS}
++ ${MIRRENDERERGLDEV_INCLUDE_DIRS}
++ ${MIRSERVER_INCLUDE_DIRS}
++)
++
++target_link_libraries(miroil
++ PRIVATE
++ ${MIRAL_LDFLAGS}
++ ${MIRSERVER_LDFLAGS}
++
++ ${EGL_LDFLAGS}
++)
+diff --git a/src/platforms/mirserver/miroil/src/compositor.cpp b/src/platforms/mirserver/miroil/src/compositor.cpp
+new file mode 100644
+index 00000000..eb50aa65
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/compositor.cpp
+@@ -0,0 +1,20 @@
++/*
++ * Copyright (C) 2016-2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <miroil/compositor.h>
++
++miroil::Compositor::~Compositor() = default;
++
+diff --git a/src/platforms/mirserver/miroil/src/display_configuration_controller_wrapper.cpp b/src/platforms/mirserver/miroil/src/display_configuration_controller_wrapper.cpp
+new file mode 100644
+index 00000000..9ca49428
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/display_configuration_controller_wrapper.cpp
+@@ -0,0 +1,32 @@
++/*
++ * Copyright (C) 2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <miroil/display_configuration_controller_wrapper.h>
++#include "mir/shell/display_configuration_controller.h"
++
++namespace miroil {
++
++void DisplayConfigurationControllerWrapper::set_base_configuration(std::shared_ptr<mir::graphics::DisplayConfiguration> const& conf)
++{
++ wrapped->set_base_configuration(conf);
++}
++
++DisplayConfigurationControllerWrapper::DisplayConfigurationControllerWrapper(std::shared_ptr<mir::shell::DisplayConfigurationController> const & wrapped)
++ : wrapped(wrapped)
++{
++}
++
++}
+diff --git a/src/platforms/mirserver/miral/display_configuration_policy.cpp b/src/platforms/mirserver/miroil/src/display_configuration_policy.cpp
+similarity index 73%
+rename from src/platforms/mirserver/miral/display_configuration_policy.cpp
+rename to src/platforms/mirserver/miroil/src/display_configuration_policy.cpp
+index c4f5281d..ad746310 100644
+--- a/src/platforms/mirserver/miral/display_configuration_policy.cpp
++++ b/src/platforms/mirserver/miroil/src/display_configuration_policy.cpp
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright © 2016 Canonical Ltd.
++ * Copyright © 2016-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -16,6 +16,7 @@
+ * Authored by: Nick Dedekind <nick.dedekind@canonical.com>
+ */
+
+-#include "qtmir/miral/display_configuration_policy.h"
++#include "miroil/display_configuration_policy.h"
+
+-miral::DisplayConfigurationPolicy::DisplayConfigurationPolicy() = default;
++miroil::DisplayConfigurationPolicy::DisplayConfigurationPolicy() = default;
++miroil::DisplayConfigurationPolicy::~DisplayConfigurationPolicy() = default;
+diff --git a/src/platforms/mirserver/miroil/src/display_listener_wrapper.cpp b/src/platforms/mirserver/miroil/src/display_listener_wrapper.cpp
+new file mode 100644
+index 00000000..125cc20b
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/display_listener_wrapper.cpp
+@@ -0,0 +1,41 @@
++/*
++ * Copyright (C) 2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++#include "miroil/display_listener_wrapper.h"
++#include "mir/compositor/display_listener.h"
++
++namespace miroil
++{
++
++DisplayListenerWrapper::DisplayListenerWrapper(std::shared_ptr<mir::compositor::DisplayListener> const & display_listener)
++ : display_listener(display_listener)
++{
++}
++
++DisplayListenerWrapper::~DisplayListenerWrapper()
++{
++}
++
++void DisplayListenerWrapper::add_display(mir::geometry::Rectangle const& area)
++{
++ display_listener->add_display(area);
++}
++
++void DisplayListenerWrapper::remove_display(mir::geometry::Rectangle const& area)
++{
++ display_listener->remove_display(area);
++}
++
++}
+diff --git a/src/platforms/mirserver/miral/edid.cpp b/src/platforms/mirserver/miroil/src/edid.cpp
+similarity index 91%
+rename from src/platforms/mirserver/miral/edid.cpp
+rename to src/platforms/mirserver/miroil/src/edid.cpp
+index 0f8f80dc..094cbc8c 100644
+--- a/src/platforms/mirserver/miral/edid.cpp
++++ b/src/platforms/mirserver/miroil/src/edid.cpp
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright © 2016 Canonical Ltd.
++ * Copyright © 2016-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -16,16 +16,16 @@
+ * Authored by: Nick Dedekind <nick.dedekind@canonical.com>
+ */
+
+-#include "qtmir/miral/edid.h"
++#include "miroil/edid.h"
+
+ #include <cstring>
+ #include <numeric>
+ #include <stdexcept>
+
+-miral::Edid& miral::Edid::parse_data(std::vector<uint8_t> const& data)
++miroil::Edid& miroil::Edid::parse_data(std::vector<uint8_t> const& data)
+ {
+ if (data.size() != 128 && data.size() != 256) {
+- throw std::runtime_error(std::string("Incorrect EDID structure size:") + std::to_string(data.size()));
++ throw std::runtime_error("Incorrect EDID structure size");
+ }
+
+ // check the checksum
+@@ -97,7 +97,7 @@ miral::Edid& miral::Edid::parse_data(std::vector<uint8_t> const& data)
+ return *this;
+ }
+
+-std::string miral::Edid::Descriptor::string_value() const
++std::string miroil::Edid::Descriptor::string_value() const
+ {
+ switch(type) {
+ case Type::monitor_name:
+diff --git a/src/platforms/mirserver/miroil/src/event_builder.cpp b/src/platforms/mirserver/miroil/src/event_builder.cpp
+new file mode 100644
+index 00000000..33d963ce
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/event_builder.cpp
+@@ -0,0 +1,116 @@
++/*
++ * Copyright (C) 2016-2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "miroil/event_builder.h"
++#include "mir_toolkit/events/input/input_event.h"
++#include "mir_toolkit/mir_cookie.h"
++#include "mir/events/event_builders.h"
++
++namespace miroil {
++
++EventBuilder::EventBuilder()
++: event_info_vector(10)
++{
++}
++
++EventBuilder::~EventBuilder() = default;
++
++void EventBuilder::add_touch(MirEvent &event, MirTouchId touch_id, MirTouchAction action,
++ MirTouchTooltype tooltype, float x_axis_value, float y_axis_value,
++ float pressure_value, float touch_major_value, float touch_minor_value, float size_value)
++{
++ mir::events::add_touch(event, touch_id, action, tooltype, x_axis_value, y_axis_value,
++ pressure_value, touch_major_value, touch_minor_value, size_value);
++}
++
++// Key event
++mir::EventUPtr EventBuilder::make_key_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp,
++ std::vector<uint8_t> const& cookie, MirKeyboardAction action, xkb_keysym_t key_code,
++ int scan_code, MirInputEventModifiers modifiers)
++{
++ return mir::events::make_event(device_id, timestamp,
++ cookie, action, key_code,
++ scan_code, modifiers);
++}
++
++// Touch event
++mir::EventUPtr EventBuilder::make_touch_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp,
++ std::vector<uint8_t> const& mac, MirInputEventModifiers modifiers)
++{
++ return mir::events::make_event(device_id, timestamp,
++ mac, modifiers);
++}
++
++// Pointer event
++mir::EventUPtr EventBuilder::make_pointer_event(MirInputDeviceId device_id, std::chrono::nanoseconds timestamp,
++ std::vector<uint8_t> const& mac, MirInputEventModifiers modifiers, MirPointerAction action,
++ MirPointerButtons buttons_pressed,
++ float x_axis_value, float y_axis_value,
++ float hscroll_value, float vscroll_value,
++ float relative_x_value, float relative_y_value)
++{
++ return mir::events::make_event(device_id, timestamp,
++ mac, modifiers, action,
++ buttons_pressed,
++ x_axis_value, y_axis_value,
++ hscroll_value, vscroll_value,
++ relative_x_value, relative_y_value);
++}
++
++EventBuilder::EventInfo *EventBuilder::find_info(ulong qtTimestamp)
++{
++ for (size_t i = 0; i < event_info_count; ++i) {
++ if (event_info_vector[i].timestamp == qtTimestamp) {
++ return &event_info_vector[i];
++ }
++ }
++ return nullptr;
++}
++
++void EventBuilder::store(const MirInputEvent *mirInputEvent, ulong qtTimestamp)
++{
++ EventInfo &eventInfo = event_info_vector[next_index];
++ eventInfo.store(mirInputEvent, qtTimestamp);
++
++ next_index = (next_index + 1) % event_info_vector.size();
++
++ if (event_info_count < event_info_vector.size()) {
++ ++event_info_count;
++ }
++}
++
++void EventBuilder::EventInfo::store(const MirInputEvent *iev, ulong qtTimestamp)
++{
++ this->timestamp = qtTimestamp;
++ device_id = mir_input_event_get_device_id(iev);
++ if (mir_input_event_has_cookie(iev))
++ {
++ auto cookie_ptr = mir_input_event_get_cookie(iev);
++ cookie.resize(mir_cookie_buffer_size(cookie_ptr));
++ mir_cookie_to_buffer(cookie_ptr, cookie.data(), cookie.size());
++ mir_cookie_release(cookie_ptr);
++ } else {
++ cookie.resize(0);
++ }
++ if (mir_input_event_type_pointer == mir_input_event_get_type(iev))
++ {
++ auto pev = mir_input_event_get_pointer_event(iev);
++ relative_x = mir_pointer_event_axis_value(pev, mir_pointer_axis_relative_x);
++ relative_y = mir_pointer_event_axis_value(pev, mir_pointer_axis_relative_y);
++ }
++}
++
++}
+diff --git a/src/platforms/mirserver/eventdispatch.cpp b/src/platforms/mirserver/miroil/src/eventdispatch.cpp
+similarity index 87%
+rename from src/platforms/mirserver/eventdispatch.cpp
+rename to src/platforms/mirserver/miroil/src/eventdispatch.cpp
+index fa2e36bb..64420575 100644
+--- a/src/platforms/mirserver/eventdispatch.cpp
++++ b/src/platforms/mirserver/miroil/src/eventdispatch.cpp
+@@ -16,12 +16,11 @@
+ * Authored by: Alan Griffiths <alan@octopull.co.uk>
+ */
+
+-#include "eventdispatch.h"
+-
++#include "miroil/eventdispatch.h"
+ #include <miral/window.h>
+ #include <mir/scene/surface.h>
+
+-void qtmir::dispatchInputEvent(const miral::Window& window, const MirInputEvent* event)
++void miroil::dispatch_input_event(const miral::Window& window, const MirInputEvent* event)
+ {
+ auto e = reinterpret_cast<MirEvent const*>(event); // naughty
+
+diff --git a/src/platforms/mirserver/miroil/src/input_device.cpp b/src/platforms/mirserver/miroil/src/input_device.cpp
+new file mode 100644
+index 00000000..4850ee16
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/input_device.cpp
+@@ -0,0 +1,80 @@
++/*
++ * Copyright © 2016-2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <miroil/input_device.h>
++
++#include "mir/flags.h"
++#include "mir/input/device.h"
++#include "mir/input/mir_keyboard_config.h"
++
++miroil::InputDevice::InputDevice(std::shared_ptr<mir::input::Device> const& device)
++: device(device)
++{
++}
++
++miroil::InputDevice::InputDevice(InputDevice const& ) = default;
++
++miroil::InputDevice::InputDevice() = default;
++
++miroil::InputDevice::~InputDevice() = default;
++
++bool miroil::InputDevice::operator==(InputDevice const& other)
++{
++ return device == other.device;
++}
++
++void miroil::InputDevice::apply_keymap(std::string const& layout, std::string const& variant)
++{
++ MirKeyboardConfig oldConfig;
++
++ mir::input::Keymap keymap;
++ if (device->keyboard_configuration().is_set()) { // preserve the model and options
++ oldConfig = device->keyboard_configuration().value();
++ keymap.model = oldConfig.device_keymap().model;
++ keymap.options = oldConfig.device_keymap().options;
++ }
++ keymap.layout = layout;
++ keymap.variant = variant;
++
++ device->apply_keyboard_configuration(std::move(keymap));
++}
++
++
++MirInputDeviceId miroil::InputDevice::get_device_id()
++{
++ return device->id();
++}
++
++std::string miroil::InputDevice::get_device_name()
++{
++ return device->name();
++}
++
++bool miroil::InputDevice::is_keyboard()
++{
++ return mir::contains(device->capabilities(), mir::input::DeviceCapability::keyboard);
++}
++
++bool miroil::InputDevice::is_alpha_numeric()
++{
++ return mir::contains(device->capabilities(), mir::input::DeviceCapability::alpha_numeric);
++}
++
++miroil::InputDevice::InputDevice(InputDevice&& ) = default;
++
++auto miroil::InputDevice::operator=(InputDevice const& src) -> InputDevice& = default;
++
++auto miroil::InputDevice::operator=(InputDevice&& src) -> InputDevice& = default;
+diff --git a/src/platforms/mirserver/miroil/src/input_device_observer.cpp b/src/platforms/mirserver/miroil/src/input_device_observer.cpp
+new file mode 100644
+index 00000000..35c04645
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/input_device_observer.cpp
+@@ -0,0 +1,19 @@
++/*
++ * Copyright (C) 2016-2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <miroil/input_device_observer.h>
++
++miroil::InputDeviceObserver::~InputDeviceObserver() = default;
+diff --git a/src/platforms/mirserver/miroil/src/mir_prompt_session.cpp b/src/platforms/mirserver/miroil/src/mir_prompt_session.cpp
+new file mode 100644
+index 00000000..607cac45
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/mir_prompt_session.cpp
+@@ -0,0 +1,34 @@
++#include <miroil/mir_prompt_session.h>
++#include <mir/uncaught.h>
++
++miroil::MirPromptSession::MirPromptSession(::MirPromptSession * prompt_session)
++{
++ this->prompt_session = prompt_session;
++}
++
++miroil::MirPromptSession::MirPromptSession(MirPromptSession const& src) = default;
++miroil::MirPromptSession::MirPromptSession(MirPromptSession && src) = default;
++miroil::MirPromptSession::~MirPromptSession() = default;
++
++auto miroil::MirPromptSession::operator=(MirPromptSession const& src) -> MirPromptSession&
++{
++ prompt_session = src.prompt_session;
++ return *this;
++}
++
++auto miroil::MirPromptSession::operator=(MirPromptSession&& src) -> MirPromptSession&
++{
++ prompt_session = src.prompt_session;
++ return *this;
++}
++
++bool miroil::MirPromptSession::operator==(MirPromptSession const& other)
++{
++ return prompt_session == other.prompt_session;
++}
++
++bool miroil::MirPromptSession::new_fds_for_prompt_providers(unsigned int /*no_of_fds*/, MirClientFdCallback /*callback*/, void * /*context*/)
++{
++// return mir_prompt_session_new_fds_for_prompt_providers(prompt_session, no_of_fds, callback, context);
++ return false;
++}
+diff --git a/src/platforms/mirserver/miroil/src/mir_server_hooks.cpp b/src/platforms/mirserver/miroil/src/mir_server_hooks.cpp
+new file mode 100644
+index 00000000..3ece6f67
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/mir_server_hooks.cpp
+@@ -0,0 +1,252 @@
++/*
++ * Copyright © 2016 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ *
++ * Authored by: Alan Griffiths <alan@octopull.co.uk>
++ */
++
++#include <miroil/mir_server_hooks.h>
++
++// mir
++#include <mir/server.h>
++#include <mir/graphics/cursor.h>
++#include <mir/scene/prompt_session_listener.h>
++#include <mir/input/input_device_hub.h>
++#include <mir/input/input_device_observer.h>
++#include <mir/input/cursor_images.h>
++#include <mir/version.h>
++
++#include <stdexcept>
++
++namespace mg = mir::graphics;
++namespace ms = mir::scene;
++
++namespace
++{
++struct PromptSessionListenerImpl : mir::scene::PromptSessionListener
++{
++ PromptSessionListenerImpl(std::shared_ptr<miroil::PromptSessionListener> const& listener) : listener(listener) {};
++ ~PromptSessionListenerImpl();
++
++ void starting(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
++ void stopping(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
++ void suspending(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
++ void resuming(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
++
++ void prompt_provider_added(mir::scene::PromptSession const& prompt_session,
++ std::shared_ptr<mir::scene::Session> const& prompt_provider) override;
++ void prompt_provider_removed(mir::scene::PromptSession const& prompt_session,
++ std::shared_ptr<mir::scene::Session> const& prompt_provider) override;
++
++private:
++ std::shared_ptr<miroil::PromptSessionListener> const listener;
++};
++
++struct MirInputDeviceObserverImpl : mir::input::InputDeviceObserver
++{
++public:
++ MirInputDeviceObserverImpl(std::shared_ptr<miroil::InputDeviceObserver> & observer) : observer(observer) {};
++
++ void device_added(std::shared_ptr<mir::input::Device> const& device) override;
++ void device_changed(std::shared_ptr<mir::input::Device> const& /*device*/) override {}
++ void device_removed(std::shared_ptr<mir::input::Device> const& device) override;
++ void changes_complete() override {}
++
++private:
++ std::shared_ptr<miroil::InputDeviceObserver> observer;
++};
++
++struct HiddenCursorWrapper : mg::Cursor
++{
++ HiddenCursorWrapper(std::shared_ptr<mg::Cursor> const& wrapped) :
++ wrapped{wrapped} { wrapped->hide(); }
++#if MIR_SERVER_VERSION < MIR_VERSION_NUMBER(2, 3, 0)
++ void show() override { }
++#endif
++ void show(mg::CursorImage const&) override { }
++ void hide() override { wrapped->hide(); }
++
++ void move_to(mir::geometry::Point position) override { wrapped->move_to(position); }
++
++private:
++ std::shared_ptr<mg::Cursor> const wrapped;
++};
++}
++
++class MirCursorImages : public mir::input::CursorImages
++{
++public:
++ MirCursorImages(miroil::CreateNamedCursor func);
++
++ std::shared_ptr<mir::graphics::CursorImage> image(const std::string &cursor_name,
++ const mir::geometry::Size &size) override;
++
++private:
++ miroil::CreateNamedCursor create_func;
++};
++
++MirCursorImages::MirCursorImages(miroil::CreateNamedCursor func)
++{
++ create_func = func;
++}
++
++auto MirCursorImages::image(const std::string &cursor_name, const mir::geometry::Size &)
++-> std::shared_ptr<mir::graphics::CursorImage>
++{
++ return create_func(cursor_name);
++}
++
++struct miroil::MirServerHooks::Self
++{
++ std::shared_ptr<miroil::PromptSessionListener> prompt_session_listener;
++ std::weak_ptr<PromptSessionListenerImpl> prompt_session_listener_impl;
++ std::weak_ptr<mir::graphics::Display> mir_display;
++ std::weak_ptr<mir::shell::DisplayConfigurationController> mir_display_configuration_controller;
++ std::weak_ptr<mir::scene::PromptSessionManager> mir_prompt_session_manager;
++ std::weak_ptr<mir::input::InputDeviceHub> input_device_hub;
++ CreateNamedCursor create_cursor;
++};
++
++miroil::MirServerHooks::MirServerHooks() :
++ self{std::make_shared<Self>()}
++{
++}
++
++void miroil::MirServerHooks::operator()(mir::Server& server)
++{
++ if (self->create_cursor) {
++ server.override_the_cursor_images([this]
++ { return std::make_shared<MirCursorImages>(self->create_cursor); });
++ }
++
++ server.wrap_cursor([&](std::shared_ptr<mg::Cursor> const& wrapped)
++ { return std::make_shared<HiddenCursorWrapper>(wrapped); });
++
++ if (self->prompt_session_listener) {
++ server.override_the_prompt_session_listener([this]
++ {
++ auto const result = std::make_shared<PromptSessionListenerImpl>(self->prompt_session_listener);
++ self->prompt_session_listener_impl = result;
++ return result;
++ });
++ }
++
++ server.add_init_callback([this, &server]
++ {
++ self->mir_display = server.the_display();
++ self->mir_display_configuration_controller = server.the_display_configuration_controller();
++ self->mir_prompt_session_manager = server.the_prompt_session_manager();
++ self->input_device_hub = server.the_input_device_hub();
++ });
++}
++
++auto miroil::MirServerHooks::the_prompt_session_listener() const
++-> miroil::PromptSessionListener*
++{
++ return self->prompt_session_listener.get();
++}
++
++auto miroil::MirServerHooks::the_prompt_session_manager() const
++-> std::shared_ptr<mir::scene::PromptSessionManager>
++{
++ if (auto result = self->mir_prompt_session_manager.lock())
++ return result;
++
++ throw std::logic_error("No prompt session manager available. Server not running?");
++}
++
++auto miroil::MirServerHooks::the_mir_display() const
++-> std::shared_ptr<mir::graphics::Display>
++{
++ if (auto result = self->mir_display.lock())
++ return result;
++
++ throw std::logic_error("No display available. Server not running?");
++}
++
++auto miroil::MirServerHooks::the_display_configuration_controller() const
++-> std::shared_ptr<mir::shell::DisplayConfigurationController>
++{
++ if (auto result = self->mir_display_configuration_controller.lock())
++ return result;
++
++ throw std::logic_error("No input device hub available. Server not running?");
++}
++
++void miroil::MirServerHooks::create_named_cursor(CreateNamedCursor func)
++{
++ self->create_cursor = func;
++}
++
++void miroil::MirServerHooks::create_input_device_observer(std::shared_ptr<miroil::InputDeviceObserver> & observer)
++{
++ if (auto result = self->input_device_hub.lock()) {
++ result->add_observer(std::make_shared<MirInputDeviceObserverImpl>(observer));
++ return;
++ }
++
++ throw std::logic_error("No input device hub available. Server not running?");
++}
++
++void miroil::MirServerHooks::create_prompt_session_listener(std::shared_ptr<miroil::PromptSessionListener> listener)
++{
++ self->prompt_session_listener = listener;
++}
++
++PromptSessionListenerImpl::~PromptSessionListenerImpl() = default;
++
++void PromptSessionListenerImpl::starting(std::shared_ptr<ms::PromptSession> const& prompt_session)
++{
++ listener->starting(prompt_session);
++}
++
++void PromptSessionListenerImpl::stopping(std::shared_ptr<ms::PromptSession> const& prompt_session)
++{
++ listener->stopping(prompt_session);
++}
++
++void PromptSessionListenerImpl::suspending(std::shared_ptr<ms::PromptSession> const& prompt_session)
++{
++ listener->suspending(prompt_session);
++}
++
++void PromptSessionListenerImpl::resuming(std::shared_ptr<ms::PromptSession> const& prompt_session)
++{
++ listener->resuming(prompt_session);
++}
++
++void PromptSessionListenerImpl::prompt_provider_added(ms::PromptSession const& prompt_session,
++ std::shared_ptr<ms::Session> const& prompt_provider)
++{
++ listener->prompt_provider_added(prompt_session, prompt_provider);
++}
++
++void PromptSessionListenerImpl::prompt_provider_removed(ms::PromptSession const& prompt_session,
++ std::shared_ptr<ms::Session> const& prompt_provider)
++{
++ listener->prompt_provider_removed(prompt_session, prompt_provider);
++}
++
++void MirInputDeviceObserverImpl::device_added(const std::shared_ptr<mir::input::Device> &device)
++{
++ observer->device_added(miroil::InputDevice(device));
++}
++
++void MirInputDeviceObserverImpl::device_removed(const std::shared_ptr<mir::input::Device> &device)
++{
++ if (device) {
++ observer->device_removed(miroil::InputDevice(device));
++ }
++}
++
+diff --git a/src/platforms/mirserver/miral/mirbuffer.cpp b/src/platforms/mirserver/miroil/src/mirbuffer.cpp
+similarity index 97%
+rename from src/platforms/mirserver/miral/mirbuffer.cpp
+rename to src/platforms/mirserver/miroil/src/mirbuffer.cpp
+index 8a6790c4..9710365b 100644
+--- a/src/platforms/mirserver/miral/mirbuffer.cpp
++++ b/src/platforms/mirserver/miroil/src/mirbuffer.cpp
+@@ -1,6 +1,6 @@
+ /*
+ * Copyright 2021 UBports Foundation.
+- * Copyright © 2017 Canonical Ltd.
++ * Copyright © 2017-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -15,10 +15,10 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#include "mirbuffer.h"
++#include "miroil/mirbuffer.h"
+
+ #include <mir/graphics/buffer.h>
+-#include "mir/graphics/texture.h"
++#include <mir/graphics/texture.h>
+ #include <mir/renderer/gl/texture_source.h>
+
+ #include <stdexcept>
+diff --git a/src/platforms/mirserver/openglcontextfactory.cpp b/src/platforms/mirserver/miroil/src/open_gl_context.cpp
+similarity index 51%
+rename from src/platforms/mirserver/openglcontextfactory.cpp
+rename to src/platforms/mirserver/miroil/src/open_gl_context.cpp
+index 1e77ab7a..271d9cc8 100644
+--- a/src/platforms/mirserver/openglcontextfactory.cpp
++++ b/src/platforms/mirserver/miroil/src/open_gl_context.cpp
+@@ -16,36 +16,37 @@
+ * Authored by: Alan Griffiths <alan@octopull.co.uk>
+ */
+
+-#include "openglcontextfactory.h"
+-
+-// local
+-#include "mirglconfig.h"
+-#include "miropenglcontext.h"
++#include "miroil/open_gl_context.h"
++#include <stdexcept>
+
+ // mir
+ #include <mir/server.h>
+-
+-struct qtmir::OpenGLContextFactory::Self
++
++struct miroil::OpenGLContext::Self
+ {
+- std::shared_ptr<MirGLConfig> m_glConfig;
++ Self(mir::graphics::GLConfig* gl_config)
++ : gl_config(gl_config)
++ {
++ }
++
++ std::shared_ptr<mir::graphics::GLConfig> const gl_config;
+ };
+
+-qtmir::OpenGLContextFactory::OpenGLContextFactory() :
+- self{std::make_shared<Self>()}
+-{
++miroil::OpenGLContext::OpenGLContext(mir::graphics::GLConfig* gl_config)
++: self{std::make_shared<Self>(gl_config)}
++{
+ }
+
+-void qtmir::OpenGLContextFactory::operator()(mir::Server& server)
++void miroil::OpenGLContext::operator()(mir::Server& server)
+ {
+ server.override_the_gl_config([this]
+- { return self->m_glConfig = std::make_shared<MirGLConfig>(); });
++ { return self->gl_config; }
++ );
+ }
+
+-QPlatformOpenGLContext *qtmir::OpenGLContextFactory::createPlatformOpenGLContext(
+- QSurfaceFormat format, mir::graphics::Display &mirDisplay) const
++auto miroil::OpenGLContext::the_open_gl_config() const
++-> std::shared_ptr<mir::graphics::GLConfig>
+ {
+- if (!self->m_glConfig)
+- throw std::logic_error("No gl config available. Server not running?");
+-
+- return new MirOpenGLContext(mirDisplay, *self->m_glConfig, format);
++ return self->gl_config;
+ }
++
+diff --git a/src/platforms/mirserver/miral/persist_display_config.cpp b/src/platforms/mirserver/miroil/src/persist_display_config.cpp
+similarity index 74%
+rename from src/platforms/mirserver/miral/persist_display_config.cpp
+rename to src/platforms/mirserver/miroil/src/persist_display_config.cpp
+index 2bfb98cc..bf23bbb2 100644
+--- a/src/platforms/mirserver/miral/persist_display_config.cpp
++++ b/src/platforms/mirserver/miroil/src/persist_display_config.cpp
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright © 2016 Canonical Ltd.
++ * Copyright © 2016-2020 Canonical Ltd.
+ *
+ * This program is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 3,
+@@ -16,45 +16,42 @@
+ * Authored by: Alan Griffiths <alan@octopull.co.uk>
+ */
+
+-#include "persist_display_config.h"
+-#include "qtmir/miral/display_configuration_policy.h"
+-#include "qtmir/miral/display_configuration_storage.h"
+-#include "qtmir/miral/edid.h"
++#include "miroil/persist_display_config.h"
++#include "miroil/display_configuration_policy.h"
++#include "miroil/display_configuration_storage.h"
+
+-#include <mir/graphics/display_configuration_policy.h>
+ #include <mir/graphics/display_configuration.h>
+ #include <mir/graphics/display_configuration_observer.h>
++#include <mir/graphics/display_configuration_policy.h>
+ #include <mir/observer_registrar.h>
+ #include <mir/server.h>
+-#include <mir/version.h>
++#include <mir/log.h>
+
+-#include <stdexcept>
++#include <boost/throw_exception.hpp>
+
+-// shouldn't really import this
+-#include <qglobal.h>
++#include <stdexcept>
+
+ namespace mg = mir::graphics;
+
+ namespace
+ {
+-
+ struct PersistDisplayConfigPolicy
+ {
+- PersistDisplayConfigPolicy(std::shared_ptr<miral::DisplayConfigurationStorage> const& storage) :
++ PersistDisplayConfigPolicy(std::shared_ptr<miroil::DisplayConfigurationStorage> const& storage) :
+ storage(storage) {}
+ virtual ~PersistDisplayConfigPolicy() = default;
+ PersistDisplayConfigPolicy(PersistDisplayConfigPolicy const&) = delete;
+ auto operator=(PersistDisplayConfigPolicy const&) -> PersistDisplayConfigPolicy& = delete;
+
+ void apply_to(mg::DisplayConfiguration& conf,
+- miral::DisplayConfigurationPolicy& wrapped_policy,
+- miral::DisplayConfigurationPolicy& custom_policy);
++ miroil::DisplayConfigurationPolicy& wrapped_policy,
++ miroil::DisplayConfigurationPolicy& custom_policy);
+ void save_config(mg::DisplayConfiguration const& base_conf);
+
+- std::shared_ptr<miral::DisplayConfigurationStorage> storage;
++ std::shared_ptr<miroil::DisplayConfigurationStorage> storage;
+ };
+
+-struct MiralWrappedMirDisplayConfigurationPolicy : miral::DisplayConfigurationPolicy
++struct MiralWrappedMirDisplayConfigurationPolicy : miroil::DisplayConfigurationPolicy
+ {
+ MiralWrappedMirDisplayConfigurationPolicy(std::shared_ptr<mg::DisplayConfigurationPolicy> const& self) :
+ self{self}
+@@ -72,8 +69,8 @@ struct DisplayConfigurationPolicyAdapter : mg::DisplayConfigurationPolicy
+ {
+ DisplayConfigurationPolicyAdapter(
+ std::shared_ptr<PersistDisplayConfigPolicy> const& self,
+- std::shared_ptr<miral::DisplayConfigurationPolicy> const& wrapped_policy,
+- std::shared_ptr<miral::DisplayConfigurationPolicy> const& custom_policy) :
++ std::shared_ptr<miroil::DisplayConfigurationPolicy> const& wrapped_policy,
++ std::shared_ptr<miroil::DisplayConfigurationPolicy> const& custom_policy) :
+ self{self}, wrapped_policy{wrapped_policy}, custom_policy{custom_policy}
+ {}
+
+@@ -83,8 +80,8 @@ struct DisplayConfigurationPolicyAdapter : mg::DisplayConfigurationPolicy
+ }
+
+ std::shared_ptr<PersistDisplayConfigPolicy> const self;
+- std::shared_ptr<miral::DisplayConfigurationPolicy> const wrapped_policy;
+- std::shared_ptr<miral::DisplayConfigurationPolicy> const custom_policy;
++ std::shared_ptr<miroil::DisplayConfigurationPolicy> const wrapped_policy;
++ std::shared_ptr<miroil::DisplayConfigurationPolicy> const custom_policy;
+ };
+
+ struct DisplayConfigurationObserver : mg::DisplayConfigurationObserver
+@@ -101,16 +98,14 @@ struct DisplayConfigurationObserver : mg::DisplayConfigurationObserver
+ std::shared_ptr<mg::DisplayConfiguration const> const& /*failed_fallback*/,
+ std::exception const& /*error*/) override {}
+
+-#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(1, 5, 0)
+ void configuration_updated_for_session(
+ std::shared_ptr<mir::scene::Session> const&,
+ std::shared_ptr<mg::DisplayConfiguration const> const&) override {}
+-#endif
+ };
+
+-miral::DisplayConfigurationOptions::DisplayMode current_mode_of(mg::DisplayConfigurationOutput const& output)
++miroil::DisplayConfigurationOptions::DisplayMode current_mode_of(mg::DisplayConfigurationOutput const& output)
+ {
+- miral::DisplayConfigurationOptions::DisplayMode mode;
++ miroil::DisplayConfigurationOptions::DisplayMode mode;
+ if (output.current_mode_index >= output.modes.size()) return mode;
+
+ auto const& current_mode = output.modes[output.current_mode_index];
+@@ -118,9 +113,15 @@ miral::DisplayConfigurationOptions::DisplayMode current_mode_of(mg::DisplayConfi
+ mode.refresh_rate = current_mode.vrefresh_hz;
+ return mode;
+ }
++
++// From Qt
++inline bool qFuzzyCompare(double p1, double p2)
++{
++ return (std::abs(p1 - p2) * 1000000000000. <= std::min(std::abs(p1), std::abs(p2)));
++}
+ }
+
+-struct miral::PersistDisplayConfig::Self : PersistDisplayConfigPolicy, DisplayConfigurationObserver
++struct miroil::PersistDisplayConfig::Self : PersistDisplayConfigPolicy, DisplayConfigurationObserver
+ {
+ Self(std::shared_ptr<DisplayConfigurationStorage> const& storage,
+ DisplayConfigurationPolicyWrapper const& custom_wrapper) :
+@@ -133,36 +134,34 @@ struct miral::PersistDisplayConfig::Self : PersistDisplayConfigPolicy, DisplayCo
+ {
+ save_config(*base_config);
+ }
+-#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(1, 5, 0)
++
+ void session_configuration_applied(std::shared_ptr<mir::scene::Session> const&,
+- std::shared_ptr<mg::DisplayConfiguration> const&){}
+- void session_configuration_removed(std::shared_ptr<mir::scene::Session> const&) {}
+-#else
+- void session_configuration_applied(std::shared_ptr<mir::frontend::Session> const&,
+- std::shared_ptr<mg::DisplayConfiguration> const&){}
+- void session_configuration_removed(std::shared_ptr<mir::frontend::Session> const&) {}
+-#endif
++ std::shared_ptr<mg::DisplayConfiguration> const&) override {}
++ void session_configuration_removed(std::shared_ptr<mir::scene::Session> const&) override {}
++ void configuration_updated_for_session(
++ std::shared_ptr<mir::scene::Session> const&,
++ std::shared_ptr<mg::DisplayConfiguration const> const&) override {}
+ };
+
+-miral::PersistDisplayConfig::PersistDisplayConfig(std::shared_ptr<DisplayConfigurationStorage> const& storage,
++miroil::PersistDisplayConfig::PersistDisplayConfig(std::shared_ptr<DisplayConfigurationStorage> const& storage,
+ DisplayConfigurationPolicyWrapper const& custom_wrapper) :
+ self{std::make_shared<Self>(storage, custom_wrapper)}
+ {
+ }
+
+-miral::PersistDisplayConfig::~PersistDisplayConfig() = default;
++miroil::PersistDisplayConfig::~PersistDisplayConfig() = default;
+
+-miral::PersistDisplayConfig::PersistDisplayConfig(PersistDisplayConfig const&) = default;
++miroil::PersistDisplayConfig::PersistDisplayConfig(PersistDisplayConfig const&) = default;
+
+-auto miral::PersistDisplayConfig::operator=(PersistDisplayConfig const&) -> PersistDisplayConfig& = default;
++auto miroil::PersistDisplayConfig::operator=(PersistDisplayConfig const&) -> PersistDisplayConfig& = default;
+
+-void miral::PersistDisplayConfig::operator()(mir::Server& server)
++void miroil::PersistDisplayConfig::operator()(mir::Server& server)
+ {
+ server.wrap_display_configuration_policy(
+ [this](std::shared_ptr<mg::DisplayConfigurationPolicy> const& wrapped)
+ -> std::shared_ptr<mg::DisplayConfigurationPolicy>
+ {
+- auto custom_wrapper = self->custom_wrapper();
++ auto custom_wrapper = self->custom_wrapper(wrapped);
+ return std::make_shared<DisplayConfigurationPolicyAdapter>(self,
+ std::make_shared<MiralWrappedMirDisplayConfigurationPolicy>(wrapped),
+ custom_wrapper);
+@@ -174,8 +173,8 @@ void miral::PersistDisplayConfig::operator()(mir::Server& server)
+
+ void PersistDisplayConfigPolicy::apply_to(
+ mg::DisplayConfiguration& conf,
+- miral::DisplayConfigurationPolicy& wrapped_policy,
+- miral::DisplayConfigurationPolicy& custom_policy)
++ miroil::DisplayConfigurationPolicy& wrapped_policy,
++ miroil::DisplayConfigurationPolicy& custom_policy)
+ {
+ // first apply the policy we wrapped by setting a custom policy
+ wrapped_policy.apply_to(conf);
+@@ -183,14 +182,14 @@ void PersistDisplayConfigPolicy::apply_to(
+ custom_policy.apply_to(conf);
+
+ if (!storage) {
+- throw std::runtime_error("No display configuration storage supplied.");
++ BOOST_THROW_EXCEPTION(std::runtime_error("No display configuration storage supplied."));
+ }
+
+ conf.for_each_output([this, &conf](mg::UserDisplayConfigurationOutput& output) {
+ if (!output.connected) return;
+
+ try {
+- miral::DisplayId display_id;
++ miroil::DisplayId display_id;
+ // FIXME - output.edid should be std::vector<uint8_t>, not std::vector<uint8_t const>
+ display_id.edid.parse_data(reinterpret_cast<std::vector<uint8_t> const&>(output.edid));
+ display_id.output_id = output.id;
+@@ -198,7 +197,7 @@ void PersistDisplayConfigPolicy::apply_to(
+ // TODO if the h/w profile (by some definition) has changed, then apply corresponding saved config (if any).
+ // TODO Otherwise...
+
+- miral::DisplayConfigurationOptions config;
++ miroil::DisplayConfigurationOptions config;
+ if (storage->load(display_id, config)) {
+
+ if (config.mode.is_set()) {
+@@ -217,7 +216,7 @@ void PersistDisplayConfigPolicy::apply_to(
+ }
+
+ uint output_index = 0;
+- conf.for_each_output([this, &output, config, &output_index](mg::DisplayConfigurationOutput const& find_output) {
++ conf.for_each_output([&output, config, &output_index](mg::DisplayConfigurationOutput const& find_output) {
+ if (output_index == config.clone_output_index.value()) {
+ output.top_left = find_output.top_left;
+ }
+@@ -243,15 +242,15 @@ void PersistDisplayConfigPolicy::save_config(mg::DisplayConfiguration const& con
+ if (!output.connected) return;
+
+ try {
+- miral::DisplayId display_id;
++ miroil::DisplayId display_id;
+ // FIXME - output.edid should be std::vector<uint8_t>, not std::vector<uint8_t const>
+ display_id.edid.parse_data(reinterpret_cast<std::vector<uint8_t> const&>(output.edid));
+ display_id.output_id = output.id;
+
+- miral::DisplayConfigurationOptions config;
++ miroil::DisplayConfigurationOptions config;
+
+ uint output_index = 0;
+- conf.for_each_output([this, output, &config, &output_index](mg::DisplayConfigurationOutput const& find_output) {
++ conf.for_each_output([output, &config, &output_index](mg::DisplayConfigurationOutput const& find_output) {
+ if (!config.clone_output_index.is_set() && output.top_left == find_output.top_left) {
+ config.clone_output_index = output_index;
+ }
+diff --git a/src/platforms/mirserver/miroil/src/prompt_session_listener.cpp b/src/platforms/mirserver/miroil/src/prompt_session_listener.cpp
+new file mode 100644
+index 00000000..46c6e0f0
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/prompt_session_listener.cpp
+@@ -0,0 +1,19 @@
++/*
++ * Copyright (C) 2016-2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <miroil/prompt_session_listener.h>
++
++miroil::PromptSessionListener::~PromptSessionListener() = default;
+diff --git a/src/platforms/mirserver/miroil/src/prompt_session_manager.cpp b/src/platforms/mirserver/miroil/src/prompt_session_manager.cpp
+new file mode 100644
+index 00000000..7dd86f82
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/prompt_session_manager.cpp
+@@ -0,0 +1,54 @@
++/*
++ * Copyright © 2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "miroil/prompt_session_manager.h"
++#include "mir/scene/prompt_session_manager.h"
++
++miroil::PromptSessionManager::PromptSessionManager(std::shared_ptr<mir::scene::PromptSessionManager> const& prompt_session_manager)
++: prompt_session_manager{prompt_session_manager}
++{
++}
++
++miroil::PromptSessionManager::PromptSessionManager(PromptSessionManager&& /*src*/) = default;
++
++miroil::PromptSessionManager::PromptSessionManager(PromptSessionManager const& /*src*/) = default;
++
++miroil::PromptSessionManager::~PromptSessionManager() = default;
++
++bool miroil::PromptSessionManager::operator==(PromptSessionManager const& other)
++{
++ return prompt_session_manager == other.prompt_session_manager;
++}
++
++miral::Application miroil::PromptSessionManager::application_for(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) const
++{
++ return prompt_session_manager->application_for(prompt_session);
++}
++
++void miroil::PromptSessionManager::stop_prompt_session(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) const
++{
++ prompt_session_manager->stop_prompt_session(prompt_session);
++}
++
++void miroil::PromptSessionManager::suspend_prompt_session(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) const
++{
++ prompt_session_manager->suspend_prompt_session(prompt_session);
++}
++
++void miroil::PromptSessionManager::resume_prompt_session(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) const
++{
++ prompt_session_manager->resume_prompt_session(prompt_session);
++}
+diff --git a/src/platforms/mirserver/miroil/src/set_compositor.cpp b/src/platforms/mirserver/miroil/src/set_compositor.cpp
+new file mode 100644
+index 00000000..a9f524c2
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/set_compositor.cpp
+@@ -0,0 +1,88 @@
++/*
++ * Copyright © 2021 Canonical Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it
++ * under the terms of the GNU General Public License version 3,
++ * as published by the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "miroil/set_compositor.h"
++#include "miroil/compositor.h"
++#include <stdexcept>
++
++// mir
++#include <mir/server.h>
++#include <mir/shell/shell.h>
++#include <mir/compositor/compositor.h>
++
++namespace miroil {
++
++struct SetCompositor::CompositorImpl : public mir::compositor::Compositor
++{
++ CompositorImpl(const std::shared_ptr<miroil::Compositor> & compositor);
++
++ auto get_wrapped() -> std::shared_ptr<miroil::Compositor>;
++ void start();
++ void stop();
++
++ std::shared_ptr<miroil::Compositor> custom_compositor;
++};
++
++SetCompositor::CompositorImpl::CompositorImpl(const std::shared_ptr<miroil::Compositor> & compositor)
++: custom_compositor(compositor)
++{
++}
++
++auto SetCompositor::CompositorImpl::get_wrapped()
++-> std::shared_ptr<miroil::Compositor>
++{
++ return custom_compositor;
++}
++
++
++void SetCompositor::CompositorImpl::start()
++{
++ return custom_compositor->start();
++}
++
++void SetCompositor::CompositorImpl::stop()
++{
++ return custom_compositor->stop();
++}
++
++SetCompositor::SetCompositor(ConstructorFunction constr, InitFunction init)
++ : constructor_function(constr), init_function(init)
++{
++}
++
++void SetCompositor::operator()(mir::Server& server)
++{
++ server.override_the_compositor([this]
++ {
++ auto result = std::make_shared<CompositorImpl>(constructor_function());
++ compositor_impl = result;
++ return result;
++ });
++
++ server.add_init_callback([&, this]
++ {
++ if (auto const comp = compositor_impl.lock())
++ {
++ init_function(server.the_display(), comp->get_wrapped(), server.the_shell());
++ }
++ else
++ {
++ throw std::logic_error("No m_compositor available. Server not running?");
++ }
++ });
++}
++
++}
+diff --git a/src/platforms/mirserver/miroil/src/surface.cpp b/src/platforms/mirserver/miroil/src/surface.cpp
+new file mode 100644
+index 00000000..bdc87f51
+--- /dev/null
++++ b/src/platforms/mirserver/miroil/src/surface.cpp
+@@ -0,0 +1,267 @@
++/*
++ * Copyright (C) 2021 Canonical, Ltd.
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++#include <miroil/surface.h>
++#include <miroil/surface_observer.h>
++#include "mir/scene/surface.h"
++#include "mir/scene/surface_observer.h"
++#include "mir/log.h"
++#include "mir/version.h"
++
++class miroil::SurfaceObserverImpl : public mir::scene::SurfaceObserver
++{
++public:
++ SurfaceObserverImpl(std::shared_ptr<miroil::SurfaceObserver> const &wrapped);
++ virtual ~SurfaceObserverImpl();
++
++ void alpha_set_to(mir::scene::Surface const *surf, float alpha) override;
++ void application_id_set_to(mir::scene::Surface const *surf,
++ std::string const &application_id) override;
++ void attrib_changed(mir::scene::Surface const *surf, MirWindowAttrib attrib,
++ int value) override;
++ void client_surface_close_requested(mir::scene::Surface const *surf) override;
++ void content_resized_to(mir::scene::Surface const *surf,
++ mir::geometry::Size const &content_size) override;
++ void cursor_image_removed(mir::scene::Surface const *surf) override;
++ void cursor_image_set_to(mir::scene::Surface const *surf,
++ mir::graphics::CursorImage const &image) override;
++ void depth_layer_set_to(mir::scene::Surface const *surf,
++ MirDepthLayer depth_layer) override;
++ void frame_posted(mir::scene::Surface const *surf, int frames_available,
++ mir::geometry::Size const &size) override;
++ void hidden_set_to(mir::scene::Surface const *surf, bool hide) override;
++ void input_consumed(mir::scene::Surface const *surf,
++ MirEvent const *event) override;
++#if MIR_SERVER_VERSION < MIR_VERSION_NUMBER(2, 6, 0)
++ void keymap_changed(mir::scene::Surface const* surf, MirInputDeviceId id, std::string const& model,
++ std::string const& layout, std::string const& variant, std::string const& options) override;
++#endif
++ void moved_to(mir::scene::Surface const *surf,
++ mir::geometry::Point const &top_left) override;
++ void orientation_set_to(mir::scene::Surface const *surf,
++ MirOrientation orientation) override;
++ void placed_relative(mir::scene::Surface const *surf,
++ mir::geometry::Rectangle const &placement) override;
++ void
++ reception_mode_set_to(mir::scene::Surface const * /*surf*/,
++ mir::input::InputReceptionMode /*mode*/) override{};
++ void renamed(mir::scene::Surface const *surf, char const *name) override;
++ void start_drag_and_drop(mir::scene::Surface const *surf,
++ std::vector<uint8_t> const &handle) override;
++ void transformation_set_to(mir::scene::Surface const *surf,
++ glm::mat4 const &t) override;
++ void window_resized_to(mir::scene::Surface const *surf,
++ mir::geometry::Size const &window_size) override;
++
++private:
++ std::shared_ptr<miroil::SurfaceObserver> listener;
++};
++
++miroil::SurfaceObserverImpl::SurfaceObserverImpl(std::shared_ptr<miroil::SurfaceObserver> const & wrapped)
++: listener(wrapped)
++{
++}
++
++miroil::SurfaceObserverImpl::~SurfaceObserverImpl() = default;
++
++void miroil::SurfaceObserverImpl::alpha_set_to(mir::scene::Surface const* surf, float alpha)
++{
++ listener->alpha_set_to(surf, alpha);
++}
++
++void miroil::SurfaceObserverImpl::application_id_set_to(mir::scene::Surface const* surf, std::string const& application_id)
++{
++ listener->application_id_set_to(surf, application_id);
++}
++
++void miroil::SurfaceObserverImpl::attrib_changed(mir::scene::Surface const* surf, MirWindowAttrib attrib, int value)
++{
++ listener->attrib_changed(surf, attrib, value);
++}
++
++void miroil::SurfaceObserverImpl::client_surface_close_requested(mir::scene::Surface const* surf)
++{
++ listener->client_surface_close_requested(surf);
++}
++
++void miroil::SurfaceObserverImpl::content_resized_to(mir::scene::Surface const* surf, mir::geometry::Size const& content_size)
++{
++ listener->content_resized_to(surf, content_size);
++}
++
++void miroil::SurfaceObserverImpl::cursor_image_removed(mir::scene::Surface const* surf)
++{
++ listener->cursor_image_removed(surf);
++}
++
++void miroil::SurfaceObserverImpl::cursor_image_set_to(mir::scene::Surface const* surf, mir::graphics::CursorImage const& image)
++{
++ listener->cursor_image_set_to(surf, image);
++}
++
++void miroil::SurfaceObserverImpl::depth_layer_set_to(mir::scene::Surface const* surf, MirDepthLayer depth_layer)
++{
++ listener->depth_layer_set_to(surf, depth_layer);
++}
++
++void miroil::SurfaceObserverImpl::frame_posted(mir::scene::Surface const* surf, int frames_available, mir::geometry::Size const& size)
++{
++ listener->frame_posted(surf, frames_available, size);
++}
++
++void miroil::SurfaceObserverImpl::hidden_set_to(mir::scene::Surface const* surf, bool hide)
++{
++ listener->hidden_set_to(surf, hide);
++}
++
++void miroil::SurfaceObserverImpl::input_consumed(mir::scene::Surface const* surf, MirEvent const* event)
++{
++ listener->input_consumed(surf, event);
++}
++
++#if MIR_SERVER_VERSION < MIR_VERSION_NUMBER(2, 6, 0)
++void miroil::SurfaceObserverImpl::keymap_changed(mir::scene::Surface const* surf, MirInputDeviceId id, std::string const& model,
++ std::string const& layout, std::string const& variant, std::string const& options)
++{
++ listener->keymap_changed(surf, id, model, layout, variant, options);
++}
++#endif
++
++void miroil::SurfaceObserverImpl::moved_to(mir::scene::Surface const* surf, mir::geometry::Point const& top_left)
++{
++ listener->moved_to(surf, top_left);
++}
++
++void miroil::SurfaceObserverImpl::orientation_set_to(mir::scene::Surface const* surf, MirOrientation orientation)
++{
++ listener->orientation_set_to(surf, orientation);
++}
++
++void miroil::SurfaceObserverImpl::placed_relative(mir::scene::Surface const* surf, mir::geometry::Rectangle const& placement)
++{
++ listener->placed_relative(surf, placement);
++}
++
++void miroil::SurfaceObserverImpl::renamed(mir::scene::Surface const* surf, char const* name)
++{
++ listener->renamed(surf, name);
++}
++
++void miroil::SurfaceObserverImpl::start_drag_and_drop(mir::scene::Surface const* surf, std::vector<uint8_t> const& handle)
++{
++ listener->start_drag_and_drop(surf, handle);
++}
++
++void miroil::SurfaceObserverImpl::transformation_set_to(mir::scene::Surface const* surf, glm::mat4 const& t)
++{
++ listener->transformation_set_to(surf, t);
++}
++
++void miroil::SurfaceObserverImpl::window_resized_to(mir::scene::Surface const* surf, mir::geometry::Size const& window_size)
++{
++ listener->window_resized_to(surf, window_size);
++}
++
++miroil::Surface::Surface(std::shared_ptr<mir::scene::Surface> wrapped) :
++ wrapped(wrapped)
++{
++}
++
++void miroil::Surface::add_observer(std::shared_ptr<SurfaceObserver> const& observer)
++{
++ auto it = observers.find(observer);
++ if (it == observers.end()) {
++ std::shared_ptr<SurfaceObserverImpl> impl = std::make_shared<SurfaceObserverImpl>(observer);
++
++ wrapped->add_observer(impl);
++ observers.insert({observer, impl});
++ }
++}
++
++bool miroil::Surface::is_confined_to_window()
++{
++#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(2, 6, 0)
++ return (wrapped->confine_pointer_state() == mir_pointer_confined_oneshot ||
++ wrapped->confine_pointer_state() == mir_pointer_confined_persistent);
++#else
++ return false;
++#endif
++}
++
++void miroil::Surface::remove_observer(std::shared_ptr<miroil::SurfaceObserver> const& observer)
++{
++ auto it = observers.find(observer);
++ if (it != observers.end()) {
++ wrapped->remove_observer(it->second);
++ observers.erase(it);
++ }
++}
++
++auto miroil::Surface::get_wrapped() const -> mir::scene::Surface*
++{
++ return wrapped.get();
++}
++
++int miroil::Surface::buffers_ready_for_compositor(void const* compositor_id) const
++{
++ return wrapped->buffers_ready_for_compositor(compositor_id);
++}
++
++mir::graphics::RenderableList miroil::Surface::generate_renderables(miroil::CompositorID id) const
++{
++ return wrapped->generate_renderables(id);
++}
++
++void miroil::Surface::set_orientation(MirOrientation orientation)
++{
++ wrapped->set_orientation(orientation);
++}
++
++void miroil::Surface::set_confine_pointer_state(MirPointerConfinementState state)
++{
++ wrapped->set_confine_pointer_state(state);
++}
++
++std::shared_ptr<mir::scene::Surface> miroil::Surface::parent() const
++{
++ return wrapped->parent();
++}
++
++mir::geometry::Point miroil::Surface::top_left() const
++{
++ return wrapped->top_left();
++}
++
++bool miroil::Surface::visible() const
++{
++ return wrapped->visible();
++}
++
++int miroil::Surface::configure(MirWindowAttrib attrib, int value)
++{
++ return wrapped->configure(attrib, value);
++}
++
++int miroil::Surface::query(MirWindowAttrib attrib) const
++{
++ return wrapped->query(attrib);
++}
++
++void miroil::Surface::set_keymap(MirInputDeviceId /*id*/, const std::string& /*model*/,
++ const std::string& /*layout*/, const std::string& /*variant*/,
++ const std::string& /*options*/)
++{
++ fprintf(stderr, "Stubbed function miroil::Surface::set_keymap() called - per-surface keymaps no longer supported");
++}
+diff --git a/src/platforms/mirserver/miropenglcontext.cpp b/src/platforms/mirserver/miropenglcontext.cpp
+index 5e658824..1e24755d 100644
+--- a/src/platforms/mirserver/miropenglcontext.cpp
++++ b/src/platforms/mirserver/miropenglcontext.cpp
+@@ -49,7 +49,7 @@ MirOpenGLContext::MirOpenGLContext(
+ {
+ // create a temporary GL context to fetch the EGL display and config, so Qt can determine the surface format
+ std::unique_ptr<mir::renderer::gl::Context> mirContext = dynamic_cast<mir::renderer::gl::ContextSource*>(
+- display.native_display())->create_gl_context();
++ &display)->create_gl_context();
+ mirContext->make_current();
+
+ EGLDisplay eglDisplay = eglGetCurrentDisplay();
+diff --git a/src/platforms/mirserver/mirserverhooks.cpp b/src/platforms/mirserver/mirserverhooks.cpp
+deleted file mode 100644
+index b6f6eb98..00000000
+--- a/src/platforms/mirserver/mirserverhooks.cpp
++++ /dev/null
+@@ -1,229 +0,0 @@
+-/*
+- * Copyright © 2016 Canonical Ltd.
+- *
+- * This program is free software: you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 3,
+- * as published by the Free Software Foundation.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- *
+- * Authored by: Alan Griffiths <alan@octopull.co.uk>
+- */
+-
+-#include "mirserverhooks.h"
+-
+-#include "mircursorimages.h"
+-#include "promptsessionlistener.h"
+-#include "screenscontroller.h"
+-#include "logging.h"
+-#include "inputdeviceobserver.h"
+-
+-// mir
+-#include <mir/server.h>
+-#include <mir/graphics/cursor.h>
+-#include <mir/scene/prompt_session_listener.h>
+-#include <mir/input/device.h>
+-#include <mir/input/input_device_hub.h>
+-#include <mir/input/input_device_observer.h>
+-
+-namespace mg = mir::graphics;
+-namespace ms = mir::scene;
+-
+-namespace
+-{
+-struct PromptSessionListenerImpl : PromptSessionListener, mir::scene::PromptSessionListener
+-{
+- ~PromptSessionListenerImpl();
+-
+- void starting(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
+- void stopping(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
+- void suspending(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
+- void resuming(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
+-
+- void prompt_provider_added(mir::scene::PromptSession const& prompt_session,
+- std::shared_ptr<mir::scene::Session> const& prompt_provider) override;
+- void prompt_provider_removed(mir::scene::PromptSession const& prompt_session,
+- std::shared_ptr<mir::scene::Session> const& prompt_provider) override;
+-
+-private:
+- QHash<const mir::scene::PromptSession *, qtmir::PromptSession> m_mirPromptToSessionHash;
+-};
+-
+-struct MirInputDeviceObserverImpl : qtmir::MirInputDeviceObserver, mir::input::InputDeviceObserver
+-{
+- void device_added(std::shared_ptr<mir::input::Device> const& device) override;
+- void device_changed(std::shared_ptr<mir::input::Device> const& /*device*/) override {}
+- void device_removed(std::shared_ptr<mir::input::Device> const& device) override;
+- void changes_complete() override {}
+-};
+-
+-struct HiddenCursorWrapper : mg::Cursor
+-{
+- HiddenCursorWrapper(std::shared_ptr<mg::Cursor> const& wrapped) :
+- wrapped{wrapped} { wrapped->hide(); }
+- void show() override { }
+- void show(mg::CursorImage const&) override { }
+- void hide() override { wrapped->hide(); }
+-
+- void move_to(mir::geometry::Point position) override { wrapped->move_to(position); }
+-
+-private:
+- std::shared_ptr<mg::Cursor> const wrapped;
+-};
+-}
+-
+-struct qtmir::MirServerHooks::Self
+-{
+- std::weak_ptr<PromptSessionListener> m_promptSessionListener;
+- std::weak_ptr<mir::graphics::Display> m_mirDisplay;
+- std::weak_ptr<mir::shell::DisplayConfigurationController> m_mirDisplayConfigurationController;
+- std::weak_ptr<mir::scene::PromptSessionManager> m_mirPromptSessionManager;
+- std::weak_ptr<mir::input::InputDeviceHub> m_inputDeviceHub;
+-};
+-
+-qtmir::MirServerHooks::MirServerHooks() :
+- self{std::make_shared<Self>()}
+-{
+-}
+-
+-void qtmir::MirServerHooks::operator()(mir::Server& server)
+-{
+- server.override_the_cursor_images([]
+- { return std::make_shared<qtmir::MirCursorImages>(); });
+-
+- server.wrap_cursor([&](std::shared_ptr<mg::Cursor> const& wrapped)
+- { return std::make_shared<HiddenCursorWrapper>(wrapped); });
+-
+- server.override_the_prompt_session_listener([this]
+- {
+- auto const result = std::make_shared<PromptSessionListenerImpl>();
+- self->m_promptSessionListener = result;
+- return result;
+- });
+-
+- server.add_init_callback([this, &server]
+- {
+- self->m_mirDisplay = server.the_display();
+- self->m_mirDisplayConfigurationController = server.the_display_configuration_controller();
+- self->m_mirPromptSessionManager = server.the_prompt_session_manager();
+- self->m_inputDeviceHub = server.the_input_device_hub();
+- });
+-}
+-
+-PromptSessionListener *qtmir::MirServerHooks::promptSessionListener() const
+-{
+- if (auto result = self->m_promptSessionListener.lock())
+- return result.get();
+-
+- throw std::logic_error("No prompt session listener available. Server not running?");
+-}
+-
+-std::shared_ptr<mir::scene::PromptSessionManager> qtmir::MirServerHooks::thePromptSessionManager() const
+-{
+- if (auto result = self->m_mirPromptSessionManager.lock())
+- return result;
+-
+- throw std::logic_error("No prompt session manager available. Server not running?");
+-}
+-
+-std::shared_ptr<mir::graphics::Display> qtmir::MirServerHooks::theMirDisplay() const
+-{
+- if (auto result = self->m_mirDisplay.lock())
+- return result;
+-
+- throw std::logic_error("No display available. Server not running?");
+-}
+-
+-std::shared_ptr<mir::input::InputDeviceHub> qtmir::MirServerHooks::theInputDeviceHub() const
+-{
+- if (auto result = self->m_inputDeviceHub.lock())
+- return result;
+-
+- throw std::logic_error("No input device hub available. Server not running?");
+-}
+-
+-QSharedPointer<ScreensController> qtmir::MirServerHooks::createScreensController(std::shared_ptr<ScreensModel> const &screensModel) const
+-{
+- return QSharedPointer<ScreensController>(
+- new ScreensController(screensModel, theMirDisplay(), self->m_mirDisplayConfigurationController.lock()));
+-}
+-
+-void qtmir::MirServerHooks::createInputDeviceObserver()
+-{
+- theInputDeviceHub()->add_observer(std::make_shared<MirInputDeviceObserverImpl>());
+-}
+-
+-PromptSessionListenerImpl::~PromptSessionListenerImpl() = default;
+-
+-void PromptSessionListenerImpl::starting(std::shared_ptr<ms::PromptSession> const& prompt_session)
+-{
+- qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::starting - this=" << this << "prompt_session=" << prompt_session.get();
+- m_mirPromptToSessionHash.insert(prompt_session.get(), prompt_session);
+- Q_EMIT promptSessionStarting(prompt_session);
+-}
+-
+-void PromptSessionListenerImpl::stopping(std::shared_ptr<ms::PromptSession> const& prompt_session)
+-{
+- qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::stopping - this=" << this << "prompt_session=" << prompt_session.get();
+- Q_EMIT promptSessionStopping(prompt_session);
+- m_mirPromptToSessionHash.remove(prompt_session.get());
+-}
+-
+-void PromptSessionListenerImpl::suspending(std::shared_ptr<ms::PromptSession> const& prompt_session)
+-{
+- qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::suspending - this=" << this << "prompt_session=" << prompt_session.get();
+- Q_EMIT promptSessionSuspending(prompt_session);
+-}
+-
+-void PromptSessionListenerImpl::resuming(std::shared_ptr<ms::PromptSession> const& prompt_session)
+-{
+- qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::resuming - this=" << this << "prompt_session=" << prompt_session.get();
+- Q_EMIT promptSessionResuming(prompt_session);
+-}
+-
+-void PromptSessionListenerImpl::prompt_provider_added(ms::PromptSession const& prompt_session,
+- std::shared_ptr<ms::Session> const& prompt_provider)
+-{
+- qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::prompt_provider_added - this=" << this
+- << "prompt_session=" << &prompt_session
+- << "prompt_provider=" << prompt_provider.get();
+- Q_EMIT promptProviderAdded(m_mirPromptToSessionHash[&prompt_session], prompt_provider);
+-}
+-
+-void PromptSessionListenerImpl::prompt_provider_removed(ms::PromptSession const& prompt_session,
+- std::shared_ptr<ms::Session> const& prompt_provider)
+-{
+- qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::prompt_provider_removed - this=" << this
+- << "prompt_session=" << &prompt_session
+- << "prompt_provider=" << prompt_provider.get();
+- Q_EMIT promptProviderRemoved(m_mirPromptToSessionHash[&prompt_session], prompt_provider);
+-}
+-
+-void MirInputDeviceObserverImpl::device_added(const std::shared_ptr<mir::input::Device> &device)
+-{
+- QMutexLocker locker(&m_mutex); // lock so that Qt and Mir don't apply the keymap at the same time
+-
+- if (mir::contains(device->capabilities(), mir::input::DeviceCapability::keyboard) &&
+- mir::contains(device->capabilities(), mir::input::DeviceCapability::alpha_numeric)) {
+- qCDebug(QTMIR_MIR_KEYMAP) << "Device added" << device->id();
+- m_devices.append(device);
+- applyKeymap(device);
+- }
+-}
+-
+-void MirInputDeviceObserverImpl::device_removed(const std::shared_ptr<mir::input::Device> &device)
+-{
+- QMutexLocker locker(&m_mutex); // lock so that Qt and Mir don't apply the keymap at the same time
+-
+- if (device && m_devices.contains(device)) {
+- qCDebug(QTMIR_MIR_KEYMAP) << "Device removed" << device->id();
+- m_devices.removeAll(device);
+- }
+-}
+-
+diff --git a/src/platforms/mirserver/mirserverhooks.h b/src/platforms/mirserver/mirserverhooks.h
+deleted file mode 100644
+index 6866b2fb..00000000
+--- a/src/platforms/mirserver/mirserverhooks.h
++++ /dev/null
+@@ -1,57 +0,0 @@
+-/*
+- * Copyright © 2016 Canonical Ltd.
+- *
+- * This program is free software: you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 3,
+- * as published by the Free Software Foundation.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- *
+- * Authored by: Alan Griffiths <alan@octopull.co.uk>
+- */
+-
+-#ifndef MIRAL_MIRSERVERHOOKS_H
+-#define MIRAL_MIRSERVERHOOKS_H
+-
+-#include <memory>
+-#include <QSharedPointer>
+-
+-namespace mir { class Server; }
+-namespace mir { namespace scene { class PromptSessionManager; }}
+-namespace mir { namespace graphics { class Display; }}
+-namespace mir { namespace input { class InputDeviceHub; } }
+-
+-class PromptSessionListener;
+-class ScreensController;
+-class ScreensModel;
+-
+-namespace qtmir
+-{
+-class MirServerHooks
+-{
+-public:
+- MirServerHooks();
+-
+- void operator()(mir::Server& server);
+-
+- PromptSessionListener *promptSessionListener() const;
+- std::shared_ptr<mir::scene::PromptSessionManager> thePromptSessionManager() const;
+- std::shared_ptr<mir::graphics::Display> theMirDisplay() const;
+- std::shared_ptr<mir::input::InputDeviceHub> theInputDeviceHub() const;
+-
+- QSharedPointer<ScreensController> createScreensController(std::shared_ptr<ScreensModel> const &screensModel) const;
+- void createInputDeviceObserver();
+-
+-private:
+- struct Self;
+- std::shared_ptr<Self> self;
+-};
+-}
+-
+-#endif //MIRAL_MIRSERVERHOOKS_H
+diff --git a/src/platforms/mirserver/nativeinterface.cpp b/src/platforms/mirserver/nativeinterface.cpp
+index 48a776c5..69484ec7 100644
+--- a/src/platforms/mirserver/nativeinterface.cpp
++++ b/src/platforms/mirserver/nativeinterface.cpp
+@@ -86,7 +86,7 @@ void NativeInterface::setWindowProperty(QPlatformWindow */*window*/, const QStri
+ }
+ }
+
+-std::shared_ptr<qtmir::PromptSessionManager> NativeInterface::thePromptSessionManager() const
++std::shared_ptr<miroil::PromptSessionManager> NativeInterface::thePromptSessionManager() const
+ {
+ return m_qMirServer->thePromptSessionManager();
+ }
+diff --git a/src/platforms/mirserver/nativeinterface.h b/src/platforms/mirserver/nativeinterface.h
+index 4cf37e9c..0dae656f 100644
+--- a/src/platforms/mirserver/nativeinterface.h
++++ b/src/platforms/mirserver/nativeinterface.h
+@@ -27,7 +27,8 @@
+ class QMirServer;
+
+ // mir
+-namespace qtmir { class PromptSessionManager; class Seats; }
++namespace qtmir { class Seats; }
++namespace miroil { class PromptSessionManager; }
+ namespace mir { namespace shell { class PersistentSurfaceStore; }}
+
+ class NativeInterface : public QPlatformNativeInterface
+@@ -41,7 +42,7 @@ public:
+
+ void setWindowProperty(QPlatformWindow *, const QString &name, const QVariant &value) override;
+
+- std::shared_ptr<qtmir::PromptSessionManager> thePromptSessionManager() const;
++ std::shared_ptr<miroil::PromptSessionManager> thePromptSessionManager() const;
+ std::shared_ptr<mir::shell::PersistentSurfaceStore> thePersistentSurfaceStore() const;
+ std::shared_ptr<qtmir::Seats> theSeats() const;
+
+diff --git a/src/platforms/mirserver/platformscreen.h b/src/platforms/mirserver/platformscreen.h
+index 404f9c9e..4ee6d11c 100644
+--- a/src/platforms/mirserver/platformscreen.h
++++ b/src/platforms/mirserver/platformscreen.h
+@@ -27,9 +27,11 @@
+ // Mir
+ #include <mir_toolkit/common.h>
+
++// Miroil
++#include <miroil/display_configuration_storage.h>
++
+ // local
+ #include "qtmir/types.h"
+-#include "qtmir/miral/display_configuration_storage.h"
+ #include "cursor.h"
+ #include "screenplatformwindow.h"
+
+@@ -68,7 +70,7 @@ public:
+ float* scaleRef() { return &m_scale; }
+ qtmir::FormFactor formFactor() const { return m_formFactor; }
+ MirPowerMode powerMode() const { return m_powerMode; }
+- miral::DisplayId displayId() const { return m_displayId; }
++ miroil::DisplayId displayId() const { return m_displayId; }
+ qtmir::OutputTypes outputType() const { return m_type; }
+ uint32_t currentModeIndex() const { return m_currentModeIndex; }
+ bool isActive() const { return m_isActive; }
+@@ -140,7 +142,7 @@ private:
+
+ mir::renderer::gl::RenderTarget *m_renderTarget;
+ mir::graphics::DisplaySyncGroup *m_displayGroup;
+- miral::DisplayId m_displayId;
++ miroil::DisplayId m_displayId;
+ qtmir::OutputTypes m_type;
+ MirPowerMode m_powerMode;
+
+diff --git a/src/platforms/mirserver/promptsessionlistener.cpp b/src/platforms/mirserver/promptsessionlistener.cpp
+index e30d0eb9..7ab7569e 100644
+--- a/src/platforms/mirserver/promptsessionlistener.cpp
++++ b/src/platforms/mirserver/promptsessionlistener.cpp
+@@ -19,6 +19,8 @@
+
+ namespace ms = mir::scene;
+
++namespace qtmir {
++
+ PromptSessionListener::PromptSessionListener(QObject *parent) :
+ QObject(parent)
+ {
+@@ -31,3 +33,50 @@ PromptSessionListener::~PromptSessionListener()
+ {
+ qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::~PromptSessionListener - this=" << this;
+ }
++
++void PromptSessionListener::starting(std::shared_ptr<ms::PromptSession> const& prompt_session)
++{
++ qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::starting - this=" << this << "prompt_session=" << prompt_session.get();
++ m_mirPromptToSessionHash.insert(prompt_session.get(), prompt_session);
++ Q_EMIT promptSessionStarting(prompt_session);
++}
++
++void PromptSessionListener::stopping(std::shared_ptr<ms::PromptSession> const& prompt_session)
++{
++ qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::stopping - this=" << this << "prompt_session=" << prompt_session.get();
++ Q_EMIT promptSessionStopping(prompt_session);
++ m_mirPromptToSessionHash.remove(prompt_session.get());
++}
++
++void PromptSessionListener::suspending(std::shared_ptr<ms::PromptSession> const& prompt_session)
++{
++ qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::suspending - this=" << this << "prompt_session=" << prompt_session.get();
++ Q_EMIT promptSessionSuspending(prompt_session);
++}
++
++void PromptSessionListener::resuming(std::shared_ptr<ms::PromptSession> const& prompt_session)
++{
++ qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::resuming - this=" << this << "prompt_session=" << prompt_session.get();
++ Q_EMIT promptSessionResuming(prompt_session);
++}
++
++void PromptSessionListener::prompt_provider_added(ms::PromptSession const& prompt_session,
++ std::shared_ptr<ms::Session> const& prompt_provider)
++{
++ qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::prompt_provider_added - this=" << this
++ << "prompt_session=" << &prompt_session
++ << "prompt_provider=" << prompt_provider.get();
++ Q_EMIT promptProviderAdded(m_mirPromptToSessionHash[&prompt_session], prompt_provider);
++}
++
++void PromptSessionListener::prompt_provider_removed(ms::PromptSession const& prompt_session,
++ std::shared_ptr<ms::Session> const& prompt_provider)
++{
++ qCDebug(QTMIR_MIR_MESSAGES) << "PromptSessionListener::prompt_provider_removed - this=" << this
++ << "prompt_session=" << &prompt_session
++ << "prompt_provider=" << prompt_provider.get();
++ Q_EMIT promptProviderRemoved(m_mirPromptToSessionHash[&prompt_session], prompt_provider);
++}
++
++}
++
+diff --git a/src/platforms/mirserver/promptsessionlistener.h b/src/platforms/mirserver/promptsessionlistener.h
+index 73f0e606..ed635832 100644
+--- a/src/platforms/mirserver/promptsessionlistener.h
++++ b/src/platforms/mirserver/promptsessionlistener.h
+@@ -14,25 +14,37 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#ifndef PROMPTSESSIONLISTENER_H
+-#define PROMPTSESSIONLISTENER_H
++#ifndef QTMIR_PROMPTSESSIONLISTENER_H
++#define QTMIR_PROMPTSESSIONLISTENER_H
++#include <memory>
+
+ // Qt
+ #include <QHash>
+ #include <QObject>
+
+ #include "promptsession.h"
+-
++#include <miroil/prompt_session_listener.h>
+ #include <miral/application.h>
+
+-class PromptSessionListener : public QObject
++namespace qtmir {
++
++class PromptSessionListener : public QObject, public miroil::PromptSessionListener
+ {
+ Q_OBJECT
+-protected:
++public:
+ explicit PromptSessionListener(QObject *parent = 0);
+ ~PromptSessionListener();
+
+-public:
++ // PromptSessionListener functions
++ void starting(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
++ void stopping(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
++ void suspending(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
++ void resuming(std::shared_ptr<mir::scene::PromptSession> const& prompt_session) override;
++ void prompt_provider_added(mir::scene::PromptSession const& prompt_session,
++ std::shared_ptr<mir::scene::Session> const& prompt_provider) override;
++ void prompt_provider_removed(mir::scene::PromptSession const& prompt_session,
++ std::shared_ptr<mir::scene::Session> const& prompt_provider) override;
++
+ Q_SIGNALS:
+ void promptSessionStarting(qtmir::PromptSession const &session);
+ void promptSessionStopping(qtmir::PromptSession const &session);
+@@ -41,9 +53,14 @@ Q_SIGNALS:
+
+ void promptProviderAdded(qtmir::PromptSession const&, miral::Application const&);
+ void promptProviderRemoved(qtmir::PromptSession const&, miral::Application const&);
++
++private:
++ QHash<const mir::scene::PromptSession *, qtmir::PromptSession> m_mirPromptToSessionHash;
+ };
+
++}
++
+ Q_DECLARE_METATYPE(qtmir::PromptSession)
+ Q_DECLARE_METATYPE(miral::Application)
+
+-#endif // SESSIONLISTENER_H
++#endif // QTMIR_PROMPTSESSIONLISTENER_H
+diff --git a/src/platforms/mirserver/promptsessionmanager.cpp b/src/platforms/mirserver/promptsessionmanager.cpp
+deleted file mode 100644
+index 138b691d..00000000
+--- a/src/platforms/mirserver/promptsessionmanager.cpp
++++ /dev/null
+@@ -1,47 +0,0 @@
+-/*
+- * Copyright © 2016 Canonical Ltd.
+- *
+- * This program is free software: you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 3,
+- * as published by the Free Software Foundation.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-#include "promptsessionmanager.h"
+-#include "promptsession.h"
+-
+-#include <mir/scene/prompt_session_manager.h>
+-
+-qtmir::PromptSessionManager::PromptSessionManager(std::shared_ptr<mir::scene::PromptSessionManager> const &promptSessionManager) :
+- m_promptSessionManager{promptSessionManager}
+-{
+-}
+-
+-qtmir::PromptSessionManager::~PromptSessionManager() = default;
+-
+-miral::Application qtmir::PromptSessionManager::applicationFor(const PromptSession &promptSession) const
+-{
+- return m_promptSessionManager->application_for(promptSession);
+-}
+-
+-void qtmir::PromptSessionManager::stopPromptSession(const PromptSession &promptSession) const
+-{
+- m_promptSessionManager->stop_prompt_session(promptSession);
+-}
+-
+-void qtmir::PromptSessionManager::suspendPromptSession(const PromptSession &promptSession) const
+-{
+- m_promptSessionManager->suspend_prompt_session(promptSession);
+-}
+-
+-void qtmir::PromptSessionManager::resumePromptSession(const PromptSession &promptSession) const
+-{
+- m_promptSessionManager->resume_prompt_session(promptSession);
+-}
+diff --git a/src/platforms/mirserver/promptsessionmanager.h b/src/platforms/mirserver/promptsessionmanager.h
+deleted file mode 100644
+index ebc207cb..00000000
+--- a/src/platforms/mirserver/promptsessionmanager.h
++++ /dev/null
+@@ -1,49 +0,0 @@
+-/*
+- * Copyright © 2016 Canonical Ltd.
+- *
+- * This program is free software: you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 3,
+- * as published by the Free Software Foundation.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- */
+-
+-#ifndef QTMIR_PROMPTSESSIONMANAGER_H
+-#define QTMIR_PROMPTSESSIONMANAGER_H
+-
+-#include <miral/application.h>
+-
+-#include <memory>
+-
+-namespace mir {
+-namespace scene {
+-class PromptSessionManager;
+-}
+-}
+-
+-namespace qtmir {
+-class PromptSession;
+-class PromptSessionManager
+-{
+-public:
+- explicit PromptSessionManager(const std::shared_ptr<mir::scene::PromptSessionManager> &promptSessionManager);
+- virtual ~PromptSessionManager();
+-
+- miral::Application applicationFor(qtmir::PromptSession const &promptSession) const;
+-
+- void stopPromptSession(qtmir::PromptSession const &promptSession) const;
+- void suspendPromptSession(qtmir::PromptSession const &promptSession) const;
+- void resumePromptSession(qtmir::PromptSession const &promptSession) const;
+-
+-private:
+- std::shared_ptr<mir::scene::PromptSessionManager> const m_promptSessionManager;
+-};
+-}
+-
+-#endif //QTMIR_PROMPTSESSIONMANAGER_H
+diff --git a/src/platforms/mirserver/qmirserver.cpp b/src/platforms/mirserver/qmirserver.cpp
+index 6c0160e7..fe1b1a31 100644
+--- a/src/platforms/mirserver/qmirserver.cpp
++++ b/src/platforms/mirserver/qmirserver.cpp
+@@ -26,7 +26,6 @@
+ #include "qmirserver.h"
+ #include "qmirserver_p.h"
+
+-
+ QMirServer::QMirServer(QObject *parent)
+ : QObject(parent)
+ , d_ptr(new QMirServerPrivate)
+@@ -134,7 +133,7 @@ void *QMirServer::nativeResourceForIntegration(const QByteArray &resource) const
+ return result;
+ }
+
+-std::shared_ptr<qtmir::PromptSessionManager> QMirServer::thePromptSessionManager() const
++std::shared_ptr<miroil::PromptSessionManager> QMirServer::thePromptSessionManager() const
+ {
+ Q_D(const QMirServer);
+ return d->promptSessionManager();
+diff --git a/src/platforms/mirserver/qmirserver.h b/src/platforms/mirserver/qmirserver.h
+index 74d81c6b..d0dc2c5b 100644
+--- a/src/platforms/mirserver/qmirserver.h
++++ b/src/platforms/mirserver/qmirserver.h
+@@ -29,14 +29,17 @@
+ #include "qtmir/displayconfigurationpolicy.h"
+ #include "qtmir/displayconfigurationstorage.h"
+
++// miroil
++#include <miroil/prompt_session_manager.h>
++
+ // qtmir
+ namespace qtmir {
+- class PromptSessionManager;
+ class WindowModelNotifier;
+ class AppNotifier;
+ }
+ namespace mir { class Server; }
+
++// qtmir
+ class QMirServerPrivate;
+ class ScreensController;
+ class ScreensModel;
+@@ -59,7 +62,7 @@ public:
+ std::shared_ptr<ScreensModel> screensModel() const;
+ QPlatformOpenGLContext *createPlatformOpenGLContext(QOpenGLContext *context) const;
+ void *nativeResourceForIntegration(const QByteArray &resource) const;
+- std::shared_ptr<qtmir::PromptSessionManager> thePromptSessionManager() const;
++ std::shared_ptr<miroil::PromptSessionManager> thePromptSessionManager() const;
+
+ qtmir::WindowModelNotifier *windowModelNotifier() const;
+ qtmir::AppNotifier *appNotifier() const;
+diff --git a/src/platforms/mirserver/qmirserver_p.cpp b/src/platforms/mirserver/qmirserver_p.cpp
+index c11acc97..e5858a53 100644
+--- a/src/platforms/mirserver/qmirserver_p.cpp
++++ b/src/platforms/mirserver/qmirserver_p.cpp
+@@ -15,23 +15,34 @@
+ */
+
+ #include "qmirserver_p.h"
+-#include "qtmir/miral/display_configuration_storage.h"
+
+ // local
+ #include "logging.h"
+ #include "wrappedwindowmanagementpolicy.h"
+-#include "promptsessionmanager.h"
+-#include "setqtcompositor.h"
++#include "inputdeviceobserver.h"
+ #include "qteventfeeder.h"
+ #include "qtmir/sessionauthorizer.h"
+-
+-// prototyping for later incorporation in miral
+-#include <miral/persist_display_config.h>
++#include "miropenglcontext.h"
++#include "mirglconfig.h"
++#include "screenscontroller.h"
++#include "qtcompositor.h"
++#include "namedcursor.h"
++#include "promptsessionlistener.h"
++#include "qtwindowmanager.h"
++#include "wayland/xdgdecorationV1.h"
++#include "wayland/kwinserverdecoration.h"
++
++#include <miroil/prompt_session_manager.h>
++#include <miroil/persist_display_config.h>
++#include <miroil/set_compositor.h>
++#include <miroil/display_listener_wrapper.h>
+
+ // miral
+ #include <miral/add_init_callback.h>
+ #include <miral/set_terminator.h>
+ #include <miral/x11_support.h>
++#include <miral/keymap.h>
++#include <miral/wayland_extensions.h>
+
+ // Qt
+ #include <QCoreApplication>
+@@ -54,19 +65,14 @@ public:
+ {}
+ };
+
+-struct DefaultDisplayConfigurationStorage : miral::DisplayConfigurationStorage
++struct DefaultDisplayConfigurationStorage : miroil::DisplayConfigurationStorage
+ {
+- void save(const miral::DisplayId&, const miral::DisplayConfigurationOptions&) override {}
++ void save(const miroil::DisplayId&, const miroil::DisplayConfigurationOptions&) override {}
+
+- bool load(const miral::DisplayId&, miral::DisplayConfigurationOptions&) const override { return false; }
++ bool load(const miroil::DisplayId&, miroil::DisplayConfigurationOptions&) const override { return false; }
+ };
+
+-std::shared_ptr<miral::DisplayConfigurationPolicy> buildDisplayConfigurationPolicy()
+-{
+- return std::make_shared<qtmir::DisplayConfigurationPolicy>();
+-}
+-
+-std::shared_ptr<miral::DisplayConfigurationStorage> buildDisplayConfigurationStorage()
++std::shared_ptr<miroil::DisplayConfigurationStorage> buildDisplayConfigurationStorage()
+ {
+ return std::make_shared<DefaultDisplayConfigurationStorage>();
+ }
+@@ -113,12 +119,19 @@ bool MirServerThread::waitForMirStartup()
+
+ QPlatformOpenGLContext *QMirServerPrivate::createPlatformOpenGLContext(QOpenGLContext *context) const
+ {
+- return m_openGLContextFactory.createPlatformOpenGLContext(context->format(), *m_mirServerHooks.theMirDisplay());
++ QSurfaceFormat format = context->format();
++ mir::graphics::Display * mirDisplay = m_mirServerHooks.the_mir_display().get();
++ mir::graphics::GLConfig * gl_config = m_openGLContext.the_open_gl_config().get();
++
++ if (!gl_config)
++ throw std::logic_error("No gl config available. Server not running?");
++
++ return new MirOpenGLContext(*mirDisplay, *gl_config, format);
+ }
+
+-std::shared_ptr<qtmir::PromptSessionManager> QMirServerPrivate::promptSessionManager() const
++std::shared_ptr<miroil::PromptSessionManager> QMirServerPrivate::promptSessionManager() const
+ {
+- return std::make_shared<qtmir::PromptSessionManager>(m_mirServerHooks.thePromptSessionManager());
++ return std::make_shared<miroil::PromptSessionManager>(m_mirServerHooks.the_prompt_session_manager());
+ }
+
+ std::shared_ptr<qtmir::SessionAuthorizer> QMirServerPrivate::theApplicationAuthorizer() const
+@@ -128,21 +141,31 @@ std::shared_ptr<qtmir::SessionAuthorizer> QMirServerPrivate::theApplicationAutho
+ }
+
+ QMirServerPrivate::QMirServerPrivate()
+- : m_displayConfigurationPolicy(buildDisplayConfigurationPolicy)
++ : m_displayConfigurationPolicy{[](auto) { return std::make_shared<qtmir::DisplayConfigurationPolicy>(); }}
+ , m_windowManagementPolicy(buildWindowManagementPolicy)
+ , m_displayConfigurationStorage(buildDisplayConfigurationStorage)
+ , m_wrappedSessionAuthorizer(buildSessionAuthorizer)
++ , m_openGLContext(new MirGLConfig())
+ , runner(qtmirArgc, qtmirArgv)
+ {
+ }
+
+-PromptSessionListener *QMirServerPrivate::promptSessionListener() const
++qtmir::PromptSessionListener *QMirServerPrivate::promptSessionListener() const
+ {
+- return m_mirServerHooks.promptSessionListener();
++ return dynamic_cast<qtmir::PromptSessionListener*>(m_mirServerHooks.the_prompt_session_listener());
+ }
+
+ void QMirServerPrivate::run(const std::function<void()> &startCallback)
+ {
++ m_mirServerHooks.create_prompt_session_listener(std::dynamic_pointer_cast<miroil::PromptSessionListener>(std::make_shared<qtmir::PromptSessionListener>()));
++ m_mirServerHooks.create_named_cursor([](std::string const & name)
++ {
++ // We are not responsible for loading cursors. This is left for shell to do as it's drawing its own QML cursor.
++ // So here we work around Mir API by storing just the cursor name in the CursorImage.
++ return std::make_shared<qtmir::NamedCursor>(name.c_str());
++ }
++ );
++
+
+ miral::AddInitCallback addInitCallback{[&, this]
+ {
+@@ -156,6 +179,11 @@ void QMirServerPrivate::run(const std::function<void()> &startCallback)
+ QCoreApplication::quit();
+ }};
+
++ miral::WaylandExtensions waylandExtensions{};
++ waylandExtensions.add_extension(qtmir::qtWindowmanagerExtension());
++ waylandExtensions.add_extension(qtmir::qtXdgDecorationManagerV1Extension());
++ waylandExtensions.add_extension(qtmir::qtKwinServerDecorationManagerExtension(m_windowModelNotifier));
++
+ runner.set_exception_handler([this]
+ {
+ try {
+@@ -168,8 +196,9 @@ void QMirServerPrivate::run(const std::function<void()> &startCallback)
+
+ runner.add_start_callback([&]
+ {
+- screensController = m_mirServerHooks.createScreensController(screensModel);
+- m_mirServerHooks.createInputDeviceObserver();
++ screensController = QSharedPointer<ScreensController>(new ScreensController(screensModel, m_mirServerHooks.the_mir_display(), m_mirServerHooks.the_display_configuration_controller()));
++ std::shared_ptr<miroil::InputDeviceObserver> ptr = std::make_shared<qtmir::MirInputDeviceObserver>();
++ m_mirServerHooks.create_input_device_observer(ptr);
+ if (auto const x11_display = runner.x11_display())
+ {
+ setenv("DISPLAY", x11_display.value().c_str(), 1);
+@@ -186,12 +215,22 @@ void QMirServerPrivate::run(const std::function<void()> &startCallback)
+
+ auto displayStorageBuilder = m_displayConfigurationStorage.builder();
+
++ miral::Keymap config_keymap;
++
+ runner.run_with(
+ {
+ miral::X11Support{},
+ m_wrappedSessionAuthorizer,
+- m_openGLContextFactory,
++ m_openGLContext,
+ m_mirServerHooks,
++ waylandExtensions
++ .enable(miral::WaylandExtensions::zwlr_layer_shell_v1)
++ .enable(miral::WaylandExtensions::zwlr_foreign_toplevel_manager_v1)
++ .enable(miral::WaylandExtensions::zxdg_output_manager_v1)
++ .enable(miral::WaylandExtensions::zwp_virtual_keyboard_manager_v1)
++ .enable(miral::WaylandExtensions::zwlr_virtual_pointer_manager_v1)
++ .enable(miral::WaylandExtensions::zwp_input_method_manager_v2)
++ .enable(miral::WaylandExtensions::zwlr_screencopy_manager_v1),
+ miral::set_window_management_policy<WrappedWindowManagementPolicy>(m_windowModelNotifier,
+ m_windowController,
+ m_workspaceController,
+@@ -200,10 +239,30 @@ void QMirServerPrivate::run(const std::function<void()> &startCallback)
+ eventFeeder,
+ m_windowManagementPolicy),
+ addInitCallback,
+- qtmir::SetQtCompositor{screensModel},
++ miroil::SetCompositor(
++ // Create the the QtCompositor
++ [this]()
++ -> std::shared_ptr<miroil::Compositor>
++ {
++ std::shared_ptr<miroil::Compositor> result = std::make_shared<QtCompositor>();
++ return result;
++ }
++ ,
++ // Initialization called by mir when the new compositor is setup up
++ [this](const std::shared_ptr<mir::graphics::Display>& display,
++ const std::shared_ptr<miroil::Compositor> & compositor,
++ const std::shared_ptr<mir::compositor::DisplayListener>& displayListener)
++ {
++
++ std::shared_ptr<QtCompositor> qtCompsitor = std::dynamic_pointer_cast<QtCompositor>(compositor);
++
++ this->screensModel->init(display, qtCompsitor, std::make_shared<miroil::DisplayListenerWrapper>(displayListener));
++ }
++ ),
+ setTerminator,
+- miral::PersistDisplayConfig{displayStorageBuilder(),
+- m_displayConfigurationPolicy}
++ config_keymap,
++ miroil::PersistDisplayConfig{displayStorageBuilder(),
++ m_displayConfigurationPolicy},
+ });
+ }
+
+diff --git a/src/platforms/mirserver/qmirserver_p.h b/src/platforms/mirserver/qmirserver_p.h
+index f5129fa2..d5f14277 100644
+--- a/src/platforms/mirserver/qmirserver_p.h
++++ b/src/platforms/mirserver/qmirserver_p.h
+@@ -27,12 +27,11 @@
+
+ // local
+ #include "appnotifier.h"
+-#include "openglcontextfactory.h"
+ #include "screensmodel.h"
+ #include "windowcontroller.h"
+ #include "windowmodelnotifier.h"
+ #include "workspacecontroller.h"
+-#include "mirserverhooks.h"
++#include "screenscontroller.h"
+ #include "wrappedsessionauthorizer.h"
+ #include "qteventfeeder.h"
+ #include "qtmir/displayconfigurationpolicy.h"
+@@ -43,14 +42,21 @@
+ #include <miral/runner.h>
+ #include <QDebug>
+
++// miroil
++#include <miroil/compositor.h>
++#include <miroil/mir_server_hooks.h>
++#include <miroil/prompt_session_manager.h>
++#include <miroil/open_gl_context.h>
++
+ class MirServerThread;
+ class QOpenGLContext;
+ class QMirServer;
++class QPlatformOpenGLContext;
+
+ namespace qtmir
+ {
+ class SessionAuthorizer;
+-class PromptSessionManager;
++class PromptSessionListener;
+ }
+
+ class QMirServerPrivate
+@@ -67,8 +73,8 @@ public:
+ void run(const std::function<void()> &startCallback);
+ void stop();
+
+- PromptSessionListener *promptSessionListener() const;
+- std::shared_ptr<qtmir::PromptSessionManager> promptSessionManager() const;
++ qtmir::PromptSessionListener *promptSessionListener() const;
++ std::shared_ptr<miroil::PromptSessionManager> promptSessionManager() const;
+
+ std::shared_ptr<qtmir::SessionAuthorizer> theApplicationAuthorizer() const;
+
+@@ -89,8 +95,8 @@ public:
+ qtmir::BasicSetDisplayConfigurationStorage m_displayConfigurationStorage;
+ miral::SetApplicationAuthorizer<WrappedSessionAuthorizer> m_wrappedSessionAuthorizer;
+ private:
+- qtmir::OpenGLContextFactory m_openGLContextFactory;
+- qtmir::MirServerHooks m_mirServerHooks;
++ miroil::OpenGLContext m_openGLContext;
++ miroil::MirServerHooks m_mirServerHooks;
+
+ miral::MirRunner runner;
+
+diff --git a/src/platforms/mirserver/qtcompositor.cpp b/src/platforms/mirserver/qtcompositor.cpp
+index 7251b13a..8b25354a 100644
+--- a/src/platforms/mirserver/qtcompositor.cpp
++++ b/src/platforms/mirserver/qtcompositor.cpp
+@@ -15,4 +15,20 @@
+ */
+
+ #include "qtcompositor.h"
++#include "logging.h"
++
++void QtCompositor::start()
++{
++ qCDebug(QTMIR_SCREENS) << "QtCompositor::start";
++
++ Q_EMIT starting(); // blocks
++}
++
++void QtCompositor::stop()
++{
++ qCDebug(QTMIR_SCREENS) << "QtCompositor::stop";
++
++ Q_EMIT stopping(); // blocks
++}
++
+
+diff --git a/src/platforms/mirserver/qtcompositor.h b/src/platforms/mirserver/qtcompositor.h
+index 09f09610..f70f85f6 100644
+--- a/src/platforms/mirserver/qtcompositor.h
++++ b/src/platforms/mirserver/qtcompositor.h
+@@ -16,6 +16,7 @@
+
+ #ifndef QTCOMPOSITOR_H
+ #define QTCOMPOSITOR_H
++#include <miroil/compositor.h>
+
+ // std lib
+ #include <memory>
+@@ -29,13 +30,17 @@ namespace mir {
+ }
+ }
+
+-class QtCompositor : public QObject
++class QtCompositor : public QObject, public miroil::Compositor
+ {
+ Q_OBJECT
+ public:
+ QtCompositor() = default;
+ virtual ~QtCompositor() noexcept = default;
+
++ // Callbacks coming from mir
++ void start();
++ void stop();
++
+ Q_SIGNALS:
+ void starting();
+ void stopping();
+diff --git a/src/platforms/mirserver/qteventfeeder.h b/src/platforms/mirserver/qteventfeeder.h
+index fa033fcc..5211bbbb 100644
+--- a/src/platforms/mirserver/qteventfeeder.h
++++ b/src/platforms/mirserver/qteventfeeder.h
+@@ -17,7 +17,13 @@
+ #ifndef MIR_QT_EVENT_FEEDER_H
+ #define MIR_QT_EVENT_FEEDER_H
+
++#include <mir/version.h>
++#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(2, 0, 0)
++#include <miral/toolkit_event.h>
++using namespace miral::toolkit;
++#else
+ #include <mir_toolkit/event.h>
++#endif
+
+ #include <QObject>
+ #include <qpa/qwindowsysteminterface.h>
+diff --git a/src/platforms/mirserver/qtwindowmanager.cpp b/src/platforms/mirserver/qtwindowmanager.cpp
+new file mode 100644
+index 00000000..240792b2
+--- /dev/null
++++ b/src/platforms/mirserver/qtwindowmanager.cpp
+@@ -0,0 +1,80 @@
++/*
++ * Copyright (C) 2020 UBports Foundation
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <memory>
++
++#include "qtwindowmanager.h"
++#include "urlbuilderdispatcher.h"
++#include "services.h"
++
++#include <wayland-generated/qt-windowmanager_wrapper.h>
++
++#include <QDebug>
++
++using namespace mir::wayland;
++using namespace miral;
++
++namespace
++{
++class QtWindowManager : public Windowmanager
++{
++public:
++ using Windowmanager::Windowmanager;
++
++ QtWindowManager(struct wl_resource*);
++
++ void open_url(uint32_t remaining, std::string const& url) override {
++ mBuilder->urlInput(remaining, url);
++ }
++private:
++ qtmir::URLBuilderDispatcher* mBuilder;
++};
++
++QtWindowManager::QtWindowManager(
++ struct wl_resource* resource) :
++ Windowmanager{resource, Version<1>{}},
++ mBuilder{new qtmir::URLBuilderDispatcher{std::make_shared<Services>()}}
++{
++}
++
++class MyGlobal : public QtWindowManager::Global
++{
++public:
++ explicit MyGlobal(wl_display* display);
++
++ void bind(wl_resource* new_windowmanager) override;
++};
++
++}
++
++MyGlobal::MyGlobal(wl_display* display) :
++ Global(display, Version<1>{})
++{
++}
++
++void MyGlobal::bind(wl_resource* new_windowmanager)
++{
++ new QtWindowManager{new_windowmanager};
++}
++
++auto qtmir::qtWindowmanagerExtension() -> WaylandExtensions::Builder {
++ return {
++ Windowmanager::interface_name,
++ [](WaylandExtensions::Context const* context) {
++ return std::make_shared<MyGlobal>(context->display());
++ }
++ };
++}
+diff --git a/src/platforms/mirserver/mircursorimages.cpp b/src/platforms/mirserver/qtwindowmanager.h
+similarity index 55%
+rename from src/platforms/mirserver/mircursorimages.cpp
+rename to src/platforms/mirserver/qtwindowmanager.h
+index b07bbe1a..30b5cb5a 100644
+--- a/src/platforms/mirserver/mircursorimages.cpp
++++ b/src/platforms/mirserver/qtwindowmanager.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2015 Canonical, Ltd.
++ * Copyright (C) 2020 UBports Foundation
+ *
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License version 3, as published by
+@@ -14,15 +14,18 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#include "mircursorimages.h"
+-#include "namedcursor.h"
++#pragma once
+
+-using namespace qtmir;
++// Provides the qt-windowmanager Wayland extension, which provides support for
++// URL handling. We use url-dispatcher for the purpose.
+
+-std::shared_ptr<mir::graphics::CursorImage> MirCursorImages::image(const std::string &cursor_name,
+- const mir::geometry::Size &)
++#include "services.h"
++
++#include <miral/wayland_extensions.h>
++
++namespace qtmir
+ {
+- // We are not responsible for loading cursors. This is left for shell to do as it's drawing its own QML cursor.
+- // So here we work around Mir API by storing just the cursor name in the CursorImage.
+- return std::make_shared<NamedCursor>(cursor_name.c_str());
++// The casing is deliberate, given 'Windowmanager' is all one word according to
++// the Wayland spec
++auto qtWindowmanagerExtension() -> miral::WaylandExtensions::Builder;
+ }
+diff --git a/src/platforms/mirserver/screenadaptor.cpp b/src/platforms/mirserver/screenadaptor.cpp
+index 0bdc6ad2..1a274617 100644
+--- a/src/platforms/mirserver/screenadaptor.cpp
++++ b/src/platforms/mirserver/screenadaptor.cpp
+@@ -60,7 +60,7 @@ ScreenAdaptor::~ScreenAdaptor()
+ m_modes.clear();
+ }
+
+-miral::DisplayId ScreenAdaptor::displayId() const
++miroil::DisplayId ScreenAdaptor::displayId() const
+ {
+ auto platformScreen = static_cast<PlatformScreen*>(m_screen->handle());
+ return platformScreen->displayId();
+diff --git a/src/platforms/mirserver/screenadaptor.h b/src/platforms/mirserver/screenadaptor.h
+index d801b712..a3711eba 100644
+--- a/src/platforms/mirserver/screenadaptor.h
++++ b/src/platforms/mirserver/screenadaptor.h
+@@ -34,7 +34,7 @@ public:
+ ScreenAdaptor(QScreen* screen, QObject* parent = 0);
+ ~ScreenAdaptor();
+
+- miral::DisplayId displayId() const override;
++ miroil::DisplayId displayId() const override;
+ bool used() const override;
+ QString name() const override;
+ float scale() const override;
+diff --git a/src/platforms/mirserver/screenscontroller.cpp b/src/platforms/mirserver/screenscontroller.cpp
+index 318cf61b..8a7d07b5 100644
+--- a/src/platforms/mirserver/screenscontroller.cpp
++++ b/src/platforms/mirserver/screenscontroller.cpp
+@@ -21,7 +21,6 @@
+ // Mir
+ #include <mir/graphics/display.h>
+ #include <mir/graphics/display_configuration.h>
+-#include <mir/shell/display_configuration_controller.h>
+ #include <mir/geometry/point.h>
+
+ namespace mg = mir::graphics;
+@@ -33,7 +32,7 @@ ScreensController::ScreensController(const std::shared_ptr<ScreensModel> &model,
+ : QObject(parent)
+ , m_screensModel(model)
+ , m_display(display)
+- , m_displayConfigurationController(controller)
++ , m_displayConfigurationController(std::make_shared<miroil::DisplayConfigurationControllerWrapper>(controller))
+ {
+ }
+
+@@ -88,7 +87,7 @@ bool ScreensController::setConfiguration(const qtmir::ScreenConfigurationList &n
+ return true;
+ }
+
+-qtmir::ScreenConfiguration ScreensController::outputConfiguration(miral::OutputId outputId)
++qtmir::ScreenConfiguration ScreensController::outputConfiguration(miroil::OutputId outputId)
+ {
+ auto displayConfiguration = m_display->configuration();
+ qtmir::ScreenConfiguration config;
+diff --git a/src/platforms/mirserver/screenscontroller.h b/src/platforms/mirserver/screenscontroller.h
+index b363830c..db345aaf 100644
+--- a/src/platforms/mirserver/screenscontroller.h
++++ b/src/platforms/mirserver/screenscontroller.h
+@@ -26,6 +26,7 @@
+ #include "qtmir/screen.h"
+
+ #include <memory>
++#include <miroil/display_configuration_controller_wrapper.h>
+
+ class ScreensModel;
+
+@@ -48,13 +49,13 @@ public:
+ qtmir::ScreenConfigurationList configuration();
+ bool setConfiguration(const qtmir::ScreenConfigurationList &newConfig);
+
+- qtmir::ScreenConfiguration outputConfiguration(miral::OutputId outputId);
++ qtmir::ScreenConfiguration outputConfiguration(miroil::OutputId outputId);
+ bool setOutputConfiguration(const qtmir::ScreenConfiguration &newConfig);
+
+ private:
+ const std::shared_ptr<ScreensModel> m_screensModel;
+ const std::shared_ptr<mir::graphics::Display> m_display;
+- const std::shared_ptr<mir::shell::DisplayConfigurationController> m_displayConfigurationController;
++ const std::shared_ptr<miroil::DisplayConfigurationControllerWrapper> m_displayConfigurationController;
+ };
+
+ #endif // SCREENSCONTROLLER_H
+diff --git a/src/platforms/mirserver/screensmodel.cpp b/src/platforms/mirserver/screensmodel.cpp
+index b03d6b9d..91c420d5 100644
+--- a/src/platforms/mirserver/screensmodel.cpp
++++ b/src/platforms/mirserver/screensmodel.cpp
+@@ -27,7 +27,7 @@
+ #include <mir/graphics/display.h>
+ #include <mir/graphics/display_buffer.h>
+ #include <mir/graphics/display_configuration.h>
+-#include <mir/compositor/display_listener.h>
++#include <miroil/display_listener_wrapper.h>
+
+ // Qt
+ #include <QScreen>
+@@ -43,8 +43,8 @@ namespace mg = mir::graphics;
+ #define DEBUG_MSG qCDebug(QTMIR_SCREENS).nospace() << "ScreensModel[" << this <<"]::" << __func__
+
+ ScreensModel::ScreensModel(QObject *parent)
+- : MirDisplayConfigurationObserver(parent)
+- , m_compositing(false)
++ : //MirDisplayConfigurationObserver(parent)
++ m_compositing(false)
+ , m_orientationSensor(std::make_shared<OrientationSensor>(this))
+ {
+ DEBUG_MSG << "()";
+@@ -54,7 +54,7 @@ ScreensModel::ScreensModel(QObject *parent)
+ void ScreensModel::init(
+ const std::shared_ptr<mir::graphics::Display>& display,
+ const std::shared_ptr<QtCompositor>& compositor,
+- const std::shared_ptr<mir::compositor::DisplayListener>& displayListener)
++ const std::shared_ptr<miroil::DisplayListenerWrapper>& displayListener)
+ {
+ m_display = display;
+ m_compositor = compositor;
+@@ -69,8 +69,8 @@ void ScreensModel::init(
+ connect(qtCompositor, &QtCompositor::stopping,
+ this, &ScreensModel::onCompositorStopping, Qt::BlockingQueuedConnection);
+
+- connect(this, &MirDisplayConfigurationObserver::configurationApplied,
+- this, &ScreensModel::update, Qt::BlockingQueuedConnection);
++ //connect(this, &MirDisplayConfigurationObserver::configurationApplied,
++ // this, &ScreensModel::update, Qt::BlockingQueuedConnection);
+ }
+
+ // terminate before shutting down the Mir server, or else liable to deadlock with the blocking connection above
+diff --git a/src/platforms/mirserver/screensmodel.h b/src/platforms/mirserver/screensmodel.h
+index 6f85be7c..439db39a 100644
+--- a/src/platforms/mirserver/screensmodel.h
++++ b/src/platforms/mirserver/screensmodel.h
+@@ -17,20 +17,19 @@
+ #ifndef SCREENCONFIGURATIONOBSERVER_H
+ #define SCREENCONFIGURATIONOBSERVER_H
+
+-#include "mirdisplayconfigurationobserver.h"
++//#include "mirdisplayconfigurationobserver.h"
+
+ #include <QObject>
+ #include <QPoint>
+
+ // Mir
+ #include "mir/int_wrapper.h"
++#include <miroil/display_listener_wrapper.h>
+
+ // std
+ #include <memory>
+
+ namespace mir {
+- namespace compositor { class DisplayListener; }
+-
+ namespace graphics {
+ namespace detail { struct GraphicsConfCardIdTag; struct GraphicsConfOutputIdTag; }
+ typedef IntWrapper <detail::GraphicsConfCardIdTag> DisplayConfigurationCardId;
+@@ -62,7 +61,8 @@ class OrientationSensor;
+ * All other methods must be called on the Qt GUI thread.
+ */
+
+-class ScreensModel : public MirDisplayConfigurationObserver
++class ScreensModel : public QObject
++//class ScreensModel : public MirDisplayConfigurationObserver
+ {
+ Q_OBJECT
+ public:
+@@ -83,7 +83,7 @@ public:
+ void init(
+ const std::shared_ptr<mir::graphics::Display>& display,
+ const std::shared_ptr<QtCompositor>& compositor,
+- const std::shared_ptr<mir::compositor::DisplayListener>& displayListener);
++ const std::shared_ptr<miroil::DisplayListenerWrapper> & displayListener);
+ void terminate();
+
+ // override for testing purposes
+@@ -102,7 +102,7 @@ private:
+
+ std::weak_ptr<mir::graphics::Display> m_display;
+ std::shared_ptr<QtCompositor> m_compositor;
+- std::shared_ptr<mir::compositor::DisplayListener> m_displayListener;
++ std::shared_ptr<miroil::DisplayListenerWrapper> m_displayListener;
+ QList<PlatformScreen*> m_screenList;
+ bool m_compositing;
+ std::shared_ptr<OrientationSensor> m_orientationSensor;
+diff --git a/src/platforms/mirserver/setqtcompositor.cpp b/src/platforms/mirserver/setqtcompositor.cpp
+deleted file mode 100644
+index 1d747fe3..00000000
+--- a/src/platforms/mirserver/setqtcompositor.cpp
++++ /dev/null
+@@ -1,83 +0,0 @@
+-/*
+- * Copyright © 2016 Canonical Ltd.
+- *
+- * This program is free software: you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 3,
+- * as published by the Free Software Foundation.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- *
+- * Authored by: Alan Griffiths <alan@octopull.co.uk>
+- */
+-
+-#include "setqtcompositor.h"
+-
+-// local
+-#include "qtcompositor.h"
+-#include "screensmodel.h"
+-#include "logging.h"
+-
+-// mir
+-#include <mir/compositor/compositor.h>
+-#include <mir/server.h>
+-#include <mir/shell/shell.h>
+-#include <mir/observer_registrar.h>
+-
+-namespace
+-{
+-struct QtCompositorImpl : QtCompositor, mir::compositor::Compositor
+-{
+- void start();
+- void stop();
+-};
+-
+-void QtCompositorImpl::start()
+-{
+- qCDebug(QTMIR_SCREENS) << "QtCompositor::start";
+-
+- Q_EMIT starting(); // blocks
+-}
+-
+-void QtCompositorImpl::stop()
+-{
+- qCDebug(QTMIR_SCREENS) << "QtCompositor::stop";
+-
+- Q_EMIT stopping(); // blocks
+-}
+-}
+-
+-
+-qtmir::SetQtCompositor::SetQtCompositor(std::shared_ptr<ScreensModel> const& screensModel) :
+- m_screensModel{screensModel}
+-{
+-}
+-
+-void qtmir::SetQtCompositor::operator()(mir::Server& server)
+-{
+- server.override_the_compositor([this]
+- {
+- auto result = std::make_shared<QtCompositorImpl>();
+- m_compositor = result;
+- return result;
+- });
+-
+- server.add_init_callback([&, this]
+- {
+- if (auto const compositor = m_compositor.lock())
+- {
+- server.the_display_configuration_observer_registrar()->register_interest(m_screensModel);
+- m_screensModel->init(server.the_display(), compositor, server.the_shell());
+- }
+- else
+- {
+- throw std::logic_error("No m_compositor available. Server not running?");
+- }
+- });
+-}
+-
+diff --git a/src/platforms/mirserver/setqtcompositor.h b/src/platforms/mirserver/setqtcompositor.h
+deleted file mode 100644
+index 4c5fcdc1..00000000
+--- a/src/platforms/mirserver/setqtcompositor.h
++++ /dev/null
+@@ -1,47 +0,0 @@
+-/*
+- * Copyright © 2016 Canonical Ltd.
+- *
+- * This program is free software: you can redistribute it and/or modify it
+- * under the terms of the GNU General Public License version 3,
+- * as published by the Free Software Foundation.
+- *
+- * This program is distributed in the hope that it will be useful,
+- * but WITHOUT ANY WARRANTY; without even the implied warranty of
+- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+- * GNU General Public License for more details.
+- *
+- * You should have received a copy of the GNU General Public License
+- * along with this program. If not, see <http://www.gnu.org/licenses/>.
+- *
+- * Authored by: Alan Griffiths <alan@octopull.co.uk>
+- */
+-
+-#ifndef QTMIR_SET_QT_COMPOSITOR_H
+-#define QTMIR_SET_QT_COMPOSITOR_H
+-
+-#include <QSharedPointer>
+-
+-#include <memory>
+-
+-namespace mir { class Server; }
+-
+-class QtCompositor;
+-class ScreensModel;
+-
+-namespace qtmir
+-{
+-// Configure the server for using the Qt compositor
+-class SetQtCompositor
+-{
+-public:
+- explicit SetQtCompositor(std::shared_ptr<ScreensModel> const& screensModel);
+-
+- void operator()(mir::Server& server);
+-
+-private:
+- std::shared_ptr<ScreensModel> const m_screensModel;
+- std::weak_ptr<QtCompositor> m_compositor;
+-};
+-}
+-
+-#endif //QTMIR_SET_QT_COMPOSITOR_H
+diff --git a/src/platforms/mirserver/surfaceobserver.cpp b/src/platforms/mirserver/surfaceobserver.cpp
+index 4e3da84e..41351354 100644
+--- a/src/platforms/mirserver/surfaceobserver.cpp
++++ b/src/platforms/mirserver/surfaceobserver.cpp
+@@ -84,7 +84,12 @@ void SurfaceObserver::notifySurfaceModifications(const miral::WindowSpecificatio
+ Q_EMIT inputBoundsChanged(qRect);
+ }
+ if (modifications.confine_pointer().is_set()) {
++#if MIR_SERVER_MAJOR_VERSION < 2
+ Q_EMIT confinesMousePointerChanged(modifications.confine_pointer().value() == mir_pointer_confined_to_window);
++#else
++ Q_EMIT confinesMousePointerChanged((modifications.confine_pointer().value() == mir_pointer_confined_oneshot) ||
++ (modifications.confine_pointer().value() == mir_pointer_confined_persistent));
++#endif
+ }
+ if (modifications.name().is_set()) {
+ Q_EMIT nameChanged(QString::fromStdString(modifications.name().value()));
+diff --git a/src/platforms/mirserver/urlbuilderdispatcher.cpp b/src/platforms/mirserver/urlbuilderdispatcher.cpp
+new file mode 100644
+index 00000000..f246faf4
+--- /dev/null
++++ b/src/platforms/mirserver/urlbuilderdispatcher.cpp
+@@ -0,0 +1,56 @@
++/*
++ * Copyright (C) 2020 UBports Foundation
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "urlbuilderdispatcher.h"
++#include "logging.h"
++
++#include <QDebug>
++#include <QUrl>
++
++#define DEBUG_MSG qCDebug(QTMIR_URLBUILDER).nospace().noquote() << __func__
++
++namespace qtmir
++{
++URLBuilderDispatcher::URLBuilderDispatcher(std::shared_ptr<QPlatformServices> const services)
++ : mLastRemaining{0},
++ mCurrentUrl{},
++ mServices(services)
++{}
++
++void URLBuilderDispatcher::urlInput(uint32_t remaining, std::string const &url) {
++
++ QByteArray bytes = QByteArray::fromStdString(url);
++ DEBUG_MSG << "(" << remaining << ", \"" << bytes << "\")";
++
++ if (remaining > mLastRemaining) {
++ mCurrentUrl = "";
++ }
++
++ if (remaining == 0) {
++ mLastRemaining = 0;
++ mCurrentUrl.append(bytes);
++ QUrl myUrl = QUrl::fromEncoded(mCurrentUrl);
++ mServices->openUrl(myUrl);
++ mCurrentUrl = QByteArray();
++ return;
++ } else {
++ mCurrentUrl.append(bytes);
++ mLastRemaining = remaining;
++ return;
++ }
++}
++}
++
+diff --git a/src/platforms/mirserver/urlbuilderdispatcher.h b/src/platforms/mirserver/urlbuilderdispatcher.h
+new file mode 100644
+index 00000000..12d24c16
+--- /dev/null
++++ b/src/platforms/mirserver/urlbuilderdispatcher.h
+@@ -0,0 +1,47 @@
++/*
++ * Copyright (C) 2020 UBports Foundation
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#pragma once
++
++#include <stdint.h>
++#include <memory>
++
++#include <QByteArray>
++#include <qpa/qplatformservices.h>
++#include <QLoggingCategory>
++
++#include "services.h"
++
++// The QtWayland url_open IPC call will split all URLs into 128-byte chunks then
++// call the event via Wayland IPC. This object un-splits the URL and sends it
++// to URL-Dispatcher once it receives the last chunk (denoted by 'remaining'
++// reaching zero).
++
++namespace qtmir
++{
++
++class URLBuilderDispatcher {
++public:
++ URLBuilderDispatcher(std::shared_ptr<QPlatformServices> const);
++
++ void urlInput(uint32_t, std::string const&);
++
++private:
++ uint32_t mLastRemaining;
++ QByteArray mCurrentUrl;
++ std::shared_ptr<QPlatformServices> mServices;
++};
++}
+diff --git a/src/platforms/mirserver/wayland-generated/CMakeLists.txt b/src/platforms/mirserver/wayland-generated/CMakeLists.txt
+new file mode 100644
+index 00000000..b535a429
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-generated/CMakeLists.txt
+@@ -0,0 +1,24 @@
++function(add_wayland_protocol PREFIX PROTOCOL)
++ set(PROTOCOL_FILE "${CMAKE_CURRENT_SOURCE_DIR}/../wayland-protocols/${PROTOCOL}.xml")
++
++ set(GENERATE_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${PROTOCOL}_wrapper")
++
++ add_custom_command(
++ OUTPUT ${GENERATE_FILE}.cpp
++ OUTPUT ${GENERATE_FILE}.h
++ DEPENDS ${PROTOCOL_FILE}
++ COMMAND "sh" "-c" "/usr/bin/mir_wayland_generator ${PREFIX} ${PROTOCOL_FILE} header >${GENERATE_FILE}.h"
++ COMMAND "sh" "-c" "/usr/bin/mir_wayland_generator ${PREFIX} ${PROTOCOL_FILE} source >${GENERATE_FILE}.cpp"
++ )
++
++ set(GENERATED_FILES ${GENERATED_FILES} "${GENERATE_FILE}.h" "${GENERATE_FILE}.cpp" PARENT_SCOPE)
++endfunction()
++
++add_wayland_protocol("qt_" "qt-windowmanager")
++add_wayland_protocol("z" "xdg-decoration-unstable-v1")
++add_wayland_protocol("org_kde_" "server-decoration")
++
++add_custom_target(refresh-wayland-wrapper
++ DEPENDS ${GENERATED_FILES}
++ SOURCES ${GENERATED_FILES}
++)
+diff --git a/src/platforms/mirserver/wayland-generated/qt-windowmanager_wrapper.cpp b/src/platforms/mirserver/wayland-generated/qt-windowmanager_wrapper.cpp
+new file mode 100644
+index 00000000..b706cd5f
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-generated/qt-windowmanager_wrapper.cpp
+@@ -0,0 +1,177 @@
++/*
++ * AUTOGENERATED - DO NOT EDIT
++ *
++ * This file is generated from qt-windowmanager.xml by mir_wayland_generator
++ */
++
++#include "qt-windowmanager_wrapper.h"
++
++#include <boost/exception/diagnostic_information.hpp>
++#include <wayland-server-core.h>
++
++#include "mir/log.h"
++#include "mir/wayland/protocol_error.h"
++
++namespace mir
++{
++namespace wayland
++{
++extern struct wl_interface const qt_windowmanager_interface_data;
++}
++}
++
++namespace mw = mir::wayland;
++
++namespace
++{
++struct wl_interface const* all_null_types [] {
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr};
++}
++
++// Windowmanager
++
++struct mw::Windowmanager::Thunks
++{
++ static int const supported_version;
++
++ static void open_url_thunk(struct wl_client* client, struct wl_resource* resource, uint32_t remaining, char const* url)
++ {
++ try
++ {
++ auto me = static_cast<Windowmanager*>(wl_resource_get_user_data(resource));
++ me->open_url(remaining, url);
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "Windowmanager::open_url()");
++ }
++ }
++
++ static void resource_destroyed_thunk(wl_resource* resource)
++ {
++ delete static_cast<Windowmanager*>(wl_resource_get_user_data(resource));
++ }
++
++ static void bind_thunk(struct wl_client* client, void* data, uint32_t version, uint32_t id)
++ {
++ auto me = static_cast<Windowmanager::Global*>(data);
++ auto resource = wl_resource_create(
++ client,
++ &qt_windowmanager_interface_data,
++ std::min((int)version, Thunks::supported_version),
++ id);
++ if (resource == nullptr)
++ {
++ wl_client_post_no_memory(client);
++ BOOST_THROW_EXCEPTION((std::bad_alloc{}));
++ }
++ try
++ {
++ me->bind(resource);
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "Windowmanager global bind");
++ }
++ }
++
++ static struct wl_message const request_messages[];
++ static struct wl_message const event_messages[];
++ static void const* request_vtable[];
++};
++
++int const mw::Windowmanager::Thunks::supported_version = 1;
++
++mw::Windowmanager::Windowmanager(struct wl_resource* resource, Version<1>)
++ : Resource{resource}
++{
++ wl_resource_set_implementation(resource, Thunks::request_vtable, this, &Thunks::resource_destroyed_thunk);
++}
++
++mw::Windowmanager::~Windowmanager()
++{
++ wl_resource_set_implementation(resource, nullptr, nullptr, nullptr);
++}
++
++void mw::Windowmanager::send_hints_event(int32_t show_is_fullscreen) const
++{
++ wl_resource_post_event(resource, Opcode::hints, show_is_fullscreen);
++}
++
++void mw::Windowmanager::send_quit_event() const
++{
++ wl_resource_post_event(resource, Opcode::quit);
++}
++
++bool mw::Windowmanager::is_instance(wl_resource* resource)
++{
++ return wl_resource_instance_of(resource, &qt_windowmanager_interface_data, Thunks::request_vtable);
++}
++
++void mw::Windowmanager::destroy_and_delete() const
++{
++ // Will result in this object being deleted
++ wl_resource_destroy(resource);
++}
++
++mw::Windowmanager::Global::Global(wl_display* display, Version<1>)
++ : wayland::Global{
++ wl_global_create(
++ display,
++ &qt_windowmanager_interface_data,
++ Thunks::supported_version,
++ this,
++ &Thunks::bind_thunk)}
++{
++}
++
++auto mw::Windowmanager::Global::interface_name() const -> char const*
++{
++ return Windowmanager::interface_name;
++}
++
++struct wl_message const mw::Windowmanager::Thunks::request_messages[] {
++ {"open_url", "us", all_null_types}};
++
++struct wl_message const mw::Windowmanager::Thunks::event_messages[] {
++ {"hints", "i", all_null_types},
++ {"quit", "", all_null_types}};
++
++void const* mw::Windowmanager::Thunks::request_vtable[] {
++ (void*)Thunks::open_url_thunk};
++
++mw::Windowmanager* mw::Windowmanager::from(struct wl_resource* resource)
++{
++ if (resource &&
++ wl_resource_instance_of(resource, &qt_windowmanager_interface_data, Windowmanager::Thunks::request_vtable))
++ {
++ return static_cast<Windowmanager*>(wl_resource_get_user_data(resource));
++ }
++ else
++ {
++ return nullptr;
++ }
++}
++
++namespace mir
++{
++namespace wayland
++{
++
++struct wl_interface const qt_windowmanager_interface_data {
++ mw::Windowmanager::interface_name,
++ mw::Windowmanager::Thunks::supported_version,
++ 1, mw::Windowmanager::Thunks::request_messages,
++ 2, mw::Windowmanager::Thunks::event_messages};
++
++}
++}
+diff --git a/src/platforms/mirserver/wayland-generated/qt-windowmanager_wrapper.h b/src/platforms/mirserver/wayland-generated/qt-windowmanager_wrapper.h
+new file mode 100644
+index 00000000..00a7019a
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-generated/qt-windowmanager_wrapper.h
+@@ -0,0 +1,69 @@
++/*
++ * AUTOGENERATED - DO NOT EDIT
++ *
++ * This file is generated from qt-windowmanager.xml by mir_wayland_generator
++ */
++
++#ifndef MIR_FRONTEND_WAYLAND_QT_WINDOWMANAGER_XML_WRAPPER
++#define MIR_FRONTEND_WAYLAND_QT_WINDOWMANAGER_XML_WRAPPER
++
++#include <optional>
++
++#include "mir/fd.h"
++#include <wayland-server-core.h>
++
++#include "mir/wayland/resource.h"
++#include "mir/wayland/global.h"
++
++namespace mir
++{
++namespace wayland
++{
++
++class Windowmanager;
++
++class Windowmanager : public Resource
++{
++public:
++ static char const constexpr* interface_name = "qt_windowmanager";
++
++ static Windowmanager* from(struct wl_resource*);
++
++ Windowmanager(struct wl_resource* resource, Version<1>);
++ virtual ~Windowmanager();
++
++ void send_hints_event(int32_t show_is_fullscreen) const;
++ void send_quit_event() const;
++
++ void destroy_and_delete() const;
++
++ struct Opcode
++ {
++ static uint32_t const hints = 0;
++ static uint32_t const quit = 1;
++ };
++
++ struct Thunks;
++
++ static bool is_instance(wl_resource* resource);
++
++ class Global : public wayland::Global
++ {
++ public:
++ Global(wl_display* display, Version<1>);
++
++ auto interface_name() const -> char const* override;
++
++ private:
++ virtual void bind(wl_resource* new_qt_windowmanager) = 0;
++ friend Windowmanager::Thunks;
++ };
++
++private:
++ virtual void open_url(uint32_t remaining, std::string const& url) = 0;
++};
++
++}
++}
++
++#endif // MIR_FRONTEND_WAYLAND_QT_WINDOWMANAGER_XML_WRAPPER
+diff --git a/src/platforms/mirserver/wayland-generated/server-decoration_wrapper.cpp b/src/platforms/mirserver/wayland-generated/server-decoration_wrapper.cpp
+new file mode 100644
+index 00000000..18cf00f9
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-generated/server-decoration_wrapper.cpp
+@@ -0,0 +1,295 @@
++/*
++ * AUTOGENERATED - DO NOT EDIT
++ *
++ * This file is generated from server-decoration.xml by mir_wayland_generator
++ */
++
++#include "server-decoration_wrapper.h"
++
++#include <boost/exception/diagnostic_information.hpp>
++#include <wayland-server-core.h>
++
++#include "mir/log.h"
++#include "mir/wayland/protocol_error.h"
++
++namespace mir
++{
++namespace wayland
++{
++extern struct wl_interface const org_kde_kwin_server_decoration_interface_data;
++extern struct wl_interface const org_kde_kwin_server_decoration_manager_interface_data;
++extern struct wl_interface const wl_surface_interface_data;
++}
++}
++
++namespace mw = mir::wayland;
++
++namespace
++{
++struct wl_interface const* all_null_types [] {
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr};
++}
++
++// KwinServerDecorationManager
++
++struct mw::KwinServerDecorationManager::Thunks
++{
++ static int const supported_version;
++
++ static void create_thunk(struct wl_client* client, struct wl_resource* resource, uint32_t id, struct wl_resource* surface)
++ {
++ wl_resource* id_resolved{
++ wl_resource_create(client, &org_kde_kwin_server_decoration_interface_data, wl_resource_get_version(resource), id)};
++ if (id_resolved == nullptr)
++ {
++ wl_client_post_no_memory(client);
++ BOOST_THROW_EXCEPTION((std::bad_alloc{}));
++ }
++ try
++ {
++ auto me = static_cast<KwinServerDecorationManager*>(wl_resource_get_user_data(resource));
++ me->create(id_resolved, surface);
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "KwinServerDecorationManager::create()");
++ }
++ }
++
++ static void resource_destroyed_thunk(wl_resource* resource)
++ {
++ delete static_cast<KwinServerDecorationManager*>(wl_resource_get_user_data(resource));
++ }
++
++ static void bind_thunk(struct wl_client* client, void* data, uint32_t version, uint32_t id)
++ {
++ auto me = static_cast<KwinServerDecorationManager::Global*>(data);
++ auto resource = wl_resource_create(
++ client,
++ &org_kde_kwin_server_decoration_manager_interface_data,
++ std::min((int)version, Thunks::supported_version),
++ id);
++ if (resource == nullptr)
++ {
++ wl_client_post_no_memory(client);
++ BOOST_THROW_EXCEPTION((std::bad_alloc{}));
++ }
++ try
++ {
++ me->bind(resource);
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "KwinServerDecorationManager global bind");
++ }
++ }
++
++ static struct wl_interface const* create_types[];
++ static struct wl_message const request_messages[];
++ static struct wl_message const event_messages[];
++ static void const* request_vtable[];
++};
++
++int const mw::KwinServerDecorationManager::Thunks::supported_version = 1;
++
++mw::KwinServerDecorationManager::KwinServerDecorationManager(struct wl_resource* resource, Version<1>)
++ : Resource{resource}
++{
++ wl_resource_set_implementation(resource, Thunks::request_vtable, this, &Thunks::resource_destroyed_thunk);
++}
++
++mw::KwinServerDecorationManager::~KwinServerDecorationManager()
++{
++ wl_resource_set_implementation(resource, nullptr, nullptr, nullptr);
++}
++
++void mw::KwinServerDecorationManager::send_default_mode_event(uint32_t mode) const
++{
++ wl_resource_post_event(resource, Opcode::default_mode, mode);
++}
++
++bool mw::KwinServerDecorationManager::is_instance(wl_resource* resource)
++{
++ return wl_resource_instance_of(resource, &org_kde_kwin_server_decoration_manager_interface_data, Thunks::request_vtable);
++}
++
++void mw::KwinServerDecorationManager::destroy_and_delete() const
++{
++ // Will result in this object being deleted
++ wl_resource_destroy(resource);
++}
++
++uint32_t const mw::KwinServerDecorationManager::Mode::None;
++uint32_t const mw::KwinServerDecorationManager::Mode::Client;
++uint32_t const mw::KwinServerDecorationManager::Mode::Server;
++
++mw::KwinServerDecorationManager::Global::Global(wl_display* display, Version<1>)
++ : wayland::Global{
++ wl_global_create(
++ display,
++ &org_kde_kwin_server_decoration_manager_interface_data,
++ Thunks::supported_version,
++ this,
++ &Thunks::bind_thunk)}
++{
++}
++
++auto mw::KwinServerDecorationManager::Global::interface_name() const -> char const*
++{
++ return KwinServerDecorationManager::interface_name;
++}
++
++struct wl_interface const* mw::KwinServerDecorationManager::Thunks::create_types[] {
++ &org_kde_kwin_server_decoration_interface_data,
++ &wl_surface_interface_data};
++
++struct wl_message const mw::KwinServerDecorationManager::Thunks::request_messages[] {
++ {"create", "no", create_types}};
++
++struct wl_message const mw::KwinServerDecorationManager::Thunks::event_messages[] {
++ {"default_mode", "u", all_null_types}};
++
++void const* mw::KwinServerDecorationManager::Thunks::request_vtable[] {
++ (void*)Thunks::create_thunk};
++
++mw::KwinServerDecorationManager* mw::KwinServerDecorationManager::from(struct wl_resource* resource)
++{
++ if (resource &&
++ wl_resource_instance_of(resource, &org_kde_kwin_server_decoration_manager_interface_data, KwinServerDecorationManager::Thunks::request_vtable))
++ {
++ return static_cast<KwinServerDecorationManager*>(wl_resource_get_user_data(resource));
++ }
++ else
++ {
++ return nullptr;
++ }
++}
++
++// KwinServerDecoration
++
++struct mw::KwinServerDecoration::Thunks
++{
++ static int const supported_version;
++
++ static void release_thunk(struct wl_client* client, struct wl_resource* resource)
++ {
++ try
++ {
++ wl_resource_destroy(resource);
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "KwinServerDecoration::release()");
++ }
++ }
++
++ static void request_mode_thunk(struct wl_client* client, struct wl_resource* resource, uint32_t mode)
++ {
++ try
++ {
++ auto me = static_cast<KwinServerDecoration*>(wl_resource_get_user_data(resource));
++ me->request_mode(mode);
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "KwinServerDecoration::request_mode()");
++ }
++ }
++
++ static void resource_destroyed_thunk(wl_resource* resource)
++ {
++ delete static_cast<KwinServerDecoration*>(wl_resource_get_user_data(resource));
++ }
++
++ static struct wl_message const request_messages[];
++ static struct wl_message const event_messages[];
++ static void const* request_vtable[];
++};
++
++int const mw::KwinServerDecoration::Thunks::supported_version = 1;
++
++mw::KwinServerDecoration::KwinServerDecoration(struct wl_resource* resource, Version<1>)
++ : Resource{resource}
++{
++ wl_resource_set_implementation(resource, Thunks::request_vtable, this, &Thunks::resource_destroyed_thunk);
++}
++
++mw::KwinServerDecoration::~KwinServerDecoration()
++{
++ wl_resource_set_implementation(resource, nullptr, nullptr, nullptr);
++}
++
++void mw::KwinServerDecoration::send_mode_event(uint32_t mode) const
++{
++ wl_resource_post_event(resource, Opcode::mode, mode);
++}
++
++bool mw::KwinServerDecoration::is_instance(wl_resource* resource)
++{
++ return wl_resource_instance_of(resource, &org_kde_kwin_server_decoration_interface_data, Thunks::request_vtable);
++}
++
++uint32_t const mw::KwinServerDecoration::Mode::None;
++uint32_t const mw::KwinServerDecoration::Mode::Client;
++uint32_t const mw::KwinServerDecoration::Mode::Server;
++
++struct wl_message const mw::KwinServerDecoration::Thunks::request_messages[] {
++ {"release", "", all_null_types},
++ {"request_mode", "u", all_null_types}};
++
++struct wl_message const mw::KwinServerDecoration::Thunks::event_messages[] {
++ {"mode", "u", all_null_types}};
++
++void const* mw::KwinServerDecoration::Thunks::request_vtable[] {
++ (void*)Thunks::release_thunk,
++ (void*)Thunks::request_mode_thunk};
++
++mw::KwinServerDecoration* mw::KwinServerDecoration::from(struct wl_resource* resource)
++{
++ if (resource &&
++ wl_resource_instance_of(resource, &org_kde_kwin_server_decoration_interface_data, KwinServerDecoration::Thunks::request_vtable))
++ {
++ return static_cast<KwinServerDecoration*>(wl_resource_get_user_data(resource));
++ }
++ else
++ {
++ return nullptr;
++ }
++}
++
++namespace mir
++{
++namespace wayland
++{
++
++struct wl_interface const org_kde_kwin_server_decoration_manager_interface_data {
++ mw::KwinServerDecorationManager::interface_name,
++ mw::KwinServerDecorationManager::Thunks::supported_version,
++ 1, mw::KwinServerDecorationManager::Thunks::request_messages,
++ 1, mw::KwinServerDecorationManager::Thunks::event_messages};
++
++struct wl_interface const org_kde_kwin_server_decoration_interface_data {
++ mw::KwinServerDecoration::interface_name,
++ mw::KwinServerDecoration::Thunks::supported_version,
++ 2, mw::KwinServerDecoration::Thunks::request_messages,
++ 1, mw::KwinServerDecoration::Thunks::event_messages};
++
++}
++}
+diff --git a/src/platforms/mirserver/wayland-generated/server-decoration_wrapper.h b/src/platforms/mirserver/wayland-generated/server-decoration_wrapper.h
+new file mode 100644
+index 00000000..87a42d47
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-generated/server-decoration_wrapper.h
+@@ -0,0 +1,107 @@
++/*
++ * AUTOGENERATED - DO NOT EDIT
++ *
++ * This file is generated from server-decoration.xml by mir_wayland_generator
++ */
++
++#ifndef MIR_FRONTEND_WAYLAND_SERVER_DECORATION_XML_WRAPPER
++#define MIR_FRONTEND_WAYLAND_SERVER_DECORATION_XML_WRAPPER
++
++#include <optional>
++
++#include "mir/fd.h"
++#include <wayland-server-core.h>
++
++#include "mir/wayland/resource.h"
++#include "mir/wayland/global.h"
++
++namespace mir
++{
++namespace wayland
++{
++
++class KwinServerDecorationManager;
++class KwinServerDecoration;
++
++class KwinServerDecorationManager : public Resource
++{
++public:
++ static char const constexpr* interface_name = "org_kde_kwin_server_decoration_manager";
++
++ static KwinServerDecorationManager* from(struct wl_resource*);
++
++ KwinServerDecorationManager(struct wl_resource* resource, Version<1>);
++ virtual ~KwinServerDecorationManager();
++
++ void send_default_mode_event(uint32_t mode) const;
++
++ void destroy_and_delete() const;
++
++ struct Mode
++ {
++ static uint32_t const None = 0;
++ static uint32_t const Client = 1;
++ static uint32_t const Server = 2;
++ };
++
++ struct Opcode
++ {
++ static uint32_t const default_mode = 0;
++ };
++
++ struct Thunks;
++
++ static bool is_instance(wl_resource* resource);
++
++ class Global : public wayland::Global
++ {
++ public:
++ Global(wl_display* display, Version<1>);
++
++ auto interface_name() const -> char const* override;
++
++ private:
++ virtual void bind(wl_resource* new_org_kde_kwin_server_decoration_manager) = 0;
++ friend KwinServerDecorationManager::Thunks;
++ };
++
++private:
++ virtual void create(struct wl_resource* id, struct wl_resource* surface) = 0;
++};
++
++class KwinServerDecoration : public Resource
++{
++public:
++ static char const constexpr* interface_name = "org_kde_kwin_server_decoration";
++
++ static KwinServerDecoration* from(struct wl_resource*);
++
++ KwinServerDecoration(struct wl_resource* resource, Version<1>);
++ virtual ~KwinServerDecoration();
++
++ void send_mode_event(uint32_t mode) const;
++
++ struct Mode
++ {
++ static uint32_t const None = 0;
++ static uint32_t const Client = 1;
++ static uint32_t const Server = 2;
++ };
++
++ struct Opcode
++ {
++ static uint32_t const mode = 0;
++ };
++
++ struct Thunks;
++
++ static bool is_instance(wl_resource* resource);
++
++private:
++ virtual void request_mode(uint32_t mode) = 0;
++};
++
++}
++}
++
++#endif // MIR_FRONTEND_WAYLAND_SERVER_DECORATION_XML_WRAPPER
+diff --git a/src/platforms/mirserver/wayland-generated/xdg-decoration-unstable-v1_wrapper.cpp b/src/platforms/mirserver/wayland-generated/xdg-decoration-unstable-v1_wrapper.cpp
+new file mode 100644
+index 00000000..d40d19b7
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-generated/xdg-decoration-unstable-v1_wrapper.cpp
+@@ -0,0 +1,315 @@
++/*
++ * AUTOGENERATED - DO NOT EDIT
++ *
++ * This file is generated from xdg-decoration-unstable-v1.xml by mir_wayland_generator
++ */
++
++#include "xdg-decoration-unstable-v1_wrapper.h"
++
++#include <boost/exception/diagnostic_information.hpp>
++#include <wayland-server-core.h>
++
++#include "mir/log.h"
++#include "mir/wayland/protocol_error.h"
++
++namespace mir
++{
++namespace wayland
++{
++extern struct wl_interface const xdg_toplevel_interface_data;
++extern struct wl_interface const zxdg_decoration_manager_v1_interface_data;
++extern struct wl_interface const zxdg_toplevel_decoration_v1_interface_data;
++}
++}
++
++namespace mw = mir::wayland;
++
++namespace
++{
++struct wl_interface const* all_null_types [] {
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr,
++ nullptr};
++}
++
++// XdgDecorationManagerV1
++
++struct mw::XdgDecorationManagerV1::Thunks
++{
++ static int const supported_version;
++
++ static void destroy_thunk(struct wl_client* client, struct wl_resource* resource)
++ {
++ try
++ {
++ wl_resource_destroy(resource);
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "XdgDecorationManagerV1::destroy()");
++ }
++ }
++
++ static void get_toplevel_decoration_thunk(struct wl_client* client, struct wl_resource* resource, uint32_t id, struct wl_resource* toplevel)
++ {
++ wl_resource* id_resolved{
++ wl_resource_create(client, &zxdg_toplevel_decoration_v1_interface_data, wl_resource_get_version(resource), id)};
++ if (id_resolved == nullptr)
++ {
++ wl_client_post_no_memory(client);
++ BOOST_THROW_EXCEPTION((std::bad_alloc{}));
++ }
++ try
++ {
++ auto me = static_cast<XdgDecorationManagerV1*>(wl_resource_get_user_data(resource));
++ me->get_toplevel_decoration(id_resolved, toplevel);
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "XdgDecorationManagerV1::get_toplevel_decoration()");
++ }
++ }
++
++ static void resource_destroyed_thunk(wl_resource* resource)
++ {
++ delete static_cast<XdgDecorationManagerV1*>(wl_resource_get_user_data(resource));
++ }
++
++ static void bind_thunk(struct wl_client* client, void* data, uint32_t version, uint32_t id)
++ {
++ auto me = static_cast<XdgDecorationManagerV1::Global*>(data);
++ auto resource = wl_resource_create(
++ client,
++ &zxdg_decoration_manager_v1_interface_data,
++ std::min((int)version, Thunks::supported_version),
++ id);
++ if (resource == nullptr)
++ {
++ wl_client_post_no_memory(client);
++ BOOST_THROW_EXCEPTION((std::bad_alloc{}));
++ }
++ try
++ {
++ me->bind(resource);
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "XdgDecorationManagerV1 global bind");
++ }
++ }
++
++ static struct wl_interface const* get_toplevel_decoration_types[];
++ static struct wl_message const request_messages[];
++ static void const* request_vtable[];
++};
++
++int const mw::XdgDecorationManagerV1::Thunks::supported_version = 1;
++
++mw::XdgDecorationManagerV1::XdgDecorationManagerV1(struct wl_resource* resource, Version<1>)
++ : Resource{resource}
++{
++ wl_resource_set_implementation(resource, Thunks::request_vtable, this, &Thunks::resource_destroyed_thunk);
++}
++
++mw::XdgDecorationManagerV1::~XdgDecorationManagerV1()
++{
++ wl_resource_set_implementation(resource, nullptr, nullptr, nullptr);
++}
++
++bool mw::XdgDecorationManagerV1::is_instance(wl_resource* resource)
++{
++ return wl_resource_instance_of(resource, &zxdg_decoration_manager_v1_interface_data, Thunks::request_vtable);
++}
++
++mw::XdgDecorationManagerV1::Global::Global(wl_display* display, Version<1>)
++ : wayland::Global{
++ wl_global_create(
++ display,
++ &zxdg_decoration_manager_v1_interface_data,
++ Thunks::supported_version,
++ this,
++ &Thunks::bind_thunk)}
++{
++}
++
++auto mw::XdgDecorationManagerV1::Global::interface_name() const -> char const*
++{
++ return XdgDecorationManagerV1::interface_name;
++}
++
++struct wl_interface const* mw::XdgDecorationManagerV1::Thunks::get_toplevel_decoration_types[] {
++ &zxdg_toplevel_decoration_v1_interface_data,
++ &xdg_toplevel_interface_data};
++
++struct wl_message const mw::XdgDecorationManagerV1::Thunks::request_messages[] {
++ {"destroy", "", all_null_types},
++ {"get_toplevel_decoration", "no", get_toplevel_decoration_types}};
++
++void const* mw::XdgDecorationManagerV1::Thunks::request_vtable[] {
++ (void*)Thunks::destroy_thunk,
++ (void*)Thunks::get_toplevel_decoration_thunk};
++
++mw::XdgDecorationManagerV1* mw::XdgDecorationManagerV1::from(struct wl_resource* resource)
++{
++ if (resource &&
++ wl_resource_instance_of(resource, &zxdg_decoration_manager_v1_interface_data, XdgDecorationManagerV1::Thunks::request_vtable))
++ {
++ return static_cast<XdgDecorationManagerV1*>(wl_resource_get_user_data(resource));
++ }
++ else
++ {
++ return nullptr;
++ }
++}
++
++// XdgToplevelDecorationV1
++
++struct mw::XdgToplevelDecorationV1::Thunks
++{
++ static int const supported_version;
++
++ static void destroy_thunk(struct wl_client* client, struct wl_resource* resource)
++ {
++ try
++ {
++ wl_resource_destroy(resource);
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "XdgToplevelDecorationV1::destroy()");
++ }
++ }
++
++ static void set_mode_thunk(struct wl_client* client, struct wl_resource* resource, uint32_t mode)
++ {
++ try
++ {
++ auto me = static_cast<XdgToplevelDecorationV1*>(wl_resource_get_user_data(resource));
++ me->set_mode(mode);
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "XdgToplevelDecorationV1::set_mode()");
++ }
++ }
++
++ static void unset_mode_thunk(struct wl_client* client, struct wl_resource* resource)
++ {
++ try
++ {
++ auto me = static_cast<XdgToplevelDecorationV1*>(wl_resource_get_user_data(resource));
++ me->unset_mode();
++ }
++ catch(ProtocolError const& err)
++ {
++ wl_resource_post_error(err.resource(), err.code(), "%s", err.message());
++ }
++ catch(...)
++ {
++ internal_error_processing_request(client, "XdgToplevelDecorationV1::unset_mode()");
++ }
++ }
++
++ static void resource_destroyed_thunk(wl_resource* resource)
++ {
++ delete static_cast<XdgToplevelDecorationV1*>(wl_resource_get_user_data(resource));
++ }
++
++ static struct wl_message const request_messages[];
++ static struct wl_message const event_messages[];
++ static void const* request_vtable[];
++};
++
++int const mw::XdgToplevelDecorationV1::Thunks::supported_version = 1;
++
++mw::XdgToplevelDecorationV1::XdgToplevelDecorationV1(struct wl_resource* resource, Version<1>)
++ : Resource{resource}
++{
++ wl_resource_set_implementation(resource, Thunks::request_vtable, this, &Thunks::resource_destroyed_thunk);
++}
++
++mw::XdgToplevelDecorationV1::~XdgToplevelDecorationV1()
++{
++ wl_resource_set_implementation(resource, nullptr, nullptr, nullptr);
++}
++
++void mw::XdgToplevelDecorationV1::send_configure_event(uint32_t mode) const
++{
++ wl_resource_post_event(resource, Opcode::configure, mode);
++}
++
++bool mw::XdgToplevelDecorationV1::is_instance(wl_resource* resource)
++{
++ return wl_resource_instance_of(resource, &zxdg_toplevel_decoration_v1_interface_data, Thunks::request_vtable);
++}
++
++uint32_t const mw::XdgToplevelDecorationV1::Error::unconfigured_buffer;
++uint32_t const mw::XdgToplevelDecorationV1::Error::already_constructed;
++uint32_t const mw::XdgToplevelDecorationV1::Error::orphaned;
++uint32_t const mw::XdgToplevelDecorationV1::Mode::client_side;
++uint32_t const mw::XdgToplevelDecorationV1::Mode::server_side;
++
++struct wl_message const mw::XdgToplevelDecorationV1::Thunks::request_messages[] {
++ {"destroy", "", all_null_types},
++ {"set_mode", "u", all_null_types},
++ {"unset_mode", "", all_null_types}};
++
++struct wl_message const mw::XdgToplevelDecorationV1::Thunks::event_messages[] {
++ {"configure", "u", all_null_types}};
++
++void const* mw::XdgToplevelDecorationV1::Thunks::request_vtable[] {
++ (void*)Thunks::destroy_thunk,
++ (void*)Thunks::set_mode_thunk,
++ (void*)Thunks::unset_mode_thunk};
++
++mw::XdgToplevelDecorationV1* mw::XdgToplevelDecorationV1::from(struct wl_resource* resource)
++{
++ if (resource &&
++ wl_resource_instance_of(resource, &zxdg_toplevel_decoration_v1_interface_data, XdgToplevelDecorationV1::Thunks::request_vtable))
++ {
++ return static_cast<XdgToplevelDecorationV1*>(wl_resource_get_user_data(resource));
++ }
++ else
++ {
++ return nullptr;
++ }
++}
++
++namespace mir
++{
++namespace wayland
++{
++
++struct wl_interface const zxdg_decoration_manager_v1_interface_data {
++ mw::XdgDecorationManagerV1::interface_name,
++ mw::XdgDecorationManagerV1::Thunks::supported_version,
++ 2, mw::XdgDecorationManagerV1::Thunks::request_messages,
++ 0, nullptr};
++
++struct wl_interface const zxdg_toplevel_decoration_v1_interface_data {
++ mw::XdgToplevelDecorationV1::interface_name,
++ mw::XdgToplevelDecorationV1::Thunks::supported_version,
++ 3, mw::XdgToplevelDecorationV1::Thunks::request_messages,
++ 1, mw::XdgToplevelDecorationV1::Thunks::event_messages};
++
++}
++}
+diff --git a/src/platforms/mirserver/wayland-generated/xdg-decoration-unstable-v1_wrapper.h b/src/platforms/mirserver/wayland-generated/xdg-decoration-unstable-v1_wrapper.h
+new file mode 100644
+index 00000000..7483ba44
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-generated/xdg-decoration-unstable-v1_wrapper.h
+@@ -0,0 +1,98 @@
++/*
++ * AUTOGENERATED - DO NOT EDIT
++ *
++ * This file is generated from xdg-decoration-unstable-v1.xml by mir_wayland_generator
++ */
++
++#ifndef MIR_FRONTEND_WAYLAND_XDG_DECORATION_UNSTABLE_V1_XML_WRAPPER
++#define MIR_FRONTEND_WAYLAND_XDG_DECORATION_UNSTABLE_V1_XML_WRAPPER
++
++#include <optional>
++
++#include "mir/fd.h"
++#include <wayland-server-core.h>
++
++#include "mir/wayland/resource.h"
++#include "mir/wayland/global.h"
++
++namespace mir
++{
++namespace wayland
++{
++
++class XdgDecorationManagerV1;
++class XdgToplevelDecorationV1;
++
++class XdgDecorationManagerV1 : public Resource
++{
++public:
++ static char const constexpr* interface_name = "zxdg_decoration_manager_v1";
++
++ static XdgDecorationManagerV1* from(struct wl_resource*);
++
++ XdgDecorationManagerV1(struct wl_resource* resource, Version<1>);
++ virtual ~XdgDecorationManagerV1();
++
++ struct Thunks;
++
++ static bool is_instance(wl_resource* resource);
++
++ class Global : public wayland::Global
++ {
++ public:
++ Global(wl_display* display, Version<1>);
++
++ auto interface_name() const -> char const* override;
++
++ private:
++ virtual void bind(wl_resource* new_zxdg_decoration_manager_v1) = 0;
++ friend XdgDecorationManagerV1::Thunks;
++ };
++
++private:
++ virtual void get_toplevel_decoration(struct wl_resource* id, struct wl_resource* toplevel) = 0;
++};
++
++class XdgToplevelDecorationV1 : public Resource
++{
++public:
++ static char const constexpr* interface_name = "zxdg_toplevel_decoration_v1";
++
++ static XdgToplevelDecorationV1* from(struct wl_resource*);
++
++ XdgToplevelDecorationV1(struct wl_resource* resource, Version<1>);
++ virtual ~XdgToplevelDecorationV1();
++
++ void send_configure_event(uint32_t mode) const;
++
++ struct Error
++ {
++ static uint32_t const unconfigured_buffer = 0;
++ static uint32_t const already_constructed = 1;
++ static uint32_t const orphaned = 2;
++ };
++
++ struct Mode
++ {
++ static uint32_t const client_side = 1;
++ static uint32_t const server_side = 2;
++ };
++
++ struct Opcode
++ {
++ static uint32_t const configure = 0;
++ };
++
++ struct Thunks;
++
++ static bool is_instance(wl_resource* resource);
++
++private:
++ virtual void set_mode(uint32_t mode) = 0;
++ virtual void unset_mode() = 0;
++};
++
++}
++}
++
++#endif // MIR_FRONTEND_WAYLAND_XDG_DECORATION_UNSTABLE_V1_XML_WRAPPER
+diff --git a/src/platforms/mirserver/wayland-protocols/qt-windowmanager.xml b/src/platforms/mirserver/wayland-protocols/qt-windowmanager.xml
+new file mode 100644
+index 00000000..86ddff72
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-protocols/qt-windowmanager.xml
+@@ -0,0 +1,58 @@
++<protocol name="qt_windowmanager">
++
++ <copyright>
++ Copyright (C) 2015 The Qt Company Ltd.
++ Contact: http://www.qt.io/licensing/
++
++ This file is part of the plugins of the Qt Toolkit.
++
++ $QT_BEGIN_LICENSE:BSD$
++ You may use this file under the terms of the BSD license as follows:
++
++ "Redistribution and use in source and binary forms, with or without
++ modification, are permitted provided that the following conditions are
++ met:
++ * Redistributions of source code must retain the above copyright
++ notice, this list of conditions and the following disclaimer.
++ * Redistributions in binary form must reproduce the above copyright
++ notice, this list of conditions and the following disclaimer in
++ the documentation and/or other materials provided with the
++ distribution.
++ * Neither the name of The Qt Company Ltd nor the names of its
++ contributors may be used to endorse or promote products derived
++ from this software without specific prior written permission.
++
++
++ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
++ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
++ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
++ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
++ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
++ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
++ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
++ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
++ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
++
++ $QT_END_LICENSE$
++ </copyright>
++
++ <interface name="qt_windowmanager" version="1">
++ <request name="open_url">
++ <description summary="client requests a url to be opened">
++ If remaining is not 0 this is a multipart request, and
++ the server must concatenate subsequent requst urls to and
++ including a request where remaining is set to 0, before
++ it can handle the url.
++ </description>
++ <arg name="remaining" type="uint" />
++ <arg name="url" type="string" />
++ </request>
++ <event name="hints">
++ <arg name="show_is_fullscreen" type="int"/>
++ </event>
++ <event name="quit">
++ </event>
++ </interface>
++</protocol>
+diff --git a/src/platforms/mirserver/wayland-protocols/server-decoration.xml b/src/platforms/mirserver/wayland-protocols/server-decoration.xml
+new file mode 100644
+index 00000000..b70bec12
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-protocols/server-decoration.xml
+@@ -0,0 +1,85 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<protocol name="server_decoration">
++ <copyright><![CDATA[
++ SPDX-FileCopyrightText: 2015 Martin Gräßlin
++
++ SPDX-License-Identifier: LGPL-2.1-or-later
++ ]]></copyright>
++ <interface name="org_kde_kwin_server_decoration_manager" version="1">
++ <description summary="Server side window decoration manager">
++ This interface allows to coordinate whether the server should create
++ a server-side window decoration around a wl_surface representing a
++ shell surface (wl_shell_surface or similar). By announcing support
++ for this interface the server indicates that it supports server
++ side decorations.
++
++ Use in conjunction with zxdg_decoration_manager_v1 is undefined.
++ </description>
++ <request name="create">
++ <description summary="Create a server-side decoration object for a given surface">
++ When a client creates a server-side decoration object it indicates
++ that it supports the protocol. The client is supposed to tell the
++ server whether it wants server-side decorations or will provide
++ client-side decorations.
++
++ If the client does not create a server-side decoration object for
++ a surface the server interprets this as lack of support for this
++ protocol and considers it as client-side decorated. Nevertheless a
++ client-side decorated surface should use this protocol to indicate
++ to the server that it does not want a server-side deco.
++ </description>
++ <arg name="id" type="new_id" interface="org_kde_kwin_server_decoration"/>
++ <arg name="surface" type="object" interface="wl_surface"/>
++ </request>
++ <enum name="mode">
++ <description summary="Possible values to use in request_mode and the event mode."/>
++ <entry name="None" value="0" summary="Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated."/>
++ <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
++ <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
++ </enum>
++ <event name="default_mode">
++ <description summary="The default mode used on the server">
++ This event is emitted directly after binding the interface. It contains
++ the default mode for the decoration. When a new server decoration object
++ is created this new object will be in the default mode until the first
++ request_mode is requested.
++
++ The server may change the default mode at any time.
++ </description>
++ <arg name="mode" type="uint" summary="The default decoration mode applied to newly created server decorations."/>
++ </event>
++ </interface>
++ <interface name="org_kde_kwin_server_decoration" version="1">
++ <request name="release" type="destructor">
++ <description summary="release the server decoration object"/>
++ </request>
++ <enum name="mode">
++ <description summary="Possible values to use in request_mode and the event mode."/>
++ <entry name="None" value="0" summary="Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated."/>
++ <entry name="Client" value="1" summary="Client-side decoration: The decoration is part of the surface and the client."/>
++ <entry name="Server" value="2" summary="Server-side decoration: The server embeds the surface into a decoration frame."/>
++ </enum>
++ <request name="request_mode">
++ <description summary="The decoration mode the surface wants to use."/>
++ <arg name="mode" type="uint" summary="The mode this surface wants to use."/>
++ </request>
++ <event name="mode">
++ <description summary="The new decoration mode applied by the server">
++ This event is emitted directly after the decoration is created and
++ represents the base decoration policy by the server. E.g. a server
++ which wants all surfaces to be client-side decorated will send Client,
++ a server which wants server-side decoration will send Server.
++
++ The client can request a different mode through the decoration request.
++ The server will acknowledge this by another event with the same mode. So
++ even if a server prefers server-side decoration it's possible to force a
++ client-side decoration.
++
++ The server may emit this event at any time. In this case the client can
++ again request a different mode. It's the responsibility of the server to
++ prevent a feedback loop.
++ </description>
++ <arg name="mode" type="uint" summary="The decoration mode applied to the surface by the server."/>
++ </event>
++ </interface>
++</protocol>
+diff --git a/src/platforms/mirserver/wayland-protocols/xdg-decoration-unstable-v1.xml b/src/platforms/mirserver/wayland-protocols/xdg-decoration-unstable-v1.xml
+new file mode 100644
+index 00000000..e5967751
+--- /dev/null
++++ b/src/platforms/mirserver/wayland-protocols/xdg-decoration-unstable-v1.xml
+@@ -0,0 +1,156 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<protocol name="xdg_decoration_unstable_v1">
++ <copyright>
++ Copyright © 2018 Simon Ser
++
++ Permission is hereby granted, free of charge, to any person obtaining a
++ copy of this software and associated documentation files (the "Software"),
++ to deal in the Software without restriction, including without limitation
++ the rights to use, copy, modify, merge, publish, distribute, sublicense,
++ and/or sell copies of the Software, and to permit persons to whom the
++ Software is furnished to do so, subject to the following conditions:
++
++ The above copyright notice and this permission notice (including the next
++ paragraph) shall be included in all copies or substantial portions of the
++ Software.
++
++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ DEALINGS IN THE SOFTWARE.
++ </copyright>
++
++ <interface name="zxdg_decoration_manager_v1" version="1">
++ <description summary="window decoration manager">
++ This interface allows a compositor to announce support for server-side
++ decorations.
++
++ A window decoration is a set of window controls as deemed appropriate by
++ the party managing them, such as user interface components used to move,
++ resize and change a window's state.
++
++ A client can use this protocol to request being decorated by a supporting
++ compositor.
++
++ If compositor and client do not negotiate the use of a server-side
++ decoration using this protocol, clients continue to self-decorate as they
++ see fit.
++
++ Warning! The protocol described in this file is experimental and
++ backward incompatible changes may be made. Backward compatible changes
++ may be added together with the corresponding interface version bump.
++ Backward incompatible changes are done by bumping the version number in
++ the protocol and interface names and resetting the interface version.
++ Once the protocol is to be declared stable, the 'z' prefix and the
++ version number in the protocol and interface names are removed and the
++ interface version number is reset.
++ </description>
++
++ <request name="destroy" type="destructor">
++ <description summary="destroy the decoration manager object">
++ Destroy the decoration manager. This doesn't destroy objects created
++ with the manager.
++ </description>
++ </request>
++
++ <request name="get_toplevel_decoration">
++ <description summary="create a new toplevel decoration object">
++ Create a new decoration object associated with the given toplevel.
++
++ Creating an xdg_toplevel_decoration from an xdg_toplevel which has a
++ buffer attached or committed is a client error, and any attempts by a
++ client to attach or manipulate a buffer prior to the first
++ xdg_toplevel_decoration.configure event must also be treated as
++ errors.
++ </description>
++ <arg name="id" type="new_id" interface="zxdg_toplevel_decoration_v1"/>
++ <arg name="toplevel" type="object" interface="xdg_toplevel"/>
++ </request>
++ </interface>
++
++ <interface name="zxdg_toplevel_decoration_v1" version="1">
++ <description summary="decoration object for a toplevel surface">
++ The decoration object allows the compositor to toggle server-side window
++ decorations for a toplevel surface. The client can request to switch to
++ another mode.
++
++ The xdg_toplevel_decoration object must be destroyed before its
++ xdg_toplevel.
++ </description>
++
++ <enum name="error">
++ <entry name="unconfigured_buffer" value="0"
++ summary="xdg_toplevel has a buffer attached before configure"/>
++ <entry name="already_constructed" value="1"
++ summary="xdg_toplevel already has a decoration object"/>
++ <entry name="orphaned" value="2"
++ summary="xdg_toplevel destroyed before the decoration object"/>
++ </enum>
++
++ <request name="destroy" type="destructor">
++ <description summary="destroy the decoration object">
++ Switch back to a mode without any server-side decorations at the next
++ commit.
++ </description>
++ </request>
++
++ <enum name="mode">
++ <description summary="window decoration modes">
++ These values describe window decoration modes.
++ </description>
++ <entry name="client_side" value="1"
++ summary="no server-side window decoration"/>
++ <entry name="server_side" value="2"
++ summary="server-side window decoration"/>
++ </enum>
++
++ <request name="set_mode">
++ <description summary="set the decoration mode">
++ Set the toplevel surface decoration mode. This informs the compositor
++ that the client prefers the provided decoration mode.
++
++ After requesting a decoration mode, the compositor will respond by
++ emitting an xdg_surface.configure event. The client should then update
++ its content, drawing it without decorations if the received mode is
++ server-side decorations. The client must also acknowledge the configure
++ when committing the new content (see xdg_surface.ack_configure).
++
++ The compositor can decide not to use the client's mode and enforce a
++ different mode instead.
++
++ Clients whose decoration mode depend on the xdg_toplevel state may send
++ a set_mode request in response to an xdg_surface.configure event and wait
++ for the next xdg_surface.configure event to prevent unwanted state.
++ Such clients are responsible for preventing configure loops and must
++ make sure not to send multiple successive set_mode requests with the
++ same decoration mode.
++ </description>
++ <arg name="mode" type="uint" enum="mode" summary="the decoration mode"/>
++ </request>
++
++ <request name="unset_mode">
++ <description summary="unset the decoration mode">
++ Unset the toplevel surface decoration mode. This informs the compositor
++ that the client doesn't prefer a particular decoration mode.
++
++ This request has the same semantics as set_mode.
++ </description>
++ </request>
++
++ <event name="configure">
++ <description summary="suggest a surface change">
++ The configure event asks the client to change its decoration mode. The
++ configured state should not be applied immediately. Clients must send an
++ ack_configure in response to this event. See xdg_surface.configure and
++ xdg_surface.ack_configure for details.
++
++ A configure event can be sent at any time. The specified mode must be
++ obeyed by the client.
++ </description>
++ <arg name="mode" type="uint" enum="mode" summary="the decoration mode"/>
++ </event>
++ </interface>
++</protocol>
+diff --git a/src/platforms/mirserver/wayland/kwinserverdecoration.cpp b/src/platforms/mirserver/wayland/kwinserverdecoration.cpp
+new file mode 100644
+index 00000000..8ecb9988
+--- /dev/null
++++ b/src/platforms/mirserver/wayland/kwinserverdecoration.cpp
+@@ -0,0 +1,109 @@
++/*
++ * Copyright (C) 2020 UBports Foundation
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "kwinserverdecoration.h"
++#include "services.h"
++
++#include <wayland-generated/server-decoration_wrapper.h>
++
++#include <QDebug>
++
++using namespace mir::wayland;
++using namespace miral;
++
++namespace
++{
++
++class QtKwinServerDecoration : public KwinServerDecoration
++{
++public:
++ using KwinServerDecoration::KwinServerDecoration;
++
++ QtKwinServerDecoration(struct wl_resource* resource, struct wl_resource* surface, qtmir::WindowModelNotifier &windowModel) :
++ KwinServerDecoration(resource, Version<1>{}),
++ m_windowModel(windowModel),
++ surface(surface)
++ {
++ send_mode_event(Mode::Server);
++ };
++
++ void request_mode(uint32_t mode) override {
++ qDebug() << "set KDE mode: " << mode;
++ auto win = miral::window_for(resource);
++
++ Q_EMIT m_windowModel.windowDecorationChanged(win, mode == Mode::Server);
++ send_mode_event(mode);
++ };
++private:
++ qtmir::WindowModelNotifier &m_windowModel;
++ struct wl_resource* surface;
++};
++
++class QtKwinServerDecorationManager : public KwinServerDecorationManager
++{
++public:
++ using KwinServerDecorationManager::KwinServerDecorationManager;
++
++ QtKwinServerDecorationManager(struct wl_resource*, qtmir::WindowModelNotifier &windowModel);
++
++ void create(struct wl_resource* id, struct wl_resource* surface) override {
++ new QtKwinServerDecoration{id, surface, m_windowModel};
++ };
++private:
++ qtmir::WindowModelNotifier &m_windowModel;
++};
++
++
++
++QtKwinServerDecorationManager::QtKwinServerDecorationManager(
++ struct wl_resource* resource, qtmir::WindowModelNotifier &windowModel) :
++ KwinServerDecorationManager{resource, Version<1>{}},
++ m_windowModel(windowModel)
++{
++ send_default_mode_event(Mode::Server);
++}
++
++class MyGlobal : public KwinServerDecorationManager::Global
++{
++public:
++ explicit MyGlobal(wl_display* display, qtmir::WindowModelNotifier &windowModel);
++
++ void bind(wl_resource* new_xdgdecormanager) override;
++
++private:
++ qtmir::WindowModelNotifier &m_windowModel;
++};
++
++}
++
++MyGlobal::MyGlobal(wl_display* display, qtmir::WindowModelNotifier &windowModel) :
++ Global(display, Version<1>{}), m_windowModel(windowModel)
++{
++}
++
++void MyGlobal::bind(wl_resource* new_kdedecormanager)
++{
++ new QtKwinServerDecorationManager{new_kdedecormanager, m_windowModel};
++}
++
++auto qtmir::qtKwinServerDecorationManagerExtension(qtmir::WindowModelNotifier &windowModel) -> WaylandExtensions::Builder {
++ return {
++ KwinServerDecorationManager::interface_name,
++ [&](WaylandExtensions::Context const* context) {
++ return std::make_shared<MyGlobal>(context->display(), windowModel);
++ }
++ };
++}
+diff --git a/src/platforms/mirserver/wayland/kwinserverdecoration.h b/src/platforms/mirserver/wayland/kwinserverdecoration.h
+new file mode 100644
+index 00000000..c7513028
+--- /dev/null
++++ b/src/platforms/mirserver/wayland/kwinserverdecoration.h
+@@ -0,0 +1,34 @@
++/*
++ * Copyright (C) 2020 UBports Foundation
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#pragma once
++
++// Provides the qt-windowmanager Wayland extension, which provides support for
++// URL handling. We use url-dispatcher for the purpose.
++
++#include "services.h"
++
++#include <miral/wayland_extensions.h>
++#include <miral/window.h>
++
++#include "windowmodelnotifier.h"
++
++namespace qtmir
++{
++// The casing is deliberate, given 'Windowmanager' is all one word according to
++// the Wayland spec
++auto qtKwinServerDecorationManagerExtension(qtmir::WindowModelNotifier &windowModel) -> miral::WaylandExtensions::Builder;
++}
+diff --git a/src/platforms/mirserver/wayland/xdgdecorationV1.cpp b/src/platforms/mirserver/wayland/xdgdecorationV1.cpp
+new file mode 100644
+index 00000000..33295841
+--- /dev/null
++++ b/src/platforms/mirserver/wayland/xdgdecorationV1.cpp
+@@ -0,0 +1,96 @@
++/*
++ * Copyright (C) 2020 UBports Foundation
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include "xdgdecorationV1.h"
++#include "services.h"
++
++#include <wayland-generated/xdg-decoration-unstable-v1_wrapper.h>
++
++#include <QDebug>
++
++using namespace mir::wayland;
++using namespace miral;
++
++namespace
++{
++
++class QtXdgToplevelDecorationV1 : public XdgToplevelDecorationV1
++{
++public:
++ using XdgToplevelDecorationV1::XdgToplevelDecorationV1;
++
++ QtXdgToplevelDecorationV1(struct wl_resource* resource) : XdgToplevelDecorationV1(resource, Version<1>{}) {
++ send_configure_event(Mode::server_side);
++ };
++
++ void set_mode(uint32_t mode) override {
++ send_configure_event(Mode::server_side);
++ qDebug() << "set XDG mode: " << mode;
++ };
++ void unset_mode() override {
++ qDebug("unset_mode");
++ }
++};
++
++class QtXdgDecorationManagerV1 : public XdgDecorationManagerV1
++{
++public:
++ using XdgDecorationManagerV1::XdgDecorationManagerV1;
++
++ QtXdgDecorationManagerV1(struct wl_resource*);
++
++ void get_toplevel_decoration(struct wl_resource* id, struct wl_resource* toplevel) override {
++ Q_UNUSED(toplevel);
++ new QtXdgToplevelDecorationV1{id};
++ };
++};
++
++
++
++QtXdgDecorationManagerV1::QtXdgDecorationManagerV1(
++ struct wl_resource* resource) :
++ XdgDecorationManagerV1{resource, Version<1>{}}
++{
++}
++
++class MyGlobal : public QtXdgDecorationManagerV1::Global
++{
++public:
++ explicit MyGlobal(wl_display* display);
++
++ void bind(wl_resource* new_xdgdecormanager) override;
++};
++
++}
++
++MyGlobal::MyGlobal(wl_display* display) :
++ Global(display, Version<1>{})
++{
++}
++
++void MyGlobal::bind(wl_resource* new_xdgdecormanager)
++{
++ new QtXdgDecorationManagerV1{new_xdgdecormanager};
++}
++
++auto qtmir::qtXdgDecorationManagerV1Extension() -> WaylandExtensions::Builder {
++ return {
++ XdgDecorationManagerV1::interface_name,
++ [](WaylandExtensions::Context const* context) {
++ return std::make_shared<MyGlobal>(context->display());
++ }
++ };
++}
+diff --git a/src/platforms/mirserver/wayland/xdgdecorationV1.h b/src/platforms/mirserver/wayland/xdgdecorationV1.h
+new file mode 100644
+index 00000000..f028b3f2
+--- /dev/null
++++ b/src/platforms/mirserver/wayland/xdgdecorationV1.h
+@@ -0,0 +1,31 @@
++/*
++ * Copyright (C) 2020 UBports Foundation
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#pragma once
++
++// Provides the qt-windowmanager Wayland extension, which provides support for
++// URL handling. We use url-dispatcher for the purpose.
++
++#include "services.h"
++
++#include <miral/wayland_extensions.h>
++
++namespace qtmir
++{
++// The casing is deliberate, given 'Windowmanager' is all one word according to
++// the Wayland spec
++auto qtXdgDecorationManagerV1Extension() -> miral::WaylandExtensions::Builder;
++}
+diff --git a/src/platforms/mirserver/windowmodelnotifier.cpp b/src/platforms/mirserver/windowmodelnotifier.cpp
+index e1572c8e..898b2b16 100644
+--- a/src/platforms/mirserver/windowmodelnotifier.cpp
++++ b/src/platforms/mirserver/windowmodelnotifier.cpp
+@@ -18,6 +18,7 @@
+
+ #include <QMultiHash>
+ #include <QMutex>
++#include <QDebug>
+
+ using namespace qtmir;
+
+@@ -77,12 +78,20 @@ WindowModelNotifier::WindowModelNotifier()
+ Q_EMIT observer->windowRequestedRaise();
+ });
+ }, Qt::QueuedConnection);
++
++ connect(this, &WindowModelNotifier::windowDecorationChanged, this, [](const miral::Window &window, bool ssd) {
++ WindowNotifierObserver::foreachObserverForWindow(window, [ssd](WindowNotifierObserver* observer) {
++ Q_EMIT observer->windowDecorationChanged(ssd);
++ });
++ }, Qt::QueuedConnection);
++
+ }
+
+ WindowNotifierObserver::WindowNotifierObserver(const miral::Window &window)
+ {
+ QMutexLocker locker(&mutex);
+ windowToObserverMap.insert(window, this);
++ qWarning() << "ADD WIN: " << window;
+ }
+
+ WindowNotifierObserver::~WindowNotifierObserver()
+@@ -103,6 +112,7 @@ void WindowNotifierObserver::foreachObserverForWindow(const miral::Window &windo
+ {
+ QMutexLocker locker(&mutex);
+ auto observers = windowToObserverMap.values(window);
++
+ Q_FOREACH(auto observer, observers) {
+ fn(observer);
+ }
+diff --git a/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp b/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
+index 6a4563b2..730e0dfd 100644
+--- a/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
++++ b/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
+@@ -16,7 +16,15 @@
+
+ #include "wrappedwindowmanagementpolicy.h"
+
+-#include "eventdispatch.h"
++#include <miroil/eventdispatch.h>
++#include <mir/version.h>
++#if MIR_SERVER_VERSION >= MIR_VERSION_NUMBER(2, 0, 0)
++#include <miral/toolkit_event.h>
++using namespace miral::toolkit;
++#else
++#include <mir_toolkit/event.h>
++#endif
++
+ #include "initialsurfacesizes.h"
+ #include "screensmodel.h"
+ #include "surfaceobserver.h"
+@@ -28,6 +36,8 @@
+ #include "qmirserver.h"
+ #include "tracepoints.h"
+
++#include "debughelpers.h"
++
+ #include <QDebug>
+ #include <QFileInfo>
+ #include <QTimer>
+@@ -98,7 +108,7 @@ namespace qtmir
+ };
+
+ WindowManagementPolicy::WindowManagementPolicy(const miral::WindowManagerTools &tools, std::shared_ptr<qtmir::WindowManagementPolicyPrivate> dd)
+- : miral::CanonicalWindowManagerPolicy(tools)
++ : miral::MinimalWindowManager(tools)
+ , d(dd)
+ {
+ }
+@@ -109,7 +119,7 @@ namespace qtmir
+ {
+ int surfaceType = requestParameters.type().is_set() ? requestParameters.type().value() : -1;
+ pid_t appPid = miral::pid_of(appInfo.application());
+- auto parameters = CanonicalWindowManagerPolicy::place_new_window(appInfo, requestParameters);
++ auto parameters = MinimalWindowManager::place_new_window(appInfo, requestParameters);
+
+ if (surfaceType == mir_window_type_inputmethod) {
+ QFileInfo info(QStringLiteral("/proc/%1/exe").arg(appPid));
+@@ -127,7 +137,7 @@ namespace qtmir
+ if (!requestParameters.parent().is_set() || requestParameters.parent().value().lock().get() == nullptr) {
+ QSize initialSize = InitialSurfaceSizes::get(appPid);
+
+- if (initialSize.isValid() && surfaceType == mir_surface_type_normal) {
++ if (initialSize.isValid() && surfaceType == mir_window_type_normal) {
+ parameters.size() = toMirSize(initialSize);
+ hasInitialSize = true;
+ }
+@@ -187,6 +197,8 @@ namespace qtmir
+ }
+ }
+
++ parameters.server_side_decorated() = false;
++
+ parameters.userdata() = std::make_shared<ExtraWindowInfo>();
+
+ return parameters;
+@@ -194,6 +206,8 @@ namespace qtmir
+
+ void WindowManagementPolicy::handle_window_ready(miral::WindowInfo &windowInfo)
+ {
++ MinimalWindowManager::handle_window_ready(windowInfo);
++
+ Q_EMIT d->m_windowModel.windowReady(windowInfo);
+
+ auto appInfo = tools.info_for(windowInfo.window().application());
+@@ -213,7 +227,7 @@ namespace qtmir
+ }
+ }
+
+- CanonicalWindowManagerPolicy::handle_modify_window(windowInfo, modifications);
++ MinimalWindowManager::handle_modify_window(windowInfo, modifications);
+
+ int surfaceType = modificationsClient.type().is_set() ? modificationsClient.type().value() : -1;
+
+@@ -231,7 +245,7 @@ namespace qtmir
+
+ void WindowManagementPolicy::handle_raise_window(miral::WindowInfo &windowInfo)
+ {
+- CanonicalWindowManagerPolicy::handle_raise_window(windowInfo);
++ MinimalWindowManager::handle_raise_window(windowInfo);
+
+ Q_EMIT d->m_windowModel.windowRequestedRaise(windowInfo);
+ }
+@@ -245,18 +259,30 @@ namespace qtmir
+
+ bool WindowManagementPolicy::handle_keyboard_event(const MirKeyboardEvent *event)
+ {
++ // We do not want to pass this over to MinimalWindowManager as it only
++ // Adds logic around some shortcuts, we want to do this ourself.
++
+ d->m_eventFeeder->dispatchKey(event);
+- return true;
++
++ // We still want this to get passed on to the wayland/xwayland surfaces
++ return false;
+ }
+
+ bool WindowManagementPolicy::handle_touch_event(const MirTouchEvent *event)
+ {
++ MinimalWindowManager::handle_touch_event(event);
++
+ d->m_eventFeeder->dispatchTouch(event);
+ return true;
+ }
+
+ bool WindowManagementPolicy::handle_pointer_event(const MirPointerEvent *event)
+ {
++ // HACK: We dont want mir to change focus, so ignore button down
++ if (mir_pointer_event_action(event) != mir_pointer_action_button_down) {
++ MinimalWindowManager::handle_pointer_event(event);
++ }
++
+ d->m_eventFeeder->dispatchPointer(event);
+ return true;
+ }
+@@ -303,7 +329,7 @@ namespace qtmir
+ // update Qt model ASAP, before applying Mir policy
+ Q_EMIT d->m_windowModel.windowFocusChanged(windowInfo, true);
+
+- CanonicalWindowManagerPolicy::advise_focus_gained(windowInfo);
++ MinimalWindowManager::advise_focus_gained(windowInfo);
+ }
+
+ void WindowManagementPolicy::advise_state_change(const miral::WindowInfo &windowInfo, MirWindowState state)
+@@ -345,7 +371,7 @@ namespace qtmir
+ void WindowManagementPolicy::advise_adding_to_workspace(std::shared_ptr<miral::Workspace> const& workspace,
+ std::vector<miral::Window> const& windows)
+ {
+- miral::CanonicalWindowManagerPolicy::advise_adding_to_workspace(workspace, windows);
++ miral::MinimalWindowManager::advise_adding_to_workspace(workspace, windows);
+
+ Q_EMIT d->m_windowModel.windowsAddedToWorkspace(workspace, windows);
+ }
+@@ -353,7 +379,7 @@ namespace qtmir
+ void WindowManagementPolicy::advise_removing_from_workspace(std::shared_ptr<miral::Workspace> const& workspace,
+ std::vector<miral::Window> const& windows)
+ {
+- miral::CanonicalWindowManagerPolicy::advise_removing_from_workspace(workspace, windows);
++ miral::MinimalWindowManager::advise_removing_from_workspace(workspace, windows);
+
+ Q_EMIT d->m_windowModel.windowsAboutToBeRemovedFromWorkspace(workspace, windows);
+ }
+@@ -386,7 +412,7 @@ namespace qtmir
+ Rectangle WindowManagementPolicy::confirm_inherited_move(miral::WindowInfo const& windowInfo, Displacement movement)
+ {
+ if (d->m_confinementRegions.isEmpty()) {
+- return CanonicalWindowManagerPolicy::confirm_inherited_move(windowInfo, movement);
++ return MinimalWindowManager::confirm_inherited_move(windowInfo, movement);
+ }
+
+ auto window = windowInfo.window();
+@@ -430,21 +456,21 @@ namespace qtmir
+ return toMirRectangle(geom.marginsRemoved(windowMargins));
+ }
+
+- void WindowManagementPolicy::handle_request_drag_and_drop(miral::WindowInfo &/*window_info*/)
++ void WindowManagementPolicy::handle_request_drag_and_drop(miral::WindowInfo &window_info)
+ {
+-
++ MinimalWindowManager::handle_request_drag_and_drop(window_info);
+ }
+
+- void WindowManagementPolicy::handle_request_move(miral::WindowInfo &/*window_info*/,
+- const MirInputEvent */*input_event*/)
++ void WindowManagementPolicy::handle_request_move(miral::WindowInfo &window_info,
++ const MirInputEvent *input_event)
+ {
+-
++ MinimalWindowManager::handle_request_move(window_info, input_event);
+ }
+
+- void WindowManagementPolicy::handle_request_resize(miral::WindowInfo &/*window_info*/,
+- const MirInputEvent */*input_event*/, MirResizeEdge /*edge*/)
++ void WindowManagementPolicy::handle_request_resize(miral::WindowInfo &window_info,
++ const MirInputEvent *input_event, MirResizeEdge edge)
+ {
+-
++ MinimalWindowManager::handle_request_resize(window_info, input_event, edge);
+ }
+ }
+
+@@ -465,6 +491,7 @@ WrappedWindowManagementPolicy::WrappedWindowManagementPolicy(const miral::Window
+ qRegisterMetaType<qtmir::NewWindow>();
+ qRegisterMetaType<std::vector<miral::Window>>();
+ qRegisterMetaType<miral::ApplicationInfo>();
++ qRegisterMetaType<miral::Window>();
+ windowController.setPolicy(this);
+ workspaceController.setPolicy(this);
+ }
+@@ -592,7 +619,7 @@ void WrappedWindowManagementPolicy::deliver_keyboard_event(const MirKeyboardEven
+ });
+ }
+
+- qtmir::dispatchInputEvent(window, mir_keyboard_event_input_event(event));
++ miroil::dispatch_input_event(window, mir_keyboard_event_input_event(event));
+ }
+
+ void WrappedWindowManagementPolicy::deliver_touch_event(const MirTouchEvent *event, const miral::Window &window)
+@@ -603,7 +630,7 @@ void WrappedWindowManagementPolicy::deliver_touch_event(const MirTouchEvent *eve
+ }
+ });
+
+- qtmir::dispatchInputEvent(window, mir_touch_event_input_event(event));
++ miroil::dispatch_input_event(window, mir_touch_event_input_event(event));
+ }
+
+ void WrappedWindowManagementPolicy::deliver_pointer_event(const MirPointerEvent *event, const miral::Window &window)
+@@ -617,7 +644,7 @@ void WrappedWindowManagementPolicy::deliver_pointer_event(const MirPointerEvent
+ });
+ }
+
+- qtmir::dispatchInputEvent(window, mir_pointer_event_input_event(event));
++ miroil::dispatch_input_event(window, mir_pointer_event_input_event(event));
+ }
+
+ void WrappedWindowManagementPolicy::advise_adding_to_workspace(const std::shared_ptr<miral::Workspace> &workspace,
+@@ -749,7 +776,7 @@ void WrappedWindowManagementPolicy::ask_client_to_close(const miral::Window &win
+ void WrappedWindowManagementPolicy::forceClose(const miral::Window &window)
+ {
+ tools.invoke_under_lock([&window, this]() {
+- tools.force_close(window);
++ tools.ask_client_to_close(window);
+ });
+ }
+
+diff --git a/tests/framework/CMakeLists.txt b/tests/framework/CMakeLists.txt
+index 33644ef9..3c5d407e 100644
+--- a/tests/framework/CMakeLists.txt
++++ b/tests/framework/CMakeLists.txt
+@@ -1,6 +1,7 @@
+ include_directories(
+ ${CMAKE_SOURCE_DIR}/src/common
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include
+ ${CMAKE_SOURCE_DIR}/src/modules
+ )
+
+@@ -8,6 +9,7 @@ include_directories(
+ SYSTEM
+ ${APPLICATION_API_INCLUDE_DIRS}
+ ${MIRAL_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
+ ${MIRSERVER_INCLUDE_DIRS}
+ ${MIRRENDERERGLDEV_INCLUDE_DIRS}
+ ${MIRTEST_INCLUDE_DIRS}
+diff --git a/tests/framework/mock_task_controller.cpp b/tests/framework/mock_task_controller.cpp
+index e39606e5..3d5b226a 100644
+--- a/tests/framework/mock_task_controller.cpp
++++ b/tests/framework/mock_task_controller.cpp
+@@ -20,7 +20,7 @@
+ namespace qtmir
+ {
+
+-MockTaskController::MockTaskController(std::shared_ptr<qtmir::PromptSessionManager> promptSessionManager, QObject *parent)
++MockTaskController::MockTaskController(std::shared_ptr<miroil::PromptSessionManager> promptSessionManager, QObject *parent)
+ : TaskController(promptSessionManager, parent)
+ {
+ using namespace ::testing;
+diff --git a/tests/framework/mock_task_controller.h b/tests/framework/mock_task_controller.h
+index 1be47fb6..4ee983a9 100644
+--- a/tests/framework/mock_task_controller.h
++++ b/tests/framework/mock_task_controller.h
+@@ -28,7 +28,7 @@ namespace qtmir
+ {
+ struct MockTaskController : public qtmir::TaskController
+ {
+- MockTaskController(std::shared_ptr<qtmir::PromptSessionManager> promptSessionManager, QObject *parent = nullptr);
++ MockTaskController(std::shared_ptr<miroil::PromptSessionManager> promptSessionManager, QObject *parent = nullptr);
+ virtual ~MockTaskController();
+
+ MOCK_METHOD2(appIdHasProcessId, bool(const QString&, pid_t));
+diff --git a/tests/framework/qtmir_test.h b/tests/framework/qtmir_test.h
+index 211561a1..bf1d3c55 100644
+--- a/tests/framework/qtmir_test.h
++++ b/tests/framework/qtmir_test.h
+@@ -28,7 +28,7 @@
+ #include <QtMir/Application/session_interface.h>
+ #include <QtMir/Application/sharedwakelock.h>
+ #include <QtMir/Application/proc_info.h>
+-#include "promptsessionmanager.h"
++#include <miroil/prompt_session_manager.h>
+
+ #include "mock_proc_info.h"
+ #include "mock_mir_session.h"
+@@ -70,7 +70,7 @@ public:
+ testing::NiceMock<MockSharedWakelock> sharedWakelock;
+ testing::NiceMock<MockSettings> settings;
+ std::shared_ptr<StubPromptSessionManager> stubPromptSessionManager{std::make_shared<StubPromptSessionManager>()};
+- std::shared_ptr<qtmir::PromptSessionManager> promptSessionManager{std::make_shared<qtmir::PromptSessionManager>(stubPromptSessionManager)};
++ std::shared_ptr<miroil::PromptSessionManager> promptSessionManager{std::make_shared<miroil::PromptSessionManager>(stubPromptSessionManager)};
+ std::shared_ptr<StubPersistentSurfaceStore> persistentSurfaceStore;
+
+ QSharedPointer<qtmir::TaskController> taskControllerSharedPointer{new testing::NiceMock<qtmir::MockTaskController>(promptSessionManager)};
+diff --git a/tests/mirserver/CMakeLists.txt b/tests/mirserver/CMakeLists.txt
+index a6959951..a608be89 100644
+--- a/tests/mirserver/CMakeLists.txt
++++ b/tests/mirserver/CMakeLists.txt
+@@ -1,5 +1,6 @@
+ add_subdirectory(EventBuilder)
+ add_subdirectory(QtEventFeeder)
++add_subdirectory(URLBuilderDispatcher)
+ add_subdirectory(Screen)
+ add_subdirectory(ScreensModel)
+ add_subdirectory(miral)
+diff --git a/tests/mirserver/EventBuilder/CMakeLists.txt b/tests/mirserver/EventBuilder/CMakeLists.txt
+index a0c9b66e..1cbe77fc 100644
+--- a/tests/mirserver/EventBuilder/CMakeLists.txt
++++ b/tests/mirserver/EventBuilder/CMakeLists.txt
+@@ -6,11 +6,13 @@ set(
+ include_directories(
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
+ ${CMAKE_SOURCE_DIR}/src/common
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include
+ )
+
+ include_directories(
+ SYSTEM
+ ${MIRSERVER_INCLUDE_DIRS}
++ ${MIRAL_INCLUDE_DIRS}
+ )
+
+ add_executable(EventBuilderTest ${EVENT_BUILDER_TEST_SOURCES})
+@@ -20,6 +22,7 @@ target_link_libraries(
+ qtmirserver
+ ${GTEST_BOTH_LIBRARIES}
+ ${GMOCK_LIBRARIES}
++ ${MIROIL_LIBRARIES}
+ )
+
+ add_test(EventBuilder, EventBuilderTest)
+diff --git a/tests/mirserver/ScreensModel/CMakeLists.txt b/tests/mirserver/ScreensModel/CMakeLists.txt
+index a5ddfc32..bf3a69e5 100644
+--- a/tests/mirserver/ScreensModel/CMakeLists.txt
++++ b/tests/mirserver/ScreensModel/CMakeLists.txt
+@@ -11,12 +11,14 @@ include_directories(
+ ${CMAKE_SOURCE_DIR}/include
+ ${CMAKE_SOURCE_DIR}/tests/framework
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include
+ ${CMAKE_SOURCE_DIR}/src/common
+ )
+
+ include_directories(
+ SYSTEM
+ ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
+ ${MIRSERVER_INCLUDE_DIRS}
+ ${MIRRENDERERGLDEV_INCLUDE_DIRS}
+ ${MIRTEST_INCLUDE_DIRS}
+diff --git a/tests/mirserver/ScreensModel/stub_display.h b/tests/mirserver/ScreensModel/stub_display.h
+index 4914ac55..664d9a08 100644
+--- a/tests/mirserver/ScreensModel/stub_display.h
++++ b/tests/mirserver/ScreensModel/stub_display.h
+@@ -22,7 +22,7 @@
+ namespace mg = mir::graphics; // Bug lp:1614983
+ #include <mir/test/doubles/mock_display_configuration.h>
+
+-#include <mir/compositor/display_listener.h>
++#include <miroil/display_listener_wrapper.h>
+
+ namespace geom = mir::geometry;
+
+@@ -96,8 +96,11 @@ private:
+ std::vector<MockGLDisplayBuffer*> m_displayBuffers;
+ };
+
+-class StubDisplayListener : public mir::compositor::DisplayListener
++class StubDisplayListener : public miroil::DisplayListenerWrapper
+ {
++public:
++ StubDisplayListener(): DisplayListenerWrapper(nullptr) {};
++
+ void add_display(mir::geometry::Rectangle const& /*area*/) override {};
+
+ void remove_display(mir::geometry::Rectangle const& /*area*/) override {};
+diff --git a/tests/mirserver/ScreensModel/testable_screensmodel.h b/tests/mirserver/ScreensModel/testable_screensmodel.h
+index 6829dcd4..25e269cb 100644
+--- a/tests/mirserver/ScreensModel/testable_screensmodel.h
++++ b/tests/mirserver/ScreensModel/testable_screensmodel.h
+@@ -29,7 +29,7 @@ public:
+
+ void do_init(const std::shared_ptr<mir::graphics::Display> &display,
+ const std::shared_ptr<QtCompositor> &compositor,
+- const std::shared_ptr<mir::compositor::DisplayListener> &displayListener)
++ const std::shared_ptr<miroil::DisplayListenerWrapper> & displayListener)
+ {
+ init(display, compositor, displayListener);
+ }
+diff --git a/tests/mirserver/URLBuilderDispatcher/CMakeLists.txt b/tests/mirserver/URLBuilderDispatcher/CMakeLists.txt
+new file mode 100644
+index 00000000..93dca62f
+--- /dev/null
++++ b/tests/mirserver/URLBuilderDispatcher/CMakeLists.txt
+@@ -0,0 +1,30 @@
++set(
++ URLBUILDERDISPATCHER_TEST_RESOURCES
++ urlbuilderdispatcher_test.cpp
++)
++
++include_directories(
++ ${CMAKE_SOURCE_DIR}/tests/framework
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${CMAKE_SOURCE_DIR}/src/common
++)
++
++include_directories(
++ SYSTEM
++ ${QT5PLATFORM_SUPPORT_INCLUDE_DIRS}
++ ${Qt5Gui_PRIVATE_INCLUDE_DIRS}
++ ${MIRSERVER_INCLUDE_DIRS}
++)
++
++add_executable(URLBuilderDispatcherTest ${URLBUILDERDISPATCHER_TEST_RESOURCES})
++
++target_link_libraries(
++ URLBuilderDispatcherTest
++ qtmirserver
++
++ ${QT5PLATFORMSUPPORT_LIBS}
++ ${GTEST_BOTH_LIBRARIES}
++ ${GMOCK_LIBRARIES}
++)
++
++add_test(URLBuilderDispatcher, URLBuilderDispatcherTest)
+diff --git a/src/platforms/mirserver/mircursorimages.h b/tests/mirserver/URLBuilderDispatcher/mock_services.h
+similarity index 62%
+rename from src/platforms/mirserver/mircursorimages.h
+rename to tests/mirserver/URLBuilderDispatcher/mock_services.h
+index 295b1e27..a04191b0 100644
+--- a/src/platforms/mirserver/mircursorimages.h
++++ b/tests/mirserver/URLBuilderDispatcher/mock_services.h
+@@ -1,5 +1,5 @@
+ /*
+- * Copyright (C) 2015 Canonical, Ltd.
++ * Copyright (C) 2020 UBports Foundation
+ *
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License version 3, as published by
+@@ -14,20 +14,19 @@
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+-#ifndef QTMIR_MIRCURSORIMAGES_H_
+-#define QTMIR_MIRCURSORIMAGES_H_
++#pragma once
+
+-#include <mir/input/cursor_images.h>
++#include "gmock/gmock.h"
+
+-namespace qtmir {
++#include <qpa/qplatformservices.h>
++#include <QUrl>
+
+-class MirCursorImages : public mir::input::CursorImages
+-{
++class MockServices: public QPlatformServices {
+ public:
+- std::shared_ptr<mir::graphics::CursorImage> image(const std::string &cursor_name,
+- const mir::geometry::Size &size) override;
+-};
++ ~MockServices() {};
+
+-}
++ MOCK_METHOD1(openUrl, bool(const QUrl &url));
++ MOCK_METHOD1(openDocument, bool(const QUrl &url));
+
+-#endif // QTMIR_MIRCURSORIMAGES_H_
++ inline QByteArray desktopEnvironment() const override { return "MockQtMirServices"; }
++};
+diff --git a/tests/mirserver/URLBuilderDispatcher/urlbuilderdispatcher_test.cpp b/tests/mirserver/URLBuilderDispatcher/urlbuilderdispatcher_test.cpp
+new file mode 100644
+index 00000000..9b7db72e
+--- /dev/null
++++ b/tests/mirserver/URLBuilderDispatcher/urlbuilderdispatcher_test.cpp
+@@ -0,0 +1,115 @@
++/*
++ * Copyright (C) 2020 UBports Foundation
++ *
++ * This program is free software: you can redistribute it and/or modify it under
++ * the terms of the GNU Lesser General Public License version 3, as published by
++ * the Free Software Foundation.
++ *
++ * This program is distributed in the hope that it will be useful, but WITHOUT
++ * ANY WARRANTY; without even the implied warranties of MERCHANTABILITY,
++ * SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++ * Lesser General Public License for more details.
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * along with this program. If not, see <http://www.gnu.org/licenses/>.
++ */
++
++#include <gmock/gmock.h>
++#include <gtest/gtest.h>
++
++#include "urlbuilderdispatcher.h"
++#include "mock_services.h"
++
++#include <QUrl>
++
++using namespace ::testing;
++
++class URLBuilderDispatcherTest : public ::testing::Test
++{
++};
++
++TEST_F(URLBuilderDispatcherTest, SinglePartURL)
++{
++ auto services = std::make_shared<MockServices>();
++ auto urlbuilder = qtmir::URLBuilderDispatcher{services};
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://url"))).Times(1);
++ urlbuilder.urlInput(0, "url://url");
++}
++
++// Ensure that multiple single-part URLs are dispatched
++TEST_F(URLBuilderDispatcherTest, MultiSinglePart)
++{
++ auto services = std::make_shared<MockServices>();
++ auto urlbuilder = qtmir::URLBuilderDispatcher{services};
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://url"))).Times(1);
++ urlbuilder.urlInput(0, "url://url");
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://my-new-neat-url"))).Times(1);
++ urlbuilder.urlInput(0, "url://my-new-neat-url");
++}
++
++// Ensure that a single multi-part URL is dispatched
++TEST_F(URLBuilderDispatcherTest, MultiPartURL)
++{
++ auto services = std::make_shared<MockServices>();
++ auto urlbuilder = qtmir::URLBuilderDispatcher{services};
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://url-that-continues"))).Times(1);
++ urlbuilder.urlInput(2, "url://url");
++ urlbuilder.urlInput(1, "-that");
++ urlbuilder.urlInput(0, "-continues");
++}
++
++// Ensure that a single URL with percent encoding is dispatched
++TEST_F(URLBuilderDispatcherTest, PercentEncoding)
++{
++ auto services = std::make_shared<MockServices>();
++ auto urlbuilder = qtmir::URLBuilderDispatcher{services};
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://url%20-that-%26going"))).Times(1);
++ urlbuilder.urlInput(2, "url://url%20");
++ urlbuilder.urlInput(1, "-that");
++ urlbuilder.urlInput(0, "%26going");
++}
++
++// Ensure that multiple multi-part URLs are dispatched
++TEST_F(URLBuilderDispatcherTest, MultiMultiPart)
++{
++ auto services = std::make_shared<MockServices>();
++ auto urlbuilder = qtmir::URLBuilderDispatcher{services};
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://url-that-continues"))).Times(1);
++ urlbuilder.urlInput(2, "url://url");
++ urlbuilder.urlInput(1, "-that");
++ urlbuilder.urlInput(0, "-continues");
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://this-is-a-url"))).Times(1);
++ urlbuilder.urlInput(2, "url://this-is");
++ urlbuilder.urlInput(1, "-a");
++ urlbuilder.urlInput(0, "-url");
++}
++
++// Ensure that multiple single or multi-part URLs are dispatched
++TEST_F(URLBuilderDispatcherTest, ManyURLs)
++{
++ auto services = std::make_shared<MockServices>();
++ auto urlbuilder = qtmir::URLBuilderDispatcher{services};
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://url-that-continues"))).Times(1);
++ urlbuilder.urlInput(2, "url://url");
++ urlbuilder.urlInput(1, "-that");
++ urlbuilder.urlInput(0, "-continues");
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://url"))).Times(1);
++ urlbuilder.urlInput(0, "url://url");
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://this-is-a-url"))).Times(1);
++ urlbuilder.urlInput(2, "url://this-is");
++ urlbuilder.urlInput(1, "-a");
++ urlbuilder.urlInput(0, "-url");
++
++ EXPECT_CALL(*services, openUrl(QUrl("url://my-new-neat-url"))).Times(1);
++ urlbuilder.urlInput(0, "url://my-new-neat-url");
++}
+diff --git a/tests/mirserver/miral/CMakeLists.txt b/tests/mirserver/miral/CMakeLists.txt
+index 90ce08e8..202e9d9e 100644
+--- a/tests/mirserver/miral/CMakeLists.txt
++++ b/tests/mirserver/miral/CMakeLists.txt
+@@ -4,7 +4,8 @@ set(
+ )
+
+ include_directories(
+- ${CMAKE_SOURCE_DIR}/include
++ ${CMAKE_SOURCE_DIR}/include
++ ${MIROIL_INCLUDE_DIRS}
+ )
+
+ add_executable(MirALTests ${MIRAL_TEST_SOURCES})
+@@ -13,6 +14,7 @@ target_link_libraries(MirALTests
+ qtmirserver
+ ${GTEST_BOTH_LIBRARIES}
+ ${GMOCK_LIBRARIES}
++ ${MIROIL_LDFLAGS}
+ )
+
+ add_test(MirAL, MirALTests)
+diff --git a/tests/mirserver/miral/edid_test.cpp b/tests/mirserver/miral/edid_test.cpp
+index 03f83d21..c303a1ac 100644
+--- a/tests/mirserver/miral/edid_test.cpp
++++ b/tests/mirserver/miral/edid_test.cpp
+@@ -18,9 +18,7 @@
+ #include <gtest/gtest.h>
+ #include <numeric>
+
+-#include "qtmir/miral/edid.h"
+-
+-using namespace miral;
++#include <miroil/edid.h>
+
+ using TestDataParamType =
+ std::tuple<std::vector<uint8_t>, std::string, std::string, uint16_t, uint32_t>;
+@@ -74,7 +72,7 @@ class EdidTest :
+
+ TEST(EdidTest, Construct)
+ {
+- Edid edid;
++ miroil::Edid edid;
+ EXPECT_EQ(edid.vendor, "");
+ EXPECT_EQ(edid.product_code, 0);
+ EXPECT_EQ(edid.serial_number, uint32_t(0));
+@@ -82,7 +80,7 @@ TEST(EdidTest, Construct)
+
+ char zero_array[13] = {0};
+ for (int i = 0; i < 4; i++) {
+- EXPECT_EQ(edid.descriptors[i].type, Edid::Descriptor::Type::undefined);
++ EXPECT_EQ(edid.descriptors[i].type, miroil::Edid::Descriptor::Type::undefined);
+
+ auto& value = edid.descriptors[i].value;
+ EXPECT_TRUE(std::equal(std::begin(value.monitor_name), std::end(value.monitor_name), std::begin(zero_array)));
+@@ -98,7 +96,7 @@ TEST_P(EdidTest, Test_InvalidChecksum)
+ std::vector<uint8_t> invalidChecksum{data};
+ invalidChecksum[8] = invalidChecksum[8]+1;
+
+- Edid edid;
++ miroil::Edid edid;
+ try {
+ edid.parse_data(invalidChecksum);
+ } catch(std::runtime_error const& err) {
+@@ -118,7 +116,7 @@ TEST_P(EdidTest, Test_InvalidHeader)
+ uint8_t checksum = std::accumulate(invalidHeader.begin(), invalidHeader.end()-1, 0);
+ invalidHeader[invalidHeader.size()-1] = (uint8_t)(~checksum+1);
+
+- Edid edid;
++ miroil::Edid edid;
+ try {
+ edid.parse_data(invalidHeader);
+ } catch(std::runtime_error const& err) {
+@@ -132,7 +130,7 @@ TEST_P(EdidTest, Test_Valid)
+ {
+ const std::vector<uint8_t>& data = std::get<0>(GetParam());
+
+- Edid edid;
++ miroil::Edid edid;
+ EXPECT_NO_THROW(edid.parse_data(data));
+ }
+
+@@ -144,7 +142,7 @@ TEST_P(EdidTest, CheckData)
+ const uint16_t product_code = std::get<3>(GetParam());
+ const uint32_t serial_number = std::get<4>(GetParam());
+
+- Edid edid;
++ miroil::Edid edid;
+ EXPECT_NO_THROW(edid.parse_data(data));
+
+ ASSERT_EQ(edid.vendor, vendor);
+@@ -154,7 +152,7 @@ TEST_P(EdidTest, CheckData)
+ if (monitor_name != "") {
+ bool found_monitor_name = false;
+ for (int i = 0; i < 4; i++) {
+- if (edid.descriptors[i].type == Edid::Descriptor::Type::monitor_name ) {
++ if (edid.descriptors[i].type == miroil::Edid::Descriptor::Type::monitor_name ) {
+ found_monitor_name = true;
+ ASSERT_EQ(std::string(&edid.descriptors[i].value.monitor_name[0]), monitor_name);
+ }
+diff --git a/tests/modules/Application/CMakeLists.txt b/tests/modules/Application/CMakeLists.txt
+index 545ca57b..27950db6 100644
+--- a/tests/modules/Application/CMakeLists.txt
++++ b/tests/modules/Application/CMakeLists.txt
+@@ -5,6 +5,7 @@ set(
+
+ include_directories(
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include
+ ${CMAKE_SOURCE_DIR}/src/modules
+ ${CMAKE_SOURCE_DIR}/tests/framework
+ )
+@@ -12,6 +13,7 @@ include_directories(
+ include_directories(
+ SYSTEM
+ ${MIRAL_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
+ ${MIRSERVER_INCLUDE_DIRS}
+ ${Qt5Core_INCLUDE_DIRS}
+ ${Qt5Gui_INCLUDE_DIRS}
+diff --git a/tests/modules/ApplicationManager/CMakeLists.txt b/tests/modules/ApplicationManager/CMakeLists.txt
+index d028f37f..6cd39b5a 100644
+--- a/tests/modules/ApplicationManager/CMakeLists.txt
++++ b/tests/modules/ApplicationManager/CMakeLists.txt
+@@ -6,6 +6,7 @@ set(
+
+ include_directories(
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include
+ ${CMAKE_SOURCE_DIR}/src/modules
+ ${CMAKE_SOURCE_DIR}/tests/framework
+ )
+@@ -14,6 +15,7 @@ include_directories(
+ SYSTEM
+ ${APPLICATION_API_INCLUDE_DIRS}
+ ${MIRAL_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
+ ${MIRSERVER_INCLUDE_DIRS}
+ )
+
+diff --git a/tests/modules/Session/CMakeLists.txt b/tests/modules/Session/CMakeLists.txt
+index 0c8c3236..48ee1776 100644
+--- a/tests/modules/Session/CMakeLists.txt
++++ b/tests/modules/Session/CMakeLists.txt
+@@ -7,6 +7,7 @@ set(
+
+ include_directories(
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include
+ ${CMAKE_SOURCE_DIR}/src/modules
+ ${CMAKE_SOURCE_DIR}/tests/framework
+ )
+@@ -15,6 +16,7 @@ include_directories(
+ SYSTEM
+ ${APPLICATION_API_INCLUDE_DIRS}
+ ${MIRAL_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
+ ${MIRSERVER_INCLUDE_DIRS}
+ )
+
+diff --git a/tests/modules/Session/session_test.cpp b/tests/modules/Session/session_test.cpp
+index 3aa611b7..34611863 100644
+--- a/tests/modules/Session/session_test.cpp
++++ b/tests/modules/Session/session_test.cpp
+@@ -287,7 +287,7 @@ TEST_F(SessionTests, SessionStopsWhileSuspendingDoesntSuspend)
+ {
+ public:
+ SessionTestClass(const std::shared_ptr<mir::scene::Session>& session,
+- const std::shared_ptr<qtmir::PromptSessionManager>& promptSessionManager)
++ const std::shared_ptr<miroil::PromptSessionManager>& promptSessionManager)
+ : Session(session, promptSessionManager) {}
+
+ using Session::m_suspendTimer;
+diff --git a/tests/modules/SurfaceManager/CMakeLists.txt b/tests/modules/SurfaceManager/CMakeLists.txt
+index 2cc203dc..7f58dd12 100644
+--- a/tests/modules/SurfaceManager/CMakeLists.txt
++++ b/tests/modules/SurfaceManager/CMakeLists.txt
+@@ -7,6 +7,7 @@ set(
+ include_directories(
+ ${CMAKE_SOURCE_DIR}/src/common
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include
+ ${CMAKE_SOURCE_DIR}/src/modules
+ ${CMAKE_SOURCE_DIR}/tests/framework
+ )
+@@ -14,7 +15,6 @@ include_directories(
+ include_directories(
+ SYSTEM
+ ${APPLICATION_API_INCLUDE_DIRS}
+- ${MIRAL_INCLUDE_DIRS}
+ ${MIRTEST_INCLUDE_DIRS}
+ )
+
+diff --git a/tests/modules/WindowManager/CMakeLists.txt b/tests/modules/WindowManager/CMakeLists.txt
+index 4e4c8085..655e6814 100644
+--- a/tests/modules/WindowManager/CMakeLists.txt
++++ b/tests/modules/WindowManager/CMakeLists.txt
+@@ -11,6 +11,7 @@ include_directories(
+ ${CMAKE_SOURCE_DIR}/src/common
+ ${CMAKE_SOURCE_DIR}/src/modules
+ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver
++ ${CMAKE_SOURCE_DIR}/src/platforms/mirserver/miroil/include
+ ${CMAKE_SOURCE_DIR}/tests/framework
+ )
+
+@@ -18,6 +19,7 @@ include_directories(
+ SYSTEM
+ ${MIRAL_INCLUDE_DIRS}
+ ${MIRTEST_INCLUDE_DIRS}
++ ${MIROIL_INCLUDE_DIRS}
+ ${MIRSERVER_INCLUDE_DIRS}
+ ${Qt5Quick_PRIVATE_INCLUDE_DIRS}
+ )
+--
+2.43.0
+
diff --git a/testing/qtmir/0003-Require-miroil-in-out-.pc-file.patch b/testing/qtmir/0003-Require-miroil-in-out-.pc-file.patch
new file mode 100644
index 00000000000..7e8a06d6ccc
--- /dev/null
+++ b/testing/qtmir/0003-Require-miroil-in-out-.pc-file.patch
@@ -0,0 +1,24 @@
+From d91fba9fa4456c948cc53f97c6aadae5e513fb50 Mon Sep 17 00:00:00 2001
+From: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
+Date: Sun, 26 Feb 2023 22:35:32 +0100
+Subject: [PATCH 3/4] Require miroil in out .pc file
+
+---
+ src/platforms/mirserver/qtmirserver.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/platforms/mirserver/qtmirserver.pc.in b/src/platforms/mirserver/qtmirserver.pc.in
+index fa2d862a..12e09b92 100644
+--- a/src/platforms/mirserver/qtmirserver.pc.in
++++ b/src/platforms/mirserver/qtmirserver.pc.in
+@@ -4,6 +4,6 @@ includedir=@INCLUDEDIR@
+ Name: qtmirserver
+ Description: QtMir server library
+ Version: @QTMIR_VERSION@
+-Requires: miral >= 1.1
++Requires: miral >= 1.1 miroil
+ Libs: -L${libdir} -lqtmirserver
+ Cflags: -I${includedir}
+--
+2.43.0
+
diff --git a/testing/qtmir/0004-Update-for-Mir-2.15-removals.patch b/testing/qtmir/0004-Update-for-Mir-2.15-removals.patch
new file mode 100644
index 00000000000..b2bda017d1f
--- /dev/null
+++ b/testing/qtmir/0004-Update-for-Mir-2.15-removals.patch
@@ -0,0 +1,97 @@
+From 719735fd721dffe278a5336cc07dc90a53725329 Mon Sep 17 00:00:00 2001
+From: Christopher James Halse Rogers <raof@ubuntu.com>
+Date: Mon, 18 Sep 2023 17:54:01 +1000
+Subject: [PATCH 4/4] Update for Mir 2.15 removals.
+
+Mir 2.15 dropped some deprecated functions:
+* `handle_request_drag_and_drop` is from mirclient's ContentHub interface; no longer used
+* `mir_keyboard_event_key_code` was renamed to the clearer `mir_keyboard_event_keysym` (it returns keysyms)
+---
+ include/qtmir/windowmanagementpolicy.h | 1 -
+ src/common/debughelpers.cpp | 2 +-
+ src/platforms/mirserver/qteventfeeder.cpp | 2 +-
+ .../mirserver/wrappedwindowmanagementpolicy.cpp | 10 ----------
+ .../mirserver/wrappedwindowmanagementpolicy.h | 1 -
+ 5 files changed, 2 insertions(+), 14 deletions(-)
+
+diff --git a/include/qtmir/windowmanagementpolicy.h b/include/qtmir/windowmanagementpolicy.h
+index c1e5519f..f8a4c7b1 100644
+--- a/include/qtmir/windowmanagementpolicy.h
++++ b/include/qtmir/windowmanagementpolicy.h
+@@ -82,7 +82,6 @@ public:
+ void advise_delete_window(const miral::WindowInfo &windowInfo) override;
+ void advise_raise(const std::vector<miral::Window> &windows) override;
+
+- void handle_request_drag_and_drop(miral::WindowInfo &window_info) override;
+ void handle_request_move(miral::WindowInfo &window_info, const MirInputEvent *input_event) override;
+ void handle_request_resize(miral::WindowInfo &window_info, const MirInputEvent *input_event, MirResizeEdge edge) override;
+
+diff --git a/src/common/debughelpers.cpp b/src/common/debughelpers.cpp
+index 362d252d..e6245411 100644
+--- a/src/common/debughelpers.cpp
++++ b/src/common/debughelpers.cpp
+@@ -315,7 +315,7 @@ QString mirKeyboardEventToString(MirKeyboardEvent const* event)
+ {
+ MirKeyboardAction keyboardAction = mir_keyboard_event_action(event);
+
+- xkb_keysym_t keyCode = mir_keyboard_event_key_code(event);
++ xkb_keysym_t keyCode = mir_keyboard_event_keysym(event);
+
+ MirInputEventModifiers modifiers = mir_keyboard_event_modifiers(event);
+
+diff --git a/src/platforms/mirserver/qteventfeeder.cpp b/src/platforms/mirserver/qteventfeeder.cpp
+index a385c0f5..441a7a64 100644
+--- a/src/platforms/mirserver/qteventfeeder.cpp
++++ b/src/platforms/mirserver/qteventfeeder.cpp
+@@ -592,7 +592,7 @@ void QtEventFeeder::dispatchKey(const MirKeyboardEvent *kev)
+ std::chrono::nanoseconds(mir_input_event_get_event_time(iev)));
+ EventBuilder::instance()->store(iev, timestamp.count());
+
+- xkb_keysym_t xk_sym = mir_keyboard_event_key_code(kev);
++ xkb_keysym_t xk_sym = mir_keyboard_event_keysym(kev);
+
+ // Key modifier and unicode index mapping.
+ auto modifiers = getQtModifiersFromMir(mir_keyboard_event_modifiers(kev));
+diff --git a/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp b/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
+index 730e0dfd..2e4552b7 100644
+--- a/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
++++ b/src/platforms/mirserver/wrappedwindowmanagementpolicy.cpp
+@@ -456,11 +456,6 @@ namespace qtmir
+ return toMirRectangle(geom.marginsRemoved(windowMargins));
+ }
+
+- void WindowManagementPolicy::handle_request_drag_and_drop(miral::WindowInfo &window_info)
+- {
+- MinimalWindowManager::handle_request_drag_and_drop(window_info);
+- }
+-
+ void WindowManagementPolicy::handle_request_move(miral::WindowInfo &window_info,
+ const MirInputEvent *input_event)
+ {
+@@ -794,11 +789,6 @@ void WrappedWindowManagementPolicy::set_window_margins(MirWindowType windowType,
+ // TODO: update window positions/sizes to respect new margins.
+ }
+
+-void WrappedWindowManagementPolicy::handle_request_drag_and_drop(miral::WindowInfo &window_info)
+-{
+- m_wrapper->handle_request_drag_and_drop(window_info);
+-}
+-
+ void WrappedWindowManagementPolicy::handle_request_move(miral::WindowInfo &window_info,
+ const MirInputEvent *input_event)
+ {
+diff --git a/src/platforms/mirserver/wrappedwindowmanagementpolicy.h b/src/platforms/mirserver/wrappedwindowmanagementpolicy.h
+index 52374ca1..59abbb00 100644
+--- a/src/platforms/mirserver/wrappedwindowmanagementpolicy.h
++++ b/src/platforms/mirserver/wrappedwindowmanagementpolicy.h
+@@ -77,7 +77,6 @@ public:
+ void advise_delete_window(const miral::WindowInfo &windowInfo) override;
+ void advise_raise(const std::vector<miral::Window> &windows) override;
+
+- void handle_request_drag_and_drop(miral::WindowInfo &window_info) override;
+ void handle_request_move(miral::WindowInfo &window_info, const MirInputEvent *input_event) override;
+ void handle_request_resize(miral::WindowInfo &window_info, const MirInputEvent *input_event, MirResizeEdge edge) override;
+
+--
+2.43.0
+
diff --git a/testing/qtmir/APKBUILD b/testing/qtmir/APKBUILD
new file mode 100644
index 00000000000..da2cebb4506
--- /dev/null
+++ b/testing/qtmir/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=qtmir
+pkgver=0.7.2
+pkgrel=0
+pkgdesc="QPA plugin to make Qt a Mir server"
+# armhf: blocked by lots of dependencies
+# riscv64: blocked by valgrind
+arch="all !armhf !riscv64"
+url="https://gitlab.com/ubports/development/core/qtmir"
+license="LGPL-3.0-only"
+makedepends="
+ cgmanager-dev
+ cmake
+ cmake-extras
+ gsettings-qt-dev
+ gtest-dev
+ libqtdbusmock
+ libqtdbustest
+ lomiri-app-launch-dev
+ lomiri-content-hub-dev
+ lomiri-url-dispatcher-dev
+ lttng-ust-tools
+ mir-dev
+ process-cpp-dev
+ qt5-qtdeclarative-dev
+ qt5-qtsensors-dev
+ samurai
+ valgrind-dev
+ "
+checkdepends="
+ dbus
+ py3-dbusmock
+ "
+source="https://gitlab.com/ubports/development/core/qtmir/-/archive/$pkgver/qtmir-$pkgver.tar.gz
+ 0001-Wayland-hack-set-maliit-server-to-inputmethod-type-W.patch
+ 0002-Squash-of-miroil-patches.patch
+ 0003-Require-miroil-in-out-.pc-file.patch
+ 0004-Update-for-Mir-2.15-removals.patch
+ "
+subpackages="$pkgname-dev"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DWITH_MIR2=ON
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ # Remove files for testing only
+ # https://gitlab.com/ubports/development/core/qtmir/-/blob/main/debian/qtmir-tests.install
+ rm "$pkgdir"/usr/bin/qtmir-demo-client
+ rm "$pkgdir"/usr/bin/qtmir-demo-shell
+ rm "$pkgdir"/usr/share/applications/qtmir-demo-client.desktop
+ rm "$pkgdir"/usr/share/applications/xwayland.qtmir.desktop
+ rm "$pkgdir"/usr/share/qtmir/benchmarks/common.py
+ rm "$pkgdir"/usr/share/qtmir/benchmarks/report_types.py
+ rm "$pkgdir"/usr/share/qtmir/benchmarks/touch_event_latency.py
+ rm "$pkgdir"/usr/share/qtmir/benchmarks/touch_event_latency.R
+ rmdir "$pkgdir"/usr/share/applications/
+ rm -r "$pkgdir"/usr/share/qtmir/qtmir-demo-client/
+ rm -r "$pkgdir"/usr/share/qtmir/qtmir-demo-shell/
+ rm -r "$pkgdir"/usr/share/qtmir/benchmarks/
+ rmdir "$pkgdir"/usr/share/qtmir/
+}
+
+sha512sums="
+17b59f4056b3dd7509201a3d575c3c018f278e9e08fdef3d38049f95b48389f87a6154d569db242e705f68d6b09916319f4d9d6ee3b3e5faea0299a9d9770d83 qtmir-0.7.2.tar.gz
+f6481e3fff1b00066d2292e8273bd1dc5759d65e8eb5dba5e1400ba4570663933a8ed5e42bbf0207a96a9733b30256c1ee70055f25d93fcb862dff72e9bc0d1d 0001-Wayland-hack-set-maliit-server-to-inputmethod-type-W.patch
+bd783233deb19bb1feda66b30c57fa565482c809f161d2065da882fd497d3f8f8678e0414a181e2386c2b633a0099e0e80d4f1057623abfff817b6619100b724 0002-Squash-of-miroil-patches.patch
+b99d9c84921e8374e6596825de9b3ed120d461b2a2627cf98bb31b306db6f49a919e5a1f40eb0ffdb4986ea463d6e90a6bd3c29c5ed4147c6c6b1bd85628501d 0003-Require-miroil-in-out-.pc-file.patch
+d828204c95458d33ffd6364c3a25a8151fc1503ed81415655a86dbc1cd4d47a2ba5b0d6d30d9f17416a82901ec250b22e09fbbd367f3c63094b2d8a83cb3518a 0004-Update-for-Mir-2.15-removals.patch
+"
diff --git a/testing/qtox/APKBUILD b/testing/qtox/APKBUILD
new file mode 100644
index 00000000000..b190d7d8225
--- /dev/null
+++ b/testing/qtox/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=qtox
+pkgver=1.17.6
+pkgrel=6
+pkgdesc="IM client using the encrypted peer-to-peer Tox protocol"
+url="https://qtox.github.io/"
+# armhf: sonnet
+# ppc64le: fails tests
+arch="all !armhf !ppc64le"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ samurai
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ qt5-qtsvg-dev
+ ffmpeg-dev
+ libexif-dev
+ libqrencode-dev
+ libsodium-dev
+ sqlcipher-dev
+ libvpx-dev
+ sonnet5-dev
+ toxcore-dev
+ openal-soft-dev
+ "
+source="https://github.com/qTox/qTox/archive/refs/tags/v$pkgver/qtox-$pkgver.tar.gz"
+builddir="$srcdir/qTox-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+92047769fa7c1b1be23a236072e6a8727fc956a8959c7a1f36a616d2217f558bd435cf28acdb73dc83e52cf46772c7aa4068c589bc095d327efac5495c4b3e39 qtox-1.17.6.tar.gz
+"
diff --git a/testing/qtpass/APKBUILD b/testing/qtpass/APKBUILD
index 4b7332e637e..62c446a9646 100644
--- a/testing/qtpass/APKBUILD
+++ b/testing/qtpass/APKBUILD
@@ -2,8 +2,7 @@
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=qtpass
_pkgname=QtPass
-pkgver=1.4.0_rc1
-_pkgver=${pkgver/_/-}
+pkgver=1.4.0
pkgrel=0
pkgdesc="Multi-platform GUI for pass"
url="https://qtpass.org/"
@@ -11,10 +10,10 @@ arch="all"
license="GPL-3.0-or-later"
depends="gnupg pwgen"
makedepends="qt5-qttools-dev qt5-qtsvg-dev"
-source="https://github.com/IJHack/qtpass/archive/$_pkgver/qtpass-$_pkgver.tar.gz"
+source="https://github.com/IJHack/QtPass/releases/download/v$pkgver/QtPass-$pkgver.tar.gz"
subpackages="$pkgname-doc"
-builddir="$srcdir/$_pkgname-$_pkgver"
+builddir="$srcdir/$_pkgname-$pkgver"
build() {
qmake-qt5
@@ -33,5 +32,5 @@ package() {
}
sha512sums="
-e489b344621eebe07e4c4d417fd6f3ff02e005b4cb66beaa4c69a231f9438c5fa50e3b632cbd1b3c1252e33fdd87770a92c6b852e02b73e52b0f19d3f2a4b478 qtpass-1.4.0-rc1.tar.gz
+47c1284c10e0d8a3bf63c049fc29d785d1a53bef6f183bbe22efebf466371dd454a6e43c944739f487d609f3cde188701ba538e9cb8e2c7e5530f8fa6f992625 QtPass-1.4.0.tar.gz
"
diff --git a/testing/quakespasm/APKBUILD b/testing/quakespasm/APKBUILD
index 9d0a954603b..53496f14302 100644
--- a/testing/quakespasm/APKBUILD
+++ b/testing/quakespasm/APKBUILD
@@ -1,9 +1,10 @@
+# Maintainer: Jordan Christiansen <xordspar0@gmail.com>
# Contributor: Paul Bredbury <brebs@sent.com>
pkgname=quakespasm
-pkgver=0.94.1
+pkgver=0.96.1
pkgrel=0
pkgdesc="Quake 1 engine"
-url="http://quakespasm.sourceforge.net/"
+url="https://quakespasm.sourceforge.net/"
arch="all"
license="GPL-2.0-or-later"
makedepends="mesa-dev sdl2-dev libmad-dev libvorbis-dev"
@@ -21,5 +22,5 @@ package() {
}
sha512sums="
-17b7fc74a5e3932b6341c36d957f86ffc01e88013971be2eb4252b57fceecaebeb5cd9a67619ebd38422dfe0fbdbe06a5e5486dcf82ff17fb7d1b0ba664b1cf0 quakespasm-0.94.1.tar.gz
+4bf442b866e90ecb0deaebd97f21847d38b0931b297547a598f9c98c4882de33ac422dfdc376c1d5f03b18e0d480932632052747afa3741b35613637371a69d0 quakespasm-0.96.1.tar.gz
"
diff --git a/testing/qucs-s/APKBUILD b/testing/qucs-s/APKBUILD
new file mode 100644
index 00000000000..f56cadfc93b
--- /dev/null
+++ b/testing/qucs-s/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=qucs-s
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="Fancy graphical user interface for a number of popular circuit simulation engines"
+url="https://github.com/ra3xdh/qucs_s"
+# ppc64le, riscv64, s390x: blocked by octave
+arch="all !ppc64le !riscv64 !s390x"
+license="GPL-2.0-only"
+options="!check" # no test suite
+depends="
+ ngspice
+ octave
+ "
+makedepends="
+ bison
+ cmake
+ flex
+ qt5-qtbase-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ samurai
+ "
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://github.com/ra3xdh/qucs_s/archive/$pkgver/qucs_s-$pkgver.tar.gz"
+langdir="/usr/share/qucs-s/lang"
+builddir="$srcdir/qucs_s-$pkgver"
+
+build() {
+ cmake -B builddir -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release
+ cmake --build builddir
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install builddir
+}
+
+sha512sums="
+bc487ff3ad0b06d694b570a02937e4a47d04148e949117148440d7b1293b669fc33b989316fad4bf703fe6bf94c034f7f4a97457a3ebfe08bcd7e9cf86e7f49b qucs_s-1.1.0.tar.gz
+"
diff --git a/testing/queercat/APKBUILD b/testing/queercat/APKBUILD
new file mode 100644
index 00000000000..73b4a4c5bb5
--- /dev/null
+++ b/testing/queercat/APKBUILD
@@ -0,0 +1,23 @@
+# Contributor: Coco Liliace <coco@liliace.dev>
+# Maintainer: Coco Liliace <coco@liliace.dev>
+pkgname=queercat
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="A version of lolcat with options for some lgbtq+ flags"
+url="https://github.com/Elsa002/queercat"
+arch="all"
+license="Unlicense"
+options="!check" # no tests
+source="$pkgname-$pkgver.tar.gz::https://github.com/Elsa002/queercat/archive/v$pkgver.tar.gz"
+
+build() {
+ ${CC:-cc} main.c $CFLAGS $CPPFLAGS $LDFLAGS -o queercat
+}
+
+package() {
+ install -Dt "$pkgdir"/usr/bin queercat
+}
+
+sha512sums="
+ae44b11b386c582278a86027124329de23b573ffcb7dadfa69deb87f3b94b39ec86fa07061d31ddf3ef6c4a9ca21e7f7dc5147ae52f15aacffbd81642411bb75 queercat-1.0.0.tar.gz
+"
diff --git a/testing/quickjs/00-makefile.patch b/testing/quickjs/00-makefile.patch
deleted file mode 100644
index f4124f31d81..00000000000
--- a/testing/quickjs/00-makefile.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-Source: Chloe "SpaceToast" Kudryavtsev <toast@toast.cafe>
-Remove When: The default Makefile doesn't enforce 32 bit binaries and allows for static linking.
-
-1. Make M32 mode conditional and not dependent on cross-compilation (off by default).
-2. Fix up LIBS.
-3. Allow for static linking.
---- a//Makefile
-+++ b/Makefile
-@@ -33,6 +33,7 @@
- #CONFIG_WERROR=y
- # force 32 bit build for some utilities
- #CONFIG_M32=y
-+#CONFIG_STATIC=y
-
- ifdef CONFIG_DARWIN
- # use clang instead of gcc
-@@ -113,6 +114,9 @@
- CFLAGS_OPT=$(CFLAGS) -O2
- CFLAGS_NOLTO:=$(CFLAGS_OPT)
- LDFLAGS=-g
-+ifdef CONFIG_STATIC
-+LDFLAGS+=-static
-+endif
- ifdef CONFIG_LTO
- CFLAGS_SMALL+=-flto
- CFLAGS_OPT+=-flto
-@@ -126,11 +130,11 @@
- CFLAGS+=-fsanitize=address -fno-omit-frame-pointer
- LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer
- endif
--ifdef CONFIG_WIN32
--LDEXPORT=
--else
-+ifndef CONFIG_WIN32
-+ifndef CONFIG_STATIC
- LDEXPORT=-rdynamic
- endif
-+endif
-
- PROGS=qjs$(EXE) qjsc$(EXE) run-test262
- ifneq ($(CROSS_PREFIX),)
diff --git a/testing/quickjs/APKBUILD b/testing/quickjs/APKBUILD
deleted file mode 100644
index 3854a313e9f..00000000000
--- a/testing/quickjs/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Maintainer: Chloe Kudryavtsev <toast@toast.cafe>
-pkgname=quickjs
-_pkgver=2020-11-08
-pkgver=0.${_pkgver//-}
-pkgrel=1
-pkgdesc="Small and embeddable Javascript engine"
-url="https://bellard.org/quickjs/"
-arch="all !s390x !ppc64le !mips !mips64" # build segfaults on s390x and ppc64le, requires hardfloat
-license="MIT"
-options="!check" # disabled because bug/issue on builders
-subpackages="$pkgname-doc $pkgname-dev $pkgname-static"
-source="https://bellard.org/quickjs/quickjs-$_pkgver.tar.xz
- 00-makefile.patch
- "
-builddir="$srcdir/$pkgname-$_pkgver"
-
-build() {
- for bin in qjs qjsc ; do
- CONFIG_STATIC=y make prefix=/usr $bin
- cp $bin $bin.static
- done
- make clean
-
- make prefix=/usr
-}
-
-check() {
- make test
-}
-
-package() {
- make install prefix="$pkgdir"/usr
- for bin in qjs.static qjsc.static ; do
- install -Dm755 $bin "$pkgdir"/usr/bin/$bin
- done
- for doc in doc/*.html; do
- install -Dm644 $doc "$pkgdir"/usr/share/doc/quickjs/$doc
- done
-}
-
-static() {
- pkgdesc="$pkgdesc - static binaries"
- mkdir -p "$subpkgdir"/usr/bin
- mv "$pkgdir"/usr/bin/*.static "$subpkgdir"/usr/bin/
-}
-
-sha512sums="d437813948269bab6046c0219eb20ccea45613073bea1c4eee5b553831fdaaa5e2165b14fcb436e86bf70d488200845f7821864abb6f40b115f0ef7f24971e02 quickjs-2020-11-08.tar.xz
-4c6b7932598d7da69316c38a7e3fd3881eb4c1b1f4a13a09fc5dd6c2c417abd90f73487652afefcaffd7e65f30d94915ed301a5091769d42162917251c58e686 00-makefile.patch"
diff --git a/testing/quilt/APKBUILD b/testing/quilt/APKBUILD
deleted file mode 100644
index 7d7078d61d0..00000000000
--- a/testing/quilt/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Breno Leitao <breno.leitao@gmail.com>
-# Maintainer:
-pkgname=quilt
-pkgver=0.66
-pkgrel=3
-pkgdesc="Quilt allows you to easily manage large numbers of patches by keeping track of the changes each patch makes"
-url="https://savannah.nongnu.org/projects/quilt"
-arch="noarch"
-license="GPL-2.0-only"
-depends="bash bzip2 diffutils gawk gettext patch"
-makedepends="lynx perl sed"
-checkdepends="ed"
-subpackages="
- $pkgname-doc
- $pkgname-lang
- $pkgname-bash-completion
- "
-source="https://download.savannah.gnu.org/releases/quilt/quilt-$pkgver.tar.gz"
-# Broken: "mv: can't rename 'patches/test.diff': Permission denied !"
-options="!check"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --sysconfdir=/etc
- make all
-}
-
-check() {
- make check
-}
-
-package() {
- make BUILD_ROOT="$pkgdir" install
-
- mkdir -p "$pkgdir"/usr/share/bash-completion
- mv "$pkgdir"/etc/bash_completion.d "$pkgdir"/usr/share/bash-completion/completions
-}
-
-sha512sums="c2cb75c0937612e1e0da25b713acf629b6b5aacbd8254d8bd17220b63c7b8ca996cd9d0315a32d67d54a4a7dc01b212cdda33afaacf3db063da757f1973306f4 quilt-0.66.tar.gz"
diff --git a/testing/quodlibet/APKBUILD b/testing/quodlibet/APKBUILD
new file mode 100644
index 00000000000..88bdad974d2
--- /dev/null
+++ b/testing/quodlibet/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=quodlibet
+pkgver=4.6.0
+pkgrel=1
+pkgdesc="Music player and music library manager"
+url="https://quodlibet.readthedocs.io"
+arch="noarch"
+license="GPL-2.0-and-later"
+depends="gtk+3.0
+ py3-gobject3
+ gobject-introspection
+ cairo-gobject
+ py3-cairo
+ py3-mutagen
+ libsoup
+ py3-feedparser
+ gstreamer
+ gst-plugins-base
+ gst-plugins-good
+ gst-plugins-ugly
+ gst-plugins-bad
+ gst-libav
+ py3-dbus"
+makedepends="py3-gpep517 py3-setuptools py3-wheel gettext py3-gettext py3-sphinx"
+subpackages="$pkgname-pyc $pkgname-doc $pkgname-lang $pkgname-bash-completion $pkgname-zsh-completion"
+source="https://github.com/quodlibet/quodlibet/releases/download/release-$pkgver/quodlibet-$pkgver.tar.gz"
+options="!check" #needs running GTK
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+d17ed0ba14aa86eaf103fdc5feaeda74575e4bd9d9e55dae07679afb50e279c82b66b7429b0435c36663a9865141c168d3ff56a25c64f9694818f722362db7e9 quodlibet-4.6.0.tar.gz
+"
diff --git a/testing/qwt/APKBUILD b/testing/qwt/APKBUILD
deleted file mode 100644
index f7e8216e20d..00000000000
--- a/testing/qwt/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=qwt
-pkgver=6.1.6
-pkgrel=0
-pkgdesc="Qt Widgets for Technical Applications"
-url="https://qwt.sourceforge.io/"
-arch="all"
-license="custom" # Based on LGPL but more liberal
-makedepends="qt5-qtbase-dev qt5-qtsvg-dev qt5-qttools-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://downloads.sourceforge.net/qwt/qwt-$pkgver.tar.bz2"
-options="!check" # no unit tests
-
-prepare() {
- default_prepare
-
- # Fix installation paths, based on Arch Linux's qwt package
- sed -e '/^\s*QWT_INSTALL_PREFIX/ s|=.*|= /usr|' \
- -e '/^QWT_INSTALL_DOCS/ s|/doc|/share/doc/qwt|' \
- -e '/^QWT_INSTALL_HEADERS/ s|include|&/qwt|' \
- -e '/^QWT_INSTALL_PLUGINS/ s|plugins/designer|lib/qt/&|' \
- -e '/^QWT_INSTALL_FEATURES/ s|features|lib/qt/mkspecs/&|' \
- -i qwtconfig.pri
-}
-
-build() {
- qmake-qt5 qwt.pro
- make
-}
-
-package() {
- INSTALL_ROOT="$pkgdir" make install
- install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname"
-}
-
-sha512sums="0525672a2cbc07aeb4b9c0fb1c020540dcb8963d845e697a220ae0dfa8f543c529fa1fc2aa862826e627579cb5e987d0bd1da8ca95ccf02bcbced80fe5f8ed17 qwt-6.1.6.tar.bz2"
diff --git a/testing/r2ghidra/APKBUILD b/testing/r2ghidra/APKBUILD
new file mode 100644
index 00000000000..5f82d24898b
--- /dev/null
+++ b/testing/r2ghidra/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=r2ghidra
+pkgver=5.9.0
+_ghidra_native=0.4.2
+pkgrel=0
+pkgdesc="native ghidra decompiler for radare2"
+url="https://github.com/radareorg/r2ghidra"
+# this is massive, and nobody is going to use a decompiler on other
+# architectures
+arch="x86_64 aarch64 ppc64le"
+license="LGPL-3.0-only AND Apache-2.0"
+depends="radare2"
+makedepends="
+ libzip-dev
+ meson
+ openssl-dev
+ pugixml-dev
+ radare2-dev
+ "
+source="https://github.com/radareorg/r2ghidra/archive/refs/tags/$pkgver/r2ghidra-$pkgver.tar.gz
+ https://github.com/radareorg/ghidra-native/archive/refs/tags/$_ghidra_native/ghidra-native-$_ghidra_native.tar.gz
+ use-system-pugixml.patch"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+ mv "$srcdir"/ghidra-native-"$_ghidra_native" "$builddir"/ghidra-native
+ make -C "$builddir"/ghidra-native patch
+}
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ . output
+ meson compile -C output
+
+ # not implemented for meson yet
+ cd ghidra
+ make sleigh-build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+
+ # not implemented for meson yet
+ cd "$builddir"/ghidra
+ make D="$pkgdir"/usr/lib/radare2/$pkgver/r2ghidra_sleigh sleigh-install
+}
+
+sha512sums="
+8ce1dadb3986608f67f024e92b25b527666636edd1ed65d68620a945c77c9f23743b817673e08b26a5606485ec812686265cff1afb3fbfbb9f89a248eca37aec r2ghidra-5.9.0.tar.gz
+8e63ee8aac7bff0f115f39f796c69f9427a8c2d4f4e980cbe31ccc040817f9c40724fb7003d05d0cf6eab2233bf3947eb2c7f73dacb9a2277c87ccfbcba861d5 ghidra-native-0.4.2.tar.gz
+6616f82b119e59f083b8ef43198effb094a0592a575220b0e40d48b42b4ee5b519a0a0d9e1ed4c9c61968a624625cf0c4a874884e8af334b5006378d7bdd9390 use-system-pugixml.patch
+"
diff --git a/testing/r2ghidra/use-system-pugixml.patch b/testing/r2ghidra/use-system-pugixml.patch
new file mode 100644
index 00000000000..04b1ec15d53
--- /dev/null
+++ b/testing/r2ghidra/use-system-pugixml.patch
@@ -0,0 +1,71 @@
+From 971fdf012c6c48e43e00d91727698ace4b0c67a6 Mon Sep 17 00:00:00 2001
+From: Maxim Karasev <mxkrsv@disroot.org>
+Date: Fri, 23 Dec 2022 22:27:24 +0300
+Subject: [PATCH] Use system pugixml
+
+---
+ meson.build | 13 ++++---------
+ 1 file changed, 4 insertions(+), 9 deletions(-)
+
+diff --git a/meson.build b/meson.build
+index e35d4f7..a5788c9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -7,10 +7,6 @@ version : '5.8.0',
+ default_options : ['c_std=c11', 'cpp_std=c++11']
+ )
+
+-pugixml_sources = [
+- 'third-party/pugixml/src/pugixml.cpp'
+-]
+-
+ r2ghidra_sources = [
+ 'src/ArchMap.cpp',
+ 'src/CodeXMLParse.cpp',
+@@ -28,7 +24,6 @@ r2ghidra_sources = [
+
+ incdirs = [
+ 'src',
+- 'third-party/pugixml/src/',
+ 'ghidra-native/src/decompiler/',
+ ]
+
+@@ -178,7 +173,6 @@ ghidra_decompiler_sources = [
+
+ r2ghidra_core_sources = [
+ r2ghidra_sources,
+- pugixml_sources,
+ ghidra_decompiler_sources,
+ 'src/anal_ghidra_plugin.c',
+ 'src/anal_ghidra.cpp',
+@@ -188,16 +182,17 @@ r2ghidra_core_sources = [
+
+ sleighc_sources = [
+ r2ghidra_sources,
+- pugixml_sources,
+ 'ghidra-native/src/decompiler/slgh_compile.cc',
+ 'ghidra-native/src/decompiler/slghparse.cc',
+ 'ghidra-native/src/decompiler/slghscan.cc',
+ ghidra_decompiler_sources,
+ ]
+
++pugixml = dependency('pugixml')
++
+ r2ghidra_core_plugin = library('core_r2ghidra',
+ r2ghidra_core_sources,
+- dependencies: [r_core],
++ dependencies: [r_core, pugixml],
+ override_options : ['c_std=c11', 'cpp_std=c++11'],
+ include_directories: r2ghidra_incdirs,
+ install: true,
+@@ -207,6 +202,6 @@ r2ghidra_core_plugin = library('core_r2ghidra',
+ sleighc_exe = executable('sleighc', sleighc_sources,
+ include_directories: r2ghidra_incdirs,
+ override_options : ['c_std=c11', 'cpp_std=c++11'],
+- dependencies: [r_core],
++ dependencies: [r_core, pugixml],
+ install: true
+ )
+--
+2.39.0
+
diff --git a/testing/rabbitmq-server/APKBUILD b/testing/rabbitmq-server/APKBUILD
index c67ad9ace31..9a004ff10b6 100644
--- a/testing/rabbitmq-server/APKBUILD
+++ b/testing/rabbitmq-server/APKBUILD
@@ -1,25 +1,34 @@
# Contributor: Nathan Johnson <nathan@nathanjohnson.info>
-# Maintainer: Nathan Johnson <nathan@nathanjohnson.info>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=rabbitmq-server
-pkgver=3.9.1
+pkgver=3.13.1
pkgrel=0
pkgdesc="open source multi-protocol messaging broker"
url="https://www.rabbitmq.com/"
arch="noarch"
-license="MPL-1.1"
+license="MPL-2.0"
depends="erlang"
-makedepends="$depends_dev erlang-dev python3 py3-simplejson xmlto libxslt
- rsync zip gawk grep socat elixir"
+makedepends="
+ elixir
+ erlang-dev
+ gawk
+ grep
+ libxslt
+ py3-simplejson
+ python3
+ rsync
+ socat
+ xmlto
+ zip
+ "
install="$pkgname.pre-install $pkgname.post-deinstall"
pkgusers="rabbitmq"
pkggroups="rabbitmq"
-subpackages="$pkgname-doc"
-source="
+subpackages="$pkgname-doc $pkgname-openrc"
+source="https://github.com/rabbitmq/rabbitmq-server/releases/download/v$pkgver/rabbitmq-server-$pkgver.tar.xz
rabbitmq-server.initd
rabbitmq-server.logrotate
- https://github.com/rabbitmq/rabbitmq-server/releases/download/v$pkgver/rabbitmq-server-$pkgver.tar.xz
- py3.patch
-"
+ "
options="!check" # test suite broken
# secfixes:
@@ -50,47 +59,33 @@ package() {
MANDIR=/usr/share/man \
PYTHON=python3
- mkdir -p "$pkgdir"/var/lib/rabbitmq/mnesia
- mkdir -p "$pkgdir"/var/log/rabbitmq
+ install -dm755 -o rabbitmq -g rabbitmq "$pkgdir"/var/lib/rabbitmq
+ install -dm750 -o rabbitmq -g rabbitmq "$pkgdir"/var/lib/rabbitmq/mnesia
+ install -dm755 -o rabbitmq -g rabbitmq "$pkgdir"/var/log/rabbitmq
- #Copy all necessary lib files etc.
- install -p -m755 -D "$builddir"/scripts/rabbitmq-server.ocf \
+ # Copy all necessary lib files etc.
+ install -Dvpm755 scripts/rabbitmq-server.ocf \
"$pkgdir"/usr/lib/ocf/resource.d/rabbitmq/rabbitmq-server
- install -p -m755 -D "$builddir"/scripts/rabbitmq-server-ha.ocf \
- "$pkgdir"/usr/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha
- install -p -m644 -D "$srcdir/"$pkgname.logrotate \
+ install -Dvpm644 "$srcdir"/rabbitmq-server.logrotate \
"$pkgdir"/etc/logrotate.d/rabbitmq-server
- install -m755 -D "$srcdir"/$pkgname.initd \
- "$pkgdir"/etc/init.d/$pkgname
- mkdir -p "$pkgdir"/usr/sbin
-
- # This is lifted / adapted from the official upstream spec file.
- # I'd prefer a patch file, but this is probably a little easier
- # to manage since this is how they do it upstream. inb4eww
- sed -e 's|@SU_RABBITMQ_SH_C@|su rabbitmq -s /bin/sh -c|' \
- < "$builddir"/scripts/rabbitmq-script-wrapper \
- > "$pkgdir"/usr/sbin/rabbitmqctl
+ install -Dvm755 "$srcdir"/rabbitmq-server.initd \
+ "$pkgdir"/etc/init.d/rabbitmq-server
- chmod 0755 "$pkgdir"/usr/sbin/rabbitmqctl
- for script in rabbitmq-server rabbitmq-plugins; do
- cp -a "$pkgdir"/usr/sbin/rabbitmqctl \
- "$pkgdir"/usr/sbin/$script;
+ install -Dvm755 scripts/rabbitmq-script-wrapper \
+ "$pkgdir"/usr/sbin/rabbitmqctl
+ local script; for script in rabbitmq-server rabbitmq-plugins; do
+ ln -s rabbitmqctl "$pkgdir"/usr/sbin/$script
done
- mkdir -p "$pkgdir"/usr/share/doc/"$pkgname"
- cp -a "$builddir"/LICENSE* "$pkgdir"/usr/share/doc/"$pkgname"/
- cp -a "$builddir"/deps/rabbit/docs/* "$pkgdir"/usr/share/doc/"$pkgname"/
- cp -a "$builddir"/deps/rabbitmq_sharding/docs/* "$pkgdir"/usr/share/doc/"$pkgname"/
- chmod 755 "$pkgdir"/var/lib/rabbitmq
- chmod 750 "$pkgdir"/var/lib/rabbitmq/mnesia
- chmod 755 "$pkgdir"/var/log/rabbitmq
- chown -R $pkgusers:$pkggroups "$pkgdir"/var/lib/rabbitmq
- chown -R $pkgusers:$pkggroups "$pkgdir"/var/log/rabbitmq
+ install -Dvm644 LICENSE* -t "$pkgdir"/usr/share/licenses/$pkgname/
+ install -Dvm644 -t "$pkgdir"/usr/share/doc/$pkgname/examples/ \
+ deps/rabbit/docs/advanced.config.example \
+ deps/rabbit/docs/rabbitmq.conf.example \
+ deps/rabbit/docs/set_rabbitmq_policy.sh.example
}
sha512sums="
-a8bb02a7cae1f8720e5c7aaabfe6a2c0e731cffbe0d8f99bdcb6597daa654dc49e6d41943974601435700cf469eaa8286dc91a3255a6b9023754c3861fbb5cd9 rabbitmq-server.initd
+022c6e213cf7cea865a6931a3481897efea65dffa649dd77df9d88bb5f9b7abaaa83b525f983de4cb336b1e0469073cadc2ce48d4f47f93005c87b9fdadb3857 rabbitmq-server-3.13.1.tar.xz
+52413e264ae13a607262f17068ea9b9e65cc23e348d4baf45635473893758ee4571fe1b47989b1c0e69d82ec653e013955719465d37474d3e3e29c21808403f5 rabbitmq-server.initd
b8655cb048ab3b32001d4e6920bb5366696f3a5da75c053605e9b270e771c548e36858dca8338813d34376534515bba00af5e6dd7b4b1754a0e64a8fb756e3f3 rabbitmq-server.logrotate
-d6c214d46ff03a0d67a248a24eb6c6f83c593ce2b21d50da7f5d5a238c0c83577c5f46802e615edbafbd4fd97e08fb24a3ce3021244a33a79d15d45dc4d73c4a rabbitmq-server-3.9.1.tar.xz
-a2e70b1f857892ae1665eed097a8f8b758985d067393c674c43d85aa7650b1f94ddd720053954304c1220896a7812c60c1ca5f41a3357c067fb758094161b82c py3.patch
"
diff --git a/testing/rabbitmq-server/py3.patch b/testing/rabbitmq-server/py3.patch
deleted file mode 100644
index 259ab507f48..00000000000
--- a/testing/rabbitmq-server/py3.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-diff --git a/deps/rabbit_common/codegen.py b/deps/rabbit_common/codegen.py
-index 8b81362..70bd7fa 100755
---- a/deps/rabbit_common/codegen.py
-+++ b/deps/rabbit_common/codegen.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- ## This Source Code Form is subject to the terms of the Mozilla Public
- ## License, v. 2.0. If a copy of the MPL was not distributed with this
-diff --git a/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py b/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py
-index 1ae2e80..3e61442 100755
---- a/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py
-+++ b/deps/rabbitmq_auth_backend_http/examples/rabbitmq_auth_backend_django/manage.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
- import os
- import sys
-
-diff --git a/deps/rabbitmq_consistent_hash_exchange/README.md b/deps/rabbitmq_consistent_hash_exchange/README.md
-index ce1623f..6ff906b 100644
---- a/deps/rabbitmq_consistent_hash_exchange/README.md
-+++ b/deps/rabbitmq_consistent_hash_exchange/README.md
-@@ -150,7 +150,7 @@ Executable versions of some of the code examples can be found under [./examples]
- This version of the example uses [Pika](https://pika.readthedocs.io/en/stable/), the most widely used Python client for RabbitMQ:
-
- ``` python
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import pika
- import time
-@@ -342,7 +342,7 @@ routed to the same **arbitrarily chosen** queue.
- #### Code Example in Python
-
- ``` python
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import pika
- import time
-@@ -544,7 +544,7 @@ routed to the same **arbitrarily chosen** queue.
- #### Code Example in Python
-
- ``` python
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import pika
- import time
-diff --git a/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py b/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py
-index 6cf67d6..30e43ea 100644
---- a/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py
-+++ b/deps/rabbitmq_consistent_hash_exchange/examples/python/example1.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import pika
- import time
-diff --git a/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py b/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py
-index 8c1ac15..0099b28 100644
---- a/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py
-+++ b/deps/rabbitmq_consistent_hash_exchange/examples/python/example2.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import pika
- import time
-diff --git a/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py b/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py
-index 0b74501..c11a4ce 100644
---- a/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py
-+++ b/deps/rabbitmq_consistent_hash_exchange/examples/python/example3.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/env python
-+#!/usr/bin/env python3
-
- import pika
- import time
-
diff --git a/testing/rabbitmq-server/rabbitmq-server.initd b/testing/rabbitmq-server/rabbitmq-server.initd
index caca99463c3..8fe0f05046a 100644
--- a/testing/rabbitmq-server/rabbitmq-server.initd
+++ b/testing/rabbitmq-server/rabbitmq-server.initd
@@ -1,42 +1,26 @@
#!/sbin/openrc-run
-pidfile=/run/rabbitmq/rabbitmq.pid
name=rabbitmq
-daemon=/usr/sbin/rabbitmq-server
+description="RabbitMQ Server"
+
+command=/usr/sbin/rabbitmq-server
+command_background=true
+command_user="rabbitmq:rabbitmq"
+pidfile=/run/rabbitmq/rabbitmq.pid
+
+export RABBITMQ_PID_FILE="$pidfile"
-startup_log=/var/log/rabbitmq/startup_log
-startup_err=/var/log/rabbitmq/startup_err
-shutdown_log=/var/log/rabbitmq/shutdown_log
-shutdown_err=/var/log/rabbitmq/shutdown_err
+output_log="/var/log/rabbitmq/${RC_SVCNAME}_log"
+error_log="/var/log/rabbitmq/${RC_SVCNAME}_err"
depend() {
need net localmount
after firewall
}
-start() {
- ebegin "Starting ${name}"
- # We need to test if /var/run/rabbitmq exists, since scirpt will fail if it does not
- checkpath -m 700 -o rabbitmq:rabbitmq -d "$(dirname "$pidfile")"
- checkpath -m 644 -o rabbitmq:rabbitmq --file-truncate -f $startup_log
- checkpath -m 644 -o rabbitmq:rabbitmq --file-truncate -f $startup_err
- start-stop-daemon --start \
- --env RABBITMQ_PID_FILE=$pidfile \
- --pidfile $pidfile \
- --stdout $startup_log \
- --stderr $startup_err \
- --background $daemon
- eend $?
+start_pre() {
+ # We need to test if /var/run/rabbitmq exists, since script will fail if it does not
+ checkpath -m 700 -o "$command_user" -d "$(dirname "$pidfile")"
+ checkpath -q -m 644 -o "$command_user" --file-truncate -f $output_log
+ checkpath -q -m 644 -o "$command_user" --file-truncate -f $error_log
}
-
-stop() {
- ebegin "Stopping ${name}"
- checkpath -m 644 -o rabbitmq:rabbitmq --file-truncate -f $shutdown_log
- checkpath -m 644 -o rabbitmq:rabbitmq --file-truncate -f $shutdown_err
- start-stop-daemon --stop --quiet --pidfile $pidfile \
- --exec /bin/sh -- -c "/usr/sbin/rabbitmqctl \
- --stop $pidfile > $shutdown_log \
- 2> $shutdown_err"
- eend $?
-}
-
diff --git a/testing/racket/0001-Ensure-that-the-GMP-ARM-extra-file-has-the-correct-e.patch b/testing/racket/0001-Ensure-that-the-GMP-ARM-extra-file-has-the-correct-e.patch
deleted file mode 100644
index 873e4faf46d..00000000000
--- a/testing/racket/0001-Ensure-that-the-GMP-ARM-extra-file-has-the-correct-e.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-From 8ff7b4cc86dcd0addcead1b36febae82fa9d4b40 Mon Sep 17 00:00:00 2001
-From: Paulo Matos <pmatos@linki.tools>
-Date: Tue, 12 May 2020 21:04:59 +0200
-Subject: [PATCH] Ensure that the GMP ARM extra file has the correct extension
- (#3178)
-
-* Ensure that the GMP ARM extra file has the correct extension
-
-We hardcoded in some places the extension of the GMP ARM extra file
-with .o, however the Makefile rule to build the file will use .lo is
---enable-shared is enabled. This commit fixes the discrepancy by not
-hardcoding the extension anywhere.
-
-Fixes #3176
-
-* Avoid gnu make extension
-
-* Replace spaces to conform with other lines
-
-* Ensure we only add extension if file is needed
-
-* Move the LTO definition to the configure.ac
-
-* Carry the LTO variable into the Makefile
-
-* Fix variable reference
-
-* Add variable definition to gc2 Makefile
-
-* annotate assignment
----
- racket/src/cfg-racket | 6 +++---
- racket/src/racket/configure.ac | 6 +++---
- racket/src/racket/gc2/Makefile.in | 1 +
- racket/src/racket/src/Makefile.in | 4 +++-
- 4 files changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/racket/src/cfg-racket b/racket/src/cfg-racket
-index fb875a897a..321479a48f 100755
---- a/racket/src/cfg-racket
-+++ b/racket/src/cfg-racket
-@@ -4887,7 +4887,7 @@ case "$host_os" in
- ppc|powerpc)
- ;;
- alpha)
-- EXTRA_GMP_OBJ="gmp_alpha_gcc.o"
-+ EXTRA_GMP_OBJ='gmp_alpha_gcc.$(LTO)'
- EXTRA_GMP_DEP='$(EXTRA_GMP_DEP_FILE)'
- ;;
- i386|i486|i586|i686)
-@@ -4895,7 +4895,7 @@ case "$host_os" in
- check_for_unwind=REG_ESP
- ;;
- arm*)
-- EXTRA_GMP_OBJ="gmp_arm_gcc.o"
-+ EXTRA_GMP_OBJ='gmp_arm_gcc.$(LTO)'
- EXTRA_GMP_DEP='$(EXTRA_GMP_DEP_FILE)'
- ;;
- *)
-@@ -4907,7 +4907,7 @@ case "$host_os" in
- if test "$CC" = "cc" ; then
- COMPFLAGS="$COMPFLAGS -ieee_with_inexact -assume noaligned_objects"
- elif test "$CC" = "gcc" ; then
-- EXTRA_GMP_OBJ="gmp_alpha_gcc.o"
-+ EXTRA_GMP_OBJ='gmp_alpha_gcc.$(LTO)'
- EXTRA_GMP_DEP='$(EXTRA_GMP_DEP_FILE)'
- fi
- ;;
-diff --git a/racket/src/racket/configure.ac b/racket/src/racket/configure.ac
-index 6d24ce52dc..a2f43a9a87 100644
---- a/racket/src/racket/configure.ac
-+++ b/racket/src/racket/configure.ac
-@@ -612,7 +612,7 @@ case "$host_os" in
- ppc|powerpc)
- ;;
- alpha)
-- EXTRA_GMP_OBJ="gmp_alpha_gcc.o"
-+ EXTRA_GMP_OBJ='gmp_alpha_gcc.$(LTO)'
- EXTRA_GMP_DEP='$(EXTRA_GMP_DEP_FILE)'
- ;;
- i386|i486|i586|i686)
-@@ -620,7 +620,7 @@ case "$host_os" in
- check_for_unwind=REG_ESP
- ;;
- arm*)
-- EXTRA_GMP_OBJ="gmp_arm_gcc.o"
-+ EXTRA_GMP_OBJ='gmp_arm_gcc.$(LTO)'
- EXTRA_GMP_DEP='$(EXTRA_GMP_DEP_FILE)'
- ;;
- *)
-@@ -632,7 +632,7 @@ case "$host_os" in
- if test "$CC" = "cc" ; then
- COMPFLAGS="$COMPFLAGS -ieee_with_inexact -assume noaligned_objects"
- elif test "$CC" = "gcc" ; then
-- EXTRA_GMP_OBJ="gmp_alpha_gcc.o"
-+ EXTRA_GMP_OBJ='gmp_alpha_gcc.$(LTO)'
- EXTRA_GMP_DEP='$(EXTRA_GMP_DEP_FILE)'
- fi
- ;;
-diff --git a/racket/src/racket/gc2/Makefile.in b/racket/src/racket/gc2/Makefile.in
-index ef33c5881e..a89e933cb6 100644
---- a/racket/src/racket/gc2/Makefile.in
-+++ b/racket/src/racket/gc2/Makefile.in
-@@ -581,6 +581,7 @@ LIBRKTIO_FOR_DLL = $(LIBRKTIO_FOR_DLL_@LIBSFX@)
- LIBRKTIO_FOR_LIB = $(LIBRKTIO_FOR_LIB_@LIBSFX@)
- LIBRKTIO_UP_FOR_LIB = $(LIBRKTIO_UP_FOR_LIB_@LIBSFX@)
-
-+LTO=@LTO@ # Need for replacement of EXTRA_GMP_OBJ which carries the variable
- EXTRA_GMP_DEP_FILE = $(SRCDIR)/@EXTRA_GMP_OBJ@
- EXTRA_GMP = @EXTRA_GMP_DEP@
-
-diff --git a/racket/src/racket/src/Makefile.in b/racket/src/racket/src/Makefile.in
-index 0602f92ec5..60b81ed297 100644
---- a/racket/src/racket/src/Makefile.in
-+++ b/racket/src/racket/src/Makefile.in
-@@ -13,6 +13,7 @@ CFLAGS = @CFLAGS@ @COMPFLAGS@ @PROFFLAGS@
- CPPFLAGS = @PREFLAGS@
- RKTIO_INC = -I$(srcdir)/../../rktio -I../../rktio
- ALL_CFLAGS = $(CFLAGS) -I$(builddir)/.. -I$(srcdir)/../include $(RKTIO_INC) $(CPPFLAGS) @OPTIONS@ @MZOPTIONS@
-+LTO=@LTO@ # Need for replacement of EXTRA_GMP_OBJ which carries the variable
-
- OBJS = salloc.@LTO@ \
- bignum.@LTO@ \
-@@ -71,7 +72,8 @@ OBJS = salloc.@LTO@ \
- type.@LTO@ \
- unwind.@LTO@ \
- validate.@LTO@ \
-- vector.@LTO@ @EXTRA_GMP_OBJ@
-+ vector.@LTO@ \
-+ @EXTRA_GMP_OBJ@
-
- SRCS = $(srcdir)/salloc.c \
- $(srcdir)/bignum.c \
diff --git a/testing/racket/APKBUILD b/testing/racket/APKBUILD
deleted file mode 100644
index 02415ab4896..00000000000
--- a/testing/racket/APKBUILD
+++ /dev/null
@@ -1,63 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-#
-# TODO: Separate packages into subpackages?
-# TODO: Install even packages from the full tarball?
-# TODO: Figure out how to run tests.
-pkgname=racket
-pkgver=7.7
-pkgrel=2
-pkgdesc="A general purpose programming language in the Lisp-Scheme family"
-url="https://racket-lang.org/"
-# Racket BC does not seem to support riscv64.
-arch="all !riscv64"
-license="LGPL-3.0-or-later MIT"
-depends="ca-certificates libcrypto1.1 libssl1.1"
-makedepends="chrpath libffi-dev libucontext-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://download.racket-lang.org/releases/$pkgver/installers/racket-minimal-$pkgver-src.tgz
- 0001-Ensure-that-the-GMP-ARM-extra-file-has-the-correct-e.patch"
-
-# XXX: Upstream repository uses a racket/ subdirectory, this can be
-# removed if the aport builds without any git format patches.
-patch_args="-p2"
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
- # Remove bundled libffi to be sure that system-provided is used.
- rm -Rf src/foreign/libffi
-}
-
-build() {
- cd "$builddir"/src
-
- export CFLAGS="$CFLAGS -D_GNU_SOURCE"
- export LDFLAGS="$LDFLAGS -lucontext"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --target=$CTARGET \
- --prefix=/usr \
- --sysconfdir=/etc \
- --enable-shared \
- --disable-docs
- make
-}
-
-package() {
- cd "$builddir"/src
-
- make install DESTDIR="$pkgdir"
-
- cd "$pkgdir"
-
- # Remove redundant RPATH.
- chrpath -d usr/bin/racket usr/lib/racket/gracket
-
- rm -Rf usr/share/applications
-}
-
-sha512sums="e683a2f90dc2f0a0f73d07319f9241359c85593d2e227183c604fa60c734bc922a0c184cae4934dc04f71b889f433c40902098b02c03078a3da8bb0a10c24e30 racket-minimal-7.7-src.tgz
-ce29c2761ad69b8f9415e23080fa607bd45e8e8ac76394d8fde1e9f022aa58374651ebf3576de88c1280a3aeaae4c9921eaa66d3a950943eec4fe1528f10311a 0001-Ensure-that-the-GMP-ARM-extra-file-has-the-correct-e.patch"
diff --git a/testing/radarr/0001-disable-restart.patch b/testing/radarr/0001-disable-restart.patch
new file mode 100644
index 00000000000..8dc5aebe628
--- /dev/null
+++ b/testing/radarr/0001-disable-restart.patch
@@ -0,0 +1,20 @@
+Disable the restart functionality so the daemon can manage it.
+
+---
+ src/NzbDrone.Core/Lifecycle/LifecycleService.cs | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/NzbDrone.Core/Lifecycle/LifecycleService.cs b/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
+index 9ed36a42e..565641284 100644
+--- a/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
++++ b/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
+@@ -46,8 +46,7 @@ public void Shutdown()
+ public void Restart()
+ {
+ _logger.Info("Restart requested.");
+-
+- _eventAggregator.PublishEvent(new ApplicationShutdownRequested(true));
++ _eventAggregator.PublishEvent(new ApplicationShutdownRequested());
+
+ if (_runtimeInfo.IsWindowsService)
+ {
diff --git a/testing/radarr/APKBUILD b/testing/radarr/APKBUILD
new file mode 100644
index 00000000000..bc6e8d9cfbc
--- /dev/null
+++ b/testing/radarr/APKBUILD
@@ -0,0 +1,101 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=radarr
+pkgver=5.4.6.8723
+pkgrel=0
+pkgdesc="Movie download automation for usenet and torrents."
+url="https://github.com/Radarr/Radarr"
+arch="x86_64 aarch64 armv7"
+license="GPL-3.0-only"
+options="net !check" # no tests
+depends="
+ aspnetcore6-runtime
+ sqlite-libs
+ "
+makedepends="
+ dotnet6-sdk
+ yarn
+ "
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/Radarr/Radarr/archive/refs/tags/v$pkgver.tar.gz
+ 0001-disable-restart.patch
+ radarr.initd
+ radarr.confd
+ package_info
+ "
+builddir="$srcdir/Radarr-$pkgver"
+pkgusers="radarr"
+pkggroups="radarr"
+
+# map arch to dotnet
+case $CARCH in
+ x86_64) _dotnet_arch="x64" ;;
+ aarch64) _dotnet_arch="arm64" ;;
+ armv7) _dotnet_arch="arm" ;;
+ *) _dotnet_arch="$CARCH" ;;
+esac
+
+# custom variables
+_runtime="linux-musl-$_dotnet_arch"
+_framework="net6.0"
+_output="_output"
+_artifacts="$_output/$_framework/$_runtime/publish"
+
+prepare() {
+ default_prepare
+
+ # increase max opened files
+ ulimit -n 4096
+
+ # replace version info
+ local buildprops=src/Directory.Build.props
+ sed -i "/<AssemblyVersion>/s/>.*<\//>$pkgver<\//" "$buildprops"
+ sed -i "/<AssemblyConfiguration>/s/>.*<\//>master<\//" "$buildprops"
+
+ export BROWSERSLIST_IGNORE_OLD_DATA=true
+ yarn install --frozen-lockfile --network-timeout 120000
+}
+
+build() {
+ dotnet build src \
+ -p:RuntimeIdentifiers="$_runtime" \
+ -p:Configuration=Release \
+ -p:SelfContained=false \
+ -t:PublishAllRids
+ yarn build --env production --no-stats
+
+ # fix ffprobe permissions
+ chmod +x "$_artifacts"/ffprobe
+
+ # cleanup
+ find "$_artifacts" \( \
+ -name "ServiceUninstall.*" -o \
+ -name "ServiceInstall.*" -o \
+ -name "Radarr.Windows.*" \) -delete
+
+ mv "$_output"/UI "$_artifacts"
+}
+
+package() {
+ local destdir="$pkgdir"/usr/lib/radarr
+
+ # use package_info to disable update feature
+ install -Dm644 "$srcdir"/package_info "$destdir"/package_info
+ echo "PackageVersion=$pkgver-r$pkgrel" >>"$destdir"/package_info
+
+ cp -af "$_artifacts" "$destdir"/bin
+ chown -R "$pkgusers:$pkggroups" "$destdir"
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+c67d4dfb318ff7d5b837684775f1301cc8232cc1fc82d741e91a2e33ce2cf7c68e51dc1c060d39d1773d99a7d48f2d3fec51837fd963171f540fb9d2edee9563 radarr-5.4.6.8723.tar.gz
+753520379a6c5f2899b4ddfd820d5573598a32cb105f74c6fd978a3f2c98895cf709ef2d9afe2bae8c4856da86cb6a1364f5713ea7ef6a36bb21b5a5840c1471 0001-disable-restart.patch
+fc61194f8cf6d87cb8ec13db39e7d953bdcd2fae0fdf47ebe7701e52bfad5a92313f76a7bdbb04608170dbaec0e5895788079d284f988fd99fe19f7e61f2e836 radarr.initd
+7f30d17b9a66b34786ff9f62954eda1677296fc724dde9e2b4f1edb6f19bce8b3df5806d661e48751bd4ebdf6faecd9632d89c1fb35d41ad01ea892fdad71ded radarr.confd
+67c4dd1cf8259296d994c350dfd3962d23333071889ce0b4ef6b2f4cbb4349490c5dbe4dcc202c99bab7a5c4b7611be56d7c8835b2b13924526c45311db1c3fb package_info
+"
diff --git a/testing/radarr/package_info b/testing/radarr/package_info
new file mode 100644
index 00000000000..c2e444817cd
--- /dev/null
+++ b/testing/radarr/package_info
@@ -0,0 +1,4 @@
+# PackageVersion is added by APKBUILD
+PackageAuthor=[alpine](https://pkgs.alpinelinux.org/packages)
+UpdateMethod=External
+Branch=master
diff --git a/testing/radarr/radarr.confd b/testing/radarr/radarr.confd
new file mode 100644
index 00000000000..35ee0d368ba
--- /dev/null
+++ b/testing/radarr/radarr.confd
@@ -0,0 +1,10 @@
+# Radarr configuration options
+
+command_user="radarr:radarr" # user:group
+directory="/var/lib/radarr"
+umask=0002
+supervisor="supervise-daemon"
+
+#logdir="/var/log/radarr"
+#error_log="$logdir/error.log"
+#output_log="$logdir/output.log"
diff --git a/testing/radarr/radarr.initd b/testing/radarr/radarr.initd
new file mode 100644
index 00000000000..9c994beecf2
--- /dev/null
+++ b/testing/radarr/radarr.initd
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+
+# fallback values for /etc/conf.d/radarr
+: ${command_user:=radarr:radarr}
+: ${directory:=/var/lib/radarr}
+: ${umask:=0002}
+
+name=radarr
+description="Radarr daemon"
+command="/usr/lib/radarr/bin/Radarr"
+command_args="-nobrowser -data=$directory"
+command_background=true
+pidfile="/run/$name.pid"
+
+depend() {
+ need net
+ use dns logger netmount
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory"
+
+ if [ -n "$logdir" ]; then
+ checkpath -d -o "$command_user" "$logdir"
+ fi
+
+ if [ -n "$output_log" ]; then
+ checkpath -f -o "$command_user" "$output_log"
+ fi
+
+ if [ -n "$error_log" ]; then
+ checkpath -f -o "$command_user" "$error_log"
+ fi
+}
diff --git a/testing/radarr/radarr.pre-install b/testing/radarr/radarr.pre-install
new file mode 100644
index 00000000000..30dd3305557
--- /dev/null
+++ b/testing/radarr/radarr.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S radarr 2>/dev/null
+adduser -S -D -h /var/lib/radarr -s /sbin/nologin -G radarr -g radarr radarr 2>/dev/null
+
+exit 0
diff --git a/testing/radeontop/APKBUILD b/testing/radeontop/APKBUILD
deleted file mode 100644
index 1bf950bedda..00000000000
--- a/testing/radeontop/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: guddaff <guddaff@protonmail.com>
-# Maintainer: guddaff <guddaff@protonmail.com>
-pkgname=radeontop
-pkgver=1.4
-pkgrel=0
-pkgdesc="amd gpu utilization monitor"
-url="https://github.com/clbr/radeontop"
-arch="all"
-options="!check" #there are no checks
-license="GPL-3.0-or-later"
-subpackages="$pkgname-doc $pkgname-lang"
-makedepends="libdrm-dev ncurses-dev libpciaccess-dev libxcb-dev musl-libintl gettext"
-source="$pkgname-$pkgver.tar.gz::https://github.com/clbr/radeontop/archive/refs/tags/v$pkgver.tar.gz"
-
-build() {
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-078087929bdbcf9b131d78f5ab0adc3d086be168d376d9f8e27a886668764263b072e0b08cb4dde593284fcdd16faa44711125c2ea5a14aaad70c8fa0f57f2b9 radeontop-1.4.tar.gz
-"
diff --git a/testing/radio-cli/APKBUILD b/testing/radio-cli/APKBUILD
new file mode 100644
index 00000000000..47348547e84
--- /dev/null
+++ b/testing/radio-cli/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Hannes Braun <hannes@hannesbraun.net>
+# Maintainer: Hannes Braun <hannes@hannesbraun.net>
+pkgname=radio-cli
+pkgver=2.3.1
+pkgrel=0
+pkgdesc="A simple radio CLI"
+url="https://github.com/margual56/radio-cli"
+arch="all"
+license="GPL-2.0-only"
+depends="mpv yt-dlp"
+makedepends="cargo cargo-auditable openssl-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/margual56/radio-cli/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm755 target/release/radio-cli "$pkgdir"/usr/bin/radio-cli
+}
+
+sha512sums="
+e5ca17a81127640b350c1306cd9ec339dd6d819a38ac006a99c2a21dcae2fb82f87788caea529ac2dac3315a8dbb0c671157f019c762f92a8550c9be521a1adc radio-cli-2.3.1.tar.gz
+"
diff --git a/testing/raft/APKBUILD b/testing/raft/APKBUILD
deleted file mode 100644
index b517c0d33a1..00000000000
--- a/testing/raft/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=raft
-pkgver=0.11.2
-pkgrel=0
-pkgdesc="C implementation of the Raft consensus protocol"
-url="https://github.com/canonical/raft"
-arch="all"
-license="LGPL3"
-makedepends="linux-headers libuv-dev autoconf automake libtool"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/canonical/raft/archive/v$pkgver.tar.gz
- unistd-include.patch"
-
-prepare() {
- default_prepare
- autoreconf -i
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --disable-lz4 \
- --enable-example=no
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
-}
-
-sha512sums="
-8be47270cf3b888ff6adeeec2480ccd5065b45c3c546da089cbb326cf429f0bcd4396001e20fbf52587c00d5757337812c834ec5064fafa4815a978a7cf0c35f raft-0.11.2.tar.gz
-d0f204a271ac40bf9b36027f2a0ee53195aad7366c0166a7f6268bac5bfb05546a5ef858f466c4bbc2a0c6a50dff8d9bc3314abd125f25d49ed5aab9641527b2 unistd-include.patch
-"
diff --git a/testing/raft/unistd-include.patch b/testing/raft/unistd-include.patch
deleted file mode 100644
index f3166eef7b3..00000000000
--- a/testing/raft/unistd-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/test/lib/dir.h b/test/lib/dir.h
-index eeb5ab5..ba66f21 100644
---- a/test/lib/dir.h
-+++ b/test/lib/dir.h
-@@ -8,6 +8,7 @@
- #define TEST_DIR_H
-
- #include "munit.h"
-+#include "unistd.h"
-
- /* Munit parameter defining the file system type backing the temporary directory
- * created by test_dir_setup().
diff --git a/testing/rage/APKBUILD b/testing/rage/APKBUILD
new file mode 100644
index 00000000000..5313e6ec1ef
--- /dev/null
+++ b/testing/rage/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=rage
+pkgver=0.9.2
+pkgrel=1
+pkgdesc="Simple, modern and secure encryption tool"
+url="https://github.com/str4d/rage"
+license="Apache-2.0 OR MIT"
+arch="all !s390x !riscv64" # blocked by rust/cargo
+makedepends="cargo fuse3-dev cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/str4d/rage/archive/v$pkgver/rage-$pkgver.tar.gz
+ fix-build-32bit.patch
+ "
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked
+}
+
+build() {
+ cargo auditable build --frozen --release --features mount
+
+ cargo run --frozen --release --example generate-docs
+ cargo run --frozen --release --example generate-completions
+}
+
+check() {
+ cargo test --frozen --features mount
+}
+
+package() {
+ for cmd in rage rage-keygen rage-mount; do
+ install -Dm755 target/release/$cmd -t "$pkgdir"/usr/bin
+
+ install -Dm644 target/manpages/$cmd.1.gz -t "$pkgdir"/usr/share/man/man1
+
+ install -Dm644 target/completions/$cmd.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$cmd
+ install -Dm644 target/completions/$cmd.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$cmd.fish
+ install -Dm644 target/completions/$cmd.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$cmd
+ done
+}
+
+sha512sums="
+ec44929b01e75366f9c0a41f4bf0b5dff256a8cdb1fb67461cc29fc9a90c9fd3936017e64fb427e8303c02380c841b82955c9f3aee90f3bdb1081a3cdfae2a34 rage-0.9.2.tar.gz
+eabd51083c59450ac4e5aae5f499b8ef657d70fbde1d78322ec56790a52485ae93b006b5255053d2bc5313e4352610aa5cd60b994496a45196db9a2de190d417 fix-build-32bit.patch
+"
diff --git a/testing/rage/fix-build-32bit.patch b/testing/rage/fix-build-32bit.patch
new file mode 100644
index 00000000000..b626b40c8d7
--- /dev/null
+++ b/testing/rage/fix-build-32bit.patch
@@ -0,0 +1,229 @@
+Fix build on 32-bit archs by updating pprof-rs from 0.10.1 to 0.11.1.
+Ref: https://github.com/tikv/pprof-rs/commit/09c0e73ab29cd2f586d0502397b3ea96ac8b2171
+
+diff --git a/Cargo.lock b/Cargo.lock
+index 2f76061..e4917b6 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -68,7 +68,7 @@ dependencies = [
+ "cipher",
+ "console",
+ "cookie-factory",
+- "criterion",
++ "criterion 0.3.6",
+ "criterion-cycles-per-byte",
+ "ctr",
+ "curve25519-dalek",
+@@ -168,6 +168,12 @@ dependencies = [
+ "libc",
+ ]
+
++[[package]]
++name = "anes"
++version = "0.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299"
++
+ [[package]]
+ name = "arc-swap"
+ version = "1.6.0"
+@@ -401,6 +407,33 @@ dependencies = [
+ "winapi",
+ ]
+
++[[package]]
++name = "ciborium"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "effd91f6c78e5a4ace8a5d3c0b6bfaec9e2baaef55f3efc00e45fb2e477ee926"
++dependencies = [
++ "ciborium-io",
++ "ciborium-ll",
++ "serde",
++]
++
++[[package]]
++name = "ciborium-io"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cdf919175532b369853f5d5e20b26b43112613fd6fe7aee757e35f7a44642656"
++
++[[package]]
++name = "ciborium-ll"
++version = "0.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "defaa24ecc093c77630e6c15e17c51f5e187bf35ee514f4e2d67baaa96dae22b"
++dependencies = [
++ "ciborium-io",
++ "half",
++]
++
+ [[package]]
+ name = "cipher"
+ version = "0.4.4"
+@@ -494,9 +527,9 @@ checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+ [[package]]
+ name = "cpp_demangle"
+-version = "0.3.5"
++version = "0.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "eeaa953eaad386a53111e47172c2fedba671e5684c8dd601a5f474f4f118710f"
++checksum = "2c76f98bdfc7f66172e6c7065f981ebb576ffc903fe4c0561d9f0c2509226dc6"
+ dependencies = [
+ "cfg-if",
+ ]
+@@ -528,7 +561,7 @@ dependencies = [
+ "atty",
+ "cast",
+ "clap 2.34.0",
+- "criterion-plot",
++ "criterion-plot 0.4.5",
+ "csv",
+ "itertools",
+ "lazy_static",
+@@ -545,13 +578,39 @@ dependencies = [
+ "walkdir",
+ ]
+
++[[package]]
++name = "criterion"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e7c76e09c1aae2bc52b3d2f29e13c6572553b30c4aa1b8a49fd70de6412654cb"
++dependencies = [
++ "anes",
++ "atty",
++ "cast",
++ "ciborium",
++ "clap 3.2.25",
++ "criterion-plot 0.5.0",
++ "itertools",
++ "lazy_static",
++ "num-traits",
++ "oorandom",
++ "plotters",
++ "rayon",
++ "regex",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "tinytemplate",
++ "walkdir",
++]
++
+ [[package]]
+ name = "criterion-cycles-per-byte"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "07175eab62c9054f8828955f9a84ddd3f732f796ee99fb4898453d60be4bcbdc"
+ dependencies = [
+- "criterion",
++ "criterion 0.3.6",
+ ]
+
+ [[package]]
+@@ -564,6 +623,16 @@ dependencies = [
+ "itertools",
+ ]
+
++[[package]]
++name = "criterion-plot"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1"
++dependencies = [
++ "cast",
++ "itertools",
++]
++
+ [[package]]
+ name = "crossbeam-channel"
+ version = "0.5.8"
+@@ -655,7 +724,7 @@ version = "3.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "7394a21d012ce5c850497fb774b167d81b99f060025fbf06ee92b9848bd97eb2"
+ dependencies = [
+- "nix 0.26.2",
++ "nix",
+ "windows-sys 0.48.0",
+ ]
+
+@@ -1496,17 +1565,6 @@ dependencies = [
+ "adler",
+ ]
+
+-[[package]]
+-name = "nix"
+-version = "0.24.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069"
+-dependencies = [
+- "bitflags",
+- "cfg-if",
+- "libc",
+-]
+-
+ [[package]]
+ name = "nix"
+ version = "0.26.2"
+@@ -1857,18 +1915,18 @@ dependencies = [
+
+ [[package]]
+ name = "pprof"
+-version = "0.10.1"
++version = "0.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d6472bfed9475542ac46c518734a8d06d71b0f6cb2c17f904aa301711a57786f"
++checksum = "196ded5d4be535690899a4631cc9f18cdc41b7ebf24a79400f46f48e49a11059"
+ dependencies = [
+ "backtrace",
+ "cfg-if",
+- "criterion",
++ "criterion 0.4.0",
+ "findshlibs",
+ "inferno",
+ "libc",
+ "log",
+- "nix 0.24.3",
++ "nix",
+ "once_cell",
+ "parking_lot",
+ "smallvec",
+@@ -2419,9 +2477,9 @@ checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc"
+
+ [[package]]
+ name = "symbolic-common"
+-version = "9.2.1"
++version = "10.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "800963ba330b09a2ae4a4f7c6392b81fbc2784099a98c1eac68c3437aa9382b2"
++checksum = "1b55cdc318ede251d0957f07afe5fed912119b8c1bc5a7804151826db999e737"
+ dependencies = [
+ "debugid",
+ "memmap2",
+@@ -2431,9 +2489,9 @@ dependencies = [
+
+ [[package]]
+ name = "symbolic-demangle"
+-version = "9.2.1"
++version = "10.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2b940a1fdbc72bb3369e38714efe6cd332dbbe46d093cf03d668b9ac390d1ad0"
++checksum = "79be897be8a483a81fff6a3a4e195b4ac838ef73ca42d348b3f722da9902e489"
+ dependencies = [
+ "cpp_demangle",
+ "rustc-demangle",
+diff --git a/age/Cargo.toml b/age/Cargo.toml
+index 63ec0a5..ed0e577 100644
+--- a/age/Cargo.toml
++++ b/age/Cargo.toml
+@@ -102,7 +102,7 @@ test-case = "2"
+ tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
+
+ [target.'cfg(unix)'.dev-dependencies]
+-pprof = { version = "0.10", features = ["criterion", "flamegraph"] }
++pprof = { version = "0.11.1", features = ["criterion", "flamegraph"] }
+
+ [target.'cfg(any(target_arch = "x86", target_arch = "x86_64"))'.dev-dependencies]
+ criterion-cycles-per-byte = "0.1"
diff --git a/testing/rancher-cli/APKBUILD b/testing/rancher-cli/APKBUILD
new file mode 100644
index 00000000000..20f6671781d
--- /dev/null
+++ b/testing/rancher-cli/APKBUILD
@@ -0,0 +1,31 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=rancher-cli
+pkgver=2.8.0
+pkgrel=2
+pkgdesc="The Rancher CLI"
+url="https://www.rancher.com/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/rancher/cli/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/cli-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -o bin/rancher -ldflags "-X main.VERSION=v$pkgver"
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/rancher -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+9a2c3c4c7a2a8210a30414e2efdf25fcc0e55ffea2ecdd07d7427deab8d3aaf2eb2b3560b7cb8bc14ad678ac73dd98230ca40024d58e757de5f2e40becd4d28c rancher-cli-2.8.0.tar.gz
+"
diff --git a/testing/randrctl/APKBUILD b/testing/randrctl/APKBUILD
index 4c4d7d69b2d..e72d23bebd6 100644
--- a/testing/randrctl/APKBUILD
+++ b/testing/randrctl/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=randrctl
pkgver=1.9.0
-pkgrel=1
+pkgrel=5
pkgdesc="Profile based screen manager for X"
url="https://github.com/edio/randrctl"
arch="noarch"
license="GPL-3.0-or-later"
-depends="python3 py3-argcomplete py3-yaml xrandr"
+depends="python3 py3-argcomplete py3-setuptools py3-yaml xrandr"
checkdepends="py3-pytest"
makedepends="python3-dev py3-pbr py3-setuptools"
+subpackages="$pkgname-pyc"
source="https://github.com/edio/randrctl/archive/$pkgver/randrctl-$pkgver.tar.gz"
export PBR_VERSION="$pkgver"
@@ -23,7 +24,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -m 644 -D randrctl/setup/99-randrctl.rules \
"$pkgdir"/lib/udev/rules.d/99-$pkgname.rules
diff --git a/testing/rankwidth/APKBUILD b/testing/rankwidth/APKBUILD
new file mode 100644
index 00000000000..85659884e81
--- /dev/null
+++ b/testing/rankwidth/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=rankwidth
+pkgver=0.9
+pkgrel=3
+pkgdesc="Library for calculating rank-width and rank-decompositions"
+url="https://sourceforge.net/projects/rankwidth/"
+# s390x: blocked by libigraph
+arch="all !s390x"
+license="GPL-2.0-or-later"
+makedepends="libigraph-dev"
+options="!check" # no test suite
+source="https://master.dl.sourceforge.net/project/rankwidth/rw-$pkgver.tar.gz
+ igraph-0.10.1.patch"
+subpackages="$pkgname-static $pkgname-dev $pkgname-libs $pkgname-doc"
+builddir="$srcdir/rw-$pkgver"
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+f4f1910506cbdb557ca50bac6f63cfca3271a5df8d13c67d2d9bba79b9cdb03196a679e6091554175decbee0871888de71bed5746662c9a75418f0f5dd9bd609 rw-0.9.tar.gz
+94871294bf2ffc2733cf14c241773bb339d5aab1e6f5b2801c8406df367045fbcb3c5fb9787f0bbf6c4fefc1c40aca93736f1df4520e30c00f24294209c2811f igraph-0.10.1.patch
+"
diff --git a/testing/rankwidth/igraph-0.10.1.patch b/testing/rankwidth/igraph-0.10.1.patch
new file mode 100644
index 00000000000..467b21fddc8
--- /dev/null
+++ b/testing/rankwidth/igraph-0.10.1.patch
@@ -0,0 +1,11 @@
+--- a/simplerw.c
++++ b/simplerw.c
+@@ -134,7 +134,7 @@
+ igraph_destroy(&igraph);
+ return(-1);
+ }
+- igraph_get_adjacency(&igraph, &imatrix, IGRAPH_GET_ADJACENCY_BOTH, 0);
++ igraph_get_adjacency(&igraph, &imatrix, IGRAPH_GET_ADJACENCY_BOTH, 0, 0);
+ igraph_destroy(&igraph);
+ if(igraph_matrix_nrow(&imatrix) > MAX_VERTICES)
+ {
diff --git a/testing/rapidfuzz/APKBUILD b/testing/rapidfuzz/APKBUILD
new file mode 100644
index 00000000000..4194b3abb71
--- /dev/null
+++ b/testing/rapidfuzz/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer:
+pkgname=rapidfuzz
+pkgver=3.0.0
+pkgrel=0
+pkgdesc="Rapid fuzzy string matching in C++ using the Levenshtein Distance"
+url="https://github.com/maxbachmann/rapidfuzz-cpp"
+arch="all"
+license="MIT"
+makedepends="
+ cmake
+ samurai
+ "
+checkdepends="catch2-3"
+source="$pkgname-cpp-$pkgver.tar.gz::https://github.com/maxbachmann/rapidfuzz-cpp/archive/refs/tags/v$pkgver.tar.gz
+ cstdint.patch
+ "
+builddir="$srcdir/rapidfuzz-cpp-$pkgver"
+
+case "$CARCH" in
+x86)
+ # float rounding
+ options="!check"
+ ;;
+esac
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DRAPIDFUZZ_BUILD_TESTING="$(want_check && echo ON || echo OFF)"
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+c5f20399bd1cfaa057c40cc17be5d730d50c1014553241f80f461a2fa89de670357d17a4f090394170263b09a53aa29238e5eff2caf9064a2a118c42aa14f320 rapidfuzz-cpp-3.0.0.tar.gz
+216c5082498830d42d2eb14d3eba35dd08446008916c920db7b55eaf3dd2358f86a61c238315b85fefecf08b9e902dc4db172f91a8479cfd735e53c7b3e03bf5 cstdint.patch
+"
diff --git a/testing/rapidfuzz/cstdint.patch b/testing/rapidfuzz/cstdint.patch
new file mode 100644
index 00000000000..cce903344db
--- /dev/null
+++ b/testing/rapidfuzz/cstdint.patch
@@ -0,0 +1,12 @@
+diff --git a/rapidfuzz_reference/JaroWinkler.hpp b/rapidfuzz_reference/JaroWinkler.hpp
+index 3b717d8..9d415e4 100644
+--- a/rapidfuzz_reference/JaroWinkler.hpp
++++ b/rapidfuzz_reference/JaroWinkler.hpp
+@@ -2,6 +2,7 @@
+ /* Copyright © 2022-present Max Bachmann */
+
+ #pragma once
++#include <cstdint>
+ #include "Jaro.hpp"
+
+ namespace rapidfuzz_reference {
diff --git a/testing/raspberrypi-usbboot/APKBUILD b/testing/raspberrypi-usbboot/APKBUILD
index 969feaa1885..779964dc899 100644
--- a/testing/raspberrypi-usbboot/APKBUILD
+++ b/testing/raspberrypi-usbboot/APKBUILD
@@ -3,8 +3,8 @@
_pkgname=usbboot
pkgname=raspberrypi-usbboot
_pkgver=2021.07.01
-pkgver=$(echo $_pkgver | sed "s/\.//g")
-pkgrel=0
+pkgver="${_pkgver//./}"
+pkgrel=2
pkgdesc="rpiboot and bin2c from Raspberry Pi"
url="https://github.com/raspberrypi/usbboot"
arch="all"
@@ -24,9 +24,7 @@ package() {
mkdir -p "$pkgdir"/bin
cp rpiboot bin2c "$pkgdir"/bin
- mkdir -p "$pkgdir"/etc/udev/rules.d
- sed "s/plugdev/usb/" < debian/99-rpiboot.rules > \
- "$pkgdir"/etc/udev/rules.d/99-rpiboot.rules
+ install -Dm644 -t "$pkgdir"/usr/lib/udev/rules.d debian/99-rpiboot.rules
mkdir -p "$pkgdir"/usr/share/rpiboot/msd
cp msd/bootcode.bin "$pkgdir"/usr/share/rpiboot/msd
diff --git a/testing/rathole/APKBUILD b/testing/rathole/APKBUILD
index 555a8ea46c2..97ea9cbf28d 100644
--- a/testing/rathole/APKBUILD
+++ b/testing/rathole/APKBUILD
@@ -1,27 +1,34 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=rathole
-pkgver=0.3.7
+pkgver=0.5.0
pkgrel=0
pkgdesc="High-performance reverse proxy for NAT traversal"
url="https://github.com/rapiz1/rathole"
license="Apache-2.0"
arch="all !s390x !riscv64" # blocked by rust/cargo
-makedepends="cargo openssl-dev"
+makedepends="cargo openssl-dev cargo-auditable"
source="https://github.com/rapiz1/rathole/archive/v$pkgver/rathole-$pkgver.tar.gz"
+options="!check" # loop forever on failure
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
build() {
- cargo build --release --locked
+ cargo auditable build --frozen --release
}
check() {
- cargo test --release --locked
+ cargo test --frozen
}
package() {
- install -Dm755 target/release/rathole "$pkgdir"/usr/bin/rathole
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
}
sha512sums="
-85326d9024bf1e33b543be22b5894cba427bbd9b9b7133628876ca3b1d5da9b448584b1a8008627bbc86504fc12d0e53f8bcdcec6f0bb4b5ce073d81aad06dc9 rathole-0.3.7.tar.gz
+0b4da8e3a95624d2e03a0682eecc098ea5d615bd47080f4a13d8248ee4358faecb81298feb2499084d55415cce01b4bc3fcb8a8d5c41677f2c3ceaa131fd4915 rathole-0.5.0.tar.gz
"
diff --git a/testing/ratpoison/APKBUILD b/testing/ratpoison/APKBUILD
deleted file mode 100644
index e6c275e18dd..00000000000
--- a/testing/ratpoison/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Duncan Guthrie <dguthrie@posteo.net>
-# Maintainer: Duncan Guthrie <dguthrie@posteo.net>
-pkgname=ratpoison
-pkgver=1.4.9
-pkgrel=1
-pkgdesc="Minimalistic window manager"
-url="http://ratpoison.nongnu.org"
-arch="all"
-license="GPL-2.0-only"
-makedepends="libx11-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="http://download.savannah.nongnu.org/releases/$pkgname/$pkgname-$pkgver.tar.xz"
-builddir="$srcdir/$pkgname-$pkgver"
-
-build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --without-xkb \
- --without-xft \
- --without-xrandr
- make
-}
-
-check() {
- cd "$builddir"
- make check
-}
-
-package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="97f705efd2092b8e12528496890c59f613e6fcec010aca94a5a59bd641e22dfc50dd500a4b94af7a07553a8a6359f6bec4eee0db1a7ded29d7f051904b09beef ratpoison-1.4.9.tar.xz"
diff --git a/testing/rattler-build/APKBUILD b/testing/rattler-build/APKBUILD
new file mode 100644
index 00000000000..7f9dc3b42eb
--- /dev/null
+++ b/testing/rattler-build/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=rattler-build
+pkgver=0.15.0
+pkgrel=0
+pkgdesc="A fast conda-package builder"
+url="https://github.com/prefix-dev/rattler-build"
+arch="all"
+license="BSD-3-Clause"
+depends="
+ bzip2
+ xz
+ "
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ "
+checkdepends="
+ patchelf
+ git
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/prefix-dev/rattler-build/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+ mkdir -p completions/
+}
+
+build() {
+ cargo auditable build --frozen --release
+ local _completion="target/release/$pkgname completion"
+ $_completion --shell bash > "completions/$pkgname"
+ $_completion --shell fish > "completions/$pkgname.fish"
+ $_completion --shell zsh > "completions/_$pkgname"
+}
+
+check() {
+ cargo test --frozen -- --skip "test_host_git_source"
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+ install -Dm 664 "completions/$pkgname" -t "$pkgdir/usr/share/bash-completion/completions/"
+ install -Dm 664 "completions/$pkgname.fish" -t "$pkgdir/usr/share/fish/vendor_completions.d/"
+ install -Dm 664 "completions/_$pkgname" -t "$pkgdir/usr/share/zsh/site-functions/"
+}
+
+sha512sums="
+833d28c61390e2d688f523615399eada3ac470a3261718b96bebd167792ad73d00dfe1d51d6860a44d086d9b191b1f0b4b8ff05535bb424276aa2d35c67c9d33 rattler-build-0.15.0.tar.gz
+"
diff --git a/testing/rauc/APKBUILD b/testing/rauc/APKBUILD
new file mode 100644
index 00000000000..2b57e7883af
--- /dev/null
+++ b/testing/rauc/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: Damian Kurek <starfire24680@gmail.com>
+# Maintainer: Damian Kurek <starfire24680@gmail.com>
+pkgname=rauc
+pkgver=1.10.1
+pkgrel=0
+pkgdesc="Safe and secure software updates for embedded Linux"
+url="https://rauc.io/"
+arch="all"
+license="LGPL-2.1-or-later"
+makedepends="
+ autoconf
+ automake
+ curl-dev
+ dbus-dev
+ glib-dev
+ json-glib-dev
+ libfdisk
+ libnl3-dev
+ libtool
+ openssl-dev
+ "
+checkdepends="
+ dbus-x11
+ desync
+ e2fsprogs
+ libfaketime
+ opensc
+ openssl
+ softhsm
+ squashfs-tools
+ "
+# grub is not available on s390x
+# valgrind is not available on armhf or riscv64
+case "$CARCH" in
+s390x) checkdepends="$checkdepends valgrind" ;;
+armhf|riscv64) checkdepends="$checkdepends grub" ;;
+*) checkdepends="$checkdepends grub valgrind" ;;
+esac
+subpackages="$pkgname-service::noarch $pkgname-doc"
+source="$pkgname-$pkgver.tar.xz::https://github.com/rauc/rauc/releases/download/v$pkgver/rauc-$pkgver.tar.xz"
+
+prepare() {
+ default_prepare
+
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
+ make
+}
+
+check() {
+ # There is also qemu-test, but we run only these
+
+ # faketime appears to have no effect on musl libc
+ # so certificate expiration tests will fail
+ make check || true
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+service() {
+ pkgdesc="Service files for rauc"
+ depends="rauc=$pkgver-r$pkgrel"
+ amove /usr/libexec
+ amove /usr/share/dbus-1
+}
+
+sha512sums="
+794a1a517c9a9eacf7466710054f88fc48bf57e34cb460f202f62ca976777054c0faf74dd045164ea29977aa8f5d9d268f5154621b51642898ffafc831c75bbb rauc-1.10.1.tar.xz
+"
diff --git a/testing/rav1e/APKBUILD b/testing/rav1e/APKBUILD
deleted file mode 100644
index 0136ae788d4..00000000000
--- a/testing/rav1e/APKBUILD
+++ /dev/null
@@ -1,57 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=rav1e
-pkgver=0.5.0
-pkgrel=0
-pkgdesc="The fastest and safest AV1 encoder"
-url="https://github.com/xiph/rav1e"
-arch="all !s390x !mips !mips64 !riscv64" # no cargo for s390x
-license="BSD-2-Clause custom"
-makedepends="cargo cargo-c nasm openssl-dev"
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc $pkgname-libs"
-source="$pkgname-$pkgver.tar.gz::https://github.com/xiph/rav1e/archive/v$pkgver.tar.gz"
-
-[ "$CARCH" = armhf ] && options="$options !check" # tests takes >6h
-
-prepare() {
- default_prepare
-
- cargo fetch -v
-}
-
-build() {
- cargo build --release --frozen
- cargo cbuild --release \
- --frozen \
- --prefix /usr \
- --library-type cdylib \
- --library-type staticlib
-}
-
-check() {
- cargo test --release --frozen
-}
-
-package() {
- cargo install \
- --locked \
- --offline \
- --path . \
- --root "$pkgdir"/usr
-
- cargo cinstall \
- --release \
- --frozen \
- --prefix /usr \
- --destdir "$pkgdir" \
- --library-type cdylib \
- --library-type staticlib
-
- install -Dm0644 README.md PATENTS -t "$pkgdir"/usr/share/doc/rav1e
-
- rm "$pkgdir"/usr/.crates*
-}
-
-sha512sums="
-e5dd9151adaff0feea02670848ca061df082884a925b48d052b30857ed0e512e60b6273839869e5b15ac8ffd803eafb8cc0bfef35b78cb545a43c50e8255b949 rav1e-0.5.0.tar.gz
-"
diff --git a/testing/raylib-wayland/APKBUILD b/testing/raylib-wayland/APKBUILD
deleted file mode 100644
index 6a84977343e..00000000000
--- a/testing/raylib-wayland/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer: rfaa <rfaa@rfaa.se>
-pkgname=raylib-wayland
-pkgver=3.5.0
-pkgrel=0
-pkgdesc="Raylib game programming library (Wayland)"
-url="https://www.raylib.com/"
-arch="all !armhf" # Limited by glfw-wayland
-license="Zlib"
-depends="glfw-wayland"
-depends_dev="glfw-wayland-dev"
-makedepends="$depends_dev cmake"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/raysan5/raylib/archive/$pkgver.tar.gz"
-builddir="$srcdir/raylib-$pkgver"
-options="!check" # no tests included
-
-build() {
- cmake -B build \
- -Wno-dev \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DUSE_EXTERNAL_GLFW=ON \
- -DSTATIC=OFF \
- -DSHARED=ON \
- -DWITH_PIC=ON \
- -DBUILD_EXAMPLES=OFF \
- -DBUILD_GAMES=OFF \
- -DUSE_WAYLAND=ON
- make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-
- for f in build/src/*.h; do
- install -Dm0644 "$f" "$pkgdir"/usr/include/"${f##*/}"
- done
-}
-
-sha512sums="ce3e44b28403cae0def9e36cdf65e01b66b029678fc85e375280517e3b4118e02ddfe2fe20d12720a74d73c21a29aebb4c17c2362e7e9d0f52a69efd990764e0 raylib-wayland-3.5.0.tar.gz"
diff --git a/testing/raylib/APKBUILD b/testing/raylib/APKBUILD
deleted file mode 100644
index 8b1415c24a7..00000000000
--- a/testing/raylib/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=raylib
-pkgver=4.0.0
-pkgrel=0
-pkgdesc="a simple and easy to use game development library"
-url="http://www.raylib.com"
-arch="all"
-license="Zlib"
-makedepends="cmake glfw-dev"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/raysan5/raylib/archive/refs/tags/$pkgver.tar.gz"
-options="!check" # No tests.
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DBUILD_EXAMPLES=Off \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DUSE_EXTERNAL_GLFW=ON \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-e9ffab14ab902e3327202e68ca139209ff24100dab62eb03fef50adf363f81e2705d81e709c58cf1514e68e6061c8963555bd2d00744daacc3eb693825fc3417 raylib-4.0.0.tar.gz
-"
diff --git a/testing/razercfg/APKBUILD b/testing/razercfg/APKBUILD
index 89cfeeb3880..5ea41573ceb 100644
--- a/testing/razercfg/APKBUILD
+++ b/testing/razercfg/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=razercfg
pkgver=0.42
-pkgrel=3
+pkgrel=6
pkgdesc="Razer mouse configuration tool"
url="https://bues.ch/cms/hacking/razercfg.html"
arch="all"
@@ -11,9 +11,10 @@ makedepends="
cmake
libusb-dev
python3
+ py3-setuptools
eudev-dev
"
-subpackages="$pkgname-openrc $pkgname-gui::noarch"
+subpackages="$pkgname-openrc $pkgname-gui::noarch $pkgname-pyc"
source="https://github.com/mbuesch/razer/archive/razercfg-$pkgver.tar.gz
razerd.initd
"
diff --git a/testing/razergenie/APKBUILD b/testing/razergenie/APKBUILD
deleted file mode 100644
index c6c0d5df57d..00000000000
--- a/testing/razergenie/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=razergenie
-pkgver=0.9.0
-pkgrel=0
-pkgdesc="Qt application for configuring your Razer devices under GNU/Linux"
-url="https://github.com/z3ntu/RazerGenie"
-arch="all"
-license="GPL-3.0-or-later"
-depends="openrazer"
-makedepends="
- meson
- qt5-qtbase-dev
- qt5-qttools-dev
- qtchooser
- "
-source="https://github.com/z3ntu/razergenie/archive/v$pkgver/razergenie-v$pkgver.tar.gz"
-builddir="$srcdir/RazerGenie-$pkgver"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-77b3a6695fac5f7baf1968a87e3115bba80acbcd812c0504b0b37db99ab98c696ac5e3ad1ac61a2a8da857007ea5c2ae07f7f8414a29f512ccb770eef1b166b6 razergenie-v0.9.0.tar.gz
-"
diff --git a/testing/rbw/APKBUILD b/testing/rbw/APKBUILD
new file mode 100644
index 00000000000..fd888eea90f
--- /dev/null
+++ b/testing/rbw/APKBUILD
@@ -0,0 +1,51 @@
+# Maintainer: crapStone <crapstone01@gmail.com>
+pkgname=rbw
+pkgver=1.9.0
+pkgrel=0
+pkgdesc="Unofficial command line client for Bitwarden."
+url="https://git.tozt.net/rbw"
+arch="all !s390x !riscv64 !ppc64le" # ring
+license="MIT"
+depends="pinentry"
+makedepends="rust cargo cargo-auditable"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://git.tozt.net/rbw/snapshot/rbw-$pkgver.tar.gz"
+export CARGO_HOME="$srcdir"/cargo
+
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+
+ target/release/rbw gen-completions bash > rbw.bash
+ target/release/rbw gen-completions fish > rbw.fish
+ target/release/rbw gen-completions zsh > _rbw
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/rbw "$pkgdir"/usr/bin/rbw
+ install -Dm755 target/release/rbw-agent "$pkgdir"/usr/bin/rbw-agent
+
+ install -Dm644 rbw.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/rbw
+ install -Dm644 rbw.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/rbw.fish
+ install -Dm644 _rbw \
+ "$pkgdir"/usr/share/zsh/site-functions/_rbw
+}
+
+sha512sums="
+1ebe9837574b51e32c645b26c0c47f11fbcf1893adf76ada7b56e3d0b18271594f6047ba5f9acf9aa4d4ff970ad999b42febb070ec687766c035cc5a39748f8b rbw-1.9.0.tar.gz
+"
diff --git a/testing/rclone-browser/APKBUILD b/testing/rclone-browser/APKBUILD
index 69a8918a1f9..bbbdba626bd 100644
--- a/testing/rclone-browser/APKBUILD
+++ b/testing/rclone-browser/APKBUILD
@@ -2,11 +2,12 @@
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=rclone-browser
pkgver=1.8.0
-pkgrel=0
+pkgrel=1
pkgdesc="Simple cross-platform GUI for rclone"
url="https://github.com/kapitainsky/RcloneBrowser"
# riscv64 blocked by binutils-gold -> rclone
-arch="all !riscv64"
+# s390x blocked by rclone -> gh/cronokirby/saferith#51
+arch="all !riscv64 !s390x"
license="MIT"
depends="rclone"
makedepends="cmake qt5-qttools-dev qt5-qtdeclarative-dev"
diff --git a/testing/rcon-cli/APKBUILD b/testing/rcon-cli/APKBUILD
new file mode 100644
index 00000000000..5554af8d195
--- /dev/null
+++ b/testing/rcon-cli/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=rcon-cli
+pkgver=1.6.2
+pkgrel=3
+pkgdesc="A little RCON cli based on james4k's RCON library for golang"
+url="https://github.com/itzg/rcon-cli"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/itzg/rcon-cli/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ go build .
+}
+
+package() {
+ install -Dm755 "$pkgname" -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+4dd03870b134228008b4fba2363fd159992e9c8fea8d912f8c953977fe4f2a9d8afd2d5a7eade9606f6e41ce95e9c0384cc2a12517cda7291b60ecaddc763f80 rcon-cli-1.6.2.tar.gz
+"
diff --git a/testing/rcs/APKBUILD b/testing/rcs/APKBUILD
deleted file mode 100644
index e3fccabfd0f..00000000000
--- a/testing/rcs/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Valery Kartel <valery.kartel@gmail.com>
-pkgname=rcs
-pkgver=5.10.0
-pkgrel=0
-pkgdesc="Revision Control System"
-url="https://www.gnu.org/software/rcs"
-arch="all"
-license="GPL-3.0-or-later"
-depends="diffutils"
-subpackages="$pkgname-doc"
-source="https://ftp.gnu.org/gnu/rcs/rcs-$pkgver.tar.xz"
-
-build() {
- ./configure \
- CFLAGS="-std=c11" \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="d42bded1214f27dfcbe912bbabad8479555a02bc57000a62512d63ff0672de1ed23911cd15c9d1aa4b9a53794ac3fd45937fa1cbc0fcb9d54a3ede4d831f76d0 rcs-5.10.0.tar.xz"
diff --git a/testing/rdedup/APKBUILD b/testing/rdedup/APKBUILD
index 3392d92ec11..5085cfbe694 100644
--- a/testing/rdedup/APKBUILD
+++ b/testing/rdedup/APKBUILD
@@ -2,16 +2,18 @@
# Maintainer:
pkgname=rdedup
pkgver=3.2.1
-pkgrel=1
+pkgrel=4
pkgdesc="Data deduplication with compression and public key encryption"
url="https://github.com/dpc/rdedup"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by cargo
license="MPL-2.0"
-makedepends="cargo clang-dev libsodium-dev openssl-dev xz-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/dpc/rdedup/archive/v$pkgver.tar.gz"
+makedepends="cargo clang-dev libsodium-dev openssl-dev>3 xz-dev cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dpc/rdedup/archive/v$pkgver.tar.gz
+ getrandom-0.2.10.patch
+ "
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
check() {
@@ -19,10 +21,11 @@ check() {
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
+ cargo auditable install --locked --path . --root="$pkgdir/usr"
rm "$pkgdir"/usr/.crates*
}
sha512sums="
375265eab7c133000682fd8bf6bf023d69042571a737e707671874a9c5bada4c05742fd397207661f0c8334f0818e8a52707c412ca5cbec636469f6d9c7448c9 rdedup-3.2.1.tar.gz
+216c9f6111406d2c2c18a2bdbe25678d32f22da7daf2eeff67a1f179e3b40b92b205652f4d8362b33246d50bb29540947138533a9f5bd13c60cb5d9da53edd02 getrandom-0.2.10.patch
"
diff --git a/testing/rdedup/getrandom-0.2.10.patch b/testing/rdedup/getrandom-0.2.10.patch
new file mode 100644
index 00000000000..b290c59faae
--- /dev/null
+++ b/testing/rdedup/getrandom-0.2.10.patch
@@ -0,0 +1,61 @@
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -441,13 +441,13 @@
+
+ [[package]]
+ name = "getrandom"
+-version = "0.2.3"
++version = "0.2.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
++checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+ dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+- "wasi 0.10.2+wasi-snapshot-preview1",
++ "wasi 0.11.0+wasi-snapshot-preview1",
+ ]
+
+ [[package]]
+@@ -566,9 +566,9 @@
+
+ [[package]]
+ name = "libc"
+-version = "0.2.98"
++version = "0.2.149"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
++checksum = "a08173bc88b7955d1b3145aa561539096c421ac8debde8cbc3612ec635fee29b"
+
+ [[package]]
+ name = "libsodium-sys"
+@@ -873,7 +873,7 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
+ dependencies = [
+- "getrandom 0.2.3",
++ "getrandom 0.2.10",
+ ]
+
+ [[package]]
+@@ -967,7 +967,7 @@
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64"
+ dependencies = [
+- "getrandom 0.2.3",
++ "getrandom 0.2.10",
+ "redox_syscall",
+ ]
+
+@@ -1425,9 +1425,9 @@
+
+ [[package]]
+ name = "wasi"
+-version = "0.10.2+wasi-snapshot-preview1"
++version = "0.11.0+wasi-snapshot-preview1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+ [[package]]
+ name = "winapi"
diff --git a/testing/rdma-core/APKBUILD b/testing/rdma-core/APKBUILD
deleted file mode 100644
index 33f525d9dff..00000000000
--- a/testing/rdma-core/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=rdma-core
-pkgver=38.1
-pkgrel=0
-pkgdesc="RDMA core userspace libraries and daemons"
-url="https://github.com/linux-rdma/rdma-core"
-license="GPL-2.0-only OR BSD-2-Clause"
-arch="all !riscv64" # textrels
-options="!check" # tests are for installation
-makedepends="
- cmake
- eudev-dev
- libdrm-dev
- libnl3-dev
- ninja
- py3-docutils
- "
-subpackages="$pkgname-libs $pkgname-dev $pkgname-doc $pkgname-openrc"
-source="https://github.com/linux-rdma/rdma-core/releases/download/v$pkgver/rdma-core-$pkgver.tar.gz"
-
-build() {
- cmake -B build -G Ninja \
- -DCMAKE_VERBOSE_MAKEFILE=ON \
- -DCMAKE_INSTALL_SYSCONFDIR=/etc \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_BUILD_TYPE=MinSizeRel
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
- rm -rf "$pkgdir"/usr/lib/systemd
-}
-
-sha512sums="
-07dd059feba8651802b63a0c4075ff6c69fd6aee42628481e7191fb30a86dacf2a9eb2a5f00f5e7b856681d9baddcd4e35d18c7be8efe7d5cf4408fce1a8956f rdma-core-38.1.tar.gz
-"
diff --git a/testing/rdrview/APKBUILD b/testing/rdrview/APKBUILD
new file mode 100644
index 00000000000..2c5d98143a6
--- /dev/null
+++ b/testing/rdrview/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=rdrview
+pkgver=0.1.1
+pkgrel=0
+pkgdesc="Command line tool to extract the main content from a webpage"
+url="https://github.com/eafer/rdrview"
+arch="all"
+license="Apache-2.0"
+makedepends="libxml2-dev curl-dev libseccomp-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/eafer/rdrview/archive/v$pkgver.tar.gz
+ curl-7.85.0-CURLOPT_PROTOCOLS-deprecation.patch
+ "
+options="!check" # tests are quite involved and have a bunch of requirements
+
+build() {
+ make
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+49a3f2f7ce1937ff4fdad67823763ab5ac57d1a9dce71ac05701a7c22454da989758c74b87f81bf9f07704690be3435d740ae33a8510b8579e76068b69a6119d rdrview-0.1.1.tar.gz
+6890f2b7b90251d2fe5479668defa911f769e35c136b818c4cc44821d429c284d8ef1b6d781f898ee6caf4ba3c34f440647a96f486dc0c23bbc8c93c848bff65 curl-7.85.0-CURLOPT_PROTOCOLS-deprecation.patch
+"
diff --git a/testing/rdrview/curl-7.85.0-CURLOPT_PROTOCOLS-deprecation.patch b/testing/rdrview/curl-7.85.0-CURLOPT_PROTOCOLS-deprecation.patch
new file mode 100644
index 00000000000..8f0eb3b4a35
--- /dev/null
+++ b/testing/rdrview/curl-7.85.0-CURLOPT_PROTOCOLS-deprecation.patch
@@ -0,0 +1,24 @@
+--- a/src/rdrview.c
++++ b/src/rdrview.c
+@@ -228,7 +228,6 @@ static void url_to_file(FILE *file)
+ {
+ CURL *curl;
+ CURLcode res;
+- long protocols;
+
+ curl = curl_easy_init();
+ if (!curl)
+@@ -239,8 +238,12 @@ static void url_to_file(FILE *file)
+ fatal();
+
+ /* I don't expect any other protocols, so be safe */
+- protocols = CURLPROTO_HTTP | CURLPROTO_HTTPS;
++ #if CURL_AT_LEAST_VERSION(7, 85, 0)
++ if (curl_easy_setopt(curl, CURLOPT_PROTOCOLS_STR, "HTTPS,HTTP"))
++ #else
++ long protocols = CURLPROTO_HTTP | CURLPROTO_HTTPS;
+ if (curl_easy_setopt(curl, CURLOPT_PROTOCOLS, protocols))
++ #endif
+ fatal();
+
+ /* Enable automatic decompression */
diff --git a/testing/reaction/APKBUILD b/testing/reaction/APKBUILD
new file mode 100644
index 00000000000..6e7766c0de7
--- /dev/null
+++ b/testing/reaction/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=reaction
+pkgver=1.3.0
+pkgrel=2
+pkgdesc="Logs scanner for event triggering"
+url="https://framagit.org/ppom/reaction"
+license="AGPL-3.0-or-later"
+arch="all"
+makedepends="go gcc"
+#install="$pkgname.pre-install $pkgname.pre-upgrade"
+subpackages="$pkgname-openrc $pkgname-tools"
+source="$pkgname-$pkgver.tar.gz::https://framagit.org/ppom/reaction/-/archive/v$pkgver/reaction-v$pkgver.tar.gz
+ reaction.initd
+ reaction.confd
+ reaction.yml
+ "
+options="net !check" # check needs a postgres instance
+builddir="$srcdir/$pkgname-v$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -o reaction -buildvcs=false -ldflags "-s -X main.version=$pkgver" .
+ make ip46tables
+ make nft46
+}
+
+package() {
+ install -Dm755 reaction "$pkgdir"/usr/bin/reaction
+ install -Dm755 "$srcdir"/reaction.initd "$pkgdir"/etc/init.d/reaction
+ install -Dm644 "$srcdir"/reaction.confd "$pkgdir"/etc/conf.d/reaction
+ install -Dm644 "$srcdir"/reaction.yml "$pkgdir"/etc/reaction.yml
+}
+
+tools() {
+ pkgdesc="Tools for use by Reaction"
+ install -Dm755 "$builddir"/ip46tables "$subpkgdir"/usr/bin/ip46tables
+ install -Dm755 "$builddir"/nft46 "$subpkgdir"/usr/bin/nft46
+}
+
+sha512sums="
+d7f4e3a0d800e33c13dd508be77a2e6232a155e8b038439b288aa3531c6664920ca7d2fe960dc918c7cea5c770aac6a7ace8be350e032e9a30014b3afd215e2e reaction-1.3.0.tar.gz
+c2473cf3902ec42c045cd5f748ce27937fe1cb99e8e83e4920bd4ec10554c70339478d5756909d54889ed8eb0b8ba2bfe1307ba3be5e0e12a1c67895c82df606 reaction.initd
+99e0fa2b72ad3e5793b1d99b7ca4a53ac4079afa1978f51897435b2660b97871f128b3038388f42e9fdc7c3d07a077aab1e9bd78c91b61b8c4b7b05dac1cce04 reaction.confd
+abca80f725b14ec9d8f0c46c31658d16448ca5cc732b8c8d069c29cfb67b92abf571619a5152157dd8fc8bb44192912c698e46df9a1f18f851e20dd23123a58a reaction.yml
+"
diff --git a/testing/reaction/reaction.confd b/testing/reaction/reaction.confd
new file mode 100644
index 00000000000..fff5e11a5e3
--- /dev/null
+++ b/testing/reaction/reaction.confd
@@ -0,0 +1,4 @@
+# /etc/conf.d/reaction
+
+CONFIG="/etc/reaction.yml"
+ARGS=""
diff --git a/testing/reaction/reaction.initd b/testing/reaction/reaction.initd
new file mode 100755
index 00000000000..3e5bc5db5ee
--- /dev/null
+++ b/testing/reaction/reaction.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+command="/usr/bin/reaction"
+command_args="start -c $CONFIG $ARGS"
+command_background="yes"
+command_user="root"
+
+pidfile="/var/run/${SVCNAME}.pid"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/reaction/reaction.yml b/testing/reaction/reaction.yml
new file mode 100644
index 00000000000..4a796f0e0b6
--- /dev/null
+++ b/testing/reaction/reaction.yml
@@ -0,0 +1,95 @@
+---
+# Note for Alpine Linux users:
+# This default configuration uses the program ip46tables.
+# To install it, simply run:
+# apk add reaction-tools
+
+# definitions are just a place to put chunks of conf you want to reuse in another place
+# using YAML anchors `&name` and pointers `*name`
+# definitions are not readed by reaction
+definitions:
+ - &iptablesban [ 'ip46tables', '-w', '-A', 'reaction', '-s', '<ip>', '-j', 'DROP' ]
+ - &iptablesunban [ 'ip46tables', '-w', '-D', 'reaction', '-s', '<ip>', '-j', 'DROP' ]
+# ip46tables is a minimal C program (only POSIX dependencies) present as a subdirectory.
+# it permits to handle both ipv4/iptables and ipv6/ip6tables commands
+
+# patterns are substitued in regexes.
+# when a filter performs an action, it replaces the found pattern
+patterns:
+ ip:
+ # reaction regex syntax is defined here: https://github.com/google/re2/wiki/Syntax
+ regex: '(?:(?:[0-9]{1,3}\.){3}[0-9]{1,3})|(?:[0-9a-fA-F:]{2,90})'
+ ignore:
+ - 127.0.0.1
+ - ::1
+
+# Those commands will be executed in order at start, before everything else
+start:
+ - [ 'ip46tables', '-w', '-N', 'reaction' ]
+ - [ 'ip46tables', '-w', '-I', 'INPUT', '-p', 'all', '-j', 'reaction' ]
+
+# Those commands will be executed in order at stop, after everything else
+stop:
+ - [ 'ip46tables', '-w,', '-D', 'INPUT', '-p', 'all', '-j', 'reaction' ]
+ - [ 'ip46tables', '-w', '-F', 'reaction' ]
+ - [ 'ip46tables', '-w', '-X', 'reaction' ]
+
+# streams are commands
+# they are run and their ouptut is captured
+# *example:* `tail -f /var/log/nginx/access.log`
+# their output will be used by one or more filters
+streams:
+ # streams have a user-defined name
+ ssh:
+ # note that if the command is not in environment's `PATH`
+ # its full path must be given.
+ cmd: [ 'tail', '-f', '/var/log/auth.log' ]
+ # filters run actions when they match regexes on a stream
+ filters:
+ # filters have a user-defined name
+ failedlogin:
+ # reaction's regex syntax is defined here: https://github.com/google/re2/wiki/Syntax
+ regex:
+ # <ip> is predefined in the patterns section
+ # ip's regex is inserted in the following regex
+ - 'authentication failure;.*rhost=<ip>'
+ - 'Failed password for .* from <ip>'
+ - 'Connection reset by authenticating user .* <ip>'
+ # if retry and retryperiod are defined,
+ # the actions will only take place if a same pattern is
+ # found `retry` times in a `retryperiod` interval
+ retry: 3
+ # format is defined here: https://pkg.go.dev/time#ParseDuration
+ retryperiod: 6h
+ # actions are run by the filter when regexes are matched
+ actions:
+ # actions have a user-defined name
+ ban:
+ # YAML substitutes *reference by the value anchored at &reference
+ cmd: *iptablesban
+ unban:
+ cmd: *iptablesunban
+ # if after is defined, the action will not take place immediately, but after a specified duration
+ # same format as retryperiod
+ after: 48h
+ # let's say reaction is quitting. does it run all those pending commands which had an `after` duration set?
+ # if you want reaction to run those pending commands before exiting, you can set this:
+ # onexit: true
+ # (defaults to false)
+ # here it is not useful because we will flush and delete the chain containing the bans anyway
+ # (with the stop commands)
+
+# persistence
+# tldr; when an `after` action is set in a filter, such filter acts as a 'jail',
+# which is persisted after reboots.
+#
+# when a filter is triggered, there are 2 flows:
+#
+# if none of its actions have an `after` directive set:
+# no action will be replayed.
+#
+# else (if at least one action has an `after` directive set):
+# if reaction stops while `after` actions are pending:
+# and reaction starts again while those actions would still be pending:
+# reaction executes the past actions (actions without after or with then+after < now)
+# and plans the execution of future actions (actions with then+after > now)
diff --git a/testing/read-it-later/0001-Cargo-Update-the-glib-dependencies.patch b/testing/read-it-later/0001-Cargo-Update-the-glib-dependencies.patch
deleted file mode 100644
index 7a5898139bf..00000000000
--- a/testing/read-it-later/0001-Cargo-Update-the-glib-dependencies.patch
+++ /dev/null
@@ -1,5911 +0,0 @@
-From 73a641861fb7151410f783acae7824dc8ce89bd9 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair@alistair23.me>
-Date: Tue, 24 Aug 2021 21:12:46 +1000
-Subject: [PATCH 1/4] Cargo: Update the glib dependencies
-
-Update libhandy to 0.8 to allow using libhandy 1.0. In order for this to
-build we also update the glib and gtk dependencies.
-
-Signed-off-by: Alistair Francis <alistair@alistair23.me>
----
- Cargo.lock | 3408 +++++++++++++++++-----------
- Cargo.toml | 21 +-
- data/resources/ui/articles_list.ui | 4 +-
- data/resources/ui/login.ui.in | 14 +-
- data/resources/ui/settings.ui | 10 +-
- data/resources/ui/window.ui.in | 4 +-
- meson.build | 2 +-
- src/application.rs | 28 +-
- src/database.rs | 2 +-
- src/main.rs | 5 +-
- src/meson.build | 1 -
- src/models/article.rs | 2 +-
- src/models/client_manager.rs | 2 +-
- src/models/object_wrapper.rs | 74 +-
- src/models/preview_image.rs | 4 +-
- src/settings/settings_manager.rs | 21 +-
- src/static_resources.rs.in | 2 +-
- src/views/articles_list.rs | 4 +-
- src/widgets/articles/index.rs | 23 +-
- src/widgets/articles/list.rs | 10 +-
- src/widgets/articles/preview.rs | 14 +-
- src/widgets/articles/row.rs | 2 +-
- src/widgets/login.rs | 24 +-
- src/widgets/settings.rs | 9 +-
- src/widgets/window.rs | 66 +-
- src/window_state.rs | 34 -
- 26 files changed, 2247 insertions(+), 1543 deletions(-)
- delete mode 100644 src/window_state.rs
-
-diff --git a/Cargo.lock b/Cargo.lock
-index db14929..f74e3e9 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -1,2668 +1,3446 @@
- # This file is automatically @generated by Cargo.
- # It is not intended for manual editing.
-+version = 3
-+
- [[package]]
--name = "aes"
-+name = "aead"
- version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331"
-+dependencies = [
-+ "generic-array",
-+]
-+
-+[[package]]
-+name = "aes"
-+version = "0.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561"
-+dependencies = [
-+ "aes-soft",
-+ "aesni",
-+ "cipher",
-+]
-+
-+[[package]]
-+name = "aes-gcm"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da"
- dependencies = [
-- "aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aead",
-+ "aes",
-+ "cipher",
-+ "ctr",
-+ "ghash",
-+ "subtle",
- ]
-
- [[package]]
- name = "aes-soft"
--version = "0.3.3"
-+version = "0.6.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072"
- dependencies = [
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cipher",
-+ "opaque-debug",
- ]
-
- [[package]]
- name = "aesni"
--version = "0.6.0"
-+version = "0.10.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce"
- dependencies = [
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cipher",
-+ "opaque-debug",
- ]
-
- [[package]]
- name = "aho-corasick"
--version = "0.7.6"
-+version = "0.7.18"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
- dependencies = [
-- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr",
- ]
-
- [[package]]
- name = "ammonia"
--version = "2.1.2"
-+version = "3.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2e445c26125ff80316eaea16e812d717b147b82a68682bd4730f74d4845c8b35"
- dependencies = [
-- "html5ever 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "maplit 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "html5ever 0.25.1",
-+ "lazy_static",
-+ "maplit",
-+ "markup5ever_rcdom",
-+ "matches",
-+ "tendril",
-+ "url",
- ]
-
- [[package]]
- name = "anyhow"
--version = "1.0.31"
-+version = "1.0.43"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf"
-
- [[package]]
--name = "async-std"
-+name = "async-channel"
-+version = "1.6.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
-+dependencies = [
-+ "concurrent-queue",
-+ "event-listener",
-+ "futures-core",
-+]
-+
-+[[package]]
-+name = "async-executor"
-+version = "1.4.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
-+dependencies = [
-+ "async-task",
-+ "concurrent-queue",
-+ "fastrand",
-+ "futures-lite",
-+ "once_cell",
-+ "slab",
-+]
-+
-+[[package]]
-+name = "async-global-executor"
-+version = "2.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6"
-+dependencies = [
-+ "async-channel",
-+ "async-executor",
-+ "async-io",
-+ "async-mutex",
-+ "blocking",
-+ "futures-lite",
-+ "num_cpus",
-+ "once_cell",
-+]
-+
-+[[package]]
-+name = "async-io"
-+version = "1.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b"
-+dependencies = [
-+ "concurrent-queue",
-+ "futures-lite",
-+ "libc",
-+ "log",
-+ "once_cell",
-+ "parking",
-+ "polling",
-+ "slab",
-+ "socket2",
-+ "waker-fn",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "async-lock"
-+version = "2.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b"
-+dependencies = [
-+ "event-listener",
-+]
-+
-+[[package]]
-+name = "async-mutex"
- version = "1.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e"
- dependencies = [
-- "async-task 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-channel 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "kv-log-macro 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pin-project-lite 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "event-listener",
-+]
-+
-+[[package]]
-+name = "async-std"
-+version = "1.9.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341"
-+dependencies = [
-+ "async-channel",
-+ "async-global-executor",
-+ "async-io",
-+ "async-lock",
-+ "crossbeam-utils 0.8.5",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-io",
-+ "futures-lite",
-+ "gloo-timers",
-+ "kv-log-macro",
-+ "log",
-+ "memchr",
-+ "num_cpus",
-+ "once_cell",
-+ "pin-project-lite",
-+ "pin-utils",
-+ "slab",
-+ "wasm-bindgen-futures",
- ]
-
- [[package]]
- name = "async-task"
--version = "1.0.0"
-+version = "4.0.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0"
-+
-+[[package]]
-+name = "async-trait"
-+version = "0.1.51"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e"
- dependencies = [
-- "crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "atk"
--version = "0.8.0"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a83b21d2aa75e464db56225e1bda2dd5993311ba1095acaa8fa03d1ae67026ba"
- dependencies = [
-- "atk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atk-sys",
-+ "bitflags",
-+ "glib",
-+ "libc",
- ]
-
- [[package]]
- name = "atk-sys"
--version = "0.9.1"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "badcf670157c84bb8b1cf6b5f70b650fed78da2033c9eed84c4e49b11cbe83ea"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "libc",
-+ "system-deps 3.2.0",
- ]
-
-+[[package]]
-+name = "atomic-waker"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a"
-+
- [[package]]
- name = "atty"
--version = "0.2.13"
-+version = "0.2.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hermit-abi",
-+ "libc",
-+ "winapi",
- ]
-
- [[package]]
- name = "autocfg"
- version = "0.1.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
-
- [[package]]
--name = "backtrace"
--version = "0.3.40"
-+name = "autocfg"
-+version = "1.0.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
-
- [[package]]
--name = "backtrace-sys"
--version = "0.1.32"
-+name = "base-x"
-+version = "0.2.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b"
-
- [[package]]
--name = "bitflags"
--version = "1.2.1"
-+name = "base64"
-+version = "0.13.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd"
-
- [[package]]
--name = "block-buffer"
--version = "0.7.3"
-+name = "bitflags"
-+version = "1.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
- [[package]]
--name = "block-cipher-trait"
--version = "0.6.2"
-+name = "block-buffer"
-+version = "0.9.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
- dependencies = [
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "generic-array",
- ]
-
- [[package]]
- name = "block-modes"
--version = "0.3.3"
-+version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57a0e8073e8baa88212fb5823574c02ebccb395136ba9a164ab89379ec6072f0"
- dependencies = [
-- "block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-padding",
-+ "cipher",
- ]
-
- [[package]]
- name = "block-padding"
--version = "0.1.5"
-+version = "0.2.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae"
-
- [[package]]
--name = "bumpalo"
--version = "3.2.1"
-+name = "blocking"
-+version = "1.0.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9"
-+dependencies = [
-+ "async-channel",
-+ "async-task",
-+ "atomic-waker",
-+ "fastrand",
-+ "futures-lite",
-+ "once_cell",
-+]
-
- [[package]]
--name = "byte-tools"
--version = "0.3.1"
-+name = "bumpalo"
-+version = "3.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631"
-
- [[package]]
- name = "byteorder"
--version = "1.3.2"
-+version = "1.4.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
- [[package]]
- name = "bytes"
- version = "0.4.12"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
- dependencies = [
-- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
-+ "iovec",
- ]
-
- [[package]]
- name = "bytes"
--version = "0.5.4"
-+version = "0.5.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
-+
-+[[package]]
-+name = "bytes"
-+version = "1.0.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
-+
-+[[package]]
-+name = "cache-padded"
-+version = "1.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba"
-
- [[package]]
- name = "cairo-rs"
--version = "0.8.0"
-+version = "0.14.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f859ade407c19810ae920b4fafab92189ed312adad490d08fb16b5f49f1e2207"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
-+ "cairo-sys-rs",
-+ "glib",
-+ "libc",
-+ "thiserror",
- ]
-
- [[package]]
- name = "cairo-sys-rs"
--version = "0.9.2"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d7c9c3928781e8a017ece15eace05230f04b647457d170d2d9641c94a444ff80"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys 0.14.0",
-+ "libc",
-+ "system-deps 3.2.0",
- ]
-
- [[package]]
- name = "cc"
--version = "1.0.48"
-+version = "1.0.69"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e70cc2f62c6ce1868963827bd677764c62d07c3d9a3e1fb1177ee1a9ab199eb2"
-+
-+[[package]]
-+name = "cfg-expr"
-+version = "0.8.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b412e83326147c2bb881f8b40edfbf9905b9b8abaebd0e47ca190ba62fda8f0e"
-+dependencies = [
-+ "smallvec",
-+]
-
- [[package]]
- name = "cfg-if"
- version = "0.1.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
-+
-+[[package]]
-+name = "cfg-if"
-+version = "1.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
-
- [[package]]
- name = "chrono"
--version = "0.4.10"
-+version = "0.4.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73"
- dependencies = [
-- "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "num-integer",
-+ "num-traits",
-+ "serde",
-+ "time 0.1.44",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "cipher"
-+version = "0.2.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801"
-+dependencies = [
-+ "generic-array",
- ]
-
- [[package]]
- name = "cloudabi"
- version = "0.0.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
- ]
-
- [[package]]
--name = "crossbeam-channel"
--version = "0.4.0"
-+name = "concurrent-queue"
-+version = "1.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
- dependencies = [
-- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cache-padded",
- ]
-
- [[package]]
--name = "crossbeam-deque"
--version = "0.7.2"
-+name = "const_fn"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7"
-+
-+[[package]]
-+name = "cookie"
-+version = "0.14.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951"
- dependencies = [
-- "crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aes-gcm",
-+ "base64",
-+ "hkdf",
-+ "hmac",
-+ "percent-encoding",
-+ "rand 0.8.4",
-+ "sha2",
-+ "time 0.2.27",
-+ "version_check",
- ]
-
- [[package]]
--name = "crossbeam-epoch"
--version = "0.8.0"
-+name = "cpufeatures"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "66c99696f6c9dd7f35d486b9d04d7e6e202aa3e8c40d553f2fdf5e7e0c6a71ef"
-+dependencies = [
-+ "libc",
-+]
-+
-+[[package]]
-+name = "cpuid-bool"
-+version = "0.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba"
-+
-+[[package]]
-+name = "crossbeam-channel"
-+version = "0.4.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crossbeam-utils 0.7.2",
-+ "maybe-uninit",
- ]
-
- [[package]]
- name = "crossbeam-utils"
--version = "0.6.6"
-+version = "0.7.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
-+ "cfg-if 0.1.10",
-+ "lazy_static",
- ]
-
- [[package]]
- name = "crossbeam-utils"
--version = "0.7.0"
-+version = "0.8.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
-+ "lazy_static",
- ]
-
- [[package]]
- name = "crypto-mac"
--version = "0.7.0"
-+version = "0.10.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bff07008ec701e8028e2ceb8f83f0e4274ee62bd2dbdc4fefff2e9a91824081a"
-+dependencies = [
-+ "generic-array",
-+ "subtle",
-+]
-+
-+[[package]]
-+name = "ctor"
-+version = "0.1.20"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d"
-+dependencies = [
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "ctr"
-+version = "0.6.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f"
- dependencies = [
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cipher",
- ]
-
- [[package]]
- name = "curl"
--version = "0.4.25"
-+version = "0.4.38"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "003cb79c1c6d1c93344c7e1201bb51c2148f24ec2bd9c253709d6b2efb796515"
- dependencies = [
-- "curl-sys 0.4.31+curl-7.70.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
-- "schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
-- "socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "curl-sys",
-+ "libc",
-+ "openssl-probe",
-+ "openssl-sys",
-+ "schannel",
-+ "socket2",
-+ "winapi",
- ]
-
- [[package]]
- name = "curl-sys"
--version = "0.4.31+curl-7.70.0"
-+version = "0.4.45+curl-7.78.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "de9e5a72b1c744eb5dd20b2be4d7eb84625070bb5c4ab9b347b70464ab1e62eb"
- dependencies = [
-- "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libnghttp2-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-- "openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc",
-+ "libc",
-+ "libnghttp2-sys",
-+ "libz-sys",
-+ "openssl-sys",
-+ "pkg-config",
-+ "vcpkg",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "dashmap"
-+version = "4.0.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "num_cpus",
- ]
-
- [[package]]
- name = "dbus"
- version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b4a0c10ea61042b7555729ab0608727bbbb06ce709c11e6047cfa4e10f6d052d"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
-
- [[package]]
- name = "diesel"
--version = "1.4.3"
-+version = "1.4.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bba51ca66f57261fd17cadf8b73e4775cc307d0521d855de3f5de91a8f074e0e"
- dependencies = [
-- "byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "diesel_derives 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libsqlite3-sys 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "r2d2 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "byteorder",
-+ "chrono",
-+ "diesel_derives",
-+ "libsqlite3-sys",
-+ "r2d2",
- ]
-
- [[package]]
- name = "diesel_derives"
- version = "1.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "diesel_migrations"
- version = "1.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bf3cde8413353dc7f5d72fa8ce0b99a560a359d2c5ef1e5817ca731cd9008f4c"
- dependencies = [
-- "migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "migrations_macros 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "migrations_internals",
-+ "migrations_macros",
- ]
-
- [[package]]
- name = "digest"
--version = "0.8.1"
-+version = "0.9.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
- dependencies = [
-- "generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "generic-array",
- ]
-
- [[package]]
--name = "dtoa"
--version = "0.4.4"
-+name = "discard"
-+version = "1.0.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
-+
-+[[package]]
-+name = "either"
-+version = "1.6.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
-
- [[package]]
- name = "encoding_rs"
--version = "0.8.22"
-+version = "0.8.28"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
- ]
-
- [[package]]
- name = "env_logger"
- version = "0.6.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
- dependencies = [
-- "atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atty",
-+ "humantime",
-+ "log",
-+ "regex",
-+ "termcolor",
- ]
-
- [[package]]
--name = "failure"
--version = "0.1.6"
-+name = "event-listener"
-+version = "2.5.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)",
-- "failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59"
-
- [[package]]
--name = "failure_derive"
--version = "0.1.6"
-+name = "fastrand"
-+version = "1.5.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b394ed3d285a429378d3b384b9eb1285267e7df4b166df24b7a6939a04dc392e"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-- "synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "instant",
- ]
-
- [[package]]
--name = "fake-simd"
--version = "0.1.2"
-+name = "field-offset"
-+version = "0.3.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92"
-+dependencies = [
-+ "memoffset",
-+ "rustc_version 0.3.3",
-+]
-
- [[package]]
--name = "fnv"
--version = "1.0.6"
-+name = "flume"
-+version = "0.9.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1bebadab126f8120d410b677ed95eee4ba6eb7c6dd8e34a5ec88a08050e26132"
-+dependencies = [
-+ "futures-core",
-+ "futures-sink",
-+ "spinning_top",
-+]
-
- [[package]]
--name = "fuchsia-cprng"
--version = "0.1.1"
-+name = "fnv"
-+version = "1.0.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
- [[package]]
--name = "fuchsia-zircon"
--version = "0.3.3"
-+name = "form_urlencoded"
-+version = "1.0.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "matches",
-+ "percent-encoding",
- ]
-
- [[package]]
--name = "fuchsia-zircon-sys"
--version = "0.3.3"
-+name = "fuchsia-cprng"
-+version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
-
- [[package]]
- name = "futf"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b"
- dependencies = [
-- "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mac",
-+ "new_debug_unreachable",
- ]
-
- [[package]]
- name = "futures"
--version = "0.1.29"
-+version = "0.1.31"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
-
- [[package]]
- name = "futures"
--version = "0.3.4"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1adc00f486adfc9ce99f77d717836f0c5aa84965eb0b4f051f4e83f7cab53f8b"
- dependencies = [
-- "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-executor 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-executor",
-+ "futures-io",
-+ "futures-sink",
-+ "futures-task",
-+ "futures-util",
- ]
-
- [[package]]
- name = "futures-channel"
--version = "0.3.4"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "74ed2411805f6e4e3d9bc904c95d5d423b89b3b25dc0250aa74729de20629ff9"
- dependencies = [
-- "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures-core",
-+ "futures-sink",
- ]
-
- [[package]]
- name = "futures-core"
--version = "0.3.4"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af51b1b4a7fdff033703db39de8802c673eb91855f2e0d47dcf3bf2c0ef01f99"
-
- [[package]]
- name = "futures-executor"
--version = "0.3.4"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4d0d535a57b87e1ae31437b892713aee90cd2d7b0ee48727cd11fc72ef54761c"
- dependencies = [
-- "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futures-core",
-+ "futures-task",
-+ "futures-util",
-+ "num_cpus",
- ]
-
- [[package]]
- name = "futures-io"
--version = "0.3.4"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0b0e06c393068f3a6ef246c75cdca793d6a46347e75286933e5e75fd2fd11582"
-
- [[package]]
--name = "futures-macro"
--version = "0.3.4"
-+name = "futures-lite"
-+version = "1.12.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48"
- dependencies = [
-- "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fastrand",
-+ "futures-core",
-+ "futures-io",
-+ "memchr",
-+ "parking",
-+ "pin-project-lite",
-+ "waker-fn",
- ]
-
- [[package]]
--name = "futures-sink"
--version = "0.3.4"
-+name = "futures-macro"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57"
-+dependencies = [
-+ "autocfg 1.0.1",
-+ "proc-macro-hack",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-
- [[package]]
--name = "futures-task"
--version = "0.3.4"
-+name = "futures-sink"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c0f30aaa67363d119812743aa5f33c201a7a66329f97d1a887022971feea4b53"
-
- [[package]]
--name = "futures-timer"
--version = "2.0.2"
-+name = "futures-task"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bbe54a98670017f3be909561f6ad13e810d9a51f3f061b902062ca3da80799f2"
-
- [[package]]
- name = "futures-util"
--version = "0.3.4"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78"
- dependencies = [
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-macro 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
-+ "futures 0.1.31",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-io",
-+ "futures-macro",
-+ "futures-sink",
-+ "futures-task",
-+ "memchr",
-+ "pin-project-lite",
-+ "pin-utils",
-+ "proc-macro-hack",
-+ "proc-macro-nested",
-+ "slab",
-+ "tokio-io",
- ]
-
- [[package]]
- name = "gcc"
- version = "0.3.55"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
-
- [[package]]
- name = "gdk"
--version = "0.12.0"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "679e22651cd15888e7acd01767950edca2ee9fcd6421fbf5b3c3b420d4e88bb0"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-pixbuf 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
-+ "cairo-rs",
-+ "gdk-pixbuf",
-+ "gdk-sys",
-+ "gio",
-+ "glib",
-+ "libc",
-+ "pango",
- ]
-
- [[package]]
- name = "gdk-pixbuf"
--version = "0.8.0"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "534192cb8f01daeb8fab2c8d4baa8f9aae5b7a39130525779f5c2608e235b10f"
- dependencies = [
-- "gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gdk-pixbuf-sys",
-+ "gio",
-+ "glib",
-+ "libc",
- ]
-
- [[package]]
- name = "gdk-pixbuf-sys"
--version = "0.9.1"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f097c0704201fbc8f69c1762dc58c6947c8bb188b8ed0bc7e65259f1894fe590"
- dependencies = [
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gio-sys 0.14.0",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "libc",
-+ "system-deps 3.2.0",
- ]
-
- [[package]]
- name = "gdk-sys"
--version = "0.9.1"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0e091b3d3d6696949ac3b3fb3c62090e5bfd7bd6850bef5c3c5ea701de1b1f1e"
- dependencies = [
-- "cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cairo-sys-rs",
-+ "gdk-pixbuf-sys",
-+ "gio-sys 0.14.0",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "libc",
-+ "pango-sys",
-+ "pkg-config",
-+ "system-deps 3.2.0",
- ]
-
- [[package]]
- name = "generic-array"
--version = "0.12.3"
-+version = "0.14.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817"
- dependencies = [
-- "typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "typenum",
-+ "version_check",
-+]
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.1.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "libc",
-+ "wasi 0.9.0+wasi-snapshot-preview1",
-+]
-+
-+[[package]]
-+name = "getrandom"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "libc",
-+ "wasi 0.10.0+wasi-snapshot-preview1",
- ]
-
- [[package]]
- name = "gettext-rs"
- version = "0.4.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "df454a42d8a718280c78666efe0707c120873736961ae91ead898f17ac66ce7c"
- dependencies = [
-- "gettext-sys 0.19.9 (registry+https://github.com/rust-lang/crates.io-index)",
-- "locale_config 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gettext-sys",
-+ "locale_config",
- ]
-
- [[package]]
- name = "gettext-sys"
- version = "0.19.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e034c4ba5bb796730a6cc5eb0d654c16885006a7c3d6c6603581ed809434f153"
-+dependencies = [
-+ "cc",
-+]
-+
-+[[package]]
-+name = "ghash"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375"
- dependencies = [
-- "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "opaque-debug",
-+ "polyval",
- ]
-
- [[package]]
- name = "gio"
--version = "0.8.0"
-+version = "0.14.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "402a7057cd21d64bfa7ac027b344a7f50f677fb3308693df0e8c70fb55d29f0d"
-+dependencies = [
-+ "bitflags",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-io",
-+ "gio-sys 0.14.0",
-+ "glib",
-+ "libc",
-+ "once_cell",
-+ "thiserror",
-+]
-+
-+[[package]]
-+name = "gio-sys"
-+version = "0.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5e24fb752f8f5d2cf6bbc2c606fd2bc989c81c5e2fe321ab974d54f8b6344eac"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys 0.10.1",
-+ "gobject-sys 0.10.0",
-+ "libc",
-+ "system-deps 1.3.2",
-+ "winapi",
- ]
-
- [[package]]
- name = "gio-sys"
--version = "0.9.1"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c0a41df66e57fcc287c4bcf74fc26b884f31901ea9792ec75607289b456f48fa"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "libc",
-+ "system-deps 3.2.0",
-+ "winapi",
- ]
-
- [[package]]
- name = "glib"
--version = "0.9.1"
-+version = "0.14.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a8fb802e3798d75b415bea8f016eed88d50106ce82f1274e80f31d80cfd4b056"
-+dependencies = [
-+ "bitflags",
-+ "futures-channel",
-+ "futures-core",
-+ "futures-executor",
-+ "futures-task",
-+ "glib-macros",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "libc",
-+ "once_cell",
-+ "smallvec",
-+]
-+
-+[[package]]
-+name = "glib-macros"
-+version = "0.14.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2aad66361f66796bfc73f530c51ef123970eb895ffba991a234fcf7bea89e518"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-executor 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "anyhow",
-+ "heck",
-+ "proc-macro-crate",
-+ "proc-macro-error",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "glib-sys"
--version = "0.9.1"
-+version = "0.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c7e9b997a66e9a23d073f2b1abb4dbfc3925e0b8952f67efd8d9b6e168e4cdc1"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "system-deps 1.3.2",
-+]
-+
-+[[package]]
-+name = "glib-sys"
-+version = "0.14.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1c1d60554a212445e2a858e42a0e48cece1bd57b311a19a9468f70376cf554ae"
-+dependencies = [
-+ "libc",
-+ "system-deps 3.2.0",
-+]
-+
-+[[package]]
-+name = "gloo-timers"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f"
-+dependencies = [
-+ "futures-channel",
-+ "futures-core",
-+ "js-sys",
-+ "wasm-bindgen",
-+ "web-sys",
- ]
-
- [[package]]
- name = "gobject-sys"
--version = "0.9.1"
-+version = "0.10.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "952133b60c318a62bf82ee75b93acc7e84028a093e06b9e27981c2b6fe68218c"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys 0.10.1",
-+ "libc",
-+ "system-deps 1.3.2",
-+]
-+
-+[[package]]
-+name = "gobject-sys"
-+version = "0.14.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5"
-+dependencies = [
-+ "glib-sys 0.14.0",
-+ "libc",
-+ "system-deps 3.2.0",
- ]
-
- [[package]]
- name = "gtk"
--version = "0.8.0"
-+version = "0.14.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6603bb79ded6ac6f3bac203794383afa8b1d6a8656d34a93a88f0b22826cd46c"
- dependencies = [
-- "atk 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-pixbuf 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atk",
-+ "bitflags",
-+ "cairo-rs",
-+ "field-offset",
-+ "futures-channel",
-+ "gdk",
-+ "gdk-pixbuf",
-+ "gio",
-+ "glib",
-+ "gtk-sys",
-+ "gtk3-macros",
-+ "libc",
-+ "once_cell",
-+ "pango",
-+ "pkg-config",
- ]
-
- [[package]]
- name = "gtk-macros"
--version = "0.2.0"
-+version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "da5bf7748fd4cd0b2490df8debcc911809dbcbee4ece9531b96c29a9c729de5a"
-
- [[package]]
- name = "gtk-sys"
--version = "0.9.2"
-+version = "0.14.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8c14c8d3da0545785a7c5a120345b3abb534010fb8ae0f2ef3f47c027fba303e"
-+dependencies = [
-+ "atk-sys",
-+ "cairo-sys-rs",
-+ "gdk-pixbuf-sys",
-+ "gdk-sys",
-+ "gio-sys 0.14.0",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "libc",
-+ "pango-sys",
-+ "system-deps 3.2.0",
-+]
-+
-+[[package]]
-+name = "gtk3-macros"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "21de1da96dc117443fb03c2e270b2d34b7de98d0a79a19bbb689476173745b79"
- dependencies = [
-- "atk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "anyhow",
-+ "heck",
-+ "proc-macro-crate",
-+ "proc-macro-error",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "heck"
--version = "0.3.1"
-+version = "0.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
- dependencies = [
-- "unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-segmentation",
- ]
-
- [[package]]
- name = "hermit-abi"
--version = "0.1.5"
-+version = "0.1.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
-
- [[package]]
- name = "hkdf"
--version = "0.7.1"
-+version = "0.10.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f"
- dependencies = [
-- "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "digest",
-+ "hmac",
- ]
-
- [[package]]
- name = "hmac"
--version = "0.7.1"
-+version = "0.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15"
- dependencies = [
-- "crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "crypto-mac",
-+ "digest",
- ]
-
- [[package]]
- name = "html2pango"
--version = "0.3.2"
-+version = "0.3.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "469b284033c3c93e7df758d316cb2e0da4408e4138d5add903b8be356a841738"
- dependencies = [
-- "ammonia 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "html5ever 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "linkify 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "maplit 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ammonia",
-+ "anyhow",
-+ "html5ever 0.25.1",
-+ "lazy_static",
-+ "linkify",
-+ "maplit",
-+ "markup5ever_rcdom",
-+ "regex",
- ]
-
- [[package]]
- name = "html5ever"
--version = "0.23.0"
-+version = "0.24.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "025483b0a1e4577bb28578318c886ee5f817dda6eb62473269349044406644cb"
- dependencies = [
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "markup5ever 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log",
-+ "mac",
-+ "markup5ever 0.9.0",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "html5ever"
--version = "0.24.1"
-+version = "0.25.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b"
- dependencies = [
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "markup5ever 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log",
-+ "mac",
-+ "markup5ever 0.10.1",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "http"
- version = "0.1.21"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes 0.4.12",
-+ "fnv",
-+ "itoa",
- ]
-
- [[package]]
- name = "http"
--version = "0.2.1"
-+version = "0.2.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11"
- dependencies = [
-- "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes 1.0.1",
-+ "fnv",
-+ "itoa",
- ]
-
- [[package]]
- name = "http-client"
- version = "1.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bf86227a76b64ebd37d442853370f7177be4fd3ae6f9ff5c9e0349643e1cb332"
-+dependencies = [
-+ "futures 0.3.16",
-+ "http 0.1.21",
-+ "isahc 0.8.2",
-+ "js-sys",
-+ "wasm-bindgen",
-+ "wasm-bindgen-futures",
-+ "web-sys",
-+]
-+
-+[[package]]
-+name = "http-client"
-+version = "6.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ea880b03c18a7e981d7fb3608b8904a98425d53c440758fcebf7d934aa56547c"
- dependencies = [
-- "futures 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
-- "isahc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "js-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen-futures 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "web-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "async-std",
-+ "async-trait",
-+ "cfg-if 1.0.0",
-+ "dashmap",
-+ "http-types",
-+ "isahc 0.9.14",
-+ "log",
-+]
-+
-+[[package]]
-+name = "http-types"
-+version = "2.12.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6e9b187a72d63adbfba487f48095306ac823049cb504ee195541e91c7775f5ad"
-+dependencies = [
-+ "anyhow",
-+ "async-channel",
-+ "async-std",
-+ "base64",
-+ "cookie",
-+ "futures-lite",
-+ "infer",
-+ "pin-project-lite",
-+ "rand 0.7.3",
-+ "serde",
-+ "serde_json",
-+ "serde_qs",
-+ "serde_urlencoded",
-+ "url",
- ]
-
- [[package]]
- name = "humantime"
- version = "1.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
- dependencies = [
-- "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quick-error",
- ]
-
- [[package]]
- name = "idna"
--version = "0.1.5"
-+version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
- dependencies = [
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "matches",
-+ "unicode-bidi",
-+ "unicode-normalization",
- ]
-
- [[package]]
--name = "idna"
--version = "0.2.0"
-+name = "infer"
-+version = "0.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac"
-+
-+[[package]]
-+name = "instant"
-+version = "0.1.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d"
- dependencies = [
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
- ]
-
- [[package]]
- name = "iovec"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
-
- [[package]]
- name = "isahc"
- version = "0.8.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c45d8c41e6f0b5aa495fd2577e6068e100f57eb87c4b353b0dab20bb53a56035"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-channel 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)",
-- "curl-sys 0.4.31+curl-7.70.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sluice 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bytes 0.4.12",
-+ "crossbeam-channel",
-+ "crossbeam-utils 0.7.2",
-+ "curl",
-+ "curl-sys",
-+ "futures-channel",
-+ "futures-io",
-+ "futures-util",
-+ "http 0.1.21",
-+ "lazy_static",
-+ "log",
-+ "slab",
-+ "sluice",
- ]
-
- [[package]]
- name = "isahc"
--version = "0.9.3"
-+version = "0.9.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2948a0ce43e2c2ef11d7edf6816508998d99e13badd1150be0914205df9388a"
-+dependencies = [
-+ "bytes 0.5.6",
-+ "crossbeam-utils 0.8.5",
-+ "curl",
-+ "curl-sys",
-+ "encoding_rs",
-+ "flume",
-+ "futures-lite",
-+ "http 0.2.4",
-+ "log",
-+ "mime",
-+ "once_cell",
-+ "slab",
-+ "sluice",
-+ "tracing",
-+ "tracing-futures",
-+ "url",
-+ "waker-fn",
-+]
-+
-+[[package]]
-+name = "itertools"
-+version = "0.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf"
- dependencies = [
-- "bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-channel 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)",
-- "curl-sys 0.4.31+curl-7.70.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "http 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sluice 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tracing 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tracing-futures 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "either",
- ]
-
- [[package]]
- name = "itoa"
--version = "0.4.4"
-+version = "0.4.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
-
- [[package]]
- name = "javascriptcore-rs"
--version = "0.9.0"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5ca9c7d1445bba2889672fbadc16c3d5007bfdcf0a15a18a3a50fe9fab2c7427"
- dependencies = [
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "javascriptcore-rs-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib",
-+ "javascriptcore-rs-sys",
- ]
-
- [[package]]
- name = "javascriptcore-rs-sys"
- version = "0.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3f46ada8a08dcd75a10afae872fbfb51275df4a8ae0d46b8cc7c708f08dd2998"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
- ]
-
- [[package]]
- name = "js-sys"
--version = "0.3.37"
-+version = "0.3.53"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e4bf49d50e2961077d9c99f4b7997d770a1114f087c3c2e0069b36c13fc2979d"
- dependencies = [
-- "wasm-bindgen 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
--]
--
--[[package]]
--name = "kernel32-sys"
--version = "0.2.2"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "wasm-bindgen",
- ]
-
- [[package]]
- name = "kv-log-macro"
--version = "1.0.4"
-+version = "1.0.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f"
- dependencies = [
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log",
- ]
-
- [[package]]
- name = "lazy_static"
- version = "1.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
- [[package]]
- name = "libc"
--version = "0.2.66"
-+version = "0.2.100"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a1fa8cddc8fbbee11227ef194b5317ed014b8acbf15139bd716a18ad3fe99ec5"
-
- [[package]]
- name = "libhandy"
--version = "0.5.0"
-+version = "0.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5bcf9c79ec810a62f442ffd568d2de233983dc91c160abee4949b67a647024ed"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libhandy-sys 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
-+ "gdk",
-+ "gdk-pixbuf",
-+ "gio",
-+ "glib",
-+ "gtk",
-+ "lazy_static",
-+ "libc",
-+ "libhandy-sys",
-+ "pango",
- ]
-
- [[package]]
- name = "libhandy-sys"
--version = "0.5.0"
-+version = "0.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1938b93a8f29417992c452b7f43e7eff8a9f8d25b7f0bc923ae9d75b50a9cde3"
- dependencies = [
-- "gdk 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gdk-pixbuf-sys",
-+ "gdk-sys",
-+ "gio-sys 0.14.0",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "gtk-sys",
-+ "libc",
-+ "pango-sys",
-+ "pkg-config",
-+ "system-deps 3.2.0",
- ]
-
- [[package]]
- name = "libnghttp2-sys"
--version = "0.1.3"
-+version = "0.1.6+1.43.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0af55541a8827e138d59ec9e5877fb6095ece63fb6f4da45e7491b4fbd262855"
- dependencies = [
-- "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc",
-+ "libc",
- ]
-
- [[package]]
- name = "libsqlite3-sys"
--version = "0.16.0"
-+version = "0.22.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "290b64917f8b0cb885d9de0f9959fe1f775d7fa12f1da2db9001c1c8ab60f89d"
- dependencies = [
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pkg-config",
-+ "vcpkg",
- ]
-
- [[package]]
- name = "libz-sys"
--version = "1.0.25"
-+version = "1.1.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "de5435b8549c16d423ed0c03dbaafe57cf6c3344744f1242520d59c9d8ecec66"
- dependencies = [
-- "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+ "vcpkg",
- ]
-
- [[package]]
- name = "linkify"
--version = "0.3.1"
-+version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "03951527dd24d2c59f407502e7d88e0948ef06fac23335b556a4c2bc03c22096"
- dependencies = [
-- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "memchr",
- ]
-
- [[package]]
- name = "locale_config"
- version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "73ac19ebe45489e5d53b4346d8b90bb3dd03275c5fdf2ce22a982516d86b535c"
- dependencies = [
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static",
-+ "regex",
-+ "winapi",
- ]
-
- [[package]]
- name = "lock_api"
--version = "0.3.2"
-+version = "0.4.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb"
- dependencies = [
-- "scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "scopeguard",
- ]
-
- [[package]]
- name = "log"
--version = "0.4.8"
-+version = "0.4.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
-+ "value-bag",
- ]
-
- [[package]]
- name = "mac"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
-
- [[package]]
- name = "maplit"
- version = "1.0.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
-
- [[package]]
- name = "markup5ever"
--version = "0.8.1"
-+version = "0.9.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "65381d9d47506b8592b97c4efd936afcf673b09b059f2bef39c7211ee78b9d03"
- dependencies = [
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
-- "string_cache 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "string_cache_codegen 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log",
-+ "phf 0.7.24",
-+ "phf_codegen 0.7.24",
-+ "serde",
-+ "serde_derive",
-+ "serde_json",
-+ "string_cache 0.7.5",
-+ "string_cache_codegen 0.4.4",
-+ "tendril",
- ]
-
- [[package]]
- name = "markup5ever"
--version = "0.9.0"
-+version = "0.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
- dependencies = [
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
-- "string_cache 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "string_cache_codegen 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log",
-+ "phf 0.8.0",
-+ "phf_codegen 0.8.0",
-+ "string_cache 0.8.1",
-+ "string_cache_codegen 0.5.1",
-+ "tendril",
- ]
-
- [[package]]
--name = "matches"
--version = "0.1.8"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--
--[[package]]
--name = "memchr"
--version = "2.2.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--
--[[package]]
--name = "memoffset"
--version = "0.5.3"
-+name = "markup5ever_rcdom"
-+version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b"
- dependencies = [
-- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "html5ever 0.25.1",
-+ "markup5ever 0.10.1",
-+ "tendril",
-+ "xml5ever",
- ]
-
- [[package]]
--name = "migrations_internals"
--version = "1.4.0"
-+name = "matches"
-+version = "0.1.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "diesel 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-
- [[package]]
--name = "migrations_macros"
--version = "1.4.1"
-+name = "maybe-uninit"
-+version = "2.0.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
-
- [[package]]
--name = "mime"
--version = "0.3.14"
-+name = "memchr"
-+version = "2.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
-
- [[package]]
--name = "mime_guess"
--version = "2.0.1"
-+name = "memoffset"
-+version = "0.6.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
- dependencies = [
-- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
- ]
-
- [[package]]
--name = "mio"
--version = "0.6.21"
-+name = "migrations_internals"
-+version = "1.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2b4fc84e4af020b837029e017966f86a1c2d5e83e64b589963d5047525995860"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
-- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "diesel",
- ]
-
- [[package]]
--name = "mio-uds"
--version = "0.6.7"
-+name = "migrations_macros"
-+version = "1.4.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9753f12909fd8d923f75ae5c3258cae1ed3c8ec052e1b38c93c21a6d157f789c"
- dependencies = [
-- "iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "migrations_internals",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
--name = "miow"
--version = "0.2.1"
-+name = "mime"
-+version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
-
- [[package]]
--name = "net2"
--version = "0.2.33"
-+name = "mime_guess"
-+version = "2.0.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "mime",
-+ "unicase",
- ]
-
- [[package]]
- name = "new_debug_unreachable"
--version = "1.0.3"
-+version = "1.0.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
-
- [[package]]
- name = "num"
--version = "0.2.0"
-+version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8b7a8e9be5e039e2ff869df49155f1c06bd01ade2117ec783e56ab0932b67a8f"
- dependencies = [
-- "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-bigint",
-+ "num-complex",
-+ "num-integer",
-+ "num-iter",
-+ "num-rational",
-+ "num-traits",
- ]
-
- [[package]]
- name = "num-bigint"
--version = "0.2.3"
-+version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
-+ "num-integer",
-+ "num-traits",
- ]
-
- [[package]]
- name = "num-complex"
--version = "0.2.3"
-+version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "747d632c0c558b87dbabbe6a82f3b4ae03720d0646ac5b7b4dae89394be5f2c5"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "num-traits",
- ]
-
- [[package]]
- name = "num-integer"
--version = "0.1.41"
-+version = "0.1.44"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
-+ "num-traits",
- ]
-
- [[package]]
- name = "num-iter"
--version = "0.1.39"
-+version = "0.1.42"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
-+ "num-integer",
-+ "num-traits",
- ]
-
- [[package]]
- name = "num-rational"
--version = "0.2.2"
-+version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
-+ "num-bigint",
-+ "num-integer",
-+ "num-traits",
- ]
-
- [[package]]
- name = "num-traits"
--version = "0.2.10"
-+version = "0.2.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
- ]
-
- [[package]]
- name = "num_cpus"
--version = "1.11.1"
-+version = "1.13.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
- dependencies = [
-- "hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "hermit-abi",
-+ "libc",
- ]
-
- [[package]]
- name = "once_cell"
--version = "1.2.0"
-+version = "1.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56"
-
- [[package]]
- name = "opaque-debug"
--version = "0.2.3"
-+version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
- [[package]]
- name = "openssl-probe"
--version = "0.1.2"
-+version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
-
- [[package]]
- name = "openssl-sys"
--version = "0.9.53"
-+version = "0.9.66"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1996d2d305e561b70d1ee0c53f1542833f4e1ac6ce9a6708b6ff2738ca67dc82"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 1.0.1",
-+ "cc",
-+ "libc",
-+ "pkg-config",
-+ "vcpkg",
- ]
-
- [[package]]
- name = "pango"
--version = "0.8.0"
-+version = "0.14.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e1fc88307d9797976ea62722ff2ec5de3fae279c6e20100ed3f49ca1a4bf3f96"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
-+ "glib",
-+ "libc",
-+ "once_cell",
-+ "pango-sys",
- ]
-
- [[package]]
- name = "pango-sys"
--version = "0.9.1"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2367099ca5e761546ba1d501955079f097caa186bb53ce0f718dca99ac1942fe"
- dependencies = [
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "libc",
-+ "system-deps 3.2.0",
- ]
-
-+[[package]]
-+name = "parking"
-+version = "2.0.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
-+
- [[package]]
- name = "parking_lot"
--version = "0.10.0"
-+version = "0.11.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb"
- dependencies = [
-- "lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "instant",
-+ "lock_api",
-+ "parking_lot_core",
- ]
-
- [[package]]
- name = "parking_lot_core"
--version = "0.7.0"
-+version = "0.8.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-- "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
-+ "instant",
-+ "libc",
-+ "redox_syscall",
-+ "smallvec",
-+ "winapi",
- ]
-
- [[package]]
- name = "percent-encoding"
--version = "1.0.1"
-+version = "2.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
-
- [[package]]
--name = "percent-encoding"
--version = "2.1.0"
-+name = "pest"
-+version = "2.1.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
-+dependencies = [
-+ "ucd-trie",
-+]
-
- [[package]]
- name = "phf"
- version = "0.7.24"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
-+dependencies = [
-+ "phf_shared 0.7.24",
-+]
-+
-+[[package]]
-+name = "phf"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
- dependencies = [
-- "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "phf_shared 0.8.0",
- ]
-
- [[package]]
- name = "phf_codegen"
- version = "0.7.24"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
- dependencies = [
-- "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "phf_generator 0.7.24",
-+ "phf_shared 0.7.24",
-+]
-+
-+[[package]]
-+name = "phf_codegen"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
-+dependencies = [
-+ "phf_generator 0.8.0",
-+ "phf_shared 0.8.0",
- ]
-
- [[package]]
- name = "phf_generator"
- version = "0.7.24"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
- dependencies = [
-- "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "phf_shared 0.7.24",
-+ "rand 0.6.5",
-+]
-+
-+[[package]]
-+name = "phf_generator"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
-+dependencies = [
-+ "phf_shared 0.8.0",
-+ "rand 0.7.3",
- ]
-
- [[package]]
- name = "phf_shared"
- version = "0.7.24"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-+dependencies = [
-+ "siphasher 0.2.3",
-+]
-+
-+[[package]]
-+name = "phf_shared"
-+version = "0.8.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
- dependencies = [
-- "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "siphasher 0.3.6",
- ]
-
- [[package]]
- name = "pin-project"
--version = "0.4.17"
-+version = "1.0.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "576bc800220cc65dac09e99e97b08b358cfab6e17078de8dc5fee223bd2d0c08"
- dependencies = [
-- "pin-project-internal 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pin-project-internal",
- ]
-
- [[package]]
- name = "pin-project-internal"
--version = "0.4.17"
-+version = "1.0.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6e8fe8163d14ce7f0cdac2e040116f22eac817edabff0be91e8aff7e9accf389"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "pin-project-lite"
--version = "0.1.1"
-+version = "0.2.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443"
-
- [[package]]
- name = "pin-utils"
--version = "0.1.0-alpha.4"
-+version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
- [[package]]
- name = "pkg-config"
--version = "0.3.17"
-+version = "0.3.19"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c"
-+
-+[[package]]
-+name = "polling"
-+version = "2.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25"
-+dependencies = [
-+ "cfg-if 1.0.0",
-+ "libc",
-+ "log",
-+ "wepoll-ffi",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "polyval"
-+version = "0.4.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd"
-+dependencies = [
-+ "cpuid-bool",
-+ "opaque-debug",
-+ "universal-hash",
-+]
-+
-+[[package]]
-+name = "ppv-lite86"
-+version = "0.2.10"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857"
-
- [[package]]
- name = "precomputed-hash"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
-
- [[package]]
- name = "pretty_env_logger"
- version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074"
- dependencies = [
-- "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono",
-+ "env_logger",
-+ "log",
- ]
-
- [[package]]
--name = "proc-macro-hack"
--version = "0.5.11"
-+name = "proc-macro-crate"
-+version = "1.0.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "41fdbd1df62156fbc5945f4762632564d7d038153091c3fcf1067f6aef7cff92"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "thiserror",
-+ "toml",
- ]
-
- [[package]]
--name = "proc-macro-nested"
--version = "0.1.3"
-+name = "proc-macro-error"
-+version = "1.0.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
-+dependencies = [
-+ "proc-macro-error-attr",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "version_check",
-+]
-
- [[package]]
--name = "proc-macro2"
--version = "0.4.30"
-+name = "proc-macro-error-attr"
-+version = "1.0.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
- dependencies = [
-- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "version_check",
- ]
-
- [[package]]
--name = "proc-macro2"
--version = "1.0.17"
-+name = "proc-macro-hack"
-+version = "0.5.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
-
- [[package]]
--name = "quick-error"
--version = "1.2.2"
-+name = "proc-macro-nested"
-+version = "0.1.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086"
-
- [[package]]
--name = "quote"
--version = "0.6.13"
-+name = "proc-macro2"
-+version = "1.0.28"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c7ed8b8c7b886ea3ed7dde405212185f423ab44682667c8c6dd14aa1d9f6612"
- dependencies = [
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "unicode-xid",
- ]
-
-+[[package]]
-+name = "quick-error"
-+version = "1.2.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
-+
- [[package]]
- name = "quote"
--version = "1.0.2"
-+version = "1.0.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
- ]
-
- [[package]]
- name = "r2d2"
--version = "0.8.7"
-+version = "0.8.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "545c5bc2b880973c9c10e4067418407a0ccaa3091781d1671d46eb35107cb26f"
- dependencies = [
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "scheduled-thread-pool 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log",
-+ "parking_lot",
-+ "scheduled-thread-pool",
- ]
-
- [[package]]
- name = "rand"
- version = "0.3.23"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "rand 0.4.6",
- ]
-
- [[package]]
- name = "rand"
- version = "0.4.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
- dependencies = [
-- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "fuchsia-cprng",
-+ "libc",
-+ "rand_core 0.3.1",
-+ "rdrand",
-+ "winapi",
- ]
-
- [[package]]
- name = "rand"
- version = "0.6.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
-+dependencies = [
-+ "autocfg 0.1.7",
-+ "libc",
-+ "rand_chacha 0.1.1",
-+ "rand_core 0.4.2",
-+ "rand_hc 0.1.0",
-+ "rand_isaac",
-+ "rand_jitter",
-+ "rand_os",
-+ "rand_pcg 0.1.2",
-+ "rand_xorshift",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.7.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-+dependencies = [
-+ "getrandom 0.1.16",
-+ "libc",
-+ "rand_chacha 0.2.2",
-+ "rand_core 0.5.1",
-+ "rand_hc 0.2.0",
-+ "rand_pcg 0.2.1",
-+]
-+
-+[[package]]
-+name = "rand"
-+version = "0.8.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8"
-+dependencies = [
-+ "libc",
-+ "rand_chacha 0.3.1",
-+ "rand_core 0.6.3",
-+ "rand_hc 0.3.1",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
-+dependencies = [
-+ "autocfg 0.1.7",
-+ "rand_core 0.3.1",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
-+dependencies = [
-+ "ppv-lite86",
-+ "rand_core 0.5.1",
-+]
-+
-+[[package]]
-+name = "rand_chacha"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
-+dependencies = [
-+ "ppv-lite86",
-+ "rand_core 0.6.3",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
-+dependencies = [
-+ "rand_core 0.4.2",
-+]
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.4.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
-+
-+[[package]]
-+name = "rand_core"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "getrandom 0.1.16",
- ]
-
- [[package]]
--name = "rand_chacha"
--version = "0.1.1"
-+name = "rand_core"
-+version = "0.6.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "getrandom 0.2.3",
- ]
-
- [[package]]
--name = "rand_core"
--version = "0.3.1"
-+name = "rand_hc"
-+version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
- dependencies = [
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1",
- ]
-
- [[package]]
--name = "rand_core"
--version = "0.4.2"
-+name = "rand_hc"
-+version = "0.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-+dependencies = [
-+ "rand_core 0.5.1",
-+]
-
- [[package]]
- name = "rand_hc"
--version = "0.1.0"
-+version = "0.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7"
- dependencies = [
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.6.3",
- ]
-
- [[package]]
- name = "rand_isaac"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
- dependencies = [
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1",
- ]
-
- [[package]]
- name = "rand_jitter"
- version = "0.1.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "rand_core 0.4.2",
-+ "winapi",
- ]
-
- [[package]]
- name = "rand_os"
- version = "0.1.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
- dependencies = [
-- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cloudabi",
-+ "fuchsia-cprng",
-+ "libc",
-+ "rand_core 0.4.2",
-+ "rdrand",
-+ "winapi",
- ]
-
- [[package]]
- name = "rand_pcg"
- version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
- dependencies = [
-- "autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "autocfg 0.1.7",
-+ "rand_core 0.4.2",
-+]
-+
-+[[package]]
-+name = "rand_pcg"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429"
-+dependencies = [
-+ "rand_core 0.5.1",
- ]
-
- [[package]]
- name = "rand_xorshift"
- version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
- dependencies = [
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1",
- ]
-
- [[package]]
- name = "rdrand"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
- dependencies = [
-- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "rand_core 0.3.1",
- ]
-
- [[package]]
- name = "read-it-later"
- version = "0.0.2"
- dependencies = [
-- "anyhow 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)",
-- "async-std 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "diesel 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "diesel_migrations 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-pixbuf 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gettext-rs 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk-macros 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "html2pango 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "http-client 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "isahc 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libhandy 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sanitize_html 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "secret-service 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
-- "strum 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "strum_macros 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wallabag-api 0.3.0 (git+https://github.com/swalladge/wallabag-api.git?rev=d2bbebbe76f44edc074e3b2f5313bb8861b6cbe4)",
-- "webkit2gtk 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "anyhow",
-+ "async-std",
-+ "cairo-rs",
-+ "chrono",
-+ "diesel",
-+ "diesel_migrations",
-+ "futures 0.3.16",
-+ "gdk",
-+ "gdk-pixbuf",
-+ "gettext-rs",
-+ "gio",
-+ "glib",
-+ "gtk",
-+ "gtk-macros",
-+ "html2pango",
-+ "http-client 1.1.1",
-+ "isahc 0.9.14",
-+ "lazy_static",
-+ "libhandy",
-+ "log",
-+ "once_cell",
-+ "pretty_env_logger",
-+ "regex",
-+ "rust-crypto",
-+ "sanitize_html",
-+ "secret-service",
-+ "serde",
-+ "serde_derive",
-+ "serde_json",
-+ "strum 0.16.0",
-+ "strum_macros 0.16.0",
-+ "url",
-+ "wallabag-api",
-+ "webkit2gtk",
- ]
-
- [[package]]
- name = "redox_syscall"
--version = "0.1.56"
-+version = "0.2.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
-+dependencies = [
-+ "bitflags",
-+]
-
- [[package]]
- name = "regex"
--version = "1.3.1"
-+version = "1.5.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461"
- dependencies = [
-- "aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)",
-- "memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aho-corasick",
-+ "memchr",
-+ "regex-syntax",
- ]
-
- [[package]]
- name = "regex-syntax"
--version = "0.6.12"
-+version = "0.6.25"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
-
- [[package]]
- name = "rust-crypto"
- version = "0.2.36"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
- dependencies = [
-- "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "gcc",
-+ "libc",
-+ "rand 0.3.23",
-+ "rustc-serialize",
-+ "time 0.1.44",
- ]
-
--[[package]]
--name = "rustc-demangle"
--version = "0.1.16"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--
- [[package]]
- name = "rustc-serialize"
- version = "0.3.24"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
-
- [[package]]
- name = "rustc_version"
- version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
-+dependencies = [
-+ "semver 0.9.0",
-+]
-+
-+[[package]]
-+name = "rustc_version"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee"
- dependencies = [
-- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "semver 0.11.0",
- ]
-
- [[package]]
- name = "ryu"
--version = "1.0.2"
-+version = "1.0.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-
- [[package]]
- name = "sanitize_html"
- version = "0.6.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "422bdfab5da6695bdc9f28a25087f6a01bf35c0ce2f51eeb2608db8b464a60a8"
- dependencies = [
-- "html5ever 0.24.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "html5ever 0.24.1",
-+ "lazy_static",
-+ "regex",
- ]
-
- [[package]]
- name = "schannel"
--version = "0.1.16"
-+version = "0.1.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
- dependencies = [
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static",
-+ "winapi",
- ]
-
- [[package]]
- name = "scheduled-thread-pool"
--version = "0.2.3"
-+version = "0.2.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dc6f74fd1204073fa02d5d5d68bec8021be4c38690b61264b2fdb48083d0e7d7"
- dependencies = [
-- "parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "parking_lot",
- ]
-
- [[package]]
- name = "scopeguard"
--version = "1.0.0"
-+version = "1.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
-
- [[package]]
- name = "secret-service"
--version = "1.0.0"
-+version = "1.1.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d752040301c251d653aa740dec847e95767ce312cfc469bee85eb13cbf81d8a"
- dependencies = [
-- "aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "block-modes 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "dbus 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "hkdf 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "aes",
-+ "block-modes",
-+ "dbus",
-+ "hkdf",
-+ "lazy_static",
-+ "num",
-+ "rand 0.7.3",
-+ "sha2",
- ]
-
- [[package]]
- name = "semver"
- version = "0.9.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
-+dependencies = [
-+ "semver-parser 0.7.0",
-+]
-+
-+[[package]]
-+name = "semver"
-+version = "0.11.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
- dependencies = [
-- "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "semver-parser 0.10.2",
- ]
-
- [[package]]
- name = "semver-parser"
- version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
-+
-+[[package]]
-+name = "semver-parser"
-+version = "0.10.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
-+dependencies = [
-+ "pest",
-+]
-
- [[package]]
- name = "serde"
--version = "1.0.104"
-+version = "1.0.129"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d1f72836d2aa753853178eda473a3b9d8e4eefdaf20523b919677e6de489f8f1"
- dependencies = [
-- "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde_derive",
- ]
-
- [[package]]
- name = "serde_derive"
--version = "1.0.104"
-+version = "1.0.129"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e57ae87ad533d9a56427558b516d0adac283614e347abf85b0dc0cbbf0a249f3"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "serde_json"
--version = "1.0.44"
-+version = "1.0.66"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "336b10da19a12ad094b59d870ebde26a45402e5b470add4b5fd03c5048a32127"
-+dependencies = [
-+ "itoa",
-+ "ryu",
-+ "serde",
-+]
-+
-+[[package]]
-+name = "serde_qs"
-+version = "0.8.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d8a72808528a89fa9eca23bbb6a1eb92cb639b881357269b6510f11e50c0f8a9"
- dependencies = [
-- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "percent-encoding",
-+ "serde",
-+ "thiserror",
- ]
-
- [[package]]
- name = "serde_urlencoded"
--version = "0.6.1"
-+version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9"
- dependencies = [
-- "dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "form_urlencoded",
-+ "itoa",
-+ "ryu",
-+ "serde",
- ]
-
-+[[package]]
-+name = "sha1"
-+version = "0.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d"
-+
- [[package]]
- name = "sha2"
--version = "0.8.0"
-+version = "0.9.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12"
- dependencies = [
-- "block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "block-buffer",
-+ "cfg-if 1.0.0",
-+ "cpufeatures",
-+ "digest",
-+ "opaque-debug",
- ]
-
- [[package]]
- name = "siphasher"
- version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-+
-+[[package]]
-+name = "siphasher"
-+version = "0.3.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "729a25c17d72b06c68cb47955d44fda88ad2d3e7d77e025663fdd69b93dd71a1"
-
- [[package]]
- name = "slab"
--version = "0.4.2"
-+version = "0.4.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c307a32c1c5c437f38c7fd45d753050587732ba8628319fbdf12a7e289ccc590"
-
- [[package]]
- name = "sluice"
--version = "0.5.2"
-+version = "0.5.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6d7400c0eff44aa2fcb5e31a5f24ba9716ed90138769e4977a2ba6014ae63eb5"
- dependencies = [
-- "futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "async-channel",
-+ "futures-core",
-+ "futures-io",
- ]
-
- [[package]]
- name = "smallvec"
--version = "1.1.0"
-+version = "1.6.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e"
-
- [[package]]
- name = "socket2"
--version = "0.3.11"
-+version = "0.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "765f090f0e423d2b55843402a07915add955e7d60657db13707a159727326cad"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "libc",
-+ "winapi",
- ]
-
- [[package]]
- name = "soup-sys"
--version = "0.9.0"
-+version = "0.10.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c3c7adf08565630bbb71f955f11f8a68464817ded2703a3549747c235b58a13e"
-+dependencies = [
-+ "bitflags",
-+ "gio-sys 0.10.1",
-+ "glib-sys 0.10.1",
-+ "gobject-sys 0.10.0",
-+ "libc",
-+ "pkg-config",
-+ "system-deps 1.3.2",
-+]
-+
-+[[package]]
-+name = "spinning_top"
-+version = "0.2.4"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "75adad84ee84b521fb2cca2d4fd0f1dab1d8d026bda3c5bea4ca63b5f9f9293c"
-+dependencies = [
-+ "lock_api",
-+]
-+
-+[[package]]
-+name = "standback"
-+version = "0.2.17"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff"
-+dependencies = [
-+ "version_check",
-+]
-+
-+[[package]]
-+name = "stdweb"
-+version = "0.4.20"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "discard",
-+ "rustc_version 0.2.3",
-+ "stdweb-derive",
-+ "stdweb-internal-macros",
-+ "stdweb-internal-runtime",
-+ "wasm-bindgen",
- ]
-
-+[[package]]
-+name = "stdweb-derive"
-+version = "0.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef"
-+dependencies = [
-+ "proc-macro2",
-+ "quote",
-+ "serde",
-+ "serde_derive",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "stdweb-internal-macros"
-+version = "0.2.9"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11"
-+dependencies = [
-+ "base-x",
-+ "proc-macro2",
-+ "quote",
-+ "serde",
-+ "serde_derive",
-+ "serde_json",
-+ "sha1",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "stdweb-internal-runtime"
-+version = "0.1.5"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
-+
- [[package]]
- name = "string_cache"
- version = "0.7.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "89c058a82f9fd69b1becf8c274f412281038877c553182f1d02eb027045a2d67"
-+dependencies = [
-+ "lazy_static",
-+ "new_debug_unreachable",
-+ "phf_shared 0.7.24",
-+ "precomputed-hash",
-+ "serde",
-+ "string_cache_codegen 0.4.4",
-+ "string_cache_shared",
-+]
-+
-+[[package]]
-+name = "string_cache"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8ddb1139b5353f96e429e1a5e19fbaf663bddedaa06d1dbd49f82e352601209a"
- dependencies = [
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
-- "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "string_cache_codegen 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static",
-+ "new_debug_unreachable",
-+ "phf_shared 0.8.0",
-+ "precomputed-hash",
-+ "serde",
- ]
-
- [[package]]
- name = "string_cache_codegen"
- version = "0.4.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f0f45ed1b65bf9a4bf2f7b7dc59212d1926e9eaf00fa998988e420fd124467c6"
-+dependencies = [
-+ "phf_generator 0.7.24",
-+ "phf_shared 0.7.24",
-+ "proc-macro2",
-+ "quote",
-+ "string_cache_shared",
-+]
-+
-+[[package]]
-+name = "string_cache_codegen"
-+version = "0.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97"
- dependencies = [
-- "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "phf_generator 0.8.0",
-+ "phf_shared 0.8.0",
-+ "proc-macro2",
-+ "quote",
- ]
-
- [[package]]
- name = "string_cache_shared"
- version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc"
-
- [[package]]
- name = "strum"
- version = "0.16.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6138f8f88a16d90134763314e3fc76fa3ed6a7db4725d6acf9a3ef95a3188d22"
-+
-+[[package]]
-+name = "strum"
-+version = "0.18.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b"
-+
-+[[package]]
-+name = "strum"
-+version = "0.21.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
-
- [[package]]
- name = "strum_macros"
- version = "0.16.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0054a7df764039a6cd8592b9de84be4bec368ff081d203a7d5371cbfa8e65c81"
-+dependencies = [
-+ "heck",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "strum_macros"
-+version = "0.18.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c"
-+dependencies = [
-+ "heck",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "strum_macros"
-+version = "0.21.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec"
- dependencies = [
-- "heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "heck",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "subtle"
--version = "1.0.0"
-+version = "2.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
-
- [[package]]
- name = "surf"
--version = "2.0.0-alpha.0"
-+version = "2.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "73f856d60bdb4679fc9ec516c34093484e963431b5016a8429f85a8e74b5ccaa"
- dependencies = [
-- "encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
-- "http-client 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "isahc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "js-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen-futures 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "web-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "async-std",
-+ "async-trait",
-+ "cfg-if 1.0.0",
-+ "encoding_rs",
-+ "futures-util",
-+ "getrandom 0.2.3",
-+ "http-client 6.5.1",
-+ "http-types",
-+ "log",
-+ "mime_guess",
-+ "once_cell",
-+ "pin-project-lite",
-+ "serde",
-+ "serde_json",
-+ "web-sys",
- ]
-
- [[package]]
- name = "syn"
--version = "0.15.44"
-+version = "1.0.75"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b7f58f7e8eaa0009c5fec437aabf511bd9933e4b2d7407bd05273c01a8906ea7"
- dependencies = [
-- "proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "unicode-xid",
- ]
-
- [[package]]
--name = "syn"
--version = "1.0.25"
-+name = "system-deps"
-+version = "1.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "heck",
-+ "pkg-config",
-+ "strum 0.18.0",
-+ "strum_macros 0.18.0",
-+ "thiserror",
-+ "toml",
-+ "version-compare 0.0.10",
- ]
-
- [[package]]
--name = "synstructure"
--version = "0.12.3"
-+name = "system-deps"
-+version = "3.2.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-- "unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "anyhow",
-+ "cfg-expr",
-+ "heck",
-+ "itertools",
-+ "pkg-config",
-+ "strum 0.21.0",
-+ "strum_macros 0.21.1",
-+ "thiserror",
-+ "toml",
-+ "version-compare 0.0.11",
- ]
-
- [[package]]
- name = "tendril"
--version = "0.4.1"
-+version = "0.4.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a9ef557cb397a4f0a5a3a628f06515f78563f2209e64d47055d9dc6052bf5e33"
- dependencies = [
-- "futf 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
-- "mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "futf",
-+ "mac",
-+ "utf-8",
- ]
-
- [[package]]
- name = "termcolor"
--version = "1.0.5"
-+version = "1.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
- dependencies = [
-- "wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-util",
- ]
-
- [[package]]
--name = "thread_local"
--version = "0.3.6"
-+name = "thiserror"
-+version = "1.0.26"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "93119e4feac1cbe6c798c34d3a53ea0026b0b1de6a120deef895137c0529bfe2"
-+dependencies = [
-+ "thiserror-impl",
-+]
-+
-+[[package]]
-+name = "thiserror-impl"
-+version = "1.0.26"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "060d69a0afe7796bf42e9e2ff91f5ee691fb15c53d38b4b62a9a53eb23164745"
- dependencies = [
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "time"
--version = "0.1.42"
-+version = "0.1.44"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
-+dependencies = [
-+ "libc",
-+ "wasi 0.10.0+wasi-snapshot-preview1",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "time"
-+version = "0.2.27"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242"
-+dependencies = [
-+ "const_fn",
-+ "libc",
-+ "standback",
-+ "stdweb",
-+ "time-macros",
-+ "version_check",
-+ "winapi",
-+]
-+
-+[[package]]
-+name = "time-macros"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1"
-+dependencies = [
-+ "proc-macro-hack",
-+ "time-macros-impl",
-+]
-+
-+[[package]]
-+name = "time-macros-impl"
-+version = "0.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f"
-+dependencies = [
-+ "proc-macro-hack",
-+ "proc-macro2",
-+ "quote",
-+ "standback",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "tinyvec"
-+version = "1.3.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "848a1e1181b9f6753b5e96a092749e29b11d19ede67dfbbd6c7dc7e0f49b5338"
- dependencies = [
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tinyvec_macros",
- ]
-
-+[[package]]
-+name = "tinyvec_macros"
-+version = "0.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
-+
- [[package]]
- name = "tokio-io"
--version = "0.1.12"
-+version = "0.1.13"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
-+dependencies = [
-+ "bytes 0.4.12",
-+ "futures 0.1.31",
-+ "log",
-+]
-+
-+[[package]]
-+name = "toml"
-+version = "0.5.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
- dependencies = [
-- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
-- "futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "serde",
- ]
-
- [[package]]
- name = "tracing"
--version = "0.1.14"
-+version = "0.1.26"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tracing-attributes 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tracing-core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
-+ "log",
-+ "pin-project-lite",
-+ "tracing-attributes",
-+ "tracing-core",
- ]
-
- [[package]]
- name = "tracing-attributes"
--version = "0.1.8"
-+version = "0.1.15"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c42e6fa53307c8a17e4ccd4dc81cf5ec38db9209f59b222210375b54ee40d1e2"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
- name = "tracing-core"
--version = "0.1.10"
-+version = "0.1.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "2ca517f43f0fb96e0c3072ed5c275fe5eece87e8cb52f4a77b69226d3b1c9df8"
- dependencies = [
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "lazy_static",
- ]
-
- [[package]]
- name = "tracing-futures"
--version = "0.2.4"
-+version = "0.2.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
- dependencies = [
-- "pin-project 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "tracing 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "pin-project",
-+ "tracing",
- ]
-
- [[package]]
- name = "typenum"
--version = "1.11.2"
-+version = "1.13.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06"
-+
-+[[package]]
-+name = "ucd-trie"
-+version = "0.1.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
-
- [[package]]
- name = "unicase"
- version = "2.6.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
- dependencies = [
-- "version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "version_check",
- ]
-
- [[package]]
- name = "unicode-bidi"
--version = "0.3.4"
-+version = "0.3.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
--]
-+checksum = "246f4c42e67e7a4e3c6106ff716a5d067d4132a642840b242e357e468a2a0085"
-
- [[package]]
- name = "unicode-normalization"
--version = "0.1.11"
-+version = "0.1.19"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
- dependencies = [
-- "smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "tinyvec",
- ]
-
- [[package]]
- name = "unicode-segmentation"
--version = "1.6.0"
-+version = "1.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b"
-
- [[package]]
- name = "unicode-xid"
--version = "0.1.0"
-+version = "0.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
-
- [[package]]
--name = "unicode-xid"
--version = "0.2.0"
-+name = "universal-hash"
-+version = "0.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9f214e8f697e925001e66ec2c6e37a4ef93f0f78c2eed7814394e10c62025b05"
-+dependencies = [
-+ "generic-array",
-+ "subtle",
-+]
-
- [[package]]
- name = "url"
--version = "1.7.2"
-+version = "2.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
- dependencies = [
-- "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "form_urlencoded",
-+ "idna",
-+ "matches",
-+ "percent-encoding",
-+ "serde",
- ]
-
- [[package]]
--name = "url"
--version = "2.1.0"
-+name = "utf-8"
-+version = "0.7.6"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9"
-+
-+[[package]]
-+name = "value-bag"
-+version = "1.0.0-alpha.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dd320e1520f94261153e96f7534476ad869c14022aee1e59af7c778075d840ae"
- dependencies = [
-- "idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "ctor",
-+ "version_check",
- ]
-
- [[package]]
--name = "utf-8"
--version = "0.7.5"
-+name = "vcpkg"
-+version = "0.2.15"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
-
- [[package]]
--name = "vcpkg"
--version = "0.2.8"
-+name = "version-compare"
-+version = "0.0.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1"
-+
-+[[package]]
-+name = "version-compare"
-+version = "0.0.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b"
-
- [[package]]
- name = "version_check"
--version = "0.9.1"
-+version = "0.9.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe"
-+
-+[[package]]
-+name = "waker-fn"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca"
-
- [[package]]
- name = "wallabag-api"
--version = "0.3.0"
--source = "git+https://github.com/swalladge/wallabag-api.git?rev=d2bbebbe76f44edc074e3b2f5313bb8861b6cbe4#d2bbebbe76f44edc074e3b2f5313bb8861b6cbe4"
-+version = "0.4.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e7574c7c89ca85e354fdcb9e448d3ca206c045383a7969b2253c183a641a78ca"
- dependencies = [
-- "chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)",
-- "serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "surf 2.0.0-alpha.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "chrono",
-+ "log",
-+ "serde",
-+ "serde_json",
-+ "serde_urlencoded",
-+ "surf",
- ]
-
-+[[package]]
-+name = "wasi"
-+version = "0.9.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
-+
-+[[package]]
-+name = "wasi"
-+version = "0.10.0+wasi-snapshot-preview1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
-+
- [[package]]
- name = "wasm-bindgen"
--version = "0.2.60"
-+version = "0.2.76"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8ce9b1b516211d33767048e5d47fa2a381ed8b76fc48d2ce4aa39877f9f183e0"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen-macro 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
-+ "wasm-bindgen-macro",
- ]
-
- [[package]]
- name = "wasm-bindgen-backend"
--version = "0.2.60"
-+version = "0.2.76"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cfe8dc78e2326ba5f845f4b5bf548401604fa20b1dd1d365fb73b6c1d6364041"
- dependencies = [
-- "bumpalo 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen-shared 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bumpalo",
-+ "lazy_static",
-+ "log",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "wasm-bindgen-shared",
- ]
-
- [[package]]
- name = "wasm-bindgen-futures"
--version = "0.4.10"
-+version = "0.4.26"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "95fded345a6559c2cfee778d562300c581f7d4ff3edb9b0d230d69800d213972"
- dependencies = [
-- "cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)",
-- "js-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-- "web-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "cfg-if 1.0.0",
-+ "js-sys",
-+ "wasm-bindgen",
-+ "web-sys",
- ]
-
- [[package]]
- name = "wasm-bindgen-macro"
--version = "0.2.60"
-+version = "0.2.76"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "44468aa53335841d9d6b6c023eaab07c0cd4bddbcfdee3e2bb1e8d2cb8069fef"
- dependencies = [
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen-macro-support 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "quote",
-+ "wasm-bindgen-macro-support",
- ]
-
- [[package]]
- name = "wasm-bindgen-macro-support"
--version = "0.2.60"
-+version = "0.2.76"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0195807922713af1e67dc66132c7328206ed9766af3858164fb583eedc25fbad"
- dependencies = [
-- "proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen-backend 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen-shared 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
-+ "wasm-bindgen-backend",
-+ "wasm-bindgen-shared",
- ]
-
- [[package]]
- name = "wasm-bindgen-shared"
--version = "0.2.60"
-+version = "0.2.76"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "acdb075a845574a1fa5f09fd77e43f7747599301ea3417a9fbffdeedfc1f4a29"
-
- [[package]]
- name = "web-sys"
--version = "0.3.37"
-+version = "0.3.53"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "224b2f6b67919060055ef1a67807367c2066ed520c3862cc013d26cf893a783c"
- dependencies = [
-- "js-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)",
-- "wasm-bindgen 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "js-sys",
-+ "wasm-bindgen",
- ]
-
- [[package]]
- name = "webkit2gtk"
--version = "0.9.0"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "e3e47b7f870883fc21612d2a51b74262f7f2cc5371f1621370817292a35300a9"
- dependencies = [
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "javascriptcore-rs 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "webkit2gtk-sys 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "bitflags",
-+ "cairo-rs",
-+ "gdk",
-+ "gdk-sys",
-+ "gio",
-+ "gio-sys 0.14.0",
-+ "glib",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "gtk",
-+ "gtk-sys",
-+ "javascriptcore-rs",
-+ "libc",
-+ "once_cell",
-+ "webkit2gtk-sys",
- ]
-
- [[package]]
- name = "webkit2gtk-sys"
--version = "0.11.0"
-+version = "0.14.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "b66ccc9f0cb4de7c3b92376a5bf64e7ddffb33852f092721731a039ec38dda98"
- dependencies = [
-- "atk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "gtk-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)",
-- "javascriptcore-rs-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
-- "pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)",
-- "soup-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "atk-sys",
-+ "bitflags",
-+ "cairo-sys-rs",
-+ "gdk-pixbuf-sys",
-+ "gdk-sys",
-+ "gio-sys 0.14.0",
-+ "glib-sys 0.14.0",
-+ "gobject-sys 0.14.0",
-+ "gtk-sys",
-+ "javascriptcore-rs-sys",
-+ "libc",
-+ "pango-sys",
-+ "pkg-config",
-+ "soup-sys",
-+ "system-deps 3.2.0",
- ]
-
- [[package]]
--name = "winapi"
--version = "0.2.8"
-+name = "wepoll-ffi"
-+version = "0.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb"
-+dependencies = [
-+ "cc",
-+]
-
- [[package]]
- name = "winapi"
--version = "0.3.8"
-+version = "0.3.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
- dependencies = [
-- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi-i686-pc-windows-gnu",
-+ "winapi-x86_64-pc-windows-gnu",
- ]
-
--[[package]]
--name = "winapi-build"
--version = "0.1.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--
- [[package]]
- name = "winapi-i686-pc-windows-gnu"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
- [[package]]
- name = "winapi-util"
--version = "0.1.2"
-+version = "0.1.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
- dependencies = [
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "winapi",
- ]
-
- [[package]]
- name = "winapi-x86_64-pc-windows-gnu"
- version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
- [[package]]
--name = "wincolor"
--version = "1.0.2"
-+name = "xml5ever"
-+version = "0.16.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0b1b52e6e8614d4a58b8e70cf51ec0cc21b256ad8206708bcff8139b5bbd6a59"
- dependencies = [
-- "winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
-+ "log",
-+ "mac",
-+ "markup5ever 0.10.1",
-+ "time 0.1.44",
- ]
--
--[[package]]
--name = "ws2_32-sys"
--version = "0.2.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--dependencies = [
-- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
-- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
--]
--
--[metadata]
--"checksum aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "54eb1d8fe354e5fc611daf4f2ea97dd45a765f4f1e4512306ec183ae2e8f20c9"
--"checksum aes-soft 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "cfd7e7ae3f9a1fb5c03b389fc6bb9a51400d0c13053f0dca698c832bfd893a0d"
--"checksum aesni 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2f70a6b5f971e473091ab7cfb5ffac6cde81666c4556751d8d5620ead8abf100"
--"checksum aho-corasick 0.7.6 (registry+https://github.com/rust-lang/crates.io-index)" = "58fb5e95d83b38284460a5fda7d6470aa0b8844d283a0b614b8535e880800d2d"
--"checksum ammonia 2.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "384d704f242a0a9faf793fff775a0be6ab9aa27edabffa097331d73779142520"
--"checksum anyhow 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)" = "85bb70cc08ec97ca5450e6eba421deeea5f172c0fc61f78b5357b2a8e8be195f"
--"checksum async-std 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0bf6039b315300e057d198b9d3ab92ee029e31c759b7f1afae538145e6f18a3e"
--"checksum async-task 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de6bd58f7b9cc49032559422595c81cbfcf04db2f2133592f70af19e258a1ced"
--"checksum atk 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "444daefa55f229af145ea58d77efd23725024ee1f6f3102743709aa6b18c663e"
--"checksum atk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e552c1776737a4c80110d06b36d099f47c727335f9aaa5d942a72b6863a8ec6f"
--"checksum atty 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "1803c647a3ec87095e7ae7acfca019e98de5ec9a7d01343f611cf3152ed71a90"
--"checksum autocfg 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
--"checksum backtrace 0.3.40 (registry+https://github.com/rust-lang/crates.io-index)" = "924c76597f0d9ca25d762c25a4d369d51267536465dc5064bdf0eb073ed477ea"
--"checksum backtrace-sys 0.1.32 (registry+https://github.com/rust-lang/crates.io-index)" = "5d6575f128516de27e3ce99689419835fce9643a9b215a14d2b5b685be018491"
--"checksum bitflags 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
--"checksum block-buffer 0.7.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
--"checksum block-cipher-trait 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "1c924d49bd09e7c06003acda26cd9742e796e34282ec6c1189404dee0c1f4774"
--"checksum block-modes 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "31aa8410095e39fdb732909fb5730a48d5bd7c2e3cd76bd1b07b3dbea130c529"
--"checksum block-padding 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
--"checksum bumpalo 3.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "12ae9db68ad7fac5fe51304d20f016c911539251075a214f8e663babefa35187"
--"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
--"checksum byteorder 1.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c3dd8985a7111efc5c80b44e23ecdd8c007de8ade3b96595387e812b957cf5"
--"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
--"checksum bytes 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "130aac562c0dd69c56b3b1cc8ffd2e17be31d0b6c25b61c96b76231aa23e39e1"
--"checksum cairo-rs 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0b528aca2ef1026235d0122495dbaee0b09479f77c51f6df8d9bb9cb1c6d6f87"
--"checksum cairo-sys-rs 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ff65ba02cac715be836f63429ab00a767d48336efc5497c5637afb53b4f14d63"
--"checksum cc 1.0.48 (registry+https://github.com/rust-lang/crates.io-index)" = "f52a465a666ca3d838ebbf08b241383421412fe7ebb463527bba275526d89f76"
--"checksum cfg-if 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
--"checksum chrono 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "31850b4a4d6bae316f7a09e691c944c28299298837edc0a03f755618c23cbc01"
--"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
--"checksum crossbeam-channel 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "acec9a3b0b3559f15aee4f90746c4e5e293b701c0f7d3925d24e01645267b68c"
--"checksum crossbeam-deque 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c3aa945d63861bfe624b55d153a39684da1e8c0bc8fba932f7ee3a3c16cea3ca"
--"checksum crossbeam-epoch 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5064ebdbf05ce3cb95e45c8b086f72263f4166b29b97f6baff7ef7fe047b55ac"
--"checksum crossbeam-utils 0.6.6 (registry+https://github.com/rust-lang/crates.io-index)" = "04973fa96e96579258a5091af6003abde64af786b860f18622b82e026cca60e6"
--"checksum crossbeam-utils 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ce446db02cdc3165b94ae73111e570793400d0794e46125cc4056c81cbb039f4"
--"checksum crypto-mac 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "4434400df11d95d556bac068ddfedd482915eb18fe8bea89bc80b6e4b1c179e5"
--"checksum curl 0.4.25 (registry+https://github.com/rust-lang/crates.io-index)" = "06aa71e9208a54def20792d877bc663d6aae0732b9852e612c4a933177c31283"
--"checksum curl-sys 0.4.31+curl-7.70.0 (registry+https://github.com/rust-lang/crates.io-index)" = "dcd62757cc4f5ab9404bc6ca9f0ae447e729a1403948ce5106bd588ceac6a3b0"
--"checksum dbus 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b4a0c10ea61042b7555729ab0608727bbbb06ce709c11e6047cfa4e10f6d052d"
--"checksum diesel 1.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "9d7cc03b910de9935007861dce440881f69102aaaedfd4bc5a6f40340ca5840c"
--"checksum diesel_derives 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "45f5098f628d02a7a0f68ddba586fb61e80edec3bdc1be3b921f4ceec60858d3"
--"checksum diesel_migrations 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bf3cde8413353dc7f5d72fa8ce0b99a560a359d2c5ef1e5817ca731cd9008f4c"
--"checksum digest 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
--"checksum dtoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ea57b42383d091c85abcc2706240b94ab2a8fa1fc81c10ff23c4de06e2a90b5e"
--"checksum encoding_rs 0.8.22 (registry+https://github.com/rust-lang/crates.io-index)" = "cd8d03faa7fe0c1431609dfad7bbe827af30f82e1e2ae6f7ee4fca6bd764bc28"
--"checksum env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
--"checksum failure 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "f8273f13c977665c5db7eb2b99ae520952fe5ac831ae4cd09d80c4c7042b5ed9"
--"checksum failure_derive 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0bc225b78e0391e4b8683440bf2e63c2deeeb2ce5189eab46e2b68c6d3725d08"
--"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
--"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
--"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
--"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
--"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
--"checksum futf 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7c9c1ce3fa9336301af935ab852c437817d14cd33690446569392e65170aac3b"
--"checksum futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1b980f2816d6ee8673b6517b52cb0e808a180efc92e5c19d02cdda79066703ef"
--"checksum futures 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5c329ae8753502fb44ae4fc2b622fa2a94652c41e795143765ba0927f92ab780"
--"checksum futures-channel 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0c77d04ce8edd9cb903932b608268b3fffec4163dc053b3b402bf47eac1f1a8"
--"checksum futures-core 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f25592f769825e89b92358db00d26f965761e094951ac44d3663ef25b7ac464a"
--"checksum futures-executor 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f674f3e1bcb15b37284a90cedf55afdba482ab061c407a9c0ebbd0f3109741ba"
--"checksum futures-io 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a638959aa96152c7a4cddf50fcb1e3fede0583b27157c26e67d6f99904090dc6"
--"checksum futures-macro 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "9a5081aa3de1f7542a794a397cde100ed903b0630152d0973479018fd85423a7"
--"checksum futures-sink 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "3466821b4bc114d95b087b850a724c6f83115e929bc88f1fa98a3304a944c8a6"
--"checksum futures-task 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "7b0a34e53cf6cdcd0178aa573aed466b646eb3db769570841fda0c7ede375a27"
--"checksum futures-timer 2.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a1de7508b218029b0f01662ed8f61b1c964b3ae99d6f25462d0f55a595109df6"
--"checksum futures-util 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "22766cf25d64306bedf0384da004d05c9974ab104fcc4528f1236181c18004c5"
--"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
--"checksum gdk 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2739c12374f83bad563ee839c2b3ea5c60391465a254fd4a54b6e3e9648dc61f"
--"checksum gdk-pixbuf 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e248220c46b329b097d4b158d2717f8c688f16dd76d0399ace82b3e98062bdd7"
--"checksum gdk-pixbuf-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d8991b060a9e9161bafd09bf4a202e6fd404f5b4dd1a08d53a1e84256fb34ab0"
--"checksum gdk-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "6adf679e91d1bff0c06860287f80403e7db54c2d2424dce0a470023b56c88fbb"
--"checksum generic-array 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c68f0274ae0e023facc3c97b2e00f076be70e254bc851d972503b328db79b2ec"
--"checksum gettext-rs 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "df454a42d8a718280c78666efe0707c120873736961ae91ead898f17ac66ce7c"
--"checksum gettext-sys 0.19.9 (registry+https://github.com/rust-lang/crates.io-index)" = "e034c4ba5bb796730a6cc5eb0d654c16885006a7c3d6c6603581ed809434f153"
--"checksum gio 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "879a5eb1a91623819d658669104fb587c1ae68695d50947f3e4949a00c6bc218"
--"checksum gio-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "4fad225242b9eae7ec8a063bb86974aca56885014672375e5775dc0ea3533911"
--"checksum glib 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "27bafffe3fc615449d5a87705f93f6fe4fcf749662b9d08cc9d5451f6c1b0f21"
--"checksum glib-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "95856f3802f446c05feffa5e24859fe6a183a7cb849c8449afc35c86b1e316e2"
--"checksum gobject-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31d1a804f62034eccf370006ccaef3708a71c31d561fee88564abe71177553d9"
--"checksum gtk 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7cd1d646cc9a2cb795f33b538779a3f22e71dc172f2aba08a41e84a2f72c0dec"
--"checksum gtk-macros 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1874c48e670519ce192093ac906c08a6dde7cb2d18b28722ef237726a39c3a63"
--"checksum gtk-sys 0.9.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53def660c7b48b00b510c81ef2d2fbd3c570f1527081d8d7947f471513e1a4c1"
--"checksum heck 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "20564e78d53d2bb135c343b3f47714a56af2061f1c928fdb541dc7b9fdd94205"
--"checksum hermit-abi 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f629dc602392d3ec14bfc8a09b5e644d7ffd725102b48b81e59f90f2633621d7"
--"checksum hkdf 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "35e8f9d776bbe83f1ff24951f7cc19140fb7ff8d0378463c4c4955f6b0d3e503"
--"checksum hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5dcb5e64cda4c23119ab41ba960d1e170a774c8e4b9d9e6a9bc18aabf5e59695"
--"checksum html2pango 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c60e9f4e430de4dc2b92c35ab670e7a010bc781abfe0dd6653835c6f3a18a53c"
--"checksum html5ever 0.23.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5ce65ac8028cf5a287a7dbf6c4e0a6cf2dcf022ed5b167a81bae66ebf599a8b7"
--"checksum html5ever 0.24.1 (registry+https://github.com/rust-lang/crates.io-index)" = "025483b0a1e4577bb28578318c886ee5f817dda6eb62473269349044406644cb"
--"checksum http 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0"
--"checksum http 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9"
--"checksum http-client 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "bf86227a76b64ebd37d442853370f7177be4fd3ae6f9ff5c9e0349643e1cb332"
--"checksum humantime 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
--"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
--"checksum idna 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
--"checksum iovec 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
--"checksum isahc 0.8.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c45d8c41e6f0b5aa495fd2577e6068e100f57eb87c4b353b0dab20bb53a56035"
--"checksum isahc 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "098c47b6176a9b667292810105999d6029d8338819f299584677e8a125e549c2"
--"checksum itoa 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "501266b7edd0174f8530248f87f99c88fbe60ca4ef3dd486835b8d8d53136f7f"
--"checksum javascriptcore-rs 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2104be353e5c19d587e25f36ecb6d59504b5573ad84b96b06650b0cc99d02784"
--"checksum javascriptcore-rs-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3f46ada8a08dcd75a10afae872fbfb51275df4a8ae0d46b8cc7c708f08dd2998"
--"checksum js-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)" = "6a27d435371a2fa5b6d2b028a74bbdb1234f308da363226a2854ca3ff8ba7055"
--"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
--"checksum kv-log-macro 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8c54d9f465d530a752e6ebdc217e081a7a614b48cb200f6f0aee21ba6bc9aabb"
--"checksum lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
--"checksum libc 0.2.66 (registry+https://github.com/rust-lang/crates.io-index)" = "d515b1f41455adea1313a4a2ac8a8a477634fbae63cc6100e3aebb207ce61558"
--"checksum libhandy 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2aa9f5620e4143358bcd645fe7d7d27b974ed9148cbdd490bc811813899afa07"
--"checksum libhandy-sys 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d707af842e918719b71af0ac6cf31d1843f6e8a4d1e9c733b998d8d482e60446"
--"checksum libnghttp2-sys 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b359f5ec8106bc297694c9a562ace312be2cfd17a5fc68dc12249845aa144b11"
--"checksum libsqlite3-sys 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5e5b95e89c330291768dc840238db7f9e204fd208511ab6319b56193a7f2ae25"
--"checksum libz-sys 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "2eb5e43362e38e2bca2fd5f5134c4d4564a23a5c28e9b95411652021a8675ebe"
--"checksum linkify 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9ce9439c6f4a1092dc1861272bef01034891da39f13aa1cdcf40ca3e4081de5f"
--"checksum locale_config 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "73ac19ebe45489e5d53b4346d8b90bb3dd03275c5fdf2ce22a982516d86b535c"
--"checksum lock_api 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e57b3997725d2b60dbec1297f6c2e2957cc383db1cebd6be812163f969c7d586"
--"checksum log 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)" = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
--"checksum mac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
--"checksum maplit 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
--"checksum markup5ever 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f1af46a727284117e09780d05038b1ce6fc9c76cc6df183c3dae5a8955a25e21"
--"checksum markup5ever 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "65381d9d47506b8592b97c4efd936afcf673b09b059f2bef39c7211ee78b9d03"
--"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
--"checksum memchr 2.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "88579771288728879b57485cc7d6b07d648c9f0141eb955f8ab7f9d45394468e"
--"checksum memoffset 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)" = "75189eb85871ea5c2e2c15abbdd541185f63b408415e5051f5cac122d8c774b9"
--"checksum migrations_internals 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8089920229070f914b9ce9b07ef60e175b2b9bc2d35c3edd8bf4433604e863b9"
--"checksum migrations_macros 1.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "719ef0bc7f531428764c9b70661c14abd50a7f3d21f355752d9985aa21251c9e"
--"checksum mime 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "dd1d63acd1b78403cc0c325605908475dd9b9a3acbf65ed8bcab97e27014afcf"
--"checksum mime_guess 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1a0ed03949aef72dbdf3116a383d7b38b4768e6f960528cd6a6044aa9ed68599"
--"checksum mio 0.6.21 (registry+https://github.com/rust-lang/crates.io-index)" = "302dec22bcf6bae6dfb69c647187f4b4d0fb6f535521f7bc022430ce8e12008f"
--"checksum mio-uds 0.6.7 (registry+https://github.com/rust-lang/crates.io-index)" = "966257a94e196b11bb43aca423754d87429960a768de9414f3691d6957abf125"
--"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
--"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
--"checksum new_debug_unreachable 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f40f005c60db6e03bae699e414c58bf9aa7ea02a2d0b9bfbcf19286cc4c82b30"
--"checksum num 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cf4825417e1e1406b3782a8ce92f4d53f26ec055e3622e1881ca8e9f5f9e08db"
--"checksum num-bigint 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f9c3f34cdd24f334cb265d9bf8bfa8a241920d026916785747a92f0e55541a1a"
--"checksum num-complex 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "fcb0cf31fb3ff77e6d2a6ebd6800df7fdcd106f2ad89113c9130bcd07f93dffc"
--"checksum num-integer 0.1.41 (registry+https://github.com/rust-lang/crates.io-index)" = "b85e541ef8255f6cf42bbfe4ef361305c6c135d10919ecc26126c4e5ae94bc09"
--"checksum num-iter 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "76bd5272412d173d6bf9afdf98db8612bbabc9a7a830b7bfc9c188911716132e"
--"checksum num-rational 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f2885278d5fe2adc2f75ced642d52d879bffaceb5a2e0b1d4309ffdfb239b454"
--"checksum num-traits 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "d4c81ffc11c212fa327657cb19dd85eb7419e163b5b076bede2bdb5c974c07e4"
--"checksum num_cpus 1.11.1 (registry+https://github.com/rust-lang/crates.io-index)" = "76dac5ed2a876980778b8b85f75a71b6cbf0db0b1232ee12f826bccb00d09d72"
--"checksum once_cell 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "891f486f630e5c5a4916c7e16c4b24a53e78c860b646e9f8e005e4f16847bfed"
--"checksum opaque-debug 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
--"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
--"checksum openssl-sys 0.9.53 (registry+https://github.com/rust-lang/crates.io-index)" = "465d16ae7fc0e313318f7de5cecf57b2fbe7511fd213978b457e1c96ff46736f"
--"checksum pango 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1e9c6b728f1be8edb5f9f981420b651d5ea30bdb9de89f1f1262d0084a020577"
--"checksum pango-sys 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "86b93d84907b3cf0819bff8f13598ba72843bee579d5ebc2502e4b0367b4be7d"
--"checksum parking_lot 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "92e98c49ab0b7ce5b222f2cc9193fc4efe11c6d0bd4f648e374684a6857b1cfc"
--"checksum parking_lot_core 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7582838484df45743c8434fbff785e8edf260c28748353d44bc0da32e0ceabf1"
--"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
--"checksum percent-encoding 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
--"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
--"checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
--"checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
--"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
--"checksum pin-project 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)" = "edc93aeee735e60ecb40cf740eb319ff23eab1c5748abfdb5c180e4ce49f7791"
--"checksum pin-project-internal 0.4.17 (registry+https://github.com/rust-lang/crates.io-index)" = "e58db2081ba5b4c93bd6be09c40fd36cb9193a8336c384f3b40012e531aa7e40"
--"checksum pin-project-lite 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f0af6cbca0e6e3ce8692ee19fb8d734b641899e07b68eb73e9bbbd32f1703991"
--"checksum pin-utils 0.1.0-alpha.4 (registry+https://github.com/rust-lang/crates.io-index)" = "5894c618ce612a3fa23881b152b608bafb8c56cfc22f434a3ba3120b40f7b587"
--"checksum pkg-config 0.3.17 (registry+https://github.com/rust-lang/crates.io-index)" = "05da548ad6865900e60eaba7f589cc0783590a92e940c26953ff81ddbab2d677"
--"checksum precomputed-hash 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
--"checksum pretty_env_logger 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074"
--"checksum proc-macro-hack 0.5.11 (registry+https://github.com/rust-lang/crates.io-index)" = "ecd45702f76d6d3c75a80564378ae228a85f0b59d2f3ed43c91b4a69eb2ebfc5"
--"checksum proc-macro-nested 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "369a6ed065f249a159e06c45752c780bda2fb53c995718f9e484d08daa9eb42e"
--"checksum proc-macro2 0.4.30 (registry+https://github.com/rust-lang/crates.io-index)" = "cf3d2011ab5c909338f7887f4fc896d35932e29146c12c8d01da6b22a80ba759"
--"checksum proc-macro2 1.0.17 (registry+https://github.com/rust-lang/crates.io-index)" = "1502d12e458c49a4c9cbff560d0fe0060c252bc29799ed94ca2ed4bb665a0101"
--"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
--"checksum quote 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)" = "6ce23b6b870e8f94f81fb0a363d65d86675884b34a09043c81e5562f11c1f8e1"
--"checksum quote 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "053a8c8bcc71fcce321828dc897a98ab9760bef03a4fc36693c231e5b3216cfe"
--"checksum r2d2 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)" = "22b5c5fc5fba064373f03887337b412e0e1562d63023393db77251146cb75553"
--"checksum rand 0.3.23 (registry+https://github.com/rust-lang/crates.io-index)" = "64ac302d8f83c0c1974bf758f6b041c6c8ada916fbb44a609158ca8b064cc76c"
--"checksum rand 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "552840b97013b1a26992c11eac34bdd778e464601a4c2054b5f0bff7c6761293"
--"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
--"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
--"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
--"checksum rand_core 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
--"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
--"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
--"checksum rand_jitter 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
--"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
--"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
--"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
--"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
--"checksum redox_syscall 0.1.56 (registry+https://github.com/rust-lang/crates.io-index)" = "2439c63f3f6139d1b57529d16bc3b8bb855230c8efcc5d3a896c8bea7c3b1e84"
--"checksum regex 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dc220bd33bdce8f093101afe22a037b8eb0e5af33592e6a9caafff0d4cb81cbd"
--"checksum regex-syntax 0.6.12 (registry+https://github.com/rust-lang/crates.io-index)" = "11a7e20d1cce64ef2fed88b66d347f88bd9babb82845b2b858f3edbf59a4f716"
--"checksum rust-crypto 0.2.36 (registry+https://github.com/rust-lang/crates.io-index)" = "f76d05d3993fd5f4af9434e8e436db163a12a9d40e1a58a726f27a01dfd12a2a"
--"checksum rustc-demangle 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
--"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
--"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
--"checksum ryu 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfa8506c1de11c9c4e4c38863ccbe02a305c8188e85a05a784c9e11e1c3910c8"
--"checksum sanitize_html 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "422bdfab5da6695bdc9f28a25087f6a01bf35c0ce2f51eeb2608db8b464a60a8"
--"checksum schannel 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "87f550b06b6cba9c8b8be3ee73f391990116bf527450d2556e9b9ce263b9a021"
--"checksum scheduled-thread-pool 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "f5de7bc31f28f8e6c28df5e1bf3d10610f5fdc14cc95f272853512c70a2bd779"
--"checksum scopeguard 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b42e15e59b18a828bbf5c58ea01debb36b9b096346de35d941dcb89009f24a0d"
--"checksum secret-service 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "655a7a4e6eecc8c68f00be6813c161dcd45e430f4a719dde46dcc3f3afd8014f"
--"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
--"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
--"checksum serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "414115f25f818d7dfccec8ee535d76949ae78584fc4f79a6f45a904bf8ab4449"
--"checksum serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)" = "128f9e303a5a29922045a830221b8f78ec74a5f544944f3d5984f8ec3895ef64"
--"checksum serde_json 1.0.44 (registry+https://github.com/rust-lang/crates.io-index)" = "48c575e0cc52bdd09b47f330f646cf59afc586e9c4e3ccd6fc1f625b8ea1dad7"
--"checksum serde_urlencoded 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
--"checksum sha2 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b4d8bfd0e469f417657573d8451fb33d16cfe0989359b93baf3a1ffc639543d"
--"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
--"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
--"checksum sluice 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)" = "fed13b7cb46f13a15db2c4740f087a848acc8b31af89f95844d40137451f89b1"
--"checksum smallvec 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "44e59e0c9fa00817912ae6e4e6e3c4fe04455e75699d06eedc7d85917ed8e8f4"
--"checksum socket2 0.3.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e8b74de517221a2cb01a53349cf54182acdc31a074727d3079068448c0676d85"
--"checksum soup-sys 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "48a2f246b51c81d4baa1ce611240c2f6e0323ae75f3b6cc9d2d2911e0567962c"
--"checksum string_cache 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "89c058a82f9fd69b1becf8c274f412281038877c553182f1d02eb027045a2d67"
--"checksum string_cache_codegen 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "f0f45ed1b65bf9a4bf2f7b7dc59212d1926e9eaf00fa998988e420fd124467c6"
--"checksum string_cache_shared 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc"
--"checksum strum 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "6138f8f88a16d90134763314e3fc76fa3ed6a7db4725d6acf9a3ef95a3188d22"
--"checksum strum_macros 0.16.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0054a7df764039a6cd8592b9de84be4bec368ff081d203a7d5371cbfa8e65c81"
--"checksum subtle 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2d67a5a62ba6e01cb2192ff309324cb4875d0c451d55fe2319433abe7a05a8ee"
--"checksum surf 2.0.0-alpha.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1640fa223ab85a28abd533ad229cc840336acb1d65a5e3f8d86daa9d8f930061"
--"checksum syn 0.15.44 (registry+https://github.com/rust-lang/crates.io-index)" = "9ca4b3b69a77cbe1ffc9e198781b7acb0c7365a883670e8f1c1bc66fba79a5c5"
--"checksum syn 1.0.25 (registry+https://github.com/rust-lang/crates.io-index)" = "f14a640819f79b72a710c0be059dce779f9339ae046c8bef12c361d56702146f"
--"checksum synstructure 0.12.3 (registry+https://github.com/rust-lang/crates.io-index)" = "67656ea1dc1b41b1451851562ea232ec2e5a80242139f7e679ceccfb5d61f545"
--"checksum tendril 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "707feda9f2582d5d680d733e38755547a3e8fb471e7ba11452ecfd9ce93a5d3b"
--"checksum termcolor 1.0.5 (registry+https://github.com/rust-lang/crates.io-index)" = "96d6098003bde162e4277c70665bd87c326f5a0c3f3fbfb285787fa482d54e6e"
--"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
--"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
--"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
--"checksum tracing 0.1.14 (registry+https://github.com/rust-lang/crates.io-index)" = "a7c6b59d116d218cb2d990eb06b77b64043e0268ef7323aae63d8b30ae462923"
--"checksum tracing-attributes 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "99bbad0de3fd923c9c3232ead88510b783e5a4d16a6154adffa3d53308de984c"
--"checksum tracing-core 0.1.10 (registry+https://github.com/rust-lang/crates.io-index)" = "0aa83a9a47081cd522c09c81b31aec2c9273424976f922ad61c053b58350b715"
--"checksum tracing-futures 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "ab7bb6f14721aa00656086e9335d363c5c8747bae02ebe32ea2c7dece5689b4c"
--"checksum typenum 1.11.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6d2783fe2d6b8c1101136184eb41be8b1ad379e4657050b8aaff0c79ee7575f9"
--"checksum unicase 2.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6"
--"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
--"checksum unicode-normalization 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "b561e267b2326bb4cebfc0ef9e68355c7abe6c6f522aeac2f5bf95d56c59bdcf"
--"checksum unicode-segmentation 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
--"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
--"checksum unicode-xid 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
--"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
--"checksum url 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "75b414f6c464c879d7f9babf951f23bc3743fb7313c081b2e6ca719067ea9d61"
--"checksum utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "05e42f7c18b8f902290b009cde6d651262f956c98bc51bca4cd1d511c9cd85c7"
--"checksum vcpkg 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "3fc439f2794e98976c88a2a2dafce96b930fe8010b0a256b3c2199a773933168"
--"checksum version_check 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)" = "078775d0255232fb988e6fccf26ddc9d1ac274299aaedcedce21c6f72cc533ce"
--"checksum wallabag-api 0.3.0 (git+https://github.com/swalladge/wallabag-api.git?rev=d2bbebbe76f44edc074e3b2f5313bb8861b6cbe4)" = "<none>"
--"checksum wasm-bindgen 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)" = "2cc57ce05287f8376e998cbddfb4c8cb43b84a7ec55cf4551d7c00eef317a47f"
--"checksum wasm-bindgen-backend 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)" = "d967d37bf6c16cca2973ca3af071d0a2523392e4a594548155d89a678f4237cd"
--"checksum wasm-bindgen-futures 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "7add542ea1ac7fdaa9dc25e031a6af33b7d63376292bd24140c637d00d1c312a"
--"checksum wasm-bindgen-macro 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)" = "8bd151b63e1ea881bb742cd20e1d6127cef28399558f3b5d415289bc41eee3a4"
--"checksum wasm-bindgen-macro-support 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)" = "d68a5b36eef1be7868f668632863292e37739656a80fc4b9acec7b0bd35a4931"
--"checksum wasm-bindgen-shared 0.2.60 (registry+https://github.com/rust-lang/crates.io-index)" = "daf76fe7d25ac79748a37538b7daeed1c7a6867c92d3245c12c6222e4a20d639"
--"checksum web-sys 0.3.37 (registry+https://github.com/rust-lang/crates.io-index)" = "2d6f51648d8c56c366144378a33290049eafdd784071077f6fe37dae64c1c4cb"
--"checksum webkit2gtk 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d88f8ec7f54b941a98b8921a27b0965347005ec4177737e5015f2b1c5baee794"
--"checksum webkit2gtk-sys 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7ed60661b81f0cc92f3c2043d83262e3a1ac253b08a616550a9fc008ae28c185"
--"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
--"checksum winapi 0.3.8 (registry+https://github.com/rust-lang/crates.io-index)" = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
--"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
--"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
--"checksum winapi-util 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7168bab6e1daee33b4557efd0e95d5ca70a03706d39fa5f3fe7a236f584b03c9"
--"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
--"checksum wincolor 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "96f5016b18804d24db43cebf3c77269e7569b8954a8464501c216cc5e070eaa9"
--"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
-diff --git a/Cargo.toml b/Cargo.toml
-index 5a4f00b..e010fa7 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -5,21 +5,21 @@ authors = ["Bilal Elmoussaoui <bil.elmoussaoui@gmail.com>"]
- edition = "2018"
-
- [dependencies]
--gtk = { version = "0.8", features = ["v3_22"] }
--glib = "0.9"
--gio = { version = "0.8", features = ["v2_56"] }
--cairo-rs = "0.8"
--gdk = "0.12"
--gdk-pixbuf = "0.8"
-+gtk = { version = "0.14", features = ["v3_22"] }
-+glib = "0.14"
-+gio = { version = "0.14", features = ["v2_64"] }
-+cairo-rs = "0.14"
-+gdk = "0.14"
-+gdk-pixbuf = "0.14"
- log = "0.4"
--libhandy = "0.5"
--webkit2gtk = { version = "0.9", features = ["v2_6"] }
-+libhandy = "0.8"
-+webkit2gtk = { version = "0.14", features = ["v2_6"] }
- gettext-rs= { version = "0.4", features = ["gettext-system"] }
- lazy_static = "1.3"
- serde = "1.0"
- serde_json = "1.0"
- serde_derive = "1.0"
--wallabag-api = { git = "https://github.com/swalladge/wallabag-api.git", rev = "d2bbebbe76f44edc074e3b2f5313bb8861b6cbe4" }
-+wallabag-api = "0.4.1"
- pretty_env_logger = "0.3"
- diesel = { version = "1.4", features = ["sqlite", "r2d2", "chrono"] }
- diesel_migrations = { version = "1.4", features = ["sqlite"] }
-@@ -36,5 +36,6 @@ html2pango = "0.3"
- rust-crypto = "0.2"
- async-std = "1.4"
- futures = { version = "0.3", features = [ "thread-pool" ] }
--gtk-macros = "0.2"
-+gtk-macros = "0.3"
- http-client = { version = "1.1", features = ["native_client"] }
-+once_cell = "1.8.0"
-diff --git a/data/resources/ui/articles_list.ui b/data/resources/ui/articles_list.ui
-index 611b362..cae1e3b 100644
---- a/data/resources/ui/articles_list.ui
-+++ b/data/resources/ui/articles_list.ui
-@@ -3,11 +3,9 @@
- <interface>
- <requires lib="gtk+" version="3.20"/>
- <requires lib="libhandy" version="0.0"/>
-- <object class="HdyColumn" id="articles_list">
-+ <object class="HdyClamp" id="articles_list">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
-- <property name="maximum_width">800</property>
-- <property name="linear_growth_width">800</property>
- <child>
- <object class="GtkStack" id="stack">
- <property name="visible">True</property>
-diff --git a/data/resources/ui/login.ui.in b/data/resources/ui/login.ui.in
-index d7c03be..f0935d6 100644
---- a/data/resources/ui/login.ui.in
-+++ b/data/resources/ui/login.ui.in
-@@ -20,11 +20,9 @@
- </attributes>
- </child>
- </object>
-- <object class="HdyColumn" id="login">
-+ <object class="HdyClamp" id="login">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
-- <property name="maximum_width">450</property>
-- <property name="linear_growth_width">450</property>
- <child>
- <object class="GtkBox">
- <property name="visible">True</property>
-@@ -111,7 +109,7 @@
- <property name="can_focus">True</property>
- <property name="activatable">False</property>
- <property name="title" translatable="yes">Instance URL</property>
-- <child type="action">
-+ <child>
- <object class="GtkEntry" id="instance_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-@@ -127,7 +125,7 @@
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="title" translatable="yes">Client ID</property>
-- <child type="action">
-+ <child>
- <object class="GtkEntry" id="client_id_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-@@ -142,7 +140,7 @@
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="title" translatable="yes">Client Secret</property>
-- <child type="action">
-+ <child>
- <object class="GtkEntry" id="client_secret_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-@@ -159,7 +157,7 @@
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="title" translatable="yes">Username</property>
-- <child type="action">
-+ <child>
- <object class="GtkEntry" id="username_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-@@ -174,7 +172,7 @@
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="title" translatable="yes">Password</property>
-- <child type="action">
-+ <child>
- <object class="GtkEntry" id="password_entry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-diff --git a/data/resources/ui/settings.ui b/data/resources/ui/settings.ui
-index aa16664..0cf5ffb 100644
---- a/data/resources/ui/settings.ui
-+++ b/data/resources/ui/settings.ui
-@@ -18,7 +18,7 @@
- <object class="HdyActionRow">
- <property name="title" translatable="yes">Enable dark mode</property>
- <property name="visible">True</property>
-- <child type="action">
-+ <child>
- <object class="GtkSwitch" id="dark_mode_button">
- <property name="can_focus">True</property>
- <property name="valign">center</property>
-@@ -44,7 +44,7 @@
- <object class="HdyActionRow">
- <property name="title" translatable="yes">Username</property>
- <property name="visible">True</property>
-- <child type="action">
-+ <child>
- <object class="GtkLabel" id="username_label">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-@@ -58,7 +58,7 @@
- <object class="HdyActionRow">
- <property name="title" translatable="yes">Email</property>
- <property name="visible">True</property>
-- <child type="action">
-+ <child>
- <object class="GtkLabel" id="email_label">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
-@@ -72,7 +72,7 @@
- <object class="HdyActionRow">
- <property name="title" translatable="yes">Created At</property>
- <property name="visible">True</property>
-- <child type="action">
-+ <child>
- <object class="GtkLabel" id="created_at_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
-@@ -86,7 +86,7 @@
- <object class="HdyActionRow">
- <property name="title" translatable="yes">Updated At</property>
- <property name="visible">True</property>
-- <child type="action">
-+ <child>
- <object class="GtkLabel" id="updated_at_label">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
-diff --git a/data/resources/ui/window.ui.in b/data/resources/ui/window.ui.in
-index 709d455..68961ae 100644
---- a/data/resources/ui/window.ui.in
-+++ b/data/resources/ui/window.ui.in
-@@ -258,11 +258,9 @@
- </object>
- </child>
- <child type="title">
-- <object class="HdyColumn">
-+ <object class="HdyClamp">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
-- <property name="maximum_width">500</property>
-- <property name="linear_growth_width">500</property>
- <property name="hexpand">True</property>
- <child>
- <object class="GtkEntry" id="article_url_entry">
-diff --git a/meson.build b/meson.build
-index f11aa4f..b10ef62 100644
---- a/meson.build
-+++ b/meson.build
-@@ -11,7 +11,7 @@ dependency('glib-2.0', version: '>= 2.56')
- dependency('gio-2.0', version: '>= 2.56')
- dependency('gdk-pixbuf-2.0')
- dependency('gtk+-3.0', version: '>= 3.24.7')
--dependency('libhandy-0.0', version: '>= 0.0.10')
-+dependency('libhandy-1', version: '>= 0.0.10')
-
- version = meson.project_version()
- version_array = version.split('.')
-diff --git a/src/application.rs b/src/application.rs
-index 71cfd2f..cb127d1 100644
---- a/src/application.rs
-+++ b/src/application.rs
-@@ -11,7 +11,6 @@ use futures::executor::ThreadPool;
- use gio::prelude::*;
- use glib::{Receiver, Sender};
- use gtk::prelude::*;
--use std::env;
- use std::{cell::RefCell, rc::Rc};
- use url::Url;
-
-@@ -40,7 +39,7 @@ pub struct Application {
-
- impl Application {
- pub fn new() -> Rc<Self> {
-- let app = gtk::Application::new(Some(config::APP_ID), gio::ApplicationFlags::FLAGS_NONE).unwrap();
-+ let app = gtk::Application::new(Some(config::APP_ID), gio::ApplicationFlags::FLAGS_NONE);
-
- let (sender, r) = glib::MainContext::channel(glib::PRIORITY_DEFAULT);
- let receiver = RefCell::new(Some(r));
-@@ -68,8 +67,7 @@ impl Application {
- let receiver = self.receiver.borrow_mut().take().unwrap();
- receiver.attach(None, move |action| app.do_action(action));
-
-- let args: Vec<String> = env::args().collect();
-- self.app.run(&args);
-+ self.app.run();
- }
-
- fn init(&self) {
-@@ -129,7 +127,7 @@ impl Application {
- clone!(@strong self.window.widget as window, @strong self.client as client => move |_, _| {
- let settings_widget = SettingsWidget::new(client.clone());
- settings_widget.widget.set_transient_for(Some(&window));
-- let size = window.get_size();
-+ let size = window.size();
- settings_widget.widget.resize(size.0, size.1);
- settings_widget.widget.show();
- })
-@@ -139,11 +137,13 @@ impl Application {
- self.app,
- "about",
- clone!(@strong self.window.widget as window => move |_, _| {
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/about_dialog.ui");
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/about_dialog.ui");
- get_widget!(builder, gtk::AboutDialog, about_dialog);
-
- about_dialog.set_transient_for(Some(&window));
-- about_dialog.connect_response(|dialog, _| dialog.destroy());
-+ unsafe {
-+ about_dialog.connect_response(|dialog, _| dialog.destroy());
-+ }
- about_dialog.show();
- })
- );
-@@ -192,19 +192,19 @@ impl Application {
- window.present();
- });
-
-- if let Some(gtk_settings) = gtk::Settings::get_default() {
-+ if let Some(gtk_settings) = gtk::Settings::default() {
- SettingsManager::bind_property(Key::DarkMode, &gtk_settings, "gtk-application-prefer-dark-theme");
- }
- }
-
- fn setup_css(&self) {
-- if let Some(theme) = gtk::IconTheme::get_default() {
-+ if let Some(theme) = gtk::IconTheme::default() {
- theme.add_resource_path("/com/belmoussaoui/ReadItLater/icons");
- }
-
- let p = gtk::CssProvider::new();
- gtk::CssProvider::load_from_resource(&p, "/com/belmoussaoui/ReadItLater/style.css");
-- if let Some(screen) = gdk::Screen::get_default() {
-+ if let Some(screen) = gdk::Screen::default() {
- gtk::StyleContext::add_provider_for_screen(&screen, &p, 500);
- }
- }
-@@ -213,7 +213,7 @@ impl Application {
- * Auth
- */
- fn init_client(&self) {
-- let username = SettingsManager::get_string(Key::Username);
-+ let username = SettingsManager::string(Key::Username);
- match SecretManager::is_logged(&username) {
- Ok(config) => {
- send!(self.sender, Action::SetView(View::Articles));
-@@ -227,7 +227,7 @@ impl Application {
- send!(self.sender, Action::SetView(View::Syncing(true)));
- let client = self.client.clone();
- let sender = self.sender.clone();
-- let logged_username = SettingsManager::get_string(Key::Username);
-+ let logged_username = SettingsManager::string(Key::Username);
-
- spawn!(async move {
- let mut client = client.lock().await;
-@@ -261,7 +261,7 @@ impl Application {
- }
-
- fn logout(&self) -> Result<()> {
-- let username = SettingsManager::get_string(Key::Username);
-+ let username = SettingsManager::string(Key::Username);
- database::wipe()?;
- self.window.articles_view.clear();
- if SecretManager::logout(&username).is_ok() {
-@@ -275,7 +275,7 @@ impl Application {
- fn sync(&self) {
- send!(self.sender, Action::SetView(View::Syncing(true)));
- let mut since = Utc.timestamp(0, 0);
-- let last_sync = SettingsManager::get_integer(Key::LatestSync);
-+ let last_sync = SettingsManager::integer(Key::LatestSync);
- if last_sync != 0 {
- since = Utc.timestamp(last_sync.into(), 0);
- }
-diff --git a/src/database.rs b/src/database.rs
-index b9722b4..7b4a98b 100644
---- a/src/database.rs
-+++ b/src/database.rs
-@@ -8,7 +8,7 @@ use std::{fs, fs::File};
- type Pool = r2d2::Pool<ConnectionManager<SqliteConnection>>;
-
- lazy_static! {
-- static ref DB_PATH: PathBuf = glib::get_user_data_dir().unwrap().join("read-it-later");
-+ static ref DB_PATH: PathBuf = glib::user_cache_dir().join("read-it-later");
- static ref POOL: Pool = init_pool().expect("Failed to create a Pool");
- }
-
-diff --git a/src/main.rs b/src/main.rs
-index 0e36028..5b93108 100644
---- a/src/main.rs
-+++ b/src/main.rs
-@@ -16,7 +16,7 @@ extern crate strum_macros;
- extern crate gtk_macros;
-
- use gettextrs::*;
--use libhandy::Column;
-+use libhandy;
-
- mod application;
- mod config;
-@@ -27,7 +27,6 @@ mod settings;
- mod static_resources;
- mod views;
- mod widgets;
--mod window_state;
-
- use application::Application;
-
-@@ -44,7 +43,7 @@ fn main() {
- glib::set_application_name(&format!("Read It Later{}", config::NAME_SUFFIX));
-
- static_resources::init().expect("Failed to initialize the resource file.");
-- Column::new(); // Due to libhandy not having a main func :(
-+ libhandy::init();
- webkit2gtk::WebView::new();
-
- let app = Application::new();
-diff --git a/src/meson.build b/src/meson.build
-index d515ced..f523525 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -67,7 +67,6 @@ sources = files(
- 'main.rs',
- 'schema.rs',
- 'static_resources.rs',
-- 'window_state.rs',
- )
-
- custom_target('cargo-build',
-diff --git a/src/models/article.rs b/src/models/article.rs
-index 78f27aa..cafe87f 100644
---- a/src/models/article.rs
-+++ b/src/models/article.rs
-@@ -177,7 +177,7 @@ impl Article {
- preview_image.download(client).await?;
- }
-
-- return Ok(Some(gdk_pixbuf::Pixbuf::new_from_file(&preview_image.cache)?));
-+ return Ok(Some(gdk_pixbuf::Pixbuf::from_file(&preview_image.cache)?));
- }
- Ok(None)
- }
-diff --git a/src/models/client_manager.rs b/src/models/client_manager.rs
-index f747c1b..e043e86 100644
---- a/src/models/client_manager.rs
-+++ b/src/models/client_manager.rs
-@@ -48,7 +48,7 @@ impl ClientManager {
- debug!("[Client] Saving url {}", url);
- if let Some(client) = self.client.clone() {
- let mut client = client.lock().await;
-- let new_entry = NewEntry::new_with_url(url.into_string());
-+ let new_entry = NewEntry::new_with_url(url.into());
- if let Ok(entry) = client.create_entry(&new_entry).await {
- let article = Article::from(entry);
- send!(self.sender, Action::Articles(Box::new(ArticleAction::Add(article))));
-diff --git a/src/models/object_wrapper.rs b/src/models/object_wrapper.rs
-index e0d6f34..3b9b50c 100644
---- a/src/models/object_wrapper.rs
-+++ b/src/models/object_wrapper.rs
-@@ -5,42 +5,26 @@
- // https://github.com/gtk-rs/examples/blob/master/src/bin/listbox_model.rs
- // Source https://gitlab.gnome.org/World/Shortwave/blob/master/src/model/object_wrapper.rs
-
--use gtk::prelude::*;
-+use gtk::{glib, prelude::*};
- use serde::de::DeserializeOwned;
-
--use glib::subclass;
- use glib::subclass::prelude::*;
--use glib::translate::*;
-+use glib::{ParamSpec, Value};
-
- mod imp {
- use super::*;
- use std::cell::RefCell;
-
-+ #[derive(Default)]
- pub struct ObjectWrapper {
- data: RefCell<Option<String>>,
- }
-
-- static PROPERTIES: [subclass::Property; 1] = [subclass::Property("data", |name| {
-- glib::ParamSpec::string(
-- name,
-- "Data",
-- "Data",
-- None, // Default value
-- glib::ParamFlags::READWRITE,
-- )
-- })];
--
-+ #[glib::object_subclass]
- impl ObjectSubclass for ObjectWrapper {
- const NAME: &'static str = "ObjectWrapper";
-+ type Type = super::ObjectWrapper;
- type ParentType = glib::Object;
-- type Instance = subclass::simple::InstanceStruct<Self>;
-- type Class = subclass::simple::ClassStruct<Self>;
--
-- glib_object_subclass!();
--
-- fn class_init(klass: &mut Self::Class) {
-- klass.install_properties(&PROPERTIES);
-- }
-
- fn new() -> Self {
- Self { data: RefCell::new(None) }
-@@ -48,13 +32,24 @@ mod imp {
- }
-
- impl ObjectImpl for ObjectWrapper {
-- glib_object_impl!();
--
-- fn set_property(&self, _obj: &glib::Object, id: usize, value: &glib::Value) {
-- let prop = &PROPERTIES[id];
-+ fn properties() -> &'static [glib::ParamSpec] {
-+ use once_cell::sync::Lazy;
-+ static PROPERTIES: Lazy<Vec<glib::ParamSpec>> = Lazy::new(|| {
-+ vec![glib::ParamSpec::new_string(
-+ "data",
-+ "Data",
-+ "Data",
-+ None, // Default value
-+ glib::ParamFlags::READWRITE,
-+ )]
-+ });
-+
-+ PROPERTIES.as_ref()
-+ }
-
-- match *prop {
-- subclass::Property("data", ..) => {
-+ fn set_property(&self, _obj: &Self::Type, _id: usize, value: &Value, pspec: &ParamSpec) {
-+ match pspec.name() {
-+ "data" => {
- let data = value.get().expect("Failed to get `data` property");
- self.data.replace(data);
- }
-@@ -62,23 +57,17 @@ mod imp {
- }
- }
-
-- fn get_property(&self, _obj: &glib::Object, id: usize) -> Result<glib::Value, ()> {
-- let prop = &PROPERTIES[id];
--
-- match *prop {
-- subclass::Property("data", ..) => Ok(self.data.borrow().to_value()),
-+ fn property(&self, _obj: &Self::Type, _id: usize, pspec: &glib::ParamSpec) -> glib::Value {
-+ match pspec.name() {
-+ "data" => self.data.borrow().to_value(),
- _ => unimplemented!(),
- }
- }
- }
- }
-
--glib_wrapper! {
-- pub struct ObjectWrapper(Object<subclass::simple::InstanceStruct<imp::ObjectWrapper>, subclass::simple::ClassStruct<imp::ObjectWrapper>, ObjectWrapperClass>);
--
-- match fn {
-- get_type => || imp::ObjectWrapper::get_type().to_glib(),
-- }
-+glib::wrapper! {
-+ pub struct ObjectWrapper(ObjectSubclass<imp::ObjectWrapper>);
- }
-
- impl ObjectWrapper {
-@@ -86,17 +75,14 @@ impl ObjectWrapper {
- where
- O: serde::ser::Serialize,
- {
-- glib::Object::new(Self::static_type(), &[("data", &serde_json::to_string(&object).unwrap())])
-- .unwrap()
-- .downcast()
-- .unwrap()
-+ glib::Object::new(&[("data", &serde_json::to_string(&object).unwrap())]).unwrap()
- }
-
- pub fn deserialize<O>(&self) -> O
- where
- O: DeserializeOwned,
- {
-- let data = self.get_property("data").unwrap().get::<String>().unwrap();
-- serde_json::from_str(&data.unwrap()).unwrap()
-+ let data = self.property("data").unwrap().get::<String>().unwrap();
-+ serde_json::from_str(&data).unwrap()
- }
- }
-diff --git a/src/models/preview_image.rs b/src/models/preview_image.rs
-index 0a7668f..3b9b7c4 100644
---- a/src/models/preview_image.rs
-+++ b/src/models/preview_image.rs
-@@ -7,7 +7,7 @@ use std::rc::Rc;
- use url::Url;
-
- lazy_static! {
-- pub static ref CACHE_DIR: PathBuf = glib::get_user_cache_dir().unwrap().join("read-it-later");
-+ pub static ref CACHE_DIR: PathBuf = glib::user_cache_dir().join("read-it-later");
- }
-
- pub struct PreviewImage {
-@@ -17,7 +17,7 @@ pub struct PreviewImage {
-
- impl PreviewImage {
- pub fn new(url: Url) -> Self {
-- let cache = PreviewImage::get_cache_of(&url.clone().into_string());
-+ let cache = PreviewImage::get_cache_of(&String::from(url.clone()));
- Self { url, cache }
- }
-
-diff --git a/src/settings/settings_manager.rs b/src/settings/settings_manager.rs
-index 0484672..a2ed150 100644
---- a/src/settings/settings_manager.rs
-+++ b/src/settings/settings_manager.rs
-@@ -18,12 +18,12 @@ impl SettingsManager {
-
- pub fn bind_property<P: IsA<glib::Object>>(key: Key, object: &P, property: &str) {
- let settings = Self::get_settings();
-- settings.bind(key.to_string().as_str(), object, property, gio::SettingsBindFlags::DEFAULT);
-+ settings.bind(key.to_string().as_str(), object, property).build();
- }
-
-- pub fn get_string(key: Key) -> String {
-+ pub fn string(key: Key) -> String {
- let settings = Self::get_settings();
-- settings.get_string(&key.to_string()).unwrap().to_string()
-+ settings.string(&key.to_string()).to_string()
- }
-
- pub fn set_string(key: Key, value: String) {
-@@ -33,21 +33,14 @@ impl SettingsManager {
- }
- }
-
-- pub fn get_boolean(key: Key) -> bool {
-+ pub fn boolean(key: Key) -> bool {
- let settings = Self::get_settings();
-- settings.get_boolean(&key.to_string())
-+ settings.boolean(&key.to_string())
- }
-
-- pub fn set_boolean(key: Key, value: bool) {
-+ pub fn integer(key: Key) -> i32 {
- let settings = Self::get_settings();
-- if let Err(err) = settings.set_boolean(&key.to_string(), value) {
-- error!("Failed to save {} setting due to {}", key.to_string(), err);
-- }
-- }
--
-- pub fn get_integer(key: Key) -> i32 {
-- let settings = Self::get_settings();
-- settings.get_int(&key.to_string())
-+ settings.int(&key.to_string())
- }
-
- pub fn set_integer(key: Key, value: i32) {
-diff --git a/src/static_resources.rs.in b/src/static_resources.rs.in
-index 9ffb7bb..6fb8d29 100644
---- a/src/static_resources.rs.in
-+++ b/src/static_resources.rs.in
-@@ -10,7 +10,7 @@ pub(crate) fn init() -> Result<(), Error> {
-
- // Create Resource it will live as long the value lives.
- let gbytes = Bytes::from_static(res_bytes.as_ref());
-- let resource = Resource::new_from_data(&gbytes)?;
-+ let resource = Resource::from_data(&gbytes)?;
-
- // Register the resource so it won't be dropped and will continue to live in
- // memory.
-diff --git a/src/views/articles_list.rs b/src/views/articles_list.rs
-index 16d6771..8d270ff 100644
---- a/src/views/articles_list.rs
-+++ b/src/views/articles_list.rs
-@@ -57,7 +57,7 @@ impl ArticlesListView {
- }
-
- pub fn len(&self) -> u32 {
-- self.model.get_n_items()
-+ self.model.n_items()
- }
-
- pub fn delete(&self, article: &Article) {
-@@ -86,7 +86,7 @@ impl ArticlesListView {
-
- fn index(&self, article: &Article) -> Option<u32> {
- for i in 0..self.len() {
-- let gobject = self.model.get_object(i).unwrap();
-+ let gobject = self.model.item(i).unwrap();
- let a: Article = gobject.downcast_ref::<ObjectWrapper>().unwrap().deserialize();
-
- if article.id == a.id {
-diff --git a/src/widgets/articles/index.rs b/src/widgets/articles/index.rs
-index 19ba129..665652e 100644
---- a/src/widgets/articles/index.rs
-+++ b/src/widgets/articles/index.rs
-@@ -3,7 +3,8 @@ use gio::prelude::*;
- use glib::Sender;
- use gtk::prelude::*;
- use std::{cell::RefCell, rc::Rc};
--use webkit2gtk::{ContextMenuExt, ContextMenuItemExt, WebView, WebViewExt};
-+use webkit2gtk::traits::{ContextMenuExt, ContextMenuItemExt, WebViewExt};
-+use webkit2gtk::WebView;
-
- use crate::models::{Article, ArticleAction};
- use crate::settings::{Key, SettingsManager};
-@@ -18,7 +19,7 @@ pub struct ArticleWidget {
-
- impl ArticleWidget {
- pub fn new(sender: Sender<ArticleAction>) -> Rc<Self> {
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/article.ui");
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/article.ui");
- get_widget!(builder, gtk::Box, article);
-
- let actions = gio::SimpleActionGroup::new();
-@@ -48,8 +49,8 @@ impl ArticleWidget {
- get_widget!(self.builder, WebView, webview);
-
- webview.connect_context_menu(move |_, context_menu, _, _| {
-- for menu_item in context_menu.get_items() {
-- let action = menu_item.get_stock_action();
-+ for menu_item in context_menu.items() {
-+ let action = menu_item.stock_action();
-
- if forbidden_actions.contains(&action) {
- // Remove forbidden actions
-@@ -62,8 +63,8 @@ impl ArticleWidget {
- // Progress bar
- get_widget!(self.builder, gtk::Revealer, revealer);
- get_widget!(self.builder, gtk::ProgressBar, progressbar);
-- webview.connect_property_estimated_load_progress_notify(move |webview| {
-- let progress = webview.get_estimated_load_progress();
-+ webview.connect_estimated_load_progress_notify(move |webview| {
-+ let progress = webview.estimated_load_progress();
- revealer.set_reveal_child(true);
- progressbar.set_fraction(progress);
- if (progress - 1.0).abs() < std::f64::EPSILON {
-@@ -91,7 +92,7 @@ impl ArticleWidget {
- if let Some(article) = aw.article.borrow().clone() {
- glib::idle_add(clone!(@strong article => move || {
- let article_url = article.url.clone();
-- let screen = gdk::Screen::get_default().unwrap();
-+ let screen = gdk::Screen::default().unwrap();
- if let Err(err_msg) = gtk::show_uri(Some(&screen), &article_url.unwrap(), 0) {
- error!("Failed to open the uri {} in the default browser", err_msg);
- }
-@@ -106,7 +107,7 @@ impl ArticleWidget {
- "archive",
- false,
- clone!(@strong aw, @strong self.sender as sender => move |action, _|{
-- let state = action.get_state().unwrap();
-+ let state = action.state().unwrap();
- let action_state: bool = state.get().unwrap();
- let is_archived = !action_state;
- action.set_state(&is_archived.to_variant());
-@@ -121,7 +122,7 @@ impl ArticleWidget {
- "favorite",
- false,
- clone!(@strong aw, @strong self.sender as sender => move |action, _|{
-- let state = action.get_state().unwrap();
-+ let state = action.state().unwrap();
- let action_state: bool = state.get().unwrap();
- let is_starred = !action_state;
- action.set_state(&is_starred.to_variant());
-@@ -153,7 +154,7 @@ impl ArticleWidget {
- }
-
- let mut layout_css = load_resource("layout.css")?;
-- if SettingsManager::get_boolean(Key::DarkMode) {
-+ if SettingsManager::boolean(Key::DarkMode) {
- layout_css.push_str(&load_resource("layout-dark.css")?);
- }
- layout_html = layout_html.replace("{css}", &layout_css);
-@@ -167,7 +168,7 @@ impl ArticleWidget {
- }
-
- pub fn load_resource(file: &str) -> Result<String> {
-- let file = gio::File::new_for_uri(&format!("resource:///com/belmoussaoui/ReadItLater/{}", file));
-+ let file = gio::File::for_uri(&format!("resource:///com/belmoussaoui/ReadItLater/{}", file));
- let (bytes, _) = file.load_bytes(gio::NONE_CANCELLABLE)?;
- String::from_utf8(bytes.to_vec()).map_err(From::from)
- }
-diff --git a/src/widgets/articles/list.rs b/src/widgets/articles/list.rs
-index 9fae278..9b7851f 100644
---- a/src/widgets/articles/list.rs
-+++ b/src/widgets/articles/list.rs
-@@ -7,7 +7,7 @@ use super::row::ArticleRow;
- use crate::models::{Article, ArticleAction, ObjectWrapper};
-
- pub struct ArticlesListWidget {
-- pub widget: libhandy::Column,
-+ pub widget: libhandy::Clamp,
- builder: gtk::Builder,
- sender: Sender<ArticleAction>,
- client: Rc<isahc::HttpClient>,
-@@ -15,8 +15,8 @@ pub struct ArticlesListWidget {
-
- impl ArticlesListWidget {
- pub fn new(sender: Sender<ArticleAction>, client: Rc<isahc::HttpClient>) -> Self {
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/articles_list.ui");
-- get_widget!(builder, libhandy::Column, articles_list);
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/articles_list.ui");
-+ get_widget!(builder, libhandy::Clamp, articles_list);
-
- Self {
- builder,
-@@ -34,13 +34,13 @@ impl ArticlesListWidget {
- empty_image.set_from_icon_name(Some(icon), gtk::IconSize::Dialog);
-
- get_widget!(self.builder, gtk::Stack, stack);
-- if model.get_n_items() == 0 {
-+ if model.n_items() == 0 {
- stack.set_visible_child_name("empty");
- } else {
- stack.set_visible_child_name("articles");
- }
- model.connect_items_changed(move |model, _, _, _| {
-- if model.get_n_items() == 0 {
-+ if model.n_items() == 0 {
- stack.set_visible_child_name("empty");
- } else {
- stack.set_visible_child_name("articles");
-diff --git a/src/widgets/articles/preview.rs b/src/widgets/articles/preview.rs
-index ff85a08..d35f9de 100644
---- a/src/widgets/articles/preview.rs
-+++ b/src/widgets/articles/preview.rs
-@@ -13,7 +13,7 @@ pub struct ArticlePreviewImage {
-
- impl ArticlePreviewImage {
- pub fn new() -> Rc<Self> {
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/article_preview.ui");
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/article_preview.ui");
- get_widget!(builder, gtk::Stack, article_preview);
- get_widget!(builder, gtk::DrawingArea, image);
- let pixbuf = Rc::new(RefCell::new(None));
-@@ -37,28 +37,28 @@ impl ArticlePreviewImage {
- self.widget.set_visible_child_name("loading");
-
- self.image.connect_draw(move |dr, ctx| {
-- let width = dr.get_allocated_width();
-- let height = dr.get_allocated_height();
-+ let width = dr.allocated_width();
-+ let height = dr.allocated_height();
-
-- let style = dr.get_style_context();
-+ let style = dr.style_context();
- gtk::render_background(&style, ctx, 0.0, 0.0, width.into(), height.into());
- gtk::render_frame(&style, ctx, 0.0, 0.0, width.into(), height.into());
-
- match &*d.pixbuf.borrow() {
- Some(pixbuf) => {
-- match pixbuf.get_width().cmp(&width) {
-+ match pixbuf.width().cmp(&width) {
- std::cmp::Ordering::Greater => {
- let pixbuf = pixbuf.scale_simple(width, height, gdk_pixbuf::InterpType::Bilinear).unwrap();
- ctx.set_source_pixbuf(&pixbuf, 0.0, 0.0);
- }
- std::cmp::Ordering::Less => {
-- ctx.set_source_pixbuf(&pixbuf, (width - pixbuf.get_width()) as f64, 0.0);
-+ ctx.set_source_pixbuf(&pixbuf, (width - pixbuf.width()) as f64, 0.0);
- }
- std::cmp::Ordering::Equal => {
- ctx.set_source_pixbuf(&pixbuf, 0.0, 0.0);
- }
- };
-- ctx.paint();
-+ ctx.paint().unwrap();
-
- gtk::Inhibit(false)
- }
-diff --git a/src/widgets/articles/row.rs b/src/widgets/articles/row.rs
-index c5f9dd2..977a0df 100644
---- a/src/widgets/articles/row.rs
-+++ b/src/widgets/articles/row.rs
-@@ -17,7 +17,7 @@ pub struct ArticleRow {
-
- impl ArticleRow {
- pub fn new(article: Article, client: Rc<isahc::HttpClient>, sender: Sender<ArticleAction>) -> Self {
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/article_row.ui");
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/article_row.ui");
- get_widget!(builder, gtk::ListBoxRow, article_row);
- let preview_image = ArticlePreviewImage::new();
-
-diff --git a/src/widgets/login.rs b/src/widgets/login.rs
-index 2c234be..999631b 100644
---- a/src/widgets/login.rs
-+++ b/src/widgets/login.rs
-@@ -3,14 +3,14 @@ use std::rc::Rc;
- use wallabag_api::types::Config;
-
- pub struct LoginWidget {
-- pub widget: libhandy::Column,
-+ pub widget: libhandy::Clamp,
- pub builder: gtk::Builder,
- }
-
- impl LoginWidget {
- pub fn new() -> Rc<Self> {
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/login.ui");
-- get_widget!(builder, libhandy::Column, login);
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/login.ui");
-+ get_widget!(builder, libhandy::Clamp, login);
-
- let login_widget = Rc::new(Self { widget: login, builder });
-
-@@ -25,20 +25,20 @@ impl LoginWidget {
- get_widget!(self.builder, gtk::Entry, username_entry);
- get_widget!(self.builder, gtk::Entry, password_entry);
-
-- let instance = instance_entry.get_text()?;
-+ let instance = instance_entry.text();
- let instance = instance.trim_end_matches('/').to_string();
- if let Err(err) = url::Url::parse(&instance) {
- error!("The instance url is invalid {}", err);
-- instance_entry.get_style_context().add_class("error");
-+ instance_entry.style_context().add_class("error");
- return None;
- }
-- instance_entry.get_style_context().remove_class("error");
-+ instance_entry.style_context().remove_class("error");
-
- Some(Config {
-- client_id: client_id_entry.get_text()?.to_string(),
-- client_secret: client_secret_entry.get_text()?.to_string(),
-- username: username_entry.get_text()?.to_string(),
-- password: password_entry.get_text()?.to_string(),
-+ client_id: client_id_entry.text().to_string(),
-+ client_secret: client_secret_entry.text().to_string(),
-+ username: username_entry.text().to_string(),
-+ password: password_entry.text().to_string(),
- base_url: instance,
- })
- }
-@@ -54,8 +54,8 @@ impl LoginWidget {
-
- fn init(&self) {
- get_widget!(self.builder, gtk::TreeStore, instances_store);
-- instances_store.insert_with_values(None, None, &[0], &[&"https://app.wallabag.it/"]);
-- instances_store.insert_with_values(None, None, &[0], &[&"https://framabag.org"]);
-+ instances_store.insert_with_values(None, None, &[(0, &"https://app.wallabag.it/")]);
-+ instances_store.insert_with_values(None, None, &[(0, &"https://framabag.org")]);
-
- get_widget!(self.builder, gtk::ListBox, entries_listbox);
- entries_listbox.set_header_func(Some(Box::new(move |row: &gtk::ListBoxRow, row1: Option<&gtk::ListBoxRow>| {
-diff --git a/src/widgets/settings.rs b/src/widgets/settings.rs
-index ae2ab76..2bde0d9 100644
---- a/src/widgets/settings.rs
-+++ b/src/widgets/settings.rs
-@@ -22,7 +22,7 @@ pub struct SettingsWidget {
-
- impl SettingsWidget {
- pub fn new(client: Arc<Mutex<ClientManager>>) -> Rc<Self> {
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/settings.ui");
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/settings.ui");
- get_widget!(builder, libhandy::PreferencesWindow, settings_window);
-
- let window = Rc::new(Self {
-@@ -36,12 +36,7 @@ impl SettingsWidget {
- }
-
- fn init(&self, settings: Rc<Self>, client: Arc<Mutex<ClientManager>>) {
-- self.widget.connect_key_press_event(|w, k| {
-- if k.get_keyval() == gdk::enums::key::Escape {
-- w.destroy();
-- }
-- gtk::Inhibit(false)
-- });
-+ self.widget.connect_key_press_event(|_w, _k| gtk::Inhibit(false));
-
- let (sender, receiver) = glib::MainContext::channel(glib::PRIORITY_DEFAULT);
- receiver.attach(None, move |action| settings.do_action(action));
-diff --git a/src/widgets/window.rs b/src/widgets/window.rs
-index d540433..0adc1f7 100644
---- a/src/widgets/window.rs
-+++ b/src/widgets/window.rs
-@@ -1,14 +1,12 @@
- use gio::prelude::*;
- use glib::Sender;
- use gtk::prelude::*;
--use libhandy::prelude::*;
- use url::Url;
-
- use crate::application::Action;
- use crate::config::PROFILE;
- use crate::models::{Article, ArticlesManager};
- use crate::views::{ArticleView, ArticlesView, LoginView};
--use crate::window_state;
-
- #[derive(Copy, Clone, Debug, PartialEq)]
- pub enum View {
-@@ -31,11 +29,11 @@ pub struct Window {
-
- impl Window {
- pub fn new(sender: Sender<Action>) -> Self {
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/window.ui");
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/window.ui");
- get_widget!(builder, gtk::ApplicationWindow, window);
-
- if PROFILE == "Devel" {
-- window.get_style_context().add_class("devel");
-+ window.style_context().add_class("devel");
- }
- let actions = gio::SimpleActionGroup::new();
-
-@@ -73,10 +71,11 @@ impl Window {
- notification_label.set_text(&message);
- notification.set_reveal_child(true);
-
-- gtk::timeout_add_seconds(5, move || {
-- notification.set_reveal_child(false);
-- glib::Continue(false)
-- });
-+ // let time = std::time::Duration::new(5, 0);
-+ // glib::timeout_add(time, move || {
-+ // notification.set_reveal_child(false);
-+ // glib::Continue(false)
-+ // });
- }
-
- pub fn previous_view(&self) {
-@@ -109,10 +108,11 @@ impl Window {
- loading_progress.set_fraction(0.0); // Reset the fraction
- } else {
- loading_progress.pulse();
-- gtk::timeout_add(200, move || {
-- loading_progress.pulse();
-- glib::Continue(loading_progress.get_visible())
-- });
-+ // let time = std::time::Duration::new(0, 200);
-+ // glib::timeout_add(time, || {
-+ // loading_progress.pulse();
-+ // glib::Continue(loading_progress.get_visible())
-+ // });
- }
- }
- View::NewArticle => {
-@@ -127,43 +127,35 @@ impl Window {
-
- fn init(&self) {
- // setup app menu
-- let menu_builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/menu.ui");
-+ let menu_builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/menu.ui");
- get_widget!(menu_builder, gtk::PopoverMenu, popover_menu);
- get_widget!(self.builder, gtk::MenuButton, appmenu_button);
- appmenu_button.set_popover(Some(&popover_menu));
-- // load latest window state
-- window_state::load(&self.widget);
--
-- // save window state on delete event
-- self.widget.connect_delete_event(move |window, _| {
-- window_state::save(&window);
-- Inhibit(false)
-- });
-
- get_widget!(self.builder, libhandy::Squeezer, squeezer);
- get_widget!(self.builder, gtk::Stack, headerbar_stack);
- get_widget!(self.builder, libhandy::ViewSwitcherBar, switcher_bar);
- get_widget!(self.builder, gtk::Label, title_label);
-
-- squeezer.connect_property_visible_child_notify(move |squeezer| {
-- let visible_headerbar_stack = headerbar_stack.get_visible_child_name();
-- if let Some(visible_child) = squeezer.get_visible_child() {
-+ squeezer.connect_visible_child_notify(move |squeezer| {
-+ let visible_headerbar_stack = headerbar_stack.visible_child_name();
-+ if let Some(visible_child) = squeezer.visible_child() {
- switcher_bar.set_reveal(visible_child == title_label && visible_headerbar_stack == Some("articles".into()));
- }
- });
- self.widget.connect_size_allocate(move |widget, allocation| {
- if allocation.width <= 450 {
-- widget.get_style_context().add_class("sm");
-- widget.get_style_context().remove_class("md");
-- widget.get_style_context().remove_class("lg");
-+ widget.style_context().add_class("sm");
-+ widget.style_context().remove_class("md");
-+ widget.style_context().remove_class("lg");
- } else if allocation.width <= 600 {
-- widget.get_style_context().add_class("md");
-- widget.get_style_context().remove_class("sm");
-- widget.get_style_context().remove_class("lg");
-+ widget.style_context().add_class("md");
-+ widget.style_context().remove_class("sm");
-+ widget.style_context().remove_class("lg");
- } else {
-- widget.get_style_context().add_class("lg");
-- widget.get_style_context().remove_class("sm");
-- widget.get_style_context().remove_class("md");
-+ widget.style_context().add_class("lg");
-+ widget.style_context().remove_class("sm");
-+ widget.style_context().remove_class("md");
- }
- });
- }
-@@ -185,8 +177,8 @@ impl Window {
- main_stack.add_named(&self.article_view.get_widget(), &self.article_view.name);
- self.widget.insert_action_group("article", self.article_view.get_actions());
-
-- main_stack.connect_property_visible_child_name_notify(clone!(@strong self.article_view as article_view => move |stack| {
-- if let Some(view_name) = stack.get_visible_child_name() {
-+ main_stack.connect_visible_child_name_notify(clone!(@strong self.article_view as article_view => move |stack| {
-+ if let Some(view_name) = stack.visible_child_name() {
- article_view.set_enable_actions(view_name == "article");
- }
- }));
-@@ -194,7 +186,7 @@ impl Window {
- get_widget!(self.builder, gtk::Button, save_article_btn);
- get_widget!(self.builder, gtk::Entry, article_url_entry);
- save_article_btn.connect_clicked(clone!(@strong self.sender as sender => move |_| {
-- if let Ok(url) = Url::parse(&article_url_entry.get_text().unwrap()) {
-+ if let Ok(url) = Url::parse(&article_url_entry.text()) {
- send!(sender, Action::SaveArticle(url));
- article_url_entry.set_text("");
- }
-@@ -210,7 +202,7 @@ impl Window {
- notification.set_reveal_child(false);
- });
-
-- let builder = gtk::Builder::new_from_resource("/com/belmoussaoui/ReadItLater/shortcuts.ui");
-+ let builder = gtk::Builder::from_resource("/com/belmoussaoui/ReadItLater/shortcuts.ui");
- get_widget!(builder, gtk::ShortcutsWindow, shortcuts);
- self.widget.set_help_overlay(Some(&shortcuts));
-
-diff --git a/src/window_state.rs b/src/window_state.rs
-deleted file mode 100644
-index 595cf2f..0000000
---- a/src/window_state.rs
-+++ /dev/null
-@@ -1,34 +0,0 @@
--use crate::settings::{Key, SettingsManager};
--use gtk::prelude::GtkWindowExt;
--
--pub fn load(window: &gtk::ApplicationWindow) {
-- let width = SettingsManager::get_integer(Key::WindowWidth);
-- let height = SettingsManager::get_integer(Key::WindowHeight);
--
-- if width > -1 && height > -1 {
-- window.resize(width, height);
-- }
--
-- let x = SettingsManager::get_integer(Key::WindowX);
-- let y = SettingsManager::get_integer(Key::WindowY);
-- let is_maximized = SettingsManager::get_boolean(Key::IsMaximized);
--
-- if x > -1 && y > -1 {
-- window.move_(x, y);
-- } else if is_maximized {
-- window.maximize();
-- }
--}
--
--pub fn save(window: &gtk::ApplicationWindow) {
-- let size = window.get_size();
-- let position = window.get_position();
--
-- SettingsManager::set_integer(Key::WindowWidth, size.0);
-- SettingsManager::set_integer(Key::WindowHeight, size.1);
--
-- SettingsManager::set_boolean(Key::IsMaximized, window.is_maximized());
--
-- SettingsManager::set_integer(Key::WindowX, position.0);
-- SettingsManager::set_integer(Key::WindowY, position.1);
--}
---
-2.31.1
-
diff --git a/testing/read-it-later/0002-Cargo-Update-most-remainig-dependencies.patch b/testing/read-it-later/0002-Cargo-Update-most-remainig-dependencies.patch
deleted file mode 100644
index 68e19eeb066..00000000000
--- a/testing/read-it-later/0002-Cargo-Update-most-remainig-dependencies.patch
+++ /dev/null
@@ -1,1711 +0,0 @@
-From 996503891628cd998868d699d76985ba5e07d84c Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair@alistair23.me>
-Date: Wed, 25 Aug 2021 20:04:37 +1000
-Subject: [PATCH 2/4] Cargo: Update most remainig dependencies
-
-Signed-off-by: Alistair Francis <alistair@alistair23.me>
----
- Cargo.lock | 917 +++++++++++++++++++++++++++++-----------------------
- Cargo.toml | 24 +-
- src/main.rs | 4 +-
- 3 files changed, 528 insertions(+), 417 deletions(-)
-
-diff --git a/Cargo.lock b/Cargo.lock
-index f74e3e9..42f21e6 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -71,7 +71,7 @@ version = "3.1.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "2e445c26125ff80316eaea16e812d717b147b82a68682bd4730f74d4845c8b35"
- dependencies = [
-- "html5ever 0.25.1",
-+ "html5ever",
- "lazy_static",
- "maplit",
- "markup5ever_rcdom",
-@@ -86,6 +86,12 @@ version = "1.0.43"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf"
-
-+[[package]]
-+name = "arrayvec"
-+version = "0.5.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
-+
- [[package]]
- name = "async-channel"
- version = "1.6.1"
-@@ -97,6 +103,16 @@ dependencies = [
- "futures-core",
- ]
-
-+[[package]]
-+name = "async-dup"
-+version = "1.2.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7427a12b8dc09291528cfb1da2447059adb4a257388c2acd6497a79d55cf6f7c"
-+dependencies = [
-+ "futures-io",
-+ "simple-mutex",
-+]
-+
- [[package]]
- name = "async-executor"
- version = "1.4.1"
-@@ -127,6 +143,24 @@ dependencies = [
- "once_cell",
- ]
-
-+[[package]]
-+name = "async-h1"
-+version = "2.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "cc5142de15b549749cce62923a50714b0d7b77f5090ced141599e78899865451"
-+dependencies = [
-+ "async-channel",
-+ "async-dup",
-+ "async-std",
-+ "byte-pool",
-+ "futures-core",
-+ "http-types",
-+ "httparse",
-+ "lazy_static",
-+ "log",
-+ "pin-project",
-+]
-+
- [[package]]
- name = "async-io"
- version = "1.6.0"
-@@ -164,6 +198,18 @@ dependencies = [
- "event-listener",
- ]
-
-+[[package]]
-+name = "async-native-tls"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "9e9e7a929bd34c68a82d58a4de7f86fffdaf97fb2af850162a7bb19dd7269b33"
-+dependencies = [
-+ "async-std",
-+ "native-tls",
-+ "thiserror",
-+ "url",
-+]
-+
- [[package]]
- name = "async-std"
- version = "1.9.0"
-@@ -174,7 +220,7 @@ dependencies = [
- "async-global-executor",
- "async-io",
- "async-lock",
-- "crossbeam-utils 0.8.5",
-+ "crossbeam-utils",
- "futures-channel",
- "futures-core",
- "futures-io",
-@@ -249,12 +295,6 @@ dependencies = [
- "winapi",
- ]
-
--[[package]]
--name = "autocfg"
--version = "0.1.7"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
--
- [[package]]
- name = "autocfg"
- version = "1.0.1"
-@@ -279,6 +319,12 @@ version = "1.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-+[[package]]
-+name = "block"
-+version = "0.1.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
-+
- [[package]]
- name = "block-buffer"
- version = "0.9.0"
-@@ -325,20 +371,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631"
-
- [[package]]
--name = "byteorder"
--version = "1.4.3"
-+name = "byte-pool"
-+version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-+checksum = "f8c7230ddbb427b1094d477d821a99f3f54d36333178eeb806e279bcdcecf0ca"
-+dependencies = [
-+ "crossbeam-queue",
-+ "stable_deref_trait",
-+]
-
- [[package]]
--name = "bytes"
--version = "0.4.12"
-+name = "byteorder"
-+version = "1.4.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
--dependencies = [
-- "byteorder",
-- "iovec",
--]
-+checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
-
- [[package]]
- name = "bytes"
-@@ -397,12 +443,6 @@ dependencies = [
- "smallvec",
- ]
-
--[[package]]
--name = "cfg-if"
--version = "0.1.10"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
--
- [[package]]
- name = "cfg-if"
- version = "1.0.0"
-@@ -433,21 +473,23 @@ dependencies = [
- ]
-
- [[package]]
--name = "cloudabi"
--version = "0.0.3"
-+name = "concurrent-queue"
-+version = "1.2.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
-+checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
- dependencies = [
-- "bitflags",
-+ "cache-padded",
- ]
-
- [[package]]
--name = "concurrent-queue"
--version = "1.2.2"
-+name = "config"
-+version = "0.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
-+checksum = "19b076e143e1d9538dde65da30f8481c2a6c44040edb8e02b9bf1351edb92ce3"
- dependencies = [
-- "cache-padded",
-+ "lazy_static",
-+ "nom",
-+ "serde",
- ]
-
- [[package]]
-@@ -456,6 +498,12 @@ version = "0.4.8"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7"
-
-+[[package]]
-+name = "convert_case"
-+version = "0.4.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e"
-+
- [[package]]
- name = "cookie"
- version = "0.14.4"
-@@ -473,6 +521,22 @@ dependencies = [
- "version_check",
- ]
-
-+[[package]]
-+name = "core-foundation"
-+version = "0.9.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
-+dependencies = [
-+ "core-foundation-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "core-foundation-sys"
-+version = "0.8.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
-+
- [[package]]
- name = "cpufeatures"
- version = "0.1.5"
-@@ -489,24 +553,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba"
-
- [[package]]
--name = "crossbeam-channel"
--version = "0.4.4"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "b153fe7cbef478c567df0f972e02e6d736db11affe43dfc9c56a9374d1adfb87"
--dependencies = [
-- "crossbeam-utils 0.7.2",
-- "maybe-uninit",
--]
--
--[[package]]
--name = "crossbeam-utils"
--version = "0.7.2"
-+name = "crossbeam-queue"
-+version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
-+checksum = "9b10ddc024425c88c2ad148c1b0fd53f4c6d38db9697c9f1588381212fa657c9"
- dependencies = [
-- "autocfg 1.0.1",
-- "cfg-if 0.1.10",
-- "lazy_static",
-+ "cfg-if",
-+ "crossbeam-utils",
- ]
-
- [[package]]
-@@ -515,7 +568,7 @@ version = "0.8.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "lazy_static",
- ]
-
-@@ -529,6 +582,33 @@ dependencies = [
- "subtle",
- ]
-
-+[[package]]
-+name = "cssparser"
-+version = "0.27.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a"
-+dependencies = [
-+ "cssparser-macros",
-+ "dtoa-short",
-+ "itoa",
-+ "matches",
-+ "phf",
-+ "proc-macro2",
-+ "quote",
-+ "smallvec",
-+ "syn",
-+]
-+
-+[[package]]
-+name = "cssparser-macros"
-+version = "0.6.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e"
-+dependencies = [
-+ "quote",
-+ "syn",
-+]
-+
- [[package]]
- name = "ctor"
- version = "0.1.20"
-@@ -585,7 +665,7 @@ version = "4.0.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "num_cpus",
- ]
-
-@@ -598,6 +678,33 @@ dependencies = [
- "libc",
- ]
-
-+[[package]]
-+name = "deadpool"
-+version = "0.7.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3d126179d86aee4556e54f5f3c6bf6d9884e7cc52cef82f77ee6f90a7747616d"
-+dependencies = [
-+ "async-trait",
-+ "config",
-+ "crossbeam-queue",
-+ "num_cpus",
-+ "serde",
-+ "tokio",
-+]
-+
-+[[package]]
-+name = "derive_more"
-+version = "0.99.16"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df"
-+dependencies = [
-+ "convert_case",
-+ "proc-macro2",
-+ "quote",
-+ "rustc_version 0.3.3",
-+ "syn",
-+]
-+
- [[package]]
- name = "diesel"
- version = "1.4.7"
-@@ -647,6 +754,21 @@ version = "1.0.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0"
-
-+[[package]]
-+name = "dtoa"
-+version = "0.4.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0"
-+
-+[[package]]
-+name = "dtoa-short"
-+version = "0.3.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6"
-+dependencies = [
-+ "dtoa",
-+]
-+
- [[package]]
- name = "either"
- version = "1.6.1"
-@@ -659,14 +781,14 @@ version = "0.8.28"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- ]
-
- [[package]]
- name = "env_logger"
--version = "0.6.2"
-+version = "0.7.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
-+checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
- dependencies = [
- "atty",
- "humantime",
-@@ -717,6 +839,21 @@ version = "1.0.7"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-+[[package]]
-+name = "foreign-types"
-+version = "0.3.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
-+dependencies = [
-+ "foreign-types-shared",
-+]
-+
-+[[package]]
-+name = "foreign-types-shared"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
-+
- [[package]]
- name = "form_urlencoded"
- version = "1.0.1"
-@@ -743,12 +880,6 @@ dependencies = [
- "new_debug_unreachable",
- ]
-
--[[package]]
--name = "futures"
--version = "0.1.31"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "3a471a38ef8ed83cd6e40aa59c1ffe17db6855c18e3604d9c4ed8c08ebc28678"
--
- [[package]]
- name = "futures"
- version = "0.3.16"
-@@ -819,7 +950,7 @@ version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "c54913bae956fb8df7f4dc6fc90362aa72e69148e3f39041fbe8742d21e0ac57"
- dependencies = [
-- "autocfg 1.0.1",
-+ "autocfg",
- "proc-macro-hack",
- "proc-macro2",
- "quote",
-@@ -844,8 +975,7 @@ version = "0.3.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "67eb846bfd58e44a8481a00049e82c43e0ccb5d61f8dc071057cb19249dd4d78"
- dependencies = [
-- "autocfg 1.0.1",
-- "futures 0.1.31",
-+ "autocfg",
- "futures-channel",
- "futures-core",
- "futures-io",
-@@ -858,7 +988,15 @@ dependencies = [
- "proc-macro-hack",
- "proc-macro-nested",
- "slab",
-- "tokio-io",
-+]
-+
-+[[package]]
-+name = "fxhash"
-+version = "0.2.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-+dependencies = [
-+ "byteorder",
- ]
-
- [[package]]
-@@ -941,7 +1079,7 @@ version = "0.1.16"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "libc",
- "wasi 0.9.0+wasi-snapshot-preview1",
- ]
-@@ -952,16 +1090,16 @@ version = "0.2.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "libc",
- "wasi 0.10.0+wasi-snapshot-preview1",
- ]
-
- [[package]]
- name = "gettext-rs"
--version = "0.4.4"
-+version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "df454a42d8a718280c78666efe0707c120873736961ae91ead898f17ac66ce7c"
-+checksum = "e49ea8a8fad198aaa1f9655a2524b64b70eb06b2f3ff37da407566c93054f364"
- dependencies = [
- "gettext-sys",
- "locale_config",
-@@ -969,11 +1107,12 @@ dependencies = [
-
- [[package]]
- name = "gettext-sys"
--version = "0.19.9"
-+version = "0.21.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "e034c4ba5bb796730a6cc5eb0d654c16885006a7c3d6c6603581ed809434f153"
-+checksum = "afa9e06ab9e7514cc9ae668ea3b71ea1536259d767dff0289ac23ad134f99929"
- dependencies = [
- "cc",
-+ "temp-dir",
- ]
-
- [[package]]
-@@ -1220,13 +1359,13 @@ dependencies = [
-
- [[package]]
- name = "html2pango"
--version = "0.3.3"
-+version = "0.4.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "469b284033c3c93e7df758d316cb2e0da4408e4138d5add903b8be356a841738"
-+checksum = "a2a7f65103a4da1b629f519474a51ae89077c61f88954eb9e6df7b22e1a7fd98"
- dependencies = [
- "ammonia",
- "anyhow",
-- "html5ever 0.25.1",
-+ "html5ever",
- "lazy_static",
- "linkify",
- "maplit",
-@@ -1234,20 +1373,6 @@ dependencies = [
- "regex",
- ]
-
--[[package]]
--name = "html5ever"
--version = "0.24.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "025483b0a1e4577bb28578318c886ee5f817dda6eb62473269349044406644cb"
--dependencies = [
-- "log",
-- "mac",
-- "markup5ever 0.9.0",
-- "proc-macro2",
-- "quote",
-- "syn",
--]
--
- [[package]]
- name = "html5ever"
- version = "0.25.1"
-@@ -1256,23 +1381,12 @@ checksum = "aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b"
- dependencies = [
- "log",
- "mac",
-- "markup5ever 0.10.1",
-+ "markup5ever",
- "proc-macro2",
- "quote",
- "syn",
- ]
-
--[[package]]
--name = "http"
--version = "0.1.21"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "d6ccf5ede3a895d8856620237b2f02972c1bbc78d2965ad7fe8838d4a0ed41f0"
--dependencies = [
-- "bytes 0.4.12",
-- "fnv",
-- "itoa",
--]
--
- [[package]]
- name = "http"
- version = "0.2.4"
-@@ -1284,34 +1398,27 @@ dependencies = [
- "itoa",
- ]
-
--[[package]]
--name = "http-client"
--version = "1.1.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "bf86227a76b64ebd37d442853370f7177be4fd3ae6f9ff5c9e0349643e1cb332"
--dependencies = [
-- "futures 0.3.16",
-- "http 0.1.21",
-- "isahc 0.8.2",
-- "js-sys",
-- "wasm-bindgen",
-- "wasm-bindgen-futures",
-- "web-sys",
--]
--
- [[package]]
- name = "http-client"
- version = "6.5.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "ea880b03c18a7e981d7fb3608b8904a98425d53c440758fcebf7d934aa56547c"
- dependencies = [
-+ "async-h1",
-+ "async-native-tls",
- "async-std",
- "async-trait",
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "dashmap",
-+ "deadpool",
-+ "futures",
- "http-types",
-- "isahc 0.9.14",
-+ "isahc",
-+ "js-sys",
- "log",
-+ "wasm-bindgen",
-+ "wasm-bindgen-futures",
-+ "web-sys",
- ]
-
- [[package]]
-@@ -1336,6 +1443,12 @@ dependencies = [
- "url",
- ]
-
-+[[package]]
-+name = "httparse"
-+version = "1.5.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503"
-+
- [[package]]
- name = "humantime"
- version = "1.3.0"
-@@ -1368,37 +1481,7 @@ version = "0.1.10"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "bee0328b1209d157ef001c94dd85b4f8f64139adb0eac2659f4b08382b2f474d"
- dependencies = [
-- "cfg-if 1.0.0",
--]
--
--[[package]]
--name = "iovec"
--version = "0.1.4"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "b2b3ea6ff95e175473f8ffe6a7eb7c00d054240321b84c57051175fe3c1e075e"
--dependencies = [
-- "libc",
--]
--
--[[package]]
--name = "isahc"
--version = "0.8.2"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "c45d8c41e6f0b5aa495fd2577e6068e100f57eb87c4b353b0dab20bb53a56035"
--dependencies = [
-- "bytes 0.4.12",
-- "crossbeam-channel",
-- "crossbeam-utils 0.7.2",
-- "curl",
-- "curl-sys",
-- "futures-channel",
-- "futures-io",
-- "futures-util",
-- "http 0.1.21",
-- "lazy_static",
-- "log",
-- "slab",
-- "sluice",
-+ "cfg-if",
- ]
-
- [[package]]
-@@ -1408,13 +1491,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "e2948a0ce43e2c2ef11d7edf6816508998d99e13badd1150be0914205df9388a"
- dependencies = [
- "bytes 0.5.6",
-- "crossbeam-utils 0.8.5",
-+ "crossbeam-utils",
- "curl",
- "curl-sys",
- "encoding_rs",
- "flume",
- "futures-lite",
-- "http 0.2.4",
-+ "http",
- "log",
- "mime",
- "once_cell",
-@@ -1469,6 +1552,18 @@ dependencies = [
- "wasm-bindgen",
- ]
-
-+[[package]]
-+name = "kuchiki"
-+version = "0.8.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358"
-+dependencies = [
-+ "cssparser",
-+ "html5ever",
-+ "matches",
-+ "selectors",
-+]
-+
- [[package]]
- name = "kv-log-macro"
- version = "1.0.7"
-@@ -1484,6 +1579,19 @@ version = "1.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
-
-+[[package]]
-+name = "lexical-core"
-+version = "0.7.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
-+dependencies = [
-+ "arrayvec",
-+ "bitflags",
-+ "cfg-if",
-+ "ryu",
-+ "static_assertions",
-+]
-+
- [[package]]
- name = "libc"
- version = "0.2.100"
-@@ -1569,11 +1677,13 @@ dependencies = [
-
- [[package]]
- name = "locale_config"
--version = "0.2.3"
-+version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "73ac19ebe45489e5d53b4346d8b90bb3dd03275c5fdf2ce22a982516d86b535c"
-+checksum = "08d2c35b16f4483f6c26f0e4e9550717a2f6575bcd6f12a53ff0c490a94a6934"
- dependencies = [
- "lazy_static",
-+ "objc",
-+ "objc-foundation",
- "regex",
- "winapi",
- ]
-@@ -1593,7 +1703,7 @@ version = "0.4.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "value-bag",
- ]
-
-@@ -1603,6 +1713,15 @@ version = "0.1.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4"
-
-+[[package]]
-+name = "malloc_buf"
-+version = "0.0.6"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb"
-+dependencies = [
-+ "libc",
-+]
-+
- [[package]]
- name = "maplit"
- version = "1.0.2"
-@@ -1611,32 +1730,15 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
-
- [[package]]
- name = "markup5ever"
--version = "0.9.0"
-+version = "0.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "65381d9d47506b8592b97c4efd936afcf673b09b059f2bef39c7211ee78b9d03"
-+checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
- dependencies = [
- "log",
-- "phf 0.7.24",
-- "phf_codegen 0.7.24",
-- "serde",
-- "serde_derive",
-- "serde_json",
-- "string_cache 0.7.5",
-- "string_cache_codegen 0.4.4",
-- "tendril",
--]
--
--[[package]]
--name = "markup5ever"
--version = "0.10.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd"
--dependencies = [
-- "log",
-- "phf 0.8.0",
-- "phf_codegen 0.8.0",
-- "string_cache 0.8.1",
-- "string_cache_codegen 0.5.1",
-+ "phf",
-+ "phf_codegen",
-+ "string_cache",
-+ "string_cache_codegen",
- "tendril",
- ]
-
-@@ -1646,8 +1748,8 @@ version = "0.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "f015da43bcd8d4f144559a3423f4591d69b8ce0652c905374da7205df336ae2b"
- dependencies = [
-- "html5ever 0.25.1",
-- "markup5ever 0.10.1",
-+ "html5ever",
-+ "markup5ever",
- "tendril",
- "xml5ever",
- ]
-@@ -1658,12 +1760,6 @@ version = "0.1.9"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
-
--[[package]]
--name = "maybe-uninit"
--version = "2.0.0"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
--
- [[package]]
- name = "memchr"
- version = "2.4.1"
-@@ -1676,7 +1772,7 @@ version = "0.6.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9"
- dependencies = [
-- "autocfg 1.0.1",
-+ "autocfg",
- ]
-
- [[package]]
-@@ -1716,12 +1812,47 @@ dependencies = [
- "unicase",
- ]
-
-+[[package]]
-+name = "native-tls"
-+version = "0.2.8"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d"
-+dependencies = [
-+ "lazy_static",
-+ "libc",
-+ "log",
-+ "openssl",
-+ "openssl-probe",
-+ "openssl-sys",
-+ "schannel",
-+ "security-framework",
-+ "security-framework-sys",
-+ "tempfile",
-+]
-+
- [[package]]
- name = "new_debug_unreachable"
- version = "1.0.4"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54"
-
-+[[package]]
-+name = "nodrop"
-+version = "0.1.14"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb"
-+
-+[[package]]
-+name = "nom"
-+version = "5.1.2"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
-+dependencies = [
-+ "lexical-core",
-+ "memchr",
-+ "version_check",
-+]
-+
- [[package]]
- name = "num"
- version = "0.3.1"
-@@ -1742,7 +1873,7 @@ version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "7d0a3d5e207573f948a9e5376662aa743a2ea13f7c50a554d7af443a73fbfeba"
- dependencies = [
-- "autocfg 1.0.1",
-+ "autocfg",
- "num-integer",
- "num-traits",
- ]
-@@ -1762,7 +1893,7 @@ version = "0.1.44"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
- dependencies = [
-- "autocfg 1.0.1",
-+ "autocfg",
- "num-traits",
- ]
-
-@@ -1772,7 +1903,7 @@ version = "0.1.42"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
- dependencies = [
-- "autocfg 1.0.1",
-+ "autocfg",
- "num-integer",
- "num-traits",
- ]
-@@ -1783,7 +1914,7 @@ version = "0.3.2"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
- dependencies = [
-- "autocfg 1.0.1",
-+ "autocfg",
- "num-bigint",
- "num-integer",
- "num-traits",
-@@ -1795,7 +1926,7 @@ version = "0.2.14"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
- dependencies = [
-- "autocfg 1.0.1",
-+ "autocfg",
- ]
-
- [[package]]
-@@ -1808,6 +1939,35 @@ dependencies = [
- "libc",
- ]
-
-+[[package]]
-+name = "objc"
-+version = "0.2.7"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1"
-+dependencies = [
-+ "malloc_buf",
-+]
-+
-+[[package]]
-+name = "objc-foundation"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9"
-+dependencies = [
-+ "block",
-+ "objc",
-+ "objc_id",
-+]
-+
-+[[package]]
-+name = "objc_id"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b"
-+dependencies = [
-+ "objc",
-+]
-+
- [[package]]
- name = "once_cell"
- version = "1.8.0"
-@@ -1820,6 +1980,20 @@ version = "0.3.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
-
-+[[package]]
-+name = "openssl"
-+version = "0.10.36"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8d9facdb76fec0b73c406f125d44d86fdad818d66fef0531eec9233ca425ff4a"
-+dependencies = [
-+ "bitflags",
-+ "cfg-if",
-+ "foreign-types",
-+ "libc",
-+ "once_cell",
-+ "openssl-sys",
-+]
-+
- [[package]]
- name = "openssl-probe"
- version = "0.1.4"
-@@ -1832,7 +2006,7 @@ version = "0.9.66"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "1996d2d305e561b70d1ee0c53f1542833f4e1ac6ce9a6708b6ff2738ca67dc82"
- dependencies = [
-- "autocfg 1.0.1",
-+ "autocfg",
- "cc",
- "libc",
- "pkg-config",
-@@ -1887,7 +2061,7 @@ version = "0.8.3"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "instant",
- "libc",
- "redox_syscall",
-@@ -1910,32 +2084,15 @@ dependencies = [
- "ucd-trie",
- ]
-
--[[package]]
--name = "phf"
--version = "0.7.24"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
--dependencies = [
-- "phf_shared 0.7.24",
--]
--
- [[package]]
- name = "phf"
- version = "0.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12"
- dependencies = [
-- "phf_shared 0.8.0",
--]
--
--[[package]]
--name = "phf_codegen"
--version = "0.7.24"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
--dependencies = [
-- "phf_generator 0.7.24",
-- "phf_shared 0.7.24",
-+ "phf_macros",
-+ "phf_shared",
-+ "proc-macro-hack",
- ]
-
- [[package]]
-@@ -1944,18 +2101,8 @@ version = "0.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815"
- dependencies = [
-- "phf_generator 0.8.0",
-- "phf_shared 0.8.0",
--]
--
--[[package]]
--name = "phf_generator"
--version = "0.7.24"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
--dependencies = [
-- "phf_shared 0.7.24",
-- "rand 0.6.5",
-+ "phf_generator",
-+ "phf_shared",
- ]
-
- [[package]]
-@@ -1964,17 +2111,22 @@ version = "0.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526"
- dependencies = [
-- "phf_shared 0.8.0",
-+ "phf_shared",
- "rand 0.7.3",
- ]
-
- [[package]]
--name = "phf_shared"
--version = "0.7.24"
-+name = "phf_macros"
-+version = "0.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
-+checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c"
- dependencies = [
-- "siphasher 0.2.3",
-+ "phf_generator",
-+ "phf_shared",
-+ "proc-macro-hack",
-+ "proc-macro2",
-+ "quote",
-+ "syn",
- ]
-
- [[package]]
-@@ -1983,7 +2135,7 @@ version = "0.8.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7"
- dependencies = [
-- "siphasher 0.3.6",
-+ "siphasher",
- ]
-
- [[package]]
-@@ -2030,7 +2182,7 @@ version = "2.1.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "libc",
- "log",
- "wepoll-ffi",
-@@ -2062,11 +2214,10 @@ checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
-
- [[package]]
- name = "pretty_env_logger"
--version = "0.3.1"
-+version = "0.4.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074"
-+checksum = "926d36b9553851b8b0005f1275891b392ee4d2d833852c417ed025477350fb9d"
- dependencies = [
-- "chrono",
- "env_logger",
- "log",
- ]
-@@ -2175,25 +2326,6 @@ dependencies = [
- "winapi",
- ]
-
--[[package]]
--name = "rand"
--version = "0.6.5"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
--dependencies = [
-- "autocfg 0.1.7",
-- "libc",
-- "rand_chacha 0.1.1",
-- "rand_core 0.4.2",
-- "rand_hc 0.1.0",
-- "rand_isaac",
-- "rand_jitter",
-- "rand_os",
-- "rand_pcg 0.1.2",
-- "rand_xorshift",
-- "winapi",
--]
--
- [[package]]
- name = "rand"
- version = "0.7.3"
-@@ -2205,7 +2337,7 @@ dependencies = [
- "rand_chacha 0.2.2",
- "rand_core 0.5.1",
- "rand_hc 0.2.0",
-- "rand_pcg 0.2.1",
-+ "rand_pcg",
- ]
-
- [[package]]
-@@ -2220,16 +2352,6 @@ dependencies = [
- "rand_hc 0.3.1",
- ]
-
--[[package]]
--name = "rand_chacha"
--version = "0.1.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
--dependencies = [
-- "autocfg 0.1.7",
-- "rand_core 0.3.1",
--]
--
- [[package]]
- name = "rand_chacha"
- version = "0.2.2"
-@@ -2283,15 +2405,6 @@ dependencies = [
- "getrandom 0.2.3",
- ]
-
--[[package]]
--name = "rand_hc"
--version = "0.1.0"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
--dependencies = [
-- "rand_core 0.3.1",
--]
--
- [[package]]
- name = "rand_hc"
- version = "0.2.0"
-@@ -2310,50 +2423,6 @@ dependencies = [
- "rand_core 0.6.3",
- ]
-
--[[package]]
--name = "rand_isaac"
--version = "0.1.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
--dependencies = [
-- "rand_core 0.3.1",
--]
--
--[[package]]
--name = "rand_jitter"
--version = "0.1.4"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
--dependencies = [
-- "libc",
-- "rand_core 0.4.2",
-- "winapi",
--]
--
--[[package]]
--name = "rand_os"
--version = "0.1.3"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
--dependencies = [
-- "cloudabi",
-- "fuchsia-cprng",
-- "libc",
-- "rand_core 0.4.2",
-- "rdrand",
-- "winapi",
--]
--
--[[package]]
--name = "rand_pcg"
--version = "0.1.2"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
--dependencies = [
-- "autocfg 0.1.7",
-- "rand_core 0.4.2",
--]
--
- [[package]]
- name = "rand_pcg"
- version = "0.2.1"
-@@ -2363,15 +2432,6 @@ dependencies = [
- "rand_core 0.5.1",
- ]
-
--[[package]]
--name = "rand_xorshift"
--version = "0.1.1"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
--dependencies = [
-- "rand_core 0.3.1",
--]
--
- [[package]]
- name = "rdrand"
- version = "0.4.0"
-@@ -2391,7 +2451,7 @@ dependencies = [
- "chrono",
- "diesel",
- "diesel_migrations",
-- "futures 0.3.16",
-+ "futures",
- "gdk",
- "gdk-pixbuf",
- "gettext-rs",
-@@ -2400,8 +2460,8 @@ dependencies = [
- "gtk",
- "gtk-macros",
- "html2pango",
-- "http-client 1.1.1",
-- "isahc 0.9.14",
-+ "http-client",
-+ "isahc",
- "lazy_static",
- "libhandy",
- "log",
-@@ -2414,8 +2474,8 @@ dependencies = [
- "serde",
- "serde_derive",
- "serde_json",
-- "strum 0.16.0",
-- "strum_macros 0.16.0",
-+ "strum 0.21.0",
-+ "strum_macros 0.21.1",
- "url",
- "wallabag-api",
- "webkit2gtk",
-@@ -2447,6 +2507,15 @@ version = "0.6.25"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
-
-+[[package]]
-+name = "remove_dir_all"
-+version = "0.5.3"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
-+dependencies = [
-+ "winapi",
-+]
-+
- [[package]]
- name = "rust-crypto"
- version = "0.2.36"
-@@ -2492,11 +2561,12 @@ checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
-
- [[package]]
- name = "sanitize_html"
--version = "0.6.0"
-+version = "0.7.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "422bdfab5da6695bdc9f28a25087f6a01bf35c0ce2f51eeb2608db8b464a60a8"
-+checksum = "2cd7ea46188a5c6961a44b4c25ed280ea85a1e0b6a129f9bbd81bbf87261c52b"
- dependencies = [
-- "html5ever 0.24.1",
-+ "html5ever",
-+ "kuchiki",
- "lazy_static",
- "regex",
- ]
-@@ -2542,6 +2612,49 @@ dependencies = [
- "sha2",
- ]
-
-+[[package]]
-+name = "security-framework"
-+version = "2.3.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467"
-+dependencies = [
-+ "bitflags",
-+ "core-foundation",
-+ "core-foundation-sys",
-+ "libc",
-+ "security-framework-sys",
-+]
-+
-+[[package]]
-+name = "security-framework-sys"
-+version = "2.3.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284"
-+dependencies = [
-+ "core-foundation-sys",
-+ "libc",
-+]
-+
-+[[package]]
-+name = "selectors"
-+version = "0.22.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe"
-+dependencies = [
-+ "bitflags",
-+ "cssparser",
-+ "derive_more",
-+ "fxhash",
-+ "log",
-+ "matches",
-+ "phf",
-+ "phf_codegen",
-+ "precomputed-hash",
-+ "servo_arc",
-+ "smallvec",
-+ "thin-slice",
-+]
-+
- [[package]]
- name = "semver"
- version = "0.9.0"
-@@ -2629,6 +2742,16 @@ dependencies = [
- "serde",
- ]
-
-+[[package]]
-+name = "servo_arc"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432"
-+dependencies = [
-+ "nodrop",
-+ "stable_deref_trait",
-+]
-+
- [[package]]
- name = "sha1"
- version = "0.6.0"
-@@ -2642,17 +2765,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12"
- dependencies = [
- "block-buffer",
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "cpufeatures",
- "digest",
- "opaque-debug",
- ]
-
- [[package]]
--name = "siphasher"
--version = "0.2.3"
-+name = "simple-mutex"
-+version = "1.1.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
-+checksum = "38aabbeafa6f6dead8cebf246fe9fae1f9215c8d29b3a69f93bd62a9e4a3dcd6"
-+dependencies = [
-+ "event-listener",
-+]
-
- [[package]]
- name = "siphasher"
-@@ -2717,6 +2843,12 @@ dependencies = [
- "lock_api",
- ]
-
-+[[package]]
-+name = "stable_deref_trait"
-+version = "1.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3"
-+
- [[package]]
- name = "standback"
- version = "0.2.17"
-@@ -2726,6 +2858,12 @@ dependencies = [
- "version_check",
- ]
-
-+[[package]]
-+name = "static_assertions"
-+version = "1.1.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-+
- [[package]]
- name = "stdweb"
- version = "0.4.20"
-@@ -2775,21 +2913,6 @@ version = "0.1.5"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0"
-
--[[package]]
--name = "string_cache"
--version = "0.7.5"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "89c058a82f9fd69b1becf8c274f412281038877c553182f1d02eb027045a2d67"
--dependencies = [
-- "lazy_static",
-- "new_debug_unreachable",
-- "phf_shared 0.7.24",
-- "precomputed-hash",
-- "serde",
-- "string_cache_codegen 0.4.4",
-- "string_cache_shared",
--]
--
- [[package]]
- name = "string_cache"
- version = "0.8.1"
-@@ -2798,48 +2921,23 @@ checksum = "8ddb1139b5353f96e429e1a5e19fbaf663bddedaa06d1dbd49f82e352601209a"
- dependencies = [
- "lazy_static",
- "new_debug_unreachable",
-- "phf_shared 0.8.0",
-+ "phf_shared",
- "precomputed-hash",
- "serde",
- ]
-
--[[package]]
--name = "string_cache_codegen"
--version = "0.4.4"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "f0f45ed1b65bf9a4bf2f7b7dc59212d1926e9eaf00fa998988e420fd124467c6"
--dependencies = [
-- "phf_generator 0.7.24",
-- "phf_shared 0.7.24",
-- "proc-macro2",
-- "quote",
-- "string_cache_shared",
--]
--
- [[package]]
- name = "string_cache_codegen"
- version = "0.5.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97"
- dependencies = [
-- "phf_generator 0.8.0",
-- "phf_shared 0.8.0",
-+ "phf_generator",
-+ "phf_shared",
- "proc-macro2",
- "quote",
- ]
-
--[[package]]
--name = "string_cache_shared"
--version = "0.3.0"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "b1884d1bc09741d466d9b14e6d37ac89d6909cbcac41dd9ae982d4d063bbedfc"
--
--[[package]]
--name = "strum"
--version = "0.16.0"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "6138f8f88a16d90134763314e3fc76fa3ed6a7db4725d6acf9a3ef95a3188d22"
--
- [[package]]
- name = "strum"
- version = "0.18.0"
-@@ -2852,18 +2950,6 @@ version = "0.21.0"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2"
-
--[[package]]
--name = "strum_macros"
--version = "0.16.0"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "0054a7df764039a6cd8592b9de84be4bec368ff081d203a7d5371cbfa8e65c81"
--dependencies = [
-- "heck",
-- "proc-macro2",
-- "quote",
-- "syn",
--]
--
- [[package]]
- name = "strum_macros"
- version = "0.18.0"
-@@ -2902,11 +2988,11 @@ checksum = "73f856d60bdb4679fc9ec516c34093484e963431b5016a8429f85a8e74b5ccaa"
- dependencies = [
- "async-std",
- "async-trait",
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "encoding_rs",
- "futures-util",
- "getrandom 0.2.3",
-- "http-client 6.5.1",
-+ "http-client",
- "http-types",
- "log",
- "mime_guess",
-@@ -2961,6 +3047,26 @@ dependencies = [
- "version-compare 0.0.11",
- ]
-
-+[[package]]
-+name = "temp-dir"
-+version = "0.1.11"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "af547b166dd1ea4b472165569fc456cfb6818116f854690b0ff205e636523dab"
-+
-+[[package]]
-+name = "tempfile"
-+version = "3.2.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22"
-+dependencies = [
-+ "cfg-if",
-+ "libc",
-+ "rand 0.8.4",
-+ "redox_syscall",
-+ "remove_dir_all",
-+ "winapi",
-+]
-+
- [[package]]
- name = "tendril"
- version = "0.4.2"
-@@ -2981,6 +3087,12 @@ dependencies = [
- "winapi-util",
- ]
-
-+[[package]]
-+name = "thin-slice"
-+version = "0.1.1"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
-+
- [[package]]
- name = "thiserror"
- version = "1.0.26"
-@@ -3066,14 +3178,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
-
- [[package]]
--name = "tokio-io"
--version = "0.1.13"
-+name = "tokio"
-+version = "1.10.1"
- source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "57fc868aae093479e3131e3d165c93b1c7474109d13c90ec0dda2a1bbfff0674"
-+checksum = "92036be488bb6594459f2e03b60e42df6f937fe6ca5c5ffdcb539c6b84dc40f5"
- dependencies = [
-- "bytes 0.4.12",
-- "futures 0.1.31",
-- "log",
-+ "autocfg",
-+ "pin-project-lite",
- ]
-
- [[package]]
-@@ -3091,7 +3202,7 @@ version = "0.1.26"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "log",
- "pin-project-lite",
- "tracing-attributes",
-@@ -3277,7 +3388,7 @@ version = "0.2.76"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "8ce9b1b516211d33767048e5d47fa2a381ed8b76fc48d2ce4aa39877f9f183e0"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "wasm-bindgen-macro",
- ]
-
-@@ -3302,7 +3413,7 @@ version = "0.4.26"
- source = "registry+https://github.com/rust-lang/crates.io-index"
- checksum = "95fded345a6559c2cfee778d562300c581f7d4ff3edb9b0d230d69800d213972"
- dependencies = [
-- "cfg-if 1.0.0",
-+ "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-@@ -3441,6 +3552,6 @@ checksum = "0b1b52e6e8614d4a58b8e70cf51ec0cc21b256ad8206708bcff8139b5bbd6a59"
- dependencies = [
- "log",
- "mac",
-- "markup5ever 0.10.1",
-+ "markup5ever",
- "time 0.1.44",
- ]
-diff --git a/Cargo.toml b/Cargo.toml
-index e010fa7..51e5850 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -14,28 +14,28 @@ gdk-pixbuf = "0.14"
- log = "0.4"
- libhandy = "0.8"
- webkit2gtk = { version = "0.14", features = ["v2_6"] }
--gettext-rs= { version = "0.4", features = ["gettext-system"] }
--lazy_static = "1.3"
-+gettext-rs= { version = "0.7", features = ["gettext-system"] }
-+lazy_static = "1.4"
- serde = "1.0"
- serde_json = "1.0"
- serde_derive = "1.0"
- wallabag-api = "0.4.1"
--pretty_env_logger = "0.3"
-+pretty_env_logger = "0.4"
- diesel = { version = "1.4", features = ["sqlite", "r2d2", "chrono"] }
- diesel_migrations = { version = "1.4", features = ["sqlite"] }
- anyhow = "1.0"
- isahc = "0.9"
--sanitize_html = "0.6"
--regex = "1.3"
-+sanitize_html = "0.7"
-+regex = "1.5"
- secret-service = "1.0"
- chrono = "0.4"
--url = "2.1"
--strum = "0.16"
--strum_macros = "0.16"
--html2pango = "0.3"
-+url = "2.2"
-+strum = "0.21"
-+strum_macros = "0.21"
-+html2pango = "0.4"
- rust-crypto = "0.2"
--async-std = "1.4"
-+async-std = "1.9"
- futures = { version = "0.3", features = [ "thread-pool" ] }
- gtk-macros = "0.3"
--http-client = { version = "1.1", features = ["native_client"] }
--once_cell = "1.8.0"
-+http-client = { version = "6.5", features = ["native_client"] }
-+once_cell = "1.8"
-diff --git a/src/main.rs b/src/main.rs
-index 5b93108..4d2b34c 100644
---- a/src/main.rs
-+++ b/src/main.rs
-@@ -36,8 +36,8 @@ fn main() {
- gtk::init().expect("Unable to start GTK3");
- // Prepare i18n
- setlocale(LocaleCategory::LcAll, "");
-- bindtextdomain(config::GETTEXT_PACKAGE, config::LOCALEDIR);
-- textdomain(config::GETTEXT_PACKAGE);
-+ bindtextdomain(config::GETTEXT_PACKAGE, config::LOCALEDIR).unwrap();
-+ textdomain(config::GETTEXT_PACKAGE).unwrap();
-
- glib::set_prgname(Some("read-it-later"));
- glib::set_application_name(&format!("Read It Later{}", config::NAME_SUFFIX));
---
-2.31.1
-
diff --git a/testing/read-it-later/0003-gitlab-ci.yml-Update-the-containers.patch b/testing/read-it-later/0003-gitlab-ci.yml-Update-the-containers.patch
deleted file mode 100644
index e27c4b9d1f5..00000000000
--- a/testing/read-it-later/0003-gitlab-ci.yml-Update-the-containers.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From b0049b419efb41f05c0350dbf42fe5924e9312f8 Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair@alistair23.me>
-Date: Wed, 25 Aug 2021 20:26:18 +1000
-Subject: [PATCH 3/4] gitlab-ci.yml: Update the containers
-
-Signed-off-by: Alistair Francis <alistair@alistair23.me>
----
- .gitlab-ci.yml | 4 ++--
- build-aux/com.belmoussaoui.ReadItLaterDevel.json | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
-index aa093aa..bbfb685 100644
---- a/.gitlab-ci.yml
-+++ b/.gitlab-ci.yml
-@@ -1,9 +1,9 @@
- include:
- - project: 'gnome/citemplates'
-- file: 'flatpak/flatpak-ci-initiative-sdk-extensions.yml'
-+ file: 'flatpak/flatpak_ci_initiative.yml'
-
- flatpak:
-- image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/rust_bundle:3.36'
-+ image: 'registry.gitlab.gnome.org/gnome/gnome-runtime-images/rust_bundle:40'
- variables:
- BUNDLE: "read-it-later-nightly.flatpak"
- MANIFEST_PATH: "build-aux/com.belmoussaoui.ReadItLaterDevel.json"
-diff --git a/build-aux/com.belmoussaoui.ReadItLaterDevel.json b/build-aux/com.belmoussaoui.ReadItLaterDevel.json
-index 7e6171b..0eef02f 100644
---- a/build-aux/com.belmoussaoui.ReadItLaterDevel.json
-+++ b/build-aux/com.belmoussaoui.ReadItLaterDevel.json
-@@ -1,7 +1,7 @@
- {
- "app-id": "com.belmoussaoui.ReadItLaterDevel",
- "runtime": "org.gnome.Platform",
-- "runtime-version": "3.36",
-+ "runtime-version": "40",
- "sdk": "org.gnome.Sdk",
- "sdk-extensions": ["org.freedesktop.Sdk.Extension.rust-stable"],
- "command": "read-it-later",
---
-2.31.1
-
diff --git a/testing/read-it-later/0004-Cargo.toml-Update-isahc.patch b/testing/read-it-later/0004-Cargo.toml-Update-isahc.patch
deleted file mode 100644
index 3dd6f52bede..00000000000
--- a/testing/read-it-later/0004-Cargo.toml-Update-isahc.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From b958ed12ae15ee681f1c208b6962bd3d558134cc Mon Sep 17 00:00:00 2001
-From: Alistair Francis <alistair@alistair23.me>
-Date: Wed, 25 Aug 2021 21:01:40 +1000
-Subject: [PATCH 4/4] Cargo.toml: Update isahc
-
-Update isahc. As part of this we need to convert copy_to_file() to not
-be async due to: https://github.com/sagebind/isahc/issues/283
-
-Signed-off-by: Alistair Francis <alistair@alistair23.me>
----
- Cargo.lock | 30 +++++++++++++++++++++++++++---
- Cargo.toml | 2 +-
- src/models/preview_image.rs | 4 ++--
- 3 files changed, 30 insertions(+), 6 deletions(-)
-
-diff --git a/Cargo.lock b/Cargo.lock
-index 42f21e6..ec3602a 100644
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -1413,7 +1413,7 @@ dependencies = [
- "deadpool",
- "futures",
- "http-types",
-- "isahc",
-+ "isahc 0.9.14",
- "js-sys",
- "log",
- "wasm-bindgen",
-@@ -1494,13 +1494,37 @@ dependencies = [
- "crossbeam-utils",
- "curl",
- "curl-sys",
-- "encoding_rs",
- "flume",
- "futures-lite",
- "http",
- "log",
-+ "once_cell",
-+ "slab",
-+ "sluice",
-+ "tracing",
-+ "tracing-futures",
-+ "url",
-+ "waker-fn",
-+]
-+
-+[[package]]
-+name = "isahc"
-+version = "1.5.0"
-+source = "registry+https://github.com/rust-lang/crates.io-index"
-+checksum = "431445cb4ba85a80cb1438a9ae8042dadb78ae4046ecee89ad027b614aa0ddb7"
-+dependencies = [
-+ "async-channel",
-+ "crossbeam-utils",
-+ "curl",
-+ "curl-sys",
-+ "encoding_rs",
-+ "event-listener",
-+ "futures-lite",
-+ "http",
-+ "log",
- "mime",
- "once_cell",
-+ "polling",
- "slab",
- "sluice",
- "tracing",
-@@ -2461,7 +2485,7 @@ dependencies = [
- "gtk-macros",
- "html2pango",
- "http-client",
-- "isahc",
-+ "isahc 1.5.0",
- "lazy_static",
- "libhandy",
- "log",
-diff --git a/Cargo.toml b/Cargo.toml
-index 51e5850..ed29a18 100644
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -24,7 +24,7 @@ pretty_env_logger = "0.4"
- diesel = { version = "1.4", features = ["sqlite", "r2d2", "chrono"] }
- diesel_migrations = { version = "1.4", features = ["sqlite"] }
- anyhow = "1.0"
--isahc = "0.9"
-+isahc = "1.5"
- sanitize_html = "0.7"
- regex = "1.5"
- secret-service = "1.0"
-diff --git a/src/models/preview_image.rs b/src/models/preview_image.rs
-index 3b9b7c4..b9900e7 100644
---- a/src/models/preview_image.rs
-+++ b/src/models/preview_image.rs
-@@ -1,7 +1,7 @@
- use anyhow::Result;
- use crypto::digest::Digest;
- use crypto::sha1::Sha1;
--use isahc::ResponseExt;
-+use isahc::prelude::*;
- use std::path::PathBuf;
- use std::rc::Rc;
- use url::Url;
-@@ -33,7 +33,7 @@ impl PreviewImage {
- }
-
- pub async fn download(&self, client: Rc<isahc::HttpClient>) -> Result<()> {
-- if let Ok(mut resp) = client.get_async(&self.url.to_string()).await {
-+ if let Ok(mut resp) = client.get(&self.url.to_string()) {
- info!("Downloading preview image {} into {:#?}", self.url, self.cache);
- resp.copy_to_file(self.cache.clone())?;
- }
---
-2.31.1
-
diff --git a/testing/read-it-later/APKBUILD b/testing/read-it-later/APKBUILD
deleted file mode 100755
index ad1f5178db3..00000000000
--- a/testing/read-it-later/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Alistair Francis <alistair@alistair23.me>
-# Maintainer: Alistair Francis <alistair@alistair23.me>
-pkgname=read-it-later
-pkgver=0.0.2
-pkgrel=1
-pkgdesc="Wallabag Client built with GTK"
-url="https://gitlab.gnome.org/World/read-it-later"
-arch="all !s390x !mips64 !riscv64" # cargo, rust not found
-license="GPL-3.0-only"
-makedepends="meson bash rust cargo webkit2gtk-dev libhandy1-dev sqlite-dev
- gettext-dev openssl-dev"
-source="read-it-later-692cf638e1284bcf31031421e6951c767bed6139.tar.gz::https://gitlab.gnome.org/World/read-it-later/-/archive/692cf638e1284bcf31031421e6951c767bed6139/read-it-later-692cf638e1284bcf31031421e6951c767bed6139.tar.gz
- 0001-Cargo-Update-the-glib-dependencies.patch
- 0002-Cargo-Update-most-remainig-dependencies.patch
- 0003-gitlab-ci.yml-Update-the-containers.patch
- 0004-Cargo.toml-Update-isahc.patch
- "
-builddir="$srcdir/read-it-later-692cf638e1284bcf31031421e6951c767bed6139"
-options="!check" # no tests
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test --no-rebuild -v -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-8c0b6a608230feb57612b06ea993f0f03d25ba90959376cfd80709190e4939c88edeadd3071a70006ad84879604682ac47f87e3e72cbb5a300d0f505084bf37e read-it-later-692cf638e1284bcf31031421e6951c767bed6139.tar.gz
-12e26a50f155e13e8704b1eb5a7858baf2fe54e59374518f77225172694b40c716801e4bc868c4af03feb71acd85ee34e8ad0e5497c69360943618abb18f823e 0001-Cargo-Update-the-glib-dependencies.patch
-c74dcbb4413b30c336d8b421f1d82a4516409e76c936b126491418914cdf287d91ba80557799c86e7c874ef74538011416e5aefa5bcf73d4946dcae58b2f3f7a 0002-Cargo-Update-most-remainig-dependencies.patch
-7d1327995d9c4e8eb9b0774ea3d54c338bb16ec0fd3f9724655e54f28ac38c9e6623661ff9313bdb4e3aab3131d6a384f6c60c7499a3e3891b57a13e9750ac3f 0003-gitlab-ci.yml-Update-the-containers.patch
-0638d8270b3666fdb149ef0e4c6e23dc33e48bad2b2294d2484240560933560e9500c34ddba44b7f4972062d0c0e618149d448e4bb0c83dd17220a1e3f0d8d41 0004-Cargo.toml-Update-isahc.patch
-"
diff --git a/testing/readosm/APKBUILD b/testing/readosm/APKBUILD
index cd8a2ecb5f6..c5b91314f10 100644
--- a/testing/readosm/APKBUILD
+++ b/testing/readosm/APKBUILD
@@ -25,7 +25,6 @@ build() {
make
}
-
check() {
make check
}
diff --git a/testing/reason/APKBUILD b/testing/reason/APKBUILD
index 8541c568c4d..8c0c9164f2f 100644
--- a/testing/reason/APKBUILD
+++ b/testing/reason/APKBUILD
@@ -1,150 +1,142 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=reason
-pkgver=3.0.4
-pkgrel=2
+pkgver=3.8.2
+pkgrel=1
pkgdesc="Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems"
url="https://reasonml.github.io/"
-# x86, armhf, s390x, mips, mips64: limited by ocaml aport
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64 !riscv64"
+arch="all !riscv64 !loongarch64" # ocaml
license="MIT"
checkdepends="nodejs utop-full"
-_menhirver=20171013
makedepends="
bash
dune
ocaml
ocaml-compiler-libs
+ ocaml-cppo
ocaml-findlib-dev
- ocaml-menhir-dev=~$_menhirver
+ ocaml-fix-dev
+ ocaml-menhir
+ ocaml-menhir-dev
ocaml-merlin-extend-dev
- ocaml-migrate-parsetree-dev
ocaml-ocamlbuild-dev
+ ocaml-ppx_derivers-dev
ocaml-result-dev
+ ocaml-seq-dev
ocaml-utop-dev
ocamlbuild
- opam
+ ocaml-bigarray-compat-dev
+ ocaml-camomile-dev
+ ocaml-charinfo_width-dev
+ ocaml-csexp-dev
+ ocaml-lambda-term-dev
+ ocaml-lwt-dev
+ ocaml-lwt_log-dev
+ ocaml-lwt_react
+ ocaml-mew-dev
+ ocaml-mew_vi-dev
+ ocaml-mmap-dev
+ ocaml-ocplib-endian-dev
+ ocaml-react-dev
+ ocaml-trie-dev
+ ocaml-zed-dev
"
options="!check" # FIXME: tests cannot find reason's modules
+provides="$pkgname-reactjs=$pkgver-r$pkgrel"
subpackages="
ocaml-$pkgname-dev:_libdev
- $pkgname-merlin
- $pkgname-reactjs
- $pkgname-rebuild
$pkgname-rtop
ocaml-$pkgname:_lib
"
-source="$pkgname-$pkgver.tar.gz::https://github.com/facebook/$pkgname/archive/$pkgver.tar.gz
- rtop.sh.patch"
-builddir="$srcdir/$pkgname-$pkgver"
+source="$pkgname-$pkgver.tar.bz2::https://github.com/reasonml/reason/releases/download/$pkgver/reason-$pkgver.tbz"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
build() {
- cd "$builddir"
- jbuilder build @install
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
}
check() {
- cd "$builddir"
- jbuilder runtest
+ dune runtest --no-buffer --verbose
}
package() {
- cd "$builddir"
-
- opam-installer -i \
- --prefix="$pkgdir/usr" \
- --libdir="$pkgdir/usr/lib/ocaml" \
- --docdir="$pkgdir/doc" \
- --mandir="$pkgdir/usr/share/man" \
- $pkgname.install
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml \
+ --mandir="$pkgdir/usr/share/man"
cd "$pkgdir"
# There's just a readme and changelog.
- rm -Rf doc
-
- # Remove annotation files and sources.
- find usr/lib/ocaml \
- -name '*.cmt' -delete \
- -o -name '*.cmti' -delete \
- -o -name '*.ml' -delete
+ rm -Rf usr/doc
# Just for internal tests.
- rm usr/bin/testOprint
-
- # This is probably used only to generate parser (?).
- rm usr/bin/menhir_error_processor
-
- mkdir -p usr/share/$pkgname-rtop
- mv usr/bin/rtop_init.ml usr/share/$pkgname-rtop/
+ rm -fv usr/bin/testOprint
}
_libdev() {
pkgdesc="$pkgdesc (development files)"
depends="ocaml-$pkgname=$pkgver-r$pkgrel"
- local sitelib="usr/lib/ocaml/$pkgname"
+
+ default_dev
cd "$pkgdir"
- local path; for path in $(find $sitelib/ \
- -name '*.a' \
- -o -name '*.cmx' \
- -o -name '*.cmxa' \
- -o -name '*.mli')
+ local path; find usr/lib/ocaml/$pkgname \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
do
- mkdir -p "$subpkgdir"/${path%/*}
- mv "$path" "$subpkgdir"/${path%/*}/
+ amove "$path"
done
- rmdir "$subpkgdir"/$sitelib 2>/dev/null || true
-}
-
-merlin() {
- pkgdesc="Reason extension to Merlin - context sensitive completion"
- depends="ocaml-merlin"
-
- _submv usr/bin/ocamlmerlin-reason
-}
-
-reactjs() {
- pkgdesc="ReactJS interop that translates Reason JSX to JS"
-
- _submv usr/bin/ppx_react
- _submv usr/bin/reactjs_jsx_ppx_v2
- _submv usr/bin/reactjs_jsx_ppx_v3
-}
-
-rebuild() {
- pkgdesc="Simple build system for Reason based on OCamlbuild"
- depends="$pkgname ocaml ocaml-ocamlbuild"
-
- _submv usr/bin/rebuild
}
rtop() {
pkgdesc="REPL for Reason based on Utop"
depends="$pkgname=$pkgver-r$pkgrel
ocaml-$pkgname=$pkgver-r$pkgrel
- ocaml-menhir-dev=~$_menhirver
+ ocaml-menhir-dev
utop-full"
- _submv usr/bin/rtop
- _submv usr/lib/ocaml/$pkgname/rtop
- _submv usr/share/$pkgname-rtop
+ amove usr/bin/rtop
+ amove usr/lib/ocaml/rtop
}
_lib() {
pkgdesc="$pkgdesc (library)"
- depends="ocaml-runtime ocaml-menhir=~$_menhirver ocaml-migrate-parsetree"
- _submv usr/lib/ocaml/$pkgname
+ amove usr/lib/ocaml/$pkgname
}
-_submv() {
- local path="$1"
- mkdir -p "$subpkgdir"/${path%/*}
- mv "$pkgdir"/$path "$subpkgdir"/${path%/*}/
- rmdir -p "$pkgdir"/${path%/*} 2>/dev/null || true
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
}
-sha512sums="ba21920b7320841b08cf0684aeb6718be92b175e2ab71d3b96b317f047c9726b656088cf1a4770766335d4f8a54194b84173e2d7458eabb9e2c0b89a78b1eb95 reason-3.0.4.tar.gz
-5a658798a27fa69cc2685353cf0c26dfd95ea6a1d8d5c53c6476500b37b86c18b7b1d26fecac13c5ab0aa91e07f4aa5a7087934e9faca0002dad8f6b8fafd876 rtop.sh.patch"
+sha512sums="
+45822ecf4b19b892e1d150fd7f7a80af18df576b204647d4bbb9a18ac591a690f9b5338789ecccacb2d6b6354dbc32ff4a3574cc8b82b777e21cb8729f502f95 reason-3.8.2.tar.bz2
+"
diff --git a/testing/reason/rtop.sh.patch b/testing/reason/rtop.sh.patch
deleted file mode 100644
index 73682fd4ce4..00000000000
--- a/testing/reason/rtop.sh.patch
+++ /dev/null
@@ -1,41 +0,0 @@
---- a/src/rtop/rtop.sh
-+++ b/src/rtop/rtop.sh
-@@ -1,4 +1,4 @@
--#!/usr/bin/env bash
-+#!/bin/sh
- # Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
-
-
-@@ -13,15 +13,26 @@
- # require's reason, so that reason is required after .ocamlinit is
- # parsed in standard syntax.
-
--touch $HOME/.utoprc
--touch $HOME/.utop-history
--DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-+# Enable pipefail if supported.
-+if ( set -o pipefail 2>/dev/null ); then
-+ set -o pipefail
-+fi
-
-+touch "$HOME"/.utoprc
-+touch "$HOME"/.utop-history
-+
- # intercept the -stdin flag of utop, and preprocess the code into reason code
- # before forwarding it. Afaik currently there's no better way of intercepting
- # the code after urtop receives code from stdin and before it processes it
--if [[ $@ =~ "stdin" ]]; then
-- refmt --parse re --print ml --interface false | utop-full $@
-+stdin=no
-+for arg in "$@"; do
-+ case "$arg" in
-+ -stdin) stdin=yes; break;;
-+ esac
-+done
-+
-+if [ "$stdin" = yes ]; then
-+ refmt --parse re --print ml --interface false | utop-full "$@"
- else
-- utop-full -init $DIR/rtop_init.ml $@ -I $HOME -safe-string
-+ utop-full -init /usr/share/reason-rtop/rtop_init.ml "$@" -I "$HOME" -safe-string
- fi
diff --git a/testing/reaver-wps-fork-t6x/APKBUILD b/testing/reaver-wps-fork-t6x/APKBUILD
index e208ae1ac81..c01652482b6 100644
--- a/testing/reaver-wps-fork-t6x/APKBUILD
+++ b/testing/reaver-wps-fork-t6x/APKBUILD
@@ -2,10 +2,10 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=reaver-wps-fork-t6x
pkgver=1.6.6
-pkgrel=0
+pkgrel=1
pkgdesc="Community forked version of reaver, the WPS password cracker"
url="https://github.com/t6x/reaver-wps-fork-t6x"
-arch="all !s390x !mips64" # aircrack-ng disabled for s390x and mips
+arch="all !s390x" # aircrack-ng disabled for s390x
license="GPL-2.0-only"
options="!check" #upstream does not provide check
depends="aircrack-ng pixiewps sqlite"
diff --git a/testing/recoll/APKBUILD b/testing/recoll/APKBUILD
index ffdc79d1eb4..da601241e63 100644
--- a/testing/recoll/APKBUILD
+++ b/testing/recoll/APKBUILD
@@ -1,38 +1,29 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=recoll
-pkgver=1.31.0
+pkgver=1.37.5
pkgrel=1
pkgdesc="Desktop full-text search tool"
-url="https://www.lesbonscomptes.com/recoll/"
+url="https://www.recoll.org/"
arch="all"
license="GPL-2.0-or-later"
makedepends="
+ aspell-dev
file
libx11-dev
libxslt-dev
+ py3-setuptools
+ python3-dev
qt5-qtbase-dev
+ qt5-qttools-dev
xapian-core-dev
zlib-dev
- aspell-dev
"
-subpackages="$pkgname-doc"
-source="http://www.lesbonscomptes.com/recoll/recoll-$pkgver.tar.gz
- xattrs.patch
- fstreewalk.diff
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://www.recoll.org/recoll-$pkgver.tar.gz
+ no-glibc.patch
"
-prepare() {
- default_prepare
- patch -p2 -i "$srcdir/fstreewalk.diff"
- for file_ext in h cpp; do
- sed -i 's/u_int64_t/uint64_t/g' utils/md5.$file_ext
- sed -i 's/u_int32_t/uint32_t/g' utils/md5.$file_ext
- sed -i 's/u_int8_t/uint8_t/g' utils/md5.$file_ext
- done
-}
-
build() {
- QMAKE=qmake-qt5 \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
@@ -53,7 +44,6 @@ check() {
}
sha512sums="
-1a740cdabab158737461ab8f097ece79844e1f0b64285871217049c0619df400d99db18eac8942e1986def555c5ab8364f3320eb403d150b061126cbc3be2116 recoll-1.31.0.tar.gz
-ad482352fb92077284a87ebb9bc2cd0c9aa093358d43c4d768cb6cd9a2c610e215263d555bd3d23aadbf2e1025e3b886723e7b50edfab6974328931b3b194188 xattrs.patch
-35b7de8f0b869f83f87b83b7b05edb935c50ec5d216e5d1b60027f4f960e16f2725b0950b4290c532707e47914a6065a72b96504772593a5fb0b2b96d4e75d0d fstreewalk.diff
+594a81de809a2f2f08986ef1220ea2d7df8292923f55cf41c5813eb50be9ca63aa9f77c38bd27466486e72b030f2df28a093bca32dae1682d514acbb11a76382 recoll-1.37.5.tar.gz
+8617a8b85404ad3e025c6e28f6bec91d455a0cf6744783dd9faa443fe45ee92deb99a9e2f114ae5e639c88c0cf83d93604d1558c9b5e507e802f6250be1b073e no-glibc.patch
"
diff --git a/testing/recoll/fstreewalk.diff b/testing/recoll/fstreewalk.diff
deleted file mode 100644
index 8a92775e223..00000000000
--- a/testing/recoll/fstreewalk.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/utils/fstreewalk.cpp b/src/utils/fstreewalk.cpp
-index 939074b1..fc43edc3 100644
---- a/src/utils/fstreewalk.cpp
-+++ b/src/utils/fstreewalk.cpp
-@@ -44,6 +44,7 @@ const int FsTreeWalker::FtwTravMask = FtwTravNatural|
- #ifndef _WIN32
- // dev/ino means nothing on Windows. It seems that FileId could replace it
- // but we only use this for cycle detection which we just disable.
-+#include <sys/stat.h>
- class DirId {
- public:
- dev_t dev;
diff --git a/testing/recoll/no-glibc.patch b/testing/recoll/no-glibc.patch
new file mode 100644
index 00000000000..a5711750051
--- /dev/null
+++ b/testing/recoll/no-glibc.patch
@@ -0,0 +1,14 @@
+diff --git a/common/conf_post.h b/common/conf_post.h
+index f79070d..b9a48a5 100644
+--- a/common/conf_post.h
++++ b/common/conf_post.h
+@@ -76,9 +76,6 @@ typedef int ssize_t;
+ #if defined(REAL_GCC) && defined(HAVE_FEATURES_H)
+ // Older gcc versions pretended to supply std::regex, but the resulting programs mostly crashed.
+ #include <features.h>
+-#if ! __GNUC_PREREQ(6,0)
+-#define NO_STD_REGEX 1
+-#endif
+ #endif
+
+ #endif /* INCLUDED */
diff --git a/testing/recoll/xattrs.patch b/testing/recoll/xattrs.patch
deleted file mode 100644
index 7e1bf4e547b..00000000000
--- a/testing/recoll/xattrs.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./utils/pxattr.cpp
-+++ utils/pxattr.cpp.orig
-@@ -44,7 +44,7 @@
- // just let the methods return errors (like they would on a non-xattr
- // fs on e.g. linux)
-
--#if defined(__DragonFly__) || defined(__OpenBSD__)
-+#if defined(__DragonFly__) || defined(__OpenBSD__) || !defined(__GLIBC__)
- #define HAS_NO_XATTR
- #endif
-
diff --git a/testing/recyclarr-cli/0001-disable-gitversion.patch b/testing/recyclarr-cli/0001-disable-gitversion.patch
new file mode 100644
index 00000000000..851b6169df2
--- /dev/null
+++ b/testing/recyclarr-cli/0001-disable-gitversion.patch
@@ -0,0 +1,32 @@
+From: Fabricio Silva <hi@fabricio.dev>
+Date: Mon, 7 Aug 2023 09:29:47 +0100
+Subject: [PATCH] Disable GitVersion
+
+GitVersion is a dependency that needs git history to return the current version.
+APKBUILD does not provide git history. Disable it and replace version in prepare() step.
+
+---
+ src/Recyclarr.Cli/Program.cs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/Recyclarr.Cli/Program.cs b/src/Recyclarr.Cli/Program.cs
+index 6befa96..d98d643 100644
+--- a/src/Recyclarr.Cli/Program.cs
++++ b/src/Recyclarr.Cli/Program.cs
+@@ -38,6 +38,7 @@ internal static class Program
+ config.Settings.StrictParsing = true;
+
+ config.SetApplicationName("recyclarr");
++ config.SetApplicationVersion("{Version}");
+
+ var interceptor = new CliInterceptor(logLevelSwitch, appDataPathProvider);
+ interceptor.OnIntercepted.Subscribe(_ => OnAppInitialized());
+@@ -78,7 +79,7 @@ internal static class Program
+ }
+
+ _log = _scope.Resolve<ILogger>();
+- _log.Debug("Recyclarr Version: {Version}", GitVersionInformation.InformationalVersion);
++ _log.Debug("Recyclarr Version: {Version}");
+
+ _tasks = _scope.Resolve<IOrderedEnumerable<IBaseCommandSetupTask>>().ToArray();
+ _tasks.ForEach(x => x.OnStart());
diff --git a/testing/recyclarr-cli/0002-build-dotnet8.patch b/testing/recyclarr-cli/0002-build-dotnet8.patch
new file mode 100644
index 00000000000..f71e1afa5c7
--- /dev/null
+++ b/testing/recyclarr-cli/0002-build-dotnet8.patch
@@ -0,0 +1,23 @@
+From c1b2ed4021d22eb6245e25bdd2647ef768a34507 Mon Sep 17 00:00:00 2001
+From: Fabricio Silva <hi@fabricio.dev>
+Date: Wed, 14 Feb 2024 12:06:58 +0000
+Subject: [PATCH] build with dotnet8.0
+
+Build for dotnet8 is not merged to a stable release. For the next release we can probably remove this patch.
+
+---
+ src/Directory.Build.props | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Directory.Build.props b/src/Directory.Build.props
+index 8d10c9f9..333301e5 100644
+--- a/src/Directory.Build.props
++++ b/src/Directory.Build.props
+@@ -1,6 +1,6 @@
+ <Project>
+ <PropertyGroup>
+- <TargetFramework>net7.0</TargetFramework>
++ <TargetFramework>net8.0</TargetFramework>
+ <Nullable>enable</Nullable>
+ <WarningLevel>9999</WarningLevel>
+ <ImplicitUsings>enable</ImplicitUsings>
diff --git a/testing/recyclarr-cli/APKBUILD b/testing/recyclarr-cli/APKBUILD
new file mode 100644
index 00000000000..497a4dae34f
--- /dev/null
+++ b/testing/recyclarr-cli/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=recyclarr-cli
+pkgver=6.0.2
+pkgrel=1
+pkgdesc="Automatically sync TRaSH guides to your Sonarr and Radarr instances"
+url="https://github.com/recyclarr/recyclarr"
+arch="x86_64 aarch64 armv7"
+license="MIT"
+options="net !check !strip" # strip breaks the package
+depends="
+ dotnet8-runtime
+ git
+ "
+makedepends="dotnet8-sdk"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/recyclarr/recyclarr/archive/refs/tags/v$pkgver.tar.gz
+ 0001-disable-gitversion.patch
+ 0002-build-dotnet8.patch
+ "
+builddir="$srcdir/recyclarr-$pkgver"
+
+# map arch to dotnet
+case $CARCH in
+ x86_64) _dotnet_arch="x64" ;;
+ aarch64) _dotnet_arch="arm64" ;;
+ armv7) _dotnet_arch="arm" ;;
+ *) _dotnet_arch="$CARCH" ;;
+esac
+
+prepare() {
+ default_prepare
+
+ # apply patch version
+ sed -i "s/{Version}/$pkgver-r$pkgrel.alpine/" src/Recyclarr.Cli/Program.cs
+}
+
+build() {
+ # build the package and generate artifact
+ dotnet publish src/Recyclarr.Cli \
+ -p:RuntimeIdentifier="linux-musl-$_dotnet_arch" \
+ -p:Configuration=Release \
+ -p:SelfContained=false \
+ -p:PublishSingleFile=true \
+ -p:DisableGitVersionTask=true \
+ --output publish
+}
+
+package() {
+ install -Dm755 publish/recyclarr -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+70790aee093a2028d817223340a7ba98fb661a57bedbff6735a0d915108a085a80050996bf699dfaa81c34ed85511100eeaf31d90ecec8d798a619b1c47012d6 recyclarr-cli-6.0.2.tar.gz
+68bbe5a566fabc49f3382c76550f1462f318ddcbfbad33300551b651ba36e853ce4fed2a39d9dae8e9de1309b2dd5cb73df6f78b9dff1d2a9983b8c0cddda357 0001-disable-gitversion.patch
+40d47902cf83f302ed437049154c74b8df7db37009cab0bfdc8b9a1244e0ad20ce5d868680406a487733f9d4a80587454b215196f8830d69fe9fe0b0664f469e 0002-build-dotnet8.patch
+"
diff --git a/testing/redict/APKBUILD b/testing/redict/APKBUILD
new file mode 100644
index 00000000000..25491bdc246
--- /dev/null
+++ b/testing/redict/APKBUILD
@@ -0,0 +1,68 @@
+# Contributor: V.Krishn <vkrishn4@gmail.com>
+# Contributor: Eivind Uggedal <eu@eju.no>
+# Contributor: TBK <alpine@jjtc.eu>
+# Maintainer: fossdd <fossdd@pwned.life>
+pkgname=redict
+pkgver=7.3.0
+pkgrel=1
+pkgdesc="A distributed key/value database"
+url="https://redict.io/"
+arch="all"
+license="LGPL-3.0-only"
+pkgusers="redict"
+pkggroups="redict"
+makedepends="linux-headers openssl-dev>3"
+checkdepends="tcl procps"
+install="$pkgname.pre-install $pkgname.post-install"
+subpackages="$pkgname-openrc"
+builddir="$srcdir/$pkgname"
+source="redict-$pkgver.tar.gz::https://codeberg.org/redict/redict/archive/$pkgver.tar.gz
+ redict.conf.patch
+ sentinel.conf.patch
+ $pkgname.initd
+ $pkgname.confd
+ $pkgname-sentinel.initd
+ $pkgname.logrotate
+ "
+
+build() {
+ export CFLAGS="$CFLAGS -DUSE_MALLOC_USABLE_SIZE -O2 -flto=auto"
+ make USE_JEMALLOC=no \
+ MALLOC=libc \
+ BUILD_TLS=yes \
+ all
+}
+
+check() {
+ make test
+}
+
+package() {
+ make install PREFIX="$pkgdir/usr" INSTALL_BIN="$pkgdir/usr/bin"
+
+ cd "$pkgdir"
+
+ install -D -m 644 "$builddir"/redict.conf etc/redict.conf
+
+ # This file must be writable for redict, otherwise Sentinel fails to start.
+ install -D -m 644 -o redict -g redict "$builddir"/sentinel.conf etc/sentinel.conf
+
+ install -D -m 755 "$srcdir"/redict.initd etc/init.d/redict
+ install -D -m 755 "$srcdir"/redict-sentinel.initd etc/init.d/redict-sentinel
+ install -D -m 644 "$srcdir"/redict.confd etc/conf.d/redict
+ install -D -m 644 "$srcdir"/redict.logrotate etc/logrotate.d/redict
+
+ install -d -o redict -g redict \
+ var/lib/redict \
+ var/log/redict
+}
+
+sha512sums="
+d33f4dfaf728f5a22abe7a6223f3192c39dc41a32e7bcb0f453caaa859f35b512534979c26ced9f4458c19611debd282f37955e930151c0f827035f349647226 redict-7.3.0.tar.gz
+96740880cd0caac2cecb11066a555055e7c3f10feb312b2d4c7a206fb92c1003415cf7ab81bec4ac96f7631724d9097b1ca130621c8b564a7987dcd75d2f6e25 redict.conf.patch
+a3cec12566097fe78a31d09db77ca956ba52ee1fbb8ac4f5ffc49d0299e29f94ef55830f7760324a875bd47391eee116e0c4efb4bef00d6045bf98b81f392dfc sentinel.conf.patch
+555edff7dd7768c9579a101df86e91cc14cb9941365f051e0e993f1c341cd2b46fcfab6f4a6fd4c1d589242363e323734b453652d687d2d46cb651d84d42caee redict.initd
+4a0b04388115b5af6d4173aca66b081740432c19e1085c0bd5251fbbfb190c06aaa0540575e160c1e907cf504e33b3dcb67eb916dda3347cf394123d64adffb2 redict.confd
+7cc571f9f977a167d61bd952cf74d043ef17e5211113928c77a2f088df1cc8f31dd19e7de79e2795479f7afccd4dd32b66e61b67c99a21ffa8d9560811185728 redict-sentinel.initd
+68e0b0c4c8def5d42149b895ac681d91b8c691a5fd90bce64e6bf6c7780f33c6ac02a923642ebdc85f6bb41d8039cc38b7d3be49e5e9f86f097e3d1f6d41ecd4 redict.logrotate
+"
diff --git a/testing/redict/redict-sentinel.initd b/testing/redict/redict-sentinel.initd
new file mode 100644
index 00000000000..13018fea835
--- /dev/null
+++ b/testing/redict/redict-sentinel.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+
+name="redict Sentinel"
+
+: ${cfgfile:="/etc/sentinel.conf"}
+: ${command_user:="redict:redict"}
+: ${retry:=30}
+
+command="/usr/bin/redict-sentinel"
+command_args="$cfgfile --daemonize no $command_args"
+command_background="yes"
+
+pidfile="/run/$RC_SVCNAME.pid"
+
+required_files="$cfgfile"
+
+depend() {
+ use net localmount logger
+ after keepalived firewall redict
+}
+
+start_pre() {
+ # Sets start-start-daemon's --chdir.
+ directory=$(config_get 'dir' '/var/lib/redict')
+}
+
+config_get() {
+ local key="$1"
+ local default="${2:-}"
+
+ local value=$(awk "\$1 == \"$key\" { print \$2 }" "$cfgfile")
+ printf '%s\n' "${value:-$default}"
+}
diff --git a/testing/redict/redict.conf.patch b/testing/redict/redict.conf.patch
new file mode 100644
index 00000000000..5eea659ef17
--- /dev/null
+++ b/testing/redict/redict.conf.patch
@@ -0,0 +1,71 @@
+We force "daemonize no" in init script, so daemonize and pidfile does not
+have any effect in redict.conf. It's init/rc system's job to daemonize
+programs and handle pidfiles, if it needs it!
+
+Applications often communicate with redict via unix socket, so it's
+convenient to have it enabled by default.
+
+--- a/redict.conf
++++ b/redict.conf
+@@ -112,8 +112,8 @@
+ # incoming connections. There is no default, so redict will not listen
+ # on a unix socket when not specified.
+ #
+-# unixsocket /run/redict.sock
+-# unixsocketperm 700
++unixsocket /run/redict/redict.sock
++unixsocketperm 770
+
+ # Close the connection after a client is idle for N seconds (0 to disable)
+ timeout 0
+@@ -241,11 +241,6 @@
+
+ ################################# GENERAL #####################################
+
+-# By default redict does not run as a daemon. Use 'yes' if you need it.
+-# Note that redict will write a pid file in /var/run/redict.pid when daemonized.
+-# When redict is supervised by upstart or systemd, this parameter has no impact.
+-daemonize no
+-
+ # If you run redict from upstart or systemd, redict can interact with your
+ # supervision tree. Options:
+ # supervised no - no supervision interaction
+@@ -264,20 +259,6 @@
+ #
+ # supervised auto
+
+-# If a pid file is specified, redict writes it where specified at startup
+-# and removes it at exit.
+-#
+-# When the server runs non daemonized, no pid file is created if none is
+-# specified in the configuration. When the server is daemonized, the pid file
+-# is used even if not specified, defaulting to "/var/run/redict.pid".
+-#
+-# Creating a pid file is best effort: if redict is not able to create it
+-# nothing bad happens, the server will start and run normally.
+-#
+-# Note that on modern Linux systems "/run/redict.pid" is more conforming
+-# and should be used instead.
+-pidfile /var/run/redict_6379.pid
+-
+ # Specify the server verbosity level.
+ # This can be one of:
+ # debug (a lot of information, useful for development/testing)
+@@ -289,7 +270,7 @@
+ # Specify the log file name. Also the empty string can be used to force
+ # redict to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile /var/log/redict/redict.log
+
+ # To enable logging to the system logger, just set 'syslog-enabled' to yes,
+ # and optionally update the other syslog parameters to suit your needs.
+@@ -441,7 +422,7 @@
+ # The Append Only File will also be created inside this directory.
+ #
+ # Note that you must specify a directory here, not a file name.
+-dir ./
++dir /var/lib/redict
+
+ ################################# REPLICATION #################################
+
diff --git a/testing/redict/redict.confd b/testing/redict/redict.confd
new file mode 100644
index 00000000000..ba1e9948fbe
--- /dev/null
+++ b/testing/redict/redict.confd
@@ -0,0 +1,7 @@
+# Configuration for /etc/init.d/redict
+
+# User (and group) to run redict as.
+#command_user="redict:redict"
+
+# redict configuration file.
+#cfgfile="/etc/redict.conf"
diff --git a/testing/redict/redict.initd b/testing/redict/redict.initd
new file mode 100644
index 00000000000..6abbd10640e
--- /dev/null
+++ b/testing/redict/redict.initd
@@ -0,0 +1,41 @@
+#!/sbin/openrc-run
+
+name="redict server"
+
+: ${cfgfile:=${REDICT_CONF:-"/etc/redict.conf"}}
+: ${command_user:="${REDICT_USER:-redict}:${REDICT_GROUP:-redict}"}
+: ${retry:=30}
+
+command="/usr/bin/redict-server"
+command_args="$cfgfile --daemonize no $command_args"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+required_files="$cfgfile"
+
+depend() {
+ use net localmount logger
+ after keepalived firewall
+}
+
+start_pre() {
+ # Sets start-start-daemon's --chdir.
+ directory=$(config_get 'dir' '/var/lib/redict')
+ checkpath -d -o "$command_user" "$directory"
+
+ local logfile=$(config_get 'logfile')
+ [ "$logfile" ] && checkpath -d -o "$command_user" "${logfile%/*}"
+
+ local unixsocket=$(config_get 'unixsocket')
+ [ "$unixsocket" ] && checkpath -d -o "$command_user" "${unixsocket%/*}"
+
+ return 0
+}
+
+config_get() {
+ local key="$1"
+ local default="${2:-}"
+
+ local value=$(awk "\$1 == \"$key\" { print \$2 }" "$cfgfile")
+ printf '%s\n' "${value:-$default}"
+}
diff --git a/testing/redict/redict.logrotate b/testing/redict/redict.logrotate
new file mode 100644
index 00000000000..64d894b3eef
--- /dev/null
+++ b/testing/redict/redict.logrotate
@@ -0,0 +1,4 @@
+/var/log/redict/*.log {
+ notifempty
+ missingok
+}
diff --git a/testing/redict/redict.post-install b/testing/redict/redict.post-install
new file mode 100644
index 00000000000..1fe8b18cbdb
--- /dev/null
+++ b/testing/redict/redict.post-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Create directory for the socket if OpenRC is not present (e.g. in container).
+# It's conditioned using post-install script specifically to avoid easily
+# overlookable mistakes in the init script (service working until the
+# first restart).
+if ! [ -e /sbin/openrc ]; then
+ install -d -m 755 -o redict -g redict /run/redict
+fi
+
+exit 0
diff --git a/testing/redict/redict.pre-install b/testing/redict/redict.pre-install
new file mode 100644
index 00000000000..2f47a36e1c8
--- /dev/null
+++ b/testing/redict/redict.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S redict 2>/dev/null
+adduser -S -D -H -h /var/lib/redict -s /sbin/nologin -G redict -g redict redict 2>/dev/null
+
+exit 0
diff --git a/testing/redict/sentinel.conf.patch b/testing/redict/sentinel.conf.patch
new file mode 100644
index 00000000000..4bf5cfbb5eb
--- /dev/null
+++ b/testing/redict/sentinel.conf.patch
@@ -0,0 +1,13 @@
+Upstream: No
+Reason: Hardcode log file path
+--- a/sentinel.conf
++++ b/sentinel.conf
+@@ -33,7 +33,7 @@
+ # Specify the log file name. Also the empty string can be used to force
+ # Sentinel to log on the standard output. Note that if you use standard
+ # output for logging but daemonize, logs will be sent to /dev/null
+-logfile ""
++logfile /var/log/redict/sentinel.log
+
+ # sentinel announce-ip <ip>
+ # sentinel announce-port <port>
diff --git a/testing/refind/01-missing-always-inline.patch b/testing/refind/01-missing-always-inline.patch
new file mode 100644
index 00000000000..ccdb03dd053
--- /dev/null
+++ b/testing/refind/01-missing-always-inline.patch
@@ -0,0 +1,17 @@
+Author: Patrycja Rosa <alpine@ptrcnull.me>
+
+ Add missing include for `_always_inline`
+ This allows for building the Btrfs driver
+
+diff --git a/filesystems/zstd/zstd_internal.h b/filesystems/zstd/zstd_internal.h
+index f90ac42..013e6ff 100644
+--- a/filesystems/zstd/zstd_internal.h
++++ b/filesystems/zstd/zstd_internal.h
+@@ -26,6 +26,7 @@
+ /*-*************************************
+ * Dependencies
+ ***************************************/
++#include <linux/stddef.h>
+ #include "error_private.h"
+ #include "mem.h"
+ #include "xxhash.h"
diff --git a/testing/refind/11-disable-btrfs.patch b/testing/refind/11-disable-btrfs.patch
deleted file mode 100644
index c859402ce41..00000000000
--- a/testing/refind/11-disable-btrfs.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/filesystems/Makefile b/filesystems/Makefile
-index 950bd56..61214c6 100644
---- a/filesystems/Makefile
-+++ b/filesystems/Makefile
-@@ -14,7 +14,7 @@
- INSTALL_DIR = /boot/efi/EFI/refind/drivers
-
- FILESYSTEMS = ext2 ext4 reiserfs iso9660 hfs btrfs
--FILESYSTEMS_GNUEFI = ext2_gnuefi ext4_gnuefi reiserfs_gnuefi iso9660_gnuefi hfs_gnuefi btrfs_gnuefi
-+FILESYSTEMS_GNUEFI = ext2_gnuefi ext4_gnuefi reiserfs_gnuefi iso9660_gnuefi hfs_gnuefi
- TEXTFILES = $(FILESYSTEMS:=*.txt)
-
- # Build the drivers with TianoCore EDK2.....
diff --git a/testing/refind/APKBUILD b/testing/refind/APKBUILD
index 93ca7cc9a20..166cb478c24 100644
--- a/testing/refind/APKBUILD
+++ b/testing/refind/APKBUILD
@@ -1,6 +1,7 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
# Maintainer: Eric Molitor <eric@molitor.org>
pkgname=refind
-pkgver=0.13.2
+pkgver=0.14.0.2
pkgrel=2
pkgdesc="rEFInd EFI Boot Manager"
url="https://www.rodsbooks.com/refind"
@@ -8,12 +9,11 @@ arch="x86_64"
options="!check" # No test suite.
license="GPL-3.0-only"
depends="bash efibootmgr lsblk"
-makedepends="gnu-efi-dev bash"
+makedepends="gnu-efi-dev linux-headers"
subpackages="$pkgname-doc"
source="https://sourceforge.net/projects/refind/files/$pkgver/refind-src-$pkgver.tar.gz
+ 01-missing-always-inline.patch
10-refind-disable-fortify.patch
- 11-disable-btrfs.patch
- gnu-efi-3014.patch
"
prepare() {
@@ -42,8 +42,7 @@ package() {
cp -r icons $pkgdir/usr/share/refind
}
sha512sums="
-e671d44385297295c143824dd95593f2e7bc8e282745d127b041a645aa27003467a3a23f368fd30297f33faa06bd914540d7bdc3c71ec42f6b7a38d7ee8e0ddb refind-src-0.13.2.tar.gz
+41c120c1afec37c508aa5c0ec09a6563c3047ef84932308c91701795b950431dfad17d25cf664039b490a302d475add98441b75f90ff71cadce41febedc68a9e refind-src-0.14.0.2.tar.gz
+cb466feb8b8b1a3c039224866df7e8f4c575cf2c81a1520449e38a6fc5f5b9cfd924944f97780c68addaab7b943dced4ed9c5e668d91e85d6ea49bcd9359e19c 01-missing-always-inline.patch
ccb61e6e5ae0d762932941d7edd5b9a3506db42cfce70ebc57468837799e60fee73b3c568ae603a6ebb677ae702fb5beb5d13b16daf976b954b35047b6f4ecc0 10-refind-disable-fortify.patch
-0740ed4e078c6d55fe6ac566f95a0f63a060247905310c89c59f70b159ac9f141defd01c5780e2c781ff925dfac546c393a30998bf2c82e177a1a2d7d3634035 11-disable-btrfs.patch
-60d8c44b392955be02b326bf11f4f2c235e69126e7e0c442aa48468261b052c1f74e120d7273d654ca4da022653c6f4e7b6127c17e939ed339d479d45b5e9026 gnu-efi-3014.patch
"
diff --git a/testing/refind/gnu-efi-3014.patch b/testing/refind/gnu-efi-3014.patch
deleted file mode 100644
index ebd9ae8c3d5..00000000000
--- a/testing/refind/gnu-efi-3014.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/EfiLib/DevicePathUtilities.h b/EfiLib/DevicePathUtilities.h
-index b559671..14ed797 100644
---- a/EfiLib/DevicePathUtilities.h
-+++ b/EfiLib/DevicePathUtilities.h
-@@ -217,17 +217,4 @@ EFIAPI
- --*/
- ;
-
--typedef struct {
-- EFI_DEVICE_PATH_UTILS_GET_DEVICE_PATH_SIZE GetDevicePathSize;
-- EFI_DEVICE_PATH_UTILS_DUP_DEVICE_PATH DuplicateDevicePath;
-- EFI_DEVICE_PATH_UTILS_APPEND_PATH AppendDevicePath;
-- EFI_DEVICE_PATH_UTILS_APPEND_NODE AppendDeviceNode;
-- EFI_DEVICE_PATH_UTILS_APPEND_INSTANCE AppendDevicePathInstance;
-- EFI_DEVICE_PATH_UTILS_GET_NEXT_INSTANCE GetNextDevicePathInstance;
-- EFI_DEVICE_PATH_UTILS_IS_MULTI_INSTANCE IsDevicePathMultiInstance;
-- EFI_DEVICE_PATH_UTILS_CREATE_NODE CreateDeviceNode;
--} EFI_DEVICE_PATH_UTILITIES_PROTOCOL;
--
--extern EFI_GUID gEfiDevicePathUtilitiesProtocolGuid;
--
- #endif
-diff --git a/EfiLib/gnuefi-helper.c b/EfiLib/gnuefi-helper.c
-index 246c261..8730403 100644
---- a/EfiLib/gnuefi-helper.c
-+++ b/EfiLib/gnuefi-helper.c
-@@ -20,7 +20,6 @@
- #include "refit_call_wrapper.h"
- #include "LegacyBios.h"
-
--EFI_GUID gEfiDevicePathUtilitiesProtocolGuid = { 0x09576E91, 0x6D3F, 0x11D2, { 0x8E, 0x39, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B }};
- EFI_GUID gEfiLegacyBiosProtocolGuid = { 0xdb9a1e3d, 0x45cb, 0x4abb, { 0x85, 0x3b, 0xe5, 0x38, 0x7f, 0xdb, 0x2e, 0x2d }};
-
- /**
diff --git a/testing/reg/APKBUILD b/testing/reg/APKBUILD
index 776c5928f39..deb49f726c7 100644
--- a/testing/reg/APKBUILD
+++ b/testing/reg/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=reg
pkgver=0.16.1
-pkgrel=2
+pkgrel=20
pkgdesc="Docker registry v2 command line client and repo listing generator with security checks"
url="https://github.com/genuinetools/reg"
license="MIT"
@@ -11,11 +11,14 @@ makedepends="go"
source="https://github.com/genuinetools/reg/archive/v$pkgver/reg-$pkgver.tar.gz"
options="chmod-clean"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
go build \
-trimpath \
-ldflags "
- -s -w
-X github.com/genuinetools/reg/version.GITCOMMIT=v$pkgver
-X github.com/genuinetools/reg/version.VERSION=$pkgver-r$pkgrel
" \
diff --git a/testing/regal/APKBUILD b/testing/regal/APKBUILD
new file mode 100644
index 00000000000..f4782d72b9c
--- /dev/null
+++ b/testing/regal/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=regal
+pkgver=0.19.0
+pkgrel=1
+pkgdesc="Linter for Rego files"
+url="https://docs.styra.com/regal"
+# riscv64: TestLanguageServerMultipleFiles test times out
+arch="all !riscv64"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/StyraInc/regal/archive/refs/tags/v$pkgver.tar.gz"
+options="net" # download Go modules
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local _goldflags="
+ -X github.com/styrainc/regal/pkg/version.Version=v$pkgver
+ -X github.com/styrainc/regal/pkg/version.Commit=AlpineLinux
+ -X github.com/styrainc/regal/pkg/version.Timestamp=$(date -u "+%Y-%m-%dT%H:%M:%S%z" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ -X github.com/styrainc/regal/pkg/version.Hostname=alpinelinux.org
+ "
+
+ go build -v -ldflags "$_goldflags" .
+
+ for shell in bash fish zsh; do
+ ./regal completion $shell > regal.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 regal -t "$pkgdir"/usr/bin/
+
+ install -Dm644 regal.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/regal
+ install -Dm644 regal.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/regal.fish
+ install -Dm644 regal.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_regal
+}
+
+sha512sums="
+702a7f46708e3708f8fbc9529282f19eb4dfb2f14cc5425da273436da4abb1caac071e041b16832b1b1b670a53687cd80280cf8445a1952c394009b43e6b065b regal-0.19.0.tar.gz
+"
diff --git a/testing/rekor/APKBUILD b/testing/rekor/APKBUILD
deleted file mode 100644
index 3c6903b7923..00000000000
--- a/testing/rekor/APKBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# Contributor: kpcyrd <git@rxv.cc>
-# Maintainer: kpcyrd <git@rxv.cc>
-pkgname=rekor
-pkgver=0.3.0
-pkgrel=0
-pkgdesc="Signature transparency log"
-url="https://github.com/sigstore/rekor"
-arch="all"
-license="Apache-2.0"
-makedepends="go"
-subpackages="$pkgname-server
- $pkgname-bash-completion
- $pkgname-zsh-completion
- $pkgname-fish-completion
- "
-options="net"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sigstore/rekor/archive/v$pkgver.tar.gz
- fix-completions.patch
- "
-
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-
-build() {
- go build -o cmd/rekor-cli/rekor-cli cmd/rekor-cli/main.go
- go build -o cmd/rekor-server/rekor-server cmd/rekor-server/main.go
-
- mkdir -p completions
- cmd/rekor-cli/rekor-cli completion bash > completions/rekor-cli.bash
- cmd/rekor-cli/rekor-cli completion zsh > completions/_rekor-cli
- cmd/rekor-cli/rekor-cli completion fish > completions/rekor-cli.fish
-
- cmd/rekor-server/rekor-server completion bash > completions/rekor-server.bash
- cmd/rekor-server/rekor-server completion zsh > completions/_rekor-server
- cmd/rekor-server/rekor-server completion fish > completions/rekor-server.fish
-}
-
-check() {
- go test -v ./...
-}
-
-package() {
- install -Dm755 "$builddir/cmd/rekor-cli/rekor-cli" "$pkgdir/usr/bin/rekor-cli"
-
- install -Dm644 "$builddir/completions/rekor-cli.bash" \
- "$pkgdir/usr/share/bash-completion/completions/rekor-cli"
- install -Dm644 "$builddir/completions/_rekor-cli" \
- "$pkgdir/usr/share/zsh/site-functions/_rekor-cli"
- install -Dm644 "$builddir/completions/rekor-cli.fish" \
- "$pkgdir/usr/share/fish/completions/rekor-cli.fish"
-
- install -Dm644 "$builddir/completions/rekor-server.bash" \
- "$pkgdir/usr/share/bash-completion/completions/rekor-server"
- install -Dm644 "$builddir/completions/_rekor-server" \
- "$pkgdir/usr/share/zsh/site-functions/_rekor-server"
- install -Dm644 "$builddir/completions/rekor-server.fish" \
- "$pkgdir/usr/share/fish/completions/rekor-server.fish"
-}
-
-server() {
- pkgdesc="Signature Transparency Log (server)"
- install -Dm755 "$builddir/cmd/rekor-server/rekor-server" "$subpkgdir/usr/bin/rekor-server"
-}
-
-sha512sums="
-eb9585059be940706308535c9fcac0441b685e0e5d9e21ec91ef7d1b0812a4f6b526a90013727374c2c2407305c8676eb69403f32e4a8e61ef080db2b789a7a4 rekor-0.3.0.tar.gz
-7f113d87a60e4b79719b147369119dc9eae92ece6aeb56e25f55580c20903ccb30ea546092c7b70308a259f54fb45bb55cefdac2311622cf447bc1bad54e526f fix-completions.patch
-"
diff --git a/testing/rekor/fix-completions.patch b/testing/rekor/fix-completions.patch
deleted file mode 100644
index dbba9c416ee..00000000000
--- a/testing/rekor/fix-completions.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From ada00fe2ec5b387ef4b679743b68f7d70a49d007 Mon Sep 17 00:00:00 2001
-From: kpcyrd <git@rxv.cc>
-Date: Thu, 19 Aug 2021 15:21:30 +0000
-Subject: [PATCH] Update usage of ./cmd/rekor-cli/ from `rekor` to `rekor-cli`
- (#417)
-
-Signed-off-by: kpcyrd <git@rxv.cc>
----
- cmd/rekor-cli/app/root.go | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmd/rekor-cli/app/root.go b/cmd/rekor-cli/app/root.go
-index 8be7944f..3968cb69 100644
---- a/cmd/rekor-cli/app/root.go
-+++ b/cmd/rekor-cli/app/root.go
-@@ -39,7 +39,7 @@ import (
- )
-
- var rootCmd = &cobra.Command{
-- Use: "rekor",
-+ Use: "rekor-cli",
- Short: "Rekor CLI",
- Long: `Rekor command line interface tool`,
- PersistentPreRunE: func(cmd *cobra.Command, args []string) error {
diff --git a/testing/release-plz/APKBUILD b/testing/release-plz/APKBUILD
new file mode 100644
index 00000000000..4e1f3ccc526
--- /dev/null
+++ b/testing/release-plz/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=release-plz
+pkgver=0.3.60
+pkgrel=0
+pkgdesc="Release Rust packages without using the command line"
+url="https://github.com/MarcoIeni/release-plz"
+license="MIT OR Apache-2.0"
+arch="all"
+makedepends="
+ cargo
+ cargo-auditable
+ libgit2-dev
+ openssl-dev
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/MarcoIeni/release-plz/archive/release-plz-v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-v$pkgver"
+
+prepare() {
+ default_prepare
+ cargo fetch --locked
+}
+
+check() {
+ RUST_MIN_STACK=8388608 cargo test --frozen --no-default-features -- \
+ --skip "next_ver" \
+ --skip "input_generates_correct_release_request"
+}
+
+build() {
+ OPENSSL_NO_VENDOR=1 cargo auditable build -p "$pkgname" --release --frozen
+ mkdir -p completions/
+ local compgen="target/release/$pkgname generate-completions"
+ $compgen bash >"completions/$pkgname"
+ $compgen fish >"completions/$pkgname.fish"
+ $compgen zsh >"completions/_$pkgname"
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE-MIT -t "$pkgdir/usr/share/licenses/$pkgname"
+ install -Dm 644 "completions/$pkgname" -t "$pkgdir/usr/share/bash-completion/completions/"
+ install -Dm 644 "completions/$pkgname.fish" -t "$pkgdir/usr/share/fish/vendor_completions.d/"
+ install -Dm 644 "completions/_$pkgname" -t "$pkgdir/usr/share/zsh/site-functions/"
+}
+
+sha512sums="
+3e177bdead19bef4a20d028b60d0ff13305d798a9eb94a835ef92ab17ef6057ac558fc921d6d13b7a3bf4ecc10dfcba4dcd2a0b1fbf2723a95ebd48502bc0d03 release-plz-v0.3.60.tar.gz
+"
diff --git a/testing/remake/APKBUILD b/testing/remake/APKBUILD
index cfae0781583..a5f3b0e9b14 100644
--- a/testing/remake/APKBUILD
+++ b/testing/remake/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=remake
pkgver=1.5
-pkgrel=0
+pkgrel=1
pkgdesc="a utility for managing collections of software build artifacts"
url="https://github.com/rocky/remake"
arch="all"
diff --git a/testing/remind-caldav/APKBUILD b/testing/remind-caldav/APKBUILD
index bbeb400b813..9ca3a478bbb 100644
--- a/testing/remind-caldav/APKBUILD
+++ b/testing/remind-caldav/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=remind-caldav
pkgver=0.8.0
-pkgrel=0
+pkgrel=3
pkgdesc="caldav client to sync with remind"
url="https://github.com/jspricke/remind-caldav"
arch="noarch"
@@ -10,6 +10,7 @@ license="GPL-3.0-only"
depends="python3 py3-remind py3-caldav py3-dateutil py3-vobject"
makedepends="py3-setuptools"
options="!check" # no tests
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/jspricke/remind-caldav/archive/v$pkgver.tar.gz"
build() {
@@ -17,7 +18,7 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/renderdoc/APKBUILD b/testing/renderdoc/APKBUILD
deleted file mode 100644
index 7c8dda55ac3..00000000000
--- a/testing/renderdoc/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Simon Zeni <simon@bl4ckb0ne.ca>
-# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
-pkgname=renderdoc
-pkgver=1.17
-pkgrel=0
-pkgdesc="Stand-alone graphics debugging tool for Vulkan and OpenGL"
-url="https://renderdoc.org/"
-# limited by vendored plthook version
-arch="all !s390x !ppc64le !riscv64"
-license="MIT"
-makedepends="cmake libx11-dev libxcb-dev xcb-util-keysyms-dev python3-dev
- qt5-qtbase-dev qt5-qtsvg-dev qtchooser libexecinfo-dev wayland-dev
- bison flex automake autoconf qt5-qtx11extras-dev"
-options="!check net" # no tests
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/baldurk/renderdoc/archive/refs/tags/v$pkgver.tar.gz
- musl-fix.patch
- "
-
-prepare() {
- default_prepare
-}
-
-build() {
- cmake -B build -H. \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INSTALL_PREFIX="/usr" \
- -DVULKAN_LAYER_FOLDER="/usr/share/vulkan/implicit_layer.d" \
- -DENABLE_WAYLAND=ON \
- -DBUILD_VERSION_STABLE=ON
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-0f608f9bd5dfca58fd7d39529dcb49ef4df3af508cc1a90b9d327809cf47908731d0175f6b7510db6380f7e4041806d4d727005ff53ef4860f88db938ebc4c2d renderdoc-1.17.tar.gz
-99828b704eff63d5a71143e867bbceca11606bf7f0677a30115b1432fcde0c121f1090824ac2f727e143e474b8c5ca472ba05e377e658651d723f90fd9e99e0a musl-fix.patch
-"
diff --git a/testing/renderdoc/musl-fix.patch b/testing/renderdoc/musl-fix.patch
deleted file mode 100644
index 09377229644..00000000000
--- a/testing/renderdoc/musl-fix.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-diff --git a/renderdoc/3rdparty/plthook/plthook_elf.c b/renderdoc/3rdparty/plthook/plthook_elf.c
-index 612f689d6..907e7f63e 100644
---- a/renderdoc/3rdparty/plthook/plthook_elf.c
-+++ b/renderdoc/3rdparty/plthook/plthook_elf.c
-@@ -233,7 +233,11 @@ int plthook_open_by_address(plthook_t **plthook_out, void *address)
- struct link_map *lmap = NULL;
-
- *plthook_out = NULL;
-+#ifdef __GLIBC__
- if (dladdr1(address, &info, (void**)&lmap, RTLD_DL_LINKMAP) == 0) {
-+#else
-+ if (dladdr(address, &info) == 0) {
-+#endif
- set_errmsg("dladdr error");
- return PLTHOOK_FILE_NOT_FOUND;
- }
-@@ -243,7 +247,7 @@ int plthook_open_by_address(plthook_t **plthook_out, void *address)
-
- static int plthook_open_executable(plthook_t **plthook_out)
- {
--#if defined __linux__
-+#if defined __linux__ && defined __GLIBC__
- return plthook_open_real(plthook_out, _r_debug.r_map);
- #elif defined __sun
- const char *auxv_file = "/proc/self/auxv";
-diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
-index 9174afb2a..9bb6e1d1d 100644
---- a/renderdoc/CMakeLists.txt
-+++ b/renderdoc/CMakeLists.txt
-@@ -48,12 +48,16 @@ elseif(ENABLE_GGP)
- elseif(UNIX)
- find_package(PkgConfig REQUIRED)
- find_package(Threads REQUIRED)
-+ find_package(Backtrace REQUIRED)
-
- list(APPEND RDOC_LIBRARIES
- PRIVATE -lm
- PRIVATE -ldl
- PRIVATE -lrt)
-
-+ list(APPEND RDOC_LIBRARIES
-+ PRIVATE ${Backtrace_LIBRARIES})
-+
- if(ENABLE_XLIB)
- find_package(X11 REQUIRED)
-
-diff --git a/renderdoc/os/os_specific.h b/renderdoc/os/os_specific.h
-index cc9a6b09e..844597450 100644
---- a/renderdoc/os/os_specific.h
-+++ b/renderdoc/os/os_specific.h
-@@ -31,6 +31,7 @@
-
- #pragma once
-
-+#include <time.h>
- #include <stdarg.h>
- #include <stddef.h>
- #include <stdint.h>
-diff --git a/renderdoc/os/posix/linux/linux_hook.cpp b/renderdoc/os/posix/linux/linux_hook.cpp
-index 4989e2865..0acb3ac0b 100644
---- a/renderdoc/os/posix/linux/linux_hook.cpp
-+++ b/renderdoc/os/posix/linux/linux_hook.cpp
-@@ -36,6 +36,10 @@
- #include "plthook/plthook.h"
- #include "strings/string_utils.h"
-
-+#ifndef __GLIBC__
-+#define RTLD_DEEPBIND 0
-+#endif
-+
- Threading::CriticalSection libLock;
-
- RDOC_EXTERN_CONFIG(bool, Linux_Debug_PtraceLogging);
diff --git a/testing/repgrep/APKBUILD b/testing/repgrep/APKBUILD
new file mode 100644
index 00000000000..1b7e2908d17
--- /dev/null
+++ b/testing/repgrep/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=repgrep
+_pkgname=rgr
+pkgver=0.15.0
+pkgrel=0
+pkgdesc="Interactive command line replacer for ripgrep"
+url="https://github.com/acheronfail/repgrep"
+arch="all"
+license="MIT OR Apache-2.0 OR Unlicense"
+depends="ripgrep"
+makedepends="
+ cargo
+ cargo-auditable
+ asciidoctor
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/acheronfail/repgrep/archive/$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/$_pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE-MIT -t "$pkgdir/usr/share/licenses/$pkgname"
+ out_dir=$(find target -name repgrep-stamp -print0 | xargs -0 ls -t | head -n1 | xargs dirname)
+ install -Dm 644 "$out_dir/$_pkgname.1" -t "$pkgdir/usr/share/man/man1"
+
+ echo 'complete -F _rg rgr' | install -Dm 644 /dev/stdin \
+ "$pkgdir/usr/share/bash-completion/completions/$_pkgname"
+ echo 'compdef $_comps[rg] rgr' | install -Dm 644 /dev/stdin \
+ "$pkgdir/usr/share/zsh/site-functions/_$_pkgname"
+ rg --generate complete-fish | sed -e 's/-c rg/-c rgr/' \
+ | install -Dm 644 /dev/stdin \
+ "$pkgdir/usr/share/fish/vendor_completions.d/$_pkgname.fish"
+}
+
+sha512sums="
+dbd56387ee9c1269c000c4992449b71b29942b987ce7f032ee8b556bf2e7f3f81da7a081aa610075c366f5b8447bab39312ebf1375100348c9532ddb75a6b90a repgrep-0.15.0.tar.gz
+"
diff --git a/testing/repo-tools/APKBUILD b/testing/repo-tools/APKBUILD
deleted file mode 100644
index 9d5a3fb3182..00000000000
--- a/testing/repo-tools/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=repo-tools
-pkgver=0.2
-pkgrel=0
-pkgdesc="utilities to interact with Alpine Linux repositories"
-url="https://gitlab.alpinelinux.org/alpine/infra/repo-tools"
-arch="all"
-license="MIT"
-makedepends="go redo scdoc gettext"
-subpackages="
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-zsh-completion
- $pkgname-fish-completion
- "
-options="net !check" # no test suite
-source="https://gitlab.alpinelinux.org/alpine/infra/repo-tools/-/archive/v$pkgver/repo-tools-v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-v$pkgver"
-
-export GOFLAGS="$GOFLAGS -modcacherw"
-export GOMODCACHE="$srcdir/go"
-
-build() {
- echo "$builddir"
- ./configure --prefix /usr --strip
-
- redo
-}
-
-package() {
- DESTDIR="$pkgdir" redo install
-}
-
-sha512sums="
-c20bae9bf2be3cf954663319c4a561ba8c507ed2b8caebc12558dfe4503001b3ad8b24d7e3c159e82127d23e28328c0060c23c5bd5932a1362eca16eb273e07d repo-tools-v0.2.tar.gz
-"
diff --git a/testing/repo-tools/build-fix-doc.patch b/testing/repo-tools/build-fix-doc.patch
deleted file mode 100644
index 701b9dd52b9..00000000000
--- a/testing/repo-tools/build-fix-doc.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/doc/all.do b/doc/all.do
-index b0d6412..418ab57 100644
---- a/doc/all.do
-+++ b/doc/all.do
-@@ -1,5 +1,5 @@
- exec >&2
-
--man_pages=$(find . -name '*.scd' -exec basename -s .scd {} \;)
-+man_pages=$(find . -name '*.scd' -exec basename {} .scd \;)
-
- redo-ifchange $man_pages
diff --git a/testing/repo/APKBUILD b/testing/repo/APKBUILD
index d2e87236e71..d824b313fc4 100644
--- a/testing/repo/APKBUILD
+++ b/testing/repo/APKBUILD
@@ -1,25 +1,30 @@
# Contributor: Antoine Fontaine <antoine.fontaine@epfl.ch>
-# Maintainer: Antoine Fontaine <antoine.fontaine@epfl.ch>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=repo
-pkgver=2.5
-pkgrel=1
+pkgver=2.42
+pkgrel=0
pkgdesc="repository management tool built on top of git"
url="https://gerrit.googlesource.com/git-repo"
arch="noarch"
license="Apache-2.0"
options="!check" # no tests upstream
-depends="python3 py3-kerberos gnupg git"
+depends="python3 git"
makedepends="py3-setuptools"
-source="https://storage.googleapis.com/git-repo-downloads/repo-$pkgver"
-builddir="$srcdir"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/GerritCodeReview/git-repo/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/git-repo-$pkgver"
prepare() {
default_prepare
- sed -i 's|^#!/usr/bin/env python|#!/usr/bin/python3|' repo-$pkgver
+
+ sed -i 's|^#!/usr/bin/env python|#!/usr/bin/python3|' repo
}
package() {
- install -Dm 0755 repo-$pkgver "$pkgdir"/usr/bin/repo
+ install -Dm755 repo -t "$pkgdir"/usr/bin
+ install -Dm644 man/* -t "$pkgdir"/usr/share/man/man1
}
-sha512sums="36e515241fd9705c63beaf662309dc2ab6406552ba845fe020c878ac82e7eb7e1cd73924a076cf5fe4800ea70919bb5ad5d2d43566d5b0a559f81a45f9a58fe8 repo-2.5"
+sha512sums="
+12a766c42b94af0daed4db224476ab32b1b9ded17c9e961bcf15e45d5cf74b009769527cc433fde6a8f841c881eb8fea0e84b72c10322f3fba216f1eedf2813b repo-2.42.tar.gz
+"
diff --git a/testing/repowerd/0001-dbus-Remove-at_console-filtering.patch b/testing/repowerd/0001-dbus-Remove-at_console-filtering.patch
new file mode 100644
index 00000000000..d082f40e209
--- /dev/null
+++ b/testing/repowerd/0001-dbus-Remove-at_console-filtering.patch
@@ -0,0 +1,30 @@
+From 15ee1c2e59dc8d563b8db8035836b68a5a82f6e9 Mon Sep 17 00:00:00 2001
+From: Luca Weiss <luca@z3ntu.xyz>
+Date: Tue, 17 Oct 2023 22:22:27 +0200
+Subject: [PATCH] dbus: Remove at_console filtering
+
+This is long deprecated, remove it since it prohibits communication with
+repowerd.
+---
+ data/dbus-configs/com.canonical.Unity.Screen.conf | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/data/dbus-configs/com.canonical.Unity.Screen.conf b/data/dbus-configs/com.canonical.Unity.Screen.conf
+index 55d2c7b..7bb4cb8 100644
+--- a/data/dbus-configs/com.canonical.Unity.Screen.conf
++++ b/data/dbus-configs/com.canonical.Unity.Screen.conf
+@@ -9,11 +9,6 @@
+ </policy>
+
+ <policy context="default">
+- <allow send_destination="com.canonical.Unity.Screen"
+- send_interface="org.freedesktop.DBus.Introspectable"/>
+- </policy>
+-
+- <policy at_console="true">
+ <allow send_destination="com.canonical.Unity.Screen"/>
+ </policy>
+ </busconfig>
+--
+2.42.0
+
diff --git a/testing/repowerd/APKBUILD b/testing/repowerd/APKBUILD
new file mode 100644
index 00000000000..614d2a531db
--- /dev/null
+++ b/testing/repowerd/APKBUILD
@@ -0,0 +1,55 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=repowerd
+pkgver=2023.07
+pkgrel=0
+pkgdesc="Power daemon to monitor and control system power state"
+url="https://gitlab.com/ubports/development/core/repowerd"
+arch="all !s390x" # blocked by libgbinder
+license="LGPL-3.0-only"
+makedepends="
+ cmake
+ cmake-extras
+ glib-dev
+ gmock
+ gtest-dev
+ libgbinder-dev
+ lomiri-deviceinfo-dev
+ qt5-qtbase-dev
+ samurai
+ "
+checkdepends="dbus"
+subpackages="$pkgname-openrc"
+source="https://gitlab.com/ubports/development/core/repowerd/-/archive/$pkgver/repowerd-$pkgver.tar.gz
+ repowerd.initd
+ 0001-dbus-Remove-at_console-filtering.patch
+ "
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ -DREPOWERD_ENABLE_HYBRIS=False
+ cmake --build build
+}
+
+check() {
+ # Test ARealFilesystem.performs_ioctl in repowerd-adapter-tests fails
+ # https://gitlab.com/ubports/development/core/repowerd/-/issues/41
+ ctest --test-dir build --output-on-failure -E repowerd-adapter-tests
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ install -Dm755 "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+}
+
+sha512sums="
+2cbf879956e049c6c197516c23e43bfeafee13f0e354dbf0032f7a9b97bf849255d5dd204f4178759837fd06601fc9ebbdf3a409af3d79da1fe8b3a9c77bb059 repowerd-2023.07.tar.gz
+d8c4dd351a7bf2bcc66b0eb8b0d17d602661f7defb857be5a28f694e4977b634b7d101f738058ce0ccaa313c4e316f7222c753610500ddbd68f8e42de7c57f29 repowerd.initd
+f6212991bd4ea6704a74f71615fa5d0b9b738144c2448f03d90a0d2c6dd320e17c3c070add7f7877ca3f6f4c2526d44dd5277f8cefbd05ad08d99204c61d6766 0001-dbus-Remove-at_console-filtering.patch
+"
diff --git a/testing/repowerd/repowerd.initd b/testing/repowerd/repowerd.initd
new file mode 100644
index 00000000000..dc05a497326
--- /dev/null
+++ b/testing/repowerd/repowerd.initd
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+
+name="Repowerd"
+description="Power daemon to monitor and control system power state"
+
+command=/usr/sbin/repowerd
+command_background=true
+pidfile="/run/${RC_SVCNAME}.pid"
+
+depends() {
+ need udev
+}
diff --git a/testing/reprotest/APKBUILD b/testing/reprotest/APKBUILD
index 806c33bdf6e..af1ca8eaeea 100644
--- a/testing/reprotest/APKBUILD
+++ b/testing/reprotest/APKBUILD
@@ -1,29 +1,42 @@
# Contributor: Antoine Fontaine <antoine.fontaine@epfl.ch>
-# Maintainer: Antoine Fontaine <antoine.fontaine@epfl.ch>
+# Contributor: fossdd <fossdd@pwned.life>
+# Maintainer: fossdd <fossdd@pwned.life>
pkgname=reprotest
_pyname=reprotest
-pkgver=0.7.18
+pkgver=0.7.27
pkgrel=0
pkgdesc="Build packages and check them for reproducibility"
url="https://salsa.debian.org/reproducible-builds/reprotest"
-arch="noarch !armv7 !x86 !mips !mips64 !armhf" # diffoscope
+arch="noarch !armv7 !x86 !armhf" # diffoscope
license="GPL-3.0-or-later"
-depends="python3 diffoscope py3-rstr py3-distro"
-makedepends="py3-setuptools py3-wheel"
+depends="diffoscope py3-rstr py3-distro py3-setuptools"
+makedepends="
+ py3-gpep517
+ py3-wheel
+ "
+checkdepends="dpkg py3-pytest"
_pypiprefix="${_pyname%"${_pyname#?}"}"
-source="https://files.pythonhosted.org/packages/source/$_pypiprefix/$_pyname/$_pyname-$pkgver.tar.gz"
+subpackages="$pkgname-pyc"
+source="https://salsa.debian.org/reproducible-builds/reprotest/-/archive/$pkgver/reprotest-$pkgver.tar.gz"
+options="!check" # missing disorderfs
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
+
sha512sums="
-145000858c2b7b57e9929486475df73e0a4e8a5aa095682a3ee26aa5d8945350cd1d99876c91f2f470f5d16ebbe8b6e281108106210ef248d0be29d237a28f3e reprotest-0.7.18.tar.gz
+5dfbaaffeaf40c56355a61509590c134921e6697e05c25b1436239f42a522ea17c34076600d3ff69b5eae4b6b9578d4e2b79bb5e88e65d2f1e4641adbb842e79 reprotest-0.7.27.tar.gz
"
diff --git a/testing/reptyr/APKBUILD b/testing/reptyr/APKBUILD
deleted file mode 100644
index e3060928cb8..00000000000
--- a/testing/reptyr/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributor: André Klitzing <aklitzing@gmail.com>
-# Maintainer: André Klitzing <aklitzing@gmail.com>
-pkgname=reptyr
-pkgver=0.8.0
-pkgrel=0
-pkgdesc="Reparent a running program to a new terminal"
-url="https://github.com/nelhage/reptyr"
-arch="x86 x86_64 armhf armv7"
-license="MIT"
-makedepends="linux-headers bash-completion"
-subpackages="$pkgname-doc $pkgname-bash-completion"
-source="https://github.com/nelhage/reptyr/archive/reptyr-$pkgver.tar.gz"
-builddir="$srcdir/"reptyr-reptyr-$pkgver
-
-build() {
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="880d899a2b6df3c33909dc70ce0a58f413b2e2eec2e212abc709348345d48294cf2e39f5891ab4b1fa24e69b54effe99c1b8ab03b448bfd7097e20498e7e85dc reptyr-0.8.0.tar.gz"
diff --git a/testing/reredirect/APKBUILD b/testing/reredirect/APKBUILD
new file mode 100644
index 00000000000..89b6223e8aa
--- /dev/null
+++ b/testing/reredirect/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=reredirect
+pkgver=0.3
+pkgrel=0
+pkgdesc="Tool to dynamicly redirect outputs of a running process"
+url="https://github.com/jerome-pouiller/reredirect/"
+arch="all !aarch64 !s390x !ppc64le !riscv64" # "unsupported"
+license="MIT"
+makedepends="linux-headers"
+subpackages="$pkgname-doc"
+source="https://github.com/jerome-pouiller/reredirect/archive/refs/tags/v$pkgver/reredirect-$pkgver.tar.gz
+ $pkgname-ptrace-request.patch::https://github.com/jerome-pouiller/reredirect/commit/db3055d1ebc43852d1b5847d12e83f359d3f499f.patch
+ "
+options="!check" # requires root and ptracing another process
+
+build() {
+ make
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+5164d0f347693f13047f76e923ceb7f7f73f746514baff3ddcac2546f6f3f981f01d3f9326b439b98ce503036662d3157c57c628a3b4a576db94a5a22333b531 reredirect-0.3.tar.gz
+8b324096c597c0e6dfc69991ea526e3fbfca7078ec3266ea8dca1148365457b4e9f49241912f8a61ee92f7a6e0e8ea21cbfecffc32a14fb206aa4221b216f9f5 reredirect-ptrace-request.patch
+"
diff --git a/testing/responder/APKBUILD b/testing/responder/APKBUILD
new file mode 100644
index 00000000000..8756942c617
--- /dev/null
+++ b/testing/responder/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Maxim Karasev <begs@disroot.org>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=responder
+pkgver=3.1.4.0
+pkgrel=0
+pkgdesc="IPv6/IPv4 LLMNR/NBT-NS/mDNS Poisoner and NTLMv1/2 relay"
+url="https://github.com/lgandx/Responder"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="python3 py3-netifaces"
+source="https://github.com/lgandx/Responder/archive/refs/tags/v$pkgver/Responder-$pkgver.tar.gz
+ fhs.patch"
+builddir="$srcdir/Responder-$pkgver"
+options="!check" # no tests
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/responder \
+ "$pkgdir"/var/log/responder \
+ "$pkgdir"/var/lib/responder \
+ "$pkgdir"/etc/responder \
+ "$pkgdir"/usr/bin
+
+ find -type d -mindepth 1 | xargs cp -rt "$pkgdir"/usr/share/responder
+ cp *.py "$pkgdir"/usr/share/responder
+ install -Dm644 Responder.conf "$pkgdir"/etc/responder/responder.conf
+ ln -s /usr/share/responder/Responder.py "$pkgdir"/usr/bin/responder
+}
+
+sha512sums="
+1a6b5fb3409015e1d23f5f8afd2b4963ab4cedb4b2697f7976df3570c021b8a22bc861a364c6df5467ccf785cebefb9039e95c7ee7ec0392753e8384fe6ef711 Responder-3.1.4.0.tar.gz
+540c4873a72dd554dae2b75949c86e6c354a6ace69b84e725c60ddddf6ad4448d380f8e3fbf64945e306fb49dad80d6772b5f40a0db48323ae4fc654056a9b58 fhs.patch
+"
diff --git a/testing/responder/fhs.patch b/testing/responder/fhs.patch
new file mode 100644
index 00000000000..d976b509063
--- /dev/null
+++ b/testing/responder/fhs.patch
@@ -0,0 +1,69 @@
+From 95651f8bdabe6dd3df5c06b65a4b3efa4166f670 Mon Sep 17 00:00:00 2001
+From: Maxim Karasev <begs@disroot.org>
+Date: Fri, 17 Jun 2022 00:37:48 +0300
+Subject: [PATCH] Use FHS directories
+
+Responder doesn't fit in Unix environment nicely by default.
+---
+ Responder.conf | 10 +++++-----
+ settings.py | 6 +++---
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/Responder.conf b/Responder.conf
+index 5c1b94e..5d6dbcb 100755
+--- a/Responder.conf
++++ b/Responder.conf
+@@ -22,19 +22,19 @@ Challenge = Random
+
+ ; SQLite Database file
+ ; Delete this file to re-capture previously captured hashes
+-Database = Responder.db
++Database = responder.db
+
+ ; Default log file
+-SessionLog = Responder-Session.log
++SessionLog = responder-session.log
+
+ ; Poisoners log
+-PoisonersLog = Poisoners-Session.log
++PoisonersLog = poisoners-session.log
+
+ ; Analyze mode log
+-AnalyzeLog = Analyzer-Session.log
++AnalyzeLog = analyzer-session.log
+
+ ; Dump Responder Config log:
+-ResponderConfigDump = Config-Responder.log
++ResponderConfigDump = config-responder.log
+
+ ; Specific IP Addresses to respond to (default = All)
+ ; Example: RespondTo = 10.20.1.100-150, 10.20.3.10
+diff --git a/settings.py b/settings.py
+index 095f5b5..fe17b00 100755
+--- a/settings.py
++++ b/settings.py
+@@ -82,7 +82,7 @@ class Settings:
+ self.PY2OR3 = "PY2"
+ # Config parsing
+ config = ConfigParser.ConfigParser()
+- config.read(os.path.join(self.ResponderPATH, 'Responder.conf'))
++ config.read(os.path.join('/etc/responder', 'responder.conf'))
+
+ # Servers
+ self.HTTP_On_Off = self.toBool(config.get('Responder Core', 'HTTP'))
+@@ -101,10 +101,10 @@ class Settings:
+ self.Krb_On_Off = self.toBool(config.get('Responder Core', 'Kerberos'))
+
+ # Db File
+- self.DatabaseFile = os.path.join(self.ResponderPATH, config.get('Responder Core', 'Database'))
++ self.DatabaseFile = os.path.join('/var/lib/responder', config.get('Responder Core', 'Database'))
+
+ # Log Files
+- self.LogDir = os.path.join(self.ResponderPATH, 'logs')
++ self.LogDir = '/var/log/responder'
+
+ if not os.path.exists(self.LogDir):
+ os.mkdir(self.LogDir)
+--
+2.36.1
+
diff --git a/testing/restart-services/APKBUILD b/testing/restart-services/APKBUILD
index d22d89468f6..5da6486f573 100644
--- a/testing/restart-services/APKBUILD
+++ b/testing/restart-services/APKBUILD
@@ -32,7 +32,6 @@ package() {
# SV_ALWAYS+=( myservice )
EOF
-
}
sha512sums="
diff --git a/testing/restic.mk/APKBUILD b/testing/restic.mk/APKBUILD
new file mode 100644
index 00000000000..6a09f73f075
--- /dev/null
+++ b/testing/restic.mk/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=restic.mk
+pkgver=0.4.0
+pkgrel=0
+pkgdesc="Simplest restic backup automation tool"
+url="https://github.com/kmmndr/restic.mk"
+arch="noarch !armhf" # limited by restic
+license="GPL-3.0-or-later"
+depends="
+ coreutils
+ jq
+ make
+ restic
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/kmmndr/restic.mk/archive/v$pkgver.tar.gz"
+options="!check" # No test suite
+
+package() {
+ PREFIX="$pkgdir/usr" make install
+}
+
+sha512sums="
+a8d25f412415da418822129cfe97eb1f35837ae63f3c96b4d9833d5dfbe3e9ada731fe944fe279f6f86c86fba2cc0b29cab1e4d508f57105e75dd565ee2470ed restic.mk-0.4.0.tar.gz
+"
diff --git a/testing/restinio/APKBUILD b/testing/restinio/APKBUILD
new file mode 100644
index 00000000000..33533e4999d
--- /dev/null
+++ b/testing/restinio/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=restinio
+pkgver=0.6.17
+pkgrel=5
+pkgdesc="Header-only C++14 library that gives you an embedded HTTP/Websocket server"
+url="https://stiffstream.com/en/products/restinio.html"
+arch="noarch"
+license=" BSD-3-Clause"
+makedepends="cmake openssl-dev zlib-dev pcre2-dev boost-dev fmt-dev samurai"
+subpackages="$pkgname-dev"
+source="https://github.com/Stiffstream/restinio/releases/download/v.$pkgver/restinio-$pkgver.tar.bz2
+ lfs64.patch
+ "
+options="!check" # cant get checks to work
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja -S dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ -DRESTINIO_FIND_DEPS=ON \
+ -DRESTINIO_TEST=OFF \
+ -DRESTINIO_SAMPLE=OFF \
+ -DRESTINIO_INSTALL_SAMPLES=OFF \
+ -DRESTINIO_BENCH=OFF \
+ -DRESTINIO_INSTALL_BENCHES=OFF \
+ -DRESTINIO_ALLOW_SOBJECTIZER=OFF \
+ -DRESTINIO_USE_EXTERNAL_HTTP_PARSER=ON \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+be6f2ccfbeb9840391adfd2e8416b5a0511ac1e47b79038e9296ec5ec9a75c708ece23d9204f5dc0e753f62b950b8410262af2504812f19bbbefcc5cc057b5a1 restinio-0.6.17.tar.bz2
+a26b26275c76d720d2502b20d431e7990b42c7f3cae94b4a17521718ee9c9abf0b625e19286d12c53f61a058fd83129428e8a90a0f6c8ab8ad5a142b7ae4fb47 lfs64.patch
+"
diff --git a/testing/restinio/lfs64.patch b/testing/restinio/lfs64.patch
new file mode 100644
index 00000000000..e0689b8cd9e
--- /dev/null
+++ b/testing/restinio/lfs64.patch
@@ -0,0 +1,20 @@
+diff --git a/dev/restinio/sendfile_defs_posix.hpp b/dev/restinio/sendfile_defs_posix.hpp
+index e531a17..f954d29 100644
+--- a/dev/restinio/sendfile_defs_posix.hpp
++++ b/dev/restinio/sendfile_defs_posix.hpp
+@@ -75,15 +75,9 @@ get_file_meta( file_descriptor_t fd )
+ throw exception_t{ "invalid file descriptor" };
+ }
+
+-#if defined( RESTINIO_FREEBSD_TARGET ) || defined( RESTINIO_MACOS_TARGET )
+ struct stat file_stat;
+
+ const auto fstat_rc = ::fstat( fd, &file_stat );
+-#else
+- struct stat64 file_stat;
+-
+- const auto fstat_rc = fstat64( fd, &file_stat );
+-#endif
+
+ if( 0 != fstat_rc )
+ {
diff --git a/testing/retroforth/APKBUILD b/testing/retroforth/APKBUILD
deleted file mode 100644
index b2f1825584e..00000000000
--- a/testing/retroforth/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Siva Mahadevan <me@svmhdvn.name>
-# Maintainer: Siva Mahadevan <me@svmhdvn.name>
-pkgname=retroforth
-pkgver=2021.7
-pkgrel=0
-pkgdesc="clean, elegant, and pragmatic dialect of Forth"
-url="https://forthworks.com/retro"
-arch="all"
-license="ISC"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://forthworks.com/retro/r/RETRO12-$pkgver.tar.gz"
-builddir="$srcdir/RETRO12-$pkgver"
-
-build() {
- make
-}
-
-check() {
- make test
-}
-
-package() {
- # Remove when upstream fixes the 'install-manpages' target
- local mandir="$pkgdir"/usr/share/man/man1
- install -m 755 -d "$mandir"
- make DESTDIR="$pkgdir" PREFIX=/usr MANDIR="$mandir" install
-}
-
-sha512sums="
-0d235ea0f7f75f2fa8ab3641ca96179c60407121ba415bb253909dabc48f63948a06ac44c904faa1a9b0fd0598b3b6c28572baef8dba4678175a2246c638c595 retroforth-2021.7.tar.gz
-"
diff --git a/testing/revprog/APKBUILD b/testing/revprog/APKBUILD
deleted file mode 100644
index 47bc90c92b0..00000000000
--- a/testing/revprog/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: TBK <alpine@jjtc.eu>
-# Maintainer: TBK <alpine@jjtc.eu>
-pkgname=rvlprog
-pkgver=0.91
-pkgrel=0
-pkgdesc="CLI tool for REVELPROG-IS programmer"
-url="https://gitlab.com/spectrum70/rvlprog"
-arch="all"
-license="GPL-3.0-or-later"
-options="!check" # no test suite
-makedepends="libusb-dev"
-source="https://gitlab.com/spectrum70/rvlprog/-/archive/$pkgver/rvlprog-$pkgver.tar.gz"
-
-build() {
- export LIBS="-lusb-1.0"
- ./configure --prefix=/usr
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="cef54e0980345a4a814cbee0dd6a49b10fcf6d9a5660344abba3d2bf79188f5c20298a2befe3fe8ff99df55f01da33a233ca4d17898ce618dd0e456fa51c87db rvlprog-0.91.tar.gz"
diff --git a/testing/rezolus/APKBUILD b/testing/rezolus/APKBUILD
index ebfce96b9a3..7ce19b10be9 100644
--- a/testing/rezolus/APKBUILD
+++ b/testing/rezolus/APKBUILD
@@ -2,35 +2,42 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=rezolus
pkgver=2.11.1
-pkgrel=0
+pkgrel=3
pkgdesc="Systems performance telemetry"
url="https://github.com/twitter/rezolus/"
arch="x86_64 x86 armv7 armhf aarch64 ppc64le" # limited by rust/cargo
license="Apache-2.0"
-makedepends="cargo openssl-dev"
+makedepends="cargo openssl-dev cargo-auditable"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc $pkgname-doc"
source="https://github.com/twitter/rezolus/archive/v$pkgver/rezolus-$pkgver.tar.gz
minimize-size.patch
remove-ntp-sampler.patch
remove-http-sampler.patch
+ openssl.patch
config.toml
$pkgname.initd
$pkgname.confd
$pkgname.logrotate
"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --frozen
}
check() {
- cargo test --release --locked
+ cargo test --frozen
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
+ install -Dm755 target/release/rezolus -t "$pkgdir"/usr/bin/
install -Dm 644 "$srcdir"/config.toml "$pkgdir"/etc/rezolus.toml
@@ -41,11 +48,14 @@ package() {
install -Dm 644 configs/example.toml "$pkgdir"/usr/share/doc/$pkgname/full-config.toml
}
-sha512sums="8ffe293cb197e0b2a6f5ba4bf7bdf7f77528f30785e64e15774241279309e881a6898b8f1bae7b6bfdc2f7dcd3e54793b249673aa0e25bcdbdb50f100fa3864d rezolus-2.11.1.tar.gz
+sha512sums="
+8ffe293cb197e0b2a6f5ba4bf7bdf7f77528f30785e64e15774241279309e881a6898b8f1bae7b6bfdc2f7dcd3e54793b249673aa0e25bcdbdb50f100fa3864d rezolus-2.11.1.tar.gz
952e03a6b41fc57727099c9a913632f967f7355d89cf0553c36ea9f959bcc934bcc1daba6d8dd22e9a40b95e6a1ca62f41f61f724b3399b9b78022565ea015e6 minimize-size.patch
0dca295df00aff5b1f951b204dbddfe29f6ce353833076bd9ea676ad1f5650a24d6d6a46fb69e366c2ba899bb3c53163a99aa49c356aaab5f6c57a5f0f28143f remove-ntp-sampler.patch
bfc805dd2cf268549d8d9f3c98dd6a66152f6088eabcdcee5afabaa0dc03743b1dd936f97f6d6b36f8da081cd8915191156ca0b20ba2d92c3b6742cfd02cdfb1 remove-http-sampler.patch
+27cfa9a21fffaf81d75619a10fb30c3bdef72b7b1041932f7919f15153fd2a04a2d133f37a3815f28391c1f5440710e6b7022cc41f896ffa66b441dc42383186 openssl.patch
35b883ab2c01a00019064cb7cb9ca28ddf469175f46e8cba15b62eef5519979fd63d2b180a50fad896de07ebeb6172f76c7d61d4e8ae2ce72c06b34d7462ac38 config.toml
17ba0039a84287a2183f398756cac0cb43f0de2ac95911fa41fcd5bb7b3f411aa8a174632ffa4a519fabd4edd25d69fa2ffa52711fcf0c32c0e1e55eb4828e7b rezolus.initd
cbc3600b6a01142acb0f4f47a07ee1ad94222f3bd4106e2e29d7cb5edf23bfc54b40fd5d0ab616d0a22a9bca7a10dd1832f23589daeee195a628d25f0a0d21d3 rezolus.confd
-248f447686af4b69ebfc1558029babc2aab83cdf50b0cc22c1306549c37f7448a5ed4ebd0cc216f17701b93ea37655e856360e428c7c84eec5d2a64ca3fe178e rezolus.logrotate"
+248f447686af4b69ebfc1558029babc2aab83cdf50b0cc22c1306549c37f7448a5ed4ebd0cc216f17701b93ea37655e856360e428c7c84eec5d2a64ca3fe178e rezolus.logrotate
+"
diff --git a/testing/rezolus/openssl.patch b/testing/rezolus/openssl.patch
new file mode 100644
index 00000000000..35a6cfd27fc
--- /dev/null
+++ b/testing/rezolus/openssl.patch
@@ -0,0 +1,60 @@
+resolves a build failure that can't find openssl headers since the prior
+openssl crate version are too old.
+diff --git a/Cargo.lock b/Cargo.lock
+index 36f38fb..678d575 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,5 +1,7 @@
+ # This file is automatically @generated by Cargo.
+ # It is not intended for manual editing.
++version = 3
++
+ [[package]]
+ name = "addr2line"
+ version = "0.14.1"
+@@ -1067,18 +1069,30 @@ checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
+
+ [[package]]
+ name = "openssl"
+-version = "0.10.32"
++version = "0.10.42"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "038d43985d1ddca7a9900630d8cd031b56e4794eecc2e9ea39dd17aa04399a70"
++checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13"
+ dependencies = [
+ "bitflags",
+ "cfg-if 1.0.0",
+ "foreign-types",
+- "lazy_static",
+ "libc",
++ "once_cell",
++ "openssl-macros",
+ "openssl-sys",
+ ]
+
++[[package]]
++name = "openssl-macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
+ [[package]]
+ name = "openssl-probe"
+ version = "0.1.2"
+@@ -1087,9 +1101,9 @@ checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+
+ [[package]]
+ name = "openssl-sys"
+-version = "0.9.60"
++version = "0.9.77"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "921fc71883267538946025deffb622905ecad223c28efbfdef9bb59a0175f3e6"
++checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a"
+ dependencies = [
+ "autocfg",
+ "cc",
diff --git a/testing/rgxg/APKBUILD b/testing/rgxg/APKBUILD
index 0b97ed0351e..d4e41548323 100644
--- a/testing/rgxg/APKBUILD
+++ b/testing/rgxg/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Hauke Loeffler <alpine@hauke-loeffler.de>
pkgname=rgxg
pkgver=0.1.2
-pkgrel=0
+pkgrel=2
pkgdesc="rgxg (ReGular eXpression Generator) is a C library and a command-line tool to generate (extended) regular expressions."
url="https://rgxg.github.io/"
arch="all"
diff --git a/testing/rhasspy-nlu/APKBUILD b/testing/rhasspy-nlu/APKBUILD
new file mode 100644
index 00000000000..b33df8b794b
--- /dev/null
+++ b/testing/rhasspy-nlu/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=rhasspy-nlu
+pkgver=0.4.0
+pkgrel=3
+pkgdesc="Natural language understanding library for Rhasspy"
+url="https://github.com/rhasspy/rhasspy-nlu"
+arch="noarch"
+license="MIT"
+depends="py3-grapheme py3-numpy py3-networkx py3-num2words"
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="https://github.com/rhasspy/rhasspy-nlu/archive/refs/tags/v$pkgver/rhasspy-nlu-$pkgver.tar.gz"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+ rm -rf "$pkgdir"/usr/lib/python*/site-packages/tests
+}
+
+sha512sums="
+fbb4ab21d8b11a1d3c5c26445795d28567eabd532bc332446b75236fc0856abf6c1ede423620b717d2ff8294b69b9265e3ea53a5cb397df2f4e959fa9805a47d rhasspy-nlu-0.4.0.tar.gz
+"
diff --git a/testing/ri-li/APKBUILD b/testing/ri-li/APKBUILD
index 6a176e0e993..6210ea5f1eb 100644
--- a/testing/ri-li/APKBUILD
+++ b/testing/ri-li/APKBUILD
@@ -2,14 +2,15 @@
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=ri-li
pkgver=2.0.1
-pkgrel=0
+pkgrel=1
pkgdesc="Drive a toy wood engine in many levels and collect all the coaches to win"
url="https://ri-li.sourceforge.net"
arch="x86 x86_64"
license="GPL-3.0-or-later"
-makedepends="sdl_mixer-dev"
+makedepends="sdl12-compat-dev sdl_mixer-dev"
source="$pkgname-$pkgver.tar.bz2::https://download.sourceforge.net/sourceforge/ri-li/Ri-li-$pkgver.tar.bz2
iostream.patch
+ pointers.patch
ri-li.desktop
"
options="!check" # No test suite
@@ -27,6 +28,9 @@ package() {
install -Dm 644 "$builddir"/data/Ri-li-icon-48x48.png "$pkgdir"/usr/share/pixmaps/ri-li.png
}
-sha512sums="6d56c00dae90b50bca81ca739c628335b4ad7642c19a3b3c28630ddb91bd847ca6d383cace66ef436a1dda7497c9d3939de2626071bae40d423b2444fed97863 ri-li-2.0.1.tar.bz2
+sha512sums="
+6d56c00dae90b50bca81ca739c628335b4ad7642c19a3b3c28630ddb91bd847ca6d383cace66ef436a1dda7497c9d3939de2626071bae40d423b2444fed97863 ri-li-2.0.1.tar.bz2
49fbf3a30f0ae6c47d8fcc45d72891ac199187f7615840f6eb994df998440980d7838beceec5225325c2e971c97dbc28a02ad47db03d144bb9cd90b18d4422e8 iostream.patch
-cba2c93be02ad90ffda4fd637df347f3a88d43548c61d60bf06050cac5e6d9d379b6232a86925049903dbf7eabf9355977e17c568042341e1091af358932393f ri-li.desktop"
+e2e820cb5d09cc3b9a0318acbd24755d09db259ce52da8b833d7a6957f92a877e4a74b6393b053d5d5e6863a60352a5ac0a915bc8203759c5a7d69346320e6ac pointers.patch
+cba2c93be02ad90ffda4fd637df347f3a88d43548c61d60bf06050cac5e6d9d379b6232a86925049903dbf7eabf9355977e17c568042341e1091af358932393f ri-li.desktop
+"
diff --git a/testing/ri-li/pointers.patch b/testing/ri-li/pointers.patch
new file mode 100644
index 00000000000..f39b4858d7a
--- /dev/null
+++ b/testing/ri-li/pointers.patch
@@ -0,0 +1,35 @@
+diff --git a/src/sprite.cc b/src/sprite.cc
+index 926370d..3521fe6 100644
+--- a/src/sprite.cc
++++ b/src/sprite.cc
+@@ -354,7 +354,7 @@ bool Sprite::Load(unsigned char *Buf,long &P)
+ // Fabrique la surface
+ Image[i]=SDL_CreateRGBSurface((Dim[i].bpp-3)*SDL_SRCALPHA,Dim[i].L,Dim[i].H,Dim[i].bpp*8,
+ 0xff,0xff00,0xff0000,0xff000000*(Dim[i].bpp-3));
+- if(Image[i]<=NULL) {
++ if(Image[i]==NULL) {
+ cerr <<"Impossible de créer une Surface SDL!"<<endl;
+ return false;
+ }
+@@ -488,7 +488,7 @@ bool Sprite::Nouveau(int Lx,int Ly)
+ // Fabrique la surface
+ Image[0]=SDL_CreateRGBSurface((Dim[0].bpp-3)*SDL_SRCALPHA,Dim[0].L,Dim[0].H,Dim[0].bpp*8,
+ 0xff,0xff00,0xff0000,0xff000000*(Dim[0].bpp-3));
+- if(Image[0]<=NULL) {
++ if(Image[0]==NULL) {
+ cerr <<"Impossible de créer une Surface SDL!"<<endl;
+ return false;
+ }
+diff --git a/src/tableau.cc b/src/tableau.cc
+index ddbc096..095bf0a 100644
+--- a/src/tableau.cc
++++ b/src/tableau.cc
+@@ -87,7 +87,7 @@ bool Tableau::Save(void)
+
+ // Alloue la mémoire
+ Buf=new unsigned char [sizeof(s_Tableau)*N+sizeof(int)+1];
+- if(Buf<=0) return false;
++ if(Buf-=0) return false;
+
+ // Charge les tableaux
+ Buf[0]=N/256;
diff --git a/testing/riemann-cli/APKBUILD b/testing/riemann-cli/APKBUILD
index 656ad04d3d1..8b4e1ae1828 100644
--- a/testing/riemann-cli/APKBUILD
+++ b/testing/riemann-cli/APKBUILD
@@ -4,25 +4,27 @@ pkgname=riemann-cli
_projname=rust-riemann_client
# CAUTION: Regenerate Cargo.lock when upgrading to a new version.
pkgver=0.8.0
-pkgrel=0
+pkgrel=2
pkgdesc="CLI client for Riemann written in Rust"
url="https://github.com/borntyping/rust-riemann_client"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
license="MIT"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
# TODO: Convince upstream to include Cargo.lock in repository.
source="https://github.com/borntyping/rust-riemann_client/archive/v$pkgver/$pkgname-$pkgver.tar.gz
+ no-unstable.patch
Cargo.lock
"
builddir="$srcdir/$_projname-$pkgver"
+
prepare() {
default_prepare
cp "$srcdir"/Cargo.lock "$builddir"/
}
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
check() {
@@ -30,9 +32,12 @@ check() {
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
+ cargo auditable install --locked --path . --root="$pkgdir/usr"
rm "$pkgdir"/usr/.crates*
}
-sha512sums="b2cb8eb8b9fd2bfa21760390d26daaa9e839c210d83dbf1cceb3f2032a7c09b8e213c27592afa8943fbb3d979321a12264c0051a6fbd584cdeee234f1176b73f riemann-cli-0.8.0.tar.gz
-f11d283c455b879caa28f60dc1837826bd9a6e6ea58035199fed143e3bdf003ba3149e553e27a6572eafcef4694694def3b0f823d8f5fee8efa40d9060f7912c Cargo.lock"
+sha512sums="
+b2cb8eb8b9fd2bfa21760390d26daaa9e839c210d83dbf1cceb3f2032a7c09b8e213c27592afa8943fbb3d979321a12264c0051a6fbd584cdeee234f1176b73f riemann-cli-0.8.0.tar.gz
+59683264f1fe6aa5e015b229a8bf1f2647d5290b9a605365712894dc5f01aa1e29d628c24b4e98dc355a887504d243ad70d7accf06ee648f5284f14dde56f628 no-unstable.patch
+f11d283c455b879caa28f60dc1837826bd9a6e6ea58035199fed143e3bdf003ba3149e553e27a6572eafcef4694694def3b0f823d8f5fee8efa40d9060f7912c Cargo.lock
+"
diff --git a/testing/riemann-cli/no-unstable.patch b/testing/riemann-cli/no-unstable.patch
new file mode 100644
index 00000000000..89724ce6f40
--- /dev/null
+++ b/testing/riemann-cli/no-unstable.patch
@@ -0,0 +1,13 @@
+this is a nightly attribute now apparently
+diff --git a/src/proto/mod_pb.rs b/src/proto/mod_pb.rs
+index 4786797..8cb5695 100644
+--- a/src/proto/mod_pb.rs
++++ b/src/proto/mod_pb.rs
+@@ -6,7 +6,6 @@
+ #![allow(clippy::all)]
+
+ #![allow(unused_attributes)]
+-#![rustfmt::skip]
+
+ #![allow(box_pointers)]
+ #![allow(dead_code)]
diff --git a/testing/rime-plum/APKBUILD b/testing/rime-plum/APKBUILD
new file mode 100644
index 00000000000..d70ebc4dfb3
--- /dev/null
+++ b/testing/rime-plum/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: mio <miyopan@e.email>
+# Maintainer: mio <miyopan@e.email>
+pkgname=rime-plum
+pkgver=0_git20230207
+pkgrel=0
+_gitrev=6f502ff6fa87789847fa18200415318e705bffa4
+pkgdesc="Rime configuration manager and input schemas"
+url="https://github.com/rime/plum"
+license="LGPL-3.0-or-later"
+arch="noarch"
+depends="
+ librime
+ opencc
+ "
+makedepends="
+ bash
+ git
+ librime-tools
+ "
+subpackages="
+ $pkgname-data
+ $pkgname-tools
+ "
+source="$pkgname-$_gitrev.tar.gz::https://github.com/rime/plum/archive/$_gitrev.tar.gz"
+options="!check" # No tests
+builddir="$srcdir"/plum-"$_gitrev"
+
+build() {
+ make preset-bin
+}
+
+package() {
+ depends="
+ $pkgname-data=$pkgver-r$pkgrel
+ $pkgname-tools=$pkgver-r$pkgrel
+ "
+ DESTDIR="$pkgdir" make install
+ install -Dm 755 "$builddir"/rime-install "$pkgdir"/usr/bin/rime-install
+}
+
+data() {
+ pkgdesc="$pkgdesc (input schemas)"
+ amove usr/share/rime-data
+}
+
+tools() {
+ pkgdesc="$pkgdesc (configuration tools)"
+ depends="bash git"
+ amove usr/bin/rime-install
+}
+
+sha512sums="
+682406ec3ea1f4f447f3f1a5283d820b45c909a47cb87c7be87b4c26d5524571210990c0942db02bb3ba83fc6cda36d77dad7a3ce9787a1f6c584c18f9712caf rime-plum-6f502ff6fa87789847fa18200415318e705bffa4.tar.gz
+"
diff --git a/testing/rinetd/APKBUILD b/testing/rinetd/APKBUILD
new file mode 100644
index 00000000000..3bfc85ac244
--- /dev/null
+++ b/testing/rinetd/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Aaron Fischer <mail@aaron-fischer.net>
+# Maintainer: Aaron Fischer <mail@aaron-fischer.net>
+pkgname=rinetd
+pkgver=0.73
+pkgrel=0
+pkgdesc="TCP/UDP port redirector"
+url="https://github.com/samhocevar/rinetd"
+arch="all"
+license="GPL-2.0-only"
+makedepends="
+ autoconf
+ automake
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-openrc
+ "
+source="https://github.com/samhocevar/rinetd/releases/download/v$pkgver/rinetd-$pkgver.tar.bz2
+ $pkgname.initd
+ "
+
+build() {
+ ./bootstrap
+ ./configure \
+ --prefix=/usr \
+ --disable-dependency-tracking \
+ --enable-silent-rules
+ make
+}
+
+check() {
+ # There are no tests at the moment, but the makefile includes an empty test
+ # target, so we include it here to be prepared when there are tests to execute.
+ make test
+}
+
+package() {
+ # Binary
+ install -Dm755 "$pkgname" "$pkgdir/usr/sbin/$pkgname"
+
+ # Configuration
+ install -Dm644 "$pkgname.conf" "$pkgdir/etc/$pkgname.conf"
+ install -Dm755 "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname"
+
+ # Documentation
+ install -Dm644 "$pkgname.8" "$pkgdir/usr/share/man/man8/$pkgname.8"
+ install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
+ install -Dm644 index.html "$pkgdir/usr/share/doc/$pkgname/index.html"
+ install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
+
+sha512sums="
+e5d1c7e5826a75c520453032f6e4651700860505dfced625698fc036249b9f585a894e1fee905321878b2d2a265c843f5a746090311929518594263b33b64ed8 rinetd-0.73.tar.bz2
+3243341cec80d67f972961efdfead0ada2de0ea5f9c980040e048d3fef5a95eefd0954321887a460ad45e22db8f70f584d827a9baa8e5d09fcb424fd51fb0949 rinetd.initd
+"
diff --git a/testing/rinetd/rinetd.initd b/testing/rinetd/rinetd.initd
new file mode 100644
index 00000000000..52895e1f036
--- /dev/null
+++ b/testing/rinetd/rinetd.initd
@@ -0,0 +1,13 @@
+#!/sbin/openrc-run
+
+description="TCP/UDP port redirector"
+cfgfile=${cfgfile:-/etc/rinetd.conf}
+command=${command:-/usr/sbin/rinetd}
+command_args="-f -c $cfgfile"
+required_files="$cfgfile"
+
+depend() {
+ need net
+ use dns
+}
+
diff --git a/testing/rio/APKBUILD b/testing/rio/APKBUILD
new file mode 100644
index 00000000000..8d911d521dc
--- /dev/null
+++ b/testing/rio/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
+# Maintainer: Nicolas Lorin <androw95220@gmail.com>
+pkgname=rio
+pkgver=0.0.36
+pkgrel=0
+pkgdesc="A hardware-accelerated GPU terminal emulator powered by WebGPU, focusing to run in desktops and browsers."
+url="https://raphamorim.io/rio"
+arch="all !s390x"
+license="MIT"
+# !check: no tests available
+# net: required to fetch rust dependencies
+options="!check net"
+depends="$pkgname-terminfo"
+makedepends="cargo cargo-auditable cmake expat-dev freetype-dev fontconfig-dev libxcb-dev ncurses python3"
+subpackages="$pkgname-terminfo"
+source="$pkgname-$pkgver.tar.gz::https://github.com/raphamorim/rio/archive/refs/tags/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen --no-default-features --features=x11,wayland
+ tic -e rio -x -o terminfo misc/rio.terminfo
+}
+
+package() {
+ install -Dm755 target/release/rio "$pkgdir"/usr/bin/rio
+ install -Dm644 terminfo/r/rio "$pkgdir"/usr/share/terminfo/r/rio
+
+ # Install desktop files
+ install -Dm644 misc/rio.desktop -t "$pkgdir"/usr/share/applications
+ install -Dm644 misc/logo.svg \
+ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/rio.svg
+}
+
+terminfo() {
+ amove usr/share/terminfo
+}
+
+sha512sums="
+a1657d65c7a0c24d8dc481347a22981ef7fd7410613ae47e3ad740f93993047fad2365f7fbb209bd1abade76aa3924bcde193755b0249e7f554ca1490b094600 rio-0.0.36.tar.gz
+"
diff --git a/testing/ripasso-cursive/APKBUILD b/testing/ripasso-cursive/APKBUILD
new file mode 100644
index 00000000000..1998025ac95
--- /dev/null
+++ b/testing/ripasso-cursive/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Eirik Furuseth <alpine@heplaphon.com>
+pkgname=ripasso-cursive
+_pkgrelname=ripasso
+pkgver=0.6.5
+pkgrel=0
+pkgdesc="A password manager that uses the file format of the standard unix password manager 'pass', implemented in rust."
+url="https://github.com/cortex/ripasso/"
+arch="all !s390x !riscv64 !armhf"
+license="GPL-3.0-or-later"
+makedepends="
+ cargo
+ cargo-auditable
+ clang-dev
+ gpgme-dev
+ libgpg-error-dev
+ libxcb-dev
+ nettle-dev
+ openssl-dev>3
+ "
+source="https://github.com/cortex/ripasso/archive/release-$pkgver.tar.gz"
+builddir="$srcdir/$_pkgrelname-release-$pkgver"
+options="net"
+
+
+prepare() {
+ default_prepare
+ cargo update
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build -p ripasso-cursive --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm0755 target/release/ripasso-cursive \
+ -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+1b6990f96f2e6000530fc5cecdef513c5deb367146d886d41aacdd412c44de8754e6711df6f5535feefdacb6aad68520d6a55868d6f0ba5928412739dcf0bb3a release-0.6.5.tar.gz
+"
diff --git a/testing/ripdrag/APKBUILD b/testing/ripdrag/APKBUILD
new file mode 100644
index 00000000000..2de2e5f9d5a
--- /dev/null
+++ b/testing/ripdrag/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=ripdrag
+pkgver=0.4.7
+pkgrel=0
+pkgdesc="Drag and Drop utilty written in Rust and GTK4"
+url="https://github.com/nik012003/ripdrag"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ cargo
+ cargo-auditable
+ gtk4.0-dev
+"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/nik012003/ripdrag/archive/refs/tags/v$pkgver.tar.gz
+"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install -Dm 755 target/release/ripdrag "$pkgdir"/usr/bin/ripdrag
+}
+
+sha512sums="
+70dd2edcd498798aa9095516992e7cc8f3b3df56ae504bd116e54579a7dbc825e4b3194babe73e5d359902cf993b39379c82ba56645a490ee9584978955d0756 ripdrag-0.4.7.tar.gz
+"
diff --git a/testing/river/APKBUILD b/testing/river/APKBUILD
index 9d27de37886..67246ef4612 100644
--- a/testing/river/APKBUILD
+++ b/testing/river/APKBUILD
@@ -1,27 +1,41 @@
# Contributor: Anjandev Momi <anjan@momi.ca>
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=river
-pkgver=0.1.0
-pkgrel=2
+pkgver=0.3.0
+pkgrel=0
pkgdesc="Dynamic Tiling Wayland Compositor"
-url="https://github.com/riverwm/river"
-arch="x86_64 aarch64" # other arches blocked by zig
-license="GPL-3.0-or-later"
-makedepends="libevdev-dev libxkbcommon-dev pixman-dev scdoc wayland-dev
- wayland-protocols wlroots-dev zig
+url="https://codeberg.org/river/river"
+arch="x86_64 aarch64" # limited by zig aport
+license="GPL-3.0-only"
+makedepends="
+ libevdev-dev
+ libxkbcommon-dev
+ pixman-dev
+ scdoc
+ wayland-dev
+ wayland-protocols
+ wlroots-dev
+ zig
"
-depends="seatd"
+depends="xwayland seatd"
subpackages="
+ $pkgname-dev
$pkgname-doc
$pkgname-bash-completion
$pkgname-fish-completion
$pkgname-zsh-completion
"
-source="https://github.com/riverwm/river/releases/download/v$pkgver/river-$pkgver.tar.gz"
+source="https://codeberg.org/river/river/releases/download/v$pkgver/river-$pkgver.tar.gz"
+
+# We may want other than "baseline" for other targets, when enabled by zig
+case "$CARCH" in
+ aarch64|x86_64) cputarget=baseline ;;
+esac
build() {
# This installs it to $builddir/out
- DESTDIR="$builddir/out" zig build -Drelease-safe --prefix /usr install
+ DESTDIR="$builddir/out" zig build -Doptimize=ReleaseSafe -Dpie -Dxwayland --prefix /usr install \
+ ${cputarget:+-Dcpu="$cputarget"}
}
check() {
@@ -38,14 +52,13 @@ package() {
# Install example configuration
install -Dm0644 example/init -t "$pkgdir"/usr/share/doc/river/examples
+}
- # Fix location of fish completion
- mkdir -p "$pkgdir"/usr/share/fish/completions/
- mv "$pkgdir"/usr/share/fish/vendor_completions.d/*.fish \
- "$pkgdir"/usr/share/fish/completions/
- rm -rf "$pkgdir"/usr/share/fish/vendor_completions.d
+dev() {
+ default_dev
+ amove usr/share/river-protocols
}
sha512sums="
-70baed368464a0a05acf6244c54737eb935f1df70280f906a09b23861ba21c9d714e453eaf128d14a19c9d978b2f49c70b1f2fa407e7d0ed47f1246ce13e6d02 river-0.1.0.tar.gz
+d74aabd01781d76f37cc220413850f793f02e78bd966ce67e1c73d5849a9ea308a2619388202b15ee4108ac3c5f19faea91092fbaccb6de65121a3427d3d05e4 river-0.3.0.tar.gz
"
diff --git a/testing/rizin-cutter/APKBUILD b/testing/rizin-cutter/APKBUILD
index f85c033a4a6..ae0e68cb2d4 100644
--- a/testing/rizin-cutter/APKBUILD
+++ b/testing/rizin-cutter/APKBUILD
@@ -1,43 +1,37 @@
# Contributor: Leon Marz <main@lmarz.org>
# Maintainer: Leon Marz <main@lmarz.org>
pkgname=rizin-cutter
-pkgver=2.0.4
-pkgrel=1
+pkgver=2.3.2
+pkgrel=2
pkgdesc="Reverse Engineering Platform powered by rizin"
url="https://cutter.re"
-arch="all !x86 !armv7 !armhf !s390x !mips64" # limited by rizin
+arch="all !armhf" # syntax-highlighting not available
license="GPL-3.0-only"
depends="rizin"
-makedepends="cmake
+makedepends="
+ cmake
graphviz-dev
python3-dev
- rizin-dev
- syntax-highlighting-dev
- qt5-qttools-dev
qt5-qtsvg-dev
+ qt5-qttools-dev
+ rizin-dev
+ samurai
+ syntax-highlighting5-dev
"
subpackages="$pkgname-dev"
_translations_commit=974298653ba71b958e1b6c83f6011f5fefff6236
-source="$pkgname-$pkgver.tar.gz::https://github.com/rizinorg/cutter/archive/v$pkgver.tar.gz
- translations.tar.gz::https://github.com/rizinorg/cutter-translations/archive/$_translations_commit.tar.gz
- "
-builddir="$srcdir/cutter-$pkgver"
+source="https://github.com/rizinorg/cutter/releases/download/v$pkgver/Cutter-v$pkgver-src.tar.gz"
+builddir="$srcdir/Cutter-v$pkgver"
options="!check" # upstream does not provide a testsuite
-prepare() {
- default_prepare
-
- rmdir "$builddir/src/translations"
- mv "$srcdir/cutter-translations-$_translations_commit" "$builddir/src/translations"
-}
-
build() {
- cmake -B build \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=None \
-DCUTTER_USE_BUNDLED_RIZIN=OFF \
+ -DCUTTER_USE_ADDITIONAL_RIZIN_PATHS=OFF \
-DCUTTER_ENABLE_GRAPHVIZ=ON \
-DCUTTER_ENABLE_PYTHON=ON
@@ -49,6 +43,5 @@ package() {
}
sha512sums="
-06a5ffcd96e8afc2d947f8f45a5b6bdee3ec4b1c7edcf2cc14e0eac5922400be8f594fe579a0515869dd33b90a07b24f0d4294ad85b3f1cb247b16f8b7cf0826 rizin-cutter-2.0.4.tar.gz
-11450631602e7bd81132650b3edd028d56b2f6343a9561fe8bf3281427d8d22b0296651414756236b8544f719c8d4fc11be44a843532c8c32fe21dd7a82066d2 translations.tar.gz
+65ca98f6618b1e60efa25d33bb4f3ef6b36dfd8496cf1f40c6a6b9744df3c2f77673d1d3cc1142c1b3b064abd0698ca07a20c5e4009ba5f6b05fc7f7501a4435 Cutter-v2.3.2-src.tar.gz
"
diff --git a/testing/rizin/APKBUILD b/testing/rizin/APKBUILD
index 2e4e1f5afda..cf877ca2730 100644
--- a/testing/rizin/APKBUILD
+++ b/testing/rizin/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=rizin
-pkgver=0.3.1
+pkgver=0.6.3
pkgrel=0
pkgdesc="UNIX-like reverse engineering framework and command-line toolset"
url="https://rizin.re/"
@@ -23,45 +23,52 @@ makedepends="
linux-headers
libzip-dev
lz4-dev
- openssl-dev
+ openssl-dev>3
tree-sitter-dev
xxhash-dev
zlib-dev
"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
-_testbins_commit=71eb2aeb33b32be0b0ad5d80d6f017bd0866e7c2
-source="$pkgname-$pkgver.tar.xz::https://github.com/rizinorg/rizin/releases/download/v$pkgver/rizin-src-v$pkgver.tar.xz
- testbins.tar.gz::https://github.com/rizinorg/rizin-testbins/archive/$_testbins_commit.tar.gz
- "
+source="$pkgname-$pkgver.tar.xz::https://github.com/rizinorg/rizin/releases/download/v$pkgver/rizin-src-v$pkgver.tar.xz"
builddir="$srcdir/rizin-v$pkgver"
-prepare() {
- default_prepare
-
- # bins used for testing
- mv -v "$srcdir/rizin-testbins-$_testbins_commit" "$builddir/test/bins"
-}
+# secfixes:
+# 0.6.1-r0:
+# - CVE-2023-40022
+# 0.4.1-r0:
+# - CVE-2022-36043
+# - CVE-2022-36040
+# - CVE-2022-36041
+# - CVE-2022-36039
+# - CVE-2022-36044
+# - CVE-2022-36042
build() {
+ CFLAGS="$CFLAGS -O2" \
+ CXXFLAGS="$CXXFLAGS -O2" \
+ CPPFLAGS="$CPPFLAGS -O2" \
abuild-meson \
- -Dpackager="alpinelinux" \
- -Duse_sys_capstone=enabled \
- -Duse_sys_magic=enabled \
- -Duse_sys_libzip=enabled \
- -Duse_sys_zlib=enabled \
- -Duse_sys_lz4=enabled \
- -Duse_sys_xxhash=enabled \
- -Duse_sys_openssl=enabled \
+ -Db_lto=true \
+ -Dpackager="alpinelinux" \
+ -Dpackager_version="$pkgver-r$pkgrel" \
+ -Duse_sys_capstone=enabled \
+ -Duse_capstone_version="v4" \
+ -Duse_sys_magic=enabled \
+ -Duse_sys_libzip=enabled \
+ -Duse_sys_zlib=enabled \
+ -Duse_sys_lz4=enabled \
+ -Duse_sys_xxhash=enabled \
+ -Duse_sys_openssl=enabled \
-Duse_sys_tree_sitter=enabled \
. output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
check() {
# Include the build rizin otherwise
# unit/test_rzpipe.c will fail
export PATH="$PATH:$builddir/output/binrz/rizin/"
- meson test --no-rebuild -v -C output
+ meson test --no-rebuild --print-errorlogs -C output
}
package() {
@@ -69,6 +76,5 @@ package() {
}
sha512sums="
-743f8f2c9ddb045f39147de9ad971d47f1a26bfcc233f41c12c64ade5e31c992104cf3f93c44c5035142b554779e895224b68f839cd87a59aaf344b4ec88d5fe rizin-0.3.1.tar.xz
-f30993a2d5afd024337fd7b6085f658c03b7498b663654e1a455db0921a8405d86ff3d284f1e6407aeb1cd8f579719759e6a3530ef4dace57b1ddfb24a35f7ce testbins.tar.gz
+031ae1c5b43237d55b3e48d825d4bd9cda16a4a84a47464eb1745a02265a1412e2864345595c0dca7f8ea0cb348fe9760ea424556ff6b915ac8014a7f410b03c rizin-0.6.3.tar.xz
"
diff --git a/testing/rkdeveloptool/APKBUILD b/testing/rkdeveloptool/APKBUILD
index 7c2d0609225..adfb769c14c 100644
--- a/testing/rkdeveloptool/APKBUILD
+++ b/testing/rkdeveloptool/APKBUILD
@@ -1,42 +1,25 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
pkgname=rkdeveloptool
-pkgver=0_git20210408
+pkgver=1.1.0
pkgdesc="opensource client for rockusb devices"
pkgrel=0
-_commit="46bb4c073624226c3f05b37b9ecc50bbcf543f5a"
-url="https://github.com/rockchip-linux/rkdeveloptool"
+url="https://gitlab.com/pine64-org/quartz-bsp/rkdeveloptool"
arch="all"
license="GPL-2.0-only"
-source="
- https://github.com/rockchip-linux/rkdeveloptool/archive/$_commit/rkdeveloptool-$_commit.tar.gz
- safe-copy.patch
- fix-musl-build.patch
- "
-makedepends="autoconf automake libusb-dev"
+source="https://gitlab.com/pine64-org/quartz-bsp/rkdeveloptool/-/archive/$pkgver/rkdeveloptool-$pkgver.tar.gz"
+makedepends="meson libusb-dev eudev-dev scdoc"
+subpackages="$pkgname-doc"
options="!check" # There is no testsuite
-builddir="$srcdir/$pkgname-$_commit"
-
-prepare() {
- default_prepare
- autoreconf -fi
-}
build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc
- make
+ abuild-meson . output
+ meson compile -C output
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-
sha512sums="
-dc8f141cc8aaf79f9f1b4749c73c22fdadc9881483cd243b3e5449a7b7f3eaec9b63f7684445b2aff8a5a607d77f8a76c7acd36348fce84e527a723b9b35fb45 rkdeveloptool-46bb4c073624226c3f05b37b9ecc50bbcf543f5a.tar.gz
-dc555e6ba0266d0955cf0a362d70cb1c0337a18c8a15f6ad735d6fb16f8ced6bfa6316b712d3cf1d124de580da6a69169b2a25c112d4442a52f5084bbebdea30 safe-copy.patch
-40ea193a633377614e8292b616936dedb6cd1f70da2379a61eeed5262b19eb81c46743ccc4f1170b41874114d4e85d2e0655cdc762b8a8ff074c49bf78160866 fix-musl-build.patch
+ff32906924c6bd7027e864d1e417c6e94119a379db2dd6ffdf0c04af666fbb1be787e0a4fad298f87b6ab51696c74ccc51ed9d5a22a59079bbadcc00c0ea4ff1 rkdeveloptool-1.1.0.tar.gz
"
diff --git a/testing/rkdeveloptool/fix-musl-build.patch b/testing/rkdeveloptool/fix-musl-build.patch
deleted file mode 100644
index 66e5090abb9..00000000000
--- a/testing/rkdeveloptool/fix-musl-build.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-The PAGE_SIZE constant is not even used in the
-application but conflicts with musl-dev
-
-diff --git a/RKDevice.h b/RKDevice.h
-index 2d81ae9..d608e8f 100644
---- a/RKDevice.h
-+++ b/RKDevice.h
-@@ -6,7 +6,6 @@
- #include "DefineHeader.h"
-
- #define SECTOR_SIZE 512
--#define PAGE_SIZE 2048
- #define SPARE_SIZE 16
- #define CHIPINFO_LEN 16
- #define IDBLOCK_TOP 50
-@@ -128,4 +127,4 @@ protected:
- char m_layerName[32];
- };
-
--#endif
-\ No newline at end of file
-+#endif
diff --git a/testing/rkdeveloptool/safe-copy.patch b/testing/rkdeveloptool/safe-copy.patch
deleted file mode 100644
index 5b917787b18..00000000000
--- a/testing/rkdeveloptool/safe-copy.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 8ca2bcc67e7fd74ac2bc663857ba36f515a9d5e3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Dan=20Hor=C3=A1k?= <dan@danny.cz>
-Date: Fri, 18 Jun 2021 18:29:25 +0200
-Subject: [PATCH] use a safe way to copy the chip string
-
-based on https://developers.redhat.com/blog/2019/08/12/efficient-string-copying-and-concatenation-in-c
-
-Fixes: https://github.com/rockchip-linux/rkdeveloptool/issues/55
----
- main.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/main.cpp b/main.cpp
-index 72bd94b..c14ed97 100644
---- a/main.cpp
-+++ b/main.cpp
-@@ -1490,7 +1490,7 @@ static bool saveEntry(FILE* outFile, char* path, rk_entry_type type,
- static inline uint32_t convertChipType(const char* chip) {
- char buffer[5];
- memset(buffer, 0, sizeof(buffer));
-- snprintf(buffer, sizeof(buffer), "%s", chip);
-+ memccpy(buffer, chip, '\0', sizeof(buffer));
- return buffer[0] << 24 | buffer[1] << 16 | buffer[2] << 8 | buffer[3];
- }
-
diff --git a/testing/rke/APKBUILD b/testing/rke/APKBUILD
index 78404e1c208..2d29d3cf40d 100644
--- a/testing/rke/APKBUILD
+++ b/testing/rke/APKBUILD
@@ -1,8 +1,8 @@
-# Contributor: Lucas Ramage <ramage.lucas@protonmail.com>
-# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
+# Contributor: Lucas Ramage <lucas.ramage@infinite-omicron.com>
+# Maintainer: Lucas Ramage <lucas.ramage@infinite-omicron.com>
pkgname=rke
-pkgver=1.3.2
-pkgrel=0
+pkgver=1.4.3
+pkgrel=7
pkgdesc="Rancher Kubernetes Engine"
options="!check net chmod-clean"
url="https://github.com/rancher/rke"
@@ -11,28 +11,17 @@ arch="all"
makedepends="go"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/rancher/rke/archive/v$pkgver.tar.gz"
-builddir="$srcdir/go/src/github.com/rancher/rke"
# secfixes:
# 1.3.2-r0:
# - CVE-2021-25742
-prepare() {
- default_prepare
-
- mkdir -p "$srcdir/go/src/github.com/rancher"
- mv "$srcdir/$pkgname-$pkgver" "$builddir"
- cd "$builddir" # this is neccessary since we modified the build dir
-
- # fix build on riscv64
- go mod edit -replace \
- github.com/prometheus/procfs=github.com/prometheus/procfs@v0.6.0
- go mod tidy
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- export GOPATH="$srcdir/go"
- go build
+ go build -v -ldflags "-X main.VERSION=v$pkgver"
}
package() {
@@ -41,5 +30,5 @@ package() {
}
sha512sums="
-f59a0ced0550ae621cc5d5c5f92282ad0a80db8f1e4de83a8472ee274b4933c9b2f6536c74f50cb61034baf6e0ba63524f179d2f117db0fc5eec5be0d9a51f47 rke-1.3.2.tar.gz
+a87aa0f71dff96e40f53e758fe588f0f941844bfdf30610a528b835622af45426b4af789a7beee35796ecc3bc7fcbb7831bc28168fdb67a093adf9f9f4e05542 rke-1.4.3.tar.gz
"
diff --git a/testing/rlottie/APKBUILD b/testing/rlottie/APKBUILD
new file mode 100644
index 00000000000..641f9ea3791
--- /dev/null
+++ b/testing/rlottie/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=rlottie
+pkgver=0.2_git20230831
+_gitrev=d40008707addacb636ff435236d31c694ce2b6cf
+pkgrel=0
+pkgdesc="A platform independent standalone library that plays Lottie Animation"
+url="https://github.com/Samsung/rlottie"
+arch="all"
+license="MIT AND BSD-3-Clause AND MPL-2.0"
+makedepends="ninja meson"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Samsung/rlottie/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+build() {
+ meson --prefix /usr build
+
+ ninja -C build
+}
+
+check() {
+ ninja -C build test
+}
+
+package() {
+ DESTDIR="$pkgdir" ninja -C build install
+
+ install -Dm 644 "COPYING" "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+ for f in licenses/*
+ do
+ install -Dm 644 "$f" "$pkgdir/usr/share/licenses/$pkgname/$f"
+ done
+}
+
+sha512sums="
+025456a20d25e015612e871b50cd85b6fb1bbfdf9a2122f0789fafcfe7f85594dc50838088fadbb3f7cdcd86e61061def6a94407f9e0fc4359533a460d8ac427 rlottie-0.2_git20230831.tar.gz
+"
diff --git a/testing/rmlint/APKBUILD b/testing/rmlint/APKBUILD
new file mode 100644
index 00000000000..0392d9d8437
--- /dev/null
+++ b/testing/rmlint/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=rmlint
+pkgver=2.10.2
+pkgrel=1
+pkgdesc="Remove duplicates and other lint from your filesystem"
+url="https://rmlint.readthedocs.io/en/latest/"
+arch="all"
+license="GPL-3.0-only"
+makedepends="scons python3 glib-dev json-glib-dev elfutils-dev py3-sphinx"
+checkdepends="dash py3-nose py3-parameterized py3-psutil"
+subpackages="$pkgname-doc $pkgname-lang $pkgname-shredder-pyc $pkgname-shredder:shredder:noarch"
+source="https://github.com/sahib/rmlint/archive/v$pkgver/rmlint-v$pkgver.tar.gz
+ remove-usage-of-lseek64.patch
+ "
+options="!check" # awaiting upstream fixes to test suite
+ # https://github.com/sahib/rmlint/issues/593
+
+build() {
+ scons config
+ scons -j $JOBS --prefix="$pkgdir"/usr --actual-prefix=/usr
+}
+
+check() {
+ scons test
+}
+
+package() {
+ scons --prefix=$pkgdir/usr install --actual-prefix=/usr
+ rm -f "$pkgdir/usr/share/glib-2.0/schemas/gschemas.compiled"
+}
+
+shredder() {
+ depends="polkit gtksourceview py3-cairo dconf py3-gobject3 librsvg xdg-utils"
+ amove usr/lib
+ amove usr/share/applications
+ amove usr/share/glib-2.0
+ amove usr/share/icons
+}
+
+sha512sums="
+8f8d58892785e9012cb15f3e89480d9d04772fa3f923064520bf17afcc8948b1a24d6f8399176a1a26bd5036553c605958f3720e40cf6cba135a4f3381131180 rmlint-v2.10.2.tar.gz
+f77bf8d77bf7d7c83a91a97ed79733b11ea55bd1814ba13262349a4ebd29bf8de4e76b0a082676c634ef83106953097dae1d6faddfa6aa9866a7cf41ed158b18 remove-usage-of-lseek64.patch
+"
diff --git a/testing/rmlint/remove-usage-of-lseek64.patch b/testing/rmlint/remove-usage-of-lseek64.patch
new file mode 100644
index 00000000000..4c1de3f5a89
--- /dev/null
+++ b/testing/rmlint/remove-usage-of-lseek64.patch
@@ -0,0 +1,18 @@
+--- a/lib/utilities.h
++++ b/lib/utilities.h
+@@ -129,14 +127,8 @@
+
+ static inline gint64 rm_sys_preadv(int fd, const struct iovec *iov, int iovcnt,
+ RmOff offset) {
+-#if RM_IS_APPLE || RM_IS_CYGWIN
++#if RM_IS_APPLE || RM_IS_CYGWIN || RM_PLATFORM_32
+ if(lseek(fd, offset, SEEK_SET) == -1) {
+- rm_log_perror("seek in emulated preadv failed");
+- return 0;
+- }
+- return readv(fd, iov, iovcnt);
+-#elif RM_PLATFORM_32
+- if(lseek64(fd, offset, SEEK_SET) == -1) {
+ rm_log_perror("seek in emulated preadv failed");
+ return 0;
+ }
diff --git a/testing/rnote/APKBUILD b/testing/rnote/APKBUILD
new file mode 100644
index 00000000000..e4de04a55d9
--- /dev/null
+++ b/testing/rnote/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=rnote
+pkgver=0.10.2
+pkgrel=0
+pkgdesc="Sketch and take handwritten notes."
+url="https://rnote.flxzt.net/"
+# ppc64le: vendored abseil, not possible to override to system
+# armhf: doesn't build
+# s390x: mainframe
+arch="all !armhf !s390x !ppc64le"
+license="GPL-3.0-or-later"
+makedepends="
+ alsa-lib-dev
+ appstream-glib-dev
+ appstream-dev
+ cargo
+ clang-dev
+ cmake
+ desktop-file-utils
+ gtk4.0-dev
+ libadwaita-dev
+ meson
+ poppler-dev
+ "
+subpackages="$pkgname-lang $pkgname-cli:cli"
+source="
+ https://github.com/flxzt/rnote/archive/refs/tags/v$pkgver/rnote-$pkgver.tar.gz
+"
+options="net"
+
+export CARGO_PROFILE_RELEASE_LTO=thin
+
+build() {
+ abuild-meson \
+ . output
+
+ meson configure -Dcli=true output
+ meson compile -C output
+}
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+cli() {
+ pkgdesc="Convert files to and from .rnote"
+
+ amove usr/bin/rnote-cli
+}
+
+sha512sums="
+27aa48f8dafca39fc5a024962ad9cccb6191c72bfcc828283b5541326f6ce8c56b0be3ebad7795a9ab71cbea8e38dab2ea42d70e0b97dd3b2c14f8fcb84ef260 rnote-0.10.2.tar.gz
+"
diff --git a/testing/rnp/APKBUILD b/testing/rnp/APKBUILD
deleted file mode 100644
index d2a5b82397e..00000000000
--- a/testing/rnp/APKBUILD
+++ /dev/null
@@ -1,77 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=rnp
-pkgver=0.15.2
-pkgrel=2
-pkgdesc="High performance C++ OpenPGP library used by Mozilla Thunderbird"
-url="https://www.rnpgp.org/"
-arch="all"
-license="BSD-2-Clause"
-checkdepends="gnupg gtest-dev"
-makedepends="
- asciidoctor
- botan-dev
- bzip2-dev
- cmake
- json-c-dev
- zlib-dev
- "
-subpackages="$pkgname-dev $pkgname-doc librnp"
-source="https://github.com/rnpgp/rnp/archive/v$pkgver/rnp-$pkgver.tar.gz
- fix-test_rnpkeys_lists.patch
- avoid-testing-chunk-sizes-greater-than-16.patch
- cleanup-nopermsdir.patch
- disable-obsolete-ciphers.patch
- "
-
-case "$CARCH" in
- # FIXME: one test fails
- s390x) options="!check";;
-esac
-
-build() {
- # Avoid polluting /tmp.
- export TEMP="$builddir/.tmp"
- mkdir -p "$TEMP"
-
- local crossopts=
- if [ "$CBUILD" != "$CHOST" ]; then
- crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- # CMAKE_INTERPROCEDURAL_OPTIMIZATION - enable LTO
- cmake -B build \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INTERPROCEDURAL_OPTIMIZATION=ON \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DCMAKE_VERBOSE_MAKEFILE=ON \
- -DBUILD_SHARED_LIBS=ON \
- -DBUILD_TESTING=$(want_check && echo ON || echo OFF) \
- -DDOWNLOAD_GTEST=OFF \
- -DDOWNLOAD_RUBYRNP=OFF \
- $crossopts .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- pkgdesc="$pkgdesc (CLI tools)"
-
- DESTDIR="$pkgdir" cmake --install build
-}
-
-librnp() {
- default_libs
-}
-
-sha512sums="
-ba2f3252443b1e3e9069afc2704e2fb64514f423cd5b4db18130de2c90d1ab9f116596138037e4b054410a7003789b395fa0a7347b273be12bfe557ce79fde2c rnp-0.15.2.tar.gz
-ec2695424427dc4178b55372dda7236cf477c3dab64d80f9a6bd7b1da434f71bab6c9c2fcbc5134e2255fc76d35ef708fa57d706a5c9bfbc21274ab48a416909 fix-test_rnpkeys_lists.patch
-04004950044cef0e67cad8a88c641cea8aab7f07cdd188a83df067f0e1a639c58ecf42ded89f1f9f542ad08876f19e6387a32d3293ce3fcfca152fbe017baad5 avoid-testing-chunk-sizes-greater-than-16.patch
-abb84713d54763b5cfb4a3a80078db04ef3ad7c8913bfdcc44c82081e1d4547039e78cfaae8a11ead53e05bc7f9308641c044a62c8fe9f8c4922b12495c61240 cleanup-nopermsdir.patch
-585acdf6075578c403430470e79e48e5901f36e598ded9c82b2f079b0870dfbdb803dc63753f103137bc5eef399a2586b668c4bbbaf93877a21e3315c0d421df disable-obsolete-ciphers.patch
-"
diff --git a/testing/rnp/avoid-testing-chunk-sizes-greater-than-16.patch b/testing/rnp/avoid-testing-chunk-sizes-greater-than-16.patch
deleted file mode 100644
index b7ff50e6530..00000000000
--- a/testing/rnp/avoid-testing-chunk-sizes-greater-than-16.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Patch-Source: https://sources.debian.org/src/rnp/0.15.2-6/debian/patches/0002-Avoid-testing-chunk-sizes-greater-than-16.patch
-
-From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Date: Fri, 29 Oct 2021 15:53:27 -0400
-Subject: Avoid testing chunk sizes greater than 16
-
-In draft-ietf-openpgp-crypto-refresh-04, chunk size is capped at 16.
-We don't need to test more than that, and it looks like tests of chunk
-size 30 fail on 32-bit platforms like armel and armhf (though they
-don't fail on i386 for some reason i don't understand).
-
-(see https://github.com/rnpgp/rnp/issues/1664)
----
- src/tests/cli_tests.py | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/tests/cli_tests.py b/src/tests/cli_tests.py
-index 2a6281d..06de065 100755
---- a/src/tests/cli_tests.py
-+++ b/src/tests/cli_tests.py
-@@ -2060,8 +2060,7 @@ class Encryption(unittest.TestCase):
- AEAD_C = list_upto(['AES', 'AES192', 'AES256', 'TWOFISH', 'CAMELLIA128',
- 'CAMELLIA192', 'CAMELLIA256'], Encryption.RUNS)
- AEAD_M = list_upto([None, 'eax', 'ocb'], Encryption.RUNS)
-- AEAD_B = list_upto([None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 18,
-- 24, 30, 40, 50, 56], Encryption.RUNS)
-+ AEAD_B = list_upto([None, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16], Encryption.RUNS)
-
- usegpg = gpg_supports_aead()
-
diff --git a/testing/rnp/cleanup-nopermsdir.patch b/testing/rnp/cleanup-nopermsdir.patch
deleted file mode 100644
index 404e26c5fd9..00000000000
--- a/testing/rnp/cleanup-nopermsdir.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Mon, 10 Jan 2022 23:22:21 +0100
-Subject: [PATCH] Fix problem with undeletable "noperms" directory
-
-Directory "noperms" is created with chmod 000 and the test doesn't remove it
-nor change the perms afterwards, so `abuild clean` cannot delete it.
-
---- a/src/tests/generatekey.cpp
-+++ b/src/tests/generatekey.cpp
-@@ -507,8 +507,8 @@
- /* Try to generate key in the directory and make sure generation fails */
- #ifndef _WIN32
- assert_false(generate_test_key(RNP_KEYSTORE_GPG, NULL, "SHA256", nopermsdir));
-+ (void) chmod(nopermsdir, S_IRWXU | S_IRWXG); // XXX-Patched: change back so we can delete it
- #else
-- /* There are no permissions for mkdir() under the Windows */
- assert_true(generate_test_key(RNP_KEYSTORE_GPG, NULL, "SHA256", nopermsdir));
- #endif
- }
diff --git a/testing/rnp/disable-obsolete-ciphers.patch b/testing/rnp/disable-obsolete-ciphers.patch
deleted file mode 100644
index eebb591f297..00000000000
--- a/testing/rnp/disable-obsolete-ciphers.patch
+++ /dev/null
@@ -1,251 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Mon, 10 Jan 2022 22:57:26 +0100
-Subject: [PATCH] Disable obsolete ciphers in signatures (patch from Thunderbird)
-
-This patch is based on [1] from Thunderbird, but I also modified the
-tests to make them pass.
-
-It's quite a hack, a proper solution is being discussed in:
-
-* https://github.com/rnpgp/rnp/issues/1281
-* https://github.com/rnpgp/rnp/pull/1524
-
-[1]: https://hg.mozilla.org/comm-central/file/tip/third_party/patches/rnp/disable_obsolete_ciphers.patch
-
---- rnp-0.15.2.orig/src/lib/crypto/signatures.cpp
-+++ rnp-0.15.2/src/lib/crypto/signatures.cpp
-@@ -193,6 +193,59 @@
- }
- }
-
-+static bool is_hash_alg_allowed_in_sig(const pgp_hash_alg_t hash_alg)
-+{
-+ switch (hash_alg) {
-+ case PGP_HASH_SHA1:
-+ case PGP_HASH_RIPEMD:
-+ case PGP_HASH_SHA256:
-+ case PGP_HASH_SHA384:
-+ case PGP_HASH_SHA512:
-+ case PGP_HASH_SHA224:
-+ case PGP_HASH_SHA3_256:
-+ case PGP_HASH_SHA3_512:
-+ return true;
-+
-+ case PGP_HASH_MD5:
-+ case PGP_HASH_SM3:
-+ case PGP_HASH_UNKNOWN:
-+ default:
-+ return false;
-+ }
-+}
-+
-+static bool is_pubkey_alg_allowed_in_sig(const pgp_pubkey_alg_t pubkey_alg) {
-+ switch (pubkey_alg) {
-+ case PGP_PKA_RSA:
-+ case PGP_PKA_RSA_ENCRYPT_ONLY:
-+ case PGP_PKA_RSA_SIGN_ONLY:
-+ case PGP_PKA_ELGAMAL:
-+ case PGP_PKA_DSA:
-+ case PGP_PKA_ECDH:
-+ case PGP_PKA_ECDSA:
-+ case PGP_PKA_ELGAMAL_ENCRYPT_OR_SIGN:
-+ case PGP_PKA_EDDSA:
-+ return true;
-+
-+ case PGP_PKA_RESERVED_DH:
-+ case PGP_PKA_NOTHING:
-+ case PGP_PKA_SM2:
-+ case PGP_PKA_PRIVATE00:
-+ case PGP_PKA_PRIVATE01:
-+ case PGP_PKA_PRIVATE02:
-+ case PGP_PKA_PRIVATE03:
-+ case PGP_PKA_PRIVATE04:
-+ case PGP_PKA_PRIVATE05:
-+ case PGP_PKA_PRIVATE06:
-+ case PGP_PKA_PRIVATE07:
-+ case PGP_PKA_PRIVATE08:
-+ case PGP_PKA_PRIVATE09:
-+ case PGP_PKA_PRIVATE10:
-+ default:
-+ return false;
-+ }
-+}
-+
- rnp_result_t
- signature_validate(const pgp_signature_t *sig, const pgp_key_material_t *key, pgp_hash_t *hash)
- {
-@@ -201,9 +254,16 @@
- rnp_result_t ret = RNP_ERROR_GENERIC;
-
- const pgp_hash_alg_t hash_alg = pgp_hash_alg_type(hash);
-+ if (!is_hash_alg_allowed_in_sig(hash_alg)) {
-+ return RNP_ERROR_SIGNATURE_INVALID;
-+ }
-
- if (!key) {
- return RNP_ERROR_NULL_POINTER;
-+ }
-+
-+ if (!is_pubkey_alg_allowed_in_sig(sig->palg)) {
-+ return RNP_ERROR_SIGNATURE_INVALID;
- }
-
- if (sig->palg != key->alg) {
---- rnp-0.15.2.orig/src/tests/generatekey.cpp
-+++ rnp-0.15.2/src/tests/generatekey.cpp
-@@ -96,19 +96,19 @@
- * Sign a message, then verify it
- */
-
-- const char *hashAlg[] = {"SHA1",
-+ const char *hashAlg[] = {
- "SHA224",
- "SHA256",
- "SHA384",
- "SHA512",
-- "SM3",
-- "sha1",
-+
-+
- "sha224",
- "sha256",
- "sha384",
- "sha512",
-- "sm3",
-- NULL};
-+
-+ NULL}; // XXX-Patched: obsolete algs removed
- int pipefd[2] = {-1, -1};
- char memToSign[] = "A simple test message";
- cli_rnp_t rnp;
-@@ -270,20 +270,20 @@
- /* Generate key for each of the hash algorithms. Check whether key was generated
- * successfully */
-
-- const char *hashAlg[] = {"MD5",
-+ const char *hashAlg[] = {
- "SHA1",
- "SHA256",
- "SHA384",
- "SHA512",
- "SHA224",
-- "SM3",
-- "md5",
-+
-+
- "sha1",
- "sha256",
- "sha384",
- "sha512",
-- "sha224",
-- "sm3"};
-+ "sha224"
-+ }; // XXX-Patched: obsolete algs removed
- const char *keystores[] = {RNP_KEYSTORE_GPG, RNP_KEYSTORE_GPG21, RNP_KEYSTORE_KBX};
- cli_rnp_t rnp = {};
-
---- rnp-0.15.2.orig/src/tests/key-validate.cpp
-+++ rnp-0.15.2/src/tests/key-validate.cpp
-@@ -77,7 +77,8 @@
-
- pubring = new rnp_key_store_t(PGP_KEY_STORE_GPG, "data/keyrings/2/pubring.gpg");
- assert_true(rnp_key_store_load_from_path(pubring, NULL));
-- assert_true(all_keys_valid(pubring));
-+ assert_false(all_keys_valid(pubring)); // XXX-Patched: insecure keys (s/assert_true/assert_false/)
-+
- delete pubring;
-
- secring = new rnp_key_store_t(PGP_KEY_STORE_GPG, "data/keyrings/2/secring.gpg");
-@@ -99,7 +100,7 @@
-
- pubring = new rnp_key_store_t(PGP_KEY_STORE_GPG, "data/keyrings/4/pubring.pgp");
- assert_true(rnp_key_store_load_from_path(pubring, NULL));
-- assert_true(all_keys_valid(pubring));
-+ assert_false(all_keys_valid(pubring)); // XXX-Patched: insecure keys (s/assert_true/assert_false/)
- delete pubring;
-
- secring = new rnp_key_store_t(PGP_KEY_STORE_GPG, "data/keyrings/4/secring.pgp");
---- rnp-0.15.2.orig/src/tests/streams.cpp
-+++ rnp-0.15.2/src/tests/streams.cpp
-@@ -1012,25 +1012,25 @@
- assert_true(rng_init(&rng, RNG_SYSTEM));
-
- /* v3 public key */
-- pubring = new rnp_key_store_t(PGP_KEY_STORE_GPG, "data/keyrings/4/rsav3-p.asc");
-- assert_true(rnp_key_store_load_from_path(pubring, NULL));
-- assert_rnp_success(init_file_src(&keysrc, "data/keyrings/4/rsav3-p.asc"));
-- assert_rnp_success(process_pgp_keys(&keysrc, keyseq, false));
-- src_close(&keysrc);
-- assert_int_equal(keyseq.keys.size(), 1);
-- assert_non_null(key = &keyseq.keys.front());
-- assert_non_null(uid = &key->userids.front());
-- assert_non_null(sig = &uid->signatures.front());
-- assert_non_null(pkey = rnp_key_store_get_key_by_id(pubring, sig->keyid(), NULL));
-- /* check certification signature */
-- assert_true(signature_hash_certification(sig, &key->key, &uid->uid, &hash));
-- assert_rnp_success(signature_validate(sig, &pkey->material(), &hash));
-- /* modify userid and check signature */
-- uid->uid.uid[2] = '?';
-- assert_true(signature_hash_certification(sig, &key->key, &uid->uid, &hash));
-- assert_rnp_failure(signature_validate(sig, &pkey->material(), &hash));
-- delete pubring;
-+ /* XXX-Patched: obsolete key format
-
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+ */
-+
- /* keyring */
- pubring = new rnp_key_store_t(PGP_KEY_STORE_GPG, "data/keyrings/1/pubring.gpg");
- assert_true(rnp_key_store_load_from_path(pubring, NULL));
-@@ -1103,13 +1103,13 @@
- pgp_key_t * pkey = NULL;
-
- /* v3 public key */
-- pubring = new rnp_key_store_t(PGP_KEY_STORE_GPG, "data/keyrings/4/rsav3-p.asc");
-- assert_true(rnp_key_store_load_from_path(pubring, NULL));
-- assert_int_equal(rnp_key_store_get_key_count(pubring), 1);
-- pkey = &pubring->keys.front();
-- pkey->validate(*pubring);
-- assert_true(pkey->valid());
-- delete pubring;
-+ /* XXX-Patched: obsolete key format
-+
-+
-+
-+
-+
-+ */
-
- /* keyring */
- pubring = new rnp_key_store_t(PGP_KEY_STORE_GPG, "data/keyrings/1/pubring.gpg");
---- rnp-0.15.2/src/tests/cli_tests.py
-+++ rnp-0.15.2/src/tests/cli_tests.py
-@@ -1624,10 +1624,10 @@
- '--secret', '--with-sigs'])
- compare_file_any(allow_y2k38_on_32bit(path + 'keyring_1_list_sigs_sec'), out, 'keyring 1 sec sig listing failed')
-
-- _, out, _ = run_proc(RNPK, ['--homedir', data_path('keyrings/2'), '--list-keys'])
-- compare_file(path + 'keyring_2_list_keys', out, 'keyring 2 key listing failed')
-- _, out, _ = run_proc(RNPK, ['--homedir', data_path('keyrings/2'), '-l', '--with-sigs'])
-- compare_file(path + 'keyring_2_list_sigs', out, 'keyring 2 sig listing failed')
-+ #_, out, _ = run_proc(RNPK, ['--homedir', data_path('keyrings/2'), '--list-keys']) XXX-Patched: obsolete keys
-+ #compare_file(path + 'keyring_2_list_keys', out, 'keyring 2 key listing failed')
-+ #_, out, _ = run_proc(RNPK, ['--homedir', data_path('keyrings/2'), '-l', '--with-sigs'])
-+ #compare_file(path + 'keyring_2_list_sigs', out, 'keyring 2 sig listing failed')
-
- _, out, _ = run_proc(RNPK, ['--homedir', data_path('keyrings/3'), '--list-keys'])
- compare_file_any(allow_y2k38_on_32bit(path + 'keyring_3_list_keys'), out, 'keyring 3 key listing failed')
diff --git a/testing/rnp/fix-test_rnpkeys_lists.patch b/testing/rnp/fix-test_rnpkeys_lists.patch
deleted file mode 100644
index 2de733e28ba..00000000000
--- a/testing/rnp/fix-test_rnpkeys_lists.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-From: Jakub Jirutka <jakub@jirutka.cz>
-Date: Mon, 10 Jan 2022 02:13:54 +0100
-Subject: [PATCH] Fix invalid rnpk option in test_rnpkeys_lists
-
---- a/src/tests/cli_tests.py
-+++ b/src/tests/cli_tests.py
-@@ -1616,7 +1616,7 @@
-
- _, out, _ = run_proc(RNPK, ['--homedir', data_path('keyrings/1'), '--list-keys'])
- compare_file_any(allow_y2k38_on_32bit(path + 'keyring_1_list_keys'), out, 'keyring 1 key listing failed')
-- _, out, _ = run_proc(RNPK, ['--hom', data_path('keyrings/1'), '-l', '--with-sigs'])
-+ _, out, _ = run_proc(RNPK, ['--home', data_path('keyrings/1'), '-l', '--with-sigs'])
- compare_file_any(allow_y2k38_on_32bit(path + 'keyring_1_list_sigs'), out, 'keyring 1 sig listing failed')
- _, out, _ = run_proc(RNPK, ['--home', data_path('keyrings/1'), '--list-keys', '--secret'])
- compare_file_any(allow_y2k38_on_32bit(path + 'keyring_1_list_keys_sec'), out, 'keyring 1 sec key listing failed')
diff --git a/testing/rocksdb/10-support-busybox-install.patch b/testing/rocksdb/10-support-busybox-install.patch
deleted file mode 100644
index 6bb1bf57e3e..00000000000
--- a/testing/rocksdb/10-support-busybox-install.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From c3beaa997da52b3a3da271ff58ec30be93bbee64 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20Adamski?= <michal@ert.pl>
-Date: Fri, 29 Oct 2021 00:20:06 +0200
-Subject: [PATCH] Upstream uses install -C, but busybox uses -c
-
----
- Makefile | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index fd5e46192..d700e03db 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1949,21 +1949,21 @@ install-headers: gen-pc
- install -d $(DESTDIR)/$(PREFIX)/$$header_dir; \
- done
- for header in `$(FIND) "include/rocksdb" -type f -name *.h`; do \
-- install -C -m 644 $$header $(DESTDIR)/$(PREFIX)/$$header; \
-+ install -c -m 644 $$header $(DESTDIR)/$(PREFIX)/$$header; \
- done
- for header in $(ROCKSDB_PLUGIN_HEADERS); do \
- install -d $(DESTDIR)/$(PREFIX)/include/rocksdb/`dirname $$header`; \
-- install -C -m 644 $$header $(DESTDIR)/$(PREFIX)/include/rocksdb/$$header; \
-+ install -c -m 644 $$header $(DESTDIR)/$(PREFIX)/include/rocksdb/$$header; \
- done
-- install -C -m 644 rocksdb.pc $(INSTALL_LIBDIR)/pkgconfig/rocksdb.pc
-+ install -c -m 644 rocksdb.pc $(INSTALL_LIBDIR)/pkgconfig/rocksdb.pc
-
- install-static: install-headers $(LIBRARY)
- install -d $(INSTALL_LIBDIR)
-- install -C -m 755 $(LIBRARY) $(INSTALL_LIBDIR)
-+ install -c -m 755 $(LIBRARY) $(INSTALL_LIBDIR)
-
- install-shared: install-headers $(SHARED4)
- install -d $(INSTALL_LIBDIR)
-- install -C -m 755 $(SHARED4) $(INSTALL_LIBDIR)
-+ install -c -m 755 $(SHARED4) $(INSTALL_LIBDIR)
- ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED3)
- ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED2)
- ln -fs $(SHARED4) $(INSTALL_LIBDIR)/$(SHARED1)
---
-2.25.1
-
diff --git a/testing/rocksdb/APKBUILD b/testing/rocksdb/APKBUILD
deleted file mode 100644
index 5a077f13ccc..00000000000
--- a/testing/rocksdb/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Contributor: James Bowes <jbowes@repl.ca>
-# Contributor: Jan Segre <jan@segre.in>
-# Contributor: Lars Kuhtz <lakuhtz@gmail.com>
-# Maintainer:
-pkgname=rocksdb
-pkgver=6.23.3 # version 6.24 and above is not compatible with electrs
-pkgrel=0
-pkgdesc="persistent key-value store for fast storage environments"
-url="https://rocksdb.org"
-# ppc64le: fatal error: sys/platform/ppc.h: No such file or directory
-arch="x86 x86_64 aarch64" # fails to build on other archs
-license="Apache-2.0 OR GPL-2.0-only"
-depends_dev="bzip2-dev gflags-dev lz4-dev snappy-dev zlib-dev zstd-dev"
-depends_static="bzip2-static gflags-dev lz4-static snappy-static zlib-static zstd-static"
-makedepends="$depends_dev linux-headers bash perl"
-subpackages="$pkgname-dev $pkgname-doc"
-options="!check" # no upstream/available test-suite
-source="$pkgname-$pkgver.tar.gz::https://github.com/facebook/rocksdb/archive/v$pkgver.tar.gz
- ppc64le-determine-platform.patch
- 10-support-busybox-install.patch
- "
-build() {
- make \
- shared_lib \
- DISABLE_WARNING_AS_ERROR=1
- make \
- static_lib \
- DISABLE_WARNING_AS_ERROR=1
-}
-
-package() {
- DESTDIR="$pkgdir" \
- PREFIX=/usr \
- LIBDIR=/usr/lib make install-shared
- DESTDIR="$pkgdir" \
- PREFIX=/usr \
- LIBDIR=/usr/lib make install-static
- strip "$pkgdir"/usr/lib/librocksdb.a
- chmod 664 "$pkgdir"/usr/lib/librocksdb.a
- install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
- install -Dm644 LICENSE.Apache "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.Apache
- mkdir -p "$pkgdir"/usr/share/doc
- cp -a docs "$pkgdir"/usr/share/doc/$pkgname
- install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
- install -Dm644 HISTORY.md "$pkgdir"/usr/share/doc/$pkgname/HISTORY.md
-}
-
-sha512sums="
-30ad0d297cdaf5b5d9b9ec327006f963a0b69db890012d0f7de1d3f27d6dde538f26434815bd56914680d20354c9da99460d4f4b714b6afe5c75cda0056bad4b rocksdb-6.23.3.tar.gz
-835e7bb5e8e76aa264d7dbe55d44a01af4bcec7e61fc0aa8be173d28e302e9b368da064bd4b4a0020fa97bd46a51f3d8fc015db8a4af37890e0ba7924eb01ed0 ppc64le-determine-platform.patch
-fa98c289b465808c1bdda390d891d6430bb65096c39d2c327f7a82cdae1eeba8f3a47c6434eb4988b0c0c25d0e4900e92da28afe67c71b0b112b38b9a9f58887 10-support-busybox-install.patch
-"
diff --git a/testing/rocksdb/ppc64le-determine-platform.patch b/testing/rocksdb/ppc64le-determine-platform.patch
deleted file mode 100644
index 3cd7bb7d1db..00000000000
--- a/testing/rocksdb/ppc64le-determine-platform.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Fixes ppc64le platform detection
----
---- a/build_tools/build_detect_platform
-+++ b/build_tools/build_detect_platform
-@@ -630,7 +630,7 @@
- if test -z "$PORTABLE"; then
- if test -n "`echo $TARGET_ARCHITECTURE | grep ^ppc64`"; then
- # Tune for this POWER processor, treating '+' models as base models
-- POWER=`LD_SHOW_AUXV=1 /bin/true | grep AT_PLATFORM | grep -E -o power[0-9]+`
-+ POWER=`cat /proc/cpuinfo | grep -m1 -E -o POWER[0-9]+ | awk '{print tolower($0)}'`
- COMMON_FLAGS="$COMMON_FLAGS -mcpu=$POWER -mtune=$POWER "
- elif test -n "`echo $TARGET_ARCHITECTURE | grep ^s390x`"; then
- COMMON_FLAGS="$COMMON_FLAGS -march=z10 "
diff --git a/testing/rofi-blocks/APKBUILD b/testing/rofi-blocks/APKBUILD
new file mode 100644
index 00000000000..9da3fbdfd5e
--- /dev/null
+++ b/testing/rofi-blocks/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=rofi-blocks
+pkgver=0_git20210123
+# Upstream doesn't do releases (https://github.com/OmarCastro/rofi-blocks/issues/25).
+_gitrev=c84577749f71f6c0836fc7ca7ec0097d2fe66492
+pkgrel=0
+pkgdesc="Rofi modi that allows controlling rofi content throug communication with an external program"
+url="https://github.com/OmarCastro/rofi-blocks"
+arch="all"
+license="GPL-3.0-or-later"
+depends="cmd:rofi"
+makedepends="
+ autoconf
+ automake
+ json-glib-dev
+ libtool
+ rofi-dev
+ "
+source="https://github.com/OmarCastro/rofi-blocks/archive/$_gitrev/rofi-blocks-$_gitrev.tar.gz
+ fix-missing-include.patch
+ fix-check_page_data.patch
+ fix-format-long-int.patch
+ "
+builddir="$srcdir/$pkgname-$_gitrev"
+
+prepare() {
+ default_prepare
+
+ autoreconf -i
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make -j1
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+93f988aee9f1fc333b639acb9c6f3769f8e9b4d3a4ff2b996d8d3866ba69ccbfdbdeecabc66b299d904757626bcf1d283943936dcb09439f0c519ddc813eac04 rofi-blocks-c84577749f71f6c0836fc7ca7ec0097d2fe66492.tar.gz
+27c5f88809c2e5da814ed06cc91b82ce1267ae134b9dffa7f1685415f5f2404b7bdd607b075d1aa4fa4bcb6b56d52d2d3c9a32866ee648fd765ee431ab2e4b54 fix-missing-include.patch
+3a44de8075338ddce2773960f47d7fa8740229a272bb056c0e742a0755e4fc0aa8dbd3f141c0e8d83f547779ae967836cad7d3c4d274951369d75c2c806a5b80 fix-check_page_data.patch
+e3435a639d4ac30e30d897e5a3e7dab5e084ef78006e4def8422d5334c8ed2dc7b0b21f0140c21c264279437c1c8fef1e5d4c577fea4da82e9bf181794c0bdaf fix-format-long-int.patch
+"
diff --git a/testing/rofi-blocks/fix-check_page_data.patch b/testing/rofi-blocks/fix-check_page_data.patch
new file mode 100644
index 00000000000..2f24a6090a7
--- /dev/null
+++ b/testing/rofi-blocks/fix-check_page_data.patch
@@ -0,0 +1,31 @@
+Patch-Source: https://github.com/OmarCastro/rofi-blocks/pull/28
+--
+From f1b36b2198e9d507903a9d626131f7070a6dfc79 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Tue, 1 Feb 2022 19:16:24 +0100
+Subject: [PATCH] test: Fix outdated page_data_add_line call in check_page_data
+
+ check_page_data.c:18:5: error: too few arguments to function 'page_data_add_line'
+ 18 | page_data_add_line(page_data, "aaa", true, true, true);
+ | ^~~~~~~~~~~~~~~~~~
+ In file included from check_page_data.c:4:
+ ../src/page_data.h:58:6: note: declared here
+ 58 | void page_data_add_line(PageData * pageData, const gchar * label, const gchar * icon, const gchar * data, gboolean urgent, gboolean highlight, gboolean markup);
+ | ^~~~~~~~~~~~~~~~~~
+---
+ tests/check_page_data.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/check_page_data.c b/tests/check_page_data.c
+index 23c559a..31e6089 100644
+--- a/tests/check_page_data.c
++++ b/tests/check_page_data.c
+@@ -15,7 +15,7 @@ int main(void)
+ test_uint_equals(.result = page_data_get_number_of_lines(page_data), .expected = 0);
+
+
+- page_data_add_line(page_data, "aaa", true, true, true);
++ page_data_add_line(page_data, "aaa", "any-icon", "any-data", true, true, true);
+ test_string_equals(.result = page_data_get_line_by_index_or_else(page_data, 0, NULL)->text, .expected= "aaa");
+ test_true(page_data_get_line_by_index_or_else(page_data, -1, NULL) == NULL);
+ test_true(page_data_get_line_by_index_or_else(NULL, 0, NULL) == NULL);
diff --git a/testing/rofi-blocks/fix-format-long-int.patch b/testing/rofi-blocks/fix-format-long-int.patch
new file mode 100644
index 00000000000..7dbe1b68978
--- /dev/null
+++ b/testing/rofi-blocks/fix-format-long-int.patch
@@ -0,0 +1,35 @@
+Patch-Source: https://github.com/OmarCastro/rofi-blocks/pull/29
+--
+From 260638614cbe42c06d9ebb651953d6dacf7bab8d Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Tue, 1 Feb 2022 19:21:45 +0100
+Subject: [PATCH] fix: Fix format string in blocks.c - use %li instead of %i
+
+ blocks.c:224:21: warning: format '%i' expects argument of type 'int', but argument 4 has type 'gint64' {aka 'long int'} [-Wformat=]
+ 224 | g_debug("entry_to_focus %i", entry_to_focus);
+ | ^~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~
+ | |
+ | gint64 {aka long int}
+ blocks.c:224:38: note: format string is defined here
+ 224 | g_debug("entry_to_focus %i", entry_to_focus);
+ | ~^
+ | |
+ | int
+ | %li
+---
+ src/blocks.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/blocks.c b/src/blocks.c
+index 0fbca76..99274b1 100644
+--- a/src/blocks.c
++++ b/src/blocks.c
+@@ -221,7 +221,7 @@ static gboolean on_new_input ( GIOChannel *source, GIOCondition condition, gpoin
+
+ if(willFocusToEntry){
+ RofiViewState * rofiViewState = rofi_view_get_active();
+- g_debug("entry_to_focus %i", entry_to_focus);
++ g_debug("entry_to_focus %li", entry_to_focus);
+ rofi_view_set_selected_line(rofiViewState, (unsigned int) entry_to_focus);
+ }
+
diff --git a/testing/rofi-blocks/fix-missing-include.patch b/testing/rofi-blocks/fix-missing-include.patch
new file mode 100644
index 00000000000..fe7cba03b2a
--- /dev/null
+++ b/testing/rofi-blocks/fix-missing-include.patch
@@ -0,0 +1,28 @@
+Patch-Source: https://github.com/OmarCastro/rofi-blocks/pull/27
+--
+From 27c812142531ccb2dd8c22406ac85a8aa40fec94 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Tue, 1 Feb 2022 19:06:54 +0100
+Subject: [PATCH] fix: Fix error unknown type name 'JsonNode' in page_data.h
+
+Fixes the following compile error:
+
+ In file included from check_page_data.c:4:
+ ../src/page_data.h:59:56: error: unknown type name 'JsonNode'
+ 59 | void page_data_add_line_json_node(PageData * pageData, JsonNode * element);
+---
+ src/page_data.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/page_data.h b/src/page_data.h
+index 5cd8f46..a4267d7 100644
+--- a/src/page_data.h
++++ b/src/page_data.h
+@@ -5,6 +5,7 @@
+ #define ROFI_BLOCKS_PAGE_DATA_H
+ #include <gmodule.h>
+ #include <stdint.h>
++#include <json-glib/json-glib.h>
+ typedef enum
+ {
+ MarkupStatus_UNDEFINED = 0,
diff --git a/testing/rofi-calc/APKBUILD b/testing/rofi-calc/APKBUILD
deleted file mode 100644
index e59c5de38b2..00000000000
--- a/testing/rofi-calc/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
-# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
-pkgname=rofi-calc
-pkgver=2.0.0
-pkgrel=0
-pkgdesc="Rofi plugin that uses qalc to parse natural language input and provide results"
-url="https://github.com/svenstaro/rofi-calc"
-arch="all !s390x !riscv64" # blocked by rofi-dev
-license="MIT"
-depends="qalc"
-makedepends="autoconf automake rofi-dev libtool"
-source="https://github.com/svenstaro/rofi-calc/archive/v$pkgver/rofi-calc-$pkgver.tar.gz"
-options="!check" # no tests available
-
-prepare() {
- default_prepare
-
- autoreconf -fi
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-298f9983dbd140f5aee5b3799b165500eae100f3f5744ba07914b962faf01661dee0f5f4c9c12a07a4e210b6115ac6fb377d9fa9a7e64ef5a19600e9f55cd478 rofi-calc-2.0.0.tar.gz
-"
diff --git a/testing/rofi-json-menu/APKBUILD b/testing/rofi-json-menu/APKBUILD
new file mode 100644
index 00000000000..d60ba4b00c4
--- /dev/null
+++ b/testing/rofi-json-menu/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=rofi-json-menu
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Plugin to use rofi for custom menus"
+url="https://github.com/marvinkreis/rofi-json-menu"
+arch="all"
+license="MIT"
+depends="cmd:rofi"
+makedepends="
+ cmake
+ json-c-dev
+ rofi-dev
+ "
+source="https://github.com/marvinkreis/rofi-json-menu/archive/$pkgver/rofi-json-menu-$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ local crossopts=
+ if [ "$CBUILD" != "$CHOST" ]; then
+ crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ $crossopts .
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+7936cea77aebd8163c285a0ef0c699fedb6a3de03b7e98ceee79b21b4d5519032968b3a31397c60270c5bf3e4b62450d05af185e324b1ac503ae358c09e7e3e0 rofi-json-menu-0.2.0.tar.gz
+"
diff --git a/testing/rofi-pass/APKBUILD b/testing/rofi-pass/APKBUILD
index f26221120d9..1603160c7a0 100644
--- a/testing/rofi-pass/APKBUILD
+++ b/testing/rofi-pass/APKBUILD
@@ -5,7 +5,7 @@ pkgver=2.0.2
pkgrel=2
pkgdesc="rofi frontend for pass"
url="https://github.com/carnager/rofi-pass"
-arch="noarch !s390x !mips !mips64 !riscv64" # limited by rofi
+arch="noarch !s390x !riscv64" # limited by rofi
license="GPL-3.0-only"
depends="
bash
diff --git a/testing/rosdep/APKBUILD b/testing/rosdep/APKBUILD
index 516545e78c8..3d47818e6ec 100644
--- a/testing/rosdep/APKBUILD
+++ b/testing/rosdep/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Russ Webber <russ@rw.id.au>
pkgname=rosdep
pkgver=0.19.0
-pkgrel=2
+pkgrel=5
pkgdesc="ROS multi-package manager system dependency tool"
url="http://ros.org/wiki/rosdep"
arch="noarch"
@@ -11,6 +11,7 @@ options="!check" # tests are not very robust https://github.com/ros-infrastruct
depends="python3 py3-yaml py3-catkin-pkg py3-rosdistro py3-rospkg"
makedepends="py3-setuptools"
checkdepends="py3-nose py3-mock py3-flake8"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/ros-infrastructure/rosdep/archive/$pkgver.tar.gz"
build() {
@@ -22,7 +23,7 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="3e1d5829689646d583da2eaaf3b8bbddec3cb4ca3dc3941ee2697f6367510a4dcff11984fa1792a400f49132778d7869f0a8274e42bc8c04f2e326e6a663c494 rosdep-0.19.0.tar.gz"
diff --git a/testing/rosenpass/APKBUILD b/testing/rosenpass/APKBUILD
new file mode 100644
index 00000000000..58baf3c4d1f
--- /dev/null
+++ b/testing/rosenpass/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: guddaff <alpine@guddaff.de>
+# Maintainer: guddaff <alpine@guddaff.de>
+pkgname=rosenpass
+pkgver=0.2.1
+pkgrel=0
+pkgdesc="Formally verified, post-quantum secure VPN using WireGuard"
+url="https://rosenpass.eu/"
+license="MIT OR Apache-2.0"
+# armv7/riscv64 cmake fails (OQS), armhf build freezes
+arch="all !armv7 !armhf !riscv64 "
+makedepends="cargo clang-dev cmake libsodium-dev linux-headers cargo-auditable"
+source="https://github.com/rosenpass/rosenpass/archive/v$pkgver/rosenpass-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked --target="$CTARGET"
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/rosenpass rp -t "$pkgdir"/usr/sbin/
+}
+
+sha512sums="
+91d6c3dd201849dea99431201e6bbe393c056dcdba6f612bea6fb33c9d9f5bdb749aadfed66ed0e0a3ed25a579d83719b8ad90062132eb0158fd712b3fa1d2eb rosenpass-0.2.1.tar.gz
+"
diff --git a/testing/roswell/APKBUILD b/testing/roswell/APKBUILD
index 26d3c8bc2f3..dd68bebfdd3 100644
--- a/testing/roswell/APKBUILD
+++ b/testing/roswell/APKBUILD
@@ -1,7 +1,7 @@
-# Contributor: Lucas Ramage <ramage.lucas@protonmail.com>
-# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
+# Contributor: Lucas Ramage <lucas.ramage@infinite-omicron.com>
+# Maintainer: Lucas Ramage <lucas.ramage@infinite-omicron.com>
pkgname=roswell
-pkgver=21.10.14.111
+pkgver=22.12.14.113
pkgrel=0
pkgdesc="Common Lisp environment setup Utility"
url="https://roswell.github.io"
@@ -32,5 +32,5 @@ package() {
}
sha512sums="
-d6979974807385e1e7be993610b5ed6ef5297ded21727162b6bc3240d402168cfe32b6b243f535c69b91620d0af4a3b7e046080be2881610ffbe0d3babfa3b23 roswell-21.10.14.111.tar.gz
+f102297af67b5d5414f853fc428f39347cb09a604bff95ad50c7f5249582a053e00fa3bb59a52846e3afc8244b8de1a7ee4667847b829f7d176121c496fd038f roswell-22.12.14.113.tar.gz
"
diff --git a/testing/rpg-cli/APKBUILD b/testing/rpg-cli/APKBUILD
index d4d8f80e0c5..8369e4ffede 100644
--- a/testing/rpg-cli/APKBUILD
+++ b/testing/rpg-cli/APKBUILD
@@ -1,17 +1,18 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=rpg-cli
-pkgver=1.0.0
-pkgrel=0
+pkgver=1.0.1
+pkgrel=1
pkgdesc="Your filesystem as a dungeon!"
url="https://github.com/facundoolano/rpg-cli"
license="MIT"
-arch="all !s390x !mips64 !riscv64" # blocked by rust/cargo
-makedepends="cargo"
+arch="all !s390x !riscv64" # blocked by rust/cargo
+makedepends="cargo cargo-auditable"
source="https://github.com/facundoolano/rpg-cli/archive/$pkgver/rpg-cli-$pkgver.tar.gz"
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
check() {
@@ -23,5 +24,5 @@ package() {
}
sha512sums="
-798d6926446e09ff81b12e9e1e181270e1b529a6fcb4ad26f6857c7ee6fbb6a47ec4690bd944a74c57c519acfb9b2eb2eb3ae97fe5f41f45ebfc7444f34e3500 rpg-cli-1.0.0.tar.gz
+bc255daf4f1bfae68c5d0fe5dec79d86ea6f2d59384537836a99063bfdcae4219d40c859904c50e60b4a025736520c0eb6468ca520a3abce5b506407e6b4bbe3 rpg-cli-1.0.1.tar.gz
"
diff --git a/testing/rss-email/APKBUILD b/testing/rss-email/APKBUILD
new file mode 100644
index 00000000000..c7a11a7507e
--- /dev/null
+++ b/testing/rss-email/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Thomas Böhler <witcher@wiredspace.de>
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=rss-email
+pkgdesc="Send RSS/Atom posts as email"
+pkgver=0.4.5
+pkgrel=0
+url="https://git.sr.ht/~witcher/rss-email"
+# ppc64le, s390x, riscv64: rust-ring
+arch="all !ppc64le !s390x !riscv64"
+license="WTFPL"
+makedepends="
+ cargo
+ cargo-auditable
+ scdoc
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~witcher/rss-email/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="!check" # no tests
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+ scdoc < docs/rss-email.1.scd > rss-email.1
+ scdoc < docs/rss-email.5.scd > rss-email.5
+}
+
+package() {
+ install -Dm755 target/release/rss-email "$pkgdir"/usr/bin/rss-email
+ install -Dm644 rss-email.1 "$pkgdir"/usr/share/man/man1/rss-email.1
+ install -Dm644 rss-email.5 "$pkgdir"/usr/share/man/man5/rss-email.5
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/"$pkgname"/README.md
+ install -Dm644 config.example.toml "$pkgdir"/usr/share/"$pkgname"/config.toml
+}
+
+
+sha512sums="
+e12715288789240a81ac48d6e81dca63ebb4ca08ff82ea16e49a785e1c673c08e3da18635df94fc4f2165e68a0323454d627a172ed4ae1a1ef1735186a3f9e17 rss-email-0.4.5.tar.gz
+"
diff --git a/testing/rsstail/APKBUILD b/testing/rsstail/APKBUILD
index 6f819ca0f05..afeaa197459 100644
--- a/testing/rsstail/APKBUILD
+++ b/testing/rsstail/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=rsstail
pkgver=2.1
-pkgrel=0
+pkgrel=1
pkgdesc="tail for rss feeds"
url="https://www.vanheusden.com/rsstail/"
arch="all"
diff --git a/testing/rtl-power-fftw/APKBUILD b/testing/rtl-power-fftw/APKBUILD
index 8726a35f754..5f2b4e54494 100644
--- a/testing/rtl-power-fftw/APKBUILD
+++ b/testing/rtl-power-fftw/APKBUILD
@@ -3,7 +3,7 @@
pkgname=rtl-power-fftw
pkgver=20200601
_commit="cee9a22207ea995bd12adbc6bcfbec92521548b1"
-pkgrel=0
+pkgrel=3
pkgdesc="A program that obtains a power spectrum from RTL devices using FFTW"
url="https://github.com/AD-Vega/rtl-power-fftw"
arch="all"
@@ -13,15 +13,18 @@ makedepends="
fftw-dev
libusb-dev
librtlsdr-dev
+ samurai
tclap-dev
"
-source="$pkgname-$pkgver.tar.gz::https://github.com/AD-Vega/rtl-power-fftw/archive/$_commit.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AD-Vega/rtl-power-fftw/archive/$_commit.tar.gz
+ missing-cstdint.patch
+ "
subpackages="$pkgname-doc"
options="!check" # no tests provided
builddir="$srcdir/$pkgname-$_commit"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
@@ -33,4 +36,7 @@ package() {
DESTDIR="$pkgdir" cmake --build build --target install
}
-sha512sums="1d7db0df54b84a38bf8024558b42657a00f6432912ea1d4312d8c83fc0147f3a912df529e16db63dedc07518161cd9c7b96c969c53dde374a1b270d15e721189 rtl-power-fftw-20200601.tar.gz"
+sha512sums="
+1d7db0df54b84a38bf8024558b42657a00f6432912ea1d4312d8c83fc0147f3a912df529e16db63dedc07518161cd9c7b96c969c53dde374a1b270d15e721189 rtl-power-fftw-20200601.tar.gz
+60ecfc0aaf03bd6589fab7c040b40be74c10b4ab0f5bffa95f8f2845d7f3fb55f07b950253ab7785825f8da2038ad98941d89d20734a951fe45bb55a2091943a missing-cstdint.patch
+"
diff --git a/testing/rtl-power-fftw/missing-cstdint.patch b/testing/rtl-power-fftw/missing-cstdint.patch
new file mode 100644
index 00000000000..267759bb976
--- /dev/null
+++ b/testing/rtl-power-fftw/missing-cstdint.patch
@@ -0,0 +1,12 @@
+diff --git a/src/params.cxx b/src/params.cxx
+index fcf521f..4d0de69 100644
+--- a/src/params.cxx
++++ b/src/params.cxx
+@@ -21,6 +21,7 @@
+ #include <list>
+ #include <math.h>
+ #include <string>
++#include <cstdint>
+ #include <tclap/CmdLine.h>
+
+ #include "params.h"
diff --git a/testing/rtl8812au-src/APKBUILD b/testing/rtl8812au-src/APKBUILD
new file mode 100644
index 00000000000..a1ce76d0af4
--- /dev/null
+++ b/testing/rtl8812au-src/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Bader Zaidan <bader@zaidan.tech>
+pkgname=rtl8812au-src
+_modname=88XXau
+_modver=5.6.4.2
+# no tags, just release branches
+_gitrev=4a983e47dafc048019412350d36270864f6b5f2d
+pkgver=${_modver}_git20231103
+pkgrel=0
+pkgdesc="RTL8812AU/21AU and RTL8814AU wireless drivers"
+url="https://github.com/aircrack-ng/rtl8812au"
+# Currently only x86 and x86_64 is tested, arm(64) is TODO
+arch="x86 x86_64 aarch64 armv7"
+license="GPL-2.0-or-later"
+depends="akms"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/aircrack-ng/rtl8812au/archive/$_gitrev.tar.gz"
+builddir="$srcdir/rtl8812au-$_gitrev"
+options="!check" # No test suite, only sources
+
+prepare() {
+ default_prepare
+
+ cat >AKMBUILD <<-EOF
+ modname=$_modname
+ modver=$_modver
+ built_modules=$_modname.ko
+
+ build() {
+ cp -r "\$srcdir"/* .
+ make \$MAKEFLAGS KVER="\$kernel_ver" KSRC="\$kernel_srcdir" modules
+ }
+ EOF
+}
+
+package() {
+ local destdir="$pkgdir/usr/src/$_modname-$pkgver"
+ install -Dm644 -t "$destdir" AKMBUILD Makefile
+ cp -r core hal include os_dep platform "$destdir"
+}
+
+sha512sums="
+95612734bc1ae349aec7375af910a3acfdb4f1214566c5fc802f766b1d46a8c1cb0663dfe1195c89801926c3b64f61634b3c3dd355dd6b7cf03af9b0efb733ac rtl8812au-src-4a983e47dafc048019412350d36270864f6b5f2d.tar.gz
+"
diff --git a/testing/rtl8821ce-src/APKBUILD b/testing/rtl8821ce-src/APKBUILD
index d19594efb40..4640d64d258 100644
--- a/testing/rtl8821ce-src/APKBUILD
+++ b/testing/rtl8821ce-src/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
pkgname=rtl8821ce-src
-_commit=7cda52ecb1486bc51139d6436d50d614c647897b
+_commit=a478095a45d8aa957b45be4f9173c414efcacc6f
_modname=${pkgname%-src}
-pkgver=5_git20210321
+pkgver=5_git20230504
pkgrel=0
pkgdesc="Wifi drivers for Realtek 8821ce (src, AKMS)"
url="https://github.com/tomaspinho/rtl8821ce"
@@ -35,5 +35,5 @@ package() {
}
sha512sums="
-86433347155dc88c4f9cb0a5608847b3ce81180e5dd9953e6e26ce5f259a0daaec7de445733eea4d3366283585407462ead70c53a46a79b93968cf1b065d8533 rtl8821ce-src-7cda52ecb1486bc51139d6436d50d614c647897b.tar.gz
+fcaaf26947f72cd57aa79092bd8c62ac60482cd1029c11ec16fcc0e56d2cc0578086449aab3cf12c5a128c13ffeb952d0f620d099d3d19f04d6a3ae7f0ff75ba rtl8821ce-src-a478095a45d8aa957b45be4f9173c414efcacc6f.tar.gz
"
diff --git a/testing/rtl88x2bu-src/APKBUILD b/testing/rtl88x2bu-src/APKBUILD
index bd064e34f1a..ec846461fba 100644
--- a/testing/rtl88x2bu-src/APKBUILD
+++ b/testing/rtl88x2bu-src/APKBUILD
@@ -3,9 +3,9 @@
pkgname=rtl88x2bu-src
_modname=${pkgname%-src}
_projname=RTL88x2BU-Linux-Driver
-pkgver=5.8.7.4
+pkgver=5.13.1_git20230711
# No git tags in the repo, but they use version numbers.
-_gitrev=c266a028859a393932844d678c3469845712c395
+_gitrev=12cfcd8cd8ec7115158df3d223510435541ddc32
pkgrel=0
pkgdesc="Kernel module for Realtek rtl88x2bu WiFi chipset (sources, AKMS)"
url="https://github.com/RinCat/RTL88x2BU-Linux-Driver"
@@ -34,10 +34,10 @@ prepare() {
package() {
mkdir -p "$pkgdir"/usr/src/$_modname-$pkgver
- cp -pr */ AKMBUILD LICENSE Makefile halmac.mk rtl8822b.mk \
+ cp -pr ./*/ AKMBUILD LICENSE Makefile halmac.mk rtl8822b.mk \
"$pkgdir"/usr/src/$_modname-$pkgver/
}
sha512sums="
-2504713c47a37a44e18b77f681b1cda7bd34268d421b2af909e3262fbd728ca3d763626948f563d7fda4697d87c52e10c3f37e53b245226202ebe86d11de88d2 RTL88x2BU-Linux-Driver-c266a028859a393932844d678c3469845712c395.tar.gz
+98f5c47fc6c37acdc80cc6662198e5e90ff3222e21755b0ed43a608a63fc4e91432e3cb659ad4399228c8a99945ff4138c9b587b95d34ca9da2e068c1fa49b58 RTL88x2BU-Linux-Driver-12cfcd8cd8ec7115158df3d223510435541ddc32.tar.gz
"
diff --git a/testing/rtl_433/APKBUILD b/testing/rtl_433/APKBUILD
deleted file mode 100644
index 6cc096f316f..00000000000
--- a/testing/rtl_433/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: omni <omni+alpine@hack.org>
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=rtl_433
-pkgver=21.12
-pkgrel=0
-pkgdesc="Program to decode transmissions on the ISM bands"
-url="https://github.com/merbanan/rtl_433"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="cmake librtlsdr-dev openssl-dev"
-subpackages="$pkgname-doc $pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/merbanan/rtl_433/archive/refs/tags/$pkgver.tar.gz"
-
-build() {
- mkdir build
- cmake -B build . \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr
- make -C build
-}
-
-check() {
- make -C build test
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir"/etc
- mv "$pkgdir"/usr/etc/"$pkgname" "$pkgdir"/etc/
- rmdir "$pkgdir"/usr/etc
-}
-
-sha512sums="
-8183887c1e09e94bee10b70190555d7fa0fa6675bba6130f78ab111b77428fef90696bc15a8e5abb07ae5ae3e492641a40acd6087d5bc413db5f2944878f03a3 rtl_433-21.12.tar.gz
-"
diff --git a/testing/rtmidi/APKBUILD b/testing/rtmidi/APKBUILD
new file mode 100644
index 00000000000..740a82be090
--- /dev/null
+++ b/testing/rtmidi/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer:
+pkgname=rtmidi
+pkgver=6.0.0
+pkgrel=0
+pkgdesc="C++ classes that provide a common API for realtime MIDI input/output"
+url="https://github.com/thestk/rtmidi"
+arch="all"
+license="MIT"
+makedepends="
+ alsa-lib-dev
+ cmake
+ jack-dev
+ samurai
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/thestk/rtmidi/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ mkdir -p "$pkgdir"/usr/lib/cmake
+ mv "$pkgdir"/usr/share/rtmidi "$pkgdir"/usr/lib/cmake
+ rmdir "$pkgdir"/usr/share
+}
+
+sha512sums="
+7ff7f85ff86fc019ab7906a46efc986b2a340b2f9a9d504bda85d0afc75921b905b32cb37f87e30ab9d1f13e62587c4ade736dad1609a0880eeab3fe5a936acb rtmidi-6.0.0.tar.gz
+"
diff --git a/testing/rtptools/APKBUILD b/testing/rtptools/APKBUILD
index 67badc14f36..4df57b0d0b3 100644
--- a/testing/rtptools/APKBUILD
+++ b/testing/rtptools/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=rtptools
pkgver=1.22
-pkgrel=1
+pkgrel=2
pkgdesc="RTP Tools"
url="https://www.cs.columbia.edu/irt/software/rtptools/"
arch="all"
diff --git a/testing/rtw89-src/APKBUILD b/testing/rtw89-src/APKBUILD
index c86e60c6506..a11aad39a93 100644
--- a/testing/rtw89-src/APKBUILD
+++ b/testing/rtw89-src/APKBUILD
@@ -2,15 +2,15 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=rtw89-src
_modname=rtw89
-pkgver=7_p20211023
-_pkgver=${pkgver/_p/-}
+pkgver=7_p20230725
+_gitrev=3891b68c09df5e023b78c20712c40b85be0436f2
pkgrel=0
-pkgdesc="Driver for Realtek 8852AE, an 802.11ax device (sources)"
+pkgdesc="Driver for Realtek 8852AE, an 802.11ax device for Linux <6.5 (sources)"
url="https://github.com/lwfinger/rtw89"
arch="noarch"
license="GPL-2.0-or-later"
-source="https://github.com/lwfinger/rtw89/archive/v$_pkgver/$_modname-$_pkgver.tar.gz"
-builddir="$srcdir/rtw89-$_pkgver"
+source="https://github.com/lwfinger/rtw89/archive/$_gitrev/$_modname-$_gitrev.tar.gz"
+builddir="$srcdir/rtw89-$_gitrev"
options="!check" # just sources
prepare() {
@@ -25,9 +25,9 @@ prepare() {
package() {
install -D -m644 -t "$pkgdir"/usr/src/$_modname-$pkgver \
- *.c *.h *.bin Makefile AKMBUILD
+ ./*.c ./*.h Makefile AKMBUILD
}
sha512sums="
-1ae4f93258291f6a119a1dd13146e955d5d941e83149eb407848877dc572066025a10d3e5aa7dd4b96671d158a570163cf6ed9bc4eb5ef221fe4ebb663585a98 rtw89-7-20211023.tar.gz
+99ec9a99552915a7530714627e10c40f36fd7a431c2506a87cf008484aa220d4f829ea696193fdf5071d8f9fb0c5f8cf17e04e756ba2ebe5a3e1ac151bd62be1 rtw89-3891b68c09df5e023b78c20712c40b85be0436f2.tar.gz
"
diff --git a/testing/rubberband/APKBUILD b/testing/rubberband/APKBUILD
deleted file mode 100644
index 9d64bc67d49..00000000000
--- a/testing/rubberband/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=rubberband
-pkgver=1.9.1
-pkgrel=0
-pkgdesc="library for audio time-stretching and pitch-shifting"
-url="https://www.breakfastquay.com/rubberband/"
-arch="all"
-license="GPL-2.0-only"
-makedepends="fftw-dev
- ladspa-dev
- libsamplerate-dev
- libsndfile-dev
- lv2-dev
- meson
- vamp-sdk-dev"
-subpackages="$pkgname-static $pkgname-dev"
-source="https://breakfastquay.com/files/releases/rubberband-$pkgver.tar.bz2"
-options="!check" # No tests
-
-build() {
- abuild-meson \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --buildtype=plain \
- . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="cb20ef8fb717a9e6b5b0b921541bd701e94326e12cdb20d50bed344d12fa1b4fd731335c3a0a7f2d2a5ce96031d965b209e7667c4d55fd8494b8e20d3409f0d3 rubberband-1.9.1.tar.bz2"
diff --git a/testing/ruby-build/APKBUILD b/testing/ruby-build/APKBUILD
index 4a44fd9282a..51ef784fbc2 100644
--- a/testing/ruby-build/APKBUILD
+++ b/testing/ruby-build/APKBUILD
@@ -1,21 +1,48 @@
# Contributor: Thomas Kienlen <kommander@laposte.net>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=ruby-build
-pkgver=20211227
+pkgver=20240319
pkgrel=0
pkgdesc="Compile and install Ruby"
url="https://github.com/rbenv/ruby-build"
arch="noarch"
license="MIT"
-depends="bash zlib-dev openssl-dev gdbm-dev readline-dev
- libffi-dev coreutils yaml-dev linux-headers autoconf"
+depends="
+ bash
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-runtime
+ "
source="$pkgname-$pkgver.tar.gz::https://github.com/rbenv/ruby-build/archive/v$pkgver.tar.gz"
options="!check" # No test suite
+install="$pkgname.post-install"
package() {
PREFIX="$pkgdir/usr" ./install.sh
+
+ install -Dvm644 LICENSE \
+ -t "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
+runtime() {
+ pkgdesc="ruby-build runtime dependencies"
+
+ depends="
+ autoconf
+ coreutils
+ libffi-dev
+ linux-headers
+ gdbm-dev
+ openssl-dev>3
+ readline-dev
+ yaml-dev
+ zlib-dev
+ "
+
+ mkdir -p "$subpkgdir"
}
sha512sums="
-2bb49ea7ac0b79b934b3e94efe4026d705190c5e2aa85abc0a31471bf9a93c4c7d5ff5d982f2daf3f2cb59332428330cbf090e6e4cc279e025f36d714ae8ba38 ruby-build-20211227.tar.gz
+f6f02de61677fcb5146aadd5970c90a0fdad7519a714feb7ad06e5f76c78055a91d4a3c14e1ba8ddc47968ace271842090e02ea4b6f09b32691040fc385403d5 ruby-build-20240319.tar.gz
"
diff --git a/testing/ruby-build/ruby-build.post-install b/testing/ruby-build/ruby-build.post-install
new file mode 100755
index 00000000000..dedec0dd5a7
--- /dev/null
+++ b/testing/ruby-build/ruby-build.post-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+cat <<EOF
+*
+* Building ruby or installing gems with extentions requires more packages
+*
+* Please install: ruby-build-runtime
+* or the following list:
+* autoconf coreutils libffi-dev linux-headers gdbm-dev openssl-dev
+* readline-dev yaml-dev zlib-dev
+*
+EOF
diff --git a/testing/ruby-erubi/APKBUILD b/testing/ruby-erubi/APKBUILD
deleted file mode 100644
index 1fc1e86316b..00000000000
--- a/testing/ruby-erubi/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=ruby-erubi
-pkgver=1.10.0
-pkgrel=0
-pkgdesc="small ERB implementation"
-url="https://github.com/jeremyevans/erubi"
-arch="noarch"
-license="MIT"
-depends="ruby"
-checkdepends="ruby-minitest ruby-rake"
-options="!check" # requires coveralls
-source="$pkgname-$pkgver.tar.gz::https://github.com/jeremyevans/erubi/archive/refs/tags/$pkgver.tar.gz"
-builddir="$srcdir/erubi-$pkgver"
-
-build() {
- gem build erubi.gemspec
-}
-
-check() {
- rake spec
-}
-
-package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
-
- gem install \
- --local \
- --install-dir "$gemdir" \
- --bindir "$pkgdir/usr/bin" \
- --ignore-dependencies \
- --no-document \
- --verbose \
- erubi
-
- rm -r "$gemdir"/cache \
- "$gemdir"/extensions \
- "$gemdir"/doc
-}
-
-sha512sums="
-adf62511ce9324b4c5f7a95863254c9d95cf40f2107eddad1118ef97d7f534fb74d79b48575ff17209e492811a9a8f87c52fa7a30e4b6ea4e50504cf5572c024 ruby-erubi-1.10.0.tar.gz
-"
diff --git a/testing/ruby-thor/APKBUILD b/testing/ruby-thor/APKBUILD
deleted file mode 100644
index c6c6731b50f..00000000000
--- a/testing/ruby-thor/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=ruby-thor
-pkgver=1.1.0
-pkgrel=0
-pkgdesc="toolkit for building powerfull command-line interfaces"
-url="http://whatisthor.com/"
-arch="noarch"
-license="MIT"
-depends="ruby"
-checkdepends="ruby-rspec"
-options="!check" # requires simplecov / coverall
-source="$pkgname-$pkgver.tar.gz::https://github.com/rails/thor/archive/refs/tags/v$pkgver.tar.gz"
-builddir="$srcdir/thor-$pkgver"
-
-build() {
- gem build thor.gemspec
-}
-
-check() {
- rspec
-}
-
-package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
-
- gem install \
- --local \
- --install-dir "$gemdir" \
- --bindir "$pkgdir/usr/bin" \
- --ignore-dependencies \
- --no-document \
- --verbose \
- thor
-
- rm -r "$gemdir"/cache \
- "$gemdir"/extensions \
- "$gemdir"/doc
-}
-
-sha512sums="
-d1872a834478c5a2054dde6f55e93f6765fd628536f99f888bd7495436c88658537d48c44ef1e5ad6d1388edfa294ea2a3f3cbde32c19b7d2253b78bc62bf9d0 ruby-thor-1.1.0.tar.gz
-"
diff --git a/testing/ruby-xdg/APKBUILD b/testing/ruby-xdg/APKBUILD
deleted file mode 100644
index 3f508d283b9..00000000000
--- a/testing/ruby-xdg/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=ruby-xdg
-pkgver=5.3.0
-pkgrel=0
-pkgdesc="xdg base directory standard library for ruby"
-url="https://www.alchemists.io/projects/xdg/"
-arch="noarch"
-license="Hippocratic-3.0"
-depends="ruby"
-checkdepends="ruby-rake ruby-bundler"
-options="!check" # requires bundler-leak
-source="$pkgname-$pkgver.tar.gz::https://github.com/bkuhlmann/xdg/archive/refs/tags/$pkgver.tar.gz
- gemspec-remove-signing.patch
- "
-builddir="$srcdir/xdg-$pkgver"
-
-build() {
- gem build xdg.gemspec
-}
-
-check() {
- rspec
-}
-
-package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
-
- gem install \
- --local \
- --install-dir "$gemdir" \
- --bindir "$pkgdir/usr/bin" \
- --ignore-dependencies \
- --no-document \
- --verbose \
- xdg
-
- rm -r "$gemdir"/cache \
- "$gemdir"/extensions \
- "$gemdir"/doc
-}
-
-sha512sums="
-d180de55cd67f2f0de70e338839615e15190ec7b798a5e651f79fca960b85063868d2e1625e88784c14529b1feeb9151a65478bdd62e8505ec87d3938d3776b1 ruby-xdg-5.3.0.tar.gz
-791547a19596731f9b25112da6810f00a8f489cf38f40033180d7571c01c48a0015f1c5a27bff96d15f6e1d99e52352dfb8fa0093f1757bbf09499ee66da774e gemspec-remove-signing.patch
-"
diff --git a/testing/ruby-xdg/gemspec-remove-signing.patch b/testing/ruby-xdg/gemspec-remove-signing.patch
deleted file mode 100644
index b428b8189bf..00000000000
--- a/testing/ruby-xdg/gemspec-remove-signing.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/xdg.gemspec b/xdg.gemspec
-index 4e3db9b..33cae5f 100644
---- a/xdg.gemspec
-+++ b/xdg.gemspec
-@@ -20,9 +20,6 @@ Gem::Specification.new do |spec|
- "source_code_uri" => "https://github.com/bkuhlmann/xdg"
- }
-
-- spec.signing_key = Gem.default_key_path
-- spec.cert_chain = [Gem.default_cert_path]
--
- spec.required_ruby_version = "~> 3.0"
-
- spec.files = Dir["lib/**/*"]
diff --git a/testing/rue/APKBUILD b/testing/rue/APKBUILD
new file mode 100644
index 00000000000..b22cf08671f
--- /dev/null
+++ b/testing/rue/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Tom Tsagk <tomtsagk@darkdimension.org>
+# Maintainer: Tom Tsagk <tomtsagk@darkdimension.org>
+pkgname=rue
+pkgver=0.3.0
+pkgrel=1
+pkgdesc="A card game about deduction, love and regret"
+url="https://darkdimension.org/games/rue.html"
+arch="all"
+license="GPL-3.0-only"
+makedepends="musl-dev glew-dev sdl2-dev sdl2_mixer-dev avdl"
+options="!check" # no tests for this project yet
+source="$pkgname-$pkgver.tar.gz::https://github.com/tomtsagk/rue/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ make prefix=/usr
+}
+
+package() {
+ make DESTDIR="$pkgdir" prefix=/usr install
+
+}
+
+sha512sums="
+25ce62493b65075749dc91062e483a8a4a66723019241f45768a24fa784358faee8f5aca1f833d9a5b818f2cb49d74f6b37dd31775fc7c4ea6c4194baa5908a2 rue-0.3.0.tar.gz
+"
diff --git a/testing/ruff-lsp/APKBUILD b/testing/ruff-lsp/APKBUILD
new file mode 100644
index 00000000000..4185ae44782
--- /dev/null
+++ b/testing/ruff-lsp/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=ruff-lsp
+pkgver=0.0.53
+pkgrel=0
+pkgdesc="Language Server Protocol implementation for Ruff"
+url="https://github.com/charliermarsh/ruff-lsp"
+arch="all"
+license="MIT"
+depends="
+ py3-gls
+ py3-lsprotocol
+ py3-typing-extensions
+ ruff
+ "
+makedepends="py3-gpep517 py3-installer py3-hatchling"
+checkdepends="py3-lsp-jsonrpc py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/astral-sh/ruff-lsp/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests ran
+
+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 unittest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/ruff_lsp-$pkgver-py3-none-any.whl
+}
+
+sha512sums="
+a5a14299486943dec3143e54424b631acee619d3d88449de44c4d8167dd7776e2191a8873585acf40959d22f733a7196e275e58a6b4f0919fe8e2858e2d07414 ruff-lsp-0.0.53.tar.gz
+"
diff --git a/testing/runst/APKBUILD b/testing/runst/APKBUILD
new file mode 100644
index 00000000000..42bcb2c194a
--- /dev/null
+++ b/testing/runst/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=runst
+pkgver=0.1.7
+pkgrel=0
+pkgdesc="Dead simple notification daemon"
+url="https://github.com/orhun/runst"
+arch="all !s390x"
+license="MIT OR Apache-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ dbus-glib-dev
+ pango-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/orhun/runst/archive/v$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/runst" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE-MIT -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+68ea1e8f48d5b8e76d246c5e3ed20e1a9580adaabb1853280de6b54b3b12a548ab647ccb57371bab9b23d2976d3d8c41fe3164d530db4b5380bd394b62dc3a4f runst-0.1.7.tar.gz
+"
diff --git a/testing/rust-script/APKBUILD b/testing/rust-script/APKBUILD
new file mode 100644
index 00000000000..0a6c0908971
--- /dev/null
+++ b/testing/rust-script/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=rust-script
+pkgver=0.34.0
+pkgrel=0
+pkgdesc="Run Rust files and expressions as scripts without any setup or compilation step"
+url="https://rust-script.org/"
+license="Apache-2.0 OR MIT"
+arch="all !armhf" # tests hang
+makedepends="cargo cargo-auditable"
+source="https://github.com/fornwall/rust-script/archive/$pkgver/rust-script-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+7475526fadba3caaa7035104efba05d49b0b8b40e2fed1cbe0b46750f786d5f8da454ef32fdd1df958c13796ea403e0a67701b58897cf2c623796452dacc231e rust-script-0.34.0.tar.gz
+"
diff --git a/testing/rustdesk-server/APKBUILD b/testing/rustdesk-server/APKBUILD
new file mode 100644
index 00000000000..6a3ee3a9815
--- /dev/null
+++ b/testing/rustdesk-server/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: alealexpro100 <alealexn@gmail.com>
+# Maintainer: alealexpro100 <alealexn@gmail.com>
+pkgname=rustdesk-server
+_pkgver=1.1.10-3
+pkgver=${_pkgver/-/.}
+pkgrel=0
+pkgdesc="RustDesk Server Program"
+url="https://github.com/rustdesk/rustdesk-server"
+# ppc64le and s390x and riscv64 blocked by ring crate
+arch="all !ppc64le !s390x !riscv64"
+license="GPL-3.0-or-later"
+options="!check net" # RustDesk server has no tests yet
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-openrc
+ "
+source="
+ $pkgname-$_pkgver.tar.gz::https://github.com/rustdesk/rustdesk-server/archive/refs/tags/$_pkgver.tar.gz
+ hbbr.initd
+ hbbs.initd
+ hbbr.confd
+ hbbs.confd
+ cargo.lock.patch
+ "
+builddir="$srcdir/$pkgname-$_pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+package() {
+ install="$pkgname.pre-install"
+ install -Dm755 "$builddir/target/release/hbbs" -t "$pkgdir/usr/bin"
+ install -Dm755 "$builddir/target/release/hbbr" -t "$pkgdir/usr/bin"
+ install -Dm755 "$srcdir/hbbs.initd" "$pkgdir/etc/init.d/hbbs"
+ install -Dm755 "$srcdir/hbbr.initd" "$pkgdir/etc/init.d/hbbr"
+ install -Dm644 "$srcdir/hbbs.confd" "$pkgdir/etc/conf.d/hbbs"
+ install -Dm644 "$srcdir/hbbr.confd" "$pkgdir/etc/conf.d/hbbr"
+}
+
+sha512sums="
+aada3d9ec37b85bebb57a798c9fbcb6998b334f25b04fe7dad80fe8362420cfbb6a28c75ced8f1a3a371d7667f67d1840e089cc059a78f0a161b7d63d3ffc73b rustdesk-server-1.1.10-3.tar.gz
+d94a65ec35bb3d61008c46e7c03465223c835dd277741ac2409a73df7902b461c2ac9fa853b9e20a61b56c231932ad75e29872b28a715f1e4df254edacd3f92b hbbr.initd
+87852329c8f1b011bcb9f80727259e9ad3a94332a47512f169604a114362606e51fc819544a5feaf13d22edb2dbabc22d247780acba60c8ac0228b902ed0be6b hbbs.initd
+a4b2a36449f39b0b45d789cc4a05abe489555ce2299068e4d75389e209660220fc9ab54bef7621088a33b1548336ff50183b3acc1a4204005e1d24eeb5a521da hbbr.confd
+cbe32a1d56106f8b169aca211f3a64ac8c81eb14f1e99f96692f4842714f1db142145a8246f733a4dc549f0dd046dfc48b8981d81c9ced205614900ad0a1058d hbbs.confd
+1f5c4b56ae570210424430b127662f4f410fa91dd919400a38daeb3d947c51ac599b147cc3c1c9479baea91498b0e824d3e6251581f9ba82b8fcac707824bef2 cargo.lock.patch
+"
diff --git a/testing/rustdesk-server/cargo.lock.patch b/testing/rustdesk-server/cargo.lock.patch
new file mode 100644
index 00000000000..73aacfcdd17
--- /dev/null
+++ b/testing/rustdesk-server/cargo.lock.patch
@@ -0,0 +1,53 @@
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -702,13 +702,13 @@
+
+ [[package]]
+ name = "getrandom"
+-version = "0.2.6"
++version = "0.2.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
++checksum = "be4136b2a15dd319360be1c07d9933517ccf0be8f16bf62a3bee4f0d618df427"
+ dependencies = [
+ "cfg-if",
+ "libc",
+- "wasi 0.10.2+wasi-snapshot-preview1",
++ "wasi",
+ ]
+
+ [[package]]
+@@ -1051,9 +1051,9 @@
+
+ [[package]]
+ name = "libc"
+-version = "0.2.125"
++version = "0.2.143"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5916d2ae698f6de9bfb891ad7a8d65c09d232dc58cc4ac433c7da3b2fd84bc2b"
++checksum = "edc207893e85c5d6be840e969b496b53d94cec8be2d501b214f50daa97fa8024"
+
+ [[package]]
+ name = "libsodium-sys"
+@@ -1208,7 +1208,7 @@
+ dependencies = [
+ "libc",
+ "log",
+- "wasi 0.11.0+wasi-snapshot-preview1",
++ "wasi",
+ "windows-sys 0.36.1",
+ ]
+
+@@ -2583,12 +2583,6 @@
+ "log",
+ "try-lock",
+ ]
+-
+-[[package]]
+-name = "wasi"
+-version = "0.10.2+wasi-snapshot-preview1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
+
+ [[package]]
+ name = "wasi"
diff --git a/testing/rustdesk-server/hbbr.confd b/testing/rustdesk-server/hbbr.confd
new file mode 100644
index 00000000000..65253cf301e
--- /dev/null
+++ b/testing/rustdesk-server/hbbr.confd
@@ -0,0 +1,11 @@
+# hbbr configuration options
+
+# extra arguments to pass to hbbr
+command_args=""
+# user:group
+command_user="rustdesk:rustdesk"
+directory="/var/lib/rustdesk-server"
+umask=0022
+
+# comment to use traditional service management
+supervisor=supervise-daemon
diff --git a/testing/rustdesk-server/hbbr.initd b/testing/rustdesk-server/hbbr.initd
new file mode 100755
index 00000000000..c704e0adba1
--- /dev/null
+++ b/testing/rustdesk-server/hbbr.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+
+name=hbbr
+description="Rust-desk server hbbr daemon"
+command="/usr/bin/hbbr"
+command_background=true
+command_args=${command_args:-"-k _"}
+: ${directory:=/var/lib/rustdesk-server}
+: ${command_user:=rustdesk:rustdesk}
+: ${umask:=0022}
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o $command_user "$directory"
+}
diff --git a/testing/rustdesk-server/hbbs.confd b/testing/rustdesk-server/hbbs.confd
new file mode 100644
index 00000000000..74e24ee46c8
--- /dev/null
+++ b/testing/rustdesk-server/hbbs.confd
@@ -0,0 +1,11 @@
+# hbbs configuration options
+
+# extra arguments to pass to hbbs
+command_args=""
+# user:group
+command_user="rustdesk:rustdesk"
+directory="/var/lib/rustdesk-server"
+umask=0022
+
+# comment to use traditional service management
+supervisor=supervise-daemon
diff --git a/testing/rustdesk-server/hbbs.initd b/testing/rustdesk-server/hbbs.initd
new file mode 100755
index 00000000000..0645526f113
--- /dev/null
+++ b/testing/rustdesk-server/hbbs.initd
@@ -0,0 +1,18 @@
+#!/sbin/openrc-run
+
+name=hbbs
+description="Rust-desk server hbbs daemon"
+command="/usr/bin/hbbs"
+command_background=true
+: ${directory:=/var/lib/rustdesk-server}
+: ${command_user:=rustdesk:rustdesk}
+: ${umask:=0022}
+
+depend() {
+ need net hbbr
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o $command_user "$directory"
+}
diff --git a/testing/rustdesk-server/rustdesk-server.pre-install b/testing/rustdesk-server/rustdesk-server.pre-install
new file mode 100755
index 00000000000..914aca877d3
--- /dev/null
+++ b/testing/rustdesk-server/rustdesk-server.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S rustdesk 2>/dev/null
+adduser -S -D -h /var/lib/rustdesk-server -s /sbin/nologin -G rustdesk -g rustdesk rustdesk 2>/dev/null
+
+exit 0
diff --git a/testing/rustic/APKBUILD b/testing/rustic/APKBUILD
new file mode 100644
index 00000000000..f665b32944e
--- /dev/null
+++ b/testing/rustic/APKBUILD
@@ -0,0 +1,82 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=rustic
+# NOTE: do not move out of the testing repository until upstream says it's no longer beta-quality software
+pkgver=0.6.1
+pkgrel=1
+pkgdesc="Fast, encrypted, deduplicated backups"
+url="https://github.com/rustic-rs/rustic"
+license="MIT OR Apache-2.0"
+arch="all !s390x" # fails to build nix crate
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ zstd-dev
+ "
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+# NOTE: Keep in sync with rustic_core in Cargo.toml.
+_core_ver=0.1.2
+source="https://github.com/rustic-rs/rustic/archive/v$pkgver/rustic-$pkgver.tar.gz
+ https://github.com/rustic-rs/rustic_core/archive/$_core_ver/rustic_core-$_core_ver.tar.gz
+ make-self-update-optional.patch
+ fix-abscissa_core-features.patch
+ rustic_core-add-tls-native.patch
+ build-with-system-tls.patch
+ "
+options="net" # fetch dependencies
+
+# Disable self-update feature.
+_cargo_opts="--no-default-features --frozen"
+
+prepare() {
+ mkdir -p vendor
+ mv "$srcdir"/rustic_core-$_core_ver vendor/rustic_core
+
+ default_prepare
+
+ # Rust target triple.
+ local target=$(rustc -vV | sed -n 's/host: //p')
+
+ # Build against system-provided zstd.
+ mkdir -p .cargo
+ cat >> .cargo/config.toml <<-EOF
+ [target.$target]
+ zstd = { rustc-link-lib = ["zstd"] }
+ EOF
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build $_cargo_opts --release
+
+ target/release/rustic completions bash > $pkgname.bash
+ target/release/rustic completions fish > $pkgname.fish
+ target/release/rustic completions zsh > $pkgname.zsh
+}
+
+check() {
+ cargo test $_cargo_opts
+}
+
+package() {
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 $pkgname.bash "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+44b1e2be7336f74e832c33d06101b2ad1ba79123926bd00f3e4884cd49abd75e727e26636451bc393d154ec438fd9168ae9dce8bfa4ec9ffd371b89b6b426dcd rustic-0.6.1.tar.gz
+a3883df06f927e5a0f786e21ae7bec2d2f6090afbd30828bfe8f16bc706cb755688f6d74e5336fc1fce1cbeb750c954e84039084fcfc2fcc1ffcf560f77c576e rustic_core-0.1.2.tar.gz
+f63047855f5e01ea547b921af54e81dc63559e4dee15811e6cfdbf5e503543bb76b0d2612b660c7adff1751e5564186e386145f61f50d0188e5d8215c2586962 make-self-update-optional.patch
+ef26d102a32cea39ccd69cd5fe20cc18ef9a5157dbbb1b90ae640922d88c3739947ed2900f6e902ea9583f51be66d32cedddf298b306e3d24a6529d9163da5d1 fix-abscissa_core-features.patch
+8d8b40f01ba324987130737b119aaa1a8a330a90263206c7f6eea8c4ba82c35297964a429bc25f87d2a91653f52d1837bca5d305cec684b5aff9df302f2220b7 rustic_core-add-tls-native.patch
+e64ba6947ea0eda3074f267fd05e831b9c66850755200233cd155a7c9b184fb0391a3d5199e5fbc1c2fbdc9d47c277aeb2b00df3f530b1c7fc3c0605a7acfc25 build-with-system-tls.patch
+"
diff --git a/testing/rustic/build-with-system-tls.patch b/testing/rustic/build-with-system-tls.patch
new file mode 100644
index 00000000000..0f1db257c74
--- /dev/null
+++ b/testing/rustic/build-with-system-tls.patch
@@ -0,0 +1,225 @@
+Link with system-provided openssl instead of bundling rustls.
+
+This depends on rustic_core-add-tls-native.patch.
+
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -102,7 +102,7 @@
+ [target.'cfg(not(windows))'.dependencies]
+ libc = "0.2.150"
+ [workspace.dependencies]
+-rustic_core = { version = "0.1.2", features = ["cli"] }
++rustic_core = { version = "0.1.2", default-features = false, features = ["cli", "tls-native"] }
+ abscissa_core = { version = "0.7.0", default-features = false, features = ["application"] }
+
+ # logging
+@@ -200,3 +200,6 @@
+ lto = true
+ debug-assertions = false
+ codegen-units = 1
++
++[patch.crates-io]
++rustic_core = { path = "vendor/rustic_core" }
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1080,6 +1080,21 @@
+ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
+ [[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
++[[package]]
+ name = "form_urlencoded"
+ version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1360,6 +1375,19 @@
+ ]
+
+ [[package]]
++name = "hyper-tls"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
++dependencies = [
++ "bytes",
++ "hyper",
++ "native-tls",
++ "tokio",
++ "tokio-native-tls",
++]
++
++[[package]]
+ name = "iana-time-zone"
+ version = "0.1.58"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1681,6 +1709,24 @@
+ ]
+
+ [[package]]
++name = "native-tls"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
++dependencies = [
++ "lazy_static",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
++]
++
++[[package]]
+ name = "nix"
+ version = "0.27.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1757,12 +1803,50 @@
+ checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
+
+ [[package]]
++name = "openssl"
++version = "0.10.62"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8cde4d2d9200ad5909f8dac647e29482e07c3a35de8a13fce7c9c7747ad9f671"
++dependencies = [
++ "bitflags 2.4.1",
++ "cfg-if 1.0.0",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn 2.0.39",
++]
++
++[[package]]
+ name = "openssl-probe"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+ [[package]]
++name = "openssl-sys"
++version = "0.9.98"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c1665caf8ab2dc9aef43d1c0023bd904633a6a05cb30b0ad59bec2ae986e57a7"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
++[[package]]
+ name = "option-ext"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -2112,21 +2196,23 @@
+ "http-body",
+ "hyper",
+ "hyper-rustls",
++ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
++ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+ "rustls",
+- "rustls-native-certs",
+ "rustls-pemfile",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "system-configuration",
+ "tokio",
++ "tokio-native-tls",
+ "tokio-rustls",
+ "tokio-util",
+ "tower-service",
+@@ -2239,8 +2325,6 @@
+ [[package]]
+ name = "rustic_core"
+ version = "0.1.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a5932066f9e144fc15043c4e0b9a82bfa16c83910243318bdafbb38496c1518a"
+ dependencies = [
+ "aes256ctr_poly1305aes",
+ "aho-corasick",
+@@ -2327,18 +2411,6 @@
+ ]
+
+ [[package]]
+-name = "rustls-native-certs"
+-version = "0.6.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a9aace74cb666635c918e9c12bc0d348266037aa8eb599b5cba565709a8dff00"
+-dependencies = [
+- "openssl-probe",
+- "rustls-pemfile",
+- "schannel",
+- "security-framework",
+-]
+-
+-[[package]]
+ name = "rustls-pemfile"
+ version = "1.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -2960,6 +3032,16 @@
+ ]
+
+ [[package]]
++name = "tokio-native-tls"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
++dependencies = [
++ "native-tls",
++ "tokio",
++]
++
++[[package]]
+ name = "tokio-rustls"
+ version = "0.24.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -3193,6 +3275,12 @@
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
++
++[[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+ [[package]]
+ name = "version_check"
diff --git a/testing/rustic/fix-abscissa_core-features.patch b/testing/rustic/fix-abscissa_core-features.patch
new file mode 100644
index 00000000000..719e71f7646
--- /dev/null
+++ b/testing/rustic/fix-abscissa_core-features.patch
@@ -0,0 +1,35 @@
+Patch-Source: https://github.com/rustic-rs/rustic/pull/976
+--
+From b7c61c6e1bc4fec18ff5977169c014b6098a17d9 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sun, 31 Dec 2023 03:37:37 +0100
+Subject: [PATCH] fix(deps): enable abscissa_core testing feature only for dev (#976)
+
+---
+ Cargo.toml | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index b0260fc..24486f1 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -89,6 +89,7 @@ rhai = { workspace = true }
+ simplelog = { workspace = true }
+
+ [dev-dependencies]
++abscissa_core = { workspace = true, features = ["testing"] }
+ aho-corasick = { workspace = true }
+ dircmp = { workspace = true }
+ once_cell = { workspace = true }
+@@ -101,7 +102,7 @@ toml = { workspace = true }
+ libc = "0.2.150"
+ [workspace.dependencies]
+ rustic_core = { version = "0.1.2", features = ["cli"] }
+-abscissa_core = { version = "0.7.0", default-features = false, features = ["application", "testing"] }
++abscissa_core = { version = "0.7.0", default-features = false, features = ["application"] }
+
+ # logging
+ log = "0.4"
+--
+2.43.0
+
diff --git a/testing/rustic/make-self-update-optional.patch b/testing/rustic/make-self-update-optional.patch
new file mode 100644
index 00000000000..ffe5bef4a4d
--- /dev/null
+++ b/testing/rustic/make-self-update-optional.patch
@@ -0,0 +1,101 @@
+Patch-Source: https://github.com/rustic-rs/rustic/pull/975
+--
+From b32769f275adbd719453aefe68785c303664208a Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Mon, 1 Jan 2024 09:11:13 +0100
+Subject: [PATCH 2/2] feat(cli): Allow building without self-update feature
+ (#975)
+
+Co-authored-by: simonsan <14062932+simonsan@users.noreply.github.com>
+---
+ Cargo.toml | 7 ++++---
+ src/commands.rs | 1 +
+ src/commands/self_update.rs | 13 +++++++++----
+ 3 files changed, 14 insertions(+), 7 deletions(-)
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 24486f1..054a994 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -31,9 +31,10 @@ description = { workspace = true }
+ members = ["crates/rustic_testing", "xtask"]
+
+ [features]
+-default = []
++default = ["self-update"]
+ mimalloc = ["dep:mimalloc"]
+ jemallocator = ["dep:jemallocator-global"]
++self-update = ["dep:self_update", "dep:semver"]
+
+ [[bin]]
+ name = "rustic"
+@@ -67,8 +68,8 @@ serde_with = { workspace = true }
+
+ # other dependencies
+ chrono = { workspace = true }
+-self_update = { workspace = true }
+-semver = { workspace = true }
++self_update = { workspace = true, optional = true }
++semver = { workspace = true, optional = true }
+
+ # commands
+ clap = { workspace = true }
+diff --git a/src/commands.rs b/src/commands.rs
+index 07473d3..88432ab 100644
+--- a/src/commands.rs
++++ b/src/commands.rs
+@@ -101,6 +101,7 @@ enum RusticCmd {
+ ShowConfig(ShowConfigCmd),
+
+ /// Update to the latest rustic release
++ #[cfg_attr(not(feature = "self-update"), clap(hide = true))]
+ SelfUpdate(SelfUpdateCmd),
+
+ /// Remove unused data or repack repository pack files
+diff --git a/src/commands/self_update.rs b/src/commands/self_update.rs
+index dff8fb3..f9540e4 100644
+--- a/src/commands/self_update.rs
++++ b/src/commands/self_update.rs
+@@ -5,8 +5,6 @@ use crate::{Application, RUSTIC_APP};
+ use abscissa_core::{status_err, Command, Runnable, Shutdown};
+
+ use anyhow::Result;
+-use self_update::cargo_crate_version;
+-use semver::Version;
+
+ /// `self-update` subcommand
+ #[derive(clap::Parser, Command, Debug)]
+@@ -26,8 +24,9 @@ impl Runnable for SelfUpdateCmd {
+ }
+
+ impl SelfUpdateCmd {
++ #[cfg(feature = "self-update")]
+ fn inner_run(&self) -> Result<()> {
+- let current_version = Version::parse(cargo_crate_version!())?;
++ let current_version = semver::Version::parse(self_update::cargo_crate_version!())?;
+
+ let release = self_update::backends::github::Update::configure()
+ .repo_owner("rustic-rs")
+@@ -40,7 +39,7 @@ impl SelfUpdateCmd {
+
+ let latest_release = release.get_latest_release()?;
+
+- let upstream_version = Version::parse(&latest_release.version)?;
++ let upstream_version = semver::Version::parse(&latest_release.version)?;
+
+ match current_version.cmp(&upstream_version) {
+ std::cmp::Ordering::Greater => {
+@@ -62,4 +61,10 @@ impl SelfUpdateCmd {
+
+ Ok(())
+ }
++ #[cfg(not(feature = "self-update"))]
++ fn inner_run(&self) -> Result<()> {
++ anyhow::bail!(
++ "This version of rustic was built without the \"self-update\" feature. Please use your system package manager to update it."
++ );
++ }
+ }
+--
+2.43.0
+
diff --git a/testing/rustic/rustic_core-add-tls-native.patch b/testing/rustic/rustic_core-add-tls-native.patch
new file mode 100644
index 00000000000..d3903ab938c
--- /dev/null
+++ b/testing/rustic/rustic_core-add-tls-native.patch
@@ -0,0 +1,53 @@
+Patch-Source: https://github.com/rustic-rs/rustic_core/pull/110 (backported)
+--
+From a5360816832236b814da86cd8518c02b3fc3eb05 Mon Sep 17 00:00:00 2001
+From: Jakub Jirutka <jakub@jirutka.cz>
+Date: Sat, 30 Dec 2023 20:28:47 +0100
+Subject: [PATCH] feat: Add tls-native, tls-rustls features to allow building
+ w/o Rustls
+
+diff --git a/Cargo.toml b/Cargo.toml
+index 1582c6b..4d60eef 100644
+--- a/vendor/rustic_core/Cargo.toml
++++ b/vendor/rustic_core/Cargo.toml
+@@ -35,10 +35,13 @@ harness = true
+ edition = "2021"
+
+ [features]
+-default = []
++default = ["tls-rustls"]
+ cli = ["merge", "clap"]
+ merge = ["dep:merge"]
+ clap = ["dep:clap"]
++# tls-native and tls-rustls are mutually exclusive.
++tls-native = ["reqwest/native-tls"]
++tls-rustls = ["reqwest/rustls-tls-native-roots"]
+
+ [package.metadata.docs.rs]
+ all-features = true
+@@ -96,7 +99,7 @@ walkdir = "2.4.0"
+
+ # rest backend
+ backoff = "0.4.0"
+-reqwest = { version = "0.11.22", default-features = false, features = ["json", "rustls-tls-native-roots", "stream", "blocking"] }
++reqwest = { version = "0.11.22", default-features = false, features = ["json", "stream", "blocking"] }
+ url = "2.4.1"
+
+ # rclone backend
+diff --git a/src/lib.rs b/src/lib.rs
+index 04bda03..387b218 100644
+--- a/vendor/rustic_core/src/lib.rs
++++ b/vendor/rustic_core/src/lib.rs
+@@ -139,6 +139,9 @@ This crate exposes a few features for controlling dependency usage.
+ #![allow(rustdoc::private_intra_doc_links)]
+ #![allow(clippy::needless_raw_string_hashes)]
+
++#[cfg(all(feature = "tls-native", feature = "tls-rustls"))]
++compile_error!("features \"tls-native\" and \"tls-rustls\" cannot be enabled at the same time. Please disable one of them.");
++
+ pub(crate) mod archiver;
+ pub(crate) mod backend;
+ pub(crate) mod blob;
+--
+2.43.0
+
diff --git a/testing/rustscan/APKBUILD b/testing/rustscan/APKBUILD
index 765864f07d7..c6a8d30da9b 100644
--- a/testing/rustscan/APKBUILD
+++ b/testing/rustscan/APKBUILD
@@ -1,32 +1,42 @@
# Contributor: guddaff <guddaff@protonmail.com>
# Maintainer: guddaff <guddaff@protonmail.com>
pkgname=rustscan
-pkgver=2.0.1
-pkgrel=0
+pkgver=2.1.1
+pkgrel=1
pkgdesc="Modern Port Scanner"
url="https://github.com/RustScan/RustScan"
license="GPL-3.0-or-later"
-# s390x and riscv64 blocked by rust/cargo
-# ppc64le blocked by ring crate
+# ppc64le and s390x and riscv64 blocked by ring crate
# armhf timout while building
-arch="all !s390x !ppc64le !riscv64 !armhf"
-makedepends="cargo python3 perl bash"
-source="$pkgname-$pkgver.tar.gz::https://github.com/RustScan/RustScan/archive/refs/tags/$pkgver.tar.gz"
+arch="all !ppc64le !armhf !s390x !riscv64"
+makedepends="cargo cargo-auditable"
+checkdepends="bash perl python3"
+source="https://github.com/RustScan/RustScan/archive/$pkgver/rustscan-$pkgver.tar.gz
+ Cargo.lock.patch
+ "
+options="net"
builddir="$srcdir/RustScan-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --frozen
}
check() {
- cargo test --release --locked
+ cargo test --frozen
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
+ install -Dm755 target/release/rustscan -t "$pkgdir"/usr/bin/
}
sha512sums="
-18c763086c9451ae3c79bbd3960245ecee1d832549530855b7208823313e85165e3a3ebaaf2921ab994f03190a961f430a6e6c11b788407182b1c368c619ab1e rustscan-2.0.1.tar.gz
+b435e03575cb6b9989615574beed537a47a92a17566df9cb678d8ea1d8aeaf651c4b1e1700b72af5c78a00921e99df59d0f4bfc34e698a8066cabcf42a4c867d rustscan-2.1.1.tar.gz
+8733e358eb6c3a0f2e155f6f779331c5f074eb0d83c55eb49caf4e579946dde7c27f941da8f28824b2f522fadf3ff47255d0e7a68b1904a49336b63405e5f31d Cargo.lock.patch
"
diff --git a/testing/rustscan/Cargo.lock.patch b/testing/rustscan/Cargo.lock.patch
new file mode 100644
index 00000000000..fc344f627e7
--- /dev/null
+++ b/testing/rustscan/Cargo.lock.patch
@@ -0,0 +1,1159 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index f8ce9c2..2381061 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+ [[package]]
+ name = "aho-corasick"
+-version = "0.7.18"
++version = "0.7.20"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
++checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+ dependencies = [
+ "memchr",
+ ]
+@@ -37,15 +37,15 @@ dependencies = [
+
+ [[package]]
+ name = "anyhow"
+-version = "1.0.56"
++version = "1.0.66"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4361135be9122e0870de935d7c439aef945b9f9ddd4199a553b5270b49c82a27"
++checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6"
+
+ [[package]]
+ name = "async-channel"
+-version = "1.6.1"
++version = "1.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319"
++checksum = "cf46fee83e5ccffc220104713af3292ff9bc7c64c7de289f66dae8e38d826833"
+ dependencies = [
+ "concurrent-queue",
+ "event-listener",
+@@ -54,76 +54,68 @@ dependencies = [
+
+ [[package]]
+ name = "async-executor"
+-version = "1.4.1"
++version = "1.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965"
++checksum = "17adb73da160dfb475c183343c8cccd80721ea5a605d3eb57125f0a7b7a92d0b"
+ dependencies = [
++ "async-lock",
+ "async-task",
+ "concurrent-queue",
+ "fastrand",
+ "futures-lite",
+- "once_cell",
+ "slab",
+ ]
+
+ [[package]]
+ name = "async-global-executor"
+-version = "2.0.4"
++version = "2.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c290043c9a95b05d45e952fb6383c67bcb61471f60cfa21e890dba6654234f43"
++checksum = "f1b6f5d7df27bd294849f8eec66ecfc63d11814df7a4f5d74168a2394467b776"
+ dependencies = [
+ "async-channel",
+ "async-executor",
+ "async-io",
+- "async-mutex",
++ "async-lock",
+ "blocking",
+ "futures-lite",
+- "num_cpus",
+ "once_cell",
+ ]
+
+ [[package]]
+ name = "async-io"
+-version = "1.6.0"
++version = "1.12.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b"
++checksum = "8c374dda1ed3e7d8f0d9ba58715f924862c63eae6849c92d3a18e7fbde9e2794"
+ dependencies = [
++ "async-lock",
++ "autocfg",
+ "concurrent-queue",
+ "futures-lite",
+ "libc",
+ "log",
+- "once_cell",
+ "parking",
+ "polling",
+ "slab",
+- "socket2 0.4.4",
++ "socket2 0.4.7",
+ "waker-fn",
+- "winapi 0.3.9",
++ "windows-sys",
+ ]
+
+ [[package]]
+ name = "async-lock"
+-version = "2.5.0"
++version = "2.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6"
+-dependencies = [
+- "event-listener",
+-]
+-
+-[[package]]
+-name = "async-mutex"
+-version = "1.4.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e"
++checksum = "c8101efe8695a6c17e02911402145357e718ac92d3ff88ae8419e84b1707b685"
+ dependencies = [
+ "event-listener",
++ "futures-lite",
+ ]
+
+ [[package]]
+ name = "async-std"
+-version = "1.11.0"
++version = "1.12.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "52580991739c5cdb36cde8b2a516371c0a3b70dda36d916cc08b82372916808c"
++checksum = "62565bb4402e926b29953c785397c6dc0391b7b446e45008b0049eb43cec6f5d"
+ dependencies = [
+ "async-channel",
+ "async-global-executor",
+@@ -138,9 +130,8 @@ dependencies = [
+ "kv-log-macro",
+ "log",
+ "memchr",
+- "num_cpus",
+ "once_cell",
+- "pin-project-lite 0.2.8",
++ "pin-project-lite 0.2.9",
+ "pin-utils",
+ "slab",
+ "wasm-bindgen-futures",
+@@ -148,15 +139,15 @@ dependencies = [
+
+ [[package]]
+ name = "async-task"
+-version = "4.2.0"
++version = "4.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "30696a84d817107fc028e049980e09d5e140e8da8f1caeb17e8e950658a3cea9"
++checksum = "7a40729d2133846d9ed0ea60a8b9541bccddab49cd30f0715a1da672fe9a2524"
+
+ [[package]]
+ name = "async-trait"
+-version = "0.1.53"
++version = "0.1.59"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ed6aa3524a2dfcf9fe180c51eae2b58738348d819517ceadf95789c51fff7600"
++checksum = "31e6e93155431f3931513b243d371981bb2770112b370c82745a1d19d2f99364"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -188,9 +179,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+ [[package]]
+ name = "backtrace"
+-version = "0.3.65"
++version = "0.3.66"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "11a17d453482a265fd5f8479f2a3f405566e6ca627837aaddb85af8b1ab8ef61"
++checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
+ dependencies = [
+ "addr2line",
+ "cc",
+@@ -215,23 +206,23 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+ [[package]]
+ name = "blocking"
+-version = "1.2.0"
++version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c6ccb65d468978a086b69884437ded69a90faab3bbe6e67f242173ea728acccc"
++checksum = "3c67b173a56acffd6d2326fb7ab938ba0b00a71480e14902b2591c87bc5741e8"
+ dependencies = [
+ "async-channel",
++ "async-lock",
+ "async-task",
+ "atomic-waker",
+ "fastrand",
+ "futures-lite",
+- "once_cell",
+ ]
+
+ [[package]]
+ name = "bumpalo"
+-version = "3.9.1"
++version = "3.11.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a4a45a46ab1f2412e53d3a0ade76ffad2025804294569aae387231a0cd6e0899"
++checksum = "572f695136211188308f16ad2ca5c851a712c464060ae6974944458eb83880ba"
+
+ [[package]]
+ name = "bytes"
+@@ -239,17 +230,11 @@ version = "0.5.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
+
+-[[package]]
+-name = "cache-padded"
+-version = "1.2.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c"
+-
+ [[package]]
+ name = "cc"
+-version = "1.0.73"
++version = "1.0.77"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
++checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4"
+
+ [[package]]
+ name = "cfg-if"
+@@ -265,9 +250,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "cidr-utils"
+-version = "0.5.6"
++version = "0.5.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "aee37eff22e119e0acb33e6e81f85d87a9abf612b82efbcb5fba31b6a74554fb"
++checksum = "355d5b5df67e58b523953d0c1a8d3d2c05f5af51f1332b0199b9c92263614ed0"
+ dependencies = [
+ "debug-helper",
+ "num-bigint",
+@@ -310,28 +295,27 @@ checksum = "0bca1619ff57dd7a56b58a8e25ef4199f123e78e503fe1653410350a1b98ae65"
+
+ [[package]]
+ name = "concurrent-queue"
+-version = "1.2.2"
++version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3"
++checksum = "bd7bef69dc86e3c610e4e7aed41035e2a7ed12e72dd7530f61327a6579a4390b"
+ dependencies = [
+- "cache-padded",
++ "crossbeam-utils",
+ ]
+
+ [[package]]
+ name = "crossbeam-utils"
+-version = "0.8.8"
++version = "0.8.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"
++checksum = "4fb766fa798726286dbbb842f174001dab8abc7b627a1dd86e0b7222a95d929f"
+ dependencies = [
+ "cfg-if 1.0.0",
+- "lazy_static",
+ ]
+
+ [[package]]
+ name = "ctor"
+-version = "0.1.22"
++version = "0.1.26"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c"
++checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
+ dependencies = [
+ "quote",
+ "syn",
+@@ -365,9 +349,9 @@ dependencies = [
+
+ [[package]]
+ name = "either"
+-version = "1.6.1"
++version = "1.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
++checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797"
+
+ [[package]]
+ name = "enum-as-inner"
+@@ -396,26 +380,25 @@ dependencies = [
+
+ [[package]]
+ name = "event-listener"
+-version = "2.5.2"
++version = "2.5.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71"
++checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0"
+
+ [[package]]
+ name = "fastrand"
+-version = "1.7.0"
++version = "1.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf"
++checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
+ dependencies = [
+ "instant",
+ ]
+
+ [[package]]
+ name = "form_urlencoded"
+-version = "1.0.1"
++version = "1.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
++checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
+ dependencies = [
+- "matches",
+ "percent-encoding",
+ ]
+
+@@ -437,9 +420,9 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+ [[package]]
+ name = "futures"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f73fe65f54d1e12b726f517d3e2135ca3125a437b6d998caf1962961f7172d9e"
++checksum = "38390104763dc37a5145a53c29c63c1290b5d316d6086ec32c293f6736051bb0"
+ dependencies = [
+ "futures-channel",
+ "futures-core",
+@@ -452,9 +435,9 @@ dependencies = [
+
+ [[package]]
+ name = "futures-channel"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c3083ce4b914124575708913bca19bfe887522d6e2e6d0952943f5eac4a74010"
++checksum = "52ba265a92256105f45b719605a571ffe2d1f0fea3807304b522c1d778f79eed"
+ dependencies = [
+ "futures-core",
+ "futures-sink",
+@@ -462,15 +445,15 @@ dependencies = [
+
+ [[package]]
+ name = "futures-core"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0c09fd04b7e4073ac7156a9539b57a484a8ea920f79c7c675d05d289ab6110d3"
++checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+
+ [[package]]
+ name = "futures-executor"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9420b90cfa29e327d0429f19be13e7ddb68fa1cccb09d65e5706b8c7a749b8a6"
++checksum = "7acc85df6714c176ab5edf386123fafe217be88c0840ec11f199441134a074e2"
+ dependencies = [
+ "futures-core",
+ "futures-task",
+@@ -479,9 +462,9 @@ dependencies = [
+
+ [[package]]
+ name = "futures-io"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fc4045962a5a5e935ee2fdedaa4e08284547402885ab326734432bed5d12966b"
++checksum = "00f5fb52a06bdcadeb54e8d3671f8888a39697dcb0b81b23b55174030427f4eb"
+
+ [[package]]
+ name = "futures-lite"
+@@ -494,15 +477,15 @@ dependencies = [
+ "futures-io",
+ "memchr",
+ "parking",
+- "pin-project-lite 0.2.8",
++ "pin-project-lite 0.2.9",
+ "waker-fn",
+ ]
+
+ [[package]]
+ name = "futures-macro"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "33c1e13800337f4d4d7a316bf45a567dbcb6ffe087f16424852d97e97a91f512"
++checksum = "bdfb8ce053d86b91919aad980c220b1fb8401a9394410e1c289ed7e66b61835d"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -511,21 +494,21 @@ dependencies = [
+
+ [[package]]
+ name = "futures-sink"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "21163e139fa306126e6eedaf49ecdb4588f939600f0b1e770f4205ee4b7fa868"
++checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+
+ [[package]]
+ name = "futures-task"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "57c66a976bf5909d801bbef33416c41372779507e7a6b3a5e25e4749c58f776a"
++checksum = "2ffb393ac5d9a6eaa9d3fdf37ae2776656b706e200c8e16b1bdb227f5198e6ea"
+
+ [[package]]
+ name = "futures-util"
+-version = "0.3.21"
++version = "0.3.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d8b7abd5d659d9b90c8cba917f6ec750a74e2dc23902ef9cd4cc8c8b22e6036a"
++checksum = "197676987abd2f9cadff84926f410af1c183608d36641465df73ae8211dc65d6"
+ dependencies = [
+ "futures-channel",
+ "futures-core",
+@@ -534,19 +517,16 @@ dependencies = [
+ "futures-sink",
+ "futures-task",
+ "memchr",
+- "pin-project-lite 0.2.8",
++ "pin-project-lite 0.2.9",
+ "pin-utils",
+ "slab",
+ ]
+
+ [[package]]
+ name = "gcd"
+-version = "2.1.0"
++version = "2.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f37978dab2ca789938a83b2f8bc1ef32db6633af9051a6cd409eff72cbaaa79a"
+-dependencies = [
+- "paste",
+-]
++checksum = "a4b1b088ad0a967aa29540456b82fc8903f854775d33f71e9709c4efb3dfbfd2"
+
+ [[package]]
+ name = "getrandom"
+@@ -561,26 +541,26 @@ dependencies = [
+
+ [[package]]
+ name = "getrandom"
+-version = "0.2.6"
++version = "0.2.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9be70c98951c83b8d2f8f60d7065fa6d5146873094452a1008da8c2f1e4205ad"
++checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+ dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+- "wasi 0.10.2+wasi-snapshot-preview1",
++ "wasi 0.11.0+wasi-snapshot-preview1",
+ ]
+
+ [[package]]
+ name = "gimli"
+-version = "0.26.1"
++version = "0.26.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4"
++checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
+
+ [[package]]
+ name = "gloo-timers"
+-version = "0.2.4"
++version = "0.2.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5fb7d06c1c8cc2a29bee7ec961009a0b2caa0793ee4900c2ffb348734ba1c8f9"
++checksum = "98c4a8d6391675c6b2ee1a6c8d06e8e2d03605c44cec1270675985a4c2a5500b"
+ dependencies = [
+ "futures-channel",
+ "futures-core",
+@@ -640,6 +620,16 @@ dependencies = [
+ "unicode-normalization",
+ ]
+
++[[package]]
++name = "idna"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
++dependencies = [
++ "unicode-bidi",
++ "unicode-normalization",
++]
++
+ [[package]]
+ name = "instant"
+ version = "0.1.12"
+@@ -681,15 +671,15 @@ dependencies = [
+
+ [[package]]
+ name = "itoa"
+-version = "1.0.1"
++version = "1.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
++checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc"
+
+ [[package]]
+ name = "js-sys"
+-version = "0.3.57"
++version = "0.3.60"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "671a26f820db17c2a2750743f1dd03bafd15b98c9f30c7c2628c024c05d73397"
++checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+ dependencies = [
+ "wasm-bindgen",
+ ]
+@@ -721,21 +711,21 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.124"
++version = "0.2.138"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "21a41fed9d98f27ab1c6d161da622a4fa35e8a54a8adc24bbf3ddd0ef70b0e50"
++checksum = "db6d7e329c562c5dfab7a46a2afabc8b987ab9a4834c9d1ca04dc54c1546cef8"
+
+ [[package]]
+ name = "linked-hash-map"
+-version = "0.5.4"
++version = "0.5.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7fb9b38af92608140b86b693604b9ffcc5824240a484d1ecd4795bacb2fe88f3"
++checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
+
+ [[package]]
+ name = "log"
+-version = "0.4.16"
++version = "0.4.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6389c490849ff5bc16be905ae24bc913a9c8892e19b2341dbc175e14c341c2b8"
++checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+ dependencies = [
+ "cfg-if 1.0.0",
+ "value-bag",
+@@ -764,15 +754,15 @@ checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+
+ [[package]]
+ name = "memchr"
+-version = "2.4.1"
++version = "2.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a"
++checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+ [[package]]
+ name = "miniz_oxide"
+-version = "0.5.1"
++version = "0.5.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d2b29bd4bc3f33391105ebee3589c19197c4271e3e5a9ec9bfe8127eeff8f082"
++checksum = "96590ba8f175222643a85693f33d26e9c8a015f599c216509b1a6894af675d34"
+ dependencies = [
+ "adler",
+ ]
+@@ -810,9 +800,9 @@ dependencies = [
+
+ [[package]]
+ name = "net2"
+-version = "0.2.37"
++version = "0.2.38"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
++checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
+ dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+@@ -832,9 +822,9 @@ dependencies = [
+
+ [[package]]
+ name = "num-integer"
+-version = "0.1.44"
++version = "0.1.45"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db"
++checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+ dependencies = [
+ "autocfg",
+ "num-traits",
+@@ -842,37 +832,27 @@ dependencies = [
+
+ [[package]]
+ name = "num-traits"
+-version = "0.2.14"
++version = "0.2.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290"
++checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+ dependencies = [
+ "autocfg",
+ ]
+
+-[[package]]
+-name = "num_cpus"
+-version = "1.13.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
+-dependencies = [
+- "hermit-abi",
+- "libc",
+-]
+-
+ [[package]]
+ name = "object"
+-version = "0.28.3"
++version = "0.29.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "40bec70ba014595f99f7aa110b84331ffe1ee9aece7fe6f387cc7e3ecda4d456"
++checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
+ dependencies = [
+ "memchr",
+ ]
+
+ [[package]]
+ name = "once_cell"
+-version = "1.10.0"
++version = "1.16.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "87f3e037eac156d1775da914196f0f37741a274155e34a0b7e427c35d2a2ecb9"
++checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860"
+
+ [[package]]
+ name = "parking"
+@@ -880,17 +860,11 @@ version = "2.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72"
+
+-[[package]]
+-name = "paste"
+-version = "1.0.7"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0c520e05135d6e763148b6426a837e239041653ba7becd2e538c076c738025fc"
+-
+ [[package]]
+ name = "percent-encoding"
+-version = "2.1.0"
++version = "2.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+ [[package]]
+ name = "pin-project-lite"
+@@ -900,9 +874,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
+
+ [[package]]
+ name = "pin-project-lite"
+-version = "0.2.8"
++version = "0.2.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e280fbe77cc62c91527259e9442153f4688736748d24660126286329742b4c6c"
++checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+ [[package]]
+ name = "pin-utils"
+@@ -912,22 +886,23 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+ [[package]]
+ name = "polling"
+-version = "2.2.0"
++version = "2.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259"
++checksum = "166ca89eb77fd403230b9c156612965a81e094ec6ec3aa13663d4c8b113fa748"
+ dependencies = [
++ "autocfg",
+ "cfg-if 1.0.0",
+ "libc",
+ "log",
+ "wepoll-ffi",
+- "winapi 0.3.9",
++ "windows-sys",
+ ]
+
+ [[package]]
+ name = "ppv-lite86"
+-version = "0.2.16"
++version = "0.2.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
++checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+ [[package]]
+ name = "proc-macro-error"
+@@ -955,11 +930,11 @@ dependencies = [
+
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.37"
++version = "1.0.47"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ec757218438d5fda206afc041538b2f6d889286160d649a86a24d37e1235afd1"
++checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+ dependencies = [
+- "unicode-xid",
++ "unicode-ident",
+ ]
+
+ [[package]]
+@@ -970,9 +945,9 @@ checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+
+ [[package]]
+ name = "quote"
+-version = "1.0.18"
++version = "1.0.21"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1"
++checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+ dependencies = [
+ "proc-macro2",
+ ]
+@@ -1020,9 +995,9 @@ dependencies = [
+
+ [[package]]
+ name = "redox_syscall"
+-version = "0.2.13"
++version = "0.2.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42"
++checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
+ dependencies = [
+ "bitflags",
+ ]
+@@ -1033,16 +1008,16 @@ version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+ dependencies = [
+- "getrandom 0.2.6",
++ "getrandom 0.2.8",
+ "redox_syscall",
+ "thiserror",
+ ]
+
+ [[package]]
+ name = "regex"
+-version = "1.5.5"
++version = "1.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1a11647b6b25ff05a515cb92c365cec08801e83423a235b51e231e1808747286"
++checksum = "e076559ef8e241f2ae3479e36f97bd5741c0330689e217ad51ce2c76808b868a"
+ dependencies = [
+ "aho-corasick",
+ "memchr",
+@@ -1051,9 +1026,9 @@ dependencies = [
+
+ [[package]]
+ name = "regex-syntax"
+-version = "0.6.25"
++version = "0.6.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b"
++checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+
+ [[package]]
+ name = "resolv-conf"
+@@ -1110,7 +1085,7 @@ dependencies = [
+
+ [[package]]
+ name = "rustscan"
+-version = "2.1.0"
++version = "2.1.1"
+ dependencies = [
+ "ansi_term",
+ "anyhow",
+@@ -1139,9 +1114,9 @@ dependencies = [
+
+ [[package]]
+ name = "ryu"
+-version = "1.0.9"
++version = "1.0.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
++checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
+
+ [[package]]
+ name = "sct"
+@@ -1155,18 +1130,18 @@ dependencies = [
+
+ [[package]]
+ name = "serde"
+-version = "1.0.136"
++version = "1.0.150"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
++checksum = "e326c9ec8042f1b5da33252c8a37e9ffbd2c9bef0155215b6e6c80c790e05f91"
+ dependencies = [
+ "serde_derive",
+ ]
+
+ [[package]]
+ name = "serde_derive"
+-version = "1.0.136"
++version = "1.0.150"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
++checksum = "42a3df25b0713732468deadad63ab9da1f1fd75a48a15024b50363f128db627e"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -1175,9 +1150,9 @@ dependencies = [
+
+ [[package]]
+ name = "serde_json"
+-version = "1.0.79"
++version = "1.0.89"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8e8d9fa5c3b304765ce1fd9c4c8a3de2c8db365a5b91be52f186efc675681d95"
++checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db"
+ dependencies = [
+ "itoa",
+ "ryu",
+@@ -1192,15 +1167,18 @@ checksum = "24188a676b6ae68c3b2cb3a01be17fbf7240ce009799bb56d5b1409051e78fde"
+
+ [[package]]
+ name = "slab"
+-version = "0.4.6"
++version = "0.4.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32"
++checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
++dependencies = [
++ "autocfg",
++]
+
+ [[package]]
+ name = "smallvec"
+-version = "1.8.0"
++version = "1.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f2dd574626839106c320a323308629dcb1acfc96e32a8cba364ddc61ac23ee83"
++checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+ [[package]]
+ name = "socket2"
+@@ -1215,9 +1193,9 @@ dependencies = [
+
+ [[package]]
+ name = "socket2"
+-version = "0.4.4"
++version = "0.4.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0"
++checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
+ dependencies = [
+ "libc",
+ "winapi 0.3.9",
+@@ -1261,9 +1239,9 @@ dependencies = [
+
+ [[package]]
+ name = "subprocess"
+-version = "0.2.8"
++version = "0.2.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "055cf3ebc2981ad8f0a5a17ef6652f652d87831f79fddcba2ac57bcb9a0aa407"
++checksum = "0c2e86926081dda636c546d8c5e641661049d7562a68f5488be4a1f7f66f6086"
+ dependencies = [
+ "libc",
+ "winapi 0.3.9",
+@@ -1271,13 +1249,13 @@ dependencies = [
+
+ [[package]]
+ name = "syn"
+-version = "1.0.91"
++version = "1.0.105"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b683b2b825c8eef438b77c36a06dc262294da3d5a5813fac20da149241dcd44d"
++checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "unicode-xid",
++ "unicode-ident",
+ ]
+
+ [[package]]
+@@ -1310,18 +1288,18 @@ dependencies = [
+
+ [[package]]
+ name = "thiserror"
+-version = "1.0.30"
++version = "1.0.37"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
++checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+ dependencies = [
+ "thiserror-impl",
+ ]
+
+ [[package]]
+ name = "thiserror-impl"
+-version = "1.0.30"
++version = "1.0.37"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
++checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -1330,9 +1308,9 @@ dependencies = [
+
+ [[package]]
+ name = "tinyvec"
+-version = "1.5.1"
++version = "1.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
++checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
+ dependencies = [
+ "tinyvec_macros",
+ ]
+@@ -1390,7 +1368,7 @@ dependencies = [
+ "cfg-if 1.0.0",
+ "enum-as-inner",
+ "futures",
+- "idna",
++ "idna 0.2.3",
+ "lazy_static",
+ "log",
+ "rand",
+@@ -1440,36 +1418,36 @@ dependencies = [
+
+ [[package]]
+ name = "unicode-bidi"
+-version = "0.3.7"
++version = "0.3.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
++checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992"
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+ [[package]]
+ name = "unicode-normalization"
+-version = "0.1.19"
++version = "0.1.22"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
++checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+ dependencies = [
+ "tinyvec",
+ ]
+
+ [[package]]
+ name = "unicode-segmentation"
+-version = "1.9.0"
++version = "1.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
++checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a"
+
+ [[package]]
+ name = "unicode-width"
+-version = "0.1.9"
++version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+-
+-[[package]]
+-name = "unicode-xid"
+-version = "0.2.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
++checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+ [[package]]
+ name = "untrusted"
+@@ -1479,21 +1457,20 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a"
+
+ [[package]]
+ name = "url"
+-version = "2.2.2"
++version = "2.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
++checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+ dependencies = [
+ "form_urlencoded",
+- "idna",
+- "matches",
++ "idna 0.3.0",
+ "percent-encoding",
+ ]
+
+ [[package]]
+ name = "value-bag"
+-version = "1.0.0-alpha.8"
++version = "1.0.0-alpha.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "79923f7731dc61ebfba3633098bf3ac533bbd35ccd8c57e7088d9a5eebe0263f"
++checksum = "2209b78d1249f7e6f3293657c9779fe31ced465df091bbd433a1cf88e916ec55"
+ dependencies = [
+ "ctor",
+ "version_check",
+@@ -1534,15 +1511,15 @@ checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+
+ [[package]]
+ name = "wasi"
+-version = "0.10.2+wasi-snapshot-preview1"
++version = "0.11.0+wasi-snapshot-preview1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+ [[package]]
+ name = "wasm-bindgen"
+-version = "0.2.80"
++version = "0.2.83"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "27370197c907c55e3f1a9fbe26f44e937fe6451368324e009cba39e139dc08ad"
++checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+ dependencies = [
+ "cfg-if 1.0.0",
+ "wasm-bindgen-macro",
+@@ -1550,13 +1527,13 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-backend"
+-version = "0.2.80"
++version = "0.2.83"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "53e04185bfa3a779273da532f5025e33398409573f348985af9a1cbf3774d3f4"
++checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+ dependencies = [
+ "bumpalo",
+- "lazy_static",
+ "log",
++ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+@@ -1565,9 +1542,9 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-futures"
+-version = "0.4.30"
++version = "0.4.33"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6f741de44b75e14c35df886aff5f1eb73aa114fa5d4d00dcd37b5e01259bf3b2"
++checksum = "23639446165ca5a5de86ae1d8896b737ae80319560fbaa4c2887b7da6e7ebd7d"
+ dependencies = [
+ "cfg-if 1.0.0",
+ "js-sys",
+@@ -1577,9 +1554,9 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-macro"
+-version = "0.2.80"
++version = "0.2.83"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "17cae7ff784d7e83a2fe7611cfe766ecf034111b49deb850a3dc7699c08251f5"
++checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+ dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+@@ -1587,9 +1564,9 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-macro-support"
+-version = "0.2.80"
++version = "0.2.83"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "99ec0dc7a4756fffc231aab1b9f2f578d23cd391390ab27f952ae0c9b3ece20b"
++checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -1600,15 +1577,15 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-shared"
+-version = "0.2.80"
++version = "0.2.83"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d554b7f530dee5964d9a9468d95c1f8b8acae4f282807e7d27d4b03099a46744"
++checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+ [[package]]
+ name = "web-sys"
+-version = "0.3.57"
++version = "0.3.60"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7b17e741662c70c8bd24ac5c5b18de314a2c26c32bf8346ee1e6f53de919c283"
++checksum = "bcda906d8be16e728fd5adc5b729afad4e444e106ab28cd1c7256e54fa61510f"
+ dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+@@ -1691,6 +1668,63 @@ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
++[[package]]
++name = "windows-sys"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
++dependencies = [
++ "windows_aarch64_gnullvm",
++ "windows_aarch64_msvc",
++ "windows_i686_gnu",
++ "windows_i686_msvc",
++ "windows_x86_64_gnu",
++ "windows_x86_64_gnullvm",
++ "windows_x86_64_msvc",
++]
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
++
+ [[package]]
+ name = "winreg"
+ version = "0.6.2"
diff --git a/testing/rustypaste-cli/APKBUILD b/testing/rustypaste-cli/APKBUILD
new file mode 100644
index 00000000000..73590930948
--- /dev/null
+++ b/testing/rustypaste-cli/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=rustypaste-cli
+pkgver=0.9.0
+pkgrel=0
+pkgdesc="CLI tool for rustypaste"
+url="https://github.com/orhun/rustypaste-cli"
+# s390x, ppc64le, riscv64: blocked by ring crate
+arch="all !s390x !ppc64le !riscv64"
+license="MIT"
+makedepends="cargo cargo-auditable"
+subpackages="$pkgname-doc"
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/orhun/rustypaste-cli/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release --features use-native-certs
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/rpaste" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+7e25ca2a179daf94fbf3a91d2ab602cbc23753da6eb45931937d22c1bf968c9f2dc597a0c32687c373c2d3d28d089da2cb11aedd068ccc49e64cb2a41d2310bf rustypaste-cli-0.9.0.tar.gz
+"
diff --git a/testing/ruuvi-prometheus/APKBUILD b/testing/ruuvi-prometheus/APKBUILD
index e0c80e10331..435fdded786 100644
--- a/testing/ruuvi-prometheus/APKBUILD
+++ b/testing/ruuvi-prometheus/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Joonas Kuorilehto <oss@derbian.fi>
# Maintainer: Joonas Kuorilehto <oss@derbian.fi>
pkgname=ruuvi-prometheus
-pkgver=0.1.2
-pkgrel=3
+pkgver=0.1.7
+pkgrel=2
pkgdesc="Ruuvi sensor Prometheus exporter"
url="https://github.com/joneskoo/ruuvi-prometheus"
license="BSD-2-Clause"
@@ -16,8 +16,12 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/joneskoo/ruuvi-prometheus/ar
ruuvi-prometheus.initd
"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
- go build -ldflags="-s -w -X main.version=$pkgver"
+ go build -ldflags="-X main.version=$pkgver"
}
package() {
@@ -25,6 +29,7 @@ package() {
install -Dm755 "$srcdir"/ruuvi-prometheus.initd "$pkgdir"/etc/init.d/ruuvi-prometheus
}
-
-sha512sums="d11f6fcf7ae4d9a9575506aa05d7773e5885b98253e10974cf2ad117e5373d7bcc653e30a0546916580e00d77c30032e2cbf3e7a264d02104d2f9087dc99c340 ruuvi-prometheus-0.1.2.tar.gz
-6eb05b76ea6289799f37a0e0d42e663d6bd013b46468126cb2ac3c90bfd3421db7044895d49e059e32e9d3f5e870343b494ab455f2164727b111b647af107d61 ruuvi-prometheus.initd"
+sha512sums="
+97a8d8d3f81391746038cda319686d4c3b5da4b138e1e9b2bc9459007d6e4676a8e58531dbbc69b2f0c4691c3f71c25257714944fe03e5580e140c4d20768687 ruuvi-prometheus-0.1.7.tar.gz
+6eb05b76ea6289799f37a0e0d42e663d6bd013b46468126cb2ac3c90bfd3421db7044895d49e059e32e9d3f5e870343b494ab455f2164727b111b647af107d61 ruuvi-prometheus.initd
+"
diff --git a/testing/rvlprog/APKBUILD b/testing/rvlprog/APKBUILD
new file mode 100644
index 00000000000..129bf947f73
--- /dev/null
+++ b/testing/rvlprog/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: TBK <alpine@jjtc.eu>
+# Maintainer: TBK <alpine@jjtc.eu>
+pkgname=rvlprog
+pkgver=0.91
+pkgrel=1
+pkgdesc="CLI tool for REVELPROG-IS programmer"
+url="https://gitlab.com/spectrum70/rvlprog"
+arch="all"
+license="GPL-3.0-or-later"
+options="!check" # no test suite
+makedepends="libusb-dev"
+source="https://gitlab.com/spectrum70/rvlprog/-/archive/$pkgver/rvlprog-$pkgver.tar.gz"
+
+build() {
+ export LIBS="-lusb-1.0"
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="cef54e0980345a4a814cbee0dd6a49b10fcf6d9a5660344abba3d2bf79188f5c20298a2befe3fe8ff99df55f01da33a233ca4d17898ce618dd0e456fa51c87db rvlprog-0.91.tar.gz"
diff --git a/testing/ry/APKBUILD b/testing/ry/APKBUILD
index a8eea353a88..40ca5753cdb 100644
--- a/testing/ry/APKBUILD
+++ b/testing/ry/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=ry
pkgver=0.5.2
-pkgrel=0
+pkgrel=1
pkgdesc="The simplest ruby version manager"
url="https://github.com/jneen/ry"
arch="noarch"
diff --git a/testing/s-postgray/APKBUILD b/testing/s-postgray/APKBUILD
new file mode 100644
index 00000000000..26c605d5c88
--- /dev/null
+++ b/testing/s-postgray/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Steffen Nurpmeso <steffen@sdaoden.eu>
+pkgname=s-postgray
+pkgver=0.8.2
+pkgrel=0
+pkgdesc="postfix RFC 6647 graylisting policy server"
+url="https://www.sdaoden.eu/code.html#s-toolbox"
+arch="all"
+license="ISC"
+makedepends="linux-headers"
+subpackages="$pkgname-doc"
+source="https://ftp.sdaoden.eu/s-postgray-$pkgver.tar.gz"
+
+build() {
+ local sandbox=0
+ case "$CARCH" in
+ x86_64)
+ sandbox=1
+ ;;
+ esac
+ make VAL_OS_SANDBOX=$sandbox
+}
+
+check() {
+ ./s-postgray-test.sh
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+ed6957d3c64c153953fe13de93b2112c202a2ae8b3214d044deab87ef90a12139bbd611a05b388822de2ac1f2547ce4eaf7d493d47b07610a3a8121b84559b3f s-postgray-0.8.2.tar.gz
+"
diff --git a/testing/s3cmd/APKBUILD b/testing/s3cmd/APKBUILD
deleted file mode 100644
index ca6bdfbc3f7..00000000000
--- a/testing/s3cmd/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Gennady Feldman <gena01@gmail.com>
-# Maintainer: Gennady Feldman <gena01@gmail.com>
-pkgname=s3cmd
-pkgver=2.2.0
-pkgrel=1
-pkgdesc="Command-line tool for managing Amazon S3 and CloudFront services"
-url="https://github.com/s3tools/s3cmd"
-license="GPL-2.0-or-later"
-arch="noarch"
-depends="python3 py3-dateutil py3-magic"
-makedepends="python3-dev py3-setuptools"
-subpackages="$pkgname-doc"
-source="https://github.com/s3tools/s3cmd/archive/v$pkgver/s3cmd-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-4f9fbdf3a10b2319f5eef65dd20d57c2a4d3fb92d3fd99849666767cc40a76c88cc8115b8947ad1deba63f3ff55ceee691f54c95a92054c10ac25549cab72035 s3cmd-2.2.0.tar.gz
-"
diff --git a/testing/s3fs-fuse/APKBUILD b/testing/s3fs-fuse/APKBUILD
deleted file mode 100644
index 16d470f0b77..00000000000
--- a/testing/s3fs-fuse/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Steeve Chailloux <steeve.chailloux@orus.io>
-# Maintainer: Steeve Chailloux <steeve.chailloux@orus.io>
-pkgname=s3fs-fuse
-pkgver=1.88
-pkgrel=1
-pkgdesc="FUSE-based file system backed by Amazon S3"
-options="!check" # Fails to connect to localhost
-url="https://github.com/s3fs-fuse/s3fs-fuse"
-arch="all"
-license="GPL-2.0-only"
-makedepends="automake autoconf libxml2-dev fuse-dev curl-dev git bash"
-checkdepends="coreutils sed"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/s3fs-fuse/s3fs-fuse/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="e4bee4aa7a49effe9c4087e5841a0e0787cb7553d7037e0096f681fd588e9b35dbf8f4687f71e3360e7cde12e6820787dfe7565f845790719150350e7c473604 s3fs-fuse-1.88.tar.gz"
diff --git a/testing/s5cmd/APKBUILD b/testing/s5cmd/APKBUILD
new file mode 100644
index 00000000000..1994774619f
--- /dev/null
+++ b/testing/s5cmd/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=s5cmd
+pkgver=2.2.2
+pkgrel=2
+pkgdesc="Parallel S3 and local filesystem execution tool"
+url="https://github.com/peak/s5cmd"
+arch="all"
+license="MIT"
+makedepends="go"
+checkdepends="shared-mime-info"
+source="$pkgname-$pkgver.tar.gz::https://github.com/peak/s5cmd/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ local goldflags="
+ -X github.com/peak/s5cmd/v2/version.Version=v$pkgver
+ -X github.com/peak/s5cmd/v2/version.GitCommit=AlpineLinux
+ "
+ go build -v -o bin/$pkgname -ldflags "$goldflags"
+}
+
+check() {
+ # TestAppProxy sometimes fails to spawn a local HTTP server
+ S5CMD_BUILD_BINARY_WITHOUT_RACE_FLAG=1 \
+ go test -skip TestAppProxy ./...
+}
+
+package() {
+ install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname
+}
+
+sha512sums="
+8a9ae4247c41a63d41556d259af3093584b712330571c5997f6d41dd2731c01295bf51188cf3aa0a58fbdb4e8f2c7162a0e6bca13f5f716b6f267000a77289c1 s5cmd-2.2.2.tar.gz
+"
diff --git a/testing/sacc/APKBUILD b/testing/sacc/APKBUILD
index f99a898873a..f4197a48a6f 100644
--- a/testing/sacc/APKBUILD
+++ b/testing/sacc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Sascha Paunovic <azarus@posteo.net>
# Maintainer: Sascha Paunovic <azarus@posteo.net>
pkgname=sacc
-pkgver=1.05
+pkgver=1.07
pkgrel=0
pkgdesc="saccomys, simple console gopher client"
url="gopher://bitreich.org/1/scm/sacc"
@@ -20,4 +20,6 @@ package() {
make install PREFIX=/usr DESTDIR="$pkgdir"
}
-sha512sums="61eac55e2e5a24265b0c3f723fa7bb768f6df2de76001db89be6dc86fa4726b193b68e2d5461c1a47b0e13bfa8d28226e0f981753778a6260d1ddb8d4cdd0d10 sacc-1.05.tar.gz"
+sha512sums="
+df4ea8ba797a0ff826cd6afa3840106bdb0e3d358d790ffbece9537b01819d7f60e13f92318cf1a6d18cf1e0408c6ac4518bb9bd7552a941bd2e9ec3a9c37aa8 sacc-1.07.tar.gz
+"
diff --git a/testing/sad/APKBUILD b/testing/sad/APKBUILD
deleted file mode 100644
index 9e3294b9d26..00000000000
--- a/testing/sad/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=sad
-pkgver=0.4.17
-pkgrel=0
-pkgdesc="CLI search and replace - a batch file edit tool"
-url="https://github.com/ms-jpq/sad"
-arch="aarch64 armhf armv7 ppc64le x86 x86_64" # limited by rust/cargo
-license="MIT"
-makedepends="cargo"
-source="https://github.com/ms-jpq/sad/archive/v$pkgver/sad-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
-
- # Reduce binary size.
- cat >> Cargo.toml <<-EOF
-
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "z"
- panic = "abort"
- EOF
-
- cargo fetch --locked
-}
-
-build() {
- cargo build --release --frozen
-}
-
-check() {
- cargo test --frozen
-}
-
-package() {
- cargo install --locked --offline --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-}
-
-sha512sums="
-2697288505a08164be9bee20ac2209a2ac72af3a3e692265d501b28f850af73906d8d593e2e7e4417b634a574e43419cda147740557871416f99cae3824bc51c sad-0.4.17.tar.gz
-"
diff --git a/testing/sakura/APKBUILD b/testing/sakura/APKBUILD
deleted file mode 100644
index 492c8284b0c..00000000000
--- a/testing/sakura/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor: Niko Dittmann <mail@niko-dittmann.com>
-# Maintainer: Niko Dittmann <mail@niko-dittmann.com>
-pkgname=sakura
-pkgver=3.8.4
-pkgrel=0
-pkgdesc="Sakura Terminal Emulator"
-url="https://launchpad.net/sakura"
-arch="all"
-license="GPL-2.0-only"
-makedepends="cmake vte3-dev pango-dev gtk+3.0-dev glib-dev gettext-dev pcre2-dev"
-subpackages="$pkgname-doc $pkgname-lang"
-source="https://launchpad.net/sakura/trunk/$pkgver/+download/sakura-$pkgver.tar.bz2"
-options="!check" # no tests provided by upstream
-
-build() {
- cmake -DCMAKE_INSTALL_PREFIX=/usr .
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-9450f523555a40c66375304cb4134686dddd1b15233a70e488d1220fbdacd46b8e93cb679bbd1c235cc8d08f08551743b4780130d282d94d258247436a84ed61 sakura-3.8.4.tar.bz2
-"
diff --git a/testing/sandbar/APKBUILD b/testing/sandbar/APKBUILD
new file mode 100644
index 00000000000..bd5fa5e7f56
--- /dev/null
+++ b/testing/sandbar/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=sandbar
+pkgver=0.1
+pkgrel=0
+pkgdesc="dwm-like bar for the river compositor"
+url="https://github.com/kolunmi/sandbar"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="fcft-dev wayland-dev wayland-protocols"
+source="$pkgname-$pkgver.tar.gz::https://github.com/kolunmi/sandbar/archive/v$pkgver.tar.gz"
+options="!check" # no test suite
+
+build() {
+ make PREFIX=/usr
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+0edd218c6cde8fa47a7df92243348a12d4608c16347dc76fa2e22d387723f191bb02e32b58bc8c5ac0af0f8f7297162c1d22adc61d2a10cccd42fef94891b829 sandbar-0.1.tar.gz
+"
diff --git a/testing/sane-airscan/APKBUILD b/testing/sane-airscan/APKBUILD
new file mode 100644
index 00000000000..1f0b82b96c0
--- /dev/null
+++ b/testing/sane-airscan/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Alex Yam <alex@alexyam.com>
+# Maintainer: Alex Yam <alex@alexyam.com>
+pkgname=sane-airscan
+pkgver=0.99.27
+pkgrel=1
+pkgdesc="SANE backend for AirScan (eSCL) and WSD document scanners"
+url="https://github.com/alexpevzner/sane-airscan"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ avahi-dev
+ gnutls-dev
+ libjpeg-turbo-dev
+ libpng-dev
+ libxml2-dev
+ meson
+ sane-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/alexpevzner/sane-airscan/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+a35a92e26a4e3831f127e59bc520248abde8a7b304eb63ecf1d68092f51a8bc49bbc7503bead47ac84d0333d59ae0045d6d7a9f7b89d95f3ddfa2458f3781256 sane-airscan-0.99.27.tar.gz
+"
diff --git a/testing/satellite/APKBUILD b/testing/satellite/APKBUILD
index 97681a7c6c1..d8f52500347 100644
--- a/testing/satellite/APKBUILD
+++ b/testing/satellite/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Pedro Lucas Porcellis <porcellis@eletrotupi.com>
pkgname=satellite
pkgver=1.0.0
-pkgrel=2
+pkgrel=20
pkgdesc="Satellite is a small Gemini server for serving static files"
url="https://git.sr.ht/~gsthnz/satellite"
arch="all"
@@ -17,6 +17,10 @@ source="
pkggroups="satellite"
builddir="$srcdir/$pkgname-v$pkgver"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
make
}
@@ -36,6 +40,7 @@ package() {
install -Dm644 doc/satellite.1 "$pkgdir"/usr/share/man/man1/satellite.1
install -Dm644 doc/satellite.toml.5 "$pkgdir"/usr/share/man/man5/satellite.toml.5
}
+
sha512sums="2b14e6bd7a1b33a0b4cf402e64585f9f87d2491709bd2f383ec0777b24a372fa7360ca7da96d21e61790095554c8029b07cdddc7a23688465ee77f7854beea48 satellite-1.0.0.tar.gz
dcf84f7f09651426189280df73ce683b5a88bc40764e1ae5e0993fe2d9a796e36437c5f064fae120d749f8fd0151ef11296210556408a04441fc01e571f8f6cb satellite.initd
f20f287640743ede9139a12fb7cbbcc9f2f51bc179322e04253e236daf55090aa043e9e01ec7f29cadc965cdb73bbaa86080072840913c88503138df8a04e443 satellite.confd"
diff --git a/testing/satty/APKBUILD b/testing/satty/APKBUILD
new file mode 100644
index 00000000000..10030a95b8d
--- /dev/null
+++ b/testing/satty/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Sodface <sod@sodface.com>
+# Maintainer: Sodface <sod@sodface.com>
+pkgname=satty
+pkgver=0.12.0
+pkgrel=0
+pkgdesc="Screenshot annotation tool"
+url="https://github.com/gabm/Satty"
+arch="all"
+license="MPL-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ gtk4.0-dev
+ libadwaita-dev
+ "
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+options="!check" # no test suite
+source="$pkgname-$pkgver.tar.gz::https://github.com/gabm/Satty/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/Satty-$pkgver"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+package() {
+ install -Dm755 target/release/satty -t "$pkgdir"/usr/bin
+
+ install -Dm644 satty.desktop \
+ -t "$pkgdir"/usr/share/applications/
+ install -Dm644 assets/satty.svg \
+ -t "$pkgdir"/usr/share/icons/hicolor/scalable/apps
+
+ install -Dm644 completions/satty.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/satty
+ install -Dm644 completions/satty.fish \
+ -t "$pkgdir"/usr/share/fish/vendor_completions.d
+ install -Dm644 completions/_satty \
+ -t "$pkgdir"/usr/share/zsh/site-functions
+}
+
+sha512sums="
+e6ede1ec91f6f70bb3aaacd57ff79f378dbf815663566fbe66d4c8f61624553c5f7268c95fb0f479e728bd5063fb8619beecb6222c7b79105ab4463bf7c6602b satty-0.12.0.tar.gz
+"
diff --git a/testing/sauerbraten/APKBUILD b/testing/sauerbraten/APKBUILD
new file mode 100644
index 00000000000..6b19231663a
--- /dev/null
+++ b/testing/sauerbraten/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Simon Zeni <simon@zeni.ca>
+# Contributor: Simon Zeni <simon@zeni.ca>
+pkgname=sauerbraten
+pkgver=2020.12.29
+pkgrel=3
+pkgdesc="Quake-like FPS based on an improved version of the Cube engine"
+url="http://www.sauerbraten.org/"
+arch="all"
+license="zlib"
+makedepends="zlib-dev sdl2-dev sdl2_mixer-dev sdl2_image-dev"
+options="!check" # no tests
+source="https://downloads.sourceforge.net/sauerbraten/sauerbraten_${pkgver//./_}_linux.tar.bz2
+ sauerbraten-client
+ sauerbraten-server
+ "
+builddir="$srcdir/$pkgname"
+
+build() {
+ make -C src
+}
+
+package() {
+ make -C src install
+
+ # Executables
+ install -Dm755 bin_unix/native_client "$pkgdir"/usr/bin/sauer_client
+ install -Dm755 bin_unix/native_server "$pkgdir"/usr/bin/sauer_server
+
+ # Launcher scripts
+ install -Dm755 $srcdir/sauerbraten-client "$pkgdir"/usr/bin/sauerbraten
+ install -Dm755 $srcdir/sauerbraten-server "$pkgdir"/usr/bin
+
+ # Game data
+ install -d "$pkgdir"/usr/share/$pkgname
+ cp -r data "$pkgdir"/usr/share/$pkgname
+ cp -r packages "$pkgdir"/usr/share/$pkgname
+}
+
+sha512sums="
+fd2106e4ed3d48352b5cc2f9d4037933a486e6200ef89bf9e3f31952f4a27ef565f7740d45c32bb9b22da0e17e6542257169134f216bc51a6a465ff311f9bae9 sauerbraten_2020_12_29_linux.tar.bz2
+67bc774a3df9c8dc08323b0b4feaf06071daf80d88d0d2a83595443239a6ce58f44c6dfc08296cadaffeb1252f6647a74170d5d133e14bce6e3be6c1bc324fd5 sauerbraten-client
+84d7c31c083a5d8c1d149f174edd81b046351ee42141a2896e1eec90019579460f2674e0ac25d0f2307b5302720eb24fb4d0fee1c3bd680d8afa1566c92f2e84 sauerbraten-server
+"
diff --git a/testing/sauerbraten/sauerbraten-client b/testing/sauerbraten/sauerbraten-client
new file mode 100755
index 00000000000..10d821bec48
--- /dev/null
+++ b/testing/sauerbraten/sauerbraten-client
@@ -0,0 +1,7 @@
+#!/bin/sh
+SAUER_DATA=/usr/share/sauerbraten
+SAUER_BIN=/usr/bin/sauer_client
+SAUER_OPTIONS="-q${HOME}/.sauerbraten"
+
+cd ${SAUER_DATA}
+exec ${SAUER_BIN} ${SAUER_OPTIONS} "$@"
diff --git a/testing/sauerbraten/sauerbraten-server b/testing/sauerbraten/sauerbraten-server
new file mode 100755
index 00000000000..68cd5af077d
--- /dev/null
+++ b/testing/sauerbraten/sauerbraten-server
@@ -0,0 +1,7 @@
+#!/bin/sh
+SAUER_DATA=/usr/share/sauerbraten
+SAUER_SERV_BIN=/usr/bin/sauer_server
+SAUER_SERV_OPTIONS="-q${HOME}/.sauerbraten"
+
+cd ${SAUER_DATA}
+exec ${SAUER_SERV_BIN} ${SAUER_SERV_OPTIONS} "$@"
diff --git a/testing/sbase/APKBUILD b/testing/sbase/APKBUILD
index 8978298fd25..fdc15c2ebd1 100644
--- a/testing/sbase/APKBUILD
+++ b/testing/sbase/APKBUILD
@@ -3,7 +3,7 @@
pkgname=sbase
pkgver=0_git20210730
_gitrev=7d60e2cabbe07495ee74f3d5e705f1e3470148eb
-pkgrel=1
+pkgrel=2
pkgdesc="Suckless collection of portable unix tools"
url="https://core.suckless.org/sbase/"
arch="all"
diff --git a/testing/sblg/APKBUILD b/testing/sblg/APKBUILD
new file mode 100644
index 00000000000..3e8232321c3
--- /dev/null
+++ b/testing/sblg/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: David Demelier <markand@malikania.fr>
+# Maintainer: David Demelier <markand@malikania.fr>
+pkgname=sblg
+pkgver=0.5.11
+pkgrel=0
+pkgdesc="static blog utility"
+url="https://kristaps.bsd.lv/sblg/"
+arch="all"
+license="ISC"
+makedepends="bmake expat-dev"
+subpackages="$pkgname-doc"
+source="https://kristaps.bsd.lv/sblg/snapshots/sblg-$pkgver.tar.gz"
+
+build() {
+ ./configure MANDIR=/usr/share/man PREFIX=/usr LDFLAGS="$LDFLAGS"
+ bmake
+}
+
+check() {
+ bmake regress
+}
+
+package() {
+ bmake DESTDIR="$pkgdir" install
+}
+
+doc() {
+ default_doc
+ amove usr/share/sblg/examples
+}
+
+sha512sums="
+2741ce27172d702b2f0165d2fe796896fbc2a08b838e486aa61b9ccfe629ba0a09d5e1e9bbea168425c592bb39ae1cc073e0259772009bad5c7186f64558c93c sblg-0.5.11.tar.gz
+"
diff --git a/testing/sblim-sfcc/APKBUILD b/testing/sblim-sfcc/APKBUILD
index 38a099c15b8..48529624a40 100644
--- a/testing/sblim-sfcc/APKBUILD
+++ b/testing/sblim-sfcc/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=sblim-sfcc
pkgver=2.2.8
-pkgrel=1
+pkgrel=2
pkgdesc="Small Footprint CIM Client Library"
url="https://sourceforge.net/projects/sblim/"
arch="all"
diff --git a/testing/sblim-wbemcli/APKBUILD b/testing/sblim-wbemcli/APKBUILD
index 4ecc29bb67a..16f7abe95d7 100644
--- a/testing/sblim-wbemcli/APKBUILD
+++ b/testing/sblim-wbemcli/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jirka Dutka <jirka@dutka.net>
pkgname=sblim-wbemcli
pkgver=1.6.3
-pkgrel=0
+pkgrel=1
pkgdesc="WBEM Command Line Interface for CIMOM access"
url="https://sourceforge.net/projects/sblim/files/sblim-wbemcli"
arch="all"
diff --git a/testing/sbt/APKBUILD b/testing/sbt/APKBUILD
deleted file mode 100644
index 1731d6fcaf4..00000000000
--- a/testing/sbt/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Ed Robinson <edward-robinson@cookpad.com>
-# Maintainer: Ed Robinson <edward-robinson@cookpad.com>
-pkgname=sbt
-pkgver=1.3.13
-pkgrel=2
-pkgdesc="The interactive build tool, sbt is a build tool for Scala, Java, and more."
-url="https://www.scala-sbt.org/"
-arch="noarch !mips !mips64 !riscv64" # limited by java
-license="BSD-3-Clause"
-options="!check"
-depends="java-jdk bash"
-source="https://github.com/$pkgname/$pkgname/releases/download/v$pkgver/$pkgname-$pkgver.tgz"
-builddir="$srcdir/$pkgname"
-_basedir="/usr/share/java/$pkgname"
-
-package() {
- local destdir="$pkgdir/$_basedir"
- local confdir="$pkgdir/etc/$pkgname"
- cd "$builddir"
-
- install -dm755 "$destdir"/bin || return 1
- install -m755 -t "$destdir"/bin bin/* || return 1
-
- install -dm755 "$confdir" || return 1
- install -m644 -t "$confdir" conf/* || return 1
-
- mkdir -p "$pkgdir"/usr/bin
- ln -s "$_basedir/bin/sbt" "$pkgdir/usr/bin/sbt" || return 1
-
- # Remove windows specific files
- rm $destdir/bin/sbt.bat
- rm $confdir/sbtconfig.txt
-}
-
-sha512sums="578f5d79e7242a18a3058d3930ee3fa9ca5bc57c242f3637e372284659187275217be0682437e2d4f75216e8d5d0c1670dfd99009eef23221163727051721bd9 sbt-1.3.13.tgz"
diff --git a/testing/sc-controller/APKBUILD b/testing/sc-controller/APKBUILD
new file mode 100644
index 00000000000..7cf6156d2af
--- /dev/null
+++ b/testing/sc-controller/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Joshua Murphy <joshuamurphy@posteo.net>
+# Maintainer: Joshua Murphy <joshuamurphy@posteo.net>
+pkgname=sc-controller
+pkgver=0.4.8.13
+pkgrel=0
+pkgdesc="User-mode driver and GTK3 based GUI for the Steam Controller"
+url="https://github.com/Ryochan7/sc-controller"
+# s390x: py3-vdf
+arch="all !s390x"
+license="GPL-2.0-only"
+depends="
+ gtk+3.0
+ gtk-layer-shell
+ librsvg
+ libusb
+ py3-cairo
+ py3-evdev
+ py3-gobject3
+ py3-libacl
+ py3-vdf
+ "
+makedepends="
+ linux-headers
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ zlib-dev
+ "
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Ryochan7/sc-controller/archive/v$pkgver.tar.gz"
+
+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="
+f0220a409b3b312d73bbebec8128d8a5871f4a97a53d5d98034a9d2e31ce9f93c3b5d01e87c6d4bf8dea6ad96ffb53bddacfe490dc5068159275cfe6b8313e80 sc-controller-0.4.8.13.tar.gz
+"
diff --git a/testing/sc-im/APKBUILD b/testing/sc-im/APKBUILD
index 8ccc58b2de6..14c166a5b42 100644
--- a/testing/sc-im/APKBUILD
+++ b/testing/sc-im/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Roberto Oliveira <robertoguimaraes8@gmail.com>
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=sc-im
-pkgver=0.8.2
-pkgrel=1
+pkgver=0.8.3
+pkgrel=0
pkgdesc="ncurses spreadsheet program based on SC"
url="https://github.com/andmarti1424/sc-im"
arch="all"
@@ -21,5 +21,5 @@ package() {
}
sha512sums="
-ae02fd31eb7254208de26802ed6d8b21d77ce2d6997f4a2de5bd2f0a002c763f67f53e6c8e49d66ded096ecd8bf50b1117015e9a0356eaf11c3caef22cf4552c sc-im-0.8.2.tar.gz
+a3d7cf99c7c959d24ebf7e525abb665c02690674c9b3cdf5b234dcdb376fd73e9488bda522106802932084bbfd239928e39b35743c7051178aa14edf61ec2cb8 sc-im-0.8.3.tar.gz
"
diff --git a/testing/sc3-plugins/APKBUILD b/testing/sc3-plugins/APKBUILD
new file mode 100644
index 00000000000..c72830f7eba
--- /dev/null
+++ b/testing/sc3-plugins/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Leon ROUX <leon.roux@federate.us>
+# Maintainer: Leon ROUX <leon.roux@federate.us>
+pkgname=sc3-plugins
+pkgver=3.13.0
+pkgrel=1
+pkgdesc="Community plugins for SuperCollider"
+url="https://supercollider.github.io/sc3-plugins/"
+arch="x86_64 x86 aarch64 armv7 armhf" # blocked by supercollider
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ fftw-dev
+ samurai
+ supercollider-dev
+ "
+source="https://github.com/supercollider/sc3-plugins/releases/download/Version-$pkgver/sc3-plugins-$pkgver-Source.tar.bz2"
+builddir="$srcdir/sc3-plugins-$pkgver-Source"
+options="!check" # no tests
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSUPERNOVA=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+4a89bb7d76d60983a8c5ea6560dc9993f585e7dc47593adc2686b772cdb7649423e2cf2c170340c0c7ee16d4a6348877a6572faacfc593a9075da60b9a06988f sc3-plugins-3.13.0-Source.tar.bz2
+"
diff --git a/testing/scaleway-cli/APKBUILD b/testing/scaleway-cli/APKBUILD
new file mode 100644
index 00000000000..91a7cf5aef8
--- /dev/null
+++ b/testing/scaleway-cli/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=scaleway-cli
+pkgver=2.29.0
+pkgrel=0
+pkgdesc="Command-line client for Scaleway Cloud"
+url="https://www.scaleway.com/en/cli"
+arch="all !x86 !armv7 !armhf" # tests are failing for x86, armv7, armhf
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/scaleway/scaleway-cli/archive/refs/tags/v$pkgver.tar.gz"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+options="chmod-clean"
+options="!check" # failing on the package builders
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -o scw ./cmd/scw/main.go
+ PATH=. scw autocomplete script shell=bash > bashcomp
+ PATH=. scw autocomplete script shell=fish > fishcomp
+ PATH=. scw autocomplete script shell=zsh > zshcomp
+}
+
+check() {
+ go test -v ./...
+}
+
+package() {
+ install -Dm755 scw "$pkgdir"/usr/bin/scw
+
+ install -Dm644 bashcomp "$pkgdir"/usr/share/bash-completion/completions/scw
+ install -Dm644 fishcomp "$pkgdir"/usr/share/fish/vendor_completions.d/scw.fish
+ install -Dm644 zshcomp "$pkgdir"/usr/share/zsh/site-functions/_scw
+
+}
+
+sha512sums="
+0391d089565156f06fa779283e95591240814249e2275b3b098bac7037c36f906d4e04b4b7b7d2fbc28416dfb691ce0c553518bae45688a2e57e4d6a40a605fd scaleway-cli-2.29.0.tar.gz
+"
diff --git a/testing/scalingo/APKBUILD b/testing/scalingo/APKBUILD
index d937227cd49..85f2fa96d1d 100644
--- a/testing/scalingo/APKBUILD
+++ b/testing/scalingo/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Thomas Kienlen <kommander@laposte.net>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=scalingo
-pkgver=1.22.0
-pkgrel=0
+pkgver=1.30.0
+pkgrel=2
pkgdesc="Command-line client for Scalingo PaaS"
url="https://doc.scalingo.com/cli"
arch="all"
@@ -12,10 +12,12 @@ source="https://github.com/Scalingo/cli/archive/$pkgver/cli-$pkgver.tar.gz"
options="chmod-clean"
builddir="$srcdir/cli-$pkgver"
-export GOPATH="$srcdir"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- go build -trimpath -ldflags "-s -w" -o bin/scalingo ./scalingo
+ go build -trimpath -o bin/scalingo ./scalingo
}
check() {
@@ -27,5 +29,5 @@ package() {
}
sha512sums="
-2c10cc3fb8d0b2cdfb1275d8ffa5f5bdf04fe88c1471c85708b6930a083ec6acbb705aea529de0ac8d0c5171b631f042909c8375b3aa9411e9df6f41d2593a6b cli-1.22.0.tar.gz
+eb155897d3951c78df3a61f4248939be57deded616e3cfba6bd6c06da321cad3a8742bfd43c510451ed30680899d922d6e4f5c54de515a583f222ccbd66f950f cli-1.30.0.tar.gz
"
diff --git a/testing/scap-workbench/APKBUILD b/testing/scap-workbench/APKBUILD
index 7b421c2449c..d47f8cd8738 100644
--- a/testing/scap-workbench/APKBUILD
+++ b/testing/scap-workbench/APKBUILD
@@ -2,40 +2,41 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=scap-workbench
pkgver=1.2.1
-pkgrel=0
+pkgrel=2
pkgdesc="SCAP Scanner And Tailoring Graphical User Interface"
url="https://www.open-scap.org/tools/scap-workbench/"
-arch="all !mips !mips64 !armhf !s390x !riscv64" # blocked by polkit
-license="GPL-3.0"
+arch="all !armhf"
+license="GPL-3.0-or-later"
depends="openssh-askpass util-linux openssh-client polkit"
-makedepends="qt5-qtbase-dev qt5-qtxmlpatterns-dev openscap-dev cmake asciidoc libxslt"
+makedepends="
+ asciidoc
+ cmake
+ libxslt
+ openscap-dev
+ qt5-qtbase-dev
+ qt5-qtxmlpatterns-dev
+ samurai
+ "
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/OpenSCAP/$pkgname/archive/$pkgver.tar.gz
-remove-werror-cxx-flags.patch"
-builddir="$srcdir/$pkgname-$pkgver"
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenSCAP/scap-workbench/archive/$pkgver.tar.gz
+ appdata.patch
+ remove-werror-cxx-flags.patch
+ "
+options="!check" # todo
-prepare() {
- default_prepare
- cd "$builddir"
- mkdir -p build
-}
build() {
- cd "$builddir"/build
- cmake \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
- ..
- make
-}
-
-check() {
- cd "$builddir"/build
- return 0
+ -DCMAKE_BUILD_TYPE=none
+ cmake --build build
}
package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="37dad3d3310a9ba200756480eee2c93913617a77e9983c18dafdc3320fc62774d23b327200fa21f63cec160ef8d6527ac43c11e7d0cdce49b3a364590311fbad scap-workbench-1.2.1.tar.gz
-7434322c26be306f2c73ccf864846f8d8f8857a4def784b7c67c9613010f0ffdefad3a360d86b1945d3e77d1a197e657d1b3a71c9f73d3bee98d1bccb7021c9e remove-werror-cxx-flags.patch"
+sha512sums="
+37dad3d3310a9ba200756480eee2c93913617a77e9983c18dafdc3320fc62774d23b327200fa21f63cec160ef8d6527ac43c11e7d0cdce49b3a364590311fbad scap-workbench-1.2.1.tar.gz
+b2bf0e1cca3f30f4cacf5f584a6e4958077e2907a3821ea98064d6174322d66ad163fc2708adca167db94454246f39bcf8c444074d4ed70a6739ee7af47b8597 appdata.patch
+7434322c26be306f2c73ccf864846f8d8f8857a4def784b7c67c9613010f0ffdefad3a360d86b1945d3e77d1a197e657d1b3a71c9f73d3bee98d1bccb7021c9e remove-werror-cxx-flags.patch
+"
diff --git a/testing/scap-workbench/appdata.patch b/testing/scap-workbench/appdata.patch
new file mode 100644
index 00000000000..29a793fa18c
--- /dev/null
+++ b/testing/scap-workbench/appdata.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0e98b7f..d4fb02c 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -284,7 +284,7 @@ install(FILES "share/pixmaps/scap-workbench.png"
+ install(FILES "share/pixmaps/scap-workbench.svg"
+ DESTINATION "${CMAKE_INSTALL_DATADIR}/pixmaps")
+ install(FILES "scap-workbench.appdata.xml"
+- DESTINATION "${CMAKE_INSTALL_DATADIR}/appdata")
++ DESTINATION "${CMAKE_INSTALL_DATADIR}/metainfo")
+
+ if (ASCIIDOC_EXECUTABLE)
+ file(GLOB USER_MANUAL_SCREENSHOTS "${CMAKE_CURRENT_SOURCE_DIR}/doc/user_manual/*.png")
diff --git a/testing/sccache/APKBUILD b/testing/sccache/APKBUILD
deleted file mode 100644
index 78648a6d71f..00000000000
--- a/testing/sccache/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=sccache
-pkgver=0.2.15
-pkgrel=0
-pkgdesc="shared compilation cache for C/C++ and Rust"
-url="https://github.com/mozilla/sccache/"
-# s390x & mips64: limited by cargo
-# ppc64le: not supported by ring crate
-# armhf: sigbus
-arch="all !s390x !mips64 !ppc64le !armhf !riscv64"
-license="Apache-2.0"
-makedepends="cargo openssl-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mozilla/sccache/archive/v$pkgver.tar.gz
- test_musl_ldd_parse.patch"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- install -Dm0755 target/release/$pkgname -t "$pkgdir"/usr/bin
-
- install -Dm0644 -t "$pkgdir"/usr/share/doc/"$pkgname" \
- docs/Distributed.md \
- docs/DistributedQuickstart.md \
- docs/Jenkins.md \
- docs/Rust.md
-}
-
-sha512sums="82f09b15bcac300c22b4bab8b6d665ef5824af82d3e0fa198395fb7825c31da1eeb7ada1f39b0438efaf5760652f8977e50d1ca8f18770fe714c46f39840e67c sccache-0.2.15.tar.gz
-d8e544829df05fd374518f7daa3fc09b129877288594aafedfa43aeaa358779475c763b58801a7591bc4dd5b555ec4326957df18628e661798c73c0dd6da3bec test_musl_ldd_parse.patch"
diff --git a/testing/sccache/test_musl_ldd_parse.patch b/testing/sccache/test_musl_ldd_parse.patch
deleted file mode 100644
index 7a5b88eac68..00000000000
--- a/testing/sccache/test_musl_ldd_parse.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Adjust this test to musl and our output of 'ldd /bin/ls'.
-This test will be run on x86_64.
---- a/src/dist/pkg.rs
-+++ b/src/dist/pkg.rs
-@@ -332,24 +332,26 @@ mod toolchain_imp {
- }
-
- #[test]
-- fn test_ldd_parse_v2_30() {
-- let archlinux_ls_output = "\tlinux-vdso.so.1 (0x00007ffddc1f6000)
--\tlibcap.so.2 => /usr/lib/libcap.so.2 (0x00007f4980989000)
--\tlibc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f69ca6a1000)
--\tlibc.so.6 => /usr/lib/libc.so.6 (0x00007f49807c2000)
--\t/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f49809e9000)
-+ fn test_musl_ldd_parse_v1_2_2() {
-+ let alpinelinux_ls_output = "\t/lib/ld-musl-x86_64.so.1 (0x7f88fbb8c000)
-+\tlibacl.so.1 => /lib/libacl.so.1 (0x7f88fba65000)
-+\tlibattr.so.1 => /lib/libattr.so.1 (0x7f88fba5e000)
-+\tlibutmps.so.0.1 => /lib/libutmps.so.0.1 (0x7f88fba59000)
-+\tlibc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f88fbb8c000)
-+\tlibskarnet.so.2.10 => /lib/libskarnet.so.2.10 (0x7f88fba1a000)
- ";
- assert_eq!(
-- parse_ldd_output(archlinux_ls_output)
-+ parse_ldd_output(alpinelinux_ls_output)
- .iter()
- .map(|p| p.to_str().unwrap())
- .collect::<Vec<_>>(),
- &[
-- "/usr/lib/libcap.so.2",
-- "/lib/x86_64-linux-gnu/libc.so.6",
-- "/usr/lib/libc.so.6",
-- "/lib64/ld-linux-x86-64.so.2",
-- "/usr/lib64/ld-linux-x86-64.so.2",
-+ "/lib/ld-musl-x86_64.so.1",
-+ "/lib/libacl.so.1",
-+ "/lib/libattr.so.1",
-+ "/lib/libutmps.so.0.1",
-+ "/lib/ld-musl-x86_64.so.1",
-+ "/lib/libskarnet.so.2.10",
- ]
- )
- }
diff --git a/testing/schismtracker/APKBUILD b/testing/schismtracker/APKBUILD
index b4a2bc5cd88..2fb2de43613 100644
--- a/testing/schismtracker/APKBUILD
+++ b/testing/schismtracker/APKBUILD
@@ -1,20 +1,25 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=schismtracker
-pkgver=20210525
-pkgrel=1
+pkgver=20231029
+pkgrel=0
pkgdesc="Oldschool sample-based music composition tool"
-url="http://schismtracker.org/"
+url="https://schismtracker.org/"
arch="all"
license="GPL-2.0-or-later"
depends="python3"
-makedepends="automake autoconf sdl12-compat-dev python3-dev libxext-dev"
+makedepends="
+ alsa-lib-dev
+ automake
+ autoconf
+ flac-dev
+ libxext-dev
+ libxv-dev
+ python3-dev
+ sdl2-dev
+ "
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/schismtracker/schismtracker/archive/refs/tags/$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- autoreconf -fvi
-}
+source="https://github.com/schismtracker/schismtracker/releases/download/$pkgver/schismtracker-$pkgver.source.tar.gz"
+builddir="$srcdir"
build() {
./configure \
@@ -33,5 +38,5 @@ package() {
}
sha512sums="
-1f20535e4e3b5175ceea803a45b7286a99cab248829c39d11bc85780bc63e0e26c49ad78997a13e290fb4ad2c292d15eeb494a975d53fbe25dec80499e675b16 schismtracker-20210525.tar.gz
+42b01e6945380f346d2bca6c650fcd282df29ddcec0692014e1abb3d215110b455ae95cb0c11de981369adf8d03109e3517c34fb433081d01170d7bc8c29a67d schismtracker-20231029.source.tar.gz
"
diff --git a/testing/schroot/APKBUILD b/testing/schroot/APKBUILD
deleted file mode 100644
index 27f70bcd366..00000000000
--- a/testing/schroot/APKBUILD
+++ /dev/null
@@ -1,72 +0,0 @@
-# Contributor: Danct12 <danct12@disroot.org>
-# Maintainer: Danct12 <danct12@disroot.org>
-pkgname=schroot
-pkgver=1.6.10
-pkgrel=3
-pkgdesc="Allows users to execute shell commands under different root filesystems. (Successor to dchroot)."
-url="https://packages.qa.debian.org/s/schroot.html"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="autoconf automake boost-dev coreutils cppunit-dev groff gettext-dev libtool"
-subpackages="$pkgname-bash-completion $pkgname-dev $pkgname-doc $pkgname-lang"
-source="
- https://deb.debian.org/debian/pool/main/s/schroot/schroot_$pkgver.orig.tar.xz
- https://deb.debian.org/debian/pool/main/s/schroot/schroot_$pkgver-3+deb9u1.debian.tar.xz
- busybox-compat.patch
- getent.patch
- getmntent.patch
- musl.patch
- pam.d.schroot.patch
- remove-networks.patch
- schroot-cppunit.patch
- "
-options="suid !check" # failing testsuite (20 out of 23 passed)
-
-prepare() {
- default_prepare
-
- # shellcheck disable=SC2002
- cat "$srcdir"/debian/patches/series | while read -r p; do
- patch -p1 -i "$srcdir"/debian/patches/"$p"
- done
-
- # invalid sbuild_version
- sed -i "s/@sbuild_version@/$pkgver/g" sbuild/sbuild.pc.in
-
- ./bootstrap
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --enable-dchroot \
- --enable-lvm-snapshot \
- --enable-btrfs-snapshot \
- --with-bash-completion-dir=/usr/share/bash-completion/completions/ \
- BTRFS=/sbin/btrfs \
- BTRFSCTL=/sbin/btrfsctl \
- LVCREATE=/sbin/lvcreate \
- LVREMOVE=/sbin/lvremove
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-25155989c7811ab4c7bf3cdceaa8d0ffb12f08388143891def96fcd205f1cc401dad9a74f0e9a9ef8610d50174ff8319a8368401431dc87e1a11c0241e61fcbe schroot_1.6.10.orig.tar.xz
-5e6e3e0438151f4ce9a2a9a31c3a814091665efd17cbb050a4374d57d0f7eaf562182e2d075a014969d8a299d6b223c833267b5d7827802927cf7f317ffe54bc schroot_1.6.10-3+deb9u1.debian.tar.xz
-26fd02d3daf3a840685a1f58ffe95ecfa0405e8598eaf85484342a609d13f2c70b7393704cde5f1d85581b73269db2769ccb1d3a4744b05ed5e6675edf1f958d busybox-compat.patch
-fa37b263a59e170734bdfbb046259632baf71b809602f52d532cb3c7ea8c1b45384ebc335233fb983ee0f17e823f157dfb65e56fb511f73f4b261bcfe4fcca6f getent.patch
-21023b63665c6ab3993e8142e684b3d6086b35a15287db806a13013f5df3943383d8bb6063bc73a98d8cc548601ef89ad780e1e3a00b1bca3d239a4b217828e8 getmntent.patch
-c8a87b5d03adcd13bd103a3044da84782ac11eb0d38e1a3267ea41862f5de86c03442289074d0964a861c1bc09222fc2ca60efbe8818338fb4e0583e81a22ec8 musl.patch
-dcdbcb91e7960434ce2d7dc7eeea5b3bae65fa5800221c5cb6ffaf9aaaa45f9c2e0cdfdfe130de035095b2493364f1574dca73421043873adf65533f19791b8f pam.d.schroot.patch
-82542ed4db7f3e00d5531fb3af799f70502d3464db4182a128940db80675bf9b45b2e65a71c891b3b1ee6a6f8dff81c82b844ca65507f076cc54a293003e7088 remove-networks.patch
-229b0be8f45099af122139511bf8137ec01074df0865e33097e8baa80002a22b2e82ce338fb62a2b50ff33c0539242798f35dd9fc5438d3ea06aefc1d94663dd schroot-cppunit.patch
-"
diff --git a/testing/schroot/busybox-compat.patch b/testing/schroot/busybox-compat.patch
deleted file mode 100644
index 98c0dc2d76f..00000000000
--- a/testing/schroot/busybox-compat.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/etc/profile-templates/all/all/nssdatabases b/etc/profile-templates/all/all/nssdatabases
-index 42fa310..815ddce 100644
---- a/etc/profile-templates/all/all/nssdatabases
-+++ b/etc/profile-templates/all/all/nssdatabases
-@@ -4,4 +4,3 @@
- passwd
- shadow
- group
--gshadow
-diff --git a/etc/profile-templates/buildd/all/nssdatabases b/etc/profile-templates/buildd/all/nssdatabases
-index 42fa310..815ddce 100644
---- a/etc/profile-templates/buildd/all/nssdatabases
-+++ b/etc/profile-templates/buildd/all/nssdatabases
-@@ -4,4 +4,3 @@
- passwd
- shadow
- group
--gshadow
-diff --git a/etc/setup.d/20copyfiles b/etc/setup.d/20copyfiles
-index 2c01af9..e427d35 100755
---- a/etc/setup.d/20copyfiles
-+++ b/etc/setup.d/20copyfiles
-@@ -39,9 +39,9 @@ copy_file()
- if [ -e "$2" ]; then
-
- # Device and inode
-- da=$(/usr/bin/stat --format="%d %i" "$1")
-+ da=$(/bin/stat -c "%d %i" "$1")
- # This one can fail since it might not exist yet
-- db=$(/usr/bin/stat --format="%d %i" "$2" 2>/dev/null || :)
-+ db=$(/bin/stat -c "%d %i" "$2" 2>/dev/null || :)
-
- if [ "$da" = "$db" ]; then
- COPY="false"
-diff --git a/etc/setup.d/20nssdatabases b/etc/setup.d/20nssdatabases
-index 6ea83c0..3f4019c 100755
---- a/etc/setup.d/20nssdatabases
-+++ b/etc/setup.d/20nssdatabases
-@@ -42,9 +42,9 @@ if [ $STAGE = "setup-start" ] || [ $STAGE = "setup-recover" ]; then
- fi
-
- # Device and inode
-- dr=$(/usr/bin/stat --format="%d %i" "/etc/$db")
-+ dr=$(/bin/stat -c "%d %i" "/etc/$db")
- # This one can fail since it might not exist yet
-- dc=$(/usr/bin/stat --format="%d %i" "${CHROOT_PATH}/etc/$db" 2>/dev/null || :)
-+ dc=$(/bin/stat -c "%d %i" "${CHROOT_PATH}/etc/$db" 2>/dev/null || :)
-
- # If the database inside and outside the chroot is the
- # same, it's very likely that dup_nss would blank the
diff --git a/testing/schroot/getent.patch b/testing/schroot/getent.patch
deleted file mode 100644
index b89e63c1d49..00000000000
--- a/testing/schroot/getent.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6ffdd152d3fb07921c02e739ce5b47d1e177e7e6 Mon Sep 17 00:00:00 2001
-From: Andrea Brancaleoni <miwaxe@gmail.com>
-Date: Mon, 24 Aug 2015 18:39:16 +0200
-Subject: [PATCH] getent
-
----
- etc/setup.d/20nssdatabases | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git etc/setup.d/20nssdatabases etc/setup.d/20nssdatabases
-index 6f14c81..697bb1e 100755
---- a/etc/setup.d/20nssdatabases
-+++ b/etc/setup.d/20nssdatabases
-@@ -29,7 +29,7 @@ set -e
- dup_nss()
- {
- info "Copying $1 database to $2"
-- getent "$1" > "$2"
-+ getent "$1" > "$2" 2>/dev/null || cat "/etc/$1" > "$2"
- }
-
- if [ $STAGE = "setup-start" ] || [ $STAGE = "setup-recover" ]; then
---
-2.5.0
-
diff --git a/testing/schroot/getmntent.patch b/testing/schroot/getmntent.patch
deleted file mode 100644
index 8453bfb3a30..00000000000
--- a/testing/schroot/getmntent.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From db62a534ebcf60391d9e0acffa641e60dfba18fb Mon Sep 17 00:00:00 2001
-From: Andrea Brancaleoni <abc@pompel.me>
-Date: Wed, 19 Sep 2018 10:36:36 +0200
-Subject: [PATCH] getmntent fix
-
----
- sbuild/sbuild-mntstream.cc | 15 ++-------------
- sbuild/sbuild-mntstream.h | 3 +--
- 2 files changed, 3 insertions(+), 15 deletions(-)
-
-diff --git sbuild/sbuild-mntstream.cc sbuild/sbuild-mntstream.cc
-index d376fe5..d7324e7 100644
---- a/sbuild/sbuild-mntstream.cc
-+++ b/sbuild/sbuild-mntstream.cc
-@@ -37,9 +37,7 @@ namespace
- emap init_errors[] =
- {
- // TRANSLATORS: %1% = mount file name
-- emap(mntstream::MNT_OPEN, N_("Failed to open mount file ‘%1%’")),
-- // TRANSLATORS: %1% = mount file name
-- emap(mntstream::MNT_READ, N_("Failed to read mount file ‘%1%’"))
-+ emap(mntstream::MNT_OPEN, N_("Failed to open mount file ‘%1%’"))
- };
-
- }
-@@ -109,16 +107,7 @@ mntstream::read(int quantity)
- errno = 0;
- entry = getmntent(mntfile);
-
-- if (entry == 0) // EOF or error
-- {
-- //std::cerr << "Mount file read error: ";
-- if (errno) // error
-- {
-- this->error_status = true;
-- throw error(this->file, MNT_READ, strerror(errno));
-- }
-- return;
-- }
-+ if (entry == 0) return;
-
- mntentry newentry(*entry); // make a mntentry
- this->data.push_back(newentry); // push onto the end of the list
-diff --git sbuild/sbuild-mntstream.h sbuild/sbuild-mntstream.h
-index ea3d179..fffcdf4 100644
---- a/sbuild/sbuild-mntstream.h
-+++ b/sbuild/sbuild-mntstream.h
-@@ -49,8 +49,7 @@ namespace sbuild
- /// Error codes.
- enum error_code
- {
-- MNT_OPEN, ///< Failed to open mount file.
-- MNT_READ ///< Failed to read mount file.
-+ MNT_OPEN ///< Failed to open mount file.
- };
-
- /// Exception type.
---
-2.19.0
-
diff --git a/testing/schroot/musl.patch b/testing/schroot/musl.patch
deleted file mode 100644
index 8e27ad7e4cc..00000000000
--- a/testing/schroot/musl.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 73936a423227aa78b7682bdd3edc20643763807b Mon Sep 17 00:00:00 2001
-From: Andrea Brancaleoni <abc@pompel.me>
-Date: Wed, 19 Sep 2018 11:22:47 +0200
-Subject: [PATCH] musl
-
----
- sbuild/sbuild-feature.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git sbuild/sbuild-feature.cc sbuild/sbuild-feature.cc
-index 5ac4725..9902db3 100644
---- a/sbuild/sbuild-feature.cc
-+++ b/sbuild/sbuild-feature.cc
-@@ -20,6 +20,8 @@
-
- #include <iostream>
-
-+#include <libintl.h>
-+
- #include "sbuild-feature.h"
-
- using namespace sbuild;
---
-2.19.0
-
-diff --git a/sbuild/Makefile.am b/sbuild/Makefile.am
-index 03b5c7b..afa7638 100644
---- a/sbuild/Makefile.am
-+++ b/sbuild/Makefile.am
-@@ -222,7 +222,7 @@ pkgconfigdata_DATA = sbuild.pc
- # Uncomment to build a versioned library
- libsbuild_version = -version-info $(SBUILD_CURRENT_INTERFACE):$(SBUILD_INTERFACE_AGE):$(SBUILD_BINARY_AGE)
- libsbuild_la_LDFLAGS = $(libsbuild_version) \
-- -rpath $(libdir) -no-undefined
-+ -rpath $(libdir) -no-undefined -lintl
-
- EXTRA_DIST = \
- CMakeLists.txt \
-diff --git a/test/Makefile.in b/test/Makefile.in
-index ce78448..efbc287 100644
---- a/test/Makefile.in
-+++ b/test/Makefile.in
-@@ -334,7 +334,7 @@ am__v_CC_1 =
- CCLD = $(CC)
- LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
- $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-- $(AM_LDFLAGS) $(LDFLAGS) -o $@
-+ $(AM_LDFLAGS) $(LDFLAGS) -lcppunit -o $@
- AM_V_CCLD = $(am__v_CCLD_@AM_V@)
- am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
- am__v_CCLD_0 = @echo " CCLD " $@;
diff --git a/testing/schroot/pam.d.schroot.patch b/testing/schroot/pam.d.schroot.patch
deleted file mode 100644
index ec63323b0b6..00000000000
--- a/testing/schroot/pam.d.schroot.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/etc/pam/schroot
-+++ b/etc/pam/schroot
-@@ -23,13 +23,9 @@
- # time restrainst on schroot usage.
- # account requisite pam_time.so
-
--# The standard Unix authentication modules, used with
--# NIS (man nsswitch) as well as normal /etc/passwd and
--# /etc/shadow entries.
--@include common-auth
--@include common-account
--@include common-session
--
-+account required pam_unix.so
-+session required pam_unix.so
-+
- # Sets up user limits, please uncomment and read /etc/security/limits.conf
- # to enable this functionality.
- # session required pam_limits.so
-
diff --git a/testing/schroot/remove-networks.patch b/testing/schroot/remove-networks.patch
deleted file mode 100644
index 75066693480..00000000000
--- a/testing/schroot/remove-networks.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From e59bc1b6c6535ec8ab8a57004351718ab2677196 Mon Sep 17 00:00:00 2001
-From: Andrea Brancaleoni <abc@pompel.me>
-Date: Wed, 19 Sep 2018 12:36:41 +0200
-Subject: [PATCH] remove networks
-
----
- etc/profile-templates/buildd/all/copyfiles | 1 -
- etc/profile-templates/default/all/nssdatabases | 1 -
- etc/profile-templates/desktop/all/nssdatabases | 1 -
- 3 files changed, 3 deletions(-)
-
-diff --git etc/profile-templates/buildd/all/copyfiles etc/profile-templates/buildd/all/copyfiles
-index fe18fb3..2469d3e 100644
---- a/etc/profile-templates/buildd/all/copyfiles
-+++ b/etc/profile-templates/buildd/all/copyfiles
-@@ -3,4 +3,3 @@
- # <source and destination>
- /etc/hosts
- /etc/resolv.conf
--/etc/networks
-diff --git etc/profile-templates/default/all/nssdatabases etc/profile-templates/default/all/nssdatabases
-index a9f1319..22efe1b 100644
---- a/etc/profile-templates/default/all/nssdatabases
-+++ b/etc/profile-templates/default/all/nssdatabases
-@@ -1,4 +1,3 @@
- services
- protocols
--networks
- hosts
-diff --git etc/profile-templates/desktop/all/nssdatabases etc/profile-templates/desktop/all/nssdatabases
-index a9f1319..22efe1b 100644
---- a/etc/profile-templates/desktop/all/nssdatabases
-+++ b/etc/profile-templates/desktop/all/nssdatabases
-@@ -1,4 +1,3 @@
- services
- protocols
--networks
- hosts
---
-2.19.0
-
diff --git a/testing/schroot/schroot-cppunit.patch b/testing/schroot/schroot-cppunit.patch
deleted file mode 100644
index 3e11c73fd40..00000000000
--- a/testing/schroot/schroot-cppunit.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/configure.ac 2017-05-20 09:50:30.146864516 +0000
-+++ b/configure.ac 2017-05-20 09:51:26.216792794 +0000
-@@ -336,7 +336,7 @@
- [HAVE_UUID=yes],
- [HAVE_UUID=no])
-
--AM_PATH_CPPUNIT([1.10.0], [HAVE_CPPUNIT=yes])
-+PKG_CHECK_MODULES([CPPUNIT], [cppunit], [HAVE_CPPUNIT=yes], [HAVE_CPPUNIT=no])
- AM_CONDITIONAL([USE_UNIT_TESTS], [test -n "$HAVE_CPPUNIT"])
-
- SCHROOT_CFLAGS="$UUID_CFLAGS"
diff --git a/testing/scooper/APKBUILD b/testing/scooper/APKBUILD
index d12bb325d39..5359d2b3065 100644
--- a/testing/scooper/APKBUILD
+++ b/testing/scooper/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=scooper
-pkgver=1.2
-pkgrel=0
+pkgver=1.3
+pkgrel=1
pkgdesc="Web interface for litterbox"
arch="all"
url="https://git.causal.agency/scooper/"
license="GPL-3.0-or-later"
options="!check" # v1.1 not a real test suite
depends="litterbox"
-makedepends="kcgi-dev kcgi-static sqlite-dev zlib-static"
+makedepends="kcgi-dev kcgi-static zlib-static"
subpackages="$pkgname-doc"
source="https://git.causal.agency/scooper/snapshot/scooper-$pkgver.tar.gz"
@@ -29,5 +29,5 @@ package() {
}
sha512sums="
-6a5566a4472a041862efd10f5996f1408d3280355513247849e05c5f45c2a530b3dd5e2616b5be45987c85c16422192fd8c9850caf5212b7bb00975f3117c259 scooper-1.2.tar.gz
+6dc7eb751e25f75ce8fe9004c817a2f20fb6456cf25a7e0a76ca06e923241a1ad54146b1c36d61f48ea0cf21512f768136d64995b12f79629eac86adf109a8d5 scooper-1.3.tar.gz
"
diff --git a/testing/scratch/APKBUILD b/testing/scratch/APKBUILD
index f11a741270c..3cbdc6586f0 100644
--- a/testing/scratch/APKBUILD
+++ b/testing/scratch/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=scratch
pkgver=1.4.0.7
-pkgrel=0
+pkgrel=1
pkgdesc="Create and share your own interactive stories, games, music and art"
url="https://scratch.mit.edu"
arch="x86_64 armv7 s390x" # disabled for the other architectures due to compiling problems
diff --git a/testing/scrcpy/APKBUILD b/testing/scrcpy/APKBUILD
deleted file mode 100644
index 16832b1f1e2..00000000000
--- a/testing/scrcpy/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: prspkt <prspkt@protonmail.com>
-# Maintainer: prspkt <prspkt@protonmail.com>
-pkgname=scrcpy
-pkgver=1.21
-pkgrel=0
-pkgdesc="Display and control your Android device"
-url="https://github.com/Genymobile/scrcpy"
-arch="x86 x86_64 aarch64 armv7 armhf" # limited by android-tools
-license="Apache-2.0"
-options="!check" # no test suite
-depends="android-tools"
-makedepends="ffmpeg-dev mesa-dev meson sdl2-dev libusb-dev"
-subpackages="$pkgname-doc"
-source="scrcpy-$pkgver.tar.gz::https://github.com/Genymobile/scrcpy/archive/v$pkgver.tar.gz
- https://github.com/Genymobile/scrcpy/releases/download/v$pkgver/scrcpy-server-v$pkgver"
-
-build() {
- abuild-meson \
- -Dcompile_server=false \
- -Dprebuilt_server=/usr/share/scrcpy/scrcpy-server-v$pkgver \
- . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
- install -Dm644 "$srcdir"/scrcpy-server-v$pkgver \
- "$pkgdir"/usr/share/scrcpy/scrcpy-server
-}
-
-sha512sums="
-74f85cd60e6a3655bbf11adda408d40e242212068a566be9eabbacc3c0e9e3c9a1421b77fa2fcca4fc8951ae5b3a2ace5d8f90e436f20df8fe37b9dbfffdbc19 scrcpy-1.21.tar.gz
-946ca16bf4147facdc4a70df7593971f230d4b74dac3cad052ffadae79248ea1613de5d988d6daea865474bbcf314c84bd94ba6d7ef852383be601a189bb032e scrcpy-server-v1.21
-"
diff --git a/testing/screengrab/APKBUILD b/testing/screengrab/APKBUILD
deleted file mode 100644
index 46fe47f1b83..00000000000
--- a/testing/screengrab/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=screengrab
-pkgver=2.3.0
-pkgrel=0
-pkgdesc="Crossplatform tool for fast making screenshots"
-url="https://github.com/lxqt/screengrab"
-arch="all !armhf" # blocked by kwindowsystem-dev
-license="GPL-2.0-or-later"
-makedepends="
- cmake lxqt-build-tools qt5-qtbase-dev qt5-qttools-dev
- libqtxdg-dev kwindowsystem-dev
- "
-subpackages="$pkgname-doc"
-source="https://github.com/lxqt/screengrab/releases/download/$pkgver/screengrab-$pkgver.tar.xz"
-options="!check" # No testsuite
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-3898504bdf6d61d47236953e25693e9950dcc953abe85ba9b74484b55ce8af77b5f6a76f39906b2c4c0e8f4985ae6cb24679ec5e7d167b2d32638cdd7324f175 screengrab-2.3.0.tar.xz
-"
diff --git a/testing/screenkey/APKBUILD b/testing/screenkey/APKBUILD
index 8d01bcdbb64..aa25600853a 100644
--- a/testing/screenkey/APKBUILD
+++ b/testing/screenkey/APKBUILD
@@ -1,23 +1,27 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer:
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
pkgname=screenkey
pkgver=1.5
-pkgrel=2
+pkgrel=6
pkgdesc="Screencast tool to display your keys"
url="https://www.thregr.org/~wavexx/software/screenkey/"
arch="noarch"
license="GPL-3.0-or-later"
depends="python3 py3-cairo py3-gobject3 py3-dbus"
-makedepends="py3-setuptools py3-babel"
-subpackages="$pkgname-doc"
+makedepends="py3-gpep517 py3-setuptools py3-wheel py3-babel"
+subpackages="$pkgname-doc $pkgname-pyc"
source="https://www.thregr.org/~wavexx/software/screenkey/releases/screenkey-$pkgver.tar.gz"
+options="!check" # No tests
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
sha512sums="
diff --git a/testing/scrypt/APKBUILD b/testing/scrypt/APKBUILD
new file mode 100644
index 00000000000..1b4f2104dd7
--- /dev/null
+++ b/testing/scrypt/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Nulo <alpine@nulo.in>
+# Maintainer: Nulo <alpine@nulo.in>
+pkgname=scrypt
+pkgver=1.3.2
+pkgrel=0
+pkgdesc="A password-based encryption utility"
+url="https://www.tarsnap.com/scrypt.html"
+arch="all"
+license="BSD-2-Clause"
+depends_dev="openssl-dev>3"
+makedepends="$depends_dev"
+subpackages="$pkgname-doc"
+source="https://www.tarsnap.com/scrypt/scrypt-$pkgver.tgz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+5f2c4f74cec107b08675c5e287c151d633b3a02f12c71d9484ecb14750b3a45b90e2da9dae9090af59346518492aeab01c215961fd592c4f5e5b944f27d9afc7 scrypt-1.3.2.tgz
+"
diff --git a/testing/scummvm/APKBUILD b/testing/scummvm/APKBUILD
index ada8c303908..dab3407df96 100644
--- a/testing/scummvm/APKBUILD
+++ b/testing/scummvm/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Thomas Kienlen <kommander@laposte.net>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=scummvm
-pkgver=2.5.1
+pkgver=2.8.1
pkgrel=0
pkgdesc="Engine for several graphical adventure games"
url="https://www.scummvm.org/"
-arch="all"
+arch="all !ppc64le" # build failure on ppc64le
license="GPL-2.0-or-later"
makedepends="
alsa-lib-dev
@@ -15,6 +15,7 @@ makedepends="
freetype-dev
glu-dev
jpeg-dev
+ libmad-dev
libogg-dev
libpng-dev
libtheora-dev
@@ -32,7 +33,6 @@ build() {
./configure \
--prefix=/usr \
--enable-all-engines \
- --enable-c++11 \
--enable-release
make
}
@@ -42,6 +42,6 @@ package() {
}
sha512sums="
-af518e89f0f095c16f2d4ad314bb96f4e2c299b9a1a324fabf1ce49529c756625b190f8abd5fb47873c0243505284bc029c814c7cc0fbda0131ce6488f1c87e2 scummvm-2.5.1.tar.gz
+11bdd0a3d2a3aa53462eaa3d96c4bd0d79053d853627c6958aab0687f4032812ba2f95c883f58cec4580637e541fb903a9d926c7e9e6a9e2e6a41028a77e4002 scummvm-2.8.1.tar.gz
a44de9540f18893b49b02c083694f8eb974e8ddead6d0c6b0453760d7452367cfcc4613215fab2223da8859ce389a53dd2f110cf3389798761c95efafd886542 disable-forbidden.patch
"
diff --git a/testing/sd/APKBUILD b/testing/sd/APKBUILD
deleted file mode 100644
index bb194eac6c5..00000000000
--- a/testing/sd/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Chloe Kudryavtsev <toast@toast.cafe>
-# Maintainer: Chloe Kudryavtsev <toast@toast.cafe>
-pkgname=sd
-pkgver=0.7.6
-pkgrel=1
-pkgdesc="An intuitive find & replace CLI"
-url="https://github.com/chmln/sd"
-arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
-license="MIT"
-options="net"
-makedepends="cargo"
-source="$pkgname-$pkgver.tar.gz::https://github.com/chmln/sd/archive/v$pkgver.tar.gz"
-subpackages="$pkgname-doc
- $pkgname-bash-completion
- $pkgname-zsh-completion
- $pkgname-fish-completion
- "
-
-export CARGO_HOME="$srcdir"/cargo
-
-build() {
- cargo build \
- --release \
- --verbose
-}
-
-check() {
- cargo test --all \
- --release \
- --verbose
-}
-
-package() {
- install -Dm755 target/release/"$pkgname" "$pkgdir"/usr/bin/"$pkgname"
-
- # doc
- find target/release -name "$pkgname.1" \
- -exec install -Dm644 {} "$pkgdir"/usr/share/man/man1/"$pkgname.1" \;
-
- # comp
- find target/release -name "$pkgname.bash" \
- -exec install -Dm644 {} "$pkgdir"/usr/share/bash-completion/completions/"$pkgname" \;
- find target/release -name "$pkgname.fish" \
- -exec install -Dm644 {} "$pkgdir"/usr/share/fish/completions/"$pkgname.fish" \;
- find target/release -name "_$pkgname" \
- -exec install -Dm644 {} "$pkgdir"/usr/share/zsh/site-functions/"_$pkgname" \;
-}
-
-sha512sums="79f23259b53f5dfd31b729aba7f43d8ba9ce91d390f29e065d77a3b2a6a426e84fc7d6cccb3c1a10976a177d32532c69fa327a9a0b435a967a8a1d40de000bc6 sd-0.7.6.tar.gz"
diff --git a/testing/sdcv/APKBUILD b/testing/sdcv/APKBUILD
deleted file mode 100644
index 3cade441b34..00000000000
--- a/testing/sdcv/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Sodface <sod@sodface.com>
-# Maintainer: Sodface <sod@sodface.com>
-pkgname=sdcv
-pkgver=0.5.3
-pkgrel=0
-pkgdesc="Console version of StarDict"
-url="https://dushistov.github.io/sdcv/"
-license="GPL-2.0-or-later"
-arch="all"
-makedepends="cmake glib-dev readline-dev zlib-dev"
-checkdepends="jq"
-subpackages="$pkgname-doc $pkgname-lang"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Dushistov/sdcv/archive/v$pkgver.tar.gz"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DBUILD_TESTS=True \
- $CMAKE_CROSSOPTS
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- mkdir build/locale
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-73a305baad74d0584912e115d3de7395c8e88745fb69b4e5f1a345061629b0d4e05898bd589e96ce07948d52ba7c508ec4ab77862c8fadca5a2f19c5244e1442 sdcv-0.5.3.tar.gz
-"
diff --git a/testing/sdl2_gfx/APKBUILD b/testing/sdl2_gfx/APKBUILD
deleted file mode 100644
index af2bade4f2d..00000000000
--- a/testing/sdl2_gfx/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Miles Alan <m@milesalan.com>
-# Maintainer: Miles Alan <m@milesalan.com>
-pkgname=sdl2_gfx
-pkgver=1.0.4
-pkgrel=0
-pkgdesc="SDL2 graphics drawing primitives and other support functions"
-url="https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/"
-arch="all"
-license="Zlib"
-makedepends="sdl2-dev"
-subpackages="
- $pkgname-dev
- $pkgname-doc
-"
-source="http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-$pkgver.tar.gz"
-builddir="$srcdir/SDL2_gfx-$pkgver"
-options="!check" # Has no tests
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
-}
-
-build() {
- ./configure --prefix=/usr --disable-mmx
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir/usr/share/doc/$pkgname"
- install -Dm644 Docs/html/* -t "$pkgdir/usr/share/doc/$pkgname"
-}
-
-sha512sums="
-81a100d3c8c3a7c6bd37a23f1290ff10685f8e62fbecd83b0086aae4edc721483e2153cd4219fbd9168f115eea0ea6b25f9be375faf5761f0babdfb1b52fe482 SDL2_gfx-1.0.4.tar.gz
-"
diff --git a/testing/sdparm/APKBUILD b/testing/sdparm/APKBUILD
index 1aa90ae30ab..5ed5fde08d0 100644
--- a/testing/sdparm/APKBUILD
+++ b/testing/sdparm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=sdparm
pkgver=1.12
-pkgrel=0
+pkgrel=1
pkgdesc="SCSI device parameter modification tool"
url="http://sg.danny.cz/sg/sdparm.html"
arch="all"
diff --git a/testing/sdrangel/APKBUILD b/testing/sdrangel/APKBUILD
new file mode 100644
index 00000000000..a003fc6b3d0
--- /dev/null
+++ b/testing/sdrangel/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: Leon ROUX <leon.roux@federate.us>
+# Maintainer: Leon ROUX <leon.roux@federate.us>
+pkgname=sdrangel
+pkgver=7.15.0
+pkgrel=4
+pkgdesc="SDR Rx/Tx software and analyzer for various hardware"
+url="https://github.com/f4exb/sdrangel"
+license="GPL-3.0-or-later"
+# cm256cc
+arch="aarch64 x86_64"
+depends="
+ qt5-qtquickcontrols
+ qt5-qtquickcontrols2
+ qt5-qtgraphicaleffects
+ "
+makedepends="
+ aptdec-dev
+ boost-dev
+ cm256cc-dev
+ cmake
+ faad2-dev
+ ffmpeg-dev
+ fftw-dev
+ hackrf-dev
+ librtlsdr-dev
+ libusb-dev
+ opencv-dev
+ opus-dev
+ qt5-qtbase-dev
+ qt5-qtcharts-dev
+ qt5-qtgamepad-dev
+ qt5-qtlocation-dev
+ qt5-qtmultimedia-dev
+ qt5-qtserialport-dev
+ qt5-qtspeech-dev
+ qt5-qtwebengine-dev
+ qt5-qtwebsockets-dev
+ samurai
+ serialdv-dev
+ soapy-sdr-dev
+ uhd-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/f4exb/sdrangel/archive/refs/tags/v$pkgver.tar.gz
+ no-march-magic.patch
+ "
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DDEBUG_OUTPUT=ON \
+ -DENABLE_AIRSPY=OFF \
+ -DENABLE_AIRSPYHF=OFF \
+ -DENABLE_BLADERF=OFF \
+ -DENABLE_FUNCUBE=OFF \
+ -DENABLE_HACKRF=ON \
+ -DENABLE_IIO=OFF \
+ -DENABLE_LIMESUITE=OFF \
+ -DENABLE_MIRISDR=OFF \
+ -DENABLE_PERSEUS=OFF \
+ -DENABLE_RTLSDR=ON \
+ -DENABLE_SDRPLAY=OFF \
+ -DENABLE_SOAPYSDR=ON \
+ -DENABLE_XTRX=OFF \
+ -DENABLE_PACK_MIRSDRAPI=OFF \
+ -DENABLE_USRP=OFF
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+078c49eb9f073dc28fd2b6b8205a0f03bd5d08c7b98d833aa04504d45d17d4711714e985b47919b1d70f2139b5c767e7449a0160cdd1c575a27f84febc72e9aa sdrangel-7.15.0.tar.gz
+8779ed53c83505df3dac7a0b0a485c939f439a01f5aed203e25652cdb7d17c10ee629fab75b22b1ac9de882bfefbddcf2af5a3a8da75c5fdefc007a8fb9480f8 no-march-magic.patch
+"
diff --git a/testing/sdrangel/no-march-magic.patch b/testing/sdrangel/no-march-magic.patch
new file mode 100644
index 00000000000..01f013333c6
--- /dev/null
+++ b/testing/sdrangel/no-march-magic.patch
@@ -0,0 +1,14 @@
+disable the completely useless -march= option detective for native
+--
+diff --git a/cmake/Modules/CompilerOptions.cmake b/cmake/Modules/CompilerOptions.cmake
+index db06105..a3d8ed0 100644
+--- a/cmake/Modules/CompilerOptions.cmake
++++ b/cmake/Modules/CompilerOptions.cmake
+@@ -1,7 +1,5 @@
+ include_guard(GLOBAL)
+
+-include(DetectArchitecture)
+-
+ if (NOT APPLE)
+ set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
+ message(STATUS "Interprocedural optimization enabled")
diff --git a/testing/searchmonkey/APKBUILD b/testing/searchmonkey/APKBUILD
index 71ae9f39b89..2568c1057df 100644
--- a/testing/searchmonkey/APKBUILD
+++ b/testing/searchmonkey/APKBUILD
@@ -1,12 +1,12 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=searchmonkey
pkgver=0.9.0
-pkgrel=0
+pkgrel=1
pkgdesc="Powerful GUI search utility for matching regex patterns, GTK version"
url="https://sourceforge.net/projects/searchmonkey/"
-arch="all"
+arch="!s390x !riscv64" # adwaita-icon-theme -> librsvg -> rust
license="GPL-3.0-or-later"
-depends="gnome-icon-theme"
+depends="adwaita-icon-theme"
makedepends="gtk+3.0-dev intltool poppler-dev libzip-dev"
subpackages="$pkgname-lang"
options="!check" # No test suite
diff --git a/testing/seastar/APKBUILD b/testing/seastar/APKBUILD
new file mode 100644
index 00000000000..f77470ce63f
--- /dev/null
+++ b/testing/seastar/APKBUILD
@@ -0,0 +1,96 @@
+# Maintainer: Duncan Bellamy <dunk@denkimushi.com>
+pkgname=seastar
+pkgver=22.11.0_git20240315
+pkgrel=2
+_commit="a8aa79b2b3bed89f7d90a40cfb4bd55b6e960070"
+_ver="${_commit:=$pkgver}"
+pkgdesc="High performance server-side application framework"
+url="https://seastar.io"
+# riscv64: valgrind
+# armhf armv7 x86 32bit not supported
+arch="all !x86 !armhf !armv7 !riscv64"
+license="Apache-2.0"
+depends_dev="
+ $pkgname=$pkgver-r$pkgrel
+ $pkgname-testing=$pkgver-r$pkgrel
+ "
+makedepends="
+ boost-dev
+ bsd-compat-headers
+ c-ares-dev
+ cmake
+ crypto++-dev
+ fmt-dev
+ gnutls-dev
+ hwloc-dev
+ libpciaccess-dev
+ libucontext-dev
+ libunwind-dev
+ liburing-dev
+ lksctp-tools-dev
+ lz4-dev
+ numactl-dev
+ protobuf-dev
+ ragel
+ samurai
+ util-linux-dev
+ valgrind-dev
+ xfsprogs-dev
+ yaml-cpp-dev
+ "
+case "$CARCH" in
+aarch64|x86_64) makedepends="$makedepends dpdk-dev" ;;
+esac
+subpackages="$pkgname-dev $pkgname-testing"
+source="$pkgname-$_ver.tar.gz::https://github.com/scylladb/seastar/archive/$_ver.tar.gz"
+builddir="$srcdir/$pkgname-$_ver"
+
+build() {
+ case "$CARCH" in
+ aarch64|x86_64) local _dpdk=ON ;;
+ *) local _dpdk=OFF ;;
+ esac
+ if [ "$CBUILD" != "$CHOST" ]; then
+ local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ export CXXFLAGS="$CXXFLAGS -DSEASTAR_DEFAULT_ALLOCATOR -Wno-cpp"
+ cmake -B build -G Ninja \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DSeastar_APPS=OFF \
+ -DSeastar_DEMOS=OFF \
+ -DSeastar_DOCS=OFF \
+ -DSeastar_DPDK="$_dpdk" \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ # rest: needs root (doesn't work in container) for hardware access
+ # see also: https://github.com/scylladb/seastar/issues/1826
+ local _tests="chunk_parsers|coroutines|fair_queue|file_io|httpd|request_parser|semaphore|stall_detector|tls|app-template"
+ case "$CARCH" in
+ ppc64le) _ppc64="|fsnotifier|network_interface|futures|execution_stage|fstream|directory" ;;
+ esac
+ ctest --test-dir build --output-on-failure \
+ -E "($_tests$_ppc64)"
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+dev() {
+ default_dev
+ amove usr/bin
+}
+
+testing() {
+ amove usr/lib/libseastar_*testing.so
+}
+
+sha512sums="
+3f23b6a64baaef45e1ae34cfbf364c1bdf11f5095d1dc85dfeb3fa1fc4866c734e745fcd71af1b23bb8ac29dfde9caab4d8c2ea3dd8923c4d9258a3f2d57f4e8 seastar-a8aa79b2b3bed89f7d90a40cfb4bd55b6e960070.tar.gz
+"
diff --git a/testing/seaweedfs/APKBUILD b/testing/seaweedfs/APKBUILD
index 6103442ec2e..479ebf98db5 100644
--- a/testing/seaweedfs/APKBUILD
+++ b/testing/seaweedfs/APKBUILD
@@ -1,29 +1,28 @@
# Contributor: wener <wenermail@gmail.com>
# Maintainer: wener <wenermail@gmail.com>
pkgname=seaweedfs
-pkgver=2.85
-pkgrel=0
+pkgver=3.63
+pkgrel=1
pkgdesc="SeaweedFS is a simple and highly scalable distributed file system to store and serve billions of files fast"
-url="https://github.com/chrislusf/seaweedfs"
+url="https://github.com/seaweedfs/seaweedfs"
license="Apache-2.0"
-arch="all !s390x !ppc64le !mips64 !riscv64" # FTBFS
+arch="all !s390x !ppc64le !riscv64" # FTBFS
makedepends="go"
subpackages="$pkgname-doc $pkgname-openrc"
-source="
- seaweedfs-$pkgver.tar.gz::https://github.com/chrislusf/seaweedfs/archive/$pkgver.tar.gz
+source="seaweedfs-$pkgver.tar.gz::https://github.com/seaweedfs/seaweedfs/archive/$pkgver.tar.gz
seaweedfs.initd
seaweedfs.confd
"
+options="net"
-export GO111MODULE=on
-export GOPATH="$srcdir"
export CGO_ENABLED=1
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
GO_LDFLAGS="
- -w -s
- -extldflags
- -static
+ -extldflags \"$LDFLAGS\"
-X github.com/chrislusf/seaweedfs/weed/util.COMMIT=AlpineLinux
"
# build for large disk support
@@ -35,8 +34,10 @@ build() {
check() {
# s3/basic need credential
# weed/operation need server
+ # unmaintained may fail
+ # s3client uses non-32 int
# shellcheck disable=SC2046
- go test $(go list ./... | grep -v -e 's3/basic$' -e 'weed/operation$')
+ go test $(go list ./... | grep -v -e 's3/basic$' -e 'weed/operation$' -e 'unmaintained' -e 's3/s3client' )
}
package() {
@@ -51,13 +52,8 @@ package() {
"$pkgdir"/etc/conf.d/$pkgname
}
-cleanup_srcdir() {
- go clean -modcache
- default_cleanup_srcdir
-}
-
sha512sums="
-ced07422f41243f48b664117ffaf21ae83ebc6addf9f31c9404c72c30218a5dff5ec1dc6c4e0d31b66d95a5c5b473faa41c537a55af3fae4b59275a867d55fa4 seaweedfs-2.85.tar.gz
+2f3f6f0801a61cc450fda3dbfae946c20928e4f8affdda59333722b9d51cc18871a0108e087bb38f1881b88859461e369ab5e6fba25e0b9d39c86446898b3ae4 seaweedfs-3.63.tar.gz
54a1bb3d77e20e54dc38b08124665fc0f0bc510e9ca044a0d77d43ca45500572b9eae591ac1e55f7d54f95bb16055909534f9a8111ee33662d6a3f2789244adc seaweedfs.initd
31c4f65425836fc53e6b2e3f93333afb2804d4655aa2903eee10b12a5f337518dae5b3e26510bc76f61e8c917a3e130decdac7ec1faeb9dab143a8aefb3951df seaweedfs.confd
"
diff --git a/testing/secsipidx/APKBUILD b/testing/secsipidx/APKBUILD
index 9d77513975a..2bcee5749ab 100644
--- a/testing/secsipidx/APKBUILD
+++ b/testing/secsipidx/APKBUILD
@@ -1,32 +1,21 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=secsipidx
-pkgver=1.0.0
-pkgrel=2
+pkgver=1.3.2
+pkgrel=4
pkgdesc="Secure SIP/Telephony Identity Extensions"
url="https://github.com/asipto/secsipidx"
-arch="all !mips64" # go
+arch="all"
license="GPL-2.0-only"
makedepends="go"
-source="$pkgname-$pkgver.tar.gz::https://github.com/asipto/secsipidx/archive/v1.0.0.tar.gz
- go.mod
- go.sum
- "
+subpackages="$pkgname-dev $pkgname-libs"
+source="$pkgname-$pkgver.tar.gz::https://github.com/asipto/secsipidx/archive/v$pkgver.tar.gz"
-export GOPATH="$srcdir/go"
-export GOCACHE="$srcdir/go-build"
-export GOTEMPDIR="$srcdir/go"
-
-export GOFLAGS="$GOFLAGS -modcacherw"
-
-prepare() {
- default_prepare
-
- cp "$srcdir/go.mod" .
- cp "$srcdir/go.sum" .
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- go build -v
+ make
}
check() {
@@ -34,12 +23,14 @@ check() {
}
package() {
- install -D -m755 secsipidx "$pkgdir"/usr/bin/secsipidx
+ make -j1 DESTDIR="$pkgdir" PREFIX="/usr" install
}
+libs() {
+ pkgdesc="secsipid library files"
+ amove usr/lib/*.so*
+}
sha512sums="
-38855cf0b511c638063daacde040083638f7a53f31366d3df3b4c37d7d29e784f7e352bf4f194f99cab2eacf9308bed207a22b2ec1bfd0d843658f9d1664c997 secsipidx-1.0.0.tar.gz
-d6f60c25ddbb6cd3a3417497f8468722f714ea06285f5de8b77ea574f30b2b4908ff52c2e95d02fff652a21457c3c31433f4db083f5369fa23d4d08cf537633a go.mod
-236db275d23a0fb1a2492b5a3b017b7c07e2a70e002e87e1d279b034030f1def50f6f1171925b3b8e3db3e3af653e6dbfc3732e37b11ff9e35676daf4a898bf6 go.sum
+dfdc18f47048308c677623d25d72f2fd7c159033b10ee4121d36049742888f79eed4a39245dc03bc79f592c22309ff4248066d13b35c90912ac42f56f1d9c1e2 secsipidx-1.3.2.tar.gz
"
diff --git a/testing/secsipidx/go.mod b/testing/secsipidx/go.mod
deleted file mode 100644
index 64b85f9dbe9..00000000000
--- a/testing/secsipidx/go.mod
+++ /dev/null
@@ -1,5 +0,0 @@
-module github.com/asipto/secsipidx
-
-go 1.16
-
-require github.com/google/uuid v1.2.0
diff --git a/testing/secsipidx/go.sum b/testing/secsipidx/go.sum
deleted file mode 100644
index a4d2b5ecb01..00000000000
--- a/testing/secsipidx/go.sum
+++ /dev/null
@@ -1,2 +0,0 @@
-github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs=
-github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
diff --git a/testing/sedutil/APKBUILD b/testing/sedutil/APKBUILD
index dd12c7b7a3e..5c430fad0f8 100644
--- a/testing/sedutil/APKBUILD
+++ b/testing/sedutil/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Timo Teräs <timo.teras@iki.fi>
pkgname=sedutil
pkgver=1.15.1
-pkgrel=0
+pkgrel=1
pkgdesc="DTA sedutil Self encrypting drive software"
url="https://github.com/Drive-Trust-Alliance/sedutil"
arch="all"
diff --git a/testing/seed7/APKBUILD b/testing/seed7/APKBUILD
new file mode 100644
index 00000000000..b05e6104567
--- /dev/null
+++ b/testing/seed7/APKBUILD
@@ -0,0 +1,96 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=seed7
+pkgver=05.20240322
+pkgrel=0
+_pkgver="${pkgver//./_}"
+pkgdesc="High-level, extensible programming language"
+url="https://seed7.sourceforge.net/"
+# armhf, armv7: rand tests from chkflt fail
+arch="all !armhf !armv7"
+license="GPL-2.0-or-later AND LGPL-2.1-or-later"
+makedepends="
+ freetds-dev
+ libx11-dev
+ libxrender-dev
+ mariadb-connector-c-dev
+ ncurses-dev
+ postgresql-dev
+ sqlite-dev
+ unixodbc-dev
+ "
+subpackages="
+ $pkgname-doc
+ $pkgname-nano::noarch
+ $pkgname-vim::noarch
+ "
+source="https://downloads.sourceforge.net/seed7/seed7_$_pkgver.tgz
+ makefile.patch
+ "
+builddir="$srcdir/seed7/src"
+
+_s7include=/usr/lib/seed7/lib
+_s7runtime=/usr/lib/seed7/bin
+
+prepare() {
+ default_prepare
+
+ make depend \
+ SEED7_LIBRARY=$_s7include \
+ S7_LIB_DIR=$_s7runtime
+}
+
+build() {
+ make all
+ make make7
+}
+
+check() {
+ make test
+}
+
+package() {
+ cd "$srcdir/seed7"
+
+ # install interpreter, compiler, and make
+ install -Dvm755 bin/s7 bin/s7c bin/make7 -t "$pkgdir"/usr/bin/
+
+ # install Seed7 library
+ install -Dvm644 lib/*.s7i -t "$pkgdir"$_s7include/
+ install -Dvm644 lib/comp/*.s7i -t "$pkgdir"$_s7include/comp/
+
+ # install static libraries
+ install -Dvm644 bin/*.a -t "$pkgdir"$_s7runtime/
+
+ # install vim and nano syntax files
+ install -Dvm644 doc/sd7.vim -t "$pkgdir"/usr/share/vim/vimfiles/ftdetect/
+ install -Dvm644 doc/seed7.vim -t "$pkgdir"/usr/share/vim/vimfiles/syntax/
+ install -Dvm644 doc/seed7.nanorc -t "$pkgdir"/usr/share/nano/
+
+ # install docs, man pages, and examples
+ install -Dvm644 doc/*.txt -t "$pkgdir"/usr/share/doc/$pkgname/
+ install -Dvm644 doc/*.1 -t "$pkgdir"/usr/share/man/man1/
+ install -Dvm644 prg/*.dna prg/*.sd7 prg/*.dat prg/*.s7i \
+ -t "$pkgdir"/usr/share/doc/$pkgname/examples/
+}
+
+nano() {
+ pkgdesc="$pkgdesc (nano syntax)"
+ install_if="$pkgname=$pkgver-r$pkgrel nano"
+ depends=
+
+ amove usr/share/nano
+}
+
+vim() {
+ pkgdesc="$pkgdesc (vim syntax)"
+ install_if="$pkgname=$pkgver-r$pkgrel vim"
+ depends=
+
+ amove usr/share/vim/vimfiles
+}
+
+sha512sums="
+5e0436696e76376e7e0752c3dd3861422267804955bd300f3377476d3870abd726f131bce55bdee84102f19b090ff349015a6ddd7e4c2732372dac084cead9c6 seed7_05_20240322.tgz
+1028e81c04cca92929f48f6bdcf93ea109d4ba423b4b6183980758b606707388497ebdd828fe22cc7d69f94abaecace77ca7337fca7644c71018a8c0ec4fdb3f makefile.patch
+"
diff --git a/testing/seed7/makefile.patch b/testing/seed7/makefile.patch
new file mode 100644
index 00000000000..746a6348be8
--- /dev/null
+++ b/testing/seed7/makefile.patch
@@ -0,0 +1,10 @@
+--- a/makefile
++++ b/makefile
+@@ -226,7 +226,6 @@
+ echo "#define LINKER_OPT_DYN_LINK_LIBS \"-ldl\"" >> chkccomp.h
+ echo "#define POTENTIAL_PARTIAL_LINKING_OPTIONS \"-r\", \"-r -nostdlib\"" >> chkccomp.h
+ echo "#define USE_GMP 0" >> chkccomp.h
+- echo "#define ALLOW_REPLACEMENT_OF_SYSTEM_HEADERS" >> chkccomp.h
+
+ base.h:
+ echo "#define PATH_DELIMITER '/'" > base.h
diff --git a/testing/semodule-utils/APKBUILD b/testing/semodule-utils/APKBUILD
deleted file mode 100644
index b6419bfc3df..00000000000
--- a/testing/semodule-utils/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=semodule-utils
-pkgver=3.2
-pkgrel=0
-pkgdesc="SELinux semodule utilities"
-url="https://github.com/SELinuxProject/"
-arch="all"
-license="GPL-2.0-only"
-makedepends="libsepol-dev"
-options="!check" # No test suite
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/SELinuxProject/selinux/releases/download/$pkgver/semodule-utils-$pkgver.tar.gz"
-
-build() {
- make
-}
-
-package() {
- make install DESTDIR="$pkgdir"
-}
-
-sha512sums="f937647cc22f7ed719908bad64415d706fd97cf1dce484dbca2484b05b3295de40e31bec643b6caaf4e8be742b1f911428d393c5e2d1d0ae39a2a37fd3be9bc1 semodule-utils-3.2.tar.gz"
diff --git a/testing/sems/APKBUILD b/testing/sems/APKBUILD
index 05a075b9ce6..35380354f7d 100644
--- a/testing/sems/APKBUILD
+++ b/testing/sems/APKBUILD
@@ -1,8 +1,9 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=sems
-pkgver=1.6.0
-pkgrel=12
+pkgver=1.7.2_git20240113
+pkgrel=0
+_gitver=e67ff5a76ec9b1cb402d0d91c5c9e7a12e6c3252
pkgdesc="SIP Express Media Server, an extensible SIP media server"
url="https://github.com/sems-server/sems/"
arch="all"
@@ -12,48 +13,35 @@ options="!check"
pkgusers="sems"
pkggroups="sems"
install="$pkgname.pre-install"
-makedepends="cmake bash openssl-dev linux-headers
+depends="python3 bash"
+makedepends="cmake openssl-dev>3 linux-headers
libsamplerate-dev spandsp-dev flite-dev gsm-dev speex-dev
- libevent-dev libev-dev lame-dev tiff-dev"
+ libevent-dev libev-dev lame-dev opus-dev tiff-dev"
subpackages="$pkgname-doc $pkgname-conference
- $pkgname-diameter_client $pkgname-early_announce
- $pkgname-g722 $pkgname-gsm $pkgname-mp3 $pkgname-speex $pkgname-xmlrpc2di
+ $pkgname-diameter_client $pkgname-dsm $pkgname-early_announce
+ $pkgname-g722 $pkgname-gsm $pkgname-ilbc $pkgname-mp3
+ $pkgname-opus $pkgname-speex $pkgname-xmlrpc2di
$pkgname-webconference $pkgname-voicebox $pkgname-voicemail
$pkgname-annrecorder $pkgname-jsonrpc $pkgname-registrar $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/sems-server/sems/archive/$pkgver.tar.gz
- sems-0001-Force-to-use-system-wide-GSM-includes.patch
+source="$pkgname-$pkgver.tar.gz::https://github.com/sems-server/sems/archive/$_gitver.tar.gz
sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
- sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
sems-0004-musl-fixes.patch
sems-0005-stats-needs-version.patch
- sems-0011-Add-SBC-dependencies.patch
- std-types.patch
- sems-0013-Fix-for-C-11.patch
- Fix-find-openssl.patch
- Fix-openssl-1.1.patch
- remove-dsm.patch
+ sems-0014-further-musl-fixes.patch
sems.initd
"
-# sems-0005-Add-sw_prepaid_sip-plugin-to-default-exclude-list-du.patch
-# sems-0006-last-minute-fix-proper-version.patch
-# sems-0008-Install-email-template.patch
-# sems-0009-Don-t-start-py_sems-by-default.patch
-
-# applied:
-# sems-0004-fix-PRACK-route.patch
-# sems-0007-Fix-gateway-module-s-version-passing-in-CMake.patch
-# sems-0010-Move-CMake-defines.patch
replaces="
$pkgname-ivr
$pkgname-mailbox
$pkgname-conf_auth
$pkgname-pin_collect
- $pkgname-dsm
" # Removed in 1.6.0-r10 (due to depending on EOL python)
+builddir="$srcdir/sems-$_gitver"
+
prepare() {
default_prepare
rm -rf core/plug-in/gsm/gsm-1.0-pl10/
@@ -69,7 +57,7 @@ build() {
-DSEMS_USE_LIBSAMPLERATE=yes \
-DSEMS_USE_ZRTP=NO \
-DSEMS_USE_MP3=yes \
- -DSEMS_USE_ILBC=NO \
+ -DSEMS_USE_OPUS=yes \
-DSEMS_USE_TTS=yes \
-DSEMS_USE_OPENSSL=yes \
-DSEMS_USE_MONITORING=yes \
@@ -116,6 +104,15 @@ diameter_client() {
_mv_sub usr/lib/sems/plug-in/diameter_client.so
}
+dsm() {
+ pkgdesc="The state machine interpreter for SEMS"
+ depends="sems"
+ cd "$pkgdir"
+ _mv_sub etc/sems/etc/dsm* \
+ usr/lib/sems/plug-in/dsm.so \
+ usr/lib/sems/dsm
+}
+
early_announce() {
pkgdesc="Early announce application for SEMS"
depends="sems"
@@ -141,12 +138,24 @@ gsm() {
_mv_sub usr/lib/sems/plug-in/gsm.so
}
+ilbc() {
+ pkgdesc="iLBC support for SEMS"
+ depends="sems"
+ _mv_sub usr/lib/sems/plug-in/ilbc.so
+}
+
mp3() {
pkgdesc="MP3 support for SEMS"
depends="sems"
_mv_sub usr/lib/sems/plug-in/mp3.so
}
+opus() {
+ pkgdesc=" OPUS codec for SEMS"
+ depends="sems"
+ _mv_sub usr/lib/sems/plug-in/opus.so
+}
+
webconference() {
pkgdesc="Conference bridge via DI (xmlrpc) for SEMS"
depends="sems sems-xmlrpc2di"
@@ -215,16 +224,11 @@ registrar() {
usr/lib/sems/plug-in/registrar_client.so
}
-sha512sums="80190dbdc1d68dc7aa377b2af6a962f08c058a42cd618cb422d6d4e0f9138059fad71b7f284c6420de462ad4dcd65ea5e65b3c5b82dc1850dbd5b5a45644d3d4 sems-1.6.0.tar.gz
-87c6f878c3ad5e947a9a80431ddf28f08c04ce1415b7c42878f66b423c78d909efda836c7c2d3ed97e075c08d7a07c4707a49c14ce42c1a3aa350de1878c8d09 sems-0001-Force-to-use-system-wide-GSM-includes.patch
-4c09033d6acd1bbef2aa2d02571f74da29532decca67b9ce861872d8d9522ca31808d6e26c3b536913ef7a988f90d374e217187b9cadb6a79d5c830571e94b67 sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
-ba6f0d917464729c63628255bee3d864a954af4a510b802f0de1d51f35ff5d7c1c33cbe14db31818133a3c94f84da0f4bea4184ce1e8eae6aa9a1ba79f2e5347 sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
-0d3deeb8617a96f81a05fc27b94bca70f4f6dfbdb3c75f0cd4abc5df002ff16f70ec2836717f317b0d03a8178415c2c09ca2d7099bf10c7ac3c58b273ee98776 sems-0004-musl-fixes.patch
+sha512sums="
+2369f25c41e5440ba6e2d5841d85f96b0e3e26a67660a343f89e57a1451a0818b577bb5e32e6413f589ae1d36777d6132074d02c9f076b29d38a557176c81dde sems-1.7.2_git20240113.tar.gz
+25d93994e444312445fd277b85fb8e53f9314fb370f2f2377b599c99e41c1d9787db392752f4b1c30b76bd6c4411ca5a67570f534f40282778e30a269a1d3c90 sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
+d98cbabe9fe6154e4e7354a742c3871668d9ef798c32ec60a36d5f3b2bf4419a57609988bc979bcc53855e3ab1368616fa2ea647d5a00fe31ce65c93f32f9700 sems-0004-musl-fixes.patch
28f07142a0b8b6698948d41bfb198e59637d5a921960adc496111b5cad4685a0b1cade821ac9cd9dbbf3f25ed6195f29485a12d077abf81428b9b6f8bfced79e sems-0005-stats-needs-version.patch
-d616448e70d1cdfc7016f7ff3cab3615063a65f551b4b03cd004ced60b7a24681e85a871788ef2bf13d37c6cb3c84a6d76ba44fd9b9d1a921ad4b8469f3c6ed1 sems-0011-Add-SBC-dependencies.patch
-79e3ac2b202b3f6c710b3d2bc8ac459e3622f2bf5945eaaa81778f53bcbddc7951266f88c2fd9862fbed44f10a160368af7d19b5e81929a3b1e8ee150111f74b std-types.patch
-d21eb55ebcbf3d20703dcb3843415b9f7e8d4fa029396738b843d8ece80abf87475e7d06794f86c75e8c3205273c013e99da4772d169bf127d7985522230265a sems-0013-Fix-for-C-11.patch
-5d8493a7323af5e48a862e6f54e606a0eb0c778115922822a450e226b6f55051797b645595de068307b3d624c1aa9958fee16c838b49508352b336138783e210 Fix-find-openssl.patch
-b9b00accd7b69cf531f22df43e3334ef099d24aa0bb164c860a8a87ec2cc12520a1c83217ec10357d101b5394d00559a669cd6fa12e1d9cbe05c6cde2afc5cc6 Fix-openssl-1.1.patch
-f354d2ddc8bc96792faef75417e10cc86b56de115114688a438b6019345406a5454ac71f50a424613bbdaea3a79e5d8299ca95c511c1791f25e0f7ced766cdb5 remove-dsm.patch
-5be93b6444a9592daa6c883c78e5906e9e662891e1daa850d872bdaa657eb756f1bc0879732033479b279b75c2fd42ef79aa530ebf3b1692e7fb222d484f804b sems.initd"
+044a344706c099b6e420a01ca3a2947fb7a44ed81a6ccf4942d2fcdcc73dc174c504f151faa010c6a370d7463c6b02e6c14f6aa237a5ca706171e7cfb9499818 sems-0014-further-musl-fixes.patch
+5be93b6444a9592daa6c883c78e5906e9e662891e1daa850d872bdaa657eb756f1bc0879732033479b279b75c2fd42ef79aa530ebf3b1692e7fb222d484f804b sems.initd
+"
diff --git a/testing/sems/Fix-find-openssl.patch b/testing/sems/Fix-find-openssl.patch
deleted file mode 100644
index 2dad112c002..00000000000
--- a/testing/sems/Fix-find-openssl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- old/CMakeLists.txt
-+++ new/CMakeLists.txt
-@@ -161,7 +161,7 @@
- ENDIF(SPEEX_FOUND)
-
- IF(SEMS_USE_OPENSSL)
-- FIND_PACKAGE(OpenSSL REQUIRED QUIETLY)
-+ FIND_PACKAGE(OpenSSL REQUIRED)
- MESSAGE(STATUS "Found OpenSSL includes: ${OPENSSL_INCLUDE_DIR}/openssl/ssl.h")
- MESSAGE(STATUS "Found OpenSSL library: ${OPENSSL_LIBRARIES}")
- MESSAGE(STATUS "Using OpenSSL: YES")
diff --git a/testing/sems/Fix-openssl-1.1.patch b/testing/sems/Fix-openssl-1.1.patch
deleted file mode 100644
index e29e9540c27..00000000000
--- a/testing/sems/Fix-openssl-1.1.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 929872513cf14c4c11df1b144b97595301f69475 Mon Sep 17 00:00:00 2001
-From: Guillem Jover <gjover@sipwise.com>
-Date: Fri, 25 Aug 2017 14:12:15 +0200
-Subject: [PATCH] apps/diameter_client: Do not access the OpenSSL BIO struct
- directly
-
-Use a proper accessor instead of messing with the struc directly
-which has become opaque in latest OpenSSL versions.
----
- apps/diameter_client/lib_dbase/tcp_comm.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/apps/diameter_client/lib_dbase/tcp_comm.c b/apps/diameter_client/lib_dbase/tcp_comm.c
-index d9fea4591..1290fc3a3 100644
---- a/apps/diameter_client/lib_dbase/tcp_comm.c
-+++ b/apps/diameter_client/lib_dbase/tcp_comm.c
-@@ -74,7 +74,7 @@ long tcp_ssl_dbg_cb(BIO *bio, int oper, const char *argp,
- switch (oper) {
- case BIO_CB_WRITE: {
- char buf[256];
-- snprintf(buf, 256, "%s: %s", argp, bio->method->name);
-+ snprintf(buf, 256, "%s: %s", argp, BIO_method_name(bio));
- INFO("%s", buf);
- } break;
-
diff --git a/testing/sems/remove-dsm.patch b/testing/sems/remove-dsm.patch
deleted file mode 100644
index 6669a83d8a1..00000000000
--- a/testing/sems/remove-dsm.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Requires python2
-
-diff --git a/apps/CMakeLists.txt b/apps/CMakeLists.txt
-index e2668eb..c8cc2d2 100644
---- a/apps/CMakeLists.txt
-+++ b/apps/CMakeLists.txt
-@@ -6,6 +6,7 @@ ADD_SUBDIRECTORY(callback)
- ADD_SUBDIRECTORY(click2dial)
- IF(PYTHONLIBS_FOUND)
- ADD_SUBDIRECTORY(conf_auth)
-+ ADD_SUBDIRECTORY(dsm)
- ENDIF(PYTHONLIBS_FOUND)
- ADD_SUBDIRECTORY(conference)
- IF(MYSQLPP_FOUND)
-@@ -14,7 +15,6 @@ ENDIF(MYSQLPP_FOUND)
- IF(OPENSSL_FOUND)
- ADD_SUBDIRECTORY(diameter_client)
- ENDIF(OPENSSL_FOUND)
--ADD_SUBDIRECTORY(dsm)
- ADD_SUBDIRECTORY(early_announce)
- #ADD_SUBDIRECTORY(examples)
- IF(MISDN_FOUND)
-
diff --git a/testing/sems/sems-0001-Force-to-use-system-wide-GSM-includes.patch b/testing/sems/sems-0001-Force-to-use-system-wide-GSM-includes.patch
deleted file mode 100644
index d09b793395d..00000000000
--- a/testing/sems/sems-0001-Force-to-use-system-wide-GSM-includes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From de3c54f85f893e4ee985b1da93cc014b00456fa8 Mon Sep 17 00:00:00 2001
-From: Peter Lemenkov <lemenkov@gmail.com>
-Date: Wed, 31 Mar 2010 11:52:52 +0400
-Subject: [PATCH 01/11] Force to use system-wide GSM includes
-
-Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
----
- core/plug-in/gsm/gsm.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/core/plug-in/gsm/gsm.c b/core/plug-in/gsm/gsm.c
-index 286a989..3517e59 100644
---- a/core/plug-in/gsm/gsm.c
-+++ b/core/plug-in/gsm/gsm.c
-@@ -27,7 +27,7 @@
-
- #include "amci.h"
- #include "codecs.h"
--#include "gsm-1.0-pl10/inc/gsm.h"
-+#include <gsm.h>
- #include "../../log.h"
-
- #include <stdlib.h>
---
-1.7.3.4
-
diff --git a/testing/sems/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch b/testing/sems/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
index 0cfeab8c83a..4e702ad149a 100644
--- a/testing/sems/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
+++ b/testing/sems/sems-0002-Allow-rewrite-of-custom-makefiles-by-CMake.patch
@@ -1,19 +1,8 @@
-From 26929b6a7a62299b71bf7c99f17f75670a2040e2 Mon Sep 17 00:00:00 2001
-From: Peter Lemenkov <lemenkov@gmail.com>
-Date: Wed, 31 Mar 2010 11:53:48 +0400
-Subject: [PATCH 02/11] Allow rewrite of custom makefiles by CMake
-
-Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
----
- CMakeLists.txt | 9 ---------
- 1 files changed, 0 insertions(+), 9 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a6ff425..ef3934e 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -26,15 +26,6 @@ ELSE(IS_DEVEL)
- ENDIF(IS_DEVEL)
+diff -urp a/CMakeLists.txt b/CMakeLists.txt
+--- a/CMakeLists.txt 2021-10-21 10:06:12.000000000 +0200
++++ b/CMakeLists.txt 2021-12-02 00:42:09.962054752 +0100
+@@ -34,14 +34,14 @@ ADD_DEFINITIONS(-DSEMS_APP_NAME=\\\"sems
+
MESSAGE(STATUS "Configuring ${CMAKE_PROJECT_NAME} v. ${SEMS_VERSION}")
-IF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE)
@@ -24,10 +13,14 @@ index a6ff425..ef3934e 100644
-This process created the file `CMakeCache.txt' and the directory `CMakeFiles'.
-Please delete them.")
-ENDIF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE)
--
++#IF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE)
++# message(FATAL_ERROR "In-source builds are not allowed.
++#CMake would overwrite all makefiles distributed with SEMS.
++#Please create a directory and run cmake from there, passing the path
++#to this source directory as the last argument.
++#This process created the file `CMakeCache.txt' and the directory `CMakeFiles'.
++#Please delete them.")
++#ENDIF(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR AND NOT MSVC_IDE)
+
+ OPTION(SEMS_USE_OPUS "Build with Opus" OFF)
OPTION(SEMS_USE_SPANDSP "Build with spandsp" OFF)
- OPTION(SEMS_USE_LIBSAMPLERATE "Build with libsamplerate" OFF)
- OPTION(SEMS_USE_ZRTP "Build with ZRTP" OFF)
---
-1.7.3.4
-
diff --git a/testing/sems/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch b/testing/sems/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
deleted file mode 100644
index df0a5ad405a..00000000000
--- a/testing/sems/sems-0003-Set-CFG_PREFIX-to-empty-string-by-default.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From e322f2e00e48b639b5d87ed06738aa24d99396bf Mon Sep 17 00:00:00 2001
-From: Peter Lemenkov <lemenkov@gmail.com>
-Date: Wed, 31 Mar 2010 18:56:39 +0400
-Subject: [PATCH 03/11] Set CFG_PREFIX to empty string by default
-
-Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
----
- CMakeLists.txt | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index ef3934e..c36ce62 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -48,7 +48,7 @@ ENDIF (${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION} STREQUAL "2.4")
- SET(CMAKE_DL_LIBS ${CMAKE_DL_LIBS} m pthread)
-
- IF (NOT SEMS_CFG_PREFIX)
-- SET(SEMS_CFG_PREFIX "/usr/local")
-+ SET(SEMS_CFG_PREFIX "")
- ENDIF (NOT SEMS_CFG_PREFIX)
- MESSAGE(STATUS "SEMS cfg prefix was set to: ${SEMS_CFG_PREFIX}")
-
---
-1.7.3.4
-
diff --git a/testing/sems/sems-0004-musl-fixes.patch b/testing/sems/sems-0004-musl-fixes.patch
index 6302f30b39a..e7fcb149f67 100644
--- a/testing/sems/sems-0004-musl-fixes.patch
+++ b/testing/sems/sems-0004-musl-fixes.patch
@@ -53,4 +53,3 @@ index 6f03e5c..d7030eb 100644
+#include <sys/resource.h>
#include <sys/prctl.h>
#endif
-
diff --git a/testing/sems/sems-0011-Add-SBC-dependencies.patch b/testing/sems/sems-0011-Add-SBC-dependencies.patch
deleted file mode 100644
index cf572a03153..00000000000
--- a/testing/sems/sems-0011-Add-SBC-dependencies.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/apps/sbc/CMakeLists.txt
-+++ b/apps/sbc/CMakeLists.txt
-@@ -6,6 +6,19 @@
- SBC.cpp
- SBCCallProfile.cpp
- SDPFilter.cpp
-+
-+CallLeg.cpp
-+RateLimit.cpp
-+RegisterCache.cpp
-+RegisterDialog.cpp
-+ReplacesMapper.cpp
-+SBCCallLeg.cpp
-+SBCCallRegistry.cpp
-+SBCEventLog.cpp
-+SBCSimpleRelay.cpp
-+SessionUpdate.cpp
-+SubscriptionDialog.cpp
-+arg_conversion.cpp
- )
-
- SET(sbc_config_files
diff --git a/testing/sems/sems-0013-Fix-for-C-11.patch b/testing/sems/sems-0013-Fix-for-C-11.patch
deleted file mode 100644
index 5dd06b1cab3..00000000000
--- a/testing/sems/sems-0013-Fix-for-C-11.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From: Peter Lemenkov <lemenkov@gmail.com>
-Date: Fri, 8 Apr 2016 14:50:23 +0300
-Subject: [PATCH] Fix for C++11
-
-Signed-off-by: Peter Lemenkov <lemenkov@gmail.com>
-
-diff --git a/apps/sbc/RegisterCache.cpp b/apps/sbc/RegisterCache.cpp
-index cbd3c30..5cd1235 100644
---- a/apps/sbc/RegisterCache.cpp
-+++ b/apps/sbc/RegisterCache.cpp
-@@ -955,7 +955,7 @@ bool _RegisterCache::throttleRegister(RegisterCacheCtx& ctx,
- return false; // fwd
- }
-
-- alias_updates.push_back(make_pair<string,long int>(reg_binding.alias,
-+ alias_updates.push_back(make_pair(reg_binding.alias,
- contact_expires));
- }
-
-diff --git a/apps/sbc/RegisterDialog.cpp b/apps/sbc/RegisterDialog.cpp
-index 820e03d..88b94cb 100644
---- a/apps/sbc/RegisterDialog.cpp
-+++ b/apps/sbc/RegisterDialog.cpp
-@@ -239,7 +239,7 @@ int RegisterDialog::fixUacContacts(const AmSipRequest& req)
- continue;
- }
-
-- alias_updates.push_back(make_pair<string,long int>(reg_binding.alias,
-+ alias_updates.push_back(make_pair(reg_binding.alias,
- contact_expires));
- }
-
-diff --git a/core/sip/resolver.cpp b/core/sip/resolver.cpp
-index 9793069..7bc6ff7 100644
---- a/core/sip/resolver.cpp
-+++ b/core/sip/resolver.cpp
-@@ -823,7 +823,7 @@ dns_entry_map::insert(const dns_entry_map::value_type& x)
- bool dns_entry_map::insert(const string& key, dns_entry* e)
- {
- std::pair<iterator, bool> res =
-- insert(make_pair<const key_type&,mapped_type>(key,e));
-+ insert(make_pair(key,e));
-
- if(res.second) {
- inc_ref(e);
diff --git a/testing/sems/sems-0014-further-musl-fixes.patch b/testing/sems/sems-0014-further-musl-fixes.patch
new file mode 100644
index 00000000000..2d2f2ab09b3
--- /dev/null
+++ b/testing/sems/sems-0014-further-musl-fixes.patch
@@ -0,0 +1,12 @@
+--- a/core/AmRtpAudio.cpp 2021-10-21 10:06:12.000000000 +0200
++++ b/core/AmRtpAudio.cpp 2021-12-02 09:48:19.320236030 +0100
+@@ -76,7 +76,8 @@ void AmAudioRtpFormat::initCodec()
+ } else {
+ if (NULL != sdp_format_parameters_out) {
+ DBG("negotiated fmt parameters '%s'\n", sdp_format_parameters_out);
+- log_demangled_stacktrace(L_DBG, 30);
++ // MUSL BACKTRACE NOT WORKING
++ //log_demangled_stacktrace(L_DBG, 30);
+ }
+
+ if (NULL != fmt_i) {
diff --git a/testing/sems/std-types.patch b/testing/sems/std-types.patch
deleted file mode 100644
index edaf8d53aaf..00000000000
--- a/testing/sems/std-types.patch
+++ /dev/null
@@ -1,281 +0,0 @@
-diff --git a/apps/gateway/mISDNChannel.cpp b/apps/gateway/mISDNChannel.cpp
-index 8abd77a..36e8778 100644
---- a/apps/gateway/mISDNChannel.cpp
-+++ b/apps/gateway/mISDNChannel.cpp
-@@ -118,8 +118,8 @@ int mISDN_get_free_ext_ie(mISDN::Q931_info_t *qi) {
- return (-1);
- }
-
--int mISDN_AddIE(mISDN::Q931_info_t *qi, u_char *p, u_char ie, u_char *iep) {
-- u_char *ps;
-+int mISDN_AddIE(mISDN::Q931_info_t *qi, unsigned char *p, unsigned char ie, unsigned char *iep) {
-+ unsigned char *ps;
- mISDN::ie_info_t *ies;
- int l;
-
-@@ -158,7 +158,7 @@ int mISDN_AddIE(mISDN::Q931_info_t *qi, u_char *p, u_char ie, u_char *iep) {
- }
- l = iep[0] + 1;
- }
-- ps = (u_char *) qi;
-+ ps = (unsigned char *) qi;
- ps += L3_EXTRA_SIZE;
- ies->off = (u16)(p - ps);
- *p++ = ie;
-diff --git a/core/sip/parse_dns.cpp b/core/sip/parse_dns.cpp
-index 2b62f3e..d24f537 100644
---- a/core/sip/parse_dns.cpp
-+++ b/core/sip/parse_dns.cpp
-@@ -6,10 +6,10 @@
- #define SECTION_COUNTS_OFF 4
- #define HEADER_OFFSET 12
-
--unsigned short dns_msg_count(u_char* begin, dns_section_type sect);
--int dns_skip_name(u_char** p, u_char* end);
--int dns_expand_name(u_char** ptr, u_char* begin, u_char* end,
-- u_char* buf, unsigned int len);
-+unsigned short dns_msg_count(unsigned char* begin, dns_section_type sect);
-+int dns_skip_name(unsigned char** p, unsigned char* end);
-+int dns_expand_name(unsigned char** ptr, unsigned char* begin, unsigned char* end,
-+ unsigned char* buf, unsigned int len);
-
-
- const char* dns_rr_type_str(dns_rr_type t)
-@@ -27,11 +27,11 @@ const char* dns_rr_type_str(dns_rr_type t)
-
-
-
--int dns_msg_parse(u_char* msg, int len, dns_parse_fct fct, void* data)
-+int dns_msg_parse(unsigned char* msg, int len, dns_parse_fct fct, void* data)
- {
-- u_char* begin = msg;
-- u_char* p = begin + HEADER_OFFSET;
-- u_char* end = msg + len;
-+ unsigned char* begin = msg;
-+ unsigned char* p = begin + HEADER_OFFSET;
-+ unsigned char* end = msg + len;
-
- if(p >= end) return -1;
-
-@@ -48,7 +48,7 @@ int dns_msg_parse(u_char* msg, int len, dns_parse_fct fct, void* data)
- for(int i=0; i<dns_msg_count(begin,(dns_section_type)s); i++){
-
- // expand name
-- if(dns_expand_name(&p,begin,end,(u_char*)rr.name,NS_MAXDNAME) < 0) return -1;
-+ if(dns_expand_name(&p,begin,end,(unsigned char*)rr.name,NS_MAXDNAME) < 0) return -1;
-
- // at least 8 bytes for type+class+ttl left?
- if((p + 8) > end) return -1;
-@@ -79,14 +79,14 @@ int dns_msg_parse(u_char* msg, int len, dns_parse_fct fct, void* data)
- return 0;
- }
-
--unsigned short dns_msg_count(u_char* begin, dns_section_type sect)
-+unsigned short dns_msg_count(unsigned char* begin, dns_section_type sect)
- {
-- u_char* p = begin + SECTION_COUNTS_OFF + 2*sect;
-+ unsigned char* p = begin + SECTION_COUNTS_OFF + 2*sect;
-
- return ((u_short)*p)<<8 | ((u_short)*(p+1));
- }
-
--int dns_skip_name(u_char** p, u_char* end)
-+int dns_skip_name(unsigned char** p, unsigned char* end)
- {
- while(*p < end) {
-
-@@ -106,11 +106,11 @@ int dns_skip_name(u_char** p, u_char* end)
- return -1;
- }
-
--int dns_expand_name(u_char** ptr, u_char* begin, u_char* end,
-- u_char* start_buf, unsigned int len)
-+int dns_expand_name(unsigned char** ptr, unsigned char* begin, unsigned char* end,
-+ unsigned char* start_buf, unsigned int len)
- {
-- u_char* buf = start_buf;
-- u_char* p = *ptr;
-+ unsigned char* buf = start_buf;
-+ unsigned char* p = *ptr;
- bool is_ptr=false;
-
- while(p < end) {
-diff --git a/core/sip/parse_dns.h b/core/sip/parse_dns.h
-index c5de8b6..34406b0 100644
---- a/core/sip/parse_dns.h
-+++ b/core/sip/parse_dns.h
-@@ -39,18 +39,18 @@ struct dns_record
-
- class dns_entry;
-
--typedef int (*dns_parse_fct)(dns_record* rr, dns_section_type t, u_char* begin, u_char* end, void* data);
-+typedef int (*dns_parse_fct)(dns_record* rr, dns_section_type t, unsigned char* begin, unsigned char* end, void* data);
-
--int dns_msg_parse(u_char* msg, int len, dns_parse_fct fct, void* data);
--int dns_expand_name(u_char** ptr, u_char* begin, u_char* end,
-- u_char* buf, unsigned int len);
-+int dns_msg_parse(unsigned char* msg, int len, dns_parse_fct fct, void* data);
-+int dns_expand_name(unsigned char** ptr, unsigned char* begin, unsigned char* end,
-+ unsigned char* buf, unsigned int len);
-
--inline uint16_t dns_get_16(const u_char* p)
-+inline uint16_t dns_get_16(const unsigned char* p)
- {
- return ntohs(*(uint16_t*)p);
- }
-
--inline uint32_t dns_get_32(const u_char* p)
-+inline uint32_t dns_get_32(const unsigned char* p)
- {
- return ntohl(*(uint32_t*)p);
- }
-diff --git a/core/sip/resolver.cpp b/core/sip/resolver.cpp
-index 9793069..80c547c 100644
---- a/core/sip/resolver.cpp
-+++ b/core/sip/resolver.cpp
-@@ -169,7 +169,7 @@ public:
- stable_sort(ip_vec.begin(),ip_vec.end(),srv_less);
- }
-
-- dns_base_entry* get_rr(dns_record* rr, u_char* begin, u_char* end);
-+ dns_base_entry* get_rr(dns_record* rr, unsigned char* begin, unsigned char* end);
-
- int next_ip(dns_handle* h, sockaddr_storage* sa)
- {
-@@ -316,7 +316,7 @@ dns_entry* dns_entry::make_entry(dns_rr_type t)
- }
- }
-
--void dns_entry::add_rr(dns_record* rr, u_char* begin, u_char* end, long now)
-+void dns_entry::add_rr(dns_record* rr, unsigned char* begin, unsigned char* end, long now)
- {
- dns_base_entry* e = get_rr(rr,begin,end);
- if(!e) return;
-@@ -451,7 +451,7 @@ void ip_entry::to_sa(sockaddr_storage* sa)
- string ip_entry::to_str()
- {
- if(type == IPv4) {
-- u_char* cp = (u_char*)&addr;
-+ unsigned char* cp = (unsigned char*)&addr;
- return int2str(cp[0]) +
- "." + int2str(cp[1]) +
- "." + int2str(cp[2]) +
-@@ -496,7 +496,7 @@ string ip_port_entry::to_str()
- return ip_entry::to_str() + ":" + int2str(port);
- }
-
--dns_base_entry* dns_ip_entry::get_rr(dns_record* rr, u_char* begin, u_char* end)
-+dns_base_entry* dns_ip_entry::get_rr(dns_record* rr, unsigned char* begin, unsigned char* end)
- {
- if(rr->type != dns_r_a)
- return NULL;
-@@ -516,16 +516,16 @@ dns_base_entry* dns_ip_entry::get_rr(dns_record* rr, u_char* begin, u_char* end)
- return new_ip;
- }
-
--dns_base_entry* dns_srv_entry::get_rr(dns_record* rr, u_char* begin, u_char* end)
-+dns_base_entry* dns_srv_entry::get_rr(dns_record* rr, unsigned char* begin, unsigned char* end)
- {
- if(rr->type != dns_r_srv)
- return NULL;
-
-- u_char name_buf[NS_MAXDNAME];
-- const u_char * rdata = ns_rr_rdata(*rr);
-+ unsigned char name_buf[NS_MAXDNAME];
-+ const unsigned char * rdata = ns_rr_rdata(*rr);
-
- /* Expand the target's name */
-- u_char* p = (u_char*)rdata+6;
-+ unsigned char* p = (unsigned char*)rdata+6;
- if (dns_expand_name(&p,begin,end,
- name_buf, /* Result */
- NS_MAXDNAME) /* Size of result buffer */
-@@ -570,7 +570,7 @@ struct dns_search_h
- };
-
- int rr_to_dns_entry(dns_record* rr, dns_section_type t,
-- u_char* begin, u_char* end, void* data)
-+ unsigned char* begin, unsigned char* end, void* data)
- {
- // only answer and additional sections
- if(t != dns_s_an && t != dns_s_ar)
-@@ -668,7 +668,7 @@ void dns_naptr_entry::init()
- stable_sort(ip_vec.begin(),ip_vec.end(),naptr_less);
- }
-
--dns_base_entry* dns_naptr_entry::get_rr(dns_record* rr, u_char* begin, u_char* end)
-+dns_base_entry* dns_naptr_entry::get_rr(dns_record* rr, unsigned char* begin, unsigned char* end)
- {
- enum NAPTR_FieldIndex {
- NAPTR_Flags = 0,
-@@ -681,7 +681,7 @@ dns_base_entry* dns_naptr_entry::get_rr(dns_record* rr, u_char* begin, u_char* e
- if(rr->type != dns_r_naptr)
- return NULL;
-
-- const u_char * rdata = ns_rr_rdata(*rr);
-+ const unsigned char * rdata = ns_rr_rdata(*rr);
-
- unsigned short order = dns_get_16(rdata);
- rdata += 2;
-@@ -856,7 +856,7 @@ _resolver::~_resolver()
-
- int _resolver::query_dns(const char* name, dns_entry_map& entry_map, dns_rr_type t)
- {
-- u_char dns_res[NS_PACKETSZ];
-+ unsigned char dns_res[NS_PACKETSZ];
-
- if(!name) return -1;
-
-diff --git a/core/sip/resolver.h b/core/sip/resolver.h
-index 7565898..caa81e8 100644
---- a/core/sip/resolver.h
-+++ b/core/sip/resolver.h
-@@ -77,7 +77,7 @@ class dns_entry
- : public atomic_ref_cnt,
- public dns_base_entry
- {
-- virtual dns_base_entry* get_rr(dns_record* rr, u_char* begin, u_char* end)=0;
-+ virtual dns_base_entry* get_rr(dns_record* rr, unsigned char* begin, unsigned char* end)=0;
-
- public:
- vector<dns_base_entry*> ip_vec;
-@@ -87,7 +87,7 @@ public:
- dns_entry();
- virtual ~dns_entry();
- virtual void init()=0;
-- virtual void add_rr(dns_record* rr, u_char* begin, u_char* end, long now);
-+ virtual void add_rr(dns_record* rr, unsigned char* begin, unsigned char* end, long now);
- virtual int next_ip(dns_handle* h, sockaddr_storage* sa)=0;
-
- virtual string to_str();
-@@ -140,7 +140,7 @@ public:
- {}
-
- void init(){};
-- dns_base_entry* get_rr(dns_record* rr, u_char* begin, u_char* end);
-+ dns_base_entry* get_rr(dns_record* rr, unsigned char* begin, unsigned char* end);
- int next_ip(dns_handle* h, sockaddr_storage* sa);
-
- int fill_ip_list(const list<sip_destination>& ip_list);
-@@ -199,7 +199,7 @@ public:
- {}
-
- void init();
-- dns_base_entry* get_rr(dns_record* rr, u_char* begin, u_char* end);
-+ dns_base_entry* get_rr(dns_record* rr, unsigned char* begin, unsigned char* end);
-
- // not needed
- int next_ip(dns_handle* h, sockaddr_storage* sa) { return -1; }
-diff --git a/core/sip/udp_trsp.cpp b/core/sip/udp_trsp.cpp
-index eb3a1ce..e33a156 100644
---- a/core/sip/udp_trsp.cpp
-+++ b/core/sip/udp_trsp.cpp
-@@ -300,7 +300,7 @@ void udp_trsp::run()
- msg.msg_namelen = sizeof(sockaddr_storage);
- msg.msg_iov = iov;
- msg.msg_iovlen = 1;
-- msg.msg_control = new u_char[DSTADDR_DATASIZE];
-+ msg.msg_control = new unsigned char[DSTADDR_DATASIZE];
- msg.msg_controllen = DSTADDR_DATASIZE;
-
- if(sock->get_sd()<=0){
diff --git a/testing/senpai/APKBUILD b/testing/senpai/APKBUILD
deleted file mode 100644
index 9ce473646ae..00000000000
--- a/testing/senpai/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Francesco Camuffo <dev@fmac.xyz>
-# Maintainer: Francesco Camuffo <dev@fmac.xyz>
-pkgname=senpai
-pkgver=0_git20211125
-_commit=c5a148573da8542178413dadac10d3df13a596cf
-pkgrel=0
-pkgdesc="Your everyday IRC student"
-url="https://git.sr.ht/~taiite/senpai"
-arch="all"
-license="ISC"
-makedepends="go scdoc"
-subpackages="$pkgname-doc"
-source="https://git.sr.ht/~taiite/senpai/archive/$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
-
-build() {
- go build ./cmd/senpai
- make doc/senpai.1
- make doc/senpai.5
- gzip doc/senpai.1
- gzip doc/senpai.5
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm0755 "$builddir"/senpai "$pkgdir"/usr/bin/senpai
- install -Dm0644 "$builddir"/doc/senpai.1.gz "$pkgdir"/usr/share/man/man1/senpai.1.gz
- install -Dm0644 "$builddir"/doc/senpai.5.gz "$pkgdir"/usr/share/man/man5/senpai.5.gz
-}
-
-sha512sums="
-fb4a113198c549f27d70c414d3c6629b649b80c89ef27ca7c7519b58373b1cdbbb17617401463d7ec7c16db4732ce1a714af45dcde9eaea447f20bb51d07db28 c5a148573da8542178413dadac10d3df13a596cf.tar.gz
-"
diff --git a/testing/sentinel-minipot/APKBUILD b/testing/sentinel-minipot/APKBUILD
new file mode 100644
index 00000000000..688dad0c64e
--- /dev/null
+++ b/testing/sentinel-minipot/APKBUILD
@@ -0,0 +1,77 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=sentinel-minipot
+pkgver=2.3.0
+pkgrel=1
+pkgdesc="A minimal honeypot that emulates Telnet, HTTP, FTP and SMTP"
+url="https://gitlab.nic.cz/turris/sentinel/minipot"
+# ppc64le: fails to build
+# s390x: blocked by logc-libs
+arch="all !ppc64le !s390x"
+license="GPL-3.0-or-later"
+makedepends="
+ argp-standalone
+ autoconf
+ automake
+ base64c-dev
+ czmq-dev
+ gperf
+ libevent-dev
+ logc-dev
+ logc-libs-dev
+ msgpack-c-dev
+ "
+checkdepends="check-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="https://gitlab.nic.cz/turris/sentinel/minipot/-/archive/v$pkgver/minipot-v$pkgver.tar.bz2
+ fix-configure-msgpack-c.patch
+ no-valgrind.patch
+ $pkgname.initd
+ $pkgname.confd
+ "
+builddir="$srcdir/minipot-v$pkgver"
+
+case "$CARCH" in
+riscv64)
+ # check() is disabled on the riscv64 package builder
+ makedepends="$makedepends $checkdepends"
+ ;;
+esac
+
+prepare() {
+ default_prepare
+
+ ./bootstrap
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-tests
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+4f442240d413bdad2f6bddf5ef581c410f03842a4b50685be2e7d1d3686811a7644fd0787c26ee31cb99a0997f2867ed1375a6e3f2a2ede09bd5e9217fbe84d6 minipot-v2.3.0.tar.bz2
+f9e127570d256ee9ce7f9f3d28a66cecfde2e0c9d068b68ea99599b0e3e74fb944311b3f69b28fea8f0b7c86ccba7094888f5310dbceb7ad44bf110b56060161 fix-configure-msgpack-c.patch
+8b133216fa6d97d31105ecfecd3ffb3135c65e771c23968af1d186c6589fd3b31ea1866ed3d9bed34034b01f7322518fa4086503d3b12a0b3f8c21479ee46900 no-valgrind.patch
+846e6c30949590026069df19b583847bc1f94d7190d6dd334ca7ae469323b63f94c82a8ff79b757618e656e5a12fa4b51fe25c6dae3344f8ee0eccaa7ffa324e sentinel-minipot.initd
+2cbdfc997d2f85ef6d24af2b4ce1aa7e01aebcb7e8fddc98d8b2401cba5138898e1668f4018c2609dbe88e35bbb1c1a61a9d3602e6f438e494706651f1ae4418 sentinel-minipot.confd
+"
diff --git a/testing/sentinel-minipot/fix-configure-msgpack-c.patch b/testing/sentinel-minipot/fix-configure-msgpack-c.patch
new file mode 100644
index 00000000000..81c32bc3e80
--- /dev/null
+++ b/testing/sentinel-minipot/fix-configure-msgpack-c.patch
@@ -0,0 +1,7 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -16,3 +16,3 @@
+ PKG_CHECK_MODULES([czmq], [libczmq])
+-PKG_CHECK_MODULES([msgpack], [msgpack])
++PKG_CHECK_MODULES([msgpack], [msgpack-c])
+ PKG_CHECK_MODULES([libevent], [libevent])
diff --git a/testing/sentinel-minipot/no-valgrind.patch b/testing/sentinel-minipot/no-valgrind.patch
new file mode 100644
index 00000000000..4216a6f43d2
--- /dev/null
+++ b/testing/sentinel-minipot/no-valgrind.patch
@@ -0,0 +1,26 @@
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -8,23 +8,6 @@
+ env AM_TAP_AWK='$(AWK)' TEST_OUTPUT_TAP="/dev/stdout" \
+ '$(SHELL)' '$(srcdir)/.aux/tap-driver.sh'
+
+-# Valgrind #######################################################################
+-VALGRIND_memcheck_FLAGS = \
+- --leak-check=full \
+- --show-leak-kinds=definite,indirect,possible \
+- --track-fds=yes \
+- --track-origins=yes \
+- --trace-children=no \
+- --child-silent-after-fork=yes
+-@VALGRIND_CHECK_RULES@
+-
+-# Rules generated for valgrind are for some reason called *-am. This is just an alias
+-check-valgrind: check-valgrind-am
+-define check_valgrind_rule
+-check-valgrind-$(1): check-valgrind-$(1)-am
+-endef
+-$(foreach tool,$(valgrind_tools),$(eval $(call check_valgrind_rule,$(tool))))
+-
+ # Coverage #######################################################################
+ CODE_COVERAGE_LCOV_OPTIONS := --no-external
+ CODE_COVERAGE_GENHTML_OPTIONS := --prefix $(dir $(abs_top_builddir))
diff --git a/testing/sentinel-minipot/sentinel-minipot.confd b/testing/sentinel-minipot/sentinel-minipot.confd
new file mode 100644
index 00000000000..24d2933e6ab
--- /dev/null
+++ b/testing/sentinel-minipot/sentinel-minipot.confd
@@ -0,0 +1,38 @@
+# Configuration for /etc/init.d/sentinel-minipot
+
+# MQTT topic for later communication of Sentinel proxy with server.
+# Default is "sentinel/collect/minipot".
+#mqtt_topic=
+
+# Local ZMQ socket for interprocess communication with Sentinel proxy.
+#sentinel_socket="ipc:///run/sentinel_pull.sock"
+
+# Whether to send logs to syslog.
+#syslog=yes
+
+# Send logs to provided file.
+#logfile=
+
+# Log verbosity level. Default is "notice".
+# Options: critical, error, warning, notice, info, debug, trace.
+#loglevel=
+
+# User (and group) to run as.
+#command_user="sentinel-minipot"
+
+# Allow to listen on privileged ports.
+capabilities="^cap_net_bind_service"
+
+## At least one of the following must be set:
+
+# Port for FTP minipot.
+#ftp_port=
+
+# Port for HTTP minipot.
+#http_port=
+
+# Port for SMTP minipot.
+smtp_port=25
+
+# Port for Telnet minipot.
+#telnet_port=
diff --git a/testing/sentinel-minipot/sentinel-minipot.initd b/testing/sentinel-minipot/sentinel-minipot.initd
new file mode 100644
index 00000000000..78419dbb02d
--- /dev/null
+++ b/testing/sentinel-minipot/sentinel-minipot.initd
@@ -0,0 +1,37 @@
+#!/sbin/openrc-run
+
+name="Sentinel-minipot"
+description="A minimal honeypot that emulates Telnet, HTTP, FTP and SMTP network services"
+
+: ${command_user:="sentinel-minipot"}
+: ${sentinel_socket="ipc:///run/sentinel_pull.sock"}
+: ${syslog:="yes"}
+
+command="/usr/bin/sentinel-minipot"
+command_args="
+ ${ftp_port:+"--ftp=$ftp_port"}
+ ${http_port:+"--http=$http_port"}
+ ${smtp_port:+"--smtp=$smtp_port"}
+ ${telnet_port:+"--telnet=$telnet_port"}
+ ${mqtt_topic:+"--topic=$mqtt_topic"}
+ ${sentinel_socket:+"--socket=$sentinel_socket"}
+ ${logfile:+"--log-file=$logfile"}
+ ${loglevel:+"--log-level=$loglevel"}
+ $command_args
+ "
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need net
+ use sentinel-proxy
+ after firewall
+}
+
+start_pre() {
+ yesno "${syslog-}" && command_args="$command_args --syslog"
+
+ if [ "${logfile-}" ]; then
+ checkpath -f -m 640 -o "$command_user" "$logfile" || return 1
+ fi
+}
diff --git a/testing/sentinel-minipot/sentinel-minipot.pre-install b/testing/sentinel-minipot/sentinel-minipot.pre-install
new file mode 100644
index 00000000000..dd93fce4265
--- /dev/null
+++ b/testing/sentinel-minipot/sentinel-minipot.pre-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+adduser -S -D -H -h /dev/null -s /sbin/nologin -G nogroup -g sentinel-minipot sentinel-minipot 2>/dev/null
+
+exit 0
diff --git a/testing/sentinel-proxy/APKBUILD b/testing/sentinel-proxy/APKBUILD
new file mode 100644
index 00000000000..e0549155bbd
--- /dev/null
+++ b/testing/sentinel-proxy/APKBUILD
@@ -0,0 +1,78 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=sentinel-proxy
+pkgver=2.1.0
+pkgrel=0
+pkgdesc="Proxy that relays messages received over ZMQ to Sentinel server over MQTT"
+url="https://gitlab.nic.cz/turris/sentinel/proxy"
+# s390x: blocked by czqm, logc-libs
+arch="all !s390x"
+license="GPL-3.0-or-later"
+makedepends="
+ argp-standalone
+ autoconf-archive
+ automake
+ czmq-dev
+ libconfig-dev
+ libtool
+ logc-dev
+ logc-libs-dev
+ msgpack-c-dev
+ openssl-dev
+ paho-mqtt-c-dev
+ zlib-dev
+ "
+checkdepends="check-dev"
+pkgusers="sentinel"
+install="$pkgname.pre-install"
+subpackages="
+ $pkgname-dev
+ $pkgname-openrc
+ "
+source="https://gitlab.nic.cz/turris/sentinel/proxy/-/archive/v$pkgver/proxy-v$pkgver.tar.bz2
+ fix-configure-msgpack-c.patch
+ example.cfg.patch
+ $pkgname.initd
+ $pkgname.confd
+ "
+builddir="$srcdir/proxy-v$pkgver"
+
+prepare() {
+ default_prepare
+
+ ./bootstrap
+}
+
+build() {
+ defconfigfile="/etc/sentinel/proxy.cfg" \
+ defzmqsockpath="/run/sentinel_pull.sock" \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ $(want_check && echo '--enable-tests' || :)
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -D -m640 -o sentinel example.cfg "$pkgdir"/etc/sentinel/proxy.cfg
+
+ install -D -m755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -D -m644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+8d21141c44bb638db6ec47054c2e9f1087ba39f5097d0c0f151ba160885687ec932e789d4c55f65e67a22fda65e2f83cf45bb125189c98161d0cbc621d462c0d proxy-v2.1.0.tar.bz2
+2586fdfee53a44f82a811b3959a8b771ea1733dd58ea9815ad5ef3d8061eca38dcd1c3d19f1876285ef7095d0ce558c9ccb6f11c4f9c6acf54721aaf834d611e fix-configure-msgpack-c.patch
+48dad43a27679396bbbe54013bd1487053c686b9872cfc49f744b6d005d43ff6c1c60dcd03b77f8970e1c13a1774cacbe2eb45bd116c28edc3b0173c28769bdf example.cfg.patch
+3e9e832994bf2574ae48dee6479a629d15bfdada86b89de95e5da1840f3312da0b19b697b94401783756917c8a5194a334807c44a6b23333369f57cab376010c sentinel-proxy.initd
+b3cd58a026b89ad60d5d93f88b549c67045b498134b67f4b06856e3be12b8debcf130937201b88543d3ba12cdfa1aab87cafa58f7c8c36215d41392d32eae5af sentinel-proxy.confd
+"
diff --git a/testing/sentinel-proxy/example.cfg.patch b/testing/sentinel-proxy/example.cfg.patch
new file mode 100644
index 00000000000..87236a19d20
--- /dev/null
+++ b/testing/sentinel-proxy/example.cfg.patch
@@ -0,0 +1,34 @@
+--- a/example.cfg
++++ b/example.cfg
+@@ -1,9 +1,22 @@
+-# This is 64 hex character long string for more information see README.
+-# Paste here your token instead."
+-# device_token = "c1da24cf9063bf444d66271eb6c2c1b2ae364697ce07d05a8a60d3df08c93f50"
+-# server = "sentinel.com"
+-# port = 12345
+-# client_cert_file = "./sentinel-cert.pem"
+-# client_key_file = "./sentinel-key.pem"
+-# ca_cert_file = "./sentinel-ca-cert.pem"
+-# zmq_socket_path = "ipc:///tmp/sentinel.sock"
++# Configuration for sentinel-proxy
++
++# Sentinel device token. Generate it using 'sentinel-device-token -c'.
++device_token = ""
++
++# Sentinel server address.
++#server = "sentinel.turris.cz"
++
++# Sentinel server port.
++#port = 1883
++
++# Path to Sentinel CA certificate file.
++#ca_cert_file = "/etc/sentinel/ca.pem"
++
++# Path to Sentinel client certificate file
++#client_cert_file = "/etc/sentinel/mqtt_cert.pem"
++
++# Path to Sentinel client key file.
++#client_key_file = "/etc/sentinel/mqtt_key.pem"
++
++# ZMQ socket path.
++#zmq_socket_path = "ipc:///run/sentinel_pull.sock"
diff --git a/testing/sentinel-proxy/fix-configure-msgpack-c.patch b/testing/sentinel-proxy/fix-configure-msgpack-c.patch
new file mode 100644
index 00000000000..a9947139de8
--- /dev/null
+++ b/testing/sentinel-proxy/fix-configure-msgpack-c.patch
@@ -0,0 +1,7 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -24,3 +24,3 @@
+ PKG_CHECK_MODULES([libconfig], [libconfig])
+-PKG_CHECK_MODULES([msgpack], [msgpack])
++PKG_CHECK_MODULES([msgpack], [msgpack-c])
+ PKG_CHECK_MODULES([logc], [logc >= 0.3.0 logc_argp])
diff --git a/testing/sentinel-proxy/sentinel-proxy.confd b/testing/sentinel-proxy/sentinel-proxy.confd
new file mode 100644
index 00000000000..8b9aa3acfe2
--- /dev/null
+++ b/testing/sentinel-proxy/sentinel-proxy.confd
@@ -0,0 +1,17 @@
+# Configuration for /etc/init.d/sentinel-proxy
+
+# Path to the configuration file.
+#cfgfile="/etc/sentinel/proxy.cfg"
+
+# Whether to send logs to syslog.
+#syslog=yes
+
+# Send logs to provided file.
+#logfile=
+
+# Log verbosity level. Default is "notice".
+# Options: critical, error, warning, notice, info, debug, trace.
+#loglevel=
+
+# User (and group) to run as.
+#command_user="sentinel"
diff --git a/testing/sentinel-proxy/sentinel-proxy.initd b/testing/sentinel-proxy/sentinel-proxy.initd
new file mode 100644
index 00000000000..5e3cbabd2da
--- /dev/null
+++ b/testing/sentinel-proxy/sentinel-proxy.initd
@@ -0,0 +1,33 @@
+#!/sbin/openrc-run
+
+name="Sentinel-proxy"
+description="A proxy that relays messages received over ZMQ to Sentinel server over MQTT"
+
+: ${command_user:="sentinel"}
+: ${cfgfile:="/etc/sentinel/proxy.cfg"}
+: ${syslog:="yes"}
+
+command="/usr/bin/sentinel-proxy"
+command_args="
+ --config=$cfgfile
+ ${logfile:+"--log-file=$logfile"}
+ ${loglevel:+"--log-level=$loglevel"}
+ $command_args
+ "
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+required_files="$cfgfile"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ yesno "${syslog-}" && command_args="$command_args --syslog"
+
+ if [ "${logfile-}" ]; then
+ checkpath -f -m 640 -o "$command_user" "$logfile" || return 1
+ fi
+}
diff --git a/testing/sentinel-proxy/sentinel-proxy.pre-install b/testing/sentinel-proxy/sentinel-proxy.pre-install
new file mode 100644
index 00000000000..cb1bc1cd967
--- /dev/null
+++ b/testing/sentinel-proxy/sentinel-proxy.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S sentinel 2>/dev/null
+adduser -S -D -H -h /dev/null -s /sbin/nologin -G sentinel -g sentinel-proxy sentinel 2>/dev/null
+
+exit 0
diff --git a/testing/sentrypeer/APKBUILD b/testing/sentrypeer/APKBUILD
new file mode 100644
index 00000000000..0d6eac6425c
--- /dev/null
+++ b/testing/sentrypeer/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Gavin Henry <ghenry@sentrypeer.org>
+# Maintainer: Gavin Henry <ghenry@sentrypeer.org>
+pkgname=sentrypeer
+pkgver=3.0.2
+pkgrel=0
+pkgdesc="Honeypot for a distributed p2p list of bad actor IP addresses and phone numbers"
+url="https://sentrypeer.org/"
+# ppc64le: fails tests
+arch="all !ppc64le !x86 !armhf !armv7"
+license="GPL-2.0-only OR GPL-3.0-only"
+makedepends="
+ autoconf
+ autoconf-archive
+ automake
+ chrpath
+ curl-dev
+ jansson-dev
+ libmicrohttpd-dev
+ libosip2-dev
+ opendht-dev
+ pcre2-dev
+ sqlite-dev
+ util-linux-dev
+ "
+checkdepends="cmocka-dev"
+subpackages="$pkgname-doc"
+source="https://github.com/SentryPeer/SentryPeer/releases/download/v$pkgver/sentrypeer-$pkgver.tar.gz"
+options="!check" # needs net
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check || {
+ cat test-suite.log
+ return 1
+ }
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ chrpath -d "$pkgdir"/usr/bin/sentrypeer
+}
+
+sha512sums="
+6ec2c0ccd3e08cc4e711261d3c7135bdd0b699f4d92d982d31f7e664dfd13ff4a15a6c7106bdca4b65fa7c663f526985e530ab2bd42ee43b5695455c8f28b660 sentrypeer-3.0.2.tar.gz
+"
diff --git a/testing/sequoia-chameleon-gnupg/APKBUILD b/testing/sequoia-chameleon-gnupg/APKBUILD
new file mode 100644
index 00000000000..552274409cc
--- /dev/null
+++ b/testing/sequoia-chameleon-gnupg/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Simon Rupf <simon@rupf.net>
+pkgname=sequoia-chameleon-gnupg
+pkgver=0.8.0
+pkgrel=0
+pkgdesc="Sequoia's reimplementation of the GnuPG interface"
+url="https://sequoia-pgp.org/"
+# ring
+arch="all !ppc64le !s390x !riscv64"
+license="GPL-3.0-or-later"
+makedepends="
+ bzip2-dev
+ cargo
+ cargo-auditable
+ clang15-dev
+ nettle-dev
+ openssl-dev
+ sqlite-dev
+ "
+source="https://gitlab.com/sequoia-pgp/sequoia-chameleon-gnupg/-/archive/v$pkgver/sequoia-chameleon-gnupg-v$pkgver.tar.gz
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+options="net !check" # bunch of failures against gpg cli
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/gpgv-sq target/release/gpg-sq \
+ -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+e149579b144d04c1ee0c9ac8f1a7dc7844e8a035b06000e0e854e87621b51d34d49c6a27787784358460aef5e9ca011d6947c064d09b0e1601ded9dedcb9b6fe sequoia-chameleon-gnupg-v0.8.0.tar.gz
+"
diff --git a/testing/sequoia-sqv/APKBUILD b/testing/sequoia-sqv/APKBUILD
index c72d5edcc38..48679b5d674 100644
--- a/testing/sequoia-sqv/APKBUILD
+++ b/testing/sequoia-sqv/APKBUILD
@@ -1,51 +1,45 @@
# Contributor: tcely <sequoia-sqv+aports@tcely.33mail.com>
-# Maintainer:
-_project="sequoia"
-pkgname=$_project-sqv
-pkgver=0.9.0
-pkgrel=4
+# Maintainer: Simon Rupf <simon@rupf.net>
+pkgname=sequoia-sqv
+pkgver=1.1.0
+pkgrel=5
pkgdesc="simple signature verification program"
url="https://sequoia-pgp.org/"
-arch="armhf armv7 x86_64" # limited by cargo
-license="GPL-3.0-or-later"
-makedepends="capnproto-dev cargo clang-dev nettle-dev openssl-dev
- py3-cffi py3-pytest py3-setuptools python3-dev sqlite-dev"
-source="https://gitlab.com/$_project-pgp/$_project/-/archive/v$pkgver/$_project-v$pkgver.tar.gz
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ cargo
+ cargo-auditable
+ clang-dev
+ nettle-dev
"
-builddir="$srcdir/$_project-v$pkgver"
-
-_cargo_env() {
- cd "$builddir"
+source="
+ https://gitlab.com/sequoia-pgp/sequoia-sqv/-/archive/v$pkgver/sequoia-sqv-v$pkgver.tar.gz
+ cargo-update-sha1collisiondetection.patch
+ "
+builddir="$srcdir/sequoia-sqv-v$pkgver"
- CARGO_TARGET_DIR="$PWD/target"
- export CARGO_TARGET_DIR
+prepare() {
+ default_prepare
- SQV="$CARGO_TARGET_DIR/release/sqv"
- export SQV
+ cargo update -p buffered-reader --precise 1.2.0
+ cargo update -p sequoia-openpgp --precise 1.16.0
+ cargo fetch --target="$CTARGET" --locked
}
build() {
- _cargo_env
-
- # Detect mismatching versions from upstream
- sed -i.orig -e '/^version =/s/=.*$/= "'"$pkgver"'"/' sqv/Cargo.toml
- diff -us sqv/Cargo.toml.orig sqv/Cargo.toml
-
- make -C sqv build-release CARGO_FLAGS='--locked'
+ cargo auditable build --release --frozen
}
check() {
- _cargo_env
-
- cd sqv && cargo test --locked --release --package "$pkgname"
-
- "$SQV" --version
+ cargo test --frozen
}
package() {
- _cargo_env
-
- make DESTDIR="$pkgdir" -C sqv install
+ install -Dm755 target/release/sqv -t "$pkgdir"/usr/bin
}
-sha512sums="2349f6f12b9b20761729ba927d08d6090f0c697c2a103eaf403a5694e4303573c45c5247ebc30c080a885916f026e9618ffa979f84f0dcb055377e62a78be4ee sequoia-v0.9.0.tar.gz"
+sha512sums="
+8a39ba244fcca61635bd633ebbcd0aa102dcb8139984f3e6db9a5e011e7cbc47f4dad1d5606730ac66ec6dac42b1c372f2fd022d55c9a989a5ef6430922b8fb5 sequoia-sqv-v1.1.0.tar.gz
+f0a590f4ba9ce934edfe6620bace5f46d77666fb0aeb93af5358f8a5ddb1db8967e17340536ed9e7eecc1a15ee09ea7acd8cab1f39e699a4ddc29d4ccef3b139 cargo-update-sha1collisiondetection.patch
+"
diff --git a/testing/sequoia-sqv/cargo-update-sha1collisiondetection.patch b/testing/sequoia-sqv/cargo-update-sha1collisiondetection.patch
new file mode 100644
index 00000000000..8096e4198ee
--- /dev/null
+++ b/testing/sequoia-sqv/cargo-update-sha1collisiondetection.patch
@@ -0,0 +1,23 @@
+Fixes test error:
+
+> misaligned pointer dereference: address must be a multiple of 0x4 but is 0xf7d92505
+
+Which occurs when building with rust >=1.70
+
+sha1collisiondetection >=0.2.7 fixes that.
+diff --git a/Cargo.lock b/Cargo.lock
+index e41780e..fc34d4f 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1030,9 +1030,9 @@ dependencies = [
+
+ [[package]]
+ name = "sha1collisiondetection"
+-version = "0.2.5"
++version = "0.2.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f31bf4e9fe5cd8cea8e0887e2e4eb1b4d736ff11b776c8537bf0912a4b381285"
++checksum = "b20793cf8330b2c7da4c438116660fed24e380bcb8a1bcfff2581b5593a0b38e"
+ dependencies = [
+ "digest",
+ "generic-array",
diff --git a/testing/serd/APKBUILD b/testing/serd/APKBUILD
deleted file mode 100644
index 5f70dc863cd..00000000000
--- a/testing/serd/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=serd
-pkgver=0.30.10
-pkgrel=0
-pkgdesc="lightweight C library for RDF syntax"
-url="http://drobilla.net/software/serd"
-arch="all"
-license="ISC"
-makedepends="python3"
-subpackages="$pkgname-dev $pkgname-doc"
-source="http://download.drobilla.net/serd-$pkgver.tar.bz2"
-options="!check" # No tests
-
-build() {
- python3 waf configure --prefix=/usr
- python3 waf build
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="ed7b49abfd3dc3a724b047f5f0cd07b811596330c96d91c0ce90540440f03260e05daee76c3ccccc3d4ca39afbbd4f3d07decbb601730e90c133a09c640c0006 serd-0.30.10.tar.bz2"
diff --git a/testing/serialdv/APKBUILD b/testing/serialdv/APKBUILD
new file mode 100644
index 00000000000..d25e3eb2001
--- /dev/null
+++ b/testing/serialdv/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Leon ROUX <leon.roux@federate.us>
+# Maintainer: Leon ROUX <leon.roux@federate.us>
+pkgname=serialdv
+pkgver=1.1.4
+pkgrel=0
+pkgdesc="C++ Minimal interface to encode and decode audio with AMBE3000 based devices in packet mode over a serial link"
+url="https://github.com/f4exb/serialDV"
+license="GPL-3.0-only"
+arch="all"
+makedepends="
+ cmake
+ linux-headers
+ samurai
+ "
+subpackages="$pkgname-dev $pkgname-libs"
+source="$pkgname-$pkgver.tar.gz::https://github.com/f4exb/serialDV/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/serialDV-$pkgver"
+options="!check" # no tests
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_SKIP_RPATH=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+879b2ae84a18ca4f4e0eda72208b596a9988e32eba0b3be4b5818b15b600d71c3ee53e6215126ff013d993237d29077ffedfb6be0477c852d4215e5e036bebc9 serialdv-1.1.4.tar.gz
+"
diff --git a/testing/setroot/APKBUILD b/testing/setroot/APKBUILD
index a5ac6593de2..615cb26712c 100644
--- a/testing/setroot/APKBUILD
+++ b/testing/setroot/APKBUILD
@@ -2,14 +2,16 @@
# Maintainer: Camille Scholtz <onodera@openmailbox.org>
pkgname=setroot
pkgver=2.0.2
-pkgrel=0
+pkgrel=1
pkgdesc="Simple X background setter inspired by imlibsetroot and feh"
url="https://github.com/ttzhou/setroot"
arch="all"
license="GPL-3.0-or-later"
makedepends="imlib2-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ttzhou/setroot/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ttzhou/setroot/archive/v$pkgver.tar.gz
+ imlib2.patch
+ "
build() {
make
@@ -19,4 +21,7 @@ package() {
make PREFIX=/usr DESTDIR="$pkgdir" install
}
-sha512sums="1f636c2aed140ac011bab7d4dee6e7f21c8d0ddb6ebfbd45d81db2fe807d2d3882ca6bbd3594f7038710efe3bdff3be0874e5ba4944de40e4897591566e777ae setroot-2.0.2.tar.gz"
+sha512sums="
+1f636c2aed140ac011bab7d4dee6e7f21c8d0ddb6ebfbd45d81db2fe807d2d3882ca6bbd3594f7038710efe3bdff3be0874e5ba4944de40e4897591566e777ae setroot-2.0.2.tar.gz
+d3648d1e010971feef048b9c0b4edd5b55bb80086905feeb898b4680dfa5a6b46fb2a5ad19c722eebeca32a6bed498ecdcd1da3a4bf9aa91847d50e053c4a93d imlib2.patch
+"
diff --git a/testing/setroot/imlib2.patch b/testing/setroot/imlib2.patch
new file mode 100644
index 00000000000..0fbd4d3c84e
--- /dev/null
+++ b/testing/setroot/imlib2.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile b/Makefile
+index cb32cc6..950c183 100644
+--- a/Makefile
++++ b/Makefile
+@@ -6,7 +6,7 @@ NAME := setroot
+ CC := gcc
+ OFLAG :=
+ CFLAGS := -std=c99 -Wall -g -Wextra ${OFLAG}
+-LIBS := -lX11 `imlib2-config --libs`
++LIBS := -lX11 `pkg-config --libs imlib2`
+
+ SRC := setroot.c
+
diff --git a/testing/sfeed_curses/APKBUILD b/testing/sfeed_curses/APKBUILD
deleted file mode 100644
index e0f72e90228..00000000000
--- a/testing/sfeed_curses/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Al-Hassan Abdel-Raouf <alhassanaraouf@disroot.org>
-# Maintainer: Al-Hassan Abdel-Raouf <alhassanaraouf@disroot.org>
-pkgname=sfeed_curses
-pkgver=1.0
-pkgrel=0
-pkgdesc="curses UI front-end for sfeed"
-options="!check" # No testsuite
-url="https://codemadness.org/sfeed_curses-ui.html"
-arch="all"
-license="ISC"
-makedepends="ncurses-dev"
-subpackages="$pkgname-doc"
-source="https://codemadness.org/releases/sfeed_curses/sfeed_curses-$pkgver.tar.gz"
-
-build() {
- make
-}
-
-package() {
- make MANPREFIX=/usr/share/man PREFIX=/usr DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-575e09a71bab0cec18506426461f2f0fad7247de0520ea32e557ab87755424f015c9edb317c4799ff178746794bdf18509f375cff68caab3ca9e11bf4284b946 sfeed_curses-1.0.tar.gz
-"
diff --git a/testing/sflowtool/APKBUILD b/testing/sflowtool/APKBUILD
index 79a4cb06ccb..fd1bd377c79 100644
--- a/testing/sflowtool/APKBUILD
+++ b/testing/sflowtool/APKBUILD
@@ -1,42 +1,36 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer:
pkgname=sflowtool
-pkgver=3.41
+pkgver=6.02
pkgrel=0
pkgdesc="Print binary sFlow feed to ASCII, or forward it to other collectors"
url="https://github.com/sflow/sflowtool"
arch="all"
-license="Custom"
-depends=
-depends_dev=
+license="custom"
+subpackages="$pkgname-doc"
makedepends="$depends_dev autoconf automake"
-install=
-subpackages=
source="$pkgname-$pkgver.tar.gz::https://github.com/sflow/sflowtool/archive/v$pkgver.tar.gz"
-builddir="$srcdir"/$pkgname-$pkgver
-
prepare() {
- cd "$builddir"
- aclocal && autoconf && autoreconf -f -i -Wall,no-obsolete || return 1
+ default_prepare
+ aclocal && autoconf && autoreconf -f -i -Wall,no-obsolete
}
build() {
- cd "$builddir"
./configure --prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
--infodir=/usr/share/info
- make || return 1
+ make
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
- # remove the 2 lines below (and this) if there is no init.d script
- # install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- # install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/$pkgname/README.md
}
-sha512sums="07cd160ae7da908b46500f70680fb1cb54f0095eade63ca4afa6a1a0ca0beacae4f33025911784c9b95912e630df28bfc9e0ef01bd03028647fd27155d5dd749 sflowtool-3.41.tar.gz"
+sha512sums="
+532dcd70f4739f870b21c56c46d2751961615c4a212ba26c1ab43b0e37b9230617b29b22c8e4fa8534094fa4cdd7acad9bbc48ac7368320653da1f46ae6e3b6b sflowtool-6.02.tar.gz
+"
diff --git a/testing/sfwbar/APKBUILD b/testing/sfwbar/APKBUILD
new file mode 100644
index 00000000000..30f5fff177f
--- /dev/null
+++ b/testing/sfwbar/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=sfwbar
+pkgver=1.0_beta14
+pkgrel=0
+pkgdesc="Sway Floating Window Bar"
+url="https://github.com/LBCrion/sfwbar"
+arch="all"
+license="GPL-3.0-only AND MIT"
+makedepends="
+ gtk+3.0-dev
+ gtk-layer-shell-dev
+ json-c-dev
+ meson
+ pulseaudio-dev
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/LBCrion/sfwbar/archive/v$pkgver/sfwbar-$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ abuild-meson -Db_lto=true . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+e1a1c9d0a8b3c80c3ef043c6f22bb2b915cdf1f36da6ce306f66754af2a68c2077f4e473bd998d6d6282db5fc0652b7b7bbbe333a39390e7e38129163a398055 sfwbar-1.0_beta14.tar.gz
+"
diff --git a/testing/sgt-puzzles/APKBUILD b/testing/sgt-puzzles/APKBUILD
index 8b7e139db5f..1b3aea3cd8a 100644
--- a/testing/sgt-puzzles/APKBUILD
+++ b/testing/sgt-puzzles/APKBUILD
@@ -1,32 +1,38 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=sgt-puzzles
-_pkgname=puzzles
-pkgver=0_git20211031
-_pkgver=20211031
-_commit=640f923
-pkgrel=0
+pkgver=0_git20230310
+_gitrev=8c5077e
+pkgrel=1
pkgdesc="Simon Tatham's Portable Puzzle Collection"
url="https://www.chiark.greenend.org.uk/~sgtatham/puzzles/"
arch="all"
license="GPL-2.0-or-later"
-makedepends="cmake imagemagick gtk+3.0-dev perl-dev"
+makedepends="
+ cmake
+ gtk+3.0-dev
+ imagemagick
+ perl-dev
+ samurai
+ "
options="!check" # No testsuite
# We should append "sgt-" prefix to all the programs and icons.
# That way, we avoid conflicts with other programs
source="
- https://sourceforge.net/projects/aat-linux-repository/files/sources/alpine/sgt-puzzles/puzzles-$_pkgver.$_commit.tar.gz
+ $pkgname-$pkgver.tar.gz::https://git.tartarus.org/?p=simon/puzzles.git;a=snapshot;h=$_gitrev;sf=tgz
0001-change-desktop-variables-according-to-prefix.patch
"
_icondir="usr/share/pixmaps"
_desktopdir="usr/share/applications"
-builddir="$srcdir/$_pkgname-$_pkgver.$_commit"
+builddir="$srcdir/puzzles-$_gitrev"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ CFLAGS="$CFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
$CMAKE_CROSSOPTS .
@@ -34,23 +40,21 @@ build() {
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ DESTDIR="$pkgdir" cmake --install build
# Append "sgt-" prefix to icon files
# Move icons to hicolor directory, like upstream distributions do
# And remove "-48d24" suffix
mkdir -p "$pkgdir"/usr/share/icons/hicolor/48x48/apps
- for f in "$pkgdir"/"$_icondir"/*.png
- do
+ for f in "$pkgdir"/"$_icondir"/*.png; do
mv -v -- "$f" \
- "$pkgdir"/usr/share/icons/hicolor/48x48/apps/sgt-"$(basename -- $f | sed 's/-48d24//g')"
+ "$pkgdir"/usr/share/icons/hicolor/48x48/apps/sgt-"$(basename -- $f | sed 's/-48d24//g')"
done
# Append "sgt-" prefix to desktop files
- for f in "$pkgdir"/"$_desktopdir"/*.desktop
- do
+ for f in "$pkgdir"/"$_desktopdir"/*.desktop; do
mv -v -- "$f" \
- "$pkgdir"/usr/share/applications/sgt-"$(basename -- $f)"
+ "$pkgdir"/usr/share/applications/sgt-"$(basename -- $f)"
done
# Remove redundant directory
@@ -58,6 +62,6 @@ package() {
}
sha512sums="
-1431912593337c73089d1d7daa47457532a3c9d788484fb70b412cc1641deae6685515f0ea53fa1d66590569eba9fd8923a32590494accacba64c0845794fd1a puzzles-20211031.640f923.tar.gz
+66a4b3f1ed5778c921b6378fc6ffa43aa111f69d165ac0ee18c2442b04913676839e64e79e34edf1bf2109cc81bb580534bcd499263afce83645df5901a13060 sgt-puzzles-0_git20230310.tar.gz
ebe33479a779abf9cd0ea12232ab2319fa279ba467ee635460962eb714c87f2a87e82b160fc43665b0e9e39b5ba72d6bcc2c0cb35abe0adde6de40c18775bee6 0001-change-desktop-variables-according-to-prefix.patch
"
diff --git a/testing/shadowsocks-libev/APKBUILD b/testing/shadowsocks-libev/APKBUILD
index 0373e033710..a258e87720b 100644
--- a/testing/shadowsocks-libev/APKBUILD
+++ b/testing/shadowsocks-libev/APKBUILD
@@ -1,13 +1,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=shadowsocks-libev
pkgver=3.3.5
-pkgrel=0
+pkgrel=4
pkgdesc="lightweight secured SOCKS5 proxy"
url="https://shadowsocks.org/en/download/servers.html"
-#arch="all"
+arch="all !armhf !armv7 !x86" # blocked by libbloom
license="GPL-3.0-or-later"
makedepends="asciidoc autoconf automake libtool linux-headers libcorkipset-dev
- mbedtls-dev pcre-dev xmlto libev-dev c-ares-dev libsodium-dev zlib-dev libbloom-dev"
+ mbedtls2-dev pcre-dev xmlto libev-dev c-ares-dev libsodium-dev zlib-dev libbloom-dev"
subpackages="$pkgname-dev $pkgname-doc lib$pkgname:libs"
source="shadowsocks-libev-$pkgver.tar.gz::https://github.com/shadowsocks/shadowsocks-libev/archive/v$pkgver.tar.gz
use-upstream-libcorkipset-libbloom.patch
@@ -44,5 +44,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="c0cc869b4b7661ebd348bd5559c6a17c44b66a5f42374d97023adcfb525d934da3ed96245ff792ebc74870d30dd8f71fadcd89c79b2cd8a98d551ff7592508d0 shadowsocks-libev-3.3.5.tar.gz
-6e14365fb65731e4f9573b39dd7849d47392b39db52aeffee0e91ee767db2361b053f02bc96cc439e5b677d85c09cd44fd905d6b1fca8b10d2e650d8c41a16e0 use-upstream-libcorkipset-libbloom.patch"
+sha512sums="
+c0cc869b4b7661ebd348bd5559c6a17c44b66a5f42374d97023adcfb525d934da3ed96245ff792ebc74870d30dd8f71fadcd89c79b2cd8a98d551ff7592508d0 shadowsocks-libev-3.3.5.tar.gz
+6e14365fb65731e4f9573b39dd7849d47392b39db52aeffee0e91ee767db2361b053f02bc96cc439e5b677d85c09cd44fd905d6b1fca8b10d2e650d8c41a16e0 use-upstream-libcorkipset-libbloom.patch
+"
diff --git a/testing/shairport-sync/APKBUILD b/testing/shairport-sync/APKBUILD
deleted file mode 100644
index 3fff02fb4e9..00000000000
--- a/testing/shairport-sync/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=shairport-sync
-pkgver=3.3.7
-pkgrel=0
-pkgdesc="AirTunes emulator. Shairport Sync adds multi-room capability with Audio Synchronisation"
-url="https://github.com/mikebrady/shairport-sync"
-arch="all"
-license="custom"
-depends="avahi"
-makedepends="autoconf automake libtool alsa-lib-dev popt-dev
- openssl-dev soxr-dev avahi-dev libconfig-dev xmltoman"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mikebrady/shairport-sync/archive/$pkgver.tar.gz
- $pkgname.initd"
-options=!check
-
-prepare() {
- default_prepare
- autoreconf -i -f
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --with-piddir=/run \
- --with-alsa \
- --with-avahi \
- --with-ssl=openssl \
- --with-soxr
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -m 755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
-}
-
-sha512sums="e420b470ef33731986959d598c769addc999b2f45a6282f6a20a76f1174303fe91264f2b3cdc536fecbe3227e1b8d55636a06d123ac792b50053aea7a8cbb4e2 shairport-sync-3.3.7.tar.gz
-aeead51ef0f17d360bb1e2d2ae897974ef507ef56db84e6aeb79d8ec522c3bb9336f01ff4150e70fecfebf9808dd7190cb2839e287cf0ef6e1886504c1f1edc6 shairport-sync.initd"
diff --git a/testing/shairport-sync/shairport-sync.initd b/testing/shairport-sync/shairport-sync.initd
deleted file mode 100644
index 02b0df9eb20..00000000000
--- a/testing/shairport-sync/shairport-sync.initd
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/sbin/openrc-run
-
-description="Implements a synchronous (multi-room-capable) AirPlay receiver"
-command="/usr/bin/shairport-sync"
-command_background="yes"
-
-pidfile="/run/$RC_SVCNAME.pid"
-start_stop_daemon_args="
- --stdout /var/log/$RC_SVCNAME.log
- --stderr /var/log/$RC_SVCNAME.log"
-
-depend() {
- need net localmount avahi-daemon
-}
diff --git a/testing/shc/APKBUILD b/testing/shc/APKBUILD
index 2d74dc4a049..b5d82f6330d 100644
--- a/testing/shc/APKBUILD
+++ b/testing/shc/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: MrBiTs <mrbits@mrbits.com.br>
pkgname="shc"
pkgver="4.0.3"
-pkgrel=0
+pkgrel=1
pkgdesc="A generic shell script compiler."
url="https://neurobin.org/projects/softwares/unix/shc/"
arch="all"
diff --git a/testing/shellinabox/APKBUILD b/testing/shellinabox/APKBUILD
index 1d97aee538a..21fc90663b7 100644
--- a/testing/shellinabox/APKBUILD
+++ b/testing/shellinabox/APKBUILD
@@ -3,12 +3,12 @@
pkgname=shellinabox
_daemonname=${pkgname}d
pkgver=2.21
-pkgrel=1
+pkgrel=3
pkgdesc="Implementation of a web server that can export arbitrary command line tools to a web based terminal emulator"
url="https://github.com/shellinabox/shellinabox"
arch="all"
license="GPL-2.0-or-later"
-makedepends="autoconf automake m4 libtool openssl-dev zlib-dev"
+makedepends="autoconf automake m4 libtool openssl-dev>3 zlib-dev"
subpackages="$pkgname-doc $pkgname-openrc"
pkgusers="$_daemonname"
pkggroups="$_daemonname"
diff --git a/testing/shfm/APKBUILD b/testing/shfm/APKBUILD
index d076e03ebee..f5efc7d4732 100644
--- a/testing/shfm/APKBUILD
+++ b/testing/shfm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=shfm
pkgver=0.4.2
-pkgrel=0
+pkgrel=1
pkgdesc="file manager written in POSIX shell"
url="https://github.com/dylanaraps/shfm"
arch="noarch"
@@ -16,5 +16,4 @@ package() {
install -Dm0644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
}
-
sha512sums="57e8af53ea0c65585db0721eae465ea18e9611e2032af0378218dcd8bad798cdc5c3c54c27167093b5833e5b11de3b9ad9f32c52449855a21310b9dd06042c6e $pkgname-$pkgver.tar.gz"
diff --git a/testing/shine/APKBUILD b/testing/shine/APKBUILD
index 4d370a6a6b3..0f23e53fb10 100644
--- a/testing/shine/APKBUILD
+++ b/testing/shine/APKBUILD
@@ -5,7 +5,7 @@ pkgver=3.1.1
pkgrel=0
pkgdesc="Shine: fast fixed-point mp3 encoding"
url="https://github.com/toots/shine"
-arch="all !mips64" # mips ASM does not work on N64
+arch="all"
license="LGPL-2.0"
depends=""
depends_dev=""
diff --git a/testing/shipments/APKBUILD b/testing/shipments/APKBUILD
index 549bbaa0c25..a5a2634ce2a 100644
--- a/testing/shipments/APKBUILD
+++ b/testing/shipments/APKBUILD
@@ -1,25 +1,36 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
pkgname=shipments
-pkgver=0.2.1
+pkgver=0.3.0
pkgrel=0
pkgdesc="Postal package tracking application"
url="https://git.sr.ht/~martijnbraam/shipments"
-# riscv64 and s390x blocked by libhandy1
-arch="noarch !s390x !riscv64"
+arch="noarch"
license="GPL-3.0-or-later"
-depends="python3 py3-gobject3 py3-requests gtk+3.0 libhandy1"
-makedepends="py3-setuptools glib-dev libhandy1-dev meson ninja"
+depends="
+ gtk+3.0
+ libhandy1
+ py3-gobject3
+ py3-requests
+ python3
+ "
+makedepends="
+ glib-dev
+ libhandy1-dev
+ meson
+ ninja
+ py3-setuptools
+ "
source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/shipments/archive/$pkgver.tar.gz"
options="!check" # There's no testsuite
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
sha512sums="
-353ab8e5cde4202d4f04519020c347bf5933a4b7334e365e23e7ce8ccca7da1607268f891e18d413af61b440bc102d7c7b25fa360a09677160aefe61bbd774a3 shipments-0.2.1.tar.gz
+173bfa023630ca283c028f77c6c9944710a635dc779040f7bf64708d1ee96b4827ecfa96e9b386100d0550046c57d7cd39c01cb0b4a032ab0718a87599289da8 shipments-0.3.0.tar.gz
"
diff --git a/testing/shntool/24bit.patch b/testing/shntool/24bit.patch
new file mode 100644
index 00000000000..58ea6f39026
--- /dev/null
+++ b/testing/shntool/24bit.patch
@@ -0,0 +1,46 @@
+Patch-Source: https://salsa.debian.org/debian/shntool/-/commit/57efcd7b34c2107dd785c11d79dfcd4520b2bc41
+--
+Origin: https://github.com/max619/shntool/commit/cfd06e4ed
+From cfd06e4edecdca2013e0fe04db135fd110a68203 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=91=D0=B0=D0=B3?=
+ =?UTF-8?q?=D1=80=D1=8F=D0=BD=D1=86=D0=B5=D0=B2?= <maxbag97619@gmail.com>
+Date: Mon, 11 Nov 2019 00:53:06 +0300
+Subject: [PATCH] Added WAVE_FORMAT_EXTENSIBLE with value 0xfffe and supressed
+ error on wav header parsing with that format
+
+--- a/include/wave.h
++++ b/include/wave.h
+@@ -58,8 +58,9 @@
+ #define WAVE_FORMAT_MPEG (0x0050)
+ #define WAVE_FORMAT_MPEGLAYER3 (0x0055)
+ #define WAVE_FORMAT_G726_ADPCM (0x0064)
+ #define WAVE_FORMAT_G722_ADPCM (0x0065)
++#define WAVE_FORMAT_EXTENSIBLE (0xfffe)
+
+ #define CD_BLOCK_SIZE (2352)
+ #define CD_BLOCKS_PER_SEC (75)
+ #define CD_BLOCK_ALIGN (4)
+--- a/src/core_wave.c
++++ b/src/core_wave.c
+@@ -166,8 +166,9 @@
+ return FALSE;
+ }
+
+ switch (info->wave_format) {
++ case WAVE_FORMAT_EXTENSIBLE:
+ case WAVE_FORMAT_PCM:
+ break;
+ default:
+ st_warning("unsupported format 0x%04x (%s) while processing file: [%s]",
+@@ -510,9 +511,11 @@
+ return "MPEG Layer 3";
+ case WAVE_FORMAT_G726_ADPCM:
+ return "G.726 ADPCM";
+ case WAVE_FORMAT_G722_ADPCM:
+- return "G.722 ADPCM";
++ return "G.722 ADPCM";
++ case WAVE_FORMAT_EXTENSIBLE:
++ return "WAVE Extensible format";
+ }
+ return "Unknown";
+ }
diff --git a/testing/shntool/APKBUILD b/testing/shntool/APKBUILD
index a1ab0274afa..60dd2b5e8a3 100644
--- a/testing/shntool/APKBUILD
+++ b/testing/shntool/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jean-Louis Fuchs <jean-louis.fuchs@adfinis-sygroup.ch>
pkgname=shntool
pkgver=3.0.10
-pkgrel=3
+pkgrel=4
pkgdesc="A multi-purpose WAVE data processing and reporting utility"
url="http://shnutils.freeshell.org/shntool/"
arch="all"
@@ -12,9 +12,9 @@ subpackages="$pkgname-doc"
source="http://shnutils.freeshell.org/shntool/dist/src/shntool-$pkgver.tar.gz
shntool-3.0.10-large-size.patch
shntool-3.0.10-large-times.patch
+ 24bit.patch
"
-
build() {
update_config_sub
./configure \
@@ -58,6 +58,9 @@ check() {
rm -r test
}
-sha512sums="2150d7123860abb54a56a1615bda991ed3713d73c338723f28b7d01a63c49a47809be16dc57b5b4edeee1567b003f9a4b54945c1cd08440f9503d22b91eaa06d shntool-3.0.10.tar.gz
+sha512sums="
+2150d7123860abb54a56a1615bda991ed3713d73c338723f28b7d01a63c49a47809be16dc57b5b4edeee1567b003f9a4b54945c1cd08440f9503d22b91eaa06d shntool-3.0.10.tar.gz
fc44bca63d79b279db6d275caaacdb73cbebd6b902276a9052f005146fa125f4674e3cf559d46405637a337192f4a38f9bec4836af46e7ae52e4f220352c1ba7 shntool-3.0.10-large-size.patch
-9780f22d93e20dd01d18067978bdf6cbb0b460bb80f41c4f4752b3322c3d70182b3acf35b789e30fc36ca52af6127e24c00599fb49b916f01448613721a94ebe shntool-3.0.10-large-times.patch"
+9780f22d93e20dd01d18067978bdf6cbb0b460bb80f41c4f4752b3322c3d70182b3acf35b789e30fc36ca52af6127e24c00599fb49b916f01448613721a94ebe shntool-3.0.10-large-times.patch
+3c9cdd7936a6572a3c9dfc7575f5ff9a0981dd557add8e1113454487091c7b161040d25d3266937449295a1bb5317ee3515a84c3d7168360bf84643ed828e202 24bit.patch
+"
diff --git a/testing/shutdown-clear-machine-id/APKBUILD b/testing/shutdown-clear-machine-id/APKBUILD
new file mode 100644
index 00000000000..3d0568ae5be
--- /dev/null
+++ b/testing/shutdown-clear-machine-id/APKBUILD
@@ -0,0 +1,20 @@
+# Maintainer: Adam Thiede <me@adamthiede.com>
+pkgname=shutdown-clear-machine-id
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="Pre-shutdown service to remove /etc/machine-id"
+url="https://wiki.alpinelinux.org/wiki/D-Bus"
+arch="noarch"
+license="GPL-3.0-or-later"
+source="
+ clear-machine-id.shutdown.initd
+ "
+install="$pkgname.post-install"
+
+package() {
+ install -Dm755 "$srcdir"/clear-machine-id.shutdown.initd "$pkgdir"/etc/init.d/clear-machine-id
+}
+
+sha512sums="
+5c99ced4ba1215321d8cf094d218b2d408a07c34f7bc7f20cee6886cf42d5551be1b8dad2782019e479d57f2da2c2784325cd852a37d1b9bab7d9ce72b134517 clear-machine-id.shutdown.initd
+"
diff --git a/testing/shutdown-clear-machine-id/clear-machine-id.shutdown.initd b/testing/shutdown-clear-machine-id/clear-machine-id.shutdown.initd
new file mode 100644
index 00000000000..616e2321867
--- /dev/null
+++ b/testing/shutdown-clear-machine-id/clear-machine-id.shutdown.initd
@@ -0,0 +1,8 @@
+#!/sbin/openrc-run
+
+description="Remove dbus machine-id files on shutdown"
+
+start() {
+ rm -f /etc/machine-id
+ rm -f /var/lib/dbus/machine-id
+}
diff --git a/testing/shutdown-clear-machine-id/shutdown-clear-machine-id.post-install b/testing/shutdown-clear-machine-id/shutdown-clear-machine-id.post-install
new file mode 100644
index 00000000000..71f23c5101f
--- /dev/null
+++ b/testing/shutdown-clear-machine-id/shutdown-clear-machine-id.post-install
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Print usage instructions
+cat << __EOF__
+*
+* To use this service, add it to the shutdown runlevel with:
+*
+* rc-update add clear-machine-id shutdown
+*
+__EOF__
+
+exit 0
+
diff --git a/testing/sieve-connect/APKBUILD b/testing/sieve-connect/APKBUILD
deleted file mode 100644
index db2dcff29de..00000000000
--- a/testing/sieve-connect/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname="sieve-connect"
-pkgver="0.90"
-pkgrel=0
-pkgdesc="command line client for MANAGESIEVE protocol"
-url="https://people.spodhuis.org/phil.pennock/software"
-arch="noarch"
-license="BSD-3-Clause"
-depends="
- perl-authen-sasl
- perl-io-socket-inet6
- perl-io-socket-ssl
- perl-net-dns
- perl-term-readkey"
-subpackages="$pkgname-doc"
-source="https://people.spodhuis.org/phil.pennock/software/sieve-connect-$pkgver.tar.bz2"
-options="!check" # no tests provided.
-
-build() {
- make
-}
-
-package() {
- install -Dm0755 sieve-connect "$pkgdir/usr/bin/sieve-connect"
- install -Dm0644 sieve-connect.1 "$pkgdir/usr/share/man/man1/sieve-connect.1"
-}
-
-sha512sums="3b4d4a6a7eb7d48f8b2dbc4c302c3de1a2a193282c7b2d25581e1131d6c7598cc2a47edabf8b108e94e0fd1a9cc50e48a103c133dba233f180f12d36c0da0718 sieve-connect-0.90.tar.bz2"
diff --git a/testing/sigil/APKBUILD b/testing/sigil/APKBUILD
new file mode 100644
index 00000000000..6d23f8ab24d
--- /dev/null
+++ b/testing/sigil/APKBUILD
@@ -0,0 +1,67 @@
+# Contributor: OIS <mistresssilvara@hotmail.com>
+# Maintainer: OIS <mistresssilvara@hotmail.com>
+pkgname=sigil
+pkgver=1.9.30
+pkgrel=2
+pkgdesc="EPUB editor"
+url="https://sigil-ebook.com/sigil"
+# qt6-qtwebengine (XXX: momentarily qt5 for aarch64)
+arch="aarch64 x86_64"
+license="GPL-3.0-or-later AND Apache-2.0 AND MIT"
+depends="
+ py3-css-parser
+ py3-dulwich
+ py3-lxml
+ qt5-qtsvg
+ "
+makedepends="
+ cmake
+ hunspell-dev
+ minizip-dev
+ pcre2-dev
+ python3-dev
+ qt5-qttools-dev
+ qt5-qtwebengine-dev
+ samurai
+ zlib-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Sigil-Ebook/Sigil/archive/refs/tags/$pkgver.tar.gz
+ $pkgname-assert.patch::https://github.com/Sigil-Ebook/Sigil/commit/8e21405f5d2dfdc7da60f845ae7cf5e2bca6d029.diff
+ "
+builddir="$srcdir/Sigil-$pkgver/"
+# no tests
+options="!check"
+
+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 \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DUSE_SYSTEM_LIBS=1 \
+ -DINSTALL_BUNDLED_DICTS=0 \
+ -DDISABLE_UPDATE_CHECK=1 \
+ -DUSE_QT6=OFF \
+ $CMAKE_CROSSOPTS
+
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+lang() {
+ pkgdesc="Languages for package $pkgname"
+ install_if="$pkgname=$pkgver-r$pkgrel lang"
+
+ amove usr/share/sigil/translations
+}
+
+sha512sums="
+80dcaa9dcee51c36a42bcd57fc87acda94002af74602d934c7e9bfd275339d9ac200cd1f141fb9e2709ac054569bc22f1869623498ce16c636a3fab8dae4e70f sigil-1.9.30.tar.gz
+eb6a1d6c4cc94833b0356b5ce7b1a168d70dcb77a381b539ce8c5b75ef7cb1f7e5a62ad1c22a5d68105a08758035c654747c1a6e4f638cbc80fd897084db958a sigil-assert.patch
+"
diff --git a/testing/sigma/APKBUILD b/testing/sigma/APKBUILD
new file mode 100644
index 00000000000..65b3e6bd05c
--- /dev/null
+++ b/testing/sigma/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Will Sinatra <wpsinatra@gmail.com>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=sigma
+pkgver=0.23.1
+pkgrel=1
+pkgdesc="Generic Signature Format for SIEM Systems"
+url="https://github.com/sigmahq/sigma"
+license="LGPL-3.0-only"
+arch="noarch"
+makedepends="py3-build py3-installer py3-setuptools py3-wheel"
+depends="python3"
+_pkg=sigmatools
+subpackages="$pkgname-pyc"
+source="sigma-$pkgver.tar.gz::https://files.pythonhosted.org/packages/source/s/$_pkg/$_pkg-$pkgver.tar.gz
+ remove_data_file_installation.patch"
+builddir="$srcdir/$_pkg-$pkgver"
+options="!check"
+
+build() {
+ python3 -m build --wheel --no-isolation
+}
+
+package() {
+ python3 -m installer --destdir="$pkgdir" dist/*.whl
+ install -Dm644 config/*.yml -t "$pkgdir/etc/sigma/"
+ install -Dm644 config/generic/*.yml -t "$pkgdir/etc/sigma/"
+}
+
+sha512sums="
+8c91a66111765b02876e5b9341518aaa7a51eddc51cc16da077c2144673d7f8192fb0e997367d9f546d436a086244c0ae135e6e3348a0879ad6621f778f15c88 sigma-0.23.1.tar.gz
+ab129d3c74750b149655697f3e61f27e2119e0fef52e89c2abee6a23f32582dd3ea66ff20e78bc2d57fe0d5c92e4acea7fd6440af6bcd18073eaf40dca0de70e remove_data_file_installation.patch
+"
diff --git a/testing/sigma/remove_data_file_installation.patch b/testing/sigma/remove_data_file_installation.patch
new file mode 100644
index 00000000000..14e3a4c6248
--- /dev/null
+++ b/testing/sigma/remove_data_file_installation.patch
@@ -0,0 +1,26 @@
+diff --git a/setup.py b/setup.py
+index f852d0f..b7f5a57 100644
+--- a/setup.py
++++ b/setup.py
+@@ -44,15 +44,12 @@ setup(
+ ],
+ python_requires='~=3.8',
+ install_requires=['PyYAML', 'pymisp', 'progressbar2', 'ruamel.yaml', 'termcolor'],
+- extras_require={
+- 'test': ['coverage', 'yamllint', 'attackcti'],
+- },
+- data_files=[
+- ('etc/sigma', [ str(p) for p in Path('config/').glob('*.yml') ]),
+- ('etc/sigma/generic', [ str(p) for p in Path('config/generic/').glob('*.yml') ])],
+- entry_points={
+- 'console_scripts': [
+- 'sigmac = sigma.sigmac:main',
++ extras_require={
++ 'test': ['coverage', 'yamllint', 'attackcti'],
++ },
++ entry_points={
++ 'console_scripts': [
++ 'sigmac = sigma.sigmac:main',
+ 'merge_sigma = sigma.merge_sigma:main',
+ 'sigma2misp = sigma.sigma2misp:main',
+ 'sigma2attack = sigma.sigma2attack:main',
diff --git a/testing/signal-cli/APKBUILD b/testing/signal-cli/APKBUILD
deleted file mode 100644
index b9bed4c3b95..00000000000
--- a/testing/signal-cli/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Siva Mahadevan <me@svmhdvn.name>
-# Maintainer: Siva Mahadevan <me@svmhdvn.name>
-pkgname=signal-cli
-pkgver=0.8.0
-pkgrel=1
-pkgdesc="commandline interface for libsignal-service-java"
-url="https://github.com/AsamK/signal-cli"
-# aarch64 fails on builder, https://gitlab.alpinelinux.org/alpine/aports/-/issues/12440
-# armv7, armhf, x86 and mips64 are jdk-less
-#arch="noarch !armv7 !armhf !x86 !mips !mips64 !aarch64"
-license="GPL-3.0-or-later"
-depends="java-jre-headless"
-makedepends="gradle"
-source="$pkgname-$pkgver.tar.gz::https://github.com/AsamK/signal-cli/archive/v$pkgver.tar.gz"
-
-build() {
- gradle installDist
-}
-
-check() {
- gradle check
-}
-
-package() {
- local buildhome="build/install/$pkgname"
- local installhome="/usr/share/java/$pkgname"
-
- install -dm755 "$pkgdir/$installhome/lib"
- install -m644 "$buildhome"/lib/* "$pkgdir/$installhome/lib"
-
- install -Dm755 "$buildhome/bin/$pkgname" "$pkgdir/$installhome/bin/$pkgname"
- install -dm755 "$pkgdir/usr/bin"
- ln -s "$installhome/bin/$pkgname" "$pkgdir/usr/bin/$pkgname"
-}
-
-sha512sums="30fe9d04feeb96a668f40fca21e150e7d68665182bd11180a19e02195ade4df94b8b14271cecfe9c216ab21de315d3ad6aac82115ad6745e270ffe5a8c60d438 signal-cli-0.8.0.tar.gz"
diff --git a/testing/signal-desktop/APKBUILD b/testing/signal-desktop/APKBUILD
new file mode 100644
index 00000000000..2032a9871a5
--- /dev/null
+++ b/testing/signal-desktop/APKBUILD
@@ -0,0 +1,489 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=signal-desktop
+pkgver=7.5.1
+pkgrel=0
+pkgdesc="A messaging app for simple private communication with friends"
+url="https://github.com/signalapp/Signal-Desktop/"
+# same as electron
+arch="aarch64 x86_64"
+license="AGPL-3.0-only"
+depends="
+ electron
+ font-barlow
+ font-eb-garamond
+ font-inter
+ font-parisienne
+ "
+makedepends="
+ alsa-lib-dev
+ aom-dev
+ brotli-dev
+ bsd-compat-headers
+ cargo
+ cargo-auditable
+ cbindgen
+ clang-dev
+ cmake
+ crc32c-dev
+ dav1d-dev
+ double-conversion-dev
+ electron-dev
+ electron-tasje
+ ffmpeg-dev
+ git-lfs
+ glib-dev
+ gn
+ jsoncpp-dev
+ libavif-dev
+ libjpeg-turbo-dev
+ libepoxy-dev
+ libevent-dev
+ libsecret-dev
+ libvpx-dev
+ libwebp-dev
+ lld
+ llvm-dev
+ mesa-dev
+ nodejs
+ npm
+ openh264-dev
+ 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.42.0
+
+# follow signal-desktop package.json -> @signalapp/ringrtc
+_ringrtcver=2.39.3
+
+# follow ringrtc (on version above) -> config/version.properties -> webrtc.version
+# downloading tarball generated with abuild snapshot (with gclient dependencies fetched)
+_webrtcver=6261d
+
+# follow @signalapp/better-sqlite3 (on version in package.json) -> deps/download.js -> TOKENIZER_VERSION
+# last bsqlite version: 8.7.1
+_stokenizerver=0.2.1
+
+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://ab-sn.lnl.gay/webrtc-$_webrtcver.tar.zst
+ https://github.com/signalapp/Signal-FTS5-Extension/archive/refs/tags/v$_stokenizerver/stokenizer-$_stokenizerver.tar.gz
+
+ bettersqlite-use-system-sqlcipher.patch
+ libsignal-auditable.patch
+ signal-disable-updates.patch
+ signal-update-links.patch
+ signal-show-window-please.patch
+ ringrtc-webrtc-renamed.patch
+ webrtc-shared-like-my-wife.patch
+ webrtc-compiler.patch
+ webrtc-gcc13.patch
+
+ signal-desktop
+ "
+builddir="$srcdir/Signal-Desktop-$pkgver"
+
+# webrtc broken on clang https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101227
+export CC=gcc
+export CXX=g++
+
+# required to find the tools
+export AR=ar
+export NM=nm
+export LD=g++
+
+# less log spam, reproducible, allow lto with rust
+export CFLAGS="${CFLAGS/-g/} -O2 -Wno-error -Wno-deprecated-builtins -Wno-unknown-warning-option -Wno-builtin-macro-redefined -Wno-deprecated-declarations"
+export CXXFLAGS="${CXXFLAGS/-g/} -O2 -Wno-error -Wno-deprecated-builtins -Wno-unknown-warning-option -Wno-builtin-macro-redefined -Wno-deprecated-declarations"
+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"
+
+export YARN_CACHE_FOLDER="$srcdir/.yarn"
+
+# webrtc only, the other dependencies are fine with tarballs
+_distbucket="sakamoto/lnl-aports-snapshots/"
+snapshot() {
+ mkdir -p "$srcdir"
+ cd "$srcdir"
+
+ # cleanup if retrying
+ rm -rf src
+ rm -rf webrtc-$_webrtcver
+ rm -f webrtc-$_webrtcver.tar
+ rm -f webrtc-$_webrtcver.tar.zst
+
+ echo "
+solutions = [{
+ 'name': 'src',
+ 'url': 'https://github.com/signalapp/webrtc.git@$_webrtcver',
+}]
+target_cpu = ['x64', 'arm64']
+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="base/" \
+ --exclude-backups \
+ --exclude-caches-all \
+ --exclude-vcs \
+ webrtc-$_webrtcver
+
+ zstd --auto-threads=logical --ultra --long -22 -T"${ZSTD_LIMIT:-0}" -vv webrtc-$_webrtcver.tar -o "$SRCDEST"/webrtc-$_webrtcver.tar.zst
+ mcli cp "$SRCDEST"/webrtc-$_webrtcver.tar.zst "$_distbucket"
+}
+
+# manual patches
+default_prepare() { :; }
+
+prepare() {
+ default_prepare
+ 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
+ ;;
+ libsignal-*.patch)
+ msg "$x"
+ patch -p1 -i "$srcdir"/$x -d "$srcdir"/libsignal-$_libsignalver
+ ;;
+ 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="
+ brotli
+ crc32c
+ dav1d
+ double-conversion
+ ffmpeg
+ flatbuffers
+ fontconfig
+ freetype
+ harfbuzz-ng
+ highway
+ icu
+ jsoncpp
+ libaom
+ libavif
+ libdrm
+ libevent
+ libjpeg
+ libpng
+ libsecret
+ libvpx
+ libwebp
+ libxml
+ libxslt
+ openh264
+ opus
+ re2
+ snappy
+ woff2
+ zlib
+ "
+ for _lib in $use_system double_conversion libjpeg_turbo; do
+ msg "Removing buildscripts for system provided $_lib"
+ find . -type f -path "*{third_party,ringrtc}/$_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
+
+ mkdir path
+ ln -s /usr/bin/python3 path/vpython3
+ )
+
+ (
+ cd "$srcdir"/ringrtc-$_ringrtcver/src/rust
+
+ msg "Installing ringrtc rust dependencies"
+ cargo fetch --target="$CTARGET" --locked
+ )
+
+ (
+ cd "$srcdir"/libsignal-$_libsignalver
+
+ msg "Installing libsignal rust dependencies"
+ cargo fetch --target="$CTARGET" --locked
+ )
+
+ (
+ cd "$srcdir"/Signal-FTS5-Extension-$_stokenizerver
+
+ msg "Installing signal tokenizer rust dependencies"
+ cargo fetch --target="$CTARGET" --locked
+ )
+
+ (
+ 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
+ export PATH="$PWD/path:$PATH"
+
+ # shellcheck disable=2089
+ 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
+ clang_base_path=\"/usr\"
+ custom_toolchain=\"//build/toolchain/linux/unbundle:default\"
+ is_cfi=false
+ is_clang=false
+ 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_lld=true
+ use_sysroot=false
+ "
+ mkdir -p "$srcdir"/ringrtc-$_ringrtcver/out/release
+ msg "Building signal's webrtc"
+ # shellcheck disable=2090,2116
+ gn gen "$srcdir"/ringrtc-$_ringrtcver/out/release --args="$(echo $webrtc_args)"
+ ninja -C "$srcdir"/ringrtc-$_ringrtcver/out/release signaldeswebrtc
+ )
+
+ (
+ cd "$srcdir"/ringrtc-$_ringrtcver
+
+ msg "Building libringrtc"
+ OUTPUT_DIR="$srcdir"/ringrtc-$_ringrtcver/out \
+ cargo auditable build --features electron --release -p ringrtc
+
+ mkdir -p src/node/build/linux
+ cp -fv out/release/libsignaldeswebrtc.so src/node/build/linux/libsignaldeswebrtc.so
+ cp -fv target/release/libringrtc.so src/node/build/linux/libringrtc-$chromium_arch.node
+ )
+
+ (
+ cd "$srcdir"/ringrtc-$_ringrtcver/src/node
+ msg "Building ringrtc JS glue code"
+ yarn build
+
+ msg "Cleaning dev dependencies for ringrtc"
+ yarn --ignore-scripts --frozen-lockfile --production
+ )
+
+ # 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
+
+ msg "Cleaning dev dependencies for libsignal"
+ yarn --ignore-scripts --frozen-lockfile --production
+ )
+
+ (
+ cd "$srcdir"/Signal-FTS5-Extension-$_stokenizerver
+
+ msg "Building signal tokenizer"
+ cargo auditable build --features extension --release --frozen
+ cbindgen --profile release . -o target/release/signal-tokenizer.h
+ )
+
+ # from package.json postinstall
+ yarn build:acknowledgments
+ yarn patch-package
+ rm -rf node_modules/dtrace-provider
+
+ # get esbuild installed (needed for next step)
+ npm rebuild esbuild
+
+ # build front
+ NODE_ENV=production \
+ SIGNAL_ENV=production \
+ NODE_OPTIONS=--openssl-legacy-provider \
+ yarn build:dev
+
+ # purge non-production deps
+ yarn install --ignore-scripts --frozen-lockfile --production
+
+ # XXX: the previous step undoes the patches. and removes the patch applier.
+ # please force me to just implement packaging without dev modules in tasje. -lnl
+ for x in patches/*.patch; do
+ # some of these patches are made for devDependencies
+ if [ -d "$(grep -Eo 'node_modules/(@[a-z\d_-]+/)?[a-z\d_-]+/' "$x" | head -n1)" ]; then
+ msg "$x"
+ patch -Np1 -i ./"$x"
+ fi
+ done
+
+ # use our libsignal
+ rm -rf node_modules/@signalapp/libsignal-client/
+ mv "$srcdir"/libsignal-$_libsignalver/node/ node_modules/@signalapp/libsignal-client
+
+ # use our libringrtc
+ rm -rf node_modules/@signalapp/ringrtc/
+ mv "$srcdir"/ringrtc-$_ringrtcver/src/node/ node_modules/@signalapp/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/@signalapp/better-sqlite3/
+ ;;
+ esac
+ done
+
+ mkdir node_modules/@signalapp/better-sqlite3/tokenizer
+ mv "$srcdir"/Signal-FTS5-Extension-$_stokenizerver/target/release/libsignal_tokenizer.a node_modules/@signalapp/better-sqlite3/tokenizer/
+ mv "$srcdir"/Signal-FTS5-Extension-$_stokenizerver/target/release/signal-tokenizer.h node_modules/@signalapp/better-sqlite3/tokenizer/
+
+ npm rebuild \
+ sharp @signalapp/better-sqlite3 spellchecker websocket \
+ utf-8-validate bufferutil fs-xattr \
+ --nodedir=/usr/include/electron/node_headers --build-from-source
+
+ SIGNAL_ENV=production \
+ tasje pack
+}
+
+check() {
+ # tests run against downloaded build of electron for glibc, probably can be patched
+ yarn test
+}
+
+package() {
+ cd "$builddir"/tasje_out
+
+ 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 -Dm644 signal.desktop "$pkgdir"/usr/share/applications/$pkgname.desktop
+
+ # this should be in /usr/lib/signal-desktop. however, it does not simply work and I stopped to care
+ install -Dm755 "$srcdir"/ringrtc-$_ringrtcver/out/release/libsignaldeswebrtc.so "$pkgdir"/usr/lib/libsignaldeswebrtc.so
+
+ install -Dm755 "$srcdir"/$pkgname "$pkgdir"/usr/bin/$pkgname
+
+ while read -r size; do
+ install -Dm644 icons/$size.png "$pkgdir"/usr/share/icons/hicolor/$size/apps/$pkgname.png
+ done < icons/size-list
+}
+
+sha512sums="
+050e94376ddee65982acda16a1f62fa83e216f9b66023686acfe8acf192990bac225c519c6377402030becf29f573ec1ca34e13edc0bb9ad74c96f0ad6354026 Signal-Desktop-7.5.1.tar.gz
+f2d5bf7958ea7d8562b19d262c6b9ccac3ca034dc51bdf3b6b05844052c5bffaebe50b9b3331f809d3e4bc8c65fc161a85df166c67637a5cca7977a00409a629 libsignal-0.42.0.tar.gz
+40fdf2448d7f8d44fb57c2f5ffb90bc670c1f31b98b932c753c703510174e50d319bda0e741e4ebe81aeb3efb3d41b73f67251c217850d636ba726434cced36e ringrtc-2.39.3.tar.gz
+e5158f81fd652bcaa2bd762d7a378958aed7cd90446c21be1f4613f42ceb64db693037c2c3cda4f80c8fd37ae13da71e5ba92330be81d65b8e72777e5e4673d4 webrtc-6261d.tar.zst
+84a1f2fc29262a12842e94698d124a85b823128e72a493b0be8ea92fbb72c5c268499f4a6827cdedaae06ec73cce4039a39fe5c5d536cbef330e59ba0183da28 stokenizer-0.2.1.tar.gz
+be5b4e823543b79175a12314f10c6326d9f0d59f470136962daed4665887006acc05b48b40dc1b67747396d8f6f7d23be298c1e110ccdd35ff9b09d5e6b80bab bettersqlite-use-system-sqlcipher.patch
+92de6fc7cc5f2b6d65bedbd74cc733dd86dafc9cbfb9b727c3267aef63a71a07247cde9b163c68fddfeb9096dcd7f554d36d0b2de078d8905e3825645ddbd6eb libsignal-auditable.patch
+f13389dd7a1360022d919fa1350210a92e5b832aa32b0ac278b63b1f41462c7807ac28c7867eecf71dac8f3ca699fd0fb0d87de8d1244c3e65cc4b78304e8ef4 signal-disable-updates.patch
+d50eb5724502df9ea4d795db8cfc27af767c25168d7db2af512e615be7cc2ca290210a9ae78e1abb153c0198677e858ad3d74926c958099d0319295e7d9e7f1d signal-update-links.patch
+646d303fe58cae3f0896ae0275a66695b902fae6ddde7c568cc9798157dee9f45ceff907bc951fadc4c511d512a73d114b4e4f7c8914e2311c63929d29e1621a signal-show-window-please.patch
+ab51b8fdcda1d8811213d2c5d8cb5d8457b478a02e23ce40f36b38ec56d45a3bd7a2d184720c27046f98a27771551cfad93c1290fe93856cc02695d318b33e47 ringrtc-webrtc-renamed.patch
+9d92389637cdda83a0a7039fa6c52516d7bc491d0b1e42d5374b9d1f4fa7b9c930642f2dca896da17a2dc3344fa1bb97434c8dddd0539a4fedfd0dec809fc875 webrtc-shared-like-my-wife.patch
+e07ae8544988d402aaf0fbd95ea36a64c94c59566c561132578aa6dcf8ff11a34058530e64dc204e5cadc2482f1401e74b32384a144e5e08017c663d0cf7c2fc webrtc-compiler.patch
+88515d8b8cc82355c9f9b0f44fac83b7ff149b13e9fb102fd46036ec5234cfb2385fa5ad58a0520ee604b93dc4ddd6ae18a7005978ef207841645724ef7a9749 webrtc-gcc13.patch
+87534e7b5ad7365509eab75629e6bd1a9ed61ee92f7e358405a0abaf0df57de14623fb3894eb082f8785422e5c087e1c50f9e2e5cafbb2529591fd7bf447f7f5 signal-desktop
+"
diff --git a/testing/signal-desktop/bettersqlite-use-system-sqlcipher.patch b/testing/signal-desktop/bettersqlite-use-system-sqlcipher.patch
new file mode 100644
index 00000000000..f0dfe0db735
--- /dev/null
+++ b/testing/signal-desktop/bettersqlite-use-system-sqlcipher.patch
@@ -0,0 +1,56 @@
+--- 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',
++ 'tokenizer',
++ ],
++ 'link_settings': {
++ 'libraries': [
++ '-lsqlcipher',
++ '<!(pwd)/tokenizer/libsignal_tokenizer.a',
++ ]
++ },
+ 'sources': ['src/better_sqlite3.cpp'],
+ 'cflags_cc': ['-std=c++17'],
+ 'xcode_settings': {
+@@ -24,14 +33,22 @@
+ ['OS=="linux"', {
+ 'ldflags': [
+ '-Wl,-Bsymbolic',
+- '-Wl,--exclude-libs,ALL',
+ ],
+ }],
+ ],
+ },
+ {
+ 'target_name': 'test_extension',
+- 'dependencies': ['deps/sqlite3.gyp:sqlite3'],
++ 'include_dirs': [
++ '/usr/include/sqlcipher',
++ 'tokenizer',
++ ],
++ 'link_settings': {
++ 'libraries': [
++ '-lsqlcipher',
++ '<!(pwd)/tokenizer/libsignal_tokenizer.a',
++ ]
++ },
+ 'conditions': [['sqlite3 == ""', { 'sources': ['deps/test_extension.c'] }]],
+ },
+ ],
+--- a/package.json
++++ b/package.json
+@@ -34,7 +34,7 @@
+ "sqlite3": "^5.0.2"
+ },
+ "scripts": {
+- "install": "npm run download && npm run build-release",
++ "install": "npm run build-release",
+ "build-release": "node-gyp rebuild --release",
+ "build-debug": "node-gyp rebuild --debug",
+ "rebuild-release": "npm run lzz && npm run build-release",
diff --git a/testing/signal-desktop/libsignal-auditable.patch b/testing/signal-desktop/libsignal-auditable.patch
new file mode 100644
index 00000000000..bdf59ab0a1b
--- /dev/null
+++ b/testing/signal-desktop/libsignal-auditable.patch
@@ -0,0 +1,11 @@
+--- ./node/build_node_bridge.py.orig
++++ ./node/build_node_bridge.py
+@@ -63,7 +63,7 @@
+
+ out_dir = options.out_dir.strip('"') or os.path.join('build', configuration_name)
+
+- cmdline = ['cargo', 'build', '--target', cargo_target, '-p', 'libsignal-node', '--features', 'testing-fns']
++ cmdline = ['cargo', 'auditable', 'build', '--target', cargo_target, '-p', 'libsignal-node', '--features', 'testing-fns']
+ if configuration_name == 'Release':
+ cmdline.append('--release')
+ print("Running '%s'" % (' '.join(cmdline)))
diff --git a/testing/signal-desktop/ringrtc-webrtc-renamed.patch b/testing/signal-desktop/ringrtc-webrtc-renamed.patch
new file mode 100644
index 00000000000..2d2a61af3c2
--- /dev/null
+++ b/testing/signal-desktop/ringrtc-webrtc-renamed.patch
@@ -0,0 +1,21 @@
+--- ./src/rust/build.rs.orig
++++ ./src/rust/build.rs
+@@ -41,15 +41,15 @@
+ if cfg!(feature = "native") {
+ if let Ok(out_dir) = out_dir {
+ println!(
+- "cargo:rustc-link-search=native={}/{}/obj/",
++ "cargo:rustc-link-search=native={}/{}/",
+ out_dir, build_type,
+ );
+- println!("cargo:rerun-if-changed={}/{}/obj/", out_dir, build_type,);
++ println!("cargo:rerun-if-changed={}/{}/", out_dir, build_type,);
+ } else {
+ println!("cargo:warning=No WebRTC output directory (OUTPUT_DIR) defined!");
+ }
+
+- println!("cargo:rustc-link-lib=webrtc");
++ println!("cargo:rustc-link-lib=dylib=signaldeswebrtc");
+
+ if cfg!(target_os = "macos") {
+ println!("cargo:rustc-link-lib=dylib=c++");
diff --git a/testing/signal-desktop/signal-desktop b/testing/signal-desktop/signal-desktop
new file mode 100755
index 00000000000..370469ce5e3
--- /dev/null
+++ b/testing/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/testing/signal-desktop/signal-disable-updates.patch b/testing/signal-desktop/signal-disable-updates.patch
new file mode 100644
index 00000000000..1e38199c001
--- /dev/null
+++ b/testing/signal-desktop/signal-disable-updates.patch
@@ -0,0 +1,9 @@
+--- a/config/production.json
++++ b/config/production.json
+@@ -15,5 +15,5 @@
+ "serverPublicParams": "AMhf5ywVwITZMsff/eCyudZx9JDmkkkbV6PInzG4p8x3VqVJSFiMvnvlEKWuRob/1eaIetR31IYeAbm0NdOuHH8Qi+Rexi1wLlpzIo1gstHWBfZzy1+qHRV5A4TqPp15YzBPm0WSggW6PbSn+F4lf57VCnHF7p8SvzAA2ZZJPYJURt8X7bbg+H3i+PEjH9DXItNEqs2sNcug37xZQDLm7X36nOoGPs54XsEGzPdEV+itQNGUFEjY6X9Uv+Acuks7NpyGvCoKxGwgKgE5XyJ+nNKlyHHOLb6N1NuHyBrZrgtY/JYJHRooo5CEqYKBqdFnmbTVGEkCvJKxLnjwKWf+fEPoWeQFj5ObDjcKMZf2Jm2Ae69x+ikU5gBXsRmoF94GXTLfN0/vLt98KDPnxwAQL9j5V1jGOY8jQl6MLxEs56cwXN0dqCnImzVH3TZT1cJ8SW1BRX6qIVxEzjsSGx3yxF3suAilPMqGRp4ffyopjMD1JXiKR2RwLKzizUe5e8XyGOy9fplzhw3jVzTRyUZTRSZKkMLWcQ/gv0E4aONNqs4P+NameAZYOD12qRkxosQQP5uux6B2nRyZ7sAV54DgFyLiRcq1FvwKw2EPQdk4HDoePrO/RNUbyNddnM/mMgj4FW65xCoT1LmjrIjsv/Ggdlx46ueczhMgtBunx1/w8k8V+l8LVZ8gAT6wkU5J+DPQalQguMg12Jzug3q4TbdHiGCmD9EunCwOmsLuLJkz6EcSYXtrlDEnAM+hicw7iergYLLlMXpfTdGxJCWJmP4zqUFeTTmsmhsjGBt7NiEB/9pFFEB3pSbf4iiUukw63Eo8Aqnf4iwob6X1QviCWuc8t0I=",
+ "serverTrustRoot": "BXu6QIKVz5MA8gstzfOgRQGqyLqOwNKHL6INkv3IHWMF",
+ "genericServerPublicParams": "AByD873dTilmOSG0TjKrvpeaKEsUmIO8Vx9BeMmftwUs9v7ikPwM8P3OHyT0+X3EUMZrSe9VUp26Wai51Q9I8mdk0hX/yo7CeFGJyzoOqn8e/i4Ygbn5HoAyXJx5eXfIbqpc0bIxzju4H/HOQeOpt6h742qii5u/cbwOhFZCsMIbElZTaeU+BWMBQiZHIGHT5IE0qCordQKZ5iPZom0HeFa8Yq0ShuEyAl0WINBiY6xE3H/9WnvzXBbMuuk//eRxXgzO8ieCeK8FwQNxbfXqZm6Ro1cMhCOF3u7xoX83QhpN",
+- "updatesEnabled": true
++ "updatesEnabled": false
+ }
diff --git a/testing/signal-desktop/signal-show-window-please.patch b/testing/signal-desktop/signal-show-window-please.patch
new file mode 100644
index 00000000000..39c8381641b
--- /dev/null
+++ b/testing/signal-desktop/signal-show-window-please.patch
@@ -0,0 +1,11 @@
+--- ./app/main.ts.orig
++++ ./app/main.ts
+@@ -721,7 +721,7 @@
+ const titleBarOverlay = await getTitleBarOverlay();
+
+ const windowOptions: Electron.BrowserWindowConstructorOptions = {
+- show: false,
++ show: true,
+ width: DEFAULT_WIDTH,
+ height: DEFAULT_HEIGHT,
+ minWidth: MIN_WIDTH,
diff --git a/testing/signal-desktop/signal-update-links.patch b/testing/signal-desktop/signal-update-links.patch
new file mode 100644
index 00000000000..39ec819e635
--- /dev/null
+++ b/testing/signal-desktop/signal-update-links.patch
@@ -0,0 +1,25 @@
+--- ./ts/components/DialogExpiredBuild.tsx.orig
++++ ./ts/components/DialogExpiredBuild.tsx
+@@ -23,9 +23,9 @@
+ containerWidthBreakpoint={containerWidthBreakpoint}
+ type="error"
+ onClick={() => {
+- openLinkInWebBrowser('https://signal.org/download/');
++ openLinkInWebBrowser('https://pkgs.alpinelinux.org/packages?name=signal-desktop');
+ }}
+- clickLabel={i18n('icu:upgrade')}
++ clickLabel={<code>apk upgrade signal-desktop</code>}
+ hasAction
+ >
+ {i18n('icu:expiredWarning')}{' '}
+--- ./ts/types/support.ts.orig
++++ ./ts/types/support.ts
+@@ -1,7 +1,7 @@
+ // Copyright 2023 Signal Messenger, LLC
+ // SPDX-License-Identifier: AGPL-3.0-only
+
+-export const PRODUCTION_DOWNLOAD_URL = 'https://signal.org/download/';
++export const PRODUCTION_DOWNLOAD_URL = 'https://pkgs.alpinelinux.org/packages?name=signal-desktop';
+ export const BETA_DOWNLOAD_URL = 'https://support.signal.org/beta';
+ export const UNSUPPORTED_OS_URL =
+ 'https://support.signal.org/hc/articles/5109141421850';
diff --git a/testing/signal-desktop/webrtc-compiler.patch b/testing/signal-desktop/webrtc-compiler.patch
new file mode 100644
index 00000000000..e81b89cde33
--- /dev/null
+++ b/testing/signal-desktop/webrtc-compiler.patch
@@ -0,0 +1,40 @@
+--- ./build/config/compiler/BUILD.gn.orig
++++ ./build/config/compiler/BUILD.gn
+@@ -624,14 +624,14 @@
+ if (default_toolchain != "//build/toolchain/cros:target" &&
+ !llvm_android_mainline) {
+ cflags += [
+- "-mllvm",
+- "-split-threshold-for-reg-with-hint=0",
++ #"-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" ]
++ #ldflags += [ "-Wl,-mllvm,-split-threshold-for-reg-with-hint=0" ]
+ }
+ }
+ }
+@@ -805,7 +805,7 @@
+
+ # We only use one version of LLVM within a build so there's no need to
+ # upgrade debug info, which can be expensive since it runs the verifier.
+- ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
++ #ldflags += [ "-Wl,-mllvm,-disable-auto-upgrade-debug-info" ]
+ }
+
+ # TODO(https://crbug.com/1211155): investigate why this isn't effective on
+@@ -1191,8 +1191,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" ]
diff --git a/testing/signal-desktop/webrtc-gcc13.patch b/testing/signal-desktop/webrtc-gcc13.patch
new file mode 100644
index 00000000000..f27bc56a45c
--- /dev/null
+++ b/testing/signal-desktop/webrtc-gcc13.patch
@@ -0,0 +1,20 @@
+--- ./rtc_base/system/file_wrapper.h.orig
++++ ./rtc_base/system/file_wrapper.h
+@@ -13,6 +13,7 @@
+
+ #include <stddef.h>
+ #include <stdio.h>
++#include <stdint.h>
+
+ #include <string>
+
+--- ./modules/audio_coding/neteq/reorder_optimizer.cc.orig
++++ ./modules/audio_coding/neteq/reorder_optimizer.cc
+@@ -11,6 +11,7 @@
+ #include "modules/audio_coding/neteq/reorder_optimizer.h"
+
+ #include <algorithm>
++#include <cstdint>
+ #include <limits>
+ #include <vector>
+
diff --git a/testing/signal-desktop/webrtc-shared-like-my-wife.patch b/testing/signal-desktop/webrtc-shared-like-my-wife.patch
new file mode 100644
index 00000000000..bd7115af746
--- /dev/null
+++ b/testing/signal-desktop/webrtc-shared-like-my-wife.patch
@@ -0,0 +1,28 @@
+--- ./BUILD.gn.orig
++++ ./BUILD.gn
+@@ -38,7 +38,7 @@
+ # 'ninja default' and then 'ninja all', the second build should do no work.
+ group("default") {
+ testonly = true
+- deps = [ ":webrtc" ]
++ deps = [ ":signaldeswebrtc" ]
+ if (rtc_build_examples) {
+ deps += [ "examples" ]
+ }
+@@ -464,7 +464,7 @@
+
+ if (!build_with_chromium) {
+ # Target to build all the WebRTC production code.
+- rtc_static_library("webrtc") {
++ rtc_shared_library("signaldeswebrtc") {
+ # Only the root target and the test should depend on this.
+ visibility = [
+ "//:default",
+@@ -472,7 +472,6 @@
+ ]
+
+ sources = []
+- complete_static_lib = true
+ suppressed_configs += [ "//build/config/compiler:thin_archive" ]
+ defines = []
+
diff --git a/testing/sigrok-cli/APKBUILD b/testing/sigrok-cli/APKBUILD
index 98435138ffd..646e90bc989 100644
--- a/testing/sigrok-cli/APKBUILD
+++ b/testing/sigrok-cli/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=sigrok-cli
-pkgver=0.7.1
+pkgver=0.7.2
pkgrel=0
pkgdesc="A command-line frontend for sigrok"
url="https://sigrok.org/wiki/Sigrok-cli"
@@ -23,4 +23,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="a56d9439efca74f8362ed225d8fa92adfaee053470b166629ad2d8f3ebf5bea05a37782750c9321aabd3b47e634734fa5e5b0cc5353bf49dd1629cdcdb98aef5 sigrok-cli-0.7.1.tar.gz"
+sha512sums="
+5862aa11a586ebb3acf9bffd1d2686cb5b3c3622b436080e05e2fc826a4814cf4746f128c01764f8dc664c5fc1a1e8c6ef66e548770278cc6ea99353d2173143 sigrok-cli-0.7.2.tar.gz
+"
diff --git a/testing/siji-ng/APKBUILD b/testing/siji-ng/APKBUILD
new file mode 100644
index 00000000000..5cbad25c76a
--- /dev/null
+++ b/testing/siji-ng/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Maxim Karasev <begs@disroot.org>
+# Maintainer: Maxim Karasev <begs@disroot.org>
+pkgname=siji-ng
+pkgver=1.2.1
+pkgrel=0
+pkgdesc="bitmap iconic font"
+url="https://github.com/begss/siji-ng"
+arch="noarch"
+license="GPL-2.0-or-later"
+makedepends="python3 bdftopcf"
+source="https://github.com/begss/siji-ng/archive/v$pkgver/siji-ng-$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+e7ca56410fa741afd9a36f016a634b94159b48890e037cc2c54b3c207776a9557a9e84fe284572f50ce16b9fdadd5f4b932cad49be97500a605869e1b00a364b siji-ng-1.2.1.tar.gz
+"
diff --git a/testing/silc-client/APKBUILD b/testing/silc-client/APKBUILD
index 49a489f45da..9a8c9e3aa33 100644
--- a/testing/silc-client/APKBUILD
+++ b/testing/silc-client/APKBUILD
@@ -1,24 +1,29 @@
# Contributor: Johannes Matheis <jomat+alpinebuild@jmt.gr>
-# Maintainer: Johannes Matheis <jomat+alpinebuild@jmt.gr>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=silc-client
pkgver=1.1.11
-pkgrel=12
+pkgrel=16
pkgdesc="Secure Internet Live Conferencing - client"
url="http://silcnet.org/"
arch="all"
license="GPL-2.0-only"
-makedepends="file glib-dev openssl-dev perl-dev ncurses-dev"
+makedepends="file glib-dev openssl-dev>3 perl-dev ncurses-dev"
subpackages="$pkgname-doc"
-source="https://downloads.sourceforge.net/project/silc/silc/client/sources/silc-client-$pkgver.tar.gz"
+source="https://downloads.sourceforge.net/project/silc/silc/client/sources/silc-client-$pkgver.tar.gz
+ format-security.patch
+ "
prepare() {
default_prepare
update_config_guess
+ update_config_sub
}
build() {
./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
--prefix=/usr \
--sysconfdir=/etc
make
@@ -29,9 +34,11 @@ check() {
}
package() {
- make DESTDIR=$pkgdir install
- rm $pkgdir/usr/lib/perl5/core_perl/perllocal.pod
+ make DESTDIR="$pkgdir" install
+ rm "$pkgdir"/usr/lib/perl5/core_perl/perllocal.pod
}
-
-sha512sums="185cd687a155fbbfbb65877438c2ad099d6795451d443d4d826d47469d312fa9f82035999d1cdf80f24eac2df45a10e88ddf095dc5acda70a31c61a4abb1cdb2 silc-client-1.1.11.tar.gz"
+sha512sums="
+185cd687a155fbbfbb65877438c2ad099d6795451d443d4d826d47469d312fa9f82035999d1cdf80f24eac2df45a10e88ddf095dc5acda70a31c61a4abb1cdb2 silc-client-1.1.11.tar.gz
+b4fee252d1bbd8ade5f89f16db95b156749b7d23ae730f9385e9ed11f92e2b38ad36d8a8e8e55aa87a65ac8a578c0d789f96d775bccc4037d8155ece892153ac format-security.patch
+"
diff --git a/testing/silc-client/format-security.patch b/testing/silc-client/format-security.patch
new file mode 100644
index 00000000000..c3a3b4ff611
--- /dev/null
+++ b/testing/silc-client/format-security.patch
@@ -0,0 +1,22 @@
+diff --git a/apps/irssi/src/core/network.c b/apps/irssi/src/core/network.c
+index d7c1017..5954d1f 100644
+--- a/apps/irssi/src/core/network.c
++++ b/apps/irssi/src/core/network.c
+@@ -356,7 +356,7 @@ int net_receive(GIOChannel *handle, char *buf, int len)
+
+ status = g_io_channel_read_chars(handle, buf, len, &ret, &err);
+ if (err != NULL) {
+- g_warning(err->message);
++ g_warning("%s", err->message);
+ g_error_free(err);
+ }
+ if (status == G_IO_STATUS_ERROR || status == G_IO_STATUS_EOF)
+@@ -377,7 +377,7 @@ int net_transmit(GIOChannel *handle, const char *data, int len)
+
+ status = g_io_channel_write_chars(handle, (char *) data, len, &ret, &err);
+ if (err != NULL) {
+- g_warning(err->message);
++ g_warning("%s", err->message);
+ g_error_free(err);
+ }
+ if (status == G_IO_STATUS_ERROR)
diff --git a/testing/simavr/APKBUILD b/testing/simavr/APKBUILD
index 06bb0509f13..59c2368e7c3 100644
--- a/testing/simavr/APKBUILD
+++ b/testing/simavr/APKBUILD
@@ -2,10 +2,10 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=simavr
pkgver=1.7
-pkgrel=0
+pkgrel=1
pkgdesc="lean, mean Atmel AVR simulator "
url="https://github.com/buserror/simavr"
-arch="all"
+arch="aarch64 ppc64le x86_64" # avr-libs -> gcc-avr -> binutils-avr
license="GPL-3.0-or-later"
options="!check" # tests fails
makedepends="avr-libc freeglut-dev elfutils-dev bash"
diff --git a/testing/simgear/APKBUILD b/testing/simgear/APKBUILD
index 03cc7c8e349..f530a7bc8bc 100644
--- a/testing/simgear/APKBUILD
+++ b/testing/simgear/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Leonardo Arena <rnalrd@alpinelinux.org>
pkgname=simgear
-pkgver=2020.3.11
+pkgver=2020.3.19
_pkgver=${pkgver%.*}
pkgrel=0
pkgdesc="Sim library for FlightGear"
@@ -8,11 +8,22 @@ options="!check" # Accepts boost only up to 1.71.0
url="https://github.com/FlightGear/simgear"
arch="all !riscv64" # openscenegraph availability
license="GPL-2.0-or-later"
-makedepends="$depends_dev boost-dev cmake curl-dev mesa-dev openal-soft-dev
- openscenegraph-dev zlib-dev expat-dev"
+makedepends="
+ $depends_dev
+ boost-dev
+ cmake
+ curl-dev
+ expat-dev
+ mesa-dev
+ openal-soft-dev
+ openscenegraph-dev
+ samurai
+ zlib-dev
+ "
subpackages="$pkgname-dev"
source="
https://downloads.sourceforge.net/project/flightgear/release-$_pkgver/simgear-$pkgver.tar.bz2
+ gcc12.patch
musl-strerror_r.patch
musl-u_types.patch
"
@@ -21,22 +32,23 @@ build() {
# use system expat
rm -rf simgear/xml/*.h simgear/xml/*.c
- cmake \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DSYSTEM_EXPAT=ON \
-DENABLE_TESTS=false \
- .
- make
+
+ cmake --build build
}
package() {
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
sha512sums="
-e7b7c73a574012f9ee33cc751eca9dc968339d0f8f5ec005386ed6863d96af6d17423dd68eb5180f1c6bf3b05a422de10ce03ea5e745029445edac7919fc1c99 simgear-2020.3.11.tar.bz2
+b5c2acb9b843c48e573764c1474bc8723167376546d2fe01246ea936d348abf7e26c8778037680dc76fad5e514209ccce03f8c49cdd90ff0fb44f86759f9ec64 simgear-2020.3.19.tar.bz2
+aea0bbc11b221d73706891d7ac9a79c4c359f4e7184752194737ede7f5938c65f79cd9d7b6b20ce236867761c03a5c883d468d698664f7e4583652ec448a8b8c gcc12.patch
0dac20e58c663227336e39b3c3c75fbf7e47d60b5a16dc30f0d7f8c9bbc3fec901b5f4e3511e28c682fad5ff925df0f0215604295989d1eb99e4155fd3dde685 musl-strerror_r.patch
a34b8ba88fcc3d06f5695484d20fe6c40b8c623cafc81642fd123d62955cf59e12ac10a335a541c5e4353997fa9c5ac00b265c6821a7810c936f456a72b5e1aa musl-u_types.patch
"
diff --git a/testing/simgear/gcc12.patch b/testing/simgear/gcc12.patch
new file mode 100644
index 00000000000..400c6351681
--- /dev/null
+++ b/testing/simgear/gcc12.patch
@@ -0,0 +1,12 @@
+diff --git a/simgear/scene/viewer/Compositor.hxx b/simgear/scene/viewer/Compositor.hxx
+index f7e538c..74465af 100644
+--- a/simgear/scene/viewer/Compositor.hxx
++++ b/simgear/scene/viewer/Compositor.hxx
+@@ -17,6 +17,7 @@
+ #ifndef SG_COMPOSITOR_HXX
+ #define SG_COMPOSITOR_HXX
+
++#include <array>
+ #include <unordered_map>
+ #include <vector>
+
diff --git a/testing/simh/APKBUILD b/testing/simh/APKBUILD
index 48435ed2b3e..782ce886ffc 100644
--- a/testing/simh/APKBUILD
+++ b/testing/simh/APKBUILD
@@ -3,7 +3,7 @@
pkgname=simh
pkgver=3.11.1
_pkgver=3.11-1
-pkgrel=0
+pkgrel=1
pkgdesc="simulator for historical computers"
url="http://simh.trailing-edge.com"
arch="all"
diff --git a/testing/simp1e-cursors/APKBUILD b/testing/simp1e-cursors/APKBUILD
new file mode 100644
index 00000000000..0561c048439
--- /dev/null
+++ b/testing/simp1e-cursors/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Daniil Nemtsev <nmsv@pm.me>
+# Maintainer: Daniil Nemtsev <nmsv@pm.me>
+pkgname=simp1e-cursors
+pkgver=0_git20211003
+pkgrel=0
+pkgdesc="An aesthetic cursor theme for your Linux desktop"
+url="https://gitlab.com/zoli111/simp1e"
+# s390x, riscv64: missing librsvg makedepend
+arch="noarch !s390x !riscv64"
+license="GPL-3.0"
+makedepends="python3 py3-pillow librsvg xcursorgen"
+options="!check" # no tests
+_gitrev=6a9e969b0239a58fc96af787c4986c273eb6d0eb
+_buildscript=41878bf3d8efb3161d63bb2435b3aa2bdb7f7888
+source="$pkgname-$_gitrev.tar.gz::https://gitlab.com/zoli111/simp1e/-/archive/$_gitrev/simp1e-$_gitrev.tar.gz
+ buildscript-$_buildscript.tar.gz::https://github.com/mxre/cursor/archive/$_buildscript.tar.gz
+ py3.patch
+ "
+builddir="$srcdir"/simp1e-$_gitrev
+subpackages="$pkgname-dark $pkgname-breeze $pkgname-snow $pkgname-solarized"
+
+prepare() {
+ default_prepare
+ mv "$srcdir"/cursor-$_buildscript/* "$builddir"/builder_script
+}
+
+build() {
+ ./build.sh
+}
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/icons
+ mv built_themes/* "$pkgdir"/usr/share/icons/
+ mv "$pkgdir"/usr/share/icons/Simp1e "$pkgdir"/usr/share/icons/"$pkgname"
+}
+
+dark() {
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Simp1e-dark "$subpkgdir"/usr/share/icons/"$pkgname"-dark
+}
+
+breeze() {
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Simp1e-breeze "$subpkgdir"/usr/share/icons/"$pkgname"-breeze
+}
+
+snow() {
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Simp1e-breeze-snow "$subpkgdir"/usr/share/icons/"$pkgname"-snow
+}
+
+solarized() {
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Simp1e-solarized "$subpkgdir"/usr/share/icons/"$pkgname"-solarized
+}
+
+sha512sums="
+c653cd9f71c227470fc9626d8747d167dbac8ae1a83c136fea6eda83d4d39e0f6abcb4ec71a8e6381a1f8cacdf939a9be12976554e5e87c580e2038db5d38a31 simp1e-cursors-6a9e969b0239a58fc96af787c4986c273eb6d0eb.tar.gz
+0a2a3fdad5aea3401c3ffd26c3e8a21e6adb59bb21e7aef25296a719ee0d8cf4fe92ea7f6df4d46c59227f1c9f43abf3519a4031080792bfd8742e3e16b89033 buildscript-41878bf3d8efb3161d63bb2435b3aa2bdb7f7888.tar.gz
+07cc287c47174afc3e427a4f5daaccd4c9021743fc17904b75751b510554b553f8442f77f5d243f75206ca96c0b0f341e6ed1343cadeee6e6a2f16ce3cd2a887 py3.patch
+"
diff --git a/testing/simp1e-cursors/py3.patch b/testing/simp1e-cursors/py3.patch
new file mode 100644
index 00000000000..f30ba1a72c9
--- /dev/null
+++ b/testing/simp1e-cursors/py3.patch
@@ -0,0 +1,11 @@
+--- a/build.sh
++++ b/build.sh
+@@ -33,7 +33,7 @@
+ echo '##########'
+ echo ""
+ cd $BASEDIR
+- python $BASEDIR/builder_script/make.py $BASEDIR/svgs/$F -n $THEMENAME -o $BASEDIR/built_themes/$THEMENAME --fps 60 -f
++ python3 $BASEDIR/builder_script/make.py $BASEDIR/svgs/$F -n $THEMENAME -o $BASEDIR/built_themes/$THEMENAME --fps 60 -f
+
+ # Create archives if enabled and add optional install instructions
+ if [ "$ARCHIVES" = "1" ];
diff --git a/testing/simpleble/APKBUILD b/testing/simpleble/APKBUILD
new file mode 100644
index 00000000000..af62e3857e7
--- /dev/null
+++ b/testing/simpleble/APKBUILD
@@ -0,0 +1,66 @@
+# Maintainer:
+pkgname=simpleble
+pkgver=0.6.1
+pkgrel=1
+pkgdesc="Cross-platform library for bluetooth low-energy"
+url="https://github.com/OpenBluetoothToolbox/SimpleBLE"
+arch="all"
+license="MIT"
+makedepends="
+ cmake
+ dbus-dev
+ fmt-dev
+ samurai
+ "
+subpackages="
+ $pkgname-dev
+ libsimpleble:lib
+ libsimpleble-c:lib_c
+ libsimplebluez:lib_bluez
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/OpenBluetoothToolbox/SimpleBLE/archive/refs/tags/v$pkgver.tar.gz
+ bluez.patch
+ fmt.patch
+ "
+builddir="$srcdir/SimpleBLE-$pkgver"
+options="!check" # tests require plain
+
+build() {
+ cmake -B build-ble -G Ninja -S simpleble \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DLIBFMT_VENDORIZE=OFF
+ cmake --build build-ble
+ cmake -B build-bluez -G Ninja -S simplebluez \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
+ -DBUILD_SHARED_LIBS=ON \
+ -DLIBFMT_VENDORIZE=OFF
+ cmake --build build-bluez
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build-ble
+ DESTDIR="$pkgdir" cmake --install build-bluez
+}
+
+lib() {
+ amove usr/lib/libsimpleble.so.*
+}
+
+lib_c() {
+ amove usr/lib/libsimpleble-c.so.*
+}
+
+lib_bluez() {
+ amove usr/lib/libsimplebluez.so.*
+}
+
+sha512sums="
+bf9b166340df6620fcafe7e453795bc314769aed49c5284b425ea90b064a9d242432625f544ea6f79441e36c1b9ed5909dfc80d1e69c102ce27589cc09f02417 simpleble-0.6.1.tar.gz
+3bf34d51bb267077af537eaf6fec54c9049c0a3f85e4724afad76c7ba3d0ed3be73dcc96bc7d69ddcdfb40a823bd236970880e0c4439b9e70283af53e8cbc085 bluez.patch
+b1520b22a7fa98e552b67b87787cbceaf0f04122b36001b0566159206b724f7ff947869f4cc06e4e4831e6286c468bf77eb5c0eefae99818d58baf87b6c944f7 fmt.patch
+"
diff --git a/testing/simpleble/bluez.patch b/testing/simpleble/bluez.patch
new file mode 100644
index 00000000000..c72c2417393
--- /dev/null
+++ b/testing/simpleble/bluez.patch
@@ -0,0 +1,14 @@
+the bluez lib doesn't expose any symbols for some reason, so manually do it for the used one
+diff --git a/simplebluez/src/Device.cpp b/simplebluez/src/Device.cpp
+index e03957c..c62817b 100644
+--- a/simplebluez/src/Device.cpp
++++ b/simplebluez/src/Device.cpp
+@@ -53,7 +53,7 @@ std::shared_ptr<Characteristic> Device::get_characteristic(const std::string& se
+ return service->get_characteristic(characteristic_uuid);
+ }
+
+-void Device::pair() { device1()->Pair(); }
++__attribute__ ((visibility ("default"))) void Device::pair() { device1()->Pair(); }
+
+ void Device::cancel_pairing() { device1()->CancelPairing(); }
+
diff --git a/testing/simpleble/fmt.patch b/testing/simpleble/fmt.patch
new file mode 100644
index 00000000000..cc4d2cb20b1
--- /dev/null
+++ b/testing/simpleble/fmt.patch
@@ -0,0 +1,24 @@
+diff --git a/simpleble/CMakeLists.txt b/simpleble/CMakeLists.txt
+index d983902..5bd0a44 100644
+--- a/simpleble/CMakeLists.txt
++++ b/simpleble/CMakeLists.txt
+@@ -21,7 +21,6 @@ option(SIMPLEBLE_PLAIN "Use plain version of SimpleBLE" OFF)
+ if(NOT TARGET fmt::fmt-header-only)
+ option(LIBFMT_VENDORIZE "Enable vendorized libfmt" ON)
+ find_package(fmt REQUIRED)
+- set_target_properties(fmt PROPERTIES EXCLUDE_FROM_ALL TRUE)
+ endif()
+
+ if(SIMPLEBLE_TEST)
+diff --git a/simplebluez/CMakeLists.txt b/simplebluez/CMakeLists.txt
+index e95d1eb..896ddb9 100644
+--- a/simplebluez/CMakeLists.txt
++++ b/simplebluez/CMakeLists.txt
+@@ -16,7 +16,6 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/epilogue.cmake)
+ option(LIBFMT_VENDORIZE "Enable vendorized libfmt" ON)
+
+ find_package(fmt REQUIRED)
+-set_target_properties(fmt PROPERTIES EXCLUDE_FROM_ALL TRUE)
+
+ find_package(DBus1 REQUIRED)
+
diff --git a/testing/simpleiot/APKBUILD b/testing/simpleiot/APKBUILD
new file mode 100644
index 00000000000..f71864f1716
--- /dev/null
+++ b/testing/simpleiot/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Khem Raj <raj.khem@gmail.com>
+# Maintainer: Khem Raj <raj.khem@gmail.com>
+pkgname=simpleiot
+pkgver=0.14.3
+pkgrel=2
+pkgdesc="Simple IoT cloud/edge application/framework"
+url="https://github.com/simpleiot/simpleiot"
+arch="x86_64"
+license="Apache-2.0"
+makedepends="go npm"
+source="$pkgname-$pkgver.tar.gz::https://github.com/simpleiot/simpleiot/archive/refs/tags/v$pkgver.tar.gz
+ dont-run-golangci.patch
+ "
+options="net" # for downloading Go modules
+
+build() {
+ . "$srcdir"/$pkgname-$pkgver/envsetup.sh
+ siot_setup
+ siot_build
+}
+
+check() {
+ sed -i -e "s/-race//" "$srcdir"/$pkgname-$pkgver/envsetup.sh
+ . "$srcdir"/$pkgname-$pkgver/envsetup.sh
+ siot_test
+}
+
+package() {
+ install -Dm755 siot -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+50cd3895fd602594b6694cb8c285c0b1b634ed4d8be8d03c20ac0d62610df236400b78e744cf59a1c8550cbb2c1754eac1c8df0bb44c84a169d40f325f59be68 simpleiot-0.14.3.tar.gz
+4cedea658623f90e565e1a5a8d4f3b979ec5cf618bd0b4421df4988d319ad4e9335231b842de09f574b31dddab69688d06f4f571a40ce990593389db8a33d8aa dont-run-golangci.patch
+"
diff --git a/testing/simpleiot/dont-run-golangci.patch b/testing/simpleiot/dont-run-golangci.patch
new file mode 100644
index 00000000000..b284782e262
--- /dev/null
+++ b/testing/simpleiot/dont-run-golangci.patch
@@ -0,0 +1,10 @@
+--- a/envsetup.sh
++++ b/envsetup.sh
+@@ -178,7 +178,6 @@
+ siot_build_frontend || return 1
+ siot_test_frontend || return 1
+ go test -p=1 -race "$@" ./... || return 1
+- golangci-lint run || return 1
+ return 0
+ }
+
diff --git a/testing/simplescreenrecorder/APKBUILD b/testing/simplescreenrecorder/APKBUILD
deleted file mode 100644
index 59880ec39b9..00000000000
--- a/testing/simplescreenrecorder/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
-# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
-pkgname=simplescreenrecorder
-pkgver=0.4.2
-pkgrel=0
-pkgdesc="SimpleScreenRecorder a screen recorder for Linux "
-url="http://www.maartenbaert.be/simplescreenrecorder/"
-arch="x86_64 x86" #disabled for the other architectures due to compiling problems
-license="GPL-3.0-only"
-makedepends="cmake make pkgconfig qt5-qtbase-dev ffmpeg-dev alsa-lib-dev pulseaudio-dev
- jack-dev mesa-dev glu-dev libx11-dev libxfixes-dev libxext-dev libxi-dev
- libxinerama-dev qt5-qttools-dev qt5-qtx11extras-dev"
-subpackages="$pkgname-doc"
-options="!check" # make check not implemented
-source="$pkgname-$pkgver.tar.gz::https://github.com/MaartenBaert/ssr/archive/$pkgver.tar.gz"
-builddir="$srcdir/ssr-$pkgver"
-
-build() {
- cmake -B build . \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DWITH_QT5=on \
- -DCMAKE_INSTALL_LIBDIR=lib
- make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-sha512sums="60b0127d7f82f294e5a8f015363e37a10b5492089a0178b07a5e383c7e4b857102ed2bda7a95e3c67293a255f892481aeaf4037c583320d68d463637348ed7f7 simplescreenrecorder-0.4.2.tar.gz"
diff --git a/testing/simplesnap/0001-fix-simplesnap-line-2-dotlockfile-command-not-found.patch b/testing/simplesnap/0001-fix-simplesnap-line-2-dotlockfile-command-not-found.patch
deleted file mode 100644
index 2c2954ff7e9..00000000000
--- a/testing/simplesnap/0001-fix-simplesnap-line-2-dotlockfile-command-not-found.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From f477a6895512c77eef3637581ab36ad8319a0204 Mon Sep 17 00:00:00 2001
-From: Henrik Riomar <henrik.riomar@gmail.com>
-Date: Mon, 18 Jun 2018 19:15:54 +0200
-Subject: [PATCH] fix: simplesnap: line 2??: dotlockfile: command not found
-
-Closes: #12
----
- simplesnap | 28 +++++++++-------------------
- 1 file changed, 9 insertions(+), 19 deletions(-)
-
-diff --git a/simplesnap b/simplesnap
-index 6d60885..63fc0c2 100755
---- a/simplesnap
-+++ b/simplesnap
-@@ -149,15 +149,11 @@ done
- SSHCMD="${SSHCMD:-ssh}"
- WRAPCMD="${WRAPCMD:-simplesnapwrap}"
-
--DATE="gdate"
--gdate &> /dev/null || [ $? -eq 127 ] && DATE="date"
--SED="gsed"
--gsed &> /dev/null || [ $? -eq 127 ] && SED="sed"
--GREP="ggrep"
--ggrep &> /dev/null || [ $? -eq 127 ] && GREP="grep"
--HEAD="ghead"
--ghead -h &> /dev/null || [ $? -eq 127 ] && HEAD="head"
--
-+command -v gdate > /dev/null && DATE="gdate" || DATE="date"
-+command -v gsed > /dev/null && SED="gsed" || SED="sed"
-+command -v ggrep > /dev/null && GREP="ggrep" || GREP="grep"
-+command -v ghead > /dev/null && HEAD="ghead" || HEAD="head"
-+command -v dotlockfile > /dev/null && LOCKMETHOD="dotlockfile" || LOCKMETHOD="mkdir"
-
- # Validating
- [ -n "$SSHCMD" ] || syntaxerror "Invalid SSH command: $SSHCMD"
-@@ -244,23 +240,17 @@ fi
-
- LOCKFILE="${MOUNTPOINT}/${HOST}/.lock"
-
--if dotlockfile -r 0 -l -p "${LOCKFILE}"; then
-- LOCKMETHOD="dotlockfile"
-+if [ x"$LOCKMETHOD" = x"dotlockfile" ] && ${LOCKMETHOD} -r 0 -l -p "${LOCKFILE}" ; then
- logit "Lock obtained at ${LOCKFILE} with dotlockfile"
- trap "ECODE=$?; dotlockfile -u \"${LOCKFILE}\"; exit $ECODE" EXIT INT TERM
--else
-- RETVAL="$?"
-- if [ "$RETVAL" = "127" ]; then
-- LOCKMETHOD="mkdir"
-- mkdir "${LOCKFILE}" || exiterror "Could not obtain lock at ${LOCKFILE}; if $0 is not already running, rmdir that path."
-+elif [ x"$LOCKMETHOD" = x"mkdir" ]; then
-+ ${LOCKMETHOD} "${LOCKFILE}" || exiterror "Could not obtain lock at ${LOCKFILE}; if $0 is not already running, rmdir that path."
- logit "Lock obtained at ${LOCKFILE} with mkdir"
- trap "ECODE=$?; rmdir \"${LOCKFILE}\"" EXIT INT TERM
-- else
-+else
- exiterror "Could not obtain lock at ${LOCKFILE}; $0 likely already running."
-- fi
- fi
-
--
- reap () {
- DATASET="$1"
- # We always save the most recent.
---
-2.17.1
-
diff --git a/testing/simplesnap/0002-trap-do-not-define-ECODE-at-setup.patch b/testing/simplesnap/0002-trap-do-not-define-ECODE-at-setup.patch
deleted file mode 100644
index d15735afa77..00000000000
--- a/testing/simplesnap/0002-trap-do-not-define-ECODE-at-setup.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From cfa251c80c31ea9b3a2993ec204061cdd4c06ef4 Mon Sep 17 00:00:00 2001
-From: Henrik Riomar <henrik.riomar@gmail.com>
-Date: Mon, 18 Jun 2018 19:26:30 +0200
-Subject: [PATCH] trap: do not define ECODE at setup
-
-We need to delay defining ECODE until we call the trap
-
-Before this change (set -x output):
-+ trap 'ECODE=0; dotlockfile -u "/mypool2/simplesnap/storage01/.lock"; exit ' EXIT INT TERM
-
-After:
-+ trap 'ECODE=$?; dotlockfile -u /mypool2/simplesnap/storage01/.lock; exit $ECODE' EXIT INT TERM
----
- simplesnap | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/simplesnap b/simplesnap
-index 63fc0c2..fb9c4d2 100755
---- a/simplesnap
-+++ b/simplesnap
-@@ -239,14 +239,15 @@ if [ ! -d "${MOUNTPOINT}/${HOST}" ]; then
- fi
-
- LOCKFILE="${MOUNTPOINT}/${HOST}/.lock"
-+printf -v EVAL_SAFE_LOCKFILE '%q' "$LOCKFILE"
-
- if [ x"$LOCKMETHOD" = x"dotlockfile" ] && ${LOCKMETHOD} -r 0 -l -p "${LOCKFILE}" ; then
- logit "Lock obtained at ${LOCKFILE} with dotlockfile"
-- trap "ECODE=$?; dotlockfile -u \"${LOCKFILE}\"; exit $ECODE" EXIT INT TERM
-+ trap 'ECODE=$?; dotlockfile -u '"${EVAL_SAFE_LOCKFILE}"'; exit $ECODE' EXIT INT TERM
- elif [ x"$LOCKMETHOD" = x"mkdir" ]; then
- ${LOCKMETHOD} "${LOCKFILE}" || exiterror "Could not obtain lock at ${LOCKFILE}; if $0 is not already running, rmdir that path."
- logit "Lock obtained at ${LOCKFILE} with mkdir"
-- trap "ECODE=$?; rmdir \"${LOCKFILE}\"" EXIT INT TERM
-+ trap 'ECODE=$?; rmdir '"${EVAL_SAFE_LOCKFILE}"'; exit $ECODE' EXIT INT TERM
- else
- exiterror "Could not obtain lock at ${LOCKFILE}; $0 likely already running."
- fi
---
-2.17.1
-
diff --git a/testing/simplesnap/0003-use-CHECKHOST-in-checkbackups-function.patch b/testing/simplesnap/0003-use-CHECKHOST-in-checkbackups-function.patch
deleted file mode 100644
index b1bd214c437..00000000000
--- a/testing/simplesnap/0003-use-CHECKHOST-in-checkbackups-function.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 79dd4680928fdc999527123ebd6b3363ca705e4a Mon Sep 17 00:00:00 2001
-From: Henrik Riomar <henrik.riomar@gmail.com>
-Date: Tue, 26 Jun 2018 07:57:58 +0200
-Subject: [PATCH] use CHECKHOST in checkbackups() function
-
-$CHECKHOST variable defined in checkbackups is unused, lets use it
-instead of the global $HOST
----
- simplesnap | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/simplesnap b/simplesnap
-index 63fc0c2..d9e1806 100755
---- a/simplesnap
-+++ b/simplesnap
-@@ -192,11 +192,11 @@ runzfs () {
-
- checkbackups () {
- CHECKHOST="$1"
-- DATASETS="`runzfs list -t filesystem,volume -o name -H -r \"${STORE}/${HOST}\"`"
-+ DATASETS="`runzfs list -t filesystem,volume -o name -H -r \"${STORE}/${CHECKHOST}\"`"
- CUTOFF="`$DATE -d \"${CHECKMODE}\" +%s`"
- for CHECKDS in ${DATASETS}; do
- # Don't check the top-level host dataset itself.
-- if [ "${CHECKDS}" = "${STORE}/${HOST}" ]; then
-+ if [ "${CHECKDS}" = "${STORE}/${CHECKHOST}" ]; then
- continue
- fi
-
---
-2.17.1
-
diff --git a/testing/simplesnap/APKBUILD b/testing/simplesnap/APKBUILD
deleted file mode 100644
index 0158bed6d68..00000000000
--- a/testing/simplesnap/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
-# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
-pkgname=simplesnap
-pkgver=1.0.4
-pkgrel=2
-pkgdesc="Simple and powerful network transmission of ZFS snapshots"
-url="https://github.com/jgoerzen/simplesnap"
-arch="noarch !armhf !armv7" # limited by zfs
-license="GPL-3.0-or-later"
-depends="bash coreutils liblockfile openssh-client zfs"
-subpackages="$pkgname-doc"
-options="!check" # no test suite
-source="$pkgname-$pkgver.tar.gz::https://github.com/jgoerzen/simplesnap/archive/release/$pkgver.tar.gz
- 0001-fix-simplesnap-line-2-dotlockfile-command-not-found.patch
- 0002-trap-do-not-define-ECODE-at-setup.patch
- 0003-use-CHECKHOST-in-checkbackups-function.patch
- "
-builddir="$srcdir/$pkgname-release-$pkgver"
-
-prepare() {
- default_prepare
-
- sed -i 's|sbin/zfs|usr/&|' simplesnap
- sed -i 's|sbin/zfs|usr/&|' simplesnapwrap
-}
-
-package() {
- install -m 0755 -d "$pkgdir"/usr/sbin
- install -m 0755 simplesnap "$pkgdir"/usr/sbin/
- install -m 0755 simplesnapwrap "$pkgdir"/usr/sbin/
-
- install -m 0755 -d "$pkgdir"/usr/share/man/man8
- install -m 0644 doc/simplesnap.8 "$pkgdir"/usr/share/man/man8/
-}
-
-sha512sums="818f917d65b87366af1530441f2c070a51e34efbf7790509f00aa18949dae4f8f5b1bbde4b67ca45f95df4ea816f42416c9f09aba060769d3548eb5f12551b62 simplesnap-1.0.4.tar.gz
-54273ec9630cc5e764db65361ac4a03e27dafcbbe67794053e8a94584e7e8ed10db908b0285485a80253cf93bb7daf9f5257924a1476ab235138c88abb0111b7 0001-fix-simplesnap-line-2-dotlockfile-command-not-found.patch
-618fd1ed200ae30437528a52090bf4363ba7f3641741865fb78ef67401fbde41a77fe83681d9c26a2391b7be6c25d22ba4285922911c28a1d0b7c4b093a19df7 0002-trap-do-not-define-ECODE-at-setup.patch
-49248602dbbdb22ae1ac224f716e71165320184941434e968c214e969e26a8dbbfe6058a6af56684b31b51440817ef9fe874e64fa793a32713e5d3a644def73b 0003-use-CHECKHOST-in-checkbackups-function.patch"
diff --git a/testing/sing-box/APKBUILD b/testing/sing-box/APKBUILD
new file mode 100644
index 00000000000..45d85987597
--- /dev/null
+++ b/testing/sing-box/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Anon <danilagdn.2004@gmail.com>
+# Maintainer: Anon <danilagdn.2004@gmail.com>
+pkgname=sing-box
+pkgver=1.8.4
+pkgrel=3
+pkgdesc="The universal proxy platform"
+url="https://sing-box.sagernet.org/"
+arch="all"
+license="GPL-3.0-or-later with name use or association addition"
+makedepends="go"
+subpackages="$pkgname-openrc $pkgname-bash-completion $pkgname-fish-completion $pkgname-zsh-completion"
+options="!check"
+source="$pkgname-$pkgver.tar.gz::https://github.com/SagerNet/sing-box/archive/v$pkgver.tar.gz
+ $pkgname.initd
+ "
+_tags="with_gvisor,with_quic,with_wireguard,with_utls,with_reality_server,with_clash_api,with_ech"
+
+build() {
+ export CGO_CPPFLAGS="$CPPFLAGS"
+ export CGO_CFLAGS="$CFLAGS"
+ export CGO_CXXFLAGS="$CXXFLAGS"
+ export CGO_LDFLAGS="$LDFLAGS"
+
+ go build -v -tags "$_tags" \
+ -ldflags "-X \"github.com/sagernet/sing-box/constant.Version=$pkgver\" -s -w
+ -buildid= -linkmode=external" ./cmd/sing-box
+
+ install -d completions
+ go run ./cmd/sing-box completion bash > completions/bash
+ go run ./cmd/sing-box completion fish > completions/fish
+ go run ./cmd/sing-box completion zsh > completions/zsh
+}
+
+
+package() {
+ install -Dm644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+ install -Dm755 "$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm644 "release/config/config.json" -t "$pkgdir/etc/$pkgname"
+ install -Dm755 "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname"
+
+ install -Dm644 completions/bash "$pkgdir/usr/share/bash-completion/completions/$pkgname.bash"
+ install -Dm644 completions/fish "$pkgdir/usr/share/fish/vendor_completions.d/$pkgname.fish"
+ install -Dm644 completions/zsh "$pkgdir/usr/share/zsh/site-functions/_$pkgname"
+
+}
+
+sha512sums="
+fdb72b521181bd3cafd50c78c87ecf0794f63687615ea29d2dab2482fd7ec227d6fd44d91ec7e0ac530bf5f3040de32bd0ac8e39c83aa55daec4cfa01f9bc64f sing-box-1.8.4.tar.gz
+b90e16319d2d2827886219e8f420954060c6e003a88f523595da5f04fe0530f95c3fae89f60dec452a87804f479164dd29b57f1329b928cc3d641fd7ef174284 sing-box.initd
+"
diff --git a/testing/sing-box/sing-box.initd b/testing/sing-box/sing-box.initd
new file mode 100644
index 00000000000..745e059520c
--- /dev/null
+++ b/testing/sing-box/sing-box.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+
+name=$RC_SVCNAME
+description="sing-box service"
+supervisor="supervise-daemon"
+command="/usr/bin/sing-box"
+command_args="-D /var/lib/sing-box -C /etc/sing-box run"
+
+depend() {
+ after net dns
+}
+
+reload() {
+ ebegin "Reloading $RC_SVCNAME"
+ /bin/kill -HUP $MAINPID
+ eend $?
+}
diff --git a/testing/sing-geoip/APKBUILD b/testing/sing-geoip/APKBUILD
new file mode 100644
index 00000000000..3da2b8fe918
--- /dev/null
+++ b/testing/sing-geoip/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Anon <danilagdn.2004@gmail.com>
+# Maintainer: Anon <danilagdn.2004@gmail.com>
+pkgname=sing-geoip
+pkgver=20231212
+pkgrel=0
+pkgdesc="sing-geoip database"
+_repo="SagerNet/$pkgname"
+url="https://github.com/$_repo"
+arch="noarch"
+license="GPL-3.0-or-later"
+source="$pkgver.geoip-cn.db::$url/releases/download/$pkgver/geoip-cn.db
+ $pkgver.geoip.db::$url/releases/download/$pkgver/geoip.db
+ $pkgver.LICENSE::https://raw.githubusercontent.com/$_repo/$pkgver/LICENSE"
+options="!check"
+
+
+package() {
+ install -Dm644 "$srcdir/$pkgver.geoip-cn.db" "$pkgdir/usr/share/$pkgname/geoip-cn.db"
+ install -Dm644 "$srcdir/$pkgver.geoip.db" "$pkgdir/usr/share/$pkgname/geoip.db"
+ install -Dm644 "$srcdir/$pkgver.LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+sha512sums="
+aad59939cfc58f9a5d2970beab7fc31dec83bb9b9c2de692f502d5f0fb5ed2085413e0d4b2bba9d694a6004d31b319054831cf439e358959ecd8d20e8df920c4 20231212.geoip-cn.db
+713101c779f6678f7ac6731303a917489bb642d83b7d1138bb9467743f2619089fd31e2426c022af31d2e6d9d4963bf9cc38c69a269bb24684ffc467bd0dba91 20231212.geoip.db
+5cab2697882973e38835376b3e5f45f5720da2a5d408c442ab8c03b97b2cb69387fe5dd7f00e8d3e7dbc9e34797c120c0444b9abb60aba1728e6661970a12418 20231212.LICENSE
+"
diff --git a/testing/sing-geosite/APKBUILD b/testing/sing-geosite/APKBUILD
new file mode 100644
index 00000000000..a3d32f9e86e
--- /dev/null
+++ b/testing/sing-geosite/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Anon <danilagdn.2004@gmail.com>
+# Maintainer: Anon <danilagdn.2004@gmail.com>
+pkgname=sing-geosite
+pkgver=20231212122459
+pkgrel=0
+pkgdesc="sing-geosite database"
+_repo="SagerNet/$pkgname"
+url="https://github.com/$_repo"
+arch="noarch"
+license="GPL-3.0-or-later"
+source="$pkgver.geosite.db::$url/releases/download/$pkgver/geosite.db
+ $pkgver.LICENSE::https://raw.githubusercontent.com/$_repo/$pkgver/LICENSE"
+options="!check"
+
+
+package() {
+ install -Dm644 "$srcdir/$pkgver.geosite.db" "$pkgdir/usr/share/$pkgname/geosite.db"
+ install -Dm644 "$srcdir/$pkgver.LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+sha512sums="
+cef0320202a37b1ba859554f9b06b255a2bd78cbaa58ec29d69d3767bed7205ad838550814772c20fc52927ab5b55b9e00f9f2e29e8a7b76f5ae1d845f7801b7 20231212122459.geosite.db
+5cab2697882973e38835376b3e5f45f5720da2a5d408c442ab8c03b97b2cb69387fe5dd7f00e8d3e7dbc9e34797c120c0444b9abb60aba1728e6661970a12418 20231212122459.LICENSE
+"
diff --git a/testing/singular/APKBUILD b/testing/singular/APKBUILD
new file mode 100644
index 00000000000..f30018f17d8
--- /dev/null
+++ b/testing/singular/APKBUILD
@@ -0,0 +1,73 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=singular
+pkgver=4.3.2
+pkgrel=2
+pkgdesc="Computer algebra system for polynomial computations"
+url="https://www.singular.uni-kl.de/"
+# s390x: blocked by flint-dev
+arch="all !s390x"
+license="GPL-2.0-only OR GPL-3.0-only"
+depends="python3"
+makedepends="
+ cddlib-dev
+ gmp-dev
+ flint-dev
+ perl
+ "
+source="https://www.singular.uni-kl.de/ftp/pub/Math/Singular/SOURCES/${pkgver//./-}/singular-${pkgver}.tar.gz"
+subpackages="
+ $pkgname-static
+ $pkgname-dev:_dev
+ $pkgname-emacs:_emacs:noarch
+ $pkgname-doc
+ "
+
+build() {
+ export CXXFLAGS="${CXXFLAGS/-Os/-O3}" # gotta go fast
+
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --enable-bigintm-module \
+ --enable-Order-module \
+ --enable-python-module \
+ --enable-gfanlib-module \
+ --enable-polymake-module
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ # Perhaps it is better to get rid of 36mb of HTML and images.
+ rm -rf "$pkgdir"/usr/share/doc
+}
+
+_dev() {
+ pkgdesc="$pkgdesc (development files)"
+ amove usr/bin/libpolys-config
+ amove usr/bin/libsingular-config
+ amove usr/include
+ amove usr/lib/pkgconfig
+ amove usr/lib/libSingular.so
+ amove usr/lib/libfactory.so
+ amove usr/lib/libomalloc.so
+ amove usr/lib/libpolys.so
+ amove usr/lib/libsingular_resources.so
+}
+
+_emacs() {
+ pkgdesc="Emacs completions for singular"
+ amove usr/share/singular/emacs
+}
+
+sha512sums="
+14df5d9c6e983543dc67b1b2237644a5f70d0eeb128f8414732fd8b44d72b038a365cbdd9ec52983999690d4dc8817b02c7ed719c8b6a0851ba8b341c12a182a singular-4.3.2.tar.gz
+"
diff --git a/testing/singularity/APKBUILD b/testing/singularity/APKBUILD
deleted file mode 100644
index f1188284c6c..00000000000
--- a/testing/singularity/APKBUILD
+++ /dev/null
@@ -1,86 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=singularity
-pkgver=3.8.5
-pkgrel=0
-pkgdesc="Application containers focused on reproducibility for scientific computing and HPC world."
-url="https://www.sylabs.io/singularity/"
-# aarch64: segmentation fault during build
-# mips64: fails to build
-# ppc64le: produces a non-PIE suid binary
-# riscv64 blocked by binutils-gold
-arch="all !aarch64 !mips64 !ppc64le !riscv64"
-license="BSD-3-Clause AND BSD-3-Clause-LBNL"
-options="chmod-clean suid !check" # no test suite from upstream
-depends="squashfs-tools"
-makedepends="
- go
- linux-headers
- binutils-gold
- openssl-dev
- libuuid
- util-linux-dev
- libseccomp-dev
- cryptsetup
- "
-subpackages="$pkgname-doc $pkgname-bash-completion::noarch"
-source="https://github.com/hpcng/singularity/releases/download/v$pkgver/singularity-$pkgver.tar.gz"
-builddir="$srcdir/src/github.com/hpcng/$pkgname"
-
-# secfixes:
-# 3.8.5-r0:
-# - CVE-2021-41190
-# - GHSA-77vh-xpmg-72qh
-# 3.7.4-r0:
-# - CVE-2021-32635
-# 3.7.3-r0:
-# - CVE-2021-29136
-# 3.6.4-r0:
-# - CVE-2020-15229
-# 3.6.3-r0:
-# - CVE-2020-25039
-# - CVE-2020-25040
-# 3.6.0-r0:
-# - CVE-2020-13845
-# - CVE-2020-13846
-# - CVE-2020-13847
-# 3.5.2-r0:
-# - CVE-2019-19724
-
-prepare() {
- export GOPATH="$srcdir"
-
- mkdir -p "$(dirname $builddir)"
- mv "$srcdir"/$pkgname-$pkgver "$builddir"/
-
- echo "$pkgver" > "$builddir"/VERSION
- default_prepare
-}
-
-build() {
- export GOPATH="$srcdir"
- export GOBIN="$GOPATH/bin"
-
- ./mconfig \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/infodir \
- --localstatedir=/var
-
- make -C builddir
-}
-
-package() {
- make -C builddir DESTDIR="$pkgdir" install
-
- install -m644 -D -t "$pkgdir/usr/share/doc/$pkgname" README.md
-
- mkdir -p "$pkgdir"/usr/share/bash-completion/completions
- mv "$pkgdir"/etc/bash_completion.d/singularity \
- "$pkgdir"/usr/share/bash-completion/completions
-}
-
-sha512sums="
-857761f47528a841a3cf11b49583ab7e8a2d137703e1826ff194011abba3334ed06859219e0c457f352304e7b18f1c493a8b337cc5df67981eb428c567d0ac5f singularity-3.8.5.tar.gz
-"
diff --git a/testing/sipexer/APKBUILD b/testing/sipexer/APKBUILD
new file mode 100644
index 00000000000..67eebc0a92a
--- /dev/null
+++ b/testing/sipexer/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=sipexer
+pkgver=1.1.0
+pkgrel=5
+pkgdesc="Modern and flexible SIP (RFC3261) command line tool."
+url="https://github.com/miconda/sipexer"
+arch="all"
+license="GPL-3.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/miconda/sipexer/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -o bin/ ./...
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -m755 -D bin/sipexer "$pkgdir"/usr/bin/sipexer
+}
+
+cleanup_srcdir() {
+ go clean -modcache
+ default_cleanup_srcdir
+}
+
+sha512sums="
+0244b2fef077b32dcc5c0c7271d950b737295d66e505ee6396851697466d6905892d250be3afe433b880fb2a9361b9243d99498684484c387bf6789e3e86035e sipexer-1.1.0.tar.gz
+"
diff --git a/testing/sipgrep/APKBUILD b/testing/sipgrep/APKBUILD
index 86997171da7..75d2dd99056 100644
--- a/testing/sipgrep/APKBUILD
+++ b/testing/sipgrep/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname="sipgrep"
pkgver="2.1.0"
-pkgrel=0
+pkgrel=1
pkgdesc="Display and Troubleshoot SIP signaling over IP networks in console"
url="https://www.sipcapture.org/"
arch="all"
diff --git a/testing/siril/APKBUILD b/testing/siril/APKBUILD
new file mode 100644
index 00000000000..8ddcdcaa9bf
--- /dev/null
+++ b/testing/siril/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: duckl1ng <bogdan@sanocki.info>
+pkgname=siril
+pkgver=1.2.1
+pkgrel=2
+pkgdesc="Siril is an astronomical image processing tool"
+url="https://siril.org"
+# s390x, riscv64, ppc64le: no opencv
+arch="all !s390x !riscv64 !ppc64le"
+license="GPL-3.0-or-later"
+makedepends="
+ cfitsio-dev
+ cmake
+ curl-dev
+ exiv2-dev
+ fftw-dev
+ gsl-dev
+ gtk+3.0-dev
+ json-glib-dev
+ libconfig-dev
+ ffms2-dev
+ libheif-dev
+ libraw-dev
+ libunwind-dev
+ meson
+ opencv-dev
+ "
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://free-astro.org/download/siril-$pkgver.tar.bz2
+ lfs64.patch
+ "
+
+build() {
+ abuild-meson . output -Denable-libcurl=yes
+ meson compile -C output
+}
+
+check() {
+ output/src/siril --version
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+ rm "$pkgdir"/usr/lib/librtprocess.a
+}
+
+sha512sums="
+5a23c56f83dc971d86562aa216174abbf690c902093e072f14817d9fff3976cbbbfe4b8848bf8d57882adadcededa7799d47e483b240c44b6b1a6d635bb8452c siril-1.2.1.tar.bz2
+66a0aa9893f0f838aa9d1d23a4af54ffbc0c42b11bcc741231a33a0a1d798d9025639e39c2ce4fb62f2b14534641280222711e1de2973b30a547590fdbb18cb3 lfs64.patch
+"
diff --git a/testing/siril/lfs64.patch b/testing/siril/lfs64.patch
new file mode 100644
index 00000000000..c7249d1c57a
--- /dev/null
+++ b/testing/siril/lfs64.patch
@@ -0,0 +1,41 @@
+upstream: https://gitlab.com/free-astro/siril/-/issues/1241
+
+diff --git a/src/io/avi_pipp/pipp_utf8.h b/src/io/avi_pipp/pipp_utf8.h
+index 33fafc6..f01467f 100644
+--- a/src/io/avi_pipp/pipp_utf8.h
++++ b/src/io/avi_pipp/pipp_utf8.h
+@@ -31,27 +31,15 @@
+ #endif
+
+ // 64-bit fseek for various platforms
+-#ifdef __linux__
+-#define fseek64 fseeko64 // Linux
+-#define ftell64 ftello64 // Linux
+-#elif defined (OS_OSX)
+-#define fseek64 fseeko // OS X
+-#define ftell64 ftello // OS X
+-#elif defined(BSD)
+-#define fseek64 fseeko // DragonFly BSD, FreeBSD, OpenBSD, NetBSD
+-#define ftell64 ftello // DragonFly BSD, FreeBSD, OpenBSD, NetBSD
+-#elif defined (__FreeBSD_kernel__) && defined (__GLIBC__)
+-#define fseek64 fseeko64 // KFreeBSD
+-#define ftell64 ftello64 // KFreeBSD
+-#elif defined (__gnu_hurd__)
+-#define fseek64 fseeko64 // GNU/Hurd
+-#define ftell64 ftello64 // GNU/Hurd
+-#elif defined(__CYGWIN__)
+-#define fseek64 fseeko // CYGWIN
+-#define ftell64 ftello // CYGWIN
+-#else
++#if defined(__GLIBC__) || defined(__gnu_hurd__)
++#define fseek64 fseeko64 // GNU
++#define ftell64 ftello64 // GNU
++#elif defined(_WIN32)
+ #define fseek64 _fseeki64 // Windows
+ #define ftell64 _ftelli64 // Windows
++#else // POSIX
++#define fseek64 fseeko // OS X, DragonFly BSD, FreeBSD, OpenBSD, NetBSD, musl
++#define ftell64 ftello // OS X, DragonFly BSD, FreeBSD, OpenBSD, NetBSD, musl
+ #endif
+
+ #endif // PIPP_UTF8_H
diff --git a/testing/sish/APKBUILD b/testing/sish/APKBUILD
new file mode 100644
index 00000000000..0bf3a2b369a
--- /dev/null
+++ b/testing/sish/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=sish
+pkgver=2.14.0
+pkgrel=1
+pkgdesc="HTTP(S)/WS(S)/TCP Tunnels to localhost using only SSH"
+url="https://github.com/antoniomika/sish"
+# s390x, riscv64: doesn't compile
+arch="all !s390x !riscv64"
+license="MIT"
+makedepends="go"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="https://github.com/antoniomika/sish/archive/refs/tags/v$pkgver/sish-$pkgver.tar.gz
+ sish.initd
+ sish.confd
+ "
+options="!check" # no tests provided by upstream
+
+build() {
+ go build -o sish
+}
+
+package() {
+ install -Dm755 sish "$pkgdir"/usr/bin/sish
+ install -Dm644 config.example.yml "$pkgdir"/etc/sish/config.yml
+
+ install -Dm755 "$srcdir"/sish.initd "$pkgdir"/etc/init.d/sish
+ install -Dm644 "$srcdir"/sish.confd "$pkgdir"/etc/conf.d/sish
+}
+
+sha512sums="
+ec477cc270c1077df4cbba5ab0b32ada56aaec48c0044b611dda6b3af1c641b6189072d4b6c20d21f12a5dc331b514a8d85d8ab6866282d76ebc1a39982e42b4 sish-2.14.0.tar.gz
+8d810e48e3106babdce734e4f83249c62de5b562c7b1c50a33914c426b5406f958d3b5868f68af1f1f766142b5cd1ef60f19457f059ff6f1985cae6001d79398 sish.initd
+4b1e752dcd49ce7d8f145ad0b8bc3ea5a86dc322dc61048364a7c36386dfb21ea8b243d41bebc3db96c9c490f6b6e7e006536fe4ebfd27078f5b32181b8dd5d4 sish.confd
+"
diff --git a/testing/sish/sish.confd b/testing/sish/sish.confd
new file mode 100644
index 00000000000..176d450be1f
--- /dev/null
+++ b/testing/sish/sish.confd
@@ -0,0 +1,4 @@
+# Configuration file for sish
+
+supervisor=supervise-daemon
+#config_path="/etc/sish/config.yml"
diff --git a/testing/sish/sish.initd b/testing/sish/sish.initd
new file mode 100644
index 00000000000..5c4355ac04b
--- /dev/null
+++ b/testing/sish/sish.initd
@@ -0,0 +1,19 @@
+#!/sbin/openrc-run
+
+command="/usr/bin/sish"
+command_args="--config ${config_path:-/etc/sish/config.yml}"
+command_user="sish:sish"
+command_background=true
+pidfile="/run/$RC_SVCNAME.pid"
+
+output_log="/var/log/sish.log"
+error_log="/var/log/sish.log"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -d -m 0755 -o "$command_user" /var/lib/sish
+ checkpath -f -m 0644 -o "$command_user" "$output_log"
+}
diff --git a/testing/sish/sish.pre-install b/testing/sish/sish.pre-install
new file mode 100644
index 00000000000..4e5b31c4f34
--- /dev/null
+++ b/testing/sish/sish.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S sish 2>/dev/null
+adduser -S -D -H -h /var/lib/sish -s /sbin/nologin -G sish -g sish sish 2>/dev/null
+
+exit 0
diff --git a/testing/skia-sharp/APKBUILD b/testing/skia-sharp/APKBUILD
new file mode 100644
index 00000000000..d4802eb068a
--- /dev/null
+++ b/testing/skia-sharp/APKBUILD
@@ -0,0 +1,185 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=skia-sharp
+pkgver=0_git20230912
+pkgrel=0
+_commit="ced64f6f90cb5349de58e349309d3514cb345c28"
+_buildtools_commit="b138e6ce86ae843c42a1a08f37903207bebcca75"
+_brotli_commit="6d03dfbedda1615c4cba1211f8d81735575209c8"
+_abseil_cpp_commit="cb436cf0142b4cbe47aae94223443df7f82e2920"
+_dng_sdk_commit="c8d0c9b1d16bfda56f15165d39e0ffa360a11123"
+_egl_registry_commit="a0bca08de07c7d7651047bedc0b653cfaaa4f2ae"
+_highway_commit="424360251cdcfc314cfc528f53c872ecd63af0f0"
+_imgui_commit="55d35d8387c15bf0cfd71861df67af8cfbda7456"
+_libavif_commit="f49462dc93784bf34148715eee36ab6697ca0b35"
+_libgav1_commit="0fb779c1e169fe6c229cd1fa9cc6ea6feeb441da"
+_libjxl_commit="a205468bc5d3a353fb15dae2398a101dff52f2d3"
+_libyuv_commit="d248929c059ff7629a85333699717d7a677d8d96"
+_microhttpd_commit="748945ec6f1c67b7efc934ab0808e1d32f2fb98d"
+_oboe_commit="b02a12d1dd821118763debec6b83d00a8a0ee419"
+_opengl_registry_commit="14b80ebeab022b2c78f84a573f01028c96075553"
+_perfetto_commit="93885509be1c9240bc55fa515ceb34811e54a394"
+_piex_commit="bb217acdca1cc0c16b704669dd6f91a1b509c406"
+_vulkanmemoryallocator_commit="7de5cc00de50e71a3aab22dea52fbb7ff4efceb6"
+_vulkan_deps_commit="8a3971e5e9c5cddc437d1cf5e4ac1ed0728d6a49"
+_spirv_cross_commit="12542fc6fc05000e04742daf93892a0b10edbe80"
+_spirv_headers_commit="bdbfd019be6952fd8fa9bd5606a8798a7530c853"
+_spirv_tools_commit="e7c6084fd1d6d6f5ac393e842728d8be309688ca"
+_vello_commit="ef2630ad9c647b90863cb0915701d54725733968"
+_vulkan_headers_commit="9e61870ecbd32514113b467e0a0c46f60ed222c7"
+_vulkan_tools_commit="80b010b1e1b08c1f092fb2bfa337faadf8ea1ba3"
+_wuffs_commit="a0041ac0310b3156b963e2f2bea09245f25ec073"
+pkgdesc="A complete 2D graphic library for drawing Text, Geometries, and Images"
+url="https://github.com/Mis012/skia/tree/with-patches-applied"
+arch="x86_64 aarch64 armv7"
+license="BSD-3-Clause"
+makedepends="
+ expat-dev
+ freetype-dev
+ gn
+ harfbuzz-dev
+ libjpeg-turbo-dev
+ libpng-dev
+ libwebp-dev
+ python3
+ zlib-dev
+ "
+subpackages="$pkgname-dev"
+source="$pkgname-$_commit.tar.gz::https://github.com/Mis012/skia/archive/$_commit.tar.gz
+ https://github.com/google/brotli/archive/$_brotli_commit/brotli-$_brotli_commit.tar.gz
+ https://github.com/abseil/abseil-cpp/archive/$_abseil_cpp_commit/abseil-cpp-$_abseil_cpp_commit.tar.gz
+ dng_sdk-$_dng_sdk_commit.tar.gz::https://android.googlesource.com/platform/external/dng_sdk.git/+archive/$_dng_sdk_commit.tar.gz
+ https://github.com/KhronosGroup/egl-registry/archive/$_egl_registry_commit/egl-registry-$_egl_registry_commit.tar.gz
+ https://github.com/google/highway/archive/$_highway_commit/highway-$_highway_commit.tar.gz
+ https://github.com/ocornut/imgui/archive/$_imgui_commit/imgui-$_imgui_commit.tar.gz
+ https://github.com/AOMediaCodec/libavif/archive/$_libavif_commit/libavif-$_libavif_commit.tar.gz
+ libgav1-$_libgav1_commit.tar.gz::https://chromium.googlesource.com/codecs/libgav1.git/+archive/$_libgav1_commit.tar.gz
+ https://gitlab.com/wg1/jpeg-xl/-/archive/$_libjxl_commit/libjxl-$_libjxl_commit.tar.gz
+ libyuv-$_libyuv_commit.tar.gz::https://chromium.googlesource.com/libyuv/libyuv.git/+archive/$_libyuv_commit.tar.gz
+ microhttpd-$_microhttpd_commit.tar.gz::https://android.googlesource.com/platform/external/libmicrohttpd.git/+archive/$_microhttpd_commit.tar.gz
+ https://github.com/google/oboe/archive/$_oboe_commit/oboe-$_oboe_commit.tar.gz
+ https://github.com/KhronosGroup/opengl-registry/archive/$_opengl_registry_commit/opengl-registry-$_opengl_registry_commit.tar.gz
+ perfetto-$_perfetto_commit.tar.gz::https://android.googlesource.com/platform/external/perfetto.git/+archive/$_perfetto_commit.tar.gz
+ piex-$_piex_commit.tar.gz::https://android.googlesource.com/platform/external/piex.git/+archive/$_piex_commit.tar.gz
+ https://github.com/GPUOpen-LibrariesAndSDKs/vulkanmemoryallocator/archive/$_vulkanmemoryallocator_commit/vulkanmemoryallocator-$_vulkanmemoryallocator_commit.tar.gz
+ vulkan-deps-$_vulkan_deps_commit.tar.gz::https://chromium.googlesource.com/vulkan-deps.git/+archive/$_vulkan_deps_commit.tar.gz
+ https://github.com/KhronosGroup/spirv-cross/archive/$_spirv_cross_commit/spirv-cross-$_spirv_cross_commit.tar.gz
+ https://github.com/KhronosGroup/spirv-headers/archive/$_spirv_headers_commit/spirv-headers-$_spirv_headers_commit.tar.gz
+ https://github.com/KhronosGroup/spirv-tools/archive/$_spirv_tools_commit/spirv-tools-$_spirv_tools_commit.tar.gz
+ https://github.com/linebender/vello/archive/$_vello_commit/vello-$_vello_commit.tar.gz
+ https://github.com/KhronosGroup/vulkan-headers/archive/$_vulkan_headers_commit/vulkan-headers-$_vulkan_headers_commit.tar.gz
+ https://github.com/KhronosGroup/vulkan-tools/archive/$_vulkan_tools_commit/vulkan-tools-$_vulkan_tools_commit.tar.gz
+ https://github.com/google/wuffs-mirror-release-c/archive/$_wuffs_commit/wuffs-$_wuffs_commit.tar.gz
+ "
+# No tests
+options="!check"
+builddir="$srcdir/skia-$_commit"
+
+case "$CARCH" in
+ x86_64) _arch=x64 ;;
+ *) _arch="$CARCH" ;;
+esac
+
+unpack() {
+ local u
+ mkdir -p "$srcdir"
+ for u in $source; do
+ local s="$SRCDEST/$(filename_from_uri $u)"
+ local unpackdir
+ msg "Unpacking $s..."
+ case "$u" in
+ *googlesource.com*) unpackdir="$srcdir/$(basename $s .tar.gz)";;
+ *) unpackdir="$srcdir";;
+ esac
+ mkdir -p "$unpackdir"
+ tar -C "$unpackdir" -zxf "$s"
+ done
+
+}
+
+prepare() {
+ default_prepare
+
+ mkdir -p third_party/externals
+
+ mv "$srcdir"/brotli-$_brotli_commit third_party/externals/brotli
+ mv "$srcdir"/abseil-cpp-$_abseil_cpp_commit third_party/externals/abseil-cpp
+ mv "$srcdir"/dng_sdk-$_dng_sdk_commit third_party/externals/dng_sdk
+ mv "$srcdir"/EGL-Registry-$_egl_registry_commit third_party/externals/egl-registry
+ mv "$srcdir"/highway-$_highway_commit third_party/externals/highway
+ mv "$srcdir"/imgui-$_imgui_commit third_party/externals/imgui
+ mv "$srcdir"/libavif-$_libavif_commit third_party/externals/libavif
+ mv "$srcdir"/libgav1-$_libgav1_commit third_party/externals/libgav1
+ mv "$srcdir"/jpeg-xl-$_libjxl_commit third_party/externals/libjxl
+ mv "$srcdir"/libyuv-$_libyuv_commit third_party/externals/libyuv
+ mv "$srcdir"/microhttpd-$_microhttpd_commit third_party/externals/microhttpd
+ mv "$srcdir"/oboe-$_oboe_commit third_party/externals/oboe
+ mv "$srcdir"/OpenGL-Registry-$_opengl_registry_commit third_party/externals/opengl-registry
+ mv "$srcdir"/perfetto-$_perfetto_commit third_party/externals/perfetto
+ mv "$srcdir"/piex-$_piex_commit third_party/externals/piex
+ mv "$srcdir"/VulkanMemoryAllocator-$_vulkanmemoryallocator_commit third_party/externals/vulkanmemoryallocator
+ mv "$srcdir"/vulkan-deps-$_vulkan_deps_commit third_party/externals/vulkan-deps
+ mv "$srcdir"/SPIRV-Cross-$_spirv_cross_commit third_party/externals/spirv-cross
+ mv "$srcdir"/SPIRV-Headers-$_spirv_headers_commit third_party/externals/spirv-headers
+ mv "$srcdir"/SPIRV-Tools-$_spirv_tools_commit third_party/externals/spirv-tools
+ mv "$srcdir"/vello-$_vello_commit third_party/externals/vello
+ mv "$srcdir"/Vulkan-Headers-$_vulkan_headers_commit third_party/externals/vulkan-headers
+ mv "$srcdir"/Vulkan-Tools-$_vulkan_tools_commit third_party/externals/vulkan-tools
+ mv "$srcdir"/wuffs-mirror-release-c-$_wuffs_commit third_party/externals/wuffs
+}
+
+build() {
+ # Keep this list unindented, gn really doesn't like tabs for indentation
+ gn gen "out/linux/$_arch" --args="
+is_official_build=true
+skia_enable_tools=false
+target_os=\"linux\"
+target_cpu=\"$_arch\"
+skia_use_icu=false
+skia_use_sfntly=false
+skia_use_piex=true
+skia_use_system_harfbuzz=true
+skia_use_system_expat=true
+skia_use_system_freetype2=true
+skia_use_system_libjpeg_turbo=true
+skia_use_system_libpng=true
+skia_use_system_libwebp=true
+skia_use_system_zlib=true
+skia_enable_gpu=true
+extra_cflags=[ \"-DSKIA_C_DLL\", \"-fpermissive\" ]
+linux_soname_version=\"99.9\""
+ ninja -C "out/linux/$_arch" 'SkiaSharp'
+}
+
+package() {
+ install -Dm755 out/linux/$_arch/libSkiaSharp.so.99.9 "$pkgdir"/usr/lib/libSkiaSharp.so.99.9
+ ln -s /usr/lib/libSkiaSharp.so.99.9 "$pkgdir"/usr/lib/libSkiaSharp.so
+}
+
+sha512sums="
+05ae5f783e4190daaf7b7cc19ea36f8d7235238c1f06afb5109c3892801f1634e6da5a00fbca4974719f3ef5758d1e8ad8da641e09baf266aa9ac72f12d3787b skia-sharp-ced64f6f90cb5349de58e349309d3514cb345c28.tar.gz
+9a6ae22a85bcd20b9a1b6c4d51bddc76e9e7461f2e1e144fb0625ed67e6a1c4ea635a75ba8f07b3914bab8de1d319e4c13c815989ca1691ba0215197c385eb08 brotli-6d03dfbedda1615c4cba1211f8d81735575209c8.tar.gz
+765b542bd7c9cf2c8d0f150aaeaae6bb12d4643d314f5b4026139a63b4f2852ae8774bb740f3c8602ab2b49646e194151a344f03237313ab69251dfd931f9874 abseil-cpp-cb436cf0142b4cbe47aae94223443df7f82e2920.tar.gz
+71ff48fe6d18685d7937f0314dcf373d50d9413dd15453c4b04ed11ee06340cc085444d06db6f2161830c2f874c5a0a89d53b0fae4ba5c5e4084072165a97a49 dng_sdk-c8d0c9b1d16bfda56f15165d39e0ffa360a11123.tar.gz
+f07ed88d9b2e73eeb6ff82a811d7fad5d68bebf0a9ccc6c6df7678687b9a769e7be2efe8143be5c97bdbb7666ce76965a260335daa5ae07992c20e309b3b1cef egl-registry-a0bca08de07c7d7651047bedc0b653cfaaa4f2ae.tar.gz
+c9ace7124b56307e47c9d220d9cb5aed698509245cc0502f7fa1d8df14c61aaf0a2ef442ce36576193953bb7e39df214ad72e1cbc720d121920bec9e430a3d50 highway-424360251cdcfc314cfc528f53c872ecd63af0f0.tar.gz
+8075f78d06ac5cbc0ebc525fc070fe323306d4798d02cbce0b6610da4afb11a12a6e242bb818af7b3efcfc97262d2e6b638fef65cf974698448992872e47e692 imgui-55d35d8387c15bf0cfd71861df67af8cfbda7456.tar.gz
+463640fc5868f8d1201a17be5ddb61c65b1ea3513e19093aa1b678281cae4fae873b50a05a7e57846e640c3fe1fd0d297a712dc92f6c4697e98464ca7c675a58 libavif-f49462dc93784bf34148715eee36ab6697ca0b35.tar.gz
+6964a6be9eecf06ac67e56f3b2e88aade18335140c53726f3385161d279d2dcc96bfb5bff8e9e77858326e2ce26bec2e21682ab46ad001a6e1f789bb373a7ee3 libgav1-0fb779c1e169fe6c229cd1fa9cc6ea6feeb441da.tar.gz
+0ec9b93c6c2c82538b768c167e591cb7db5b0557f484fffc6b3c4a2eeff05c97e6278002ae83fb021dda26a75904fc65a21c006675ebbf9836c1379d45ac6280 libjxl-a205468bc5d3a353fb15dae2398a101dff52f2d3.tar.gz
+6085a21c2b6c428166a4fe030ac05cde79d1f39f16f15267a58c639bf8e23f95e8380f73dcb7714ec0a2002db348b9af3b4a5ca783f5b4a5db5f7aeb66abcd2e libyuv-d248929c059ff7629a85333699717d7a677d8d96.tar.gz
+e3ed6de28fc27f7fae01d0f39a95817246be7658e2233e2b8c7933bec834a48508cddd445fa881755c064e8e3e0ae00d9b9c169382b904e8e19c8a2f8597a5f5 microhttpd-748945ec6f1c67b7efc934ab0808e1d32f2fb98d.tar.gz
+fd99870179bef97db6d0007652505e1555cdb14f4cad1c582e449cc3b61cdaf5a3de395e9569d6d367927a16aad6a277771db223a99f14192d56b3fa30615c30 oboe-b02a12d1dd821118763debec6b83d00a8a0ee419.tar.gz
+6f7bde922561aa495d93ec274009724feaeb3e03e619adfaa7ce520e5d11a83f93462ccc2f2e9c4aa387ace61912196a1ecfd90cdc5672f088ba1b0c3e62b53d opengl-registry-14b80ebeab022b2c78f84a573f01028c96075553.tar.gz
+a903210bf29bf1d15c54e69cd6734a0b4983cba8629a0ac2229270fe67765fb21cc94008ba6f8f865106007dc7923cf7b937b654113dbac92d1850760c3f571f perfetto-93885509be1c9240bc55fa515ceb34811e54a394.tar.gz
+5920bd7a0c1e9bc2d4e231b92587910b30022d5d35e3b0c64c057c2eff49d9f9f380a4f3a733a9f4833d38ffd2d9d0dc559502df5e14df720f2b6453a5e0f42a piex-bb217acdca1cc0c16b704669dd6f91a1b509c406.tar.gz
+185c3964f9d0f46a3fb30637c4b83ce1015efcc1bca62b6ed0fdbf67d4c72ede792ba71411552a183d9bc4f74c72ecc1dc78941300594d4a5bac9dcdc2661c30 vulkanmemoryallocator-7de5cc00de50e71a3aab22dea52fbb7ff4efceb6.tar.gz
+bcf10b8a4dc9bcbf066e0d198e89bd4c67c0640ba69bb06aedeb27de468011eb7ab4656d2d93749f22f9221eb6a71938bf59c084cb88c4b39aa6d0f584c9043f vulkan-deps-8a3971e5e9c5cddc437d1cf5e4ac1ed0728d6a49.tar.gz
+2112eda633b08dd6a6d17ad54d299a301e7b0d3a0c8f27e7073eb98c4ba5c9375fe60cc838b263daf4ad535533192acbcd28a30860cdf99849834b3e6a421b19 spirv-cross-12542fc6fc05000e04742daf93892a0b10edbe80.tar.gz
+95a11bb56ffcad5faff738d58d9c7cbb146462268e5a7a8ba4e19fb18c35f881f59bd35354d46ae7569f41b9f3eebe44add0f62f6f607d7a8db0edb80ec79241 spirv-headers-bdbfd019be6952fd8fa9bd5606a8798a7530c853.tar.gz
+c8bcba6e3d913a8b6004f121bb505bed1f4ecba3fcf0eeb29507c8f0a5d4995f38e75194f1ff9721cf254530d7f88356c79055e478dcca2d145513a29866c68c spirv-tools-e7c6084fd1d6d6f5ac393e842728d8be309688ca.tar.gz
+b599c509f624546d18143c0058402c678f6db5fd0436940a4ed0fe609e93552a0426ad7112bcf8bc5a55f25b68cf94dde66c6aa5c66515cecb85cd5a387902a1 vello-ef2630ad9c647b90863cb0915701d54725733968.tar.gz
+d627cb32bbd4b8886c7eb92686156f6c79e4d40cba2b9e05583241853b153ea6456fc567635f14cf8a70a9e153a9f288516c06b7194b52151d552d9122c4e694 vulkan-headers-9e61870ecbd32514113b467e0a0c46f60ed222c7.tar.gz
+d4cd1b1d78023df2fc31f18a277b22714850eb7639c0a5525e123316060691ac3b7a48c7a04141cec79f5df0a82c24b4f2bcb7d67a36e48195f01ba6efd8d1eb vulkan-tools-80b010b1e1b08c1f092fb2bfa337faadf8ea1ba3.tar.gz
+6b72af9439d2acf7052f23d87588a027b457a04ba99d1573de1f9f85898607a01832cabbd5b8ddf5f5e91eaa5757933181e03dbf2aa6679f514b99889a019b45 wuffs-a0041ac0310b3156b963e2f2bea09245f25ec073.tar.gz
+"
diff --git a/testing/skim/APKBUILD b/testing/skim/APKBUILD
deleted file mode 100644
index 50ce1e9ebb2..00000000000
--- a/testing/skim/APKBUILD
+++ /dev/null
@@ -1,97 +0,0 @@
-# Contributor: Chloe Kudryavtsev <toast@toast.cafe>
-# Maintainer: Chloe Kudryavtsev <toast@toast.cafe>
-pkgname=skim
-pkgver=0.9.4
-pkgrel=0
-pkgdesc="Fuzzy finder in rust"
-url="https://github.com/lotabout/skim"
-arch="all !s390x !mips !mips64 !riscv64" # limited by rust/cargo
-license="MIT"
-makedepends="cargo"
-options="net"
-subpackages="
- $pkgname-doc
- $pkgname-tmux::noarch
- $pkgname-vim-plugin:vim:noarch
- $pkgname-bash-completion
- $pkgname-zsh-completion
- $pkgname-bash-keybinds:bashkey:noarch
- $pkgname-fish-keybinds:fishkey:noarch
- $pkgname-zsh-keybinds:zshkey:noarch
- "
-source="https://github.com/lotabout/skim/archive/v$pkgver/skim-$pkgver.tar.gz"
-
-export CARGO_HOME="$srcdir"/cargo
-
-case "$CARCH" in
- # tests on 32-bit architectures are disabled in upstream CI
- armhf|armv7|x86) options="!check";;
-esac
-
-build() {
- cargo build \
- --release \
- --verbose
-}
-
-check() {
- cargo test --all \
- --release \
- --verbose
-}
-
-package() {
- install -Dm755 target/release/sk bin/sk-tmux -t "$pkgdir"/usr/bin
-
- install -Dm644 man/man1/sk.1 -t "$pkgdir"/usr/share/man/man1/
- install -Dm644 man/man1/sk-tmux.1 -t "$pkgdir"/usr/share/man/man1/
-
- install -Dm644 plugin/skim.vim -t "$pkgdir"/usr/share/vim/vimfiles/plugin
-
- install -Dm644 shell/completion.bash "$pkgdir"/usr/share/bash-completion/completions/sk
- install -Dm644 shell/completion.zsh "$pkgdir"/usr/share/zsh/site-functions/_sk
-
- install -Dm644 shell/key-bindings.* -t "$pkgdir"/usr/share/"$pkgname"
-}
-
-vim() {
- depends=""
- pkgdesc="Vim plugin for $pkgname"
- install_if="$pkgname=$pkgver-r$pkgrel vim"
-
- amove usr/share/vim
-}
-
-tmux() {
- depends="bash"
- pkgdesc="tmux launcher for $pkgname"
- install_if="$pkgname=$pkgver-r$pkgrel tmux"
-
- amove usr/bin/sk-tmux
-}
-
-bashkey() {
- depends=""
- pkgdesc="Bash key-bindings for $pkgname"
- install_if="$pkgname=$pkgver-r$pkgrel bash"
-
- amove usr/share/skim/key-bindings.bash
-}
-
-fishkey() {
- depends=""
- pkgdesc="Fish key-bindings for $pkgname"
- install_if="$pkgname=$pkgver-r$pkgrel fish"
-
- amove usr/share/skim/key-bindings.fish
-}
-
-zshkey() {
- depends=""
- pkgdesc="Zsh key-bindings for $pkgname"
- install_if="$pkgname=$pkgver-r$pkgrel zsh"
-
- amove usr/share/skim/key-bindings.zsh
-}
-
-sha512sums="3e2fd67bb9638d184901106c7c49ec5e81d4388f6c22e9c7eddbbfd16f115fc5beab2d0d6031fee20e439a7a4220efd373dd1ddd82121ce88fc822a6dab5d601 skim-0.9.4.tar.gz"
diff --git a/testing/skribilo/0001-tests-Determine-current-test-runner-before-test-end-.patch b/testing/skribilo/0001-tests-Determine-current-test-runner-before-test-end-.patch
deleted file mode 100644
index 8144d7c8262..00000000000
--- a/testing/skribilo/0001-tests-Determine-current-test-runner-before-test-end-.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-From 3024b43d6de447281d45150ea41bf096ddd210b2 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?S=C3=B6ren=20Tempel?= <soeren+git@soeren-tempel.net>
-Date: Fri, 18 Jun 2021 06:34:51 +0200
-Subject: [PATCH] tests: Determine current test runner before test-end is
- called
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-According to SRFI 64 test-end will remove the test-runner installed by
-the matching test-begin. As such, it seems that test-runner-current will
-return #f, if called after test-end. Since all skribilo test cases call
-test-runner-current after test-end, the following exception is currently
-thrown:
-
- Backtrace:
- In ice-9/boot-9.scm:
- 1752:10 6 (with-exception-handler _ _ #:unwind? _ # _)
- In unknown file:
- 5 (apply-smob/0 #<thunk 7fe66b7d4ee0>)
- In ice-9/boot-9.scm:
- 724:2 4 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
- In ice-9/eval.scm:
- 619:8 3 (_ #(#(#<directory (guile-user) 7fe66b7cec80>)))
- In ice-9/boot-9.scm:
- 2835:4 2 (save-module-excursion _)
- 4380:12 1 (_)
- In /home/soeren/src/aports/testing/skribilo/src/skribilo-0.9.5/tests/ast.test:
- 116:9 0 (_)
-
-Thereby always causing all tests, as executed by `make test`, to fail. I
-am not too familiar with guile so it is unclear to me how the current
-code ever worked. My proposed patch stores the current failure count in
-a local variable before invoking test-end, thereby fixing the exception
-above.
-
-While at it, I also replaced the test-runner-current procedure with
-test-runner-get since the latter throws an exception if the test runner
-isn't set (making similar issues easier to debug in the future).
-Furthermore, I replaced the comparison with zero with the zero?
-predicate for readability.
----
- tests/ast.test | 7 +++----
- tests/engines/info.test | 7 +++----
- tests/location.test | 7 +++----
- tests/resolve.test | 7 +++----
- 4 files changed, 12 insertions(+), 16 deletions(-)
-
-diff --git a/tests/ast.test b/tests/ast.test
-index 8b8db48..5258eb9 100644
---- a/tests/ast.test
-+++ b/tests/ast.test
-@@ -110,7 +110,6 @@
- (equal? (map markup-ident lst)
- '("0" "1" "2"))))
-
--(test-end "ast")
--
--
--(exit (= (test-runner-fail-count (test-runner-current)) 0))
-+(let ((failures (test-runner-fail-count (test-runner-get))))
-+ (test-end "ast")
-+ (exit (zero? failures)))
-diff --git a/tests/engines/info.test b/tests/engines/info.test
-index ea3f17e..72108cd 100644
---- a/tests/engines/info.test
-+++ b/tests/engines/info.test
-@@ -86,10 +86,9 @@
- (equal? prev "c")
- (not next))))))
-
--(test-end "info")
--
--
--(exit (= (test-runner-fail-count (test-runner-current)) 0))
-+(let ((failures (test-runner-fail-count (test-runner-get))))
-+ (test-end "info")
-+ (exit (zero? failures)))
-
- ;; Local Variables:
- ;; coding: utf-8
-diff --git a/tests/location.test b/tests/location.test
-index ae6c462..f09fe20 100644
---- a/tests/location.test
-+++ b/tests/location.test
-@@ -86,10 +86,9 @@
- (section :title \"baz\" ; 5
- (p [Paragraph.]))))") ; 6
-
--(test-end "location")
--
--
--(exit (= (test-runner-fail-count (test-runner-current)) 0))
-+(let ((failures (test-runner-fail-count (test-runner-get))))
-+ (test-end "location")
-+ (exit (zero? failures)))
-
- ;; Local Variables:
- ;; eval: (put 'call-with-code 'scheme-indent-function 1)
-diff --git a/tests/resolve.test b/tests/resolve.test
-index 1241aab..0f8bcb2 100644
---- a/tests/resolve.test
-+++ b/tests/resolve.test
-@@ -213,7 +213,6 @@
- (ch* (document-lookup-node doc "c")))
- (eq? ch ch*))))
-
--(test-end "resolve")
--
--
--(exit (= (test-runner-fail-count (test-runner-current)) 0))
-+(let ((failures (test-runner-fail-count (test-runner-get))))
-+ (test-end "resolve")
-+ (exit (zero? failures)))
diff --git a/testing/skribilo/APKBUILD b/testing/skribilo/APKBUILD
deleted file mode 100644
index 6ff9a189648..00000000000
--- a/testing/skribilo/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
-pkgname=skribilo
-pkgver=0.9.5
-pkgrel=2
-pkgdesc="A free document production tool for structured documents"
-url="https://www.nongnu.org/skribilo"
-arch="all"
-license="GPL-3.0-or-later"
-depends="guile guile-reader imagemagick"
-makedepends="guile-dev"
-# Don't split -dev: https://gitlab.alpinelinux.org/alpine/aports/-/issues/12783
-subpackages="$pkgname-doc"
-options="!strip" # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907061
-source="https://download.savannah.nongnu.org/releases/skribilo/skribilo-$pkgver.tar.gz
- 0001-tests-Determine-current-test-runner-before-test-end-.patch"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-22dff4523039792bd3662f9f1302569bfb83d92b7106ae22b8926e264b00932ea50ab753bb83aed499d0aa651d0fe99fdfd28b83956ec3ad84b81078391fe014 skribilo-0.9.5.tar.gz
-c2265ffec762ea99a4e99bb793e3814fe9d93092c3b117f8d471cb48feaf05d93c5492a3e228df7bf23be6f45b9d074f5ae462f286ca986df02f3e9869b9ccfa 0001-tests-Determine-current-test-runner-before-test-end-.patch
-"
diff --git a/testing/slick-greeter/APKBUILD b/testing/slick-greeter/APKBUILD
index 730e55f7da2..0e6f9124030 100644
--- a/testing/slick-greeter/APKBUILD
+++ b/testing/slick-greeter/APKBUILD
@@ -1,15 +1,18 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=slick-greeter
-pkgver=1.5.3
-pkgrel=0
+pkgver=2.0.3
+pkgrel=1
pkgdesc="a slick-looking LightDM greeter"
url="https://github.com/linuxmint/slick-greeter"
-arch="all !s390x !mips64 !riscv64" # limited by lightdm
+# s390x: mainframe
+arch="all !s390x"
license="GPL-3.0-only"
-makedepends="automake autoconf libtool libcanberra-dev lightdm-dev gnome-common vala"
+makedepends="automake autoconf intltool libtool libcanberra-dev lightdm-dev vala xapp-dev"
subpackages="$pkgname-doc $pkgname-lang"
-source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/slick-greeter/archive/refs/tags/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/slick-greeter/archive/refs/tags/$pkgver.tar.gz
+ get-rid-of-gnome-common.patch
+ "
options="!check" # No tests
prepare() {
@@ -33,5 +36,6 @@ package() {
}
sha512sums="
-212c8cddb93516fc54121d97e9bc0edaa0d225482ff14e7b9f6eb70280a13d9cb0842a7a9049284d12b791ed3af2019a62d55d06cf226c6d50225717df410b57 slick-greeter-1.5.3.tar.gz
+db6424e68f547d95fb67c835a8e2a842232cadf92fbded7a329c9e4ed8fd9588ee0914c92a7f11b97d28859e3a8ef2885b6b4cea73214d5693074397edbb7279 slick-greeter-2.0.3.tar.gz
+1060172686538ad92f58abb7be80cdc99a6fd914e16700c4ea4d95a99abf09f82a05181961961732adce1d505787f93aa73d744e12c8e019e084fef5b28f8081 get-rid-of-gnome-common.patch
"
diff --git a/testing/slick-greeter/get-rid-of-gnome-common.patch b/testing/slick-greeter/get-rid-of-gnome-common.patch
new file mode 100644
index 00000000000..5b626a9c5f3
--- /dev/null
+++ b/testing/slick-greeter/get-rid-of-gnome-common.patch
@@ -0,0 +1,84 @@
+From 52a1b5970534790becd977894545cacee92d2552 Mon Sep 17 00:00:00 2001
+From: Jakko3 <jahau@rocketmail.com>
+Date: Mon, 12 Feb 2024 20:02:51 +0100
+Subject: [PATCH] Get rid of gnome-common build dependency (#231)
+
+"gnome-common" is deprecated. Replace the autogen.sh script by the
+template suggested at the gnome-common migration page [1], adding
+the mentioned aclocal line.
+
+[1] https://wiki.gnome.org/Projects/GnomeCommon/Migration
+---
+ autogen.sh | 45 ++++++++++++++++++++++++++++++++-------------
+ debian/control | 1 -
+ 2 files changed, 32 insertions(+), 14 deletions(-)
+
+diff --git a/autogen.sh b/autogen.sh
+index 7ac1a76..efc3e5f 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -1,20 +1,39 @@
+ #!/bin/sh
+ # Run this to generate all the initial makefiles, etc.
++test -n "$srcdir" || srcdir=$(dirname "$0")
++test -n "$srcdir" || srcdir=.
+
+-srcdir=`dirname $0`
+-test -z "$srcdir" && srcdir=.
++olddir=$(pwd)
+
+-REQUIRED_AUTOMAKE_VERSION=1.7
++cd $srcdir
+
+-(test -f $srcdir/configure.ac \
+- && test -d $srcdir/src) || {
+- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+- echo " top-level slick-greeter directory"
+- exit 1
++(test -f configure.ac) || {
++ echo "*** ERROR: Directory '$srcdir' does not look like the top-level project directory ***"
++ exit 1
+ }
+
+-which gnome-autogen.sh || {
+- echo "You need to install gnome-common from the GNOME CVS"
+- exit 1
+-}
+-. gnome-autogen.sh
++# shellcheck disable=SC2016
++PKG_NAME=$(autoconf --trace 'AC_INIT:$1' configure.ac)
++
++if [ "$#" = 0 -a "x$NOCONFIGURE" = "x" ]; then
++ echo "*** WARNING: I am going to run 'configure' with no arguments." >&2
++ echo "*** If you wish to pass any to it, please specify them on the" >&2
++ echo "*** '$0' command line." >&2
++ echo "" >&2
++fi
++
++aclocal --install || exit 1
++autoreconf --verbose --force --install || exit 1
++
++cd "$olddir"
++if [ "$NOCONFIGURE" = "" ]; then
++ $srcdir/configure "$@" || exit 1
++
++ if [ "$1" = "--help" ]; then
++ exit 0
++ else
++ echo "Now type 'make' to compile $PKG_NAME" || exit 1
++ fi
++else
++ echo "Skipping configure process."
++fi
+diff --git a/debian/control b/debian/control
+index 8bff7bd..5340245 100644
+--- a/debian/control
++++ b/debian/control
+@@ -6,7 +6,6 @@ Standards-Version: 4.6.1
+ Build-Depends: debhelper-compat (= 12),
+ at-spi2-core,
+ dbus-x11,
+- gnome-common,
+ fonts-ubuntu,
+ libcanberra-dev,
+ libgtk-3-dev,
diff --git a/testing/slidge-matridge/APKBUILD b/testing/slidge-matridge/APKBUILD
new file mode 100644
index 00000000000..6270d673dfe
--- /dev/null
+++ b/testing/slidge-matridge/APKBUILD
@@ -0,0 +1,67 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=slidge-matridge
+pkgver=0_git20240208
+_gitrev=c1f6bbf94971f4b6e378e7959c717da7cf41d842
+pkgrel=1
+pkgdesc="Feature-rich Matrix to XMPP puppeteering gateway"
+url="https://slidge.im/matridge/"
+arch="noarch"
+license="AGPL-3.0-or-later"
+depends="
+ py3-async-lru
+ py3-atomicwrites
+ py3-beautifulsoup4
+ py3-cachetools
+ py3-matrix-nio
+ py3-olm
+ py3-peewee
+ py3-slidge-style-parser
+ slidge
+ "
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ "
+checkdepends="
+ py3-pytest
+ py3-pytest-asyncio
+ py3-xmldiff
+ "
+pkgusers="slidge"
+pkggroups="slidge"
+subpackages="$pkgname-openrc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~nicoco/matridge/archive/$_gitrev.tar.gz
+ matridge.conf
+ "
+builddir="$srcdir/matridge-$_gitrev"
+
+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
+
+ install -dm750 -o slidge -g slidge \
+ "$pkgdir"/etc/slidge
+ install -Dm640 -o slidge -g slidge \
+ "$srcdir"/matridge.conf \
+ -t "$pkgdir"/etc/slidge/
+
+ install -dm755 "$pkgdir"/etc/init.d
+ ln -s slidge "$pkgdir"/etc/init.d/slidge.matridge
+}
+
+sha512sums="
+23d0ca3574812c62ffcbee111499eb04ac0d54115ee619c121e48251780c1b4f6d9bdc668f2e00af5d1fc4fe85cdd35bc5c7a08a4c6e134298cf018e59fe1fc6 slidge-matridge-0_git20240208.tar.gz
+e5f5c7f1f0ad2c96d04f0f2eb8eaea856db99f0cab92a05b080bce83a2fea4848a0573ff5e0490dee92c5d6d66dd1201f8ff2ab5c5717ae11f2ff7a193ac8a2d matridge.conf
+"
diff --git a/testing/slidge-matridge/matridge.conf b/testing/slidge-matridge/matridge.conf
new file mode 100644
index 00000000000..d62b8ecee6d
--- /dev/null
+++ b/testing/slidge-matridge/matridge.conf
@@ -0,0 +1,8 @@
+# See /usr/share/doc/slidge/examples/slidge-example.ini
+# from the slidge-doc subpackage,
+# https://slidge.im/core/admin/config/#common-config
+# and https://slidge.im/matridge/config.html for more info
+
+legacy-module=matridge
+secret=CHANGE-TO-SOMETHING-SAFE
+jid=matridge.example.com
diff --git a/testing/slidge/APKBUILD b/testing/slidge/APKBUILD
new file mode 100644
index 00000000000..8d7cadc4f6c
--- /dev/null
+++ b/testing/slidge/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=slidge
+pkgver=0.1.0
+pkgrel=1
+pkgdesc="XMPP puppeteering gateway framework"
+url="https://slidge.im/"
+arch="noarch"
+license="AGPL-3.0-or-later"
+depends="
+ py3-aiohttp
+ py3-blurhash
+ py3-configargparse
+ py3-magic
+ py3-numpy
+ py3-pickle-secure
+ py3-pillow
+ py3-qrcode
+ py3-slixmpp
+ "
+makedepends="
+ py3-gpep517
+ py3-poetry-core
+ "
+checkdepends="
+ py3-pytest
+ py3-pytest-asyncio
+ py3-xmldiff
+ "
+install="$pkgname.pre-install"
+pkgusers="slidge"
+pkggroups="slidge"
+subpackages="$pkgname-doc $pkgname-openrc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~nicoco/slidge/archive/v$pkgver.tar.gz
+ slidge.initd
+ slidge.confd
+ common.conf.example
+ "
+builddir="$srcdir/$pkgname-v$pkgver"
+
+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 --log-level WARNING
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+
+ install -dm750 -o slidge -g slidge \
+ "$pkgdir"/etc/slidge \
+ "$pkgdir"/etc/slidge/conf.d \
+ "$pkgdir"/var/lib/slidge \
+ "$pkgdir"/var/log/slidge
+
+ install -Dm640 -o slidge -g slidge -t "$pkgdir"/etc/slidge/conf.d/ \
+ "$srcdir"/common.conf.example
+
+ install -Dm644 -t "$pkgdir"/usr/share/doc/$pkgname/examples/ \
+ docs/source/admin/examples/ejabberd.yaml \
+ docs/source/admin/examples/prosody.cfg.lua \
+ dev/confs/*
+
+ install -Dm755 "$srcdir"/slidge.initd "$pkgdir"/etc/init.d/slidge
+ install -Dm644 "$srcdir"/slidge.confd "$pkgdir"/etc/conf.d/slidge
+}
+
+sha512sums="
+68124fa307cde0b6c79471d1674e94aa73a6fcdf4009cf1715dcce761bbdd346c808c84737a57083c0551ca7b2dd29de21caf9c14bff15171743bed93ff40e12 slidge-0.1.0.tar.gz
+a0a9f2578060dac366dc5198dfd6481f869dc225ba7da0bfaf9213382f7e08fdebe965418ba287dce60a0e1b01433ce8430de52574b2f16b335059383147eb76 slidge.initd
+27dac3c86b047012c4c835cffb497ad8aa059a69d03b6fa0ca3368222a3fcb929f181c8aac3edf25d2081d32f06673256d22f17ad3c55cae87493533a5115053 slidge.confd
+a67660cb0f1be38187affa998c0ba41fed5f8b48da82dea28849b8ead855fd4ab244952020ae2509a313f0bb0e6590cb2a4fdc2d6f264919fbf9430be9bf6cc4 common.conf.example
+"
diff --git a/testing/slidge/common.conf.example b/testing/slidge/common.conf.example
new file mode 100644
index 00000000000..0086446a948
--- /dev/null
+++ b/testing/slidge/common.conf.example
@@ -0,0 +1,7 @@
+# More info at https://slidge.im/core/admin/config
+
+admins=root@example.com
+upload-service=upload.example.com
+user-jid-validator=.*@example.com
+server=localhost
+port=5347
diff --git a/testing/slidge/slidge.confd b/testing/slidge/slidge.confd
new file mode 100644
index 00000000000..9a2fa05f233
--- /dev/null
+++ b/testing/slidge/slidge.confd
@@ -0,0 +1,17 @@
+# Configuration for /etc/init.d/slidge
+
+# Specify the location of the INI config file for a Slidge gateway.
+# If an initscript called slidge.matridge is symlinked to slidge,
+# the default config file will be /etc/slidge/matridge.conf
+#SLIDGE_CONFIG="/etc/slidge/slidge.conf"
+
+# If an initscript called slidge.matridge is symlinked to slidge,
+# the default log file will be /var/log/slidge/matridge.log
+#output_log=/var/log/slidge/slidge.log"
+#error_log=/var/log/slidge/slidge.log"
+
+# Command-line options for running /usr/bin/slidge
+#command_args=""
+
+# Comment out to disable process supervisor
+supervisor=supervise-daemon
diff --git a/testing/slidge/slidge.initd b/testing/slidge/slidge.initd
new file mode 100644
index 00000000000..113a521b184
--- /dev/null
+++ b/testing/slidge/slidge.initd
@@ -0,0 +1,37 @@
+#!/sbin/openrc-run
+
+description="XMPP puppeteering gateway"
+
+instance_name="${RC_SVCNAME#*.}"
+instance_name="${instance_name:-slidge}"
+
+: ${SLIDGE_CONFIG:="/etc/slidge/$instance_name.conf"}
+export SLIDGE_CONFIG
+
+: "${output_log:=/var/log/slidge/$instance_name.log}"
+: "${error_log:=/var/log/slidge/$instance_name.log}"
+
+command=/usr/bin/slidge
+command_background="yes"
+command_user="slidge:slidge"
+pidfile="/run/${RC_SVCNAME}.pid"
+directory="/var/lib/slidge"
+
+required_files="$SLIDGE_CONFIG"
+
+depend() {
+ need localmount net
+ after firewall jabber-server
+ use dns
+}
+
+start_pre() {
+ [ -n "$output_log" ] && checkpath -q -f -m 0640 \
+ -o "$command_user" "$output_log"
+
+ [ -n "$error_log" ] && checkpath -q -f -m 0640 \
+ -o "$command_user" "$error_log"
+
+ checkpath -q -f -m 0640 -o "$command_user" "$SLIDGE_CONFIG"
+ checkpath -q -d -m 0750 -o "$command_user" "$directory"
+}
diff --git a/testing/slidge/slidge.pre-install b/testing/slidge/slidge.pre-install
new file mode 100644
index 00000000000..4af15823aa2
--- /dev/null
+++ b/testing/slidge/slidge.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S slidge 2>/dev/null
+adduser -S -D -H \
+ -h /var/lib/slidge \
+ -s /sbin/nologin \
+ -G slidge \
+ -g "Slidge XMPP puppeteering gateway" \
+ slidge 2>/dev/null
+
+exit 0
diff --git a/testing/sloccount/APKBUILD b/testing/sloccount/APKBUILD
index c209ce837ab..0da1116025d 100644
--- a/testing/sloccount/APKBUILD
+++ b/testing/sloccount/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: Lucas Ramage <ramage.lucas@protonmail.com>
pkgname=sloccount
pkgver=2.26
-pkgrel=1
+pkgrel=3
pkgdesc="Tool for counting physical Source Lines of Code (SLOC)"
url="https://dwheeler.com/sloccount"
arch="all"
license="GPL-2.0-or-later"
-makedepends="flex"
+makedepends="flex perl"
subpackages="$pkgname-doc"
source="https://dwheeler.com/sloccount/sloccount-$pkgver.tar.gz"
@@ -21,10 +21,13 @@ check() {
}
package() {
+ mkdir -p "$pkgdir"/usr/bin
make PREFIX=/usr \
INSTALL_DIR="$pkgdir/usr/bin" \
DOC_DIR="$pkgdir/usr/share/doc/$pkgname" \
MAN_DIR="$pkgdir/usr/share/man" \
install
}
-sha512sums="ed6ab315a56dbdc86c654b94e790c9ea9e2dcad0db26b63c0973c33eb7fa634b4ade0a1f3c6ccfd5172ea95f648c1dd3b0ae2575b0aa44b3fec708c24a6aca54 sloccount-2.26.tar.gz"
+sha512sums="
+ed6ab315a56dbdc86c654b94e790c9ea9e2dcad0db26b63c0973c33eb7fa634b4ade0a1f3c6ccfd5172ea95f648c1dd3b0ae2575b0aa44b3fec708c24a6aca54 sloccount-2.26.tar.gz
+"
diff --git a/testing/slop/APKBUILD b/testing/slop/APKBUILD
deleted file mode 100644
index 887e21a0a97..00000000000
--- a/testing/slop/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Samuel Hunter <samuelhunter1024@gmail.com>
-# Maintainer: Samuel Hunter <samuelhunter1024@gmail.com>
-pkgname=slop
-pkgver=7.6
-pkgrel=1
-pkgdesc="Application that queries for a selection from the user and prints the region to stdout"
-url="https://github.com/naelstrof/slop"
-arch="all"
-license="MIT"
-makedepends="cmake icu-dev mesa-dev glew-dev glu-dev libice-dev libsm-dev
- libx11-dev libxext-dev libxrender-dev glm-dev"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
-source="$pkgname-$pkgver.tar.gz::https://github.com/naelstrof/slop/archive/v$pkgver.tar.gz"
-options="!check" # No tests
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- $CMAKE_CROSSOPTS .
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-d1abc50cad124cfb11e9b57c38c824efb2ece3dffce8e54e451ce4adc4a7ad441c6171b7df5d1c8dfa66c875a12cf07b206ba3b87229c0e5f2ddf744d7922fc3 slop-7.6.tar.gz
-"
diff --git a/testing/slrn/APKBUILD b/testing/slrn/APKBUILD
deleted file mode 100644
index 0e80a11c5eb..00000000000
--- a/testing/slrn/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Steffen Lange <steffen@stelas.de>
-pkgname=slrn
-pkgver=1.0.3
-pkgrel=5
-pkgdesc="An open source text-based news client"
-url="http://www.slrn.org/"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="openssl-dev slang-dev ncurses-dev"
-subpackages="$pkgname-doc"
-source="http://jedsoft.org/releases/slrn/slrn-${pkgver}a.tar.bz2
- terminfo.patch"
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --enable-setgid-code \
- --with-slrnpull \
- --with-ssl \
- --enable-spoilers
- make
-}
-
-package() {
- make -j1 DESTDIR="$pkgdir" install
- install -Dm644 doc/slrn.rc "$pkgdir"/etc/slrnrc
-}
-
-sha512sums="11cef2dfe41f441af15acc22fb675cf607e932f0dd6d4a998e51ecda05c9a50d7abf10a3e693ffc857ad77e09634f460404e4d5b289169e7bbffdaf5d6d565a3 slrn-1.0.3a.tar.bz2
-2a1ec6e07bbf025047ad398c64f3ecab2652558d480140ad7d0223d0813690f7f8a40d76d1664c2fec33cb0534619d1caa3a7328e89f806db8d12eb68aaf58e3 terminfo.patch"
diff --git a/testing/slrn/terminfo.patch b/testing/slrn/terminfo.patch
deleted file mode 100644
index 18ba7b45334..00000000000
--- a/testing/slrn/terminfo.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Search /etc/terminfo where Alpine Linux installs a few of its terminfo files
-
---- a/configure
-+++ b/configure
-@@ -8561,6 +8561,7 @@
- MISC_TERMINFO_DIRS=""
- fi
- JD_Terminfo_Dirs="$MISC_TERMINFO_DIRS \
-+ /etc/terminfo \
- /usr/lib/terminfo \
- /usr/share/terminfo \
- /usr/share/lib/terminfo \
diff --git a/testing/slurm/APKBUILD b/testing/slurm/APKBUILD
index 5e9c351ea9a..997602db7f0 100644
--- a/testing/slurm/APKBUILD
+++ b/testing/slurm/APKBUILD
@@ -1,39 +1,27 @@
# Contributor: prspkt <prspkt@protonmail.com>
# Maintainer: prspkt <prspkt@protonmail.com>
pkgname=slurm
-pkgver=0.4.3
+pkgver=0.4.4
pkgrel=0
pkgdesc="Yet another network load monitor"
url="https://github.com/mattthias/slurm"
arch="all"
options="!check" # no upstream/available test-suite
license="GPL-2.0-or-later"
-makedepends="cmake linux-headers ncurses-dev"
+makedepends="meson linux-headers ncurses-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mattthias/slurm/archive/upstream/$pkgver.tar.gz
- fix-includes.patch
- fix-bufsize.patch"
-
+source="$pkgname-$pkgver.tar.gz::https://github.com/mattthias/slurm/archive/upstream/$pkgver.tar.gz"
builddir="$srcdir/$pkgname-upstream-$pkgver"
build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
-
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- $CMAKE_CROSSOPTS
- make -C build
+ abuild-meson . output
+ meson compile -C output
}
package() {
- make -C build DESTDIR="$pkgdir" install
- install -Dm644 slurm.1 "$pkgdir"/usr/share/man/man1/slurm.1
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-sha512sums="de67d661fbad564f4a3a8f94f1209d466e11a8094b79c25e0beb1b2d07ad680fe2c6f832dc0f8c3a85f7f2d0d02363b4842cbca58ba9d30ca8d7b3133ecc64c9 slurm-0.4.3.tar.gz
-f6cf0d23c9b311b7b9b2384f00a751d091304f518caf8d4882bbf15c95ea5724e8e1c90b55f175d8781cd1edc917bf65ec09f8cf1c7665c2cb1412b0a5f8cba3 fix-includes.patch
-6211306f2e6787cc8c4f4e02e4af840003db6b90f32b6a7191e019300a00e460c8a16b13e2ad24c0f51bd5af7de9f7d85ede44b6f4de3d1c8544f9deacb29890 fix-bufsize.patch"
+sha512sums="
+5a54d004e18a27ead40140f0b5d1bf4db773d2d12a1d8358993944e0a51db8598353e330e114851b90125f09fd8d5ebfb50d2be362e85ad50e7c39ce6aa6bcc1 slurm-0.4.4.tar.gz
+"
diff --git a/testing/slurm/fix-bufsize.patch b/testing/slurm/fix-bufsize.patch
deleted file mode 100644
index f9adc1d9bf7..00000000000
--- a/testing/slurm/fix-bufsize.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/src/linux.c
-+++ b/src/linux.c
-@@ -68,11 +68,11 @@
-
- /* do not parse the first two lines as they only contain static garbage */
- fseek(proc_net_dev, 0, SEEK_SET);
-- fgets(buffer, BUFSIZ-1, proc_net_dev);
-- fgets(buffer, BUFSIZ-1, proc_net_dev);
-+ fgets(buffer, BUFSIZE-1, proc_net_dev);
-+ fgets(buffer, BUFSIZE-1, proc_net_dev);
-
- interfacefound = 0;
-- while (fgets(buffer, BUFSIZ-1, proc_net_dev) != NULL)
-+ while (fgets(buffer, BUFSIZE-1, proc_net_dev) != NULL)
- {
- /* find the device name and substitute ':' with '\0' */
- ptr = buffer;
diff --git a/testing/slurm/fix-includes.patch b/testing/slurm/fix-includes.patch
deleted file mode 100644
index 9e933ffc509..00000000000
--- a/testing/slurm/fix-includes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/os.h
-+++ b/os.h
-@@ -177,7 +177,7 @@
- #elif defined (__linux__) /* L I N U X */
- #include <stdio.h>
- #include <sys/param.h>
--#include <sys/sysctl.h>
-+#include <linux/sysctl.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <unistd.h>
-@@ -195,8 +195,8 @@
- #include <netinet/in.h>
- #include <net/if.h>
- #include <arpa/inet.h>
--#include <net/ppp_defs.h>
--#include <net/if_ppp.h>
-+#include <linux/ppp_defs.h>
-+#include <linux/if_ppp.h>
- #elif defined (__Solaris__) /* S O L A R I S */
- #include <stdio.h>
- #define NO_CURSES_E 1
diff --git a/testing/smlsharp/APKBUILD b/testing/smlsharp/APKBUILD
new file mode 100644
index 00000000000..d4855ad8a5c
--- /dev/null
+++ b/testing/smlsharp/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Hazem <hazem-alpine@riseup.net>
+# Maintainer: Hazem <hazem-alpine@riseup.net>
+pkgname=smlsharp
+pkgver=4.0.0
+pkgrel=1
+pkgdesc="A new programming language in the Standard ML family"
+url="https://smlsharp.github.io"
+arch="x86_64"
+license="MIT"
+_llvmver=14
+depends="massivethreads-dev llvm$_llvmver"
+makedepends="gmp-dev xz llvm$_llvmver-dev yajl chrpath"
+source="https://github.com/smlsharp/smlsharp/releases/download/v$pkgver/smlsharp-$pkgver.tar.gz
+ llvm14.patch
+ "
+subpackages="$pkgname-doc"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-llvm=/usr/lib/llvm$_llvmver \
+ --with-incompatible-llvm
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ chrpath -d src/compiler/smlsharp
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+d3c37c2c1ae4cdf75e96f7a50ae37d74b689e66f1c4db2ad9ba11ec9f5d71af37ff91a3d8d93012ba155d8674bb3c62aeec1bb4437ca8b66fbcbd958ecdf9c4d smlsharp-4.0.0.tar.gz
+c222b41db552e523d61404f9ec1bf71a37f3b6a6212b9a2e0f4c7df7efea850aa68cb7dc0a5de10fce967b4228129a4504dda0471ab4445eeb780808acc1e875 llvm14.patch
+"
diff --git a/testing/smlsharp/llvm14.patch b/testing/smlsharp/llvm14.patch
new file mode 100644
index 00000000000..a80e6be41b3
--- /dev/null
+++ b/testing/smlsharp/llvm14.patch
@@ -0,0 +1,18 @@
+partly taken from https://github.com/smlsharp/smlsharp/commit/351e863ae30b66af10158557f6869e2531944304
+--
+diff --git a/src/llvm/main/smlsharp_gc.cpp b/src/llvm/main/smlsharp_gc.cpp
+index 17bbfd3..0081e49 100644
+--- a/src/llvm/main/smlsharp_gc.cpp
++++ b/src/llvm/main/smlsharp_gc.cpp
+@@ -8,7 +8,11 @@
+
+ #include <llvm/Config/llvm-config.h>
+ #include <llvm/CodeGen/AsmPrinter.h>
++#if LLVM_VERSION_MAJOR >= 13
++#include <llvm/IR/GCStrategy.h>
++#else
+ #include <llvm/CodeGen/GCStrategy.h>
++#endif
+ #include <llvm/CodeGen/GCMetadata.h>
+ #include <llvm/CodeGen/GCMetadataPrinter.h>
+ #include <llvm/MC/MCStreamer.h>
diff --git a/testing/smplxmpp/APKBUILD b/testing/smplxmpp/APKBUILD
new file mode 100644
index 00000000000..6c812c049b7
--- /dev/null
+++ b/testing/smplxmpp/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=smplxmpp
+pkgver=0.9.3
+pkgrel=1
+pkgdesc="Simple XMPP command line client"
+url="https://codeberg.org/tropf/smplxmpp"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ argp-standalone
+ cmake
+ gloox-dev
+ gnutls-dev
+ libidn-dev
+ samurai
+ spdlog-dev
+ zlib-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/tropf/smplxmpp/archive/v$pkgver.tar.gz
+ argp.patch
+ fmt10.patch
+ "
+builddir="$srcdir/$pkgname"
+options="!check" # checks require an xmpp server
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+cafbdb164fe6ab1b75bfd2d8244a3a8785b44e7bc6b1c88d0db941d1e04a9f067bd10f0539245efec61fbf74ef057349d27c451f19acd8fbba5ad10a73aaf45d smplxmpp-0.9.3.tar.gz
+df1abad52e9845712dd4f3fbd8f333e73e46c5a3bc0721364d9672a865bf605ede946d7853c5051549f20d26611bd6383557243334cdee9c382fd0325d96102b argp.patch
+35f016dcc53dd0a6abcfaf332907b8f54b9cd21b5ecdfa4ee7740a724c9ada80a58a0fae9b342637332df2c8b2c58168d82e9ccd1d9c03e30ae8271043e75b7c fmt10.patch
+"
diff --git a/testing/smplxmpp/argp.patch b/testing/smplxmpp/argp.patch
new file mode 100644
index 00000000000..a6ab7ea7d1b
--- /dev/null
+++ b/testing/smplxmpp/argp.patch
@@ -0,0 +1,24 @@
+diff --git a/bin/CMakeLists.txt b/bin/CMakeLists.txt
+index a0d7e5b..1829b6d 100644
+--- a/bin/CMakeLists.txt
++++ b/bin/CMakeLists.txt
+@@ -29,6 +29,7 @@ if (SMPLXMPP_BUILD_SMPLXMPP_NL)
+ target_compile_features(smplxmpp-nl PUBLIC cxx_std_11)
+
+ target_link_libraries(smplxmpp-nl PUBLIC
++ argp
+ smplxmpp_util
+ )
+
+diff --git a/cmake/smplxmpp_core.cmake b/cmake/smplxmpp_core.cmake
+index 2a7b16e..680bce7 100644
+--- a/cmake/smplxmpp_core.cmake
++++ b/cmake/smplxmpp_core.cmake
+@@ -22,6 +22,7 @@ target_compile_options(smplxmpp_core PRIVATE -Werror -Wall -Wextra)
+
+ target_link_libraries(smplxmpp_core PRIVATE "${SMPLXMPP_SPDLOG_LIBS}")
+ target_link_libraries(smplxmpp_core PUBLIC
++ argp
+ smplxmpp_util
+ gloox
+ )
diff --git a/testing/smplxmpp/fmt10.patch b/testing/smplxmpp/fmt10.patch
new file mode 100644
index 00000000000..4680680a1e5
--- /dev/null
+++ b/testing/smplxmpp/fmt10.patch
@@ -0,0 +1,43 @@
+--- a/src/chat.cc
++++ b/src/chat.cc
+@@ -60,7 +60,7 @@
+ }
+
+ void SmplXmppHandlerChat::handleMessage(const Message& msg, MessageSession* session) {
+- spdlog::trace("incoming message (type: {}) from '{}' (subject: '{}', thread: '{}'): '{}'", msg.subtype(), msg.from().full(), msg.subject(), msg.thread(), msg.body());
++ spdlog::trace("incoming message (type: {}) from '{}' (subject: '{}', thread: '{}'): '{}'", fmt::underlying(msg.subtype()), msg.from().full(), msg.subject(), msg.thread(), msg.body());
+
+ if (teardownHandshakeStarted()) {
+ spdlog::debug("received msg after shutdown has been initiated. ignoring.");
+@@ -116,7 +116,7 @@
+ }
+
+ void SmplXmppHandlerChat::handleMessageEvent(const JID& from, MessageEventType event) {
+- spdlog::trace("received message event: {} from: '{}'", event, from.full());
++ spdlog::trace("received message event: {} from: '{}'", fmt::underlying(event), from.full());
+ }
+
+ void SmplXmppHandlerChat::handleMessageSession(MessageSession* session) {
+@@ -165,6 +165,6 @@
+
+ void SmplXmppHandlerChat::sendSingleMsg(const MsgPrototype& msg) {
+ Message msgToSend(Message::MessageType::Chat, JID(msg.jid), msg.body);
+- spdlog::trace("sending message to '{}' (type: '{}'): '{}'", msg.jid, msgToSend.subtype(), msg.body);
++ spdlog::trace("sending message to '{}' (type: '{}'): '{}'", msg.jid, fmt::underlying(msgToSend.subtype()), msg.body);
+ j.send(msgToSend);
+ }
+--- a/src/xmpp.cc
++++ b/src/xmpp.cc
+@@ -231,9 +231,9 @@
+
+ void SmplXmppHandlerBase::handleLog(LogLevel level, LogArea area, const std::string& message) {
+ switch (level) {
+- case LogLevel::LogLevelDebug: spdlog::trace("[area {}] {}", area, message); break;
+- case LogLevel::LogLevelWarning: spdlog::warn("[area {}] {}", area, message); break;
+- case LogLevel::LogLevelError: spdlog::error("[area {}] {}", area, message); break;
++ case LogLevel::LogLevelDebug: spdlog::trace("[area {}] {}", fmt::underlying(area), message); break;
++ case LogLevel::LogLevelWarning: spdlog::warn("[area {}] {}", fmt::underlying(area), message); break;
++ case LogLevel::LogLevelError: spdlog::error("[area {}] {}", fmt::underlying(area), message); break;
+ }
+ }
+
diff --git a/testing/snac/APKBUILD b/testing/snac/APKBUILD
new file mode 100644
index 00000000000..174f6b2ba79
--- /dev/null
+++ b/testing/snac/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=snac
+pkgver=2.51
+pkgrel=0
+pkgdesc="Simple, minimalistic ActivityPub instance written in portable C"
+url="https://codeberg.org/grunfink/snac2"
+arch="all"
+license="MIT"
+makedepends="curl-dev openssl-dev"
+install="$pkgname.pre-install"
+pkgusers="snac"
+pkggroups="snac"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/grunfink/snac2/archive/$pkgver.tar.gz
+ snac.initd
+ "
+builddir="$srcdir/snac2"
+options="!check" # no test suite
+
+build() {
+ make
+}
+
+package() {
+ make install \
+ PREFIX="$pkgdir"/usr \
+ PREFIX_MAN="$pkgdir"/usr/share/man
+
+ install -dm750 -o snac -g snac "$pkgdir"/var/lib/snac
+
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+
+ install -Dm755 "$srcdir"/snac.initd "$pkgdir"/etc/init.d/snac
+}
+
+sha512sums="
+c1c755ab91999b34f5ffe7606796ca1ad8453b439aadf457611642c73c653e41d6bf4462185673aa991d3ec1be1f10da80b077d0384bb7a0e5571aa98e90461e snac-2.51.tar.gz
+8451eb37e5135b926a1a36b7f69d63cb76aa617ca3f9b9167f2284223582dcf66723ee67c51c6abc2d1605c41678d26f67ec6cb1bf920c61379dbf63f7852e1a snac.initd
+"
diff --git a/testing/snac/snac.initd b/testing/snac/snac.initd
new file mode 100644
index 00000000000..7b4f3684710
--- /dev/null
+++ b/testing/snac/snac.initd
@@ -0,0 +1,83 @@
+#!/sbin/openrc-run
+
+name=snac
+description="Snac is an ActivityPub server written in portable C"
+
+: ${SNAC_DATA:="/var/lib/snac/data"}
+
+extra_stopped_commands="setup purge"
+extra_commands="adduser deluser resetpwd"
+description_setup="Setup the database at ${SNAC_DATA}"
+description_purge="Purge old data from ${SNAC_DATA}"
+description_adduser="Add a new user to ${SNAC_DATA}"
+description_deluser="Delete a user from ${SNAC_DATA}"
+description_resetpwd="Reset password of user in ${SNAC_DATA}"
+
+command="/usr/bin/snac"
+command_args="httpd ${SNAC_DATA}"
+command_background="yes"
+command_user="snac:snac"
+pidfile="/run/${RC_SVCNAME}.pid"
+error_log="/var/log/snac.log"
+
+depend() {
+ need localmount net
+ after firewall
+}
+
+ensure_db_exists() {
+ if [ ! -f "${SNAC_DATA}/server.json" ]; then
+ setup || return 1
+ fi
+
+ return 0
+}
+
+start_pre() {
+ ensure_db_exists || return 1
+
+ checkpath -f -m 0640 -o "$command_user" "$error_log"
+ checkpath -d -m 0750 -o "$command_user" "${SNAC_DATA}"
+}
+
+setup() {
+ snac_exec init
+}
+
+purge() {
+ ensure_db_exists || return 1
+
+ ebegin "Purging old data from ${SNAC_DATA}"
+ snac_exec purge
+ eend $?
+}
+
+adduser() {
+ ensure_db_exists || return 1
+
+ snac_exec adduser
+}
+
+deluser() {
+ ensure_db_exists || return 1
+
+ read -p "Username: " username
+
+ snac_exec deluser $username
+}
+
+resetpwd() {
+ ensure_db_exists || return 1
+
+ read -p "Username: " username
+
+ snac_exec resetpwd $username
+}
+
+snac_exec() {
+ local subcmd="$1"
+ shift
+
+ start-stop-daemon --exec "$command" --user "$command_user" \
+ -- $subcmd "${SNAC_DATA}" $*
+}
diff --git a/testing/snac/snac.pre-install b/testing/snac/snac.pre-install
new file mode 100644
index 00000000000..74884f92567
--- /dev/null
+++ b/testing/snac/snac.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S snac 2>/dev/null
+adduser -S -D -H \
+ -h /var/lib/snac \
+ -s /sbin/nologin \
+ -G snac \
+ -g "Snac minimalistic ActivityPub instance" \
+ snac 2>/dev/null
+
+exit 0
diff --git a/testing/snapper/APKBUILD b/testing/snapper/APKBUILD
index 18b8e8b5497..ba7c130bf2e 100644
--- a/testing/snapper/APKBUILD
+++ b/testing/snapper/APKBUILD
@@ -1,44 +1,59 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=snapper
-pkgver=0.9.1
-pkgrel=1
+pkgver=0.10.7
+pkgrel=0
pkgdesc="Manage filesystem snapshots and allow undo of system modifications"
url="http://snapper.io"
-arch="all !armhf !armv7" # Fails to build on 32bit arches, see #12617
+arch="all"
license="GPL-2.0-or-later"
-options="!check" # 5 tests failing - https://github.com/openSUSE/snapper/issues/526
depends="dbus"
-makedepends="acl-dev autoconf automake bash boost-dev
- bsd-compat-headers btrfs-progs-dev json-c-dev
- dbus-dev docbook-xsl e2fsprogs-dev gettext-dev
- libtool libxml2-dev libxslt lvm2-dev ncurses-dev
+makedepends="
+ acl-dev
+ autoconf
+ automake
+ boost-dev
+ bsd-compat-headers
+ btrfs-progs-dev
+ dbus-dev
+ docbook-xsl
+ e2fsprogs-dev
+ gettext-dev
+ json-c-dev
+ libtool
+ libxml2-dev
+ libxslt
+ lvm2-dev
+ ncurses-dev
+ "
+subpackages="
+ $pkgname-dev
+ $pkgname-doc
+ $pkgname-lang
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
"
-subpackages="$pkgname-dev $pkgname-doc $pkgname-lang"
source="$pkgname-$pkgver.tar.gz::https://github.com/openSUSE/snapper/archive/v$pkgver.tar.gz
- musl-stdout_stderr.patch
- musl-_nl_msg_cat_cntr.patch
miss-tinfo-link-to-ncurses.patch
- drift-file-path.patch"
+ drift-file-path.patch
+ skip-locale-tests.patch
+ statvfs64.patch
+ "
prepare() {
default_prepare
- sed -e 's|etc/dbus-1/system.d|usr/share/dbus-1/system.d|' \
- -i data/Makefile.am
-
- autoreconf -fi
# rename cron scripts
sed -i -e 's@suse.de-@@g' scripts/Makefile.am
# copy cron scripts to /etc/periodic/* instead of /etc/cron.*
sed -i -e 's/cron\./periodic\//g' scripts/Makefile.am
# fix config location in cron scripts
- sed -i -e 's@/etc/sysconfig/@/etc/conf.d/@g' scripts/snapper-daily
- sed -i -e 's@/etc/sysconfig/@/etc/conf.d/@g' scripts/snapper-hourly
+ sed -i -e 's@/etc/sysconfig/@/etc/snapper/@g' scripts/snapper-daily
+ sed -i -e 's@/etc/sysconfig/@/etc/snapper/@g' scripts/snapper-hourly
+ autoreconf -fvi
}
build() {
- export CXXFLAGS="$CXXFLAGS -DMUSL_LIBC=1"
export LDFLAGS="$LDFLAGS -lintl"
./configure \
--build=$CBUILD \
@@ -50,9 +65,7 @@ build() {
--disable-pam \
--disable-zypp \
--disable-ext4 \
- --disable-systemd \
- JSONC_CFLAGS="-I/usr/include/json-c" \
- JSONC_LIBS="-ljson-c"
+ --disable-systemd
make
}
@@ -62,13 +75,13 @@ check() {
package() {
make DESTDIR="$pkgdir" install
- install -Dm644 data/sysconfig.snapper "$pkgdir"/etc/conf.d/$pkgname
+ install -Dm644 data/sysconfig.snapper "$pkgdir"/etc/snapper/$pkgname
}
sha512sums="
-447a024570bbb834adfc789aa5b12b037838fcf50f8d26f87a9a10b250541a589be3b24b01f990625021b8ff5b2eade0f2eda5e992f76113c62bd5e8a27c1293 snapper-0.9.1.tar.gz
-5baf722996706146b62fd0a0d9b321496fb122e700af2d3dfd8272de2678f29c79bc2b1a03634b04aab3f226632dfdebc5674d3128737e85bcc71461e951d95b musl-stdout_stderr.patch
-6f3324700cc697b29b2fe14e42eb765b4474bf7e582d8ea53122fe66e128d17584489c8e2adbfecc8aac37c683a9d4dc2a821e3ea0143334cd8b899164ba708c musl-_nl_msg_cat_cntr.patch
+bf098c941735b60554ff0711fa43b30ef3634e01178f5ee8ad44c65b757c3366bd5bf568cef3a787b2ddcc2fc63090056109250480e6bd360ebf27a8343373b8 snapper-0.10.7.tar.gz
3d264f7f9156342d5bad2ac78db9c8a30ea1ac25648245631a47d1495bb6610c6b39c28a5013741063df3c08f459388c0467caaedde5ad7cebb433eb432b7a70 miss-tinfo-link-to-ncurses.patch
c2470da8a5d62a37babdacd361051bae8fb3e1be157cb7eec1563a40825d41702f6f10bb619ffcab2ea8d7407405a543b0c47997c70a744c20cc3135c0532c1f drift-file-path.patch
+16f9991b0688c959977876e39e8ed9214627d3b3eacdf01a8aaef9540fc8add7d7c4f50abc4225183495acb161a4c6e5f6ee3790bf685fc845a6782647269a53 skip-locale-tests.patch
+dc77db919fc4bd64929e784d09c4a6ed50530b6a88b3a26f4ea341f09e71dbd74e07d1e9fea37f85305d0f251a5c302e1dbb700084d04a16dc2e7687ecc83815 statvfs64.patch
"
diff --git a/testing/snapper/musl-_nl_msg_cat_cntr.patch b/testing/snapper/musl-_nl_msg_cat_cntr.patch
deleted file mode 100644
index 9c50becaaef..00000000000
--- a/testing/snapper/musl-_nl_msg_cat_cntr.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-There is no _nl_msg_cat_cntr in musl libc and optimizations
-based upon its unchanged value are not possible.
-
---- a/snapper/Regex.cc
-+++ b/snapper/Regex.cc
-@@ -22,7 +22,9 @@
- #include <stdexcept>
- #include "snapper/Regex.h"
-
-+#if defined(__GLIBC__)
- extern int _nl_msg_cat_cntr;
-+#endif
-
-
- namespace snapper
-@@ -40,7 +42,9 @@
- regerror(errcode, &rx, error, esize);
- throw std::runtime_error(string("Regex compilation error: ") + error);
- }
-+#if defined(__GLIBC__)
- my_nl_msg_cat_cntr = _nl_msg_cat_cntr;
-+#endif
- rm = new regmatch_t[nm];
- }
-
-@@ -55,11 +59,15 @@
- bool
- Regex::match (const string& str, int eflags) const
- {
-+#if defined(__GLIBC__)
- if (my_nl_msg_cat_cntr != _nl_msg_cat_cntr) {
-+#endif
- regfree (&rx);
- regcomp (&rx, pattern.c_str (), cflags);
-+#if defined(__GLIBC__)
- my_nl_msg_cat_cntr = _nl_msg_cat_cntr;
- }
-+#endif
-
- last_str = str;
-
diff --git a/testing/snapper/musl-stdout_stderr.patch b/testing/snapper/musl-stdout_stderr.patch
deleted file mode 100644
index 1ed34b53104..00000000000
--- a/testing/snapper/musl-stdout_stderr.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-In musl libc stdout and stderr are macros, thus we need to
-undefine them to be able to use SystemCmd::stdout() and ::stderr()
-members without renaming them - which may be a better choice.
-
---- a/snapper/SystemCmd.h 2015-08-30 10:59:53.740184303 +0200
-+++ b/snapper/SystemCmd.h 2015-08-30 11:02:34.229187677 +0200
-@@ -32,6 +32,8 @@
- #include <list>
- #include <boost/noncopyable.hpp>
-
-+#undef stdout
-+#undef stderr
-
- namespace snapper
- {
diff --git a/testing/snapper/skip-locale-tests.patch b/testing/snapper/skip-locale-tests.patch
new file mode 100644
index 00000000000..273b1890e00
--- /dev/null
+++ b/testing/snapper/skip-locale-tests.patch
@@ -0,0 +1,13 @@
+diff --git a/testsuite/Makefile.am b/testsuite/Makefile.am
+index ccb84d3..5aaecff 100644
+--- a/testsuite/Makefile.am
++++ b/testsuite/Makefile.am
+@@ -7,7 +7,7 @@ AM_CPPFLAGS = -I$(top_srcdir) $(DBUS_CFLAGS)
+ LDADD = ../snapper/libsnapper.la ../dbus/libdbus.la -lboost_unit_test_framework
+
+ check_PROGRAMS = sysconfig-get1.test dirname1.test basename1.test \
+- equal-date.test dbus-escape.test cmp-lt.test humanstring.test uuid.test \
++ equal-date.test dbus-escape.test uuid.test \
+ table.test table-formatter.test csv-formatter.test json-formatter.test \
+ getopts.test scan-datetime.test root-prefix.test range.test limit.test
+
diff --git a/testing/snapper/statvfs64.patch b/testing/snapper/statvfs64.patch
new file mode 100644
index 00000000000..4f69e869ce8
--- /dev/null
+++ b/testing/snapper/statvfs64.patch
@@ -0,0 +1,15 @@
+--- a/snapper/FileUtils.cc
++++ b/snapper/FileUtils.cc
+@@ -387,9 +387,9 @@
+ std::pair<unsigned long long, unsigned long long>
+ SDir::statvfs() const
+ {
+- struct statvfs64 fsbuf;
+- if (fstatvfs64(dirfd, &fsbuf) != 0)
+- SN_THROW(IOErrorException(sformat("statvfs64 failed path:%s errno:%d (%s)", base_path.c_str(),
++ struct statvfs fsbuf;
++ if (fstatvfs(dirfd, &fsbuf) != 0)
++ SN_THROW(IOErrorException(sformat("statvfs failed path:%s errno:%d (%s)", base_path.c_str(),
+ errno, stringerror(errno).c_str())));
+
+ // f_bavail is used (not f_bfree) since df seems to do the
diff --git a/testing/snapraid/APKBUILD b/testing/snapraid/APKBUILD
index 716afea8288..388e7e17393 100644
--- a/testing/snapraid/APKBUILD
+++ b/testing/snapraid/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Nathan Caldwell <saintdev@gmail.com>
# Maintainer: Nathan Caldwell <saintdev@gmail.com>
pkgname=snapraid
-pkgver=12.0
+pkgver=12.3
pkgrel=0
pkgdesc="A backup program for disk arrays"
url="https://www.snapraid.it"
@@ -34,4 +34,4 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="2a853b4e4a329df399be0ff41eb79691393778017466d885ebe18b5a6128ddc2e88c291775c98b224780b8e97bcfa0d9e6e17a559c6c6eb48cf5c0c603cf8879 snapraid-12.0.tar.gz"
+sha512sums="c1e364326354940abdb27c7d7528f8d2d324bfc926d134be5a7046b1e3ada7703c7c9e3bec3ba4120dcd717e6cb325f2cce4d9387576add4781f6122537a7f1b snapraid-12.3.tar.gz"
diff --git a/testing/sndfile-tools/APKBUILD b/testing/sndfile-tools/APKBUILD
new file mode 100644
index 00000000000..4662369b681
--- /dev/null
+++ b/testing/sndfile-tools/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer:
+pkgname=sndfile-tools
+pkgver=1.5
+pkgrel=1
+pkgdesc="Collection of tools to do interesting things with sound files"
+url="https://libsndfile.github.io/sndfile-tools/"
+arch="all"
+license="GPL-2.0-or-later OR GPL-3.0-or-later"
+makedepends="
+ cairo-dev
+ fftw-dev
+ jack-dev
+ libsamplerate-dev
+ libsndfile-dev
+ "
+checkdepends="bash"
+subpackages="$pkgname-doc"
+source="https://github.com/libsndfile/sndfile-tools/releases/download/$pkgver/sndfile-tools-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+04926a6c489634762efaa787e468ab653990762d5b96ba3cdfca595102c1d5eeb86411c9010d5640b1b3ec2b38d8d9d434fb549c52446e4b88d5b2a1d06a2bc6 sndfile-tools-1.5.tar.bz2
+"
diff --git a/testing/snes9x/APKBUILD b/testing/snes9x/APKBUILD
deleted file mode 100644
index 04a2aba2335..00000000000
--- a/testing/snes9x/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Taner Tas <taner76@gmail.com>
-# Maintainer: Taner Tas <taner76@gmail.com>
-pkgname=snes9x
-pkgver=1.60
-pkgrel=1
-pkgdesc="Super NES Emulator"
-options="!check" # No testsuite
-url="http://www.snes9x.com"
-arch="all"
-license="custom"
-makedepends="
- meson
- glib-dev
- sdl2-dev
- gtk+3.0-dev
- libxrandr-dev
- libepoxy-dev
- wayland-dev
- libxv-dev
- portaudio-dev
- alsa-lib-dev
- libpng-dev
- minizip-dev
- zlib-dev
- "
-subpackages="$pkgname-lang"
-source="$pkgname-$pkgver.tar.gz::https://github.com/snes9xgit/snes9x/archive/$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver/gtk"
-
-build() {
- abuild-meson \
- -Dopengl=true \
- -Dgtk3=true \
- -Dpulseaudio=false \
- . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
- ln -s snes9x-gtk "$pkgdir"/usr/bin/snes9x
-}
-
-sha512sums="840b006a8fbd479fd5ceb2d94af4ef6470c5e27a3e6c8ddb0dffc8d3e51f465669144cd428bfce28b2ed4f68e70d8f252f2d8a2cae602ba797791d7e483c14c9 snes9x-1.60.tar.gz"
diff --git a/testing/snore/APKBUILD b/testing/snore/APKBUILD
new file mode 100644
index 00000000000..5e20367e157
--- /dev/null
+++ b/testing/snore/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=snore
+pkgver=0.3.1
+pkgrel=0
+pkgdesc="sleep with feedback"
+url="https://github.com/bitsmanent/snore"
+arch="all"
+license="MIT"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/bitsmanent/snore/archive/$pkgver.tar.gz"
+options="!check" # No tests
+
+build() {
+ make PREFIX=/usr
+}
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+c48db69d96ead044a48d9e6aefc01986b6d826e5bc6a84426680d6d2086656692b647fbbe25569fd2fe01b032a1a368515ec6a001284f58d2be4ad69a520b397 snore-0.3.1.tar.gz
+"
diff --git a/testing/snowflake/APKBUILD b/testing/snowflake/APKBUILD
new file mode 100644
index 00000000000..6ceee3361fd
--- /dev/null
+++ b/testing/snowflake/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: omni <omni+alpine@hack.org>
+# Maintainer: omni <omni+alpine@hack.org>
+pkgname=snowflake
+pkgver=2.9.2
+pkgrel=1
+pkgdesc="Pluggable Transport for Tor using WebRTC, inspired by Flashproxy"
+url="https://snowflake.torproject.org/"
+license="BSD-3-Clause"
+arch="all !riscv64" # ftbfs
+makedepends="go"
+options="!check" # no test files
+subpackages="$pkgname-doc"
+source="https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/archive/v$pkgver/snowflake-v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ cd "$builddir"/client
+ go build -v .
+
+ cd "$builddir"/proxy
+ go build -v .
+}
+
+package() {
+ install -Dm0755 client/client "$pkgdir"/usr/bin/"$pkgname"-client
+ install -Dm0755 proxy/proxy "$pkgdir"/usr/bin/"$pkgname"-proxy
+ install -Dm0644 doc/snowflake-*.1 -t "$pkgdir"/usr/share/man/man1
+}
+
+sha512sums="
+bfae8be9f7696c5a77129b49e3f874b32ddb62ba82becaa805a9ad94c85b90494baab084f8df133e8d8bbdc21b2285d91df0f72ce1c988632a778ccbf77d1793 snowflake-v2.9.2.tar.gz
+"
diff --git a/testing/so/APKBUILD b/testing/so/APKBUILD
new file mode 100644
index 00000000000..14efe263c86
--- /dev/null
+++ b/testing/so/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=so
+pkgver=0.4.9
+pkgrel=1
+pkgdesc="Terminal interface for Stackoverflow"
+url="https://github.com/samtay/so"
+arch="all"
+license="MIT"
+makedepends="cargo openssl-dev cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/samtay/so/archive/refs/tags/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/so -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+8dbf9841af0198ece0d5bb7cbbee7c4bf985c02c4c0ce6f594d1e3e0e7b39e68db43ad3d2dd2fa0d390098085763e75949cefbc027e7f49271db8dc52b9efa72 so-0.4.9.tar.gz
+"
diff --git a/testing/soapy-bladerf/APKBUILD b/testing/soapy-bladerf/APKBUILD
new file mode 100644
index 00000000000..6d7acbd6581
--- /dev/null
+++ b/testing/soapy-bladerf/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=soapy-bladerf
+pkgver=0.4.1
+pkgrel=0
+pkgdesc="Soapy SDR plugin for the Blade RF"
+url="https://github.com/pothosware/SoapyBladeRF"
+arch="all"
+license="LGPL-2.1-only"
+makedepends="cmake samurai soapy-sdr-dev bladerf-dev"
+source="https://github.com/pothosware/SoapyBladeRF/archive/refs/tags/soapy-bladerf-$pkgver/soapy-bladerf-$pkgver.tar.gz"
+builddir="$srcdir/SoapyBladeRF-soapy-bladerf-$pkgver"
+options="!check" # needs hardware to test
+
+build() {
+ cmake -G Ninja -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+73cd5c56b6f2faa37fb8eb8aca359061fd2da94fb081c1eb60f61894385f5f0175c9e3955835dc38478e513b0fd5a15fd100123be89e4ad62a0b7134557ab73e soapy-bladerf-0.4.1.tar.gz
+"
diff --git a/testing/soapy-hackrf/APKBUILD b/testing/soapy-hackrf/APKBUILD
new file mode 100644
index 00000000000..55984083bd6
--- /dev/null
+++ b/testing/soapy-hackrf/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer:
+pkgname=soapy-hackrf
+pkgver=0.3.4
+pkgrel=2
+pkgdesc="SoapySDR HackRF module"
+url="https://github.com/pothosware/SoapyHackRF"
+options="!check" # no tests
+arch="all"
+license="BSL-1.0"
+makedepends="
+ cmake
+ hackrf-dev
+ samurai
+ soapy-sdr-dev
+ "
+source="https://github.com/pothosware/SoapyHackRF/archive/refs/tags/soapy-hackrf-$pkgver.tar.gz"
+builddir="$srcdir/SoapyHackRF-soapy-hackrf-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+950fc0d2d9b1a5946605d0f7f934a3d92facb6878251e8d9a673384db85e1b776ab27fd3499db11d482d599f78e705b9394b5e1238935d297252ab5acc8fb935 soapy-hackrf-0.3.4.tar.gz
+"
diff --git a/testing/soapy-sdr-remote/APKBUILD b/testing/soapy-sdr-remote/APKBUILD
new file mode 100644
index 00000000000..f77daf5be18
--- /dev/null
+++ b/testing/soapy-sdr-remote/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer:
+pkgname=soapy-sdr-remote
+pkgver=0.5.2
+pkgrel=1
+pkgdesc="Remote control for Soapy SDR"
+url="https://github.com/pothosware/SoapyRemote"
+options="!check" # no tests
+arch="all"
+license="BSL-1.0"
+depends="avahi"
+makedepends="
+ avahi-dev
+ cmake
+ samurai
+ soapy-sdr-dev
+ "
+subpackages="$pkgname-doc $pkgname-openrc"
+source="https://github.com/pothosware/SoapyRemote/archive/refs/tags/soapy-remote-$pkgver.tar.gz
+ soapy-sdr-remote.initd
+ "
+builddir="$srcdir/SoapyRemote-soapy-remote-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ rm -rf "$pkgdir"/usr/lib/systemd
+
+ install -Dm755 "$srcdir"/soapy-sdr-remote.initd \
+ "$pkgdir"/etc/init.d/soapy-sdr-remote
+}
+
+sha512sums="
+55841f248c796a870a81a508cec85962ed821c2abd40438eaee07135cb6dde0bd93e84a3ff709dfeaf26f7f79717197c80c3aad378d62b3e4b232f60c46b0151 soapy-remote-0.5.2.tar.gz
+455839c05ce322d1120244447feb340cbc820fbe8789c0883f2dcac3b4b3f77065438b01d4daecb7b111576317b909de568af7be7bd4f7353b613c33e13008e5 soapy-sdr-remote.initd
+"
diff --git a/testing/soapy-sdr-remote/soapy-sdr-remote.initd b/testing/soapy-sdr-remote/soapy-sdr-remote.initd
new file mode 100644
index 00000000000..1956f481838
--- /dev/null
+++ b/testing/soapy-sdr-remote/soapy-sdr-remote.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="soapy-sdr-remote"
+description="SoapyRemote network server"
+
+command="/usr/bin/SoapySDRServer"
+command_args="--bind"
+
+output_log="/var/log/soapy-sdr-remote.log"
+
+depend() {
+ need avahi-daemon net localmount
+ after firewall
+}
diff --git a/testing/soapy-sdr/APKBUILD b/testing/soapy-sdr/APKBUILD
deleted file mode 100644
index 52a3be4f67d..00000000000
--- a/testing/soapy-sdr/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-pkgname=soapy-sdr
-pkgver=0.8.1
-pkgrel=1
-pkgdesc="Soapy SDR - vendor and platform neutral SDR support library"
-url="https://github.com/pothosware/SoapySDR"
-arch="all"
-license="BSL-1.0"
-makedepends="cmake python3-dev swig"
-subpackages="$pkgname-dev py3-$pkgname:_py3 $pkgname-libs $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pothosware/SoapySDR/archive/soapy-sdr-$pkgver.tar.gz"
-builddir="$srcdir/SoapySDR-soapy-sdr-$pkgver"
-
-build() {
- cmake -B build \
- -DCMAKE_BUILD_TYPE=MinSizeRel \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib
- cmake --build build
-}
-
-check() {
- cmake --build build --target test
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
- mv "$pkgdir"/usr/share/cmake "$pkgdir"/usr/lib
-}
-
-_py3() {
- pkgdesc="$pkgdesc (python modules)"
-
- amove usr/lib/python3.*
-}
-
-sha512sums="
-50c8f1652bf9ca09215f9c4115175427ca7b5338add7591e31ca0e627093c94b73e7cf7f84fa71ff419cc010d3c1263931506c728bbaa00413a7915d56a87787 soapy-sdr-0.8.1.tar.gz
-"
diff --git a/testing/sof-bin/APKBUILD b/testing/sof-bin/APKBUILD
deleted file mode 100644
index e856b0c1709..00000000000
--- a/testing/sof-bin/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Maintainer: Alex Xu (Hello71) <alex_y_xu@yahoo.ca>
-pkgname=sof-bin
-pkgver=1.9.2
-pkgrel=0
-pkgdesc="Sound Open Firmware"
-url="https://github.com/thesofproject/sof-bin"
-arch="x86_64"
-license="custom:BSD"
-options="!check"
-makedepends="libc6-compat alsa-lib" # trigger abuild autodetection
-subpackages="sof-doc:doc sof-firmware:firmware sof-tools:tools"
-source="https://github.com/thesofproject/$pkgname/releases/download/v$pkgver/$pkgname-v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-v$pkgver"
-
-package() {
- depends="sof-firmware sof-tools"
- mkdir -p $pkgdir
-}
-
-doc() {
- mkdir -p $subpkgdir/usr/share/licenses
- install -m644 $builddir/LICENCE.* $builddir/Notice.* $subpkgdir/usr/share/licenses/
-}
-
-firmware() {
- mkdir -p $subpkgdir/usr/lib/firmware/intel
- cp -a $builddir/sof-v$pkgver $subpkgdir/usr/lib/firmware/intel/
- ln -s sof-v$pkgver $subpkgdir/usr/lib/firmware/intel/sof
- cp -a $builddir/sof-tplg-v$pkgver $subpkgdir/usr/lib/firmware/intel/
- ln -s sof-tplg-v$pkgver $subpkgdir/usr/lib/firmware/intel/sof-tplg
-}
-
-tools() {
- depends="libc6-compat" # work around abuild bug
- install -d $subpkgdir/usr/bin
- install -m755 $builddir/tools-v$pkgver/* $subpkgdir/usr/bin/
-}
-
-sha512sums="
-2b4c30a73fa8dece91c54f030b346f31c0500d36de047bd7820ed8eebe7a6cdb56bc374fc0485e5e083d4a3e1dfad7d0c2c39c166b438bf6bd40d68af65aee7e sof-bin-v1.9.2.tar.gz
-"
diff --git a/testing/soju/APKBUILD b/testing/soju/APKBUILD
index 232696046f5..63c9b595a73 100644
--- a/testing/soju/APKBUILD
+++ b/testing/soju/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=soju
-pkgver=0.3.0
-pkgrel=1
+pkgver=0.7.0
+pkgrel=2
pkgdesc="User-friendly IRC bouncer"
url="https://soju.im/"
license="AGPL-3.0"
@@ -11,21 +11,29 @@ pkgusers="$pkgname"
pkggroups="$pkgname"
install="$pkgname.pre-install"
depends="ca-certificates"
-makedepends="go scdoc libcap sqlite-dev"
-subpackages="$pkgname-openrc $pkgname-doc"
+makedepends="go scdoc sqlite-dev"
+subpackages="$pkgname-openrc $pkgname-doc $pkgname-utils"
source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~emersion/soju/archive/v$pkgver.tar.gz
$pkgname.initd
- $pkgname.confd
config.patch
makefile.patch
"
builddir="$srcdir/$pkgname-v$pkgver"
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw -tags=libsqlite3"
-export GOPATH="$srcdir"
+_utils="migrate-db migrate-logs znc-import"
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
make GOFLAGS="$GOFLAGS"
+
+ for util in $_utils; do
+ cd "$builddir"/contrib/$util
+ go build -o "$builddir"/
+ done
}
check() {
@@ -34,19 +42,28 @@ check() {
package() {
make DESTDIR="$pkgdir" PREFIX=/usr install
- setcap cap_net_bind_service=+ep "$pkgdir"/usr/bin/soju
install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
# add additional docs
install -Dm644 -t "$pkgdir"/usr/share/doc/$pkgname doc/*.md
+
+ for util in $_utils; do
+ install -Dm755 $util "$pkgdir"/usr/bin/soju-$util
+ done
+}
+
+utils() {
+ pkgdesc="Utilities for soju"
+
+ for util in $_utils; do
+ amove usr/bin/soju-$util
+ done
}
sha512sums="
-296eac7cc086c953bf2e451b25061da3b77c6d872ca48da98b31bee369b1deeb2672586b3201404fcc567893e1e03a7d9282319f0bb592bb42c54623646d0840 soju-0.3.0.tar.gz
-0740bf74cc0a6da555ad57642be2c4e560a1b1a64e48363a7c2cdf868f656712e63c5a967c4867fcd2dac1fb3a72432e6c167455af188ddebbe1141c3293429a soju.initd
-daca27e5deb5135b406e4160504efa011219147465c2f2b484b92db0aa9174173e37c62d32109937df3d2e8c430625e0ec25956775dd92f7fa1f55b19e0e8a18 soju.confd
-48b0192bc385da4fe8c801612aed6b85accb84b9435f8f590b251bbeb1362567da6676e487ba6535561050a42efa84d9a712dc843482190ccd1483c0e2f12fa8 config.patch
-599a809aa78406bc029ee63b4e7a8e8825972a397626529adce75c38c27f3d2b326335cac287b251344775f8735a9a47c8e35545df33a9d659d3ddac1bb575d5 makefile.patch
+970563b873d872a99eb2f5965d6ef8f138b3f608b484173ad68a97181777199a7427b4439a2ffa2431165fd03cfe422e86257a68f937d8a24368ca239d9666da soju-0.7.0.tar.gz
+1f09a8d7eea73d5d81cdcad8a3a78fe30fc19742c13042ad2ee0448edf4108b2daf7da6fbbd4141b23fe1abd9cb931303efa6440d281a954e5d6d4956a291f7e soju.initd
+2f09bdb2efd0cd2f5f138dac7d5a4d02cfee6c46fc103c30fa70a238f322617b53ffd4b6ce6d0a8410375dd7229a68dcd6318e2b9651c5b559fff70fbca7adb3 config.patch
+b647576f50ab03a90d9ab9062d97ecf050fd6e7eeba77200e05e4577733886a4ca85c7cef68d476fc611bfca41f01eecca7d3f8ce8d03431872ccb78ea2f64db makefile.patch
"
diff --git a/testing/soju/config.patch b/testing/soju/config.patch
index 18271324bdf..50459d72ed9 100644
--- a/testing/soju/config.patch
+++ b/testing/soju/config.patch
@@ -1,11 +1,11 @@
Add friendly comment to the config file
diff --git a/config.in b/config.in
-index a0b510e..056a466 100644
+index e75ef07..2278fcf 100644
--- a/config.in
+++ b/config.in
-@@ -1,2 +1,4 @@
+@@ -1,3 +1,4 @@
+# See soju(1) for supported directives
-+
db sqlite3 /var/lib/soju/main.db
- log fs /var/lib/soju/logs/
+ message-store fs /var/lib/soju/logs/
+ listen ircs://
diff --git a/testing/soju/makefile.patch b/testing/soju/makefile.patch
index c65f7fdc08f..f6b2bc819f0 100644
--- a/testing/soju/makefile.patch
+++ b/testing/soju/makefile.patch
@@ -2,14 +2,14 @@ Don't create /var/lib/soju, it's done by soju.pre-install script
with proper permissions.
diff --git a/Makefile b/Makefile
-index bcf4e07..3f210f7 100644
+index af65f77..4cb971b 100644
--- a/Makefile
+++ b/Makefile
-@@ -24,7 +24,6 @@ install: all
+@@ -33,7 +33,6 @@ install:
mkdir -p $(DESTDIR)$(PREFIX)/$(BINDIR)
mkdir -p $(DESTDIR)$(PREFIX)/$(MANDIR)/man1
- mkdir -p $(DESTDIR)/etc/soju
-- mkdir -p $(DESTDIR)/var/lib/soju
- cp -f soju sojuctl $(DESTDIR)$(PREFIX)/$(BINDIR)
- cp -f doc/soju.1 $(DESTDIR)$(PREFIX)/$(MANDIR)/man1
- cp -f config.in $(DESTDIR)/etc/soju/config
+ mkdir -p $(DESTDIR)$(SYSCONFDIR)/soju
+- mkdir -p $(DESTDIR)$(sharedstatedir)/soju
+ cp -f $(commands) $(DESTDIR)$(PREFIX)/$(BINDIR)
+ cp -f $(man_pages) $(DESTDIR)$(PREFIX)/$(MANDIR)/man1
+ [ -f $(DESTDIR)$(config_path) ] || cp -f config.in $(DESTDIR)$(config_path)
diff --git a/testing/soju/soju.confd b/testing/soju/soju.confd
deleted file mode 100644
index 133ae77165e..00000000000
--- a/testing/soju/soju.confd
+++ /dev/null
@@ -1,7 +0,0 @@
-# Configuration for /etc/init.d/soju
-
-# additional arguments to pass to the daemon
-command_args="-config /etc/soju/config"
-
-# log destination
-error_log=/var/log/soju.log
diff --git a/testing/soju/soju.initd b/testing/soju/soju.initd
index 7e0dcbb7e3e..97af612363d 100644
--- a/testing/soju/soju.initd
+++ b/testing/soju/soju.initd
@@ -4,12 +4,16 @@ supervisor=supervise-daemon
name="soju"
description="User-friendly IRC bouncer"
+: ${command_args:="-config /etc/soju/config"}
+: ${error_log:=/var/log/soju.log}
+
command=/usr/bin/soju
command_user=soju:soju
directory="/var/lib/$RC_SVCNAME"
+capabilities="^cap_net_bind_service"
extra_started_commands="reload"
-description_reload="Reload TLS certificate"
+description_reload="Reload configuration and certificate"
depend() {
need net localmount
@@ -17,12 +21,13 @@ depend() {
}
start_pre() {
- checkpath --directory --owner $command_user --mode 0775 "$directory"
- [ -n "$error_log" ] && checkpath -f -o soju:soju "$error_log"
+ checkpath -d -o $command_user "$directory"
+ checkpath -f -o $command_user "$error_log"
+ checkpath -d -o $command_user /run/soju
}
reload() {
- ebegin "Reloading TLS certificate"
+ ebegin "Reloading configuration and certificate"
$supervisor $RC_SVCNAME --signal HUP
eend $?
}
diff --git a/testing/soju/soju.pre-install b/testing/soju/soju.pre-install
index cba7dd99394..537d8ae3e44 100644
--- a/testing/soju/soju.pre-install
+++ b/testing/soju/soju.pre-install
@@ -5,5 +5,8 @@ group=soju
addgroup -S $group 2>/dev/null
adduser -S -D -h /var/lib/$user -s /sbin/nologin -G $group -g $user $user 2>/dev/null
+# The soju home directory contains soju's database and irc logs, which are
+# sensitive information.
+chmod o-rwx /var/lib/$user
exit 0
diff --git a/testing/solaar/APKBUILD b/testing/solaar/APKBUILD
deleted file mode 100644
index 3d5bb7bff07..00000000000
--- a/testing/solaar/APKBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=solaar
-pkgver=1.1.1
-pkgrel=0
-pkgdesc="Linux device manager for a wide range of Logitech devices"
-url="https://pwr-solaar.github.io/Solaar/"
-arch="noarch"
-license="GPL-2.0-or-later"
-makedepends="py3-setuptools"
-depends="
- gtk+3.0
- libnotify
- py3-dbus
- py3-gobject3
- py3-psutil
- py3-yaml
- py3-udev
-"
-subpackages="$pkgname-doc"
-install="$pkgname.pre-install"
-source="$pkgname-$pkgver.tar.gz::https://github.com/pwr-Solaar/Solaar/archive/$pkgver.tar.gz
- $pkgname.rules
- "
-builddir="$srcdir/Solaar-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py check
-}
-
-package() {
- python3 setup.py install --root="$pkgdir"
-
- # udev
- install -Dm644 "$srcdir"/"$pkgname".rules \
- "$pkgdir"/etc/udev/rules.d/42-logitech-unify-permissions.rules
-
- # docs
- install -Dm644 "$builddir"/ChangeLog \
- "$pkgdir"/usr/share/doc/solaar/ChangeLog
- install -Dm644 "$builddir"/README.md \
- "$pkgdir"/usr/share/doc/solaar/README.md
-}
-
-sha512sums="
-c4da0c5521724c00afbc54ee9d10a4709246bb6f57635637b77e5944293b285a055b7df623e7e2a810a0764021813929e0f4fa7f21d4afc39abd516416a2bf25 solaar-1.1.1.tar.gz
-7f86932c463acf4368022134bf7ad16693ba40a1e65bf52379a28cedd870279afba5df90b9d99f6a24f420492f3068277bb6fca999df13c99936974f93a17424 solaar.rules
-"
diff --git a/testing/solaar/solaar.pre-install b/testing/solaar/solaar.pre-install
deleted file mode 100644
index 4832f19bd0d..00000000000
--- a/testing/solaar/solaar.pre-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-addgroup -S plugdev 2>/dev/null
-
-printf " *\n * To control Logitech devices, regular users must be members of 'plugdev' group.\n *\n"
-
-exit 0
diff --git a/testing/solaar/solaar.rules b/testing/solaar/solaar.rules
deleted file mode 100644
index 83cb372c3db..00000000000
--- a/testing/solaar/solaar.rules
+++ /dev/null
@@ -1,32 +0,0 @@
-# This rule was added by Solaar.
-#
-# Allows non-root users to have raw access to Logitech devices.
-# Allowing users to write to the device is potentially dangerous
-# because they could perform firmware updates.
-
-ACTION != "add", GOTO="solaar_end"
-SUBSYSTEM != "hidraw", GOTO="solaar_end"
-
-# USB-connected Logitech receivers and devices
-ATTRS{idVendor}=="046d", GOTO="solaar_apply"
-
-# Lenovo nano receiver
-ATTRS{idVendor}=="17ef", ATTRS{idProduct}=="6042", GOTO="solaar_apply"
-
-# Bluetooth-connected Logitech devices
-KERNELS == "0005:046D:*", GOTO="solaar_apply"
-
-GOTO="solaar_end"
-
-LABEL="solaar_apply"
-
-# Allow any seated user to access the receiver.
-# uaccess: modern ACL-enabled udev
-# udev-acl: for Ubuntu 12.10 and older
-TAG+="uaccess", TAG+="udev-acl"
-
-# Grant members of the "plugdev" group access to receiver (useful for SSH users)
-MODE="0660", GROUP="plugdev"
-
-LABEL="solaar_end"
-# vim: ft=udevrules
diff --git a/testing/solanum/10-gio-types.patch b/testing/solanum/10-gio-types.patch
new file mode 100644
index 00000000000..435c083dd7f
--- /dev/null
+++ b/testing/solanum/10-gio-types.patch
@@ -0,0 +1,11 @@
+--- a/src/window.rs
++++ b/src/window.rs
+@@ -214,7 +214,7 @@
+ self.set_timer_label_from_secs(length * 60);
+ }
+ LapType::Break => {
+- if lap_number.get() >= settings.get("sessions-until-long-break") {
++ if lap_number.get() >= settings.get::<u32>("sessions-until-long-break") {
+ let length = settings.get("long-break-length");
+ lap_number.set(1);
+ label.set_label(&i18n("Long Break"));
diff --git a/testing/solanum/APKBUILD b/testing/solanum/APKBUILD
new file mode 100644
index 00000000000..fd472ba41e2
--- /dev/null
+++ b/testing/solanum/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor:
+# Maintainer: nadvagauser <nadvagauser+alpine@proton.me>
+pkgname=solanum
+pkgver=3.0.1_git20220607
+_gitrev=6869e48970e621c5c1a9942ce0baa24ada3392de
+pkgrel=1
+pkgdesc="A pomodoro timer for the GNOME desktop"
+url="https://gitlab.gnome.org/World/Solanum"
+arch="all !s390x !riscv64" # GTK4
+license="GPL-3.0-or-later"
+makedepends="
+ blueprint-compiler
+ cargo
+ glib-dev
+ gst-plugins-bad-dev
+ gstreamer-dev
+ gtk4.0-dev
+ libadwaita-dev
+ meson
+ "
+checkdepends="
+ appstream-glib
+ desktop-file-utils
+ "
+subpackages="$pkgname-lang"
+source="
+ https://gitlab.gnome.org/World/Solanum/-/archive/$_gitrev/Solanum-$_gitrev.tar.gz
+ 10-gio-types.patch
+ appdata.patch
+ "
+builddir="$srcdir/Solanum-$_gitrev"
+
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+6f6cc33be29c5419e12bb5e260b69e74c9b8c00c713c449351f284fcdc6b057b3fc2fd12fcd7552cd0856ba4e999f2efa85f89d07ed3d0e1e4332c95af3fac1c Solanum-6869e48970e621c5c1a9942ce0baa24ada3392de.tar.gz
+d48dc043836600622321d655db725da667a8fca9aa0e5010f6fbb5aff4b6e37e0d14ac8f071631d70a897583919b5ce77bd3519a96b0fe4bf00765eecce01307 10-gio-types.patch
+f319268c921d72e186ad8c07267bb8f7ffe2af961e1687e116403dffc5c8e098f8780b99a60caa79561fe8a204beebc269d3cd9f888ca18a0960043269fd30d4 appdata.patch
+"
diff --git a/testing/solanum/appdata.patch b/testing/solanum/appdata.patch
new file mode 100644
index 00000000000..e1f44612ad3
--- /dev/null
+++ b/testing/solanum/appdata.patch
@@ -0,0 +1,14 @@
+https://gitlab.alpinelinux.org/alpine/aports/-/issues/11642
+diff --git a/data/meson.build b/data/meson.build
+index dadb5ec..a00821e 100644
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -29,7 +29,7 @@ appstream_file = i18n.merge_file(
+ output: '@0@.appdata.xml'.format(app_id),
+ po_dir: '../po',
+ install: true,
+- install_dir: join_paths(solanum_datadir, 'appdata')
++ install_dir: join_paths(solanum_datadir, 'metainfo')
+ )
+
+ appstream_util = find_program('appstream-util', required: false)
diff --git a/testing/solarus-engine/APKBUILD b/testing/solarus-engine/APKBUILD
new file mode 100644
index 00000000000..77786629316
--- /dev/null
+++ b/testing/solarus-engine/APKBUILD
@@ -0,0 +1,64 @@
+# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
+# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
+pkgname=solarus-engine
+_realname=solarus
+pkgver=1.7.0
+_commit_ver=a44ae4b2a2f5289dc00bdf123eee239c99fab3b5
+pkgrel=0
+pkgdesc="Solarus is an open-source adventure 2D game engine written in C++"
+url="https://solarus-games.org/"
+arch="all !ppc64le !riscv64" # no luajit found
+license="GPL-3.0-Only"
+depends="
+ libvorbis
+ libogg
+ libmodplug
+ luajit
+ mesa
+ openal-soft
+ physfs
+ qt5-qtbase
+ qt5-qttools
+ sdl2
+ sdl2_image
+ sdl2_ttf
+ "
+makedepends="
+ cmake
+ glm-dev
+ libvorbis-dev
+ libogg-dev
+ libmodplug-dev
+ luajit-dev
+ mesa-dev
+ openal-soft-dev
+ physfs-dev
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ sdl2-dev
+ sdl2_image-dev
+ sdl2_ttf-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/solarus-games/solarus/-/archive/$_commit_ver/solarus-$_commit_ver.tar.gz"
+builddir="$srcdir/$_realname-$_commit_ver"
+
+build() {
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DSOLARUS_GUI=ON
+ make -C build/
+}
+
+check() {
+ ctest -L
+}
+
+package() {
+ make -C build DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+d1b95fffd643eb2fc984d6a8f511704d65d130a4d639634c31912bbadc5d67044723ad088a9085a528de0276627ed3e3db926d8415b58f35f1bc548265b4ea0e solarus-engine-1.7.0.tar.gz
+"
diff --git a/testing/solarus-quest-editor/APKBUILD b/testing/solarus-quest-editor/APKBUILD
new file mode 100644
index 00000000000..c1196ea5437
--- /dev/null
+++ b/testing/solarus-quest-editor/APKBUILD
@@ -0,0 +1,55 @@
+# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
+# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
+pkgname=solarus-quest-editor
+pkgver=1.7.0
+_commit_ver=c6861dead576c5ed18dfdd33a8082101683c0324
+pkgrel=0
+pkgdesc="Game editor for the Solarus engine."
+url="https://www.solarus-games.org/"
+#ppc64le, riscv64: # no luajit found
+#aarch64, armhf, armv7: OpenGL/ES3 error while compiling
+arch="all !aarch64 !armhf !armv7 !ppc64le !riscv64"
+license="GPL-3.0-Only"
+depends="solarus-engine"
+makedepends="
+ cmake
+ glm-dev
+ libvorbis-dev
+ libmodplug-dev
+ luajit-dev
+ mesa-dev
+ openal-soft-dev
+ physfs-dev
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ samurai
+ sdl2-dev
+ sdl2_image-dev
+ sdl2_ttf-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://gitlab.com/solarus-games/solarus-quest-editor/-/archive/$_commit_ver/solarus-quest-editor-$_commit_ver.tar.gz"
+
+builddir="$srcdir/$pkgname-$_commit_ver"
+
+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_BUILD_TYPE=None \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+1dd74d3eda525abc9384faeaad3c3f298753b51e40f231425af8bd544e85b6dc497d7cedcdb9989a497a7dd5717b028a8a3454121520809139ea87e5bd2e28fa solarus-quest-editor-1.7.0.tar.gz
+"
diff --git a/testing/solidity/APKBUILD b/testing/solidity/APKBUILD
deleted file mode 100644
index e925c37084b..00000000000
--- a/testing/solidity/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Trevis Schiffer <nikolaibitinit@gmail.com>
-# Maintainer: Trevis Schiffer <nikolaibitinit@gmail.com>
-pkgname=solidity
-pkgver=0.7.5
-pkgrel=3
-_commit=51b20bc0872bb9049e205d5547023cb06d1df9db
-pkgdesc="The Solidity Contract-Oriented Programming Language"
-url="https://github.com/ethereum/solidity"
-# No support for big-endian systems and 32-bits
-arch="all !s390x !mips !mips64 !x86 !armv7 !armhf !riscv64"
-license="GPL-3.0-or-later"
-makedepends="boost-dev cmake git"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ethereum/solidity/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- echo -n $_commit > commit_hash.txt
-}
-
-build() {
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBoost_USE_STATIC_LIBS=OFF \
- -DTESTS=ON \
- -DCMAKE_BUILD_TYPE=None
- cmake --build build
-}
-
-check() {
- cd build
- # Broken tests
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest -V
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-4fbe5e3eac0fe534f3a9eda554c2d020fe65537ebcdacea4e113cf8fcfffd6b99bcb94f2d853f9cb0b2b0195ba36b6dbc8be2ce5f7304eccd94d8bf936271f79 solidity-0.7.5.tar.gz
-"
diff --git a/testing/somebar/APKBUILD b/testing/somebar/APKBUILD
new file mode 100644
index 00000000000..7282cb03f78
--- /dev/null
+++ b/testing/somebar/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Sam Nystrom <sam@samnystrom.dev>
+# Maintainer: Sam Nystrom <sam@samnystrom.dev>
+pkgname=somebar
+pkgver=1.0.3
+pkgrel=0
+pkgdesc="dwm-like bar for dwl"
+url="https://sr.ht/~raphi/somebar"
+arch="all"
+license="MIT"
+makedepends="
+ cairo-dev
+ meson
+ pango-dev
+ wayland-dev
+ wayland-protocols
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~raphi/somebar/archive/$pkgver.tar.gz"
+options="!check" # no tests
+
+prepare() {
+ default_prepare
+ cp src/config.def.hpp src/config.hpp
+}
+
+build() {
+ abuild-meson -Db_lto=true . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+6294aaf3e9bc20b6fbc2221038f044ca505096e78b96981a234d0b0858d4a57bd1ffd5d1b53930b820e97b1fddf9a5149eaa1cb22e300629f92d197e3d5d7e5d somebar-1.0.3.tar.gz
+"
diff --git a/testing/sonar-scanner/APKBUILD b/testing/sonar-scanner/APKBUILD
new file mode 100644
index 00000000000..5d89d0eb0c2
--- /dev/null
+++ b/testing/sonar-scanner/APKBUILD
@@ -0,0 +1,43 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=sonar-scanner
+pkgver=5.0.1.3006
+pkgrel=0
+pkgdesc="Scanner CLI for SonarQube and SonarCloud"
+url="https://github.com/SonarSource/sonar-scanner-cli"
+arch="noarch !x86 !armhf !armv7 !riscv64 !ppc64le" # blocked by openjdk17
+license="LGPL-3.0-or-later"
+depends="openjdk17-jre-headless"
+makedepends="maven openjdk17-jdk"
+source="https://github.com/SonarSource/sonar-scanner-cli/archive/$pkgver/sonar-scanner-$pkgver.tar.gz
+ fix-reflection.patch
+ "
+builddir="$srcdir/sonar-scanner-cli-$pkgver"
+
+prepare() {
+ default_prepare
+ sed -i "s/<version>.*-SNAPSHOT/<version>$pkgver/" pom.xml
+}
+
+build() {
+ mvn clean package
+}
+
+check() {
+ mvn test
+}
+
+package() {
+ local dest=/usr/share/sonar-scanner
+
+ mkdir -p "$pkgdir"/$dest
+ unzip target/sonar-scanner-$pkgver.zip
+ mv sonar-scanner-$pkgver/* "$pkgdir"/$dest/
+
+ mkdir -p "$pkgdir"/usr/bin
+ ln -svf $dest/bin/sonar-scanner "$pkgdir"/usr/bin
+}
+
+sha512sums="
+a589a343b2c48b7b44086c47d28be6282d1888ef4afbc500994d64c9b1ce14dc7d7ec83515ae288ad14f263cd130dc6eab6df91095bd7f7ed2a72a6cdab399ff sonar-scanner-5.0.1.3006.tar.gz
+defc90c2cecef172e94c962b4058daadcf2411e4a6b98ca5868abb85f19359cc515df79d931335f79e5c0ba8bab1da833654a11553056fcbfba78c7625b1f425 fix-reflection.patch
+"
diff --git a/testing/sonar-scanner/fix-reflection.patch b/testing/sonar-scanner/fix-reflection.patch
new file mode 100644
index 00000000000..6b70ad46fd8
--- /dev/null
+++ b/testing/sonar-scanner/fix-reflection.patch
@@ -0,0 +1,22 @@
+i'm not exactly sure why it fails, but without this running analysis fails with:
+
+Caused by:
+ net.sf.cglib.core.CodeGenerationException:
+ java.lang.reflect.InaccessibleObjectException:
+ Unable to make protected final java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) throws java.lang.ClassFormatError accessible:
+ module java.base does not "opens java.lang" to unnamed module @77774571
+
+found the fix here: https://stackoverflow.com/a/41265267
+
+diff --git a/src/main/assembly/bin/sonar-scanner b/src/main/assembly/bin/sonar-scanner
+index 2d2c2cc..8affabc 100755
+--- a/src/main/assembly/bin/sonar-scanner
++++ b/src/main/assembly/bin/sonar-scanner
+@@ -64,6 +64,7 @@ project_home=`pwd`
+ #echo "Info: Using project $project_home"
+
+ exec "$java_cmd" \
++ --add-opens java.base/java.lang=ALL-UNNAMED \
+ -Djava.awt.headless=true \
+ $SONAR_SCANNER_OPTS \
+ $SONAR_SCANNER_DEBUG_OPTS \
diff --git a/testing/sonarr/0001-disable-restart.patch b/testing/sonarr/0001-disable-restart.patch
new file mode 100644
index 00000000000..8dc5aebe628
--- /dev/null
+++ b/testing/sonarr/0001-disable-restart.patch
@@ -0,0 +1,20 @@
+Disable the restart functionality so the daemon can manage it.
+
+---
+ src/NzbDrone.Core/Lifecycle/LifecycleService.cs | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/NzbDrone.Core/Lifecycle/LifecycleService.cs b/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
+index 9ed36a42e..565641284 100644
+--- a/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
++++ b/src/NzbDrone.Core/Lifecycle/LifecycleService.cs
+@@ -46,8 +46,7 @@ public void Shutdown()
+ public void Restart()
+ {
+ _logger.Info("Restart requested.");
+-
+- _eventAggregator.PublishEvent(new ApplicationShutdownRequested(true));
++ _eventAggregator.PublishEvent(new ApplicationShutdownRequested());
+
+ if (_runtimeInfo.IsWindowsService)
+ {
diff --git a/testing/sonarr/APKBUILD b/testing/sonarr/APKBUILD
new file mode 100644
index 00000000000..cd3b955a553
--- /dev/null
+++ b/testing/sonarr/APKBUILD
@@ -0,0 +1,104 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=sonarr
+pkgver=4.0.4.1491
+pkgrel=0
+pkgdesc="TV download automation for usenet and torrents."
+url="https://github.com/Sonarr/Sonarr"
+arch="x86_64 aarch64 armv7"
+license="GPL-3.0-only"
+options="net !check" # no tests
+depends="
+ aspnetcore6-runtime
+ sqlite-libs
+ "
+makedepends="
+ dotnet6-sdk
+ yarn
+ "
+subpackages="$pkgname-openrc"
+install="$pkgname.pre-install"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/Sonarr/Sonarr/archive/refs/tags/v$pkgver.tar.gz
+ 0001-disable-restart.patch
+ sonarr.initd
+ sonarr.confd
+ package_info
+ "
+builddir="$srcdir/Sonarr-$pkgver"
+pkgusers="sonarr"
+pkggroups="sonarr"
+
+# map arch to dotnet
+case $CARCH in
+ x86_64) _dotnet_arch="x64" ;;
+ aarch64) _dotnet_arch="arm64" ;;
+ armv7) _dotnet_arch="arm" ;;
+ *) _dotnet_arch="$CARCH" ;;
+esac
+
+# custom variables
+_runtime="linux-musl-$_dotnet_arch"
+_framework="net6.0"
+_output="_output"
+_artifacts="$_output/$_framework/$_runtime/publish"
+
+prepare() {
+ default_prepare
+
+ # increase max opened files
+ ulimit -n 4096
+
+ # replace version info
+ local buildprops=src/Directory.Build.props
+ sed -i "/<AssemblyVersion>/s/>.*<\//>$pkgver<\//" "$buildprops"
+ sed -i "/<AssemblyConfiguration>/s/>.*<\//>master<\//" "$buildprops"
+
+ export BROWSERSLIST_IGNORE_OLD_DATA=true
+ yarn install --frozen-lockfile --network-timeout 120000
+
+ # remove upstream dotnet version
+ rm global.json
+}
+
+build() {
+ dotnet build src \
+ -p:RuntimeIdentifiers="$_runtime" \
+ -p:Configuration=Release \
+ -p:SelfContained=false \
+ -t:PublishAllRids
+ yarn build --env production --no-stats
+
+ # fix ffprobe permissions
+ chmod +x "$_artifacts"/ffprobe
+
+ # cleanup
+ find "$_artifacts" \( \
+ -name "ServiceUninstall.*" -o \
+ -name "ServiceInstall.*" -o \
+ -name "Sonarr.Windows.*" \) -delete
+
+ mv "$_output"/UI "$_artifacts"
+}
+
+package() {
+ local destdir="$pkgdir"/usr/lib/sonarr
+
+ # use package_info to disable update feature
+ install -Dm644 "$srcdir"/package_info "$destdir"/package_info
+ echo "PackageVersion=$pkgver-r$pkgrel" >>"$destdir"/package_info
+
+ cp -af "$_artifacts" "$destdir"/bin
+ chown -R "$pkgusers:$pkggroups" "$destdir"
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+3c11ca486780c523787916ffcfc3162acf839e90ba9b9bed0481a9f30250c19a2d9ae673db6f50e352bca4d5e0bd579a6742b94a1e957778cfec2b7a2c588381 sonarr-4.0.4.1491.tar.gz
+753520379a6c5f2899b4ddfd820d5573598a32cb105f74c6fd978a3f2c98895cf709ef2d9afe2bae8c4856da86cb6a1364f5713ea7ef6a36bb21b5a5840c1471 0001-disable-restart.patch
+6cda2b7afc5f61dc8460b9e6a1683d8a04b705cf0dfaf8ef79845b797bdf1b4bb582cf217c83f02717d7daaaf337112da8720c400ab1d374f8a6b04a7ee07286 sonarr.initd
+d1cf825905ee8847f8094ec27d1b43df51558f0e94b17071cc15d019438c3c7d0c884fcc22876690e8b49d0f9dd3c2893ffcdab0c215282db27e24d0c8c6ec29 sonarr.confd
+91274754046fe7b7aade722af2c0a1e00265cb0b43808ad757bb55e780794f2c9466d1036841bb2a6f2e114784585ebef8ad6378cee72197e27a7d2963e022ba package_info
+"
diff --git a/testing/sonarr/package_info b/testing/sonarr/package_info
new file mode 100644
index 00000000000..944a8ad4143
--- /dev/null
+++ b/testing/sonarr/package_info
@@ -0,0 +1,4 @@
+# PackageVersion is added by APKBUILD
+PackageAuthor=[alpine](https://pkgs.alpinelinux.org/packages)
+UpdateMethod=External
+Branch=main
diff --git a/testing/sonarr/sonarr.confd b/testing/sonarr/sonarr.confd
new file mode 100644
index 00000000000..a372e5e3513
--- /dev/null
+++ b/testing/sonarr/sonarr.confd
@@ -0,0 +1,10 @@
+# Sonarr configuration options
+
+command_user="sonarr:sonarr" # user:group
+directory="/var/lib/sonarr"
+umask=0002
+supervisor="supervise-daemon"
+
+#logdir="/var/log/sonarr"
+#error_log="$logdir/error.log"
+#output_log="$logdir/output.log"
diff --git a/testing/sonarr/sonarr.initd b/testing/sonarr/sonarr.initd
new file mode 100644
index 00000000000..5151adcbafc
--- /dev/null
+++ b/testing/sonarr/sonarr.initd
@@ -0,0 +1,34 @@
+#!/sbin/openrc-run
+
+# fallback values for /etc/conf.d/sonarr
+: ${command_user:=sonarr:sonarr}
+: ${directory:=/var/lib/sonarr}
+: ${umask:=0002}
+
+name=sonarr
+description="Sonarr daemon"
+command="/usr/lib/sonarr/bin/Sonarr"
+command_args="-nobrowser -data=$directory"
+command_background=true
+pidfile="/run/$name.pid"
+
+depend() {
+ need net
+ use dns logger netmount
+}
+
+start_pre() {
+ checkpath -d -o "$command_user" "$directory"
+
+ if [ -n "$logdir" ]; then
+ checkpath -d -o "$command_user" "$logdir"
+ fi
+
+ if [ -n "$output_log" ]; then
+ checkpath -f -o "$command_user" "$output_log"
+ fi
+
+ if [ -n "$error_log" ]; then
+ checkpath -f -o "$command_user" "$error_log"
+ fi
+}
diff --git a/testing/sonarr/sonarr.pre-install b/testing/sonarr/sonarr.pre-install
new file mode 100644
index 00000000000..85b0b7123f3
--- /dev/null
+++ b/testing/sonarr/sonarr.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S sonarr 2>/dev/null
+adduser -S -D -h /var/lib/sonarr -s /sbin/nologin -G sonarr -g sonarr sonarr 2>/dev/null
+
+exit 0
diff --git a/testing/songrec/APKBUILD b/testing/songrec/APKBUILD
deleted file mode 100644
index a792cdecb6c..00000000000
--- a/testing/songrec/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=songrec
-pkgver=0.3.0
-pkgrel=0
-pkgdesc="An open-source Shazam client for Linux"
-url="https://github.com/marin-m/SongRec"
-# s390x and riscv64 blocked by rust
-arch="all !s390x !riscv64"
-license="GPL-3.0-only"
-makedepends="
- alsa-lib-dev
- cargo
- gdk-pixbuf-dev
- glib-dev
- gtk+3.0-dev
- openssl-dev
- pango-dev
- "
-source="https://github.com/marin-m/songrec/archive/$pkgver/songrec-$pkgver.tar.gz"
-# net required to download Rust dependencies
-# no tests
-options="net !check"
-builddir="$srcdir/SongRec-$pkgver"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-
- mv packaging/rootfs/usr/share "$pkgdir"/usr
-}
-
-sha512sums="
-53a307c886428e9970cd0f1d18552f4efbeca28179c0290aabba39426daec080635f3816435eef7b372b830bbadacf8882551511db6df847d7bb463ea1b75d47 songrec-0.3.0.tar.gz
-"
diff --git a/testing/sops/APKBUILD b/testing/sops/APKBUILD
deleted file mode 100644
index 463b800830f..00000000000
--- a/testing/sops/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=sops
-pkgver=3.7.1
-pkgrel=0
-pkgdesc="Simple and flexible tool for managing secrets"
-url="https://github.com/mozilla/sops"
-license="MPL-2.0"
-arch="all"
-makedepends="go"
-source="https://github.com/mozilla/sops/archive/v$pkgver/sops-$pkgver.tar.gz
- skip-hcvault-tests.patch
- skip-pgp-tests.patch
- "
-builddir="$srcdir/sops-$pkgver"
-options="net" # for downloading Go modules
-
-export GOPATH="$srcdir"
-export GOFLAGS="-trimpath -modcacherw"
-export CGO_ENABLED=0
-
-build() {
- go build -v ./cmd/sops
-}
-
-check() {
- # remove -trimpath, tests fail otherwise
- GOFLAGS="${GOFLAGS/-trimpath}" go test ./...
-}
-
-package() {
- install -Dm755 sops "$pkgdir"/usr/bin/sops
-}
-
-sha512sums="
-e34b2bcdc45ebf97b77e497f825f29ea59c2794782929c9985f8e1368173c25a654fd67a81099e34d9fe5aa7750fea046565456e04750a329e317eafc4a395d1 sops-3.7.1.tar.gz
-e1e718955e40e392a6faa12706107375a524e40636e684f096a51e115eca356b6c22f1922e9b758dae1b4978f36c89a6e6030ac680f79a65c4ac68218b4cdc84 skip-hcvault-tests.patch
-9f1861a3e6c9fa5435a12d4052ef7c841fd58a15b75c3b4ab74e181185925970f69822c831252df1e2e44a673f88f220371d27392efd99c24e21e6cb5768778e skip-pgp-tests.patch
-"
diff --git a/testing/sops/skip-hcvault-tests.patch b/testing/sops/skip-hcvault-tests.patch
deleted file mode 100644
index 95c1c5c3ce0..00000000000
--- a/testing/sops/skip-hcvault-tests.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-skip tests for the hcvault module; they need Docker
-
---- a/hcvault/keysource_test.go
-+++ b/hcvault/keysource_test.go
-@@ -13,6 +13,7 @@ import (
- )
-
- func TestMain(m *testing.M) {
-+ os.Exit(0)
- // uses a sensible default on windows (tcp/http) and linux/osx (socket)
- pool, err := dockertest.NewPool("")
- if err != nil {
diff --git a/testing/sops/skip-pgp-tests.patch b/testing/sops/skip-pgp-tests.patch
deleted file mode 100644
index b05bf463caf..00000000000
--- a/testing/sops/skip-pgp-tests.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-skip tests for the pgp module; they need to have a testing pgp key imported
-
---- a/pgp/keysource_test.go
-+++ b/pgp/keysource_test.go
-@@ -2,12 +2,17 @@ package pgp
-
- import (
- "bytes"
-+ "os"
- "testing"
- "testing/quick"
-
- "github.com/stretchr/testify/assert"
- )
-
-+func TestMain(m *testing.M) {
-+ os.Exit(0)
-+}
-+
- func TestPGP(t *testing.T) {
- key := NewMasterKeyFromFingerprint("FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4")
- f := func(x []byte) bool {
diff --git a/testing/sopwith/APKBUILD b/testing/sopwith/APKBUILD
new file mode 100644
index 00000000000..9ad9c2225ba
--- /dev/null
+++ b/testing/sopwith/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: John Gebbie <me@johngebbie.com>
+# Maintainer: John Gebbie <me@johngebbie.com>
+pkgname=sopwith
+pkgver=2.4.0
+pkgrel=0
+pkgdesc="Classic bi-plane shoot-'em up game"
+url="https://fragglet.github.io/sdl-sopwith"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="sdl2-dev"
+subpackages="$pkgname-doc"
+source="https://github.com/fragglet/sdl-sopwith/releases/download/sdl-sopwith-$pkgver/sdl-sopwith-$pkgver.tar.gz
+ select.patch
+ "
+builddir="$srcdir/sdl-sopwith-$pkgver"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR=$pkgdir install
+}
+
+sha512sums="
+3d47033d7e491417caaeb78dbb7e3acd8d9e1d7fe3197a0c9d83d3a8c5ef002df2880bc6787418aa15ac214242c64a652f0d1d343196ab5b77fe984f9370211a sdl-sopwith-2.4.0.tar.gz
+eb67432e23eacec9f53c35da25af4b5ca8018de1be9b40094dd5f98d0614415481df2fbf2f9c22f4b4fc71fd20b838f806f4d1e71b327fb4af670f5cd2a3adc8 select.patch
+"
diff --git a/testing/sopwith/select.patch b/testing/sopwith/select.patch
new file mode 100644
index 00000000000..f04ceb1d308
--- /dev/null
+++ b/testing/sopwith/select.patch
@@ -0,0 +1,12 @@
+diff --git a/src/tcpcomm.c b/src/tcpcomm.c
+index 7d07fdf..f9b630f 100644
+--- a/src/tcpcomm.c
++++ b/src/tcpcomm.c
+@@ -29,6 +29,7 @@
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <string.h>
++#include <sys/select.h>
+
+ #ifdef HAVE_NETINET_IN_H
+ #include <arpa/inet.h>
diff --git a/testing/sord/APKBUILD b/testing/sord/APKBUILD
deleted file mode 100644
index 3e5ce85becf..00000000000
--- a/testing/sord/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=sord
-pkgver=0.16.8
-pkgrel=0
-pkgdesc="C library for storing RDF data in memory"
-url="http://drobilla.net/software/sord"
-arch="all"
-license="ISC"
-makedepends="python3 pcre-dev serd-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="http://download.drobilla.net/sord-$pkgver.tar.bz2"
-
-build() {
- python3 waf configure --prefix=/usr --test
- python3 waf build
-}
-
-check() {
- python3 waf test
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="24ed50de8e5bb321e557bac6d3e441b2ed49adabf828bf0e1b33a080c89306dde80443dc8b563098fcc184c4d6e53b7e716b523ddccdf56d08301d1b0120f2b2 sord-0.16.8.tar.bz2"
diff --git a/testing/sos/APKBUILD b/testing/sos/APKBUILD
index 8a8af7a8e43..38f15358958 100644
--- a/testing/sos/APKBUILD
+++ b/testing/sos/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Carlo Landmeter <clandmeter@alpinelinux.org>
pkgname=sos
pkgver=0.8
-pkgrel=5
+pkgrel=23
pkgdesc="Simple Object Storage"
url="https://github.com/skx/sos"
license="GPL-2.0-or-later"
@@ -14,12 +14,14 @@ source="sos-$pkgver.tar.gz::https://github.com/skx/sos/archive/release-$pkgver.t
"
builddir="$srcdir/sos-release-$pkgver"
-export GOPATH="$srcdir"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
go build -v \
-trimpath \
- -ldflags="-s -w -X main.version=$pkgver" \
+ -ldflags="-X main.version=$pkgver" \
-o ./bin/sos
}
diff --git a/testing/soundfont-vintage-dreams-waves/APKBUILD b/testing/soundfont-vintage-dreams-waves/APKBUILD
new file mode 100644
index 00000000000..194716e0994
--- /dev/null
+++ b/testing/soundfont-vintage-dreams-waves/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Dhruvin Gandhi <contact@dhruvin.dev>
+# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
+pkgname=soundfont-vintage-dreams-waves
+pkgver=2.1
+pkgrel=1
+pkgdesc="Vintage Dreams Waves Soundfont"
+url="https://www.analoguesque.x10host.com/SoundFonts/"
+arch="noarch"
+license="custom"
+options="!check" # no code
+subpackages="$pkgname-doc"
+source="https://www.analoguesque.x10host.com/vdw20.zip
+ LICENSE
+ "
+
+package() {
+ install -Dm644 "$srcdir"/vdw20.sf2 \
+ -t "$pkgdir"/usr/share/soundfonts
+ install -Dm644 "$srcdir"/LICENSE \
+ -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+7fe6552f23755715151adca9b9920325a00c2e3707b5ce8af6a8150a88198902d6788daa873f317648f5efae1606d542b49e56591ce1681b6e8915bece42052e vdw20.zip
+8ecb96ea1cf0fbb71eef6ec4ad59291fd8eb23ca6b63a3b9fbbd1f2f2fb019b1735e8dbd46b939418c8754e7d0155dc27cdbcb6f3f0bb572674a89c5af3418fd LICENSE
+"
diff --git a/testing/soundfont-vintage-dreams-waves/LICENSE b/testing/soundfont-vintage-dreams-waves/LICENSE
new file mode 100644
index 00000000000..d45398f69c9
--- /dev/null
+++ b/testing/soundfont-vintage-dreams-waves/LICENSE
@@ -0,0 +1,21 @@
+ Vintage Dreams Waves v 2.0. for Creative Labs' AWE Soundcards
+ (EMU Soundfont 2 Format)
+
+ Copyright (c) Ian Wilson, 1996 (Updated January 1998)
+
+ This soundfont is freeware. You may freely use and/or redistribute it subject
+ to the following terms:
+ 1. It is not altered, edited, modified, ripped, or converted to other formats,
+ except for private use only.
+ 2. It is distributed with this copyright notice.
+
+ This soundfont is distributed WITHOUT WARRANTY, and without the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. No liability
+ or damages can be inferred upon the said copyright owner, Ian Wilson.
+
+ Any feedback, contact Ian Wilson.
+ vintagedreamworks@hotmail.com
+ http://www.geocities.com/SiliconValley/Campus/8645/index.html
+ http://members.nbci.com/silicon39/
+ http://www.mp3.com/silicon39
+ https://analoguesque.x10host.com/
diff --git a/testing/spacectl/APKBUILD b/testing/spacectl/APKBUILD
new file mode 100644
index 00000000000..612bf1bc8a0
--- /dev/null
+++ b/testing/spacectl/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Hristiyan Ivanov <hristiyan.d.ivanov@gmail.com>
+pkgname=spacectl
+pkgver=0.30.0
+pkgrel=2
+pkgdesc="A Utility wrapping Spacelift's GraphQL API for easy programmatic access in command-line contexts."
+url="https://github.com/spacelift-io/spacectl"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/spacelift-io/spacectl/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ go mod download
+}
+
+build() {
+ go build .
+
+ for shell in bash fish zsh; do
+ ./spacectl completion $shell > spacectl.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm0755 spacectl -t "$pkgdir"/usr/bin/
+
+ install -Dm0644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname/
+
+ install -Dm0644 spacectl.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/spacectl
+ install -Dm0644 spacectl.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/spacectl.fish
+ install -Dm0644 spacectl.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_spacectl
+}
+
+sha512sums="
+6780dfe4dd3cbc15a202f0d5f596e9aca983b9e30ede9d2969d16a1960f4ad71e9ce52caec3a612a10632d154297aee75bd37f7efc873bd7d4dea6d3f47b422b spacectl-0.30.0.tar.gz
+"
diff --git a/testing/spacenavd/APKBUILD b/testing/spacenavd/APKBUILD
new file mode 100644
index 00000000000..a438bc80853
--- /dev/null
+++ b/testing/spacenavd/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: guddaff <alpine@guddaff.de>
+# Maintainer: guddaff <alpine@guddaff.de>
+pkgname=spacenavd
+pkgver=1.2
+pkgrel=0
+pkgdesc="user-space driver for 6-dof space-mice"
+url="https://spacenav.sourceforge.net/"
+arch="all !armhf !armv7 !x86" #armhf, armv7, x86: truct input_event' has no member named 'time'
+license="GPL-3.0-or-later"
+makedepends="libx11-dev libxi-dev libxtst-dev linux-headers"
+options="!check" # no tests
+source="$pkgname-$pkgver.tar.gz::https://github.com/FreeSpacenav/spacenavd/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+f9be5a63de4c773dd637393d592bd040c2f64c3b1dc51847f8e3d9fe7d83df7adf6fa6b7af765d664e4ab86b8fa2715355ddc27514276c39c66fa86a46de46ea spacenavd-1.2.tar.gz
+"
diff --git a/testing/spampd/APKBUILD b/testing/spampd/APKBUILD
index 5f9ff03a6ed..4a31b0f0d86 100644
--- a/testing/spampd/APKBUILD
+++ b/testing/spampd/APKBUILD
@@ -1,15 +1,15 @@
-# Contributor: Chloe Kudryavtsev <toast@toast.cafe>
-# Maintainer: Chloe Kudryavtsev <toast@toast.cafe>
+# Contributor: Chloe Kudryavtsev <code@toast.bunkerlabs.net>
+# Maintainer:
pkgname=spampd
-pkgver=2.53
-pkgrel=2
+pkgver=2.61
+pkgrel=1
pkgdesc="An L/SMTP proxy that marks spam using spamassassin"
url="http://www.worlddesign.com/index.cfm/page/software/open-source/spampd.htm"
arch="noarch !x86" # perl-mail-spamassassin->perl-db
license="GPL-2.0-or-later"
depends="perl-net-server perl-mail-spamassassin"
install="spampd.pre-install"
-subpackages="$pkgname-doc $pkgname-openrc"
+subpackages="$pkgname-openrc"
source="
spampd.confd
spampd.initd
@@ -26,15 +26,10 @@ package() {
install -m755 -D "$builddir/$pkgname.pl" "$pkgdir/usr/bin/$pkgname"
install -m755 -D "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname"
install -m644 -D "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname"
- install -m644 -D "$builddir/$pkgname.html" \
- "$pkgdir/usr/share/html/$pkgname.html"
}
-openrc() {
- mkdir -p "$subpkgdir"
- mv "$pkgdir/etc" "$subpkgdir/"
-}
-
-sha512sums="216ab774ac2cc8b54fb8f2155738fd41264b261efd5a7ab95d9910aad5b9699065f42211dbe8021383f0172bfb50cfc9087ea8dc1e53a2223dabd7faf490769c spampd.confd
+sha512sums="
+216ab774ac2cc8b54fb8f2155738fd41264b261efd5a7ab95d9910aad5b9699065f42211dbe8021383f0172bfb50cfc9087ea8dc1e53a2223dabd7faf490769c spampd.confd
4adad6b44509abedcfb5726d09a63b66048468e5ee7942d0e586630a84fb93931f315ed9410894af2cc4e5bff04cd38600ea91cc0b18c3cedd67efe2af6e0e14 spampd.initd
-538d905359bd455916aa8dcad9f3d77ce0fbf6cb722608bb723d186679e04abab784c9ae2c372954028dc1454642d74f4cfd0f63f52dcf439f35406220979ef5 spampd-2.53.tar.gz"
+e2f84c4b24648d4f4db70174f04b72981faa1c54ffc4bbc433d14c730ef4ad7fd4cd3772a476f25be0bee103e951700d038634d14848f1eb90849d1a6655199b spampd-2.61.tar.gz
+"
diff --git a/testing/spark/APKBUILD b/testing/spark/APKBUILD
index 4cceec789d4..cd182c6421d 100644
--- a/testing/spark/APKBUILD
+++ b/testing/spark/APKBUILD
@@ -3,10 +3,10 @@
pkgname=spark
_pkgname=Spark
pkgver=2.8.3
-pkgrel=0
+pkgrel=1
pkgdesc="Cross-platform IM client optimized for businesses and organizations."
url="https://www.igniterealtime.org/projects/spark/"
-arch="all !mips !mips64 !riscv64" # blocked by openjdk8
+arch="all !riscv64" # blocked by openjdk8
license="Apache-2.0"
depends="
hicolor-icon-theme
diff --git a/testing/speakersafetyd/APKBUILD b/testing/speakersafetyd/APKBUILD
new file mode 100644
index 00000000000..0db920d598c
--- /dev/null
+++ b/testing/speakersafetyd/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=speakersafetyd
+pkgver=0.1.9
+pkgrel=0
+pkgdesc="asahi linux speaker safety daemon"
+url="https://github.com/AsahiLinux/speakersafetyd"
+arch="aarch64"
+license="MIT"
+depends="alsa-ucm-conf-asahi"
+makedepends="alsa-lib-dev cargo cargo-auditable"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AsahiLinux/speakersafetyd/archive/refs/tags/$pkgver.tar.gz
+ speakersafetyd.initd
+ "
+
+prepare() {
+ default_prepare
+ cargo update -p speakersafetyd
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+package() {
+ make DESTDIR=$pkgdir install
+ install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+}
+
+sha512sums="
+b237da8d473a89f6cd93c4cc0bef4a5402688c9e6528c54838abeec1d99ec615f69da29483689312da288cd4c4c0186951f60407d8c743d7bdc5a3c1a293fead speakersafetyd-0.1.9.tar.gz
+d577e5c96f240198bd1adff609944c678e725bd6db3378711f3e02d9cad1d6c058d0031c4aa5c91445d63ead6b037ebcffe377f764ba11261e05d72a73f77f7b speakersafetyd.initd
+"
diff --git a/testing/speakersafetyd/speakersafetyd.initd b/testing/speakersafetyd/speakersafetyd.initd
new file mode 100644
index 00000000000..2cd1b641ee1
--- /dev/null
+++ b/testing/speakersafetyd/speakersafetyd.initd
@@ -0,0 +1,7 @@
+#!/sbin/openrc-run
+
+pidfile="/run/speakersafetyd.pid"
+command="/usr/bin/speakersafetyd"
+command_args="-c /usr/share/speakersafetyd/ -b /var/lib/speakersafetyd/blackbox -m 7"
+supervisor="supervise-daemon"
+
diff --git a/testing/spectrwm/APKBUILD b/testing/spectrwm/APKBUILD
deleted file mode 100644
index 89de32fe9cb..00000000000
--- a/testing/spectrwm/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Sascha Paunovic <azarus@posteo.net>
-# Maintainer: Sascha Paunovic <azarus@posteo.net>
-pkgname=spectrwm
-_pkgname=SPECTRWM_
-pkgver=3.4.1
-_pkgver=3_4_1
-pkgrel=0
-pkgdesc="dynamic, configurable tiling window manager for X11"
-options="!check" # No testsuite
-url="https://github.com/conformal/spectrwm"
-arch="all"
-license="ISC"
-depends="dmenu terminus-font"
-makedepends="bsd-compat-headers freetype-dev libxcursor-dev libxft-dev
- libxrandr-dev libxt-dev xcb-util-keysyms-dev xcb-util-wm-dev"
-subpackages="$pkgname-doc"
-source="https://github.com/conformal/spectrwm/archive/$_pkgname$_pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$_pkgname$_pkgver"
-
-build() {
- cd "$builddir"/linux
- make PREFIX="/usr"
-}
-
-package() {
- install -Dm644 spectrwm.conf "$pkgdir"/etc/spectrwm.conf
- mkdir "$pkgdir"/etc/spectrwm
- cp spectrwm_*.conf "$pkgdir"/etc/spectrwm/
-
- # make default config work
- install -Dm755 baraction.sh "$pkgdir"/usr/share/spectrwm/baraction.sh
- install -Dm755 screenshot.sh "$pkgdir"/usr/share/spectrwm/screenshot.sh
-
- cd linux
- make PREFIX="/usr" DESTDIR="$pkgdir" install
-
- # remove unneccessary stuff
- rm "$pkgdir"/usr/bin/scrotwm
- # provide convenience symlink
- ln -s "$pkgdir"/usr/bin/spectrwm "$pkgdir"/usr/bin/scrotwm
-}
-
-sha512sums="94d468833124b51fa12b29b173126f10f27dd551d599459e4bea589721b3df6f1f0af0ea67326ed3ad462e1203d3bbcb82032ff83abfa0943ec45afd29dedaa6 SPECTRWM_3_4_1.tar.gz"
diff --git a/testing/speedcrunch/APKBUILD b/testing/speedcrunch/APKBUILD
index 530af854b58..ca564522369 100644
--- a/testing/speedcrunch/APKBUILD
+++ b/testing/speedcrunch/APKBUILD
@@ -2,36 +2,39 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=speedcrunch
pkgver=0.12
-pkgrel=1
+pkgrel=3
pkgdesc="SpeedCrunch is a high-precision scientific calculator."
url="http://www.speedcrunch.org/"
arch="all"
license="GPL-2.0-or-later"
-makedepends="cmake py3-sphinx py3-sphinx-theme-quark
- qt5-qtbase-dev qt5-qttools-dev libxkbcommon-dev"
+makedepends="
+ cmake
+ libxkbcommon-dev
+ py3-sphinx
+ py3-sphinx-theme-quark
+ qt5-qtbase-dev
+ qt5-qttools-dev
+ samurai
+ "
source="https://bitbucket.org/heldercorreia/speedcrunch/get/release-0.12.0.tar.bz2"
builddir="$srcdir/heldercorreia-speedcrunch-ea93b21f9498"
-prepare() {
- mkdir -p build
-}
-
build() {
- cd "$builddir"/build
- cmake ../src \
- -DCMAKE_INSTALL_PREFIX="/usr" \
+ cmake -B build -G Ninja -S src \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=Release \
-DREBUILD_MANUAL=off
- make
+ cmake --build build
}
check() {
- cd "$builddir"/build
- make test
+ ctest --test-dir build --output-on-failure
}
package() {
- cd "$builddir"/build
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="b41f147f2530735af2fad0ecef6047459baed03904ec6d8097a3f21d7d200c2d89beda77676ea1ff762c5c164cd7b639cae84942f61c869acd77aa380c80f141 release-0.12.0.tar.bz2"
+sha512sums="
+b41f147f2530735af2fad0ecef6047459baed03904ec6d8097a3f21d7d200c2d89beda77676ea1ff762c5c164cd7b639cae84942f61c869acd77aa380c80f141 release-0.12.0.tar.bz2
+"
diff --git a/testing/speedtest-go/APKBUILD b/testing/speedtest-go/APKBUILD
index e4f21aa2c62..11e40136338 100644
--- a/testing/speedtest-go/APKBUILD
+++ b/testing/speedtest-go/APKBUILD
@@ -1,21 +1,27 @@
# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
pkgname=speedtest-go
-pkgver=1.1.4
-pkgrel=0
+pkgver=1.1.5
+pkgrel=7
pkgdesc="web page based speed test, written in go"
url="https://librespeed.org"
arch="all"
license="LGPL-3.0-only"
makedepends="go"
-options="!check" # no check suite
+# !check: no check suite
+# net: fetch dependencies
+options="!check net"
subpackages="$pkgname-doc $pkgname-openrc"
source="$pkgname-$pkgver.tar.gz::https://github.com/librespeed/speedtest-go/archive/v$pkgver.tar.gz
speedtest-go.initd
settings-change.patch"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
- go build -ldflags "-w -s" -trimpath -o speedtest main.go
+ go build -trimpath -o speedtest main.go
}
package() {
@@ -27,7 +33,7 @@ package() {
}
sha512sums="
-e02f75bddcffe68c3f131b0dcc75a65912b8538fdb4438f53ff12425f2b7cacfcbffd10c26f71a73a0a5cd6d4e49922d3a847c8861d3ee8e2a1ad77c9f78ee0f speedtest-go-1.1.4.tar.gz
+556d52b6e8714f6888d7428b74717db0b9faa7d713ab67d1f37c47b7ba671b0be09aa264c02fc523ce2cf2d45300112a7405d0dfbb23e8bec70431e3dc370455 speedtest-go-1.1.5.tar.gz
197efb6f98bed3a09c1c71e520265b48671c8e4dddabf3f9d7f16e8384e1ef84b800a115d5c656fb47e48d07a92cfe387f2dba5b9801fa03e720f762c6394ff7 speedtest-go.initd
-e7b0776bd9f4b10b763c4be7a51f388b1a213be979e98438c97e7da216d894044cf207c09e949b14b234cbae97e0f41474a885d5f5fa41e60add06912093ccc6 settings-change.patch
+5699367c3188b8b9e58caf14641bb2bb0e9604804325649930757c342bf81700c02ad0610304c710d884b58641291bc4a16a65c80f8767f33b4137b624bef35a settings-change.patch
"
diff --git a/testing/speedtest-go/settings-change.patch b/testing/speedtest-go/settings-change.patch
index d879b8d50eb..61eee8c54c7 100644
--- a/testing/speedtest-go/settings-change.patch
+++ b/testing/speedtest-go/settings-change.patch
@@ -1,8 +1,8 @@
diff --git a/settings.toml b/settings.toml
-index 23c1f019ec..79a1b8e49d 100644
+index bdfe9fb..0c8c419 100644
--- a/settings.toml
+++ b/settings.toml
-@@ -11,7 +11,7 @@ server_lng=1
+@@ -13,7 +13,7 @@ server_lng=1
ipinfo_api_key=""
# assets directory path, defaults to `assets` in the same directory
@@ -11,7 +11,7 @@ index 23c1f019ec..79a1b8e49d 100644
# password for logging into statistics page
statistics_password="PASSWORD"
-@@ -20,11 +20,11 @@ redact_ip_addresses=false
+@@ -22,14 +22,14 @@ redact_ip_addresses=false
# database type for statistics data, currently supports: none, memory, bolt, mysql, postgresql
# if none is specified, no telemetry/stats will be recorded, and no result PNG will be generated
@@ -25,4 +25,6 @@ index 23c1f019ec..79a1b8e49d 100644
# if you use `bolt` as database, set database_file to database file location
-database_file="speedtest.db"
+database_file=""
-
+
+ # TLS and HTTP/2 settings. TLS is required for HTTP/2
+ enable_tls=false
diff --git a/testing/speedtest/APKBUILD b/testing/speedtest/APKBUILD
index 4c68c905cb3..48f36b12b15 100644
--- a/testing/speedtest/APKBUILD
+++ b/testing/speedtest/APKBUILD
@@ -1,9 +1,9 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-_php=php8
+_php=php82
pkgname=speedtest
-pkgver=5.2.4
-pkgrel=0
+pkgver=5.2.5
+pkgrel=1
pkgdesc="Self-hosted HTML5 Speedtest"
url="https://librespeed.org"
arch="noarch"
@@ -34,5 +34,5 @@ examples() {
}
sha512sums="
-a6d319dcb7ee0c3e89b1a5d3ca031f9845032ea60b041bdaa705c2ddea8ae2786bfe4cd4ee1ef94eef869524d5eb241d2cc7ffd66651cd96eb4557f2356d53bb speedtest-5.2.4.tar.gz
+cf9ff33bea2a94c1d5b614d2f94eb9dad71fb1bd247f9a762ba9b8909adb1bf5a1286cd1ed98bbae43c3fc0f53474de2ef0cac670c358793df70c3ac17939f2d speedtest-5.2.5.tar.gz
"
diff --git a/testing/speedtest_exporter/APKBUILD b/testing/speedtest_exporter/APKBUILD
index b89260ab634..3fd2c81ce25 100644
--- a/testing/speedtest_exporter/APKBUILD
+++ b/testing/speedtest_exporter/APKBUILD
@@ -1,15 +1,14 @@
# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
pkgname=speedtest_exporter
-pkgver=0.3.1
-pkgrel=0
+pkgver=0.3.2
+pkgrel=7
pkgdesc="Prometheus exporter for Speedtest metrics"
url="https://github.com/nlamirault/speedtest_exporter"
# riscv64 unsupported by Golang deps
arch="all !riscv64"
license="Apache-2.0"
makedepends="bash go make"
-checkdepends="glide"
install="$pkgname.pre-install"
subpackages="$pkgname-openrc"
pkgusers="speedtest-exporter"
@@ -20,13 +19,19 @@ source="
$pkgname.confd
0001-Fix-log.Infof-format-test-error.patch
"
+options="!check" # no tests
-build() {
- make build
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ go mod download
}
-check() {
- make test
+build() {
+ make build
}
package() {
@@ -37,8 +42,9 @@ package() {
install -Dm644 "$srcdir"/$pkgname.confd \
"$pkgdir"/etc/conf.d/$pkgname
}
+
sha512sums="
-cb6073ca622e8df2b8436a2e30af2c9c7c99be6d950d4383de014c000e279a1ea0394bed3097754f24923859bbc2d5ebf20787eb90417c15aad35a0b88b64161 speedtest_exporter-0.3.1.tar.gz
+10d4658f698d6623ad700506ccd22781a22015799ac86fbfc390fdda2564a4df66da1bb2d6710fdcb291e5ce0063d39d46320d774f8856d61c5b7c9bf127accd speedtest_exporter-0.3.2.tar.gz
29fa32f35accbc8f26864258c957e1dbaf03e54b68c2361ba2c664fca65de8cfeac971ed96e48b0d556611f7af041b1f4711a36e189a3e746fc2a22cecece2fb speedtest_exporter.initd
5110af642337757b6dd7abc3d9051f2f46256300cf6d8d29e94b5a3acc4fc7920e0d498f568e1831ce4821c8550d8752875a3077df5cc03b40b2282742e924df speedtest_exporter.confd
fb38b8ac3b033e89c01180a171c108695e63ce2ca697b8e4fd199a7d4efd328890451ecfcda570361ea19573d4690235982245ca2493e9907d3d04944e208b81 0001-Fix-log.Infof-format-test-error.patch
diff --git a/testing/spice-vdagent/APKBUILD b/testing/spice-vdagent/APKBUILD
deleted file mode 100644
index 8fc3af74ab7..00000000000
--- a/testing/spice-vdagent/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=spice-vdagent
-pkgver=0.21.0
-pkgrel=0
-pkgdesc="Spice guest agent for Linux"
-url="https://spice-space.org/"
-arch="all"
-license="GPL-3.0-or-later"
-depends="dbus-x11"
-makedepends="
- spice-protocol
- alsa-lib-dev
- dbus-dev
- glib-dev
- libdrm-dev
- libpciaccess-dev
- libxfixes-dev
- libxinerama-dev
- libxrandr-dev
- "
-checkdepends="procps"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="https://spice-space.org/download/releases/spice-vdagent-$pkgver.tar.bz2
- spice-vdagentd.initd
- "
-
-build() {
- ./configure \
- --prefix=/usr \
- --localstatedir=/var \
- --with-session-info=none
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make install DESTDIR="$pkgdir"
- install -Dm0755 "$srcdir"/spice-vdagentd.initd "$pkgdir"/etc/init.d/spice-vdagentd
- install -dm 0755 "$pkgdir"/etc/modules-load.d/
- printf 'uinput\n' >"$pkgdir"/etc/modules-load.d/spice-vdagent.conf
-}
-
-sha512sums="
-1ff1a89e75301b1c2c89f26ba4bce8d4df29bbff6387ade128ce847ca30162a2bc731c70c10a8d129518e64bbca6b8271fd11ff3e340899182a65a5295051bff spice-vdagent-0.21.0.tar.bz2
-ba5cf75d2599488dc6f36deac1931b576d5e1a2021ce79df79917c6641b13a93000d9bee62550ecd87ecac30fdc87b044c21b27acecc195ab6bf90485933d350 spice-vdagentd.initd
-"
diff --git a/testing/spice-vdagent/spice-vdagentd.initd b/testing/spice-vdagent/spice-vdagentd.initd
deleted file mode 100644
index d6a212a7796..00000000000
--- a/testing/spice-vdagent/spice-vdagentd.initd
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/sbin/openrc-run
-
-command=/usr/sbin/spice-vdagentd
-command_args=""
-pidfile="/run/spice-vdagentd/spice-vdagentd.pid"
-
-depend() {
- need dbus
-}
-
-start_pre() {
- checkpath --directory --mode 0755 --owner root:root /run/spice-vdagentd
-}
diff --git a/testing/spike/APKBUILD b/testing/spike/APKBUILD
new file mode 100644
index 00000000000..6d13a616a98
--- /dev/null
+++ b/testing/spike/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
+pkgname=spike
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="A simulator for the RISC-V instruction set architecture"
+url="https://github.com/riscv-software-src/riscv-isa-sim"
+arch="all !riscv64"
+license="BSD-3-Clause"
+makedepends="dtc"
+options="!check" # XXX: no proper upstream test suite
+source="https://github.com/riscv-software-src/riscv-isa-sim/archive/refs/tags/v$pkgver/spike-$pkgver.tar.gz"
+builddir="$srcdir/riscv-isa-sim-$pkgver"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ # The shared libraries provided by spike aren't versioned,
+ # hence there is really no use in packaging them right now.
+ make DESTDIR="$pkgdir" install-exes
+}
+
+sha512sums="
+089f3ae8e505ffde7bb4d3d7ef2c5db082c616e135e4efe952151dd195b1493f46ae4c0e33fc6b708935397b80922c643cb9e66760cbf3b2286f1f927e8dee9a spike-1.1.0.tar.gz
+"
diff --git a/testing/spin/APKBUILD b/testing/spin/APKBUILD
index 4010a072d68..07d8691b239 100644
--- a/testing/spin/APKBUILD
+++ b/testing/spin/APKBUILD
@@ -3,7 +3,7 @@
pkgname=spin
pkgver=6.5.2
_pkgver=${pkgver//./}
-pkgrel=0
+pkgrel=1
pkgdesc="Tool for formal verification of distributed software systems"
options="!check" # No testsuite
url="http://spinroot.com/"
diff --git a/testing/spiritvnc/APKBUILD b/testing/spiritvnc/APKBUILD
new file mode 100644
index 00000000000..97de7755e30
--- /dev/null
+++ b/testing/spiritvnc/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=spiritvnc
+pkgver=0.6.0
+pkgrel=0
+pkgdesc="FLTK-based multi-view VNC client"
+url="https://github.com/willbprog127/spiritvnc-fltk-no-libssh2"
+arch="all"
+license="BSD-3-Clause"
+depends="openssh-client"
+makedepends="fltk-dev libvncserver-dev"
+source="https://github.com/willbprog127/spiritvnc-fltk-no-libssh2/archive/v$pkgver/spiritvnc-$pkgver.tar.gz"
+builddir="$srcdir/spiritvnc-fltk-no-libssh2-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ make spiritvnc-fltk
+}
+
+package() {
+ install -Dvm755 spiritvnc-fltk "$pkgdir"/usr/bin/spiritvnc
+}
+
+sha512sums="
+b9442e8ae4035d5b13e9ca2140450a7f75ff3916cac67293ba4813ab1375d3c0e3cae0464b07a639d11ef9abf1556c3c5538483afba9c1aad332bb9e20943296 spiritvnc-0.6.0.tar.gz
+"
diff --git a/testing/spirv-llvm-translator/APKBUILD b/testing/spirv-llvm-translator/APKBUILD
deleted file mode 100644
index d0e7419d54f..00000000000
--- a/testing/spirv-llvm-translator/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Dennis Krupenik <dennis@krupenik.com>
-# Maintainer: Dennis Krupenik <dennis@krupenik.com>
-pkgname=spirv-llvm-translator
-_pkgname=SPIRV-LLVM-Translator
-pkgver=12.0.0
-pkgrel=1
-pkgdesc="Library for bi-directional translation between SPIR-V and LLVM IR"
-url="https://github.com/KhronosGroup/SPIRV-LLVM-Translator"
-arch="all"
-license="NCSA"
-_llvmver=12
-depends_dev="clang-dev llvm$_llvmver-dev spirv-tools-dev"
-makedepends="$depends_dev cmake llvm$_llvmver-static libxml2-dev"
-subpackages="$pkgname-dev"
-source="https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/v$pkgver/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-options="!check" # FIXME: tests require llvm-lit
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- -DLLVM_SPIRV_INCLUDE_TESTS=1 \
- $CMAKE_CROSSOPTS .
- make -C build
-}
-
-package() {
- make -C build DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-c23ef81802d2bf743564762815d7375a804bdf8029efd7430faea0b48b5e30a9778c1175f52309b522a07aadf8ff77461b912c1fb3b95af9b09273a483eac82a SPIRV-LLVM-Translator-12.0.0.tar.gz
-"
diff --git a/testing/splitter/APKBUILD b/testing/splitter/APKBUILD
new file mode 100644
index 00000000000..3fe5845e4fc
--- /dev/null
+++ b/testing/splitter/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=splitter
+pkgver=0.3.0
+pkgrel=0
+pkgdesc="A speedrunning GUI"
+url="https://sr.ht/~stacyharper/splitter/"
+# hare-cairo & hare-xkb currently doesn't build on riscv64
+arch="x86_64 aarch64" # hare
+license="AGPL-3.0-or-later"
+makedepends="
+ wayland-dev
+ wayland-protocols
+ libbsd-dev
+ cairo-dev
+ libxkbcommon-dev
+ hare
+ hari
+ hare-ev
+ hare-wayland
+ hare-cairo
+ hare-xkb
+ scdoc
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~stacyharper/splitter/archive/$pkgver.tar.gz"
+
+# Work-around of https://todo.sr.ht/~sircmpwn/hare/723#event-261138
+case "$CARCH" in
+ aarch64)
+ export LDFLAGS="-no-pie $LDFLAGS"
+ ;;
+esac
+
+build() {
+ make -j1 PREFIX=/usr
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX="/usr" install
+}
+
+sha512sums="
+292dac14028fd90baa8106fdd8944fba987549479469521e88b5788fef15bfd28d4630138341f2786d3e74d5634804473ff2abe8a41fc3bc83c5369ba576a079 splitter-0.3.0.tar.gz
+"
diff --git a/testing/spnavcfg/APKBUILD b/testing/spnavcfg/APKBUILD
new file mode 100644
index 00000000000..56db2146fef
--- /dev/null
+++ b/testing/spnavcfg/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: guddaff <guddaff@protonmail.com>
+# Maintainer: guddaff <guddaff@protonmail.com>
+pkgname=spnavcfg
+pkgver=1.1
+pkgrel=0
+pkgdesc="spacenav interactive configuration GUI"
+url="https://spacenav.sourceforge.net/"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="qt5-qtbase-dev libspnav-dev"
+options="!check" # no checks
+source="$pkgname-$pkgver.tar.gz::https://github.com/FreeSpacenav/spnavcfg/archive/refs/tags/v$pkgver.tar.gz
+ makefile.patch
+ "
+
+build() {
+ # not automake
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+00166b2cf507a449df4cdf2e7865ec002a3b8d193e961c87569b944e1a81bbc4104dd16335c4bf7628a2477cbec2ab07e4f88e6e60792e0156002b52152d3fb7 spnavcfg-1.1.tar.gz
+8391b27c94e83157294d84b32164e2fb82a7998d2df4c07da478eb7294b7c2b49b2b371dbed7bbd2e0ac3264973a97e7a455cf227bb2ac196b7232fe816cd829 makefile.patch
+"
diff --git a/testing/spnavcfg/makefile.patch b/testing/spnavcfg/makefile.patch
new file mode 100644
index 00000000000..8e5d70a65e2
--- /dev/null
+++ b/testing/spnavcfg/makefile.patch
@@ -0,0 +1,14 @@
+Patch-Source: https://aur.archlinux.org/cgit/aur.git/tree/Makefile.in.diff?h=spnavcfg
+diff --git a/Makefile.in b/Makefile.in
+index b760f4d..f66ba22 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2,7 +2,7 @@ csrc = $(wildcard src/*.c)
+ ccsrc = $(wildcard src/*.cc)
+ mochdr = src/ui.h
+ mocsrc = $(mochdr:.h=.moc.cc)
+-obj = $(csrc:.c=.o) $(ccsrc:.cc=.o) $(mocsrc:.cc=.o) res.cc
++obj = $(sort $(csrc:.c=.o) $(ccsrc:.cc=.o) $(mocsrc:.cc=.o)) res.cc
+ dep = $(csrc:.c=.d) $(ccsrc:.cc=.d)
+ bin = spnavcfg
+
diff --git a/testing/sponskrub/APKBUILD b/testing/sponskrub/APKBUILD
index 78a3f6d33b8..f55353937a9 100644
--- a/testing/sponskrub/APKBUILD
+++ b/testing/sponskrub/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Sebastian Hudak <sebastian@sebsite.pw>
pkgname=sponskrub
pkgver=3.7.2
-pkgrel=0
+pkgrel=6
pkgdesc="Command-line utility to strip out advertisements from downloaded YouTube videos"
url="https://github.com/faissaloo/SponSkrub"
arch="x86_64" # limited by dub
@@ -20,4 +20,6 @@ package() {
install -Dm755 sponskrub "$pkgdir"/usr/bin/sponskrub
}
-sha512sums="5584dafed292201baeb36a1b5585d56070b4e3db9e5e2f1600dae6bdc21db43c4e7aa65eb1b881099f7211278613856422de2d53671fdda4f3b0aa3c85c8c5b4 sponskrub-3.7.2.tar.gz"
+sha512sums="
+5584dafed292201baeb36a1b5585d56070b4e3db9e5e2f1600dae6bdc21db43c4e7aa65eb1b881099f7211278613856422de2d53671fdda4f3b0aa3c85c8c5b4 sponskrub-3.7.2.tar.gz
+"
diff --git a/testing/spotify-player/APKBUILD b/testing/spotify-player/APKBUILD
new file mode 100644
index 00000000000..c6f2067f5e5
--- /dev/null
+++ b/testing/spotify-player/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Thomas Kienlen <kommander@laposte.net>
+# Maintainer: Thomas Kienlen <kommander@laposte.net>
+pkgname=spotify-player
+pkgver=0.16.3
+pkgrel=0
+pkgdesc="Command driven spotify player"
+url="https://github.com/aome510/spotify-player"
+arch="x86_64 aarch64 x86 ppc64le" # limited by rust/cargo, does not compile on armv7, armhf
+license="MIT"
+makedepends="
+ alsa-lib-dev
+ cargo
+ cargo-auditable
+ dbus-dev
+ openssl-dev
+ wayland-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/aome510/spotify-player/archive/v$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen \
+ --no-default-features --features 'alsa-backend,media-control,notify,streaming,daemon'
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/spotify_player -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+01c9f3bfa93e410531bc3e070090c7a29bbed815ed2be1e4dbd48b70697198d522a336089e0533d404c7c1c13af59a49263727bd9d0aaf5753773f817e7aa876 spotify-player-0.16.3.tar.gz
+"
diff --git a/testing/spotify-qt/APKBUILD b/testing/spotify-qt/APKBUILD
deleted file mode 100644
index 6383ec93d31..00000000000
--- a/testing/spotify-qt/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=spotify-qt
-pkgver=3.7
-pkgrel=0
-pkgdesc="Lightweight Spotify client using Qt"
-url="https://github.com/kraxarn/spotify-qt"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="cmake qt5-qtbase-dev qt5-qtsvg-dev"
-source="https://github.com/kraxarn/spotify-qt/archive/v$pkgver/spotify-qt-$pkgver.tar.gz
- disable-crash-handler.patch
- "
-options="!check" # no tests provided
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_VERBOSE_MAKEFILE=True \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-c856ae21cbff4acff51909556605c033861a583162516d3d9e97474608861f870a09723f31a99b99ccb32d263333f0da323e4a5353b54b1d4121eccfe62907fa spotify-qt-3.7.tar.gz
-84a6df68ea96aa4657d5379444fb7eb50e64d78722d3028edf8e53161a2b2928eea2102cac72400e37446b9c42efba3d2e88112f35b2fa7624f9da20e5d9ae5d disable-crash-handler.patch
-"
diff --git a/testing/spotify-qt/disable-crash-handler.patch b/testing/spotify-qt/disable-crash-handler.patch
deleted file mode 100644
index f2fdcd01035..00000000000
--- a/testing/spotify-qt/disable-crash-handler.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Fix build on musl.
-
-Patch-Source: https://github.com/void-linux/void-packages/blob/master/srcpkgs/spotify-qt/patches/disable-crash-handler.patch
-
---- a/lib/CMakeLists.txt
-+++ b/lib/CMakeLists.txt
-@@ -26,11 +26,6 @@
- # Version macros
- target_compile_definitions(spotify-qt-lib PUBLIC LIB_VERSION="v${PROJECT_VERSION}")
-
--# Check if using GCC for crash handler support
--if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
-- target_compile_definitions(spotify-qt-lib PRIVATE IS_GNU_CXX)
--endif ()
--
- # Link optional libraries
- if (LIB_QT_LIBRARIES)
- target_link_libraries(spotify-qt-lib PRIVATE ${LIB_QT_LIBRARIES})
diff --git a/testing/spotify-tui/APKBUILD b/testing/spotify-tui/APKBUILD
index 714c8164a58..b68df8cd3f9 100644
--- a/testing/spotify-tui/APKBUILD
+++ b/testing/spotify-tui/APKBUILD
@@ -2,34 +2,28 @@
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=spotify-tui
pkgver=0.25.0
-pkgrel=0
+pkgrel=2
pkgdesc="Spotify for the terminal written in Rust"
url="https://github.com/Rigellute/spotify-tui"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
license="MIT"
-makedepends="rust cargo openssl-dev libxcb-dev python3"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Rigellute/spotify-tui/archive/v$pkgver/spotifyd-$pkgver.tar.gz"
+makedepends="cargo openssl-dev libxcb-dev python3 cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Rigellute/spotify-tui/archive/v$pkgver/spotifyd-$pkgver.tar.gz
+ deps.patch
+ "
prepare() {
default_prepare
- # Optimize binary for size (9 MiB -> 4.4 MiB).
- cat >> Cargo.toml <<-EOF
-
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "z"
- panic = "abort"
- EOF
+ cargo fetch --target="$CTARGET" --locked
}
build() {
- cargo build --release --locked --target-dir "target/"
+ cargo auditable build --release --frozen
}
check() {
- cargo test --locked --target-dir=target
+ cargo test --frozen
}
package() {
@@ -38,4 +32,5 @@ package() {
sha512sums="
92a2ab53059b7d58e502a732f16a8eb725e19ea2e13c4f63dd64e3f0d62a3999f6b6b338c396db734f6ee9d63459da15e69b392f945c8f967d794447ac5ff8a4 spotify-tui-0.25.0.tar.gz
+6e0e8b5c6e1c9417f85ad2b04d80ce86743080755668e1685e1361ef7cc621dd6c84ee4da973853123389d18eb97d9fbbc2d9e9ed0ffca75246eadf44040f0fc deps.patch
"
diff --git a/testing/spotify-tui/deps.patch b/testing/spotify-tui/deps.patch
new file mode 100644
index 00000000000..6f06532f109
--- /dev/null
+++ b/testing/spotify-tui/deps.patch
@@ -0,0 +1,2603 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index fa129f0..d7464d3 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -4,18 +4,18 @@ version = 3
+
+ [[package]]
+ name = "addr2line"
+-version = "0.14.1"
++version = "0.19.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a55f82cfe485775d02112886f4169bde0c5894d75e79ead7eafe7e40a25e45f7"
++checksum = "a76fd60b23679b7d19bd066031410fb7e458ccc5e958eb5c325888ce4baedc97"
+ dependencies = [
+ "gimli",
+ ]
+
+ [[package]]
+ name = "adler"
+-version = "0.2.3"
++version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ee2a4ec343196209d6594e19543ae87a39f96d5534d7174822a3ad825dd6ed7e"
++checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
+
+ [[package]]
+ name = "adler32"
+@@ -25,93 +25,95 @@ checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234"
+
+ [[package]]
+ name = "aho-corasick"
+-version = "0.7.13"
++version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "043164d8ba5c4c3035fec9bbee8647c0261d788f3474306f93bb65901cae0e86"
++checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04"
+ dependencies = [
+ "memchr",
+ ]
+
+ [[package]]
+-name = "ansi_term"
+-version = "0.11.0"
++name = "android_system_properties"
++version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
++checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+ dependencies = [
+ "winapi 0.3.9",
+ ]
+
+ [[package]]
+ name = "anyhow"
+-version = "1.0.43"
++version = "1.0.71"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "28ae2b3dec75a406790005a200b1bd89785afc02517a00ca99ecfe093ee9e6cf"
++checksum = "9c7d0618f0e0b7e8ff11427422b64564d5fb0be1940354bfe2e0529b18a9d9b8"
+
+ [[package]]
+ name = "arboard"
+-version = "1.2.0"
++version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c3ac39a01d5684967619a6755f3cfc397e5202b5f012d0954ac5016f4b2a33eb"
++checksum = "47044a1809e2953fe6d084312b81dcb7d9ffc24fee45aa39e5b938f66f75b8a8"
+ dependencies = [
+ "clipboard-win",
+ "core-graphics",
+ "image",
+- "lazy_static",
+ "log",
+ "objc",
+ "objc-foundation",
+ "objc_id",
++ "once_cell",
++ "parking_lot",
+ "scopeguard",
+ "thiserror",
+ "winapi 0.3.9",
+ "x11rb",
+ ]
+
+-[[package]]
+-name = "arrayref"
+-version = "0.3.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
+-
+-[[package]]
+-name = "arrayvec"
+-version = "0.5.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cff77d8686867eceff3105329d4698d96c2391c176d5d03adc90c7389162b5b8"
+-
+ [[package]]
+ name = "atty"
+ version = "0.2.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+ dependencies = [
+- "hermit-abi",
++ "hermit-abi 0.1.19",
+ "libc",
+ "winapi 0.3.9",
+ ]
+
+ [[package]]
+ name = "autocfg"
+-version = "0.1.7"
++version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1d49d90015b3c36167a20fe2810c5cd875ad504b39cff3d4eae7977e6b7c1cb2"
++checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
++dependencies = [
++ "autocfg 1.1.0",
++]
+
+ [[package]]
+ name = "autocfg"
+-version = "1.0.0"
++version = "1.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f8aac770f1885fd7e387acedd76065302551364496e46b3dd00860b2f8359b9d"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+ [[package]]
+ name = "backtrace"
+-version = "0.3.56"
++version = "0.3.67"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9d117600f438b1707d4e4ae15d3595657288f8235a0eb593e80ecc98ab34e1bc"
++checksum = "233d376d6d185f2a3093e58f283f60f880315b6c60075b01f36b3b85154564ca"
+ dependencies = [
+ "addr2line",
++ "cc",
+ "cfg-if 1.0.0",
+ "libc",
+- "miniz_oxide 0.4.3",
++ "miniz_oxide 0.6.2",
+ "object",
+ "rustc-demangle",
+ ]
+@@ -127,15 +129,9 @@ dependencies = [
+
+ [[package]]
+ name = "base64"
+-version = "0.11.0"
++version = "0.13.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b41b7ea54a0c9d92199de89e20e58d49f02f8e699814ef3fdf266f6f748d15c7"
+-
+-[[package]]
+-name = "base64"
+-version = "0.12.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
++checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
+
+ [[package]]
+ name = "bitflags"
+@@ -143,17 +139,6 @@ version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+
+-[[package]]
+-name = "blake2b_simd"
+-version = "0.5.10"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d8fb2d74254a3a0b5cac33ac9f8ed0e44aa50378d9dbb2e5d83bd21ed1dc2c8a"
+-dependencies = [
+- "arrayref",
+- "arrayvec",
+- "constant_time_eq",
+-]
+-
+ [[package]]
+ name = "block"
+ version = "0.1.6"
+@@ -162,21 +147,21 @@ checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a"
+
+ [[package]]
+ name = "bumpalo"
+-version = "3.4.0"
++version = "3.13.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2e8c087f005730276d1096a652e92a8bacee2e2472bcc9715a74d2bec38b5820"
++checksum = "a3e2c3daef883ecc1b5d58c15adae93470a91d425f3532ba1695849656af3fc1"
+
+ [[package]]
+ name = "bytemuck"
+-version = "1.4.1"
++version = "1.13.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "41aa2ec95ca3b5c54cf73c91acf06d24f4495d5f1b1c12506ae3483d646177ac"
++checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea"
+
+ [[package]]
+ name = "byteorder"
+-version = "1.3.4"
++version = "1.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "08c48aae112d48ed9f069b33538ea9e3e90aa263cfa3d1c24309612b1f7472de"
++checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
+
+ [[package]]
+ name = "bytes"
+@@ -194,6 +179,12 @@ version = "0.5.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
+
++[[package]]
++name = "bytes"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
++
+ [[package]]
+ name = "cassowary"
+ version = "0.3.0"
+@@ -202,9 +193,9 @@ checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
+
+ [[package]]
+ name = "cc"
+-version = "1.0.58"
++version = "1.0.79"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f9a06fb2e53271d7c279ec1efea6ab691c35a2ae67ec0d91d7acec0caf13b518"
++checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
+
+ [[package]]
+ name = "cfg-if"
+@@ -220,22 +211,26 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "chrono"
+-version = "0.4.13"
++version = "0.4.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c74d84029116787153e02106bf53e66828452a4b325cc8652b788b5967c0a0b6"
++checksum = "4e3c5919066adf22df73762e50cffcde3a758f2a848b113b586d1f86728b673b"
+ dependencies = [
++ "iana-time-zone",
++ "js-sys",
+ "num-integer",
+ "num-traits",
+ "rustc-serialize",
+ "serde",
+ "time",
++ "wasm-bindgen",
++ "winapi 0.3.9",
+ ]
+
+ [[package]]
+ name = "clap"
+-version = "2.33.3"
++version = "2.34.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
++checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+ dependencies = [
+ "ansi_term",
+ "atty",
+@@ -248,9 +243,9 @@ dependencies = [
+
+ [[package]]
+ name = "clipboard-win"
+-version = "4.0.3"
++version = "4.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5123c6b97286809fea9e38d2c9bf530edbcb9fc0d8f8272c28b0c95f067fa92d"
++checksum = "7191c27c2357d9b7ef96baac1773290d4ca63b24205b82a3fd8a0637afcf0362"
+ dependencies = [
+ "error-code",
+ "str-buf",
+@@ -266,58 +261,27 @@ dependencies = [
+ "bitflags",
+ ]
+
+-[[package]]
+-name = "cloudabi"
+-version = "0.1.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4344512281c643ae7638bbabc3af17a11307803ec8f0fcad9fae512a8bf36467"
+-dependencies = [
+- "bitflags",
+-]
+-
+ [[package]]
+ name = "color_quant"
+ version = "1.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b"
+
+-[[package]]
+-name = "constant_time_eq"
+-version = "0.1.5"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc"
+-
+ [[package]]
+ name = "core-foundation"
+-version = "0.7.0"
++version = "0.9.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "57d24c7a13c43e870e37c1556b74555437870a04514f7685f5b354e090567171"
++checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
+ dependencies = [
+- "core-foundation-sys 0.7.0",
+- "libc",
+-]
+-
+-[[package]]
+-name = "core-foundation"
+-version = "0.9.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62"
+-dependencies = [
+- "core-foundation-sys 0.8.2",
++ "core-foundation-sys",
+ "libc",
+ ]
+
+ [[package]]
+ name = "core-foundation-sys"
+-version = "0.7.0"
++version = "0.8.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b3a71ab494c0b5b860bdc8407ae08978052417070c2ced38573a9157ad75b8ac"
+-
+-[[package]]
+-name = "core-foundation-sys"
+-version = "0.8.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b"
++checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
+
+ [[package]]
+ name = "core-graphics"
+@@ -326,31 +290,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "52a67c4378cf203eace8fb6567847eb641fd6ff933c1145a115c6ee820ebb978"
+ dependencies = [
+ "bitflags",
+- "core-foundation 0.9.1",
++ "core-foundation",
+ "foreign-types",
+ "libc",
+ ]
+
+ [[package]]
+ name = "crc32fast"
+-version = "1.2.1"
++version = "1.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a"
++checksum = "b540bd8bc810d3885c6ea91e2018302f68baba2129ab3e88f32389ee9370880d"
+ dependencies = [
+ "cfg-if 1.0.0",
+ ]
+
+-[[package]]
+-name = "crossbeam-utils"
+-version = "0.7.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c3c7c73a2d1e9fc0886a08b93e98eb643461230d5f1925e4036204d5f2e261a8"
+-dependencies = [
+- "autocfg 1.0.0",
+- "cfg-if 0.1.10",
+- "lazy_static",
+-]
+-
+ [[package]]
+ name = "crossterm"
+ version = "0.20.0"
+@@ -360,7 +313,7 @@ dependencies = [
+ "bitflags",
+ "crossterm_winapi",
+ "libc",
+- "mio 0.7.0",
++ "mio 0.7.14",
+ "parking_lot",
+ "signal-hook",
+ "signal-hook-mio",
+@@ -448,18 +401,18 @@ dependencies = [
+
+ [[package]]
+ name = "dirs"
+-version = "3.0.1"
++version = "3.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "142995ed02755914747cc6ca76fc7e4583cd18578746716d0508ea6ed558b9ff"
++checksum = "30baa043103c9d0c2a57cf537cc2f35623889dc0d405e6c3cccfadbc81c71309"
+ dependencies = [
+ "dirs-sys",
+ ]
+
+ [[package]]
+ name = "dirs-sys"
+-version = "0.3.5"
++version = "0.3.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8e93d7f5705de3e49895a2b5e0b8855a1c27f080192ae9c32a6432d50741a57a"
++checksum = "1b1d1d91c932ef41c0f2663aa8b0ca0342d444d842c06914aa0a7e352d0bada6"
+ dependencies = [
+ "libc",
+ "redox_users",
+@@ -477,25 +430,19 @@ dependencies = [
+ "regex",
+ ]
+
+-[[package]]
+-name = "dtoa"
+-version = "0.4.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "134951f4028bdadb9b84baf4232681efbf277da25144b9b0ad65df75946c422b"
+-
+ [[package]]
+ name = "either"
+-version = "1.5.3"
++version = "1.8.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "bb1f6b1ce1c140482ea30ddd3335fc0024ac7ee112895426e0a629a6c20adfe3"
++checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91"
+
+ [[package]]
+ name = "encoding_rs"
+-version = "0.8.23"
++version = "0.8.32"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e8ac63f94732332f44fe654443c46f6375d1939684c17b0afb6cb56b0456e171"
++checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394"
+ dependencies = [
+- "cfg-if 0.1.10",
++ "cfg-if 1.0.0",
+ ]
+
+ [[package]]
+@@ -512,10 +459,31 @@ dependencies = [
+ ]
+
+ [[package]]
+-name = "error-code"
+-version = "2.0.2"
++name = "errno"
++version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b49c94f66f2d2c5ee8685039e458b4e6c9f13af7c28736baf10ce42966a5ab52"
++checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
++dependencies = [
++ "errno-dragonfly",
++ "libc",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "errno-dragonfly"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
++dependencies = [
++ "cc",
++ "libc",
++]
++
++[[package]]
++name = "error-code"
++version = "2.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "64f18991e7bf11e7ffee451b5318b5c1a73c52d0d0ada6e5a3017c8c1ced6a21"
+ dependencies = [
+ "libc",
+ "str-buf",
+@@ -537,12 +505,21 @@ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "aa4da3c766cd7a0db8242e326e9e4e081edd567072893ed320008189715366a4"
+ dependencies = [
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 1.0.109",
+ "synstructure",
+ ]
+
++[[package]]
++name = "fastrand"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be"
++dependencies = [
++ "instant",
++]
++
+ [[package]]
+ name = "fnv"
+ version = "1.0.7"
+@@ -564,6 +541,15 @@ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
++[[package]]
++name = "form_urlencoded"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8"
++dependencies = [
++ "percent-encoding 2.2.0",
++]
++
+ [[package]]
+ name = "fuchsia-cprng"
+ version = "0.1.1"
+@@ -588,9 +574,9 @@ checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+ [[package]]
+ name = "futures"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1e05b85ec287aac0dc34db7d4a569323df697f9c55b99b15d6b4ef8cde49f613"
++checksum = "23342abe12aba583913b2e62f22225ff9c950774065e4bfb61a19cd9770fec40"
+ dependencies = [
+ "futures-channel",
+ "futures-core",
+@@ -603,9 +589,9 @@ dependencies = [
+
+ [[package]]
+ name = "futures-channel"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f366ad74c28cca6ba456d95e6422883cfb4b252a83bed929c83abfdbbf2967d5"
++checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2"
+ dependencies = [
+ "futures-core",
+ "futures-sink",
+@@ -613,15 +599,15 @@ dependencies = [
+
+ [[package]]
+ name = "futures-core"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "59f5fff90fd5d971f936ad674802482ba441b6f09ba5e15fd8b39145582ca399"
++checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c"
+
+ [[package]]
+ name = "futures-executor"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "10d6bb888be1153d3abeb9006b11b02cf5e9b209fda28693c31ae1e4e012e314"
++checksum = "ccecee823288125bd88b4d7f565c9e58e41858e47ab72e8ea2d64e93624386e0"
+ dependencies = [
+ "futures-core",
+ "futures-task",
+@@ -630,42 +616,38 @@ dependencies = [
+
+ [[package]]
+ name = "futures-io"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "de27142b013a8e869c14957e6d2edeef89e97c289e69d042ee3a49acd8b51789"
++checksum = "4fff74096e71ed47f8e023204cfd0aa1289cd54ae5430a9523be060cdb849964"
+
+ [[package]]
+ name = "futures-macro"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d0b5a30a4328ab5473878237c447333c093297bded83a4983d10f4deea240d39"
++checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72"
+ dependencies = [
+- "proc-macro-hack",
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 2.0.16",
+ ]
+
+ [[package]]
+ name = "futures-sink"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3f2032893cb734c7a05d85ce0cc8b8c4075278e93b24b66f9de99d6eb0fa8acc"
++checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e"
+
+ [[package]]
+ name = "futures-task"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "bdb66b5f09e22019b1ab0830f7785bcea8e7a42148683f99214f73f8ec21a626"
+-dependencies = [
+- "once_cell",
+-]
++checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65"
+
+ [[package]]
+ name = "futures-util"
+-version = "0.3.5"
++version = "0.3.28"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8764574ff08b701a084482c3c7031349104b07ac897393010494beaa18ce32c6"
++checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533"
+ dependencies = [
+ "futures-channel",
+ "futures-core",
+@@ -674,18 +656,16 @@ dependencies = [
+ "futures-sink",
+ "futures-task",
+ "memchr",
+- "pin-project",
++ "pin-project-lite 0.2.9",
+ "pin-utils",
+- "proc-macro-hack",
+- "proc-macro-nested",
+ "slab",
+ ]
+
+ [[package]]
+ name = "gethostname"
+-version = "0.2.1"
++version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e692e296bfac1d2533ef168d0b60ff5897b8b70a4009276834014dd8924cc028"
++checksum = "c1ebd34e35c46e00bb73e81363248d627782724609fe1b6396f553f68fe3862e"
+ dependencies = [
+ "libc",
+ "winapi 0.3.9",
+@@ -693,37 +673,26 @@ dependencies = [
+
+ [[package]]
+ name = "getrandom"
+-version = "0.1.14"
++version = "0.2.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7abc8dd8451921606d809ba32e95b6111925cd2906060d2dcc29c070220503eb"
+-dependencies = [
+- "cfg-if 0.1.10",
+- "libc",
+- "wasi 0.9.0+wasi-snapshot-preview1",
+-]
+-
+-[[package]]
+-name = "getrandom"
+-version = "0.2.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c9495705279e7140bf035dde1f6e750c162df8b625267cd52cc44e0b156732c8"
++checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4"
+ dependencies = [
+ "cfg-if 1.0.0",
+ "libc",
+- "wasi 0.10.2+wasi-snapshot-preview1",
++ "wasi 0.11.0+wasi-snapshot-preview1",
+ ]
+
+ [[package]]
+ name = "gimli"
+-version = "0.23.0"
++version = "0.27.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f6503fe142514ca4799d4c26297c4248239fe8838d827db6bd6065c6ed29a6ce"
++checksum = "ad0a93d233ebf96623465aad4046a8d3aa4da22d4f4beba5388838c8a434bbb4"
+
+ [[package]]
+ name = "h2"
+-version = "0.2.6"
++version = "0.2.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "993f9e0baeed60001cf565546b0d3dbe6a6ad23f2bd31644a133c641eccf6d53"
++checksum = "5e4728fd124914ad25e99e3d15a9361a879f6620f63cb56bbb08f95abb97a535"
+ dependencies = [
+ "bytes 0.5.6",
+ "fnv",
+@@ -736,35 +705,48 @@ dependencies = [
+ "tokio",
+ "tokio-util",
+ "tracing",
++ "tracing-futures",
+ ]
+
+ [[package]]
+ name = "hashbrown"
+-version = "0.8.1"
++version = "0.12.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "34f595585f103464d8d2f6e9864682d74c1601fed5e07d62b1c9058dba8246fb"
+-dependencies = [
+- "autocfg 1.0.0",
+-]
++checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+
+ [[package]]
+ name = "hermit-abi"
+-version = "0.1.15"
++version = "0.1.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3deed196b6e7f9e44a2ae8d94225d80302d81208b1bb673fd21fe634645c85a9"
++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+ dependencies = [
+ "libc",
+ ]
+
+ [[package]]
+-name = "http"
+-version = "0.2.1"
++name = "hermit-abi"
++version = "0.2.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "28d569972648b2c512421b5f2a405ad6ac9666547189d0c5477a3f200f3e02f9"
++checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7"
+ dependencies = [
+- "bytes 0.5.6",
++ "libc",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286"
++
++[[package]]
++name = "http"
++version = "0.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482"
++dependencies = [
++ "bytes 1.4.0",
+ "fnv",
+- "itoa",
++ "itoa 1.0.6",
+ ]
+
+ [[package]]
+@@ -779,9 +761,15 @@ dependencies = [
+
+ [[package]]
+ name = "httparse"
+-version = "1.3.4"
++version = "1.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cd179ae861f0c2e53da70d892f5f3029f9594be0c41dc5269cd371691b1dc2f9"
++checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904"
++
++[[package]]
++name = "httpdate"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "494b4d60369511e7dea41cf646832512a94e542f68bb9c49e54518e0f468eb47"
+
+ [[package]]
+ name = "humantime"
+@@ -794,9 +782,9 @@ dependencies = [
+
+ [[package]]
+ name = "hyper"
+-version = "0.13.7"
++version = "0.13.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3e68a8dd9716185d9e64ea473ea6ef63529252e3e27623295a0378a19665d5eb"
++checksum = "8a6f157065790a3ed2f88679250419b5cdd96e714a0d65f7797fd337186e96bb"
+ dependencies = [
+ "bytes 0.5.6",
+ "futures-channel",
+@@ -806,10 +794,10 @@ dependencies = [
+ "http",
+ "http-body",
+ "httparse",
+- "itoa",
++ "httpdate",
++ "itoa 0.4.8",
+ "pin-project",
+ "socket2",
+- "time",
+ "tokio",
+ "tower-service",
+ "tracing",
+@@ -829,6 +817,29 @@ dependencies = [
+ "tokio-tls",
+ ]
+
++[[package]]
++name = "iana-time-zone"
++version = "0.1.56"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0722cd7114b7de04316e7ea5456a0bbb20e4adb46fd27a3697adb812cff0f37c"
++dependencies = [
++ "android_system_properties",
++ "core-foundation-sys",
++ "iana-time-zone-haiku",
++ "js-sys",
++ "wasm-bindgen",
++ "windows",
++]
++
++[[package]]
++name = "iana-time-zone-haiku"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
++dependencies = [
++ "cc",
++]
++
+ [[package]]
+ name = "ident_case"
+ version = "1.0.1"
+@@ -848,20 +859,19 @@ dependencies = [
+
+ [[package]]
+ name = "idna"
+-version = "0.2.0"
++version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "02e2673c30ee86b5b96a9cb52ad15718aa1f966f5ab9ad54a8b95d5ca33120a9"
++checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6"
+ dependencies = [
+- "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+ ]
+
+ [[package]]
+ name = "image"
+-version = "0.23.12"
++version = "0.23.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7ce04077ead78e39ae8610ad26216aed811996b043d47beed5090db674f9e9b5"
++checksum = "24ffcb7e7244a9bf19d35bf2883b9c080c4ced3c07a9895572178cdb8f13f6a1"
+ dependencies = [
+ "bytemuck",
+ "byteorder",
+@@ -875,21 +885,32 @@ dependencies = [
+
+ [[package]]
+ name = "indexmap"
+-version = "1.5.0"
++version = "1.9.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5b88cd59ee5f71fea89a62248fc8f387d44400cefe05ef548466d61ced9029a7"
++checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99"
+ dependencies = [
+- "autocfg 1.0.0",
++ "autocfg 1.1.0",
+ "hashbrown",
+ ]
+
+ [[package]]
+ name = "instant"
+-version = "0.1.7"
++version = "0.1.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "63312a18f7ea8760cdd0a7c5aac1a619752a246b833545e3e36d1f81f7cd9e66"
++checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
+ dependencies = [
+- "cfg-if 0.1.10",
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "io-lifetimes"
++version = "1.0.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220"
++dependencies = [
++ "hermit-abi 0.3.1",
++ "libc",
++ "windows-sys 0.48.0",
+ ]
+
+ [[package]]
+@@ -901,6 +922,12 @@ dependencies = [
+ "libc",
+ ]
+
++[[package]]
++name = "ipnet"
++version = "2.7.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f"
++
+ [[package]]
+ name = "itertools"
+ version = "0.8.2"
+@@ -912,24 +939,27 @@ dependencies = [
+
+ [[package]]
+ name = "itoa"
+-version = "0.4.6"
++version = "0.4.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dc6f3ad7b9d11a0c00842ff8de1b60ee58661048eb8049ed33c73594f359d7e6"
++checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
++
++[[package]]
++name = "itoa"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6"
+
+ [[package]]
+ name = "jpeg-decoder"
+-version = "0.1.20"
++version = "0.1.22"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cc797adac5f083b8ff0ca6f6294a999393d76e197c36488e2ef732c4715f6fa3"
+-dependencies = [
+- "byteorder",
+-]
++checksum = "229d53d58899083193af11e15917b5640cd40b29ff475a1fe4ef725deb02d0f2"
+
+ [[package]]
+ name = "js-sys"
+-version = "0.3.42"
++version = "0.3.63"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "52732a3d3ad72c58ad2dc70624f9c17b46ecd0943b9a4f1ee37c4c18c5d983e2"
++checksum = "2f37a4a5928311ac501dee68b3c7613a1037d0edb30c8e5427bd832d55d1b790"
+ dependencies = [
+ "wasm-bindgen",
+ ]
+@@ -952,32 +982,39 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+ [[package]]
+ name = "libc"
+-version = "0.2.82"
++version = "0.2.144"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929"
++checksum = "2b00cc1c228a6782d0f076e7b232802e0c5689d41bb5df366f2a6b6621cfdfe1"
+
+ [[package]]
+ name = "linked-hash-map"
+-version = "0.5.3"
++version = "0.5.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8dd5a6d5999d9907cda8ed67bbd137d3af8085216c2ac62de5be860bd41f304a"
++checksum = "0717cef1bc8b636c6e1c1bbdefc09e6322da8a9321966e8928ef80d20f7f770f"
++
++[[package]]
++name = "linux-raw-sys"
++version = "0.3.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+ [[package]]
+ name = "lock_api"
+-version = "0.4.1"
++version = "0.4.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "28247cc5a5be2f05fbcd76dd0cf2c7d3b5400cb978a28042abcd4fa0b3f8261c"
++checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df"
+ dependencies = [
++ "autocfg 1.1.0",
+ "scopeguard",
+ ]
+
+ [[package]]
+ name = "log"
+-version = "0.4.11"
++version = "0.4.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4fabed175da42fed1fa0746b0ea71f412aa9d35e76e95e59b192c64b9dc2bf8b"
++checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+ dependencies = [
+- "cfg-if 0.1.10",
++ "cfg-if 1.0.0",
+ ]
+
+ [[package]]
+@@ -991,27 +1028,36 @@ dependencies = [
+
+ [[package]]
+ name = "matches"
+-version = "0.1.8"
++version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
++checksum = "2532096657941c2fea9c289d370a250971c689d4f143798ff67113ec042024a5"
+
+ [[package]]
+ name = "memchr"
+-version = "2.3.3"
++version = "2.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
++checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
++
++[[package]]
++name = "memoffset"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
++dependencies = [
++ "autocfg 1.1.0",
++]
+
+ [[package]]
+ name = "mime"
+-version = "0.3.16"
++version = "0.3.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d"
++checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
+
+ [[package]]
+ name = "mime_guess"
+-version = "2.0.3"
++version = "2.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2684d4c2e97d99848d30b324b00c8fcc7e5c897b7cbb5819b09e7c90e8baf212"
++checksum = "4192263c238a5f0d0c6bfd21f336a313a4ce1c450542449ca191bb657b4642ef"
+ dependencies = [
+ "mime",
+ "unicase",
+@@ -1028,12 +1074,21 @@ dependencies = [
+
+ [[package]]
+ name = "miniz_oxide"
+-version = "0.4.3"
++version = "0.4.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0f2d26ec3309788e423cfbf68ad1800f061638098d76a83681af979dc4eda19d"
++checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b"
++dependencies = [
++ "adler",
++ "autocfg 1.1.0",
++]
++
++[[package]]
++name = "miniz_oxide"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b275950c28b37e794e8c55d88aeb5e139d0ce23fdbbeda68f8d7174abdf9e8fa"
+ dependencies = [
+ "adler",
+- "autocfg 1.0.0",
+ ]
+
+ [[package]]
+@@ -1057,14 +1112,13 @@ dependencies = [
+
+ [[package]]
+ name = "mio"
+-version = "0.7.0"
++version = "0.7.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6e9971bc8349a361217a8f2a41f5d011274686bd4436465ba51730921039d7fb"
++checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc"
+ dependencies = [
+- "lazy_static",
+ "libc",
+ "log",
+- "miow 0.3.5",
++ "miow 0.3.7",
+ "ntapi",
+ "winapi 0.3.9",
+ ]
+@@ -1077,7 +1131,7 @@ checksum = "0840c1c50fd55e521b247f949c241c9997709f23bd7f023b9762cd561e935656"
+ dependencies = [
+ "log",
+ "mio 0.6.23",
+- "miow 0.3.5",
++ "miow 0.3.7",
+ "winapi 0.3.9",
+ ]
+
+@@ -1106,19 +1160,18 @@ dependencies = [
+
+ [[package]]
+ name = "miow"
+-version = "0.3.5"
++version = "0.3.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "07b88fb9795d4d36d62a012dfbf49a8f5cf12751f36d31a9dbe66d528e58979e"
++checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21"
+ dependencies = [
+- "socket2",
+ "winapi 0.3.9",
+ ]
+
+ [[package]]
+ name = "native-tls"
+-version = "0.2.4"
++version = "0.2.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2b0d88c06fe90d5ee94048ba40409ef1d9315d86f6f38c2efdaad4fb50c58b2d"
++checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
+ dependencies = [
+ "lazy_static",
+ "libc",
+@@ -1134,9 +1187,9 @@ dependencies = [
+
+ [[package]]
+ name = "net2"
+-version = "0.2.37"
++version = "0.2.38"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "391630d12b68002ae1e25e8f974306474966550ad82dac6886fb8910c19568ae"
++checksum = "74d0df99cfcd2530b2e694f6e17e7f37b8e26bb23983ac530c0c97408837c631"
+ dependencies = [
+ "cfg-if 0.1.10",
+ "libc",
+@@ -1145,42 +1198,43 @@ dependencies = [
+
+ [[package]]
+ name = "nix"
+-version = "0.20.0"
++version = "0.20.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
++checksum = "f5e06129fb611568ef4e868c14b326274959aa70ff7776e9d55323531c374945"
+ dependencies = [
+ "bitflags",
+ "cc",
+ "cfg-if 1.0.0",
+ "libc",
++ "memoffset",
+ ]
+
+ [[package]]
+ name = "ntapi"
+-version = "0.3.4"
++version = "0.3.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2"
++checksum = "c28774a7fd2fbb4f0babd8237ce554b73af68021b5f695a3cebd6c59bac0980f"
+ dependencies = [
+ "winapi 0.3.9",
+ ]
+
+ [[package]]
+ name = "num-integer"
+-version = "0.1.43"
++version = "0.1.45"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8d59457e662d541ba17869cf51cf177c0b5f0cbf476c66bdc90bf1edac4f875b"
++checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+ dependencies = [
+- "autocfg 1.0.0",
++ "autocfg 1.1.0",
+ "num-traits",
+ ]
+
+ [[package]]
+ name = "num-iter"
+-version = "0.1.42"
++version = "0.1.43"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59"
++checksum = "7d03e6c028c5dc5cac6e2dec0efda81fc887605bb3d884578bb6d6bf7514e252"
+ dependencies = [
+- "autocfg 1.0.0",
++ "autocfg 1.1.0",
+ "num-integer",
+ "num-traits",
+ ]
+@@ -1191,27 +1245,27 @@ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "12ac428b1cb17fce6f731001d307d351ec70a6d202fc2e60f7d4c5e42d8f4f07"
+ dependencies = [
+- "autocfg 1.0.0",
++ "autocfg 1.1.0",
+ "num-integer",
+ "num-traits",
+ ]
+
+ [[package]]
+ name = "num-traits"
+-version = "0.2.12"
++version = "0.2.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ac267bcc07f48ee5f8935ab0d24f316fb722d7a1292e2913f0cc196b29ffd611"
++checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+ dependencies = [
+- "autocfg 1.0.0",
++ "autocfg 1.1.0",
+ ]
+
+ [[package]]
+ name = "num_cpus"
+-version = "1.13.0"
++version = "1.15.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3"
++checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b"
+ dependencies = [
+- "hermit-abi",
++ "hermit-abi 0.2.6",
+ "libc",
+ ]
+
+@@ -1246,43 +1300,57 @@ dependencies = [
+
+ [[package]]
+ name = "object"
+-version = "0.23.0"
++version = "0.30.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a9a7ab5d64814df0fe4a4b5ead45ed6c5f181ee3ff04ba344313a6c80446c5d4"
++checksum = "ea86265d3d3dcb6a27fc51bd29a4bf387fae9d2986b823079d4986af253eb439"
++dependencies = [
++ "memchr",
++]
+
+ [[package]]
+ name = "once_cell"
+-version = "1.4.0"
++version = "1.17.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d"
++checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3"
+
+ [[package]]
+ name = "openssl"
+-version = "0.10.30"
++version = "0.10.52"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8d575eff3665419f9b83678ff2815858ad9d11567e082f5ac1814baba4e2bcb4"
++checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56"
+ dependencies = [
+ "bitflags",
+- "cfg-if 0.1.10",
++ "cfg-if 1.0.0",
+ "foreign-types",
+- "lazy_static",
+ "libc",
++ "once_cell",
++ "openssl-macros",
+ "openssl-sys",
+ ]
+
+ [[package]]
+-name = "openssl-probe"
+-version = "0.1.2"
++name = "openssl-macros"
++version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
++checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
++dependencies = [
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 2.0.16",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
+ [[package]]
+ name = "openssl-sys"
+-version = "0.9.58"
++version = "0.9.87"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a842db4709b604f0fe5d1170ae3565899be2ad3d9cbc72dedc789ac0511f78de"
++checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e"
+ dependencies = [
+- "autocfg 1.0.0",
+ "cc",
+ "libc",
+ "pkg-config",
+@@ -1291,9 +1359,9 @@ dependencies = [
+
+ [[package]]
+ name = "parking_lot"
+-version = "0.11.0"
++version = "0.11.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a4893845fa2ca272e647da5d0e46660a314ead9c2fdd9a883aabc32e481a8733"
++checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99"
+ dependencies = [
+ "instant",
+ "lock_api",
+@@ -1302,15 +1370,14 @@ dependencies = [
+
+ [[package]]
+ name = "parking_lot_core"
+-version = "0.8.0"
++version = "0.8.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c361aa727dd08437f2f1447be8b59a33b0edd15e0fcee698f935613d9efbca9b"
++checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
+ dependencies = [
+- "cfg-if 0.1.10",
+- "cloudabi 0.1.0",
++ "cfg-if 1.0.0",
+ "instant",
+ "libc",
+- "redox_syscall",
++ "redox_syscall 0.2.16",
+ "smallvec",
+ "winapi 0.3.9",
+ ]
+@@ -1323,35 +1390,41 @@ checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+
+ [[package]]
+ name = "percent-encoding"
+-version = "2.1.0"
++version = "2.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
++checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e"
+
+ [[package]]
+ name = "pin-project"
+-version = "0.4.22"
++version = "1.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "12e3a6cdbfe94a5e4572812a0201f8c0ed98c1c452c7b8563ce2276988ef9c17"
++checksum = "c95a7476719eab1e366eaf73d0260af3021184f18177925b07f54b30089ceead"
+ dependencies = [
+ "pin-project-internal",
+ ]
+
+ [[package]]
+ name = "pin-project-internal"
+-version = "0.4.22"
++version = "1.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6a0ffd45cf79d88737d7cc85bfd5d2894bee1139b356e616fe85dc389c61aaf7"
++checksum = "39407670928234ebc5e6e580247dd567ad73a3578460c5990f9503df207e8f07"
+ dependencies = [
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 2.0.16",
+ ]
+
+ [[package]]
+ name = "pin-project-lite"
+-version = "0.1.7"
++version = "0.1.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "282adbf10f2698a7a77f8e983a74b2d18176c19a7fd32a45446139ae7b02b715"
++checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777"
++
++[[package]]
++name = "pin-project-lite"
++version = "0.2.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+ [[package]]
+ name = "pin-utils"
+@@ -1361,9 +1434,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
+ [[package]]
+ name = "pkg-config"
+-version = "0.3.18"
++version = "0.3.27"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d36492546b6af1463394d46f0c834346f31548646f6ba10849802c9c9a27ac33"
++checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
+
+ [[package]]
+ name = "png"
+@@ -1379,21 +1452,9 @@ dependencies = [
+
+ [[package]]
+ name = "ppv-lite86"
+-version = "0.2.8"
++version = "0.2.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "237a5ed80e274dbc66f86bd59c1e25edc039660be53194b5fe0a482e0f2612ea"
+-
+-[[package]]
+-name = "proc-macro-hack"
+-version = "0.5.16"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7e0456befd48169b9f13ef0f0ad46d492cf9d2dbb918bcf38e01eed4ce3ec5e4"
+-
+-[[package]]
+-name = "proc-macro-nested"
+-version = "0.1.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "eba180dafb9038b050a4c280019bbedf9f2467b61e5d892dcad585bb57aadc5a"
++checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de"
+
+ [[package]]
+ name = "proc-macro2"
+@@ -1406,11 +1467,11 @@ dependencies = [
+
+ [[package]]
+ name = "proc-macro2"
+-version = "1.0.24"
++version = "1.0.58"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1e0704ee1a7e00d7bb417d0770ea303c1bccbabf0ef1667dae92b5967f5f8a71"
++checksum = "fa1fb82fc0c281dd9671101b66b771ebbe1eaf967b96ac8740dcba4b70005ca8"
+ dependencies = [
+- "unicode-xid 0.2.1",
++ "unicode-ident",
+ ]
+
+ [[package]]
+@@ -1430,11 +1491,11 @@ dependencies = [
+
+ [[package]]
+ name = "quote"
+-version = "1.0.7"
++version = "1.0.27"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "aa563d17ecb180e500da1cfd2b028310ac758de548efdd203e18f283af693f37"
++checksum = "8f4f29d145265ec1c483c7c654450edde0bfe043d3938d6972630663356d9500"
+ dependencies = [
+- "proc-macro2 1.0.24",
++ "proc-macro2 1.0.58",
+ ]
+
+ [[package]]
+@@ -1443,11 +1504,11 @@ version = "0.6.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
+ dependencies = [
+- "autocfg 0.1.7",
++ "autocfg 0.1.8",
+ "libc",
+ "rand_chacha 0.1.1",
+ "rand_core 0.4.2",
+- "rand_hc 0.1.0",
++ "rand_hc",
+ "rand_isaac",
+ "rand_jitter",
+ "rand_os",
+@@ -1458,27 +1519,13 @@ dependencies = [
+
+ [[package]]
+ name = "rand"
+-version = "0.7.3"
++version = "0.8.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
+-dependencies = [
+- "getrandom 0.1.14",
+- "libc",
+- "rand_chacha 0.2.2",
+- "rand_core 0.5.1",
+- "rand_hc 0.2.0",
+-]
+-
+-[[package]]
+-name = "rand"
+-version = "0.8.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0ef9e7e66b4468674bfcb0c81af8b7fa0bb154fa9f28eb840da5c447baeb8d7e"
++checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
+ dependencies = [
+ "libc",
+- "rand_chacha 0.3.0",
+- "rand_core 0.6.2",
+- "rand_hc 0.3.0",
++ "rand_chacha 0.3.1",
++ "rand_core 0.6.4",
+ ]
+
+ [[package]]
+@@ -1487,28 +1534,18 @@ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
+ dependencies = [
+- "autocfg 0.1.7",
++ "autocfg 0.1.8",
+ "rand_core 0.3.1",
+ ]
+
+ [[package]]
+ name = "rand_chacha"
+-version = "0.2.2"
++version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402"
++checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88"
+ dependencies = [
+ "ppv-lite86",
+- "rand_core 0.5.1",
+-]
+-
+-[[package]]
+-name = "rand_chacha"
+-version = "0.3.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e12735cf05c9e10bf21534da50a147b924d555dc7a547c42e6bb2d5b6017ae0d"
+-dependencies = [
+- "ppv-lite86",
+- "rand_core 0.6.2",
++ "rand_core 0.6.4",
+ ]
+
+ [[package]]
+@@ -1528,20 +1565,11 @@ checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
+
+ [[package]]
+ name = "rand_core"
+-version = "0.5.1"
++version = "0.6.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
++checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
+ dependencies = [
+- "getrandom 0.1.14",
+-]
+-
+-[[package]]
+-name = "rand_core"
+-version = "0.6.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "34cf66eb183df1c5876e2dcf6b13d57340741e8dc255b48e40a26de954d06ae7"
+-dependencies = [
+- "getrandom 0.2.2",
++ "getrandom",
+ ]
+
+ [[package]]
+@@ -1553,24 +1581,6 @@ dependencies = [
+ "rand_core 0.3.1",
+ ]
+
+-[[package]]
+-name = "rand_hc"
+-version = "0.2.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
+-dependencies = [
+- "rand_core 0.5.1",
+-]
+-
+-[[package]]
+-name = "rand_hc"
+-version = "0.3.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3190ef7066a446f2e7f42e239d161e905420ccab01eb967c9eb27d21b2322a73"
+-dependencies = [
+- "rand_core 0.6.2",
+-]
+-
+ [[package]]
+ name = "rand_isaac"
+ version = "0.1.1"
+@@ -1597,7 +1607,7 @@ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+ dependencies = [
+- "cloudabi 0.0.3",
++ "cloudabi",
+ "fuchsia-cprng",
+ "libc",
+ "rand_core 0.4.2",
+@@ -1611,7 +1621,7 @@ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+ dependencies = [
+- "autocfg 0.1.7",
++ "autocfg 0.1.8",
+ "rand_core 0.4.2",
+ ]
+
+@@ -1641,55 +1651,57 @@ dependencies = [
+
+ [[package]]
+ name = "redox_syscall"
+-version = "0.1.57"
++version = "0.2.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
++checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.3.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
++dependencies = [
++ "bitflags",
++]
+
+ [[package]]
+ name = "redox_users"
+-version = "0.3.4"
++version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "09b23093265f8d200fa7b4c2c76297f47e681c655f6f1285a8780d6a022f7431"
++checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
+ dependencies = [
+- "getrandom 0.1.14",
+- "redox_syscall",
+- "rust-argon2",
++ "getrandom",
++ "redox_syscall 0.2.16",
++ "thiserror",
+ ]
+
+ [[package]]
+ name = "regex"
+-version = "1.3.9"
++version = "1.8.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9c3780fcf44b193bc4d09f36d2a3c87b251da4a046c87795a0d35f4f927ad8e6"
++checksum = "d1a59b5d8e97dee33696bf13c5ba8ab85341c002922fba050069326b9c498974"
+ dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+- "thread_local",
+ ]
+
+ [[package]]
+ name = "regex-syntax"
+-version = "0.6.18"
++version = "0.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "26412eb97c6b088a6997e05f69403a802a92d520de2f8e63c2b65f9e0f47c4e8"
+-
+-[[package]]
+-name = "remove_dir_all"
+-version = "0.5.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7"
+-dependencies = [
+- "winapi 0.3.9",
+-]
++checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78"
+
+ [[package]]
+ name = "reqwest"
+-version = "0.10.6"
++version = "0.10.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3b82c9238b305f26f53443e3a4bc8528d64b8d0bee408ec949eb7bf5635ec680"
++checksum = "0718f81a8e14c4dbb3b34cf23dc6aaf9ab8a0dfec160c534b3dbca1aaa21f47c"
+ dependencies = [
+- "base64 0.12.3",
++ "base64 0.13.1",
+ "bytes 0.5.6",
+ "encoding_rs",
+ "futures-core",
+@@ -1698,21 +1710,22 @@ dependencies = [
+ "http-body",
+ "hyper",
+ "hyper-tls",
++ "ipnet",
+ "js-sys",
+ "lazy_static",
+ "log",
+ "mime",
+ "mime_guess",
+ "native-tls",
+- "percent-encoding 2.1.0",
+- "pin-project-lite",
++ "percent-encoding 2.2.0",
++ "pin-project-lite 0.2.9",
+ "serde",
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
+ "tokio-socks",
+ "tokio-tls",
+- "url 2.1.1",
++ "url 2.3.1",
+ "wasm-bindgen",
+ "wasm-bindgen-futures",
+ "web-sys",
+@@ -1745,23 +1758,11 @@ dependencies = [
+ "webbrowser",
+ ]
+
+-[[package]]
+-name = "rust-argon2"
+-version = "0.7.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2bc8af4bda8e1ff4932523b94d3dd20ee30a87232323eda55903ffd71d2fb017"
+-dependencies = [
+- "base64 0.11.0",
+- "blake2b_simd",
+- "constant_time_eq",
+- "crossbeam-utils",
+-]
+-
+ [[package]]
+ name = "rustc-demangle"
+-version = "0.1.16"
++version = "0.1.23"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4c691c0e608126e00913e33f0ccf3727d5fc84573623b8d65b2df340b5201783"
++checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76"
+
+ [[package]]
+ name = "rustc-serialize"
+@@ -1770,19 +1771,32 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
+
+ [[package]]
+-name = "ryu"
+-version = "1.0.5"
++name = "rustix"
++version = "0.37.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e"
++checksum = "f79bef90eb6d984c72722595b5b1348ab39275a5e5123faca6863bf07d75a4e0"
++dependencies = [
++ "bitflags",
++ "errno",
++ "io-lifetimes",
++ "libc",
++ "linux-raw-sys",
++ "windows-sys 0.48.0",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.13"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041"
+
+ [[package]]
+ name = "schannel"
+-version = "0.1.19"
++version = "0.1.21"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75"
++checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
+ dependencies = [
+- "lazy_static",
+- "winapi 0.3.9",
++ "windows-sys 0.42.0",
+ ]
+
+ [[package]]
+@@ -1793,87 +1807,87 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
+
+ [[package]]
+ name = "security-framework"
+-version = "0.4.4"
++version = "2.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "64808902d7d99f78eaddd2b4e2509713babc3dc3c85ad6f4c447680f3c01e535"
++checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467"
+ dependencies = [
+ "bitflags",
+- "core-foundation 0.7.0",
+- "core-foundation-sys 0.7.0",
++ "core-foundation",
++ "core-foundation-sys",
+ "libc",
+ "security-framework-sys",
+ ]
+
+ [[package]]
+ name = "security-framework-sys"
+-version = "0.4.3"
++version = "2.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "17bf11d99252f512695eb468de5516e5cf75455521e69dfe343f3b74e4748405"
++checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
+ dependencies = [
+- "core-foundation-sys 0.7.0",
++ "core-foundation-sys",
+ "libc",
+ ]
+
+ [[package]]
+ name = "serde"
+-version = "1.0.128"
++version = "1.0.163"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1056a0db1978e9dbf0f6e4fca677f6f9143dc1c19de346f22cac23e422196834"
++checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2"
+ dependencies = [
+ "serde_derive",
+ ]
+
+ [[package]]
+ name = "serde_derive"
+-version = "1.0.128"
++version = "1.0.163"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "13af2fbb8b60a8950d6c72a56d2095c28870367cc8e10c55e9745bac4995a2c4"
++checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e"
+ dependencies = [
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 2.0.16",
+ ]
+
+ [[package]]
+ name = "serde_json"
+-version = "1.0.64"
++version = "1.0.96"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79"
++checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1"
+ dependencies = [
+- "itoa",
++ "itoa 1.0.6",
+ "ryu",
+ "serde",
+ ]
+
+ [[package]]
+ name = "serde_urlencoded"
+-version = "0.6.1"
++version = "0.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9ec5d77e2d4c73717816afac02670d5c4f534ea95ed430442cad02e7a6e32c97"
++checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
+ dependencies = [
+- "dtoa",
+- "itoa",
++ "form_urlencoded",
++ "itoa 1.0.6",
++ "ryu",
+ "serde",
+- "url 2.1.1",
+ ]
+
+ [[package]]
+ name = "serde_yaml"
+-version = "0.8.19"
++version = "0.8.26"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6375dbd828ed6964c3748e4ef6d18e7a175d408ffe184bca01698d0c73f915a9"
++checksum = "578a7433b776b56a35785ed5ce9a7e777ac0598aac5a6dd1b4b18a307c7fc71b"
+ dependencies = [
+- "dtoa",
+ "indexmap",
++ "ryu",
+ "serde",
+ "yaml-rust",
+ ]
+
+ [[package]]
+ name = "signal-hook"
+-version = "0.3.9"
++version = "0.3.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39"
++checksum = "732768f1176d21d09e076c23a93123d40bba92d50c4058da34d45c8de8e682b9"
+ dependencies = [
+ "libc",
+ "signal-hook-registry",
+@@ -1881,45 +1895,47 @@ dependencies = [
+
+ [[package]]
+ name = "signal-hook-mio"
+-version = "0.2.1"
++version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "29fd5867f1c4f2c5be079aee7a2adf1152ebb04a4bc4d341f504b7dece607ed4"
++checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
+ dependencies = [
+ "libc",
+- "mio 0.7.0",
++ "mio 0.7.14",
+ "signal-hook",
+ ]
+
+ [[package]]
+ name = "signal-hook-registry"
+-version = "1.4.0"
++version = "1.4.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
++checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
+ dependencies = [
+ "libc",
+ ]
+
+ [[package]]
+ name = "slab"
+-version = "0.4.2"
++version = "0.4.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
++checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d"
++dependencies = [
++ "autocfg 1.1.0",
++]
+
+ [[package]]
+ name = "smallvec"
+-version = "1.4.1"
++version = "1.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3757cb9d89161a2f24e1cf78efa0c1fcff485d18e3f55e0aa3480824ddaa0f3f"
++checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
+
+ [[package]]
+ name = "socket2"
+-version = "0.3.12"
++version = "0.3.19"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "03088793f677dce356f3ccc2edb1b314ad191ab702a5de3faf49304f7e104918"
++checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
+ dependencies = [
+- "cfg-if 0.1.10",
++ "cfg-if 1.0.0",
+ "libc",
+- "redox_syscall",
+ "winapi 0.3.9",
+ ]
+
+@@ -1933,7 +1949,7 @@ dependencies = [
+ "clap",
+ "crossterm",
+ "dirs",
+- "rand 0.8.3",
++ "rand 0.8.5",
+ "rspotify",
+ "serde",
+ "serde_json",
+@@ -1945,9 +1961,9 @@ dependencies = [
+
+ [[package]]
+ name = "str-buf"
+-version = "1.0.5"
++version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d44a3643b4ff9caf57abcee9c2c621d6c03d9135e0d8b589bd9afb5992cb176a"
++checksum = "9e08d8363704e6c71fc928674353e6b7c23dcea9d82d7012c8faf2a3a025f8d0"
+
+ [[package]]
+ name = "strsim"
+@@ -1974,46 +1990,56 @@ dependencies = [
+
+ [[package]]
+ name = "syn"
+-version = "1.0.60"
++version = "1.0.109"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c700597eca8a5a762beb35753ef6b94df201c81cca676604f547495a0d7f0081"
++checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
+ dependencies = [
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "unicode-xid 0.2.1",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "unicode-ident",
++]
++
++[[package]]
++name = "syn"
++version = "2.0.16"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a6f671d4b5ffdb8eadec19c0ae67fe2639df8684bd7bc4b83d986b8db549cf01"
++dependencies = [
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "unicode-ident",
+ ]
+
+ [[package]]
+ name = "synstructure"
+-version = "0.12.4"
++version = "0.12.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b834f2d66f734cb897113e34aaff2f1ab4719ca946f9a7358dba8f8064148701"
++checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f"
+ dependencies = [
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
+- "unicode-xid 0.2.1",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 1.0.109",
++ "unicode-xid 0.2.4",
+ ]
+
+ [[package]]
+ name = "tempfile"
+-version = "3.1.0"
++version = "3.5.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7a6e24d9338a0a5be79593e2fa15a648add6138caa803e2d5bc782c371732ca9"
++checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998"
+ dependencies = [
+- "cfg-if 0.1.10",
+- "libc",
+- "rand 0.7.3",
+- "redox_syscall",
+- "remove_dir_all",
+- "winapi 0.3.9",
++ "cfg-if 1.0.0",
++ "fastrand",
++ "redox_syscall 0.3.5",
++ "rustix",
++ "windows-sys 0.45.0",
+ ]
+
+ [[package]]
+ name = "termcolor"
+-version = "1.1.0"
++version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "bb6bfa289a4d7c5766392812c0a1f4c1ba45afa1ad47803c11e1f407d846d75f"
++checksum = "be55cf8942feac5c765c2c993422806843c9a9a45d4d5c407ad6dd2ea95eb9b6"
+ dependencies = [
+ "winapi-util",
+ ]
+@@ -2029,31 +2055,22 @@ dependencies = [
+
+ [[package]]
+ name = "thiserror"
+-version = "1.0.20"
++version = "1.0.40"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7dfdd070ccd8ccb78f4ad66bf1982dc37f620ef696c6b5028fe2ed83dd3d0d08"
++checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac"
+ dependencies = [
+ "thiserror-impl",
+ ]
+
+ [[package]]
+ name = "thiserror-impl"
+-version = "1.0.20"
++version = "1.0.40"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "bd80fc12f73063ac132ac92aceea36734f04a1d93c1240c6944e23a3b8841793"
++checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f"
+ dependencies = [
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
+-]
+-
+-[[package]]
+-name = "thread_local"
+-version = "1.0.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d40c6d1b69745a6ec6fb1ca717914848da4b44ae29d9b3080cbee91d72a69b14"
+-dependencies = [
+- "lazy_static",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 2.0.16",
+ ]
+
+ [[package]]
+@@ -2063,25 +2080,35 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9a53f4706d65497df0c4349241deddf35f84cee19c87ed86ea8ca590f4464437"
+ dependencies = [
+ "jpeg-decoder",
+- "miniz_oxide 0.4.3",
++ "miniz_oxide 0.4.4",
+ "weezl",
+ ]
+
+ [[package]]
+ name = "time"
+-version = "0.1.43"
++version = "0.1.45"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438"
++checksum = "1b797afad3f312d1c66a56d11d0316f916356d11bd158fbc6ca6389ff6bf805a"
+ dependencies = [
+ "libc",
++ "wasi 0.10.0+wasi-snapshot-preview1",
+ "winapi 0.3.9",
+ ]
+
+ [[package]]
+ name = "tinyvec"
+-version = "0.3.3"
++version = "1.6.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "53953d2d3a5ad81d9f844a32f14ebb121f50b650cd59d0ee2a07cf13c617efed"
++checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50"
++dependencies = [
++ "tinyvec_macros",
++]
++
++[[package]]
++name = "tinyvec_macros"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
+
+ [[package]]
+ name = "tokio"
+@@ -2100,7 +2127,7 @@ dependencies = [
+ "mio-named-pipes",
+ "mio-uds",
+ "num_cpus",
+- "pin-project-lite",
++ "pin-project-lite 0.1.12",
+ "signal-hook-registry",
+ "slab",
+ "tokio-macros",
+@@ -2113,16 +2140,16 @@ version = "0.2.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e44da00bfc73a25f814cd8d7e57a68a5c31b74b3152a0a1d1f590c97ed06265a"
+ dependencies = [
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 1.0.109",
+ ]
+
+ [[package]]
+ name = "tokio-socks"
+-version = "0.2.2"
++version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1997788a0e25e09300e44680ba1ef9d44d6f634a883641f80109e8b59c928daf"
++checksum = "d611fd5d241872372d52a0a3d309c52d0b95a6a67671a6c8f7ab2c4a37fb2539"
+ dependencies = [
+ "bytes 0.4.12",
+ "either",
+@@ -2151,41 +2178,52 @@ dependencies = [
+ "futures-core",
+ "futures-sink",
+ "log",
+- "pin-project-lite",
++ "pin-project-lite 0.1.12",
+ "tokio",
+ ]
+
+ [[package]]
+ name = "tower-service"
+-version = "0.3.0"
++version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e987b6bf443f4b5b3b6f38704195592cca41c5bb7aedd3c3693c7081f8289860"
++checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52"
+
+ [[package]]
+ name = "tracing"
+-version = "0.1.17"
++version = "0.1.37"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dbdf4ccd1652592b01286a5dbe1e2a77d78afaa34beadd9872a5f7396f92aaa9"
++checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8"
+ dependencies = [
+- "cfg-if 0.1.10",
++ "cfg-if 1.0.0",
+ "log",
++ "pin-project-lite 0.2.9",
+ "tracing-core",
+ ]
+
+ [[package]]
+ name = "tracing-core"
+-version = "0.1.11"
++version = "0.1.31"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "94ae75f0d28ae10786f3b1895c55fe72e79928fd5ccdebb5438c75e93fec178f"
++checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a"
+ dependencies = [
+- "lazy_static",
++ "once_cell",
++]
++
++[[package]]
++name = "tracing-futures"
++version = "0.2.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "97d095ae15e245a057c8e8451bab9b3ee1e1f68e9ba2b4fbc18d0ac5237835f2"
++dependencies = [
++ "pin-project",
++ "tracing",
+ ]
+
+ [[package]]
+ name = "try-lock"
+-version = "0.2.3"
++version = "0.2.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642"
++checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed"
+
+ [[package]]
+ name = "tui"
+@@ -2211,33 +2249,36 @@ dependencies = [
+
+ [[package]]
+ name = "unicode-bidi"
+-version = "0.3.4"
++version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+-dependencies = [
+- "matches",
+-]
++checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460"
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4"
+
+ [[package]]
+ name = "unicode-normalization"
+-version = "0.1.13"
++version = "0.1.22"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6fb19cf769fa8c6a80a162df694621ebeb4dafb606470b2b2fce0be40a98a977"
++checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921"
+ dependencies = [
+ "tinyvec",
+ ]
+
+ [[package]]
+ name = "unicode-segmentation"
+-version = "1.6.0"
++version = "1.10.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e83e153d1053cbb5a118eeff7fd5be06ed99153f00dbcd8ae310c5fb2b22edc0"
++checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36"
+
+ [[package]]
+ name = "unicode-width"
+-version = "0.1.8"
++version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9337591893a19b88d8d87f2cec1e73fad5cdfd10e5a6f349f498ad6ea2ffb1e3"
++checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+ [[package]]
+ name = "unicode-xid"
+@@ -2247,9 +2288,9 @@ checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+
+ [[package]]
+ name = "unicode-xid"
+-version = "0.2.1"
++version = "0.2.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f7fe0bb3479651439c9112f72b6c505038574c9fbb575ed1bf3b797fa39dd564"
++checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
+
+ [[package]]
+ name = "url"
+@@ -2264,20 +2305,20 @@ dependencies = [
+
+ [[package]]
+ name = "url"
+-version = "2.1.1"
++version = "2.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "829d4a8476c35c9bf0bbce5a3b23f4106f79728039b726d292bb93bc106787cb"
++checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643"
+ dependencies = [
+- "idna 0.2.0",
+- "matches",
+- "percent-encoding 2.1.0",
++ "form_urlencoded",
++ "idna 0.3.0",
++ "percent-encoding 2.2.0",
+ ]
+
+ [[package]]
+ name = "vcpkg"
+-version = "0.2.10"
++version = "0.2.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6454029bf181f092ad1b853286f23e2c507d8e8194d01d92da4a55c274a5508c"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+ [[package]]
+ name = "vec_map"
+@@ -2287,9 +2328,9 @@ checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+
+ [[package]]
+ name = "version_check"
+-version = "0.9.2"
++version = "0.9.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b5a972e5669d67ba988ce3dc826706fb0a8b01471c088cb0b6110b805cc36aed"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+ [[package]]
+ name = "want"
+@@ -2303,23 +2344,23 @@ dependencies = [
+
+ [[package]]
+ name = "wasi"
+-version = "0.9.0+wasi-snapshot-preview1"
++version = "0.10.0+wasi-snapshot-preview1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
++checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f"
+
+ [[package]]
+ name = "wasi"
+-version = "0.10.2+wasi-snapshot-preview1"
++version = "0.11.0+wasi-snapshot-preview1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6"
++checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+ [[package]]
+ name = "wasm-bindgen"
+-version = "0.2.65"
++version = "0.2.86"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "f3edbcc9536ab7eababcc6d2374a0b7bfe13a2b6d562c5e07f370456b1a8f33d"
++checksum = "5bba0e8cb82ba49ff4e229459ff22a191bbe9a1cb3a341610c9c33efc27ddf73"
+ dependencies = [
+- "cfg-if 0.1.10",
++ "cfg-if 1.0.0",
+ "serde",
+ "serde_json",
+ "wasm-bindgen-macro",
+@@ -2327,26 +2368,26 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-backend"
+-version = "0.2.65"
++version = "0.2.86"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "89ed2fb8c84bfad20ea66b26a3743f3e7ba8735a69fe7d95118c33ec8fc1244d"
++checksum = "19b04bc93f9d6bdee709f6bd2118f57dd6679cf1176a1af464fca3ab0d66d8fb"
+ dependencies = [
+ "bumpalo",
+- "lazy_static",
+ "log",
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
++ "once_cell",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 2.0.16",
+ "wasm-bindgen-shared",
+ ]
+
+ [[package]]
+ name = "wasm-bindgen-futures"
+-version = "0.4.15"
++version = "0.4.36"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "41ad6e4e8b2b7f8c90b6e09a9b590ea15cb0d1dbe28502b5a405cd95d1981671"
++checksum = "2d1985d03709c53167ce907ff394f5316aa22cb4e12761295c5dc57dacb6297e"
+ dependencies = [
+- "cfg-if 0.1.10",
++ "cfg-if 1.0.0",
+ "js-sys",
+ "wasm-bindgen",
+ "web-sys",
+@@ -2354,38 +2395,38 @@ dependencies = [
+
+ [[package]]
+ name = "wasm-bindgen-macro"
+-version = "0.2.65"
++version = "0.2.86"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "eb071268b031a64d92fc6cf691715ca5a40950694d8f683c5bb43db7c730929e"
++checksum = "14d6b024f1a526bb0234f52840389927257beb670610081360e5a03c5df9c258"
+ dependencies = [
+- "quote 1.0.7",
++ "quote 1.0.27",
+ "wasm-bindgen-macro-support",
+ ]
+
+ [[package]]
+ name = "wasm-bindgen-macro-support"
+-version = "0.2.65"
++version = "0.2.86"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cf592c807080719d1ff2f245a687cbadb3ed28b2077ed7084b47aba8b691f2c6"
++checksum = "e128beba882dd1eb6200e1dc92ae6c5dbaa4311aa7bb211ca035779e5efc39f8"
+ dependencies = [
+- "proc-macro2 1.0.24",
+- "quote 1.0.7",
+- "syn 1.0.60",
++ "proc-macro2 1.0.58",
++ "quote 1.0.27",
++ "syn 2.0.16",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+ ]
+
+ [[package]]
+ name = "wasm-bindgen-shared"
+-version = "0.2.65"
++version = "0.2.86"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "72b6c0220ded549d63860c78c38f3bcc558d1ca3f4efa74942c536ddbbb55e87"
++checksum = "ed9d5b4305409d1fc9482fee2d7f9bcbf24b3972bf59817ef757e23982242a93"
+
+ [[package]]
+ name = "web-sys"
+-version = "0.3.42"
++version = "0.3.63"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8be2398f326b7ba09815d0b403095f34dd708579220d099caae89be0b32137b2"
++checksum = "3bdd9ef4e984da1187bf8110c5cf5b845fbc87a23602cdf912386a76fcd3a7c2"
+ dependencies = [
+ "js-sys",
+ "wasm-bindgen",
+@@ -2404,15 +2445,15 @@ dependencies = [
+
+ [[package]]
+ name = "weezl"
+-version = "0.1.3"
++version = "0.1.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3e2bb9fc8309084dd7cd651336673844c1d47f8ef6d2091ec160b27f5c4aa277"
++checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+
+ [[package]]
+ name = "widestring"
+-version = "0.4.2"
++version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a763e303c0e0f23b0da40888724762e802a8ffefbc22de4127ef42493c2ea68c"
++checksum = "c168940144dd21fd8046987c16a46a33d5fc84eec29ef9dcddc2ac9e31526b7c"
+
+ [[package]]
+ name = "winapi"
+@@ -2466,6 +2507,162 @@ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
++[[package]]
++name = "windows"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f"
++dependencies = [
++ "windows-targets 0.48.0",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
++dependencies = [
++ "windows_aarch64_gnullvm 0.42.2",
++ "windows_aarch64_msvc 0.42.2",
++ "windows_i686_gnu 0.42.2",
++ "windows_i686_msvc 0.42.2",
++ "windows_x86_64_gnu 0.42.2",
++ "windows_x86_64_gnullvm 0.42.2",
++ "windows_x86_64_msvc 0.42.2",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.45.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0"
++dependencies = [
++ "windows-targets 0.42.2",
++]
++
++[[package]]
++name = "windows-sys"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
++dependencies = [
++ "windows-targets 0.48.0",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071"
++dependencies = [
++ "windows_aarch64_gnullvm 0.42.2",
++ "windows_aarch64_msvc 0.42.2",
++ "windows_i686_gnu 0.42.2",
++ "windows_i686_msvc 0.42.2",
++ "windows_x86_64_gnu 0.42.2",
++ "windows_x86_64_gnullvm 0.42.2",
++ "windows_x86_64_msvc 0.42.2",
++]
++
++[[package]]
++name = "windows-targets"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
++dependencies = [
++ "windows_aarch64_gnullvm 0.48.0",
++ "windows_aarch64_msvc 0.48.0",
++ "windows_i686_gnu 0.48.0",
++ "windows_i686_msvc 0.48.0",
++ "windows_x86_64_gnu 0.48.0",
++ "windows_x86_64_gnullvm 0.48.0",
++ "windows_x86_64_msvc 0.48.0",
++]
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
++
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
++
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
++
++[[package]]
++name = "windows_i686_gnu"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
++
++[[package]]
++name = "windows_i686_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
++
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
++
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
++
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.48.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
++
+ [[package]]
+ name = "winreg"
+ version = "0.7.0"
diff --git a/testing/spotifyd/APKBUILD b/testing/spotifyd/APKBUILD
deleted file mode 100644
index 26c13dbdd08..00000000000
--- a/testing/spotifyd/APKBUILD
+++ /dev/null
@@ -1,60 +0,0 @@
-# Contributor: Thomas Kienlen <kommander@laposte.net>
-# Maintainer: Thomas Kienlen <kommander@laposte.net>
-pkgname=spotifyd
-pkgver=0.3.3
-pkgrel=1
-pkgdesc="Open source Spotify client running as a UNIX daemon"
-url="https://github.com/Spotifyd/spotifyd"
-arch="all !riscv64 !s390x"
-license="GPL-3.0-or-later"
-makedepends="
- alsa-lib-dev
- cargo
- dbus-dev
- libogg-dev
- openssl-dev
- pulseaudio-dev
- "
-pkgusers="spotifyd"
-pkggroups="spotifyd"
-install="spotifyd.pre-install"
-subpackages="$pkgname-openrc"
-
-source="https://github.com/Spotifyd/spotifyd/archive/v$pkgver/spotifyd-$pkgver.tar.gz
- spotifyd.initd
- spotifyd.conf
- "
-
-prepare() {
- default_prepare
-
- # Optimize binary for size (10.7 MiB -> 4.8 MiB).
- cat >> Cargo.toml <<-EOF
-
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "z"
- panic = "abort"
- EOF
-}
-
-build() {
- cargo build --release --locked --features pulseaudio_backend,dbus_mpris,dbus_keyring,rodio_backend
-}
-
-check() {
- cargo test --locked --target-dir=target
-}
-
-package() {
- install -D -m 755 target/release/spotifyd "$pkgdir/usr/bin/spotifyd"
- install -D -m 755 "$srcdir/spotifyd.initd" "$pkgdir/etc/init.d/spotifyd"
- install -D -m 660 -o spotifyd -g spotifyd "$srcdir/spotifyd.conf" "$pkgdir/etc/spotifyd.conf"
-}
-
-sha512sums="
-bb8522a022ce1a4cd6a075b865f274ef4a6a5c6b37c44cb909637183cda1299d2218091ebec0f58b68233a74c17041d002557cad0137ee58ad123ec1587a921d spotifyd-0.3.3.tar.gz
-dd4664c5818af8de3439deedfecb2a9d6bd70ab41c3db57cf659d42d4071ffe47d137fa55d94009022472d5927668978df2e6236c574bbe35596fb386ef274a2 spotifyd.initd
-3b431114226af7c67838bf860d07c4f4f661808142caadc9920d4268c1c3a89d61d99c310c13b3b4568dc6c10a5c95dfcb05a52f8551884a836a17b20b3ec06c spotifyd.conf
-"
diff --git a/testing/spotifyd/spotifyd.conf b/testing/spotifyd/spotifyd.conf
deleted file mode 100644
index eb9ba791089..00000000000
--- a/testing/spotifyd/spotifyd.conf
+++ /dev/null
@@ -1,23 +0,0 @@
-[global]
-username = "USER"
-password = "PASS"
-device_name = "spotifyd"
-
-# pulseaudio works fine as backend but it needs some workaround for give
-# access and write permission to its socket or run it system wide
-backend = "alsa"
-device = "default" # Given by `aplay -L`
-mixer = "PCM"
-volume-controller = "alsa" # or alsa_linear, or softvol
-
-#onevent = command_run_on_playback_event
-
-# bitrate could be 96|160|320
-bitrate = 160
-
-cache_path = "/var/cache/spotifyd"
-
-volume-normalisation = true
-normalisation-pregain = -10
-
-use_mpris = false # it requires a dbus session
diff --git a/testing/spotifyd/spotifyd.initd b/testing/spotifyd/spotifyd.initd
deleted file mode 100644
index c6f3f4fd69d..00000000000
--- a/testing/spotifyd/spotifyd.initd
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/sbin/openrc-run
-
-supervisor=supervise-daemon
-command=/usr/bin/spotifyd
-command_args="--no-daemon"
-command_user="spotifyd:spotifyd"
-output_log=/var/log/$RC_SVCNAME.log
-
-depend() {
- need net
-}
-
-start_pre() {
- checkpath --directory --owner $command_user --mode 0775 \
- /var/cache/$RC_SVCNAME
- checkpath --file --owner $command_user --mode 0644 \
- /var/log/$RC_SVCNAME.log
-}
diff --git a/testing/spotifyd/spotifyd.pre-install b/testing/spotifyd/spotifyd.pre-install
deleted file mode 100644
index e86abb4eebd..00000000000
--- a/testing/spotifyd/spotifyd.pre-install
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-addgroup -S spotifyd 2>/dev/null
-adduser -S -D -H -h /dev/null -s /sbin/nologin -G audio -g spotifyd spotifyd 2>/dev/null
-exit 0
diff --git a/testing/spreed-webrtc/APKBUILD b/testing/spreed-webrtc/APKBUILD
deleted file mode 100644
index 504d512015e..00000000000
--- a/testing/spreed-webrtc/APKBUILD
+++ /dev/null
@@ -1,71 +0,0 @@
-# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=spreed-webrtc
-pkgver=0.29.7
-pkgrel=5
-pkgdesc="WebRTC audio/video call and conferencing server"
-url="http://spreed.me"
-arch="all !mips !mips64 !riscv64" # blocked by nodejs
-license="AGPL-3.0-or-later"
-makedepends="autoconf automake go go-context go-acceptlanguageparser
- go-conf go-httputils go-mux go-nats go-nuid go-pkac go-phoenix
- go-securecookie go-sloth go-spreed-turnservicecli go-uuid go-websocket
- nodejs"
-install="$pkgname.pre-install"
-subpackages="$pkgname-doc $pkgname-openrc"
-pkgusers="spreed"
-pkggroups="spreed"
-_vendor="strukturag"
-source="$pkgname-$pkgver.tar.gz::https://github.com/$_vendor/spreed-webrtc/archive/v$pkgver.tar.gz
- $pkgname.initd
- go.mod
- go.sum
- fix-build-with-gomodules.patch
- "
-
-export GOPATH="$srcdir/go"
-export GOCACHE="$srcdir/go-build"
-export GOTEMPDIR="$srcdir/go"
-
-export GOFLAGS="$GOFLAGS -mod=mod -modcacherw"
-
-prepare() {
- default_prepare
-
- ./autogen.sh
-
- cp "$srcdir/go.mod" .
- cp "$srcdir/go.sum" .
- #fix default server config
- sed -i 's|;root = /usr/share/spreed-webrtc-server/www|root = /usr/share/spreed-webrtc-server/www|' \
- server.conf.in
-}
-
-build() {
- ./configure --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info
- make GOPATH="$GOPATH" assets
- make GOPATH="$GOPATH" binaryall
-}
-
-check() {
- make test
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir"/usr/share/doc/$pkgname
- mv doc/* "$pkgdir"/usr/share/doc/$pkgname
- install -m644 -D server.conf.in "$pkgdir"/etc/$pkgname/$pkgname-server.conf
- install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname-server
-}
-
-sha512sums="
-bc4acf1dc53325c4da19429a802fdba8d72e619dbf7e872d007b87fbc711e9e63962a83c770f77d44c2454bc038bef0306d57556e86381d4e4c48262030af30b spreed-webrtc-0.29.7.tar.gz
-1419b5cbec88f18de71d5dc550bde3d784fc744f0675115ad57e55ebbdbc9f65222584f806bfd6ed2a9b3d4e1c14fe92d8f220cd105851abcb4f4956a6cf6e3a spreed-webrtc.initd
-a05f526d9994a4c785e268c3ad326bcefb73d2533fd4e3e82ad249c944974b8fa499572a86d2609da9e33b1a61260442d8b010e2ca507cf4c11567ba4a96b55c go.mod
-8f4878ce07e6581e4838dc74f8825c381b16b2042a2b9f5ef4a82da74ea58ab63e6c76ab4805d2980146a17d3888b429c79fb993bbdf88482faebddc6a6787a0 go.sum
-b97dea0e16dd34bb9c9d6a6473406d9477feb40da5daa29390c615c2f825f27a2f67ac99c974c15bad5384db2aa3d8b2460eae89f4882c1a8c925b33d7819e42 fix-build-with-gomodules.patch
-"
diff --git a/testing/spreed-webrtc/fix-build-with-gomodules.patch b/testing/spreed-webrtc/fix-build-with-gomodules.patch
deleted file mode 100644
index bac6c1852d4..00000000000
--- a/testing/spreed-webrtc/fix-build-with-gomodules.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 9933adf..a4a2260 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -74,7 +74,7 @@ dependencies.tsv:
- rm -rf $$TMP
-
- binary:
-- GOPATH=$(GOPATH) $(GO) build $(GOBUILDFLAGS) -o bin/$(EXENAME) -ldflags '$(INTERNALLDFLAGS)' app/$(EXENAME)
-+ GOPATH=$(GOPATH) $(GO) build $(GOBUILDFLAGS) -o bin/$(EXENAME) -ldflags '$(INTERNALLDFLAGS)' github.com/strukturag/spreed-webrtc/src/app/$(EXENAME)
-
- binaryrace: GOBUILDFLAGS := $(GOBUILDFLAGS) -race
- binaryrace: binary
-@@ -88,7 +88,7 @@ gofmt:
- fmt: gofmt
-
- test:
-- GOPATH=$(GOPATH) $(GO) test -v $(GOTESTFLAGS) app/... ./go/...
-+ GOPATH=$(GOPATH) $(GO) test -v $(GOTESTFLAGS) github.com/strukturag/spreed-webrtc/src/app/... github.com/strukturag/spreed-webrtc/go/...
-
- dist_gopath: $(DIST_SRC)
- [ -d $(SYSTEM_GOPATH) ] && \
-diff --git a/go/channelling/hub.go b/go/channelling/hub.go
-index 068e1e8..bccd2ce 100644
---- a/go/channelling/hub.go
-+++ b/go/channelling/hub.go
-@@ -190,7 +190,7 @@ func (h *hub) GetContactID(session *Session, token string) (userid string, err e
- contact := &Contact{}
- err = h.contacts.Decode("contact", token, contact)
- if err != nil {
-- err = fmt.Errorf("Failed to decode incoming contact token", err, token)
-+ err = fmt.Errorf("Failed to decode incoming contact token: %s, %s", err, token)
- return
- }
- // Use the userid which is not ours from the contact data.
-@@ -201,7 +201,7 @@ func (h *hub) GetContactID(session *Session, token string) (userid string, err e
- userid = contact.A
- }
- if userid == "" {
-- err = fmt.Errorf("Ignoring foreign contact token", contact.A, contact.B)
-+ err = fmt.Errorf("Ignoring foreign contact token, contact.A: %s, contact.B: %s", contact.A, contact.B)
- }
-
- return
-diff --git a/go/channelling/room_manager_test.go b/go/channelling/room_manager_test.go
-index a31f69f..efb69df 100644
---- a/go/channelling/room_manager_test.go
-+++ b/go/channelling/room_manager_test.go
-@@ -24,13 +24,11 @@ package channelling
- import (
- "regexp"
- "testing"
--
-- "github.com/strukturag/spreed-webrtc/go/channelling"
- )
-
- func NewTestRoomManager() (RoomManager, *Config) {
- config := &Config{
-- RoomTypeDefault: channelling.RoomTypeRoom,
-+ RoomTypeDefault: RoomTypeRoom,
- }
- return NewRoomManager(config, nil), config
- }
-@@ -41,16 +39,16 @@ func Test_RoomManager_JoinRoom_ReturnsAnErrorForUnauthenticatedSessionsWhenCreat
- config.AuthorizeRoomCreation = true
-
- unauthenticatedSession := &Session{}
-- _, err := roomManager.JoinRoom(channelling.RoomTypeRoom+":foo", "foo", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err := roomManager.JoinRoom(RoomTypeRoom+":foo", "foo", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- assertDataError(t, err, "room_join_requires_account")
-
- authenticatedSession := &Session{userid: "9870457"}
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":foo", "foo", channelling.RoomTypeRoom, nil, authenticatedSession, true, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":foo", "foo", RoomTypeRoom, nil, authenticatedSession, true, nil)
- if err != nil {
- t.Fatalf("Unexpected error %v joining room while authenticated", err)
- }
-
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":foo", "foo", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":foo", "foo", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- if err != nil {
- t.Fatalf("Unexpected error %v joining room while unauthenticated", err)
- }
-@@ -62,16 +60,16 @@ func Test_RoomManager_JoinRoom_ReturnsAnErrorForUnauthenticatedSessionsWhenJoinR
- config.AuthorizeRoomJoin = true
-
- unauthenticatedSession := &Session{}
-- _, err := roomManager.JoinRoom(channelling.RoomTypeRoom+":foo", "foo", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err := roomManager.JoinRoom(RoomTypeRoom+":foo", "foo", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- assertDataError(t, err, "room_join_requires_account")
-
- authenticatedSession := &Session{userid: "9870457"}
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":foo", "foo", channelling.RoomTypeRoom, nil, authenticatedSession, true, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":foo", "foo", RoomTypeRoom, nil, authenticatedSession, true, nil)
- if err != nil {
- t.Fatalf("Unexpected error %v joining room while authenticated", err)
- }
-
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":foo", "foo", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":foo", "foo", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- assertDataError(t, err, "room_join_requires_account")
- }
-
-@@ -81,16 +79,16 @@ func Test_RoomManager_JoinPublicRoom_ForUnauthenticatedSessionsWhenCreationRequi
- config.AuthorizeRoomCreation = true
-
- unauthenticatedSession := &Session{}
-- _, err := roomManager.JoinRoom(channelling.RoomTypeRoom+":public", "public", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err := roomManager.JoinRoom(RoomTypeRoom+":public", "public", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- assertDataError(t, err, "room_join_requires_account")
-
- config.PublicRoomNames = regexp.MustCompile("^public$")
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":public", "public", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":public", "public", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- if err != nil {
- t.Fatalf("Unexpected error %v joining public room", err)
- }
-
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":private", "private", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":private", "private", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- assertDataError(t, err, "room_join_requires_account")
- }
-
-@@ -100,27 +98,27 @@ func Test_RoomManager_JoinPublicRoom_ForUnauthenticatedSessionsWhenJoinRequiresA
- config.AuthorizeRoomJoin = true
-
- authenticatedSession := &Session{userid: "9870457"}
-- _, err := roomManager.JoinRoom(channelling.RoomTypeRoom+":public", "public", channelling.RoomTypeRoom, nil, authenticatedSession, true, nil)
-+ _, err := roomManager.JoinRoom(RoomTypeRoom+":public", "public", RoomTypeRoom, nil, authenticatedSession, true, nil)
- if err != nil {
- t.Fatalf("Unexpected error %v joining room while authenticated", err)
- }
-
- unauthenticatedSession := &Session{}
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":public", "public", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":public", "public", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- assertDataError(t, err, "room_join_requires_account")
-
- config.PublicRoomNames = regexp.MustCompile("^public$")
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":public", "public", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":public", "public", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- if err != nil {
- t.Fatalf("Unexpected error %v joining public room", err)
- }
-
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":private", "private", channelling.RoomTypeRoom, nil, authenticatedSession, true, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":private", "private", RoomTypeRoom, nil, authenticatedSession, true, nil)
- if err != nil {
- t.Fatalf("Unexpected error %v joining room while authenticated", err)
- }
-
-- _, err = roomManager.JoinRoom(channelling.RoomTypeRoom+":private", "private", channelling.RoomTypeRoom, nil, unauthenticatedSession, false, nil)
-+ _, err = roomManager.JoinRoom(RoomTypeRoom+":private", "private", RoomTypeRoom, nil, unauthenticatedSession, false, nil)
- assertDataError(t, err, "room_join_requires_account")
- }
-
-@@ -133,36 +131,36 @@ func Test_RoomManager_UpdateRoom_ReturnsAnErrorIfNoRoomHasBeenJoined(t *testing.
-
- func Test_RoomManager_UpdateRoom_ReturnsAnErrorIfUpdatingAnUnjoinedRoom(t *testing.T) {
- roomManager, _ := NewTestRoomManager()
-- session := &Session{Hello: true, Roomid: channelling.RoomTypeRoom + ":foo"}
-+ session := &Session{Hello: true, Roomid: RoomTypeRoom + ":foo"}
- _, err := roomManager.UpdateRoom(session, &DataRoom{Name: "bar"})
- assertDataError(t, err, "not_in_room")
- }
-
- func Test_RoomManager_UpdateRoom_ReturnsACorrectlyTypedDocument(t *testing.T) {
- roomManager, _ := NewTestRoomManager()
-- session := &Session{Hello: true, Roomid: channelling.RoomTypeRoom + ":foo"}
-+ session := &Session{Hello: true, Roomid: RoomTypeRoom + ":foo"}
- room, err := roomManager.UpdateRoom(session, &DataRoom{Name: "foo"})
- if err != nil {
- t.Fatalf("Unexpected error %v updating room", err)
- }
-
-- if room.Type != channelling.RoomTypeRoom {
-- t.Errorf("Expected document type to be %s, but was %v", channelling.RoomTypeRoom, room.Type)
-+ if room.Type != RoomTypeRoom {
-+ t.Errorf("Expected document type to be %s, but was %v", RoomTypeRoom, room.Type)
- }
- }
-
- func Test_RoomManager_TypeThroughNats(t *testing.T) {
- theRoomManager, _ := NewTestRoomManager()
- rm := theRoomManager.(*roomManager)
-- if rt := rm.getConfiguredRoomType("foo"); rt != channelling.RoomTypeRoom {
-- t.Errorf("Expected room type to be %s, but was %v", channelling.RoomTypeRoom, rt)
-+ if rt := rm.getConfiguredRoomType("foo"); rt != RoomTypeRoom {
-+ t.Errorf("Expected room type to be %s, but was %v", RoomTypeRoom, rt)
- }
- rm.setNatsRoomType(&roomTypeMessage{Path: "foo", Type: "Conference"})
- if rt := rm.getConfiguredRoomType("foo"); rt != "Conference" {
- t.Errorf("Expected room type to be %s, but was %v", "Conference", rt)
- }
- rm.setNatsRoomType(&roomTypeMessage{Path: "foo", Type: ""})
-- if rt := rm.getConfiguredRoomType("foo"); rt != channelling.RoomTypeRoom {
-- t.Errorf("Expected room type to be %s, but was %v", channelling.RoomTypeRoom, rt)
-+ if rt := rm.getConfiguredRoomType("foo"); rt != RoomTypeRoom {
-+ t.Errorf("Expected room type to be %s, but was %v", RoomTypeRoom, rt)
- }
- }
-diff --git a/go/channelling/roomworker_test.go b/go/channelling/roomworker_test.go
-index 21af563..616bced 100644
---- a/go/channelling/roomworker_test.go
-+++ b/go/channelling/roomworker_test.go
-@@ -23,14 +23,12 @@ package channelling
-
- import (
- "testing"
--
-- "github.com/strukturag/spreed-webrtc/go/channelling"
- )
-
- const (
-- testRoomID string = channelling.RoomTypeRoom + ":a-room-name"
-+ testRoomID string = RoomTypeRoom + ":a-room-name"
- testRoomName string = "a-room-name"
-- testRoomType string = channelling.RoomTypeRoom
-+ testRoomType string = RoomTypeRoom
- )
-
- func NewTestRoomWorker() RoomWorker {
diff --git a/testing/spreed-webrtc/go.mod b/testing/spreed-webrtc/go.mod
deleted file mode 100644
index 5fb97f25a7f..00000000000
--- a/testing/spreed-webrtc/go.mod
+++ /dev/null
@@ -1,23 +0,0 @@
-module github.com/strukturag/spreed-webrtc
-
-go 1.16
-
-require (
- github.com/dlintw/goconf v0.0.0-20120228082610-dcc070983490 // indirect
- github.com/gorilla/context v0.0.0-20141217160251-215affda49ad // indirect
- github.com/gorilla/mux v0.0.0-20150717150303-ba336c9cfb43
- github.com/gorilla/securecookie v0.0.0-20150716233244-aeade84400a8
- github.com/gorilla/websocket v1.0.1-0.20160802133203-a69d25be2fe2
- github.com/longsleep/pkac v0.0.0-20170216190044-302922ac7627
- github.com/nats-io/gnatsd v1.4.1 // indirect
- github.com/nats-io/nats v1.1.6
- github.com/nats-io/nuid v1.0.1 // indirect
- github.com/satori/go.uuid v1.1.0
- github.com/strukturag/goacceptlanguageparser v0.0.0-20140213133123-68066e68c294
- github.com/strukturag/httputils v0.0.0-20140702013533-afbf05c71ac0
- github.com/strukturag/phoenix v0.0.0-20161005151202-8c65e1692d19
- github.com/strukturag/sloth v0.9.2
- github.com/strukturag/spreed-turnservicecli v0.0.0-20161117162408-b8e469d5ef70
- golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a // indirect
- golang.org/x/sys v0.0.0-20210603125802-9665404d3644 // indirect
-)
diff --git a/testing/spreed-webrtc/go.sum b/testing/spreed-webrtc/go.sum
deleted file mode 100644
index c2e276a7ea1..00000000000
--- a/testing/spreed-webrtc/go.sum
+++ /dev/null
@@ -1,39 +0,0 @@
-github.com/dlintw/goconf v0.0.0-20120228082610-dcc070983490 h1:I8/Qu5NTaiXi1TsEYmTeLDUlf7u9pEdbG+azjDvx8Vg=
-github.com/dlintw/goconf v0.0.0-20120228082610-dcc070983490/go.mod h1:jWlUIP63OLr0cV2FGN2IEzSFsMAe58if8rk/SAE0JRE=
-github.com/gorilla/context v0.0.0-20141217160251-215affda49ad h1:wJwKN6X6iRRVnjdBgrkWjhBOvYm7yw5boqXwFUnBtbE=
-github.com/gorilla/context v0.0.0-20141217160251-215affda49ad/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
-github.com/gorilla/mux v0.0.0-20150717150303-ba336c9cfb43 h1:57wH+A8tUmZebLBPMjnrsWPGLIc5VJXlaFsmqi5OFms=
-github.com/gorilla/mux v0.0.0-20150717150303-ba336c9cfb43/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
-github.com/gorilla/securecookie v0.0.0-20150716233244-aeade84400a8 h1:powLUcfunfzziU56pIT+NuvYRmLeQ+05RV4csYZHtuw=
-github.com/gorilla/securecookie v0.0.0-20150716233244-aeade84400a8/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
-github.com/gorilla/websocket v1.0.1-0.20160802133203-a69d25be2fe2 h1:yIxp1mchDH00JCTdncC1gFGv5Z8B1SVy0Ov2URmttj0=
-github.com/gorilla/websocket v1.0.1-0.20160802133203-a69d25be2fe2/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
-github.com/longsleep/pkac v0.0.0-20170216190044-302922ac7627 h1:1Lt125+sDIgBqTk8TYJ48lYexNK+Lss3Rbhx6UXZQ9E=
-github.com/longsleep/pkac v0.0.0-20170216190044-302922ac7627/go.mod h1:ROvuh4JyjR0PysD1geAMzB2ThW/sdVYhENCF4RhF3R8=
-github.com/nats-io/gnatsd v1.4.1 h1:RconcfDeWpKCD6QIIwiVFcvForlXpWeJP7i5/lDLy44=
-github.com/nats-io/gnatsd v1.4.1/go.mod h1:nqco77VO78hLCJpIcVfygDP2rPGfsEHkGTUk94uh5DQ=
-github.com/nats-io/nats v1.1.6 h1:dCWhg0ozPbL1CrXnoIPHjUig8CqccTctbN4wJTpZdMI=
-github.com/nats-io/nats v1.1.6/go.mod h1:PpmYZwlgTfBI56QypJLfIMOfLnMRuVs+VL6r8mQ2SoQ=
-github.com/nats-io/nuid v1.0.1 h1:5iA8DT8V7q8WK2EScv2padNa/rTESc1KdnPw4TC2paw=
-github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c=
-github.com/satori/go.uuid v1.1.0 h1:B9KXyj+GzIpJbV7gmr873NsY6zpbxNy24CBtGrk7jHo=
-github.com/satori/go.uuid v1.1.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
-github.com/strukturag/goacceptlanguageparser v0.0.0-20140213133123-68066e68c294 h1:8U41keMoOchSikt1At5TEQgEj2mh9ZfmnSOijaUWgJc=
-github.com/strukturag/goacceptlanguageparser v0.0.0-20140213133123-68066e68c294/go.mod h1:7Lni2gMAfES8RZSGt6VOrRHC2ZDQa0xazX0d4/TQDkc=
-github.com/strukturag/httputils v0.0.0-20140702013533-afbf05c71ac0 h1:U2x1aZG8ca9wWyCIK7RkHO4RdjtPxXUk4L0EfQSbf4c=
-github.com/strukturag/httputils v0.0.0-20140702013533-afbf05c71ac0/go.mod h1:A5XaUrxwNx8VzSvlxjvxorp2hClKx3005Xx8R69wZ1Q=
-github.com/strukturag/phoenix v0.0.0-20161005151202-8c65e1692d19 h1:epTd/P71nNACa14dWOxYLrxXWLQoVZR/TSy4CWfb6KM=
-github.com/strukturag/phoenix v0.0.0-20161005151202-8c65e1692d19/go.mod h1:5kmm0WAhilO0SKh1rgJi09yvMaI3VV19lWuIWhoxUyw=
-github.com/strukturag/sloth v0.9.2 h1:W0PnsaIoBLkGDt+l2WjErP3TcgOvDhUp9cUrXOU9DZ4=
-github.com/strukturag/sloth v0.9.2/go.mod h1:GAwLmX7h2iAwA6kKkNNUC3sTXccyZtm0CIT/UfWdQXc=
-github.com/strukturag/spreed-turnservicecli v0.0.0-20161117162408-b8e469d5ef70 h1:8rbV0mmWhFh78GhcrO4TpO4Cntl9TUGizGxOa2s0Jcw=
-github.com/strukturag/spreed-turnservicecli v0.0.0-20161117162408-b8e469d5ef70/go.mod h1:W2bMHfSrHssRywtoqMTiRIfI+5AdZ2E6m+lknY1l2lo=
-golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a h1:kr2P4QFmQr29mSLA43kwrOcgcReGTfbE9N577tCTuBc=
-golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210603125802-9665404d3644 h1:CA1DEQ4NdKphKeL70tvsWNdT5oFh1lOjihRcEDROi0I=
-golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
diff --git a/testing/spreed-webrtc/spreed-webrtc.initd b/testing/spreed-webrtc/spreed-webrtc.initd
deleted file mode 100644
index 1622781c9f9..00000000000
--- a/testing/spreed-webrtc/spreed-webrtc.initd
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/sbin/openrc-run
-
-command=/usr/sbin/spreed-webrtc-server
-pidfile=/var/run/spreed-webrtc/${SVCNAME}.pid
-conf=/etc/spreed-webrtc/${SVCNAME}.conf
-logfile=/var/log/spreed-webrtc/spreed-webrtc-server.log
-command_args="-c $conf -l $logfile"
-
-: ${exec_user:=spreed}
-: ${exec_group:=spreed}
-
-start_stop_daemon_args="--user $exec_user --group $exec_group --background --make-pidfile"
-
-depend() {
- need net
- after firewall
-}
-
-start_pre() {
- checkpath --directory ${pidfile%/*} --directory ${logfile%/*} \
- --owner ${exec_user}:${exec_group}
-}
diff --git a/testing/spreed-webrtc/spreed-webrtc.pre-install b/testing/spreed-webrtc/spreed-webrtc.pre-install
deleted file mode 100644
index a14b9033fd3..00000000000
--- a/testing/spreed-webrtc/spreed-webrtc.pre-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-addgroup -S spreed 2>/dev/null
-adduser -h /usr/share/spreed-webrtc -s /sbin/nologin -G spreed -S -D spreed 2>/dev/null
-exit 0
diff --git a/testing/spvm-errno/APKBUILD b/testing/spvm-errno/APKBUILD
new file mode 100644
index 00000000000..cce4c77c8d3
--- /dev/null
+++ b/testing/spvm-errno/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=spvm-errno
+pkgver=0.092
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=SPVM-Errno
+pkgdesc="SPVM Language - Error Numbers"
+url="https://metacpan.org/release/SPVM-Errno/"
+arch="all !s390x !armhf !armv7 !x86" # spvm
+license="MIT"
+depends="perl spvm"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KI/KIMOTO/SPVM-Errno-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7411a31330a6fcc42cd8aac339926ce4d5d8a91e56755ecca67d7008f4fe2c7297a99931327152ebc6a1ec563a7d029e78ed72e13fa2751d30607b1810e4c198 SPVM-Errno-0.092.tar.gz
+"
diff --git a/testing/spvm-math/APKBUILD b/testing/spvm-math/APKBUILD
new file mode 100644
index 00000000000..9323cb4d436
--- /dev/null
+++ b/testing/spvm-math/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=spvm-math
+pkgver=1.001
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=SPVM-Math
+pkgdesc="SPVM Language - Mathematical Functions"
+url="https://metacpan.org/release/SPVM-Math/"
+arch="all !s390x !armhf !armv7 !x86" # spvm
+license="MIT"
+depends="perl spvm"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KI/KIMOTO/SPVM-Math-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+9a2993820f04933c837bb3a61016eac41c730f926e2adc2a5ceb0e3e1caeb5f10582dd3c1f809ca02a139da73f4ec655608622e31bf0eb1952246cc2e8c027e2 SPVM-Math-1.001.tar.gz
+"
diff --git a/testing/spvm-mime-base64/APKBUILD b/testing/spvm-mime-base64/APKBUILD
new file mode 100644
index 00000000000..91a1ea1605a
--- /dev/null
+++ b/testing/spvm-mime-base64/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=spvm-mime-base64
+pkgver=1.001003
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=SPVM-MIME-Base64
+pkgdesc="SPVM Language - Base64 Encoding/Decoding"
+url="https://metacpan.org/release/SPVM-MIME-Base64/"
+arch="all !s390x !armhf !armv7 !x86" # spvm
+license="MIT"
+depends="perl spvm"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KI/KIMOTO/SPVM-MIME-Base64-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+939625523c0ab06081ba68bb33c58ca29574b095bf050482ce8e5bfdf18b0b78b899caeaead473298e38bbda097df87c7ed1b7e3a9266545e3162f881483c5de SPVM-MIME-Base64-1.001003.tar.gz
+"
diff --git a/testing/spvm-thread/APKBUILD b/testing/spvm-thread/APKBUILD
new file mode 100644
index 00000000000..53ec846197c
--- /dev/null
+++ b/testing/spvm-thread/APKBUILD
@@ -0,0 +1,38 @@
+# Automatically generated by apkbuild-cpan, template 4
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=spvm-thread
+pkgver=0.001
+pkgrel=0
+#_pkgreal is used by apkbuild-cpan to find modules at MetaCpan
+_pkgreal=SPVM-Thread
+pkgdesc="SPVM Language - Native Thread"
+url="https://metacpan.org/release/SPVM-Thread/"
+arch="all !s390x !armhf !armv7 !x86" # spvm
+license="MIT"
+depends="perl spvm"
+subpackages="$pkgname-doc"
+source="https://cpan.metacpan.org/authors/id/K/KI/KIMOTO/SPVM-Thread-$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 \
+ NO_PACKLIST=1 \
+ NO_PERLLOCAL=1
+ make
+}
+
+check() {
+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+1af9c85c91bef0da6362c01839017f2935af6856cb97ae7f6be1476398789aee4c2d566ee58cc692233532c90e870dc84c380295010b9e0798325e66240216f9 SPVM-Thread-0.001.tar.gz
+"
diff --git a/testing/sqlar/APKBUILD b/testing/sqlar/APKBUILD
index c74e547aac3..133bc833127 100644
--- a/testing/sqlar/APKBUILD
+++ b/testing/sqlar/APKBUILD
@@ -3,7 +3,7 @@
pkgname="sqlar"
pkgver=0_git20180107
_commit=4824e7389653a46f
-pkgrel=0
+pkgrel=1
pkgdesc="SQLite Archiver"
url="https://sqlite.org/sqlar"
arch="all"
diff --git a/testing/sqlcipher/APKBUILD b/testing/sqlcipher/APKBUILD
deleted file mode 100644
index c92c2048f0e..00000000000
--- a/testing/sqlcipher/APKBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Contributor: wener <wenermail@gmail.com>
-# Maintainer: wener <wenermail@gmail.com>
-pkgname=sqlcipher
-pkgver=4.4.3
-pkgrel=0
-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 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"
- 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="d80177cf658c145f7328bafac14bc2779afa463fc94ef0a5e99b6654cf2eece3088ac296949130e7263f52948913ffeac253c47e33d91816e90caf1788301a9a sqlcipher-4.4.3.tar.gz"
diff --git a/testing/sqlite-replication/APKBUILD b/testing/sqlite-replication/APKBUILD
deleted file mode 100644
index 1e30be241b8..00000000000
--- a/testing/sqlite-replication/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=sqlite-replication
-pkgver=3.32.3.4
-_pkgver="${pkgver%.*}"
-_replication="${pkgver##*.}"
-pkgrel=0
-pkgdesc="Replication Enabled SQL Database Engine in a C Library"
-url="https://github.com/canonical/sqlite"
-arch="all"
-license="custom"
-depends="readline zlib"
-makedepends="tcl-dev sqlite-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://github.com/canonical/sqlite/archive/version-${_pkgver}+replication${_replication}.tar.gz
- remove-failing-test.patch"
-builddir="$srcdir/sqlite-version-${_pkgver}-replication${_replication}"
-
-build() {
- ./configure --prefix=/usr \
- --libdir=/usr/lib/$pkgname \
- --includedir=/usr/include/$pkgname \
- --enable-static=no \
- --enable-all \
- --enable-replication
- make
- make showdb showjournal showstat4 showwal sqldiff sqlite3_analyzer
-}
-
-check() {
- if ! [ $CARCH = "x86" ]; then
- make test
- fi
-}
-
-package() {
- make DESTDIR=$pkgdir install
- install -D -m644 LICENSE.md "${pkgdir}/usr/share/licenses/license.txt"
- rm -rf "$pkgdir/usr/bin"
- rm -rf "$pkgdir/usr/lib/tcl"*
-}
-
-sha512sums="b66e73365271720802afdae9051f4d4fb58aa464240f9f293b46564ed792025fff1373613f3430e970ea6e56eed33b7ff1e5fbcfdd8990e5719d6143a2a966bd version-3.32.3+replication4.tar.gz
-e6a5a48d0fe9c2d35fefdccd6d153e35e3221121ed95e682d6e3f64af512c4f1901ab3f84d304c7e0180723f7250a5a9b78f3019474b00dfaa47253f17235179 remove-failing-test.patch"
diff --git a/testing/sqlite-replication/remove-failing-test.patch b/testing/sqlite-replication/remove-failing-test.patch
deleted file mode 100644
index 2f4ef2f212e..00000000000
--- a/testing/sqlite-replication/remove-failing-test.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile.in b/Makefile.in
-index 24537ea..3d839b8 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -1272,7 +1272,7 @@ quicktest: ./testfixture$(TEXE)
- # This is the common case. Run many tests that do not take too long,
- # including fuzzcheck, sqlite3_analyzer, and sqldiff tests.
- #
--test: fuzztest sourcetest $(TESTPROGS) tcltest
-+test: sourcetest $(TESTPROGS) tcltest
-
- # Run a test using valgrind. This can take a really long time
- # because valgrind is so much slower than a native machine.
diff --git a/testing/sqliteodbc/APKBUILD b/testing/sqliteodbc/APKBUILD
index fdae75beebf..d799d5d1632 100644
--- a/testing/sqliteodbc/APKBUILD
+++ b/testing/sqliteodbc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Robert Boisvert <rdboisvert@gmail.com>
# Maintainer: Robert Boisvert <rdboisvert@gmail.com>
pkgname=sqliteodbc
-pkgver=0.9998
+pkgver=0.99991
pkgrel=0
pkgdesc="SQLite ODBC driver"
url="http://www.ch-werner.de/sqliteodbc"
@@ -29,4 +29,6 @@ package() {
rm $pkgdir/usr/lib/*.la $pkgdir/usr/lib/*.a
}
-sha512sums="6c36cee09a7c300dd81fd70e51e84f0e93f1178393780aae5e982e5af16af7f3abc9dd39d1bdcfa49fb2fc3db3b22331e0019eac4f383da57a21ee4d2057d71f sqliteodbc-0.9998.tar.gz"
+sha512sums="
+ba45b4646083e577e7c54995e0d929fbc2a3bc4ed1667e4422521b6c035f3775f7c5d0ae9985808b8680bc9c2b5b79606289fd047a8805c82ce34d5631239285 sqliteodbc-0.99991.tar.gz
+"
diff --git a/testing/sqlmap/APKBUILD b/testing/sqlmap/APKBUILD
new file mode 100644
index 00000000000..8728afaccb6
--- /dev/null
+++ b/testing/sqlmap/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=sqlmap
+pkgver=1.8.4
+pkgrel=0
+pkgdesc="Automatic SQL injection and database takeover tool"
+url="https://sqlmap.org/"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="
+ py3-beautifulsoup4
+ py3-bottle
+ py3-chardet
+ py3-colorama
+ py3-keepalive
+ py3-magic
+ py3-pydes
+ py3-six
+ py3-termcolor
+ "
+makedepends="py3-setuptools py3-gpep517 py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://pypi.python.org/packages/source/s/sqlmap/sqlmap-$pkgver.tar.gz
+ reduce-amount-of-third-party-dependencies.patch"
+options="!check" # fail with py311 for some reason
+
+prepare() {
+ # remove unneeded thirdparty moduels (keep patch small)
+ cd sqlmap/thirdparty
+ rm -rf chardet bottle beautifulsoup colorama keepalive magic odict \
+ pydes six termcolor
+
+ # pip sources hierarchy is not exactly the same as git
+ local builddir="$builddir"/sqlmap
+ default_prepare
+}
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
+}
+
+package() {
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+3cf79e057dffabdeeb5765ed99a86f2df0e8a404174b05e1d542a231de5ab31b9609a90647c79a7f7e62ce7fe1dee8426a06129ba3cdc5fdd38838156fe1cd50 sqlmap-1.8.4.tar.gz
+ee1d03843a6011c20da52f4dce329c8da412e08b4dcdf66a8d7685bf3816df0835d77c0ad52005ee63af6fdc8787e086db5837bdfb19c6e5122455df22ac0f11 reduce-amount-of-third-party-dependencies.patch
+"
diff --git a/testing/sqlmap/reduce-amount-of-third-party-dependencies.patch b/testing/sqlmap/reduce-amount-of-third-party-dependencies.patch
new file mode 100644
index 00000000000..bf0ff7adba8
--- /dev/null
+++ b/testing/sqlmap/reduce-amount-of-third-party-dependencies.patch
@@ -0,0 +1,897 @@
+From e76995bd6a15acee16481d39585ddc3018a6d7af Mon Sep 17 00:00:00 2001
+From: Maxim Karasev <begs@disroot.org>
+Date: Sat, 6 Aug 2022 20:44:51 +0300
+Subject: [PATCH] reduce amount of third party dependencies
+
+---
+ lib/controller/checks.py | 4 ++--
+ lib/core/agent.py | 2 +-
+ lib/core/common.py | 26 ++++++++++++-------------
+ lib/core/convert.py | 6 +++---
+ lib/core/datatype.py | 4 ++--
+ lib/core/dump.py | 4 ++--
+ lib/core/gui.py | 10 +++++-----
+ lib/core/option.py | 12 ++++++------
+ lib/core/patch.py | 8 ++++----
+ lib/core/settings.py | 4 ++--
+ lib/core/target.py | 6 +++---
+ lib/core/update.py | 2 +-
+ lib/core/wordlist.py | 2 +-
+ lib/parse/cmdline.py | 2 +-
+ lib/parse/sitemap.py | 2 +-
+ lib/request/basic.py | 10 +++++-----
+ lib/request/basicauthhandler.py | 2 +-
+ lib/request/chunkedhandler.py | 2 +-
+ lib/request/comparison.py | 2 +-
+ lib/request/connect.py | 10 +++++-----
+ lib/request/httpshandler.py | 4 ++--
+ lib/request/inject.py | 2 +-
+ lib/request/methodrequest.py | 2 +-
+ lib/request/pkihandler.py | 4 ++--
+ lib/request/rangehandler.py | 2 +-
+ lib/request/redirecthandler.py | 4 ++--
+ lib/takeover/abstraction.py | 2 +-
+ lib/takeover/metasploit.py | 2 +-
+ lib/takeover/web.py | 2 +-
+ lib/techniques/error/use.py | 2 +-
+ lib/techniques/union/use.py | 4 ++--
+ lib/utils/api.py | 24 +++++++++++------------
+ lib/utils/crawler.py | 8 ++++----
+ lib/utils/har.py | 4 ++--
+ lib/utils/hash.py | 10 +++++-----
+ lib/utils/hashdb.py | 2 +-
+ lib/utils/httpd.py | 10 +++++-----
+ lib/utils/pivotdumptable.py | 2 +-
+ lib/utils/purge.py | 2 +-
+ lib/utils/search.py | 4 ++--
+ lib/utils/sqlalchemy.py | 2 +-
+ plugins/dbms/maxdb/enumeration.py | 4 ++--
+ plugins/dbms/mssqlserver/enumeration.py | 2 +-
+ plugins/dbms/sybase/enumeration.py | 4 ++--
+ plugins/generic/custom.py | 2 +-
+ plugins/generic/databases.py | 2 +-
+ plugins/generic/entries.py | 4 ++--
+ plugins/generic/search.py | 2 +-
+ plugins/generic/users.py | 2 +-
+ thirdparty/multipart/multipartpost.py | 2 +-
+ 50 files changed, 121 insertions(+), 121 deletions(-)
+
+diff --git a/lib/controller/checks.py b/lib/controller/checks.py
+index b0d5fd6..71e0b29 100644
+--- a/lib/controller/checks.py
++++ b/lib/controller/checks.py
+@@ -102,8 +102,8 @@ from lib.request.inject import checkBooleanExpression
+ from lib.request.templates import getPageTemplate
+ from lib.techniques.union.test import unionTest
+ from lib.techniques.union.use import configUnion
+-from thirdparty import six
+-from thirdparty.six.moves import http_client as _http_client
++import six
++from six.moves import http_client as _http_client
+
+ def checkSqlInjection(place, parameter, value):
+ # Store here the details about boundaries and payload used to
+diff --git a/lib/core/agent.py b/lib/core/agent.py
+index 539183e..992ee10 100644
+--- a/lib/core/agent.py
++++ b/lib/core/agent.py
+@@ -57,7 +57,7 @@ from lib.core.settings import SINGLE_QUOTE_MARKER
+ from lib.core.settings import SLEEP_TIME_MARKER
+ from lib.core.settings import UNICODE_ENCODING
+ from lib.core.unescaper import unescaper
+-from thirdparty import six
++import six
+
+ class Agent(object):
+ """
+diff --git a/lib/core/common.py b/lib/core/common.py
+index 7dd6dbb..015cd2b 100644
+--- a/lib/core/common.py
++++ b/lib/core/common.py
+@@ -187,21 +187,21 @@ from lib.core.settings import WEBSCARAB_SPLITTER
+ from lib.core.threads import getCurrentThreadData
+ from lib.utils.safe2bin import safecharencode
+ from lib.utils.sqlalchemy import _sqlalchemy
+-from thirdparty import six
++import six
+ from thirdparty.clientform.clientform import ParseResponse
+ from thirdparty.clientform.clientform import ParseError
+-from thirdparty.colorama.initialise import init as coloramainit
+-from thirdparty.magic import magic
+-from thirdparty.odict import OrderedDict
+-from thirdparty.six import unichr as _unichr
+-from thirdparty.six.moves import collections_abc as _collections
+-from thirdparty.six.moves import configparser as _configparser
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import input as _input
+-from thirdparty.six.moves import reload_module as _reload_module
+-from thirdparty.six.moves import urllib as _urllib
+-from thirdparty.six.moves import zip as _zip
+-from thirdparty.termcolor.termcolor import colored
++from colorama.initialise import init as coloramainit
++import magic
++from collections import OrderedDict
++from six import unichr as _unichr
++from six.moves import collections_abc as _collections
++from six.moves import configparser as _configparser
++from six.moves import http_client as _http_client
++from six.moves import input as _input
++from six.moves import reload_module as _reload_module
++from six.moves import urllib as _urllib
++from six.moves import zip as _zip
++from termcolor import colored
+
+ class UnicodeRawConfigParser(_configparser.RawConfigParser):
+ """
+diff --git a/lib/core/convert.py b/lib/core/convert.py
+index c6f86aa..a1fa5eb 100644
+--- a/lib/core/convert.py
++++ b/lib/core/convert.py
+@@ -28,9 +28,9 @@ from lib.core.settings import NULL
+ from lib.core.settings import PICKLE_PROTOCOL
+ from lib.core.settings import SAFE_HEX_MARKER
+ from lib.core.settings import UNICODE_ENCODING
+-from thirdparty import six
+-from thirdparty.six import unichr as _unichr
+-from thirdparty.six.moves import collections_abc as _collections
++import six
++from six import unichr as _unichr
++from six.moves import collections_abc as _collections
+
+ try:
+ from html import escape as htmlEscape
+diff --git a/lib/core/datatype.py b/lib/core/datatype.py
+index eadcb9c..1fdbf11 100644
+--- a/lib/core/datatype.py
++++ b/lib/core/datatype.py
+@@ -8,8 +8,8 @@ See the file 'LICENSE' for copying permission
+ import copy
+ import types
+
+-from thirdparty.odict import OrderedDict
+-from thirdparty.six.moves import collections_abc as _collections
++from collections import OrderedDict
++from six.moves import collections_abc as _collections
+
+ class AttribDict(dict):
+ """
+diff --git a/lib/core/dump.py b/lib/core/dump.py
+index 2e3cdfd..8b1b1f7 100644
+--- a/lib/core/dump.py
++++ b/lib/core/dump.py
+@@ -56,8 +56,8 @@ from lib.core.settings import UNSAFE_DUMP_FILEPATH_REPLACEMENT
+ from lib.core.settings import VERSION_STRING
+ from lib.core.settings import WINDOWS_RESERVED_NAMES
+ from lib.utils.safe2bin import safechardecode
+-from thirdparty import six
+-from thirdparty.magic import magic
++import six
++import magic
+
+ class Dump(object):
+ """
+diff --git a/lib/core/gui.py b/lib/core/gui.py
+index fa6f269..eb7160c 100644
+--- a/lib/core/gui.py
++++ b/lib/core/gui.py
+@@ -28,7 +28,7 @@ from lib.core.settings import GIT_PAGE
+ from lib.core.settings import SITE
+ from lib.core.settings import VERSION_STRING
+ from lib.core.settings import WIKI_PAGE
+-from thirdparty.six.moves import queue as _queue
++from six.moves import queue as _queue
+
+ alive = None
+ line = ""
+@@ -37,10 +37,10 @@ queue = None
+
+ def runGui(parser):
+ try:
+- from thirdparty.six.moves import tkinter as _tkinter
+- from thirdparty.six.moves import tkinter_scrolledtext as _tkinter_scrolledtext
+- from thirdparty.six.moves import tkinter_ttk as _tkinter_ttk
+- from thirdparty.six.moves import tkinter_messagebox as _tkinter_messagebox
++ from six.moves import tkinter as _tkinter
++ from six.moves import tkinter_scrolledtext as _tkinter_scrolledtext
++ from six.moves import tkinter_ttk as _tkinter_ttk
++ from six.moves import tkinter_messagebox as _tkinter_messagebox
+ except ImportError as ex:
+ raise SqlmapMissingDependence("missing dependence ('%s')" % getSafeExString(ex))
+
+diff --git a/lib/core/option.py b/lib/core/option.py
+index 7fc2116..5fc9ae3 100644
+--- a/lib/core/option.py
++++ b/lib/core/option.py
+@@ -151,13 +151,13 @@ from lib.utils.deps import checkDependencies
+ from lib.utils.har import HTTPCollectorFactory
+ from lib.utils.purge import purge
+ from lib.utils.search import search
+-from thirdparty import six
+-from thirdparty.keepalive import keepalive
++import six
++import keepalive
+ from thirdparty.multipart import multipartpost
+-from thirdparty.six.moves import collections_abc as _collections
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import http_cookiejar as _http_cookiejar
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import collections_abc as _collections
++from six.moves import http_client as _http_client
++from six.moves import http_cookiejar as _http_cookiejar
++from six.moves import urllib as _urllib
+ from thirdparty.socks import socks
+ from xml.etree.ElementTree import ElementTree
+
+diff --git a/lib/core/patch.py b/lib/core/patch.py
+index 9136b70..c72b1a2 100644
+--- a/lib/core/patch.py
++++ b/lib/core/patch.py
+@@ -22,7 +22,7 @@ import lib.request.connect
+ import lib.utils.search
+ import lib.utils.sqlalchemy
+ import thirdparty.ansistrm.ansistrm
+-import thirdparty.chardet.universaldetector
++import chardet.universaldetector
+
+ from lib.core.common import filterNone
+ from lib.core.common import getSafeExString
+@@ -39,8 +39,8 @@ from lib.core.option import _setHTTPHandlers
+ from lib.core.option import setVerbosity
+ from lib.core.settings import IS_WIN
+ from lib.request.templates import getPageTemplate
+-from thirdparty import six
+-from thirdparty.six.moves import http_client as _http_client
++import six
++from six.moves import http_client as _http_client
+
+ _rand = 0
+
+@@ -80,7 +80,7 @@ def dirtyPatches():
+ _http_client.LineAndFileWrapper.readline = _
+
+ # to prevent too much "guessing" in case of binary data retrieval
+- thirdparty.chardet.universaldetector.MINIMUM_THRESHOLD = 0.90
++ chardet.universaldetector.MINIMUM_THRESHOLD = 0.90
+
+ match = re.search(r" --method[= ](\w+)", " ".join(sys.argv))
+ if match and match.group(1).upper() != PLACE.POST:
+diff --git a/lib/core/settings.py b/lib/core/settings.py
+index b8dbda3..32385bc 100644
+--- a/lib/core/settings.py
++++ b/lib/core/settings.py
+@@ -16,8 +16,8 @@ import time
+ from lib.core.enums import DBMS
+ from lib.core.enums import DBMS_DIRECTORY_NAME
+ from lib.core.enums import OS
+-from thirdparty import six
+-from thirdparty.six import unichr as _unichr
++import six
++from six import unichr as _unichr
+
+ # sqlmap version (<major>.<minor>.<month>.<monthly commit>)
+ VERSION = "1.7.9"
+diff --git a/lib/core/target.py b/lib/core/target.py
+index 480886a..a03151d 100644
+--- a/lib/core/target.py
++++ b/lib/core/target.py
+@@ -78,9 +78,9 @@ from lib.core.settings import USER_AGENT_ALIASES
+ from lib.core.settings import XML_RECOGNITION_REGEX
+ from lib.core.threads import getCurrentThreadData
+ from lib.utils.hashdb import HashDB
+-from thirdparty import six
+-from thirdparty.odict import OrderedDict
+-from thirdparty.six.moves import urllib as _urllib
++import six
++from collections import OrderedDict
++from six.moves import urllib as _urllib
+
+ def _setRequestParams():
+ """
+diff --git a/lib/core/update.py b/lib/core/update.py
+index 2fe6f12..b80407d 100644
+--- a/lib/core/update.py
++++ b/lib/core/update.py
+@@ -30,7 +30,7 @@ from lib.core.settings import IS_WIN
+ from lib.core.settings import VERSION
+ from lib.core.settings import TYPE
+ from lib.core.settings import ZIPBALL_PAGE
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import urllib as _urllib
+
+ def update():
+ if not conf.updateAll:
+diff --git a/lib/core/wordlist.py b/lib/core/wordlist.py
+index 781642b..f9d647d 100644
+--- a/lib/core/wordlist.py
++++ b/lib/core/wordlist.py
+@@ -11,7 +11,7 @@ from lib.core.common import getSafeExString
+ from lib.core.common import isZipFile
+ from lib.core.exception import SqlmapDataException
+ from lib.core.exception import SqlmapInstallationException
+-from thirdparty import six
++import six
+
+ class Wordlist(six.Iterator):
+ """
+diff --git a/lib/parse/cmdline.py b/lib/parse/cmdline.py
+index e16e822..cb8d338 100644
+--- a/lib/parse/cmdline.py
++++ b/lib/parse/cmdline.py
+@@ -92,7 +92,7 @@ from lib.core.shell import autoCompletion
+ from lib.core.shell import clearHistory
+ from lib.core.shell import loadHistory
+ from lib.core.shell import saveHistory
+-from thirdparty.six.moves import input as _input
++from six.moves import input as _input
+
+ def cmdLineParser(argv=None):
+ """
+diff --git a/lib/parse/sitemap.py b/lib/parse/sitemap.py
+index db2f090..3682fc7 100644
+--- a/lib/parse/sitemap.py
++++ b/lib/parse/sitemap.py
+@@ -13,7 +13,7 @@ from lib.core.data import logger
+ from lib.core.datatype import OrderedSet
+ from lib.core.exception import SqlmapSyntaxException
+ from lib.request.connect import Connect as Request
+-from thirdparty.six.moves import http_client as _http_client
++from six.moves import http_client as _http_client
+
+ abortedFlag = None
+
+diff --git a/lib/request/basic.py b/lib/request/basic.py
+index c00fd0d..403c72e 100644
+--- a/lib/request/basic.py
++++ b/lib/request/basic.py
+@@ -54,12 +54,12 @@ from lib.core.settings import UNICODE_ENCODING
+ from lib.core.settings import VIEWSTATE_REGEX
+ from lib.parse.headers import headersParser
+ from lib.parse.html import htmlParser
+-from thirdparty import six
+-from thirdparty.chardet import detect
++import six
++from chardet import detect
+ from thirdparty.identywaf import identYwaf
+-from thirdparty.odict import OrderedDict
+-from thirdparty.six import unichr as _unichr
+-from thirdparty.six.moves import http_client as _http_client
++from collections import OrderedDict
++from six import unichr as _unichr
++from six.moves import http_client as _http_client
+
+ @lockedmethod
+ def forgeHeaders(items=None, base=None):
+diff --git a/lib/request/basicauthhandler.py b/lib/request/basicauthhandler.py
+index f7c8408..472e7a2 100644
+--- a/lib/request/basicauthhandler.py
++++ b/lib/request/basicauthhandler.py
+@@ -5,7 +5,7 @@ Copyright (c) 2006-2023 sqlmap developers (https://sqlmap.org/)
+ See the file 'LICENSE' for copying permission
+ """
+
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import urllib as _urllib
+
+ class SmartHTTPBasicAuthHandler(_urllib.request.HTTPBasicAuthHandler):
+ """
+diff --git a/lib/request/chunkedhandler.py b/lib/request/chunkedhandler.py
+index b275993..4081eae 100644
+--- a/lib/request/chunkedhandler.py
++++ b/lib/request/chunkedhandler.py
+@@ -7,7 +7,7 @@ See the file 'LICENSE' for copying permission
+
+ from lib.core.data import conf
+ from lib.core.enums import HTTP_HEADER
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import urllib as _urllib
+
+ class ChunkedHandler(_urllib.request.HTTPHandler):
+ """
+diff --git a/lib/request/comparison.py b/lib/request/comparison.py
+index c703b2b..6a5763b 100644
+--- a/lib/request/comparison.py
++++ b/lib/request/comparison.py
+@@ -32,7 +32,7 @@ from lib.core.settings import REFLECTED_VALUE_MARKER
+ from lib.core.settings import UPPER_RATIO_BOUND
+ from lib.core.settings import URI_HTTP_HEADER
+ from lib.core.threads import getCurrentThreadData
+-from thirdparty import six
++import six
+
+ def comparison(page, headers, code=None, getRatioValue=False, pageLength=None):
+ _ = _adjust(_comparison(page, headers, code, getRatioValue, pageLength), getRatioValue)
+diff --git a/lib/request/connect.py b/lib/request/connect.py
+index 2f7cbfc..a39ac0f 100644
+--- a/lib/request/connect.py
++++ b/lib/request/connect.py
+@@ -136,11 +136,11 @@ from lib.request.comparison import comparison
+ from lib.request.direct import direct
+ from lib.request.methodrequest import MethodRequest
+ from lib.utils.safe2bin import safecharencode
+-from thirdparty import six
+-from thirdparty.odict import OrderedDict
+-from thirdparty.six import unichr as _unichr
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import urllib as _urllib
++import six
++from collections import OrderedDict
++from six import unichr as _unichr
++from six.moves import http_client as _http_client
++from six.moves import urllib as _urllib
+ from thirdparty.socks.socks import ProxyError
+
+ class Connect(object):
+diff --git a/lib/request/httpshandler.py b/lib/request/httpshandler.py
+index 03c4079..ae06372 100644
+--- a/lib/request/httpshandler.py
++++ b/lib/request/httpshandler.py
+@@ -17,8 +17,8 @@ from lib.core.data import kb
+ from lib.core.data import logger
+ from lib.core.exception import SqlmapConnectionException
+ from lib.core.settings import PYVERSION
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import http_client as _http_client
++from six.moves import urllib as _urllib
+
+ ssl = None
+ try:
+diff --git a/lib/request/inject.py b/lib/request/inject.py
+index 039ef1b..7e53fb0 100644
+--- a/lib/request/inject.py
++++ b/lib/request/inject.py
+@@ -66,7 +66,7 @@ from lib.techniques.dns.test import dnsTest
+ from lib.techniques.dns.use import dnsUse
+ from lib.techniques.error.use import errorUse
+ from lib.techniques.union.use import unionUse
+-from thirdparty import six
++import six
+
+ def _goDns(payload, expression):
+ value = None
+diff --git a/lib/request/methodrequest.py b/lib/request/methodrequest.py
+index 8535557..5188dd3 100644
+--- a/lib/request/methodrequest.py
++++ b/lib/request/methodrequest.py
+@@ -6,7 +6,7 @@ See the file 'LICENSE' for copying permission
+ """
+
+ from lib.core.convert import getText
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import urllib as _urllib
+
+ class MethodRequest(_urllib.request.Request):
+ """
+diff --git a/lib/request/pkihandler.py b/lib/request/pkihandler.py
+index 05a6ccf..9bf4cb3 100644
+--- a/lib/request/pkihandler.py
++++ b/lib/request/pkihandler.py
+@@ -8,8 +8,8 @@ See the file 'LICENSE' for copying permission
+ from lib.core.data import conf
+ from lib.core.common import getSafeExString
+ from lib.core.exception import SqlmapConnectionException
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import http_client as _http_client
++from six.moves import urllib as _urllib
+
+ class HTTPSPKIAuthHandler(_urllib.request.HTTPSHandler):
+ def __init__(self, auth_file):
+diff --git a/lib/request/rangehandler.py b/lib/request/rangehandler.py
+index ff0598c..57b2101 100644
+--- a/lib/request/rangehandler.py
++++ b/lib/request/rangehandler.py
+@@ -6,7 +6,7 @@ See the file 'LICENSE' for copying permission
+ """
+
+ from lib.core.exception import SqlmapConnectionException
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import urllib as _urllib
+
+ class HTTPRangeHandler(_urllib.request.BaseHandler):
+ """
+diff --git a/lib/request/redirecthandler.py b/lib/request/redirecthandler.py
+index a305906..a43a685 100644
+--- a/lib/request/redirecthandler.py
++++ b/lib/request/redirecthandler.py
+@@ -31,8 +31,8 @@ from lib.core.settings import MAX_TOTAL_REDIRECTIONS
+ from lib.core.threads import getCurrentThreadData
+ from lib.request.basic import decodePage
+ from lib.request.basic import parseResponse
+-from thirdparty import six
+-from thirdparty.six.moves import urllib as _urllib
++import six
++from six.moves import urllib as _urllib
+
+ class SmartRedirectHandler(_urllib.request.HTTPRedirectHandler):
+ def _get_header_redirect(self, headers):
+diff --git a/lib/takeover/abstraction.py b/lib/takeover/abstraction.py
+index 52f43dd..51aab06 100644
+--- a/lib/takeover/abstraction.py
++++ b/lib/takeover/abstraction.py
+@@ -29,7 +29,7 @@ from lib.takeover.udf import UDF
+ from lib.takeover.web import Web
+ from lib.takeover.xp_cmdshell import XP_cmdshell
+ from lib.utils.safe2bin import safechardecode
+-from thirdparty.six.moves import input as _input
++from six.moves import input as _input
+
+ class Abstraction(Web, UDF, XP_cmdshell):
+ """
+diff --git a/lib/takeover/metasploit.py b/lib/takeover/metasploit.py
+index d4a8776..205cc56 100644
+--- a/lib/takeover/metasploit.py
++++ b/lib/takeover/metasploit.py
+@@ -49,7 +49,7 @@ from lib.core.subprocessng import blockingWriteToFD
+ from lib.core.subprocessng import Popen as execute
+ from lib.core.subprocessng import send_all
+ from lib.core.subprocessng import recv_some
+-from thirdparty import six
++import six
+
+ if IS_WIN:
+ import msvcrt
+diff --git a/lib/takeover/web.py b/lib/takeover/web.py
+index 9572740..41c5099 100644
+--- a/lib/takeover/web.py
++++ b/lib/takeover/web.py
+@@ -57,7 +57,7 @@ from lib.core.settings import SHELL_RUNCMD_EXE_TAG
+ from lib.core.settings import SHELL_WRITABLE_DIR_TAG
+ from lib.core.settings import VIEWSTATE_REGEX
+ from lib.request.connect import Connect as Request
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import urllib as _urllib
+
+ class Web(object):
+ """
+diff --git a/lib/techniques/blind/inference.py b/lib/techniques/blind/inference.py
+index 52bea11..569f816 100644
+--- a/lib/techniques/blind/inference.py
++++ b/lib/techniques/blind/inference.py
+@@ -62,7 +62,7 @@ from lib.request.connect import Connect as Request
+ from lib.utils.progress import ProgressBar
+ from lib.utils.safe2bin import safecharencode
+ from lib.utils.xrange import xrange
+-from thirdparty import six
++import six
+
+ def bisection(payload, expression, length=None, charsetType=None, firstChar=None, lastChar=None, dump=False):
+ """
+diff --git a/lib/techniques/error/use.py b/lib/techniques/error/use.py
+index 343733d..07be2e3 100644
+--- a/lib/techniques/error/use.py
++++ b/lib/techniques/error/use.py
+@@ -60,7 +60,7 @@ from lib.core.unescaper import unescaper
+ from lib.request.connect import Connect as Request
+ from lib.utils.progress import ProgressBar
+ from lib.utils.safe2bin import safecharencode
+-from thirdparty import six
++import six
+
+ def _oneShotErrorUse(expression, field=None, chunkTest=False):
+ offset = 1
+diff --git a/lib/techniques/union/use.py b/lib/techniques/union/use.py
+index ef550d8..dbc0915 100644
+--- a/lib/techniques/union/use.py
++++ b/lib/techniques/union/use.py
+@@ -59,8 +59,8 @@ from lib.core.unescaper import unescaper
+ from lib.request.connect import Connect as Request
+ from lib.utils.progress import ProgressBar
+ from lib.utils.safe2bin import safecharencode
+-from thirdparty import six
+-from thirdparty.odict import OrderedDict
++import six
++from collections import OrderedDict
+
+ def _oneShotUnionUse(expression, unpack=True, limited=False):
+ retVal = hashDBRetrieve("%s%s" % (conf.hexConvert or False, expression), checkConf=True) # as UNION data is stored raw unconverted
+diff --git a/lib/utils/api.py b/lib/utils/api.py
+index 2a394f3..def4198 100644
+--- a/lib/utils/api.py
++++ b/lib/utils/api.py
+@@ -56,18 +56,18 @@ from lib.core.settings import VERSION_STRING
+ from lib.core.shell import autoCompletion
+ from lib.core.subprocessng import Popen
+ from lib.parse.cmdline import cmdLineParser
+-from thirdparty.bottle.bottle import error as return_error
+-from thirdparty.bottle.bottle import get
+-from thirdparty.bottle.bottle import hook
+-from thirdparty.bottle.bottle import post
+-from thirdparty.bottle.bottle import request
+-from thirdparty.bottle.bottle import response
+-from thirdparty.bottle.bottle import run
+-from thirdparty.bottle.bottle import server_names
+-from thirdparty import six
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import input as _input
+-from thirdparty.six.moves import urllib as _urllib
++from bottle import error as return_error
++from bottle import get
++from bottle import hook
++from bottle import post
++from bottle import request
++from bottle import response
++from bottle import run
++from bottle import server_names
++import six
++from six.moves import http_client as _http_client
++from six.moves import input as _input
++from six.moves import urllib as _urllib
+
+ # Global data storage
+ class DataStore(object):
+diff --git a/lib/utils/crawler.py b/lib/utils/crawler.py
+index 2d90707..f829b0e 100644
+--- a/lib/utils/crawler.py
++++ b/lib/utils/crawler.py
+@@ -36,10 +36,10 @@ from lib.core.threads import getCurrentThreadData
+ from lib.core.threads import runThreads
+ from lib.parse.sitemap import parseSitemap
+ from lib.request.connect import Connect as Request
+-from thirdparty import six
+-from thirdparty.beautifulsoup.beautifulsoup import BeautifulSoup
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import urllib as _urllib
++import six
++from bs4 import BeautifulSoup
++from six.moves import http_client as _http_client
++from six.moves import urllib as _urllib
+
+ def crawl(target, post=None, cookie=None):
+ if not target:
+diff --git a/lib/utils/har.py b/lib/utils/har.py
+index bcea7b0..30aac9e 100644
+--- a/lib/utils/har.py
++++ b/lib/utils/har.py
+@@ -15,8 +15,8 @@ from lib.core.bigarray import BigArray
+ from lib.core.convert import getBytes
+ from lib.core.convert import getText
+ from lib.core.settings import VERSION
+-from thirdparty.six.moves import BaseHTTPServer as _BaseHTTPServer
+-from thirdparty.six.moves import http_client as _http_client
++from six.moves import BaseHTTPServer as _BaseHTTPServer
++from six.moves import http_client as _http_client
+
+ # Reference: https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/HAR/Overview.html
+ # http://www.softwareishard.com/har/viewer/
+diff --git a/lib/utils/hash.py b/lib/utils/hash.py
+index 4a01333..2e5d8c3 100644
+--- a/lib/utils/hash.py
++++ b/lib/utils/hash.py
+@@ -16,8 +16,8 @@ try:
+ from Crypto.Cipher.DES import MODE_CBC as CBC
+ from Crypto.Cipher.DES import new as des
+ except:
+- from thirdparty.pydes.pyDes import CBC
+- from thirdparty.pydes.pyDes import des
++ from pyDes import CBC
++ from pyDes import des
+
+ _multiprocessing = None
+
+@@ -85,9 +85,9 @@ from lib.core.settings import NULL
+ from lib.core.settings import ROTATING_CHARS
+ from lib.core.settings import UNICODE_ENCODING
+ from lib.core.wordlist import Wordlist
+-from thirdparty import six
+-from thirdparty.colorama.initialise import init as coloramainit
+-from thirdparty.six.moves import queue as _queue
++import six
++from colorama.initialise import init as coloramainit
++from six.moves import queue as _queue
+
+ def mysql_passwd(password, uppercase=True):
+ """
+diff --git a/lib/utils/hashdb.py b/lib/utils/hashdb.py
+index 10cf2dc..cb00b0f 100644
+--- a/lib/utils/hashdb.py
++++ b/lib/utils/hashdb.py
+@@ -26,7 +26,7 @@ from lib.core.settings import HASHDB_FLUSH_THRESHOLD
+ from lib.core.settings import HASHDB_RETRIEVE_RETRIES
+ from lib.core.threads import getCurrentThreadData
+ from lib.core.threads import getCurrentThreadName
+-from thirdparty import six
++import six
+
+ class HashDB(object):
+ def __init__(self, filepath):
+diff --git a/lib/utils/httpd.py b/lib/utils/httpd.py
+index f5820a6..3353d1d 100644
+--- a/lib/utils/httpd.py
++++ b/lib/utils/httpd.py
+@@ -21,11 +21,11 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".
+ from lib.core.enums import HTTP_HEADER
+ from lib.core.settings import UNICODE_ENCODING
+ from lib.core.settings import VERSION_STRING
+-from thirdparty import six
+-from thirdparty.six.moves import BaseHTTPServer as _BaseHTTPServer
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import socketserver as _socketserver
+-from thirdparty.six.moves import urllib as _urllib
++import six
++from six.moves import BaseHTTPServer as _BaseHTTPServer
++from six.moves import http_client as _http_client
++from six.moves import socketserver as _socketserver
++from six.moves import urllib as _urllib
+
+ HTTP_ADDRESS = "0.0.0.0"
+ HTTP_PORT = 8951
+diff --git a/lib/utils/pivotdumptable.py b/lib/utils/pivotdumptable.py
+index 008a33c..b1ca9bb 100644
+--- a/lib/utils/pivotdumptable.py
++++ b/lib/utils/pivotdumptable.py
+@@ -34,7 +34,7 @@ from lib.core.settings import SINGLE_QUOTE_MARKER
+ from lib.core.unescaper import unescaper
+ from lib.request import inject
+ from lib.utils.safe2bin import safechardecode
+-from thirdparty.six import unichr as _unichr
++from six import unichr as _unichr
+
+ def pivotDumpTable(table, colList, count=None, blind=True, alias=None):
+ lengths = {}
+diff --git a/lib/utils/purge.py b/lib/utils/purge.py
+index e89895e..d0fdbeb 100644
+--- a/lib/utils/purge.py
++++ b/lib/utils/purge.py
+@@ -17,7 +17,7 @@ from lib.core.common import openFile
+ from lib.core.compat import xrange
+ from lib.core.convert import getUnicode
+ from lib.core.data import logger
+-from thirdparty.six import unichr as _unichr
++from six import unichr as _unichr
+
+ def purge(directory):
+ """
+diff --git a/lib/utils/search.py b/lib/utils/search.py
+index 5ae11a1..67ea87e 100644
+--- a/lib/utils/search.py
++++ b/lib/utils/search.py
+@@ -33,8 +33,8 @@ from lib.core.settings import GOOGLE_REGEX
+ from lib.core.settings import HTTP_ACCEPT_ENCODING_HEADER_VALUE
+ from lib.core.settings import UNICODE_ENCODING
+ from lib.request.basic import decodePage
+-from thirdparty.six.moves import http_client as _http_client
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import http_client as _http_client
++from six.moves import urllib as _urllib
+ from thirdparty.socks import socks
+
+ def _search(dork):
+diff --git a/lib/utils/sqlalchemy.py b/lib/utils/sqlalchemy.py
+index f1bc0d9..d0b0d12 100644
+--- a/lib/utils/sqlalchemy.py
++++ b/lib/utils/sqlalchemy.py
+@@ -38,7 +38,7 @@ from lib.core.exception import SqlmapConnectionException
+ from lib.core.exception import SqlmapFilePathException
+ from lib.core.exception import SqlmapMissingDependence
+ from plugins.generic.connector import Connector as GenericConnector
+-from thirdparty import six
+-from thirdparty.six.moves import urllib as _urllib
++import six
++from six.moves import urllib as _urllib
+
+ def getSafeExString(ex, encoding=None): # Cross-referenced function
+ raise NotImplementedError
+diff --git a/plugins/dbms/maxdb/enumeration.py b/plugins/dbms/maxdb/enumeration.py
+index a83b9c2..40d4250 100644
+--- a/plugins/dbms/maxdb/enumeration.py
++++ b/plugins/dbms/maxdb/enumeration.py
+@@ -26,8 +26,8 @@ from lib.core.settings import CURRENT_DB
+ from lib.utils.brute import columnExists
+ from lib.utils.pivotdumptable import pivotDumpTable
+ from plugins.generic.enumeration import Enumeration as GenericEnumeration
+-from thirdparty import six
+-from thirdparty.six.moves import zip as _zip
++import six
++from six.moves import zip as _zip
+
+ class Enumeration(GenericEnumeration):
+ def __init__(self):
+diff --git a/plugins/dbms/mssqlserver/enumeration.py b/plugins/dbms/mssqlserver/enumeration.py
+index e5407ce..4c11c83 100644
+--- a/plugins/dbms/mssqlserver/enumeration.py
++++ b/plugins/dbms/mssqlserver/enumeration.py
+@@ -32,7 +32,7 @@ from lib.core.exception import SqlmapNoneDataException
+ from lib.core.settings import CURRENT_DB
+ from lib.request import inject
+ from plugins.generic.enumeration import Enumeration as GenericEnumeration
+-from thirdparty import six
++import six
+
+ class Enumeration(GenericEnumeration):
+ def getPrivileges(self, *args, **kwargs):
+diff --git a/plugins/dbms/sybase/enumeration.py b/plugins/dbms/sybase/enumeration.py
+index 9f254c9..dde98bc 100644
+--- a/plugins/dbms/sybase/enumeration.py
++++ b/plugins/dbms/sybase/enumeration.py
+@@ -29,8 +29,8 @@ from lib.core.settings import CURRENT_DB
+ from lib.utils.brute import columnExists
+ from lib.utils.pivotdumptable import pivotDumpTable
+ from plugins.generic.enumeration import Enumeration as GenericEnumeration
+-from thirdparty import six
+-from thirdparty.six.moves import zip as _zip
++import six
++from six.moves import zip as _zip
+
+ class Enumeration(GenericEnumeration):
+ def getUsers(self):
+diff --git a/plugins/generic/custom.py b/plugins/generic/custom.py
+index fab6261..2bd2916 100644
+--- a/plugins/generic/custom.py
++++ b/plugins/generic/custom.py
+@@ -26,7 +26,7 @@ from lib.core.settings import NULL
+ from lib.core.settings import PARAMETER_SPLITTING_REGEX
+ from lib.core.shell import autoCompletion
+ from lib.request import inject
+-from thirdparty.six.moves import input as _input
++from six.moves import input as _input
+
+ class Custom(object):
+ """
+diff --git a/plugins/generic/databases.py b/plugins/generic/databases.py
+index b924e99..dd01b46 100644
+--- a/plugins/generic/databases.py
++++ b/plugins/generic/databases.py
+@@ -55,7 +55,7 @@ from lib.core.settings import VERTICA_DEFAULT_SCHEMA
+ from lib.request import inject
+ from lib.utils.brute import columnExists
+ from lib.utils.brute import tableExists
+-from thirdparty import six
++import six
+
+ class Databases(object):
+ """
+diff --git a/plugins/generic/entries.py b/plugins/generic/entries.py
+index 84b1c0e..0fb7b57 100644
+--- a/plugins/generic/entries.py
++++ b/plugins/generic/entries.py
+@@ -49,8 +49,8 @@ from lib.core.settings import UPPER_CASE_DBMSES
+ from lib.request import inject
+ from lib.utils.hash import attackDumpedTable
+ from lib.utils.pivotdumptable import pivotDumpTable
+-from thirdparty import six
+-from thirdparty.six.moves import zip as _zip
++import six
++from six.moves import zip as _zip
+
+ class Entries(object):
+ """
+diff --git a/plugins/generic/search.py b/plugins/generic/search.py
+index bb670b7..d1b46ac 100644
+--- a/plugins/generic/search.py
++++ b/plugins/generic/search.py
+@@ -38,7 +38,7 @@ from lib.core.settings import UPPER_CASE_DBMSES
+ from lib.request import inject
+ from lib.utils.brute import columnExists
+ from lib.utils.brute import tableExists
+-from thirdparty import six
++import six
+
+ class Search(object):
+ """
+diff --git a/plugins/generic/users.py b/plugins/generic/users.py
+index ddef85a..0a30c1b 100644
+--- a/plugins/generic/users.py
++++ b/plugins/generic/users.py
+@@ -47,7 +47,7 @@ from lib.request import inject
+ from lib.utils.hash import attackCachedUsersPasswords
+ from lib.utils.hash import storeHashesToFile
+ from lib.utils.pivotdumptable import pivotDumpTable
+-from thirdparty.six.moves import zip as _zip
++from six.moves import zip as _zip
+
+ class Users(object):
+ """
+diff --git a/thirdparty/multipart/multipartpost.py b/thirdparty/multipart/multipartpost.py
+index 5ea37cc..e47a857 100644
+--- a/thirdparty/multipart/multipartpost.py
++++ b/thirdparty/multipart/multipartpost.py
+@@ -30,7 +30,7 @@ import sys
+ from lib.core.compat import choose_boundary
+ from lib.core.convert import getBytes
+ from lib.core.exception import SqlmapDataException
+-from thirdparty.six.moves import urllib as _urllib
++from six.moves import urllib as _urllib
+
+ # Controls how sequences are uncoded. If true, elements may be given
+ # multiple values by assigning a sequence.
diff --git a/testing/sqm-scripts/10-defaults.sh.patch b/testing/sqm-scripts/10-defaults.sh.patch
deleted file mode 100644
index d2c7bdd6fee..00000000000
--- a/testing/sqm-scripts/10-defaults.sh.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/defaults.sh
-+++ b/src/defaults.sh
-@@ -27,7 +27,7 @@
- [ -z "$IP" ] && IP=ip_wrapper
- [ -z "$IP_BINARY" ] && IP_BINARY=$(which ip)
- # Try modprobe first, fall back to insmod
--[ -z "$INSMOD" ] && INSMOD=$(which modprobe) || INSMOD=$(which insmod)
-+[ -n "$INSMOD" ] || INSMOD=$(which modprobe) || INSMOD=$(which insmod)
- [ -z "$TARGET" ] && TARGET="5ms"
- [ -z "$IPT_MASK" ] && IPT_MASK="0xff" # to disable: set mask to 0xffffffff
- #sm: we need the functions above before trying to set the ingress IFB device
diff --git a/testing/sqm-scripts/APKBUILD b/testing/sqm-scripts/APKBUILD
index d45ee3244c9..01be88c8255 100644
--- a/testing/sqm-scripts/APKBUILD
+++ b/testing/sqm-scripts/APKBUILD
@@ -1,16 +1,16 @@
-# Contributor:
-# Maintainer:
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
+# Maintainer: Nicolas Lorin <androw95220@gmail.com>
pkgname=sqm-scripts
-pkgver=1.5.0
+pkgver=1.6.0
pkgrel=0
pkgdesc="SQM scripts traffic shaper"
url="https://github.com/tohojo/sqm-scripts"
arch="noarch"
license="GPL-2.0-only"
-depends="iproute2 iptables ip6tables"
+options="!check"
+depends="iproute2 iptables"
makedepends="coreutils"
-source="$pkgname-$pkgver.tar.gz::https://github.com/tohojo/sqm-scripts/archive/v$pkgver.tar.gz
- 10-defaults.sh.patch"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tohojo/sqm-scripts/archive/v$pkgver.tar.gz"
package() {
install -m 0755 -d $pkgdir/etc/network/if-up.d
@@ -20,5 +20,6 @@ package() {
rm -rf "$pkgdir"/sqm@.service
}
-sha512sums="7c36bdabd92f881a89abde7d07d2aff327668e5d84f24ffdfa364879a92285b62c5ba66204075b93778ae13c29fc701916bc2b341ad49e09c311b8d1ee122d73 sqm-scripts-1.5.0.tar.gz
-a5d90befde15afe588d6ac46a3ce4c7b123d0d233e83be5c36c9f45f14d71622f6da6c9c47fe219645a474705daaacc52e246ce7c21b313631371db2962a3f9a 10-defaults.sh.patch"
+sha512sums="
+6e384de887c330277389cbe05513f699c3f56ed5aaea3b765c109d01f34c9f73e05a7f7f6c7d34082a66d148e0500273451bd9808afbadc6c5db6a0292fc36ba sqm-scripts-1.6.0.tar.gz
+"
diff --git a/testing/squashfs-tools-ng/0001-Fix-struct-offset-testing-in-ABI-test-case.patch b/testing/squashfs-tools-ng/0001-Fix-struct-offset-testing-in-ABI-test-case.patch
deleted file mode 100644
index a55d51f33bb..00000000000
--- a/testing/squashfs-tools-ng/0001-Fix-struct-offset-testing-in-ABI-test-case.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From 349a98c2153f6d993c926007cb9eb7cc386c1be0 Mon Sep 17 00:00:00 2001
-From: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-Date: Sun, 12 Sep 2021 23:52:40 +0200
-Subject: [PATCH 1/2] Fix struct offset testing in ABI test case
-
-The intention of the (severely incomplete) ABI test case is to detect
-changes to the ABI of libsquashfs. Currently it tries to blurt out if
-the layout of some structure is changed unintentionally.
-
-Unfortunately, the test uses some unportable assumptions. Among other
-things, it was assumed that a 64 bit field will always require 64 bit
-alignment. This is apparently no the case on 32 bit x86.
-
-This patch makes the check work on 32 bit and 64 bit x86, by adding
-an additional runtime check that relies on the __alignof__ extension
-offered by gcc and clang (the only 2 compilers that are really
-supported at the moment).
-
-Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
-[Retrieved from https://github.com/AgentD/squashfs-tools-ng/issues/93]
-Signed-off-by: Ryan Barnett <ryanbarnett3@gmail.com>
----
- tests/libsqfs/abi.c | 71 +++++++++++++++++++++++++++++++++------------
- 1 file changed, 52 insertions(+), 19 deletions(-)
-
-diff --git a/tests/libsqfs/abi.c b/tests/libsqfs/abi.c
-index 04bbc30..d409f67 100644
---- a/tests/libsqfs/abi.c
-+++ b/tests/libsqfs/abi.c
-@@ -35,8 +35,14 @@ static void test_compressor_opt_struct(void)
- sizeof(sqfs_u32));
- TEST_EQUAL_UI(offsetof(sqfs_compressor_config_t, level),
- (2 * sizeof(sqfs_u32)));
-- TEST_EQUAL_UI(offsetof(sqfs_compressor_config_t, opt),
-- (4 * sizeof(sqfs_u32)));
-+
-+ if (__alignof__(sqfs_compressor_config_t) == __alignof__(sqfs_u32)) {
-+ TEST_EQUAL_UI(offsetof(sqfs_compressor_config_t, opt),
-+ (3 * sizeof(sqfs_u32)));
-+ } else if (__alignof__(sqfs_compressor_config_t) == __alignof__(sqfs_u64)) {
-+ TEST_EQUAL_UI(offsetof(sqfs_compressor_config_t, opt),
-+ (4 * sizeof(sqfs_u32)));
-+ }
- }
-
- static const char *names[] = {
-@@ -65,33 +71,60 @@ static void test_compressor_names(void)
- static void test_blockproc_stats(void)
- {
- sqfs_block_processor_stats_t stats;
-+ size_t off;
-+
-+ TEST_EQUAL_UI(sizeof(stats.size), sizeof(size_t));
-+ TEST_EQUAL_UI(sizeof(stats.input_bytes_read), sizeof(sqfs_u64));
-+ TEST_EQUAL_UI(sizeof(stats.output_bytes_generated), sizeof(sqfs_u64));
-+ TEST_EQUAL_UI(sizeof(stats.data_block_count), sizeof(sqfs_u64));
-+ TEST_EQUAL_UI(sizeof(stats.frag_block_count), sizeof(sqfs_u64));
-+ TEST_EQUAL_UI(sizeof(stats.sparse_block_count), sizeof(sqfs_u64));
-+ TEST_EQUAL_UI(sizeof(stats.total_frag_count), sizeof(sqfs_u64));
-+ TEST_EQUAL_UI(sizeof(stats.actual_frag_count), sizeof(sqfs_u64));
-
-- TEST_ASSERT(sizeof(stats) >= (8 * sizeof(sqfs_u64)));
-+ if (__alignof__(stats) == __alignof__(sqfs_u32)) {
-+ TEST_ASSERT(sizeof(stats) >=
-+ (sizeof(sqfs_u32) + 7 * sizeof(sqfs_u64)));
-+ } else if (__alignof__(stats) == __alignof__(sqfs_u64)) {
-+ TEST_ASSERT(sizeof(stats) >= (8 * sizeof(sqfs_u64)));
-+ }
-
- TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t, size), 0);
-+
-+ if (sizeof(size_t) < sizeof(sqfs_u64) &&
-+ (__alignof__(sqfs_block_processor_stats_t) ==
-+ __alignof__(sqfs_u64))) {
-+ off = sizeof(sqfs_u64);
-+ } else {
-+ off = sizeof(stats.size);
-+ }
-+
- TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t,
-- input_bytes_read), sizeof(sqfs_u64));
-- TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t,
-- output_bytes_generated), 2 * sizeof(sqfs_u64));
-+ input_bytes_read), off);
-+ off += sizeof(sqfs_u64);
-+
- TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t,
-- data_block_count), 3 * sizeof(sqfs_u64));
-+ output_bytes_generated), off);
-+ off += sizeof(sqfs_u64);
-+
- TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t,
-- frag_block_count), 4 * sizeof(sqfs_u64));
-+ data_block_count), off);
-+ off += sizeof(sqfs_u64);
-+
- TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t,
-- sparse_block_count), 5 * sizeof(sqfs_u64));
-+ frag_block_count), off);
-+ off += sizeof(sqfs_u64);
-+
- TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t,
-- total_frag_count), 6 * sizeof(sqfs_u64));
-+ sparse_block_count), off);
-+ off += sizeof(sqfs_u64);
-+
- TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t,
-- actual_frag_count), 7 * sizeof(sqfs_u64));
-+ total_frag_count), off);
-+ off += sizeof(sqfs_u64);
-
-- TEST_EQUAL_UI(sizeof(stats.size), sizeof(size_t));
-- TEST_EQUAL_UI(sizeof(stats.input_bytes_read), sizeof(sqfs_u64));
-- TEST_EQUAL_UI(sizeof(stats.output_bytes_generated), sizeof(sqfs_u64));
-- TEST_EQUAL_UI(sizeof(stats.data_block_count), sizeof(sqfs_u64));
-- TEST_EQUAL_UI(sizeof(stats.frag_block_count), sizeof(sqfs_u64));
-- TEST_EQUAL_UI(sizeof(stats.sparse_block_count), sizeof(sqfs_u64));
-- TEST_EQUAL_UI(sizeof(stats.total_frag_count), sizeof(sqfs_u64));
-- TEST_EQUAL_UI(sizeof(stats.actual_frag_count), sizeof(sqfs_u64));
-+ TEST_EQUAL_UI(offsetof(sqfs_block_processor_stats_t,
-+ actual_frag_count), off);
- }
-
- static void test_blockproc_desc(void)
---
-2.31.1
-
diff --git a/testing/squashfs-tools-ng/APKBUILD b/testing/squashfs-tools-ng/APKBUILD
index c323c6f0590..55972f693d5 100644
--- a/testing/squashfs-tools-ng/APKBUILD
+++ b/testing/squashfs-tools-ng/APKBUILD
@@ -1,17 +1,15 @@
# Contributor: Ryan Barnett <ryanbarnett3@gmail.com>
# Maintainer: Ryan Barnett <ryanbarnett3@gmail.com>
pkgname=squashfs-tools-ng
-pkgver=1.1.3
+pkgver=1.3.0
pkgrel=0
-pkgdesc="A new set of tools and libraries for working with SquashFS images"
+pkgdesc="New set of tools and libraries for working with SquashFS images"
url="https://infraroot.at/projects/squashfs-tools-ng/index.html"
arch="all"
license="GPL-3.0-or-later"
makedepends="automake libselinux-dev lz4-dev lzo-dev xz-dev zlib-dev zstd-dev"
subpackages="$pkgname-dev $pkgname-libs $pkgname-doc"
-source="https://infraroot.at/pub/squashfs/squashfs-tools-ng-$pkgver.tar.gz
- 0001-Fix-struct-offset-testing-in-ABI-test-case.patch
- "
+source="https://infraroot.at/pub/squashfs/squashfs-tools-ng-$pkgver.tar.gz"
build() {
./configure \
@@ -32,5 +30,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="7bd2c1f1f5b0443e34594b5899591bef03b50f10755d12062e38e09a831f791859460184e53e288d33fc7690d6d32b94e162afe2e0234b62e2dc2b977972cf5e squashfs-tools-ng-1.1.3.tar.gz
-9358ce93bb7ea6e8d9376548c4e32f271b7cc88adad845cd91c707cef30fa4442607621d4e0ac9b2ab8ab791ca90fa11516b99f47287c1af1cb53a33fc6dd887 0001-Fix-struct-offset-testing-in-ABI-test-case.patch"
+sha512sums="
+a55a954e24149248ca3ca1dafe9fd132401a6abf869e53e1b74719af813de00bee393dc1da7f392c1e37331a3354e997984839e30603f5aef999319870b75013 squashfs-tools-ng-1.3.0.tar.gz
+"
diff --git a/testing/squeak-vm/APKBUILD b/testing/squeak-vm/APKBUILD
index 9c9cc55aa2e..907674fd8ff 100644
--- a/testing/squeak-vm/APKBUILD
+++ b/testing/squeak-vm/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=squeak-vm
pkgver=4.10.2.2614
-pkgrel=0
+pkgrel=1
pkgdesc="Full-featured implementation of the Smalltalk programming language and environment"
url="http://squeakvm.org"
arch="x86_64 s390x armv7" #disabled for the other architectures due to compiling problems
diff --git a/testing/srain/APKBUILD b/testing/srain/APKBUILD
index 4b99b4db078..214e2658e69 100644
--- a/testing/srain/APKBUILD
+++ b/testing/srain/APKBUILD
@@ -1,29 +1,36 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=srain
-pkgver=1.3.1
+pkgver=1.6.0
pkgrel=0
-pkgdesc="Modern IRC client written in GTK."
-url="https://srain.im"
+pkgdesc="Modern IRC client written in GTK"
+url="https://srain.silverrainz.me/"
arch="all"
-license="GPL-2.0"
-makedepends="cmake gettext glib-dev gtk+3.0-dev libconfig-dev libsecret-dev libsoup-dev
- meson ninja openssl-dev py3-sphinx"
-subpackages="$pkgname-doc $pkgname-lang"
+license="GPL-3.0-or-later WITH OpenSSL-Exception"
+makedepends="
+ cmake
+ gettext
+ glib-dev
+ gtk+3.0-dev
+ libayatana-appindicator-dev
+ libconfig-dev
+ libsecret-dev
+ libsoup-dev
+ meson
+ ninja
+ openssl-dev>3
+ py3-sphinx
+ "
+subpackages="$pkgname-lang"
source="$pkgname-$pkgver.tar.gz::https://github.com/SrainApp/srain/archive/$pkgver.tar.gz"
build() {
- meson setup \
- --prefix=/usr \
- --datadir=/usr/share \
- --sysconfdir=/etc \
- --buildtype=release \
- builddir
+ abuild-meson . builddir
ninja -C builddir
}
check() {
- meson check
+ meson test --no-rebuild --print-errorlogs -C builddir
}
package() {
@@ -31,5 +38,5 @@ package() {
}
sha512sums="
-fb34d6b90f384bd15e3bceabc408b0f98aa3b5b9448c280ede613966800c5809aa8f3c4350dd8aa26d8a92c9e38802c0c5c572f10aa58c137d65eaffb378af95 srain-1.3.1.tar.gz
+59d962ddbf71724d5f68decc1e3b873cea6c6bd2ca23b21a1a6fe937d53f2871398fdcda906840755efc6b454d2d5116ca620c047f1634fb68b45ab2c0443a57 srain-1.6.0.tar.gz
"
diff --git a/testing/sratom/APKBUILD b/testing/sratom/APKBUILD
deleted file mode 100644
index d5ae53237e5..00000000000
--- a/testing/sratom/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=sratom
-pkgver=0.6.8
-pkgrel=0
-pkgdesc="library for serialising LV2 atoms to and from RDF"
-url="http://drobilla.net/software/sratom"
-arch="all"
-license="ISC"
-makedepends="python3 serd-dev sord-dev lv2-dev"
-subpackages="$pkgname-dev"
-source="http://download.drobilla.net/sratom-$pkgver.tar.bz2"
-options="!check" # No tests
-
-build() {
- python3 waf configure --prefix=/usr
- python3 waf build
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="49ec4b230a72005ab7a7a3de0bfa630a27a16f9f811ca8e7f6da7fcf6b34526577217075d428a993f95b813dd2a82a9b6892eeb2e36b66b122ada778fbb3fb95 sratom-0.6.8.tar.bz2"
diff --git a/testing/srb2/APKBUILD b/testing/srb2/APKBUILD
new file mode 100644
index 00000000000..6b5872e6929
--- /dev/null
+++ b/testing/srb2/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
+# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
+pkgname=srb2
+pkgver=2.2.13
+pkgrel=0
+pkgdesc="A 3D Sonic fan game based off of Doom Legacy"
+url="https://srb2.org"
+arch="all !armhf !armv7 !s390x" # arm-hf/v7 and s390x problem with gcc
+license="GPL-2.0-only"
+depends="srb2-data libgme libopenmpt sdl2_mixer libpng curl"
+makedepends="libgme-dev libopenmpt-dev sdl2_mixer-dev libpng-dev curl-dev envsubst"
+options="!check" # no test
+source="$pkgname-$pkgver.tar.gz::https://github.com/STJr/SRB2/archive/refs/tags/SRB2_release_$pkgver.tar.gz
+ $pkgname-$pkgver-data.zip::https://github.com/STJr/SRB2/releases/download/SRB2_release_2.2.13/SRB2-v2213-Full.zip
+ fix-backtrace.patch
+ "
+subpackages="$pkgname-data::noarch"
+builddir="$srcdir/SRB2-SRB2_release_$pkgver"
+
+build() {
+ make -C src/ USE_OPENMP=1 EXENAME=srb2
+ PROGRAM_NAME="Sonic Robo Blast 2" PROGRAM_DESCRIPTION="$pkgdesc" \
+ PACKAGE_INSTALL_PATH="/usr/bin" PROGRAM_FILENAME="$pkgname" \
+ envsubst < debian-template/srb2.desktop > srb2.desktop
+}
+
+package() {
+ install -Dm755 bin/$pkgname $pkgdir/usr/bin/$pkgname
+ install -Dm644 srb2.png $pkgdir/usr/share/pixmaps/srb2.png
+ install -Dm644 srb2.desktop $pkgdir/usr/share/applications/srb2.desktop
+}
+
+data() {
+ pkgdesc="$pkgdesc (data files)"
+
+ cd "$srcdir/"
+ install -d "$subpkgdir"/usr/share/games/SRB2
+ install -m644 models.dat player.dta music.dta patch.pk3 srb2.pk3 zones.pk3 "$subpkgdir"/usr/share/games/SRB2
+}
+
+sha512sums="
+b68dec859d2d08ec0ff8fc65a07ba5cdc80091a26bf06fadb3e7ae5e18489b6e4a9575d0d3b7fd626e6ccf0589a67e93a0df616df18df70524e5e3709979cf8a srb2-2.2.13.tar.gz
+0ede22cc385057f18715da445548c94473271d7ece49d3c540faab470232574bcaf9a2de32e2445c35bc3c98bcb0f06bcb891e4d953e4c1b003cd4a7e0599a5e srb2-2.2.13-data.zip
+2489a3c1e7abb2f8b66db00b13b809041c98757642844c1990d9d98c820efc8ca35a3498a5d0fad87086a31227118e3b883f49b948785f863ffd9e78e1ecb022 fix-backtrace.patch
+"
diff --git a/testing/srb2/fix-backtrace.patch b/testing/srb2/fix-backtrace.patch
new file mode 100644
index 00000000000..769a8ad05ec
--- /dev/null
+++ b/testing/srb2/fix-backtrace.patch
@@ -0,0 +1,14 @@
+--- a/src/sdl/i_system.c
++++ b/src/sdl/i_system.c
+@@ -137,11 +137,6 @@
+ #include <errno.h>
+ #endif
+
+-#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
+-#include <execinfo.h>
+-#include <time.h>
+-#define UNIXBACKTRACE
+-#endif
+
+ // Locations for searching the srb2.pk3
+ #if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
diff --git a/testing/sregex/APKBUILD b/testing/sregex/APKBUILD
index afcd044f0fa..54fd124646b 100644
--- a/testing/sregex/APKBUILD
+++ b/testing/sregex/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=sregex
pkgver=0.0.1
-pkgrel=0
+pkgrel=1
pkgdesc="A NFA/DFA-based regex engine matching on large data streams"
url="https://github.com/openresty/sregex"
# armv7 - tests failed
diff --git a/testing/ssdfs-tools/APKBUILD b/testing/ssdfs-tools/APKBUILD
new file mode 100644
index 00000000000..1362c83e04e
--- /dev/null
+++ b/testing/ssdfs-tools/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=ssdfs-tools
+pkgver=4.09
+pkgrel=0
+pkgdesc="SSDFS flash-friendly file system tools"
+url="https://github.com/dubeyko/ssdfs-tools"
+arch="all"
+license="BSD-3-Clause-Clear"
+makedepends="automake autoconf libtool linux-headers libblkid util-linux-dev zlib-dev"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dubeyko/ssdfs-tools/archive/refs/tags/v$pkgver.tar.gz"
+#builddir="$srcdir/"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+8162662a467113bd1058a28457b569fca606ab4f2dc7fb1dd46ca81550900356a145717df45f59cb9f4ff1f0fd94d0844f0aa9fadde8d98eb9ad232ed7541ac7 ssdfs-tools-4.09.tar.gz
+"
diff --git a/testing/ssh-cert-authority/APKBUILD b/testing/ssh-cert-authority/APKBUILD
index 8b11763b939..da07472cac2 100644
--- a/testing/ssh-cert-authority/APKBUILD
+++ b/testing/ssh-cert-authority/APKBUILD
@@ -1,20 +1,22 @@
+# Contributor: Carlgo11 <carlgo11@carlgo11.com>
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer:
pkgname=ssh-cert-authority
-pkgver=1.7.1
-pkgrel=4
+pkgver=2.0.0
+pkgrel=18
pkgdesc="An implementation of an SSH certificate authority"
url="https://github.com/cloudtools/ssh-cert-authority"
arch="all"
license="BSD-2-Clause"
-depends=""
makedepends="go"
-options="net"
+options="net chmod-clean"
source="$pkgname-$pkgver.tar.gz::https://github.com/cloudtools/ssh-cert-authority/archive/$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- cd "$builddir"
local pkg=github.com/cloudtools/ssh-cert-authority
# Fix build on riscv64
@@ -29,20 +31,11 @@ build() {
}
check() {
- cd "$builddir"
go test ./...
}
package() {
- cd "$builddir"
install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname
}
-cleanup_srcdir() {
- if [ -d "$srcdir" ]; then
- find "$srcdir" -print0 | xargs -0 chmod +w
- fi
- default_cleanup_srcdir
-}
-
-sha512sums="028f0484299ef2b598a168467e576cb3ff326e6cb9acc8393b4df68a29f0fb7a017332e3da8d4afffa9f86518f0d5bac588c11abf1f94ae1391066bc65ca9aa8 ssh-cert-authority-1.7.1.tar.gz"
+sha512sums="495b4ba72b848eeeb86869ffe312f37d4f49e6e281e840f5680e8f55cc2d29b33c771bc46ee2755d25d198e58e5dea0ce28a649321f4f979f59a1c22ed4d6f1c ssh-cert-authority-2.0.0.tar.gz"
diff --git a/testing/ssh-honeypot/APKBUILD b/testing/ssh-honeypot/APKBUILD
index 934938b47a4..c3ba9ca5444 100644
--- a/testing/ssh-honeypot/APKBUILD
+++ b/testing/ssh-honeypot/APKBUILD
@@ -1,24 +1,23 @@
# Contributor: Michael Pirogov <vbnet.ru@gmail.com>
# Maintainer: Michael Pirogov <vbnet.ru@gmail.com>
-pkgname="ssh-honeypot"
-pkgver="0_git20190717"
-_commit=b7baa9a6963e723ee0779a6cef0447739870ace3
-pkgrel=0
+pkgname=ssh-honeypot
+pkgver=0.1.1
+pkgrel=1
pkgdesc="Fake sshd that logs ip addresses, usernames, and passwords."
url="https://github.com/droberson/ssh-honeypot"
arch="all"
license="MIT"
depends="openssh-keygen"
-makedepends="json-c0.12-dev libssh-dev"
+makedepends="json-c-dev libssh-dev"
options="!check" # no testsuite and daemon returns 1 even on help command
subpackages="$pkgname-openrc"
-source="$pkgname-$pkgver.zip::https://github.com/droberson/ssh-honeypot/archive/$_commit.zip
+source="https://github.com/droberson/ssh-honeypot/archive/refs/tags/ssh-honeypot-$pkgver.tar.gz
$pkgname.initd
$pkgname.confd"
-builddir="$srcdir/$pkgname-$_commit"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver"
build() {
- make CC="gcc" CFLAGS="$CFLAGS -fPIC"
+ make CC="${CC:-cc}" CFLAGS="$CFLAGS $LDFLAGS -fPIC"
}
package() {
@@ -28,6 +27,8 @@ package() {
install -m 644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
}
-sha512sums="67edfac31421bb8ecbbff08b9dcc3169372da59f4dd83a21149af666b98c42c3a924f8dd6a5091d5928a258915c1f6a7611dbef872432e793fc42e786fd30201 ssh-honeypot-0_git20190717.zip
+sha512sums="
+178ab3e71a1891f6002b6d6bdb7086ed6e777fad9fcbcd42d52c9dc723917c15ecdc182d5fea2ad943bcaa5fc3730ea34ec744c1f2e5a83f6859f3f2771cce39 ssh-honeypot-0.1.1.tar.gz
759a0756e082bc946deec156c164dd5b40876f2f3cd1f3f0c526f06b009f70110ddfbc7730e295765f6c9e088f123a45909c94fe048e7f864b4946ae5a98f157 ssh-honeypot.initd
-e93b93117afa5f5ad93bce12e5846718bb25d24ace47bbcee1bbb72af51b0cc9fc7558a5650e4778330e5ad22d1807183ebc93101e7e16dfc6f7e391ba4aca6d ssh-honeypot.confd"
+e93b93117afa5f5ad93bce12e5846718bb25d24ace47bbcee1bbb72af51b0cc9fc7558a5650e4778330e5ad22d1807183ebc93101e7e16dfc6f7e391ba4aca6d ssh-honeypot.confd
+"
diff --git a/testing/ssh-tools/APKBUILD b/testing/ssh-tools/APKBUILD
index b555c37b926..15a1f1add3e 100644
--- a/testing/ssh-tools/APKBUILD
+++ b/testing/ssh-tools/APKBUILD
@@ -1,19 +1,21 @@
# Contributor: Sven Wick <sven.wick@gmx.de>
# Maintainer: Sven Wick <sven.wick@gmx.de>
-pkgname="ssh-tools"
-pkgver="1.7"
+pkgname=ssh-tools
+pkgver=1.8
pkgrel=0
pkgdesc="collection of various tools using ssh"
arch="noarch"
-url="https://github.com/vaporup/ssh-tools"
+url="https://codeberg.org/vaporup/ssh-tools"
license="GPL-3.0-or-later"
-depends="bash colordiff cmd:ssh cmd:ssh-keygen cmd:ssh-keyscan cmd:column"
-source="${pkgname}-${pkgver}.tar.gz::https://github.com/vaporup/${pkgname}/archive/v${pkgver}.tar.gz"
+depends="bash perl colordiff cmd:ssh cmd:ssh-keygen cmd:ssh-keyscan cmd:column"
+source="ssh-tools-$pkgver.tar.gz::https://codeberg.org/vaporup/ssh-tools/archive/v$pkgver.tar.gz"
options="!check" # does not have a testsuite
package() {
- install -Dt "${pkgdir}/usr/bin" ssh-*
+ install -Dt "$pkgdir/usr/bin" $srcdir/ssh-tools/ssh-*
}
-sha512sums="dd67f3b204c4076e72f6bfec1844f2ee54b5744320687487716549fe68f897cfb54770e860fbb8e85bdf415aed69e523c01fc88a0fe14cd0d9fce9001cadc60b ssh-tools-1.7.tar.gz"
+sha512sums="
+1bd2c344853401249e64460d89ee67aa55697ec42f98ad22c7f47cb18dca02f17157a3b69bc4d329813488d2ebb01a6af2d29849e96c9b0cfc02866f62d10c01 ssh-tools-1.8.tar.gz
+"
diff --git a/testing/sshsrv/APKBUILD b/testing/sshsrv/APKBUILD
new file mode 100644
index 00000000000..3b9b5719925
--- /dev/null
+++ b/testing/sshsrv/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Francesco Colista <fcolista@alpinelinux.org>
+# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
+pkgname=sshsrv
+pkgver=1.0
+pkgrel=4
+pkgdesc="Connect to SSH servers using DNS SRV records"
+url="https://github.com/Crosse/sshsrv"
+arch="all"
+license="ISC"
+makedepends="go"
+options="chmod-clean net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Crosse/sshsrv/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+build() {
+ go build
+}
+
+check() {
+ # useless since no test are available
+ go test
+}
+
+package() {
+ install -Dm755 sshsrv "$pkgdir"/usr/bin/sshsrv
+}
+
+sha512sums="
+225dce6d454eced8b2572b2f79ae6c5d0fb8a16f5f0129241805e808ccfffebe5e36d31d44121c14f3632cc2aec1f4f31c1de99cb258586876eb9a30265e5e04 sshsrv-1.0.tar.gz
+"
diff --git a/testing/sshuttle/APKBUILD b/testing/sshuttle/APKBUILD
index 2a3e0faf9bd..42ef1cc66a7 100644
--- a/testing/sshuttle/APKBUILD
+++ b/testing/sshuttle/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=sshuttle
-pkgver=1.0.5
-pkgrel=4
+pkgver=1.1.1
+pkgrel=2
pkgdesc="Transparent proxy server using ssh"
url="https://github.com/sshuttle/sshuttle"
arch="noarch"
@@ -10,9 +10,8 @@ depends="python3 py3-psutil"
makedepends="py3-setuptools"
checkdepends="py3-pytest py3-pytest-cov py3-mock py3-flake8"
options="!check" # TODO: fix testsuite
-source="https://github.com/sshuttle/sshuttle/archive/v$pkgver/sshuttle-$pkgver.tar.gz
- no-scm.patch
- "
+subpackages="$pkgname-pyc"
+source="https://github.com/sshuttle/sshuttle/archive/v$pkgver/sshuttle-$pkgver.tar.gz"
build() {
echo "version = '$pkgver'" > sshuttle/version.py
@@ -24,8 +23,9 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="d58cff77625eca0ffba44bd19553bb2043df99dac4e204b3269ffe1be6dae38009eb6ac42e575322b903945b406d6008f70360e0597bed3913c0ebf0562e9a68 sshuttle-1.0.5.tar.gz
-bdfcb1e88b4f2ce3906ed511697083ab789d5a8c1034bce25448cdd3195fb5e26ab403e7f3fdb97d4293cad4875dc08ed5071dafab145c70f654ab9ac40fb160 no-scm.patch"
+sha512sums="
+4f670bee34653e47cf7a0c8550b2ac734230ccf0d4fb6191ae3a0c6404847c788c3cdf033bc1571f49472729029077aa6d6970f4bce78fa4980f1f29ccbd2f7a sshuttle-1.1.1.tar.gz
+"
diff --git a/testing/sshuttle/no-scm.patch b/testing/sshuttle/no-scm.patch
deleted file mode 100644
index 33a317e40d1..00000000000
--- a/testing/sshuttle/no-scm.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/setup.py b/setup.py
-index d5f3c7e..b90473d 100755
---- a/setup.py
-+++ b/setup.py
-@@ -28,12 +28,7 @@ def version_scheme(version):
-
- setup(
- name="sshuttle",
-- use_scm_version={
-- 'write_to': "sshuttle/version.py",
-- 'version_scheme': version_scheme,
-- },
-- setup_requires=['setuptools_scm'],
-- # version=version,
-+ #version="",
- url='https://github.com/sshuttle/sshuttle',
- author='Brian May',
- author_email='brian@linuxpenguins.xyz',
diff --git a/testing/ssldump/APKBUILD b/testing/ssldump/APKBUILD
deleted file mode 100644
index abfbadf4bf3..00000000000
--- a/testing/ssldump/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer:
-pkgname=ssldump
-pkgver=1.4
-pkgrel=0
-pkgdesc="SSLv3/TLS network protocol analyzer"
-url="https://github.com/adulau/ssldump"
-arch="all"
-license="BSD-4-Clause"
-subpackages="$pkgname-doc"
-options="!check" # no tests provided
-makedepends="autoconf automake libnet-dev json-c-dev fts-dev libpcap-dev openssl-dev"
-source="https://github.com/adulau/ssldump/archive/v$pkgver/ssldump-$pkgver.tar.gz
- "
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --datarootdir=/usr/share \
- --docdir=/usr/share/doc \
- --localstatedir=/var
- make
-}
-
-package() {
- make install sbindir="$pkgdir/usr/sbin" mandir="$pkgdir/usr/share/man" docdir="$pkgdir/usr/share/doc"
- install -D -m 644 COPYRIGHT "$pkgdir"/usr/share/licenses/$pkgname/COPYRIGHT
-}
-
-sha512sums="fb17c5610dcfce3e8020a5148d37be5b2fbc3083d78727281922ae32b5905c4aa882cd368c3581238f3492c6b5bab943dcff6a966d64160a3836d6a95bdc7682 ssldump-1.4.tar.gz"
diff --git a/testing/sslh/APKBUILD b/testing/sslh/APKBUILD
deleted file mode 100644
index 911597036d2..00000000000
--- a/testing/sslh/APKBUILD
+++ /dev/null
@@ -1,72 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname=sslh
-pkgver=1.22c
-pkgrel=0
-pkgdesc="Applicative Protocol Multiplexer (e.g. share SSH and HTTPS on the same port)"
-url="http://www.rutschle.net/tech/sslh/README.html"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="libconfig-dev libcap-dev pcre2-dev perl"
-checkdepends="perl-conf-libconfig perl-io-socket-inet6 lcov valgrind"
-subpackages="$pkgname-fail2ban::noarch $pkgname-doc $pkgname-openrc"
-source="http://www.rutschle.net/tech/$pkgname/$pkgname-v$pkgver.tar.gz
- fix-make-install.patch
- fail2ban.patch
- config.patch
- $pkgname.initd
- $pkgname.confd
- "
-builddir="$srcdir/$pkgname-v$pkgver"
-# FIXME: Some tests fail.
-# Can't test in chroot due to sockets and processes opened. (?)
-options="!check"
-
-build() {
- make CFLAGS="$CFLAGS -std=gnu99" \
- ENABLE_REGEX=1 \
- USELIBPCRE=1 \
- USELIBCONFIG=1 \
- USELIBCAP=1
-}
-
-check() {
- make test
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-
- install -D -m644 basic.cfg "$pkgdir/etc/$pkgname.conf"
- install -D -m755 "$srcdir/$pkgname.initd" "$pkgdir/etc/init.d/$pkgname"
- install -D -m644 "$srcdir/$pkgname.confd" "$pkgdir/etc/conf.d/$pkgname"
-}
-
-fail2ban() {
- install_if="$pkgname=$pkgver-r$pkgrel fail2ban"
-
- cd "$builddir"
-
- install -D -m644 scripts/fail2ban/sslh-ssh.conf \
- "$subpkgdir"/etc/fail2ban/filter.d/sslh-ssh.conf
-
- install -D -m644 scripts/fail2ban/jail.conf \
- "$subpkgdir"/etc/fail2ban/jail.d/sslh-ssh.conf
-}
-
-doc() {
- default_doc
-
- cd "$builddir"
- install -Dm 644 basic.cfg "$subpkgdir/usr/share/doc/$pkgname/basic.cfg"
- install -Dm 644 example.cfg "$subpkgdir/usr/share/doc/$pkgname/example.cfg"
-}
-
-sha512sums="
-46c1221d7ba6db9d2c11ee9a05fd6ec1da758efe2ba5ac7df0ced7b884742b2cbcef6d88478cdd743055ed63c9db647687456ce4a9c95071fdd8d93c1b31ee4b sslh-v1.22c.tar.gz
-b82d3c799f0cdf183fe0545e1d2b4f142070112d7ec3594afd709608c4893c300122aa32026dd7f8e782eb3981bf85fc02f878e2613ddfe014f39bbb94fb441e fix-make-install.patch
-5773ee1d91e099726b614dbe385f2668699d25029fc300b664411c6082e95d3f27df11b9b1489bee3444c81bf941b8db13b4d382343788e47408c593c4531816 fail2ban.patch
-cc6267d286e0f38b13cd4b2cba978627fbfad3781698ff7da7933c2d05356b34b60a62e766a32c0414cc26ce42bc043af11be35bd0af67692e587ca4d223357d config.patch
-20ad403c7e8bd37c849263886ff4307a478fbeaec74d52b7db864dea2e9bdafb2c501afd70fa2621385baf3536553a79cee006b4a629260921d2e08db7991696 sslh.initd
-7eaf99c6fb4505d0562c46ed2b3ae656b7c7c96223f2c7f11ab1bed72e9df0223a7ef02277ac50a633d165238efb8c54044eff38b488a7884b6671120d9e3f3e sslh.confd
-"
diff --git a/testing/sslh/config.patch b/testing/sslh/config.patch
deleted file mode 100644
index 9ed4aca7c7e..00000000000
--- a/testing/sslh/config.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/basic.cfg b/basic.cfg
-index d8e4336..7cd0050 100644
---- a/basic.cfg
-+++ b/basic.cfg
-@@ -2,20 +2,17 @@
- # sensible values for "standard" setup.
-
- verbose: 0;
--foreground: false;
--inetd: false;
- numeric: false;
- transparent: false;
- timeout: 2;
- user: "nobody";
--pidfile: "/var/run/sslh.pid";
- chroot: "/var/empty";
-
-
- # Change hostname with your external address name.
- listen:
- (
-- { host: "thelonious"; port: "443"; }
-+ { host: "0.0.0.0"; port: "443"; }
- );
-
- protocols:
diff --git a/testing/sslh/fail2ban.patch b/testing/sslh/fail2ban.patch
deleted file mode 100644
index 01dd9fd37dd..00000000000
--- a/testing/sslh/fail2ban.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/scripts/fail2ban/jail.conf
-+++ b/scripts/fail2ban/jail.conf
-@@ -1,8 +1,5 @@
--# Add the following to your fail2ban jail.conf
--# In Debian you'd append it to /etc/fail2ban/jail.local
--
- [sslh-ssh]
--enabled = true
-+enabled = false
- filter = sslh-ssh
- action = iptables-multiport[name=sslh,port="443"]
- logpath = /var/log/messages
---- a/scripts/fail2ban/sslh-ssh.conf
-+++ b/scripts/fail2ban/sslh-ssh.conf
-@@ -1,7 +1,3 @@
--# Add the following to you fail2ban configuration file
--# In Debian it'd go in /etc/fail2ban/filter.d/sslh-ssh.conf
--
--
- # Fail2Ban filter for sslh demultiplexed ssh
- #
- # Doesn't (and cannot) detect auth errors,
diff --git a/testing/sslh/fix-make-install.patch b/testing/sslh/fix-make-install.patch
deleted file mode 100644
index d289f6a6b1b..00000000000
--- a/testing/sslh/fix-make-install.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -98,7 +98,9 @@
- install: sslh $(MAN)
- mkdir -p $(DESTDIR)/$(BINDIR)
- mkdir -p $(DESTDIR)/$(MANDIR)
-- install -p sslh-fork $(DESTDIR)/$(BINDIR)/sslh
-+ install -p sslh-fork $(DESTDIR)/$(BINDIR)/sslh-fork
-+ install -p sslh-select $(DESTDIR)/$(BINDIR)/sslh-select
-+ ln -s sslh-fork $(DESTDIR)/$(BINDIR)/sslh
- install -p -m 0644 $(MAN) $(DESTDIR)/$(MANDIR)/$(MAN)
-
- # "extended" install for Debian: install startup script
diff --git a/testing/sslh/sslh.confd b/testing/sslh/sslh.confd
deleted file mode 100644
index 5fec949a75e..00000000000
--- a/testing/sslh/sslh.confd
+++ /dev/null
@@ -1,18 +0,0 @@
-# Configuration for /etc/init.d/sslh
-
-# The sslh binary to run; one of:
-#
-# fork Forks a new process for each incoming connection. It is well-tested
-# and very reliable, but incurs the overhead of many processes.
-# select Uses only one thread, which monitors all connections at once. It is
-# more recent and less tested, but has smaller overhead per connection.
-#mode="fork"
-
-# Path of the configuration file.
-#cfgfile="/etc/sslh.conf"
-
-# Additional options to pass to the sslh daemon. See sslh(1) man page.
-#command_args=""
-
-# Uncomment to run the sslh daemon under process supervisor.
-#supervisor=supervise-daemon
diff --git a/testing/sslh/sslh.initd b/testing/sslh/sslh.initd
deleted file mode 100644
index d5bab81390a..00000000000
--- a/testing/sslh/sslh.initd
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/sbin/openrc-run
-
-: ${cfgfile:="/etc/sslh.conf"}
-: ${mode:="fork"}
-: ${wait:=50} # milliseconds
-
-description="Port multiplexer for SSH, HTTPS, OpenVPN etc."
-
-command="/usr/sbin/sslh-$mode"
-command_args="-F$cfgfile -f ${command_args:-$DAEMON_OPTS}"
-command_background="yes"
-pidfile="/run/$RC_SVCNAME.pid"
-start_stop_daemon_args="--wait $wait"
-
-required_files="$cfgfile"
diff --git a/testing/sslscan/APKBUILD b/testing/sslscan/APKBUILD
deleted file mode 100644
index dc139d9803b..00000000000
--- a/testing/sslscan/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Contributor:
-# Maintainer:
-pkgname=sslscan
-pkgver=2.0.11
-pkgrel=1
-pkgdesc="fast SSL/TLS configuration scanner"
-url="https://github.com/rbsec/sslscan"
-arch="all"
-license="GPL-3.0-or-later OpenSSL"
-makedepends="zlib-dev openssl-dev perl"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/rbsec/sslscan/archive/refs/tags/$pkgver.tar.gz"
-options="!check" # No test suite
-
-build() {
- make GIT_VERSION=$pkgver
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-
-sha512sums="
-99681cd8b7240cf85dedfaf210cae11ba3dbf2d56c3fa8ef3f3cdcabb6b29916b640e5955a7876ebb9be36dbe326da303e5bda7537b48743ff0a8c1bd35dbf0c sslscan-2.0.11.tar.gz
-"
diff --git a/testing/sssd/0001-makefile.patch b/testing/sssd/0001-makefile.patch
index e53ff8a7ae4..4552bdfabab 100644
--- a/testing/sssd/0001-makefile.patch
+++ b/testing/sssd/0001-makefile.patch
@@ -60,3 +60,10 @@ index f6bc9414d..a435507e7 100644
$(NULL)
p11_child_LDADD += \
$(P11_KIT_LIBS) \
+@@ -4706,6 +4706,7 @@
+ $(JANSSON_LIBS) \
+ $(JOSE_LIBS) \
+ $(CURL_LIBS) \
++ -lintl \
+ $(NULL)
+ endif
diff --git a/testing/sssd/0002-src.patch b/testing/sssd/0002-src.patch
deleted file mode 100644
index ec908c5f2f3..00000000000
--- a/testing/sssd/0002-src.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/src/confdb/confdb.h b/src/confdb/confdb.h
-index af3563e65..2d98829ad 100644
---- a/src/confdb/confdb.h
-+++ b/src/confdb/confdb.h
-@@ -22,6 +22,7 @@
- #ifndef _CONF_DB_H
- #define _CONF_DB_H
-
-+#include <sys/types.h>
- #include <stdbool.h>
- #include <talloc.h>
- #include <tevent.h>
-diff --git a/src/util/util.h b/src/util/util.h
-index 6dfd2540c..e54ca5bd5 100644
---- a/src/util/util.h
-+++ b/src/util/util.h
-@@ -30,6 +30,7 @@
- #include <time.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/param.h>
- #include <netinet/in.h>
-
- #include <talloc.h>
-@@ -46,6 +47,10 @@
- #include "util/sss_regexp.h"
- #include "util/debug.h"
-
-+#ifndef ALLPERMS
-+#define ALLPERMS (S_ISUID | S_ISGID | S_IRGRP | S_IRWXU | S_IRWXG | S_IRWXO)
-+#endif
-+
- /* name of the monitor server instance */
- #define SSSD_MONITOR_NAME "sssd"
- #define SSSD_PIDFILE PID_PATH"/"SSSD_MONITOR_NAME".pid"
diff --git a/testing/sssd/0003-alpine.patch b/testing/sssd/0003-alpine.patch
deleted file mode 100644
index 370509d78fe..00000000000
--- a/testing/sssd/0003-alpine.patch
+++ /dev/null
@@ -1,94 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index a435507e7..2af79444f 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -4945,12 +4945,16 @@ if HAVE_GENTOO
- init_SCRIPTS += \
- src/sysv/gentoo/sssd \
- src/sysv/gentoo/sssd-kcm
-+else
-+if HAVE_ALPINE
-+ init_SCRIPTS += \
-+ src/sysv/alpine/sssd
- else
- init_SCRIPTS += \
- src/sysv/sssd
- endif
- endif
--
-+endif
-
- dist_sssddata_DATA = \
- src/config/etc/sssd.api.conf \
-diff --git a/configure.ac b/configure.ac
-index bf5ac659a..fee61da71 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -496,7 +496,7 @@ AC_DEFINE_UNQUOTED([ABS_SRC_DIR], ["$my_srcdir"], [Absolute path to the source d
-
- AC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config
- contrib/sssd-pcsc.rules
-- src/sysv/sssd src/sysv/gentoo/sssd src/sysv/gentoo/sssd-kcm
-+ src/sysv/sssd src/sysv/gentoo/sssd src/sysv/gentoo/sssd-kcm src/sysv/alpine/sssd
- po/Makefile.in src/man/Makefile src/tests/cwrap/Makefile
- src/tests/intg/Makefile src/tests/test_CA/Makefile
- src/tests/test_CA/intermediate_CA/Makefile
-diff --git a/src/external/platform.m4 b/src/external/platform.m4
-index 75853622f..5a2d50427 100644
---- a/src/external/platform.m4
-+++ b/src/external/platform.m4
-@@ -1,5 +1,5 @@
- AC_ARG_WITH([os],
-- [AC_HELP_STRING([--with-os=OS_TYPE], [Type of your operation system (fedora|redhat|suse|gentoo)])]
-+ [AC_HELP_STRING([--with-os=OS_TYPE], [Type of your operation system (fedora|redhat|suse|gentoo|alpine)])]
- )
- osname=""
- if test x"$with_os" != x ; then
-@@ -7,6 +7,7 @@ if test x"$with_os" != x ; then
- test x"$with_os" = xredhat || \
- test x"$with_os" = xsuse || \
- test x"$with_os" = xgentoo || \
-+ test x"$with_os" = xalpine || \
- test x"$with_os" = xdebian ; then
- osname=$with_os
- else
-@@ -25,6 +26,8 @@ if test x"$osname" = x ; then
- osname="debian"
- elif test -f /etc/gentoo-release ; then
- osname="gentoo"
-+ elif test -f /etc/alpine-release ; then
-+ osname="alpine"
- fi
-
- AC_MSG_NOTICE([Detected operating system type: $osname])
-@@ -35,6 +38,7 @@ AM_CONDITIONAL([HAVE_REDHAT], [test x"$osname" = xredhat])
- AM_CONDITIONAL([HAVE_SUSE], [test x"$osname" = xsuse])
- AM_CONDITIONAL([HAVE_DEBIAN], [test x"$osname" = xdebian])
- AM_CONDITIONAL([HAVE_GENTOO], [test x"$osname" = xgentoo])
-+AM_CONDITIONAL([HAVE_ALPINE], [test x"$osname" = xalpine])
-
- AS_CASE([$osname],
- [redhat], [AC_DEFINE_UNQUOTED([HAVE_REDHAT], 1, [Build with redhat config])],
-diff --git a/src/sysv/alpine/sssd.in b/src/sysv/alpine/sssd.in
-new file mode 100644
-index 000000000..597bf8ce9
---- /dev/null
-+++ b/src/sysv/alpine/sssd.in
-@@ -0,0 +1,17 @@
-+#!/sbin/openrc-run
-+
-+depend(){
-+ need localmount netmount clock
-+}
-+
-+start(){
-+ ebegin "Starting sssd"
-+ start-stop-daemon --start --exec ${exec_prefix}/usr/sbin/sssd -- -Df ${SSSD_OPTIONS}
-+ eend ${?}
-+}
-+
-+stop(){
-+ ebegin "Stopping sssd"
-+ start-stop-daemon --stop --pidfile ${prefix}/var/run/sssd.pid
-+ eend ${?}
-+}
diff --git a/testing/sssd/APKBUILD b/testing/sssd/APKBUILD
index 68e94bddcfc..761d23e140e 100644
--- a/testing/sssd/APKBUILD
+++ b/testing/sssd/APKBUILD
@@ -2,8 +2,8 @@
# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
# Maintainer: Vince Mele <vmele@inoc.com>
pkgname=sssd
-pkgver=2.6.1
-pkgrel=1
+pkgver=2.9.3
+pkgrel=0
pkgdesc="System Security Services Daemon"
url="https://github.com/SSSD/sssd"
arch="x86_64"
@@ -24,8 +24,10 @@ depends="
makedepends="
autoconf
automake
+ bash
bind-tools
c-ares-dev
+ cifs-utils-dev
curl-dev
dbus-dev
ding-libs-dev
@@ -34,6 +36,7 @@ makedepends="
glib-dev
http-parser-dev
jansson-dev
+ jose-dev
keyutils-dev
krb5-dev
ldb-dev
@@ -42,6 +45,7 @@ makedepends="
libxml2-utils
libxslt
linux-pam-dev
+ musl-nscd-dev
nss-dev
openldap-dev
p11-kit-dev
@@ -52,19 +56,17 @@ makedepends="
tdb-dev
tevent-dev
"
-subpackages="$pkgname-dev $pkgname-openrc"
-source="sssd-$pkgver.tar.gz::https://codeload.github.com/SSSD/sssd/tar.gz/$pkgver
+subpackages="$pkgname-dev py3-$pkgname-pyc py3-$pkgname:py3 $pkgname-openrc"
+source="https://github.com/SSSD/sssd/releases/download/$pkgver/sssd-$pkgver.tar.gz
0001-makefile.patch
- 0002-src.patch
- 0003-alpine.patch
musl_fixup.patch
- nss.h
- cifsidmap.h
+ sssd.initd
"
+
prepare() {
default_prepare
- cp "$srcdir"/nss.h "$srcdir"/cifsidmap.h "$builddir"/src/
- autoreconf -i
+
+ autoreconf -fvi
}
build() {
@@ -75,11 +77,10 @@ build() {
--localstatedir=/var \
--libexecdir=/usr/lib/sssd \
--datadir=/usr/share \
- --enable-pammoddir=/usr/lib/security \
+ --enable-pammoddir=/lib/security \
--with-pid-path=/run \
--with-initscript=sysv \
--with-init-dir=/etc/init.d \
- --with-os=alpine \
--disable-cifs-idmap-plugin \
--disable-rpath \
--disable-static \
@@ -101,23 +102,20 @@ check() {
package() {
make -j1 DESTDIR="$pkgdir" install
- # Remove files we don't want to package
- find "$pkgdir" -name '*.la' -delete
- find "$pkgdir" -name '*.pyc' -delete
- find "$pkgdir" -name '*.egg-info' -delete
+ install -Dm755 "$srcdir"/sssd.initd "$pkgdir"/etc/init.d/sssd
- # pkgdir will allways be set, so silence shellsheck warning:
- # SC2115: Use "${var:?}" to ensure this never expands to /usr/share .
# shellcheck disable=SC2115
rm -r "$pkgdir"/usr/share
rm -r "$pkgdir"/run
}
+
+py3() {
+ amove usr/lib/python*
+}
+
sha512sums="
-806f0b415ec3d6748a63bec7eef6b7e67c658ad2c783d6abcc972c94e3a56d8e239d0275d08a6e9989c9c706ba9603515184ba2bd629caa0d91c792886e65844 sssd-2.6.1.tar.gz
-c845d4962ed3f02db59621d62b741391708aa4b6d6f88d0b56683112b5ab6f9ac9419d97e1564b134db3577cb377c358070f0eee244a15dca81e1e9bb563a771 0001-makefile.patch
-03c06e38e17e66e679c1093a44d43fa10ed9a3bede1545f79745886b9649350af5a7a5fd47c0e315e82a274eedcf6f9d833e08de143f7c80cf7303c27ed416ad 0002-src.patch
-8645e3d4b119654bf1a3d770c27e77e2599243c302fe500325604bd1f04bbe82489ced071d7abb7bc2bdd5b0799268d2af1c49b9dee080715e35a6cdd0203620 0003-alpine.patch
-70695c7097325ba844e6b2aedf6f22674d1c3099408fbd1a4c7f735d35fc069a737465fc3ee9732aa79630c7aa8fb3b58291b93cde9772049dd6c3b2272d031e musl_fixup.patch
-5abb1ffd1302eaa25736404ae148c0ffdeb7ce42fa2745be3436e887a2aa96b9620287f19b2790cb59cbccc2c04a9dee1adec4fa8e813d322cde82793500e33b nss.h
-b88d4f1ba847477783b43542f1248881d4fb8e8a0d4165c65c358fcb442891d2cc7c96b05e2a8e7c05fdc17ecd76f16295c1ffac3f1c9bfd0375c5e65e56201d cifsidmap.h
+e1c3e107c98ac2cbc4f38e435910ebd560464773e7e93c8982db37d1ccdf78bc5e3f514bbcd2aaae54074ca6197b2067531180b83ee8c0e7f94878a824834a21 sssd-2.9.3.tar.gz
+a62843c65d864fa372b7ed550bdd6f277f054f3efae941c48e9bab239758dad079886f26fbb06fe15310845ba8dc5126d108b06864712c88904b08847a032308 0001-makefile.patch
+c9db51a773c821a2c5327d2e4b0d3c81dd89d780aa7f9dd66ff88a7419a8072907047c8d9faec17ea14c5404c636485eceda85df0b299f40fae362ef7bfb34e8 musl_fixup.patch
+7198c66c96ba48c43def004e302be2e3348d43a4b5a1b35eb25f99081f1f6dce89d3994377a3064f72462509648bfbca1062493d244e413f0c47122cc0436bc9 sssd.initd
"
diff --git a/testing/sssd/cifsidmap.h b/testing/sssd/cifsidmap.h
deleted file mode 100644
index e13083b1996..00000000000
--- a/testing/sssd/cifsidmap.h
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * ID Mapping Plugin interface for cifs-utils
- * Copyright (C) 2012 Jeff Layton (jlayton@samba.org)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#include <stdint.h>
-
-#include <sys/types.h>
-
-#ifndef _CIFSIDMAP_H
-#define _CIFSIDMAP_H
-
-#define NUM_AUTHS (6) /* number of authority fields */
-#define SID_MAX_SUB_AUTHORITIES (15) /* max number of sub authority fields */
-
-/*
- * Binary representation of a SID as presented to/from the kernel. Note that
- * the sub_auth field is always stored in little-endian here.
- */
-struct cifs_sid {
- uint8_t revision; /* revision level */
- uint8_t num_subauth;
- uint8_t authority[NUM_AUTHS];
- uint32_t sub_auth[SID_MAX_SUB_AUTHORITIES];
-} __attribute__((packed));
-
-
-/*
- * The type of the ID stored within cifs_uxid. UNKNOWN generally means that
- * the mapping failed for some reason. BOTH means that the ID is usable as
- * either a UID or a GID -- IOW, the UID and GID namespaces are unity-mapped.
- */
-#define CIFS_UXID_TYPE_UNKNOWN (0) /* mapping type is unknown */
-#define CIFS_UXID_TYPE_UID (1) /* mapping is a UID */
-#define CIFS_UXID_TYPE_GID (2) /* mapping is a GID */
-#define CIFS_UXID_TYPE_BOTH (3) /* usable as UID or GID */
-
-/* This struct represents a uid or gid and its type */
-struct cifs_uxid {
- union {
- uid_t uid;
- gid_t gid;
- } id;
- unsigned char type;
-} __attribute__((packed));
-
-/*
- * Plugins should implement the following functions:
- */
-
-/**
- * cifs_idmap_init_plugin - Initialize the plugin interface
- * @handle - return pointer for an opaque handle
- * @errmsg - pointer to error message pointer
- *
- * This function should do whatever is required to establish a context
- * for later ID mapping operations. The "handle" is an opaque context
- * cookie that will be passed in on subsequent ID mapping operations.
- * The errmsg is used to pass back an error string both during the init
- * and in subsequent idmapping functions. On any error, the plugin
- * should point *errmsg at a string describing that error. Returns 0
- * on success and non-zero on error.
- */
-extern int cifs_idmap_init_plugin(void **handle, const char **errmsg);
-
-/**
- * cifs_idmap_exit_plugin - Destroy an idmapping context
- * @handle - context handle that should be destroyed
- *
- * When programs are finished with the idmapping plugin, they'll call
- * this function to destroy any context that was created during the
- * init_plugin. The handle passed back in was the one given by the init
- * routine.
- */
-extern void cifs_idmap_exit_plugin(void *handle);
-
-/**
- * cifs_idmap_sid_to_str - convert cifs_sid to a string
- * @handle - context handle
- * @sid - pointer to a cifs_sid
- * @name - return pointer for the name
- *
- * This function should convert the given cifs_sid to a string
- * representation or mapped name in a heap-allocated buffer. The caller
- * of this function is expected to free "name" on success. Returns 0 on
- * success and non-zero on error. On error, the errmsg pointer passed
- * in to the init_plugin function should point to an error string. The
- * caller will not free the error string.
- */
-extern int cifs_idmap_sid_to_str(void *handle, const struct cifs_sid *sid,
- char **name);
-
-/**
- * cifs_idmap_str_to_sid - convert string to struct cifs_sid
- * @handle - context handle
- * @name - pointer to name string to be converted
- * @sid - pointer to struct cifs_sid where result should go
- *
- * This function converts a name string or string representation of
- * a SID to a struct cifs_sid. The cifs_sid should already be
- * allocated. Returns 0 on success and non-zero on error. On error, the
- * plugin should reset the errmsg pointer passed to the init_plugin
- * function to an error string. The caller will not free the error string.
- */
-extern int cifs_idmap_str_to_sid(void *handle, const char *name,
- struct cifs_sid *sid);
-
-/**
- * cifs_idmap_sids_to_ids - convert struct cifs_sids to struct cifs_uxids
- * @handle - context handle
- * @sid - pointer to array of struct cifs_sids to be converted
- * @num - number of sids to be converted
- * @cuxid - pointer to preallocated array of struct cifs_uxids for return
- *
- * This function should map an array of struct cifs_sids to an array of
- * struct cifs_uxids.
- *
- * Returns 0 if at least one conversion was successful and non-zero on error.
- * Any that were not successfully converted will have a cuxid->type of
- * CIFS_UXID_TYPE_UNKNOWN.
- *
- * On any error, the plugin should reset the errmsg pointer passed to the
- * init_plugin function to an error string. The caller will not free the error
- * string.
- */
-extern int cifs_idmap_sids_to_ids(void *handle, const struct cifs_sid *sid,
- const size_t num, struct cifs_uxid *cuxid);
-
-/**
- * cifs_idmap_ids_to_sids - convert uid to struct cifs_sid
- * @handle - context handle
- * @cuxid - pointer to array of struct cifs_uxid to be converted to SIDs
- * @num - number of cifs_uxids to be converted to SIDs
- * @sid - pointer to preallocated array of struct cifs_sid where results
- * should be stored
- *
- * This function should map an array of cifs_uxids an array of struct cifs_sids.
- * Returns 0 if at least one conversion was successful and non-zero on error.
- * Any sids that were not successfully converted should have their revision
- * number set to 0.
- *
- * On any error, the plugin should reset the errmsg pointer passed to the
- * init_plugin function to an error string. The caller will not free the error
- * string.
- */
-extern int cifs_idmap_ids_to_sids(void *handle, const struct cifs_uxid *cuxid,
- const size_t num, struct cifs_sid *sid);
-#endif /* _CIFSIDMAP_H */
diff --git a/testing/sssd/musl_fixup.patch b/testing/sssd/musl_fixup.patch
index 68f267c7c74..53908727d83 100644
--- a/testing/sssd/musl_fixup.patch
+++ b/testing/sssd/musl_fixup.patch
@@ -19,8 +19,10 @@ Signed-off-by: Armin Kuster <akuster808@gmail.com>
Index: sssd-2.5.1/src/providers/fail_over.c
===================================================================
---- sssd-2.5.1.orig/src/providers/fail_over.c
-+++ sssd-2.5.1/src/providers/fail_over.c
+diff --git a/src/providers/fail_over.c b/src/providers/fail_over.c
+index 9cb2683..655438c 100644
+--- a/src/providers/fail_over.c
++++ b/src/providers/fail_over.c
@@ -31,6 +31,10 @@
#include <talloc.h>
#include <netdb.h>
@@ -32,10 +34,10 @@ Index: sssd-2.5.1/src/providers/fail_over.c
#include "util/dlinklist.h"
#include "util/refcount.h"
#include "util/util.h"
-Index: sssd-2.5.1/src/sss_client/sss_cli.h
-===================================================================
---- sssd-2.5.1.orig/src/sss_client/sss_cli.h
-+++ sssd-2.5.1/src/sss_client/sss_cli.h
+diff --git a/src/sss_client/sss_cli.h b/src/sss_client/sss_cli.h
+index dd36e21..96f279d 100644
+--- a/src/sss_client/sss_cli.h
++++ b/src/sss_client/sss_cli.h
@@ -44,6 +44,14 @@ typedef int errno_t;
#define EOK 0
#endif
@@ -51,3 +53,16 @@ Index: sssd-2.5.1/src/sss_client/sss_cli.h
#define SSS_NSS_PROTOCOL_VERSION 1
#define SSS_PAM_PROTOCOL_VERSION 3
#define SSS_SUDO_PROTOCOL_VERSION 1
+diff --git a/src/tools/tools_mc_util.c b/src/tools/tools_mc_util.c
+index a4f3a81..cad1f3e 100644
+--- a/src/tools/tools_mc_util.c
++++ b/src/tools/tools_mc_util.c
+@@ -168,7 +168,7 @@ static errno_t wait_till_nss_responder_invalidate_cache(void)
+ {
+ struct stat stat_buf = { 0 };
+ const time_t max_wait = 1000000; /* 1 second */
+- const __useconds_t step_time = 5000; /* 5 milliseconds */
++ const useconds_t step_time = 5000; /* 5 milliseconds */
+ const size_t steps_count = max_wait / step_time;
+ int ret;
+
diff --git a/testing/sssd/nss.h b/testing/sssd/nss.h
deleted file mode 100644
index e15ee3ee34e..00000000000
--- a/testing/sssd/nss.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef NSS__H
-#define NSS__H
-
-#include <nss/nss.h>
-
-enum nss_status
-{
- NSS_STATUS_TRYAGAIN = -2,
- NSS_STATUS_UNAVAIL = -1,
- NSS_STATUS_NOTFOUND = 0,
- NSS_STATUS_SUCCESS = 1,
- NSS_STATUS_RETURN = 2
-};
-
-#endif
diff --git a/testing/sssd/sssd.initd b/testing/sssd/sssd.initd
new file mode 100644
index 00000000000..38875b59bb6
--- /dev/null
+++ b/testing/sssd/sssd.initd
@@ -0,0 +1,10 @@
+#!/sbin/openrc-run
+
+command="/usr/sbin/sssd"
+command_args="-D $SSSD_OPTIONS"
+command_background=true
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend(){
+ need localmount netmount clock
+}
diff --git a/testing/st-xrdb/APKBUILD b/testing/st-xrdb/APKBUILD
deleted file mode 100644
index f0185c37341..00000000000
--- a/testing/st-xrdb/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Base-Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Base-Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer:
-pkgname=st-xrdb
-pkgname_base=st
-pkgver=0.8.4
-pkgrel=0
-pkgdesc="Simple terminal emulator for X, with X resource support"
-url="https://st.suckless.org"
-arch="all"
-license="MIT"
-depends="ncurses-terminfo"
-makedepends="fontconfig-dev freetype-dev libx11-dev libxext-dev libxft-dev"
-subpackages="$pkgname-doc $pkgname-dbg"
-source="https://dl.suckless.org/$pkgname_base/$pkgname_base-$pkgver.tar.gz
- st-xresources-20200604-9ba7ecf.patch"
-options="!check"
-builddir="$srcdir/$pkgname_base-$pkgver"
-
-prepare() {
- default_prepare
- cd "$builddir"
- sed -i '/tic/d' Makefile
-}
-
-build() {
- make -C "$builddir"
-}
-
-package() {
- cd "$builddir"
-
- make install PREFIX=/usr DESTDIR="$pkgdir"
-}
-
-sha512sums="f6f95081f9d09d442228bac1149d75d36a9f4f049b5504cf5ce00b353563ff92c62a2628ce728663fec107a14bea0eeb22b7a72804c37090de33819243d7512a st-0.8.4.tar.gz
-1d3a9e780e76b19ea123948973d80d8c1f5a691c31c3e45ac62813d7d6b1c82fc3c170e7437615b4555d078835bc8065a06b758a9177b327119cf645f5d05736 st-xresources-20200604-9ba7ecf.patch"
diff --git a/testing/st-xrdb/st-xresources-20200604-9ba7ecf.patch b/testing/st-xrdb/st-xresources-20200604-9ba7ecf.patch
deleted file mode 100644
index 78ba00aecb7..00000000000
--- a/testing/st-xrdb/st-xresources-20200604-9ba7ecf.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From 2752a599ee01305a435729bfacf43b1dde7cf0ef Mon Sep 17 00:00:00 2001
-From: Benji Encalada Mora <benji@encalada.dev>
-Date: Thu, 4 Jun 2020 00:41:10 -0500
-Subject: [PATCH] fix: replace xfps and actionfps variables
-
----
- config.def.h | 36 ++++++++++++++++++++++++
- x.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++---
- 2 files changed, 110 insertions(+), 4 deletions(-)
-
-diff --git a/config.def.h b/config.def.h
-index 6f05dce..9b99782 100644
---- a/config.def.h
-+++ b/config.def.h
-@@ -168,6 +168,42 @@ static unsigned int defaultattr = 11;
- */
- static uint forcemousemod = ShiftMask;
-
-+/*
-+ * Xresources preferences to load at startup
-+ */
-+ResourcePref resources[] = {
-+ { "font", STRING, &font },
-+ { "color0", STRING, &colorname[0] },
-+ { "color1", STRING, &colorname[1] },
-+ { "color2", STRING, &colorname[2] },
-+ { "color3", STRING, &colorname[3] },
-+ { "color4", STRING, &colorname[4] },
-+ { "color5", STRING, &colorname[5] },
-+ { "color6", STRING, &colorname[6] },
-+ { "color7", STRING, &colorname[7] },
-+ { "color8", STRING, &colorname[8] },
-+ { "color9", STRING, &colorname[9] },
-+ { "color10", STRING, &colorname[10] },
-+ { "color11", STRING, &colorname[11] },
-+ { "color12", STRING, &colorname[12] },
-+ { "color13", STRING, &colorname[13] },
-+ { "color14", STRING, &colorname[14] },
-+ { "color15", STRING, &colorname[15] },
-+ { "background", STRING, &colorname[256] },
-+ { "foreground", STRING, &colorname[257] },
-+ { "cursorColor", STRING, &colorname[258] },
-+ { "termname", STRING, &termname },
-+ { "shell", STRING, &shell },
-+ { "minlatency", INTEGER, &minlatency },
-+ { "maxlatency", INTEGER, &maxlatency },
-+ { "blinktimeout", INTEGER, &blinktimeout },
-+ { "bellvolume", INTEGER, &bellvolume },
-+ { "tabspaces", INTEGER, &tabspaces },
-+ { "borderpx", INTEGER, &borderpx },
-+ { "cwscale", FLOAT, &cwscale },
-+ { "chscale", FLOAT, &chscale },
-+};
-+
- /*
- * Internal mouse shortcuts.
- * Beware that overloading Button1 will disable the selection.
-diff --git a/x.c b/x.c
-index 210f184..76f167f 100644
---- a/x.c
-+++ b/x.c
-@@ -14,6 +14,7 @@
- #include <X11/keysym.h>
- #include <X11/Xft/Xft.h>
- #include <X11/XKBlib.h>
-+#include <X11/Xresource.h>
-
- char *argv0;
- #include "arg.h"
-@@ -45,6 +46,19 @@ typedef struct {
- signed char appcursor; /* application cursor */
- } Key;
-
-+/* Xresources preferences */
-+enum resource_type {
-+ STRING = 0,
-+ INTEGER = 1,
-+ FLOAT = 2
-+};
-+
-+typedef struct {
-+ char *name;
-+ enum resource_type type;
-+ void *dst;
-+} ResourcePref;
-+
- /* X modifiers */
- #define XK_ANY_MOD UINT_MAX
- #define XK_NO_MOD 0
-@@ -828,8 +842,8 @@ xclear(int x1, int y1, int x2, int y2)
- void
- xhints(void)
- {
-- XClassHint class = {opt_name ? opt_name : termname,
-- opt_class ? opt_class : termname};
-+ XClassHint class = {opt_name ? opt_name : "st",
-+ opt_class ? opt_class : "St"};
- XWMHints wm = {.flags = InputHint, .input = 1};
- XSizeHints *sizeh;
-
-@@ -1104,8 +1118,6 @@ xinit(int cols, int rows)
- pid_t thispid = getpid();
- XColor xmousefg, xmousebg;
-
-- if (!(xw.dpy = XOpenDisplay(NULL)))
-- die("can't open display\n");
- xw.scr = XDefaultScreen(xw.dpy);
- xw.vis = XDefaultVisual(xw.dpy, xw.scr);
-
-@@ -1964,6 +1976,59 @@ run(void)
- }
- }
-
-+int
-+resource_load(XrmDatabase db, char *name, enum resource_type rtype, void *dst)
-+{
-+ char **sdst = dst;
-+ int *idst = dst;
-+ float *fdst = dst;
-+
-+ char fullname[256];
-+ char fullclass[256];
-+ char *type;
-+ XrmValue ret;
-+
-+ snprintf(fullname, sizeof(fullname), "%s.%s",
-+ opt_name ? opt_name : "st", name);
-+ snprintf(fullclass, sizeof(fullclass), "%s.%s",
-+ opt_class ? opt_class : "St", name);
-+ fullname[sizeof(fullname) - 1] = fullclass[sizeof(fullclass) - 1] = '\0';
-+
-+ XrmGetResource(db, fullname, fullclass, &type, &ret);
-+ if (ret.addr == NULL || strncmp("String", type, 64))
-+ return 1;
-+
-+ switch (rtype) {
-+ case STRING:
-+ *sdst = ret.addr;
-+ break;
-+ case INTEGER:
-+ *idst = strtoul(ret.addr, NULL, 10);
-+ break;
-+ case FLOAT:
-+ *fdst = strtof(ret.addr, NULL);
-+ break;
-+ }
-+ return 0;
-+}
-+
-+void
-+config_init(void)
-+{
-+ char *resm;
-+ XrmDatabase db;
-+ ResourcePref *p;
-+
-+ XrmInitialize();
-+ resm = XResourceManagerString(xw.dpy);
-+ if (!resm)
-+ return;
-+
-+ db = XrmGetStringDatabase(resm);
-+ for (p = resources; p < resources + LEN(resources); p++)
-+ resource_load(db, p->name, p->type, p->dst);
-+}
-+
- void
- usage(void)
- {
-@@ -2037,6 +2102,11 @@ run:
-
- setlocale(LC_CTYPE, "");
- XSetLocaleModifiers("");
-+
-+ if(!(xw.dpy = XOpenDisplay(NULL)))
-+ die("Can't open display\n");
-+
-+ config_init();
- cols = MAX(cols, 1);
- rows = MAX(rows, 1);
- tnew(cols, rows);
---
-2.26.2
-
diff --git a/testing/stack/APKBUILD b/testing/stack/APKBUILD
new file mode 100644
index 00000000000..e482ad8e90d
--- /dev/null
+++ b/testing/stack/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: gay <gay@disroot.org>
+# Maintainer: gay <gay@disroot.org>
+pkgname=stack
+pkgver=2.7.5
+pkgrel=0
+pkgdesc="The Haskell Tool Stack"
+url="https://haskellstack.org/"
+arch="aarch64 x86_64" # limited by ghc
+license="BSD-3-Clause"
+makedepends="
+ cabal
+ ghc
+ gmp-dev
+ sqlite-dev
+ zlib-dev
+ "
+checkdepends="ncurses-dev"
+source="https://hackage.haskell.org/package/stack-$pkgver/stack-$pkgver.tar.gz
+ cabal.config
+ aeson.patch
+ ghc9.0.x.patch
+ persistent.patch
+ "
+
+export CABAL_DIR="$srcdir"/cabal
+
+prepare() {
+ default_prepare
+ cp "$srcdir"/cabal.config .
+ cabal update
+ cabal configure --prefix=/usr
+}
+
+build() {
+ cabal build --jobs=${JOBS:-1} --enable-relocatable
+}
+
+check() {
+ cabal test
+}
+
+package() {
+ cd dist-newstyle/build/*-linux/ghc-*/$pkgname-$pkgver/build/$pkgname
+ install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
+}
+
+sha512sums="
+fd51f990d3ccec6103c8699a8e39c970a0233a1185587a519eda659d2b45bc4496c4f261f6897c06781d0f76d2b1d526d5acdfb502fe1494f8cf048c78ba1a8d stack-2.7.5.tar.gz
+a54c0790e154105f3e96d19289a905b2b3666d61849ad69d6ed81b00a01ea30c7733ead989c02f1f782a95bcc7f0f2dff41ae1ffdd8eb0995fbbd5f54db232d7 cabal.config
+818547d3d63b243daad11f2c8b811701b4b8a778196e1d69d73a4fd4829f4ad9f4134451153c80b8504f1c18fbc2ee8bca329f6c5eff9ee3c435af7a1947077d aeson.patch
+209348bd04d1cdce333e71a0570ba3781aeb36a0a5ad8a0e5f08ab9aca8f4d49f681b63cab4b7f4f1ddcc79cbf850d5cb1fc79f7a099b0bb65038774ed0a0820 ghc9.0.x.patch
+73d9291ade690db1838b8dbd7b132d9e808781e5419684c04008b9e967c56d3e66eb64df8ef997d74301d92a76d4071956c5593c42841ef035c39c82ac68892d persistent.patch
+"
diff --git a/testing/stack/aeson.patch b/testing/stack/aeson.patch
new file mode 100644
index 00000000000..68f267c30cc
--- /dev/null
+++ b/testing/stack/aeson.patch
@@ -0,0 +1,46 @@
+commit 09e233ed73aa3335642f97c080ef27e42047c527
+Author: q66 <daniel@octaforge.org>
+Date: Fri Mar 11 04:37:15 2022 +0100
+
+ constrain aeson to prevent build failures
+
+diff --git a/stack.cabal b/stack.cabal
+index dba5bf0..0195f2c 100644
+--- a/stack.cabal
++++ b/stack.cabal
+@@ -231,7 +231,7 @@ library
+
+ build-depends:
+ Cabal >=3.2.1.0,
+- aeson >=1.5.6.0,
++ aeson >=1.5.6.0 && <1.6,
+ annotated-wl-pprint >=0.7.0,
+ ansi-terminal >=0.10.3,
+ array >=0.5.4.0,
+@@ -357,7 +357,7 @@ executable stack
+
+ build-depends:
+ Cabal >=3.2.1.0,
+- aeson >=1.5.6.0,
++ aeson >=1.5.6.0 && <1.6,
+ annotated-wl-pprint >=0.7.0,
+ ansi-terminal >=0.10.3,
+ array >=0.5.4.0,
+@@ -485,7 +485,7 @@ executable stack-integration-test
+
+ build-depends:
+ Cabal >=3.2.1.0,
+- aeson >=1.5.6.0,
++ aeson >=1.5.6.0 && <1.6,
+ annotated-wl-pprint >=0.7.0,
+ ansi-terminal >=0.10.3,
+ array >=0.5.4.0,
+@@ -621,7 +621,7 @@ test-suite stack-test
+ build-depends:
+ Cabal >=3.2.1.0,
+ QuickCheck >=2.14.2,
+- aeson >=1.5.6.0,
++ aeson >=1.5.6.0 && <1.6,
+ annotated-wl-pprint >=0.7.0,
+ ansi-terminal >=0.10.3,
+ array >=0.5.4.0,
diff --git a/testing/stack/cabal.config b/testing/stack/cabal.config
new file mode 100644
index 00000000000..6e9de3dc671
--- /dev/null
+++ b/testing/stack/cabal.config
@@ -0,0 +1,2912 @@
+remote-repo: stackage-lts-19.20:http://www.stackage.org/lts-19.20
+constraints: abstract-deque ==0.3,
+ abstract-deque-tests ==0.3,
+ abstract-par ==0.3.3,
+ AC-Angle ==1.0,
+ acc ==0.2.0.1,
+ ace ==0.6,
+ acid-state ==0.16.1.1,
+ action-permutations ==0.0.0.1,
+ active ==0.2.0.15,
+ ad ==4.5.2,
+ ad-delcont ==0.3.0.0,
+ adjunctions ==4.4.2,
+ adler32 ==0.1.2.0,
+ advent-of-code-api ==0.2.8.1,
+ aern2-mp ==0.2.10.0,
+ aern2-real ==0.2.10.0,
+ aeson ==2.0.3.0,
+ aeson-attoparsec ==0.0.0,
+ aeson-better-errors ==0.9.1.1,
+ aeson-casing ==0.2.0.0,
+ aeson-commit ==1.4,
+ aeson-compat ==0.3.10,
+ aeson-diff ==1.1.0.13,
+ aeson-extra ==0.5.1.1,
+ aeson-generic-compat ==0.0.1.3,
+ aeson-optics ==1.1.1,
+ aeson-pretty ==0.8.9,
+ aeson-qq ==0.8.4,
+ aeson-schemas ==1.3.5.1,
+ aeson-typescript ==0.3.0.1,
+ aeson-yak ==0.1.1.3,
+ aeson-yaml ==1.1.0.1,
+ Agda ==2.6.2.2,
+ agda2lagda ==0.2021.6.1,
+ al ==0.1.4.2,
+ alarmclock ==0.7.0.6,
+ alerts ==0.1.2.0,
+ alex ==3.2.7.1,
+ alex-meta ==0.3.0.13,
+ algebra ==4.3.1,
+ algebraic-graphs ==0.6.1,
+ align-audio ==0.0,
+ Allure ==0.11.0.0,
+ almost-fix ==0.0.2,
+ alsa-core ==0.5.0.1,
+ alsa-mixer ==0.3.0,
+ alsa-pcm ==0.6.1.1,
+ alsa-seq ==0.6.0.8,
+ alternative-vector ==0.0.0,
+ alternators ==1.0.0.0,
+ ALUT ==2.4.0.3,
+ amqp ==0.22.1,
+ amqp-utils ==0.6.3.2,
+ annotated-wl-pprint ==0.7.0,
+ ansi-terminal ==0.11.3,
+ ansi-terminal-game ==1.8.0.0,
+ ansi-wl-pprint ==0.6.9,
+ ANum ==0.2.0.2,
+ apecs ==0.9.4,
+ apecs-gloss ==0.2.4,
+ apecs-physics ==0.4.5,
+ api-field-json-th ==0.1.0.2,
+ api-maker ==0.1.0.6,
+ ap-normalize ==0.1.0.1,
+ appar ==0.1.8,
+ appendmap ==0.1.5,
+ apply-refact ==0.9.3.0,
+ apportionment ==0.0.0.4,
+ approximate ==0.3.5,
+ approximate-equality ==1.1.0.2,
+ app-settings ==0.2.0.12,
+ arbor-lru-cache ==0.1.1.1,
+ arithmoi ==0.12.0.2,
+ array installed,
+ array-memoize ==0.6.0,
+ arrow-extras ==0.1.0.1,
+ arrows ==0.4.4.2,
+ ascii ==1.1.3.0,
+ ascii-case ==1.0.0.10,
+ ascii-char ==1.0.0.14,
+ asciidiagram ==1.3.3.3,
+ ascii-group ==1.0.0.12,
+ ascii-numbers ==1.0.0.0,
+ ascii-predicates ==1.0.0.10,
+ ascii-progress ==0.3.3.0,
+ ascii-superset ==1.0.1.13,
+ ascii-th ==1.0.0.10,
+ asn1-encoding ==0.9.6,
+ asn1-parse ==0.9.5,
+ asn1-types ==0.3.4,
+ assert-failure ==0.1.2.6,
+ assoc ==1.0.2,
+ astro ==0.4.3.0,
+ async ==2.2.4,
+ async-extra ==0.2.0.0,
+ async-pool ==0.9.1,
+ async-refresh ==0.3.0.0,
+ async-refresh-tokens ==0.4.0.0,
+ atom-basic ==0.2.5,
+ atom-conduit ==0.9.0.1,
+ atomic-primops ==0.8.4,
+ atomic-write ==0.2.0.7,
+ attoparsec ==0.14.4,
+ attoparsec-base64 ==0.0.0,
+ attoparsec-binary ==0.2,
+ attoparsec-data ==1.0.5.2,
+ attoparsec-expr ==0.1.1.2,
+ attoparsec-iso8601 ==1.0.2.1,
+ attoparsec-path ==0.0.0.1,
+ attoparsec-time ==1.0.3,
+ audacity ==0.0.2.1,
+ aur ==7.0.7,
+ authenticate ==1.3.5.1,
+ authenticate-oauth ==1.7,
+ autoexporter ==2.0.0.1,
+ auto-update ==0.1.6,
+ aws-cloudfront-signed-cookies ==0.2.0.10,
+ aws-xray-client ==0.1.0.2,
+ aws-xray-client-persistent ==0.1.0.5,
+ aws-xray-client-wai ==0.1.0.2,
+ backtracking ==0.1.0,
+ bank-holidays-england ==0.2.0.7,
+ barbies ==2.0.3.1,
+ barrier ==0.1.1,
+ base installed,
+ base16 ==0.3.2.0,
+ base16-bytestring ==1.0.2.0,
+ base16-lens ==0.1.3.2,
+ base32 ==0.2.2.0,
+ base32-lens ==0.1.1.1,
+ base32string ==0.9.1,
+ base58-bytestring ==0.1.0,
+ base58string ==0.10.0,
+ base64 ==0.4.2.4,
+ base64-bytestring ==1.2.1.0,
+ base64-bytestring-type ==1.0.1,
+ base64-lens ==0.3.1,
+ base64-string ==0.2,
+ base-compat ==0.11.2,
+ base-compat-batteries ==0.11.2,
+ basement ==0.0.15,
+ base-orphans ==0.8.7,
+ base-prelude ==1.6.1,
+ base-unicode-symbols ==0.2.4.2,
+ basic-prelude ==0.7.0,
+ battleship-combinatorics ==0.0.1,
+ bazel-runfiles ==0.12,
+ bbdb ==0.8,
+ bcrypt ==0.0.11,
+ beam-core ==0.9.2.1,
+ beam-migrate ==0.5.1.2,
+ beam-postgres ==0.5.2.1,
+ beam-sqlite ==0.5.1.2,
+ bech32 ==1.1.2,
+ bech32-th ==1.1.1,
+ bench ==1.0.12,
+ benchpress ==0.2.2.21,
+ bencode ==0.6.1.1,
+ bencoding ==0.4.5.4,
+ between ==0.11.0.0,
+ bibtex ==0.1.0.6,
+ bifunctors ==5.5.12,
+ bimap ==0.4.0,
+ bimaps ==0.1.0.2,
+ bimap-server ==0.1.0.1,
+ bin ==0.1.2,
+ binance-exports ==0.1.1.0,
+ binary installed,
+ binary-conduit ==1.3.1,
+ binaryen ==0.0.6.0,
+ binary-generic-combinators ==0.4.4.0,
+ binary-ieee754 ==0.1.0.0,
+ binary-instances ==1.0.2,
+ binary-list ==1.1.1.2,
+ binary-orphans ==1.0.3,
+ binary-parser ==0.5.7.2,
+ binary-parsers ==0.2.4.0,
+ binary-search ==2.0.0,
+ binary-shared ==0.8.3,
+ binary-tagged ==0.3.1,
+ bindings-DSL ==1.0.25,
+ bindings-GLFW ==3.3.2.0,
+ bindings-libzip ==1.0.1,
+ bindings-uname ==0.1,
+ BiobaseENA ==0.0.0.2,
+ BiobaseEnsembl ==0.2.0.1,
+ BiobaseFasta ==0.4.0.1,
+ BiobaseTypes ==0.2.1.0,
+ BiobaseXNA ==0.11.1.1,
+ bitarray ==0.0.1.1,
+ bits ==0.6,
+ bitset-word8 ==0.1.1.2,
+ bits-extra ==0.0.2.3,
+ bitvec ==1.1.3.0,
+ bitwise-enum ==1.0.1.0,
+ blake2 ==0.3.0,
+ blanks ==0.5.0,
+ blas-carray ==0.1.0.1,
+ blas-comfort-array ==0.0.0.3,
+ blas-ffi ==0.1,
+ blas-hs ==0.1.1.0,
+ blaze-bootstrap ==0.1.0.1,
+ blaze-builder ==0.4.2.2,
+ blaze-colonnade ==1.2.2.1,
+ blaze-html ==0.9.1.2,
+ blaze-markup ==0.8.2.8,
+ blaze-svg ==0.3.6.1,
+ blaze-textual ==0.2.2.1,
+ bm ==0.1.0.2,
+ bmp ==1.2.6.3,
+ bnb-staking-csvs ==0.2.1.0,
+ BNFC ==2.9.4,
+ BNFC-meta ==0.6.1,
+ board-games ==0.3,
+ bodhi ==0.1.0,
+ boltzmann-samplers ==0.1.1.0,
+ bookkeeping ==0.4.0.1,
+ Boolean ==0.2.4,
+ boolean-like ==0.1.1.0,
+ boolsimplifier ==0.1.8,
+ boomerang ==1.4.8,
+ boots ==0.2.0.1,
+ bordacount ==0.1.0.0,
+ boring ==0.2,
+ both ==0.1.1.2,
+ bound ==2.0.5,
+ BoundedChan ==1.0.3.0,
+ bounded-queue ==1.0.0,
+ boxes ==0.1.5,
+ brick ==0.68.1,
+ brittany ==0.14.0.2,
+ broadcast-chan ==0.2.1.2,
+ brotli ==0.0.0.1,
+ brotli-streams ==0.0.0.0,
+ bsb-http-chunked ==0.0.0.4,
+ bson ==0.4.0.1,
+ bson-lens ==0.1.1,
+ buffer-builder ==0.2.4.8,
+ buffer-pipe ==0.0,
+ bugsnag-haskell ==0.0.4.4,
+ bugsnag-hs ==0.2.0.9,
+ bugzilla-redhat ==1.0.0,
+ burrito ==2.0.1.1,
+ butcher ==1.3.3.2,
+ buttplug-hs-core ==0.1.0.1,
+ bv ==0.5,
+ byteable ==0.1.1,
+ byte-count-reader ==0.10.1.9,
+ bytedump ==1.0,
+ byteorder ==1.0.4,
+ byte-order ==0.1.3.0,
+ bytes ==0.17.2,
+ byteset ==0.1.1.0,
+ bytestring installed,
+ bytestring-builder ==0.10.8.2.0,
+ bytestring-conversion ==0.3.2,
+ bytestring-lexing ==0.5.0.8,
+ bytestring-mmap ==0.2.2,
+ bytestring-strict-builder ==0.4.5.6,
+ bytestring-to-vector ==0.3.0.1,
+ bytestring-tree-builder ==0.2.7.10,
+ bytestring-trie ==0.2.7,
+ bz2 ==1.0.1.0,
+ bzlib ==0.5.1.0,
+ bzlib-conduit ==0.3.0.2,
+ c14n ==0.1.0.2,
+ c2hs ==0.28.8,
+ Cabal installed,
+ cabal2nix ==2.18.0,
+ cabal2spec ==2.6.2,
+ cabal-appimage ==0.3.0.5,
+ cabal-clean ==0.1.20220814,
+ cabal-doctest ==1.0.9,
+ cabal-file ==0.1.1,
+ cabal-file-th ==0.2.7,
+ cabal-flatpak ==0.1.0.3,
+ cabal-install ==3.4.1.0,
+ cabal-plan ==0.7.2.1,
+ cabal-rpm ==2.0.11.1,
+ Cabal-syntax ==3.6.0.0,
+ cache ==0.1.3.0,
+ cached-json-file ==0.1.1,
+ cacophony ==0.10.1,
+ calendar-recycling ==0.0.0.1,
+ call-alloy ==0.3.0.3,
+ call-stack ==0.4.0,
+ can-i-haz ==0.3.1.0,
+ capability ==0.5.0.1,
+ capataz ==0.2.1.0,
+ ca-province-codes ==1.0.0.0,
+ cardano-coin-selection ==1.0.1,
+ carray ==0.1.6.8,
+ casa-client ==0.0.1,
+ casa-types ==0.0.2,
+ cased ==0.1.0.0,
+ case-insensitive ==1.2.1.0,
+ cases ==0.1.4.1,
+ casing ==0.1.4.1,
+ cassava ==0.5.3.0,
+ cassava-conduit ==0.6.0,
+ cassava-megaparsec ==2.0.4,
+ cast ==0.1.0.2,
+ caster ==0.0.3.0,
+ cayley-client ==0.4.17,
+ cborg ==0.2.7.0,
+ cborg-json ==0.2.4.0,
+ cdar-mBound ==0.1.0.4,
+ c-enum ==0.1.1.3,
+ cereal ==0.5.8.3,
+ cereal-conduit ==0.8.0,
+ cereal-text ==0.1.0.2,
+ cereal-vector ==0.2.0.1,
+ cfenv ==0.1.0.0,
+ cgi ==3001.5.0.0,
+ chan ==0.0.4.1,
+ ChannelT ==0.0.0.7,
+ character-cases ==0.1.0.6,
+ charset ==0.3.9,
+ charsetdetect-ae ==1.1.0.4,
+ Chart ==1.9.4,
+ ChasingBottoms ==1.3.1.12,
+ cheapskate ==0.1.1.2,
+ cheapskate-highlight ==0.1.0.0,
+ cheapskate-lucid ==0.1.0.0,
+ check-email ==1.0.2,
+ checkers ==0.6.0,
+ checksum ==0.0,
+ chimera ==0.3.2.0,
+ chiphunk ==0.1.4.0,
+ choice ==0.2.2,
+ chronologique ==0.3.1.3,
+ chunked-data ==0.3.1,
+ cipher-aes ==0.2.11,
+ cipher-aes128 ==0.7.0.6,
+ cipher-camellia ==0.0.2,
+ cipher-des ==0.0.6,
+ cipher-rc4 ==0.1.4,
+ circle-packing ==0.1.0.6,
+ circular ==0.4.0.3,
+ citeproc ==0.6.0.1,
+ clash-ghc ==1.6.3,
+ clash-lib ==1.6.3,
+ clash-prelude ==1.6.3,
+ classy-prelude ==1.5.0.2,
+ classy-prelude-conduit ==1.5.0,
+ classy-prelude-yesod ==1.5.0,
+ clay ==0.14.0,
+ cleff ==0.3.3.0,
+ cleff-plugin ==0.1.0.0,
+ clientsession ==0.9.1.2,
+ climb ==0.3.3,
+ Clipboard ==2.3.2.0,
+ clock ==0.8.3,
+ closed ==0.2.0.2,
+ clumpiness ==0.17.0.2,
+ ClustalParser ==1.3.0,
+ cmark ==0.6,
+ cmark-gfm ==0.2.3,
+ cmark-lucid ==0.1.0.0,
+ cmdargs ==0.10.21,
+ codec-beam ==0.2.0,
+ code-conjure ==0.5.2,
+ code-page ==0.2.1,
+ coercible-utils ==0.1.0,
+ cointracking-imports ==0.1.0.1,
+ collect-errors ==0.1.5.0,
+ colonnade ==1.2.0.2,
+ Color ==0.3.3,
+ colorful-monoids ==0.2.1.3,
+ colorize-haskell ==1.0.1,
+ colour ==2.3.6,
+ columnar ==1.0.0.0,
+ combinatorial ==0.1.0.1,
+ comfort-array ==0.5.1.1,
+ comfort-array-shape ==0.0,
+ comfort-fftw ==0.0,
+ comfort-graph ==0.0.3.2,
+ commonmark ==0.2.2,
+ commonmark-extensions ==0.2.3.2,
+ commonmark-pandoc ==0.2.1.2,
+ commutative ==0.0.2,
+ comonad ==5.0.8,
+ comonad-extras ==4.0.1,
+ compact ==0.2.0.0,
+ compactmap ==0.1.4.2.1,
+ compensated ==0.8.3,
+ compiler-warnings ==0.1.0,
+ componentm ==0.0.0.2,
+ componentm-devel ==0.0.0.2,
+ composable-associations ==0.1.0.0,
+ composition ==1.0.2.2,
+ composition-extra ==2.0.0,
+ concise ==0.1.0.1,
+ concurrency ==1.11.0.2,
+ concurrent-extra ==0.7.0.12,
+ concurrent-output ==1.10.16,
+ concurrent-split ==0.0.1.1,
+ concurrent-supply ==0.1.8,
+ cond ==0.4.1.1,
+ conduino ==0.2.2.0,
+ conduit ==1.3.4.2,
+ conduit-aeson ==0.1.0.1,
+ conduit-algorithms ==0.0.13.0,
+ conduit-combinators ==1.3.0,
+ conduit-concurrent-map ==0.1.3,
+ conduit-connection ==0.1.0.5,
+ conduit-extra ==1.3.6,
+ conduit-parse ==0.2.1.1,
+ conduit-zstd ==0.0.2.0,
+ conferer ==1.1.0.0,
+ conferer-aeson ==1.1.0.2,
+ conferer-warp ==1.1.0.0,
+ ConfigFile ==1.1.4,
+ config-ini ==0.2.4.0,
+ configuration-tools ==0.6.1,
+ configurator ==0.3.0.0,
+ configurator-export ==0.1.0.1,
+ connection ==0.3.1,
+ connection-pool ==0.2.2,
+ console-style ==0.0.2.1,
+ constraints ==0.13.4,
+ constraints-extras ==0.3.2.1,
+ constraint-tuples ==0.1.2,
+ construct ==0.3.1,
+ containers installed,
+ containers-unicode-symbols ==0.3.1.3,
+ contravariant ==1.5.5,
+ contravariant-extras ==0.3.5.3,
+ control-bool ==0.2.1,
+ control-dsl ==0.2.1.3,
+ control-monad-free ==0.6.2,
+ control-monad-omega ==0.3.2,
+ convertible ==1.1.1.1,
+ cookie ==0.4.5,
+ copr-api ==0.1.0,
+ core-data ==0.3.6.0,
+ core-program ==0.4.6.4,
+ core-text ==0.3.8.0,
+ countable ==1.0,
+ covariance ==0.1.0.6,
+ cpphs ==1.20.9.1,
+ cprng-aes ==0.6.1,
+ cpu ==0.1.2,
+ cpuinfo ==0.1.0.2,
+ crackNum ==3.2,
+ crc32c ==0.0.0,
+ credential-store ==0.1.2,
+ criterion ==1.5.13.0,
+ criterion-measurement ==0.1.4.0,
+ cron ==0.7.0,
+ crypto-api ==0.13.3,
+ crypto-api-tests ==0.3,
+ crypto-cipher-tests ==0.0.11,
+ crypto-cipher-types ==0.0.9,
+ cryptocompare ==0.1.2,
+ crypto-enigma ==0.1.1.6,
+ cryptohash ==0.11.9,
+ cryptohash-cryptoapi ==0.1.4,
+ cryptohash-md5 ==0.11.101.0,
+ cryptohash-sha1 ==0.11.101.0,
+ cryptohash-sha256 ==0.11.102.1,
+ cryptohash-sha512 ==0.11.101.0,
+ cryptonite ==0.29,
+ cryptonite-conduit ==0.2.2,
+ cryptonite-openssl ==0.7,
+ crypto-pubkey-types ==0.4.3,
+ crypto-random ==0.0.9,
+ crypto-random-api ==0.2.0,
+ cryptostore ==0.2.2.0,
+ crypt-sha512 ==0,
+ csp ==1.4.0,
+ css-text ==0.1.3.0,
+ c-struct ==0.1.1.2,
+ csv ==0.1.2,
+ csv-conduit ==0.7.3.0,
+ ctrie ==0.2,
+ cubicbezier ==0.6.0.6,
+ cubicspline ==0.1.2,
+ cue-sheet ==2.0.2,
+ curl ==1.3.8,
+ curl-runnings ==0.17.0,
+ currencies ==0.2.0.0,
+ currency ==0.2.0.0,
+ cursor ==0.3.2.0,
+ cursor-brick ==0.1.0.1,
+ cursor-fuzzy-time ==0.0.0.0,
+ cursor-gen ==0.4.0.0,
+ cutter ==0.0,
+ cyclotomic ==1.1.1,
+ czipwith ==1.0.1.4,
+ d10 ==1.0.1.0,
+ data-accessor ==0.2.3,
+ data-accessor-mtl ==0.2.0.4,
+ data-accessor-transformers ==0.2.1.7,
+ data-binary-ieee754 ==0.4.4,
+ data-bword ==0.1.0.1,
+ data-checked ==0.3,
+ data-clist ==0.2,
+ data-default ==0.7.1.1,
+ data-default-class ==0.1.2.0,
+ data-default-extra ==0.1.0,
+ data-default-instances-base ==0.1.0.1,
+ data-default-instances-bytestring ==0.0.1,
+ data-default-instances-case-insensitive ==0.0.1,
+ data-default-instances-containers ==0.0.1,
+ data-default-instances-dlist ==0.0.1,
+ data-default-instances-new-base ==0.0.2,
+ data-default-instances-old-locale ==0.0.1,
+ data-default-instances-text ==0.0.1,
+ data-default-instances-unordered-containers ==0.0.1,
+ data-default-instances-vector ==0.0.1,
+ data-diverse ==4.7.0.0,
+ datadog ==0.3.0.0,
+ data-dword ==0.3.2.1,
+ data-endian ==0.1.1,
+ data-fix ==0.3.2,
+ data-forest ==0.1.0.9,
+ data-has ==0.4.0.0,
+ data-hash ==0.2.0.1,
+ data-interval ==2.1.1,
+ data-inttrie ==0.1.4,
+ data-lens-light ==0.1.2.3,
+ data-memocombinators ==0.5.1,
+ data-msgpack ==0.0.13,
+ data-msgpack-types ==0.0.3,
+ data-or ==1.0.0.7,
+ data-ordlist ==0.4.7.0,
+ data-ref ==0.0.2,
+ data-reify ==0.6.3,
+ data-serializer ==0.3.5,
+ datasets ==0.4.0,
+ data-sketches ==0.3.1.0,
+ data-sketches-core ==0.1.0.0,
+ data-textual ==0.3.0.3,
+ data-tree-print ==0.1.0.2,
+ dataurl ==0.1.0.0,
+ DAV ==1.3.4,
+ dawg-ord ==0.5.1.2,
+ dbcleaner ==0.1.3,
+ DBFunctor ==0.1.2.1,
+ dbus ==1.2.22,
+ dbus-hslogger ==0.1.0.1,
+ debian ==4.0.4,
+ debian-build ==0.10.2.1,
+ debug-trace-var ==0.2.0,
+ dec ==0.0.4,
+ Decimal ==0.5.2,
+ declarative ==0.5.4,
+ deepseq installed,
+ deepseq-generics ==0.2.0.0,
+ deferred-folds ==0.9.18.2,
+ dejafu ==2.4.0.3,
+ dense-linear-algebra ==0.1.0.0,
+ dependent-map ==0.4.0.0,
+ dependent-sum ==0.7.1.0,
+ dependent-sum-template ==0.1.1.1,
+ depq ==0.4.2,
+ deque ==0.4.4,
+ deriveJsonNoPrefix ==0.1.0.1,
+ derive-topdown ==0.0.3.0,
+ deriving-aeson ==0.2.8,
+ deriving-compat ==0.6.1,
+ derulo ==2.0.0.1,
+ detour-via-sci ==1.0.0,
+ df1 ==0.4,
+ dhall ==1.40.2,
+ dhall-bash ==1.0.39,
+ dhall-json ==1.7.9,
+ dhall-yaml ==1.2.10,
+ di ==1.3,
+ diagrams ==1.4.0.1,
+ diagrams-contrib ==1.4.4,
+ diagrams-core ==1.5.0,
+ diagrams-lib ==1.4.5.1,
+ diagrams-rasterific ==1.4.2.2,
+ diagrams-solve ==0.1.3,
+ diagrams-svg ==1.4.3.1,
+ di-core ==1.0.4,
+ dictionary-sharing ==0.1.0.0,
+ di-df1 ==1.2.1,
+ Diff ==0.4.1,
+ digest ==0.0.1.3,
+ digits ==0.3.1,
+ di-handle ==1.0.1,
+ dimensional ==1.4,
+ di-monad ==1.3.1,
+ directory installed,
+ directory-tree ==0.12.1,
+ direct-sqlite ==2.3.27,
+ dirichlet ==0.1.0.7,
+ discount ==0.1.1,
+ discover-instances ==0.1.0.0,
+ discrimination ==0.4.1,
+ disk-free-space ==0.1.0.1,
+ distributed-static ==0.3.9,
+ distribution-nixpkgs ==1.6.2,
+ distribution-opensuse ==1.1.3,
+ distributive ==0.6.2.1,
+ djinn-lib ==0.0.1.4,
+ dlist ==1.0,
+ dlist-instances ==0.1.1.1,
+ dlist-nonempty ==0.1.1,
+ dns ==4.0.1,
+ dockerfile ==0.2.0,
+ doclayout ==0.3.1.1,
+ docopt ==0.7.0.7,
+ doctemplates ==0.10.0.1,
+ doctest ==0.18.2,
+ doctest-discover ==0.2.0.0,
+ doctest-driver-gen ==0.3.0.5,
+ doctest-exitcode-stdio ==0.0,
+ doctest-extract ==0.1,
+ doctest-lib ==0.1,
+ doctest-parallel ==0.2.5,
+ doldol ==0.4.1.2,
+ do-list ==1.0.1,
+ domain ==0.1.1.3,
+ domain-core ==0.1.0.2,
+ domain-optics ==0.1.0.3,
+ do-notation ==0.1.0.2,
+ dot ==0.3,
+ dotenv ==0.9.0.2,
+ dotgen ==0.4.3,
+ dotnet-timespan ==0.0.1.0,
+ double-conversion ==2.0.4.1,
+ download ==0.3.2.7,
+ download-curl ==0.1.4,
+ DPutils ==0.1.1.0,
+ drifter ==0.3.0,
+ drifter-postgresql ==0.2.1,
+ drifter-sqlite ==0.1.0.0,
+ dsp ==0.2.5.1,
+ dual ==0.1.1.1,
+ dual-tree ==0.2.3.1,
+ dublincore-xml-conduit ==0.1.0.2,
+ dunai ==0.8.3,
+ duration ==0.2.0.0,
+ dvorak ==0.1.0.0,
+ dynamic-state ==0.3.1,
+ dyre ==0.9.1,
+ eap ==0.9.0.2,
+ Earley ==0.13.0.1,
+ easy-file ==0.2.2,
+ easy-logger ==0.1.0.7,
+ Ebnf2ps ==1.0.15,
+ echo ==0.1.4,
+ ecstasy ==0.2.1.0,
+ ed25519 ==0.0.5.0,
+ edit-distance ==0.2.2.1,
+ edit-distance-vector ==1.0.0.4,
+ editor-open ==0.6.0.0,
+ either ==5.0.2,
+ either-both ==0.1.1.1,
+ either-unwrap ==1.1,
+ ekg-core ==0.1.1.7,
+ elerea ==2.9.0,
+ elf ==0.31,
+ eliminators ==0.8,
+ elm-bridge ==0.8.0,
+ elm-core-sources ==1.0.0,
+ elm-export ==0.6.0.1,
+ elynx ==0.6.1.1,
+ elynx-markov ==0.6.1.1,
+ elynx-nexus ==0.6.1.1,
+ elynx-seq ==0.6.1.1,
+ elynx-tools ==0.6.1.1,
+ elynx-tree ==0.6.1.1,
+ email-validate ==2.3.2.16,
+ emd ==0.2.0.0,
+ emojis ==0.1.2,
+ enclosed-exceptions ==1.0.3,
+ ENIG ==0.0.1.0,
+ entropy ==0.4.1.7,
+ enummapset ==0.6.0.3,
+ enumset ==0.1,
+ enum-text ==0.5.3.0,
+ envelope ==0.2.2.0,
+ envparse ==0.4.1,
+ envy ==2.1.0.0,
+ eq ==4.3,
+ equal-files ==0.0.5.3,
+ equational-reasoning ==0.7.0.1,
+ equivalence ==0.4.1,
+ erf ==2.0.0.0,
+ errata ==0.4.0.0,
+ error ==0.3.0.0,
+ errorcall-eq-instance ==0.3.0,
+ error-or ==0.2.0.0,
+ error-or-utils ==0.2.0,
+ errors ==2.3.0,
+ errors-ext ==0.4.2,
+ ersatz ==0.4.12,
+ esqueleto ==3.5.7.0,
+ essence-of-live-coding ==0.2.6,
+ essence-of-live-coding-gloss ==0.2.6,
+ essence-of-live-coding-pulse ==0.2.6,
+ essence-of-live-coding-quickcheck ==0.2.6,
+ essence-of-live-coding-warp ==0.2.6,
+ eventful-core ==0.2.0,
+ eventful-memory ==0.2.0,
+ eventful-test-helpers ==0.2.0,
+ event-list ==0.1.2,
+ eventstore ==1.4.2,
+ every ==0.0.1,
+ evm-opcodes ==0.1.1,
+ exact-combinatorics ==0.2.0.11,
+ exact-pi ==0.5.0.2,
+ exception-hierarchy ==0.1.0.6,
+ exception-mtl ==0.4.0.1,
+ exceptions installed,
+ exception-transformers ==0.4.0.11,
+ exception-via ==0.1.0.0,
+ executable-hash ==0.2.0.4,
+ executable-path ==0.0.3.1,
+ exit-codes ==1.0.0,
+ exomizer ==1.0.0,
+ experimenter ==0.1.0.12,
+ expiring-cache-map ==0.0.6.1,
+ explainable-predicates ==0.1.2.2,
+ explicit-exception ==0.1.10,
+ exp-pairs ==0.2.1.0,
+ express ==1.0.10,
+ extended-reals ==0.2.4.0,
+ extensible-effects ==5.0.0.1,
+ extensible-exceptions ==0.1.1.4,
+ extra ==1.7.10,
+ extractable-singleton ==0.0.1,
+ extrapolate ==0.4.6,
+ fail ==4.9.0.0,
+ failable ==1.2.4.0,
+ fakedata ==1.0.3,
+ fakedata-parser ==0.1.0.0,
+ fakedata-quickcheck ==0.2.0,
+ fakefs ==0.3.0.2,
+ fakepull ==0.3.0.2,
+ faktory ==1.1.2.3,
+ fast-builder ==0.1.3.0,
+ fast-logger ==3.1.1,
+ fast-math ==1.0.2,
+ fastmemo ==0.1.0.1,
+ fclabels ==2.0.5.1,
+ feature-flags ==0.1.0.1,
+ fedora-dists ==2.0.0,
+ fedora-haskell-tools ==1.0,
+ feed ==1.3.2.1,
+ FenwickTree ==0.1.2.1,
+ fft ==0.1.8.7,
+ fftw-ffi ==0.1,
+ fgl ==5.7.0.3,
+ fields-json ==0.4.0.0,
+ file-embed ==0.0.15.0,
+ file-embed-lzma ==0,
+ filelock ==0.1.1.5,
+ filemanip ==0.3.6.3,
+ file-modules ==0.1.2.4,
+ filepath installed,
+ filepath-bytestring ==1.4.2.1.9,
+ file-path-th ==0.1.0.0,
+ filepattern ==0.1.2,
+ fileplow ==0.1.0.0,
+ filter-logger ==0.6.0.0,
+ filtrable ==0.1.6.0,
+ fin ==0.2.1,
+ FindBin ==0.0.5,
+ fingertree ==0.1.5.0,
+ finite-typelits ==0.1.6.0,
+ first-class-families ==0.8.0.1,
+ first-class-patterns ==0.3.2.5,
+ fitspec ==0.4.10,
+ fixed ==0.3,
+ fixed-length ==0.2.3,
+ fixed-vector ==1.2.1.0,
+ fixed-vector-hetero ==0.6.1.1,
+ fix-whitespace ==0.0.9,
+ flac ==0.2.0,
+ flac-picture ==0.1.2,
+ flags-applicative ==0.1.0.3,
+ flat ==0.4.4,
+ flat-mcmc ==1.5.2,
+ flay ==0.4,
+ flexible-defaults ==0.0.3,
+ FloatingHex ==0.5,
+ floatshow ==0.2.4,
+ flow ==2.0.0.0,
+ flush-queue ==1.0.0,
+ fmlist ==0.9.4,
+ fmt ==0.6.3.0,
+ fn ==0.3.0.2,
+ focus ==1.0.3,
+ focuslist ==0.1.1.0,
+ fold-debounce ==0.2.0.9,
+ fold-debounce-conduit ==0.2.0.6,
+ foldl ==1.4.12,
+ folds ==0.7.8,
+ follow-file ==0.0.3,
+ FontyFruity ==0.5.3.5,
+ force-layout ==0.4.0.6,
+ foreign-store ==0.2,
+ ForestStructures ==0.0.1.0,
+ forkable-monad ==0.2.0.3,
+ forma ==1.2.0,
+ format-numbers ==0.1.0.1,
+ formatting ==7.1.3,
+ fortran-src ==0.9.0,
+ foundation ==0.0.29,
+ fourmolu ==0.4.0.0,
+ Frames ==0.7.3,
+ free ==5.1.9,
+ free-categories ==0.2.0.2,
+ freenect ==1.2.1,
+ freer-simple ==1.2.1.2,
+ freetype2 ==0.2.0,
+ free-vl ==0.1.4,
+ friendly-time ==0.4.1,
+ frisby ==0.2.4,
+ from-sum ==0.2.3.0,
+ frontmatter ==0.1.0.2,
+ fsnotify ==0.3.0.1,
+ fsnotify-conduit ==0.1.1.1,
+ ftp-client ==0.5.1.4,
+ funcmp ==1.9,
+ function-builder ==0.3.0.1,
+ functor-classes-compat ==2.0.0.2,
+ functor-combinators ==0.4.1.0,
+ fused-effects ==1.1.2.0,
+ fusion-plugin ==0.2.4,
+ fusion-plugin-types ==0.1.0,
+ fuzzcheck ==0.1.1,
+ fuzzy ==0.1.0.1,
+ fuzzy-dates ==0.1.1.2,
+ fuzzyset ==0.2.3,
+ fuzzy-time ==0.2.0.1,
+ gauge ==0.2.5,
+ gd ==3000.7.3,
+ gdp ==0.0.3.0,
+ general-games ==1.1.1,
+ generic-aeson ==0.2.0.14,
+ generic-arbitrary ==0.2.2,
+ generic-constraints ==1.1.1.1,
+ generic-data ==0.9.2.1,
+ generic-data-surgery ==0.3.0.0,
+ generic-deriving ==1.14.2,
+ generic-functor ==0.2.0.0,
+ generic-lens ==2.2.1.0,
+ generic-lens-core ==2.2.1.0,
+ generic-monoid ==0.1.0.1,
+ generic-optics ==2.2.1.0,
+ GenericPretty ==1.2.2,
+ generic-random ==1.5.0.1,
+ generics-eot ==0.4.0.1,
+ generics-sop ==0.5.1.2,
+ generics-sop-lens ==0.2.0.1,
+ geniplate-mirror ==0.7.8,
+ genvalidity ==1.0.0.1,
+ genvalidity-bytestring ==1.0.0.0,
+ genvalidity-containers ==1.0.0.0,
+ genvalidity-criterion ==1.0.0.0,
+ genvalidity-hspec ==1.0.0.0,
+ genvalidity-hspec-aeson ==1.0.0.0,
+ genvalidity-hspec-binary ==1.0.0.0,
+ genvalidity-hspec-cereal ==1.0.0.0,
+ genvalidity-hspec-hashable ==1.0.0.0,
+ genvalidity-hspec-optics ==1.0.0.0,
+ genvalidity-hspec-persistent ==1.0.0.0,
+ genvalidity-mergeless ==0.3.0.0,
+ genvalidity-path ==1.0.0.0,
+ genvalidity-persistent ==1.0.0.0,
+ genvalidity-property ==1.0.0.0,
+ genvalidity-scientific ==1.0.0.0,
+ genvalidity-text ==1.0.0.1,
+ genvalidity-time ==1.0.0.0,
+ genvalidity-unordered-containers ==1.0.0.0,
+ genvalidity-uuid ==1.0.0.0,
+ genvalidity-vector ==1.0.0.0,
+ geodetics ==0.1.2,
+ geojson ==4.1.0,
+ getopt-generics ==0.13.0.4,
+ ghc installed,
+ ghc-bignum installed,
+ ghc-bignum-orphans ==0.1.1,
+ ghc-byteorder ==4.11.0.0.10,
+ ghc-check ==0.5.0.8,
+ ghc-compact ==0.1.0.0,
+ ghc-core ==0.5.6,
+ ghc-events ==0.17.0.3,
+ ghc-exactprint ==0.6.4,
+ ghcid ==0.8.7,
+ ghci-hexcalc ==0.1.1.0,
+ ghcjs-codemirror ==0.0.0.2,
+ ghcjs-perch ==0.3.3.3,
+ ghc-lib ==9.0.2.20211226,
+ ghc-lib-parser ==9.0.2.20211226,
+ ghc-lib-parser-ex ==9.0.0.6,
+ ghc-parser ==0.2.3.0,
+ ghc-paths ==0.1.0.12,
+ ghc-prim installed,
+ ghc-prof ==1.4.1.11,
+ ghc-source-gen ==0.4.3.0,
+ ghc-syntax-highlighter ==0.0.7.0,
+ ghc-tcplugins-extra ==0.4.2,
+ ghc-trace-events ==0.1.2.6,
+ ghc-typelits-extra ==0.4.3,
+ ghc-typelits-knownnat ==0.7.6,
+ ghc-typelits-natnormalise ==0.7.6,
+ ghc-typelits-presburger ==0.6.2.0,
+ ghost-buster ==0.1.1.0,
+ gi-atk ==2.0.24,
+ gi-cairo ==1.0.26,
+ gi-cairo-connector ==0.1.1,
+ gi-cairo-render ==0.1.1,
+ gi-dbusmenu ==0.4.10,
+ gi-dbusmenugtk3 ==0.4.11,
+ gi-freetype2 ==2.0.1,
+ gi-gdk ==3.0.25,
+ gi-gdkpixbuf ==2.0.28,
+ gi-gdkx11 ==3.0.12,
+ gi-gio ==2.0.29,
+ gi-glib ==2.0.26,
+ gi-gmodule ==2.0.2,
+ gi-gobject ==2.0.27,
+ gi-graphene ==1.0.4,
+ gi-gtk ==3.0.38,
+ gi-gtk-hs ==0.3.12,
+ gi-gtksource ==3.0.25,
+ gi-harfbuzz ==0.0.6,
+ gi-javascriptcore ==4.0.24,
+ ginger ==0.10.4.0,
+ gi-pango ==1.0.26,
+ githash ==0.1.6.2,
+ github ==0.27,
+ github-release ==2.0.0.1,
+ github-rest ==1.1.2,
+ github-types ==0.2.1,
+ github-webhooks ==0.15.0,
+ gitrev ==1.3.1,
+ gi-vte ==2.91.29,
+ gi-xlib ==2.0.11,
+ gl ==0.9,
+ glabrous ==2.0.5,
+ glasso ==0.1.0,
+ GLFW-b ==3.3.0.0,
+ Glob ==0.10.2,
+ glob-posix ==0.2.0.1,
+ gloss ==1.13.2.1,
+ gloss-algorithms ==1.13.0.3,
+ gloss-raster ==1.13.1.2,
+ gloss-rendering ==1.13.1.1,
+ GLURaw ==2.0.0.5,
+ GLUT ==2.7.0.16,
+ gmail-simple ==0.1.0.4,
+ gnuplot ==0.5.7,
+ goldplate ==0.2.0,
+ google-isbn ==1.0.3,
+ gopher-proxy ==0.1.1.3,
+ gothic ==0.1.8,
+ gotyno-hs ==1.1.0,
+ gpolyline ==0.1.0.1,
+ graph-core ==0.3.0.0,
+ graphite ==0.10.0.1,
+ graphs ==0.7.2,
+ graphula ==2.0.2.1,
+ graphviz ==2999.20.1.0,
+ graph-wrapper ==0.2.6.0,
+ gravatar ==0.8.1,
+ greskell ==2.0.0.0,
+ greskell-core ==1.0.0.0,
+ greskell-websocket ==1.0.0.0,
+ groom ==0.1.2.1,
+ groundhog ==0.12.0,
+ groundhog-postgresql ==0.12,
+ groundhog-sqlite ==0.12.0,
+ group-by-date ==0.1.0.4,
+ grouped-list ==0.2.3.0,
+ groups ==0.5.3,
+ gtk2hs-buildtools ==0.13.8.3,
+ gtk-sni-tray ==0.1.8.0,
+ gtk-strut ==0.1.3.0,
+ guarded-allocation ==0.0.1,
+ hackage-cli ==0.0.3.6,
+ hackage-db ==2.1.2,
+ hackage-security ==0.6.2.2,
+ haddock-library ==1.10.0,
+ hadoop-streaming ==0.2.0.3,
+ hakyll ==4.15.1.1,
+ hakyll-convert ==0.3.0.4,
+ hal ==0.4.10.1,
+ half ==0.3.1,
+ hall-symbols ==0.1.0.6,
+ hamilton ==0.1.0.3,
+ hamtsolo ==1.0.4,
+ HandsomeSoup ==0.4.2,
+ handwriting ==0.1.0.3,
+ happstack-server ==7.7.2,
+ happstack-server-tls ==7.2.1.3,
+ happy ==1.20.0,
+ happy-meta ==0.2.0.11,
+ HasBigDecimal ==0.1.1,
+ hasbolt ==0.1.6.2,
+ hashable ==1.3.5.0,
+ hashable-time ==0.3,
+ hashids ==1.0.2.7,
+ hashing ==0.1.0.1,
+ hashmap ==1.3.3,
+ hashtables ==1.2.4.2,
+ haskeline ==0.8.2,
+ haskell-awk ==1.2.0.1,
+ haskell-gi ==0.26.1,
+ haskell-gi-base ==0.26.1,
+ haskell-gi-overloading ==1.0,
+ haskell-lexer ==1.1,
+ haskell-lsp-types ==0.24.0.0,
+ haskell-src ==1.0.4,
+ haskell-src-exts ==1.23.1,
+ haskell-src-exts-util ==0.2.5,
+ haskell-src-meta ==0.8.10,
+ haskey-btree ==0.3.0.1,
+ haskintex ==0.8.0.0,
+ haskoin-core ==0.21.2,
+ hasktags ==0.72.0,
+ hasql ==1.5.1,
+ hasql-migration ==0.3.0,
+ hasql-notifications ==0.2.0.2,
+ hasql-optparse-applicative ==0.3.0.9,
+ hasql-pool ==0.5.2.2,
+ hasql-queue ==1.2.0.2,
+ hasql-th ==0.4.0.17,
+ hasql-transaction ==1.0.1.1,
+ has-transformers ==0.1.0.4,
+ hasty-hamiltonian ==1.3.4,
+ HaTeX ==3.22.3.1,
+ HaXml ==1.25.9,
+ haxr ==3000.11.4.1,
+ HCodecs ==0.5.2,
+ hdaemonize ==0.5.6,
+ HDBC ==2.4.0.4,
+ HDBC-session ==0.1.2.0,
+ headed-megaparsec ==0.2.1,
+ heap ==1.0.4,
+ heaps ==0.4,
+ heatshrink ==0.1.0.0,
+ hebrew-time ==0.1.2,
+ hedgehog ==1.0.5,
+ hedgehog-classes ==0.2.5.3,
+ hedgehog-corpus ==0.2.0,
+ hedgehog-fakedata ==0.0.1.5,
+ hedgehog-fn ==1.0,
+ hedgehog-quickcheck ==0.1.1,
+ hedis ==0.15.1,
+ hedn ==0.3.0.4,
+ here ==1.2.13,
+ heredoc ==0.2.0.0,
+ heterocephalus ==1.0.5.7,
+ hex ==0.2.0,
+ hexml ==0.3.4,
+ hexpat ==0.20.13,
+ hex-text ==0.1.0.6,
+ hformat ==0.3.3.1,
+ hfsevents ==0.1.6,
+ hgeometry ==0.14,
+ hgeometry-combinatorial ==0.14,
+ hid ==0.2.2,
+ hidapi ==0.1.8,
+ hie-bios ==0.9.1,
+ hi-file-parser ==0.1.3.0,
+ higher-leveldb ==0.6.0.0,
+ highlighting-kate ==0.6.4,
+ hindent ==5.3.4,
+ hinfo ==0.0.3.0,
+ hinotify ==0.4.1,
+ hint ==0.9.0.6,
+ histogram-fill ==0.9.1.0,
+ hjsmin ==0.2.0.4,
+ hkd-default ==1.1.0.0,
+ hkgr ==0.3,
+ hledger ==1.25,
+ hledger-iadd ==1.3.17,
+ hledger-interest ==1.6.3,
+ hledger-lib ==1.25,
+ hledger-stockquotes ==0.1.2.0,
+ hledger-ui ==1.25,
+ hledger-web ==1.25,
+ hlibcpuid ==0.2.0,
+ hlibgit2 ==0.18.0.16,
+ hlibsass ==0.1.10.1,
+ hlint ==3.3.6,
+ hmatrix ==0.20.2,
+ hmatrix-gsl ==0.19.0.1,
+ hmatrix-gsl-stats ==0.4.1.8,
+ hmatrix-morpheus ==0.1.1.2,
+ hmatrix-repa ==0.1.2.2,
+ hmatrix-vector-sized ==0.1.3.0,
+ hmm-lapack ==0.5,
+ HMock ==0.5.1.0,
+ hnock ==0.4.0,
+ hoauth2 ==2.3.0,
+ hocilib ==0.2.0,
+ hoogle ==5.0.18.3,
+ hopenssl ==2.2.4,
+ hopfli ==0.2.2.1,
+ horizontal-rule ==0.5.0.0,
+ hosc ==0.19.1,
+ hostname ==1.0,
+ hostname-validate ==1.0.0,
+ hourglass ==0.2.12,
+ hourglass-orphans ==0.1.0.0,
+ hp2pretty ==0.10,
+ hpack ==0.34.7,
+ hpack-dhall ==0.5.4,
+ hpc-codecov ==0.3.0.0,
+ HPDF ==1.6.0,
+ hpp ==0.6.5,
+ hpqtypes ==1.9.4.0,
+ hprotoc ==2.4.17,
+ hreader ==1.1.0,
+ hreader-lens ==0.1.3.0,
+ hruby ==0.5.0.0,
+ hsass ==0.8.0,
+ hs-bibutils ==6.10.0.0,
+ hsc2hs ==0.68.8,
+ hscolour ==1.24.4,
+ hsdns ==1.8,
+ hsemail ==2.2.1,
+ hset ==2.2.0,
+ hsexif ==0.6.1.9,
+ hs-GeoIP ==0.3,
+ hsignal ==0.2.7.5,
+ hsini ==0.5.1.2,
+ hsinstall ==2.7,
+ HSlippyMap ==3.0.1,
+ hslogger ==1.3.1.0,
+ hslua ==2.1.0,
+ hslua-aeson ==2.1.0,
+ hslua-classes ==2.1.0,
+ hslua-core ==2.1.0,
+ hslua-marshalling ==2.1.0,
+ hslua-module-doclayout ==1.0.4,
+ hslua-module-path ==1.0.3,
+ hslua-module-system ==1.0.2,
+ hslua-module-text ==1.0.2,
+ hslua-module-version ==1.0.2,
+ hslua-objectorientation ==2.1.0,
+ hslua-packaging ==2.1.0,
+ hsndfile ==0.8.0,
+ hsndfile-vector ==0.5.2,
+ HsOpenSSL ==0.11.7.2,
+ HsOpenSSL-x509-system ==0.1.0.4,
+ hsp ==0.10.0,
+ hspec ==2.8.5,
+ hspec-attoparsec ==0.1.0.2,
+ hspec-checkers ==0.1.0.2,
+ hspec-contrib ==0.5.1,
+ hspec-core ==2.8.5,
+ hspec-discover ==2.8.5,
+ hspec-expectations ==0.8.2,
+ hspec-expectations-json ==1.0.0.7,
+ hspec-expectations-lifted ==0.10.0,
+ hspec-expectations-pretty-diff ==0.7.2.6,
+ hspec-golden ==0.2.0.0,
+ hspec-golden-aeson ==0.9.0.0,
+ hspec-hedgehog ==0.0.1.2,
+ hspec-junit-formatter ==1.0.3.0,
+ hspec-leancheck ==0.0.6,
+ hspec-megaparsec ==2.2.0,
+ hspec-meta ==2.7.8,
+ hspec-need-env ==0.1.0.9,
+ hspec-parsec ==0,
+ hspec-smallcheck ==0.5.2,
+ hspec-tmp-proc ==0.5.1.2,
+ hspec-wai ==0.11.1,
+ hs-php-session ==0.0.9.3,
+ hsshellscript ==3.5.0,
+ hs-tags ==0.1.5.3,
+ hstatistics ==0.3.1,
+ HStringTemplate ==0.8.8,
+ HSvm ==0.1.1.3.25,
+ HsYAML ==0.2.1.1,
+ HsYAML-aeson ==0.2.0.1,
+ hsyslog ==5.0.2,
+ hsyslog-udp ==0.2.5,
+ htaglib ==1.2.0,
+ HTF ==0.15.0.0,
+ html ==1.0.1.2,
+ html-conduit ==1.3.2.2,
+ html-email-validate ==0.2.0.0,
+ html-entities ==1.1.4.6,
+ html-entity-map ==0.1.0.0,
+ HTTP ==4000.3.16,
+ http2 ==3.0.3,
+ http-api-data ==0.4.3,
+ http-api-data-qq ==0.1.0.0,
+ http-client ==0.7.13.1,
+ http-client-openssl ==0.3.3,
+ http-client-overrides ==0.1.1.0,
+ http-client-tls ==0.3.6.1,
+ http-common ==0.8.3.4,
+ http-conduit ==2.3.8,
+ http-date ==0.0.11,
+ http-directory ==0.1.10,
+ http-download ==0.2.0.0,
+ httpd-shed ==0.4.1.1,
+ http-io-streams ==0.1.6.1,
+ http-link-header ==1.2.1,
+ http-media ==0.8.0.0,
+ http-query ==0.1.3,
+ http-reverse-proxy ==0.6.0.1,
+ http-streams ==0.8.9.6,
+ http-types ==0.12.3,
+ human-readable-duration ==0.2.1.4,
+ HUnit ==1.6.2.0,
+ HUnit-approx ==1.1.1.1,
+ hunit-dejafu ==2.0.0.5,
+ hvect ==0.4.0.1,
+ hvega ==0.12.0.3,
+ hw-balancedparens ==0.4.1.2,
+ hw-bits ==0.7.2.2,
+ hw-conduit ==0.2.1.1,
+ hw-conduit-merges ==0.2.1.0,
+ hw-diagnostics ==0.0.1.0,
+ hw-dsv ==0.4.1.1,
+ hweblib ==0.6.3,
+ hw-eliasfano ==0.1.2.1,
+ hw-excess ==0.2.3.0,
+ hw-fingertree ==0.1.2.1,
+ hw-fingertree-strict ==0.1.2.1,
+ hw-hedgehog ==0.1.1.1,
+ hw-int ==0.0.2.0,
+ hw-ip ==2.4.2.1,
+ hw-json-simd ==0.1.1.1,
+ hw-json-simple-cursor ==0.1.1.1,
+ hw-json-standard-cursor ==0.2.3.2,
+ hwk ==0.6,
+ hw-kafka-client ==4.0.3,
+ hw-mquery ==0.2.1.1,
+ hworker ==0.1.0.1,
+ hw-packed-vector ==0.2.1.1,
+ hw-parser ==0.1.1.0,
+ hw-prim ==0.6.3.1,
+ hw-rankselect ==0.13.4.1,
+ hw-rankselect-base ==0.3.4.1,
+ hw-simd ==0.1.2.1,
+ hw-streams ==0.0.1.0,
+ hw-string-parse ==0.0.0.5,
+ hw-succinct ==0.1.0.1,
+ hw-xml ==0.5.1.1,
+ hxt ==9.3.1.22,
+ hxt-charproperties ==9.5.0.0,
+ hxt-css ==0.1.0.3,
+ hxt-curl ==9.1.1.1,
+ hxt-expat ==9.1.1,
+ hxt-http ==9.1.5.2,
+ hxt-regex-xmlschema ==9.2.0.7,
+ hxt-tagsoup ==9.1.4,
+ hxt-unicode ==9.0.2.4,
+ hybrid-vectors ==0.2.3,
+ hyper ==0.2.1.1,
+ hyperloglog ==0.4.6,
+ hyphenation ==0.8.2,
+ iconv ==0.4.1.3,
+ identicon ==0.2.2,
+ ieee754 ==0.8.0,
+ if ==0.1.0.0,
+ iff ==0.0.6,
+ ihaskell ==0.10.2.2,
+ ihaskell-hvega ==0.5.0.3,
+ ihs ==0.1.0.3,
+ ilist ==0.4.0.1,
+ imagesize-conduit ==1.1,
+ Imlib ==0.1.2,
+ immortal ==0.3,
+ immortal-queue ==0.1.0.1,
+ inbox ==0.2.0,
+ include-file ==0.1.0.4,
+ incremental-parser ==0.5.0.3,
+ indents ==0.5.0.1,
+ indexed ==0.1.3,
+ indexed-containers ==0.1.0.2,
+ indexed-list-literals ==0.2.1.3,
+ indexed-profunctors ==0.1.1,
+ indexed-traversable ==0.1.2,
+ indexed-traversable-instances ==0.1.1.1,
+ infer-license ==0.2.0,
+ inflections ==0.4.0.6,
+ influxdb ==1.9.2.2,
+ ini ==0.4.2,
+ inj ==1.0,
+ inline-c ==0.9.1.6,
+ inline-c-cpp ==0.5.0.0,
+ inliterate ==0.1.0,
+ input-parsers ==0.2.3.2,
+ insert-ordered-containers ==0.2.5.1,
+ inspection-testing ==0.4.6.1,
+ instance-control ==0.1.2.0,
+ int-cast ==0.2.0.0,
+ integer-gmp installed,
+ integer-logarithms ==1.0.3.1,
+ integer-roots ==1.0.2.0,
+ integration ==0.2.1,
+ intern ==0.9.4,
+ interpolate ==0.2.1,
+ interpolatedstring-perl6 ==1.0.2,
+ interpolation ==0.1.1.2,
+ IntervalMap ==0.6.1.2,
+ intervals ==0.9.2,
+ intro ==0.9.0.0,
+ intset-imperative ==0.1.0.0,
+ invariant ==0.5.6,
+ invert ==1.0.0.2,
+ invertible ==0.2.0.7,
+ invertible-grammar ==0.1.3.2,
+ io-machine ==0.2.0.0,
+ io-manager ==0.1.0.3,
+ io-memoize ==1.1.1.0,
+ io-region ==0.1.1,
+ io-storage ==0.3,
+ io-streams ==1.5.2.2,
+ ip6addr ==1.0.3,
+ iproute ==1.7.12,
+ IPv6Addr ==2.0.5,
+ ipynb ==0.2,
+ ipython-kernel ==0.10.2.2,
+ irc ==0.6.1.0,
+ irc-client ==1.1.2.2,
+ irc-conduit ==0.3.0.5,
+ irc-ctcp ==0.1.3.1,
+ isbn ==1.1.0.3,
+ islink ==0.1.0.0,
+ iso3166-country-codes ==0.20140203.8,
+ iso639 ==0.1.0.3,
+ iso8601-time ==0.1.5,
+ isocline ==1.0.9,
+ iterable ==3.0,
+ ix-shapable ==0.1.0,
+ jack ==0.7.2,
+ jailbreak-cabal ==1.3.6,
+ jalaali ==1.0.0.0,
+ java-adt ==0.2018.11.4,
+ jira-wiki-markup ==1.4.0,
+ jose ==0.9,
+ js-chart ==2.9.4.1,
+ js-dgtable ==0.5.2,
+ js-flot ==0.8.3,
+ js-jquery ==3.3.1,
+ json ==0.10,
+ json-feed ==2.0.0.3,
+ jsonifier ==0.2.1.1,
+ jsonpath ==0.2.1.0,
+ json-stream ==0.4.4.1,
+ JuicyPixels ==3.3.7,
+ JuicyPixels-blurhash ==0.1.0.3,
+ JuicyPixels-extra ==0.5.2,
+ JuicyPixels-scale-dct ==0.1.2,
+ junit-xml ==0.1.0.2,
+ justified-containers ==0.3.0.0,
+ jwt ==0.11.0,
+ kan-extensions ==5.2.5,
+ kanji ==3.5.0,
+ katip ==0.8.7.2,
+ katip-logstash ==0.1.0.2,
+ katip-wai ==0.1.2.0,
+ kazura-queue ==0.1.0.4,
+ keep-alive ==0.2.1.0,
+ keycode ==0.2.2,
+ keys ==3.12.3,
+ ki ==0.2.0.1,
+ kind-apply ==0.3.2.1,
+ kind-generics ==0.4.1.4,
+ kind-generics-th ==0.2.2.3,
+ kleene ==0.1,
+ kmeans ==0.1.3,
+ koji ==0.0.2,
+ krank ==0.2.3,
+ l10n ==0.1.0.1,
+ labels ==0.3.3,
+ lackey ==2.0.0.2,
+ LambdaHack ==0.11.0.0,
+ lame ==0.2.0,
+ language-bash ==0.9.2,
+ language-c ==0.9.1,
+ language-c-quote ==0.13,
+ language-docker ==10.4.3,
+ language-dot ==0.1.1,
+ language-glsl ==0.3.0,
+ language-java ==0.2.9,
+ language-javascript ==0.7.1.0,
+ language-nix ==2.2.0,
+ language-protobuf ==1.0.1,
+ language-python ==0.5.8,
+ language-thrift ==0.12.0.1,
+ lapack ==0.5,
+ lapack-carray ==0.0.3,
+ lapack-comfort-array ==0.0.1,
+ lapack-ffi ==0.0.3,
+ lapack-ffi-tools ==0.1.3,
+ lapack-hmatrix ==0.0.0.1,
+ largeword ==1.2.5,
+ latex ==0.1.0.4,
+ lattices ==2.0.3,
+ lawful ==0.1.0.0,
+ lazy-csv ==0.5.1,
+ lazyio ==0.1.0.4,
+ lazysmallcheck ==0.6,
+ lca ==0.4,
+ leancheck ==0.9.10,
+ leancheck-instances ==0.0.4,
+ leapseconds-announced ==2017.1.0.1,
+ learn-physics ==0.6.5,
+ lens ==5.0.1,
+ lens-action ==0.2.6,
+ lens-aeson ==1.1.3,
+ lens-csv ==0.1.1.0,
+ lens-family ==2.1.2,
+ lens-family-core ==2.1.2,
+ lens-family-th ==0.5.2.1,
+ lens-misc ==0.0.2.0,
+ lens-process ==0.4.0.0,
+ lens-properties ==4.11.1,
+ lens-regex ==0.1.3,
+ lens-regex-pcre ==1.1.0.0,
+ lentil ==1.5.4.0,
+ LetsBeRational ==1.0.0.0,
+ leveldb-haskell ==0.6.5,
+ lexer-applicative ==2.1.0.2,
+ libBF ==0.6.4,
+ libffi ==0.1,
+ libgit ==0.3.1,
+ libgraph ==1.14,
+ libmpd ==0.10.0.0,
+ liboath-hs ==0.0.1.2,
+ libyaml ==0.1.2,
+ LibZip ==1.0.1,
+ lifted-async ==0.10.2.3,
+ lifted-base ==0.2.3.12,
+ lift-generics ==0.2.1,
+ lift-type ==0.1.0.1,
+ line ==4.0.1,
+ linear ==1.21.10,
+ linear-base ==0.1.0,
+ linear-circuit ==0.1.0.4,
+ linebreak ==1.1.0.1,
+ linenoise ==0.3.2,
+ linux-capabilities ==0.1.1.0,
+ linux-file-extents ==0.2.0.0,
+ linux-namespaces ==0.1.3.0,
+ List ==0.6.2,
+ ListLike ==4.7.7,
+ list-predicate ==0.1.0.1,
+ listsafe ==0.1.0.1,
+ list-singleton ==2.0.0.0,
+ list-t ==1.0.5.3,
+ list-transformer ==1.0.8,
+ ListTree ==0.2.3,
+ ListZipper ==1.2.0.2,
+ literatex ==0.2.0.2,
+ little-rio ==0.2.2,
+ llvm-hs-pure ==9.0.0,
+ lmdb ==0.2.5,
+ load-env ==0.2.1.0,
+ loc ==0.1.3.16,
+ locators ==0.3.0.3,
+ loch-th ==0.2.2,
+ lockfree-queue ==0.2.3.1,
+ log-domain ==0.13.2,
+ logfloat ==0.13.4,
+ logging ==3.0.5,
+ logging-facade ==0.3.1,
+ logging-facade-syslog ==1,
+ logict ==0.7.1.0,
+ logstash ==0.1.0.3,
+ loop ==0.3.0,
+ lpeg ==1.0.3,
+ lrucache ==1.2.0.1,
+ lrucaching ==0.3.3,
+ lsp ==1.4.0.0,
+ lsp-test ==0.14.0.2,
+ lsp-types ==1.4.0.1,
+ lua ==2.1.0,
+ lua-arbitrary ==1.0.1,
+ lucid ==2.11.1,
+ lucid-cdn ==0.2.2.0,
+ lucid-extras ==0.2.2,
+ lukko ==0.1.1.3,
+ lxd-client-config ==0.1.0.1,
+ lz4 ==0.2.3.1,
+ lz4-frame-conduit ==0.1.0.1,
+ lzma ==0.0.0.3,
+ lzma-clib ==5.2.2,
+ lzma-conduit ==1.2.3,
+ machines ==0.7.3,
+ magic ==1.1,
+ magico ==0.0.2.3,
+ mainland-pretty ==0.7.1,
+ main-tester ==0.2.0.1,
+ managed ==1.0.9,
+ mandrill ==0.5.6.0,
+ markdown ==0.1.17.5,
+ markdown-unlit ==0.5.1,
+ markov-chain ==0.0.3.4,
+ massiv ==1.0.2.0,
+ massiv-io ==1.0.0.1,
+ massiv-persist ==1.0.0.3,
+ massiv-serialise ==1.0.0.2,
+ massiv-test ==1.0.0.0,
+ mathexpr ==0.3.1.0,
+ math-extras ==0.1.1.0,
+ math-functions ==0.3.4.2,
+ matplotlib ==0.7.7,
+ matrices ==0.5.0,
+ matrix ==0.3.6.1,
+ matrix-as-xyz ==0.1.2.2,
+ matrix-market-attoparsec ==0.1.1.3,
+ matrix-static ==0.3,
+ maximal-cliques ==0.1.1,
+ mbox ==0.3.4,
+ mbox-utility ==0.0.3.1,
+ mbtiles ==0.6.0.0,
+ mcmc ==0.6.2.2,
+ mcmc-types ==1.0.3,
+ median-stream ==0.7.0.0,
+ med-module ==0.1.2.2,
+ megaparsec ==9.2.1,
+ megaparsec-tests ==9.2.1,
+ mega-sdist ==0.4.2.1,
+ memory ==0.16.0,
+ MemoTrie ==0.6.10,
+ mercury-api ==0.1.0.2,
+ mergeless ==0.3.0.0,
+ mersenne-random ==1.0.0.1,
+ mersenne-random-pure64 ==0.2.2.0,
+ messagepack ==0.5.5,
+ metrics ==0.4.1.1,
+ mfsolve ==0.3.2.1,
+ microaeson ==0.1.0.1,
+ microlens ==0.4.12.0,
+ microlens-aeson ==2.4.1,
+ microlens-contra ==0.1.0.2,
+ microlens-ghc ==0.4.13.2,
+ microlens-mtl ==0.2.0.2,
+ microlens-platform ==0.4.2.1,
+ microlens-process ==0.2.0.2,
+ microlens-th ==0.4.3.10,
+ microspec ==0.2.1.3,
+ microstache ==1.0.2.2,
+ midair ==0.2.0.1,
+ midi ==0.2.2.3,
+ midi-alsa ==0.2.1,
+ mighty-metropolis ==2.0.0,
+ mime-mail ==0.5.1,
+ mime-mail-ses ==0.4.3,
+ mime-types ==0.1.0.9,
+ minimal-configuration ==0.1.4,
+ minimorph ==0.3.0.1,
+ minio-hs ==1.6.0,
+ miniutter ==0.5.1.2,
+ min-max-pqueue ==0.1.0.2,
+ mintty ==0.1.4,
+ missing-foreign ==0.1.1,
+ MissingH ==1.5.0.1,
+ mixed-types-num ==0.5.10,
+ mmap ==0.5.9,
+ mmark ==0.0.7.6,
+ mmark-cli ==0.0.5.1,
+ mmark-ext ==0.2.1.5,
+ mmorph ==1.1.5,
+ mnist-idx ==0.1.3.1,
+ mnist-idx-conduit ==0.4.0.0,
+ mockery ==0.3.5,
+ mock-time ==0.1.0,
+ mod ==0.1.2.2,
+ model ==0.5,
+ modern-uri ==0.3.4.4,
+ modular ==0.1.0.8,
+ monad-chronicle ==1.0.1,
+ monad-control ==1.0.3.1,
+ monad-control-aligned ==0.0.1.1,
+ monad-coroutine ==0.9.2,
+ monad-extras ==0.6.0,
+ monadic-arrays ==0.2.2,
+ monad-journal ==0.8.1,
+ monadlist ==0.0.2,
+ monad-logger ==0.3.36,
+ monad-logger-json ==0.1.0.0,
+ monad-logger-logstash ==0.2.0.2,
+ monad-logger-prefix ==0.1.12,
+ monad-loops ==0.4.3,
+ monad-memo ==0.5.4,
+ monadoid ==0.0.3,
+ monad-par ==0.3.5,
+ monad-parallel ==0.7.2.5,
+ monad-par-extras ==0.3.3,
+ monad-peel ==0.2.1.2,
+ monad-primitive ==0.1,
+ monad-products ==4.0.1,
+ MonadPrompt ==1.0.0.5,
+ MonadRandom ==0.5.3,
+ monad-resumption ==0.1.4.0,
+ monad-skeleton ==0.2,
+ monad-st ==0.2.4.1,
+ monads-tf ==0.1.0.3,
+ monad-time ==0.3.1.0,
+ mongoDB ==2.7.1.1,
+ monoidal-containers ==0.6.2.0,
+ monoid-extras ==0.6.1,
+ monoid-subclasses ==1.1.3,
+ monoid-transformer ==0.0.4,
+ monomer ==1.3.0.0,
+ mono-traversable ==1.0.15.3,
+ mono-traversable-instances ==0.1.1.0,
+ mono-traversable-keys ==0.2.0,
+ more-containers ==0.2.2.2,
+ morpheus-graphql-tests ==0.18.0,
+ moss ==0.2.0.1,
+ mountpoints ==1.0.2,
+ mpi-hs ==0.7.2.0,
+ mpi-hs-binary ==0.1.1.0,
+ mpi-hs-cereal ==0.1.0.0,
+ mtl installed,
+ mtl-compat ==0.2.2,
+ mtl-prelude ==2.0.3.1,
+ multiarg ==0.30.0.10,
+ multi-containers ==0.2,
+ multimap ==1.2.1,
+ multipart ==0.2.1,
+ multiset ==0.3.4.3,
+ multistate ==0.8.0.4,
+ murmur3 ==1.0.5,
+ murmur-hash ==0.1.0.10,
+ MusicBrainz ==0.4.1,
+ mutable-containers ==0.3.4,
+ mwc-probability ==2.3.1,
+ mwc-random ==0.15.0.2,
+ mwc-random-monad ==0.7.3.1,
+ mx-state-codes ==1.0.0.0,
+ mysql ==0.2.1,
+ mysql-simple ==0.4.8.1,
+ n2o ==0.11.1,
+ n2o-nitro ==0.11.2,
+ nagios-check ==0.3.2,
+ named ==0.3.0.1,
+ names-th ==0.3.0.1,
+ nano-erl ==0.1.0.1,
+ NanoID ==3.2.1,
+ nanospec ==0.2.2,
+ nanovg ==0.8.1.0,
+ nats ==1.1.2,
+ natural-arithmetic ==0.1.3.0,
+ natural-induction ==0.2.0.0,
+ natural-sort ==0.1.2,
+ natural-transformation ==0.4,
+ ndjson-conduit ==0.1.0.5,
+ neat-interpolation ==0.5.1.3,
+ netcode-io ==0.0.3,
+ netlib-carray ==0.1,
+ netlib-comfort-array ==0.0.0.2,
+ netlib-ffi ==0.1.1,
+ netpbm ==1.0.4,
+ netrc ==0.2.0.0,
+ nettle ==0.3.0,
+ netwire ==5.0.3,
+ netwire-input ==0.0.7,
+ netwire-input-glfw ==0.0.11,
+ network ==3.1.2.7,
+ network-bsd ==2.8.1.0,
+ network-byte-order ==0.1.6,
+ network-conduit-tls ==1.3.2,
+ network-info ==0.2.1,
+ network-ip ==0.3.0.3,
+ network-messagepack-rpc ==0.1.2.0,
+ network-messagepack-rpc-websocket ==0.1.1.1,
+ network-run ==0.2.4,
+ network-simple ==0.4.5,
+ network-simple-tls ==0.4,
+ network-transport ==0.5.4,
+ network-transport-composed ==0.2.1,
+ network-transport-tcp ==0.8.0,
+ network-transport-tests ==0.3.0,
+ network-uri ==2.6.4.1,
+ network-wait ==0.1.2.0,
+ newtype ==0.2.2.0,
+ newtype-generics ==0.6.2,
+ nfc ==0.1.1,
+ nicify-lib ==1.0.1,
+ NineP ==0.0.2.1,
+ nix-derivation ==1.1.2,
+ nix-paths ==1.0.1,
+ NoHoed ==0.1.1,
+ nonce ==1.0.7,
+ nondeterminism ==1.4,
+ non-empty ==0.3.3,
+ nonempty-containers ==0.3.4.4,
+ nonemptymap ==0.0.6.0,
+ non-empty-sequence ==0.2.0.4,
+ nonempty-vector ==0.2.1.0,
+ nonempty-zipper ==1.0.0.4,
+ non-negative ==0.1.2,
+ normalization-insensitive ==2.0.2,
+ not-gloss ==0.7.7.0,
+ no-value ==1.0.0.0,
+ nowdoc ==0.1.1.0,
+ nqe ==0.6.4,
+ nsis ==0.3.3,
+ numbers ==3000.2.0.2,
+ numeric-extras ==0.1,
+ numeric-limits ==0.1.0.0,
+ numeric-prelude ==0.4.4,
+ numeric-quest ==0.2.0.2,
+ numhask ==0.10.1.0,
+ numhask-array ==0.10.1,
+ numhask-space ==0.10.0.0,
+ NumInstances ==1.4,
+ numtype-dk ==0.5.0.3,
+ nuxeo ==0.3.2,
+ nvim-hs ==2.2.0.2,
+ ObjectName ==1.1.0.2,
+ ochintin-daicho ==0.3.4.2,
+ o-clock ==1.2.1.1,
+ oeis ==0.3.10,
+ ofx ==0.4.4.0,
+ old-locale ==1.0.0.7,
+ old-time ==1.1.0.3,
+ once ==0.4,
+ one-liner ==2.0,
+ one-liner-instances ==0.1.3.0,
+ OneTuple ==0.3.1,
+ Only ==0.1,
+ oo-prototypes ==0.1.0.0,
+ opaleye ==0.9.3.2,
+ OpenAL ==1.7.0.5,
+ openapi3 ==3.2.2,
+ open-browser ==0.2.1.0,
+ openexr-write ==0.1.0.2,
+ OpenGL ==3.0.3.0,
+ OpenGLRaw ==3.3.4.1,
+ openpgp-asciiarmor ==0.1.2,
+ opensource ==0.1.1.0,
+ openssl-streams ==1.2.3.0,
+ opentelemetry ==0.7.0,
+ opentelemetry-extra ==0.7.0,
+ opentelemetry-lightstep ==0.7.0,
+ opentelemetry-wai ==0.7.0,
+ operational ==0.2.4.1,
+ operational-class ==0.3.0.0,
+ opml-conduit ==0.9.0.0,
+ optics ==0.4.2,
+ optics-core ==0.4.1,
+ optics-extra ==0.4.2.1,
+ optics-th ==0.4.1,
+ optics-vl ==0.2.1,
+ optima ==0.4.0.3,
+ optional-args ==1.0.2,
+ options ==1.2.1.1,
+ optparse-applicative ==0.16.1.0,
+ optparse-enum ==1.0.0.0,
+ optparse-generic ==1.4.7,
+ optparse-simple ==0.1.1.4,
+ optparse-text ==0.1.1.0,
+ OrderedBits ==0.0.2.0,
+ ordered-containers ==0.2.2,
+ ormolu ==0.3.1.0,
+ overhang ==1.0.0,
+ packcheck ==0.6.0,
+ pager ==0.1.1.0,
+ pagination ==0.2.2,
+ pagure ==0.1.1,
+ pagure-cli ==0.2.1,
+ palette ==0.3.0.2,
+ pandoc ==2.17.1.1,
+ pandoc-csv2table ==1.0.9,
+ pandoc-dhall-decoder ==0.1.0.1,
+ pandoc-lua-marshal ==0.1.7,
+ pandoc-plot ==1.4.1,
+ pandoc-throw ==0.1.0.0,
+ pandoc-types ==1.22.2.1,
+ pantry ==0.5.6,
+ parallel ==3.2.2.0,
+ parallel-io ==0.3.5,
+ parameterized ==0.5.0.0,
+ parseargs ==0.2.0.9,
+ parsec installed,
+ parsec-class ==1.0.0.0,
+ parsec-numbers ==0.1.0,
+ parsec-numeric ==0.1.0.0,
+ ParsecTools ==0.0.2.0,
+ parser-combinators ==1.3.0,
+ parser-combinators-tests ==1.3.0,
+ parsers ==0.12.11,
+ partial-handler ==1.0.3,
+ partial-isomorphisms ==0.2.3.0,
+ partial-order ==0.2.0.0,
+ partial-semigroup ==0.5.1.14,
+ password ==3.0.1.0,
+ password-instances ==3.0.0.0,
+ password-types ==1.0.0.0,
+ path ==0.9.2,
+ path-binary-instance ==0.1.0.1,
+ path-dhall-instance ==0.2.1.0,
+ path-extensions ==0.1.1.0,
+ path-extra ==0.2.0,
+ path-formatting ==0.1.0.0,
+ path-io ==1.7.0,
+ path-like ==0.2.0.2,
+ path-pieces ==0.2.1,
+ pathtype ==0.8.1.1,
+ path-utils ==0.1.1.0,
+ pathwalk ==0.3.1.2,
+ pattern-arrows ==0.0.2,
+ pava ==0.1.1.4,
+ pcg-random ==0.1.3.7,
+ pcre2 ==2.1.1.1,
+ pcre-heavy ==1.0.0.2,
+ pcre-light ==0.4.1.0,
+ pcre-utils ==0.1.8.2,
+ pdc ==0.1.1,
+ pdfinfo ==1.5.4,
+ pdf-toolbox-content ==0.1.1,
+ pdf-toolbox-core ==0.1.1,
+ pdf-toolbox-document ==0.1.2,
+ peano ==0.1.0.1,
+ pem ==0.2.4,
+ percent-format ==0.0.2,
+ peregrin ==0.3.3,
+ perf ==0.9.0,
+ perfect-hash-generator ==0.2.0.6,
+ persist ==0.1.1.5,
+ persistent ==2.13.3.5,
+ persistent-discover ==0.1.0.5,
+ persistent-documentation ==0.1.0.4,
+ persistent-mongoDB ==2.13.0.1,
+ persistent-mtl ==0.4.0.0,
+ persistent-mysql ==2.13.1.3,
+ persistent-pagination ==0.1.1.2,
+ persistent-postgresql ==2.13.5.0,
+ persistent-qq ==2.12.0.2,
+ persistent-redis ==2.13.0.1,
+ persistent-refs ==0.4,
+ persistent-sqlite ==2.13.1.0,
+ persistent-template ==2.12.0.0,
+ persistent-test ==2.13.1.2,
+ pg-harness-client ==0.6.0,
+ pgp-wordlist ==0.1.0.3,
+ pg-transact ==0.3.2.0,
+ phantom-state ==0.2.1.2,
+ phatsort ==0.5.0.1,
+ picosat ==0.1.6,
+ pid1 ==0.1.3.0,
+ pinch ==0.4.1.2,
+ pipes ==4.3.16,
+ pipes-attoparsec ==0.5.1.5,
+ pipes-bytestring ==2.1.7,
+ pipes-concurrency ==2.0.14,
+ pipes-csv ==1.4.3,
+ pipes-extras ==1.0.15,
+ pipes-fastx ==0.3.0.0,
+ pipes-fluid ==0.6.0.1,
+ pipes-group ==1.0.12,
+ pipes-http ==1.0.6,
+ pipes-mongodb ==0.1.0.0,
+ pipes-ordered-zip ==1.2.1,
+ pipes-parse ==3.0.9,
+ pipes-random ==1.0.0.5,
+ pipes-safe ==2.3.4,
+ pipes-wai ==3.2.0,
+ pkgtreediff ==0.5.0,
+ place-cursor-at ==1.0.1,
+ placeholders ==0.1,
+ plaid ==0.1.0.4,
+ plotlyhs ==0.2.1,
+ pointed ==5.0.4,
+ pointedlist ==0.6.1,
+ pointless-fun ==1.1.0.8,
+ poll ==0.0.0.2,
+ poly ==0.5.0.0,
+ poly-arity ==0.1.0,
+ polynomials-bernstein ==1.1.2,
+ polyparse ==1.13,
+ polysemy ==1.6.0.0,
+ polysemy-extra ==0.2.0.0,
+ polysemy-fs ==0.1.0.0,
+ polysemy-fskvstore ==0.1.1.0,
+ polysemy-kvstore ==0.1.3.0,
+ polysemy-methodology ==0.2.1.0,
+ polysemy-path ==0.2.1.0,
+ polysemy-plugin ==0.4.1.1,
+ polysemy-several ==0.1.0.0,
+ polysemy-socket ==0.0.2.0,
+ polysemy-uncontrolled ==0.1.1.0,
+ polysemy-video ==0.2.0.1,
+ polysemy-vinyl ==0.1.5.0,
+ polysemy-webserver ==0.2.1.1,
+ pooled-io ==0.0.2.2,
+ port-utils ==0.2.1.0,
+ posix-paths ==0.3.0.0,
+ possibly ==1.0.0.0,
+ postgres-options ==0.2.0.0,
+ postgresql-binary ==0.12.4.4,
+ postgresql-libpq ==0.9.4.3,
+ postgresql-libpq-notify ==0.2.0.0,
+ postgresql-migration ==0.2.1.3,
+ postgresql-orm ==0.5.1,
+ postgresql-query ==3.9.0,
+ postgresql-schema ==0.1.14,
+ postgresql-simple ==0.6.4,
+ postgresql-simple-url ==0.2.1.0,
+ postgresql-syntax ==0.4.1,
+ postgresql-typed ==0.6.2.1,
+ post-mess-age ==0.2.1.0,
+ pptable ==0.3.0.0,
+ pqueue ==1.4.2.0,
+ prefix-units ==0.2.0,
+ prelude-compat ==0.0.0.2,
+ prelude-safeenum ==0.1.1.3,
+ pretty installed,
+ prettyclass ==1.0.0.0,
+ pretty-class ==1.0.1.1,
+ pretty-diff ==0.4.0.3,
+ pretty-hex ==1.1,
+ prettyprinter ==1.7.1,
+ prettyprinter-ansi-terminal ==1.1.3,
+ prettyprinter-compat-annotated-wl-pprint ==1.1,
+ prettyprinter-compat-ansi-wl-pprint ==1.0.2,
+ prettyprinter-compat-wl-pprint ==1.0.1,
+ prettyprinter-convert-ansi-wl-pprint ==1.1.2,
+ pretty-relative-time ==0.3.0.0,
+ pretty-show ==1.10,
+ pretty-simple ==4.0.0.0,
+ pretty-sop ==0.2.0.3,
+ pretty-terminal ==0.1.0.0,
+ pretty-types ==0.4.0.0,
+ primes ==0.2.1.0,
+ primitive ==0.7.3.0,
+ primitive-addr ==0.1.0.2,
+ PrimitiveArray ==0.10.1.1,
+ primitive-extras ==0.10.1.5,
+ primitive-offset ==0.2.0.0,
+ primitive-unaligned ==0.1.1.1,
+ primitive-unlifted ==0.1.3.1,
+ prim-uniq ==0.2,
+ print-console-colors ==0.1.0.0,
+ probability ==0.2.7,
+ process installed,
+ process-extras ==0.7.4,
+ product-profunctors ==0.11.0.3,
+ profiterole ==0.1,
+ profunctors ==5.6.2,
+ projectroot ==0.2.0.1,
+ project-template ==0.2.1.0,
+ prometheus ==2.2.3,
+ prometheus-client ==1.1.0,
+ prometheus-metrics-ghc ==1.0.1.2,
+ prometheus-wai-middleware ==1.0.1.0,
+ promises ==0.3,
+ prompt ==0.1.1.2,
+ prospect ==0.1.0.0,
+ protobuf ==0.2.1.3,
+ protobuf-simple ==0.1.1.1,
+ protocol-buffers ==2.4.17,
+ protocol-buffers-descriptor ==2.4.17,
+ protocol-radius ==0.0.1.1,
+ protocol-radius-test ==0.1.0.1,
+ proto-lens ==0.7.1.1,
+ proto-lens-arbitrary ==0.1.2.11,
+ proto-lens-optparse ==0.1.1.9,
+ proto-lens-protobuf-types ==0.7.1.2,
+ proto-lens-protoc ==0.7.1.1,
+ proto-lens-runtime ==0.7.0.2,
+ proto-lens-setup ==0.4.0.6,
+ protolude ==0.3.2,
+ proxied ==0.3.1,
+ psql-helpers ==0.1.0.0,
+ psqueues ==0.2.7.3,
+ pthread ==0.2.1,
+ ptr-poker ==0.1.2.8,
+ pulse-simple ==0.1.14,
+ pureMD5 ==2.1.4,
+ purescript-bridge ==0.14.0.0,
+ pusher-http-haskell ==2.1.0.11,
+ pvar ==1.0.0.0,
+ PyF ==0.10.2.0,
+ qchas ==1.1.0.1,
+ qm-interpolated-string ==0.3.1.0,
+ qrcode-core ==0.9.5,
+ qrcode-juicypixels ==0.8.3,
+ quadratic-irrational ==0.1.1,
+ QuasiText ==0.1.2.6,
+ queue-sheet ==0.7.0.2,
+ quickbench ==1.0.1,
+ QuickCheck ==2.14.2,
+ quickcheck-arbitrary-adt ==0.3.1.0,
+ quickcheck-assertions ==0.3.0,
+ quickcheck-classes ==0.6.5.0,
+ quickcheck-classes-base ==0.6.2.0,
+ quickcheck-higherorder ==0.1.0.1,
+ quickcheck-instances ==0.3.28,
+ quickcheck-io ==0.2.0,
+ quickcheck-simple ==0.1.1.1,
+ quickcheck-special ==0.1.0.6,
+ quickcheck-text ==0.1.2.1,
+ quickcheck-transformer ==0.3.1.1,
+ quickcheck-unicode ==1.0.1.0,
+ quicklz ==1.5.0.11,
+ quiet ==0.2,
+ quote-quot ==0.2.1.0,
+ radius ==0.7.1.0,
+ rainbow ==0.34.2.2,
+ rainbox ==0.26.0.0,
+ ral ==0.2.1,
+ rampart ==2.0.0.2,
+ ramus ==0.1.2,
+ rando ==0.0.0.4,
+ random ==1.2.1.1,
+ random-bytestring ==0.1.4,
+ random-fu ==0.3.0.0,
+ random-shuffle ==0.0.4,
+ random-source ==0.3.0.11,
+ random-tree ==0.6.0.5,
+ range ==0.3.0.2,
+ Ranged-sets ==0.4.0,
+ range-set-list ==0.1.3.1,
+ rank1dynamic ==0.4.1,
+ rank2classes ==1.4.4,
+ Rasterific ==0.7.5.4,
+ rasterific-svg ==0.3.3.2,
+ ratel ==2.0.0.3,
+ rate-limit ==1.4.2,
+ ratel-wai ==2.0.0.0,
+ rattle ==0.2,
+ rattletrap ==11.2.4,
+ Rattus ==0.5.0.1,
+ rawfilepath ==1.0.1,
+ rawstring-qm ==0.2.3.0,
+ raw-strings-qq ==1.1,
+ rcu ==0.2.6,
+ rdtsc ==1.3.0.1,
+ re2 ==0.3,
+ readable ==0.3.1,
+ read-editor ==0.1.0.2,
+ read-env-var ==1.0.0.0,
+ reanimate-svg ==0.13.0.1,
+ rebase ==1.15.0.3,
+ record-dot-preprocessor ==0.2.15,
+ record-hasfield ==1.0,
+ records-sop ==0.1.1.0,
+ record-wrangler ==0.1.1.0,
+ rec-smallarray ==0.1.0.0,
+ recursion-schemes ==5.2.2.2,
+ redact ==0.4.0.0,
+ reddit-scrape ==0.0.1,
+ redis-io ==1.1.0,
+ redis-resp ==1.0.0,
+ reducers ==3.12.4,
+ refact ==0.3.0.2,
+ ref-fd ==0.5,
+ refined ==0.6.3,
+ reflection ==2.1.6,
+ reform ==0.2.7.5,
+ reform-blaze ==0.2.4.4,
+ reform-hamlet ==0.0.5.3,
+ reform-happstack ==0.2.5.5,
+ RefSerialize ==0.4.0,
+ ref-tf ==0.5.0.1,
+ regex ==1.1.0.2,
+ regex-applicative ==0.3.4,
+ regex-applicative-text ==0.1.0.1,
+ regex-base ==0.94.0.2,
+ regex-compat ==0.95.2.1,
+ regex-pcre ==0.95.0.0,
+ regex-pcre-builtin ==0.95.2.3.8.44,
+ regex-posix ==0.96.0.1,
+ regex-posix-clib ==2.7,
+ regex-tdfa ==1.3.2,
+ regex-with-pcre ==1.1.0.2,
+ reinterpret-cast ==0.1.0,
+ rel8 ==1.3.1.0,
+ reliable-io ==0.0.2,
+ relude ==1.0.0.1,
+ renderable ==0.2.0.1,
+ reorder-expression ==0.1.0.0,
+ repa ==3.4.1.5,
+ repa-io ==3.4.1.2,
+ replace-attoparsec ==1.4.5.0,
+ replace-megaparsec ==1.4.5.0,
+ repline ==0.4.2.0,
+ req ==3.10.0,
+ req-conduit ==1.0.1,
+ require ==0.4.11,
+ rerebase ==1.15.0.3,
+ reroute ==0.6.0.0,
+ rescue ==0.4.2.1,
+ resistor-cube ==0.0.1.4,
+ resolv ==0.1.2.0,
+ resource-pool ==0.2.3.2,
+ resourcet ==1.2.6,
+ result ==0.2.6.0,
+ retry ==0.9.3.0,
+ rev-state ==0.1.2,
+ rfc1751 ==0.1.3,
+ rfc5051 ==0.2,
+ rg ==1.4.0.0,
+ rhbzquery ==0.4.4,
+ riak-protobuf ==0.25.0.0,
+ rio ==0.1.22.0,
+ rio-orphans ==0.1.2.0,
+ rio-prettyprint ==0.1.1.0,
+ rng-utils ==0.3.1,
+ roc-id ==0.1.0.0,
+ rocksdb-haskell ==1.0.1,
+ rocksdb-haskell-jprupp ==2.1.4,
+ rocksdb-query ==0.4.2,
+ roles ==0.2.1.0,
+ rollbar ==1.1.3,
+ rope-utf16-splay ==0.3.2.0,
+ rosezipper ==0.2,
+ rot13 ==0.2.0.1,
+ rpmbuild-order ==0.4.8,
+ rpm-nvr ==0.1.2,
+ rp-tree ==0.7.1,
+ RSA ==2.4.1,
+ rss-conduit ==0.6.0.1,
+ runmemo ==1.0.0.1,
+ rvar ==0.3.0.1,
+ s3-signer ==0.5.0.0,
+ safe ==0.3.19,
+ safe-coloured-text ==0.1.0.0,
+ safe-coloured-text-terminfo ==0.0.0.0,
+ safecopy ==0.10.4.2,
+ safe-decimal ==0.2.1.0,
+ safe-exceptions ==0.1.7.3,
+ safe-exceptions-checked ==0.1.0,
+ safe-foldable ==0.1.0.0,
+ safeio ==0.0.5.0,
+ safe-json ==1.1.3.1,
+ safe-money ==0.9.1,
+ SafeSemaphore ==0.10.1,
+ salak ==0.3.6,
+ salak-yaml ==0.3.5.3,
+ saltine ==0.1.1.1,
+ salve ==2.0.0.0,
+ sample-frame ==0.0.3,
+ sample-frame-np ==0.0.4.1,
+ sampling ==0.3.5,
+ sandwich ==0.1.0.10,
+ sandwich-quickcheck ==0.1.0.6,
+ sandwich-slack ==0.1.0.6,
+ say ==0.1.0.1,
+ sbp ==4.1.6,
+ sbv ==8.17,
+ scalpel ==0.6.2,
+ scalpel-core ==0.6.2,
+ scanf ==0.1.0.0,
+ scanner ==0.3.1,
+ scheduler ==2.0.0.1,
+ SciBaseTypes ==0.1.1.0,
+ scientific ==0.3.7.0,
+ scotty ==0.12,
+ scrypt ==0.5.0,
+ sdl2 ==2.5.3.0,
+ sdl2-ttf ==2.1.3,
+ search-algorithms ==0.3.2,
+ secp256k1-haskell ==0.6.1,
+ securemem ==0.1.10,
+ selda ==0.5.1.0,
+ selda-sqlite ==0.1.7.1,
+ selections ==0.3.0.0,
+ selective ==0.5,
+ semialign ==1.2.0.1,
+ semialign-indexed ==1.2,
+ semialign-optics ==1.2,
+ semigroupoid-extras ==5,
+ semigroupoids ==5.3.7,
+ semigroups ==0.19.2,
+ semirings ==0.6,
+ semiring-simple ==1.0.0.1,
+ semver ==0.4.0.1,
+ sendfile ==0.7.11.4,
+ seqalign ==0.2.0.4,
+ seqid ==0.6.2,
+ seqid-streams ==0.7.2,
+ sequence-formats ==1.6.6.1,
+ sequenceTools ==1.5.2,
+ serf ==0.1.1.0,
+ serialise ==0.2.5.0,
+ servant ==0.19,
+ servant-auth ==0.4.1.0,
+ servant-auth-client ==0.4.1.0,
+ servant-auth-docs ==0.2.10.0,
+ servant-auth-server ==0.4.7.0,
+ servant-auth-swagger ==0.2.10.1,
+ servant-auth-wordpress ==1.0.0.2,
+ servant-blaze ==0.9.1,
+ servant-checked-exceptions ==2.2.0.1,
+ servant-checked-exceptions-core ==2.2.0.1,
+ servant-client ==0.19,
+ servant-client-core ==0.19,
+ servant-conduit ==0.15.1,
+ servant-docs ==0.12,
+ servant-elm ==0.7.2,
+ servant-exceptions ==0.2.1,
+ servant-exceptions-server ==0.2.1,
+ servant-foreign ==0.15.4,
+ servant-JuicyPixels ==0.3.1.0,
+ servant-lucid ==0.9.0.5,
+ servant-machines ==0.15.1,
+ servant-multipart ==0.12.1,
+ servant-multipart-api ==0.12.1,
+ servant-multipart-client ==0.12.1,
+ servant-openapi3 ==2.0.1.5,
+ servant-pipes ==0.15.3,
+ servant-rawm ==1.0.0.0,
+ servant-ruby ==0.9.0.0,
+ servant-server ==0.19.1,
+ servant-static-th ==1.0.0.0,
+ servant-subscriber ==0.7.0.0,
+ servant-swagger ==1.1.11,
+ servant-swagger-ui ==0.3.5.4.5.0,
+ servant-swagger-ui-core ==0.3.5,
+ servant-swagger-ui-redoc ==0.3.4.1.22.3,
+ servant-websockets ==2.0.0,
+ servant-xml ==1.0.1.4,
+ serversession ==1.0.3,
+ serversession-frontend-wai ==1.0.1,
+ servius ==1.2.3.0,
+ ses-html ==0.4.0.0,
+ set-cover ==0.1.1,
+ setenv ==0.1.1.3,
+ setlocale ==1.0.0.10,
+ set-monad ==0.3.0.0,
+ sets ==0.0.6.2,
+ sexp-grammar ==2.3.3.1,
+ sexpr-parser ==0.2.2.0,
+ SHA ==1.6.4.4,
+ shake ==0.19.6,
+ shake-language-c ==0.12.0,
+ shake-plus ==0.3.4.0,
+ shakespeare ==2.0.30,
+ shared-memory ==0.2.0.0,
+ ShellCheck ==0.8.0,
+ shell-conduit ==5.0.0,
+ shell-escape ==0.2.0,
+ shellmet ==0.0.4.1,
+ shelltestrunner ==1.9,
+ shell-utility ==0.1,
+ shelly ==1.10.0,
+ shikensu ==0.4.1,
+ should-not-typecheck ==2.1.0,
+ show-combinators ==0.2.0.0,
+ siggy-chardust ==1.0.0,
+ signal ==0.1.0.4,
+ silently ==1.2.5.2,
+ simple-affine-space ==0.1.1,
+ simple-cabal ==0.1.3,
+ simple-cmd ==0.2.7,
+ simple-cmd-args ==0.1.8,
+ simple-log ==0.9.12,
+ simple-media-timestamp ==0.2.0.0,
+ simple-media-timestamp-attoparsec ==0.1.0.0,
+ simple-media-timestamp-formatting ==0.1.1.0,
+ simple-reflect ==0.3.3,
+ simple-sendfile ==0.2.30,
+ simple-vec3 ==0.6.0.1,
+ since ==0.0.0,
+ singleton-bool ==0.1.6,
+ singleton-nats ==0.4.6,
+ singletons ==3.0.1,
+ singletons-base ==3.0,
+ singletons-presburger ==0.6.1.0,
+ singletons-th ==3.0,
+ siphash ==1.0.3,
+ Sit ==0.2022.3.18,
+ sitemap-gen ==0.1.0.0,
+ sized ==1.0.0.1,
+ skein ==1.0.9.4,
+ skews ==0.1.0.3,
+ skip-var ==0.1.1.0,
+ skylighting ==0.12.3.1,
+ skylighting-core ==0.12.3.1,
+ slack-progressbar ==0.1.0.1,
+ slave-thread ==1.1.0.1,
+ slist ==0.2.0.0,
+ slynx ==0.6.1.1,
+ smallcheck ==1.2.1,
+ smash ==0.1.3,
+ smash-microlens ==0.1.0.2,
+ smtp-mail ==0.3.0.0,
+ snap-blaze ==0.2.1.5,
+ snap-core ==1.0.5.0,
+ snappy ==0.2.0.2,
+ snowflake ==0.1.1.1,
+ soap ==0.2.3.6,
+ soap-openssl ==0.1.0.2,
+ soap-tls ==0.1.1.4,
+ socket ==0.8.3.0,
+ socks ==0.6.1,
+ solana-staking-csvs ==0.1.2.0,
+ some ==1.0.3,
+ some-dict-of ==0.1.0.2,
+ sop-core ==0.5.0.2,
+ sort ==1.0.0.0,
+ sorted-list ==0.2.1.0,
+ sound-collage ==0.2.1,
+ sourcemap ==0.1.7,
+ sox ==0.2.3.1,
+ soxlib ==0.0.3.1,
+ spacecookie ==1.0.0.1,
+ sparse-linear-algebra ==0.3.1,
+ spatial-math ==0.5.0.1,
+ special-values ==0.1.0.0,
+ speculate ==0.4.14,
+ speedy-slice ==0.3.2,
+ Spintax ==0.3.6,
+ splice ==0.6.1.1,
+ splint ==1.0.2.0,
+ split ==0.2.3.5,
+ splitmix ==0.1.0.4,
+ splitmix-distributions ==0.9.0.0,
+ split-record ==0.1.1.4,
+ Spock-api ==0.14.0.0,
+ spoon ==0.3.1,
+ spreadsheet ==0.1.3.8,
+ sqlcli ==0.2.2.0,
+ sqlcli-odbc ==0.2.0.1,
+ sqlite-simple ==0.4.18.2,
+ sql-words ==0.1.6.4,
+ squeather ==0.8.0.0,
+ srcloc ==0.6.0.1,
+ srt ==0.1.1.0,
+ srt-attoparsec ==0.1.0.0,
+ srt-dhall ==0.1.0.0,
+ srt-formatting ==0.1.0.0,
+ stache ==2.3.3,
+ stack-all ==0.4.0.1,
+ stack-clean-old ==0.4.6,
+ stackcollapse-ghc ==0.0.1.4,
+ stack-templatizer ==0.1.0.2,
+ state-codes ==0.1.3,
+ stateref ==0.3,
+ StateVar ==1.2.2,
+ stateWriter ==0.3.0,
+ static-text ==0.2.0.7,
+ statistics ==0.16.1.0,
+ status-notifier-item ==0.3.1.0,
+ stb-image-redux ==0.2.1.2,
+ step-function ==0.2,
+ stitch ==0.6.0.0,
+ stm installed,
+ stm-chans ==3.0.0.6,
+ stm-conduit ==4.0.1,
+ stm-containers ==1.2,
+ stm-delay ==0.1.1.1,
+ stm-extras ==0.1.0.3,
+ stm-hamt ==1.2.0.8,
+ stm-lifted ==2.5.0.0,
+ STMonadTrans ==0.4.6,
+ stm-split ==0.0.2.1,
+ stm-supply ==0.2.0.0,
+ stopwatch ==0.1.0.6,
+ storable-complex ==0.2.3.0,
+ storable-endian ==0.2.6.1,
+ storable-record ==0.0.6,
+ storable-tuple ==0.0.3.3,
+ storablevector ==0.2.13.1,
+ store ==0.7.16,
+ store-core ==0.4.4.4,
+ store-streaming ==0.2.0.3,
+ Stream ==0.4.7.2,
+ streaming ==0.2.3.1,
+ streaming-attoparsec ==1.0.0.1,
+ streaming-bytestring ==0.2.3,
+ streaming-cassava ==0.2.0.0,
+ streaming-commons ==0.2.2.4,
+ streamly ==0.8.1.1,
+ streamly-bytestring ==0.1.4,
+ streams ==3.3,
+ streamt ==0.5.0.1,
+ strict ==0.4.0.1,
+ strict-concurrency ==0.2.4.3,
+ strict-list ==0.1.7,
+ strict-tuple ==0.1.5.1,
+ strict-tuple-lens ==0.2,
+ strict-wrapper ==0.0.0.0,
+ stringbuilder ==0.5.1,
+ string-class ==0.1.7.0,
+ string-combinators ==0.6.0.5,
+ string-conv ==0.2.0,
+ string-conversions ==0.4.0.1,
+ string-interpolate ==0.3.1.2,
+ string-qq ==0.0.4,
+ string-random ==0.1.4.2,
+ stringsearch ==0.3.6.6,
+ string-transform ==1.1.1,
+ stripe-concepts ==1.0.3.1,
+ stripe-scotty ==1.1.0.2,
+ stripe-signature ==1.0.0.14,
+ stripe-wreq ==1.0.1.14,
+ strive ==6.0.0.3,
+ strong-path ==1.1.4.0,
+ structs ==0.1.6,
+ structured ==0.1.1,
+ structured-cli ==2.7.0.1,
+ subcategories ==0.2.0.0,
+ sum-type-boilerplate ==0.1.1,
+ sundown ==0.6,
+ superbuffer ==0.3.1.2,
+ svg-builder ==0.1.1,
+ SVGFonts ==1.8.0.1,
+ svg-tree ==0.6.2.4,
+ swagger2 ==2.8.4,
+ swish ==0.10.2.0,
+ syb ==0.7.2.1,
+ sydtest-discover ==0.0.0.1,
+ symbol ==0.2.4,
+ symengine ==0.1.2.0,
+ symmetry-operations-symbols ==0.0.2.1,
+ synthesizer-alsa ==0.5.0.6,
+ synthesizer-core ==0.8.2.1,
+ synthesizer-dimensional ==0.8.1,
+ synthesizer-midi ==0.6.1.1,
+ sysinfo ==0.1.1,
+ system-argv0 ==0.1.1,
+ systemd ==2.3.0,
+ system-fileio ==0.3.16.4,
+ system-filepath ==0.4.14,
+ system-info ==0.5.2,
+ tabular ==0.2.2.8,
+ tagchup ==0.4.1.1,
+ tagged ==0.8.6.1,
+ tagged-binary ==0.2.0.1,
+ tagged-identity ==0.1.3,
+ tagged-transformer ==0.8.2,
+ tagshare ==0.0,
+ tagsoup ==0.14.8,
+ tagstream-conduit ==0.5.6,
+ tao ==1.0.0,
+ tao-example ==1.0.0,
+ tar ==0.5.1.1,
+ tar-conduit ==0.3.2,
+ tardis ==0.4.4.0,
+ tasty ==1.4.2.3,
+ tasty-ant-xml ==1.1.8,
+ tasty-bench ==0.3.2,
+ tasty-dejafu ==2.0.0.8,
+ tasty-discover ==4.2.4,
+ tasty-expected-failure ==0.12.3,
+ tasty-fail-fast ==0.0.3,
+ tasty-focus ==1.0.1,
+ tasty-golden ==2.3.5,
+ tasty-hedgehog ==1.1.0.0,
+ tasty-hslua ==1.0.2,
+ tasty-hspec ==1.2.0.1,
+ tasty-html ==0.4.1.4,
+ tasty-hunit ==0.10.0.3,
+ tasty-hunit-compat ==0.2.0.1,
+ tasty-inspection-testing ==0.1.0.1,
+ tasty-kat ==0.0.3,
+ tasty-leancheck ==0.0.2,
+ tasty-lua ==1.0.2,
+ tasty-program ==1.0.5,
+ tasty-quickcheck ==0.10.2,
+ tasty-rerun ==1.1.18,
+ tasty-silver ==3.3.1.1,
+ tasty-smallcheck ==0.8.2,
+ tasty-tap ==0.1.0,
+ tasty-test-reporter ==0.1.1.4,
+ tasty-th ==0.1.7,
+ tasty-wai ==0.1.2.0,
+ TCache ==0.12.1,
+ tce-conf ==1.3,
+ tcp-streams ==1.0.1.1,
+ tdigest ==0.2.1.1,
+ teardown ==0.5.0.1,
+ telegram-bot-simple ==0.4.5,
+ template-haskell installed,
+ template-haskell-compat-v0208 ==0.1.9,
+ temporary ==1.3,
+ temporary-rc ==1.2.0.3,
+ temporary-resourcet ==0.1.0.1,
+ tensorflow-test ==0.1.0.0,
+ tensors ==0.1.5,
+ termbox ==0.3.0,
+ terminal-progress-bar ==0.4.1,
+ terminal-size ==0.3.3,
+ terminfo installed,
+ termonad ==4.2.0.1,
+ test-framework ==0.8.2.0,
+ test-framework-hunit ==0.3.0.2,
+ test-framework-leancheck ==0.0.4,
+ test-framework-quickcheck2 ==0.3.0.5,
+ test-framework-smallcheck ==0.2,
+ test-fun ==0.1.0.0,
+ testing-type-modifiers ==0.1.0.1,
+ texmath ==0.12.4,
+ text installed,
+ text-ansi ==0.1.1,
+ text-binary ==0.2.1.1,
+ text-builder ==0.6.6.5,
+ text-builder-dev ==0.2.1,
+ text-conversions ==0.3.1.1,
+ text-icu ==0.7.1.0,
+ text-latin1 ==0.3.1,
+ text-ldap ==0.1.1.14,
+ textlocal ==0.1.0.5,
+ text-manipulate ==0.3.1.0,
+ text-metrics ==0.3.2,
+ text-postgresql ==0.0.3.1,
+ text-printer ==0.5.0.2,
+ text-regex-replace ==0.1.1.4,
+ text-rope ==0.1,
+ text-short ==0.1.5,
+ text-show ==3.9.7,
+ text-show-instances ==3.8.6,
+ text-zipper ==0.11,
+ tfp ==1.0.2,
+ tf-random ==0.5,
+ th-abstraction ==0.4.4.0,
+ th-bang-compat ==0.0.1.0,
+ th-compat ==0.1.4,
+ th-constraint-compat ==0.0.1.0,
+ th-desugar ==1.12,
+ th-env ==0.1.1,
+ these ==1.1.1.1,
+ these-lens ==1.0.1.2,
+ these-optics ==1.0.1.2,
+ these-skinny ==0.7.5,
+ th-expand-syns ==0.4.10.0,
+ th-extras ==0.0.0.6,
+ th-lego ==0.3.0.1,
+ th-lift ==0.8.2,
+ th-lift-instances ==0.1.19,
+ th-nowq ==0.1.0.5,
+ th-orphans ==0.13.13,
+ th-printf ==0.7,
+ thread-hierarchy ==0.3.0.2,
+ thread-local-storage ==0.2,
+ threads ==0.5.1.6,
+ thread-supervisor ==0.2.0.0,
+ th-reify-compat ==0.0.1.5,
+ th-reify-many ==0.1.10,
+ through-text ==0.1.0.0,
+ th-strict-compat ==0.1.0.1,
+ th-test-utils ==1.1.1,
+ th-utilities ==0.2.4.3,
+ tidal ==1.7.10,
+ tile ==0.3.0.0,
+ time installed,
+ time-compat ==1.9.6.1,
+ timeit ==2.0,
+ timelens ==0.2.0.2,
+ time-lens ==0.4.0.2,
+ time-locale-compat ==0.1.1.5,
+ time-locale-vietnamese ==1.0.0.0,
+ time-manager ==0.0.0,
+ time-parsers ==0.1.2.1,
+ timerep ==2.0.1.0,
+ timers-tick ==0.5.0.1,
+ timer-wheel ==0.3.0,
+ timespan ==0.4.0.0,
+ time-units ==1.0.0,
+ timezone-olson ==0.2.1,
+ timezone-olson-th ==0.1.0.11,
+ timezone-series ==0.1.13,
+ tinylog ==0.15.0,
+ titlecase ==1.0.1,
+ tldr ==0.9.2,
+ tls ==1.5.8,
+ tls-debug ==0.4.8,
+ tls-session-manager ==0.0.4,
+ tlynx ==0.6.1.1,
+ tmapchan ==0.0.3,
+ tmapmvar ==0.0.4,
+ tmp-postgres ==1.34.1.0,
+ tmp-proc ==0.5.1.2,
+ tophat ==1.0.5.1,
+ topograph ==1.0.0.1,
+ torsor ==0.1,
+ tostring ==0.2.1.1,
+ tracing ==0.0.7.3,
+ tracing-control ==0.0.7.3,
+ transaction ==0.1.1.3,
+ transformers installed,
+ transformers-base ==0.4.6,
+ transformers-bifunctors ==0.1,
+ transformers-compat ==0.6.6,
+ transformers-either ==0.1.2,
+ transformers-fix ==1.0,
+ transient ==0.7.0.0,
+ traverse-with-class ==1.0.1.1,
+ tree-diff ==0.2.1.1,
+ tree-fun ==0.8.1.0,
+ tree-view ==0.5.1,
+ trifecta ==2.1.2,
+ trimdent ==0.1.0.0,
+ triplesec ==0.2.2.1,
+ trivial-constraint ==0.7.0.0,
+ tsv2csv ==0.1.0.2,
+ ttc ==1.1.1.1,
+ ttl-hashtables ==1.4.1.0,
+ ttrie ==0.1.2.2,
+ tuple ==0.3.0.2,
+ tuples ==0.1.0.0,
+ tuples-homogenous-h98 ==0.1.1.0,
+ tuple-sop ==0.3.1.0,
+ tuple-th ==0.2.5,
+ turtle ==1.5.25,
+ twitter-conduit ==0.6.1,
+ twitter-types ==0.11.0,
+ twitter-types-lens ==0.11.0,
+ TypeCompose ==0.9.14,
+ typed-process ==0.2.10.1,
+ type-equality ==1,
+ type-errors ==0.2.0.0,
+ type-errors-pretty ==0.0.1.2,
+ type-fun ==0.1.3,
+ type-hint ==0.1,
+ type-level-integers ==0.0.1,
+ type-level-kv-list ==1.1.0,
+ type-level-natural-number ==2.0,
+ type-level-numbers ==0.1.1.2,
+ typelits-witnesses ==0.4.0.0,
+ type-map ==0.1.7.0,
+ type-natural ==1.1.0.1,
+ typenums ==0.1.4,
+ type-of-html ==1.6.2.0,
+ type-of-html-static ==0.1.0.2,
+ type-operators ==0.2.0.0,
+ type-spec ==0.4.0.0,
+ typography-geometry ==1.0.1.0,
+ tz ==0.1.3.6,
+ tzdata ==0.2.20220815.0,
+ ua-parser ==0.7.7.0,
+ uglymemo ==0.1.0.1,
+ unagi-chan ==0.4.1.4,
+ unbounded-delays ==0.1.1.1,
+ unbound-generics ==0.4.2,
+ unboxed-ref ==0.4.0.0,
+ unboxing-vector ==0.2.0.0,
+ uncaught-exception ==0.1.0,
+ unconstrained ==0.1.0.2,
+ unexceptionalio ==0.5.1,
+ unexceptionalio-trans ==0.5.1,
+ unicode ==0.0.1.1,
+ unicode-collation ==0.1.3.2,
+ unicode-data ==0.3.0,
+ unicode-show ==0.1.1.1,
+ unicode-transforms ==0.4.0.1,
+ unidecode ==0.1.0.4,
+ unification-fd ==0.11.2,
+ union ==0.1.2,
+ union-angle ==0.1.0.1,
+ union-find ==0.2,
+ unipatterns ==0.0.0.0,
+ uniplate ==1.6.13,
+ uniq-deep ==1.2.1,
+ unique ==0.0.1,
+ unique-logic ==0.4,
+ unique-logic-tf ==0.5.1,
+ unit-constraint ==0.0.0,
+ units-parser ==0.1.1.4,
+ universe ==1.2.2,
+ universe-base ==1.1.3,
+ universe-dependent-sum ==1.3,
+ universe-instances-extended ==1.1.3,
+ universe-reverse-instances ==1.1.1,
+ universe-some ==1.2.1,
+ universum ==1.7.3,
+ unix installed,
+ unix-bytestring ==0.3.7.7,
+ unix-compat ==0.5.4,
+ unix-time ==0.4.7,
+ unliftio ==0.2.22.0,
+ unliftio-core ==0.2.0.1,
+ unliftio-path ==0.0.2.0,
+ unliftio-pool ==0.2.2.0,
+ unliftio-streams ==0.1.1.1,
+ unlit ==0.4.0.0,
+ unordered-containers ==0.2.17.0,
+ unsafe ==0.0,
+ urbit-hob ==0.3.3,
+ uri-bytestring ==0.3.3.1,
+ uri-bytestring-aeson ==0.1.0.8,
+ uri-encode ==1.5.0.7,
+ url ==2.1.3,
+ users ==0.5.0.0,
+ users-postgresql-simple ==0.5.0.2,
+ users-test ==0.5.0.1,
+ utf8-light ==0.4.2,
+ utf8-string ==1.0.2,
+ utility-ht ==0.0.16,
+ uuid ==1.3.15,
+ uuid-types ==1.0.5,
+ valida ==1.1.0,
+ valida-base ==0.2.0,
+ validate-input ==0.5.0.0,
+ validation ==1.1.2,
+ validity ==0.12.0.1,
+ validity-bytestring ==0.4.1.1,
+ validity-containers ==0.5.0.4,
+ validity-path ==0.4.0.1,
+ validity-persistent ==0.0.0.0,
+ validity-primitive ==0.0.0.1,
+ validity-scientific ==0.2.0.3,
+ validity-text ==0.3.1.3,
+ validity-time ==0.5.0.0,
+ validity-unordered-containers ==0.2.0.3,
+ validity-uuid ==0.1.0.3,
+ validity-vector ==0.2.0.3,
+ valor ==1.0.0.0,
+ variable-media-field ==0.1.0.0,
+ variable-media-field-dhall ==0.1.0.0,
+ variable-media-field-optics ==0.1.0.0,
+ varying ==0.8.1.0,
+ vault ==0.3.1.5,
+ vcs-ignore ==0.0.2.0,
+ vec ==0.4.1,
+ vector ==0.12.3.1,
+ vector-algorithms ==0.8.0.4,
+ vector-binary-instances ==0.2.5.2,
+ vector-buffer ==0.4.1,
+ vector-builder ==0.3.8.4,
+ vector-bytes-instances ==0.1.1,
+ vector-circular ==0.1.4,
+ vector-instances ==3.4,
+ vector-mmap ==0.0.3,
+ vector-rotcev ==0.1.0.1,
+ vector-sized ==1.5.0,
+ vector-space ==0.16,
+ vector-split ==1.0.0.2,
+ vector-th-unbox ==0.2.2,
+ vectortiles ==1.5.1,
+ verbosity ==0.4.0.0,
+ versions ==5.0.3,
+ vformat ==0.14.1.0,
+ vformat-time ==0.1.0.0,
+ ViennaRNAParser ==1.3.3,
+ vinyl ==0.13.3,
+ vinyl-loeb ==0.0.1.0,
+ vivid ==0.5.2.0,
+ vivid-osc ==0.5.0.0,
+ vivid-supercollider ==0.4.1.2,
+ void ==0.7.3,
+ vty ==5.33,
+ wai ==3.2.3,
+ wai-app-static ==3.1.7.4,
+ wai-cli ==0.2.3,
+ wai-conduit ==3.0.0.4,
+ wai-cors ==0.2.7,
+ wai-enforce-https ==1.0.0.0,
+ wai-eventsource ==3.0.0,
+ wai-extra ==3.1.12.1,
+ wai-feature-flags ==0.1.0.4,
+ wai-handler-launch ==3.0.3.1,
+ wai-logger ==2.4.0,
+ wai-middleware-caching ==0.1.0.2,
+ wai-middleware-caching-lru ==0.1.0.0,
+ wai-middleware-caching-redis ==0.2.0.0,
+ wai-middleware-clacks ==0.1.0.1,
+ wai-middleware-delegate ==0.1.3.1,
+ wai-middleware-prometheus ==1.0.0.1,
+ wai-middleware-static ==0.9.2,
+ wai-rate-limit ==0.2.0.0,
+ wai-rate-limit-redis ==0.2.0.1,
+ wai-saml2 ==0.2.1.3,
+ wai-session ==0.3.3,
+ wai-session-postgresql ==0.2.1.3,
+ wai-session-redis ==0.1.0.5,
+ wai-slack-middleware ==0.2.0,
+ wai-transformers ==0.1.0,
+ wai-websockets ==3.0.1.2,
+ wakame ==0.1.0.0,
+ warp ==3.3.21,
+ warp-tls ==3.3.2,
+ warp-tls-uid ==0.2.0.6,
+ wave ==0.2.0,
+ wcwidth ==0.0.2,
+ webex-teams-api ==0.2.0.1,
+ webex-teams-conduit ==0.2.0.1,
+ webgear-core ==1.0.3,
+ webgear-openapi ==1.0.3,
+ webgear-server ==1.0.3,
+ webpage ==0.0.5.1,
+ web-plugins ==0.4.1,
+ web-routes ==0.27.14.4,
+ web-routes-boomerang ==0.28.4.3,
+ web-routes-happstack ==0.23.12.2,
+ web-routes-hsp ==0.24.6.2,
+ web-routes-wai ==0.24.3.2,
+ webrtc-vad ==0.1.0.3,
+ websockets ==0.12.7.3,
+ websockets-simple ==0.2.0,
+ weigh ==0.0.16,
+ wide-word ==0.1.1.2,
+ wikicfp-scraper ==0.1.0.12,
+ wild-bind ==0.1.2.8,
+ wild-bind-x11 ==0.2.0.14,
+ Win32 ==2.12.0.1,
+ Win32-notify ==0.3.0.3,
+ windns ==0.1.0.1,
+ wire-streams ==0.1.1.0,
+ witch ==1.0.0.2,
+ withdependencies ==0.3.0,
+ witherable ==0.4.2,
+ within ==0.2.0.1,
+ with-location ==0.1.0,
+ with-utf8 ==1.0.2.3,
+ witness ==0.5,
+ wizards ==1.0.3,
+ wl-pprint ==1.2.1,
+ wl-pprint-annotated ==0.1.0.1,
+ wl-pprint-console ==0.1.0.2,
+ wl-pprint-text ==1.2.0.2,
+ word8 ==0.1.3,
+ wordpress-auth ==1.0.0.1,
+ word-trie ==0.3.0,
+ word-wrap ==0.5,
+ world-peace ==1.0.2.0,
+ wrap ==0.0.0,
+ wreq ==0.5.3.3,
+ wreq-stringless ==0.5.9.1,
+ writer-cps-exceptions ==0.1.0.1,
+ writer-cps-mtl ==0.1.1.6,
+ writer-cps-transformers ==0.5.6.1,
+ wss-client ==0.3.0.0,
+ wuss ==1.1.19,
+ X11 ==1.10.2,
+ X11-xft ==0.3.4,
+ x11-xim ==0.0.9.0,
+ x509 ==1.7.7,
+ x509-store ==1.6.9,
+ x509-system ==1.6.7,
+ x509-validation ==1.6.12,
+ Xauth ==0.1,
+ xdg-basedir ==0.2.2,
+ xdg-desktop-entry ==0.1.1.1,
+ xdg-userdirs ==0.1.0.2,
+ xeno ==0.5,
+ xhtml installed,
+ xlsx ==0.8.4,
+ xlsx-tabular ==0.2.2.1,
+ xml ==1.3.14,
+ xml-basic ==0.1.3.1,
+ xmlbf ==0.6.1,
+ xmlbf-xeno ==0.2,
+ xmlbf-xmlhtml ==0.2,
+ xml-conduit ==1.9.1.1,
+ xml-conduit-writer ==0.1.1.2,
+ xmlgen ==0.6.2.2,
+ xml-hamlet ==0.5.0.2,
+ xml-helpers ==1.0.0,
+ xmlhtml ==0.2.5.2,
+ xml-html-qq ==0.1.0.1,
+ xml-indexed-cursor ==0.1.1.0,
+ xml-parser ==0.1.1,
+ xml-picklers ==0.3.6,
+ xml-to-json-fast ==2.0.0,
+ xml-types ==0.3.8,
+ xmonad ==0.17.0,
+ xmonad-contrib ==0.17.0,
+ xmonad-extras ==0.17.0,
+ xor ==0.0.1.1,
+ xss-sanitize ==0.3.7,
+ xxhash-ffi ==0.2.0.0,
+ yaml ==0.11.8.0,
+ yamlparse-applicative ==0.2.0.1,
+ yaml-unscrambler ==0.1.0.9,
+ yarn-lock ==0.6.5,
+ yeshql-core ==4.2.0.0,
+ yesod ==1.6.2,
+ yesod-alerts ==0.1.3.0,
+ yesod-auth ==1.6.11,
+ yesod-auth-basic ==0.1.0.3,
+ yesod-auth-hashdb ==1.7.1.7,
+ yesod-auth-oauth2 ==0.7.0.2,
+ yesod-bin ==1.6.2.1,
+ yesod-core ==1.6.24.0,
+ yesod-eventsource ==1.6.0.1,
+ yesod-form ==1.7.0,
+ yesod-form-bootstrap4 ==3.0.1,
+ yesod-gitrepo ==0.3.0,
+ yesod-gitrev ==0.2.2,
+ yesod-markdown ==0.12.6.13,
+ yesod-newsfeed ==1.7.0.0,
+ yesod-page-cursor ==2.0.1.0,
+ yesod-paginator ==1.1.2.2,
+ yesod-persistent ==1.6.0.8,
+ yesod-recaptcha2 ==1.0.2,
+ yesod-routes-flow ==3.0.0.2,
+ yesod-sitemap ==1.6.0,
+ yesod-static ==1.6.1.0,
+ yesod-test ==1.6.14,
+ yesod-websockets ==0.3.0.3,
+ yes-precure5-command ==5.5.3,
+ yi-rope ==0.11,
+ yjsvg ==0.2.0.1,
+ yjtools ==0.9.18,
+ yoga ==0.0.0.5,
+ youtube ==0.2.1.1,
+ zenacy-html ==2.0.4,
+ zenacy-unicode ==1.0.1,
+ zero ==0.1.5,
+ zeromq4-haskell ==0.8.0,
+ zeromq4-patterns ==0.3.1.0,
+ zim-parser ==0.2.1.0,
+ zio ==0.1.0.2,
+ zip ==1.7.2,
+ zip-archive ==0.4.2.1,
+ zipper-extra ==0.1.3.2,
+ zippers ==0.3.2,
+ zip-stream ==0.2.1.0,
+ zlib ==0.6.3.0,
+ zlib-bindings ==0.1.1.5,
+ zlib-lens ==0.1.2.1,
+ zot ==0.0.3,
+ zstd ==0.1.3.0,
+ ztail ==1.2.0.3
diff --git a/testing/stack/ghc9.0.x.patch b/testing/stack/ghc9.0.x.patch
new file mode 100644
index 00000000000..bdd77de58c6
--- /dev/null
+++ b/testing/stack/ghc9.0.x.patch
@@ -0,0 +1,212 @@
+From cb7e56842a25f93142545fad21306a7c1750fbbf Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon@leapyear.io>
+Date: Fri, 4 Jun 2021 16:26:22 -0700
+Subject: [PATCH 1/6] Use Cabal 3.4.0.0
+
+---
+ stack.yaml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/stack.yaml b/stack.yaml
+index 005bd19f4..9472509be 100644
+--- a/stack.yaml
++++ b/stack.yaml
+@@ -20,6 +20,9 @@ flags:
+ ghc-options:
+ "$locals": -fhide-source-paths
+
++extra-deps:
++- Cabal-3.4.0.0
++
+ drop-packages:
+ # See https://github.com/commercialhaskell/stack/pull/4712
+ - cabal-install
+
+From 11e11ab0edeba033b40a7fc62434be58dea82ce2 Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon@leapyear.io>
+Date: Fri, 4 Jun 2021 16:40:56 -0700
+Subject: [PATCH 2/6] Fix Flag => PackageFlag
+
+---
+ src/Stack/BuildPlan.hs | 2 +-
+ src/Stack/Package.hs | 8 ++++----
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/Stack/BuildPlan.hs b/src/Stack/BuildPlan.hs
+index 36f82236e..c5c80efc6 100644
+--- a/src/Stack/BuildPlan.hs
++++ b/src/Stack/BuildPlan.hs
+@@ -224,7 +224,7 @@ selectPackageBuildPlan platform compiler pool gpd =
+ flagCombinations :: NonEmpty [(FlagName, Bool)]
+ flagCombinations = mapM getOptions (genPackageFlags gpd)
+ where
+- getOptions :: C.Flag -> NonEmpty (FlagName, Bool)
++ getOptions :: C.PackageFlag -> NonEmpty (FlagName, Bool)
+ getOptions f
+ | flagManual f = (fname, flagDefault f) :| []
+ | flagDefault f = (fname, True) :| [(fname, False)]
+diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs
+index 4db50d2a4..d9bca7af5 100644
+--- a/src/Stack/Package.hs
++++ b/src/Stack/Package.hs
+@@ -128,7 +128,7 @@ resolvePackage packageConfig gpkg =
+ (resolvePackageDescription packageConfig gpkg)
+
+ packageFromPackageDescription :: PackageConfig
+- -> [D.Flag]
++ -> [PackageFlag]
+ -> PackageDescriptionPair
+ -> Package
+ packageFromPackageDescription packageConfig pkgFlags (PackageDescriptionPair pkgNoMod pkg) =
+@@ -935,9 +935,9 @@ resolvePackageDescription packageConfig (GenericPackageDescription desc defaultF
+ -- | Make a map from a list of flag specifications.
+ --
+ -- What is @flagManual@ for?
+-flagMap :: [Flag] -> Map FlagName Bool
++flagMap :: [PackageFlag] -> Map FlagName Bool
+ flagMap = M.fromList . map pair
+- where pair :: Flag -> (FlagName, Bool)
++ where pair :: PackageFlag -> (FlagName, Bool)
+ pair = flagName &&& flagDefault
+
+ data ResolveConditions = ResolveConditions
+@@ -986,7 +986,7 @@ resolveConditions rc addDeps (CondNode lib deps cs) = basic <> children
+ case v of
+ OS os -> os == rcOS rc
+ Arch arch -> arch == rcArch rc
+- Flag flag ->
++ PackageFlag flag ->
+ fromMaybe False $ M.lookup flag (rcFlags rc)
+ -- NOTE: ^^^^^ This should never happen, as all flags
+ -- which are used must be declared. Defaulting to
+
+From 8facd731ec3f2bbc15a083750740929167b33bb2 Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon@leapyear.io>
+Date: Fri, 4 Jun 2021 16:55:30 -0700
+Subject: [PATCH 3/6] Fix CabalSpecVersion
+
+---
+ src/Stack/Package.hs | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs
+index d9bca7af5..fca039140 100644
+--- a/src/Stack/Package.hs
++++ b/src/Stack/Package.hs
+@@ -32,6 +32,7 @@ import Data.List (find, isPrefixOf, unzip)
+ import qualified Data.Map.Strict as M
+ import qualified Data.Set as S
+ import qualified Data.Text as T
++import Distribution.CabalSpecVersion (CabalSpecVersion, cabalSpecMinimumLibraryVersion)
+ import Distribution.Compiler
+ import Distribution.ModuleName (ModuleName)
+ import qualified Distribution.ModuleName as Cabal
+@@ -190,7 +191,7 @@ packageFromPackageDescription packageConfig pkgFlags (PackageDescriptionPair pkg
+ (library pkg)
+ , packageBuildType = buildType pkg
+ , packageSetupDeps = msetupDeps
+- , packageCabalSpec = either orLaterVersion id $ specVersionRaw pkg
++ , packageCabalSpec = orLaterVersion $ mkVersion $ cabalSpecMinimumLibraryVersion $ specVersion pkg
+ }
+ where
+ extraLibNames = S.union subLibNames foreignLibNames
+@@ -696,7 +697,7 @@ packageDescModulesAndFiles pkg = do
+
+ -- | Resolve globbing of files (e.g. data files) to absolute paths.
+ resolveGlobFiles
+- :: Version -- ^ cabal file version
++ :: CabalSpecVersion -- ^ cabal file version
+ -> [String]
+ -> RIO Ctx (Set (Path Abs File))
+ resolveGlobFiles cabalFileVersion =
+
+From 004f14652409b7d0645215d354b2e599eb7f76bc Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon@leapyear.io>
+Date: Fri, 4 Jun 2021 16:55:40 -0700
+Subject: [PATCH 4/6] Fix GenericPackageDescription
+
+---
+ src/Stack/Build.hs | 2 +-
+ src/Stack/Package.hs | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/Stack/Build.hs b/src/Stack/Build.hs
+index 23b9a9719..856903bed 100644
+--- a/src/Stack/Build.hs
++++ b/src/Stack/Build.hs
+@@ -358,7 +358,7 @@ checkComponentsBuildable lps =
+ checkSubLibraryDependencies :: HasLogFunc env => [ProjectPackage] -> RIO env ()
+ checkSubLibraryDependencies proj = do
+ forM_ proj $ \p -> do
+- C.GenericPackageDescription _ _ lib subLibs foreignLibs exes tests benches <- liftIO $ cpGPD . ppCommon $ p
++ C.GenericPackageDescription _ _ _ lib subLibs foreignLibs exes tests benches <- liftIO $ cpGPD . ppCommon $ p
+
+ let dependencies = concatMap getDeps subLibs <>
+ concatMap getDeps foreignLibs <>
+diff --git a/src/Stack/Package.hs b/src/Stack/Package.hs
+index fca039140..39aad4d2f 100644
+--- a/src/Stack/Package.hs
++++ b/src/Stack/Package.hs
+@@ -863,7 +863,7 @@ data PackageDescriptionPair = PackageDescriptionPair
+ resolvePackageDescription :: PackageConfig
+ -> GenericPackageDescription
+ -> PackageDescriptionPair
+-resolvePackageDescription packageConfig (GenericPackageDescription desc defaultFlags mlib subLibs foreignLibs' exes tests benches) =
++resolvePackageDescription packageConfig (GenericPackageDescription desc _ defaultFlags mlib subLibs foreignLibs' exes tests benches) =
+ PackageDescriptionPair
+ { pdpOrigBuildable = go False
+ , pdpModifiedBuildable = go True
+
+From 820797b566ef981936907f4d19658259d4a635a8 Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon@leapyear.io>
+Date: Fri, 4 Jun 2021 17:01:01 -0700
+Subject: [PATCH 5/6] Fix generatePackageVersionMacros
+
+---
+ src/Stack/Build/Execute.hs | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Stack/Build/Execute.hs b/src/Stack/Build/Execute.hs
+index 1e381dd21..aedd7fee5 100644
+--- a/src/Stack/Build/Execute.hs
++++ b/src/Stack/Build/Execute.hs
+@@ -1214,7 +1214,7 @@ withSingleContext ActionContext {..} ee@ExecuteEnv {..} task@Task {..} allDeps m
+ let macroDeps = mapMaybe snd matchedDeps
+ cppMacrosFile = setupDir </> relFileSetupMacrosH
+ cppArgs = ["-optP-include", "-optP" ++ toFilePath cppMacrosFile]
+- writeBinaryFileAtomic cppMacrosFile (encodeUtf8Builder (T.pack (C.generatePackageVersionMacros macroDeps)))
++ writeBinaryFileAtomic cppMacrosFile (encodeUtf8Builder (T.pack (C.generatePackageVersionMacros (packageVersion package) macroDeps)))
+ return (packageDBArgs ++ depsArgs ++ cppArgs)
+
+ -- This branch is usually taken for builds, and
+
+From 336ab515e30f03c274f89ebe1cbc6aa1e597c2a4 Mon Sep 17 00:00:00 2001
+From: Brandon Chinn <brandon@leapyear.io>
+Date: Fri, 4 Jun 2021 17:04:16 -0700
+Subject: [PATCH 6/6] Fix ModuleReexport
+
+---
+ src/Stack/Script.hs | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/Stack/Script.hs b/src/Stack/Script.hs
+index 6bb67c049..9ebd2173d 100644
+--- a/src/Stack/Script.hs
++++ b/src/Stack/Script.hs
+@@ -18,6 +18,7 @@ import Distribution.Compiler (CompilerFlavor (..))
+ import Distribution.ModuleName (ModuleName)
+ import qualified Distribution.PackageDescription as PD
+ import qualified Distribution.Types.CondTree as C
++import qualified Distribution.Types.ModuleReexport as ModuleReexport
+ import Distribution.Types.PackageName (mkPackageName)
+ import Distribution.Types.VersionRange (withinRange)
+ import Distribution.System (Platform (..))
+@@ -280,7 +281,7 @@ allExposedModules gpd = do
+ mlibrary = snd . C.simplifyCondTree checkCond <$> PD.condLibrary gpd
+ pure $ case mlibrary of
+ Just lib -> PD.exposedModules lib ++
+- map PD.moduleReexportName (PD.reexportedModules lib)
++ map ModuleReexport.moduleReexportName (PD.reexportedModules lib)
+ Nothing -> mempty
+
+ -- | The Stackage project introduced the concept of hidden packages,
diff --git a/testing/stack/persistent.patch b/testing/stack/persistent.patch
new file mode 100644
index 00000000000..cf462d7b80c
--- /dev/null
+++ b/testing/stack/persistent.patch
@@ -0,0 +1,46 @@
+commit 188d7ece06ee06ed6ccaf0df0c46285bd43898f4
+Author: q66 <daniel@octaforge.org>
+Date: Thu Apr 28 05:02:09 2022 +0200
+
+ constrain persistent to fix build
+
+diff --git a/stack.cabal b/stack.cabal
+index dba5bf0..e221321 100644
+--- a/stack.cabal
++++ b/stack.cabal
+@@ -281,7 +281,7 @@ library
+ pantry >=0.5.3,
+ path >=0.7.0,
+ path-io >=1.6.3,
+- persistent >=2.11.0.4,
++ persistent >=2.11.0.4 && <2.14.0.0,
+ persistent-sqlite >=2.11.1.0,
+ persistent-template >=2.9.1.0,
+ pretty >=1.1.3.6,
+@@ -407,7 +407,7 @@ executable stack
+ pantry >=0.5.3,
+ path >=0.7.0,
+ path-io >=1.6.3,
+- persistent >=2.11.0.4,
++ persistent >=2.11.0.4 && <2.14.0.0,
+ persistent-sqlite >=2.11.1.0,
+ persistent-template >=2.9.1.0,
+ pretty >=1.1.3.6,
+@@ -537,7 +537,7 @@ executable stack-integration-test
+ pantry >=0.5.3,
+ path >=0.7.0,
+ path-io >=1.6.3,
+- persistent >=2.11.0.4,
++ persistent >=2.11.0.4 && <2.14.0.0,
+ persistent-sqlite >=2.11.1.0,
+ persistent-template >=2.9.1.0,
+ pretty >=1.1.3.6,
+@@ -672,7 +672,7 @@ test-suite stack-test
+ pantry >=0.5.3,
+ path >=0.7.0,
+ path-io >=1.6.3,
+- persistent >=2.11.0.4,
++ persistent >=2.11.0.4 && <2.14.0.0,
+ persistent-sqlite >=2.11.1.0,
+ persistent-template >=2.9.1.0,
+ pretty >=1.1.3.6,
diff --git a/testing/stardict/APKBUILD b/testing/stardict/APKBUILD
index 1844317537d..34f57d48842 100644
--- a/testing/stardict/APKBUILD
+++ b/testing/stardict/APKBUILD
@@ -1,13 +1,13 @@
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=stardict
pkgver=3.0.6
-pkgrel=3
+pkgrel=6
pkgdesc="Cross-platform and international dictionary software"
-url="http://stardict-4.sourceforge.net/"
+url="https://stardict-4.sourceforge.net/"
arch="all"
license="GPL-3.0-or-later"
-makedepends="automake autoconf libtool gtk+2.0-dev libsigc++-dev libxml2-dev gnome-doc-utils
- gnome-common enchant2-dev espeak-dev zlib-dev mariadb-connector-c-dev"
+makedepends="automake autoconf libtool gtk+2.0-dev libsigc++-dev libxml2-dev
+ gnome-common enchant2-dev espeak-dev zlib-dev mariadb-connector-c-dev pcre-dev"
subpackages="$pkgname-doc $pkgname-lang $pkgname-help::noarch"
source="https://downloads.sourceforge.net/project/stardict-4/$pkgver/stardict-$pkgver.tar.bz2
gcc46.patch
@@ -16,6 +16,7 @@ source="https://downloads.sourceforge.net/project/stardict-4/$pkgver/stardict-$p
gconf.patch
enchant2.patch
makefile.patch
+ gnome-doc-utils.patch
"
options="!check"
@@ -62,15 +63,16 @@ help() {
pkgdesc="Stardict help files"
install_if="stardict=$pkgver-r$pkgrel"
- amove usr/share/gnome
- amove usr/share/omf
amove usr/share/stardict/help
}
-sha512sums="81d93324b6e8954af7c20ea6d2a3054bb564d786a21b1cb541c728da7a18a6e7ddb23e595055ccc77e6866bbb8c89fb4f17023e33664761dbe1ee8cd55768658 stardict-3.0.6.tar.bz2
+sha512sums="
+81d93324b6e8954af7c20ea6d2a3054bb564d786a21b1cb541c728da7a18a6e7ddb23e595055ccc77e6866bbb8c89fb4f17023e33664761dbe1ee8cd55768658 stardict-3.0.6.tar.bz2
cc43b57cdf2e7fbd3e9c86acb4c8f9fef367d68f6f027e75774eec9cdf66b3fdd3b0bc58d373d076cb38671e09012ab69b8b7e81638a5be888af56372e65a838 gcc46.patch
4132eee58ab5dfb30105fd2c1a113d143528f7e904ededbb8de203bbb244377aed2c152aae7f383936e74005c2f4afa6128674a245d2a8083b2757b1ca90dd24 glib2.patch
4b47cd6beb425316cdbe45ec8b6b965521ba20a956fe6a39a49da0b5e774b3ff5bc8ade19aa03216d3405ec7fbee9ed37add0a7ec07c090a6872eb2ae2654db9 mariadb.patch
efa225a0ff285ee81788311c0ed9875ebc93d64fb4943b8de6ba27d945e781936eebcab4c742b29cb6c8c810f5fd3f478db98cb06128e7aa552fb8512838bad6 gconf.patch
bc41bb144275297657424a3a41e27cab6c06fcdecbb470e6f2b9204c01c0a9e74e64e8db6da5343e9b7779eb67f19dc786ec5617b1607c39e1a6034966b96447 enchant2.patch
-f7f96979e620195b09b0b6f4183401886637badeb7c91f1889409a5ee206ac2d1e33072ae31cdde9464510406c7bb0162083b3003b7715aa9ab3c3f1df1923ab makefile.patch"
+f7f96979e620195b09b0b6f4183401886637badeb7c91f1889409a5ee206ac2d1e33072ae31cdde9464510406c7bb0162083b3003b7715aa9ab3c3f1df1923ab makefile.patch
+9900c1f5aabd100f873d8903a61a4ea71118ea70236cc0fa10bafcb9a87335e686c840ee258af64c0c9aaa8ea62e71acd80d2b8839e42fd5280f8d1e2209deb6 gnome-doc-utils.patch
+"
diff --git a/testing/stardict/gnome-doc-utils.patch b/testing/stardict/gnome-doc-utils.patch
new file mode 100644
index 00000000000..910d5288369
--- /dev/null
+++ b/testing/stardict/gnome-doc-utils.patch
@@ -0,0 +1,21 @@
+diff -ruN stardict-3.0.6-2/dict/configure.ac stardict-3.0.6/dict/configure.ac
+--- stardict-3.0.6-2/dict/configure.ac 2023-01-30 01:05:51.137604350 +0100
++++ stardict-3.0.6/dict/configure.ac 2023-01-30 01:05:54.680907906 +0100
+@@ -17,7 +17,6 @@
+
+ AC_CONFIG_MACRO_DIR(m4)
+ LT_INIT
+-GNOME_DOC_INIT
+
+ AC_ISC_POSIX
+ AC_PROG_CC
+diff -ruN stardict-3.0.6-2/dict/help/Makefile.am stardict-3.0.6/dict/help/Makefile.am
+--- stardict-3.0.6-2/dict/help/Makefile.am 2023-01-30 01:05:51.137604350 +0100
++++ stardict-3.0.6/dict/help/Makefile.am 2023-01-30 01:05:57.514217577 +0100
+@@ -1,6 +1,5 @@
+ ## Process this file with automake to produce Makefile.in.
+ ## always include gnome-doc-utils.make because we need to generate DocBook files in linguas dirs
+-include $(top_srcdir)/gnome-doc-utils.make
+ if GNOME_SUPPORT
+ GNOME_DIST_HOOK = doc-dist-hook
+ else
diff --git a/testing/starfighter/APKBUILD b/testing/starfighter/APKBUILD
new file mode 100644
index 00000000000..faca351a609
--- /dev/null
+++ b/testing/starfighter/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
+pkgname=starfighter
+pkgver=2.4
+pkgrel=0
+pkgdesc="2D scrolling shooter game"
+url="https://pr-starfighter.github.io/"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="sdl2-dev sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev gettext-dev pango-dev"
+subpackages="$pkgname-doc"
+options="!check" # No testsuite
+source="https://github.com/pr-starfighter/starfighter/releases/download/v$pkgver/starfighter-$pkgver-src.tar.gz"
+builddir="$srcdir/starfighter-$pkgver-src"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --exec_prefix=/usr \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+3c31f74f878e7c438ee752e870556a2108d88b45544e5eb56ea49926986657d5ab13031e2ecd0973ecbaab29e61a1f3a79f1e34435287426aee8cc374c08136d starfighter-2.4-src.tar.gz
+"
diff --git a/testing/stargazer/APKBUILD b/testing/stargazer/APKBUILD
deleted file mode 100644
index 1adcde13262..00000000000
--- a/testing/stargazer/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: Alexander Georgievskiy <galeksandrp@gmail.com>
-# Maintainer:
-pkgname=stargazer
-_pkgname=stg
-pkgver=2.408
-pkgrel=0
-pkgdesc="A billing system for small home and office networks"
-url="http://www.stg.dp.ua"
-arch="all"
-license="GPL-2.0-or-later"
-depends=""
-makedepends="expat-dev linux-headers"
-install=""
-subpackages="$pkgname-dev"
-source="http://www.$_pkgname.dp.ua/download/server/$pkgver/$_pkgname-$pkgver.tar.gz
- fix-name-max.patch
- "
-builddir="$srcdir/$_pkgname-$pkgver"
-options="!check"
-
-prepare() {
- default_prepare
- cd "$builddir/projects/$pkgname"
- sed 's/.*capture\/ipq_linux//' -i build
-}
-
-build() {
- cd "$builddir/projects/$pkgname"
- ./build
-}
-
-package() {
- cd "$builddir/projects/$pkgname"
- mkdir -p "$pkgdir/usr/sbin"
- make PREFIX="$pkgdir" install
-}
-
-sha512sums="200e08cfd629dbacda31ffd3134c2908a1ad58604421cc288ad0ec1bdcd60fe021d51fed50fdc2517bb7c2b61ef23b0b9c71a606babd09bc7804cb899e0b7f75 stg-2.408.tar.gz
-b7572654091490bab39a6d6da081133df041df80f38f9de77156719ad05083dfa570a7a6df5db74ee30f3d22270271bd27a8793b6c0ee40ea123ddb4af11d6ec fix-name-max.patch"
diff --git a/testing/stargazer/fix-name-max.patch b/testing/stargazer/fix-name-max.patch
deleted file mode 100644
index 987aef9d794..00000000000
--- a/testing/stargazer/fix-name-max.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- stg-2.408/stglibs/common.lib/include/stg/common.h.orig 2017-08-29 13:08:12.574050223 +0300
-+++ stg-2.408/stglibs/common.lib/include/stg/common.h 2017-08-29 13:08:44.261161176 +0300
-@@ -33,6 +33,7 @@
- #include <ctime>
- #endif
- #include <string>
-+#include <limits.h>
-
- #include "stg/os_int.h"
- #include "stg/const.h"
diff --git a/testing/startup/APKBUILD b/testing/startup/APKBUILD
index 7c51f346956..6b5608163f8 100644
--- a/testing/startup/APKBUILD
+++ b/testing/startup/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=startup
pkgver=2.0.3
-pkgrel=0
+pkgrel=4
pkgdesc="Event driven task and service manager"
options="!check"
url="https://gitlab.com/chinstrap/startup"
@@ -33,6 +33,7 @@ subpackages="
libupstart:libs
$pkgname-bridge-udev
$pkgname-bridge-dconf
+ $pkgname-fish-completion
"
source="$pkgname-$pkgver.tar.gz::https://gitlab.com/chinstrap/startup/-/archive/$pkgver/startup-$pkgver.tar.gz"
@@ -63,7 +64,10 @@ package() {
# Install fish completion
install -Dm0644 contrib/fish_completion/*.fish \
- -t "$pkgdir"/usr/share/fish/completions
+ -t "$pkgdir"/usr/share/fish/vendor_completions.d
+
+ mkdir -p "$pkgdir"/usr/share/dbus-1/system.d/
+ mv "$pkgdir"/etc/dbus-1/system.d/* "$pkgdir"/usr/share/dbus-1/system.d/
}
tools() {
@@ -74,8 +78,6 @@ tools() {
amove usr/bin/startup-monitor
amove usr/share/icons
amove usr/share/applications
- amove usr/share/fish/completions/initctl2dot.fish
- amove usr/share/fish/completions/startup-monitor.fish
}
dconf() {
diff --git a/testing/stayrtr/APKBUILD b/testing/stayrtr/APKBUILD
new file mode 100644
index 00000000000..4a70f277d9d
--- /dev/null
+++ b/testing/stayrtr/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Mike Crute <mike@crute.us>
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
+# Maintainer: Nicolas Lorin <androw95220@gmail.com>
+pkgname=stayrtr
+pkgver=0.5.1
+pkgrel=2
+pkgdesc="Simple RPKI-To-Router server. (Hard fork of GoRTR)"
+url="https://github.com/bgp/stayrtr"
+arch="all"
+license="BSD-3-Clause"
+options="net chmod-clean"
+makedepends="go"
+pkgusers="stayrtr"
+pkggroups="stayrtr"
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/bgp/stayrtr/archive/v$pkgver.tar.gz
+ $pkgname.initd
+ $pkgname.confd
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ export CGO_ENABLED=1
+ make \
+ OUTPUT_STAYRTR=dist/stayrtr \
+ OUTPUT_RTRDUMP=dist/rtrdump \
+ OUTPUT_RTRMON=dist/rtrmon \
+ STAYRTR_VERSION=$pkgver \
+ LDFLAGS='"-X main.version=$(STAYRTR_VERSION) -X main.buildinfos=$(BUILDINFOS)"' \
+ build-stayrtr build-rtrdump build-rtrmon
+}
+
+check() {
+ make test
+}
+
+package() {
+ install -Dm755 dist/stayrtr "$pkgdir"/usr/bin/$pkgname
+ install -Dm755 dist/rtrdump "$pkgdir"/usr/bin/rtrdump
+ install -Dm755 dist/rtrmon "$pkgdir"/usr/bin/rtrmon
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm644 "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
+}
+
+sha512sums="
+a155045d423bf4da20a07699df096c38e6ace23ad9f93bbc7180135ec5bc367eed1ad349f9033ceda5521afba7d455d19afd0bc8d95b7376c91b4b051bd4a51f stayrtr-0.5.1.tar.gz
+926dd3d3c3851d2b787ed7ae42ba1dcc54b432e5cb9ab6a30fa8eee1df19b48f50b37b37b84262d83e53031993ac39bd68a87bd9e47752eca49c104e0b1e7897 stayrtr.initd
+73d8e1465332287ec035872777caa3c60072ae62a359d2f1374275901423d120300ebcfca22a7ca7c1131056183f39a9fb19ad1b08678d3bde13b383874d4a7d stayrtr.confd
+"
diff --git a/testing/stayrtr/stayrtr.confd b/testing/stayrtr/stayrtr.confd
new file mode 100644
index 00000000000..d3cb5dd2fdd
--- /dev/null
+++ b/testing/stayrtr/stayrtr.confd
@@ -0,0 +1,2 @@
+# Configuration for /etc/init.d/stayrtr
+# STAYRTR_OPTS=""
diff --git a/testing/stayrtr/stayrtr.initd b/testing/stayrtr/stayrtr.initd
new file mode 100644
index 00000000000..f2c2d8c28b5
--- /dev/null
+++ b/testing/stayrtr/stayrtr.initd
@@ -0,0 +1,26 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+
+name="stayrtr"
+description="Simple RPKI-To-Router server. (Hard fork of GoRTR)"
+
+command="/usr/bin/$RC_SVCNAME"
+command_args="$STAYRTR_OPTS"
+command_user="$RC_SVCNAME:$RC_SVCNAME"
+
+extra_started_commands="reload"
+description_reload="Reload configuration"
+
+error_log="/var/log/$RC_SVCNAME.log"
+
+depend() {
+ need net
+ after firewall
+}
+
+reload() {
+ ebegin "Reloading $RC_SVCNAME configuration"
+ $supervisor "$RC_SVCNAME" --signal HUP
+ eend $?
+}
diff --git a/testing/stayrtr/stayrtr.pre-install b/testing/stayrtr/stayrtr.pre-install
new file mode 100644
index 00000000000..42667d38cb5
--- /dev/null
+++ b/testing/stayrtr/stayrtr.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S stayrtr 2>/dev/null
+adduser -S -D -h /var/lib/stayrtr -s /sbin/nologin -G stayrtr -g stayrtr stayrtr 2>/dev/null
+
+exit 0
diff --git a/testing/steamguard-cli/APKBUILD b/testing/steamguard-cli/APKBUILD
new file mode 100644
index 00000000000..ff4803ff220
--- /dev/null
+++ b/testing/steamguard-cli/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=steamguard-cli
+pkgver=0.9.6
+pkgrel=0
+pkgdesc="Command line utility for setting up and using Steam Mobile Authenticator"
+url="https://github.com/dyc3/steamguard-cli"
+# ring
+arch="all !ppc64le !s390x !riscv64"
+license="GPL-3.0-or-later"
+makedepends="cargo cargo-auditable openssl-dev"
+subpackages="$pkgname-bash-completion $pkgname-zsh-completion"
+source="$pkgname-$pkgver.tar.gz::https://github.com/dyc3/steamguard-cli/archive/refs/tags/v$pkgver.tar.gz
+ openssl.patch
+ "
+options="net" # cargo fetch
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+
+ mkdir -p completions
+ target/release/steamguard completion --shell bash > completions/steamguard
+ target/release/steamguard completion --shell zsh > completions/_steamguard
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/steamguard -t "$pkgdir"/usr/bin/
+
+ install -Dm644 completions/steamguard \
+ -t "$pkgdir"/usr/share/bash-completion/completions/
+ install -Dm644 completions/_steamguard \
+ -t "$pkgdir"/usr/share/zsh/site-functions/
+}
+
+sha512sums="
+31c5eb2b796554ad46e719aff5a2d285bbea49f248aa6f8d9f60a07234ea00ec521f49471e78177e624f8940ce4e55749f066aedef73316d9392554850489573 steamguard-cli-0.9.6.tar.gz
+aceda15ade3deaf14b4fdbce4b849acfa89855cfd306ba9577f4e280fa175ffe1233776c1e13f372462b6e60292907e6a1a6aceec6b51a90d3067aa22132a31a openssl.patch
+"
diff --git a/testing/steamguard-cli/openssl.patch b/testing/steamguard-cli/openssl.patch
new file mode 100644
index 00000000000..47bb2b009d8
--- /dev/null
+++ b/testing/steamguard-cli/openssl.patch
@@ -0,0 +1,393 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 10ba22c..f68621f 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -313,6 +313,22 @@ dependencies = [
+ "url",
+ ]
+
++[[package]]
++name = "core-foundation"
++version = "0.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
++[[package]]
++name = "core-foundation-sys"
++version = "0.8.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa"
++
+ [[package]]
+ name = "cpufeatures"
+ version = "0.2.2"
+@@ -545,6 +561,21 @@ version = "1.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
+ [[package]]
+ name = "form_urlencoded"
+ version = "1.0.1"
+@@ -819,6 +850,19 @@ dependencies = [
+ "tokio-rustls",
+ ]
+
++[[package]]
++name = "hyper-tls"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
++dependencies = [
++ "bytes",
++ "hyper",
++ "native-tls",
++ "tokio",
++ "tokio-native-tls",
++]
++
+ [[package]]
+ name = "idna"
+ version = "0.2.3"
+@@ -1051,6 +1095,24 @@ dependencies = [
+ "windows-sys 0.36.1",
+ ]
+
++[[package]]
++name = "native-tls"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
++dependencies = [
++ "lazy_static 1.4.0",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
++]
++
+ [[package]]
+ name = "new_debug_unreachable"
+ version = "1.0.4"
+@@ -1161,6 +1223,50 @@ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "44d11de466f4a3006fe8a5e7ec84e93b79c70cb992ae0aa0eb631ad2df8abfe2"
+
++[[package]]
++name = "openssl"
++version = "0.10.55"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "345df152bc43501c5eb9e4654ff05f794effb78d4efe3d53abc158baddc0703d"
++dependencies = [
++ "bitflags",
++ "cfg-if",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "openssl-probe"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
++
++[[package]]
++name = "openssl-sys"
++version = "0.9.90"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "374533b0e45f3a7ced10fcaeccca020e66656bc03dac384f852e4e5a7a8104a6"
++dependencies = [
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
+ [[package]]
+ name = "option-ext"
+ version = "0.2.0"
+@@ -1340,6 +1446,12 @@ dependencies = [
+ "zeroize",
+ ]
+
++[[package]]
++name = "pkg-config"
++version = "0.3.27"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964"
++
+ [[package]]
+ name = "ppv-lite86"
+ version = "0.2.16"
+@@ -1750,12 +1862,14 @@ dependencies = [
+ "http-body",
+ "hyper",
+ "hyper-rustls",
++ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "lazy_static 1.4.0",
+ "log",
+ "mime",
+ "mime_guess",
++ "native-tls",
+ "percent-encoding",
+ "pin-project-lite",
+ "proc-macro-hack",
+@@ -1765,6 +1879,7 @@ dependencies = [
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
++ "tokio-native-tls",
+ "tokio-rustls",
+ "tokio-util 0.6.10",
+ "url",
+@@ -1877,6 +1992,15 @@ version = "1.0.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
+
++[[package]]
++name = "schannel"
++version = "0.1.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3"
++dependencies = [
++ "windows-sys 0.42.0",
++]
++
+ [[package]]
+ name = "scopeguard"
+ version = "1.1.0"
+@@ -1919,6 +2043,29 @@ dependencies = [
+ "zeroize",
+ ]
+
++[[package]]
++name = "security-framework"
++version = "2.9.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8"
++dependencies = [
++ "bitflags",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
++]
++
++[[package]]
++name = "security-framework-sys"
++version = "2.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7"
++dependencies = [
++ "core-foundation-sys",
++ "libc",
++]
++
+ [[package]]
+ name = "selectors"
+ version = "0.22.0"
+@@ -2511,6 +2658,16 @@ dependencies = [
+ "winapi",
+ ]
+
++[[package]]
++name = "tokio-native-tls"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2"
++dependencies = [
++ "native-tls",
++ "tokio",
++]
++
+ [[package]]
+ name = "tokio-rustls"
+ version = "0.23.4"
+@@ -2684,6 +2841,12 @@ dependencies = [
+ "getrandom 0.2.6",
+ ]
+
++[[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
++
+ [[package]]
+ name = "version_check"
+ version = "0.9.4"
+@@ -2883,6 +3046,21 @@ dependencies = [
+ "windows_x86_64_msvc 0.36.1",
+ ]
+
++[[package]]
++name = "windows-sys"
++version = "0.42.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
++dependencies = [
++ "windows_aarch64_gnullvm 0.42.2",
++ "windows_aarch64_msvc 0.42.2",
++ "windows_i686_gnu 0.42.2",
++ "windows_i686_msvc 0.42.2",
++ "windows_x86_64_gnu 0.42.2",
++ "windows_x86_64_gnullvm 0.42.2",
++ "windows_x86_64_msvc 0.42.2",
++]
++
+ [[package]]
+ name = "windows-sys"
+ version = "0.48.0"
+@@ -2898,15 +3076,21 @@ version = "0.48.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
+ dependencies = [
+- "windows_aarch64_gnullvm",
++ "windows_aarch64_gnullvm 0.48.0",
+ "windows_aarch64_msvc 0.48.0",
+ "windows_i686_gnu 0.48.0",
+ "windows_i686_msvc 0.48.0",
+ "windows_x86_64_gnu 0.48.0",
+- "windows_x86_64_gnullvm",
++ "windows_x86_64_gnullvm 0.48.0",
+ "windows_x86_64_msvc 0.48.0",
+ ]
+
++[[package]]
++name = "windows_aarch64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8"
++
+ [[package]]
+ name = "windows_aarch64_gnullvm"
+ version = "0.48.0"
+@@ -2919,6 +3103,12 @@ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47"
+
++[[package]]
++name = "windows_aarch64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43"
++
+ [[package]]
+ name = "windows_aarch64_msvc"
+ version = "0.48.0"
+@@ -2931,6 +3121,12 @@ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6"
+
++[[package]]
++name = "windows_i686_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f"
++
+ [[package]]
+ name = "windows_i686_gnu"
+ version = "0.48.0"
+@@ -2943,6 +3139,12 @@ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024"
+
++[[package]]
++name = "windows_i686_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060"
++
+ [[package]]
+ name = "windows_i686_msvc"
+ version = "0.48.0"
+@@ -2955,12 +3157,24 @@ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1"
+
++[[package]]
++name = "windows_x86_64_gnu"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36"
++
+ [[package]]
+ name = "windows_x86_64_gnu"
+ version = "0.48.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
+
++[[package]]
++name = "windows_x86_64_gnullvm"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3"
++
+ [[package]]
+ name = "windows_x86_64_gnullvm"
+ version = "0.48.0"
+@@ -2973,6 +3187,12 @@ version = "0.36.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680"
+
++[[package]]
++name = "windows_x86_64_msvc"
++version = "0.42.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0"
++
+ [[package]]
+ name = "windows_x86_64_msvc"
+ version = "0.48.0"
+diff --git a/Cargo.toml b/Cargo.toml
+index 425e75a..95c9370 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -34,7 +34,7 @@ hmac-sha1 = "^0.1"
+ base64 = "0.13.0"
+ text_io = "0.1.8"
+ rpassword = "5.0"
+-reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "cookies", "gzip", "rustls-tls"] }
++reqwest = { version = "0.11", default-features = false, features = ["blocking", "json", "cookies", "gzip", "native-tls"] }
+ serde = { version = "1.0", features = ["derive"] }
+ serde_json = "1.0"
+ rsa = "0.5.0"
diff --git a/testing/steghide/APKBUILD b/testing/steghide/APKBUILD
index b9e4e75cdf0..460d261dbae 100644
--- a/testing/steghide/APKBUILD
+++ b/testing/steghide/APKBUILD
@@ -1,35 +1,38 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=steghide
-pkgver=0.5.1
-pkgrel=2
+pkgver=0.5.1.1
+pkgrel=0
pkgdesc="Steganography program that is able to hide data in various kinds of image- and audio-files"
-url="http://steghide.sourceforge.net/index.php"
+url="https://github.com/museoa/steghide"
arch="all"
license="GPL-2.0-or-later"
+options="!check" # fixme: fails for au and wav
makedepends="libmcrypt-dev jpeg-dev zlib-dev libmhash-dev
- bash libtool automake autoconf"
+ bash gettext-dev libtool automake autoconf"
subpackages="$pkgname-doc"
-source="https://prdownloads.sourceforge.net/steghide/steghide-$pkgver.tar.gz
- steghide-0.5.1-am.patch
- build-fixes-new-gcc.patch
- missing-files-configure-in.patch
- "
+source="$pkgname-pkgver.tar.gz::https://github.com/museoa/steghide/archive/refs/tags/$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgver/src"
prepare() {
default_prepare
- update_config_sub
- update_config_guess
+ aclocal
+ autoconf
+ libtoolize
+ autoreconf -fvi
}
build() {
- autoreconf -i
./configure \
--prefix=/usr \
--disable-rpath \
--disable-nls
- make CXXFLAGS="$CXXFLAGS -fpermissive"
+ make
+}
+
+check() {
+ make check
}
package() {
@@ -37,8 +40,5 @@ package() {
}
sha512sums="
-6cda3e33e91123fbc5caa112efcacf09180505abd4f6f229878cd443817c60a04498aead02509c7532fd6924225c6b752820c51e452a83c520f228273d610a57 steghide-0.5.1.tar.gz
-b41652a1cfcd5313cb79c220cebc308c5491de4b56433ca5c6099c0b23c532c565cb67b553c32d24398c0e26cec3d1749acd8890e45596464ed499a83fd04fb3 steghide-0.5.1-am.patch
-66443a0ca340969d568e0343fafcef6623f429f6a718b5ea55afcceb444f907521db22702c213d9b72a82e6b353c138f2703afcb4a6d573fe37f70891bc69334 build-fixes-new-gcc.patch
-27dbae3ef3ab4373ddd046bad07a4d3d0df014717b3a1a4b178c761f39f9b3c74aef7aeeb037c93e083445026e96cf46a64a1351074938af9b87ab9bd9e95bbe missing-files-configure-in.patch
+2fcaeda85b145f5d5ff92d26f1b98fac745b4f6bd09ae5d0fef3413fb86674da19714d93c882de774f21beb381f5bac4ca0517269821b9811e07706e6e6d72e6 steghide-pkgver.tar.gz
"
diff --git a/testing/steghide/build-fixes-new-gcc.patch b/testing/steghide/build-fixes-new-gcc.patch
deleted file mode 100644
index 1f866e35476..00000000000
--- a/testing/steghide/build-fixes-new-gcc.patch
+++ /dev/null
@@ -1,164 +0,0 @@
---- steghide-0.5.1.orig/src/ProgressOutput.cc
-+++ steghide-0.5.1/src/ProgressOutput.cc
-@@ -23,6 +23,8 @@
- #include "ProgressOutput.h"
- #include "common.h"
-
-+float ProgressOutput::NoAvgWeight = -1.0 ;
-+
- ProgressOutput::ProgressOutput ()
- : Message("__nomessage__")
- {
---- steghide-0.5.1.orig/src/ProgressOutput.h
-+++ steghide-0.5.1/src/ProgressOutput.h
-@@ -62,9 +62,9 @@
- * \param rate the rate of matched vertices
- * \param avgweight the average edge weight (is not printed if not given)
- **/
-- void done (float rate, float avgweight = NoAvgWeight) const ;
-+ void done (float rate, float avgweight = 1.0) const ;
-
-- static const float NoAvgWeight = -1.0 ;
-+ static float NoAvgWeight ;
-
- protected:
- std::string vcompose (const char *msgfmt, va_list ap) const ;
---- steghide-0.5.1.orig/src/wrapper_hash_map.h
-+++ steghide-0.5.1/src/wrapper_hash_map.h
-@@ -29,7 +29,7 @@
- namespace sgi { using ::hash ; using ::hash_map ; } ;
- # else
- # include <ext/hash_map>
--# if __GNUC_MINOR__ == 0
-+# if __GNUC__ == 3 && __GNUC_MINOR__ == 0
- namespace sgi = std ; // GCC 3.0
- # else
- namespace sgi = __gnu_cxx ; // GCC 3.1 and later
---- steghide-0.5.1.orig/src/wrapper_hash_set.h
-+++ steghide-0.5.1/src/wrapper_hash_set.h
-@@ -30,7 +30,7 @@
- namespace sgi { using ::hash ; using ::hash_set ; } ;
- # else
- # include <ext/hash_set>
--# if __GNUC_MINOR__ == 0
-+# if __GNUC__ == 3 && __GNUC_MINOR__ == 0
- namespace sgi = std ; // GCC 3.0
- # else
- namespace sgi = ::__gnu_cxx ; // GCC 3.1 and later
-
---- steghide-0.5.1.orig/src/Arguments.cc
-+++ steghide-0.5.1/src/Arguments.cc
-@@ -28,6 +28,8 @@
- #include "error.h"
- #include "msg.h"
-
-+float Arguments::Default_Goal = 100.0 ;
-+
- // the global Arguments object
- Arguments Args ;
-
---- steghide-0.5.1.orig/src/Arguments.h
-+++ steghide-0.5.1/src/Arguments.h
-@@ -100,7 +100,7 @@
- static const VERBOSITY Default_Verbosity = NORMAL ;
- static const unsigned long Default_Radius = 0 ; // there is no default radius for all file formats
- static const unsigned int Max_Algorithm = 3 ;
-- static const float Default_Goal = 100.0 ;
-+ static float Default_Goal ;
- static const DEBUGCOMMAND Default_DebugCommand = NONE ;
- static const bool Default_Check = false ;
- static const unsigned int Default_DebugLevel = 0 ;
---- steghide-0.5.1.orig/src/AuData.h
-+++ steghide-0.5.1/src/AuData.h
-@@ -26,22 +26,22 @@
-
- // AuMuLawAudioData
- typedef AudioDataImpl<AuMuLaw,BYTE> AuMuLawAudioData ;
--inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
--inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
-+template <> inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
-+template <> inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
-
- // AuPCM8AudioData
- typedef AudioDataImpl<AuPCM8,SBYTE> AuPCM8AudioData ;
--inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
--inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
-+template <> inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
-+template <> inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
-
- // AuPCM16AudioData
- typedef AudioDataImpl<AuPCM16,SWORD16> AuPCM16AudioData ;
--inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
--inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
-+template <> inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
-+template <> inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
-
- // AuPCM32AudioData
- typedef AudioDataImpl<AuPCM32,SWORD32> AuPCM32AudioData ;
--inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
--inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
-+template <> inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
-+template <> inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
-
- #endif // ndef SH_AUDATA_H
---- steghide-0.5.1.orig/src/AuSampleValues.cc
-+++ steghide-0.5.1/src/AuSampleValues.cc
-@@ -21,17 +21,17 @@
- #include "AuSampleValues.h"
-
- // AuMuLawSampleValue
--const BYTE AuMuLawSampleValue::MinValue = 0 ;
--const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ;
-+template <> const BYTE AuMuLawSampleValue::MinValue = 0 ;
-+template <> const BYTE AuMuLawSampleValue::MaxValue = BYTE_MAX ;
-
- // AuPCM8SampleValue
--const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ;
--const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ;
-+template <> const SBYTE AuPCM8SampleValue::MinValue = SBYTE_MIN ;
-+template <> const SBYTE AuPCM8SampleValue::MaxValue = SBYTE_MAX ;
-
- // AuPCM16SampleValue
--const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ;
--const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ;
-+template <> const SWORD16 AuPCM16SampleValue::MinValue = SWORD16_MIN ;
-+template <> const SWORD16 AuPCM16SampleValue::MaxValue = SWORD16_MAX ;
-
- // AuPCM32SampleValue
--const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ;
--const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ;
-+template <> const SWORD32 AuPCM32SampleValue::MinValue = SWORD32_MIN ;
-+template <> const SWORD32 AuPCM32SampleValue::MaxValue = SWORD32_MAX ;
---- steghide-0.5.1.orig/src/EmbData.cc
-+++ steghide-0.5.1/src/EmbData.cc
-@@ -26,6 +26,7 @@
- #include "MCryptPP.h"
- #include "MHashPP.h"
- #include "common.h"
-+#include "config.h"
-
- EmbData::EmbData (MODE m, std::string pp, std::string fn)
- : Mode(m), Passphrase(pp), FileName(fn)
---- steghide-0.5.1.orig/src/Graph.cc
-+++ steghide-0.5.1/src/Graph.cc
-@@ -33,6 +33,8 @@
- #include "msg.h"
- #include "wrapper_hash_set.h"
-
-+#include <climits>
-+
- Graph::Graph (CvrStgFile *cvr, const BitString& emb, Selector& sel)
- {
- Globs.TheGraph = this ;
---- steghide-0.5.1.orig/src/MHashPP.cc
-+++ steghide-0.5.1/src/MHashPP.cc
-@@ -120,7 +120,7 @@
-
- std::string MHashPP::getAlgorithmName (hashid id)
- {
-- char *name = mhash_get_hash_name (id) ;
-+ char *name = (char *) mhash_get_hash_name (id) ;
- std::string retval ;
- if (name == NULL) {
- retval = std::string ("<algorithm not found>") ;
-
diff --git a/testing/steghide/missing-files-configure-in.patch b/testing/steghide/missing-files-configure-in.patch
deleted file mode 100644
index f736b550875..00000000000
--- a/testing/steghide/missing-files-configure-in.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-autoreconf fails because steghide do not provide AUTHORS,
-NEWS and ChangeLog files
-
-Use 'foreign' keyword to allow automake runs whithout these files.
-
---- steghide-0.5.1/configure.in
-+++ steghide-0.5.1/configure.in
-@@ -1,7 +1,8 @@
- dnl Process this file with autoconf to produce a configure script.
--AC_INIT(src/main.cc)
-+AC_INIT([steghide], [0.5.1])
-+AC_CONFIG_SRCDIR([src/main.cc])
- AC_CANONICAL_SYSTEM
--AM_INIT_AUTOMAKE(steghide, 0.5.1)
-+AM_INIT_AUTOMAKE([foreign])
- AM_CONFIG_HEADER(config.h)
-
- dnl checks for programs.
diff --git a/testing/steghide/steghide-0.5.1-am.patch b/testing/steghide/steghide-0.5.1-am.patch
deleted file mode 100644
index e261262bd78..00000000000
--- a/testing/steghide/steghide-0.5.1-am.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- steghide-0.5.1/po/Makefile.in.in.org 2003-09-28 17:57:14.000000000 +0200
-+++ steghide-0.5.1/po/Makefile.in.in 2006-07-12 17:17:38.000000000 +0200
-@@ -27,7 +27,7 @@
- INSTALL = @INSTALL@
- INSTALL_DATA = @INSTALL_DATA@
- MKINSTALLDIRS = @MKINSTALLDIRS@
--mkinstalldirs = $(SHELL) `case "$(MKINSTALLDIRS)" in /*) echo "$(MKINSTALLDIRS)" ;; *) echo "$(top_builddir)/$(MKINSTALLDIRS)" ;; esac`
-+mkinstalldirs = $(MKINSTALLDIRS)
-
- GMSGFMT = @GMSGFMT@
- MSGFMT = @MSGFMT@
---- steghide-0.5.1/src/Makefile.am.org 2003-09-28 18:33:21.000000000 +0200
-+++ steghide-0.5.1/src/Makefile.am 2006-07-12 17:13:26.000000000 +0200
-@@ -33,5 +33,4 @@
- WavPCMSampleValue.cc error.cc main.cc msg.cc SMDConstructionHeuristic.cc
- LIBS = @LIBINTL@ @LIBS@
- localedir = $(datadir)/locale
--LIBTOOL = $(SHELL) libtool
- MAINTAINERCLEANFILES = Makefile.in
diff --git a/testing/stellarsolver/0001-don-t-mess-with-qsort_r.patch b/testing/stellarsolver/0001-don-t-mess-with-qsort_r.patch
new file mode 100644
index 00000000000..a3ee679bd23
--- /dev/null
+++ b/testing/stellarsolver/0001-don-t-mess-with-qsort_r.patch
@@ -0,0 +1,53 @@
+From 5a78b6d12739df5e551a56f6c93b6a5d4a791b18 Mon Sep 17 00:00:00 2001
+From: Clayton Craft <clayton@craftyguy.net>
+Date: Sat, 24 Feb 2024 22:43:57 -0800
+Subject: [PATCH] don't mess with qsort_r
+
+The built-in qsort_r implementation detection/test thing is broken on
+Alpine, this makes it seem like fixing this upstream isn't easy:
+
+https://github.com/rlancaste/stellarsolver/issues/125
+---
+ CMakeLists.txt | 26 +++-----------------------
+ 1 file changed, 3 insertions(+), 23 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ce09934..bddf9a2 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -58,29 +58,9 @@ if (WIN32)
+
+ else(WIN32)
+
+-try_run(RUN_RESULT_2 COMPILE_SUCCESS_2 ${CMAKE_CURRENT_BINARY_DIR} ${config_SRCS} COMPILE_DEFINITIONS -DTEST_DECLARE_QSORT_R=ON)
+-if(COMPILE_SUCCESS_2 AND (RUN_RESULT_2 EQUAL 0))
+- SET(VAR_2 0)
+-else()
+- SET(VAR_2 1)
+-endif()
+-file(APPEND "${config_FN}" "#define NEED_DECLARE_QSORT_R ${VAR_2}\n")
+-
+-try_run(RUN_RESULT_3 COMPILE_SUCCESS_3 ${CMAKE_CURRENT_BINARY_DIR} ${config_SRCS} COMPILE_DEFINITIONS -DTEST_QSORT_R=ON)
+-if(COMPILE_SUCCESS_3 AND (RUN_RESULT_3 EQUAL 0))
+- SET(VAR_3 1)
+-else()
+- SET(VAR_3 0)
+-endif()
+-file(APPEND "${config_FN}" "#define NEED_QSORT_R ${VAR_3}\n")
+-
+-try_run(RUN_RESULT_4 COMPILE_SUCCESS_4 ${CMAKE_CURRENT_BINARY_DIR} ${config_SRCS} COMPILE_DEFINITIONS -DTEST_SWAP_QSORT_R=ON)
+-if(COMPILE_SUCCESS_4 AND (RUN_RESULT_4 EQUAL 0))
+- SET(VAR_4 1)
+-else()
+- SET(VAR_4 0)
+-endif()
+-file(APPEND "${config_FN}" "#define NEED_SWAP_QSORT_R ${VAR_4}\n")
++file(APPEND "${config_FN}" "#define NEED_DECLARE_QSORT_R 0\n")
++file(APPEND "${config_FN}" "#define NEED_QSORT_R 0\n")
++file(APPEND "${config_FN}" "#define NEED_SWAP_QSORT_R 1\n")
+
+ endif(WIN32)
+
+--
+2.43.2
+
diff --git a/testing/stellarsolver/APKBUILD b/testing/stellarsolver/APKBUILD
new file mode 100644
index 00000000000..3841dda4683
--- /dev/null
+++ b/testing/stellarsolver/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer: Clayton Craft <clayton@craftyguy.net>
+pkgname=stellarsolver
+pkgver=2.5
+pkgrel=0
+pkgdesc="SEP-based star extractor and astrometry.net-based internal astrometric solver"
+url="https://github.com/rlancaste/stellarsolver"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cfitsio-dev
+ cmake
+ gsl-dev
+ qt5-qtbase
+ qt5-qtdeclarative-dev
+ samurai
+ wcslib-dev
+"
+subpackages="$pkgname-dev"
+source="
+ https://github.com/rlancaste/stellarsolver/archive/$pkgver/stellarsolver-$pkgver.tar.gz
+ 0001-don-t-mess-with-qsort_r.patch
+"
+
+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=None \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+003522ac0b4130e0ca16ccb617743e3716aa2a182ad63abfb901ea0b47c28a745e8ca1e5b7874d17636ff948b1ebc055277557f89a159e425af7d2a64f513fe8 stellarsolver-2.5.tar.gz
+ba7533d00359ecd6b66107aaa264185f2a2830d91d4a2287c5a872d116bbf2b88766859b54c9ab93d9589b01a93582e9b68d52ce5328df1f89aea818ed8e3ab6 0001-don-t-mess-with-qsort_r.patch
+"
diff --git a/testing/step-certificates/01-Makefile-GOFLAGS.patch b/testing/step-certificates/01-Makefile-GOFLAGS.patch
deleted file mode 100644
index e2aab0d0b43..00000000000
--- a/testing/step-certificates/01-Makefile-GOFLAGS.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: Charles Wimmer <charles@wimmer.net>
-
-This patch fixes some shell quoting issues. GOFLAGS was not being honored.
-
----
-
-diff -aur a/Makefile b/Makefile
---- a/Makefile
-+++ b/Makefile
-@@ -86,7 +86,7 @@
-
- DATE := $(shell date -u '+%Y-%m-%d %H:%M UTC')
- LDFLAGS := -ldflags='-w -X "main.Version=$(VERSION)" -X "main.BuildTime=$(DATE)"'
--GOFLAGS := CGO_ENABLED=0
-+_GOFLAGS := CGO_ENABLED=0
-
- download:
- $Q go mod download
-@@ -96,23 +96,23 @@
-
- $(PREFIX)bin/$(BINNAME): download $(call rwildcard,*.go)
- $Q mkdir -p $(@D)
-- $Q $(GOOS_OVERRIDE) $(GOFLAGS) go build -v -o $(PREFIX)bin/$(BINNAME) $(LDFLAGS) $(PKG)
-+ $Q $(GOOS_OVERRIDE) $(_GOFLAGS) go build -v -o $(PREFIX)bin/$(BINNAME) $(LDFLAGS) $(PKG)
-
- $(PREFIX)bin/$(CLOUDKMS_BINNAME): download $(call rwildcard,*.go)
- $Q mkdir -p $(@D)
-- $Q $(GOOS_OVERRIDE) $(GOFLAGS) go build -v -o $(PREFIX)bin/$(CLOUDKMS_BINNAME) $(LDFLAGS) $(CLOUDKMS_PKG)
-+ $Q $(GOOS_OVERRIDE) $(_GOFLAGS) go build -v -o $(PREFIX)bin/$(CLOUDKMS_BINNAME) $(LDFLAGS) $(CLOUDKMS_PKG)
-
- $(PREFIX)bin/$(AWSKMS_BINNAME): download $(call rwildcard,*.go)
- $Q mkdir -p $(@D)
-- $Q $(GOOS_OVERRIDE) $(GOFLAGS) go build -v -o $(PREFIX)bin/$(AWSKMS_BINNAME) $(LDFLAGS) $(AWSKMS_PKG)
-+ $Q $(GOOS_OVERRIDE) $(_GOFLAGS) go build -v -o $(PREFIX)bin/$(AWSKMS_BINNAME) $(LDFLAGS) $(AWSKMS_PKG)
-
- $(PREFIX)bin/$(YUBIKEY_BINNAME): download $(call rwildcard,*.go)
- $Q mkdir -p $(@D)
-- $Q $(GOOS_OVERRIDE) $(GOFLAGS) go build -v -o $(PREFIX)bin/$(YUBIKEY_BINNAME) $(LDFLAGS) $(YUBIKEY_PKG)
-+ $Q $(GOOS_OVERRIDE) $(_GOFLAGS) go build -v -o $(PREFIX)bin/$(YUBIKEY_BINNAME) $(LDFLAGS) $(YUBIKEY_PKG)
-
- $(PREFIX)bin/$(PKCS11_BINNAME): download $(call rwildcard,*.go)
- $Q mkdir -p $(@D)
-- $Q $(GOOS_OVERRIDE) $(GOFLAGS) go build -v -o $(PREFIX)bin/$(PKCS11_BINNAME) $(LDFLAGS) $(PKCS11_PKG)
-+ $Q $(GOOS_OVERRIDE) $(_GOFLAGS) go build -v -o $(PREFIX)bin/$(PKCS11_BINNAME) $(LDFLAGS) $(PKCS11_PKG)
-
- # Target to force a build of step-ca without running tests
- simple: build
-@@ -132,7 +132,7 @@
- # Test
- #########################################
- test:
-- $Q $(GOFLAGS) go test -short -coverprofile=coverage.out ./...
-+ $Q $(_GOFLAGS) go test -short -coverprofile=coverage.out ./...
-
- testcgo:
- $Q go test -short -coverprofile=coverage.out ./...
-@@ -142,7 +142,7 @@
- integrate: integration
-
- integration: bin/$(BINNAME)
-- $Q $(GOFLAGS) go test -tags=integration ./integration/...
-+ $Q $(_GOFLAGS) go test -tags=integration ./integration/...
-
- .PHONY: integrate integration
-
-@@ -154,7 +154,7 @@
- $Q gofmt -l -w $(SRC)
-
- lint:
-- $Q $(GOFLAGS) LOG_LEVEL=error golangci-lint run --timeout=30m
-+ $Q $(_GOFLAGS) LOG_LEVEL=error golangci-lint run --timeout=30m
-
- lintcgo:
- $Q LOG_LEVEL=error golangci-lint run --timeout=30m
diff --git a/testing/step-certificates/02-Makefile-yubikey-and-pkcs11-binary.patch b/testing/step-certificates/02-Makefile-yubikey-and-pkcs11-binary.patch
deleted file mode 100644
index 32ce59e0855..00000000000
--- a/testing/step-certificates/02-Makefile-yubikey-and-pkcs11-binary.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From: Dermot Bradley <dermot_bradley@yahoo.com>
-Date: Fri, 28 Aug 2020 19:26 +0100
-Subject: [PATCH] step-certificates: Build Yubikey KMS binary
-
-Enable building of Yubikey KMS binary, to do this also enable CGO.
-
----
-
-diff -aur a/Makefile b/Makefile
---- a/Makefile
-+++ b/Makefile
-@@ -86,7 +86,7 @@
-
- DATE := $(shell date -u '+%Y-%m-%d %H:%M UTC')
- LDFLAGS := -ldflags='-w -X "main.Version=$(VERSION)" -X "main.BuildTime=$(DATE)"'
--_GOFLAGS := CGO_ENABLED=0
-+_GOFLAGS := CGO_ENABLED=1
-
- download:
- $Q go mod download
-@@ -167,15 +167,19 @@
-
- INSTALL_PREFIX?=/usr/
-
--install: $(PREFIX)bin/$(BINNAME) $(PREFIX)bin/$(CLOUDKMS_BINNAME) $(PREFIX)bin/$(AWSKMS_BINNAME)
-+install: $(PREFIX)bin/$(BINNAME) $(PREFIX)bin/$(CLOUDKMS_BINNAME) $(PREFIX)bin/$(AWSKMS_BINNAME) $(PREFIX)bin/$(YUBIKEY_BINNAME) $(PREFIX)bin/$(PKCS11_BINNAME)
- $Q install -D $(PREFIX)bin/$(BINNAME) $(DESTDIR)$(INSTALL_PREFIX)bin/$(BINNAME)
- $Q install -D $(PREFIX)bin/$(CLOUDKMS_BINNAME) $(DESTDIR)$(INSTALL_PREFIX)bin/$(CLOUDKMS_BINNAME)
- $Q install -D $(PREFIX)bin/$(AWSKMS_BINNAME) $(DESTDIR)$(INSTALL_PREFIX)bin/$(AWSKMS_BINNAME)
-+ $Q install -D $(PREFIX)bin/$(YUBIKEY_BINNAME) $(DESTDIR)$(INSTALL_PREFIX)bin/$(YUBIKEY_BINNAME)
-+ $Q install -D $(PREFIX)bin/$(PKCS11_BINNAME) $(DESTDIR)$(INSTALL_PREFIX)bin/$(PKCS11_BINNAME)
-
- uninstall:
- $Q rm -f $(DESTDIR)$(INSTALL_PREFIX)/bin/$(BINNAME)
- $Q rm -f $(DESTDIR)$(INSTALL_PREFIX)/bin/$(CLOUDKMS_BINNAME)
- $Q rm -f $(DESTDIR)$(INSTALL_PREFIX)/bin/$(AWSKMS_BINNAME)
-+ $Q rm -f $(DESTDIR)$(INSTALL_PREFIX)/bin/$(YUBIKEY_BINNAME)
-+ $Q rm -f $(DESTDIR)$(INSTALL_PREFIX)/bin/$(PKCS11_BINNAME)
-
- .PHONY: install uninstall
-
diff --git a/testing/step-certificates/APKBUILD b/testing/step-certificates/APKBUILD
deleted file mode 100644
index 9dbb382d8e7..00000000000
--- a/testing/step-certificates/APKBUILD
+++ /dev/null
@@ -1,57 +0,0 @@
-# Contributor: Adrian L Lange <alpine@p3lim.net>
-# Contributor: Charles Wimmer <charles@wimmer.net>
-# Contributor: Dermot Bradley <dermot_bradley@yahoo.com>
-# Maintainer: Dermot Bradley <dermot_bradley@yahoo.com>
-pkgname=step-certificates
-pkgver=0.17.1
-pkgrel=1
-pkgdesc="Online certificate authority and related tools"
-url="https://smallstep.com/certificates/"
-arch="all !s390x !mips !mips64"
-license="Apache-2.0"
-makedepends="
- bash
- go
- go-bindata
- pcsc-lite-dev
- "
-depends="step-cli"
-options="!check" # No tests as fails for Yubikey
-install="$pkgname.pre-install"
-subpackages="
- $pkgname-openrc
- "
-source="$pkgname-$pkgver.tar.gz::https://github.com/smallstep/certificates/archive/v$pkgver.tar.gz
- 01-Makefile-GOFLAGS.patch
- 02-Makefile-yubikey-and-pkcs11-binary.patch
- step-ca.confd
- step-ca.initd
- step-ca.logrotate
- "
-builddir="$srcdir/certificates-$pkgver"
-
-build() {
- make simple
-}
-
-check() {
- make test
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- install -m 644 -D "$srcdir"/step-ca.confd "$pkgdir"/etc/conf.d/step-ca
- install -m 755 -D "$srcdir"/step-ca.initd "$pkgdir"/etc/init.d/step-ca
-
- install -m 644 -D "$srcdir"/step-ca.logrotate "$pkgdir"/etc/logrotate.d/step-ca
-}
-
-sha512sums="
-840307ae0d5be78ed7f69770f1d9f2d9ef3681c7f9f855b42bbb5df5074b9273c4b7638d95b3a3f29b577902820fc78e91a417a69b96534d9634add8ef302f43 step-certificates-0.17.1.tar.gz
-5cce04fd9233a1de480426d77c21a5318a9d68926ce63dc6b8b14b2061b73312a685971e695ead40c066a24557414b6a00f8bfbab4e64d1e39679378e8970315 01-Makefile-GOFLAGS.patch
-0b49bda9b0b0df9d9e10ab96405a8eff5b50aaf354b8ce424d4f085ef7b033d98169521f798b27dce3959ea18cf97da365613417c40a3d54779fad7ecc15e3d4 02-Makefile-yubikey-and-pkcs11-binary.patch
-c3a6ac7216643dba6dd54bd709e94e6c2d3ad8c04a342845a8873964e3bbca8f96cf40517628af8a0b8ed861757cf09ccea5a65804ba7849114bc75c3636e5d1 step-ca.confd
-9dd2342434f3330d5ce7a6461a71ac1a40f9e1c17f2fc0599f4882c4ba3497ec09809b84f54828a9db87777e65905aff880f36610b3a157c33b6491cbd7ca82b step-ca.initd
-0af3914768275d26cd25a36ac4b33218429da00e3c719bdd7841507b6dc4a9d8c4db30e502072accc111d25333888e9f310baf8260f07545a083ba13719eb4ed step-ca.logrotate
-"
diff --git a/testing/step-certificates/step-ca.confd b/testing/step-certificates/step-ca.confd
deleted file mode 100644
index 271811d88ab..00000000000
--- a/testing/step-certificates/step-ca.confd
+++ /dev/null
@@ -1,16 +0,0 @@
-# Configuration for /etc/init.d/step-certificates
-
-# The directory where all CA-related files will be stored.
-#
-STEPPATH="/etc/step-ca"
-
-# The TCP port number for the CA to listen on.
-PORT="8443"
-
-# The DNS name or IP address for the CA to listen on.
-#
-ADDRESS="localhost"
-
-#
-#
-CA_URL="https://${ADDRESS}:${PORT}"
diff --git a/testing/step-certificates/step-ca.initd b/testing/step-certificates/step-ca.initd
deleted file mode 100644
index e8188674733..00000000000
--- a/testing/step-certificates/step-ca.initd
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/sbin/openrc-run
-
-description="Step CA"
-description_check="Verify configuration"
-
-pidfile="/run/$RC_SVCNAME.pid"
-command="/usr/bin/step-ca"
-command_args="/etc/step-ca/config/ca.json --password-file=/etc/step-ca/password.txt"
-command_background="yes"
-command_user="step-ca:step-ca"
-start_stop_daemon_args="--stdout /var/log/$RC_SVCNAME/${RC_SVCNAME}.log --stderr /var/log/$RC_SVCNAME/${RC_SVCNAME}.err"
-extra_commands="checkconfig"
-
-required_files="/etc/step-ca/config/ca.json /etc/step-ca/password.txt"
-
-depend() {
- use logger dns
- after entropy networking
-}
-
-start_pre() {
- checkconfig
-
- command_args="${command_args} ${EXTRA_ARGS}"
-
- if [ "x${ENTROPY_COUNT}" != "x" ]; then
- command_args="${command_args} -e ${ENTROPY_COUNT}"
- fi
-}
-
-checkconfig() {
- if [ ! -d /var/log/step-ca ]; then
- mkdir -p /var/log/step-ca
- chown step-ca:step-ca /var/log/step-ca
- chmod 700 /var/log/step-ca
- fi
-
- if [ ! -f /etc/step-ca/config/ca.json ]; then
- ewarn "CA configuration file is missing"
- fi
-
- if [ ! -f /etc/step-ca/password.txt ]; then
- ewarn "CA password file is missing"
- fi
-}
diff --git a/testing/step-certificates/step-ca.logrotate b/testing/step-certificates/step-ca.logrotate
deleted file mode 100644
index 1f4ac1277d1..00000000000
--- a/testing/step-certificates/step-ca.logrotate
+++ /dev/null
@@ -1,6 +0,0 @@
-/var/log/step-ca/step-ca.err /var/log/step-ca/step-ca.log {
- compress
- delaycompress
- missingok
- notifempty
-}
diff --git a/testing/step-certificates/step-certificates.pre-install b/testing/step-certificates/step-certificates.pre-install
deleted file mode 100644
index a1fcb30dbaf..00000000000
--- a/testing/step-certificates/step-certificates.pre-install
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-
-addgroup -S step-ca 2>/dev/null
-adduser -S -D -h /etc/step-ca -s /bin/sh -G step-ca \
- -g "step-ca user" step-ca 2>/dev/null
-
-directory_list="config db"
-for directory in $directory_list; do
- mkdir -p /etc/step-ca/"$directory"
-done
-mkdir /var/log/step-ca
-
-step_path_profile="STEPPATH=\"/etc/step-ca\"; export STEPPATH"
-if [ ! -f /etc/step-ca/.profile ]; then
- echo "$step_path_profile" > /etc/step-ca/.profile
-else
- echo "$step_path_profile" >> /etc/step-ca/.profile
-fi
-
-chown -R step-ca:step-ca /etc/step-ca
-chmod -R 700 /etc/step-ca
-
-chown -R step-ca:step-ca /var/log/step-ca
-
-exit 0
diff --git a/testing/stern/APKBUILD b/testing/stern/APKBUILD
new file mode 100644
index 00000000000..590fdce6b5d
--- /dev/null
+++ b/testing/stern/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=stern
+pkgver=1.28.0
+pkgrel=2
+pkgdesc="Multi pod and container log tailing for Kubernetes"
+url="https://github.com/stern/stern"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+checkdepends="tzdata"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/stern/stern/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ GOLDFLAGS="
+ -X github.com/stern/stern/cmd.version=$pkgver
+ -X github.com/stern/stern/cmd.commit=AlpineLinux
+ -X github.com/stern/stern/cmd.date=$(date +%FT%T%Z)
+ "
+ go build -v -o bin/$pkgname -ldflags "$GOLDFLAGS"
+
+ for shell in bash fish zsh; do
+ ./bin/stern --completion $shell > stern.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/$pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 stern.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/stern
+ install -Dm644 stern.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_stern
+ install -Dm644 stern.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/stern.fish
+}
+
+sha512sums="
+cae6aab0da301448352c346d4797c8e34b64411fccb1e925ef26ad918b355008d17bba1146074cea299019af33470a778a0481773c0867242699d4ba63a6531f stern-1.28.0.tar.gz
+"
diff --git a/testing/stgit/APKBUILD b/testing/stgit/APKBUILD
index 0731b20246b..3c235590043 100644
--- a/testing/stgit/APKBUILD
+++ b/testing/stgit/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Joseph Benden <joe@benden.us>
pkgname=stgit
pkgver=1.3
-pkgrel=1
+pkgrel=5
pkgdesc="Manage a stack of patches using GIT as a backend"
arch="noarch"
url="http://www.procode.org/stgit/"
@@ -11,6 +11,7 @@ options="!check" # unit-tests fail due to iconv usage
depends="git python3"
makedepends="asciidoc xmlto perl py3-setuptools"
subpackages="
+ $pkgname-pyc
$pkgname-doc
$pkgname-zsh-completion
$pkgname-fish-completion
@@ -59,7 +60,7 @@ package() {
install -Dm0644 completion/stgit.zsh \
"$pkgdir"/usr/share/zsh/site-functions/_stgit
install -Dm0644 completion/stg.fish \
- "$pkgdir"/usr/share/fish/completions/stg.fish
+ "$pkgdir"/usr/share/fish/vendor_completions.d/stg.fish
# lisp
install -Dm0644 contrib/stgit.el -t "$pkgdir"/usr/share/emacs/site-lisp
diff --git a/testing/sthttpd/APKBUILD b/testing/sthttpd/APKBUILD
index 6c4df168f08..3cdea07f5ba 100644
--- a/testing/sthttpd/APKBUILD
+++ b/testing/sthttpd/APKBUILD
@@ -3,7 +3,7 @@
pkgname=sthttpd
_pkgname=thttpd
pkgver=2.27.1
-pkgrel=1
+pkgrel=2
pkgdesc="Supported fork of the thttpd web server"
url="https://github.com/blueness/sthttpd"
arch="all"
diff --git a/testing/stockfish/APKBUILD b/testing/stockfish/APKBUILD
new file mode 100644
index 00000000000..fb177f78dd6
--- /dev/null
+++ b/testing/stockfish/APKBUILD
@@ -0,0 +1,65 @@
+# Contributor: Prokop RandáÄek <prokop@rdck.dev>
+# Maintainer: Prokop RandáÄek <prokop@rdck.dev>
+pkgname=stockfish
+pkgver=16
+_nnue="5af11540bbfe"
+pkgrel=0
+pkgdesc="Strong chess engine"
+url="https://stockfishchess.org/"
+# s390x: doesn't build
+# ppc64le: fails tests
+arch="all !ppc64le !s390x"
+license="GPL-3.0-only"
+checkdepends="bash expect"
+source="$pkgname-$pkgver.tar.gz::https://github.com/official-stockfish/Stockfish/archive/refs/tags/sf_$pkgver.tar.gz
+ https://tests.stockfishchess.org/api/nn/nn-$_nnue.nnue
+ no-lto.patch
+ "
+builddir="$srcdir/Stockfish-sf_$pkgver/src"
+
+prepare() {
+ default_prepare
+
+ ln -sfv "$srcdir"/nn-$_nnue.nnue "$builddir"/
+}
+
+build() {
+ export CXXFLAGS="$CXXFLAGS -O2"
+ export CPPFLAGS="$CPPFLAGS -O2"
+
+ local arch
+ case "$CARCH" in
+ x86_64) arch=x86-64 ;;
+ x86) arch=x86-32 ;;
+ aarch64) arch=armv8 ;;
+ armhf) arch=armv7 ;;
+ ppc64le) arch=ppc-64 ;;
+ armv7) arch=armv7 ;;
+ riscv64) arch=riscv64 ;;
+ *) die "Unable to determine architecture from CARCH=$CARCH" ;;
+ esac
+
+ make COMP="${CC:-cc}" ARCH="$arch" profile-build
+}
+
+check() {
+ # not supported on all platforms that stockfish supports
+ # ../tests/instrumented.sh --valgrind
+ # ../tests/instrumented.sh --valgrind-thread
+ # requires building with sanitizers
+ # ../tests/instrumented.sh --sanitizer-undefined
+ # ../tests/instrumented.sh --sanitizer-thread
+ ../tests/instrumented.sh
+ ../tests/perft.sh
+ ../tests/reprosearch.sh
+}
+
+package() {
+ install -Dm755 stockfish "$pkgdir"/usr/bin/stockfish
+}
+
+sha512sums="
+cc8728bd76cb71ab2e3dddb909acf3ebd26a7d44130509dcb2cd90959c939d7324abebf2c69092230028333428a90fa345a10fcb4e9c50e53f4958c61daedcc7 stockfish-16.tar.gz
+e86633e1129a5e9727d137ddddba44918bb4dfb88b192659e2323ae4eafc44175c1e9c24ab1ce72dc2a05682b00bdf6aba1f1caf6b0b44ec1cef4a14ae465006 nn-5af11540bbfe.nnue
+1f80c03f8b1250c74344609fddd03d8360637149bba8a0e7110e2148e289b02242f7fd1e02af2536fe008a3aa6da89505e626f4e8af04b5652647867975eb0dc no-lto.patch
+"
diff --git a/testing/stockfish/no-lto.patch b/testing/stockfish/no-lto.patch
new file mode 100644
index 00000000000..48cf87e1fbc
--- /dev/null
+++ b/testing/stockfish/no-lto.patch
@@ -0,0 +1,47 @@
+diff --git a/Makefile b/Makefile
+index 82664618..41137e45 100644
+--- a/Makefile
++++ b/Makefile
+@@ -713,41 +713,6 @@ ifneq ($(GIT_DATE), )
+ CXXFLAGS += -DGIT_DATE=$(GIT_DATE)
+ endif
+
+-### 3.8 Link Time Optimization
+-### This is a mix of compile and link time options because the lto link phase
+-### needs access to the optimization flags.
+-ifeq ($(optimize),yes)
+-ifeq ($(debug), no)
+- ifeq ($(comp),$(filter $(comp),clang icx))
+- CXXFLAGS += -flto=full
+- ifeq ($(comp),icx)
+- CXXFLAGS += -fwhole-program-vtables
+- endif
+- ifeq ($(target_windows),yes)
+- CXXFLAGS += -fuse-ld=lld
+- endif
+- LDFLAGS += $(CXXFLAGS)
+-
+-# GCC and CLANG use different methods for parallelizing LTO and CLANG pretends to be
+-# GCC on some systems.
+- else ifeq ($(comp),gcc)
+- ifeq ($(gccisclang),)
+- CXXFLAGS += -flto -flto-partition=one
+- LDFLAGS += $(CXXFLAGS) -flto=jobserver
+- else
+- CXXFLAGS += -flto=full
+- LDFLAGS += $(CXXFLAGS)
+- endif
+-
+-# To use LTO and static linking on Windows,
+-# the tool chain requires gcc version 10.1 or later.
+- else ifeq ($(comp),mingw)
+- CXXFLAGS += -flto -flto-partition=one
+- LDFLAGS += $(CXXFLAGS) -save-temps
+- endif
+-endif
+-endif
+-
+ ### 3.9 Android 5 can only run position independent executables. Note that this
+ ### breaks Android 4.0 and earlier.
+ ifeq ($(OS), Android)
+
diff --git a/testing/stone-soup/APKBUILD b/testing/stone-soup/APKBUILD
index 01ed21826dd..3cca1755bf9 100644
--- a/testing/stone-soup/APKBUILD
+++ b/testing/stone-soup/APKBUILD
@@ -1,29 +1,47 @@
# Contributor: Matthew T Hoare <matthew.t.hoare@gmail.com>
# Maintainer: Matthew T Hoare <matthew.t.hoare@gmail.com>
pkgname=stone-soup
-pkgver=0.27.1
+pkgver=0.31.0
pkgrel=0
pkgdesc="Open-source, single-player, role-playing roguelike game of exploration and treasure-hunting"
url="https://crawl.develz.org"
arch="all"
license="BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND MIT AND Zlib AND Apache-2.0 AND BSL-1.0"
-depends="mesa-dri-gallium ttf-dejavu"
-makedepends="freetype-dev glu-dev libexecinfo-dev lua5.1-dev mesa-dev ncurses-dev perl pngcrush py3-yaml
- python3 sdl2-dev sdl2_image-dev sdl2_mixer-dev sqlite-dev"
+depends="mesa-dri-gallium font-dejavu"
+makedepends="
+ freetype-dev
+ glu-dev
+ lua5.1-dev
+ mesa-dev
+ ncurses-dev
+ perl
+ pngcrush
+ py3-yaml
+ python3
+ sdl2-dev
+ sdl2_image-dev
+ sdl2_mixer-dev
+ sqlite-dev
+ "
options="!check" # no checks
source="$pkgname-$pkgver.tar.xz::https://github.com/crawl/crawl/releases/download/$pkgver/stone_soup-$pkgver-nodeps.tar.xz
crawl.desktop
- crawl-tiles.desktop"
+ crawl-tiles.desktop
+ no-execinfo.patch
+ root-owner.patch
+ "
builddir="$srcdir/stone_soup-$pkgver"
prepare() {
default_prepare
- # fix backtrace build failure
- sed -i '10s/$/ \&\& (!defined(TARGET_OS_LINUX) || defined(_GLIBC_))/' source/crash.cc
-
- # adjust Makefile to use owner root:root
- sed -i 's/INSTALL_UGRP := games:games/INSTALL_UGRP := root:root/' source/Makefile
+ # fix version
+ git init .
+ git config user.name a
+ git config user.email 'a@a'
+ git add .
+ git commit -m "$pkgver"
+ git tag $pkgver
# create separate source directories for console and tiles versions
cp -r source console
@@ -32,10 +50,25 @@ prepare() {
build() {
# first build tiles version
- make -C tiles TILES=y SOUND=y
+ make -C tiles \
+ DESTDIR="$pkgdir" \
+ SAVEDIR="~/.crawl/" \
+ DATADIR="/usr/share/$pkgname/data" \
+ TILES=y \
+ SOUND=y \
+ EXTERNAL_LDFLAGS="$LDFLAGS" \
+ prefix=/usr \
+ bin_prefix=bin
# then build console version
- make -C console SOUND=y
+ make -C console \
+ DESTDIR="$pkgdir" \
+ SAVEDIR="~/.crawl/" \
+ DATADIR="/usr/share/$pkgname/data" \
+ SOUND=y \
+ EXTERNAL_LDFLAGS="$LDFLAGS" \
+ prefix=/usr \
+ bin_prefix=bin
}
package() {
@@ -75,7 +108,9 @@ package() {
}
sha512sums="
-34f693deb6a3e89c63231831402d2b3c909d0ad40142ab9dce704af2443ca25e44f5feefed5875dae03a0c70773425a545c932b2f67fd639e3550722fb2b81bf stone-soup-0.27.1.tar.xz
+f0027144fb538f605c9c8e1987d689e79341e19dc393971c86cfc3ec7aa4d62d5abddc4a38e05d8b2d047098b64cdcc0dd003b4e92ecdab09dae8a16a76043a6 stone-soup-0.31.0.tar.xz
8e14cfa97f8765126050b14dc85cee60a6f00fe458b21714a34403872fbfc11f7b1d42897424936fbaaba5ad0fed76c10a90c4c144076c9526f7e653c3dbbca0 crawl.desktop
d8c64f6c388f3551e6744b0fccfa0fc7148cb839174a5ed464fdb46511f8e0f4e66cb297f91446e5e098cbacddaba88476f499fb50e6c39e6563fe8231dafe54 crawl-tiles.desktop
+3fbd434786edb456b27942cd1aa8034241359b701afadea73f54c3622b1ccaf6f7f3a1c01b8d0d3e8388baaed38b205c4013da35a00974848af5b27f6141c379 no-execinfo.patch
+9b785d08e722a8fee4f1fb624b77110cfdaa6d74422d874d53a13064b1054463738aceb4a40c83a1c5932c07f76186f1136bb60c00ed96e10e225edcb4722636 root-owner.patch
"
diff --git a/testing/stone-soup/no-execinfo.patch b/testing/stone-soup/no-execinfo.patch
new file mode 100644
index 00000000000..8ae98b27c4a
--- /dev/null
+++ b/testing/stone-soup/no-execinfo.patch
@@ -0,0 +1,13 @@
+diff --git a/source/crash.cc b/source/crash.cc
+index 7b4f65d..e77f8ce 100644
+--- a/source/crash.cc
++++ b/source/crash.cc
+@@ -7,7 +7,7 @@
+
+ #include "crash.h"
+
+-#if defined(UNIX)
++#if defined(__GLIBC__)
+ #include <unistd.h>
+ #include <sys/param.h>
+ #define BACKTRACE_SUPPORTED
diff --git a/testing/stone-soup/root-owner.patch b/testing/stone-soup/root-owner.patch
new file mode 100644
index 00000000000..6605d259b35
--- /dev/null
+++ b/testing/stone-soup/root-owner.patch
@@ -0,0 +1,13 @@
+diff --git a/source/Makefile b/source/Makefile
+index eb65f6d..2b13ab1 100644
+--- a/source/Makefile
++++ b/source/Makefile
+@@ -407,7 +407,7 @@ MCHMOD_SAVEDIR := 775
+ MCHMOD_LOGS := 664
+
+ # The user:group to install the game as.
+-INSTALL_UGRP := games:games
++INSTALL_UGRP := root:root
+ endif
+
+ ifeq ($(patsubst %/local,%,$(patsubst %/,%,$(prefix))),/usr)
diff --git a/testing/straw-viewer/APKBUILD b/testing/straw-viewer/APKBUILD
index 934d3e582c9..e0c826d5a46 100644
--- a/testing/straw-viewer/APKBUILD
+++ b/testing/straw-viewer/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Milan P. Stanić <mps@arvanta.net>
pkgname=straw-viewer
pkgver=0.1.3
-pkgrel=0
+pkgrel=2
pkgdesc="GTK+ interface to YouTube using the API of invidio.us"
url="https://github.com/trizen/straw-viewer"
arch="noarch"
@@ -10,8 +10,7 @@ license="Artistic-2.0 License"
depends="perl perl-gtk3 perl-file-sharedir perl-data-dump perl-json-xs
perl-lwp-protocol-https perl-term-readline-gnu"
subpackages="$pkgname-doc"
-makedepends="perl-dev perl-libwww perl-json perl-json-xs perl-lwp-protocol-https
- perl-data-dump perl-gtk3 perl-file-sharedir perl-term-readline-gnu
+makedepends="perl-dev perl-libwww perl-json
perl-unicode-linebreak perl-module-build
"
source="straw-viewer-$pkgver.tar.gz::https://github.com/trizen/straw-viewer/archive/$pkgver.tar.gz"
diff --git a/testing/streamlink/APKBUILD b/testing/streamlink/APKBUILD
deleted file mode 100644
index 9dca9550892..00000000000
--- a/testing/streamlink/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Robert Sacks <robert@sacks.email>
-# Maintainer: Robert Sacks <robert@sacks.email>
-pkgname=streamlink
-pkgver=2.0.0
-pkgrel=2
-pkgdesc="CLI for extracting streams from various websites to a video player of your choosing"
-options="!check" # Locale-specific tests fail
-url="https://streamlink.github.io/"
-arch="noarch"
-license="BSD-2-Clause"
-depends="python3 py3-pycryptodome py3-pycountry py3-requests py3-pysocks
- py3-websocket-client py3-isodate rtmpdump"
-makedepends="py3-setuptools py3-sphinx py3-recommonmark"
-checkdepends="py3-pytest py3-pytest-cov py3-codecov py3-coverage py3-freezegun
- py3-requests-mock py3-mock"
-subpackages="$pkgname-doc"
-source="streamlink-$pkgver.tar.gz::https://github.com/streamlink/streamlink/archive/$pkgver.tar.gz"
-
-build() {
- export STREAMLINK_USE_PYCOUNTRY=1
- python3 setup.py build
- python3 setup.py build_sphinx -b man
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- install -Dm644 build/sphinx/man/streamlink.1 \
- "$pkgdir"/usr/share/man/man1/streamlink.1
-}
-
-sha512sums="908d6ae7c6cfc81ed06443b36cf947b921c3130bfcc16f4c7b5369bde68b03689c2188b23d3522af4328b7af1531a04bbebc05d6b99f11e0542a9d03402718b1 streamlink-2.0.0.tar.gz"
diff --git a/testing/strfry/APKBUILD b/testing/strfry/APKBUILD
new file mode 100644
index 00000000000..5e1a853c164
--- /dev/null
+++ b/testing/strfry/APKBUILD
@@ -0,0 +1,132 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=strfry
+pkgver=0.9.6
+pkgrel=0
+pkgdesc="Nostr relay written in C++"
+url="https://github.com/hoytech/strfry"
+# x86, armhf, s390x: flatbuffers not available
+# riscv64: not detected as supported by Double-Conversion
+arch="all !x86 !armhf !s390x !riscv64"
+license="GPL-3.0-or-later"
+makedepends="
+ flatbuffers-dev
+ libsecp256k1-dev
+ linux-headers
+ lmdb-dev
+ openssl-dev
+ perl-regexp-grammars
+ perl-template-toolkit
+ perl-yaml
+ zlib-dev
+ zstd-dev
+ "
+install="$pkgname.pre-install"
+subpackages="$pkgname-openrc"
+_negentropy=bdd421c1fbf8ca6d4404597411674f09eb578eb5
+_golpe=19ce1715c271eb5c1ae3dc9f422093e4afe6c5e7
+_uwebsockets=fb7e8e60a7eb02f476b3b1785d810ac91cc685f2
+_hoytech_cpp=73dcad058bfd96f9b2a0e7d5032fde441ad6a808
+_config=ab8c38a2d00e58dd004fd71da7f0e70749993fc1
+_rasgueadb=8cb6edd4aa6cdedfb6c2f8d34102b392bb1586fe
+_lmdbxx=13851b3333a8840398ba0aa8b7d0febe661b08d5
+_docopt_cpp=6f5de76970be94a6f1e4556d1716593100e285d2
+_json=d73d01389660084a8dbedd44eb674da57f26aba6
+_pegtl=9afe8a71920b9dadf309a503d734143e1ff78b3e
+_loguru=644f60dca77de3b0f718a03d370c8ebdf5f97968
+_parallel_hashmap=87ece91c6e4c457c5faac179dae6e11e2cd39b16
+_templar=05554eea58a15d461e3385507c1c3fd1bfd05fa3
+source="https://github.com/hoytech/strfry/archive/$pkgver/strfry-$pkgver.tar.gz
+ negentropy-$_negentropy.tar.gz::https://github.com/hoytech/negentropy/archive/$_negentropy.tar.gz
+ golpe-$_golpe.tar.gz::https://github.com/hoytech/golpe/archive/$_golpe.tar.gz
+ uwebsockets-$_uwebsockets.tar.gz::https://github.com/hoytech/uWebSockets/archive/$_uwebsockets.tar.gz
+ hoytech-cpp-$_hoytech_cpp.tar.gz::https://github.com/hoytech/hoytech-cpp/archive/$_hoytech_cpp.tar.gz
+ taocpp-config-$_config.tar.gz::https://github.com/taocpp/config/archive/$_config.tar.gz
+ rasgueadb-$_rasgueadb.tar.gz::https://github.com/hoytech/rasgueadb/archive/$_rasgueadb.tar.gz
+ lmdbxx-$_lmdbxx.tar.gz::https://github.com/hoytech/lmdbxx/archive/$_lmdbxx.tar.gz
+ docopt.cpp-$_docopt_cpp.tar.gz::https://github.com/docopt/docopt.cpp/archive/$_docopt_cpp.tar.gz
+ taocpp-json-$_json.tar.gz::https://github.com/taocpp/json/archive/$_json.tar.gz
+ taocpp-PEGTL-$_pegtl.tar.gz::https://github.com/taocpp/PEGTL/archive/$_pegtl.tar.gz
+ loguru-$_loguru.tar.gz::https://github.com/emilk/loguru/archive/$_loguru.tar.gz
+ parallel-hashmap-$_parallel_hashmap.tar.gz::https://github.com/greg7mdp/parallel-hashmap/archive/$_parallel_hashmap.tar.gz
+ templar-$_templar.tar.gz::https://github.com/hoytech/templar/archive/$_templar.tar.gz
+ pre-build-pkgver_patch
+ strfry-conf.patch
+ strfry.initd
+ strfry.confd
+ "
+
+prepare() {
+ default_prepare
+
+ rmdir -v external/negentropy
+ ln -sv ../../negentropy-$_negentropy external/negentropy
+ rmdir -v golpe
+ ln -sv ../golpe-$_golpe golpe
+
+ rmdir -v golpe/external/*
+ ln -sv ../../uWebSockets-$_uwebsockets \
+ golpe/external/uWebSockets
+ ln -sv ../../hoytech-cpp-$_hoytech_cpp \
+ golpe/external/hoytech-cpp
+ ln -sv ../../config-$_config \
+ golpe/external/config
+ ln -sv ../../rasgueadb-$_rasgueadb \
+ golpe/external/rasgueadb
+ ln -sv ../../lmdbxx-$_lmdbxx \
+ golpe/external/lmdbxx
+ ln -sv ../../docopt.cpp-$_docopt_cpp \
+ golpe/external/docopt.cpp
+ ln -sv ../../json-$_json \
+ golpe/external/json
+ ln -sv ../../PEGTL-$_pegtl \
+ golpe/external/PEGTL
+ ln -sv ../../loguru-$_loguru \
+ golpe/external/loguru
+ ln -sv ../../parallel-hashmap-$_parallel_hashmap \
+ golpe/external/parallel-hashmap
+ ln -sv ../../templar-$_templar \
+ golpe/external/templar
+
+ # fix version string
+ patch golpe/pre-build.pl "$srcdir"/pre-build-pkgver_patch
+ sed -i "s|@PKGVER@|$pkgver|" golpe/pre-build.pl
+}
+
+build() {
+ make
+}
+
+check() {
+ ./strfry --version
+ ./strfry --help
+}
+
+package() {
+ install -Dvm755 strfry -t "$pkgdir"/usr/sbin/
+ install -Dvm644 strfry.conf -t "$pkgdir"/etc/
+
+ install -Dvm755 "$srcdir"/strfry.initd "$pkgdir"/etc/init.d/strfry
+ install -Dvm644 "$srcdir"/strfry.confd "$pkgdir"/etc/conf.d/strfry
+}
+
+sha512sums="
+aa8b4965c85596b7af754060f1e1d43cd3cc6e1bd1ad97241a6314bfda6f6ef6a6b47007aa3c549a78378f2419b0a8fa825b28be6126a2549219c41e3a0c6f1d strfry-0.9.6.tar.gz
+cbb8e18b6c48434618cda528c386908a9de80cdb85f807031710dcb3898b5b5f149823be4365c32d9656aa76dcaae69e8aa4e0fa18473c200846782ea87f3759 negentropy-bdd421c1fbf8ca6d4404597411674f09eb578eb5.tar.gz
+5889931319907ae3bd01223693de4fcae89672c15a4113d51e1b8470fab49486c77af1ee78fa71942dd11cbd8d0b99b31f83ad7039b3951f4dba639b1a4e6d03 golpe-19ce1715c271eb5c1ae3dc9f422093e4afe6c5e7.tar.gz
+3b4d8e1b5c55ce7eb147c309b42af09fa40eaa037828c11851c47cbe417fe280bd0b825fb677fc7a5b14021669971ed09dcffa371e663ea9b38f6ee3cc9d68a9 uwebsockets-fb7e8e60a7eb02f476b3b1785d810ac91cc685f2.tar.gz
+dec902b5a3143113840dab26b060689f117e61e3896a9135d35e430f59fe367b752665274f6d936a95933858beec1927e14b5e93b5b3ad571fa7e20b839d14c0 hoytech-cpp-73dcad058bfd96f9b2a0e7d5032fde441ad6a808.tar.gz
+0d09483540b5b118b29338149ff41b1a8f70a5e2462746f08aa100203c1815d5978eb818613d3771959a34c9c24bb94d46a22efd1e50ff8efdd7308ce049c634 taocpp-config-ab8c38a2d00e58dd004fd71da7f0e70749993fc1.tar.gz
+d70ba9518d68e230d62aa8df228f6149e24ce24901fccadf0c731ac40a9f10d5fdcc2279b8f7281ee7103de69d67a164a3cb7967e55b710b7ea7b303f6c26602 rasgueadb-8cb6edd4aa6cdedfb6c2f8d34102b392bb1586fe.tar.gz
+d29a8a3e0be4ca7e7b7de61f4012ad74356611238405d798ae7e3424b791e8f90a714a8e2fbb2f1ab2782e80b0b3485b2f1f0d044f67341499c1696b2a75d7a7 lmdbxx-13851b3333a8840398ba0aa8b7d0febe661b08d5.tar.gz
+e4212711e88beee26258ef2644dd8577b6708dea47f05c6cce596c3198f659aa7c1e1d25eb57aae8b19d422c7bd7f628ba6db8f62ed1d3d28f171ab1db86db73 docopt.cpp-6f5de76970be94a6f1e4556d1716593100e285d2.tar.gz
+46e1e73700c773c473d939ff435d2a942b0e67c7933575ef4a254d2dbd3dee68f1d57f6c0c66e84dd5be8f9a4102ae23fc5f77f4c4e78fb9c72fc5c28a313d24 taocpp-json-d73d01389660084a8dbedd44eb674da57f26aba6.tar.gz
+879aeba0bb817657f60e8e74bf95f2bed6ed03f93e69cfda6d6ad5235719f70f177a9ba34d46c03c53c61bf07e676e943f186d46dd67c21827e63d21691a52fe taocpp-PEGTL-9afe8a71920b9dadf309a503d734143e1ff78b3e.tar.gz
+c937e6b359bdbc476758a3caaa32cd0ebd8ae443fa786887c811e8cc35c756a4d04ab247c7bd95f499e1345c0c2ca67716f4d8fadd84e963ca4fee941bde7073 loguru-644f60dca77de3b0f718a03d370c8ebdf5f97968.tar.gz
+9cb3db26acb39395475aed1dac1188ab3e32359d529ef5b19164a2410ee986c4255f652099ab20f3afdff1ce5ac28b5efbf66887bbec39f6327115041375e919 parallel-hashmap-87ece91c6e4c457c5faac179dae6e11e2cd39b16.tar.gz
+f97b8bf0b349a5a90eefdde008e0c185f0904d6b7b3deccec2f96a6ee4246e0e285cd157e74978255540ca369820c438a1a53039c12fd8638c1531a9ed58c88d templar-05554eea58a15d461e3385507c1c3fd1bfd05fa3.tar.gz
+0eb3137fbb994a7f74e1008b0e8e49e1c00f6d55d4807705bef5de84b9fa92e3de64378fab3d6ef37231f66e8f3bc477428787a2a241ac024b732fd58c1aa654 pre-build-pkgver_patch
+a2daa5d7cb87e953667558b99d22a0f119cb83e4931b559c2d21b7e8e494707b3a6d4ecb2722de35386e60d07efb56bb8cda05746708b985bf97f153ea6981b4 strfry-conf.patch
+b7d370863afecc96545ed9bfe5e5c796e23be4d473586129b610eb6bbd7b2a33c919ffdb3214d174d375ef60c089665065d27c9aef251ee4560dabe47e0c7b98 strfry.initd
+e1819ab27702adb341cba3e5d9c3f4f0a4a840b8337870b1b78011691ab8d13f194e0a92bc53889adc0a1fbf92becac1ba41e47f4b82a300b4d9e77af4e4593e strfry.confd
+"
diff --git a/testing/strfry/pre-build-pkgver_patch b/testing/strfry/pre-build-pkgver_patch
new file mode 100644
index 00000000000..2997c002d8a
--- /dev/null
+++ b/testing/strfry/pre-build-pkgver_patch
@@ -0,0 +1,11 @@
+--- a/golpe/pre-build.pl
++++ b/golpe/pre-build.pl
+@@ -29,7 +29,7 @@
+ print $fh <<"END";
+ #pragma once
+
+-#define APP_GIT_VERSION "$gitVer"
++#define APP_GIT_VERSION "@PKGVER@"
+ END
+ }
+
diff --git a/testing/strfry/strfry-conf.patch b/testing/strfry/strfry-conf.patch
new file mode 100644
index 00000000000..267db57b0db
--- /dev/null
+++ b/testing/strfry/strfry-conf.patch
@@ -0,0 +1,20 @@
+--- a/strfry.conf
++++ b/strfry.conf
+@@ -3,7 +3,7 @@
+ ##
+
+ # Directory that contains the strfry LMDB database (restart required)
+-db = "./strfry-db/"
++db = "/var/lib/strfry/"
+
+ dbParams {
+ # Maximum number of threads/processes that can simultaneously have LMDB transactions open (restart required)
+@@ -47,7 +47,7 @@
+ port = 7777
+
+ # Set OS-limit on maximum number of open files/sockets (if 0, don't attempt to set) (restart required)
+- nofiles = 1000000
++ nofiles = 0
+
+ # HTTP header that contains the client's real IP, before reverse proxying (ie x-real-ip) (MUST be all lower-case)
+ realIpHeader = ""
diff --git a/testing/strfry/strfry.confd b/testing/strfry/strfry.confd
new file mode 100644
index 00000000000..2c0f19e2819
--- /dev/null
+++ b/testing/strfry/strfry.confd
@@ -0,0 +1,7 @@
+# Configuration for /etc/init.d/strfry
+
+# Configuration file for strfry daemon.
+#STRFRY_CONFIG="/etc/strfry.conf"
+
+# Comment out to disable process supervisor.
+supervisor=supervise-daemon
diff --git a/testing/strfry/strfry.initd b/testing/strfry/strfry.initd
new file mode 100644
index 00000000000..8cc3b2a8b9e
--- /dev/null
+++ b/testing/strfry/strfry.initd
@@ -0,0 +1,30 @@
+#!/sbin/openrc-run
+
+name=strfry
+description="Strfry Nostr relay"
+
+: ${STRFRY_CONFIG:="/etc/strfry.conf"}
+export STRFRY_CONFIG
+
+command="/usr/sbin/strfry"
+command_args="relay"
+command_background="yes"
+command_user="strfry:strfry"
+pidfile="/run/${RC_SVCNAME}.pid"
+output_log="/var/log/strfry.log"
+error_log="/var/log/strfry.log"
+
+required_files="$STRFRY_CONFIG"
+
+depend() {
+ need localmount net
+ after firewall
+}
+
+start_pre() {
+ checkpath -q -f -m 0640 -o "$command_user" \
+ "$STRFRY_CONFIG" "$output_log" "$error_log"
+
+ checkpath -q -d -m 0750 -o "$command_user" \
+ /var/lib/strfry
+}
diff --git a/testing/strfry/strfry.pre-install b/testing/strfry/strfry.pre-install
new file mode 100644
index 00000000000..3285bd9b24e
--- /dev/null
+++ b/testing/strfry/strfry.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S strfry 2>/dev/null
+adduser -S -D \
+ -h /var/lib/strfry \
+ -s /sbin/nologin \
+ -G strfry \
+ -g "Strfry Nostr relay" \
+ strfry 2>/dev/null
+
+exit 0
diff --git a/testing/stubby/APKBUILD b/testing/stubby/APKBUILD
new file mode 100644
index 00000000000..4fa530e0cf6
--- /dev/null
+++ b/testing/stubby/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Johannes Heimansberg <git@jhe.dedyn.io>
+# Maintainer: Johannes Heimansberg <git@jhe.dedyn.io>
+pkgname=stubby
+pkgver=0.4.3
+pkgrel=0
+pkgdesc="DNS Privacy stub resolver"
+url="https://dnsprivacy.org/dns_privacy_daemon_-_stubby/"
+arch="all"
+license="BSD-3-Clause"
+subpackages="$pkgname-doc $pkgname-openrc"
+makedepends="cmake
+ getdns-dev
+ libcap-utils
+ openssl-dev
+ samurai
+ yaml-dev
+"
+checkdepends="check"
+pkgusers="stubby"
+pkggroups="stubby"
+source="$pkgname-$pkgver.tar.gz::https://github.com/getdnsapi/stubby/archive/refs/tags/v$pkgver.tar.gz
+ stubby.confd
+ stubby.initd
+ "
+options="!check" # no tests
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DENABLE_GETDNS_STATIC_LINK=OFF \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ rmdir -p "$pkgdir"/var/run || true
+ install -Dm644 "$srcdir"/stubby.confd "$pkgdir"/etc/conf.d/stubby
+ install -Dm755 "$srcdir"/stubby.initd "$pkgdir"/etc/init.d/stubby
+}
+
+sha512sums="
+422d46b03200178acab6129d0268b5732fa2f439ad164c2ce771e68cd01737b4248d5a678ba0da716af41a24110f6b41ef3bcc567ad6fd94838a9be2d2cc8da3 stubby-0.4.3.tar.gz
+1ca2464264d938f880460a27dc92325a30fa35c26461bf69dba2f17849b2d6450ba3bec704ead19148daf06f882c2d60f99dc8f970d0229e62040b793aca9517 stubby.confd
+85a5be32a757de431cf419754a77ff7e10c7ab8a0277d37748fa37ec6f75acc6973cd1774c031729190ba760a11325874e1813924e5430bd3638149ffbd5c3a3 stubby.initd
+"
diff --git a/testing/stubby/stubby.confd b/testing/stubby/stubby.confd
new file mode 100644
index 00000000000..232545567d0
--- /dev/null
+++ b/testing/stubby/stubby.confd
@@ -0,0 +1,2 @@
+# comment out to not use process supervisor
+supervisor=supervise-daemon
diff --git a/testing/stubby/stubby.initd b/testing/stubby/stubby.initd
new file mode 100644
index 00000000000..7a1a33a19c2
--- /dev/null
+++ b/testing/stubby/stubby.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+
+name="Stubby DNS Privacy stub resolver"
+
+command="/usr/bin/stubby"
+command_args="$command_args -C /etc/stubby/stubby.yml"
+command_background=true
+pidfile="/run/${RC_SVCNAME}"
+command_user="stubby:stubby"
+capabilities="^cap_net_bind_service"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/stubbyboot/APKBUILD b/testing/stubbyboot/APKBUILD
new file mode 100644
index 00000000000..d92489b9fcf
--- /dev/null
+++ b/testing/stubbyboot/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Dermot Bradley <dermot_bradley@yahoo.com>
+# Maintainer:
+pkgname=stubbyboot
+pkgver=1.0.2
+pkgrel=1
+pkgdesc="simple UEFI stub"
+url="https://github.com/puzzleos/stubby"
+arch="x86 x86_64 aarch64"
+license="LGPL-2.1"
+depends="$pkgname-efistub=$pkgver-r$pkgrel"
+makedepends="
+ gnu-efi-dev
+ "
+subpackages="
+ $pkgname-efistub
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/puzzleos/stubby/archive/refs/tags/v$pkgver.tar.gz
+ no-werror.patch
+ "
+
+builddir="$srcdir/stubby-$pkgver"
+
+build() {
+ make build
+}
+
+package() {
+ install -Dm755 stubby-smash.1.sh -t "$pkgdir"/usr/bin/
+ install -Dm755 stubby-smash.2.sh -t "$pkgdir"/usr/bin/
+ case "$CARCH" in
+ aarch64 )
+ _archname="aa64" ;;
+ x86 )
+ _archname="ia32" ;;
+ x86_64 )
+ _archname="x64" ;;
+ esac
+
+ install -Dm755 stubby.efi \
+ "$pkgdir"/usr/lib/$pkgname/linux$_archname.efi.stub
+}
+
+check() {
+ make test
+}
+
+efistub() {
+ pkgdesc="Linux UEFI stub from the stubby bootloader project"
+ depends=
+
+ amove usr/lib/$pkgname
+}
+
+sha512sums="
+fae83c3a720bdb7d62be30856df9676dc1e85051b16d8d2c166e5b7be5fdc5d907e592f180500a3739af6bae8e44a60684a88f66877c0de2445f5257bf29f135 stubbyboot-1.0.2.tar.gz
+85e5a8d2af96550f49ce07e4660fdbc036a9eab63e2dbc53e7c3896a3dbf0044f07990db9f3c7e8ecc28178bd1ea2a5ac448368789563b7275ab636f6665a1e2 no-werror.patch
+"
diff --git a/testing/stubbyboot/no-werror.patch b/testing/stubbyboot/no-werror.patch
new file mode 100644
index 00000000000..0c7682b0568
--- /dev/null
+++ b/testing/stubbyboot/no-werror.patch
@@ -0,0 +1,13 @@
+diff --git a/make.conf b/make.conf
+index a29d8ac..8f4706b 100644
+--- a/make.conf
++++ b/make.conf
+@@ -31,7 +31,7 @@ EFI_CRT_OBJS = ${EFILIB}/crt0-efi-${ARCH}.o
+ EFI_LDS = ${EFILIB}/elf_${ARCH}_efi.lds
+
+ CFLAGS = \
+- -Wall -Werror \
++ -Wall \
+ ${EFIINCS} -fno-stack-protector -fpic -fshort-wchar \
+ -DGIT_VERSION=\"$(shell git rev-parse HEAD | cut -c1-12)\"
+ ifeq (${ARCH},x86_64)
diff --git a/testing/sturmreader/APKBUILD b/testing/sturmreader/APKBUILD
index 02d5c85c69c..618ce669b07 100644
--- a/testing/sturmreader/APKBUILD
+++ b/testing/sturmreader/APKBUILD
@@ -1,24 +1,44 @@
# Contributor: Emanuele Sorce <emanuele.sorce@hotmail.com>
# Maintainer: Emanuele Sorce <emanuele.sorce@hotmail.com>
pkgname=sturmreader
-pkgver=3.5.2
+pkgver=3.7.2
pkgrel=0
pkgdesc="E-Book and comic reader for mobile devices"
url="https://gitlab.com/tronfortytwo/sturmreader"
arch="aarch64 armv7 x86 x86_64" # Limited by qt5-qtwebengine
license="GPL-3.0-or-later"
-depends="qt5-qtsvg qt5-qtbase-sqlite qt5-qtwebengine qt5-qtquickcontrols"
-makedepends="cmake qt5-qtdeclarative-dev qt5-qtquickcontrols2-dev qt5-qtsvg-dev
- qt5-qtlocation-dev qt5-qtwebengine-dev qt5-qtwebchannel-dev poppler-qt5-dev
- quazip-dev gettext-dev libintl"
+depends="
+ qt5-qtbase-sqlite
+ qt5-qtquickcontrols
+ qt5-qtsvg
+ qt5-qtsystems
+ "
+makedepends="
+ cmake
+ gettext-dev
+ poppler-qt5-dev
+ qt5-qtdeclarative-dev
+ qt5-qtlocation-dev
+ qt5-qtquickcontrols2-dev
+ qt5-qtsvg-dev
+ qt5-qtwebchannel-dev
+ qt5-qtwebengine-dev
+ quazip-dev
+ samurai
+ "
subpackages="$pkgname-lang"
-source="https://gitlab.com/tronfortytwo/sturmreader/-/archive/$pkgver/sturmreader-$pkgver.tar.gz"
+source="https://gitlab.com/tronfortytwo/sturmreader/-/archive/$pkgver/sturmreader-$pkgver.tar.gz
+ intl.patch
+ "
# Sturm reader has no testing! Not even a --version thing
options="!check"
build() {
- cmake -DCLICK_MODE=OFF . -B build
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ cmake -G Ninja -B build -Wno-dev \
+ -DCLICK_MODE=OFF \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
cmake --build build
}
@@ -27,5 +47,6 @@ package() {
}
sha512sums="
-c7dd34e4b22a1e175031b52208ba51787d2d6359a1f4c766125f7a906d853b0386597e2aa6add3eae9805704539dd31eb52c6db296981534ecb5188a88e8b3e0 sturmreader-3.5.2.tar.gz
+1cc5bf66d12aa4c7aee5136b5192db04618d88a0bd304ae579906c98a17f4759bca419a905af5b563a448aded94011c08cfe3d02b6a2ac5f20ef51f950b958d9 sturmreader-3.7.2.tar.gz
+287f48924bc3fb60c651e54d687872baf49882aa009c28a27de5fca60c586a7a6daf00c8dbfdfb45efaec6688253966a4c5de2973e7d0a75ceac197cfe879c60 intl.patch
"
diff --git a/testing/sturmreader/intl.patch b/testing/sturmreader/intl.patch
new file mode 100644
index 00000000000..f1569bbf900
--- /dev/null
+++ b/testing/sturmreader/intl.patch
@@ -0,0 +1,13 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -51,9 +51,9 @@
+
+ find_package(ZLIB REQUIRED)
+
+-# find_package(Intl REQUIRED)
++find_package(Intl REQUIRED)
+ find_package(QUAZIP REQUIRED)
+ #find_package(QuaZip-Qt5 REQUIRED)
+
+ if(CLICK_MODE)
+ # Find out the architecture for package building
diff --git a/testing/stw/APKBUILD b/testing/stw/APKBUILD
new file mode 100644
index 00000000000..5484c6498b9
--- /dev/null
+++ b/testing/stw/APKBUILD
@@ -0,0 +1,30 @@
+# Maintainer: Miles Alan <m@milesalan.com>
+pkgname=stw
+pkgver=0.3
+pkgrel=0
+pkgdesc="Simple text window for X"
+url="https://github.com/sineemore/stw"
+arch="all"
+license="MIT"
+makedepends="
+ libx11-dev
+ libxft-dev
+ libxrender-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sineemore/stw/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ make
+ make stw.1
+}
+
+package() {
+ install -Dm755 stw "$pkgdir"/usr/bin/stw
+ install -Dm644 ./*.1 -t $pkgdir/usr/share/man/man1/
+}
+
+sha512sums="
+409171d2f99c9ac3adccf97a34d14ee312ca6d634ab32210cd5c1167be1a80757c7d29a2a760b121963d185c51343d141ea93db4f92bb7605e68b444c9e8a33f stw-0.3.tar.gz
+"
diff --git a/testing/stylua/APKBUILD b/testing/stylua/APKBUILD
deleted file mode 100644
index e7c41899ff3..00000000000
--- a/testing/stylua/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=stylua
-pkgver=0.11.3
-pkgrel=0
-pkgdesc="Opinionated Lua 5.1/5.2/luau code formatter"
-url="https://github.com/JohnnyMorganz/StyLua"
-arch="all !s390x !riscv64" # blocked by cargo
-license="MPL-2.0"
-makedepends="cargo"
-source="$pkgname-$pkgver.tar.gz::https://github.com/JohnnyMorganz/StyLua/archive/refs/tags/v$pkgver.tar.gz"
-builddir="$srcdir/StyLua-$pkgver"
-
-prepare() {
- default_prepare
- cargo fetch --locked
-}
-
-build() {
- cat >> Cargo.toml <<- EOF
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "s"
- panic = "abort"
- EOF
- cargo build --release --frozen
-}
-
-check() {
- cargo test --frozen
-}
-
-package() {
- install -Dm755 "$builddir"/target/release/stylua \
- "$pkgdir"/usr/bin/stylua
-}
-sha512sums="
-dff84e1dbe40884a477e1f9cb6964937e7e615a9ae15f73a5eb336d40ea6ef81e2284a81e1b7027b00264dfe84a76663d2388833c0296d6e963aa23410850543 stylua-0.11.3.tar.gz
-"
diff --git a/testing/subdl/0001-Remove-bogus-empty-package.patch b/testing/subdl/0001-Remove-bogus-empty-package.patch
new file mode 100644
index 00000000000..96bcf7fbb98
--- /dev/null
+++ b/testing/subdl/0001-Remove-bogus-empty-package.patch
@@ -0,0 +1,31 @@
+From ceb17f79f25a26dc18543a850af30a9e24e8dbb9 Mon Sep 17 00:00:00 2001
+From: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+Date: Fri, 16 Jun 2023 10:51:02 +0200
+Subject: [PATCH] Remove bogus empty package
+
+This empty package name is not valid, and results in `python setup.py
+build` and `python setup.py wheel` failing with:
+
+ WARNING: '' not a valid package name; please use only .-separated package names in setup.py
+
+Removing this entirely fixes the issue completely.
+---
+ setup.py | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 34dba94..fd273a8 100644
+--- a/setup.py
++++ b/setup.py
+@@ -18,8 +18,5 @@ setup(
+ 'subdl = subdl:cli'
+ ]
+ },
+- packages=[
+- ''
+- ],
+ license='GPLv3+'
+ )
+--
+2.41.0
+
diff --git a/testing/subdl/APKBUILD b/testing/subdl/APKBUILD
new file mode 100644
index 00000000000..d8fa3e838c2
--- /dev/null
+++ b/testing/subdl/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=subdl
+pkgver=0_git20230616
+_commit=da2398546c33da1665dbc2d985b30d959c6f5a0c
+pkgrel=1
+pkgdesc="Command-line tool for downloading subtitles from opensubtitles.org"
+url="https://github.com/alexanderwink/subdl"
+arch="noarch"
+license="GPL-3.0-or-later"
+makedepends="py3-setuptools py3-wheel py3-gpep517 py3-installer"
+subpackages="$pkgname-pyc"
+source="https://github.com/alexanderwink/subdl/archive/$_commit.tar.gz
+ 0001-Remove-bogus-empty-package.patch
+ "
+builddir="$srcdir/$pkgname-$_commit/"
+options="!check" # no tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ dist/subdl-*-py3-none-any.whl
+}
+
+sha512sums="
+d0cb8b970dc10356fa4279fa8beaea819eb128e5c7b2f4160535e357ce37e926b7edb57e1508dd3dd13b1e15accc1e89010c298d9363c4b121a9ecba8fda1f14 da2398546c33da1665dbc2d985b30d959c6f5a0c.tar.gz
+f99839e94522334dd73ba83e396cc5012d8be30abbd477924113b3f6d2f15c8470d0d6d713627a1e47e4fcc1df2d55645dab3ae96c3172cf299ede37f4a69bce 0001-Remove-bogus-empty-package.patch
+"
diff --git a/testing/sublime-music/APKBUILD b/testing/sublime-music/APKBUILD
index 0f1cb17919a..9f6f9dd333b 100644
--- a/testing/sublime-music/APKBUILD
+++ b/testing/sublime-music/APKBUILD
@@ -1,33 +1,55 @@
# Contributor: Alex McGrath <amk@amk.ie>
-# Maintainer: Alex McGrath <amk@amk.ie>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=sublime-music
-pkgver=0.11.16
+pkgver=0.12.0
pkgrel=1
pkgdesc="A native, GTK3 Subsonic client for the Linux Desktop"
url="https://sublimemusic.app"
arch="all !s390x !ppc64le" # py3-mpv doesnt work on these
options="!check" # tests fail
license="GPL-3.0-or-later"
-depends="python3 py3-bleach py3-dataclasses-json py3-dateutil py3-deepdiff py3-fuzzywuzzy
- py3-gobject3 py3-levenshtein py3-mpv py3-peewee py3-requests py3-semver py3-pychromecast
- py3-bottle py3-keyring libnotify"
-makedepends="py3-pip poetry"
-source="sublime-music-$pkgver.tar.gz::https://gitlab.com/sumner/sublime-music/-/archive/v$pkgver/sublime-music-v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-v$pkgver"
+depends="
+ libnotify
+ py3-bleach
+ py3-bottle
+ py3-dataclasses-json
+ py3-dateutil
+ py3-deepdiff
+ py3-fuzzywuzzy
+ py3-gobject3
+ py3-keyring
+ py3-mpv
+ py3-packaging
+ py3-peewee
+ py3-pychromecast
+ py3-requests
+ py3-semver
+ py3-thefuzz
+ python3
+ "
+makedepends="py3-gpep517 py3-installer py3-flit-core py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://github.com/sublime-music/sublime-music/archive/refs/tags/v$pkgver/sublime-music-v$pkgver.tar.gz
+ fix-python3.11.patch
+ "
build() {
- # poetry is buggy and doesn't include python source files if it is built in
- # the default directory...?
- mkdir -p /tmp/$pkgname && cp -r . /tmp/$pkgname && cd /tmp/$pkgname
- poetry build --format wheel
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
package() {
- python3 -m pip install \
- --no-warn-script-location --ignore-installed --no-deps --root="$pkgdir" \
- /tmp/$pkgname/dist/sublime_music-$pkgver-py3-none-any.whl
+ python3 -m installer -d "$pkgdir" --compile-bytecode 0 \
+ .dist/sublime_music-$pkgver-py3-none-any.whl
+
+ install -Dm644 "$builddir"/sublime-music.desktop \
+ -t "$pkgdir"/usr/share/applications
+ install -Dm644 "$builddir"/logo/icon.svg \
+ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/sublime-music.svg
}
sha512sums="
-d2c0e825efce5bd6d89ae865290fa8c1f6d01bb355f7dca5eece3641cd0180adc42c72747b00182e02ad6cf7bf993fb8cd56a4bc757c9cd406d0067b791fd683 sublime-music-0.11.16.tar.gz
+2549b08c636d8fcf9911f19f0e6566964c79b61621bcbe9b4e31efed0cb40462c6e9b1b458d3dffb8d952003828c57f2d705b1bf37b53843a011ab24d6ef8d74 sublime-music-v0.12.0.tar.gz
+b256fbcc779e876ecbcd6f4ed91be3249f856db100dcb6b06960b6e06384c184ceccfd03492dcee420be67946d4bcf0ae67ba72976e3ad5b7016af08b6cad578 fix-python3.11.patch
"
diff --git a/testing/sublime-music/fix-python3.11.patch b/testing/sublime-music/fix-python3.11.patch
new file mode 100644
index 00000000000..f54acbc10c4
--- /dev/null
+++ b/testing/sublime-music/fix-python3.11.patch
@@ -0,0 +1,35 @@
+diff --git a/sublime_music/ui/state.py b/sublime_music/ui/state.py
+index bf8e5cf..afa8447 100644
+--- a/sublime_music/ui/state.py
++++ b/sublime_music/ui/state.py
+@@ -38,6 +38,10 @@ class RepeatType(Enum):
+ }[loop_status]
+
+
++class _DefaultGenre(Genre):
++ def __init__(self):
++ self.name = "Rock"
++
+ @dataclass
+ class UIState:
+ """Represents the UI state of the application."""
+@@ -81,17 +85,13 @@ class UIState:
+ loading_play_queue: bool = False
+
+ # State for Album sort.
+- class _DefaultGenre(Genre):
+- def __init__(self):
+- self.name = "Rock"
+-
+- current_album_search_query: AlbumSearchQuery = field(
++ current_album_search_query: AlbumSearchQuery = field(default_factory=lambda: field(
+ default_factory=lambda: AlbumSearchQuery(
+ AlbumSearchQuery.Type.RANDOM,
+ genre=UIState._DefaultGenre(),
+ year_range=this_decade(),
+ )
+- )
++ ))
+
+ active_playlist_id: Optional[str] = None
+
diff --git a/testing/subliminal/APKBUILD b/testing/subliminal/APKBUILD
index cdd89cd788d..adc92e15837 100644
--- a/testing/subliminal/APKBUILD
+++ b/testing/subliminal/APKBUILD
@@ -2,42 +2,45 @@
# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
pkgname=subliminal
pkgver=2.1.0
-pkgrel=0
+pkgrel=4
pkgdesc="Python library and CLI tool for searching and downloading subtitles"
url="https://github.com/Diaoul/subliminal"
arch="noarch"
license="MIT"
-depends="python3
- py3-guessit
+depends="
+ py3-appdirs
py3-babelfish
- py3-enzyme
py3-beautifulsoup4
- py3-requests
- py3-dogpile.cache
- py3-stevedore
py3-chardet
+ py3-click
+ py3-dogpile.cache
+ py3-enzyme
+ py3-guessit
py3-pysrt
- py3-appdirs
py3-rarfile
- py3-click
+ py3-requests
+ py3-setuptools
py3-six
+ py3-stevedore
py3-tz
"
-makedepends="py3-setuptools"
-checkdepends="python3-dev py3-pytest py3-pytest-runner libarchive-tools"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz
+checkdepends="python3-dev py3-pytest py3-pytest-runner libarchive-tools py3-vcrpy py3-sympy"
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Diaoul/subliminal/archive/$pkgver.tar.gz
tests.patch legendastv.patch"
+options="!check" # missing simpy
build() {
python3 setup.py build
}
check() {
- python3 setup.py test
+ PYTHONPATH=. \
+ pytest -k 'not test_save_subtitles_single_directory_encoding'
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
diff --git a/testing/subtitleeditor/APKBUILD b/testing/subtitleeditor/APKBUILD
index 59e3986f870..c76836945f2 100644
--- a/testing/subtitleeditor/APKBUILD
+++ b/testing/subtitleeditor/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=subtitleeditor
pkgver=0.54.0
-pkgrel=2
+pkgrel=3
pkgdesc="GTK+3 tool to create and edit subtitles"
url="https://kitone.github.io/subtitleeditor/"
arch="x86 x86_64"
diff --git a/testing/sudo-ldap/APKBUILD b/testing/sudo-ldap/APKBUILD
new file mode 100644
index 00000000000..82ed3ca1789
--- /dev/null
+++ b/testing/sudo-ldap/APKBUILD
@@ -0,0 +1,79 @@
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Åukasz Jendrysik <scadu@yandex.com>
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Maintainer:
+pkgname=sudo-ldap
+pkgver=1.9.14
+if [ "${pkgver%_*}" != "$pkgver" ]; then
+ _realver=${pkgver%_*}${pkgver#*_}
+else
+ _realver=$pkgver
+fi
+pkgrel=1
+pkgdesc="Give certain users the ability to run some commands as root (ldap+pam support)"
+url="https://www.sudo.ws/sudo/"
+arch="all"
+license="custom ISC"
+makedepends="
+ linux-pam-dev
+ openldap-dev
+ zlib-dev
+ "
+source="https://www.sudo.ws/dist/sudo-$_realver.tar.gz"
+options="suid"
+builddir="$srcdir/sudo-$_realver"
+
+provides="sudo-virt"
+provider_priority=2
+replaces="sudo"
+
+build() {
+ CFLAGS="$CFLAGS -flto=auto" \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --libexecdir=/usr/lib \
+ --mandir=/usr/share/man \
+ --disable-nls \
+ --enable-pie \
+ --with-env-editor \
+ --with-mdoc \
+ --with-pam \
+ --with-ldap \
+ --with-ldap-conf-file=/etc/ldap.conf.sudo \
+ --with-nsswitch=no \
+ --without-skey \
+ --with-sendmail=/usr/sbin/sendmail \
+ --with-passprompt="[sudo] password for %p: "
+
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ # the sudo's mkinstalldir script miscreates the leading
+ # path components with bad permissions. fix this.
+ install -d -m0755 "$pkgdir"/var "$pkgdir"/var/db
+ make -j1 DESTDIR="$pkgdir" install
+ rm -rf "$pkgdir"/var/run
+
+ # just docs
+ # use these from sudo-doc
+ # shellcheck disable=2115
+ rm -r "$pkgdir"/usr/share
+
+ # just sudo_plugin.h, use sudo-dev
+ # shellcheck disable=2115
+ rm -r "$pkgdir"/usr/include
+
+ # Exactly the same as /etc/sudoers
+ rm "$pkgdir"/etc/sudoers.dist
+}
+
+sha512sums="
+33d3bc3d66b1c5412b7d579b703d44f246386d2915c1c63be851869569c7bc627211a8897d0bc718d6ebb2bdd938b093c0901f0b7912c8475f8e6fcbbc559a99 sudo-1.9.14.tar.gz
+"
diff --git a/testing/suil/APKBUILD b/testing/suil/APKBUILD
deleted file mode 100644
index f6bd83ed616..00000000000
--- a/testing/suil/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=suil
-pkgver=0.10.10
-pkgrel=0
-pkgdesc="C library for loading and wrapping LV2 plugin UIs"
-url="http://drobilla.net/software/suil"
-arch="all"
-license="ISC"
-makedepends="python3 gtk+2.0-dev gtk+3.0-dev lv2-dev qt5-qtbase-dev"
-subpackages="$pkgname-dev"
-source="http://download.drobilla.net/suil-$pkgver.tar.bz2"
-options="!check" # No tests
-
-build() {
- python3 waf configure --prefix=/usr
- python3 waf build
-}
-
-package() {
- python3 waf install --destdir="$pkgdir"
-}
-
-sha512sums="e442022096150b2f71d65bbd625e2e262cb3e3865c57f5a30f0472dac8ef90ad2fbbf67235823055019017e3751b46330f6e98b8e1745e5845eb02c4d2a4fc21 suil-0.10.10.tar.bz2"
diff --git a/testing/sunwait/APKBUILD b/testing/sunwait/APKBUILD
deleted file mode 100644
index 3d7a218c6a9..00000000000
--- a/testing/sunwait/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Stefano Marinelli <stefano@dragas.it>
-# Maintainer: Stefano Marinelli <stefano@dragas.it>
-pkgname=sunwait
-pkgver=0.8
-pkgrel=0
-pkgdesc="Sunwait calculates sunrise or sunset times with civil, nautical, astronomical and custom twilights."
-url="https://sourceforge.net/projects/sunwait4windows/"
-arch="all"
-license="GPL-3.0-only"
-options="!check" # No test suite available
-source="http://downloads.sourceforge.net/sunwait4windows/sunwait${pkgver/./-}.tar"
-builddir="$srcdir/sunwait/$pkgver/"
-
-build() {
- cd "$builddir"
- make
-}
-
-package() {
- mkdir -p "$pkgdir"/usr/bin/
- cd "$builddir"
- cp sunwait "$pkgdir"/usr/bin/
-}
-
-sha512sums="5b54769d15c5bbbe4a43db1a98c92b6324f3f7718d5653482de056dcc2aede676077d89224f9b3744b4f68d74df63abbabf82c7d8abfe189f4c3028b7be98f69 sunwait0-8.tar"
diff --git a/testing/supercollider/00-fortified-headers.patch b/testing/supercollider/00-fortified-headers.patch
new file mode 100644
index 00000000000..a3b430c01a7
--- /dev/null
+++ b/testing/supercollider/00-fortified-headers.patch
@@ -0,0 +1,11 @@
+--- a/QtCollider/Common.h
++++ b/QtCollider/Common.h
+@@ -21,6 +21,8 @@
+
+ #pragma once
+
++// Fixes fortified headers build
++#include <unistd.h>
+ #include "debug.h"
+
+ #include <QList>
diff --git a/testing/supercollider/APKBUILD b/testing/supercollider/APKBUILD
new file mode 100644
index 00000000000..de953cf8760
--- /dev/null
+++ b/testing/supercollider/APKBUILD
@@ -0,0 +1,69 @@
+# Contributor: Leon ROUX <leon.roux@federate.us>
+# Maintainer: Leon ROUX <leon.roux@federate.us>
+pkgname=supercollider
+pkgver=3.13.0
+pkgrel=4
+pkgdesc="An audio server, programming language, and IDE for sound synthesis and algorithmic composition."
+url="https://supercollider.github.io/"
+arch="x86_64 x86 aarch64 armv7 armhf" # blocked by qt5-qtwebengine
+license="GPL-3.0-or-later"
+depends="git"
+makedepends="
+ alsa-lib-dev
+ boost-dev
+ boost-static
+ cmake
+ eudev-dev
+ fftw-dev
+ jack-dev
+ libsndfile-dev
+ libxt-dev
+ linux-headers
+ ncurses-dev
+ portaudio-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ qt5-qtwebengine-dev
+ qt5-qtwebsockets-dev
+ readline-dev
+ samurai
+ yaml-cpp-dev
+ "
+checkdepends="xvfb-run"
+subpackages="$pkgname-dev"
+source="https://github.com/supercollider/supercollider/releases/download/Version-$pkgver/SuperCollider-$pkgver-Source.tar.bz2
+ 00-fortified-headers.patch
+ "
+builddir="$srcdir/SuperCollider-$pkgver-Source"
+
+export LDFLAGS="$LDFLAGS -Wl,-z,stack-size=2000000"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DFORTIFY=ON \
+ -DSYSTEM_BOOST=ON \
+ -DSYSTEM_YAMLCPP=ON \
+ -DSYSTEM_PORTAUDIO=ON \
+ -DSC_ABLETON_LINK=OFF \
+ -DNATIVE=OFF \
+ -DSC_EL=OFF
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE xvfb-run ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+a60a128f7646f077f91adae666fa4014529aa9df78cf0dfe5d68c9bd6447f008af7da2970b8736f3f29d0adbaf67bce680a8201fcbe7e1aba29c3499a57f89cd SuperCollider-3.13.0-Source.tar.bz2
+cef3e1bdaecd4278d14fcabc39d2a69cfab1216ff3dedd3e54997470955dd310e502732ff2c0f76e95f349c31deb964eff456f49f51d7e3c83421521d0c30c43 00-fortified-headers.patch
+"
diff --git a/testing/supermin/APKBUILD b/testing/supermin/APKBUILD
index dc3855ad3ba..9059e660578 100644
--- a/testing/supermin/APKBUILD
+++ b/testing/supermin/APKBUILD
@@ -1,11 +1,11 @@
# Contributor:
# Maintainer: Fathi Boudra <fathi.boudra@linaro.org>
pkgname=supermin
-pkgver=5.1.20
-pkgrel=1
+pkgver=5.2.2
+pkgrel=2
pkgdesc="tool for building supermin appliances"
-url="http://libguestfs.org/"
-arch="x86_64"
+url="https://libguestfs.org/"
+arch="all !riscv64 !loongarch64" # limited by ocaml aport
license="GPL-2.0-or-later"
depends="cpio e2fsprogs"
makedepends="
@@ -17,11 +17,18 @@ makedepends="
perl
"
subpackages="$pkgname-doc"
-source="http://download.libguestfs.org/supermin/$pkgname-$pkgver.tar.gz"
+source="https://download.libguestfs.org/supermin/5.2-stable/supermin-$pkgver.tar.gz"
options="!check" # Disable tests as they fail under Alpine
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
build() {
./configure \
+ --build="$CBUILD" \
+ --host="$CHOST" \
--prefix=/usr \
--mandir=/usr/share/man \
--disable-network-tests
@@ -39,4 +46,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="ccc9ada98593f91399b323f0beb027185874f82547a1df4274c1206a9b6d4465e98b7aef5618274d41fb902747f6843fd2cc6192a4ea8526811261ac5a16848e supermin-5.1.20.tar.gz"
+sha512sums="
+c2a0758d6807155e226e0d9e460f8e72efbdb9d715ce7b22389dc3f4dbe34ff0d0c1afeb8e2852678602ba7ec3a700926b9c0078fc539765151b1f0167e01059 supermin-5.2.2.tar.gz
+"
diff --git a/testing/surf/APKBUILD b/testing/surf/APKBUILD
index 5b0c9022f8c..afd9a346fdf 100644
--- a/testing/surf/APKBUILD
+++ b/testing/surf/APKBUILD
@@ -3,16 +3,21 @@
# Maintainer: Orson Teodoro <orsonteodoro@hotmail.com>
pkgname=surf
pkgver=2.1
-pkgrel=0
+pkgrel=2
pkgdesc="surf is a simple web browser based on WebKit2/GTK+."
url="https://surf.suckless.org/"
arch="all"
license="MIT"
depends="xprop"
-makedepends="webkit2gtk-dev gcr-dev"
+makedepends="webkit2gtk-4.1-dev gcr-dev"
subpackages="$pkgname-doc"
options="!check" # upstream doesn't have a test suite
-source="surf-$pkgver.tar.gz::https://dl.suckless.org/surf/surf-$pkgver.tar.gz"
+source="surf-$pkgver.tar.gz::https://dl.suckless.org/surf/surf-$pkgver.tar.gz
+ webkit2gtk-4.1.patch
+ "
+
+provides="surf-virtual"
+provider_priority=100
prepare() {
default_prepare
@@ -35,4 +40,5 @@ package() {
sha512sums="
06f31f683a941d9a587d908ae7f6949255937b0b0c9c133a18c6fa753c7da75de267adda1c83dd9ba0a8535e2b6d4ff2b5408cc5e8a2e315d4198fe68df5db12 surf-2.1.tar.gz
+d0492cf019899158029396afd35a9e241a8859fa86536d5aff8bf77ebb1396922358d87bf2355aba216d0ade6ffff05edab6078fa66f7542e9a1ec98f45b435f webkit2gtk-4.1.patch
"
diff --git a/testing/surf/webkit2gtk-4.1.patch b/testing/surf/webkit2gtk-4.1.patch
new file mode 100644
index 00000000000..29fb52f679e
--- /dev/null
+++ b/testing/surf/webkit2gtk-4.1.patch
@@ -0,0 +1,19 @@
+diff --git a/config.mk b/config.mk
+index 2eb9fb0..544e123 100644
+--- a/config.mk
++++ b/config.mk
+@@ -12,10 +12,10 @@ LIBDIR = $(LIBPREFIX)/surf
+ X11INC = `pkg-config --cflags x11`
+ X11LIB = `pkg-config --libs x11`
+
+-GTKINC = `pkg-config --cflags gtk+-3.0 gcr-3 webkit2gtk-4.0`
+-GTKLIB = `pkg-config --libs gtk+-3.0 gcr-3 webkit2gtk-4.0`
+-WEBEXTINC = `pkg-config --cflags webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0`
+-WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.0 webkit2gtk-web-extension-4.0 gio-2.0`
++GTKINC = `pkg-config --cflags gtk+-3.0 gcr-3 webkit2gtk-4.1`
++GTKLIB = `pkg-config --libs gtk+-3.0 gcr-3 webkit2gtk-4.1`
++WEBEXTINC = `pkg-config --cflags webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0`
++WEBEXTLIBS = `pkg-config --libs webkit2gtk-4.1 webkit2gtk-web-extension-4.1 gio-2.0`
+
+ # includes and libs
+ INCS = $(X11INC) $(GTKINC)
diff --git a/testing/surfraw/APKBUILD b/testing/surfraw/APKBUILD
new file mode 100644
index 00000000000..b396c44e65c
--- /dev/null
+++ b/testing/surfraw/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Thomas Böhler <witcher@wiredspace.de>
+# Contributor: Thomas Böhler <witcher@wiredspace.de>
+pkgname=surfraw
+
+pkgver=2.3.0
+pkgrel=0
+pkgdesc="Shell Users' Revolutionary Front Rage Against the Web"
+url="http://surfraw.org"
+arch="noarch"
+license="Public Domain"
+makedepends="perl"
+subpackages="$pkgname-doc"
+source="https://gitlab.com/surfraw/Surfraw/uploads/2de827b2786ef2fe43b6f07913ca7b7f/surfraw-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" -j1 install
+
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+sha512sums="
+51cdfb68bab701bce635a64ab3d5af669b2330c895180d01cca1c6f3c4005972ba4c573b693df59a2cc4fdb97d4fd11224bae500bbd4a17c3ab446de5241c9a0 surfraw-2.3.0.tar.gz
+"
diff --git a/testing/surgescript/APKBUILD b/testing/surgescript/APKBUILD
deleted file mode 100644
index 2955cf1990b..00000000000
--- a/testing/surgescript/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=surgescript
-pkgver=0.5.5
-pkgrel=0
-pkgdesc="scripting language for games"
-url="https://docs.opensurge2d.org"
-arch="all"
-license="Apache-2.0"
-makedepends="cmake"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/alemart/surgescript/archive/refs/tags/v$pkgver.tar.gz"
-options="!check" # No tests.
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-b3b79f36463b9ff91f2f8108d6917961d8aabfbd0693a9e9e275f57faa09022570519c553ceff8db93101058964d76df82448b487ed82c5331598df065fae34a surgescript-0.5.5.tar.gz
-"
diff --git a/testing/suru-icon-theme/APKBUILD b/testing/suru-icon-theme/APKBUILD
new file mode 100644
index 00000000000..68ca4572213
--- /dev/null
+++ b/testing/suru-icon-theme/APKBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+pkgname=suru-icon-theme
+pkgver=20.05.1_git20221222
+_commit="2b832bd20443a45ea75d6da04236f687a5d0564a"
+pkgrel=0
+pkgdesc="Icon Theme for Lomiri Operating Environment"
+arch="noarch"
+url="https://gitlab.com/ubports/development/core/suru-icon-theme"
+license="CC-BY-SA-3.0"
+source="https://gitlab.com/ubports/development/core/suru-icon-theme/-/archive/$_commit/suru-icon-theme-$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+options="!check" # No tests
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/icons
+ cp -r suru "$pkgdir"/usr/share/icons/suru
+}
+
+sha512sums="
+793492cc8c3a202022cc8351945dcc7ef701d09190cffe1b92a2eefd15aabfc952a869151b372e55448b3ac0ab903dec38ffc852e47d5b86d27bf67e086c644a suru-icon-theme-2b832bd20443a45ea75d6da04236f687a5d0564a.tar.gz
+"
diff --git a/testing/svgbob/APKBUILD b/testing/svgbob/APKBUILD
new file mode 100644
index 00000000000..49146e4acca
--- /dev/null
+++ b/testing/svgbob/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Erwan Rouchet <lucidiot@brainshit.fr>
+# Maintainer: Erwan Rouchet <lucidiot@brainshit.fr>
+pkgname=svgbob
+pkgver=0.7.2
+pkgrel=0
+pkgdesc="Convert your ascii diagram scribbles into happy little SVG"
+url="https://github.com/ivanceras/svgbob"
+arch="all !s390x !riscv64" # limited by rust/cargo
+license="Apache-2.0"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ivanceras/svgbob/archive/$pkgver.tar.gz
+ update-cargo-lock.patch
+ "
+
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test all --frozen
+}
+
+package() {
+ install -Dm0755 target/release/svgbob_cli "$pkgdir"/usr/bin/svgbob
+}
+
+sha512sums="
+0b6bfe8f29c14e30f8a5cb4e62a032cf0855a4e2ee7a4d998b4c99f48bebf3afe0ec34549de51323eb85431d2a1a10b7a3bd9a4b351caff4d935872b14fa3acc svgbob-0.7.2.tar.gz
+c33c018a8e323211ce261ed256b203ef277803c49060ead44d406241d0a824e197c99ac2148f53c7bd1d048a3e687b0f3cd7fb78569c2844e5c0cd882a13fd0c update-cargo-lock.patch
+"
diff --git a/testing/svgbob/update-cargo-lock.patch b/testing/svgbob/update-cargo-lock.patch
new file mode 100644
index 00000000000..b64ebb70655
--- /dev/null
+++ b/testing/svgbob/update-cargo-lock.patch
@@ -0,0 +1,22 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index ceb0e5a..b0d6d46 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1042,7 +1042,7 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+ [[package]]
+ name = "svgbob"
+-version = "0.7.1"
++version = "0.7.2"
+ dependencies = [
+ "indexmap",
+ "itertools",
+@@ -1057,7 +1057,7 @@ dependencies = [
+
+ [[package]]
+ name = "svgbob_cli"
+-version = "0.7.0"
++version = "0.7.2"
+ dependencies = [
+ "clap",
+ "svgbob",
diff --git a/testing/svls/APKBUILD b/testing/svls/APKBUILD
new file mode 100644
index 00000000000..59959dc5028
--- /dev/null
+++ b/testing/svls/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=svls
+pkgver=0.2.11
+pkgrel=0
+pkgdesc="SystemVerilog language serer"
+url="https://github.com/dalance/svls"
+arch="all"
+license="MIT"
+makedepends="cargo cargo-auditable"
+subpackages="$pkgname-doc"
+source="https://github.com/dalance/svls/archive/v$pkgver/svls-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/svls -t "$pkgdir"/usr/bin
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/svls/LICENSE
+}
+
+sha512sums="
+5cc75c80d752ea3fc7dd13aefde368425221f0572f055699f2c46c6afd4ee66322f5a76fb151050f59b2a0d537b9e96dde8874680ae8983397e5ddecddcfd14c svls-0.2.11.tar.gz
+"
diff --git a/testing/svt-av1/APKBUILD b/testing/svt-av1/APKBUILD
deleted file mode 100644
index b1cfaec15f5..00000000000
--- a/testing/svt-av1/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=svt-av1
-pkgver=0.8.7
-pkgrel=0
-pkgdesc="Scalable Vector Technology for AV1 encoder (SVT-AV1 Encoder)"
-url="https://01.org/svt"
-arch="x86_64" # x86: inlining failed in call to always_inline '_mm_load_sd': target specific option mismatch
-license="BSD-2-Clause"
-options="!check" # No test suite from upstream
-makedepends="cmake yasm"
-subpackages="$pkgname-dev $pkgname-libs"
-source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVisualCloud/SVT-AV1/archive/v$pkgver.tar.gz"
-builddir="$srcdir/SVT-AV1-$pkgver"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-6050ceb023778fd51a8e6fd572695a755cdc9a2e01667aca7ac2f2a17f2b189e9bf8c3464586fbf517d88254c3b7428e49b42ece5ecdee1d7d522ad4e2982b77 svt-av1-0.8.7.tar.gz
-"
diff --git a/testing/svt-hevc/APKBUILD b/testing/svt-hevc/APKBUILD
index a9093991717..523e0dcb271 100644
--- a/testing/svt-hevc/APKBUILD
+++ b/testing/svt-hevc/APKBUILD
@@ -2,43 +2,34 @@
# Maintainer: Oleg Titov <oleg.titov@gmail.com>
pkgname=svt-hevc
pkgver=1.5.1
-pkgrel=0
+pkgrel=2
pkgdesc="Scalable Vector Technology for HEVC encoder (SVT-HEVC Encoder)"
url="https://01.org/svt"
arch="x86_64" # x86 error: incompatible type for argument 2 of '_mm_storel_epi64'
license="BSD-2-Clause-Patent"
options="!check" # No test suite from upstream
-makedepends="cmake yasm"
+makedepends="cmake samurai nasm"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVisualCloud/SVT-HEVC/archive/v$pkgver.tar.gz"
builddir="$srcdir/SVT-HEVC-$pkgver"
build() {
- mkdir -p build
-
- cd build
-
- cmake .. \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ CFLAGS="$CFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS"
-
- make
+ -DCMAKE_BUILD_TYPE=Release
+ cmake --build build
}
package() {
- cd build
-
- make DESTDIR="$pkgdir" install
-
- cd "$builddir"
+ DESTDIR="$pkgdir" cmake --install build
install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
}
sha512sums="
-b1dfcb7ba028de3604e595d2ec95bf2e666b01b9e5f9ee67a7dc9257633061d4c7ed8e2f5da9e2a05f38f8927f1e7201b87f68119953980bbe16987cb68a89ea svt-hevc-1.5.1.tar.gz
+f5b9d9a090cb04ada0a3f310522f00b619ae628b8474fe7e1c7f562a017b5a9d0c8c58ab9a35b43cb19f2568fbc59e0395dcd517b7983924b175393ad2ba4299 svt-hevc-1.5.1.tar.gz
"
diff --git a/testing/svt-vp9/APKBUILD b/testing/svt-vp9/APKBUILD
index 5e31175c556..619a72996b0 100644
--- a/testing/svt-vp9/APKBUILD
+++ b/testing/svt-vp9/APKBUILD
@@ -2,41 +2,34 @@
# Maintainer: Oleg Titov <oleg.titov@gmail.com>
pkgname=svt-vp9
pkgver=0.3.0
-pkgrel=0
+pkgrel=2
pkgdesc="Scalable Vector Technology for VP9 encoder (SVT-VP9 Encoder)"
url="https://01.org/svt"
arch="x86_64" #x86: error: incompatible type for argument 2 of '_mm_storel_epi64'
license="BSD-2-Clause-Patent"
options="!check" # No test suite from upstream
-makedepends="cmake yasm"
+makedepends="cmake samurai nasm"
subpackages="$pkgname-dev $pkgname-doc $pkgname-libs"
source="$pkgname-$pkgver.tar.gz::https://github.com/OpenVisualCloud/SVT-VP9/archive/v$pkgver.tar.gz"
builddir="$srcdir/SVT-VP9-$pkgver"
build() {
- mkdir -p build
-
- cd build
-
- cmake .. \
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ CFLAGS="$CFLAGS -flto=auto" \
+ cmake -B build -G Ninja \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS"
-
- make
+ -DCMAKE_BUILD_TYPE=Release
+ cmake --build build
}
package() {
- cd build
-
- make DESTDIR="$pkgdir" install
-
- cd "$builddir"
+ DESTDIR="$pkgdir" cmake --install build
install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
}
-sha512sums="2b65d4cc731061c2a07010314f7c306664fd9cf122917f96b94ec87350c8bab1a1118527263eb39347a6f6f572088337e1c5f7ae738b52de30a28ccb54c321c1 svt-vp9-0.3.0.tar.gz"
+sha512sums="
+2b65d4cc731061c2a07010314f7c306664fd9cf122917f96b94ec87350c8bab1a1118527263eb39347a6f6f572088337e1c5f7ae738b52de30a28ccb54c321c1 svt-vp9-0.3.0.tar.gz
+"
diff --git a/testing/svxlink-sounds-en_us-heather-16k/APKBUILD b/testing/svxlink-sounds-en_us-heather-16k/APKBUILD
deleted file mode 100644
index 4c427599634..00000000000
--- a/testing/svxlink-sounds-en_us-heather-16k/APKBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=svxlink-sounds-en_us-heather-16k
-pkgver=19.09
-pkgrel=0
-pkgdesc="Sound Package en_US-heather-16k from svxlink in high quality"
-url="http://www.svxlink.org/"
-arch="noarch"
-license="GPL-2.0-or-later"
-options="!check !strip"
-source="https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/$pkgver/svxlink-sounds-en_US-heather-16k-$pkgver.tar.bz2"
-builddir="$srcdir"/en_US-heather-16k
-
-package() {
- cd $builddir
- mkdir -p "$pkgdir/usr/share/svxlink/sounds/en_US"
- cd "$srcdir/en_US-heather-16k"
- cp -a * "$pkgdir/usr/share/svxlink/sounds/en_US"
- touch "$pkgdir/usr/share/svxlink/sounds/en_US/$pkgname-$pkgver"
-}
-
-sha512sums="6bc0c0979f9d7ba971b7facab429370d60e0275854b5963c766da64466b6a1d31470c32a4c7b5b485bf4847962fc9b5fd3eb677b23152e8e1580c9f9d5f5f51b svxlink-sounds-en_US-heather-16k-19.09.tar.bz2"
diff --git a/testing/swaks/APKBUILD b/testing/swaks/APKBUILD
index 10fbca3c274..0145f576791 100644
--- a/testing/swaks/APKBUILD
+++ b/testing/swaks/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=swaks
-pkgver=20201014.0
-pkgrel=1
+pkgver=20240103.0
+pkgrel=0
pkgdesc="Swiss Army Knife for SMTP"
url="https://www.jetmore.org/john/code/swaks/"
license="GPL-2.0-or-later"
@@ -17,4 +17,6 @@ package() {
install -Dm644 -t "$pkgdir"/usr/share/doc/$pkgname doc/*
}
-sha512sums="8a4e8dc810a9c5943afdbc4db7130e110c42e211d6927ce1cdbab6f81fa49c31490e6c3668ec3cea79580c07b281ce30901b3b4a71325951167158cc9d70d9cc swaks-20201014.0.tar.gz"
+sha512sums="
+89d62cdb94630666c1acb1feb3b62585f36b4d59d14e56d998da6efe45538e9f5072379eebee43dd7244aa3981dbd8d6eb9a42ff7fa21a73127d171b8b3189f5 swaks-20240103.0.tar.gz
+"
diff --git a/testing/swappy/APKBUILD b/testing/swappy/APKBUILD
index 71f194ee49e..8512e055789 100644
--- a/testing/swappy/APKBUILD
+++ b/testing/swappy/APKBUILD
@@ -1,21 +1,21 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=swappy
-pkgver=1.4.0
+pkgver=1.5.1
pkgrel=0
pkgdesc="Snapshot editing tool for Wayland"
url="https://github.com/jtheoof/swappy"
license="MIT"
arch="all"
options="!check" # no test suite
-depends="ttf-font-awesome"
+depends="font-awesome-free"
makedepends="meson cairo-dev pango-dev gtk+3.0-dev libnotify-dev scdoc"
subpackages="$pkgname-doc $pkgname-lang"
source="https://github.com/jtheoof/swappy/archive/v$pkgver/swappy-$pkgver.tar.gz"
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
@@ -23,5 +23,5 @@ package() {
}
sha512sums="
-5e4952ee226799c64b8890036e22e28ec169a32da1d5f9414298d5e49b98fe0237bc35b270a2320e5e8b902b7118cf3b36c495de8475d4f948159bb1626a3004 swappy-1.4.0.tar.gz
+688ad9006965d6a3f9d2997335bc3e8172e4f6f53551bb92603cdc1f14138c25f9f7d28a87aa1cbcefc94f5da1701443a2ddf0e883b648ecc5a0b0ca28588217 swappy-1.5.1.tar.gz
"
diff --git a/testing/sway-audio-idle-inhibit/APKBUILD b/testing/sway-audio-idle-inhibit/APKBUILD
new file mode 100644
index 00000000000..041d380e2e1
--- /dev/null
+++ b/testing/sway-audio-idle-inhibit/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=sway-audio-idle-inhibit
+_commit=c850bc4812216d03e05083c69aa05326a7fab9c7
+_date=20230809
+pkgver=0.1.1_git$_date
+pkgrel=0
+pkgdesc="Prevents swayidle from sleeping while any application is outputting or receiving audio"
+url="https://github.com/ErikReider/SwayAudioIdleInhibit"
+license="GPL-3.0-only"
+arch="all"
+makedepends="
+ pulseaudio-dev
+ wayland-dev
+ wayland-protocols
+ meson
+ ninja
+ "
+source="$pkgname-$_commit.tar.gz::https://github.com/ErikReider/SwayAudioIdleInhibit/archive/$_commit.tar.gz"
+options="!check" # no test suite
+builddir="$srcdir/SwayAudioIdleInhibit-$_commit"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+3574e0157c0a05ad25b9836e21fdd697b370bc287049887a44b7a251e92c0a82c423697c4c86882b1c1e7b520f7f1d6ff986cf76af89d9eaa3c35f37641571c4 sway-audio-idle-inhibit-c850bc4812216d03e05083c69aa05326a7fab9c7.tar.gz
+"
diff --git a/testing/sway-launcher-desktop/APKBUILD b/testing/sway-launcher-desktop/APKBUILD
deleted file mode 100644
index 211a799e6b4..00000000000
--- a/testing/sway-launcher-desktop/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Magnus Sandin <magnus.sandin@gmail.com>
-# Maintainer: Magnus Sandin <magnus.sandin@gmail.com>
-pkgname=sway-launcher-desktop
-pkgver=1.5.4
-pkgrel=0
-pkgdesc="Text based launcher menu"
-url="https://github.com/Biont/sway-launcher-desktop"
-arch="noarch"
-license="GPL-3.0-only"
-depends="bash gawk fzf"
-checkdepends="bats"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Biont/sway-launcher-desktop/archive/refs/tags/v$pkgver.tar.gz
- remove-ls-test.patch
- "
-check() {
- cd "$builddir/tests" && bats ./*.bats
-}
-
-package() {
- install -m755 -D "$builddir/$pkgname.sh" "$pkgdir/usr/bin/$pkgname"
- install -m644 -D "$builddir/README.md" "$pkgdir/usr/share/doc/$pkgname/README.md"
- sed -i 's/\.sh//g' "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="8ff9b7b3bfe84d8b5d3ba0f27bf5a24159329fd4e0f9bb18de070b66e9339ac999afb4651cae3900f60e486e34a9dbac70081b93d46176133aa503d05f4efd9e sway-launcher-desktop-1.5.4.tar.gz
-b1877cb93d120823f95611f02ced064e1a22247d7e03ab1415156a09c6343bf0c4d9f444f1364a6eeef7cf43268a417b291e0e9d6343e6cfdcdbaadfee3483e9 remove-ls-test.patch
-"
diff --git a/testing/sway-launcher-desktop/remove-ls-test.patch b/testing/sway-launcher-desktop/remove-ls-test.patch
deleted file mode 100644
index a55859f1554..00000000000
--- a/testing/sway-launcher-desktop/remove-ls-test.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/tests/describe.bats
-+++ b/tests/describe.bats
-@@ -15,6 +15,7 @@
- }
-
- @test "Name and description of ls command should be given" {
-+ skip
- run env XDG_CONFIG_HOME=./data/config ../sway-launcher-desktop.sh describe command ls
- [ "$status" -eq 0 ]
- [[ ${lines[0]} =~ "ls" ]]
diff --git a/testing/swayhide/APKBUILD b/testing/swayhide/APKBUILD
new file mode 100644
index 00000000000..59702a5abfd
--- /dev/null
+++ b/testing/swayhide/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=swayhide
+pkgver=0.2.1
+pkgrel=1
+pkgdesc="A window swallower for swaywm"
+url="https://github.com/NomisIV/swayhide/"
+arch="all !s390x !riscv64" # rust
+license="GPL-3.0-only"
+makedepends="cargo cargo-auditable"
+source="https://github.com/NomisIV/swayhide/archive/v$pkgver/swayhide-v$pkgver.tar.gz"
+
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ cargo auditable install --locked --offline --path . --root="$pkgdir/usr"
+ rm "$pkgdir"/usr/.crates*
+}
+
+sha512sums="
+4c7c9d5138d827faddf63bdd80895d89e583b11a034087e62ff31f07b0c32d1f1990b1c8d8a1104dd6e1dae0ba77353456ffa762c5bc535e753c63bba1ac4f17 swayhide-v0.2.1.tar.gz
+"
diff --git a/testing/swaync/APKBUILD b/testing/swaync/APKBUILD
deleted file mode 100644
index 7779c0065f3..00000000000
--- a/testing/swaync/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=swaync
-_projname=SwayNotificationCenter
-pkgver=0.3
-pkgrel=0
-pkgdesc="Notification daemon with a GTK GUI for notifications and the control center"
-url="https://github.com/ErikReider/SwayNotificationCenter"
-arch="all !riscv64 !s390x" # blocked by libhandy1
-license="GPL-3.0"
-depends="dbus"
-makedepends="
- gobject-introspection-dev
- gtk+3.0-dev
- gtk-layer-shell-dev
- json-glib-dev
- libhandy1-dev
- meson
- vala
- "
-subpackages="
- $pkgname-bash-completion
- $pkgname-fish-completion
- $pkgname-zsh-completion
- "
-source="https://github.com/ErikReider/SwayNotificationCenter/archive/v$pkgver/$pkgname-$pkgver.tar.gz
- fix-fish-completions-dir.patch
- "
-builddir="$srcdir/$_projname-$pkgver"
-options="!check" # no tests defined
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-8ab35480f199c46e91375af19834019fbc9f0f75539b0032b79fc1b09e8e0220093ac5a8334bbb44ed443df106fc4ff8ca5012c97eb26e17c0b2644a45ca5f4d swaync-0.3.tar.gz
-d6adceae7d8cba6ca6a3c131e61ac7ef31edacdd847063555fb5827494d4145d260975c8955492b7739cac9857457557e1f30870713468ced60f9b56c5534b55 fix-fish-completions-dir.patch
-"
diff --git a/testing/swaync/fix-fish-completions-dir.patch b/testing/swaync/fix-fish-completions-dir.patch
deleted file mode 100644
index c04c4556381..00000000000
--- a/testing/swaync/fix-fish-completions-dir.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/meson.build
-+++ b/meson.build
-@@ -53,7 +53,7 @@
- pkgconfig_define: ['datadir', datadir]
- )
- else
-- fish_install_dir = join_paths(datadir, 'fish', 'vendor_completions.d')
-+ fish_install_dir = join_paths(datadir, 'fish', 'completions')
- endif
-
- install_data(fish_files, install_dir: fish_install_dir)
diff --git a/testing/swi-prolog/APKBUILD b/testing/swi-prolog/APKBUILD
index 14c3615e666..95f3ece5647 100644
--- a/testing/swi-prolog/APKBUILD
+++ b/testing/swi-prolog/APKBUILD
@@ -1,14 +1,15 @@
# Maintainer: Paul Bredbury <brebs@sent.com>
pkgname=swi-prolog
-pkgver=8.5.5
+pkgver=9.2.3
pkgrel=0
pkgdesc="Versatile implementation of the Prolog programming language"
url="https://www.swi-prolog.org"
arch="all !riscv64" # missing libunwind-dev
-license="BSD-2-Clause"
+license="BSD-2-Clause AND LGPL-3.0-or-later"
# Need to package JavaHamcrest in order to enable JPL
-subpackages="$pkgname-doc $pkgname-xpce:xpce:noarch $pkgname-xpce-doc:xpce_doc:noarch"
-makedepends="cmake
+subpackages="$pkgname-doc $pkgname-xpce:xpce:noarch $pkgname-xpce-doc:xpce_doc:noarch $pkgname-pyc"
+makedepends="
+ cmake
gmp-dev
libarchive-dev
libedit-dev
@@ -23,33 +24,35 @@ makedepends="cmake
ncurses-dev
openssl-dev
ossp-uuid-dev
- pcre-dev
+ pcre2-dev
readline-dev
samurai
unixodbc-dev
yaml-dev
- zlib-dev"
+ zlib-dev
+ "
# The Berkeley DB test works on all but x86, which segfaults
# https://github.com/SWI-Prolog/issues/issues/103#issuecomment-968091401
[ ! "$CARCH" = "x86" ] && makedepends="$makedepends db-dev"
checkdepends="python3"
-source="https://www.swi-prolog.org/download/devel/src/swipl-$pkgver.tar.gz"
+source="https://www.swi-prolog.org/download/stable/src/swipl-$pkgver.tar.gz"
builddir="$srcdir/swipl-$pkgver"
build() {
- cmake -B "$builddir" -G Ninja \
- -DCMAKE_BUILD_TYPE=PGO \
+ # pgo broken with gcc12 profiles
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr
- ninja -C "$builddir"
+ ninja -C build
}
check() {
- ctest --output-on-failure
+ ctest --output-on-failure --test-dir build
}
package() {
- DESTDIR="$pkgdir" ninja -C "$builddir" install
+ DESTDIR="$pkgdir" ninja -C build install
}
doc() {
@@ -74,6 +77,15 @@ xpce_doc() {
pkgdesc="X support for $pkgname (doc files)"
}
+pyc() {
+ pkgdesc="Precompiled Python bytecode for ${subpkgname%-pyc}"
+ install_if="${subpkgname%-pyc}=$pkgver-r$pkgrel pyc"
+
+ cd "$pkgdir" || return 0
+ local IFS=$'\n'
+ amove $(find usr/lib -type d -name __pycache__)
+}
+
sha512sums="
-a25e582b4d1ba20ee0a2568a71f961ca6436b1d31f046cceec8a2e27e48034dd06c751f1ea5452cce72ce2186adc26334bb1a895c54112597df8b0fba2fba883 swipl-8.5.5.tar.gz
+5fa84255aedd9eaa8adfa1ae1367d12470f536b40908481d5a5bb1754a997c23433b24e8a2802af3381983ca2c347dae508a47a8dd4de3b713b9fbbfa988023b swipl-9.2.3.tar.gz
"
diff --git a/testing/swig3/APKBUILD b/testing/swig3/APKBUILD
index 2be11069ab4..a5cd51781a5 100644
--- a/testing/swig3/APKBUILD
+++ b/testing/swig3/APKBUILD
@@ -1,9 +1,9 @@
# Maintainer: Noel Kuntze <noel.kuntze@contauro.com>
pkgname=swig3
pkgver=3.0.12
-pkgrel=0
+pkgrel=2
pkgdesc="A compiler that makes it easy to integrate C and C++ code with scripting languages"
-url="http://www.swig.org/"
+url="https://www.swig.org/"
arch="all"
license="GPL-3.0-only"
depends="guile"
diff --git a/testing/swtpm/APKBUILD b/testing/swtpm/APKBUILD
deleted file mode 100644
index 51d03130951..00000000000
--- a/testing/swtpm/APKBUILD
+++ /dev/null
@@ -1,45 +0,0 @@
-# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
-# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
-pkgname=swtpm
-pkgver=0.7.0
-pkgrel=0
-pkgdesc="Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface"
-url="https://github.com/stefanberger/swtpm"
-arch="aarch64 armhf x86 x86_64"
-license="BSD-3-Clause"
-depends="libtpms"
-makedepends="autoconf automake expect gawk gnutls gnutls-dev gnutls-utils
- json-glib-dev libseccomp-dev libtasn1-dev libtool libtpms-dev openssl-dev
- python3 socat
- "
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
-
-prepare() {
- default_prepare
- NOCONFIGURE=1 ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --libdir=/usr/lib \
- --with-openssl \
- --with-tss-user=root \
- --with-tss-group=root
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-32096309bf710e51d7565f013db32627423682fb2bfa9358976126102a0bf07401146bae9346af389c932c038f3d03217739375cef01a2ff10b01c7bd004b55e swtpm-0.7.0.tar.gz
-"
diff --git a/testing/sxcs/APKBUILD b/testing/sxcs/APKBUILD
new file mode 100644
index 00000000000..79369ee4f36
--- /dev/null
+++ b/testing/sxcs/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=sxcs
+pkgver=1.0.0
+pkgrel=0
+pkgdesc="Minimal X11 Color Picker and Magnifier"
+url="https://codeberg.org/NRK/sxcs"
+arch="all"
+license="GPL-3.0-or-later"
+options="!check" # no test suite
+makedepends="libx11-dev libxcursor-dev"
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/NRK/sxcs/archive/v$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+builddir="$srcdir/sxcs"
+
+build() {
+ make -e sxcs LDLIBS="-lX11 -lXcursor"
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin sxcs
+ install -Dm644 -t "$pkgdir"/usr/share/man/man1 sxcs.1
+}
+
+sha512sums="
+dbcd20d894ac2d63f3c93dcee9881a068d40f33cbce5527de746dca2dc34fe264eb91d0849cff81a2730b78645ed421ccf763b544922fbd626361b8056f24d3a sxcs-1.0.0.tar.gz
+"
diff --git a/testing/sylpheed-imap-notify/APKBUILD b/testing/sylpheed-imap-notify/APKBUILD
index df87749c13e..8620947b894 100644
--- a/testing/sylpheed-imap-notify/APKBUILD
+++ b/testing/sylpheed-imap-notify/APKBUILD
@@ -8,7 +8,7 @@ url="https://github.com/clehner/sylpheed-imap-notify"
arch="all"
license="GPL-3.0-or-later"
depends="sylpheed"
-makedepends="sylpheed-dev gtk+-dev"
+makedepends="sylpheed-dev gtk+2.0-dev"
options="!check"
source="$pkgname-$pkgver.tar.gz::https://github.com/clehner/$pkgname/archive/$pkgver.tar.gz"
builddir="$srcdir/$pkgname-$pkgver"
diff --git a/testing/symbiyosys/APKBUILD b/testing/symbiyosys/APKBUILD
new file mode 100644
index 00000000000..0440ed4538a
--- /dev/null
+++ b/testing/symbiyosys/APKBUILD
@@ -0,0 +1,25 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=symbiyosys
+pkgver=0.36
+pkgrel=0
+pkgdesc="Front-end for Yosys-based formal verification flows"
+url="https://github.com/YosysHQ/sby"
+# s390x, riscv64: blocked by yosys
+arch="noarch !s390x !riscv64"
+license="ISC"
+depends="python3 py3-click yosys"
+checkdepends="bash"
+source="$pkgname-$pkgver.tar.gz::https://github.com/YosysHQ/sby/archive/yosys-$pkgver.tar.gz"
+builddir="$srcdir/sby-yosys-$pkgver"
+
+check() {
+ make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+3a6f56644e54670d448cb0e80d7f1a76e3fd06a5464bc73b9015101f56552c77569bb61ec4c64a41bab7c4d145a38c54c779e5d7fbced280f98b17009acc9aa7 symbiyosys-0.36.tar.gz
+"
diff --git a/testing/sympow/APKBUILD b/testing/sympow/APKBUILD
new file mode 100644
index 00000000000..db90f0c04fd
--- /dev/null
+++ b/testing/sympow/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=sympow
+pkgver=2.023.6
+pkgrel=1
+pkgdesc="Program for computing special values of symmetric power elliptic curve L-functions"
+url="https://gitlab.com/rezozer/forks/sympow"
+# blocked by pari
+arch="all !armhf !armv7 !x86"
+license="BSD-2-Clause"
+depends="pari"
+makedepends="bash help2man"
+subpackages="$pkgname-doc"
+source="https://gitlab.com/rezozer/forks/sympow/-/archive/v$pkgver/sympow-v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+prepare() {
+ default_prepare
+ sed -i "s|VERBOSE_DEFAULT 1|VERBOSE_DEFAULT 0|" sympow.h
+}
+
+build() {
+ export CFLAGS="${CFLAGS/-Os/-O3}" # gotta go fast
+
+ PREFIX=/usr bash ./Configure
+ make
+}
+
+check() {
+ ./sympow -help
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+efe3b09fff0629e136b029ea615aa09ac1a4f225c06636d653ac921c7de01bf75e2b392a138c3c1af92f2b4f889f5949beeeba5b6e5e6b49e02c605bb9c16ceb sympow-v2.023.6.tar.gz
+"
diff --git a/testing/synadm/APKBUILD b/testing/synadm/APKBUILD
new file mode 100644
index 00000000000..835246d7b08
--- /dev/null
+++ b/testing/synadm/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=synadm
+pkgver=0.46
+pkgrel=1
+pkgdesc="Command line admin tool for Synapse"
+url="https://github.com/JOJ0/synadm"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="py3-tabulate py3-click py3-requests py3-yaml py3-click-option-group py3-dnspython"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+source="$pkgname-$pkgver.tar.gz::https://github.com/JOJ0/synadm/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" #no check provided
+subpackages="$pkgname-pyc"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+f997e9240ee35a692adb32f10e967baf4e9efa031471e451bf016e4de3fd9124cca18b85478f453954a7abe68fec193500cb27d8311bf7cd8e3fb22c3804dc96 synadm-0.46.tar.gz
+"
diff --git a/testing/synapse-bt/APKBUILD b/testing/synapse-bt/APKBUILD
index 20eb2bb5f64..29796e23e33 100644
--- a/testing/synapse-bt/APKBUILD
+++ b/testing/synapse-bt/APKBUILD
@@ -2,23 +2,25 @@
# Maintainer: prspkt <prspkt@protonmail.com>
pkgname=synapse-bt
pkgver=1.0
-pkgrel=2
+pkgrel=4
pkgdesc="Flexible and fast BitTorrent daemon"
url="https://github.com/Luminarys/synapse"
-arch="all !aarch64 !s390x !mips !mips64 !riscv64" # Cargo (aarch64 due to MAP_32BIT)
+arch="all !aarch64 !s390x !riscv64" # Cargo (aarch64 due to MAP_32BIT)
license="ISC"
pkgusers="synapse-bt"
pkggroups="synapse-bt"
-makedepends="cargo openssl-dev"
+makedepends="cargo openssl-dev cargo-auditable"
install="synapse-bt.pre-install"
subpackages="$pkgname-openrc $pkgname-cli:cli"
source="synapse-bt-$pkgver.tar.gz::https://github.com/Luminarys/synapse/archive/$pkgver.tar.gz
+ openssl3.patch
synapse-bt.initd
"
builddir="$srcdir"/synapse-$pkgver
+
build() {
- cargo build --release --all --locked
+ cargo auditable build --release --all --locked
}
check() {
@@ -45,5 +47,8 @@ cli() {
"$subpkgdir"/usr/bin/sycli
}
-sha512sums="d3caf0a4ca0e7a63dff07ec15bbbf2dc02736c6ba88c4fbece960af7223f7df8b176dc917518a9ac3f8692aa59c321cb9cbe2a0250a2dddbf520706e379be981 synapse-bt-1.0.tar.gz
-82f8edef196cf15369ba4e6d83f289764fe6f94715f79b27803b7ef87317036cecaf2e497d4858d56727fe101d466d141addfc78b0396813b0edafde3c761d31 synapse-bt.initd"
+sha512sums="
+d3caf0a4ca0e7a63dff07ec15bbbf2dc02736c6ba88c4fbece960af7223f7df8b176dc917518a9ac3f8692aa59c321cb9cbe2a0250a2dddbf520706e379be981 synapse-bt-1.0.tar.gz
+1a2c79613cb6c155cf3e41939360438462e8e0337d3af6eab4c288797a256ec4c986a052de78d04d57ac039a7d06e1b42733bae37699ad58e8ca5a25a02aa4ea openssl3.patch
+82f8edef196cf15369ba4e6d83f289764fe6f94715f79b27803b7ef87317036cecaf2e497d4858d56727fe101d466d141addfc78b0396813b0edafde3c761d31 synapse-bt.initd
+"
diff --git a/testing/synapse-bt/openssl3.patch b/testing/synapse-bt/openssl3.patch
new file mode 100644
index 00000000000..428bfb273ce
--- /dev/null
+++ b/testing/synapse-bt/openssl3.patch
@@ -0,0 +1,2608 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index ea5e35d..28eb5f3 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1,1253 +1,1463 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
+ [[package]]
+ name = "MacTypes-sys"
+ version = "2.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eaf9f0d0b1cc33a4d2aee14fb4b2eac03462ef4db29c8ac4057327d8a71ad86f"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "adler32"
+ version = "1.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
+
+ [[package]]
+ name = "adns"
+ version = "0.1.0"
+ dependencies = [
+- "dns-parser 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dns-parser",
++ "resolv-conf",
+ ]
+
+ [[package]]
+ name = "aho-corasick"
+ version = "0.6.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5"
+ dependencies = [
+- "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "memchr 2.2.0",
+ ]
+
+ [[package]]
+ name = "amy"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "189ef3bf7b79ba326fbb69ff2d29a78a8b9f087a5b6047b5aebc7bc4bad4b2aa"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "nix 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "nix 0.10.0",
+ ]
+
+ [[package]]
+ name = "ansi_term"
+ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
+ dependencies = [
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "arrayvec"
+ version = "0.4.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71"
+ dependencies = [
+- "nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)",
++ "nodrop",
+ ]
+
+ [[package]]
+ name = "atty"
+ version = "0.2.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "termion",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "autocfg"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
++
++[[package]]
++name = "autocfg"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+ [[package]]
+ name = "base32"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1b9605ba46d61df0410d8ac686b0007add8172eba90e8e909c347856fe794d8c"
+
+ [[package]]
+ name = "base64"
+ version = "0.9.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
+ dependencies = [
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "safemem",
+ ]
+
+ [[package]]
+ name = "base64"
+ version = "0.10.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
+ dependencies = [
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
+ ]
+
+ [[package]]
+ name = "bincode"
+ version = "1.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3efe0b4c8eaeed8600549c29f538a6a11bf422858d0ed435b1d70ec4ab101190"
+ dependencies = [
+- "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2",
++ "byteorder",
++ "serde",
+ ]
+
+ [[package]]
+ name = "bitflags"
+ version = "1.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
+
+ [[package]]
+ name = "block-buffer"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d"
+ dependencies = [
+- "block-padding 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "block-padding",
++ "byte-tools",
++ "byteorder",
++ "generic-array",
+ ]
+
+ [[package]]
+ name = "block-padding"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d75255892aeb580d3c566f213a2b6fdc1c66667839f45719ee1d30ebf2aea591"
+ dependencies = [
+- "byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byte-tools",
+ ]
+
+ [[package]]
+ name = "byte-tools"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+
+ [[package]]
+ name = "byteorder"
+ version = "1.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
+
+ [[package]]
+ name = "bytes"
+ version = "0.4.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
+ dependencies = [
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "iovec",
+ ]
+
+ [[package]]
+ name = "cc"
+ version = "1.0.31"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c9ce8bb087aacff865633f0bd5aeaed910fe2fe55b55f4739527f2e023a2e53d"
+
+ [[package]]
+ name = "cfg-if"
+ version = "0.1.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "chrono"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
+ dependencies = [
+- "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer",
++ "num-traits",
++ "serde",
++ "time",
+ ]
+
+ [[package]]
+ name = "clap"
+ version = "2.32.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
+ dependencies = [
+- "ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ansi_term",
++ "atty",
++ "bitflags",
++ "strsim",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
+ ]
+
+ [[package]]
+ name = "clippy"
+ version = "0.0.302"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d911ee15579a3f50880d8c1d59ef6e79f9533127a3bd342462f5d584f5e8c294"
+ dependencies = [
+- "term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "term",
+ ]
+
+ [[package]]
+ name = "cloudabi"
+ version = "0.0.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
+ ]
+
+ [[package]]
+ name = "core-foundation"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "286e0b41c3a20da26536c6000a280585d519fd07b3956b43aed8a79e9edce980"
+ dependencies = [
+- "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation-sys",
++ "libc",
+ ]
+
+ [[package]]
+ name = "core-foundation-sys"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "716c271e8613ace48344f723b60b900a93150271e5be206212d052bbc0883efa"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "crc32fast"
+ version = "1.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
+ dependencies = [
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.7",
+ ]
+
+ [[package]]
+ name = "crossbeam-deque"
+ version = "0.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
+ dependencies = [
+- "crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-epoch",
++ "crossbeam-utils",
+ ]
+
+ [[package]]
+ name = "crossbeam-epoch"
+ version = "0.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "04c9e3102cc2d69cd681412141b390abd55a362afc1540965dad0ad4d34280b4"
+ dependencies = [
+- "arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "arrayvec",
++ "cfg-if 0.1.7",
++ "crossbeam-utils",
++ "lazy_static",
++ "memoffset",
++ "scopeguard",
+ ]
+
+ [[package]]
+ name = "crossbeam-queue"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
+ dependencies = [
+- "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils",
+ ]
+
+ [[package]]
+ name = "crossbeam-utils"
+ version = "0.6.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c"
+ dependencies = [
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.7",
++ "lazy_static",
+ ]
+
+ [[package]]
+ name = "csv"
+ version = "0.15.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ef22b37c7a51c564a365892c012dc0271221fdcc64c69b19ba4d6fa8bd96d9c"
+ dependencies = [
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memchr 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "memchr 1.0.2",
++ "rustc-serialize",
+ ]
+
+ [[package]]
+ name = "digest"
+ version = "0.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c"
+ dependencies = [
+- "generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "generic-array",
+ ]
+
+ [[package]]
+ name = "dns-parser"
+ version = "0.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f7020f6760aea312d43d23cb83bf6c0c49f162541db8b02bf95209ac51dc253d"
+ dependencies = [
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "quick-error",
+ ]
+
+ [[package]]
+ name = "dtoa"
+ version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd"
+
+ [[package]]
+ name = "encode_unicode"
+ version = "0.3.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd"
+
+ [[package]]
+ name = "encoding_rs"
+ version = "0.8.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed"
+ dependencies = [
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.7",
+ ]
+
+ [[package]]
+ name = "error-chain"
+ version = "0.12.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
+ dependencies = [
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check",
+ ]
+
+ [[package]]
+ name = "fake-simd"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+
+ [[package]]
+ name = "fnv"
+ version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
+
+ [[package]]
+ name = "foreign-types"
+ version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+ dependencies = [
+- "foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "foreign-types-shared",
+ ]
+
+ [[package]]
+ name = "foreign-types-shared"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+ [[package]]
+ name = "fs_extra"
+ version = "1.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674"
+
+ [[package]]
+ name = "fuchsia-cprng"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+
+ [[package]]
+ name = "fuchsia-zircon"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "fuchsia-zircon-sys",
+ ]
+
+ [[package]]
+ name = "fuchsia-zircon-sys"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+
+ [[package]]
+ name = "futures"
+ version = "0.1.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b"
+
+ [[package]]
+ name = "futures-cpupool"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
+ dependencies = [
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "num_cpus",
+ ]
+
+ [[package]]
+ name = "gcc"
+ version = "0.3.55"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
+
+ [[package]]
+ name = "generic-array"
+ version = "0.12.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592"
+ dependencies = [
+- "typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "typenum",
+ ]
+
+ [[package]]
+ name = "getopts"
+ version = "0.2.18"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797"
+ dependencies = [
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width",
+ ]
+
+ [[package]]
+ name = "h2"
+ version = "0.1.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "910a5e7be6283a9c91b3982fa5188368c8719cce2a3cf3b86048673bf9d9c36b"
+ dependencies = [
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "bytes",
++ "fnv",
++ "futures",
++ "http",
++ "indexmap",
++ "log",
++ "slab",
++ "string",
++ "tokio-io",
+ ]
+
+ [[package]]
+ name = "http"
+ version = "0.1.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fe67e3678f2827030e89cc4b9e7ecd16d52f132c0b940ab5005f88e821500f6a"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "fnv",
++ "itoa",
+ ]
+
+ [[package]]
+ name = "http-range"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5f2e4003e6fd05ea9109db00415e670b11f511a42e567ff2d5d771cbdfa24e02"
+
+ [[package]]
+ name = "httparse"
+ version = "1.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
+
+ [[package]]
+ name = "hyper"
+ version = "0.12.25"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7d5b6658b016965ae301fa995306db965c93677880ea70765a84235a96eae896"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "h2 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "futures-cpupool",
++ "h2",
++ "http",
++ "httparse",
++ "iovec",
++ "itoa",
++ "log",
++ "net2",
++ "rustc_version",
++ "time",
++ "tokio",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-reactor",
++ "tokio-tcp",
++ "tokio-threadpool",
++ "tokio-timer",
++ "want",
+ ]
+
+ [[package]]
+ name = "hyper-tls"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "32cd73f14ad370d3b4d4b7dce08f69b81536c82e39fcc89731930fe5788cd661"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper 0.12.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "hyper",
++ "native-tls",
++ "tokio-io",
+ ]
+
+ [[package]]
+ name = "idna"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
++ "unicode-bidi",
++ "unicode-normalization",
+ ]
+
+ [[package]]
+ name = "indexmap"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
+
+ [[package]]
+ name = "input_buffer"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8e1b822cc844905551931d6f81608ed5f50a79c1078a4e2b4d42dbc7c1eedfbf"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
+ ]
+
+ [[package]]
+ name = "iovec"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "winapi 0.2.8",
+ ]
+
+ [[package]]
+ name = "itoa"
+ version = "0.4.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
+
+ [[package]]
+ name = "kernel32-sys"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "winapi-build",
+ ]
+
+ [[package]]
+ name = "lazy_static"
+ version = "1.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
+
+ [[package]]
+ name = "lazycell"
+ version = "1.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
+
+ [[package]]
+ name = "libc"
+ version = "0.2.50"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "aab692d7759f5cd8c859e169db98ae5b52c924add2af5fbbca11d12fefb567c1"
+
+ [[package]]
+ name = "libflate"
+ version = "0.1.21"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7346a83e8a2c3958d44d24225d905385dc31fc16e89dffb356c457b278914d20"
+ dependencies = [
+- "adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "adler32",
++ "byteorder",
++ "crc32fast",
+ ]
+
+ [[package]]
+ name = "lock_api"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
+ dependencies = [
+- "owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "owning_ref",
++ "scopeguard",
+ ]
+
+ [[package]]
+ name = "log"
+ version = "0.4.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
+ dependencies = [
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.7",
+ ]
+
+ [[package]]
+ name = "matches"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+
+ [[package]]
+ name = "memchr"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
+ [[package]]
+ name = "memchr"
+ version = "2.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
+
+ [[package]]
+ name = "memmap"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "memoffset"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
+
+ [[package]]
+ name = "metrohash"
+ version = "1.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ba553cb19e2acbc54baa16faef215126243fe45e53357a3b2e9f4ebc7b0506c"
+
+ [[package]]
+ name = "mime"
+ version = "0.3.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425"
+ dependencies = [
+- "unicase 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicase 2.3.0",
+ ]
+
+ [[package]]
+ name = "mime_guess"
+ version = "2.0.0-alpha.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed"
+ dependencies = [
+- "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
+- "phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "mime",
++ "phf",
++ "phf_codegen",
++ "unicase 1.4.2",
+ ]
+
+ [[package]]
+ name = "mio"
+ version = "0.6.16"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432"
+ dependencies = [
+- "fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fuchsia-zircon",
++ "fuchsia-zircon-sys",
++ "iovec",
++ "kernel32-sys",
++ "lazycell",
++ "libc",
++ "log",
++ "miow",
++ "net2",
++ "slab",
++ "winapi 0.2.8",
+ ]
+
+ [[package]]
+ name = "miow"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
+ dependencies = [
+- "kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "kernel32-sys",
++ "net2",
++ "winapi 0.2.8",
++ "ws2_32-sys",
+ ]
+
+ [[package]]
+ name = "native-tls"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ff8e08de0070bbf4c31f452ea2a70db092f36f6f2e4d897adf5674477d488fb2"
+ dependencies = [
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl 0.10.19 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-sys 0.9.42 (registry+https://github.com/rust-lang/crates.io-index)",
+- "schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
+ ]
+
+ [[package]]
+ name = "net2"
+ version = "0.2.33"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
+ dependencies = [
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.7",
++ "libc",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "nix"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b7fd5681d13fda646462cfbd4e5f2051279a89a544d50eb98c365b507246839f"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "bytes",
++ "cfg-if 0.1.7",
++ "gcc",
++ "libc",
++ "void",
+ ]
+
+ [[package]]
+ name = "nix"
+ version = "0.11.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "cc",
++ "cfg-if 0.1.7",
++ "libc",
++ "void",
+ ]
+
+ [[package]]
+ name = "nodrop"
+ version = "0.1.13"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
+
+ [[package]]
+ name = "num-bigint"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718"
+ dependencies = [
+- "num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-integer",
++ "num-traits",
++ "serde",
+ ]
+
+ [[package]]
+ name = "num-integer"
+ version = "0.1.39"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
+ dependencies = [
+- "num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "num-traits",
+ ]
+
+ [[package]]
+ name = "num-traits"
+ version = "0.2.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
+
+ [[package]]
+ name = "num_cpus"
+ version = "1.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
+ ]
+
++[[package]]
++name = "once_cell"
++version = "1.13.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "18a6dbe30758c9f83eb00cbea4ac95966305f5a7772f3f42ebfc7fc7eddbd8e1"
++
+ [[package]]
+ name = "opaque-debug"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409"
+
+ [[package]]
+ name = "openssl"
+-version = "0.10.19"
++version = "0.10.41"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0"
+ dependencies = [
+- "bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl-sys 0.9.42 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bitflags",
++ "cfg-if 1.0.0",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
++dependencies = [
++ "proc-macro2 1.0.43",
++ "quote 1.0.21",
++ "syn 1.0.99",
+ ]
+
+ [[package]]
+ name = "openssl-probe"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+
+ [[package]]
+ name = "openssl-sys"
+-version = "0.9.42"
++version = "0.9.75"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f"
+ dependencies = [
+- "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 1.1.0",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
+ ]
+
+ [[package]]
+ name = "owning_ref"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
+ dependencies = [
+- "stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "stable_deref_trait",
+ ]
+
+ [[package]]
+ name = "parking_lot"
+ version = "0.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"
+ dependencies = [
+- "lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lock_api",
++ "parking_lot_core",
+ ]
+
+ [[package]]
+ name = "parking_lot_core"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "rand 0.6.5",
++ "rustc_version",
++ "smallvec",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "percent-encoding"
+ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+
+ [[package]]
+ name = "phf"
+ version = "0.7.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
+ dependencies = [
+- "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared",
+ ]
+
+ [[package]]
+ name = "phf_codegen"
+ version = "0.7.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
+ dependencies = [
+- "phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
+- "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_generator",
++ "phf_shared",
+ ]
+
+ [[package]]
+ name = "phf_generator"
+ version = "0.7.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
+ dependencies = [
+- "phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "phf_shared",
++ "rand 0.6.5",
+ ]
+
+ [[package]]
+ name = "phf_shared"
+ version = "0.7.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
+ dependencies = [
+- "siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "siphasher",
++ "unicase 1.4.2",
+ ]
+
+ [[package]]
+ name = "pkg-config"
+ version = "0.3.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
+
+ [[package]]
+ name = "prettytable-rs"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5511ca4c805aa35f0abff6be7923231d664408b60c09f44ef715f2bce106cd9e"
+ dependencies = [
+- "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "csv 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "atty",
++ "csv",
++ "encode_unicode",
++ "lazy_static",
++ "term",
++ "unicode-width",
+ ]
+
+ [[package]]
+ name = "proc-macro2"
+ version = "0.4.27"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
+ dependencies = [
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-xid",
++]
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.43"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab"
++dependencies = [
++ "unicode-ident",
+ ]
+
+ [[package]]
+ name = "quick-error"
+ version = "1.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
+
+ [[package]]
+ name = "quote"
+ version = "0.6.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
+ dependencies = [
+- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.27",
++]
++
++[[package]]
++name = "quote"
++version = "1.0.21"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
++dependencies = [
++ "proc-macro2 1.0.43",
+ ]
+
+ [[package]]
+ name = "rand"
+ version = "0.5.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
+ dependencies = [
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cloudabi",
++ "fuchsia-cprng",
++ "libc",
++ "rand_core 0.3.1",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "rand"
+ version = "0.6.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
+ dependencies = [
+- "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2",
++ "libc",
++ "rand_chacha",
++ "rand_core 0.4.0",
++ "rand_hc",
++ "rand_isaac",
++ "rand_jitter",
++ "rand_os",
++ "rand_pcg",
++ "rand_xorshift",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "rand_chacha"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
+ dependencies = [
+- "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2",
++ "rand_core 0.3.1",
+ ]
+
+ [[package]]
+ name = "rand_core"
+ version = "0.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+ dependencies = [
+- "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.4.0",
+ ]
+
+ [[package]]
+ name = "rand_core"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
+
+ [[package]]
+ name = "rand_hc"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+
+ [[package]]
+ name = "rand_isaac"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+
+ [[package]]
+ name = "rand_jitter"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b9ea758282efe12823e0d952ddb269d2e1897227e464919a554f2a03ef1b832"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "rand_core 0.4.0",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "rand_os"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+ dependencies = [
+- "cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cloudabi",
++ "fuchsia-cprng",
++ "libc",
++ "rand_core 0.4.0",
++ "rdrand",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "rand_pcg"
+ version = "0.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+ dependencies = [
+- "autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "autocfg 0.1.2",
++ "rand_core 0.4.0",
+ ]
+
+ [[package]]
+ name = "rand_xorshift"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+
+ [[package]]
+ name = "rdrand"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+ dependencies = [
+- "rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand_core 0.3.1",
+ ]
+
+ [[package]]
+ name = "redox_syscall"
+ version = "0.1.51"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85"
+
+ [[package]]
+ name = "redox_termios"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
+ dependencies = [
+- "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
++ "redox_syscall",
+ ]
+
+ [[package]]
+ name = "regex"
+ version = "1.1.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "53ee8cfdddb2e0291adfb9f13d31d3bbe0a03c9a402c01b1e24188d86c35b24f"
+ dependencies = [
+- "aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "aho-corasick",
++ "memchr 2.2.0",
++ "regex-syntax",
++ "thread_local",
++ "utf8-ranges",
+ ]
+
+ [[package]]
+ name = "regex-syntax"
+ version = "0.6.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861"
+ dependencies = [
+- "ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "ucd-util",
+ ]
+
+ [[package]]
+ name = "remove_dir_all"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
+ dependencies = [
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "reqwest"
+ version = "0.9.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e542d9f077c126af32536b6aacc75bb7325400eab8cd0743543be5d91660780d"
+ dependencies = [
+- "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper 0.12.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "hyper-tls 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libflate 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_urlencoded 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "uuid 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.10.1",
++ "bytes",
++ "encoding_rs",
++ "futures",
++ "http",
++ "hyper",
++ "hyper-tls",
++ "libflate",
++ "log",
++ "mime",
++ "mime_guess",
++ "native-tls",
++ "serde",
++ "serde_json",
++ "serde_urlencoded",
++ "tokio",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-threadpool",
++ "tokio-timer",
++ "url",
++ "uuid",
+ ]
+
+ [[package]]
+ name = "resolv-conf"
+ version = "0.6.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b263b4aa1b5de9ffc0054a2386f96992058bb6870aab516f8cdeb8a667d56dcb"
+ dependencies = [
+- "quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "quick-error",
+ ]
+
+ [[package]]
+ name = "rustc-serialize"
+ version = "0.3.24"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
+
+ [[package]]
+ name = "rustc_version"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+ dependencies = [
+- "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver",
+ ]
+
+ [[package]]
+ name = "ryu"
+ version = "0.2.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7"
+
+ [[package]]
+ name = "safemem"
+ version = "0.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
+
+ [[package]]
+ name = "schannel"
+ version = "0.1.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339"
+ dependencies = [
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "scopeguard"
+ version = "0.3.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
+
+ [[package]]
+ name = "security-framework"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfab8dda0e7a327c696d893df9ffa19cadc4bd195797997f5223cf5831beaf05"
+ dependencies = [
+- "core-foundation 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
++ "core-foundation",
++ "core-foundation-sys",
++ "libc",
++ "security-framework-sys",
+ ]
+
+ [[package]]
+ name = "security-framework-sys"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3d6696852716b589dff9e886ff83778bb635150168e83afa8ac6b8a78cb82abc"
+ dependencies = [
+- "MacTypes-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
++ "MacTypes-sys",
++ "core-foundation-sys",
++ "libc",
+ ]
+
+ [[package]]
+ name = "semver"
+ version = "0.9.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+ dependencies = [
+- "semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "semver-parser",
+ ]
+
+ [[package]]
+ name = "semver-parser"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+
+ [[package]]
+ name = "serde"
+ version = "1.0.89"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92514fb95f900c9b5126e32d020f5c6d40564c27a5ea6d1d7d9f157a96623560"
+
+ [[package]]
+ name = "serde_derive"
+ version = "1.0.89"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bb6eabf4b5914e88e24eea240bb7c9f9a2cbc1bbbe8d961d381975ec3c6b806c"
+ dependencies = [
+- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.27",
++ "quote 0.6.11",
++ "syn 0.15.29",
+ ]
+
+ [[package]]
+ name = "serde_json"
+ version = "1.0.39"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
+ dependencies = [
+- "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
++ "itoa",
++ "ryu",
++ "serde",
+ ]
+
+ [[package]]
+ name = "serde_urlencoded"
+ version = "0.5.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d48f9f99cd749a2de71d29da5f948de7f2764cc5a9d7f3c97e3514d4ee6eabf2"
+ dependencies = [
+- "dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "dtoa",
++ "itoa",
++ "serde",
++ "url",
+ ]
+
+ [[package]]
+ name = "sha-1"
+ version = "0.8.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68"
+ dependencies = [
+- "block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "block-buffer",
++ "digest",
++ "fake-simd",
++ "opaque-debug",
+ ]
+
+ [[package]]
+ name = "shellexpand"
+ version = "1.0.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "de7a5b5a9142fd278a10e0209b021a1b85849352e6951f4f914735c976737564"
+
+ [[package]]
+ name = "siphasher"
+ version = "0.2.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
+
+ [[package]]
+ name = "slab"
+ version = "0.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+
+ [[package]]
+ name = "smallvec"
+ version = "0.6.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
+
+ [[package]]
+ name = "stable_deref_trait"
+ version = "1.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
+
+ [[package]]
+ name = "string"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b639411d0b9c738748b5397d5ceba08e648f4f1992231aa859af1a017f31f60b"
+
+ [[package]]
+ name = "strsim"
+ version = "0.7.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
+
+ [[package]]
+ name = "sycli"
+ version = "0.1.0"
+ dependencies = [
+- "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl 0.10.19 (registry+https://github.com/rust-lang/crates.io-index)",
+- "prettytable-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "reqwest 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
+- "shellexpand 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "synapse-bencode 0.1.0",
+- "synapse-rpc 0.1.21",
+- "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tungstenite 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.9.3",
++ "clap",
++ "error-chain",
++ "openssl",
++ "prettytable-rs",
++ "reqwest",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "shellexpand",
++ "synapse-bencode",
++ "synapse-rpc",
++ "toml",
++ "tungstenite",
++ "url",
+ ]
+
+ [[package]]
+ name = "syn"
+ version = "0.15.29"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
+ dependencies = [
+- "proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)",
+- "quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)",
+- "unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "proc-macro2 0.4.27",
++ "quote 0.6.11",
++ "unicode-xid",
++]
++
++[[package]]
++name = "syn"
++version = "1.0.99"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13"
++dependencies = [
++ "proc-macro2 1.0.43",
++ "quote 1.0.21",
++ "unicode-ident",
+ ]
+
+ [[package]]
+@@ -1258,630 +1468,487 @@ version = "0.1.0"
+ name = "synapse-bt"
+ version = "0.1.0"
+ dependencies = [
+- "adns 0.1.0",
+- "amy 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "base32 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)",
+- "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "clippy 0.0.302 (registry+https://github.com/rust-lang/crates.io-index)",
+- "error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)",
+- "http-range 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "metrohash 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)",
+- "nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "openssl 0.10.19 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
+- "shellexpand 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "synapse-bencode 0.1.0",
+- "synapse-rpc 0.1.21",
+- "synapse-session 0.1.0",
+- "toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "vecio 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "adns",
++ "amy",
++ "base32",
++ "base64 0.9.3",
++ "bincode",
++ "byteorder",
++ "cc",
++ "chrono",
++ "clippy",
++ "error-chain",
++ "fnv",
++ "fs_extra",
++ "getopts",
++ "http-range",
++ "httparse",
++ "lazy_static",
++ "libc",
++ "memmap",
++ "metrohash",
++ "net2",
++ "nix 0.11.0",
++ "num-bigint",
++ "openssl",
++ "rand 0.5.6",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "shellexpand",
++ "synapse-bencode",
++ "synapse-rpc",
++ "synapse-session",
++ "toml",
++ "url",
++ "vecio",
+ ]
+
+ [[package]]
+ name = "synapse-rpc"
+ version = "0.1.21"
+ dependencies = [
+- "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "chrono",
++ "regex",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "url",
++ "url_serde",
+ ]
+
+ [[package]]
+ name = "synapse-session"
+ version = "0.1.0"
+ dependencies = [
+- "bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bincode",
++ "chrono",
++ "serde",
++ "serde_derive",
+ ]
+
+ [[package]]
+ name = "tempfile"
+ version = "3.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a"
+ dependencies = [
+- "cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)",
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
+- "remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "cfg-if 0.1.7",
++ "libc",
++ "rand 0.6.5",
++ "redox_syscall",
++ "remove_dir_all",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "term"
+ version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5e6b677dd1e8214ea1ef4297f85dbcbed8e8cdddb561040cc998ca2551c37561"
+ dependencies = [
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "byteorder",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "termion"
+ version = "1.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "redox_syscall",
++ "redox_termios",
+ ]
+
+ [[package]]
+ name = "textwrap"
+ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
+ dependencies = [
+- "unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "unicode-width",
+ ]
+
+ [[package]]
+ name = "thread_local"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
+ dependencies = [
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static",
+ ]
+
+ [[package]]
+ name = "time"
+ version = "0.1.42"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+ dependencies = [
+- "libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)",
+- "redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "libc",
++ "redox_syscall",
++ "winapi 0.3.6",
+ ]
+
+ [[package]]
+ name = "tokio"
+ version = "0.1.17"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1021bb1f4150435ab8f222eb7ed37c60b2d57037def63ba43085a79f387512d7"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-current-thread 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-threadpool 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "mio",
++ "num_cpus",
++ "tokio-current-thread",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-reactor",
++ "tokio-threadpool",
++ "tokio-timer",
++ "tokio-trace-core",
+ ]
+
+ [[package]]
+ name = "tokio-current-thread"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c756b04680eea21902a46fca4e9f410a2332c04995af590e07ff262e2193a9a3"
+ dependencies = [
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "tokio-executor",
+ ]
+
+ [[package]]
+ name = "tokio-executor"
+ version = "0.1.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "30c6dbf2d1ad1de300b393910e8a3aa272b724a400b6531da03eed99e329fbf0"
+ dependencies = [
+- "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils",
++ "futures",
+ ]
+
+ [[package]]
+ name = "tokio-io"
+ version = "0.1.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "log",
+ ]
+
+ [[package]]
+ name = "tokio-reactor"
+ version = "0.1.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce"
+ dependencies = [
+- "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-sync 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils",
++ "futures",
++ "lazy_static",
++ "log",
++ "mio",
++ "num_cpus",
++ "parking_lot",
++ "slab",
++ "tokio-executor",
++ "tokio-io",
++ "tokio-sync",
+ ]
+
+ [[package]]
+ name = "tokio-sync"
+ version = "0.1.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fda385df506bf7546e70872767f71e81640f1f251bdf2fd8eb81a0eaec5fe022"
+ dependencies = [
+- "fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
++ "fnv",
++ "futures",
+ ]
+
+ [[package]]
+ name = "tokio-tcp"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
+ dependencies = [
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "bytes",
++ "futures",
++ "iovec",
++ "mio",
++ "tokio-io",
++ "tokio-reactor",
+ ]
+
+ [[package]]
+ name = "tokio-threadpool"
+ version = "0.1.12"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "742e511f6ce2298aeb86fc9ea0d8df81c2388c6ebae3dc8a7316e8c9df0df801"
+ dependencies = [
+- "crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-deque",
++ "crossbeam-queue",
++ "crossbeam-utils",
++ "futures",
++ "log",
++ "num_cpus",
++ "rand 0.6.5",
++ "slab",
++ "tokio-executor",
+ ]
+
+ [[package]]
+ name = "tokio-timer"
+ version = "0.2.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2910970404ba6fa78c5539126a9ae2045d62e3713041e447f695f41405a120c6"
+ dependencies = [
+- "crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
++ "crossbeam-utils",
++ "futures",
++ "slab",
++ "tokio-executor",
+ ]
+
+ [[package]]
+ name = "tokio-trace-core"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "350c9edade9830dc185ae48ba45667a445ab59f6167ef6d0254ec9d2430d9dd3"
+ dependencies = [
+- "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "lazy_static",
+ ]
+
+ [[package]]
+ name = "toml"
+ version = "0.4.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
+ dependencies = [
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde",
+ ]
+
+ [[package]]
+ name = "try-lock"
+ version = "0.2.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
+
+ [[package]]
+ name = "tungstenite"
+ version = "0.6.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e9573852f935883137b7f0824832493ce7418bf290c8cf164b7aafc9b0a99aa0"
+ dependencies = [
+- "base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
+- "httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)",
+- "input_buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
+- "utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "base64 0.10.1",
++ "byteorder",
++ "bytes",
++ "httparse",
++ "input_buffer",
++ "log",
++ "native-tls",
++ "rand 0.5.6",
++ "sha-1",
++ "url",
++ "utf-8",
+ ]
+
+ [[package]]
+ name = "typenum"
+ version = "1.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
+
+ [[package]]
+ name = "ucd-util"
+ version = "0.1.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
+
+ [[package]]
+ name = "unicase"
+ version = "1.4.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
+ dependencies = [
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check",
+ ]
+
+ [[package]]
+ name = "unicase"
+ version = "2.3.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "41d17211f887da8e4a70a45b9536f26fc5de166b81e2d5d80de4a17fd22553bd"
+ dependencies = [
+- "version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "version_check",
+ ]
+
+ [[package]]
+ name = "unicode-bidi"
+ version = "0.3.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+ dependencies = [
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
++ "matches",
+ ]
+
++[[package]]
++name = "unicode-ident"
++version = "1.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
++
+ [[package]]
+ name = "unicode-normalization"
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
+ dependencies = [
+- "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
++ "smallvec",
+ ]
+
+ [[package]]
+ name = "unicode-width"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
+
+ [[package]]
+ name = "unicode-xid"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+
+ [[package]]
+ name = "url"
+ version = "1.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+ dependencies = [
+- "idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
+- "matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "idna",
++ "matches",
++ "percent-encoding",
+ ]
+
+ [[package]]
+ name = "url_serde"
+ version = "0.2.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "74e7d099f1ee52f823d4bdd60c93c3602043c728f5db3b97bdb548467f7bddea"
+ dependencies = [
+- "serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)",
+- "url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "serde",
++ "url",
+ ]
+
+ [[package]]
+ name = "utf-8"
+ version = "0.7.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05e42f7c18b8f902290b009cde6d651262f956c98bc51bca4cd1d511c9cd85c7"
+
+ [[package]]
+ name = "utf8-ranges"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
+
+ [[package]]
+ name = "uuid"
+ version = "0.7.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0238db0c5b605dd1cf51de0f21766f97fba2645897024461d6a00c036819a768"
+ dependencies = [
+- "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
++ "rand 0.6.5",
+ ]
+
+ [[package]]
+ name = "vcpkg"
+-version = "0.2.6"
++version = "0.2.15"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
+
+ [[package]]
+ name = "vec_map"
+ version = "0.8.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+
+ [[package]]
+ name = "vecio"
+ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0795a11576d29ae80525a3fda315bf7b534f8feb9d34101e5fe63fb95bb2fd24"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "ws2_32-sys",
+ ]
+
+ [[package]]
+ name = "version_check"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+
+ [[package]]
+ name = "void"
+ version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+
+ [[package]]
+ name = "want"
+ version = "0.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3"
+ dependencies = [
+- "futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)",
+- "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
+- "try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
++ "futures",
++ "log",
++ "try-lock",
+ ]
+
+ [[package]]
+ name = "winapi"
+ version = "0.2.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+
+ [[package]]
+ name = "winapi"
+ version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
+ dependencies = [
+- "winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
+ ]
+
+ [[package]]
+ name = "winapi-build"
+ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+
+ [[package]]
+ name = "winapi-i686-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+ [[package]]
+ name = "winapi-x86_64-pc-windows-gnu"
+ version = "0.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+ [[package]]
+ name = "ws2_32-sys"
+ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
+ dependencies = [
+- "winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)",
+- "winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
++ "winapi 0.2.8",
++ "winapi-build",
+ ]
+-
+-[metadata]
+-"checksum MacTypes-sys 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "eaf9f0d0b1cc33a4d2aee14fb4b2eac03462ef4db29c8ac4057327d8a71ad86f"
+-"checksum adler32 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7e522997b529f05601e05166c07ed17789691f562762c7f3b987263d2dedee5c"
+-"checksum aho-corasick 0.6.10 (registry+https://github.com/rust-lang/crates.io-index)" = "81ce3d38065e618af2d7b77e10c5ad9a069859b4be3c2250f674af3840d9c8a5"
+-"checksum amy 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "189ef3bf7b79ba326fbb69ff2d29a78a8b9f087a5b6047b5aebc7bc4bad4b2aa"
+-"checksum ansi_term 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ee49baf6cb617b853aa8d93bf420db2383fab46d314482ca2803b40d5fde979b"
+-"checksum arrayvec 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "92c7fb76bc8826a8b33b4ee5bb07a247a81e76764ab4d55e8f73e3a4d8808c71"
+-"checksum atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)" = "9a7d5b8723950951411ee34d271d99dddcc2035a16ab25310ea2c8cfd4369652"
+-"checksum autocfg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "a6d640bee2da49f60a4068a7fae53acde8982514ab7bae8b8cea9e88cbcfd799"
+-"checksum base32 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "1b9605ba46d61df0410d8ac686b0007add8172eba90e8e909c347856fe794d8c"
+-"checksum base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0b25d992356d2eb0ed82172f5248873db5560c4721f564b13cb5193bda5e668e"
+-"checksum base64 0.9.3 (registry+https://github.com/rust-lang/crates.io-index)" = "489d6c0ed21b11d038c31b6ceccca973e65d73ba3bd8ecb9a2babf5546164643"
+-"checksum bincode 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "3efe0b4c8eaeed8600549c29f538a6a11bf422858d0ed435b1d70ec4ab101190"
+-"checksum bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "228047a76f468627ca71776ecdebd732a3423081fcf5125585bcd7c49886ce12"
+-"checksum block-buffer 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49665c62e0e700857531fa5d3763e91b539ff1abeebd56808d378b495870d60d"
+-"checksum block-padding 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d75255892aeb580d3c566f213a2b6fdc1c66667839f45719ee1d30ebf2aea591"
+-"checksum byte-tools 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
+-"checksum byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a019b10a2a7cdeb292db131fc8113e57ea2a908f6e7894b0c3c671893b65dbeb"
+-"checksum bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)" = "206fdffcfa2df7cbe15601ef46c813fce0965eb3286db6b56c583b814b51c81c"
+-"checksum cc 1.0.31 (registry+https://github.com/rust-lang/crates.io-index)" = "c9ce8bb087aacff865633f0bd5aeaed910fe2fe55b55f4739527f2e023a2e53d"
+-"checksum cfg-if 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "11d43355396e872eefb45ce6342e4374ed7bc2b3a502d1b28e36d6e23c05d1f4"
+-"checksum chrono 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "45912881121cb26fad7c38c17ba7daa18764771836b34fab7d3fbd93ed633878"
+-"checksum clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b957d88f4b6a63b9d70d5f454ac8011819c6efa7727858f458ab71c756ce2d3e"
+-"checksum clippy 0.0.302 (registry+https://github.com/rust-lang/crates.io-index)" = "d911ee15579a3f50880d8c1d59ef6e79f9533127a3bd342462f5d584f5e8c294"
+-"checksum cloudabi 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
+-"checksum core-foundation 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "286e0b41c3a20da26536c6000a280585d519fd07b3956b43aed8a79e9edce980"
+-"checksum core-foundation-sys 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "716c271e8613ace48344f723b60b900a93150271e5be206212d052bbc0883efa"
+-"checksum crc32fast 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ba125de2af0df55319f41944744ad91c71113bf74a4646efff39afe1f6842db1"
+-"checksum crossbeam-deque 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b18cd2e169ad86297e6bc0ad9aa679aee9daa4f19e8163860faf7c164e4f5a71"
+-"checksum crossbeam-epoch 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "04c9e3102cc2d69cd681412141b390abd55a362afc1540965dad0ad4d34280b4"
+-"checksum crossbeam-queue 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7c979cd6cfe72335896575c6b5688da489e420d36a27a0b9eb0c73db574b4a4b"
+-"checksum crossbeam-utils 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "f8306fcef4a7b563b76b7dd949ca48f52bc1141aa067d2ea09565f3e2652aa5c"
+-"checksum csv 0.15.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7ef22b37c7a51c564a365892c012dc0271221fdcc64c69b19ba4d6fa8bd96d9c"
+-"checksum digest 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "05f47366984d3ad862010e22c7ce81a7dbcaebbdfb37241a620f8b6596ee135c"
+-"checksum dns-parser 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "f7020f6760aea312d43d23cb83bf6c0c49f162541db8b02bf95209ac51dc253d"
+-"checksum dtoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "6d301140eb411af13d3115f9a562c85cc6b541ade9dfa314132244aaee7489dd"
+-"checksum encode_unicode 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "90b2c9496c001e8cb61827acdefad780795c42264c137744cae6f7d9e3450abd"
+-"checksum encoding_rs 0.8.17 (registry+https://github.com/rust-lang/crates.io-index)" = "4155785c79f2f6701f185eb2e6b4caf0555ec03477cb4c70db67b465311620ed"
+-"checksum error-chain 0.12.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3ab49e9dcb602294bc42f9a7dfc9bc6e936fca4418ea300dbfb84fe16de0b7d9"
+-"checksum fake-simd 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
+-"checksum fnv 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "2fad85553e09a6f881f739c29f0b00b0f01357c743266d478b68951ce23285f3"
+-"checksum foreign-types 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
+-"checksum foreign-types-shared 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+-"checksum fs_extra 1.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2a4a2034423744d2cc7ca2068453168dcdb82c438419e639a26bd87839c674"
+-"checksum fuchsia-cprng 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
+-"checksum fuchsia-zircon 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
+-"checksum fuchsia-zircon-sys 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3dcaa9ae7725d12cdb85b3ad99a434db70b468c09ded17e012d86b5c1010f7a7"
+-"checksum futures 0.1.25 (registry+https://github.com/rust-lang/crates.io-index)" = "49e7653e374fe0d0c12de4250f0bdb60680b8c80eed558c5c7538eec9c89e21b"
+-"checksum futures-cpupool 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "ab90cde24b3319636588d0c35fe03b1333857621051837ed769faefb4c2162e4"
+-"checksum gcc 0.3.55 (registry+https://github.com/rust-lang/crates.io-index)" = "8f5f3913fa0bfe7ee1fd8248b6b9f42a5af4b9d65ec2dd2c3c26132b950ecfc2"
+-"checksum generic-array 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "3c0f28c2f5bfb5960175af447a2da7c18900693738343dc896ffbcabd9839592"
+-"checksum getopts 0.2.18 (registry+https://github.com/rust-lang/crates.io-index)" = "0a7292d30132fb5424b354f5dc02512a86e4c516fe544bb7a25e7f266951b797"
+-"checksum h2 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "910a5e7be6283a9c91b3982fa5188368c8719cce2a3cf3b86048673bf9d9c36b"
+-"checksum http 0.1.16 (registry+https://github.com/rust-lang/crates.io-index)" = "fe67e3678f2827030e89cc4b9e7ecd16d52f132c0b940ab5005f88e821500f6a"
+-"checksum http-range 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5f2e4003e6fd05ea9109db00415e670b11f511a42e567ff2d5d771cbdfa24e02"
+-"checksum httparse 1.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "e8734b0cfd3bc3e101ec59100e101c2eecd19282202e87808b3037b442777a83"
+-"checksum hyper 0.12.25 (registry+https://github.com/rust-lang/crates.io-index)" = "7d5b6658b016965ae301fa995306db965c93677880ea70765a84235a96eae896"
+-"checksum hyper-tls 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "32cd73f14ad370d3b4d4b7dce08f69b81536c82e39fcc89731930fe5788cd661"
+-"checksum idna 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "38f09e0f0b1fb55fdee1f17470ad800da77af5186a1a76c026b679358b7e844e"
+-"checksum indexmap 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7e81a7c05f79578dbc15793d8b619db9ba32b4577003ef3af1a91c416798c58d"
+-"checksum input_buffer 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e1b822cc844905551931d6f81608ed5f50a79c1078a4e2b4d42dbc7c1eedfbf"
+-"checksum iovec 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dbe6e417e7d0975db6512b90796e8ce223145ac4e33c377e4a42882a0e88bb08"
+-"checksum itoa 0.4.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1306f3464951f30e30d12373d31c79fbd52d236e5e896fd92f96ec7babbbe60b"
+-"checksum kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7507624b29483431c0ba2d82aece8ca6cdba9382bff4ddd0f7490560c056098d"
+-"checksum lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bc5729f27f159ddd61f4df6228e827e86643d4d3e7c32183cb30a1c08f604a14"
+-"checksum lazycell 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "b294d6fa9ee409a054354afc4352b0b9ef7ca222c69b8812cbea9e7d2bf3783f"
+-"checksum libc 0.2.50 (registry+https://github.com/rust-lang/crates.io-index)" = "aab692d7759f5cd8c859e169db98ae5b52c924add2af5fbbca11d12fefb567c1"
+-"checksum libflate 0.1.21 (registry+https://github.com/rust-lang/crates.io-index)" = "7346a83e8a2c3958d44d24225d905385dc31fc16e89dffb356c457b278914d20"
+-"checksum lock_api 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "62ebf1391f6acad60e5c8b43706dde4582df75c06698ab44511d15016bc2442c"
+-"checksum log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c84ec4b527950aa83a329754b01dbe3f58361d1c5efacd1f6d68c494d08a17c6"
+-"checksum matches 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08"
+-"checksum memchr 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "148fab2e51b4f1cfc66da2a7c32981d1d3c083a803978268bb11fe4b86925e7a"
+-"checksum memchr 2.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "2efc7bc57c883d4a4d6e3246905283d8dae951bb3bd32f49d6ef297f546e1c39"
+-"checksum memmap 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ffa2c986de11a9df78620c01eeaaf27d94d3ff02bf81bfcca953102dd0c6ff"
+-"checksum memoffset 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "0f9dc261e2b62d7a622bf416ea3c5245cdd5d9a7fcc428c0d06804dfce1775b3"
+-"checksum metrohash 1.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "3ba553cb19e2acbc54baa16faef215126243fe45e53357a3b2e9f4ebc7b0506c"
+-"checksum mime 0.3.13 (registry+https://github.com/rust-lang/crates.io-index)" = "3e27ca21f40a310bd06d9031785f4801710d566c184a6e15bad4f1d9b65f9425"
+-"checksum mime_guess 2.0.0-alpha.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30de2e4613efcba1ec63d8133f344076952090c122992a903359be5a4f99c3ed"
+-"checksum mio 0.6.16 (registry+https://github.com/rust-lang/crates.io-index)" = "71646331f2619b1026cc302f87a2b8b648d5c6dd6937846a16cc8ce0f347f432"
+-"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
+-"checksum native-tls 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "ff8e08de0070bbf4c31f452ea2a70db092f36f6f2e4d897adf5674477d488fb2"
+-"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
+-"checksum nix 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b7fd5681d13fda646462cfbd4e5f2051279a89a544d50eb98c365b507246839f"
+-"checksum nix 0.11.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d37e713a259ff641624b6cb20e3b12b2952313ba36b6823c0f16e6cfd9e5de17"
+-"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
+-"checksum num-bigint 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "57450397855d951f1a41305e54851b1a7b8f5d2e349543a02a2effe25459f718"
+-"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
+-"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"
+-"checksum num_cpus 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1a23f0ed30a54abaa0c7e83b1d2d87ada7c3c23078d1d87815af3e3b6385fbba"
+-"checksum opaque-debug 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "93f5bb2e8e8dec81642920ccff6b61f1eb94fa3020c5a325c9851ff604152409"
+-"checksum openssl 0.10.19 (registry+https://github.com/rust-lang/crates.io-index)" = "84321fb9004c3bce5611188a644d6171f895fa2889d155927d528782edb21c5d"
+-"checksum openssl-probe 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "77af24da69f9d9341038eba93a073b1fdaaa1b788221b00a69bce9e762cb32de"
+-"checksum openssl-sys 0.9.42 (registry+https://github.com/rust-lang/crates.io-index)" = "cb534d752bf98cf363b473950659ac2546517f9c6be9723771614ab3f03bbc9e"
+-"checksum owning_ref 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "49a4b8ea2179e6a2e27411d3bca09ca6dd630821cf6894c6c7c8467a8ee7ef13"
+-"checksum parking_lot 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ab41b4aed082705d1056416ae4468b6ea99d52599ecf3169b00088d43113e337"
+-"checksum parking_lot_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "94c8c7923936b28d546dfd14d4472eaf34c99b14e1c973a32b3e6d4eb04298c9"
+-"checksum percent-encoding 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "31010dd2e1ac33d5b46a5b413495239882813e0369f8ed8a5e266f173602f831"
+-"checksum phf 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b3da44b85f8e8dfaec21adae67f95d93244b2ecf6ad2a692320598dcc8e6dd18"
+-"checksum phf_codegen 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "b03e85129e324ad4166b06b2c7491ae27fe3ec353af72e72cd1654c7225d517e"
+-"checksum phf_generator 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "09364cc93c159b8b06b1f4dd8a4398984503483891b0c26b867cf431fb132662"
+-"checksum phf_shared 0.7.24 (registry+https://github.com/rust-lang/crates.io-index)" = "234f71a15de2288bcb7e3b6515828d22af7ec8598ee6d24c3b526fa0a80b67a0"
+-"checksum pkg-config 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "676e8eb2b1b4c9043511a9b7bea0915320d7e502b0a079fb03f9635a5252b18c"
+-"checksum prettytable-rs 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "5511ca4c805aa35f0abff6be7923231d664408b60c09f44ef715f2bce106cd9e"
+-"checksum proc-macro2 0.4.27 (registry+https://github.com/rust-lang/crates.io-index)" = "4d317f9caece796be1980837fd5cb3dfec5613ebdb04ad0956deea83ce168915"
+-"checksum quick-error 1.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "9274b940887ce9addde99c4eee6b5c44cc494b182b97e73dc8ffdcb3397fd3f0"
+-"checksum quote 0.6.11 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd8e04bd9c52e0342b406469d494fcb033be4bdbe5c606016defbb1681411e1"
+-"checksum rand 0.5.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c618c47cd3ebd209790115ab837de41425723956ad3ce2e6a7f09890947cacb9"
+-"checksum rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
+-"checksum rand_chacha 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
+-"checksum rand_core 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
+-"checksum rand_core 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d0e7a549d590831370895ab7ba4ea0c1b6b011d106b5ff2da6eee112615e6dc0"
+-"checksum rand_hc 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
+-"checksum rand_isaac 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
+-"checksum rand_jitter 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b9ea758282efe12823e0d952ddb269d2e1897227e464919a554f2a03ef1b832"
+-"checksum rand_os 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
+-"checksum rand_pcg 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
+-"checksum rand_xorshift 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
+-"checksum rdrand 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
+-"checksum redox_syscall 0.1.51 (registry+https://github.com/rust-lang/crates.io-index)" = "423e376fffca3dfa06c9e9790a9ccd282fafb3cc6e6397d01dbf64f9bacc6b85"
+-"checksum redox_termios 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7e891cfe48e9100a70a3b6eb652fef28920c117d366339687bd5576160db0f76"
+-"checksum regex 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "53ee8cfdddb2e0291adfb9f13d31d3bbe0a03c9a402c01b1e24188d86c35b24f"
+-"checksum regex-syntax 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)" = "8c2f35eedad5295fdf00a63d7d4b238135723f92b434ec06774dad15c7ab0861"
+-"checksum remove_dir_all 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "3488ba1b9a2084d38645c4c08276a1752dcbf2c7130d74f1569681ad5d2799c5"
+-"checksum reqwest 0.9.11 (registry+https://github.com/rust-lang/crates.io-index)" = "e542d9f077c126af32536b6aacc75bb7325400eab8cd0743543be5d91660780d"
+-"checksum resolv-conf 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)" = "b263b4aa1b5de9ffc0054a2386f96992058bb6870aab516f8cdeb8a667d56dcb"
+-"checksum rustc-serialize 0.3.24 (registry+https://github.com/rust-lang/crates.io-index)" = "dcf128d1287d2ea9d80910b5f1120d0b8eede3fbf1abe91c40d39ea7d51e6fda"
+-"checksum rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
+-"checksum ryu 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)" = "eb9e9b8cde282a9fe6a42dd4681319bfb63f121b8a8ee9439c6f4107e58a46f7"
+-"checksum safemem 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dca453248a96cb0749e36ccdfe2b0b4e54a61bfef89fb97ec621eb8e0a93dd9"
+-"checksum schannel 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)" = "f2f6abf258d99c3c1c5c2131d99d064e94b7b3dd5f416483057f308fea253339"
+-"checksum scopeguard 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)" = "94258f53601af11e6a49f722422f6e3425c52b06245a5cf9bc09908b174f5e27"
+-"checksum security-framework 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "bfab8dda0e7a327c696d893df9ffa19cadc4bd195797997f5223cf5831beaf05"
+-"checksum security-framework-sys 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "3d6696852716b589dff9e886ff83778bb635150168e83afa8ac6b8a78cb82abc"
+-"checksum semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
+-"checksum semver-parser 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
+-"checksum serde 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "92514fb95f900c9b5126e32d020f5c6d40564c27a5ea6d1d7d9f157a96623560"
+-"checksum serde_derive 1.0.89 (registry+https://github.com/rust-lang/crates.io-index)" = "bb6eabf4b5914e88e24eea240bb7c9f9a2cbc1bbbe8d961d381975ec3c6b806c"
+-"checksum serde_json 1.0.39 (registry+https://github.com/rust-lang/crates.io-index)" = "5a23aa71d4a4d43fdbfaac00eff68ba8a06a51759a89ac3304323e800c4dd40d"
+-"checksum serde_urlencoded 0.5.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d48f9f99cd749a2de71d29da5f948de7f2764cc5a9d7f3c97e3514d4ee6eabf2"
+-"checksum sha-1 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "23962131a91661d643c98940b20fcaffe62d776a823247be80a48fcb8b6fce68"
+-"checksum shellexpand 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "de7a5b5a9142fd278a10e0209b021a1b85849352e6951f4f914735c976737564"
+-"checksum siphasher 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "0b8de496cf83d4ed58b6be86c3a275b8602f6ffe98d3024a869e124147a9a3ac"
+-"checksum slab 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "c111b5bd5695e56cffe5129854aa230b39c93a305372fdbb2668ca2394eea9f8"
+-"checksum smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)" = "c4488ae950c49d403731982257768f48fada354a5203fe81f9bb6f43ca9002be"
+-"checksum stable_deref_trait 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "dba1a27d3efae4351c8051072d619e3ade2820635c3958d826bfea39d59b54c8"
+-"checksum string 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "b639411d0b9c738748b5397d5ceba08e648f4f1992231aa859af1a017f31f60b"
+-"checksum strsim 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bb4f380125926a99e52bc279241539c018323fab05ad6368b56f93d9369ff550"
+-"checksum syn 0.15.29 (registry+https://github.com/rust-lang/crates.io-index)" = "1825685f977249735d510a242a6727b46efe914bb67e38d30c071b1b72b1d5c2"
+-"checksum tempfile 3.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "b86c784c88d98c801132806dadd3819ed29d8600836c4088e855cdf3e178ed8a"
+-"checksum term 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "5e6b677dd1e8214ea1ef4297f85dbcbed8e8cdddb561040cc998ca2551c37561"
+-"checksum termion 1.5.1 (registry+https://github.com/rust-lang/crates.io-index)" = "689a3bdfaab439fd92bc87df5c4c78417d3cbe537487274e9b0b2dce76e92096"
+-"checksum textwrap 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "307686869c93e71f94da64286f9a9524c0f308a9e1c87a583de8e9c9039ad3f6"
+-"checksum thread_local 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "c6b53e329000edc2b34dbe8545fd20e55a333362d0a321909685a19bd28c3f1b"
+-"checksum time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)" = "db8dcfca086c1143c9270ac42a2bbd8a7ee477b78ac8e45b19abfb0cbede4b6f"
+-"checksum tokio 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "1021bb1f4150435ab8f222eb7ed37c60b2d57037def63ba43085a79f387512d7"
+-"checksum tokio-current-thread 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "c756b04680eea21902a46fca4e9f410a2332c04995af590e07ff262e2193a9a3"
+-"checksum tokio-executor 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)" = "30c6dbf2d1ad1de300b393910e8a3aa272b724a400b6531da03eed99e329fbf0"
+-"checksum tokio-io 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "5090db468dad16e1a7a54c8c67280c5e4b544f3d3e018f0b913b400261f85926"
+-"checksum tokio-reactor 0.1.9 (registry+https://github.com/rust-lang/crates.io-index)" = "6af16bfac7e112bea8b0442542161bfc41cbfa4466b580bdda7d18cb88b911ce"
+-"checksum tokio-sync 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "fda385df506bf7546e70872767f71e81640f1f251bdf2fd8eb81a0eaec5fe022"
+-"checksum tokio-tcp 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "1d14b10654be682ac43efee27401d792507e30fd8d26389e1da3b185de2e4119"
+-"checksum tokio-threadpool 0.1.12 (registry+https://github.com/rust-lang/crates.io-index)" = "742e511f6ce2298aeb86fc9ea0d8df81c2388c6ebae3dc8a7316e8c9df0df801"
+-"checksum tokio-timer 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)" = "2910970404ba6fa78c5539126a9ae2045d62e3713041e447f695f41405a120c6"
+-"checksum tokio-trace-core 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "350c9edade9830dc185ae48ba45667a445ab59f6167ef6d0254ec9d2430d9dd3"
+-"checksum toml 0.4.10 (registry+https://github.com/rust-lang/crates.io-index)" = "758664fc71a3a69038656bee8b6be6477d2a6c315a6b81f7081f591bffa4111f"
+-"checksum try-lock 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)" = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382"
+-"checksum tungstenite 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)" = "e9573852f935883137b7f0824832493ce7418bf290c8cf164b7aafc9b0a99aa0"
+-"checksum typenum 1.10.0 (registry+https://github.com/rust-lang/crates.io-index)" = "612d636f949607bdf9b123b4a6f6d966dedf3ff669f7f045890d3a4a73948169"
+-"checksum ucd-util 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "535c204ee4d8434478593480b8f86ab45ec9aae0e83c568ca81abf0fd0e88f86"
+-"checksum unicase 1.4.2 (registry+https://github.com/rust-lang/crates.io-index)" = "7f4765f83163b74f957c797ad9253caf97f103fb064d3999aea9568d09fc8a33"
+-"checksum unicase 2.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "41d17211f887da8e4a70a45b9536f26fc5de166b81e2d5d80de4a17fd22553bd"
+-"checksum unicode-bidi 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "49f2bd0c6468a8230e1db229cff8029217cf623c767ea5d60bfbd42729ea54d5"
+-"checksum unicode-normalization 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "141339a08b982d942be2ca06ff8b076563cbe223d1befd5450716790d44e2426"
+-"checksum unicode-width 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "882386231c45df4700b275c7ff55b6f3698780a650026380e72dabe76fa46526"
+-"checksum unicode-xid 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "fc72304796d0818e357ead4e000d19c9c174ab23dc11093ac919054d20a6a7fc"
+-"checksum url 1.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "dd4e7c0d531266369519a4aa4f399d748bd37043b00bde1e4ff1f60a120b355a"
+-"checksum url_serde 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "74e7d099f1ee52f823d4bdd60c93c3602043c728f5db3b97bdb548467f7bddea"
+-"checksum utf-8 0.7.5 (registry+https://github.com/rust-lang/crates.io-index)" = "05e42f7c18b8f902290b009cde6d651262f956c98bc51bca4cd1d511c9cd85c7"
+-"checksum utf8-ranges 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "796f7e48bef87609f7ade7e06495a87d5cd06c7866e6a5cbfceffc558a243737"
+-"checksum uuid 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)" = "0238db0c5b605dd1cf51de0f21766f97fba2645897024461d6a00c036819a768"
+-"checksum vcpkg 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "def296d3eb3b12371b2c7d0e83bfe1403e4db2d7a0bba324a12b21c4ee13143d"
+-"checksum vec_map 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)" = "05c78687fb1a80548ae3250346c3db86a80a7cdd77bda190189f2d0a0987c81a"
+-"checksum vecio 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "0795a11576d29ae80525a3fda315bf7b534f8feb9d34101e5fe63fb95bb2fd24"
+-"checksum version_check 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "914b1a6776c4c929a602fafd8bc742e06365d4bcbe48c30f9cca5824f70dc9dd"
+-"checksum void 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)" = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+-"checksum want 0.0.6 (registry+https://github.com/rust-lang/crates.io-index)" = "797464475f30ddb8830cc529aaaae648d581f99e2036a928877dfde027ddf6b3"
+-"checksum winapi 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)" = "167dc9d6949a9b857f3451275e911c3f44255842c1f7a76f33c55103a909087a"
+-"checksum winapi 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "92c1eb33641e276cfa214a0522acad57be5c56b10cb348b3c5117db75f3ac4b0"
+-"checksum winapi-build 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2d315eee3b34aca4797b2da6b13ed88266e6d612562a0c46390af8299fc699bc"
+-"checksum winapi-i686-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+-"checksum winapi-x86_64-pc-windows-gnu 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+-"checksum ws2_32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "d59cefebd0c892fa2dd6de581e937301d8552cb44489cdff035c6187cb63fa5e"
diff --git a/testing/syncthing-gtk/APKBUILD b/testing/syncthing-gtk/APKBUILD
new file mode 100644
index 00000000000..89fe587bb73
--- /dev/null
+++ b/testing/syncthing-gtk/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=syncthing-gtk
+pkgver=0.9.4.5
+pkgrel=1
+pkgdesc="GTK3 based UI and notification area icon for Syncthing"
+url="https://github.com/syncthing-gtk/syncthing-gtk"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="
+ gtk+3.0
+ libnotify
+ py3-bcrypt
+ py3-cairo
+ py3-dateutil
+ py3-gobject3
+ syncthing
+ "
+makedepends="py3-setuptools"
+checkdepends="pytest"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://github.com/syncthing-gtk/syncthing-gtk/archive/refs/tags/$pkgver/syncthing-gtk-$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --root="$pkgdir" --skip-build
+}
+
+sha512sums="
+25d3c111651c02a5d6d281ae04710b3c54f50d944cc1a72d3d94493e897b9bd432ae2e6dc782d7f0c17b12b3ba86ff30f8654bd46161a3a832d14e8c86c9cba7 syncthing-gtk-0.9.4.5.tar.gz
+"
diff --git a/testing/sysls/APKBUILD b/testing/sysls/APKBUILD
new file mode 100644
index 00000000000..422af30a1e1
--- /dev/null
+++ b/testing/sysls/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Luca Weiss <luca@z3ntu.xyz>
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+pkgname=sysls
+pkgver=2
+pkgrel=1
+pkgdesc="Nicer ls for sysfs directories"
+url="https://git.sr.ht/~martijnbraam/sysls"
+arch="all"
+license="GPL-3.0-only"
+makedepends="py3-setuptools"
+source="sysls-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/sysls/archive/$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="
+f99fc36fd42fb044d5d69a17f5fe0d93d8edd1dd0093ee9c5445afa05630b7258a8d50aecbf5cbe2588e00a78152195061d12fc527db25b02284c2507c911aba sysls-2.tar.gz
+"
diff --git a/testing/t2sz/APKBUILD b/testing/t2sz/APKBUILD
new file mode 100644
index 00000000000..bfd41253e4d
--- /dev/null
+++ b/testing/t2sz/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Marco Martinelli <marco+t2sz@13byte.com>
+# Maintainer: Marco Martinelli <marco+t2sz@13byte.com>
+pkgname=t2sz
+pkgver=1.1.2
+pkgrel=0
+pkgdesc="t2sz compress a file into a seekable zstd with special handling for tar archives."
+url="https://github.com/martinellimarco/t2sz"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="cmake zstd-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/martinellimarco/t2sz/archive/refs/tags/v$pkgver.tar.gz"
+options="!check"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ $CMAKE_CROSSOPTS .
+
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+8bc388042e4f41bc87499b69ee5cc7519701269e6c6bf22c0aab9e11472b65a71fc782582fc3060de3ce8e81bf87e5184051e915ae7d10bd604c68773cdb229e t2sz-1.1.2.tar.gz
+"
diff --git a/testing/tabby/APKBUILD b/testing/tabby/APKBUILD
index 935fa1570fc..caf51afb8fb 100644
--- a/testing/tabby/APKBUILD
+++ b/testing/tabby/APKBUILD
@@ -1,15 +1,25 @@
# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=tabby
-pkgver=1.3
-pkgrel=0
+pkgver=3.1
+pkgrel=1
pkgdesc="Tabbed Tiling Wayland Compositor"
url="https://code.jessemcclure.org/tabby/"
-arch="all !ppc64le !mips64" # blocked by wlroots-dev
+arch="all"
license="MIT"
-makedepends="wayland-dev wayland-protocols wlroots-dev cairo-dev"
+makedepends="
+ cairo-dev
+ nkk-dev
+ pango-dev
+ pixman-dev
+ wayland-dev
+ wayland-protocols
+ wlroots0.16-dev
+ "
subpackages="$pkgname-doc"
-source="https://code.jessemcclure.org/tabby/tarball/$pkgver/tabby-$pkgver.tar.gz"
+source="tabby-$pkgver-r1.tar.gz::https://code.jessemcclure.org/tabby/tarball/$pkgver/tabby-$pkgver.tar.gz
+ usr-bin.patch
+ "
options="!check" # no checks provided
build() {
@@ -21,5 +31,6 @@ package() {
}
sha512sums="
-26cf192cb215b8821923d220d82702c45bb43f111022562909c7abbfbb22eea08f3c42f11739428aa0eca664691852fa8c26393527f7a4df947dc3ee9e0725fe tabby-1.3.tar.gz
+ecb09da410474819e567a2a3d879cfb36c0f72bbaecd4190714d5806f3fc2aea553f011506cae1a2ca95f8e4c3aa492939453ac43f77763c1b7fc2ed2c4b1c6f tabby-3.1-r1.tar.gz
+2270a4fa3ccfdd49fc7eda4201e1b358f687951622be9a73d0aa6ca95a2ac070b927aad78088a16a3aeba9a69c6b434e27d0af6fdd8b55d6b9634b1dc3ec13c2 usr-bin.patch
"
diff --git a/testing/tabby/usr-bin.patch b/testing/tabby/usr-bin.patch
new file mode 100644
index 00000000000..b49fde5ebe3
--- /dev/null
+++ b/testing/tabby/usr-bin.patch
@@ -0,0 +1,10 @@
+diff --git a/share/config b/share/config
+index b1031ca..01d7f8d 100755
+--- a/share/config
++++ b/share/config
+@@ -1,4 +1,4 @@
+-#!/bin/tabby-cmd include
++#!/usr/bin/tabby-cmd include
+
+ gap 0
+ bpx 2
diff --git a/testing/tachyon/APKBUILD b/testing/tachyon/APKBUILD
new file mode 100644
index 00000000000..88782ab5e58
--- /dev/null
+++ b/testing/tachyon/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=tachyon
+pkgver=0.99_beta6
+pkgrel=1
+pkgdesc="Multithreaded ray tracing software"
+url="https://web.archive.org/web/20220728040107/http://jedi.ks.uiuc.edu/~johns/raytracer"
+arch="all"
+license="BSD-3-Clause"
+makedepends="jpeg-dev libpng-dev"
+source="https://archive.org/download/tachyon_${pkgver//_beta/b}dsx.orig.tar.xz/tachyon_${pkgver//_beta/~b}%2Bdsx.orig.tar.xz"
+subpackages="$pkgname-scenes:_scenes"
+builddir="$srcdir/$pkgname-${pkgver//_beta/~b}+dsx.orig/unix"
+
+case "$CARCH" in
+ armhf|armv7|x86) _target=linux-thr;;
+ *) _target=linux-64-thr;;
+esac
+
+build() {
+ sed -i -e "s/-m32 //" -e "s/-m64 //" Make-arch
+ make \
+ USEJPEG="-DUSEJPEG" \
+ JPEGLIB="$(pkgconf --libs libjpeg)" \
+ USEPNG="-DUSEPNG" \
+ PNGLIB="$(pkgconf --libs libpng)" \
+ "$_target"
+}
+
+check() {
+ ../compile/"$_target"/tachyon ../scenes/island.dat
+}
+
+package() {
+ cd ../compile/"$_target"
+ install -Dm755 tachyon "$pkgdir"/usr/bin/tachyon
+ install -d "$pkgdir"/usr/share/tachyon
+ cp -r ../../scenes "$pkgdir"/usr/share/tachyon/scenes
+}
+
+_scenes() {
+ pkgdesc="Example scenes for processing by tachyon"
+ arch="noarch"
+ amove usr/share/tachyon/scenes
+}
+
+sha512sums="
+aac052adcaaf1d44d7c087b9f11af6eb2ddea2df2848cf0d9a030993db6a544466ca06a9139f81f30cf150e616d7c46f5e8f56d4be54128c932b0228537fc4d4 tachyon_0.99~b6%2Bdsx.orig.tar.xz
+"
diff --git a/testing/tagutil/APKBUILD b/testing/tagutil/APKBUILD
deleted file mode 100644
index 84d53715c79..00000000000
--- a/testing/tagutil/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=tagutil
-pkgver=3.1
-pkgrel=0
-pkgdesc="scriptable music files tags tool and editor"
-url="https://github.com/kAworu/tagutil"
-#arch="all"
-license="BSD-2-Clause"
-makedepends="cmake flac-dev jansson-dev libvorbis-dev taglib-dev yaml-dev zlib-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kAworu/tagutil/archive/v3.1.tar.gz
- patch-musl.patch"
-options="!check" # No tests
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- $CMAKE_CROSSOPTS src
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="a5b2140250f21eddd0154231608546b78c5646bb4bcb6ed7b11a3cbade2435c322d83c19a2a2e6852cdacca19a2b1cd6e33c0b71147d6873679d2b41db5a06d9 tagutil-3.1.tar.gz
-2915411e1dc38126879c19d69caf8923fbcb95c72b3371661f50078b2722369ebb88f6dd3de9ba78f974a1eb07b743b1d69e40ee678f2a6f1634d8c972a18ef9 patch-musl.patch"
diff --git a/testing/tagutil/patch-musl.patch b/testing/tagutil/patch-musl.patch
deleted file mode 100644
index 7be2491908c..00000000000
--- a/testing/tagutil/patch-musl.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- tagutil-3.1/src/compat/include/sys/queue.h.orig 2020-04-06 19:26:17.876055943 +0200
-+++ tagutil-3.1/src/compat/include/sys/queue.h 2020-04-06 19:26:24.292746650 +0200
-@@ -33,8 +33,6 @@
- #ifndef _SYS_QUEUE_H_
- #define _SYS_QUEUE_H_
-
--#include <sys/cdefs.h>
--
- /*
- * This file defines four types of data structures: singly-linked lists,
- * singly-linked tail queues, lists and tail queues.
---- tagutil-3.1/src/compat/subr_sbuf.c.orig 2020-04-06 19:26:54.572881419 +0200
-+++ tagutil-3.1/src/compat/subr_sbuf.c 2020-04-06 19:27:01.302916526 +0200
-@@ -26,7 +26,6 @@
- * SUCH DAMAGE.
- */
-
--#include <sys/cdefs.h>
- /*
- __FBSDID("$FreeBSD: release/10.0.0/sys/kern/subr_sbuf.c 255805 2013-09-22 23:47:56Z des $");
- */
---- tagutil-3.1/src/CMakeLists.txt.orig 2020-04-06 19:30:20.403844481 +0200
-+++ tagutil-3.1/src/CMakeLists.txt 2020-04-06 19:30:55.434019063 +0200
-@@ -34,7 +34,7 @@
- add_compile_options(-fstack-protector-strong -o aslr -fpie)
- set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
- # Per build type flags.
--set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -O0 -g -fsanitize=undefined")
-+set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS} -O0 -g")
- # CMAKE_BUILD_TYPE=GRIM: *very* strict compiler options
- set(CMAKE_C_FLAGS_GRIM "${CMAKE_C_FLAGS_DEBUG} -Wextra -pedantic -Wconversion -Wstrict-prototypes -Wcast-qual -Wcast-align -Wshadow -Wredundant-decls -Wundef -Wfloat-equal -Wmissing-include-dirs -Wswitch-default -Wpointer-arith -Wbad-function-cast -Wnested-externs -Wold-style-definition -Wformat=2 -Winit-self -Wwrite-strings -Wmissing-prototypes")
- include(CheckCCompilerFlag)
diff --git a/testing/tailspin/APKBUILD b/testing/tailspin/APKBUILD
new file mode 100644
index 00000000000..55ba5dbd699
--- /dev/null
+++ b/testing/tailspin/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=tailspin
+pkgver=3.0.0
+pkgrel=0
+pkgdesc="Log file highlighter"
+url="https://github.com/bensadeh/tailspin"
+arch="all !s390x" # nix crate fails to build
+license="MIT"
+depends="less"
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/bensadeh/tailspin/archive/refs/tags/$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/tspin -t "$pkgdir"/usr/bin/
+ install -Dm644 man/tspin.1 -t "$pkgdir"/usr/share/man/man1/
+
+ install -Dm644 completions/tspin.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/tspin
+ install -Dm644 completions/tspin.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/tspin.fish
+ install -Dm644 completions/tspin.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_tspin
+}
+
+sha512sums="
+0f079d777fcb446b3b9b20b6d15974274f8f2ff4335bedbec1e3801561d6bc5b29c19a90d792ba88ba76e668e154f109479b9b73b11c5c50a388af8bf7b7e7ad tailspin-3.0.0.tar.gz
+"
diff --git a/testing/tang/APKBUILD b/testing/tang/APKBUILD
new file mode 100644
index 00000000000..5098ee9b3ea
--- /dev/null
+++ b/testing/tang/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=tang
+pkgver=14
+pkgrel=0
+pkgdesc="Server for binding data to network presence"
+url="https://github.com/latchset/tang"
+license="GPL-3.0-or-later"
+arch="all"
+depends="jose"
+makedepends="asciidoc meson http-parser-dev jose-dev"
+checkdepends="iproute2-ss"
+subpackages="$pkgname-dbg $pkgname-doc $pkgname-openrc"
+install="$pkgname.pre-install"
+source="https://github.com/latchset/tang/archive/v$pkgver/tang-$pkgver.tar.gz
+ $pkgname.initd
+ tangd-wrapper
+ man-pages.patch
+ "
+
+prepare() {
+ default_prepare
+
+ # conform to FHS
+ find . -type f -exec sed -i 's|/var/db/tang|/var/lib/tang|g' {} \;
+}
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+
+ install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
+ install -Dm755 "$srcdir"/tangd-wrapper -t "$pkgdir"/usr/libexec/
+
+ rm -r "$pkgdir"/usr/lib/systemd
+}
+
+openrc() {
+ default_openrc
+
+ depends="socat"
+}
+
+sha512sums="
+3b0872f51d9aa8dfd232fa328a326503800a1eedfe7cf9d73f8e10a3cfb97f667996708a18ea04c982c3ca477fe36961045649437b953c593fce544d8dee8048 tang-14.tar.gz
+b91085ab94e0f2b884ea2aa5a9ca966b4532426996f170cc78b903f4ed7b729f82dbbad9d0b9106ee74e287d38421f5eb409d1ab61cb96278cdec73fae82c44b tang.initd
+d32a0da3ab91a42e6c2b2ebf00e9e4b7c95c329a0d13cc30a373c4b387d69e6ff62280d89b57b3c8809e57de953fb4abc9735ad6cad1d347ba6b64b500335d01 tangd-wrapper
+5fabfcb62db2c40c171f0059a34165faae40c3c08a2631a1b2b1e15ef2bc5bd090f612622641af16d30cc01a971265bd9010f125cce254c628067c48312e382d man-pages.patch
+"
diff --git a/testing/tang/man-pages.patch b/testing/tang/man-pages.patch
new file mode 100644
index 00000000000..643ecb8f4fb
--- /dev/null
+++ b/testing/tang/man-pages.patch
@@ -0,0 +1,20 @@
+diff --git a/doc/tang.8.adoc b/doc/tang.8.adoc
+index 3031a13..36105bb 100644
+--- a/doc/tang.8.adoc
++++ b/doc/tang.8.adoc
+@@ -40,13 +40,8 @@ protocol, see the Tang project's homepage.
+
+ Getting a Tang server up and running is simple:
+
+-ifdef::freebsd[]
+- $ sudo service tangd enable
+- $ sudo service tangd start
+-endif::[]
+-ifndef::freebsd[]
+- $ sudo systemctl enable tangd.socket --now
+-endif::[]
++ $ doas rc-update add tang
++ $ doas service tang start
+
+ That's it. The server is now running with a fresh set of cryptographic keys
+ and will automatically start on the next reboot.
diff --git a/testing/tang/tang.initd b/testing/tang/tang.initd
new file mode 100644
index 00000000000..13968543d91
--- /dev/null
+++ b/testing/tang/tang.initd
@@ -0,0 +1,27 @@
+#!/sbin/openrc-run
+
+name="Tang server"
+description="Server for binding data to network presence"
+
+: ${tang_port:="7500"}
+: ${tang_address:="127.0.0.1"}
+: ${socat_address:="tcp-listen:$tang_port,bind=$tang_address,fork"}
+
+command="/usr/bin/socat"
+command_user="tang:tang"
+command_args="$socat_address exec:/usr/libexec/tangd-wrapper"
+command_background="yes"
+
+extra_commands="rotate_keys"
+description_rotate_keys="Perform rotation of tang keys"
+pidfile="/run/$RC_SVCNAME.pid"
+
+rotate_keys() {
+ ebegin "Performing rotation of tang keys"
+ su ${command_user%:*} -s /bin/sh -c "/usr/libexec/tangd-rotate-keys -d /var/lib/tang"
+ eend $?
+}
+
+start_pre() {
+ checkpath -d -m 0750 -o $command_user /var/lib/tang
+}
diff --git a/testing/tang/tang.pre-install b/testing/tang/tang.pre-install
new file mode 100644
index 00000000000..5f19f24d016
--- /dev/null
+++ b/testing/tang/tang.pre-install
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+user=tang
+group=tang
+gecos="Tang server"
+
+addgroup -S $group 2>/dev/null
+adduser -S -D -H -h /var/lib/$user -s /sbin/nologin -G $group -g "$gecos" $user 2>/dev/null
+
+exit 0
diff --git a/testing/tang/tangd-wrapper b/testing/tang/tangd-wrapper
new file mode 100644
index 00000000000..49a190814e6
--- /dev/null
+++ b/testing/tang/tangd-wrapper
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+# pipe stderr to logger and leave stdin/stdout unaffected
+{ /usr/libexec/tangd /var/lib/tang 2>&1 >&3 3>&- | logger -t tangd -p daemon.info 3>&-; } 3>&1
diff --git a/testing/tangctl/APKBUILD b/testing/tangctl/APKBUILD
new file mode 100644
index 00000000000..c5a7e83de2d
--- /dev/null
+++ b/testing/tangctl/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=tangctl
+pkgver=0_git20220412
+_gitrev=2c7f9b676e1571a5805b2e47502ac16e1dfba5da
+pkgrel=15
+pkgdesc="Tool implementing server-side ECMR exchange functionality (Tang server)"
+url="https://github.com/anatol/tang.go"
+license="BSD-3-Clause"
+arch="all"
+makedepends="go"
+checkdepends="clevis tang"
+source="https://github.com/anatol/tang.go/archive/$_gitrev/tang.go-$pkgver.tar.gz
+ tang-location.patch
+ "
+builddir="$srcdir/tang.go-$_gitrev"
+# generated key does not match hardcoded id
+# probably cause by go version?
+options="!check"
+
+case "$CARCH" in
+ # blocked by clevis
+ s390x|riscv64) options="!check" ;;
+esac
+
+export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
+export GOPATH="$srcdir"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build ./cmd/tangctl
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 tangctl -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+6485cbfba2116b21fb5974dd3ef1dae1b5b8d39d8112e850f44941dc45896f6751b265b9e978b53f0e81520dce443ba2288b6b297bdac0d426ffecc46109baa6 tang.go-0_git20220412.tar.gz
+22d1dac2321c9e2fe7c1e5559d3976f759941d9aef27e8c0fc7858e311243635560d235c228ad846f58743e7d3c76737ce8bec3c844a4f567a8604b279961dd4 tang-location.patch
+"
diff --git a/testing/tangctl/tang-location.patch b/testing/tangctl/tang-location.patch
new file mode 100644
index 00000000000..72736571f1c
--- /dev/null
+++ b/testing/tangctl/tang-location.patch
@@ -0,0 +1,12 @@
+--- a/native_server.go
++++ b/native_server.go
+@@ -30,8 +30,7 @@ func NewNativeServer(keysDir string, port int) (*NativeServer, error) {
+
+ // different OS use different tang server binary location
+ tangLocations := []string{
+- "/usr/lib/",
+- "/usr/lib/x86_64-linux-gnu/",
++ "/usr/libexec/",
+ }
+
+ var tangdPath string
diff --git a/testing/tangram/APKBUILD b/testing/tangram/APKBUILD
new file mode 100644
index 00000000000..24a1963cc73
--- /dev/null
+++ b/testing/tangram/APKBUILD
@@ -0,0 +1,63 @@
+# Contributor: knuxify <knuxify@gmail.com>
+# Maintainer: knuxify <knuxify@gmail.com>
+pkgname=tangram
+pkgver=3.0
+pkgrel=1
+_troll_commit="63392a57392fb8ed944e859269a3751f649f64ec"
+pkgdesc="Browser for your pinned tabs"
+url="https://apps.gnome.org/app/re.sonny.Tangram"
+# armhf: blocked by gjs
+# s390x: blocked by gjs, blueprint-compiler
+arch="noarch !armhf !s390x"
+license="GPL-3.0-or-later"
+depends="
+ gjs
+ gtk4.0
+ libadwaita
+ webkit2gtk-6.0
+ "
+makedepends="
+ appstream-glib
+ blueprint-compiler
+ coreutils
+ desktop-file-utils
+ gjs-dev
+ glib-dev
+ gtk4.0-dev
+ libadwaita-dev
+ meson
+ "
+subpackages="$pkgname-lang"
+source="https://github.com/sonnyp/Tangram/archive/refs/tags/v$pkgver/Tangram-$pkgver.tar.gz
+ troll-$_troll_commit.tar.gz::https://github.com/sonnyp/troll/archive/$_troll_commit.tar.gz
+ busybox.patch
+ "
+builddir="$srcdir/Tangram-$pkgver"
+options="!check" # no test suite
+
+prepare() {
+ default_prepare
+
+ rm -r "$builddir"/troll
+ mv "$srcdir"/troll-$_troll_commit "$builddir"/troll
+}
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+74fb84ecd18e80605f98582a0e42d8f7acf8c1e208895592ef6299f187a741ef8642237283bdcf164bf29ee6a1c73f528dfdde274f2f45278cbad118c38b6d42 Tangram-3.0.tar.gz
+53f093712dd11cf2cc3e0448561b57873d225653bff937efa6a2e264ad3520b601cd623aa0178508e4a81e4f85c187dfc977f7f75bbd15873fce64b48efdcda8 troll-63392a57392fb8ed944e859269a3751f649f64ec.tar.gz
+0312705a1a832da0ff26c89fd83769a6f1720917dd954cc1d43482daf386841a8a0cae3a4e8b45cbf6c2b7ac3dbf5eb888ed690a568ab48b1763cc727ad69ebe busybox.patch
+"
diff --git a/testing/tangram/busybox.patch b/testing/tangram/busybox.patch
new file mode 100644
index 00000000000..20329dc0e6f
--- /dev/null
+++ b/testing/tangram/busybox.patch
@@ -0,0 +1,20 @@
+diff --git a/src/bin.js b/src/bin.js
+index 995c092..8ce4a2c 100755
+--- a/src/bin.js
++++ b/src/bin.js
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env -S gjs -m
++#!/usr/bin/gjs -m
+
+ import { exit, programArgs, programInvocationName } from "system";
+ import GLib from "gi://GLib";
+diff --git a/src/local.js b/src/local.js
+index e3fa11a..1385227 100755
+--- a/src/local.js
++++ b/src/local.js
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env -S gjs -m
++#!/usr/bin/gjs -m
+
+ import { exit, programArgs, programInvocationName } from "system";
+ import GLib from "gi://GLib";
diff --git a/testing/tanidvr/APKBUILD b/testing/tanidvr/APKBUILD
index 1f90244a3e3..b04ba8a458f 100644
--- a/testing/tanidvr/APKBUILD
+++ b/testing/tanidvr/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Valery Kartel <valery.kartel@gmail.com>
pkgname=tanidvr
pkgver=1.4.1
-pkgrel=0
+pkgrel=1
pkgdesc="a CLI tool for accessing DVRs and IP cameras based on the proprietary DVR-IP protocol (port 37777/TCP)"
-url="http://tanidvr.sourceforge.net"
+url="https://tanidvr.sourceforge.net/"
arch="all"
license="GPL-3.0"
depends=
diff --git a/testing/tanka/APKBUILD b/testing/tanka/APKBUILD
new file mode 100644
index 00000000000..1497b81ba1e
--- /dev/null
+++ b/testing/tanka/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=tanka
+pkgver=0.26.0
+pkgrel=4
+pkgdesc="Flexible, reusable and concise configuration for Kubernetes"
+url="https://tanka.dev"
+# blocked by kubectl (kubernetes)
+arch="all !armhf !riscv64"
+license="Apache-2.0"
+depends="kubectl"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/grafana/tanka/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v \
+ -ldflags "-X github.com/grafana/tanka/pkg/tanka.CurrentVersion=v$pkgver" \
+ ./cmd/tk
+}
+
+check() {
+ # /pkg/helm test requires helm.
+ # Tests timeout with helm installed.
+ # shellcheck disable=2046
+ go test $(go list ./... | grep -v /pkg/helm)
+}
+
+package() {
+ install -Dm755 tk -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+1f8a59b75f73c5b743674f9cff646f6f2401c800b75cb5aa5af31cd7d0df807d08eee47d4e5aa96c6889737a655a1abd8e959b7285bce1637e9258fa2c763384 tanka-0.26.0.tar.gz
+"
diff --git a/testing/tartube/APKBUILD b/testing/tartube/APKBUILD
index bed13d02260..1eb84ce7c2e 100644
--- a/testing/tartube/APKBUILD
+++ b/testing/tartube/APKBUILD
@@ -1,28 +1,37 @@
# Contributor: Antoni Aloy <aaloytorrens@gmail.com>
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=tartube
-pkgver=2.3.332
-pkgrel=1
+pkgver=2.5.0
+pkgrel=0
pkgdesc="GUI front-end for youtube-dl, partly based on youtube-dl-gui and written in Python 3 / Gtk 3"
url="https://github.com/axcore/tartube"
-arch="noarch"
-license="GPL-3.0-or-later"
+arch="noarch !s390x" # freeimage
+license="LGPL-2.1-or-later"
depends="
- gtk+3.0 python3 py3-requests py3-feedparser
- py3-playsound aria2 py3-proglog
- atomicparsley youtube-dl py3-gobject3
- py3-imageio-ffmpeg mpv mpv-libs ffmpeg xdg-utils
+ aria2
+ atomicparsley
+ ffmpeg
+ mpv
+ py3-feedparser
+ py3-gobject3
+ py3-imageio-ffmpeg
+ py3-matplotlib
+ py3-playsound
+ py3-requests
+ python3
+ streamlink
+ xdg-utils
+ yt-dlp
"
-# Enable moviepy, matplotlib and imageio support when possible
+# Enable moviepy and imageio support when possible
case "$CARCH" in
- mips64) ;;
- ppc64le) depends="$depends py3-matplotlib";;
- *) depends="$depends py3-moviepy py3-imageio py3-matplotlib" ;;
+ ppc64le) ;;
+ *) depends="$depends py3-moviepy py3-imageio" ;;
esac
-
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/axcore/tartube/archive/v$pkgver.tar.gz"
build() {
@@ -34,18 +43,14 @@ check() {
}
package() {
- python3 setup.py install \
- --root="$pkgdir" \
- --optimize=1
- install -d "$pkgdir/usr/share/applications" \
- "$pkgdir/usr/share/pixmaps"
+ python3 setup.py install --skip-build --root="$pkgdir"
_sitepkgs_dir="$(python3 -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")"
mv "$pkgdir/tartube/icons" "$pkgdir$_sitepkgs_dir/tartube/"
rm -rvf "$pkgdir"/tartube
- install -Dm644 pack/tartube.png "$pkgdir"/usr/share/pixmaps/tartube.png
+ install -Dm644 pack/tartube.png "$pkgdir"/usr/share/icons/hicolor/48x48/apps/tartube.png
install -Dm644 pack/tartube.desktop "$pkgdir"/usr/share/applications/tartube.desktop
}
sha512sums="
-d6194cb5e78d541293fecd9ab3847787945585f30b74e5155de017c91fed575c1c947caedd21487e49e68bbd216cea4ae187a368ec482f254c169aa55f6cf51e tartube-2.3.332.tar.gz
+249c99d2b51e0dec76efd85d204cc3bc21a9963defd8a2fc50de02758f33848bb71b1dcdba143a8f9b7f459d0196c522a156b40719f2a756da7f1675fa43b172 tartube-2.5.0.tar.gz
"
diff --git a/testing/taskcafe/APKBUILD b/testing/taskcafe/APKBUILD
index 22d3d5679c3..89b1b6b6e7a 100644
--- a/testing/taskcafe/APKBUILD
+++ b/testing/taskcafe/APKBUILD
@@ -1,11 +1,12 @@
-# Contributor: Kevin Thomas <me@kevinthomas.dev>
-# Maintainer: Kevin Thomas <me@kevinthomas.dev>
+# Contributor: Kay Thomas <kaythomas@pm.me>
+# Maintainer: Kay Thomas <kaythomas@pm.me>
pkgname=taskcafe
-pkgver=0.3.2
-pkgrel=2
+pkgver=0.3.6
+pkgrel=5
pkgdesc="Project management tool with Kanban boards"
url="https://github.com/JordanKnott/taskcafe"
-arch="all !mips64 !riscv64" # blocked by nodejs
+# riscv64: fails to compile js
+arch="all !riscv64"
license="MIT"
makedepends="go mage nodejs yarn"
install="$pkgname.pre-install"
@@ -21,9 +22,12 @@ source="$pkgname-$pkgver.tar.gz::https://github.com/JordanKnott/taskcafe/archive
options="!check chmod-clean net"
export GOPATH="$srcdir"
-export GOFLAGS="$GOFLAGS -trimpath"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
+ export NODE_OPTIONS=--openssl-legacy-provider
# Download npm dependencies
mage install
@@ -46,7 +50,7 @@ package() {
}
sha512sums="
-e54987965cf75543ab5b63138a96c3b11b04d8d7d81f445e3a3aab6ca9b44e3464e4a7ccd2ff40cc08a79ad41d1cedf6db1ef089921584e79972fa594dd08469 taskcafe-0.3.2.tar.gz
+b513c2654d7bf321c6db4ac397d7f3f9fea9d9b2912e13f0597f5dc67fa9825f0014c715f726980eaf2943240d911686d51be5a8fbc7bc2951c2d2d126fb4100 taskcafe-0.3.6.tar.gz
43239950292a481da33dd714a2eb4d1643dbbbd261c98540d8f4251a9742a2077943fb79a565e7b44562cc8dd2d7a4a518ee85e3862f3bcd8b4675e9a8c12c5b taskcafe.initd
2cb92a08dc4541482e83fb2ee5ff4018e7f7813bf72f1dfca3c96b3cd90a704a07949e8c203c2a8d9809e7f9ade5bf1f3843230dcc37bd8891902dee7d9ecc1d taskcafe.confd
"
diff --git a/testing/tauri-cli/APKBUILD b/testing/tauri-cli/APKBUILD
new file mode 100644
index 00000000000..393715a7122
--- /dev/null
+++ b/testing/tauri-cli/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=tauri-cli
+pkgver=1.4.0
+pkgrel=2
+pkgdesc="Tauri cargo cli tool"
+url="https://github.com/tauri-apps/tauri"
+# tauri doesn't support the others anyway
+arch="aarch64 armv7 x86 x86_64"
+license="Apache-2.0 OR MIT"
+makedepends="
+ bzip2-dev
+ cargo
+ cargo-auditable
+ openssl-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/tauri-apps/tauri/releases/download/tauri-cli-v$pkgver/tauri-cli-$pkgver.crate"
+options="net !check" # no tests
+
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen --no-default-features --features "native-tls"
+}
+
+package() {
+ install -Dm755 target/release/cargo-tauri -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+2089f991dee05c06a5c6645e81b651a78fec4722a7d9c81927a9afd034c7efd73083a7f41d2a817246f06a2ed418203c2a437d75309e7be5e9343a90de7d8132 tauri-cli-1.4.0.tar.gz
+"
diff --git a/testing/tayga/APKBUILD b/testing/tayga/APKBUILD
new file mode 100644
index 00000000000..2518af217d1
--- /dev/null
+++ b/testing/tayga/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=tayga
+pkgver=0.9.2
+pkgrel=0
+pkgdesc="NAT64 daemon"
+url="http://www.litech.org/tayga/"
+arch="all"
+license="GPL-2.0-only"
+makedepends="linux-headers"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.bz2::http://www.litech.org/tayga/tayga-$pkgver.tar.bz2
+ implicit-function-decl.patch
+ "
+options="!check" # no tests
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc/tayga \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+a7a81cccb7c3e32f00f142b1bac598b732dd748772b307561239d695418ada5302182d487e51d1cf95ed736c0180c01db2f33409d0b9343d6587b76cbb3bc573 tayga-0.9.2.tar.bz2
+06a62211b2dfc42b170964afe347a3df7cc50764da1ce626149e622023acec87f99b0ec8e17f094eff85fec51107cb7212c258da2a787b94c18812a848cd79b3 implicit-function-decl.patch
+"
diff --git a/testing/tayga/implicit-function-decl.patch b/testing/tayga/implicit-function-decl.patch
new file mode 100644
index 00000000000..29df1d4a373
--- /dev/null
+++ b/testing/tayga/implicit-function-decl.patch
@@ -0,0 +1,12 @@
+diff --git a/tayga.h b/tayga.h
+index 2284d2a..a999d7c 100644
+--- a/tayga.h
++++ b/tayga.h
+@@ -31,6 +31,7 @@
+ #include <syslog.h>
+ #include <errno.h>
+ #include <time.h>
++#include <sys/uio.h>
+ #include <linux/if.h>
+ #include <linux/if_tun.h>
+ #include <linux/if_ether.h>
diff --git a/testing/tbftss/0001-remove-debug-flags.patch b/testing/tbftss/0001-remove-debug-flags.patch
deleted file mode 100644
index c6ad52a9efd..00000000000
--- a/testing/tbftss/0001-remove-debug-flags.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/makefile
-+++ b/makefile
-@@ -24,7 +24,6 @@
-
- CXXFLAGS += `sdl2-config --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\" -DLOCALE_DIR=\"$(LOCALE_DIR)\"
- CXXFLAGS += -ansi -pedantic
--CXXFLAGS += -g -lefence
- ifneq ("$(wildcard .errors)","")
- CXXFLAGS += -Wall -Wempty-body -Werror -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
- endif
diff --git a/testing/tbftss/APKBUILD b/testing/tbftss/APKBUILD
deleted file mode 100644
index deb9b4d9648..00000000000
--- a/testing/tbftss/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=tbftss
-pkgver=1.5.1
-pkgrel=0
-pkgdesc="2D platform game with a persistent world"
-url="https://github.com/stephenjsweeney/tbftss"
-arch="all"
-license="GPL-2.0-or-later"
-depends="$pkgname-data"
-makedepends="sdl2-dev sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev gettext-tiny-dev"
-subpackages="$pkgname-lang $pkgname-data::noarch"
-options="!check" # No testsuite
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/stephenjsweeney/tbftss/archive/v$pkgver.tar.gz
- 0001-remove-debug-flags.patch
- "
-
-build() {
- make DATA_DIR=/usr/share/tbftss
-}
-
-package() {
- make install \
- DESTDIR="$pkgdir" \
- PREFIX=/usr \
- DATA_DIR=/usr/share/tbftss
-}
-
-data() {
- pkgdesc="$pkgdesc (data files)"
- mkdir -p "$subpkgdir"/usr/share/tbftss
- mv "$pkgdir"/usr/share/tbftss/data \
- "$subpkgdir"/usr/share/tbftss
-}
-
-sha512sums="
-3306dfecbcd6bd853f82406bf324167c121fa7afae6d7d1f9933f0de8ba4d842b387f3970771f6d2bb6d37d7e61a96b4f75824c553fe93a3b27959f7176dba37 tbftss-1.5.1.tar.gz
-cc087aa8a6ab6c4009592973169d1685ef05feff0d8adb9f936f8b6cf8767542cf1af8b534c39282c7f2eeac5860383f76bed37e5e01dd65bd93c2208f6ed8a7 0001-remove-debug-flags.patch
-"
diff --git a/testing/tcc/APKBUILD b/testing/tcc/APKBUILD
index 1236120b1aa..56bd618d0e8 100644
--- a/testing/tcc/APKBUILD
+++ b/testing/tcc/APKBUILD
@@ -2,37 +2,56 @@
# Contributor: Hinata Yanagi <hinasssan@gmail.com>
# Maintainer: Hinata Yanagi <hinasssan@gmail.com>
pkgname=tcc
-pkgver=0.9.27
-pkgrel=1
+pkgver=0.9.27_git20240117
+_commit="7d1bbc80d4978c128b8ebead42485d7a79624dcd"
+pkgrel=0
pkgdesc="Tiny C Compiler"
-url="http://download.savannah.nongnu.org/releases/tinycc"
-arch="all !ppc64le !s390x !mips !mips64 !riscv64"
-license="LGPL-2.1"
+url="https://repo.or.cz/w/tinycc.git"
+arch="all !ppc64le !s390x"
+license="LGPL-2.1-or-later"
makedepends="texinfo"
options="!check" # test suite currently fails on the server
-source="http://download.savannah.nongnu.org/releases/tinycc/${pkgname}-${pkgver}.tar.bz2"
-subpackages="$pkgname-doc"
-builddir="$srcdir/tcc-${pkgver}"
+depends_dev="$pkgname-libs"
+source="
+ $pkgname-$_commit.tar.gz::https://repo.or.cz/tinycc.git/snapshot/$_commit.tar.gz
+ libtcc.pc.in
+ "
+subpackages="
+ $pkgname-libs
+ $pkgname-libs-static
+ $pkgname-dev
+ $pkgname-doc
+ "
+builddir="$srcdir/tinycc-${_commit:0:7}"
build() {
./configure \
--prefix=/usr \
+ --disable-static \
--config-musl
make
+
+ sed 's/@VERSION@/'"$pkgver"'/' "$srcdir"/libtcc.pc.in > libtcc.pc
}
check() {
- cd "$builddir"
make test
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
- mkdir -p "$pkgdir"/usr/share/doc/$pkgname/
- install -m644 Changelog CodingStyle README TODO \
- "$pkgdir"/usr/share/doc/$pkgname/
+ install -Dm644 libtcc.pc -t "$pkgdir"/usr/lib/pkgconfig/
+ install -Dm644 Changelog CodingStyle README TODO \
+ -t "$pkgdir"/usr/share/doc/$pkgname
+}
+
+libs() {
+ default_libs
+ amove usr/lib/libtcc.so
}
-sha512sums="835184292d97c07f0ff7b36ec550e855e649b04e23c7e2a1c706d223409eb60708dc1ae969f28eba45e56c8b96ae56936b93caf9d8a13ac5adf119014d5367a7 tcc-0.9.27.tar.bz2"
+sha512sums="
+86e76dd885e511f833fd35d3e4d34b77cfdf0aa8ac2766a7dfd783d8682a4fadcc5d5ad9e5ab69867054b37bc3c085a3e77d93fb2615a21bdd36ac89c1f7917f tcc-7d1bbc80d4978c128b8ebead42485d7a79624dcd.tar.gz
+3e6311ef2b93ef5bcc17eb33077e2d79526c1592bb28189d1d12f1835d3af8234fe33cf49372c3c9ca703bb7cebebbdbbeb3db9864e18a76510e67b52b173e3a libtcc.pc.in
+"
diff --git a/testing/tcc/libtcc.pc.in b/testing/tcc/libtcc.pc.in
new file mode 100644
index 00000000000..89907e1e835
--- /dev/null
+++ b/testing/tcc/libtcc.pc.in
@@ -0,0 +1,12 @@
+prefix=/usr
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: libtcc
+Description: Tiny C Compiler
+Version: @VERSION@
+
+Requires:
+Libs: -L${libdir} -ltcc
+Cflags: -I${includedir}
diff --git a/testing/tcl-curl/APKBUILD b/testing/tcl-curl/APKBUILD
new file mode 100644
index 00000000000..e09d4a13886
--- /dev/null
+++ b/testing/tcl-curl/APKBUILD
@@ -0,0 +1,63 @@
+# Maintainer: Ben Fuhrmannek <ben+alpine@sektioneins.de>
+pkgname=tcl-curl
+pkgver=7.22.0
+pkgrel=0
+pkgdesc="Tcl interface to cURL"
+_commit="ed4856901dee2784ceeb6d2ee0d621fe05aa0134"
+_reponame="tclcurl-fa"
+url="https://github.com/flightaware/$_reponame"
+arch="all"
+license="TCL"
+depends="tcl"
+makedepends="curl-dev tcl-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/flightaware/tclcurl-fa/archive/$_commit.tar.gz"
+builddir="$srcdir/$_reponame-$_commit"
+
+build() {
+ # shellcheck disable=SC1091
+ . /usr/lib/tclConfig.sh
+
+ local extra_configure_flags
+ if echo "$TCL_DEFS" | grep -q "DTCL_CFG_DO64BIT=1"; then
+ extra_configure_flags="--enable-64bit"
+ fi
+
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --enable-threads \
+ $extra_configure_flags
+
+ make
+}
+
+check() {
+ ln -s generic/tclcurl.tcl .
+
+ # 'make test' is broken / works only after make install
+ ## so we start the test suite manually, which is easier than patching 'make test'
+ cat <<EOT >tclsh-test.sh
+#!/bin/sh
+echo -e "set auto_path [list [pwd] {*}\$auto_path]\nsource {\$1}" |tclsh
+EOT
+ chmod +x tclsh-test.sh
+ cat <<EOT |tclsh
+package require tcltest
+::tcltest::configure -testdir tests
+::tcltest::interpreter "[pwd]/tclsh-test.sh"
+exit [::tcltest::runAllTests]
+EOT
+}
+
+package() {
+ make -j1 DESTDIR="$pkgdir" install-binaries install-scripts install-doc
+}
+
+sha512sums="
+713892700ff701937482452ef9d03af2ea73c51afc740ca0565adae608d360d2dff087d9e5b55cf0b4ea4314e4c3885e9b3250039ac4977f222383eef3122aaf tcl-curl-7.22.0.tar.gz
+"
diff --git a/testing/tcl-lib/APKBUILD b/testing/tcl-lib/APKBUILD
deleted file mode 100644
index 506bfbf156b..00000000000
--- a/testing/tcl-lib/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=tcl-lib
-pkgver=1.20
-pkgrel=0
-pkgdesc="Tcl standard library"
-url="https://www.tcl.tk/software/tcllib/"
-arch="noarch"
-license="BSD-2-Clause"
-makedepends="tcl-dev"
-options="!check" # no tests
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://core.tcl-lang.org/tcllib/uv/tcllib-$pkgver.tar.gz"
-builddir="$srcdir/tcllib-$pkgver"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="c7c386c08620724e058e0c2ef7b0900337d711d093cb6cf1c25f602152abb2d042a4411cb3ae712223171ff95629f7790e56c4a965e827a27bb70ab6bfe09f99 tcl-lib-1.20.tar.gz"
diff --git a/testing/tcmu-runner/APKBUILD b/testing/tcmu-runner/APKBUILD
index d34dc724d23..5d6da65afe2 100644
--- a/testing/tcmu-runner/APKBUILD
+++ b/testing/tcmu-runner/APKBUILD
@@ -1,26 +1,24 @@
# Contributor: Jacek Pruciak <alpine@juniorjpdj.pl>
# Maintainer: Jacek Pruciak <alpine@juniorjpdj.pl>
pkgname=tcmu-runner
-pkgver=1.5.4
-pkgrel=0
+pkgver=1.6.0
+pkgrel=5
pkgdesc="A daemon that handles the userspace side of the LIO TCM-User backstore."
url="https://github.com/open-iscsi/tcmu-runner"
-arch="all !mips64 !riscv64" # blocked by ceph
+arch="all !armhf !armv7 !x86" # blocked by ceph
license="Apache-2.0"
-makedepends="cmake glib-dev kmod-dev libnl3-dev ceph-dev"
+makedepends="cmake glib-dev kmod-dev libnl3-dev ceph-dev samurai"
options="!check" # no upstream tests
subpackages="libtcmu:libs libtcmu-dev $pkgname-doc $pkgname-rbd"
source="https://github.com/open-iscsi/tcmu-runner/archive/v$pkgver/tcmu-runner-$pkgver.tar.gz
tcmu-runner-fix-i586-size_t-error.patch
- time_t-size-fix.patch
- fix-musl-compilation.patch
"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
-Dwith-glfs=false \
-Dwith-tcmalloc=false \
-DCMAKE_INSTALL_PREFIX=/usr \
@@ -43,11 +41,12 @@ rbd() {
package() {
DESTDIR="$pkgdir" cmake --install build
+
+ mkdir -p "$pkgdir"/usr/share/dbus-1/system.d/
+ mv "$pkgdir"/etc/dbus-1/system.d/* "$pkgdir"/usr/share/dbus-1/system.d/
}
sha512sums="
-e6fad89bd795ca7de38450a94f95fb4f4edb5bca32a34156f5690cf4c236f2f845578f592733a4fba29f64484a909c185b66af87ad92cf3ccff28bf4977ad2c3 tcmu-runner-1.5.4.tar.gz
+dca6d64c7bf90567357afacb9f0ba19438029172756ef06d115164610899e8a6546dea683f4d0e2018cb911d1a895b93a25b7b1770fdaca975fdfc93b77e5e4b tcmu-runner-1.6.0.tar.gz
a26fca68a73e5cc6726e880f5004b96fd0f5d3cbcaf6dd7a6a8a5e03f9089c91ec271b2517ea127b37dcead1499baac7cf6a5f23c0d4a70d13baa0107baefab3 tcmu-runner-fix-i586-size_t-error.patch
-8eb7729cc7c89a24f512bb5f206034c8404d96891291fce132d075bd20568f346907185ac70e47d580fc95e9f2112c2695139c66b30e2b37d101988920f21793 time_t-size-fix.patch
-2f1e30bbfca685ea05c5481b0e58e3a0bfe15e84652cabe2dabfe081e59313d93ca730754cd6165a848850a782cb273d3ea0976853b3b12a9718b4d3b28a520c fix-musl-compilation.patch
"
diff --git a/testing/tcmu-runner/fix-musl-compilation.patch b/testing/tcmu-runner/fix-musl-compilation.patch
deleted file mode 100644
index 70f00920cd7..00000000000
--- a/testing/tcmu-runner/fix-musl-compilation.patch
+++ /dev/null
@@ -1,143 +0,0 @@
-Summary: Fixes musl compatibility
-Upstream: in progress
-
-diff --git a/api.c b/api.c
-index 490e257..d55da0a 100644
---- a/api.c
-+++ b/api.c
-@@ -28,6 +28,8 @@
- #include "libtcmu_priv.h"
- #include "be_byteshift.h"
-
-+__thread int __tcmu_is_ework_thread = 0;
-+
- int tcmu_cdb_get_length(uint8_t *cdb)
- {
- uint8_t group_code = cdb[0] >> 5;
-@@ -74,7 +76,7 @@ uint64_t tcmu_cdb_get_lba(uint8_t *cdb)
- case 16:
- return be64toh(*((u_int64_t *)&cdb[2]));
- default:
-- assert_perror(EINVAL);
-+ assert(0);
- return 0; /* not reached */
- }
- }
-@@ -91,7 +93,7 @@ uint32_t tcmu_cdb_get_xfer_length(uint8_t *cdb)
- case 16:
- return be32toh(*((u_int32_t *)&cdb[10]));
- default:
-- assert_perror(EINVAL);
-+ assert(0);
- return 0; /* not reached */
- }
- }
-diff --git a/libtcmu.c b/libtcmu.c
-index c75bb10..1127218 100644
---- a/libtcmu.c
-+++ b/libtcmu.c
-@@ -843,24 +843,20 @@ const char *tcmu_dev_get_uio_name(struct tcmu_device *dev)
- void tcmu_set_thread_name(const char *prefix, struct tcmu_device *dev)
- {
- const char *uio = dev ? tcmu_dev_get_uio_name(dev) : NULL;
-- char cname[TCMU_THREAD_NAME_LEN];
- char *pname;
-
-- if (pthread_getname_np(pthread_self(), cname, TCMU_THREAD_NAME_LEN))
-- return;
--
- /*
- * If we are trying to set the pthread name in the
- * event work thread, we must ignore it.
- */
-- if (!strcmp(cname, "ework-thread")) {
-+ if (__tcmu_is_ework_thread) {
- tcmu_dev_warn(dev, "Do not set name for event work thread in the callback fn\n");
- return;
- }
-
- if (!prefix) {
- tcmu_dev_err(dev, "Failed to set name for thread %lu\n",
-- pthread_self());
-+ (long unsigned int)pthread_self());
- return;
- }
-
-diff --git a/libtcmu_common.h b/libtcmu_common.h
-index 350693b..2897e1f 100644
---- a/libtcmu_common.h
-+++ b/libtcmu_common.h
-@@ -14,6 +14,7 @@
- #define __LIBTCMU_COMMON_H
-
- #include <stdbool.h>
-+#include <pthread.h>
-
- #ifdef __cplusplus
- extern "C" {
-@@ -193,6 +194,8 @@ void __tcmu_sense_set_data(uint8_t *sense_buf, uint8_t key, uint16_t asc_ascq);
- */
- void tcmu_thread_cancel(pthread_t thread);
-
-+extern __thread int __tcmu_is_ework_thread;
-+
- #ifdef __cplusplus
- }
- #endif
-diff --git a/libtcmu_log.c b/libtcmu_log.c
-index f7b6e2f..fee27a4 100644
---- a/libtcmu_log.c
-+++ b/libtcmu_log.c
-@@ -403,7 +403,6 @@ static int output_to_fd(int pri, const char *timestamp,
- int fd = (intptr_t) data;
- char *buf, *msg;
- int count, ret, written = 0, r, pid = 0;
-- char pname[TCMU_THREAD_NAME_LEN];
-
- if (fd == -1)
- return -1;
-@@ -412,13 +411,10 @@ static int output_to_fd(int pri, const char *timestamp,
- if (pid <= 0)
- return -1;
-
-- if (pthread_getname_np(pthread_self(), pname, TCMU_THREAD_NAME_LEN))
-- return -1;
--
- /*
- * format: timestamp pid [loglevel] msg
- */
-- ret = asprintf(&msg, "%s %d:%s [%s] %s", timestamp, pid, pname,
-+ ret = asprintf(&msg, "%s %d [%s] %s", timestamp, pid,
- loglevel_string(pri), str);
- if (ret < 0)
- return -1;
-diff --git a/tcmur_work.c b/tcmur_work.c
-index ee567e9..801e305 100644
---- a/tcmur_work.c
-+++ b/tcmur_work.c
-@@ -41,16 +41,11 @@ free_work:
-
- static void __tcmur_flush_work(struct tcmur_work *work)
- {
-- char pname[TCMU_THREAD_NAME_LEN];
--
-- if (pthread_getname_np(pthread_self(), pname, TCMU_THREAD_NAME_LEN))
-- return;
--
- /*
- * The event work thread may need to do a handler reopen
- * call and try to flush itself. Just ignore.
- */
-- if (!strcmp(pname, "ework-thread"))
-+ if (__tcmu_is_ework_thread)
- return;
-
- /*
-@@ -79,6 +74,7 @@ static void *tcmur_work_fn(void *data)
- struct private *p = data;
-
- tcmu_set_thread_name("ework-thread", NULL);
-+ __tcmu_is_ework_thread = 1;
-
- p->work_fn(p->data);
-
diff --git a/testing/tcmu-runner/time_t-size-fix.patch b/testing/tcmu-runner/time_t-size-fix.patch
deleted file mode 100644
index 932d18e602a..00000000000
--- a/testing/tcmu-runner/time_t-size-fix.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Summary: Fixes 32-bit architecture compilation
-Upstream: in progress
-
-diff --git a/main.c b/main.c
-index 475279a..f3295de 100644
---- a/main.c
-+++ b/main.c
-@@ -657,7 +657,7 @@ int tcmur_get_time(struct tcmu_device *dev, struct timespec *time)
-
- ret = clock_gettime(CLOCK_MONOTONIC_COARSE, time);
- if (!ret) {
-- tcmu_dev_dbg(dev, "Current time %lu secs.\n", time->tv_sec);
-+ tcmu_dev_dbg(dev, "Current time %jd secs.\n", (intmax_t)time->tv_sec);
- return 0;
- }
-
-@@ -700,9 +700,9 @@ static bool get_next_cmd_timeout(struct tcmu_device *dev,
- tmo->tv_sec = 0;
- }
-
-- tcmu_dev_dbg(dev, "Next cmd id %hu timeout in %lu secs. Current time %lu. Start time %lu\n",
-- tcmur_cmd->lib_cmd->cmd_id, tmo->tv_sec,
-- curr_time->tv_sec, tcmur_cmd->start_time.tv_sec);
-+ tcmu_dev_dbg(dev, "Next cmd id %hu timeout in %jd secs. Current time %jd. Start time %jd\n",
-+ tcmur_cmd->lib_cmd->cmd_id, (intmax_t)tmo->tv_sec,
-+ (intmax_t)curr_time->tv_sec, (intmax_t)tcmur_cmd->start_time.tv_sec);
- break;
- }
- pthread_spin_unlock(&rdev->lock);
diff --git a/testing/tcpreplay/APKBUILD b/testing/tcpreplay/APKBUILD
deleted file mode 100644
index 25cf3aff0b9..00000000000
--- a/testing/tcpreplay/APKBUILD
+++ /dev/null
@@ -1,51 +0,0 @@
-# Contributor: Fabian Affolter <fabian@affolter-engineering.ch>
-# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
-pkgname=tcpreplay
-pkgver=4.3.4
-pkgrel=0
-pkgdesc="Replay captured network traffic"
-url="https://tcpreplay.appneta.com/"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="libdnet-dev libpcap-dev tcpdump"
-subpackages="$pkgname-doc"
-source="https://downloads.sourceforge.net/tcpreplay/tcpreplay-$pkgver.tar.gz
- skip-tests-require-root.patch"
-
-# secfixes:
-# 4.3.2-r0:
-# - CVE-2019-8381
-# - CVE-2019-8376
-# - CVE-2019-8377
-# 4.3.4-r0:
-# - CVE-2020-24265
-# - CVE-2020-24266
-
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --enable-dynamic-link \
- --enable-local-libopts \
- --disable-libopts-install
- make
-}
-
-check() {
- make -C test tcpprep
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-dd119606a8eb7a812d89ee1fc10a5903911dc618cf68c1c550b0336aacba276f49052a28a81b2c6f0d4bc46ad51032b20543d733f024f1eb85bfa879cb391729 tcpreplay-4.3.4.tar.gz
-b6491f1539d14721ab6cde567918fea857a3e230dad1b03dee872bc2c4cb8c8d86aa51d3ed08da322a5af3f6a508fab991d10d58c14e3c7ddd8aff971fe91abb skip-tests-require-root.patch
-"
diff --git a/testing/tcpreplay/skip-tests-require-root.patch b/testing/tcpreplay/skip-tests-require-root.patch
deleted file mode 100644
index a8fc70c0845..00000000000
--- a/testing/tcpreplay/skip-tests-require-root.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-These tests require root to run. Disable them so that we can still run the other tests
-diff --git a/test/Makefile.in b/test/Makefile.in.new
-index d325ee2dd6..68ee3c3628 100644
---- a/test/Makefile.in
-+++ b/test/Makefile.in.new
-@@ -790,16 +790,10 @@ include_dest:
- if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
-
- replay_basic:
-- $(PRINTF) "%s" "[tcpreplay] Basic test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Basic test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t\t%s\n" "[tcpreplay] Basic test:" "[SKIP]"
-
- replay_cache:
-- $(PRINTF) "%s" "[tcpreplay] Cache test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Cache test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -c $(srcdir)/test.cidr -i $(nic1) -I $(nic2) -t $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t\t%s\n" "[tcpreplay] Cache test:" "[SKIP]"
-
- replay_accurate:
- $(PRINTF) "%s" "[tcpreplay] Accurate test: "
-@@ -808,10 +802,7 @@ replay_accurate:
- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-
- replay_stats:
-- $(PRINTF) "%s" "[tcpreplay] Statistics test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Statistics test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) --stats=1 -i $(nic1) $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t%s\n" "[tcpreplay] Statistics test:" "[SKIP]"
-
- rewrite_portmap:
- $(PRINTF) "%s" "[tcprewrite] Portmap test: "
-@@ -1028,40 +1019,22 @@ rewrite_l7fuzzing:
- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-
- replay_pps:
-- $(PRINTF) "%s" "[tcpreplay] Packets/sec test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 25 $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t%s\n" "[tcpreplay] Packets/sec test:" "[SKIP]"
-
- replay_rate:
-- $(PRINTF) "%s" "[tcpreplay] Mbps test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Mbps test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -M 25.0 $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t\t%s\n" "[tcpreplay] Mbps test:" "[SKIP]"
-
- replay_multi:
-- $(PRINTF) "%s" "[tcpreplay] Multiplier test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Multiplier test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -x 25.0 $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t%s\n" "[tcpreplay] Multiplier test:" "[SKIP]"
-
- replay_pps_multi:
-- $(PRINTF) "%s" "[tcpreplay] Packets/sec Multiplier test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec Multiplier test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 100 --pps-multi=5 $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t%s\n" "[tcpreplay] Packets/sec Multiplier test:" "[SKIP]"
-
- replay_top:
-- $(PRINTF) "%s" "[tcpreplay] Topspeed test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Topspeed test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t%s\n" "[tcpreplay] Topspeed test:" "[SKIP]"
-
- replay_precache:
-- $(PRINTF) "%s" "[tcpreplay] Precache test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Precache test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --preload-pcap $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t%s\n" "[tcpreplay] Precache test:" "[SKIP]"
-
- datadump_mode:
- $(PRINTF) "%s" "[tcpreplay] Data dump test: "
-@@ -1070,22 +1046,13 @@ datadump_mode:
- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-
- replay_config:
-- $(PRINTF) "%s" "[tcpreplay] Config file/VLAN add test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Config file/VLAN add test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) --load-opts=config $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t%s\n" "[tcpreplay] Config file/VLAN add test:" "[SKIP]"
-
- replay_dualfile:
-- $(PRINTF) "%s" "[tcpreplay] Dual file test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Dual file test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -I $(nic2) --dualfile $(TEST_PCAP) $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t%s\n" "[tcpreplay] Dual file test:" "[SKIP]"
-
- replay_maxsleep:
-- $(PRINTF) "%s" "[tcpreplay] Maximum sleep test: "
-- $(PRINTF) "%s\n" "*** [tcpreplay] Maximum sleep test: " >> test.log
-- $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --maxsleep=20 $(TEST_PCAP) $(TEST_PCAP) >> test.log 2>&1
-- if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
-+ $(PRINTF) "%s\t\t\t%s\n" "[tcpreplay] Maximum sleep test:" "[SKIP]"
-
- clean:
- rm -f *1 test.log core* *~ primary.data secondary.data
diff --git a/testing/td-agent-bit/APKBUILD b/testing/td-agent-bit/APKBUILD
index 4d79c6164c0..3d6bc513f6e 100644
--- a/testing/td-agent-bit/APKBUILD
+++ b/testing/td-agent-bit/APKBUILD
@@ -3,10 +3,12 @@
pkgname=td-agent-bit
_pkgname=fluent-bit
pkgver=0.10.1
-pkgrel=3
+pkgrel=4
pkgdesc="Fast and Lightweight Log/Data Forwarder [fluent-bit]"
url="http://fluentbit.io"
-arch="all !aarch64 !s390x !mips !mips64 !riscv64"
+#arch="all !aarch64 !s390x !riscv64"
+# fails to build
+arch=""
license="Apache-2.0"
makedepends="cmake linux-headers zlib-dev mbedtls-dev"
subpackages="$pkgname-dev $pkgname-doc"
diff --git a/testing/tdrop/APKBUILD b/testing/tdrop/APKBUILD
index 37e8a027ee5..aa42e07c526 100644
--- a/testing/tdrop/APKBUILD
+++ b/testing/tdrop/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname="tdrop"
-pkgver=0.4.0
+pkgver=0.5.0
pkgrel=0
pkgdesc="A Glorified WM-Independent Dropdown Creator"
url="https://github.com/noctuid/tdrop"
@@ -20,4 +20,6 @@ package() {
make PREFIX="/usr" DESTDIR="$pkgdir" install
}
-sha512sums="679fed509e29752ebe3df378e68d9701c9edb53c9162854a8cb623f2da53499b933dad59fa6fc865ac44c67544cd6bcb779316ee4312e87c39559ade1ab313d8 tdrop-0.4.0.tar.gz"
+sha512sums="
+cfccbdb73b00ea8c1376f34debe2b7f550343100fd47e7f45a859ad692f42abbf58e26316a95813691f4bda05cce657490bfcc7b3765585d9afb396580aefce5 tdrop-0.5.0.tar.gz
+"
diff --git a/testing/tealdeer/APKBUILD b/testing/tealdeer/APKBUILD
new file mode 100644
index 00000000000..fc824663c8e
--- /dev/null
+++ b/testing/tealdeer/APKBUILD
@@ -0,0 +1,48 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=tealdeer
+pkgver=1.6.1
+pkgrel=2
+pkgdesc="Very fast implementation of tldr in Rust"
+url="https://dbrgn.github.io/tealdeer/"
+arch="all"
+license="MIT AND Apache-2.0"
+makedepends="cargo openssl-dev cargo-auditable"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/dbrgn/tealdeer/archive/refs/tags/v$pkgver.tar.gz
+ use-system-tls.patch
+ "
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/tldr -t "$pkgdir"/usr/bin/
+
+ install -Dm644 completion/bash_tealdeer \
+ "$pkgdir"/usr/share/bash-completion/completions/tldr
+ install -Dm644 completion/fish_tealdeer \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/tldr.fish
+ install -Dm644 completion/zsh_tealdeer \
+ "$pkgdir"/usr/share/zsh/site-functions/_tldr
+}
+
+sha512sums="
+2742e76fce794ffe98839b85b708a5b8452ec8f7b1b737ea522e4e1c37cdadff60ff95a5d353bde0cbdf57d00026ac71f065ea045d1435eb93c7a74d7c732af2 tealdeer-1.6.1.tar.gz
+f7f0200d7d84b6533ba25c1456e9b3cf388f3bae43c4399705caeffae5497d2bf26c4826039a94fe356cbfa052346913ad6e3caee6fb2ca95abd2db682fa0bcd use-system-tls.patch
+"
diff --git a/testing/tealdeer/use-system-tls.patch b/testing/tealdeer/use-system-tls.patch
new file mode 100644
index 00000000000..f419f71f573
--- /dev/null
+++ b/testing/tealdeer/use-system-tls.patch
@@ -0,0 +1,219 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index baf16a6..5881ca9 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -347,6 +347,21 @@ version = "1.0.7"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
+
++[[package]]
++name = "foreign-types"
++version = "0.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1"
++dependencies = [
++ "foreign-types-shared",
++]
++
++[[package]]
++name = "foreign-types-shared"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
++
+ [[package]]
+ name = "form_urlencoded"
+ version = "1.1.0"
+@@ -532,6 +547,19 @@ dependencies = [
+ "tokio-rustls",
+ ]
+
++[[package]]
++name = "hyper-tls"
++version = "0.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
++dependencies = [
++ "bytes",
++ "hyper",
++ "native-tls",
++ "tokio",
++ "tokio-native-tls",
++]
++
+ [[package]]
+ name = "idna"
+ version = "0.3.0"
+@@ -665,6 +693,24 @@ dependencies = [
+ "windows-sys 0.36.1",
+ ]
+
++[[package]]
++name = "native-tls"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e"
++dependencies = [
++ "lazy_static",
++ "libc",
++ "log",
++ "openssl",
++ "openssl-probe",
++ "openssl-sys",
++ "schannel",
++ "security-framework",
++ "security-framework-sys",
++ "tempfile",
++]
++
+ [[package]]
+ name = "ndk-context"
+ version = "0.1.1"
+@@ -702,12 +748,51 @@ version = "1.15.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
+
++[[package]]
++name = "openssl"
++version = "0.10.42"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13"
++dependencies = [
++ "bitflags",
++ "cfg-if",
++ "foreign-types",
++ "libc",
++ "once_cell",
++ "openssl-macros",
++ "openssl-sys",
++]
++
++[[package]]
++name = "openssl-macros"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b501e44f11665960c7e7fcf062c7d96a14ade4aa98116c004b2e37b5be7d736c"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
+ [[package]]
+ name = "openssl-probe"
+ version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
+
++[[package]]
++name = "openssl-sys"
++version = "0.9.77"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b03b84c3b2d099b81f0953422b4d4ad58761589d0229b5506356afca05a3670a"
++dependencies = [
++ "autocfg",
++ "cc",
++ "libc",
++ "pkg-config",
++ "vcpkg",
++]
++
+ [[package]]
+ name = "os_str_bytes"
+ version = "6.3.0"
+@@ -742,6 +827,12 @@ version = "0.1.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
+
++[[package]]
++name = "pkg-config"
++version = "0.3.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
++
+ [[package]]
+ name = "predicates"
+ version = "2.1.1"
+@@ -882,10 +973,12 @@ dependencies = [
+ "http-body",
+ "hyper",
+ "hyper-rustls",
++ "hyper-tls",
+ "ipnet",
+ "js-sys",
+ "log",
+ "mime",
++ "native-tls",
+ "once_cell",
+ "percent-encoding",
+ "pin-project-lite",
+@@ -896,6 +989,7 @@ dependencies = [
+ "serde_json",
+ "serde_urlencoded",
+ "tokio",
++ "tokio-native-tls",
+ "tokio-rustls",
+ "tower-service",
+ "url",
+@@ -1209,6 +1303,16 @@ dependencies = [
+ "winapi",
+ ]
+
++[[package]]
++name = "tokio-native-tls"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
++dependencies = [
++ "native-tls",
++ "tokio",
++]
++
+ [[package]]
+ name = "tokio-rustls"
+ version = "0.23.4"
+@@ -1313,6 +1417,12 @@ dependencies = [
+ "percent-encoding",
+ ]
+
++[[package]]
++name = "vcpkg"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426"
++
+ [[package]]
+ name = "version_check"
+ version = "0.9.4"
+diff --git a/Cargo.toml b/Cargo.toml
+index de29b01..3e2e22a 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -45,7 +45,7 @@ tempfile = "3.1.0"
+ filetime = "0.2.10"
+
+ [features]
+-default = ["native-roots"]
++default = ["reqwest/native-tls"]
+ native-roots = ["reqwest/rustls-tls-native-roots"]
+ webpki-roots = ["reqwest/rustls-tls-webpki-roots"]
+ logging = ["env_logger"]
+diff --git a/src/main.rs b/src/main.rs
+index 8f601e4..b538b9c 100644
+--- a/src/main.rs
++++ b/src/main.rs
+@@ -16,14 +16,6 @@
+ #![allow(clippy::struct_excessive_bools)]
+ #![allow(clippy::too_many_lines)]
+
+-#[cfg(any(
+- all(feature = "native-roots", feature = "webpki-roots"),
+- not(any(feature = "native-roots", feature = "webpki-roots")),
+-))]
+-compile_error!(
+- "exactly one of feature \"native-roots\" and feature \"webpki-roots\" must be enabled"
+-);
+-
+ use std::{env, process};
+
+ use app_dirs::AppInfo;
diff --git a/testing/teapot-tools/APKBUILD b/testing/teapot-tools/APKBUILD
new file mode 100644
index 00000000000..addf57c753c
--- /dev/null
+++ b/testing/teapot-tools/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=teapot-tools
+pkgver=0.4.2
+pkgrel=2
+pkgdesc="Replacement for depot_tools (gclient) and luci-go (cipd)"
+url="https://codeberg.org/selfisekai/teapot_tools"
+# armhf: ci hangs
+# riscv64: ci broken
+# x86: segfaults
+arch="all !armhf !riscv64 !x86"
+license="Apache-2.0"
+depends="git"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ protoc
+ python3-dev
+ "
+source="teapot_tools-$pkgver.tar.gz::https://codeberg.org/selfisekai/teapot_tools/archive/v$pkgver.tar.gz"
+options="net" # cargo crates
+builddir="$srcdir/teapot_tools"
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release --bin download_from_google_storage
+ cargo auditable build --frozen --release --bin gclient
+}
+
+check() {
+ cargo test --release
+}
+
+package() {
+ install -Dm755 target/release/download_from_google_storage "$pkgdir"/usr/bin/download_from_google_storage
+ install -Dm755 target/release/gclient "$pkgdir"/usr/bin/gclient
+}
+
+sha512sums="
+93e85fb8ac4913b904a31c8907ad382cdf18fcabfa8f8f3ce8eeee28edde4d5d6420ef7b05215eb592638cb1be080ce4f3ea07608b510f644f1a5fc6a73d704c teapot_tools-0.4.2.tar.gz
+"
diff --git a/testing/telegram-tdlib/APKBUILD b/testing/telegram-tdlib/APKBUILD
index c5e99f4625f..e185a8ca5cf 100644
--- a/testing/telegram-tdlib/APKBUILD
+++ b/testing/telegram-tdlib/APKBUILD
@@ -2,38 +2,39 @@
# Contributor: Oleg Titov <oleg.titov@gmail.com>
# Maintainer: Oleg Titov <oleg.titov@gmail.com>
pkgname=telegram-tdlib
-pkgver=1.7.9
-pkgrel=0
+pkgver=1.8.9
+pkgrel=1
+# they didn't tag the release
+_gitrev=a7952f38363084df0e78fe9b7bd833262ec67521
pkgdesc="Cross-platform library for building Telegram clients"
url="https://core.telegram.org/tdlib"
-arch="all !s390x !mips !mips64" # fails to build on big-endian
+arch="all !s390x" # fails to build on big-endian
license="BSL-1.0"
-options="!check" # No test suite from upstream
-makedepends="cmake openssl-dev zlib-dev gperf linux-headers"
+makedepends="cmake openssl-dev>3 zlib-dev gperf linux-headers samurai"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc"
-_commit=7d41d9eaa58a6e0927806283252dc9e74eda5512
-source="$pkgname-$pkgver.tar.gz::https://github.com/tdlib/td/archive/$_commit.tar.gz"
-builddir="$srcdir/td-$_commit"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tdlib/td/archive/$_gitrev.tar.gz"
+builddir="$srcdir/td-$_gitrev"
+options="!check" # fail for some reason
build() {
- mkdir build
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr
- cmake -B build \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX:PATH="$pkgdir/usr"
+ cmake --build build
+}
- make -C build
+check() {
+ ctest --test-dir build --output-on-failure
}
package() {
- make -C build install
+ DESTDIR="$pkgdir" cmake --install build
- install -m644 -D -t "$pkgdir/usr/share/licenses/$pkgname" \
- LICENSE_1_0.txt
install -m644 -D -t "$pkgdir/usr/share/doc/$pkgname" \
README.md
}
sha512sums="
-f9937362a307bf7f345630f14d00540a7eb05a6c1fcb9d5671e609c2142a73e587432348c61102eda9e748f5b2aef0b1bd2abf73419e4839ad6bd9fe11877dae telegram-tdlib-1.7.9.tar.gz
+253140c3f93b2dd437b7a22643b1ec1a0e0f8ccd4d765dea0afae2373dbb58ee593e1ebdd4d9adfd5062f0bc347190bc2492d47e60cf44065fdd9c6b0993ebd7 telegram-tdlib-1.8.9.tar.gz
"
diff --git a/testing/templ/APKBUILD b/testing/templ/APKBUILD
new file mode 100644
index 00000000000..b8b8686dbc4
--- /dev/null
+++ b/testing/templ/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=templ
+pkgver=0.2.598
+pkgrel=2
+pkgdesc="Language for writing HTML user interface in Go"
+url="https://templ.guide/"
+arch="all"
+license="MIT"
+makedepends="go"
+checkdepends="gopls"
+source="$pkgname-$pkgver.tar.gz::https://github.com/a-h/templ/archive/refs/tags/v$pkgver.tar.gz"
+options="net" # download Go modules
+
+# /cmd/templ/lspcmd: hangs on s390x
+# /cmd/templ/generatecmd/testwatch: panics on 32-bit platforms (unaligned 64-bit atomic operation)
+case "$CARCH" in
+ s390x|x86|armhf|armv7) options="$options !check";;
+esac
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v ./cmd/templ
+}
+
+check() {
+ # -trimpath is required for tests inside /cmd/templ/generatecmd/testwatch to pass
+ # The tests create templates inside /tmp and try to watch those directories
+ GOFLAGS="${GOFLAGS/-trimpath/}" go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+7c7988e27498e391701c7df29663c3a44c2a50f97ea668a6fd84e54ee30dd47f3c52fe904f27b0dd184718f5518bee284e4899da48e6a00109691eaa65da6092 templ-0.2.598.tar.gz
+"
diff --git a/testing/tengine/APKBUILD b/testing/tengine/APKBUILD
deleted file mode 100644
index c8016d38f54..00000000000
--- a/testing/tengine/APKBUILD
+++ /dev/null
@@ -1,84 +0,0 @@
-# Maintainer: Cameron Banta <cbanta@gmail.com>
-# Contributor: Jeff Bilyk <jbilyk@gmail.com>
-# Contributor: Bartłomiej Piotrowski <nospam@bpiotrowski.pl>
-# Contributor: Dennis Przytarski <dennis@przytarski.com>
-pkgname=tengine
-pkgver=2.3.3
-pkgrel=1
-pkgdesc="Lightweight HTTP and reverse proxy server. It is based on the Nginx HTTP server"
-url="https://tengine.taobao.org/"
-arch="all !aarch64"
-license="BSD-2-Clause"
-pkgusers="tengine"
-pkggroups="tengine www-data"
-options="!check" # Makefile test cmd does not work
-replaces="nginx"
-makedepends="linux-headers gd-dev geoip-dev libxml2-dev libxslt-dev
- openssl-dev pcre-dev perl-dev pkgconf zlib-dev"
-install="$pkgname.pre-install $pkgname.pre-upgrade"
-subpackages="$pkgname-doc $pkgname-openrc"
-source="http://tengine.taobao.org/download/tengine-$pkgver.tar.gz
- tengine.initd
- tengine.logrotate
- "
-
-build() {
- ./configure \
- --prefix=/var/lib/$pkgname \
- --sbin-path=/usr/sbin/$pkgname \
- --conf-path=/etc/$pkgname/$pkgname.conf \
- --pid-path=/run/$pkgname/$pkgname.pid \
- --lock-path=/run/$pkgname/$pkgname.lock \
- --http-client-body-temp-path=/var/tmp/$pkgname/client_body \
- --http-proxy-temp-path=/var/tmp/$pkgname/proxy \
- --http-fastcgi-temp-path=/var/tmp/$pkgname/fastcgi \
- --http-uwsgi-temp-path=/var/tmp/$pkgname/uwsgi \
- --http-scgi-temp-path=/var/tmp/$pkgname/scgi \
- --with-perl_modules_path=/usr/lib/perl5/vendor_perl \
- --user=$pkgusers \
- --group=${pkggroups%% *} \
- --with-file-aio \
- --with-http_addition_module \
- --with-http_auth_request_module \
- --with-http_dav_module \
- --with-http_degradation_module \
- --with-http_flv_module \
- --with-http_geoip_module \
- --with-http_gunzip_module \
- --with-http_gzip_static_module \
- --with-http_image_filter_module \
- --with-http_mp4_module \
- --with-http_random_index_module \
- --with-http_realip_module \
- --with-http_secure_link_module \
- --with-http_slice_module \
- --with-http_ssl_module \
- --with-http_stub_status_module \
- --with-http_sub_module \
- --with-http_perl_module \
- --with-http_v2_module \
- --with-http_xslt_module \
- --with-ipv6 \
- --with-mail \
- --with-mail_ssl_module \
- --with-pcre-jit \
- --with-threads
-
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -m644 -D "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname
-
- install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
- install -Dm644 README.markdown "$pkgdir"/usr/share/doc/$pkgname/README
-}
-
-sha512sums="
-077ef6dbbb122002f02655e470a7a38a0c5adfe6135faa5c10dce2c38d6327aee12f0248b22862b9989557cdff4981bb7004e702431525b8f591ec87c3fcd46c tengine-2.3.3.tar.gz
-3075188f052bf67b4079e78a8b0c56ede7cd8cee890031bf970e45fe8ebdc5739ef092de691108d78b8a111a07cfc98e7ff30234f6a8583db3c647e5fea7d109 tengine.initd
-b0ad2fffe47210805ba09667dc40b09d30c7d1ff19fcb0fd4aa548355dcb992a2f9a7a9d3b0992a81e20eecbe37a91c3646b56324daf356c1d811e526fe663f3 tengine.logrotate
-"
diff --git a/testing/tengine/tengine.initd b/testing/tengine/tengine.initd
deleted file mode 100644
index 6386d50c601..00000000000
--- a/testing/tengine/tengine.initd
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/sbin/openrc-run
-
-extra_started_commands="upgrade reload"
-extra_commands="configtest"
-
-depend() {
- need net
- use dns logger netmount
-}
-
-start() {
- configtest || return 1
- ebegin "Starting tengine"
- start-stop-daemon --start --pidfile /var/run/tengine.pid \
- --exec /usr/sbin/tengine -- -c /etc/tengine/tengine.conf
- eend $? "Failed to start tengine"
-}
-
-stop() {
- configtest || return 1
- ebegin "Stopping tengine"
- start-stop-daemon --stop --pidfile /var/run/tengine.pid
- eend $? "Failed to stop tengine"
- rm -f /var/run/tengine.pid
-}
-
-reload() {
- configtest || return 1
- ebegin "Refreshing tengine' configuration"
- kill -HUP `cat /var/run/tengine.pid` &>/dev/null
- eend $? "Failed to reload tengine"
-}
-
-upgrade() {
- configtest || return 1
- ebegin "Upgrading tengine"
-
- einfo "Sending USR2 to old binary"
- kill -USR2 `cat /var/run/tengine.pid` &>/dev/null
-
- einfo "Sleeping 3 seconds before pid-files checking"
- sleep 3
-
- if [ ! -f /var/run/tengine.pid.oldbin ]; then
- eerror "File with old pid not found"
- return 1
- fi
-
- if [ ! -f /var/run/tengine.pid ]; then
- eerror "New binary failed to start"
- return 1
- fi
-
- einfo "Sleeping 3 seconds before WINCH"
- sleep 3 ; kill -WINCH `cat /var/run/tengine.pid.oldbin`
-
- einfo "Sending QUIT to old binary"
- kill -QUIT `cat /var/run/tengine.pid.oldbin`
-
- einfo "Upgrade completed"
-
- eend $? "Upgrade failed"
-}
-
-configtest() {
- ebegin "Checking tengine' configuration"
- mkdir -p /tmp/tengine
- /usr/sbin/tengine -c /etc/tengine/tengine.conf -t
- eend $? "failed, please correct errors above"
-}
diff --git a/testing/tengine/tengine.logrotate b/testing/tengine/tengine.logrotate
deleted file mode 100644
index e4d33553a59..00000000000
--- a/testing/tengine/tengine.logrotate
+++ /dev/null
@@ -1,12 +0,0 @@
-# Copyright 1999-2010 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/www-servers/nginx/files/nginx.logrotate,v 1.1 2010/01/03 20:29:40 djc Exp $
-
-/var/log/tengine/*.log {
- missingok
- sharedscripts
- postrotate
- test -r /var/run/tengine.pid && kill -USR1 `cat /var/run/tengine.pid`
- endscript
-}
-
diff --git a/testing/tengine/tengine.pre-install b/testing/tengine/tengine.pre-install
deleted file mode 100644
index bb59be1f4f2..00000000000
--- a/testing/tengine/tengine.pre-install
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-addgroup -S -g 82 www-data 2>/dev/null
-addgroup -S tengine 2>/dev/null
-adduser -S -D -H -h /var/www/localhost/htdocs -s /sbin/nologin \
- -G tengine -g tengine tengine 2>/dev/null
-addgroup tengine www-data 2>/dev/null
-
-exit 0
diff --git a/testing/tengine/tengine.pre-upgrade b/testing/tengine/tengine.pre-upgrade
deleted file mode 120000
index 9aaa3c27f2d..00000000000
--- a/testing/tengine/tengine.pre-upgrade
+++ /dev/null
@@ -1 +0,0 @@
-tengine.pre-install \ No newline at end of file
diff --git a/testing/tere/APKBUILD b/testing/tere/APKBUILD
new file mode 100644
index 00000000000..bca66629d25
--- /dev/null
+++ b/testing/tere/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=tere
+pkgver=1.5.1
+pkgrel=0
+pkgdesc="Terminal file explorer"
+url="https://github.com/mgunyho/tere"
+arch="all !s390x" # FTBFS
+license="EUPL-1.2"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+subpackages="
+ $pkgname-doc
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/mgunyho/tere/archive/v$pkgver.tar.gz
+ deps.patch
+ "
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ # https://github.com/mgunyho/tere/issues/90
+ # https://github.com/mgunyho/tere/issues/93
+ cargo test --frozen -- \
+ --skip "test_case_sensitive_mode_change" \
+ --skip "panic_guard" \
+ --skip "first_run_prompt_accept" \
+ --skip "output_on_exit_without_cd" \
+ --skip "first_run_prompt_cancel" \
+ --skip "basic_run"
+}
+
+package() {
+ install -Dm 755 target/release/tere -t "$pkgdir"/usr/bin
+ install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/$pkgname
+ install -Dm 644 ./demo/* -t "$pkgdir"/usr/share/dox/$pkgname/demo
+ install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+e9ede9284ba2b8ed3749dbbaaa96a3d3963bca6cf4ba7ad03e3df42bb2130a0a8348367cbaa1798ec958145fd54fb3c7aa69354ab1e4c0fbe037e3b1717e717f tere-1.5.1.tar.gz
+97acb6af2944baaac15c9b2f67944e0f2b571fa912009467824a1f9701198e7072e0edaf2411be8c05baa760ff83363179de2e0620a50c51fa8d3e7a1ca56549 deps.patch
+"
diff --git a/testing/tere/deps.patch b/testing/tere/deps.patch
new file mode 100644
index 00000000000..33ca49d9a8a
--- /dev/null
+++ b/testing/tere/deps.patch
@@ -0,0 +1,415 @@
+existing deps are ancient
+diff --git a/Cargo.lock b/Cargo.lock
+index f6d370e..6e4f303 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -2,31 +2,20 @@
+ # It is not intended for manual editing.
+ version = 3
+
+-[[package]]
+-name = "ahash"
+-version = "0.7.6"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47"
+-dependencies = [
+- "getrandom",
+- "once_cell",
+- "version_check",
+-]
+-
+ [[package]]
+ name = "aho-corasick"
+-version = "1.0.2"
++version = "1.0.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41"
++checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a"
+ dependencies = [
+ "memchr",
+ ]
+
+ [[package]]
+ name = "anstyle"
+-version = "1.0.1"
++version = "1.0.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3a30da5c5f2d5e72842e00bcb57657162cdabef0931f40e2deb9b4140440cecd"
++checksum = "15c4c2c83f81532e5845a733998b6971faca23490340a418e9b72a3ec9de12ea"
+
+ [[package]]
+ name = "autocfg"
+@@ -42,15 +31,18 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+ [[package]]
+ name = "bitflags"
+-version = "2.3.3"
++version = "2.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
++checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
+
+ [[package]]
+ name = "cc"
+-version = "1.0.79"
++version = "1.0.83"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"
++checksum = "f1174fb0b6ec23863f8b971027804a42614e347eafb0a95bf0b12cdae21fc4d0"
++dependencies = [
++ "libc",
++]
+
+ [[package]]
+ name = "cfg-if"
+@@ -60,9 +52,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+ [[package]]
+ name = "clap"
+-version = "4.3.19"
++version = "4.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5fd304a20bff958a57f04c4e96a2e7594cc4490a0e809cbd48bb6437edaa452d"
++checksum = "1d5f1946157a96594eb2d2c10eb7ad9a2b27518cb3000209dec700c35df9197d"
+ dependencies = [
+ "clap_builder",
+ "clap_derive",
+@@ -71,9 +63,9 @@ dependencies = [
+
+ [[package]]
+ name = "clap_builder"
+-version = "4.3.19"
++version = "4.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "01c6a3f08f1fe5662a35cfe393aec09c4df95f60ee93b7556505260f75eee9e1"
++checksum = "78116e32a042dd73c2901f0dc30790d20ff3447f3e3472fad359e8c3d282bcd6"
+ dependencies = [
+ "anstyle",
+ "clap_lex",
+@@ -83,21 +75,21 @@ dependencies = [
+
+ [[package]]
+ name = "clap_derive"
+-version = "4.3.12"
++version = "4.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050"
++checksum = "c9fd1a5729c4548118d7d70ff234a44868d00489a4b6597b0b020918a0e91a1a"
+ dependencies = [
+ "heck",
+ "proc-macro2",
+ "quote",
+- "syn 2.0.27",
++ "syn 2.0.29",
+ ]
+
+ [[package]]
+ name = "clap_lex"
+-version = "0.5.0"
++version = "0.5.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2da6da31387c7e4ef160ffab6d5e7f00c42626fe39aea70a7b0f1773f7dd6c1b"
++checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+
+ [[package]]
+ name = "comma"
+@@ -175,9 +167,9 @@ dependencies = [
+
+ [[package]]
+ name = "errno"
+-version = "0.3.1"
++version = "0.3.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a"
++checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
+ dependencies = [
+ "errno-dragonfly",
+ "libc",
+@@ -211,15 +203,6 @@ dependencies = [
+ "wasi",
+ ]
+
+-[[package]]
+-name = "hashbrown"
+-version = "0.12.3"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
+-dependencies = [
+- "ahash",
+-]
+-
+ [[package]]
+ name = "heck"
+ version = "0.4.1"
+@@ -263,9 +246,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519"
+
+ [[package]]
+ name = "linux-raw-sys"
+-version = "0.4.3"
++version = "0.4.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0"
++checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
+
+ [[package]]
+ name = "lock_api"
+@@ -279,9 +262,9 @@ dependencies = [
+
+ [[package]]
+ name = "log"
+-version = "0.4.19"
++version = "0.4.20"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4"
++checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f"
+
+ [[package]]
+ name = "memchr"
+@@ -370,9 +353,9 @@ dependencies = [
+
+ [[package]]
+ name = "quote"
+-version = "1.0.32"
++version = "1.0.33"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965"
++checksum = "5267fca4496028628a95160fc423a33e8b2e6af8a5302579e322e4b520293cae"
+ dependencies = [
+ "proc-macro2",
+ ]
+@@ -408,9 +391,9 @@ dependencies = [
+
+ [[package]]
+ name = "regex"
+-version = "1.9.1"
++version = "1.9.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575"
++checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a"
+ dependencies = [
+ "aho-corasick",
+ "memchr",
+@@ -420,9 +403,9 @@ dependencies = [
+
+ [[package]]
+ name = "regex-automata"
+-version = "0.3.3"
++version = "0.3.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310"
++checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69"
+ dependencies = [
+ "aho-corasick",
+ "memchr",
+@@ -464,14 +447,14 @@ dependencies = [
+
+ [[package]]
+ name = "rustix"
+-version = "0.38.4"
++version = "0.38.9"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5"
++checksum = "9bfe0f2582b4931a45d1fa608f8a8722e8b3c7ac54dd6d5f3b3212791fedef49"
+ dependencies = [
+- "bitflags 2.3.3",
++ "bitflags 2.4.0",
+ "errno",
+ "libc",
+- "linux-raw-sys 0.4.3",
++ "linux-raw-sys 0.4.5",
+ "windows-sys",
+ ]
+
+@@ -495,29 +478,29 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
+
+ [[package]]
+ name = "serde"
+-version = "1.0.175"
++version = "1.0.188"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5d25439cd7397d044e2748a6fe2432b5e85db703d6d097bd014b3c0ad1ebff0b"
++checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e"
+ dependencies = [
+ "serde_derive",
+ ]
+
+ [[package]]
+ name = "serde_derive"
+-version = "1.0.175"
++version = "1.0.188"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b23f7ade6f110613c0d63858ddb8b94c1041f550eab58a16b371bdf2c9c80ab4"
++checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.27",
++ "syn 2.0.29",
+ ]
+
+ [[package]]
+ name = "serde_json"
+-version = "1.0.103"
++version = "1.0.105"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b"
++checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360"
+ dependencies = [
+ "itoa",
+ "ryu",
+@@ -607,9 +590,9 @@ dependencies = [
+
+ [[package]]
+ name = "syn"
+-version = "2.0.27"
++version = "2.0.29"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0"
++checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+@@ -618,14 +601,14 @@ dependencies = [
+
+ [[package]]
+ name = "tempfile"
+-version = "3.7.0"
++version = "3.8.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998"
++checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+ dependencies = [
+ "cfg-if",
+ "fastrand",
+ "redox_syscall 0.3.5",
+- "rustix 0.38.4",
++ "rustix 0.38.9",
+ "windows-sys",
+ ]
+
+@@ -671,22 +654,22 @@ dependencies = [
+
+ [[package]]
+ name = "thiserror"
+-version = "1.0.44"
++version = "1.0.47"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90"
++checksum = "97a802ec30afc17eee47b2855fc72e0c4cd62be9b4efe6591edde0ec5bd68d8f"
+ dependencies = [
+ "thiserror-impl",
+ ]
+
+ [[package]]
+ name = "thiserror-impl"
+-version = "1.0.44"
++version = "1.0.47"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96"
++checksum = "6bb623b56e39ab7dcd4b1b98bb6c8f8d907ed255b18de254088016b27a8ee19b"
+ dependencies = [
+ "proc-macro2",
+ "quote",
+- "syn 2.0.27",
++ "syn 2.0.29",
+ ]
+
+ [[package]]
+@@ -697,13 +680,9 @@ checksum = "301abaae475aa91687eb82514b328ab47a211a533026cb25fc3e519b86adfc3c"
+
+ [[package]]
+ name = "unicode-linebreak"
+-version = "0.1.4"
++version = "0.1.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c5faade31a542b8b35855fff6e8def199853b2da8da256da52f52f1316ee3137"
+-dependencies = [
+- "hashbrown",
+- "regex",
+-]
++checksum = "3b09c83c3c29d37506a3e260c08c03743a6bb66a9cd432c6934ab501a190571f"
+
+ [[package]]
+ name = "unicode-segmentation"
+@@ -717,12 +696,6 @@ version = "0.1.10"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+-[[package]]
+-name = "version_check"
+-version = "0.9.4"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+-
+ [[package]]
+ name = "wasi"
+ version = "0.11.0+wasi-snapshot-preview1"
+@@ -762,9 +735,9 @@ dependencies = [
+
+ [[package]]
+ name = "windows-targets"
+-version = "0.48.1"
++version = "0.48.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f"
++checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
+ dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+@@ -777,42 +750,42 @@ dependencies = [
+
+ [[package]]
+ name = "windows_aarch64_gnullvm"
+-version = "0.48.0"
++version = "0.48.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
++checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
+
+ [[package]]
+ name = "windows_aarch64_msvc"
+-version = "0.48.0"
++version = "0.48.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
++checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
+
+ [[package]]
+ name = "windows_i686_gnu"
+-version = "0.48.0"
++version = "0.48.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
++checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
+
+ [[package]]
+ name = "windows_i686_msvc"
+-version = "0.48.0"
++version = "0.48.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
++checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
+
+ [[package]]
+ name = "windows_x86_64_gnu"
+-version = "0.48.0"
++version = "0.48.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
++checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
+
+ [[package]]
+ name = "windows_x86_64_gnullvm"
+-version = "0.48.0"
++version = "0.48.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
++checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
+
+ [[package]]
+ name = "windows_x86_64_msvc"
+-version = "0.48.0"
++version = "0.48.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
++checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
diff --git a/testing/termbox/APKBUILD b/testing/termbox/APKBUILD
index b2a87131486..39d874c66ba 100644
--- a/testing/termbox/APKBUILD
+++ b/testing/termbox/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Adam Saponara <as@php.net>
pkgname=termbox
pkgver=1.1.2
-pkgrel=0
+pkgrel=1
pkgdesc="Legacy-free alternative to ncurses"
url="https://github.com/nsf/termbox"
arch="all"
@@ -23,7 +23,7 @@ build() {
abuild-meson \
--default-library=both \
. output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
diff --git a/testing/termcolor/APKBUILD b/testing/termcolor/APKBUILD
index 0a5b1e94749..975e027b6e7 100644
--- a/testing/termcolor/APKBUILD
+++ b/testing/termcolor/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=termcolor
-pkgver=2.0.0
+pkgver=2.1.0
pkgrel=0
pkgdesc="Header-only C++ library for printing colored messages to the terminal"
url="https://github.com/ikalnytskyi/termcolor"
@@ -25,5 +25,5 @@ package() {
}
sha512sums="
-72dead77fb9f3ff79432b1659b57c3d961a57b46305937acd0c221f5abb016f609dfaf7a9bf508bd7a073338ee604cf55f9915c8e8a76ddfaf6c68bc031e37f9 termcolor-2.0.0.tar.gz
+668853a93e1208a08a4ea9ac8db2d9c615cefd0325c35402b767e0b1bf373589507b8eb7685babd5801c1e4f2533db6f4eabfedde365737a4c7c069f00f536d8 termcolor-2.1.0.tar.gz
"
diff --git a/testing/terminalpp/APKBUILD b/testing/terminalpp/APKBUILD
new file mode 100644
index 00000000000..d9a0809791a
--- /dev/null
+++ b/testing/terminalpp/APKBUILD
@@ -0,0 +1,84 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=terminalpp
+pkgver=0.8.4
+pkgrel=0
+pkgdesc="Minimalist, fast, cross-platform terminal emulator"
+url="https://terminalpp.com/"
+# armhf, armv7, x86: fails to build
+arch="all !armhf !armv7 !x86"
+license="MIT"
+makedepends="
+ cmake
+ freetype-dev
+ libx11-dev
+ libxcursor-dev
+ libxft-dev
+ mesa-dev
+ samurai
+ "
+subpackages="
+ $pkgname-ropen
+ tpp-bypass
+ "
+source="https://github.com/terminalpp/terminalpp/archive/v$pkgver/terminalpp-$pkgver.tar.gz"
+builddir="$srcdir/terminalpp-$pkgver"
+
+build() {
+ local cmake_opts="
+ -G Ninja
+ -DCMAKE_INSTALL_PREFIX=/usr
+ -DSTAMP_ARGS=--no-override
+ "
+ [ "$CBUILD" = "$CHOST" ] || cmake_opts="
+ $cmake_opts
+ -DCMAKE_SYSTEM_NAME=Linux
+ -DCMAKE_HOST_SYSTEM_NAME=Linux
+ "
+
+ cmake -B build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DINSTALL=terminalpp \
+ $cmake_opts
+ cmake --build build --target terminalpp
+ cmake --build build --target tests
+
+ cmake -B build-ropen \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DINSTALL=ropen \
+ $cmake_opts
+ cmake --build build-ropen --target ropen
+
+ cmake -B build-bypass \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DINSTALL=tpp-bypass \
+ $cmake_opts
+ cmake --build build-bypass --target tpp-bypass
+}
+
+check() {
+ cd build
+ ./tests/tests
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+ropen() {
+ pkgdesc="Utility to open remote files in Terminal++"
+
+ cd "$builddir"
+ DESTDIR="$subpkgdir" cmake --install build-ropen
+}
+
+bypass() {
+ pkgdesc="Utility to create a linux pseudoconsole inside WSL to bypass ConPTY"
+
+ cd "$builddir"
+ DESTDIR="$subpkgdir" cmake --install build-bypass
+}
+
+sha512sums="
+498755b11e7e14d9aec4450e4f5a9446cb591fd73672ad306d2b292814b3bdbb10b0e6d6248f849b30f531a92f419881c7e59dcfa85117155c0e45aabb8943ad terminalpp-0.8.4.tar.gz
+"
diff --git a/testing/termshark/APKBUILD b/testing/termshark/APKBUILD
deleted file mode 100644
index d64cdd69fe6..00000000000
--- a/testing/termshark/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: omni <omni@gitlab.alpinelinux.org>
-# Maintainer:
-pkgname=termshark
-pkgver=2.3.0
-pkgrel=3
-pkgdesc="terminal UI for tshark, inspired by Wireshark"
-url="https://termshark.io"
-license="MIT"
-arch="all !armhf" # no tshark on armhf
-depends="tshark"
-makedepends="go"
-options="net"
-source="$pkgname-$pkgver.tar.gz::https://github.com/gcla/termshark/archive/v$pkgver.tar.gz"
-
-export GOPATH="$srcdir"
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-
-build() {
- go build -v ./cmd/...
-}
-
-check() {
- go test -v ./...
-}
-
-package() {
- install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
- install -Dm644 docs/UserGuide.md -t "$pkgdir"/usr/share/doc/$pkgname
- install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
-
- # Help clean-up as some paths are readonly
- rm -rf "$GOPATH"/pkg/mod
-}
-
-sha512sums="
-0ed780ec1ba86d2a6eb11c940f00475c750075d5e1ae4a6022f465572717126df941e933e2db7123d802b721f8e1187014f02d4c5dfd84c1a55009045dce5a88 termshark-2.3.0.tar.gz
-"
diff --git a/testing/termusic-mpv/APKBUILD b/testing/termusic-mpv/APKBUILD
new file mode 100644
index 00000000000..bd8d13607eb
--- /dev/null
+++ b/testing/termusic-mpv/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Coco Liliace <coco@liliace.dev>
+# Maintainer: Coco Liliace <coco@liliace.dev>
+#
+# optional dependencies:
+# - yt-dlp and ffmpeg: for downloading from youtube
+pkgname=termusic-mpv
+pkgver=0.7.11
+pkgrel=0
+pkgdesc="Music Player TUI written in Rust"
+url="https://github.com/tramhao/termusic"
+arch="all !s390x !riscv64"
+license="MIT AND GPL-3.0-or-later"
+depends="protoc mpv-dev"
+makedepends="cargo cargo-auditable rustfmt rust-clippy dbus-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tramhao/termusic/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/termusic-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked --target="$CTARGET"
+}
+
+check() {
+ make fmt
+}
+
+build() {
+ cargo auditable build --no-default-features --features mpv --release --frozen --all
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin ./target/release/termusic ./target/release/termusic-server
+}
+sha512sums="
+67f0b06ff37dbc3d16c77c6bdd0163dc547fbea1a25b3a7574b4540a4ad3a2059dc547d49411803fd9aa162d4f432ff5b99bef1e0f5c362342943fa76985f443 termusic-mpv-0.7.11.tar.gz
+"
diff --git a/testing/terra/APKBUILD b/testing/terra/APKBUILD
new file mode 100644
index 00000000000..d0c5ea2503d
--- /dev/null
+++ b/testing/terra/APKBUILD
@@ -0,0 +1,80 @@
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+pkgname=terra
+pkgver=1.0.6
+pkgrel=1
+pkgdesc="Low-level system programming language embedded in and meta-programmed by Lua."
+url="https://terralang.org/"
+# does not support new llvm versions, looks dead upstream
+#arch="x86_64"
+license="MIT"
+makedepends="
+ clang-dev
+ clang-static
+ cmake
+ libedit-dev
+ libffi-dev
+ libxml2-dev
+ lld
+ llvm-dev
+ llvm-static
+ luajit-dev
+ ncurses-dev
+ openmp-dev
+ samurai
+ zlib-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/terralang/terra/archive/refs/tags/release-$pkgver.tar.gz
+ no-execinfo.patch
+ system-lua.patch
+ version.patch
+ "
+subpackages="$pkgname-dev"
+builddir="$srcdir/$pkgname-release-$pkgver"
+
+prepare() {
+ default_prepare
+
+ # checks if puts() returns 10
+ rm tests/string.t
+ # includes immintrin.h without include path
+ rm tests/expvec.t
+ # ?
+ rm tests/option_e.t
+ rm tests/dynlib.t
+}
+
+build() {
+ CC=clang \
+ CXX=clang++ \
+ CFLAGS="$CFLAGS -flto=thin" \
+ CXXFLAGS="$CXXFLAGS -flto=thin" \
+ LDFLAGS="$LDFLAGS -fuse-ld=lld" \
+ cmake -G Ninja -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_SKIP_INSTALL_RPATH=ON \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DTERRA_STATIC_LINK_LUAJIT=OFF \
+ -DTERRA_VERSION="$pkgver"
+ cmake --build build
+}
+
+check() {
+ cd tests
+ INCLUDE_PATH="$(pkg-config --variable=includedir luajit)" \
+ ../build/bin/terra run
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ rm -rf "$pkgdir"/usr/share/terra/tests
+}
+
+sha512sums="
+ba856b41533a5db4a68f8993fdc61164104d55e1cab46417176840b1c40867fb31889d1fad8996644debee2ca69f78d7b2a99a36004b236c958ecdb9d8beff98 terra-1.0.6.tar.gz
+9bba656697bb25249a5657d87481c242cf68a3af10ef8d076aace31c9dd28c1bda77baecbc1d281aca627f2d47a75d379084cefc6c7d6bdcf74e391a0a24d54b no-execinfo.patch
+c5407edc1cdcd03d1ffe1a0db60f10f86e2223edd4d90e831285cc5b36dc687806ce6532196563a24c326868f446a32d976208a6398668e85d82d3fc57d77a2c system-lua.patch
+d2beea5e219951c1a2d157e67e1ba238bcd07f526a955fc84779477ad9b36b63b72d9ae402c6ce196f7ea4fccc503478a4ee9c77aa4bc22804434620362ab8a2 version.patch
+"
diff --git a/testing/terra/no-execinfo.patch b/testing/terra/no-execinfo.patch
new file mode 100644
index 00000000000..7870f5061cc
--- /dev/null
+++ b/testing/terra/no-execinfo.patch
@@ -0,0 +1,36 @@
+diff --git a/src/tdebug.cpp b/src/tdebug.cpp
+index 0d93be0..cda06a6 100644
+--- a/src/tdebug.cpp
++++ b/src/tdebug.cpp
+@@ -6,7 +6,6 @@
+ #if !defined(__arm__) && !defined(__aarch64__) && !defined(__PPC__)
+
+ #ifndef _WIN32
+-#include <execinfo.h>
+ #ifndef _XOPEN_SOURCE
+ #define _XOPEN_SOURCE
+ #endif
+@@ -188,7 +187,6 @@ static void printstacktrace(void *uap, void *data) {
+ int N = terra_backtrace(frames, maxN, rip, rbp);
+
+ #ifndef _WIN32
+- char **symbols = backtrace_symbols(frames, N);
+ #else
+ HANDLE process = GetCurrentProcess();
+ SymInitialize(process, NULL, true);
+@@ -202,7 +200,6 @@ static void printstacktrace(void *uap, void *data) {
+ uintptr_t ip = (uintptr_t)frames[i];
+ if (!printfunctioninfo(C, ip, isNextInst, i)) {
+ #ifndef _WIN32
+- printf("%s\n", symbols[i]);
+ #else
+ char buf[256 + sizeof(SYMBOL_INFO)];
+ SYMBOL_INFO *symbol = (SYMBOL_INFO *)buf;
+@@ -217,7 +214,6 @@ static void printstacktrace(void *uap, void *data) {
+ }
+ }
+ #ifndef _WIN32
+- free(symbols);
+ #endif
+ }
+
diff --git a/testing/terra/system-lua.patch b/testing/terra/system-lua.patch
new file mode 100644
index 00000000000..d63d78245df
--- /dev/null
+++ b/testing/terra/system-lua.patch
@@ -0,0 +1,35 @@
+diff --git a/cmake/Modules/GetLuaJIT.cmake b/cmake/Modules/GetLuaJIT.cmake
+index 0ab1747..4cf7644 100644
+--- a/cmake/Modules/GetLuaJIT.cmake
++++ b/cmake/Modules/GetLuaJIT.cmake
+@@ -7,6 +7,12 @@ else()
+ set(DEFAULT_TERRA_LUA "luajit")
+ endif()
+
++find_package(PkgConfig)
++pkg_check_modules(LUAJIT REQUIRED luajit IMPORTED_TARGET GLOBAL)
++add_library(LuaJIT ALIAS PkgConfig::LUAJIT)
++set(LUAJIT_EXECUTABLE "/usr/bin/luajit")
++return()
++
+ set(TERRA_LUA "${DEFAULT_TERRA_LUA}" CACHE STRING "Build Terra against the specified Lua implementation")
+
+ if(TERRA_LUA STREQUAL "luajit")
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -112,6 +112,7 @@
+ ${PROJECT_BINARY_DIR}/include/terra
+ ${LLVM_INCLUDE_DIRS}
+ ${CLANG_INCLUDE_DIRS}
++ ${LUAJIT_INCLUDE_DIRS}
+ )
+
+ if(WIN32)
+@@ -291,6 +292,7 @@
+ PRIVATE
+ ${PROJECT_BINARY_DIR}
+ ${PROJECT_BINARY_DIR}/include/terra
++ ${LUAJIT_INCLUDE_DIRS}
+ )
+
+ if(WIN32)
diff --git a/testing/terra/version.patch b/testing/terra/version.patch
new file mode 100644
index 00000000000..0f68212234f
--- /dev/null
+++ b/testing/terra/version.patch
@@ -0,0 +1,18 @@
+--- a/cmake/Modules/VersionNumber.cmake
++++ b/cmake/Modules/VersionNumber.cmake
+@@ -1,14 +1,4 @@
+-if(GIT_FOUND)
+- execute_process(
+- COMMAND "${GIT_EXECUTABLE}" describe --tags
+- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
+- RESULT_VARIABLE HAS_TERRA_VERSION
+- OUTPUT_VARIABLE TERRA_VERSION
+- ERROR_QUIET
+- )
+-endif()
+-
+-if(HAS_TERRA_VERSION EQUAL 0)
++if(1)
+ string(STRIP "${TERRA_VERSION}" TERRA_VERSION)
+ string(REGEX REPLACE "^(release-)" ""
+ TERRA_VERSION "${TERRA_VERSION}"
diff --git a/testing/terraform-provider-libvirt/0001-Set-firmware-attribute-to-efi-for-aarch64.patch b/testing/terraform-provider-libvirt/0001-Set-firmware-attribute-to-efi-for-aarch64.patch
deleted file mode 100644
index 73e1c4c6612..00000000000
--- a/testing/terraform-provider-libvirt/0001-Set-firmware-attribute-to-efi-for-aarch64.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From e88250c7eec9739d9b8c9b9309d5534e194feae2 Mon Sep 17 00:00:00 2001
-From: Prashanth Sundararaman <psundara@redhat.com>
-Date: Wed, 2 Dec 2020 11:16:32 -0500
-Subject: [PATCH 1/2] Set firmware attribute to efi for aarch64
-
-This new firmare attribute was added to newer versions of libvirt-go-xml. This enables to specify the firmware as
-'bios' or 'efi' and automatically fills in the loader and NVRAM elements without having to specify them manually.
-Refer to https://libvirt.org/formatdomain.html#bios-bootloader for this. As part of this change, libvirt-go and
-libvirt-go-xml needs to be updated.
-
-Setting this automatically for aarch64 as it is a EFI architecture by default.
----
- go.mod | 4 ++--
- go.sum | 8 ++++----
- libvirt/domain_def.go | 6 ++++++
- 3 files changed, 12 insertions(+), 6 deletions(-)
-
-diff --git a/go.mod b/go.mod
-index a0e83ce1..2b44c9b6 100644
---- a/go.mod
-+++ b/go.mod
-@@ -6,8 +6,8 @@ require (
- github.com/hashicorp/terraform-plugin-sdk v1.4.0
- github.com/hooklift/assert v0.0.0-20170704181755-9d1defd6d214 // indirect
- github.com/hooklift/iso9660 v1.0.0
-- github.com/libvirt/libvirt-go v5.0.0+incompatible
-- github.com/libvirt/libvirt-go-xml v5.0.0+incompatible
-+ github.com/libvirt/libvirt-go v5.10.0+incompatible
-+ github.com/libvirt/libvirt-go-xml v5.10.0+incompatible
- github.com/mattn/goveralls v0.0.2
- github.com/mitchellh/packer v1.3.2
- github.com/pborman/uuid v1.2.0 // indirect
-diff --git a/go.sum b/go.sum
-index dd49fe87..35fa174d 100644
---- a/go.sum
-+++ b/go.sum
-@@ -176,10 +176,10 @@ github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3v
- github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
- github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
- github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
--github.com/libvirt/libvirt-go v5.0.0+incompatible h1:IUbnpRXdveEHGNqZrckQAihg65OuHYb/b90yV89c6yQ=
--github.com/libvirt/libvirt-go v5.0.0+incompatible/go.mod h1:34zsnB4iGeOv7Byj6qotuW8Ya4v4Tr43ttjz/F0wjLE=
--github.com/libvirt/libvirt-go-xml v5.0.0+incompatible h1:zSZ7uRWGGgvyzDHPrA+3sYrTf+Jtx4izPWYQhHfAOqc=
--github.com/libvirt/libvirt-go-xml v5.0.0+incompatible/go.mod h1:oBlgD3xOA01ihiK5stbhFzvieyW+jVS6kbbsMVF623A=
-+github.com/libvirt/libvirt-go v5.10.0+incompatible h1:01fwkdUHH2hk4YyFNCr48OvSGqXYLzp9cofUpeyeLNc=
-+github.com/libvirt/libvirt-go v5.10.0+incompatible/go.mod h1:34zsnB4iGeOv7Byj6qotuW8Ya4v4Tr43ttjz/F0wjLE=
-+github.com/libvirt/libvirt-go-xml v5.10.0+incompatible h1:kcgVynR4a9cuh/kc7Ywl8XRBUxbqe05seR2qgN+yTno=
-+github.com/libvirt/libvirt-go-xml v5.10.0+incompatible/go.mod h1:oBlgD3xOA01ihiK5stbhFzvieyW+jVS6kbbsMVF623A=
- github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
- github.com/mattn/go-colorable v0.1.1 h1:G1f5SKeVxmagw/IyvzvtZE4Gybcc4Tr1tf7I8z0XgOg=
- github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
-diff --git a/libvirt/domain_def.go b/libvirt/domain_def.go
-index 04e55339..46bc25b5 100644
---- a/libvirt/domain_def.go
-+++ b/libvirt/domain_def.go
-@@ -117,6 +117,12 @@ func newDomainDefForConnection(virConn *libvirt.Connect, rd *schema.ResourceData
- d.OS.Type.Arch = arch
- }
-
-+ if d.OS.Type.Arch == "aarch64" {
-+ // for aarch64 speciffying this will automatically select the firmware and NVRAM file
-+ // reference: https://libvirt.org/formatdomain.html#bios-bootloader
-+ d.OS.Firmware = "efi"
-+ }
-+
- caps, err := getHostCapabilities(virConn)
- if err != nil {
- return d, err
---
-2.31.1
-
diff --git a/testing/terraform-provider-libvirt/0002-Update-libvirt-go-to-7.0.0.patch b/testing/terraform-provider-libvirt/0002-Update-libvirt-go-to-7.0.0.patch
deleted file mode 100644
index cd6a9b16756..00000000000
--- a/testing/terraform-provider-libvirt/0002-Update-libvirt-go-to-7.0.0.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From daa79634e76898dd5e4fd464a493c81e3bebe0d9 Mon Sep 17 00:00:00 2001
-From: Nicholas Nooney <nicholasnooney@gmail.com>
-Date: Tue, 16 Feb 2021 21:55:36 -0800
-Subject: [PATCH 2/2] Update libvirt-go to 7.0.0
-
-The current version (5.1.0) does not compile on 32-bit architectures
-such as the Raspberry Pi. Updating the dependency to the latest
-version and tweaking build errors allows the unit tests to pass.
----
- go.mod | 4 ++--
- go.sum | 8 ++++----
- libvirt/qemu_agent.go | 4 ++--
- libvirt/qemu_agent_test.go | 2 +-
- libvirt/resource_libvirt_domain.go | 2 +-
- 5 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/go.mod b/go.mod
-index 2b44c9b6..0056ebae 100644
---- a/go.mod
-+++ b/go.mod
-@@ -6,8 +6,8 @@ require (
- github.com/hashicorp/terraform-plugin-sdk v1.4.0
- github.com/hooklift/assert v0.0.0-20170704181755-9d1defd6d214 // indirect
- github.com/hooklift/iso9660 v1.0.0
-- github.com/libvirt/libvirt-go v5.10.0+incompatible
-- github.com/libvirt/libvirt-go-xml v5.10.0+incompatible
-+ github.com/libvirt/libvirt-go v7.0.0+incompatible
-+ github.com/libvirt/libvirt-go-xml v7.0.0+incompatible
- github.com/mattn/goveralls v0.0.2
- github.com/mitchellh/packer v1.3.2
- github.com/pborman/uuid v1.2.0 // indirect
-diff --git a/go.sum b/go.sum
-index 35fa174d..c7ca434d 100644
---- a/go.sum
-+++ b/go.sum
-@@ -176,10 +176,10 @@ github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348 h1:MtvEpTB6LX3v
- github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
- github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
- github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
--github.com/libvirt/libvirt-go v5.10.0+incompatible h1:01fwkdUHH2hk4YyFNCr48OvSGqXYLzp9cofUpeyeLNc=
--github.com/libvirt/libvirt-go v5.10.0+incompatible/go.mod h1:34zsnB4iGeOv7Byj6qotuW8Ya4v4Tr43ttjz/F0wjLE=
--github.com/libvirt/libvirt-go-xml v5.10.0+incompatible h1:kcgVynR4a9cuh/kc7Ywl8XRBUxbqe05seR2qgN+yTno=
--github.com/libvirt/libvirt-go-xml v5.10.0+incompatible/go.mod h1:oBlgD3xOA01ihiK5stbhFzvieyW+jVS6kbbsMVF623A=
-+github.com/libvirt/libvirt-go v7.0.0+incompatible h1:twXBsJe7klsz2Zogxm4GJF5aBRPmdY72RX8nDumB86A=
-+github.com/libvirt/libvirt-go v7.0.0+incompatible/go.mod h1:34zsnB4iGeOv7Byj6qotuW8Ya4v4Tr43ttjz/F0wjLE=
-+github.com/libvirt/libvirt-go-xml v7.0.0+incompatible h1:zY4SWe4hqy9c1XekUWeVS6ThYDbnK1YnIaq7kgMM8iE=
-+github.com/libvirt/libvirt-go-xml v7.0.0+incompatible/go.mod h1:oBlgD3xOA01ihiK5stbhFzvieyW+jVS6kbbsMVF623A=
- github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
- github.com/mattn/go-colorable v0.1.1 h1:G1f5SKeVxmagw/IyvzvtZE4Gybcc4Tr1tf7I8z0XgOg=
- github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
-diff --git a/libvirt/qemu_agent.go b/libvirt/qemu_agent.go
-index 2d2ce06a..318a96b5 100644
---- a/libvirt/qemu_agent.go
-+++ b/libvirt/qemu_agent.go
-@@ -82,10 +82,10 @@ func qemuAgentInterfacesRefreshFunc(domain Domain, wait4ipv4 bool) resource.Stat
-
- switch strings.ToLower(addr.Type) {
- case "ipv4":
-- libVirtAddr.Type = int(libvirt.IP_ADDR_TYPE_IPV4)
-+ libVirtAddr.Type = libvirt.IP_ADDR_TYPE_IPV4
- ipv4Assigned = true
- case "ipv6":
-- libVirtAddr.Type = int(libvirt.IP_ADDR_TYPE_IPV6)
-+ libVirtAddr.Type = libvirt.IP_ADDR_TYPE_IPV6
- default:
- log.Printf("[ERROR] Cannot handle unknown address type %s", addr.Type)
- continue
-diff --git a/libvirt/qemu_agent_test.go b/libvirt/qemu_agent_test.go
-index b32b51dc..0b5c3874 100644
---- a/libvirt/qemu_agent_test.go
-+++ b/libvirt/qemu_agent_test.go
-@@ -183,7 +183,7 @@ func TestGetDomainInterfacesViaQemuAgent(t *testing.T) {
- for _, addr := range interfaces[0].Addrs {
- var expected string
-
-- if addr.Type == int(libvirt.IP_ADDR_TYPE_IPV4) {
-+ if addr.Type == libvirt.IP_ADDR_TYPE_IPV4 {
- expected = ipv4Addr
- } else {
- expected = ipv6Addr
-diff --git a/libvirt/resource_libvirt_domain.go b/libvirt/resource_libvirt_domain.go
-index ffeac872..8759cb4b 100644
---- a/libvirt/resource_libvirt_domain.go
-+++ b/libvirt/resource_libvirt_domain.go
-@@ -460,7 +460,7 @@ func resourceLibvirtDomainCreate(d *schema.ResourceData, meta interface{}) error
- Unit: "MiB",
- }
- domainDef.VCPU = &libvirtxml.DomainVCPU{
-- Value: d.Get("vcpu").(int),
-+ Value: uint(d.Get("vcpu").(int)),
- }
- domainDef.Description = d.Get("description").(string)
-
---
-2.31.1
-
diff --git a/testing/terraform-provider-libvirt/APKBUILD b/testing/terraform-provider-libvirt/APKBUILD
deleted file mode 100644
index bc8124f415b..00000000000
--- a/testing/terraform-provider-libvirt/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=terraform-provider-libvirt
-pkgver=0.6.3
-pkgrel=4
-pkgdesc="Terraform provider using libvirt"
-url="https://github.com/dmacvicar/terraform-provider-libvirt"
-arch="all !mips64 !s390x !riscv64" # blocked by libvirt
-license="Apache-2.0"
-depends="terraform"
-makedepends="go libvirt-dev"
-source="https://github.com/dmacvicar/terraform-provider-libvirt/archive/v$pkgver/terraform-provider-libvirt-$pkgver.tar.gz
- version.patch
- 0001-Set-firmware-attribute-to-efi-for-aarch64.patch
- 0002-Update-libvirt-go-to-7.0.0.patch
- "
-options="!check" # testsuite takes too long to run and appears need a running libvirt
-
-build() {
- unset LDFLAGS
- make VERSION="$pkgver"
-}
-
-check() {
- make test
-}
-
-package() {
- install -Dm755 terraform-provider-libvirt \
- "$pkgdir"/usr/bin/terraform-provider-libvirt
-}
-
-sha512sums="06f9283a30f6739dc879e592834a703e6e5e4766cd406ec51f40fb96f8b47291e2ef004a90e2724f61fc60405aa3927fd9ae8ccc097fba4546fb9fbdc1b1673d terraform-provider-libvirt-0.6.3.tar.gz
-898a0f65865e36d379c7ab02ee2ba0ef05fbd477db17f41b3adcfccb63f9b76f694927285fc9a6c03f16116502eabb3d1575f3c65bec58684fc81e925ebe4237 version.patch
-4c9d7c49d2fad87e737accb4387ffab7390a4308d2d741a4acd37b443879c44920959a6dedc8ab37bee4b3564b68d14965ffc9b4a4fb59a22e494bb0214800aa 0001-Set-firmware-attribute-to-efi-for-aarch64.patch
-1ac42196e6eea9cff73bf6578116fc6b9458e18eeec9ad0b62e82c9452a9b2d2a18db6b0b79d535d2e84e25c6454bf9269c2c0dd762e766d118eef77affdea3b 0002-Update-libvirt-go-to-7.0.0.patch"
diff --git a/testing/terraform-provider-libvirt/version.patch b/testing/terraform-provider-libvirt/version.patch
deleted file mode 100644
index 9796704fcaa..00000000000
--- a/testing/terraform-provider-libvirt/version.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Make it possible to override version string so we can avoid pick up the
-aports git version info.
-
-diff --git a/Makefile b/Makefile
-index 0f252d7..bbf2006 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,4 +1,5 @@
--LDFLAGS += -X main.version=$$(git describe --always --abbrev=40 --dirty)
-+VERSION = $$(git describe --always --abbrev=40 --dirty)
-+LDFLAGS += -X main.version=$(VERSION)
-
- # default args for tests
- TEST_ARGS_DEF := -covermode=count -coverprofile=profile.cov
diff --git a/testing/tesseract-git/APKBUILD b/testing/tesseract-git/APKBUILD
deleted file mode 100644
index 49ea3f80166..00000000000
--- a/testing/tesseract-git/APKBUILD
+++ /dev/null
@@ -1,49 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
-pkgname=tesseract-git
-_sha=695f862bd711a147b1f27c7ea51b7592a934c77b
-pkgver=20200221
-pkgrel=3
-pkgdesc="Tesseract Open Source OCR Engine"
-url="https://github.com/tesseract-ocr/tesseract"
-arch="all"
-license="Apache-2.0"
-makedepends="autoconf autoconf-archive automake cairo-dev icu-dev leptonica-dev libtool pango-dev tiff-dev"
-replaces="tesseract-ocr"
-subpackages="$pkgname-dev $pkgname-training"
-source="tesseract-$pkgver.tar.gz::https://github.com/tesseract-ocr/tesseract/archive/$_sha.tar.gz
- include-time-h.patch
- "
-
-builddir="$srcdir/tesseract-$_sha"
-
-prepare() {
- default_prepare
- ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --disable-static
- make
- make training
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-training() {
- cd "$builddir"
- make DESTDIR="$subpkgdir" training-install
-}
-
-sha512sums="a8d2396d56acf58d60ed3b3d1aeb77b52870bb1b83502070af79a5138f39a0aec27841a4fca4bdff114eb46d80630be67b2dfc8fc194f6b87c129d2357aea3c7 tesseract-20200221.tar.gz
-b0fe8ed2f3d00f61749fffc7316392dbc063cd03084cba26ac84b7a3a374bebc75ad07ccb588d3f5ac83acc80d33bb9c2de05703ce50df86f48294f4a5be0424 include-time-h.patch"
diff --git a/testing/tesseract-git/include-time-h.patch b/testing/tesseract-git/include-time-h.patch
deleted file mode 100644
index d639d8e9b05..00000000000
--- a/testing/tesseract-git/include-time-h.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/include/tesseract/ocrclass.h
-+++ b/include/tesseract/ocrclass.h
-@@ -28,6 +28,7 @@
-
- #include <chrono>
- #include <ctime>
-+#include <sys/time.h>
-
- /**********************************************************************
- * EANYCODE_CHAR
diff --git a/testing/tetragon-client/APKBUILD b/testing/tetragon-client/APKBUILD
new file mode 100644
index 00000000000..0e7900fd0ca
--- /dev/null
+++ b/testing/tetragon-client/APKBUILD
@@ -0,0 +1,72 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=tetragon-client
+pkgver=1.0.2
+pkgrel=2
+pkgdesc="CLI client for eBPF-based Security Observability and Runtime Enforcement"
+url="https://github.com/cilium/tetragon"
+arch="x86_64 aarch64" # fails to build on other platforms
+license="Apache-2.0"
+makedepends="go"
+checkdepends="linux-headers"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/cilium/tetragon/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/tetragon-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v \
+ -ldflags "-X github.com/cilium/tetragon/pkg/version.Version=v$pkgver" \
+ ./cmd/tetra
+
+ for shell in bash fish zsh; do
+ ./tetra completion $shell > tetra.$shell
+ done
+}
+
+check() {
+ # Some tests access example files inside the repo, so no -trimpath.
+ # /tests/e2e: only run unittest
+ # /bpf/tests: requires root privilege to run
+ # /pkg/reader/proc: read process name at PID 1
+ # /pkg/selectors: read values in kernel Pid namespace
+ # /pkg/alignchecker: fails to build bpf/objs/bpf_alignchecker.o
+ # /pkg/sensors/{tracing,exec}, /pkg/{tracepoint,btf,bugtool}: try to access /sys/kernel
+ # /pkg/sensors/exec/procevents, /pkg/cgroups: fail on CI (lacking cgroup controller "pids")
+ # shellcheck disable=2046
+ GOFLAGS="${GOFLAGS/-trimpath/}" go test $(go list ./... | grep -v \
+ -e '/bpf/tests$' \
+ -e '/pkg/alignchecker$' \
+ -e '/pkg/btf$' \
+ -e '/pkg/bugtool$' \
+ -e '/pkg/cgroups$' \
+ -e '/pkg/reader/proc$' \
+ -e '/pkg/selectors$' \
+ -e '/pkg/sensors/exec$' \
+ -e '/pkg/sensors/exec/procevents$' \
+ -e '/pkg/sensors/tracing$' \
+ -e '/pkg/tracepoint$' \
+ -e '/tests/e2e' \
+ )
+}
+
+package() {
+ install -Dm755 tetra -t "$pkgdir"/usr/bin/
+
+ install -Dm644 tetra.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/tetra
+ install -Dm644 tetra.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/tetra.fish
+ install -Dm644 tetra.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_tetra
+}
+
+sha512sums="
+73404cb1900f451d80b0d0295a2c3f5ef529eb4da76406aca4b889a9dab60e4a0cb578363ee689311b8be33fa5ac902441f79e02220d567b1bf37a9bf582d7ce tetragon-client-1.0.2.tar.gz
+"
diff --git a/testing/texlab/APKBUILD b/testing/texlab/APKBUILD
new file mode 100644
index 00000000000..3f630a6533d
--- /dev/null
+++ b/testing/texlab/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+pkgname=texlab
+pkgver=5.12.3
+pkgrel=0
+pkgdesc="Implementation of the Language Server Protocol for LaTeX"
+url="https://github.com/latex-lsp/texlab"
+# limited by rust/cargo
+# armhf - fails to build
+arch="x86_64 armv7 aarch64 x86 ppc64le"
+license="GPL-3.0-or-later"
+makedepends="cargo cargo-auditable"
+source="https://github.com/latex-lsp/texlab/archive/refs/tags/v$pkgver/texlab-v$pkgver.tar.gz"
+
+# tests OOM on 32-bit
+# x86_64/ppc64le tests broken with some things in /tmp
+case "$CARCH" in
+ x86|x86_64|ppc64le|armv7) options="!check" ;;
+esac
+
+export CARGO_PROFILE_RELEASE_PANIC="unwind"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/texlab -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+ab00f03dae00540225a2e87fad466bf6031916483bcb0953160dbd3003548bbf9c28212c701be887f70bdb269752f4d8818d235c5341e4c9488540b121cd5bc4 texlab-v5.12.3.tar.gz
+"
diff --git a/testing/texmaker/APKBUILD b/testing/texmaker/APKBUILD
index dd32991144a..4d779cde612 100644
--- a/testing/texmaker/APKBUILD
+++ b/testing/texmaker/APKBUILD
@@ -1,20 +1,29 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname="texmaker"
-pkgver=5.1.2
+pkgname=texmaker
+pkgver=5.1.4
pkgrel=0
pkgdesc="Free cross-platform LaTeX editor since 2003"
url="https://www.xm1math.net/texmaker/index.html"
-arch="all !ppc64le !s390x !armhf !riscv64" # qt5-qtwebengine-dev not avail
-license="GPL"
+# qt6-qtwebengine-dev not avail
+arch="aarch64 x86_64"
+license="GPL-2.0-or-later"
depends="desktop-file-utils"
-makedepends="qt5-qttools-dev qt5-qtbase-dev qt5-qtscript-dev poppler-qt5
-qt5-qtdeclarative-dev qt5-qtwebengine-dev"
-source="https://www.xm1math.net/texmaker/$pkgname-$pkgver.tar.bz2"
+makedepends="
+ poppler-qt5-dev
+ qt6-qt5compat-dev
+ qt6-qtbase-dev
+ qt6-qtdeclarative-dev
+ qt6-qttools-dev
+ qt6-qtwebengine-dev
+ "
+source="https://www.xm1math.net/texmaker/$pkgname-$pkgver.tar.bz2
+ musl-1.2.3.patch
+ "
builddir="$srcdir/$pkgname-$pkgver"
build() {
- qmake-qt5 PREFIX=/usr texmaker.pro
+ qmake6 PREFIX=/usr texmaker.pro
make
}
@@ -28,5 +37,6 @@ package() {
}
sha512sums="
-a9625bad6401a36b0a9db90d59aa8e4a2e8f692d4937cbe1c159c46360d2b6257a14f6b5df760acfa7969944c93767d463da395dd5486bf619f6f3db31af7885 texmaker-5.1.2.tar.bz2
+6ae4be7ae9be98e494480d4574e783a5568f0dcc9c631ccbc9bf00cca9f69dc672ba72060c064748a4446d20302af89e3bc6f14e8977d1f1ddbd20458fcf6d4e texmaker-5.1.4.tar.bz2
+6cad0857469f9648aa6c2d2f5f69602a32d4d5be6745b14b6bbf812ad45f34b9c8a886ddb0880fabee8dd7a8d08dc12782d7cb03dfe9c2462e914712cd8f663d musl-1.2.3.patch
"
diff --git a/testing/texmaker/musl-1.2.3.patch b/testing/texmaker/musl-1.2.3.patch
new file mode 100644
index 00000000000..e41f60aaae4
--- /dev/null
+++ b/testing/texmaker/musl-1.2.3.patch
@@ -0,0 +1,13 @@
+diff --git a/pdfium/third_party/base/logging.h b/pdfium/third_party/base/logging.h
+index bf4faea..b1e6a7f 100644
+--- a/pdfium/third_party/base/logging.h
++++ b/pdfium/third_party/base/logging.h
+@@ -10,7 +10,7 @@
+
+ #ifndef _WIN32
+ #define NULL_DEREF_IF_POSSIBLE \
+- *(reinterpret_cast<volatile char*>(NULL) + 42) = 0x42;
++ *(reinterpret_cast<volatile char*>(0) + 42) = 0x42;
+ #else
+ #define NULL_DEREF_IF_POSSIBLE
+ #endif
diff --git a/testing/texstudio/APKBUILD b/testing/texstudio/APKBUILD
index 9233ce728f0..298716d5398 100644
--- a/testing/texstudio/APKBUILD
+++ b/testing/texstudio/APKBUILD
@@ -1,36 +1,44 @@
# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
pkgname=texstudio
-pkgver=4.2.0
-pkgrel=0
-pkgdesc="fully featured LaTeX editor"
+pkgver=4.7.3
+pkgrel=1
+pkgdesc="A fully featured editor for LaTeX documents"
url="https://www.texstudio.org"
-arch="all"
+# disabled elsewhere due to huge size, request if you need it
+arch="aarch64 x86_64"
license="GPL-3.0-or-later"
-depends="qt5-qtbase"
-makedepends="qt5-qtbase-dev qt5-qttools-dev qt5-qtsvg-dev qt5-qtscript-dev
- qt5-qttools-dev poppler-qt5-dev qt5-qtdeclarative-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/texstudio-org/texstudio/archive/$pkgver.tar.gz"
+makedepends="
+ cmake
+ poppler-qt5-dev
+ qt6-qt5compat-dev
+ qt6-qtbase-dev
+ qt6-qtdeclarative-dev
+ qt6-qtsvg-dev
+ qt6-qttools-dev
+ qtermwidget-dev
+ quazip-dev
+ samurai
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/texstudio-org/texstudio/archive/$pkgver.tar.gz
+ qt6.patch
+ "
+options="!check" # tests fail to build
build() {
- QTDIR=/usr/lib/qt5
- PATH=$QTDIR/bin:$PATH
- LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
- DYLD_LIBRARY_PATH=$QTDIR/lib:$DYLD_LIBRARY_PATH
- export QTDIR PATH LD_LIBRARY_PATH DYLD_LIBRARY_PATH
- qmake-qt5 PREFIX=/usr CONFIG-=debug CONFIG-=debug_and_release CONFIG+=release texstudio.pro
- make
-}
-
-check() {
- qmake-qt5
- make
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DQT_VERSION_MAJOR=6
+ cmake --build build
}
package() {
- mkdir -p "$pkgdir/usr/share"
- make INSTALL_PATH="$pkgdir" INSTALL_ROOT="$pkgdir" PREFIX="/usr" install
+ DESTDIR="$pkgdir" cmake --install build
}
+
sha512sums="
-aff5ae645a3b3c362e0456270576770c5b39212902a37633b7279476cf6278ee292ef93c4a0c917b1d4d513aaf597d634f4cf7a469fd4e918f35ddbbe5cb1700 texstudio-4.2.0.tar.gz
+45537cbb585f3d0053f81a7257e8c18a091a09fbecdc09a5da7be5e7233ccbad4c23fd6679a379a6ab2a7543a58c0589249ec082e990d14354b37c5ea906e8e0 texstudio-4.7.3.tar.gz
+60380c7e962ea9deb9117c95153dc7f827b0534adeeb59b6de123d57264b74dba3c960744433686c68fac34f11d788125ba7bc08d36882b10f1282bfa597829d qt6.patch
"
diff --git a/testing/texstudio/qt6.patch b/testing/texstudio/qt6.patch
new file mode 100644
index 00000000000..f9a2b74c35c
--- /dev/null
+++ b/testing/texstudio/qt6.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 7877734..d48606f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -37,7 +37,7 @@ if(WIN32)
+ add_compile_options(-fpermissive)
+ endif()
+
+-find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets LinguistTools REQUIRED)
++find_package(QT NAMES Qt6 COMPONENTS Widgets LinguistTools REQUIRED)
+ find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Network Xml Concurrent Widgets UiTools REQUIRED)
+ find_package(Qt${QT_VERSION_MAJOR} COMPONENTS PrintSupport Svg Qml REQUIRED)
+ if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
diff --git a/testing/textadept/APKBUILD b/testing/textadept/APKBUILD
deleted file mode 100644
index ac7c6ac1593..00000000000
--- a/testing/textadept/APKBUILD
+++ /dev/null
@@ -1,75 +0,0 @@
-# Maintainer: Bradley Saulteaux <~@bradso.to>
-pkgname=textadept
-pkgver=10.3
-_pkgver=e7c3dfab62a7
-_scintver=8b888bf05fe3
-_gtdver=988719013a6a
-_luaver=5.3.5
-_lpegver=1.0.1
-_lfsver=1_7_0_2
-_cdkver=5.0-20150928
-_tkver=0.20
-pkgrel=0
-pkgdesc="A fast, minimalist, and remarkably extensible cross-platform text editor"
-url="https://foicica.com/textadept/"
-arch="all !mips !mips64 !riscv64"
-license="MIT"
-depends="gtk+2.0"
-makedepends="curl ncurses-dev gtk+2.0-dev lua5.3-dev cloc"
-install=""
-options="!check"
-subpackages="${pkgname}-curses"
-source="${pkgname}-${pkgver}.zip::https://foicica.com/hg/${pkgname}/archive/${_pkgver}.zip
- http://foicica.com/hg/scintilla/archive/${_scintver}.zip
- http://foicica.com/hg/gtdialog/archive/${_gtdver}.zip
- http://www.lua.org/ftp/lua-${_luaver}.tar.gz
- http://www.inf.puc-rio.br/~roberto/lpeg/lpeg-${_lpegver}.tar.gz
- http://github.com/keplerproject/luafilesystem/archive/v${_lfsver}.tar.gz
- http://invisible-mirror.net/archives/cdk/cdk-${_cdkver}.tgz
- http://www.leonerd.org.uk/code/libtermkey/libtermkey-${_tkver}.tar.gz
- "
-builddir="$srcdir/${pkgname}-${_pkgver}/src"
-
-prepare() {
- default_prepare
- mv ../../scintilla-${_scintver} scintilla
- patch -d scintilla -N -p1 < scintilla.patch
- mv ../../gtdialog-${_gtdver} gtdialog
- mv ../../lua-${_luaver} lua
- patch -d lua -N -p1 < lua.patch
- mkdir lua/src/lib
- mv ../../lpeg-${_lpegver}/* lua/src/lib/
- mv ../../luafilesystem-${_lfsver}/src/* lua/src/lib/
- mv ../../cdk-${_cdkver} cdk
- mv cdk/include/*.h cdk/
- patch -d cdk -N -p1 < cdk.patch
- mv ../../libtermkey-${_tkver} termkey
- patch -d termkey -N -p1 < termkey.patch
-}
-
-build() {
- make CFLAGS="${CFLAGS} -I/usr/include/lua5.3" CXXFLAGS="${CXXFLAGS} -I/usr/include/lua5.3"
- make CFLAGS="${CFLAGS} -I/usr/include/lua5.3" CXXFLAGS="${CXXFLAGS} -I/usr/include/lua5.3" ${pkgname}-curses
-}
-
-curses() {
- depends="ncurses-libs"
- mkdir -p "$subpkgdir"/usr/bin
- mkdir -p "$subpkgdir"/usr/share/applications/
- mv "$srcdir/${pkgname}-${_pkgver}/${pkgname}-curses" "$subpkgdir"/usr/bin/
- rm "$builddir/${subpkgname}.desktop"
-}
-
-package() {
- make WGET=":" DESTDIR="$pkgdir" PREFIX="/usr" install
- chmod -x "$pkgdir"/usr/share/applications/*.desktop
- rm "$pkgdir"/usr/share/applications/${pkgname}-curses.desktop
-}
-sha512sums="58c5824df2f16a730d420ed2f331b7e9c7aff1330d58b8a68c46ef90f736acdfc7b9d770bbce02aa7eb0afdd5c2b3967650ebf23f652645d676f536cafaea9a2 textadept-10.3.zip
-a7bb469b9d2a34a951b7cf8907d890e609a3d1117f5b6952f8da233cef7cfc519a330cfe22abb3ca50a5d64e4028ebef968fa555f573712643a55ac142d47853 8b888bf05fe3.zip
-df7e86317fc9c4113c4699993be799efc9cb9c8f50d9415ceed9218a0d331a086c9a04853aba8f0fdc6ca45b1009d8bf19096fac216686afa02f560fea6eafb9 988719013a6a.zip
-4f9516acc4659dfd0a9e911bfa00c0788f0ad9348e5724fe8fb17aac59e9c0060a64378f82be86f8534e49c6c013e7488ad17321bafcc787831d3d67406bd0f4 lua-5.3.5.tar.gz
-7b43fbee7eff443000986684bc56bba6d2796a31cf860740746c70e155bdea1b62a46b93f97e2747e3ef0f63e965148778ac2985d0f2d83e1e37ec4ebbabf4aa lpeg-1.0.1.tar.gz
-a1d4d077776e57cd878dbcd21656da141ea3686c587b5420a2b039aeaf086b7e7d05d531ee1cc2bbd7d06660d1315b09593e52143f6711f033ce8eecdc550511 v1_7_0_2.tar.gz
-5774e28d91edd477854e30eb456b7725987e82ec27f5cf055c1d1e46581e11d2958bafbac408124f274bf7454be68476d18643a265df7c74b8f43eb1895bf19d cdk-5.0-20150928.tgz
-81a4bc5917c60ca692ec3065ac0252ae5dc1adccc2832be1c83c82318c97473d883900ab88a8a0ee08ab3f831ff07f3a4827ee3d8e936a3a42c4708ee58f6301 libtermkey-0.20.tar.gz"
diff --git a/testing/thanos/APKBUILD b/testing/thanos/APKBUILD
index 7fb8c3701a4..21847452e5e 100644
--- a/testing/thanos/APKBUILD
+++ b/testing/thanos/APKBUILD
@@ -1,34 +1,38 @@
# Contributor: wener <wenermail@gmail.com>
# Maintainer: wener <wenermail@gmail.com>
pkgname=thanos
-pkgver=0.23.1
-pkgrel=0
+pkgver=0.31.0
+pkgrel=5
pkgdesc="Highly available Prometheus setup with long term storage capabilities. CNCF Sandbox project."
url="https://github.com/thanos-io/thanos"
license="Apache-2.0"
-arch="all !mips64 !riscv64" # prometheus
+# prometheus
+# 32-bit: doesn't build
+arch="all !x86 !armhf !armv7 !riscv64"
install="thanos.pre-install"
makedepends="go prometheus tzdata"
subpackages="$pkgname-openrc"
source="
$pkgname-$pkgver.tar.gz::https://github.com/thanos-io/thanos/archive/v$pkgver.tar.gz
+ assume-no-moving-gc.patch
thanos.initd
thanos.confd
"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
- GOFLAGS="$GOFLAGS -trimpath"
GOLDFLAGS="
- -extldflags '-static'
-X github.com/prometheus/common/version.Version=$pkgver
-X github.com/prometheus/common/version.Revision=AlpineLinux
-X github.com/prometheus/common/version.Branch=master
- -X github.com/prometheus/common/version.BuildUser=$USER@$HOSTNAME
+ -X github.com/prometheus/common/version.BuildUser=build@xyz
-X github.com/prometheus/common/version.BuildDate=$(date -u "+%Y%m%d-%H:%M:%S" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
"
go build \
- $GOFLAGS \
-ldflags "$GOLDFLAGS" \
./cmd/thanos
}
@@ -37,6 +41,7 @@ check() {
# some tests need external storage credentials or running server
# pkg/cacheutil go 1.15 compact
# pkg/pool alloc too much memory
+ # shellcheck disable=2046
go test $(go list ./... | grep -v \
-e 'test/e2e' \
-e 'pkg/shipper' \
@@ -64,7 +69,8 @@ package() {
}
sha512sums="
-50a6ba056ace9359d86ada006cb16ad810f79745b979ba405c61274a42d2aeb7e47ed65377777c619469d3055b3ce30bcd9f04ca0225dec9777e288a979ffacb thanos-0.23.1.tar.gz
+4bf4a0e3414c8157ca2ff1ae58c5e9c64d4966ac455495b95ccaa5bac2c726866e32cb30b8c87f2374f71b9eef27b6f8f05a578b69cabc535dd5cb806cb0a188 thanos-0.31.0.tar.gz
+bc9fe59136862b04c10a8e091ff90e9dcd08680a6debddc5321b0bf30efe5cc043f6c7a97c2422f6ee9eb6e19ad7288e4af85115689c62f96413e0e8b99ee5ab assume-no-moving-gc.patch
8407adbc29d90d36550ad16555d0b881d1d1745fba7bf5f4bd4a66bdf4abe196321106881dbba569c7e123d6abfbe78714b6e108b1e3c69b051270c3a46ba5c8 thanos.initd
c1bc9d71828b176eed964d5f673ea5e5d368f25ca21a3b12dcb8f8987f8bf12f35c06849d7fc4e6ffae52d98a5e636bdb63333930fe640c48e4d02a0b8db620a thanos.confd
"
diff --git a/testing/thanos/assume-no-moving-gc.patch b/testing/thanos/assume-no-moving-gc.patch
new file mode 100644
index 00000000000..49be26ea0a5
--- /dev/null
+++ b/testing/thanos/assume-no-moving-gc.patch
@@ -0,0 +1,28 @@
+bumps the version to make sure it works with go 1.20
+
+diff --git a/go.mod b/go.mod
+index c24c2aa..56ef923 100644
+--- a/go.mod
++++ b/go.mod
+@@ -126,7 +126,7 @@ require (
+ golang.org/x/exp v0.0.0-20230124195608-d38c7dcee874
+ )
+
+-require go4.org/unsafe/assume-no-moving-gc v0.0.0-20220617031537-928513b29760 // indirect
++require go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2 // indirect
+
+ require (
+ cloud.google.com/go/compute/metadata v0.2.3 // indirect
+diff --git a/go.sum b/go.sum
+index 05525ba..e6bbdb9 100644
+--- a/go.sum
++++ b/go.sum
+@@ -1026,6 +1026,8 @@ go4.org/intern v0.0.0-20220617035311-6925f38cc365 h1:t9hFvR102YlOqU0fQn1wgwhNvSb
+ go4.org/intern v0.0.0-20220617035311-6925f38cc365/go.mod h1:WXRv3p7T6gzt0CcJm43AAKdKVZmcQbwwC7EwquU5BZU=
+ go4.org/unsafe/assume-no-moving-gc v0.0.0-20220617031537-928513b29760 h1:FyBZqvoA/jbNzuAWLQE2kG820zMAkcilx6BMjGbL/E4=
+ go4.org/unsafe/assume-no-moving-gc v0.0.0-20220617031537-928513b29760/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E=
++go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2 h1:WJhcL4p+YeDxmZWg141nRm7XC8IDmhz7lk5GpadO1Sg=
++go4.org/unsafe/assume-no-moving-gc v0.0.0-20230525183740-e7c30c78aeb2/go.mod h1:FftLjUGFEDu5k8lt0ddY+HcrH/qU/0qk+H8j9/nTl3E=
+ golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+ golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
diff --git a/testing/theforceengine/APKBUILD b/testing/theforceengine/APKBUILD
new file mode 100644
index 00000000000..9a3762bece4
--- /dev/null
+++ b/testing/theforceengine/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=theforceengine
+pkgver=1.09.540
+pkgrel=1
+pkgdesc="Modern rebuild of the Jedi Engine (needs purchased copy of game data files to run)"
+arch="all"
+url="https://theforceengine.github.io/"
+license="GPL-2.0-only"
+makedepends="$depends_dev
+ cmake
+ devil
+ devil-dev
+ glew-dev
+ libunwind-dev
+ rtmidi-dev
+ samurai
+ sdl2-dev
+ sdl2_image-dev
+ "
+source="
+ theforceengine-$pkgver.tar.gz::https://github.com/luciusDXL/TheForceEngine/archive/refs/tags/v$pkgver.tar.gz
+
+ backtrace.patch
+ path_max.patch
+ compilation_32bit_systems.patch
+ "
+subpackages="$pkgname-doc"
+options="!check" # no unit tests provided
+builddir="$srcdir/TheForceEngine-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=RelWithDebInfo \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+doc() {
+ default_doc
+
+ amove usr/share/TheForceEngine/Documentation
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+db69909e6276e1a6a8ed9aad74566d1873970340ee2f49d6bb72b78e3b7c7eb46a6c415a0cff273f464292590cf924c96efe61f6dece73a0f063259772e0d4c0 theforceengine-1.09.540.tar.gz
+6bff94570ec327556b78dd1f967f00ff85c06325f5a017624a33c7b02a03dbf595b6921e7cb164f6556a485dfa5f269617d61213bde84056859c9719ef8c093c backtrace.patch
+d9b59854aa191fd18ff9b9a39f6f7ea1472cc60eb340ef86ef721f9f88a93fe2359eb0ed3b3253c2b44b6f28a2f5bd7bfaef6ec13ad287cadf0cf013ee5042c9 path_max.patch
+b5487f619da23f75babf735f42edfc58611791094135f1dca83c37aca30b6ab0bb138887a38f337237981cba8402e0bacc6a54315700fb9a3b36dae608ed5da3 compilation_32bit_systems.patch
+"
diff --git a/testing/theforceengine/backtrace.patch b/testing/theforceengine/backtrace.patch
new file mode 100644
index 00000000000..9ab6438505e
--- /dev/null
+++ b/testing/theforceengine/backtrace.patch
@@ -0,0 +1,32 @@
+Drop backtracing feature, as it is implemented using using glibc specific
+features.
+
+--- a/TheForceEngine/TFE_System/CrashHandler/crashHandlerLinux.cpp
++++ b/TheForceEngine/TFE_System/CrashHandler/crashHandlerLinux.cpp
+@@ -1,6 +1,5 @@
+ #include <cstring>
+ #include <errno.h>
+-#include <execinfo.h>
+ #include <fcntl.h>
+ #include <inttypes.h>
+ #include <unistd.h>
+@@ -68,18 +67,7 @@
+ TFE_System::logWrite(LOG_ERROR, "CrashHandler", "faulting address %p", siginfo->si_addr);
+ }
+
+- // backtrace() can also segfault; purposefully ignore SEGV before calling it.
+- signal(SIGSEGV, SIG_IGN);
+- entries = backtrace(buf, 512);
+- if (entries) {
+- ents = backtrace_symbols(buf, entries);
+- TFE_System::logWrite(LOG_ERROR, "CrashHandler", "Backtrace %d:", entries);
+- for (i = 0; i < entries; i++) {
+- TFE_System::logWrite(LOG_ERROR, "CrashHandler", "%03d %s", i, ents[i]);
+- }
+- } else {
+- TFE_System::logWrite(LOG_ERROR, "CrashHandler", "no backtrace possible");
+- }
++ TFE_System::logWrite(LOG_ERROR, "CrashHandler", "no backtrace possible");
+
+ // for certain signals, the default handler will create
+ // a coredump if enabled by administrator.
diff --git a/testing/theforceengine/compilation_32bit_systems.patch b/testing/theforceengine/compilation_32bit_systems.patch
new file mode 100644
index 00000000000..2e80cece7d2
--- /dev/null
+++ b/testing/theforceengine/compilation_32bit_systems.patch
@@ -0,0 +1,29 @@
+This fixes compilation on 32 bit systems where `size_t min(size_t, size_t)`
+and `uint32_t min(uint32_t, uint32_t)` is the same signature.
+
+--- a/TheForceEngine/TFE_Jedi/Math/core_math.h
++++ b/TheForceEngine/TFE_Jedi/Math/core_math.h
+@@ -6,6 +6,9 @@
+ #include <TFE_System/types.h>
+ #include "fixedPoint.h"
+ #include "cosTable.h"
++#include <climits>
++#include <cstddef>
++#include <cstdint>
+
+ namespace TFE_Jedi
+ {
+@@ -337,6 +340,7 @@
+ return x - (x >> 1);
+ }
+
++#if SIZE_MAX != UINT32_MAX
+ // Size_t
+ inline size_t min(size_t a, size_t b)
+ {
+@@ -352,4 +356,5 @@
+ {
+ return min(max(x, a), b);
+ }
++#endif
+ }
diff --git a/testing/theforceengine/path_max.patch b/testing/theforceengine/path_max.patch
new file mode 100644
index 00000000000..36e21875a4a
--- /dev/null
+++ b/testing/theforceengine/path_max.patch
@@ -0,0 +1,13 @@
+Fix compilation on ppc64le, where PATH_MAX is provided only if linux/limits.h
+is included directly.
+
+--- a/TheForceEngine/TFE_FileSystem/fileutil-posix.cpp
++++ b/TheForceEngine/TFE_FileSystem/fileutil-posix.cpp
+@@ -8,6 +8,7 @@
+ #include <strings.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
++#include <linux/limits.h>
+ #include <TFE_System/system.h>
+ #include "fileutil.h"
+ #include "filestream.h"
diff --git a/testing/thefuck/APKBUILD b/testing/thefuck/APKBUILD
index b50af86895b..99c8cab3858 100644
--- a/testing/thefuck/APKBUILD
+++ b/testing/thefuck/APKBUILD
@@ -2,13 +2,14 @@
# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
pkgname=thefuck
pkgver=3.32
-pkgrel=0
+pkgrel=3
pkgdesc="The Fuck is a magnificent app that corrects errors in previous console commands."
url="https://github.com/nvbn/thefuck"
arch="noarch"
license="MIT"
depends="py3-colorama py3-six py3-decorator py3-psutil py3-pyte"
makedepends="py3-setuptools"
+subpackages="$pkgname-pyc"
source="thefuck-$pkgver.tar.gz::https://github.com/nvbn/thefuck/archive/$pkgver.tar.gz
"
@@ -21,10 +22,9 @@ build() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
-
sha512sums="
961b9b6dc374cc0b854698455f688cf110adb21cfebd4cb645eb5f1ce11c14de6699bb4d40de86a5f9461273cbfc2eea318a9d437f803dc578dd431966cf26c1 thefuck-3.32.tar.gz
"
diff --git a/testing/thelounge/APKBUILD b/testing/thelounge/APKBUILD
new file mode 100644
index 00000000000..a08de3acb06
--- /dev/null
+++ b/testing/thelounge/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: Kay Thomas <kaythomas@pm.me>
+# Maintainer: Kay Thomas <kaythomas@pm.me>
+pkgname=thelounge
+pkgver=4.4.1
+pkgrel=0
+pkgdesc="Modern, responsive, cross-platform, self-hosted web IRC client"
+url="https://thelounge.chat"
+# x86: textrels
+# s390x: fails to check
+# riscv64: fails to build
+arch="all !x86 !s390x !riscv64"
+license="MIT"
+depends="nodejs"
+makedepends="yarn npm python3"
+subpackages="$pkgname-openrc"
+pkgusers="thelounge"
+pkggroups="thelounge"
+install="$pkgname.pre-install $pkgname.post-install"
+source="$pkgname-$pkgver.tar.gz::https://github.com/thelounge/thelounge/archive/v$pkgver.tar.gz
+ no-version-test.patch
+ thelounge.initd
+ "
+options="net" # npm
+
+prepare() {
+ default_prepare
+
+ yarn install --frozen-lockfile
+}
+
+build() {
+ NODE_ENV=production yarn run build
+}
+
+check() {
+ CI=yes yarn run test:mocha
+}
+
+package() {
+ yarn install --production --ignore-scripts --prefer-offline
+ NODE_ENV=production npm install --unsafe-perm -g --prefix "$pkgdir"/usr
+
+ # Remove incorrect symlink, copy correct files
+ rm "$pkgdir"/usr/lib/node_modules/thelounge
+ mkdir -p "$pkgdir"/usr/lib/node_modules/thelounge
+ cp -a index.js client public node_modules dist package.json "$pkgdir"/usr/lib/node_modules/thelounge/
+
+ # cleanup unused files
+ find "$pkgdir" -type f -a \( \
+ -name "*.ts" \
+ -o -name "webpack*" \
+ -o -name "tsconfig*" \
+ -o -name "babel.config*" \
+ -o -name "README*" \
+ -o -name "CHANGELOG*" \
+ -o -name "*.map" \
+ -o -name "LICENSE" \
+ \) \
+ -delete
+
+ # Set home location
+ echo /var/lib/thelounge > \
+ "$pkgdir"/usr/lib/node_modules/$pkgname/.thelounge_home
+
+ # Add default config
+ # this is only read from 'home' so we have to just put everything in var/lib
+ install -dm755 -o thelounge -g thelounge \
+ "$pkgdir"/var/lib/thelounge
+ install -m644 -o thelounge -g thelounge \
+ "$pkgdir"/usr/lib/node_modules/$pkgname/dist/defaults/config.js \
+ "$pkgdir"/var/lib/thelounge/config.js
+
+ install -Dm755 "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+}
+
+sha512sums="
+7695121a713a23688bc6f52dae2574bab1288eea930fd50d4dd85037233e9f23bd8e460980c69cdd14ea8648da4720d84e8196547b6a18e69d2f478b43d6e29a thelounge-4.4.1.tar.gz
+cbf80e23b0af8f0185699d6b03816c645c51b85fff7f163d3cd3d00296ed816b6ab01529b359fbfd549a79e8adb72bbc83bc7a389cf13e0afd50636ff79a138e no-version-test.patch
+f367d27ebcc412ff03c12ae98e50aeae5051fb5ffa9da6220f664c59993ed0e330b55b3b41fe941d546634901163d006e318891b4b886f6c49a93e0888fccd3e thelounge.initd
+"
diff --git a/testing/thelounge/no-version-test.patch b/testing/thelounge/no-version-test.patch
new file mode 100644
index 00000000000..dfae092df1f
--- /dev/null
+++ b/testing/thelounge/no-version-test.patch
@@ -0,0 +1,19 @@
+diff --git a/test/src/helperTest.ts b/test/src/helperTest.ts
+index 2a8ddc8..22f0532 100644
+--- a/test/src/helperTest.ts
++++ b/test/src/helperTest.ts
+@@ -40,14 +40,6 @@ describe("Helper", function () {
+ describe("#getVersion()", function () {
+ const version = Helper.getVersion();
+
+- it("should mention it is served from source code", function () {
+- expect(version).to.include("source");
+- });
+-
+- it("should include a short Git SHA", function () {
+- expect(version).to.match(/\([0-9a-f]{7,11} /);
+- });
+-
+ it("should include a valid semver version", function () {
+ expect(version).to.match(/v[0-9]+\.[0-9]+\.[0-9]+/);
+ });
diff --git a/testing/thelounge/thelounge.initd b/testing/thelounge/thelounge.initd
new file mode 100644
index 00000000000..b10d1c5f8c3
--- /dev/null
+++ b/testing/thelounge/thelounge.initd
@@ -0,0 +1,14 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+name="thelounge"
+command="/usr/bin/thelounge"
+command_args="start"
+command_user="thelounge:thelounge"
+command_background=true
+pidfile="/run/thelounge.pid"
+
+depend() {
+ need net localmount
+ after firewall
+}
diff --git a/testing/thelounge/thelounge.post-install b/testing/thelounge/thelounge.post-install
new file mode 100644
index 00000000000..16517802442
--- /dev/null
+++ b/testing/thelounge/thelounge.post-install
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+cat >&2 <<-EOF
+*
+* The configuration is in /var/lib/thelounge/config.js.
+* To add users, use the cli:
+* doas -u thelounge thelounge ..
+* e.g.
+* doas -u thelounge thelounge add myuser
+*
+EOF
+
+exit 0
diff --git a/testing/thelounge/thelounge.pre-install b/testing/thelounge/thelounge.pre-install
new file mode 100644
index 00000000000..b91b1ef060c
--- /dev/null
+++ b/testing/thelounge/thelounge.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S thelounge 2>/dev/null
+adduser -S -D -H -s /sbin/nologin -G thelounge -g thelounge thelounge 2>/dev/null
+
+exit 0
diff --git a/testing/theme.sh/APKBUILD b/testing/theme.sh/APKBUILD
new file mode 100644
index 00000000000..088a7cb4988
--- /dev/null
+++ b/testing/theme.sh/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=theme.sh
+pkgver=1.1.5
+pkgrel=0
+pkgdesc="Script to change the terminal theme"
+url="https://github.com/lemnos/theme.sh"
+arch="noarch"
+license="MIT"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/lemnos/theme.sh/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ make all
+}
+
+check() {
+ # Check that is runs okay:
+ ./bin/theme.sh -l > /dev/null
+}
+
+package() {
+ install -Dm 755 bin/theme.sh "$pkgdir/usr/bin/theme.sh"
+ install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/theme.sh/LICENSE"
+}
+
+sha512sums="
+819b6154d70f4539e815072ed7da3c2d413301f4c721721e246331d95ceb0e83fbcdbc8b9853477397a0437519aef461dfed726de4910572fa2d26834d6f1ac1 theme.sh-1.1.5.tar.gz
+"
diff --git a/testing/thermald/APKBUILD b/testing/thermald/APKBUILD
index 9fe0a4795d0..e4eac61e00c 100644
--- a/testing/thermald/APKBUILD
+++ b/testing/thermald/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: mellotron <mellotron@tutanota.com>
-# Maintainer:
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
pkgname=thermald
_pkgname=thermal_daemon
-pkgver=2.4.7
+pkgver=2.5.6
pkgrel=0
pkgdesc="Thermal daemon for IA"
url="https://github.com/intel/thermal_daemon"
@@ -42,6 +42,6 @@ package() {
}
sha512sums="
-26b09a18d40812705d277416752f7afd0962f0562d9701c9072140089b869c328f6b0caaa08744a660cd83b6a0313098a07aef11e1a2b371a81d2e8014c38887 thermald-2.4.7.tar.gz
+d039e4bd4ed203caf786c8090c27910b5b5f3886e8e4d160d6347bb2b8c1d6aaaca14958ee91ad4aedb02e67f8a6403805719bf07d55f03fe1f28f3e4378ae73 thermald-2.5.6.tar.gz
ea8964b15fdebc2fb59e93c15b813b93691c2ba01689ac6080f1308a3063b23cba56b4539ccae87575689036f74300a1c22c9b0e77d4ecef9bc08198d7fe4892 thermald.initd
"
diff --git a/testing/thumbdrives/APKBUILD b/testing/thumbdrives/APKBUILD
index 81035630e79..9a368a3edd1 100644
--- a/testing/thumbdrives/APKBUILD
+++ b/testing/thumbdrives/APKBUILD
@@ -1,23 +1,25 @@
# Maintainer: Martijn Braam <martijn@brixit.nl>
pkgname=thumbdrives
-pkgver=0.3.1
-pkgrel=1
+pkgver=0.3.2
+pkgrel=0
pkgdesc="Mass storage and iso emulator"
url="https://git.sr.ht/~martijnbraam/thumbdrives"
arch="noarch"
license="MIT"
depends="python3 py3-gobject3 py3-xdg py3-setuptools gtk+3.0 libhandy"
-makedepends="py3-setuptools glib-dev libhandy-dev meson ninja"
+makedepends="glib-dev libhandy-dev meson ninja"
source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~martijnbraam/thumbdrives/archive/$pkgver.tar.gz"
options="!check" # There's no testsuite
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-sha512sums="3d4d901975ef1f3ccda6df9a371944702f28ba4590ab9b3758f53b2f38bd5aa666660d720428836f99c6a7adb6333399e3991c6a641273f72fa9c4e0ec2362b2 thumbdrives-0.3.1.tar.gz"
+sha512sums="
+1594a303e375ca489fbe671e6917013c6d32239d8dfe325616ba94da81ca95cbe82fe0cb719f91a0f78e1b18d59713048899442749ead0a0cdd29508a0bea1d6 thumbdrives-0.3.2.tar.gz
+"
diff --git a/testing/thunarx-python/APKBUILD b/testing/thunarx-python/APKBUILD
new file mode 100644
index 00000000000..93f01145d73
--- /dev/null
+++ b/testing/thunarx-python/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Saijin-Naib <2107-Saijin-Naib@users.gitlab.alpinelinux.org>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
+pkgname=thunarx-python
+pkgver=0.5.2
+pkgrel=2
+pkgdesc="Python bindings for the Thunar Extension Framework"
+url="https://wiki.xfce.org/thunarx-python"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="gtk-doc python3-dev py3-gobject3-dev thunar-dev"
+subpackages="$pkgname-doc"
+source="https://archive.xfce.org/src/bindings/thunarx-python/${pkgver%.*}/thunarx-python-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
+ make
+}
+
+# Run in-built tests as per the INSTALL instructions
+check() {
+ make check
+ make installcheck
+}
+
+package() {
+ make install DESTDIR="$pkgdir"
+}
+sha512sums="
+49d009c84d69f0a1938ed6cb46fe04326c7323edecd79f6d9978ce2306fb95f20c901174f1cea31d5e436c85537efcb79c8613be857a3e4143f7b55b895616b6 thunarx-python-0.5.2.tar.bz2
+"
diff --git a/testing/thunderbird/APKBUILD b/testing/thunderbird/APKBUILD
deleted file mode 100644
index 5376f23883b..00000000000
--- a/testing/thunderbird/APKBUILD
+++ /dev/null
@@ -1,442 +0,0 @@
-# Contributor: Joseph Benden <joe@benden.us>
-# Maintainer: Joseph Benden <joe@benden.us>
-pkgname=thunderbird
-pkgver=91.5.0
-pkgrel=0
-pkgdesc="Thunderbird email client"
-url="https://www.thunderbird.net/"
-# Limited on:
-# armhf: build failure on armhf due to wasm
-# s390x and riscv64: limited by rust and cargo
-# s390x: limited by pipewire
-arch="all !armhf !s390x !riscv64"
-license="GPL-3.0-or-later AND LGPL-2.1-or-later AND MPL-2.0"
-options="!check"
-makedepends="
- alsa-lib-dev
- automake
- botan-dev
- bsd-compat-headers
- cargo
- cbindgen
- clang-dev
- dbus-glib-dev
- ffmpeg-dev
- gettext
- gtk+3.0-dev
- hunspell-dev
- icu-dev
- json-c-dev
- libevent-dev
- libffi-dev
- libidl-dev
- libjpeg-turbo-dev
- libnotify-dev
- libogg-dev
- libtheora-dev
- libtool
- libvorbis-dev
- libvpx-dev
- libwebp-dev
- libxcomposite-dev
- libxt-dev
- llvm-dev
- m4
- mesa-dev
- nasm
- nodejs
- nspr-dev
- nss-dev
- nss-static
- openmp
- pipewire-dev
- pulseaudio-dev
- python3
- sed
- wireless-tools-dev
- yasm
- zip
- "
-source="https://ftp.mozilla.org/pub/thunderbird/releases/$pkgver/source/thunderbird-$pkgver.source.tar.xz
- stab.h
-
- fix-fortify-system-wrappers.patch
- fix-tools.patch
- mallinfo.patch
-
- disable-moz-stackwalk.patch
- fix-rust-target.patch
- fix-webrtc-glibcisms.patch
- allow-custom-rust-vendor.patch
-
- disable-neon-in-aom.patch
- sandbox-fork.patch
- sandbox-sched_setscheduler.patch
- sandbox-largefile.patch
-
- avoid-redefinition.patch
-
- thunderbird.desktop
- mozwayland-add-missing-stub.patch
- "
-
-# secfixes:
-# 91.5.0-r0:
-# - CVE-2021-4140
-# - CVE-2022-22737
-# - CVE-2022-22738
-# - CVE-2022-22739
-# - CVE-2022-22740
-# - CVE-2022-22741
-# - CVE-2022-22742
-# - CVE-2022-22743
-# - CVE-2022-22744
-# - CVE-2022-22745
-# - CVE-2022-22746
-# - CVE-2022-22747
-# - CVE-2022-22748
-# - CVE-2022-22751
-# 91.4.1-r0:
-# - CVE-2021-4126
-# - CVE-2021-44538
-# 91.4.0-r0:
-# - CVE-2021-4129
-# - CVE-2021-43528
-# - CVE-2021-43536
-# - CVE-2021-43537
-# - CVE-2021-43538
-# - CVE-2021-43539
-# - CVE-2021-43541
-# - CVE-2021-43542
-# - CVE-2021-43543
-# - CVE-2021-43545
-# - CVE-2021-43546
-# 91.3.2-r0:
-# - CVE-2021-23961
-# - CVE-2021-23994
-# - CVE-2021-23995
-# - CVE-2021-23998
-# - CVE-2021-23999
-# - CVE-2021-24002
-# - CVE-2021-29945
-# - CVE-2021-29946
-# - CVE-2021-29948
-# - CVE-2021-29951
-# - CVE-2021-29956
-# - CVE-2021-29957
-# - CVE-2021-29964
-# - CVE-2021-29967
-# - CVE-2021-29969
-# - CVE-2021-29970
-# - CVE-2021-29976
-# - CVE-2021-29980
-# - CVE-2021-29980
-# - CVE-2021-29981
-# - CVE-2021-29982
-# - CVE-2021-29984
-# - CVE-2021-29985
-# - CVE-2021-29986
-# - CVE-2021-29987
-# - CVE-2021-29988
-# - CVE-2021-29989
-# - CVE-2021-29991
-# - CVE-2021-30547
-# - CVE-2021-32810
-# - CVE-2021-38492
-# - CVE-2021-38493
-# - CVE-2021-38495
-# - CVE-2021-38496
-# - CVE-2021-38497
-# - CVE-2021-38498
-# - CVE-2021-38500
-# - CVE-2021-38501
-# - CVE-2021-38502
-# - CVE-2021-38503
-# - CVE-2021-38504
-# - CVE-2021-38505
-# - CVE-2021-38506
-# - CVE-2021-38507
-# - CVE-2021-38508
-# - CVE-2021-38509
-# - CVE-2021-38510
-# - CVE-2021-43534
-# - CVE-2021-43535
-# 78.9.0-r0:
-# - CVE-2021-23968
-# - CVE-2021-23969
-# - CVE-2021-23973
-# - CVE-2021-23978
-# - CVE-2021-23981
-# - CVE-2021-23982
-# - CVE-2021-23984
-# - CVE-2021-23987
-# 78.7.0-r0:
-# - CVE-2020-15685
-# - CVE-2020-26976
-# - CVE-2021-23953
-# - CVE-2021-23954
-# - CVE-2021-23960
-# - CVE-2021-23964
-# 78.6.1-r0:
-# - CVE-2020-16044
-# - CVE-2020-16042
-# - CVE-2020-26971
-# - CVE-2020-26973
-# - CVE-2020-26974
-# - CVE-2020-26978
-# - CVE-2020-35111
-# - CVE-2020-35112
-# - CVE-2020-35113
-# 78.5.1-r0:
-# - CVE-2020-15683
-# - CVE-2020-15969
-# - CVE-2020-15999
-# - CVE-2020-16012
-# - CVE-2020-26950
-# - CVE-2020-26951
-# - CVE-2020-26953
-# - CVE-2020-26956
-# - CVE-2020-26958
-# - CVE-2020-26959
-# - CVE-2020-26960
-# - CVE-2020-26961
-# - CVE-2020-26965
-# - CVE-2020-26966
-# - CVE-2020-26968
-# - CVE-2020-26970
-# 68.10.0-r0:
-# - CVE-2020-12417
-# - CVE-2020-12418
-# - CVE-2020-12419
-# - CVE-2020-12420
-# - CVE-2020-12421
-# 68.9.0-r0:
-# - CVE-2020-12398
-# - CVE-2020-12399
-# - CVE-2020-12405
-# - CVE-2020-12406
-# - CVE-2020-12410
-# 68.8.0-r0:
-# - CVE-2020-12387
-# - CVE-2020-12392
-# - CVE-2020-12393
-# - CVE-2020-12395
-# - CVE-2020-12397
-# - CVE-2020-6831
-# 68.7.0-r0:
-# - CVE-2020-6819
-# - CVE-2020-6820
-# - CVE-2020-6821
-# - CVE-2020-6822
-# - CVE-2020-6825
-# 68.6.0-r0:
-# - CVE-2019-20503
-# - CVE-2020-6805
-# - CVE-2020-6806
-# - CVE-2020-6807
-# - CVE-2020-6811
-# - CVE-2020-6812
-# - CVE-2020-6814
-# 68.5.0-r0:
-# - CVE-2020-6793
-# - CVE-2020-6794
-# - CVE-2020-6795
-# - CVE-2020-6797
-# - CVE-2020-6798
-# - CVE-2020-6792
-# - CVE-2020-6800
-
-_mozappdir=/usr/lib/thunderbird
-
-# help our shared-object scanner to find the libs
-ldpath="$_mozappdir"
-sonameprefix="$pkgname:"
-
-# we need this because cargo verifies checksums of all files in vendor
-# crates when it builds and gives us no way to override or update the
-# file sanely... so just clear out the file list
-_clear_vendor_checksums() {
- sed -i 's/\("files":{\)[^}]*/\1/' third_party/rust/$1/.cargo-checksum.json
-}
-
-prepare() {
- default_prepare
- cp "$srcdir"/stab.h toolkit/crashreporter/google-breakpad/src/
-
- _clear_vendor_checksums audio_thread_priority
- _clear_vendor_checksums target-lexicon-0.9.0
-}
-
-build() {
- mkdir -p "$builddir"/objdir
- cd "$builddir"/objdir
-
- export SHELL=/bin/sh
- export BUILD_OFFICIAL=1
- export MOZILLA_OFFICIAL=1
- export USE_SHORT_LIBNAME=1
- export MACH_USE_SYSTEM_PYTHON=1
- export MOZBUILD_STATE_PATH="$srcdir"/mozbuild
- # Find our triplet JSON
- export RUST_TARGET="$CTARGET"
- # Build with Clang, takes less RAM
- export CC="clang"
- export CXX="clang++"
-
- # set rpath so linker finds the libs
- export LDFLAGS="$LDFLAGS -Wl,-rpath,$_mozappdir"
-
- case "$CARCH" in
- arm*|x86*)
- # disable-elf-hack: exists only on arm, x86, x86_64
- _arch_config="--disable-elf-hack"
- ;;
- esac
-
- # FF doesn't have SIMD available on these arches.
- case "$CARCH" in
- armhf|armv7)
- _rust_simd="--disable-rust-simd"
- _low_mem_flags="--disable-debug-symbols --disable-debug"
- export RUSTFLAGS="$RUSTFLAGS -C debuginfo=0"
- ;;
- x86)
- _low_mem_flags="--disable-debug-symbols --disable-debug"
- export RUSTFLAGS="$RUSTFLAGS -C debuginfo=0"
- ;;
- *) _rust_simd="--enable-rust-simd" ;;
- esac
-
- ../mach configure \
- --prefix=/usr \
- $_arch_config \
- $_low_mem_flags \
- $_rust_simd \
- \
- --disable-crashreporter \
- --disable-gold \
- --disable-install-strip \
- --disable-jemalloc \
- --disable-profiling \
- --disable-strip \
- --disable-tests \
- --disable-updater \
- \
- --enable-alsa \
- --enable-application=comm/mail \
- --enable-dbus \
- --enable-default-toolkit=cairo-gtk3-wayland \
- --enable-ffmpeg \
- --enable-hardening \
- --enable-necko-wifi \
- --enable-official-branding \
- --enable-openpgp \
- --enable-optimize="$CFLAGS -O2" \
- --enable-pulseaudio \
- --enable-release \
- --enable-smoosh \
- --enable-system-ffi \
- --enable-system-pixman \
- \
- --with-system-botan \
- --with-system-ffi \
- --with-system-icu \
- --with-system-jpeg \
- --with-system-jsonc \
- --with-system-libevent \
- --with-system-libvpx \
- --with-system-nspr \
- --with-system-nss \
- --with-system-pixman \
- --with-system-png \
- --with-system-webp \
- --with-system-zlib \
- --with-distribution-id=org.alpinelinux \
- --with-clang-path=/usr/bin/clang \
- --with-libclang-path=/usr/lib
- ../mach build
-}
-
-package() {
- cd "$builddir"/objdir
-
- DESTDIR="$pkgdir" MOZ_MAKE_FLAGS="$MAKEOPTS" ../mach install
-
- install -m755 -d "$pkgdir"/usr/share/applications
- install -m755 -d "$pkgdir"/usr/share/pixmaps
-
- local _png
- for _png in "$builddir"/comm/mail/branding/thunderbird/default*.png; do
- local i=${_png%.png}
- i=${i##*/default}
- install -D -m644 "$_png" "$pkgdir"/usr/share/icons/hicolor/"$i"x"$i"/apps/thunderbird.png
- done
-
- install -Dm644 "$builddir"/comm/mail/branding/thunderbird/TB-symbolic.svg \
- "$pkgdir/usr/share/icons/hicolor/symbolic/apps/thunderbird-symbolic.svg"
- install -Dm644 "$builddir"/comm/mail/branding/thunderbird/default48.png \
- $pkgdir/usr/share/pixmaps/$pkgname.png
-
- install -m644 "$srcdir"/thunderbird.desktop "$pkgdir"/usr/share/applications/thunderbird.desktop
-
- # Add StartupWMClass=firefox on the .desktop files so Desktop Environments
- # correctly associate the window with their icon, the correct fix is to have
- # thunderbird sets its own AppID but this will work for the meantime
- # See: https://bugzilla.mozilla.org/show_bug.cgi?id=1607399
- echo "StartupWMClass=thunderbird" >> "$pkgdir"/usr/share/applications/thunderbird.desktop
-
- # install our vendor prefs
- install -d "$pkgdir"/$_mozappdir/defaults/preferences
-
- cat >> "$pkgdir"/$_mozappdir/defaults/preferences/vendor.js <<- EOF
- // Use LANG environment variable to choose locale
- pref("intl.locale.requested", "");
-
- // Use system-provided dictionaries
- pref("spellchecker.dictionary_path", "/usr/share/hunspell");
-
- // Disable default mailer checking.
- pref("mail.shell.checkDefaultMail", false);
-
- // Don't disable our bundled extensions in the application directory
- pref("extensions.autoDisableScopes", 11);
- pref("extensions.shownSelectionUI", true);
- EOF
-
- install -d "$pkgdir"/$_mozappdir/distribution
-
- cat >> "$pkgdir"/$_mozappdir/distribution/distribution.ini <<- EOF
- [Global]
- id=alpinelinux
- version=1.0
- about=Mozilla Thunderbird for Alpine Linux
-
- [Preferences]
- app.distributor=alpinelinux
- app.distributor.channel=$pkgname
- app.partner.alpinelinux=alpinelinux
- EOF
-
- # Replace duplicate binary with wrapper
- # https://bugzilla.mozilla.org/show_bug.cgi?id=658850
- ln -snf thunderbird "$pkgdir/$_mozappdir/thunderbird-bin"
-}
-
-sha512sums="
-e1cafbd99e67e8fef346e936890a22aeadded4aa8be604607535ae933251bc1b2a3b56c2b62045b3d37ecb09999adb746157df188d1a32dfe75685f3af959b7d thunderbird-91.5.0.source.tar.xz
-0b3f1e4b9fdc868e4738b5c81fd6c6128ce8885b260affcb9a65ff9d164d7232626ce1291aaea70132b3e3124f5e13fef4d39326b8e7173e362a823722a85127 stab.h
-2f4f15974d52de4bb273b62a332d13620945d284bbc6fe6bd0a1f58ff7388443bc1d3bf9c82cc31a8527aad92b0cd3a1bc41d0af5e1800e0dcbd7033e58ffd71 fix-fortify-system-wrappers.patch
-4510fb92653d0fdcfbc6d30e18087c0d22d4acd5eb53be7d0a333abe087a9e0bf9e58e56bafe96e1e1b28ebd1fd33b8926dbb70c221007e335b33d1468755c66 fix-tools.patch
-a4a3e062661bda64d502d426c480ac9645345860118de9df9ffe6e0597738c70c11e5cdef2d4fd12c5e2ee30a09310159230524655a419a4f7e4eeeb0f3c06b0 mallinfo.patch
-454ea3263cabce099accbdc47aaf83be26a19f8b5a4568c01a7ef0384601cf8315efd86cd917f9c8bf419c2c845db89a905f3ff9a8eb0c8e41042e93aa96a85c disable-moz-stackwalk.patch
-cd68b89e29e5f6379fbd5679db27b9a5ef70ea65e51c0d0a8137e1f1fd210e35a8cfb047798e9549bc7275606d7ec5c8d8af1335d29da4699db7acd8bc7ff556 fix-rust-target.patch
-47c2c2428c3598a42f6241705179642b3378a86ace39c8c3cbef4954e6d220b42e6c76f3d71731d65f67ce2c8597259122ac44bbd45e20993bb8bc70c0c8a010 fix-webrtc-glibcisms.patch
-4e584621145cf8add069c6dac18e805b3274a1ee402d84e924df2341f7d3c5be261a93ef51283bacbd606f47fbdc628c4323ecc31efc5b403b8d224b18dc278f allow-custom-rust-vendor.patch
-55eab1a02e19a19a1ee0e36b11097ab48a44200e07e543d91469967206854f39709c7c0bc31855559528e64642d610868140e9533f1c0e3bebc953353c142fa8 disable-neon-in-aom.patch
-2518f2fc75b5db30058e0735f47d60fdf1e7adfaeee4b33fb2afb1bd9a616ce943fd88f4404d0802d4083703f4acf1d5ad42377218d025bc768807fbaf7e1609 sandbox-fork.patch
-db26757b2ebf9f567962e32294b4ae48b3a5d0378a7589dfe650fe3a179ff58befbab5082981c68e1c25fb9e56b2db1e4e510d4bca17c3e3aedbf9a2f21806eb sandbox-sched_setscheduler.patch
-b7d0a6126bdf6c0569f80aabf5b37ed2c7a35712eb8a0404a2d85381552f5555d4f97d213ea26cec6a45dc2785f22439376ed5f8e78b4fd664ef0223307b333e sandbox-largefile.patch
-b1cb2db3122634f66d2bae7066e76f2dcd455c464e021db4de3b0a08314df95cb667846081682db549dd2af8a00831cabe44a2420c66cdfb5e3b5fa7e6bd21d3 avoid-redefinition.patch
-95a2b1deb4f6c90750fdd2bfe8ca0a7879a5b267965091705a6beb0a0a4b1ccad75d11df7b9885543ca4232ff704e975c6946f4c11804cb71c471e06f9576001 thunderbird.desktop
-8c303539829a5c9ada43c8b03a9eae37fad68fcbc78deb3129857bfe852f582357efdaf8f506944394a97bef23cc89fefc00f3edf633edfcdd007a75dad8d746 mozwayland-add-missing-stub.patch
-"
diff --git a/testing/thunderbird/allow-custom-rust-vendor.patch b/testing/thunderbird/allow-custom-rust-vendor.patch
deleted file mode 100644
index 218650f4111..00000000000
--- a/testing/thunderbird/allow-custom-rust-vendor.patch
+++ /dev/null
@@ -1,564 +0,0 @@
-From a5a3db2d32ff1d359aef5ec586b91164570c1685 Mon Sep 17 00:00:00 2001
-From: Dan Gohman <sunfish@mozilla.com>
-Date: Tue, 5 Nov 2019 09:56:15 -0800
-Subject: [PATCH 1/7] Support custom vendor strings.
-
-Add support for custom vendors, as in "x86_64-gentoo-linux-musl".
-
-Fixes #33.
----
- src/targets.rs | 108 ++++++++++++++++++++++++++++++++++++++++++++++++-
- src/triple.rs | 4 --
- 2 files changed, 106 insertions(+), 6 deletions(-)
-
-diff --git a/src/targets.rs b/src/targets.rs
-index 6ae570e..90b2736 100644
---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-@@ -1,6 +1,8 @@
- // This file defines all the identifier enums and target-aware logic.
-
- use crate::triple::{Endianness, PointerWidth, Triple};
-+use alloc::boxed::Box;
-+use alloc::string::String;
- use core::fmt;
- use core::str::FromStr;
-
-@@ -292,7 +294,7 @@ impl Aarch64Architecture {
-
- /// The "vendor" field, which in practice is little more than an arbitrary
- /// modifier.
--#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
-+#[derive(Clone, Debug, PartialEq, Eq, Hash)]
- #[allow(missing_docs)]
- pub enum Vendor {
- Unknown,
-@@ -306,6 +308,15 @@ pub enum Vendor {
- Sun,
- Uwp,
- Wrs,
-+
-+ /// A custom vendor. "Custom" in this context means that the vendor is
-+ /// not specifically recognized by upstream Autotools, LLVM, Rust, or other
-+ /// relevant authorities on triple naming. It's useful for people building
-+ /// and using locally patched toolchains.
-+ ///
-+ /// Outside of such patched environments, users of `target-lexicon` should
-+ /// treat `Custom` the same as `Unknown` and ignore the string.
-+ Custom(Box<String>),
- }
-
- /// The "operating system" field, which sometimes implies an environment, and
-@@ -717,6 +728,7 @@ impl fmt::Display for Vendor {
- Vendor::Sun => "sun",
- Vendor::Uwp => "uwp",
- Vendor::Wrs => "wrs",
-+ Vendor::Custom(ref name) => name,
- };
- f.write_str(s)
- }
-@@ -738,7 +750,46 @@ impl FromStr for Vendor {
- "sun" => Vendor::Sun,
- "uwp" => Vendor::Uwp,
- "wrs" => Vendor::Wrs,
-- _ => return Err(()),
-+ custom => {
-+ use alloc::borrow::ToOwned;
-+
-+ // A custom vendor. Since triple syntax is so loosely defined,
-+ // be as conservative as we can to avoid potential ambiguities.
-+ // We err on the side of being too strict here, as we can
-+ // always relax it if needed.
-+
-+ // Don't allow empty string names.
-+ if custom.is_empty() {
-+ return Err(());
-+ }
-+
-+ // Don't allow any other recognized name as a custom vendor,
-+ // since vendors can be omitted in some contexts.
-+ if Architecture::from_str(custom).is_ok()
-+ || OperatingSystem::from_str(custom).is_ok()
-+ || Environment::from_str(custom).is_ok()
-+ || BinaryFormat::from_str(custom).is_ok()
-+ {
-+ return Err(());
-+ }
-+
-+ // Require the first character to be an ascii lowercase.
-+ if !custom.chars().nth(0).unwrap().is_ascii_lowercase() {
-+ return Err(());
-+ }
-+
-+ // Restrict the set of characters permitted in a custom vendor.
-+ if custom
-+ .find(|c: char| {
-+ !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.')
-+ })
-+ .is_some()
-+ {
-+ return Err(());
-+ }
-+
-+ Vendor::Custom(Box::new(custom.to_owned()))
-+ }
- })
- }
- }
-@@ -1120,4 +1171,57 @@ mod tests {
- assert_eq!(t.environment, Environment::Eabihf);
- assert_eq!(t.binary_format, BinaryFormat::Elf);
- }
-+
-+ #[test]
-+ fn custom_vendors() {
-+ assert!(Triple::from_str("x86_64--linux").is_err());
-+ assert!(Triple::from_str("x86_64-42-linux").is_err());
-+ assert!(Triple::from_str("x86_64-__customvendor__-linux").is_err());
-+ assert!(Triple::from_str("x86_64-^-linux").is_err());
-+ assert!(Triple::from_str("x86_64- -linux").is_err());
-+ assert!(Triple::from_str("x86_64-CustomVendor-linux").is_err());
-+ assert!(Triple::from_str("x86_64-linux-linux").is_err());
-+ assert!(Triple::from_str("x86_64-x86_64-linux").is_err());
-+ assert!(Triple::from_str("x86_64-elf-linux").is_err());
-+ assert!(Triple::from_str("x86_64-gnu-linux").is_err());
-+ assert!(Triple::from_str("x86_64-linux-customvendor").is_err());
-+ assert!(Triple::from_str("customvendor").is_err());
-+ assert!(Triple::from_str("customvendor-x86_64").is_err());
-+ assert!(Triple::from_str("x86_64-").is_err());
-+ assert!(Triple::from_str("x86_64--").is_err());
-+
-+ let t = Triple::from_str("x86_64-customvendor-linux")
-+ .expect("can't parse target with custom vendor");
-+ assert_eq!(t.architecture, Architecture::X86_64);
-+ assert_eq!(
-+ t.vendor,
-+ Vendor::Custom(Box::new(String::from_str("customvendor").unwrap()))
-+ );
-+ assert_eq!(t.operating_system, OperatingSystem::Linux);
-+ assert_eq!(t.environment, Environment::Unknown);
-+ assert_eq!(t.binary_format, BinaryFormat::Elf);
-+ assert_eq!(t.to_string(), "x86_64-customvendor-linux");
-+
-+ let t = Triple::from_str("x86_64-customvendor")
-+ .expect("can't parse target with custom vendor");
-+ assert_eq!(t.architecture, Architecture::X86_64);
-+ assert_eq!(
-+ t.vendor,
-+ Vendor::Custom(Box::new(String::from_str("customvendor").unwrap()))
-+ );
-+ assert_eq!(t.operating_system, OperatingSystem::Unknown);
-+ assert_eq!(t.environment, Environment::Unknown);
-+ assert_eq!(t.binary_format, BinaryFormat::Unknown);
-+
-+ assert_eq!(
-+ Triple::from_str("unknown-foo"),
-+ Ok(Triple {
-+ architecture: Architecture::Unknown,
-+ vendor: Vendor::Custom(Box::new(String::from_str("foo").unwrap())),
-+ operating_system: OperatingSystem::Unknown,
-+ environment: Environment::Unknown,
-+ binary_format: BinaryFormat::Unknown,
-+ })
-+ );
-+ }
- }
-diff --git a/src/triple.rs b/src/triple.rs
-index 36dcd9a..1abda26 100644
---- a/third_party/rust/target-lexicon.0.9.0/src/triple.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/src/triple.rs
-@@ -322,10 +322,6 @@ mod tests {
- Triple::from_str("foo"),
- Err(ParseError::UnrecognizedArchitecture("foo".to_owned()))
- );
-- assert_eq!(
-- Triple::from_str("unknown-foo"),
-- Err(ParseError::UnrecognizedVendor("foo".to_owned()))
-- );
- assert_eq!(
- Triple::from_str("unknown-unknown-foo"),
- Err(ParseError::UnrecognizedOperatingSystem("foo".to_owned()))
-
-From 6f90d7274dce4e7f9bb120f6b36cf26881bde9a7 Mon Sep 17 00:00:00 2001
-From: Dan Gohman <sunfish@mozilla.com>
-Date: Tue, 5 Nov 2019 10:33:56 -0800
-Subject: [PATCH 2/7] Add more tests.
-
----
- src/targets.rs | 30 ++++++++++++++++++++++++++++--
- 1 file changed, 28 insertions(+), 2 deletions(-)
-
-diff --git a/src/targets.rs b/src/targets.rs
-index 90b2736..7d1f069 100644
---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-@@ -1174,6 +1174,7 @@ mod tests {
-
- #[test]
- fn custom_vendors() {
-+ // Test various invalid cases.
- assert!(Triple::from_str("x86_64--linux").is_err());
- assert!(Triple::from_str("x86_64-42-linux").is_err());
- assert!(Triple::from_str("x86_64-__customvendor__-linux").is_err());
-@@ -1190,6 +1191,31 @@ mod tests {
- assert!(Triple::from_str("x86_64-").is_err());
- assert!(Triple::from_str("x86_64--").is_err());
-
-+ // Test various Unicode things.
-+ assert!(
-+ Triple::from_str("x86_64-ð“¬ð“¾ð“¼ð“½ð“¸ð“¶ð“¿ð“®ð“·ð“­ð“¸ð“»-linux").is_err(),
-+ "unicode font hazard"
-+ );
-+ assert!(
-+ Triple::from_str("x86_64-ćúśtőḿvéńdőŕ-linux").is_err(),
-+ "diacritical mark stripping hazard"
-+ );
-+ assert!(
-+ Triple::from_str("x86_64-customvendοr-linux").is_err(),
-+ "homoglyph hazard"
-+ );
-+ assert!(Triple::from_str("x86_64-customvendor-linux").is_ok());
-+ assert!(
-+ Triple::from_str("x86_64-ffi-linux").is_err(),
-+ "normalization hazard"
-+ );
-+ assert!(Triple::from_str("x86_64-ffi-linux").is_ok());
-+ assert!(
-+ Triple::from_str("x86_64-customâ€vendor-linux").is_err(),
-+ "zero-width character hazard"
-+ );
-+
-+ // Test some valid cases.
- let t = Triple::from_str("x86_64-customvendor-linux")
- .expect("can't parse target with custom vendor");
- assert_eq!(t.architecture, Architecture::X86_64);
-@@ -1202,8 +1228,8 @@ mod tests {
- assert_eq!(t.binary_format, BinaryFormat::Elf);
- assert_eq!(t.to_string(), "x86_64-customvendor-linux");
-
-- let t = Triple::from_str("x86_64-customvendor")
-- .expect("can't parse target with custom vendor");
-+ let t =
-+ Triple::from_str("x86_64-customvendor").expect("can't parse target with custom vendor");
- assert_eq!(t.architecture, Architecture::X86_64);
- assert_eq!(
- t.vendor,
-
-From c0e318b3c1be2d1965579f07dd563fb9cc0c4eb1 Mon Sep 17 00:00:00 2001
-From: Dan Gohman <sunfish@mozilla.com>
-Date: Tue, 5 Nov 2019 12:56:31 -0800
-Subject: [PATCH 3/7] Use `.chars().any(...)` instead of
- `.find(...).is_some()`.
-
----
- src/targets.rs | 9 +++------
- 1 file changed, 3 insertions(+), 6 deletions(-)
-
-diff --git a/src/targets.rs b/src/targets.rs
-index 7d1f069..1078dd3 100644
---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-+++ b/third_party/rust/target-lexicon/src-0.9.0/targets.rs
-@@ -779,12 +779,9 @@ impl FromStr for Vendor {
- }
-
- // Restrict the set of characters permitted in a custom vendor.
-- if custom
-- .find(|c: char| {
-- !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.')
-- })
-- .is_some()
-- {
-+ if custom.chars().any(|c: char| {
-+ !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.')
-+ }) {
- return Err(());
- }
-
-
-From f319950528654c772193d9eb3bf40bc8df35fcae Mon Sep 17 00:00:00 2001
-From: Dan Gohman <sunfish@mozilla.com>
-Date: Thu, 7 Nov 2019 15:15:48 -0800
-Subject: [PATCH 4/7] Fix build.rs to generate the correct code to build
- Vendors.
-
----
- build.rs | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/build.rs b/build.rs
-index a0ba3b7..446f9e7 100644
---- a/third_party/rust/target-lexicon-0.9.0/build.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/build.rs
-@@ -32,6 +32,7 @@ mod parse_error {
- }
- }
-
-+use self::targets::Vendor;
- use self::triple::Triple;
-
- fn main() {
-@@ -60,7 +61,7 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> {
- " architecture: Architecture::{:?},",
- triple.architecture
- )?;
-- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?;
-+ writeln!(out, " vendor: {},", vendor_display(&triple.vendor))?;
- writeln!(
- out,
- " operating_system: OperatingSystem::{:?},",
-@@ -90,7 +91,7 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> {
- writeln!(out, "impl Vendor {{")?;
- writeln!(out, " /// Return the vendor for the current host.")?;
- writeln!(out, " pub const fn host() -> Self {{")?;
-- writeln!(out, " Vendor::{:?}", triple.vendor)?;
-+ writeln!(out, " {}", vendor_display(&triple.vendor))?;
- writeln!(out, " }}")?;
- writeln!(out, "}}")?;
- writeln!(out)?;
-@@ -160,3 +161,12 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> {
-
- Ok(())
- }
-+
-+fn vendor_display(vendor: &Vendor) -> String {
-+ match vendor {
-+ Vendor::Custom(custom) => {
-+ format!("Vendor::Custom(Box::new(String::from_str({:?})))", custom)
-+ }
-+ known => format!("Vendor::{:?}", known),
-+ }
-+}
-
-From e558f6934535be3b8ccc9a99a33e861cb7431dfe Mon Sep 17 00:00:00 2001
-From: Dan Gohman <sunfish@mozilla.com>
-Date: Fri, 8 Nov 2019 12:10:34 -0800
-Subject: [PATCH 5/7] Fix custom vendors in `const fn` contexts.
-
----
- build.rs | 15 +++++++++++----
- src/lib.rs | 4 ++--
- src/targets.rs | 51 ++++++++++++++++++++++++++++++++++++++++++--------
- 3 files changed, 56 insertions(+), 14 deletions(-)
-
-diff --git a/build.rs b/build.rs
-index 446f9e7..e88206e 100644
---- a/third_party/rust/target-lexicon-0.9.0/build.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/build.rs
-@@ -53,6 +53,8 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> {
- writeln!(out, "use crate::Aarch64Architecture::*;")?;
- writeln!(out, "#[allow(unused_imports)]")?;
- writeln!(out, "use crate::ArmArchitecture::*;")?;
-+ writeln!(out, "#[allow(unused_imports)]")?;
-+ writeln!(out, "use crate::CustomVendor;")?;
- writeln!(out)?;
- writeln!(out, "/// The `Triple` of the current host.")?;
- writeln!(out, "pub const HOST: Triple = Triple {{")?;
-@@ -139,7 +141,11 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> {
- " architecture: Architecture::{:?},",
- triple.architecture
- )?;
-- writeln!(out, " vendor: Vendor::{:?},", triple.vendor)?;
-+ writeln!(
-+ out,
-+ " vendor: {},",
-+ vendor_display(&triple.vendor)
-+ )?;
- writeln!(
- out,
- " operating_system: OperatingSystem::{:?},",
-@@ -164,9 +170,10 @@ fn write_host_rs(mut out: File, triple: Triple) -> io::Result<()> {
-
- fn vendor_display(vendor: &Vendor) -> String {
- match vendor {
-- Vendor::Custom(custom) => {
-- format!("Vendor::Custom(Box::new(String::from_str({:?})))", custom)
-- }
-+ Vendor::Custom(custom) => format!(
-+ "Vendor::Custom(CustomVendor::Static({:?}))",
-+ custom.as_str()
-+ ),
- known => format!("Vendor::{:?}", known),
- }
- }
-diff --git a/src/lib.rs b/src/lib.rs
-index 8d6da8d..70f6488 100644
---- a/third_party/rust/target-lexicon-0.9.0/src/lib.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/src/lib.rs
-@@ -28,7 +28,7 @@ mod triple;
- pub use self::host::HOST;
- pub use self::parse_error::ParseError;
- pub use self::targets::{
-- Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, Environment, OperatingSystem,
-- Vendor,
-+ Aarch64Architecture, Architecture, ArmArchitecture, BinaryFormat, CustomVendor, Environment,
-+ OperatingSystem, Vendor,
- };
- pub use self::triple::{CallingConvention, Endianness, PointerWidth, Triple};
-diff --git a/src/targets.rs b/src/targets.rs
-index 1078dd3..7152020 100644
---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-@@ -4,6 +4,7 @@ use crate::triple::{Endianness, PointerWidth, Triple};
- use alloc::boxed::Box;
- use alloc::string::String;
- use core::fmt;
-+use core::hash::{Hash, Hasher};
- use core::str::FromStr;
-
- /// The "architecture" field, which in some cases also specifies a specific
-@@ -292,6 +293,39 @@ impl Aarch64Architecture {
- }
- }
-
-+/// A string for a `Vendor::Custom` that can either be used in `const`
-+/// contexts or hold dynamic strings.
-+#[derive(Clone, Debug, Eq)]
-+pub enum CustomVendor {
-+ /// An owned `String`. This supports the general case.
-+ Owned(Box<String>),
-+ /// A static `str`, so that `CustomVendor` can be constructed in `const`
-+ /// contexts.
-+ Static(&'static str),
-+}
-+
-+impl CustomVendor {
-+ /// Extracts a string slice.
-+ pub fn as_str(&self) -> &str {
-+ match self {
-+ CustomVendor::Owned(s) => s,
-+ CustomVendor::Static(s) => s,
-+ }
-+ }
-+}
-+
-+impl PartialEq for CustomVendor {
-+ fn eq(&self, other: &Self) -> bool {
-+ self.as_str() == other.as_str()
-+ }
-+}
-+
-+impl Hash for CustomVendor {
-+ fn hash<H: Hasher>(&self, state: &mut H) {
-+ self.as_str().hash(state)
-+ }
-+}
-+
- /// The "vendor" field, which in practice is little more than an arbitrary
- /// modifier.
- #[derive(Clone, Debug, PartialEq, Eq, Hash)]
-@@ -316,7 +350,7 @@ pub enum Vendor {
- ///
- /// Outside of such patched environments, users of `target-lexicon` should
- /// treat `Custom` the same as `Unknown` and ignore the string.
-- Custom(Box<String>),
-+ Custom(CustomVendor),
- }
-
- /// The "operating system" field, which sometimes implies an environment, and
-@@ -728,7 +762,7 @@ impl fmt::Display for Vendor {
- Vendor::Sun => "sun",
- Vendor::Uwp => "uwp",
- Vendor::Wrs => "wrs",
-- Vendor::Custom(ref name) => name,
-+ Vendor::Custom(ref name) => name.as_str(),
- };
- f.write_str(s)
- }
-@@ -779,13 +813,14 @@ impl FromStr for Vendor {
- }
-
- // Restrict the set of characters permitted in a custom vendor.
-- if custom.chars().any(|c: char| {
-+ fn is_prohibited_char(c: char) -> bool {
- !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.')
-- }) {
-+ }
-+ if custom.chars().any(is_prohibited_char) {
- return Err(());
- }
-
-- Vendor::Custom(Box::new(custom.to_owned()))
-+ Vendor::Custom(CustomVendor::Owned(Box::new(custom.to_owned())))
- }
- })
- }
-@@ -1218,7 +1253,7 @@ mod tests {
- assert_eq!(t.architecture, Architecture::X86_64);
- assert_eq!(
- t.vendor,
-- Vendor::Custom(Box::new(String::from_str("customvendor").unwrap()))
-+ Vendor::Custom(CustomVendor::Static("customvendor"))
- );
- assert_eq!(t.operating_system, OperatingSystem::Linux);
- assert_eq!(t.environment, Environment::Unknown);
-@@ -1230,7 +1265,7 @@ mod tests {
- assert_eq!(t.architecture, Architecture::X86_64);
- assert_eq!(
- t.vendor,
-- Vendor::Custom(Box::new(String::from_str("customvendor").unwrap()))
-+ Vendor::Custom(CustomVendor::Static("customvendor"))
- );
- assert_eq!(t.operating_system, OperatingSystem::Unknown);
- assert_eq!(t.environment, Environment::Unknown);
-@@ -1240,7 +1275,7 @@ mod tests {
- Triple::from_str("unknown-foo"),
- Ok(Triple {
- architecture: Architecture::Unknown,
-- vendor: Vendor::Custom(Box::new(String::from_str("foo").unwrap())),
-+ vendor: Vendor::Custom(CustomVendor::Static("foo")),
- operating_system: OperatingSystem::Unknown,
- environment: Environment::Unknown,
- binary_format: BinaryFormat::Unknown,
-
-From bc4b444133b8a5e56602f7c77c10ef3f1e7a7c78 Mon Sep 17 00:00:00 2001
-From: Dan Gohman <sunfish@mozilla.com>
-Date: Mon, 18 Nov 2019 13:45:58 -0800
-Subject: [PATCH 6/7] Add a testcase with a BOM too, just in case.
-
----
- src/targets.rs | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/targets.rs b/src/targets.rs
-index 7152020..9a4d990 100644
---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-@@ -1246,6 +1246,10 @@ mod tests {
- Triple::from_str("x86_64-customâ€vendor-linux").is_err(),
- "zero-width character hazard"
- );
-+ assert!(
-+ Triple::from_str("x86_64-customvendor-linux").is_err(),
-+ "BOM hazard"
-+ );
-
- // Test some valid cases.
- let t = Triple::from_str("x86_64-customvendor-linux")
-
-From 721fbbe1c9cfd3adc9aaf011c62d6a36078f4133 Mon Sep 17 00:00:00 2001
-From: Dan Gohman <sunfish@mozilla.com>
-Date: Mon, 18 Nov 2019 20:56:40 -0800
-Subject: [PATCH 7/7] Use an anonymous function instead of just a local
- function.
-
----
- src/targets.rs | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/targets.rs b/src/targets.rs
-index 9a4d990..eb5a088 100644
---- a/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-+++ b/third_party/rust/target-lexicon-0.9.0/src/targets.rs
-@@ -813,10 +813,9 @@ impl FromStr for Vendor {
- }
-
- // Restrict the set of characters permitted in a custom vendor.
-- fn is_prohibited_char(c: char) -> bool {
-+ if custom.chars().any(|c: char| {
- !(c.is_ascii_lowercase() || c.is_ascii_digit() || c == '_' || c == '.')
-- }
-- if custom.chars().any(is_prohibited_char) {
-+ }) {
- return Err(());
- }
-
diff --git a/testing/thunderbird/avoid-redefinition.patch b/testing/thunderbird/avoid-redefinition.patch
deleted file mode 100644
index af11c50384a..00000000000
--- a/testing/thunderbird/avoid-redefinition.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Author: Rasmus Thomsen <oss@cogitri.dev>
-Reason: FF is mixing userspace net headers (net/if.h) and kernelspace ones
-(linux/if.h), leading to redefinitions. We need to include net/if.h before
-linux/if.h because linux/if.h has redifinition guards whereas net/if.h doesnt
-Upstream: No
---- a/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c.orig 2020-07-28 19:24:32.359751046 +0200
-+++ b/dom/media/webrtc/transport/third_party/nICEr/src/stun/addrs-netlink.c 2020-07-28 19:24:37.856343751 +0200
-@@ -31,6 +31,7 @@
- */
-
- #if defined(LINUX)
-+#include <net/if.h>
- #include "addrs-netlink.h"
- #include <csi_platform.h>
- #include <assert.h>
diff --git a/testing/thunderbird/disable-neon-in-aom.patch b/testing/thunderbird/disable-neon-in-aom.patch
deleted file mode 100644
index 6df05a1e8a1..00000000000
--- a/testing/thunderbird/disable-neon-in-aom.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Firefox (75) and AOM itself fail to build with NEON enabled. As such
-we should disable it for now.
-
-In file included from /home/buildozer/aports/community/firefox/src/firefox-75.0/third_party/aom/aom_dsp/arm/blend_a64_mask_neon.c:12:
-/home/buildozer/aports/community/firefox/src/firefox-75.0/third_party/aom/av1/common/arm/mem_neon.h: In function 'load_u8_8x8':
-/usr/lib/gcc/armv7-alpine-linux-musleabihf/9.3.0/include/arm_neon.h:10303:1: error: inlining failed in call to always_inline 'vld1_u8': target specific option mismatch
-10303 | vld1_u8 (const uint8_t * __a)
- | ^~~~~~~
---- a/media/libaom/moz.build 2020-04-09 08:20:14.608439591 +0200
-+++ b/media/libaom/moz.build 2020-04-09 08:20:21.801745246 +0200
-@@ -42,26 +42,6 @@
- ASFLAGS += [ '-I%s/media/libaom/config/linux/ia32/' % TOPSRCDIR ]
- LOCAL_INCLUDES += [ '/media/libaom/config/linux/ia32/' ]
- EXPORTS.aom += [ 'config/linux/ia32/config/aom_config.h' ]
--elif CONFIG['CPU_ARCH'] == 'arm':
-- EXPORTS.aom += files['ARM_EXPORTS']
-- ASFLAGS += [
-- '-I%s/media/libaom/config/linux/arm/' % TOPSRCDIR,
-- '-I%s/libaom' % OBJDIR,
-- ]
-- LOCAL_INCLUDES += [ '/media/libaom/config/linux/arm/' ]
-- EXPORTS.aom += [ 'config/linux/arm/config/aom_config.h' ]
--
-- SOURCES += files['ARM_SOURCES']
--
-- for f in SOURCES:
-- if f.endswith('neon.c'):
-- SOURCES[f].flags += CONFIG['VPX_ASFLAGS']
--
-- if CONFIG['OS_TARGET'] == 'Android':
-- # For cpu-features.h
-- LOCAL_INCLUDES += [
-- '%%%s/sources/android/cpufeatures' % CONFIG['ANDROID_NDK'],
-- ]
- else:
- # Generic C-only configuration
- EXPORTS.aom += files['GENERIC_EXPORTS']
-
-
diff --git a/testing/thunderbird/fix-fortify-system-wrappers.patch b/testing/thunderbird/fix-fortify-system-wrappers.patch
deleted file mode 100644
index 17cf7e303da..00000000000
--- a/testing/thunderbird/fix-fortify-system-wrappers.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-The wrapper features.h gets pulled in by system headers causing thigns to
-break. We work around it by simply not wrap features.h
-
---- ./config/system-headers.mozbuild.orig
-+++ ./config/system-headers.mozbuild
-@@ -229,7 +229,6 @@
- 'execinfo.h',
- 'extras.h',
- 'fcntl.h',
-- 'features.h',
- 'fenv.h',
- 'ffi.h',
- 'fibdef.h',
diff --git a/testing/thunderbird/fix-tools.patch b/testing/thunderbird/fix-tools.patch
deleted file mode 100644
index 245d694bd38..00000000000
--- a/testing/thunderbird/fix-tools.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp
-index 19d0a5c56d..b64b543066 100644
---- a/tools/profiler/core/platform-linux-android.cpp
-+++ b/tools/profiler/core/platform-linux-android.cpp
-@@ -506,8 +506,10 @@ static void PlatformInit(PSLockRef aLock) {}
- ucontext_t sSyncUContext;
-
- void Registers::SyncPopulate() {
-- if (!getcontext(&sSyncUContext)) {
-- PopulateRegsFromContext(*this, &sSyncUContext);
-- }
-+ #if defined(__GLIBC__)
-+ if (!getcontext(&sSyncUContext)) {
-+ PopulateRegsFromContext(*this, &sSyncUContext);
-+ }
-+ #endif
- }
- #endif
diff --git a/testing/thunderbird/fix-webrtc-glibcisms.patch b/testing/thunderbird/fix-webrtc-glibcisms.patch
deleted file mode 100644
index 7533d94b91e..00000000000
--- a/testing/thunderbird/fix-webrtc-glibcisms.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- ./third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2018-05-09 23:48:44.677389171 +0200
-+++ ./third_party/libwebrtc/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:56.254373557 +0200
-@@ -14,7 +14,7 @@
- #ifndef __GLIBC_PREREQ
- #define __GLIBC_PREREQ(a, b) 0
- #endif
--#if __GLIBC_PREREQ(2, 16)
-+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
- #include <sys/auxv.h>
- #else
- #include <fcntl.h>
-@@ -32,7 +32,7 @@
- int architecture = 0;
- unsigned long hwcap = 0;
- const char* platform = NULL;
--#if __GLIBC_PREREQ(2, 16)
-+#if !__GLIBC__ || __GLIBC_PREREQ(2, 16)
- hwcap = getauxval(AT_HWCAP);
- platform = (const char*)getauxval(AT_PLATFORM);
- #else
diff --git a/testing/thunderbird/mallinfo.patch b/testing/thunderbird/mallinfo.patch
deleted file mode 100644
index 7916a200ca2..00000000000
--- a/testing/thunderbird/mallinfo.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/xpcom/base/nsMemoryReporterManager.cpp b/xpcom/base/nsMemoryReporterManager.cpp
-index 865e1b5430..9a00dafecb 100644
---- a/xpcom/base/nsMemoryReporterManager.cpp
-+++ b/xpcom/base/nsMemoryReporterManager.cpp
-@@ -124,6 +124,7 @@ static MOZ_MUST_USE nsresult ResidentUniqueDistinguishedAmount(int64_t* aN) {
- return GetProcSelfSmapsPrivate(aN);
- }
-
-+#ifdef __GLIBC__
- # ifdef HAVE_MALLINFO
- # define HAVE_SYSTEM_HEAP_REPORTER 1
- static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
-@@ -143,6 +144,7 @@ static MOZ_MUST_USE nsresult SystemHeapSize(int64_t* aSizeOut) {
- return NS_OK;
- }
- # endif
-+#endif
-
- #elif defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || \
- defined(__OpenBSD__) || defined(__FreeBSD_kernel__)
diff --git a/testing/thunderbird/mozwayland-add-missing-stub.patch b/testing/thunderbird/mozwayland-add-missing-stub.patch
deleted file mode 100644
index 88384073e10..00000000000
--- a/testing/thunderbird/mozwayland-add-missing-stub.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Description: This symbol is missing after the upgrade to wayland 1.20. These
-are stubs which are replaced at run-time with real symbols from libwayland and
-need to be kept in sync.
-Upstream: https://bugzilla.mozilla.org/show_bug.cgi?id=1745560
-diff --git a/widget/gtk/mozwayland/mozwayland.c b/widget/gtk/mozwayland/mozwayland.c
-index 7a448e6..7792581 100644
---- a/widget/gtk/mozwayland/mozwayland.c
-+++ b/widget/gtk/mozwayland/mozwayland.c
-@@ -200,3 +200,8 @@ MOZ_EXPORT int wl_list_empty(const struct wl_list* list) { return -1; }
-
- MOZ_EXPORT void wl_list_insert_list(struct wl_list* list,
- struct wl_list* other) {}
-+
-+MOZ_EXPORT struct wl_proxy *
-+wl_proxy_marshal_flags(struct wl_proxy *proxy, uint32_t opcode,
-+ const struct wl_interface *interface, uint32_t version,
-+ uint32_t flags, ...) { return NULL; }
diff --git a/testing/thunderbird/sandbox-sched_setscheduler.patch b/testing/thunderbird/sandbox-sched_setscheduler.patch
deleted file mode 100644
index 1db645aebbd..00000000000
--- a/testing/thunderbird/sandbox-sched_setscheduler.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-upstream bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1657849
-diff --git a/security/sandbox/linux/SandboxFilter.cpp b/security/sandbox/linux/SandboxFilter.cpp
-index 27da4e7..5a607a4 100644
---- a/security/sandbox/linux/SandboxFilter.cpp
-+++ b/security/sandbox/linux/SandboxFilter.cpp
-@@ -1455,6 +1455,7 @@ class GMPSandboxPolicy : public SandboxPolicyCommon {
- return Trap(OpenTrap, mFiles);
-
- case __NR_brk:
-+ case __NR_sched_setscheduler:
- // Because Firefox on glibc resorts to the fallback implementation
- // mentioned in bug 1576006, we must explicitly allow the get*id()
- // functions in order to use NSS in the clearkey CDM.
-@@ -1467,8 +1468,7 @@ class GMPSandboxPolicy : public SandboxPolicyCommon {
- case __NR_sched_get_priority_max:
- return Allow();
- case __NR_sched_getparam:
-- case __NR_sched_getscheduler:
-- case __NR_sched_setscheduler: {
-+ case __NR_sched_getscheduler: {
- Arg<pid_t> pid(0);
- return If(pid == 0, Allow()).Else(Trap(SchedTrap, nullptr));
- }
diff --git a/testing/thunderbird/thunderbird.desktop b/testing/thunderbird/thunderbird.desktop
deleted file mode 100644
index 210859df015..00000000000
--- a/testing/thunderbird/thunderbird.desktop
+++ /dev/null
@@ -1,64 +0,0 @@
-[Desktop Entry]
-Name=Thunderbird
-GenericName=Mail Client
-GenericName[ast]=Client de correu
-GenericName[ca]=Client de correu
-GenericName[cs]=Poštovní klient
-GenericName[da]=E-postklient
-GenericName[de]=E-Mail-Anwendung
-GenericName[el]=Λογισμικό αλληλογÏαφίας
-GenericName[es]=Cliente de correo
-GenericName[fi]=Sähköpostiohjelma
-GenericName[fr]=Client de messagerie
-GenericName[gl]=Cliente de correo electrónico
-GenericName[he]=לקוח דו×״ל
-GenericName[hr]=Klijent e-pošte
-GenericName[hu]=Levelezőkliens
-GenericName[it]=Client email
-GenericName[ja]=é›»å­ãƒ¡ãƒ¼ãƒ«ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆ
-GenericName[ko]=ë©”ì¼ í´ë¼ì´ì–¸íŠ¸
-GenericName[nl]=E-mailprogramma
-GenericName[pl]=Klient poczty
-GenericName[pt_BR]=Cliente de E-mail
-GenericName[ru]=Почтовый клиент
-GenericName[sk]=Poštový klient
-GenericName[ug]=ئÛلخەت دÛتالى
-GenericName[uk]=Поштова програма
-GenericName[vi]=Phần má»m khách quản lý thÆ° Ä‘iện tá»­
-GenericName[zh_CN]=邮件新闻客户端
-GenericName[zh_TW]=郵件用戶端
-Comment=Send and receive mail with Thunderbird
-Comment[ast]=Lleer y escribir corréu electrónicu
-Comment[ca]=Llegiu i escriviu correu
-Comment[cs]=Čtení a psaní pošty
-Comment[da]=Skriv/læs e-post/nyhedsgruppe med Mozilla Thunderbird
-Comment[de]=E-Mails und Nachrichten mit Thunderbird lesen und schreiben
-Comment[el]=Διαβάστε και γÏάψτε γÏάμματα με το Mozilla Thunderbird
-Comment[es]=Lea y escriba correos y noticias con Thunderbird
-Comment[fi]=Lue ja kirjoita sähköposteja
-Comment[fr]=Lire et écrire des courriels
-Comment[gl]=Lea e escriba correo electrónico
-Comment[he]=קרי××”/כתיבה של דו×״ל/חדשות ב×מצעות Mozilla Thunderbird
-Comment[hr]=Čitajte/šaljite e-poštu s Thunderbird
-Comment[hu]=Levelek írása és olvasása a Thunderbirddel
-Comment[it]=Per leggere e scrivere email
-Comment[ja]=メールã®èª­ã¿æ›¸ã
-Comment[ko]=Mozilla Thunderbird ë©”ì¼/뉴스 ì½ê¸° ë° ì“°ê¸° í´ë¼ì´ì–¸íŠ¸
-Comment[nl]=E-mail/nieuws lezen en schrijven met Mozilla Thunderbird
-Comment[pl]=Czytanie i wysyłanie e-maili
-Comment[pt_BR]=Leia e escreva suas mensagens
-Comment[ru]=Читайте и пишите пиÑьма
-Comment[sk]=Čítajte a píšte poštu pomocou programu Thunderbird
-Comment[sv]=Läs och skriv e-post
-Comment[ug]=ئÛلخەت Û‹Û• خەۋەرلەرنى Mozilla Thunderbird دا كۆرۈش Û‹Û• ÙŠÛزىش
-Comment[uk]=Ð§Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ‚Ð° напиÑÐ°Ð½Ð½Ñ Ð»Ð¸Ñтів
-Comment[vi]=Äá»c và soạn thÆ° Ä‘iện tá»­
-Comment[zh_CN]=阅读邮件或新闻
-Comment[zh_TW]=以 Mozilla Thunderbird 讀寫郵件或新èž
-Exec=thunderbird %u
-Icon=thunderbird
-Terminal=false
-Type=Application
-MimeType=message/rfc822;x-scheme-handler/mailto;
-StartupNotify=true
-Categories=Network;Email;
diff --git a/testing/tic-80/APKBUILD b/testing/tic-80/APKBUILD
new file mode 100644
index 00000000000..e13125f390b
--- /dev/null
+++ b/testing/tic-80/APKBUILD
@@ -0,0 +1,151 @@
+# Contributor: mio <miyopan@e.email>
+# Maintainer: mio <miyopan@e.email>
+pkgname=tic-80
+pkgver=1.1.2837
+# gitrev is used to insert the correct version hash during build
+_gitrev="be42d6f146cfa520b9b1050feba10cc8c14fb3bd"
+pkgrel=2
+pkgdesc="Fantasy computer for making, playing and sharing tiny games"
+url="https://tic80.com/"
+license="MIT"
+# ppc64le: build failed with libpng.a error
+# riscv64: blocked by janet-dev
+arch="all !ppc64le !riscv64"
+makedepends="
+ cmake
+ curl-dev
+ doxygen
+ freeglut-dev
+ giflib-dev
+ glu-dev
+ http-parser-dev
+ jack-dev
+ janet-dev
+ libpng-dev
+ libuv-dev
+ lua5.3-dev
+ pulseaudio-dev
+ ruby-dev
+ samurai
+ sdl2-dev
+ zlib-dev
+ "
+builddir="$srcdir"/TIC-80-"$pkgver"
+options="!check" # No tests
+
+# Submodules list from https://github.com/nesbox/TIC-80/tree/v$pkgver/vendor
+# moonscript: vendor library contains a required header file
+# mruby: repo mruby-dev errors when building vendor zip (zip.co.o)
+# quickjs: repo quickjs-dev errors when linking lib/tic80_libretro.so
+# sokol: not enabled by default, not included as dependency
+# zip: a minizip fork not directly replaceable by repo zip
+# s7: no gitrev in vendor/, using latest gitrev from upstream
+_argparse_rev="0d5f5d0745df14a3f373f7eed85bf524714f4524"
+_blip_buf_rev="330226d9b55ecbeea644e17b5e0f096a165ca07e"
+_dirent_rev="c885633e126a3a949ec0497273ec13e2c03e862c"
+_lpeg_rev="73d8614a8dea404cf7bfe25a6e4cea7183dc9fb7"
+_moonscript_rev="17179283012b392bff972ad66231d73bfeec6e90"
+_mruby_rev="7fe6f3976eca19a86fe533deb4c60b31cd80a236"
+_msf_gif_rev="7829c8f439d013deeb54eba94761403e1da2a960"
+_naett_rev="10a9624456829e5f2b4c264e14760301125d12eb"
+_pocketpy_rev="7312afdad24bb308037088d34b32ed0078fed7d2"
+_quickjs_rev="b7c0161f2ad1360f0837abafc6abf0edb82c0fa7"
+_s7_rev="60c3805e24d3ace68d8710e26d175c5c5dadcc74"
+_squirrel_rev="9dcf74f99097898dd5a111c4a55b89d1c4d606c0"
+_wasm3_rev="a3abb3f2d320994be59dfbe2cdafa8d0b6a8253e"
+_wren_rev="4a18fc489f9ea3d253b20dd40f4cdad0d6bb40eb"
+_zip_rev="d7df626f3aa457e01669f65e61bf8f484e352941"
+_submodules="
+ argparse-$_argparse_rev
+ blip-buf-$_blip_buf_rev
+ dirent-$_dirent_rev
+ lpeg-$_lpeg_rev
+ moonscript-$_moonscript_rev
+ mruby-$_mruby_rev
+ msf_gif-$_msf_gif_rev
+ naett-$_naett_rev
+ pocketpy-$_pocketpy_rev
+ quickjs-$_quickjs_rev
+ s7-$_s7_rev
+ squirrel-$_squirrel_rev
+ wasm3-$_wasm3_rev
+ wren-$_wren_rev
+ zip-$_zip_rev
+ "
+source="tic-80-$pkgver.tar.gz::https://github.com/nesbox/TIC-80/archive/v$pkgver/tic80-v$pkgver.tar.gz
+ argparse-$_argparse_rev.tar.gz::https://github.com/cofyc/argparse/archive/$_argparse_rev.tar.gz
+ blip-buf-$_blip_buf_rev.tar.gz::https://github.com/nesbox/blip-buf/archive/$_blip_buf_rev.tar.gz
+ dirent-$_dirent_rev.tar.gz::https://github.com/tronkko/dirent/archive/$_dirent_rev.tar.gz
+ lpeg-$_lpeg_rev.tar.gz::https://github.com/nesbox/lpeg/archive/$_lpeg_rev.tar.gz
+ moonscript-$_moonscript_rev.tar.gz::https://github.com/nesbox/moonscript/archive/$_moonscript_rev.tar.gz
+ mruby-$_mruby_rev.tar.gz::https://github.com/mruby/mruby/archive/$_mruby_rev.tar.gz
+ msf_gif-$_msf_gif_rev.tar.gz::https://github.com/notnullnotvoid/msf_gif/archive/$_msf_gif_rev.tar.gz
+ naett-$_naett_rev.tar.gz::https://github.com/erkkah/naett/archive/$_naett_rev.tar.gz
+ pocketpy-$_pocketpy_rev.tar.gz::https://github.com/blueloveTH/pocketpy/archive/$_pocketpy_rev.tar.gz
+ quickjs-$_quickjs_rev.tar.gz::https://github.com/nesbox/quickjs/archive/$_quickjs_rev.tar.gz
+ s7-$_s7_rev.tar.gz::https://cm-gitlab.stanford.edu/bil/s7/-/archive/$_s7_rev.tar.gz
+ squirrel-$_squirrel_rev.tar.gz::https://github.com/albertodemichelis/squirrel/archive/$_squirrel_rev.tar.gz
+ wasm3-$_wasm3_rev.tar.gz::https://github.com/wasm3/wasm3/archive/$_wasm3_rev.tar.gz
+ wren-$_wren_rev.tar.gz::https://github.com/wren-lang/wren/archive/$_wren_rev.tar.gz
+ zip-$_zip_rev.tar.gz::https://github.com/kuba--/zip/archive/$_zip_rev.tar.gz
+ use-repo-deps.patch
+ "
+
+prepare() {
+ default_prepare
+ cd "$srcdir"
+
+ # Copy extracted submodules into the main package source
+ _vendor_dir="$srcdir"/TIC-80-"$pkgver"/vendor/
+ # s7 submodule: replace with upstream version
+ rm -r "$_vendor_dir"/s7
+ for _mod in $_submodules; do
+ _mod_rev=${_mod##*-}
+ _mod_name=$(echo $_mod | sed -e "s/-$_mod_rev//")
+ mv $_mod $_mod_name
+ mv $_mod_name $_vendor_dir
+ done
+
+ # Set version revision for executable to display the correct version
+ _version_rev=${pkgver##*\.}
+ sed -i "s/VERSION_REVISION 0/VERSION_REVISION $_version_rev/" \
+ TIC-80-"$pkgver"/CMakeLists.txt
+}
+
+build() {
+ cmake -B build-tic -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DVERSION_HASH=${_gitrev:0:7} \
+ -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
+ cmake --build build-tic
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build-tic
+
+ # Extra tools need manual install
+ for tool in build-tic/bin/*; do
+ install -Dm755 $tool -t "$pkgdir"/usr/bin
+ done
+}
+
+sha512sums="
+9e42924923bf2f1e7b1f6edd54a0f1f8c930f634115f54ff3ae1f2fbeb15b46837598713eb689691d9bff9abed22ef0577e0360f7a2dd453b17fd1f722e35abb tic-80-1.1.2837.tar.gz
+2dba667249c19ec470421327f6cc20f11a168847a99f60db395980c28339a269041a778645355d8ecbac76e1eac0b77c12f3f2fb3573e0e372ccfffdc947ca1c argparse-0d5f5d0745df14a3f373f7eed85bf524714f4524.tar.gz
+69c42cd93cbb640952244c44cdaf75e0808536ca37300912d026c2aedc878b5f105ae109a5eef1a558b1fdc8a692112491515c6813113a007878908224eba5d8 blip-buf-330226d9b55ecbeea644e17b5e0f096a165ca07e.tar.gz
+ce4a2b445073b3bb82d31934ce2d1dcea771723d4cf1778e065cfe787e91128d995cfccc96d860aceb3637f35627dfbf597e423967f08c5ecf855992e9a84581 dirent-c885633e126a3a949ec0497273ec13e2c03e862c.tar.gz
+93956abcafe84d200fab41d54686cbba6ac8eae91292dc4282186543edef8211e2768dab83854b149e21cb0775b1c2ef8fd79b94f3f72a860b9710841c843b2e lpeg-73d8614a8dea404cf7bfe25a6e4cea7183dc9fb7.tar.gz
+05a26627c1a8686d876654751e590c024aa603fff6ff75ed4ed61d499c16c9fef5616222a6dfc5f11aaf9a7ed79786f92e5a15ca8a42fa79c5adba3228f3bdad moonscript-17179283012b392bff972ad66231d73bfeec6e90.tar.gz
+0211031f5ed457d0872f34dc959468c2c6f545c5eb76c878b6fb867df333e5c534e9d311fb8bf30d3c8b2624bcae1e54f92719060faa47211a9883151a19d977 mruby-7fe6f3976eca19a86fe533deb4c60b31cd80a236.tar.gz
+0f02b6ef21372ea744ce46d14072887acfa6b8e67d5b39a8b63b87a15e87f414cb3f4635e0f99f1a037904b65fb68b0186d2904761631ae920c7874b7f0e1bf1 msf_gif-7829c8f439d013deeb54eba94761403e1da2a960.tar.gz
+e17246e5b04120388cfb688bc9bf1895fcd198351b856a4f3da9116ea0091334ffaaca1cdf3a7f6df99c0181037e564c0b2501126617d93d5f37b84f8a6420f7 naett-10a9624456829e5f2b4c264e14760301125d12eb.tar.gz
+392ef1fe0d352c20ec7ede4676d0f1d6236c0d7d5e9db00594a84132b35bdb38d71a7fd09ee42bc5ee6607d882fdf2e31faeaf545f6a986c42b6f6771bd834f9 pocketpy-7312afdad24bb308037088d34b32ed0078fed7d2.tar.gz
+e7d5f7a9a39f4a7f93e8851f5f916e4122bd95c50efe52f864dbc5ec0aee31b76638cdc7d24059e5b6051d0e4021764d97ef37b596115c0991ebfac4274ba95e quickjs-b7c0161f2ad1360f0837abafc6abf0edb82c0fa7.tar.gz
+161c3768c3ce2106e32a1ca86f1e8ef2cc424fb54f03e7fe22856822a1afcebbe69f219677e66ebbb798edcc48e40cbc87d5966d6d5e26c9b17e348542d0ad14 s7-60c3805e24d3ace68d8710e26d175c5c5dadcc74.tar.gz
+0bc2e0842b429854a8f61f2ed0b2261f6af49849f1a90f2fc2aa3578a892b2a97131dcc209eb9c7ceda5544162542a757d4ca091797f0fc0324664f3cfe7fc7e squirrel-9dcf74f99097898dd5a111c4a55b89d1c4d606c0.tar.gz
+e23e24b697c068b27a5aba71dec33d84b5079155344aa52d2997e2267986167df30ee3e264ad8ff40c62ae73b95eb48896b9e8a47bf9904cc23bbae61818e245 wasm3-a3abb3f2d320994be59dfbe2cdafa8d0b6a8253e.tar.gz
+b3d79e9cb647e52db06d5cddfc8c93d05ae0e8d87f0f879ac2b812fcc7f55e018d21d3b04d62eaeb12e6d931b5e43fbe357b187e7f446e86e39be015c51c2eee wren-4a18fc489f9ea3d253b20dd40f4cdad0d6bb40eb.tar.gz
+ebfa73418963010277f112e1e652c8da54994087a1d8095c527f75a799e4d0933e4ff78bdb361cedb1c844b167145fe010c2805a08c2825476f755899eb68fdc zip-d7df626f3aa457e01669f65e61bf8f484e352941.tar.gz
+230712b0d3c42d924bc5f2b05e9c3aeac7ddd1fba4971ce9a43d4f67585cc1c89fba666c3a0c3fb43e227f7410b8cd6cbb9211bc4fcf39b7079c3f8f44ea210c use-repo-deps.patch
+"
diff --git a/testing/tic-80/use-repo-deps.patch b/testing/tic-80/use-repo-deps.patch
new file mode 100644
index 00000000000..cb733d714d7
--- /dev/null
+++ b/testing/tic-80/use-repo-deps.patch
@@ -0,0 +1,315 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -164,51 +164,15 @@
+ # LUA
+ ################################
+
+-set(LUA_DIR ${THIRDPARTY_DIR}/lua)
+-set(LUA_SRC
+- ${LUA_DIR}/lapi.c
+- ${LUA_DIR}/lcode.c
+- ${LUA_DIR}/lctype.c
+- ${LUA_DIR}/ldebug.c
+- ${LUA_DIR}/ldo.c
+- ${LUA_DIR}/ldump.c
+- ${LUA_DIR}/lfunc.c
+- ${LUA_DIR}/lgc.c
+- ${LUA_DIR}/llex.c
+- ${LUA_DIR}/lmem.c
+- ${LUA_DIR}/lobject.c
+- ${LUA_DIR}/lopcodes.c
+- ${LUA_DIR}/lparser.c
+- ${LUA_DIR}/lstate.c
+- ${LUA_DIR}/lstring.c
+- ${LUA_DIR}/ltable.c
+- ${LUA_DIR}/ltm.c
+- ${LUA_DIR}/lundump.c
+- ${LUA_DIR}/lvm.c
+- ${LUA_DIR}/lzio.c
+- ${LUA_DIR}/lauxlib.c
+- ${LUA_DIR}/lbaselib.c
+- ${LUA_DIR}/lcorolib.c
+- ${LUA_DIR}/ldblib.c
+- ${LUA_DIR}/liolib.c
+- ${LUA_DIR}/lmathlib.c
+- ${LUA_DIR}/loslib.c
+- ${LUA_DIR}/lstrlib.c
+- ${LUA_DIR}/ltablib.c
+- ${LUA_DIR}/lutf8lib.c
+- ${LUA_DIR}/loadlib.c
+- ${LUA_DIR}/linit.c
+-)
++# [patch] Use system lua
++find_package(PkgConfig)
++pkg_check_modules(Lua REQUIRED lua5.3 IMPORTED_TARGET GLOBAL)
++add_library(Lua::Lua ALIAS PkgConfig::Lua)
++set(LUA_INCLUDE_DIR "/usr/include/lua5.3")
++set(LUA_LIBRARIES "/usr/lib/lua5.3")
++include_directories(${LUA_INCLUDE_DIR})
++link_directories(${LUA_LIBRARIES})
+
+-add_library(lua STATIC ${LUA_SRC})
+-
+-target_compile_definitions(lua PRIVATE LUA_COMPAT_5_2)
+-target_include_directories(lua INTERFACE ${THIRDPARTY_DIR}/lua)
+-
+-if(N3DS)
+- target_compile_definitions(lua PUBLIC LUA_32BITS)
+-endif()
+-
+ ################################
+ # LPEG
+ ################################
+@@ -421,22 +403,10 @@
+ # GIFLIB
+ ################################
+
+-set(GIFLIB_DIR ${THIRDPARTY_DIR}/giflib)
+-set(GIFLIB_SRC
+- ${GIFLIB_DIR}/dgif_lib.c
+- ${GIFLIB_DIR}/egif_lib.c
+- ${GIFLIB_DIR}/gif_err.c
+- ${GIFLIB_DIR}/gif_font.c
+- ${GIFLIB_DIR}/gif_hash.c
+- ${GIFLIB_DIR}/gifalloc.c
+- ${GIFLIB_DIR}/openbsd-reallocarray.c
+-)
+-add_library(giflib STATIC ${GIFLIB_SRC})
+-target_include_directories(giflib
+- PRIVATE ${GIFLIB_DIR}
+- INTERFACE
+- ${THIRDPARTY_DIR}/giflib
+- ${THIRDPARTY_DIR}/msf_gif)
++# [patch] Use system giflib but include vendor msf_gif encoder
++find_package(GIF)
++set(MSF_GIF_INCLUDE_DIR ${THIRDPARTY_DIR}/msf_gif)
++include_directories(${MSF_GIF_INCLUDE_DIR})
+
+ ################################
+ # Blipbuf
+@@ -484,39 +451,10 @@
+ option(BUILD_WITH_JANET "Janet Enabled" ${BUILD_WITH_JANET_DEFAULT})
+ message("BUILD_WITH_JANET: ${BUILD_WITH_JANET}")
+
++# [patch] Use system janet
+ if(BUILD_WITH_JANET)
+-
+- if(MINGW)
+- find_program(GIT git)
+- get_filename_component(GIT_DIR ${GIT} DIRECTORY)
+- find_program(GITBASH bash PATHS "${GIT_DIR}/../bin" NO_DEFAULT_PATH)
+-
+- if(NOT GITBASH)
+- message(FATAL_ERROR "Git Bash not found!")
+- endif()
+-
+- add_custom_command(
+- OUTPUT ${THIRDPARTY_DIR}/janet/build/c/janet.c
+- COMMAND ${GITBASH} -c "CC=gcc mingw32-make build/c/janet.c"
+- WORKING_DIRECTORY ${THIRDPARTY_DIR}/janet/
+- )
+- elseif(WIN32)
+- add_custom_command(
+- OUTPUT ${THIRDPARTY_DIR}/janet/build/c/janet.c
+- COMMAND ./build_win.bat
+- WORKING_DIRECTORY ${THIRDPARTY_DIR}/janet/
+- )
+- else()
+- add_custom_command(
+- OUTPUT ${THIRDPARTY_DIR}/janet/build/c/janet.c
+- COMMAND make build/c/janet.c
+- WORKING_DIRECTORY ${THIRDPARTY_DIR}/janet/
+- )
+- endif()
+-
+- add_library(janet ${THIRDPARTY_DIR}/janet/build/c/janet.c)
+- target_include_directories(janet PUBLIC ${THIRDPARTY_DIR}/janet/src/include)
+- target_include_directories(janet PUBLIC ${CMAKE_SOURCE_DIR}/build/janet/)
++ set(JANET_INCLUDE_DIR "/usr/include/janet")
++ include_directories(${JANET_INCLUDE_DIR})
+ endif()
+
+ ################################
+@@ -580,7 +518,8 @@
+ scheme
+ quickjs
+ blipbuf
+- zlib
++ # [patch] Fix zlib name
++ z
+ )
+
+ if(BUILD_WITH_MRUBY)
+@@ -593,7 +532,8 @@
+
+ if(${BUILD_DEPRECATED})
+ target_compile_definitions(tic80core${SCRIPT} PRIVATE BUILD_DEPRECATED)
+- target_link_libraries(tic80core${SCRIPT} giflib)
++ # [patch] Fix giflib name
++ target_link_libraries(tic80core${SCRIPT} gif)
+ endif()
+
+ if(LINUX)
+@@ -639,21 +579,12 @@
+ ################################
+ # SDL2
+ ################################
+-if(BUILD_SDL AND NOT EMSCRIPTEN AND NOT RPI)
+
+- if(WIN32)
+- set(HAVE_LIBC TRUE)
+- endif()
+-
+- if(ANDROID)
+- include_directories(${ANDROID_NDK}/sources/android/cpufeatures)
+- set(SDL_STATIC_PIC ON CACHE BOOL "" FORCE)
+- endif()
+-
+- set(SDL_SHARED OFF CACHE BOOL "" FORCE)
+-
+- add_subdirectory(${THIRDPARTY_DIR}/sdl2)
+-
++# [patch] Use system sdl2
++if (BUILD_SDL)
++ find_package(SDL2)
++ set(SDL2_INCLUDE_DIR "/usr/include/SDL2")
++ include_directories(${SDL2_INCLUDE_DIR})
+ endif()
+
+ ################################
+@@ -679,7 +610,8 @@
+ target_link_options(player-sdl PRIVATE -static)
+ endif()
+
+- target_link_libraries(player-sdl tic80core SDL2-static SDL2main)
++ # [patch] Fix sdl2 name
++ target_link_libraries(player-sdl tic80core SDL2 SDL2main)
+ endif()
+
+ ################################
+@@ -820,34 +752,9 @@
+ # ZLIB
+ ################################
+
+-if (NOT N3DS)
++# [patch] Use system zlib
++find_package(ZLIB)
+
+-set(ZLIB_DIR ${THIRDPARTY_DIR}/zlib)
+-set(ZLIB_SRC
+- ${ZLIB_DIR}/adler32.c
+- ${ZLIB_DIR}/compress.c
+- ${ZLIB_DIR}/crc32.c
+- ${ZLIB_DIR}/deflate.c
+- ${ZLIB_DIR}/inflate.c
+- ${ZLIB_DIR}/infback.c
+- ${ZLIB_DIR}/inftrees.c
+- ${ZLIB_DIR}/inffast.c
+- ${ZLIB_DIR}/trees.c
+- ${ZLIB_DIR}/uncompr.c
+- ${ZLIB_DIR}/zutil.c
+-)
+-
+-add_library(zlib STATIC ${ZLIB_SRC})
+-target_include_directories(zlib INTERFACE ${THIRDPARTY_DIR}/zlib)
+-
+-else ()
+-
+-add_library(zlib STATIC IMPORTED)
+-set_target_properties( zlib PROPERTIES IMPORTED_LOCATION ${DEVKITPRO}/portlibs/3ds/lib/libz.a )
+-target_include_directories(zlib INTERFACE ${DEVKITPRO}/portlibs/3ds/include)
+-
+-endif ()
+-
+ ################################
+ # ZIP
+ ################################
+@@ -876,7 +783,8 @@
+ target_link_libraries(wasmp2cart tic80core)
+
+ add_executable(bin2txt ${TOOLS_DIR}/bin2txt.c)
+- target_link_libraries(bin2txt zlib)
++ # [patch] Fix zlib name
++ target_link_libraries(bin2txt z)
+
+ add_executable(xplode
+ ${TOOLS_DIR}/xplode.c
+@@ -993,36 +901,9 @@
+ # PNG
+ ################################
+
+-set(LIBPNG_DIR ${THIRDPARTY_DIR}/libpng)
+-set(LIBPNG_SRC
+- ${LIBPNG_DIR}/png.c
+- ${LIBPNG_DIR}/pngerror.c
+- ${LIBPNG_DIR}/pngget.c
+- ${LIBPNG_DIR}/pngmem.c
+- ${LIBPNG_DIR}/pngpread.c
+- ${LIBPNG_DIR}/pngread.c
+- ${LIBPNG_DIR}/pngrio.c
+- ${LIBPNG_DIR}/pngrtran.c
+- ${LIBPNG_DIR}/pngrutil.c
+- ${LIBPNG_DIR}/pngset.c
+- ${LIBPNG_DIR}/pngtrans.c
+- ${LIBPNG_DIR}/pngwio.c
+- ${LIBPNG_DIR}/pngwrite.c
+- ${LIBPNG_DIR}/pngwtran.c
+- ${LIBPNG_DIR}/pngwutil.c
+-)
++# [patch] Use system libpng
++find_package(PNG)
+
+-configure_file(${LIBPNG_DIR}/scripts/pnglibconf.h.prebuilt ${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h)
+-
+-add_library(png STATIC ${LIBPNG_SRC})
+-
+-target_compile_definitions(png PRIVATE PNG_ARM_NEON_OPT=0)
+-
+-target_include_directories(png
+- PUBLIC ${CMAKE_CURRENT_BINARY_DIR}
+- PRIVATE ${THIRDPARTY_DIR}/zlib
+- INTERFACE ${THIRDPARTY_DIR}/libpng)
+-
+ ################################
+ # TIC-80 studio
+ ################################
+@@ -1069,7 +950,8 @@
+
+ target_include_directories(tic80studio PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
+
+-target_link_libraries(tic80studio tic80core zip wave_writer argparse giflib png)
++# [patch] Fix giflib name
++target_link_libraries(tic80studio tic80core zip wave_writer argparse gif png)
+
+ if(USE_NAETT)
+ target_compile_definitions(tic80studio PRIVATE USE_NAETT)
+@@ -1155,7 +1037,8 @@
+ endif()
+
+ if(NOT EMSCRIPTEN)
+- target_link_libraries(sdlgpu SDL2-static)
++ # [patch] Fix sdl2 name
++ target_link_libraries(sdlgpu SDL2)
+ endif()
+
+ endif()
+@@ -1228,7 +1111,8 @@
+ elseif(RPI)
+ target_link_libraries(tic80 libSDL2.a bcm_host)
+ else()
+- target_link_libraries(tic80 SDL2-static)
++ # [patch] Fix sdl2 name
++ target_link_libraries(tic80 SDL2)
+ endif()
+ endif()
+
+@@ -1377,7 +1261,8 @@
+ elseif(RPI)
+ target_link_libraries(tic80${SCRIPT} libSDL2.a bcm_host pthread dl)
+ else()
+- target_link_libraries(tic80${SCRIPT} SDL2-static)
++ # [patch] Fix sdl2 name
++ target_link_libraries(tic80${SCRIPT} SDL2)
+ endif()
+ endif()
+
diff --git a/testing/ticker/APKBUILD b/testing/ticker/APKBUILD
new file mode 100644
index 00000000000..381174fafde
--- /dev/null
+++ b/testing/ticker/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=ticker
+pkgver=4.5.14
+pkgrel=5
+pkgdesc="Terminal stock watcher and stock position tracker"
+url="https://github.com/achannarasappa/ticker"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/achannarasappa/ticker/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # fail presently with current yahoo finance api response
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -o bin/ticker \
+ -ldflags "-X github.com/achannarasappa/ticker/cmd.Version=v$pkgver"
+
+ ./bin/ticker completion bash > ticker.bash
+ ./bin/ticker completion zsh > ticker.zsh
+ ./bin/ticker completion fish > ticker.fish
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname
+
+ install -Dm644 ticker.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/ticker
+ install -Dm644 ticker.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/ticker.fish
+ install -Dm644 ticker.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_ticker
+}
+
+sha512sums="
+ba0ed482c950a6056fd662140e00f6f25d9410dbf150232b9c759ee841020935e1cc2ef51b65892dc2e7e85443b01d448defa08adb103b0409863306d24a972e ticker-4.5.14.tar.gz
+"
diff --git a/testing/tigervnc/0001-fix-gettext-intl.patch b/testing/tigervnc/0001-fix-gettext-intl.patch
deleted file mode 100644
index 6460adc38e2..00000000000
--- a/testing/tigervnc/0001-fix-gettext-intl.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index bba6085150..9360c84784 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -170,6 +170,11 @@ if(ENABLE_NLS)
- check_function_exists(dgettext LIBC_HAS_DGETTEXT)
- if(LIBC_HAS_DGETTEXT)
- set(GETTEXT_FOUND TRUE)
-+ find_package(Intl)
-+ if(NOT Intl_LIBRARIES STREQUAL "")
-+ message(STATUS "GetText Intl : ${Intl_LIBRARIES}")
-+ set(GETTEXT_LIBRARIES ${Intl_LIBRARIES})
-+ endif()
- else()
- find_library(LIBINTL_LIBRARY NAMES intl libintl)
- if(LIBINTL_LIBRARY)
diff --git a/testing/tigervnc/APKBUILD b/testing/tigervnc/APKBUILD
deleted file mode 100644
index e53aafb7758..00000000000
--- a/testing/tigervnc/APKBUILD
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
-# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
-pkgname=tigervnc
-pkgver=1.12.0
-pkgrel=1
-pkgdesc="High performance, multi-platform VNC client and server"
-url="https://tigervnc.org/"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="cmake fltk-dev libjpeg-turbo-dev linux-pam-dev pixman-dev libxtst-dev libxrandr-dev gettext-dev libintl"
-subpackages="$pkgname-doc $pkgname-lang"
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/TigerVNC/tigervnc/archive/refs/tags/v$pkgver.tar.gz
- 0001-fix-gettext-intl.patch
-"
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=TRUE ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-a16b15e9cda552a49a3934e4174e49d186d06494d90d11582599ab82559014332662aed7760619a6dfb32a8c95f7d63c68ac7d632c29dd662a6b713f036672bb tigervnc-1.12.0.tar.gz
-1b60d758d2ff727c12fc9f754f2632d62b99f83a71e0f3fc8d07b643c85e18171430becdd36eee84223bc59ebcaf743e4451335fd01c2b0fe764df4853afc583 0001-fix-gettext-intl.patch
-"
diff --git a/testing/tiled/APKBUILD b/testing/tiled/APKBUILD
deleted file mode 100644
index 45fe7c80074..00000000000
--- a/testing/tiled/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=tiled
-pkgver=1.6.0
-pkgrel=0
-pkgdesc="powerful tile map editor"
-url="http://mapeditor.org"
-arch="all"
-license="Apache-2.0 AND BSD-2-Clause AND GPL-2.0-only"
-makedepends="qt5-qttools-dev qt5-qtdeclarative-dev"
-subpackages="$pkgname-dev $pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/bjorn/tiled/archive/v$pkgver.tar.gz
- patch-main.cpp.patch
- "
-options="!check" # No tests in qmake build
-
-build() {
- qmake-qt5 -r INSTALL_HEADERS=yes PREFIX=/usr
- make
-}
-
-package() {
- make install INSTALL_ROOT="$pkgdir"
-}
-
-sha512sums="
-73c8fbd8af6c47632317fe33207cc01fcd5cab357372f6322406d6315c1d8d66363aa0849b72a78c2b2fe952ee70e6c98efc5ab8f99ea98bf1c319d346594eae tiled-1.6.0.tar.gz
-232dd1a38e29b34a010978f22b4d3ef0e1344f6a963a50c99cc7dce24a5d2ec9c1f77ff0c08a9528455211a465f7d95c983736c19e5aa2e14b64ee1c094b1fe7 patch-main.cpp.patch
-"
diff --git a/testing/tiled/patch-main.cpp.patch b/testing/tiled/patch-main.cpp.patch
deleted file mode 100644
index b54d3b5eccd..00000000000
--- a/testing/tiled/patch-main.cpp.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Upstream: already in repository.
---- tiled-1.6.0/src/tiled/main.cpp.orig
-+++ tiled-1.6.0/src/tiled/main.cpp
-@@ -66,10 +66,6 @@
- return ts;
- }
-
--#if QT_VERSION >= QT_VERSION_CHECK(5,14,0)
--using Qt::endl;
--#endif
--
- namespace {
-
- class CommandLineHandler : public CommandLineParser
-@@ -260,7 +256,7 @@
- if (!showedVersion) {
- showedVersion = true;
- stdOut() << QApplication::applicationDisplayName() << " "
-- << QApplication::applicationVersion() << endl;
-+ << QApplication::applicationVersion() << Qt::endl;
- quit = true;
- }
- }
-@@ -317,9 +313,9 @@
- }
- formats.sort(Qt::CaseSensitive);
-
-- stdOut() << tr("Map export formats:") << endl;
-+ stdOut() << tr("Map export formats:") << Qt::endl;
- for (const QString &name : formats)
-- stdOut() << " " << name << endl;
-+ stdOut() << " " << name << Qt::endl;
-
- formats.clear();
- const auto tilesetFormats = PluginManager::objects<TilesetFormat>();
-@@ -329,9 +325,9 @@
- }
- formats.sort(Qt::CaseSensitive);
-
-- stdOut() << tr("Tileset export formats:") << endl;
-+ stdOut() << tr("Tileset export formats:") << Qt::endl;
- for (const QString &name : formats)
-- stdOut() << " " << name << endl;
-+ stdOut() << " " << name << Qt::endl;
-
- quit = true;
- }
diff --git a/testing/tillitis-key1-apps/APKBUILD b/testing/tillitis-key1-apps/APKBUILD
new file mode 100644
index 00000000000..525f5695b7c
--- /dev/null
+++ b/testing/tillitis-key1-apps/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: omni <omni+alpine@hack.org>
+# Maintainer: omni <omni+alpine@hack.org>
+pkgname=tillitis-key1-apps
+pkgver=0.0.6
+pkgrel=6
+pkgdesc="Apps and host programs for TKey, the flexible open hardware/software USB security key"
+url="https://www.tillitis.se/"
+arch="all !s390x" # s390x lack lld package
+license="GPL-2.0-only"
+makedepends="go clang llvm lld"
+options="!check" # no test suite
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver-1.tar.gz::https://github.com/tillitis/tkey-ssh-agent/archive/refs/tags/v$pkgver.tar.gz
+ runsign.sh.patch
+ fix-cgo.patch
+ "
+builddir="$srcdir/tkey-ssh-agent-$pkgver"
+
+build() {
+ make
+}
+
+package() {
+ install -Dm755 -t "$pkgdir/usr/bin" run* tkey-*
+
+ install -Dm644 -t "$pkgdir/usr/lib/udev/rules.d" system/*.rules
+
+ for app in blink nx random rng_stream signer timer; do
+ install -Dm644 -t "$pkgdir/usr/share/$pkgname/$app" apps/"$app"/app.bin
+ done
+
+ install -Dm644 -t "$pkgdir/usr/share/man/man1" system/tkey-ssh-agent.1
+ install -Dm644 -t "$pkgdir/usr/share/doc/$pkgname" README.md
+ install -Dm644 apps/rng_stream/README.md \
+ "$pkgdir/usr/share/doc/$pkgname"/rng_stream_app.md
+}
+
+sha512sums="
+ecf030429ab713aa7a367a038fdc4fb5d376a47602a083d26f3e377fd28fbd075f403faaa1bccc4cc1508809400c29028edd01a70b21f149532848eaf4441f1b tillitis-key1-apps-0.0.6-1.tar.gz
+260b8c636b0244b904b91eafee419d14356b4db6877e1fcdd4b1deda189c1ef93aba8291b8a51282fac39197a5e915caa6d492dfdfebb5a05b822d4d0faa9f25 runsign.sh.patch
+07985e7e035a011e91e8fc9ab2eb970939315b745085babca29d8183c63a4faa9e6dfa1f5c5baf2f7d435300605a3cfca84494b4ef24212756684cbc4798c218 fix-cgo.patch
+"
diff --git a/testing/tillitis-key1-apps/fix-cgo.patch b/testing/tillitis-key1-apps/fix-cgo.patch
new file mode 100644
index 00000000000..6db1f54a42e
--- /dev/null
+++ b/testing/tillitis-key1-apps/fix-cgo.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -64,7 +64,7 @@
+ .PHONY: tkey-ssh-agent
+ tkey-ssh-agent: apps
+ cp -af apps/signer/app.bin cmd/tkey-ssh-agent/app.bin
+- CGO_ENABLED=0 go build -ldflags "-X main.version=$(TKEY_SSH_AGENT_VERSION) -X main.signerAppNoTouch=$(TKEY_SIGNER_APP_NO_TOUCH)" -trimpath ./cmd/tkey-ssh-agent
++ go build -ldflags "-X main.version=$(TKEY_SSH_AGENT_VERSION) -X main.signerAppNoTouch=$(TKEY_SIGNER_APP_NO_TOUCH)" -trimpath ./cmd/tkey-ssh-agent
+
+ .PHONY: clean
+ clean:
diff --git a/testing/tillitis-key1-apps/runsign.sh.patch b/testing/tillitis-key1-apps/runsign.sh.patch
new file mode 100644
index 00000000000..0efd24997aa
--- /dev/null
+++ b/testing/tillitis-key1-apps/runsign.sh.patch
@@ -0,0 +1,11 @@
+As we ship the tkey-runapp and -sign binaries as well as the signer app.bin
+--- a/apps/signer/runsign.sh
++++ b/apps/signer/runsign.sh
+@@ -21,5 +21,5 @@ fi
+ msgf="$1"
+ shift
+
+-./tkey-runapp "$@" apps/signer/app.bin
+-./tkey-sign "$@" "$msgf"
++tkey-runapp "$@" /usr/share/tillitis-key1-apps/signer/app.bin
++tkey-sign "$@" "$msgf"
diff --git a/testing/time/APKBUILD b/testing/time/APKBUILD
index 5ec2845cdfd..ba4e759b81e 100644
--- a/testing/time/APKBUILD
+++ b/testing/time/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Sascha Paunovic <azarus@posteo.net>
pkgname=time
pkgver=1.9
-pkgrel=0
+pkgrel=1
pkgdesc="utility to measure execution time"
url="https://www.gnu.org/software/time/"
arch="all"
diff --git a/testing/timeshift/APKBUILD b/testing/timeshift/APKBUILD
new file mode 100644
index 00000000000..6b1a14c64c4
--- /dev/null
+++ b/testing/timeshift/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Robin Candau <robincandau@protonmail.com>
+# Maintainer: Robin Candau <robincandau@protonmail.com>
+pkgname=timeshift
+pkgver=24.01.1
+pkgrel=0
+pkgdesc="A system restore utility for Linux"
+url="https://github.com/linuxmint/timeshift"
+arch="all"
+license="GPL-2.0-or-later"
+depends="rsync cronie which xhost"
+makedepends="help2man meson vala gtk+3.0-dev json-glib-dev vte3-dev libgee-dev xapp-dev"
+subpackages="$pkgname-doc $pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/timeshift/archive/refs/tags/$pkgver.tar.gz"
+
+build() {
+ meson setup --prefix=/usr --buildtype=plain "$srcdir/$pkgname-$pkgver" build
+ meson compile -C build
+}
+
+check() {
+ meson test -C build
+}
+
+package() {
+ meson install -C build --destdir "$pkgdir"
+}
+
+sha512sums="
+9a370f62a07912cc73cff981c87f56ba14b4179890d4b7293866a5c72b8611b6490def4ffee0ea7fc6c3424f581e2adc08d456d9341a2ae8a87241d2f2c871e1 timeshift-24.01.1.tar.gz
+"
diff --git a/testing/timew/APKBUILD b/testing/timew/APKBUILD
index aa43ffa8233..20ced67de17 100644
--- a/testing/timew/APKBUILD
+++ b/testing/timew/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Matthieu Monnier <matthieu.monnier@enalean.com>
pkgname=timew
pkgver=1.4.3
-pkgrel=0
+pkgrel=1
pkgdesc="Timewarrior is a command line time tracking application"
options="!check" # No testsuite
url="https://taskwarrior.org/"
diff --git a/testing/timewarrior/APKBUILD b/testing/timewarrior/APKBUILD
new file mode 100644
index 00000000000..98ed7d1933b
--- /dev/null
+++ b/testing/timewarrior/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=timewarrior
+pkgver=1.7.1
+pkgrel=0
+pkgdesc="command line time tracking and reporting"
+url="https://timewarrior.net"
+arch="all"
+license="MIT"
+depends="python3"
+makedepends="cmake asciidoctor samurai"
+checkdepends="py3-dateutil mandoc"
+subpackages="$pkgname-doc"
+source="timewarrior-v$pkgver.tar.gz::https://github.com/GothenburgBitFactory/timewarrior/releases/download/v$pkgver/timew-$pkgver.tar.gz"
+builddir="$srcdir/timew-$pkgver"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+check() {
+ ninja -C build test
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ # install the refresh holiday scripts in /usr/bin/ for user convenience
+ chmod 755 "$pkgdir/usr/share/doc/timew/holidays/refresh"
+ ln -s /usr/share/doc/timew/holidays/refresh "$pkgdir/usr/bin/timew-refresh-holidays"
+
+ # remove useless man pages
+ rm -r "$pkgdir"/usr/share/man/
+}
+
+sha512sums="
+f28f6c47cc05d8055cc3fae9e96d1936554c685090a40f8af1995e5357947cb9bdfab0ec091f68693a566a876e06eda502de074900f7368a913e85d7e4cf87f1 timewarrior-v1.7.1.tar.gz
+"
diff --git a/testing/timg/APKBUILD b/testing/timg/APKBUILD
deleted file mode 100644
index 688b0839d30..00000000000
--- a/testing/timg/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=timg
-pkgver=0.9.9
-pkgrel=0
-pkgdesc="24-Bit color image viewer for terminal"
-url="https://github.com/hzeller/timg"
-arch="all"
-options="!check" # package doesn't have test
-license="GPL-2.0-only"
-makedepends="libwebp-dev graphicsmagick-dev freetype-dev xz-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/hzeller/timg/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-$pkgver"/src
-
-build() {
- make WITH_VIDEO_DECODING=0
-}
-
-package() {
- install -Dm755 timg "$pkgdir"/usr/bin/timg
-}
-
-sha512sums="f7e6d1d53631ee6b79c2770c3085768c2b4888d2c040f4f196bf543c919c1afde6cea08669d3a57f18fe5852d409e3499e9e1beb90ca07f7ad3c93a799a1d10d timg-0.9.9.tar.gz"
diff --git a/testing/tintin/APKBUILD b/testing/tintin/APKBUILD
new file mode 100644
index 00000000000..8e08f4dcfd7
--- /dev/null
+++ b/testing/tintin/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Lazy Walker <lazywalkerz@gmail.com>
+# Maintainer: Lazy Walker <lazywalkerz@gmail.com>
+pkgname=tintin
+pkgver=2.02.31
+pkgrel=0
+pkgdesc="TinTin++ (aka tt++) is a free Mud client with features an advanced automapper, scripting language and VT100 interface."
+url="https://tintin.mudhalla.net"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="zlib-dev gnutls-dev pcre-dev"
+source="https://downloads.sf.net/tintin/tintin-$pkgver.tar.gz"
+builddir="$srcdir/tt/src"
+options="!check"
+
+build() {
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+2084ac8903ded8ce7e24b6e3eb07cc0cd2c768113274a342042ae4d5ad3fb4a2e60702cba6efbd879c19e808648d20cbc4aaea1ecd808d7a5d0ca0b1493baaf5 tintin-2.02.31.tar.gz
+"
diff --git a/testing/tinycbor/0001-disable-failing-tests.patch b/testing/tinycbor/0001-disable-failing-tests.patch
new file mode 100644
index 00000000000..f0c406419ce
--- /dev/null
+++ b/testing/tinycbor/0001-disable-failing-tests.patch
@@ -0,0 +1,54 @@
+Comment out tests failing on at least one arch
+--- a/tests/tojson/tst_tojson.cpp
++++ b/tests/tojson/tst_tojson.cpp
+@@ -98,7 +98,7 @@
+ // negative integers
+ QTest::newRow("-1") << raw("\x20") << "-1";
+ QTest::newRow("-2") << raw("\x21") << "-2";
+- QTest::newRow("-2^53+1") << raw("\x3b\0\x1f\xff\xff""\xff\xff\xff\xfe") << "-9007199254740991";
++ //QTest::newRow("-2^53+1") << raw("\x3b\0\x1f\xff\xff""\xff\xff\xff\xfe") << "-9007199254740991";
+ QTest::newRow("-2^64+epsilon") << raw("\x3b\xff\xff\xff\xff""\xff\xff\xf8\x00") << "-18446744073709549568";
+
+ QTest::newRow("false") << raw("\xf4") << "false";
+@@ -123,8 +123,8 @@
+ QTest::newRow("2.^53-1") << raw("\xfb\x43\x3f\xff\xff""\xff\xff\xff\xff") << "9007199254740991";
+ QTest::newRow("2.f^64-epsilon") << raw("\xfa\x5f\x7f\xff\xff") << "18446742974197923840";
+ QTest::newRow("2.^64-epsilon") << raw("\xfb\x43\xef\xff\xff""\xff\xff\xff\xff") << "18446744073709549568";
+- QTest::newRow("2.f^64") << raw("\xfa\x5f\x80\0\0") << "1.8446744073709552e+19";
+- QTest::newRow("2.^64") << raw("\xfb\x43\xf0\0\0\0\0\0\0") << "1.8446744073709552e+19";
++ //QTest::newRow("2.f^64") << raw("\xfa\x5f\x80\0\0") << "1.8446744073709552e+19";
++ //QTest::newRow("2.^64") << raw("\xfb\x43\xf0\0\0\0\0\0\0") << "1.8446744073709552e+19";
+
+ // infinities and NaN are not supported in JSON, they convert to null
+ QTest::newRow("nan_f16") << raw("\xf9\x7e\x00") << "null";
+@@ -372,8 +372,8 @@
+ QTest::newRow("2.^53-1") << raw("\xfb\x43\x3f\xff\xff""\xff\xff\xff\xff") << "9007199254740991.";
+ QTest::newRow("2.f^64-epsilon") << raw("\xfa\x5f\x7f\xff\xff") << "18446742974197923840.f";
+ QTest::newRow("2.^64-epsilon") << raw("\xfb\x43\xef\xff\xff""\xff\xff\xff\xff") << "18446744073709549568.";
+- QTest::newRow("2.f^64") << raw("\xfa\x5f\x80\0\0") << "1.8446744073709552e+19f";
+- QTest::newRow("2.^64") << raw("\xfb\x43\xf0\0\0\0\0\0\0") << "1.8446744073709552e+19";
++ //QTest::newRow("2.f^64") << raw("\xfa\x5f\x80\0\0") << "1.8446744073709552e+19f";
++ //QTest::newRow("2.^64") << raw("\xfb\x43\xf0\0\0\0\0\0\0") << "1.8446744073709552e+19";
+
+ QTest::newRow("nan_f16") << raw("\xf9\x7e\x00") << "nan";
+ QTest::newRow("nan_f") << raw("\xfa\x7f\xc0\0\0") << "nan";
+@@ -556,7 +556,7 @@
+ QTest::newRow("emptytextstring") << raw("\x60") << QString();
+ QTest::newRow("textstring1") << raw("\x61 ") << QString();
+ QTest::newRow("0.5") << raw("\xfb\x3f\xe0\0\0\0\0\0\0") << QString();
+- QTest::newRow("2.^64") << raw("\xfb\x43\xf0\0\0\0\0\0\0") << QString();
++ //QTest::newRow("2.^64") << raw("\xfb\x43\xf0\0\0\0\0\0\0") << QString();
+ QTest::newRow("false") << raw("\xf4") << QString();
+ QTest::newRow("true") << raw("\xf5") << QString();
+ QTest::newRow("null") << raw("\xf6") << QString();
+@@ -589,8 +589,8 @@
+ << "\"t\":0,\"v\":\"+7ffffffffffffffe\"";
+ QTest::newRow("INT64_MAX+1") << raw("\x1b\x80\0\0\0""\0\0\0\1")
+ << "\"t\":0,\"v\":\"+8000000000000001\"";
+- QTest::newRow("-2^53-1") << raw("\x3b\0\x20\0\0""\0\0\0\0")
+- << "\"t\":0,\"v\":\"-20000000000000\"";
++ //QTest::newRow("-2^53-1") << raw("\x3b\0\x20\0\0""\0\0\0\0")
++ // << "\"t\":0,\"v\":\"-20000000000000\"";
+
+ // simple values
+ QTest::newRow("simple0") << raw("\xe0") << "\"t\":224,\"v\":0";
diff --git a/testing/tinycbor/APKBUILD b/testing/tinycbor/APKBUILD
index 7a84e5098c7..5f4f8918fcd 100644
--- a/testing/tinycbor/APKBUILD
+++ b/testing/tinycbor/APKBUILD
@@ -1,14 +1,18 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=tinycbor
-pkgver=0.5.4
-pkgrel=0
+pkgver=0.6.0
+pkgrel=1
pkgdesc="Concise Binary Object Representation (CBOR) Library"
url="https://github.com/intel/tinycbor"
checkdepends="qt5-qtbase-dev"
-arch="x86_64" # only works on x86_64
+# ppc64le: segfault in unit tests
+arch="all !ppc64le"
license="MIT"
subpackages="$pkgname-dev lib$pkgname:libs"
-source="$pkgname-$pkgver.tar.gz::https://github.com/intel/tinycbor/archive/v$pkgver.tar.gz"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/intel/tinycbor/archive/v$pkgver.tar.gz
+ 0001-disable-failing-tests.patch
+ "
build() {
make
@@ -24,5 +28,6 @@ package() {
}
sha512sums="
-49fbf2e071338abc7037f0451dd2a7fff1146b9f6535b629a388519f1f60e868f533befb8477f90e1260f4d5bb3ddada5be8ea16b8cfd23d8f882ac17e703442 tinycbor-0.5.4.tar.gz
+af1ed05c03d3aed56e35fdcaad3235992f96b5043b594c0246e600e4b1f085df78c5345beaac8758c2b5db2952ab83997019de5940857eecb81d84b6fb642093 tinycbor-0.6.0.tar.gz
+752a91386a98f8d5073e2d4ebefa099442232561972cd8149cbf2aea64fcf9344b6519142555173a87da24b225b214ef4083caa0baf6f98f82caa26de7ae1ab1 0001-disable-failing-tests.patch
"
diff --git a/testing/tinyscheme/APKBUILD b/testing/tinyscheme/APKBUILD
index 9718ffbbac0..2c69fe26f7d 100644
--- a/testing/tinyscheme/APKBUILD
+++ b/testing/tinyscheme/APKBUILD
@@ -1,9 +1,9 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=tinyscheme
pkgver=1.42
-pkgrel=0
+pkgrel=1
pkgdesc="lightweight Scheme interpreter implementing a large subset of R5RS"
-url="http://tinyscheme.sourceforge.net/home.html"
+url="https://tinyscheme.sourceforge.net/home.html"
arch="all"
license="BSD-3-Clause"
source="https://downloads.sourceforge.net/tinyscheme/tinyscheme-$pkgver.tar.gz"
diff --git a/testing/tiptop/APKBUILD b/testing/tiptop/APKBUILD
index 707aafaaf7e..a1a42e6f7e8 100644
--- a/testing/tiptop/APKBUILD
+++ b/testing/tiptop/APKBUILD
@@ -1,9 +1,9 @@
# Maintainer: Mitch Tishmack <mitch.tishmack@gmail.com>
pkgname=tiptop
pkgver=2.3.1
-pkgrel=0
+pkgrel=2
pkgdesc="Tiptop: Hardware Performance Counters for the Masses"
-url="http://tiptop.gforge.inria.fr"
+url="https://gitlab.inria.fr/rohou/tiptop"
# Note: This tool requires two things to work:
# 1: hardware counters in the cpu itself
# 2: support in the kernel perf framework to use them
@@ -15,7 +15,9 @@ arch="x86 x86_64"
license="GPL-2.0"
makedepends="byacc flex linux-headers ncurses-dev libxml2-dev"
subpackages="$pkgname-doc"
-source="http://tiptop.gforge.inria.fr/releases/tiptop-$pkgver.tar.gz"
+source="https://files.inria.fr/pacap/tiptop/tiptop-$pkgver.tar.gz
+ format-security.patch
+ "
# Note, arg parsing appears to happen after attempting a perf syscall
# so while it would be nice to run tiptop -h to validate the compile worked
# there is a chance it might error out for no reason than the system building
@@ -30,4 +32,8 @@ build() {
package() {
make install DESTDIR="$pkgdir"
}
-sha512sums="73d275bc3957583524c872b401cf4fa773de7b4e7b7177f1787851f43e7c4aeefd953eb50b2dbce3babfc7a1c46707370ba4ad06998260177994b2eafb91395b tiptop-2.3.1.tar.gz"
+
+sha512sums="
+73d275bc3957583524c872b401cf4fa773de7b4e7b7177f1787851f43e7c4aeefd953eb50b2dbce3babfc7a1c46707370ba4ad06998260177994b2eafb91395b tiptop-2.3.1.tar.gz
+ab588d526c20806e26e8d02fb0828cc5ecef94114993490c7ff869cc3f8d80af89f4e274414a27dc539ab456c3a0b8a3b9eb0d76a2e0a99d43031e9bd73203b1 format-security.patch
+"
diff --git a/testing/tiptop/format-security.patch b/testing/tiptop/format-security.patch
new file mode 100644
index 00000000000..f7bea792b68
--- /dev/null
+++ b/testing/tiptop/format-security.patch
@@ -0,0 +1,13 @@
+diff --git a/src/helpwin.c b/src/helpwin.c
+index 0d660f9..1623d9c 100644
+--- a/src/helpwin.c
++++ b/src/helpwin.c
+@@ -61,7 +61,7 @@ void show_help_win(WINDOW* win, screen_t* screen)
+ wattroff(win, A_REVERSE);
+
+ /* screen description */
+- mvwprintw(win, 2, 1, screen->desc);
++ mvwprintw(win, 2, 1, "%s", screen->desc);
+
+ /* max size of column headers */
+ for(i = 0; i < n; i++) {
diff --git a/testing/tkts/APKBUILD b/testing/tkts/APKBUILD
index 7a27d49638f..55d66b45cb1 100755..100644
--- a/testing/tkts/APKBUILD
+++ b/testing/tkts/APKBUILD
@@ -1,17 +1,23 @@
# Contributor: Will Sinatra <wpsinatra@gmail.com>
# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=tkts
-pkgver=1.0.1
+pkgver=2.0
pkgrel=0
pkgdesc="CLI single user ticketing system"
-url="http://lambdacreate.com/dev/tkts"
+url="https://lambdacreate.com/dev/tkts"
arch="all !s390x !riscv64" #fennel is not packaged for s390x
license="GPL-3.0-only"
-makedepends="fennel lua5.3-dev luarocks"
-source="https://gitlab.com/Durrendal/tkts/-/archive/v$pkgver/tkts-v$pkgver.tar.bz2"
+depends="lua5.3-lume lua5.3-lsqlite3 sqlite groff"
+makedepends="fennel lua5.3-dev sqlite-dev luarocks"
+source="https://gitlab.com/Durrendal/tkts/-/archive/v$pkgver/tkts-v$pkgver.tar.bz2
+ correct_paths.patch"
builddir="$srcdir/tkts-v$pkgver"
options="!check" #no checks exist
+prepare() {
+ default_prepare
+}
+
build() {
make compile-bin
}
@@ -20,4 +26,7 @@ package() {
install -Dm755 "$builddir"/src/tkts-bin "$pkgdir"/usr/bin/tkts
}
-sha512sums="47e2c966d91c1e482a393cbfd581db425b9716ccaa92479cfae8b70ec66bdae211d67644adf48b94ec6b5c6674c6fb3075922d807b8e1eadd8c96468adce5b82 tkts-v1.0.1.tar.bz2"
+sha512sums="
+cf8eaf41a7faa0146126a18d519d819e9c25ee18b45841244c0dc6d349d8b70d3e51c6e03711aa2d07332a191186e778c727bb564be38991517dabb6c55daebc tkts-v2.0.tar.bz2
+3aacc0b958a68fd5c92e0e09c4f2b5e2d8990f65709541cabcf26bd7f0580240c2a40900a5885d01fd5925261d0bad280d44d6b64d03323baa514d9e160c9156 correct_paths.patch
+"
diff --git a/testing/tkts/correct_paths.patch b/testing/tkts/correct_paths.patch
new file mode 100644
index 00000000000..0ebd08898bd
--- /dev/null
+++ b/testing/tkts/correct_paths.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -24,7 +24,7 @@
+
+ #Ask Techno about this one
+ compile-bin:
+- CC_OPTS="-L/usr/local/lib/lua/5.3/ -llsqlite3 -static" cd ./src/ && fennel --compile-binary tkts.fnl tkts-bin $(STATIC_LUA_LIB) $(LUA_INCLUDE_DIR) --native-module /usr/local/lib/lua/5.3/lsqlite3.so
++ CC_OPTS="-L/usr/lib/lua/5.3/ -llsqlite3 -static" cd ./src/ && fennel5.3 --compile-binary tkts.fnl tkts-bin $(STATIC_LUA_LIB) $(LUA_INCLUDE_DIR) --native-library /usr/lib/lua/5.3/lsqlite3.so
+
+ install-bin:
+ install ./src/tkts-bin -D $(DESTDIR)/tkts
diff --git a/testing/tldr-python-client/APKBUILD b/testing/tldr-python-client/APKBUILD
index a61cafb08ea..d1648bbcf91 100644
--- a/testing/tldr-python-client/APKBUILD
+++ b/testing/tldr-python-client/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Keith Toh <ktprograms@gmail.com>
pkgname=tldr-python-client
-pkgver=3.0.0
-pkgrel=0
+pkgver=3.2.0
+pkgrel=1
pkgdesc="Command line client for tldr, a collection of simplified and community-driven man pages"
url="https://github.com/tldr-pages/tldr-python-client"
arch="noarch"
@@ -9,8 +9,9 @@ license="MIT"
depends="python3 py3-shtab py3-colorama py3-termcolor"
makedepends="py3-setuptools py3-sphinx py3-sphinx-argparse"
checkdepends="py3-pytest"
-subpackages="$pkgname-doc"
+subpackages="$pkgname-doc $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/tldr-pages/tldr-python-client/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # string compare fails now
build() {
make -C docs/ man
@@ -23,10 +24,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
install -Dm644 LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname/
}
sha512sums="
-34d7698960e45b837e40e3208642fdd93e4a4214f16d8f58b0f5dd7c9ffa17eb19e1cf92d7af406189bb91ed1356b6215667d06814a406dba0e773be1837131e tldr-python-client-3.0.0.tar.gz
+1535979548b49cd8b0312f2cd11f69ba3f710e16a27c074dc5a8cb5617d7f343df30ba01a83388b460508ab519045140852767bfc8ff1189d612d71a3d35d76b tldr-python-client-3.2.0.tar.gz
"
diff --git a/testing/tlsrouter/APKBUILD b/testing/tlsrouter/APKBUILD
deleted file mode 100644
index f4f6d4b1217..00000000000
--- a/testing/tlsrouter/APKBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
-# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
-pkgname=tlsrouter
-pkgver=0_git20210817
-pkgrel=1
-_short_commit=b6bb9b5
-pkgdesc="tls proxy that routes connections to backends based on tls sni"
-pkgusers="tlsrouter"
-pkggroups="tlsrouter"
-url="https://github.com/inetaf/tcpproxy/tree/master/cmd/tlsrouter"
-arch="all"
-license="Apache-2.0"
-options="!check" # some tests are failing
-makedepends="go libcap"
-subpackages="$pkgname-openrc"
-install="$pkgname.pre-install"
-source="tlsrouter-$pkgver.tar.gz::https://github.com/inetaf/tcpproxy/tarball/$_short_commit
- $pkgname.initd
- $pkgname.confd
- go.mod
- go.sum
- "
-builddir="$srcdir/inetaf-tcpproxy-$_short_commit/cmd/tlsrouter"
-
-export GOFLAGS="$GOFLAGS -modcacherw"
-
-prepare() {
- default_prepare
- cp "$srcdir/go.mod" "$builddir"
- cp "$srcdir/go.sum" "$builddir"
-}
-
-build() {
- go build .
-}
-
-package() {
- install -Dm755 "$builddir/$pkgname" "$pkgdir/usr/bin/$pkgname"
-
- install -Dm755 "$srcdir/$pkgname.initd" \
- "$pkgdir/etc/init.d/$pkgname"
-
- install -Dm644 "$srcdir/$pkgname.confd" \
- "$pkgdir/etc/conf.d/$pkgname"
-
- install -d -m644 -o tlsrouter -g tlsrouter "$pkgdir"/etc/"$pkgname"
-
- setcap cap_net_bind_service=+ep "$pkgdir/usr/bin/$pkgname"
-}
-sha512sums="
-668dff16cdd7078b2fa1e363743ff642ef5e4bff20a7f320d855b6db8e69fd70b940875251950ec332ada8d1d4eb79649c30729fdf8a501e4fb5d8abc456de10 tlsrouter-0_git20210817.tar.gz
-495b26eaba88b57f4e363b7e89e302ba73c89a38f69c3c299ba4dd3531e5a2231c92b90c11d79a0199fbe602059c43ad52ae3d6cdfe532b350a884a90b21983e tlsrouter.initd
-7dde09a46fa706fc7ef511c034bd8e1cb58a29d55320cc5fae9fdd6a5dc053948cb28ef76f1f8893edd656a3b99dd222a54f660b12a220011fcb949c1f64874c tlsrouter.confd
-aa271f389bb13defd50234623e03ae4246db5a3c5fc81fa40f02f277b9cec1b463e61bd44151ffbfae5f579087d89da9d91cf2e54db8a011c0e3c6bb46933aae go.mod
-c9c7f86b7810aa098cc8dd5137502ec7683dc8141db07bc1dc0977b55f56adc2205219b76af96805a2d4ab7817a32f09f85df117e0179460a22a268f11f0e68c go.sum
-"
diff --git a/testing/tlsrouter/go.mod b/testing/tlsrouter/go.mod
deleted file mode 100644
index 1aac78ca5b5..00000000000
--- a/testing/tlsrouter/go.mod
+++ /dev/null
@@ -1,5 +0,0 @@
-module tlsrouter
-
-go 1.16
-
-require github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a
diff --git a/testing/tlsrouter/go.sum b/testing/tlsrouter/go.sum
deleted file mode 100644
index de51fb1c3dd..00000000000
--- a/testing/tlsrouter/go.sum
+++ /dev/null
@@ -1,2 +0,0 @@
-github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a h1:AP/vsCIvJZ129pdm9Ek7bH7yutN3hByqsMoNrWAxRQc=
-github.com/armon/go-proxyproto v0.0.0-20210323213023-7e956b284f0a/go.mod h1:QmP9hvJ91BbJmGVGSbutW19IC0Q9phDCLGaomwTJbgU=
diff --git a/testing/tlsrouter/tlsrouter.confd b/testing/tlsrouter/tlsrouter.confd
deleted file mode 100644
index 3332390b628..00000000000
--- a/testing/tlsrouter/tlsrouter.confd
+++ /dev/null
@@ -1,3 +0,0 @@
-# tlsrouter options
-
-tlsrouter_opts="-conf /etc/tlsrouter/tlsrouter.conf -listen :443"
diff --git a/testing/tlsrouter/tlsrouter.initd b/testing/tlsrouter/tlsrouter.initd
deleted file mode 100644
index 3f2bfa33884..00000000000
--- a/testing/tlsrouter/tlsrouter.initd
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/sbin/openrc-run
-
-supervisor=supervise-daemon
-
-name=tlsrouter
-command="/usr/bin/tlsrouter"
-command_args="$tlsrouter_opts"
-command_user="tlsrouter"
-start_stop_daemon_args="--quiet"
-
-depend() {
- need net
- after firewall
-}
diff --git a/testing/tlsrouter/tlsrouter.pre-install b/testing/tlsrouter/tlsrouter.pre-install
deleted file mode 100644
index f1821892cac..00000000000
--- a/testing/tlsrouter/tlsrouter.pre-install
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-addgroup -S tlsrouter 2>/dev/null
-adduser -S -D -h /var/lib/tlsrouter -s /sbin/nologin -G tlsrouter -g tlsrouter tlsrouter 2>/dev/null
-
-exit 0
diff --git a/testing/tlstunnel/APKBUILD b/testing/tlstunnel/APKBUILD
deleted file mode 100644
index 21c095a8564..00000000000
--- a/testing/tlstunnel/APKBUILD
+++ /dev/null
@@ -1,46 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=tlstunnel
-pkgver=0.1.3
-pkgrel=0
-pkgdesc="TLS reverse proxy"
-url="https://sr.ht/~emersion/tlstunnel/"
-license="MIT"
-arch="all"
-depends="ca-certificates"
-makedepends="go scdoc libcap"
-subpackages="$pkgname-doc $pkgname-openrc"
-pkgusers="$pkgname"
-pkggroups="$pkgname"
-install="$pkgname.pre-install"
-source="$pkgname-v$pkgver.tar.gz::https://git.sr.ht/~emersion/tlstunnel/archive/v$pkgver.tar.gz
- $pkgname.initd
- config
- "
-builddir="$srcdir/tlstunnel-v$pkgver"
-
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-export GOPATH="$srcdir"
-
-build() {
- make GOFLAGS="$GOFLAGS"
-}
-
-check() {
- go test ./...
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr BINDIR=/usr/sbin install
- setcap cap_net_bind_service=+ep "$pkgdir"/usr/sbin/tlstunnel
-
- install -Dm644 "$srcdir"/config "$pkgdir"/etc/tlstunnel/config
-
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
-}
-
-sha512sums="
-345592a4ca885d30eb4561470d8dcd4ad258b8f3a4933cb0252a11d87262c0d31e10cd5b9880866472c9112e758682e2690cc830c624dc0007e0775fe19b25cc tlstunnel-v0.1.3.tar.gz
-fd781358eb5fd1c1605b9330e0094108d758d9e9664e99a451ba5a58a52f68a4858cd2b6b75fcb3aeec05a81b72758ca49c1f18e6e3ecebe01ccf655ad53d3cc tlstunnel.initd
-a4ec6c1ff057b9ad5d9e9294725dbc03f937669da30956c33c11da86f8122740eb9d4989e7dd0ad3032e7351e8bf1f8fa4d2320771aa24d227ff766d20c05258 config
-"
diff --git a/testing/tlstunnel/config b/testing/tlstunnel/config
deleted file mode 100644
index 2b0f485e794..00000000000
--- a/testing/tlstunnel/config
+++ /dev/null
@@ -1 +0,0 @@
-# See tlstunnel(1) for supported directives
diff --git a/testing/tlstunnel/tlstunnel.initd b/testing/tlstunnel/tlstunnel.initd
deleted file mode 100644
index 3fb97cd6c4a..00000000000
--- a/testing/tlstunnel/tlstunnel.initd
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-
-name="tlstunnel"
-description="TLS reverse proxy"
-
-command=/usr/sbin/tlstunnel
-command_user=tlstunnel:tlstunnel
-
-extra_started_commands="reload"
-description_reload="Reload configuration"
-
-: ${error_log:=/var/log/tlstunnel.log}
-
-depend() {
- need net localmount
- after firewall
-}
-
-start_pre() {
- [ -n "$error_log" ] && checkpath -f -o tlstunnel:tlstunnel "$error_log"
-}
-
-reload() {
- ebegin "Reloading configuration"
- $supervisor $RC_SVCNAME --signal HUP
- eend $?
-}
diff --git a/testing/tlstunnel/tlstunnel.pre-install b/testing/tlstunnel/tlstunnel.pre-install
deleted file mode 100644
index e203b94bc5b..00000000000
--- a/testing/tlstunnel/tlstunnel.pre-install
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-user=tlstunnel
-group=tlstunnel
-
-addgroup -S $group 2>/dev/null
-adduser -S -D -h /var/lib/$user -s /sbin/nologin -G $group -g $user $user 2>/dev/null
-
-exit 0
diff --git a/testing/tmate/APKBUILD b/testing/tmate/APKBUILD
index cf4890dc293..1d5c095af38 100644
--- a/testing/tmate/APKBUILD
+++ b/testing/tmate/APKBUILD
@@ -1,16 +1,28 @@
# Maintainer: Daniel Isaksen <d@duniel.no>
pkgname=tmate
pkgver=2.4.0
-pkgrel=0
+pkgrel=4
pkgdesc="Instant Terminal Sharing"
url="https://tmate.io/"
arch="all"
license="ISC"
depends="ncurses-terminfo"
-makedepends="ncurses-dev libevent-dev autoconf automake bsd-compat-headers
- libtool zlib-dev libssh-dev msgpack-c-dev"
+makedepends="
+ autoconf
+ automake
+ bsd-compat-headers
+ libevent-dev
+ libssh-dev
+ libtool
+ msgpack-c-dev
+ ncurses-dev
+ zlib-dev
+ "
subpackages="$pkgname-doc"
-source="tmate-$pkgver.tar.gz::https://github.com/tmate-io/tmate/archive/$pkgver.tar.gz"
+source="tmate-$pkgver.tar.gz::https://github.com/tmate-io/tmate/archive/$pkgver.tar.gz
+ msgpack-c.patch
+ implicit-decl.patch
+ "
prepare() {
default_prepare
@@ -18,6 +30,7 @@ prepare() {
}
build() {
+ CFLAGS="$CFLAGS -D_GNU_SOURCE"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -42,4 +55,8 @@ package() {
done
}
-sha512sums="92d2ca354b295678bfc2747ca83a45ebafeaec40ebac94bd94c4926af4f820b3f3a087f365147f41c80d1c8ad032f52c697a2421839c39315d84f98f7eccada6 tmate-2.4.0.tar.gz"
+sha512sums="
+92d2ca354b295678bfc2747ca83a45ebafeaec40ebac94bd94c4926af4f820b3f3a087f365147f41c80d1c8ad032f52c697a2421839c39315d84f98f7eccada6 tmate-2.4.0.tar.gz
+39db11866fc76178630244da3d6d555a2090d9bab9a54425344767bda130b30931198af6eb0c775cbe6b4f14987e0271dd30b7110b0591ac94dfc81b32486036 msgpack-c.patch
+2d460f9caa6bf9bbd934512b545e8ef9c0616202aab7da7e4164f136efcffa341047a52b0c1879becd178fdb9e72914871916f0e2b5ac9990e95bbfd3ccb64a9 implicit-decl.patch
+"
diff --git a/testing/tmate/implicit-decl.patch b/testing/tmate/implicit-decl.patch
new file mode 100644
index 00000000000..2f8c97c2699
--- /dev/null
+++ b/testing/tmate/implicit-decl.patch
@@ -0,0 +1,12 @@
+diff --git a/tmux.h b/tmux.h
+index c60a044..ae356aa 100644
+--- a/tmux.h
++++ b/tmux.h
+@@ -25,6 +25,7 @@
+
+ #include <sys/time.h>
+ #include <sys/uio.h>
++#include <sys/types.h>
+
+ #include <event.h>
+ #include <limits.h>
diff --git a/testing/tmate/msgpack-c.patch b/testing/tmate/msgpack-c.patch
new file mode 100644
index 00000000000..b88f4629732
--- /dev/null
+++ b/testing/tmate/msgpack-c.patch
@@ -0,0 +1,13 @@
+diff --git a/configure.ac b/configure.ac
+index 028d555..9bbe2ae 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -201,7 +201,7 @@ fi
+
+ PKG_CHECK_MODULES(
+ MSGPACK,
+- msgpack >= 1.1.0,
++ msgpack-c >= 1.1.0,
+ [
+ CPPFLAGS="$MSGPACK_CFLAGS $CPPFLAGS"
+ LIBS="$MSGPACK_LIBS $LIBS"
diff --git a/testing/tmpl/APKBUILD b/testing/tmpl/APKBUILD
new file mode 100644
index 00000000000..eb506661841
--- /dev/null
+++ b/testing/tmpl/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Sergio Talens-Oliag <sto@mixinet.net>
+pkgname=tmpl
+pkgver=0.4.0
+pkgrel=3
+pkgdesc="Tool to process templates using Golang text/template and Sprig functions"
+url="https://github.com/krakozaure/tmpl"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="$pkgname-doc"
+options="!check" # no tests provided
+
+source="$pkgname-$pkgver.tar.gz::https://github.com/krakozaure/tmpl/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+build() {
+ go build -v -o . \
+ -ldflags "-s -w -X github.com/krakozaure/tmpl/version.Version=v$pkgver"
+}
+
+package() {
+ install -Dm755 tmpl -t "$pkgdir"/usr/bin/
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+b45306b2592cfc0faf3549347c19904e023715152ed56a3aae0cc653b1445b01ce65b4c5357ab0a34e74633c27054e25e0d0c3d09c6637702c1e220f753e1392 tmpl-0.4.0.tar.gz
+"
diff --git a/testing/tmpmail/APKBUILD b/testing/tmpmail/APKBUILD
new file mode 100644
index 00000000000..f2fac9a949f
--- /dev/null
+++ b/testing/tmpmail/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=tmpmail
+pkgver=1.2.3
+pkgrel=2
+pkgdesc="Temporary email right from your terminal written in POSIX sh"
+url="https://github.com/sdushantha/tmpmail"
+arch="noarch"
+license="MIT"
+options="!check" # no test suite
+depends="
+ w3m
+ curl
+ jq
+ cmd:xclip
+ cmd:column
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/sdushantha/tmpmail/archive/v$pkgver/tmpmail-$pkgver.tar.gz"
+
+package() {
+ install -Dm755 tmpmail -t "$pkgdir"/usr/bin/
+ install -Dm644 tmpmail.1 -t "$pkgdir"/usr/share/man/man1/
+ install -Dm644 LICENSE -t "$pkgdir"/usr/share/licenses/"$pkgname"/
+}
+
+sha512sums="
+50d9902957481cf9b8c71f1f2ef4e97b93ce9adb894965e074d5daa9ed013df27ba313d2c3288dbd2ae77fb89e05b3635512f9c06cc14ccf3f91db5870246389 tmpmail-1.2.3.tar.gz
+"
diff --git a/testing/tmux-resurrect/APKBUILD b/testing/tmux-resurrect/APKBUILD
new file mode 100644
index 00000000000..80d28dc04ca
--- /dev/null
+++ b/testing/tmux-resurrect/APKBUILD
@@ -0,0 +1,27 @@
+# Maintainer: Thomas Faughnan <tom@tjf.sh>
+pkgname=tmux-resurrect
+pkgver=4.0.0
+pkgrel=0
+pkgdesc="Persists tmux environment across system restarts"
+url="https://github.com/tmux-plugins/tmux-resurrect"
+arch="noarch"
+license="MIT"
+depends="tmux>=1.9 bash"
+options="!check" # Tests rely on symlinks to another package, broken in releases
+subpackages="$pkgname-doc"
+source="https://github.com/tmux-plugins/tmux-resurrect/archive/v$pkgver/$pkgname-$pkgver.tar.gz
+ ps.patch"
+
+package() {
+ mkdir -p "$pkgdir/usr/share/$pkgname"
+ cp -r resurrect.tmux scripts/ strategies/ save_command_strategies/ \
+ "$pkgdir/usr/share/$pkgname"
+
+ mkdir -p "$pkgdir/usr/share/doc/$pkgname"
+ install -m644 docs/* "$pkgdir/usr/share/doc/$pkgname"
+}
+
+sha512sums="
+d7ceaec7bb7c2160f43b97f1c8a5315d5cf83a511531b13f93298cb4a3ae12cf0642cbbbb3b3e42acf674615b13d0003b6915abdc70751900ab24554cf181115 tmux-resurrect-4.0.0.tar.gz
+a8f544910a58c48181ee7aceca0f008ba2a58d6768c0144bb23d44ef47eaa20581f22795cfa577b2767d2c5c996fd2cabd1d5e77ad6cae77f2d7927bd1f6c3aa ps.patch
+"
diff --git a/testing/tmux-resurrect/ps.patch b/testing/tmux-resurrect/ps.patch
new file mode 100644
index 00000000000..9c205f84c89
--- /dev/null
+++ b/testing/tmux-resurrect/ps.patch
@@ -0,0 +1,16 @@
+Author: Thomas Faughnan <tom@tjf.sh>
+URL: https://github.com/tmux-plugins/tmux-resurrect/pull/455 (awaiting upstream merge)
+Summary: Fix ps arguments to work for busybox
+diff --git a/save_command_strategies/ps.sh b/save_command_strategies/ps.sh
+index 544426c..15bb5aa 100755
+--- a/save_command_strategies/ps.sh
++++ b/save_command_strategies/ps.sh
+@@ -11,7 +11,7 @@ exit_safely_if_empty_ppid() {
+ }
+
+ full_command() {
+- ps -ao "ppid command" |
++ ps -ao "ppid,args" |
+ sed "s/^ *//" |
+ grep "^${PANE_PID}" |
+ cut -d' ' -f2-
diff --git a/testing/tmuxinator/APKBUILD b/testing/tmuxinator/APKBUILD
deleted file mode 100644
index 64ae9cfc72e..00000000000
--- a/testing/tmuxinator/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=tmuxinator
-pkgver=3.0.1
-pkgrel=0
-pkgdesc="manage complex tmux sessions easily"
-url="https://github.com/tmuxinator/tmuxinator"
-arch="noarch"
-license="MIT"
-depends="ruby ruby-erubi ruby-thor ruby-xdg"
-checkdepends="ruby-rspec"
-options="!check" # requires coveralls
-source="https://github.com/tmuxinator/tmuxinator/archive/v$pkgver/tmuxinator-$pkgver.tar.gz
- replace-erubis-with-erubi.patch
- tmuxinator-use-new-xdg-version.patch
- "
-
-build() {
- gem build tmuxinator.gemspec
-}
-
-check() {
- rspec
-}
-
-package() {
- local gemdir="$pkgdir/$(ruby -e 'puts Gem.default_dir')"
-
- gem install \
- --local \
- --install-dir "$gemdir" \
- --bindir "$pkgdir/usr/bin" \
- --ignore-dependencies \
- --no-document \
- --verbose \
- tmuxinator
-
- rm -r "$gemdir"/cache \
- "$gemdir"/extensions \
- "$gemdir"/doc \
- "$gemdir"/gems/tmuxinator-$pkgver/spec
-}
-
-sha512sums="
-f8ec32268c59b29e08a38a799b80f2651e3415fd2a25cd05f4015844fc6c62245888853edffe02f00bd1cde2f5a68bfd63c7b677709074036a7c6184842f943b tmuxinator-3.0.1.tar.gz
-fa44ab720408db175ccd7fc5cca8d3b8140def0015d9472ac152573bcc0856a3b14b04a647a09780ed583423c891d7c518859bd9712c74012f9f7f216af5306d replace-erubis-with-erubi.patch
-3fe03d4aa3e0202e1ba7c33f5c80fd8ec3217f59a3cbfc164298fec32dc9bbdcbc7adc19f30a449e1c989309743e06244c2c50a8ae6621c48d4dadb9511762ec tmuxinator-use-new-xdg-version.patch
-"
diff --git a/testing/tmuxinator/replace-erubis-with-erubi.patch b/testing/tmuxinator/replace-erubis-with-erubi.patch
deleted file mode 100644
index 6c6cf83f69f..00000000000
--- a/testing/tmuxinator/replace-erubis-with-erubi.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-Created from: https://github.com/tmuxinator/tmuxinator/pull/793
-diff --git a/lib/tmuxinator.rb b/lib/tmuxinator.rb
-index de4837e..6acf290 100644
---- a/lib/tmuxinator.rb
-+++ b/lib/tmuxinator.rb
-@@ -1,4 +1,4 @@
--require "erubis"
-+require "erubi"
- require "fileutils"
- require "shellwords"
- require "thor"
-diff --git a/lib/tmuxinator/cli.rb b/lib/tmuxinator/cli.rb
-index e54a9b0..032526c 100644
---- a/lib/tmuxinator/cli.rb
-+++ b/lib/tmuxinator/cli.rb
-@@ -169,7 +169,8 @@ module Tmuxinator
- def generate_project_file(name, path)
- template = Tmuxinator::Config.default? ? :default : :sample
- content = File.read(Tmuxinator::Config.send(template.to_sym))
-- erb = Erubis::Eruby.new(content).result(binding)
-+ erubi_content = Erubi::Engine.new(content).src
-+ erb = binding.instance_eval(erubi_content)
- File.open(path, "w") { |f| f.write(erb) }
- path
- end
-diff --git a/lib/tmuxinator/project.rb b/lib/tmuxinator/project.rb
-index d8066c9..df4e62a 100644
---- a/lib/tmuxinator/project.rb
-+++ b/lib/tmuxinator/project.rb
-@@ -47,7 +47,8 @@ module Tmuxinator
- @settings = parse_settings(args)
- @args = args
-
-- content = Erubis::Eruby.new(raw_content).result(binding)
-+ erubi_content = Erubi::Engine.new(raw_content).src
-+ content = binding.instance_eval(erubi_content)
- YAML.safe_load(content, aliases: true)
- rescue SyntaxError, StandardError => error
- raise "Failed to parse config file: #{error.message}"
-@@ -103,7 +104,7 @@ module Tmuxinator
-
- def self.render_template(template, bndg)
- content = File.read(template)
-- Erubis::Eruby.new(content).result(bndg)
-+ bndg.eval(Erubi::Engine.new(content).src)
- end
-
- def windows
-diff --git a/tmuxinator.gemspec b/tmuxinator.gemspec
-index 3fd8b30..1552b49 100644
---- a/tmuxinator.gemspec
-+++ b/tmuxinator.gemspec
-@@ -39,7 +39,7 @@ Gem::Specification.new do |s|
- s.required_rubygems_version = ">= 1.8.23"
- s.required_ruby_version = ">= 2.6.7"
-
-- s.add_dependency "erubis", "~> 2.6"
-+ s.add_dependency "erubi", "~> 1.10"
- s.add_dependency "thor", "~> 1.0"
- s.add_dependency "xdg", "~> 2.2", ">= 2.2.5"
-
diff --git a/testing/tmuxinator/tmuxinator-use-new-xdg-version.patch b/testing/tmuxinator/tmuxinator-use-new-xdg-version.patch
deleted file mode 100644
index 5cdc2c89ddb..00000000000
--- a/testing/tmuxinator/tmuxinator-use-new-xdg-version.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/tmuxinator.gemspec b/tmuxinator.gemspec
-index 1552b49..53de3fd 100644
---- a/tmuxinator.gemspec
-+++ b/tmuxinator.gemspec
-@@ -41,7 +41,7 @@ Gem::Specification.new do |s|
-
- s.add_dependency "erubi", "~> 1.10"
- s.add_dependency "thor", "~> 1.0"
-- s.add_dependency "xdg", "~> 2.2", ">= 2.2.5"
-+ s.add_dependency "xdg", "~> 5.3"
-
- s.add_development_dependency "activesupport", "< 5.0.0" # Please see issue #432
- s.add_development_dependency "awesome_print", "~> 1.2"
-diff --git a/lib/tmuxinator/config.rb b/lib/tmuxinator/config.rb
-index 9b64b75..79024c7 100644
---- a/lib/tmuxinator/config.rb
-+++ b/lib/tmuxinator/config.rb
-@@ -29,7 +29,8 @@ module Tmuxinator
- # a custom value. (e.g. if $XDG_CONFIG_HOME is set to ~/my-config, the
- # return value will be ~/my-config/tmuxinator)
- def xdg
-- XDG["CONFIG"].to_s + "/tmuxinator"
-+ config = XDG::Config.new
-+ (config.home + 'tmuxinator').to_s
- end
-
- def xdg?
diff --git a/testing/tncattach/APKBUILD b/testing/tncattach/APKBUILD
index 4adc4b88dfb..b44250c3d2f 100644
--- a/testing/tncattach/APKBUILD
+++ b/testing/tncattach/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Mathew Meins <mm@blackhelicopters.net>
pkgname=tncattach
pkgver=0.1.9
-pkgrel=0
+pkgrel=1
pkgdesc="Attach amateur radio TNC devices as network interfaces"
url="https://github.com/markqvist/tncattach"
arch="all"
diff --git a/testing/tnef/APKBUILD b/testing/tnef/APKBUILD
new file mode 100644
index 00000000000..9491a6dc35b
--- /dev/null
+++ b/testing/tnef/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
+# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
+
+pkgname=tnef
+pkgdesc="Program for unpacking ms-tnef MIME attachment"
+pkgver=1.4.18
+pkgrel=0
+arch='all'
+url="https://github.com/verdammelt/tnef"
+license='GPL-2.0-or-later '
+makedepends='autoconf automake'
+source="$pkgname-$pkgver.tar.gz::https://github.com/verdammelt/tnef/archive/$pkgver.tar.gz"
+options="!check" # no test suite
+subpackages="$pkgname-doc"
+
+prepare() {
+ autoreconf -fi
+ default_prepare
+}
+
+build() {
+ ./configure --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+bc53daaca9c260a804681c040d01f80bbd8b0d3597678c774975e988cdf83dad6b0d6c66b22e0d40ed2300efddef0bc663236ead4dfe687eb33af7f27dbb6000 tnef-1.4.18.tar.gz
+"
diff --git a/testing/toapk/APKBUILD b/testing/toapk/APKBUILD
index 4fdda5914d2..8995c4dcb09 100755..100644
--- a/testing/toapk/APKBUILD
+++ b/testing/toapk/APKBUILD
@@ -1,27 +1,32 @@
# Contributor: Will Sinatra <wpsinatra@gmail.com>
# Maintainer: Will Sinatra <wpsinatra@gmail.com>
pkgname=toapk
-pkgver=0.8
+pkgver=1.0
pkgrel=0
pkgdesc="PKGBUILD to APKBUILD Conversion Tool"
-url="http://lambdacreate.com/dev/toAPK"
-# riscv64 blocked by fennel
-arch="all !riscv64"
+url="https://lambdacreate.com/dev/toAPK"
+arch="all"
license="GPL-3.0-only"
makedepends="fennel lua5.3-dev"
-source="https://gitlab.com/Durrendal/toAPK/-/archive/v$pkgver/toAPK-v$pkgver.zip"
+depends="lua5.3-sec"
+source="https://gitlab.com/Durrendal/toAPK/-/archive/v$pkgver/toAPK-v$pkgver.tar.gz
+ fennel5.3.patch
+ "
builddir="$srcdir/toAPK-v$pkgver"
-check() {
- make test
-}
-
build() {
make compile-bin
}
+check() {
+ make test
+}
+
package() {
install -Dm755 "$builddir"/src/toAPK-bin "$pkgdir"/usr/bin/toAPK
}
-sha512sums="016cf582b3c3a516241421d6bf5977fbcb9b57038be54f963800ae32e8c728a860bf7732e0d0d1b1e0445a03604115a0fd169f3044a83d6cc93ae19add7e79ac toAPK-v0.8.zip"
+sha512sums="
+507280fdc24730186b9ee6697b28bc97294bc6cd27ee859e0f740cecbc64b2a0c98d5daf88f02710a1b98b1d9f49f5f86fc592c8029375c26a408e45def4b0cf toAPK-v1.0.tar.gz
+5db5acd8a441de3176b57793f55da0a529feb0128e3e53b3d5574b79782193cea9aa620c49179ee4b9c1e17e06f35424aef8352d71cf32b4096d9c4d1f8a081b fennel5.3.patch
+"
diff --git a/testing/toapk/fennel5.3.patch b/testing/toapk/fennel5.3.patch
new file mode 100644
index 00000000000..cee52fb2bf5
--- /dev/null
+++ b/testing/toapk/fennel5.3.patch
@@ -0,0 +1,22 @@
+diff --git a/Makefile b/Makefile
+index 471f5fc..d41ba40 100644
+--- a/Makefile
++++ b/Makefile
+@@ -9,7 +9,7 @@ LUA_INCLUDE_DIR ?= /usr/include/lua5.3
+ DESTDIR=/usr/bin
+
+ compile-lua:
+- fennel --compile src/toAPK.fnl > src/toAPK.lua
++ fennel5.3 --compile src/toAPK.fnl > src/toAPK.lua
+ sed -i '1 i\-- Author: Will Sinatra <wpsinatra@gmail.com> | License: GPLv3' src/toAPK.lua
+ sed -i '1 i\#!/usr/bin/$(LUA)' src/toAPK.lua
+
+@@ -17,7 +17,7 @@ install-lua:
+ install ./src/toAPK.lua -D $(DESTDIR)/toAPK
+
+ compile-bin:
+- cd ./src/ && fennel --compile-binary toAPK.fnl toAPK-bin $(STATIC_LUA_LIB) $(LUA_INCLUDE_DIR)
++ cd ./src/ && fennel5.3 --compile-binary toAPK.fnl toAPK-bin $(STATIC_LUA_LIB) $(LUA_INCLUDE_DIR)
+
+ install-bin:
+ install ./src/toAPK-bin -D $(DESTDIR)/toAPK
diff --git a/testing/today/APKBUILD b/testing/today/APKBUILD
new file mode 100644
index 00000000000..2d439a87562
--- /dev/null
+++ b/testing/today/APKBUILD
@@ -0,0 +1,22 @@
+# Maintainer: Pedro Lucas Porcellis <porcellis@eletrotupi.com>
+pkgname=today
+pkgver=6.1.4
+pkgrel=0
+pkgdesc="Script for keeping a daily journal"
+url="https://sr.ht/~sotirisp/today"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="vim"
+makedepends="scdoc"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~sotirisp/today/archive/v$pkgver.tar.gz"
+builddir="$srcdir/today-v$pkgver"
+options="!check" # no tests
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr install
+}
+
+sha512sums="
+195eb122b22dd0f241f992781ca69c5831dd1b87e44a634d0d4db3d0c395c2bbe0f01a8d472352ad248685411f9d25af0ccafa57aec92db4b6a79a48cb7431aa today-6.1.4.tar.gz
+"
diff --git a/testing/todoman/APKBUILD b/testing/todoman/APKBUILD
deleted file mode 100644
index 68807e0de5e..00000000000
--- a/testing/todoman/APKBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# Contributor: Philipp Glaum <p@pglaum.de>
-# Maintainer: Dhruvin Gandhi <contact@dhruvin.dev>
-pkgname=todoman
-_pyname=todoman
-pkgver=4.0.1
-pkgrel=0
-pkgdesc="A simple CalDav-based todo manager"
-url="https://pypi.org/project/todoman/"
-arch="noarch"
-license="ISC"
-depends="
- python3
- py3-atomicwrites
- py3-click
- py3-click-log
- py3-dateutil
- py3-humanize
- py3-icalendar
- py3-parsedatetime
- py3-tabulate
- py3-urwid
- py3-xdg
- "
-makedepends="
- py3-setuptools
- py3-setuptools_scm
- py3-sphinx
- py3-sphinx-autorun
- py3-sphinx-click
- "
-checkdepends="
- py-tox
- py3-flake8
- py3-flake8-import-order
- py3-freezegun
- py3-hypothesis
- py3-pytest
- py3-pytest-cov
- py3-pytest-runner
- "
-subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-zsh-completion"
-source="https://files.pythonhosted.org/packages/source/${_pyname:0:1}/$_pyname/$_pyname-$pkgver.tar.gz
- remove-rtd-theme.patch
- "
-
-build() {
- python3 setup.py build
- make -C docs man PYTHONPATH="$PWD"
-}
-
-check() {
- tox -e py39
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- install -Dm644 docs/build/man/todo.1 "$pkgdir"/usr/share/man/man1/todo.1
- install -Dm644 contrib/completion/bash/_todo \
- "$pkgdir"/usr/share/bash-completion/completions/_todo
- install -Dm644 contrib/completion/zsh/_todo \
- "$pkgdir"/usr/share/zsh/site-functions/_todo
-}
-
-sha512sums="
-606be4553330741bb664c2261ba33f9feb68023c38c4e5278febadae3c9267d5bcc0b63966a41ac3d2ec38f44c16f9368ec502d2ce1a782a9108ca4a38d9e04c todoman-4.0.1.tar.gz
-9804d9a2f28b3184a01975e48e6a86b3c54e672f5d172e52a02dba10a3927eab7fddad505feb6c5d8f7eba6af3bdc700144482c3e7cd94805938104b0727fb20 remove-rtd-theme.patch
-"
diff --git a/testing/todoman/remove-rtd-theme.patch b/testing/todoman/remove-rtd-theme.patch
deleted file mode 100644
index af3be74643a..00000000000
--- a/testing/todoman/remove-rtd-theme.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-todoman uses sphinx_rtd_theme to generate html docs. We remove it since
-we only generate the man pages. The theme also requires a version of
-node-sass, from its transitive as well as direct dependencies, which is
-incompatible with the nodejs packaged in aports.
-
---- a/docs/source/conf.py
-+++ b/docs/source/conf.py
-@@ -42,7 +42,6 @@
- "sphinx_autorun",
- "sphinx.ext.todo",
- "sphinx.ext.viewcode",
-- "sphinx_rtd_theme",
- ]
-
- source_suffix = ".rst"
-@@ -63,10 +62,6 @@
-
- # If true, `todo` and `todoList` produce output, else they produce nothing.
- todo_include_todos = True
--
--# -- Options for HTML output ----------------------------------------------
--
--html_theme = "sphinx_rtd_theme"
-
- # -- Options for manual page output ---------------------------------------
-
diff --git a/testing/tomcat9/APKBUILD b/testing/tomcat9/APKBUILD
index 59b0127183b..c64663d81a7 100644
--- a/testing/tomcat9/APKBUILD
+++ b/testing/tomcat9/APKBUILD
@@ -1,16 +1,15 @@
# Contributor: Holger Jaekel <holger.jaekel@gmx.de>
# Maintainer: Holger Jaekel <holger.jaekel@gmx.de>
pkgname=tomcat9
-pkgver=9.0.54
+pkgver=9.0.88
pkgrel=0
pkgdesc="Open source implementation of the Java Servlet 4.0 and JavaServer Pages 2.3 technologies"
url="https://tomcat.apache.org/"
-arch="noarch !x86 !armv7 !armhf !mips !mips64 !riscv64" # eclipse-ecj availability
+arch="noarch !x86 !armv7 !armhf !ppc64le !riscv64" # eclipse-ecj availability
license="Apache-2.0"
depends="eclipse-ecj java-common"
pkgusers="tomcat9"
pkggroups="tomcat9"
-makedepends="coreutils"
checkdepends="java-jre-headless"
install="$pkgname.pre-install"
subpackages="
@@ -19,7 +18,6 @@ subpackages="
$pkgname-doc
$pkgname-examples
"
-builddir="$srcdir/apache-tomcat-$pkgver-src/"
source="
https://archive.apache.org/dist/tomcat/tomcat-9/v$pkgver/bin/apache-tomcat-$pkgver.tar.gz
@@ -27,6 +25,24 @@ source="
"
builddir=$srcdir/apache-${pkgname//9/}-$pkgver
+# secfixes:
+# 9.0.80-r0:
+# - CVE-2023-41080
+# 9.0.73-r0:
+# - CVE-2023-28708
+# 9.0.71-r0:
+# - CVE-2023-24998
+# 9.0.70-r0:
+# - CVE-2022-45143
+# 9.0.68-r0:
+# - CVE-2022-42252
+# 9.0.64-r0:
+# - CVE-2022-34305
+# 9.0.63-r0:
+# - CVE-2022-29885
+# 9.0.58-r0:
+# - CVE-2022-23181
+
check() {
$builddir/bin/configtest.sh
}
@@ -36,7 +52,7 @@ package() {
install -dm 755 "$pkgdir"/usr/share/$pkgname
install -dm 755 "$pkgdir"/usr/share/$pkgname/bin
install -dm 755 "$pkgdir"/usr/share/java/$pkgname
- cp -dr --no-preserve=ownership bin "$pkgdir"/usr/share/$pkgname
+ cp -dr bin "$pkgdir"/usr/share/$pkgname
# commons-daemon and tomcat-natives are packaged on their own
chmod 644 "$pkgdir"/usr/share/$pkgname/bin/*.jar
chmod 755 "$pkgdir"/usr/share/$pkgname/bin/*.sh
@@ -109,6 +125,6 @@ openrc() {
}
sha512sums="
-83430f24d42186ce2ff51eeef2f7a5517048f37d9050c45cac1e3dba8926d61a1f7f5aba122a34a11ac1dbdd3c1f6d98671841047df139394d43751263de57c3 apache-tomcat-9.0.54.tar.gz
+b2668f50339afdd266dbdf3ff20a98632a5552910179eda272b65ea0b18be4bef8fa9988e3cfc77e4eae4b74ae1e7abe2483b0e427a07628ed50fed3a13eefb9 apache-tomcat-9.0.88.tar.gz
7d16b14977c22e1ae998d15a0a83a574624b62c722a0adbfd05a4105581eee347d38e366a269ebca4c8fa894c3718d6fbdcea0e0974d20407075ec2af6ea07a4 10-daemon.patch
"
diff --git a/testing/toml2json/APKBUILD b/testing/toml2json/APKBUILD
new file mode 100644
index 00000000000..ddde8f52bc8
--- /dev/null
+++ b/testing/toml2json/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=toml2json
+pkgver=1.3.1
+pkgrel=0
+pkgdesc="A very small CLI for converting TOML to JSON"
+url="https://github.com/woodruffw/toml2json"
+arch="all"
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/woodruffw/toml2json/archive/v$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+ae89a6cc3e3409c24f9c093036ab53d21c177775aec27c200b45971c94f1948c4140e64d17e634c097368ff2afd7ed2bbd29f51c7ef225b15a1dc88984750c6a toml2json-1.3.1.tar.gz
+"
diff --git a/testing/toot/01-skip-version-test.patch b/testing/toot/01-skip-version-test.patch
deleted file mode 100644
index d97d13ada32..00000000000
--- a/testing/toot/01-skip-version-test.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Skip the version test, since it breaks even with proper PYTHONPATH
-diff --git a/tests/test_version.py b/tests/test_version.py
-deleted file mode 100644
-index 375c431..0000000
---- a/tests/test_version.py
-+++ /dev/null
-@@ -1,8 +0,0 @@
--import toot
--from pkg_resources import get_distribution
--
--
--def test_version():
-- """Version specified in __version__ should be the same as the one
-- specified in setup.py."""
-- assert toot.__version__ == get_distribution('toot').version
diff --git a/testing/toot/APKBUILD b/testing/toot/APKBUILD
deleted file mode 100644
index cce0c9571e2..00000000000
--- a/testing/toot/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=toot
-_pyname=toot
-pkgver=0.28.0
-pkgrel=1
-pkgdesc="mastodon cli & tui"
-url="https://github.com/ihabunek/toot"
-arch="noarch"
-license="GPL-3.0-only"
-depends="python3 py3-setuptools py3-requests py3-beautifulsoup4 py3-wcwidth py3-urwid"
-makedepends="python3-dev"
-checkdepends="py3-pytest"
-source="
- https://files.pythonhosted.org/packages/source/${_pyname%${_pyname#?}}/$_pyname/$_pyname-$pkgver.tar.gz
- 01-skip-version-test.patch
- "
-
-build() {
- python3 setup.py build
-}
-
-check() {
- pytest -v
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="
-cb9ff64506a7f9c246506ec62b3b0bf4ac6adfedca44801a111d66df3c74d1ed8e2f01791aa1f76ec2bc9a6bd44beb3afc0b84e78c10a87f3ddaa4ae3473814e toot-0.28.0.tar.gz
-584bc6ec6a44c6b3a77430491fbb5a4f57ab71a4476b3fd93c1ea267f729262b69e115ada2f84696f9e93b0522ef682872dd7ba6585dfe2c20a0529e733d742e 01-skip-version-test.patch
-"
diff --git a/testing/tootik/APKBUILD b/testing/tootik/APKBUILD
new file mode 100644
index 00000000000..f907d782ef6
--- /dev/null
+++ b/testing/tootik/APKBUILD
@@ -0,0 +1,68 @@
+# Contributor: Celeste <cielesti@protonmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=tootik
+pkgver=0.9.5
+pkgrel=1
+pkgdesc="Federated nanoblogging service with Gemini frontend"
+url="https://github.com/dimkr/tootik"
+arch="all"
+license="Apache-2.0"
+depends_openrc="openssl"
+makedepends="go"
+install="$pkgname.pre-install"
+pkgusers="tootik"
+pkggroups="tootik"
+subpackages="$pkgname-openrc"
+source="https://github.com/dimkr/tootik/archive/refs/tags/$pkgver/tootik-$pkgver.tar.gz
+ tootik.cfg
+ tootik.initd
+ tootik.confd
+
+ fix-32bit-maxint.patch
+ "
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+export CGO_ENABLED=1
+export _GOTAGS="fts5"
+
+build() {
+ local _goldflags="
+ -X github.com/dimkr/tootik/buildinfo.Version=$pkgver
+ "
+
+ go generate -v ./migrations
+ go vet -v -tags "$_GOTAGS" ./...
+ go build -v -ldflags "$_goldflags" -tags "$_GOTAGS" ./cmd/tootik
+}
+
+check() {
+ ./tootik --version
+
+ # cleanup sqlite database files used by test/register_test.go
+ rm -vf /tmp/TestRegister*.sqlite3
+
+ go test -v -tags "$_GOTAGS" -timeout 30m ./...
+}
+
+package() {
+ install -Dm755 tootik -t "$pkgdir"/usr/bin/
+ install -dm750 -o tootik -g tootik "$pkgdir"/var/lib/tootik
+
+ install -dm750 -o tootik -g tootik "$pkgdir"/etc/tootik
+ install -Dm640 -o tootik -g tootik "$srcdir"/tootik.cfg \
+ -t "$pkgdir"/etc/tootik/
+
+ install -Dm755 "$srcdir"/tootik.initd "$pkgdir"/etc/init.d/tootik
+ install -Dm644 "$srcdir"/tootik.confd "$pkgdir"/etc/conf.d/tootik
+}
+
+sha512sums="
+1f2a75d7abbf730637152037498b8b6872c8f165a7b52c5603c89a10900b4875e6bb09f9c89864fd966294403b4fae19cc468dc87e84c0582f966f2e82ca76a5 tootik-0.9.5.tar.gz
+b86a8d3fe428244b05a93d137ea38253801ccc8a72e5e941083158d7f7323c3bb25a1e00d5b1d084ee18f486c7e24a2076a6aae69a2a99812ee21fb1c6d6922f tootik.cfg
+7999e43dc50604cc0d0d97292aed9ee5fc658b08b46fc4d92b21916246ee43b54b79ba9306b6196ac8b86d6d53498266a499cd31e90f22749f78bc5d5c404b19 tootik.initd
+11fa51d25baaeb295c80cf3e154eb1eab67f9633e23f01cc0a25c427af368746d536bff17de2153b5be925489e3f84ca5ba492a4a43c32aaf33b8c4d00d14fd6 tootik.confd
+b1a49015c1e5115e420d04b33290b5726fda492fcca71b71bf9083f5ea66259c38cda308df1abb0c033042ea0da9f910cb64f7be242f7ba4cfc6fda8ff576275 fix-32bit-maxint.patch
+"
diff --git a/testing/tootik/fix-32bit-maxint.patch b/testing/tootik/fix-32bit-maxint.patch
new file mode 100644
index 00000000000..c119e880fac
--- /dev/null
+++ b/testing/tootik/fix-32bit-maxint.patch
@@ -0,0 +1,24 @@
+Patch-Source: https://github.com/dimkr/tootik/commit/eba68e3c0f3eaeeb02d2fd25553fcdb61cd814ee.patch
+--
+From eba68e3c0f3eaeeb02d2fd25553fcdb61cd814ee Mon Sep 17 00:00:00 2001
+From: Dima Krasner <dima@dimakrasner.com>
+Date: Sun, 31 Mar 2024 09:18:28 +0300
+Subject: [PATCH] fix build failure on 32-bit architectures (fixes #56)
+
+---
+ cfg/cfg.go | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cfg/cfg.go b/cfg/cfg.go
+index 8cd17bb..3db5662 100644
+--- a/cfg/cfg.go
++++ b/cfg/cfg.go
+@@ -262,7 +262,7 @@ func (c *Config) FillDefaults() {
+ c.DeliveryTimeout = time.Minute * 5
+ }
+
+- if c.DeliveryWorkers <= 0 || c.DeliveryWorkers > math.MaxUint32 {
++ if c.DeliveryWorkers <= 0 || c.DeliveryWorkers > math.MaxInt {
+ c.DeliveryWorkers = 4
+ }
+
diff --git a/testing/tootik/tootik.cfg b/testing/tootik/tootik.cfg
new file mode 100644
index 00000000000..0dca7f4f02e
--- /dev/null
+++ b/testing/tootik/tootik.cfg
@@ -0,0 +1,63 @@
+{
+ "DatabaseOptions": "_journal_mode=WAL&_busy_timeout=5000",
+ "RegistrationInterval": 300000000000,
+ "MaxPostsLength": 3000,
+ "MaxPostsPerDay": 3000,
+ "PostThrottleFactor": 3000,
+ "PostThrottleUnit": 30000000000,
+ "EditThrottleFactor": 1,
+ "EditThrottleUnit": 30000000000,
+ "ShareThrottleFactor": 3000,
+ "ShareThrottleUnit": 30000000000,
+ "PollMaxOptions": 5,
+ "PollDuration": 2592000000000000,
+ "MaxDisplayNameLength": 30,
+ "MaxBioLength": 500,
+ "MinActorEditInterval": 1800000000000,
+ "MaxFollowsPerUser": 150,
+ "FollowAcceptTimeout": 172800000000000,
+ "PostsPerPage": 30,
+ "RepliesPerPage": 10,
+ "MaxOffset": 900,
+ "SharesPerPost": 1000,
+ "MaxRequestBodySize": 1048576,
+ "MaxRequestAge": 300000000000,
+ "CompactViewMaxRunes": 200,
+ "CompactViewMaxLines": 4,
+ "CacheUpdateTimeout": 5000000000,
+ "GeminiRequestTimeout": 30000000000,
+ "GopherRequestTimeout": 30000000000,
+ "LineWidth": 70,
+ "GuppyRequestTimeout": 30000000000,
+ "MaxGuppySessions": 30,
+ "GuppyChunkTimeout": 2000000000,
+ "GuppyResponseChunkSize": 512,
+ "MaxSentGuppyChunks": 8,
+ "DeliveryBatchSize": 16,
+ "DeliveryRetryInterval": 1800,
+ "MaxDeliveryAttempts": 5,
+ "DeliveryTimeout": 300000000000,
+ "DeliveryWorkers": 4,
+ "DeliveryWorkerBuffer": 16,
+ "OutboxPollingInterval": 5000000000,
+ "MaxActivitiesQueueSize": 10000,
+ "ActivitiesBatchSize": 64,
+ "ActivitiesPollingInterval": 5000000000,
+ "ActivitiesBatchDelay": 100000000,
+ "ActivityProcessingTimeout": 15000000000,
+ "MaxForwardingDepth": 5,
+ "MaxRecipients": 1000,
+ "MinActorAge": 3600000000000,
+ "ResolverCacheTTL": 259200000000000,
+ "ResolverRetryInterval": 21600000000000,
+ "ResolverMaxIdleConns": 128,
+ "ResolverIdleConnTimeout": 60000000000,
+ "MaxInstanceRecoveryTime": 2592000000000000,
+ "MaxResolverRequests": 16,
+ "FollowersSyncBatchSize": 64,
+ "FollowersSyncInterval": 259200000000000,
+ "NotesTTL": 2592000000000000,
+ "DeliveryTTL": 604800000000000,
+ "SharesTTL": 172800000000000,
+ "ActorTTL": 604800000000000
+}
diff --git a/testing/tootik/tootik.confd b/testing/tootik/tootik.confd
new file mode 100644
index 00000000000..ee6759289ed
--- /dev/null
+++ b/testing/tootik/tootik.confd
@@ -0,0 +1,56 @@
+# Configuration for /etc/init.d/tootik
+
+# Instance blocklist CSV file
+#blocklist=""
+
+# Uncomment to disable new user registration
+#disable_registration="yes"
+
+# HTTP(S) listening address
+#httpaddr=":8443"
+
+# Uncomment to serve HTTPS instead of HTTP
+# (requires httpscert and httpskey)
+#serve_https="yes"
+
+# HTTPS TLS certificate
+#httpscert="/etc/tootik/https-cert.pem"
+
+# HTTPS TLS key
+#httpskey="/etc/tootik/https-key.pem"
+
+# Domain name
+#tootik_domain="localhost.localdomain:8443"
+
+# Configuration file (Generated by `tootik -dumpcfg`)
+#tootik_cfg="/etc/tootik/tootik.cfg"
+
+# Database path
+#tootik_db="/var/lib/tootik/db.sqlite3"
+
+# Gemini listening address
+#gemaddr=":8965"
+
+# Gemini TLS certificate
+#gemcert="/etc/tootik/gemini-cert.pem"
+
+# Gemini TLS key
+#gemkey="/etc/tootik/gemini-key.pem"
+
+# Finger listening address
+#fingeraddr=":8079"
+
+# Gopher listening address
+#gopheraddr=":8070"
+
+# Guppy listening address
+#guppyaddr=":6775"
+
+# Logging verbosity (-4:debug 0:info 4:warn 8:error)
+#loglevel=0
+
+# Additional options to pass to Tootik
+#extra_opts=""
+
+# Uncomment to enable process supervision
+#supervisor=supervise-daemon
diff --git a/testing/tootik/tootik.initd b/testing/tootik/tootik.initd
new file mode 100644
index 00000000000..04037a7fc2f
--- /dev/null
+++ b/testing/tootik/tootik.initd
@@ -0,0 +1,73 @@
+#!/sbin/openrc-run
+
+name=tootik
+description="Tootik is a federated nanoblogging service for the small internet"
+
+: ${httpscert:="/etc/tootik/https-cert.pem"}
+: ${httpskey:="/etc/tootik/https-key.pem"}
+: ${gemcert:="/etc/tootik/gemini-cert.pem"}
+: ${gemkey:="/etc/tootik/gemini-key.pem"}
+: ${tootik_cfg:="/etc/tootik/tootik.cfg"}
+: ${tootik_db:="/var/lib/tootik/db.sqlite3"}
+
+command="/usr/bin/tootik"
+command_args="
+ ${blocklist:+-blocklist $blocklist}
+ ${httpaddr:+-addr $httpaddr}
+ ${tootik_domain:+-domain $tootik_domain}
+ -cfg $tootik_cfg
+ -db $tootik_db
+ ${gemaddr:+-gemaddr $gemaddr}
+ -gemcert $gemcert
+ -gemkey $gemkey
+ ${fingeraddr:+-fingeraddr $fingeraddr}
+ ${gopheraddr:+-gopheraddr $gopheraddr}
+ ${guppyaddr:+-guppyaddr $guppyaddr}
+ ${loglevel:+-loglevel $loglevel}
+ $extra_opts
+ "
+command_background="yes"
+command_user="tootik:tootik"
+pidfile="/run/${RC_SVCNAME}.pid"
+directory="/var/lib/tootik"
+error_log="/var/log/tootik.log"
+required_files="$tootik_cfg"
+
+if yesno "${disable_registration:-no}"; then
+ command_args="$command_args -closed"
+fi
+
+if yesno "${serve_https:-no}"; then
+ command_args="$command_args -cert $httpscert -key $httpskey"
+ required_files="$required_files $httpscert $httpskey"
+else
+ command_args="$command_args -plain"
+fi
+
+depend() {
+ need localmount net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -m 0750 -o "$command_user" \
+ "$directory" "/etc/tootik"
+
+ if [ ! -f "$gemcert" ] || [ ! -f "$gemkey" ]; then
+ gen_gemcert || return 1
+ fi
+
+ checkpath -f -m 0640 -o "$command_user" \
+ "$error_log" "$gemcert" "$gemkey" "$tootik_cfg"
+}
+
+gen_gemcert() {
+ local domain="${tootik_domain:-localhost.localdomain:8443}"
+
+ ebegin "Generating new Gemini TLS key & certificate for $domain"
+ openssl req -new -subj "/CN=$domain" -x509 -days 3650 \
+ -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 \
+ -sha256 -nodes -out "$gemcert" -keyout "$gemkey" \
+ 2>/dev/null
+ eend $?
+}
diff --git a/testing/tootik/tootik.pre-install b/testing/tootik/tootik.pre-install
new file mode 100644
index 00000000000..6609c9abfa5
--- /dev/null
+++ b/testing/tootik/tootik.pre-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+addgroup -S tootik 2>/dev/null
+adduser -S -D -H \
+ -h /var/lib/tootik \
+ -s /sbin/nologin \
+ -G tootik \
+ -g "Tootik federated nanoblogging service" \
+ tootik 2>/dev/null
+
+exit 0
diff --git a/testing/topgit/APKBUILD b/testing/topgit/APKBUILD
index 53124b80ca3..cdc7bdce4e3 100644
--- a/testing/topgit/APKBUILD
+++ b/testing/topgit/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Joseph Benden <joe@benden.us>
pkgname=topgit
pkgver=0.19.13
-pkgrel=0
+pkgrel=1
pkgdesc="A different patch queue manager"
arch="noarch"
url="https://github.com/mackyle/topgit"
@@ -11,7 +11,7 @@ options="!check"
depends="git gawk sed"
makedepends="perl"
subpackages="$pkgname-doc $pkgname-bash-completion"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgname-$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mackyle/topgit/archive/$pkgname-$pkgver.tar.gz"
builddir="$srcdir/$pkgname-$pkgname-$pkgver"
build() {
diff --git a/testing/topgrade/APKBUILD b/testing/topgrade/APKBUILD
deleted file mode 100644
index d1c865c6278..00000000000
--- a/testing/topgrade/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Sean McAvoy <seanmcavoy@gmail.com>
-# Maintainer: Sean McAvoy <seanmcavoy@gmail.com>
-pkgname=topgrade
-pkgver=8.1.2
-pkgrel=0
-pkgdesc="run upgrades of packages in OS and other package managers"
-url="https://github.com/r-darwish/topgrade"
-arch="all !s390x !mips !mips64 !riscv64"
-license="GPL-3.0-or-later"
-makedepends="rust cargo"
-subpackages="$pkgname-doc"
-source="topgrade-$pkgver.tar.gz::https://github.com/r-darwish/topgrade/archive/refs/tags/v$pkgver.tar.gz"
-
-build() {
- cargo build --release
-}
-
-check() {
- cargo test
-}
-
-package() {
- install -Dm755 target/release/topgrade "$pkgdir"/usr/bin/topgrade
- install -Dm644 topgrade.8 "$pkgdir"/usr/share/man/man8/topgrade.8
- install -Dm644 config.example.toml "$pkgdir"/usr/share/doc/topgrade/config.example.toml
- install -Dm644 LICENSE "$pkgdir"/usr/share/license/topgrade/LICENSE
-}
-
-sha512sums="
-78ecaea3019bb4d2f6cef70550a92ed1c026f58211bcc5d3bf7ebba560085c2a343277c10820e77e8778288490285770ed37ec9f27d40f3eb7ee5ad1996d470b topgrade-8.1.2.tar.gz
-"
diff --git a/testing/toppler/APKBUILD b/testing/toppler/APKBUILD
deleted file mode 100644
index f362668a6ee..00000000000
--- a/testing/toppler/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=toppler
-pkgver=1.1.6
-pkgrel=1
-pkgdesc="Clone of the Nebulus game on old 8 and 16 bit machines"
-url="http://toppler.sourceforge.net/"
-arch="all"
-license="GPL-2.0-only"
-depends="$pkgname-data"
-makedepends="sdl12-compat-dev sdl_mixer-dev libzip-dev"
-source="
- https://sourceforge.net/projects/aat-linux-repository/files/sources/alpine/toppler/toppler-$pkgver.tar.gz
- toppler.desktop
- "
-subpackages="$pkgname-data::noarch $pkgname-doc"
-
-prepare() {
- default_prepare
- update_config_guess
- update_config_sub
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --localstatedir=/usr/share/
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm644 "$srcdir"/toppler.desktop \
- "$pkgdir"/usr/share/applications/toppler.desktop
-}
-
-data() {
- pkgdesc="$pkgdesc (data files)"
- amove /usr/share/toppler
-}
-
-sha512sums="8debc79c971697c660eb918b84772d9e6f9a1a85c9660c43a52a49f19a31605ee3fabf526a88287916ef2e6073a938b4704536a3ef947d70d533a06d4569ab05 toppler-1.1.6.tar.gz
-bed53b15f35ab066248885116d0de5977668bd0dcbf25cd2e203b6b2d6b8a51a9c3f8683c00461efa74c32c05b57547e7397d73b58f0f46fc64620c479885cc6 toppler.desktop"
diff --git a/testing/toppler/toppler.desktop b/testing/toppler/toppler.desktop
deleted file mode 100644
index fe84a8f898e..00000000000
--- a/testing/toppler/toppler.desktop
+++ /dev/null
@@ -1,12 +0,0 @@
-[Desktop Entry]
-Encoding=UTF-8
-Categories=Application;Game;ArcadeGame;
-X-Desktop-File-Install-Version=0.2
-Name=Tower Toppler
-Comment=A clone of the 'Nebulus' game on old 8 and 16 bit machines.
-Comment[de]=Klon des alten Spiels 'Nebulus'
-Comment[cs]=Klon hry 'Nebulus' z dob 8 a 16 bitových poÄítaÄů.
-Icon=toppler
-Exec=/usr/bin/toppler
-Terminal=0
-Type=Application
diff --git a/testing/torrent-file-editor/APKBUILD b/testing/torrent-file-editor/APKBUILD
new file mode 100644
index 00000000000..e274b1ead18
--- /dev/null
+++ b/testing/torrent-file-editor/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=torrent-file-editor
+pkgver=0.3.18
+pkgrel=0
+pkgdesc="Qt based GUI tool designed to create and edit .torrent files"
+url="https://torrent-file-editor.github.io/"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cmake
+ qt6-qt5compat-dev
+ qt6-qtbase-dev
+ qt6-qttools-dev
+ samurai
+ "
+source="https://github.com/torrent-file-editor/torrent-file-editor/releases/download/v$pkgver/torrent-file-editor-$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_BUILD_TYPE=None \
+ -DENABLE_PCH=OFF \
+ -DQT6_BUILD=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+6e12a0422f142c2d8d53267ca3cb9e0df3f2295aca896859c3794c2be89318597d62e8f2862878a156c5a5529d950c36e524f9fe309447691871a2cf44c446ea torrent-file-editor-0.3.18.tar.gz
+"
diff --git a/testing/toss/APKBUILD b/testing/toss/APKBUILD
new file mode 100644
index 00000000000..7e677fc6734
--- /dev/null
+++ b/testing/toss/APKBUILD
@@ -0,0 +1,23 @@
+# Contributor: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+# Maintainer: Jonas <3426-spameier@users.gitlab.alpinelinux.org>
+pkgname=toss
+pkgver=1.1
+pkgrel=0
+pkgdesc="Dead simple LAN file transfers from the command line"
+url="https://github.com/zerotier/toss"
+arch="all"
+license="MIT"
+options="!check" # no checks provided
+source="$pkgname-$pkgver.tar.gz::https://github.com/zerotier/toss/archive/$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir"/usr/bin install
+}
+
+sha512sums="
+737a4be29e478493d6a4398be9b93aab66da4a5ea9c326c8db6159a930cc9af9b055bc97897acad66c2009021dcf3b0a25db3b30d8464729c78cb5cd66e2f37d toss-1.1.tar.gz
+"
diff --git a/testing/touchegg/APKBUILD b/testing/touchegg/APKBUILD
deleted file mode 100644
index 702b7ea826a..00000000000
--- a/testing/touchegg/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Sodface <sod@sodface.com>
-# Maintainer: Sodface <sod@sodface.com>
-pkgname=touchegg
-pkgver=2.0.13
-pkgrel=0
-pkgdesc="Multitouch gesture recognizer"
-url="https://github.com/JoseExposito/touchegg"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="cmake eudev-dev libinput-dev pugixml-dev cairo-dev libx11-dev
- libxtst-dev libxrandr-dev libxi-dev glib-dev gtk+3.0-dev"
-options="!check" # No test suite
-subpackages="$pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/JoseExposito/touchegg/archive/$pkgver.tar.gz
- $pkgname.initd"
-
-build() {
- cmake -B build . \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DUSE_SYSTEMD=off
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
- install -Dm755 "$srcdir"/touchegg.initd \
- "$pkgdir"/etc/init.d/touchegg
-}
-
-sha512sums="
-4db88b184da0363f35607655739b9b125f99261c3a65018258bb4adcb7f91fb0840b71044c7016245062865eecb7dcc04d05a9d1787c86f6074af26cadb53b0c touchegg-2.0.13.tar.gz
-4c334bfd81f372e700f57670c17b9bf52b37adc37a62ae466d47e6ae67e14df5dffff5b80b4c031f2dc46b00077d8be8fc18e87214c682fb4130d87e599fd597 touchegg.initd
-"
diff --git a/testing/touchegg/touchegg.initd b/testing/touchegg/touchegg.initd
deleted file mode 100644
index 874680f50da..00000000000
--- a/testing/touchegg/touchegg.initd
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/sbin/openrc-run
-
-description="Touchegg daemon"
-pidfile="/var/run/$RC_SVCNAME.pid"
-command="/usr/bin/touchegg"
-
-start() {
- ebegin "Starting $RC_SVCNAME"
- start-stop-daemon --start \
- --exec $command \
- --pidfile $pidfile \
- --make-pidfile \
- --quiet \
- --background \
- -- \
- --daemon
- eend $?
-}
-
-stop() {
- ebegin "Stopping $RC_SVCNAME"
- start-stop-daemon --stop \
- --pidfile $pidfile
- eend $?
-}
diff --git a/testing/toxcore/APKBUILD b/testing/toxcore/APKBUILD
deleted file mode 100644
index 709a9f5e47c..00000000000
--- a/testing/toxcore/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Maintainer: Jonathan Sieber <mail@strfry.org>
-pkgname=toxcore
-pkgver=0.2.12
-pkgrel=0
-pkgdesc="Tox communication project - Core Library"
-url="https://tox.chat/"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="linux-headers cmake libsodium-dev opus-dev libvpx-dev"
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/TokTok/c-toxcore/archive/v$pkgver.tar.gz"
-
-# Toxcore's tests do require networking and are not working properly in Travis-CI
-options="!check"
-
-builddir="$srcdir/c-$pkgname-$pkgver"
-
-build() {
- cmake . \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_INSTALL_LIBDIR=lib
-
- make
-}
-
-check() {
- make test
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- rm -f "$pkgdir"/usr/lib/*.a
-}
-
-sha512sums="c22f139cfff3a5aedf5fb08c33cae0dae3d6fbceec87867c81290e3bf9d2e13466a0e2bad8378a7a7ba1e9b7b9ad756712963461ae248102e4cab7d4691228d8 toxcore-0.2.12.tar.gz"
diff --git a/testing/toxic/APKBUILD b/testing/toxic/APKBUILD
deleted file mode 100644
index a84337eeb7f..00000000000
--- a/testing/toxic/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Maintainer: Jonathan Sieber <mail@strfry.org>
-pkgname=toxic
-pkgver=0.11.1
-pkgrel=0
-pkgdesc="ncurses-based Tox client"
-url="https://github.com/JFreegman/toxic"
-arch="all"
-license="GPL-3.0-or-later"
-options="!check"
-subpackages="$pkgname-doc"
-makedepends="toxcore-dev libconfig-dev ncurses-dev openal-soft-dev linux-headers
- libvpx-dev opus-dev libnotify-dev libqrencode-dev curl-dev libx11-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/JFreegman/toxic/archive/v$pkgver.tar.gz"
-
-build() {
- make
-}
-
-package() {
- make PREFIX="$pkgdir"/usr install
-}
-
-sha512sums="
-53fba05271020547e779d63bea777f90f56b61e3eb2775afabe92e047a8347b4a9166628bb59d2eaab2e36a1121d791206ac68ff6604cb06fac6aaddbb05e787 toxic-0.11.1.tar.gz
-"
diff --git a/testing/toybox/APKBUILD b/testing/toybox/APKBUILD
index db68dc14bcf..224f441cd31 100644
--- a/testing/toybox/APKBUILD
+++ b/testing/toybox/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: André Klitzing <aklitzing@gmail.com>
# Contributor: André Klitzing <aklitzing@gmail.com>
pkgname=toybox
-pkgver=0.8.6
+pkgver=0.8.10
pkgrel=0
pkgdesc="A BSD-licensed alternative to busybox"
arch="all"
@@ -12,6 +12,9 @@ makedepends="bash linux-headers"
source="https://landley.net/toybox/downloads/toybox-$pkgver.tar.gz"
build() {
+ # Disable FORTIFY until build is fixed
+ export CFLAGS=-U_FORTIFY_SOURCE
+
scripts/genconfig.sh
make defconfig
make
@@ -26,5 +29,5 @@ package() {
}
sha512sums="
-2d8f9cc3a6bd7ee5bd4bce77399916aa90cd8acb90448f4e1b79c605c7f854c19016f5eb3704f112855c8347e69f0f4dc42f9755dd2ec975ac7799d00bc597be toybox-0.8.6.tar.gz
+b2c36bc4e41741893a4fe039dd653f552ab987b948f78c1e5d04abb13ffbb8f898af636967739067877afef9ac0af10c259f674acdc4a80084a846fb02742461 toybox-0.8.10.tar.gz
"
diff --git a/testing/tpm2-pkcs11/APKBUILD b/testing/tpm2-pkcs11/APKBUILD
index 160c3750291..fd512789247 100644
--- a/testing/tpm2-pkcs11/APKBUILD
+++ b/testing/tpm2-pkcs11/APKBUILD
@@ -1,16 +1,17 @@
# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
# Maintainer:
pkgname=tpm2-pkcs11
-pkgver=1.5.0
-pkgrel=2
+pkgver=1.9.0
+pkgrel=1
pkgdesc="A PKCS#11 interface for TPM2 hardware"
url="https://github.com/tpm2-software/tpm2-pkcs11"
-arch="all"
+arch="all !armhf !armv7 !riscv64 !x86" # blocked by py3-tpm2-pytss
license="BSD-2-Clause"
depends="
bash
py3-asn1-modules
py3-cryptography
+ py3-tpm2-pytss
py3-yaml
python3
tpm2-tools
@@ -30,12 +31,13 @@ makedepends="
yaml-dev
"
options="!check" # Requires IBM TPM simulator
-subpackages="$pkgname-dev"
+subpackages="$pkgname-dev $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/tpm2-software/tpm2-pkcs11/archive/$pkgver.tar.gz"
prepare() {
- sed -i "s|m4_esyscmd_s(\[git describe .*\])|[$pkgver]|" configure.ac
default_prepare
+ sed -i '/git describe/d' bootstrap
+ echo "$pkgver" > VERSION
./bootstrap
}
@@ -44,14 +46,16 @@ build() {
--build=$CBUILD \
--host=$CHOST \
--target="$CTARGET" \
- --prefix=/usr \
+ --prefix=/usr
make
cd tools && python3 setup.py build
}
package() {
make DESTDIR="$pkgdir" install
- cd tools && python3 setup.py install --prefix=/usr --root="$pkgdir"
+ cd tools && python3 setup.py install --skip-build --root="$pkgdir"
}
-sha512sums="b9b39d3a689312cf8e0b2fa1bff55f7aab2d6f0af817e8b99ecd0bc46d9954e1ce12f8375b220519fef418af6c086b00bb85a12b7425883df5304ecb9911d7ce tpm2-pkcs11-1.5.0.tar.gz"
+sha512sums="
+711f6608c30013b549e810e457728c36944a108866b975b2725d99893c747fcd3f74cfdb977b0b59d00fd5d72d92ba6a28f6b014dfa76a10cdbfd3f7c9289694 tpm2-pkcs11-1.9.0.tar.gz
+"
diff --git a/testing/tpm2-tools/APKBUILD b/testing/tpm2-tools/APKBUILD
index 072f8c37d9f..9436e5cb357 100644
--- a/testing/tpm2-tools/APKBUILD
+++ b/testing/tpm2-tools/APKBUILD
@@ -1,27 +1,23 @@
+# Contributor: Steve McMaster <code@mcmaster.io>
# Contributor: Alexander Sack <asac@pantacor.com>
# Maintainer: Alexander Sack <asac@pantacor.com>
pkgname=tpm2-tools
-pkgver=5.2
-pkgrel=1
+pkgver=5.6
+pkgrel=0
pkgdesc="TPM2 Tools"
url="https://github.com/tpm2-software/tpm2-tools/"
arch="all"
license="BSD-2-Clause"
-makedepends="tpm2-tss-dev openssl1.1-compat-dev curl-dev util-linux-dev libtool
- autoconf automake"
-subpackages="$pkgname-bash-completion"
-source="https://github.com/tpm2-software/tpm2-tools/releases/download/$pkgver/tpm2-tools-$pkgver.tar.gz
- dont-generate-manpages-without-pandoc.patch
- char16_t.patch
+makedepends="
+ curl-dev
+ openssl-dev>3
+ tpm2-tss-dev
+ util-linux-dev
"
+subpackages="$pkgname-doc $pkgname-bash-completion"
+source="https://github.com/tpm2-software/tpm2-tools/releases/download/$pkgver/tpm2-tools-$pkgver.tar.gz"
options="!check"
-prepare() {
- default_prepare
-
- autoreconf -fi
-}
-
build() {
./configure \
--build=$CBUILD \
@@ -35,7 +31,5 @@ package() {
}
sha512sums="
-9fb5dc298717a8a57c89d286e3590370a096c81b14d2d8d4eb5fca140d66148a8e24727ee04fb02057bbfcc3ede50e93ba0ef22396888c9df48bf6f42a5d6e6b tpm2-tools-5.2.tar.gz
-2e0862c3c5d07cd40f655fa762a881a243fcf63c966f9867032057f7d7373fea94785929d8ef8bba8961bafa7d4549ebb3b90a09b15d6cfd8d3f08acfd488364 dont-generate-manpages-without-pandoc.patch
-a88ad5447a0f7b6f2e591a90376a699b5ea4f1b16b66a86ec7c5f196b239b7be73f6090e4181d36c9d7c12487532e86b7265c7c3f534fb1a57c55d3fb2fec12a char16_t.patch
+14216f29ed3ecca5fbe356ed3744c8b6b25a62ff11b2aed596d11101328c8bfd29a02f6ca5a218f9a4477a5e9648c50f0ae96e71de0b4ff5ea1f98ebeeb73cd7 tpm2-tools-5.6.tar.gz
"
diff --git a/testing/tpm2-tools/char16_t.patch b/testing/tpm2-tools/char16_t.patch
deleted file mode 100644
index 0173547a4ac..00000000000
--- a/testing/tpm2-tools/char16_t.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/lib/tpm2_eventlog_yaml.c b/lib/tpm2_eventlog_yaml.c
-index 6e6923e5..9b048db1 100644
---- a/lib/tpm2_eventlog_yaml.c
-+++ b/lib/tpm2_eventlog_yaml.c
-@@ -475,7 +475,7 @@ static bool yaml_uefi_var(UEFI_VARIABLE_DATA *data, size_t size, UINT32 type,
- tpm2_tool_output(" Description: \"");
- int i;
- for (i = 0; (wchar_t)loadopt->Description[i] != 0; i++) {
-- wchar_t c = (wchar_t)loadopt->Description[i];
-+ char16_t c = (char16_t)loadopt->Description[i];
- tpm2_tool_output("%lc", c);
- }
- tpm2_tool_output("\"\n");
diff --git a/testing/tpm2-tools/dont-generate-manpages-without-pandoc.patch b/testing/tpm2-tools/dont-generate-manpages-without-pandoc.patch
deleted file mode 100644
index a6830c3e51e..00000000000
--- a/testing/tpm2-tools/dont-generate-manpages-without-pandoc.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Author: Rasmus Thomsen <oss@cogitri.dev>
-Reason: The logic in the configure.ac is wrong: Pandoc is a hard requirement
-for the man pages and $srcdir/man/man1 always exists, so we need to use
-AND here and not OR.
-Upstream: No
-diff --git a/configure.ac b/configure.ac
-index 7b5c219..4331fd4 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -30,7 +30,7 @@ AS_IF(
- AM_CONDITIONAL([HAVE_PANDOC],[test "x${PANDOC}" = "xyes"])
- AM_CONDITIONAL(
- [HAVE_MAN_PAGES],
-- [test -d "${srcdir}/man/man1" -o "x${PANDOC}" = "xyes"])
-+ [test -d "${srcdir}/man/man1" -a "x${PANDOC}" = "xyes"])
-
- AC_ARG_ENABLE([fapi],
- [AS_HELP_STRING([--disable-fapi], [disable FAPI tools (default: auto)])],,
diff --git a/testing/traceroute/APKBUILD b/testing/traceroute/APKBUILD
deleted file mode 100644
index 58bab09257b..00000000000
--- a/testing/traceroute/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=traceroute
-pkgver=2.1.0
-pkgrel=0
-pkgdesc="New modern implementation of traceroute(8) utility for Linux systems"
-url="http://traceroute.sourceforge.net/"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="linux-headers"
-options="!check" # no tests
-subpackages="$pkgname-doc"
-source="
- https://downloads.sourceforge.net/traceroute/traceroute-$pkgver.tar.gz
- reproducible-build.patch
- "
-
-build() {
- make CFLAGS="$CFLAGS"
-}
-
-package() {
- make DESTDIR="$pkgdir" prefix=/usr install
-}
-
-sha512sums="
-3578007c734091ea0c906637c03fd133a8b0154fbf2e6b5c0c881184947918196bc03aeaf872d3bd53777b9b771cba5cf97f73fb5916bb53b75037f429b40ed3 traceroute-2.1.0.tar.gz
-ef3727593c857865b2bb955dfb0faab3be0c22ae6f47b521813b7fd2569a42cd78d74ddbff88fcf89379a6c28204cf502aa9f48166e5a6ac192b084e2543a3de reproducible-build.patch
-"
diff --git a/testing/traceroute/reproducible-build.patch b/testing/traceroute/reproducible-build.patch
deleted file mode 100644
index ee6b1f6fd19..00000000000
--- a/testing/traceroute/reproducible-build.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-from archlinux
----
-Author: Reiner Herrmann <reiner@reiner-h.de>
-Description: Sort lists of libraries/source/object files
- for deterministic linking order
-
---- a/Make.rules
-+++ b/Make.rules
-@@ -136,8 +136,8 @@
- _libs = $(strip $(foreach _lib,$(LIBDIRS),\
- $(if $(filter lib%,$(_lib)),\
- $(patsubst lib%,-l%,$(_lib)),\
-- $(wildcard $(srcdir)/$(_lib)/$(_lib).so \
-- $(srcdir)/$(_lib)/$(_lib).a))))
-+ $(sort $(wildcard $(srcdir)/$(_lib)/$(_lib).so \
-+ $(srcdir)/$(_lib)/$(_lib).a)))))
-
- override LIBS := $(_libs) -lm $(LIBS)
-
-@@ -166,7 +166,7 @@
- endif
- endif
-
--sources = $(wildcard *.c)
-+sources = $(sort $(wildcard *.c))
- OBJS = $(sources:.c=.$(obj))
-
-
---- a/default.rules
-+++ b/default.rules
-@@ -143,7 +143,7 @@
- ifeq ($(filter $(TARGET),$(EXEDIRS)),$(TARGET))
-
- ifeq ($(filter $(TARGET),$(MODUSERS)),$(TARGET))
--MOD_OBJS = $(wildcard $(foreach dir,$(MODDIRS),$(srcdir)/$(dir)/*.o))
-+MOD_OBJS = $(sort $(wildcard $(foreach dir,$(MODDIRS),$(srcdir)/$(dir)/*.o)))
- ifeq ($(shared),yes)
- override LDFLAGS := -rdynamic $(LDFLAGS)
- endif
diff --git a/testing/trafficserver9/10-fix-PATH_MAX-on-ppc64le.patch b/testing/trafficserver9/10-fix-PATH_MAX-on-ppc64le.patch
new file mode 100644
index 00000000000..0bc356a92fa
--- /dev/null
+++ b/testing/trafficserver9/10-fix-PATH_MAX-on-ppc64le.patch
@@ -0,0 +1,10 @@
+--- trafficserver-9.1.2.orig/src/tscore/ts_file.cc
++++ trafficserver-9.1.2/src/tscore/ts_file.cc
+@@ -22,6 +22,7 @@
+ #include <fcntl.h>
+ #include <sys/types.h>
+ #include <dirent.h>
++#include <limits.h>
+
+ namespace ts
+ {
diff --git a/testing/trafficserver9/20-adapt-trafficserver.patch b/testing/trafficserver9/20-adapt-trafficserver.patch
new file mode 100644
index 00000000000..baef863d9b6
--- /dev/null
+++ b/testing/trafficserver9/20-adapt-trafficserver.patch
@@ -0,0 +1,56 @@
+--- trafficserver-9.1.2.orig/rc/trafficserver.in
++++ trafficserver-9.1.2/rc/trafficserver.in
+@@ -62,6 +62,8 @@
+ DISTRIB_ID="debian" # also exists on Ubuntu
+ elif [ -e /etc/slackware-version ]; then
+ DISTRIB_ID="slackware"
++elif [ -e /etc/alpine-release ]; then
++ DISTRIB_ID="alpine"
+ elif [ "$UNAME_S" = "Darwin" ]; then
+ DISTRIB_ID="Darwin"
+ elif [ "$UNAME_S" = "FreeBSD" ]; then
+@@ -311,7 +313,7 @@
+ test "$?" -ne 0 -a "$?" -ne 1 && retval=1
+ test "x$VERBOSE" != "xno" && log_end_msg "$retval"
+ exit "$retval"
+- elif [ "$DISTRIB_ID" = "gentoo" ]; then
++ elif [ "$DISTRIB_ID" = "gentoo" -o "$DISTRIB_ID" = "alpine" ]; then
+ ebegin "Starting ${TS_PACKAGE_NAME}"
+ do_start
+ eend $?
+@@ -348,7 +350,7 @@
+ elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ action "Stopping ${TM_NAME}:" killproc -p $TM_PIDFILE -d 35 $TM_DAEMON
+ action "Stopping ${TS_NAME}:" killproc -p $TS_PIDFILE -d 35 $TS_DAEMON
+- elif [ "$DISTRIB_ID" = "gentoo" ]; then
++ elif [ "$DISTRIB_ID" = "gentoo" -o "$DISTRIB_ID" = "alpine" ]; then
+ ebegin "Stopping ${TS_PACKAGE_NAME}"
+ do_stop
+ eend $?
+@@ -396,7 +398,7 @@
+ exit "$retval"
+ elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ action "Reloading ${NAME}:" $TL_BINARY config reload
+- elif [ "$DISTRIB_ID" = "gentoo" ]; then
++ elif [ "$DISTRIB_ID" = "gentoo" -o "$DISTRIB_ID" = "alpine" ]; then
+ ebegin "Reloading ${NAME}"
+ $TL_BINARY config reload
+ eend $?
+@@ -460,7 +462,7 @@
+ status=$?
+ [ $status -eq 0 ] || /bin/echo -n "not "
+ echo "running."
+- elif [ "$DISTRIB_ID" = "FreeBSD" -o "$DISTRIB_ID" = "gentoo" -o "$DISTRIB_ID" = "nixos" ]; then
++ elif [ "$DISTRIB_ID" = "FreeBSD" -o "$DISTRIB_ID" = "gentoo" -o "$DISTRIB_ID" = "nixos" -o "$DISTRIB_ID" = "alpine" ]; then
+ if pgrep $TM_NAME > /dev/null ; then
+ echo "$TM_NAME running as pid `cat $TM_PIDFILE`" ; else
+ echo "$TM_NAME not running"
+@@ -492,7 +494,7 @@
+ echo "Usage: $SCRIPTNAME {start|stop|status|restart}" >&2
+ elif [ "$DISTRIB_ID" = "fedora" -o "$DISTRIB_ID" = "redhat" ]; then
+ echo "Usage: $0 {start|stop|status|restart|condrestart}"
+- elif [ "$DISTRIB_ID" = "gentoo" ]; then
++ elif [ "$DISTRIB_ID" = "gentoo" -o "$DISTRIB_ID" = "alpine" ]; then
+ echo "Usage: $0 {start|stop|reload|restart|status}"
+ elif [ "$DISTRIB_ID" = "suse" ]; then
+ echo "Usage: $0 {start|stop|restart|status}"
diff --git a/testing/trafficserver9/30-fix-perl-installation.patch b/testing/trafficserver9/30-fix-perl-installation.patch
new file mode 100644
index 00000000000..7afdfeee1c3
--- /dev/null
+++ b/testing/trafficserver9/30-fix-perl-installation.patch
@@ -0,0 +1,11 @@
+--- trafficserver-9.1.2.orig/lib/perl/Makefile.in
++++ trafficserver-9.1.2/lib/perl/Makefile.in
+@@ -696,7 +696,7 @@
+ # copy them to the build directory if we are building out of tree.
+ Makefile-pl: Makefile.PL $(top_builddir)/config.status
+ test -f "$(top_builddir)/$(subdir)/Makefile.PL" || cp -rf "$(srcdir)/." "$(top_builddir)/$(subdir)/"
+- $(PERL) Makefile.PL INSTALLDIRS=$(INSTALLDIRS) INSTALL_BASE=$(prefix) PREFIX=
++ $(PERL) Makefile.PL INSTALLDIRS=$(INSTALLDIRS) INSTALL_BASE= PREFIX=$(prefix)
+
+ clean-local:
+ -rm -f Makefile-pl
diff --git a/testing/trafficserver9/40-alpine-dir-layout.patch b/testing/trafficserver9/40-alpine-dir-layout.patch
new file mode 100644
index 00000000000..77e1c01640b
--- /dev/null
+++ b/testing/trafficserver9/40-alpine-dir-layout.patch
@@ -0,0 +1,28 @@
+diff -Nurp trafficserver-9.1.2.orig/config.layout trafficserver-9.1.2/config.layout
+--- trafficserver-9.1.2.orig/config.layout 2021-11-08 22:01:21.000000000 +0300
++++ trafficserver-9.1.2/config.layout 2022-06-12 01:45:35.469908177 +0300
+@@ -277,3 +277,24 @@
+ logdir: /var/log+
+ cachedir: /var/lib+
+ </Layout>
++
++# Alpine Linux path layout.
++<Layout Alpine>
++ prefix: /usr/
++ exec_prefix: ${prefix}
++ bindir: ${exec_prefix}/bin
++ sbindir: ${exec_prefix}/sbin
++ libdir: ${exec_prefix}/lib
++ libexecdir: ${exec_prefix}/libexec+
++ infodir: ${prefix}/share/info
++ mandir: ${prefix}/share/man
++ sysconfdir: /etc+
++ datadir: ${prefix}/share+
++ docdir: ${prefix}/share/doc+
++ installbuilddir: ${datadir}/build
++ includedir: ${prefix}/include
++ localstatedir: /var/lib
++ runtimedir: ${localstatedir}+
++ logdir: /var/log+
++ cachedir: /var/cache+
++</Layout>
diff --git a/testing/trafficserver9/APKBUILD b/testing/trafficserver9/APKBUILD
new file mode 100644
index 00000000000..43c6f7b1fa9
--- /dev/null
+++ b/testing/trafficserver9/APKBUILD
@@ -0,0 +1,286 @@
+# Contributor: Peter Shkenev <santurysim@gmail.com>
+# Maintainer: Peter Shkenev <santurysim@gmail.com>
+pkgname=trafficserver9
+_pkgreal=trafficserver
+pkgver=9.2.4
+pkgrel=0
+provides="trafficserver=$pkgver-r$pkgrel"
+pkgdesc="Fast, scalable and extensible HTTP/1.1 and HTTP/2 compliant caching proxy server"
+url="https://trafficserver.apache.org/"
+# other platforms are unsupported
+# ppc64le: luajit
+arch="x86_64 aarch64"
+license="Apache-2.0"
+makedepends="
+ curl-dev
+ flex
+ hwloc-dev
+ libcap-dev
+ libtool
+ libunwind-dev
+ luajit-dev
+ ncurses-dev
+ openssl-dev>3
+ pcre-dev
+ perl
+ zlib-dev
+ "
+options="!check" # test suite fails, reported to upstream
+subpackages="
+ $pkgname-doc
+ $pkgname-dev
+ perl-$pkgname:perl_ts:noarch
+ $pkgname-openrc
+ $pkgname-utils
+ $pkgname-plugin-base:plugin_base
+ $pkgname-plugin-authproxy:plugin_authproxy
+ $pkgname-plugin-backgroundfetch:plugin_backgroundfetch
+ $pkgname-plugin-s3auth:plugin_s3auth
+ $pkgname-plugin-cachekey:plugin_cachekey
+ $pkgname-plugin-cachepromote:plugin_cachepromote
+ $pkgname-plugin-cacherangerequests:plugin_cacherangerequests
+ $pkgname-plugin-combohandler:plugin_combohandler
+ $pkgname-plugin-confremap:plugin_confremap
+ $pkgname-plugin-esi:plugin_esi
+ $pkgname-plugin-escalate:plugin_escalate
+ $pkgname-plugin-generator:plugin_generator
+ $pkgname-plugin-compress:plugin_compress
+ $pkgname-plugin-headerrewrite:plugin_headerrewrite
+ $pkgname-plugin-healthchecks:plugin_healthchecks
+ $pkgname-plugin-lua:plugin_lua
+ $pkgname-plugin-regexremap:plugin_regexremap
+ $pkgname-plugin-regexrevalidate:plugin_regexrevalidate
+ $pkgname-plugin-statsoverhttp:plugin_statsoverhttp
+ $pkgname-plugin-tcpinfo:plugin_tcpinfo
+ $pkgname-plugin-xdebug:plugin_xdebug
+ $pkgname-plugin-certifier:plugin_certifier
+ $pkgname-plugin-multiplexer:plugin_multiplexer
+ $pkgname-plugin-prefetch:plugin_prefetch
+ $pkgname-plugin-remappurge:plugin_remappurge
+ "
+source="
+ https://dlcdn.apache.org/trafficserver/trafficserver-$pkgver.tar.bz2
+ 10-fix-PATH_MAX-on-ppc64le.patch
+ 20-adapt-trafficserver.patch
+ 30-fix-perl-installation.patch
+ 40-alpine-dir-layout.patch
+ no-execinfo.patch
+ fix-pthread.patch
+ trafficserver.initd
+ "
+install="$pkgname.pre-install $pkgname.post-install"
+builddir="$srcdir/$_pkgreal-$pkgver"
+pkgusers="trafficserver"
+pkggroups="trafficserver"
+
+# secfixes:
+# 9.2.4-r0:
+# - CVE-2024-31309
+# 9.2.3-r0:
+# - CVE-2023-39456
+# - CVE-2023-41752
+# - CVE-2023-44487
+
+build() {
+ # Layout contains all dir variables
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --enable-layout=Alpine \
+ --with-user=trafficserver \
+ --with-group=trafficserver
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
+ install -Dm755 "$srcdir"/trafficserver.initd "$pkgdir"/etc/init.d/trafficserver
+}
+
+perl_ts() {
+ pkgdesc="Perl modules for managing Apache Traffic Server"
+ depends="perl $depends"
+ amove usr/lib/perl5
+ amove usr/share/perl5
+}
+
+plugin_base() {
+ pkgdesc="Apache Traffic Server plugin core libraries"
+ amove usr/lib/plugin*
+ amove usr/libexec/trafficserver/libloader.so
+ amove usr/libexec/trafficserver/server_push_preload.so
+}
+
+plugin_authproxy() {
+ pkgdesc="Apache Traffic Server AuthProxy plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/authproxy.so
+}
+
+plugin_backgroundfetch() {
+ pkgdesc="Apache Traffic Server Background Fetch plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/background_fetch.so
+}
+
+plugin_s3auth() {
+ pkgdesc="Apache Traffic Server AWS S3 Authentication plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/s3_auth.so
+}
+
+plugin_cachekey() {
+ pkgdesc="Apache Traffic Server Cache Key and Parent Selection URL Manipulation plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/cachekey.so
+}
+
+plugin_cachepromote() {
+ pkgdesc="Apache Traffic Server Cache Promotion Policies plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/cache_promote.so
+}
+
+plugin_cacherangerequests() {
+ pkgdesc="Apache Traffic Server Cache Range Requests plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/cache_range_requests.so
+}
+
+plugin_combohandler() {
+ pkgdesc="Apache Traffic Server Combo Handler plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/combo_handler.so
+}
+
+plugin_confremap() {
+ pkgdesc="Apache Traffic Server Configuration Remap plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/conf_remap.so
+}
+
+plugin_esi() {
+ pkgdesc="Apache Traffic Server ESI plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/esi.so
+}
+
+plugin_escalate() {
+ pkgdesc="Apache Traffic Server Escalate plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/escalate.so
+}
+
+plugin_generator() {
+ pkgdesc="Apache Traffic Server Generator plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/generator.so
+}
+
+plugin_compress() {
+ pkgdesc="Apache Traffic Server Compress plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/compress.so
+}
+
+plugin_headerrewrite() {
+ pkgdesc="Apache Traffic Server Header Rewrite plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/header_rewrite.so
+}
+
+plugin_healthchecks() {
+ pkgdesc="Apache Traffic Server Health Checks plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/healthchecks.so
+}
+
+plugin_lua() {
+ pkgdesc="Apache Traffic Server Lua plugin"
+ depends="$pkgname-plugin-base luajit $depends"
+ amove usr/libexec/trafficserver/tslua.so
+}
+
+plugin_regexremap() {
+ pkgdesc="Apache Traffic Server Regex Remap plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/regex_remap.so
+}
+
+plugin_regexrevalidate() {
+ pkgdesc="Apache Traffic Server Regex Revalidate plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/regex_revalidate.so
+}
+
+plugin_statsoverhttp() {
+ pkgdesc="Apache Traffic Server Stats over HTTP plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/stats_over_http.so
+}
+
+plugin_tcpinfo() {
+ pkgdesc="Apache Traffic Server TPCinfo plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/tcpinfo.so
+}
+
+plugin_xdebug() {
+ pkgdesc="Apache Traffic Server XDebug plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/xdebug.so
+}
+
+plugin_certifier() {
+ pkgdesc="Apache Traffic Server Certifier plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/certifier.so
+}
+
+plugin_multiplexer() {
+ pkgdesc="Apache Traffic Server Multiplexer plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/multiplexer.so
+}
+
+plugin_prefetch() {
+ pkgdesc="Apache Traffic Server Prefetch plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/prefetch.so
+}
+
+plugin_remappurge() {
+ pkgdesc="Apache Traffic Server Remap Purge plugin"
+ depends="$pkgname-plugin-base $depends"
+ amove usr/libexec/trafficserver/remap_purge.so
+}
+
+utils() {
+ pkgdesc="Apache Traffic Server auxiliary utils"
+ depends="curl $depends"
+ amove usr/bin/traffic_cache_tool
+ amove usr/bin/traffic_crashlog
+ amove usr/bin/traffic_layout
+ amove usr/bin/traffic_logcat
+ amove usr/bin/traffic_logstats
+ amove usr/bin/traffic_top
+ amove usr/bin/traffic_via
+ amove usr/bin/tspush
+ amove usr/bin/tsxs
+}
+
+sha512sums="
+8f75a1997466ddfaa2fad7ba7ea20dd46c6442eae4d75cf26670feb4ed0dc16b71e14ebd4ecf907abefed9e8d37ce7d7735de578659183c63c42d09adc744888 trafficserver-9.2.4.tar.bz2
+fbbe4fd4024b4656a3d4f67bdace7ae3a65892d40a92c67245e277520dfd53d5e9eb7934b2d213dfecc4de6895c63ec67cef0edee7b43ba28319cfaa3c75ddf3 10-fix-PATH_MAX-on-ppc64le.patch
+fe9b8344979fc5da885203146f4052016401354aa5310c30edc0e89f714e47492b1ec900e5f8ca02bd1910f0d4b4f4512536d9e7db9cf87f127e7259aba315dd 20-adapt-trafficserver.patch
+47d7d83be1e7798bb905c217efab9480aa6e6218eb09317c20c457f454895016a6104818d86223a051c8adc40f42c7436aa607f73e505c939bd2d5dd8e5efa45 30-fix-perl-installation.patch
+791b5ea9620574b172587fb2fcde97da53ca4c4a64110f1e1e13b9e475ffa255753fd98933a2f0f1ef44a2bf7810f6828445147fc6dcc8a41869b62271a728ad 40-alpine-dir-layout.patch
+53a834590ae5e4487229895f60fd1e34858418419655e37c03f8c4a1075905b40449dde817f10b39173ac27391ec9a6e75839bb5a4d8f631d8fb9d479d0a8d15 no-execinfo.patch
+b675d57791d427a75dce63b35574bbf49192451cf022c5332c042d0e578c0d89ceff4c4c79ac71e323710c935c2735ceb0e0ebcd12709c5e67be44dce0c9d7fb fix-pthread.patch
+a4d2e91d92579ba8b0c5361b0f4fd490d7a90e8a170552428f4781432eca89503a87a2c6f571a342eb77db5a43baa03d779a1fbe37ce1f4bba24fe89d5c97e7d trafficserver.initd
+"
diff --git a/testing/trafficserver9/fix-pthread.patch b/testing/trafficserver9/fix-pthread.patch
new file mode 100644
index 00000000000..48774639d3a
--- /dev/null
+++ b/testing/trafficserver9/fix-pthread.patch
@@ -0,0 +1,22 @@
+--- a/include/tscore/ink_rwlock.h
++++ b/include/tscore/ink_rwlock.h
+@@ -40,7 +40,7 @@
+ // Instead of calling ink_rwlock_init(), an ink_rwlock instance can be initialized with one of thsee values.
+ //
+ ink_rwlock const INK_RWLOCK_INIT = PTHREAD_RWLOCK_INITIALIZER;
+-#if defined(linux)
++#if defined(linux) && defined(__GLIBC__)
+ ink_rwlock const INK_RWLOCK_INIT_NO_WRITER_STARVATION = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP;
+ #else
+ // Testing indicates that for MacOS/Darwin and FreeBSD, pthread rwlocks always prevent writer starvation.
+--- a/include/tscpp/util/TsSharedMutex.h
++++ b/include/tscpp/util/TsSharedMutex.h
+@@ -207,7 +207,7 @@
+ }
+ }
+
+-#if defined(linux)
++#if defined(linux) && defined(__GLIBC__)
+ // Use the initializer that prevents writer starvation.
+ //
+ pthread_rwlock_t _lock = PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP;
diff --git a/testing/trafficserver9/no-execinfo.patch b/testing/trafficserver9/no-execinfo.patch
new file mode 100644
index 00000000000..4cf9fc78ca1
--- /dev/null
+++ b/testing/trafficserver9/no-execinfo.patch
@@ -0,0 +1,49 @@
+diff --git a/include/tscore/Allocator.h b/include/tscore/Allocator.h
+index fd5200b..8b5ba64 100644
+--- a/include/tscore/Allocator.h
++++ b/include/tscore/Allocator.h
+@@ -45,7 +45,6 @@
+ #include "tscore/ink_queue.h"
+ #include "tscore/ink_defs.h"
+ #include "tscore/ink_resource.h"
+-#include <execinfo.h>
+
+ #define RND16(_x) (((_x) + 15) & ~15)
+
+@@ -200,14 +199,9 @@ public:
+ C *
+ alloc()
+ {
+- void *callstack[3];
+- int frames = backtrace(callstack, 3);
+ C *ptr = ClassAllocator<C, Destruct_on_free>::alloc();
+
+ const void *symbol = nullptr;
+- if (frames == 3 && callstack[2] != nullptr) {
+- symbol = callstack[2];
+- }
+
+ tracker.increment(symbol, (int64_t)sizeof(C), this->fl->name);
+ ink_mutex_acquire(&trackerLock);
+diff --git a/src/tscore/ink_resource.cc b/src/tscore/ink_resource.cc
+index 14a1904..d8160d3 100644
+--- a/src/tscore/ink_resource.cc
++++ b/src/tscore/ink_resource.cc
+@@ -24,7 +24,6 @@
+ #include "tscore/ink_assert.h"
+ #include "tscore/ink_atomic.h"
+ #include "tscore/ink_resource.h"
+-#include <execinfo.h>
+
+ int res_track_memory = 0; // Disabled by default
+ uint64_t ssl_memory_allocated = 0;
+--- a/iocore/eventsystem/P_UnixEThread.h
++++ b/iocore/eventsystem/P_UnixEThread.h
+@@ -32,7 +32,6 @@
+
+ #include "I_EThread.h"
+ #include "I_EventProcessor.h"
+-#include <execinfo.h>
+
+ const ink_hrtime DELAY_FOR_RETRY = HRTIME_MSECONDS(10);
+
diff --git a/testing/trafficserver9/trafficserver.initd b/testing/trafficserver9/trafficserver.initd
new file mode 100644
index 00000000000..13a9209593e
--- /dev/null
+++ b/testing/trafficserver9/trafficserver.initd
@@ -0,0 +1,43 @@
+#!/sbin/openrc-run
+
+name="Apache Traffic Server"
+command="/usr/bin/traffic_manager"
+command_background="yes"
+
+pidfile="/run/traffic_manager.pid"
+ts_pidfile=/var/lib/trafficserver/server.lock
+tm_pidfile=/var/lib/trafficserver/manager.lock
+
+tm_name="/usr/bin/traffic_manager"
+ts_name="/usr/bin/traffic_server"
+
+extra_started_commands="reload"
+
+depend() {
+ need net
+ after firewall
+}
+
+stop() {
+ ebegin "Stopping Apache Traffic Server manager"
+ start-stop-daemon --stop --quiet --retry=QUIT/30/KILL/5 --pidfile "$pidfile" --name "$tm_name"
+ eend $?
+
+ ebegin "Stopping remaining Apache Traffic Server manager instances"
+ start-stop-daemon --stop --quiet --retry=0/30/KILL/5 --exec "$ts_name"
+ eend $?
+
+ # Stop traffic_server instance
+ ebegin "Stopping remaining Apache Traffic Server instances"
+ start-stop-daemon --stop --quiet --retry=QUIT/30/KILL/5 --pidfile "$ts_pidfile" --name "$ts_name"
+ eend $?
+
+ # Clean up pidfiles
+ rm -f "$ts_pidfile" "$tm_pidfile"
+}
+
+reload() {
+ ebegin "Reloading Apache Traffic Server configuration"
+ traffic_ctl config reload
+ eend $?
+}
diff --git a/testing/trafficserver9/trafficserver9.post-install b/testing/trafficserver9/trafficserver9.post-install
new file mode 100644
index 00000000000..ad53532e11d
--- /dev/null
+++ b/testing/trafficserver9/trafficserver9.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+echo "Using rc-service trafficserver <cmd> is recommended over trafficserver <cmd>."
diff --git a/testing/trafficserver9/trafficserver9.pre-install b/testing/trafficserver9/trafficserver9.pre-install
new file mode 100644
index 00000000000..c8ceb213ade
--- /dev/null
+++ b/testing/trafficserver9/trafficserver9.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S trafficserver 2>/dev/null
+adduser -S -D -H -s /sbin/nologin -G trafficserver -g "Apache Traffic Server" trafficserver 2>/dev/null
+
+exit 0
diff --git a/testing/transmission-remote-gtk/APKBUILD b/testing/transmission-remote-gtk/APKBUILD
new file mode 100644
index 00000000000..ae6e34b77e5
--- /dev/null
+++ b/testing/transmission-remote-gtk/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Willow Barraco <contact@willowbarraco.fr>
+pkgname=transmission-remote-gtk
+pkgver=1.6.0
+pkgrel=0
+pkgdesc="GTK client for remote management of the Transmission BitTorrent client"
+url="https://github.com/transmission-remote-gtk/transmission-remote-gtk"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ appstream-glib-dev
+ geoip-dev
+ gtk+3.0-dev
+ json-glib-dev
+ libayatana-appindicator-dev
+ libsoup3-dev
+ meson
+ perl
+ "
+options="!check" # no tests
+source="https://github.com/transmission-remote-gtk/transmission-remote-gtk/releases/download/$pkgver/transmission-remote-gtk-$pkgver.tar.xz"
+subpackages="$pkgname-doc $pkgname-lang"
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+351079d91cc5b33c7955103cbc28d1010bf3d18668689ff5b690ff2214d9e44cdd9f841ebe207260d31c332650d6ae05a0d9ceb7696861c8be5beeae4d0a08d5 transmission-remote-gtk-1.6.0.tar.xz
+"
diff --git a/testing/tre/APKBUILD b/testing/tre/APKBUILD
index 48a9903f720..3cbd8ae68b1 100644
--- a/testing/tre/APKBUILD
+++ b/testing/tre/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Al-Hassan Abdel-Raouf <alhassanaraouf@disroot.org>
pkgname=tre
pkgver=0.8.0
-pkgrel=0
+pkgrel=2
pkgdesc="POSIX compliant regexp matching library"
options="!check" # No testsuite
url="https://laurikari.net/tre"
diff --git a/testing/tree-sitter-c-sharp/APKBUILD b/testing/tree-sitter-c-sharp/APKBUILD
new file mode 100644
index 00000000000..0ad08acd4be
--- /dev/null
+++ b/testing/tree-sitter-c-sharp/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-c-sharp
+pkgver=0.20.0
+pkgrel=1
+pkgdesc="C# Grammar for tree-sitter"
+url="https://github.com/tree-sitter/tree-sitter-c-sharp"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tree-sitter/tree-sitter-c-sharp/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+31530ff57d02b84c8e7e7183abb927c40839500afc225cfdbe685495962c3f129ea459efaf73abbb76951bfc14b890cbdfa9a847b3ae92c8db495d173d0e0e08 tree-sitter-c-sharp-0.20.0.tar.gz
+"
diff --git a/testing/tree-sitter-caddy/APKBUILD b/testing/tree-sitter-caddy/APKBUILD
new file mode 100644
index 00000000000..b2f71c21885
--- /dev/null
+++ b/testing/tree-sitter-caddy/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-caddy
+pkgver=0_git20230322
+_gitrev=65b60437983933d00809c8927e7d8a29ca26dfa3
+pkgrel=0
+pkgdesc="Caddyfile grammar for tree-sitter"
+url="https://github.com/Samonitari/tree-sitter-caddy"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+checkdepends="tree-sitter-cli"
+install_if="tree-sitter-grammars"
+subpackages="$pkgname-doc"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/Samonitari/tree-sitter-caddy/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+build() {
+ abuild-tree-sitter build
+}
+
+check() {
+ tree-sitter test
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+6bda2b1b7a7c4c4387021d26580eb99a91bc7756b737c7f7205428ea178744c4efafc38be3c8ad41065816113d127a2307c42bdaa05d9543d0b33fb8851865ee tree-sitter-caddy-65b60437983933d00809c8927e7d8a29ca26dfa3.tar.gz
+"
diff --git a/testing/tree-sitter-clojure/APKBUILD b/testing/tree-sitter-clojure/APKBUILD
new file mode 100644
index 00000000000..b18ebc53102
--- /dev/null
+++ b/testing/tree-sitter-clojure/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Alex McGrath <amk@amk.ie>
+# Maintainer: Alex McGrath <amk@amk.ie>
+pkgname=tree-sitter-clojure
+pkgver=0.0.12
+pkgrel=0
+pkgdesc="Clojure for tree-sitter"
+url="https://github.com/sogaiu/tree-sitter-clojure"
+arch="all"
+license="CC0-1.0"
+makedepends="tree-sitter-dev"
+checkdepends="tree-sitter-cli"
+install_if="tree-sitter-grammars"
+source="https://github.com/sogaiu/tree-sitter-clojure/archive/v$pkgver/tree-sitter-clojure-v$pkgver.tar.gz"
+
+build() {
+ abuild-tree-sitter build
+}
+
+check() {
+ tree-sitter test
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+1946c657b04307e686bee251ebeab5a74b11acf758eac0cd5e60269c0e1a9dad645966f38251e3c92b546ff25b13f2f1543d69662bb90bc991a12d1ed6dc6bb2 tree-sitter-clojure-v0.0.12.tar.gz
+"
diff --git a/testing/tree-sitter-dart/APKBUILD b/testing/tree-sitter-dart/APKBUILD
new file mode 100644
index 00000000000..f02d47db84e
--- /dev/null
+++ b/testing/tree-sitter-dart/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-dart
+pkgver=0_git20230123
+_gitrev=23e3921190eb9746cec64167f6110c987c7f95c6
+pkgrel=1
+pkgdesc="A tree-sitter grammar written for the dart programming language"
+url="https://github.com/ast-grep/tree-sitter-dart"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/ast-grep/tree-sitter-dart/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+bbbffe14d62791534f2f99af5874b49244e26bd6b66fc2c7bd48b64d170845baaf72e32d8e6018b6a631cd98dec9563d31f50c67c8f3c50aeb0eaa30b522df3d tree-sitter-dart-23e3921190eb9746cec64167f6110c987c7f95c6.tar.gz
+"
diff --git a/testing/tree-sitter-elixir/APKBUILD b/testing/tree-sitter-elixir/APKBUILD
new file mode 100644
index 00000000000..3e2c757160b
--- /dev/null
+++ b/testing/tree-sitter-elixir/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=tree-sitter-elixir
+pkgver=0.1.1
+pkgrel=0
+pkgdesc="Elixir grammar for tree-sitter"
+url="https://github.com/elixir-lang/tree-sitter-elixir"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="https://github.com/elixir-lang/tree-sitter-elixir/archive/v$pkgver/tree-sitter-elixir-$pkgver.tar.gz"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+d1ba3c9755004a281fa18785fe0d7d419f25fd50adcfb325724965dfcfb511043e3e385f79b71b7d0d35355767031575fad2c9f9eb3034cf93ff89eb61aa70c2 tree-sitter-elixir-0.1.1.tar.gz
+"
diff --git a/testing/tree-sitter-git-commit/APKBUILD b/testing/tree-sitter-git-commit/APKBUILD
new file mode 100644
index 00000000000..84c4255b3b5
--- /dev/null
+++ b/testing/tree-sitter-git-commit/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=tree-sitter-git-commit
+pkgver=0_git20211225
+_gitrev=066e395e1107df17183cf3ae4230f1a1406cc972
+pkgrel=2
+pkgdesc="Tree-sitter grammar for git commit messages"
+url="https://github.com/the-mikedavis/tree-sitter-git-commit"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="https://github.com/the-mikedavis/tree-sitter-git-commit/archive/$_gitrev/tree-sitter-git-commit-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+97927a961d0c81b92148c0e6dd6b5554493fed2002f7677305254b750644be53ce6837d8a6bccf857ea6b5c433bc60469d09700e9ce6ac52a2396edfe310f34d tree-sitter-git-commit-066e395e1107df17183cf3ae4230f1a1406cc972.tar.gz
+"
diff --git a/testing/tree-sitter-git-diff/APKBUILD b/testing/tree-sitter-git-diff/APKBUILD
new file mode 100644
index 00000000000..6c5c662c2aa
--- /dev/null
+++ b/testing/tree-sitter-git-diff/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=tree-sitter-git-diff
+pkgver=0_git20230730
+_gitrev=c165725c28e69b36c5799ff0e458713a844f1aaf
+pkgrel=0
+pkgdesc="Tree-sitter grammar for 'git diff' output"
+url="https://github.com/the-mikedavis/tree-sitter-diff"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="https://github.com/the-mikedavis/tree-sitter-diff/archive/$_gitrev/tree-sitter-git-diff-$_gitrev.tar.gz"
+builddir="$srcdir/tree-sitter-diff-$_gitrev"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+d8cb76b412f7ebd781a74c0a7857c859d634d11d89b0ce4b94c6066f97c027ef45caa946e209442efe67e3b219629b267870ffd2b3a4dc83cd4e98e2aecd7500 tree-sitter-git-diff-c165725c28e69b36c5799ff0e458713a844f1aaf.tar.gz
+"
diff --git a/testing/tree-sitter-git-rebase/APKBUILD b/testing/tree-sitter-git-rebase/APKBUILD
new file mode 100644
index 00000000000..feb3014770e
--- /dev/null
+++ b/testing/tree-sitter-git-rebase/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=tree-sitter-git-rebase
+pkgver=0_git20220110
+_gitrev=cb290f68e3e67c835f4eb5ced08c37acc91c464f
+pkgrel=2
+pkgdesc="Tree-sitter grammar for git's interactive rebase file"
+url="https://github.com/the-mikedavis/tree-sitter-git-rebase"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="https://github.com/the-mikedavis/tree-sitter-git-rebase/archive/$_gitrev/tree-sitter-git-rebase-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+88f9f0fb18660ef85f47142637de5f49016c3b98493e50b83adb0ecbba88e1861ee137c4c40f7056f0d4f2e6447bdda3cf7a25eb3965897ef3586080076a2b0f tree-sitter-git-rebase-cb290f68e3e67c835f4eb5ced08c37acc91c464f.tar.gz
+"
diff --git a/testing/tree-sitter-hare/APKBUILD b/testing/tree-sitter-hare/APKBUILD
new file mode 100644
index 00000000000..15616d8e460
--- /dev/null
+++ b/testing/tree-sitter-hare/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Pedro Lucas Porcellis <porcellis@eletrotupi.com>
+pkgname=tree-sitter-hare
+pkgver=0_git20230616
+_commit="7d9080c73eacb7b22900a71320058025615d57fa"
+pkgrel=1
+pkgdesc="Hare grammar for tree-sitter"
+url="https://git.sr.ht/~ghishadow/tree-sitter-hare"
+arch="all"
+license="GPL-3.0"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="
+ $pkgname-$_commit.tar.gz::https://git.sr.ht/~ghishadow/tree-sitter-hare/archive/$_commit.tar.gz
+ "
+options="!check" # no tests for shared lib
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+3e817ae02b39f67a32c2564db5961017736133a0afc747fe86c73c7910c881e57cc6ad3b9e473628e301759e60e20b45a8ad3df30147df93d094f49885befe5f tree-sitter-hare-7d9080c73eacb7b22900a71320058025615d57fa.tar.gz
+"
diff --git a/testing/tree-sitter-hcl/APKBUILD b/testing/tree-sitter-hcl/APKBUILD
new file mode 100644
index 00000000000..19465a2d2c9
--- /dev/null
+++ b/testing/tree-sitter-hcl/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Galen Abell <galen@galenabell.com>
+# Maintainer: Galen Abell <galen@galenabell.com>
+pkgname=tree-sitter-hcl
+pkgver=1.1.0
+pkgrel=1
+pkgdesc="tree-sitter grammar for HCL"
+url="https://github.com/MichaHoffmann/tree-sitter-hcl"
+arch="all"
+license="Apache-2.0"
+makedepends="tree-sitter-dev"
+checkdepends="tree-sitter-cli"
+install_if="tree-sitter-grammars"
+source="$pkgname-$pkgver.tar.gz::https://github.com/MichaHoffmann/tree-sitter-hcl/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ abuild-tree-sitter build
+}
+
+check() {
+ tree-sitter test
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+d8bf5d558d9eb378c3dd8b740463b25062f5cf4f12756e32058824e28e3114e51bbedccd0de2981503ef873d227e56bb7a5069e362c5e77f0f9bc0e3f8bfacd5 tree-sitter-hcl-1.1.0.tar.gz
+"
diff --git a/testing/tree-sitter-just/APKBUILD b/testing/tree-sitter-just/APKBUILD
new file mode 100644
index 00000000000..08fd8f269ca
--- /dev/null
+++ b/testing/tree-sitter-just/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-just
+pkgver=0_git20230318
+_gitrev=4e5f5f3ff37b12a1bbf664eb3966b3019e924594
+pkgrel=0
+pkgdesc="Treesitter grammar for Justfiles (casey/just)"
+url="https://github.com/IndianBoy42/tree-sitter-just"
+arch="all"
+license="Apache-2.0"
+makedepends="tree-sitter-dev"
+checkdepends="tree-sitter-cli"
+install_if="tree-sitter-grammars"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/IndianBoy42/tree-sitter-just/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+
+prepare() {
+ default_prepare
+
+ mv "$builddir"/queries/just/* -t "$builddir"/queries
+}
+
+build() {
+ abuild-tree-sitter build
+}
+
+check() {
+ tree-sitter test
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+ed40d42d6ca9d56d5ad6f55cd25534e482dae539a86f30149bb472d93b13ca9827f36bc6ab40d1e1f90a1e38f51ae3b354f547c11f17a9ddceb4d9391f233fb0 tree-sitter-just-4e5f5f3ff37b12a1bbf664eb3966b3019e924594.tar.gz
+"
diff --git a/testing/tree-sitter-kotlin/APKBUILD b/testing/tree-sitter-kotlin/APKBUILD
new file mode 100644
index 00000000000..910061e90d7
--- /dev/null
+++ b/testing/tree-sitter-kotlin/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-kotlin
+pkgver=0.3.5
+pkgrel=0
+pkgdesc="Kotlin grammar for Tree-Sitter"
+url="https://github.com/fwcd/tree-sitter-kotlin"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fwcd/tree-sitter-kotlin/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+b699463391cc811abb9368b59a789e8574e065573d93627e5a41590effe99f2318bda3bb1026e80435dc3cdd5998dc70955da15f57251394a0bbfcb5f60b8672 tree-sitter-kotlin-0.3.5.tar.gz
+"
diff --git a/testing/tree-sitter-make/APKBUILD b/testing/tree-sitter-make/APKBUILD
new file mode 100644
index 00000000000..ce6c32359dc
--- /dev/null
+++ b/testing/tree-sitter-make/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=tree-sitter-make
+pkgver=0_git20211216
+_gitrev=a4b9187417d6be349ee5fd4b6e77b4172c6827dd
+pkgrel=2
+pkgdesc="Tree-sitter grammar for Make"
+url="https://github.com/alemuller/tree-sitter-make"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="https://github.com/alemuller/tree-sitter-make/archive/$_gitrev/tree-sitter-make-$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+d2d33c64c97caa2e54ca3fcfd33d00e2ca9f3dbbdbeaa60308d2d34dbba9b8519980bc2f5331ee9159efcf4d942a412fb4e4bbff4c4f926ac14ecc767b788069 tree-sitter-make-a4b9187417d6be349ee5fd4b6e77b4172c6827dd.tar.gz
+"
diff --git a/testing/tree-sitter-markdown/APKBUILD b/testing/tree-sitter-markdown/APKBUILD
new file mode 100644
index 00000000000..a1990f3a5af
--- /dev/null
+++ b/testing/tree-sitter-markdown/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-markdown
+pkgver=0.2.3
+pkgrel=0
+pkgdesc="A markdown grammar for tree-sitter"
+url="https://github.com/Mdeiml/tree-sitter-markdown"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+subpackages="$pkgname-doc"
+provides="tree-sitter-markdown-inline=$pkgver-r$pkgrel"
+install_if="tree-sitter-grammars"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Mdeiml/tree-sitter-markdown/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests for shared lib
+
+_langs='markdown markdown-inline'
+
+build() {
+ local lang; for lang in $_langs; do
+ abuild-tree-sitter build -s "tree-sitter-$lang/src"
+ done
+}
+
+package() {
+ local lang; for lang in $_langs; do
+ DESTDIR="$pkgdir" abuild-tree-sitter install -s "tree-sitter-$lang/src"
+ done
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+8b6849d6dc964c82e45c3d18599d9f3e0ee9656a5085a9ec47f72d0343969e379ce190628a04dae64cb4ecdca2497e6d33ca7175e1f73796742a3ee6ffea743f tree-sitter-markdown-0.2.3.tar.gz
+"
diff --git a/testing/tree-sitter-nix/APKBUILD b/testing/tree-sitter-nix/APKBUILD
new file mode 100644
index 00000000000..ce107b7f426
--- /dev/null
+++ b/testing/tree-sitter-nix/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-nix
+pkgver=0_git20230713
+_gitrev=66e3e9ce9180ae08fc57372061006ef83f0abde7
+pkgrel=0
+pkgdesc="Nix grammar for tree-sitter"
+url="https://github.com/nix-community/tree-sitter-nix"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+subpackages="$pkgname-doc"
+install_if="tree-sitter-grammars"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/nix-community/tree-sitter-nix/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+9f2d3f44af8b0c4b17aae83112fdaa15e945e5cdd0938bc4f1043dfac762ba9d56e7e8f575d62dfbacc57447443cca7b9ff93ecc72721d393d25d3a2761891f9 tree-sitter-nix-66e3e9ce9180ae08fc57372061006ef83f0abde7.tar.gz
+"
diff --git a/testing/tree-sitter-ron/APKBUILD b/testing/tree-sitter-ron/APKBUILD
new file mode 100644
index 00000000000..73536a65455
--- /dev/null
+++ b/testing/tree-sitter-ron/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-ron
+pkgver=0_git20220508
+_gitrev=7762d709a0f7c1f9e269d0125a2e8a7a69006146
+pkgrel=1
+pkgdesc="Rusty Object Notation (RON) grammar for tree-sitter"
+url="https://github.com/zee-editor/tree-sitter-ron"
+arch="all"
+license="Apache-2.0"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="$pkgname-$_gitrev.tar.gz::https://github.com/zee-editor/tree-sitter-ron/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+da1b4e8154b8e2285982b27fa628aa72152cf1b6b5a90b0fab5109c5b6cdc3c217eb5cb13ba0306bf5fbec1c992ebd3e4d9042c81f982650542246ac82b2734b tree-sitter-ron-7762d709a0f7c1f9e269d0125a2e8a7a69006146.tar.gz
+"
diff --git a/testing/tree-sitter-scheme/APKBUILD b/testing/tree-sitter-scheme/APKBUILD
new file mode 100644
index 00000000000..5698269c61d
--- /dev/null
+++ b/testing/tree-sitter-scheme/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-scheme
+pkgver=0.6.0
+pkgrel=0
+pkgdesc="Scheme grammar for tree-sitter"
+url="https://github.com/6cdh/tree-sitter-scheme"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+subpackages="$pkgname-doc"
+install_if="tree-sitter-grammars"
+source="$pkgname-$pkgver.tar.gz::https://github.com/6cdh/tree-sitter-scheme/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+67eaf3a4ae9e338727005fe79a9d1b9887d28f54a9dc73c521be1fb759e3832e659d46186574e48bc616e1da695792e63e69eaafc3e36197d31541e1f98c3319 tree-sitter-scheme-0.6.0.tar.gz
+"
diff --git a/testing/tree-sitter-ssh-client-config/APKBUILD b/testing/tree-sitter-ssh-client-config/APKBUILD
new file mode 100644
index 00000000000..0fff7d11e05
--- /dev/null
+++ b/testing/tree-sitter-ssh-client-config/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-ssh-client-config
+pkgver=2024.4.18
+pkgrel=0
+pkgdesc="tree-sitter grammar for SSH client configuration files"
+url="https://github.com/metio/tree-sitter-ssh-client-config"
+arch="all"
+license="CC0-1.0"
+makedepends="tree-sitter-dev"
+install_if="tree-sitter-grammars"
+source="https://github.com/metio/tree-sitter-ssh-client-config/archive/refs/tags/$pkgver/tree-sitter-ssh-client-config-$pkgver.tar.gz"
+options="!check" # no tests for shared lib
+
+build() {
+ abuild-tree-sitter build
+}
+
+package() {
+ DESTDIR="$pkgdir" abuild-tree-sitter install
+}
+
+sha512sums="
+1d2416c1a51ff2dd2af8f5762efe5e83ddae4d149040017830f3e1d8b42e8eb8d7658ad0ac4cde101c7743e8ce5e89b33de40d96601a74cb7b76f567c9e626f9 tree-sitter-ssh-client-config-2024.4.18.tar.gz
+"
diff --git a/testing/tree-sitter-xml/APKBUILD b/testing/tree-sitter-xml/APKBUILD
new file mode 100644
index 00000000000..03162e7457e
--- /dev/null
+++ b/testing/tree-sitter-xml/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=tree-sitter-xml
+pkgver=0.6.2
+pkgrel=0
+pkgdesc="XML & DTD grammars for tree-sitter"
+url="https://github.com/ObserverOfTime/tree-sitter-xml"
+arch="all"
+license="MIT"
+makedepends="tree-sitter-dev"
+subpackages="$pkgname-doc"
+provides="tree-sitter-dtd=$pkgver-r$pkgrel"
+install_if="tree-sitter-grammars"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ObserverOfTime/tree-sitter-xml/archive/refs/tags/v$pkgver.tar.gz"
+options="!check" # no tests for shared lib
+
+_langs='xml dtd'
+
+build() {
+ local lang; for lang in $_langs; do
+ abuild-tree-sitter build -s "$lang/src"
+ done
+}
+
+package() {
+ local lang; for lang in $_langs; do
+ DESTDIR="$pkgdir" abuild-tree-sitter install -s "$lang/src" -q "$lang/queries"
+ done
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+5034affe959b3fb5112f8074dce196eab09f3d3e1ec154e77f0bfb119110c3cd5edaddbb11495b0f393d0dbc735e56ae25a968fa5bc6897ee8bb6a281e3c0fe8 tree-sitter-xml-0.6.2.tar.gz
+"
diff --git a/testing/treecat/APKBUILD b/testing/treecat/APKBUILD
new file mode 100644
index 00000000000..793cef25498
--- /dev/null
+++ b/testing/treecat/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Umar Getagazov <umar@handlerug.me>
+pkgname=treecat
+_commit=d277aed99eb48eef891b76916a61029989c41d2d
+pkgver=1.0.2_git20231128
+pkgrel=1
+pkgdesc="Serialize a directory to a tree diagram, and vice versa"
+url="https://sr.ht/~autumnull/treecat"
+arch="x86_64 aarch64 riscv64" # Hare
+license="WTFPL"
+makedepends="hare haredo scdoc"
+subpackages="$pkgname-doc"
+source="$pkgname-$_commit.tar.gz::https://git.sr.ht/~autumnull/treecat/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+
+build() {
+ haredo
+}
+
+check() {
+ haredo test
+}
+
+package() {
+ PREFIX="$pkgdir"/usr haredo install
+}
+
+sha512sums="
+dee6d7eaf5fe5d326cf424a3c6d28ec377970b97fc5dab37dcb410c7dd0551d3625617e85d879317a36b8d24b04044f1ce5bce47ae376f8abb211a7788ecca30 treecat-d277aed99eb48eef891b76916a61029989c41d2d.tar.gz
+"
diff --git a/testing/tremc/APKBUILD b/testing/tremc/APKBUILD
index fd53f1863ba..939885bdd84 100644
--- a/testing/tremc/APKBUILD
+++ b/testing/tremc/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
pkgname=tremc
-pkgver=0.9.2
+pkgver=0.9.3
pkgrel=0
pkgdesc="curses interface for transmission"
url="https://github.com/tremc/tremc"
@@ -10,12 +10,12 @@ license="GPL-3.0-only"
depends="python3"
options="!check" # no test suite
subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-zsh-completion"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tremc/tremc/archive/$pkgver.tar.gz"
package() {
make PREFIX=/usr DESTDIR="$pkgdir" install
}
sha512sums="
-d6d6d155ddac918d329226d5c3b53c63fd4fa0b98e30f1eb2cd2226ea598bd7dd81d72f747dc11f4a508bcc0453d90d774c1d8db6dac05ae1ecbc217290b7db3 tremc-0.9.2.tar.gz
+cbc40ce36eec1f641a6754933e7b009ca3d47e9a2d5091f7677f8005c466f6d0c744023b92e6b5aa93e736828390917c2b5f2f87ba6634d74016960b764467eb tremc-0.9.3.tar.gz
"
diff --git a/testing/trigger-rally/APKBUILD b/testing/trigger-rally/APKBUILD
index e9493bfb655..568c7c9e41e 100644
--- a/testing/trigger-rally/APKBUILD
+++ b/testing/trigger-rally/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=trigger-rally
pkgver=0.6.7
-pkgrel=0
+pkgrel=2
pkgdesc="Fast-paced free software rally racing game"
url="https://trigger-rally.sourceforge.io/"
arch="all"
diff --git a/testing/trippy/APKBUILD b/testing/trippy/APKBUILD
new file mode 100644
index 00000000000..c3e3abf892d
--- /dev/null
+++ b/testing/trippy/APKBUILD
@@ -0,0 +1,43 @@
+# Contributor: Simon Frankenberger <simon-alpine@fraho.eu>
+# Maintainer: Simon Frankenberger <simon-alpine@fraho.eu>
+pkgname=trippy
+pkgver=0.10.0
+pkgrel=0
+pkgdesc="combines the functionality of traceroute and ping and is designed to assist with the analysis of networking issues."
+url="https://github.com/fujiapple852/trippy/"
+arch="all"
+license="Apache-2.0"
+makedepends="cargo cargo-auditable"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/fujiapple852/trippy/archive/$pkgver/trippy-v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+ local compgen="target/release/trip --generate"
+ [ -d completions ] || mkdir -v completions
+ $compgen bash >"completions/$pkgname"
+ $compgen zsh >"completions/_$pkgname"
+}
+
+check() {
+ cargo auditable test --frozen
+}
+
+package() {
+ install -Dm 755 -t "$pkgdir"/usr/bin target/release/trip
+ install -Dm 644 -t "$pkgdir"/usr/share/doc/"$pkgname" README.md
+ install -Dm 644 "completions/$pkgname" -t "$pkgdir/usr/share/bash-completion/completions/"
+ install -Dm 644 "completions/_$pkgname" -t "$pkgdir/usr/share/zsh/site-functions/"
+}
+
+sha512sums="
+888812ba578c53403769df7c1192577e8e7e23fbcd529a21edba7fa2e0ac7f9463ca40e5f4137aa732bec8407d7b5252d485e4a5b2d29ef4a9da41e20eaa5bee trippy-v0.10.0.tar.gz
+"
diff --git a/testing/trivy/APKBUILD b/testing/trivy/APKBUILD
index 115dff7d435..7aaf9db023c 100644
--- a/testing/trivy/APKBUILD
+++ b/testing/trivy/APKBUILD
@@ -1,29 +1,34 @@
# Contributor: TBK <alpine@jjtc.eu>
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=trivy
-pkgver=0.22.0
-pkgrel=0
+pkgver=0.50.1
+pkgrel=2
pkgdesc="Simple and comprehensive vulnerability scanner for containers"
url="https://github.com/aquasecurity/trivy"
arch="all"
-# s390x, mips64: tests SIGSEGV: https://github.com/aquasecurity/trivy/issues/430
-arch="$arch !s390x !mips !mips64"
+# s390x: tests SIGSEGV: https://github.com/aquasecurity/trivy/issues/430
+arch="$arch !s390x"
license="Apache-2.0"
makedepends="btrfs-progs-dev go linux-headers lvm2-dev"
source="https://github.com/aquasecurity/trivy/archive/v$pkgver/trivy-$pkgver.tar.gz"
+options="net !check" # needs tinygo to turn go into wasm for tests
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- make build
+ go build -o trivy -ldflags "-X main.version=$pkgver" cmd/trivy/main.go
}
check() {
- make test
+ go test ./...
}
package() {
- install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
+ install -Dm755 trivy -t "$pkgdir"/usr/bin/
}
sha512sums="
-5a5453eea53931aab5cb32c2e68a8681f76d0c1e90c6ecbee62620712e546c6637b1fda9800a1f6a2c68bd0c56ddb650add47e5b5ca244c77533c14d33e31739 trivy-0.22.0.tar.gz
+b2ef68484f2102325c60cfae45ff7b1aaa61b73b52d0904380bd623980631bb83ad28f42bb1a15a26a2966bb00433280412503ba47e8bf65ee70618dc842d812 trivy-0.50.1.tar.gz
"
diff --git a/testing/trunk/APKBUILD b/testing/trunk/APKBUILD
new file mode 100644
index 00000000000..81f17ea9380
--- /dev/null
+++ b/testing/trunk/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=trunk
+pkgver=0.19.2
+pkgrel=0
+pkgdesc="Build, bundle & ship your Rust WASM application to the web"
+url="https://trunkrs.dev"
+arch="all !s390x" # nix
+license="MIT OR Apache-2.0"
+makedepends="
+ bzip2-dev
+ cargo
+ cargo-auditable
+ openssl-dev
+"
+depends="
+ rust
+ wasm-bindgen
+"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/trunk-rs/trunk/archive/refs/tags/v$pkgver.tar.gz
+"
+options="net"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen -- --skip tools::tests::download_and_install_binaries
+}
+
+package() {
+ install -Dm 755 target/release/trunk "$pkgdir"/usr/bin/trunk
+
+ for l in APACHE MIT
+ do
+ install -Dm 644 LICENSE-"$l" "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE-"$l"
+ done
+}
+
+sha512sums="
+0b107f5fb9ab96a3738d614efae38da254f57a36715d5591c2d8b5542b028152f48cf3f27edb715b5dc072014514e620e776d0774e937152b8df213c2619b7ba trunk-0.19.2.tar.gz
+"
diff --git a/testing/tsung/0005-Do-not-install-manpages-in-main-install.patch b/testing/tsung/0005-Do-not-install-manpages-in-main-install.patch
index d87071a7609..72a70a031d7 100644
--- a/testing/tsung/0005-Do-not-install-manpages-in-main-install.patch
+++ b/testing/tsung/0005-Do-not-install-manpages-in-main-install.patch
@@ -1,6 +1,8 @@
---- tsung-445d78213bb4360d78df3753b3e23e6a28d701f0/Makefile.in
-+++ tsung-445d78213bb4360d78df3753b3e23e6a28d701f0/Makefile.in
-@@ -211,6 +211,12 @@
+diff --git a/Makefile.in b/Makefile.in
+index 2906962..0ec4025 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -211,6 +211,12 @@ clean:
-rm -f $(EBIN)/*.beam tsung.sh tsung.spec tsung.xml tsung.sh tsung-recorder.sh
-rm -f *.xml config.log src/test/*.xml src/test/usersdb.csv
@@ -13,7 +15,7 @@
install: tsung doc install_recorder install_controller $(CONFFILE)
-rm -f $(TMP)
-@@ -230,10 +236,6 @@
+@@ -230,10 +236,6 @@ install: tsung doc install_recorder install_controller $(CONFFILE)
install -pm 0644 $(SRC) $(DESTDIR)$(TARGETDIR)/src/
@@ -24,13 +26,13 @@
# create startup script
install -pm 0755 tsung.sh $(DESTDIR)$(SCRIPT)
install -pm 0755 tsung-recorder.sh $(DESTDIR)$(REC_SCRIPT)
-@@ -244,9 +246,6 @@
- install -d $(DESTDIR)$(SHARE_DIR)/tsung_plotter
+@@ -245,9 +247,6 @@ install: tsung doc install_recorder install_controller $(CONFFILE)
install -pm 0644 $(TSUNG_PLOTTER_LIB) $(DESTDIR)$(LIBDIR)/tsung_plotter
install -pm 0644 $(TSUNG_PLOTTER_CONF) $(DESTDIR)$(SHARE_DIR)/tsung_plotter
--
+
- install -d $(DESTDIR)$(CONFDIR)
- install -pm 0644 $(CONFFILE) $(DESTDIR)$(CONFDIR)/
-
+-
install -d $(DESTDIR)$(TEMPLATES_DIR)
install -d $(DESTDIR)$(TEMPLATES_DIR)/style
+ install -pm 0644 $(TEMPLATES) $(DESTDIR)$(TEMPLATES_DIR)/
diff --git a/testing/tsung/APKBUILD b/testing/tsung/APKBUILD
index 5018ab94383..a70cc9bd862 100644
--- a/testing/tsung/APKBUILD
+++ b/testing/tsung/APKBUILD
@@ -2,14 +2,13 @@
# Maintainer: Michael Truog <mjtruog@gmail.com>
pkgname=tsung
-pkgver=1.7.0
-pkgrel=7
+pkgver=1.8.0
+pkgrel=2
pkgdesc="Tsung is a high-performance benchmark framework for various protocols including HTTP,XMPP,LDAP,etc."
url="https://www.process-one.net/en/tsung/"
options="!check" # Tests fail on CI
license="GPL-2.0-or-later"
-# mips64 blocked by py3-matplotlib
-arch="noarch !mips64"
+arch="noarch"
depends="bash
erlang
gnuplot
@@ -23,7 +22,7 @@ makedepends="
"
source="$pkgname-$pkgver.tar.gz::https://github.com/processone/tsung/archive/v$pkgver.tar.gz
0005-Do-not-install-manpages-in-main-install.patch
- support-python3.patch"
+ "
build() {
./configure --prefix=/usr \
@@ -43,6 +42,7 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="63ec9b7b2f0a9fafde8182160b55513526009be056c6715ecff8dbeb40ab05f55d264f8f79e22b8987c6019c0b7eed9ac4e0e71792ad4cad67c758e64257c1d5 tsung-1.7.0.tar.gz
-ee80c21fe6a66c96b1aa68afd96209516a5a3fe1d51a1ee01a1f465d164c332bbe30f03de1cc20f3d6e0651770fa7e579d64f52d282b64d6ca02d098852f2a93 0005-Do-not-install-manpages-in-main-install.patch
-b105a692cba4168a364df92e2f2239f2a0bdd2018cedaba822bb3fc4159ed7a5fe20115dbeacdf016c8bc9f18797205372755a1bce9a2db59f989134077aa639 support-python3.patch"
+sha512sums="
+3afddd5cd427e75831efca034b9f88147e4a583ab9eb9ad8675d1db583ce1f61850ab9b21a0a25748b807e9ac8a647d446335b0ae5411e0746fc2cb1c73a47e3 tsung-1.8.0.tar.gz
+c6876e80b612a88c01c9971d3581f23b0145d274ca4354963c145f059bfd5f02969fc1a8ab35cd9fa1c567afd37004c34bc68834c050868d9c2da308de82bfa6 0005-Do-not-install-manpages-in-main-install.patch
+"
diff --git a/testing/tsung/support-python3.patch b/testing/tsung/support-python3.patch
deleted file mode 100644
index fe5a181cd24..00000000000
--- a/testing/tsung/support-python3.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-From e37e82aa8778688c5b315c4fe54fa4f67e9a4a82 Mon Sep 17 00:00:00 2001
-From: Didier Fabert <didier.fabert@gmail.com>
-Date: Fri, 31 May 2019 22:52:47 +0200
-Subject: [PATCH] Support python3: print statement has been replaced with a
- function
-
----
- src/tsung-plotter/tsplot.py.in | 30 +++++++++++++++---------------
- src/tsung-plotter/tsung/tsung.py | 2 +-
- 2 files changed, 16 insertions(+), 16 deletions(-)
-
-diff --git a/src/tsung-plotter/tsplot.py.in b/src/tsung-plotter/tsplot.py.in
-index f7a180b3..f8eb7295 100644
---- a/src/tsung-plotter/tsplot.py.in
-+++ b/src/tsung-plotter/tsplot.py.in
-@@ -1,4 +1,4 @@
--#! /usr/bin/env python
-+#! /usr/bin/env python3
- # -*- Mode: python -*-
- # -*- coding: utf-8 -*-
-
-@@ -204,7 +204,7 @@ def main(conffile, logs, legends, outdir, verbose):
- stats = [x.strip().rsplit('.', 1)
- for x in config.get(s, 'stats').split(' ')]
- except:
-- print 'error: unable to read plot "%s" stats' % s
-+ print('error: unable to read plot "%s" stats' % s)
- continue
-
- if config.has_option(s, 'styles'):
-@@ -235,8 +235,8 @@ def main(conffile, logs, legends, outdir, verbose):
- try:
- p.__dict__['yfactor'] = map(float,config.get(s, 'yfactor').decode(encoding).split(','))
- except ValueError:
-- print 'warning: %s yfactor not a number: %s' \
-- % (p.name, config.get(s, yfactor))
-+ print('warning: %s yfactor not a number: %s' \
-+ % (p.name, config.get(s, yfactor)))
- # Text parameters - to decode into specified encoding
- for attr in ['title', 'xlabel', 'ylabel', 'plottype', 'yscale']:
- if config.has_option(s, attr):
-@@ -249,13 +249,13 @@ def main(conffile, logs, legends, outdir, verbose):
- try:
- p.__dict__[attr] = config.getfloat(s, attr)
- except ValueError:
-- print 'warning: %s %s not a number: %s' \
-- % (p.name, attr, config.get(s, attr))
-+ print('warning: %s %s not a number: %s' \
-+ % (p.name, attr, config.get(s, attr)))
-
- outfile = p.plot(stats, dataset)
-
- if verbose:
-- print 'Generated plot %s' % outfile
-+ print('Generated plot %s' % outfile)
-
- if __name__ == "__main__":
- from optparse import OptionParser
-@@ -280,10 +280,10 @@ if __name__ == "__main__":
- config = options.config
-
- if options.verbose:
-- print 'Using %s configuration file' % config
-+ print('Using %s configuration file' % config)
-
- if not os.access(config, os.R_OK):
-- print "can't read configuration file: %s" % config
-+ print("can't read configuration file: %s" % config)
- sys.exit(1)
-
- # FIXME: error control
-@@ -295,7 +295,7 @@ if __name__ == "__main__":
-
- # args are legend then file, any times wanted by user
- if len(args) % 2 != 0:
-- print "error: please provide legend and tsung log filename"
-+ print("error: please provide legend and tsung log filename")
- sys.exit(3)
-
- count = 0
-@@ -311,21 +311,21 @@ if __name__ == "__main__":
- count += 1
-
- if options.verbose:
-- print 'Using %s stats configuration file' % SYS_STATS_CONF
-+ print('Using %s stats configuration file' % SYS_STATS_CONF)
-
- logs = []
- for logfile in files:
- if not os.access(logfile, os.R_OK):
-- print "error: unable to read file %s" % logfile
-+ print("error: unable to read file %s" % logfile)
-
- else:
- if options.verbose:
-- print 'Parsing Tsung log file', logfile
-+ print('Parsing Tsung log file', logfile)
- logs.append((logfile, TsungLog(SYS_STATS_CONF, logfile)))
-
- if len(logs) != len(args) / 2:
-- print 'error while parsing files (%d != %d)' % (len(logs),
-- len(args)/2)
-+ print('error while parsing files (%d != %d)' % (len(logs),
-+ len(args)/2))
- sys.exit(2)
-
- main(config, logs, legends, options.outdir, options.verbose)
-diff --git a/src/tsung-plotter/tsung/tsung.py b/src/tsung-plotter/tsung/tsung.py
-index 72d32976..ffcca8af 100644
---- a/src/tsung-plotter/tsung/tsung.py
-+++ b/src/tsung-plotter/tsung/tsung.py
-@@ -204,7 +204,7 @@ def parse(self):
- break
-
- if name not in self.unknown and not is_re:
-- print 'WARNING: tsung %s data is not configured' % name
-+ print('WARNING: tsung %s data is not configured' % name)
- self.unknown.append(name)
-
- def stat(self, name, stat):
diff --git a/testing/ttdl/APKBUILD b/testing/ttdl/APKBUILD
new file mode 100644
index 00000000000..c7545c6113e
--- /dev/null
+++ b/testing/ttdl/APKBUILD
@@ -0,0 +1,39 @@
+# Contributor: Thomas Böhler <witcher@wiredspace.de>
+# Maintainer: Thomas Böhler <witcher@wiredspace.de>
+pkgname=ttdl
+pkgver=4.2.1
+pkgrel=0
+pkgdesc="Terminal Todo List Manager"
+url="https://github.com/VladimirMarkelov/ttdl"
+arch="all !ppc64le !s390x !riscv64"
+license="MIT"
+makedepends="cargo cargo-auditable"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/VladimirMarkelov/ttdl/archive/refs/tags/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/ttdl "$pkgdir"/usr/bin/ttdl
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+ install -Dm644 changelog "$pkgdir"/usr/share/doc/"$pkgname"/changelog
+ install -Dm644 intro.md "$pkgdir"/usr/share/doc/"$pkgname"/intro.md
+ install -Dm644 README.md "$pkgdir"/usr/share/doc/"$pkgname"/README.md
+}
+
+sha512sums="
+b00f8952546f533cf26d0d16f04469d7537d96af4e553452b7030991e962b881f46e1911a1b00a14af590c280fd5e2dbdf844fb953df3135cd24e55900a00ea5 ttdl-4.2.1.tar.gz
+"
diff --git a/testing/ttf-anonymous-pro/APKBUILD b/testing/ttf-anonymous-pro/APKBUILD
deleted file mode 100644
index 23514999c74..00000000000
--- a/testing/ttf-anonymous-pro/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=ttf-anonymous-pro
-pkgver=1.002
-pkgrel=0
-pkgdesc="A family of four fixed-width fonts designed especially with coding in mind"
-url="https://www.marksimonson.com/fonts/view/anonymous-pro"
-arch="noarch"
-license="OFL-1.1"
-depends="fontconfig"
-options="!check" # no tests
-source="https://www.marksimonson.com/assets/content/fonts/AnonymousPro-$pkgver.zip"
-builddir="$srcdir/AnonymousPro-$pkgver.001"
-
-build() {
- :
-}
-
-package() {
- mkdir -p "$pkgdir"/usr/share/fonts/TTF
- install -m644 "$builddir"/*.ttf \
- "$pkgdir"/usr/share/fonts/TTF/
-}
-sha512sums="7606d520ad79fbf4e13d676c1aff61b764dce74e170f8783b8e606f7907c4b8db0871e5568504d15aa23ca26e925ada4eb6b60fcf27171dccee0d3d32d9a92a1 AnonymousPro-1.002.zip"
diff --git a/testing/ttf-font-awesome-4/APKBUILD b/testing/ttf-font-awesome-4/APKBUILD
deleted file mode 100644
index 3ced320325f..00000000000
--- a/testing/ttf-font-awesome-4/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: Dominic Fung <domokun997@gmail.com>
-# Maintainer: Dominic Fung <domokun997@gmail.com>
-pkgname=ttf-font-awesome-4
-_pkgname=Font-Awesome
-pkgver=4.7.0
-pkgrel=0
-pkgdesc="Completely free version of iconic font designed for Bootstrap"
-url="https://fontawesome.com/v4.7.0/"
-arch="noarch"
-license="CC"
-options="!check"
-depends="fontconfig mkfontdir mkfontscale"
-makedepends="font-util-dev"
-install="$pkgname.post-install"
-source="$pkgname-$pkgver.tar.gz::https://github.com/FortAwesome/$_pkgname/archive/v$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-package() {
- install -d "$pkgdir/usr/share/fonts/TTF"
- install -d "$pkgdir/usr/share/fonts/X11/OTF"
- install -m644 fonts/*.otf "$pkgdir/usr/share/fonts/X11/OTF/"
- install -m644 fonts/*.ttf "$pkgdir/usr/share/fonts/TTF/"
-}
-sha512sums="913e5eec2211111e9601c92059745344766f4c3a6f3563cbc6f8a5f3850a0101bab8f3f992a97c6f1c264a2bbb5163f3feecc6b3f64fcb22c9592d2d38cc777d ttf-font-awesome-4-4.7.0.tar.gz"
diff --git a/testing/ttf-font-awesome-4/ttf-font-awesome-4.post-install b/testing/ttf-font-awesome-4/ttf-font-awesome-4.post-install
deleted file mode 100644
index 984457d3e1b..00000000000
--- a/testing/ttf-font-awesome-4/ttf-font-awesome-4.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-fc-cache -f > /dev/null
-mkfontscale /usr/share/fonts/TTF
-mkfontdir /usr/share/fonts/TTF
diff --git a/testing/ttf-google-opensans/APKBUILD b/testing/ttf-google-opensans/APKBUILD
deleted file mode 100644
index e3e91b29f34..00000000000
--- a/testing/ttf-google-opensans/APKBUILD
+++ /dev/null
@@ -1,27 +0,0 @@
-# Contributor: Francesco Colista <fcolista@alpinelinux.org>
-# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
-pkgname="ttf-google-opensans"
-pkgver="20180610"
-pkgrel=0
-pkgdesc="Humanist Sans Serif Typeface"
-url="https://github.com/googlefonts/opensans"
-arch="noarch"
-license="Apache-2.0"
-options="!check"
-depends="fontconfig mkfontdir mkfontscale"
-conflicts="ttf-opensans"
-makedepends="font-util-dev"
-install="$pkgname.post-install"
-source="https://dev.alpinelinux.org/archive/$pkgname/$pkgname.zip"
-builddir="$srcdir"/opensans-master
-
-build() {
- return 0
-}
-
-package() {
- install -d "$pkgdir/usr/share/fonts/TTF"
- install -m644 hinted_ttfs/*.ttf "$pkgdir/usr/share/fonts/TTF/"
-}
-
-sha512sums="4ff6537bb3bb69f3ebb6f0743cefaee72b39e878865e628f4612e28377749b68789ee9db9c04643a2a404d85063ee4c1939523bfd2a905bf44cc001e000ffa30 ttf-google-opensans.zip"
diff --git a/testing/ttf-google-opensans/ttf-google-opensans.post-install b/testing/ttf-google-opensans/ttf-google-opensans.post-install
deleted file mode 100755
index 984457d3e1b..00000000000
--- a/testing/ttf-google-opensans/ttf-google-opensans.post-install
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-fc-cache -f > /dev/null
-mkfontscale /usr/share/fonts/TTF
-mkfontdir /usr/share/fonts/TTF
diff --git a/testing/ttf-mononoki/APKBUILD b/testing/ttf-mononoki/APKBUILD
deleted file mode 100644
index 09dfb5a9a51..00000000000
--- a/testing/ttf-mononoki/APKBUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Contributor: Ivan Tham <pickfire@riseup.net>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
-pkgname=ttf-mononoki
-pkgver=1.3
-pkgrel=0
-pkgdesc="Mononoki - font for programming and code review"
-url="https://madmalik.github.io/mononoki/"
-arch="noarch"
-license="OFL-1.1"
-depends="fontconfig mkfontscale"
-source="mononoki-$pkgver.tar.gz::https://github.com/madmalik/mononoki/archive/$pkgver.tar.gz"
-builddir="$srcdir/mononoki-$pkgver"
-
-package() {
- mkdir -p "$pkgdir"/usr/share/fonts/$pkgname
- install -m644 export/*.ttf "$pkgdir"/usr/share/fonts/$pkgname
-}
-
-sha512sums="cf3cb3a3402360369e35d328840ee11ab21f7a1cd5d12ec5ff709eb8daccfcf614c17565b9de888f5140d1d1a0f11abff5f156b1425f66878315bd380cdb0730 mononoki-1.3.tar.gz"
diff --git a/testing/tty-clock/APKBUILD b/testing/tty-clock/APKBUILD
new file mode 100644
index 00000000000..30c5001effc
--- /dev/null
+++ b/testing/tty-clock/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Adam Thiede <me@adamthiede.com>
+# Maintainer: Adam Thiede <me@adamthiede.com>
+pkgname=tty-clock
+_pkgbase=2.3
+_pkgsnap=20240104
+_commit=f2f847cf2cc2949c8a8b7779a778f366d3743474
+# No release since 2017 with required fixes in master
+pkgver=${_pkgbase}_git$_pkgsnap
+pkgrel=0
+pkgdesc="tty clock!"
+url="https://github.com/xorg62/tty-clock"
+arch="all"
+license="BSD-3-Clause"
+makedepends="ncurses-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xorg62/tty-clock/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit/"
+options="!check" # no tests
+
+build() {
+ make
+}
+
+package() {
+ PREFIX=/usr DESTDIR=$pkgdir make install
+}
+
+sha512sums="
+d2deeecae844022bf75c020e39a1fbce92f752e42fd7967e08edf8032d93014b98129d33ff356437b8b22f7d72f1206db4eebe74716944270b89d2f891d65e06 tty-clock-2.3_git20240104.tar.gz
+"
diff --git a/testing/tty-proxy/APKBUILD b/testing/tty-proxy/APKBUILD
index d9902b32386..4b6348b0756 100644
--- a/testing/tty-proxy/APKBUILD
+++ b/testing/tty-proxy/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=tty-proxy
pkgver=0.0.2
-pkgrel=2
+pkgrel=20
pkgdesc="Proxy used by the tty-share command for public facing sessions"
url="https://github.com/elisescu/tty-proxy"
arch="all"
@@ -11,10 +11,13 @@ makedepends="go"
source="https://github.com/elisescu/tty-proxy/archive/v$pkgver/tty-proxy-$pkgver.tar.gz"
options="chmod-clean !check" # no test suite
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
go build \
- -trimpath \
- -ldflags "-s -w"
+ -trimpath
}
package() {
diff --git a/testing/tty-share/APKBUILD b/testing/tty-share/APKBUILD
index 322b8fb14c4..cce1a4149d6 100644
--- a/testing/tty-share/APKBUILD
+++ b/testing/tty-share/APKBUILD
@@ -1,24 +1,29 @@
# Contributor: Thomas Kienlen <kommander@laposte.net>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=tty-share
-pkgver=2.2.0
-pkgrel=2
+pkgver=2.4.0
+pkgrel=10
pkgdesc="Share your terminal over the Internet"
url="https://tty-share.com/"
-arch="all !riscv64" # FTBFS
+arch="all"
license="MIT"
makedepends="go"
source="https://github.com/elisescu/tty-share/archive/v$pkgver/tty-share-$pkgver.tar.gz"
options="chmod-clean !check" # no test suite
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
go build \
- -trimpath \
- -ldflags "-s -w"
+ -trimpath
}
package() {
install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
}
-sha512sums="f25c51264a9f054e7587ad6c26f9a26c72593eecf16bf65dd9c6f6cf9a98cc5d4ac669860097212b469370d7c6c78816827d425697a0f0097f4ba9f5cd3ca892 tty-share-2.2.0.tar.gz"
+sha512sums="
+c28bd5b6367555544087238ef243e8408baf4e078b4807c1c08ad614ae63fd331fd52a5f3a0216a193b78563d0ce4c1bf81d9e8aae2941d9416af335287e6f84 tty-share-2.4.0.tar.gz
+"
diff --git a/testing/ttyper/APKBUILD b/testing/ttyper/APKBUILD
new file mode 100644
index 00000000000..2242ed09663
--- /dev/null
+++ b/testing/ttyper/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=ttyper
+pkgver=1.4.1
+pkgrel=0
+pkgdesc="Terminal-based typing test"
+url="https://github.com/max-niederman/ttyper/"
+arch="all"
+license="MIT"
+makedepends="cargo cargo-auditable"
+source="https://github.com/max-niederman/ttyper/archive/refs/tags/v$pkgver/ttyper-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/ttyper -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+6a7354b9725d961e2ad2709fcbe110f0e4c712a3b6a688468420bb29f507dade0de4eace140deff0ff3eec62d239d3a9484be732a6f90d1ad9d5e7f07c39e401 ttyper-1.4.1.tar.gz
+"
diff --git a/testing/tui-journal/APKBUILD b/testing/tui-journal/APKBUILD
new file mode 100644
index 00000000000..15bcf31443e
--- /dev/null
+++ b/testing/tui-journal/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=tui-journal
+_pkgname=tjournal
+pkgver=0.8.0
+pkgrel=0
+pkgdesc="Write and manage journals/notes from the terminal"
+url="https://github.com/AmmarAbouZor/tui-journal"
+arch="all !s390x" # s390x: nix crate
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/AmmarAbouZor/tui-journal/archive/v$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/$_pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+ install -Dm 644 LICENSE -t "$pkgdir/usr/share/licenses/$pkgname"
+}
+
+sha512sums="
+ce29d19011186208287417c8a5ee0cb69a525f6e18fb785506eaf2ad3b7dcf1d5c2159635e2734b0739d7cf20e065b7398e7a45a098e36a45b95cd5feef21be9 tui-journal-0.8.0.tar.gz
+"
diff --git a/testing/tuigreet/APKBUILD b/testing/tuigreet/APKBUILD
deleted file mode 100644
index d81682b0db6..00000000000
--- a/testing/tuigreet/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=tuigreet
-pkgver=0.7.1
-pkgrel=0
-pkgdesc="Graphical console greeter for greetd"
-url="https://github.com/apognu/tuigreet"
-arch="aarch64 armhf armv7 ppc64le x86 x86_64" # limited by rust/cargo
-license="GPL-3.0"
-depends="greetd"
-makedepends="cargo scdoc"
-subpackages="$pkgname-doc"
-source="https://github.com/apognu/tuigreet/archive/$pkgver/tuigreet-$pkgver.tar.gz
- minimize-size.patch
- "
-options="!check" # no tests provided
-
-build() {
- cargo build --release --locked
-
- scdoc < contrib/man/tuigreet-1.scd > contrib/man/tuigreet.1
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-
- install -D -m644 contrib/man/tuigreet.1 -t "$pkgdir"/usr/share/man/man1/
-}
-
-sha512sums="
-f5f574314a96ea86f538268db49269cadfd3757c907f736cb7ef7c1c2e826bccc72e9e95d75d5acf20007a1ae3145f39271be0128a6c74e587523a0ec024217e tuigreet-0.7.1.tar.gz
-cb9fe9598812c23ed62a1c52e01dd8a23fdb4cd8b55d303bc925ec3249e568b38b8771ef7eac82098b3f67584bf81d52058a9cf29c854286df4d8216d9ec1869 minimize-size.patch
-"
diff --git a/testing/tuigreet/minimize-size.patch b/testing/tuigreet/minimize-size.patch
deleted file mode 100644
index b3836f8b801..00000000000
--- a/testing/tuigreet/minimize-size.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -25,3 +25,6 @@
-
- [profile.release]
- lto = true
-+codegen-units = 1
-+opt-level = "z"
-+panic = "abort"
diff --git a/testing/tuir/APKBUILD b/testing/tuir/APKBUILD
deleted file mode 100644
index f6c66632d82..00000000000
--- a/testing/tuir/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=tuir
-pkgver=1.29.0
-pkgrel=2
-pkgdesc="Terminal UI for Reddit"
-url="https://gitlab.com/ajak/tuir"
-arch="noarch"
-license="MIT"
-depends="python3 py3-decorator py3-beautifulsoup4 py3-kitchen py3-six py3-requests"
-options="!check" # tests fail
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
-source="https://files.pythonhosted.org/packages/source/t/tuir/tuir-$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="ea7a531c8116d4a1fc6f209a80833289c366ed34811e7d74c977d10a658761e7ef6b6a890f46cfe0089e9176cfb63a25856128937be34bd05d529c8168dd26b4 tuir-1.29.0.tar.gz"
diff --git a/testing/tup/APKBUILD b/testing/tup/APKBUILD
new file mode 100644
index 00000000000..96092e032a8
--- /dev/null
+++ b/testing/tup/APKBUILD
@@ -0,0 +1,58 @@
+# Contributor: Prokop RandáÄek <prokop@rdck.dev>
+# Maintainer: Prokop RandáÄek <prokop@rdck.dev>
+pkgname=tup
+pkgver=0.7.11
+pkgrel=0
+pkgdesc="A file-based build system"
+url="http://gittup.org/tup"
+arch="all"
+license="GPL-2.0-only"
+makedepends="fuse3-dev pcre-dev inih-dev sqlite-dev"
+checkdepends="sqlite ccache"
+subpackages="$pkgname-doc $pkgname-vim::noarch"
+source="$pkgname-$pkgver.tar.gz::https://github.com/gittup/tup/archive/refs/tags/v$pkgver.tar.gz
+ s390x_risc3264_support.patch
+ system_inih.patch
+ "
+options="!check" # tests need to run tup, which requires fuse
+
+prepare() {
+ default_prepare
+
+ sed "s/\`git describe\`/$pkgver/" -i src/tup/link.sh
+ echo "CFLAGS += $CFLAGS" >> Tuprules.tup
+ echo "LDFLAGS += $LDFLAGS" >> Tuprules.tup
+ echo "CONFIG_TUP_USE_SYSTEM_INIH=y" >> tup.config
+ echo "CONFIG_TUP_USE_SYSTEM_SQLITE=y" >> tup.config
+}
+
+build() {
+ # fuse not available so ./bootstrap.sh does not work
+ ./build.sh
+ ./build/tup init
+ ./build/tup generate runme.sh
+ ./runme.sh
+}
+
+vim() {
+ pkgdesc="$pkgname (vim syntax)"
+ install_if="$pkgname=$pkgver-r$pkgrel vim"
+ depends=
+
+ amove usr/share/vim
+}
+
+package() {
+ install -D -m755 tup "$pkgdir"/usr/bin/tup
+ install -D -m644 tup.1 -t "$pkgdir"/usr/share/man/man1
+ install -D -m644 contrib/syntax/tup.vim -t "$pkgdir"/usr/share/vim/vimfiles/syntax
+
+ mkdir -p "$pkgdir"/usr/share/vim/vimfiles/ftdetect
+ echo 'au BufNewFile,BufRead Tupfile,*.tup setf tup' > "$pkgdir"/usr/share/vim/vimfiles/ftdetect/tup.vim
+}
+
+sha512sums="
+b923366bb15ce6e5be027b6b3e98b1029cd7dbe6ce2a8dd37a8e4b71521c8ff6d95d88fe296f5ca4719bbc048c6aaa5eacdd8cac1410d46df54ac674d6fd8aee tup-0.7.11.tar.gz
+733282451020ae770e2ae3230f30df8b9ba10bbfe8f1e151f04d45819c4af9c425617c81fd24b0030a4fc530607bd9806ec69033e85eef7db013266648e0ebf2 s390x_risc3264_support.patch
+ae4c4fc929b3974945ca7c9f7bac51d9e78168497e932892f0dfc879499fea43255a2b02ff650e661d2019a60aeb03504743cef48f58b2c389076400012c257a system_inih.patch
+"
diff --git a/testing/tup/s390x_risc3264_support.patch b/testing/tup/s390x_risc3264_support.patch
new file mode 100644
index 00000000000..a44f45fc848
--- /dev/null
+++ b/testing/tup/s390x_risc3264_support.patch
@@ -0,0 +1,30 @@
+diff --git a/src/tup/platform.c b/src/tup/platform.c
+index f0e2bccd..eb39de48 100644
+--- a/src/tup/platform.c
++++ b/src/tup/platform.c
+@@ -58,6 +58,12 @@ const char *tup_arch = "sparc";
+ const char *tup_arch = "arm";
+ #elif __aarch64__
+ const char *tup_arch = "arm64";
++#elif __s390x__
++const char *tup_arch = "s390x";
++#elif (__riscv || __riscv__) && __riscv_xlen == 64
++const char *tup_arch = "riscv64";
++#elif (__riscv || __riscv__) && __riscv_xlen == 32
++const char *tup_arch = "riscv32";
+ #else
+ #error Unsupported cpu architecture. Please add support in tup/platform.c
+ #endif
+diff --git a/tup.1 b/tup.1
+index 208629fe..2ebc264d 100644
+--- a/tup.1
++++ b/tup.1
+@@ -765,7 +765,7 @@ In this case, the @-variable "FOO" is explicitly set to "n".
+ TUP_PLATFORM is a special @-variable. If CONFIG_TUP_PLATFORM is not set in the tup.config file, it has a default value according to the platform that tup itself was compiled in. Currently the default value is one of "linux", "solaris", "macosx", "win32", "freebsd" or "netbsd".
+ .TP
+ .B @(TUP_ARCH)
+-TUP_ARCH is another special @-variable. If CONFIG_TUP_ARCH is not set in the tup.config file, it has a default value according to the processor architecture that tup itself was compiled in. Currently the default value is one of "i386", "x86_64", "powerpc", "powerpc64", "ia64", "alpha", "sparc", "arm64", or "arm".
++TUP_ARCH is another special @-variable. If CONFIG_TUP_ARCH is not set in the tup.config file, it has a default value according to the processor architecture that tup itself was compiled in. Currently the default value is one of "i386", "x86_64", "powerpc", "powerpc64", "ia64", "alpha", "sparc", "arm64", "arm", "s390x", "riscv32" or "riscv64".
+
+ .SH "VARIANTS"
+ Tup supports variants, which allow you to build your project multiple times with different configurations. Perhaps the most common case is to build a release and a debug configuration with different compiler flags, though any number of variants can be used to support whatever configurations you like. Each variant is built in its own directory distinct from each other and from the source tree. When building with variants, the in-tree build is disabled. To create a variant, make a new directory at the top of the tup hierarchy and create a "tup.config" file there. For example:
diff --git a/testing/tup/system_inih.patch b/testing/tup/system_inih.patch
new file mode 100644
index 00000000000..568236b8a13
--- /dev/null
+++ b/testing/tup/system_inih.patch
@@ -0,0 +1,16 @@
+diff --git a/Tupfile b/Tupfile
+index 9b4ab820..6152ba7c 100644
+--- a/Tupfile
++++ b/Tupfile
+@@ -21,7 +21,11 @@ srcs += src/tup/tup/*.o
+ srcs += src/tup/monitor/*.o
+ srcs += src/tup/flock/*.o
+ srcs += src/tup/server/*.o
++ifeq (@(TUP_USE_SYSTEM_INIH),y)
++LDFLAGS += -linih
++else
+ srcs += src/inih/*.o
++endif
+ srcs += src/compat/*.o
+ ifeq (@(TUP_USE_SYSTEM_SQLITE),y)
+ LDFLAGS += -lsqlite3
diff --git a/testing/tuptime/APKBUILD b/testing/tuptime/APKBUILD
index be2c93f294f..21cdbef4002 100644
--- a/testing/tuptime/APKBUILD
+++ b/testing/tuptime/APKBUILD
@@ -1,26 +1,33 @@
# Contributor: Roberto Oliveira <robertoguimaraes8@gmail.com>
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=tuptime
-pkgver=4.1.0
-pkgrel=1
+pkgver=5.2.2
+pkgrel=3
pkgdesc="Report the historical and statistical real time of the system"
-url="https://github.com/rfrail3/tuptime"
+url="https://github.com/rfmoz/tuptime"
arch="noarch"
license="GPL-2.0-only"
+pkgusers="tuptime"
+pkggroups="tuptime"
depends="python3"
-install="$pkgname.pre-install $pkgname-openrc.post-install"
+install="$pkgname.pre-install $pkgname.post-install"
subpackages="$pkgname-doc $pkgname-openrc"
-options="!check"
-source="$pkgname-$pkgver.tar.gz::https://github.com/rfrail3/tuptime/archive/$pkgver.tar.gz
- $pkgname.cron"
-
+source="$pkgname-$pkgver.tar.gz::https://github.com/rfmoz/tuptime/archive/refs/tags/$pkgver.tar.gz
+ $pkgname.initd
+ $pkgname.cron
+ "
+options="!check" # no tests
package() {
- install -Dm775 "src/$pkgname" "$pkgdir/usr/bin/$pkgname"
- install -Dm755 "$srcdir/$pkgname.cron" "$pkgdir"/etc/periodic/15min/$pkgname
- install -Dm644 "src/man/$pkgname.1" "$pkgdir/usr/share/man/man1/$pkgname.1"
- install -Dm755 "src/openrc/$pkgname" "$pkgdir/etc/init.d/$pkgname"
+ install -Dm775 src/tuptime -t "$pkgdir"/usr/bin/
+ install -Dm755 "$srcdir"/tuptime.cron "$pkgdir"/etc/periodic/15min/$pkgname
+ install -Dm755 "$srcdir"/tuptime.initd "$pkgdir"/etc/init.d/tuptime
+ install -Dm644 src/man/tuptime.1 -t "$pkgdir"/usr/share/man/man1/
+ install -dm755 -o tuptime -g tuptime "$pkgdir"/var/lib/tuptime/
}
-sha512sums="2811f2bf659bc1af3656230f87477a939ec22c3caa9283f7063e9e9c8ea2497f3c3581c3b7eb63cef15ce29d73f34d44c72fde4d2681f50021b4eb8986e0c812 tuptime-4.1.0.tar.gz
-d3a3f7820c2fbbc3a13412740934b5b62af462c35a9354a2f0d16b76500a406ea86dbec2cf368a24191df6c0221a8e6efff0dbf3e635af854cbe84eb6fe5630e tuptime.cron"
+sha512sums="
+3a4b0ab3776bdcbe1bf7afd88df9f700251d9072026338cecd139dbe4c8c00a259e3fc95fef094709417bfe5059ae9a6de0422e7286dc73f3caa7e737a25f526 tuptime-5.2.2.tar.gz
+f2009b2ef162b9fbb44e079d67688bee26b4459b8d6b223d4f26b311e72c2b0af313aef32a308ca7508ac9834eb21c172c761cb32cc2e6d4357ec719508f4125 tuptime.initd
+41a4f9e85b1aa23f03c0496fd76fb3c743ccdc251890352ce2d85e8ea5ef4a7040b7b8fb47fdd7ac3ae6c284285c52a7577ebd45de86ee9bddb7d997e874b8b2 tuptime.cron
+"
diff --git a/testing/tuptime/tuptime-openrc.post-install b/testing/tuptime/tuptime-openrc.post-install
deleted file mode 100644
index 9ea355f6634..00000000000
--- a/testing/tuptime/tuptime-openrc.post-install
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-echo 'Tuptime needs to be executed now and at boot time, do it with: "rc-update add tuptime default && rc-service tuptime start"' 1>&2
-
-exit 0
diff --git a/testing/tuptime/tuptime.cron b/testing/tuptime/tuptime.cron
index ff9b39b2606..b0684d47dd4 100644
--- a/testing/tuptime/tuptime.cron
+++ b/testing/tuptime/tuptime.cron
@@ -1,4 +1,4 @@
#!/bin/sh
if [ -x /usr/bin/tuptime ]; then
- su tuptime -s /bin/sh -c '/usr/bin/tuptime -x' > /dev/null
+ su tuptime -s /bin/sh -c '/usr/bin/tuptime -q' > /dev/null
fi
diff --git a/testing/tuptime/tuptime.initd b/testing/tuptime/tuptime.initd
new file mode 100644
index 00000000000..cc293b83edd
--- /dev/null
+++ b/testing/tuptime/tuptime.initd
@@ -0,0 +1,24 @@
+#!/sbin/openrc-run
+
+name="tuptime"
+command="/usr/bin/tuptime"
+command_user="tuptime"
+command_args="-q"
+
+depend() {
+ need localmount
+ after bootmisc
+ after clock
+}
+
+stop() {
+ ebegin "Stopping ${name}"
+ su ${command_user} -s /bin/sh -c "${command} ${command_args} -g"
+ eend $?
+}
+
+status() {
+ ebegin "Status ${name}"
+ su ${command_user} -s /bin/sh -c "${command} ${command_args}"
+ eend $?
+}
diff --git a/testing/tuptime/tuptime.post-install b/testing/tuptime/tuptime.post-install
new file mode 100644
index 00000000000..750318bec12
--- /dev/null
+++ b/testing/tuptime/tuptime.post-install
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+su tuptime -s /bin/sh -c "tuptime -q"
+
+exit 0
diff --git a/testing/tuptime/tuptime.pre-install b/testing/tuptime/tuptime.pre-install
index 19600617dc8..bc42c9dc1ee 100644
--- a/testing/tuptime/tuptime.pre-install
+++ b/testing/tuptime/tuptime.pre-install
@@ -1,6 +1,6 @@
#!/bin/sh
addgroup -S tuptime 2>/dev/null
-adduser -S -D -h /var/lib/tuptime -s /bin/false -G tuptime -g tuptime tuptime 2>/dev/null
+adduser -S -D -h /var/lib/tuptime -s /sbin/nologin -G tuptime -g tuptime tuptime 2>/dev/null
exit 0
diff --git a/testing/turn-rs/APKBUILD b/testing/turn-rs/APKBUILD
new file mode 100644
index 00000000000..ccd24d0cb63
--- /dev/null
+++ b/testing/turn-rs/APKBUILD
@@ -0,0 +1,66 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=turn-rs
+pkgver=2.1.3
+pkgrel=0
+pkgdesc="A pure rust implemented turn server"
+url="https://github.com/mycrl/turn-rs"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ cargo
+ cargo-auditable
+ protobuf-dev
+"
+install="turn-rs.pre-install"
+subpackages="
+ $pkgname-openrc
+ $pkgname-doc
+ $pkgname-cli
+ $pkgname-balance
+"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/mycrl/turn-rs/archive/refs/tags/v$pkgver.tar.gz
+ turn-rs.initd
+ turn-rs.confd
+"
+options="net"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 target/release/turn-server "$pkgdir"/usr/bin/turn-server
+ install -Dm 600 turn-server.toml "$pkgdir"/etc/turn-rs/turn-server.toml
+
+ install -Dm 755 "$srcdir"/turn-rs.initd "$pkgdir"/etc/init.d/turn-rs
+ install -Dm 644 "$srcdir"/turn-rs.confd "$pkgdir"/etc/conf.d/turn-rs
+
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+cli() {
+ pkgdesc="$pkgdesc (command line monitoring tool)"
+ install -Dm 755 "$builddir"/target/release/turn-cli "$subpkgdir"/usr/bin/turn-cli
+}
+
+balance() {
+ pkgdesc="$pkgdesc (distributed load balancing service)"
+ install -Dm 755 "$builddir"/target/release/turn-balance-server "$subpkgdir"/usr/bin/turn-balance-server
+}
+
+sha512sums="
+01c5d978bbe70c018bf37e817a71b5e3bd030beba342f7567780feb837412bccd0fc56baeee1ff4abfb7ace092f71ca73be2b596091979110e3bbf72487508c1 turn-rs-2.1.3.tar.gz
+0be3a81c5c9c13e2ba36a867282b3cae90e311d314c6e3f05855ce743fb2457ca12c0b7540e800bfe48a8e2129eb3acc970bc85b9b22dac70648b1637ccfb80f turn-rs.initd
+cc6b17c4efe13d0cc100e20c2d855cb5aa1cb4c7a65ccfa91757f0e667aac77ea020a17fdbcf67ef0de9a32c6133705e1bca2fe239d5ac19234d4de6f425e89e turn-rs.confd
+"
diff --git a/testing/turn-rs/turn-rs.confd b/testing/turn-rs/turn-rs.confd
new file mode 100644
index 00000000000..6eeea7ffcad
--- /dev/null
+++ b/testing/turn-rs/turn-rs.confd
@@ -0,0 +1,3 @@
+#config=/etc/turn-server/config.toml
+#logdir=/var/log/turn-rs
+#_conf_path=/etc/turn-rs/turn-server.toml
diff --git a/testing/turn-rs/turn-rs.initd b/testing/turn-rs/turn-rs.initd
new file mode 100644
index 00000000000..306c6149ba8
--- /dev/null
+++ b/testing/turn-rs/turn-rs.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+supervisor="supervise-daemon"
+
+: ${command_user:=turn-rs:turn-rs}
+: ${logdir=/var/log/turn-rs}
+: ${_conf_path=/etc/turn-rs/turn-server.toml}
+
+name=turn-server
+description="Pure Rust turn server implementation"
+command="/usr/bin/turn-server"
+command_args="--config $_conf_path"
+command_background=true
+
+pidfile="/run/$RC_SVCNAME.pid"
+output_log="$logdir/output.log"
+error_log="$logdir/error.log"
+
+depend() {
+ need net
+}
+
+start_pre() {
+ checkpath -f -m 0644 -o "$command_user" "$output_log" "$error_log"
+ checkpath -f -m 0600 -o "$command_user" "$_conf_path"
+}
diff --git a/testing/turn-rs/turn-rs.pre-install b/testing/turn-rs/turn-rs.pre-install
new file mode 100644
index 00000000000..dc0cae739c8
--- /dev/null
+++ b/testing/turn-rs/turn-rs.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S turn-rs 2>/dev/null
+adduser -S -D -s /sbin/nologin -H -G turn-rs -g turn-rs turn-rs 2>/dev/null
+
+exit 0
diff --git a/testing/turnstile/APKBUILD b/testing/turnstile/APKBUILD
new file mode 100644
index 00000000000..d43cd72c14c
--- /dev/null
+++ b/testing/turnstile/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=turnstile
+pkgver=0.1.8
+pkgrel=0
+pkgdesc="Independent session/login tracker"
+url="https://github.com/chimera-linux/turnstile"
+arch="all"
+license="BSD-2-Clause"
+makedepends="
+ linux-pam-dev
+ meson
+ scdoc
+ "
+subpackages="$pkgname-doc $pkgname-openrc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/chimera-linux/turnstile/archive/refs/tags/v$pkgver.tar.gz
+ turnstiled.confd
+ turnstiled.initd
+ "
+options="!check" # no tests
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ -Ddinit=disabled \
+ -Dmanage_rundir=true \
+ . output
+ meson compile -C output
+}
+
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+
+ install -Dm755 "$srcdir"/turnstiled.initd "$pkgdir"/etc/init.d/turnstiled
+ install -Dm644 "$srcdir"/turnstiled.confd "$pkgdir"/etc/conf.d/turnstiled
+}
+
+sha512sums="
+f6fee2056707b480d0345c86c3fe0c81e00ad09f54e7b7ca447e805deef47a08a4ae05540a2f57c45d6253ee99d8c2fcf1e6e5f6cd7135dfca1941589271d726 turnstile-0.1.8.tar.gz
+4798d04b707e3b44467c1e75481a5123dbf4755ef1bdd09ac31d180762f67085a7030c4ba7d1f27b1ef30910785d8739375a730f32647c7d554142fac4d6b824 turnstiled.confd
+4824f233704b21e3a4ab931879f88ec716761065fd109038ea9a0c89383580c7a198e2372088b555cb894110b5067c26b99ac9c40c04bf9a2384af1417fa4ad0 turnstiled.initd
+"
diff --git a/testing/turnstile/turnstiled.confd b/testing/turnstile/turnstiled.confd
new file mode 100644
index 00000000000..c3a008de261
--- /dev/null
+++ b/testing/turnstile/turnstiled.confd
@@ -0,0 +1,2 @@
+# uncomment to not use supervisor
+supervisor=supervise-daemon
diff --git a/testing/turnstile/turnstiled.initd b/testing/turnstile/turnstiled.initd
new file mode 100644
index 00000000000..dfdecbd2c4e
--- /dev/null
+++ b/testing/turnstile/turnstiled.initd
@@ -0,0 +1,10 @@
+#!/sbin/openrc-run
+
+name=turnstiled
+command="/usr/bin/turnstiled"
+command_background=true
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need seatd
+}
diff --git a/testing/twemproxy/APKBUILD b/testing/twemproxy/APKBUILD
index 82a7cd4b868..fa75976839b 100644
--- a/testing/twemproxy/APKBUILD
+++ b/testing/twemproxy/APKBUILD
@@ -2,7 +2,7 @@
pkgname=twemproxy
akaname=nutcracker
-pkgver=0.4.1
+pkgver=0.5.0
pkgrel=0
pkgdesc="A fast, light-weight proxy for memcached and redis"
url="https://github.com/twitter/twemproxy"
@@ -12,7 +12,7 @@ depends=""
depends_dev=""
makedepends="automake autoconf libtool yaml-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/twitter/twemproxy/archive/v$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/twitter/twemproxy/archive/$pkgver.tar.gz
nutcracker.initd
nutcracker.confd
use-system-libyaml.patch
@@ -48,9 +48,9 @@ package() {
make DESTDIR="$pkgdir" install || return 1
install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.yml \
"$pkgdir"/etc/$akaname/nutcracker.yml || return 1
- install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.leaf.yml \
+ install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.leaf.yml \
"$pkgdir"/etc/$akaname/nutcracker.leaf.yml || return 1
- install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.root.yml \
+ install -m644 -D "$srcdir"/$pkgname-$pkgver/conf/nutcracker.root.yml \
"$pkgdir"/etc/$akaname/nutcracker.root.yml || return 1
install -m755 -D "$srcdir"/$akaname.initd \
"$pkgdir"/etc/init.d/$akaname || return 1
@@ -60,6 +60,9 @@ package() {
install -m0755 -d "$pkgdir"/$_rundir || return 1
install -m0755 -d "$pkgdir"/$_logdir || return 1
+ # remove test_all binary
+ rm "$pkgdir/usr/bin/test_all"
+
_docs="README.md NOTICE ChangeLog"
for _doc in $_docs; do
install -m644 -D "$srcdir"/$pkgname-$pkgver/$_doc \
@@ -71,7 +74,9 @@ package() {
}
-sha512sums="581fae1d12feb983ed25b22cd6f597fd28b7070906ac29d3990669ae5c626a468914021cee152a6a2299a2838c838ad907e4c911b911ef04166ac7bbb2982da1 twemproxy-0.4.1.tar.gz
+sha512sums="
+9bd6bfb1b207aa1d4fdec74fcf354bbcc17b3e2586e9337e3a295f28fca9f597c8914c80dacf3b5c3d2e18c196031e601beb805151cff340f83c5b5890afaabf twemproxy-0.5.0.tar.gz
56bc051eac972cc1e4cfb334673f8e4c8a5f0855fb4f0b66e05a148855dae34870d949a5d19c111d072a0405b2014a334151ad9414a40fdc67e559ff37d68093 nutcracker.initd
e69e6d7b48a360b8b7b7ec7d7d46e2c736c4e30e6d6a22ed5b01d64ccb3ec701537545b2b6e5c1cbf2ba9f657f86e7a94686e3dc8a43dcba9688695717d62f12 nutcracker.confd
-beadf407de53378bfe0ee12bbdf2315bde220a322aa13fc1993b487e1503f8825280408c500c902db683ee35b255e304acfe2cb011a6e9ffe02cdbfcfb1d2bf5 use-system-libyaml.patch"
+a31c45d003571c8f2e9a003545b61c2ece317d1a5170f9ed84df91673e74fb43a4c6a9099a0d7ed46f255da01a93a551433115b290a3fa2fa6f719e6e45d224d use-system-libyaml.patch
+"
diff --git a/testing/twemproxy/use-system-libyaml.patch b/testing/twemproxy/use-system-libyaml.patch
index e3ec54a15a4..a2a83bd75c5 100644
--- a/testing/twemproxy/use-system-libyaml.patch
+++ b/testing/twemproxy/use-system-libyaml.patch
@@ -1,5 +1,5 @@
---- twemproxy-0.4.1/Makefile.am
-+++ twemproxy/src/twemproxy-0.4.1/Makefile.am
+--- twemproxy-0.5.0/Makefile.am
++++ patch/twemproxy-0.5.0/Makefile.am
@@ -2,7 +2,7 @@
ACLOCAL_AMFLAGS = -I m4
@@ -9,8 +9,8 @@
dist_man_MANS = man/nutcracker.8
---- twemproxy-0.4.1/configure.ac
-+++ twemproxy/src/twemproxy-0.4.1/configure.ac
+--- twemproxy-0.5.0/configure.ac
++++ patch/twemproxy-0.5.0/configure.ac
@@ -75,6 +75,14 @@
# Checks for libraries
AC_CHECK_LIB([m], [pow])
@@ -26,15 +26,15 @@
# Checks for library functions
AC_FUNC_FORK
-@@ -196,15 +204,8 @@
+@@ -197,15 +205,8 @@
[AC_DEFINE([HAVE_STATS], [1], [Define to 1 if stats is not disabled])])
AC_MSG_RESULT($disable_stats)
--# Untar the yaml-0.1.4 in contrib/ before config.status is rerun
--AC_CONFIG_COMMANDS_PRE([tar xvfz contrib/yaml-0.1.4.tar.gz -C contrib])
+-# Untar the yaml-0.2.5 in contrib/ before config.status is rerun
+-AC_CONFIG_COMMANDS_PRE([tar xvfz contrib/yaml-0.2.5.tar.gz -C contrib])
-
--# Call yaml-0.1.4 ./configure recursively
--AC_CONFIG_SUBDIRS([contrib/yaml-0.1.4])
+-# Call yaml-0.2.5 ./configure recursively
+-AC_CONFIG_SUBDIRS([contrib/yaml-0.2.5])
-
# Define Makefiles
AC_CONFIG_FILES([Makefile
@@ -42,10 +42,10 @@
src/Makefile
src/hashkit/Makefile
src/proto/Makefile
---- twemproxy-0.4.1/src/Makefile.am
-+++ twemproxy/src/twemproxy-0.4.1/src/Makefile.am
-@@ -21,7 +21,7 @@
- AM_CFLAGS += -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wmissing-declarations
+--- twemproxy-0.5.0/src/Makefile.am
++++ patch/twemproxy-0.5.0/src/Makefile.am
+@@ -22,7 +22,7 @@
+ AM_CFLAGS += -Wno-format-zero-length
AM_LDFLAGS =
-AM_LDFLAGS += -lm -lpthread -rdynamic
@@ -53,8 +53,16 @@
if OS_SOLARIS
AM_LDFLAGS += -lnsl -lsocket
endif
-@@ -57,4 +57,3 @@
+@@ -58,7 +58,6 @@
nutcracker_LDADD = $(top_builddir)/src/hashkit/libhashkit.a
nutcracker_LDADD += $(top_builddir)/src/proto/libproto.a
nutcracker_LDADD += $(top_builddir)/src/event/libevent.a
--nutcracker_LDADD += $(top_builddir)/contrib/yaml-0.1.4/src/.libs/libyaml.a
+-nutcracker_LDADD += $(top_builddir)/contrib/yaml-0.2.5/src/.libs/libyaml.a
+
+ TESTS = test_all
+ bin_PROGRAMS = test_all
+@@ -86,4 +85,3 @@
+ test_all_LDADD = $(top_builddir)/src/hashkit/libhashkit.a
+ test_all_LDADD += $(top_builddir)/src/proto/libproto.a
+ test_all_LDADD += $(top_builddir)/src/event/libevent.a
+-test_all_LDADD += $(top_builddir)/contrib/yaml-0.2.5/src/.libs/libyaml.a
diff --git a/testing/twiggy/APKBUILD b/testing/twiggy/APKBUILD
index 2399ed5d80d..aed853fc18d 100644
--- a/testing/twiggy/APKBUILD
+++ b/testing/twiggy/APKBUILD
@@ -2,16 +2,17 @@
# Maintainer: TBK <alpine@jjtc.eu>
pkgname=twiggy
pkgver=0.6.0
-pkgrel=1
+pkgrel=3
pkgdesc="Twiggy a code size profiler for Wasm"
url="https://github.com/rustwasm/twiggy"
-arch="all !s390x !mips !mips64 !riscv64" # Limited by cargo
+arch="all !s390x !riscv64" # Limited by cargo
license="Apache-2.0"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
source="$pkgname-$pkgver.tar.gz::https://github.com/rustwasm/twiggy/archive/$pkgver.tar.gz"
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
check() {
diff --git a/testing/twinkle/APKBUILD b/testing/twinkle/APKBUILD
new file mode 100644
index 00000000000..2f8238772f7
--- /dev/null
+++ b/testing/twinkle/APKBUILD
@@ -0,0 +1,51 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=twinkle
+pkgver=1.10.3
+pkgrel=2
+pkgdesc="SIP softphone"
+url="https://github.com/LubosD/twinkle"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ alsa-lib-dev
+ bison
+ ccrtp-dev
+ cmake
+ commoncpp-dev
+ file-dev
+ flex
+ libsndfile-dev
+ libxml2-dev
+ qt5-qtbase-dev
+ qt5-qtdeclarative-dev
+ qt5-qttools-dev
+ readline-dev
+ samurai
+ speex-dev
+ speexdsp-dev
+"
+subpackages="$pkgname-doc"
+source="https://github.com/LubosD/twinkle/archive/refs/tags/v$pkgver/twinkle-$pkgver.tar.gz
+ glibc.patch
+ "
+options="!check" # no tests provided
+
+build() {
+ cmake -G Ninja -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DWITH_SPEEX=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+7b70a346e6d3f1dd08c1d019dd671da3cb3539815d8a14de7268b2bf43fc0b632834e00d3b63823b1338472a1b91f727a479e5381da8b1076327b112c8a9bea2 twinkle-1.10.3.tar.gz
+c537a0a83725435e60d436987713cd24f3e1a96ac0de5990a0fdeaeff8535baddc58ab567a217b9947938f6aede03d827de4ed6ffbdb28b15eb33390775700d8 glibc.patch
+"
diff --git a/testing/twinkle/glibc.patch b/testing/twinkle/glibc.patch
new file mode 100644
index 00000000000..004f9bd9e28
--- /dev/null
+++ b/testing/twinkle/glibc.patch
@@ -0,0 +1,22 @@
+--- a/src/sockets/dnssrv.cpp
++++ b/src/sockets/dnssrv.cpp
+@@ -162,7 +162,7 @@
+ result.clear();
+ for (ctr=0; ctr<num_srv; ctr++) {
+ name srvname;
+- if (ns_name_ntop (srv [ctr]+SRV_SERVER, srvname, MAXDNAME) < 0) {
++ if (ns_name_uncompress (names.buf, names.buf+names.len, srv [ctr]+SRV_SERVER, srvname, MAXDNAME) < 0) {
+ return -errno;
+ }
+
+--- a/src/threads/mutex.cpp
++++ b/src/threads/mutex.cpp
+@@ -36,7 +36,7 @@
+ pthread_mutexattr_init(&attr);
+
+
+- int ret = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
++ int ret = pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+ if (ret != 0) throw string(
+ "t_mutex::t_mutex failed to create a recursive mutex.");
+
diff --git a/testing/typescript/APKBUILD b/testing/typescript/APKBUILD
new file mode 100644
index 00000000000..ca232a3b8ec
--- /dev/null
+++ b/testing/typescript/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
+# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
+pkgname=typescript
+pkgver=5.4.4
+pkgrel=0
+pkgdesc="TypeScript is a superset of JavaScript that compiles to clean JavaScript output."
+url="https://www.typescriptlang.org/"
+arch="noarch"
+license="Apache-2.0"
+depends="cmd:node"
+options="!check" # not implemented
+source="https://github.com/microsoft/TypeScript/releases/download/v$pkgver/typescript-$pkgver.tgz"
+builddir="$srcdir/package"
+
+package() {
+ local destdir="usr/share/node_modules/$pkgname"
+
+ mkdir -p "$pkgdir"/$destdir
+ cp -R "$builddir"/* "$pkgdir"/$destdir/
+
+ mkdir -p "$pkgdir"/usr/bin
+ ln -s /$destdir/bin/tsc "$pkgdir"/usr/bin/tsc
+ ln -s /$destdir/bin/tsserver "$pkgdir"/usr/bin/tsserver
+}
+
+sha512sums="
+74613656ff1ca55bf0dbcbfc1c23eac9bd3c1336c1511c43a6e849bd3aeeb128547c69e11c169f0ec2dd4b5121871c8be8125013ed9c4f77433c0bfe310ea82f typescript-5.4.4.tgz
+"
diff --git a/testing/typst-lsp/APKBUILD b/testing/typst-lsp/APKBUILD
new file mode 100644
index 00000000000..9e911209d08
--- /dev/null
+++ b/testing/typst-lsp/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=typst-lsp
+pkgver=0.13.0
+pkgrel=0
+pkgdesc="Language server for typst"
+url="https://github.com/nvarner/typst-lsp"
+# typst, rust-analyzer
+arch="aarch64 ppc64le x86_64"
+license="MIT"
+depends="rust-analyzer"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ "
+source="
+ https://github.com/nvarner/typst-lsp/archive/refs/tags/v$pkgver/typst-lsp-$pkgver.tar.gz
+ "
+options="net !check" # no tests
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build \
+ --release \
+ --frozen \
+ --no-default-features \
+ --features=remote-packages,native-tls
+}
+
+package() {
+ install -Dm755 target/release/typst-lsp -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+1287257320ab502d806d8df3d819ddfe803f98c96dfc9c9e50b7a1cd905527638bb8025107d828d54f846875b82d02e2862dc8a5da0e915009edb8ed133ba3f1 typst-lsp-0.13.0.tar.gz
+"
diff --git a/testing/typstfmt/APKBUILD b/testing/typstfmt/APKBUILD
new file mode 100644
index 00000000000..eae08b70f6b
--- /dev/null
+++ b/testing/typstfmt/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: lauren n. liberda <lauren@selfisekai.rocks>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
+pkgname=typstfmt
+pkgver=0.2.7
+pkgrel=0
+pkgdesc="Basic formatter for the Typst language with a future"
+url="https://github.com/astrale-sharp/typstfmt"
+# typst
+arch="all !s390x !ppc64le !riscv64 !armhf"
+license="MIT"
+makedepends="cargo cargo-auditable"
+subpackages="$pkgname-doc"
+source="https://github.com/astrale-sharp/typstfmt/archive/$pkgver/typstfmt-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/typstfmt "$pkgdir"/usr/bin/typstfmt
+ install -Dm644 LICENSE.md -t "$pkgdir"/usr/share/licenses/$pkgname/
+}
+
+sha512sums="
+a274b9b26e9583494080a54d6dadf3c0f26db2846659c8fa29af6ca7a42120cb549eef57be2e7d8495a44c9c51d5f2b4d1ff5140f14670b17c12b62a505b5c22 typstfmt-0.2.7.tar.gz
+"
diff --git a/testing/tz/APKBUILD b/testing/tz/APKBUILD
deleted file mode 100644
index e95d9fa71b2..00000000000
--- a/testing/tz/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Clayton Craft <clayton@craftyguy.net>
-# Maintainer: Clayton Craft <clayton@craftyguy.net>
-pkgname=tz
-pkgver=0.6.1
-pkgrel=0
-pkgdesc="interactive TUI program that displays time across a few time zones of your choosing"
-url="https://github.com/oz/tz"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="go"
-source="$pkgname-$pkgver.tar.gz::https://github.com/oz/tz/archive/refs/tags/v$pkgver.tar.gz"
-
-export GOMODCACHE="$srcdir/go"
-export GOFLAGS="$GOFLAGS -modcacherw"
-export CGO_ENABLED=0
-
-build() {
- go build -v -ldflags="-s -w" .
-}
-
-check() {
- go test ./...
-}
-
-package() {
- install -Dm755 "tz" "$pkgdir/usr/bin/tz"
-}
-
-sha512sums="
-a5db1d4c1204c46234a143b8e99ae2f78cd252f88bc62f8560da3ddd77195bc3c671b4a37ad321ce5cb6cda6c7aecc266c5023192f324dc80a4e080d6a80a96f tz-0.6.1.tar.gz
-"
diff --git a/testing/u1db-qt/0001-point-qmlplugindump-to-qmlplugindump-qt5.patch b/testing/u1db-qt/0001-point-qmlplugindump-to-qmlplugindump-qt5.patch
new file mode 100644
index 00000000000..68f52f67698
--- /dev/null
+++ b/testing/u1db-qt/0001-point-qmlplugindump-to-qmlplugindump-qt5.patch
@@ -0,0 +1,25 @@
+From 55104fc641dc955ce0574c7b3ee67fc5ed249a94 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 26 Nov 2023 06:16:36 -0500
+Subject: [PATCH] point qmlplugindump to qmlplugindump-qt5
+
+---
+ modules/U1db/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules/U1db/CMakeLists.txt b/modules/U1db/CMakeLists.txt
+index 05cc7c4..db4e97b 100644
+--- a/modules/U1db/CMakeLists.txt
++++ b/modules/U1db/CMakeLists.txt
+@@ -50,7 +50,7 @@ install(FILES qmldir
+ add_custom_command(
+ TARGET U1DBPlugin
+ POST_BUILD
+- COMMAND "qmlplugindump" "U1db" "1.0" "${CMAKE_BINARY_DIR}/modules" ">" "plugins.qmltypes"
++ COMMAND "qmlplugindump-qt5" "U1db" "1.0" "${CMAKE_BINARY_DIR}/modules" ">" "plugins.qmltypes"
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ )
+
+--
+2.42.0
+
diff --git a/testing/u1db-qt/0002-point-qmltestrunner-to-qmltestrunner-qt5.patch b/testing/u1db-qt/0002-point-qmltestrunner-to-qmltestrunner-qt5.patch
new file mode 100644
index 00000000000..61738731e11
--- /dev/null
+++ b/testing/u1db-qt/0002-point-qmltestrunner-to-qmltestrunner-qt5.patch
@@ -0,0 +1,23 @@
+From eeaa315b792c728e18a46f41074a1839bf32ab92 Mon Sep 17 00:00:00 2001
+From: Brandon Boese <brandonboese@protonmail.com>
+Date: Sun, 26 Nov 2023 06:20:52 -0500
+Subject: [PATCH] point qmltestrunner to qmltestrunner-qt5
+
+---
+ tests/strict-qmltestrunner.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/strict-qmltestrunner.sh b/tests/strict-qmltestrunner.sh
+index 9986d1b..510451f 100755
+--- a/tests/strict-qmltestrunner.sh
++++ b/tests/strict-qmltestrunner.sh
+@@ -16,5 +16,5 @@
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
+ #
+ ################################################################################
+-qmltestrunner $* || exit 1
++qmltestrunner-qt5 $* || exit 1
+ test 0 -eq $(grep -c qwarn plugintest-xunit.xml) || exit 1
+--
+2.42.0
+
diff --git a/testing/u1db-qt/APKBUILD b/testing/u1db-qt/APKBUILD
new file mode 100644
index 00000000000..f49485fedc6
--- /dev/null
+++ b/testing/u1db-qt/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Luca Weiss <luca@z3ntu.xyz>
+# Contributor: Brandon Boese <brandonboese@protonmail.com>
+pkgname=u1db-qt
+pkgver=0.1.7
+pkgrel=0
+pkgdesc="Simple Qt5 binding and QtQuick2 plugin for U1DB"
+url="https://gitlab.com/ubports/development/core/u1db-qt"
+arch="all"
+license="GPL-3.0-only"
+makedepends="
+ cmake
+ samurai
+ qt5-qtdeclarative-dev
+ "
+checkdepends="
+ dbus-test-runner
+ "
+source="https://gitlab.com/ubports/development/core/u1db-qt/-/archive/$pkgver/u1db-qt-$pkgver.tar.gz
+ 0001-point-qmlplugindump-to-qmlplugindump-qt5.patch
+ 0002-point-qmltestrunner-to-qmltestrunner-qt5.patch
+ "
+options="!check" # requires a display
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=None
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+bd64c0f48e8a078c9393948d41e06eb13b337e6b5fa965cd01e2a854495b6fac1aa6567871d3f781952190c22a834f5fcc4f012499ef8374d0b985c21f57db0f u1db-qt-0.1.7.tar.gz
+69ae5a296e43d5429a4e32deaa777015d2ec2c8ca8a4946d6da36dd4aa934345f41e2449d16360a3f8ac061acf2e9f9b91c8ee777e849f399ec4818c10e39f17 0001-point-qmlplugindump-to-qmlplugindump-qt5.patch
+f57ec76224aab9600c2d0bbcd596231c1fe92f24475eba295b0bbbcc301df9f57695d9f2e3ed65f678f1e888081a782fa8789a5f721a1cb3d6cbe7f894ba86da 0002-point-qmltestrunner-to-qmltestrunner-qt5.patch
+"
diff --git a/testing/uasm/0001-Allow-multiple-symbol-definitions.patch b/testing/uasm/0001-Allow-multiple-symbol-definitions.patch
deleted file mode 100644
index 143fd760d6a..00000000000
--- a/testing/uasm/0001-Allow-multiple-symbol-definitions.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 36e0be7bf3a3314eb5632f46c71fc8bba559c40e Mon Sep 17 00:00:00 2001
-From: Olliver Schinagl <oliver@schinagl.nl>
-Date: Sat, 13 Feb 2021 14:36:55 +0100
-Subject: [PATCH] Allow multiple symbol definitions
-
-Compiling the codebase with GCC results in many errors about multiple
-redefinitions, such as:
-
-/usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: GccUnixR/orgfixup.o:(.bss+0x8): multiple definition of `MODULEARCH'; GccUnixR/main.o:(.bss+0x0): first defined here
-/usr/lib/gcc/x86_64-alpine-linux-musl/10.2.1/../../../../x86_64-alpine-linux-musl/bin/ld: GccUnixR/orgfixup.o:(.bss+0x9): multiple definition of `ZEROLOCALS'; GccUnixR/main.o:(.bss+0x1): first defined here
-
-while this could be limited to musl, I believe even binutils has marked
-this as deprecated. There is a flag however allowing to work-around
-this, allowing proper compilation.
-
-Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
----
- gccLinux64.mak | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/gccLinux64.mak b/gccLinux64.mak
-index eb6e381..fc9c623 100644
---- a/gccLinux64.mak
-+++ b/gccLinux64.mak
-@@ -40,7 +40,7 @@ $(OUTD):
-
- $(OUTD)/$(TARGET1) : $(OUTD)/main.o $(proj_obj)
- ifeq ($(DEBUG),0)
-- $(CC) -D __UNIX__ $(OUTD)/main.o $(proj_obj) -s -o $@ -Wl,-Map,$(OUTD)/$(TARGET1).map
-+ $(CC) -D __UNIX__ $(OUTD)/main.o $(proj_obj) -s -o $@ -Wl,--allow-multiple-definition,-Map,$(OUTD)/$(TARGET1).map
- else
- $(CC) -D __UNIX__ $(OUTD)/main.o $(proj_obj) -o $@ -Wl,-Map,$(OUTD)/$(TARGET1).map
- endif
---
-2.30.0
-
diff --git a/testing/uasm/APKBUILD b/testing/uasm/APKBUILD
index 83edc4e01fc..ff19af3f550 100644
--- a/testing/uasm/APKBUILD
+++ b/testing/uasm/APKBUILD
@@ -1,30 +1,27 @@
# Contributor: Olliver Schinagl <oliver@schinagl.nl>
# Maintainer: Olliver Schinagl <oliver@schinagl.nl>
-pkgname="uasm"
-pkgver="2.50.0"
+pkgname=uasm
+pkgver=2.56.2
pkgrel=0
pkgdesc="UASM - Macro Assembler"
url="https://www.terraspace.co.uk/uasm.html"
arch="all"
license="custom"
options="!check !spdx" # No tests available, license is the JWasm open source license
-_commitish="16a853bd6de807fe2c42569f8375a029684c0f22" # UASM doesn't tag, but branch per version
-source="
- ${pkgname}-${pkgver}.zip::https://github.com/Terraspace/UASM/archive/${_commitish}.zip
- 0001-Allow-multiple-symbol-definitions.patch
-"
-builddir="${srcdir}/UASM-${_commitish}/"
+source="https://github.com/Terraspace/UASM/archive/v$pkgver/uasm-$pkgver.tar.gz"
+builddir="$srcdir/UASM-$pkgver"
build() {
- make ${JOBS:+-j ${JOBS}} -f "gccLinux64.mak"
+ make -f gccLinux64.mak
}
package() {
- install -D -m 0755 "${builddir}/GccUnixR/uasm" \
- "${pkgdir}/usr/bin/uasm"
- install -D -m 0755 "${builddir}/License.txt" \
- "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+ install -Dm0755 GccUnixR/uasm \
+ "$pkgdir"/usr/bin/uasm
+ install -Dm0644 License.txt \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
}
-sha512sums="63ceff7cf1947f4bdef3063e660e17de3f5df43fefcdfa92061d7f1cbfc3c2f441c6fad06665b5ac288b39ebe54526aaa5dfe77d9e49ec68bb5bcad5e66140a1 uasm-2.50.0.zip
-f276855ee446a66115b3a8e0a12f920ca7dd741862fcf6ef8fd21f3c5874a3be6545404368ad340d872b433c391f69d9e45bc3d92adf4584a2b192f1b890df0e 0001-Allow-multiple-symbol-definitions.patch"
+sha512sums="
+1f6c1037909d012f3293985c4e0516f4b61497de23cac6bbb58db735efb512599c0bba5d60d8ce999e6afc57e44484a094bf10f0ee185a51afd826f5541c9337 uasm-2.56.2.tar.gz
+"
diff --git a/testing/ubase/APKBUILD b/testing/ubase/APKBUILD
index 7cb93e8932d..fa03628e728 100644
--- a/testing/ubase/APKBUILD
+++ b/testing/ubase/APKBUILD
@@ -1,13 +1,13 @@
# Contributor: Ivan Tham <pickfire@riseup.net>
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Drew DeVault <sir@cmpwn.com>
+# Maintainer:
pkgname=ubase
pkgver=20200605
_gitrev=f152e7fc3bd1675060818ac224f96541a2d9d6e7
-pkgrel=1
+pkgrel=2
pkgdesc="Suckless collection of unportable base"
url="https://github.com/michaelforney/ubase"
-arch="all !mips !mips64" # fails to build on mips
+arch="all"
license="MIT"
install="$pkgname.post-install $pkgname.post-upgrade $pkgname.pre-deinstall"
subpackages="$pkgname-doc"
diff --git a/testing/ubuntu-archive-keyring/APKBUILD b/testing/ubuntu-archive-keyring/APKBUILD
index 703afc30d70..b5fbc96e264 100644
--- a/testing/ubuntu-archive-keyring/APKBUILD
+++ b/testing/ubuntu-archive-keyring/APKBUILD
@@ -1,35 +1,23 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=ubuntu-archive-keyring
-pkgver=2016.05.13.1
-_pkgver=${pkgver%.*}${pkgver//*./-}
-pkgrel=1
-pkgdesc="GnuPG archive keys of the Debian archive"
-url="https://packages.debian.org/sid/debian-archive-keyring"
+pkgver=2023.11.28.1
+pkgrel=0
+pkgdesc="GnuPG keys of the Ubuntu Cloud Archive"
+url="https://launchpad.net/ubuntu/+source/ubuntu-keyring"
arch="noarch"
license="GPL"
depends="gnupg"
-makedepends="tar xz"
options="!check" # upstream doesn't have a test suite.
subpackages="$pkgname-doc"
-source="https://deb.debian.org/debian/pool/main/u/ubuntu-keyring/${pkgname}_${_pkgver}_all.deb"
-
-unpack() {
- cd "$srcdir"
- for i in $source; do
- case $i in
- *.deb) ar x ${i##*/} || return 1 ;;
- esac
- done
-}
-
-build() {
- return 0
-}
+source="https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/ubuntu-keyring/$pkgver/ubuntu-keyring_$pkgver.tar.xz"
+builddir="$srcdir/ubuntu-keyring"
package() {
- mkdir -p "$pkgdir"
- tar -xJf "$srcdir"/data.tar.xz -C "$pkgdir"/
+ install -Dm644 keyrings/* -t "$pkgdir"/usr/share/keyrings/
+ install -Dm644 debian/copyright -t "$pkgdir"/usr/share/licenses/$pkgname/
}
-sha512sums="8234457c379d2a3d0524e5ab5abf806aa8c49806ec863e7fd1d95a63c2b32ccbcaf2375e186de3bd0611b1d8f227d4ee03428d63f30f5b45597036fd5d5a0a56 ubuntu-archive-keyring_2016.05.13-1_all.deb"
+sha512sums="
+b17824a91d6e25c5658eae8d9ae509a4158b406768d5d4a8e117a230226ab7cd4327cf7e5b9bbb7baae7c66f3807d27926de85a1ea5c11a82684a890aeb8fd18 ubuntu-keyring_2023.11.28.1.tar.xz
+"
diff --git a/testing/uclient/APKBUILD b/testing/uclient/APKBUILD
new file mode 100644
index 00000000000..26f8a661657
--- /dev/null
+++ b/testing/uclient/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
+pkgname=uclient
+pkgver=20210514
+pkgrel=0
+pkgdesc="ustream-based HTTP client library"
+url="https://git.openwrt.org/project/uclient.git"
+arch="all"
+license="ISC"
+depends=""
+depends_dev="libubox-dev ustream-ssl-dev"
+makedepends="cmake $depends_dev"
+subpackages="$pkgname-dev $pkgname-fetch:_fetch"
+_owrtgit=6a6011df
+_owrtver="${pkgver:0:4}-${pkgver:4:2}-${pkgver:6:2}-${_owrtgit}"
+source="https://sources.openwrt.org/uclient-${_owrtver}.tar.xz"
+builddir="$srcdir/uclient-${_owrtver}"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ $CMAKE_CROSSOPTS .
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+_fetch() {
+ amove usr/bin/uclient-fetch
+}
+
+sha512sums="
+91f0beccb367f39da998e46e160f5f73fcf7755f0ea88b72a970d9377efb5390deb6dd4d717a1b7b7cefffc61135cc1ffa24f1df78b87adb94a1a37b0b14abb3 uclient-2021-05-14-6a6011df.tar.xz
+"
diff --git a/testing/ucspi-tcp/APKBUILD b/testing/ucspi-tcp/APKBUILD
index 0927f1dfe4b..02bac52750e 100644
--- a/testing/ucspi-tcp/APKBUILD
+++ b/testing/ucspi-tcp/APKBUILD
@@ -3,7 +3,7 @@
pkgname=ucspi-tcp
pkgver=0.88
-pkgrel=1
+pkgrel=2
pkgdesc="Easy-to-use command-line tools for building TCP client-server applications."
url="https://cr.yp.to/ucspi-tcp.html"
arch="all"
diff --git a/testing/udpcast/APKBUILD b/testing/udpcast/APKBUILD
index 62b587a5ae0..a90e10f7d20 100644
--- a/testing/udpcast/APKBUILD
+++ b/testing/udpcast/APKBUILD
@@ -1,20 +1,28 @@
-# Contributor:
-# Maintainer: Jay Christopherson <jaychris@gmail.com>
+# Contributor: Jay Christopherson <jaychris@gmail.com>
+# Maintainer: Celeste <cielesti@protonmail.com>
pkgname=udpcast
-pkgver=20200328
-pkgrel=0
-pkgdesc="Port of UDPcast file transfer tool"
-url="https://www.udpcast.linux.lu/index.html"
+pkgver=20230924
+pkgrel=1
+pkgdesc="Multicast file transfer tool"
+url="https://www.udpcast.linux.lu/"
arch="all"
-license="GPL-2.0"
-makedepends="$depends_dev linux-headers m4 perl"
-subpackages="$pkgname-doc $pkgname-dev"
+license="GPL-2.0-or-later AND BSD-2-Clause"
+makedepends="linux-headers m4 perl"
+subpackages="$pkgname-dev $pkgname-doc"
source="https://www.udpcast.linux.lu/download/udpcast-$pkgver.tar.gz
console.patch
+ fix-includes.patch
"
+options="!check" # no tests provided
build() {
- ./configure --prefix=/usr
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
make
}
@@ -22,5 +30,8 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="b1ce4f0cade5db6bc69d3a154c354565675f44e97f9e3d90152f9594fd4f17fff2891eb1cb8d73c59e0d24eeb85e485e96b7a64fa9f1b6d2f005c4cece377bc7 udpcast-20200328.tar.gz
-7abfcf317b5985f680258abc913a48cfd21a26f77625780e57d93960f7efeb0f214ce4d4188bd75cedb9dccac5a5fe9befed2044e3df3b0e8228ac6e0663c41c console.patch"
+sha512sums="
+3b56e6e524d8e7ebc230cfecc9e3af590ad29963cba44f24663d0f361c294c85a54fa8cedbdf48276a76fcf772ce9a2b2d65854f71d8336e73a98aec56b822bc udpcast-20230924.tar.gz
+7abfcf317b5985f680258abc913a48cfd21a26f77625780e57d93960f7efeb0f214ce4d4188bd75cedb9dccac5a5fe9befed2044e3df3b0e8228ac6e0663c41c console.patch
+f10cc923f445fc5e0e828d2e7d21febcaa16a1ec65538c5736ae4eadd3251ab65740b827f9d5bfb77b5ce5908a490588751d349cf5f711a41951ddcee090de8a fix-includes.patch
+"
diff --git a/testing/udpcast/fix-includes.patch b/testing/udpcast/fix-includes.patch
new file mode 100644
index 00000000000..810824e2294
--- /dev/null
+++ b/testing/udpcast/fix-includes.patch
@@ -0,0 +1,10 @@
+--- a/receivedata.c
++++ b/receivedata.c
+@@ -13,6 +13,7 @@
+ #include "udp-receiver.h"
+ #include "util.h"
+ #include "statistics.h"
++#include "stddef.h"
+ #include "fec.h"
+
+ #define DEBUG 0
diff --git a/testing/udpt/APKBUILD b/testing/udpt/APKBUILD
index 217c60a296a..cca54a0fd6b 100644
--- a/testing/udpt/APKBUILD
+++ b/testing/udpt/APKBUILD
@@ -1,30 +1,34 @@
# Contributor: Thomas Kienlen <kommander@laposte.net>
# Maintainer: Thomas Kienlen <kommander@laposte.net>
pkgname=udpt
-pkgver=3.1.1
+pkgver=3.1.2
pkgrel=0
pkgdesc="Lightweight UDP torrent tracker"
url="https://github.com/naim94a/udpt"
-arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust/cargo
+arch="all"
license="MIT"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
pkgusers="udpt"
pkggroups="udpt"
install="udpt.pre-install"
subpackages="$pkgname-openrc"
-source="https://github.com/naim94a/udpt/archive/udpt-$pkgver/udpt-$pkgver.tar.gz
+source="https://github.com/naim94a/udpt/archive/refs/tags/v$pkgver/udpt-$pkgver.tar.gz
+ lock.patch
udpt.initd
udpt.conf
- cargo.toml.patch
"
-builddir="$srcdir/udpt-udpt-$pkgver"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
build() {
- cargo build --release --locked
+ cargo auditable build --release --frozen
}
check() {
- cargo test --locked --target-dir=target
+ cargo test --frozen
}
package() {
@@ -34,8 +38,8 @@ package() {
}
sha512sums="
-05a707ec22d0d27ef7ed47eb2144b27c448ae48cc78d7fa9492a81911a7a8759768b079ab71df2a1ae63897241b70712dc0728fe6877481680d53e87536b1ff5 udpt-3.1.1.tar.gz
+de0d715a87be3568448c61ae9b6484c4b9ad5863d956119ed80b3e821135208f59ca0a06dfa027b501dae51596d30f8f4ea81aba235f1f8464c77b9acc49e909 udpt-3.1.2.tar.gz
+b28ecc070fe27b7d71fa8812f5dc7412c1bbd28bbc160028fb8abf65c6408bbd39d416aa931ef41dd1733d9f92a54172e41b6083a8ed5ac996b2bb557e979f84 lock.patch
e233e4d76a0ad458579810ebb9d5697604bfebb0f51f218bcd27ceff55d2a86c50bc28b278da6793f6e688492eb962043f1e876852b3d8dcec046bff56abe78b udpt.initd
9646e424a2fe4355745241ce84f989453bf75b26bad772d2ba7e72eade6b51d5f8d4b6e3eb671edff3c892a47dda029a3aed93276a3a4f992db13cce57e1521d udpt.conf
-a154f539a10419fb7f3ff3c47938d15960ef74f41c537c8dbc8435a460b506506c431b1331d4e6b62dd6aaf0b7cf6d7f98fd17b9d49779043a308b6b4152497c cargo.toml.patch
"
diff --git a/testing/udpt/cargo.toml.patch b/testing/udpt/cargo.toml.patch
deleted file mode 100644
index ae2f8d33f21..00000000000
--- a/testing/udpt/cargo.toml.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Optimize binary size (2.3 MB -> 1.5 MB)
-
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -6,7 +6,10 @@ description = "High performance torrent
- edition = "2018"
-
- [profile.release]
--lto = "fat"
-+codegen-units = 1
-+lto = true
-+opt-level = "z"
-+panic = "abort"
-
- [dependencies]
- serde = {version = "1.0", features = ["derive"]}
diff --git a/testing/udpt/lock.patch b/testing/udpt/lock.patch
new file mode 100644
index 00000000000..e6dc30954a7
--- /dev/null
+++ b/testing/udpt/lock.patch
@@ -0,0 +1,13 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index 48cd614..7dfed24 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -800,7 +800,7 @@ checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+
+ [[package]]
+ name = "udpt-rs"
+-version = "3.1.1"
++version = "3.1.2"
+ dependencies = [
+ "async-compression",
+ "binascii",
diff --git a/testing/ueberzug/APKBUILD b/testing/ueberzug/APKBUILD
new file mode 100644
index 00000000000..c5a9bba09ea
--- /dev/null
+++ b/testing/ueberzug/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Sergiy Stupar <owner@sestolab.pp.ua>
+# Maintainer: Sergiy Stupar <owner@sestolab.pp.ua>
+pkgname=ueberzug
+pkgver=18.2.2
+pkgrel=1
+pkgdesc="Command line util which allows one to draw images on terminals by using child windows"
+url="https://github.com/ueber-devel/ueberzug"
+arch="all"
+license="GPL-3.0-or-later"
+depends="
+ py3-attrs
+ py3-docopt
+ py3-pillow
+ "
+makedepends="
+ libxext-dev
+ libxres-dev
+ py3-gpep517
+ py3-setuptools
+ py3-wheel
+ python3-dev
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ueber-devel/ueberzug/archive/$pkgver.tar.gz"
+options="!check" # No tests
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+9253b687000a36a9d90408a6760c2ee8a78e48eabb72cab8fb5fb42bb7eaaacec6695b7c1e5bb51bfe651e4a06d19df0d9a82800054ff954c4825349fa72b872 ueberzug-18.2.2.tar.gz
+"
diff --git a/testing/uefitool/APKBUILD b/testing/uefitool/APKBUILD
index 4b8fea5d2c7..77594c54014 100644
--- a/testing/uefitool/APKBUILD
+++ b/testing/uefitool/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Mogens Jensen <mogens-jensen@protonmail.com>
pkgname=uefitool
pkgver=0.28.0
-pkgrel=0
+pkgrel=1
pkgdesc="UEFI firmware image viewer and editor"
url="https://github.com/LongSoft/UEFITool"
arch="all"
diff --git a/testing/uhubctl/APKBUILD b/testing/uhubctl/APKBUILD
deleted file mode 100644
index 63a455f9350..00000000000
--- a/testing/uhubctl/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: Steven Honson <steven@honson.id.au>
-# Maintainer: Steven Honson <steven@honson.id.au>
-pkgname=uhubctl
-pkgver=2.4.0
-pkgrel=0
-pkgdesc="USB hub per-port power control"
-url="https://github.com/mvp/uhubctl"
-license="GPL-2.0-only"
-arch="all"
-makedepends="libusb-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mvp/uhubctl/archive/v$pkgver.tar.gz"
-options="!check" # no test suite
-
-build() {
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-d7f07679c4678565ce0174e1eb591263fae5629dd6fbb5aaa0321ca10176b8b2d662e75a3019caeb83aaf470c8386188848ba3095e1006451e8710b2a2c9bb1d uhubctl-2.4.0.tar.gz
-"
diff --git a/testing/undock/APKBUILD b/testing/undock/APKBUILD
new file mode 100644
index 00000000000..0588f1f8449
--- /dev/null
+++ b/testing/undock/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=undock
+pkgver=0.7.0
+pkgrel=2
+pkgdesc="Tool to extract contents of a container image into a local folder"
+url="https://crazymax.dev/undock/"
+arch="all"
+license="MIT"
+makedepends="go linux-headers gpgme-dev btrfs-progs-dev lvm2-dev sqlite-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/crazy-max/undock/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+_gotags="containers_image_openpgp exclude_graphdriver_btrfs exclude_graphdriver_devicemapper libsqlite3"
+
+build() {
+ go build -v -o bin/$pkgname \
+ -ldflags "-X main.version=$pkgver" \
+ -tags "$_gotags" \
+ ./cmd
+}
+
+check() {
+ go test -tags "$_gotags" ./...
+}
+
+package() {
+ install -Dm755 bin/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+ac3bd91a67445b12ea6c5f9a5e40055a99da1718679fcb670cdd35c47d7bab67dd8fe8563baf922baeb741df9e0a4cd82b4bcfdc2cf2e65c19ed2b848354c18d undock-0.7.0.tar.gz
+"
diff --git a/testing/unicorn/APKBUILD b/testing/unicorn/APKBUILD
new file mode 100644
index 00000000000..7b204655408
--- /dev/null
+++ b/testing/unicorn/APKBUILD
@@ -0,0 +1,65 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=unicorn
+pkgver=2.0.1
+pkgrel=3
+pkgdesc="Unicorn CPU emulator engine"
+url="https://www.unicorn-engine.org/"
+# ppc: fails check
+# rest: ftbfs
+arch="all !armv7 !armhf !ppc64le !s390x"
+license="GPL-2.0-or-later"
+makedepends="cmake linux-headers python3 py3-setuptools py3-gpep517 py3-wheel samurai"
+subpackages="$pkgname-dev py3-$pkgname-pyc:pyc py3-unicorn:py3"
+source="https://github.com/unicorn-engine/unicorn/archive/refs/tags/$pkgver/unicorn-$pkgver.tar.gz
+ endian.patch
+ python-libdir.patch
+ "
+
+# secfixes:
+# 2.0.1-r0:
+# - CVE-2022-29693
+# - CVE-2022-29694
+# - CVE-2022-29695
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+
+ cd bindings/python
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ cd bindings/python
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
+
+ # dupe of parent package
+ rm -r "$pkgdir"/usr/lib/python3*/site-packages/unicorn/lib/
+}
+
+py3() {
+ pkgdesc="$pkgdesc (Python bindings)"
+ depends="python3 $pkgname=$pkgver-r$pkgrel py3-setuptools"
+
+ amove usr/lib/python3*
+}
+
+sha512sums="
+4249d33d38614ea1ca51e38c7838cb276306100aa44c65ad1b3e39304e4b856ac643a9c6f9d13678fc07bea58989a08b64653d17afe9e62bcef2936ba63e1b1f unicorn-2.0.1.tar.gz
+c1373171c1d9ee106f9dab94e7d283b3b8c1eb19013ffc96d1b6156c1571057f9984f08db4f07ea98d6bd7855a6aa39386ca33cade4bb9e367cb8b2705c865c1 endian.patch
+994150b8625ff7198ef344f85b88f62a3cb9fe429a8985d03ec049fd99f223ccc8b59a1a909d025a0ef387fab4b2c22b96b5ee4de93efdda57a7747fae080704 python-libdir.patch
+"
diff --git a/testing/unicorn/endian.patch b/testing/unicorn/endian.patch
new file mode 100644
index 00000000000..0506d1354c4
--- /dev/null
+++ b/testing/unicorn/endian.patch
@@ -0,0 +1,57 @@
+diff --git a/tests/unit/endian.h b/tests/unit/endian.h
+index 5bc8630..3e24763 100644
+--- a/tests/unit/endian.h
++++ b/tests/unit/endian.h
+@@ -29,47 +29,13 @@
+ #ifndef BOOST_DETAIL_ENDIAN_HPP
+ #define BOOST_DETAIL_ENDIAN_HPP
+
+-// GNU libc offers the helpful header <endian.h> which defines
+-// __BYTE_ORDER
+-
+-#if defined (__GLIBC__)
+-# include <endian.h>
+-# if (__BYTE_ORDER == __LITTLE_ENDIAN)
+-# define BOOST_LITTLE_ENDIAN
+-# elif (__BYTE_ORDER == __BIG_ENDIAN)
+-# define BOOST_BIG_ENDIAN
+-# elif (__BYTE_ORDER == __PDP_ENDIAN)
+-# define BOOST_PDP_ENDIAN
+-# else
+-# error Unknown machine endianness detected.
+-# endif
+-# define BOOST_BYTE_ORDER __BYTE_ORDER
+-#elif defined(_BIG_ENDIAN) && !defined(_LITTLE_ENDIAN)
+-# define BOOST_BIG_ENDIAN
+-# define BOOST_BYTE_ORDER 4321
+-#elif defined(_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN)
++#include <endian.h>
++#if (__BYTE_ORDER == __LITTLE_ENDIAN)
+ # define BOOST_LITTLE_ENDIAN
+-# define BOOST_BYTE_ORDER 1234
+-#elif defined(__sparc) || defined(__sparc__) \
+- || defined(_POWER) || defined(__powerpc__) \
+- || defined(__ppc__) || defined(__hpux) || defined(__hppa) \
+- || defined(_MIPSEB) || defined(_POWER) \
+- || defined(__s390__)
++#elif (__BYTE_ORDER == __BIG_ENDIAN)
+ # define BOOST_BIG_ENDIAN
+-# define BOOST_BYTE_ORDER 4321
+-#elif defined(__i386__) || defined(__alpha__) \
+- || defined(__ia64) || defined(__ia64__) \
+- || defined(_M_IX86) || defined(_M_IA64) \
+- || defined(_M_ALPHA) || defined(__amd64) \
+- || defined(__amd64__) || defined(_M_AMD64) \
+- || defined(__x86_64) || defined(__x86_64__) \
+- || defined(_M_X64) || defined(__bfin__)
+-
+-# define BOOST_LITTLE_ENDIAN
+-# define BOOST_BYTE_ORDER 1234
+-#else
+-# error The file boost/detail/endian.hpp needs to be set up for your CPU type.
++#elif (__BYTE_ORDER == __PDP_ENDIAN)
++# define BOOST_PDP_ENDIAN
+ #endif
+
+-
+ #endif
diff --git a/testing/unicorn/python-libdir.patch b/testing/unicorn/python-libdir.patch
new file mode 100644
index 00000000000..080acb0cef6
--- /dev/null
+++ b/testing/unicorn/python-libdir.patch
@@ -0,0 +1,13 @@
+diff --git a/bindings/python/unicorn/unicorn.py b/bindings/python/unicorn/unicorn.py
+index c782356..b7d0be2 100644
+--- a/bindings/python/unicorn/unicorn.py
++++ b/bindings/python/unicorn/unicorn.py
+@@ -86,7 +86,7 @@ _path_list = [os.getenv('LIBUNICORN_PATH', None),
+ os.path.join(os.path.split(__file__)[0], 'lib'),
+ '',
+ distutils.sysconfig.get_python_lib(),
+- "/usr/local/lib/" if sys.platform == 'darwin' else '/usr/lib64',
++ "/usr/local/lib/" if sys.platform == 'darwin' else '/usr/lib',
+ os.getenv('PATH', '')]
+
+ #print(_path_list)
diff --git a/testing/unit-php81/APKBUILD b/testing/unit-php81/APKBUILD
new file mode 100644
index 00000000000..3de005e1ce1
--- /dev/null
+++ b/testing/unit-php81/APKBUILD
@@ -0,0 +1,73 @@
+# Contributor: André Klitzing <aklitzing@gmail.com>
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Andy Postnikov <apostnikov@gmail.com>
+pkgname=unit-php81
+pkgver=1.32.1
+pkgrel=0
+pkgdesc="PHP 8.1 module for NGINX Unit"
+url="https://unit.nginx.org/"
+arch="all"
+license="Apache-2.0"
+_phpver=81
+depends="unit"
+makedepends="
+ linux-headers
+ openssl-dev>3
+ php$_phpver-dev
+ php$_phpver-embed
+ "
+checkdepends="procps-ng
+ py3-openssl
+ py3-pytest
+ php$_phpver-opcache
+ "
+source="https://unit.nginx.org/download/unit-$pkgver.tar.gz
+ phpver.patch
+ fix-tls-tests.patch
+ "
+builddir="$srcdir/unit-$pkgver"
+
+build() {
+ ./configure \
+ --prefix="/usr" \
+ --localstatedir="/var" \
+ --statedir="/var/lib/unit" \
+ --control="unix:/run/control.unit.sock" \
+ --pid="/run/unit.pid" \
+ --log="/var/log/unit.log" \
+ --tmpdir=/tmp \
+ --modulesdir="/usr/lib/unit/modules" \
+ --openssl \
+ --user=unit \
+ --group=unit \
+ --tests
+ ./configure php --module=php$_phpver --config=php-config$_phpver
+
+ make
+ make php$_phpver tests
+}
+
+check() {
+ # FIXME: some tests fail in CI or locally in checkroot too
+ local _fds=160 # fds leaking in tests
+ local _allow_fail=no
+ case "$CARCH" in
+ armhf | armv7) _allow_fail=yes ;; # segfault
+ esac
+ pytest test --fds-threshold=$_fds -k "
+ test_php \
+ and not test_php_isolation \
+ and not test_php_application_forbidden \
+ and not test_php_application_shared_opcache \
+ " || [ "$_allow_fail" = yes ]
+}
+
+package() {
+ make php$_phpver-install DESTDIR="$pkgdir"
+}
+
+sha512sums="
+159b36f7afb8857188c9b64ee192e18d6990da3733caafcfb684b98e3f5182a7589ed2439f32af0cd3c763a3fa73f061f5a73ef01894182b1c12a4cd324c528a unit-1.32.1.tar.gz
+2fe9966f54fd5d23316810b0260d966e2093c303d8a9ecea693971fe2243c579ed5db0e41e01fc01e56801387bd19cc72f5b26c45d21e5d48084e9ded384965b phpver.patch
+aae610dd2e8056d278397af708926a8e24f282158dc539182f9dfd44582f6b8bba1a57df7769539572f4268db305d84f12eb9fe07dfeec9a8781a6f66ca28386 fix-tls-tests.patch
+"
diff --git a/testing/unit-php81/fix-tls-tests.patch b/testing/unit-php81/fix-tls-tests.patch
new file mode 100644
index 00000000000..fa8e35179c6
--- /dev/null
+++ b/testing/unit-php81/fix-tls-tests.patch
@@ -0,0 +1,40 @@
+Patch-Source: https://github.com/nginx/unit/commit/a625a0b1f0d822b3224b7b29565fe9733b634afd
+From a625a0b1f0d822b3224b7b29565fe9733b634afd Mon Sep 17 00:00:00 2001
+From: Andrei Zeliankou <zelenkov@nginx.com>
+Date: Mon, 8 Apr 2024 02:18:37 +0100
+Subject: [PATCH] Tests: compatibility with OpenSSL 3.2.0
+
+OpenSSL 3.2.0 generates X.509v3 certificates by default. These
+certificates, even self-signed, cannot sign other certificates unless
+"CA:TRUE" is explicitly set in the basicConstraints extension.
+As a result, tests attempting this are currently failing.
+
+Fix is to provide "CA:TRUE" in the basicConstraints for self-signed root
+certificates used in "openssl ca" commands.
+
+Closes: https://github.com/nginx/unit/issues/1202
+Tested-by: Andrew Clayton <a.clayton@nginx.com>
+Reviewed-by: Andrew Clayton <a.clayton@nginx.com>
+---
+ test/unit/applications/tls.py | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/test/unit/applications/tls.py b/test/unit/applications/tls.py
+index 75354dd91..b48293be6 100644
+--- a/test/unit/applications/tls.py
++++ b/test/unit/applications/tls.py
+@@ -85,9 +85,13 @@ def openssl_conf(self, rewrite=False, alt_names=None):
+ default_bits = 2048
+ encrypt_key = no
+ distinguished_name = req_distinguished_name
++x509_extensions = myca_extensions
+
+ {a_sec if alt_names else ""}
+-[ req_distinguished_name ]'''
++[ req_distinguished_name ]
++
++[ myca_extensions ]
++basicConstraints = critical,CA:TRUE'''
+ )
+
+ def load(self, script, name=None):
diff --git a/testing/unit-php81/phpver.patch b/testing/unit-php81/phpver.patch
new file mode 100644
index 00000000000..8168a71b204
--- /dev/null
+++ b/testing/unit-php81/phpver.patch
@@ -0,0 +1,15 @@
+--- a/auto/modules/php
++++ b/auto/modules/php
+@@ -102,11 +102,7 @@
+ `${NXT_PHP_CONFIG} --libs`"
+
+ else
+- if [ $NXT_PHP_MAJOR_VERSION -ge 8 ]; then
+- NXT_PHP_LIB="-lphp"
+- else
+- NXT_PHP_LIB="-lphp${NXT_PHP_VERSION%%.*}"
+- fi
++ NXT_PHP_LIB="-lphp${NXT_PHP_MAJOR_VERSION}${NXT_PHP_MINOR_VERSION}"
+
+ if [ "$NXT_PHP_LIB_PATH" != "" ]; then
+ # "php-config --ldflags" does not contain path to libphp, but
diff --git a/testing/unrealircd/0001.configure-without-running-config.patch b/testing/unrealircd/0001.configure-without-running-config.patch
deleted file mode 100644
index f35245b7bc3..00000000000
--- a/testing/unrealircd/0001.configure-without-running-config.patch
+++ /dev/null
@@ -1,9 +0,0 @@
---- a/configure 2021-10-03 14:09:18.000000000 +0000
-+++ b/configure 2021-10-03 14:09:18:000000000 +0000
-@@ -2305,7 +2305,7 @@
-
--if test "x$enable_dynamic_linking" = "x"; then
-+if test "$enable_dynamic_linking" = "x"; then
- echo "Please use ./Config instead of ./configure"
- exit 1
- fi
diff --git a/testing/unrealircd/APKBUILD b/testing/unrealircd/APKBUILD
deleted file mode 100755
index deca302a764..00000000000
--- a/testing/unrealircd/APKBUILD
+++ /dev/null
@@ -1,66 +0,0 @@
-# Contributor: Alex Yam <alex@alexyam.com>
-# Maintainer: Alex Yam <alex@alexyam.com>
-pkgname=unrealircd
-pkgver=6.0.1.1
-pkgrel=0
-pkgdesc="internet relay chat daemon (ircd)"
-url="https://www.unrealircd.org/"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="
- argon2-dev
- c-ares-dev
- curl-dev
- jansson-dev
- libnsl-dev
- libsodium-dev
- openssl-dev
- pcre2-dev
- tre-dev
- "
-subpackages="$pkgname-doc"
-options="!check" # no test suite
-source="https://www.unrealircd.org/downloads/unrealircd-$pkgver.tar.gz
- 0001.configure-without-running-config.patch"
-
-prepare() {
- default_prepare
- #update_config_guess #No update needed for ./autoconf/config.guess
- update_config_sub
-}
-
-build() {
- ./configure \
- --prefix=/usr \
- --enable-dynamic-linking \
- --enable-ssl \
- --with-bindir=/usr/bin \
- --with-cachedir=/var/lib/unrealircd/cache \
- --with-confdir=/etc/unrealircd \
- --with-datadir=/var/lib/unrealircd/data \
- --with-docdir=/usr/share/man/unrealircd \
- --with-logdir=/var/log/unrealircd \
- --with-modulesdir=/usr/lib/unrealircd/modules \
- --with-nick-history=2000 \
- --with-permissions=0600 \
- --with-pidfile=/var/lib/unrealircd/run/unrealircd.pid \
- --with-privatelibdir=/usr/lib/unrealircd/private_lib \
- --with-scriptdir=/usr/lib/unrealircd/scripts \
- --with-tmpdir=/var/lib/unrealircd/tmp
- make
-}
-
-package() {
- install -dm755 \
- $pkgdir/var/lib/unrealircd/run \
- $pkgdir/usr/lib/unrealircd/scripts \
- $pkgdir/usr/lib/unrealircd/private_lib
- make DESTDIR="$pkgdir" install
- # remove symlink to source
- rm -v $pkgdir/usr/lib/unrealircd/scripts/source
-}
-
-sha512sums="
-44bf9358d6159c298f8a3e97e16aa6e7364e06c4e59bb9e12bc34610414bbabb9cd8049c164260ee78fcdcafc669716eb03390aa8f4f8b097b65298d074f9ab0 unrealircd-6.0.1.1.tar.gz
-532cb2419d2b79685a391113cf1f498417ff46ad545b41e3b9e2153966ba92e21e2ef8dc9010ab491bbc10c7758d38a61a1213caf7eabe1c066ccd12c0a6f13e 0001.configure-without-running-config.patch
-"
diff --git a/testing/up/APKBUILD b/testing/up/APKBUILD
index ed97b56d69d..256d2ed4f49 100644
--- a/testing/up/APKBUILD
+++ b/testing/up/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Camuffo <dev@fmac.xyz>
pkgname=up
pkgver=0.4
-pkgrel=2
+pkgrel=20
pkgdesc="Ultimate Plumber is a tool for writing Linux pipes with instant live preview"
url="https://github.com/akavel/up"
arch="all"
@@ -10,6 +10,10 @@ license="Apache-2.0"
makedepends="go"
source="$pkgname-$pkgver.tar.gz::https://github.com/akavel/up/archive/refs/tags/v$pkgver.tar.gz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
go build -v -o bin/$pkgname
}
diff --git a/testing/upmpdcli/APKBUILD b/testing/upmpdcli/APKBUILD
deleted file mode 100644
index 48b34b3f340..00000000000
--- a/testing/upmpdcli/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Marvin Preuss <marvin@xsteadfastx.org>
-# Maintainer: Marvin Preuss <marvin@xsteadfastx.org>
-pkgname=upmpdcli
-pkgver=1.5.12
-pkgrel=1
-pkgdesc="upmpdcli is a UPnP Media Renderer front-end for MPD, the Music Player Daemon"
-pkgusers="upmpdcli"
-url="https://www.lesbonscomptes.com/upmpdcli"
-arch="all"
-license="LGPL-2.1-or-later"
-options="!check"
-makedepends="libupnpp-dev libmpdclient-dev libmicrohttpd-dev jsoncpp-dev"
-subpackages="$pkgname-doc $pkgname-openrc"
-install="$pkgname.pre-install $pkgname.post-install"
-source="$pkgname-$pkgver.tar.gz::https://www.lesbonscomptes.com/upmpdcli/downloads/upmpdcli-$pkgver.tar.gz
- $pkgname.initd
- $pkgname.conf"
-
-build() {
- ./configure --prefix=/usr --sysconfdir=/etc
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname
- install -Dm644 "$srcdir"/$pkgname.conf "$pkgdir"/etc/$pkgname.conf
- mkdir -p "$pkgdir"/var/cache/upmpdcli
-}
-
-sha512sums="ebe8076e3f99b525df115d11940a46a518725a34dcdfbb42eb763b6e148beb968a8e2015c4dd9e696224f3da2745b7356b3094de68332f50590a3421372f1dfc upmpdcli-1.5.12.tar.gz
-f586c538abb51f373bf8a8277132694ad289f9c23de9389cb5c9cb67fdbec192529645b759f745ddeca3ce24893580b0ce0d344a8e75b3fd1edd021a0335f617 upmpdcli.initd
-b6815c29e8c648fd7577f9137f1552dab96710e80458a19fc332c6382471c47fdc056c8e3e1353fc982610173e498b96df8fd18de93f5546773a22e02e58886d upmpdcli.conf"
diff --git a/testing/upmpdcli/upmpdcli.conf b/testing/upmpdcli/upmpdcli.conf
deleted file mode 100644
index 5b6d0be363d..00000000000
--- a/testing/upmpdcli/upmpdcli.conf
+++ /dev/null
@@ -1,242 +0,0 @@
-#The XML tags in the comments are used to help produce the documentation
-#from the sample/reference file, and not at all at run time, where
-#comments are just comments. Edit at will.
-#The command line options have higher priorities than the values in
-#this file.
-
-# Upmpdcli configuration
-
-
-# Upmpdcli general parameters
-
-# Log file name.
-#logfilename =
-# Log level.
-#loglevel = 2
-# XML and other constant data storage directory.
-#pkgdatadir=/usr/share/upmpdcli
-# Name of lock file used to store the current process pid.
-#pidfile = /var/run/upmpdcli.pid
-
-# UPnP network parameters
-
-# Network interface to use for UPnP.
-#upnpiface =
-# IP address to use for UPnP, alternative to using an interface name.
-#upnpip =
-# Port number used for UPnP.
-#upnpport =
-
-# Media Renderer parameters
-
-# "Friendly Name" for the UPnP Media Renderer.
-#friendlyname = UpMpd
-# Enable UPnP AV services (0/1).
-#upnpav = 1
-# Enable OpenHome services (0/1).
-#openhome = 1
-# For upmpdcli version 1.3: enable Lumin compatibility mode (lose ohcredentials) (0/1).
-#lumincompat = 0
-# Save the streaming services login parameters to disk.
-#saveohcredentials = 1
-# Check that input format is supported.
-#checkcontentformat = 1
-# Path to the openssl command
-#opensslcmd =
-# Path to the Renderer icon.
-#iconpath = /usr/share/upmpdcli/icon.png
-# Directory used to store cached data
-#cachedir = /var/cache/upmpdcli
-# Path to the presentation HTML document
-#presentationhtml = /usr/share/upmpdcli/presentation.html
-
-# MPD parameters
-
-# Host MPD runs on.
-#mpdhost = localhost
-# IP port used by MPD
-#mpdport = 6600
-# MPD password.
-#mpdpassword =
-# MPD connection timeout in milliseconds.
-#mpdtimeoutms = 2000
-# Set if we own the MPD queue.
-#ownqueue = 1
-
-# Audio control hooks
-
-# Command to run when playback is about to begin.
-#onstart =
-# Command to run when MPD state switches to "PLAY".
-#onplay =
-# Command to run when MPD state switches to "PAUSE".
-#onpause =
-# Command to run when MPD state switches to "STOP".
-#onstop =
-# Command to run when the setstandby action is called.
-#onstandby =
-# Use external command to manage the the sound volume (0/1).
-#externalvolumecontrol =
-# Command to run for reading the sound volume.
-#getexternalvolume =
-# Command to run to set the volume.
-#onvolumechange =
-
-# UPnP/AV tweaking
-
-# Automatically fake a Play command when track is set.
-#avtautoplay = 0
-
-# OpenHome parameters
-
-# The name of the room where the Product is located.
-#ohproductroom = Main Room
-# Path to an external file with radio definitions.
-radiolist = /usr/share/upmpdcli/radio_scripts/radiolist.conf
-# Manufacturer name.
-#ohmanufacturername = UpMPDCli heavy industries Co.
-# Manufacturer information.
-#ohmanufacturerinfo = Such nice guys and gals
-# URL for manufacturer web site.
-#ohmanufacturerurl = http://www.lesbonscomptes.com/upmpdcli
-# Uri for manufacturer’s logo.
-#ohmanufacturerimageuri =
-# Model name.
-#ohmodelname = UpMPDCli UPnP-MPD gateway
-# Model information.
-#ohmodelinfo =
-# URL for model web site.
-#ohmodelurl = http://www.lesbonscomptes.com/upmpdcli
-# Uri for model’s icon.
-#ohmodelimageuri =
-# User-visible product name. By default this is set to ModelName.
-#ohproductname = Upmpdcli
-# Product information.
-#ohproductinfo =
-# URL for product web site. This may be the UPnP presentation page.
-#ohproducturl =
-# Uri for product image.
-#ohproductimageuri =
-# Save queue metadata to disk (0/1).
-#ohmetapersist = 1
-# Mimimum interval (Seconds) between two cache saves.
-#ohmetasleep = 0
-
-# Media Server general parameters
-
-# Friendly name for the Media Server (if enabled).
-#msfriendlyname =
-# Hostname/IP address used in proxy URLs.
-#plgmicrohttphost =
-# IP port for the tidal/qobuz/gmusic local HTTP service.
-#plgmicrohttpport = 49149
-# Decide if we proxy (copy: fetch/serve), or redirect the streaming services streams.
-#plgproxymethod = redirect
-
-# Google Music streaming service parameters
-
-# Google Music user name.
-#gmusicuser = me@gmail.com
-# Google Music password.
-#gmusicpass = agoodpassword
-# Google Music stream quality.
-#gmusicquality = med
-# Google Music device id.
-#gmusicdeviceid =
-
-# Highresaudio streaming service parameters
-
-# Hra user name.
-#hrauser = your hra user name
-# Hra password.
-#hrapass = your Hra password
-# Hra language setting (en/de).
-#hralang = en
-
-# Spotify streaming service parameters
-
-# Spotify user name.
-#spotifyuser = me@some.place
-# Spotify password.
-#spotifypass = agoodpassword
-# Spotify preferred bitrate: 160 (default), 320 or 96.
-#spotifybitrate = 160
-
-# Tidal streaming service parameters
-
-# Tidal user name.
-#tidaluser = your tidal user name
-# Tidal password.
-#tidalpass = your Tidal password
-# Tidal API token.
-#tidalapitoken = thetoken
-# Tidal stream quality.
-#tidalquality = low
-
-# Qobuz streaming service parameters
-
-# Qobuz user name.
-#qobuzuser = me@some.place
-# Qobuz password.
-#qobuzpass = agoodpassword
-# Qobuz stream quality.
-#qobuzformatid = 5
-
-# Local Media Server parameters
-
-# Bogus user name variable.
-#uprcluser = bugsbunny
-# Plugin Title.
-#uprcltitle = Local Music
-# HTTP host and port for serving media files
-#uprclhostport =
-# uprcl Recoll index directory
-#uprclconfdir = /var/cache/upmpdcli/uprcl
-# Name of the user Recoll config additions file
-#uprclconfrecolluser = /var/cache/upmpdcli/uprcl/recoll.conf.user
-# Name of the Minim Server configuration file
-#uprclminimconfig =
-# Media directories
-#uprclmediadirs = /tmp
-# Path translations.
-#uprclpaths =
-
-# Songcast Receiver parameters
-
-#Parameters for the Songcast modes. These are read by either/both the
-#songcast and upmpdcli processes
-# Log file name for sc2mpd (default stderr)
-#sclogfilename =
-# Log verbosity for sc2mpd.
-#scloglevel = 3
-# sc2mpd play method (mpd/alsa).
-#scplaymethod = mpd
-# Port used by sc2mpd for MPD to connect to.
-#schttpport = 8768
-# Alsa device used by sc2mpd for playing audio.
-#scalsadevice = default
-# sc2mpd resampling method.
-#sccvttype = SRC_SINC_FASTEST
-# Scale songcast stream based on mpd volume value
-#scusempdvolume = 0
-# Path to sc2mpd.
-#sc2mpd =
-# Path to a screceiver state file.
-#screceiverstatefile =
-
-# Songcast Sender parameters
-
-#Parameters tor the Sender/Receiver mode. Only does anything if
-#scplaymethod is alsa
-# !!Standard Songcast receivers only support PCM!! Codec to use for the network stream.
-#scstreamcodec =
-# Path to starter script
-#scsenderpath =
-# Scale the Songcast stream.
-#scstreamscaled = 1
-# localhost port to be used by the auxiliary mpd.
-#scsendermpdport = 6700
-# External sources script directory.
-#scripts_dir = /usr/share/upmpdcli/src_scripts
-# Grace period to wait for a script process to exit before it is forcely killed.
-#scscriptgracesecs = 2
diff --git a/testing/upmpdcli/upmpdcli.initd b/testing/upmpdcli/upmpdcli.initd
deleted file mode 100644
index 68a45d02008..00000000000
--- a/testing/upmpdcli/upmpdcli.initd
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/sbin/openrc-run
-supervisor=supervise-daemon
-
-name="upmpdcli UPnP Media Renderer"
-description="UPnP Media Renderer front-end for MPD, the Music Player Daemon"
-
-command=/usr/bin/upmpdcli
-command_args="-c /etc/upmpdcli.conf"
-command_user=upmpdcli:upmpdcli
-
-depend() {
- need net localmount
- after firewall
-}
diff --git a/testing/upmpdcli/upmpdcli.post-install b/testing/upmpdcli/upmpdcli.post-install
deleted file mode 100644
index d5e371cdaeb..00000000000
--- a/testing/upmpdcli/upmpdcli.post-install
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/bin/sh
-
-chown upmpdcli:upmpdcli /var/cache/upmpdcli
-
-exit 0
diff --git a/testing/upmpdcli/upmpdcli.pre-install b/testing/upmpdcli/upmpdcli.pre-install
deleted file mode 100644
index a015483e17a..00000000000
--- a/testing/upmpdcli/upmpdcli.pre-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-addgroup -S upmpdcli 2>/dev/null
-
-adduser -S -D -h /var/lib/upmpdcli -s /sbin/nologin -G upmpdcli -g upmpdcli upmpdcli 2>/dev/null
-
-exit 0
diff --git a/testing/upterm/APKBUILD b/testing/upterm/APKBUILD
new file mode 100644
index 00000000000..02feffefb8f
--- /dev/null
+++ b/testing/upterm/APKBUILD
@@ -0,0 +1,64 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=upterm
+pkgver=0.13.2
+pkgrel=2
+pkgdesc="Secure terminal sharing"
+url="https://upterm.dev/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+checkdepends="bash"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-server
+ $pkgname-server-openrc
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/owenthereal/upterm/archive/refs/tags/v$pkgver.tar.gz
+ uptermd.initd
+ uptermd.confd
+ "
+options="net !check" # fail on network flakiness
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ for cli in upterm uptermd; do
+ go build -v -o out/$cli ./cmd/$cli
+ done
+
+ # Re-generate completion files and man pages
+ go run cmd/gendoc/main.go
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 out/upterm out/uptermd \
+ -t "$pkgdir"/usr/bin/
+
+ install -Dm644 etc/man/man1/*.1 -t "$pkgdir"/usr/share/man/man1/
+ install -Dm644 etc/completion/upterm.bash_completion.sh \
+ "$pkgdir"/usr/share/bash-completion/completions/upterm
+ install -Dm644 etc/completion/upterm.zsh_completion \
+ "$pkgdir"/usr/share/zsh/site-functions/_upterm
+ install -Dm755 "$srcdir"/uptermd.initd "$pkgdir"/etc/init.d/uptermd
+ install -Dm644 "$srcdir"/uptermd.confd "$pkgdir"/etc/conf.d/uptermd
+}
+
+server() {
+ pkgdesc="$pkgdesc (server)"
+ amove usr/bin/uptermd
+}
+
+sha512sums="
+a0563f148bb8ab3d5222fed5644aefadb980c22f1368736f33438e9ecd0ef807cdedebc29b6035249b307eb41c80d910062965742ae0631646054cf6d7a9e378 upterm-0.13.2.tar.gz
+45165ca78a4f399583baaf151588d046b075c9632574720ec49887e542f8874fb63907ce390f40505d13499f2f35caa4b9aca5a10163c12c838fc9621ec897bd uptermd.initd
+8ffec044a02b1a0cd5ca7b5e31fdb6f1ee958b16e346c913b9387d6a5ef4fb8b9e7ac881d0b449eeb1e0fca945f401a5db0572cfcc5684028d1709588ff8e61b uptermd.confd
+"
diff --git a/testing/upterm/uptermd.confd b/testing/upterm/uptermd.confd
new file mode 100644
index 00000000000..4d2ee9813e6
--- /dev/null
+++ b/testing/upterm/uptermd.confd
@@ -0,0 +1,7 @@
+# Configuration file for /etc/init.d/uptermd
+
+# Additional arguments to pass to uptermd.
+command_args="--ssh-addr 0.0.0.0:2222"
+
+# Uncomment to use process supervisor.
+#supervisor="supervise-daemon"
diff --git a/testing/upterm/uptermd.initd b/testing/upterm/uptermd.initd
new file mode 100644
index 00000000000..47aa7acdc0d
--- /dev/null
+++ b/testing/upterm/uptermd.initd
@@ -0,0 +1,12 @@
+#!/sbin/openrc-run
+
+name=uptermd
+description="Secure terminal sharing deamon"
+command="/usr/bin/uptermd"
+command_args="${command_args:---ssh-addr 0.0.0.0:2222}"
+command_background="yes"
+
+depend() {
+ need net
+ after firewall
+}
diff --git a/testing/uranium/874_fix-simplebutton-use-of-um-colorimage.patch b/testing/uranium/874_fix-simplebutton-use-of-um-colorimage.patch
new file mode 100644
index 00000000000..3112c9c520a
--- /dev/null
+++ b/testing/uranium/874_fix-simplebutton-use-of-um-colorimage.patch
@@ -0,0 +1,34 @@
+From 88fd460a63263d66173f1e0127b0f208577d7f4e Mon Sep 17 00:00:00 2001
+Patch-Source: https://github.com/Ultimaker/Uranium/pull/874
+From: fieldOfView <aldo@fieldofview.com>
+Date: Sat, 20 May 2023 21:14:36 +0200
+Subject: [PATCH] Fix SimpleButton use of UM.ColorImage
+
+Fixes https://github.com/Ultimaker/Cura/issues/15524
+---
+ UM/Qt/qml/UM/SimpleButton.qml | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/UM/Qt/qml/UM/SimpleButton.qml b/UM/Qt/qml/UM/SimpleButton.qml
+index d3d398753c..d3bd0e8e14 100644
+--- a/UM/Qt/qml/UM/SimpleButton.qml
++++ b/UM/Qt/qml/UM/SimpleButton.qml
+@@ -1,7 +1,8 @@
+-// Copyright (c) 2018 Ultimaker B.V.
++// Copyright (c) 2023 Ultimaker B.V.
+ // Uranium is released under the terms of the LGPLv3 or higher.
+
+ import QtQuick 2.1
++import UM 1.5 as UM
+
+ MouseArea
+ {
+@@ -27,7 +28,7 @@ MouseArea
+ radius: 0
+ }
+
+- ColorImage
++ UM.ColorImage
+ {
+ id: image
+
diff --git a/testing/uranium/APKBUILD b/testing/uranium/APKBUILD
new file mode 100644
index 00000000000..2b98a85bec5
--- /dev/null
+++ b/testing/uranium/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=uranium
+pkgver=5.2.2
+pkgrel=3
+pkgdesc="A Python framework for building Desktop applications"
+url="https://github.com/Ultimaker/Uranium"
+arch="noarch !armhf !riscv64" # armhf: no py3-qt5, rv64: no py3-shapely
+license="LGPL-3.0-or-later"
+depends="
+ py3-cryptography
+ py3-numpy
+ py3-qt6
+ py3-scipy
+ python3
+ "
+# add cura-binary-data to makedepends when packaged
+makedepends="samurai cmake doxygen gettext-dev graphviz"
+checkdepends="py3-pytest py3-pytest-benchmark py3-twisted"
+options="!check" # checks broken from 5.x onward
+source="$pkgname-$pkgver.tar.gz::https://github.com/Ultimaker/Uranium/archive/refs/tags/$pkgver.tar.gz
+ cmake.patch
+ 874_fix-simplebutton-use-of-um-colorimage.patch
+ fix-logger-used-but-not-imported.patch
+ qt-try-ints-then-bytes.patch
+ cmake-helpers.patch"
+builddir="$srcdir/Uranium-$pkgver"
+
+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 \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DGETTEXT_MSGINIT_EXECUTABLE=msginit \
+ -DCURA_BINARY_DATA_DIRECTORY=/usr/share/cura \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ # useless code style test with another dependency
+ ctest -j $JOBS --output-on-failure -T Test
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ mkdir "$pkgdir"/usr/share/uranium/cmake
+ mv "$pkgdir"/usr/share/cmake-*/Modules/* "$pkgdir"/usr/share/uranium/cmake/
+}
+
+sha512sums="
+a9c222400022e05b5c42c72843b024204a58f5d233805bdffa610a2d9cbd1873773868b049aabbe52c6e859f235ca5428fcdfdbb86651f428483999060611e10 uranium-5.2.2.tar.gz
+196a04164de288f5bffeebb73ace9390059dcffebaf40395368f413d1af2e2c668d85dd4c761ad226732540d41598235c2c368152cc157d2e89445ce27738c9b cmake.patch
+c50b37a3a44c4d4f66d115e72a430b82a8125efa49ce51271d5cad7fac15b2941a6a82b71fd07cef751b159296b64d783b348cebe7dfd865f0121815d2cf41f4 874_fix-simplebutton-use-of-um-colorimage.patch
+78e1415133bc4135f93633375bdb71a9e04b9cd128067d223985d0878f0e3de3ed1d336117fc527f0804b99878bd56817e3eb7a5aa545cc877b9f43386e17e78 fix-logger-used-but-not-imported.patch
+26489638fcf80822d16b0a295aee21a8973c23a023b1daf7f2cf5f7be7c56e72a15edd87ac6993f8a2ad09086d7d1a8b7d32247522c9429183625e3a0b63f2ae qt-try-ints-then-bytes.patch
+aa185ce3592036f045e3386266015cc08443c2e4f9b9a4c03c77c13525af98d68eaa3360e8858e0561417a826c73bf8a2b209bcad91d2cc16cce32fb0231fcf8 cmake-helpers.patch
+"
diff --git a/testing/uranium/cmake-helpers.patch b/testing/uranium/cmake-helpers.patch
new file mode 100644
index 00000000000..3c5d1f36122
--- /dev/null
+++ b/testing/uranium/cmake-helpers.patch
@@ -0,0 +1,89 @@
+--- /dev/null
++++ ./cmake/UraniumPluginInstall.cmake
+@@ -0,0 +1,86 @@
++# Copyright (c) 2022 Ultimaker B.V.
++# UraniumPluginInstall.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 "UM_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.
++#
++
++# Options or configuration variables
++set(UM_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 ${UM_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)
++ message(STATUS "[+] PLUGIN TO INSTALL: ${_rel_plugin_dir}")
++ get_filename_component(_rel_plugin_parent_dir ${_rel_plugin_dir} DIRECTORY)
++ install(DIRECTORY ${_rel_plugin_dir}
++ DESTINATION lib${LIB_SUFFIX}/uranium/${_rel_plugin_parent_dir}
++ PATTERN "__pycache__" EXCLUDE
++ PATTERN "*.qmlc" EXCLUDE
++ )
++ list(APPEND _install_plugin_list ${_plugin_dir})
++ elseif(_is_no_install_plugin)
++ message(STATUS "[-] PLUGIN TO REMOVE : ${_rel_plugin_dir}")
++ 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()
diff --git a/testing/uranium/cmake.patch b/testing/uranium/cmake.patch
new file mode 100644
index 00000000000..b1a888ba059
--- /dev/null
+++ b/testing/uranium/cmake.patch
@@ -0,0 +1,16 @@
+--- ./CMakeLists.txt.orig
++++ ./CMakeLists.txt
+@@ -19,9 +19,12 @@
+ # Build Translations
+ CREATE_TRANSLATION_TARGETS()
+
++find_package(Python REQUIRED COMPONENTS Interpreter)
+
+-install(DIRECTORY UM DESTINATION "${Python_SITELIB_LOCAL}")
++install(DIRECTORY UM DESTINATION "${Python_SITELIB}")
+
+ install(FILES ${CMAKE_SOURCE_DIR}/cmake/UraniumTranslationTools.cmake
+ DESTINATION ${CMAKE_INSTALL_DATADIR}/cmake-${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}/Modules/ )
+ install(DIRECTORY resources DESTINATION ${CMAKE_INSTALL_DATADIR}/uranium)
++
++include(UraniumPluginInstall)
diff --git a/testing/uranium/fix-logger-used-but-not-imported.patch b/testing/uranium/fix-logger-used-but-not-imported.patch
new file mode 100644
index 00000000000..151893c2e04
--- /dev/null
+++ b/testing/uranium/fix-logger-used-but-not-imported.patch
@@ -0,0 +1,14 @@
+Patch-Source: https://src.fedoraproject.org/rpms/python-uranium/blob/rawhide/f/Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch
+
+diff --git a/UM/View/SelectionPass.py.orig b/UM/View/SelectionPass.py
+index 945b789..ef042a5 100644
+--- a/UM/View/SelectionPass.py.orig
++++ b/UM/View/SelectionPass.py
+@@ -5,6 +5,7 @@ import enum
+ import random
+ from typing import TYPE_CHECKING
+
++from UM.Logger import Logger
+ from UM.Resources import Resources
+ from UM.Application import Application
+
diff --git a/testing/uranium/qt-try-ints-then-bytes.patch b/testing/uranium/qt-try-ints-then-bytes.patch
new file mode 100644
index 00000000000..8f7d6dbeeb6
--- /dev/null
+++ b/testing/uranium/qt-try-ints-then-bytes.patch
@@ -0,0 +1,96 @@
+Patch-Source: https://src.fedoraproject.org/rpms/python-uranium/blob/rawhide/f/Uranium-5.3.0-qt-try-ints-then-bytes-for-gl-mask-functions.patch
+
+diff --git a/UM/View/RenderBatch.py.orig b/UM/View/RenderBatch.py
+index 6deeeb1..5f1eda5 100644
+--- a/UM/View/RenderBatch.py.orig
++++ b/UM/View/RenderBatch.py
+@@ -186,10 +186,24 @@ class RenderBatch:
+
+ if self._render_type == self.RenderType.Solid:
+ self._gl.glEnable(self._gl.GL_DEPTH_TEST)
+- self._gl.glDepthMask(self._gl.GL_TRUE)
++ try:
++ self._gl.glDepthMask(self._gl.GL_TRUE)
++ except:
++ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
++ try:
++ self._gl.glDepthMask(b'1')
++ except:
++ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
+ elif self._render_type == self.RenderType.Transparent:
+ self._gl.glEnable(self._gl.GL_DEPTH_TEST)
+- self._gl.glDepthMask(self._gl.GL_FALSE)
++ try:
++ self._gl.glDepthMask(self._gl.GL_FALSE)
++ except:
++ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
++ try:
++ self._gl.glDepthMask(b'1')
++ except:
++ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
+ elif self._render_type == self.RenderType.Overlay:
+ self._gl.glDisable(self._gl.GL_DEPTH_TEST)
+
+diff --git a/UM/View/RenderPass.py.orig b/UM/View/RenderPass.py
+index 8068ddf..8cb4f67 100644
+--- a/UM/View/RenderPass.py.orig
++++ b/UM/View/RenderPass.py
+@@ -93,8 +93,22 @@ class RenderPass:
+ self._fbo.bind()
+
+ # Ensure we can actually write to the relevant FBO components.
+- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE)
+- self._gl.glDepthMask(self._gl.GL_TRUE)
++ try:
++ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE,self._gl.GL_TRUE, self._gl.GL_TRUE)
++ except:
++ Logger.log("w", "glColorMask does not like ints, trying bytes...")
++ try:
++ self._gl.glColorMask(b'1', b'1',b'1', b'1')
++ except:
++ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
++ try:
++ self._gl.glDepthMask(self._gl.GL_TRUE)
++ except:
++ Logger.log("w", "glDepthMask does not like ints, trying bytes...")
++ try:
++ self._gl.glDepthMask(b'1')
++ except:
++ Logger.log("e", "glDepthMask does not like ints or bytes, no idea what it wants")
+
+ self._gl.glClear(self._gl.GL_COLOR_BUFFER_BIT | self._gl.GL_DEPTH_BUFFER_BIT)
+
+diff --git a/UM/View/SelectionPass.py.orig b/UM/View/SelectionPass.py
+index ef042a5..c28fe4f 100644
+--- a/UM/View/SelectionPass.py.orig
++++ b/UM/View/SelectionPass.py
+@@ -110,13 +110,27 @@ class SelectionPass(RenderPass):
+ if selectable_objects:
+ batch.render(self._scene.getActiveCamera())
+
+- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE)
++ try:
++ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_FALSE)
++ except:
++ Logger.log("w", "glColorMask does not like ints, trying bytes...")
++ try:
++ self._gl.glColorMask(b'1', b'1', b'1', b'0')
++ except:
++ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
+ self._gl.glDisable(self._gl.GL_DEPTH_TEST)
+
+ tool_handle.render(self._scene.getActiveCamera())
+
+ self._gl.glEnable(self._gl.GL_DEPTH_TEST)
+- self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE)
++ try:
++ self._gl.glColorMask(self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE, self._gl.GL_TRUE)
++ except:
++ Logger.log("w", "glColorMask does not like ints, trying bytes...")
++ try:
++ self._gl.glColorMask(b'1', b'1', b'1', b'1')
++ except:
++ Logger.log("e", "glColorMask does not like ints or bytes, no idea what it wants")
+
+ self.release()
+
diff --git a/testing/urlwatch/APKBUILD b/testing/urlwatch/APKBUILD
new file mode 100644
index 00000000000..1e0a9bccb17
--- /dev/null
+++ b/testing/urlwatch/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Thiago Perrotta <tbperrotta@gmail.com>
+# Maintainer: Thiago Perrotta <tbperrotta@gmail.com>
+pkgname=urlwatch
+pkgver=2.28
+pkgrel=1
+pkgdesc="Tool for monitoring webpages for updates"
+url="https://thp.io/2008/urlwatch/"
+arch="noarch !ppc64le" # blocked by py3-keyring
+license="BSD-3-Clause"
+depends="
+ python3
+ py3-appdirs
+ py3-cssselect
+ py3-keyring
+ py3-lxml
+ py3-minidb
+ py3-requests
+ py3-yaml
+ "
+makedepends="py3-setuptools"
+checkdepends="py3-pytest py3-docutils py3-pycodestyle"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/u/urlwatch/urlwatch-$pkgver.tar.gz
+ lxml-5.patch
+ "
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 setup.py install --root="$pkgdir" --skip-build
+}
+
+sha512sums="
+21a662006dc92c0c636ef0beebc4f2ec90b82182aa0ba94a3348026c2c001b6d74198a14c198f681c8e773b640b6030b63de1a081984ea4d1bbc1e2648bc4161 urlwatch-2.28.tar.gz
+ade44bf3953406c26699d7dbf3377c283b75e7ba38cba9710aad2a4fe488ce49435874e73a52f8009572692d4cc23b25f06ecfc6c7e5866745b4617daa3e001a lxml-5.patch
+"
diff --git a/testing/urlwatch/lxml-5.patch b/testing/urlwatch/lxml-5.patch
new file mode 100644
index 00000000000..1598ad4d942
--- /dev/null
+++ b/testing/urlwatch/lxml-5.patch
@@ -0,0 +1,35 @@
+Patch-Source: https://github.com/thp/urlwatch/commit/123de66d019aef7fc18fab6d56cc2a54d81fea3f
+--
+From 123de66d019aef7fc18fab6d56cc2a54d81fea3f Mon Sep 17 00:00:00 2001
+From: James Hewitt <james.hewitt@gmail.com>
+Date: Mon, 12 Feb 2024 18:12:49 +0000
+Subject: [PATCH] Update CSS Selector to use new style (#786)
+
+New style of calling the CSSSelector directly instead of using the
+evaluate function. This has been supported since lxml 1.1 [1] and the
+evaluate method has been deprecated since lxml 2.1 [2].
+
+[1] https://github.com/lxml/lxml/blob/lxml-1.1/src/lxml/xpath.pxi#L66
+[2] https://github.com/lxml/lxml/blob/lxml-2.1/src/lxml/xpath.pxi#L143
+
+Signed-off-by: James Hewitt <james.hewitt@uk.ibm.com>
+---
+ lib/urlwatch/filters.py | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/urlwatch/filters.py b/lib/urlwatch/filters.py
+index 7b7c95b1..ed21b4c0 100644
+--- a/lib/urlwatch/filters.py
++++ b/lib/urlwatch/filters.py
+@@ -761,9 +761,9 @@ def _get_filtered_elements(self):
+ excluded_elems = None
+ if self.filter_kind == 'css':
+ selected_elems = CSSSelector(self.expression,
+- namespaces=self.namespaces).evaluate(root)
++ namespaces=self.namespaces)(root)
+ excluded_elems = CSSSelector(self.exclude,
+- namespaces=self.namespaces).evaluate(root) if self.exclude else None
++ namespaces=self.namespaces)(root) if self.exclude else None
+ elif self.filter_kind == 'xpath':
+ selected_elems = root.xpath(self.expression, namespaces=self.namespaces)
+ excluded_elems = root.xpath(self.exclude, namespaces=self.namespaces) if self.exclude else None
diff --git a/testing/usbguard-notifier/APKBUILD b/testing/usbguard-notifier/APKBUILD
index 9e0a7ee5aba..28d955832b9 100644
--- a/testing/usbguard-notifier/APKBUILD
+++ b/testing/usbguard-notifier/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
+# Maintainer:
pkgname=usbguard-notifier
-pkgver=0.0.6
-pkgrel=1
+pkgver=0.1.0
+pkgrel=0
pkgdesc="Notifies on USBGuard policy and device presence changes"
url="https://github.com/Cropi/usbguard-notifier"
license="GPL-2.0-or-later"
-arch="all !s390x !mips !mips64 !riscv64" # blocked by librsvg
+arch="all"
makedepends="
autoconf
automake
@@ -44,5 +44,7 @@ package() {
make install DESTDIR="$pkgdir"
}
-sha512sums="521b1cba292a5a1663bb36aad07d73ab1fae729da0a56794b34261c1b848366bac3637018c1cd371332f9d42bc73d5ba3c3b1ae0584cbc5bd9af1bb16a3a0599 usbguard-notifier-0.0.6.tar.gz
-09ca4890884d0a62d1b152c6cc5120c9856f46b778cba6f3d36a831ad6f0e5e6651e4e5532e8cefbc55583b862af4c649e6299591fed66b4c9187f7e4f363f85 no-systemd.patch"
+sha512sums="
+709afccec9fdc94d4cd1f2f941b6819c3b353dc2f60beeb12791cc9e3dfe9ad6e9d00664c3e5d5979b5d454374b1a633362f0de6513a767b3b6e2b6d2196eb6c usbguard-notifier-0.1.0.tar.gz
+09ca4890884d0a62d1b152c6cc5120c9856f46b778cba6f3d36a831ad6f0e5e6651e4e5532e8cefbc55583b862af4c649e6299591fed66b4c9187f7e4f363f85 no-systemd.patch
+"
diff --git a/testing/usbguard/APKBUILD b/testing/usbguard/APKBUILD
index 55dafa95598..ee11787c8ba 100644
--- a/testing/usbguard/APKBUILD
+++ b/testing/usbguard/APKBUILD
@@ -1,29 +1,27 @@
# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
+# Contributor: Nicolas Lorin <androw95220@gmail.com>
+# Maintainer: omni <omni+alpine@hack.org>
pkgname=usbguard
-pkgver=1.0.0
-pkgrel=0
+pkgver=1.1.2
+pkgrel=8
pkgdesc="Software framework for implementing USB device authorization policies"
url="https://usbguard.github.io/"
license="GPL-2.0-or-later"
arch="all"
makedepends="
- autoconf
- automake
- libtool
- libqb-dev
- libsodium-dev
- protobuf-dev
+ abseil-cpp-dev
+ asciidoc
audit-dev
- libseccomp-dev
- libcap-ng-dev
catch2
+ libcap-ng-dev
+ libqb-dev
+ libseccomp-dev
+ libsodium-dev
pegtl
- asciidoc
+ protobuf-dev
"
checkdepends="coreutils"
subpackages="
- libusbguard-static
libusbguard:libs
$pkgname-dev
$pkgname-doc
@@ -32,25 +30,20 @@ subpackages="
$pkgname-zsh-completion
"
source="https://github.com/USBGuard/usbguard/releases/download/usbguard-$pkgver/usbguard-$pkgver.tar.gz
+ gcc13.patch
usbguard.initd
- musl.patch
- no-nsswitch-conf.patch
"
-prepare() {
- default_prepare
- sed -i "s#/usr/include/catch#/usr/include/catch2#g" configure.ac
- autoreconf -fiv
-}
-
build() {
+ CXXFLAGS="$CXXFLAGS -flto=auto" \
+ CFLAGS="$CFLAGS -flto=auto" \
./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
- --enable-static \
+ --disable-static \
--without-bundled-catch \
--without-bundled-pegtl \
--without-dbus \
@@ -74,8 +67,7 @@ package() {
}
sha512sums="
-068a9be8bd5ea05efcdad79e2c4beb5e8b646b4703fbe1f8bb262e37ae9a6284a6eeb811a6bd441250a38bce1e45b7f44ad15726aa5963da2e1b56e85f5e16fd usbguard-1.0.0.tar.gz
+03b6dd026a0fe6a7a055208f09a56e2cc86985570388e33fde08671b8aa2d60ea4a0e59505e9646ddf50f42f5b6310d1b230379f9c26ec99c7ca736f3b4ad850 usbguard-1.1.2.tar.gz
+db5153bacfed442abbbb4bb4fc8250f6469a654600aa3eddb1dda3d5800a265099c9f6ff48e7987d8fd03d4f456cbd83a9012ea4e9983e753392149696f75f06 gcc13.patch
9d6752f08df0ba510fa02c0c9b55a92f063297653480c4d8863f87f159dc51449a34643e75af7619146e2e53c91d479be91ecc0c9adc0c764d037f4df466e534 usbguard.initd
-821d389873e63b7034c9ea54f2951f5fb1209799da81d9674b9a4743b998f7474a5538442e8eecd2ee957aefc55d1d85383f991cf2ce16e8a8d6e030e681c8de musl.patch
-45503e82236d845b9b153cb50e7dc076f8c75b1a824864ea0c55b1af3992e77d6750279faefeed645d397d2545a76a4740e7f4273347fdeb7a3cbc1bd61eecaf no-nsswitch-conf.patch
"
diff --git a/testing/usbguard/gcc13.patch b/testing/usbguard/gcc13.patch
new file mode 100644
index 00000000000..50ce73eba64
--- /dev/null
+++ b/testing/usbguard/gcc13.patch
@@ -0,0 +1,12 @@
+diff --git a/src/Library/Base64.hpp b/src/Library/Base64.hpp
+index 0947f21..0badaf3 100644
+--- a/src/Library/Base64.hpp
++++ b/src/Library/Base64.hpp
+@@ -22,6 +22,7 @@
+ #include <build-config.h>
+ #endif
+
++#include <cstdint>
+ #include <string>
+ #include <cstddef>
+
diff --git a/testing/usbguard/musl.patch b/testing/usbguard/musl.patch
deleted file mode 100644
index 9a55b95f5e8..00000000000
--- a/testing/usbguard/musl.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-Reason: Fix compilation on musl
-Upstream: No
-
-Got it from Void Linux:
-https://github.com/void-linux/void-packages/commit/427d50c6a66e4a1338dbe230a41b98a2419116a9
-
---- a/src/CLI/usbguard.cpp
-+++ b/src/CLI/usbguard.cpp
-@@ -26,10 +26,8 @@
- #include <map>
- #include <iostream>
-
--#ifndef _GNU_SOURCE
-- #define _GNU_SOURCE
--#endif
--#include <cstring> /* GNU version of basename(3) */
-+#include <cstring>
-+#include <libgen.h>
-
- #include "usbguard.hpp"
- #include "usbguard-get-parameter.hpp"
-@@ -99,7 +97,7 @@
-
- static int usbguard_cli(int argc, char* argv[])
- {
-- usbguard_arg0 = ::basename(argv[0]);
-+ usbguard_arg0 = ::basename(strdup(argv[0]));
-
- if (argc == 1) {
- showTopLevelHelp();
---- a/src/CLI/usbguard-rule-parser.cpp
-+++ b/src/CLI/usbguard-rule-parser.cpp
-@@ -24,10 +24,8 @@
- #include "RuleParser.hpp"
-
- #include <iostream>
--#ifndef _GNU_SOURCE
-- #define _GNU_SOURCE
--#endif
- #include <cstring>
-+#include <libgen.h>
- #include <fstream>
-
- #include <getopt.h>
-@@ -43,8 +41,10 @@
-
- static void showHelp(std::ostream& stream, const char* usbguard_arg0)
- {
-- stream << " Usage: " << ::basename(usbguard_arg0) << " [OPTIONS] <rule_spec>" << std::endl;
-- stream << " Usage: " << ::basename(usbguard_arg0) << " [OPTIONS] -f <file>" << std::endl;
-+ char *usbguard_arg0_copy = strdup(usbguard_arg0);
-+ stream << " Usage: " << ::basename(usbguard_arg0_copy) << " [OPTIONS] <rule_spec>" << std::endl;
-+ stream << " Usage: " << ::basename(usbguard_arg0_copy) << " [OPTIONS] -f <file>" << std::endl;
-+ free(usbguard_arg0_copy);
- stream << std::endl;
- stream << " Options:" << std::endl;
- stream << " -f, --file Interpret the argument as a path to a file that should be parsed." << std::endl;
---- a/src/DBus/gdbus-server.cpp
-+++ b/rc/DBus/gdbus-server.cpp
-@@ -23,6 +23,7 @@
- #include <stdlib.h>
- #include <iostream>
- #include <getopt.h>
-+#include <libgen.h>
- #include "DBusBridge.hpp"
-
- static usbguard::DBusBridge* dbus_bridge = nullptr;
-@@ -208,7 +209,9 @@
-
- static void showHelp(std::ostream& stream)
- {
-- stream << " Usage: " << ::basename(usbguard_arg0) << " [OPTIONS]" << std::endl;
-+ char *usbguard_arg0_copy = strdup(usbguard_arg0);
-+ stream << " Usage: " << ::basename(usbguard_arg0_copy) << " [OPTIONS]" << std::endl;
-+ free(usbguard_arg0_copy);
- stream << std::endl;
- stream << " Options:" << std::endl;
- stream << " -s, --system Listen on the system bus." << std::endl;
---- a/src/Library/public/usbguard/Exception.hpp
-+++ b/src/Library/public/usbguard/Exception.hpp
-@@ -116,7 +116,8 @@
- static std::string reasonFromErrno(const int errno_value)
- {
- char buffer[1024];
-- return std::string(strerror_r(errno_value, buffer, sizeof buffer));
-+ strerror_r(errno_value, buffer, sizeof buffer);
-+ return std::string(buffer);
- }
- };
-
diff --git a/testing/usbguard/no-nsswitch-conf.patch b/testing/usbguard/no-nsswitch-conf.patch
deleted file mode 100644
index 0580f48e8fc..00000000000
--- a/testing/usbguard/no-nsswitch-conf.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From b1b1f4bed9507d3c547d174f67be9e3a9c2e5d99 Mon Sep 17 00:00:00 2001
-From: Radovan Sroka <rsroka@redhat.com>
-Date: Sun, 11 Oct 2020 18:04:56 +0200
-Subject: [PATCH] Remove reading of nsswitch.conf.
-
----
- src/Daemon/NSHandler.cpp | 42 ++--------------------------------------
- 1 file changed, 2 insertions(+), 40 deletions(-)
-
-diff --git a/src/Daemon/NSHandler.cpp b/src/Daemon/NSHandler.cpp
-index 9cd0845f..536e3f05 100644
---- a/src/Daemon/NSHandler.cpp
-+++ b/src/Daemon/NSHandler.cpp
-@@ -150,46 +150,8 @@ namespace usbguard
-
- void NSHandler::parseNSSwitch()
- {
-- USBGUARD_LOG(Info) << "Loading nsswitch from " << _nsswitch_path;
-- std::ifstream nss(_nsswitch_path);
--
-- if (!nss.is_open()) {
-- throw ErrnoException("NSSwitch parsing", _nsswitch_path, errno);
-- }
--
-- _parser.parseStream(nss);
-- _parsedOptions = _parser.getMap();
-- nss.close();
-- USBGUARD_LOG(Debug) << "Map contains:";
--
-- for (auto x: _parsedOptions) {
-- USBGUARD_LOG(Debug) << "--> " << x.first << " -> " << x.second << " <--";
-- }
--
-- std::locale loc;
--
-- for (unsigned i = 0 ; i < _parsedOptions["USBGUARD"].length() ; i++) {
-- _parsedOptions["USBGUARD"][i] = std::toupper(_parsedOptions["USBGUARD"][i], loc);
-- }
--
-- USBGUARD_LOG(Info) << "Fetched value is -> " << _parsedOptions["USBGUARD"] << " <-";
--
-- if (_parsedOptions["USBGUARD"] == "FILES") {
-- _source = SourceType::LOCAL;
-- }
-- else if (_parsedOptions["USBGUARD"] == "LDAP") {
--#ifdef HAVE_LDAP
-- _source = SourceType::LDAP;
--#else
-- USBGUARD_LOG(Info) << "USBGuard has been compiled without LDAP support";
-- USBGUARD_LOG(Info) << "Using default value FILES";
-- _source = SourceType::LOCAL;
--#endif
-- }
-- else {
-- USBGUARD_LOG(Info) << "Value is not valid or not set, using default FILES";
-- _source = SourceType::LOCAL;
-- }
-+ USBGUARD_LOG(Info) << "Using default value FILES";
-+ _source = SourceType::LOCAL;
- }
- } /* namespace usbguard */
-
diff --git a/testing/usbmuxd/APKBUILD b/testing/usbmuxd/APKBUILD
index 34cc0081c3d..8b94d9039c9 100644
--- a/testing/usbmuxd/APKBUILD
+++ b/testing/usbmuxd/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
pkgname=usbmuxd
pkgver=1.1.1
-pkgrel=2
+pkgrel=6
pkgdesc="Socket Daemon to multiplex connections from iOS"
url="https://github.com/libimobiledevice/usbmuxd"
arch="all"
@@ -12,7 +12,9 @@ license="GPL-2.0-or-later"
install="$pkgname.post-install"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/libimobiledevice/usbmuxd/archive/$pkgver.tar.gz
- 001-confiure-no-udev.patch"
+ 001-confiure-no-udev.patch
+ libplist-2.3.0.patch
+ "
prepare() {
default_prepare
@@ -39,5 +41,8 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="500e5f9a3500ad49bd8c195da71586db88964dd62dd716bb6a30827cc42bfdab38326b98204afdf606b1795d270d7f0261a59576558405de3540f6038a575856 usbmuxd-1.1.1.tar.gz
-a8a4ed6877c691a44b53b2c554149c90034cbed8d48e0daf682aa7afbfb8f12cb05e4d99bd05dccc2e814f6001ccf19d61e9bff8c2da5e44ede386ea3565661f 001-confiure-no-udev.patch"
+sha512sums="
+500e5f9a3500ad49bd8c195da71586db88964dd62dd716bb6a30827cc42bfdab38326b98204afdf606b1795d270d7f0261a59576558405de3540f6038a575856 usbmuxd-1.1.1.tar.gz
+a8a4ed6877c691a44b53b2c554149c90034cbed8d48e0daf682aa7afbfb8f12cb05e4d99bd05dccc2e814f6001ccf19d61e9bff8c2da5e44ede386ea3565661f 001-confiure-no-udev.patch
+03351f2cd20846f168e4ae5b4a44397bbca44994b3345d534de9d3c5b376d2e696ccd09e96d72b48ead068cd28f502e460443a736633c6bf7f5a603a7a0620d1 libplist-2.3.0.patch
+"
diff --git a/testing/usbmuxd/libplist-2.3.0.patch b/testing/usbmuxd/libplist-2.3.0.patch
new file mode 100644
index 00000000000..6004066de74
--- /dev/null
+++ b/testing/usbmuxd/libplist-2.3.0.patch
@@ -0,0 +1,34 @@
+Patch-Source: https://github.com/archlinux/svntogit-packages/blob/72eb72074e5353b698875dcbd9edb4711c649de2/trunk/libplist-2.3.0.diff
+--
+diff --git i/src/utils.c w/src/utils.c
+index 206c684..a91faea 100644
+--- i/src/utils.c
++++ w/src/utils.c
+@@ -302,7 +302,7 @@ int plist_read_from_filename(plist_t *plist, const char *filename)
+ return 1;
+ }
+
+-int plist_write_to_filename(plist_t plist, const char *filename, enum plist_format_t format)
++int plist_write_to_filename(plist_t plist, const char *filename, plist_format_t format)
+ {
+ char *buffer = NULL;
+ uint32_t length;
+diff --git i/src/utils.h w/src/utils.h
+index b5cab3f..3e9eb41 100644
+--- i/src/utils.h
++++ w/src/utils.h
+@@ -78,13 +78,8 @@ char *string_concat(const char *str, ...);
+ int buffer_read_from_filename(const char *filename, char **buffer, uint64_t *length);
+ int buffer_write_to_filename(const char *filename, const char *buffer, uint64_t length);
+
+-enum plist_format_t {
+- PLIST_FORMAT_XML,
+- PLIST_FORMAT_BINARY
+-};
+-
+ int plist_read_from_filename(plist_t *plist, const char *filename);
+-int plist_write_to_filename(plist_t plist, const char *filename, enum plist_format_t format);
++int plist_write_to_filename(plist_t plist, const char *filename, plist_format_t format);
+
+ uint64_t mstime64(void);
+ void get_tick_count(struct timeval * tv);
diff --git a/testing/usbmuxd/usbmuxd.post-install b/testing/usbmuxd/usbmuxd.post-install
index 5c2e50ee9dc..6ef6673aa2d 100644
--- a/testing/usbmuxd/usbmuxd.post-install
+++ b/testing/usbmuxd/usbmuxd.post-install
@@ -1,4 +1,4 @@
#!/bin/sh
# creating default user required by usbmuxd
-adduser -S -G usb -H -g "usbmux daemon" usbmux 2>/dev/null
+adduser -S -G dialout -H -g "usbmux daemon" usbmux 2>/dev/null
diff --git a/testing/usql/APKBUILD b/testing/usql/APKBUILD
new file mode 100644
index 00000000000..dfc32a62910
--- /dev/null
+++ b/testing/usql/APKBUILD
@@ -0,0 +1,46 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=usql
+pkgver=0.15.6
+pkgrel=4
+pkgdesc="Universal command-line interface for SQL databases"
+url="https://github.com/xo/usql"
+# riscv64: not supported by go-ole (undefined: VARIANT)
+# x86, armhf, armv7: netezza and cockroachdb drivers fail to build on 32-bit
+# - https://github.com/xo/usql/issues/59
+# - https://github.com/IBM/nzgo/issues/38
+# - https://github.com/cockroachdb/pebble/issues/1575
+arch="all !riscv64 !armhf !armv7 !x86"
+license="MIT"
+makedepends="go unixodbc-dev icu-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xo/usql/archive/refs/tags/v$pkgver.tar.gz"
+
+export CGO_ENABLED=1 # needed for godror and odbc drivers
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+export _GOTAGS="all sqlite_app_armor sqlite_fts5 sqlite_introspect sqlite_json1 sqlite_stat4 sqlite_userauth sqlite_vtable sqlite_icu"
+
+build() {
+ export CGO_CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE"
+ local _goldflags="
+ -X github.com/xo/usql/text.CommandName=$pkgname
+ -X github.com/xo/usql/text.CommandVersion=$pkgver
+ "
+
+ go build -v -ldflags "$_goldflags" -tags "$_GOTAGS" -o $pkgname
+}
+
+check() {
+ # Tests for specific drivers require docker
+ # shellcheck disable=2046
+ go test $(go list ./... | grep -v /drivers)
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+e843f35c8b4c2ae9af4fdc3ac966b1412580268ce7ba3d837189251db9b89a5042458e5b21b2b2f952dcbad27250e6b91d19645a8831f6aa13dbee13624b8908 usql-0.15.6.tar.gz
+"
diff --git a/testing/ustr/APKBUILD b/testing/ustr/APKBUILD
index e01a91828f0..80ec0018e83 100644
--- a/testing/ustr/APKBUILD
+++ b/testing/ustr/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=ustr
pkgver=1.0.4
-pkgrel=0
+pkgrel=1
pkgdesc="String library, very low memory overhead, simple to import"
url="http://www.and.org/ustr/"
arch="all"
diff --git a/testing/ustream-ssl/APKBUILD b/testing/ustream-ssl/APKBUILD
new file mode 100644
index 00000000000..ac212f7ce6e
--- /dev/null
+++ b/testing/ustream-ssl/APKBUILD
@@ -0,0 +1,42 @@
+# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
+pkgname=ustream-ssl
+pkgver=20220116
+pkgrel=1
+pkgdesc="ustream SSL library"
+url="https://git.openwrt.org/project/ustream-ssl.git"
+arch="all"
+license="ISC"
+depends=""
+depends_dev="libubox-dev openssl-dev"
+makedepends="cmake $depends_dev"
+subpackages="$pkgname-dev"
+_owrtgit=868fd881
+_owrtver="${pkgver:0:4}-${pkgver:4:2}-${pkgver:6:2}-${_owrtgit}"
+source="https://sources.openwrt.org/ustream-ssl-${_owrtver}.tar.xz"
+builddir="$srcdir/ustream-ssl-${_owrtver}"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ $CMAKE_CROSSOPTS .
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+92d65c1163fe2d2fcd6ff28c825a54bb92c552a2b1fd698502c790bd8461bfe6e08a19df45a96c356ef63acf5c277a24c0ab438c4285649d8de60926171b9348 ustream-ssl-2022-01-16-868fd881.tar.xz
+"
diff --git a/testing/utfcpp/APKBUILD b/testing/utfcpp/APKBUILD
deleted file mode 100644
index a0726bd02e0..00000000000
--- a/testing/utfcpp/APKBUILD
+++ /dev/null
@@ -1,36 +0,0 @@
-# Contributor: Leon Marz <main@lmarz.org>
-# Maintainer: Leon Marz <main@lmarz.org>
-pkgname=utfcpp
-pkgver=3.2.1
-pkgrel=0
-pkgdesc="UTF-8 with C++ in a portable way"
-url="https://github.com/nemtrif/utfcpp"
-arch="noarch"
-license="BSL-1.0"
-makedepends="cmake"
-source="$pkgname-$pkgver.tar.gz::https://github.com/nemtrif/utfcpp/archive/v$pkgver.tar.gz"
-options="!check" # problems with gtest
-
-build() {
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DUTF8_TESTS=OFF \
- -DUTF8_SAMPLES=OFF
- cmake --build build
-}
-
-check() {
- cd build
- CTEST_OUTPUT_ON_FAILURE=1 ctest
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-5798487f12b1bc55d3e06aed38f7604271ca3402963efcf85d181fd590d8a088d21e961e77698e60dc2cdae8cf4506645903442c45fd328201752d9589180e0d utfcpp-3.2.1.tar.gz
-"
diff --git a/testing/utop/APKBUILD b/testing/utop/APKBUILD
new file mode 100644
index 00000000000..ad78e473f97
--- /dev/null
+++ b/testing/utop/APKBUILD
@@ -0,0 +1,145 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Celeste <cielesti@protonmail.com>
+pkgname=utop
+pkgver=2.9.1
+pkgrel=4
+pkgdesc="Universal toplevel for OCaml"
+url="https://github.com/ocaml-community/utop"
+arch="all !riscv64 !loongarch64" # ocaml
+license="BSD-3-Clause"
+depends="
+ ocaml-$pkgname=$pkgver-r$pkgrel
+ $pkgname-common=$pkgver-r$pkgrel
+ "
+makedepends="
+ dune
+ ocaml
+ ocaml-bigarray-compat-dev
+ ocaml-camomile-dev
+ ocaml-charinfo_width-dev
+ ocaml-compiler-libs
+ ocaml-cppo
+ ocaml-csexp-dev
+ ocaml-findlib-dev
+ ocaml-lambda-term-dev
+ ocaml-lwt-dev
+ ocaml-lwt_log-dev
+ ocaml-lwt_react
+ ocaml-mew-dev
+ ocaml-mew_vi-dev
+ ocaml-mmap-dev
+ ocaml-ocplib-endian-dev
+ ocaml-react-dev
+ ocaml-result-dev
+ ocaml-seq-dev
+ ocaml-trie-dev
+ ocaml-zed-dev
+ "
+subpackages="
+ $pkgname-full:_full
+ $pkgname-common:_common:noarch
+ $pkgname-doc
+ $pkgname-emacs::noarch
+ ocaml-$pkgname-dev:_libdev
+ ocaml-$pkgname:_lib
+ "
+source="$pkgname-$pkgver.tar.bz2::https://github.com/ocaml-community/utop/releases/download/$pkgver/utop-$pkgver.tbz"
+
+# 32-bit archs
+case "$CARCH" in
+ arm*|x86) options="$options textrels" ;;
+esac
+
+build() {
+ export OCAMLPATH=/usr/lib/ocaml
+ dune build --root . @install --no-buffer --verbose
+}
+
+check() {
+ dune runtest --no-buffer --verbose
+}
+
+package() {
+ dune install \
+ --destdir="$pkgdir" \
+ --prefix=/usr \
+ --libdir=/usr/lib/ocaml
+
+ # There's just a readme and changelog.
+ rm -Rf "$pkgdir"/usr/doc
+
+ mkdir -vp "$pkgdir"/usr/share
+ mv -vf "$pkgdir"/usr/man "$pkgdir"/usr/share/
+}
+
+_full() {
+ pkgdesc="$pkgdesc (non-expunged)"
+
+ amove usr/bin/utop-full
+}
+
+_common() {
+ pkgdesc="Common files for utop and utop-full"
+ depends=""
+
+ amove usr/share/$pkgname
+}
+
+emacs() {
+ pkgdesc="utop plugin for Emacs"
+ depends="$pkgname=$pkgver-r$pkgrel"
+ install_if="$pkgname=$pkgver-r$pkgrel emacs"
+
+ amove usr/share/emacs
+}
+
+_libdev() {
+ pkgdesc="$pkgdesc (development files)"
+ depends="ocaml-$pkgname=$pkgver-r$pkgrel"
+ local sitelib="usr/lib/ocaml/$pkgname"
+
+ cd "$pkgdir"
+
+ local path; find $sitelib \( \
+ -name '*.cmt' -o \
+ -name '*.cmti' -o \
+ -name '*.ml' -o \
+ -name '*.mli' \
+ \) | while read -r path
+ do
+ amove "$path"
+ done
+
+}
+
+_lib() {
+ pkgdesc="$pkgdesc (library)"
+ depends=""
+
+ amove usr/lib/ocaml
+}
+
+prepare_py_provides() {
+ local datadir="${subpkgdir:-$pkgdir}"
+ local pkgbasedir=${pkgbasedir:-"$startdir/pkg"}
+ local controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
+
+ options_has "!tracedeps" && return 0
+
+ ocaml4-abuild-find provides \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir" \
+ "$pkgver-r$pkgrel"
+}
+
+scan_python3_dependency() {
+ local controldir="$2" datadir="$3"
+
+ ocaml4-abuild-find requires \
+ "$datadir"/usr/lib/ocaml \
+ "$controldir"
+}
+
+sha512sums="
+002fa809d4924419f51b81df968b653a111ae5992837792fcb867adf2e44c15d40fadccc9784ef61f21ea3233f9da74016433920bf909d808752b7f825f8cdb1 utop-2.9.1.tar.bz2
+"
diff --git a/testing/uucp/APKBUILD b/testing/uucp/APKBUILD
index 3856ee64613..8677683609c 100644
--- a/testing/uucp/APKBUILD
+++ b/testing/uucp/APKBUILD
@@ -3,7 +3,7 @@
# Maintainer: Mathew Meins <mathewm@sdf.lonestar.org>
pkgname=uucp
pkgver=1.07
-pkgrel=3
+pkgrel=5
pkgdesc="Taylor UUCP is a free implementation of UUCP"
url="https://airs.com/ian/uucp.html"
arch="all"
@@ -16,7 +16,8 @@ subpackages="$pkgname-doc"
options="suid"
pkgusers="uucp"
pkggroups="uucp"
-source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz"
+source="https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.gz
+ format-strings.patch"
builddir="$srcdir"/$pkgname-$pkgver
build() {
@@ -62,4 +63,7 @@ package() {
"$pkgdir"/etc/uucp/passwd || return 1
}
-sha512sums="13d215890234e638bed53dce7bab6eb78e0ce6b658f23ac1d7f8abc6e1d97963bef76aa4148ca644f450d5a1678fac940b73fbcd5845d7f5bea3afbd8055229b uucp-1.07.tar.gz"
+sha512sums="
+13d215890234e638bed53dce7bab6eb78e0ce6b658f23ac1d7f8abc6e1d97963bef76aa4148ca644f450d5a1678fac940b73fbcd5845d7f5bea3afbd8055229b uucp-1.07.tar.gz
+8b93f4e7708ba2d7830b6b4f3e2994ee56513de0ef406109572b1d550f7e44b3610c3e6b3cb357200976efc75854b9febdb8ea7b4ef7b881483ddcf9e6c5618c format-strings.patch
+"
diff --git a/testing/uucp/format-strings.patch b/testing/uucp/format-strings.patch
new file mode 100644
index 00000000000..7d7ad23ea36
--- /dev/null
+++ b/testing/uucp/format-strings.patch
@@ -0,0 +1,13 @@
+Patch-Source: https://sources.debian.org/patches/uucp/1.07-27/compiler-warnings.patch
+
+--- uucp.orig/uuconv.c 2013-04-26 16:06:16.000000000 +0200
++++ uucp/uuconv.c 2013-05-08 10:49:06.000000000 +0200
+@@ -676,7 +676,7 @@
+ {
+ if ((*pz)[0] != '-' && pz != pzarg)
+ fprintf (e, " ");
+- fprintf (e, *pz);
++ fprintf (e, "%s", *pz);
+ }
+ }
+
diff --git a/testing/uutils-coreutils/APKBUILD b/testing/uutils-coreutils/APKBUILD
deleted file mode 100644
index 29a4b589a23..00000000000
--- a/testing/uutils-coreutils/APKBUILD
+++ /dev/null
@@ -1,69 +0,0 @@
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=uutils-coreutils
-_pkgname=coreutils
-pkgver=0.0.8
-pkgrel=0
-pkgdesc="coreutils rewritten in Rust"
-# s390x, mips64, riscv64: limited by cargo
-# ppc64le: unsupported by at least the ioctl-sys and nix crates
-# x86: test_cp::test_closes_file_descriptors fails
-arch="all !s390x !mips64 !ppc64le !riscv64 !x86"
-url="https://github.com/uutils/coreutils"
-license="MIT"
-makedepends="cargo py3-sphinx help2man"
-checkdepends="coreutils" # test_ls.rs incompatible with busybox truncate
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/uutils/coreutils/archive/$pkgver.tar.gz
- disable_tests_armhf_patch"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- cargo build --release --locked
-
- mkdir bin
- cp target/release/"$_pkgname" bin/uutils
-
- make build-manpages
- mkdir man1
- gzip -c docs/_build/man/uutils.1 > man1/uutils.1.gz
-
- # create symlinks and individual man pages
- for uutil in $(./bin/uutils | tail -n +7 | tr -d '\n' | sed -e 's/,//g' -e 's/sha3-\s*512sum/sha3-512sum/'); do
- ln -s uutils bin/uutils-$uutil
- case "$uutil" in
- false|test|true) ;; # helpless
- \[) help2man --no-info --name=uutils-test --manual=uutils \
- bin/uutils-"$uutil" > man1/uutils-test.1 ;;
- od) help2man --no-info --name=uutils-"$uutil" --manual=uutils \
- --version-string="$pkgver" \
- bin/uutils-"$uutil" > man1/uutils-"$uutil".1 ;;
- *) help2man --no-info --name=uutils-"$uutil" --manual=uutils \
- bin/uutils-"$uutil" > man1/uutils-"$uutil".1 ;;
- esac
- done
-}
-
-check() {
- ulimit -n 2048 # running out of file descriptors
-
- case "$CARCH" in
- armhf)
- patch -p1 < "$srcdir"/disable_tests_armhf_patch
- ;;
- esac
- cargo test --release --locked
-}
-
-package() {
- mkdir -p "$pkgdir"/usr
- mv bin "$pkgdir"/usr
-
- mkdir -p "$pkgdir"/usr/share/man
- mv man1 "$pkgdir"/usr/share/man
- install -Dm0644 LICENSE -t "$pkgdir"/usr/share/licenses/"$pkgname"
-}
-
-sha512sums="
-87a200113bbed495a8924edf60913e12853afd2c2d7710e2901ac33e81e2a4582c7f857c4e9e56fbb093ae67683ac1a6766a0099dc511754ccdfb967544ffe50 uutils-coreutils-0.0.8.tar.gz
-d1bc4b511ef286a8c49c116994739e5706a95cfbc241939555d8099eed160a8023abff0ad91ed367996e2486bdcc8c81f11bd757542030c80cc20dcbce0fd1d8 disable_tests_armhf_patch
-"
diff --git a/testing/uutils-coreutils/disable_tests_armhf_patch b/testing/uutils-coreutils/disable_tests_armhf_patch
deleted file mode 100644
index c18b97d3e81..00000000000
--- a/testing/uutils-coreutils/disable_tests_armhf_patch
+++ /dev/null
@@ -1,54 +0,0 @@
-These tests seem to run forever on our gitlab CI armhf builder.
-
---- a/tests/by-util/test_factor.rs
-+++ b/tests/by-util/test_factor.rs
-@@ -27,6 +27,7 @@ use self::sieve::Sieve;
- const NUM_PRIMES: usize = 10000;
- const NUM_TESTS: usize = 100;
-
-+/*
- #[test]
- fn test_parallel() {
- // factor should only flush the buffer at line breaks
-@@ -63,6 +64,7 @@ fn test_parallel() {
- let hash_check = sha1::Sha1::from(result.stdout()).hexdigest();
- assert_eq!(hash_check, "cc743607c0ff300ff575d92f4ff0c87d5660c393");
- }
-+*/
-
- #[test]
- fn test_first_100000_integers() {
---- a/tests/by-util/test_sort.rs
-+++ b/tests/by-util/test_sort.rs
-@@ -24,6 +24,7 @@ fn test_helper(file_name: &str, possible
- }
- }
-
-+/*
- #[test]
- fn test_buffer_sizes() {
- let buffer_sizes = ["0", "50K", "50k", "1M", "100M"];
-@@ -53,6 +54,7 @@ fn test_buffer_sizes() {
- }
- }
- }
-+*/
-
- #[test]
- fn test_invalid_buffer_size() {
-@@ -958,6 +960,7 @@ fn test_merge_batch_size() {
- .stdout_only_fixture("merge_ints_interleaved.expected");
- }
-
-+/*
- #[test]
- fn test_sigpipe_panic() {
- let mut cmd = new_ucmd!();
-@@ -984,6 +987,7 @@ fn test_conflict_check_out() {
- );
- }
- }
-+*/
-
- #[test]
- fn test_key_takes_one_arg() {
diff --git a/testing/uxn/APKBUILD b/testing/uxn/APKBUILD
new file mode 100644
index 00000000000..00a940daae7
--- /dev/null
+++ b/testing/uxn/APKBUILD
@@ -0,0 +1,29 @@
+# Maintainer: Waweic <waweic@activ.ism.rocks>
+pkgname=uxn
+pkgver=1.0
+pkgrel=0
+pkgdesc="An assembler and emulator for the Uxn stack-machine"
+url="https://wiki.xxiivv.com/site/uxn.html"
+arch="all"
+license="MIT"
+makedepends="sdl2-dev"
+subpackages="$pkgname-doc"
+options="!check" #Tests not working yet
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~rabbits/uxn/archive/$pkgver.tar.gz"
+
+build() {
+ HOME=$(mktemp -d) ./build.sh --no-run
+}
+
+package() {
+ install -Dm 755 -t "$pkgdir"/usr/bin/ "bin/uxnasm"
+ install -Dm 755 -t "$pkgdir"/usr/bin/ "bin/uxnemu"
+ install -Dm 755 -t "$pkgdir"/usr/bin/ "bin/uxncli"
+
+ install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+sha512sums="
+3d2f86f5dc702d73be8c9203dca10bdebf79f5052ab2fab044e46cb4189ddace46365b619e4da30b43804cb056fbb907ef9ff13b5f60e7ad30ce0f129724312c uxn-1.0.tar.gz
+"
diff --git a/testing/v4l2loopback-src/APKBUILD b/testing/v4l2loopback-src/APKBUILD
deleted file mode 100644
index 173901b2b3b..00000000000
--- a/testing/v4l2loopback-src/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
-# Maintainer: Krystian Chachuła <krystian@krystianch.com>
-pkgname=v4l2loopback-src
-_modname=v4l2loopback
-pkgver=0.12.5
-pkgrel=0
-pkgdesc="Kernel module to create V4L2 loopback devices"
-url="https://github.com/umlaeute/v4l2loopback"
-arch="noarch"
-license="GPL-2.0-only"
-options="!check" # sources only
-source="$pkgname-$pkgver.tar.gz::https://github.com/umlaeute/v4l2loopback/archive/v$pkgver.tar.gz"
-builddir="$srcdir/v4l2loopback-$pkgver"
-
-prepare() {
- default_prepare
-
- cat >AKMBUILD <<-EOF
- modname=$_modname
- modver=$pkgver-r$pkgrel
- built_modules='v4l2loopback.ko'
- EOF
-}
-
-package() {
- install -D -m644 -t "$pkgdir"/usr/src/$_modname-$pkgver \
- ./*.c ./*.h Makefile AKMBUILD
-}
-
-sha512sums="
-5fd2affbb4a7f38bb78f996179de6570b2bd69cfed2a79c4505e7ea2cdf5b65c0a6807f1f4e03f320b667f5cbe62f26fadd412bc0fec5944e4e394635bf5fb3d v4l2loopback-src-0.12.5.tar.gz
-"
diff --git a/testing/vale/APKBUILD b/testing/vale/APKBUILD
new file mode 100644
index 00000000000..f05df856f74
--- /dev/null
+++ b/testing/vale/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Andrej Kolchin <KAAtheWise@protonmail.com>
+# Maintainer: Andrej Kolchin <KAAtheWise@protonmail.com>
+pkgname=vale
+pkgver=3.4.1
+pkgrel=1
+pkgdesc="A markup-aware linter for prose built with speed and extensibility in mind"
+url="https://vale.sh/"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/errata-ai/vale/archive/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+build() {
+ go build -ldflags "-X main.version=v$pkgver" -o bin/vale ./cmd/vale
+}
+
+check() {
+ go test ./internal/core ./internal/lint ./internal/check ./internal/nlp ./internal/glob ./cmd/vale
+}
+
+package() {
+ install -Dm755 bin/vale -t "$pkgdir"/usr/bin
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+93a70954fa67e8f1a7c3c3c8681784b06c32388c70eb6c75ae90292ae3a913dbb89a0539361b689470ee6a77fd9e0419312a98f64af4d1236d32dc436e3a4d9d vale-3.4.1.tar.gz
+"
diff --git a/testing/vals/APKBUILD b/testing/vals/APKBUILD
new file mode 100644
index 00000000000..2700087ddab
--- /dev/null
+++ b/testing/vals/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=vals
+pkgver=0.35.0
+pkgrel=2
+pkgdesc="Helm-like configuration values loader with support for various sources"
+url="https://github.com/helmfile/vals"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/helmfile/vals/archive/refs/tags/v$pkgver.tar.gz"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v \
+ -o bin/$pkgname \
+ -ldflags "-X main.version=v$pkgver -X main.commit=AlpineLinux" \
+ ./cmd/vals
+}
+
+check() {
+ # TestValues_.* tests require the running backend services
+ # TestGetStringMap test fails in CI only (XXX: investigate more)
+ # Tests in pkg/providers/k8s module requires a kubeconfig file with a locally running k8s cluster
+ # shellcheck disable=2046
+ go test -skip 'TestValues_.*|TestGetStringMap' $(go list ./... | grep -v 'pkg/providers/k8s')
+}
+
+package() {
+ install -Dm755 bin/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+de74c28c3bf6766d3e1af92f561bd85d77825e25de8f4c2330ef7c1121a4c420b69bd3ef07d2edfa8e8abaccb76e741c1cb4289b9ef3e10f2246deb69d932255 vals-0.35.0.tar.gz
+"
diff --git a/testing/vamp-sdk/APKBUILD b/testing/vamp-sdk/APKBUILD
deleted file mode 100644
index 17b06a41082..00000000000
--- a/testing/vamp-sdk/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: Alexander Edland <alpine@ocv.me>
-# Maintainer:
-pkgname=vamp-sdk
-pkgver=2.9.0
-pkgrel=1
-pkgdesc="Framework for audio analysis and feature extraction"
-url="https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk"
-arch="all"
-license="BSD-3-Clause"
-options="!check" # testing is done by make
-makedepends="libsndfile-dev"
-subpackages="$pkgname-dev"
-source="https://code.soundsoftware.ac.uk/attachments/download/2588/vamp-plugin-sdk-$pkgver.tar.gz"
-builddir="$srcdir/vamp-plugin-sdk-$pkgver"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-package() {
- make -j1 DESTDIR="$pkgdir" install
-}
-
-sha512sums="7ef7f837d19a08048b059e0da408373a7964ced452b290fae40b85d6d70ca9000bcfb3302cd0b4dc76cf2a848528456f78c1ce1ee0c402228d812bd347b6983b vamp-plugin-sdk-2.9.0.tar.gz"
diff --git a/testing/varnish-modules/APKBUILD b/testing/varnish-modules/APKBUILD
index 6bb8f460017..4136e65e8e9 100644
--- a/testing/varnish-modules/APKBUILD
+++ b/testing/varnish-modules/APKBUILD
@@ -1,17 +1,16 @@
# Contributor: Guillaume Quintard <guillaume.quintard@gmail.com>
# Maintainer: Guillaume Quintard <guillaume.quintard@gmail.com>
pkgname=varnish-modules
-pkgver=0.19.0
-pkgrel=0
+pkgver=0.23.0
+pkgrel=1
pkgdesc="collection of modules for varnish"
url="https://github.com/varnish/varnish-modules"
arch="all"
license="BSD-2-Clause"
-_vversionmin="7.0.0-r0"
-_vversionmax="7.0.1-r0"
+_vversion="7.4.2"
makedepends="autoconf automake gcc libtool make py3-docutils python3
- varnish-dev>=$_vversionmin varnish-dev<$_vversionmax"
-depends="varnish>=$_vversionmin varnish<$_vversionmax"
+ varnish-dev~=$_vversion"
+depends="varnish~=$_vversion"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/varnish/varnish-modules/releases/download/$pkgver/varnish-modules-$pkgver.tar.gz"
@@ -28,10 +27,7 @@ build() {
}
check() {
- make check || {
- find . -name 'test-suite.log' -print -exec cat '{}' \;
- return 1
- }
+ make check -k VERBOSE=1
}
package() {
@@ -39,5 +35,5 @@ package() {
}
sha512sums="
-fc6f4c1695f80fa3b267c13c772dca9cf577eed38c733207cf0f8e01b5d4ebabbe43e936974ba70338a663a45624254759cfd75f8fbae0202361238ee5f15cef $pkgname-$pkgver.tar.gz
+913cba864261141cd38bae258960699b29e89e4a67025397b92a37d2677872305738a78bb14fe245517da3fd987613e68a41481e968565dd6da1ee2d85eca726 $pkgname-$pkgver.tar.gz
"
diff --git a/testing/vbindiff/APKBUILD b/testing/vbindiff/APKBUILD
index 838e40795d3..beed87d9f4d 100755..100644
--- a/testing/vbindiff/APKBUILD
+++ b/testing/vbindiff/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Alex Yam <alex@alexyam.com>
pkgname=vbindiff
pkgver=3.0_beta5
-pkgrel=0
+pkgrel=1
pkgdesc="ncurses hex editor with diff mode for binary file comparison, supports files up to 4GB"
url="https://www.cjmweb.net/vbindiff/"
arch="all"
diff --git a/testing/vcdimager/APKBUILD b/testing/vcdimager/APKBUILD
index 19fc7b43e04..b2617a1a62f 100644
--- a/testing/vcdimager/APKBUILD
+++ b/testing/vcdimager/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=vcdimager
pkgver=2.0.1
-pkgrel=1
+pkgrel=3
pkgdesc="Mastering suite for authoring disassembling and analyzing Video CD's and Super Video CD's"
url="http://www.vcdimager.org"
arch="all"
diff --git a/testing/vcmi/APKBUILD b/testing/vcmi/APKBUILD
new file mode 100644
index 00000000000..6f84d1ca83f
--- /dev/null
+++ b/testing/vcmi/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: ovf <ovf@mm.st>
+pkgname=vcmi
+pkgver=1.4.5
+pkgrel=0
+pkgdesc="Open-source engine for Heroes of Might and Magic III"
+url="https://vcmi.eu"
+# ppc64le, riscv64: no luajit
+# game engine
+arch="aarch64 x86_64"
+license="GPL-2.0-or-later"
+makedepends="
+ boost-dev
+ cmake
+ ffmpeg-dev
+ fuzzylite-dev
+ luajit-dev
+ minizip-dev
+ onetbb-dev
+ qt6-qtbase-dev
+ qt6-qttools-dev
+ samurai
+ sdl2-dev
+ sdl2_image-dev
+ sdl2_mixer-dev
+ sdl2_ttf-dev
+ zlib-dev
+ "
+source="https://github.com/vcmi/vcmi/archive/refs/tags/$pkgver/vcmi-$pkgver.tar.gz"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DFORCE_BUNDLED_FL=OFF \
+ -DFORCE_BUNDLED_MINIZIP=OFF \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+538d1b065282f2ff234ad5101dfdc35d9b280473db897d2aaca91d7760f4a8fb2be7f91c7731515fdcdf19b9204b832b244381feda0988efa89c11a66f937a98 vcmi-1.4.5.tar.gz
+"
diff --git a/testing/vcsh/APKBUILD b/testing/vcsh/APKBUILD
new file mode 100644
index 00000000000..ee65a5aa076
--- /dev/null
+++ b/testing/vcsh/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Martin Kühl <martin.kuehl@posteo.net>
+# Maintainer: Martin Kühl <martin.kuehl@posteo.net>
+pkgname=vcsh
+pkgver=2.0.5
+pkgrel=0
+pkgdesc="config manager based on Git"
+url="https://github.com/RichiH/vcsh"
+arch="noarch"
+license="GPL-2.0-or-later"
+depends="git"
+subpackages="$pkgname-doc $pkgname-bash-completion $pkgname-zsh-completion"
+source="https://github.com/RichiH/vcsh/releases/download/v$pkgver/vcsh-$pkgver.tar.xz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+e33be3ee1a6ed908704eb2e355840598595b711d47e5fb8d5b79e3d715d81faa410226641e374aecee98de2938117ec094a1fe3d21e54d68e3ae117d07185f6b vcsh-2.0.5.tar.xz
+"
diff --git a/testing/vcstool/APKBUILD b/testing/vcstool/APKBUILD
index 9a46f332bb7..9ee5ca6576f 100644
--- a/testing/vcstool/APKBUILD
+++ b/testing/vcstool/APKBUILD
@@ -2,30 +2,38 @@
# Maintainer: Russ Webber <russ@rw.id.au>
pkgname=vcstool
pkgver=0.3.0
-pkgrel=1
+pkgrel=5
pkgdesc="A command line tool designed to make working with multiple repositories easier"
url="https://github.com/dirk-thomas/vcstool"
arch="noarch"
license="Apache-2.0"
-depends="python3 py3-yaml"
-makedepends="py3-setuptools"
-checkdepends="py3-pytest py3-flake8 py3-pydocstyle py3-flake8-import-order subversion mercurial git"
-subpackages="$pkgname-bash-completion
+depends="py3-yaml py3-setuptools"
+makedepends="py3-gpep517 py3-wheel"
+checkdepends="py3-pytest py3-flake8 py3-flake8-import-order subversion mercurial git"
+subpackages="
+ $pkgname-pyc
+ $pkgname-bash-completion
$pkgname-zsh-completion
$pkgname-tcsh-completion:tcshcomp:noarch
"
source="$pkgname-$pkgver.tar.gz::https://github.com/dirk-thomas/vcstool/archive/$pkgver.tar.gz"
+options="!check" # fail due to various git errors, and outdated dependency expectations
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="$builddir/build" pytest -s -v test -k 'not test_import_shallow'
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ gpep517 install-wheel --destdir .testenv --prefix '' .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ gpep517 install-wheel --destdir "$pkgdir" \
+ .dist/*.whl
mkdir -p "$pkgdir"/usr/share/bash-completion/completions
mkdir -p "$pkgdir"/usr/share/zsh/site-functions
diff --git a/testing/vdirsyncer/01-fix-ssl-tests.patch b/testing/vdirsyncer/01-fix-ssl-tests.patch
deleted file mode 100644
index 6dc4c401d25..00000000000
--- a/testing/vdirsyncer/01-fix-ssl-tests.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-# From https://github.com/pimutils/vdirsyncer/pull/903
-diff --git a/tests/system/conftest.py b/tests/system/conftest.py
-new file mode 100644
-index 00000000..59271e57
---- /dev/null
-+++ b/tests/system/conftest.py
-@@ -0,0 +1,26 @@
-+import ssl
-+
-+import pytest
-+import trustme
-+
-+
-+@pytest.fixture(scope="session")
-+def ca():
-+ return trustme.CA()
-+
-+
-+@pytest.fixture(scope="session")
-+def localhost_cert(ca):
-+ return ca.issue_cert("localhost")
-+
-+
-+@pytest.fixture(scope="session")
-+def httpserver_ssl_context(localhost_cert):
-+ context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
-+
-+ crt = localhost_cert.cert_chain_pems[0]
-+ key = localhost_cert.private_key_pem
-+ with crt.tempfile() as crt_file, key.tempfile() as key_file:
-+ context.load_cert_chain(crt_file, key_file)
-+
-+ return context
-diff --git a/tests/system/utils/test_main.py b/tests/system/utils/test_main.py
-index 5a3942db..db3e70fd 100644
---- a/tests/system/utils/test_main.py
-+++ b/tests/system/utils/test_main.py
-@@ -4,6 +4,8 @@
- import click_log
- import pytest
- import requests
-+from cryptography import x509
-+from cryptography.hazmat.primitives import hashes
-
- from vdirsyncer import http
- from vdirsyncer import utils
-@@ -38,27 +40,55 @@ def _fingerprints_broken():
- return broken_urllib3
-
-
-+def fingerprint_of_cert(cert, hash=hashes.SHA256):
-+ return x509.load_pem_x509_certificate(cert.bytes()).fingerprint(hash()).hex()
-+
-+
- @pytest.mark.skipif(
- _fingerprints_broken(), reason="https://github.com/shazow/urllib3/issues/529"
- )
--@pytest.mark.parametrize(
-- "fingerprint",
-- [
-- "94:FD:7A:CB:50:75:A4:69:82:0A:F8:23:DF:07:FC:69:3E:CD:90:CA",
-- "19:90:F7:23:94:F2:EF:AB:2B:64:2D:57:3D:25:95:2D",
-- ],
-+@pytest.mark.parametrize("hash_algorithm", [hashes.MD5, hashes.SHA256])
-+def test_request_ssl_leaf_fingerprint(httpserver, localhost_cert, hash_algorithm):
-+ fingerprint = fingerprint_of_cert(localhost_cert.cert_chain_pems[0], hash_algorithm)
-+
-+ # We have to serve something:
-+ httpserver.expect_request("/").respond_with_data("OK")
-+ url = f"https://{httpserver.host}:{httpserver.port}/"
-+
-+ http.request("GET", url, verify=False, verify_fingerprint=fingerprint)
-+ with pytest.raises(requests.exceptions.ConnectionError) as excinfo:
-+ http.request("GET", url, verify_fingerprint=fingerprint)
-+
-+ with pytest.raises(requests.exceptions.ConnectionError) as excinfo:
-+ http.request(
-+ "GET",
-+ url,
-+ verify=False,
-+ verify_fingerprint="".join(reversed(fingerprint)),
-+ )
-+ assert "Fingerprints did not match" in str(excinfo.value)
-+
-+
-+@pytest.mark.skipif(
-+ _fingerprints_broken(), reason="https://github.com/shazow/urllib3/issues/529"
- )
--def test_request_ssl_fingerprints(httpsserver, fingerprint):
-- httpsserver.serve_content("") # we need to serve something
-+@pytest.mark.xfail(reason="Not implemented")
-+@pytest.mark.parametrize("hash_algorithm", [hashes.MD5, hashes.SHA256])
-+def test_request_ssl_ca_fingerprint(httpserver, ca, hash_algorithm):
-+ fingerprint = fingerprint_of_cert(ca.cert_pem)
-+
-+ # We have to serve something:
-+ httpserver.expect_request("/").respond_with_data("OK")
-+ url = f"https://{httpserver.host}:{httpserver.port}/"
-
-- http.request("GET", httpsserver.url, verify=False, verify_fingerprint=fingerprint)
-+ http.request("GET", url, verify=False, verify_fingerprint=fingerprint)
- with pytest.raises(requests.exceptions.ConnectionError) as excinfo:
-- http.request("GET", httpsserver.url, verify_fingerprint=fingerprint)
-+ http.request("GET", url, verify_fingerprint=fingerprint)
-
- with pytest.raises(requests.exceptions.ConnectionError) as excinfo:
- http.request(
- "GET",
-- httpsserver.url,
-+ url,
- verify=False,
- verify_fingerprint="".join(reversed(fingerprint)),
- )
diff --git a/testing/vdirsyncer/APKBUILD b/testing/vdirsyncer/APKBUILD
deleted file mode 100644
index c6bbf444bce..00000000000
--- a/testing/vdirsyncer/APKBUILD
+++ /dev/null
@@ -1,52 +0,0 @@
-# Contributor: Galen Abell <galen@galenabell.com>
-# Maintainer: Galen Abell <galen@galenabell.com>
-pkgname=vdirsyncer
-_pyname=$pkgname
-pkgver=0.18.0
-pkgrel=1
-pkgdesc="CLI Synchronization for CalDAV and CardDAV"
-url="http://vdirsyncer.pimutils.org"
-arch="noarch"
-license="BSD-3-Clause"
-depends="
- python3
- py3-atomicwrites
- py3-click
- py3-click-log
- py3-click-threading
- py3-requests
- py3-requests-toolbelt
- "
-makedepends="py3-setuptools py3-setuptools_scm py3-sphinx"
-checkdepends="
- py3-pytest
- py3-pytest-cov
- py3-pytest-httpserver
- py3-hypothesis
- py3-subtesthack
- py3-trustme
- py3-werkzeug
- "
-subpackages="$pkgname-doc"
-source="https://files.pythonhosted.org/packages/source/${_pyname%"${_pyname#?}"}/$_pyname/$_pyname-$pkgver.tar.gz
- 01-fix-ssl-tests.patch"
-
-build() {
- python3 setup.py build
- PYTHONPATH="build:$PYTHONPATH" sphinx-build -b man docs/ build/
-}
-
-check() {
- # test_request_ssl requires network
- make DETERMINISTIC_TESTS=true PYTEST_ADDOPTS="--deselect tests/system/utils/test_main.py::test_request_ssl" test
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
- install -Dm644 build/$pkgname.1 "$pkgdir"/usr/share/man/man1/$pkgname.1
-}
-
-sha512sums="
-7fb3d0f7d982d8390d278de1a620231e6ead1ec64057c5dbac98dcff491fa3e6b9ed8ba953995458e393aab73b0b9ab8ba14010e06f90a04d8ee2c28c7c7fbfd vdirsyncer-0.18.0.tar.gz
-09493b5298212fc724b3dfd2a5cffe89fae0857ee1e0a27eb272bf5960b03bac2c0cc8e18a2b9b58de13b8287c2377b1d2fb22b725f10fb243777faa9fd2d3b2 01-fix-ssl-tests.patch
-"
diff --git a/testing/vector/APKBUILD b/testing/vector/APKBUILD
new file mode 100644
index 00000000000..7eddc588b8b
--- /dev/null
+++ b/testing/vector/APKBUILD
@@ -0,0 +1,96 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=vector
+pkgver=0.34.2
+pkgrel=0
+pkgdesc="High-performance observability data pipeline"
+url="https://vector.dev/"
+# s390x, ppc64le, riscv64: blocked by ring crate
+# 32-bit: memory allocation error
+arch="all !s390x !ppc64le !riscv64 !x86 !armhf !armv7"
+license="MPL-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ cmake
+ librdkafka-dev
+ openssl-dev
+ perl
+ protobuf-dev
+ protoc
+ python3
+ zlib-ng-dev
+ zstd-dev
+ "
+checkdepends="bash cargo-nextest tzdata"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/vectordotdev/vector/archive/refs/tags/v$pkgver.tar.gz
+ use-system-libs.patch
+ skip-failed-tests.patch
+ vector.initd
+ vector.confd
+ logrotate
+ "
+
+export OPENSSL_NO_VENDOR=1
+
+prepare() {
+ default_prepare
+
+ # Rust target triple.
+ local target=$(rustc -vV | sed -n 's/host: //p')
+
+ # Build against system-provided zlib-ng
+ mkdir -p .cargo
+ cat >> .cargo/config.toml <<-EOF
+ [target.$target]
+ z-ng = { rustc-link-lib = ["z-ng"], rustc-cfg = ["zng"] }
+ EOF
+
+ # "cargo auditable build" still tries to pull dependencies for other platforms
+ cargo fetch --locked
+}
+
+build() {
+ cargo auditable build \
+ --release \
+ --frozen \
+ --no-default-features \
+ --features default-musl,component-validation-runner
+
+ # cargo-nextest drops the release build, so back it up here
+ cp -r target/release releasebuild
+}
+
+check() {
+ # Upstream recommends running tests with "cargo nextest" instead of "cargo test"
+ cargo nextest run \
+ --fail-fast \
+ --frozen \
+ --no-default-features \
+ --offline \
+ --release \
+ --workspace \
+ --test-threads num-cpus
+}
+
+package() {
+ install -Dm755 releasebuild/vector -t "$pkgdir"/usr/bin/
+ install -Dm644 config/vector.yaml -t "$pkgdir"/etc/vector/
+ install -Dm644 "$srcdir"/logrotate "$pkgdir"/etc/logrotate.d/vector
+
+ mkdir -p "$pkgdir"/usr/share/doc/vector
+ cp -r config/examples "$pkgdir"/usr/share/doc/vector/examples
+
+ install -Dm755 "$srcdir"/vector.initd "$pkgdir"/etc/init.d/vector
+ install -Dm644 "$srcdir"/vector.confd "$pkgdir"/etc/conf.d/vector
+}
+
+sha512sums="
+9bebfc73509d748e43693b904f26469384ab70cc3c67c908a0d960b236fe6f44295c0a460a7eeb3bb17bd756860a407f95929c94060a681327c27b6ea907bacb vector-0.34.2.tar.gz
+7f4ed2bdfc8cf8116909e32f9b9caa70bd60d4c63763c8d8f2f47adfe725ea058e05d1e9891415433596260c9264cefdbcae9a70033fceca1c98ac24e964f087 use-system-libs.patch
+3e0d61d64411ce679241effccbe858ff2c68b20e96d8f9f12089671d8dcc84b0583f6db7512be90b716e3655e18d8a47e1359f4013444f448ec12f0de12f9c25 skip-failed-tests.patch
+806c2594d9d7b4bf1c24436a3982801a37ec3d8784acb97266eb7111fe35d8d05a64ef981100bd8aa35a71ad9c7c98de634428f696bded31993143ca572b6757 vector.initd
+313f79e65e61754e8a611f8221d7c0cf36ee5af6f30aeff720924e64bb03d7f44c54fc31ae20926c354905f61df347830a7cba0c37afd41c1f59a25c52fa6f06 vector.confd
+62db792de321655558bdb23ab9b3a7b35b84de445657011d88e8205cce4a926ff7b20f5304ec48fa646f1f259ad2136eceb5a377c4520071799da502eeff7592 logrotate
+"
diff --git a/testing/vector/logrotate b/testing/vector/logrotate
new file mode 100644
index 00000000000..61fbb96fe3c
--- /dev/null
+++ b/testing/vector/logrotate
@@ -0,0 +1,14 @@
+/var/log/vector.log {
+ rotate 4
+ weekly
+ compress
+ delaycompress
+ notifempty
+ missingok
+ copytruncate
+ minsize 100k
+ create 0644 vector vector
+ postrotate
+ /sbin/rc-service vector reload
+ endscript
+}
diff --git a/testing/vector/skip-failed-tests.patch b/testing/vector/skip-failed-tests.patch
new file mode 100644
index 00000000000..28f2025d71f
--- /dev/null
+++ b/testing/vector/skip-failed-tests.patch
@@ -0,0 +1,12 @@
+diff --git a/lib/codecs/src/encoding/format/native_json.rs b/lib/codecs/src/encoding/format/native_json.rs
+index 94fd6b3..715e554 100644
+--- a/lib/codecs/src/encoding/format/native_json.rs
++++ b/lib/codecs/src/encoding/format/native_json.rs
+@@ -87,6 +87,7 @@ mod tests {
+ }
+
+ #[test]
++ #[ignore]
+ fn serialize_aggregated_histogram() {
+ let histogram_event = Event::from(Metric::new(
+ "histogram",
diff --git a/testing/vector/use-system-libs.patch b/testing/vector/use-system-libs.patch
new file mode 100644
index 00000000000..de81d6edfaa
--- /dev/null
+++ b/testing/vector/use-system-libs.patch
@@ -0,0 +1,77 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index d5b347b..81f95c4 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -3407,6 +3407,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e"
+ dependencies = [
+ "crc32fast",
++ "libz-ng-sys",
+ "miniz_oxide",
+ ]
+
+@@ -4890,6 +4891,16 @@ version = "0.2.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058"
+
++[[package]]
++name = "libz-ng-sys"
++version = "1.1.12"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3dd9f43e75536a46ee0f92b758f6b63846e594e86638c61a9251338a65baea63"
++dependencies = [
++ "cmake",
++ "libc",
++]
++
+ [[package]]
+ name = "libz-sys"
+ version = "1.1.12"
+@@ -4897,6 +4908,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b"
+ dependencies = [
+ "cc",
++ "cmake",
+ "libc",
+ "pkg-config",
+ "vcpkg",
+@@ -9950,6 +9962,7 @@ dependencies = [
+ "kube",
+ "lapin",
+ "libc",
++ "libz-sys",
+ "listenfd",
+ "logfmt",
+ "loki-logproto",
+diff --git a/Cargo.toml b/Cargo.toml
+index 21d8aa1..069db37 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -253,7 +253,7 @@ dyn-clone = { version = "1.0.16", default-features = false }
+ encoding_rs = { version = "0.8.33", default-features = false, features = ["serde"] }
+ enum_dispatch = { version = "0.3.12", default-features = false }
+ exitcode = { version = "1.1.2", default-features = false }
+-flate2 = { version = "1.0.28", default-features = false, features = ["default"] }
++flate2 = { version = "1.0.28", default-features = false, features = ["zlib-ng"] }
+ futures-util = { version = "0.3.29", default-features = false }
+ glob = { version = "0.3.1", default-features = false }
+ governor = { version = "0.6.0", default-features = false, features = ["dashmap", "jitter", "std"], optional = true }
+@@ -318,7 +318,8 @@ typetag = { version = "0.2.13", default-features = false }
+ url = { version = "2.4.1", default-features = false, features = ["serde"] }
+ uuid = { version = "1", default-features = false, features = ["serde", "v4"] }
+ warp = { version = "0.3.6", default-features = false }
+-zstd = { version = "0.13.0", default-features = false }
++zstd = { version = "0.13.0", default-features = false, features = ["pkg-config"] }
++libz-sys = { version = "1.1.12", default-features = false, features = ["zlib-ng"] }
+ arr_macro = { version = "0.2.1" }
+
+ # depending on fork for bumped nix dependency
+@@ -385,7 +386,7 @@ default-cmake = ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build
+ # Default features for *-pc-windows-msvc
+ # TODO: Enable SASL https://github.com/vectordotdev/vector/pull/3081#issuecomment-659298042
+ default-msvc = ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "transforms", "enterprise"]
+-default-musl = ["api", "api-client", "enrichment-tables", "rdkafka?/cmake_build", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi-vendored", "enterprise"]
++default-musl = ["api", "api-client", "enrichment-tables", "rdkafka?/dynamic-linking", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi", "enterprise"]
+ default-no-api-client = ["api", "enrichment-tables", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi-vendored", "enterprise"]
+ default-no-vrl-cli = ["api", "sinks", "sources", "sources-dnstap", "transforms", "unix", "rdkafka?/gssapi-vendored", "enterprise"]
+ tokio-console = ["dep:console-subscriber", "tokio/tracing"]
diff --git a/testing/vector/vector.confd b/testing/vector/vector.confd
new file mode 100644
index 00000000000..412c44580a3
--- /dev/null
+++ b/testing/vector/vector.confd
@@ -0,0 +1,13 @@
+# vector service configuration options
+
+# extra arguments to pass to vector
+command_args=""
+
+# user:group to run the process with
+command_user="vector:vector"
+
+# where to store logs for vector process output
+#logfile="/var/log/vector.log"
+
+# comment to use traditional service management
+supervisor=supervise-daemon
diff --git a/testing/vector/vector.initd b/testing/vector/vector.initd
new file mode 100644
index 00000000000..daebc119cd0
--- /dev/null
+++ b/testing/vector/vector.initd
@@ -0,0 +1,38 @@
+#!/sbin/openrc-run
+
+: ${command_user:="vector:vector"}
+: ${logfile:="/var/log/$RC_SVCNAME.log"}
+
+name=vector
+description="Vector high-performance observability data pipeline"
+command="/usr/bin/vector"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+capabilities="^cap_net_bind_service"
+
+extra_started_commands="reload"
+description_reload="Reload vector daemon"
+
+output_log="$logfile"
+error_log="$logfile"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -o $command_user /var/lib/vector
+ $command validate
+}
+
+reload() {
+ ebegin "Reloading $RC_SVCNAME"
+ $command validate
+ if [ -n "$supervisor" ]; then
+ $supervisor "$RC_SVCNAME" --signal HUP
+ else
+ start-stop-daemon --signal HUP --pidfile "$pidfile"
+ fi
+ eend $?
+}
diff --git a/testing/vector/vector.pre-install b/testing/vector/vector.pre-install
new file mode 100644
index 00000000000..e8ae285234a
--- /dev/null
+++ b/testing/vector/vector.pre-install
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+addgroup -S vector 2>/dev/null
+adduser -S -D -h /var/lib/vector -s /sbin/nologin -G vector -g vector vector 2>/dev/null
+adduser vector adm 2>/dev/null
+
+exit 0
diff --git a/testing/venc/APKBUILD b/testing/venc/APKBUILD
new file mode 100644
index 00000000000..8c8383d4978
--- /dev/null
+++ b/testing/venc/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Guy Godfroy <guy.godfroy@gugod.fr>
+# Maintainer: Guy Godfroy <guy.godfroy@gugod.fr>
+pkgname=venc
+_pkgname=VenC
+pkgver=3.1.1
+pkgrel=1
+pkgdesc="Static blog generator"
+url="https://venc.software/"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="py3-yaml py3-unidecode"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+source="$_pkgname-v$pkgver.tar.gz::https://framagit.org/denissalem/VenC/-/archive/v$pkgver/$_pkgname-v$pkgver.tar.gz"
+builddir="$srcdir/$_pkgname-v$pkgver/src"
+options="!check" # broken test scripts
+subpackages="$pkgname-pyc"
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+}
+
+sha512sums="
+fa4b34a53ff24074eb084a3e1c4b8b0b950e7bbcb03b88d4d11721a21b275f2092280dc1bbf2eaef8859fbf7dfdcb9ba5a3843e348b9328c5930f7f0524cde07 VenC-v3.1.1.tar.gz
+"
diff --git a/testing/vera++/APKBUILD b/testing/vera++/APKBUILD
index da72fb7a75c..3347c64568e 100644
--- a/testing/vera++/APKBUILD
+++ b/testing/vera++/APKBUILD
@@ -2,9 +2,9 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=vera++
pkgver=1.3.0
-pkgrel=1
+pkgrel=9
pkgdesc="tool for verification, analysis and transformation of C++ source code"
-url="http://bitbucket.org/verateam/vera"
+url="https://bitbucket.org/verateam/vera"
arch="all"
license="BSL-1.0"
makedepends="cmake ninja tcl-dev tk-dev python3-dev boost-dev lua-dev"
@@ -18,7 +18,7 @@ source="
"
build() {
- cmake -B build \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DVERA_LUA=OFF \
diff --git a/testing/veracrypt/APKBUILD b/testing/veracrypt/APKBUILD
deleted file mode 100644
index 95c10a722e0..00000000000
--- a/testing/veracrypt/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: Sascha Paunovic <azarus@posteo.net>
-# Maintainer: Sascha Paunovic <azarus@posteo.net>
-pkgname=veracrypt
-_pkgname=VeraCrypt
-pkgver=1.22
-pkgrel=6
-pkgdesc="disk encryption with strong security based on TrueCrypt"
-url="https://www.veracrypt.fr/"
-arch="all !x86 !armhf !armv7 !s390x !mips !mips64" # issues on linking
-license="Apache-2.0"
-depends="device-mapper"
-makedepends="fuse-dev wxgtk-dev libsm-dev yasm"
-options="!check" # no test suite provided
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.bz2::https://launchpad.net/veracrypt/trunk/$pkgver/+download/${_pkgname}_${pkgver}_Source.tar.bz2
- sysmacros.patch
- "
-builddir="$srcdir/"
-
-build() {
- cd "$builddir"/src
- make TC_EXTRA_LFLAGS="-ldl $LDFLAGS" \
- TC_EXTRA_CXXFLAGS="$CXXFLAGS $CPPFLAGS" \
- TC_EXTRA_CFLAGS="$CFLAGS $CPPFLAGS"
-}
-
-package() {
- cd "$builddir"/src
- install -Dm 755 Main/$pkgname "$pkgdir"/usr/bin/$pkgname
- install -Dm 644 Resources/Icons/VeraCrypt-256x256.xpm \
- "$pkgdir"/usr/share/pixmaps/veracrypt.xpm
- install -Dm 644 License.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
- mkdir -p "$pkgdir"/usr/share/applications
- cat >> "$pkgdir"/usr/share/applications/veracrypt.desktop <<-EOF
- [Desktop Entry]
- Type=Application
- Exec=veracrypt
- Icon=veracrypt.xpm
- Comment=Disk encryption with strong security based on TrueCrypt
- Terminal=false
- Name=VeraCrypt
- StartupNotify=true
- Categories=System;Administration;
- EOF
-}
-
-sha512sums="08795a42ab4eddb4792538d0207e6a45efad967abe257ba0a722b15f5bd43736f5e7cdce80b6c641dc1587c75f8f2b9b314f67e787a5a99031b5b47eea159b3d veracrypt-1.22.tar.bz2
-34cbd10e3de5c0248a4d634e42a592b71c7c83e3edd4dd2ae05cc29bc7f9b3f71f85d32bbc5dcd68df9478a3fa2a0357ffbc9262baf76bf767c83b517ae29a09 sysmacros.patch"
diff --git a/testing/veracrypt/sysmacros.patch b/testing/veracrypt/sysmacros.patch
deleted file mode 100644
index 84d89694e5e..00000000000
--- a/testing/veracrypt/sysmacros.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/Platform/Unix/FilesystemPath.cpp b/src/Platform/Unix/FilesystemPath.cpp
-index d6c9cd2..7c28af4 100644
---- a/src/Platform/Unix/FilesystemPath.cpp
-+++ b/src/Platform/Unix/FilesystemPath.cpp
-@@ -15,6 +15,7 @@
- #include "Platform/StringConverter.h"
- #include <stdio.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
-
- namespace VeraCrypt
- {
-
diff --git a/testing/vfd-configurations/APKBUILD b/testing/vfd-configurations/APKBUILD
new file mode 100644
index 00000000000..17e8e0176d7
--- /dev/null
+++ b/testing/vfd-configurations/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: Petr Hodina <phodina@protonmail.com>
+# Maintainer: Petr Hodina <phodina@protonmail.com>
+pkgname=vfd-configurations
+pkgver=0_git20230612
+pkgrel=0
+_gitrev=beea98634cf9a4c7f70f6b565158ff7140c357f6
+pkgdesc="Collection of configuration files for linux devices with a front facing display"
+url="https://github.com/arthur-liberman/vfd-configurations"
+arch="noarch"
+license="GPL-3.0-or-later"
+source="vfd-configurations-$_gitrev.tar.gz::https://github.com/arthur-liberman/vfd-configurations/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # has no test suite
+
+package() {
+ install -Dm644 ./*.conf -t "$pkgdir"/usr/share/$pkgname/
+ cp -r kvim2 "$pkgdir"/usr/share/$pkgname/
+ cp -r le-potato "$pkgdir"/usr/share/$pkgname/
+ cp -r odroid-c2 "$pkgdir"/usr/share/$pkgname/
+ cp -r odroid-hc4 "$pkgdir"/usr/share/$pkgname/
+ cp -r odroid-n2 "$pkgdir"/usr/share/$pkgname/
+}
+
+sha512sums="
+bda1ed5a405b12e35278853b88c270d631deebc46c0ac6995bb54f38865d91a4cebdca615002a984600aeb655b771307994379058658551211e9337ae42863ac vfd-configurations-beea98634cf9a4c7f70f6b565158ff7140c357f6.tar.gz
+"
diff --git a/testing/vice/APKBUILD b/testing/vice/APKBUILD
index 78cc8310ec7..825f0e9049a 100644
--- a/testing/vice/APKBUILD
+++ b/testing/vice/APKBUILD
@@ -1,24 +1,49 @@
# Contributor: Jean-Louis Fuchs <jean-louis.fuchs@adfinis-sygroup.ch>
# Maintainer: Jean-Louis Fuchs <jean-louis.fuchs@adfinis-sygroup.ch>
pkgname=vice
-pkgver=3.5
+pkgver=3.8
pkgrel=0
pkgdesc="emulates the C64/DTV, C128, VIC20, almost all PETs, PLUS4 and CBM-II"
-url="http://vice-emu.sourceforge.net/"
+url="https://vice-emu.sourceforge.net/"
arch="all"
license="GPL-2.0-or-later"
-makedepends="gtk+3.0-dev glew-dev giflib-dev ffmpeg-dev jpeg-dev libpng-dev alsa-lib-dev
- linux-headers texinfo automake autoconf bison flex xa bdftopcf mkfontdir
- bash"
-subpackages="$pkgname-doc"
+makedepends="
+ alsa-lib-dev
+ autoconf
+ automake
+ bash
+ bdftopcf
+ bison
+ curl-dev
+ ffmpeg4-dev
+ flex
+ giflib-dev
+ glew-dev
+ gtk+3.0-dev
+ jpeg-dev
+ libpng-dev
+ linux-headers
+ texinfo
+ xa
+ "
source="https://downloads.sourceforge.net/vice-emu/vice-$pkgver.tar.gz
disable-fc-cache.patch
- fix__u_char.patch"
+ "
+
+# Starting with version 3.8, only PDF docs are installed to
+# /usr/share/doc/vice, texlive is required to generate that
+case "$CARCH" in
+ppc64le|s390x|riscv64)
+ ;;
+*)
+ makedepends="$makedepends texlive"
+ subpackages="$subpackages $pkgname-doc"
+ _extra_opts="--enable-pdf-docs"
+ ;;
+esac
prepare() {
- sed -i 's/\r//' "$builddir/src/opencbm.h"
default_prepare
- sed -i 's/lib64/lib/g' configure.ac
autoreconf -fi
}
@@ -28,9 +53,9 @@ build() {
--enable-native-gtk3ui \
--enable-x64 \
--disable-no-pic \
- --disable-pdf-docs \
--without-pulse \
- --enable-external-ffmpeg
+ --enable-external-ffmpeg \
+ $_extra_opts
make
}
@@ -42,6 +67,7 @@ check() {
make -C "$builddir" check
}
-sha512sums="02f364c1645138cacb461346d44de8f524fb2aba7d980181caf039c46ca9d30db98466e5b0e56e6a41417cd7bbd63d73bf6eb110af1271e23732e320dd1fab70 vice-3.5.tar.gz
+sha512sums="
+fe644667736c32386b62af53314a95bf510c75d476eaab14b4c37693f2f57d6815126ab3db2f0cb11300c1a4a07c29b3f25210800ce97a673a0460ab59d0ebba vice-3.8.tar.gz
ed6fee34eefcb04c42b4575591dfeffca8548eae354dee66dabdbc4abac0311cbbedcdc07cdfcb01da4840d57ab331a31583e17160820462a2c064835a75d75d disable-fc-cache.patch
-3132be50c402068865b530ed9df71a073012623ce48e3fa162f33af7bdcdd6d890590955868bb5591e018c17359e860ccff9eb0cde9bfd99582ac921400e8f2f fix__u_char.patch"
+"
diff --git a/testing/vice/fix__u_char.patch b/testing/vice/fix__u_char.patch
deleted file mode 100644
index 046ae82a05f..00000000000
--- a/testing/vice/fix__u_char.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -ru a/src/opencbm.h b/src/opencbm.h
---- a/src/opencbm.h 2016-11-14 00:23:10.000000000 +0100
-+++ b/src/opencbm.h 2017-01-20 19:54:12.098939871 +0100
-@@ -131,6 +131,9 @@
-
- #endif
-
-+/* There is no __u_char on alpine linux */
-+#define __u_char unsigned char /*!< __u_char as unsigned char */
-+
- /* specifiers for the IEC bus lines */
- #define IEC_DATA 0x01 /*!< Specify the DATA line */
- #define IEC_CLOCK 0x02 /*!< Specify the CLOCK line */
diff --git a/testing/vicious/APKBUILD b/testing/vicious/APKBUILD
deleted file mode 100644
index 0cd6bcdf850..00000000000
--- a/testing/vicious/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-_luaver=5.1
-pkgname=vicious
-pkgver=2.5.0
-pkgrel=0
-pkgdesc="widgets for the Awesome window manager"
-url="https://vicious.readthedocs.io/en/latest/"
-arch="noarch"
-license="GPL-2.0-or-later"
-depends="lua$_luaver"
-options="!check" # no test suite
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/vicious-widgets/vicious/archive/refs/tags/v$pkgver.tar.gz"
-
-package() {
- install -Dm0644 ./*.lua -t "$pkgdir"/usr/share/lua/$_luaver/vicious/
- install -Dm0644 widgets/*.lua -t "$pkgdir"/usr/share/lua/$_luaver/vicious/widgets/
- install -Dm0644 contrib/*.lua -t "$pkgdir"/usr/share/lua/$_luaver/vicious/contrib/
- install -Dm0644 README.md -t "$pkgdir"/usr/share/doc/vicious/
-}
-
-sha512sums="
-deb21587d1d7f2e6e4dd77c74abbfa337acf6c99ef9bebc0e505f1508afc6e3b03f043a639f866fcda0191447c103d3fba51376682201482fb669a263321dee5 vicious-2.5.0.tar.gz
-"
diff --git a/testing/victoria-metrics/APKBUILD b/testing/victoria-metrics/APKBUILD
deleted file mode 100644
index ce89690a4c6..00000000000
--- a/testing/victoria-metrics/APKBUILD
+++ /dev/null
@@ -1,68 +0,0 @@
-# Contributor: Konstantin Kulikov <k.kulikov2@gmail.com>
-# Maintainer: Konstantin Kulikov <k.kulikov2@gmail.com>
-pkgname=victoria-metrics
-pkgver=1.71.0
-pkgrel=0
-provides=victoriametrics
-pkgdesc="Fast, cost-effective and scalable time series database"
-url="https://github.com/VictoriaMetrics/VictoriaMetrics"
-# Test failures on other archs, FP precision mostly.
-arch="x86_64"
-license="Apache-2.0"
-makedepends="go"
-subpackages="$pkgname-openrc $pkgname-tools:_tools $pkgname-backup-tools:_backup_tools"
-install="$pkgname.pre-install"
-source="$pkgname-$pkgver.tar.gz::https://github.com/VictoriaMetrics/VictoriaMetrics/archive/v$pkgver.tar.gz
- $pkgname.initd
- $pkgname.confd
- tests-skip-sinh.patch
- "
-builddir="$srcdir/VictoriaMetrics-$pkgver"
-
-# Depends on cgo zstd package that ships prebuilt object files built against glibc.
-# It is possible to rebuild it against musl, but
-# pure go zstd lib works well enough and is not written in C.
-export CGO_ENABLED=0
-
-export GOPATH=$srcdir/go
-export GOCACHE=$srcdir/go-build
-export GOTMPDIR=$srcdir
-
-build() {
- local ldflags="-w -s -X github.com/VictoriaMetrics/VictoriaMetrics/lib/buildinfo.Version=$pkgver"
- local bin
- for bin in victoria-metrics vmagent vmalert vmauth vmctl vmrestore vmbackup; do
- go build -modcacherw -ldflags="$ldflags" -o bin/$bin ./app/$bin
- done
-}
-
-check() {
- go test -modcacherw -short ./...
-}
-
-package() {
- install -Dm755 $builddir/bin/$pkgname $pkgdir/usr/bin/$pkgname
- install -Dm755 $srcdir/$pkgname.initd $pkgdir/etc/init.d/$pkgname
- install -Dm644 $srcdir/$pkgname.confd $pkgdir/etc/conf.d/$pkgname
-}
-
-_tools() {
- pkgdesc="$pkgdesc (vmagent, vmalert, vmauth, vmctl)"
- install -Dm755 $builddir/bin/vmagent $subpkgdir/usr/bin/vmagent
- install -Dm755 $builddir/bin/vmalert $subpkgdir/usr/bin/vmalert
- install -Dm755 $builddir/bin/vmauth $subpkgdir/usr/bin/vmauth
- install -Dm755 $builddir/bin/vmctl $subpkgdir/usr/bin/vmctl
-}
-
-_backup_tools() {
- pkgdesc="$pkgdesc (vmbackup, vmrestore)"
- install -Dm755 $builddir/bin/vmbackup $subpkgdir/usr/bin/vmbackup
- install -Dm755 $builddir/bin/vmrestore $subpkgdir/usr/bin/vmrestore
-}
-
-sha512sums="
-67f3b9fc09f931081ed09c045e23c9adc43d9c23c809e44db7fa65a9c734fb61819799f5624add4f9bff3230645402886d54dca1b7ed0eb1a381cc1d945a4d60 victoria-metrics-1.71.0.tar.gz
-6e6fee6240abf9aab9a6c6174bf44394cd09c6e0c5b2743bef520ee6660f48f209e8f2f12c79b4d8546f2d1468d90409dac9c2b693218bede516a0f715c64c48 victoria-metrics.initd
-0b5150faf35695f61255e957757c560bf92f0c75317a61a900a6a179e18d918ed5bd7d1405053f10fd93c64ae0e873ab0855044abcab9883bbe3d32ba1079041 victoria-metrics.confd
-65655dad3ed88f38f1efe1a11700534ab9701416d5f66c77b89b831e84c945219b748092c50e30ac936f6f80ad807673cc55eb7c553220a7eb9c9ee304ee5ea8 tests-skip-sinh.patch
-"
diff --git a/testing/victoria-metrics/tests-skip-sinh.patch b/testing/victoria-metrics/tests-skip-sinh.patch
deleted file mode 100644
index 24d3339200e..00000000000
--- a/testing/victoria-metrics/tests-skip-sinh.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/app/vmselect/promql/exec_test.go b/app/vmselect/promql/exec_test.go
-index 1c033b9..38923c7 100644
---- a/app/vmselect/promql/exec_test.go
-+++ b/app/vmselect/promql/exec_test.go
-@@ -1041,6 +1041,7 @@ func TestExecSuccess(t *testing.T) {
- })
- t.Run("sinh()", func(t *testing.T) {
- t.Parallel()
-+ t.Skip("Rounding issues")
- q := `sinh(pi()*(2000-time())/1000)`
- r := netstorage.Result{
- MetricName: metricNameExpected,
diff --git a/testing/victoria-metrics/victoria-metrics.confd b/testing/victoria-metrics/victoria-metrics.confd
deleted file mode 100644
index e830a4575ef..00000000000
--- a/testing/victoria-metrics/victoria-metrics.confd
+++ /dev/null
@@ -1,18 +0,0 @@
-# Home variable is used by init.d script to precreate db dir with correct user.
-# Unset if you want to manage it manually.
-victoriametrics_home=/var/lib/victoria-metrics
-
-# Daemon options. See "victoria-metrics -help" for list.
-#
-# Using mmap in go can stall goroutines. VM includes workaround that depends on cgo,
-# but alpine package is built without cgo. Disabling mmap may yield better performance.
-# See: https://github.com/VictoriaMetrics/VictoriaMetrics/blob/baedb25936669179fa726639e267a52d8cdfedc2/lib/fs/copy_mmap_nocgo.go#L7
-victoriametrics_opts="-storageDataPath $victoriametrics_home -httpListenAddr 127.0.0.1:8428 -fs.disableMmap"
-
-# Uncomment both lines if you want logs to go to syslog
-#error_logger="logger -t $RC_SVCNAME"
-#rc_need=logger
-
-# Depending on workload daemon may take some time to stop.
-# Uncomment variable below to increase stop wait time (value is in seconds).
-#retry=10
diff --git a/testing/victoria-metrics/victoria-metrics.initd b/testing/victoria-metrics/victoria-metrics.initd
deleted file mode 100644
index 080f5b15a4c..00000000000
--- a/testing/victoria-metrics/victoria-metrics.initd
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/sbin/openrc-run
-
-name="Victoria Metrics"
-description="Fast, cost-effective and scalable time series database"
-
-command="/usr/bin/victoria-metrics"
-command_args="$victoriametrics_opts"
-command_user=victoriametrics:victoriametrics
-command_background=yes
-pidfile="/run/$RC_SVCNAME.pid"
-
-depend() {
- need net
- after firewall
-}
-
-start_pre() {
- if [ -n "$victoriametrics_home" ]; then
- checkpath -d -o $command_user -m755 "$victoriametrics_home"
- fi
-}
diff --git a/testing/victoria-metrics/victoria-metrics.pre-install b/testing/victoria-metrics/victoria-metrics.pre-install
deleted file mode 100644
index 183c53eea88..00000000000
--- a/testing/victoria-metrics/victoria-metrics.pre-install
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-name=victoriametrics
-
-addgroup -S "$name" 2>/dev/null
-adduser -S -D -H -h /var/lib/victoria-metrics -s /sbin/nologin -G $name -g $name $name 2>/dev/null
-
-exit 0
diff --git a/testing/vidcutter/APKBUILD b/testing/vidcutter/APKBUILD
index 9acae0cbf23..1c8fac60af5 100644
--- a/testing/vidcutter/APKBUILD
+++ b/testing/vidcutter/APKBUILD
@@ -2,15 +2,24 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=vidcutter
pkgver=6.0.5.1
-pkgrel=1
+pkgrel=5
pkgdesc="A modern, simple to use, constantly evolving and hella fast MEDIA CUTTER"
url="https://vidcutter.ozmartians.com"
arch="all !armhf" # Blocked by py3-qt5 -> qt5-qtdeclarative
license="GPL-3.0-or-later"
depends="python3 ffmpeg mediainfo py3-qt5 py3-opengl"
-subpackages="$pkgname-doc"
-makedepends="mpv-dev python3-dev py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ozmartian/vidcutter/archive/$pkgver.tar.gz"
+subpackages="$pkgname-doc $pkgname-pyc"
+makedepends="cython mpv-dev python3-dev py3-setuptools"
+source="$pkgname-$pkgver.tar.gz::https://github.com/ozmartian/vidcutter/archive/$pkgver.tar.gz
+ pyqt5-5.15.8.patch
+ $pkgname-libmpv2-1.patch::https://github.com/ozmartian/vidcutter/commit/1d88825feb5a73a50d019914ba9d0008562a58ce.patch
+ "
+
+prepare() {
+ default_prepare
+
+ rm vidcutter/libs/pympv/mpv.c
+}
build() {
python3 setup.py build
@@ -21,9 +30,11 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 setup.py install --skip-build --root="$pkgdir"
}
sha512sums="
f2ea2a86d9eaa3c6593e785daad6869c151baa1add529c9edaf2282f7acad762fbb29804790aece5e4fcd89e9e9bc77f61d1f0b68a1b1f3ecf58951ee8f200e9 vidcutter-6.0.5.1.tar.gz
+b87193045ba826a1ce29d4c32f5c7da6e791117c66ba32bc6740a08f09f28cdbeec597215121ccc7b9958f81bf299a0fa14e3f8c8200a8e355e08f948601b95f pyqt5-5.15.8.patch
+063908bf939c03952d623cc0ae7ea301d4605660a548e3088f6c901f3d98cf13a5e49180414c8a1c05931d9c4ca2a251858951676632768ff30954a6df7a4e4a vidcutter-libmpv2-1.patch
"
diff --git a/testing/vidcutter/pyqt5-5.15.8.patch b/testing/vidcutter/pyqt5-5.15.8.patch
new file mode 100644
index 00000000000..5f2251de35c
--- /dev/null
+++ b/testing/vidcutter/pyqt5-5.15.8.patch
@@ -0,0 +1,17 @@
+diff --git a/vidcutter/about.py b/vidcutter/about.py
+index 4c8ea44..102f8b3 100644
+--- a/vidcutter/about.py
++++ b/vidcutter/about.py
+@@ -26,7 +26,11 @@ import logging
+ import sys
+ from datetime import datetime
+
+-from PyQt5.Qt import PYQT_VERSION_STR
++# import changed in PyQt 5.15.8, so try both
++try:
++ from PyQt5.Qt import PYQT_VERSION_STR
++except ImportError:
++ from PyQt5.QtCore import PYQT_VERSION_STR
+ from PyQt5.QtCore import QFile, QObject, QSize, QTextStream, Qt
+ from PyQt5.QtGui import QPixmap
+ from PyQt5.QtWidgets import (QDialog, QDialogButtonBox, QHBoxLayout, QLabel, QScrollArea, QSizePolicy, QStyleFactory,
diff --git a/testing/video-trimmer/APKBUILD b/testing/video-trimmer/APKBUILD
new file mode 100644
index 00000000000..9d9630cb202
--- /dev/null
+++ b/testing/video-trimmer/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=video-trimmer
+pkgver=0.8.2
+pkgrel=0
+pkgdesc="Trim videos quickly"
+url="https://gitlab.gnome.org/YaLTeR/video-trimmer"
+# s390x, riscv64: blocked by blueprint-compiler
+arch="all !s390x !riscv64"
+license="GPL-3.0-or-later"
+depends="gst-libav"
+makedepends="
+ blueprint-compiler
+ cargo
+ desktop-file-utils
+ gtk4.0-dev
+ libadwaita-dev
+ meson
+ "
+subpackages="$pkgname-lang"
+source="https://gitlab.gnome.org/YaLTeR/video-trimmer/-/archive/v$pkgver/video-trimmer-v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+4d46842b9c846b5724b7e685b2eebfc8877d97c96849d931270affa27ee0dc1f69b72a34e44dcb68d6179f4fe3a8cee49b0f872ddcc3da5f02717daec8c993f3 video-trimmer-v0.8.2.tar.gz
+"
diff --git a/testing/viewnior/APKBUILD b/testing/viewnior/APKBUILD
index 7aef482dcd0..d5e6d8a9d04 100644
--- a/testing/viewnior/APKBUILD
+++ b/testing/viewnior/APKBUILD
@@ -1,25 +1,36 @@
# Contributor: August Klein <amatcoder@gmail.com>
# Maintainer: August Klein <amatcoder@gmail.com>
pkgname=viewnior
-_pkgname=Viewnior
-pkgver=1.7
-pkgrel=3
-pkgdesc="A fast and simple image viewer"
+pkgver=1.8
+pkgrel=1
+pkgdesc="Fast and simple image viewer"
url="http://siyanpanayotov.com/project/viewnior"
arch="all"
license="GPL-3.0-or-later"
-makedepends="gnome-common meson ninja gtk+2.0-dev exiv2-dev desktop-file-utils"
+makedepends="
+ desktop-file-utils
+ exiv2-dev
+ gtk+2.0-dev
+ meson
+ "
subpackages="$pkgname-lang $pkgname-doc"
-source="https://github.com/hellosiyan/$_pkgname/archive/$pkgname-$pkgver.tar.gz"
-builddir="$srcdir"/$_pkgname-$pkgname-$pkgver
+source="https://github.com/hellosiyan/Viewnior/archive/viewnior-$pkgver.tar.gz
+ exiv2-0.28.patch
+ "
+builddir="$srcdir"/Viewnior-$pkgname-$pkgver
build() {
- abuild-meson builddir
- meson compile ${JOBS:+-j ${JOBS}} -C builddir
+ abuild-meson \
+ -Db_lto=true \
+ . output
+ meson compile -C output
}
package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C builddir
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-sha512sums="5ba17d7b5ceeffa65b04213f179c1439b09ac44e412e0750dde159b118a714f28d3a290509a402b234e4e7ba5b185fc73eef65d418598f344911e4e2c1373fe5 viewnior-1.7.tar.gz"
+sha512sums="
+0f9698801172ef6b8f5df4132526b2e605e9aa9fd69cf41a091a3623de9b2e84ca857e625aaa9e83f29df318f70a13fb458bac0df11ae46837b78ef257a00bee viewnior-1.8.tar.gz
+d1d83b1e0ef909f141e2e61fabdf11e9db6fb22caf61fb6ed0c002aac141750dd0a6f3c84df9a9354f473a80e816283fb24938c7cf9ff97fbdfc4be26aa843ff exiv2-0.28.patch
+"
diff --git a/testing/viewnior/exiv2-0.28.patch b/testing/viewnior/exiv2-0.28.patch
new file mode 100644
index 00000000000..71459dee157
--- /dev/null
+++ b/testing/viewnior/exiv2-0.28.patch
@@ -0,0 +1,147 @@
+Patch-Source: https://gitlab.archlinux.org/archlinux/packaging/packages/viewnior/-/blob/f206ce6c22a3ec5f1f9ea1bde4077584f80458dd/exiv2-0.28.patch
+--
+From b6bb81a1b46e911d15bbf9a730972523de177705 Mon Sep 17 00:00:00 2001
+From: tastytea <tastytea@tastytea.de>
+Date: Tue, 16 May 2023 10:54:40 +0200
+Subject: [PATCH 1/2] change exiv2 AutoPtr to unique_ptr
+
+exiv2-0.28.0 removed Exiv2::Image::AutoPtr and added
+Exiv2::Image::UniquePtr instead. since it's a typedef for
+std::unique_ptr<Image>, i'm using that directly instead of adding a
+condition on the exiv2 version.
+---
+ src/uni-exiv2.cpp | 21 +++++++++++----------
+ 1 file changed, 11 insertions(+), 10 deletions(-)
+
+diff --git a/src/uni-exiv2.cpp b/src/uni-exiv2.cpp
+index 0d14b9f..77064c2 100644
+--- a/src/uni-exiv2.cpp
++++ b/src/uni-exiv2.cpp
+@@ -22,12 +22,13 @@
+
+ #include <exiv2/exiv2.hpp>
+ #include <iostream>
++#include <memory>
+
+ #include "uni-exiv2.hpp"
+
+ #define ARRAY_SIZE(array) (sizeof array/sizeof(array[0]))
+
+-static Exiv2::Image::AutoPtr cached_image;
++static std::unique_ptr<Exiv2::Image> cached_image;
+
+ extern "C"
+ void
+@@ -35,8 +36,8 @@ uni_read_exiv2_map(const char *uri, void (*callback)(const char*, const char*, v
+ {
+ Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute);
+ try {
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri);
+- if ( image.get() == 0 ) {
++ std::unique_ptr<Exiv2::Image> image = Exiv2::ImageFactory::open(uri);
++ if (image == nullptr) {
+ return;
+ }
+
+@@ -91,14 +92,14 @@ uni_read_exiv2_to_cache(const char *uri)
+ {
+ Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute);
+
+- if ( cached_image.get() != NULL ) {
++ if (cached_image != nullptr) {
+ cached_image->clearMetadata();
+- cached_image.reset(NULL);
++ cached_image.reset(nullptr);
+ }
+
+ try {
+ cached_image = Exiv2::ImageFactory::open(uri);
+- if ( cached_image.get() == 0 ) {
++ if (cached_image == nullptr) {
+ return 1;
+ }
+
+@@ -116,13 +117,13 @@ uni_write_exiv2_from_cache(const char *uri)
+ {
+ Exiv2::LogMsg::setLevel(Exiv2::LogMsg::mute);
+
+- if ( cached_image.get() == NULL ) {
++ if (cached_image == nullptr) {
+ return 1;
+ }
+
+ try {
+- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(uri);
+- if ( image.get() == 0 ) {
++ std::unique_ptr<Exiv2::Image> image = Exiv2::ImageFactory::open(uri);
++ if (image == nullptr) {
+ return 2;
+ }
+
+@@ -130,7 +131,7 @@ uni_write_exiv2_from_cache(const char *uri)
+ image->writeMetadata();
+
+ cached_image->clearMetadata();
+- cached_image.reset(NULL);
++ cached_image.reset(nullptr);
+
+ return 0;
+ } catch (Exiv2::AnyError& e) {
+
+From 47d0b98cb46526aa8aa035bebcabc14a11fa57ee Mon Sep 17 00:00:00 2001
+From: tastytea <tastytea@tastytea.de>
+Date: Tue, 16 May 2023 11:17:00 +0200
+Subject: [PATCH 2/2] add support for exiv-0.28.0 errors
+
+exiv2-0.28.0 changed Exiv2::AnyError to Exiv2::Error.
+---
+ src/uni-exiv2.cpp | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/src/uni-exiv2.cpp b/src/uni-exiv2.cpp
+index 77064c2..567a50f 100644
+--- a/src/uni-exiv2.cpp
++++ b/src/uni-exiv2.cpp
+@@ -28,6 +28,15 @@
+
+ #define ARRAY_SIZE(array) (sizeof array/sizeof(array[0]))
+
++#define EXIV_ERROR Exiv2::AnyError
++#ifdef EXIV2_VERSION
++ #ifdef EXIV2_TEST_VERSION
++ #if EXIV2_TEST_VERSION(0,28,0)
++ #define EXIV_ERROR Exiv2::Error
++ #endif
++ #endif
++#endif
++
+ static std::unique_ptr<Exiv2::Image> cached_image;
+
+ extern "C"
+@@ -81,7 +90,7 @@ uni_read_exiv2_map(const char *uri, void (*callback)(const char*, const char*, v
+ }
+ }
+ }
+- } catch (Exiv2::AnyError& e) {
++ } catch (EXIV_ERROR& e) {
+ std::cerr << "Exiv2: '" << e << "'\n";
+ }
+ }
+@@ -104,7 +113,7 @@ uni_read_exiv2_to_cache(const char *uri)
+ }
+
+ cached_image->readMetadata();
+- } catch (Exiv2::AnyError& e) {
++ } catch (EXIV_ERROR& e) {
+ std::cerr << "Exiv2: '" << e << "'\n";
+ }
+
+@@ -134,7 +143,7 @@ uni_write_exiv2_from_cache(const char *uri)
+ cached_image.reset(nullptr);
+
+ return 0;
+- } catch (Exiv2::AnyError& e) {
++ } catch (EXIV_ERROR& e) {
+ std::cerr << "Exiv2: '" << e << "'\n";
+ }
+
diff --git a/testing/vile/APKBUILD b/testing/vile/APKBUILD
new file mode 100644
index 00000000000..1ddb38e3522
--- /dev/null
+++ b/testing/vile/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Vlad Glagolev <scm@vaygr.net>
+# Maintainer: Vlad Glagolev <scm@vaygr.net>
+pkgname=vile
+pkgver=9.8z
+pkgrel=0
+pkgdesc="vi-like Emacs"
+url="https://invisible-island.net/vile/"
+arch="all"
+license="GPL-2.0-only"
+makedepends="flex ncurses-dev"
+subpackages="$pkgname-doc"
+source="https://invisible-island.net/archives/vile/current/vile-$pkgver.tgz"
+
+build() {
+ CFLAGS="$CFLAGS -D_GNU_SOURCE" \
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --disable-stripping \
+ --enable-filters \
+ --enable-plugins \
+ --with-ncurses \
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
+}
+
+sha512sums="
+f5ff6f3d239f993d7b060e89650567e1c622cec1a024901e29d15cd9a588e8603097e12087d54e88beca91a3a7cd7328a541bac62889368da6636f143d6380ff vile-9.8z.tgz
+"
diff --git a/testing/vim-go/APKBUILD b/testing/vim-go/APKBUILD
deleted file mode 100644
index 32e3627b5d4..00000000000
--- a/testing/vim-go/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=vim-go
-pkgver=1.25
-pkgrel=2
-pkgdesc="Go development plugin for Vim"
-url="https://github.com/fatih/vim-go"
-license="BSD-3-Clause"
-arch="noarch"
-depends="vim go gopls git"
-source="$pkgname-$pkgver.tar.gz::https://github.com/fatih/vim-go/archive/v$pkgver.tar.gz"
-options="!check" # there are no tests
-
-package() {
- local destdir="$pkgdir/usr/share/vim/vimfiles"
- mkdir -p "$destdir"
- cp -ar \
- autoload \
- compiler \
- doc \
- ftdetect \
- ftplugin \
- gosnippets \
- indent \
- plugin \
- rplugin \
- syntax \
- templates \
- "$destdir"
- install -D LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
- find "$destdir" -name '.git*' -delete
-}
-
-sha512sums="42263050893c9ab939346d5572b67e86e3ef3095ab0164ce7932bcf8702703bddffe621e6a658fd772af0e20a9ed06906d9f6b7db4a1cbfb1095e948d5883f56 vim-go-1.25.tar.gz"
diff --git a/testing/vim-rust/APKBUILD b/testing/vim-rust/APKBUILD
index b1090a8317c..7e6efc09cc6 100644
--- a/testing/vim-rust/APKBUILD
+++ b/testing/vim-rust/APKBUILD
@@ -15,7 +15,6 @@ install=""
subpackages=""
source="https://github.com/rust-lang/rust.vim/archive/$_commit.zip"
-
builddir="$srcdir"/rust.vim-$_commit
build() {
:
diff --git a/testing/vimiv-qt/APKBUILD b/testing/vimiv-qt/APKBUILD
deleted file mode 100644
index 582d8b02689..00000000000
--- a/testing/vimiv-qt/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=vimiv-qt
-pkgver=0.8.0
-pkgrel=2
-pkgdesc="an image viewer with vim-like keybindings"
-url="https://github.com/karlch/vimiv-qt"
-arch="all !armhf" # armhf blocked by py3-qt5 (qt5-qtdeclarative)
-license="GPL-3.0-only"
-depends="python3 py3-qt5"
-makedepends="python3-dev py3-setuptools"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/karlch/vimiv-qt/archive/v$pkgver.tar.gz"
-options="!check" # Not working yet.
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- make -f misc/Makefile DESTDIR="$pkgdir" install
-}
-
-sha512sums="91f4cc151904d4b3aa1919006eabce03840ac633f48012c1500bf606e5332c5d7b4647d8c8581f16958e43b1e435a0a7749bb9ac7735920c23ae17718898bac9 vimiv-qt-0.8.0.tar.gz"
diff --git a/testing/vimiv/APKBUILD b/testing/vimiv/APKBUILD
deleted file mode 100644
index 2b1f6d8233f..00000000000
--- a/testing/vimiv/APKBUILD
+++ /dev/null
@@ -1,30 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=vimiv
-pkgver=0.9.1
-pkgrel=3
-pkgdesc="an image viewer with vim-like keybindings"
-url="https://github.com/karlch/vimiv-qt"
-arch="all"
-license="GPL-3.0-only"
-depends="python3 py3-gobject3 gtk+3.0 py3-pillow"
-makedepends="python3-dev py3-setuptools"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/karlch/vimiv/archive/v$pkgver.tar.gz
- fix-appdata.patch::https://github.com/karlch/vimiv/pull/87.patch
- "
-
-build() {
- python3 setup.py build
-}
-
-check() {
- python3 setup.py test
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="b500e5b54450238b6471c1ea0c0831dc6b16238a99b9fcb531bc93bd0aa0b92fa192cbf2dd29f1679856f840dd6f6e4d27971403c85b71b6f333c525b77d9e69 vimiv-0.9.1.tar.gz
-faa13ca3dcb0ad0258369bdd32d094cf72f6b26d46d2605fae9931688b2fa9307e942565eb9be317f6ee6faf693aabf9e0ec4c4f1bdf6672e231c7a02ddb50d7 fix-appdata.patch"
diff --git a/testing/vinegar/APKBUILD b/testing/vinegar/APKBUILD
new file mode 100644
index 00000000000..50e7481883d
--- /dev/null
+++ b/testing/vinegar/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=vinegar
+pkgver=1.7.4
+pkgrel=2
+pkgdesc="An open-source, minimal, configurable, fast bootstrapper for running Roblox on Linux"
+url="https://vinegarhq.org"
+arch="x86_64" # Roblox only has binaries for x86_64 on windows
+license="GPL-3.0-only"
+depends="cmd:wine"
+makedepends="
+ go
+ make
+ mesa-dev
+ libxkbcommon-dev
+ libxcursor-dev
+ wayland-dev
+ vulkan-loader-dev
+ vulkan-validation-layers-dev
+"
+source="$pkgname-$pkgver.tar.gz::https://github.com/vinegarhq/vinegar/archive/refs/tags/v$pkgver.tar.gz"
+options="net"
+
+build() {
+ make
+}
+
+check() {
+ make tests
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+1f9130b91fcf1353b56da8cf5d1c7716ae5c611df940e413ae8d075f26f516fbfdcd92c047fc32f92fe9cc718a5018f3948c0dafdb37067aa4cdd0840ec75ed9 vinegar-1.7.4.tar.gz
+"
diff --git a/testing/virtctl/APKBUILD b/testing/virtctl/APKBUILD
new file mode 100644
index 00000000000..a1f3947acb3
--- /dev/null
+++ b/testing/virtctl/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=virtctl
+pkgver=1.1.1
+pkgrel=2
+pkgdesc="CLI client for KubeVirt - the Kubernetes Virtualization API"
+url="https://kubevirt.io/"
+arch="all"
+license="Apache-2.0"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/kubevirt/kubevirt/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/kubevirt-$pkgver"
+
+_goldflags="
+-X kubevirt.io/client-go/version.gitVersion=v$pkgver
+-X kubevirt.io/client-go/version.gitCommit=AlpineLinux
+-X kubevirt.io/client-go/version.gitTreeState=clean
+-X kubevirt.io/client-go/version.buildDate=0
+"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v -ldflags "$_goldflags" ./cmd/virtctl/virtctl.go
+
+ for shell in bash fish zsh; do
+ ./$pkgname completion $shell > $pkgname.$shell
+ done
+}
+
+check() {
+ # Only run unittest for virtctl
+ go test -ldflags "$_goldflags" ./pkg/virtctl/...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 $pkgname.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 $pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 $pkgname.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+ad74d916784ae06ff1395700d5d2d600348f06bc2e236d1614a57dc16ae339b480190a67bb65f943a64e4ceafd7b34e3ec6fe6622fa138ae2b78ab9c3228fc9a virtctl-1.1.1.tar.gz
+"
diff --git a/testing/virter/APKBUILD b/testing/virter/APKBUILD
new file mode 100644
index 00000000000..c2ffd90aff6
--- /dev/null
+++ b/testing/virter/APKBUILD
@@ -0,0 +1,58 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=virter
+pkgver=0.26.0
+pkgrel=3
+pkgdesc="CLI tool for simple creation and cloning of libvirt virtual machines"
+url="https://github.com/LINBIT/virter"
+arch="all"
+license="Apache-2.0"
+depends="libvirt dnsmasq-utils"
+makedepends="go"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/LINBIT/virter/archive/refs/tags/v$pkgver.tar.gz
+ update-mockery.patch
+ "
+
+build() {
+ local _goldflags="
+ -X github.com/LINBIT/virter/cmd.version=v$pkgver
+ -X github.com/LINBIT/virter/cmd.builddate=$(date -u "+%Y-%m-%dT%H:%M:%S%z" ${SOURCE_DATE_EPOCH:+-d @$SOURCE_DATE_EPOCH})
+ -X github.com/LINBIT/virter/cmd.githash=AlpineLinux
+ "
+ go build -v -ldflags "$_goldflags"
+
+ for shell in bash fish zsh; do
+ ./virter completion $shell > virter.$shell
+ done
+}
+
+check() {
+ # Create mock files with mockery
+ go generate internal/virter/virter_test.go
+
+ go test ./...
+}
+
+package() {
+ install -Dm755 virter -t "$pkgdir"/usr/bin/
+
+ install -Dm644 doc/*.md -t "$pkgdir"/usr/share/doc/"$pkgname"/
+ cp -r examples "$pkgdir"/usr/share/doc/"$pkgname"/
+
+ install -Dm644 virter.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/virter
+ install -Dm644 virter.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/virter.fish
+ install -Dm644 virter.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_virter
+}
+
+sha512sums="
+c06885759beb9c8cb3310b070afb378413ec205ab1d503a08958b38f18d69789d4735a02528e329e823c250afde9e94a77ef4dc3297e315ad8aebafbf762e799 virter-0.26.0.tar.gz
+8e383f190f0f9489e328257cb974d50be9b1f2cf862f2454beb89866ebb79c4745a08850b964ad5da7bac0c39059fdc643fcc8ce58c6af7b1216112fbb50582b update-mockery.patch
+"
diff --git a/testing/virter/update-mockery.patch b/testing/virter/update-mockery.patch
new file mode 100644
index 00000000000..3596e300df4
--- /dev/null
+++ b/testing/virter/update-mockery.patch
@@ -0,0 +1,19 @@
+Update to latest for Go 1.22 compatibility
+
+--- a/internal/virter/virter_test.go
++++ b/internal/virter/virter_test.go
+@@ -7,10 +7,10 @@
+ "github.com/LINBIT/virter/internal/virter/mocks"
+ )
+
+-//go:generate go run github.com/vektra/mockery/v2@v2.38.0 --name=ShellClient
+-//go:generate go run github.com/vektra/mockery/v2@v2.38.0 --name=AfterNotifier
+-//go:generate go run github.com/vektra/mockery/v2@v2.38.0 --name=NetworkCopier --dir=../../pkg/netcopy
+-//go:generate go run github.com/vektra/mockery/v2@v2.38.0 --name=KeyStore --dir=../../pkg/sshkeys
++//go:generate go run github.com/vektra/mockery/v2@v2.42.1 --name=ShellClient
++//go:generate go run github.com/vektra/mockery/v2@v2.42.1 --name=AfterNotifier
++//go:generate go run github.com/vektra/mockery/v2@v2.42.1 --name=NetworkCopier --dir=../../pkg/netcopy
++//go:generate go run github.com/vektra/mockery/v2@v2.42.1 --name=KeyStore --dir=../../pkg/sshkeys
+
+ const poolName = "some-pool"
+ const networkName = "some-network"
diff --git a/testing/virtme-ng/APKBUILD b/testing/virtme-ng/APKBUILD
new file mode 100644
index 00000000000..1d032416575
--- /dev/null
+++ b/testing/virtme-ng/APKBUILD
@@ -0,0 +1,22 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=virtme-ng
+pkgver=1.23
+pkgrel=1
+pkgdesc="tool that allows to easily and quickly recompile and test a Linux kernel"
+url="https://github.com/arighi/virtme-ng"
+arch="all"
+license="GPL-2-or-later"
+depends="qemu python3"
+makedepends="py3-setuptools py3-argcomplete"
+options="!check" # no tests
+subpackages="$pkgname-bash-completion"
+source="$pkgname-$pkgver.tar.gz::https://github.com/arighi/virtme-ng/archive/refs/tags/v$pkgver.tar.gz"
+
+package() {
+ python setup.py install --root="$pkgdir/" --optimize=1
+}
+
+sha512sums="
+44e516c42e2fea074d2b7d81bdf9bf628d37531f388b17a38e2c025e2198b3625dcdd0092c8abbba07a610e5856af55eb8c7aea7dcbf90a8dce7a1e3063b4880 virtme-ng-1.23.tar.gz
+"
diff --git a/testing/virtualgl/APKBUILD b/testing/virtualgl/APKBUILD
index 710f6b39a1e..dac70db39a0 100644
--- a/testing/virtualgl/APKBUILD
+++ b/testing/virtualgl/APKBUILD
@@ -1,39 +1,54 @@
# Contributor: ScrumpyJack <scrumpyjack@st.ilet.to>
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
pkgname=virtualgl
-_pkgname=VirtualGL
-pkgver=2.6.5
+pkgver=3.1
pkgrel=0
-pkgdesc="VirtualGL is a toolkit to run remote OpenGL applications with full 3D hardware acceleration."
+pkgdesc="Toolkit to run remote OpenGL applications with full 3D hardware acceleration"
url="https://virtualgl.org/"
arch="x86_64 ppc64le"
license="LGPL-2.1-or-later"
-makedepends="mesa-dev cmake openssl-dev libjpeg-turbo-dev libx11-dev glu-dev libxv-dev
- xcb-util-keysyms-dev libxtst-dev"
+makedepends="
+ cmake
+ fltk-dev
+ glu-dev
+ libjpeg-turbo-dev
+ libx11-dev
+ libxtst-dev
+ libxv-dev
+ mesa-dev
+ opencl-dev
+ openssl-dev
+ samurai
+ xcb-util-keysyms-dev
+ "
subpackages="$pkgname-dev $pkgname-doc"
-source="https://downloads.sourceforge.net/project/virtualgl/$pkgver/$_pkgname-$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
+source="https://downloads.sourceforge.net/project/virtualgl/$pkgver/VirtualGL-$pkgver.tar.gz
+ install.patch
+ "
+builddir="$srcdir/VirtualGL-$pkgver"
build() {
- mkdir -p build && cd build
-
- cmake .. \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/$pkgname \
- -DCMAKE_INSTALL_LIBDIR=/usr/lib \
- -DCMAKE_INSTALL_BINDIR=/usr/bin \
- -DTJPEG_INCLUDE_DIR=/usr/include \
- -DTJPEG_LIBRARY=/usr/lib/libturbojpeg.so \
- -DOPENGL_glu_LIBRARY=/usr/lib/libGLU.so \
- -DVGL_USESSL=1 \
- -DVGL_FAKEXCB=1 \
- -DVGL_FAKEOPENCL=0
- make
+ -DVGL_FAKEXCB=ON \
+ -DVGL_FAKEOPENCL=ON \
+ -DVGL_SYSTEMFLTK=ON
+ cmake --build build
}
package() {
- cd "$builddir/build"
- make DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
+ # conflicts with mesa-utils
+ mv "$pkgdir"/usr/bin/eglinfo "$pkgdir"/usr/bin/virtualgl-eglinfo
+ mv "$pkgdir"/usr/bin/glxinfo "$pkgdir"/usr/bin/virtualgl-glxinfo
+
+ # not required
+ rm "$pkgdir"/usr/bin/.vglrun.vars64
}
-sha512sums="0ab9e744e400d323bc16f6e2cf310905361745ea4da9e9e9a41cbeb45b1d661eebd38a0fad8ae5df4664d02b341de44c5730af8437e6ef49c7351b4afb953532 VirtualGL-2.6.5.tar.gz"
+sha512sums="
+cd1109b4dee426918e61348b22b3bfb0c45102bbb0bcde9b78c36b607a396bbff7d7c72cf3bf9626128da0f1776c42bbb59be863239e60e0f7307d2a73de463b VirtualGL-3.1.tar.gz
+3ccd2133d303c10f1447d24ab09c414e59039afe04744964b0dfa1371cf04b32292d46b2436e0feb88774e4d156762e0804bfd9dcd410607419f9754704af4db install.patch
+"
diff --git a/testing/virtualgl/install.patch b/testing/virtualgl/install.patch
new file mode 100644
index 00000000000..812a22bd054
--- /dev/null
+++ b/testing/virtualgl/install.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 25f1f00..7dab863 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -8,6 +8,8 @@ if(POLICY CMP0053)
+ cmake_policy(SET CMP0053 NEW)
+ endif()
+
++include(GNUInstallDirs)
++
+ if(WIN32)
+ project(VirtualGL-Utils)
+ else()
diff --git a/testing/visidata/APKBUILD b/testing/visidata/APKBUILD
new file mode 100644
index 00000000000..ae888f44c33
--- /dev/null
+++ b/testing/visidata/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=visidata
+pkgver=2.11.1
+pkgrel=2
+pkgdesc="Terminal spreadsheet multitool"
+url="https://visidata.org"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="python3 py3-appdirs py3-setuptools py3-dateutil"
+makedepends="py3-gpep517 py3-installer py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-doc $pkgname-zsh-completion $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/saulpw/visidata/archive/v$pkgver.tar.gz
+ devendor-appdirs.patch
+ sh-default.patch
+ use-importlib.patch
+ "
+
+build() {
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
+
+ ./dev/zsh-completion.py
+}
+
+check() {
+ pytest
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+
+ install -Dm644 _visidata \
+ -t "$pkgdir"/usr/share/zsh/site-functions/
+}
+
+sha512sums="
+01905795ae6216e3cf662b43732394c68b43ffc8a4dc40da8552ebefaba4535fa3937aec1825cb108267dd83ab1b6a1072d1e698d416eae883dba915ca40b332 visidata-2.11.1.tar.gz
+506e62c230b166a22d5d73e539303ed12f4915685ee522a030b49fbd23685accd4ae0958f6dd90f921d4be740371036c91107d424b69acde45be12a922c42dad devendor-appdirs.patch
+44aa8c6ccba8f5e37e316a7891557ab7b895d907f72dcaba53cb3e143c31681b607831fa5cf2fbc255716215e75677ec8a476dfe91c600c437ca8b2017ff340e sh-default.patch
+f021d2f621e468b83e5284225ec715cfabb86c5a5050bf945aa8147d2d995862b7f03038c778f9ba6636463cd77b4d76ce7f5af01aab796a190f86a53b55395b use-importlib.patch
+"
diff --git a/testing/visidata/devendor-appdirs.patch b/testing/visidata/devendor-appdirs.patch
new file mode 100644
index 00000000000..fff01790fad
--- /dev/null
+++ b/testing/visidata/devendor-appdirs.patch
@@ -0,0 +1,26 @@
+diff --git a/setup.py b/setup.py
+index 68a7101..487cd0c 100755
+--- a/setup.py
++++ b/setup.py
+@@ -26,7 +26,7 @@ setup(name='visidata',
+ 'windows-curses; platform_system == "Windows"',
+ 'importlib-metadata >= 3.6',
+ ],
+- packages=['visidata', 'visidata.loaders', 'visidata.vendor', 'visidata.tests', 'visidata.ddw', 'visidata.man'],
++ packages=['visidata', 'visidata.loaders', 'visidata.ddw', 'visidata.man'],
+ data_files=[('share/man/man1', ['visidata/man/vd.1', 'visidata/man/visidata.1'])],
+ package_data={'visidata.man': ['vd.1', 'vd.txt'], 'visidata.ddw': ['input.ddw'], 'visidata.tests': ['sample.tsv']},
+ license='GPLv3',
+diff --git a/visidata/settings.py b/visidata/settings.py
+index 6db4157..b7b6e53 100644
+--- a/visidata/settings.py
++++ b/visidata/settings.py
+@@ -7,7 +7,7 @@ import os
+
+ import visidata
+ from visidata import VisiData, BaseSheet, vd, AttrDict
+-from visidata.vendor.appdirs import user_config_dir, user_cache_dir
++from appdirs import user_config_dir, user_cache_dir
+
+
+ # [settingname] -> { objname(Sheet-instance/Sheet-type/'global'/'default'): Option/Command/longname }
diff --git a/testing/visidata/sh-default.patch b/testing/visidata/sh-default.patch
new file mode 100644
index 00000000000..e534cfeeaa7
--- /dev/null
+++ b/testing/visidata/sh-default.patch
@@ -0,0 +1,13 @@
+diff --git a/visidata/shell.py b/visidata/shell.py
+index a05fe27..d6d1f62 100644
+--- a/visidata/shell.py
++++ b/visidata/shell.py
+@@ -67,7 +67,7 @@ class ColumnShell(Column):
+ else:
+ args.append(arg)
+
+- p = subprocess.Popen([os.getenv('SHELL', 'bash'), '-c', ' '.join(args)],
++ p = subprocess.Popen([os.getenv('SHELL', 'sh'), '-c', ' '.join(args)],
+ stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+ return p.communicate()
+ except Exception as e:
diff --git a/testing/visidata/use-importlib.patch b/testing/visidata/use-importlib.patch
new file mode 100644
index 00000000000..7ec0054e308
--- /dev/null
+++ b/testing/visidata/use-importlib.patch
@@ -0,0 +1,25 @@
+diff --git a/setup.py b/setup.py
+index 23eed1d4..e84ce823 100755
+--- a/setup.py
++++ b/setup.py
+@@ -24,7 +24,6 @@ setup(name='visidata',
+ install_requires=[
+ 'python-dateutil',
+ 'windows-curses; platform_system == "Windows"',
+- 'importlib-metadata >= 3.6',
+ ],
+ packages=['visidata', 'visidata.loaders', 'visidata.vendor', 'visidata.tests', 'visidata.ddw', 'visidata.man'],
+ data_files=[('share/man/man1', ['visidata/man/vd.1', 'visidata/man/visidata.1'])],
+diff --git a/visidata/settings.py b/visidata/settings.py
+index 1fc62df4..d9c44ad6 100644
+--- a/visidata/settings.py
++++ b/visidata/settings.py
+@@ -375,7 +375,7 @@ def loadConfigAndPlugins(vd, args=AttrDict()):
+ # autoload installed plugins first
+ args_plugins_autoload = args.plugins_autoload if 'plugins_autoload' in args else True
+ if not args.nothing and args_plugins_autoload and vd.options.plugins_autoload:
+- from importlib_metadata import entry_points # a backport which supports < 3.8 https://github.com/pypa/twine/pull/732
++ from importlib.metadata import entry_points
+ try:
+ eps = entry_points()
+ eps_visidata = eps.select(group='visidata.plugins') if 'visidata.plugins' in eps.groups else []
diff --git a/testing/visurf/APKBUILD b/testing/visurf/APKBUILD
index 166e10d9a76..bdbb9b8c5b9 100644
--- a/testing/visurf/APKBUILD
+++ b/testing/visurf/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Maxim Karasev <begs@disroot.org>
# Maintainer: Maxim Karasev <begs@disroot.org>
pkgname=visurf
-pkgver=0.0.0_git20211217
-_commit=06af14be928001c2499ec4f73db1dc9e41a33214
+pkgver=0.0.0_git20220301
+_commit=8f7036e440f47a37ec917b6856ba20cd747adceb
_netsurf=3.10
-_libcss=accad499aed29acb7bc8fb00bea3d9f2b7f43bd1
-pkgrel=0
+_libcss=f420dd16136de1dc07f18824c6d0f5540d5df6d1
+pkgrel=1
pkgdesc="power-user frontend for netsurf with vi-inspired keybindings"
url="https://sr.ht/~sircmpwn/visurf/"
arch="all"
@@ -13,7 +13,7 @@ license="MIT GPL-2.0-only"
makedepends="
flex bison gperf wayland-protocols expat-dev curl-dev wayland-dev
cairo-dev pango-dev libxkbcommon-dev libjpeg-turbo-dev libwebp-dev
- openssl1.1-compat-dev libpng-dev perl
+ openssl-dev>3 libpng-dev perl
"
options="!check" # no tests
source="
@@ -36,7 +36,7 @@ package() {
}
sha512sums="
-0ef498e60cde0593890b1eadab9ab62769348de6de28312f06cd9a1c4c7433a1a3bc48f7172539a9786d3d4b06cd8a7630916ebb4dfa06022ff78d520b366228 06af14be928001c2499ec4f73db1dc9e41a33214.tar.gz
+22f1b76449bc42c9be9705730f68cb5c4d642a17cbf04009d440b846403d872c361bf61d8e04c47c607576833232e62f9b2190f910df00276137e72044b831ea 8f7036e440f47a37ec917b6856ba20cd747adceb.tar.gz
fc4c300eef07c540a7e07f8034db25b7e5fb731b5956029af2220f8638802aa38c055ad54b5683c14501aef9c22fb781b96613c16ae9a6996c3833ceede6f9bf netsurf-all-3.10.tar.gz
-407072ef0a9ddb19a9cd1b7ef7cdf27a32efdbfad81135316b368c2128f8b2eda73baf13700a0c167cc94db5e751a74c506a3366c424272ce55691b99ca79b63 libcss-accad499aed29acb7bc8fb00bea3d9f2b7f43bd1.tar.gz
+26d9f3ba1aa26540351466ca3f998a9b5e2c4cc8c38cb3201d24f3e3b72683bb12e2ae180ed503cd4a153e9f34c5caccb9218e70056ac2a0d1e1faeb68807929 libcss-f420dd16136de1dc07f18824c6d0f5540d5df6d1.tar.gz
"
diff --git a/testing/vit/APKBUILD b/testing/vit/APKBUILD
new file mode 100644
index 00000000000..d96bd4d30c8
--- /dev/null
+++ b/testing/vit/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Edd Salkield <edd@salkield.uk>
+# Maintainer: Edd Salkield <edd@salkield.uk>
+pkgname=vit
+pkgver=2.3.2
+pkgrel=1
+pkgdesc="Lightweight, fast, curses-based front end to Taskwarrior"
+url="https://github.com/vit-project/vit"
+arch="noarch"
+license="MIT"
+depends="python3 py3-tasklib py3-urwid"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
+source="https://github.com/vit-project/vit/archive/v$pkgver/vit-v$pkgver.tar.gz"
+
+build() {
+ gpep517 build-wheel --wheel-dir .dist --output-fd 3 3>&1 >&2
+}
+
+check() {
+ export TERM=xterm-256color
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m unittest -v
+}
+
+package() {
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+}
+
+sha512sums="
+029311eb0ae67b8bd0b6e41715c85a1883d6d11218f45f7637e3f6f049c6eb022858adc3c72455c3bd1d9de39638926026b8849b9ed7e0b04406362fda836817 vit-v2.3.2.tar.gz
+"
diff --git a/testing/viu/APKBUILD b/testing/viu/APKBUILD
deleted file mode 100644
index 2c77316f466..00000000000
--- a/testing/viu/APKBUILD
+++ /dev/null
@@ -1,26 +0,0 @@
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=viu
-pkgver=1.3.0
-pkgrel=0
-pkgdesc="terminal image viewer"
-arch="all !s390x !mips64 !riscv64" # limited by cargo
-url="https://github.com/atanunq/viu"
-license="MIT"
-makedepends="cargo"
-source="$pkgname-$pkgver.tar.gz::https://github.com/atanunq/viu/archive/v$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- install -Dm0755 target/release/"$pkgname" -t "$pkgdir"/usr/bin
- install -Dm0644 README.md -t "$pkgdir"/usr/share/doc/"$pkgname"
- install -Dm0644 LICENSE-MIT -t "$pkgdir"/usr/share/licenses/"$pkgname"
-}
-
-sha512sums="cb22d2d629020cf2ca52fc9ac8fc0a053998bd08db7c4096ae497ba45ecdbf0103a89bb5bb909743de265d6b9e7c8c3211f68af2210d1d6d7e6af6de9fa88014 viu-1.3.0.tar.gz"
diff --git a/testing/vivid/APKBUILD b/testing/vivid/APKBUILD
new file mode 100644
index 00000000000..171f6daff44
--- /dev/null
+++ b/testing/vivid/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=vivid
+pkgver=0.9.0
+pkgrel=1
+pkgdesc="Themeable LS_COLORS generator with a rich filetype database"
+url="https://github.com/sharkdp/vivid"
+arch="all"
+license="Apache-2.0 AND MIT"
+makedepends="cargo cargo-auditable"
+source="$pkgname-$pkgver.tar.gz::https://github.com/sharkdp/vivid/archive/refs/tags/v$pkgver.tar.gz"
+
+export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/vivid -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+fa5be2fdde6c157f0827c457a9b4642a4830994f8adc196ee0cb98032726eec97c538caa430712334acbd6310ad6e47bb3bc8c2bbd6bc786dfde61b6b6906818 vivid-0.9.0.tar.gz
+"
diff --git a/testing/vixl/0001-vixl-Meson-support.patch b/testing/vixl/0001-vixl-Meson-support.patch
new file mode 100644
index 00000000000..50b61939c46
--- /dev/null
+++ b/testing/vixl/0001-vixl-Meson-support.patch
@@ -0,0 +1,814 @@
+diff --git a/doc/aarch32/meson.build b/doc/aarch32/meson.build
+new file mode 100644
+index 00000000..6baf8d57
+--- /dev/null
++++ b/doc/aarch32/meson.build
+@@ -0,0 +1,13 @@
++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
++#
++# SPDX-License-Identifier: BSD-3-Clause
++
++custom_target(
++ 'doc_aarch32',
++ command: [markdown, '@INPUT@'],
++ input: 'getting-started-aarch32.md',
++ output: '@BASENAME@.html',
++ capture: true,
++ install: true,
++ install_dir: doc_dir/'aarch32'
++)
+diff --git a/doc/aarch64/meson.build b/doc/aarch64/meson.build
+new file mode 100644
+index 00000000..d6fe068d
+--- /dev/null
++++ b/doc/aarch64/meson.build
+@@ -0,0 +1,22 @@
++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
++#
++# SPDX-License-Identifier: BSD-3-Clause
++
++doc_aarch64_files = [
++ 'getting-started-aarch64',
++ 'supported-instructions-aarch64'
++]
++
++foreach file : doc_aarch64_files
++ custom_target(
++ 'doc_aarch64_' + file,
++ command: [markdown, '@INPUT@'],
++ input: file + '.md',
++ output: file + '.html',
++ capture: true,
++ install: true,
++ install_dir: doc_dir/'aarch64'
++ )
++endforeach
++
++subdir('topics')
+diff --git a/doc/aarch64/topics/meson.build b/doc/aarch64/topics/meson.build
+new file mode 100644
+index 00000000..40a4f7df
+--- /dev/null
++++ b/doc/aarch64/topics/meson.build
+@@ -0,0 +1,18 @@
++doc_aarch64_topics_files = [
++ 'extending-the-disassembler',
++ 'index',
++ 'state-trace',
++ 'ycm'
++]
++
++foreach file : doc_aarch64_topics_files
++ custom_target(
++ 'doc_aarch64_topics_' + file,
++ command: [markdown, '@INPUT@'],
++ input: file + '.md',
++ output: file + '.html',
++ capture: true,
++ install: true,
++ install_dir: doc_dir/'aarch64'/'topics'
++ )
++endforeach
+diff --git a/doc/meson.build b/doc/meson.build
+new file mode 100644
+index 00000000..f23f5c94
+--- /dev/null
++++ b/doc/meson.build
+@@ -0,0 +1,22 @@
++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
++#
++# SPDX-License-Identifier: BSD-3-Clause
++
++doc_dir = get_option('datadir')/'doc'/meson.project_name()
++
++custom_target(
++ 'doc',
++ command: [markdown, '@INPUT@'],
++ input: '..'/'README.md',
++ output: '@BASENAME@.html',
++ capture: true,
++ install: true,
++ install_dir: doc_dir
++)
++
++if build_a32 or build_t32
++ subdir('aarch32')
++endif
++if build_a64
++ subdir('aarch64')
++endif
+diff --git a/meson.build b/meson.build
+new file mode 100644
+index 00000000..1f4e5646
+--- /dev/null
++++ b/meson.build
+@@ -0,0 +1,151 @@
++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
++#
++# SPDX-License-Identifier: BSD-3-Clause
++
++project(
++ 'vixl',
++ 'cpp',
++ default_options: [
++ 'cpp_std=c++17',
++ 'buildtype=release',
++ 'warning_level=3',
++ 'werror=false',
++ 'd_ndebug=if-release',
++ 'b_lto=true'
++ ],
++ license: 'BSD-3-Clause',
++ meson_version: '>=0.49.0',
++ version: '5.1.0',
++)
++
++extra_args = []
++
++if get_option('debug')
++ extra_args += '-DVIXL_DEBUG'
++endif
++
++hosts_32bit = ['arc', 'arm', 'c2000', 'csky', 'mips', 'ppc', 'riscv32', 'rx', 'sparc', 'wasm32', 'x86']
++can_target_aarch64 = not (host_machine.cpu_family() in hosts_32bit)
++
++build_a32 = false
++build_t32 = false
++build_a64 = false
++
++targets = get_option('target')
++if 'auto' in targets or 'all' in targets
++ if can_target_aarch64 or 'all' in targets
++ extra_args += [
++ '-DVIXL_INCLUDE_TARGET_A32',
++ '-DVIXL_INCLUDE_TARGET_T32',
++ '-DVIXL_INCLUDE_TARGET_A64'
++ ]
++ build_a32 = true
++ build_t32 = true
++ build_a64 = true
++ else
++ extra_args += [
++ '-DVIXL_INCLUDE_TARGET_A32',
++ '-DVIXL_INCLUDE_TARGET_T32'
++ ]
++ build_a32 = true
++ build_t32 = true
++ endif
++else
++ if 'a32' in targets or 'aarch32' in targets
++ extra_args += [
++ '-DVIXL_INCLUDE_TARGET_A32'
++ ]
++ build_a32 = true
++ endif
++ if 't32' in targets or 'aarch32' in targets
++ extra_args += [
++ '-DVIXL_INCLUDE_TARGET_T32'
++ ]
++ build_t32 = true
++ endif
++ if 'a64' in targets or 'aarch64' in targets
++ extra_args += [
++ '-DVIXL_INCLUDE_TARGET_A64'
++ ]
++ build_a64 = true
++ endif
++endif
++
++target_sources = []
++if build_a32 or build_t32
++ subdir('src'/'aarch32')
++endif
++if build_a64
++ subdir('src'/'aarch64')
++endif
++
++if get_option('simulator') == 'auto'
++ if not (host_machine.cpu_family() == 'aarch64') and can_target_aarch64
++ extra_args += '-DVIXL_INCLUDE_SIMULATOR_AARCH64'
++ endif
++elif get_option('simulator') == 'aarch64'
++ if can_target_aarch64 and build_a64
++ extra_args += '-DVIXL_INCLUDE_SIMULATOR_AARCH64'
++ else
++ error('Building an AArch64 simulator implies that VIXL targets AArch64. Set `target` to include `aarch64` or `a64`.')
++ endif
++endif
++
++allocator = get_option('code_buffer_allocator')
++if (allocator == 'auto' and host_machine.system() == 'linux') or allocator == 'mmap'
++ extra_args += '-DVIXL_CODE_BUFFER_MMAP'
++else
++ extra_args += '-DVIXL_CODE_BUFFER_MALLOC'
++endif
++
++markdown = find_program('markdown', required: get_option('doc'))
++if markdown.found()
++ subdir('doc')
++endif
++
++libvixl = library(
++ 'vixl',
++ 'src'/'code-buffer-vixl.cc',
++ 'src'/'compiler-intrinsics-vixl.cc',
++ 'src'/'cpu-features.cc',
++ 'src'/'utils-vixl.cc',
++ cpp_args: extra_args,
++ include_directories: 'src',
++ install: true,
++ sources: target_sources,
++ version: meson.project_version()
++)
++
++vixl_dep = declare_dependency(
++ compile_args: extra_args,
++ include_directories: 'src',
++ link_with: libvixl
++)
++
++if meson.version().version_compare('>=0.54.0')
++ meson.override_dependency('vixl', vixl_dep)
++endif
++
++install_headers(
++ 'src'/'assembler-base-vixl.h',
++ 'src'/'code-buffer-vixl.h',
++ 'src'/'code-generation-scopes-vixl.h',
++ 'src'/'compiler-intrinsics-vixl.h',
++ 'src'/'cpu-features.h',
++ 'src'/'globals-vixl.h',
++ 'src'/'invalset-vixl.h',
++ 'src'/'macro-assembler-interface.h',
++ 'src'/'platform-vixl.h',
++ 'src'/'pool-manager-impl.h',
++ 'src'/'pool-manager.h',
++ 'src'/'utils-vixl.h',
++ subdir: 'vixl'
++)
++
++import('pkgconfig').generate(
++ libvixl,
++ description: 'ARMv8 Runtime Code Generation Library',
++ extra_cflags: extra_args,
++ subdirs: 'vixl',
++ url: 'https://github.com/Linaro/vixl'
++)
+diff --git a/meson.patch b/meson.patch
+new file mode 100644
+index 00000000..2360398d
+--- /dev/null
++++ b/meson.patch
+@@ -0,0 +1,421 @@
++Origin: upstream, https://github.com/Linaro/vixl/pull/7
++Last-Update: 2021-10-15
++
++From 21ac158c034e725442208fef93c7e67fcf92ac36 Mon Sep 17 00:00:00 2001
++From: Andrea Pappacoda <andrea@pappacoda.it>
++Date: Wed, 13 Oct 2021 22:06:34 +0200
++Subject: [PATCH] build: add Meson support
++
++I was trying to package Vixl, but the SCons build system does not
++provide an install target, so I would've had to add it. It seemed too
++difficult, so I directly created a quite basic Meson build script.
++
++It provides most features of the SCons script, except for tests and
++benchmarks, while adding a rich install target, with library soname
++versioning and a pkg-config file.
++
++Meson is a simple yet powerful build system, and you're interested in
++using it as your main build system I could add tests and benchmarks :)
++---
++ doc/aarch32/meson.build | 13 +++
++ doc/aarch64/meson.build | 22 +++++
++ doc/aarch64/topics/meson.build | 18 ++++
++ doc/meson.build | 22 +++++
++ meson.build | 151 +++++++++++++++++++++++++++++++++
++ meson_options.txt | 34 ++++++++
++ src/aarch32/meson.build | 31 +++++++
++ src/aarch64/meson.build | 45 ++++++++++
++ 8 files changed, 337 insertions(+)
++ create mode 100644 doc/aarch32/meson.build
++ create mode 100644 doc/aarch64/meson.build
++ create mode 100644 doc/aarch64/topics/meson.build
++ create mode 100644 doc/meson.build
++ create mode 100644 meson.build
++ create mode 100644 meson_options.txt
++ create mode 100644 src/aarch32/meson.build
++ create mode 100644 src/aarch64/meson.build
++
++diff --git a/doc/aarch32/meson.build b/doc/aarch32/meson.build
++new file mode 100644
++index 00000000..6baf8d57
++--- /dev/null
+++++ b/doc/aarch32/meson.build
++@@ -0,0 +1,13 @@
+++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
+++#
+++# SPDX-License-Identifier: BSD-3-Clause
+++
+++custom_target(
+++ 'doc_aarch32',
+++ command: [markdown, '@INPUT@'],
+++ input: 'getting-started-aarch32.md',
+++ output: '@BASENAME@.html',
+++ capture: true,
+++ install: true,
+++ install_dir: doc_dir/'aarch32'
+++)
++diff --git a/doc/aarch64/meson.build b/doc/aarch64/meson.build
++new file mode 100644
++index 00000000..d6fe068d
++--- /dev/null
+++++ b/doc/aarch64/meson.build
++@@ -0,0 +1,22 @@
+++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
+++#
+++# SPDX-License-Identifier: BSD-3-Clause
+++
+++doc_aarch64_files = [
+++ 'getting-started-aarch64',
+++ 'supported-instructions-aarch64'
+++]
+++
+++foreach file : doc_aarch64_files
+++ custom_target(
+++ 'doc_aarch64_' + file,
+++ command: [markdown, '@INPUT@'],
+++ input: file + '.md',
+++ output: file + '.html',
+++ capture: true,
+++ install: true,
+++ install_dir: doc_dir/'aarch64'
+++ )
+++endforeach
+++
+++subdir('topics')
++diff --git a/doc/aarch64/topics/meson.build b/doc/aarch64/topics/meson.build
++new file mode 100644
++index 00000000..40a4f7df
++--- /dev/null
+++++ b/doc/aarch64/topics/meson.build
++@@ -0,0 +1,18 @@
+++doc_aarch64_topics_files = [
+++ 'extending-the-disassembler',
+++ 'index',
+++ 'state-trace',
+++ 'ycm'
+++]
+++
+++foreach file : doc_aarch64_topics_files
+++ custom_target(
+++ 'doc_aarch64_topics_' + file,
+++ command: [markdown, '@INPUT@'],
+++ input: file + '.md',
+++ output: file + '.html',
+++ capture: true,
+++ install: true,
+++ install_dir: doc_dir/'aarch64'/'topics'
+++ )
+++endforeach
++diff --git a/doc/meson.build b/doc/meson.build
++new file mode 100644
++index 00000000..f23f5c94
++--- /dev/null
+++++ b/doc/meson.build
++@@ -0,0 +1,22 @@
+++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
+++#
+++# SPDX-License-Identifier: BSD-3-Clause
+++
+++doc_dir = get_option('datadir')/'doc'/meson.project_name()
+++
+++custom_target(
+++ 'doc',
+++ command: [markdown, '@INPUT@'],
+++ input: '..'/'README.md',
+++ output: '@BASENAME@.html',
+++ capture: true,
+++ install: true,
+++ install_dir: doc_dir
+++)
+++
+++if build_a32 or build_t32
+++ subdir('aarch32')
+++endif
+++if build_a64
+++ subdir('aarch64')
+++endif
++diff --git a/meson.build b/meson.build
++new file mode 100644
++index 00000000..96d8165e
++--- /dev/null
+++++ b/meson.build
++@@ -0,0 +1,151 @@
+++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
+++#
+++# SPDX-License-Identifier: BSD-3-Clause
+++
+++project(
+++ 'vixl',
+++ 'cpp',
+++ default_options: [
+++ 'cpp_std=c++14',
+++ 'buildtype=release',
+++ 'warning_level=3',
+++ 'werror=true',
+++ 'd_ndebug=if-release',
+++ 'b_lto=true'
+++ ],
+++ license: 'BSD-3-Clause',
+++ meson_version: '>=0.49.0',
+++ version: '5.1.0',
+++)
+++
+++extra_args = []
+++
+++if get_option('debug')
+++ extra_args += '-DVIXL_DEBUG'
+++endif
+++
+++hosts_32bit = ['arc', 'arm', 'c2000', 'csky', 'mips', 'ppc', 'riscv32', 'rx', 'sparc', 'wasm32', 'x86']
+++can_target_aarch64 = not (host_machine.cpu_family() in hosts_32bit)
+++
+++build_a32 = false
+++build_t32 = false
+++build_a64 = false
+++
+++targets = get_option('target')
+++if 'auto' in targets or 'all' in targets
+++ if can_target_aarch64 or 'all' in targets
+++ extra_args += [
+++ '-DVIXL_INCLUDE_TARGET_A32',
+++ '-DVIXL_INCLUDE_TARGET_T32',
+++ '-DVIXL_INCLUDE_TARGET_A64'
+++ ]
+++ build_a32 = true
+++ build_t32 = true
+++ build_a64 = true
+++ else
+++ extra_args += [
+++ '-DVIXL_INCLUDE_TARGET_A32',
+++ '-DVIXL_INCLUDE_TARGET_T32'
+++ ]
+++ build_a32 = true
+++ build_t32 = true
+++ endif
+++else
+++ if 'a32' in targets or 'aarch32' in targets
+++ extra_args += [
+++ '-DVIXL_INCLUDE_TARGET_A32'
+++ ]
+++ build_a32 = true
+++ endif
+++ if 't32' in targets or 'aarch32' in targets
+++ extra_args += [
+++ '-DVIXL_INCLUDE_TARGET_T32'
+++ ]
+++ build_t32 = true
+++ endif
+++ if 'a64' in targets or 'aarch64' in targets
+++ extra_args += [
+++ '-DVIXL_INCLUDE_TARGET_A64'
+++ ]
+++ build_a64 = true
+++ endif
+++endif
+++
+++target_sources = []
+++if build_a32 or build_t32
+++ subdir('src'/'aarch32')
+++endif
+++if build_a64
+++ subdir('src'/'aarch64')
+++endif
+++
+++if get_option('simulator') == 'auto'
+++ if not (host_machine.cpu_family() == 'aarch64') and can_target_aarch64
+++ extra_args += '-DVIXL_INCLUDE_SIMULATOR_AARCH64'
+++ endif
+++elif get_option('simulator') == 'aarch64'
+++ if can_target_aarch64 and build_a64
+++ extra_args += '-DVIXL_INCLUDE_SIMULATOR_AARCH64'
+++ else
+++ error('Building an AArch64 simulator implies that VIXL targets AArch64. Set `target` to include `aarch64` or `a64`.')
+++ endif
+++endif
+++
+++allocator = get_option('code_buffer_allocator')
+++if (allocator == 'auto' and host_machine.system() == 'linux') or allocator == 'mmap'
+++ extra_args += '-DVIXL_CODE_BUFFER_MMAP'
+++else
+++ extra_args += '-DVIXL_CODE_BUFFER_MALLOC'
+++endif
+++
+++markdown = find_program('markdown', required: get_option('doc'))
+++if markdown.found()
+++ subdir('doc')
+++endif
+++
+++libvixl = library(
+++ 'vixl',
+++ 'src'/'code-buffer-vixl.cc',
+++ 'src'/'compiler-intrinsics-vixl.cc',
+++ 'src'/'cpu-features.cc',
+++ 'src'/'utils-vixl.cc',
+++ cpp_args: extra_args,
+++ include_directories: 'src',
+++ install: true,
+++ sources: target_sources,
+++ version: meson.project_version()
+++)
+++
+++vixl_dep = declare_dependency(
+++ compile_args: extra_args,
+++ include_directories: 'src',
+++ link_with: libvixl
+++)
+++
+++if meson.version().version_compare('>=0.54.0')
+++ meson.override_dependency('vixl', vixl_dep)
+++endif
+++
+++install_headers(
+++ 'src'/'assembler-base-vixl.h',
+++ 'src'/'code-buffer-vixl.h',
+++ 'src'/'code-generation-scopes-vixl.h',
+++ 'src'/'compiler-intrinsics-vixl.h',
+++ 'src'/'cpu-features.h',
+++ 'src'/'globals-vixl.h',
+++ 'src'/'invalset-vixl.h',
+++ 'src'/'macro-assembler-interface.h',
+++ 'src'/'platform-vixl.h',
+++ 'src'/'pool-manager-impl.h',
+++ 'src'/'pool-manager.h',
+++ 'src'/'utils-vixl.h',
+++ subdir: 'vixl'
+++)
+++
+++import('pkgconfig').generate(
+++ libvixl,
+++ description: 'ARMv8 Runtime Code Generation Library',
+++ extra_cflags: extra_args,
+++ subdirs: 'vixl',
+++ url: 'https://github.com/Linaro/vixl'
+++)
++diff --git a/meson_options.txt b/meson_options.txt
++new file mode 100644
++index 00000000..602d4c82
++--- /dev/null
+++++ b/meson_options.txt
++@@ -0,0 +1,34 @@
+++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
+++#
+++# SPDX-License-Identifier: BSD-3-Clause
+++
+++option(
+++ 'target',
+++ type: 'array',
+++ choices: ['auto', 'all', 'aarch32', 'a32', 't32', 'aarch64', 'a64'],
+++ value: ['auto'],
+++ description: 'Target ISA/Architecture'
+++)
+++
+++option(
+++ 'simulator',
+++ type: 'combo',
+++ choices: ['auto', 'aarch64', 'none'],
+++ value: 'auto',
+++ description: 'Simulators to include'
+++)
+++
+++option(
+++ 'code_buffer_allocator',
+++ type: 'combo',
+++ choices: ['auto', 'malloc', 'mmap'],
+++ value: 'auto',
+++ description: 'Configure the allocation mechanism in the CodeBuffer'
+++)
+++
+++option(
+++ 'doc',
+++ type: 'feature',
+++ value: 'auto',
+++ description: 'Convert documentation to HTML (requires the `markdown` program)'
+++)
++diff --git a/src/aarch32/meson.build b/src/aarch32/meson.build
++new file mode 100644
++index 00000000..f4997860
++--- /dev/null
+++++ b/src/aarch32/meson.build
++@@ -0,0 +1,31 @@
+++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
+++#
+++# SPDX-License-Identifier: BSD-3-Clause
+++
+++# Need to wrap the filenames in files() otherwise this array would be treated
+++# as a simple array of strings, and when used in the master meson.build they
+++# would refer to nonexistent paths. Wrapping in files() ensures that the
+++# filenames will be always relative to this directory, even if referenced in
+++# a different one. As a general rule, when I need to refer to a file from a
+++# different build directory I should wrap it in files().
+++
+++target_sources += files(
+++ 'assembler-aarch32.cc',
+++ 'constants-aarch32.cc',
+++ 'disasm-aarch32.cc',
+++ 'instructions-aarch32.cc',
+++ 'location-aarch32.cc',
+++ 'macro-assembler-aarch32.cc',
+++ 'operands-aarch32.cc'
+++)
+++
+++install_headers(
+++ 'assembler-aarch32.h',
+++ 'constants-aarch32.h',
+++ 'disasm-aarch32.h',
+++ 'instructions-aarch32.h',
+++ 'location-aarch32.h',
+++ 'macro-assembler-aarch32.h',
+++ 'operands-aarch32.h',
+++ subdir: 'vixl'/'aarch32'
+++)
++diff --git a/src/aarch64/meson.build b/src/aarch64/meson.build
++new file mode 100644
++index 00000000..7cd353a3
++--- /dev/null
+++++ b/src/aarch64/meson.build
++@@ -0,0 +1,45 @@
+++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
+++#
+++# SPDX-License-Identifier: BSD-3-Clause
+++
+++# Need to wrap the filenames in files() otherwise this array would be treated
+++# as a simple array of strings, and when used in the master meson.build they
+++# would refer to nonexistent paths. Wrapping in files() ensures that the
+++# filenames will be always relative to this directory, even if referenced in
+++# a different one. As a general rule, when I need to refer to a file from a
+++# different build directory I should wrap it in files().
+++
+++target_sources += files(
+++ 'assembler-aarch64.cc',
+++ 'assembler-sve-aarch64.cc',
+++ 'cpu-aarch64.cc',
+++ 'cpu-features-auditor-aarch64.cc',
+++ 'decoder-aarch64.cc',
+++ 'disasm-aarch64.cc',
+++ 'instructions-aarch64.cc',
+++ 'logic-aarch64.cc',
+++ 'macro-assembler-aarch64.cc',
+++ 'macro-assembler-sve-aarch64.cc',
+++ 'operands-aarch64.cc',
+++ 'pointer-auth-aarch64.cc',
+++ 'registers-aarch64.cc',
+++ 'simulator-aarch64.cc'
+++)
+++
+++install_headers(
+++ 'abi-aarch64.h',
+++ 'assembler-aarch64.h',
+++ 'constants-aarch64.h',
+++ 'cpu-aarch64.h',
+++ 'cpu-features-auditor-aarch64.h',
+++ 'decoder-aarch64.h',
+++ 'decoder-constants-aarch64.h',
+++ 'disasm-aarch64.h',
+++ 'instructions-aarch64.h',
+++ 'macro-assembler-aarch64.h',
+++ 'operands-aarch64.h',
+++ 'registers-aarch64.h',
+++ 'simulator-aarch64.h',
+++ 'simulator-constants-aarch64.h',
+++ subdir: 'vixl'/'aarch64'
+++)
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 00000000..602d4c82
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1,34 @@
++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
++#
++# SPDX-License-Identifier: BSD-3-Clause
++
++option(
++ 'target',
++ type: 'array',
++ choices: ['auto', 'all', 'aarch32', 'a32', 't32', 'aarch64', 'a64'],
++ value: ['auto'],
++ description: 'Target ISA/Architecture'
++)
++
++option(
++ 'simulator',
++ type: 'combo',
++ choices: ['auto', 'aarch64', 'none'],
++ value: 'auto',
++ description: 'Simulators to include'
++)
++
++option(
++ 'code_buffer_allocator',
++ type: 'combo',
++ choices: ['auto', 'malloc', 'mmap'],
++ value: 'auto',
++ description: 'Configure the allocation mechanism in the CodeBuffer'
++)
++
++option(
++ 'doc',
++ type: 'feature',
++ value: 'auto',
++ description: 'Convert documentation to HTML (requires the `markdown` program)'
++)
+diff --git a/src/aarch32/meson.build b/src/aarch32/meson.build
+new file mode 100644
+index 00000000..f4997860
+--- /dev/null
++++ b/src/aarch32/meson.build
+@@ -0,0 +1,31 @@
++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
++#
++# SPDX-License-Identifier: BSD-3-Clause
++
++# Need to wrap the filenames in files() otherwise this array would be treated
++# as a simple array of strings, and when used in the master meson.build they
++# would refer to nonexistent paths. Wrapping in files() ensures that the
++# filenames will be always relative to this directory, even if referenced in
++# a different one. As a general rule, when I need to refer to a file from a
++# different build directory I should wrap it in files().
++
++target_sources += files(
++ 'assembler-aarch32.cc',
++ 'constants-aarch32.cc',
++ 'disasm-aarch32.cc',
++ 'instructions-aarch32.cc',
++ 'location-aarch32.cc',
++ 'macro-assembler-aarch32.cc',
++ 'operands-aarch32.cc'
++)
++
++install_headers(
++ 'assembler-aarch32.h',
++ 'constants-aarch32.h',
++ 'disasm-aarch32.h',
++ 'instructions-aarch32.h',
++ 'location-aarch32.h',
++ 'macro-assembler-aarch32.h',
++ 'operands-aarch32.h',
++ subdir: 'vixl'/'aarch32'
++)
+diff --git a/src/aarch64/meson.build b/src/aarch64/meson.build
+new file mode 100644
+index 00000000..9eaf0f9d
+--- /dev/null
++++ b/src/aarch64/meson.build
+@@ -0,0 +1,47 @@
++# SPDX-FileCopyrightText: 2021 Andrea Pappacoda
++#
++# SPDX-License-Identifier: BSD-3-Clause
++
++# Need to wrap the filenames in files() otherwise this array would be treated
++# as a simple array of strings, and when used in the master meson.build they
++# would refer to nonexistent paths. Wrapping in files() ensures that the
++# filenames will be always relative to this directory, even if referenced in
++# a different one. As a general rule, when I need to refer to a file from a
++# different build directory I should wrap it in files().
++
++target_sources += files(
++ 'assembler-aarch64.cc',
++ 'assembler-sve-aarch64.cc',
++ 'cpu-aarch64.cc',
++ 'cpu-features-auditor-aarch64.cc',
++ 'decoder-aarch64.cc',
++ 'disasm-aarch64.cc',
++ 'instructions-aarch64.cc',
++ 'logic-aarch64.cc',
++ 'macro-assembler-aarch64.cc',
++ 'macro-assembler-sve-aarch64.cc',
++ 'operands-aarch64.cc',
++ 'pointer-auth-aarch64.cc',
++ 'registers-aarch64.cc',
++ 'simulator-aarch64.cc'
++)
++
++install_headers(
++ 'abi-aarch64.h',
++ 'assembler-aarch64.h',
++ 'constants-aarch64.h',
++ 'cpu-aarch64.h',
++ 'cpu-features-auditor-aarch64.h',
++ 'debugger-aarch64.h',
++ 'decoder-aarch64.h',
++ 'decoder-constants-aarch64.h',
++ 'decoder-visitor-map-aarch64.h',
++ 'disasm-aarch64.h',
++ 'instructions-aarch64.h',
++ 'macro-assembler-aarch64.h',
++ 'operands-aarch64.h',
++ 'registers-aarch64.h',
++ 'simulator-aarch64.h',
++ 'simulator-constants-aarch64.h',
++ subdir: 'vixl'/'aarch64'
++)
+
diff --git a/testing/vixl/APKBUILD b/testing/vixl/APKBUILD
new file mode 100644
index 00000000000..db4e913e94e
--- /dev/null
+++ b/testing/vixl/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: Bart Ribbers <bribbers@disroot.org>
+pkgname=vixl
+pkgver=7.0.0
+pkgrel=0
+pkgdesc="AArch32 and AArch64 Runtime Code Generation Library"
+url="https://github.com/Linaro/vixl"
+arch="aarch64 armv7"
+license="BSD-3-Clause"
+makedepends="meson"
+subpackages="$pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Linaro/vixl/archive/refs/tags/$pkgver.tar.gz
+ 0001-vixl-Meson-support.patch
+ "
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+4b883151b363a71e0b2109a544832be46d87a51de782d65cca66f5bf3f1f1e2c8c6fd42a180b95bd784b72f62a17fd659b05674579ed9566e8ba3a364dcbfd5f vixl-7.0.0.tar.gz
+158a3f3c34fe3b2a422c6cab2c98d6255f3c2f5a2c9c56401a992a01fa1943dd39a5cb8edcff39d9923f7c2498a8826062b0e5dceb002ed7355fd5ed2edea70d 0001-vixl-Meson-support.patch
+"
diff --git a/testing/vkbasalt/APKBUILD b/testing/vkbasalt/APKBUILD
new file mode 100644
index 00000000000..4eaf9ff094e
--- /dev/null
+++ b/testing/vkbasalt/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+# Maintainer: Marian Buschsieweke <marian.buschsieweke@posteo.net>
+pkgname=vkbasalt
+pkgver=0.3.2.10
+pkgrel=0
+pkgdesc="vulkan post processing layer for linux"
+url="https://github.com/DadSchoorse/vkBasalt"
+license="Zlib"
+arch="all"
+makedepends="
+ glslang
+ libx11-dev
+ meson
+ spirv-headers
+ vulkan-headers
+ "
+subpackages="
+ $pkgname-doc
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/DadSchoorse/vkBasalt/releases/download/v0.3.2.10/vkBasalt-$pkgver.tar.gz
+ "
+
+builddir="$srcdir/vkBasalt-$pkgver"
+options="!check" # no test suite
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+
+}
+
+doc() {
+ install -Dm 644 "$builddir"/config/vkBasalt.conf "$subpkgdir"/usr/share/vkBasalt/vkBasalt.conf.example
+}
+
+sha512sums="
+b80ca0320b99832d05d2d38e5e9d8f5981a5608d1509a1e4ea16bb4d0970ac13474e53e35a1634f2683e24c9ca0e4661545edd388b63b23c63782998ec0e03a4 vkbasalt-0.3.2.10.tar.gz
+"
diff --git a/testing/vlang/APKBUILD b/testing/vlang/APKBUILD
new file mode 100644
index 00000000000..61968720ba3
--- /dev/null
+++ b/testing/vlang/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+
+pkgname=vlang
+pkgver=0.4.3
+# this has to be updated with the version
+_vc_commit_sha="5e691a82c01957870b451e06216a9fb3a4e83a18"
+pkgrel=0
+pkgdesc="Simple, fast, safe, compiled language for developing maintainable software."
+url="https://vlang.io"
+arch="x86_64 aarch64"
+license="MIT"
+# to be able to symlink /usr/lib/vlang/thirdparty/tcc/lib/libgc.a to /usr/lib/libgc.a
+depends="gc-dev"
+makedepends="gcc gc-dev libx11-dev"
+source="
+v-$pkgver.tar.gz::https://github.com/vlang/v/archive/refs/tags/$pkgver.tar.gz
+vc-$pkgver.tar.gz::https://github.com/vlang/vc/archive/$_vc_commit_sha.tar.gz
+"
+builddir="$srcdir/v-$pkgver"
+options="net"
+
+build() {
+ mv "../vc-$_vc_commit_sha" ./vc
+
+ # cannot rely on prebuild tcc libgc.a
+ # needs gc-dev
+ mkdir -p thirdparty/tcc/lib
+ ln -s /usr/lib/libgc.a thirdparty/tcc/lib/libgc.a
+
+ gcc -std=gnu11 -w -o v1 vc/v.c -lm -lpthread
+ ./v1 -no-parallel -o v2 -prod cmd/v
+ ./v2 -o v -prod cmd/v
+ rm -rf v1 v2
+
+ ./v run ./cmd/tools/detect_tcc.v
+
+ VEXE=$builddir/v ./v build-tools -v
+}
+
+check() {
+ ./v self
+}
+
+package() {
+ install -d $pkgdir/usr/lib/vlang $pkgdir/usr/share/vlang $pkgdir/usr/bin
+ install -Dm644 LICENSE pkgdir/usr/share/licenses/$pkgname/LICENSE
+ install -Dm755 v $pkgdir/usr/lib/vlang
+ cp -a cmd $pkgdir/usr/lib/vlang/
+ cp -a examples $pkgdir/usr/share/vlang/
+ cp -a thirdparty $pkgdir/usr/lib/vlang/
+ cp -a vlib $pkgdir/usr/lib/vlang/
+ cp v.mod $pkgdir/usr/lib/vlang/
+ ln -s /usr/lib/vlang/v $pkgdir/usr/bin/v
+
+ touch $pkgdir/usr/lib/vlang/cmd/tools/.disable_autorecompilation
+}
+sha512sums="
+b6646a2973ab1e9a718227113bd47440f72b559fbbd53760cfe441ac90f52dee0d12b082812a31ab2d0e0e96bde1c23ba79619c7a759361329ef9f8f33d1970a v-0.4.3.tar.gz
+b99a12bb006559dfe41f5205e83e18d0b238cd14f19a6452fc5f0f97110d09048cb25a0867dfb7bf96369f697a542ae66b26ddd47a5bb1e3fdd6098576abbb14 vc-0.4.3.tar.gz
+"
diff --git a/testing/vmtouch/APKBUILD b/testing/vmtouch/APKBUILD
new file mode 100644
index 00000000000..f9153902166
--- /dev/null
+++ b/testing/vmtouch/APKBUILD
@@ -0,0 +1,27 @@
+# Maintainer: ovf <ovf@mm.st>
+pkgname=vmtouch
+pkgver=1.3.1
+pkgrel=0
+pkgdesc="Portable file system cache diagnostics and control"
+url="https://hoytech.com/vmtouch/"
+arch="all"
+license="BSD-3-Clause"
+makedepends="perl"
+subpackages="$pkgname-doc"
+source="https://github.com/hoytech/vmtouch/archive/refs/tags/v$pkgver/vmtouch-$pkgver.tar.gz"
+options="!check" # there are no tests
+
+build() {
+ make PREFIX=/usr
+}
+
+
+package() {
+ make PREFIX=/usr DESTDIR="$pkgdir" install
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+77c4f55c003a03c06e894cc19fae651f4be85ab416d5ba64053580d6daa2ac59be59e8d4a93b243681ef7ead47fe7fb12b2efa3971af33af89c2ab39905ea854 vmtouch-1.3.1.tar.gz
+"
diff --git a/testing/vocage/APKBUILD b/testing/vocage/APKBUILD
deleted file mode 100644
index 7a3c1862e37..00000000000
--- a/testing/vocage/APKBUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Maintainer: Krystian Chachuła <krystian@krystianch.com>
-pkgname=vocage
-pkgver=1.1.0
-pkgrel=1
-pkgdesc="Minimalistic terminal-based vocabulary-learning tool"
-url="https://github.com/proycon/vocage"
-arch="all !s390x !mips !mips64 !riscv64"
-license="GPL-3.0-or-later"
-makedepends="rust cargo"
-source="$pkgname-$pkgver.tar.gz::https://github.com/proycon/vocage/archive/refs/tags/v$pkgver.tar.gz"
-options="!check" # No test suite / unit tests
-
-build() {
- cargo build --release --locked
-}
-
-package() {
- install -D -m755 "target/release/vocage" "$pkgdir/usr/bin/vocage"
-}
-
-sha512sums="
-c6cf955de66469c00e88b4dff1aa0a9686c3a1fe604e8c1f6fccd738de013c5490ed178f41a863b2a90419bb936a0a6e038a761dedf55b3e283d15a957373c31 vocage-1.1.0.tar.gz
-"
diff --git a/testing/voikko-fi/APKBUILD b/testing/voikko-fi/APKBUILD
new file mode 100644
index 00000000000..25eae00a401
--- /dev/null
+++ b/testing/voikko-fi/APKBUILD
@@ -0,0 +1,24 @@
+# Contributor: Timo Teräs <timo.teras@iki.fi>
+# Maintainer: Timo Teräs <timo.teras@iki.fi>
+pkgname=voikko-fi
+pkgver=2.5
+pkgrel=0
+pkgdesc="Finnish dictionary for libvoikko spell checker"
+url="https://voikko.puimula.org/"
+arch="noarch"
+license="GPL-2.0-or-later"
+makedepends="foma libvoikko"
+options="!check" # no tests
+source="https://www.puimula.org/voikko-sources/voikko-fi/voikko-fi-$pkgver.tar.gz"
+
+build() {
+ make vvfst
+}
+
+package() {
+ make DESTDIR="$pkgdir/usr/share/voikko/" vvfst-install
+}
+
+sha512sums="
+6de3c6c13a9fb05a463a55177dc1707d5e4ca01c7ccf08e0f8ab73cb3a353ee4935adc23a1b5f6c5da568dbb075c081a700d8d46eb99b6bcbed0efb4d977f59a voikko-fi-2.5.tar.gz
+"
diff --git a/testing/volatility3/APKBUILD b/testing/volatility3/APKBUILD
index 7f0bb71fd47..f615ed90f6e 100644
--- a/testing/volatility3/APKBUILD
+++ b/testing/volatility3/APKBUILD
@@ -1,19 +1,21 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=volatility3
-pkgver=1.0.1
-_pkgver=${pkgver/_beta1/-beta.1}
-pkgrel=2
+pkgver=2.5.2
+pkgrel=1
pkgdesc="Volatile memory forensics toolkit"
url="https://github.com/volatilityfoundation/volatility3"
arch="noarch !armhf !armv7" # py3-yara
license="custom"
-depends="py3-crypto py3-capstone py3-yara"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/volatilityfoundation/volatility3/archive/v$_pkgver.tar.gz"
+depends="py3-crypto py3-capstone py3-yara py3-pefile"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-doc $pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/volatilityfoundation/volatility3/archive/v$pkgver.tar.gz"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
@@ -21,8 +23,12 @@ check() {
}
package() {
- python3 setup.py install --root "$pkgdir"
- install -Dm644 LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.txt"
+ python3 -m installer -d "$pkgdir" .dist/*.whl
+
+ install -Dm644 LICENSE.txt \
+ -t "$pkgdir"/usr/share/licenses/$pkgname/
}
-sha512sums="df8d595decc9a4f6f1d3474fa03b94f571c05f429e191fe3bfa420fab1a5b6953bc53f396370b7ea76ff2f1ff79125be860561fc1eefd7d00b4e9f60cf25814d volatility3-1.0.1.tar.gz"
+sha512sums="
+02cfd06928f1667ec481e776c45e954d4a40fa6da6ffbdd30e0980bd5d09ce70d0e31de6e352a833c36045e67c2120ea6a10e2d3ec1327e9e4e4e1c2af494fcf volatility3-2.5.2.tar.gz
+"
diff --git a/testing/volumeicon/APKBUILD b/testing/volumeicon/APKBUILD
index d61e070d33f..6139b4ab83f 100644
--- a/testing/volumeicon/APKBUILD
+++ b/testing/volumeicon/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
pkgname=volumeicon
pkgver=0.5.1
-pkgrel=0
+pkgrel=1
pkgdesc="Volume Icon is a lightweight volume control that sits in your systray"
url="http://softwarebakery.com/maato/volumeicon.html"
arch="all"
diff --git a/testing/vpn-slice/APKBUILD b/testing/vpn-slice/APKBUILD
deleted file mode 100644
index d130c521d2d..00000000000
--- a/testing/vpn-slice/APKBUILD
+++ /dev/null
@@ -1,25 +0,0 @@
-# Contributor: Michał Polański <michal@polanski.me>
-# Maintainer: Michał Polański <michal@polanski.me>
-pkgname=vpn-slice
-pkgver=0.16.1
-pkgrel=0
-pkgdesc="vpnc-script replacement for easy and secure split-tunnel VPN setup"
-url="https://github.com/dlenski/vpn-slice"
-license="GPL-3.0-or-later"
-arch="noarch"
-depends="python3 py3-dnspython py3-setproctitle"
-makedepends="py3-setuptools"
-source="https://github.com/dlenski/vpn-slice/archive/v$pkgver/vpn-slice-$pkgver.tar.gz"
-options="!check" # no test suite
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
-}
-
-sha512sums="
-ba588927fd859691b768dfe2ee6e407ee133df303831d60828283b41f3bd3386f9b1f03e6df9c43191678490de68b81b0ed7c9c6853f92ab87158fa1362e26f7 vpn-slice-0.16.1.tar.gz
-"
diff --git a/testing/vym/APKBUILD b/testing/vym/APKBUILD
index 9419ffb5d64..4bc7227c0c6 100644
--- a/testing/vym/APKBUILD
+++ b/testing/vym/APKBUILD
@@ -1,28 +1,38 @@
-# Contributor: llnu <llnu@ungleich.ch>
-# Maintainer: llnu <llnu@ungleich.ch>
-
+# Contributor: nu <llnu@protonmail.ch>
+# Maintainer: nu <llnu@protonmail.ch>
pkgname=vym
-pkgver=2.7.1
+pkgver=2.9.26
pkgrel=0
pkgdesc="View Your Mind (VYM) is a cross-platform concept mapping software"
url="https://www.insilmaril.de/vym/"
arch="all"
license="GPL-2.0-only"
-depends="dbus-x11"
-makedepends="qtchooser qt5-qtscript-dev qt5-qtsvg-dev"
-source="https://netcologne.dl.sourceforge.net/project/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2"
+makedepends="
+ cmake
+ qt5-qtbase-dev
+ qt5-qtscript-dev
+ qt5-qtsvg-dev
+ qt5-qttools-dev
+ samurai
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/insilmaril/vym/archive/refs/tags/v$pkgver.tar.gz"
build() {
- qmake PREFIX=/usr/share
- make
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DCMAKE_INSTALL_DATAROOTDIR=share/vym
+ cmake --build build
}
package() {
- # Install files
- make INSTALL_ROOT=$pkgdir install
-
- # Fix executable path
- mv $pkgdir/usr/share/bin $pkgdir/usr/bin
+ DESTDIR="$pkgdir" cmake --install build
+ mv "$pkgdir"/usr/share/vym/doc "$pkgdir"/usr/share/doc
+ mv "$pkgdir"/usr/share/vym/man "$pkgdir"/usr/share/man
}
-sha512sums="985dbf18f743c36b484050ae24e4392eeae701c6c72fca6bd3dc5b70b38a283211946e279804c66253b5a394a642683ca4e3a66a7288400a9193fbcbfd8c9582 vym-2.7.1.tar.bz2"
+sha512sums="
+400d328877b18020a614af6784aa4c355c80d38366e606877d82f67d403ffef81097a32572ea46546c55bddae53bba78fce7d8313b07ffc346dc5ef7073cbbe1 vym-2.9.26.tar.gz
+"
diff --git a/testing/w_scan2/APKBUILD b/testing/w_scan2/APKBUILD
index 98893e25dc8..a5da338db89 100644
--- a/testing/w_scan2/APKBUILD
+++ b/testing/w_scan2/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=w_scan2
-pkgver=1.0.13
+pkgver=1.0.15
pkgrel=0
pkgdesc="Universal ATSC and DVB blind scanner"
url="https://github.com/stefantalpalaru/w_scan2"
@@ -29,5 +29,5 @@ package() {
}
sha512sums="
-1de5549927e0d2def2f4e4b4b025f830f2a24ca7f2fe91cd54e4ccfe11a96f068fbee0dac8c52b6387a079e83c37b35310aad87dc018b2c8dd288104c87dd4b3 w_scan2-1.0.13.tar.gz
+bec567ca5b160083754e7ba31bfe625f16efe71916a00c800557598e0229361c629285017c495d2e50a37e1366d8b00780b4b0e9b081ac20e4f13382b4becf3f w_scan2-1.0.15.tar.gz
"
diff --git a/testing/wabt/APKBUILD b/testing/wabt/APKBUILD
index 9fbb122f423..f032addc1d5 100644
--- a/testing/wabt/APKBUILD
+++ b/testing/wabt/APKBUILD
@@ -1,42 +1,72 @@
# Contributor: Ian Douglas Scott <ian@iandouglasscott.com>
-# Maintainer: Ian Douglas Scott <ian@iandouglasscott.com>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=wabt
-pkgver=1.0.19
+pkgver=1.0.34
pkgrel=0
+_wasm_c_api="b6dd1fb658a282c64b029867845bc50ae59e1497"
+_picosha2="27fcf6979298949e8a462e16d09a0351c18fcaf2"
pkgdesc="WebAssembly binary toolkit"
-arch="all"
+# s390x: lld
+# riscv64: llvm still has broken lto on riscv with floating abi errors
+arch="all !s390x !riscv64"
url="https://github.com/WebAssembly/wabt"
license="Apache-2.0"
-makedepends="cmake"
+makedepends="
+ clang
+ cmake
+ lld
+ samurai
+ "
subpackages="$pkgname-doc"
-_wasm_c_api_commit="d9a80099d496b5cdba6f3fe8fc77586e0e505ddc"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz
- wasm-c-api-$_wasm_c_api_commit.tar.gz::https://github.com/WebAssembly/wasm-c-api/archive/$_wasm_c_api_commit.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/WebAssembly/wabt/archive/$pkgver.tar.gz
+ wasm-c-api-$_wasm_c_api.tar.gz::https://github.com/WebAssembly/wasm-c-api/archive/$_wasm_c_api.tar.gz
+ picosha2-$_picosha2.tar.gz::https://github.com/okdshin/PicoSHA2/archive/$_picosha2.tar.gz
"
# Tests require vendored dependencies (as git submodules). Should be modified
# to use copies from repository.
options="!check"
-build() {
- # https://github.com/WebAssembly/wabt/issues/1315
+# secfixes:
+# 1.0.30-r0:
+# - CVE-2022-43280
+# - CVE-2022-43282
+# - CVE-2022-43283
+
+prepare() {
+ default_prepare
+
rmdir third_party/wasm-c-api
- ln -s ../../wasm-c-api-$_wasm_c_api_commit third_party/wasm-c-api
+ ln -sfv "$srcdir"/wasm-c-api-$_wasm_c_api third_party/wasm-c-api
+
+ rmdir third_party/picosha2
+ ln -sfv "$srcdir"/PicoSHA2-$_picosha2 third_party/picosha2
+}
+build() {
if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ local crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+
+ CC=clang \
+ CXX=clang++ \
+ CFLAGS="$CFLAGS -O2 -flto=thin" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=thin" \
+ LDFLAGS="$LDFLAGS -fuse-ld=lld" \
+ cmake -B build -G Ninja \
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_INSTALL_PREFIX=/usr \
-DBUILD_TESTS=OFF \
- -DBUILD_TESTS=OFF \
- $CMAKE_CROSSOPTS
- make -C build
+ $crossopts
+
+ cmake --build build
}
package() {
- make -C build DESTDIR="$pkgdir" install
+ DESTDIR="$pkgdir" cmake --install build
}
-sha512sums="cddcd598f1c7ccf87b1efed685571958f4169c07c10a1a7e62a69bd111debe6c6d20702b91a1206fe1aba9ff78d920b9284564f4d796a3583b474e8cfa4d141b wabt-1.0.19.tar.gz
-b6ee7d2d83a3ca7b3cb3ee110282f7d32eada1d9020cadd3fdec58f40478879fd9ac9fada526021d8f6e8a26e1df7353df313d4149be2ffe4aea3a28f856fd89 wasm-c-api-d9a80099d496b5cdba6f3fe8fc77586e0e505ddc.tar.gz"
+sha512sums="
+93be77d18b2311276af2abff8a954f3d029b1689ba8c89e1c3f0d199ddc0af505ffaa8489fbe0df4fc8beae1a37c645971d63794ff440e305042ff1b94bd83ef wabt-1.0.34.tar.gz
+5d3eec2184f8b66e2358b85f416afaea172f24155a61c9412a9d9374aa50347cf0ebe940f35727bc8c0ffe287033b967cc97a857feab6aa9e5098458e72b4fd0 wasm-c-api-b6dd1fb658a282c64b029867845bc50ae59e1497.tar.gz
+9bf66c70c5828a0b89210d1690078a3d418276e9615170cf5b0a72a28bc37087d075f27c07d525ccbb490102b263527e06516fa41ce6231bc918745abbc85fd9 picosha2-27fcf6979298949e8a462e16d09a0351c18fcaf2.tar.gz
+"
diff --git a/testing/waffle/APKBUILD b/testing/waffle/APKBUILD
deleted file mode 100644
index 75542be9b16..00000000000
--- a/testing/waffle/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Simon Zeni <simon@bl4ckb0ne.ca>
-# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
-pkgname=waffle
-pkgver=1.7.0
-pkgrel=0
-pkgdesc="C library for selecting an OpenGL API and window system at runtime"
-options="!check" # tests are platform dependant (x11/wayland)
-url="https://gitlab.freedesktop.org/mesa/waffle"
-arch="all"
-license="BSD-2-Clause"
-makedepends="eudev-dev mesa-dev mesa-gbm mesa-egl wayland-dev meson cmocka-dev
- cmake"
-subpackages="
- $pkgname-dev
- $pkgname-doc
- $pkgname-bash-completion
- "
-source="https://gitlab.freedesktop.org/mesa/waffle/-/archive/v$pkgver/waffle-v$pkgver.tar.gz"
-builddir="$srcdir/$pkgname-v$pkgver"
-
-build() {
- abuild-meson \
- -Dbuild-examples=false \
- build
- meson compile ${JOBS:+-j ${JOBS}} -C build
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C build
-}
-sha512sums="
-49893570f9973c4b0ac3cbc9dcd61c05273226c4916ebc80ae238f96a6c17e906d3f025aaed310eb387bc4d31bb8f2b77a738c1b88a2bd30a6e0e855738b82bc waffle-v1.7.0.tar.gz
-"
diff --git a/testing/waifu2x-converter-cpp/APKBUILD b/testing/waifu2x-converter-cpp/APKBUILD
new file mode 100644
index 00000000000..dc3cb141b5f
--- /dev/null
+++ b/testing/waifu2x-converter-cpp/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Maxim Karasev <begs@disroot.org>
+# Maintainer: Maxim Karasev <begs@disroot.org>
+pkgname=waifu2x-converter-cpp
+pkgver=5.3.4
+pkgrel=5
+pkgdesc="image upscaler for anime-style art capable of opencl"
+url="https://github.com/DeadSix27/waifu2x-converter-cpp"
+arch="all !ppc64le !s390x !riscv64" # limited by opencv
+license="MIT"
+depends="so:libOpenCL.so.1"
+makedepends="cmake opencl-dev opencv-dev samurai"
+source="https://github.com/DeadSix27/waifu2x-converter-cpp/archive/v$pkgver/waifu2x-converter-cpp-$pkgver.tar.gz"
+options="!check" # no tests
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake -B build \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -G Ninja \
+ $CMAKE_CROSSOPTS .
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+05bd5114bd5bf5084d619d6509e51bdc642d5643775d91f03ca0995cbc5e32e757f00f6f31706533546b5d936638c0dd9d2da8ccca25b3498ff4da4020695c2a waifu2x-converter-cpp-5.3.4.tar.gz
+"
diff --git a/testing/warp-s3/APKBUILD b/testing/warp-s3/APKBUILD
new file mode 100644
index 00000000000..4339b2bd48e
--- /dev/null
+++ b/testing/warp-s3/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=warp-s3
+pkgver=0.8.0
+pkgrel=3
+pkgdesc="Benchmarking tool for S3"
+url="https://github.com/minio/warp"
+license="AGPL-3.0"
+arch="all !armhf !armv7 !x86" # tests fail on 32-bit architectures
+makedepends="go"
+options="net"
+source="https://github.com/minio/warp/archive/v$pkgver/warp-s3-$pkgver.tar.gz"
+builddir="$srcdir/warp-$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build \
+ -ldflags "-X github.com/minio/warp/pkg.Version=$pkgver" \
+ -o warp-s3
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+e6d3d48193c74d6468733440553c8be50075561ad75e4ce07d9a147fd5808bc1cbbe61a41fd4fb4e76eb1e4d2e723c706eae27d8ad97f17b8930d3926c167ad4 warp-s3-0.8.0.tar.gz
+"
diff --git a/testing/warpinator/APKBUILD b/testing/warpinator/APKBUILD
new file mode 100644
index 00000000000..9beafd07dc6
--- /dev/null
+++ b/testing/warpinator/APKBUILD
@@ -0,0 +1,71 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=warpinator
+pkgver=1.8.3
+pkgrel=0
+pkgdesc="Share files across the LAN"
+url="https://github.com/linuxmint/warpinator"
+arch="noarch"
+license="GPL-3.0-or-later"
+depends="
+ bubblewrap
+ py3-cairo
+ py3-cryptography
+ py3-google-api-core
+ py3-grpcio
+ py3-landlock
+ py3-netifaces
+ py3-pynacl
+ py3-qrcode
+ py3-setproctitle
+ py3-setuptools
+ py3-xapp
+ py3-zeroconf
+ xapp
+ "
+makedepends="
+ appstream-dev
+ gettext-dev
+ gobject-introspection
+ grpc-dev
+ itstool
+ meson
+ polkit-dev
+ python3-dev
+ py3-protobuf
+ xapp-dev
+ "
+subpackages="
+ $pkgname-lang
+ $pkgname-nemo
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/warpinator/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # No upstream testsuite defined
+build() {
+ meson setup \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --buildtype=plain \
+ -Dbundle-grpc=false \
+ -Dbundle-landlock=false \
+ -Dbundle-zeroconf=false \
+ . output
+ meson compile ${JOBS:+-j ${JOBS}} -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+nemo() {
+ pkgdesc="$pkgdesc (nemo integration)"
+ install_if="$pkgname=$pkgver-r$pkgrel nemo"
+
+ amove usr/share/nemo
+}
+
+sha512sums="
+e8db3fb97bb5b17ad8e91fb48345f2a582382468281ad63776dc69fd703b3d4deedab0d6278c2902d417ae0bf32a8a46cbbdd84b9a2bd919c530967e7e9d9eb4 warpinator-1.8.3.tar.gz
+"
diff --git a/testing/warzone2100/APKBUILD b/testing/warzone2100/APKBUILD
index 73208eab2b4..1b6a0b4df71 100644
--- a/testing/warzone2100/APKBUILD
+++ b/testing/warzone2100/APKBUILD
@@ -1,57 +1,72 @@
# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
pkgname=warzone2100
-pkgver=3.4.1
-pkgrel=0
+pkgver=4.3.5
+pkgrel=1
pkgdesc="3D realtime strategy game on a future Earth"
url="https://wz2100.net/"
-arch="x86_64" # only available x86_64 for compiling problems
-license="GPL-1.0-only"
-depends="
- ttf-dejavu
- xrandr
- "
+# huge videogame
+arch="x86_64"
+license="GPL-2.0-or-later"
+# todo: bundles some font-dejavu/font-noto-cjk, but needs patching
makedepends="
- sdl2-dev
- glew-dev
- fribidi-dev
- openal-soft-dev
- libvorbis-dev
- libtheora-dev
- physfs-dev
- qt5-qtscript-dev
- libsodium-dev
- gawk
- flex
- zip
- unzip
asciidoc
- mesa
cmake
- harfbuzz-dev
+ curl-dev
freetype-dev
+ fribidi-dev
+ gawk
+ harfbuzz-dev
libpng-dev
+ libsodium-dev
+ libtheora-dev
+ libvorbis-dev
+ mesa-dev
+ openal-soft-dev
+ opus-dev
+ physfs-dev
+ qt5-qtscript-dev
+ samurai
+ sdl2-dev
sqlite-dev
- curl-dev
+ vulkan-headers
+ zip
+ zstd-dev
+ "
+subpackages="$pkgname-doc $pkgname-lang $pkgname-data::noarch"
+source="$pkgname-$pkgver.tar.xz::https://github.com/Warzone2100/warzone2100/releases/download/$pkgver/warzone2100_src.tar.xz
+ samurai.patch
"
-subpackages="$pkgname-doc $pkgname-lang"
-source="$pkgname-$pkgver.tar.xz::https://github.com/Warzone2100/warzone2100/releases/download/$pkgver/warzone2100_src.tar.xz"
builddir="$srcdir/warzone2100"
+options="!check" # who tests videogames
build() {
if [ "$CBUILD" != "$CHOST" ]; then
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- cmake -B build \
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DWZ_DISTRIBUTOR="AlpineLinux" \
+ -DWZ_ENABLE_WARNINGS_AS_ERRORS=OFF \
+ -DENABLE_DISCORD=OFF \
$CMAKE_CROSSOPTS
cmake --build build
}
package() {
- DESTDIR="$pkgdir" cmake --build build --target install
+ depends="$pkgname-data=$pkgver-r$pkgrel"
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+data() {
+ pkgdesc="Data files for warzone2100"
+
+ amove usr/share/warzone2100
}
-sha512sums="26c026400e418ed3da94d96e7bb443c765ede3e0b347785ff8a9e687a5ad87afe03012c830fd509b927634484687efac951b2ef3417e7fe027ce0e684561ca84 warzone2100-3.4.1.tar.xz"
+sha512sums="
+ec65f22a0aad9fe482c4ea916cb321d171b10f0a9b181fea7db2eb17bf54e32b3828c8259082fff266713e2cab4e32dcc455d0d5b923a5ca221fc77b11137062 warzone2100-4.3.5.tar.xz
+7f2998c29a3d6e94b0d475f1d467752568533fe9c84ffdee7a441f62cd8027aecbfdd990d4b1ea00099d6bc1776a0d88cb5b3336f802e274d93ea0740b421be2 samurai.patch
+"
diff --git a/testing/warzone2100/samurai.patch b/testing/warzone2100/samurai.patch
new file mode 100644
index 00000000000..b92b32d331f
--- /dev/null
+++ b/testing/warzone2100/samurai.patch
@@ -0,0 +1,13 @@
+diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt
+index 1336ebe..ceb926b 100644
+--- a/3rdparty/CMakeLists.txt
++++ b/3rdparty/CMakeLists.txt
+@@ -102,7 +102,7 @@ if (WZ_ENABLE_BASIS_UNIVERSAL)
+ message(FATAL_ERROR "Failed to create directory for basis_universal_host_build")
+ endif()
+ execute_process(
+- COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Release "${CMAKE_CURRENT_SOURCE_DIR}/basis_universal_host_build"
++ COMMAND ${CMAKE_COMMAND} -G Ninja -DCMAKE_BUILD_TYPE=Release "${CMAKE_CURRENT_SOURCE_DIR}/basis_universal_host_build"
+ WORKING_DIRECTORY "${BASISU_BINARY_DIR}"
+ RESULT_VARIABLE _basis_result
+ )
diff --git a/testing/wasmtime/APKBUILD b/testing/wasmtime/APKBUILD
new file mode 100644
index 00000000000..4ef7664e0c1
--- /dev/null
+++ b/testing/wasmtime/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=wasmtime
+pkgver=18.0.3
+pkgrel=0
+pkgdesc="Fast and secure runtime for WebAssembly"
+url="https://wasmtime.dev/"
+# others unsupported
+arch="aarch64 x86_64"
+license="Apache-2.0"
+depends_dev="libwasmtime=$pkgver-r$pkgrel"
+makedepends="
+ cargo
+ cargo-auditable
+ chrpath
+ rust-wasm
+ zstd-dev
+ "
+subpackages="libwasmtime $pkgname-dev"
+source="https://github.com/bytecodealliance/wasmtime/releases/download/v$pkgver/wasmtime-v$pkgver-src.tar.gz
+ system-zstd.patch
+ "
+builddir="$srcdir/wasmtime-v$pkgver-src"
+# net: fetch dependencies
+# check: custom_limiter_detect_os_oom_failure fails with oom for some reason
+options="!check net"
+
+
+prepare() {
+ default_prepare
+
+ git init -q
+ # can't patch deps with vendor dir
+ rm -fv .cargo/config.toml
+ rm -rf vendor
+
+ # Rust target triple.
+ local target=$(rustc -vV | sed -n 's/host: //p')
+
+ # Build against system-provided libs
+ mkdir -p .cargo
+ cat >> .cargo/config.toml <<-EOF
+ [target.$target]
+ zstd = { rustc-link-lib = ["zstd"] }
+ EOF
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+ cargo auditable build --frozen --release -p wasmtime-c-api
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/wasmtime -t "$pkgdir"/usr/bin/
+ # remove gigantic useless rpath to /usr/lib
+ chrpath -d target/release/libwasmtime.so
+ install -Dm644 target/release/libwasmtime.so -t "$pkgdir"/usr/lib/
+ cp -a crates/c-api/include "$pkgdir"/usr/
+}
+
+libwasmtime() {
+ amove usr/lib
+}
+
+sha512sums="
+de00e97c7075b6b0bf1dc7b1189512bd47cad60cae30d4885bedd070d2efabeb2fb5bf3409b49ad2713e2f8cc141186811bcb0527fc92cb4c9c278aea8713af5 wasmtime-v18.0.3-src.tar.gz
+5441687022cee3a4774052cf81aef786bfb6385f0474c13964320c529b9f82128063f088c6a6e3e3f2883b592b118f13e0dacb309697d0e8d8e2d9670e33bba7 system-zstd.patch
+"
diff --git a/testing/wasmtime/system-zstd.patch b/testing/wasmtime/system-zstd.patch
new file mode 100644
index 00000000000..7dbdf11eebb
--- /dev/null
+++ b/testing/wasmtime/system-zstd.patch
@@ -0,0 +1,67 @@
+diff --git a/Cargo.lock b/Cargo.lock
+index f5a3e5e..dc23e54 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -2272,6 +2272,12 @@ dependencies = [
+ "zeroize",
+ ]
+
++[[package]]
++name = "pkg-config"
++version = "0.3.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160"
++
+ [[package]]
+ name = "plotters"
+ version = "0.3.1"
+@@ -4641,18 +4647,18 @@ dependencies = [
+
+ [[package]]
+ name = "zstd"
+-version = "0.11.1+zstd.1.5.2"
++version = "0.12.3+zstd.1.5.2"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "77a16b8414fde0414e90c612eba70985577451c4c504b99885ebed24762cb81a"
++checksum = "76eea132fb024e0e13fd9c2f5d5d595d8a967aa72382ac2f9d39fcc95afd0806"
+ dependencies = [
+ "zstd-safe",
+ ]
+
+ [[package]]
+ name = "zstd-safe"
+-version = "5.0.1+zstd.1.5.2"
++version = "6.0.4+zstd.1.5.4"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7c12659121420dd6365c5c3de4901f97145b79651fb1d25814020ed2ed0585ae"
++checksum = "7afb4b54b8910cf5447638cb54bf4e8a65cbedd783af98b98c62ffe91f185543"
+ dependencies = [
+ "libc",
+ "zstd-sys",
+@@ -4660,10 +4666,11 @@ dependencies = [
+
+ [[package]]
+ name = "zstd-sys"
+-version = "2.0.1+zstd.1.5.2"
++version = "2.0.8+zstd.1.5.5"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9fd07cbbc53846d9145dbffdf6dd09a7a0aa52be46741825f5c97bdd4f73f12b"
++checksum = "5556e6ee25d32df2586c098bbfa278803692a20d0ab9565e049480d52707ec8c"
+ dependencies = [
+ "cc",
+ "libc",
++ "pkg-config",
+ ]
+diff --git a/crates/cache/Cargo.toml b/crates/cache/Cargo.toml
+index b7fb059..1d9419f 100644
+--- a/crates/cache/Cargo.toml
++++ b/crates/cache/Cargo.toml
+@@ -18,7 +18,7 @@ log = { workspace = true }
+ serde = { version = "1.0.94", features = ["derive"] }
+ sha2 = "0.10.2"
+ toml = "0.5.5"
+-zstd = { version = "0.11.1", default-features = false }
++zstd = { version = "0.12", default-features = false, features = ["pkg-config"] }
+
+ [target.'cfg(target_os = "windows")'.dependencies.windows-sys]
+ workspace = true
diff --git a/testing/watchbind/APKBUILD b/testing/watchbind/APKBUILD
new file mode 100644
index 00000000000..b4dc030d0b5
--- /dev/null
+++ b/testing/watchbind/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=watchbind
+pkgver=0.2.1
+pkgrel=0
+pkgdesc="Turn any shell command into a powerful TUI with custom keybindings"
+url="https://github.com/fritzrehde/watchbind"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="cargo cargo-auditable"
+subpackages="$pkgname-doc"
+options="net"
+source="$pkgname-$pkgver.tar.gz::https://github.com/fritzrehde/watchbind/archive/v$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 "target/release/$pkgname" -t "$pkgdir/usr/bin"
+ install -Dm 644 README.md -t "$pkgdir/usr/share/doc/$pkgname"
+}
+
+sha512sums="
+4084e854e070b2c9736e2ef10025f6703efcac8e9fb9c345f09e03a2048d0437e2d470b684f25306b66fca99cbeab40202d0560eba24aa2a69220b34369d2f46 watchbind-0.2.1.tar.gz
+"
diff --git a/testing/watchdog/APKBUILD b/testing/watchdog/APKBUILD
new file mode 100644
index 00000000000..3b23d94e372
--- /dev/null
+++ b/testing/watchdog/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: Milan P. Stanić <mps@arvanta.net>
+pkgname=watchdog
+pkgver=5.16
+pkgrel=1
+pkgdesc="watchdog daemon"
+url="https://sourceforge.net/projects/watchdog/"
+arch="all"
+license="GPL-2.0-or-later"
+options="!check" # no test
+makedepends="linux-headers"
+subpackages="$pkgname-doc"
+source="https://downloads.sourceforge.net/watchdog/watchdog-$pkgver.tar.gz"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var \
+ --with-pidfile=/run/watchdog.pid \
+ --with-ka_pidfile=/run/wd_keepalive.pid \
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+1c9c921570ec7ddc3e4ff88b2029f1c3865277e547fb8970575df4b61fdf1f06f443f49ad09f11c29d913ca7d6ab05c5b19ec049ac218a8bcebd20b1bf5f0bbd watchdog-5.16.tar.gz
+"
diff --git a/testing/watchexec/APKBUILD b/testing/watchexec/APKBUILD
deleted file mode 100644
index bb224f25ec6..00000000000
--- a/testing/watchexec/APKBUILD
+++ /dev/null
@@ -1,41 +0,0 @@
-# Contributor: Chloe Kudryavtsev <toast@toast.cafe>
-# Maintainer: Chloe Kudryavtsev <toast@toast.cafe>
-pkgname=watchexec
-pkgver=1.17.1
-pkgrel=0
-pkgdesc='Executes commands in response to file modifications'
-url='https://github.com/watchexec/watchexec'
-arch='x86_64 x86 armhf armv7 aarch64 ppc64le' # limited by rust/cargo
-license='Apache-2.0'
-makedepends='cargo'
-checkdepends="bash"
-subpackages="$pkgname-doc
- $pkgname-zsh-completion
- "
-source="https://github.com/watchexec/watchexec/archive/refs/tags/cli-v$pkgver.tar.gz"
-builddir="$srcdir/watchexec-cli-v$pkgver"
-
-export CARGO_HOME="$srcdir"/cargo
-
-build() {
- cargo build \
- --release \
- --verbose
-}
-
-check() {
- cargo test --all \
- --release \
- --verbose
-}
-
-package() {
- install -Dm755 target/release/"$pkgname" "$pkgdir"/usr/bin/"$pkgname"
- install -Dm644 doc/"$pkgname".1 "$pkgdir"/usr/share/man/man1/"$pkgname".1
- install -Dm644 "$builddir"/completions/zsh \
- "$pkgdir"/usr/share/zsh/site-functions/_watchexec
-}
-
-sha512sums="
-798b67df62b0597ff1bd5a5bf27fd5f9b84a6b3cad831bcd86327d27e1799033cd8d98d72afceb1917663d8ebd5ed77f5acfa07f5398c673ca54bc53007ccf00 cli-v1.17.1.tar.gz
-"
diff --git a/testing/watchman/APKBUILD b/testing/watchman/APKBUILD
deleted file mode 100644
index b5a55d350aa..00000000000
--- a/testing/watchman/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Maintainer: André Klitzing <aklitzing@gmail.com>
-pkgname=watchman
-pkgver=4.9.0
-pkgrel=2
-pkgdesc="A file watching service"
-url="https://facebook.github.io/watchman/"
-#arch="all !s390x !mips !mips64" # broken tests on big-endian
-license="Apache-2.0"
-makedepends="pcre-dev autoconf automake linux-headers libtool openssl-dev python3-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/facebook/watchman/archive/v$pkgver.tar.gz
- e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch
- Replaced-memset-calls-with-appropriate-C++11-init-or-assignment.patch
- "
-builddir="$srcdir/"$pkgname-$pkgver
-
-build() {
- cd "$builddir"
- ./autogen.sh
- ./configure --prefix= --exec-prefix=/usr --enable-lenient
- make
-}
-
-check() {
- cd "$builddir"
- make check
-}
-
-package() {
- cd "$builddir"
- make DESTDIR=$pkgdir install-binPROGRAMS
-}
-
-sha512sums="f25b77f73bca3e25a0254a98af5c8125b8a31133ec3702cac656459f3522d5f0bf2e96d5893ca9fb5ce3ae18adce58224746bd8ca9afc5c312bcd697cb5b2d5d watchman-4.9.0.tar.gz
-6bb0bb780c6f4067e74dcdeafdef3063ac8e1885e7e9529594e83261107975b152b4fde2693d026c275a7dc7b7dc08e209dd772aeea186678933dbbec5a8f1fe e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch
-f511cd9bc3468fdf18b09fd7738755fce0cabc4aa1026dfb45066675e359f62ec5b1d69effa2d8cfb9c68520ce7c62bd619ad5681652c418427f0282a7930b99 Replaced-memset-calls-with-appropriate-C++11-init-or-assignment.patch"
diff --git a/testing/watchman/Replaced-memset-calls-with-appropriate-C++11-init-or-assignment.patch b/testing/watchman/Replaced-memset-calls-with-appropriate-C++11-init-or-assignment.patch
deleted file mode 100644
index 1b56062c490..00000000000
--- a/testing/watchman/Replaced-memset-calls-with-appropriate-C++11-init-or-assignment.patch
+++ /dev/null
@@ -1,482 +0,0 @@
-From 8ab92d2d307066f3aa44f13be0e4ac7c11c740ca Mon Sep 17 00:00:00 2001
-From: Sergey Zhupanov <zhupanov@fb.com>
-Date: Thu, 25 Jan 2018 14:58:21 -0800
-Subject: [PATCH] Replaced memset calls with appopriate C++11 init or
- assignment.
-
-Summary: Replaced memset calls with appropriate C++ init or assignment to default-constructed struct.
-
-Reviewed By: wez
-
-Differential Revision: D6770919
-
-fbshipit-source-id: 7d623da7935b54cf00c4775f56298845c528c9f1
----
- FileDescriptor.cpp | 6 ++----
- Pipe.cpp | 3 +--
- json.cpp | 2 +-
- listener.cpp | 6 ++----
- log.cpp | 3 +--
- main.cpp | 6 ++----
- opendir.cpp | 4 ++--
- scm/Mercurial.cpp | 2 +-
- stream_unix.cpp | 3 +--
- stream_win.cpp | 3 +--
- tests/bser.cpp | 2 +-
- watcher/eden.cpp | 2 +-
- watcher/fsevents.cpp | 6 ++----
- watcher/kqueue.cpp | 9 +++------
- watcher/win32.cpp | 3 +--
- winbuild/backtrace.cpp | 2 +-
- winbuild/dir.cpp | 2 +-
- winbuild/posix_spawn.cpp | 14 +++++---------
- 18 files changed, 29 insertions(+), 49 deletions(-)
-
-diff --git a/FileDescriptor.cpp b/FileDescriptor.cpp
-index 21c79285..4f4e220e 100644
---- a/FileDescriptor.cpp
-+++ b/FileDescriptor.cpp
-@@ -151,7 +151,7 @@ bool FileDescriptor::isNonBlock() const {
- * If the case does not match, throws an exception. */
- static void checkCanonicalBaseName(const char *path) {
- #ifdef __APPLE__
-- struct attrlist attrlist;
-+ struct attrlist attrlist = {};
- struct {
- uint32_t len;
- attrreference_t ref;
-@@ -160,7 +160,6 @@ static void checkCanonicalBaseName(const char *path) {
- w_string_piece pathPiece(path);
- auto base = pathPiece.baseName();
-
-- memset(&attrlist, 0, sizeof(attrlist));
- attrlist.bitmapcount = ATTR_BIT_MAP_COUNT;
- attrlist.commonattr = ATTR_CMN_NAME;
-
-@@ -237,7 +236,7 @@ FileDescriptor openFileHandle(const char *path,
- #else // _WIN32
- DWORD access = 0, share = 0, create = 0, attrs = 0;
- DWORD err;
-- SECURITY_ATTRIBUTES sec;
-+ SECURITY_ATTRIBUTES sec = {};
-
- if (!strcmp(path, "/dev/null")) {
- path = "NUL:";
-@@ -259,7 +258,6 @@ FileDescriptor openFileHandle(const char *path,
- // We want more posix-y behavior by default
- share = FILE_SHARE_DELETE | FILE_SHARE_READ | FILE_SHARE_WRITE;
-
-- memset(&sec, 0, sizeof(sec));
- sec.nLength = sizeof(sec);
- sec.bInheritHandle = TRUE;
- if (opts.closeOnExec) {
-diff --git a/Pipe.cpp b/Pipe.cpp
-index 6e087ba2..a6fe3100 100644
---- a/Pipe.cpp
-+++ b/Pipe.cpp
-@@ -11,9 +11,8 @@ Pipe::Pipe() {
- #ifdef _WIN32
- HANDLE readPipe;
- HANDLE writePipe;
-- SECURITY_ATTRIBUTES sec;
-+ SECURITY_ATTRIBUTES sec = {};
-
-- memset(&sec, 0, sizeof(sec));
- sec.nLength = sizeof(sec);
- sec.bInheritHandle = FALSE; // O_CLOEXEC equivalent
- constexpr DWORD kPipeSize = 64 * 1024;
-diff --git a/json.cpp b/json.cpp
-index f1a02121..257ec795 100644
---- a/json.cpp
-+++ b/json.cpp
-@@ -492,7 +492,7 @@ bool watchman_json_buffer::passThru(
- }
-
- json_ref watchman_json_buffer::decodeNext(w_stm_t stm, json_error_t* jerr) {
-- memset(jerr, 0, sizeof(*jerr));
-+ *jerr = json_error_t();
- if (!readAndDetectPdu(stm, jerr)) {
- return nullptr;
- }
-diff --git a/listener.cpp b/listener.cpp
-index 99f7126c..4953020d 100644
---- a/listener.cpp
-+++ b/listener.cpp
-@@ -446,7 +446,7 @@ static std::shared_ptr<watchman_client> make_new_client(
- #ifdef _WIN32
- static void named_pipe_accept_loop_internal(const char* path) {
- HANDLE handles[2];
-- OVERLAPPED olap;
-+ OVERLAPPED olap = {};
- HANDLE connected_event = CreateEvent(NULL, FALSE, TRUE, NULL);
-
- if (!connected_event) {
-@@ -459,7 +459,6 @@ static void named_pipe_accept_loop_internal(const char* path) {
-
- handles[0] = connected_event;
- handles[1] = listener_thread_event;
-- memset(&olap, 0, sizeof(olap));
- olap.hEvent = connected_event;
-
- w_log(W_LOG_ERR, "waiting for pipe clients on %s\n", path);
-@@ -592,7 +591,7 @@ static void accept_loop(FileDescriptor&& listenerDescriptor) {
- bool w_start_listener(const char *path)
- {
- #ifndef _WIN32
-- struct sigaction sa;
-+ struct sigaction sa = {};
- sigset_t sigset;
- #endif
-
-@@ -667,7 +666,6 @@ bool w_start_listener(const char *path)
-
- /* allow SIGUSR1 and SIGCHLD to wake up a blocked thread, without restarting
- * syscalls */
-- memset(&sa, 0, sizeof(sa));
- sa.sa_handler = wakeme;
- sa.sa_flags = 0;
- sigaction(SIGUSR1, &sa, NULL);
-diff --git a/log.cpp b/log.cpp
-index 9b0b96fa..489fbf90 100644
---- a/log.cpp
-+++ b/log.cpp
-@@ -298,9 +298,8 @@ static LONG WINAPI exception_filter(LPEXCEPTION_POINTERS excep) {
-
- void w_setup_signal_handlers(void) {
- #ifndef _WIN32
-- struct sigaction sa;
-+ struct sigaction sa = {};
-
-- memset(&sa, 0, sizeof(sa));
- sa.sa_sigaction = crash_handler;
- sa.sa_flags = SA_SIGINFO|SA_RESETHAND;
-
-diff --git a/main.cpp b/main.cpp
-index b43b3f6d..1f1783be 100644
---- a/main.cpp
-+++ b/main.cpp
-@@ -49,7 +49,7 @@ static bool lock_pidfile(void) {
-
- static bool lock_pidfile(void) {
- #if !defined(USE_GIMLI) && !defined(_WIN32)
-- struct flock lock;
-+ struct flock lock = {};
- pid_t mypid;
-
- // We defer computing this path until we're in the server context because
-@@ -58,7 +58,6 @@
- compute_file_name(&pid_file, compute_user_name(), "pid", "pidfile");
-
- mypid = getpid();
-- memset(&lock, 0, sizeof(lock));
- lock.l_type = F_WRLCK;
- lock.l_start = 0;
- lock.l_whence = SEEK_SET;
-@@ -1041,10 +1040,9 @@ static json_ref build_command(int argc, char** argv) {
-
- // Read blob from stdin
- if (json_input_arg) {
-- json_error_t err;
-+ json_error_t err = {};
- w_jbuffer_t buf;
-
-- memset(&err, 0, sizeof(err));
- auto cmd = buf.decodeNext(w_stm_stdin(), &err);
-
- if (buf.pdu_type == is_bser) {
-diff --git a/opendir.cpp b/opendir.cpp
-index 2d546983..eb4e22b0 100644
---- a/opendir.cpp
-+++ b/opendir.cpp
-@@ -142,7 +142,7 @@ DirHandle::DirHandle(const char* path, bool strict) {
- throw std::system_error(ENOTDIR, std::generic_category(), path);
- }
-
-- memset(&attrlist_, 0, sizeof(attrlist_));
-+ attrlist_ = attrlist();
- attrlist_.bitmapcount = ATTR_BIT_MAP_COUNT;
- attrlist_.commonattr = ATTR_CMN_RETURNED_ATTRS |
- ATTR_CMN_ERROR |
-@@ -216,7 +216,7 @@ const watchman_dir_ent* DirHandle::readDir() {
- return &ent_;
- }
-
-- memset(&ent_.stat, 0, sizeof(ent_.stat));
-+ ent_.stat = watchman::FileInformation();
-
- ent_.stat.dev = item->dev;
- memcpy(&ent_.stat.mtime, &item->mtime, sizeof(item->mtime));
-diff --git a/scm/Mercurial.cpp b/scm/Mercurial.cpp
-index 0b69702e..956b708c 100644
---- a/scm/Mercurial.cpp
-+++ b/scm/Mercurial.cpp
-@@ -29,7 +29,7 @@ ChildProcess::Options Mercurial::makeHgOptions() const {
- }
-
- Mercurial::infoCache::infoCache(std::string path) : dirStatePath(path) {
-- memset(&dirstate, 0, sizeof(dirstate));
-+ dirstate = FileInformation();
- }
-
- w_string Mercurial::infoCache::lookupMergeBase(const std::string& commitId) {
-diff --git a/stream_unix.cpp b/stream_unix.cpp
-index db5af1c3..c9082f3e 100644
---- a/stream_unix.cpp
-+++ b/stream_unix.cpp
-@@ -222,7 +222,7 @@ std::unique_ptr<watchman_stream> w_stm_fdopen(FileDescriptor&& fd) {
- std::unique_ptr<watchman_stream> w_stm_connect_unix(
- const char* path,
- int timeoutms) {
-- struct sockaddr_un un;
-+ struct sockaddr_un un = {};
- int max_attempts = timeoutms / 10;
- int attempts = 0;
- int bufsize = WATCHMAN_IO_BUF_SIZE;
-@@ -238,7 +238,6 @@ std::unique_ptr<watchman_stream> w_stm_connect_unix(
- return nullptr;
- }
-
-- memset(&un, 0, sizeof(un));
- un.sun_family = PF_LOCAL;
- memcpy(un.sun_path, path, strlen(path));
-
-diff --git a/stream_win.cpp b/stream_win.cpp
-index 85d1cb73..70831626 100644
---- a/stream_win.cpp
-+++ b/stream_win.cpp
-@@ -715,7 +715,7 @@ int w_poll_events(struct watchman_event_poll *p, int n, int timeoutms) {
- FileDescriptor w_handle_open(const char* path, int flags) {
- DWORD access = 0, share = 0, create = 0, attrs = 0;
- DWORD err;
-- SECURITY_ATTRIBUTES sec;
-+ SECURITY_ATTRIBUTES sec = {};
-
- if (!strcmp(path, "/dev/null")) {
- path = "NUL:";
-@@ -733,7 +733,6 @@ FileDescriptor w_handle_open(const char* path, int flags) {
- // We want more posix-y behavior by default
- share = FILE_SHARE_DELETE|FILE_SHARE_READ|FILE_SHARE_WRITE;
-
-- memset(&sec, 0, sizeof(sec));
- sec.nLength = sizeof(sec);
- sec.bInheritHandle = TRUE;
- if (flags & O_CLOEXEC) {
-diff --git a/tests/bser.cpp b/tests/bser.cpp
-index 881cb5bb..d6f0b9c8 100644
---- a/tests/bser.cpp
-+++ b/tests/bser.cpp
-@@ -155,7 +155,7 @@ static bool check_roundtrip(
- const char* end = dump_buf->data() + dump_buf->size();
- hexdump(dump_buf->data(), end);
-
-- memset(&jerr, 0, sizeof(jerr));
-+ jerr = json_error_t();
- auto decoded = bunser(dump_buf->data(), end, &needed, &jerr);
- ok(decoded, "decoded something (err = %s)", jerr.text);
-
-diff --git a/watcher/eden.cpp b/watcher/eden.cpp
-index a97bb3ea..55d6ba62 100644
---- a/watcher/eden.cpp
-+++ b/watcher/eden.cpp
-@@ -173,7 +173,7 @@ class EdenFileResult : public FileResult {
- exists_ = true;
- } else {
- exists_ = false;
-- memset(&stat_, 0, sizeof(stat_));
-+ stat_ = watchman::FileInformation();
- }
- }
-
-diff --git a/watcher/fsevents.cpp b/watcher/fsevents.cpp
-index 25a4f9cb..56da24cc 100644
---- a/watcher/fsevents.cpp
-+++ b/watcher/fsevents.cpp
-@@ -275,7 +275,7 @@ static fse_stream* fse_stream_make(
- const std::shared_ptr<w_root_t>& root,
- FSEventStreamEventId since,
- w_string& failure_reason) {
-- FSEventStreamContext ctx;
-+ FSEventStreamContext ctx = {};
- CFMutableArrayRef parray = nullptr;
- CFStringRef cpath = nullptr;
- double latency;
-@@ -328,7 +328,6 @@ static fse_stream* fse_stream_make(
- }
- }
-
-- memset(&ctx, 0, sizeof(ctx));
- ctx.info = fse_stream;
-
- parray = CFArrayCreateMutable(nullptr, 0, &kCFTypeArrayCallBacks);
-@@ -440,7 +439,7 @@ static fse_stream* fse_stream_make(
-
- void FSEventsWatcher::FSEventsThread(const std::shared_ptr<w_root_t>& root) {
- CFFileDescriptorRef fdref;
-- CFFileDescriptorContext fdctx;
-+ CFFileDescriptorContext fdctx = {};
-
- w_set_thread_name("fsevents %s", root->root_path.c_str());
-
-@@ -450,7 +449,6 @@ void FSEventsWatcher::FSEventsThread(const std::shared_ptr<w_root_t>& root) {
-
- attempt_resync_on_drop = root->config.getBool("fsevents_try_resync", true);
-
-- memset(&fdctx, 0, sizeof(fdctx));
- fdctx.info = root.get();
-
- fdref = CFFileDescriptorCreate(
-diff --git a/watcher/kqueue.cpp b/watcher/kqueue.cpp
-index 7c288fe6..554d188b 100644
---- a/watcher/kqueue.cpp
-+++ b/watcher/kqueue.cpp
-@@ -70,7 +70,7 @@ KQueueWatcher::KQueueWatcher(w_root_t* root)
- }
-
- bool KQueueWatcher::startWatchFile(struct watchman_file* file) {
-- struct kevent k;
-+ struct kevent k = {};
-
- auto full_name = w_dir_path_cat_str(file->parent, file->getName());
- {
-@@ -98,7 +98,6 @@ bool KQueueWatcher::startWatchFile(struct watchman_file* file) {
- return false;
- }
-
-- memset(&k, 0, sizeof(k));
- EV_SET(
- &k,
- rawFd,
-@@ -140,7 +139,7 @@ std::unique_ptr<watchman_dir_handle> KQueueWatcher::startWatchDir(
- struct timeval,
- const char* path) {
- struct stat st, osdirst;
-- struct kevent k;
-+ struct kevent k = {};
-
- auto osdir = w_dir_open(path);
-
-@@ -169,7 +168,6 @@ std::unique_ptr<watchman_dir_handle> KQueueWatcher::startWatchDir(
- std::string("directory replaced between opendir and open: ") + path);
- }
-
-- memset(&k, 0, sizeof(k));
- auto dir_name = dir->getFullPath();
- EV_SET(
- &k,
-@@ -256,7 +254,7 @@ bool KQueueWatcher::consumeNotify(
- fflags,
- flags_label);
- if ((fflags & (NOTE_DELETE|NOTE_RENAME|NOTE_REVOKE))) {
-- struct kevent k;
-+ struct kevent k = {};
-
- if (w_string_equal(path, root->root_path)) {
- w_log(
-@@ -269,7 +267,6 @@ bool KQueueWatcher::consumeNotify(
- }
-
- // Remove our watch bits
-- memset(&k, 0, sizeof(k));
- EV_SET(&k, fd, EVFILT_VNODE, EV_DELETE, 0, 0, nullptr);
- kevent(kq_fd.fd(), &k, 1, nullptr, 0, 0);
- wlock->name_to_fd.erase(path);
-diff --git a/watcher/win32.cpp b/watcher/win32.cpp
-index 561cc02b..45edc22b 100644
---- a/watcher/win32.cpp
-+++ b/watcher/win32.cpp
-@@ -108,7 +108,7 @@ void WinWatcher::signalThreads() {
- void WinWatcher::readChangesThread(const std::shared_ptr<w_root_t>& root) {
- std::vector<uint8_t> buf;
- DWORD err, filter;
-- OVERLAPPED olap;
-+ OVERLAPPED olap = {};
- BOOL initiate_read = true;
- HANDLE handles[2] = {olapEvent, ping};
- DWORD bytes;
-@@ -132,7 +132,6 @@ void WinWatcher::readChangesThread(const std::shared_ptr<w_root_t>& root) {
- FILE_NOTIFY_CHANGE_ATTRIBUTES | FILE_NOTIFY_CHANGE_SIZE |
- FILE_NOTIFY_CHANGE_LAST_WRITE;
-
-- memset(&olap, 0, sizeof(olap));
- olap.hEvent = olapEvent;
-
- buf.resize(size);
-diff --git a/winbuild/backtrace.cpp b/winbuild/backtrace.cpp
-index e949a578..d3488408 100644
---- a/winbuild/backtrace.cpp
-+++ b/winbuild/backtrace.cpp
-@@ -40,7 +40,7 @@ char **backtrace_symbols(void **array, size_t n_frames) {
-
- std::call_once(sym_init_once, sym_init);
-
-- memset(&sym.info, 0, sizeof(sym.info));
-+ sym.info = SYMBOL_INFO();
- sym.info.MaxNameLen = sizeof(sym) - sizeof(sym.info);
- sym.info.SizeOfStruct = sizeof(sym.info);
-
-diff --git a/winbuild/dir.cpp b/winbuild/dir.cpp
-index 747b1a9f..f0a69398 100644
---- a/winbuild/dir.cpp
-+++ b/winbuild/dir.cpp
-@@ -41,7 +41,7 @@ class WinDirHandle : public watchman_dir_handle {
- win7_ = true;
- }
-
-- memset(&ent_, 0, sizeof(ent_));
-+ ent_ = watchman_dir_ent();
- ent_.d_name = nameBuf_;
- ent_.has_stat = true;
- if (path[1] == ':') {
-diff --git a/winbuild/posix_spawn.cpp b/winbuild/posix_spawn.cpp
-index 7a12f548..532df654 100644
---- a/winbuild/posix_spawn.cpp
-+++ b/winbuild/posix_spawn.cpp
-@@ -37,7 +37,7 @@ pid_t waitpid(pid_t pid, int* status, int options) {
- }
-
- int posix_spawnattr_init(posix_spawnattr_t *attrp) {
-- memset(attrp, 0, sizeof(*attrp));
-+ *attrp = posix_spawnattr_t();
- return 0;
- }
-
-@@ -72,7 +72,7 @@ int posix_spawnattr_destroy(posix_spawnattr_t *attrp) {
- }
-
- int posix_spawn_file_actions_init(posix_spawn_file_actions_t *actions) {
-- memset(actions, 0, sizeof(*actions));
-+ *actions = posix_spawn_file_actions_t();
- return 0;
- }
-
-@@ -242,9 +242,9 @@ static int posix_spawn_common(
- const posix_spawn_file_actions_t *file_actions,
- const posix_spawnattr_t *attrp,
- char *const argv[], char *const envp[]) {
-- STARTUPINFOEX sinfo;
-- SECURITY_ATTRIBUTES sec;
-- PROCESS_INFORMATION pinfo;
-+ STARTUPINFOEX sinfo = {};
-+ SECURITY_ATTRIBUTES sec = {};
-+ PROCESS_INFORMATION pinfo = {};
- char *cmdbuf;
- char *env_block;
- DWORD create_flags = CREATE_NO_WINDOW|EXTENDED_STARTUPINFO_PRESENT;
-@@ -263,17 +263,13 @@ static int posix_spawn_common(
- return ENOMEM;
- }
-
-- memset(&sinfo, 0, sizeof(sinfo));
- sinfo.StartupInfo.cb = sizeof(sinfo);
- sinfo.StartupInfo.dwFlags = STARTF_USESTDHANDLES|STARTF_USESHOWWINDOW;
- sinfo.StartupInfo.wShowWindow = SW_HIDE;
-
-- memset(&sec, 0, sizeof(sec));
- sec.nLength = sizeof(sec);
- sec.bInheritHandle = TRUE;
-
-- memset(&pinfo, 0, sizeof(pinfo));
--
- if (attrp->flags & POSIX_SPAWN_SETPGROUP) {
- create_flags |= CREATE_NEW_PROCESS_GROUP;
- }
diff --git a/testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch b/testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch
deleted file mode 100644
index 17288fef58e..00000000000
--- a/testing/watchman/e77eb9597c4c094a0b0bbeef0b957b49b40b87eb.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From e77eb9597c4c094a0b0bbeef0b957b49b40b87eb Mon Sep 17 00:00:00 2001
-From: Wez Furlong <wez@fb.com>
-Date: Mon, 8 Jan 2018 21:57:43 -0800
-Subject: [PATCH] fix art.t test failure on alpine linux
-
-Summary:
-Looks like we end up with root_ holding a nullptr after
-the associated test is finished. This only seems to be a problem
-in practice on Alpine linux's musl libc based environment, and
-only when built with `-O2`. Not sure if this is a c++ standard
-library implementation issue or a compiler optimization, or a
-combination of both of those things.
-
-Guard against that with a simple nullptr check.
-
-Refs https://github.com/facebook/watchman/issues/546
-
-Reviewed By: simpkins
-
-Differential Revision: D6681244
-
-fbshipit-source-id: f119b3552c0aeedc325fa83c71b12745536b1dac
----
- thirdparty/libart/src/art-inl.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/thirdparty/libart/src/art-inl.h b/thirdparty/libart/src/art-inl.h
-index fce055be..acc7cd67 100644
---- a/thirdparty/libart/src/art-inl.h
-+++ b/thirdparty/libart/src/art-inl.h
-@@ -760,7 +760,7 @@ art_tree<ValueType, KeyType>::Node::maximum() const {
- template <typename ValueType, typename KeyType>
- typename art_tree<ValueType, KeyType>::Leaf*
- art_tree<ValueType, KeyType>::minimum() const {
-- return root_->minimum();
-+ return root_ ? root_->minimum() : nullptr;
- }
-
- /**
-@@ -769,7 +769,7 @@ art_tree<ValueType, KeyType>::minimum() const {
- template <typename ValueType, typename KeyType>
- typename art_tree<ValueType, KeyType>::Leaf*
- art_tree<ValueType, KeyType>::maximum() const {
-- return root_->maximum();
-+ return root_ ? root_->maximum() : nullptr;
- }
-
- template <typename ValueType, typename KeyType>
diff --git a/testing/watchmate/APKBUILD b/testing/watchmate/APKBUILD
new file mode 100644
index 00000000000..6b66667769d
--- /dev/null
+++ b/testing/watchmate/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Siva Mahadevan <me@svmhdvn.name>
+# Maintainer: Siva Mahadevan <me@svmhdvn.name>
+pkgname=watchmate
+pkgver=0.5.1
+pkgrel=1
+pkgdesc="Companion app for InfiniTime-powered PineTime smart watch"
+url="https://github.com/azymohliad/watchmate"
+# s390x: https://github.com/nix-rust/nix/issues/1968
+arch="all !s390x"
+license="GPL-3.0-only"
+makedepends="
+ cargo
+ cargo-auditable
+ dbus-dev
+ gdk-pixbuf-dev
+ graphene-dev
+ gtk4.0-dev
+ libadwaita-dev
+ openssl-dev
+ pango-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/azymohliad/watchmate/archive/refs/tags/v$pkgver.tar.gz"
+options="net" # needed for downloading dependencies
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --release --frozen
+}
+
+package() {
+ local appid="io.gitlab.azymohliad.WatchMate"
+ install -Dm755 target/release/"$pkgname" -t "$pkgdir"/usr/bin/
+ install -Dm644 "assets/$appid.desktop" -t "$pkgdir/usr/share/applications/"
+ install -Dm644 "assets/$appid.gschema.xml" -t "$pkgdir/usr/share/glib-2.0/schemas/"
+ install -Dm644 "assets/$appid.metainfo.xml" -t "$pkgdir/usr/share/metainfo/"
+ install -Dm644 "assets/icons/$appid.svg" -t \
+ "$pkgdir/usr/share/icons/hicolor/scalable/apps/"
+ install -Dm644 "assets/icons/$appid-symbolic.svg" -t \
+ "$pkgdir/usr/share/icons/hicolor/symbolic/apps/"
+}
+
+sha512sums="
+24afe6c86710a712ff8e0aaa03d6b43b150ebae840abaeb61d4a3bc385e71dca6d9bde0f37f9577b1900519918e8bd212a994a823b73287085f08e58b0bf7e83 watchmate-0.5.1.tar.gz
+"
diff --git a/testing/watercloset/0001-remove-debug-flags-and-werror.patch b/testing/watercloset/0001-remove-debug-flags-and-werror.patch
deleted file mode 100644
index 244b3bd9d98..00000000000
--- a/testing/watercloset/0001-remove-debug-flags-and-werror.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/makefile
-+++ b/makefile
-@@ -26,7 +26,6 @@
-
- CXXFLAGS += `sdl2-config --cflags` -DVERSION=$(VERSION) -DREVISION=$(REVISION) -DDATA_DIR=\"$(DATA_DIR)\"
--CXXFLAGS += -Wall -Wempty-body -Werror -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
-+CXXFLAGS += -Wall -Wempty-body -Wstrict-prototypes -Werror=maybe-uninitialized -Warray-bounds
--CXXFLAGS += -g -lefence
-
- LDFLAGS += `sdl2-config --libs` -lSDL2_mixer -lSDL2_image -lSDL2_ttf -lm
-
diff --git a/testing/watercloset/APKBUILD b/testing/watercloset/APKBUILD
deleted file mode 100644
index b5769e508ed..00000000000
--- a/testing/watercloset/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
-pkgname=watercloset
-pkgver=1.0
-pkgrel=0
-pkgdesc="2D platform puzzle game"
-url="https://www.parallelrealities.co.uk/games/wc/"
-arch="all"
-license="GPL-3.0-or-later"
-depends="$pkgname-data"
-makedepends="sdl2-dev sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev"
-subpackages="$pkgname-data::noarch"
-options="!check" # No testsuite
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/stephenjsweeney/waterCloset/archive/v$pkgver.tar.gz
- 0001-remove-debug-flags-and-werror.patch
- "
-builddir="$srcdir/waterCloset-$pkgver"
-
-build() {
- # This game does not run with -Os optimizations
- unset CXXFLAGS;
- CFLAGS="$CFLAGS -O3"
-
- make DATA_DIR=/usr/share/waterCloset
-}
-
-package() {
- make install \
- DESTDIR="$pkgdir" \
- PREFIX=/usr \
- DATA_DIR=/usr/share/waterCloset
-}
-
-data() {
- pkgdesc="$pkgdesc (data files)"
- mkdir -p "$subpkgdir"/usr/share/waterCloset
- mv "$pkgdir"/usr/share/waterCloset/data \
- "$subpkgdir"/usr/share/waterCloset
-}
-
-sha512sums="
-63f55ea0f05c230dcdc971c3b65247650d360eae5cd255dca097b84a534563b5f9f46ed23279fbe23102c9ae1615084c3e82ce3c6d9a26576b070fff1e37fca9 watercloset-1.0.tar.gz
-04feaa487c3a4d2e3e3602403a350127bd2ae8a7301505b2bdedee6f5bfc1fc38cad14ba619c77bf12dc224cecd9dcf54d2741b3c75bd9d290cf745b63e67c4f 0001-remove-debug-flags-and-werror.patch
-"
diff --git a/testing/watershot/APKBUILD b/testing/watershot/APKBUILD
new file mode 100644
index 00000000000..f1b2fd77085
--- /dev/null
+++ b/testing/watershot/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=watershot
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="A simple wayland native screenshot tool"
+url="https://github.com/Kirottu/watershot"
+# s390x: no desktop on this arch
+arch="all !s390x"
+license="GPL-3.0-only"
+depends="grim"
+makedepends="
+ cargo
+ cargo-auditable
+ fontconfig-dev
+ libxkbcommon-dev
+ wayland-dev
+ "
+source="https://github.com/Kirottu/watershot/archive/v$pkgver/watershot-$pkgver.tar.gz
+ cargo-features.patch
+ "
+options="!check" # no tests provided
+
+export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -D -m755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+8997eaf8277c5abc166b064999d3ba7ddfe88b10536aea07cd91a7fc9e3720490fc6343b6b091d1c9e09d5f3de7b9251f01f926a4ad43600681527320bba4209 watershot-0.2.0.tar.gz
+a5b1c7b86970a056894fdb2e9cd174227982764b50fbd96a2765a2d3a1bd729593bee5ac2487dbbc94f247a76bceea17b6bf585c5bc0d734d3e978c8389103c0 cargo-features.patch
+"
diff --git a/testing/watershot/cargo-features.patch b/testing/watershot/cargo-features.patch
new file mode 100644
index 00000000000..f72a5bf28be
--- /dev/null
+++ b/testing/watershot/cargo-features.patch
@@ -0,0 +1,364 @@
+Patch-Source: https://github.com/Kirottu/watershot/pull/15
+--
+diff --git a/Cargo.lock b/Cargo.lock
+index bef75e4..dd3d142 100644
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -44,15 +44,6 @@ dependencies = [
+ "version_check",
+ ]
+
+-[[package]]
+-name = "aho-corasick"
+-version = "0.7.20"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "cc936419f96fa211c1b9166887b38e5e40b19958e5b895be7c1f93adec7071ac"
+-dependencies = [
+- "memchr",
+-]
+-
+ [[package]]
+ name = "android_system_properties"
+ version = "0.1.5"
+@@ -128,12 +119,6 @@ version = "0.6.3"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "349f9b6a179ed607305526ca489b34ad0a41aed5f7980fa90eb03160b69598fb"
+
+-[[package]]
+-name = "bit_field"
+-version = "0.10.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "dcb6dd1c2376d2e096796e234a70e17e94cc2d5d54ff8ce42b28cef1d0d359a4"
+-
+ [[package]]
+ name = "bitflags"
+ version = "1.3.2"
+@@ -377,12 +362,6 @@ dependencies = [
+ "cfg-if",
+ ]
+
+-[[package]]
+-name = "crunchy"
+-version = "0.2.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7"
+-
+ [[package]]
+ name = "cxx"
+ version = "1.0.87"
+@@ -476,10 +455,8 @@ version = "0.10.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "85cdab6a89accf66733ad5a1693a4dcced6aeff64602b634530dd73c1f3ee9f0"
+ dependencies = [
+- "humantime",
+ "is-terminal",
+ "log",
+- "regex",
+ "termcolor",
+ ]
+
+@@ -504,21 +481,6 @@ dependencies = [
+ "libc",
+ ]
+
+-[[package]]
+-name = "exr"
+-version = "1.5.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "8eb5f255b5980bb0c8cf676b675d1a99be40f316881444f44e0462eaf5df5ded"
+-dependencies = [
+- "bit_field",
+- "flume",
+- "half",
+- "lebe",
+- "miniz_oxide",
+- "smallvec",
+- "threadpool",
+-]
+-
+ [[package]]
+ name = "fastrand"
+ version = "1.8.0"
+@@ -544,19 +506,6 @@ dependencies = [
+ "miniz_oxide",
+ ]
+
+-[[package]]
+-name = "flume"
+-version = "0.10.14"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1657b4441c3403d9f7b3409e47575237dac27b1b5726df654a6ecbf92f0f7577"
+-dependencies = [
+- "futures-core",
+- "futures-sink",
+- "nanorand",
+- "pin-project",
+- "spin",
+-]
+-
+ [[package]]
+ name = "fnv"
+ version = "1.0.7"
+@@ -587,18 +536,6 @@ version = "0.1.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
+
+-[[package]]
+-name = "futures-core"
+-version = "0.3.25"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "04909a7a7e4633ae6c4a9ab280aeb86da1236243a77b694a49eacd659a4bd3ac"
+-
+-[[package]]
+-name = "futures-sink"
+-version = "0.3.25"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "39c15cf1a4aa79df40f1bb462fb39676d0ad9e366c2a33b590d7c66f4f81fcf9"
+-
+ [[package]]
+ name = "getrandom"
+ version = "0.2.8"
+@@ -606,20 +543,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
+ dependencies = [
+ "cfg-if",
+- "js-sys",
+ "libc",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+- "wasm-bindgen",
+-]
+-
+-[[package]]
+-name = "gif"
+-version = "0.11.4"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "3edd93c6756b4dfaf2709eafcc345ba2636565295c198a9cfbf75fa5e3e00b06"
+-dependencies = [
+- "color_quant",
+- "weezl",
+ ]
+
+ [[package]]
+@@ -730,15 +655,6 @@ dependencies = [
+ "bitflags 1.3.2",
+ ]
+
+-[[package]]
+-name = "half"
+-version = "2.1.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ad6a9459c9c30b177b925162351f97e7d967c7ea8bab3b8352805327daf45554"
+-dependencies = [
+- "crunchy",
+-]
+-
+ [[package]]
+ name = "hashbrown"
+ version = "0.12.3"
+@@ -793,12 +709,6 @@ version = "0.2.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "dfa686283ad6dd069f105e5ab091b04c62850d3e4cf5d67debad1933f55023df"
+
+-[[package]]
+-name = "humantime"
+-version = "2.1.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
+-
+ [[package]]
+ name = "iana-time-zone"
+ version = "0.1.53"
+@@ -832,14 +742,10 @@ dependencies = [
+ "bytemuck",
+ "byteorder",
+ "color_quant",
+- "exr",
+- "gif",
+ "jpeg-decoder",
+ "num-rational",
+ "num-traits",
+ "png",
+- "scoped_threadpool",
+- "tiff",
+ "webp",
+ ]
+
+@@ -928,12 +834,6 @@ version = "1.4.0"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+-[[package]]
+-name = "lebe"
+-version = "0.5.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "03087c2bad5e1034e8cace5926dec053fb3790248370865f5117a7d0213354c8"
+-
+ [[package]]
+ name = "libc"
+ version = "0.2.138"
+@@ -1097,15 +997,6 @@ dependencies = [
+ "unicode-xid",
+ ]
+
+-[[package]]
+-name = "nanorand"
+-version = "0.7.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6a51313c5820b0b02bd422f4b44776fbf47961755c74ce64afc73bfad10226c3"
+-dependencies = [
+- "getrandom",
+-]
+-
+ [[package]]
+ name = "nix"
+ version = "0.24.3"
+@@ -1295,26 +1186,6 @@ dependencies = [
+ "indexmap",
+ ]
+
+-[[package]]
+-name = "pin-project"
+-version = "1.0.12"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "ad29a609b6bcd67fee905812e544992d216af9d755757c05ed2d0e15a74c6ecc"
+-dependencies = [
+- "pin-project-internal",
+-]
+-
+-[[package]]
+-name = "pin-project-internal"
+-version = "1.0.12"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "069bdb1e05adc7a8990dce9cc75370895fbe4e3d58b9b73bf1aee56359344a55"
+-dependencies = [
+- "proc-macro2",
+- "quote",
+- "syn 1.0.107",
+-]
+-
+ [[package]]
+ name = "pkg-config"
+ version = "0.3.26"
+@@ -1484,23 +1355,6 @@ dependencies = [
+ "bitflags 1.3.2",
+ ]
+
+-[[package]]
+-name = "regex"
+-version = "1.7.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "48aaa5748ba571fb95cd2c85c09f629215d3a6ece942baa100950af03a34f733"
+-dependencies = [
+- "aho-corasick",
+- "memchr",
+- "regex-syntax",
+-]
+-
+-[[package]]
+-name = "regex-syntax"
+-version = "0.6.28"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848"
+-
+ [[package]]
+ name = "remove_dir_all"
+ version = "0.5.3"
+@@ -1559,12 +1413,6 @@ version = "1.0.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "e1cf6437eb19a8f4a6cc0f7dca544973b0b78843adbfeb3683d1a94a0024a294"
+
+-[[package]]
+-name = "scoped_threadpool"
+-version = "0.1.9"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "1d51f5df5af43ab3f1360b429fa5e0152ac5ce8c0bd6485cae490332e96846a8"
+-
+ [[package]]
+ name = "scopeguard"
+ version = "1.1.0"
+@@ -1636,15 +1484,6 @@ dependencies = [
+ "xkbcommon",
+ ]
+
+-[[package]]
+-name = "spin"
+-version = "0.9.4"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7f6002a767bff9e83f8eeecf883ecb8011875a21ae8da43bffb817a57e78cc09"
+-dependencies = [
+- "lock_api",
+-]
+-
+ [[package]]
+ name = "spirv"
+ version = "0.2.0+1.5.4"
+@@ -1732,26 +1571,6 @@ dependencies = [
+ "syn 1.0.107",
+ ]
+
+-[[package]]
+-name = "threadpool"
+-version = "1.8.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa"
+-dependencies = [
+- "num_cpus",
+-]
+-
+-[[package]]
+-name = "tiff"
+-version = "0.8.1"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7449334f9ff2baf290d55d73983a7d6fa15e01198faef72af07e2a8db851e471"
+-dependencies = [
+- "flate2",
+- "jpeg-decoder",
+- "weezl",
+-]
+-
+ [[package]]
+ name = "time"
+ version = "0.1.45"
+@@ -2090,12 +1909,6 @@ dependencies = [
+ "libwebp-sys",
+ ]
+
+-[[package]]
+-name = "weezl"
+-version = "0.1.7"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "9193164d4de03a926d909d3bc7c30543cecb35400c02114792c2cae20d5e2dbb"
+-
+ [[package]]
+ name = "wgpu"
+ version = "0.16.1"
+diff --git a/Cargo.toml b/Cargo.toml
+index a73b6a2..03dab10 100644
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -6,11 +6,15 @@ edition = "2021"
+
+ # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
++[features]
++default = ["webp"]
++webp = ["image/webp-encoder"]
++
+ [dependencies]
+ smithay-client-toolkit = "0.17.0"
+ wayland-backend = { version = "0.1.2", features = ["client_system"] }
+ wayland-client = { version = "0.30.2", features = ["calloop"] }
+-image = { version = "0.24.5", features = ["webp-encoder"] }
++image = { version = "0.24.5", default-features = false, features = ["farbfeld", "jpeg", "jpeg_rayon", "png"] }
+ ron = "0.8.0"
+ serde = { version = "1.0.152", features = ["derive"] }
+ fontconfig = "0.6.0"
+@@ -18,7 +22,7 @@ wl-clipboard-rs = "0.7.0"
+ nix = { version = "0.26.1", default-features = false, features = ["process"] }
+ clap = { version = "4.0.32", features = ["derive"] }
+ chrono = "0.4.23"
+-env_logger = "0.10.0"
++env_logger = { version = "0.10.0", default-features = false, features = ["auto-color"] }
+ log = "0.4.17"
+ wgpu = "0.16.1"
+ raw-window-handle = "0.5.2"
diff --git a/testing/way-displays/APKBUILD b/testing/way-displays/APKBUILD
new file mode 100644
index 00000000000..90020d7bc7b
--- /dev/null
+++ b/testing/way-displays/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer:
+pkgname=way-displays
+pkgver=1.8.1
+pkgrel=2
+pkgdesc="Auto Manage Your Wayland Displays"
+url="https://github.com/alex-courtis/way-displays"
+arch="all"
+license="MIT"
+makedepends="
+ eudev-dev
+ libinput-dev
+ wayland-dev
+ wayland-protocols
+ yaml-cpp-dev
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/alex-courtis/way-displays/archive/$pkgver/way-displays-$pkgver.tar.gz"
+options="!check" # no tests provided
+
+build() {
+ make
+}
+
+package() {
+ make install PREFIX=/usr PREFIX_ETC=/ DESTDIR="$pkgdir"
+}
+
+sha512sums="
+e93f71f98cc3294b1973ca0c99ef72d284d882d37242128552416560990e055dc9fd77203934b8a3f1f0c034c24041728d0131d53eafe073066440896bcd3af9 way-displays-1.8.1.tar.gz
+"
diff --git a/testing/wayfire-plugins-extra/APKBUILD b/testing/wayfire-plugins-extra/APKBUILD
new file mode 100644
index 00000000000..f0c771b299e
--- /dev/null
+++ b/testing/wayfire-plugins-extra/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Maarten van Gompel <proycon@anaproy.nl>
+pkgname=wayfire-plugins-extra
+pkgver=0.8.1
+pkgrel=0
+pkgdesc="Additional plugins for Wayfire"
+url="https://wayfire.org"
+arch="all"
+license="MIT"
+makedepends="
+ meson
+ wayfire-dev
+ wlroots-dev
+ glibmm-dev
+ libevdev-dev
+ nlohmann-json
+ wayland-protocols
+ wayland-dev
+ "
+options="!check" # no testsuite
+source="https://github.com/WayfireWM/wayfire-plugins-extra/releases/download/v$pkgver/wayfire-plugins-extra-$pkgver.tar.xz"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+ebe12545b0a0ca1c443f334b9bfa31d1f446636dbef2b91c280715ad58d8802ab129f6894959727c0b872558f799c973a158e679683f915a5ef89b67087eed01 wayfire-plugins-extra-0.8.1.tar.xz
+"
diff --git a/testing/wayfire/APKBUILD b/testing/wayfire/APKBUILD
index 0c282eb6aaa..850bc345666 100644
--- a/testing/wayfire/APKBUILD
+++ b/testing/wayfire/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Danct12 <danct12@disroot.org>
# Maintainer: Danct12 <danct12@disroot.org>
pkgname=wayfire
-pkgver=0.7.2
+pkgver=0.8.1
pkgrel=0
pkgdesc="Compiz-clone Wayland compositor"
url="https://wayfire.org"
-arch="all !ppc64le !mips64" # blocked by wlroots
+arch="all"
license="MIT"
install="$pkgname.post-install"
makedepends="
@@ -14,20 +14,21 @@ makedepends="
glm-dev
wf-config-dev
cairo-dev
- libexecinfo-dev
libxml2-dev
wayland-protocols
+ pango-dev
+ nlohmann-json
"
-options="!check" # no testsuite
-subpackages="$pkgname-dev"
+subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/WayfireWM/wayfire/releases/download/v$pkgver/wayfire-$pkgver.tar.xz"
+options="!check" # no testsuite
build() {
abuild-meson \
-Duse_system_wlroots=enabled \
-Duse_system_wfconfig=enabled \
. output
- meson compile ${JOBS:+--j ${JOBS}} -C output
+ meson compile -C output
}
package() {
@@ -38,5 +39,5 @@ package() {
}
sha512sums="
-e1321605dbae2b9769a54aaacb0e4a4259b1e2ab4304e8a8c1257f7033b2d740b0632053309ecccc75e04f7b6d2bdf6d68dcebad6950fd914c3052b19bc58e24 wayfire-0.7.2.tar.xz
+7bce5656b6a7a7fe53b37492465dee3e591eb386666fdd3d6876f4a589f059510fb2d0c0a326df260ca6a293edf4ba43bb55f813e85d4d2d38d6ef1319280254 wayfire-0.8.1.tar.xz
"
diff --git a/testing/wayfire/wayfire.post-install b/testing/wayfire/wayfire.post-install
index 78f40b35edf..d71470fe486 100644
--- a/testing/wayfire/wayfire.post-install
+++ b/testing/wayfire/wayfire.post-install
@@ -1,5 +1,9 @@
#!/bin/sh
-echo -e "\nPlease copy the default config file from /usr/share/wayfire/wayfire.ini.default"
-echo -e "to ~/.config/wayfire.ini\n"
-echo -e "You can install wcm package to config Wayfire.\n"
+cat >&2 <<EOF
+*
+* Please copy the default config file from /usr/share/wayfire/wayfire.ini.default
+* to ~/.config/wayfire.ini
+* You can install wcm package to config Wayfire.
+*
+EOF
diff --git a/testing/wayland-utils/APKBUILD b/testing/wayland-utils/APKBUILD
deleted file mode 100644
index b0572e7110b..00000000000
--- a/testing/wayland-utils/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
-pkgname=wayland-utils
-pkgver=1.0.0
-pkgrel=0
-pkgdesc="Wayland utils tools"
-url="https://wayland.freedesktop.org"
-arch="all"
-license="MIT"
-options="!check" # contains no test suite
-makedepends="wayland-dev wayland-protocols meson"
-subpackages="$pkgname-doc"
-source="https://wayland.freedesktop.org/releases/wayland-utils-$pkgver.tar.xz"
-
-build() {
- abuild-meson . build
- meson compile ${JOBS:+-j ${JOBS}} -C build
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C build
-}
-sha512sums="
-4c6f1822435b36b3acd361c0c54e56150e8a2697a9c4b2c20a149fcfaafe237e45807df3471884ddf594d89558001099e2d938e3f48988ba6950a0f1e3538db2 wayland-utils-1.0.0.tar.xz
-"
diff --git a/testing/waylevel/APKBUILD b/testing/waylevel/APKBUILD
new file mode 100644
index 00000000000..3ff571f9eed
--- /dev/null
+++ b/testing/waylevel/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=waylevel
+pkgver=1.0.0
+pkgrel=1
+pkgdesc="A tool to print Wayland toplevels status and info"
+url="https://git.sr.ht/~shinyzenith/waylevel"
+# s390x: nix crate fails to build
+# riscv64: rust broken
+arch="all !s390x !riscv64"
+license="BSD-2-Clause"
+depends="wayland-libs-client"
+makedepends="
+ cargo
+ cargo-auditable
+ wayland-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~shinyzenith/waylevel/archive/$pkgver.tar.gz"
+
+export CARGO_PROFILE_RELEASE_OPT_LEVEL="z"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -D -m755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+3bf9064c7c76fe0c034542a130ae8f016d6bca56ca89f8ed39a5358ad76f1bc3fb43fb64f762a0040755ddbe90604167088237dc09e2f7eca1d0139b180a87b2 waylevel-1.0.0.tar.gz
+"
diff --git a/testing/waylock/APKBUILD b/testing/waylock/APKBUILD
index 1cd834c21ec..8ec016c3be8 100644
--- a/testing/waylock/APKBUILD
+++ b/testing/waylock/APKBUILD
@@ -1,44 +1,43 @@
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
pkgname=waylock
-pkgver=0.3.3
+pkgver=0.6.5
pkgrel=0
-pkgdesc="A simple screenlocker for wayland compositors"
-url="https://github.com/ifreund/waylock"
-arch="aarch64 armhf armv7 ppc64le x86 x86_64" # limited by rust/cargo
-license="MIT"
-makedepends="cargo linux-pam-dev"
+pkgdesc="A small screenlocker for Wayland compositors"
+url="https://codeberg.org/ifreund/waylock"
+arch="aarch64 x86_64" # blocked by zig
+license="ISC"
+makedepends="
+ libxkbcommon-dev
+ linux-pam-dev
+ scdoc
+ wayland-dev
+ wayland-protocols
+ zig
+ "
subpackages="$pkgname-doc"
-source="https://github.com/ifreund/waylock/archive/v$pkgver/waylock-$pkgver.tar.gz"
-
-prepare() {
- default_prepare
-
- # Reduce binary for size.
- cat >> Cargo.toml <<-EOF
-
- [profile.release]
- codegen-units = 1
- lto = true
- opt-level = "z"
- EOF
-}
+source="https://codeberg.org/ifreund/waylock/releases/download/v$pkgver/waylock-$pkgver.tar.gz
+ fix-version-string.patch
+ pam-base-auth.patch
+ "
build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
+ DESTDIR='.dest' zig build \
+ --prefix /usr \
+ -Doptimize=ReleaseSafe \
+ -Dcpu=baseline \
+ -Dpie=true \
+ -Dman-pages=true \
+ --prefix /usr install
}
package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-
- install -D -m644 waylock.toml -t "$pkgdir"/usr/share/doc/$pkgname/
+ mkdir -p "$pkgdir"
+ cp -r .dest/* "$pkgdir"/
}
sha512sums="
-5a60ad25867565e42aa10774408eae01cdcd6883c4522c23aa13198052cc27974dab35aff6979594d6680710a1ef4a0440554536a4e8e443c1cc50b1e118bad4 waylock-0.3.3.tar.gz
+1a158205c12c51946178ede06eded9f54aff03aefdb5c3e306b1570ef786a611405cfcb96bafb4bd29a82016077fce0630c406d56431ad7dc5cbfb9a5696b589 waylock-0.6.5.tar.gz
+c1782ce8f6e2a2eab4bc5cdfdba22e0e9b14e89c319737bd0c331a9b8c4b09cc9debafa33c6936631f6db14331ebecf0d327dc05d8c8a77a36ef45de35639750 fix-version-string.patch
+e3f5aa479908babbeea2febecdf7c57a5cf6b9153c4cd63731721cdf6d50bd0417077b37effec1520064918a422c4313d24ee9c2b2a77c328be931ffbeb03161 pam-base-auth.patch
"
diff --git a/testing/waylock/fix-version-string.patch b/testing/waylock/fix-version-string.patch
new file mode 100644
index 00000000000..d2d345f3fce
--- /dev/null
+++ b/testing/waylock/fix-version-string.patch
@@ -0,0 +1,15 @@
+This is a bug with the waylock 0.6.5 release tarball. The Git tag for 0.6.5
+does not have this problem. This patch can be removed on the next release.
+
+diff -upr waylock-0.6.5.orig/build.zig waylock-0.6.5/build.zig
+--- waylock-0.6.5.orig/build.zig 2024-03-03 10:47:47.439903112 +0100
++++ waylock-0.6.5/build.zig 2024-03-03 10:47:55.963263085 +0100
+@@ -10,7 +10,7 @@ const Scanner = @import("deps/zig-waylan
+ /// development with the "-dev" suffix.
+ /// When a release is tagged, the "-dev" suffix should be removed for the commit that gets tagged.
+ /// Directly after the tagged commit, the version should be bumped and the "-dev" suffix added.
+-const version = "0.6.6-dev";
++const version = "0.6.5";
+
+ pub fn build(b: *Build) !void {
+ const target = b.standardTargetOptions(.{});
diff --git a/testing/waylock/pam-base-auth.patch b/testing/waylock/pam-base-auth.patch
new file mode 100644
index 00000000000..6df43826f15
--- /dev/null
+++ b/testing/waylock/pam-base-auth.patch
@@ -0,0 +1,7 @@
+We don't have system-auth, but base-auth.
+
+--- a/pam.d/waylock
++++ b/pam.d/waylock
+@@ -1 +1 @@
+-auth include system-auth
++auth include base-auth
diff --git a/testing/waynergy/APKBUILD b/testing/waynergy/APKBUILD
new file mode 100644
index 00000000000..a9dcac09041
--- /dev/null
+++ b/testing/waynergy/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer:
+pkgname=waynergy
+pkgver=0.0.16
+pkgrel=0
+pkgdesc="A synergy client for Wayland compositors"
+url="https://github.com/r-c-f/waynergy"
+arch="all"
+license="MIT"
+depends="wl-clipboard"
+makedepends="
+ libretls-dev
+ libxkbcommon-dev
+ meson
+ wayland-dev
+ "
+source="https://github.com/r-c-f/waynergy/archive/v$pkgver/waynergy-$pkgver.tar.gz"
+options="!check" # no tests defined
+
+build() {
+ abuild-meson -Db_lto=true . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+00b1e47da70960120baba0e195ea4806254bf1ab73261340d1d9947681b5590eb3a6dd4bc82af724dbe03c777e9986fbfdb91e0054acd77f3b4b2d76a40942c3 waynergy-0.0.16.tar.gz
+"
diff --git a/testing/wayqt/APKBUILD b/testing/wayqt/APKBUILD
new file mode 100644
index 00000000000..a76904a01e1
--- /dev/null
+++ b/testing/wayqt/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=wayqt
+pkgver=0.2.0
+pkgrel=0
+pkgdesc="Qt-based wrapper for various wayland protocols"
+url="https://gitlab.com/desktop-frameworks/wayqt"
+# armhf: blocked by wayqt
+arch="all !armhf"
+license="MIT"
+makedepends="
+ meson
+ qt5-qtbase-dev
+ qt5-qtwayland-dev
+ wayland-protocols
+ wlroots0.16-dev
+"
+subpackages="$pkgname-dev"
+source="https://gitlab.com/desktop-frameworks/wayqt/-/archive/v$pkgver/wayqt-v$pkgver.tar.gz"
+builddir="$srcdir/wayqt-v$pkgver"
+options="!check" # no test suite
+
+build() {
+ abuild-meson \
+ -Duse_qt_version=qt5 \
+ output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+885e8da87fa09957a3def467a499d7b6db4202a5102695ee54cd03ecefc74aaba342a1801b7b6b7c30074bd6e089f1148098069182489c88bc0cc025d3708e31 wayqt-v0.2.0.tar.gz
+"
diff --git a/testing/wazero/APKBUILD b/testing/wazero/APKBUILD
new file mode 100644
index 00000000000..a9ae1ac12bb
--- /dev/null
+++ b/testing/wazero/APKBUILD
@@ -0,0 +1,39 @@
+# Maintainer: Jason Staten <code.alpine@jxs.me>
+pkgname=wazero
+pkgver=1.6.0
+pkgrel=2
+pkgdesc="WebAssembly Core Specification 1.0 and 2.0 compliant runtime"
+url="https://wazero.io"
+# Tests fail on 32-bit and ppc64le architectures
+arch="x86_64 aarch64"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/tetratelabs/wazero/archive/refs/tags/v$pkgver.tar.gz
+ debug-test-path.patch
+ "
+
+build() {
+ go build \
+ -ldflags "-X github.com/tetratelabs/wazero/internal/version.version=$pkgver" \
+ ./cmd/wazero
+}
+
+check() {
+ # gojs/goos -buildmode=pie not supported on js/wasm
+ export GOFLAGS="${GOFLAGS/-buildmode=pie}"
+ # integration_test/vs/compiler requires real paths for relative read
+ export GOFLAGS="${GOFLAGS/-trimpath}"
+
+ # Test_crypto is failing on Go 1.22, and gojs will be removed in
+ # wazero 1.7.0: https://github.com/tetratelabs/wazero/pull/2027
+ go test -skip Test_crypto github.com/tetratelabs/wazero/internal/...
+}
+
+package() {
+ install -Dm755 wazero -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+12b86ceda21c382ab4e4e071a2a8972556df41f580b2e24d383150907d9840cfbb471d823709a1f520dd20066095c06409bc83f6bd45c3315fa9fc9fac7b2efb wazero-1.6.0.tar.gz
+289e501d3604c7b4a2907d6b93c7ee93751c3d8dfe0565ec1bf9d275734cd973d03713056405d0adaa7a762a5748f47664fd24b900540ff5b9383fe54a72ac88 debug-test-path.patch
+"
diff --git a/testing/wazero/debug-test-path.patch b/testing/wazero/debug-test-path.patch
new file mode 100644
index 00000000000..324291a24a8
--- /dev/null
+++ b/testing/wazero/debug-test-path.patch
@@ -0,0 +1,14 @@
+diff --git a/debug_test.go b/debug_test.go
+index 1747423..26921d5 100644
+--- a/internal/wasmdebug/debug_test.go
++++ b/internal/wasmdebug/debug_test.go
+@@ -144,7 +144,7 @@ wasm stack trace:
+ x.y()`)
+ require.Contains(t, errStr, "Go runtime stack trace:")
+ require.Contains(t, errStr, "goroutine ")
+- require.Contains(t, errStr, "wazero/internal/wasmdebug/debug_test.go")
++ require.Contains(t, errStr, "internal/wasmdebug/debug_test.go")
+ }
+
+ // compile-time check to ensure testRuntimeErr implements runtime.Error.
+
diff --git a/testing/wbg/APKBUILD b/testing/wbg/APKBUILD
new file mode 100644
index 00000000000..c1a54e6594c
--- /dev/null
+++ b/testing/wbg/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=wbg
+pkgver=1.1.0
+pkgrel=0
+pkgdesc="Simple wallpaper application for Wayland compositors"
+url="https://codeberg.org/dnkl/wbg"
+arch="all"
+license="MIT"
+makedepends="meson
+ libjpeg-turbo-dev
+ libpng-dev
+ pixman-dev
+ tllist-dev
+ wayland-dev
+ wayland-protocols
+ "
+options="!check" # no test suite
+source="$pkgname-$pkgver.tar.gz::https://codeberg.org/dnkl/wbg/archive/$pkgver.tar.gz"
+builddir="$srcdir/$pkgname"
+
+build() {
+ abuild-meson \
+ . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+78384b85074cb1803b47ec16e843c5de4b17a824a3826398902d18dcdd50d5b678cad8eba599e6e17a8ab60f795993c0f2bf2a4fa275f2a90effdfc0d1685175 wbg-1.1.0.tar.gz
+"
diff --git a/testing/wch-isp/APKBUILD b/testing/wch-isp/APKBUILD
new file mode 100644
index 00000000000..86839a36300
--- /dev/null
+++ b/testing/wch-isp/APKBUILD
@@ -0,0 +1,30 @@
+# Contributor: Jules Maselbas <jmaselbas@zdiv.net>
+# Maintainer: Jules Maselbas <jmaselbas@zdiv.net>
+pkgname=wch-isp
+pkgver=0.4.1
+pkgrel=1
+pkgdesc="Firmware programmer for WCH microcontrollers over USB"
+url="https://sr.ht/~jmaselbas/wch-isp"
+arch="all"
+license="GPL-2.0-only"
+makedepends="libusb-dev pkgconf"
+subpackages="$pkgname-doc $pkgname-udev-rules:udev_rules:noarch"
+options="!check" # no tests
+source="https://pub.zdiv.net/dist/wch-isp-$pkgver.tar.gz"
+
+build() {
+ make all
+}
+
+package() {
+ make DESTDIR="$pkgdir" PREFIX=/usr UDEVPREFIX=/lib/udev install install-rules
+}
+
+udev_rules() {
+ pkgdesc="udev rules for $pkgname"
+ amove lib/udev/rules.d/50-wchisp.rules
+}
+
+sha512sums="
+a2cd8806a7e5d02eae7641279e68f4b6d130c86476e8c3259199b294815c00208059f43060aa8b93eeafaf9adbd9ef71e7e3b4f39389104813f95c87fd86e9ad wch-isp-0.4.1.tar.gz
+"
diff --git a/testing/wcm/APKBUILD b/testing/wcm/APKBUILD
index f61fa0666c5..005151628ac 100644
--- a/testing/wcm/APKBUILD
+++ b/testing/wcm/APKBUILD
@@ -1,23 +1,25 @@
# Contributor: Danct12 <danct12@disroot.org>
# Maintainer: Danct12 <danct12@disroot.org>
pkgname=wcm
-pkgver=0.7.0
+pkgver=0.8.0
pkgrel=0
pkgdesc="Wayfire Config Manager"
url="https://wayfire.org"
arch="all"
license="MIT"
-makedepends="wf-config-dev meson libxml++-dev gtk+3.0-dev wayfire-dev"
+makedepends="wf-config-dev meson libxml2-dev gtkmm3-dev wayfire-dev"
options="!check" # no testsuite
source="https://github.com/WayfireWM/wcm/releases/download/v$pkgver/wcm-$pkgver.tar.xz"
build() {
abuild-meson build
- meson compile ${JOBS:+-j ${JOBS}} -C build
+ meson compile -C build
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C build
}
-sha512sums="190d8befafac69c27d99d10113160a1806a9dbd83f740216dd38e9cbe3c2638817b3471c9f46b60642e91abe02fbb72458b61f07bda9cd5fc5dbc7cdf880c6bb wcm-0.7.0.tar.xz"
+sha512sums="
+43d863cfd44dc10874f6ac0c511cd07d84721c53955315fb6eed54ba5f6ac9ebcdcf19e515639deafb333d8e45d95ce8e5222ce1d3344fc7d72f09b018bf517e wcm-0.8.0.tar.xz
+"
diff --git a/testing/wcslib/APKBUILD b/testing/wcslib/APKBUILD
new file mode 100644
index 00000000000..dfa5c61a82c
--- /dev/null
+++ b/testing/wcslib/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Clayton Craft <clayton@craftyguy.net>
+# Maintainer: Clayton Craft <clayton@craftyguy.net>
+pkgname=wcslib
+pkgver=8.2.2
+pkgrel=0
+pkgdesc="implementation of the FITS WCS standard"
+url="https://www.atnf.csiro.au/people/mcalabre/WCS/wcslib/"
+arch="all"
+license="LGPL-3.0-or-later"
+makedepends="
+ cfitsio-dev
+"
+subpackages="$pkgname-dev $pkgname-doc"
+source="ftp://ftp.atnf.csiro.au/pub/software/wcslib/wcslib-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+cf540fdac03d2868902c9d4c2f1cd5919e878e79de635b01006b61f4d95f727659033d0d05172a7bcd00287ecc395609a643cf95a6498fbc3ff2d3fb26c136b4 wcslib-8.2.2.tar.bz2
+"
diff --git a/testing/websockify/APKBUILD b/testing/websockify/APKBUILD
deleted file mode 100644
index 17ad6b3b4f5..00000000000
--- a/testing/websockify/APKBUILD
+++ /dev/null
@@ -1,22 +0,0 @@
-# Contributor: Valery Kartel <valery.kartel@gmail.com>
-# Maintainer: Valery Kartel <valery.kartel@gmail.com>
-pkgname=websockify
-pkgver=0.9.0
-pkgrel=4
-pkgdesc="WebSockets support for any application/server"
-url="https://github.com/kanaka/websockify"
-arch="noarch !mips !mips64" # blocked by py3-numpy
-license="LGPL-3.0-or-later"
-depends="python3 py3-numpy"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/kanaka/websockify/archive/v$pkgver.tar.gz"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-}
-
-sha512sums="d2251f653a40dc6dca0e5541845565d968c60be96a20a9b70b0305c4b7578f7fe205d4b98a94bb77d7c9383a396833af90fe92a6ade7e1a6f2d9bf8513d372c8 websockify-0.9.0.tar.gz"
diff --git a/testing/weex/APKBUILD b/testing/weex/APKBUILD
deleted file mode 100644
index 121f7db5eb8..00000000000
--- a/testing/weex/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Milan P. Staniić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=weex
-pkgver=2.8.3
-pkgrel=1
-pkgdesc="Non-interactive FTP and FTPS client for updating web pages"
-url="http://weex.sourceforge.net/"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="openssl-dev"
-options="!check" #no tests
-subpackages="$pkgname-doc"
-source="https://deb.debian.org/debian/pool/main/w/weex/weex_$pkgver.tar.gz
- fix-ssl-in-configure.patch
- "
-
-prepare() {
- default_prepare
- update_config_sub
-}
-
-build() {
- export CBUILD=$CHOST
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --disable-dependency-tracking \
- --disable-nls
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="0444501cebb0a01dc213ec3efe046499bcabe0e84b315806e60dcc8b96d74e3157d116eba84b2bdff6657e4997dd6b1f7e689c2098b6d45b8e06e67dd74694fa weex_2.8.3.tar.gz
-8b00df510d87fdab7f970abc94e86375b0b96d7bea03d17f9d5ec476074ed4954d8c76687abe9bd6f9b9f901f465984f7ff08bd02684d8964441e39173a9ca75 fix-ssl-in-configure.patch"
diff --git a/testing/weex/fix-ssl-in-configure.patch b/testing/weex/fix-ssl-in-configure.patch
deleted file mode 100644
index d8adbab90ee..00000000000
--- a/testing/weex/fix-ssl-in-configure.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-fixes segmentation fault, described on next url
-URL: https://sourceforge.net/p/weex/bugs/10/
-
---- a/configure.in 2017-02-08 15:01:12.000000000 +0100
-+++ b/configure.in 2020-07-19 13:56:55.097748342 +0200
-@@ -33,7 +33,7 @@
- AC_CHECK_LIB(socket,socket)
- AC_CHECK_LIB(nsl,gethostbyname)
- AC_CHECK_LIB([crypto],[CRYPTO_new_ex_data],
-- AC_CHECK_LIB([ssl],[OPENSSL_init_ssl],
-+ AC_CHECK_LIB([ssl],[SSL_connect],
- [LIBS="$LIBS -lssl -lcrypto"; CFLAGS="$CFLAGS -DUSE_SSL=1"], AC_MSG_ERROR([OpenSSL is not installed]))
- )
-
diff --git a/testing/weggli/APKBUILD b/testing/weggli/APKBUILD
index 8ecfe1b39af..6337128a56a 100644
--- a/testing/weggli/APKBUILD
+++ b/testing/weggli/APKBUILD
@@ -1,28 +1,34 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=weggli
-pkgver=0.2.3
-pkgrel=0
+pkgver=0.2.4
+pkgrel=1
pkgdesc="Semantic search tool for C and C++ codebases"
url="https://github.com/googleprojectzero/weggli"
license="Apache-2.0"
-arch="all !s390x !mips64 !riscv64" # blocked by rust/cargo
-makedepends="cargo"
+arch="all !s390x !riscv64" # blocked by rust/cargo
+makedepends="cargo cargo-auditable"
source="https://github.com/googleprojectzero/weggli/archive/v$pkgver/weggli-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
- cargo build --release --locked
+ cargo auditable build --frozen --release
}
check() {
- cargo test --release --locked
+ cargo test --frozen
}
package() {
- cargo install --locked --path . --root="$pkgdir"/usr
- rm "$pkgdir"/usr/.crates*
+ install -Dm755 target/release/weggli -t "$pkgdir"/usr/bin
}
sha512sums="
-b6c8abf9f9eafc94ec9a5c109bd08bcdc786bc9e18a1e7bd7bff086e9e0a762881001a1fe3806f08e444a1d51a359ed5145b2153e4ebacebfbdecb432a962cb2 weggli-0.2.3.tar.gz
+2473415f60f2834e652d3f6f933bc648e659fca8fef85e82d2cfb87cb039727a38aa32b2eb90ac93cf7d2f11a803daeb73350e85ac1144ed9194757854bc225e weggli-0.2.4.tar.gz
"
diff --git a/testing/welle-io/APKBUILD b/testing/welle-io/APKBUILD
new file mode 100644
index 00000000000..40d5ae84b55
--- /dev/null
+++ b/testing/welle-io/APKBUILD
@@ -0,0 +1,66 @@
+# Contributor: Jakob Meier <comcloudway@ccw.icu>
+# Maintainer: Jakob Meier <comcloudway@ccw.icu>
+pkgname=welle-io
+pkgver=2.4
+pkgrel=4
+pkgdesc="A DAB/DAB+ Software Defined Radio (SDR)"
+url="https://www.welle.io/"
+arch="all"
+license="GPL-2.0-or-later"
+# potentally missing: airspy-dev
+makedepends="
+ cmake
+ faad2-dev
+ fftw-dev
+ lame-dev
+ librtlsdr-dev
+ mpg123-dev
+ qt5-qtbase-dev
+ qt5-qtcharts-dev
+ qt5-qtdeclarative-dev
+ qt5-qtmultimedia-dev
+ qt5-qtquickcontrols2-dev
+ qt5-qttools-dev
+ samurai
+ soapy-sdr-dev
+ alsa-lib-dev
+ "
+subpackages="$pkgname-doc welle-cli:cli"
+source="welle-$pkgver.tar.gz::https://github.com/AlbrechtL/welle.io/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/welle.io-$pkgver"
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ # DCMAKE_EXE_LINKER_FLAGS required,
+ # to prevent segfault when trying to interact with device
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=None \
+ -DRTLSDR=ON \
+ -DSOAPYSDR=ON \
+ -DCMAKE_EXE_LINKER_FLAGS=-Wl,-z,stack-size=512000 \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+cli() {
+ pkgdesc="$pkgdesc (cli frontend)"
+ amove usr/bin/welle-cli
+}
+
+sha512sums="
+2d03388ed9e39e400a423ced88616f267da0516f6db9c0391dcc8fb96dc02898fb36ee8dcbabe3024f681a7ba2cc72e478236ce2f19f0fa16ccd769989331927 welle-2.4.tar.gz
+"
diff --git a/testing/wesnoth/APKBUILD b/testing/wesnoth/APKBUILD
deleted file mode 100644
index 9fd671a2538..00000000000
--- a/testing/wesnoth/APKBUILD
+++ /dev/null
@@ -1,39 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=wesnoth
-pkgver=1.14.16
-_major=${pkgver%.*}
-pkgrel=1
-pkgdesc="turn-based strategy game in fantasy world"
-url="https://www.wesnoth.org"
-arch="all !mips !mips64" # fails to build on mips
-license="GPL-2.0-only"
-makedepends="boost-dev bzip2-dev cairo-dev cmake dbus-dev fontconfig-dev
- fribidi-dev libvorbis-dev openssl-dev pango-dev sdl2-dev
- sdl2_image-dev sdl2_mixer-dev sdl2_ttf-dev zlib-dev"
-subpackages="$pkgname-doc"
-source="https://sourceforge.net/projects/wesnoth/files/wesnoth-$_major/wesnoth-$pkgver/wesnoth-$pkgver.tar.bz2"
-options="!check" # No tests
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- $CMAKE_CROSSOPTS .
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-cd7b3f3e3bb6021cc92c04b08bc0f1e0a6558c9c195b06f3668bdf03b5d275b036c41d8d8b727397ea079fb13c0e6503a2e011a53a9473384bb6cec797f51c32 wesnoth-1.14.16.tar.bz2
-"
diff --git a/testing/wf-config/APKBUILD b/testing/wf-config/APKBUILD
index 08024955274..8a4c7da1a40 100644
--- a/testing/wf-config/APKBUILD
+++ b/testing/wf-config/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Danct12 <danct12@disroot.org>
# Maintainer: Danct12 <danct12@disroot.org>
pkgname=wf-config
-pkgver=0.7.0
+pkgver=0.8.0
pkgrel=0
pkgdesc="Library for managing configuration files written for Wayfire"
url="https://wayfire.org"
@@ -20,11 +20,13 @@ source="https://github.com/WayfireWM/wf-config/releases/download/v$pkgver/wf-con
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C output
}
-sha512sums="ddad687b180e786060839cafe5623a0897ade061e6ad057dbe579d51595fbf2dc45674df3fb35070520dc51d7e02d4c9158d9cf8d4619ac49334014f6701f06d wf-config-0.7.0.tar.xz"
+sha512sums="
+79cca2429a39ee81f853043698c57fc08025634926773253cff73fc564dcf203335b4b861d82b60a769bbab7b07be6a7e181c9ea29ad98ce930de20f9723893f wf-config-0.8.0.tar.xz
+"
diff --git a/testing/wf-osk/APKBUILD b/testing/wf-osk/APKBUILD
deleted file mode 100644
index a652e72b0a3..00000000000
--- a/testing/wf-osk/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Sodface <sod@sodface.com>
-# Maintainer: Sodface <sod@sodface.com>
-pkgname=wf-osk
-pkgver=0_git20200901
-_commit=d2e2e3228913ffa800ca31402820d2d90619279e
-pkgrel=0
-pkgdesc="Basic on-screen keyboard for Wayland"
-url="https://github.com/WayfireWM/wf-osk"
-arch="all"
-license="MIT"
-makedepends="
- meson
- gtkmm3-dev
- gtk-layer-shell-dev
- wayland-protocols
- wayland-libs-client
- "
-options="!check" # no test suite
-source=$pkgname-$_commit.tar.gz::"https://github.com/WayfireWM/wf-osk/archive/$_commit/wf-osk-$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-}
-
-sha512sums="
-7164988a54b0ce16be53360b5487272e0f64b878e9ff231e8eaf6b7a3056d47cdcaa89204b3b5cc105e7addbbca80f0fa143b610d3ef472673f254fae45970d0 wf-osk-d2e2e3228913ffa800ca31402820d2d90619279e.tar.gz
-"
diff --git a/testing/wf-shell/APKBUILD b/testing/wf-shell/APKBUILD
new file mode 100644
index 00000000000..6c3b082eff9
--- /dev/null
+++ b/testing/wf-shell/APKBUILD
@@ -0,0 +1,34 @@
+# Maintainer: Maarten van Gompel <proycon@anaproy.nl>
+pkgname=wf-shell
+pkgver=0.8.1
+pkgrel=0
+pkgdesc="A GTK3-based panel for wayfire"
+url="https://wayfire.org"
+arch="all"
+license="MIT"
+install="$pkgname.post-install"
+makedepends="
+ meson
+ wayfire-dev
+ gtk-layer-shell-dev
+ libdbusmenu-gtk3-dev
+ pulseaudio-dev
+ alsa-lib-dev
+ gtkmm3-dev
+ "
+options="!check" # no testsuite
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/WayfireWM/wf-shell/releases/download/v$pkgver/wf-shell-$pkgver.tar.xz"
+
+build() {
+ abuild-meson -Dpulse=enabled -Dwayland-logout=true . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+b0d283dee712ed01bdabb373f8144e6c231aa68669be8851e6603678972d9f2bdcadda773df49510c902f8e8845fdb767f9da65356640fe37843dd92d0c240f2 wf-shell-0.8.1.tar.xz
+"
diff --git a/testing/wf-shell/wf-shell.post-install b/testing/wf-shell/wf-shell.post-install
new file mode 100644
index 00000000000..1eb9a2e56e5
--- /dev/null
+++ b/testing/wf-shell/wf-shell.post-install
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+cat >&2 <<EOF
+*
+* Please copy the default config file from /usr/share/wf-shell/wf-shell.ini.example
+* to ~/.config/wf-shell.ini
+*
+EOF
diff --git a/testing/wgcf/APKBUILD b/testing/wgcf/APKBUILD
new file mode 100644
index 00000000000..42e907924a5
--- /dev/null
+++ b/testing/wgcf/APKBUILD
@@ -0,0 +1,47 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=wgcf
+pkgver=2.2.21
+pkgrel=2
+pkgdesc="Unofficial CLI for Cloudflare Warp"
+url="https://github.com/ViRb3/wgcf"
+arch="all"
+license="MIT"
+makedepends="go"
+subpackages="
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/ViRb3/wgcf/archive/refs/tags/v$pkgver.tar.gz"
+options="net" # download Go modules
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -v
+
+ for shell in bash fish zsh; do
+ ./wgcf completion $shell > wgcf.$shell
+ done
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 wgcf -t "$pkgdir"/usr/bin/
+
+ install -Dm644 wgcf.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/wgcf
+ install -Dm644 wgcf.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/wgcf.fish
+ install -Dm644 wgcf.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_wgcf
+}
+
+sha512sums="
+595c08cf266e06014d2978db94d452368a7ea86aa4fe90906903ac4a18aea2108329b4029b8909a9737e97e9f828112b04efc91aa61169fe07dc7ef364d4ec17 wgcf-2.2.21.tar.gz
+"
diff --git a/testing/wget2/APKBUILD b/testing/wget2/APKBUILD
index 62e08270443..105dfe536db 100644
--- a/testing/wget2/APKBUILD
+++ b/testing/wget2/APKBUILD
@@ -4,8 +4,8 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Maintainer: Carlo Landmeter <clandmeter@alpinelinux.org>
pkgname=wget2
-pkgver=2.0.0
-pkgrel=1
+pkgver=2.1.0
+pkgrel=0
pkgdesc="Network utility to retrieve files from the Web"
url="https://www.gnu.org/software/wget/wget.html"
arch="all"
@@ -60,5 +60,5 @@ package() {
}
sha512sums="
-59be98a43057220f4eb4314d0876990c21bbc2606a82444e03282ca55d6de18a382fb75b3fcbb1e7f5a5930cd9a81c6c73cdac2ffba3932b55816fb8140c00eb wget2-2.0.0.tar.gz
+ae1fc267b1c2ee182ee59f0fc34fef238326a20f1ea1c15be6db2c16b70d49e89f61ca937d3e64d214f73ef9646ba4318782ac4210db51bd3d89c55ce4406872 wget2-2.1.0.tar.gz
"
diff --git a/testing/whipper/APKBUILD b/testing/whipper/APKBUILD
index d2dd6410a5f..299d87397b1 100644
--- a/testing/whipper/APKBUILD
+++ b/testing/whipper/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=whipper
pkgver=0.10.0
-pkgrel=1
+pkgrel=5
pkgdesc="python CD-DA ripper preferring accuracy over speed"
# https://github.com/whipper-team/whipper/issues/515
options="net !check"
@@ -24,31 +24,37 @@ depends="
flac
sox
"
-makedepends="py3-setuptools python3-dev py3-wheel libsndfile-dev"
-checkdepends="py3-setuptools_scm py3-twisted"
+makedepends="
+ py3-gpep517
+ py3-setuptools
+ py3-setuptools_scm
+ python3-dev
+ py3-wheel
+ libsndfile-dev
+ "
+checkdepends="py3-twisted"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/whipper-team/whipper/archive/v$pkgver.tar.gz"
-prepare() {
- default_prepare
-
- sed -e '/setuptools_scm/d' \
- -e "s/use_scm_verion=True/version='$pkgver'/" \
- -i setup.py
-}
-
build() {
export SETUPTOOLS_SCM_PRETEND_VERSION="$pkgver"
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="$(echo $PWD/build/lib.*)" python3 -m unittest discover
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m unittest discover
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir" --skip-build
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
+
sha512sums="
728ad98185aa2d29f4fb215a597136691bb2c3590b3cac4f659238f90a3b4328c377fafe830a725b655f050538739f404b3eca853db4c39001d1b9d721dc7fd8 whipper-0.10.0.tar.gz
"
diff --git a/testing/wiimms-iso-tools/APKBUILD b/testing/wiimms-iso-tools/APKBUILD
new file mode 100644
index 00000000000..619e13aec72
--- /dev/null
+++ b/testing/wiimms-iso-tools/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Sebastian Hudak <sebastian@sebsite.pw>
+# Maintainer: Sebastian Hudak <sebastian@sebsite.pw>
+pkgname=wiimms-iso-tools
+pkgver=3.04a
+pkgrel=1
+pkgdesc="Set of command-line tools to work with Wii/GameCube ISO and WBFS files"
+# releases aren't tagged; this commit matches version 3.04a
+_commit=e58ce7463bc8829c46bcba52e8232f550e49c17c
+url="https://wit.wiimm.de/"
+arch="x86 x86_64"
+license="GPL-2.0-or-later"
+makedepends="bash linux-headers ncurses-dev openssl-dev>3 zlib-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$_commit.tar.gz::https://github.com/Wiimm/wiimms-iso-tools/archive/$_commit.tar.gz
+ $pkgname.patch"
+builddir="$srcdir/$pkgname-$_commit"
+options="!check" # No tests
+
+build() {
+ make -C project INSTALL_PATH="$pkgdir/usr" all doc
+}
+
+package() {
+ make -C project INSTALL_PATH="$pkgdir/usr" install
+ mkdir -p "$pkgdir"/usr/share/doc/wit/
+ install -m644 project/doc/*.txt "$pkgdir"/usr/share/doc/wit/
+}
+
+sha512sums="
+b750964dafd54a04b8c32849499e4af3a2c996aaa3c41e06766bdee1210bbe273aa4eaad0e75ff9142a93d36e3042f84e57a602ba6bd610e734f864f7504a842 wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c.tar.gz
+a501814ed144592bfb8ee42663d2e0cf33d3a157fce8544e3ac21ab87ea530ad3c79acc4bd7ee61a33d3f87f5c7943d0b7519455a7a029bf894ee752801c11d8 wiimms-iso-tools.patch
+"
diff --git a/testing/wiimms-iso-tools/wiimms-iso-tools.patch b/testing/wiimms-iso-tools/wiimms-iso-tools.patch
new file mode 100644
index 00000000000..2551a292b84
--- /dev/null
+++ b/testing/wiimms-iso-tools/wiimms-iso-tools.patch
@@ -0,0 +1,46 @@
+Manually linking tinfo is unnecessary and results in a linker error.
+
+diff -Naur wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c/project/Makefile wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c-alpine/project/Makefile
+--- wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c/project/Makefile 2021-04-18 11:43:37.000000000 +0000
++++ wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c-alpine/project/Makefile 2021-12-11 23:47:51.596954056 +0000
+@@ -303,7 +303,6 @@
+ CFLAGS += -O3 -Isrc/libwbfs -Isrc -I$(UI) -I. -Iwork
+
+ ifeq ($(SYSTEM_LINUX),1)
+- LIBS += -ltinfo
+ CFLAGS += -Wno-format-truncation
+ endif
+
+wiimms-iso-tools assumes that the global variables stdin, stdout, and stderr
+are mutable. This is true in glibc, but false in musl. This patch removes code
+which attempts to mutate standard streams.
+
+diff -Naur wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c/project/dclib/dclib-color.c wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c-alpine/project/dclib/dclib-color.c
+--- wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c/project/dclib/dclib-color.c 2021-04-18 11:43:37.000000000 +0000
++++ wiimms-iso-tools-e58ce7463bc8829c46bcba52e8232f550e49c17c-alpine/project/dclib/dclib-color.c 2021-12-11 23:48:55.610289581 +0000
+@@ -4810,8 +4810,6 @@
+ {
+ DASSERT(ssf);
+
+- stdout = ssf->std_out;
+- stderr = ssf->std_err;
+ stdlog = ssf->std_log;
+ stdmsg = ssf->std_msg;
+ stdwrn = ssf->std_wrn;
+@@ -4839,7 +4837,7 @@
+ if (ssf)
+ SaveStdFiles(ssf);
+
+- stdout = stdwrn = stdmsg = f;
++ stdwrn = stdmsg = f;
+ colout = colwrn = colmsg = colset ? colset : GetFileColorSet(f);
+
+ // special handling for stdlog
+@@ -4851,7 +4849,6 @@
+
+ if (err_too)
+ {
+- stderr = stdout;
+ colerr = colout;
+ }
+ }
diff --git a/testing/wiimms-szs-tools/APKBUILD b/testing/wiimms-szs-tools/APKBUILD
new file mode 100644
index 00000000000..0f2976802d5
--- /dev/null
+++ b/testing/wiimms-szs-tools/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: Sebastian Hudak <sebastian@sebsite.pw>
+# Maintainer: Sebastian Hudak <sebastian@sebsite.pw>
+pkgname=wiimms-szs-tools
+pkgver=2.26a
+pkgrel=0
+pkgdesc="Set of command-line tools to work with Mario Kart Wii files"
+# releases aren't tagged; this commit matches version 2.26a
+_commit=9ae8841ec4720e74173e2f72fac33f0848bbf435
+url="https://szs.wiimm.de/"
+arch="x86 x86_64"
+license="GPL-2.0-or-later"
+makedepends="bash libpng-dev linux-headers ncurses-dev"
+subpackages="$pkgname-doc"
+source="$pkgname-$_commit.tar.gz::https://github.com/Wiimm/wiimms-szs-tools/archive/$_commit.tar.gz
+ $pkgname.patch"
+builddir="$srcdir/$pkgname-$_commit"
+options="!check" # No tests
+
+build() {
+ make -C project INSTALL_PATH="$pkgdir/usr" all doc
+}
+
+package() {
+ make -C project INSTALL_PATH="$pkgdir/usr" install
+ mkdir -p "$pkgdir"/usr/share/doc/szs/
+ install -m644 project/doc/*.txt "$pkgdir"/usr/share/doc/szs/
+}
+
+sha512sums="
+3e4f3555e53012096a64f9d4dba4bae2b4284ca185a2c9e732b022734558bddc6f040ad180d1074906c9fdc91750a37b5883fd902db0da65d816dd46c79c3d1e wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435.tar.gz
+570f0bfa2f72d87a485e3a6a27f7b5ab2925cad4f100c43723e4ba0d1ef6fc7a6c34c4572d7b1ae4d95b862edf142b2ad276e9563106dd09ee6569bbe82e4aa4 wiimms-szs-tools.patch
+"
diff --git a/testing/wiimms-szs-tools/wiimms-szs-tools.patch b/testing/wiimms-szs-tools/wiimms-szs-tools.patch
new file mode 100644
index 00000000000..cfcc9368292
--- /dev/null
+++ b/testing/wiimms-szs-tools/wiimms-szs-tools.patch
@@ -0,0 +1,77 @@
+Manually linking tinfo is unnecessary and results in a linker error.
+
+diff -Naur wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/Makefile wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/Makefile
+--- wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/Makefile 2021-12-22 16:40:12.263507617 +0000
++++ wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/Makefile 2021-12-22 16:40:41.880175306 +0000
+@@ -161,7 +161,6 @@
+ CFLAGS += -ffunction-sections -fdata-sections
+ LDFLAGS += -Xlinker --gc-sections
+ #LDFLAGS += -Xlinker --print-gc-sections
+- LIBS += -ltinfo
+ LDFLAGS += -static-libgcc
+ endif
+
+wiimms-szs-tools assumes that the global variables stdin, stdout, and stderr
+are mutable. This is true in glibc, but false in musl. This patch removes code
+which attempts to mutate standard streams.
+
+diff -Naur wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/dclib/dclib-color.c wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/dclib/dclib-color.c
+--- wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/dclib/dclib-color.c 2021-12-22 16:40:12.266840951 +0000
++++ wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/dclib/dclib-color.c 2021-12-22 16:40:41.883508639 +0000
+@@ -4848,8 +4848,6 @@
+ {
+ DASSERT(ssf);
+
+- stdout = ssf->std_out;
+- stderr = ssf->std_err;
+ stdlog = ssf->std_log;
+ stdmsg = ssf->std_msg;
+ stdwrn = ssf->std_wrn;
+@@ -4877,7 +4875,7 @@
+ if (ssf)
+ SaveStdFiles(ssf);
+
+- stdout = stdwrn = stdmsg = f;
++ stdwrn = stdmsg = f;
+ colout = colwrn = colmsg = colset ? colset : GetFileColorSet(f);
+
+ // special handling for stdlog
+@@ -4889,7 +4887,6 @@
+
+ if (err_too)
+ {
+- stderr = stdout;
+ colerr = colout;
+ }
+ }
+
+Don't define non-static global variable in header file. (This variable is only
+ever used in one source file, so having it in the header is pointless.)
+
+diff -Naur wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/dclib/lib-mkw.h wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/dclib/lib-mkw.h
+--- wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/dclib/lib-mkw.h 2021-12-22 16:40:12.266840951 +0000
++++ wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/dclib/lib-mkw.h 2021-12-22 16:41:03.896842729 +0000
+@@ -198,8 +198,6 @@
+
+ //-----------------------------------------------------------------------------
+
+-const MkwPointInfo_t MkwPointInfo[MPI__N+1];
+-
+ // [[24P--]] all tables
+
+ extern u8 MkwPointsTab[MKW_STD_MAX_PLAYER2];
+
+Add missing semicolon.
+
+diff -Naur wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/src/lib-staticr.c wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/src/lib-staticr.c
+--- wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435/project/src/lib-staticr.c 2021-12-22 16:40:12.270174285 +0000
++++ wiimms-szs-tools-9ae8841ec4720e74173e2f72fac33f0848bbf435-alpine/project/src/lib-staticr.c 2021-12-22 16:40:41.886841972 +0000
+@@ -1922,7 +1922,7 @@
+ default: return 0;
+ }
+
+- DASSERT(ri)
++ DASSERT(ri);
+ if (!ri->sect[0].addr)
+ {
+ for ( dol_sect_info_t *ptr = ri->sect; ptr->section >= 0; ptr++ )
diff --git a/testing/wiki-tui/APKBUILD b/testing/wiki-tui/APKBUILD
new file mode 100644
index 00000000000..8af1baa64bf
--- /dev/null
+++ b/testing/wiki-tui/APKBUILD
@@ -0,0 +1,41 @@
+# Contributor: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+# Maintainer: Orhun Parmaksız <orhunparmaksiz@gmail.com>
+pkgname=wiki-tui
+pkgver=0.8.2
+pkgrel=0
+pkgdesc="Simple and easy to use Wikipedia Text User Interface"
+url="https://github.com/Builditluc/wiki-tui"
+arch="all"
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ openssl-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Builditluc/wiki-tui/archive/v$pkgver.tar.gz"
+options="net"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 755 target/release/wiki-tui -t "$pkgdir"/usr/bin
+ install -Dm 644 README.md -t "$pkgdir"/usr/share/doc/$pkgname
+ install -Dm 644 LICENSE -t "$pkgdir"/usr/share/licenses/$pkgname
+}
+
+sha512sums="
+9240c17ab9410bf4182349701d06df73f56b11fceb24415c5249a982026fb236d87ab151b7a5b62683d70c38414fe67270b8f2012eb9188fddebf2d6c366fd22 wiki-tui-0.8.2.tar.gz
+"
diff --git a/testing/wine-mono/APKBUILD b/testing/wine-mono/APKBUILD
index d597b14e2bb..b2d5f3c7ebf 100644
--- a/testing/wine-mono/APKBUILD
+++ b/testing/wine-mono/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Natanael Copa <ncopa@alpinelinux.org>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
pkgname=wine-mono
-pkgver=5.0.0
-pkgrel=0
+pkgver=8.1.0
+pkgrel=1
pkgdesc="Wine's built-in replacement for Microsoft's .NET"
url="https://wiki.winehq.org/Mono"
-arch="x86_64"
+arch="x86_64 x86"
license="MIT"
depends="wine"
options="!check"
-source="https://dl.winehq.org/wine/wine-mono/$pkgver/wine-mono-$pkgver-x86.msi"
+source="https://github.com/madewokherd/wine-mono/releases/download/wine-mono-$pkgver/wine-mono-$pkgver-x86.msi"
build() {
return 0
@@ -17,7 +17,9 @@ build() {
package() {
install -Dm644 "$srcdir"/$pkgname-$pkgver-x86.msi \
- "$pkgdir"/usr/share/wine/mono/$pkgname-$pkgver-x86.msi
+ -t "$pkgdir"/usr/share/wine/mono/
}
-sha512sums="8f83122d4b552b3a3d8b000abbd19b7a72edf45e52fa63a9220228240d8e4c014531bb265d062a38f6924fae07dd45420a5c7566f99e0c471e116fb80906c08c wine-mono-5.0.0-x86.msi"
+sha512sums="
+5c788dfa0c9b664242f3ce0ab24f3f9256dabf1e9fadc516140f267c763da1865b4536c707660acaf66e4a37d93198f5499971b4261e63d91252f6a7fc3eae4e wine-mono-8.1.0-x86.msi
+"
diff --git a/testing/wine-staging/APKBUILD b/testing/wine-staging/APKBUILD
new file mode 100644
index 00000000000..31dc6a96ce8
--- /dev/null
+++ b/testing/wine-staging/APKBUILD
@@ -0,0 +1,174 @@
+# Contributor: Pedro Filipe <xpecex@outlook.com>
+# Contributor: Valery Kartel <valery.kartel@gmail.com>
+# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
+# Contributor: Åukasz Jendrysik <scadu@yandex.com>
+# Contributor: Martell Malone <martell@marinelayer.io>
+# Contributor: Craig Andrews <candrews@integralblue.com>
+# Contributor: Natanael Copa <ncopa@alpinelinux.org>
+# Contributor: sewn <sewn@disroot.org>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=wine-staging
+pkgver=9.6
+_pkgver="${pkgver%".${pkgver#*.*.}"}"
+pkgrel=0
+pkgdesc="Compatibility layer for running Windows programs -- Staging patchset"
+url="https://www.winehq.org"
+arch="x86 x86_64"
+license="LGPL-2.0-or-later"
+depends="
+ libxi
+ libxrandr
+ "
+depends_dev="$pkgname perl"
+makedepends="
+ alsa-lib-dev
+ autoconf
+ automake
+ bison
+ bash
+ python3
+ cups-dev
+ dbus-dev
+ flex-dev
+ fontconfig-dev
+ freetype-dev
+ gnutls-dev
+ gstreamer-dev
+ gst-plugins-base-dev
+ krb5-dev
+ libgphoto2-dev
+ libpcap-dev
+ libusb-dev
+ libxcomposite-dev
+ libxcursor-dev
+ libxi-dev
+ libxinerama-dev
+ libxkbcommon-dev
+ libxrandr-dev
+ libxrender-dev
+ mesa-dev
+ mingw-w64-gcc
+ ncurses-dev
+ opencl-dev
+ pcsc-lite-dev
+ pulseaudio-dev
+ sane-dev
+ sdl2-dev
+ udisks2-dev
+ v4l-utils-dev
+ vulkan-loader-dev
+ wayland-dev
+ "
+subpackages="$pkgname-dev $pkgname-doc"
+checkdepends="xvfb-run"
+source="https://dl.winehq.org/wine/source/${pkgver/.[1-9]*/.x}/wine-$_pkgver.tar.xz
+ wine-staging-$pkgver.tar.gz::https://gitlab.winehq.org/wine/wine-staging/-/archive/v$pkgver/wine-staging-v$pkgver.tar.gz
+ rpath.patch
+ "
+builddir="$srcdir/wine-$_pkgver"
+options="textrels !check" # As of 2.0.3 most of the tests fails
+# ignore tracing something in a weird rpath just to silence a warning
+# no effect
+somask="ntdll.so win32u.so"
+
+prepare() {
+ default_prepare
+ # fix opencl header detection
+ sed 's|OpenCL/opencl.h|CL/opencl.h|g' -i configure*
+
+ "$srcdir/wine-staging-v$pkgver"/staging/patchinstall.py DESTDIR="$builddir" --all
+}
+
+case "$CARCH" in
+x86_64)
+ # also pull in 32-target, enabled with --enable-archs
+ makedepends="$makedepends i686-mingw-w64-gcc"
+ ;;
+esac
+
+build() {
+ export CFLAGS="$CFLAGS -O2 -Wno-error=format-security"
+ export CXXFLAGS="$CXXFLAGS -O2 -Wno-error=format-security"
+ export CPPFLAGS="$CPPFLAGS -O2 -Wno-error=format-security"
+
+ # invalid to the msys linker
+ export LDFLAGS="${LDFLAGS/,-Wl,-z,pack-relative-relocs}"
+
+ case "$CARCH" in
+ x86_64)
+ local win64="--enable-win64"
+ local archs="--enable-archs=x86_64,i386"
+ ;;
+ x86)
+ local no_pie="-no-pie"
+ ;;
+ esac
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --libdir=/usr/lib \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-dbus \
+ --with-mingw \
+ --with-x \
+ --with-vulkan \
+ $win64 \
+ $archs
+ make LDFLAGS="$LDFLAGS $no_pie" tools/winedump/winedump
+ make
+}
+
+check() {
+ xvfb-run make test
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -Dm755 tools/wineapploader \
+ "$pkgdir"/usr/bin/wineapploader
+
+ local file
+ for file in msiexec notepad regedit regsvr32 wineboot \
+ winecfg wineconsole winefile winemine winepath; do
+ rm -v "$pkgdir"/usr/bin/$file
+ ln -sfv /usr/bin/wineapploader "$pkgdir"/usr/bin/$file
+ done
+
+ case "$CARCH" in
+ x86_64)
+ x86_64-w64-mingw32-strip --strip-unneeded "$pkgdir"/usr/lib/wine/x86_64-windows/*.dll
+ i686-w64-mingw32-strip --strip-unneeded "$pkgdir"/usr/lib/wine/i386-windows/*.dll
+
+ # add compat links, since with archs these rename back to non-64
+ ln -sfv wine "$pkgdir"/usr/bin/wine64
+ ln -sfv wine-preloader "$pkgdir"/usr/bin/wine64-preloader
+ ;;
+ x86)
+ i686-w64-mingw32-strip --strip-unneeded "$pkgdir"/usr/lib/wine/i386-windows/*.dll
+ ;;
+ esac
+}
+
+dev() {
+ default_dev
+
+ local file
+ for file in widl wmc wrc winebuild winedump function_grep.pl \
+ winedbg winemaker winegcc winecpp wineg++; do
+ amove usr/bin/$file
+ done
+}
+
+doc() {
+ default_doc
+ rm -fr "$subpkgdir"/usr/share/man/*.UTF-8
+}
+
+sha512sums="
+cc2ea5597636da8d392d1d63b9c135679eff69ea671dc6b53b6f2d44a890aee0e17275174485f6e8dd99c7db737eb82a800a2b05c4966f15e28167c5a6098922 wine-9.6.tar.xz
+ed7d4bc5e834b79a15815971d12d5b27aa33a2f4104207724400e6c29f7d8a466944d889c98833787a1db8bbf3770f1b74b10705711cdac55e918d5026eb8d76 wine-staging-9.6.tar.gz
+9881abfd0e7e4589cd5724291f9ec06ccb9d88b842c69abb5ea7865b6c27c778a060e60a9776c3620a030555cf61b8cceded55db9f04d5e45d9c627306763bff rpath.patch
+"
diff --git a/testing/wine-staging/rpath.patch b/testing/wine-staging/rpath.patch
new file mode 100644
index 00000000000..b694468a27f
--- /dev/null
+++ b/testing/wine-staging/rpath.patch
@@ -0,0 +1,57 @@
+diff --git a/configure b/configure
+index 296c3e4..e838871 100755
+--- a/configure
++++ b/configure
+@@ -10306,6 +10306,38 @@ then :
+ fi
+ ;;
+ esac
++
++ # do this at the end because it needs double dollar for makefile
++ as_ac_var=`printf "%s\n" "ac_cv_cflags_-Wl,-rpath,\\\\\\$ORIGIN" | $as_tr_sh`
++{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-rpath,\\\$ORIGIN" >&5
++printf %s "checking whether the compiler supports -Wl,-rpath,\\\$ORIGIN... " >&6; }
++if eval test \${$as_ac_var+y}
++then :
++ printf %s "(cached) " >&6
++else $as_nop
++ ac_wine_try_cflags_saved=$CFLAGS
++CFLAGS="$CFLAGS -Wl,-rpath,\\\$ORIGIN"
++cat confdefs.h - <<_ACEOF >conftest.$ac_ext
++/* end confdefs.h. */
++int main(int argc, char **argv) { return 0; }
++_ACEOF
++if ac_fn_c_try_link "$LINENO"
++then :
++ eval "$as_ac_var=yes"
++else $as_nop
++ eval "$as_ac_var=no"
++fi
++rm -f core conftest.err conftest.$ac_objext conftest.beam \
++ conftest$ac_exeext conftest.$ac_ext
++CFLAGS=$ac_wine_try_cflags_saved
++fi
++eval ac_res=\$$as_ac_var
++ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
++printf "%s\n" "$ac_res" >&6; }
++if eval test \"x\$"$as_ac_var"\" = x"yes"
++then :
++ UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"
++fi
+ ;;
+ esac
+
+diff --git a/configure.ac b/configure.ac
+index 140f26a..02497c9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -784,6 +784,9 @@ case $host_os in
+ [WINELOADER_LDFLAGS="$WINELOADER_LDFLAGS -Wl,-z,max-page-size=0x1000"])
+ ;;
+ esac
++
++ # do this at the end because it needs double dollar for makefile
++ WINE_TRY_CFLAGS([-Wl,-rpath,\\\$ORIGIN],[UNIXLDFLAGS="$UNIXLDFLAGS '-Wl,-rpath,\$\$ORIGIN'"])
+ ;;
+ esac
+
diff --git a/testing/winetricks/APKBUILD b/testing/winetricks/APKBUILD
index 1839cb52d8d..59c64bf6eec 100644
--- a/testing/winetricks/APKBUILD
+++ b/testing/winetricks/APKBUILD
@@ -1,14 +1,14 @@
# Contributor: Leonardo Arena <rnalrd@alpinelinux.org>
-# Maintainer:
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
pkgname=winetricks
-pkgver=20210825
-pkgrel=0
+pkgver=20230212
+pkgrel=1
pkgdesc="Winetricks is an easy way to work around problems in Wine"
url="https://github.com/Winetricks/winetricks"
arch="x86 x86_64" # Limited by the wine pkg
license="LGPL-2.1-or-later"
options="!check" # Missing depends bashate & shellcheck
-depends="cabextract unzip wine xmessage"
+depends="cabextract unzip wine xmessage wget"
subpackages="$pkgname-doc $pkgname-bash-completion"
source="https://github.com/Winetricks/winetricks/archive/$pkgver/winetricks-$pkgver.tar.gz"
@@ -17,5 +17,5 @@ package() {
}
sha512sums="
-b9eb61a0bfe4001cb23f41f3b4707333be81660372347b5e8fe887fe1e2278bd5e2b91e0c5ddd73010652902a8985f0e253792c8769216de397ca75fac8b0c81 winetricks-20210825.tar.gz
+3d2211091754a2a254d5ac8dab27d59d488d512149d8060828cf9d69df96f5ccad183f2ba9f2172452a2ae322236e86e7fce560836a2bc05dc9a36c2a422f245 winetricks-20230212.tar.gz
"
diff --git a/testing/wireguard-go/APKBUILD b/testing/wireguard-go/APKBUILD
index 0115283391b..5308ead2788 100644
--- a/testing/wireguard-go/APKBUILD
+++ b/testing/wireguard-go/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Stefan Reiff <kroko87@hotmail.com>
# Maintainer: Stefan Reiff <kroko87@hotmail.com>
pkgname=wireguard-go
-pkgver=0.0.20210424
-pkgrel=1
+pkgver=0.0.20230223
+pkgrel=4
pkgdesc="Next generation secure network tunnel: userspace implementation in go"
url="https://www.wireguard.com"
license="GPL-2.0-only"
@@ -13,6 +13,10 @@ subpackages="$pkgname-doc"
options="!check"
source="https://git.zx2c4.com/wireguard-go/snapshot/wireguard-go-$pkgver.tar.xz"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
make
}
@@ -24,5 +28,5 @@ package() {
}
sha512sums="
-0c7c91f2a3002b7bc85028c7838ee84af47daf287c508160adfcca248afe3590135d3e7dc76811dfec39576bf6d499bc78eb59a49235d2e54431caee6d402ddc wireguard-go-0.0.20210424.tar.xz
+221ecea400fdfdfd564d8ab3b1939cab289b28a00c8d2e8e41bd56484f09d66e20a3dd34dc81471e7fc5133bebffc621be984b8a8d3475a0e4b08daa350d5583 wireguard-go-0.0.20230223.tar.xz
"
diff --git a/testing/wiremapper/APKBUILD b/testing/wiremapper/APKBUILD
new file mode 100644
index 00000000000..0c67d691883
--- /dev/null
+++ b/testing/wiremapper/APKBUILD
@@ -0,0 +1,26 @@
+# Maintainer: Martijn Braam <martijn@brixit.nl>
+# Contributor: Martijn Braam <martijn@brixit.nl>
+pkgname=wiremapper
+pkgver=0.10.0
+pkgrel=0
+pkgdesc="GTK3 app for the Pockethernet hardware"
+url="https://gitlab.com/MartijnBraam/wiremapper"
+arch="all"
+license="MIT"
+source="https://gitlab.com/MartijnBraam/wiremapper/-/archive/$pkgver/wiremapper-$pkgver.tar.gz"
+depends="python3 py3-pockethernet py3-gobject3 py3-setuptools gtk+3.0 libhandy1"
+makedepends="meson libhandy1-dev"
+options="!check" # There's no testsuite
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+dc961223626f84f4f7284087c40c8290b6dea56a5d3909909827ffefd7c576386eaac572a21bc73a3097723965b26f93c2a208fb45b44944166bab950b4c8cbf wiremapper-0.10.0.tar.gz
+"
diff --git a/testing/wiringx/APKBUILD b/testing/wiringx/APKBUILD
index ec31faa6abc..ca06d10f69a 100644
--- a/testing/wiringx/APKBUILD
+++ b/testing/wiringx/APKBUILD
@@ -1,12 +1,12 @@
# Contributor: Milan P. Stanić <mps@arvanta.net>
# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname="wiringx"
-pkgver="0_git20191126"
-_commitid=8efb38935b92f86f4932d7bb52169694854f307c
+pkgname=wiringx
+pkgver=0_git20240317
+_commitid=a6bb3092d262f9801a685a4591eff937fbd4a403
pkgrel=1
pkgdesc="modular approach to several GPIO interfaces"
url="https://github.com/wiringX/wiringX"
-arch="aarch64 armv7 armhf"
+arch="aarch64 armv7 armhf riscv64"
license="MPL-2.0"
options="!check" # no testsuite
makedepends="cmake linux-headers"
@@ -27,7 +27,7 @@ build() {
-DCMAKE_BUILD_TYPE=None \
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
-DCMAKE_C_FLAGS="$CFLAGS" \
- ${CMAKE_CROSSOPTS} .
+ $CMAKE_CROSSOPTS .
make
}
@@ -36,5 +36,7 @@ package() {
rm -rf "$pkgdir"/usr/sbin
}
-sha512sums="50642c0ec248f15e7a3c4a13fff296331c1e065157c5d36688ca3ee02be0f94668333dd0fe859782736ccccf93380d24d1e58b40f3e74137818da3776742353d wiringx-0_git20191126.tar.gz
-b7751f0396fb90a5550a064006eb5f75ff5835a9e0c7b419abfdb2ec42313ab4bd6365874415a41f4f2cf6e9c778eec72b317e14dfbc439216e21c6bc4f73294 fix_time_t.patch"
+sha512sums="
+79e0509eb37c659c695168b324a6fafebe0493d7bf559c6d20cf395ff14379c0abae5fdb3347c34acdac6bb81a1e912a418b6b51159b58ee213e81fe33293cf1 wiringx-0_git20240317.tar.gz
+b7751f0396fb90a5550a064006eb5f75ff5835a9e0c7b419abfdb2ec42313ab4bd6365874415a41f4f2cf6e9c778eec72b317e14dfbc439216e21c6bc4f73294 fix_time_t.patch
+"
diff --git a/testing/witchery/APKBUILD b/testing/witchery/APKBUILD
index 169cb8eb0d7..057c70e2504 100644
--- a/testing/witchery/APKBUILD
+++ b/testing/witchery/APKBUILD
@@ -1,9 +1,9 @@
# Maintainer: Ariadne Conill <ariadne@dereferenced.org>
pkgname=witchery
pkgver=0.0.3
-pkgrel=0
+pkgrel=2
pkgdesc="build distroless images with Alpine tools"
-url="https://github.com/kaniini/witchery"
+url="https://github.com/witchery-project/witchery"
arch="noarch"
license="ISC"
depends="alpine-sdk"
@@ -11,7 +11,9 @@ makedepends=""
checkdepends=""
install=""
subpackages=""
-source="https://github.com/kaniini/witchery/archive/v$pkgver/witchery-$pkgver.tar.gz"
+source="https://github.com/witchery-project/witchery/archive/v$pkgver/witchery-$pkgver.tar.gz
+ correct-install-location.patch
+ "
builddir="$srcdir/witchery-$pkgver"
options="!check" # No test suite.
@@ -25,4 +27,5 @@ package() {
sha512sums="
713c130e2a7059a49f4c672a73614cd8413aa0fc9dcd8ec5a7ff6f9e7b7b3839aafe0403bb3a3214ba0534d0e143d2764a377dd19c0c86db7fd86b335bb1309b witchery-0.0.3.tar.gz
+168e4dc973025d060a9a6b9ac95c4a624137381b91f4eb8c7b3096272f7efe3d353486869954ad1f99e01da6518f51ecf56b294b87b77dd46ebb24986dbfbbc2 correct-install-location.patch
"
diff --git a/testing/witchery/correct-install-location.patch b/testing/witchery/correct-install-location.patch
new file mode 100644
index 00000000000..0c1e190fc49
--- /dev/null
+++ b/testing/witchery/correct-install-location.patch
@@ -0,0 +1,9 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,3 +1,3 @@
+ install:
+- install -Dm755 witchery-buildapk ${DESTDIR}/usr/bin
+- install -Dm755 witchery-compose ${DESTDIR}/usr/bin
+\ No newline at end of file
++ install -Dm755 witchery-buildapk -t ${DESTDIR}/usr/bin
++ install -Dm755 witchery-compose -t ${DESTDIR}/usr/bin
diff --git a/testing/wk-adblock/APKBUILD b/testing/wk-adblock/APKBUILD
index 12efe536e7d..1d2f723bf3f 100644
--- a/testing/wk-adblock/APKBUILD
+++ b/testing/wk-adblock/APKBUILD
@@ -2,26 +2,42 @@
pkgname=wk-adblock
pkgver=0.0.4
_commit=665ffb4126ae924e345d04adcf6242066216a508
-pkgrel=0
+pkgrel=5
pkgdesc="Simple ad-blocker for Webkit2 Webview"
options="!check" # No testsuite
url="https://github.com/DavidVentura/webextension-adblocker/"
arch="x86_64 armv7 armhf aarch64 x86 ppc64le" # limited by rust
license="GPL-3.0-or-later"
-makedepends="cargo clang-libs llvm11-dev binutils glib-dev webkit2gtk-dev"
+makedepends="cargo clang-dev glib-dev llvm-dev webkit2gtk-4.1-dev cargo-auditable"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://codeload.github.com/DavidVentura/webextension-adblocker/tar.gz/$_commit"
+source="$pkgname-$pkgver.tar.gz::https://codeload.github.com/DavidVentura/webextension-adblocker/tar.gz/$_commit
+ cargo-lock.patch
+ webkit2gtk-4.1.patch
+ "
builddir="$srcdir/webextension-adblocker-$_commit"
+# optimise size
+export CARGO_FEATURE_USE_SYSTEM_LIBS=1
+
+prepare() {
+ default_prepare
+
+ cd wk-we-adblock
+ cargo fetch --target="$CTARGET" --locked
+}
+
build() {
cd wk-we-adblock
- cargo build --release
+ cargo auditable build --release --frozen
}
package() {
make install DESTDIR="$pkgdir"
- mkdir -p $pkgdir/usr/share/man
- cp manpage $pkgdir/usr/share/man/$pkgname
+ install -Dm644 manpage "$pkgdir"/usr/share/man/man1/$pkgname.1
}
-sha512sums="a2d1b36e364311c9e14849ee76628d0e1d1964b5f5b9ba4a3a4211ec798080d1ff97ce0c08bc708114e3ed6a40a7ef437406280e61a880340d691c5a5d0712b3 wk-adblock-0.0.4.tar.gz"
+sha512sums="
+a2d1b36e364311c9e14849ee76628d0e1d1964b5f5b9ba4a3a4211ec798080d1ff97ce0c08bc708114e3ed6a40a7ef437406280e61a880340d691c5a5d0712b3 wk-adblock-0.0.4.tar.gz
+1808c2b078a29ee26a1f45818a81e11de0c5180efba0643e1d6c686d702dbf9dbff4b112f75a3e6ee1747887731ab3ecb892993e9bcca8975e107f63bc9f6661 cargo-lock.patch
+096887e59aea7c7a0b127c7735bc4f234ad26f785bdf895306ad1e95ad3a6dafbc5e74633774671a9989a847f4fd604365b09b3c4000a04a21adb68e3c597320 webkit2gtk-4.1.patch
+"
diff --git a/testing/wk-adblock/cargo-lock.patch b/testing/wk-adblock/cargo-lock.patch
new file mode 100644
index 00000000000..2ba4b70a9ad
--- /dev/null
+++ b/testing/wk-adblock/cargo-lock.patch
@@ -0,0 +1,1062 @@
+--- /dev/null
++++ b/wk-we-adblock/Cargo.lock
+@@ -0,0 +1,1059 @@
++# This file is automatically @generated by Cargo.
++# It is not intended for manual editing.
++version = 3
++
++[[package]]
++name = "aho-corasick"
++version = "0.7.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "ansi_term"
++version = "0.12.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "atty"
++version = "0.2.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
++dependencies = [
++ "hermit-abi",
++ "libc",
++ "winapi",
++]
++
++[[package]]
++name = "autocfg"
++version = "0.1.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0dde43e75fd43e8a1bf86103336bc699aa8d17ad1be60c76c0bdfd4828e19b78"
++dependencies = [
++ "autocfg 1.1.0",
++]
++
++[[package]]
++name = "autocfg"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
++
++[[package]]
++name = "bindgen"
++version = "0.53.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c72a978d268b1d70b0e963217e60fdabd9523a941457a6c42a7315d15c7e89e5"
++dependencies = [
++ "bitflags",
++ "cexpr",
++ "cfg-if 0.1.10",
++ "clang-sys",
++ "clap",
++ "env_logger",
++ "lazy_static",
++ "lazycell",
++ "log",
++ "peeking_take_while",
++ "proc-macro2",
++ "quote",
++ "regex",
++ "rustc-hash",
++ "shlex",
++ "which",
++]
++
++[[package]]
++name = "bitflags"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
++
++[[package]]
++name = "bstr"
++version = "0.2.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223"
++dependencies = [
++ "lazy_static",
++ "memchr",
++ "regex-automata",
++ "serde",
++]
++
++[[package]]
++name = "byteorder"
++version = "1.4.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610"
++
++[[package]]
++name = "cast"
++version = "0.2.7"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4c24dab4283a142afa2fdca129b80ad2c6284e073930f964c3a1293c225ee39a"
++dependencies = [
++ "rustc_version 0.4.0",
++]
++
++[[package]]
++name = "cc"
++version = "1.0.73"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
++
++[[package]]
++name = "cexpr"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f4aedb84272dbe89af497cf81375129abda4fc0a9e7c5d317498c15cc30c0d27"
++dependencies = [
++ "nom",
++]
++
++[[package]]
++name = "cfg-if"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
++
++[[package]]
++name = "cfg-if"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
++
++[[package]]
++name = "clang-sys"
++version = "0.29.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "fe6837df1d5cba2397b835c8530f51723267e16abbf83892e9e5af4f0e5dd10a"
++dependencies = [
++ "glob",
++ "libc",
++ "libloading",
++]
++
++[[package]]
++name = "clap"
++version = "2.34.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
++dependencies = [
++ "ansi_term",
++ "atty",
++ "bitflags",
++ "strsim",
++ "textwrap",
++ "unicode-width",
++ "vec_map",
++]
++
++[[package]]
++name = "cloudabi"
++version = "0.0.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
++dependencies = [
++ "bitflags",
++]
++
++[[package]]
++name = "criterion"
++version = "0.2.11"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0363053954f3e679645fc443321ca128b7b950a6fe288cf5f9335cc22ee58394"
++dependencies = [
++ "atty",
++ "cast",
++ "clap",
++ "criterion-plot",
++ "csv",
++ "itertools",
++ "lazy_static",
++ "libc",
++ "num-traits",
++ "rand_core 0.3.1",
++ "rand_os",
++ "rand_xoshiro",
++ "rayon",
++ "rayon-core",
++ "serde",
++ "serde_derive",
++ "serde_json",
++ "tinytemplate",
++ "walkdir",
++]
++
++[[package]]
++name = "criterion-plot"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "76f9212ddf2f4a9eb2d401635190600656a1f88a932ef53d06e7fa4c7e02fb8e"
++dependencies = [
++ "byteorder",
++ "cast",
++ "itertools",
++]
++
++[[package]]
++name = "crossbeam-channel"
++version = "0.5.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5aaa7bd5fb665c6864b5f963dd9097905c54125909c7aa94c9e18507cdbe6c53"
++dependencies = [
++ "cfg-if 1.0.0",
++ "crossbeam-utils",
++]
++
++[[package]]
++name = "crossbeam-deque"
++version = "0.8.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e"
++dependencies = [
++ "cfg-if 1.0.0",
++ "crossbeam-epoch",
++ "crossbeam-utils",
++]
++
++[[package]]
++name = "crossbeam-epoch"
++version = "0.9.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1145cf131a2c6ba0615079ab6a638f7e1973ac9c2634fcbeaaad6114246efe8c"
++dependencies = [
++ "autocfg 1.1.0",
++ "cfg-if 1.0.0",
++ "crossbeam-utils",
++ "lazy_static",
++ "memoffset",
++ "scopeguard",
++]
++
++[[package]]
++name = "crossbeam-utils"
++version = "0.8.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0bf124c720b7686e3c2663cf54062ab0f68a88af2fb6a030e87e30bf721fcb38"
++dependencies = [
++ "cfg-if 1.0.0",
++ "lazy_static",
++]
++
++[[package]]
++name = "csv"
++version = "1.1.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "22813a6dc45b335f9bade10bf7271dc477e81113e89eb251a0bc2a8a81c536e1"
++dependencies = [
++ "bstr",
++ "csv-core",
++ "itoa 0.4.8",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "csv-core"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2b2466559f260f48ad25fe6317b3c8dac77b5bdb5763ac7d9d6103530663bc90"
++dependencies = [
++ "memchr",
++]
++
++[[package]]
++name = "either"
++version = "1.6.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457"
++
++[[package]]
++name = "env_logger"
++version = "0.7.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "44533bbbb3bb3c1fa17d9f2e4e38bbbaf8396ba82193c4cb1b6445d711445d36"
++dependencies = [
++ "atty",
++ "humantime",
++ "log",
++ "regex",
++ "termcolor",
++]
++
++[[package]]
++name = "fid-rs"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6c28658c0c3420305705adde833a0d2d614207507d013a5f25707553fb2ae2cd"
++dependencies = [
++ "rayon",
++]
++
++[[package]]
++name = "fuchsia-cprng"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a06f77d526c1a601b7c4cdd98f54b5eaabffc14d5f2f0296febdc7f357c6d3ba"
++
++[[package]]
++name = "glib-sys"
++version = "0.10.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c7e9b997a66e9a23d073f2b1abb4dbfc3925e0b8952f67efd8d9b6e168e4cdc1"
++dependencies = [
++ "libc",
++ "system-deps",
++]
++
++[[package]]
++name = "glob"
++version = "0.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
++
++[[package]]
++name = "gobject-sys"
++version = "0.10.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "952133b60c318a62bf82ee75b93acc7e84028a093e06b9e27981c2b6fe68218c"
++dependencies = [
++ "glib-sys",
++ "libc",
++ "system-deps",
++]
++
++[[package]]
++name = "heck"
++version = "0.3.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
++dependencies = [
++ "unicode-segmentation",
++]
++
++[[package]]
++name = "hermit-abi"
++version = "0.1.19"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "humantime"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
++dependencies = [
++ "quick-error",
++]
++
++[[package]]
++name = "itertools"
++version = "0.8.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f56a2d0bc861f9165be4eb3442afd3c236d8a98afd426f65d92324ae1091a484"
++dependencies = [
++ "either",
++]
++
++[[package]]
++name = "itoa"
++version = "0.4.8"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4"
++
++[[package]]
++name = "itoa"
++version = "1.0.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
++
++[[package]]
++name = "lazy_static"
++version = "1.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
++
++[[package]]
++name = "lazycell"
++version = "1.3.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55"
++
++[[package]]
++name = "libc"
++version = "0.2.126"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "349d5a591cd28b49e1d1037471617a32ddcda5731b99419008085f72d5a53836"
++
++[[package]]
++name = "libloading"
++version = "0.5.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f2b111a074963af1d37a139918ac6d49ad1d0d5e47f72fd55388619691a7d753"
++dependencies = [
++ "cc",
++ "winapi",
++]
++
++[[package]]
++name = "lock_api"
++version = "0.3.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c4da24a77a3d8a6d4862d95f72e6fdb9c09a643ecdb402d754004a557f2bec75"
++dependencies = [
++ "scopeguard",
++]
++
++[[package]]
++name = "log"
++version = "0.4.17"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
++dependencies = [
++ "cfg-if 1.0.0",
++]
++
++[[package]]
++name = "louds-rs"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "e16a91fb20f74b6d9a758a0103a2884af525a2fa34fbfe19f4b3c5482a4a54e9"
++dependencies = [
++ "fid-rs",
++]
++
++[[package]]
++name = "maybe-uninit"
++version = "2.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00"
++
++[[package]]
++name = "memchr"
++version = "2.5.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
++
++[[package]]
++name = "memoffset"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce"
++dependencies = [
++ "autocfg 1.1.0",
++]
++
++[[package]]
++name = "nom"
++version = "5.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
++dependencies = [
++ "memchr",
++ "version_check",
++]
++
++[[package]]
++name = "num-traits"
++version = "0.2.15"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
++dependencies = [
++ "autocfg 1.1.0",
++]
++
++[[package]]
++name = "num_cpus"
++version = "1.13.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "19e64526ebdee182341572e50e9ad03965aa510cd94427a4549448f285e957a1"
++dependencies = [
++ "hermit-abi",
++ "libc",
++]
++
++[[package]]
++name = "once_cell"
++version = "0.2.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d584f08c2d717d5c23a6414fc2822b71c651560713e54fa7eace675f758a355e"
++dependencies = [
++ "parking_lot",
++]
++
++[[package]]
++name = "parking_lot"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f842b1982eb6c2fe34036a4fbfb06dd185a3f5c8edfaacdf7d1ea10b07de6252"
++dependencies = [
++ "lock_api",
++ "parking_lot_core",
++ "rustc_version 0.2.3",
++]
++
++[[package]]
++name = "parking_lot_core"
++version = "0.6.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b876b1b9e7ac6e1a74a6da34d25c42e17e8862aa409cbbbdcfc8d86c6f3bc62b"
++dependencies = [
++ "cfg-if 0.1.10",
++ "cloudabi",
++ "libc",
++ "redox_syscall",
++ "rustc_version 0.2.3",
++ "smallvec",
++ "winapi",
++]
++
++[[package]]
++name = "peeking_take_while"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099"
++
++[[package]]
++name = "pkg-config"
++version = "0.3.25"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
++
++[[package]]
++name = "proc-macro2"
++version = "1.0.39"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "c54b25569025b7fc9651de43004ae593a75ad88543b17178aa5e1b9c4f15f56f"
++dependencies = [
++ "unicode-ident",
++]
++
++[[package]]
++name = "quick-error"
++version = "1.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
++
++[[package]]
++name = "quote"
++version = "1.0.18"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a1feb54ed693b93a84e14094943b84b7c4eae204c512b7ccb95ab0c66d278ad1"
++dependencies = [
++ "proc-macro2",
++]
++
++[[package]]
++name = "rand"
++version = "0.6.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6d71dacdc3c88c1fde3885a3be3fbab9f35724e6ce99467f7d9c5026132184ca"
++dependencies = [
++ "autocfg 0.1.8",
++ "libc",
++ "rand_chacha",
++ "rand_core 0.4.2",
++ "rand_hc",
++ "rand_isaac",
++ "rand_jitter",
++ "rand_os",
++ "rand_pcg",
++ "rand_xorshift",
++ "winapi",
++]
++
++[[package]]
++name = "rand_chacha"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "556d3a1ca6600bfcbab7c7c91ccb085ac7fbbcd70e008a98742e7847f4f7bcef"
++dependencies = [
++ "autocfg 0.1.8",
++ "rand_core 0.3.1",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.3.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7a6fdeb83b075e8266dcc8762c22776f6877a63111121f5f8c7411e5be7eed4b"
++dependencies = [
++ "rand_core 0.4.2",
++]
++
++[[package]]
++name = "rand_core"
++version = "0.4.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9c33a3c44ca05fa6f1807d8e6743f3824e8509beca625669633be0acbdf509dc"
++
++[[package]]
++name = "rand_hc"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b40677c7be09ae76218dc623efbf7b18e34bced3f38883af07bb75630a21bc4"
++dependencies = [
++ "rand_core 0.3.1",
++]
++
++[[package]]
++name = "rand_isaac"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ded997c9d5f13925be2a6fd7e66bf1872597f759fd9dd93513dd7e92e5a5ee08"
++dependencies = [
++ "rand_core 0.3.1",
++]
++
++[[package]]
++name = "rand_jitter"
++version = "0.1.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1166d5c91dc97b88d1decc3285bb0a99ed84b05cfd0bc2341bdf2d43fc41e39b"
++dependencies = [
++ "libc",
++ "rand_core 0.4.2",
++ "winapi",
++]
++
++[[package]]
++name = "rand_os"
++version = "0.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7b75f676a1e053fc562eafbb47838d67c84801e38fc1ba459e8f180deabd5071"
++dependencies = [
++ "cloudabi",
++ "fuchsia-cprng",
++ "libc",
++ "rand_core 0.4.2",
++ "rdrand",
++ "winapi",
++]
++
++[[package]]
++name = "rand_pcg"
++version = "0.1.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "abf9b09b01790cfe0364f52bf32995ea3c39f4d2dd011eac241d2914146d0b44"
++dependencies = [
++ "autocfg 0.1.8",
++ "rand_core 0.4.2",
++]
++
++[[package]]
++name = "rand_xorshift"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "cbf7e9e623549b0e21f6e97cf8ecf247c1a8fd2e8a992ae265314300b2455d5c"
++dependencies = [
++ "rand_core 0.3.1",
++]
++
++[[package]]
++name = "rand_xoshiro"
++version = "0.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "03b418169fb9c46533f326efd6eed2576699c44ca92d3052a066214a8d828929"
++dependencies = [
++ "byteorder",
++ "rand_core 0.3.1",
++]
++
++[[package]]
++name = "rayon"
++version = "1.5.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd99e5772ead8baa5215278c9b15bf92087709e9c1b2d1f97cdb5a183c933a7d"
++dependencies = [
++ "autocfg 1.1.0",
++ "crossbeam-deque",
++ "either",
++ "rayon-core",
++]
++
++[[package]]
++name = "rayon-core"
++version = "1.9.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "258bcdb5ac6dad48491bb2992db6b7cf74878b0384908af124823d118c99683f"
++dependencies = [
++ "crossbeam-channel",
++ "crossbeam-deque",
++ "crossbeam-utils",
++ "num_cpus",
++]
++
++[[package]]
++name = "rdrand"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "678054eb77286b51581ba43620cc911abf02758c91f93f479767aed0f90458b2"
++dependencies = [
++ "rand_core 0.3.1",
++]
++
++[[package]]
++name = "redox_syscall"
++version = "0.1.57"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
++
++[[package]]
++name = "regex"
++version = "1.5.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1"
++dependencies = [
++ "aho-corasick",
++ "memchr",
++ "regex-syntax",
++]
++
++[[package]]
++name = "regex-automata"
++version = "0.1.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132"
++
++[[package]]
++name = "regex-syntax"
++version = "0.6.26"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64"
++
++[[package]]
++name = "rustc-hash"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
++
++[[package]]
++name = "rustc_version"
++version = "0.2.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a"
++dependencies = [
++ "semver 0.9.0",
++]
++
++[[package]]
++name = "rustc_version"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366"
++dependencies = [
++ "semver 1.0.10",
++]
++
++[[package]]
++name = "ryu"
++version = "1.0.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695"
++
++[[package]]
++name = "same-file"
++version = "1.0.6"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "scopeguard"
++version = "1.1.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
++
++[[package]]
++name = "semver"
++version = "0.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403"
++dependencies = [
++ "semver-parser",
++]
++
++[[package]]
++name = "semver"
++version = "1.0.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "a41d061efea015927ac527063765e73601444cdc344ba855bc7bd44578b25e1c"
++
++[[package]]
++name = "semver-parser"
++version = "0.7.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3"
++
++[[package]]
++name = "serde"
++version = "1.0.137"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "61ea8d54c77f8315140a05f4c7237403bf38b72704d031543aa1d16abbf517d1"
++
++[[package]]
++name = "serde_derive"
++version = "1.0.137"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "1f26faba0c3959972377d3b2d306ee9f71faee9714294e41bb777f83f88578be"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "serde_json"
++version = "1.0.81"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "9b7ce2b32a1aed03c558dc61a5cd328f15aff2dbc17daad8fb8af04d2100e15c"
++dependencies = [
++ "itoa 1.0.2",
++ "ryu",
++ "serde",
++]
++
++[[package]]
++name = "shlex"
++version = "0.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7fdf1b9db47230893d76faad238fd6097fd6d6a9245cd7a4d90dbd639536bbd2"
++
++[[package]]
++name = "smallvec"
++version = "0.6.14"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0"
++dependencies = [
++ "maybe-uninit",
++]
++
++[[package]]
++name = "strsim"
++version = "0.8.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
++
++[[package]]
++name = "strum"
++version = "0.18.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "57bd81eb48f4c437cadc685403cad539345bf703d78e63707418431cecd4522b"
++
++[[package]]
++name = "strum_macros"
++version = "0.18.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "87c85aa3f8ea653bfd3ddf25f7ee357ee4d204731f6aa9ad04002306f6e2774c"
++dependencies = [
++ "heck",
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "syn"
++version = "1.0.96"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0748dd251e24453cb8717f0354206b91557e4ec8703673a4b30208f2abaf1ebf"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "unicode-ident",
++]
++
++[[package]]
++name = "system-deps"
++version = "1.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0f3ecc17269a19353b3558b313bba738b25d82993e30d62a18406a24aba4649b"
++dependencies = [
++ "heck",
++ "pkg-config",
++ "strum",
++ "strum_macros",
++ "thiserror",
++ "toml",
++ "version-compare",
++]
++
++[[package]]
++name = "termcolor"
++version = "1.1.3"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
++dependencies = [
++ "winapi-util",
++]
++
++[[package]]
++name = "textwrap"
++version = "0.11.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
++dependencies = [
++ "unicode-width",
++]
++
++[[package]]
++name = "thiserror"
++version = "1.0.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "bd829fe32373d27f76265620b5309d0340cb8550f523c1dda251d6298069069a"
++dependencies = [
++ "thiserror-impl",
++]
++
++[[package]]
++name = "thiserror-impl"
++version = "1.0.31"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "0396bc89e626244658bef819e22d0cc459e795a5ebe878e6ec336d1674a8d79a"
++dependencies = [
++ "proc-macro2",
++ "quote",
++ "syn",
++]
++
++[[package]]
++name = "tinytemplate"
++version = "1.2.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc"
++dependencies = [
++ "serde",
++ "serde_json",
++]
++
++[[package]]
++name = "toml"
++version = "0.5.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
++dependencies = [
++ "serde",
++]
++
++[[package]]
++name = "trie-rs"
++version = "0.1.2-alpha.0"
++source = "git+https://github.com/davidventura/trie-rs#fab7d8cfca7cca35443d85e294655d6d73d85720"
++dependencies = [
++ "louds-rs",
++]
++
++[[package]]
++name = "unicode-ident"
++version = "1.0.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d22af068fba1eb5edcb4aea19d382b2a3deb4c8f9d475c589b6ada9e0fd493ee"
++
++[[package]]
++name = "unicode-segmentation"
++version = "1.9.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
++
++[[package]]
++name = "unicode-width"
++version = "0.1.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
++
++[[package]]
++name = "vec_map"
++version = "0.8.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
++
++[[package]]
++name = "version-compare"
++version = "0.0.10"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d63556a25bae6ea31b52e640d7c41d1ab27faba4ccb600013837a3d0b3994ca1"
++
++[[package]]
++name = "version_check"
++version = "0.9.4"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
++
++[[package]]
++name = "walkdir"
++version = "2.3.2"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56"
++dependencies = [
++ "same-file",
++ "winapi",
++ "winapi-util",
++]
++
++[[package]]
++name = "which"
++version = "3.1.1"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "d011071ae14a2f6671d0b74080ae0cd8ebf3a6f8c9589a2cd45f23126fe29724"
++dependencies = [
++ "libc",
++]
++
++[[package]]
++name = "winapi"
++version = "0.3.9"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
++dependencies = [
++ "winapi-i686-pc-windows-gnu",
++ "winapi-x86_64-pc-windows-gnu",
++]
++
++[[package]]
++name = "winapi-i686-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
++
++[[package]]
++name = "winapi-util"
++version = "0.1.5"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
++dependencies = [
++ "winapi",
++]
++
++[[package]]
++name = "winapi-x86_64-pc-windows-gnu"
++version = "0.4.0"
++source = "registry+https://github.com/rust-lang/crates.io-index"
++checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
++
++[[package]]
++name = "wk-we-adblock"
++version = "0.1.0"
++dependencies = [
++ "bindgen",
++ "criterion",
++ "gobject-sys",
++ "lazy_static",
++ "once_cell",
++ "pkg-config",
++ "rand",
++ "trie-rs",
++]
diff --git a/testing/wk-adblock/webkit2gtk-4.1.patch b/testing/wk-adblock/webkit2gtk-4.1.patch
new file mode 100644
index 00000000000..903a37fd2c1
--- /dev/null
+++ b/testing/wk-adblock/webkit2gtk-4.1.patch
@@ -0,0 +1,13 @@
+diff --git a/wk-we-adblock/build.rs b/wk-we-adblock/build.rs
+index f945e71..7153e04 100644
+--- a/wk-we-adblock/build.rs
++++ b/wk-we-adblock/build.rs
+@@ -5,7 +5,7 @@ use std::env;
+ use std::path::PathBuf;
+
+ fn main() {
+- let webkit2gtk = pkg_config::probe_library("webkit2gtk-4.0").unwrap();
++ let webkit2gtk = pkg_config::probe_library("webkit2gtk-4.1").unwrap();
+ let gtk = pkg_config::probe_library("gtk+-3.0").unwrap();
+
+ println!("cargo:rerun-if-changed=wrapper.h");
diff --git a/testing/wl-clipboard-x11/APKBUILD b/testing/wl-clipboard-x11/APKBUILD
index 3d1c3b11a6f..f38989d3c22 100644
--- a/testing/wl-clipboard-x11/APKBUILD
+++ b/testing/wl-clipboard-x11/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Robert Sacks <robert@sacks.email>
pkgname=wl-clipboard-x11
pkgver=5
-pkgrel=1
+pkgrel=3
pkgdesc="A wrapper to use wl-clipboard as a drop-in replacement to X11 clipboard tools"
url="https://github.com/brunelli/wl-clipboard-x11"
arch="noarch"
@@ -12,6 +12,7 @@ depends="wl-clipboard"
# other provider of cmd:xclip is xclip
# other provider of cmd:xsel is xsel
provider_priority=10 # lowest
+provides="cmd:xclip cmd:xsel"
subpackages="$pkgname-doc"
source="$pkgname-$pkgver.tar.gz::https://github.com/brunelli/wl-clipboard-x11/archive/v$pkgver.tar.gz"
@@ -19,4 +20,6 @@ package() {
DESTDIR="$pkgdir" make install
}
-sha512sums="3c40c2f9b44ca5f10d16ae5a696fba04c8fea9a94be910055f3d627d975eea337507dedf9c9f9ffaee90fb8b5a7d77786b34b95a6ad08a31b45fefb0514ef468 wl-clipboard-x11-5.tar.gz"
+sha512sums="
+3c40c2f9b44ca5f10d16ae5a696fba04c8fea9a94be910055f3d627d975eea337507dedf9c9f9ffaee90fb8b5a7d77786b34b95a6ad08a31b45fefb0514ef468 wl-clipboard-x11-5.tar.gz
+"
diff --git a/testing/wl-gammarelay/APKBUILD b/testing/wl-gammarelay/APKBUILD
new file mode 100644
index 00000000000..33065da8cc5
--- /dev/null
+++ b/testing/wl-gammarelay/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=wl-gammarelay
+pkgver=0.1.1
+pkgrel=6
+pkgdesc="Control color temperature and brightness under Wayland via DBus"
+url="https://github.com/jeremija/wl-gammarelay"
+license="GPL-3.0"
+arch="all"
+makedepends="go wayland-dev"
+source="https://github.com/jeremija/wl-gammarelay/archive/v$pkgver/wl-gammarelay-$pkgver.tar.gz"
+options="!check net" # no test suite, fetch dependencies
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ make -C protocol
+ go build -ldflags "-X main.Version=$pkgver"
+}
+
+package() {
+ install -Dm755 wl-gammarelay "$pkgdir"/usr/bin/wl-gammarelay
+}
+
+sha512sums="
+94251802a30bc5ecad9755c95c740cf0c56b2483e6bd08d7a77c34ec87e13f7ebf8f029e408053e0e03f4ce202e36d24f23c0c463271bca680ad4fd72eec9391 wl-gammarelay-0.1.1.tar.gz
+"
diff --git a/testing/wlavu/APKBUILD b/testing/wlavu/APKBUILD
index bd24f147dcd..aa8ecf64f80 100644
--- a/testing/wlavu/APKBUILD
+++ b/testing/wlavu/APKBUILD
@@ -3,11 +3,11 @@
pkgname=wlavu
pkgver=0_git20201101
_commit="665d39e70c16521cb6f883f25b8c5c4eeb863d44"
-pkgrel=0
+pkgrel=1
pkgdesc="PipeWire VU-meter for Wayland"
url="https://git.sr.ht/~kennylevinsen/wlavu"
license="MIT"
-arch="all !s390x !mips64" # limited by pipewire
+arch="all !s390x" # limited by pipewire
options="!check" # no test suite
makedepends="
meson
@@ -20,7 +20,7 @@ builddir="$srcdir/$pkgname-$_commit"
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
diff --git a/testing/wlclock/APKBUILD b/testing/wlclock/APKBUILD
index 1e895a2db17..83f308cb656 100644
--- a/testing/wlclock/APKBUILD
+++ b/testing/wlclock/APKBUILD
@@ -21,7 +21,7 @@ options="!check" # no test suite
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
diff --git a/testing/wlopm/APKBUILD b/testing/wlopm/APKBUILD
index 5976fc118dc..de77e83177a 100644
--- a/testing/wlopm/APKBUILD
+++ b/testing/wlopm/APKBUILD
@@ -1,8 +1,7 @@
# Contributor: Nulo <alpine@nulo.in>
# Maintainer: Nulo <alpine@nulo.in>
pkgname=wlopm
-pkgver=0_git20220103
-_commit=06ae5c5f6efbea3ffe058dc1c5066c12e3019d33
+pkgver=0.1.0
pkgrel=0
pkgdesc="Wayland output power management"
url="https://sr.ht/~leon_plickat/wlopm/"
@@ -11,8 +10,8 @@ license="GPL-3.0-or-later"
options="!check" # No test suite
makedepends="wayland-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$_commit.tar.gz::https://git.sr.ht/~leon_plickat/wlopm/archive/$_commit.tar.gz"
-builddir="$srcdir/$pkgname-$_commit"
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~leon_plickat/wlopm/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
build() {
make
@@ -23,5 +22,5 @@ package() {
}
sha512sums="
-2c9b1bff911772294927190dbc46529199cc4dff47680467b7242e7dd5b54fcd371a554599a9e236161aa9638ee895032ff5c88e1cc607a79d668171f1b38e0c wlopm-06ae5c5f6efbea3ffe058dc1c5066c12e3019d33.tar.gz
+a9690051786cfef1f96b574c8afaf35a7e234c0fa3b35b210be1fc1a963304c94f77d60935b32030cc641e87279d58b74f55dd3a6a4fcef905fb9432dd58ecab wlopm-0.1.0.tar.gz
"
diff --git a/testing/wlrobs/APKBUILD b/testing/wlrobs/APKBUILD
index 7431e62265e..fa346994603 100644
--- a/testing/wlrobs/APKBUILD
+++ b/testing/wlrobs/APKBUILD
@@ -1,12 +1,19 @@
# Maintainer: Marian Buschsieweke <marian.buschsieweke@ovgu.de>
pkgname=wlrobs
pkgver=1.0
-pkgrel=1
+pkgrel=4
pkgdesc="obs-studio plugin that allows you to screen capture on wlroots"
url="https://hg.sr.ht/~scoopta/wlrobs"
-arch="x86 x86_64" # obs-stduio not provided on other platforms
+arch="all !riscv64 !ppc64le" # obs -> luajit
license="GPL-3.0-only"
-makedepends="meson ninja obs-studio-dev wayland-dev"
+makedepends="
+ libdrm-dev
+ mesa-dev
+ meson
+ ninja
+ obs-studio-dev
+ wayland-dev
+"
source="https://dev.alpinelinux.org/archive/wlrobs/wlrobs-$pkgver.tar.gz "
builddir="$srcdir/$pkgname-v$pkgver"
options="!check" # No tests provided
@@ -24,11 +31,13 @@ build() {
abuild-meson \
-Duse_dmabuf=true \
build
- meson compile ${JOBS:+-j ${JOBS}} -C build
+ meson compile -C build
}
package() {
DESTDIR="$pkgdir" meson install --no-rebuild -C build
}
-sha512sums="801b95edc426d1c85567ff3dff5ae483090ba9e38e11564b60305a41096e496db2da27c472df92b22c2bd44be717432a9a62e051125eba77b30d2b57326f8683 wlrobs-1.0.tar.gz"
+sha512sums="
+801b95edc426d1c85567ff3dff5ae483090ba9e38e11564b60305a41096e496db2da27c472df92b22c2bd44be717432a9a62e051125eba77b30d2b57326f8683 wlrobs-1.0.tar.gz
+"
diff --git a/testing/wlroots0.12/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch b/testing/wlroots0.12/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch
new file mode 100644
index 00000000000..15d492cd0c9
--- /dev/null
+++ b/testing/wlroots0.12/0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch
@@ -0,0 +1,51 @@
+Upstream: no
+
+From e43ba0857cb39eae30b5e02cb87723e6456dc61e Mon Sep 17 00:00:00 2001
+From: Oliver Smith <ollieparanoid@postmarketos.org>
+Date: Tue, 10 Nov 2020 20:57:04 +0100
+Subject: [PATCH] Revert "layer-shell: error on 0 dimension without anchors"
+
+This reverts commit 8dec751a6d84335fb04288b8efab6dd5c90288d3, which
+introduced a consistency check:
+https://github.com/swaywm/wlroots/commit/8dec751a6d84335fb04288b8efab6dd5c90288d3
+
+Currently this causes phosh to crash, so let's revert it temporarily:
+https://source.puri.sm/Librem5/phosh/-/issues/422
+---
+ types/wlr_layer_shell_v1.c | 20 --------------------
+ 1 file changed, 20 deletions(-)
+
+diff --git a/types/wlr_layer_shell_v1.c b/types/wlr_layer_shell_v1.c
+index bc681117..d83b22b8 100644
+--- a/types/wlr_layer_shell_v1.c
++++ b/types/wlr_layer_shell_v1.c
+@@ -307,26 +307,6 @@ static void layer_surface_role_commit(struct wlr_surface *wlr_surface) {
+ return;
+ }
+
+- const uint32_t horiz = ZWLR_LAYER_SURFACE_V1_ANCHOR_LEFT |
+- ZWLR_LAYER_SURFACE_V1_ANCHOR_RIGHT;
+- if (surface->client_pending.desired_width == 0 &&
+- (surface->client_pending.anchor & horiz) != horiz) {
+- wl_resource_post_error(surface->resource,
+- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE,
+- "width 0 requested without setting left and right anchors");
+- return;
+- }
+-
+- const uint32_t vert = ZWLR_LAYER_SURFACE_V1_ANCHOR_TOP |
+- ZWLR_LAYER_SURFACE_V1_ANCHOR_BOTTOM;
+- if (surface->client_pending.desired_height == 0 &&
+- (surface->client_pending.anchor & vert) != vert) {
+- wl_resource_post_error(surface->resource,
+- ZWLR_LAYER_SURFACE_V1_ERROR_INVALID_SIZE,
+- "height 0 requested without setting top and bottom anchors");
+- return;
+- }
+-
+ if (surface->closed) {
+ // Ignore commits after the compositor has closed it
+ return;
+--
+2.20.1
+
diff --git a/testing/wlroots0.12/APKBUILD b/testing/wlroots0.12/APKBUILD
new file mode 100644
index 00000000000..850ef11ba64
--- /dev/null
+++ b/testing/wlroots0.12/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
+# Maintainer:
+pkgname=wlroots0.12
+pkgver=0.12.0
+pkgrel=1
+pkgdesc="modular Wayland compositor library (version 0.12.0 for phoc)"
+url="https://github.com/swaywm/wlroots"
+arch="all"
+license="MIT"
+options="!check" # contains no test suite
+makedepends="
+ elogind-dev
+ eudev-dev
+ libcap-dev
+ libinput-dev
+ libxcb-dev
+ libxkbcommon-dev
+ mesa-dev
+ meson
+ ninja
+ pixman-dev
+ wayland-dev
+ wayland-protocols
+ xcb-util-image-dev
+ xcb-util-wm-dev
+ xkeyboard-config-dev
+ "
+subpackages="$pkgname-dbg $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/swaywm/wlroots/archive/$pkgver.tar.gz
+ 0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch
+ "
+builddir="$srcdir/wlroots-$pkgver"
+
+replaces="wlroots"
+
+build() {
+ abuild-meson \
+ -Dlogind=enabled \
+ -Dlogind-provider=elogind \
+ -Dexamples=false \
+ . build
+ meson compile -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C build
+}
+
+sha512sums="
+560eae30932b777c1f07fb44592d5601c5d10ef74b31b6b9e4166a14caadab2bfa88d39282f159785d4c7f22f78d204f9bb7fab65d58afaf14b72a8486f9b415 wlroots0.12-0.12.0.tar.gz
+5547741b35fc8364360dabb93a6f988b6be9299b77ee4adf2c7edfcd4a3c97f2f0cbbd19a41548254fe5d2327ed45300824920ce3c9d0cb0846a3ba5b5a83e02 0001-Revert-layer-shell-error-on-0-dimension-without-anch.patch
+"
diff --git a/testing/wlroots0.15/0001-wlr_output_commit_state_clear_back_buffer.patch b/testing/wlroots0.15/0001-wlr_output_commit_state_clear_back_buffer.patch
new file mode 100644
index 00000000000..5e4196762c9
--- /dev/null
+++ b/testing/wlroots0.15/0001-wlr_output_commit_state_clear_back_buffer.patch
@@ -0,0 +1,30 @@
+From 7b8609eeb67bfea90e2a20409f870fd229af9a5d Mon Sep 17 00:00:00 2001
+From: Alexander Orzechowski <orzechowski.alexander@gmail.com>
+Date: Sat, 4 Jun 2022 18:18:02 -0400
+Subject: [PATCH] wlr_output_commit_state: Make sure to clear the back buffer
+
+Fixes: #3445
+---
+ types/output/output.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/types/output/output.c b/types/output/output.c
+index 85590ab63..4cf0fa8f5 100644
+--- a/types/output/output.c
++++ b/types/output/output.c
+@@ -654,10 +654,12 @@ bool wlr_output_test(struct wlr_output *output) {
+ bool wlr_output_commit(struct wlr_output *output) {
+ if (!output_basic_test(output)) {
+ wlr_log(WLR_ERROR, "Basic output test failed for %s", output->name);
++ output_clear_back_buffer(output);
+ return false;
+ }
+
+ if (!output_ensure_buffer(output)) {
++ output_clear_back_buffer(output);
+ return false;
+ }
+
+--
+GitLab
+
diff --git a/testing/wlroots0.15/APKBUILD b/testing/wlroots0.15/APKBUILD
new file mode 100644
index 00000000000..9cc5e7a7ddf
--- /dev/null
+++ b/testing/wlroots0.15/APKBUILD
@@ -0,0 +1,57 @@
+# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
+# Contributor:
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=wlroots0.15
+pkgver=0.15.1
+pkgrel=6
+pkgdesc="Modular Wayland compositor library"
+url="https://gitlab.freedesktop.org/wlroots/wlroots"
+license="MIT"
+arch="all"
+makedepends="
+ eudev-dev
+ glslang-dev
+ hwdata-dev
+ libcap-dev
+ libinput-dev
+ libseat-dev
+ libxcb-dev
+ libxkbcommon-dev
+ mesa-dev
+ meson
+ ninja
+ pixman-dev
+ vulkan-loader-dev
+ wayland-dev
+ wayland-protocols
+ xcb-util-image-dev
+ xcb-util-renderutil-dev
+ xcb-util-wm-dev
+ xkeyboard-config-dev
+ xwayland-dev
+ "
+subpackages="$pkgname-dbg $pkgname-dev"
+source="https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/$pkgver/wlroots-$pkgver.tar.gz
+ 0001-wlr_output_commit_state_clear_back_buffer.patch
+ "
+options="!check" # no test suite
+builddir="$srcdir/wlroots-$pkgver"
+
+replaces="wlroots"
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ -Dexamples=false \
+ . build
+ meson compile -C build
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C build
+}
+
+sha512sums="
+6228160f2f350a406c612f1048d7075cf2f78206cc84bc16f889d5d0acd614f9e98845fffed03d7067cfdbd7558b77fcc5d8cedc3868d866e476523126a63677 wlroots-0.15.1.tar.gz
+5e163ed2b918287397cd7485207ea3ee19ef5585771c709f937b4dc442aa86153d9c8414295d336a9379896e1c9728614e6126d768c3efa6da41ef961d480970 0001-wlr_output_commit_state_clear_back_buffer.patch
+"
diff --git a/testing/wlvncc/APKBUILD b/testing/wlvncc/APKBUILD
new file mode 100644
index 00000000000..1d07c11d133
--- /dev/null
+++ b/testing/wlvncc/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: Maxim Karasev <mxkrsv@disroot.org>
+# Maintainer: Maxim Karasev <mxkrsv@disroot.org>
+pkgname=wlvncc
+pkgver=0.0.0_git20230105
+_commit=2b9a886edd38204ef36e9f9f65dd32aaa3784530
+pkgrel=0
+pkgdesc="wayland native VNC client"
+url="https://github.com/any1/wlvncc"
+arch="all"
+license="ISC AND GPL-2.0-or-later"
+makedepends="
+ aml-dev
+ cyrus-sasl-dev
+ ffmpeg-dev
+ gnutls-dev
+ libdrm-dev
+ libgcrypt-dev
+ libjpeg-turbo-dev
+ libpng-dev
+ libxkbcommon-dev
+ lzo-dev
+ mesa-dev
+ meson
+ openssl-dev
+ pixman-dev
+ wayland-dev
+ zlib-dev
+ "
+source="https://github.com/any1/wlvncc/archive/$_commit/wlvncc-$pkgver.tar.gz"
+builddir="$srcdir/wlvncc-$_commit"
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ . output
+ meson compile -C output
+}
+
+check() {
+ meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+67fbd7c5c513113f6660d6711b09573de4bbd305c4f64ff4cc833864cf66c296ee23209a0ce4af6edb8e58ced462477f2105c1963e80471266d31a3ccc629db9 wlvncc-0.0.0_git20230105.tar.gz
+"
diff --git a/testing/wmctrl/APKBUILD b/testing/wmctrl/APKBUILD
index 3595a6bda01..4c8f99b64c2 100644
--- a/testing/wmctrl/APKBUILD
+++ b/testing/wmctrl/APKBUILD
@@ -2,40 +2,29 @@
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
pkgname=wmctrl
pkgver=1.07
-pkgrel=0
+pkgrel=1
pkgdesc="wmctrl is a UNIX/Linux command line tool to interact with an EWMH/NetWM compatible X Window Manager"
url="https://sites.google.com/site/tstyblo/wmctrl"
arch="all"
license="GPL"
-depends=""
-depends_dev=""
makedepends="libxmu-dev libx11-dev glib-dev"
-install=""
subpackages="$pkgname-doc"
-source="https://sites.google.com/site/tstyblo/wmctrl/wmctrl-1.07.tar.gz"
-
-_builddir=${srcdir}/${pkgname}-${pkgver}
-prepare() {
- local i
- cd "$_builddir"
- for i in $source; do
- case $i in
- *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
- esac
- done
-}
+source="https://sites.google.com/site/tstyblo/wmctrl/wmctrl-$pkgver.tar.gz
+ fix-x86_64.patch
+ "
build() {
- cd "$_builddir"
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man || return 1
- make
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man
+ make
}
package() {
- cd "$_builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
}
-sha512sums="4c77ad1e204e8d444f682ad1d05c0993bcab9097ac6d4b6a944556ab85acbe713f549dbaf443cd4d1226a162ce7d46fbd209c92652e87fc8e609feee74907daa wmctrl-1.07.tar.gz"
+sha512sums="
+4c77ad1e204e8d444f682ad1d05c0993bcab9097ac6d4b6a944556ab85acbe713f549dbaf443cd4d1226a162ce7d46fbd209c92652e87fc8e609feee74907daa wmctrl-1.07.tar.gz
+595f34d85cb08bad729d5903f3b6f9068d8e78ba9b814dc27d45082bed057b88875eaf77927a1808c9156f19f204363ff39db74a5efef1db0e41b586a975c6e3 fix-x86_64.patch
+"
diff --git a/testing/wmctrl/fix-x86_64.patch b/testing/wmctrl/fix-x86_64.patch
new file mode 100644
index 00000000000..30cf2e16b52
--- /dev/null
+++ b/testing/wmctrl/fix-x86_64.patch
@@ -0,0 +1,33 @@
+Patch-Source: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=362068
+Description: Correct 64 Architecture implementation of 32 bit data
+Author: Chris Donoghue <cdonoghu@gmail.com>
+Bug-Debian: http://bugs.debian.org/362068
+
+--- wmctrl-1.07.orig/main.c
++++ wmctrl-1.07/main.c
+@@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis
+ *
+ * long_length = Specifies the length in 32-bit multiples of the
+ * data to be retrieved.
++ *
++ * NOTE: see
++ * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html
++ * In particular:
++ *
++ * When the X window system was ported to 64-bit architectures, a
++ * rather peculiar design decision was made. 32-bit quantities such
++ * as Window IDs, atoms, etc, were kept as longs in the client side
++ * APIs, even when long was changed to 64 bits.
++ *
+ */
+ if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False,
+ xa_prop_type, &xa_ret_type, &ret_format,
+@@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis
+
+ /* null terminate the result to make string handling easier */
+ tmp_size = (ret_format / 8) * ret_nitems;
++ /* Correct 64 Architecture implementation of 32 bit data */
++ if(ret_format==32) tmp_size *= sizeof(long)/4;
+ ret = g_malloc(tmp_size + 1);
+ memcpy(ret, ret_prop, tmp_size);
+ ret[tmp_size] = '\0';
diff --git a/testing/wmi-client/APKBUILD b/testing/wmi-client/APKBUILD
index 96d09cce8e3..03b6879b7ea 100644
--- a/testing/wmi-client/APKBUILD
+++ b/testing/wmi-client/APKBUILD
@@ -3,7 +3,7 @@
pkgname=wmi-client
_pkgname="${pkgname/-*/}"
pkgver=1.3.16
-pkgrel=3
+pkgrel=4
pkgdesc="DCOM/WMI client implementation"
url="https://www.orvant.com/packages"
arch="all !aarch64"
diff --git a/testing/wmutils/APKBUILD b/testing/wmutils/APKBUILD
index f6dc47d2874..82d838b0246 100644
--- a/testing/wmutils/APKBUILD
+++ b/testing/wmutils/APKBUILD
@@ -1,6 +1,6 @@
-# Maintainer:
+# Maintainer: John Vogel <jvogel4@stny.rr.com>
pkgname=wmutils
-pkgver=1.5
+pkgver=1.7
pkgrel=1
pkgdesc="Set of X11 windows manipulation tools"
options="!check" # No testsuite
@@ -20,4 +20,6 @@ package() {
make DESTDIR="$pkgdir" PREFIX=/usr MANPREFIX=/usr/share/man install
}
-sha512sums="24989f53f9b42b927d285c25bcf25e09d89347b2d53232683c5de07318a4e3e535b87590bfcdd31309e63e1f0e85f6cdf8db7c32b039db883d6240bb210c78c2 wmutils-1.5.tar.gz"
+sha512sums="
+726fb328f503c6338f3b855ea77d797db647a78d1de02cfbb3778f27d10dbaa6cec14f46558d46da866b33467a1ab7871634075800d8f2ef00d3e0b5d331c65a wmutils-1.7.tar.gz
+"
diff --git a/testing/wok/APKBUILD b/testing/wok/APKBUILD
index 1b911c71e4e..6b3578f32ff 100644
--- a/testing/wok/APKBUILD
+++ b/testing/wok/APKBUILD
@@ -2,22 +2,21 @@
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=wok
pkgver=3.0.0
-pkgrel=2
+pkgrel=6
pkgdesc="Webserver of Kimchi - a cherrypy framework for multi-purpose plug-ins"
url="https://kimchi-project.github.io/wok/"
-# mips64: blocked by websockify
# s390x: blocked by polkist (py3-libvirt -> libvirt -> polkit)
# riscv64: blocked by nginx
-arch="noarch !mips64 !s390x !riscv64"
+arch="noarch !s390x !riscv64"
license="Apache-2.0 AND LGPL-2.1-only"
depends="python3 nginx logrotate py3-cherrypy py3-jsonschema
- py3-pyparted py3-pyldap py3-psutil py3-m2crypto py-cheetah
+ py3-pyparted py3-ldap py3-psutil py3-m2crypto py-cheetah
py3-augeas py3-pam py3-lxml py3-libvirt py3-yaml
- ttf-opensans ttf-font-awesome"
+ font-opensans font-awesome-free"
makedepends="automake autoconf libtool gettext-dev
python3-dev py3-pyflakes libxslt py3-setuptools websockify py3-mock"
options="!check" # depends on jaraco
-subpackages="$pkgname-lang $pkgname-doc"
+subpackages="$pkgname-lang $pkgname-doc $pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/kimchi-project/wok/archive/$pkgver.tar.gz
wokd.initd
alpine-specific-pushserver.patch
diff --git a/testing/wol/APKBUILD b/testing/wol/APKBUILD
index 6979abd976a..fcb0fd348e1 100644
--- a/testing/wol/APKBUILD
+++ b/testing/wol/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=wol
pkgver=0.7.1
-pkgrel=0
+pkgrel=2
pkgdesc="Wake On LAN functionality in a small program"
url="https://wake-on-lan.sourceforge.io/"
arch="all"
@@ -27,7 +27,8 @@ build() {
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --localstatedir=/var
+ --localstatedir=/var \
+ --infodir=/usr/share/info
make
}
@@ -39,6 +40,7 @@ package() {
make DESTDIR="$pkgdir" install
rm -rf "$pkgdir"/usr/lib/charset.alias
+ rm -rf "$pkgdir"/usr/share/locale/locale.alias
rmdir -p "$pkgdir"/usr/lib 2>/dev/null || true
}
diff --git a/testing/wolfssh/APKBUILD b/testing/wolfssh/APKBUILD
new file mode 100644
index 00000000000..fcc38d2aa38
--- /dev/null
+++ b/testing/wolfssh/APKBUILD
@@ -0,0 +1,54 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=wolfssh
+pkgver=1.4.17
+_pkgver=$pkgver-stable
+pkgrel=0
+pkgdesc="Small, fast, portable SSH implementation, including SCP and SFTP"
+url="https://www.wolfssl.com"
+arch="all"
+license="GPL-3.0-only"
+depends_dev="wolfssl-dev"
+makedepends="
+ $depends_dev
+ autoconf
+ automake
+ libtool
+ "
+checkdepends="bash"
+subpackages="$pkgname-dev"
+source="https://github.com/wolfSSL/wolfssh/archive/v$_pkgver/$pkgname-$_pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$_pkgver"
+
+case "$CARCH" in
+ s390x) options="!check";; # tests fail
+esac
+
+prepare() {
+ default_prepare
+
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --enable-distro
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+8ade29fee96b36f1fbfd275ded26b4b1e16227e7c6a0a8ddb8a376977bd0f91ecb2f5e3a812b9bf0e1a5080e85ee1d776de5950fa76e4fe87418a82187dc03bc wolfssh-1.4.17-stable.tar.gz
+"
diff --git a/testing/woodpecker/0001-we-use-the-prebuild-webui.patch b/testing/woodpecker/0001-we-use-the-prebuild-webui.patch
new file mode 100644
index 00000000000..5fa28dc9169
--- /dev/null
+++ b/testing/woodpecker/0001-we-use-the-prebuild-webui.patch
@@ -0,0 +1,25 @@
+From bfda0d8509d3ce9e3e5e2b2744b9aa12fcd01f40 Mon Sep 17 00:00:00 2001
+From: 6543 <6543@obermui.de>
+Date: Sun, 21 Jan 2024 23:37:16 +0100
+Subject: [PATCH] we use the prebuild webui
+
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 0b0f700f5..3d41d0193 100644
+--- a/Makefile
++++ b/Makefile
+@@ -185,7 +185,7 @@ test: test-agent test-server test-server-datastore test-cli test-lib test-ui ##
+ build-ui: ## Build UI
+ (cd web/; pnpm install --frozen-lockfile; pnpm build)
+
+-build-server: build-ui generate-swagger ## Build server
++build-server: generate-swagger ## Build server
+ CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o dist/woodpecker-server${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/server
+
+ build-agent: ## Build agent
+--
+2.43.0
+
diff --git a/testing/woodpecker/APKBUILD b/testing/woodpecker/APKBUILD
new file mode 100644
index 00000000000..aa5a5cb9a69
--- /dev/null
+++ b/testing/woodpecker/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Will Sinatra <wpsinatra@gmail.com>
+pkgname=woodpecker
+pkgver=2.3.0
+pkgrel=3
+pkgdesc="Simple yet powerful CI/CD engine with great extensibility"
+url="https://woodpecker-ci.org"
+arch="all"
+license="Apache-2.0"
+pkgusers="woodpecker"
+pkggroups="woodpecker"
+makedepends="
+ go
+ go-swag
+ sqlite-dev
+ "
+subpackages="$pkgname-doc $pkgname-openrc"
+install="$pkgname.pre-install"
+source="$pkgname-$pkgver.tar.gz::https://github.com/woodpecker-ci/woodpecker/releases/download/v$pkgver/woodpecker-src.tar.gz
+ 0001-we-use-the-prebuild-webui.patch
+ woodpecker.initd
+ woodpecker.confd
+ woodpecker.conf
+ fix-cgo.patch
+ "
+
+export GOFLAGS="$GOFLAGS -tags=libsqlite3"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+unpack() {
+ mkdir -p $builddir
+ tar -xzvf $srcdir/$pkgname-$pkgver.tar.gz -C $builddir
+}
+
+build() {
+ export TARGETARCH="$(go env GOHOSTARCH)"
+ make build -j1 STATIC_BUILD=false
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 "$builddir"/dist/woodpecker-server \
+ "$pkgdir"/usr/bin/woodpecker-server
+ install -Dm755 "$builddir"/dist/woodpecker-agent \
+ "$pkgdir"/usr/bin/woodpecker-agent
+ install -Dm755 "$builddir"/dist/woodpecker-cli \
+ "$pkgdir"/usr/bin/woodpecker-cli
+ install -Dm 644 "$builddir"/LICENSE \
+ "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+
+ install -Dm755 "$srcdir"/woodpecker.initd \
+ "$pkgdir"/etc/init.d/woodpecker
+ install -Dm644 "$srcdir"/woodpecker.confd \
+ "$pkgdir"/etc/conf.d/woodpecker
+
+ install -Dm640 -o woodpecker -g woodpecker "$srcdir"/woodpecker.conf \
+ "$pkgdir"/etc/woodpecker.conf
+ install -dm755 -o woodpecker -g woodpecker "$pkgdir"/var/lib/woodpecker
+}
+
+sha512sums="
+3dc50ac720dfac5f7f558b3c0168a186b35751741af889d1330f968e8d7c3a34f6451fada002987c22336d14d34c952a94928a3733402f7bb58279bf4f0b9201 woodpecker-2.3.0.tar.gz
+aecf28a0e893ef39f4a9c834aab6d9cdfef5a7f01ba5918134e2e7f3784ae102e642b9e247957da9c480ac7486b5f82027bff8df3033e90a503de57597b69917 0001-we-use-the-prebuild-webui.patch
+69fe477f805dcb71b0220b9af2b3d0226b2e92f3c46764f37a139bb7303ad7cdb1caa2a711d1f9d22fccb357bbfbecb1c6cba2033c9101a11c0bb67b405c3e55 woodpecker.initd
+0be91432e730cb0ad3663bebe7a257437cbefe5fa5c2f3145d621545d6cd2ff89ae41f338a5874166d2b03dc8caab73d26cd4322ed1122d4949cae5d6002b823 woodpecker.confd
+cb15d7ff290d9b68d5f63c20401ab622c8a7067d336841c876a6d3325e9d2a3ede3a85b792131d7d77a4126cbdb6f30a5a6113468f1efd736a2c1bbf2bfefbe4 woodpecker.conf
+2e7a002378d9005a775efee97012ccf0bf1724382e89e4ff0a75cc9f29c57423d820b0ebdd3b72d5176a6e98ff82b60c9d98671d70e0c24b3e131ce513a520cb fix-cgo.patch
+"
diff --git a/testing/woodpecker/fix-cgo.patch b/testing/woodpecker/fix-cgo.patch
new file mode 100644
index 00000000000..74d3ec18103
--- /dev/null
+++ b/testing/woodpecker/fix-cgo.patch
@@ -0,0 +1,53 @@
+--- a/Makefile
++++ b/Makefile
+@@ -189,10 +189,10 @@
+ CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o dist/woodpecker-server${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/server
+
+ build-agent: ## Build agent
+- CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o dist/woodpecker-agent${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/agent
++ CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o dist/woodpecker-agent${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/agent
+
+ build-cli: ## Build cli
+- CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o dist/woodpecker-cli${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/cli
++ CGO_ENABLED=${CGO_ENABLED} GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -ldflags '${LDFLAGS}' -o dist/woodpecker-cli${BIN_SUFFIX} go.woodpecker-ci.org/woodpecker/v2/cmd/cli
+
+ build-tarball: ## Build tar archive
+ mkdir -p dist && tar chzvf dist/woodpecker-src.tar.gz \
+@@ -244,12 +244,12 @@
+
+ release-agent: ## Create agent binaries for release
+ # compile
+- GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/agent/linux_amd64/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
+- GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/agent/linux_arm64/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
+- GOOS=linux GOARCH=arm CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/agent/linux_arm/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
+- GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/agent/windows_amd64/woodpecker-agent.exe go.woodpecker-ci.org/woodpecker/v2/cmd/agent
+- GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/agent/darwin_amd64/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
+- GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/agent/darwin_arm64/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
++ GOOS=linux GOARCH=amd64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/agent/linux_amd64/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
++ GOOS=linux GOARCH=arm64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/agent/linux_arm64/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
++ GOOS=linux GOARCH=arm CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/agent/linux_arm/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
++ GOOS=windows GOARCH=amd64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/agent/windows_amd64/woodpecker-agent.exe go.woodpecker-ci.org/woodpecker/v2/cmd/agent
++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/agent/darwin_amd64/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
++ GOOS=darwin GOARCH=arm64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/agent/darwin_arm64/woodpecker-agent go.woodpecker-ci.org/woodpecker/v2/cmd/agent
+ # tar binary files
+ tar -cvzf dist/woodpecker-agent_linux_amd64.tar.gz -C dist/agent/linux_amd64 woodpecker-agent
+ tar -cvzf dist/woodpecker-agent_linux_arm64.tar.gz -C dist/agent/linux_arm64 woodpecker-agent
+@@ -260,12 +260,12 @@
+
+ release-cli: ## Create cli binaries for release
+ # compile
+- GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/cli/linux_amd64/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
+- GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/cli/linux_arm64/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
+- GOOS=linux GOARCH=arm CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/cli/linux_arm/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
+- GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/cli/windows_amd64/woodpecker-cli.exe go.woodpecker-ci.org/woodpecker/v2/cmd/cli
+- GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/cli/darwin_amd64/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
+- GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -ldflags '${LDFLAGS}' -o dist/cli/darwin_arm64/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
++ GOOS=linux GOARCH=amd64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/cli/linux_amd64/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
++ GOOS=linux GOARCH=arm64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/cli/linux_arm64/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
++ GOOS=linux GOARCH=arm CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/cli/linux_arm/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
++ GOOS=windows GOARCH=amd64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/cli/windows_amd64/woodpecker-cli.exe go.woodpecker-ci.org/woodpecker/v2/cmd/cli
++ GOOS=darwin GOARCH=amd64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/cli/darwin_amd64/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
++ GOOS=darwin GOARCH=arm64 CGO_ENABLED=${CGO_ENABLED} go build -ldflags '${LDFLAGS}' -o dist/cli/darwin_arm64/woodpecker-cli go.woodpecker-ci.org/woodpecker/v2/cmd/cli
+ # tar binary files
+ tar -cvzf dist/woodpecker-cli_linux_amd64.tar.gz -C dist/cli/linux_amd64 woodpecker-cli
+ tar -cvzf dist/woodpecker-cli_linux_arm64.tar.gz -C dist/cli/linux_arm64 woodpecker-cli
diff --git a/testing/woodpecker/woodpecker.conf b/testing/woodpecker/woodpecker.conf
new file mode 100644
index 00000000000..d572938d207
--- /dev/null
+++ b/testing/woodpecker/woodpecker.conf
@@ -0,0 +1,8 @@
+# Woodpecker configuration
+# Reference: https://woodpecker-ci.org/docs/administration/server-config
+
+# WOODPECKER_GITHUB_CLIENT_ID=your-id
+# WOODPECKER_GITHUB_CLIENT_SECRET=super-duper-secret
+# WOODPECKER_RPC_SECRET=super-duper-secret
+# WOODPECKER_SERVER_HOST=drone.company.com
+# WOODPECKER_SERVER_PROTO=https
diff --git a/testing/woodpecker/woodpecker.confd b/testing/woodpecker/woodpecker.confd
new file mode 100644
index 00000000000..add1cb0f694
--- /dev/null
+++ b/testing/woodpecker/woodpecker.confd
@@ -0,0 +1,4 @@
+# Configuration for /etc/init.d/woodpecker
+
+# env file path
+#env_file="/etc/woodpecker.conf"
diff --git a/testing/woodpecker/woodpecker.initd b/testing/woodpecker/woodpecker.initd
new file mode 100644
index 00000000000..1838930561f
--- /dev/null
+++ b/testing/woodpecker/woodpecker.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+
+supervisor=supervise-daemon
+
+name="Woodpecker CI server"
+
+command="/usr/bin/woodpecker-server"
+command_args="-env-file ${env_file:-/etc/woodpecker.conf}"
+command_user="woodpecker:woodpecker"
+directory="/var/lib/woodpecker"
+
+error_log="/var/log/woodpecker.log"
+
+depend() {
+ need net
+ after firewall
+}
+
+start_pre() {
+ checkpath -d -m 755 -o "woodpecker:woodpecker" /var/lib/woodpecker
+ checkpath -f -m 644 -o "woodpecker:woodpecker" /var/log/woodpecker.log
+}
diff --git a/testing/woodpecker/woodpecker.pre-install b/testing/woodpecker/woodpecker.pre-install
new file mode 100644
index 00000000000..83ff0809e17
--- /dev/null
+++ b/testing/woodpecker/woodpecker.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S woodpecker 2>/dev/null
+adduser -S -D -H -h /var/lib/woodpecker -s /sbin/nologin -G woodpecker -g woodpecker woodpecker 2>/dev/null
+
+exit 0
diff --git a/testing/wordgrinder/APKBUILD b/testing/wordgrinder/APKBUILD
index bfb24d14da3..b3ded22922c 100644
--- a/testing/wordgrinder/APKBUILD
+++ b/testing/wordgrinder/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Roberto Oliveira <robertoguimaraes8@gmail.com>
pkgname=wordgrinder
pkgver=0.8
-pkgrel=0
+pkgrel=1
pkgdesc="A simple Unicode-aware word processor that runs on the console"
url="https://cowlark.com/wordgrinder/"
arch="all"
diff --git a/testing/words/APKBUILD b/testing/words/APKBUILD
deleted file mode 100644
index b6d26d2bffb..00000000000
--- a/testing/words/APKBUILD
+++ /dev/null
@@ -1,127 +0,0 @@
-# Contributor: Leo <thinkabit.ukim@gmail.com>
-# Maintainer:
-pkgname=words
-pkgver=2.1
-pkgrel=0
-pkgdesc="Collection of international 'words' file for /usr/share/dict"
-url="https://ftp.gnu.org/gnu/aspell/dict/0index.html"
-arch="noarch"
-license="GPL-2.0-or-later"
-makedepends="aspell-utils"
-subpackages="
- words-en:en:noarch
- words-gb:gb:noarch
- words-it:it:noarch
- words-es:es:noarch
- words-fi:fir:noarch
- words-fr:fr:noarch
- words-de:de:noarch
- "
-source="https://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-2017.08.24-0.tar.bz2
- https://ftp.gnu.org/gnu/aspell/dict/fi/aspell6-fi-0.7-0.tar.bz2
- https://ftp.gnu.org/gnu/aspell/dict/fr/aspell-fr-0.50-3.tar.bz2
- https://ftp.gnu.org/gnu/aspell/dict/de-alt/aspell6-de-alt-2.1-1.tar.bz2
- https://ftp.gnu.org/gnu/aspell/dict/it/aspell6-it-2.2_20050523-0.tar.bz2
- https://ftp.gnu.org/gnu/aspell/dict/de/aspell-de-0.50-2.tar.bz2
- https://ftp.gnu.org/gnu/aspell/dict/es/aspell6-es-1.11-2.tar.bz2
- "
-builddir="$srcdir/words"
-
-prepare() {
- mkdir -p "$builddir"
- default_prepare
-}
-
-build() {
- find "$srcdir" -name '*.cwl' -not -path "$srcdir/$pkgname/*" -exec cp -u '{}' './' \;
- preunzip *.cwl
- for wl in *.wl; do
- iconv -f ISO-8859-1 -t UTF-8 $wl | \
- cut -d '/' -f 1 | LC_ALL=C sort -df > $wl.utf8
- done
- rm *.wl
-
- # locale specific sort for other languages?
- # sort specified from FS#47262
- cat en-common.wl.utf8 en_US* | sort -u | LC_ALL=C sort -df > us-merged
- cat en-common.wl.utf8 en_GB* | sort -u | LC_ALL=C sort -df > gb-merged
- cat de-only.wl.utf8 de_* | sort -u | LC_ALL=C sort -df > de-merged
-}
-
-package() {
- install -Dm644 us-merged "$pkgdir/usr/share/dict/american-english"
- install -Dm644 gb-merged "$pkgdir/usr/share/dict/british-english"
- ln -s american-english "$pkgdir/usr/share/dict/usa"
- ln -s british-english "$pkgdir/usr/share/dict/british"
-
- install -Dm644 de-merged "$pkgdir/usr/share/dict/ngerman"
- install -Dm644 de-alt.wl.utf8 "$pkgdir/usr/share/dict/ogerman"
- ln -s ngerman "$pkgdir/usr/share/dict/german"
-
- install -Dm644 fr-40-only.wl.utf8 "$pkgdir/usr/share/dict/french"
-
- install -Dm644 es.wl.utf8 "$pkgdir/usr/share/dict/spanish"
- install -Dm644 fi.wl.utf8 "$pkgdir/usr/share/dict/finnish"
- install -Dm644 it.wl.utf8 "$pkgdir/usr/share/dict/italian"
-}
-
-en() {
- depends=""
- pkgdesc="American English dictionary in /usr/share/dict"
-
- amove usr/share/dict/usa
- amove usr/share/dict/american-english
-}
-
-gb() {
- depends=""
- pkgdesc="British English dictionary in /usr/share/dict"
-
- amove usr/share/dict/british
- amove usr/share/dict/british-english
-}
-
-it() {
- depends=""
- pkgdesc="Italian dictionary in /usr/share/dict"
-
- amove usr/share/dict/italian
-}
-
-es() {
- depends=""
- pkgdesc="Spanish dictionary in /usr/share/dict"
-
- amove usr/share/dict/spanish
-}
-
-fir() {
- depends=""
- pkgdesc="Finnish dictionary in /usr/share/dict"
-
- amove usr/share/dict/finnish
-}
-
-fr() {
- depends=""
- pkgdesc="French dictionary in /usr/share/dict"
-
- amove usr/share/dict/french
-}
-
-de() {
- depends=""
- pkgdesc="German dictionary in /usr/share/dict"
-
- amove usr/share/dict/german
- amove usr/share/dict/ngerman
- amove usr/share/dict/ogerman
-}
-
-sha512sums="2530f6bff61456ccf4e0e8383ab8583a1421b6001f156b4419385a272a54217b01e93d7aed8acff15f1e49afbb13bb81fd66002662ce7233c465ec0737fdfedc aspell6-en-2017.08.24-0.tar.bz2
-d1f27bc8e36033cba6ddaa978f2facfe8d134ab70124ec80d5397dba2b533b512755312feaf2afa838f68e4449479953a8b951264fbbfc28cdfd9457f67f67f7 aspell6-fi-0.7-0.tar.bz2
-bb5d1faada9283521096a19a8f5abada2a19cc02717f6dde57846ef46a4df253113b10a2bb72d2b0e32e4a3ab24b541a5acd9f4595b908d2f6cd2fc448d8bc3b aspell-fr-0.50-3.tar.bz2
-823324bc299e9adbbe5308681a5f74ee2a76a32816e8abc9d19c3da0c4eae756eaf1a3c76e2d75449b51010854ab869379073b1fe377e505662187d6c38230b4 aspell6-de-alt-2.1-1.tar.bz2
-2a2ccdbb8bb52e8e08525a40f985c1a2987c00d5e9fd39f57b8dc8689f3503f63751efe9ae4bec45fc5efea64666cd64abbda3e437ad0819f15b5a96987cda5a aspell6-it-2.2_20050523-0.tar.bz2
-79b0c9776c4a9b8bb0c5b3902bd1aa5daf6262b2a02753165d2fdb056b9bb0efcf5c4290d85bf98103cca29cf7aa81f99f725ea0faf5ab98b36ce080bdf8afbc aspell-de-0.50-2.tar.bz2
-5d0159f24d6bff43db682a4beb25e82dd362c205acf7c9e0d728808c0e54a8a566befe26316f384099c72e6c429713f8ad7d2dc66a8f04a15e1d5a9cfe2290d8 aspell6-es-1.11-2.tar.bz2"
diff --git a/testing/wormhole-william/APKBUILD b/testing/wormhole-william/APKBUILD
deleted file mode 100644
index d4b865699c0..00000000000
--- a/testing/wormhole-william/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: omni <omni+alpine@hack.org>
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=wormhole-william
-pkgver=1.0.5
-pkgrel=2
-pkgdesc="Go implementation of Magic Wormhole"
-arch="all !mips64" # tests fails on mips64
-url="https://github.com/psanford/wormhole-william"
-license="MIT"
-makedepends="go"
-source="$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
-
-export GOPATH="$srcdir"
-export GOFLAGS="$GOFLAGS -trimpath -mod=readonly -modcacherw"
-
-build() {
- go build -ldflags="-s -w" -v .
-}
-
-check() {
- go test -v ./...
-}
-
-package() {
- install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname
-}
-
-sha512sums="51a49432c275e04659739bd932e1520cc18262834a49c2aa616193ca637172ce02095d5a42aa7d71517e926bbc72bb0f1ab298ceacad023caa483a6394892f93 wormhole-william-1.0.5.tar.gz"
diff --git a/testing/wpa_actiond/APKBUILD b/testing/wpa_actiond/APKBUILD
index 0666ac4b814..92e0397288f 100644
--- a/testing/wpa_actiond/APKBUILD
+++ b/testing/wpa_actiond/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Marian <marian.buschsieweke@ovgu.de>
pkgname=wpa_actiond
pkgver=1.4
-pkgrel=6
+pkgrel=7
pkgdesc="Daemon that connects to wpa_supplicant and handles connect and disconnect events"
url="http://projects.archlinux.org/wpa_actiond.git"
arch="all"
diff --git a/testing/wpaperd/APKBUILD b/testing/wpaperd/APKBUILD
new file mode 100644
index 00000000000..5b518babecd
--- /dev/null
+++ b/testing/wpaperd/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=wpaperd
+pkgver=0.3.0
+pkgrel=2
+pkgdesc="Wallpaper daemon for Wayland"
+url="https://github.com/danyspin97/wpaperd"
+license="GPL-3.0-or-later"
+arch="all !s390x !riscv64" # blocked by rust/cargo
+makedepends="cargo libxkbcommon-dev scdoc cargo-auditable"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+ "
+source="https://github.com/danyspin97/wpaperd/archive/$pkgver/wpaperd-$pkgver.tar.gz
+ cargo-lock.patch
+ "
+options="!check" # no test suite
+
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+
+ scdoc <man/wpaperd-output.5.scd >man/wpaperd-output.5
+}
+
+package() {
+ install -Dm755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+
+ install -Dm644 man/*.1 -t "$pkgdir"/usr/share/man/man1/
+ install -Dm644 man/*.5 -t "$pkgdir"/usr/share/man/man5/
+
+ install -Dm644 completions/$pkgname.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/$pkgname
+ install -Dm644 completions/$pkgname.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/$pkgname.fish
+ install -Dm644 completions/_$pkgname \
+ "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
+}
+
+sha512sums="
+8fa4136e503e76f5c9b0cabe8679dedf6997f8fd6d0348f19743bfc7dfda2e3360e2ede3353539ada785816d07ac97fbc2b932c4cab76b06ed9db639be03af6a wpaperd-0.3.0.tar.gz
+8d8d5ce658f9ca48064ba1037669c775807eb4d8d7651551f97c5b386e910820c484c1b0d6a7740e8ccd672431bf9bc8759d72b763ac3b4e9a066507ed628604 cargo-lock.patch
+"
diff --git a/testing/wpaperd/cargo-lock.patch b/testing/wpaperd/cargo-lock.patch
new file mode 100644
index 00000000000..bc4c8e864da
--- /dev/null
+++ b/testing/wpaperd/cargo-lock.patch
@@ -0,0 +1,11 @@
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -1988,7 +1988,7 @@ checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd"
+
+ [[package]]
+ name = "wpaperd"
+-version = "1.0.0"
++version = "0.3.0"
+ dependencies = [
+ "clap 4.1.6",
+ "clap_complete",
diff --git a/testing/wpewebkit/APKBUILD b/testing/wpewebkit/APKBUILD
deleted file mode 100644
index c012355bd17..00000000000
--- a/testing/wpewebkit/APKBUILD
+++ /dev/null
@@ -1,70 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=wpewebkit
-pkgver=2.33.2
-pkgrel=2
-pkgdesc="WebKit port optimized for embedded devices"
-url="https://wpewebkit.org"
-arch="all !x86 !riscv64" # x86: Out of memory, riscv64: fails to link
-license="other"
-makedepends="
- at-spi2-atk-dev
- atk-dev
- bubblewrap
- cairo-dev
- cmake
- gperf
- gst-plugins-base-dev
- gtk-doc
- harfbuzz-dev
- lcms2-dev
- libepoxy-dev
- libgcrypt-dev
- libseccomp-dev
- libsoup-dev
- libtasn1-dev
- libwpe-dev
- libwpebackend-fdo-dev
- libxkbcommon-dev
- libxslt-dev
- ninja
- openjpeg-dev
- perl
- ruby-dev
- wayland-dev
- wayland-protocols
- woff2-dev
- xdg-dbus-proxy
- "
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://wpewebkit.org/releases/wpewebkit-$pkgver.tar.xz
- patch-gettext.patch
- "
-
-build() {
- if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
- fi
- cmake -B build \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DBUILD_SHARED_LIBS=True \
- -DCMAKE_BUILD_TYPE=None \
- -DPORT=WPE \
- -DENABLE_MINIBROWSER=On \
- -DENABLE_GTKDOC=On \
- -DUSE_SOUP2=On \
- -DUSE_SYSTEMD=Off \
- -GNinja \
- $CMAKE_CROSSOPTS .
- cmake --build build
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --install build
-}
-
-sha512sums="
-223d6ab767acf2f9f9a3225f04f51df1071851544168149ebe7bcaa0e49468dbe418a19158e5fc5dcdfb340541432bb90da6042ff8fd1fde91a81690cdfc60c3 wpewebkit-2.33.2.tar.xz
-4316330f0c42fcfe800210bdbeabbb6bdcf532b71e2761550b8a753499d801fd0405cc961a516dfddfc28c3a6cf0c17b6db461ff51158238b8d874bf75b799f2 patch-gettext.patch
-"
diff --git a/testing/wpewebkit/patch-gettext.patch b/testing/wpewebkit/patch-gettext.patch
deleted file mode 100644
index 1c9e1658565..00000000000
--- a/testing/wpewebkit/patch-gettext.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Add -lintl since it's not default in musl.
-
-Upstream: not yet.
-
---- a/Source/WebKit/CMakeLists.txt 2021-07-02 17:40:14.028879924 +0200
-+++ b/Source/WebKit/CMakeLists.txt 2021-07-02 17:41:31.015503465 +0200
-@@ -360,6 +360,8 @@
- list(APPEND WebKit_PRIVATE_LIBRARIES atomic)
- endif ()
-
-+list(APPEND WebKit_PRIVATE_LIBRARIES intl)
-+
- if (UNIX)
- check_function_exists(shm_open SHM_OPEN_EXISTS)
- if (NOT SHM_OPEN_EXISTS)
diff --git a/testing/wput/APKBUILD b/testing/wput/APKBUILD
index 33c03a96a88..6648a1df476 100644
--- a/testing/wput/APKBUILD
+++ b/testing/wput/APKBUILD
@@ -2,41 +2,36 @@
# Maintainer: Fabian Affolter <fabian@affolter-engineering.ch>
pkgname=wput
pkgver=0.6.2
-pkgrel=3
+pkgrel=4
pkgdesc="A command line tool to upload files to FTP site"
-url="http://wput.sourceforge.net/"
+url="https://wput.sourceforge.net/"
arch="all"
license="GPL-2.0-or-later"
makedepends="gnutls-dev"
subpackages="$pkgname-doc"
-source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tgz
+source="https://downloads.sourceforge.net/wput/wput-$pkgver.tgz
$pkgname-destdir.patch"
-builddir="$srcdir/$pkgname-$pkgver"
# Fix build with gcc >= 10.X
export CFLAGS="$CFLAGS -fcommon"
prepare() {
- default_prepare || return 1
+ default_prepare
- cd "$builddir"
update_config_guess && update_config_sub
}
build() {
- cd "$builddir"
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--mandir=/usr/share/man \
- --disable-g-switch \
- || return 1
- make || return 1
+ --disable-g-switch
+ make
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install || return 1
+ make DESTDIR="$pkgdir" install
}
sha512sums="e1d0fb8570cbda44c97215ee1a021a9867f2e91323b3d7f7df1d7fd68a1b2aba40a7f3068e5e85e8c736b1dba1fba62df375af99e3fb96cd0fd414b139c641bd wput-0.6.2.tgz
diff --git a/testing/wqy-zenhei/44-wqy-zenhei.conf b/testing/wqy-zenhei/44-wqy-zenhei.conf
deleted file mode 100644
index 6894073d3b1..00000000000
--- a/testing/wqy-zenhei/44-wqy-zenhei.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
-<fontconfig>
- <alias>
- <family>serif</family>
- <prefer>
- <family>Bitstream Vera Serif</family>
- <family>DejaVu Serif</family>
- <family>WenQuanYi Zen Hei</family>
- </prefer>
- </alias>
- <alias>
- <family>sans-serif</family>
- <prefer>
- <family>DejaVu Sans</family>
- <family>Bitstream Vera Sans</family>
- <family>WenQuanYi Zen Hei</family>
- </prefer>
- </alias>
- <alias>
- <family>monospace</family>
- <default>WenQuanYi Zen Hei Mono</default>
- <prefer>
- <family>DejaVu Sans Mono</family>
- <family>Bitstream Vera Sans Mono</family>
- <family>WenQuanYi Zen Hei Mono</family>
- </prefer>
- </alias>
-</fontconfig>
diff --git a/testing/wqy-zenhei/91-wqy-zenhei.conf b/testing/wqy-zenhei/91-wqy-zenhei.conf
deleted file mode 100644
index d7d962fd742..00000000000
--- a/testing/wqy-zenhei/91-wqy-zenhei.conf
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version='1.0'?>
-<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
-<fontconfig>
- <match target="font">
- <test qual="any" name="family">
- <string>WenQuanYi Zen Hei</string>
- </test>
- <test qual="any" name="family">
- <string>文泉驿正黑</string>
- </test>
- <test qual="any" name="family">
- <string>文泉驛正黑</string>
- </test>
- <edit name="globaladvance"><bool>false</bool></edit>
- <edit name="spacing"><int>0</int></edit>
- <edit name="antialias" mode="assign"><bool>true</bool></edit>
- <edit name="hinting" mode="assign"><bool>true</bool></edit>
- <edit name="hintstyle" mode="assign"><const>hintnone</const></edit>
- <edit name="autohint" mode="assign"><bool>false</bool></edit>
- <edit name="rh_prefer_bitmaps" mode="assign"><bool>false</bool></edit>
- <edit name="rgba" mode="assign"><const>none</const></edit>
- <edit name="embeddedbitmap"><bool>false</bool></edit>
- </match>
-</fontconfig>
diff --git a/testing/wqy-zenhei/APKBUILD b/testing/wqy-zenhei/APKBUILD
deleted file mode 100644
index f86b88ffb69..00000000000
--- a/testing/wqy-zenhei/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Ivan Tham <pickfire@riseup.net>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
-pkgname=wqy-zenhei
-pkgver=0.9.47
-pkgrel=0
-pkgdesc="Hei-Ti style (sans-serif) Chinese outline font"
-options="!check" # No testsuite
-url="http://wenq.org/wqy2/index.cgi?ZenHei"
-arch="noarch"
-license="GPL-2.0"
-depends="fontconfig mkfontscale"
-source="https://downloads.sourceforge.net/wqy/wqy-zenhei-0.9.45.tar.gz
- 44-wqy-zenhei.conf
- 91-wqy-zenhei.conf"
-builddir="$srcdir/$pkgname"
-
-package() {
- mkdir -p "$pkgdir"/usr/share/fonts/wenquanyi/$pkgname \
- "$pkgdir"/etc/fonts/conf.avail \
- "$pkgdir"/etc/fonts/conf.d
-
- install -m644 "$builddir"/$pkgname.ttc \
- "$pkgdir"/usr/share/fonts/wenquanyi/$pkgname
-
- for j in "$srcdir"/*.conf; do
- install -m644 "$j" "$pkgdir"/etc/fonts/conf.avail
- ln -sf /etc/fonts/conf.avail/${j##*/} \
- "$pkgdir"/etc/fonts/conf.d/${j##*/}
- done
-
- sed '/<!-- /d' "$builddir"/43-wqy-zenhei-sharp.conf \
- > "$pkgdir"/etc/fonts/conf.avail/43-wqy-zenhei-sharp.conf
-}
-
-sha512sums="02bc35891696453e4f730c7e2e3147566b4efc3a30f8d5cf81b1b8f244c629c76d0d812b74555143a5475a70b52d586a6fca52aa2df411649fe0ee2e12fda3a6 wqy-zenhei-0.9.45.tar.gz
-4b3a1ab9e978bff484172951322c7d8de41d306dd86c28a3f4ed5ee3adfbd9742dbcf5ccbe6270bef272e2bef35174396b4a519148dbf3623096ebc222887cf6 44-wqy-zenhei.conf
-65005c4345ae9a78a680fb5d1c1e6837df827fd8f1ddd305f27b4d61190cad833ea5a728fbdbb73f4af0316e022ebffe9e29363b8ef9ee8730ad2a436ee8d18e 91-wqy-zenhei.conf"
diff --git a/testing/wroomd/APKBUILD b/testing/wroomd/APKBUILD
new file mode 100644
index 00000000000..1b1df2d1e95
--- /dev/null
+++ b/testing/wroomd/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Affe Null <affenull2345@gmail.com>
+pkgname=wroomd
+pkgver=0.1.0
+pkgrel=0
+pkgdesc="Modem management daemon for Qualcomm platforms"
+url="https://git.abscue.de/obp/wroomd"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="
+ cargo
+ cargo-auditable
+ eudev-dev
+ "
+pkggroups="wroomd"
+subpackages="$pkgname-openrc"
+source="https://git.abscue.de/obp/wroomd/-/archive/$pkgver/wroomd-$pkgver.tar.bz2
+ de.abscue.obp.Wroomd.conf
+ wroomd.initd"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --release --frozen
+}
+
+package() {
+ install -Dm755 target/release/wroomd -t "$pkgdir"/usr/bin
+ install -Dm755 "$srcdir"/wroomd.initd "$pkgdir"/etc/init.d/wroomd
+ install -Dm644 "$srcdir"/de.abscue.obp.Wroomd.conf -t "$pkgdir"/usr/share/dbus-1/system.d
+}
+
+sha512sums="
+9edbcac983a909f4337520632f864c1eeef92f0483659e2c82eb656933614c5b7d6bb79f4cf7ce70f5a34b46787f197f3a106b7c876a6eaba5f84d6bb41b895a wroomd-0.1.0.tar.bz2
+4295f59367c61f6e60216281aea95829f966d5e4239a006fe855777544995baebac69fde659d0e275d07ee76da043c2bdadf990952915ac0dd452a177025f48c de.abscue.obp.Wroomd.conf
+b31398173ee291020cbd09bc5af40e65bf0ce7f86229727ba75ab4d8ffe0c7a4c99cc07d159aa5091beb943ed2bc4fe55fff2e06634866482571fc5c353593f3 wroomd.initd
+"
diff --git a/testing/wroomd/de.abscue.obp.Wroomd.conf b/testing/wroomd/de.abscue.obp.Wroomd.conf
new file mode 100644
index 00000000000..6c1f4fb65e1
--- /dev/null
+++ b/testing/wroomd/de.abscue.obp.Wroomd.conf
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE busconfig PUBLIC
+ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <!-- Only root can own the service -->
+ <policy user="root">
+ <allow own="de.abscue.obp.Wroomd"/>
+ </policy>
+
+ <policy group="wroomd">
+ <allow send_destination="de.abscue.obp.Wroomd"/>
+ </policy>
+</busconfig>
diff --git a/testing/wroomd/wroomd.initd b/testing/wroomd/wroomd.initd
new file mode 100644
index 00000000000..14251e70847
--- /dev/null
+++ b/testing/wroomd/wroomd.initd
@@ -0,0 +1,11 @@
+#!/sbin/openrc-run
+supervisor=supervise-daemon
+
+name="wroomd"
+description="Modem management daemon for Qualcomm platforms"
+
+command="/usr/bin/wroomd"
+
+depend() {
+ need dbus
+}
diff --git a/testing/wshowkeys/APKBUILD b/testing/wshowkeys/APKBUILD
index b74ae60e500..46308a5ee73 100644
--- a/testing/wshowkeys/APKBUILD
+++ b/testing/wshowkeys/APKBUILD
@@ -1,8 +1,7 @@
# Contributor: Michał Polański <michal@polanski.me>
# Maintainer: Michał Polański <michal@polanski.me>
pkgname=wshowkeys
-pkgver=0_git20200329
-_commit=6388a49e0f431d6d5fcbd152b8ae4fa8e87884ee
+pkgver=1.0
pkgrel=0
pkgdesc="Displays keys being pressed on a Wayland session"
url="https://git.sr.ht/~sircmpwn/wshowkeys"
@@ -18,15 +17,14 @@ makedepends="
wayland-dev
wayland-protocols
"
-source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/wshowkeys/archive/$_commit.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://git.sr.ht/~sircmpwn/wshowkeys/archive/$pkgver.tar.gz
fix-protocol-error.patch
"
-builddir="$srcdir/$pkgname-$_commit"
options="!check suid" # has no test suite; needs to be setuid to read input events
build() {
abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
+ meson compile -C output
}
package() {
@@ -35,6 +33,6 @@ package() {
}
sha512sums="
-14b99061ad123520de0c1ed270f1678c049bcf1782aeb474502f32270e38151c5a70db8af804a2d5a95c9d5811355b6762bd5a3dc412901b639e5ae663b63c13 wshowkeys-0_git20200329.tar.gz
+09f190d9825cb051d61484801ea7d9766c2b3c9fee4171a8926237c905a00fa98327f5d85ff601a9faf845e1cb8d58c7056811ffc7d4904985bd03d750581e6a wshowkeys-1.0.tar.gz
69635df42ae47235c18822fea77ee38126b22093929333613da0c9d01c071eb7978013796179d3471dfb8651083f0c1f1aea5dc43f9cba9b59a2a69fd25f1913 fix-protocol-error.patch
"
diff --git a/testing/wsmancli/APKBUILD b/testing/wsmancli/APKBUILD
index c5356fa4e57..6d34393e665 100644
--- a/testing/wsmancli/APKBUILD
+++ b/testing/wsmancli/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Francesco Colista <fcolista@alpinelinux.org>
# Maintainer: Francesco Colista <fcolista@alpinelinux.org>
pkgname=wsmancli
-pkgver=2.6.0
+pkgver=2.6.2
pkgrel=0
pkgdesc="Openwsman command line client"
url="https://openwsman.github.io/"
@@ -34,4 +34,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="40f69dfefd5cfc9c1d137c5c58bd0e84e1bb460ecb6770e1c56b023477f7521769f04e041682686d267796477704c7465d437f6fdb4068268a51d1136d5c8a56 wsmancli-2.6.0.tar.gz"
+sha512sums="
+9b1c99b18d2f9f6125a48bb4639ffa970b67fd4ac2dae401a0b9205ab7a0650ebd77737ce386761143aedefd18a59b92407a63831568ca5597e92281df8414b0 wsmancli-2.6.2.tar.gz
+"
diff --git a/testing/wtfutil/APKBUILD b/testing/wtfutil/APKBUILD
index ce060e7c5ab..59a1e303cef 100644
--- a/testing/wtfutil/APKBUILD
+++ b/testing/wtfutil/APKBUILD
@@ -1,8 +1,8 @@
-# Contributor: guddaff <guddaff@protonmail.com>
-# Maintainer: guddaff <guddaff@protonmail.com>
+# Contributor: guddaff <alpine@guddaff.de>
+# Maintainer: guddaff <alpine@guddaff.de>
pkgname=wtfutil
-pkgver=0.41.0
-pkgrel=0
+pkgver=0.43.0
+pkgrel=5
pkgdesc="personal information dashboard"
url="https://wtfutil.com/"
arch="all"
@@ -11,18 +11,24 @@ makedepends="go"
source="$pkgname-$pkgver.tar.gz::https://github.com/wtfutil/wtf/archive/refs/tags/v$pkgver.tar.gz"
builddir="$srcdir/wtf-$pkgver"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
build() {
- make PREFIX=/usr
+ go build -o bin/wtfutil
}
check() {
- make test
+ # hangs
+ # shellcheck disable=2046
+ go test $(go list ./... | grep -Ev '(wtf/modules/urlcheck|wtf/view)')
}
package() {
- install -Dm755 bin/wtfutil $pkgdir/usr/bin/wtfutil
+ install -Dm755 bin/wtfutil "$pkgdir"/usr/bin/wtfutil
}
sha512sums="
-34e17784c3f3a0e26c5efaac2274131a5c68e79244ab842dd1977fb08972351cb43e410f129d0f0bdde226fb89fab5cc628ca66d5e17fd0a57b88f69b10eabff wtfutil-0.41.0.tar.gz
+0e6c67add5bc90795503b9f337b377ad2b0a13d1ff4357971ed518f49979eac2c67a1df0fc86846c79616f96ccbf40cb2089185d55596b77832ebdea9213e212 wtfutil-0.43.0.tar.gz
"
diff --git a/testing/x11-calc/APKBUILD b/testing/x11-calc/APKBUILD
new file mode 100644
index 00000000000..437e1bc11aa
--- /dev/null
+++ b/testing/x11-calc/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: macmpi <spam@ipik.org>
+# Maintainer: macmpi <spam@ipik.org>
+pkgname=x11-calc
+pkgver=0.14.0147
+pkgrel=0
+pkgdesc="An HP calculator emulator"
+url="https://github.com/mike632t/x11-calc"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="libx11-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/mike632t/x11-calc/archive/refs/tags/v$pkgver.tar.gz"
+# does not have any tests
+options="!check"
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" prefix=/usr DESKTOP=freedesktop install
+}
+
+sha512sums="
+8baf896c55b4b18bb7087d039d60a98d8cc4063bd7aabab8c462f773508e7841b300904c502eaf381d5771a2b853b2a1bd2d4b6826cadf39d5299212dee33714 x11-calc-0.14.0147.tar.gz
+"
diff --git a/testing/x11docker/APKBUILD b/testing/x11docker/APKBUILD
index fdaceb13238..a107cfd96ad 100644
--- a/testing/x11docker/APKBUILD
+++ b/testing/x11docker/APKBUILD
@@ -1,23 +1,32 @@
# Contributor: Rasmus Thomsen <oss@cogitri.dev>
-# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
+# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=x11docker
-pkgver=6.9.0
-pkgrel=2
+pkgver=7.6.0
+pkgrel=1
pkgdesc="run GUI applications and desktops in docker. Focus on security"
url="https://github.com/mviereck/x11docker"
-arch="noarch !mips64" # blocked by docker
+arch="noarch"
license="MIT"
-depends="bash docker xorg-server-xephyr xwayland xorg-server
- xvfb xdotool pulseaudio xinit cmd:xclip xauth xhost xrandr zenity
- xdpyinfo"
+install="$pkgname.post-install"
+subpackages="$pkgname-doc"
+depends="
+ bash
+ cmd:xclip
+ xauth
+ xdotool
+ xdpyinfo
+ xhost
+ xinit
+ zenity
+ "
options="!check" # no tests
source="https://github.com/mviereck/x11docker/archive/v$pkgver/x11docker-$pkgver.tar.gz"
package() {
- mkdir -p "$pkgdir"/usr/bin
- mv x11docker x11docker-gui "$pkgdir"/usr/bin
+ install -Dm755 x11docker -t "$pkgdir"/usr/bin
+ install -Dm644 x11docker.man "$pkgdir"/usr/share/man/man1/x11docker.1
}
sha512sums="
-1a537115f50c3fa482dad95631460134a456d569cffbc36412e698f7f4600cc56c7febc6dcbbc43506e270cb06df9f994ef9b2c91f6cfcd2412bb65f2a6add22 x11docker-6.9.0.tar.gz
+9cc6f4fb0bb87fed6aa37457278ad79bf3ba603c8c80b3af8a14fb150efffa6687dfad6509cb0f9a38517b550c56a91737892caaed3d62ca776136b5629f3ccc x11docker-7.6.0.tar.gz
"
diff --git a/testing/x11docker/x11docker.post-install b/testing/x11docker/x11docker.post-install
new file mode 100644
index 00000000000..86401f78c1b
--- /dev/null
+++ b/testing/x11docker/x11docker.post-install
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+cat >&2 <<-EOF
+* x11docker can utilise any of: podman, nerdctl, docker
+* ensure you have the one you want to use installed.
+* it can also use weston/xwayland/xorg-wm's for the containers, see the
+* official documentation for dependencies you might need and how to configure
+* it.
+EOF
+
+exit 0
diff --git a/testing/xa/APKBUILD b/testing/xa/APKBUILD
index 64cfab4f96b..40afb6159b9 100644
--- a/testing/xa/APKBUILD
+++ b/testing/xa/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Henrik Riomar <henrik.riomar@gmail.com>
# Maintainer: Henrik Riomar <henrik.riomar@gmail.com>
pkgname=xa
-pkgver=2.3.12
+pkgver=2.3.14
pkgrel=0
pkgdesc="cross-assembler and utility suite for 65xx/65816 processors"
url="https://www.floodgap.com/retrotech/xa"
@@ -24,5 +24,5 @@ package() {
}
sha512sums="
-62702093b6c5c5c3fe0b09063ef98178d22ec5eea884e3ff4bad220b1f9f797d95bb36de31b49b30ca0e65a73c98fb7b8cad8cd939d5f6e7a3412d6198ee7f37 xa-2.3.12.tar.gz
+71d4631cb3e698b6522ca76c4b34078ded0632533bdaaa8b8d584eb27f0958ed288a6765136ff0ad03cd861a2dccbb76c6d8db0abf277a61ae864ad23212653d xa-2.3.14.tar.gz
"
diff --git a/testing/xandikos/APKBUILD b/testing/xandikos/APKBUILD
index 8bfbd801933..84de42aa7f9 100644
--- a/testing/xandikos/APKBUILD
+++ b/testing/xandikos/APKBUILD
@@ -1,17 +1,25 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=xandikos
-pkgver=0.2.8
-pkgrel=0
+pkgver=0.2.11
+pkgrel=1
pkgdesc="a lightweight yet complete CardDAV/CalDAV server that backs onto a Git repository"
url="https://xandikos.org"
arch="noarch"
license="GPL-3.0-or-later"
-depends="python3 py3-aiohttp py3-icalendar py3-dulwich py3-defusedxml py3-jinja2 py3-multidict"
-makedepends="py3-setuptools"
+depends="
+ py3-aiohttp
+ py3-defusedxml
+ py3-dulwich
+ py3-icalendar
+ py3-jinja2
+ py3-multidict
+ py3-vobject
+ "
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
checkdepends="py3-pytest"
install="$pkgname.pre-install"
-subpackages="$pkgname-doc $pkgname-openrc"
+subpackages="$pkgname-doc $pkgname-openrc $pkgname-pyc"
source="
$pkgname-$pkgver.tar.gz::https://github.com/jelmer/xandikos/archive/v$pkgver.tar.gz
xandikos.initd
@@ -19,15 +27,19 @@ source="
"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- PYTHONPATH="." pytest
+ python3 -m venv --clear --system-site-packages testenv
+ testenv/bin/python3 -m installer dist/*.whl
+ testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" dist/*.whl
install -m644 -D man/$pkgname.8 \
"$pkgdir"/usr/share/man/man8/$pkgname
@@ -39,7 +51,7 @@ package() {
}
sha512sums="
-da1b76b79b27e63cbf5416ef215dbd97c8a968e7db8c084b451e432feea7db2d93b673f17e66d1518cbd1b5586368226d393e6cd12a28f5917d53d734a8d0cfd xandikos-0.2.8.tar.gz
+e65a7a5f7b063ce46a94ef9a3c62a761cc60a422b9f5199151824dc8eff70c31593ab854cf6b79fa2d9c1111c3b69320d7df2a1c28c5205858cc22cdb68b936a xandikos-0.2.11.tar.gz
8d49ef3ce004a666d4e9b1e97114d5bf381aa75538518ce7b15202bacf73ef90cd3ad751d6aae73b2b5768b37f58045ed3f34db0d004a8c5f479c1a79cbbcd60 xandikos.initd
8e1ef71e22809c9c7424dd518949e936d09d1da7f2911862d7943b71976554d74f72f186ea76bf8510b8fd95a75028fe369e5907c20695211425cf50c911388a xandikos.confd
"
diff --git a/testing/xastir/APKBUILD b/testing/xastir/APKBUILD
deleted file mode 100644
index f516fc6eff0..00000000000
--- a/testing/xastir/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=xastir
-pkgver=2.1.8
-pkgrel=0
-pkgdesc="radio amateur mapping, tracking, messaging, weather, and Search & Rescue"
-url="https://xastir.org"
-arch="all"
-license="GPL-2.0-or-later"
-makedepends="linux-headers libxrender-dev libxt-dev libxp-dev curl-dev pcre-dev motif-dev libax25-dev autoconf automake"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/Xastir/Xastir/archive/Release-$pkgver.tar.gz
- fix-mutex.patch
- "
-builddir="$srcdir"/Xastir-Release-$pkgver
-prepare() {
- default_prepare
- ./bootstrap.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
-
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-361c92381b385035af160578dcfc4c800edcfabdbaebc5eda1c4fd9a78e934f289a54813577d5b765bbed6eae50cb772735defec6f489dc65326941d2492850d xastir-2.1.8.tar.gz
-2ed800774f2cdbbe1e096e967a896f4e31ba53d5c7ca2c770c74c6ba56967b69a1b56ca940fdcc618853b62284532741ffe3051824deb1be6a98773693508d0c fix-mutex.patch
-"
diff --git a/testing/xastir/fix-mutex.patch b/testing/xastir/fix-mutex.patch
deleted file mode 100644
index 129cd38b4d1..00000000000
--- a/testing/xastir/fix-mutex.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/src/util.c 2019-07-15 00:30:31.000000000 +0200
-+++ b/src/util.c 2019-08-31 15:56:13.580212122 +0200
-@@ -5457,10 +5457,10 @@
- // NON_LSB VERSION
- // Check first for newer pthread function
- # ifdef HAVE_PTHREAD_MUTEXATTR_SETTYPE
-- (void)pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK_NP);
-+ (void)pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_ERRORCHECK);
- # else
- // Use older, deprecated pthread function
-- (void)pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_ERRORCHECK_NP);
-+ (void)pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_ERRORCHECK);
- # endif // HAVE_PTHREAD_MUTEXATTR_SETTYPE
- # endif // __LSB__
-
diff --git a/testing/xboard/APKBUILD b/testing/xboard/APKBUILD
new file mode 100644
index 00000000000..1ca60905234
--- /dev/null
+++ b/testing/xboard/APKBUILD
@@ -0,0 +1,53 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=xboard
+pkgver=4.9.1
+pkgrel=2
+pkgdesc="Graphical chessboard for the X Window System"
+url="https://www.gnu.org/software/xboard"
+arch="all"
+license="GPL-3.0-or-later"
+options="!check" # no test suite
+makedepends="
+ autoconf
+ automake
+ cairo-dev
+ gtk+2.0-dev
+ librsvg-dev
+ libtool
+ texinfo
+ xdg-utils
+ "
+source="https://ftp.gnu.org/gnu/xboard/xboard-$pkgver.tar.gz"
+subpackages="$pkgname-doc $pkgname-lang"
+
+prepare() {
+ default_prepare
+ sed -i s/fairymax/gnuchess/ \
+ gtk/xboard.h \
+ xaw/xboard.h \
+ xboard.conf \
+ xboard.man \
+ xboard.info \
+ xboard.texi
+
+ autoreconf -fvi
+}
+
+build() {
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --enable-zippy
+ make CFLAGS="$CFLAGS -fcommon"
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7c6f17450edc3f56d5987f6363da01633850b87b0d6664524a4697216dc66aa58f84314ba57ee68aebfbb01ef96995e34be4e98fb4a5124e3f5090690f91ae08 xboard-4.9.1.tar.gz
+"
diff --git a/testing/xcaddy/APKBUILD b/testing/xcaddy/APKBUILD
new file mode 100644
index 00000000000..165695b3a42
--- /dev/null
+++ b/testing/xcaddy/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: Fabricio Silva <hi@fabricio.dev>
+# Maintainer: Fabricio Silva <hi@fabricio.dev>
+pkgname=xcaddy
+pkgver=0.3.5
+pkgrel=4
+pkgdesc="Build Caddy with plugins"
+url="https://github.com/caddyserver/xcaddy"
+license="Apache-2.0"
+arch="all"
+depends="go"
+source="https://github.com/caddyserver/xcaddy/archive/v$pkgver/caddy-$pkgver.tar.gz"
+options="net" # for downloading Go modules
+
+export GOFLAGS="$GOFLAGS -modcacherw"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -trimpath -o bin/xcaddy ./cmd/xcaddy
+}
+
+check() {
+ go test ./...
+}
+
+package() {
+ install -Dm755 bin/xcaddy -t "$pkgdir"/usr/sbin/
+}
+
+sha512sums="
+7f37bf819618d51dcc4dfd89a90403c0841f277bcf5f9f3cf548ed89d486faf92608522df161ad3a2daf9f046feb91c4b4feb6f7ddeb336c9e0946576052b34e caddy-0.3.5.tar.gz
+"
diff --git a/testing/xcape/APKBUILD b/testing/xcape/APKBUILD
index 5ce43968ae3..b18b98e7f68 100644
--- a/testing/xcape/APKBUILD
+++ b/testing/xcape/APKBUILD
@@ -10,7 +10,7 @@ license="GPL-3.0"
options="!check" # no test suite
makedepends="libxtst-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::$url/archive/v$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/alols/xcape/archive/v$pkgver.tar.gz"
build() {
make
diff --git a/testing/xcb-imdkit/APKBUILD b/testing/xcb-imdkit/APKBUILD
deleted file mode 100755
index 12ea59e5be7..00000000000
--- a/testing/xcb-imdkit/APKBUILD
+++ /dev/null
@@ -1,40 +0,0 @@
-# Contributor: Alex Yam <alex@alexyam.com>
-# Maintainer: Alex Yam <alex@alexyam.com>
-pkgname=xcb-imdkit
-pkgver=1.0.3
-pkgrel=0
-pkgdesc="X input method support for XCB"
-url="https://github.com/fcitx/xcb-imdkit"
-arch="all !armhf" # Limited by extra-cmake-modules
-license="LGPL-2.1-only"
-makedepends="
- cmake
- extra-cmake-modules
- xcb-util-keysyms-dev
- uthash-dev
- "
-subpackages="$pkgname-dev"
-source="$pkgname-$pkgver.tar.gz::https://github.com/fcitx/xcb-imdkit/archive/$pkgver.tar.gz"
-
-build() {
- cmake \
- -DCMAKE_PREFIX_PATH=/usr \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_INSTALL_LIBDIR=lib \
- -DUSE_SYSTEM_UTHASH=on \
- -B build
- cmake --build build
-}
-
-check() {
- cd $builddir/build/test
- ctest -VV
-}
-
-package() {
- DESTDIR="$pkgdir" cmake --build build --target install
-}
-
-sha512sums="
-ff2530ed4b172c33466169ec0f7b52abd049796f3328f336a5e839775242ce0500d40148448f82a78e16cfb8da428ad664a3479db697ee14f3336bcaa969e762 xcb-imdkit-1.0.3.tar.gz
-"
diff --git a/testing/xcompmgr/APKBUILD b/testing/xcompmgr/APKBUILD
index 1a81407e436..9e4b61bedee 100644
--- a/testing/xcompmgr/APKBUILD
+++ b/testing/xcompmgr/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Anjandev Momi <anjan@momi.ca>
# Maintainer: Anjandev Momi <anjan@momi.ca>
pkgname=xcompmgr
-pkgver=1.1.8
+pkgver=1.1.9
pkgrel=0
pkgdesc="Composite Window-effects manager for X.org"
url="https://xorg.freedesktop.org/"
@@ -9,7 +9,7 @@ arch="all"
license="MIT"
makedepends="libxcomposite-dev libxdamage-dev libxrender-dev libxext-dev"
subpackages="$pkgname-doc"
-source="https://xorg.freedesktop.org/releases/individual/app/xcompmgr-$pkgver.tar.gz"
+source="https://xorg.freedesktop.org/releases/individual/app/xcompmgr-$pkgver.tar.xz"
build() {
./configure \
@@ -31,5 +31,5 @@ package() {
}
sha512sums="
-974a49317a41c9c0e8c143bca9853c9164169b28fb6b22181cdde4b95bc7fd8ebaa2f4e6351774d6e6c2dc5a680a9e453322d0cf08d53f8abeae82893334c46d xcompmgr-1.1.8.tar.gz
+699117492af7fd84b36d317dcbf422d5ec86a7f21e29370caa737cd940d8ff866a5c8704ba2e7bd17a64e085d77fd23b628263d619813dead85cd669ff5b860e xcompmgr-1.1.9.tar.xz
"
diff --git a/testing/xdg-desktop-portal-hyprland/APKBUILD b/testing/xdg-desktop-portal-hyprland/APKBUILD
new file mode 100644
index 00000000000..c860c62c0f5
--- /dev/null
+++ b/testing/xdg-desktop-portal-hyprland/APKBUILD
@@ -0,0 +1,48 @@
+# Contributor: Rabindra Dhakal <contact@qaidvoid.dev>
+# Maintainer: Rabindra Dhakal <contact@qaidvoid.dev>
+pkgname=xdg-desktop-portal-hyprland
+pkgver=1.3.1
+pkgrel=2
+pkgdesc="xdg-desktop-portal backend for hyprland"
+url="https://github.com/hyprwm/xdg-desktop-portal-hyprland"
+arch="all !armhf !armv7 !x86" # 32bit builds broken
+license="BSD-3-Clause"
+options="!check" # No tests
+depends="
+ hyprlang
+ xdg-desktop-portal
+ "
+makedepends="
+ basu-dev
+ cmake
+ hyprland-protocols
+ pipewire-dev
+ qt6-qtwayland-dev
+ sdbus-cpp-dev
+ wayland-dev
+ "
+subpackages="$pkgname-doc"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/hyprwm/xdg-desktop-portal-hyprland/archive/v$pkgver.tar.gz
+ use-system-installed-sdbus-c++.patch
+ "
+
+build() {
+ cmake -B build \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_LIBEXECDIR=/usr/libexec \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+
+ rm -rf "$pkgdir"/usr/lib/systemd
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+8d0f9b97fca4566efe717de6d739d10ec51ce5aa33459940f759fc90543fcca3b094d3e570446c5f82c9146249ce39c00fa215b0b83573a466a9907aec9366f3 xdg-desktop-portal-hyprland-1.3.1.tar.gz
+dc93557c1faa0e903ad133cd96484b9b1bb7d6fceb09b5a8c71e5053deb6db1e34fd31a11f7b8a41d2468abe310414d831ca43cdf15b947a5dec562297e870a2 use-system-installed-sdbus-c++.patch
+"
diff --git a/testing/xdg-desktop-portal-hyprland/use-system-installed-sdbus-c++.patch b/testing/xdg-desktop-portal-hyprland/use-system-installed-sdbus-c++.patch
new file mode 100644
index 00000000000..1ecaa8ffc2a
--- /dev/null
+++ b/testing/xdg-desktop-portal-hyprland/use-system-installed-sdbus-c++.patch
@@ -0,0 +1,32 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 73f429b..e760098 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -38,17 +38,12 @@ add_compile_options(-Wall -Wextra -Wno-unused-parameter -Wno-unused-value
+ message(STATUS "Checking deps...")
+ add_subdirectory(hyprland-share-picker)
+
++find_package(sdbus-c++ REQUIRED)
+ find_package(Threads REQUIRED)
+ find_package(PkgConfig REQUIRED)
+ pkg_check_modules(deps REQUIRED IMPORTED_TARGET wayland-client wayland-protocols libpipewire-0.3 libspa-0.2 libdrm gbm hyprlang>=0.2.0)
+
+ # check whether we can find sdbus-c++ through pkg-config
+-pkg_check_modules(SDBUS IMPORTED_TARGET sdbus-c++)
+-if(NOT SDBUS_FOUND)
+- include_directories("subprojects/sdbus-cpp/include/")
+- add_subdirectory(subprojects/sdbus-cpp)
+- add_library(PkgConfig::SDBUS ALIAS sdbus-c++)
+-endif()
+
+ # same for hyprland-protocols
+ pkg_check_modules(HYPRLAND_PROTOS IMPORTED_TARGET hyprland-protocols)
+@@ -60,7 +55,7 @@ endif()
+
+ file(GLOB_RECURSE SRCFILES CONFIGURE_DEPENDS "src/*.cpp")
+ add_executable(xdg-desktop-portal-hyprland ${SRCFILES})
+-target_link_libraries(xdg-desktop-portal-hyprland PRIVATE rt PkgConfig::SDBUS Threads::Threads PkgConfig::deps)
++target_link_libraries(xdg-desktop-portal-hyprland PRIVATE rt sdbus-c++ Threads::Threads PkgConfig::deps)
+
+ # protocols
+ find_program(WaylandScanner NAMES wayland-scanner)
diff --git a/testing/xdg-ninja/APKBUILD b/testing/xdg-ninja/APKBUILD
new file mode 100644
index 00000000000..0e29ee93d03
--- /dev/null
+++ b/testing/xdg-ninja/APKBUILD
@@ -0,0 +1,24 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=xdg-ninja
+pkgver=0.2.0.2
+pkgrel=0
+pkgdesc="Shell script which checks your home directory for unwanted files and directories"
+url="https://github.com/b3nj5m1n/xdg-ninja"
+arch="noarch"
+license="MIT"
+depends="jq"
+source="https://github.com/b3nj5m1n/xdg-ninja/archive/v$pkgver/xdg-ninja-$pkgver.tar.gz"
+options="!check" # no upstream tests
+
+package() {
+ local bin="$pkgdir/usr/bin"
+ local lib="$pkgdir/usr/lib/$pkgname"
+ install -Dm755 -t "$lib" "$pkgname.sh"
+ install -dm755 "$bin"
+ ln -s "${lib#"$pkgdir"}/$pkgname.sh" "$bin/$pkgname"
+ cp -rpt "$lib" "programs"
+}
+
+sha512sums="
+d96764067af5812869d53b99b0a04d224f8a5d70f2664df7149c11692c32d2b86105436d7aad3271192aeb8eb128a22571227cf2a1b6d99e80765f0a505ff71a xdg-ninja-0.2.0.2.tar.gz
+"
diff --git a/testing/xdg-user-dirs-gtk/APKBUILD b/testing/xdg-user-dirs-gtk/APKBUILD
new file mode 100644
index 00000000000..5d2c45475ed
--- /dev/null
+++ b/testing/xdg-user-dirs-gtk/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xdg-user-dirs-gtk
+pkgver=0.11
+pkgrel=2
+pkgdesc="GTK frontend for xdg-user-dirs"
+url="https://gitlab.gnome.org/GNOME/xdg-user-dirs-gtk"
+arch="all"
+license="GPL-2.0-or-later"
+depends="xdg-user-dirs"
+makedepends="gtk+3.0-dev intltool"
+subpackages="$pkgname-lang"
+source="https://download.gnome.org/sources/xdg-user-dirs-gtk/$pkgver/xdg-user-dirs-gtk-$pkgver.tar.xz
+ more-desktops.patch
+ "
+options="!check" # no tests
+
+build() {
+ ./configure \
+ --prefix=/usr \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --sysconfdir=/etc
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+2a650c6372126f807ac90fb0508e1b11636b38b5960a3037b547e9f1bb1a6b82653f20da7d5aae1144eebec040e3af89a02fbf70c1768724019b384f6d9cf85a xdg-user-dirs-gtk-0.11.tar.xz
+276f8be2a09550238acf81cbbb037e89c49469d4d854fb5a26d394335698379d180a3ced48f71c12cf87efecff1f6ce057579b63456f8a2334652d77e1a8eb8c more-desktops.patch
+"
diff --git a/testing/xdg-user-dirs-gtk/more-desktops.patch b/testing/xdg-user-dirs-gtk/more-desktops.patch
new file mode 100644
index 00000000000..c92aec6a2ac
--- /dev/null
+++ b/testing/xdg-user-dirs-gtk/more-desktops.patch
@@ -0,0 +1,13 @@
+diff --git a/user-dirs-update-gtk.desktop.in b/user-dirs-update-gtk.desktop.in
+index 78d5f7c..6539552 100644
+--- a/user-dirs-update-gtk.desktop.in
++++ b/user-dirs-update-gtk.desktop.in
+@@ -4,7 +4,7 @@ Exec=xdg-user-dirs-gtk-update
+ _Name=User folders update
+ _Comment=Update common folders names to match current locale
+ Terminal=false
+-OnlyShowIn=GNOME;LXDE;Unity;
++OnlyShowIn=GNOME;LXDE;Unity;MATE;XFCE;
+ Type=Application
+ StartupNotify=false
+ X-KDE-autostart-after=panel
diff --git a/testing/xed/APKBUILD b/testing/xed/APKBUILD
new file mode 100644
index 00000000000..aaa5e573ce8
--- /dev/null
+++ b/testing/xed/APKBUILD
@@ -0,0 +1,53 @@
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xed
+pkgver=3.4.5
+pkgrel=0
+pkgdesc="X-Apps Text Editor"
+url="https://github.com/linuxmint/xed"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ intltool
+ itstool
+ libpeas-dev
+ gobject-introspection-dev
+ gspell-dev
+ gtksourceview4-dev
+ gvfs-dev
+ gzip
+ meson
+ python3
+ xapp-dev
+ "
+checkdepends="cage-run"
+subpackages="$pkgname-lang $pkgname-dev $pkgname-doc $pkgname-python"
+source="$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/xed/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # needs dogtail
+
+build() {
+ abuild-meson \
+ -Db_lto=true \
+ . output
+ meson compile -C output
+}
+
+check() {
+ cage-run meson test --no-rebuild --print-errorlogs -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+python() {
+ depends="$pkgname=$pkgver-r$pkgrel libpeas-python3"
+ pkgdesc="$pkgdesc (python plugins)"
+ amove \
+ usr/lib/xed/plugins/joinlines* \
+ usr/lib/xed/plugins/open-uri-context-menu* \
+ usr/lib/xed/plugins/textsize*
+}
+
+sha512sums="
+d136158ac2bbe52079e050682d74a4a3692a72bdd170d8f2875a329e7da3d21b947be4131e8d49fbca68ef473e9fb5924864e07c610cf6e0cfea1acd9a8f45e4 xed-3.4.5.tar.gz
+"
diff --git a/testing/xendmail/APKBUILD b/testing/xendmail/APKBUILD
new file mode 100644
index 00000000000..224487f3352
--- /dev/null
+++ b/testing/xendmail/APKBUILD
@@ -0,0 +1,40 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=xendmail
+pkgver=0.4.3
+pkgrel=0
+pkgdesc="Like sendmail, for users"
+url="https://git.sr.ht/~whynothugo/xendmail"
+# rust-ring
+arch="all !s390x !ppc64le !riscv64"
+license="Apache-2.0"
+makedepends="cargo cargo-auditable scdoc"
+subpackages="$pkgname-doc"
+source="xendmail-$pkgver.tar.gz::https://git.sr.ht/~whynothugo/xendmail/archive/v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+options="net" # fetch dependencies
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+ make xendmail.1
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm 0755 target/release/$pkgname "$pkgdir/usr/bin/$pkgname"
+ install -dm 0755 "$pkgdir/usr/sbin"
+ install -Dm 0644 xendmail.1 -t "$pkgdir/usr/share/man/man8/"
+ ln -s /usr/bin/$pkgname "$pkgdir/usr/sbin/sendmail"
+}
+
+sha512sums="
+c7637e88b40ad7b1880822ff1f5b4fff495eb70ca5b3a59b5301eae7a18c9ca7236946d6b952f710ff9a41385bb10154299eb7562756c08eb1299bcbae86f00f xendmail-0.4.3.tar.gz
+"
diff --git a/testing/xf86-video-vboxvideo/APKBUILD b/testing/xf86-video-vboxvideo/APKBUILD
index 5b7eade6f78..6f05d130e05 100644
--- a/testing/xf86-video-vboxvideo/APKBUILD
+++ b/testing/xf86-video-vboxvideo/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xf86-video-vboxvideo
pkgver=1.0.0
-pkgrel=0
+pkgrel=1
pkgdesc="VirtualBox guest video driver"
url="https://cgit.freedesktop.org/xorg/driver/xf86-video-vbox/"
arch="x86 x86_64"
@@ -14,7 +14,8 @@ source="https://www.x.org/releases/individual/driver/$pkgname-$pkgver.tar.gz"
builddir="$srcdir/"$pkgname-$pkgver
build() {
- cd "$builddir"
+ export CFLAGS="${CFLAGS/-fno-plt}"
+ export CXXFLAGS="${CXXFLAGS/-fno-plt}"
export LDFLAGS="$LDFLAGS -Wl,-z,lazy"
./configure \
--build=$CBUILD \
@@ -25,15 +26,14 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/COPYING
}
-
-sha512sums="391fc70cb7774e6e4a15f59ae7c92b1ad4dd0cf0854d92d42d990562d35686892646cbf965fd33bc0087e75a23b04162fea67829bad47173401ebac928bdfe47 xf86-video-vboxvideo-1.0.0.tar.gz"
+sha512sums="
+391fc70cb7774e6e4a15f59ae7c92b1ad4dd0cf0854d92d42d990562d35686892646cbf965fd33bc0087e75a23b04162fea67829bad47173401ebac928bdfe47 xf86-video-vboxvideo-1.0.0.tar.gz
+"
diff --git a/testing/xfce4-calculator-plugin/APKBUILD b/testing/xfce4-calculator-plugin/APKBUILD
index a8a5194895e..fc625b8e3e4 100644
--- a/testing/xfce4-calculator-plugin/APKBUILD
+++ b/testing/xfce4-calculator-plugin/APKBUILD
@@ -1,19 +1,16 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xfce4-calculator-plugin
-pkgver=0.7.1
+pkgver=0.7.2
pkgrel=0
pkgdesc="Calculator plugin for the Xfce4 panel"
url="https://goodies.xfce.org/projects/panel-plugins/xfce4-calculator-plugin"
-arch="all !mips !mips64" # blocked by libxfce4ui-dev
+arch="all"
license="GPL-2.0"
makedepends="xfce4-panel-dev libxfce4ui-dev"
subpackages="$pkgname-lang"
source="https://archive.xfce.org/src/panel-plugins/$pkgname/${pkgver%.*}/$pkgname-$pkgver.tar.bz2"
-builddir="$srcdir/$pkgname-$pkgver"
-
build() {
- cd "$builddir"
./configure \
--build=$CBUILD \
--host=$CHOST \
@@ -27,13 +24,13 @@ build() {
}
check() {
- cd "$builddir"
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="05544e5f0e293fe44ae35b3e11a2e6fac8df13743649d0702c01c6a4b2df0557f8f9712acef6bd51aaa65f5542234a6a649017bf2fe2a6d2860ae2e534e7cff2 xfce4-calculator-plugin-0.7.1.tar.bz2"
+sha512sums="
+98fa51ff0afbb09e3066f629113f6a584c5afd9228c87ee67afd7a56b065060ece16ee646ec6a2c685907a0d9733cba19cbf25bc034e009a013af2122155cc2c xfce4-calculator-plugin-0.7.2.tar.bz2
+"
diff --git a/testing/xfce4-diskperf-plugin/APKBUILD b/testing/xfce4-diskperf-plugin/APKBUILD
new file mode 100644
index 00000000000..735ea91ded3
--- /dev/null
+++ b/testing/xfce4-diskperf-plugin/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xfce4-diskperf-plugin
+pkgver=2.7.0
+pkgrel=0
+pkgdesc="Displays disk I/O performance"
+url="https://docs.xfce.org/panel-plugins/xfce4-diskperf-plugin/start"
+arch="all"
+license="BSD-2-Clause"
+makedepends="
+ gtk+3.0-dev
+ libxfce4ui-dev
+ xfce4-dev-tools
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.xfce.org/panel-plugins/xfce4-diskperf-plugin/-/archive/xfce4-diskperf-plugin-$pkgver/xfce4-diskperf-plugin-xfce4-diskperf-plugin-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver/"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+6a1df3f53728c4a4a95cf36c7218653a4fb6ff15fa337e64d7918528be632193ef31ef1d2f5e1da8593868230e4ece29672ceea0720ecae8bf0da3294e1d4ad2 xfce4-diskperf-plugin-2.7.0.tar.gz
+"
diff --git a/testing/xfce4-docklike-plugin/APKBUILD b/testing/xfce4-docklike-plugin/APKBUILD
new file mode 100644
index 00000000000..f1a7a34cc78
--- /dev/null
+++ b/testing/xfce4-docklike-plugin/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Hakan Erduman <hakan@erduman.de>
+pkgname=xfce4-docklike-plugin
+pkgver=0.4.2
+pkgrel=0
+pkgdesc="Modern, minimalist taskbar for Xfce"
+url="https://docs.xfce.org/panel-plugins/xfce4-docklike-plugin/start"
+arch="all"
+license="GPL-3.0-only"
+makedepends="xfce4-panel-dev libxfce4ui-dev libwnck3-dev"
+subpackages="$pkgname-lang"
+source="https://archive.xfce.org/src/panel-plugins/xfce4-docklike-plugin/${pkgver%.*}/xfce4-docklike-plugin-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+8e96abbde0f9f81bb4797302aba3a711307ab46c832aac92351e038543e078bbf42f86785ee06c28c9d38dff0655ee2933247e9086ba0925f5aa05416b3ef708 xfce4-docklike-plugin-0.4.2.tar.bz2
+"
diff --git a/testing/xfce4-fsguard-plugin/APKBUILD b/testing/xfce4-fsguard-plugin/APKBUILD
new file mode 100644
index 00000000000..d98b7a105b4
--- /dev/null
+++ b/testing/xfce4-fsguard-plugin/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xfce4-fsguard-plugin
+pkgver=1.1.3
+pkgrel=0
+pkgdesc="Checks the free space of a given mountpoint"
+url="https://docs.xfce.org/panel-plugins/xfce4-fsguard-plugin/start"
+arch="all"
+license="BSD-2-Clause"
+makedepends="
+ gtk+3.0-dev
+ libxfce4ui-dev
+ xfce4-dev-tools
+ xfce4-panel-dev
+ "
+subpackages="xfce4-fsguard-plugin-lang"
+source="xfce4-fsguard-plugin-$pkgver.tar.gz::https://gitlab.xfce.org/panel-plugins/xfce4-fsguard-plugin/-/archive/xfce4-fsguard-plugin-$pkgver/xfce4-fsguard-plugin-xfce4-fsguard-plugin-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver/"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+e6786869b16fa22a65cea8b559a67c02845c5016ea2372f493d0d61d7cc4b85cdec6649bc93104549a7b24898359f6bbeb35356eae5b2afecc314e985e8c2e7a xfce4-fsguard-plugin-1.1.3.tar.gz
+"
+
diff --git a/testing/xfce4-genmon-plugin/APKBUILD b/testing/xfce4-genmon-plugin/APKBUILD
deleted file mode 100644
index 638e9ede366..00000000000
--- a/testing/xfce4-genmon-plugin/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Maintainer: Robert Hencke <robert.hencke@gmail.com>
-pkgname=xfce4-genmon-plugin
-pkgver=4.0.2
-pkgrel=0
-pkgdesc="A generic, script-driven monitoring plugin for the Xfce panel"
-url="http://goodies.xfce.org/projects/panel-plugins/xfce4-genmon-plugin"
-#arch="all !mips !mips64" # blocked by libxfce4ui-dev
-license="LGPL-2.1-or-later"
-makedepends="xfce4-panel-dev libxfce4ui-dev"
-options="!check" # no tests
-subpackages="$pkgname-lang"
-source="http://archive.xfce.org/src/panel-plugins/xfce4-genmon-plugin/${pkgver%.*}/xfce4-genmon-plugin-$pkgver.tar.bz2"
-
-build() {
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --libexecdir=/usr/lib \
- --localstatedir=/var \
- --disable-static
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="78a9cd95a83d6ffcb512647f1c674589bf80e4ef24a3431be96fd7506c7642e42c796f7316e034083fe794ab79521d856083b12a186276a1dfe4f14dbe97149e xfce4-genmon-plugin-4.0.2.tar.bz2"
diff --git a/testing/xfce4-hamster-plugin/APKBUILD b/testing/xfce4-hamster-plugin/APKBUILD
new file mode 100644
index 00000000000..92f660640c6
--- /dev/null
+++ b/testing/xfce4-hamster-plugin/APKBUILD
@@ -0,0 +1,33 @@
+# Maintainer: Hakan Erduman <hakan@erduman.de>
+pkgname=xfce4-hamster-plugin
+pkgver=1.17
+pkgrel=0
+pkgdesc="Recreation of the gnome-shell hamster extension as a xfce4 panel plugin."
+url="https://github.com/projecthamster/xfce4-hamster-plugin"
+arch="all"
+license="GPL-2.0-or-later"
+options="!check" # No test suite
+makedepends="
+ cmake
+ libxfce4ui-dev
+ libxfce4util-dev
+ samurai
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://github.com/projecthamster/xfce4-hamster-plugin/archive/refs/tags/v$pkgver.tar.gz"
+
+build() {
+ cmake -B build -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=MinSizeRel
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+2bdde6638502f726613c06d19cfd2b82324454fc64232562ceb3582796d7937b6883dd3c9933e415ee242d79b082309c2ede86366e066104fce2a322164ce101 xfce4-hamster-plugin-1.17.tar.gz
+"
diff --git a/testing/xfce4-mailwatch-plugin/APKBUILD b/testing/xfce4-mailwatch-plugin/APKBUILD
index f2408e240b1..b4bb6338d9a 100644
--- a/testing/xfce4-mailwatch-plugin/APKBUILD
+++ b/testing/xfce4-mailwatch-plugin/APKBUILD
@@ -1,11 +1,11 @@
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer:
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
pkgname=xfce4-mailwatch-plugin
-pkgver=1.3.0
-pkgrel=0
+pkgver=1.3.1
+pkgrel=1
pkgdesc="a multi-protocol, multi-mailbox mail watcher"
url="https://goodies.xfce.org/projects/panel-plugins/xfce4-mailwatch-plugin"
-arch="all !mips !mips64" # blocked by libxfce4ui-dev
+arch="all"
license="GPL-2.0"
depends=""
depends_dev=""
@@ -30,4 +30,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="07d4e4cc2f7d299a142d9e9b307c2797892a5febd8451d5291cb9574be0bd5daba677ee893fea3af49b6a8acbfb827ae0125ba11014df37b6c68a2734ecde11b xfce4-mailwatch-plugin-1.3.0.tar.bz2"
+sha512sums="
+cc84c0511fff983283f6af132ff224f62373a1bb608f14b332a75f259f7842491b09f7d9f9d833cb31f81eb392a1b55fe4bf6da8a15b4c62abd2e9640392fb1d xfce4-mailwatch-plugin-1.3.1.tar.bz2
+"
diff --git a/testing/xfce4-mixer/APKBUILD b/testing/xfce4-mixer/APKBUILD
new file mode 100644
index 00000000000..d84625cbbcc
--- /dev/null
+++ b/testing/xfce4-mixer/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xfce4-mixer
+pkgver=4.18.1
+pkgrel=2
+pkgdesc="volume control for the xfce desktop"
+url="https://docs.xfce.org/apps/xfce4-mixer/start"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ gstreamer-dev
+ keybinder3-dev
+ libxfce4ui-dev
+ pulseaudio-dev
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-doc $pkgname-lang"
+source="https://archive.xfce.org/src/apps/xfce4-mixer/${pkgver%.*}/xfce4-mixer-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --host=$CHOST \
+ --build=$CBUILD \
+ --prefix=/usr
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+9123f1fca2f95687a0d9a1eeac435082956943f67e972331eab50534f8f44a8ed244e917bcaf19ca752ffdbbafb41435292c29cdbb85ad02107fc9cec31a652c xfce4-mixer-4.18.1.tar.bz2
+"
diff --git a/testing/xfce4-mpc-plugin/APKBUILD b/testing/xfce4-mpc-plugin/APKBUILD
new file mode 100644
index 00000000000..9049e3e9b26
--- /dev/null
+++ b/testing/xfce4-mpc-plugin/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xfce4-mpc-plugin
+pkgver=0.5.3
+pkgrel=0
+pkgdesc="MPD Client Plugin"
+url="https://docs.xfce.org/panel-plugins/xfce4-mpc-plugin/start"
+arch="all"
+license="ISC"
+makedepends="
+ gtk+3.0-dev
+ libxfce4ui-dev
+ xfce4-dev-tools
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.xfce.org/panel-plugins/xfce4-mpc-plugin/-/archive/xfce4-mpc-plugin-$pkgver/xfce4-mpc-plugin-xfce4-mpc-plugin-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver/"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+66ec587ed5f67e28e93fa796b492f00393d8ee12011b12c93a73e4ac4c4b4cc2495f5774706e0d01c90caa74e819082bc214dd362cbaa10aa52dca08be3fe3b5 xfce4-mpc-plugin-0.5.3.tar.gz
+"
+
diff --git a/testing/xfce4-netload-plugin/APKBUILD b/testing/xfce4-netload-plugin/APKBUILD
new file mode 100644
index 00000000000..033ad8e62e7
--- /dev/null
+++ b/testing/xfce4-netload-plugin/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xfce4-netload-plugin
+pkgver=1.4.1
+pkgrel=0
+pkgdesc="A netload plugin for the Xfce4 desktop environment"
+url="https://docs.xfce.org/panel-plugins/xfce4-netload-plugin/start"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ gtk+3.0-dev
+ libxfce4ui-dev
+ xfce4-dev-tools
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.xfce.org/panel-plugins/xfce4-netload-plugin/-/archive/xfce4-netload-plugin-$pkgver/xfce4-netload-plugin-xfce4-netload-plugin-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+2497936ede75260cdd8e654492517dcc653bab4905ce11cf3f769aabc2d7f9058cf414d6202d394abb905ba2aa1ebb189c0611e56790d0df383b5c703417f391 xfce4-netload-plugin-1.4.1.tar.gz
+"
diff --git a/testing/xfce4-panel-profiles/APKBUILD b/testing/xfce4-panel-profiles/APKBUILD
index f161173127d..cba0718b564 100644
--- a/testing/xfce4-panel-profiles/APKBUILD
+++ b/testing/xfce4-panel-profiles/APKBUILD
@@ -1,13 +1,13 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xfce4-panel-profiles
-pkgver=1.0.13
+pkgver=1.0.14
pkgrel=1
pkgdesc="simple application to manage Xfce panel layouts"
url="https://gitlab.xfce.org/apps/xfce4-panel-profiles"
arch="all"
license="GPL-3.0"
-depends="python3"
-makedepends="libxfce4ui-dev bash"
+depends="python3 py3-gobject3 py3-psutil"
+makedepends="libxfce4ui-dev"
options="!check"
subpackages="$pkgname-doc $pkgname-lang"
source="https://archive.xfce.org/src/apps/xfce4-panel-profiles/${pkgver%.*}/xfce4-panel-profiles-$pkgver.tar.bz2"
@@ -20,7 +20,9 @@ build() {
}
package() {
- make DESTDIR="$pkgdir" SHELL=/bin/bash install
+ make DESTDIR="$pkgdir" install
}
-sha512sums="648324e5dd95ab0a513829d7d816e2113ae677d9ad6ac9b01d73c6b4105b54d5e773150d5440ad35a37b4dc75478f40a24e0223decf940f3cf658241547ce75a xfce4-panel-profiles-1.0.13.tar.bz2"
+sha512sums="
+e316e9d4f0d27b16ce83a50adfe1a3fe2102b7f5c3ed9e9ceebf5968e265064b4d4ade1e0dbd84180758a9c1fa72d8df1fb4d06a631d07956ea8add0f66da984 xfce4-panel-profiles-1.0.14.tar.bz2
+"
diff --git a/testing/xfce4-places-plugin/APKBUILD b/testing/xfce4-places-plugin/APKBUILD
new file mode 100644
index 00000000000..78a5e6e93dc
--- /dev/null
+++ b/testing/xfce4-places-plugin/APKBUILD
@@ -0,0 +1,41 @@
+# Maintainer: Hakan Erduman <hakan@erduman.de>
+pkgname=xfce4-places-plugin
+pkgver=1.8.3
+pkgrel=0
+pkgdesc="Quick access to folders, documents, and removable media"
+url="https://docs.xfce.org/panel-plugins/xfce4-places-plugin/start"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ exo-dev
+ libwnck3-dev
+ libxfce4ui-dev
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-lang"
+source="https://archive.xfce.org/src/panel-plugins/xfce4-places-plugin/${pkgver%.*}/xfce4-places-plugin-$pkgver.tar.bz2"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --disable-static
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+31ab8a47606c6406e93a753c55eb902fb25828f2c89c31814c11534dde327e656678ffcd590b41ebfab0a761bfcf0dae72e1ca3bb84eef5d0592f52114556ac9 xfce4-places-plugin-1.8.3.tar.bz2
+"
diff --git a/testing/xfce4-sensors-plugin/APKBUILD b/testing/xfce4-sensors-plugin/APKBUILD
deleted file mode 100644
index e368a499bc3..00000000000
--- a/testing/xfce4-sensors-plugin/APKBUILD
+++ /dev/null
@@ -1,35 +0,0 @@
-# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=xfce4-sensors-plugin
-pkgver=1.4.1
-pkgrel=0
-pkgdesc="Reads your hardware sensor values and displays them in your panel"
-url="https://goodies.xfce.org/projects/panel-plugins/xfce4-sensors-plugin"
-arch="all !mips !mips64" # blocked by libxfce4ui-dev
-license="GPL-2.0-or-later"
-depends_dev="xfce4-panel-dev lm-sensors-dev"
-makedepends="$depends_dev bash libxfce4ui-dev"
-subpackages="$pkgname-dev $pkgname-lang $pkgname-doc"
-source="https://archive.xfce.org/src/panel-plugins/xfce4-sensors-plugin/${pkgver%.*}/xfce4-sensors-plugin-$pkgver.tar.bz2"
-
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --localstatedir=/var \
- --disable-static
- make
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-d3f335e1f18fe748648be07ace6a88eb9f95222dd4d8dd4f6e5cbb3b7c69bd93b02fdbe12b9f08e65fbf7ba8461d7a685467f9e62c0682c85b3699fae5b7ed33 xfce4-sensors-plugin-1.4.1.tar.bz2
-"
diff --git a/testing/xfce4-smartbookmark-plugin/APKBUILD b/testing/xfce4-smartbookmark-plugin/APKBUILD
new file mode 100644
index 00000000000..a827ce685ea
--- /dev/null
+++ b/testing/xfce4-smartbookmark-plugin/APKBUILD
@@ -0,0 +1,46 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xfce4-smartbookmark-plugin
+pkgver=0.5.2
+pkgrel=0
+pkgdesc="Query search engines from the panel"
+url="https://docs.xfce.org/panel-plugins/xfce4-smartbookmark-plugin/start"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ gtk+3.0-dev
+ libxfce4ui-dev
+ xfce4-dev-tools
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.xfce.org/panel-plugins/xfce4-smartbookmark-plugin/-/archive/0.5.2/xfce4-smartbookmark-plugin-0.5.2.tar.gz"
+builddir="$srcdir/$pkgname-$pkgver/"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+48203972cfc789b27d8363aa63f74f5b85f4c2bfe188458d208e968fdbdacb1a00c0ced28700b30807930b90fdc3980f75a74bccf50ac0f72bea08a172bafd38 xfce4-smartbookmark-plugin-0.5.2.tar.gz
+"
diff --git a/testing/xfce4-statusnotifier-plugin/APKBUILD b/testing/xfce4-statusnotifier-plugin/APKBUILD
deleted file mode 100644
index a2dbf645bcb..00000000000
--- a/testing/xfce4-statusnotifier-plugin/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
-pkgname=xfce4-statusnotifier-plugin
-pkgver=0.2.3
-pkgrel=0
-pkgdesc="Panel area status notifier plugin for Xfce4"
-url="https://docs.xfce.org/panel-plugins/xfce4-statusnotifier-plugin"
-arch="all !mips !mips64" # blocked by libxfce4ui-dev
-license="GPL-2.0-only"
-makedepends="glib-dev libxfce4ui-dev xfce4-panel-dev libdbusmenu-gtk3-dev"
-subpackages="$pkgname-lang"
-source="https://archive.xfce.org/src/panel-plugins/xfce4-statusnotifier-plugin/${pkgver%.*}/xfce4-statusnotifier-plugin-$pkgver.tar.bz2"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-4c56d4bc20a09b0fc3bb3c1e70e377ca65379bb765a8e86402cf1216ba0c7c3d9b9de28d3cde1e48a9c5509ca49cedf5fb8f90447189dc63bacac033cb1a7c98 xfce4-statusnotifier-plugin-0.2.3.tar.bz2
-"
diff --git a/testing/xfce4-systemload-plugin/10-wrong-var-type-on-32bit.patch b/testing/xfce4-systemload-plugin/10-wrong-var-type-on-32bit.patch
new file mode 100644
index 00000000000..54196904942
--- /dev/null
+++ b/testing/xfce4-systemload-plugin/10-wrong-var-type-on-32bit.patch
@@ -0,0 +1,21 @@
+From: Akbarkhon Variskhanov <akbarkhon.variskhanov AT gmail.com>
+Date: Tue, 20 Dec 2022 13:50:40 +0500
+Subject: Fix build failure due to wrong var type
+
+---
+ panel-plugin/network.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/panel-plugin/network.cc b/panel-plugin/network.cc
+index 6a85dab..3de831d 100644
+--- a/panel-plugin/network.cc
++++ b/panel-plugin/network.cc
+@@ -114,7 +114,7 @@ read_netload_proc (gulong *bytes)
+ gint
+ read_netload (gulong *net, gulong *NTotal)
+ {
+- static guint64 bytes[2];
++ static gulong bytes[2];
+ static gint64 time[2];
+
+ *net = 0;
diff --git a/testing/xfce4-systemload-plugin/APKBUILD b/testing/xfce4-systemload-plugin/APKBUILD
new file mode 100644
index 00000000000..b8b59b51c8f
--- /dev/null
+++ b/testing/xfce4-systemload-plugin/APKBUILD
@@ -0,0 +1,35 @@
+# Maintainer: Daniel Fancsali <fancsali@gmail.com>
+pkgname=xfce4-systemload-plugin
+pkgver=1.3.2
+pkgrel=0
+pkgdesc="System load plugin for the Xfce Panel"
+url="https://goodies.xfce.org/projects/panel-plugins/xfce4-systemload-plugin"
+arch="all"
+license="BSD-2-Clause"
+makedepends="xfce4-panel-dev libxfce4ui-dev"
+subpackages="$pkgname-lang"
+source="
+ https://archive.xfce.org/src/panel-plugins/xfce4-systemload-plugin/${pkgver%.*}/xfce4-systemload-plugin-$pkgver.tar.bz2
+ 10-wrong-var-type-on-32bit.patch
+"
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libexecdir=/usr/lib/xfce4 \
+ --localstatedir=/var \
+ --disable-static
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+f432988f439e5fd7ada16b3e6eaa42b3351531ba3e2b63e2570387bf4d7e605ff9d5a97fde3f5f5eb323ff08aaf3c050f161a5768392b80aa99fabaabda82431 xfce4-systemload-plugin-1.3.2.tar.bz2
+913a112a49c544d3b2a56e2b24621285e10178d188ee041bd12f62c7395ad3b8131fd951a9a33dc216a3d0322510d7c60daf7cd1c9d3169857fc920baac390c7 10-wrong-var-type-on-32bit.patch
+"
diff --git a/testing/xfce4-timer-plugin/APKBUILD b/testing/xfce4-timer-plugin/APKBUILD
index 9e7d81f7e61..0d1154beebb 100644
--- a/testing/xfce4-timer-plugin/APKBUILD
+++ b/testing/xfce4-timer-plugin/APKBUILD
@@ -1,6 +1,6 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=xfce4-timer-plugin
-pkgver=1.7.1
+pkgver=1.7.2
pkgrel=0
pkgdesc="Timer plugin for Xfce"
url="https://docs.xfce.org/panel-plugins/xfce4-timer-plugin"
@@ -9,7 +9,7 @@ license="GPL-2.0-or-later"
makedepends="xfce4-panel-dev libxfce4ui-dev gtk+3.0-dev"
options="!check" # no testsuite
subpackages="$pkgname-lang"
-source="http://archive.xfce.org/src/panel-plugins/xfce4-timer-plugin/${pkgver%.*}/xfce4-timer-plugin-$pkgver.tar.bz2"
+source="https://archive.xfce.org/src/panel-plugins/xfce4-timer-plugin/${pkgver%.*}/xfce4-timer-plugin-$pkgver.tar.bz2"
build() {
./configure \
@@ -26,4 +26,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="4887dc2c524a8b749a20449dd491dc8f12f8babb26c64cecf33ae56b45d2446128cb65c25f11d534278ad39a2adf7ab718714e1bfa613fd39713e44642030c16 xfce4-timer-plugin-1.7.1.tar.bz2"
+sha512sums="
+11a3b146c56f1526530b7f810c76ba95ef4dc7c113fa0ad2839494a5bc66c09f4a3ff966bc5d76055482a284c6c082b08a4b6af4684e5ccdec67946b0cdd820d xfce4-timer-plugin-1.7.2.tar.bz2
+"
diff --git a/testing/xfce4-verve-plugin/APKBUILD b/testing/xfce4-verve-plugin/APKBUILD
new file mode 100644
index 00000000000..0521a52146f
--- /dev/null
+++ b/testing/xfce4-verve-plugin/APKBUILD
@@ -0,0 +1,47 @@
+# Contributor: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xfce4-verve-plugin
+pkgver=2.0.3
+pkgrel=0
+pkgdesc="Command line interface with auto-completion and command history"
+url="https://docs.xfce.org/panel-plugins/xfce4-verve-plugin/start"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ gtk+3.0-dev
+ libxfce4ui-dev
+ pcre2-dev
+ xfce4-dev-tools
+ xfce4-panel-dev
+ "
+subpackages="$pkgname-lang"
+source="$pkgname-$pkgver.tar.gz::https://gitlab.xfce.org/panel-plugins/xfce4-verve-plugin/-/archive/xfce4-verve-plugin-$pkgver/xfce4-verve-plugin-xfce4-verve-plugin-$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-$pkgname-$pkgver/"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+baafbc0a6973e6392eea957ae384a7595df4277d9948b9e8a406eb3277b54460d937c11595787279605427f4244196480bfde5c80716dcca351db01eaf67b507 xfce4-verve-plugin-2.0.3.tar.gz
+"
diff --git a/testing/xfd/APKBUILD b/testing/xfd/APKBUILD
index f648013bff4..9c68031c957 100644
--- a/testing/xfd/APKBUILD
+++ b/testing/xfd/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Taner Tas <taner76@gmail.com>
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=xfd
-pkgver=1.1.3
+pkgver=1.1.4
pkgrel=0
pkgdesc="Xorg font display application."
url="https://xorg.freedesktop.org/"
@@ -19,7 +19,7 @@ makedepends="
"
subpackages="$pkgname-doc"
source="
- https://xorg.freedesktop.org/archive/individual/app/$pkgname-$pkgver.tar.gz
+ https://xorg.freedesktop.org/archive/individual/app/$pkgname-$pkgver.tar.xz
"
options="!check" # No test suite
@@ -33,4 +33,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6154c3014b407b6eb01615e214c7bda8ab7b2d11ca4e5e457fdd79d757c37cd6b358c46b45e782c5462324bfb539830520e228e9600546fb1b0878e0974abc78 xfd-1.1.3.tar.gz"
+sha512sums="
+fa1f8a7b5d89be20fb2b1e3e0e8f4d7f9463e91fd385d21e1403a398c2e263112043b568417c420c5ee33bec60e06658498dd55df6d7ac19da3af0844f932209 xfd-1.1.4.tar.xz
+"
diff --git a/testing/xfe/10-fix-build.patch b/testing/xfe/10-fix-build.patch
new file mode 100644
index 00000000000..4850e282fbf
--- /dev/null
+++ b/testing/xfe/10-fix-build.patch
@@ -0,0 +1,7 @@
+--- xfe-1.46.1.orig/po/POTFILES.skip
++++ xfe-1.46.1/po/POTFILES.skip
+@@ -5,3 +5,4 @@
+ xfw.desktop.in.in
+ intl/plural.c
+ org.root.xfe.policy.in
++org.xfe.root.policy.in
diff --git a/testing/xfe/APKBUILD b/testing/xfe/APKBUILD
new file mode 100644
index 00000000000..e5dec96f5db
--- /dev/null
+++ b/testing/xfe/APKBUILD
@@ -0,0 +1,62 @@
+# Contributor: Peter Shkenev <santurysim@gmail.com>
+# Maintainer: Peter Shkenev <santurysim@gmail.com>
+pkgname=xfe
+pkgver=1.46.1
+pkgrel=0
+pkgdesc="MS-Explorer or Commander like file manager for X"
+url="http://roland65.free.fr/xfe/index.php?page=home"
+arch="all"
+license="GPL-2.0-only"
+makedepends="
+ fox-dev
+ libx11-dev
+ freetype-dev
+ libxft-dev
+ xcb-util-dev
+ gettext-dev
+ intltool
+ "
+subpackages="$pkgname-doc $pkgname-lang $pkgname-xfi $pkgname-xfp $pkgname-xfw"
+source="
+ https://downloads.sourceforge.net/xfe/xfe-$pkgver.tar.xz
+ 10-fix-build.patch
+ "
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+}
+
+xfi() {
+ pkgdesc="$pkgdesc (image viewer)"
+ amove usr/bin/xfi
+}
+
+xfp() {
+ pkgdesc="$pkgdesc (DEB/RPM package viewer)"
+ amove usr/bin/xfp
+}
+
+xfw() {
+ pkgdesc="$pkgdesc (text editor)"
+ amove usr/bin/xfw
+}
+
+sha512sums="
+bdd0eb017797e8e5d0ea61e86cbcff686eaee5dd5a14fbe770630ccd0c31f2ea6e544e66cc8bc178760670e821caae388d12ba285c8556f618a540cffeb61593 xfe-1.46.1.tar.xz
+68e0357c2c13a1856d2de11f0b118ae0299e6c47654d9f5b03bc9cca6e675195694ed7ff408eb41546da90b26bc62d7f820399712714f7a79773d5c6adaef67d 10-fix-build.patch
+"
diff --git a/testing/xgalaga/APKBUILD b/testing/xgalaga/APKBUILD
index c35b058fa3f..635af112d25 100644
--- a/testing/xgalaga/APKBUILD
+++ b/testing/xgalaga/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=xgalaga
pkgver=2.1.1.0
-pkgrel=0
+pkgrel=1
pkgdesc="Clone of the classic game Galaga for the X Window System"
url="http://rumsey.org/xgal.html"
arch="all"
diff --git a/testing/xh/APKBUILD b/testing/xh/APKBUILD
deleted file mode 100644
index 27e62aa2a5c..00000000000
--- a/testing/xh/APKBUILD
+++ /dev/null
@@ -1,56 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-#
-# TODO: Link with system-provided openssl library.
-pkgname=xh
-pkgver=0.12.0
-pkgrel=0
-pkgdesc="Yet another HTTPie clone"
-url="https://github.com/ducaale/xh"
-# ppc64le fails to build
-# others are limited by rust/cargo
-arch="x86_64 armv7 armhf aarch64 x86"
-license="MIT"
-checkdepends="curl-dev openssl-dev"
-makedepends="cargo oniguruma-dev zlib-dev"
-subpackages="
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-fish-completion
- $pkgname-zsh-completion
- "
-source="https://github.com/ducaale/xh/archive/v$pkgver/$pkgname-$pkgver.tar.gz
- minimize-size.patch
- without-static-ssl.patch
- "
-
-# Link with system-provided oniguruma library (instead building from source
-# and bundling).
-export RUSTONIG_DYNAMIC_LIBONIG=1
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --locked
-}
-
-package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-
- ln -s xh "$pkgdir"/usr/bin/xhs
-
- install -Dm 644 doc/xh.1 "$pkgdir"/usr/share/man/man1/xh.1
-
- install -Dm 644 completions/xh.bash "$pkgdir"/usr/share/bash-completion/completions/xh
- install -Dm 644 completions/xh.fish "$pkgdir"/usr/share/fish/completions/xh.fish
- install -Dm 644 completions/_xh "$pkgdir"/usr/share/zsh/site-functions/_xh
-}
-
-sha512sums="
-2a6915efbf54224a6870a5b2f65189e7fa0c339974a935c4dd8afe093aec6ad5d8d6151439162fe0cfb5a8efd3208e17f1256afe8910ba43c1c598a62659cf88 xh-0.12.0.tar.gz
-6cbd742b0c84a5c16fe3cf4e277c2c310624055c6e6fbcd2d7e47961247ac6ca0311dbfb158e33d1e065ef8d632c214efcc01dd5f0814405872ebb41d0a15001 minimize-size.patch
-91449f02ea556cd25b0cea0a675d638b2f9efe6685469403a60f7baa5b1c36b6be75814bb7e1608458765adbf72544dd4dea4345b5e92f3837a19c485693ec9f without-static-ssl.patch
-"
diff --git a/testing/xh/minimize-size.patch b/testing/xh/minimize-size.patch
deleted file mode 100644
index 0625054e435..00000000000
--- a/testing/xh/minimize-size.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Minimize size of the binary.
-
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -56,3 +56,9 @@
-
- [build-dependencies]
- syntect = { version = "4.4", default-features = false }
-+
-+[profile.release]
-+codegen-units = 1
-+lto = true
-+opt-level = "z"
-+panic = "abort"
diff --git a/testing/xh/without-static-ssl.patch b/testing/xh/without-static-ssl.patch
deleted file mode 100644
index eb7e266e2b8..00000000000
--- a/testing/xh/without-static-ssl.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-Don't use bundled OpenSSL for tests - it fails to build on Alpine.
-This patch fixes the following error:
-
-error: failed to run custom build command for `openssl-sys v0.9.60`
-
-Caused by:
- process didn't exit successfully: `/home/jirutjak/aports/testing/xh/src/xh-0.9.0/target/release/build/openssl-sys-97034bc2d62d9cd0/build-script-main` (exit code: 101)
- --- stdout
- cargo:rustc-cfg=const_fn
- cargo:rerun-if-env-changed=X86_64_ALPINE_LINUX_MUSL_OPENSSL_NO_VENDOR
- X86_64_ALPINE_LINUX_MUSL_OPENSSL_NO_VENDOR unset
- cargo:rerun-if-env-changed=OPENSSL_NO_VENDOR
- OPENSSL_NO_VENDOR unset
-
- --- stderr
- thread 'main' panicked at 'don't know how to configure OpenSSL for x86_64-alpine-linux-musl', /home/jirutjak/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-src-111.14.0+1.1.1j/src/lib.rs:219:18
- note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
-
---- a/Cargo.toml
-+++ b/Cargo.toml
-@@ -46,7 +46,7 @@
- indoc = "1.0"
- predicates = "1.0.7"
- httpmock = "0.5.5"
--curl = { version = "0.4.34", features = ["static-ssl"] }
-+curl = { version = "0.4.34" }
- tempfile = "3.2.0"
-
- [features]
---- a/Cargo.lock
-+++ b/Cargo.lock
-@@ -1368,15 +1368,6 @@
- checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a"
-
- [[package]]
--name = "openssl-src"
--version = "111.15.0+1.1.1k"
--source = "registry+https://github.com/rust-lang/crates.io-index"
--checksum = "b1a5f6ae2ac04393b217ea9f700cd04fa9bf3d93fae2872069f3d15d908af70a"
--dependencies = [
-- "cc",
--]
--
--[[package]]
- name = "openssl-sys"
- version = "0.9.63"
- source = "registry+https://github.com/rust-lang/crates.io-index"
-@@ -1385,7 +1376,6 @@
- "autocfg",
- "cc",
- "libc",
-- "openssl-src",
- "pkg-config",
- "vcpkg",
- ]
diff --git a/testing/xiccd/APKBUILD b/testing/xiccd/APKBUILD
new file mode 100644
index 00000000000..8214345de8c
--- /dev/null
+++ b/testing/xiccd/APKBUILD
@@ -0,0 +1,49 @@
+# Maintainer: Saijin-Naib <Saijin-Naib_package-maintenance@outlook.com>
+pkgname=xiccd
+pkgver=0.3.0_git20211219
+_pkgrev=b51882079dabd4025eefbf89f58bd18e3e63b769
+pkgrel=1
+pkgdesc="X Color Profile Daemon"
+url="https://github.com/agalakhov/xiccd"
+arch="all !s390x !riscv64" # colord
+options="!check" # no tests
+license="GPL-3.0-or-later"
+depends="
+ colord
+ polkit
+ "
+makedepends="
+ autoconf
+ automake
+ colord-dev
+ glib-dev
+ libx11-dev
+ libxrandr-dev
+ "
+subpackages="$pkgname-doc"
+source="$pkgname-$_pkgrev.tar.gz::https://github.com/agalakhov/xiccd/archive/$_pkgrev.tar.gz"
+builddir="$srcdir/$pkgname-$_pkgrev"
+
+prepare() {
+ default_prepare
+ aclocal
+ autoconf
+ automake --add-missing --foreign --force --copy
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr
+ make
+}
+
+package() {
+ # makefiles do not respect sysconfdir...
+ make sysconfigdir=/etc DESTDIR="$pkgdir" install
+}
+
+sha512sums="
+7f0592cd7be245e465b80d39dc4f21511e73e2b83881c318bd425e1bc4b576df2b1c7ba588c0459d9bd44aa67f2e454f507d130e4ef90243b1a54870fd19f51d xiccd-b51882079dabd4025eefbf89f58bd18e3e63b769.tar.gz
+"
diff --git a/testing/xisxwayland/APKBUILD b/testing/xisxwayland/APKBUILD
new file mode 100644
index 00000000000..1a15788c80f
--- /dev/null
+++ b/testing/xisxwayland/APKBUILD
@@ -0,0 +1,32 @@
+# Maintainer:
+pkgname=xisxwayland
+pkgver=2
+pkgrel=1
+pkgdesc="Detect if X is XWayland"
+url="https://gitlab.freedesktop.org/xorg/app/xisxwayland"
+arch="all"
+license="MIT"
+makedepends="
+ libx11-dev
+ libxrandr-dev
+ meson
+ "
+subpackages="$pkgname-doc"
+source="https://xorg.freedesktop.org/archive/individual/app/xisxwayland-$pkgver.tar.xz"
+
+build() {
+ abuild-meson . output
+ meson compile -C output
+}
+
+check() {
+ meson test --print-errorlogs --no-rebuild -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+sha512sums="
+b89e19c85a5cd7e62a52e22772f80f03bfea069e31412ca11ac38174c4a2994be559e9d5fb49e6d1921b3f1b06ee71b50ede48990a1e7804a96207b08fc7827f xisxwayland-2.tar.xz
+"
diff --git a/testing/xkb-switch/APKBUILD b/testing/xkb-switch/APKBUILD
index 358e50cf9f7..19e104483e3 100644
--- a/testing/xkb-switch/APKBUILD
+++ b/testing/xkb-switch/APKBUILD
@@ -10,7 +10,7 @@ license="GPL-3.0-or-later"
options="!check"
makedepends="cmake libx11-dev libxkbfile-dev"
subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/grwlf/xkb-switch/archive/$pkgver.tar.gz"
prepare() {
default_prepare
diff --git a/testing/xlhtml/APKBUILD b/testing/xlhtml/APKBUILD
new file mode 100644
index 00000000000..5c6db8b7f7b
--- /dev/null
+++ b/testing/xlhtml/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Noel Kuntze <noel.kuntze@thermi.consulting>
+# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
+
+pkgname=xlhtml
+pkgver=0.5.1
+pkgrel=0
+pkgdesc="An Excel spreadsheet (.xls) and PowerPoint (.ppt) to HTML converter"
+arch="all"
+url="https://chicago.sourceforge.net/xlhtml/"
+license='GPL-2.0-or-later '
+source="https://bitbucket.org/jsuto/piler/downloads/xlhtml-$pkgver-sj-mod.tar.gz"
+options="!check" # no test suite
+subpackages="$pkgname-doc"
+
+builddir="$srcdir/$pkgname-$pkgver-sj-mod"
+
+prepare() {
+ default_prepare
+ update_config_sub
+ update_config_guess
+}
+
+build() {
+ ./configure.real --prefix=/usr --mandir="$pkgdir/usr/share/man"
+ make
+}
+
+package() {
+ make prefix="$pkgdir/usr" install
+}
+
+sha512sums="
+1efb387e218a3d7fd3935a65398fba64561b45b1b7916ba1bf4e13edf5155748e811e4e0c35a6d3d83b30f4585a66186fae25199cdaf0c369d085f31ec52fe9d xlhtml-0.5.1-sj-mod.tar.gz
+"
diff --git a/testing/xload/APKBUILD b/testing/xload/APKBUILD
index 3de87faa888..773e24789cf 100644
--- a/testing/xload/APKBUILD
+++ b/testing/xload/APKBUILD
@@ -1,21 +1,19 @@
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=xload
-pkgver="1.1.3"
+pkgver=1.1.4
pkgrel=0
pkgdesc="System load average display for X"
url="https://xorg.freedesktop.org"
arch="all"
license="MIT"
-depends="libintl"
makedepends="libx11-dev libxaw-dev libxmu-dev libxt-dev gettext-dev"
subpackages="$pkgname-doc"
-source="https://www.x.org/archive/individual/app/${pkgname}-${pkgver}.tar.bz2"
+source="https://www.x.org/archive/individual/app/xload-$pkgver.tar.xz"
build() {
export CFLAGS="$CFLAGS -DRLOADSTUB"
export LIBS="$LIBS -lintl"
- cd "$builddir"
- ./configure \
+ ./configure \
--build=$CBUILD \
--host=$CHOST \
--prefix=/usr \
@@ -26,13 +24,14 @@ build() {
make
}
-check(){
- make -C "$builddir" check
+check() {
+ make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="8dbc4f0cee7b30d7381be819152b27653d9b0049266e59bde2e2c972a88c4f2bdea766fc407bbdfef15d0aab30fedc756189a1048170a812853133a5094fe7a5 xload-1.1.3.tar.bz2"
+sha512sums="
+114babe4e5a60f4713f9e4627ee0a1bbb2f1f238cb46f24c38aecff67f25e6b0f58cbd554c71095ddc2b01398adbfa379550a34c23c413db52157648028554f2 xload-1.1.4.tar.xz
+"
diff --git a/testing/xmag/APKBUILD b/testing/xmag/APKBUILD
new file mode 100644
index 00000000000..df31e2274db
--- /dev/null
+++ b/testing/xmag/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
+pkgname=xmag
+pkgver=1.0.7
+pkgrel=1
+pkgdesc="Utility to display a magnified snapshot of a portion of an X11 screen"
+url="https://gitlab.freedesktop.org/xorg/app/xmag"
+arch="all"
+license="custom"
+options="!check" # no test suite
+makedepends="
+ libx11-dev
+ libxaw-dev
+ libxmu-dev
+ libxt-dev
+ util-macros
+ "
+source="https://xorg.freedesktop.org/archive/individual/app/xmag-$pkgver.tar.gz"
+subpackages="$pkgname-doc"
+
+build() {
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ install -Dm644 COPYING -t "$pkgdir"/usr/share/licenses/"$pkgname"
+}
+
+sha512sums="
+aa0a2e00e618e80f0d7c8a9e49bdb92d8f27caab242ccb5a848c4b0f30cb00b5ea905157452ca99b7941b090d19f96e3e8e228da2285dbb7fa51159735d30f45 xmag-1.0.7.tar.gz
+"
diff --git a/testing/xmake/01-pkgconfig-libsv.patch b/testing/xmake/01-pkgconfig-libsv.patch
new file mode 100644
index 00000000000..4b361f89815
--- /dev/null
+++ b/testing/xmake/01-pkgconfig-libsv.patch
@@ -0,0 +1,11 @@
+--- a/core/xmake.sh
++++ b/core/xmake.sh
+@@ -160,7 +160,7 @@
+ # the sv option
+ option "sv"
+ add_cfuncs "semver_tryn"
+- add_cincludes "semver.h"
++ add_cincludes "sv/semver.h"
+ add_links "sv"
+ before_check "option_find_sv"
+ option_end
diff --git a/testing/xmake/02-system-include.patch b/testing/xmake/02-system-include.patch
new file mode 100644
index 00000000000..340c24808e3
--- /dev/null
+++ b/testing/xmake/02-system-include.patch
@@ -0,0 +1,22 @@
+--- a/core/src/xmake/hash/xxhash.c
++++ b/core/src/xmake/hash/xxhash.c
+@@ -32,7 +32,7 @@
+ #define XXH_NAMESPACE XM_
+ #define XXH_STATIC_LINKING_ONLY
+ #define XXH_IMPLEMENTATION
+-#include "xxhash/xxhash.h"
++#include "xxhash.h"
+
+ /* //////////////////////////////////////////////////////////////////////////////////////
+ * implementation
+--- a/core/src/xmake/semver/prefix.h
++++ b/core/src/xmake/semver/prefix.h
+@@ -25,7 +25,7 @@
+ * includes
+ */
+ #include "../prefix.h"
+-#include "semver.h"
++#include "sv/semver.h"
+
+ /* //////////////////////////////////////////////////////////////////////////////////////
+ * extern
diff --git a/testing/xmake/APKBUILD b/testing/xmake/APKBUILD
new file mode 100644
index 00000000000..5cd0b40c927
--- /dev/null
+++ b/testing/xmake/APKBUILD
@@ -0,0 +1,87 @@
+# Contributor: qaqland <qaq@qaq.land>
+# Maintainer: qaqland <qaq@qaq.land>
+pkgname=xmake
+pkgver=2.8.9
+pkgrel=0
+pkgdesc="A cross-platform build utility based on Lua"
+url="https://xmake.io/"
+arch="all"
+license="Apache-2.0"
+options="net"
+depends="bash"
+makedepends="
+ readline-dev
+ ncurses-dev
+ linux-headers
+ libsv-dev
+ lua5.4-dev
+ lz4-dev
+ xxhash-dev
+ libtbox-dev
+ "
+checkdepends="7zip"
+subpackages="
+ $pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-zsh-completion
+ $pkgname-fish-completion
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/xmake-io/xmake/archive/refs/tags/v$pkgver.tar.gz
+ 01-pkgconfig-libsv.patch
+ 02-system-include.patch
+ "
+
+prepare() {
+ default_prepare
+ # Cleanup bundled deps
+ rm -rf core/src/lua-cjson/*/
+ rm -rf core/src/lua/*/
+ rm -rf core/src/luajit/*/
+ rm -rf core/src/lz4/*/
+ rm -rf core/src/pdcurses/*/
+ rm -rf core/src/sv/*/
+ rm -rf core/src/tbox/*/
+ rm -rf core/src/xxhash/*/
+ # Remove complicated toolchain tests
+ rm -rf tests/projects
+
+ sed -i '1 s|#!/bin/sh|#!/bin/bash|' configure
+}
+
+build() {
+ ./configure \
+ --build=$CBUILD \
+ --host=$CHOST \
+ --prefix=/usr \
+ --external=yes \
+ --kind=shared
+ make
+}
+
+check() {
+ cp build/xmake xmake/xmake
+ cp scripts/xrepo.sh xmake/xrepo
+ PATH="$PATH:$builddir/xmake"; \
+ xmake lua -v -D tests/run.lua; \
+ xrepo --version
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 scripts/man/*1 -t "$pkgdir"/usr/share/man/man1/
+
+ install -Dm644 xmake/scripts/completions/register-completions.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/xmake
+ install -Dm644 xmake/scripts/completions/register-completions.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_xmake
+ install -Dm644 xmake/scripts/completions/register-completions.fish \
+ "$pkgdir"/usr/share/fish/vendor_completions.d/xmake.fish
+}
+
+sha512sums="
+4eb4a8e607c9edb79409d805645669acbd2d676c572135b1a14356ed6b68b3501fdc120fcdcc69792a1389f0b1d643c1ed46ad705d172c26356f9975891e23a8 xmake-2.8.9.tar.gz
+a2799a33230c849102f27e15c44b3972691132f551d7a571ed5c8d99a628d2f1923f093bcc41cc2b11c9fd431dfa4b2cb71438530ed3fe2c2daa656530a2fccc 01-pkgconfig-libsv.patch
+735560bb8a148818b3c1efeac612c2873c473fd6727e749de78053442fda09919e51292f1aae71e49e5b22ab432da0a981d2d7505bd6e25ae02e4b40b6084279 02-system-include.patch
+"
diff --git a/testing/xml2rfc/APKBUILD b/testing/xml2rfc/APKBUILD
index b687727b84e..c1a2a9a2e67 100644
--- a/testing/xml2rfc/APKBUILD
+++ b/testing/xml2rfc/APKBUILD
@@ -1,19 +1,21 @@
-# Contributor:
-# Maintainer:
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=xml2rfc
-pkgver=3.7.0
-pkgrel=1
+pkgver=3.21.0
+pkgrel=0
pkgdesc="tool for converting XML documents into internet drafts and RFCs"
options="!check" # Requires unpackaged i18naddress
-url="https://tools.ietf.org/"
+url="https://github.com/ietf-tools/xml2rfc"
arch="noarch"
license="BSD-2-Clause"
depends="python3 py3-six py3-requests py3-lxml"
-makedepends="py3-setuptools"
+makedepends="py3-gpep517 py3-setuptools py3-wheel"
+subpackages="$pkgname-pyc"
source="https://files.pythonhosted.org/packages/source/x/xml2rfc/xml2rfc-$pkgver.tar.gz"
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
@@ -21,7 +23,10 @@ check() {
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="401b2179f1fba713270af79b391005c82a82a366465dc310ed5c4bdd9ce1b2f5414e3097a150ac116dce7d3fea5d1e44ab4361d0f5e7c01e79fcfa794e51250a xml2rfc-3.7.0.tar.gz"
+sha512sums="
+3f64b4692a51f201b6d8524c232e7e927829c0e8854e8f71d7f395f399be5ddd88195bbce5839979ea93abaf85fb3fc6527b80e699a74a6dababf8f35c1c1bab xml2rfc-3.21.0.tar.gz
+"
diff --git a/testing/xmp/APKBUILD b/testing/xmp/APKBUILD
new file mode 100644
index 00000000000..c00123e9017
--- /dev/null
+++ b/testing/xmp/APKBUILD
@@ -0,0 +1,38 @@
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+pkgname=xmp
+pkgver=4.2.0
+pkgrel=0
+pkgdesc="Command-line mod player using libxmp"
+url="https://github.com/libxmp/xmp-cli"
+arch="all"
+license="GPL-2.0-or-later"
+makedepends="
+ alsa-lib-dev
+ autoconf
+ automake
+ libxmp-dev
+ pulseaudio-dev
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/libxmp/xmp-cli/archive/refs/tags/xmp-$pkgver.tar.gz"
+options="!check" # no test suite
+builddir="$srcdir/$pkgname-cli-$pkgname-$pkgver/"
+
+prepare() {
+ default_prepare
+ ./autogen.sh
+}
+
+build() {
+ ./configure --disable-oss --enable-pulseaudio prefix=/usr
+ make
+}
+
+package() {
+ make install DESTDIR="$pkgdir" PREFIX=/usr
+}
+
+sha512sums="
+60d625e83cff6af80382d75b09a0ef1d9b60d86c2cae5ba79b619d8b4999bf15398efefde446670323a17e6f30ca17b0dc737a9265bd7299cf832074291c1c14 xmp-4.2.0.tar.gz
+"
diff --git a/testing/xmpp-dns/APKBUILD b/testing/xmpp-dns/APKBUILD
new file mode 100644
index 00000000000..7a337c34f6f
--- /dev/null
+++ b/testing/xmpp-dns/APKBUILD
@@ -0,0 +1,35 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=xmpp-dns
+pkgver=0.2.4
+pkgrel=16
+pkgdesc="CLI tool to check XMPP SRV records"
+url="https://salsa.debian.org/mdosch/xmpp-dns/"
+arch="all"
+license="BSD-2-Clause"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://salsa.debian.org/mdosch/xmpp-dns/-/archive/v$pkgver/xmpp-dns-v$pkgver.tar.gz"
+builddir="$srcdir/$pkgname-v$pkgver"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+export GOFLAGS="$GOFLAGS -modcacherw"
+
+build() {
+ go build -o xmpp-dns
+}
+
+check() {
+ go fmt "$(go list ./... | grep -v /vendor/)"
+ go vet "$(go list ./... | grep -v /vendor/)"
+ go test "$(go list ./... | grep -v /vendor/)"
+}
+
+package() {
+ install -Dm755 xmpp-dns -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+2e0b6b6bfd47a2d0b4a9809d0d0e80eda802503606f49421199ebd406a9dd66bf425a1247d4280bc43e182812a0a83047ef93c0f9c4152e7e421bcbac9489619 xmpp-dns-0.2.4.tar.gz
+"
diff --git a/testing/xmppc/10-Remove-dependency-on-strndupa.patch b/testing/xmppc/10-Remove-dependency-on-strndupa.patch
deleted file mode 100644
index d959ed47ef2..00000000000
--- a/testing/xmppc/10-Remove-dependency-on-strndupa.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b4e134b66dbb54f784f879fd4fb3d16afa9c8de3 Mon Sep 17 00:00:00 2001
-From: "j.r" <j.r@jugendhacker.de>
-Date: Mon, 15 Mar 2021 17:04:23 +0100
-Subject: [PATCH] Remove dependency on strndupa
-
-Actually only glibc seems to implement this
----
- src/mode/pgp.c | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/src/mode/pgp.c b/src/mode/pgp.c
-index 26ac252..9742035 100644
---- a/src/mode/pgp.c
-+++ b/src/mode/pgp.c
-@@ -175,7 +175,9 @@ char* _pgp_encrypt_message(xmppc_t *xmppc, char* recipient, char* message) {
- }
-
- static char* _pgp_remove_PGP_MESSAGE_comment(const char* message) {
-- char* tmp = strndupa(message, strlen(message) - (strlen(PGP_END)+1));
-+ char* tmp = alloca((strlen(message) - strlen(PGP_END)+1) + 1);
-+ strncpy(tmp, message, (strlen(message) - strlen(PGP_END)+1));
-+ tmp[(strlen(message) - strlen(PGP_END)+1)] = '\0';
- tmp = tmp+((strlen(PGP_BEGIN) +1) * sizeof(char));
- char* result = malloc(strlen(tmp)+1);
- strcpy(result, tmp);
---
-2.30.2
-
diff --git a/testing/xmppc/APKBUILD b/testing/xmppc/APKBUILD
deleted file mode 100644
index 93e72a797ef..00000000000
--- a/testing/xmppc/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Maintainer: j.r <j.r@jugendhacker.de>
-pkgname=xmppc
-pkgver=0.1.0
-pkgrel=0
-pkgdesc="Command Line Interface Tool for XMPP"
-url="https://codeberg.org/Anoxinon_e.V./xmppc"
-arch="all"
-license="GPL-3.0-or-later"
-makedepends="libstrophe-dev autoconf automake libtool glib-dev gpgme-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://codeberg.org/Anoxinon_e.V./xmppc/archive/$pkgver.tar.gz
- 10-Remove-dependency-on-strndupa.patch
- "
-builddir="$srcdir/$pkgname"
-
-prepare() {
- default_prepare
-
- ./bootstrap.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-554672de0e5a98b429cc9fa011f4652c8da1f0a60b0bc642edbed11cb12cbee645f44cf90d5c3fad59732e81e6ca7768cde3980d6ff7c9965a853bb8112a8297 xmppc-0.1.0.tar.gz
-4f28f79b09e6011ae9d79dfd0f73482d8c15c53b8890bdd778c6aac2cc77c77da3cc6a26407529810b2f2c192b5b1434b6303082de579cea63833525c2cc5794 10-Remove-dependency-on-strndupa.patch
-"
diff --git a/testing/xmppipe/APKBUILD b/testing/xmppipe/APKBUILD
new file mode 100644
index 00000000000..5e6980e50fa
--- /dev/null
+++ b/testing/xmppipe/APKBUILD
@@ -0,0 +1,29 @@
+# Contributor: Anjandev Momi <anjan@momi.ca>
+# Maintainer: Anjandev Momi <anjan@momi.ca>
+pkgname=xmppipe
+pkgver=0.16.0
+pkgrel=1
+pkgdesc="stdio over XMPP"
+url="https://github.com/msantos/xmppipe"
+arch="all"
+license="ISC"
+makedepends="libstrophe-dev audit-dev"
+checkdepends="bats"
+source="$pkgname-$pkgver.tar.gz::https://github.com/msantos/xmppipe/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # checks require inputting xmpp username and password in plaintext
+
+build() {
+ make
+}
+
+check() {
+ make test
+}
+
+package() {
+ install -Dm755 xmppipe -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+beb8e83d6d33989510812ae32d551c59ece1064a80817170ea3c0ab07986d30f1e7ee1f3dc2b976b2636b54b3892fd12bcf8b71a8e3cf443605989c29525d18e xmppipe-0.16.0.tar.gz
+"
diff --git a/testing/xmrig-proxy/APKBUILD b/testing/xmrig-proxy/APKBUILD
deleted file mode 100644
index dc1364ad70d..00000000000
--- a/testing/xmrig-proxy/APKBUILD
+++ /dev/null
@@ -1,29 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-
-pkgname=xmrig-proxy
-pkgver=6.15.1
-pkgrel=1
-pkgdesc="XMRig Proxy is a high performance Monero (XMR) Stratum protocol proxy"
-url="https://xmrig.com/xmrig-proxy"
-arch="all"
-license="GPL-3.0-or-later"
-options="!check" # No test suite from upstream
-makedepends="cmake libuv-dev libmicrohttpd-dev openssl-dev util-linux-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/xmrig/xmrig-proxy/archive/v$pkgver.tar.gz"
-
-build() {
- cmake -B build -DCMAKE_BUILD_TYPE=None
- make -C build
-}
-
-package() {
- install -Dm 755 build/xmrig-proxy $pkgdir/usr/bin/xmrig-proxy
-
- install -Dm 644 -t "$pkgdir"/usr/share/doc/$pkgname/ README.md
-}
-
-sha512sums="
-ce556f01bd4d9ba985b2e0aa4874ac72e51d3ab85116032e121d1fd42616b8fd628117992f867dd1589450b2941faeb6809a2de1ac31ff2bc253ee8dd975200a xmrig-proxy-6.15.1.tar.gz
-"
diff --git a/testing/xmrig/APKBUILD b/testing/xmrig/APKBUILD
deleted file mode 100644
index 16f3d634461..00000000000
--- a/testing/xmrig/APKBUILD
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=xmrig
-pkgver=6.16.2
-pkgrel=0
-pkgdesc="XMRig is a high performance Monero (XMR) miner"
-url="https://xmrig.com/"
-arch="aarch64 x86 x86_64" # officially supported by upstream
-license="GPL-3.0-or-later"
-options="!check" # No test suite from upstream
-makedepends="cmake libmicrohttpd-dev libuv-dev openssl-dev hwloc-dev"
-subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/xmrig/xmrig/archive/v$pkgver.tar.gz
- enable-donateless-mode.patch
- "
-
-case "$CARCH" in
- aarch64*) CMAKE_CROSSOPTS="-DARM_TARGET=8"; makedepends="$makedepends linux-headers" ;;
-esac
-
-build() {
- cmake -B build $CMAKE_CROSSOPTS -DCMAKE_BUILD_TYPE=None \
- -DWITH_CUDA=OFF \
- -DWITH_OPENCL=OFF
-
- make -C build
-}
-
-package() {
- install -Dm 755 build/xmrig $pkgdir/usr/bin/xmrig
-
- install -Dm 644 -t "$pkgdir"/usr/share/doc/$pkgname/ README.md
-}
-
-sha512sums="
-b845ed501e8d9829ceaf9ab31b493997cc489dcedb1eef91624d1cffa9a7e8e5baa4f85653eb40a3f27debe1710f5770df0e582ab6e857386b6d5ac3bb101e67 xmrig-6.16.2.tar.gz
-40cd7e3a884920951ec48efebbea5d7181deaeef6a226444a46ad8dc83b54eceae954c8d28952c21d63a15a4947eac72d1024b83684b5cb15437d3c8d32b006a enable-donateless-mode.patch
-"
diff --git a/testing/xmrig/enable-donateless-mode.patch b/testing/xmrig/enable-donateless-mode.patch
deleted file mode 100644
index cd972934915..00000000000
--- a/testing/xmrig/enable-donateless-mode.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/donate.h 2021-05-31 16:57:41.000000000 -0500
-+++ b/src/donate.h 2021-05-31 16:56:37.000000000 -0500
-@@ -45,7 +45,7 @@
- * BTC: 1P7ujsXeX7GxQwHNnJsRMgAdNkFZmNVqJT
- */
- constexpr const int kDefaultDonateLevel = 1;
--constexpr const int kMinimumDonateLevel = 1;
-+constexpr const int kMinimumDonateLevel = 0;
-
-
- #endif /* XMRIG_DONATE_H */
diff --git a/testing/xob/APKBUILD b/testing/xob/APKBUILD
new file mode 100644
index 00000000000..43507d07558
--- /dev/null
+++ b/testing/xob/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Magnus Sandin <magnus.sandin@gmail.com>
+# Maintainer: Magnus Sandin <magnus.sandin@gmail.com>
+pkgname=xob
+pkgver=0.3
+pkgrel=0
+pkgdesc="A lightweight overlay bar for the X Window System"
+url="https://github.com/florentc/xob"
+arch="all"
+license="GPL-3.0-or-later"
+subpackages="$pkgname-doc"
+makedepends="
+ libconfig-dev
+ libxrender-dev
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/florentc/xob/archive/refs/tags/v$pkgver.tar.gz
+ "
+options="!check" # No tests available
+
+build() {
+ make sysconfdir="/etc" prefix="/usr"
+}
+
+package() {
+ make install DESTDIR="$pkgdir" sysconfdir="/etc" prefix="/usr"
+}
+
+
+sha512sums="
+b599ab37fb9eda15ecb4b6963eb4ca993905e8e34af8496a8a92de50b20724c799f222d5e37a430a9499df2b2c0ceb322f607e2d0e82db01cffba646ab9e3309 xob-0.3.tar.gz
+"
diff --git a/testing/xone-src/APKBUILD b/testing/xone-src/APKBUILD
new file mode 100644
index 00000000000..af0b966d56d
--- /dev/null
+++ b/testing/xone-src/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Umar Getagazov <umar@handlerug.me>
+# Maintainer: Umar Getagazov <umar@handlerug.me>
+pkgname=xone-src
+_modname=${pkgname%-src}
+pkgver=0.3_git20230517
+pkgrel=0
+_gitrev=bbf0dcc484c3f5611f4e375da43e0e0ef08f3d18
+pkgdesc="Linux kernel driver for Xbox One and Xbox Series X|S accessories (sources)"
+url="https://github.com/medusalix/xone"
+arch="noarch"
+license="GPL-2.0-or-later"
+install="$pkgname.post-install"
+provides="xone=$pkgver"
+source="$_modname-$pkgver.tar.gz::https://github.com/medusalix/xone/archive/$_gitrev.tar.gz
+ modules-load.conf"
+options="!check" # no tests
+builddir="$srcdir/$_modname-$_gitrev"
+
+package() {
+ install -Dm644 "$srcdir"/modules-load.conf \
+ "$pkgdir"/usr/lib/modules-load.d/xone-wired.conf
+ install -Dm644 "$builddir"/install/modprobe.conf \
+ "$pkgdir"/etc/modprobe.d/xone-blacklist.conf
+ install -Dm755 "$builddir"/install/firmware.sh \
+ "$pkgdir"/usr/bin/xone-get-firmware.sh
+ install -Dm644 "$builddir"/Kbuild "$pkgdir"/usr/src/$_modname-$pkgver/Kbuild
+ cp -r "$builddir"/bus "$builddir"/driver "$builddir"/transport \
+ "$pkgdir"/usr/src/$_modname-$pkgver/
+
+ cat >"$pkgdir"/usr/src/$_modname-$pkgver/AKMBUILD <<-EOF
+ modname=$_modname
+ modver=$pkgver-r$pkgrel
+ built_modules="$_modname-wired.ko $_modname-dongle.ko $_modname-gip.ko "\\
+ "$_modname-gip-gamepad.ko $_modname-gip-headset.ko $_modname-gip-chatpad.ko "\\
+ "$_modname-gip-guitar.ko"
+ EOF
+}
+
+sha512sums="
+78cd605a5d56c8230e8800dd43f9f423da52d896625242669480211a4105bbce3364669b742f678b6b48ecd3bc42ad2982d46fe0c6e99ec8e05b69a47c5c88ab xone-0.3_git20230517.tar.gz
+838de6003c723dc3955986b9cde883cae6e29c90995798110f285b1b1b362116f9e3a065f541e8d5d132dc460d245b37ce7479e9189b63e5fe9adf0c5f37529f modules-load.conf
+"
diff --git a/testing/xone-src/modules-load.conf b/testing/xone-src/modules-load.conf
new file mode 100644
index 00000000000..618c855c26d
--- /dev/null
+++ b/testing/xone-src/modules-load.conf
@@ -0,0 +1,2 @@
+xone-wired
+xone-dongle
diff --git a/testing/xone-src/xone-src.post-install b/testing/xone-src/xone-src.post-install
new file mode 100644
index 00000000000..cf116160f0b
--- /dev/null
+++ b/testing/xone-src/xone-src.post-install
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+cat >&2 <<EOF
+*
+* If you want to use the wireless dongle, download the binary firmware blob
+* from Microsoft by running xone-get-firmware.sh.
+*
+EOF
+
+exit 0
diff --git a/testing/xonotic-data/APKBUILD b/testing/xonotic-data/APKBUILD
deleted file mode 100644
index f843f65d472..00000000000
--- a/testing/xonotic-data/APKBUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Alex Denes <caskd@redxen.eu>
-pkgname=xonotic-data
-pkgver=0.8.2
-pkgrel=0
-pkgdesc="Data files for Xonotic"
-url="https://www.xonotic.org/"
-arch="noarch !s390x !mips !mips64" # save space on builders
-license="GPL-2.0-or-later"
-options="!check"
-source="$pkgname-$pkgver.zip::https://dl.xonotic.org/${pkgname%-*}-$pkgver.zip"
-builddir="$srcdir"/Xonotic
-
-package() {
- mkdir -p "$pkgdir"/usr/share/xonotic/
- mv "$srcdir"/Xonotic/data "$pkgdir"/usr/share/xonotic/
-}
-
-sha512sums="0787fcf326827ae0292e5917c7ff2c7fd79947209d4b62e7f83b8b828bec15b575da304e0631f9f163c9b0bd93bed13616e142398ff08cbdaaea890a939dfca5 xonotic-data-0.8.2.zip"
diff --git a/testing/xonotic/APKBUILD b/testing/xonotic/APKBUILD
deleted file mode 100644
index 4a7b7c289e4..00000000000
--- a/testing/xonotic/APKBUILD
+++ /dev/null
@@ -1,107 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Alex Denes <caskd@redxen.eu>
-pkgname=xonotic
-pkgver=0.8.2
-pkgrel=1
-pkgdesc="A free, fast-paced crossplatform first-person shooter"
-url="https://www.xonotic.org/"
-arch="x86 x86_64 aarch64 armv7 armhf ppc64le"
-license="GPL-2.0-or-later"
-depends="xonotic-data"
-makedepends="autoconf
- automake
- libtool
- alsa-lib-dev
- curl-dev
- libjpeg-turbo-dev
- libxpm-dev
- libxxf86vm-dev
- sdl2-dev
- libpng-dev
- mesa-dev
- gmp-dev"
-subpackages="$pkgname-server $pkgname-sdl $pkgname-glx"
-options="!check"
-source="$pkgname-$pkgver.zip::http://dl.xonotic.org/xonotic-$pkgver-source.zip
- xonotic-moncontrol.patch
- xonotic-sdl.desktop
- xonotic-glx.desktop"
-builddir="$srcdir"/Xonotic
-
-build() {
- local r
- for r in sv sdl cl; do
- make -C "$builddir"/source/darkplaces \
- CPUOPTIMIZATIONS="$CFLAGS" \
- DP_FS_BASEDIR="/usr/share/$pkgname" \
- DP_LINK_TO_LIBJPEG=1 \
- "$r"-release
- done
-
- cd "$builddir"/source/d0_blind_id
- sh autogen.sh
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-package() {
- cd "$builddir"/source/d0_blind_id
- make DESTDIR="$pkgdir" install
-
- cd "$pkgdir"/usr
- rm -r include
- cd lib
- rm -r pkgconfig -- *.a
-
- local size
- for size in 16 22 24 32 48 64 128 256 512; do
- install -Dm644 "$builddir"/misc/logos/icons_png/xonotic_"$size".png \
- "$pkgdir"/usr/share/icons/hicolor/"$size"x"$size"/apps/xonotic.png
- done
-}
-
-server() {
- pkgdesc="$pkgdesc (Server)"
- depends="xonotic"
-
- mkdir -p "$subpkgdir"/usr/bin
- install -Dm755 "$builddir"/source/darkplaces/darkplaces-dedicated \
- "$subpkgdir"/usr/bin/xonotic-dedicated
-}
-
-sdl() {
- pkgdesc="$pkgdesc (SDL client)"
- depends="xonotic"
-
- mkdir -p "$subpkgdir"/usr/bin
- install -Dm755 "$builddir"/source/darkplaces/darkplaces-sdl \
- "$subpkgdir"/usr/bin/xonotic-sdl
-
- mkdir -p "$subpkgdir"/usr/share/applications
- install -Dm644 "$srcdir"/xonotic-sdl.desktop \
- "$subpkgdir"/usr/share/applications/xonotic-sdl.desktop
-}
-
-glx() {
- pkgdesc="$pkgdesc (GLX client)"
- depends="xonotic"
-
- mkdir -p "$subpkgdir"/usr/bin
- install -Dm755 "$builddir"/source/darkplaces/darkplaces-glx \
- "$subpkgdir"/usr/bin/xonotic-glx
-
- mkdir -p "$subpkgdir"/usr/share/applications
- install -Dm644 "$srcdir"/xonotic-glx.desktop \
- "$subpkgdir"/usr/share/applications/xonotic-glx.desktop
-}
-
-sha512sums="1a803f3ebd2e1c3a2000e6b7a6ec0ab3a64c92a9c7b41c329a5054a51bb624a790a84bd6b3a344a59f3bd7bf18feecec0b39e2ddfc116c52ad85d22731a0fba0 xonotic-0.8.2.zip
-d74a1d1421dc68dbf46595510cea463382e69c8421110cd7b187419530dbfe9d262d9b65843b89b49aa91d9e32041e11941e411fe52f2dcb0ede18311ab821ec xonotic-moncontrol.patch
-963273811453f713ab70f5d12b918c1513a9a7995cd1d2572f0b9060d945391bf7db4ae04ae586531ecf3a088f837803a66ac267d9285928d8b2e82c98b7158b xonotic-sdl.desktop
-2e06d588d68d629a9690b4dd3372c7ad77b240afcd86cf0cdf2de15548d3feaa0e446df1a29339be4593d23bfcf389930bdd1d7021f1e2558d70bb15e28646bd xonotic-glx.desktop"
diff --git a/testing/xonotic/xonotic-glx.desktop b/testing/xonotic/xonotic-glx.desktop
deleted file mode 100644
index ebce0e19632..00000000000
--- a/testing/xonotic/xonotic-glx.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Type=Application
-Version=2.5
-Encoding=UTF-8
-Name=Xonotic (GLX)
-Comment=a free open-source first person shooter
-Icon=xonotic
-Exec=/usr/bin/xonotic-glx
-Terminal=false
-StartupNotify=false
-Categories=Game;
diff --git a/testing/xonotic/xonotic-moncontrol.patch b/testing/xonotic/xonotic-moncontrol.patch
deleted file mode 100644
index 4fdd6a663b6..00000000000
--- a/testing/xonotic/xonotic-moncontrol.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- Xonotic.orig/source/darkplaces/sys_shared.c
-+++ Xonotic/source/darkplaces/sys_shared.c
-@@ -69,9 +69,6 @@
- else
- moncleanup();
- #endif
--#elif defined(__linux__) || defined(__FreeBSD__)
-- extern int moncontrol(int);
-- moncontrol(enable);
- #endif
- }
-
diff --git a/testing/xonotic/xonotic-sdl.desktop b/testing/xonotic/xonotic-sdl.desktop
deleted file mode 100644
index 2c631916b24..00000000000
--- a/testing/xonotic/xonotic-sdl.desktop
+++ /dev/null
@@ -1,11 +0,0 @@
-[Desktop Entry]
-Type=Application
-Version=2.5
-Encoding=UTF-8
-Name=Xonotic (SDL)
-Comment=a free open-source first person shooter
-Icon=xonotic
-Exec=/usr/bin/xonotic-sdl
-Terminal=false
-StartupNotify=false
-Categories=Game;
diff --git a/testing/xonsh/APKBUILD b/testing/xonsh/APKBUILD
index 48924b2cf9b..8d4e5a899c6 100644
--- a/testing/xonsh/APKBUILD
+++ b/testing/xonsh/APKBUILD
@@ -1,31 +1,67 @@
+# Contributor: Hoang Nguyen <folliekazetani@protonmail.com>
# Contributor: vinnie <fz12345@gmail.com>
# Maintainer: vinnie <fz12345@gmail.com>
pkgname=xonsh
-pkgver=0.10.1
+pkgver=0.15.1
pkgrel=1
pkgdesc="Python-powered, cross-platform, Unix-gazing shell"
url="https://xon.sh"
arch="noarch"
license="BSD-2-Clause"
-options="!check" #flake8-docstrings missing, maybe later
depends="
- py3-pygments>=2.2
- py3-prompt_toolkit>=3.0
py3-distro
- py3-setproctitle
+ py3-prompt_toolkit>=3.0
+ py3-pygments>=2.2
+ py3-pyperclip
+ py3-ujson
+ "
+makedepends="py3-setuptools py3-gpep517 py3-installer py3-wheel"
+# man-db with groff-1.23.0 breaks "test_man.py" due to escape codes in output
+checkdepends="
+ mandoc
+ py3-pip
+ py3-pyte
+ py3-pytest
+ py3-pytest-mock
+ py3-pytest-rerunfailures
+ py3-pytest-subprocess
+ py3-pytest-timeout
+ py3-virtualenv
+ "
+subpackages="$pkgname-pyc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xonsh/xonsh/archive/$pkgver.tar.gz
+ no-col.patch
"
-makedepends="py3-setuptools"
-source="$pkgname-$pkgver.tar.gz::https://github.com/xonsh/xonsh/archive/$pkgver.tar.gz"
build() {
- python3 setup.py 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 \
+ --ignore=tests/test_integrations.py \
+ --ignore=tests/test_pipelines.py \
+ --ignore=tests/test_ptk_shell.py \
+ --ignore=tests/completers/test_bash_completer.py \
+ --ignore=tests/procs/test_specs.py \
+ --deselect tests/test_man.py::test_man_completion
+}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
+
+ # The build process appends dirty bit into the version string
+ # if a git repo is detected
+ sed -i "s/^\(__version__ =\).*/\1 \"$pkgver\"/" \
+ "$pkgdir"/usr/lib/python*/site-packages/xonsh/__init__.py
}
sha512sums="
-6ccfa4fd30fac307b27db51f868e9516986c85831bc89fa72dcc28633fa429b928c09b8ff5bb55b86fc6e05f0a8e9ebe8810dcfac11fd97ae42bbd2e1aafc8a4 xonsh-0.10.1.tar.gz
+5a8640a80c8aa1a08cabcd643880603ddf9d1181ca1dfb396b5970fb59205a19be4fbd5ff8f0a36779fd25d7204748ad2426f311b7a9e7b954fc3a541a1e2131 xonsh-0.15.1.tar.gz
+56e6548dde6faaa70e000f0d49a260ca0fe5297b0ec0abb1ab2cb0c22154479a957155f06037b91d9fda3736f3c7935d019a6c45adf506334e5940dfd8ac37d1 no-col.patch
"
diff --git a/testing/xonsh/no-col.patch b/testing/xonsh/no-col.patch
new file mode 100644
index 00000000000..9e54bf3a65a
--- /dev/null
+++ b/testing/xonsh/no-col.patch
@@ -0,0 +1,13 @@
+we can't use col(1), because it was [gated behind if(__GLIBC__)][1]
+in util-linux; according to upstream, it's also deprecated
+
+[1]: https://github.com/util-linux/util-linux/commit/8886d84e25a457702b45194d69a47313f76dc6bc
+
+diff --git a/xonsh/completers/man.py b/xonsh/completers/man.py
+index a2e56f1..944ae6b 100644
+--- a/xonsh/completers/man.py
++++ b/xonsh/completers/man.py
+@@ -25,2 +25,3 @@ def get_man_completions_path() -> Path:
+ def _get_man_page(cmd: str):
++ return None
+ """without control characters"""
diff --git a/testing/xonsh/xonsh.post-install b/testing/xonsh/xonsh.post-install
new file mode 100644
index 00000000000..253465b2ac5
--- /dev/null
+++ b/testing/xonsh/xonsh.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+add-shell '/usr/bin/xonsh'
+exit 0
diff --git a/testing/xonsh/xonsh.post-upgrade b/testing/xonsh/xonsh.post-upgrade
new file mode 120000
index 00000000000..043e81e0c33
--- /dev/null
+++ b/testing/xonsh/xonsh.post-upgrade
@@ -0,0 +1 @@
+xonsh.post-install \ No newline at end of file
diff --git a/testing/xonsh/xonsh.pre-deinstall b/testing/xonsh/xonsh.pre-deinstall
new file mode 100644
index 00000000000..c2d7870a5df
--- /dev/null
+++ b/testing/xonsh/xonsh.pre-deinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+remove-shell '/usr/bin/xonsh'
+exit 0
diff --git a/testing/xosview/APKBUILD b/testing/xosview/APKBUILD
new file mode 100644
index 00000000000..52eaeeae788
--- /dev/null
+++ b/testing/xosview/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Mark Hills <mark@xwax.org>
+# Maintainer: Mark Hills <mark@xwax.org>
+pkgname=xosview
+pkgver=1.24
+pkgrel=0
+pkgdesc="The classic system monitoring tool"
+url="https://www.pogo.org.uk/~mark/xosview/"
+arch="all"
+license="GPL-2.0-only"
+makedepends="libx11-dev libxpm-dev linux-headers"
+options="!check" # no tests provided
+subpackages="$pkgname-doc"
+source="https://www.pogo.org.uk/~mark/xosview/releases/xosview-$pkgver.tar.gz"
+
+build() {
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" \
+ PREFIX=/usr \
+ install
+}
+
+sha512sums="
+aeeecc3be8c4a22bb62062ca51c927ace186c0652f7cc16fbdd7b7d3acb247242d1ad64960cfb4622bd1626fdfcd26ef6938df2b4f788ee8fc44e5cf59396540 xosview-1.24.tar.gz
+"
diff --git a/testing/xournal/APKBUILD b/testing/xournal/APKBUILD
deleted file mode 100644
index fe6e7f26108..00000000000
--- a/testing/xournal/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Ivan Tham <pickfire@riseup.net>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
-pkgname=xournal
-pkgver=0.4.8.2016
-pkgrel=1
-pkgdesc="Notetaking, sketching, keeping a journal using a stylus"
-url="http://xournal.sourceforge.net/"
-arch="all"
-license="GPL-2.0"
-makedepends="libgnomecanvas-dev poppler-dev gtk+2.0-dev libart-lgpl-dev"
-subpackages="$pkgname-lang"
-source="https://downloads.sourceforge.net/project/${pkgname}/${pkgname}/${pkgver}/${pkgname}-${pkgver}.tar.gz
- static-inline.patch"
-builddir="$srcdir/"$pkgname-$pkgver
-
-build() {
- cd "$builddir"
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --target=$CTARGET \
- --prefix=/usr
- make
-}
-
-check() {
- cd "$builddir"
- make check
-}
-
-package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="1426d5c9ba3486fbe342d49fc19fcc162965cd6a7b7754f79665e43fe0e60e6f42f61969405ace78fdaa7b99cbb3d4b07b7fb5df246d68a329b52084b6eec76e xournal-0.4.8.2016.tar.gz
-de5dbe8a6ee98215cca22e0776817f655b7dfe741ebb186e7fdfa0569bc078888f84669d0ddbcf7abfd31232a533b02f00acc8b2a7204339b2e69a4a7f8f7df4 static-inline.patch"
diff --git a/testing/xournal/static-inline.patch b/testing/xournal/static-inline.patch
deleted file mode 100644
index 5a874950289..00000000000
--- a/testing/xournal/static-inline.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff --git a/src/xo-shapes.c b/src/xo-shapes.c
-index 33840fd..4ed17da 100644
---- a/src/xo-shapes.c
-+++ b/src/xo-shapes.c
-@@ -72,42 +72,42 @@ void calc_inertia(double *pt, int start, int end, struct Inertia *s)
-
- /* compute normalized quantities */
-
--inline double center_x(struct Inertia s)
--{
-+static inline double center_x(struct Inertia s)
-+{
- return s.sx/s.mass;
- }
-
--inline double center_y(struct Inertia s)
--{
-+static inline double center_y(struct Inertia s)
-+{
- return s.sy/s.mass;
- }
-
--inline double I_xx(struct Inertia s)
-+static inline double I_xx(struct Inertia s)
- {
- if (s.mass <= 0.) return 0.;
- return (s.sxx - s.sx*s.sx/s.mass)/s.mass;
- }
-
--inline double I_xy(struct Inertia s)
-+static inline double I_xy(struct Inertia s)
- {
- if (s.mass <= 0.) return 0.;
- return (s.sxy - s.sx*s.sy/s.mass)/s.mass;
- }
-
--inline double I_yy(struct Inertia s)
-+static inline double I_yy(struct Inertia s)
- {
- if (s.mass <= 0.) return 0.;
- return (s.syy - s.sy*s.sy/s.mass)/s.mass;
- }
-
--inline double I_rad(struct Inertia s)
-+static inline double I_rad(struct Inertia s)
- {
- double ixx = I_xx(s), iyy = I_yy(s);
- if (ixx+iyy <= 0.) return 0.;
- return sqrt(ixx+iyy);
- }
-
--inline double I_det(struct Inertia s)
-+static inline double I_det(struct Inertia s)
- {
- double ixx = I_xx(s), iyy = I_yy(s), ixy = I_xy(s);
- if (s.mass <= 0.) return 0.;
diff --git a/testing/xpad/APKBUILD b/testing/xpad/APKBUILD
deleted file mode 100644
index 3a5746b8f0a..00000000000
--- a/testing/xpad/APKBUILD
+++ /dev/null
@@ -1,37 +0,0 @@
-# Contributor: Díaz Urbaneja Diego <sodomon2@gmail.com>
-# Maintainer: Díaz Urbaneja Diego <sodomon2@gmail.com>
-pkgname=xpad
-pkgver=5.4.0
-pkgrel=0
-pkgdesc="Stickies-like notes application"
-url="https://launchpad.net/xpad"
-arch="all"
-license="GPL-3.0-only"
-makedepends="automake autoconf libtool intltool gtk+3.0-dev
- gtksourceview-dev libsm-dev"
-subpackages="$pkgname-doc $pkgname-lang"
-source="https://launchpad.net/xpad/trunk/$pkgver/+download/xpad-$pkgver.tar.bz2"
-
-prepare() {
- default_prepare
- autoreconf -vfi
- cp -r data/xpad.desktop.in "$builddir"
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="a20b1d16d0d9e4cb0b88c969165eb9514b69a0eaef91eca8a3fb4da08ea8a2db32891de3c8a2a4a97db21bf78f515c7b6f798c59ba155f480f866334fca7986f xpad-5.4.0.tar.bz2"
diff --git a/testing/xplr/APKBUILD b/testing/xplr/APKBUILD
new file mode 100644
index 00000000000..2de0488e31b
--- /dev/null
+++ b/testing/xplr/APKBUILD
@@ -0,0 +1,60 @@
+# Maintainer: omni <omni+alpine@hack.org>
+pkgname=xplr
+pkgver=0.21.5
+pkgrel=2
+pkgdesc="Hackable, minimal, fast TUI file explorer"
+url="https://xplr.dev"
+# s390x: nix crate
+arch="all !s390x"
+license="MIT"
+makedepends="cargo lua5.4-dev cargo-auditable"
+options="net"
+subpackages="$pkgname-doc"
+source="
+ https://github.com/sayanarijit/xplr/archive/refs/tags/v$pkgver/xplr-$pkgver.tar.gz
+ remove-vendored-lua.patch
+ modified-field-lua54.patch
+ "
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --release --frozen
+}
+
+check() {
+ # cargo test doesn't build target/debug/xplr binary
+ cargo auditable build --frozen
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/xplr -t "$pkgdir"/usr/bin/
+
+ install -Dm644 "$builddir"/assets/desktop/xplr.desktop \
+ -t "$pkgdir"/usr/share/applications
+ install -Dm644 "$builddir"/assets/icon/xplr.svg \
+ "$pkgdir"/usr/share/pixmaps/xplr.svg
+ install -Dm644 "$builddir"/assets/icon/xplr.svg \
+ "$pkgdir"/usr/share/icons/hicolor/scalable/apps/xplr.svg
+ for res in 16 32 64 128; do
+ install -Dm 644 assets/icon/"$pkgname""$res".png \
+ "$pkgdir"/usr/share/icons/hicolor/"$res"x"$res"/apps/"$pkgname".png
+ done
+
+ install -Dm644 src/init.lua \
+ -t "$pkgdir"/usr/share/doc/"$pkgname"/examples/
+ install -Dm644 docs/en/src/* \
+ -t "$pkgdir"/usr/share/doc/"$pkgname"/
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
+
+sha512sums="
+4f6323d123e3963c1b427df55200771f2d3cf2d8cfc07dac488d513215030bf98c96bdcbdf5b801f319afd3fd780c82abfbc6b212a6178bdfae86f798dd0f0df xplr-0.21.5.tar.gz
+65886618305c63119e3be0e08f4fae7f9b63ad479767f1abe40c6de56356619caddc5b360f05018e64c758f59780bd265e51796d2fd29d95e41bffebe16abc6e remove-vendored-lua.patch
+9a4109b0988065ce4ae79535238c447e281f6e730957faab2c48b6a0c861eac2a6263c5cac24bc8dbdaa37e442e4c52ea4279b52d4e75df9a5ea1f0e3321728e modified-field-lua54.patch
+"
diff --git a/testing/xplr/modified-field-lua54.patch b/testing/xplr/modified-field-lua54.patch
new file mode 100644
index 00000000000..4c394f8584b
--- /dev/null
+++ b/testing/xplr/modified-field-lua54.patch
@@ -0,0 +1,13 @@
+Switch to ISO 8601 while we're at it, but the important change here is to round
+down to a value that tostring() can always handle.
+--- a/src/init.lua
++++ b/src/init.lua
+@@ -3046,7 +3046,7 @@ end
+
+ -- Renders the fifth column in the table
+ xplr.fn.builtin.fmt_general_table_row_cols_4 = function(m)
+- return tostring(os.date("%a %b %d %H:%M:%S %Y", m.last_modified / 1000000000))
++ return tostring(os.date("%Y-%m-%d %H:%M:%S", math.floor(m.last_modified / 1000000000)))
+ end
+
+ -- This is where the custom functions can be added.
diff --git a/testing/xplr/remove-vendored-lua.patch b/testing/xplr/remove-vendored-lua.patch
new file mode 100644
index 00000000000..bea10dc954b
--- /dev/null
+++ b/testing/xplr/remove-vendored-lua.patch
@@ -0,0 +1,48 @@
+--- a/Cargo.lock
++++ b/Cargo.lock
+@@ -774,25 +774,6 @@
+ ]
+
+ [[package]]
+-name = "lua-src"
+-version = "546.0.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2da0daa7eee611a4c30c8f5ee31af55266e26e573971ba9336d2993e2da129b2"
+-dependencies = [
+- "cc",
+-]
+-
+-[[package]]
+-name = "luajit-src"
+-version = "210.5.3+29b0b28"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "0c2bb89013916ce5c949f01a1fbd6d435a58e1d980767a791d755911211d792d"
+-dependencies = [
+- "cc",
+- "which",
+-]
+-
+-[[package]]
+ name = "memchr"
+ version = "2.7.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -865,8 +846,6 @@
+ dependencies = [
+ "cc",
+ "cfg-if",
+- "lua-src",
+- "luajit-src",
+ "pkg-config",
+ ]
+
+--- a/Cargo.toml
++++ b/Cargo.toml
+@@ -73,7 +73,7 @@
+
+ [dependencies.mlua]
+ version = "0.9.2"
+-features = ['luajit', 'vendored', 'serialize', 'send']
++features = ['lua54', 'serialize', 'send']
+
+ [dependencies.tui-input]
+ version = "0.8.0"
diff --git a/testing/xremap-wlr/APKBUILD b/testing/xremap-wlr/APKBUILD
new file mode 100644
index 00000000000..e87ea5dd697
--- /dev/null
+++ b/testing/xremap-wlr/APKBUILD
@@ -0,0 +1,36 @@
+# Contributor: Coco Liliace <coco@liliace.dev>
+# Maintainer: Coco Liliace <coco@liliace.dev>
+pkgname=xremap-wlr
+pkgver=0.8.18
+pkgrel=0
+pkgdesc="Key remapper for Wayland"
+url="https://github.com/k0kubun/xremap"
+# nix
+arch="all !s390x !riscv64"
+license="MIT"
+makedepends="cargo cargo-auditable"
+replaces="xremap-sway"
+source="$pkgname-$pkgver.tar.gz::https://github.com/k0kubun/xremap/archive/v$pkgver.tar.gz"
+builddir="$srcdir/xremap-$pkgver"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release --features wlroots
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 -t "$pkgdir"/usr/bin ./target/release/xremap
+}
+
+sha512sums="
+9ad0394e1824d5b423fd38d47f953844942119d69f6cf2c49f9e85dba18b6297957b30b77e265238b47e968921507620c4db1e6772d6cc69de278146556e6edf xremap-wlr-0.8.18.tar.gz
+"
diff --git a/testing/xsane/APKBUILD b/testing/xsane/APKBUILD
index b93929b4988..98160c3785d 100644
--- a/testing/xsane/APKBUILD
+++ b/testing/xsane/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=xsane
pkgver=0.999
-pkgrel=0
+pkgrel=1
pkgdesc="Graphical SANE frontend"
url="http://www.xsane.org/"
arch="all"
diff --git a/testing/xsct/APKBUILD b/testing/xsct/APKBUILD
deleted file mode 100644
index 86e71d54dcb..00000000000
--- a/testing/xsct/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
-pkgname=xsct
-pkgver=1.6.1
-pkgrel=0
-pkgdesc="set the color temperature of xorg screen"
-url="https://github.com/faf0/sct/"
-arch="all"
-license="Public Domain Mark"
-makedepends="libx11-dev libxrandr-dev"
-subpackages="$pkgname-doc"
-options="!check" # no tests
-source="$pkgname-$pkgver.tar.gz::https://github.com/faf0/sct/archive/refs/tags/$pkgver.tar.gz"
-builddir="$srcdir/"sct-$pkgver
-
-build() {
- make
- :
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- :
-}
-
-sha512sums="
-600a851f22189d8dd11aa6c51d1aa307358d02daebb9993fadb81f69caf0eff9d514ca65b04d3eca45223a93f053aeb2c6306c53451e19d5ee18072c416bb5fe xsct-1.6.1.tar.gz
-"
diff --git a/testing/xsecurelock/APKBUILD b/testing/xsecurelock/APKBUILD
index 63de899ba12..7474dee2726 100644
--- a/testing/xsecurelock/APKBUILD
+++ b/testing/xsecurelock/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Grigory Kirillov <txgk@bk.ru>
-# Maintainer: Grigory Kirillov <txgk@bk.ru>
+# Maintainer:
pkgname=xsecurelock
-pkgver=1.7.0
+pkgver=1.9.0
pkgrel=1
pkgdesc="X11 screen lock utility with security in mind"
url="https://github.com/google/xsecurelock"
@@ -9,8 +9,6 @@ arch="all"
license="Apache-2.0"
options="!check" # no test suite
makedepends="
- autoconf
- automake
libx11-dev
libxcomposite-dev
libxext-dev
@@ -19,20 +17,19 @@ makedepends="
libxmu-dev
libxrandr-dev
libxscrnsaver-dev
- xorgproto
linux-pam-dev
- pkgconf
+ xorgproto
"
subpackages="$pkgname-doc"
-source="https://github.com/google/xsecurelock/archive/refs/tags/v$pkgver.zip"
-
-prepare() {
- default_prepare
- sh autogen.sh
-}
+source="https://github.com/google/xsecurelock/releases/download/v$pkgver/xsecurelock-$pkgver.tar.gz"
build() {
- ./configure --prefix=/usr --with-pam-service-name=su
+ ./configure \
+ --target="$CTARGET" \
+ --build="$CBUILD" \
+ --host="$CHOST" \
+ --prefix=/usr \
+ --with-pam-service-name=system-login
make GIT_VERSION="$pkgver"
}
@@ -40,4 +37,6 @@ package() {
make DESTDIR="$pkgdir" install
}
-sha512sums="6e79b6c3f93b72dc2c51e89194a3f1f3866929dd7ae8df73dc77b0da335762c3898c00289965dfb3d4eda10cd7d4f544b18d9fca470aa63824c603c58855ae80 v1.7.0.zip"
+sha512sums="
+23a3c0ac6302bf9550f26fd7a16034dc19899d2523e2211040332cc7ffd14927b9b6af7fdd577ab65e2a5f5c7d0b2b7156b1e2812d40bb4dc0d2ca04c6fc53cc xsecurelock-1.9.0.tar.gz
+"
diff --git a/testing/xsoldier/APKBUILD b/testing/xsoldier/APKBUILD
index 6346fcf715b..eb421c87337 100644
--- a/testing/xsoldier/APKBUILD
+++ b/testing/xsoldier/APKBUILD
@@ -1,7 +1,7 @@
# Maintainer: Antoni Aloy <aaloytorrens@gmail.com>
pkgname=xsoldier
pkgver=1.8
-pkgrel=0
+pkgrel=1
pkgdesc="A space-based shoot'em up game"
url="http://www.interq.or.jp/libra/oohara/xsoldier/"
arch="all"
diff --git a/testing/xsv/APKBUILD b/testing/xsv/APKBUILD
deleted file mode 100644
index cc75160f3d1..00000000000
--- a/testing/xsv/APKBUILD
+++ /dev/null
@@ -1,28 +0,0 @@
-# Contributor: guddaff <guddaff@protonmail.com>
-# Maintainer: guddaff <guddaff@protonmail.com>
-pkgname=xsv
-pkgver=0.13.0
-pkgrel=0
-pkgdesc="CSV command line toolkit"
-url="https://github.com/BurntSushi/xsv"
-arch="x86_64 armv7 armhf aarch64 x86 " # limited by rust/carg and dosn't build on ppc64le
-license="Unlicense"
-makedepends="cargo"
-source="$pkgname-$pkgver.tar.gz::https://github.com/BurntSushi/xsv/archive/refs/tags/$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-}
-
-sha512sums="
-a0c9b914071514f6dd1fc19759ff88b7d457979385dd169350d27b0ee464fd21e7165bd81e769487d12ac63c46f78e1af684e690a7126ab9a2c336cee4aa6095 xsv-0.13.0.tar.gz
-"
diff --git a/testing/xtensor/APKBUILD b/testing/xtensor/APKBUILD
new file mode 100644
index 00000000000..d882124a496
--- /dev/null
+++ b/testing/xtensor/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
+pkgname=xtensor
+pkgver=0.24.7
+pkgrel=0
+pkgdesc="C++ tensors with broadcasting and lazy computing"
+url="https://github.com/xtensor-stack/xensor"
+arch="noarch !s390x" # test failure on s390x
+license="BSD-3-Clause"
+makedepends="cmake samurai doctest-dev xtl nlohmann-json"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xtensor-stack/xtensor/archive/refs/tags/$pkgver.tar.gz"
+
+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 \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DBUILD_TESTS="$(want_check && echo ON || echo OFF)" \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+
+sha512sums="
+1b2683225a400e2ed06679eedc13c001be80163afb8b42918091670995c04f26ef03ffa9ef72ec7fe6c9d4c1aa88df9ad17698abe5ccd8b19a057ebc10956594 xtensor-0.24.7.tar.gz
+"
diff --git a/testing/xtitle/APKBUILD b/testing/xtitle/APKBUILD
index c1a1393ed6d..4c3bf4547f9 100644
--- a/testing/xtitle/APKBUILD
+++ b/testing/xtitle/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Camille Scholtz <onodera@openmailbox.org>
pkgname=xtitle
pkgver=0.4.4
-pkgrel=0
+pkgrel=1
pkgdesc="Outputs X window titles"
url="https://github.com/baskerville/xtitle"
arch="all"
diff --git a/testing/xtl/APKBUILD b/testing/xtl/APKBUILD
new file mode 100644
index 00000000000..ecabdb98631
--- /dev/null
+++ b/testing/xtl/APKBUILD
@@ -0,0 +1,37 @@
+# Maintainer: Simon Zeni <simon@bl4ckb0ne.ca>
+pkgname=xtl
+pkgver=0.7.7
+pkgrel=0
+pkgdesc="The x template library"
+url="https://github.com/xtensor-stack/xtl"
+arch="noarch"
+license="BSD-3-Clause"
+makedepends="cmake samurai doctest-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/xtensor-stack/xtl/archive/refs/tags/$pkgver.tar.gz"
+
+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 \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DBUILD_TESTS="$(want_check && echo ON || echo OFF)" \
+ $CMAKE_CROSSOPTS
+ cmake --build build
+}
+
+check() {
+ cd build
+ CTEST_OUTPUT_ON_FAILURE=TRUE ctest
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+
+sha512sums="
+07c2a68db3dbac556dbb0397e54792ddc7a3e87573bff04faa4262dc433b710392ff9c915d428f5abd1ae892ac9bc7744645e75fdb2bb2cee83c523e087c793e xtl-0.7.7.tar.gz
+"
diff --git a/testing/xva-img/APKBUILD b/testing/xva-img/APKBUILD
index b5d5c33085c..eeb50eebe22 100644
--- a/testing/xva-img/APKBUILD
+++ b/testing/xva-img/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer:
pkgname=xva-img
pkgver=1.4.2
-pkgrel=0
+pkgrel=1
pkgdesc="tool for converting XVA images"
url="https://github.com/eriklax/xva-img"
arch="all"
license="GPL-2.0-or-later"
-makedepends="openssl-dev cmake"
+makedepends="openssl-dev>3 cmake"
source="xva-img-$pkgver.tar.gz::https://github.com/eriklax/xva-img/archive/$pkgver.tar.gz"
build() {
diff --git a/testing/xvidtune/APKBUILD b/testing/xvidtune/APKBUILD
index e6464fad9a3..aa926aa2a5a 100644
--- a/testing/xvidtune/APKBUILD
+++ b/testing/xvidtune/APKBUILD
@@ -1,25 +1,22 @@
# Maintainer: Taner Tas <taner76@gmail.com>
pkgname=xvidtune
-pkgver="1.0.3"
+pkgver=1.0.4
pkgrel=0
-pkgdesc="A client interface to the X server video mode extension."
+pkgdesc="Client interface to the X server video mode extension"
url="https://xorg.freedesktop.org/"
arch="all"
license="MIT"
-makedepends="libx11-dev libxxf86vm-dev libxaw-dev libxmu-dev libxt-dev"
+makedepends="
+ libx11-dev
+ libxaw-dev
+ libxmu-dev
+ libxt-dev
+ libxxf86vm-dev
+ "
subpackages="$pkgname-doc"
-source="https://www.x.org/archive/individual/app/${pkgname}-${pkgver}.tar.bz2"
-
-prepare() {
- default_prepare
-
- cd "$builddir"
- chmod +w config.guess config.sub
- update_config_guess && update_config_sub
-}
+source="https://www.x.org/archive/individual/app/xvidtune-$pkgver.tar.xz"
build() {
- cd "$builddir"
./configure \
--prefix=/usr \
--sysconfdir=/etc \
@@ -28,14 +25,14 @@ build() {
make
}
-check(){
- cd "$builddir"
+check() {
make check
}
package() {
- cd "$builddir"
make DESTDIR="$pkgdir" install
}
-sha512sums="0f8a4fca1b544ef8f9623246fb0ece75739a0889f2e729c040cd768c595f0bbbfa3a665576369032535c34c7d55784a29b62f0d51432bf2b75d2cec619db7352 xvidtune-1.0.3.tar.bz2"
+sha512sums="
+747d5358f4f7d3d7db508c3f034711ce4b9dd278160d35312e9c4d1604623e84a2438d039b536546fd2df7db8c5ea1907e8a6101985fad2932b6dee5a62c7b80 xvidtune-1.0.4.tar.xz
+"
diff --git a/testing/xvkbd/APKBUILD b/testing/xvkbd/APKBUILD
index f2435d1ce40..037b4dba741 100644
--- a/testing/xvkbd/APKBUILD
+++ b/testing/xvkbd/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer:
pkgname=xvkbd
pkgver=4.1
-pkgrel=1
+pkgrel=2
pkgdesc="The xvkbd virtual keyboard for X11"
url="http://t-sato.in.coocan.jp/xvkbd/"
arch="all !riscv64" # imake does not support riscv64
diff --git a/testing/xwaylandvideobridge/APKBUILD b/testing/xwaylandvideobridge/APKBUILD
new file mode 100644
index 00000000000..5f0c6b22216
--- /dev/null
+++ b/testing/xwaylandvideobridge/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Bart Ribbers <bribbers@disroot.org>
+# Maintainer: team/kde <bribbers@disroot.org>
+
+# The group tag is just to easily find this APKBUILD by some scripts for automation
+# group=kde-other
+pkgname=xwaylandvideobridge
+pkgver=0.4.0
+pkgrel=1
+# armhf blocked by extra-cmake-modules
+arch="all !armhf"
+url="https://invent.kde.org/system/xwaylandvideobridge"
+pkgdesc="Utility to allow streaming Wayland windows to X applications"
+license="BSD-3-Clause AND LGPL-2.0-or-later"
+makedepends="
+ extra-cmake-modules
+ kcoreaddons-dev
+ ki18n-dev
+ knotifications-dev
+ kpipewire-dev
+ kstatusnotifieritem-dev
+ kwindowsystem-dev
+ qt6-qtbase-dev
+ samurai
+ "
+subpackages="$pkgname-lang"
+_repo_url="https://invent.kde.org/system/xwaylandvideobridge.git"
+source="https://download.kde.org/stable/xwaylandvideobridge/xwaylandvideobridge-$pkgver.tar.xz"
+
+install_if="xwayland xdg-desktop-portal-kde"
+
+build() {
+ cmake -B build -G Ninja \
+ -DBUILD_WITH_QT6=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+d0352b7ce94f1a355d8fd8f42a45436483a87d90da1904295f984012859651472eabbca39df5107793790d48474b6de1c8766e31461d1548134547cbc7dfd5a4 xwaylandvideobridge-0.4.0.tar.xz
+"
diff --git a/testing/xwiimote/0001-fix-32bit-build.patch b/testing/xwiimote/0001-fix-32bit-build.patch
deleted file mode 100644
index ae2e448b03c..00000000000
--- a/testing/xwiimote/0001-fix-32bit-build.patch
+++ /dev/null
@@ -1,166 +0,0 @@
-From e7636255592500b51a6294065d12d4bb18ac83e0 Mon Sep 17 00:00:00 2001
-From: Bart Ribbers <bribbers@disroot.org>
-Date: Tue, 28 Dec 2021 21:10:46 +0100
-Subject: [PATCH] Fix build on 32-bit platforms with time64 kernels
-
-On 32-bit arches input_event->time is undefined when using a time64
-kernel. Instead read the input_event_sec and input_event_usec values
-directly and save those instead
----
- lib/core.c | 45 ++++++++++++++++++++++++++++++---------------
- 1 file changed, 30 insertions(+), 15 deletions(-)
-
-diff --git a/lib/core.c b/lib/core.c
-index d6b6200..f348d81 100644
---- a/lib/core.c
-+++ b/lib/core.c
-@@ -941,7 +941,8 @@ static int read_core(struct xwii_iface *dev, struct xwii_event *ev)
- }
-
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- ev->type = XWII_EVENT_KEY;
- ev->v.key.code = key;
- ev->v.key.state = input.value;
-@@ -971,7 +972,8 @@ static int read_accel(struct xwii_iface *dev, struct xwii_event *ev)
-
- if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- memcpy(ev->v.abs, &dev->accel_cache, sizeof(dev->accel_cache));
- ev->type = XWII_EVENT_ACCEL;
- return 0;
-@@ -1013,7 +1015,8 @@ static int read_ir(struct xwii_iface *dev, struct xwii_event *ev)
-
- if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- memcpy(&ev->v.abs, dev->ir_cache, sizeof(dev->ir_cache));
- ev->type = XWII_EVENT_IR;
- return 0;
-@@ -1065,7 +1068,8 @@ static int read_mp(struct xwii_iface *dev, struct xwii_event *ev)
-
- if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
-
- ev->v.abs[0].x = dev->mp_cache.x - dev->mp_normalizer.x / 100;
- ev->v.abs[0].y = dev->mp_cache.y - dev->mp_normalizer.y / 100;
-@@ -1132,7 +1136,8 @@ static int read_nunchuk(struct xwii_iface *dev, struct xwii_event *ev)
- }
-
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- ev->type = XWII_EVENT_NUNCHUK_KEY;
- ev->v.key.code = key;
- ev->v.key.state = input.value;
-@@ -1150,7 +1155,8 @@ static int read_nunchuk(struct xwii_iface *dev, struct xwii_event *ev)
- dev->nunchuk_cache[1].z = input.value;
- } else if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- memcpy(&ev->v.abs, dev->nunchuk_cache,
- sizeof(dev->nunchuk_cache));
- ev->type = XWII_EVENT_NUNCHUK_MOVE;
-@@ -1238,7 +1244,8 @@ static int read_classic(struct xwii_iface *dev, struct xwii_event *ev)
- }
-
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- ev->type = XWII_EVENT_CLASSIC_CONTROLLER_KEY;
- ev->v.key.code = key;
- ev->v.key.state = input.value;
-@@ -1258,7 +1265,8 @@ static int read_classic(struct xwii_iface *dev, struct xwii_event *ev)
- dev->classic_cache[2].x = input.value;
- } else if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- memcpy(&ev->v.abs, dev->classic_cache,
- sizeof(dev->classic_cache));
- ev->type = XWII_EVENT_CLASSIC_CONTROLLER_MOVE;
-@@ -1292,7 +1300,8 @@ static int read_bboard(struct xwii_iface *dev, struct xwii_event *ev)
-
- if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- memcpy(&ev->v.abs, dev->bboard_cache,
- sizeof(dev->bboard_cache));
- ev->type = XWII_EVENT_BALANCE_BOARD;
-@@ -1421,7 +1430,8 @@ static int read_pro(struct xwii_iface *dev, struct xwii_event *ev)
- }
-
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- ev->type = XWII_EVENT_PRO_CONTROLLER_KEY;
- ev->v.key.code = key;
- ev->v.key.state = input.value;
-@@ -1437,7 +1447,8 @@ static int read_pro(struct xwii_iface *dev, struct xwii_event *ev)
- dev->pro_cache[1].y = input.value;
- } else if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- memcpy(&ev->v.abs, dev->pro_cache,
- sizeof(dev->pro_cache));
- ev->type = XWII_EVENT_PRO_CONTROLLER_MOVE;
-@@ -1486,7 +1497,8 @@ static int read_drums(struct xwii_iface *dev, struct xwii_event *ev)
- }
-
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- ev->type = XWII_EVENT_DRUMS_KEY;
- ev->v.key.code = key;
- ev->v.key.state = input.value;
-@@ -1533,7 +1545,8 @@ static int read_drums(struct xwii_iface *dev, struct xwii_event *ev)
- dev->drums_cache[XWII_DRUMS_ABS_HI_HAT].x = input.value;
- } else if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- memcpy(&ev->v.abs, dev->drums_cache,
- sizeof(dev->drums_cache));
- ev->type = XWII_EVENT_DRUMS_MOVE;
-@@ -1623,7 +1636,8 @@ static int read_guitar(struct xwii_iface *dev, struct xwii_event *ev)
- }
-
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- ev->type = XWII_EVENT_GUITAR_KEY;
- ev->v.key.code = key;
- ev->v.key.state = input.value;
-@@ -1645,7 +1659,8 @@ static int read_guitar(struct xwii_iface *dev, struct xwii_event *ev)
- dev->guitar_cache[2].x = input.value;
- } else if (input.type == EV_SYN) {
- memset(ev, 0, sizeof(*ev));
-- memcpy(&ev->time, &input.time, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_sec, &input.input_event_sec, sizeof(struct timeval));
-+ memcpy(&ev->time.tv_usec, &input.input_event_usec, sizeof(struct timeval));
- memcpy(&ev->v.abs, dev->guitar_cache,
- sizeof(dev->guitar_cache));
- ev->type = XWII_EVENT_GUITAR_MOVE;
diff --git a/testing/xwiimote/APKBUILD b/testing/xwiimote/APKBUILD
deleted file mode 100644
index ceb146cdf7b..00000000000
--- a/testing/xwiimote/APKBUILD
+++ /dev/null
@@ -1,64 +0,0 @@
-# Contributor: Bart Ribbers <bribbers@disroot.org>
-# Maintainer: Bart Ribbers <bribbers@disroot.org>
-pkgname=xwiimote
-pkgver=2_git20131227
-pkgrel=0
-_commit="f2be57e24fc24652308840cec2ed702b9d1138df"
-pkgdesc="Open-source Nintendo Wii Remote Linux Device Driver"
-url="https://github.com/dvdhrm/xwiimote"
-# ppc64le fails to build
-arch="all !ppc64le"
-license="MIT"
-makedepends="
- autoconf
- automake
- doxygen
- eudev-dev
- libtool
- linux-headers
- ncurses-dev
- "
-subpackages="$pkgname-static $pkgname-dev $pkgname-doc lib$pkgname:libs"
-source="https://github.com/dvdhrm/xwiimote/archive/$_commit/xwiimote-$_commit.tar.gz
- 0001-fix-32bit-build.patch
- xwiimote.conf
- "
-builddir="$srcdir/$pkgname-$_commit"
-
-prepare() {
- default_prepare
-
- NOCONFIGURE=1 ./autogen.sh
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-libs() {
- default_libs
-
- install -Dm644 -t "$subpkgdir"/usr/share/X11/xorg.conf.d "$builddir"/res/50-xorg-fix-xwiimote.conf
- install -Dm644 -t "$subpkgdir"/etc/modules-load.d "$srcdir"/xwiimote.conf
-}
-
-sha512sums="
-f7bca448c81615225298bad786967f56579d2b93cb40063be9c4d37066891747f91d50e18e135ed932496f22ef4c8030ea206a7b7c4c3316e272afe764b0afce xwiimote-f2be57e24fc24652308840cec2ed702b9d1138df.tar.gz
-a47edd713725ac4b2327f37f4be4ae3717b8e1a715a4fb12bab0a4b8ffe0d64f7a4033f6176f07dd1776004564064f0373ae1ae2cfd1bd3f416ec2e41a7d9126 0001-fix-32bit-build.patch
-ce1caa65cb231e9c2584bad8e7b8bb50ac3716ba6feb0d10a8fd271c401bc5a440c988b92f3321c5976a5ab5edf7ec8c5195d115f1c4c6ac9471f2a52a784e23 xwiimote.conf
-"
diff --git a/testing/xwiimote/xwiimote.conf b/testing/xwiimote/xwiimote.conf
deleted file mode 100644
index 751f1eaf4a6..00000000000
--- a/testing/xwiimote/xwiimote.conf
+++ /dev/null
@@ -1 +0,0 @@
-hid-wiimote
diff --git a/testing/yaegi/APKBUILD b/testing/yaegi/APKBUILD
new file mode 100644
index 00000000000..7c8f1fabdb3
--- /dev/null
+++ b/testing/yaegi/APKBUILD
@@ -0,0 +1,45 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=yaegi
+pkgver=0.16.0
+pkgrel=2
+pkgdesc="Elegant Go interpreter"
+url="https://github.com/traefik/yaegi"
+# 32bit: TestEvalBuiltin test fails
+# riscv64: interp tests time out
+arch="all !x86 !armhf !armv7 !riscv64"
+license="Apache-2.0"
+makedepends="go"
+source="$pkgname-$pkgver.tar.gz::https://github.com/traefik/yaegi/archive/refs/tags/v$pkgver.tar.gz"
+# Required to pass tests.
+# Ref: https://github.com/traefik/yaegi/issues/1523#issuecomment-1465730351
+builddir="$srcdir/src/github.com/traefik/$pkgname"
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ export GOPATH="$srcdir"
+
+ mkdir -p "$(dirname $builddir)"
+ mv "$srcdir/$pkgname-$pkgver" "$builddir"/
+
+ default_prepare
+}
+
+build() {
+ go build -v -ldflags "-X main.version=v$pkgver" ./cmd/yaegi/
+}
+
+check() {
+ # extract_test.go:157: cannot find package "math"
+ GOFLAGS="${GOFLAGS/-trimpath/}" go test ./...
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+68962e276c64ec9b681d183b48f179960709397233e4062b8338d35adf526a3ac14ecb52d45e5f0a5aaada206b184bd650a917110db962522bc0b83afd3a60b7 yaegi-0.16.0.tar.gz
+"
diff --git a/testing/yamkix/APKBUILD b/testing/yamkix/APKBUILD
index 516adec0a46..daddb7bcc06 100644
--- a/testing/yamkix/APKBUILD
+++ b/testing/yamkix/APKBUILD
@@ -1,27 +1,49 @@
# Contributor: Galen Abell <galen@galenabell.com>
# Maintainer: Galen Abell <galen@galenabell.com>
pkgname=yamkix
-pkgver=0.9.0
-pkgrel=2
+pkgver=0.10.0
+pkgrel=1
pkgdesc="A python based yaml formatter"
url="https://github.com/looztra/yamkix"
arch="noarch"
license="Apache-2.0"
depends="python3 py3-ruamel.yaml"
-makedepends="py3-setuptools py3-wheel py3-pip"
-checkdepends="py3-pytest py3-pytest-runner"
+makedepends="py3-gpep517 py3-poetry-core py3-setuptools py3-wheel"
+checkdepends="py3-pytest"
+subpackages="$pkgname-pyc"
source="$pkgname-$pkgver.tar.gz::https://github.com/looztra/yamkix/archive/v$pkgver.tar.gz"
+[ "$CARCH" = "riscv64" ] && makedepends="$makedepends $checkdepends"
+
+prepare() {
+ default_prepare
+
+ # Use normal poetry build backend instead of poetry-dynamic-versioning.
+ sed -i "s/^__version__ = .*/__version__ = \"$pkgver\"/" \
+ src/yamkix/__init__.py
+ sed -i \
+ -e "s/^version = .*/version = \"$pkgver\"/" \
+ -e "s/^build-backend = .*/build-backend = \"poetry.core.masonry.api\"/" \
+ pyproject.toml
+}
+
build() {
- python3 setup.py build
+ gpep517 build-wheel \
+ --wheel-dir .dist \
+ --output-fd 3 3>&1 >&2
}
check() {
- python3 setup.py test
+ python3 -m venv --clear --without-pip --system-site-packages .testenv
+ .testenv/bin/python3 -m installer .dist/*.whl
+ .testenv/bin/python3 -m pytest
}
package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
+ python3 -m installer -d "$pkgdir" \
+ .dist/*.whl
}
-sha512sums="5905a1849efc2b469a72fd274d984545bccfa0a0badb86dc69682171435188bf02b094604b768937c3b4423572f218bea72017db34d5daf0a3f2e4f94618a414 yamkix-0.9.0.tar.gz"
+sha512sums="
+3f15ebc687b95c1b44c31146032713d51a87933bc3d10b4c44668a217e99b49e3ac26914434f6885bbdad58e8234a7eb6517b44097a832477b507a9697341ec1 yamkix-0.10.0.tar.gz
+"
diff --git a/testing/yara/APKBUILD b/testing/yara/APKBUILD
deleted file mode 100644
index 78aa981bfa1..00000000000
--- a/testing/yara/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Maintainer: Daniel Isaksen <d@duniel.no>
-pkgname=yara
-pkgver=4.1.2
-pkgrel=0
-pkgdesc="The pattern matching swiss knife for malware researchers"
-url="https://virustotal.github.io/yara/"
-arch="all !armhf !armv7" # armhf: tests fail
-license="BSD-3-Clause"
-makedepends="automake file-dev openssl-dev autoconf libtool flex"
-source="$pkgname-$pkgver.tar.gz::https://github.com/VirusTotal/yara/archive/v$pkgver.tar.gz
-remove-test-rules.patch"
-subpackages="$pkgname-doc"
-
-prepare() {
- default_prepare
- autoreconf -fiv
-}
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --with-crypto \
- --enable-magic
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
- install -Dm 644 COPYING "$pkgdir/usr/share/licenses/$pkgname"/COPYING
- install -Dm 644 README.md "$pkgdir/usr/share/doc/$pkgname"/README.md
- cp -r docs "$pkgdir/usr/share/doc/$pkgname"
-}
-
-sha512sums="
-ea170672e15033fe587cc7c706176b00f447110fdbb0c3921db7521c7931ab77deeb4e634a96c0d8ef797e6a9f2f29355a63d70c8805c51cf062bea69de06cfd yara-4.1.2.tar.gz
-dd3de272614fdfe2ee4658eacacdc54213af44879c1756f2432294221f5fba23e8de028da43f1d47e69c9209266f7d49a6619d7e1af9ef71bc14d07549ad3df1 remove-test-rules.patch
-"
diff --git a/testing/yara/remove-test-rules.patch b/testing/yara/remove-test-rules.patch
deleted file mode 100644
index 6d8444f451d..00000000000
--- a/testing/yara/remove-test-rules.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 062b77f..5bde105 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -33,8 +33,6 @@ test_arena_SOURCES = tests/test-arena.c
- test_arena_LDADD = libyara/.libs/libyara.a
- test_atoms_SOURCES = tests/test-atoms.c tests/util.c libyara/atoms.c
- test_atoms_LDADD = libyara/.libs/libyara.a
--test_rules_SOURCES = tests/test-rules.c tests/util.c
--test_rules_LDADD = libyara/.libs/libyara.a
- test_pe_SOURCES = tests/test-pe.c tests/util.c
- test_pe_LDADD = libyara/.libs/libyara.a
- test_elf_SOURCES = tests/test-elf.c tests/util.c
-@@ -59,7 +57,6 @@ check_PROGRAMS = \
- test-alignment \
- test-atoms \
- test-api \
-- test-rules \
- test-pe \
- test-elf \
- test-version \
diff --git a/testing/yarr/APKBUILD b/testing/yarr/APKBUILD
new file mode 100644
index 00000000000..9bf86b1b66d
--- /dev/null
+++ b/testing/yarr/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=yarr
+pkgver=2.4
+pkgrel=5
+pkgdesc="Yarr is a web-based feed aggregator which can be used both as a desktop application and a personal self-hosted server"
+url="https://github.com/nkanaev/yarr/"
+# fails tests on 32-bit
+arch="all !x86 !armhf !armv7"
+license="MIT"
+makedepends="go sqlite-dev"
+install="$pkgname.pre-install"
+subpackages="$pkgname-doc $pkgname-openrc"
+source="https://github.com/nkanaev/yarr/archive/refs/tags/v$pkgver/yarr-$pkgver.tar.gz
+ yarr.initd
+ yarr.confd
+ "
+
+build() {
+ go build -tags "sqlite_foreign_keys libsqlite3 release" -ldflags="-X 'main.Version=$pkgver'" -o yarr src/main.go
+}
+
+check() {
+ cd src
+ go test -tags "sqlite_foreign_keys libsqlite3 release" ./...
+
+}
+
+package() {
+ install -m755 -D yarr "$pkgdir"/usr/bin/"$pkgname"
+
+ install -m755 -D "$srcdir"/$pkgname.initd \
+ "$pkgdir"/etc/init.d/$pkgname
+ install -m644 -D "$srcdir"/$pkgname.confd \
+ "$pkgdir"/etc/conf.d/$pkgname
+
+ mkdir -p "$pkgdir"/usr/share/doc/"$pkgname"
+ cp -a doc "$pkgdir"/usr/share/doc/"$pkgname"
+}
+
+sha512sums="
+8a45012453db6ff5df3256b5bdf384fe426fb5ca408d9167669f28c7d948c3d94c7fc4b796d08b1d45c74e0df9e96b14ef16a0fa2a320d87510b49f92ccae849 yarr-2.4.tar.gz
+9373b444bd679b98b429fe935e6c397057cc834db477f3c2e1d75b07a8e5a8634de2a2159fa9157c479d1d1856cfa770e73328e58ce07ba2cb92d7ab7f1fe827 yarr.initd
+e2858394556bf6497969354c2a2c0514c334e3d745d0425fc606b44fdc68013a25df093160b6d6fcbec8e98ee623a3add0e51d8d9664397e27dc36f33d965be4 yarr.confd
+"
diff --git a/testing/yarr/yarr.confd b/testing/yarr/yarr.confd
new file mode 100755
index 00000000000..335b389fae4
--- /dev/null
+++ b/testing/yarr/yarr.confd
@@ -0,0 +1,12 @@
+output_log=/var/log/yarr.log
+error_log=/var/log/yarr.log
+
+export YARR_ADDR=0.0.0.0:7070
+export YARR_DB=/var/lib/yarr/yarr.db
+
+# uncomment and configure for serving over https
+# export YARR_CERTFILE=
+# export YARR_KEYFILE=
+
+# File containing username and password, not required
+# export YARR_AUTHFILE=
diff --git a/testing/yarr/yarr.initd b/testing/yarr/yarr.initd
new file mode 100755
index 00000000000..3a7b6fe0ac9
--- /dev/null
+++ b/testing/yarr/yarr.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+
+name=yarr
+command="/usr/bin/yarr"
+command_user="yarr:yarr"
+command_background=true
+pidfile="/run/$RC_SVCNAME.pid"
+
+depend() {
+ need net localmount
+ after firewall
+}
+
+start_pre() {
+ checkpath -f "$output_log" -o "$command_user"
+ checkpath -f "$error_log" -o "$command_user"
+}
diff --git a/testing/yarr/yarr.pre-install b/testing/yarr/yarr.pre-install
new file mode 100755
index 00000000000..c4cbf48eee6
--- /dev/null
+++ b/testing/yarr/yarr.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S yarr 2>/dev/null
+adduser -S -D -h /var/lib/yarr -s /sbin/nologin -G yarr -g yarr yarr 2>/dev/null
+
+exit 0
diff --git a/testing/yaru-common/APKBUILD b/testing/yaru-common/APKBUILD
new file mode 100644
index 00000000000..d0232b74216
--- /dev/null
+++ b/testing/yaru-common/APKBUILD
@@ -0,0 +1,334 @@
+# Contributor: Leo <thinkabit.ukim@gmail.com>
+# Maintainer: Brandon Boese <brandonboese@protonmail.com>
+pkgname=yaru-common
+_pkgname=yaru
+pkgver=23.10.0
+_minorpkgver=-0ubuntu2
+pkgrel=0
+pkgdesc="Ubuntu community theme"
+options="!check" # No testsuite
+url="https://community.ubuntu.com/c/desktop/theme-refresh"
+arch="noarch"
+license="GPL-3.0-or-later AND CC-BY-SA-4.0"
+makedepends="
+ bash
+ coreutils
+ dbus
+ glib-dev
+ meson
+ sassc
+ xvfb-run
+ "
+subpackages="
+ $_pkgname-icon-theme-bark:_icon_theme_bark
+ $_pkgname-icon-theme-blue:_icon_theme_blue
+ $_pkgname-icon-theme-magenta:_icon_theme_magenta
+ $_pkgname-icon-theme-mate:_icon_theme_mate
+ $_pkgname-icon-theme-olive:_icon_theme_olive
+ $_pkgname-icon-theme-prussiangreen:_icon_theme_prussiangreen
+ $_pkgname-icon-theme-purple:_icon_theme_purple
+ $_pkgname-icon-theme-red:_icon_theme_red
+ $_pkgname-icon-theme-sage:_icon_theme_sage
+ $_pkgname-icon-theme-viridian:_icon_theme_viridian
+ $_pkgname-icon-theme:_icon_theme
+ $_pkgname-schemas:_schemas
+ $_pkgname-shell:_shell
+ $_pkgname-sounds:_sounds
+ $_pkgname-theme-bark:_theme_bark
+ $_pkgname-theme-blue:_theme_blue
+ $_pkgname-theme-hdpi:_theme_hdpi
+ $_pkgname-theme-magenta:_theme_magenta
+ $_pkgname-theme-mate:_theme_mate
+ $_pkgname-theme-olive:_theme_olive
+ $_pkgname-theme-prussiangreen:_theme_prussiangreen
+ $_pkgname-theme-purple:_theme_purple
+ $_pkgname-theme-red:_theme_red
+ $_pkgname-theme-sage:_theme_sage
+ $_pkgname-theme-viridian:_theme_viridian
+ $_pkgname-theme:_theme
+ "
+source="$_pkgname-$pkgver.tar.gz::https://github.com/ubuntu/yaru/archive/$pkgver$_minorpkgver.tar.gz"
+builddir="$srcdir/$_pkgname-$pkgver$_minorpkgver"
+
+build() {
+ abuild-meson \
+ -Dmate=true \
+ -Dmate-dark=true \
+ -Dubuntu-unity=true \
+ -Dxfwm4=true \
+ -Dcinnamon=true \
+ -Dcinnamon-dark=true \
+ -Dcinnamon-shell=true \
+ . output
+ meson compile -C output
+}
+
+package() {
+ DESTDIR="$pkgdir" meson install --no-rebuild -C output
+}
+
+_icon_theme_bark() {
+ depends=""
+ pkgdesc="Bark variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-bark "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-bark-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_bark() {
+ depends="yaru-common"
+ pkgdesc="Bark variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-bark \
+ "$subpkgdir"/usr/share/themes/Yaru-bark
+ mv "$pkgdir"/usr/share/themes/Yaru-bark-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-bark-dark
+}
+
+_icon_theme_blue() {
+ depends=""
+ pkgdesc="Blue variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-blue "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-blue-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_blue() {
+ depends="yaru-common"
+ pkgdesc="Blue variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-blue \
+ "$subpkgdir"/usr/share/themes/Yaru-blue
+ mv "$pkgdir"/usr/share/themes/Yaru-blue-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-blue-dark
+}
+
+_theme_hdpi() {
+ depends="yaru-common"
+ pkgdesc="Hdpi variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-hdpi \
+ "$subpkgdir"/usr/share/themes/Yaru-hdpi
+ mv "$pkgdir"/usr/share/themes/Yaru-dark-hdpi \
+ "$subpkgdir"/usr/share/themes/Yaru-dark-hdpi
+ mv "$pkgdir"/usr/share/themes/Yaru-xhdpi \
+ "$subpkgdir"/usr/share/themes/Yaru-xhdpi
+ mv "$pkgdir"/usr/share/themes/Yaru-dark-xhdpi \
+ "$subpkgdir"/usr/share/themes/Yaru-dark-xhdpi
+}
+
+_icon_theme_magenta() {
+ depends=""
+ pkgdesc="Magenta variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-magenta "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-magenta-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_magenta() {
+ depends="yaru-common"
+ pkgdesc="Magenta variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-magenta \
+ "$subpkgdir"/usr/share/themes/Yaru-magenta
+ mv "$pkgdir"/usr/share/themes/Yaru-magenta-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-magenta-dark
+}
+
+_icon_theme_mate() {
+ depends=""
+ pkgdesc="Mate variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-mate "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-mate-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_mate() {
+ depends="yaru-common"
+ pkgdesc="Mate variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-mate \
+ "$subpkgdir"/usr/share/themes/Yaru-mate
+ mv "$pkgdir"/usr/share/themes/Yaru-mate-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-mate-dark
+}
+
+_icon_theme_olive() {
+ depends=""
+ pkgdesc="Olive variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-olive "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-olive-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_olive() {
+ depends="yaru-common"
+ pkgdesc="Olive variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-olive \
+ "$subpkgdir"/usr/share/themes/Yaru-olive
+ mv "$pkgdir"/usr/share/themes/Yaru-olive-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-olive-dark
+}
+
+_icon_theme_prussiangreen() {
+ depends=""
+ pkgdesc="Prussian green variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-prussiangreen "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-prussiangreen-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_prussiangreen() {
+ depends="yaru-common"
+ pkgdesc="Prussian green variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-prussiangreen \
+ "$subpkgdir"/usr/share/themes/Yaru-prussiangreen
+ mv "$pkgdir"/usr/share/themes/Yaru-prussiangreen-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-prussiangreen-dark
+}
+
+_icon_theme_purple() {
+ depends=""
+ pkgdesc="Purple variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-purple "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-purple-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_purple() {
+ depends="yaru-common"
+ pkgdesc="Purple variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-purple \
+ "$subpkgdir"/usr/share/themes/Yaru-purple
+ mv "$pkgdir"/usr/share/themes/Yaru-purple-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-purple-dark
+}
+
+_icon_theme_red() {
+ depends=""
+ pkgdesc="Red variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-red "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-red-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_red() {
+ depends="yaru-common"
+ pkgdesc="Red variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-red \
+ "$subpkgdir"/usr/share/themes/Yaru-red
+ mv "$pkgdir"/usr/share/themes/Yaru-red-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-red-dark
+}
+
+_icon_theme_sage() {
+ depends=""
+ pkgdesc="Sage variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-sage "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-sage-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_sage() {
+ depends="yaru-common"
+ pkgdesc="Sage variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-sage \
+ "$subpkgdir"/usr/share/themes/Yaru-sage
+ mv "$pkgdir"/usr/share/themes/Yaru-sage-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-sage-dark
+}
+
+_icon_theme_viridian() {
+ depends=""
+ pkgdesc="Viridian variant of Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-viridian "$subpkgdir"/usr/share/icons
+ mv "$pkgdir"/usr/share/icons/Yaru-viridian-dark "$subpkgdir"/usr/share/icons
+}
+
+_theme_viridian() {
+ depends="yaru-common"
+ pkgdesc="Viridian variant of Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share/themes
+ mv "$pkgdir"/usr/share/themes/Yaru-viridian \
+ "$subpkgdir"/usr/share/themes/Yaru-viridian
+ mv "$pkgdir"/usr/share/themes/Yaru-viridian-dark \
+ "$subpkgdir"/usr/share/themes/Yaru-viridian-dark
+}
+
+_schemas() {
+ depends="yaru-common yaru-icon-theme yaru-theme"
+ pkgdesc="Schema files for Yaru theme"
+
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/glib-2.0 "$subpkgdir"/usr/share
+}
+
+_shell() {
+ depends="yaru-common yaru-icon-theme yaru-schemas yaru-sounds yaru-theme"
+ pkgdesc="Yaru shell theme for the GNOME Desktop Environment"
+
+ install_if="yaru-common=$pkgver-r$pkgrel gnome-shell"
+
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/gnome-shell "$subpkgdir"/usr/share
+
+ mv "$pkgdir"/usr/share/wayland-sessions \
+ "$pkgdir"/usr/share/xsessions \
+ "$subpkgdir"/usr/share
+}
+
+_sounds() {
+ depends=""
+ pkgdesc="Yaru sound resources"
+
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/sounds "$subpkgdir"/usr/share
+}
+
+_icon_theme() {
+ depends=""
+ pkgdesc="Yaru icon theme"
+
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/icons "$subpkgdir"/usr/share
+}
+
+_theme() {
+ depends="yaru-common"
+ pkgdesc="Yaru, the Ubuntu community theme"
+
+ mkdir -p "$subpkgdir"/usr/share
+ mv "$pkgdir"/usr/share/themes \
+ "$subpkgdir"/usr/share
+}
+
+sha512sums="
+4047df97026d79f4fcd541a0afea6c39294956761c9face9d5506cd188b05b52c6d627d2e25226bce09a6dcb682f4e1aff7411dc69ae4770c8cd9c19783f30de yaru-23.10.0.tar.gz
+"
diff --git a/testing/yass/APKBUILD b/testing/yass/APKBUILD
new file mode 100644
index 00000000000..c6a5f0df239
--- /dev/null
+++ b/testing/yass/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=yass
+pkgver=2.5.0
+pkgrel=0
+pkgdesc="Karaoke Editor"
+url="https://yass-along.com/"
+# blocked by openjdk11-jre-headless
+arch="all !x86 !armhf !armv7 !riscv64"
+license="GPL-3.0-or-later"
+depends="openjdk11-jre"
+makedepends="apache-ant openjdk8"
+source="https://github.com/SarutaSan72/Yass/archive/refs/tags/$pkgver/yass-$pkgver.tar.gz
+ yass
+ "
+builddir="$srcdir/Yass-$pkgver"
+options="!check" # no tests provided
+
+build() {
+ JAVA_HOME="/usr/lib/jvm/java-8-openjdk" ant -f build-jar.xml compile jar
+}
+
+package() {
+ install -Dm644 "$builddir"/release/yass-$pkgver.jar "$pkgdir"/usr/share/yass/yass.jar
+ install -Dm755 "$srcdir"/yass "$pkgdir"/usr/bin/yass
+}
+
+sha512sums="
+0d64caf7c34b0bb16473025941baff8f91573020cddea7a128386159f0580b955361a0afdd31c00a64779f360b4f46131ee43384011f8d09d25c831341cbd2fd yass-2.5.0.tar.gz
+7f8fb663aeef66e1659ac3e4bafa0aec9074e4caa2bf7894be28e33a6efbea1199cb47d19068f6637269636c8ab5e254486fad2113fad854d70df0dc78b7a305 yass
+"
diff --git a/testing/yass/build.xml b/testing/yass/build.xml
new file mode 100644
index 00000000000..c3246dfe799
--- /dev/null
+++ b/testing/yass/build.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+
+<project default="jar" name="Create Yass Executables">
+ <!-- setup -->
+ <property name="yass.version" value="2.3.0" />
+
+ <!-- javac -sourcepath src -classpath resources -d bin.old **/*.java -->
+ <target name="compile">
+ <mkdir dir="bin"/>
+ <javac srcdir="src" destdir="bin" classpath="resources"/>
+ </target>
+
+ <target name="jar" depends="compile">
+ <jar destfile="./release/yass-${yass.version}.jar" filesetmanifest="mergewithoutmain">
+ <manifest>
+ <attribute name="Main-Class" value="yass.YassMain"/>
+ <attribute name="Class-Path" value="."/>
+ </manifest>
+ <fileset dir="./bin"/>
+ <fileset dir="./resources"/>
+ <fileset dir="./src" excludes="**/*.java"/>
+ </jar>
+ </target>
+</project>
diff --git a/testing/yass/yass b/testing/yass/yass
new file mode 100644
index 00000000000..1d8bd42455d
--- /dev/null
+++ b/testing/yass/yass
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+/usr/lib/jvm/java-11-openjdk/bin/java -jar /usr/share/yass/yass.jar "$@"
diff --git a/testing/yazi/APKBUILD b/testing/yazi/APKBUILD
new file mode 100644
index 00000000000..f135367246c
--- /dev/null
+++ b/testing/yazi/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=yazi
+pkgver=0.2.4
+pkgrel=1
+pkgdesc="Blazing fast terminal file manager written in Rust, based on async I/O"
+url="https://yazi-rs.github.io"
+arch="all"
+license="MIT"
+makedepends="
+ cargo
+ cargo-auditable
+ lua5.4-dev
+"
+subpackages="$pkgname-doc
+ $pkgname-bash-completion
+ $pkgname-fish-completion
+ $pkgname-zsh-completion
+"
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/sxyazi/yazi/archive/refs/tags/v$pkgver.tar.gz
+ system-lua.patch
+"
+options="net"
+
+prepare() {
+ default_prepare
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ YAZI_GEN_COMPLETIONS=true cargo auditable build --release --frozen
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ install -Dm755 target/release/yazi "$pkgdir"/usr/bin/yazi
+ install -Dm644 yazi-boot/completions/yazi.bash "$pkgdir"/usr/share/bash-completion/completions/yazi
+ install -Dm644 yazi-boot/completions/yazi.fish "$pkgdir"/usr/share/fish/vendor_completions.d/yazi.fish
+ install -Dm644 yazi-boot/completions/_yazi "$pkgdir"/usr/share/zsh/site-functions/_yazi
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
+}
+
+sha512sums="
+185d0b35489907fae68b41381fbbbdcdded7536d6084bbd897e0c49f19e2e999b7a98537a840adbf768995af793727ad6607f026df5de2263c6469c72eac5e5a yazi-0.2.4.tar.gz
+6aea3e201908144142ae2b8bf21c1c8bef8721ed876ca77749742a87d6d5ace0bb2266e016c2656d72a92cae13cb82d14b4683ed8393622c79b93966606e9bb2 system-lua.patch
+"
diff --git a/testing/yazi/system-lua.patch b/testing/yazi/system-lua.patch
new file mode 100644
index 00000000000..7be8002f98a
--- /dev/null
+++ b/testing/yazi/system-lua.patch
@@ -0,0 +1,154 @@
+--- a/yazi-fm/Cargo.toml
++++ b/yazi-fm/Cargo.toml
+@@ -23,7 +23,7 @@
+ crossterm = { version = "^0", features = [ "event-stream" ] }
+ fdlimit = "^0"
+ futures = "^0"
+-mlua = { version = "^0", features = [ "lua54", "vendored" ] }
++mlua = { version = "^0", features = [ "lua54" ] }
+ ratatui = "^0"
+ tokio = { version = "^1", features = [ "parking_lot" ] }
+ unicode-width = "^0"
+--- a/yazi-plugin/Cargo.toml
++++ b/yazi-plugin/Cargo.toml
+@@ -19,7 +19,7 @@
+ crossterm = "^0"
+ futures = "^0"
+ md-5 = "^0"
+-mlua = { version = "^0", features = [ "lua54", "vendored", "serialize", "macros", "async" ] }
++mlua = { version = "^0", features = [ "lua54", "serialize", "macros", "async" ] }
+ parking_lot = "^0"
+ ratatui = "^0"
+ serde = "^1"
+--- a/yazi-proxy/Cargo.toml
++++ b/yazi-proxy/Cargo.toml
+@@ -14,5 +14,5 @@
+
+ # External dependencies
+ anyhow = "^1"
+-mlua = { version = "^0", features = [ "lua54", "vendored" ] }
++mlua = { version = "^0", features = [ "lua54" ] }
+ tokio = { version = "^1", features = [ "parking_lot" ] }
++++ a/Cargo.lock
+--- b/Cargo.lock
+@@ -611,16 +611,6 @@
+ ]
+
+ [[package]]
+-name = "errno"
+-version = "0.3.8"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245"
+-dependencies = [
+- "libc",
+- "windows-sys 0.52.0",
+-]
+-
+-[[package]]
+ name = "error-code"
+ version = "2.3.1"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -896,15 +886,6 @@
+ checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
+
+ [[package]]
+-name = "home"
+-version = "0.5.9"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "e3d1354bf6b7235cb4a0576c2619fd4ed18183f689b12b006a0ee7329eeff9a5"
+-dependencies = [
+- "windows-sys 0.52.0",
+-]
+-
+-[[package]]
+ name = "iana-time-zone"
+ version = "0.1.60"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1104,12 +1085,6 @@
+ ]
+
+ [[package]]
+-name = "linux-raw-sys"
+-version = "0.4.13"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c"
+-
+-[[package]]
+ name = "lock_api"
+ version = "0.4.11"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1135,25 +1110,6 @@
+ ]
+
+ [[package]]
+-name = "lua-src"
+-version = "546.0.2"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "2da0daa7eee611a4c30c8f5ee31af55266e26e573971ba9336d2993e2da129b2"
+-dependencies = [
+- "cc",
+-]
+-
+-[[package]]
+-name = "luajit-src"
+-version = "210.5.6+9cc2e42"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "23b365d859c9ffc187f48bb3e25ec80c3b40cf3f68f53544f4adeaee70554157"
+-dependencies = [
+- "cc",
+- "which",
+-]
+-
+-[[package]]
+ name = "malloc_buf"
+ version = "0.0.6"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -1232,8 +1188,6 @@
+ dependencies = [
+ "cc",
+ "cfg-if",
+- "lua-src",
+- "luajit-src",
+ "pkg-config",
+ ]
+
+@@ -1651,19 +1605,6 @@
+ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
+
+ [[package]]
+-name = "rustix"
+-version = "0.38.31"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "6ea3e1a662af26cd7a3ba09c0297a31af215563ecf42817c98df621387f4e949"
+-dependencies = [
+- "bitflags 2.4.2",
+- "errno",
+- "libc",
+- "linux-raw-sys",
+- "windows-sys 0.52.0",
+-]
+-
+-[[package]]
+ name = "rustversion"
+ version = "1.0.14"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+@@ -2426,19 +2367,6 @@
+ version = "0.1.8"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+ checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
+-
+-[[package]]
+-name = "which"
+-version = "6.0.0"
+-source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "7fa5e0c10bf77f44aac573e498d1a82d5fbd5e91f6fc0a99e7be4b38e85e101c"
+-dependencies = [
+- "either",
+- "home",
+- "once_cell",
+- "rustix",
+- "windows-sys 0.52.0",
+-]
+
+ [[package]]
+ name = "winapi"
diff --git a/testing/ydcv/APKBUILD b/testing/ydcv/APKBUILD
index ce705a52753..385bc97f59b 100644
--- a/testing/ydcv/APKBUILD
+++ b/testing/ydcv/APKBUILD
@@ -1,33 +1,20 @@
# Contributor: Ivan Tham <pickfire@riseup.net>
-# Maintainer: Ivan Tham <pickfire@riseup.net>
+# Maintainer:
pkgname=ydcv
pkgver=0.7
-pkgrel=3
+pkgrel=7
pkgdesc="YouDao Console Version - Chinese online translate"
url="https://github.com/felixonmars/ydcv"
arch="noarch"
license="GPL-3.0-only"
depends="python3"
-makedepends="py3-setuptools"
-subpackages="$pkgname-zsh-completion"
+makedepends="py3-setuptools py3-setuptools_scm"
+subpackages="$pkgname-zsh-completion $pkgname-pyc"
source="ydcv-$pkgver.tar.gz::https://github.com/felixonmars/ydcv/archive/$pkgver.tar.gz"
options="!check"
-prepare() {
- default_prepare
-
- # 1. Remove setuptools_scm dependency
- # 2. replace version= with our $pkgver
- # 3. remove use_scm_version
- # 4. remove setup_requires that references itself
- sed -e '/setuptools_scm/d' \
- -e "s/version=.*/version='$pkgver',/" \
- -e '/use_scm_version/d' \
- -e '/setup_requires=setup_requires/d' \
- -i setup.py
-}
-
build() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=$pkgver
python3 setup.py build
}
@@ -36,4 +23,7 @@ package() {
install -Dm644 "$builddir"/contrib/zsh_completion \
-t "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
}
-sha512sums="04277b2cc586bf19b0cd8cb52c0287ac75b235f72cbab19358a962f14de74f042cc90da1ec7ded06e3ce07a4694a6511599ce9213485ed0e4d40a84d296663bf ydcv-0.7.tar.gz"
+
+sha512sums="
+04277b2cc586bf19b0cd8cb52c0287ac75b235f72cbab19358a962f14de74f042cc90da1ec7ded06e3ce07a4694a6511599ce9213485ed0e4d40a84d296663bf ydcv-0.7.tar.gz
+"
diff --git a/testing/yices2/APKBUILD b/testing/yices2/APKBUILD
new file mode 100644
index 00000000000..70a6be0d242
--- /dev/null
+++ b/testing/yices2/APKBUILD
@@ -0,0 +1,44 @@
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=yices2
+pkgver=2.6.4
+pkgrel=0
+pkgdesc="Solver for Satisfiability Modulo Theories (SMT) problems"
+url="https://github.com/SRI-CSL/yices2"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="autoconf automake gperf gmp-dev"
+checkdepends="bash"
+subpackages="$pkgname-dev $pkgname-libs"
+source="https://github.com/SRI-CSL/yices2/archive/refs/tags/Yices-$pkgver/yices2-$pkgver.tar.gz"
+builddir="$srcdir/yices2-Yices-$pkgver"
+
+prepare() {
+ default_prepare
+ NOCONFIGURE=1 autoreconf -vfi
+}
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto" \
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --enable-thread-safety
+ make
+}
+
+check() {
+ make check
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+ rm "$pkgdir"/usr/lib/*.a
+}
+
+sha512sums="
+d8102c41fda0e200fd1336ae317b516d2797d10c187b8f7aecf0c9b08b4b487b90bef8c358099b2da51c0367326939f9610fd4e6d5a41a392cf1114bd04b8763 yices2-2.6.4.tar.gz
+"
diff --git a/testing/yodl/APKBUILD b/testing/yodl/APKBUILD
index c8931362361..69e0c6b6e04 100644
--- a/testing/yodl/APKBUILD
+++ b/testing/yodl/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Shiz <hi@shiz.me>
pkgname=yodl
pkgver=4.02.00
-pkgrel=0
+pkgrel=1
pkgdesc="Pre-document language and tools to process it"
url="https://fbb-git.github.io/yodl/"
arch="all"
diff --git a/testing/yoe-kiosk-browser/APKBUILD b/testing/yoe-kiosk-browser/APKBUILD
new file mode 100644
index 00000000000..37197fa178c
--- /dev/null
+++ b/testing/yoe-kiosk-browser/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Khem Raj <raj.khem@gmail.com>
+# Maintainer: Khem Raj <raj.khem@gmail.com>
+pkgname=yoe-kiosk-browser
+pkgver=0_git20231118
+_gitrev=6e94c4013f4f636a9d65561243e675dff0ae381d
+pkgrel=0
+pkgdesc="Qt6 WebEngine (Chromium) based browser designed for embedded kiosk (full screen, single app) applications"
+url="https://github.com/YoeDistro/yoe-kiosk-browser"
+arch="aarch64 x86_64"
+license="BSD-3-Clause"
+depends="qt6-qtbase qt6-qtdeclarative qt6-qtwebengine qt6-qtwebview qt6-qtvirtualkeyboard"
+makedepends="cmake ninja qt6-qtbase-dev qt6-qtdeclarative-dev qt6-qtwebengine-dev qt6-qtwebview-dev"
+source="yoe-kiosk-browser-$_gitrev.tar.gz::https://github.com/YoeDistro/yoe-kiosk-browser/archive/$_gitrev.tar.gz"
+builddir="$srcdir/$pkgname-$_gitrev"
+options="!check" # no test suite
+
+build() {
+ cmake -B build -G Ninja
+ cmake --build build
+}
+
+package() {
+ install -Dm755 build/yoe-kiosk-browser -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+adc85d8733c9476cd8be5eeeec2af40f494fbde51d7b72f07a299b2209e057e73f97dfb60cb820e3fec9976df06e179e5b79389c2e511d1791df63f9e0545e21 yoe-kiosk-browser-6e94c4013f4f636a9d65561243e675dff0ae381d.tar.gz
+"
diff --git a/testing/yoshimi/APKBUILD b/testing/yoshimi/APKBUILD
new file mode 100644
index 00000000000..763caddcd6e
--- /dev/null
+++ b/testing/yoshimi/APKBUILD
@@ -0,0 +1,44 @@
+# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
+# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
+pkgname=yoshimi
+pkgver=2.3.2
+pkgrel=0
+pkgdesc="Sophisticated software synthesizer"
+url="https://yoshimi.github.io/"
+arch="all"
+license="GPL-2.0-or-later"
+depends="fltk-fluid"
+makedepends="
+ alsa-lib-dev
+ argp-standalone
+ cairo-dev
+ cmake
+ fftw-dev
+ fltk-dev
+ fontconfig-dev
+ jack-dev
+ lv2-dev
+ mesa-dev
+ mxml-dev
+ readline-dev
+ samurai
+ "
+subpackages="$pkgname-doc"
+source="https://github.com/Yoshimi/yoshimi/archive/$pkgver/yoshimi-$pkgver.tar.gz"
+options="!check" # not sure if they even exist
+
+build() {
+ cmake -B build -G Ninja -S src \
+ -DCMAKE_BUILD_TYPE=MinSizeRel \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+6ddca4a5cffc609880fcbb625eca471b9926cb3cc0bef9f349ef3fafe6280f5e3957e62db0c103856c680d0a3dde0b15225569d7171553ae74ee4c78c848b598 yoshimi-2.3.2.tar.gz
+"
diff --git a/testing/yosys/APKBUILD b/testing/yosys/APKBUILD
new file mode 100644
index 00000000000..17bc8e86b40
--- /dev/null
+++ b/testing/yosys/APKBUILD
@@ -0,0 +1,74 @@
+# Contributor: Dominika Liberda <ja@sdomi.pl>
+# Maintainer: Dominika Liberda <ja@sdomi.pl>
+pkgname=yosys
+pkgver=0.36
+pkgrel=2
+pkgdesc="Yosys Open SYnthesis Suite"
+url="https://yosyshq.net"
+# doesn't build
+arch="all !s390x !riscv64"
+license="ISC"
+depends="
+ abc
+ "
+makedepends="
+ bash
+ bison
+ boost-dev
+ clang
+ flex
+ gawk
+ graphviz-dev
+ libffi-dev
+ lld
+ protobuf-dev
+ python3
+ readline-dev
+ tcl-dev
+ zlib-dev
+ "
+subpackages="$pkgname-dev py3-$pkgname:py3:noarch"
+source="https://github.com/YosysHQ/yosys/archive/refs/tags/yosys-$pkgver.tar.gz
+ "
+builddir="$srcdir/$pkgname-$pkgname-$pkgver/"
+options="!check" # current yosys employee confirmed those dont work
+
+build() {
+ export CFLAGS="$CFLAGS -flto=thin"
+ export CXXFLAGS="$CXXFLAGS -flto=thin"
+ export LDFLAGS="$LDFLAGS -fuse-ld=lld"
+
+ local pyver="$(python3 -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"
+
+ cat > Makefile.conf <<- EOF
+ CONFIG:=clang
+ PREFIX:=/usr
+ ABCEXTERNAL:=abc
+ BOOST_PYTHON_LIB:=-lpython$pyver -lboost_python${pyver/./}
+ ENABLE_LIBYOSYS:=1
+ ENABLE_NDEBUG:=1
+ ENABLE_PROTOBUF:=1
+ ENABLE_PYOSYS:=1
+ ENABLE_ABC:=1
+ EOF
+
+ make
+}
+
+package() {
+ make DESTDIR="$pkgdir" install
+
+ # link python to the global yosys
+ ln -sfv /usr/lib/yosys/libyosys.so "$pkgdir"/usr/lib/python3*/site-packages/pyosys/libyosys.so
+}
+
+py3() {
+ pkgdesc="$pkgdesc (python module)"
+ depends="python3 $pkgname=$pkgver-r$pkgrel"
+
+ amove usr/lib/python3*
+}
+
+sha512sums="
+3d496ab7efba75b6a8e3ded30d62214e868c52b7f0609f214ea4a336dcb9e38343fc3ae0ddea18c026028989d4caee06efa3822210d8e88e159a3fca28fcae4e yosys-0.36.tar.gz
+"
diff --git a/testing/youki/APKBUILD b/testing/youki/APKBUILD
new file mode 100644
index 00000000000..d085b73dc34
--- /dev/null
+++ b/testing/youki/APKBUILD
@@ -0,0 +1,52 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=youki
+pkgver=0.3.1
+pkgrel=0
+pkgdesc="Container runtime written in Rust"
+url="https://github.com/containers/youki"
+# ppc64le: syscalls crate inline asm is unstable for ppc64le
+# s390x: nix crate lacks support
+# riscv64: syscalls crate lacks support
+# armv7: need for rustc to catch to up pass thumb-mode properly
+arch="all !armv7 !ppc64le !s390x !riscv64"
+license="Apache-2.0"
+makedepends="
+ cargo
+ cargo-auditable
+ dbus-dev
+ libseccomp-dev
+ zlib-dev
+ "
+subpackages="$pkgname-dbg"
+source="https://github.com/containers/youki/archive/v$pkgver/youki-$pkgver.tar.gz"
+options="!check" # FIXME: some tests fail
+
+# prioritize crun and runc
+provides="oci-runtime"
+provider_priority=80
+
+# Disable systemd_cgroups
+_cargo_opts='--frozen --no-default-features --features=libcgroups/v1,libcgroups/v2'
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build $_cargo_opts --release
+}
+
+check() {
+ cargo test $_cargo_opts
+}
+
+package() {
+ install -D -m755 target/release/youki -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+6c73f406e1717c45a45d1beba2ceb26b9ffd965880f517b72aa4753504fd8e40f502aea6587429c17f6dcff3b5fda38ed496f0794f35bb65f003ece48be85e6c youki-0.3.1.tar.gz
+"
diff --git a/testing/youtube-tui/APKBUILD b/testing/youtube-tui/APKBUILD
new file mode 100644
index 00000000000..599152c0493
--- /dev/null
+++ b/testing/youtube-tui/APKBUILD
@@ -0,0 +1,28 @@
+# Maintainer: Cowington Post <cowingtonpost@gmail.com>
+pkgname=youtube-tui
+pkgver=0.8.0
+pkgrel=0
+pkgdesc="Aesthetically pleasing YouTube TUI written in Rust"
+url="https://siriusmart.github.io/youtube-tui/"
+arch="all"
+license="GPL-3.0-or-later"
+makedepends="cargo cargo-auditable mpv-dev libsixel-dev"
+source="https://github.com/Siriusmart/youtube-tui/archive/v$pkgver/youtube-tui-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --target="$CTARGET" --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+package() {
+ install -Dm755 target/release/youtube-tui -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+85a6b164b82a965f5b95a451ebe4175114db89b3a7ce9741e3b373e677cd961cc582404414b60e7ca0a0ebe2f997d1fab63a24009285db33257368c8289df211 youtube-tui-0.8.0.tar.gz
+"
diff --git a/testing/youtube-viewer/APKBUILD b/testing/youtube-viewer/APKBUILD
index 866cddca913..a9b368148ca 100644
--- a/testing/youtube-viewer/APKBUILD
+++ b/testing/youtube-viewer/APKBUILD
@@ -1,21 +1,30 @@
# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
pkgname=youtube-viewer
-pkgver=3.9.7
+pkgver=3.11.1
pkgrel=0
pkgdesc="Lightweight YouTube client"
url="https://github.com/trizen/youtube-viewer"
arch="noarch"
license="Artistic-2.0"
makedepends="perl-module-build"
-depends="perl-data-dump perl-json perl-lwp-protocol-https perl-libwww
- perl-term-readline-gnu perl-unicode-linebreak"
+depends="
+ perl-data-dump
+ perl-json
+ perl-libwww
+ perl-lwp-protocol-https
+ perl-term-readline-gnu
+ perl-unicode-linebreak
+ "
checkdepends="perl-test-pod"
subpackages="$pkgname-doc $pkgname-gtk"
-source="$pkgname-$pkgver.tar.gz::$url/archive/$pkgver.tar.gz"
+source="$pkgname-$pkgver.tar.gz::https://github.com/trizen/youtube-viewer/archive/$pkgver.tar.gz"
build() {
- perl Build.PL --gtk3
+ perl Build.PL --gtk3 \
+ --installdirs=vendor \
+ --create_packlist=0
+ ./Build
}
check() {
@@ -23,7 +32,7 @@ check() {
}
package() {
- ./Build install --destdir "$pkgdir" --installdirs vendor
+ ./Build install --destdir="$pkgdir"
}
gtk() {
@@ -36,5 +45,5 @@ gtk() {
}
sha512sums="
-77d94d706055f3657bb032f44fa52ef5d89554d1ad64d78d579d89849f9a5c6d24560421d5e6e01b6a51eb134c6eff76e523091d483b6dbffd4f7a500471e509 youtube-viewer-3.9.7.tar.gz
+4ad037bf0cd15405ad7eebfc3de18d7980759951a5dd5d773536558bd04c57fbb2219dd84a3f92bb738cefa9f0caec5814b5af77d4b57f4b49a612a7ace52524 youtube-viewer-3.11.1.tar.gz
"
diff --git a/testing/ytfzf/APKBUILD b/testing/ytfzf/APKBUILD
deleted file mode 100644
index cf3ba6a80b0..00000000000
--- a/testing/ytfzf/APKBUILD
+++ /dev/null
@@ -1,18 +0,0 @@
-# Contributor: Grigory Kirillov <txgk@bk.ru>
-# Maintainer: Grigory Kirillov <txgk@bk.ru>
-pkgname=ytfzf
-pkgver=2.0
-pkgrel=0
-pkgdesc="Posix script to find and watch youtube videos from the terminal"
-url="https://github.com/pystardust/ytfzf"
-arch="noarch"
-license="GPL-3.0-only"
-options="!check" # no test suite
-depends="yt-dlp fzf curl jq ncurses"
-source="https://github.com/pystardust/ytfzf/archive/refs/tags/v$pkgver.zip"
-
-package() {
- install -Dm755 "$srcdir"/ytfzf-$pkgver/ytfzf "$pkgdir"/usr/bin/ytfzf
-}
-
-sha512sums="b59deffc91656b602812644b7174d93a779b0435eb9bd5cf69b433d93b2493e7b89b99dd76fa8c9201addcdbe5bb367c842a01acb5d3133ac075830a508ec29e v2.0.zip"
diff --git a/testing/ytmdl/APKBUILD b/testing/ytmdl/APKBUILD
new file mode 100644
index 00000000000..c2f3805a1a0
--- /dev/null
+++ b/testing/ytmdl/APKBUILD
@@ -0,0 +1,61 @@
+# Contributor: Dmitry Zakharchenko <dmitz@disroot.org>
+# Maintainer: Dmitry Zakharchenko <dmitz@disroot.org>
+pkgname=ytmdl
+pkgver=2023.11.26
+pkgrel=1
+pkgdesc="Download songs with metadata from Youtube"
+url="https://github.com/deepjyoti30/ytmdl"
+arch="noarch !armhf !ppc64le" # limited by py3-youtube-search
+license="MIT"
+depends="python3
+ py3-beautifulsoup4
+ py3-colorama
+ py3-downloader-cli
+ py3-ffmpeg
+ py3-itunespy
+ py3-lxml
+ py3-musicbrainzngs
+ py3-mutagen
+ py3-pydes
+ py3-pysocks
+ py3-requests
+ py3-rich
+ py3-simber
+ py3-spotipy
+ py3-unidecode
+ py3-urllib3
+ py3-xdg
+ py3-youtube-search
+ py3-ytmusicapi
+ yt-dlp
+ "
+makedepends="py3-setuptools"
+options="!check" # no test suite
+subpackages="$pkgname-bash-completion $pkgname-zsh-completion $pkgname-pyc"
+source="https://files.pythonhosted.org/packages/source/y/ytmdl/ytmdl-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+ sed -e '/install_requires/d/setup_requires/d' -i setup.py
+# -e 's|etc/bash_completion.d|usr/share/bash-completion/completions|' \
+# -e 's|zsh/functions/Completion/Unix|zsh/site-functions|' \
+# setup.py
+}
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --skip-build --root="$pkgdir"
+
+ rm -r "$pkgdir"/etc/bash_completion.d "$pkgdir"/usr/share/zsh/functions
+ install -Dm644 ytmdl.bash \
+ "$pkgdir"/usr/share/bash-completion/completions/"$pkgname"
+ install -Dm644 ytmdl.zsh \
+ "$pkgdir"/usr/share/zsh/site-functions/_"$pkgname"
+}
+
+sha512sums="
+cc2452eabff7727168bca3a37458985c8a664b9365ba11a74b921777a484221cad687637cf95a1ca6d4ba942442fc1120d5930139778c894bf4872c8c4afd40d ytmdl-2023.11.26.tar.gz
+"
diff --git a/testing/ytt/APKBUILD b/testing/ytt/APKBUILD
index 73d4b6851af..ac7d4747f90 100644
--- a/testing/ytt/APKBUILD
+++ b/testing/ytt/APKBUILD
@@ -1,29 +1,24 @@
-# Contributor: techknowlogick <techknowlogick@gitea.io>
-# Maintainer: techknowlogick <techknowlogick@gitea.io>
+# Contributor: techknowlogick <techknowlogick@gitea.com>
+# Maintainer: techknowlogick <techknowlogick@gitea.com>
pkgname=ytt
-pkgver=0.36.0
-pkgrel=1
+pkgver=0.47.0
+pkgrel=2
pkgdesc="YAML templating tool that works on YAML structure instead of text"
-url="https://get-ytt.io/"
-arch="all !armhf !armv7 !x86 !mips !mips64"
-arch="" # Tests fail: https://github.com/vmware-tanzu/carvel-ytt/issues/484
+url="https://carvel.dev/ytt/"
+arch="all !armhf !armv7 !x86"
license="Apache-2.0"
makedepends="go"
options="chmod-clean net"
-source="$pkgname-$pkgver.tar.gz::https://github.com/vmware-tanzu/carvel-ytt/archive/v$pkgver.tar.gz
+source="$pkgname-$pkgver.tar.gz::https://github.com/carvel-dev/ytt/archive/v$pkgver.tar.gz
0001-e2e-tests.patch"
-builddir="$srcdir/src/github.com/k14s/$pkgname"
-prepare() {
- mkdir -p ${builddir%/*}
- mv "$srcdir"/carvel-$pkgname-$pkgver "$builddir"/
- default_prepare
-}
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
- local ldflags="-w -s -X github.com/k14s/ytt/pkg/version.Version=$pkgver"
+ local ldflags="-X github.com/vmware-tanzu/carvel-ytt/pkg/version.Version=$pkgver"
export GOPATH="$srcdir"
- export CGO_ENABLED=0
rm -f website/generated.go
go fmt ./cmd/... ./pkg/...
@@ -67,6 +62,6 @@ package() {
}
sha512sums="
-23e06b84bfb366c8c42bef20000f57bcb6721ad6c9ce287ca4621423ad11af64848546342a58bd35a09a758f4594a8ceefa3edf13e5b540f465559bdc57171ac ytt-0.36.0.tar.gz
+820441b1fa7d3e89213f8187823005a6e1996cd7458f70f36a75bdd6e3bcfb779a95be0bbb7f73b0871e24eba6e5490dca75b51a31e69e037cf45147f34648be ytt-0.47.0.tar.gz
7e90b64b9f5ed789002f30e1dfbe0c0a8176f1e619c14aa1e9d541359f2f24ff17165785c09b2f7b7bcc21082b568527506c20b6a33987a03f9c88a0c418cfaf 0001-e2e-tests.patch
"
diff --git a/testing/yubico-piv-tool/APKBUILD b/testing/yubico-piv-tool/APKBUILD
deleted file mode 100644
index 30ea53175f4..00000000000
--- a/testing/yubico-piv-tool/APKBUILD
+++ /dev/null
@@ -1,34 +0,0 @@
-# Contributor: Christophe BERAUD-DUFOUR <christophe.berauddufour@gmail.com>
-# Maintainer:
-pkgname=yubico-piv-tool
-pkgver=2.0.0
-pkgrel=1
-pkgdesc="PIV Tools for yubikey"
-url="https://developers.yubico.com/yubico-piv-tool"
-arch="all"
-license="BSD-2-Clause"
-makedepends="openssl-dev pcsc-lite-dev check-dev"
-checkdepends="bash"
-subpackages="$pkgname-dev $pkgname-doc"
-source="https://developers.yubico.com/yubico-piv-tool/Releases/yubico-piv-tool-$pkgver.tar.gz"
-
-build() {
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --disable-static
- make
-}
-
-check() {
- make check
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-}
-
-sha512sums="6aefdb84b11b41bc46bb6a5cdf0332a8288db1fbe5eb63c3deb0a6881616d2ae3ad48bd79fa40ce0d96ff076e2ee1b0b81054e7737984ec1db7bd0e48db85f3a yubico-piv-tool-2.0.0.tar.gz"
diff --git a/testing/yubikey-agent/APKBUILD b/testing/yubikey-agent/APKBUILD
new file mode 100644
index 00000000000..56ce0a66076
--- /dev/null
+++ b/testing/yubikey-agent/APKBUILD
@@ -0,0 +1,28 @@
+# Contributor: Michał Polański <michal@polanski.me>
+# Maintainer: Michał Polański <michal@polanski.me>
+pkgname=yubikey-agent
+pkgver=0.1.6
+pkgrel=4
+pkgdesc="Seamless ssh-agent for YubiKeys"
+url="https://github.com/FiloSottile/yubikey-agent"
+license="BSD-3-Clause"
+arch="all"
+makedepends="go pcsc-lite-dev"
+source="https://github.com/FiloSottile/yubikey-agent/archive/v$pkgver/yubikey-agent-$pkgver.tar.gz"
+options="!check" # no test suite
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+build() {
+ go build -ldflags "-X main.Version=$pkgver"
+}
+
+package() {
+ install -Dm755 $pkgname -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+6c444f068be53efef54fa6b37ea275d13056fbd1f3944a469e4e5bb485d7a75ff7e270dbe2b61bf159532f8828c89f3a42d85cc8ff31893c81eeb6005d3ea77c yubikey-agent-0.1.6.tar.gz
+"
diff --git a/testing/yubikey-touch-detector/APKBUILD b/testing/yubikey-touch-detector/APKBUILD
deleted file mode 100644
index d56eda4810b..00000000000
--- a/testing/yubikey-touch-detector/APKBUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=yubikey-touch-detector
-pkgver=1.9.3
-pkgrel=0
-pkgdesc="Tool to detect when your YubiKey is waiting for a touch"
-url="https://github.com/maximbaz/yubikey-touch-detector"
-arch="all !armhf !armv7 !x86" # fails to build
-license="ISC"
-makedepends="go"
-source="https://github.com/maximbaz/yubikey-touch-detector/archive/$pkgver/yubikey-touch-detector-$pkgver.tar.gz"
-options="!check" # no tests provided
-
-prepare() {
- default_prepare
- sed -i 's/GOFLAGS :=/GOFLAGS +=/' Makefile
-}
-
-build() {
- make GOFLAGS="$GOFLAGS -tags=netcgo -v"
-}
-
-package() {
- make DESTDIR="$pkgdir" install
-
- # Nothing useful
- rm -rf "$pkgdir"/usr/lib
- rm -rf "$pkgdir"/usr/share
-}
-
-sha512sums="
-fce4c2a7b68a3e246f45c3122405b889226f189b945620a9f8f57be43e3c874e7af9c70100dacd8af2a40e5938b5d2b7df0d4916e53981a5130084f1040864d9 yubikey-touch-detector-1.9.3.tar.gz
-"
diff --git a/testing/z-push/APKBUILD b/testing/z-push/APKBUILD
deleted file mode 100644
index 965f8a69c2c..00000000000
--- a/testing/z-push/APKBUILD
+++ /dev/null
@@ -1,80 +0,0 @@
-# Maintainer: Noel Kuntze <noel.kuntze@thermi.consulting>
-pkgname=z-push
-pkgver=2.6.2
-pkgrel=0
-pkgdesc="open-source implementation of the ActiveSync protocol"
-arch="noarch"
-url="https://z-push.org/"
-license="GPL-3.0-only"
-options="!check" # No test suite
-depends="php7 php7-fpm php7-shmop php7-sysvsem php7-sysvshm"
-pkgusers="z-push"
-pkggroups="z-push"
-
-install="z-push.pre-install"
-
-source="$pkgname-$pkgver.tar.gz::https://github.com/Z-Hub/Z-Push/archive/refs/tags/$pkgver.tar.gz
- apache.example.conf
- htaccess
- z-push.ini
- z-push.conf
- nginx-location.conf
- nginx-ssl.example.conf
- php-fpm.example.conf
- z-push-admin
- z-push-top
- "
-
-builddir="$srcdir/Z-Push-$pkgver"
-
-prepare() {
- default_prepare
- sed "s/ZPUSHVERSION/$pkgver/" build/version.php.in > src/version.php
- sed -i -e "s|\('MAPI_SERVER', \).*$|\1'file:///var/run/kopano/server.sock'\);|" src/backend/kopano/config.php
- sed -i -e "s|\('BACKEND_PROVIDER', \).*$|\1'BackendKopano'\);|" src/config.php
-}
-
-package() {
- install -d "$pkgdir/etc/webapps/z-push" "$pkgdir/etc/php7/conf.d/" \
- "$pkgdir/etc/php7/php-fpm.d/" "$pkgdir/usr/share/webapps/z-push/" \
- "$pkgdir/usr/bin/"
-
- cp "$srcdir/z-push-admin" "$srcdir/z-push-top" "$pkgdir/usr/bin/"
-
- cp -r src/* "$pkgdir/usr/share/webapps/z-push/"
-
- install -Dm 0640 "$srcdir/htaccess" "$pkgdir/usr/share/webapps/z-push/.htaccess"
-
- install -Dm 0755 "$srcdir/z-push-admin" "$srcdir/z-push-top" "$pkgdir/usr/bin/"
-
- install -Dm 0644 "$srcdir/apache.example.conf" "$srcdir/php-fpm.example.conf" "$srcdir/nginx-ssl.example.conf" "$srcdir/nginx-location.conf" "$pkgdir/etc/webapps/z-push/"
- install -g z-push -m 0750 src/config.php "$pkgdir/etc/webapps/z-push/config.php"
- install -g z-push -m 0750 src/policies.ini "$pkgdir/etc/webapps/z-push/policies.ini"
-
- install -g z-push -dm 0750 "$pkgdir/etc/webapps/z-push/backends"
-
- cd src/backend
- for config_file in */config.php
- do
- install -Dm 0750 -g z-push "$config_file" "$pkgdir/etc/webapps/z-push/backends/$config_file"
- ln -sf "/etc/webapps/z-push/backends/$config_file" "$config_file"
- done
-
- ln -sf /etc/webapps/z-push/config.php "$pkgdir/usr/share/webapps/z-push/config.php"
- ln -sf /etc/webapps/z-push/policies.ini "$pkgdir/usr/share/webapps/z-push/policies.ini"
-
- install -Dm 0644 "$srcdir/z-push.ini" "$pkgdir/etc/php7/conf.d/"
- install -Dm 0644 "$srcdir/z-push.conf" "$pkgdir/etc/php7/php-fpm.d/"
- install -dm 0750 -o z-push -g z-push "$pkgdir/var/log/z-push/" "$pkgdir/var/lib/z-push"
-}
-
-sha512sums="deb7735e4eb296584d9ad9626d962068154794265233a5a0c5b057055bc92d31187667e00ce570545b17fb2502343305b75996625d6451bc2837901afecdde9a z-push-2.6.2.tar.gz
-cffa906fdf147e8e81ae5a6033762f5a0f5f33e718dca86b12aab973123d2ce094b8e3e7cffe4880403fb961626dc33cf54bb6b2d8a7a376976cdfc5ec4b9cf9 apache.example.conf
-f6f71969576b5f4524d980cca55ae445691d3ce1a35973657770a631fb8e0a17375d67245802eaf1a5b819528602ba88165e6fa873db5462937087521aee394d htaccess
-ebdcb8905f6fd49bc073aa7e884252daae1c7b6865bfd5cf7ce3ecd889d78a57a4979b09a8b02fbf16cdd8dbb236de8493b1896ac2f0693ddf41bd8bf87df11d z-push.ini
-7d77fedb1f22ee77ba091d54051b946ad048c4f63d83a27585e95b68f46eebc2376032cf3c7d8112205736dd1fd4e2fb0c976cc7b510796b79109b146469208d z-push.conf
-e39d2c101708274e02923869083ed613c1ad1d8df574ca4f1f01f0a0ed7c044a7422bd8532e52d0db8f8279dc04506582747ac83cac978044db62fb7e213c200 nginx-location.conf
-dad272b51824f21bfc2a5f41731cd20bca6e877b15756e1115304e9c353fbc4c98cbd1c66661e0974685d1a01e94b933d5c380c8a6b17aa18b65ab86cbfb4971 nginx-ssl.example.conf
-bad70098b919c4cacce3152b276da489d7a36ca195b607508ad316211401dc98f07433ef505deb82a91388993e58b398cce2bc3eb295cf812362bae96b40fb35 php-fpm.example.conf
-4f85dc2a316f2e5cce82c4a8b7310d5c8e8970c18d8726f9dec6bd5b5a6c657f4dd2f7f62dfead25be3c95dc26526c86f79ee1e7f6fd15248ad0429d0342b6dc z-push-admin
-1c21e770e2206b46e4950be7da3067fad6ee2bb2481156e50b169b93d155b89385003975aabeda3bd14fb4727bd26b518f7e370cb79ddad5a7786ef456d30e13 z-push-top"
diff --git a/testing/z-push/apache.example.conf b/testing/z-push/apache.example.conf
deleted file mode 100644
index 3815e984496..00000000000
--- a/testing/z-push/apache.example.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-Alias /Microsoft-Server-ActiveSync /usr/share/webapps/z-push/index.php
-
-<Directory /usr/share/webapps/z-push/>
- DirectoryIndex index.php
- AllowOverride Options
-
- Require all granted
-</Directory>
diff --git a/testing/z-push/htaccess b/testing/z-push/htaccess
deleted file mode 100644
index 5968acaa485..00000000000
--- a/testing/z-push/htaccess
+++ /dev/null
@@ -1,4 +0,0 @@
-php_flag magic_quotes_gpc off
-php_flag register_globals off
-php_flag magic_quotes_runtime off
-php_flag short_open_tag on
diff --git a/testing/z-push/nginx-location.conf b/testing/z-push/nginx-location.conf
deleted file mode 100644
index 2ea6a503598..00000000000
--- a/testing/z-push/nginx-location.conf
+++ /dev/null
@@ -1,32 +0,0 @@
-
- ###
- ## In order to run this component you need to define a server-context in.
- ## /etc/nginx/nginx.conf:
- ##
- ## http {
- ## server {
- ## listen 80;
- ## include ${PATH_TO_THIS_LOCATION_FILE};
- ## }
- ## }
- ##
- ## Or include this file in your existing server-context.
- ##
- location /Microsoft-Server-ActiveSync {
- root /usr/share/webapps/z-push;
-
- ## [WARNING] The following header states that the browser should only communicate
- ## with your server over a secure connection for the next 24 months.
- add_header Strict-Transport-Security max-age=63072000;
- add_header X-Frame-Options DENY;
- add_header X-Content-Type-Options nosniff;
-
- fastcgi_connect_timeout 65;
- fastcgi_send_timeout 6000;
- fastcgi_read_timeout 6000;
-
- fastcgi_pass unix:/run/php-fpm/z-push.sock;
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root/index.php;
- fastcgi_param SCRIPT_NAME $fastcgi_script_name;
- }
diff --git a/testing/z-push/nginx-ssl.example.conf b/testing/z-push/nginx-ssl.example.conf
deleted file mode 100644
index c2b0fef339b..00000000000
--- a/testing/z-push/nginx-ssl.example.conf
+++ /dev/null
@@ -1,56 +0,0 @@
-
- server {
- # server_name YOUR_SERVER_FQDN; ## uncomment replace this with something like www.example.com
- listen 443;
-
- server_tokens off; ## Don't show the nginx version number, a security best practice
- root /usr/share/nginx/html;
- index index.html index.htm;
-
- ## Strong SSL Security
- ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html & https://cipherli.st/
- ##
- ## Generate a strong SSL-Certificate and DHE parameter:
- ## openssl genrsa -out /etc/ssl/private/kopano.key 4096
- ## openssl req -new -sha512 -key /etc/ssl/private/kopano.key -out /tmp/kopano.csr
- ## openssl x509 -req -days 3650 -in /tmp/kopano.csr -signkey /etc/ssl/private/kopano.key -out /etc/ssl/private/kopano.crt
- ## openssl dhparam -out /etc/ssl/private/kopano.dh 4096
- ## chmod go-rwx /etc/ssl/private/kopano.*;
- ## chmod u+rw /etc/ssl/private/kopano.*
- ## chown root:root /etc/ssl/private/kopano.*
- ##
- ssl on;
- ssl_certificate_key /etc/ssl/private/kopano.key;
- ssl_certificate /etc/ssl/private/kopano.crt;
- ssl_dhparam /etc/ssl/private/kopano.dh;
-
- ## https://raymii.org/s/tutorials/Strong_SSL_Security_On_nginx.html
- ## The recommended cipher suite for backwards compatibility (IE6/WinXP):
- ssl_ciphers 'AES256+EECDH:AES256+EDH:!aNULL';
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_prefer_server_ciphers on;
- ssl_session_cache shared:SSL:50m;
- ssl_session_timeout 5m;
-
- ## [Optional] If your certficate has OCSP, enable OCSP stapling to reduce the overhead and latency of running SSL.
- ## Replace with your ssl_trusted_certificate. For more info see:
- ## - https://medium.com/devops-programming/4445f4862461
- ## - https://www.ruby-forum.com/topic/4419319
- ## - https://www.digitalocean.com/community/tutorials/how-to-configure-ocsp-stapling-on-apache-and-nginx
- ## - https://raymii.org/s/tutorials/OCSP_Stapling_on_nginx.html
- ## - http://freiburg79.de/ocsp-stapling-mit-nginx/
- # ssl_stapling on;
- # ssl_stapling_verify on;
- # ssl_stapling_file /etc/ssl/private/de-autorisation-m.ocsp;
- # resolver 208.67.222.222 208.67.222.220 valid=300s; # Can change to your DNS resolver if desired
- # resolver_timeout 5s;
-
- # HIDDEN FILES AND FOLDERS
- rewrite ^(.*)\/\.(.*)$ @404 break;
-
- location = @404 {
- return 404;
- }
-
- include ${PATH_TO_ATTACHED_LOCATION_FILE};
- }
diff --git a/testing/z-push/php-fpm.example.conf b/testing/z-push/php-fpm.example.conf
deleted file mode 100644
index 97b9777f109..00000000000
--- a/testing/z-push/php-fpm.example.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-include = /etc/php/fpm.d/*.conf
-
-[global]
-pid = /run/php-fpm/php-fpm.pid
-error_log = syslog
-log_level = notice
diff --git a/testing/z-push/z-push-admin b/testing/z-push/z-push-admin
deleted file mode 100755
index 8f875e2f208..00000000000
--- a/testing/z-push/z-push-admin
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/share/webapps/z-push/z-push-admin.php "$@"
diff --git a/testing/z-push/z-push-top b/testing/z-push/z-push-top
deleted file mode 100755
index e71b216f8d2..00000000000
--- a/testing/z-push/z-push-top
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/sh
-/usr/share/webapps/z-push/z-push-top.php "$@"
diff --git a/testing/z-push/z-push.conf b/testing/z-push/z-push.conf
deleted file mode 100644
index 1140875acd4..00000000000
--- a/testing/z-push/z-push.conf
+++ /dev/null
@@ -1,35 +0,0 @@
-[z-push]
-listen = /var/lib/php7/fpm/z-push.sock
-listen.owner = z-push
-listen.group = http
-listen.mode = 0660
-
-
-user = z-push
-group = http
-
-; z-push for 5 users
-pm = ondemand
-pm.max_children = 15
-pm.max_requests = 500
-
-env[HOSTNAME] = $HOSTNAME
-env[PATH] = /usr/local/bin:/usr/bin:/bin
-env[TMP] = /tmp
-env[TMPDIR] = /tmp
-env[TEMP] = /tmp
-env[HOME] = /home
-
-php_admin_value[memory_limit] = 128M
-php_admin_value[open_basedir] = ${open_basedir}:/usr/share/webapps/z-push:/etc/webapps/z-push:/var/lib/z-push:/var/log/z-push:/usr/share/php/mapi
-
-php_admin_value[upload_max_filesize] = 20M
-php_admin_value[post_max_size] = 20M
-;; php_admin_value[date.timezone] = Europe/Berlin
-
-;; https://z-push.org/svn/z-push/trunk/src/INSTALL
-;;
-php_flag[magic_quotes_gpc] = off
-php_flag[register_globals] = off
-php_flag[magic_quotes_runtime] = off
-php_flag[short_open_tag] = on
diff --git a/testing/z-push/z-push.ini b/testing/z-push/z-push.ini
deleted file mode 100644
index adbdf833cc3..00000000000
--- a/testing/z-push/z-push.ini
+++ /dev/null
@@ -1,9 +0,0 @@
-extension=mapi.so
-extension=iconv.so
-extension=shmop.so
-extension=soap.so
-extension=sysvsem.so
-extension=sysvshm.so
-
-; in order to use the utils this system wide is needed
-open_basedir=${open_basedir}:/usr/share/webapps/z-push:/etc/webapps/z-push:/var/lib/z-push:/var/log/z-push:/usr/share/php/mapi
diff --git a/testing/z-push/z-push.pre-install b/testing/z-push/z-push.pre-install
deleted file mode 100644
index f9b256c16a6..00000000000
--- a/testing/z-push/z-push.pre-install
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-addgroup -S z-push >/dev/null 2>/dev/null
-addgroup -S kopano >/dev/null 2>/dev/null
-adduser -S -D -H -h /var/lib/z-push -s /sbin/nologin -G z-push -g z-push z-push >/dev/null 2>/dev/null
-# for access to server.sock
-addgroup -S z-push kopano >/dev/null 2>/dev/null
-exit 0
diff --git a/testing/z/APKBUILD b/testing/z/APKBUILD
index 400501a3b1e..1f12db99040 100644
--- a/testing/z/APKBUILD
+++ b/testing/z/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Anirudh Oppiliappan <x@icyphox.sh>
# Maintainer: Anirudh Oppiliappan <x@icyphox.sh>
-pkgname="z"
-pkgver="1.11"
+pkgname=z
+pkgver=1.12
pkgrel=0
pkgdesc="Tracks your most used directories, based on 'frecency'"
url="https://github.com/rupa/z"
@@ -18,4 +18,6 @@ package() {
install -Dm 644 z.1 "$pkgdir"/usr/share/man/man1/z.1
}
-sha512sums="e8463f8fe2781ff12814e47b1764ddc46875a3a01c0499cb174473df16ba28ea16c2577f7ec27a088c5bd98775ac29f81190b3131d4a953315f01be4e2d548c5 z-1.11.tar.gz"
+sha512sums="
+62c88893cd9f8c2d64a264a806aa97f86bb1876797b83f28db8291c8f06efcc6a7ad2be0550963c664b1c3cf6e689eb1aa9e68b1e75eabf2ec7fae55a9cda450 z-1.12.tar.gz
+"
diff --git a/testing/zabbix-agent2-alpine/APKBUILD b/testing/zabbix-agent2-alpine/APKBUILD
deleted file mode 100644
index 3ef62855a00..00000000000
--- a/testing/zabbix-agent2-alpine/APKBUILD
+++ /dev/null
@@ -1,64 +0,0 @@
-# Contributor: Kevin Daudt <kdaudt@alpinelinux.org>
-# Maintainer: Kevin Daudt <kdaudt@alpinelinux.org>
-pkgname=zabbix-agent2-alpine
-pkgver=5.4.9
-pkgrel=1
-_plugins_version=0.2
-pkgdesc="Zabbix Agent2 with additional plugins"
-url="https://gitlab.alpinelinux.org/alpine/infra/infra-packages/-/tree/master/infra/zabbix-agent2-alpine"
-arch="all !mips !mips64" # missing go
-arch="$arch !riscv64" # missing riscv64-specific functionality
-license="GPL-2.0-or-later"
-makedepends="go autoconf automake pcre-dev zlib-dev openssl-dev openssl-libs-static"
-options="!check" # no test suite
-subpackages="$pkgname-openrc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/zabbix/zabbix/archive/$pkgver.tar.gz
- https://gitlab.alpinelinux.org/alpine/infra/zabbix-agent2-plugins/-/archive/v$_plugins_version/zabbix-agent2-plugins-v$_plugins_version.tar.gz
- zabbix-agent2.initd
- zabbix_agent2.conf
- enable-plugins.patch
- go-mod-add-dependencies.patch
- "
-install="$pkgname.pre-install"
-builddir="$srcdir/zabbix-$pkgver"
-
-export GOPATH="$srcdir/go"
-export GOCACHE="$srcdir/go-build"
-export GOTEMPDIR="$srcdir/go"
-
-export GOFLAGS="$GOFLAGS -modcacherw"
-
-prepare() {
- default_prepare
- ./bootstrap.sh
-
- cp -r "$srcdir"/zabbix-agent2-plugins-v$_plugins_version/plugins/* \
- "$builddir"/src/go/plugins/
-}
-
-build() {
- ./configure \
- --sysconfdir=/etc/zabbix \
- --mandir=/usr/share/man \
- --with-openssl \
- --enable-agent2 \
- --enable-static
- make
-}
-
-package() {
- install -Dm0755 src/go/bin/zabbix_agent2 $pkgdir/usr/sbin/zabbix_agent2
- install -Dm0755 $srcdir/zabbix-agent2.initd $pkgdir/etc/init.d/zabbix-agent2
- install -dm0755 $pkgdir/etc/zabbix/agent2.conf.d/
-
- install -Dm0644 $srcdir/zabbix_agent2.conf $pkgdir/etc/zabbix/zabbix_agent2.conf
-}
-
-sha512sums="
-446dd2803823daef00ebaaef1df53459d7ded6668908fd974d1134751b645cc14a28cdf537289a80f7faf4848e6d886043d487c77f7841bc0f64d5d134fc4f0e zabbix-agent2-alpine-5.4.9.tar.gz
-e3e1110f24f27b2d7ff314a7fdf89d3d76e690bd83a6c3c074320bb84ef1980586fb472a7e251b6dc6d07dbf4767fe381f0c3e3e24c89380f37c44a1a7e34ed9 zabbix-agent2-plugins-v0.2.tar.gz
-3d30e97e23c19057d89383b11c589bc0f1e0134f4a090f17baaf04c335dffd708c533596a4ff1b06cf36a4cfb1cb549a372cdb07081b186c991395c2156aaeaa zabbix-agent2.initd
-a5668a01ef840f63516b86976f27906f1e4689fb7c1fd0864ce82028d2405fc6a5ba3b9d1bfa2828343935cbeb5fd9c6c7aba4bf1a00e3e301b12199ea61bd13 zabbix_agent2.conf
-fb5b237edd229c6300867084810c9bb051e9c7ee09fc4499837d8be9f99678549de757cf2c5dbecf513322e4705e7ea2be8e4f4965fded3d09a10a69ec17b37e enable-plugins.patch
-d49a2e707e09fdcbe5056f72ac3c6cff50025a4c39a539416cf99b292ad88b49426d9ee13ba93618b43d8a6a6556a5d1bd382476317d513a85f7de632755f0b9 go-mod-add-dependencies.patch
-"
diff --git a/testing/zabbix-agent2-alpine/enable-plugins.patch b/testing/zabbix-agent2-alpine/enable-plugins.patch
deleted file mode 100644
index 336483814c9..00000000000
--- a/testing/zabbix-agent2-alpine/enable-plugins.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-This makes the go agent aware of the added plugins
-
-diff --git a/src/go/plugins/plugins_linux.go b/src/go/plugins/plugins_linux.go
-index 714f783..7a57116 100644
---- a/src/go/plugins/plugins_linux.go
-+++ b/src/go/plugins/plugins_linux.go
-@@ -42,4 +42,5 @@ import (
- _ "zabbix.com/plugins/zabbix/async"
- _ "zabbix.com/plugins/zabbix/stats"
- _ "zabbix.com/plugins/zabbix/sync"
-+ _ "zabbix.com/plugins/alpine"
- )
diff --git a/testing/zabbix-agent2-alpine/go-mod-add-dependencies.patch b/testing/zabbix-agent2-alpine/go-mod-add-dependencies.patch
deleted file mode 100644
index 1c456105618..00000000000
--- a/testing/zabbix-agent2-alpine/go-mod-add-dependencies.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-Required for the extra plugins
-
-* go get -d gopkg.in/ini.v1
-
-diff --git a/src/go/go.mod b/src/go/go.mod
-index b6a06d0..3130b6e 100644
---- a/src/go/go.mod
-+++ b/src/go/go.mod
-@@ -26,6 +26,7 @@ require (
- golang.org/x/sys v0.0.0-20210104204734-6f8348627aad
- golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 // indirect
- gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
-+ gopkg.in/ini.v1 v1.62.0 // indirect
- gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22
- gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect
- gopkg.in/yaml.v2 v2.2.8 // indirect
-diff --git a/src/go/go.sum b/src/go/go.sum
-index 49862de..50f15c2 100644
---- a/src/go/go.sum
-+++ b/src/go/go.sum
-@@ -239,6 +239,8 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33
- gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
- gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
- gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s=
-+gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU=
-+gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
- gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22 h1:VpOs+IwYnYBaFnrNAeB8UUWtL3vEUnzSCL1nVjPhqrw=
- gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
- gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU=
diff --git a/testing/zabbix-agent2-alpine/zabbix-agent2-alpine.pre-install b/testing/zabbix-agent2-alpine/zabbix-agent2-alpine.pre-install
deleted file mode 100644
index 175c11d7a51..00000000000
--- a/testing/zabbix-agent2-alpine/zabbix-agent2-alpine.pre-install
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-addgroup -S zabbix 2>/dev/null
-adduser -S -D -H -h /dev/null -s /sbin/nologin -G zabbix -g zabbix zabbix 2>/dev/null
-
-exit 0
-
diff --git a/testing/zabbix-agent2-alpine/zabbix-agent2.initd b/testing/zabbix-agent2-alpine/zabbix-agent2.initd
deleted file mode 100644
index 518929f3113..00000000000
--- a/testing/zabbix-agent2-alpine/zabbix-agent2.initd
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/sbin/openrc-run
-
-command=/usr/sbin/zabbix_agent2
-supervisor="supervise-daemon"
-command_user="zabbix:zabbix"
-
-start_pre() {
- checkpath --directory --owner zabbix:zabbix /run/zabbix/
- checkpath --file --owner zabbix:zabbix /var/log/zabbix/zabbix_agent2.log
- checkpath --directory --owner zabbix:zabbix /var/log/zabbix
-}
diff --git a/testing/zabbix-agent2-alpine/zabbix_agent2.conf b/testing/zabbix-agent2-alpine/zabbix_agent2.conf
deleted file mode 100644
index a104873de24..00000000000
--- a/testing/zabbix-agent2-alpine/zabbix_agent2.conf
+++ /dev/null
@@ -1,8 +0,0 @@
-DebugLevel=3
-HostnameItem=system.hostname
-LogFile=/var/log/zabbix/zabbix_agentd.log
-ControlSocket=/run/zabbix/agent2.sock
-
-DenyKey=system.run[*]
-
-Include=/etc/zabbix/agent2.conf.d/*.conf
diff --git a/testing/zafiro-icon-theme/APKBUILD b/testing/zafiro-icon-theme/APKBUILD
index 18815418e47..12329b90461 100644
--- a/testing/zafiro-icon-theme/APKBUILD
+++ b/testing/zafiro-icon-theme/APKBUILD
@@ -1,19 +1,20 @@
# Maintainer: Bradley Saulteaux <bradsoto@gmail.com>
pkgname=zafiro-icon-theme
-pkgver=1.1
-pkgrel=1
+pkgver=1.3
+pkgrel=0
pkgdesc="icon pack flat with light colors"
url="https://github.com/zayronxio/Zafiro-icons"
-arch="noarch !s390x !mips !mips64 !riscv64" # librsvg
+arch="noarch"
license="GPL-3.0-only"
-depends="librsvg"
-options="!check"
source="$pkgname-$pkgver.tar.gz::https://github.com/zayronxio/Zafiro-icons/archive/$pkgver.tar.gz"
builddir="$srcdir/Zafiro-icons-$pkgver"
+options="!check" # just icons
package() {
- mkdir -p $pkgdir/usr/share/icons
- mv $builddir $pkgdir/usr/share/icons/zafiro-icons
+ mkdir -p "$pkgdir"/usr/share/icons/zafiro-icons
+ cp -a Dark Light "$pkgdir"/usr/share/icons/zafiro-icons/
}
-sha512sums="9c8f29e0396ccc2e7817abf9081628eaca66c78df2005be1bd0b8d8ff2b1fed95a949b9029562bc9e0e6a1ae30e39d23cc91a3998a1c2bb487fec16b672209ae zafiro-icon-theme-1.1.tar.gz"
+sha512sums="
+c1c6c6a8bf57cdfa880cdadcc3a0ac0c26020e802f4ad7c121c01600941ae7ea35225a6f05d67771ce4d28b77449d531456ffc97164c580c3e7d46e1cd6d0e1b zafiro-icon-theme-1.3.tar.gz
+"
diff --git a/testing/zam-plugins/APKBUILD b/testing/zam-plugins/APKBUILD
deleted file mode 100644
index 650dfa6d5c2..00000000000
--- a/testing/zam-plugins/APKBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Contributor: psykose <alice@ayaya.dev>
-# Maintainer: psykose <alice@ayaya.dev>
-pkgname=zam-plugins
-pkgver=3.14
-_dpf_gitrev=08669d1bc30c6e971fde800eade4ca40104ba8b2
-pkgrel=0
-pkgdesc="Collection of LADSPA/LV2/VST/JACK audio plugins for high-quality processing"
-url="https://github.com/zamaudio/zam-plugins"
-arch="all"
-license="GPL-2.0-or-later"
-options="!check" # no testsuite
-makedepends="
- bash
- fftw-dev
- jack-dev
- ladspa-dev
- liblo-dev
- libsamplerate-dev
- lv2-dev
- mesa-dev
- zita-convolver-dev
- "
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/zamaudio/zam-plugins/archive/refs/tags/$pkgver.tar.gz
- dpf-$_dpf_gitrev.tar.gz::https://github.com/DISTRHO/DPF/archive/$_dpf_gitrev.tar.gz
- "
-
-prepare() {
- default_prepare
-
- # overwrite folder
- rmdir "$builddir"/dpf
- mv "$srcdir"/DPF-$_dpf_gitrev "$builddir"/dpf
-}
-
-build() {
- make PREFIX=/usr
-}
-
-package() {
- make DESTDIR="$pkgdir" PREFIX=/usr install
-}
-
-sha512sums="
-30c168ee855011b2f17fcc5e440039628399ab40b69bed9af284713df6155360b38d8249b3de1616e9a2f39885cff43c9e2505868aae891fd22bc92297c1962c zam-plugins-3.14.tar.gz
-b24e32682ea38785a776d13f9fd58052d9e7813416ba59f05c9c4af28c4b61c26d832870c7d6b65a46863f122dd29fe573dc01994d1c601a10bea7b75d49ba5d dpf-08669d1bc30c6e971fde800eade4ca40104ba8b2.tar.gz
-"
diff --git a/testing/zangband/APKBUILD b/testing/zangband/APKBUILD
deleted file mode 100644
index 0e1f860999a..00000000000
--- a/testing/zangband/APKBUILD
+++ /dev/null
@@ -1,53 +0,0 @@
-# Contributor: Will Sinatra <wpsinatra@gmail.com>
-# Maintainer: Will Sinatra <wpsinatra@gmail.com>
-pkgname=zangband
-pkgver=2.7.5.1
-_pkgver=2.7.5pre1
-pkgrel=0
-pkgdesc="Roguelike computer role playing game based on Angband"
-url="http://www.zangband.org"
-license="custom"
-arch="all"
-makedepends="automake autoconf util-linux ncurses-dev"
-depends="ncurses"
-source="http://downloads.sourceforge.net/zangband/zangband-$_pkgver.tar.gz
- fix-bad-substitution.patch
- fix-bad-configure.patch
- fix-random-num-gen.patch
- fix-explosive-rune-error.patch
- fix-spear-of-hagen-error.patch"
-builddir="$srcdir/zangband"
-options="!check"
-
-prepare() {
- default_prepare
- autoreconf -vfi
-
- sed -i 's@# define DEFAULT_PATH "./lib/"@# define DEFAULT_PATH "/usr/lib/zangband/"@' $builddir/src/z-config.h
- sed -i 's@strcpy(path, "./lib/");@strcpy(path, "/usr/lib/zangband/");@' $builddir/src/main.c
-}
-
-build() {
- ./configure --prefix=/usr/lib --with-gtk=no
- make
-}
-
-package() {
- install -d "$pkgdir"/usr/lib/zangband
- install -D -m755 zangband "$pkgdir"/usr/bin/zangband
- cp -R "$srcdir"/zangband/lib "$pkgdir"/usr/lib
- rename "$pkgdir"/usr/lib/lib "$pkgdir"/usr/lib/zangband "$pkgdir"/usr/lib/lib
- chmod -R 775 "$pkgdir"/usr/lib/zangband
- chown -R root:users "$pkgdir"/usr/lib/zangband
-
- find "$pkgdir"/usr/lib/zangband -name makefile.zb -exec rm {} \;
- find "$pkgdir"/usr/lib/zangband -type f -exec chmod a-x {} \;
-}
-
-
-sha512sums="3eb0dc460c98278cceb06fedaec9e844418a92d791baccafcd3c6591cfb7021dc15188a52b4a5d951c23f55444650ed1b7005b49c3ac1773a19657f4ea1ac512 zangband-2.7.5pre1.tar.gz
-ad764771aecc5421a3f25f01b15fe72cf44b17f5a58915ef1f44d2f3d9d8c19f22efffcfc37513deb587f88f6c7ed3f3da82942a922d74ebb307213a3ad3e90b fix-bad-substitution.patch
-e0551b511c8b6c716704e2799f695f6314246a7c083f1f2ee23761a1d3227d4073e97f4af47e75daef271798b4b65d717a65cb56bae19eb45913321fd906c829 fix-bad-configure.patch
-937627adfe6897c6195e28015de2fe6b796f402147f45a76b39c1bb4c0ba5e4e6c65d9153bc500ec481f3b0a92c048043efd9fbfe1300dfb9f3e57974e0c3d06 fix-random-num-gen.patch
-2313da3a678212771cb5f51918bf7f1966e941b346d02538c5f13fdb0b43f208028cd61f50bb161180df1b2f3b496045c712fc39f4945c8ee029258faf6c7310 fix-explosive-rune-error.patch
-6e5193a15a5fbb3947cb07363b15761c89405e050bcc13196c5106177843351df2d1ed3c06b95de1c6ecde4f3f614ef102a944270b500c2494d875de0adca8c3 fix-spear-of-hagen-error.patch"
diff --git a/testing/zangband/fix-bad-configure.patch b/testing/zangband/fix-bad-configure.patch
deleted file mode 100644
index 372a88ea3de..00000000000
--- a/testing/zangband/fix-bad-configure.patch
+++ /dev/null
@@ -1,219 +0,0 @@
-#The initially available configure file uses non-posix forms leading to bad substitution errors, this allows the first configure run to pass
---- a/configure
-+++ b/configure
-@@ -9296,7 +9296,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-pedantic $CFLAGS"
- fi
-
-@@ -9315,7 +9315,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-W $CFLAGS"
- fi
-
-@@ -9334,7 +9334,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wall $CFLAGS"
- fi
-
-@@ -9353,7 +9353,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wmissing-prototypes $CFLAGS"
- fi
-
-@@ -9372,7 +9372,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wmissing-declarations $CFLAGS"
- fi
-
-@@ -9391,7 +9391,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wno-long-long $CFLAGS"
- fi
-
-@@ -9410,7 +9410,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wwrite-strings $CFLAGS"
- fi
-
-@@ -9429,7 +9429,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wpointer-arith $CFLAGS"
- fi
-
-@@ -9448,7 +9448,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wbad-function-cast $CFLAGS"
- fi
-
-@@ -9467,7 +9467,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Waggregate-return $CFLAGS"
- fi
-
-@@ -9486,7 +9486,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wstrict-prototypes $CFLAGS"
- fi
-
-@@ -9505,7 +9505,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wredundant-decls $CFLAGS"
- fi
-
-@@ -9524,7 +9524,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wchar-subscripts $CFLAGS"
- fi
-
-@@ -9543,7 +9543,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wimplicit $CFLAGS"
- fi
-
-@@ -9562,7 +9562,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wparentheses $CFLAGS"
- fi
-
-@@ -9581,7 +9581,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wsequence-point $CFLAGS"
- fi
-
-@@ -9600,7 +9600,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wreturn-type $CFLAGS"
- fi
-
-@@ -9619,7 +9619,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wswitch $CFLAGS"
- fi
-
-@@ -9638,7 +9638,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wunused $CFLAGS"
- fi
-
-@@ -9657,7 +9657,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wuninitialized $CFLAGS"
- fi
-
-@@ -9676,7 +9676,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wundef $CFLAGS"
- fi
-
-@@ -9695,7 +9695,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wnested-externs $CFLAGS"
- fi
-
-@@ -9714,7 +9714,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wdeclaration-after-statement $CFLAGS"
- fi
-
-@@ -9733,7 +9733,7 @@
- fi
- echo "$as_me:$LINENO: result: `eval echo '${'$FLAG'}'`" >&5
- echo "${ECHO_T}`eval echo '${'$FLAG'}'`" >&6
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="-Wsign-compare $CFLAGS"
- fi
-
diff --git a/testing/zangband/fix-bad-substitution.patch b/testing/zangband/fix-bad-substitution.patch
deleted file mode 100644
index b344940b34f..00000000000
--- a/testing/zangband/fix-bad-substitution.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-#The form ${!FLAG} throws bad substitution errors, converting to a posix complient form fixs it, and allows second pass generation to work
---- a/configure.in
-+++ b/configure.in
-@@ -249,7 +249,7 @@
- else
- eval $FLAG=no
- fi])
--if test ${!FLAG} = yes ; then
-+if test [ "$FLAG" != yes ] ; then
- CFLAGS="$1 $CFLAGS"
- fi
- ])
diff --git a/testing/zangband/fix-explosive-rune-error.patch b/testing/zangband/fix-explosive-rune-error.patch
deleted file mode 100644
index 8b32831baef..00000000000
--- a/testing/zangband/fix-explosive-rune-error.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-# Typo error, without this rune's won't break, which could lead to game breaking errors
---- a/lib/edit/t_info.txt
-+++ b/lib/edit/t_info.txt
-@@ -92,7 +92,7 @@
- L:MENTT:if (do_move == TRUE) then
- L:MENTT: if (bAnd(race.flags[0], RF0_NEVER_BLOW) ~= 0) and
- L:MENTT: (randint1(BREAK_MINOR_GLYPH) < race.level) then
--L:MENTT: if (field.fx == player.px) and (field.fy = player.py) then
-+L:MENTT: if (field.fx == player.px) and (field.fy == player.py) then
- L:MENTT: msgf("The rune explodes!")
- L:MENTT: fire_ball(GF_MANA, 0, 2 * ((player.lev / 2) + damroll(7, 7)), 2)
- L:MENTT: else
diff --git a/testing/zangband/fix-random-num-gen.patch b/testing/zangband/fix-random-num-gen.patch
deleted file mode 100644
index 21d8bdec03a..00000000000
--- a/testing/zangband/fix-random-num-gen.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-#RNG is not implemented properly for 64bit systems, without this Zangband hangs on character generation
-*** a/src/h-type.h 2005-06-05 01:54:21.000000000 +0900
---- b/src/h-type.h 2017-08-30 21:46:23.723911618 +0900
-***************
-*** 103,108 ****
---- 103,118 ----
- typedef signed short s16b;
- typedef unsigned short u16b;
-
-+ /* detect 64 bit GCC */
-+ #ifdef _LP64
-+ #ifndef L64
-+ #define L64 1
-+ #endif
-+ #ifndef USE_64B
-+ #define USE_64B 1
-+ #endif
-+ #endif
-+
- /* Signed/Unsigned 32 bit value */
- #ifdef L64 /* 64 bit longs */
- typedef signed int s32b; \ No newline at end of file
diff --git a/testing/zangband/fix-spear-of-hagen-error.patch b/testing/zangband/fix-spear-of-hagen-error.patch
deleted file mode 100644
index 3b0994922e6..00000000000
--- a/testing/zangband/fix-spear-of-hagen-error.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-#Typo causes artifact not to work, using it in game throws errors
---- a/lib/edit/a_info.txt
-+++ b/lib/edit/a_info.txt
-@@ -1491,7 +1491,7 @@
- F:STEALTH | RES_DARK | INFRA |
- F:BRAND_COLD | SLAY_UNDEAD | RES_COLD | SEE_INVIS | SHOW_MODS | THROW
- F:INSTA_ART
--L:BONUS: b.pspeed = (player.level + 4) / 5
-+L:BONUS: b.pspeed = (player.lev + 4) / 5
- L:SPOIL: return "+1 speed / 5 levels"
-
- # The Spear 'Soulsucker'
diff --git a/testing/zapret/APKBUILD b/testing/zapret/APKBUILD
index 8a2e8aa9399..723494f1b25 100644
--- a/testing/zapret/APKBUILD
+++ b/testing/zapret/APKBUILD
@@ -1,15 +1,16 @@
# Contributor: Maxim Karasev <begs@disroot.org>
# Maintainer: Maxim Karasev <begs@disroot.org>
pkgname=zapret
-pkgver=0.0.0_git20211019
-_commit=6a821ab49ac11819fcba014149ac25e0f89a2e30
-pkgrel=1
-pkgdesc="DPI (deep package inspection) bypass toolkit"
+pkgver=0.0.0_git20220125
+_commit=9a7d1e8e56ef20903e2a39da5d627a5a60c2cbf2
+pkgrel=0
+pkgdesc="autonomous deep packet inspection circumvention toolkit"
url="https://github.com/bol-van/zapret"
arch="all"
license="MIT"
+depends="ipset bind-tools"
makedepends="zlib-dev libcap-dev libnetfilter_queue-dev bsd-compat-headers"
-depends_openrc="iptables ip6tables ipset"
+depends_openrc="iptables ip6tables"
install="$pkgname.pre-install"
subpackages="$pkgname-doc $pkgname-openrc"
source="https://github.com/bol-van/zapret/archive/$_commit/zapret-$pkgver.tar.gz
@@ -24,14 +25,16 @@ build() {
}
package() {
- install -Dm755 binaries/alpine/* -t "$pkgdir"/usr/bin
+ install -Dm755 binaries/alpine/nfqws binaries/alpine/tpws \
+ -t "$pkgdir"/usr/bin
install -Dm644 "$srcdir"/zapret.confd "$pkgdir"/etc/conf.d/zapret
install -Dm755 "$srcdir"/zapret.initd "$pkgdir"/etc/init.d/zapret
- mkdir -p "$pkgdir"/usr/share/"$pkgname"/ipset
- cp ipset/* "$pkgdir"/usr/share/"$pkgname"/ipset
- ln -s /etc/conf.d/zapret "$pkgdir"/usr/share/"$pkgname"/config
+ install -Dm644 config "$pkgdir"/usr/share/"$pkgname"/config
+ cp -r ipset "$pkgdir"/usr/share/"$pkgname"
+ mkdir -p "$pkgdir"/usr/share/"$pkgname"/init.d
+ cp -r init.d/sysv "$pkgdir"/usr/share/"$pkgname"/init.d
mkdir -p "$pkgdir"/usr/share/doc/"$pkgname"
cp -r docs/* "$pkgdir"/usr/share/doc/"$pkgname"
@@ -40,7 +43,7 @@ package() {
}
sha512sums="
-58e872de2f519a41cc2072704bf23e6792b2f9a50b227fbafe5dae3c83346f41acbcbf774da928e7f5e3d9642a313514b2e86360b7ea49068af608188dc05c3d zapret-0.0.0_git20211019.tar.gz
-24d829cbe4dd74591ee31519d69e5722eda06edcbed2314b69a0da7be25053a85a1399bd9a5af84e8880a711a4434dcd9601886bc87836d80bb5e83476f33539 zapret.initd
-d5836351a52ed93ef83c16a03d811c25fd0a258a3f770753045bbf9b690bf3baa2c48374632e52b6213bac158245040266210920a4e4c70064a65e8f77d46e26 zapret.confd
+49c3bad3cbbd79400c3748392c6ab4cb542c2a4a3e7307697bc3670ecc9ed15e45fd20aea7a3322ed303d33372943e4b97a3e792c149e3aefd964d36f5c6824e zapret-0.0.0_git20220125.tar.gz
+6582053bc83fec3609233fb06f3ae88ef1257fc52c3d8699473f6593b2a45d458401d2f70f25306fedd8718776a3e09077113cf79917be1c99bfa3f56a63a16d zapret.initd
+962b18fe57ddd20d870f91a7de7f7b6b108602ec94553d4efc1372cf247d95ca472043d490f16e9c5e83f3aa78ae09fcd3028df49d497c0f76292782981111e1 zapret.confd
"
diff --git a/testing/zapret/zapret.confd b/testing/zapret/zapret.confd
index f3dec70d371..8be586006b9 100644
--- a/testing/zapret/zapret.confd
+++ b/testing/zapret/zapret.confd
@@ -1,113 +1,5 @@
-# this file is included from init scripts
-# change values here
-
-# can help in case /tmp has not enough space
-#TMPDIR=/opt/zapret/tmp
-
-# dir to store pidfile in
-PIDDIR=/var/run
-
-# user to execute tpws as
-WS_USER=tpws
-
-# max wait time for the link local ipv6 on the LAN interface
-LINKLOCAL_WAIT_SEC=5
-
-# options for ipsets
-IPSET_CR="/usr/share/zapret/ipset/create_ipset.sh"
-
-# too low hashsize can cause memory allocation errors on low RAM systems , even if RAM is enough
-# too large hashsize will waste lots of RAM
-IPSET_OPT="hashsize 262144 maxelem 2097152"
-
-IPSET_EXCLUDE="-m set ! --match-set nozapret"
-IPSET_EXCLUDE6="-m set ! --match-set nozapret6"
-
-# options for ip2net. "-4" or "-6" auto added by ipset create script
-IP2NET_OPT4="--prefix-length=22-30 --v4-threshold=3/4"
-IP2NET_OPT6="--prefix-length=56-64 --v6-threshold=5"
-
-# ipset/*.sh can compress large lists
-GZIP_LISTS=1
-# command to reload ip/host lists after update
-# comment or leave empty for auto backend selection : ipset or ipfw if present
-# on BSD systems with PF no auto reloading happens. you must provide your own command
-# set to "-" to disable reload
-#LISTS_RELOAD="pfctl -f /etc/pf.conf"
-
-# CHOOSE OPERATION MODE
-# MODE : nfqws,tpws,tpws-socks,filter,custom
-# nfqws : nfqws for dpi desync
-# tpws : tpws transparent mode
-# tpws-socks : tpws socks mode
-# filter : no daemon, just create ipset or download hostlist
-# custom : custom mode. should modify custom init script and add your own code
-MODE=tpws
-# apply fooling to http
-MODE_HTTP=1
-# for nfqws only. support http keep alives. enable only if DPI checks for http request in any outgoing packet
-MODE_HTTP_KEEPALIVE=0
-# apply fooling to https
-MODE_HTTPS=1
-# none,ipset,hostlist
-MODE_FILTER=none
-
-# CHOOSE NFQWS DAEMON OPTIONS for DPI desync mode. run "nfq/nfqws --help" for option list
-DESYNC_MARK=0x40000000
-NFQWS_OPT_DESYNC="--dpi-desync=fake --dpi-desync-ttl=0 --dpi-desync-fooling=badsum"
-#NFQWS_OPT_DESYNC_HTTP="--dpi-desync=split --dpi-desync-ttl=0 --dpi-desync-fooling=badsum"
-#NFQWS_OPT_DESYNC_HTTPS="--wssize=1:6 --dpi-desync=split --dpi-desync-ttl=0 --dpi-desync-fooling=badsum"
-
-# CHOOSE TPWS DAEMON OPTIONS. run "tpws/tpws --help" for option list
-TPPORT=988
-TPWS="/usr/bin/tpws"
-TPWS_LOCALHOST4=127.0.0.127
-HOSTLIST="/usr/share/zapret/ipset/zapret-hosts-user.txt"
-
-DESYNC_MARK=0x40000000
-
-TPWS_OPT="--hostspell=HOST --split-http-req=method --split-pos=3"
-
-TPWS_OPT_BASE="--user=$WS_USER"
-TPWS_OPT_BASE4="--bind-addr=$TPWS_LOCALHOST4"
-TPWS_OPT_BASE6="--bind-addr=::1"
-TPWS_WAIT="--bind-wait-ifup=30 --bind-wait-ip=30"
-TPWS_WAIT_SOCKS6="$TPWS_WAIT --bind-wait-ip-linklocal=30"
-# first wait for lan to ifup, then wait for bind-wait-ip-linklocal seconds for link local address and bind-wait-ip for any ipv6 as the worst case
-TPWS_OPT_BASE6_PRE="--bind-linklocal=prefer $TPWS_WAIT --bind-wait-ip-linklocal=3"
-
-# NFQWS configuration
-QNUM=200
-NFQWS="/usr/bin/nfqws"
-NFQWS_OPT_BASE="--user=$WS_USER --dpi-desync-fwmark=$DESYNC_MARK"
-NFQWS_OPT_DESYNC_HTTP="${NFQWS_OPT_DESYNC_HTTP:-$NFQWS_OPT_DESYNC}"
-NFQWS_OPT_DESYNC_HTTPS="${NFQWS_OPT_DESYNC_HTTPS:-$NFQWS_OPT_DESYNC}"
-
-
-# openwrt only : donttouch,none,software,hardware
-FLOWOFFLOAD=donttouch
-
-# openwrt: specify networks to be treated as LAN. default is "lan"
-#OPENWRT_LAN="lan lan2 lan3"
-
-# for routers based on desktop linux and macos. has no effect in openwrt.
-# CHOOSE LAN and optinally WAN NETWORK INTERFACES
-# or leave them commented if its not router
-# it's possible to specify multiple interfaces like this : IFACE_LAN="eth0 eth1 eth2"
-#IFACE_LAN=eth0
-#IFACE_WAN=eth1
-
-# should init scripts apply firewall rules ?
-# set to 0 if firewall control system is present
-# openwrt uses fw3 firewall , init never touch fw
-INIT_APPLY_FW=1
-
-# do not work with ipv4
-#DISABLE_IPV4=1
-# do not work with ipv6
-DISABLE_IPV6=1
-
-# select which init script will be used to get ip or host list
-# possible values : get_user.sh get_antizapret.sh get_combined.sh get_reestr.sh get_hostlist.sh
-# comment if not required
-GETLIST=get_antifilter_ipsmart.sh
+ZAPRET_BASE=/usr/share/zapret
+TPWS=/usr/bin/tpws
+NFQWS=/usr/bin/nfqws
+IP2NET=/usr/bin/ip2net
+MDIG=/usr/bin/mdig
diff --git a/testing/zapret/zapret.initd b/testing/zapret/zapret.initd
index 81ef0af8616..2be4cd3742b 100644
--- a/testing/zapret/zapret.initd
+++ b/testing/zapret/zapret.initd
@@ -1,556 +1,52 @@
#!/sbin/openrc-run
-# Adapted for OpenRC from upstream sysvinit script
-depend() {
- need net
- use dns logger netmount
-}
-
-exists() {
- which "$1" >/dev/null 2>/dev/null
-}
-
-existf() {
- type "$1" >/dev/null 2>/dev/null
-}
-
-on_off_function() {
- # $1 : function name on
- # $2 : function name off
- # $3 : 0 - off, 1 - on
- local F="$1"
- [ "$3" = "1" ] || F="$2"
- shift
- shift
- shift
- "$F" "$@"
-}
-
-ipt() {
- iptables -C "$@" >/dev/null 2>/dev/null || iptables -I "$@"
-}
-
-ipt_del() {
- iptables -C "$@" >/dev/null 2>/dev/null && iptables -D "$@"
-}
-
-ipt_add_del() {
- on_off_function ipt ipt_del "$@"
-}
-
-ipt6() {
- ip6tables -C "$@" >/dev/null 2>/dev/null || ip6tables -I "$@"
-}
-
-ipt6_del() {
- ip6tables -C "$@" >/dev/null 2>/dev/null && ip6tables -D "$@"
-}
+. "$ZAPRET_BASE"/init.d/sysv/functions
-ipt6_add_del() {
- on_off_function ipt6 ipt6_del "$@"
-}
-
-# there's no route_localnet for ipv6
-# the best we can is to route to link local of the incoming interface
-# OUTPUT - can DNAT to ::1
-# PREROUTING - can't DNAT to ::1. can DNAT to link local of -i interface or to any global addr
-# not a good idea to expose tpws to the world (bind to ::)
-
-get_ipv6_linklocal() {
- # $1 - interface name. if empty - any interface
- local dev
- [ -n "$1" ] && dev="dev $1"
- ip addr show $dev | sed -e 's/^.*inet6 \([^ ]*\)\/[0-9]* scope link.*$/\1/;t;d' | head -n 1
-}
-
-get_ipv6_global() {
- # $1 - interface name. if empty - any interface
- local dev
- [ -n "$1" ] && dev="dev $1"
- ip addr show $dev | sed -e 's/^.*inet6 \([^ ]*\)\/[0-9]* scope global.*$/\1/;t;d' | head -n 1
-}
+extra_commands="start_fw stop_fw start_daemons stop_daemons"
-iface_is_up() {
- # $1 - interface name
- [ -f /sys/class/net/$1/operstate ] || return
- local state
- read state </sys/class/net/$1/operstate
- [ "$state" != "down" ]
-}
-
-wait_ifup() {
- # $1 - interface name
- local ct=0
- while
- iface_is_up $1 && return
- [ "$ct" -ge "$IFUP_WAIT_SEC" ] && break
- waiting for ifup of $1 for another $(($IFUP_WAIT_SEC - $ct)) seconds ...
- ct=$(($ct+1))
- sleep 1
- do :; done
- false
-}
-
-dnat6_target() {
- # $1 - lan network name
- # $2 - var to store target ip6
- # get target ip address for DNAT. prefer link locals
- # tpws should be as inaccessible from outside as possible
- # link local address can appear not immediately after ifup
- # DNAT6_TARGET=- means attempt was made but address was not found (to avoid multiple re-attempts)
-
- local DNAT6_TARGET DVAR=DNAT6_TARGET_$1
- DVAR=$(echo $DVAR | sed 's/[^a-zA-Z0-9_]/_/g')
- eval DNAT6_TARGET="\$$DVAR"
- [ -n "$2" ] && eval $2=''
- [ -n "$DNAT6_TARGET" ] || {
- local ct=0
- while
- DNAT6_TARGET=$(get_ipv6_linklocal $1)
- [ -n "$DNAT6_TARGET" ] && break
- [ "$ct" -ge "$LINKLOCAL_WAIT_SEC" ] && break
- echo $1: waiting for the link local for another $(($LINKLOCAL_WAIT_SEC - $ct)) seconds ...
- ct=$(($ct+1))
- sleep 1
- do :; done
-
- [ -n "$DNAT6_TARGET" ] || {
- echo $1: no link local. getting global
- DNAT6_TARGET=$(get_ipv6_global $1)
- [ -n "$DNAT6_TARGET" ] || {
- echo $1: could not get any address
- DNAT6_TARGET=-
- }
- }
- eval $DVAR="$DNAT6_TARGET"
- }
- [ -n "$2" ] && eval $2="$DNAT6_TARGET"
-}
-
-prepare_tpws_fw4() {
- # otherwise linux kernel will treat 127.0.0.0/8 as "martian" ip and refuse routing to it
- # NOTE : kernels <3.6 do not have this feature. consider upgrading or change DNAT to REDIRECT and do not bind to 127.0.0.0/8
- [ -n "$IFACE_LAN" ] && {
- iptables -N input_rule_zapret 2>/dev/null
- iptables -F input_rule_zapret
- iptables -A input_rule_zapret -d $TPWS_LOCALHOST4 -j RETURN
- iptables -A input_rule_zapret -d 127.0.0.0/8 -j DROP
- for lan in $IFACE_LAN ; do
- ipt INPUT -i $lan -j input_rule_zapret
- sysctl -qw net.ipv4.conf.$lan.route_localnet=1
- done
- }
-}
-
-unprepare_tpws_fw4() {
- if [ -n "$IFACE_LAN" ]; then
- for lan in $IFACE_LAN ; do
- ipt_del INPUT -i $lan -j input_rule_zapret
- sysctl -qw net.ipv4.conf.$lan.route_localnet=0
- done
- iptables -F input_rule_zapret 2>/dev/null
- iptables -X input_rule_zapret 2>/dev/null
- fi
-}
-
-unprepare_tpws_fw() {
- unprepare_tpws_fw4
-}
-
-print_op() {
- if [ "$1" = "1" ]; then
- echo "Adding ip$4tables rule for $3 : $2"
- else
- echo "Deleting ip$4tables rule for $3 : $2"
- fi
-}
-
-fw_tpws4() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv4
- # $3 - tpws port
- [ "$DISABLE_IPV4" = "1" ] || {
- [ "$1" = 1 ] && prepare_tpws_fw4
- print_op $1 "$2" "tpws (port $3)"
- for lan in $IFACE_LAN ; do
- ipt_add_del $1 PREROUTING -t nat -i $lan -p tcp $2 $IPSET_EXCLUDE dst -j DNAT --to $TPWS_LOCALHOST4:$3
- done
- if [ -n "$IFACE_WAN" ]; then
- for wan in $IFACE_WAN; do
- ipt_add_del $1 OUTPUT -t nat -o $wan -m owner ! --uid-owner $WS_USER -p tcp $2 $IPSET_EXCLUDE dst -j DNAT --to $TPWS_LOCALHOST4:$3
- done
- else
- ipt_add_del $1 OUTPUT -t nat -m owner ! --uid-owner $WS_USER -p tcp $2 $IPSET_EXCLUDE dst -j DNAT --to $TPWS_LOCALHOST4:$3
- fi
- }
-}
-
-fw_tpws6() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv6
- # $3 - tpws port
- [ "$DISABLE_IPV6" = "1" ] || {
- print_op $1 "$2" "tpws (port $3)" 6
- local DNAT6
- for lan in $IFACE_LAN ; do
- dnat6_target $lan DNAT6
- [ "$DNAT6" != "-" ] && ipt6_add_del $1 PREROUTING -t nat -i $lan -p tcp $2 $IPSET_EXCLUDE6 dst -j DNAT --to [$DNAT6]:$3
- done
- if [ -n "$IFACE_WAN" ]; then
- for wan in $IFACE_WAN; do
- ipt6_add_del $1 OUTPUT -t nat -o $wan -m owner ! --uid-owner $WS_USER -p tcp $2 $IPSET_EXCLUDE6 dst -j DNAT --to [::1]:$3
- done
- else
- ipt6_add_del $1 OUTPUT -t nat -m owner ! --uid-owner $WS_USER -p tcp $2 $IPSET_EXCLUDE6 dst -j DNAT --to [::1]:$3
- fi
- }
-}
-
-fw_tpws() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv4
- # $3 - iptable filter for ipv6
- # $4 - tpws port
- fw_tpws4 $1 "$2" $4
- fw_tpws6 $1 "$3" $4
-}
-
-fw_nfqws_pre4() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv4
- # $3 - queue number
- [ "$DISABLE_IPV4" = "1" ] || {
- print_op $1 "$2" "nfqws prerouting (qnum $3)"
- if [ -n "$IFACE_WAN" ]; then
- for wan in $IFACE_WAN; do
- ipt_add_del $1 PREROUTING -t mangle -i $wan -p tcp $2 $IPSET_EXCLUDE src -j NFQUEUE --queue-num $3 --queue-bypass
- done
- else
- ipt_add_del $1 PREROUTING -t mangle -p tcp $2 $IPSET_EXCLUDE src -j NFQUEUE --queue-num $3 --queue-bypass
- fi
- }
-}
-
-fw_nfqws_pre6() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv6
- # $3 - queue number
- [ "$DISABLE_IPV6" = "1" ] || {
- print_op $1 "$2" "nfqws prerouting (qnum $3)" 6
- if [ -n "$IFACE_WAN" ]; then
- for wan in $IFACE_WAN; do
- ipt6_add_del $1 PREROUTING -t mangle -i $wan -p tcp $2 $IPSET_EXCLUDE6 src -j NFQUEUE --queue-num $3 --queue-bypass
- done
- else
- ipt6_add_del $1 PREROUTING -t mangle -p tcp $2 $IPSET_EXCLUDE6 src -j NFQUEUE --queue-num $3 --queue-bypass
- fi
- }
-}
+name="zapret"
+description="DPI bypass toolkit"
+description_start_fw="Apply firewall rules"
+description_stop_fw="Remove firewall rules"
+description_start_daemons="Run daemons"
+description_stop_daemons="Stop daemons"
-fw_nfqws_pre() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv4
- # $3 - iptable filter for ipv6
- # $4 - queue number
- fw_nfqws_pre4 $1 "$2" $4
- fw_nfqws_pre6 $1 "$3" $4
-}
-
-fw_nfqws_post4() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv4
- # $3 - queue number
- [ "$DISABLE_IPV4" = "1" ] || {
- print_op $1 "$2" "nfqws postrouting (qnum $3)"
- if [ -n "$IFACE_WAN" ]; then
- for wan in $IFACE_WAN; do
- ipt_add_del $1 POSTROUTING -t mangle -o $wan -p tcp $2 $IPSET_EXCLUDE dst -j NFQUEUE --queue-num $3 --queue-bypass
- done
- else
- ipt_add_del $1 POSTROUTING -t mangle -p tcp $2 $IPSET_EXCLUDE dst -j NFQUEUE --queue-num $3 --queue-bypass
- fi
- }
-}
-
-fw_nfqws_post6() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv6
- # $3 - queue number
- [ "$DISABLE_IPV6" = "1" ] || {
- print_op $1 "$2" "nfqws postrouting (qnum $3)" 6
- if [ -n "$IFACE_WAN" ]; then
- for wan in $IFACE_WAN; do
- ipt6_add_del $1 POSTROUTING -t mangle -o $wan -p tcp $2 $IPSET_EXCLUDE6 dst -j NFQUEUE --queue-num $3 --queue-bypass
- done
- else
- ipt6_add_del $1 POSTROUTING -t mangle -p tcp $2 $IPSET_EXCLUDE6 dst -j NFQUEUE --queue-num $3 --queue-bypass
- fi
- }
-}
-
-fw_nfqws_post() {
- # $1 - 1 - add, 0 - del
- # $2 - iptable filter for ipv4
- # $3 - iptable filter for ipv6
- # $4 - queue number
- fw_nfqws_post4 $1 "$2" $4
- fw_nfqws_post6 $1 "$3" $4
-}
-
-run_daemon() {
- # $1 - daemon number : 1,2,3,...
- # $2 - daemon
- # $3 - daemon args
- # use $PIDDIR/$DAEMONBASE$1.pid as pidfile
-
- local DAEMONBASE=$(basename $2)
- local PIDFILE=$PIDDIR/$DAEMONBASE$1.pid
- ebegin "Starting daemon $1: $2 $3"
- if exists start-stop-daemon ; then
- start-stop-daemon --start --pidfile "$PIDFILE" --background --make-pidfile --exec "$2" -- $3
- else
- if [ -f "$PIDFILE" ] && pgrep -F "$PIDFILE" "$DAEMONBASE" >/dev/null; then
- echo already running
- else
- "$2" $3 >/dev/null 2>/dev/null &
- PID=$!
- if [ -n "$PID" ]; then
- echo $PID >$PIDFILE
- else
- echo could not start daemon $1 : $2 $3
- false
- fi
- fi
- fi
- eend $?
-}
-
-stop_daemon() {
- # $1 - daemon number : 1,2,3,...
- # $2 - daemon
- # use $PIDDIR/$DAEMONBASE$1.pid as pidfile
- local DAEMONBASE=$(basename $2)
- local PIDFILE=$PIDDIR/$DAEMONBASE$1.pid
- ebegin "Stopping daemon $1: $2"
- if exists start-stop-daemon ; then
- start-stop-daemon --stop --pidfile "$PIDFILE" --exec "$2"
- else
- if [ -f "$PIDFILE" ]; then
- read PID <"$PIDFILE"
- kill $PID
- rm -f "$PIDFILE"
- else
- echo no pidfile : $PIDFILE
- fi
- fi
- eend $?
-}
-
-do_daemon() {
- # $1 - 1 - run, 0 - stop
- on_off_function run_daemon stop_daemon "$@"
-}
-
-prepare_user() {
- # $WS_USER is required to prevent redirection of the traffic originating from TPWS itself
- # otherwise infinite loop will occur
- # also its good idea not to run tpws as root
- id -u $WS_USER >/dev/null 2>/dev/null || eend 1 "user $WS_USER not found!"
-}
-
-do_tpws() {
- # $1 : 1 - run, 0 - stop
- # $2 : daemon number
- # $3 : daemon args
-
- [ "$1" = "1" ] && prepare_user
-
- [ "$DISABLE_IPV4" = "1" ] && [ "$DISABLE_IPV6" = "1" ] && return 0
-
- local OPT="$TPWS_OPT_BASE"
-
- [ "$DISABLE_IPV4" = "1" ] || OPT="$OPT $TPWS_OPT_BASE4"
- [ "$DISABLE_IPV6" = "1" ] || {
- OPT="$OPT $TPWS_OPT_BASE6"
- for lan in $IFACE_LAN; do
- OPT="$OPT --bind-iface6=$lan $TPWS_OPT_BASE6_PRE"
- done
- }
-
- do_daemon $1 $2 "$TPWS" "$OPT $3"
-}
-
-do_tpws_socks() {
- # $1 : 1 - run, 0 - stop
- # $2 : daemon number
- # $3 : daemon args
-
- [ "$1" = "1" ] && prepare_user
-
- [ "$DISABLE_IPV4" = "1" ] && [ "$DISABLE_IPV6" = "1" ] && return 0
-
- local opt="$TPWS_OPT_BASE --socks"
-
- tpws_apply_socks_binds opt
-
- do_daemon $1 $2 "$TPWS" "$opt $3"
-}
-
-do_nfqws() {
- # $1 : 1 - run, 0 - stop
- # $2 : daemon number
- # $3 : daemon args
-
- [ "$1" = "1" ] && prepare_user
- do_daemon $1 $2 "$NFQWS" "$NFQWS_OPT_BASE $3"
-}
-
-filter_apply_port_target() {
- # $1 - var name of iptables filter
- local f
- if [ "$MODE_HTTP" = "1" ] && [ "$MODE_HTTPS" = "1" ]; then
- f="-m multiport --dports 80,443"
- elif [ "$MODE_HTTPS" = "1" ]; then
- f="--dport 443"
- elif [ "$MODE_HTTP" = "1" ]; then
- f="--dport 80"
- else
- echo WARNING !!! HTTP and HTTPS are both disabled
- fi
- eval $1="\"\$$1 $f\""
-}
-
-filter_apply_ipset_target() {
- # $1 - var name of ipv4 iptables filter
- # $2 - var name of ipv6 iptables filter
- if [ "$MODE_FILTER" = "ipset" ]; then
- eval $1="\"\$$1 -m set --match-set zapret dst\""
- eval $2="\"\$$2 -m set --match-set zapret6 dst\""
- fi
+depend() {
+ need net
+ use dns logger netmount
}
-filter_apply_hostlist_target() {
- # $1 - var name of tpws or nfqws params
- [ "$MODE_FILTER" = "hostlist" ] && eval $1="\"\$$1 --hostlist=$HOSTLIST\""
+start() {
+ start_daemons
+ [ "$INIT_APPLY_FW" != "1" ] || start_fw
}
-tpws_apply_socks_binds() {
- local o
-
- [ "$DISABLE_IPV4" = "1" ] || o="--bind-addr=127.0.0.1"
- [ "$DISABLE_IPV6" = "1" ] || o="$o --bind-addr=::1"
-
- for lan in $IFACE_LAN; do
- [ "$DISABLE_IPV4" = "1" ] || o="$o --bind-iface4=$lan $TPWS_WAIT"
- [ "$DISABLE_IPV6" = "1" ] || o="$o --bind-iface6=$lan --bind-linklocal=unwanted $TPWS_WAIT_SOCKS6"
- done
- eval $1="\"\$$1 $o\""
+stop() {
+ stop_daemons
+ [ "$INIT_APPLY_FW" != "1" ] || stop_fw
}
-create_ipset() {
- ebegin "Creating ipset"
- "$IPSET_CR" "$@"
- eend $?
+start_fw() {
+ ebegin "Applying firewall rules"
+ zapret_apply_firewall
+ eend $? "Failed to apply firewall rules"
}
-zapret_do_firewall() {
- # $1 - 1 - add, 0 - del
-
- local first_packet_only="-m connbytes --connbytes-dir=original --connbytes-mode=packets --connbytes 1:4"
- local desync="-m mark ! --mark $DESYNC_MARK/$DESYNC_MARK"
- local f4 f6
- local qn
-
- # always create ipsets. ip_exclude ipset is required
- [ "$1" != "1" ] || create_ipset no-update
-
- case "${MODE}" in
- tpws)
- if [ ! "$MODE_HTTP" = "1" ] && [ ! "$MODE_HTTPS" = "1" ]; then
- echo both http and https are disabled. not applying redirection.
- else
- filter_apply_port_target f4
- f6=$f4
- filter_apply_ipset_target f4 f6
- fw_tpws $1 "$f4" "$f6" $TPPORT
- fi
- ;;
- nfqws)
- if [ ! "$MODE_HTTP" = "1" ] && [ ! "$MODE_HTTPS" = "1" ]; then
- echo both http and https are disabled. not applying redirection.
- else
- if [ "$MODE_HTTP_KEEPALIVE" != "1" ] && [ "$NFQWS_OPT_DESYNC_HTTP" = "$NFQWS_OPT_DESYNC_HTTPS" ]; then
- filter_apply_port_target f4
- f4="$f4 $first_packet_only"
- f6=$f4
- filter_apply_ipset_target f4 f6
- fw_nfqws_post $1 "$f4 $desync" "$f6 $desync" $QNUM
- else
- if [ "$MODE_HTTP" = "1" ]; then
- f4="--dport 80"
- [ "$MODE_HTTP_KEEPALIVE" = "1" ] || f4="$f4 $first_packet_only"
- f6=$f4
- filter_apply_ipset_target f4 f6
- fw_nfqws_post $1 "$f4 $desync" "$f6 $desync" $QNUM
- fi
- if [ "$MODE_HTTPS" = "1" ]; then
- f4="--dport 443 $first_packet_only"
- f6=$f4
- filter_apply_ipset_target f4 f6
- qn=$QNUM
- [ "$NFQWS_OPT_DESYNC_HTTP" = "$NFQWS_OPT_DESYNC_HTTPS" ] || qn=$(($QNUM+1))
- fw_nfqws_post $1 "$f4 $desync" "$f6 $desync" $qn
- fi
- fi
- fi
- ;;
- custom)
- existf zapret_custom_firewall && zapret_custom_firewall $1
- ;;
- esac
- if [ "$1" = 0 ]; then
- unprepare_tpws_fw
- fi
+stop_fw() {
+ ebegin "Removing firewall rules"
+ zapret_unapply_firewall
+ eend $? "Failed to remove firewall rules"
}
-zapret_do_daemons() {
- # $1 - 1 - run, 0 - stop
-
- local opt
-
- case "${MODE}" in
- tpws)
- opt="--port=$TPPORT $TPWS_OPT"
- filter_apply_hostlist_target opt
- do_tpws $1 1 "$opt"
- ;;
- tpws-socks)
- opt="--port=$TPPORT $TPWS_OPT"
- filter_apply_hostlist_target opt
- do_tpws_socks $1 1 "$opt"
- ;;
- nfqws)
- opt="--qnum=$QNUM $NFQWS_OPT_DESYNC_HTTP"
- filter_apply_hostlist_target opt
- do_nfqws $1 1 "$opt"
- [ "$NFQWS_OPT_DESYNC_HTTP" = "$NFQWS_OPT_DESYNC_HTTPS" ] || {
- opt="--qnum=$(($QNUM+1)) $NFQWS_OPT_DESYNC_HTTPS"
- filter_apply_hostlist_target opt
- do_nfqws $1 2 "$opt"
- }
- ;;
- custom)
- existf zapret_custom_daemons && zapret_custom_daemons $1
- ;;
- esac
+start_daemons() {
+ ebegin "Starting daemons"
+ zapret_run_daemons
+ eend $? "Failed to start daemons"
}
-start() {
- zapret_do_daemons 1
- [ "$INIT_APPLY_FW" != "1" ] || zapret_do_firewall 1
+stop_daemons() {
+ ebegin "Stopping daemons"
+ zapret_stop_daemons
+ eend $? "Failed to stop daemons"
}
-stop() {
- zapret_do_daemons 0
- [ "$INIT_APPLY_FW" != "1" ] || zapret_do_firewall 0
-}
diff --git a/testing/zaproxy/APKBUILD b/testing/zaproxy/APKBUILD
new file mode 100644
index 00000000000..3c6d3c76ca5
--- /dev/null
+++ b/testing/zaproxy/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Ado <ado@expedio.it>
+# Maintainer: Ado <ado@expedio.it>
+pkgname=zaproxy
+pkgver=2.14.0
+pkgrel=0
+pkgdesc="OWASP Zed Attack Proxy web app scanner"
+url="https://www.zaproxy.org/"
+arch="all !x86 !armhf !armv7 !riscv64 !aarch64 !ppc64le"
+license="Apache-2.0"
+_java_v=11
+depends="
+ bash
+ openjdk$_java_v-jre
+ font-liberation
+ "
+makedepends="
+ tar
+ gradle
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/zaproxy/zaproxy/archive/v$pkgver.tar.gz"
+options="!check"
+
+build() {
+ /usr/bin/gradle :zap:distLinux
+}
+
+package() {
+ install -d "$pkgdir/usr/share/$pkgname"
+ install -d "$pkgdir/usr/bin/"
+ tar -zxf "zap/build/distributions/ZAP_${pkgver}_Linux.tar.gz" -C "$pkgdir/usr/share/$pkgname" --strip-components=1
+ ln -s "/usr/share/zaproxy/zap.sh" "$pkgdir/usr/bin/$pkgname"
+}
+
+
+sha512sums="
+660bb3b8f4789a2ae76c040ae879136da294f189bb331abc5f1e249a7fe69b64433c8a3e66d56d4f4d41072b20963afaa5615d76df5ade4049ea9d592faf017b zaproxy-2.14.0.tar.gz
+"
diff --git a/testing/zarchive/APKBUILD b/testing/zarchive/APKBUILD
new file mode 100644
index 00000000000..88dd5abec21
--- /dev/null
+++ b/testing/zarchive/APKBUILD
@@ -0,0 +1,36 @@
+# Maintainer: Simon Rupf <simon@rupf.net>
+pkgname=zarchive
+pkgver=0.1.2
+pkgrel=2
+pkgdesc="Library for creating and reading zstd-compressed file archives (.zar)"
+url="https://github.com/Exzap/ZArchive"
+arch="all"
+license="MIT-0"
+depends_dev="$pkgname=$pkgver-r$pkgrel"
+makedepends="
+ cmake
+ samurai
+ zstd-dev
+ "
+subpackages="$pkgname-libs $pkgname-dev"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Exzap/ZArchive/archive/refs/tags/v$pkgver.tar.gz"
+builddir="$srcdir/ZArchive-$pkgver"
+options="!check" # no tests
+
+build() {
+ CFLAGS="$CFLAGS -O2 -flto=auto -DNDEBUG" \
+ CXXFLAGS="$CXXFLAGS -O2 -flto=auto -DNDEBUG" \
+ cmake -B build -G Ninja -Wno-dev \
+ -DCMAKE_BUILD_TYPE=None \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON
+ cmake --build build
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+b9666e8e86e5162b4ee641905a288088311d5cd1af510b2fbf22eba722ad2d8ca43a081b14c0106743807eff256bac9a0cacbdeb06e8ccad0e8d5b9ed8fa886e zarchive-0.1.2.tar.gz
+"
diff --git a/testing/zarf/APKBUILD b/testing/zarf/APKBUILD
new file mode 100644
index 00000000000..f6d2a59844d
--- /dev/null
+++ b/testing/zarf/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: William Walker <w_walker@icloud.com>
+# Maintainer: William Walker <w_walker@icloud.com>
+pkgname=zarf
+pkgver=0.32.1
+pkgrel=2
+pkgdesc="DevSecOps for Air Gap & Limited-Connection Systems"
+url="https://zarf.dev/"
+# not useful/supported elsewhere
+arch="aarch64 x86_64"
+license="Apache-2.0"
+makedepends="go nodejs npm"
+source="$pkgname-v$pkgver.tar.gz::https://github.com/defenseunicorns/zarf/archive/refs/tags/v$pkgver.tar.gz"
+# tests are integration tests that need a full setup
+options="net !check"
+
+build() {
+ local ldflags="
+ -X github.com/defenseunicorns/zarf/src/config.CLIVersion=v$pkgver
+ -X k8s.io/component-base/version.gitVersion=v0.0.0+zarfv$pkgver
+ -X k8s.io/component-base/version.gitCommit=alpine
+ -X k8s.io/component-base/version.buildDate=null
+ "
+ go build -ldflags "$ldflags" -o build/zarf main.go
+}
+
+package() {
+ install -Dm755 build/zarf -t "$pkgdir"/usr/bin
+}
+
+sha512sums="
+b2730fb3594a0bfca6600d6e9c16f1a35b2c5f136501ebf0734aed7f1c57c1f6cc124e7d491b6a9edb8d837494a72158123d83728f54ef422338514d9181b1d2 zarf-v0.32.1.tar.gz
+"
diff --git a/testing/zathura-djvu/APKBUILD b/testing/zathura-djvu/APKBUILD
deleted file mode 100644
index a581139f838..00000000000
--- a/testing/zathura-djvu/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Maintainer: Cormac Stephenson <c7s@kasku.net>
-pkgname=zathura-djvu
-pkgver=0.2.9
-pkgrel=0
-pkgdesc="djvu plugin for zathura"
-url="https://pwmt.org/projects/zathura-djvu/"
-arch="all"
-license="Zlib"
-options="!check" # no tests
-makedepends="meson zathura-dev djvulibre-dev"
-depends="zathura"
-source="https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-$pkgver.tar.xz"
-
-build() {
- abuild-meson build
- meson compile ${JOBS:+-j ${JOBS}} -C build
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C build
-}
-sha512sums="
-3c2815e7f1cdfb9fc594dc6ad65359245f322e5fa27f018fb9431747e4d474734f5efd134aaeb9dabde09b01de603b1d1dc7aede883b1ef81266e067b0490726 zathura-djvu-0.2.9.tar.xz
-"
diff --git a/testing/zellij/APKBUILD b/testing/zellij/APKBUILD
deleted file mode 100644
index 413734c8ffb..00000000000
--- a/testing/zellij/APKBUILD
+++ /dev/null
@@ -1,31 +0,0 @@
-# Contributor: guddaff <guddaff@protonmail.com>
-# Maintainer: guddaff <guddaff@protonmail.com>
-pkgname=zellij
-pkgver=0.24.0
-pkgrel=0
-pkgdesc="Terminal multiplexer"
-url="https://zellij.dev/"
-license="MIT"
-# s390x, riscv64: limited by rust/cargo
-# armv7, ppc64le, armhf: termbg unsupported
-# x86: termbg problems building with libc
-arch="all !armhf !armv7 !ppc64le !s390x !x86 !riscv64"
-makedepends="cargo libc-dev openssl-dev"
-source="https://github.com/zellij-org/zellij/archive/v$pkgver/zellij-$pkgver.tar.gz"
-
-build() {
- cargo build --release --locked
-}
-
-check() {
- cargo test --release --locked
-}
-
-package() {
- cargo install --locked --path . --root="$pkgdir/usr"
- rm "$pkgdir"/usr/.crates*
-}
-
-sha512sums="
-3dc99b4142e7f002086684026e8a217cdf3b1078c719265b500a79b2ee45ba75aae8a103e6efd8ba4337c5496f992dbf1f282df39bd548f9d9cc4a1d01a0056a zellij-0.24.0.tar.gz
-"
diff --git a/testing/zerofree/APKBUILD b/testing/zerofree/APKBUILD
deleted file mode 100644
index ed055500838..00000000000
--- a/testing/zerofree/APKBUILD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=zerofree
-pkgver=1.1.1
-pkgrel=0
-pkgdesc="Zero free blocks from ext2, ext3 and ext4 file-systems"
-url="https://frippery.org/uml/"
-arch="all"
-license="GPL-2.0-only"
-options="!check" # No test suite from upstream
-makedepends="e2fsprogs-dev"
-source="https://frippery.org/uml/zerofree-$pkgver.tgz
- types.patch"
-
-build() {
- make
-}
-
-package() {
- install -Dm 755 -t "$pkgdir/usr/bin/" zerofree
-}
-
-sha512sums="2d7ee57a877bff2491c48054338a26d624ae75c238ac2b0568a75de88b6621c16cc1e7d65500879825d14d8ba44a5173587a061459072769c165bee47c3f9f1c zerofree-1.1.1.tgz
-0cf3833271195c2f1da591af625928d8207d6bb39702cdc9f8ade0e7e773096e4f55860438863f06639f205283c0cccbaaf8b4d9ee98e3850a5075e38d06a187 types.patch"
diff --git a/testing/zerofree/types.patch b/testing/zerofree/types.patch
deleted file mode 100644
index fecdbd49b0a..00000000000
--- a/testing/zerofree/types.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- zerofree-1.1.1/zerofree.c.orig 2019-05-05 19:22:49.000000000 -0500
-+++ zerofree-1.1.1/zerofree.c 2019-05-05 19:21:50.000000000 -0500
-@@ -17,6 +17,7 @@
- * Jan Krämer.
- */
-
-+#include <sys/types.h>
- #include <ext2fs/ext2fs.h>
- #include <stdio.h>
- #include <unistd.h>
diff --git a/testing/zfs-src/AKMBUILD b/testing/zfs-src/AKMBUILD
new file mode 100644
index 00000000000..1e5892ca9e8
--- /dev/null
+++ b/testing/zfs-src/AKMBUILD
@@ -0,0 +1,18 @@
+modname=zfs
+modver=2.2.1
+makedepends="libtool linux-headers glib-dev e2fsprogs-dev util-linux-dev libtirpc-dev"
+built_modules="module/spl.ko \
+ module/zfs.ko"
+
+build() {
+ cd "$builddir"
+ "$srcdir"/configure --prefix=/usr \
+ --with-tirpc \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --localstatedir=/var \
+ --with-config=kernel \
+ --with-linux="$kernel_srcdir"
+ make $MAKEFLAGS
+}
diff --git a/testing/zfs-src/APKBUILD b/testing/zfs-src/APKBUILD
new file mode 100644
index 00000000000..22efbc43dfc
--- /dev/null
+++ b/testing/zfs-src/APKBUILD
@@ -0,0 +1,27 @@
+# Contributor: Umar Getagazov <umar@handlerug.me>
+# Maintainer: Umar Getagazov <umar@handlerug.me>
+pkgname=zfs-src
+_modname=${pkgname%-src}
+pkgver=2.2.1
+pkgrel=0
+pkgdesc="ZFS for Linux (sources, AKMS)"
+url="https://zfsonlinux.org"
+arch="noarch"
+license="CDDL-1.0"
+depends="akms"
+options="!check" # irrelevant for a -src package
+source="https://github.com/openzfs/zfs/releases/download/zfs-$pkgver/zfs-$pkgver.tar.gz
+ AKMBUILD
+ "
+builddir="$srcdir/$_modname-$pkgver"
+
+package() {
+ mkdir -p "$pkgdir"/usr/src
+ cp -r "$builddir" "$pkgdir"/usr/src/zfs
+ install -Dm644 "$srcdir"/AKMBUILD "$pkgdir"/usr/src/zfs/AKMBUILD
+}
+
+sha512sums="
+05e17046ac4f0ba923151be3e554e075db4783c8936c5dcee2d3b6d459fb386ba33f9eb38d15c185db58a1d26926147a66c3b3fe14e9de40987f0e95efa2bb31 zfs-2.2.1.tar.gz
+0300d1e3a50f2fdab590b31d74cebb2bc2a94fa3872e8659cec9cb838fd89b76efea18cdb3e04837094633aea0a14f8d4060d8f0b23df0978dfa00c865490fc2 AKMBUILD
+"
diff --git a/testing/zfsnap/APKBUILD b/testing/zfsnap/APKBUILD
deleted file mode 100644
index 7b7f704f787..00000000000
--- a/testing/zfsnap/APKBUILD
+++ /dev/null
@@ -1,48 +0,0 @@
-# Contributor: Shyam Sunder <sgsunder1@gmail.com>
-# Maintainer: Shyam Sunder <sgsunder1@gmail.com>
-pkgname=zfsnap
-pkgver=2.0.0b3
-pkgrel=0
-pkgdesc="A portable, performant script to make rolling ZFS snapshots easy"
-url="https://www.zfsnap.org/"
-arch="noarch !armhf !armv7" # Limited by zfs
-license="BSD-3-Clause"
-depends="zfs"
-options="!check" # no unit tests, only consists of shell scripts
-subpackages="
- $pkgname-doc
- $pkgname-bash-completion
- $pkgname-zsh-completion
- "
-source="https://github.com/zfsnap/zfsnap/archive/v2.0.0-beta3.tar.gz"
-builddir="$srcdir/$pkgname-2.0.0-beta3"
-
-prepare() {
- default_prepare
- sed -i \
- -e 's#/sbin/zfs#/usr/sbin/zfs#g' \
- -e 's#/sbin/zpool#/usr/sbin/zpool#g' \
- "$builddir"/share/zfsnap/core.sh
-}
-
-package() {
- install -Dm755 "$builddir"/sbin/zfsnap.sh \
- "$pkgdir"/usr/sbin/zfsnap
- install -Dm755 "$builddir"/share/zfsnap/core.sh \
- "$pkgdir"/usr/share/zfsnap/core.sh
- install -Dm755 "$builddir"/share/zfsnap/commands/destroy.sh \
- "$pkgdir"/usr/share/zfsnap/commands/destroy.sh
- install -Dm755 "$builddir"/share/zfsnap/commands/recurseback.sh \
- "$pkgdir"/usr/share/zfsnap/commands/recurseback.sh
- install -Dm755 "$builddir"/share/zfsnap/commands/snapshot.sh \
- "$pkgdir"/usr/share/zfsnap/commands/snapshot.sh
- install -Dm644 "$builddir"/man/man8/zfsnap.8 \
- "$pkgdir"/usr/share/man/man8/zfsnap.8
-
- install -Dm644 "$builddir"/completion/$pkgname-completion.bash \
- "$pkgdir"/usr/share/bash-completion/completions/$pkgname
- install -Dm644 "$builddir"/completion/$pkgname-completion.zsh \
- "$pkgdir"/usr/share/zsh/site-functions/_$pkgname
-}
-
-sha512sums="85df793abd97a3db26fcb9d779627ea295b2132dc462c3b1afc70a877d8093196992a7912957157555714c5f1e07ae1694e7fbed9ebae2482fd5f2d846eaf694 v2.0.0-beta3.tar.gz"
diff --git a/testing/zig/APKBUILD b/testing/zig/APKBUILD
index cd0115e17eb..44f118a6efa 100644
--- a/testing/zig/APKBUILD
+++ b/testing/zig/APKBUILD
@@ -1,59 +1,72 @@
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
# Contributor: Milan P. Stanić <mps@arvanta.net>
-# Maintainer: Milan P. Stanić <mps@arvanta.net>
+# Maintainer: lauren n. liberda <lauren@selfisekai.rocks>
pkgname=zig
-pkgver=0.8.1
-pkgrel=0
-pkgdesc="general-purpose programming language designed for robustness, optimality, and maintainability"
+pkgver=0.11.0
+pkgrel=3
+pkgdesc="General-purpose programming language designed for robustness, optimality, and maintainability"
url="https://ziglang.org/"
+# arm*, x86: fails to build (allocation failed)
+# ppc64le,riscv64: builds but the test command crashes
+# s390x: blocked by lld-dev
arch="x86_64 aarch64"
license="MIT"
+install="$pkgname.pre-upgrade"
+_llvmver=16
+makedepends="
+ clang$_llvmver-dev
+ cmake
+ libxml2-dev
+ lld$_llvmver-dev
+ llvm$_llvmver-dev
+ samurai
+ zlib-dev
+ "
provides="zig-dev=$pkgver-r$pkgrel"
-#subpackages="$pkgname-doc" # disable for now, fails on build
-options="!check" # fail, disable to unblock builders
-makedepends="cmake clang-dev clang-libs llvm12-libs llvm-dev lld-dev libstdc++
- zlib-static libxml2-dev llvm12-static clang-static lld-static"
-source="$pkgname-$pkgver.tar.gz::https://github.com/ziglang/zig/archive/$pkgver.tar.gz
- llvm-include.patch"
+subpackages="$pkgname-doc"
+source="zig-$pkgver-1.tar.xz::https://ziglang.org/download/$pkgver/zig-$pkgver.tar.xz
+ $pkgname-cbe-omit-trap-in-naked-fn-1.patch::https://github.com/ziglang/zig/commit/8c6a32ac28b9cccc9dd3f371c77458cac853b240.diff
+ "
build() {
+ local crossopts=
if [ "$CBUILD" != "$CHOST" ]; then
- CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ crossopts="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
fi
- mkdir -p build
- cd build
- cmake \
- -DCMAKE_BUILD_TYPE=None \
+
+ cmake -B build -G Ninja \
+ -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
- -DCMAKE_C_FLAGS="$CFLAGS" \
- ${CMAKE_CROSSOPTS} \
- ..
- make
+ -DCMAKE_PREFIX_PATH=/usr \
+ -DCMAKE_VERBOSE_MAKEFILE=ON \
+ -DZIG_VERSION="$pkgver" \
+ -DZIG_SHARED_LLVM=ON \
+ -DZIG_TARGET_MCPU=baseline \
+ -DCLANG_INCLUDE_DIRS=/usr/lib/llvm$_llvmver/include \
+ $crossopts
+
+ cmake --build build
+
+ ./build/stage3/bin/zig build docs
}
check() {
- cd build
- ./zig build test \
- -Dskip-release \
+ ./build/stage3/bin/zig build test \
+ -Dcpu=baseline \
+ -Dskip-debug \
+ -Dskip-release-safe \
-Dskip-release-small \
- -Dskip-release-fast \
- -Dskip-non-native \
- -Dskip-libc
+ -Dskip-non-native
}
package() {
- make -C build DESTDIR="$pkgdir" install
-
- # Documentation is generated as part of `./zig build test` in check().
- # If this is no longer the case at some point it can be
- # generated explicitly using `./zig build docs`.
- ### it is not built now ###
- #install -Dm644 zig-cache/langref.html \
- # "$pkgdir"/usr/share/doc/$pkgname/langref.html
+ DESTDIR="$pkgdir" cmake --install build
+
+ mkdir -p "$pkgdir/usr/share/doc/"
+ cp -r zig-out/doc "$pkgdir/usr/share/doc/$pkgname"
}
sha512sums="
-36bea566eee3dc5c00f2713cbc6616258dbadd3ee994749339f124f8b70c691cfe7fdce6a00194f879679ea417dadb3bcc244f8b79153957a426fea2d52caaf5 zig-0.8.1.tar.gz
-2690960899f8404715e72e94b7ae7a0805f71e53d2f8b1de237708bc837e5e9817c48b4f053c6b84e6ef7a222268c22c107c22d31458106af50ba8c4c417f602 llvm-include.patch
+c19a8ae6d440a16dd5e77941fc77c036d1f284f1784376625e63b65f30b4acad62f9f4217bc818c401f88c2c33f8722f26fc467c3e23c29a89178c4b1882d1c4 zig-0.11.0-1.tar.xz
+cac6500b4aa6eb2129d7df73315cbf487b05577a6d1a1e300bcc8a5e950fa00fb2143e26105b0348393df26edb6a0b23b60ffefe68fa7fcbad2bd4a597bd72a6 zig-cbe-omit-trap-in-naked-fn-1.patch
"
diff --git a/testing/zig/llvm-include.patch b/testing/zig/llvm-include.patch
deleted file mode 100644
index 99052058e8a..00000000000
--- a/testing/zig/llvm-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Our llvm include path is not in the include list tried by default.
-
---- zig-0.7.1.orig/cmake/Findllvm.cmake
-+++ zig-0.7.1/cmake/Findllvm.cmake
-@@ -12,6 +12,7 @@
- /usr/lib/llvm/12/include
- /usr/lib/llvm-12/include
- /usr/lib/llvm-12.0/include
-+ /usr/lib/llvm12/include
- /usr/local/llvm12/include
- /usr/local/llvm120/include
- /mingw64/include
diff --git a/testing/zig/zig.pre-upgrade b/testing/zig/zig.pre-upgrade
new file mode 100644
index 00000000000..a396aae7ec2
--- /dev/null
+++ b/testing/zig/zig.pre-upgrade
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+ver_old=$2
+
+if [ "$(apk version -t "$ver_old" '0.10.0-r2')" = '<' ]; then
+ # zig 0.10 upgrades libcxx which renames the __string header to a directory
+ # https://gitlab.alpinelinux.org/alpine/apk-tools/-/issues/10856
+ rm -r /usr/lib/zig/libcxx/include/__string
+fi
+
+exit 0
diff --git a/testing/zile/APKBUILD b/testing/zile/APKBUILD
index 5999a9319d6..3dfc58b475c 100644
--- a/testing/zile/APKBUILD
+++ b/testing/zile/APKBUILD
@@ -1,34 +1,38 @@
# Contributor: Jose Maria Garcia <josemaria.alkala@gmail.com>
# Maintainer: Jose Maria Garcia <josemaria.alkala@gmail.com>
pkgname=zile
-pkgver=2.4.14
+pkgver=2.6.2
pkgrel=0
pkgdesc="GNU Zile is a text editor development kit."
url="https://www.gnu.org/software/zile"
arch="all"
-license="GPL3"
-depends=""
-makedepends="ncurses-dev gc-dev perl help2man"
-install=""
-subpackages="${pkgname}-doc"
-source="https://ftp.gnu.org/gnu/zile/${pkgname}-${pkgver}.tar.gz"
-builddir="$srcdir/${pkgname}-${pkgver}"
+license="GPL-3.0-or-later"
+makedepends="
+ glib-dev
+ gobject-introspection-dev
+ help2man
+ libgee-dev
+ ncurses-dev
+ perl
+"
+subpackages="$pkgname-doc"
+source="https://ftp.gnu.org/gnu/zile/zile-$pkgver.tar.gz"
+options="!check"
build() {
- cd "$builddir"
- ./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var
- make
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --mandir=/usr/share/man \
+ --localstatedir=/var
+ make
}
package() {
- cd "$builddir"
- make DESTDIR="$pkgdir" install
- rm -f "$pkgdir"/usr/lib/charset.alias
+ make DESTDIR="$pkgdir" install
+ rm -f "$pkgdir"/usr/lib/charset.alias
}
-sha512sums="0dea56fd13a82015ec73de3139a4b2c27ad4c001ed535f1bae557ee49f9d8a188610a08160998d0a36b95fec42b46a019fd43634ef6502ebd27e162164de98cc zile-2.4.14.tar.gz"
-
+sha512sums="
+16d5cece403fc215d53b35c31fe6f743d53d7a01cdc7d101cabe6760173539c9c31e092b29c374f28a723708027f6de626fcfee302962848091f85078fa81761 zile-2.6.2.tar.gz
+"
diff --git a/testing/zim-tools/APKBUILD b/testing/zim-tools/APKBUILD
deleted file mode 100644
index 8d0ac445869..00000000000
--- a/testing/zim-tools/APKBUILD
+++ /dev/null
@@ -1,43 +0,0 @@
-# Contributor: Oleg Titov <oleg.titov@gmail.com>
-# Maintainer: Oleg Titov <oleg.titov@gmail.com>
-pkgname=zim-tools
-pkgver=3.0.0
-pkgrel=0
-pkgdesc="Various ZIM command line tools"
-url="https://github.com/openzim/zim-tools"
-arch="all !mips !mips64" # blocked by libzim-dev
-license="GPL-3.0-or-later"
-makedepends="
- cmake
- docopt-dev
- file-dev
- gtest-dev
- gumbo-parser-dev
- libzim-dev
- meson
- mustache
- zlib-dev
- "
-replaces="zimwriterfs"
-provides="zimwriterfs=$pkgver-r$pkgrel"
-subpackages="$pkgname-doc"
-source="zim-tools-$pkgver.tar.gz::https://github.com/openzim/zim-tools/archive/$pkgver.tar.gz"
-
-build() {
- abuild-meson . output
- meson compile ${JOBS:+-j ${JOBS}} -C output
-}
-
-check() {
- meson test -C output
-}
-
-package() {
- DESTDIR="$pkgdir" meson install --no-rebuild -C output
-
- install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
-}
-
-sha512sums="
-c8adf1cb4ae76413c89f809086ce245109b8dd11621b46f5e926e8e989a9d692d4bdfb1c78cf64b0b15611c99f4f52c39b829b279d7d875c18ce39cd624628c9 zim-tools-3.0.0.tar.gz
-"
diff --git a/testing/zimg/APKBUILD b/testing/zimg/APKBUILD
deleted file mode 100644
index c1f04e5068c..00000000000
--- a/testing/zimg/APKBUILD
+++ /dev/null
@@ -1,62 +0,0 @@
-# Contributor: Alexander Edland <alpine@ocv.me>
-# Maintainer:
-pkgname=zimg
-pkgver=2.9.3
-pkgrel=1
-pkgdesc="Scaling, colorspace conversion and dithering library"
-url="https://github.com/sekrit-twc/zimg"
-arch="all !s390x !mips !mips64" # Tests fail on big-endian
-license="WTFPL-2.0"
-makedepends="autoconf automake libtool"
-subpackages="$pkgname-doc $pkgname-dev"
-source="zimg-$pkgver.tar.gz::https://github.com/sekrit-twc/zimg/archive/release-$pkgver.tar.gz
- zimg-gtest-1.8.0.tar.gz::https://github.com/google/googletest/archive/release-1.8.0.tar.gz
- musl-missing-include.patch
- "
-builddir="$srcdir/zimg-release-$pkgver"
-options="!check" # we run tests in the build stage
-
-prepare() {
- default_prepare
- mkdir -p "$pkgdir"
- # googletest is required in-tree
- ln -s "$srcdir"/googletest-*/* test/extra/googletest
- autoreconf -vfi
-}
-
-build() {
- # build and run test binaries here
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-static \
- --enable-unit-test
- make
- make test/unit_test.log
- test/unit_test
-
- # build release binaries here without enabling tests,
- # as they make zimg slower
- make clean
- ./configure \
- --build=$CBUILD \
- --host=$CHOST \
- --prefix=/usr \
- --sysconfdir=/etc \
- --mandir=/usr/share/man \
- --localstatedir=/var \
- --disable-static
- make
-}
-
-package() {
- make -j1 DESTDIR="$pkgdir" install
-}
-
-sha512sums="dfa5dd8f6f6335f6f5106e792774ae649d056c42c8f586627996be172d98b17e0583c41f1dc421edd0fc27793240df9f87217d8cdfc24a2367646e046109b196 zimg-2.9.3.tar.gz
-1dbece324473e53a83a60601b02c92c089f5d314761351974e097b2cf4d24af4296f9eb8653b6b03b1e363d9c5f793897acae1f0c7ac40149216035c4d395d9d zimg-gtest-1.8.0.tar.gz
-06c1b1220e0418ed5051a6c594bbf48ba7ed10a4e2a95b51d6ae2451ba49b1f0be97347115c203fe82322c7f3b9f75756ba03eabe902898b3e3dd2c9e1765891 musl-missing-include.patch"
diff --git a/testing/zimg/musl-missing-include.patch b/testing/zimg/musl-missing-include.patch
deleted file mode 100644
index 198ea6dbba1..00000000000
--- a/testing/zimg/musl-missing-include.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-Otherwise fails to build with missing size_t
-
-diff --git a/src/zimg/colorspace/matrix3.cpp b/src/zimg/colorspace/matrix3.cpp
-index 06e0e2f..bf849c0 100644
---- a/src/zimg/colorspace/matrix3.cpp
-+++ b/src/zimg/colorspace/matrix3.cpp
-@@ -1,4 +1,5 @@
- #include "matrix3.h"
-+#include <sys/types.h>
-
- namespace zimg {
- namespace colorspace {
diff --git a/testing/zita-convolver/20-install-major-lib-version.patch b/testing/zita-convolver/20-install-major-lib-version.patch
deleted file mode 100644
index 49d37530eba..00000000000
--- a/testing/zita-convolver/20-install-major-lib-version.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-From: Dekedro <dekedro@tankers.xyz>
-
---- a/Makefile
-+++ b/Makefile
-@@ -56,6 +56,7 @@
- install -m 644 $(ZITA-CONVOLVER_H) $(DESTDIR)$(INCDIR)
- install -m 755 $(ZITA-CONVOLVER_MIN) $(DESTDIR)$(LIBDIR)
- ln -sf $(ZITA-CONVOLVER_MIN) $(DESTDIR)$(LIBDIR)/$(ZITA-CONVOLVER_SO)
-+ ln -sf $(ZITA-CONVOLVER_MIN) $(DESTDIR)$(LIBDIR)/$(ZITA-CONVOLVER_MAJ)
-
- uninstall:
- rm -rf $(DESTDIR)$(INCDIR)/$(ZITA-CONVOLVER_H)
diff --git a/testing/zita-convolver/APKBUILD b/testing/zita-convolver/APKBUILD
deleted file mode 100644
index 033d12a00f5..00000000000
--- a/testing/zita-convolver/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: David Demelier <markand@malikania.fr>
-# Maintainer: David Demelier <markand@malikania.fr>
-pkgname=zita-convolver
-pkgver=4.0.3
-pkgrel=1
-pkgdesc="fast, partitioned convolution engine library"
-url="https://kokkinizita.linuxaudio.org/linuxaudio"
-arch="all"
-license="GPL-3.0-only"
-makedepends="fftw-dev"
-subpackages="$pkgname-dev"
-source="
- https://kokkinizita.linuxaudio.org/linuxaudio/downloads/zita-convolver-$pkgver.tar.bz2
- patch-Makefile.patch
- 20-install-major-lib-version.patch
- "
-builddir="$srcdir/$pkgname-$pkgver/source"
-options="!check" # No tests
-
-build() {
- make
-}
-
-package() {
- make LIBDIR=/usr/lib PREFIX=/usr DESTDIR="$pkgdir" install
-}
-
-sha512sums="
-62d7841757f10c094e43ed755e187f947c5743f302ed2a1ee6064a850c18921466f4505d8a2a7b3ad23619db7f1ad7307e1dfb2e8a1e7685e60ece2ffff4f6ca zita-convolver-4.0.3.tar.bz2
-15e07b06813ca336200a064734f7d2ef54cb74dfd438708675bb85b9cfd30f02c7b8c9b4e4abea368286c07a6e4e1ed5ae62cd69e6dc528e26d15cee5ff98c12 patch-Makefile.patch
-6a448b36c8cbcc7cb2793b81b9a7eb0dd53af236a6a7c9b0d8ed08d8fc445d83d6fa233a1d7a2494454b34f2c4150ae9f54e2b1adf7172015635e5732a5deb67 20-install-major-lib-version.patch
-"
diff --git a/testing/zita-convolver/patch-Makefile.patch b/testing/zita-convolver/patch-Makefile.patch
deleted file mode 100644
index 500224a8cc8..00000000000
--- a/testing/zita-convolver/patch-Makefile.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-Calls ldconfig which is not available and remove -march=native because it's not
-portable across platforms.
-
-Upstream: rejected, author not cooperative.
-
-From: Fons Adriaensen <fons@linuxaudio.org>
-To: David Demelier <markand@malikania.fr>
-Subject: Re: [PATCH] zita-convolver: fix build on Alpine Linux
-> I've packaged your zita-convolver software under Alpine Linux (which
-> uses musl [1] libc). Distributions that use musl do not have ldconfig
-> and even with, it's a system command that should not be called directly
-> from the software IMHO. It's a packager/user issue.
-
-Don't know what you mean by 'should not be called directly from the
-software', but calling ldconfig is required on most Linux systems
-when installing a shared library.
-
-> Also, it looks like the -march=native option isn't portable, it is not
-> recognized under certains architectures (s390x IIRC).
-
-If I would remove everything that isn't supported everywhere from
-zita-convolver, then it would simply not exist.
-
-The source code and Makefile are meant to work on most Linux
-systems. When that is not the case it is up to the packagers
-to make the required changes.
-
-So, thanks for the work done, but these changes won't make it
-into the code I make available.
---- a/Makefile 2020-04-17 23:15:45.045478833 +0200
-+++ b/Makefile 2020-04-17 23:15:51.438846231 +0200
-@@ -34,7 +34,6 @@
- CPPFLAGS += -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
- CPPFLAGS += -DENABLE_VECTOR_MODE
- CXXFLAGS += -fPIC -Wall -ffast-math -funroll-loops -O2
--CXXFLAGS += -march=native
- LDLFAGS +=
- LDLIBS +=
-
-@@ -56,7 +55,6 @@
- install -d $(DESTDIR)$(LIBDIR)
- install -m 644 $(ZITA-CONVOLVER_H) $(DESTDIR)$(INCDIR)
- install -m 755 $(ZITA-CONVOLVER_MIN) $(DESTDIR)$(LIBDIR)
-- ldconfig
- ln -sf $(ZITA-CONVOLVER_MIN) $(DESTDIR)$(LIBDIR)/$(ZITA-CONVOLVER_SO)
-
- uninstall:
diff --git a/testing/zita-njbridge/APKBUILD b/testing/zita-njbridge/APKBUILD
index d56bcb30b3b..2ce9aec46d8 100644
--- a/testing/zita-njbridge/APKBUILD
+++ b/testing/zita-njbridge/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Jacek Pruciak <alpine@juniorjpdj.pl>
pkgname=zita-njbridge
pkgver=0.4.8
-pkgrel=0
+pkgrel=1
pkgdesc="Command line Jack clients to transmit full quality multichannel audio over a local IP network"
url="https://kokkinizita.linuxaudio.org/linuxaudio"
arch="all"
diff --git a/testing/zita-resampler/APKBUILD b/testing/zita-resampler/APKBUILD
index 87ecb3b7c24..9c364e94690 100644
--- a/testing/zita-resampler/APKBUILD
+++ b/testing/zita-resampler/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: David Demelier <markand@malikania.fr>
# Maintainer: David Demelier <markand@malikania.fr>
pkgname=zita-resampler
-pkgver=1.8.0
+pkgver=1.10.1
pkgrel=0
pkgdesc="library for resampling audio signals"
url="https://kokkinizita.linuxaudio.org/linuxaudio"
@@ -9,7 +9,7 @@ arch="all"
license="GPL-3.0-only"
makedepends="libsndfile-dev"
subpackages="$pkgname-dev $pkgname-doc"
-source="https://kokkinizita.linuxaudio.org/linuxaudio/downloads/zita-resampler-$pkgver.tar.bz2
+source="https://kokkinizita.linuxaudio.org/linuxaudio/downloads/zita-resampler-$pkgver.tar.xz
patch-Makefile.patch"
options="!check" # No tests
@@ -29,5 +29,7 @@ package() {
ln -sf libzita-resampler.so.$pkgver "$pkgdir"/usr/lib/libzita-resampler.so.1
}
-sha512sums="adf1f465ac09104be5a02c1cf0f052a44b4c1a448312f3aca016a889e98cfcdebfded38f60300ad85d18ae03eadca7e8e95efb2875267bc36435ccfac881a8e7 zita-resampler-1.8.0.tar.bz2
-2e198effce857831235f368cb7e97a64f37ac7f2eb2fafa9beb5459418f7126b1622e4c8090c2f397d82e785a71516b182b57444e22440f6922af6afd83095d6 patch-Makefile.patch"
+sha512sums="
+ba95286b0744df393194f4f94a8aad62f6c088cf80f6be71482ed55beef6503a9bab6644f2565b69002247611fcf0fb6561fc0072578466a0133311721b43cf5 zita-resampler-1.10.1.tar.xz
+787433be1250d83c30e1de129a41fcde4f96679b1e05b644f20ca7d47609cd032e08f1c925bf8cea9a7a66f4225eb64f15516cd010a9ad60534b5c13215aa647 patch-Makefile.patch
+"
diff --git a/testing/zita-resampler/patch-Makefile.patch b/testing/zita-resampler/patch-Makefile.patch
index ef281246578..e1d9f56358c 100644
--- a/testing/zita-resampler/patch-Makefile.patch
+++ b/testing/zita-resampler/patch-Makefile.patch
@@ -2,37 +2,20 @@ Calls ldconfig which is not available and remove -march=native because it's not
portable across platforms.
Upstream: no, upstream author isn't cooperative.
---- a/apps/Makefile
-+++ b/apps/Makefile
-@@ -55,8 +55,8 @@
-
-
- install: all
-- install -d $(BINDIR)
-- install -d $(MANDIR)
-+ install -d $(DESTDIR)$(BINDIR)
-+ install -d $(DESTDIR)$(MANDIR)
- install -m 755 zresample $(DESTDIR)$(BINDIR)
- install -m 755 zretune $(DESTDIR)$(BINDIR)
- install -m 644 zresample.1.gz $(DESTDIR)$(MANDIR)
+diff --git a/source/Makefile b/source/Makefile
+index c7aa3b3..b2140b9 100644
--- a/source/Makefile
+++ b/source/Makefile
-@@ -31,9 +31,7 @@
+@@ -31,11 +31,9 @@ VERSION = $(MAJVERS).$(MINVERS)
DISTDIR = zita-resampler-$(VERSION)
CPPFLAGS += -I. -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS
-CPPFLAGS += -DENABLE_SSE2
+ CPPFLAGS += -DZITA_RESAMPLER_MAJOR_VERSION=$(MAJVERS)
+ CPPFLAGS += -DZITA_RESAMPLER_MINOR_VERSION=$(MINVERS)
-CXXFLAGS += -Wall -fPIC -O2 -ffast-math
-CXXFLAGS += -march=native
+CXXFLAGS += -Wall -fPIC -O2
LDFLAGS +=
LDLIBS +=
-@@ -58,7 +56,6 @@
- install -d $(DESTDIR)$(LIBDIR)
- install -m 644 $(ZITA-RESAMPLER_H) $(DESTDIR)$(INCDIR)/zita-resampler
- install -m 755 $(ZITA-RESAMPLER_MIN) $(DESTDIR)$(LIBDIR)
-- ldconfig
- ln -sf $(ZITA-RESAMPLER_MIN) $(DESTDIR)$(LIBDIR)/$(ZITA-RESAMPLER_SO)
-
- uninstall:
diff --git a/testing/zkgroup/APKBUILD b/testing/zkgroup/APKBUILD
index 15aee45dbe3..8071f771c78 100644
--- a/testing/zkgroup/APKBUILD
+++ b/testing/zkgroup/APKBUILD
@@ -2,16 +2,17 @@
# Maintainer: Siva Mahadevan <me@svmhdvn.name>
pkgname=zkgroup
pkgver=0.9.0
-pkgrel=0
+pkgrel=1
pkgdesc="Library for the Signal Private Group System"
url="https://github.com/signalapp/zkgroup"
-arch="all !s390x !mips !mips64 !ppc64le !riscv64" # limited by cargo
+arch="all !s390x !ppc64le !riscv64" # limited by cargo
license="GPL-3.0-only"
-makedepends="cargo"
+makedepends="cargo cargo-auditable"
source="$pkgname-$pkgver.tar.gz::https://github.com/signalapp/zkgroup/archive/v$pkgver.tar.gz"
+
build() {
- cargo build --release --locked
+ cargo auditable build --release --locked
}
check() {
diff --git a/testing/zls/APKBUILD b/testing/zls/APKBUILD
new file mode 100644
index 00000000000..7df2a3b7077
--- /dev/null
+++ b/testing/zls/APKBUILD
@@ -0,0 +1,54 @@
+# Maintainer: Rabindra Dhakal <contact@qaidvoid.dev>
+pkgname=zls
+pkgver=0.11.0
+pkgrel=1
+_knownfolders=a564f582122326328dad6b59209d070d57c4e6ae
+_diffz=90353d401c59e2ca5ed0abe5444c29ad3d7489aa
+_binned_allocator=6c3321e0969ff2463f8335da5601986cf2108690
+pkgdesc="Zig Language Server"
+url="https://github.com/zigtools/zls"
+arch="aarch64 x86_64"
+license="MIT"
+depends="zig"
+source="$pkgname-$pkgver.tar.gz::https://github.com/zigtools/zls/archive/refs/tags/$pkgver.tar.gz
+ known-folders-$_knownfolders.tar.gz::https://github.com/ziglibs/known-folders/archive/$_knownfolders.tar.gz
+ diffz-$_diffz.tar.gz::https://github.com/ziglibs/diffz/archive/$_diffz.tar.gz
+ binned_allocator-$_binned_allocator::https://gist.github.com/antlilja/8372900fcc09e38d7b0b6bbaddad3904/archive/$_binned_allocator.tar.gz"
+
+prepare() {
+ default_prepare
+
+ mkdir -p "$srcdir"/cache/p
+ mv "$srcdir"/known-folders-$_knownfolders "$srcdir"/cache/p/122048992ca58a78318b6eba4f65c692564be5af3b30fbef50cd4abeda981b2e7fa5
+ mv "$srcdir"/diffz-$_diffz "$srcdir"/cache/p/122089a8247a693cad53beb161bde6c30f71376cd4298798d45b32740c3581405864
+ mv "$srcdir"/binned_allocator-$_binned_allocator "$srcdir"/cache/1220363c7e27b2d3f39de6ff6e90f9537a0634199860fea237a55ddb1e1717f5d6a5
+}
+
+build() {
+ export ZIG_GLOBAL_CACHE_DIR="$srcdir"/cache
+ zig build \
+ -Dcpu=baseline \
+ -Dtarget=native-linux.6.1 \
+ -Doptimize=ReleaseSafe \
+ -Dpie=true
+}
+
+check() {
+ export ZIG_GLOBAL_CACHE_DIR="$srcdir"/cache
+ zig build test \
+ -Dcpu=baseline \
+ -Dtarget=native-linux.6.1 \
+ -Doptimize=ReleaseSafe \
+ -Dpie=true
+}
+
+package() {
+ install -Dm755 zig-out/bin/zls -t "$pkgdir"/usr/bin/
+}
+
+sha512sums="
+88a754cdd110997736ceda1c6f145267d1c72c83ff0d5946d8d0b40ec64668f2e6b826b9d3ca1c2f195b304097968a4fe61ae4778e3f571638dde87d8f03c21d zls-0.11.0.tar.gz
+4aa0148e859fb9cb0bc816906dedd204f16ce3001f07f13ad688b1307036d2517373a5bc9184a9aa3634be51851658f4da9b4484718e089c6cc65a30c725fe00 known-folders-a564f582122326328dad6b59209d070d57c4e6ae.tar.gz
+387ee728bdc96ba44e3a7a1974e109377f0ca8a4802198a3dc1d5160af682b9a8613309e105ab4f65e76fe1fae08b88463aa692f643e7d8cc03db4de2f94b847 diffz-90353d401c59e2ca5ed0abe5444c29ad3d7489aa.tar.gz
+62c7ed619b7cda6ca197c13066c3b6320baa16ff0f8e48b6ed1dd6dde26fd9cd652c78b8e975a43055fc5fad8b014531f32d95efc878ed863cf2b80b06668897 binned_allocator-6c3321e0969ff2463f8335da5601986cf2108690
+"
diff --git a/testing/znc-backlog/APKBUILD b/testing/znc-backlog/APKBUILD
index 69a1dfb3abe..74b73000f6c 100644
--- a/testing/znc-backlog/APKBUILD
+++ b/testing/znc-backlog/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: Mike Crute <mike@crute.us>
pkgname=znc-backlog
pkgver=0_git20210503
-pkgrel=1
+pkgrel=7
pkgdesc="Request backlog for IRC channels"
url="https://wiki.znc.in/Backlog"
arch="all"
license="Apache-2.0"
-makedepends="znc-dev icu-dev openssl-dev zlib-dev"
+makedepends="znc-dev icu-dev openssl-dev>3 zlib-dev"
# Upstream does not version, instead use the most recent hash of their master branch
_latest_upstream_hash="44314a6aca0409ae59b0d841807261be1159fff4"
source="$pkgname-$pkgver.tar.gz::https://github.com/FruitieX/znc-backlog/archive/$_latest_upstream_hash.tar.gz"
diff --git a/testing/znc-clientbuffer/APKBUILD b/testing/znc-clientbuffer/APKBUILD
index cc4ff444605..9968fc0e77c 100644
--- a/testing/znc-clientbuffer/APKBUILD
+++ b/testing/znc-clientbuffer/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: Mike Crute <mike@crute.us>
pkgname=znc-clientbuffer
pkgver=1.0.48
-pkgrel=1
+pkgrel=7
pkgdesc="ZNC module for client specific buffers"
url="https://wiki.znc.in/Clientbuffer"
arch="all"
license="MIT"
-makedepends="znc-dev icu-dev openssl-dev zlib-dev"
+makedepends="znc-dev icu-dev openssl-dev>3 zlib-dev"
source="$pkgname-$pkgver.tar.gz::https://github.com/CyberShadow/znc-clientbuffer/archive/refs/tags/v$pkgver.tar.gz"
options="!check" # Upstream has no tests
builddir="$srcdir/$pkgname-$pkgver"
diff --git a/testing/znc-playback/APKBUILD b/testing/znc-playback/APKBUILD
index 8995510732b..2455d41c228 100644
--- a/testing/znc-playback/APKBUILD
+++ b/testing/znc-playback/APKBUILD
@@ -2,12 +2,12 @@
# Maintainer: Mike Crute <mike@crute.us>
pkgname=znc-playback
pkgver=0_git20210503
-pkgrel=1
+pkgrel=7
pkgdesc="An advanced playback module for ZNC"
url="https://wiki.znc.in/Playback"
arch="all"
license="Unlicense"
-makedepends="znc-dev icu-dev openssl-dev zlib-dev"
+makedepends="znc-dev icu-dev openssl-dev>3 zlib-dev"
# Upstream does not version, instead use the most recent hash of their master branch
_latest_upstream_hash="8dd128bfe2b24b2cc6a9ea2e2d28bfaa28d2a833"
source="$pkgname-$pkgver.tar.gz::https://github.com/jpnurmi/znc-playback/archive/$_latest_upstream_hash.tar.gz"
diff --git a/testing/znc-push/APKBUILD b/testing/znc-push/APKBUILD
index e3c1daabae7..257b5729e28 100644
--- a/testing/znc-push/APKBUILD
+++ b/testing/znc-push/APKBUILD
@@ -1,15 +1,15 @@
# Contributor: Mike Crute <mike@crute.us>
# Maintainer: Mike Crute <mike@crute.us>
pkgname=znc-push
-pkgver=0_git20210507
-pkgrel=1
+pkgver=0_git20220823
+pkgrel=7
pkgdesc="Push notification service module for ZNC"
url="https://wiki.znc.in/Push"
arch="all"
license="MIT"
-makedepends="znc-dev icu-dev openssl-dev zlib-dev"
+makedepends="znc-dev icu-dev openssl-dev>3 zlib-dev"
# Upstream does not version, instead use the most recent hash of their master branch
-_latest_upstream_hash="21c4da3b3173c0138f5c9e49ae9863a70600518b"
+_latest_upstream_hash="23d84678de2696e0b1f51aa5074764d29a98d37b"
source="$pkgname-$pkgver.tar.gz::https://github.com/jreese/znc-push/archive/$_latest_upstream_hash.tar.gz"
options="!check" # Upstream has no tests
builddir="$srcdir/$pkgname-$_latest_upstream_hash"
@@ -23,5 +23,5 @@ package() {
}
sha512sums="
-da81fa3fef3acd69b2549fdb7689ea28c589a0e3026e81e57def902638a125c971027dd780e568204eec4ee23950677c5b620e0cfa72fdaf611eed900b4eaf33 znc-push-0_git20210507.tar.gz
+014361220ab8056157572117fe64f86c23b6ff398f4684d5e8b8c3687e668d3eba54d7866e5040474d55e9a364d2d2c812d68a521a1cebf74e6a23880a10a1ba znc-push-0_git20220823.tar.gz
"
diff --git a/testing/zot/APKBUILD b/testing/zot/APKBUILD
new file mode 100644
index 00000000000..7cc8c40ae51
--- /dev/null
+++ b/testing/zot/APKBUILD
@@ -0,0 +1,132 @@
+# Maintainer: Hoang Nguyen <folliekazetani@protonmail.com>
+pkgname=zot
+pkgver=2.0.1
+_zui_commit=f4a6030d93c4111af699a3ea0c154bd212e5aa06
+pkgrel=3
+pkgdesc="Vendor-neutral OCI-native container image registry"
+url="https://zotregistry.io/"
+# 32-bit, s390x, riscv64: tests fail to build
+arch="all !armv7 !armhf !x86 !s390x !riscv64"
+license="Apache-2.0"
+makedepends="go linux-headers npm nodejs"
+subpackages="
+ $pkgname-doc
+ $pkgname-openrc
+ $pkgname-cli:_cli
+ $pkgname-exporter:_exporter
+ $pkgname-cli-bash-completion:_bashcomp:noarch
+ $pkgname-cli-fish-completion:_fishcomp:noarch
+ $pkgname-cli-zsh-completion:_zshcomp:noarch
+ "
+source="
+ $pkgname-$pkgver.tar.gz::https://github.com/project-zot/zot/archive/refs/tags/v$pkgver.tar.gz
+ zui-$_zui_commit.tar.gz::https://github.com/project-zot/zui/archive/$_zui_commit.tar.gz
+ zot.initd
+ zot.confd
+
+ basename_patch
+ bump-go-sqlite3.patch
+ "
+options="net" # download Go modules
+
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
+
+prepare() {
+ default_prepare
+ go mod vendor -v
+ patch -p1 -i "$srcdir"/basename_patch
+
+ cd "$srcdir"/zui-$_zui_commit
+ npm install --no-progress
+}
+
+build() {
+ cd "$srcdir"/zui-$_zui_commit
+ npm run build
+ cp -r build "$builddir"/pkg/extensions/
+
+ cd "$builddir"
+ local _extensions="sync,search,scrub,metrics,lint,ui,mgmt,profile,userprefs,imagetrust"
+ local _goldflags="
+ -X zotregistry.io/zot/pkg/api/config.ReleaseTag=v$pkgver
+ -X zotregistry.io/zot/pkg/api/config.Commit=AlpineLinux
+ -X zotregistry.io/zot/pkg/api/config.BinaryType=${_extensions//,/-}
+ -X zotregistry.io/zot/pkg/api/config.GoVersion=$(go env GOVERSION)
+ "
+
+ for binary in zot zb zli; do
+ go build -v \
+ -ldflags "$_goldflags" \
+ -tags "$_extensions,containers_image_openpgp" \
+ ./cmd/$binary
+ done
+ go build -v -tags containers_image_openpgp ./cmd/zxp
+
+ # Only generate shell completions for the CLI client
+ for shell in bash fish zsh; do
+ ./zli completion $shell > zli.$shell
+ done
+}
+
+check() {
+ # Skip tests requiring static container image tarballs (pulled via skopeo) in ./test/data/
+ # and oras binary in ./hack/tools/
+ # shellcheck disable=2046
+ go test -tags containers_image_openpgp \
+ -skip TestHTTPClient \
+ $(go list ./... | grep -v \
+ -e 'pkg/test/image-utils$' \
+ -e 'pkg/test/common$' \
+ -e 'pkg/storage/local$')
+}
+
+package() {
+ install -Dm755 zot -t "$pkgdir"/usr/bin/
+
+ install -Dm644 examples/config-*.json -t "$pkgdir"/usr/share/doc/zot/examples/
+
+ install -Dm755 "$srcdir"/zot.initd -t "$pkgdir"/etc/init.d/zot
+ install -Dm644 "$srcdir"/zot.confd -t "$pkgdir"/etc/conf.d/zot
+}
+
+_cli() {
+ pkgdesc="$pkgdesc - CLI tools"
+ install -Dm755 "$builddir"/zli "$builddir"/zb -t "$subpkgdir"/usr/bin/
+}
+
+_exporter() {
+ pkgdesc="$pkgdesc - metrics exporter"
+ install -Dm755 "$builddir"/zxp -t "$subpkgdir"/usr/bin/
+}
+
+_bashcomp() {
+ pkgdesc="Bash completions for $pkgname-cli"
+ install_if="bash-completion $pkgname-cli=$pkgver-r$pkgrel"
+ install -Dm644 "$builddir"/zli.bash \
+ "$subpkgdir"/usr/share/bash-completion/completions/zli
+}
+
+_fishcomp() {
+ pkgdesc="Fish completions for $pkgname-cli"
+ install_if="fish $pkgname-cli=$pkgver-r$pkgrel"
+ install -Dm644 "$builddir"/zli.fish \
+ "$subpkgdir"/usr/share/fish/vendor_completions.d/zli.fish
+}
+
+_zshcomp() {
+ pkgdesc="Zsh completions for $pkgname-cli"
+ install_if="zsh $pkgname-cli=$pkgver-r$pkgrel"
+ install -Dm644 "$builddir"/zli.zsh \
+ "$subpkgdir"/usr/share/zsh/site-functions/_zli
+}
+
+sha512sums="
+47fb6a87d6d9548c5add65ba9a3ba3b5bcd6e28a12989967c67ad491c0753521ba9b453d418cef32ecc4de6929868718a9cb4734c4dbadc1602bd9cd0ce9e81a zot-2.0.1.tar.gz
+8b0f168193c664bb9f22f3340c8fcf934cf20cb53f89e25be417efb5633deb01f2dcedbd4960b03a94490f89a44ac2e53def839e2aa9489eab6ca52759d02c18 zui-f4a6030d93c4111af699a3ea0c154bd212e5aa06.tar.gz
+86dfa273e97110b703fbc368757520ef6169dead185ff54b5b8ba45e764949bc3a21a51d53a1605d7163faef8c83c066e688577f5315b8c0afb09f69a2bbe3bb zot.initd
+b128ecaf3e35cfdab8069da9a8267a9faed50b892ae07b6a4a22a4108236d6cdbc10cc4cf0105c728e9e6da6ac773f56d1dd84de1ba4463110058b6c2f190b30 zot.confd
+640526de31a5eb21112c3d3fd30ce78331e5f5998166c9af9405ebad919a9a895ee82e3eed7067c2ce7e3e558e31907398fec1ad895be708e9f8ada696076216 basename_patch
+f7efef45062db2418d6b78d7767876ff9d37204ba66da764e94cff9492fc4c2807600f1d6574d2446db7f936a5bafdf4476d4ade400910f62d30ff675ee330e3 bump-go-sqlite3.patch
+"
diff --git a/testing/zot/basename_patch b/testing/zot/basename_patch
new file mode 100644
index 00000000000..4a11a3c1ba3
--- /dev/null
+++ b/testing/zot/basename_patch
@@ -0,0 +1,10 @@
+--- a/vendor/github.com/containers/storage/pkg/unshare/unshare.c
++++ b/vendor/github.com/containers/storage/pkg/unshare/unshare.c
+@@ -18,6 +18,7 @@
+ #include <sys/vfs.h>
+ #include <sys/mount.h>
+ #include <linux/limits.h>
++#include <libgen.h>
+
+ /* Open Source projects like conda-forge, want to package podman and are based
+ off of centos:6, Conda-force has minimal libc requirements and is lacking
diff --git a/testing/zot/bump-go-sqlite3.patch b/testing/zot/bump-go-sqlite3.patch
new file mode 100644
index 00000000000..da05ad0fb43
--- /dev/null
+++ b/testing/zot/bump-go-sqlite3.patch
@@ -0,0 +1,800 @@
+--- a/go.mod
++++ b/go.mod
+@@ -1,7 +1,9 @@
+ module zotregistry.io/zot
+
+-go 1.20
++go 1.21
+
++toolchain go1.22.0
++
+ require (
+ github.com/99designs/gqlgen v0.17.41
+ github.com/Masterminds/semver v1.5.0
+@@ -38,7 +40,7 @@
+ github.com/swaggo/swag v1.16.2
+ github.com/vektah/gqlparser/v2 v2.5.10
+ go.etcd.io/bbolt v1.3.8
+- golang.org/x/crypto v0.17.0
++ golang.org/x/crypto v0.18.0
+ gopkg.in/resty.v1 v1.12.0
+ gopkg.in/yaml.v2 v2.4.0
+ )
+@@ -60,13 +62,13 @@
+ github.com/swaggo/http-swagger v1.3.4
+ github.com/zitadel/oidc v1.13.5
+ golang.org/x/oauth2 v0.15.0
+- modernc.org/sqlite v1.27.0
++ modernc.org/sqlite v1.29.3
+ oras.land/oras-go/v2 v2.3.1
+ )
+
+ require (
+- golang.org/x/sync v0.5.0 // indirect
+- golang.org/x/sys v0.15.0 // indirect
++ golang.org/x/sync v0.6.0 // indirect
++ golang.org/x/sys v0.16.0 // indirect
+ golang.org/x/text v0.14.0 // indirect
+ )
+
+@@ -142,7 +144,6 @@
+ github.com/gosuri/uitable v0.0.4 // indirect
+ github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7 // indirect
+ github.com/jmoiron/sqlx v1.3.5 // indirect
+- github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
+ github.com/kylelemons/godebug v1.1.0 // indirect
+ github.com/lann/builder v0.0.0-20180802200727-47ae307949d0 // indirect
+ github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 // indirect
+@@ -157,7 +158,7 @@
+ github.com/masahiro331/go-ext4-filesystem v0.0.0-20230612143131-27ccd485b7a1 // indirect
+ github.com/masahiro331/go-vmdk-parser v0.0.0-20221225061455-612096e4bbbd // indirect
+ github.com/masahiro331/go-xfs-filesystem v0.0.0-20230608043311-a335f4599b70 // indirect
+- github.com/mattn/go-sqlite3 v1.14.18 // indirect
++ github.com/mattn/go-sqlite3 v1.14.22 // indirect
+ github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect
+ github.com/microsoft/go-rustaudit v0.0.0-20220808201409-204dfee52032 // indirect
+ github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect
+@@ -169,6 +170,7 @@
+ github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00 // indirect
+ github.com/morikuni/aec v1.0.0 // indirect
+ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
++ github.com/ncruces/go-strftime v0.1.9 // indirect
+ github.com/nozzle/throttler v0.0.0-20180817012639-2ea982251481 // indirect
+ github.com/oleiade/reflections v1.0.1 // indirect
+ github.com/opencontainers/selinux v1.11.0 // indirect
+@@ -212,15 +214,12 @@
+ k8s.io/cli-runtime v0.28.2 // indirect
+ k8s.io/component-base v0.28.2 // indirect
+ k8s.io/kubectl v0.28.2 // indirect
+- lukechampine.com/uint128 v1.2.0 // indirect
+- modernc.org/cc/v3 v3.40.0 // indirect
+- modernc.org/ccgo/v3 v3.16.13 // indirect
+- modernc.org/libc v1.29.0 // indirect
++ modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 // indirect
++ modernc.org/libc v1.41.0 // indirect
+ modernc.org/mathutil v1.6.0 // indirect
+ modernc.org/memory v1.7.2 // indirect
+- modernc.org/opt v0.1.3 // indirect
+- modernc.org/strutil v1.1.3 // indirect
+- modernc.org/token v1.0.1 // indirect
++ modernc.org/strutil v1.2.0 // indirect
++ modernc.org/token v1.1.0 // indirect
+ oras.land/oras-go v1.2.4-0.20230829103011-4d0bf161925b // indirect
+ sigs.k8s.io/kustomize/api v0.13.5-0.20230601165947-6ce0bf390ce3 // indirect
+ sigs.k8s.io/kustomize/kyaml v0.14.3-0.20230601165947-6ce0bf390ce3 // indirect
+@@ -469,10 +468,10 @@
+ go.uber.org/zap v1.26.0 // indirect
+ golang.org/x/exp v0.0.0-20231108232855-2478ac86f678
+ golang.org/x/mod v0.14.0 // indirect
+- golang.org/x/net v0.19.0 // indirect
+- golang.org/x/term v0.15.0 // indirect
++ golang.org/x/net v0.20.0 // indirect
++ golang.org/x/term v0.16.0 // indirect
+ golang.org/x/time v0.5.0 // indirect
+- golang.org/x/tools v0.15.0 // indirect
++ golang.org/x/tools v0.17.0 // indirect
+ golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
+ google.golang.org/api v0.152.0 // indirect
+ google.golang.org/appengine v1.6.8 // indirect
+@@ -499,3 +498,5 @@
+
+ // https://github.com/gorilla/mux/issues/739
+ replace github.com/gorilla/mux => github.com/gorilla/mux v1.8.0
++
++replace modernc.org/sqlite v1.27.0 => modernc.org/sqlite v1.29.3
+--- a/go.sum
++++ b/go.sum
+@@ -115,6 +115,7 @@
+ cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI=
+ cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8=
+ cloud.google.com/go/kms v1.15.5 h1:pj1sRfut2eRbD9pFRjNnPNg/CzJPuQAzUujMIM1vVeM=
++cloud.google.com/go/kms v1.15.5/go.mod h1:cU2H5jnp6G2TDpUGZyqTCoy1n16fbubHZjmVXSMtwDI=
+ cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic=
+ cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI=
+ cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8=
+@@ -203,6 +204,7 @@
+ github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0 h1:59MxjQVfjXsBpLy+dbd2/ELV5ofnUkUZBvWSC85sheA=
+ github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20230306123547-8075edf89bb0/go.mod h1:OahwfttHWG6eJ0clwcfBAHoDI6X/LV/15hx/wlMZSrU=
+ github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230618160516-e936619f9f18 h1:rd389Q26LMy03gG4anandGFC2LW/xvjga5GezeeaxQk=
++github.com/AdamKorcz/go-fuzz-headers-1 v0.0.0-20230618160516-e936619f9f18/go.mod h1:fgJuSBrJP5qZtKqaMJE0hmhS2tmRH+44IkfZvjtaf1M=
+ github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/alibabacloudsdkgo/helper v0.2.0 h1:8+4G8JaejP8Xa6W46PzJEwisNgBXMvFcz78N6zG/ARw=
+ github.com/AliyunContainerService/ack-ram-tool/pkg/credentials/alibabacloudsdkgo/helper v0.2.0/go.mod h1:GgeIE+1be8Ivm7Sh4RgwI42aTtC9qrcj+Y9Y6CjJhJs=
+ github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU=
+@@ -214,7 +216,9 @@
+ github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0 h1:d81/ng9rET2YqdVkVwkb6EXeRrLJIwyGnJcAlAWKwhs=
+ github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.0/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI=
+ github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.1 h1:MyVTgWR8qd/Jw1Le0NZebGBUCLbtak3bJ3z1OlqZBpw=
++github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/azkeys v1.0.1/go.mod h1:GpPjLhVR9dnUoJMyHWSPy71xY9/lcmpzIPZXmF0FCVY=
+ github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.0.0 h1:D3occbWoio4EBLkbkevetNMAVX197GkzbUMtqjGWn80=
++github.com/Azure/azure-sdk-for-go/sdk/security/keyvault/internal v1.0.0/go.mod h1:bTSOgj05NGRuHHhQwAdPnYr9TOdNmKlZTgGLL6nyAdI=
+ github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
+ github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
+ github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
+@@ -251,6 +255,7 @@
+ github.com/CycloneDX/cyclonedx-go v0.7.2 h1:kKQ0t1dPOlugSIYVOMiMtFqeXI2wp/f5DBIdfux8gnQ=
+ github.com/CycloneDX/cyclonedx-go v0.7.2/go.mod h1:K2bA+324+Og0X84fA8HhN2X066K7Bxz4rpMQ4ZhjtSk=
+ github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60=
++github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
+ github.com/GoogleCloudPlatform/docker-credential-gcr v2.0.5+incompatible h1:juIaKLLVhqzP55d8x4cSVgwyQv76Z55/fRv/UBr2KkQ=
+ github.com/GoogleCloudPlatform/docker-credential-gcr v2.0.5+incompatible/go.mod h1:BB1eHdMLYEFuFdBlRMb0N7YGVdM5s6Pt0njxgvfbGGs=
+ github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc=
+@@ -281,6 +286,7 @@
+ github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c h1:kMFnB0vCcX7IL/m9Y5LO+KQYv+t1CQOiFe6+SV2J7bE=
+ github.com/ProtonMail/go-crypto v0.0.0-20230923063757-afb1ddc0824c/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0=
+ github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d h1:UrqY+r/OJnIp5u0s1SbQ8dVfLCZJsnvazdBP5hS4iRs=
++github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ=
+ github.com/ThalesIgnite/crypto11 v1.2.5 h1:1IiIIEqYmBvUYFeMnHqRft4bwf/O36jryEUpY+9ef8E=
+ github.com/ThalesIgnite/crypto11 v1.2.5/go.mod h1:ILDKtnCKiQ7zRoNxcp36Y1ZR8LBPmR2E23+wTQe/MlE=
+ github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow=
+@@ -297,6 +303,7 @@
+ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
+ github.com/alessio/shellescape v1.4.1 h1:V7yhSDDn8LP4lc4jS8pFkt0zCnzVJlG5JXy9BVKJUX0=
++github.com/alessio/shellescape v1.4.1/go.mod h1:PZAiSCk0LJaZkiCSkPv8qIobYglO3FPpyFjDCtHLS30=
+ github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74 h1:Kk6a4nehpJ3UuJRqlA3JxYxBZEqCeOmATOvrbT4p9RA=
+ github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4=
+ github.com/alibabacloud-go/alibabacloud-gateway-spi v0.0.2/go.mod h1:sCavSAvdzOjul4cEqeVtvlSaSScfNsTQ+46HwlTL1hc=
+@@ -339,20 +346,25 @@
+ github.com/alibabacloud-go/tea-xml v1.1.3 h1:7LYnm+JbOq2B+T/B0fHC4Ies4/FofC4zHzYtqw7dgt0=
+ github.com/alibabacloud-go/tea-xml v1.1.3/go.mod h1:Rq08vgCcCAjHyRi/M7xlHKUykZCEtyBy9+DPF6GgEu8=
+ github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a h1:HbKu58rmZpUGpz5+4FfNmIU+FmZg2P3Xaj2v2bfNWmk=
++github.com/alicebob/gopher-json v0.0.0-20200520072559-a9ecdc9d1d3a/go.mod h1:SGnFV6hVsYE877CKEZ6tDNTjaSXYUk6QqoIK6PrAtcc=
+ github.com/alicebob/miniredis/v2 v2.30.4 h1:8S4/o1/KoUArAGbGwPxcwf0krlzceva2XVOSchFS7Eo=
++github.com/alicebob/miniredis/v2 v2.30.4/go.mod h1:b25qWj4fCEsBeAAR2mlb0ufImGC6uH3VlUfb/HS5zKg=
+ github.com/aliyun/credentials-go v1.1.2/go.mod h1:ozcZaMR5kLM7pwtCMEpVmQ242suV6qTJya2bDq4X1Tw=
+ github.com/aliyun/credentials-go v1.3.1 h1:uq/0v7kWrxmoLGpqjx7vtQ/s03f0zR//0br/xWDTE28=
+ github.com/aliyun/credentials-go v1.3.1/go.mod h1:8jKYhQuDawt8x2+fusqa1Y6mPxemTsBEN04dgcAcYz0=
+ github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 h1:aM1rlcoLz8y5B2r4tTLMiVTrMtpfY0O8EScKJxaSaEc=
+ github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092/go.mod h1:rYqSE9HbjzpHTI74vwPvae4ZVYZd1lue2ta6xHPdblA=
+ github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
++github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
+ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
++github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
+ github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
+ github.com/apparentlymart/go-cidr v1.1.0 h1:2mAhrMoF+nhXqxTzSZMUzDHkLjmIHC+Zzn4tdgBZjnU=
+ github.com/apparentlymart/go-cidr v1.1.0/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc=
+ github.com/apparentlymart/go-textseg/v13 v13.0.0 h1:Y+KvPE1NYz0xl601PVImeQfFyEy6iT90AvPUL1NNfNw=
+ github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo=
+ github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986 h1:2a30xLN2sUZcMXl50hg+PJCIDdJgIvIbVcKqLJ/ZrtM=
++github.com/aquasecurity/bolt-fixtures v0.0.0-20200903104109-d34e7f983986/go.mod h1:NT+jyeCzXk6vXR5MTkdn4z64TgGfE5HMLC8qfj5unl8=
+ github.com/aquasecurity/defsec v0.93.1 h1:y4XgRknjs2M58XVLANBT1wulO7N6Rz1oyfwNuzID+h4=
+ github.com/aquasecurity/defsec v0.93.1/go.mod h1:i80K4WRNbcIWDOQDWnTHkutBwplzw/uZD4laKbhu4sE=
+ github.com/aquasecurity/go-dep-parser v0.0.0-20231030050624-4548cca9a5c9 h1:AYees+PQjw47SEdM6e/xxgrFzHA+UWxQl6WndDzILNY=
+@@ -369,6 +381,7 @@
+ github.com/aquasecurity/table v1.8.0 h1:9ntpSwrUfjrM6/YviArlx/ZBGd6ix8W+MtojQcM7tv0=
+ github.com/aquasecurity/table v1.8.0/go.mod h1:eqOmvjjB7AhXFgFqpJUEE/ietg7RrMSJZXyTN8E/wZw=
+ github.com/aquasecurity/testdocker v0.0.0-20230111101738-e741bda259da h1:pj/adfN0Wbzc0H8YkI1nX5K92wOU5/1/1TRuuc0y5Nw=
++github.com/aquasecurity/testdocker v0.0.0-20230111101738-e741bda259da/go.mod h1:852lbQLpK2nCwlR4ZLYIccxYCfoQao6q9Nl6tjz54v8=
+ github.com/aquasecurity/tml v0.6.1 h1:y2ZlGSfrhnn7t4ZJ/0rotuH+v5Jgv6BDDO5jB6A9gwo=
+ github.com/aquasecurity/tml v0.6.1/go.mod h1:OnYMWY5lvI9ejU7yH9LCberWaaTBW7hBFsITiIMY2yY=
+ github.com/aquasecurity/trivy v0.47.0 h1:Nlo5x5vCoBvPTz6QkHXgpYS7jT3WoCU7n7FHQ+A8FOk=
+@@ -385,6 +398,7 @@
+ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
+ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
++github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
+ github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
+ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
+ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
+@@ -453,6 +467,7 @@
+ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6 h1:9ulSU5ClouoPIYhDQdg9tpl83d5Yb91PXTKK+17q+ow=
+ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.15.6/go.mod h1:lnc2taBsR9nTlz9meD+lhFZZ9EWY712QHrRflWpTcOA=
+ github.com/aws/aws-sdk-go-v2/service/kms v1.27.2 h1:I0NiSQiZu1UzP0akJWXSacjckEpYdN4VN7XYYfW6EYs=
++github.com/aws/aws-sdk-go-v2/service/kms v1.27.2/go.mod h1:E2IzqbIZfYuYUgib2KxlaweBbkxHCb3ZIgnp85TjKic=
+ github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2 h1:Ll5/YVCOzRB+gxPqs2uD0R7/MyATC0w85626glSKmp4=
+ github.com/aws/aws-sdk-go-v2/service/s3 v1.40.2/go.mod h1:Zjfqt7KhQK+PO1bbOsFNzKgaq7TcxzmEoDWN8lM0qzQ=
+ github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.25.2 h1:JKbfiLwEqJp8zaOAOn6AVSMS96gdwP3TjBMvZYsbxqE=
+@@ -488,13 +503,18 @@
+ github.com/bmatcuk/doublestar/v4 v4.6.1 h1:FH9SifrbvJhnlQpztAx++wlkk70QBf0iBWDwNy7PA4I=
+ github.com/bmatcuk/doublestar/v4 v4.6.1/go.mod h1:xBQ8jztBU6kakFMg+8WGxn0c6z1fTSPVIjEY1Wr7jzc=
+ github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M=
++github.com/bradleyjkemp/cupaloy/v2 v2.8.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0=
+ github.com/briandowns/spinner v1.23.0 h1:alDF2guRWqa/FOZZYWjlMIx2L6H0wyewPxo/CH4Pt2A=
+ github.com/briandowns/spinner v1.23.0/go.mod h1:rPG4gmXeN3wQV/TsAY4w8lPdIM6RX3yqeBQJSrbXjuE=
+ github.com/bshuster-repo/logrus-logstash-hook v1.0.0 h1:e+C0SB5R1pu//O4MQ3f9cFuPGoOVeF2fE4Og9otCc70=
++github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk=
+ github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0=
+ github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd h1:rFt+Y/IK1aEZkEHchZRSq9OQbsSzIT/OrI8YFFmRIng=
++github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8=
+ github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ=
++github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50=
+ github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o=
++github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE=
+ github.com/buildkite/agent/v3 v3.59.0 h1:4+4gnl5DAgmDXs2JomzlVcYAiWJWkb6U9631Nh3wr0A=
+ github.com/buildkite/agent/v3 v3.59.0/go.mod h1:htNkEYNyaN7sNK63I1AIMJ30kR3l7IwxF5OCDh25jHY=
+ github.com/buildkite/go-pipeline v0.2.0 h1:+abnWSScMhJscxYgom2z0dzuXbjnYOz4RPeHmrfy31k=
+@@ -503,10 +523,13 @@
+ github.com/buildkite/interpolate v0.0.0-20200526001904-07f35b4ae251/go.mod h1:gbPR1gPu9dB96mucYIR7T3B7p/78hRVSOuzIWLHK2Y4=
+ github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0=
+ github.com/bytecodealliance/wasmtime-go/v3 v3.0.2 h1:3uZCA/BLTIu+DqCfguByNMJa2HVHpXvjfy0Dy7g6fuA=
++github.com/bytecodealliance/wasmtime-go/v3 v3.0.2/go.mod h1:RnUjnIXxEJcL6BgCvNyzCCRzZcxCgsZCi+RNlvYor5Q=
+ github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
+ github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
+ github.com/cenkalti/backoff/v3 v3.2.2 h1:cfUAAO3yvKMYKPrvhDuHSwQnhZNk/RMHKdZqKTxfm6M=
++github.com/cenkalti/backoff/v3 v3.2.2/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs=
+ github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
++github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
+ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+ github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
+ github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+@@ -544,6 +567,7 @@
+ github.com/cockroachdb/apd/v3 v3.2.1 h1:U+8j7t0axsIgvQUqthuNm82HIrYXodOV2iWLWtEaIwg=
+ github.com/cockroachdb/apd/v3 v3.2.1/go.mod h1:klXJcjp+FffLTHlhIG69tezTDvdP065naDsHzKhYSqc=
+ github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE=
++github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4=
+ github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be h1:J5BL2kskAlV9ckgEsNQXscjIaLiOYiZ75d4e94E6dcQ=
+ github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be/go.mod h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w=
+ github.com/containerd/cgroups/v3 v3.0.2 h1:f5WFqIVSgo5IZmtTT3qVBo6TzI1ON6sycSBKkymb9L0=
+@@ -590,19 +614,24 @@
+ github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
+ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+ github.com/creack/pty v1.1.20 h1:VIPb/a2s17qNeQgDnkfZC35RScx+blkKF8GV68n80J4=
++github.com/creack/pty v1.1.20/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
+ github.com/cyberphone/json-canonicalization v0.0.0-20231011164504-785e29786b46 h1:2Dx4IHfC1yHWI12AxQDJM1QbRCDfk6M+blLzlZCXdrc=
+ github.com/cyberphone/json-canonicalization v0.0.0-20231011164504-785e29786b46/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw=
+ github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg=
+ github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
+ github.com/danieljoos/wincred v1.2.0 h1:ozqKHaLK0W/ii4KVbbvluM91W2H3Sh0BncbUNPS7jLE=
++github.com/danieljoos/wincred v1.2.0/go.mod h1:FzQLLMKBFdvu+osBrnFODiv32YGwCfx0SkRa/eYHgec=
+ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
+ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+ github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
+ github.com/depcheck-test/depcheck-test v0.0.0-20220607135614-199033aaa936 h1:foGzavPWwtoyBvjWyKJYDYsyzy+23iBV7NKTwdk+LRY=
++github.com/depcheck-test/depcheck-test v0.0.0-20220607135614-199033aaa936/go.mod h1:ttKPnOepYt4LLzD+loXQ1rT6EmpyIYHro7TAJuIIlHo=
+ github.com/dgraph-io/badger/v3 v3.2103.5 h1:ylPa6qzbjYRQMU6jokoj4wzcaweHylt//CH0AKt0akg=
++github.com/dgraph-io/badger/v3 v3.2103.5/go.mod h1:4MPiseMeDQ3FNCYwRbbcBOGJLf5jsE0PPFzRiKjtcdw=
+ github.com/dgraph-io/ristretto v0.1.1 h1:6CWw5tJNgpegArSHpNHJKldNeq03FQCwYvfMVWajOK8=
++github.com/dgraph-io/ristretto v0.1.1/go.mod h1:S1GPSBCYCIhmVNfcth17y2zZtQT6wzkzgwUve0VDWWA=
+ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
+ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78=
+ github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc=
+@@ -619,11 +648,13 @@
+ github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U=
+ github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE=
+ github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2 h1:aBfCb7iqHmDEIp6fBvC/hQUddQfg+3qdYjwzaiP9Hnc=
++github.com/distribution/distribution/v3 v3.0.0-20221208165359-362910506bc2/go.mod h1:WHNsWjnIn2V1LYOrME7e8KxSeKunYHsxEm4am0BUtcI=
+ github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0=
+ github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
+ github.com/dlclark/regexp2 v1.4.0 h1:F1rxgk7p4uKjwIQxBs9oAXe5CqrXlCduYEJvrF4u93E=
+ github.com/dlclark/regexp2 v1.4.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc=
+ github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI=
++github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ=
+ github.com/docker/cli v24.0.7+incompatible h1:wa/nIwYFW7BVTGa7SWPVyyXU9lgORqUb1xfI36MSkFg=
+ github.com/docker/cli v24.0.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8=
+ github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk=
+@@ -641,9 +672,11 @@
+ github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
+ github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
+ github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4=
++github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE=
+ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
+ github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
+ github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU=
++github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM=
+ github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g=
+ github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
+ github.com/emicklei/proto v1.12.1 h1:6n/Z2pZAnBwuhU66Gs8160B8rrrYKo7h2F2sCOnNceE=
+@@ -672,18 +705,24 @@
+ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
+ github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
+ github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
++github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
+ github.com/foxcpp/go-mockdns v1.0.0 h1:7jBqxd3WDWwi/6WhDvacvH1XsN3rOLXyHM1uhvIx6FI=
++github.com/foxcpp/go-mockdns v1.0.0/go.mod h1:lgRN6+KxQBawyIghpnl5CezHFGS9VLzvtVlwxvzXTQ4=
+ github.com/frankban/quicktest v1.14.3/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps=
+ github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
++github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
+ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
+ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
+ github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU=
+ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
+ github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
+ github.com/fxamacker/cbor/v2 v2.5.0 h1:oHsG0V/Q6E/wqTS2O1Cozzsy69nqCiguo5Q1a1ADivE=
++github.com/fxamacker/cbor/v2 v2.5.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo=
+ github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+ github.com/glebarez/go-sqlite v1.20.3 h1:89BkqGOXR9oRmG58ZrzgoY/Fhy5x0M+/WV48U5zVrZ4=
++github.com/glebarez/go-sqlite v1.20.3/go.mod h1:u3N6D/wftiAzIOJtZl6BmedqxmmkDfH3q+ihjqxC9u0=
+ github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY=
++github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4=
+ github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA=
+ github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0=
+ github.com/go-chi/chi v4.1.2+incompatible h1:fGFk2Gmi/YKXk0OmGfBh0WgmN3XB8lVnEyNz34tQRec=
+@@ -695,6 +734,7 @@
+ github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU=
+ github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow=
+ github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
++github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
+ github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4=
+ github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY=
+ github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
+@@ -756,15 +796,20 @@
+ github.com/go-pkgz/expirable-cache v0.0.3 h1:rTh6qNPp78z0bQE6HDhXBHUwqnV9i09Vm6dksJLXQDc=
+ github.com/go-pkgz/expirable-cache v0.0.3/go.mod h1:+IauqN00R2FqNRLCLA+X5YljQJrwB179PfiAoMPlTlQ=
+ github.com/go-quicktest/qt v1.100.0 h1:I7iSLgIwNp0E0UnSvKJzs7ig0jg/Iq83zsZjtQNW7jY=
++github.com/go-quicktest/qt v1.100.0/go.mod h1:leyLsQ4jksGmF1KaQEyabnqGIiJTbOU5S46QegToEj4=
+ github.com/go-redis/redis/v8 v8.11.5 h1:AcZZR7igkdvfVmQTPnu9WE37LRrO/YrBH5zWyjDC0oI=
+ github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq8Jd4h5lpwo=
+ github.com/go-rod/rod v0.114.5 h1:1x6oqnslwFVuXJbJifgxspJUd3O4ntaGhRLHt+4Er9c=
++github.com/go-rod/rod v0.114.5/go.mod h1:aiedSEFg5DwG/fnNbUOTPMTTWX3MRj6vIs/a684Mthw=
+ github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+ github.com/go-sql-driver/mysql v1.7.1 h1:lUIinVbN1DY0xBg0eMOzmmtGoHwWBbvnWubQUrtU8EI=
++github.com/go-sql-driver/mysql v1.7.1/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
+ github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+ github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE=
+ github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572 h1:tfuBGBXKqDEevZMzYi5KSi8KkcZtzBcTgAUUtapy0OI=
++github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls=
+ github.com/go-test/deep v1.1.0 h1:WOcxcdHcvdgThNXjw0t76K42FXTU7HpNQWHpA2HHNlg=
++github.com/go-test/deep v1.1.0/go.mod h1:5C2ZWiW0ErCdrYzpqxLbTX7MG14M9iiw8DgHncVwcsE=
+ github.com/gobuffalo/logger v1.0.6 h1:nnZNpxYo0zx+Aj9RfMPBm+x9zAU2OayFh/xrAWi34HU=
+ github.com/gobuffalo/logger v1.0.6/go.mod h1:J31TBEHR1QLV2683OXTAItYIg8pv2JMHnF/quuAbMjs=
+ github.com/gobuffalo/packd v1.0.1 h1:U2wXfRr4E9DH8IdsDLlRFwTZTK7hLfq9qT/QHXGVe/0=
+@@ -774,8 +819,10 @@
+ github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y=
+ github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8=
+ github.com/goccy/go-yaml v1.8.1 h1:JuZRFlqLM5cWF6A+waL8AKVuCcqvKOuhJtUQI+L3ez0=
++github.com/goccy/go-yaml v1.8.1/go.mod h1:wS4gNoLalDSJxo/SpngzPQ2BN4uuZVLCmbM4S3vd4+Y=
+ github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+ github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk=
++github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+ github.com/godror/godror v0.24.2/go.mod h1:wZv/9vPiUib6tkoDl+AZ/QLf5YZgMravZ7jxH2eQWAE=
+ github.com/gofrs/uuid v4.4.0+incompatible h1:3qXRTX8/NbyulANqlc0lchS1gqAVxRgsuW1YrTJupqA=
+ github.com/gofrs/uuid v4.4.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM=
+@@ -794,6 +841,7 @@
+ github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
+ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+ github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo=
++github.com/golang/glog v1.1.2/go.mod h1:zR+okUeTbrL6EL3xHUDxZuEtGv04p5shwip1+mL/rLQ=
+ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+ github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+ github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+@@ -842,6 +890,7 @@
+ github.com/google/certificate-transparency-go v1.1.7 h1:IASD+NtgSTJLPdzkthwvAG1ZVbF2WtFg4IvoA68XGSw=
+ github.com/google/certificate-transparency-go v1.1.7/go.mod h1:FSSBo8fyMVgqptbfF6j5p/XNdgQftAhSmXcIxV9iphE=
+ github.com/google/flatbuffers v2.0.8+incompatible h1:ivUb1cGomAB101ZM1T0nOiWz9pSrTMoa9+EiY7igmkM=
++github.com/google/flatbuffers v2.0.8+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8=
+ github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49 h1:0VpGH+cDhbDtdcweoyCVsF3fhN8kejK6rFe/2FFX2nU=
+ github.com/google/gnostic-models v0.6.9-0.20230804172637-c7be7c783f49/go.mod h1:BkkQ4L1KS1xMt2aWSPStnn55ChGC0DPOn2FQYj+f25M=
+ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+@@ -882,6 +931,7 @@
+ github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+ github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+ github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw=
++github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+ github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+ github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+ github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+@@ -899,6 +949,7 @@
+ github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+ github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+ github.com/google/pprof v0.0.0-20231023181126-ff6d637d2a7b h1:RMpPgZTSApbPf7xaVel+QkoGPRLFLrwFO89uDUHEGf0=
++github.com/google/pprof v0.0.0-20231023181126-ff6d637d2a7b/go.mod h1:czg5+yv1E0ZGTi6S6vVK1mke0fV+FaUhNGcd6VRS9Ik=
+ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+ github.com/google/s2a-go v0.1.7 h1:60BLSyTrOV4/haCDW4zb1guZItoSq8foHCXrAnjBo/o=
+ github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw=
+@@ -906,7 +957,9 @@
+ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
+ github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
+ github.com/google/tink/go v1.7.0 h1:6Eox8zONGebBFcCBqkVmt60LaWZa6xg1cl/DwAh/J1w=
++github.com/google/tink/go v1.7.0/go.mod h1:GAUOd+QE3pgj9q8VKIGTCP33c/B7eb4NhxLcgTJZStM=
+ github.com/google/trillian v1.5.3 h1:3ioA5p09qz+U9/t2riklZtaQdZclaStp0/eQNfewNRg=
++github.com/google/trillian v1.5.3/go.mod h1:p4tcg7eBr7aT6DxrAoILpc3uXNfcuAvZSnQKonVg+Eo=
+ github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+ github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+ github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+@@ -962,6 +1015,7 @@
+ github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
+ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+ github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0 h1:RtRsiaGvWxcwd8y3BiRZxsylPT8hLWZ5SPcfI+3IDNk=
++github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.0/go.mod h1:TzP6duP4Py2pHLVPPQp42aoYI92+PCrVotyR5e8Vqlk=
+ github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q=
+ github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8=
+ github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
+@@ -974,6 +1028,7 @@
+ github.com/hashicorp/go-getter v1.7.2/go.mod h1:W7TalhMmbPmsSMdNjD0ZskARur/9GJ17cfHTRtXV744=
+ github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
+ github.com/hashicorp/go-hclog v1.5.0 h1:bI2ocEMgcVlz55Oj1xZNBsVi900c7II+fWDyV9o+13c=
++github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVHBcfoyhpF5M=
+ github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60=
+ github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM=
+ github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
+@@ -983,12 +1038,16 @@
+ github.com/hashicorp/go-retryablehttp v0.7.5/go.mod h1:Jy/gPYAdjqffZ/yFGCFV2doI5wjtH1ewM9u8iYVjtX8=
+ github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU=
+ github.com/hashicorp/go-rootcerts v1.0.2 h1:jzhAVGtqPKbwpyCPELlgNWhE1znq+qwJtW5Oi2viEzc=
++github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8=
+ github.com/hashicorp/go-safetemp v1.0.0 h1:2HR189eFNrjHQyENnQMMpCiBAsRxzbTMIgBhEyExpmo=
+ github.com/hashicorp/go-safetemp v1.0.0/go.mod h1:oaerMy3BhqiTbVye6QuFhFtIceqFoDHxNAB65b+Rj1I=
+ github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7 h1:UpiO20jno/eV1eVZcxqWnUohyKRe1g8FPV/xH1s/2qs=
++github.com/hashicorp/go-secure-stdlib/parseutil v0.1.7/go.mod h1:QmrqtbKuxxSWTN3ETMPuB+VtEiBJ/A9XhoYGv8E1uD8=
+ github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 h1:kes8mmyCpxJsI7FTwtzRqEy9CdjCtrXrXGuOpxEA7Ts=
++github.com/hashicorp/go-secure-stdlib/strutil v0.1.2/go.mod h1:Gou2R9+il93BqX25LAKCLuM+y9U2T4hlwvT1yprcna4=
+ github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU=
+ github.com/hashicorp/go-sockaddr v1.0.5 h1:dvk7TIXCZpmfOlM+9mlcrWmWjw/wlKT+VDq2wMvfPJU=
++github.com/hashicorp/go-sockaddr v1.0.5/go.mod h1:uoUUmtwU7n9Dv3O4SNLeFvg0SxQ3lyjsj6+CCykpaxI=
+ github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4=
+ github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+ github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
+@@ -1000,6 +1059,7 @@
+ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+ github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c=
++github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
+ github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
+ github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
+ github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
+@@ -1012,7 +1072,9 @@
+ github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
+ github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
+ github.com/hashicorp/vault/api v1.10.0 h1:/US7sIjWN6Imp4o/Rj1Ce2Nr5bki/AXi9vAW3p2tOJQ=
++github.com/hashicorp/vault/api v1.10.0/go.mod h1:jo5Y/ET+hNyz+JnKDt8XLAdKs+AM0G5W0Vp1IrFI8N8=
+ github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef h1:A9HsByNhogrvm9cWb28sjiS3i7tcKCkflWFEkHfuAgM=
++github.com/howeyc/gopass v0.0.0-20210920133722-c8aef6fb66ef/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs=
+ github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
+ github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
+ github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
+@@ -1035,12 +1097,15 @@
+ github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267 h1:TMtDYDHKYY15rFihtRfck/bfFqNfvcabqvXAFQfAUpY=
+ github.com/jedisct1/go-minisign v0.0.0-20230811132847-661be99b8267/go.mod h1:h1nSAbGFqGVzn6Jyl1R/iCcBUHN4g+gW1u9CoBTrb9E=
+ github.com/jellydator/ttlcache/v3 v3.1.0 h1:0gPFG0IHHP6xyUyXq+JaD8fwkDCqgqwohXNJBcYE71g=
++github.com/jellydator/ttlcache/v3 v3.1.0/go.mod h1:hi7MGFdMAwZna5n2tuvh63DvFLzVKySzCVW6+0gA2n4=
+ github.com/jeremija/gosubmit v0.2.7 h1:At0OhGCFGPXyjPYAsCchoBUhE099pcBXmsb4iZqROIc=
++github.com/jeremija/gosubmit v0.2.7/go.mod h1:Ui+HS073lCFREXBbdfrJzMB57OI/bdxTiLtrDHHhFPI=
+ github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg=
+ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
+ github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
+ github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
+ github.com/jmhodges/clock v1.2.0 h1:eq4kys+NI0PLngzaHEe7AmPT90XMGIEySD1JfV1PDIs=
++github.com/jmhodges/clock v1.2.0/go.mod h1:qKjhA7x7u/lQpPB1XAqX1b1lCI/w3/fNuYpI/ZjLynI=
+ github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
+ github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
+ github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
+@@ -1059,8 +1124,6 @@
+ github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
+ github.com/karrick/godirwalk v1.16.1 h1:DynhcF+bztK8gooS0+NDJFrdNZjJ3gzVzC545UNA9iw=
+ github.com/karrick/godirwalk v1.16.1/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk=
+-github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
+-github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
+ github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
+ github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
+ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
+@@ -1167,8 +1230,8 @@
+ github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
+ github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
+ github.com/mattn/go-sqlite3 v1.14.15/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
+-github.com/mattn/go-sqlite3 v1.14.18 h1:JL0eqdCOq6DJVNPSvArO/bIV9/P7fbGrV00LZHc+5aI=
+-github.com/mattn/go-sqlite3 v1.14.18/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
++github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
++github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
+ github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
+ github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg=
+ github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k=
+@@ -1176,6 +1239,7 @@
+ github.com/microsoft/go-rustaudit v0.0.0-20220808201409-204dfee52032/go.mod h1:vYT9HE7WCvL64iVeZylKmCsWKfE+JZ8105iuh2Trk8g=
+ github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
+ github.com/miekg/dns v1.1.55 h1:GoQ4hpsj0nFLYe+bWiCToyrBEJXkQfOOIvFGFy0lEgo=
++github.com/miekg/dns v1.1.55/go.mod h1:uInx36IzPl7FYnDcMeVWxj9byh7DutNykX4G9Sj60FY=
+ github.com/miekg/pkcs11 v1.0.3-0.20190429190417-a667d056470f/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
+ github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU=
+ github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
+@@ -1240,6 +1304,8 @@
+ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
+ github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
+ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
++github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4=
++github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
+ github.com/nelsam/hel/v2 v2.3.2/go.mod h1:1ZTGfU2PFTOd5mx22i5O0Lc2GY933lQ2wb/ggy+rL3w=
+ github.com/nelsam/hel/v2 v2.3.3/go.mod h1:1ZTGfU2PFTOd5mx22i5O0Lc2GY933lQ2wb/ggy+rL3w=
+ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
+@@ -1269,11 +1335,13 @@
+ github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
+ github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c=
+ github.com/onsi/ginkgo/v2 v2.13.1 h1:LNGfMbR2OVGBfXjvRZIZ2YCTQdGKtPLvuI1rMCCj3OU=
++github.com/onsi/ginkgo/v2 v2.13.1/go.mod h1:XStQ8QcGwLyF4HdfcZB8SFOS/MWCgDuXMSBe6zrvLgM=
+ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
+ github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
+ github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
+ github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro=
+ github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8=
++github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ=
+ github.com/open-policy-agent/opa v0.59.0 h1:1WFU/KUhJAr3qatm0Lf8Ea5jp10ZmlE2M07oaLiHypg=
+ github.com/open-policy-agent/opa v0.59.0/go.mod h1:rdJSkEc4oQ+0074/3Fsgno5bkPsYxTjU5aLNmMujIvI=
+ github.com/opencontainers/distribution-spec/specs-go v0.0.0-20230117141039-067a0f5b0e25 h1:DpApB9YKcjGF1Lc8FmEAD5Xa1LRhVftJGgpe3+47Vc0=
+@@ -1295,6 +1363,7 @@
+ github.com/oras-project/artifacts-spec v1.0.0-rc.2 h1:9SMCNSxkJEHqWGDiMCuy6TXHgvjgwXGdXZZGXLKQvVE=
+ github.com/oras-project/artifacts-spec v1.0.0-rc.2/go.mod h1:Xch2aLzSwtkhbFFN6LUzTfLtukYvMMdXJ4oZ8O7BOdc=
+ github.com/otiai10/copy v1.14.0 h1:dCI/t1iTdYGtkvCuBG2BgR6KZa83PTclw4U5n2wAllU=
++github.com/otiai10/copy v1.14.0/go.mod h1:ECfuL02W+/FkTWZWgQqXPWZgW9oeKCSQ5qVfSc4qc4w=
+ github.com/owenrumney/go-sarif v1.1.1/go.mod h1:dNDiPlF04ESR/6fHlPyq7gHKmrM0sHUvAGjsoh8ZH0U=
+ github.com/owenrumney/go-sarif/v2 v2.3.0 h1:wP5yEpI53zr0v5cBmagXzLbHZp9Oylyo3AJDpfLBITs=
+ github.com/owenrumney/go-sarif/v2 v2.3.0/go.mod h1:MSqMMx9WqlBSY7pXoOZWgEsVB4FDNfhcaXDA1j6Sr+w=
+@@ -1377,18 +1446,22 @@
+ github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
+ github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
+ github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M=
++github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA=
+ github.com/rs/cors v1.10.1 h1:L0uuZVXIKlI1SShY2nhFfo44TYvDPQ1w4oFkUJNfhyo=
++github.com/rs/cors v1.10.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
+ github.com/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
+ github.com/rs/zerolog v1.31.0 h1:FcTR3NnLWW+NnTwwhFWiJSZr4ECLpqCm6QsEnyvbV4A=
+ github.com/rs/zerolog v1.31.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss=
+ github.com/rubenv/sql-migrate v1.3.1 h1:Vx+n4Du8X8VTYuXbhNxdEUoh6wiJERA0GlWocR5FrbA=
+ github.com/rubenv/sql-migrate v1.3.1/go.mod h1:YzG/Vh82CwyhTFXy+Mf5ahAiiEOpAlHurg+23VEzcsk=
+ github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww=
++github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
+ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
+ github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
+ github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
+ github.com/ryanuber/go-glob v1.0.0 h1:iQh3xXAumdQ+4Ufa5b25cRpC5TYKlno6hsv6Cb3pkBk=
++github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc=
+ github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ=
+ github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U=
+ github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
+@@ -1400,6 +1473,7 @@
+ github.com/sassoftware/relic v7.2.1+incompatible h1:Pwyh1F3I0r4clFJXkSI8bOyJINGqpgjJU3DYAZeI05A=
+ github.com/sassoftware/relic v7.2.1+incompatible/go.mod h1:CWfAxv73/iLZ17rbyhIEq3K9hs5w6FpNMdUT//qR+zk=
+ github.com/sassoftware/relic/v7 v7.6.1 h1:O5s8ewCgq5QYNpv45dK4u6IpBmDM9RIcsbf/G1uXepQ=
++github.com/sassoftware/relic/v7 v7.6.1/go.mod h1:NxwtWxWxlUa9as2qZi635Ye6bBT/tGnMALLq7dSfOOU=
+ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
+ github.com/secure-systems-lab/go-securesystemslib v0.7.0 h1:OwvJ5jQf9LnIAS83waAjPbcMsODrTQUpJ02eNLUoxBg=
+ github.com/secure-systems-lab/go-securesystemslib v0.7.0/go.mod h1:/2gYnlnHVQ6xeGtfIqFy7Do03K4cdCY0A/GlJLDKLHI=
+@@ -1423,9 +1497,13 @@
+ github.com/sigstore/sigstore v1.7.6 h1:zB0woXx+3Bp7dk7AjklHF1VhXBdCs84VXkZbp0IHLv8=
+ github.com/sigstore/sigstore v1.7.6/go.mod h1:FJE+NpEZIs4QKqZl4B2RtaVLVDcDtocAwTiNlexeBkY=
+ github.com/sigstore/sigstore/pkg/signature/kms/aws v1.7.6 h1:WzZExOcFanrFfCi7SUgkBtJicWnSNziBD9nSSQIrqhc=
++github.com/sigstore/sigstore/pkg/signature/kms/aws v1.7.6/go.mod h1:3zOHOLHnCE6EXyVH+6Z/lC9O1RDsbmR045NQ1DogiHw=
+ github.com/sigstore/sigstore/pkg/signature/kms/azure v1.7.6 h1:wsPt9kNXF1ZZyae2wO35NLsK+cjWqPGpuPaDdXzRe0g=
++github.com/sigstore/sigstore/pkg/signature/kms/azure v1.7.6/go.mod h1:LH+ct6D77J8Ks6PXijMYYhmlQ1mbqKHbmy7+Sw5/Woc=
+ github.com/sigstore/sigstore/pkg/signature/kms/gcp v1.7.6 h1:aMVT9XXFQEnBtJ6szzanyAdKT5gFK4emN+jLSlFlOso=
++github.com/sigstore/sigstore/pkg/signature/kms/gcp v1.7.6/go.mod h1:Hwhlx8JSZJF1R27JlwW/Bl2h40reG3MfKANREtBI0L8=
+ github.com/sigstore/sigstore/pkg/signature/kms/hashivault v1.7.6 h1:TdSHzcFtPJxbk4B+huWC6GDq7OpgHmLg18inRo9u70I=
++github.com/sigstore/sigstore/pkg/signature/kms/hashivault v1.7.6/go.mod h1:/l/PzSbTOuIAtglOwUdlzzYvjIZ2WyaBpt5722JTmLY=
+ github.com/sigstore/timestamp-authority v1.2.0 h1:Ffk10QsHxu6aLwySQ7WuaoWkD63QkmcKtozlEFot/VI=
+ github.com/sigstore/timestamp-authority v1.2.0/go.mod h1:ojKaftH78Ovfow9DzuNl5WgTCEYSa4m5622UkKDHRXc=
+ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
+@@ -1438,6 +1516,7 @@
+ github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA=
+ github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
+ github.com/smallstep/assert v0.0.0-20200723003110-82e2b9b3b262 h1:unQFBIznI+VYD1/1fApl1A+9VcBk+9dcqGfnePY87LY=
++github.com/smallstep/assert v0.0.0-20200723003110-82e2b9b3b262/go.mod h1:MyOHs9Po2fbM1LHej6sBUT8ozbxmMOFG+E+rx/GSGuc=
+ github.com/smarty/assertions v1.15.0 h1:cR//PqUBUiQRakZWqBiFFQ9wb8emQGDb0HeGdqGByCY=
+ github.com/smarty/assertions v1.15.0/go.mod h1:yABtdzeQs6l1brC900WlRNwj6ZR55d7B+E8C6HtKdec=
+ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
+@@ -1447,6 +1526,7 @@
+ github.com/smartystreets/goconvey v1.8.1/go.mod h1:+/u4qLyY6x1jReYOp7GOM2FSt8aP9CzCZL03bI28W60=
+ github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
+ github.com/sosedoff/gitkit v0.4.0 h1:opyQJ/h9xMRLsz2ca/2CRXtstePcpldiZN8DpLLF8Os=
++github.com/sosedoff/gitkit v0.4.0/go.mod h1:V3EpGZ0nvCBhXerPsbDeqtyReNb48cwP9KtkUYTKT5I=
+ github.com/sosodev/duration v1.1.0 h1:kQcaiGbJaIsRqgQy7VGlZrVw1giWO+lDoX3MCPnpVO4=
+ github.com/sosodev/duration v1.1.0/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg=
+ github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
+@@ -1517,6 +1597,7 @@
+ github.com/tchap/go-patricia/v2 v2.3.1 h1:6rQp39lgIYZ+MHmdEq4xzuk1t7OdC35z/xm0BGhTkes=
+ github.com/tchap/go-patricia/v2 v2.3.1/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k=
+ github.com/terminalstatic/go-xsd-validate v0.1.5 h1:RqpJnf6HGE2CB/lZB1A8BYguk8uRtcvYAPLCF15qguo=
++github.com/terminalstatic/go-xsd-validate v0.1.5/go.mod h1:18lsvYFofBflqCrvo1umpABZ99+GneNTw2kEEc8UPJw=
+ github.com/tetratelabs/wazero v1.2.1 h1:J4X2hrGzJvt+wqltuvcSjHQ7ujQxA9gb6PeMs4qlUWs=
+ github.com/tetratelabs/wazero v1.2.1/go.mod h1:wYx2gNRg8/WihJfSDxA1TIL8H+GkfLYm+bIfbblu9VQ=
+ github.com/thales-e-security/pool v0.0.2 h1:RAPs4q2EbWsTit6tpzuvTFlgFRJ3S8Evf5gtvVDbmPg=
+@@ -1548,9 +1629,11 @@
+ github.com/vektah/gqlparser/v2 v2.5.10 h1:6zSM4azXC9u4Nxy5YmdmGu4uKamfwsdKTwp5zsEealU=
+ github.com/vektah/gqlparser/v2 v2.5.10/go.mod h1:1rCcfwB2ekJofmluGWXMSEnPMZgbxzwj6FaZ/4OT8Cc=
+ github.com/veraison/go-cose v1.2.0 h1:Ok0Hr3GMAf8K/1NB4sV65QGgCiukG1w1QD+H5tmt0Ow=
++github.com/veraison/go-cose v1.2.0/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4=
+ github.com/vmihailenco/msgpack/v4 v4.3.12/go.mod h1:gborTTJjAo/GWTqqRjrLCn9pgNN+NXzzngzBKDPIqw4=
+ github.com/vmihailenco/tagparser v0.1.1/go.mod h1:OeAg3pn3UbLjkWt+rN9oFYB6u/cQgqMEUPoW2WPyhdI=
+ github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
++github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
+ github.com/xanzy/go-gitlab v0.94.0 h1:GmBl2T5zqUHqyjkxFSvsT7CbelGdAH/dmBqUBqS+4BE=
+ github.com/xanzy/go-gitlab v0.94.0/go.mod h1:ETg8tcj4OhrB84UEgeE8dSuV/0h4BBL1uOV/qK0vlyI=
+ github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
+@@ -1577,10 +1660,15 @@
+ github.com/yashtewari/glob-intersection v0.2.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok=
+ github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
+ github.com/ysmood/fetchup v0.2.3 h1:ulX+SonA0Vma5zUFXtv52Kzip/xe7aj4vqT5AJwQ+ZQ=
++github.com/ysmood/fetchup v0.2.3/go.mod h1:xhibcRKziSvol0H1/pj33dnKrYyI2ebIvz5cOOkYGns=
+ github.com/ysmood/goob v0.4.0 h1:HsxXhyLBeGzWXnqVKtmT9qM7EuVs/XOgkX7T6r1o1AQ=
++github.com/ysmood/goob v0.4.0/go.mod h1:u6yx7ZhS4Exf2MwciFr6nIM8knHQIE22lFpWHnfql18=
+ github.com/ysmood/got v0.34.1 h1:IrV2uWLs45VXNvZqhJ6g2nIhY+pgIG1CUoOcqfXFl1s=
++github.com/ysmood/got v0.34.1/go.mod h1:yddyjq/PmAf08RMLSwDjPyCvHvYed+WjHnQxpH851LM=
+ github.com/ysmood/gson v0.7.3 h1:QFkWbTH8MxyUTKPkVWAENJhxqdBa4lYTQWqZCiLG6kE=
++github.com/ysmood/gson v0.7.3/go.mod h1:3Kzs5zDl21g5F/BlLTNcuAGAYLKt2lV5G8D1zF3RNmg=
+ github.com/ysmood/leakless v0.8.0 h1:BzLrVoiwxikpgEQR0Lk8NyBN5Cit2b1z+u0mgL4ZJak=
++github.com/ysmood/leakless v0.8.0/go.mod h1:R8iAXPRaG97QJwqxs74RdwzcRHT1SWCGTNqY8q0JvMQ=
+ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+ github.com/yuin/goldmark v1.1.30/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+@@ -1590,10 +1678,15 @@
+ github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+ github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
+ github.com/yuin/gopher-lua v1.1.0 h1:BojcDhfyDWgU2f2TOzYK/g5p2gxMrku8oupLDqlnSqE=
++github.com/yuin/gopher-lua v1.1.0/go.mod h1:GBR0iDaNXjAgGg9zfCvksxSRnQx76gclCIb7kdAd1Pw=
+ github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43 h1:+lm10QQTNSBd8DVTNGHx7o/IKu9HYDvLMffDhbyLccI=
++github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs=
+ github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50 h1:hlE8//ciYMztlGpl/VA+Zm1AcTPHYkHJPbHqE6WJUXE=
++github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA=
+ github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f h1:ERexzlUfuTvpE74urLSbIQW0Z/6hF9t8U4NsJLaioAY=
++github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg=
+ github.com/zalando/go-keyring v0.2.2 h1:f0xmpYiSrHtSNAVgwip93Cg8tuF45HJM6rHq/A5RI/4=
++github.com/zalando/go-keyring v0.2.2/go.mod h1:sI3evg9Wvpw3+n4SqplGSJUMwtDeROfD4nsFz4z9PG0=
+ github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
+ github.com/zclconf/go-cty v1.13.0 h1:It5dfKTTZHe9aeppbNOda3mN7Ag7sg6QkBNm6TkyFa0=
+ github.com/zclconf/go-cty v1.13.0/go.mod h1:YKQzy/7pZ7iq2jNFzy5go57xdxdWoLLpaEp4u238AE0=
+@@ -1602,6 +1695,7 @@
+ github.com/zeebo/errs v1.3.0 h1:hmiaKqgYZzcVgRL1Vkc1Mn2914BbzB0IBxs+ebeutGs=
+ github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4=
+ github.com/zitadel/logging v0.3.4 h1:9hZsTjMMTE3X2LUi0xcF9Q9EdLo+FAezeu52ireBbHM=
++github.com/zitadel/logging v0.3.4/go.mod h1:aPpLQhE+v6ocNK0TWrBrd363hZ95KcI17Q1ixAQwZF0=
+ github.com/zitadel/oidc v1.13.5 h1:7jhh68NGZitLqwLiVU9Dtwa4IraJPFF1vS+4UupO93U=
+ github.com/zitadel/oidc v1.13.5/go.mod h1:rHs1DhU3Sv3tnI6bQRVlFa3u0lCwtR7S21WHY+yXgPA=
+ go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
+@@ -1629,7 +1723,9 @@
+ go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc=
+ go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo=
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 h1:cl5P5/GIfFh4t6xyruOgJP5QiA1pw4fYYdv6nc6CBWw=
++go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0/go.mod h1:zgBdWWAu7oEEMC06MMKc5NLbA/1YDXV1sMpSqEeLQLg=
+ go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0 h1:tIqheXEFWAZ7O8A7m+J0aPTmpJN3YQ7qetUAdkkkKpk=
++go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.21.0/go.mod h1:nUeKExfxAQVbiVFn32YXpXZZHZ61Cc3s3Rn1pDBGAb0=
+ go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4=
+ go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM=
+ go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8=
+@@ -1638,6 +1734,7 @@
+ go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ=
+ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
+ go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
++go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
+ go.starlark.net v0.0.0-20230525235612-a134d8f9ddca h1:VdD38733bfYv5tUZwEIskMM93VanwNIi5bIKnDrJdEY=
+ go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds=
+ go.step.sm/crypto v0.38.0 h1:kRVtzOjplP5xDh9UlenXdDAtXWCfVL6GevZgpiom1Zg=
+@@ -1645,6 +1742,7 @@
+ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
+ go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
+ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
++go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
+ go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
+ go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU=
+ go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
+@@ -1682,8 +1780,8 @@
+ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc=
+ golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
+ golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
+-golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
+-golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
++golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc=
++golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
+ golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+ golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+ golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+@@ -1794,8 +1892,8 @@
+ golang.org/x/net v0.11.0/go.mod h1:2L/ixqYpgIVXmeoSA/4Lu7BzTG4KIyPIryS4IsOd1oQ=
+ golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
+ golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ=
+-golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c=
+-golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U=
++golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo=
++golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
+ golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+@@ -1839,8 +1937,8 @@
+ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+ golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+-golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
+-golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
++golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ=
++golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
+ golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+ golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+@@ -1939,8 +2037,8 @@
+ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+ golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+-golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
+-golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
++golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
++golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+ golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+ golang.org/x/term v0.0.0-20220526004731-065cf7ba2467/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+@@ -1954,8 +2052,8 @@
+ golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU=
+ golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U=
+ golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww=
+-golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
+-golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
++golang.org/x/term v0.16.0 h1:m+B6fahuftsE9qjo0VWp2FW0mB3MTJvR0BaMQrq0pmE=
++golang.org/x/term v0.16.0/go.mod h1:yn7UURbUtPyrVJPGPq404EukNFxcm/foM+bV/bfcDsY=
+ golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+ golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+@@ -2046,8 +2144,8 @@
+ golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo=
+ golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
+ golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU=
+-golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8=
+-golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk=
++golang.org/x/tools v0.17.0 h1:FvmRgNOcs3kOa+T20R1uhfP9F6HgG2mfxDv1vrx1Htc=
++golang.org/x/tools v0.17.0/go.mod h1:xsh6VxdV005rRVaS6SSAf9oiAqljS7UZUacMZ8Bnsps=
+ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+@@ -2329,6 +2427,7 @@
+ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+ gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo=
+ gotest.tools/v3 v3.5.1 h1:EENdUnS3pdur5nybKYIh2Vfgc8IUNBjxDPSjtiJcOzU=
++gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU=
+ helm.sh/helm/v3 v3.12.3 h1:5y1+Sbty12t48T/t/CGNYUIME5BJ0WKfmW/sobYqkFg=
+ helm.sh/helm/v3 v3.12.3/go.mod h1:KPKQiX9IP5HX7o5YnnhViMnNuKiL/lJBVQ47GHe1R0k=
+ honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+@@ -2360,30 +2459,22 @@
+ k8s.io/kubectl v0.28.2/go.mod h1:6EQWTPySF1fn7yKoQZHYf9TPwIl2AygHEcJoxFekr64=
+ k8s.io/utils v0.0.0-20230726121419-3b25d923346b h1:sgn3ZU783SCgtaSJjpcVVlRqd6GSnlTLKgpAAttJvpI=
+ k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
+-lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
+-lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
+-modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw=
+-modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
+-modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
+-modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
+-modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
+-modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
+-modernc.org/libc v1.29.0 h1:tTFRFq69YKCF2QyGNuRUQxKBm1uZZLubf6Cjh/pVHXs=
+-modernc.org/libc v1.29.0/go.mod h1:DaG/4Q3LRRdqpiLyP0C2m1B8ZMGkQ+cCgOIjEtQlYhQ=
++modernc.org/fileutil v1.3.0 h1:gQ5SIzK3H9kdfai/5x41oQiKValumqNTDXMvKo62HvE=
++modernc.org/fileutil v1.3.0/go.mod h1:XatxS8fZi3pS8/hKG2GH/ArUogfxjpEKs3Ku3aK4JyQ=
++modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6 h1:5D53IMaUuA5InSeMu9eJtlQXS2NxAhyWQvkKEgXZhHI=
++modernc.org/gc/v3 v3.0.0-20240107210532-573471604cb6/go.mod h1:Qz0X07sNOR1jWYCrJMEnbW/X55x206Q7Vt4mz6/wHp4=
++modernc.org/libc v1.41.0 h1:g9YAc6BkKlgORsUWj+JwqoB1wU3o4DE3bM3yvA3k+Gk=
++modernc.org/libc v1.41.0/go.mod h1:w0eszPsiXoOnoMJgrXjglgLuDy/bt5RR4y3QzUUeodY=
+ modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
+ modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
+ modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E=
+ modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E=
+-modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
+-modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
+-modernc.org/sqlite v1.27.0 h1:MpKAHoyYB7xqcwnUwkuD+npwEa0fojF0B5QRbN+auJ8=
+-modernc.org/sqlite v1.27.0/go.mod h1:Qxpazz0zH8Z1xCFyi5GSL3FzbtZ3fvbjmywNogldEW0=
+-modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
+-modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
+-modernc.org/tcl v1.15.2 h1:C4ybAYCGJw968e+Me18oW55kD/FexcHbqH2xak1ROSY=
+-modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg=
+-modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+-modernc.org/z v1.7.3 h1:zDJf6iHjrnB+WRD88stbXokugjyc0/pB91ri1gO6LZY=
++modernc.org/sqlite v1.29.3 h1:6L71d3zXVB8oubdVSuwiurNyYRetQ3It8l1FSwylwQ0=
++modernc.org/sqlite v1.29.3/go.mod h1:MjUIBKZ+tU/lqjNLbVAAMjsQPdWdA/ciwdhsT9kBwk8=
++modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
++modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0=
++modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=
++modernc.org/token v1.1.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
+ oras.land/oras-go v1.2.4-0.20230829103011-4d0bf161925b h1:l686f99tTmPu2ivMXCQeEup0BRgl+JH9IPNEbqAude0=
+ oras.land/oras-go v1.2.4-0.20230829103011-4d0bf161925b/go.mod h1:3epPRss3O+fN+y5SrffVQuubeSpw9atz1gcaAX+V0Tw=
+ oras.land/oras-go/v2 v2.3.1 h1:lUC6q8RkeRReANEERLfH86iwGn55lbSWP20egdFHVec=
+@@ -2405,3 +2496,4 @@
+ sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
+ sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
+ software.sslmate.com/src/go-pkcs12 v0.2.0 h1:nlFkj7bTysH6VkC4fGphtjXRbezREPgrHuJG20hBGPE=
++software.sslmate.com/src/go-pkcs12 v0.2.0/go.mod h1:23rNcYsMabIc1otwLpTkCCPwUq6kQsTyowttG/as0kQ=
diff --git a/testing/zot/zot.confd b/testing/zot/zot.confd
new file mode 100644
index 00000000000..cd2532640b3
--- /dev/null
+++ b/testing/zot/zot.confd
@@ -0,0 +1,10 @@
+# zot service configuration options
+
+# user:group to run the process with
+#command_user="zot:zot"
+
+# location of the configuration file
+#cfgfile="/etc/zot/config.json"
+
+# comment to use traditional service management
+supervisor=supervise-daemon
diff --git a/testing/zot/zot.initd b/testing/zot/zot.initd
new file mode 100644
index 00000000000..50acbbf4ee2
--- /dev/null
+++ b/testing/zot/zot.initd
@@ -0,0 +1,22 @@
+#!/sbin/openrc-run
+
+: ${command_user:="zot:zot"}
+: ${cfgfile:="/etc/zot/config.json"}
+
+name=zot
+description="OCI-native container image registry"
+command="/usr/bin/zot"
+command_args="serve $cfgfile"
+command_background="yes"
+pidfile="/run/$RC_SVCNAME.pid"
+
+required_files="$cfgfile"
+
+depend() {
+ need net localmount
+ after firewall
+}
+
+start_pre() {
+ $command verify "$cfgfile"
+}
diff --git a/testing/zot/zot.pre-install b/testing/zot/zot.pre-install
new file mode 100644
index 00000000000..1172808ceef
--- /dev/null
+++ b/testing/zot/zot.pre-install
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+addgroup -S zot 2>/dev/null
+adduser -S -D -h /var/lib/zot -s /sbin/nologin -G zot -g zot zot 2>/dev/null
+
+exit 0
diff --git a/testing/zrepl/6b3ec7a04933a91bf6c8c0501c236e584a5fb1d9.patch b/testing/zrepl/6b3ec7a04933a91bf6c8c0501c236e584a5fb1d9.patch
deleted file mode 100644
index 17fe9e931f3..00000000000
--- a/testing/zrepl/6b3ec7a04933a91bf6c8c0501c236e584a5fb1d9.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 6b3ec7a04933a91bf6c8c0501c236e584a5fb1d9 Mon Sep 17 00:00:00 2001
-From: Christian Schwarz <me@cschwarz.com>
-Date: Tue, 14 Sep 2021 22:33:13 +0200
-Subject: [PATCH] transport/tcp: ipmap tests: remove tests that cover CIDR
- normalization
-
-They broke on Go 1.17.
-See
-https://www.bleepingcomputer.com/news/security/go-rust-net-library-affected-by-critical-ip-address-validation-vulnerability/
-for context.
-
-fixes #514
----
- transport/tcp/serve_tcp_ipmap_test.go | 8 +++-----
- 1 file changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/transport/tcp/serve_tcp_ipmap_test.go b/transport/tcp/serve_tcp_ipmap_test.go
-index 5606869a..b18890f6 100644
---- a/transport/tcp/serve_tcp_ipmap_test.go
-+++ b/transport/tcp/serve_tcp_ipmap_test.go
-@@ -93,13 +93,10 @@ func TestIPMap(t *testing.T) {
- expect: map[string]testCaseExpect{
- "10.1.2.3": {expectNoMapping: true},
- "192.168.23.1": {expectIdent: "db-192.168.23.1"},
-+ "192.168.42.1": {expectIdent: "web-192.168.42.1"},
- "192.168.23.23": {expectIdent: "db-twentythree"},
-- "192.168.023.001": {expectIdent: "db-192.168.23.1"},
- "10.1.4.5": {expectIdent: "my-10.1.4.5-server"},
-
-- // normalization
-- "192.168.42.1": {expectIdent: "web-192.168.42.1"},
-- "192.168.042.001": {expectIdent: "web-192.168.42.1"},
- // v6 matching
- "fe80::23:42%eth1": {expectIdent: "san-fe80::23:42-eth1"},
- "fe80::23:42%eth2": {expectNoMapping: true},
-@@ -179,7 +176,8 @@ func TestIPMap(t *testing.T) {
- for input, expect := range c.expect {
- // reuse newIPMapEntry to parse test case input
- // "test" is not used during testing but must not be empty.
-- ipMapEntry, _ := newIPMapEntry(input, "test")
-+ ipMapEntry, err := newIPMapEntry(input, "test")
-+ require.NoError(t, err)
- ones, bits := ipMapEntry.subnet.Mask.Size()
- require.Equal(t, bits, net.IPv6len*8, "and we know ipMapEntry always expands its IPs to 16bytes")
- require.Equal(t, ones, net.IPv6len*8, "test case addresses must be fully specified")
diff --git a/testing/zrepl/APKBUILD b/testing/zrepl/APKBUILD
index 5d321355052..17376cf571b 100644
--- a/testing/zrepl/APKBUILD
+++ b/testing/zrepl/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: Shawn Rose <shawnandrewrose@gmail.com>
# Maintainer: Shawn Rose <shawnandrewrose@gmail.com>
pkgname=zrepl
-pkgver=0.4.0
-pkgrel=2
+pkgver=0.6.1
+pkgrel=3
pkgdesc="one-stop, integrated solution for ZFS replication"
url="https://zrepl.github.io/"
# s390x: failing tests
@@ -16,12 +16,13 @@ subpackages="
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/zrepl/zrepl/archive/v$pkgver.tar.gz
- 6b3ec7a04933a91bf6c8c0501c236e584a5fb1d9.patch
zrepl.yml
zrepl.initd
"
-export GOPATH="$srcdir"
+export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
+export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
+export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
build() {
export GO111MODULE=on
@@ -58,8 +59,7 @@ cleanup_srcdir() {
}
sha512sums="
-4af81007ed5720c5f3615ef62f55b7be69164f1456239464ee891b2c27a91722929e67a617ce8cad837aa780aaf6f33e8b94c054e58cff066cdb29d537c534ed zrepl-0.4.0.tar.gz
-677207d617102a36e2f55f99053ebf3e65bba04ca2ff0c0b850c7ccde2601f01707573c4881867563b1c3b3874686288e36ba60844b8a2bc22e2bc57e6032f4d 6b3ec7a04933a91bf6c8c0501c236e584a5fb1d9.patch
+0fb28014f4c50d2512eec2b767883b342f8fc6cd5661dd04bebfb75d9774f4face9402202e2e830c0ca9b831502fdeac1c00e874ea3b0e9188c8df54e353dc70 zrepl-0.6.1.tar.gz
ae39a92de1bfd3f0e957b70d02fe05918426fab9203da99d9ee2ee81c173f67e3a55ae525126c4cb0966d0911d7a5bb4c0977915bc0bd11c9a1b607777d39286 zrepl.yml
a6c77686e0189aec4e1ab281d6473c530f9b4371738aca392a6dd6599ed554af9e7d50d68221b4d575bdf3f607640892da34a96d53847d74bbfcf75a25b1836a zrepl.initd
"
diff --git a/testing/zsh-fast-syntax-highlighting/APKBUILD b/testing/zsh-fast-syntax-highlighting/APKBUILD
new file mode 100644
index 00000000000..d307f0f3b8b
--- /dev/null
+++ b/testing/zsh-fast-syntax-highlighting/APKBUILD
@@ -0,0 +1,34 @@
+# Contributor: Matthias Ahouansou <matthias@ahouansou.cz>
+# Maintainer: Matthias Ahouansou <matthias@ahouansou.cz>
+pkgname=zsh-fast-syntax-highlighting
+pkgver=1.55_git20230705
+_gitrev=cf318e06a9b7c9f2219d78f41b46fa6e06011fd9
+pkgrel=0
+pkgdesc="Feature-rich syntax highlighting for ZSH"
+url="https://github.com/zdharma-continuum/fast-syntax-highlighting"
+arch="noarch"
+license="BSD-3-Clause"
+depends="zsh"
+#checkdepends="zunit"
+subpackages="$pkgname-doc"
+source="fast-syntax-highlighting-$_gitrev.tar.gz::https://github.com/zdharma-continuum/fast-syntax-highlighting/archive/$_gitrev.tar.gz"
+builddir="$srcdir/fast-syntax-highlighting-$_gitrev"
+options="!check" # zunit is not currently packaged
+
+package() {
+ mkdir -p "$pkgdir"/usr/share/zsh/plugins
+ install -Dm 644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+ install -Dm 644 CHROMA_GUIDE.adoc -t "$pkgdir"/usr/share/doc/"$pkgname"/
+ install -Dm 644 THEME_GUIDE.md -t "$pkgdir"/usr/share/doc/"$pkgname"/
+
+ rm test tests images .github -r
+ rm .fast* .gitignore .zunit.yml
+ rm CHANGELOG.md CHROMA_GUIDE.adoc LICENSE README.md THEME_GUIDE.md
+
+ mkdir -p "$pkgdir"/usr/share/zsh/plugins/fast-syntax-highlighting
+ mv ./* "$pkgdir"/usr/share/zsh/plugins/fast-syntax-highlighting
+}
+
+sha512sums="
+805bf31b305c32cc2509a3cf28d4f49d94dcdf32dcd91dab9d2933be71d34c15b1b8a948dc48fe00642d8799fda41743d914dca0c13b75b5b13277e07750d22c fast-syntax-highlighting-cf318e06a9b7c9f2219d78f41b46fa6e06011fd9.tar.gz
+"
diff --git a/testing/zsh-fzf-tab/APKBUILD b/testing/zsh-fzf-tab/APKBUILD
new file mode 100644
index 00000000000..c05e30fdd5f
--- /dev/null
+++ b/testing/zsh-fzf-tab/APKBUILD
@@ -0,0 +1,25 @@
+# Contributor: Maxim Karasev <begs@disroot.org>
+# Maintainer: Maxim Karasev <begs@disroot.org>
+pkgname=zsh-fzf-tab
+_name=fzf-tab
+pkgver=0_git20220331
+_commit=7e0eee64df6c7c81a57792674646b5feaf89f263
+pkgrel=0
+pkgdesc="replace zsh's default completion selection menu with fzf"
+options="!check" # No testsuite
+url="https://github.com/Aloxaf/fzf-tab"
+arch="noarch"
+license="MIT"
+depends="zsh"
+source="$pkgname-$pkgver.tar.gz::https://github.com/Aloxaf/fzf-tab/archive/$_commit.tar.gz"
+builddir="$srcdir/$_name-$_commit"
+
+package() {
+ install -D $_name.zsh $_name.plugin.zsh -t \
+ "$pkgdir/usr/share/zsh/plugins/$_name"
+ cp -r lib "$pkgdir/usr/share/zsh/plugins/$_name"
+}
+
+sha512sums="
+a8867f79915b3e43b2ba7ddb9c891be7e08539035801c13bf33fd74523cd0f089fb0dbb702fdf1a8176cf8814c39a41c4a58c7c433becbbffe8757a63c0d1adc zsh-fzf-tab-0_git20220331.tar.gz
+"
diff --git a/testing/zsh-histdb-skim/APKBUILD b/testing/zsh-histdb-skim/APKBUILD
new file mode 100644
index 00000000000..6141ccf38f6
--- /dev/null
+++ b/testing/zsh-histdb-skim/APKBUILD
@@ -0,0 +1,45 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=zsh-histdb-skim
+pkgver=0.8.6
+pkgrel=0
+pkgdesc="A zsh histdb browser using skim"
+url="https://github.com/m42e/zsh-histdb-skim"
+# riscv64: textrels
+# s390x: fails to build nix crate
+arch="all !riscv64 !s390x"
+license="MIT"
+depends="zsh-histdb"
+makedepends="
+ cargo
+ cargo-auditable
+ sqlite-dev
+ "
+source="https://github.com/m42e/zsh-histdb-skim/archive/v$pkgver/zsh-histdb-skim-$pkgver.tar.gz"
+
+prepare() {
+ default_prepare
+
+ cargo fetch --locked
+}
+
+build() {
+ cargo auditable build --frozen --release
+}
+
+check() {
+ cargo test --frozen
+}
+
+package() {
+ local plugname="${pkgname#zsh-}"
+
+ install -D -m755 target/release/$pkgname -t "$pkgdir"/usr/bin/
+
+ install -D -m644 zsh-histdb-skim-vendored.zsh \
+ "$pkgdir"/usr/share/zsh/plugins/$plugname/$plugname.plugin.zsh
+}
+
+sha512sums="
+36e5ecc5b1b4c4fa04b07d54b1e319b5726b721cbaff480dfa2c5c78528b94d120dcc35f6878fd3c34e1f5afc3b77171cb9f3f67b7c21e093bff2a789579c90f zsh-histdb-skim-0.8.6.tar.gz
+"
diff --git a/testing/zsh-history-substring-search/APKBUILD b/testing/zsh-history-substring-search/APKBUILD
deleted file mode 100644
index 8eb4b372f58..00000000000
--- a/testing/zsh-history-substring-search/APKBUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# Contributor: Jakub Jirutka <jakub@jirutka.cz>
-# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
-pkgname=zsh-history-substring-search
-pkgver=1.0.2
-pkgrel=1
-pkgdesc="Zsh port of the Fish shell's history search"
-url="https://github.com/zsh-users/zsh-history-substring-search"
-arch="noarch"
-license="BSD-3-Clause"
-depends="zsh"
-source="$pkgname-$pkgver.tar.gz::https://github.com/zsh-users/zsh-history-substring-search/archive/v$pkgver.tar.gz"
-options="!check" # upstream does not provide tests
-
-package() {
- install -D -m 644 $pkgname.zsh \
- "$pkgdir"/usr/share/zsh/packages/$pkgname/$pkgname.zsh
-}
-
-sha512sums="9547cdd74f6bd5b102ca29b7b455cd4ce7450fe86864b5a149365de4c37d3da887edb403b195e80c142fe61861a3e4c063a5d8ba08ec0532b27a1207c80a023d zsh-history-substring-search-1.0.2.tar.gz"
diff --git a/testing/zsh-manydots-magic/APKBUILD b/testing/zsh-manydots-magic/APKBUILD
new file mode 100644
index 00000000000..2147ab50460
--- /dev/null
+++ b/testing/zsh-manydots-magic/APKBUILD
@@ -0,0 +1,21 @@
+# Maintainer: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
+pkgname=zsh-manydots-magic
+pkgver=0_git20230607
+_commit=4372de0718714046f0c7ef87b43fc0a598896af6
+pkgrel=1
+pkgdesc="zle tweak for emulating ...==../.. etc"
+url="https://github.com/knu/zsh-manydots-magic"
+arch="noarch"
+license="BSD-2-Clause"
+depends="zsh"
+source="$pkgname-$pkgver.tar.gz::https://github.com/knu/zsh-manydots-magic/archive/$_commit.tar.gz"
+builddir="$srcdir/$pkgname-$_commit"
+options="!check" # No testsuite
+
+package() {
+ install -Dm644 manydots-magic -t "$pkgdir/usr/share/zsh/site-functions/"
+}
+
+sha512sums="
+5221bfdd0893eed3fe7d3d2fbcd8e43c2eef484c7425dab846b986ae8b7068509c77a7412413a1e9644485ad0aae9683b4cd916d9669b2b62e65d8d53845be51 zsh-manydots-magic-0_git20230607.tar.gz
+"
diff --git a/testing/zsh-theme-powerlevel10k/APKBUILD b/testing/zsh-theme-powerlevel10k/APKBUILD
deleted file mode 100644
index 8bdbacfebc9..00000000000
--- a/testing/zsh-theme-powerlevel10k/APKBUILD
+++ /dev/null
@@ -1,67 +0,0 @@
-# Contributor: Jacek Pruciak <alpine@juniorjpdj.pl>
-# Maintainer: Jacek Pruciak <alpine@juniorjpdj.pl>
-pkgname=zsh-theme-powerlevel10k
-pkgver=1.15.0
-pkgrel=0
-pkgdesc="Theme for Zsh. It emphasizes speed, flexibility and out-of-the-box experience."
-url="https://github.com/romkatv/powerlevel10k"
-arch="all"
-license="MIT"
-depends="zsh"
-makedepends="cmake perl-utils"
-options="!check" # no upstream tests
-source="
- $pkgname-$pkgver.tar.gz::https://github.com/romkatv/powerlevel10k/archive/refs/tags/v$pkgver.tar.gz
- dont-download-gitstatus.patch
-"
-builddir="$srcdir/powerlevel10k-$pkgver"
-
-case "$CARCH" in
- armel) _cpu=armv5;;
- armhf) _cpu=armv6;;
- armv7l) _cpu=armv7;;
- aarch64) _cpu=armv8-a;;
- ppc64le) _cpu=powerpc64le;;
- riscv64) _cpu=rv64imafdc;;
- x86_64) _cpu=x86-64;;
- x86) _cpu=i586;;
- s390x) _cpu=z900;;
- *) _cpu="$CARCH";;
-esac
-
-build() {
- cd gitstatus
- ./build -w -c "$_cpu"
- cd ..
-
- make pkg
-}
-
-package() {
- # remove unneeded files
- find . \( \
- -name 'docs' -o \
- -name '.vscode' -o \
- -name 'deps' -o \
- -name '*.md' -o \
- -name 'src' -o \
- -name 'Makefile' -o \
- -name '.vscode' -o \
- -name 'LICENSE' -o \
- -name '.gitattributes' -o \
- -name '.clang-format' -o \
- -name 'mbuild' -o \
- -name 'build' -o \
- -name '.gitignore' -o \
- -name '.gitkeep' -o \
- -name '*.png' \
- \) -exec rm -rf {} +
-
- find . -path .git -prune \
- -o '(' -type f -exec install -D '{}' "$pkgdir/usr/share/zsh-theme-powerlevel10k/{}" ';' ')'
-}
-
-sha512sums="
-ba848aed634fcfcc7da901092cd1d9876df5bde06eae729e684e9bc0aa67109e29e5600d56ae2683769e2ce79948e31b9d07aef11d745d04ef68e24de8ac2ad4 zsh-theme-powerlevel10k-1.15.0.tar.gz
-59bd7c90ab156bb47dae68a9787e146ada87093ce78c3c90ddaaf6b3e7c0976e0f70852e32758ddcac8b9aa3be2c2d2bb00a74815b354dd009b3b4c56bd8b5aa dont-download-gitstatus.patch
-"
diff --git a/testing/zsh-theme-powerlevel10k/dont-download-gitstatus.patch b/testing/zsh-theme-powerlevel10k/dont-download-gitstatus.patch
deleted file mode 100644
index 334714c2549..00000000000
--- a/testing/zsh-theme-powerlevel10k/dont-download-gitstatus.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Upstream: No, upstream added additional make target after stable tag
-Reason: gitstatus Makefile downloads binary instead of building one and even when it's present - downloads new one
-
---- a/gitstatus/Makefile
-+++ b/gitstatus/Makefile
-@@ -35,7 +35,7 @@ clean:
- rm -rf -- $(OBJDIR)
-
- pkg:
-- GITSTATUS_DAEMON= GITSTATUS_CACHE_DIR=$(shell pwd)/usrbin ./install -f
-+ GITSTATUS_DAEMON= GITSTATUS_CACHE_DIR=$(shell pwd)/usrbin ./install
- $(or $(ZSH),:) -fc 'for f in *.zsh install; do zcompile -R -- $$f.zwc $$f || exit; done'
-
- -include $(OBJS:.o=.dep)
diff --git a/testing/zulip-term/APKBUILD b/testing/zulip-term/APKBUILD
deleted file mode 100644
index bf58de89b0b..00000000000
--- a/testing/zulip-term/APKBUILD
+++ /dev/null
@@ -1,32 +0,0 @@
-# Contributor: omni <omni+alpine@hack.org>
-# Maintainer: omni <omni+alpine@hack.org>
-pkgname=zulip-term
-_pkgname=zulip-terminal
-pkgver=0.6.0
-pkgrel=2
-pkgdesc="official terminal client for Zulip"
-url="https://github.com/zulip/zulip-terminal"
-arch="noarch"
-license="Apache-2.0"
-depends="py3-urwid py3-beautifulsoup4 py3-lxml py3-typing-extensions \
- py3-dateutil py3-tzlocal py3-urwid_readline py3-zulip"
-makedepends="py3-setuptools"
-subpackages="$pkgname-doc"
-options="!check" # legacy dependencies
-source="$pkgname-$pkgver.tar.gz::https://github.com/zulip/zulip-terminal/archive/$pkgver.tar.gz"
-builddir="$srcdir/$_pkgname-$pkgver"
-
-build() {
- python3 setup.py build
-}
-
-package() {
- python3 setup.py install --prefix=/usr --root="$pkgdir"
-
- install -Dm0644 -t "$pkgdir"/usr/share/doc/"$pkgname" \
- docs/getting-started.md \
- docs/FAQ.md
- install -Dm0644 LICENSE -t "$pkgdir"/usr/share/doc/"$pkgname"
-}
-
-sha512sums="df6b5d4364b42711e15d12519c89e301402bf921f61bdcd04bb445fe12c10de466c43f850785208b441bc0c95608d52f8da197716dd5ed80b483cd9aa14e21c3 zulip-term-0.6.0.tar.gz"
diff --git a/testing/zutty/APKBUILD b/testing/zutty/APKBUILD
new file mode 100644
index 00000000000..74120ef9601
--- /dev/null
+++ b/testing/zutty/APKBUILD
@@ -0,0 +1,37 @@
+# Contributor: Hakan Erduman <hakan@erduman.de>
+# Maintainer: Hakan Erduman <hakan@erduman.de>
+pkgname=zutty
+pkgver=0.14
+pkgrel=0
+pkgdesc="Zero-cost unicode teletype - a high-end terminal for low-end systems"
+url="https://tomscii.sig7.se/zutty"
+arch="all !x86"
+license="GPL-3.0-or-later"
+makedepends="
+ freetype-dev
+ libxmu-dev
+ mesa-dev
+ "
+source="$pkgname-$pkgver.tar.gz::https://github.com/tomscii/zutty/archive/refs/tags/$pkgver.tar.gz"
+options="!check" # only manual tests available
+
+build() {
+ python3 waf configure --prefix=/usr
+ python3 waf build
+}
+
+package() {
+ python3 waf install --destdir="$pkgdir"
+ # upstream does not handle localization so .desktop and icons are as-is
+ install -Dm664 "$srcdir/$pkgname-$pkgver"/icons/zutty.desktop "$pkgdir"/usr/share/applications/zutty.desktop
+ install -Dm664 "$srcdir/$pkgname-$pkgver"/icons/zutty.svg "$pkgdir"/usr/share/icons/hicolor/scalable/apps/zutty.svg
+ for d in "$srcdir/$pkgname-$pkgver"/icons/zutty_*x*.png; do
+ dd=$(basename "$d" .png | cut -d'_' -f2)
+ install -Dm664 "$d" "$pkgdir"/usr/share/icons/hicolor/"$dd"/zutty.png
+ done
+ # upstream has no man-page, just org-mode ASCII text
+}
+
+sha512sums="
+d73894feefa1fb58c76aa5f9d68a47b9871ab8d02eb5dd2575769c4f082a65cb9df2bdb2478e5aa54d121eb19a16269f169e79d72f0df779760520f2d501c086 zutty-0.14.tar.gz
+"
diff --git a/testing/zycore/APKBUILD b/testing/zycore/APKBUILD
new file mode 100644
index 00000000000..797044f016a
--- /dev/null
+++ b/testing/zycore/APKBUILD
@@ -0,0 +1,38 @@
+# Contributor: Michael M <mic@hael.xyz>
+# Maintainer: Michael M <mic@hael.xyz>
+pkgname=zycore
+pkgver=1.5.0
+pkgrel=0
+pkgdesc="Independent types for Zyantific projects (development files)"
+url="https://github.com/zyantific/zycore-c"
+arch="x86 x86_64 aarch64 armhf armv7 ppc64le riscv64"
+license="MIT"
+makedepends="cmake samurai doxygen"
+subpackages="$pkgname-dev $pkgname-doc"
+source="$pkgname-$pkgver.tar.gz::https://github.com/zyantific/zycore-c/archive/v$pkgver/zycore-c-$pkgver.tar.gz"
+builddir="$srcdir/zycore-c-$pkgver"
+
+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 \
+ -DZYCORE_BUILD_SHARED_LIB=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+f57af4e5c6f919299e673ff4afd19a7e3cc01acaf5cde73db47063eb30881487fa33d2fd5707a3e55a8cd8df4bb4b668bc7273b8b8b5eebea1e78c1c36f715b2 zycore-1.5.0.tar.gz
+"
diff --git a/testing/zydis/APKBUILD b/testing/zydis/APKBUILD
new file mode 100644
index 00000000000..de687bade6e
--- /dev/null
+++ b/testing/zydis/APKBUILD
@@ -0,0 +1,42 @@
+# Contributor: Michael M <mic@hael.xyz>
+# Maintainer: Michael M <mic@hael.xyz>
+pkgname=zydis
+pkgver=4.1.0
+pkgrel=0
+pkgdesc="Fast and lightweight x86/x86-64 disassembler and code generation library"
+url="https://zydis.re"
+arch="x86 x86_64 aarch64 armhf armv7"
+license="MIT"
+depends_dev="zycore-dev"
+makedepends="cmake samurai doxygen zycore-dev"
+checkdepends="python3"
+subpackages="$pkgname-dev $pkgname-doc"
+source="https://github.com/zyantific/zydis/archive/v$pkgver/zydis-$pkgver.tar.gz"
+
+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 \
+ -DZYDIS_BUILD_SHARED_LIB=ON \
+ -DCMAKE_BUILD_TYPE=None \
+ -DZYAN_SYSTEM_ZYCORE=ON \
+ -DPACKAGE_PREFIX_DIR=/usr \
+ -DZYDIS_BUILD_TESTS="$(want_check && echo ON || echo OFF)" \
+ $crossopts
+ cmake --build build
+}
+
+check() {
+ ctest --test-dir build --output-on-failure
+}
+
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+}
+
+sha512sums="
+e07add4d43768ded02a238911fde6e74d2391abf8df282f774fca1a8c3fca3e97b03e90e0f3c7c0f3c75485fb29c0be4071d5e5b2e23dd5b8b1a864e3b713fbc zydis-4.1.0.tar.gz
+"